%!PS-Adobe-2.0
%%Creator: dvips(k) 5.90a Copyright 2002 Radical Eye Software
%%Title: Scalable_quorums.dvi
%%CreationDate: Thu Sep 04 13:19:18 2003
%%Pages: 20
%%PageOrder: Ascend
%%BoundingBox: 0 0 612 792
%%DocumentFonts: Times-Roman CMSY10 CMSY8 Times-Bold Times-Italic CMMI10
%%+ CMR10 CMR8 CMMI8 CMSY6 CMSY9 Courier CMEX10 MSBM10 CMR6 CMR9 CMMI9
%%+ CMMI6
%%EndComments
%DVIPSWebPage: (www.radicaleye.com)
%DVIPSCommandLine: dvips.exe -P cmz -t letter -M Scalable_quorums
%DVIPSParameters: dpi=600, compressed
%DVIPSSource: TeX output 2003.09.04:1318
%%BeginProcSet: texc.pro
%!
/TeXDict 300 dict def TeXDict begin/N{def}def/B{bind def}N/S{exch}N/X{S
N}B/A{dup}B/TR{translate}N/isls false N/vsize 11 72 mul N/hsize 8.5 72
mul N/landplus90{false}def/@rigin{isls{[0 landplus90{1 -1}{-1 1}ifelse 0
0 0]concat}if 72 Resolution div 72 VResolution div neg scale isls{
landplus90{VResolution 72 div vsize mul 0 exch}{Resolution -72 div hsize
mul 0}ifelse TR}if Resolution VResolution vsize -72 div 1 add mul TR[
matrix currentmatrix{A A round sub abs 0.00001 lt{round}if}forall round
exch round exch]setmatrix}N/@landscape{/isls true N}B/@manualfeed{
statusdict/manualfeed true put}B/@copies{/#copies X}B/FMat[1 0 0 -1 0 0]
N/FBB[0 0 0 0]N/nn 0 N/IEn 0 N/ctr 0 N/df-tail{/nn 8 dict N nn begin
/FontType 3 N/FontMatrix fntrx N/FontBBox FBB N string/base X array
/BitMaps X/BuildChar{CharBuilder}N/Encoding IEn N end A{/foo setfont}2
array copy cvx N load 0 nn put/ctr 0 N[}B/sf 0 N/df{/sf 1 N/fntrx FMat N
df-tail}B/dfs{div/sf X/fntrx[sf 0 0 sf neg 0 0]N df-tail}B/E{pop nn A
definefont setfont}B/Cw{Cd A length 5 sub get}B/Ch{Cd A length 4 sub get
}B/Cx{128 Cd A length 3 sub get sub}B/Cy{Cd A length 2 sub get 127 sub}
B/Cdx{Cd A length 1 sub get}B/Ci{Cd A type/stringtype ne{ctr get/ctr ctr
1 add N}if}B/id 0 N/rw 0 N/rc 0 N/gp 0 N/cp 0 N/G 0 N/CharBuilder{save 3
1 roll S A/base get 2 index get S/BitMaps get S get/Cd X pop/ctr 0 N Cdx
0 Cx Cy Ch sub Cx Cw add Cy setcachedevice Cw Ch true[1 0 0 -1 -.1 Cx
sub Cy .1 sub]/id Ci N/rw Cw 7 add 8 idiv string N/rc 0 N/gp 0 N/cp 0 N{
rc 0 ne{rc 1 sub/rc X rw}{G}ifelse}imagemask restore}B/G{{id gp get/gp
gp 1 add N A 18 mod S 18 idiv pl S get exec}loop}B/adv{cp add/cp X}B
/chg{rw cp id gp 4 index getinterval putinterval A gp add/gp X adv}B/nd{
/cp 0 N rw exit}B/lsh{rw cp 2 copy get A 0 eq{pop 1}{A 255 eq{pop 254}{
A A add 255 and S 1 and or}ifelse}ifelse put 1 adv}B/rsh{rw cp 2 copy
get A 0 eq{pop 128}{A 255 eq{pop 127}{A 2 idiv S 128 and or}ifelse}
ifelse put 1 adv}B/clr{rw cp 2 index string putinterval adv}B/set{rw cp
fillstr 0 4 index getinterval putinterval adv}B/fillstr 18 string 0 1 17
{2 copy 255 put pop}for N/pl[{adv 1 chg}{adv 1 chg nd}{1 add chg}{1 add
chg nd}{adv lsh}{adv lsh nd}{adv rsh}{adv rsh nd}{1 add adv}{/rc X nd}{
1 add set}{1 add clr}{adv 2 chg}{adv 2 chg nd}{pop nd}]A{bind pop}
forall N/D{/cc X A type/stringtype ne{]}if nn/base get cc ctr put nn
/BitMaps get S ctr S sf 1 ne{A A length 1 sub A 2 index S get sf div put
}if put/ctr ctr 1 add N}B/I{cc 1 add D}B/bop{userdict/bop-hook known{
bop-hook}if/SI save N @rigin 0 0 moveto/V matrix currentmatrix A 1 get A
mul exch 0 get A mul add .99 lt{/QV}{/RV}ifelse load def pop pop}N/eop{
SI restore userdict/eop-hook known{eop-hook}if showpage}N/@start{
userdict/start-hook known{start-hook}if pop/VResolution X/Resolution X
1000 div/DVImag X/IEn 256 array N 2 string 0 1 255{IEn S A 360 add 36 4
index cvrs cvn put}for pop 65781.76 div/vsize X 65781.76 div/hsize X}N
/p{show}N/RMat[1 0 0 -1 0 0]N/BDot 260 string N/Rx 0 N/Ry 0 N/V{}B/RV/v{
/Ry X/Rx X V}B statusdict begin/product where{pop false[(Display)(NeXT)
(LaserWriter 16/600)]{A length product length le{A length product exch 0
exch getinterval eq{pop true exit}if}{pop}ifelse}forall}{false}ifelse
end{{gsave TR -.1 .1 TR 1 1 scale Rx Ry false RMat{BDot}imagemask
grestore}}{{gsave TR -.1 .1 TR Rx Ry scale 1 1 false RMat{BDot}
imagemask grestore}}ifelse B/QV{gsave newpath transform round exch round
exch itransform moveto Rx 0 rlineto 0 Ry neg rlineto Rx neg 0 rlineto
fill grestore}B/a{moveto}B/delta 0 N/tail{A/delta X 0 rmoveto}B/M{S p
delta add tail}B/b{S p tail}B/c{-4 M}B/d{-3 M}B/e{-2 M}B/f{-1 M}B/g{0 M}
B/h{1 M}B/i{2 M}B/j{3 M}B/k{4 M}B/w{0 rmoveto}B/l{p -4 w}B/m{p -3 w}B/n{
p -2 w}B/o{p -1 w}B/q{p 1 w}B/r{p 2 w}B/s{p 3 w}B/t{p 4 w}B/x{0 S
rmoveto}B/y{3 2 roll p a}B/bos{/SS save N}B/eos{SS restore}B end
%%EndProcSet
%%BeginProcSet: 8r.enc
% @@psencodingfile@{
% author = "S. Rahtz, P. MacKay, Alan Jeffrey, B. Horn, K. Berry",
% version = "0.6",
% date = "1 July 1998",
% filename = "8r.enc",
% email = "tex-fonts@@tug.org",
% docstring = "Encoding for TrueType or Type 1 fonts
% to be used with TeX."
% @}
%
% Idea is to have all the characters normally included in Type 1 fonts
% available for typesetting. This is effectively the characters in Adobe
% Standard Encoding + ISO Latin 1 + extra characters from Lucida.
%
% Character code assignments were made as follows:
%
% (1) the Windows ANSI characters are almost all in their Windows ANSI
% positions, because some Windows users cannot easily reencode the
% fonts, and it makes no difference on other systems. The only Windows
% ANSI characters not available are those that make no sense for
% typesetting -- rubout (127 decimal), nobreakspace (160), softhyphen
% (173). quotesingle and grave are moved just because it's such an
% irritation not having them in TeX positions.
%
% (2) Remaining characters are assigned arbitrarily to the lower part
% of the range, avoiding 0, 10 and 13 in case we meet dumb software.
%
% (3) Y&Y Lucida Bright includes some extra text characters; in the
% hopes that other PostScript fonts, perhaps created for public
% consumption, will include them, they are included starting at 0x12.
%
% (4) Remaining positions left undefined are for use in (hopefully)
% upward-compatible revisions, if someday more characters are generally
% available.
%
% (5) hyphen appears twice for compatibility with both
% ASCII and Windows.
%
/TeXBase1Encoding [
% 0x00 (encoded characters from Adobe Standard not in Windows 3.1)
/.notdef /dotaccent /fi /fl
/fraction /hungarumlaut /Lslash /lslash
/ogonek /ring /.notdef
/breve /minus /.notdef
% These are the only two remaining unencoded characters, so may as
% well include them.
/Zcaron /zcaron
% 0x10
/caron /dotlessi
% (unusual TeX characters available in, e.g., Lucida Bright)
/dotlessj /ff /ffi /ffl
/.notdef /.notdef /.notdef /.notdef
/.notdef /.notdef /.notdef /.notdef
% very contentious; it's so painful not having quoteleft and quoteright
% at 96 and 145 that we move the things normally found there to here.
/grave /quotesingle
% 0x20 (ASCII begins)
/space /exclam /quotedbl /numbersign
/dollar /percent /ampersand /quoteright
/parenleft /parenright /asterisk /plus /comma /hyphen /period /slash
% 0x30
/zero /one /two /three /four /five /six /seven
/eight /nine /colon /semicolon /less /equal /greater /question
% 0x40
/at /A /B /C /D /E /F /G /H /I /J /K /L /M /N /O
% 0x50
/P /Q /R /S /T /U /V /W
/X /Y /Z /bracketleft /backslash /bracketright /asciicircum /underscore
% 0x60
/quoteleft /a /b /c /d /e /f /g /h /i /j /k /l /m /n /o
% 0x70
/p /q /r /s /t /u /v /w
/x /y /z /braceleft /bar /braceright /asciitilde
/.notdef % rubout; ASCII ends
% 0x80
/.notdef /.notdef /quotesinglbase /florin
/quotedblbase /ellipsis /dagger /daggerdbl
/circumflex /perthousand /Scaron /guilsinglleft
/OE /.notdef /.notdef /.notdef
% 0x90
/.notdef /.notdef /.notdef /quotedblleft
/quotedblright /bullet /endash /emdash
/tilde /trademark /scaron /guilsinglright
/oe /.notdef /.notdef /Ydieresis
% 0xA0
/.notdef % nobreakspace
/exclamdown /cent /sterling
/currency /yen /brokenbar /section
/dieresis /copyright /ordfeminine /guillemotleft
/logicalnot
/hyphen % Y&Y (also at 45); Windows' softhyphen
/registered
/macron
% 0xD0
/degree /plusminus /twosuperior /threesuperior
/acute /mu /paragraph /periodcentered
/cedilla /onesuperior /ordmasculine /guillemotright
/onequarter /onehalf /threequarters /questiondown
% 0xC0
/Agrave /Aacute /Acircumflex /Atilde /Adieresis /Aring /AE /Ccedilla
/Egrave /Eacute /Ecircumflex /Edieresis
/Igrave /Iacute /Icircumflex /Idieresis
% 0xD0
/Eth /Ntilde /Ograve /Oacute
/Ocircumflex /Otilde /Odieresis /multiply
/Oslash /Ugrave /Uacute /Ucircumflex
/Udieresis /Yacute /Thorn /germandbls
% 0xE0
/agrave /aacute /acircumflex /atilde
/adieresis /aring /ae /ccedilla
/egrave /eacute /ecircumflex /edieresis
/igrave /iacute /icircumflex /idieresis
% 0xF0
/eth /ntilde /ograve /oacute
/ocircumflex /otilde /odieresis /divide
/oslash /ugrave /uacute /ucircumflex
/udieresis /yacute /thorn /ydieresis
] def
%%EndProcSet
%%BeginProcSet: texps.pro
%!
TeXDict begin/rf{findfont dup length 1 add dict begin{1 index/FID ne 2
index/UniqueID ne and{def}{pop pop}ifelse}forall[1 index 0 6 -1 roll
exec 0 exch 5 -1 roll VResolution Resolution div mul neg 0 0]/Metrics
exch def dict begin Encoding{exch dup type/integertype ne{pop pop 1 sub
dup 0 le{pop}{[}ifelse}{FontMatrix 0 get div Metrics 0 get div def}
ifelse}forall Metrics/Metrics currentdict end def[2 index currentdict
end definefont 3 -1 roll makefont/setfont cvx]cvx def}def/ObliqueSlant{
dup sin S cos div neg}B/SlantFont{4 index mul add}def/ExtendFont{3 -1
roll mul exch}def/ReEncodeFont{CharStrings rcheck{/Encoding false def
dup[exch{dup CharStrings exch known not{pop/.notdef/Encoding true def}
if}forall Encoding{]exch pop}{cleartomark}ifelse}if/Encoding exch def}
def end
%%EndProcSet
%%BeginProcSet: special.pro
%!
TeXDict begin/SDict 200 dict N SDict begin/@SpecialDefaults{/hs 612 N
/vs 792 N/ho 0 N/vo 0 N/hsc 1 N/vsc 1 N/ang 0 N/CLIP 0 N/rwiSeen false N
/rhiSeen false N/letter{}N/note{}N/a4{}N/legal{}N}B/@scaleunit 100 N
/@hscale{@scaleunit div/hsc X}B/@vscale{@scaleunit div/vsc X}B/@hsize{
/hs X/CLIP 1 N}B/@vsize{/vs X/CLIP 1 N}B/@clip{/CLIP 2 N}B/@hoffset{/ho
X}B/@voffset{/vo X}B/@angle{/ang X}B/@rwi{10 div/rwi X/rwiSeen true N}B
/@rhi{10 div/rhi X/rhiSeen true N}B/@llx{/llx X}B/@lly{/lly X}B/@urx{
/urx X}B/@ury{/ury X}B/magscale true def end/@MacSetUp{userdict/md known
{userdict/md get type/dicttype eq{userdict begin md length 10 add md
maxlength ge{/md md dup length 20 add dict copy def}if end md begin
/letter{}N/note{}N/legal{}N/od{txpose 1 0 mtx defaultmatrix dtransform S
atan/pa X newpath clippath mark{transform{itransform moveto}}{transform{
itransform lineto}}{6 -2 roll transform 6 -2 roll transform 6 -2 roll
transform{itransform 6 2 roll itransform 6 2 roll itransform 6 2 roll
curveto}}{{closepath}}pathforall newpath counttomark array astore/gc xdf
pop ct 39 0 put 10 fz 0 fs 2 F/|______Courier fnt invertflag{PaintBlack}
if}N/txpose{pxs pys scale ppr aload pop por{noflips{pop S neg S TR pop 1
-1 scale}if xflip yflip and{pop S neg S TR 180 rotate 1 -1 scale ppr 3
get ppr 1 get neg sub neg ppr 2 get ppr 0 get neg sub neg TR}if xflip
yflip not and{pop S neg S TR pop 180 rotate ppr 3 get ppr 1 get neg sub
neg 0 TR}if yflip xflip not and{ppr 1 get neg ppr 0 get neg TR}if}{
noflips{TR pop pop 270 rotate 1 -1 scale}if xflip yflip and{TR pop pop
90 rotate 1 -1 scale ppr 3 get ppr 1 get neg sub neg ppr 2 get ppr 0 get
neg sub neg TR}if xflip yflip not and{TR pop pop 90 rotate ppr 3 get ppr
1 get neg sub neg 0 TR}if yflip xflip not and{TR pop pop 270 rotate ppr
2 get ppr 0 get neg sub neg 0 S TR}if}ifelse scaleby96{ppr aload pop 4
-1 roll add 2 div 3 1 roll add 2 div 2 copy TR .96 dup scale neg S neg S
TR}if}N/cp{pop pop showpage pm restore}N end}if}if}N/normalscale{
Resolution 72 div VResolution 72 div neg scale magscale{DVImag dup scale
}if 0 setgray}N/psfts{S 65781.76 div N}N/startTexFig{/psf$SavedState
save N userdict maxlength dict begin/magscale true def normalscale
currentpoint TR/psf$ury psfts/psf$urx psfts/psf$lly psfts/psf$llx psfts
/psf$y psfts/psf$x psfts currentpoint/psf$cy X/psf$cx X/psf$sx psf$x
psf$urx psf$llx sub div N/psf$sy psf$y psf$ury psf$lly sub div N psf$sx
psf$sy scale psf$cx psf$sx div psf$llx sub psf$cy psf$sy div psf$ury sub
TR/showpage{}N/erasepage{}N/copypage{}N/p 3 def @MacSetUp}N/doclip{
psf$llx psf$lly psf$urx psf$ury currentpoint 6 2 roll newpath 4 copy 4 2
roll moveto 6 -1 roll S lineto S lineto S lineto closepath clip newpath
moveto}N/endTexFig{end psf$SavedState restore}N/@beginspecial{SDict
begin/SpecialSave save N gsave normalscale currentpoint TR
@SpecialDefaults count/ocount X/dcount countdictstack N}N/@setspecial{
CLIP 1 eq{newpath 0 0 moveto hs 0 rlineto 0 vs rlineto hs neg 0 rlineto
closepath clip}if ho vo TR hsc vsc scale ang rotate rwiSeen{rwi urx llx
sub div rhiSeen{rhi ury lly sub div}{dup}ifelse scale llx neg lly neg TR
}{rhiSeen{rhi ury lly sub div dup scale llx neg lly neg TR}if}ifelse
CLIP 2 eq{newpath llx lly moveto urx lly lineto urx ury lineto llx ury
lineto closepath clip}if/showpage{}N/erasepage{}N/copypage{}N newpath}N
/@endspecial{count ocount sub{pop}repeat countdictstack dcount sub{end}
repeat grestore SpecialSave restore end}N/@defspecial{SDict begin}N
/@fedspecial{end}B/li{lineto}B/rl{rlineto}B/rc{rcurveto}B/np{/SaveX
currentpoint/SaveY X N 1 setlinecap newpath}N/st{stroke SaveX SaveY
moveto}N/fil{fill SaveX SaveY moveto}N/ellipse{/endangle X/startangle X
/yrad X/xrad X/savematrix matrix currentmatrix N TR xrad yrad scale 0 0
1 startangle endangle arc savematrix setmatrix}N end
%%EndProcSet
%%BeginFont: CMMI6
%!PS-AdobeFont-1.1: CMMI6 1.100
%%CreationDate: 1996 Jul 23 07:53:52
% Copyright (C) 1997 American Mathematical Society. All Rights Reserved.
11 dict begin
/FontInfo 7 dict dup begin
/version (1.100) readonly def
/Notice (Copyright (C) 1997 American Mathematical Society. All Rights Reserved) readonly def
/FullName (CMMI6) readonly def
/FamilyName (Computer Modern) readonly def
/Weight (Medium) readonly def
/ItalicAngle -14.04 def
/isFixedPitch false def
end readonly def
/FontName /CMMI6 def
/PaintType 0 def
/FontType 1 def
/FontMatrix [0.001 0 0 0.001 0 0] readonly def
/Encoding 256 array
0 1 255 {1 index exch /.notdef put} for
dup 15 /epsilon1 put
dup 27 /sigma put
readonly def
/FontBBox{11 -250 1241 750}readonly def
/UniqueID 5087381 def
currentdict end
currentfile eexec
D9D66F633B846A97B686A97E45A3D0AA0529731C99A784CCBE85B4993B2EEBDE
3B12D472B7CF54651EF21185116A69AB1096ED4BAD2F646635E019B6417CC77B
532F85D811C70D1429A19A5307EF63EB5C5E02C89FC6C20F6D9D89E7D91FE470
B72BEFDA23F5DF76BE05AF4CE93137A219ED8A04A9D7D6FDF37E6B7FCDE0D90B
986423E5960A5D9FBB4C956556E8DF90CBFAEC476FA36FD9A5C8175C9AF513FE
D919C2DDD26BDC0D99398B9F4D03D6A8F05B47AF95EF28A9C561DBDC98C47CF5
5250011D19E9366EB6FD153D3A100CAA6212E3D5D93990737F8D326D347B7EDC
4391C9DF440285B8FC159D0E98D4258FC57892DDF0342CA1080743A076089583
6AD6FB2DC4C13F077F17789476E48402796E685107AF60A63FB0DE0266D55CF1
8D0AD65B9342CB686E564758C96164FFA711B11C1CE8C726F3C7BB1044BBD283
9AA4675747DF61E130A55E297CA5F0182A3F12F9085AF2F503481071724077A9
387E27879A9649AD5F186F33500FAC8F7FA26634BDCE1221EC0ED0E359E5EA5E
6166526FEB90C30D30099FBDC1BC2F9B62EFEEC48345160804AA98F8D0AA54B7
A480E715426651865C8E444EDB798C7E11040AF6E5A7ED1888653C6DBF5E6169
70BCD9C063B63B561EF165BF3AF11F8E519F37C6FDA2827685739DE2C48B5ADE
EE84F067D704D4511DBFA49E166D543CFD9ECD7417055D8A827F51E087CD2927
BAFC7E6CFBD70B0FE969F890A11149D3D44D422C3370495DA9951AEE7253A49F
3A9444C8CD9158D84117299F7F2332FEB0F94E6ED8BC7AA789A3219BC2F227D3
3B5BC75FB53B55D72AF4A6A7BB613FA235B11BB37D059FD87127CEF73D5B3FBF
9F91ABAD78BD9240BD9525EBA78095EA0BDB25D1A19E876F292882EAD5619D46
D20317A345D931F4FF4EAE6216C27044CBA525E3B917CEA25A04C120466C4B93
FC720E6BA832A06CCA0A3916CEF0968D49085AEBD243C41A448289A6F05CE3F5
79148DC112A3CC7E8FF810B8C1A09E05F496C0F1EBA334E42E05C376C98F5F69
C06C71BFC0A2F3AC9951CFBB143C66FB84F9C4ED27DF70869352D61BD5E11508
0797B87C709E3C151EB44E478CA576D257DF226C00BEE1CE0B604BFB80882784
61121560958BA72E24C8BA0D0FAC371078899F60BEA6F4F45E0DDD8D09E2036A
D476138AB55ACC26C1D09C31F19C6484063743B32867836CB737FD5A833E55C7
8174A37E702086F5F9FB96EB4C61D25E84F0FB14202612BF0154AFC168618021
4F5D5206A258296AB0F5CB84471DFD5B12FDFA07ADFFF542D8431ACE255673AC
FCF3FDA5EB341460CDFB3121AD14C3AAC6D8995DE457CFB6FDB4B1EB005BDAC6
9ADB90381CD427BE9223F5F651AA46B395B25FCD3ACF2FB57423A366B313BA24
EE64F81B16F095F34CA31FBDC155ED1C33F36EC80ED354A70BFE82D3D7E7CC13
7206BD69C79AFF883D8619551B9B276ECAF0FD986B8CAC9DE1840DF4039DD80F
EC29902940BC989FDB18B6C04D04E78CAA725C64EAC7FE8581F8AA8FD09176E6
EFFBBAEF3C8E0395D087DF759F73CE67797FEE486F1814677CE7ABF3AB1E3337
124DEF37A1546FBBA6C90A3A7D084E23FDF90B57C454388594F171441075846C
FE6ABAD8FFA0016670531499A55D4FA9527DC70B11ADF1089BF0910D44D5AAE6
091E43F52483B0EA5B
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
cleartomark
%%EndFont
%%BeginFont: CMMI9
%!PS-AdobeFont-1.1: CMMI9 1.100
%%CreationDate: 1996 Jul 23 07:53:55
% Copyright (C) 1997 American Mathematical Society. All Rights Reserved.
11 dict begin
/FontInfo 7 dict dup begin
/version (1.100) readonly def
/Notice (Copyright (C) 1997 American Mathematical Society. All Rights Reserved) readonly def
/FullName (CMMI9) readonly def
/FamilyName (Computer Modern) readonly def
/Weight (Medium) readonly def
/ItalicAngle -14.04 def
/isFixedPitch false def
end readonly def
/FontName /CMMI9 def
/PaintType 0 def
/FontType 1 def
/FontMatrix [0.001 0 0 0.001 0 0] readonly def
/Encoding 256 array
0 1 255 {1 index exch /.notdef put} for
dup 15 /epsilon1 put
dup 110 /n put
readonly def
/FontBBox{-29 -250 1075 750}readonly def
/UniqueID 5087384 def
currentdict end
currentfile eexec
D9D66F633B846A97B686A97E45A3D0AA0529731C99A784CCBE85B4993B2EEBDE
3B12D472B7CF54651EF21185116A69AB1096ED4BAD2F646635E019B6417CC77B
532F85D811C70D1429A19A5307EF63EB5C5E02C89FC6C20F6D9D89E7D91FE470
B72BEFDA23F5DF76BE05AF4CE93137A219ED8A04A9D7D6FDF37E6B7FCDE0D90B
986423E5960A5D9FBB4C956556E8DF90CBFAEC476FA36FD9A5C8175C9AF513FE
D919C2DDD26BDC0D99398B9F4D03D5993DFC0930297866E1CD0A319B6B1FD958
9E394A533A081C36D6F5CA5FED4F9AC9ADE41E04F9FC52E758C9F45A92BED935
86F9CFDB57732045913A6422AD4206418610C81D882EE493DE9523CC1BFE1505
DD1390B19BC1947A01B93BC668BE9B2A0E69A968554239B88C00AF9FBDF09CCD
67D3B2094C11A04762FE8CC1E91D020A28B3C122D24BEAACF82313F4604F2FEF
6E176D730A879BE45DD0D4996EF0247AEB1CA0AB08FF374D99F06D47B36F9554
FAD9A2D3CE451B7791C3709D8A1DDDEFBD840C1B42AB824D5A0DFF0E0F15B0B7
22AEEB877FF489581DA6FA8DA64944555101EB16F7AB0B717E148B7B98D8DBFD
730C52937E226545CF8DC3E07C5BA30739BAFCD0F2B44275A6D503F582C0FB4F
449963D0AD2FAFDE33BA3D77BCA9D1DF878DDAFCA2E22CC4BACD542B282164C7
97C2BDE318AF9D501CA21F6E662E7AAB75A5F24D2C182E598D175D44E88AB19A
E7CD59584F95B389183EE21B525BF52A3F23C0FE5383A5565A19361D716F508C
AAB78411CA5A4D27552CC1C435760D5A89D535B71C593E755C616661363308DA
A683F54ED0C23FB2C225A008392B0B719F66F11A946A090B7C00B662A3C69599
B4ECB0CC70C85C4BBBF207E0026F6C7A19F2ACFB7A60804FC98A4BFFD7BFFF2B
9529E6D9D4238002BBC255BC62959D6F3381FE06E0621B879D5FE5B541D45A1E
759A6E7DC32B1D1632368D09A97039DF255B6492B1B2B7E2C1434E8306ECA7D3
5A79B6D614B4979F10988BC76ED53A5F45315CD7DA216221F842FD0F3E050DD2
BAC23C984D506D8F7D614BCB6B244F5F41321549BB0BD041FBF3053307168680
3435E9C9456846433DF6235D79BA455E54E35184F420186BD6AB1B3CFC0720FE
9A8BBD979A995FA05E73FC89EE37609933808E430DE8ECFEA7047F917E3A49CB
C241AC6DCC1FCEA2BD49F3E22649F6B488B01159C1E59A7803B9E589FFAC4853
78373163FDA68B8CA6B7B5ECC063D03CE6274F229C2D824818A9354FBC58AFB0
8EE6F6AE395018A9402BBFB40091654DDAF8472C1EC2F4DD73FC45F875842E38
69BC2D57E95CF1AEC960EE57BAF14E2946B460DE67941D46D6263236AE9817F8
7E3491FCDC7BE262BAF9DDF85F7D1E308D0891A4D84B264CC1206188680C378D
D4E05AF817DE08BFAF8E3F91481DC307206F4D3BA6A65DE83D9130FD5C8C4404
36FD4479B165AE7F726BA6F519749469C719D2EFE106B742593017E177D09BAE
B6001FFD4FF72D1D7C8ABB9432E301316E302E0AE27A6297C7AEB2EB113134FF
3145F10F78B5DAAFE3AC9B020B79CCB6D22A7393605AC55D087CBA10342066D4
FA45BDB071C4FA287576C960265735D199D60807A7B8EAF3DB96E904B79CB43F
E67E659BCC5FCB2E45BB1F37F538EBA1F763B422A5D9A6A274DB0DEAB3F07D34
43269E8AA8BF447F8B531E7933C88D4B2A7098A716D0DFBC98ED8F85493226FC
9A79F4099556155FF0D1C4898B221071540890C7B476E09083274B816EED40BC
50C992268A25B81A5E77BF1B3D680307D3B9168663E63093267413229455F25B
6ED1B19BA481418CA8B752C1482B5064A65F55E1FDD4
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
cleartomark
%%EndFont
%%BeginFont: CMR9
%!PS-AdobeFont-1.1: CMR9 1.0
%%CreationDate: 1991 Aug 20 16:39:59
% Copyright (C) 1997 American Mathematical Society. All Rights Reserved.
11 dict begin
/FontInfo 7 dict dup begin
/version (1.0) readonly def
/Notice (Copyright (C) 1997 American Mathematical Society. All Rights Reserved) readonly def
/FullName (CMR9) readonly def
/FamilyName (Computer Modern) readonly def
/Weight (Medium) readonly def
/ItalicAngle 0 def
/isFixedPitch false def
end readonly def
/FontName /CMR9 def
/PaintType 0 def
/FontType 1 def
/FontMatrix [0.001 0 0 0.001 0 0] readonly def
/Encoding 256 array
0 1 255 {1 index exch /.notdef put} for
dup 49 /one put
readonly def
/FontBBox{-39 -250 1036 750}readonly def
/UniqueID 5000792 def
currentdict end
currentfile eexec
D9D66F633B846A97B686A97E45A3D0AA052A014267B7904EB3C0D3BD0B83D891
016CA6CA4B712ADEB258FAAB9A130EE605E61F77FC1B738ABC7C51CD46EF8171
9098D5FEE67660E69A7AB91B58F29A4D79E57022F783EB0FBBB6D4F4EC35014F
D2DECBA99459A4C59DF0C6EBA150284454E707DC2100C15B76B4C19B84363758
469A6C558785B226332152109871A9883487DD7710949204DDCF837E6A8708B8
2BDBF16FBC7512FAA308A093FE5CF7158F1163BC1F3352E22A1452E73FECA8A4
87100FB1FFC4C8AF409B2067537220E605DA0852CA49839E1386AF9D7A1A455F
D1F017CE45884D76EF2CB9BC5821FD25365DDEA6E45F332B5F68A44AD8A530F0
92A36FADB679CF58BAFDD3E51DFDD314B91A605515D729EE20C42505FD4E0835
3C9D365B14C003BC6DD352F0228A8C161F172D2551CD1C67CD0B1B21DED53203
046FAFF9B1129167921DD82C5964F9DDDFE0D2686875BD075FC81831A941F20E
C5CD90040A092E559F6D1D3B0E9BB71733595AE0EA6093F986377A96060BF12A
A1B525CD9FA741FE051DD54A32BECD55A868DD63119A4370F8322CCBEC889BC2
A723CB4015FC4AA90AE873EA14DE13382CA9CF0D8DFB65F0ABEDFD9A64BB3F4D
731E2E1C9A1789228FF44116230A70C339C9819676022AB31B5C9C589AE9094B
09882051AD4637C1710D93E8DD117B4E7B478493B91EA6306FDB3FA6D738AAB1
49FBB21A00AC2A999C21445DE3177F21D8B6AAB33869C882613EA6B5EC56476B
5634181ECBF03BFEDB57F079EACE3B334F6F384BDF9D70AEBD592C8ECF21378B
54A8B5DBF7CB9282E16AA517E14843909339B5E7C55B038BF3BB493F3B884A1C
C25F9E8FB912CBE23199AD9D2C3E573727701BA301526C66C3617B9514D6F11F
11930B1D97C17816C85B1BFD9B973A191B33CC3B391815AD14F1CBE935942AEC
D4004E6BEF379066FD72209DC88D2E634E79BCC2B98C766CBD92C561F2703F8A
109E6C6CEC7B866F2FC7ADF646BF492E520319F3B949AB5D84AE990B33344A40
3971F58DFDF8D8D67FA0B8F2A0D884F8C09A5A721319B911DBA0A35903877343
C37BC36C5EB32353272D1E6ED5FCA611BE319A7E1E842CB7576E7CDAD2416819
11B86BC0CFA2D1D39AED352283DBA541EDDABC38390B829B3EBD47DE572268F0
F898DAD003A3A056A8403AFD02DE90B00B1BD4A2780306E3104A00AEE805FD02
8B09783915D5060D457B1DE2000B992293D306EC281DBF88EED5E517BE06B35E
FD5E255DCA99DE6FA2E7E3A716B3DEF94B6C84B095E3559F7D896BCD6588DB53
579B3D4F8C0D1E2199244505E78ADAC4AC24B0064585FC8475B82F8977C176FF
C1EAC1E46C76BBCB6D188A7F9F6BE6707CA276EF9FEBBB1442896C90BB33D53E
23EE0F3B00B701D86708AA13ABD982A6E3815951EF3ABCBFA884BDF17567C2F1
10D73E096DDCCC33AD337615DDF4643361006114D8E562650401
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
cleartomark
%%EndFont
%%BeginFont: CMR6
%!PS-AdobeFont-1.1: CMR6 1.0
%%CreationDate: 1991 Aug 20 16:39:02
% Copyright (C) 1997 American Mathematical Society. All Rights Reserved.
11 dict begin
/FontInfo 7 dict dup begin
/version (1.0) readonly def
/Notice (Copyright (C) 1997 American Mathematical Society. All Rights Reserved) readonly def
/FullName (CMR6) readonly def
/FamilyName (Computer Modern) readonly def
/Weight (Medium) readonly def
/ItalicAngle 0 def
/isFixedPitch false def
end readonly def
/FontName /CMR6 def
/PaintType 0 def
/FontType 1 def
/FontMatrix [0.001 0 0 0.001 0 0] readonly def
/Encoding 256 array
0 1 255 {1 index exch /.notdef put} for
dup 49 /one put
dup 50 /two put
readonly def
/FontBBox{-20 -250 1193 750}readonly def
/UniqueID 5000789 def
currentdict end
currentfile eexec
D9D66F633B846A97B686A97E45A3D0AA052A014267B7904EB3C0D3BD0B83D891
016CA6CA4B712ADEB258FAAB9A130EE605E61F77FC1B738ABC7C51CD46EF8171
9098D5FEE67660E69A7AB91B58F29A4D79E57022F783EB0FBBB6D4F4EC35014F
D2DECBA99459A4C59DF0C6EBA150284454E707DC2100C15B76B4C19B84363758
469A6C558785B226332152109871A9883487DD7710949204DDCF837E6A8708B8
2BDBF16FBC7512FAA308A093FE5CF4E9D2405B169CD5365D6ECED5D768D66D6C
68618B8C482B341F8CA38E9BB9BAFCFAAD9C2F3FD033B62690986ED43D9C9361
3645B82392D5CAE11A7CB49D7E2E82DCD485CBA17D1AFFF95F4224CF7ECEE45C
BFB7C8C77C22A01C345078D28D3ECBF804CDC2FE5025FA0D05CCC5EFC0C4F87E
CBED13DDDF8F34E404F471C6DD2E43331D73E89BBC71E7BF889F6293793FEF5A
C9DD3792F032E37A364C70914843F7AA314413D022AE3238730B420A7E9D0CF5
D0E24F501451F9CDECE10AF7E14FF15C4F12F3FCA47DD9CD3C7AEA8D1551017D
23131C09ED104C052054520268A4FA3C6338BA6CF14C3DE3BAF2EA35296EE3D8
D6496277E11DFF6076FE64C8A8C3419FA774473D63223FFA41CBAE609C3D976B
93DFB4079ADC7C4EF07303F93808DDA9F651F61BCCF79555059A44CBAF84A711
6D98083CEF58230D54AD486C74C4A257FC703ACF918219D0A597A5F680B606E4
EF94ADF8BF91A5096A806DB64EC96636A98397D22A74932EB7346A9C4B5EE953
CB3C80AA634BFC28AA938C704BDA8DC4D13551CCFE2B2784BE8BF54502EBA9AF
D49B79237B9C56310550BC30E9108BB06EAC755D6AA4E688EFE2A0AAB17F20FE
00CD0BFF1B9CB6BDA0FA3A29A3117388B6686657A150CE6421FD5D420F4F7FB5
B0DAA1BA19D638676E9CF159AC7325EF17B9F74E082BEF75E10A31C7011C0FFA
99B797CE549B5C45238DD0FADD6B99D233AC69282DF0D91EA2DBD08CE0083904
A6D968D5AE3BD159D01BDFF42D16111BC0A517C66B43972080D9DD4F3B9AE7FB
11B035CE715C1218B2D779761D8D7E9DEBE277531BD58F313EBD27E33BEF9DC5
50C7821A8BBC3B9FDF899D7EAA0B94493B97AFEAC503EB5ED7A7AB67C3039A0F
BF0BA4B455D035FF3126F33A4DF59FF96752CF58DC0863924F6042B14DC2DEE4
099CAA764A8EFFEB78F7FFD276F0928BA32624C3A69ACEB8777A461298B201D3
4DA271476B8AC8966668D4E28A6FBA952F6D295AA80CC09B0CFD6BE840703B07
7ED93999EB5630C2C7CD9BA683ED457D1341C3AA702B5FA8593A51E8E9165FF6
1385693E19161FF1ADC1FE0BE16FD3AFCDC3916A309FCE6B3F2B362C9F958A16
821E1EB2DD899522DD3155C0B7A7F0876E4DA32FD30D8289266D9F05E77F1F1C
D3BFD2D4D6C8B6FDE0E8957BDBBEC54458C70B96F4CD77E734EE0CF620684024
EB05DF0536FAFF10FC6F6050AB338D44EA9C38150D3779A550C505C06D417A71
62D41C2D23843E0A2A73F72D4B5286E3CB7B8695B2434479776A59CB3BC6D352
677CCABF4133E20F12D91CFD8978C09FB81DF801707194AB8FABA9A6599C20FA
B36DB0A166490D20BB0BD53581A8715B099754E6FA0F7D2892F5573380DDFF1E
F9C3DA9F74BDBEBBDFA5715AE23264F967BC7841CE58E5EE2764555978D904F6
E8DEF6ED66C478848FC35A9827ACEA1D7CE85C8626C162FF296869DE
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
cleartomark
%%EndFont
%%BeginFont: MSBM10
%!PS-AdobeFont-1.1: MSBM10 2.1
%%CreationDate: 1993 Sep 17 11:10:37
% Math Symbol fonts were designed by the American Mathematical Society.
% Copyright (C) 1997 American Mathematical Society. All Rights Reserved.
11 dict begin
/FontInfo 7 dict dup begin
/version (2.1) readonly def
/Notice (Copyright (C) 1997 American Mathematical Society. All Rights Reserved) readonly def
/FullName (MSBM10) readonly def
/FamilyName (Euler) readonly def
/Weight (Medium) readonly def
/ItalicAngle 0 def
/isFixedPitch false def
end readonly def
/FontName /MSBM10 def
/PaintType 0 def
/FontType 1 def
/FontMatrix [0.001 0 0 0.001 0 0] readonly def
/Encoding 256 array
0 1 255 {1 index exch /.notdef put} for
dup 82 /R put
dup 90 /Z put
readonly def
/FontBBox{-55 -420 2343 920}readonly def
/UniqueID 5031982 def
currentdict end
currentfile eexec
D9D66F633B846A97B686A97E45A3D0AA052A014267B7904EB3C0D3BD0B83D891
016CA6CA4B712ADEB258FAAB9A130EE605E61F77FC1B738ABC7C51CD46EF8171
9098D5FEE67660E69A7AB91B58F29A4D79E57022F783EB0FBBB6D4F4EC35014F
D2DECBA99459A4C59DF0C6EBA150284454E707DC2100C15B76B4C19B84363758
469A6C558785B226332152109871A9883487DD7710949204DDCF837E6A8708B8
2BDBF16FBC7512FAA308A093FE5CF5B8CABB9FFC6A66A4000A13D5F68BFF326D
1D432B0D064B56C598F4338C319309181D78E1629A31ECA5DD8536379B03C383
D10F04E2C2822D3E73F25B81C424627D3D9A158EAB554233A25D3C6849ABA86F
1F25C1667CB57D2E79B7803083CB7CC0616467F68450D9A3FEAB534EB9721003
DBFEEFD050F3AC3492F5C74162A9A531ECEC0F47610B4940E946D21CAA771D30
A6C27ECBA11708CC46C62396BF9D1990D579D0C394899D24FE7A4382EA18E7E1
160E7283AF5BE17254790628E79FCC206F28B5566075B3A5697D5209062544FF
D85FD89D6F43D6588B242AB2666B5D2861CD38A8CE676503EDFAE84D12A71E77
8405E468FE391F4F3F50D2C57ED55512036B0DB8E76A7EF413ED08673E56DE2C
16A3B65CD478433C0D2F9FEC4E662D54DAA43CFA6957D2A9AF8979BE06F70B68
ED4C8C493D6DAC4971A3F1D010A7726D084EC1074FECD7D12D72AE16C26194AF
21AF5774D9B860EEE8608D34F150092F09C19959BAA670022B9A9F263CD391E3
74DD1D1B4CD4D75273CAA4E37F68C631723E08FA35AD34C0AFB4621AE6689861
854D16CE1C375FD159A337E221A6FF1CFFB5693A0623E7EBB58C2969F590D081
AD92DD9E5322E26D6A15023664AC73A355998BCC48ADD0E7A4BC79790519606F
A1FEF6075033BCD422EE8233B83D1E7C20043280D531223D5AD4D5B41669F884
95CE4D6DDE819B588742B930C579EDF743F2C74C95F717FAA6154FADC3FE2975
F59CFB1C1A29059487E75C48505BAEAD7145667D4E18E46E610C868A257173ED
0D30EAA4C090854DD8378E92D0A376226EA7DA63798F247BAC770FE26D70E72F
90CCFAADF118304646955A75A299EF090B93F8CA49FEADB79026CBAA4229CEB7
D154985D1D83081262335B23E58EC2484EB6FFF2E340E3A937E4B44ECEF589D8
ABB63429559309B6F8BE1D6AE441395ABBF04678A0DED48815D4F88B1578148A
6C9687956AD40E9AC4B2E7FF86E0BB2233B7C73345C80E8CC61427B7B0253E95
925D3B68FECC81A669C4764C0B15C6DABF631CCEFF1F422F677B221DF0DBE83C
7B79DCE5B1F8638D2BCB36872288AD69D97D17BDA219FC49796B5BD3953F51FB
BD4B52EBCD65942F80D9A99262B6EA42D8E441E82B8EAA350A6710BEFCAF8C79
D6E83A7AA61FAF9D18D5DBD155BA9E5DA3505435B92E656EE6D0097EEC76F580
63DA8A147D7B722E8ABE0579C1FDC8BF3F077E5A776CB5547514DC694E2263AC
FABA15588D59DFA80AA1DF039DE41CADC89789C42F994FD8F9737DB3225858C8
9A74B3AC35FEB5A7E8CDE4EC9FCDE654F2D3ADE4FE3C25EF6DCD2084330AE240
68E160D35B3D0E01763B90A1BDC1EDF234BB1AED478D3A9491E60017FD4F128C
6DADAFDB3B82B6425DA936152C1162E952AE822834E72BC3DCEDD08BB013EA43
2EA336302D94C64BCE9A7B2919281CE5CDC94754C5CEDBE78039D1490FC0899B
52D2F8CBAEA5A0CA21A11F75A6C3FC96EF477C95587AFE61D5246214C9428515
7ADECD8EE2865168458037E5C1891A65E57F6DC35F7E1E5A790DFAECCEF6832B
5D610BDFFDE33CB214B302CE5A56C7059D9D8044D4C80CA7F313D4B50C78C97D
8222A01523D1677A4D60A4CEBFAD01A527007FFD3599875020E103F1D81CE491
862F1517BC853839054C97CB10CB0A8C033C599345C846E4FD2BEDCF7F021A98
BB4E98199FA1CA897AC54546ED2182BFBC55FD47D7F11004855BF6EB10AE0E2A
90D1CE2338A4B4A49D1C71232D1502C0C61D78C00E2E2F66E92A62B7DCA7F793
541CBABC45F319
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
cleartomark
%%EndFont
%%BeginFont: CMEX10
%!PS-AdobeFont-1.1: CMEX10 1.00
%%CreationDate: 1992 Jul 23 21:22:48
% Copyright (C) 1997 American Mathematical Society. All Rights Reserved.
11 dict begin
/FontInfo 7 dict dup begin
/version (1.00) readonly def
/Notice (Copyright (C) 1997 American Mathematical Society. All Rights Reserved) readonly def
/FullName (CMEX10) readonly def
/FamilyName (Computer Modern) readonly def
/Weight (Medium) readonly def
/ItalicAngle 0 def
/isFixedPitch false def
end readonly def
/FontName /CMEX10 def
/PaintType 0 def
/FontType 1 def
/FontMatrix [0.001 0 0 0.001 0 0] readonly def
/Encoding 256 array
0 1 255 {1 index exch /.notdef put} for
dup 18 /parenleftbigg put
dup 19 /parenrightbigg put
dup 34 /bracketleftBigg put
dup 35 /bracketrightBigg put
dup 80 /summationtext put
dup 88 /summationdisplay put
dup 112 /radicalbig put
dup 113 /radicalBig put
readonly def
/FontBBox{-24 -2960 1454 772}readonly def
/UniqueID 5000774 def
currentdict end
currentfile eexec
D9D66F633B846A97B686A97E45A3D0AA052A014267B7904EB3C0D3BD0B83D891
016CA6CA4B712ADEB258FAAB9A130EE605E61F77FC1B738ABC7C51CD46EF8171
9098D5FEE67660E69A7AB91B58F29A4D79E57022F783EB0FBBB6D4F4EC35014F
D2DECBA99459A4C59DF0C6EBA150284454E707DC2100C15B76B4C19B84363758
469A6C558785B226332152109871A9883487DD7710949204DDCF837E6A8708B8
2BDBF16FBC7512FAA308A093FE5CF5B8CAC6A7BEB5D02276E511FFAF2AE11910
DE076F24311D94D07CACC323F360887F1EA11BDDA7927FF3325986FDB0ABDFC8
8E4B40E7988921D551EC0867EBCA44C05657F0DC913E7B3004A5F3E1337B6987
FEBC45F989C8DC6DC0AD577E903F05D0D54208A0AE7F28C734F130C133B48422
BED48639A2B74E4C08F2E710E24A99F347E0F4394CE64EACB549576E89044E52
EABE595BC964156D9D8C2BAB0F49664E951D7C1A3D1789C47F03C7051A63D5E8
DF04FAAC47351E82CAE0794AA9692C6452688A74A7A6A7AD09B8A9783C235EC1
EA2156261B8FB331827145DE315B6EC1B3D8B67B3323F761EAF4C223BB214C4C
6B062D1B281F5041D068319F4911058376D8EFBA59884BA3318C5BC95684F281
E0591BC0D1B2A4592A137FF301610019B8AC46AE6E48BC091E888E4487688350
E9AD5074EE4848271CE4ACC38D8CBC8F3DB32813DDD5B341AF9A6601281ABA38
4A978B98483A63FCC458D0E3BCE6FD830E7E09B0DB987A6B63B74638FC9F21A5
8C68479E1A85225670D79CDDE5AC0B77F5A994CA700B5F0FF1F97FC63EFDE023
8135F04A9D20C31998B12AE06676C362141AAAA395CDEF0A49E0141D335965F2
FB4198499799CECCC8AA5D255264784CD30A3E8295888EFBC2060ADDD7BAC45A
EEEECDFF7A47A88E69D84C9E572616C1AC69A34B5F0D0DE8EE4EDF9F4ADE0387
680924D8D5B73EF04EAD7F45977CA8AD73D4DD45DE1966A3B8251C0386164C35
5880DD2609C80E96D1AB861C9259748E98F6711D4E241A269ED51FF328344664
3AF9F18DCE671611DB2F5D3EA77EE734D2BED623F973E6840B8DAD1E2C3C2666
DD4DD1C1C32F82156385E55FA0C948E3754B7B4883DDABFB805256B7D497F4D3
D92D80CA9801D53C89A49BE69AFEBAA8F80A4397C7C038A1FBEF6549166FDB16
B0975294969CA65FB05E16E0918536905E2644C9D25EB2CA0489797EA0EA45C0
01C25C01C7BFBFBE5B9F41A87DAD7671A72D550B4A54A2632E23A534413B4C6C
DE0962CAF331E6895D85AB6FAB53C769F057390D47D03B5B7B1C023A09757DC4
F3B15E90634A3765F8F98B883C4A94B38AE674E5A684D7C083C51C635FE92F51
C00D32DF354DDFC9D045F734E401C6356383A90194CCD322AEB69F26B528DD8E
A1DD8D39137AF31D5EEC0EFFA5AE701108EBDC9A21820D4DCA53183FCF6A43DC
8358A48818FDFDA7DB9C1FD15720152E310C470E4FF7223E4183FA7CA27411FB
01EB5E5DDFBD1A9EC46720E3C769815430D440D55C18B7E873F680F21A839EC9
AB6E4BDB5EBD7E57B8FEDF4BA35A70AFADC0FA6A55FB3D945AA8A5D04C04DF15
89CE34FA7BA6C7E545DCC998D231BFF80BC63F0E7F4CED60B886B1AEDDFB9AB1
89E371A2B23274CEFDB61FCCF4CB1953654543C73887DEC7839EAB71D8518DA4
A8560C75A8BD1653A15D6F0DB7EC33D4B358F9071B70D7BB4A39D1DB8F67CDF2
C9F879627E55CDF6B1C0455F16CD34916928A95C1203DB0DD0CCD79AFDAAD166
47DDF9A5B31D6DC6072CF506134BE3DB4203022548190F02124013107973FCC2
13459874AF3AE305EF8460E530BC322D6BE559FDC8CA54571A98A4BB8E3836A0
14931BDF72DA5BC5A5B0D8C2DF16CED6E6ED7023E5C7EB00EF8616383C691195
25FA02AAF2E5F735F64E464D3FF6BF07FCE1F9893EB2E5689F8FBDA55E01713A
963657DCD47B1307C24B7D9F92CB34A534FC9DC0C3A13987E1D24E62FE1475B0
CF9C91954AC8906C4939905CE71EE242C8A8D7752BC5FE49BAB5136BE2F16895
7E7575A2CB17E88FB974A4980A68AAFA123E39CBC5791A0A320A3CE658693583
B646675E03CEDC9690A4DFC1A6F93C0D63CECAB25716A8CBF29A1D0E63D03779
F27CB90EE8BEC0097FC34FC9B684EDF3DB2276E9B1DE479E247D1691C2CBFEFD
5C11BBD02ACC6F213B5495BECF80F5689CDAE7A2CDC7A75E0AB15C9FF1ACF788
6BF6246FA98D94E0C4E59FDF2F7975A034227BC31D1AC6DB68F88762C889B5D2
F1CBED8AE2C44A2B1D349B998690A015EDC488AB0B16C3EA502FF2A2969F9F78
FF142AE1B7591D868D09FA2A9B86D189D2DD615D2AAEF1FB454EBF006D156B84
3E916CEE6E2C38D7EDC66A6F321FD271EE3181CBAF162F344899B1A2DC61FA5A
BD60F3F96D7235531B94389391590FD5C3A0CFF9D15CCC5AE4384BAD575ED277
B781B17959168F0633447FDD5C364D0D98C81264B2A00354D6E3F06F87A5F49F
CECF6FB9C2A00EA611CCFA5B70D9D3AE1EB196E74A7FD99F4F588F17FD82EB6D
195717F7DDF4620E65646485AA722AEA99392D06C3C94150B0B7C42F001F3F56
9C5AF17F133F1DC827BC9DD126881E5B7B503B9A86890A7B056ABC558F1FD5FB
3568DEE909776A1A9F915BD782204BEB7BF4F97E6FBFF44962DE3A83ADEF92CC
72EA98CC42C99757E52BBC4A4040E013C2A9C7F43C1729BD200EA966FF8EF5D4
AB85DAD24ACD4300995175154E9AD9C6D9191414ADCD709C6A2BCE9797A9C958
839CB7B4202FCEDDBDBEAF77F51B398289F51928DB9AF243600D9A4E
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
cleartomark
%%EndFont
%%BeginFont: CMSY9
%!PS-AdobeFont-1.1: CMSY9 1.0
%%CreationDate: 1991 Aug 15 07:22:27
% Copyright (C) 1997 American Mathematical Society. All Rights Reserved.
11 dict begin
/FontInfo 7 dict dup begin
/version (1.0) readonly def
/Notice (Copyright (C) 1997 American Mathematical Society. All Rights Reserved) readonly def
/FullName (CMSY9) readonly def
/FamilyName (Computer Modern) readonly def
/Weight (Medium) readonly def
/ItalicAngle -14.035 def
/isFixedPitch false def
end readonly def
/FontName /CMSY9 def
/PaintType 0 def
/FontType 1 def
/FontMatrix [0.001 0 0 0.001 0 0] readonly def
/Encoding 256 array
0 1 255 {1 index exch /.notdef put} for
dup 0 /minus put
dup 102 /braceleft put
dup 103 /braceright put
readonly def
/FontBBox{-30 -958 1146 777}readonly def
/UniqueID 5000819 def
currentdict end
currentfile eexec
D9D66F633B846A97B686A97E45A3D0AA052F09F9C8ADE9D907C058B87E9B6964
7D53359E51216774A4EAA1E2B58EC3176BD1184A633B951372B4198D4E8C5EF4
A213ACB58AA0A658908035BF2ED8531779838A960DFE2B27EA49C37156989C85
E21B3ABF72E39A89232CD9F4237FC80C9E64E8425AA3BEF7DED60B122A52922A
221A37D9A807DD01161779DDE7D31FF2B87F97C73D63EECDDA4C49501773468A
27D1663E0B62F461F6E40A5D6676D0037D33F24E2FAC2B0009AD3C8350CDF8CC
65BCA87979C36D14CB552E9A985E48BE4E88ECA16DF418749AF04FDD2B0E1380
D281BB2476BB45FF30946B247DFD7F57305FA87E50CA338121C71CDFDF927A9C
77FF14CB4A1D6D80356FB1171ED38C37702350497B44E42CE31DB2F493807DAA
15B887C671199A54C4C1294BC520F5538C15556BC43C9F62342B121C6DCD6C5F
491DA47FF360201EE21C08A781ED0589A6DF91B99FE118B9B29E4F068672E52F
1A06C514D91C4C937D4E642503392B1CD1B8F5332A2C13884EB17C99A3A4EC0D
3790FC1C36FC94745D244B9877E9E4501C35539E357C8D734E68FA452B946A9F
759996481D01F5E1D7165B06079DAC4378B90267B4D027FFE9A0DA69A072D951
A32F7A634259FB8C7899E2D04F52CB8F7E02D61BC1AC87E118B39C144DE77088
694AA46D618A3E31B16ACFC04406E915C444484C0590CE5D2FE19A321CB1F5B8
749A46DF9090190C0A3FC9C8BF517E03B10AAF7D43D786F2EEBC492D857C5C0B
10CD76F1BFEF3202DC56B74B994C07308B34551E51B554899501FD3AB8794E69
F9C049D7A1A1AE33D65102C82592F74C4A3CB690EA94F0AB2EF12EEBF7F571E4
C02753D3A6A038CFE431C108EC37895CDF177AA2E2776EF70AC4BF94880BD71B
1DDDD156994B47C707C922D51BFC1EBB9BCA31893801D244CC668FF01BAC1761
AF68FEB5D823C53367B4B19A7A735E0053DE03093E03BDC9A6732807B4AEDBED
7FC4EA643453C8FC8F11DDA36C90D82F9CAA448CECB8F44C014A2148DD40D3F5
EEA940F99D3D04B756C4BE424E41C38075BF046322671CF9FA897A5F2D5AA743
0A2FB079BA6ADCE5C7161638CF0A8F3D0037719F8C9583437F801D29B7578832
C71FBB817A5F2563D49BA9A7DD24A56984A7B40E63ED98AA8D25ACF3B7A817A3
91A7AF1A2EABB76A748F0AA0B6A65032570BFDE480B47227E464664C214C46AA
C3781A78ACC487EB0E63017781FA7EC6301B20843E7210EE19928393E81D9ADF
591D372CCD44B7FCA28760C27A5962786AFA9D272ACCE3241498F83E89028D5E
D15E018F4945DDC59BE8DFF95B78F206F75E60B838328F20206F9DC52C9CFEDA
BFD5B530FA462C99DDEE863B9EDFFE4DC4DDC5DB53
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
cleartomark
%%EndFont
%%BeginFont: CMSY6
%!PS-AdobeFont-1.1: CMSY6 1.0
%%CreationDate: 1991 Aug 15 07:21:34
% Copyright (C) 1997 American Mathematical Society. All Rights Reserved.
11 dict begin
/FontInfo 7 dict dup begin
/version (1.0) readonly def
/Notice (Copyright (C) 1997 American Mathematical Society. All Rights Reserved) readonly def
/FullName (CMSY6) readonly def
/FamilyName (Computer Modern) readonly def
/Weight (Medium) readonly def
/ItalicAngle -14.035 def
/isFixedPitch false def
end readonly def
/FontName /CMSY6 def
/PaintType 0 def
/FontType 1 def
/FontMatrix [0.001 0 0 0.001 0 0] readonly def
/Encoding 256 array
0 1 255 {1 index exch /.notdef put} for
dup 3 /asteriskmath put
dup 48 /prime put
dup 121 /dagger put
dup 122 /daggerdbl put
readonly def
/FontBBox{-4 -948 1329 786}readonly def
/UniqueID 5000816 def
currentdict end
currentfile eexec
D9D66F633B846A97B686A97E45A3D0AA052F09F9C8ADE9D907C058B87E9B6964
7D53359E51216774A4EAA1E2B58EC3176BD1184A633B951372B4198D4E8C5EF4
A213ACB58AA0A658908035BF2ED8531779838A960DFE2B27EA49C37156989C85
E21B3ABF72E39A89232CD9F4237FC80C9E64E8425AA3BEF7DED60B122A52922A
221A37D9A807DD01161779DDE7D5FC1B2109839E5B52DFB7605D7BA557CC35D6
49F6EB651B83771034BA0C39DB8D426A24543EF4529E2D939125B5157482688E
9045C2242F4AFA4C489D975C029177CD6497EACD181FF151A45F521A4C4043C2
1F3E76EF5B3291A941583E27DFC68B9211105827590393ABFB8AA4D1623D1761
6AC0DF1D3154B0277BE821712BE7B33385E7A4105E8F3370F981B8FE9E3CF3E0
007B8C9F2D934F24D591C330487DDF179CECEC5258C47E4B32538F948AB00673
F9D549C971B0822056B339600FC1E3A5E51844CC8A75B857F15E7276260ED115
C5FD550F53CE5583743B50B0F9B7C4F836DEF0E4DAFB5591D919AA50F0078928
03C748D6E56694BA5AFE337DF0678870726E8F7580AD4749972C39C857EB6E33
4706E722944F58C4DA3FF3BA1148BF5326E73251B7D747D0684DBA2402CF6C3C
1D6A251902E77722AFF9548B4443CB658C201A0BAF4442D620A7E11DBF3AF602
17593C9DF8652DB7C4C44BA340C85845D29F2A48873368BE704BA5CCF26C9713
79108DB5DE63836F752896AABD504EE0FB65B2DCFDC4716F26B60EA0C260F625
A22E60131A34904A5CE0981C1010483FF468435BB80C2EAB7414DAF2889995C5
2D84BA9590B9A50D0AE1B5DF251B6B9D6A5B63280F7A75A945816AB176321C13
95849437804F2DE98DC309B9E8CB00027D3062E085112E0C27587E0F938C1E3C
4B04A7D6981CCDF40BF9C36817E812D8D89881A2AFC9F7491E4F475B0E82E2C2
A690A1713F70A2A90091C17641DD6ED77A8804B94D49D22E5C8BF0D135486E02
6FFD954C39CCD1890BE636CD8E8E304A0FE917782A281B755CC323D785FCDD7C
A218ADBF51BBB78438EC2670B6F32900D98705D3A4DB7D6CFA68572ABABA6FFD
D597430B71F2DD1DC3F566998E3D80E81B8B28749C902EE417F3183282C5FCBC
AA4E5CC2DB9892BABDE71112B49818F92515CA6C5082D7225841649A436F83F6
1F1E1CB80E2EAF9F52765ACC73162BBE7BC88C0AA9585A2BA1661261B6E07E16
E32E3D972A1C3D755D73F49777F45AE6F71AD92A44D1645AE041BA1B224C66A4
64C1BF1E8F2E1CF2DC24BEDAF9659EEBF49E9BFF063B2B6CFC634425DF76F967
032A952D66AD429B445A344373072595BBE7CDDA49E3F291FF18C4D27C0AECF1
B1DBF3BEAB37E74136D93DC2F2D205D9F9EB0D9543EBE049FE56B00C06896BCD
C7A2E649F479B729F2C56DC403FCD83EA0FAEFC87622246D85DE20264FC5E827
25C79662E99C0C4E0DA13B328E3DD7DBE8C4C88E0ACB9A759F886E1258BF76DA
4338B527547BFD92B8C614C15D32B69A210DC5B94B58AD30948D84E98F76A6FD
242467C592787BF02664A5D66095D094A193B02B21ECD622784E7F13990A22FE
592DBA4D4576EDEA2D552A8F0944B37FD1498913A73241E9BC8E75931EBE46B2
FF9484B45894AD1CC2754E4F5185446B0498737F482528F8374780E3BD0B45C5
48393D83EF43867427FC887B501801BDBF66E928AC83BBAE9131F6E8545B7E0D
1661A23A8ED0E81124344A0D7B72ABFF185D7E08192F682F29614A72689C5CD0
BC787440BDE41616CA4A231A695EFACFEB38E910810077C1DA9F915B8312EF0A
8F0805405C67BBA0958DFD1520FBA1D64758BBA50AC7599E221E6C2BACD87424
8E6C76A0FDF22B5CF381F01C8B3EE423A9CDC021180123CFF96B2C93FEA2557B
81053FC722981A781A97DE4CDB8818563CC91BFDAD00608B193DDCA6861F3384
C6D0041CF6928BD09686AA03460770FA44625891C65DECE526B2FB04F101BE5F
14E915C1D30B3F8557F552ECA96E0284ACA65EF3A21DD66AB5
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
cleartomark
%%EndFont
%%BeginFont: CMMI8
%!PS-AdobeFont-1.1: CMMI8 1.100
%%CreationDate: 1996 Jul 23 07:53:54
% Copyright (C) 1997 American Mathematical Society. All Rights Reserved.
11 dict begin
/FontInfo 7 dict dup begin
/version (1.100) readonly def
/Notice (Copyright (C) 1997 American Mathematical Society. All Rights Reserved) readonly def
/FullName (CMMI8) readonly def
/FamilyName (Computer Modern) readonly def
/Weight (Medium) readonly def
/ItalicAngle -14.04 def
/isFixedPitch false def
end readonly def
/FontName /CMMI8 def
/PaintType 0 def
/FontType 1 def
/FontMatrix [0.001 0 0 0.001 0 0] readonly def
/Encoding 256 array
0 1 255 {1 index exch /.notdef put} for
dup 14 /delta put
dup 16 /zeta put
dup 22 /mu put
dup 23 /nu put
dup 25 /pi put
dup 27 /sigma put
dup 32 /psi put
dup 71 /G put
dup 73 /I put
dup 83 /S put
dup 96 /lscript put
dup 97 /a put
dup 99 /c put
dup 100 /d put
dup 101 /e put
dup 102 /f put
dup 105 /i put
dup 106 /j put
dup 107 /k put
dup 109 /m put
dup 110 /n put
dup 112 /p put
dup 114 /r put
dup 117 /u put
readonly def
/FontBBox{-24 -250 1110 750}readonly def
/UniqueID 5087383 def
currentdict end
currentfile eexec
D9D66F633B846A97B686A97E45A3D0AA0529731C99A784CCBE85B4993B2EEBDE
3B12D472B7CF54651EF21185116A69AB1096ED4BAD2F646635E019B6417CC77B
532F85D811C70D1429A19A5307EF63EB5C5E02C89FC6C20F6D9D89E7D91FE470
B72BEFDA23F5DF76BE05AF4CE93137A219ED8A04A9D7D6FDF37E6B7FCDE0D90B
986423E5960A5D9FBB4C956556E8DF90CBFAEC476FA36FD9A5C8175C9AF513FE
D919C2DDD26BDC0D99398B9F4D03D6A8F05B47AF95EF28A9C561DBDC98C47CF5
5250011D19E9366EB6FD153D3A100CAA6212E3D5D93990737F8D326D347B7EDC
4391C9DF440285B8FC159D0E98D4258FC57892DDF753642CD526A96ACEDA4120
788F22B1D09F149794E66DD1AC2C2B3BC6FEC59D626F427CD5AE9C54C7F78F62
C36F49B3C2E5E62AFB56DCEE87445A12A942C14AE618D1FE1B11A9CF9FAA1F32
617B598CE5058715EF3051E228F72F651040AD99A741F247C68007E68C84E9D1
D0BF99AA5D777D88A7D3CED2EA67F4AE61E8BC0495E7DA382E82DDB2B009DD63
532C74E3BE5EC555A014BCBB6AB31B8286D7712E0E926F8696830672B8214E9B
5D0740C16ADF0AFD47C4938F373575C6CA91E46D88DE24E682DEC44B57EA8AF8
4E57D45646073250D82C4B50CBBB0B369932618301F3D4186277103B53B3C9E6
DB42D6B30115F67B9D078220D5752644930643BDF9FACF684EBE13E39B65055E
B1BD054C324962025EC79E1D155936FE32D9F2224353F2A46C3558EF216F6BB2
A304BAF752BEEC36C4440B556AEFECF454BA7CBBA7537BCB10EBC21047333A89
8936419D857CD9F59EBA20B0A3D9BA4A0D3395336B4CDA4BA6451B6E4D1370FA
D9BDABB7F271BC1C6C48D9DF1E5A6FAE788F5609DE3C48D47A67097C547D9817
AD3A7CCE2B771843D69F860DA4059A71494281C0AD8D4BAB3F67BB6739723C04
AE05F9E35B2B2CB9C7874C114F57A185C8563C0DCCA93F8096384D71A2994748
A3C7C8B8AF54961A8838AD279441D9A5EB6C1FE26C98BD025F353124DA68A827
AE2AF8D25CA48031C242AA433EEEBB8ABA4B96821786C38BACB5F58C3D5DA011
85B385124C3E73794FBA53D62DC0504D1560C2F15442EEDA84EE130A850B2338
C128FE6C8551FEFDB1D1858CFDC2B4D6050315C28DED01505D35FC8085515A5D
AC3EAE3E66C878BB95E3165BCDFE86847C767B54A6D4FBD1FE68DEDED023C4FF
658CF2BFA5F8772CF429F3B1398973D1EFD4B980EAE0DAA907735FBBF99CE345
22777DA6583FFEA4780B6C95CC89BC00E8A2F3170169969D840E9713A7D6EE7F
1FA1EA44EE9FC755F7D8EB503D346F5F31A143029B8A4A183B62DB37C251A454
03D6B1F7CCDEB0FE24D7D4A1CB0F7E14316D9FEA586079604E22CBB3150D7B98
D6EFD3DD1C1187DFFD19C03A63D0E45E5A1974AE787AC933B2ED7436F361743A
EE65E8DD40B1661100D335ED7A07C098B35A84828458C609FFBF9DC813CA06B1
D5357570DA7403DF50CEC78925A8C7686F84904F64B554BC8FB9E48B35100D00
87B023BA7E1F2E16C0B0A77534C439EE871676C3BD425E8A06630B1AA4057F07
521661C4B783185DA8EA0F0794CDC1254124DF9C2A9AEC403EBE910E685757AE
D3B57DA3760650B61F39620E850002F6162E53AF37FA0B739D8AF11EC1F26D0F
DEDED67309154E9EC7C5B3EA80E1200AAB4A7979301780CE2BD7FF0F5CC732FB
C92350ECEB8CF3E345CFFB652DC40FCF8E021EE56185F51987F712EF4559D968
1283E2625285D21CC6E24048094A7D277B405F67D1DA2EB26612A07069A26868
C69F4F227C70765DC239A28B08B5BDCEB141854AFC637C9DE8DFF6318A168369
DD5B1B1231DC5A08290D760973A1AE3CB1E3C20078275115F015FBE4CA6E5E37
C7E0A0D19B088FCBB52EC4243CA659E19D0E8250A27C5288C576D6CA6F041F50
113F21B660CCEED3C5D9853F02C30FEF47C6031F0411F2946B0C31817E93EBBF
89132FFEF4C327EF3DC785F083ACE2077F05E7EFF8E86733C9D33394545376B2
40D4A392943051F788882641C70124F8D9D3077E7B42EC853A21B4E526147F24
C50F372F115C6EFF70D138C46E0136B09B0A2533A8CC19D3F89234B2ADC84B74
84FED7753923C452DF6548483CF47FF404EF8A63FBEF34C4391DC2A9B83A16F3
55B4A99A39CCCC08D0ED338101A06DDCBA41733A6D8032F732B0EB38B9B0D7E5
64278761F114DA97F1C05F96E3E42B5A141C671E2642ED84E074684C73A17BF8
A56CE1979D215253579879BC7473443ED13CAF651519C47A9277F5D4EAD65CF1
EF8B065873FD7E650180FD90B45062AE20000C1F7F9DFDC4E2906E0D6DB3BA78
EDD39AA6C98F11974E054223F2ECC63A4DD74B2A31F73E02CF2B19F0D5C2BC5C
4084BDE32D26956B24B427C55796699E77B31FD014D0106263F9DC30DB05EC6E
A6004212FC0674600DB4FAF4741A8FF369F5E4577B211261316A24F0F6821418
B48EF94C8D4A2B20744FAA6EAAAD327435D253D953663D58C94E7D0CA989CEE6
C77EBE1F50E5F1FCE9F0178B66A4CE077AF4FF26A72413596EEF52A8DBFA1135
E8C766CFCD0CDFFBE6989FD8BC6FCB897819F4C04EBE30C49528819906E611F3
5688EF9C3C6675DBE09959AD7C66E2E1EA9BFC89E965E9C4C93AFC0191CAC7EE
50F6AE8EECE1B2E66DE244ED2AA74816FC51561CC9C28FA73422A33B78AD9B14
925E99CB3393FFAA25DFA0CBEBC3D88145EE08752355FBC683DAB16885980661
68523279ED5AFCC34D82330EEF3288A4A674366A81C7AB1801632A33BA88F2F6
72ECFAE5BD77071BEB2AEF57EDDBD4D8E52F0EB9CA7D1FAF69BD0042BECA00EF
5540477317577E6E94BA32F81920C063B37281E5DA726D375D2229154A2A697F
04DB58214CD990A9E52DFFC6A1127D16BEB10F9EF69DB8FAD328AA85B2931D65
6E5E0F5494151D15207790AAD25A07AB2364CF11E4FB523E5B350E03BED5C810
32AB67DAFB5D38677048203147143F1E5625713E3A145C0BE080DBFF1DD56173
526C38C8594B624BDABE14964729C93FA6B2F722F8E9CEF13ED7E75AECF879C1
2A0E0E969109865F4EE3D493328CB85F8DED801B100138B11F6EA48AFFEF43DA
C49282086C7A4E9820B0FD2C4F7FA6F807F1B8461FB3AD4E96A2AA4411607D90
43820D7BDE57C6FEB3FDE1838066A4138F1DDD1E2EA2A3A02BAD37106AD461E3
695853EFCC834D2A936625BB28C3C22AD81C52E36F4ECE9EAF1396F57E90A1D7
1A339B39BC1115A80EAACB71E599F95F0363D137A640395779E7A7C2BDAF0E28
1F08138B990866925194F4138C2637E09FD312F1E71DFD43BECF6E105C517B4D
BB65E44A45FE5C43939F3358622C10D1E89E15E677F50C6A91104FFB738748E3
E5A9D620F8977A6D0E35020454C9E3F8879747A1C2A47EEB0DD4EF9BA5ECF5F1
F807B85C892C32EDB7035DC6403355554F547467F2D808973750FFD1B7A7E052
B503AD25329D48DE4ECFFFD7FA8303670F2EDF08BEDF2B061A9172DC776BFFF4
FD278EE00AF013DE51E5BA4F421D48D2FD8E31A24EDD15817C6C6BD6A2AAD324
2B6F1D165FE6D6ECF683328DE438796777312D1A0E84DFE9CA13792A54D49F77
7133A8E91166E1588AADD5D0BE6346EF5E307819A707EA909D7F898FD812BCE7
8CC94CDFC8B57FADFEC9520EBC1C3D17FCB5FDC667D0BE49341B4B4813E45D5D
BA1A62B892BB95A184478D407F338D9D980FB33260069CEEF9ED3A575F135C49
D925D8C3B25A0CB447D2ED729D5A5B81CD84E92A31998FAC6CB93E7EF2083FD3
C0DB72B00D22A3985840128699FC6F2CD0E918E49822A46ADFD39E3EEB703539
139B7D6A2F3843853DE45FDFB67E071388661DB10876249C98EC52387F89F724
907CE21CF8D36188DF3D4175F7A625277F396A405EC44F2E71E12117E66C62AC
24C115F355B91C80CA37963981D6E046CFF6E80C335FA9C89A31D9CF1C265581
1492505BCF51810E575978EBE466529A386FC930102591B1BAE62E12CE0D5957
CAA334C5B0C44F3EC06F5EC91E3151B19A7D706A899D311605E5E5296B82BEDD
5EC8C2FE6D3E53364D52F16225DCCB4ED37C27FE51347C235A57D7A675309560
DBBCABA2B39B42C4E3606A131F638B783E3C3C659535B15255A20FD9B0278068
E755760768E520CA06C84590A6251908D86D13B43FCB34EB51FCBDA1F5F09CB9
B7BE93F43AB99E0D657D93A1FDDA4B0EC7EA3DE7AFBDBEA5A0519DFD87F8DAD4
C236E48520F5323641CCA070E1849B48BBBCF94D91C90133817212C0DE183F81
036DD52F9F0F3D68E57A889A91100A7B722DC3CECA1B282F8F998C8C4030CE28
2CFC453E9D1A19D844B020226AA0FB3DCFDF60777063A711265540FD8BE299AE
40A14D696DDBA469F5FB22E486773D6FE1B01F41D63DEA29FA9796988DFF53F4
0FF18AE421EEF92055DFED8C9E69B54B982F8272D327A634B7ACE262ACEB28AA
7AD3FDBB32BE306F75294BA39BEAAF243044E8FCD426C573DEDBE84F5AFE0FCE
E2CC994A9E3C6D59734FF6F3C35769D84BCD46CE7AE76D1E9838842AEF090943
03142B2132CEDD01FA6FA112978C097DCF1DD5A7FC314EF659EDF4AD82E3C9FC
E730BCD502CB78AB9D8E7DD1D7AA36FB09B4CE54DCF6F6BCC150A304BC1DB50E
C7D4DDB5981738DF904AD0994C4B72B54E044D55B70CA9172A73CB9D9A548DC3
CB82290D4636342954442E9A2FD9FF2FEC058C4786959B5C02864B06B3211D37
25FC0478CB4398ADFB96CEF9F94B8B6510801C60E6EDCB195FCD2D2F2F3B4D47
2994AE0C7539DDF40984D6B522888CBD48B3AF8CB3C53D8F481CEC9DFCF83C9C
5E88DA43CB5729E5D9A168F1C17D789293E2CEAC3E1871CAE4B28C32D111CA13
F8EBB3E7DE2CEAFF3097A3A81DAF7AD48B96723DD1D7B266BD4F6D0B279DC2C6
CF74E305C1938E86F724796069C4929F548909D388F68789A7E26A94B729EAAB
31EDAC69FC96D8F5F7C41E3748AED390CACF7E0D6DC49667FE64C29F2A6A391B
8854E93F6AED5D433E7AD201BE434490091DB353B0E1BB02D0EB548D5BCAA63E
DD9A0850C0CF7E36D3BADCFD36AF3BEE2717A290FAA8C1AB0D6C26ECE6C3E24D
1A6B6FAE252E630412C3D0F42C44F4A2EF5914FDEF7ECC01F9751D00AC1FAE40
A53D248F574A2FF2A0BA99048ECD4D39B81F7F2C5E1CF333A7116A066CF405BA
EECA636FB4EF2586050228DE4C0B241C0056790F050C8E247B5EA2E03856616F
4B87736FE01981D94C9E220E0AD41211454DB3D9B271AC4D3AB44B59981789C6
8474FE6265AE67F646980FEDA1FA51F8155F745BFDF4E7B61CDDF9D8B99D9AAB
491A552F94A92773EA3C8294B7A83A2F858002BF9DF5464B9A8E8B459297A08A
1FE16BD7DA26A5F70196D4D43D406E8D0CD5D11E52916F251860F8579DF196B6
C928868639DBE305B9303C811F41C7FBB941219C162BF82449AA3B4755F5AA47
36865D91A032B8176BC00EA985DD0E67CA1B6D98D83BB92503E5AD376562F300
289FCD0C2602EDDEB7E8FE8CCECA60F43E3810DF54B4D9A9F7D83ADA5ED8DD69
1332ADD3FCD56ACF9E1A5360F6F052D2AEC189E67DC34F807A66CC7038D8B5B7
6779048025AA11D8B57C851B2CA9E20080D0790BD22867204D971F59E628CB5A
79FD8DB8666DEA52B6FFB5213A25BA3849137C820642820B6741774E1197F73A
B538056B4FBED6ABE3E0A8DE8AE5AF57F60FB0ACA539B6421B0E124EC29B2BFE
CE8F983252DB93B9CBFE433417FFFE249C84115433BA26BD9879FD517A71171B
B20ED5C6F865756DC45B70CBD45304B35A76C2D31C6D1C11D5EAA6E1781AB856
E7B4E401456A95A1704F3F1C9311179B9567F69F0A996B80F41C6580DCDE0DFA
BA03DE53F3E366A420BD5EDF2A4399C75D9336992701E007FD798DF6AD4FF673
4A0471673E920D15B03BD19EF27C7FFFC19EA2D6724352862341BA8824F7FAD1
A09EAAC5E85E67C2ABEE1E14AE5C885DEEAF9710DBE402431EBD9B2BC30282A4
EA3260411A86F4FD145D90DEE5CD1EC07FB310C9EA397EDC7AA372B0F6DD4F76
4451C869C4640179563D75869D81E1A7B78DACD3F8375A3524836256D91E607B
138E97BB05DE1E9C7817FD292876CE183A2F3D78FD9C0350C1D913C1EE80CE0B
C5DBD5E138274485556CAC77B36D9AA4E4EFCA62421124C12C6146C5B0ED30AF
B9CEEF8B11D794741454849006942528B646DEFBE4BDCA7CEC1938D9CD9E05FC
96B5624CBF34267CE82FE224A1F92633096B685F173BFDAA193F569AE1538DC2
2FB8761DEE28FE8A202D61F93EFDC6A0EC7380A69C21431982F6F403DCA01A12
0D34A607F4E24B6A03B93C509DBA448A391455E252E46012A1C77F98D81A56E8
CB4A7D3F4B0FA6EBE75DE6E187D74F25C4EAAC45A8A415FA2FD32704D4E745F2
B7399D792298114AD41425F1591A8D23C7CD10A2F24B66BD07C43C59B8CB2A5F
0D82955382C49255B316D631F7F8EBDA2717656F6EBD63E76B5AE89833115E33
081EAFF50D1CCD7506DE9CBF851D8B9BCAF095157E842AB6ABB1CB283FD4B36A
AA7356F1C87E8B29786E964127AFFB010700FD97A0A8BEB21DEC1682C0E4AC63
67B44CCC31109EE65613677DFE0466970A39F13FAF2E79AF2EA76434545F2A92
84B9582AD3C4E5664AFF37DB5ACFDE474C28332BF3764E6A7968C85C6712A25D
1BD6D7AEB7E364BAB792372D4C4F2C8C070AF9716262EB2ED9FC22ED5B288AC8
7F59E2E52B4B5977B780D644D05A9DB7CFE90C2CEBE9E71CFA7652206DA53028
F920F5338005A30786414E2CCDC32FF8BB68E614563BD1B1AD3B7B2A607E37DC
6487BCEAFA9D70F659D9DA8C8530BB7382D853A2ACF24E02926E01EFA271260C
9D800107E35E979C263A97AADED39F6A40982EEABBC97243AC8A7554E51B2B84
3C2F84B899BAD484AA948E79B2A6D687BB2F3D510E806E439A6038B3DD5B38A3
E86CDE3B14D76207CDE19209EF21D1ABCD407C44AD7802747A6596884A3AA678
EABDA01349633E19F738A308BF0666906CF30F51B6AEDFBE8BE1FAADF4C2F65D
481332CDCF9A1DC3E1C35B08946CDE12FFCA6A8A855750B5406AF05F13A32880
BA97316CD2F1A45D2184C2007B087267611EB44C4E1ADF055DC85A3A96BF7E6C
0C1D4AE56D245321B435D12EC572C76F04FE8A8183280303C5D5C4E46596F7ED
EBB0E840147E7DE7066D8A370B5308E79BD1CB0E329D25F62768AED61A2DDF6C
10763110376ACE66C9C9C8F8E7918841050B361CDF7ED5B2383F32D3E0633172
AD5ECDCB6E8ECD051F85B853B8AEBADD4631CAC23160C4A089A109042C292A65
0BCA7E1CF5C7A0F9139E2BF86E411790D2676F870C3B60DD464920C399334ED5
1C8E95AACC75627AE3BF5C808EDF76550A0A1C7EDD294862BFDD8C3F56FD70E8
91A19DBF1ED71FEF49DE21D5250144D4A7E220C652478E7745B7AA83FE892347
1D93C31ED9FA6E8780475D248E8C1CBA51C41428106B58965ADC4A2E1E2B4A83
AAC6E70FD5BD632423AF05871F4F552AD7BDB53117CB401F413A73B109F6FB21
CC55D3D0BEC4F75F6F35CDED418B8DFCC8E059A099B4A1264766EFC34482DAEF
81B085A04083AA7E5EA0AAE6C9E19B1B6779F53F3C1B78DB98B8C8D1E3A84F86
980A390A1E4DDD4B7126D81373B36CBBF80FC430ED3284175B3D7F9A7C8AC15A
C1F7385D3376A35328CBE328D27305BD5225C7D3C3DB7C518BE2353CA4747CED
242282F0BC5383D9D997FE3F58C74DFE0FDB48AEF973AC5E3BA4FB524F28AA57
F9905CD2709C463761F3E65419B9F11F28EBA6E34ACC81FF09B5162C678C8B93
5DF17BB1195AC6393245466F7B4378089C032F0CD967D8338C60D0006047CC0B
CA4073658F0531B3AA9252D81126993F7951FEAE108AF504B4B7788B96D27A44
4900CB06440CB672605E7F9C2EB4303323E2B7D58C7DA1ADB08565BC041F0560
3F439A6461B7410DAB2E13B80121C26333D4B78B3826DE5D3E5AE796DD349D79
B3E9F93870509365D14551175A132DA9FE65088638AB852882D456776F0C2469
9B96291B8F6FCB285FEF0C796A5794F5C6776B73A66482686A4B41AF47C6FAF4
3FEE6952EC4BE9C7404467FADE3E2592CBDA427BA8CAE8D2B14D057ADE3780A5
A07E1ECDD14CA8121139AC04FFAA5B166E979D07726413AB2AD8A257FEA3A0D2
58D3885391642BE92BC86BD115DE22F6E589F79D91E7C818C8BFD1C9CAD14CD0
5870B0D66F3B47A7D247FACF7B8658FBA02DDD139DB06C0BB7FC8267FC503088
A25F944A388909255F4FCBED255DC14E5CA0877633A3E017CD4F9DD67ED6355C
C108BA186251FD747DEE8875F31FB3423C4D8762A182E42DBCFA1DA73EC1831D
0610AF68D4872630049A67BF3C40CE9799F8AEC52EAC03C25E721C61D9A3274C
ECC7A05D891C641D8AF81F4C94F837170749FB64FC9BC4C7F1063E50B1746135
5501D8C17E293CAC90E2EE79344EE9615F925AB42DC845116CD08AADA83CB54C
C9AE0101836B9A0FEBC38448C447490EA96CF26D672089F76B
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
cleartomark
%%EndFont
%%BeginFont: CMR8
%!PS-AdobeFont-1.1: CMR8 1.0
%%CreationDate: 1991 Aug 20 16:39:40
% Copyright (C) 1997 American Mathematical Society. All Rights Reserved.
11 dict begin
/FontInfo 7 dict dup begin
/version (1.0) readonly def
/Notice (Copyright (C) 1997 American Mathematical Society. All Rights Reserved) readonly def
/FullName (CMR8) readonly def
/FamilyName (Computer Modern) readonly def
/Weight (Medium) readonly def
/ItalicAngle 0 def
/isFixedPitch false def
end readonly def
/FontName /CMR8 def
/PaintType 0 def
/FontType 1 def
/FontMatrix [0.001 0 0 0.001 0 0] readonly def
/Encoding 256 array
0 1 255 {1 index exch /.notdef put} for
dup 10 /Omega put
dup 40 /parenleft put
dup 41 /parenright put
dup 43 /plus put
dup 49 /one put
dup 50 /two put
dup 51 /three put
dup 52 /four put
dup 61 /equal put
dup 103 /g put
dup 108 /l put
dup 111 /o put
readonly def
/FontBBox{-36 -250 1070 750}readonly def
/UniqueID 5000791 def
currentdict end
currentfile eexec
D9D66F633B846A97B686A97E45A3D0AA052A014267B7904EB3C0D3BD0B83D891
016CA6CA4B712ADEB258FAAB9A130EE605E61F77FC1B738ABC7C51CD46EF8171
9098D5FEE67660E69A7AB91B58F29A4D79E57022F783EB0FBBB6D4F4EC35014F
D2DECBA99459A4C59DF0C6EBA150284454E707DC2100C15B76B4C19B84363758
469A6C558785B226332152109871A9883487DD7710949204DDCF837E6A8708B8
2BDBF16FBC7512FAA308A093FE5CF4E9D2405B169CD5365D6ECED5D768D66D6C
68618B8C482B341F8CA38E9BB9BAFCFAAD9C2F3FD033B62690986ED43D9C9361
3645B82392D5CAE11A7CB49D7E2E82DCD485CBA1772CE422BB1D7283AD675B65
48A7EA0069A883EC1DAA3E1F9ECE7586D6CF0A128CD557C7E5D7AA3EA97EBAD3
9619D1BFCF4A6D64768741EDEA0A5B0EFBBF347CDCBE2E03D756967A16B613DB
0FC45FA2A3312E0C46A5FD0466AB097C58FFEEC40601B8395E52775D0AFCD7DB
8AB317333110531E5C44A4CB4B5ACD571A1A60960B15E450948A5EEA14DD330F
EA209265DB8E1A1FC80DCD3860323FD26C113B041A88C88A21655878680A4466
FA10403D24BB97152A49B842C180E4D258C9D48F21D057782D90623116830BA3
9902B3C5F2F2DD01433B0D7099C07DBDE268D0FFED5169BCD03D48B2F058AD62
D8678C626DC7A3F352152C99BA963EF95F8AD11DB8B0D351210A17E4C2C55AD8
9EB64172935D3C20A398F3EEEEC31551966A7438EF3FEE422C6D4E05337620D5
ACC7B52BED984BFAAD36EF9D20748B05D07BE4414A63975125D272FAD83F76E6
10FFF8363014BE526D580873C5A42B70FA911EC7B86905F13AFE55EB0273F582
83158793B8CC296B8DE1DCCF1250FD57CB0E035C7EDA3B0092ED940D37A05493
2EC54E09B984FCA4AB7D2EA182BCF1263AA244B07EC0EA901C077A059F709F30
4384CB5FA748F2054FAD9A7A43D4EA427918BD414F766531136B60C3477C6632
BEFE3897B58C19276A301926C2AEF2756B367319772C9B201C49B4D935A8267B
041D6F1783B6AEA4DAC4F5B3507D7032AA640AAB12E343A4E9BDCF419C04A721
3888B25AF4E293AACED9A6BDC78E61DA1C424C6503CC1885F762BADF2C8DF883
72667B753F6ED2E112D5B4C52D5C330D1C5119A969450D2E07EA527A0FE20F45
C4D7F7769718FE63FFEB045A21D7D17934B986EF8518121F064BAC1A800F8D99
38FC682CC542DE12E7F0E0BABCB83091EAAD3079C824E7FD3B35BE5640D37E83
D917DF8864DCA33C9151C29AC811D340835D51BD52D5C592D0C45A148B266F83
AB1CE47552BF0DDBC2474E8212ABAFED1177E04CADE97DB1D92B3FAEAD2DDBD1
FF1CA97B4548BB482BA27539BB407126243A6D9679F4E53B9642FD1347F6FED6
C4F2EA360FC34299F7C9D5238128AE6974B2A8E228E358CA0FAAACEE22BAB871
ECDD9CE69AF69CC7E1B76850C632D6C54FF48154DF3AFD727DB062F4E3F6E2F1
BE3A446D69551AB8C9D9F7372B1E7356EAEFAF73ACCDAAC7527BD2166581E786
E9BB5054EAFE76EBADCF899EE456DB84B9D1F4019FE346272AB8D269AF494E0E
2D988978B057DB40A01CD3A85680B68E6F6EE8C71AB02E033328B9FAAADEFC46
0751C06ADE29AD6822870B3190145AB633588C8D26F43486C794180D968DA86B
0B9C12AA606AE3542EA921BCC998C6950D5F1B9DBC52DFBCED882AEF570AA39E
CFCCBB2E9D52E3A0CF3CB8A55D12BF902C3E8F0261E22BF2322D2EB5FF9E64CC
96331EADF111CB310AAF08FD0AAA8E5B902C191AC446D814C73C6372A46068FB
BBA1E84D78359BBF354B85E4FE8CADC37C48CE6ACF82E9365ECF157BC48E3E2A
94FCC6B26CF69280EBC0152223ECAF829BC53A982D0822FBF76CFAE2443F8574
4D4B1963C7ABD6D756D88764D0E8EA358B0C967408F019EDA608B76496BB0537
AF2DA980EB7267BCE18C85C6C22D3DCA5F131535D1754FA39220829F966192AA
5D5B88C64871A72966ADEBA0169F363CDD191B6C9F44E55B7EA43C4CFF320180
8B8BA1CC084A347DD6572897708A7654A533DD36AA24CFAA797FAB596663C33A
79C60EBA8D6CF84F0E38ACC9367B4EB631F7AA75D63F4938BC3A999749EF2816
C2553BFF0B9B52405B1186007EA21272B980F1553004864DAFD63156C6B09445
C56461029198347C866E1D4998E90CE08A87FD568D12EB9C5D2F82038DCF9451
572E081CF115044F6D4A7C50B815D3826C2AFDEBDA881CF54B86846FB82683E4
8853A3D6F076B99B08C904116B92C5E1F674255C6387AE4FFAA299BC6FECFE87
B221A65E1257110805A0F6347CB8EACC94A7BF565938D54A8A89EE5596CA4BAC
4F1B2699168FBAB7230E3770B47E0E05452D1E018464846017D0D21785770A09
314CF7BEFC023823140C2FD7A09E26CC56448961318A6E4D119FF8BEBB0F97B1
2592556926B33CF406F825CD00B287EC7FFC3301488AA34952F91B42AF30832B
27A1B580F2224EE1B3B18C988BDC8AAA54EC80AA0655E7E454BBF81E2CE56FD9
3A13E32A175AFABF1DFC5D3A8CD787FF1D4014F2DE9E2B8248F078EB9597F00C
95C86C4940D96D6370CF667B9DC1F2F0B4F37723C0AA1D10DE043C8EC39CED97
FE8FDFCF6934E5BE4898D9A1FBB9E1BAB54556B2649DA1111C938F8E2BBBE7B8
AE1B80423FB507F7C7F6EEBBBD0CDC91681E3923285C37B414050976CF669C62
54F3BD2474787284C18668A830AD9DC845EBF82F51814A380D5E395E3FFA8654
79C6C1E381812BEA83ABDA3B629BBDDA46148C787351094D4A4D67FB4B67A9EF
D8126A1DD9EE21B93F6E37EC9A391B84017C62454124E5F94D33434E55480D6A
7545A1294A39DC0322284D4A47C059DD42308153B002B35509F3877D150F9677
70FDC39D3D8E89073FC7208675F8F2A57F05943F2A4B37088276FE4E8EC2C637
3C5B6F1A3B58523A06AB52501141329F79F681447AD74B4BC4F27C58FCD7EA14
C6E56619D43C55548EED02F71699D4D8A5F1E4CAAE7C2A12DFFC487E272FCDC7
9E7A65AEB62D6AA36B5C39E29E57310356421E9A6DB10900D0FB46E581194728
969F20B3AC77F3F791A1D2A137C6256DB162C5BD4BFCE260F3D5C0B01EDF5F73
F987DE99D97429AB5249B6C570459E9E41ED273A1E0C80F70749F48413CA3B73
7CC34A19851C1C1A5D70E2612213BE67547382DFE14E86C139589C740322300D
58F57B24857E6E48847BB02C930419211308AB9B238AECF1B02B74F3D2A70B68
001832F2D6EBEF1614617B38101C6C7099EE4E91D85B73BB3B533314331792F5
023C7E4B9C1C8378CF1DD0FF6FBD6177DC474A5DFDAD30880B8CA7EF2477F919
B0E7B3AA662D88067BC8BE3A804B9F97D23682645DD322C034BD0872DFE82BEF
CDDAE9B01351FC2EE3C9EC88479C28EA8C348B0E9ECE79F7F2F4248821BA3E05
D69A2EE5D4548E420299DBDF065FB2ADF19CA61503F137482591179E7415CD89
BE8CF10915F27774A791BEE60C0AD7F6AB4552F49963ADEB49D24FA5050C22CB
78282E8B8DBAD63FDFC800206D330BC652F49BA27D457965FCE277E402EB7109
199BEEBC37EEA3B15343B8C9B42AE0C8D938BB40632AEF4BBDF02CCE17C56228
ECBC77822BEDDEAA51D5B5A1651610261E50DE6B6CFE54FF12676661150EE05B
58E8FEB02D3807B6337C1281BB8AAAA1DD66DB2B6D054F6F531DFC98C73BB5F4
40F0BB3562DCCC8FC4DE8DAA91FAC1B4C67BBE60D8737242193387E6CA1C1D13
48F155FC1A087023B26BA4EE63547BDDB8945BB3C43440679F18E7F076
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
cleartomark
%%EndFont
%%BeginFont: CMR10
%!PS-AdobeFont-1.1: CMR10 1.00B
%%CreationDate: 1992 Feb 19 19:54:52
% Copyright (C) 1997 American Mathematical Society. All Rights Reserved.
11 dict begin
/FontInfo 7 dict dup begin
/version (1.00B) readonly def
/Notice (Copyright (C) 1997 American Mathematical Society. All Rights Reserved) readonly def
/FullName (CMR10) readonly def
/FamilyName (Computer Modern) readonly def
/Weight (Medium) readonly def
/ItalicAngle 0 def
/isFixedPitch false def
end readonly def
/FontName /CMR10 def
/PaintType 0 def
/FontType 1 def
/FontMatrix [0.001 0 0 0.001 0 0] readonly def
/Encoding 256 array
0 1 255 {1 index exch /.notdef put} for
dup 2 /Theta put
dup 8 /Phi put
dup 10 /Omega put
dup 40 /parenleft put
dup 41 /parenright put
dup 43 /plus put
dup 48 /zero put
dup 49 /one put
dup 50 /two put
dup 51 /three put
dup 52 /four put
dup 53 /five put
dup 54 /six put
dup 55 /seven put
dup 56 /eight put
dup 58 /colon put
dup 61 /equal put
dup 80 /P put
dup 91 /bracketleft put
dup 93 /bracketright put
dup 97 /a put
dup 100 /d put
dup 101 /e put
dup 103 /g put
dup 108 /l put
dup 109 /m put
dup 111 /o put
dup 112 /p put
dup 114 /r put
dup 120 /x put
readonly def
/FontBBox{-251 -250 1009 969}readonly def
/UniqueID 5000793 def
currentdict end
currentfile eexec
D9D66F633B846A97B686A97E45A3D0AA052A014267B7904EB3C0D3BD0B83D891
016CA6CA4B712ADEB258FAAB9A130EE605E61F77FC1B738ABC7C51CD46EF8171
9098D5FEE67660E69A7AB91B58F29A4D79E57022F783EB0FBBB6D4F4EC35014F
D2DECBA99459A4C59DF0C6EBA150284454E707DC2100C15B76B4C19B84363758
469A6C558785B226332152109871A9883487DD7710949204DDCF837E6A8708B8
2BDBF16FBC7512FAA308A093FE5CF7158F1163BC1F3352E22A1452E73FECA8A4
87100FB1FFC4C8AF409B2067537220E605DA0852CA49839E1386AF9D7A1A455F
D1F017CE45884D76EF2CB9BC5821FD25365DDEA6E45F332B5F68A44AD8A530F0
92A36FAC8D27F9087AFEEA2096F839A2BC4B937F24E080EF7C0F9374A18D565C
295A05210DB96A23175AC59A9BD0147A310EF49C551A417E0A22703F94FF7B75
409A5D417DA6730A69E310FA6A4229FC7E4F620B0FC4C63C50E99E179EB51E4C
4BC45217722F1E8E40F1E1428E792EAFE05C5A50D38C52114DFCD24D54027CBF
2512DD116F0463DE4052A7AD53B641A27E81E481947884CE35661B49153FA19E
0A2A860C7B61558671303DE6AE06A80E4E450E17067676E6BBB42A9A24ACBC3E
B0CA7B7A3BFEA84FED39CCFB6D545BB2BCC49E5E16976407AB9D94556CD4F008
24EF579B6800B6DC3AAF840B3FC6822872368E3B4274DD06CA36AF8F6346C11B
43C772CC242F3B212C4BD7018D71A1A74C9A94ED0093A5FB6557F4E0751047AF
D72098ECA301B8AE68110F983796E581F106144951DF5B750432A230FDA3B575
5A38B5E7972AABC12306A01A99FCF8189D71B8DBF49550BAEA9CF1B97CBFC7CC
96498ECC938B1A1710B670657DE923A659DB8757147B140A48067328E7E3F9C3
7D1888B284904301450CE0BC15EEEA00E48CCD6388F3FC3BE18EFA2C389E5E30
A01122D4441EBDC07E8FF810DAC4B013B1B89F5E18548EFFA31C3777BB187362
FBBE6623184ECD991A057D130019D498D2ED4D2564124D648B1E0956E861DE83
22DE4B89AD33CEC6DD6BC2744D542521314697AC87F8582E18ACD9233CB483DE
3038D43DEE9C4101EC3001E16A8AB4DBF57849C544A743267A6C9B510BA2D4BA
A94F5957E3FA951B817B69BEDF51BE484A6FA1B22079BB32D468F393A6187502
C4D904A26BA22D3EA5867045C5621797FB5B6216077AF948D21F19461C01EB6D
54A084D3DCC5ABC5DF3CADC870236751D9EF221AC1E7BD29FDC20E11094E2852
779FC5C0D5DB9D3C8E4443F64E4037AC19B46A1050451ECEB053DC8EB7B1FC8E
4B8175703FEC53549A80FA0B8B14AD07A99A7BEF99111BABBBEDB83B50CB2D6E
44036DA3DE4A6BB700EFA22290B3DC8113DB1B383EC98F8367ECA284490AE8E5
F3B97181DAD701B0E882A72BF7C8B1A634A3D258A989B280B4D3C402EFAEC87B
7806F8C1C163A406C10DEEF835FB83114BD9FC46A6E59055696EBEDF87E1583B
5D7BEB2CB5C0C824B334BC949604D635C05D611EE1B17C88A024B08FD2086E3D
BF26AD2AC10E00F60FF4559022AC88DBD545FCC78B9A5E0FBAB6C9EF7D7AB3AB
0D4D2222BFD3E3271B60D9E4138CB214E67250CF594D323291C43CC73A84501D
DE0B4041566CF5A666F1E67290B707C7092D174AF33B8BE71C214464207B7B61
601C9228868A01DC45383306CED6256F890C9FCF40E7E8AF25AB31DCADB49DC2
FFAD1039D0AB6AEEAADB72DE788D21EA16D247D6D3A4545C92ECB4DD4B8C7DBE
9B8A3BD00614A35B7BD9E4187CC3AC1DCFBED577BEC9CAF1C6DB6736E8991338
E5CD0511FAA3B2D4B1CD759E02FB9D9E74F41B61FFDFCB0E66D57A44EAA483BD
45C65FDB06F40DD6FF7D44B9E6780071A93BC36DFBE6029F878FC59A65461578
5BC9AA7D093BD58F5D4EF2F2A4654862C1A2E9210FF819E76A0F13CCCBDF6707
964F9AED50F0428DF10B322634A4B9ACF6E7DDD452C60EC1278EA80C5FABBA6B
9E98418A0D64D7E057203E2634DCDD9AFB9D9B7482685291EB725610A1D7F927
6655A8F6BEA47FC8A562E91B48599CE5431FA58803177F5D3DD70A884174CBCA
9DC792C0C837AE38B4E312BAC7351F32C439B772D6975B5830277C753B4CE703
F00747B6689D8E51A39E859BE6FB9A47583389847B65D114CAFF0FCF67585A6B
CBE22DA35D57DD7EACCE3F57E9BCCBB7966E4597909E4A3EAFCDF53B2679089B
6A96B7214069A06007D982E4D075E348A8169D782F3416E6E89E8B884C3DA9C8
09041C5F2AD968CB5129987F15EBA6C97245A492ECD858E375A9C8C0412DB2A2
941391819066BE31DA463EDDCD1BC0364A289222E6D4251DF41E0518AB7EB376
EF45CB8027028C6FCCA0F2D5327A36B1342CDB09A6927D0B781AED137AEDD239
9EF0AFDD5556AE4693E9D6F641A2FFC06DF1625FC6BB84B1579159D10A2B1955
6B623A7C547BE4A92BCF254FBF42E8051350647857BF83BF9BF2C94C5BCA495E
CE9FB825826C37E9A09AAC29A659FA976A5A29C10CFB50362A29BB5953EDCDC2
07A7963610795735A268752C5FCED21E0253E2DEEA093EBC40316D6A4037CC2F
57731609FB52508B9F64D5689478F8E93CC5BD17A0BCA019446D638125EF932B
C51259273E6D8D01792867E6821FFCE74441FFAD983079D8CD39C99B7BD32D95
C6C48190948514594AA5015358E3B9B1F3DB6B959333698480C7AB4415D7D556
8434E0CAA1E224F5076328B5B077C54419CC443804FAD52FB61F2BFDDA7186BC
5CFD05E215B785065313522EA18178F062836FC0143EC20C6AD11E5893D15018
B9D596F04E457BB5E7D4E30F73863C2B40462A7C2AA175D895EC1FCB85162BBE
229F38D9219AFBDA6FAA482BEF4654EF0227208C1C66021A1BD152490753C9B8
F5527218C18FF6EE36260290209812D86AC465C0A19A149BD543C6556BA4CC04
A4E7C45B83AD98D552CEE79603E2BFAA167133BAC0C233B916B95A7BB91B7362
4661282862526D4E027CF57548A960B19ECECD5078C954DE9E637FEC63E7FCA7
4EB7EE27A3ECFC9E07B6359824C45ECDA3A52A7CB01ADEAE1041F556839E6FCB
2CE1AB34B9130D291FE42CF256A0BBD8E97468240AF1E62A04E6C0108BFB7DCE
1D431D7187A3EAA3E94324A91CD0F0AFB2BAE16FCD9EB73DAB136EA95B5513B0
134C06606DC139F602F8957A1F510AA84CF81B91880842512DF7658C32ACBDC2
11B70C529A8FF5575E13227D2C85D3A4153B6FF38AE3BC24CF9215B11CA67058
E8C0848C3AB4517CC95A4750E9E54CACE2B551E2C6ED2EC5B2F5AAB422F69396
9E01F319B351A48EB6583A3BDC0D168666C94C68C206FB32E2007D82BF903D2A
DCB83383D900DFBFB2141C88B2BB0EC11B98D0FDAECF9B59F443BF0845A183FF
C027B0E9BA0BC2DD1551854EC629999EDD34BFFCB2CE974B3154E0A04E1FE71B
30593A3189AE4FBA08EC20876EB0562DE72E0E4E90AB344B41A74AF1A3C36321
8915DE067D3C1B550FDCB864DB916E06BCD7ADA1D01EA9C569219DFA5321C55B
6D951022898504F4EB6F4B071CADB8B934CB79C123AFF88C45D2B2321CE359B1
011ACE89C4061A79CFE664360859B64D86904C25D987DA3409AC87DFC77F821B
3871310247416E864C5B74B18D5E823DCD8E282AAD4E379693540299458D3251
AC8E28BBA4F6E1C63258798E5D9D26BA2126925AA6AB2C28A39EA3A30F980CCA
3492E69C23DD9D281C41D5A82A6B38CCC05747703C0606CC80136270C0967F01
CC8D9C9DF78D4ADB048C8D35346CCACBBD489437317C7F09506B509CF442D4C6
7692B1D18E60FF9EDF6EA4BDFC678CB1C32432096E039F8CC12F65DADF29DFE2
5F957FBE6B02ABFD0E1A84D4FB3CC0ABDBB367A50CDF9C6D44F820AAAF400584
2880E879F564FEA112EA91095B38D6220317D882020A7828A9B6525FE33CA9BD
BD48BC398B93B861389CC2346E943D5F45C3CA26884C061B24452C506C483DA5
C0247316924C93B51EDBD0BD36653D485D0FC186D143636428ADCC79653B32E5
1D031EDF4342940E17FBF0DEE3EC6071D2DA08712A1DB48B618592231C0DDD76
F6B1145AF50F9E0369E6D481EAB1D3F5866CBFCF19D440D78AAE580F6D51896E
24E3E189F5041D49F45BC6DF880DC855758E366966EE4980439F5FA31C2410EB
C84248E7ADC9362DC50D6C7A2AD9F7A2C4C6EA6157FD1177D3FC100458487D78
10893389F68220593378BDB274EDEA0D51B3A024EAB204C2A8867317E9250001
3D249383A163F4737035ED84FEE2AE8FFE43E7EAA5722195914DF17AFD770CA1
A2842A0596E5F0789C2902AECB8590091A3C2091524B202D360EDBDEC17978FF
89DC66F5F3A43E47B8D1B45714608D3F6CF8CC2713602AD6881916354A538B70
65F7A556E98F87B0C880A8929B183FF7EAF14EF4C66F7FF2EB518C4AD562706A
0ED7C753A7EA61A70707A616E42DB3EF4BAEA8F3EBE71264B1F54B6225DBB498
762E1BDD4D911726E43D9275D64549196C289A92EC93FAD099CB1042B1A2521B
583E5244AE7A4635ED4AEC5393C12586B24D7D7403FB9FB3342D6EF7F0C99ED7
2DA9F9031DF293B6E7A53D94A10C199E0C03337F1376CEEE497577B09B3AC20B
CEB67330C456DD1FC6839F4B0E146473B5504867E0815607E76510770F3356E2
1BE655B0042746177518EE8C3403F119299BA7031D225F98D4AAF5C79AA42971
B7BF897F29C32D0CCF41EDD061C061BB0BA2C034A31AB81CC6AD2E2DA40FC911
5BF628A3170EB00F97406D9D8D0C4496C0D26A3CD3925DC11295E7D226232822
2659A8FD36B92DA3F15B358EE7EC83489EDEDF29A73DCFA930747D2FFAAF3F58
190D9F487C79913B395AF417CD8F519148ECE978C842E1D3450BCCF54D3E83CB
CC6BF29CE8D28FACD5A77BE81EE41CDD415F182A39759F0E5DB9CD90BBEC89C5
86A68946ECB84E9F177B10ABC628BB685C38FB7084F95B95B3C21624195EC5C3
3BD49A96D1CCD3BBC125E0C1A0649C42F06F8DA96E2FEFFF59DE3062C364D6A2
351624EFD4DF46B3217492ED5E194C5FFF99340C5F2CA68BF8EFA1F1265B65AE
F907EAD93C6E4FF0B608971AE215BCD3C297A9E432C3020F78BC5FC815392249
2BC9717CA2ADADC062064D66661880B6FE00E9E82A80F35FFE2884B4CD368C41
F43EE018C39CEDCA3C06138CB7026672808960458BB66B6B3C99BDFF6AB35DA9
4D4FCA4733DAA196B5CD87C5CDC6856828FA19A4F5894BC7A50FE4BAC5A90961
B4027FBF5CEEF254710CFE14A9B58A784C27E7D8715C3E1CA5A74D418BD5926E
52CD409FAB517C5166B14BAA9ACFDB5510EAB548BE5F72E1210E89B5205FEC33
2421A5B9055A3921B71880A39BC30B2BA689A39F0E250EF808026E491F625F73
796183571F841A19DC45F4A9F968D41599446F070C3BDCB634682A1C1319BEEE
F9BFFEFEBFCBBC5DF48502EC3F914A7DBB71D72F0F404C80F95723E4BE93374E
9D5C1637A606EF2C8928CDCA35A4A2BB05E907529906FF86FD2CA898092AD57D
19757AA597B86A0DFF8BC391AB5A293AA7D327C1BD8775324291983DA7126450
5748A85E0935508E2E74BC1B503E8D7B5E330B52D3C0F56DDA7B0B2740776475
607FACCFE8F85CB4E99C2BB8FC90D82C7684CC3094536D8D14D036C49AA09BD4
F662AC4FF0AE6C015708AB8A73EDA8F325AA87B9F3051583D6C495E528726183
2BCC23CDC5ABDAA806ABC7F0FB81B451AAEAB2608EBD96E649C7B9589B8B5091
9FDF007C69423330465C2CDDB935012A89BCB2F4FA8529C529A23E0E9229BC5E
3739C2C8E45F494C12B214D1A5C66ABBC617A6F24C858BA85CD815879F513581
9CFE1A299F3A6D9316F444B30512D71DEE2B91073F2FC3DDF46377E91DE77675
12D44A428FB37CD320186BAEC2122FABEBFAB61E12C2FFBA840ACFD30B4F01F0
651C88D4E793CD35EF4326E8144ADABBBFE15795418E5D92E8040BBFB19B9F6C
B3F750EEDB2E1DFE45C280F56A86AAD4BA40B804A56197F96DE751D6BE6ADA4B
31FC24F5035C5760D56383B44325CB4558CDF064097F1CB5FC100C451D19F1B4
50A0A27ABC0BF6590902948F7800C91F57941C69B89364FD498E8B552F580ACE
BEE4869EDF994AFA09CEFA4F9A075771738CB7DB1AFFB180A5BAE8A91C8A7FAB
FDA911A47BF81F50F5B2D876572490A359B9A3B554DDE9AA4F06ECA848735A41
E5F998005DD3D67643B69FC9FA9BA5EA04F21722C42F721608B31D4785087153
332B318089FEC0AF565B1DF6C75DDFA29D14CBE103742631248CE253FA616110
46DE16FED3C5B381A4BFE771E45ED86B717D6855ADD001698A3342362E5365B5
5D7F38B24BD4906ADD899FF79623DCE2438EA01028A0DA4B41C684B74F7D6ED6
3A19EE0E5A7281ED0A2876313C2151E3FE996D642EEDC1D9A0788CAB85E4FC96
1EA2094DE5BFAD75C5CA9232781E0761EFA992C1F5DAE901E5713B5A939F2757
F5C0DEBB0DA1E6E3F7FCEB234619CC5C29CF6B453805E5E82CBC9BF11F3AEC64
F62463EFF8371EF8E9FE311642FD8A5E7B72A2A2F6212381D24D688E9BB4ACB5
EFC546C00CF98B388BDD855617E65D9EDF7D9A50AFBAFDCE4D37FF6E0B284DAB
D715AFCE080566927859CDE8030D93E8BD0CECA1C690A8F232D76A08179199B0
F8579B22EBCBA87B20BC6EBAC64A68E8C73ABA29C405AB12004B369E7FC0D9CF
3C34B13B5622F622E273CCEE47FAFCDF52CDC958EC9849CC172930DB2AC4FA8B
4E914D615BC5507DC6DBFE82DAF38A717F9A4BF22996E24806EE5DF19C51846A
CECE9394A7EFCB4D3BB6A22C069CE67CA20845246DC63D1F290E96EEF12D8DED
B17BA763247056DE8C31071021DA2FBA7E14DA5DBF6EBD6A6B326C99AD966DEA
60950338D31CA6DE6DD51452228A5F04318F4384623DD1FD0990A28A254ABCCB
74627FB1B10E5E5C0B7B9D5ED8F8DC62BD08C9592696C57784E1BFB904CAF82B
CD4CC81A3301C44E6B00A0F19194C1838F6500C9D878BA0ECDDF4A5957C51B85
C9716CFA6351FFB9DB24081CD4E293889D6EDFE37EE38484DAAB88A430FE44E1
F16F6C06ADD67AFA10B583278DB9552F45BECA4B5F66D7F8D8317955548BEFD8
95FCDEF12046EEFBE37A801C582FB0F7D41BE51D62B8AB5549307F74A3658D96
C93E13B02FEB958460231776BB837D286D4E87A539845605F1554074514E2BE0
9E3F12D1C015DE3A7847F4ACF8ED71079C9AD771D7F4AF22F469DD38691BA9AF
3A562AD1E4397358A56C0376D526D651D15404322395EDDE8CB4648A6B4D9D98
7976016BE53E0BF5135001485B1BEB834B49846816F56960E96E15891C4F28C9
4C3B4C4308134F9AB9D1EB8D0B18ED70AC5AFB32CED5DFEA0562D09028908BC1
E6D452ACD2FC6171212EB10D5918D7B09B000BD8A37FB647063908EA55B8AB30
7992BFF84DB8629FE90073889BC05F4CDFC836228A6756FA8F0EDDF12AAB8DCE
8D1C376D2F703733DE0961DC01FC965CF1CE6ACA54E1C4C02222FFEAF1ECA961
EAD4C7658F54E7A325413AE7251B689974F82422F4BCFEDA9878211E92362713
2AB8770D0E7F10969F20E6C6CC3F9AA764E7199F4597996104944CF923395F4D
CD72124CD88F61B199BE7E0C4C073227BF979415AF72776E9686F1E0C94AC66D
6693D16CB4F45922E7472385DA2792C9EE49D3113EAEBF2A1C5DEE0B1ADAC0A8
2D8A9B6332827337BC7C7F8D72DDEA7DCA4F0FA299E8A8052D34E85CCB72DA12
F52B1773972841753D2A580303E556961B78A8800A8F00F65FA8475AAC4002D5
08AAD7C54F0C5E3ADE49FA4EB592F6FA42E98CA5D4A1B417E810C451E55F2ED8
69CE4686FE296114DC2DAE789BC9E40B3AA1AF3883541D58AA0D4DBD024521F8
1F304094510CAB87402A479BFC606E3BE1A5E0F7401EB842E9F88CA87A82D8F9
BF81E1F32D5709A34817454A4912DDE9365969E1485BAA6D60A7A858060C878F
108FA47A04D78F94163F1E72747B30C0B536A9846E8AD0DAB20CA24F656F26F8
35CD09C2C0ECDF59612F8C292979BD433D9056918526AD0167DC43DBBBB380E4
AE84603CCF3B5E95D47FEF97A487194138BD2C12B16B205FB07D6ED9FAF74B18
45D9B2DB292388598D6F863F3CD60FE43217C60D08C66CDB75A3F6D7B8A4A308
E1F73E52C912464A91F188070E1E068DDB920DF7845743655FA5630C670B7977
6488A79F44F96CBE33DA67BA6467733A5CC4CB57A0F912378A086A3264DE34BE
0E3F73C81EDA29EA6A9D869456A945F0E9A0FEAAA2A7AB9EEDCCD2D329D5CF9A
DA6E54535B85AC93AD427AE9CCD6C3237B7034600ECE373902A895C0C43A1233
9FAC8DCC7F5C9612B0E336F7E92758A4AD38370A81BFB45829866B0CAA935933
36E5DA975A61DECC9AF99B3CF8256EC76BDB8CF0EB4BD3CB19E257AD30709428
6C343DCDD2F4A9842FCE0A053D32D892C07FD21D890BE57C5286B01C5540FFAF
38798C0CDB0EDE79D6D03A450DFF491E0F214A7B15CE4FDE602980C4E6D65946
6005BEEFDAF325851345D696E26C5E9E6730D6200E75454258A18D08FE25332F
A508864F6DB6AFCFEEEEC48EA1C3FE1F92357A38CBF99D64824D589295985843
8B877EC532FF6948328B50C9816E6DB7035F24B2891C1617A599A83EA3E39D65
60BF72AFF48A96176163687200CB42656756E7FEA6DF0EC688A1094BF5BF5D1B
2ED5FA05C10AE6D23F1C68F5FC51EF36C266871036B34BD772F3A496B195C946
9C9ADE41964173AFEF182C80B96E68F23B63F976091BF751BC510FA58375384D
837CA0CE91457959BF1D96BC757B7B4A7AC5A3A6AA1EA9F597AB65892B07AF31
1BBA72878DBE33F91966F3A10B267F586C1FE92DE31B61AC0F2A6BDC59F03BA1
A6E2529F4F1CD2DFA751FFE4B2CF2BBAB7D5F2F3F24CB57996899418C2C7E2A8
30F41E09363CC22D5F81C2EDCF63D2CB311A3831C2401BF4A19C07DE6B3E4A41
1AEB97B40233DDC907984E6B19F7D0BA09253BEE0D193D4F8A51DBC2C8E88528
1DE7030E9AA7DA5F26F57D9F6F1BE9F7097C9CFE33DD31CE4F647E0AC9065A54
F3FF727DA27FD35BC36C99E6CDDAD0CBF8DAEB64AAD2541A777667A0CDBBF035
C8E121548F00A18146EDEC1E12552B9775EB9FD654E068805BE0CB2ADED0F5DC
311E4C4DD88E092D571D6E4D939EBDA48A9FB9B8DE86467EF44C32C014C61DE2
3BD94FF7B17524037307ACA6011E8109BAF4
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
cleartomark
%%EndFont
%%BeginFont: CMSY10
%!PS-AdobeFont-1.1: CMSY10 1.0
%%CreationDate: 1991 Aug 15 07:20:57
% Copyright (C) 1997 American Mathematical Society. All Rights Reserved.
11 dict begin
/FontInfo 7 dict dup begin
/version (1.0) readonly def
/Notice (Copyright (C) 1997 American Mathematical Society. All Rights Reserved) readonly def
/FullName (CMSY10) readonly def
/FamilyName (Computer Modern) readonly def
/Weight (Medium) readonly def
/ItalicAngle -14.035 def
/isFixedPitch false def
end readonly def
/FontName /CMSY10 def
/PaintType 0 def
/FontType 1 def
/FontMatrix [0.001 0 0 0.001 0 0] readonly def
/Encoding 256 array
0 1 255 {1 index exch /.notdef put} for
dup 0 /minus put
dup 1 /periodcentered put
dup 2 /multiply put
dup 3 /asteriskmath put
dup 15 /bullet put
dup 18 /reflexsubset put
dup 20 /lessequal put
dup 21 /greaterequal put
dup 23 /followsequal put
dup 26 /propersubset put
dup 33 /arrowright put
dup 41 /arrowdblright put
dup 49 /infinity put
dup 50 /element put
dup 54 /negationslash put
dup 56 /universal put
dup 82 /R put
dup 83 /S put
dup 92 /intersection put
dup 94 /logicaland put
dup 102 /braceleft put
dup 103 /braceright put
dup 106 /bar put
dup 112 /radical put
readonly def
/FontBBox{-29 -960 1116 775}readonly def
/UniqueID 5000820 def
currentdict end
currentfile eexec
D9D66F633B846A97B686A97E45A3D0AA052F09F9C8ADE9D907C058B87E9B6964
7D53359E51216774A4EAA1E2B58EC3176BD1184A633B951372B4198D4E8C5EF4
A213ACB58AA0A658908035BF2ED8531779838A960DFE2B27EA49C37156989C85
E21B3ABF72E39A89232CD9F4237FC80C9E64E8425AA3BEF7DED60B122A52922A
221A37D9A807DD01161779DDE7D31FF2B87F97C73D63EECDDA4C49501773468A
27D1663E0B62F461F6E40A5D6676D1D12B51E641C1D4E8E2771864FC104F8CBF
5B78EC1D88228725F1C453A678F58A7E1B7BD7CA700717D288EB8DA1F57C4F09
0ABF1D42C5DDD0C384C7E22F8F8047BE1D4C1CC8E33368FB1AC82B4E96146730
DE3302B2E6B819CB6AE455B1AF3187FFE8071AA57EF8A6616B9CB7941D44EC7A
71A7BB3DF755178D7D2E4BB69859EFA4BBC30BD6BB1531133FD4D9438FF99F09
4ECC068A324D75B5F696B8688EEB2F17E5ED34CCD6D047A4E3806D000C199D7C
515DB70A8D4F6146FE068DC1E5DE8BC570370462A1137158AC82D0AE038D60B6
5D428E9E9C535254BA4F0D38E6FEB1DB0F01BF1FB5CA7C1183FA9416CE795CFC
E09C65E10BA60E1BDD1E158F7B50A54C4B061764CC406DB5B485C9FE0170087E
2C2BD07AD2C34562BC30C842598DEAD0EDCC3E5A5702F56F039E03B229967346
903B554213FBDE829239EFF6AB55F1B07A855C72111ECDDD8547D4C2F7D89946
CD185DF0173843C4F187CE77C7207741E1A81DBCB910B78921F19D69272CF421
458ECD5C925FB3172EBEC2E2EC6EBD2CE0AC11D08FE3020BE4B92065B8C4AB02
0BB911B21A22F59722E2882D5F20F8FC1EF94A3DBC513084DC674117365CC44F
1E9E0898216E23FA20D13A7D40BB0169745053386E687F2104C0E07D98E89397
285B26B3595A6A2817EB1969C243143CE96EDFC49051EDDF1FBF9D464957F864
B1D518419EBB0D54BE239BAB113428CB199C29A99E798A5C3E216100435566D4
6777A4C249564DDC522636E46D94FA2EC5F11212B5FE8BD1B18A3F26F366C4E5
C86217A840FAA93DFC35ACDB5B0A5880D3DF2620DEF8FBE6094EE06335D895B3
D1D1EDC87CCD4DFE068B00D0DB43D2A40D8781C2C0DEB4C7572245A9577F5026
CDD3312D63D7CD804D3C899C34B8CA6E57BC105B231A37D45F66253BB2FFDDB2
E9456F3E727CA4AEB6C26B9735E495B174CE952FC5CB34514A3629454A2B4A50
7CBEF670A506CF6BD33323E4684310FEF76A00B0A9165635CD005EA093A665A1
F28A929A0F338699D17145287E954F609F8749EF92D5DFE3F05C27148E5D7E2F
4652F30087D5D348A1725D54E9A231F086FC2AEE97025418F3A2EC2670E67FE2
B58295E5614FD20FA8F2874F86BACECFC23E843CB9B65C7F97671CBD7F92F8A5
B701AFE58D06F73894D6ABDE8EAA6B136E708B97BF67D0567E1BEBC5C945E8BC
4465278C724DB3E2B1F5B185C34C693905FDE3F896F78614561BB1788EED5A7F
324EF0644A0433529C3F7D7C1C23841FD6A7BC83CCAFAEE3747A97F2E4B467F5
6DCAEC51921E508850D0658D649F079C673B7E7106F44EDC7EEE7D46483E2573
EEA3B83A5BE75BAFF22B7C5CCCC1E12C8498F11678487F46189AB5AB5BBC59CA
B7F310F5F38137A8255FACA22ED41FFBD5586F7545E63A94B1A036093063AF0C
403ABD417AF915006D320BA5C54905E42FD22DBF8CE7D66CAB4E89EF594247F4
CB9DA7190E9A8589A4BD90B59CA37DB776B9B8008E61971F35EAF75D086300AA
70ADF4097DA11C918E9E1E02F8001191A8F6DD2DCF9F8911386EC7ABF2CB3533
70F14B048E411DD8D648E3D7BF1E65429B829CC14EAEBA5CD1A48C7E275E5758
FBC62E24E01B86DC56FFC63B5A9DC875053AFABC6586EBD1A4B2DDDE2819DCC1
1CCDED52679AECDA0C3351B6B1D0162F9FC44B4F4384DF6B1FDA70B0511A2002
34952A17DBE334D08E2531F66A4190E3924DE0498D39270EDF340BECC4227D4D
6EAB102334AB26664200DA4CCD98D8E87A392E97DE7ACBF60FE01BFD724BB78B
8620DEF611DE8427547AD258CDE6C6E07A7DBAA3EF0E1A02B47E2F3ADAE3DB84
59C268B5B9039F3CCF70342ED3242C7DC12BED745E63F8EC1C427605C2667216
70755090C84E46A7A2316E6828B49FE2CB219ADBA1D865179826200B4A0EE04D
A0226EDE895CD9CAC6E4E174277DBB43893BC20BDB03161986C8D4ED0BAA286E
0A7B1CC601F2E4449E1496E066B02FB43AE628DAF71612F2B9AA619922792A1F
279D0592A5F2EF42CEB3C9DE1FF09F3DCFE69E7E9771F196487D9FCC81740286
3874CA4E19A46538A48BBF61BB652C60AC5085E425E7A10E44FB6A912A147925
9504A178562711C1054C63DDB57558F8278DAB59C57924326F446EDBBF3857D7
B972C0F1816EA74BE9CB0318FA3BF9C153E1899AA783A3F7D232ED40607F7D19
A8C3FE3327552ED2C96B8D789EAA594C73D0083802418A38854E9627553DB359
3420BFE8C8BB82E3418DF28A1A7AAD88C46517546C44A2841E88CBD32DC05BA2
00016F249AED7D89DA47E1E607105B72A77C85056BEF0B04400DD78DF70D1854
07154290EB479031F41625106D9FD407685D87C0105172E5BC26B90D2DFF57B8
81EFDD748C4E5752D13734E4DB152DE13BD1E63E3B78238E6492FEA499DC389F
C38D7EBE2AD1A5F0980C72E191F82E8082C3A620EC3517D373BBACB0917F2124
20D0BEA1050875DAD3F9E846D02253492A0055E34AE87685EB88D5964E105C42
5C840996EFDF77B396291D2106C601B9E87F2C980A9FA2F985421575D09A53C1
7B3C739C4489D8A73AE1F815DE05A7C3481D2B2F7F23E6945664CEEBB1BA7B18
E4AB11A30693FDC4AFA3A8F4D4EA712E2754D134BE83D63860D78A1BAD76DDD6
B3FE2C4ABF7B28181FB877DA32AA54DFE1B117119DA6EAE6E155AE66F8E7D45A
4A5366A23397C076271EEA2E1AA97FF64E5F7E6019135D251159D81970C49ECC
63F70FD21F2BE95D4DD40FF1E60D3E96AAA51270C1E88B6F7B585ECBC3BF6A09
B61D7573F3671A6106F346B7BD1A6D756AC6EB5146EBDD75BF41ABFCF0599044
02F56B94282B7803B026994D970E3874B8DFFE9DE6AA63BD69C7C1EDCB7B48F3
D13F2D62AD647C570635D14594872748533190F3FFE8AEE30B9334A90673C474
A83A10B2C00BDAC1F01EE4466152326438A06BEEF95E9DCCFE3B42458D0A0888
D19E99ADE4F58BBC61E04105D63596AD66E46721A191A36AE771E30B5B8060E5
934CEB0EF160380DF79830CFEAABA26F057BC1214CBFBC5DE9A0960E47F090DF
C125C5F16BCB45FA759E2554D82C36C791CC611A60239F1EE8803B187B161118
EA416AFD69DAC42F9ED8FBB567D13B72CCE71A78C426B7D2A7CEB30CFAB41987
75B8AA7B4C09E90C9891918D7BAF9C2CFFD7CAF5441022EB1EECC169F887C1CC
E2D8BFC7234B352AC8FF954EE1E23B92FDABC142561BF6C1AF597A1C9B9B0E81
A34F24B4697CE9C499BA57F226F726DB096C535F6D7FDD44E3F5664CAC0C07B2
8A84D2EC32B414F3315341B3BC086FAFB5AE9CE7AA81613B5665A86DD7E2A205
E056EA5C99C7DC82F0EB713041194D864C02C6330433B8E36610F0DB05E39BB5
4C0136A39AEF4565E5DEB6F7802CD166F8BE93A364169B8FF2F52F02F7FBF769
F4026FE19C38B97353FCFCBE13680F221F93D359A094A04CDFFC668CE30DFF51
8EBE5A85B575FC1FA1CAF87069937E7D4D7CC5887CADA271B194F85D106727E0
9EF1EAC3139E7646CC353FD9C6C8F7A06A2BFAC0D902EA84C11D8C27337DEC74
E3825D123C6B49A2AA55C9B02D7842778E5C0978489977BE28A8536B0EC161CD
EB576F6BF0FBC2410FCB95FFADD4561BEA5934C8B87C3797D0A8CEBAE7403F8C
FAF5319AF93B899B7020E8094C344FC3BBE889F8B5DC7E84B1B11932BDA9A03D
54A35D0F9E204668CB4748807AAE401D14CF9AC9B95952C42A958BB48D84A271
68C54EF30CFDF29B3B0B787215AC83BBFD85024ED25A067659A0C446B752AF16
4869D727639D42F62D54F247F59ADBEB919A63B2EC71B70D8FF07D99C5F43559
402D8E49D98DCA7E62BD0DB316E226A9DAE159E623E0FB2FDAAED9A185A0A02B
747A4B9415A1EE9F8A6A2BE1368C6B7D5F8170C303F5FC18FF77C75ABD9E1703
E9126915FA9D94EFEE29E3E6B0D36038AB565FCD13507197208044CF74D11AE0
2AA73F207B60AA8ECB0CF3249BEA7E6E2C406C8E4384DB8908D6282EDACAFE0B
ED82DBDB431E34815FA5A4782D3E350A7B3EF1916D02B8A3819F5BB50D1A8DB4
F60B10C3CD9F081F312D16FD673D082D287824D965A11041AB7A064095C9B3FD
AF12F44F655AB1802E21F3AC430E5C58F2C163A38AF5FC0E16AA1358ADD4BE2C
449A1358EF415910CD81106BD6473236D0253CADB533638F639A6B0D387499E5
A5D46956D9855052A47DFBAC085F6AFBB75EBA298B8BE42E65B43F842725DB8B
019B49C3E0E1888351BBECDF7892FB268B907BC6C06D1A4823A1AD869E9024F4
3119BB424330A119DC881F66F79872BE7768CBDE9E69B1A6F386A7D71980A25C
2E507F5E43EB9F263CA7E019D596D2A289C737A020BB2A613548F22DCEC0172A
A49C609D90AC9774A2DD4469CACE96576E14D724255E7A940A3708D647608743
AEF34FA59EC9386A9EEEFEFDB315C7F14A0F01226E51992C9F1FF3DB06DED9EA
07672480348363D40E0D8109F6C95C8CABDC4DC2F5CA00A780E5AE31609A52C4
9EE17BFA6A351180D06C71B4D38EEA38E8B4FF8FF5416BAEE3E6733FF09DB27E
05CABCA6F357591D5559BA9928F1FC4E78C3EB23964B33E773751AEAABAF12FA
915001778BB10877D2B6684A3EFA1D42367B9A49F11D0305B94BA291CB17DFA4
50527CD132CBF7ADB8C0C5138FC4B9CC3CEDD3602C60CBD8EF7427061E2100D0
69A5F666570FE74F993DCC7EF4E514A85429CDB42DF0FDBA3B953B102E83F38B
24FE854D60570135F17E39E0135E8587E9AEB2B47E26CC55487B1CA6888C9672
E4A48C5CE2A3F029D4DC026445164EB6C70BBB61A666418540D948488B808A5E
D0B4040C5C4BB767B89812DB357823201AA6D4D955ABCE09309C4CD6EB54C03B
B23CC51DB9E1C8ED4D57BDFB2B400D308B4F9F7EC02BB628FBB46D41A7C7A3D3
091211EE8A1EE13F0EF50C9853E94DB239A0DA5A288F7DDB49068B262981772F
9404A999FD8E6C388E7ACF1383E7C402C4A144D355778EF007420D7A4B0F8A5E
613A14413CE35C649CDB4EDEB4917758FAEE1A66D4129B3D4D4C273A3C961B69
947ECAA411692C7866C41A21400D00F1F71933A14AD62397AA79059401B9DE0C
9A4F77DC8C649A386DEA1DAD34595FA27B87694C9954461AF4A4A4768C440B7B
C13DF4A4117CA8CEED4D786B5B4C0222C23FDFBE0F2CD5AAD49028F1D2150773
51332DF29DF323BFA1F6D2CDADD8685A9D0221DCF39F490C53DA9436366FC037
D413C9D41452DC18755634E26C023FEB01ED936A81D9B986E9C311EF9974A4D6
935CEB5FDB090843104A4B3B890E8AAC16F213463EBF83FF6505E4118717DE01
D1DAD4C3EEEE1E9E01FC47CA03D0BF73A5481A1AA95D988E2AD4C83A27A35F11
7545DCB4A5CE0F78C0CCDB1E38C1F53B18AC52788AF864B9939DBF6C65CBCA52
00A03106571815B7CECE4A
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
cleartomark
%%EndFont
%%BeginFont: CMMI10
%!PS-AdobeFont-1.1: CMMI10 1.100
%%CreationDate: 1996 Jul 23 07:53:57
% Copyright (C) 1997 American Mathematical Society. All Rights Reserved.
11 dict begin
/FontInfo 7 dict dup begin
/version (1.100) readonly def
/Notice (Copyright (C) 1997 American Mathematical Society. All Rights Reserved) readonly def
/FullName (CMMI10) readonly def
/FamilyName (Computer Modern) readonly def
/Weight (Medium) readonly def
/ItalicAngle -14.04 def
/isFixedPitch false def
end readonly def
/FontName /CMMI10 def
/PaintType 0 def
/FontType 1 def
/FontMatrix [0.001 0 0 0.001 0 0] readonly def
/Encoding 256 array
0 1 255 {1 index exch /.notdef put} for
dup 11 /alpha put
dup 12 /beta put
dup 14 /delta put
dup 16 /zeta put
dup 22 /mu put
dup 23 /nu put
dup 25 /pi put
dup 27 /sigma put
dup 30 /phi put
dup 32 /psi put
dup 33 /omega put
dup 35 /theta1 put
dup 58 /period put
dup 59 /comma put
dup 60 /less put
dup 61 /slash put
dup 62 /greater put
dup 65 /A put
dup 67 /C put
dup 69 /E put
dup 70 /F put
dup 71 /G put
dup 73 /I put
dup 78 /N put
dup 79 /O put
dup 82 /R put
dup 83 /S put
dup 84 /T put
dup 85 /U put
dup 88 /X put
dup 96 /lscript put
dup 97 /a put
dup 98 /b put
dup 99 /c put
dup 100 /d put
dup 101 /e put
dup 102 /f put
dup 105 /i put
dup 106 /j put
dup 107 /k put
dup 110 /n put
dup 112 /p put
dup 114 /r put
dup 115 /s put
dup 116 /t put
dup 117 /u put
dup 118 /v put
dup 120 /x put
dup 121 /y put
readonly def
/FontBBox{-32 -250 1048 750}readonly def
/UniqueID 5087385 def
currentdict end
currentfile eexec
D9D66F633B846A97B686A97E45A3D0AA0529731C99A784CCBE85B4993B2EEBDE
3B12D472B7CF54651EF21185116A69AB1096ED4BAD2F646635E019B6417CC77B
532F85D811C70D1429A19A5307EF63EB5C5E02C89FC6C20F6D9D89E7D91FE470
B72BEFDA23F5DF76BE05AF4CE93137A219ED8A04A9D7D6FDF37E6B7FCDE0D90B
986423E5960A5D9FBB4C956556E8DF90CBFAEC476FA36FD9A5C8175C9AF513FE
D919C2DDD26BDC0D99398B9F4D03D5993DFC0930297866E1CD0A319B6B1FD958
9E394A533A081C36D456A09920001A3D2199583EB9B84B4DEE08E3D12939E321
990CD249827D9648574955F61BAAA11263A91B6C3D47A5190165B0C25ABF6D3E
6EC187E4B05182126BB0D0323D943170B795255260F9FD25F2248D04F45DFBFB
DEF7FF8B19BFEF637B210018AE02572B389B3F76282BEB29CC301905D388C721
59616893E774413F48DE0B408BC66DCE3FE17CB9F84D205839D58014D6A88823
D9320AE93AF96D97A02C4D5A2BB2B8C7925C4578003959C46E3CE1A2F0EAC4BF
8B9B325E46435BDE60BC54D72BC8ACB5C0A34413AC87045DC7B84646A324B808
6FD8E34217213E131C3B1510415CE45420688ED9C1D27890EC68BD7C1235FAF9
1DAB3A369DD2FC3BE5CF9655C7B7EDA7361D7E05E5831B6B8E2EEC542A7B38EE
03BE4BAC6079D038ACB3C7C916279764547C2D51976BABA94BA9866D79F13909
95AA39B0F03103A07CBDF441B8C5669F729020AF284B7FF52A29C6255FCAACF1
74109050FBA2602E72593FBCBFC26E726EE4AEF97B7632BC4F5F353B5C67FED2
3EA752A4A57B8F7FEFF1D7341D895F0A3A0BE1D8E3391970457A967EFF84F6D8
47750B1145B8CC5BD96EE7AA99DDC9E06939E383BDA41175233D58AD263EBF19
AFC27E4A7E07D09FB08355F6EA74E530B0743143F2A871732D62D80F35B19FD2
C7FDF08105847F13D50934419AC647CBA71DF74F4531DC02BBDA22AEEA3FBBBB
407E0ACC52BDC60D01A29407CC4F93EB8BF6D4813E9BA858D54F38918AC82720
4956D50291F0546E50FCAFA6DBD0099123F5ECD4AB338DB310DB4CAE11337A89
8ED99B6F483940C97544F888EAF0CBEB11094A13C073D0061808662A04A82BA0
AD35E8782F854AF66C20C0FEF18D0ECDD1646321B93D327E53D88CA0E825FA95
05AA57BD77B2075C3FA6FAB41A5C2FA6607C2FD0E71F7F23C3B13748A76FCF7C
6F9C659207827861672F3EF45B56639973D82BC234C471640AF4C3C3227A6CA4
B60AC7D8F8EBABDE7F11FCA53E27CBD723C2A25A741C560F1A1D2E223DCD795E
98015D538EB15A61F5B54BDC5B2142EA216F4A9E6230778F3DF029A34CBD4755
6C3BF9DA40484C75F77C41F933BC83AD91174B962027DBF8A09E69F4B5D399E8
233582535EDB71D6E622A38F617AD44AE628E677D8E9757A77FD405248D17C1E
310B6E2E8611F8290CC705B03B977A20065CA346DD8519A9077055461E3A6F18
F1C6855FAAE336C2BB6E9EB8518F9173D678A97779FC277E22CDEACDB6F1F6C1
54E110DE16BFABC980AB43A3216ED7B53635B3334D43CD514D1609731F8B8459
8835D2D593C99BEA2A5B2E575BA1CF71FB98FE439DD35F584EA57EA72B15184B
11B9F9927E52C130286D799D42AFEC4C0C4AB96571A96561720815F713F9C4F6
D5E71BEC431BEA3AACDE5052153F3D38C581A28823407797C05F4093DE07EC2F
63B233C60EF2998D8022FC65EEE9128D070A8BD7B25B19BA5A612C63AC7FEA09
7D3300483FC4DED32EEF5E8B83A316EB4E0D1E41F3CD1861AE02616F294A3ED1
647E4E79265BE269CBDB78EAC3C10FEA56D2689EAFB9DEDE96D9A973BDAAB073
7BF5E16B72E9B25D9B1B7B27F3D11181015D418171A50596B7075528F70A2D0F
EAE52134365708B5A3399F98D4DCF2639C7DDF401FADE613B22BDC018A43E591
6C4FC9DE2C8E479AA07360DAE33746D7BE01A08DF9E940A7036F18033F0F123D
04698E1FBFD5933758BD44B6C47D71E50A064ECF545E26C781F1FC40895FAE15
395A00509A1BD8A4674C9AB6880916001E31FC55518DDD90C2FCEFEF2740DD02
DF79D074D4BF45C96E244209B0394A9FDD732DE79FA463B5AC9C7E214042ECE1
6BE52655C31CA3DD5150C01BF601DFF97CDF5C681C04DFC8DD04522D16F4AF14
BCB3A9C18729E6D228542B57A6148F6244FC50B6E9A223F08483AD58A4A9CA98
EE52B11C681DC8E54EFFDA05510074233701D55E1BA0487D1FB67252427E837C
CFE0351DCDA6AF589F38D78E12A20AC9E0C9E9B684323033213A3D73D2A6D48D
3A9B50DCCB7B41B2E03B8167D81266B00EB2DCB614AEC32D5A5C70224537A5BC
662FC0E0E3B9E15FA1EF448B744B992684BEE544899E91F65890FC502F602D9A
4F1E18CA56FF0F154106647C0DD53170720BB04E3EAD1C28C14542CE0E15678F
E9BC6C0EFF609370452E96575982099D13B81C57B92C4B8C55C227DABFA782D6
A52E7FC8EA6D92DA86F3F679535CE5DA578247BF44BD7A41F566F0D6D7F3AA8E
6BC2A8820A15345D7794D420E921D22E4E39C9A563FA1A517AFDD57A1B56EFAA
77E6DCE8EDB8C32E894A313BF2AC7E481E6E3E3980737F0C4BCF5EF4EFF16C64
BC72E0A8E238F655706734B5EDC43F73C3F55B4A3E68E053428A279259033B55
D5A5F72414FF644D001360FC90608A914A82E910A8DAB74335B4561FEEF671CC
358EBC050BC44878A6E9C7D9521E9F12FD74127A0833ECF7C8F3FB39E1C3246C
DF713289B7165B0362A0558A2060D040B553761291C7BEA795C3B64A5E546E8A
373220CA68789F025FA201EAE3999D93953D55A83BCC977ADB52BBA8D9C292E5
CE1C1C2035771685FCDFE9A8618459EE06D866AC2A7B83E986A98A053EB1DB9F
4A8F5C8EA7FBF400245FB75337C8151D27E990D418DF29E578BD9855019323AD
181835CB2216D58A6237DD8052B44328E3E3226FE63C591A841259D20BE9BAE7
A1701329B6FEB1E3680BC95AF4AE5220FAED08C95B54698CD9BA22EB12E68324
5E47C3FAED45AEC06ACEFFC6AB1FC0BB82B4CAEA7AF6900557C5003CA52B82A6
2445F8E57627D1FB08009EDAC798872C73F8C69DF0CA3FB024409E69A7793DC1
F60C0B2337B20AB5BDF9CF1C6469D5D2050D50C136AE0F83BFE6486772EDE023
9B5CBA2787BCE4A77AB75A9C713164763D868324B8C041A0A5D13C791F7B08D0
CFC092AED84773C3D283F299DBEA9B66B6F05FFD6EDDF0A0D310ED437B23FE9D
A9989026E1476221AEABCCD9ABAFC8074C35A20C4BD81ED5A098DAF74BBAC1C4
5F1BF0F7488FA5A9C833A7EBC01459A3118433C1CFA7F5EB256F2DEE6E93014F
B6BFBBA738314AA8F9CCD907ACFD5EC53658D22AD60C703D13B6B2F965884D71
0A83F2D475527F1BC0241A1155BB637FFF830285143B8C34FE5D3C5B86F39561
5E1DFFE0E00EA1652F47448098CEB52B7E346A0C0CDB70B13449E6CF26ED9D69
94DC42D635BD85A09AEAEB039ADB135D77C263BE44B1A1EF0783169068251624
1F48511B1E65E20AD564219FE65470C556AE6DF09926E37D8D37B036B6F44CFB
BBB16C2A86F79B822144580C3CAF06C10CFD5093F29E38E48B67D880527811EC
C807F802CDF30A57A5EB311BDD48CD01DCFF3CFB97A033D794E8438004FC4E2D
439FB6BD46EA4527077D1D15B5613E1D3C3FBBF7B31AE1960A09DE166F1BB89E
C0DA3A30904A5DCFE129D8739B44C869355351F82989B97733297FD58B634731
B5A0BC3D2D5184F171230D56CEC84412E117C99A1B33EC528ABCD118A087A5EA
74865D790BB3C9A08F36A0B6CC38FC51171BD75B8F61A7DB63750777CFEBC7A2
99A1E70CC5F1096436C4AC3AE9C09AE3731795B8D75C7B9EFD968E828D28718F
C9067AA3753E820C003E2FAA956BB79197299C65D8751AD05507DF701E41BFAF
50FD7EBC31A12A63DA345479243EEBD455677B934ABC56751C5BEB32DAE550DE
17E4B7FAA485081EACBF0CC26FFD8486CB56306118C15FA59A6984CFD029207C
B0110EA4AF709A8571E8EED899745B89DBE9A9B7F703A2E041CF0891EFE2C724
E40220592B28AD63B880AEA7D69832E0C6BD002F7E6113744CF8C10F47FB0305
082F112D8AAF330EBA7BE4BCDDE691763666433668D8935C81015F881EA37657
95E32F2EBFED8172AA1F82B9DE1385E51914714427A2C7769A8C41A38E05C533
3EC8EEC74D6DF1B3DDDC708481E35ACD0FB75552A91FB8CDA5787360793DE075
8DE7C78FB2F6E031F53E3F5F6E79D4E4AA8C1BBA51D9D861CA377B44A7372A24
68403B90F7E14859A74BAFA117C32AC2A2A47A6086051E08745E18B42CDF6078
7531806D45CE60C59A6DC0D1D8E617A56975FB4600CC0C09280788D75F398B21
456D86B773AC24058AD892DD43BAAEE0D469458D9682672697BB5E7CE2CD946D
5A14E41A151685F92DF4B80E00B0844CB638991D966646C24941F53999B5763B
E9189BA6A0FA7E174FDB24266FEA721CD422661417BDF227AA64654850FFEBD3
7BC965389319009F7C89F54AAD4BD3026A565633F9D8930FAF6B7BFC80440EFE
F363FA66BFD4DFBF8CFA0F3534B3466BAF794B687369B266EE03CE3B386499F7
E216A43DE917A8871C2E2C7FC9E308AF0CE5587FACA04B69D2DEDE75A462B081
9928BCF787F98B4154BC193FC398AAD5CE2DEC3FE1695FCE68D355E8684914D1
09217CBCCA0FD4682EF7BFB61717DB0AB66BFC70D0F407D73E204679D507F652
653B85C99D6FD2FA90BAD0E735C910C27387CD20CA5BDF2CB05EC21499F8F611
6A91F5FA2DBEE8B4DCB7AB4D66621F90314E0A9E203AC7C51EAF55A6B9697A6F
2809814101145D7976D5A230E94C11DD86DBD67E335CB3875A0170D670C96D45
E19F468DDFBD3ED6FDD44E86E4193F74E6CC74EEE42BBEF61E56CC2D28963069
7CF74DF87386249588C8287EE505C71B517524581AE01702534E2C5A280D9387
F161DC3F747A3D22EDDAB94D8EE69A36EDF39170D6D3F994E44A8F6D34EF4D8D
6952655C25E7BA5830752AF3974E5731BD38675E8F8025535E8B3744326929A0
1F162073874640B63B5CD36ED2F9D35026583B69D4EE3C58A3F94A67352C6270
609DFEFF81D3875EF3CD6B4CB0D10D083C013789C0822CDD0F21CEC46AE3AEFD
042863C9C6B81948AB163BE2FDB5F0EB38CBA83447BB2247005DE045C70BF48F
04691C64F55EF8A83D30A33D2685F8F436DDDF641C59B6DC19356227FC3968BB
2FA17FA6164AB6C4AC68355B64EDC23215FB4D2AD615F0707E872DD703CD74C6
8C2C7FC9276CE30E2C50FFCE335706ED8D053B96ED33506D7A6F46BF9CF27C29
D955CE6FFDBB8DA52E8E49F0A096E041378A8C17F86DED053571C4E0878169B1
F4362ECD4FA942FA683CE32530C12FE95AD0510073D842CEE0849B653E96C885
33694840617A1B1F460C3B2E2EAEA4B9F0A9D400FD206640C41F9FA0879ADD95
8F76DBF73675C944A07260BCCA6D8F6A4956479FC67F1E6D749356DF057BC0AB
7C596C9D193B185656677B3F99E2B1296914363F7057740A96C2792C39D07D60
1D3E7CF006D670014627EF2EB3710601A5AE5EC428288C6FAAFCFBDCF7458B59
DDB2C8B059A8865A2D30904EE16614EB1BA87EE1F43DB1FB3456CFA4C2E95297
368125BFDECEA613607A1769018AB046E8C954AC950D0272BBEAAC08197375A1
C24ACA6083FB00B48599FB352C82B0F76819FF56E6C96B97F798E9F5EE3A0676
01582DC96FFF4DD3997FA86A9529C7D78693EB613ED68B537347C93824A48C97
63EBC8A8494502A71D77F7CC4570F45B902C5294A5234873228C3665A910510D
DC16C98300A154E27FF33F6EB0F9765E5D1F00697862245B522E5B6F70E31306
17DDE10CB4AE1744D36C39DD52F139A9EF4F3AB34794A9D807C298D84593E67F
7A54161C9FC6CE625BF0E9269FE43357CAD1D4357C3CCE85AAFB91059255E58F
4F698B72223D2F8CDDEF686CFC5F46E851914B82B2DDAECD6CBA43E2B4BD9D2A
F8C9429345B6277922FE0E012EEA333B7E8442EA0DBC0576B3EBFF45E832C0AC
A49A2CDE88980C1E50EA3A4B6CDD1D003366D19FEBB51A1AD5B8335853217046
5B79B0941DB7023D65816FA6724DD965668385D2BC5A66A2EC498BBB53BDA2F5
6692F3771FE9F5B8FAEF54B93DA9863C49592F619372DADB49FBD33DEE240460
372AA3A02289F7974CCD74F0F4B429B790B0C73E46140282A77F238A263289A1
CA719E0A36A4F6C45CDD46528A72726F9652D7086FE0B0BE370213347AA6C411
BB5132094D9D46441E192B9866B93FC0CAC3EBBE2C07666209C74E9D2320B251
76986A7E1B626854BEE6981910B08BAE39A6E6E88A34BA54E01E3871CA476B9A
3CF11961C3140A3079A4AC46BBCA592ED41F0C5E72E7650D416612AC6D863529
023328EFFF67C817B720ED8F918671E873D2EF0F64E87BF3AE78F72834C20C6B
A80A1B961CAC2E6FEEB13538222B66390A61D34F0A44E4141403DCCE95A3391E
AAFB93F37377F6DC94BA268CD94ACB07E59819D5EE6D3DE84F4DD63E2A35C875
F88C579B8FBD871D3AAA7A0555B825604D93A3C5C87B84FFEEBE646215A83F39
C4E0ECB56C34E1B7B6C862F7C76503256A0D63AC6915AA2E27C949772FED4FB8
A09300EE91D158EA253E3D6FE412CFB1502FC2ABCD45C56C007193F6BF1F279E
6D9E70B70CBED5237D9E1333DC1A0C65E2EC7BE27015CE41598FF72ADA82CFD0
648E7CCD6CDA26516F87ADBF7F95C38887415902C1739DD4190333C376F332D5
04460D9C5E03EAB74D88CD5717D3CDF702D3B9B423826D35FDB2D3B2B544BECF
C4EDD7D106DE74ED2F60685810D1FE8E3B665AE42459EAFFA350BAD05391A554
17008DE3406AEF4398E23B39B8E830F4F67D6D0749A84D5C4FEE2388087FA4F5
1D5C53D41505DACFF9C5F0512B463719ACAA4F6BA56CD055E9B255503E882379
5F15B96CFB983731DCEBE2C63E951BE266150F7CFBCB759B00D304556F391DF0
2C17DF3E6F3180753BE30DFCFE0A93D4FD1CBD35E99A4B6260B888C2E6CEF243
D24D5B62DF3F6DC65FB5A1A978E88FB2BFFEEC995779B61FC34CF3BC60CCFDC3
BB7EBCED60BBA0AFE217B642A636C2AB9981CA2A430FB8BFEBF6B5BE27E4BF30
431E40D97D5F3D4CA946B6965EF37A8D6F9D85A7B2DD78E1923CEC0810014B36
A317218DE5FF0C19E1A664148245A073D39A4FD5547EEB48A91AFEAFCCAE3C95
36F8749CC4D7734DAB75517C98F24AB22B968F830839F3E7E26BD40066EE858D
BF0EB0200F603DF474231C67D3A262562760C56F3118932EC06D5E021205852F
12ACCA6644DED6E8EC0544E6A22041C61D16B8EEC6A6F335DA54F6BD72C903E5
0906F461174236C2D9104445126DC0F31DD33C3120546ED78012A44E32118353
B8131EA54A0A8D846166D5FDF006D706893A6BDD6F321DE960A1945FB9F833D8
9D2F0D9DEA777BCEE73300CEDD84F1812510A5D936AA9BA2847A5266E8608EF9
9C858C92C847448CAE07FC611BBA529068E05156253A66C29F2E97300E4A81AA
01AEB5DC4A21811C44A66315541EBC704F4F7A6A9DDBA546AB4C730A9B644437
F188002955AED3B33002DEDB59D0907C17FA8C80F2D15587FBC1C3CD52514DB3
C9D4D91147B7EA53921C031D800D73D081FC54B6E88106F7C08F974D6D367C7A
D83EC83B090E314FB8847D3A260F8F06C504E4FA43F973F9B9915688B051D5B9
19D61FF0578CF4786D0F49F7CB0C429BFFC0536C65FEE9AA9746761960E89C1D
D498F5D16A111E8467BF29EC35DC1C0E62773F6802625E57C13636BC424766CC
89B3309D047CFB7EC6B5E92735DDFDDBE584ED38A736025283336977E0FE70BD
2B1F1ED8AC9AA359D54AB60AD426DBC0F528ED8ED0F3AF2B4EB5FAD1B522EEEC
10A1E8E807535A9BD8961B2E548E0587B5DBEC7E8D386E4B985257E85E08907E
6BF6A7F526FCCBAF4326B7BFBB9165322D765BBF3BEEC023F310D3B0EF171D72
51956C1BEAB8EA544032AB27EA3461D32B87B5BAA78B330142ACF6DC8F9A6E28
9A87FA0BA8074B9CFC299FD7D1FEBFF33680E309A4435BD47F2F568A24B948E2
37D3810E97788A80041DEFD37A7987F1AA9E1A05AC2C29F38135B1FF31396478
74AD8DA59B4A01C1CE5A1A0545E06EF0B73D7C2AA660B8041DDDB1F05D26BBD0
83BA484B1DA0D9A7468EEE65E903C62C6740EBCDBB21A192D299B4A8A09865EF
11A4D5C2EF6A46AEE38FE6D2DC68F235E8E5CA2B1AAB82BE995A4A588952942E
E3E3AE0AD51402E07AAE98AB4E01992E9510D19ABA8D926FE1BF1B2ADBD1F30A
7709273C7B55526EEC5D3EDB2E304E1F97CB3919B60E34A2BB40C88BDCB0A1AA
B4E0AE0AB4FE63148A7FA4C2808142D428E68B480A6E6CF2A100F65185119320
E3D0FC17E24929D4A69949B5A45F34B9DE2D3715A47570F191F721F670C67F03
194EDCC89FF5811F13A952C32682A25805DDE9A677CABC40EAC6DCBEDD3D89A7
EB945ADD229047AF3D563BB8CC40A86892D5D4D45792BEF26A89126A4AE405C1
D7FC03E8A7060E0746A46805E4DAE2F598F8E439B8CC0834C5812DDBE9F42151
28877B14C7260A19E3A7D04E1D2071A758D938B608478164BCACEDB2D7A2C3FB
ADEB0B8B0A6429DAEE9717C06D414C573EEBCC2DBA229193B53D71C51E8D9423
07B25CF3264D25F3D7C345693147198A47FF222C9BF443C98B4CAF46E956F2C7
48816D57641BB0A717DBBD31949C6C66E78A0299BDFBB4D8A1AB133000972D77
B01766BD8E290A93D2F9FAF7A234F9EEA1D5A509DC1606F789591504DC2A16CB
A2E09F86D9CE636A7B11FF54D14FF25988FC1D300E8573C257F883BCAE44596B
8B7C5C4287809142DE7D44AD12A492415DB021CF373DC9F83C5FAE7204F7F2F3
7D6F1B7DBE3E133E2788F2688E3A850067D9287D738B6A1554FEF55F69B1C424
E991D93E2C6FE8CAD25AC0EC2C28FEA47F62880CE52CE0F4E24E86180A190737
EAF846A5E49E28E364171BA70C041CB365908EBE18A25FC088F1324E25BE3781
CF79BEB47A3340EA49DE8E0A21AF736DFCAB0D3ECB885B06314817E028070769
94A851B7CD84581E7709557DF072E13E1AE5E2C160FA44BFEFB0D5111686C1F0
459F5F434D16D8644771DACB328C20C0DA00ABB84B072BEB621D93B6D655E89A
4F503383863380F996E04EF5BEAE8F6248E638816B93378AF6F4F3C94737C6BE
58B7E9D46117CA26F14BF203EA302E77A18C0401030A5E28CD818C158265970B
0DE5CA3F89D36DB9DCCF339B1D83E55D450F68DE789473E7DC2FDCF0812DB52D
2AB2FA46A5AC9EF1CD4CEB1509A5680205A1A75C3564B3E5CF4C84794FBB33A8
F439854E5EAE3273DA23851360F6958911FA1A6FA2BDC589F7CA6023F7E90CF8
63D9633860E02E2712A728A09400109CC03C22774D84A16122ADA958B82FF63C
479A7D0699D1C14D7E8CF883B85832FF8627F186C9618FEDE5C67ACA08C76043
2E01EBD7FDC81B589FDA3F4A7B6ABA91AF4A7488CCCB29E7CF18F595800A72F0
FD0110B7B7658C956F1F230D9D24F2F8E9CF28CDFA77EF81F3E6B4955B8F2198
561C3A9F6582E9E6F6327A206A1EEFDBAA9FFAE591A19740EFF8BBCCDE90C826
27B7471E4155D2323AFADE1D9AB938B61DF3D59E513040F1C00DED456326BC3E
34F59C09A255D2A933155EDF72CE0440A10C73686192D45049F239C6943256D4
1D545B7CDF4C4D56FF156FDCA83EACA3916A59D3666F287CCA085F823DD99EA1
EE7A3073F1F95A3ABC61D07D42AF499EE5E36F53E3A36346EC3F6941C8F9C10E
CE4CC34525C3A92F4F53BE0FEE97533D87908C659E9059C1DFB36A431DB8AF1B
92097B1BF834C7C35D9B2FF1F333002987725DCC76F1050E8616274CE1741E6D
07AE11578009CEF838E058AE45BC50C01889E7F29AE36739CA00731E81A2DCBB
547CF5F6802D6F10F50E68956AF3073F3C324165DD991C4113C44C6BA288D8E9
8120106C689FDE49302CCCB21E2DDBE32B709947A46222A5ED959D77DD848E25
4056A3E83FEA949E9028B97BC9E4D8C839649E5A2E40AF536848C5FED6C01155
DA33D41C4EC076FBE01E532ABE7FEA4B71C56D5A17933EB19EC0EE5B230E876B
DD5CB4594C1B78A15A49A2F23453B2EA8DB36381D6561882BDBC3A972B9612E3
E1A1F39D1D0F8CA69BCE27047DA8C9000ECA93DB4DC287C92A02C2082969C8D2
323A5576DCECC469A9631AD632DBD4C642C1A88FE596CE83A2627C8BAD78EEF8
7F7065AC4E80EDC57114761773A3580C0BD4B671FA120A59B9D23747518ADD80
1C896694ACE25C6D85C2AF694E28ECBCE28942357E2CB9A1D1475F613F8A7F91
0A99C57B902938D9D8788D27CBA9872545891C67E375AB0C9D27280A3DDDED30
9E1F673B733E9A334921EA3A5B5935155A6EB65863126CA354A1FDA92B6E8AF4
D52FE625CCD47BC7830E51D5697CD2E7F9902435BFE4C1FA9A8651853D251873
B0C1837D9509926277580301C75552583AA5355B93C4BD8471D2E9F60F0AC320
0A0A698620F6E8F0EA92BFB5404BF485034B0ED73101167E3F6ABA6E4EF69C05
9CE0792BCFB3915FD77FE5183EF816F5478B69AEB1672A5274136641F30377E7
8CE752F93B86DC1C13B675C4A3B3A753B4435A0BA5F7F937B08C63F45C4C9375
28F6DD1753726F0EFA4F990F674D2267E39C31F0F11CF204B1398EFC2D25AE93
9B1F7C55E98E16E64F6B1A7A627C3F9C2982B2459D8EFEC2B14182532B9C7E4C
6E4BFA998DBDF5618644B0FDFA202A4BFCCF1EBEA015DBAE2D0721E905E8FEDB
9756C5C2BA17E8A1016880F82CEFF802B5FFA90524012725463C9A2378FA07ED
5090A6B9CEF771F7EB9097A0725513C3CEC11C17F604F5888F2E7BAB1EDB6E98
1D582BBC6C4778FCB8073653DF895AEBC396326768496FA90FA1F1C386AB9A02
007EB0EB5307864627607389EF686882F215D6ABF62D32B801D60008E33DA688
F00D9F35862A33DDE3B681990A7B9D3D25EDC49BCA70E418D516A142D398BF24
8320BC9F127F0A95785E8B4B48ED8A820F21C9ADDB2E072D19EFE6C598FD970C
1D0AA8804A8E3DBA2A20854EBDBF0AB350BD9BC069C2D69AC1B5926459A37B01
6248BF9B2B53A66F15E57C3C67D3C7D00138A0D9694A9946BE4854662C32E928
126496D6D72608C343B4952C05F0E7FF9E8BCB827DA386E5CD96A55CE1D3077A
D6F40623BA8B615D6F409B24572D3F4B8C168BF1359B8270128BA0FCA10DE3B8
8D88697A37262646823A6341FB5B0F0F39C087E8D86EE89FE7A318979136787C
91EFBF224C73ABD04E16885DD212F51159A0CE5760E53795E84CEEA632469455
149846BBAE286A514F3D0BAD8121EC33AA7C558F1117DD4952E51A31947747F0
1FD4B3B108FE4F312E736231B44BFF4C91CC923879C1F3D8553B9955EFA39A45
F95576575B4377E2024B4AAEA12DCC1233AED9D26721B774D27DDA8D3FCCB985
ECBB81259AD4429D701D1754C4928F9FF0E55665E1F4A3E09BB2E33BFA507CCE
E59FEA3EA8D34729E8004B09A71471BDD8A1300309BB9DFA188BD19A73DCE250
FCF8C9E7EC455A9E17768F0371AFC86274BAD267EF0E507C1736B4381560F161
C4537277446EF67FEEAEFE11732B54413F29D36CB4F6D167A822A07E0A7E91ED
63B258692D9CF40FD6F290E557B0E6A540AFA262243694C379CDF8571FA7C097
9C4A7C3B3FCD1AC827BCC702F075D1E24C7FB43AB0BDF6216591C201C5B0BD85
19FB2A1F6DE1DE3B671055446BACB766DB6AC53AE7099449D09808EFE88DA538
79EB01FA78C90CD7799C0CE34C5D2D283FD2DF6A3F6E0619BDBB5527B9FCDAA3
6817E36B37FD48040D23AE0453BAE4AE986F1EA2A6691CB8EBBE6EC58517D808
43CD971B3CA4D9D77AB92154EF9E6361E889B98C3B00A8B08EA4995678DECBDC
D4A7AA5889580BF73B1F321AD947DC02A64443256FC1BB6025AA73F97C95C86D
BEBBA0B02F762065888088B8EAA213BF1EB0DD7491F07319A723E45585F49C1F
9E3D6FB5AB986770406F049CE914086E83E8EC0EF8198A5995BC1D8766C2E9DC
3F511FC1CB25BAA1B1C1D2B3690BC2FF720CAA35292B5C6DD507C065D4B36757
05B51B163D1DBFB97B98975B743E21772A6A39AF64501DEB661920CCFF42D939
04C61FB46706DCBDF2BD7FEF347A7A1C67B611AC164B52CFE389374A8A269225
99876B6836379BAABF1F5B4C3D79E840DC77D7583C59022D30647CDFDB34EBEE
693883FD8E8FA99944C317ED53E395E1274DFD3698B5F12B0BC9EE048BF936E8
2413E76362C4F36944015EA3FEA41A49133871A7987973AAA9F091D13DD7ED19
ABBD69CD846733856BA8B40182176EF9F24B923BE8406D4BCB2291B84A2621E5
49A5D76E915B4542F2E76F855D452970B6EADEE3980DFF19AE43264A819E8324
789DBC331F8294BE53706F1377A81045AD02A074E60D3FFDB196E8BB2718B25A
5FBF14EB9607FB49EF2E40B2B0BF66908C23930B26B72D10DB03A1AC296C53B1
23364AC4B119F01519924C6070820748A4D5667B4B1763AF30535B706FCC94A7
39147007D4E4BD0D21D037244D9B7F9C8ABC944DFDAC655C4B5CBDD9D730A062
C802233A33C8854000A0350D7E012339783A18A3FFB184F18679F122B41A87EB
579FAD5A235E735D5B33D593617CFD38E4C37E8103B14A2124D29FC177FFF99B
D5C01BAC473849FF2F8CAD7CFFB89EC883E986EA8C005ABE4998950335A54F3C
B18C56600C6ECB152E586315E5F140001F8ACF1F986E3763D9B0FEED1D90FDD8
A8C735697F45E5C7C91EA076F73CC25AE6B98248FB61D271B98038638ED41D2A
F5934102FBFDE10D8A39A2FC2CCAD0B48A4BA76D870FC877B2C470F091D06E49
52FD87024595E2B32DF4FFA0AFA8005FC9745CF16EB0598BC671CDD27D702878
FDD8195DCD9405AB09C779D528203E501DBD1334444F74D41AAE2C85D784EFBC
4BC38FCB287007A8C968642C898D461932C80C12B9BB1CFA707CEF33A5C7C0B2
1104B2AC3321584E29435E90340E20C5F5EFB4E2E89A3EEDC7D191B182709C45
7524EDB011B9F8E46E1B65FF1AE5A3D71A72E7A97A9C6E4D8A807DF516B7BF9F
9B70CDA1E6668604400DE184D4BAA039D6EADBCB6F105F709BC9FF54BF561497
90CC76C7DAA2205C87C1CF39EF02B0975D64BDDC584E56E3BBFEB588EBCC7A43
6CDE079098274CF10CAA366F613FC938A7FC9054F954471AEDFC8E1E6D5B7F9D
9EC8E58F4EAA05012A5DB57DE137C7CFB24901B32236FB09C4D782E06D36CD9D
58A3DE545C8EF7E4EEAA2F44276193587501E3533AAF3816D2D4542D3450F101
57A62E74BF45A5A1FDB4AFCE8CB8BB5B012B04F86BAAABFC325BD6FDCB0F26A8
6464523C4BDD9ABB5249685A5BFFBD0B1C4D9E7DCA76ACE54F3FAD50379107D3
2032ACB19AE31663FDE363EE1F83237B17F07E7D201E460D278EFAE83963DC91
4BF60447A2BFE4D847B79CEE14C74495A1FA52DB9295AA05D7E962249D5CB25A
C6ADE6559EB6E76290193E30D7B11093BD276C80FBC953FCC75081915FAABD13
B029ED7283E256ADA384326D51DB4DFB9F647309818AE0F61DB83F0093401931
C6E52C056421B4BE4FEDD546F440BCAA95CC88917BE7F8F866DFFE645EF870BB
95CD2366EDBAD4345FC660439AFBFCA476C5949A907B9E27E5A6E6DAD113F556
BEE99B88CC4579A96596183654E092C7E0BF482D7E27A25906C60890E6ABEC41
9242C7C484D5EF5EF5D7B9D2D42E4F296F67B832D91F89C0ED8CC2763E9D7DFF
204EB059D937020A8AD2DE93DED19618307DF0186BAB3183B4444EA67A881028
58C07E5774C5BDF2050E251570997458E198B1B6F24CEEB7B2D3CFE2A4A9DA30
DC51897F1EA8E2FD19DCEF1A27081C78A663BAF390A76982F19219635E12ADDE
603E15904C964A8F4F2429E7AC7E3A1509C2493A916CBBEF034BFFF6F43F6D05
D461783545895D3104AE29814656E54E252D3A25FA0D4798E506A20DE81965A9
709C7BE5392AF5DD051F7AFFDEE373E0218272C46E6606C64D04887CA0A71D00
B0F066BDD54EDEBB2E4326C04A84E78072F7F328D75102024224DE55CF9A689C
C28D5ECF5890C94277026E27278709E1DC65688DE19AC71794D8BEF81D635EBE
0482E17CEFFB46A91267302B96A7891348DFC69DEED56A95E8F3A5743834D243
5A2DC84E6FC1181225E250CFF800C46D31ECE9E00EF5CE0250808BCF7FE871C0
3842324AE21DB54436594B0F26B10C4C2098539C874823CAF6D7E567FD8A47CA
662DA5692EE1541E7344D84705FFBC1CC1AB98148A89ED53B255FEAD064092A7
062178E8A507DE59C2B71E068C9B681C65FF2A924E6BFD426A3ECACF1BD1E9D7
6ED55C0590E2E3BCA7DC92FD4781876BFEB6A6BC0CE909287864C92254306FF2
FA426B0A29E4D3FCCDC44C5DA983F9761A3C396B4C4CF574CECDB03F224E8961
DD9290F16B7684A1F2901B42C0FACFBB9EF2D1D5FE14763365CC59391EB58AD4
6BD1B3933B1F11853AF2AE36D917BEBE9BFC3804B10AC899123A605BBAAC3E00
1E62635C41D7DC80D68AF5F3D2CEFE6D78085E146E0DB0E1410AAAF3EA97E010
0ABE48C3FE7292D97AB4ECF3F2DE280348A6BC6764CAE5A37B7F5EFF058C2543
2D448685B174558C5EF5F1CECC94BD6E27766FE52BFC14209C068211BDC61A7C
46971AA5B18E5B8BAA464D698F2D5188FA29111A719CD99AD6C450B468D6C96A
BFE96FFA076BEC819154ABAB4A0ACFEA8A540525C9F13974A98E70F3057906CF
9E189A5F2D0AF5278BEBE20F57E0AE7FE2B494C51DE6F2D947450B5E05105242
B2AAC838BF1C0ED0690BAD4B8B2E8951938BA09D6C3D962FAC142B976412CF66
1C088FB889BA8DB3D8C9DCB4837365BD5F55A43D9F1FBEAD91B7A5A504721046
FBF7C9B302BE40E8BF527796C561579BE522C451D004235D17D84DAF4F3B7BB9
E17C3830FBA447A8A26C4B142E3CB8390A73750DE9377D2E3379C45AFF4B29EC
A618B1029CBB2ABA001162E1D951ACA89A2EC7A10B62969FA404CA1062546513
936C695E18E9E7FDBF8D3CFD571418F2B012EBC49FA7DC6E82B156DECCC51728
B357F7AFBA5B82F550982DA4511BAF5D885FB59137845DC62636B87322DC222D
D8A73AA240F930A478666B8F7BFB8882B7F61912A8C0878656DC053EE81E4FA1
BBF674A22FE4F30E45278F4C320831227A56C441B87DDAD4ACD1BE
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
cleartomark
%%EndFont
%%BeginFont: CMSY8
%!PS-AdobeFont-1.1: CMSY8 1.0
%%CreationDate: 1991 Aug 15 07:22:10
% Copyright (C) 1997 American Mathematical Society. All Rights Reserved.
11 dict begin
/FontInfo 7 dict dup begin
/version (1.0) readonly def
/Notice (Copyright (C) 1997 American Mathematical Society. All Rights Reserved) readonly def
/FullName (CMSY8) readonly def
/FamilyName (Computer Modern) readonly def
/Weight (Medium) readonly def
/ItalicAngle -14.035 def
/isFixedPitch false def
end readonly def
/FontName /CMSY8 def
/PaintType 0 def
/FontType 1 def
/FontMatrix [0.001 0 0 0.001 0 0] readonly def
/Encoding 256 array
0 1 255 {1 index exch /.notdef put} for
dup 0 /minus put
dup 3 /asteriskmath put
dup 48 /prime put
dup 49 /infinity put
dup 50 /element put
dup 88 /X put
dup 112 /radical put
dup 121 /dagger put
dup 122 /daggerdbl put
readonly def
/FontBBox{-30 -955 1185 779}readonly def
/UniqueID 5000818 def
currentdict end
currentfile eexec
D9D66F633B846A97B686A97E45A3D0AA052F09F9C8ADE9D907C058B87E9B6964
7D53359E51216774A4EAA1E2B58EC3176BD1184A633B951372B4198D4E8C5EF4
A213ACB58AA0A658908035BF2ED8531779838A960DFE2B27EA49C37156989C85
E21B3ABF72E39A89232CD9F4237FC80C9E64E8425AA3BEF7DED60B122A52922A
221A37D9A807DD01161779DDE7D5FC1B2109839E5B52DFBB2A7C1B5D8E7E8AA0
5B10EA43D6A8ED61AF5B23D49920D8F79DAB6A59062134D84AC0100187A6CD1F
80F5DDD9D222ACB1C23326A7656A635C4A241CCD32CBFDF8363206B8AA36E107
1477F5496111E055C7491002AFF272E46ECC46422F0380D093284870022523FB
DA1716CC4F2E2CCAD5F173FCBE6EDDB874AD255CD5E5C0F86214393FCB5F5C20
9C3C2BB5886E36FC3CCC21483C3AC193485A46E9D22BD7201894E4D45ADD9BF1
CC5CF6A5010B5654AC0BE0DA903DB563B13840BA3015F72E51E3BC80156388BA
F83C7D393392BCBC227771CDCB976E93302532471AAA096BDB7D3D00544FCEAE
86A3196E1683DB53C308F865EE7F6C22EC40D307AE114E328CC80446A3F982AF
9F6D58B72F017CA3A5E4241120081E58FA971E59192E4671C7792406813C6BB6
A9D5CF1CDD3F0B68897408B1E692AF02D8FAACFE07946566D6E7951AED116B46
08E99CA986A37DD691C80719CF9B6AAD1746F3919E1843F5B94478F0F7E90FF2
46A2D9761872B0E8BFF1ACD1FBC5AA72DD08FBB0408EB1703B274BCD705FC5AC
F2C42C491261BBEAD7DA8769441BE46086006F88A69DBAC42ADD67FCFCD62591
3FC0EBDD1124990701740AACF2326A9A532157C285ABCCADF13F7D8D469ED4D8
628E47BB643488253B22DE57257DA62F221B7784880F27FBF68B050E31289828
4B90892FBD6B0BDE486CE1DD96E5E4CF6B844943F17812C380503A62C959A395
06DC054E88388095404FD0B4BD9DB153856A864A6DB4B018D175ED7D43F67573
46C8F2F30C1645AAD69A76A343E315B12A1B702463EF7C659B3BF507B49DDF1F
35C65571E34F808B7064C46CB01F022771A236225C87496CBDD63F8D6B8F275D
B4AD9C30820FB23070979B0C50551456DF56AD966AE68EB59A59AEA9FA206ACD
5BE52F2696EC5AB517A9FD2B75B225813D78AE4CF359CA93C2EEDC9D97CF7553
863BFF440A9436DBB33517DBFF1804E0D4B3A144BE0E0D2A77E68CD6DB29AF22
959C5C295975EC1E79DF46C9980A497AF16A0D1075AEF400AF8F15B1966AFA7C
930994D158909B5A2093C2087CACBF26A9EC626922FECD9CE7B5DBE5E737CDC0
D5756398940A593C56971F1FE3ED09DB66D114F88CF8DBB2CC8FE1B4B4E7EF54
AA5E8C936930649033D50C31015B51FBD5191D6B1B415D12DF0E46D10133C29B
79DA7FBF4C1C7CCA7687FD727A648DA6B8F47CADD95C07FEA5CF23E8C9AC2B67
889422368B5E7E3C0C32FF61A56D6DF8574C46769934B505F247F2DEF5ED8A37
C56F5FCD34AC8E926A1C931F4524411B42F6E7A927520B139A328E29025B1162
9162275738241A1A03ACA427A68A24E6D32202A27E84CE0DB8962A7960B5BF8F
B7F7D4E62769241CDD7F3F78366A06B13B9B5401836C4763A95176056D58333F
F1F4845119413EAD1CBD7E2CC08CA703E9D527DFE7CF6C436F982D788C4A08E9
E1303A9B98F5B6215723CD2FD9D50A838639874244F19D6B0B2E364769E084DC
F833A78F5E9A6BACB48AF7C6729A136252034BC804E7EA5E940F631EFF0C9D99
D9FF86A30A4A0C34E53D494E38455912C6257C574EA4335B005FC5C672AB3357
44AC7AC16733C38F3DD82B6D2A0AF6C7E4EA3F1F008404B5EC339D1C121163D1
F99EC0930250FEDEE6E50E32AF7334F94FD5AA03A6C58C48A736946EA30D7E95
9DC300103E338109C8FAC859A59A10C4DEC1C69837E492FF22006AA41045EAD0
04F48C27E77D0D948733F511F5AC4BA22FC754B394618094BB5382E7CBCA2CA2
C2EE5E95B845329FDA61E6937F107CEF3E8E726C6BE6F3891E7FAA25011B1C70
59F80F8031DEE7B78236D2ECA3EF80238EE02FE3A95D9DEB4F931955CB34CC08
6DE94B6292D8C4D5C12E92FDBCDD0F589733D9055DCE26C36B5CC73FF8379D6A
ED60D997AD3461F73F0FBEA5D023232480BDE91BEF4BA3DA059B46C942715636
BC45DFABDB7A6A8614352AFAF014E9B8C652D665B4F6ECC90657A607BCCADFE2
3A70D5402880BB9CB48F6143CD32F215A827E9ED4638162D4203E9B83ECA315B
CDBFEC513F0568B6CC12F7636ABE06350B80A945EC648AB30EF75F80F287F8FC
B0E47011CC91491CF0A71BC321F1398F73D3E88CE04C4BDEED09D62A50B93EAC
7A5EE1419A039461978598B6AEBBD06C1D4C8B64E36CDFEC37CB3E33C3DFF893
34B74562630F09DA2C2A0CEE568509E2B5E87C6BCD94DAD19BD048A9A55D7D4B
3C4C8ABA6E722FB1399B19FF675FCE4124C687C6A65A897C63E2160B0D692A30
42DDFB98435369877E8B240F8A0CC7AAE55EE991C6A072CDEB5DF7A246217AD0
BFFC839783BAAB3D9B2D33FDF7AB76D1BE4F5BBFCC0EF0CBAEB9C4633F1090D9
1F736327703DDE5E0852779285A2CBF64444AEDA852C0F60D4AAC0BEF441C804
5A42B16E3BE844F3C4F66F2446ECD5E0EA94E2193E0169BD5BDB4E3C49BEA522
394DD6F62B3ABA9717A9C3F09787CE52652BFAC954C33D41EC43C2660D2A0AEF
84BC6CA657BAC831ACF2CA77AA5CE4C17E4FDDC46F182F1C245DE0C2B802C37A
2DB308A33FE3E22D3E404CD269A5B2E5C2B41268F7E2CDD2EE2A1EA9B2E75BB4
6EB1408EF8E71B09FA24526EE0A41593AAC76659FF0CC2A6134A73012A7F15D0
FA2E9BD56E1B9EA636A623CDB3E8634EC4C07308E062743455863C775C079792
6D322856488CAA7D1C63D7B4037342EC9284BA9DDCA3F77D995C846896F667DB
37E50848569A7DE7EC42F0CA3462700CF8997B217E81330443A2E3CF545D8373
85C93554F8AD6DBAA487E34B9444715B3BF3ABEB9501E530EE55684F9A2B071F
4956AA664B76BEF94A6138F1921C260679DB8162CD9DEDB05000609E868F8AE9
DA47A62237DCE052F2C612
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
cleartomark
%%EndFont
TeXDict begin 40258431 52099146 1000 600 600 (Scalable_quorums.dvi)
@start /Fa 228[36 11[26 15[{}2 49.8132 /CMMI6 rf /Fb
145[46 94[31 15[{}2 74.7198 /CMMI9 rf /Fc 206[38 49[{}1
74.7198 /CMR9 rf /Fd 206[25 49[{TeXBase1Encoding ReEncodeFont}1
49.8132 /Times-Roman rf /Fe 205[30 30 49[{}2 49.8132
/CMR6 rf /Ff 206[33 49[{TeXBase1Encoding ReEncodeFont}1
66.4176 /Times-Roman rf /Fg 165[61 7[66 82[{}2 90.9091
/MSBM10 rf /Fh 142[91 91 23[131 7[96 44[53 53 14[67 67
18[{}8 90.9091 /CMEX10 rf /Fi 103[55 29[55 55 55 55 55
1[55 55 55 1[55 55 55 55 55 2[55 55 55 1[55 55 55 55
55 13[55 6[55 2[55 7[55 6[55 10[55 55 55 55 44[{
TeXBase1Encoding ReEncodeFont}31 90.9091 /Courier rf
/Fj 133[44 50 50 72 1[55 33 39 44 1[55 50 55 83 28 55
1[28 55 50 33 44 55 44 55 50 10[72 1[66 55 72 78 61 78
72 94 8[72 72 66 72 6[33 5[50 50 50 50 2[25 33 45[{
TeXBase1Encoding ReEncodeFont}43 99.6264 /Times-Bold
rf /Fk 152[38 38 101[60{}3 74.7198 /CMSY9 rf /Fl 133[33
37 1[54 37 37 21 29 25 1[37 37 37 58 21 2[21 37 37 25
33 37 33 37 33 25 7[54 71 1[54 46 42 50 1[42 1[54 66
1[54 29 25 3[46 54 50 1[54 69 8[37 37 4[37 37 21 19 1[19
2[25 25 25 39[{TeXBase1Encoding ReEncodeFont}50 74.7198
/Times-Roman rf /Fm 133[29 29 72[18 44[32 3[{}4 49.8132
/CMSY6 rf /Fn 138[41 2[32 1[36 1[43 62 1[37 29 24 2[34
33 36 31 1[37 29 12[43 9[31 1[55 38[46 4[40 1[41 1[35
42 5[31 1[31 14[{}24 66.4176 /CMMI8 rf /Fo 144[35 2[20
4[35 41[55 8[35 35 35 35 5[55 1[27 27 29[51 10[{}12 66.4176
/CMR8 rf /Fp 135[48 5[36 1[51 45 1[76 25 4[45 1[40 51
2[45 3[25 1[25 10[62 18[71 2[25 1[45 45 45 45 45 45 45
45 45 4[71 1[35 35 29[66 1[66 5[71 2[{}30 90.9091 /CMR10
rf /Fq 143[76 5[25 2[45 45 7[61 1[61 8[55 77 25[51 1[0
3[61 91 7[91 7[91 6[71 2[71 1[71 71 1[71 2[45 12[71 25
71{}23 90.9091 /CMSY10 rf /Fr 134[45 52 1[44 52 33 43
41 1[46 1[55 2[47 37 31 2[45 42 47 39 39 48 38 7[75 2[62
53 56 69 2[69 73 4[40 1[71 58 67 1[65 1[68 2[71 45 71
25 25 22[54 1[57 59 1[54 2[52 1[52 1[45 55 5[40 1[40
1[51 58 11[{}49 90.9091 /CMMI10 rf /Fs 104[81 28[35 40
40 61 40 45 25 35 35 45 45 45 45 66 25 40 25 25 45 45
25 40 45 40 45 45 9[76 56 1[51 45 56 1[56 66 61 76 51
1[40 30 1[66 56 56 66 61 1[56 6[30 45 45 1[45 2[45 45
45 45 1[23 30 23 2[30 30 30 36[45 2[{TeXBase1Encoding ReEncodeFont}60
90.9091 /Times-Italic rf /Ft 134[45 45 66 45 51 30 35
40 1[51 45 51 76 25 51 1[25 51 45 30 40 51 40 51 45 9[91
66 1[61 3[56 71 66 86 61 1[45 35 2[56 1[66 66 1[66 7[45
45 45 45 45 45 45 45 45 45 25 23 4[30 30 37[51 2[{
TeXBase1Encoding ReEncodeFont}52 90.9091 /Times-Bold
rf /Fu 105[45 27[40 45 45 66 45 45 25 35 30 45 45 45
45 71 25 45 25 25 45 45 30 40 45 40 45 40 30 2[30 1[30
1[66 1[86 66 66 56 51 61 66 51 66 66 81 56 66 35 30 66
66 51 56 66 61 61 66 1[40 3[25 25 45 45 45 45 45 45 45
45 45 45 25 23 30 23 2[30 30 30 35[51 51 2[{
TeXBase1Encoding ReEncodeFont}76 90.9091 /Times-Roman
rf /Fv 134[60 2[60 66 40 47 53 1[66 60 66 100 33 2[33
66 60 40 53 66 53 1[60 12[80 66 86 93 73 93 86 113 80
2[47 4[86 86 1[86 11[60 60 60 60 60 2[30 46[{
TeXBase1Encoding ReEncodeFont}38 119.552 /Times-Bold
rf /Fw 134[37 4[23 32 4[42 60 3[23 42 4[37 1[42 16[51
11[60 68[{TeXBase1Encoding ReEncodeFont}11 83.022 /Times-Italic
rf /Fx 133[37 42 42 60 42 42 23 32 28 42 42 42 42 65
23 42 23 23 42 42 28 37 42 37 42 37 3[28 1[28 3[78 2[51
4[60 60 27[42 42 2[21 28 21 41[46 2[{TeXBase1Encoding ReEncodeFont}38
83.022 /Times-Roman rf /Fy 139[28 32 37 14[37 46 42 31[60
65[{TeXBase1Encoding ReEncodeFont}7 83.022 /Times-Bold
rf /Fz 133[31 31 8[59 23[50 37[47 71 19 44[35 2[55{}9
66.4176 /CMSY8 rf /FA 141[33 2[50 50 4[28 3[44 50 2[44
9[94 1[72 6[72 89 77[{TeXBase1Encoding ReEncodeFont}11
99.6264 /Times-Roman rf /FB 252[50 3[{}1 99.6264 /CMSY10
rf /FC 134[72 3[72 40 56 48 2[72 72 112 40 2[40 3[64
72 64 72 64 13[80 1[104 12[104 68[{TeXBase1Encoding ReEncodeFont}18
143.462 /Times-Roman rf end
%%EndProlog
%%BeginSetup
%%Feature: *Resolution 600dpi
TeXDict begin
%%BeginPaperSize: Letter
letter
%%EndPaperSize
end
%%EndSetup
%%Page: 1 1
TeXDict begin 1 0 bop 790 456 a FC(Scalable)34 b(and)h(Dynamic)f
(Quorum)g(Systems)3111 404 y FB(\003)1270 708 y FA(Moni)24
b(Naor)1710 672 y Fz(y)-6 b(z)2142 708 y FA(Udi)24 b(W)l(ieder)2630
672 y Fz(z)1796 1121 y Fy(Abstract)352 1268 y Fx(W)-7
b(e)25 b(in)m(v)o(estigate)e(issues)i(related)f(to)g(the)g(probe)f
(comple)o(xity)f(of)i(quorum)e(systems)j(and)f(their)g(implementation)
227 1367 y(in)e(a)g(dynamic)e(en)m(vironment.)27 b(Our)21
b(contrib)n(ution)f(is)i(tw)o(ofold.)29 b(The)21 b(\002rst)h(re)o
(gards)e(the)i(algorithmic)e(comple)o(xity)g(of)227 1467
y(\002nding)h(a)i(quorum)d(in)j(case)f(of)g(random)f(f)o(ailures.)31
b(W)-7 b(e)23 b(sho)n(w)f(a)h(tradeof)n(f)e(between)g(the)h(load)g(of)g
(a)h(quorum)d(system)227 1567 y(and)i(its)i(probe)d(comple)o(xity)g
(for)g(non)h(adapti)n(v)o(e)f(algorithms.)31 b(W)-7 b(e)24
b(analyze)d(the)i(algorithmic)e(probe)g(comple)o(xity)g(of)227
1666 y(the)f Fw(P)-7 b(aths)20 b Fx(quorum)e(system)i(suggested)f(by)g
(Naor)h(and)f(W)-7 b(ool)20 b(in)h([21)n(],)f(and)f(present)h(tw)o(o)g
(optimal)f(algorithms.)24 b(The)227 1766 y(\002rst)17
b(is)f(a)g(non)f(adapti)n(v)o(e)f(algorithm)f(that)j(matches)f(our)g
(lo)n(wer)g(bound.)22 b(The)15 b(second)f(is)j(an)e(adapti)n(v)o(e)f
(algorithm)g(with)i(a)227 1865 y(probe)h(comple)o(xity)e(that)j(is)g
(linear)g(in)g(the)f(cardinality)f(of)i(the)g(smallest)g(quorum)d(set.)
25 b(W)-7 b(e)19 b(supply)e(a)h(constant)f(de)o(gree)227
1965 y(netw)o(ork)f(in)h(which)f(these)h(algorithms)e(could)h(be)h(e)o
(x)o(ecuted)e(ef)n(\002ciently)-5 b(.)22 b(Thus)16 b(the)h
Fw(P)-7 b(aths)17 b Fx(quorum)d(system)j(is)h(sho)n(wn)227
2065 y(to)g(ha)n(v)o(e)f(good)f(balance)g(between)h(man)o(y)f(measures)
h(of)g(quality)-5 b(.)23 b(Our)17 b(second)g(contrib)n(ution)e(is)j
(presenting)e Fw(Dynamic)227 2164 y(P)-7 b(aths)25 b
Fx(-)g(a)g(suggestion)e(for)h(a)i(dynamic)d(and)h(scalable)g(quorum)f
(system,)j(which)e(can)g(operate)g(in)h(an)f(en)m(vironment)227
2264 y(where)19 b(elements)f(join)h(and)f(lea)n(v)o(e)h(the)g(system.)
24 b(The)19 b(quorum)e(system)i(could)f(be)g(vie)n(wed)h(as)g(a)g
(dynamic)f(adaptation)227 2364 y(of)23 b(the)f Fw(P)-7
b(aths)23 b Fx(system,)h(and)e(therefore)f(has)i(lo)n(w)f(load)h(high)f
(a)n(v)n(ailability)g(and)g(good)f(probe)h(comple)o(xity)-5
b(.)30 b(W)-7 b(e)24 b(sho)n(w)227 2463 y(that)d(it)f(scales)h
(gracefully)e(as)i(the)f(number)e(of)i(elements)g(gro)n(ws.)0
2754 y Fv(1)119 b(Intr)n(oduction)31 b(and)g(Moti)o(v)o(ation)0
2961 y Fu(Quorum)21 b(systems)i(serv)o(e)f(as)f(a)g(basic)h(tool)g(pro)
o(viding)i(a)c(uniform)j(and)e(reliable)i(w)o(ay)e(to)h(achie)n(v)o(e)g
(coordination)j(between)0 3074 y(processors)h(in)e(a)f(distrib)n(uted)k
(system.)i(Quorum)24 b(systems)h(are)e(de\002ned)i(as)e(follo)n(ws:)0
3252 y Ft(De\002nition)e(1.)40 b Fs(Let)21 b Fr(U)32
b Fs(be)22 b(a)g(univer)o(se)i(of)e Fr(n)f Fs(elements.)30
b(A)21 b(set)h(system)h Fq(S)32 b Fp(=)25 b Fq(f)p Fr(S)2530
3266 y Fo(1)2569 3252 y Fr(;)15 b(S)2665 3266 y Fo(2)2705
3252 y Fr(;)g(:)g(:)g(:)i(;)e(S)2963 3266 y Fn(m)3029
3252 y Fq(g)22 b Fs(is)g(said)h(to)f(be)g(a)g Fu(quorum)0
3365 y(system)j Fs(o)o(ver)h(the)f(univer)o(se)i Fr(U)34
b Fs(if)24 b Fq(8)p Fr(i)g(S)1259 3379 y Fn(i)1314 3365
y Fq(\022)j Fr(U)34 b Fs(and)26 b Fq(8)p Fr(i;)15 b(j)29
b(S)1913 3379 y Fn(i)1962 3365 y Fq(\\)21 b Fr(S)2100
3379 y Fn(j)2164 3365 y Fq(6)p Fp(=)27 b(\010)p Fs(.)k(Eac)o(h)24
b(set)h Fr(S)2772 3379 y Fn(i)2824 3365 y Fs(is)g(r)m(eferr)m(ed)h(to)e
(as)h(a)f Fu(quorum)i(set)0 3478 y Fs(or)e(simply)g(as)f(a)g
Fu(quorum)p Fs(.)141 3656 y Fu(Quorum)k(systems)g(ha)n(v)o(e)h(been)f
(used)g(in)g(the)f(study)i(of)f(distrib)n(uted)i(control)g(and)e
(management)h(problems)g(such)f(as)0 3769 y(mutual)d(e)o(xclusion)h
(\(c.f)e([7)q(],[26)q(]\),)g(data)h(replication)i(protocols)f(\(c.f)e
([7)q(]\))g(and)h(secure)g(access)h(control)g(\([20)q(]\).)j(In)23
b(man)o(y)0 3882 y(applications)32 b(of)d(quorum)g(systems)h(the)f
(underlying)i(uni)n(v)o(erse)g(is)d(associated)j(with)e(a)f(netw)o(ork)
i(of)e(processors,)33 b(and)c(a)0 3995 y(quorum)c(is)e(emplo)o(yed)j
(by)e(accessing)i(each)f(of)f(its)f(elements.)31 b(F)o(or)23
b(e)o(xample,)i(in)e(a)h(typical)h(implementation)i(of)c(mutual)0
4108 y(e)o(xclusion)35 b(using)e(quorum)h(systems,)h(processors)g
(request)f(access)g(to)e(the)h(critical)h(section)g(from)e(all)h
(members)f(of)h(a)0 4221 y(quorum.)55 b(A)31 b(processor)k(can)d(enter)
h(its)f(critical)i(section)g(only)e(if)g(it)g(recei)n(v)o(es)h
(permission)i(from)d(all)g(processors)j(in)d(a)0 4334
y(quorum.)h(The)25 b(intersection)j(property)f(guarantees)h(the)d(inte)
o(grity)h(of)f(the)g(mutual)h(inclusion.)35 b(In)24 b(a)h(typical)h
(application)0 4447 y(of)35 b(data)h(replication,)k(the)c(quorum)g
(sets)f(are)h(di)n(vided)g(into)g(reading)h(quorums)f(and)g(writing)g
(quorums)g(where)f(each)0 4560 y(reading)27 b(quorum)g(intersects)g
(each)f(writing)h(quorum.)35 b(When)25 b(a)g(data)h(item)f(is)h(added)g
(to)f(the)h(system,)g(it)f(is)g(written)i(into)0 4672
y(all)k(the)g(members)g(of)f(a)g(writing)i(quorum.)50
b(A)30 b(data)h(item)f(is)h(searched)i(by)d(querying)j(all)e(the)g
(members)g(of)f(a)g(reading)0 4785 y(quorum.)g(The)23
b(intersection)k(property)f(guarantees)g(the)e(ef)n(fecti)n(v)o(eness)i
(of)e(the)g(search.)30 b(W)-7 b(e)23 b(in)l(v)o(estigate)j(tw)o(o)d
(aspects)i(of)0 4898 y(quorum)g(systems:)p 0 4976 1560
4 v 99 5029 a Fm(\003)134 5061 y Fl(Research)20 b(supported)g(in)f
(part)g(by)g(the)g(RAND/APX)f(grant)h(from)g(the)g(EU)f(Program)h(IST)
102 5123 y Fm(y)134 5155 y Fl(Incumbent)i(of)e(the)g(Judith)g(Kleeman)g
(Professorial)g(Chair)l(.)102 5217 y Fm(z)134 5249 y
Fl(Department)31 b(of)g(Computer)g(Science)f(and)h(Applied)g
(Mathematics,)j(The)c(W)-6 b(eizmann)31 b(Institute)f(of)g(Science.)58
b(Reho)o(v)o(ot)30 b(76100)i(Israel.)0 5340 y Fk(f)p
Fl(naor)m(,uwieder)p Fk(g)p Fl(@wisdom.weizmann.ac.il)1927
5589 y Fu(1)p eop end
%%Page: 2 2
TeXDict begin 2 1 bop 114 91 a Fu(1.)45 b(It)22 b(is)f(often)i(assumed)
g(that)g(processors)i(can)d(someho)n(w)g(\002nd)f(and)i(communicate)h
(with)d(one)h(another)-5 b(.)30 b(W)-7 b(e)21 b(analyze)227
204 y(algorithms)j(for)f(\002nding)f(quorum)h(systems)h(in)d(a)h
(distrib)n(uted)j(netw)o(ork)f(while)e(taking)h(into)g(account)h(the)e
Fs(network)227 317 y(implementation)p Fu(;)39 b(i.e.)53
b(the)32 b(netw)o(ork)g(and)g(the)g(quorum)h(system)f(should)i(be)d
(compatible)j(such)f(that)f(elements)227 430 y(from)26
b(the)g(same)f(quorum)i(are)e(connected)k(to)c(one)h(another)-5
b(.)37 b(W)-7 b(e)24 b(supply)k(algorithms)f(for)f(\002nding)g(a)f
(quorum)i(set)227 543 y(\(e)n(v)o(en)g(in)f(the)h(case)g(of)f(f)o
(ailures\))j(and)e(analyze)h(there)f(running)i(time)d(and)h
(communication)i(comple)o(xity)-6 b(.)39 b(In)27 b(this)227
656 y(setting)e(non-adapti)n(v)o(e)i(algorithms)f(are)e(attracti)n(v)o
(e)h(since)f(the)o(y)g(could)h(be)f(e)o(x)o(ecuted)h(in)e(parallel.)114
844 y(2.)45 b(The)25 b(setting)h(in)f(which)h(the)f(quorum)h(operates)h
(is)e(often)h(dynamic,)g(and)f(should)i(accommodate)g(changes)g(in)e
(the)227 956 y(quorum)g(system)f(o)o(v)o(er)g(time.)k(See)23
b(for)h(instance)i([14)q(],[26)q(].)j(W)-7 b(e)22 b(address)k(the)d
(problem)i(of)f(designing)i(a)d(quorum)227 1069 y(system)i(that)f(is)f
(\002t)g(for)g(a)g(scalable)j(and)e(dynamic)h(en)l(vironment)h(where)e
(processors)j(lea)n(v)o(e)d(and)g(join)g(at)g(will.)0
1319 y Fj(1.1)99 b(Scalable)25 b(Dynamic)g(Data)g(Structur)n(es)i(-)e
(P2P)0 1493 y Fu(Recently)30 b(a)d(ne)n(w)h(approach)j(for)d
(construction)k(of)c(dynamic)i(distrib)n(uted)h(data)e(structures)i(on)
d(o)o(v)o(erlay)i(netw)o(orks)g(w)o(as)0 1606 y(suggested,)39
b(which)c(of)n(fers)g(e)o(xcellent)h(scalability)-6 b(.)63
b(The)34 b(main)g(moti)n(v)n(ation)i(for)e(this)h(line)g(of)f(research)
i(comes)e(from)0 1719 y(the)h(rise)g(in)g(popularity)j(of)c(P2P)g
(application,)40 b(therefore)d(the)e(attention)i(w)o(as)e(put)g(on)g
(the)g(construction)j(distrib)n(uted)0 1832 y(hash)30
b(tables)g(\(c.f)e([19)q(],[16)r(],)h([27)q(],)g([25)q(]\).)44
b(In)29 b(these)h(w)o(orks)f(an)g(o)o(v)o(erlay)h(netw)o(ork)g(is)e(b)n
(uilt)i(dynamically)-6 b(.)47 b(Processors)0 1944 y(may)26
b(f)o(ail)g(\(with)g(some)g(probability\))k(and)c(are)g(allo)n(wed)h
(to)f(join)g(and)g(lea)n(v)o(e.)37 b(Each)26 b(processor)j(holds)e
(some)f(data)g(items.)0 2057 y(The)33 b(construction)j(in)d([19)r(])f
(for)h(instance,)38 b(guarantees)e(that)d(an)o(y)g(data)h(item)f(could)
h(be)f(found)i(in)e(logarithmic)i(time,)0 2170 y(while)28
b(imposing)i(small)e(load)h(on)f(e)n(v)o(ery)h(processor)-5
b(.)44 b(In)28 b(this)h(paper)g(we)e(suggest)j(quorum)f(systems)g(that)
g(operate)h(in)e(a)0 2283 y(dynamic)c(peer)n(-to-peer)j(model.)i(W)-7
b(e)22 b(combine)i(techniques)i(de)n(v)o(eloped)f(in)d(these)i(papers,)
h(mainly)e([19)q(])g(and)g([25)q(],)f(with)0 2396 y(appropriate)27
b(quorum)e(systems,)g(and)f(pro)o(vide)h(the)f(distrib)n(uted)j
(algorithms)f(for)e(\002nding)h(the)f(quorums.)31 b(W)-7
b(e)23 b(allo)n(w)h(tw)o(o)0 2509 y(types)h(of)e(e)n(v)o(ents:)114
2697 y(1.)45 b(A)21 b(Processor)i(may)f(temporarily)i(f)o(ail)e
(\(halt\).)29 b(The)21 b(f)o(ailure)j(of)d(a)h(processor)i(occurs)f
(with)f(some)g(\002x)o(ed)f(probability)227 2810 y(and)27
b(is)f(independent)j(from)d(f)o(ailures)i(of)e(other)h(processors)i(in)
d(the)h(netw)o(ork.)37 b(It)26 b(is)g(desired)i(that)f(the)f
(probability)227 2922 y(that)e(a)f(li)n(v)o(e)h(quorum)g(is)g(found)h
(be)e(as)h(high)g(as)f(possible.)114 3110 y(2.)45 b(Processors)35
b(may)d(wish)h(to)g(join)g(the)g(system)h(or)e(to)h(lea)n(v)o(e)h(it)e
(\(a)h(long)g(term)g(f)o(ailure)h(of)f(a)f(processor)j(could)f(be)227
3223 y(re)o(garded)c(as)e(if)g(the)g(processor)j(left)d(the)h
(system\).)43 b(It)28 b(is)g(desired)i(that)e(the)h(quorum)g(sets)f(be)
h(updated)h(such)f(that)227 3336 y(these)c(processors)h(are)e
(included/e)o(xcluded)29 b(from)23 b(the)h(system.)0
3585 y Fj(1.2)99 b(Measur)n(es)26 b(of)f(Quality)0 3759
y Fu(The)e(metrics)i(that)g(measure)g(the)f(quality)i(of)e(a)f(dynamic)
i(quorum)g(system)g(relate)g(both)g(to)e(its)i Fs(combinatorial)i
Fu(structure)0 3872 y(and)i(to)e(its)i(capability)h(of)e(being)i
(implemented)g(in)e(a)f(distrib)n(uted)32 b(netw)o(ork.)43
b(The)28 b(follo)n(wing)h(metrics)g(were)f(analyzed)0
3985 y(by)c(Naor)f(and)h(W)-7 b(ool)24 b(in)f([21)q(])g(and)h(are)g
(used)g(to)g(measure)g(the)g(quality)h(of)f(static)h(systems)f(as)g
(well.)136 4173 y Fq(\017)46 b Fi(Load)53 b(-)h Fu(A)23
b(strate)o(gy)i(is)f(a)f(distrib)n(ution)28 b(o)o(v)o(er)c(quorum)g
(sets,)h(gi)n(ving)g(each)f(quorum)h(set)f(an)g(access)h(probability)
227 4286 y(\(i.e.)37 b(the)26 b(probability)k(by)c(which)g(it)g(is)g
(accessed)j(by)d(the)g(user\).)38 b(A)25 b(strate)o(gy)j(induces)g(a)d
(load)i(on)g(each)f(element,)227 4399 y(which)d(is)f(the)h(sum)f(of)g
(the)g(probabilities)k(of)d(quorums)g(it)f(belongs)j(to.)j(This)22
b(represents)j(the)d(fraction)j(of)d(the)g(time)227 4512
y(an)28 b(element)i(is)d(used.)44 b(F)o(or)27 b(a)h(gi)n(v)o(en)g
(quorum)h(system)g Fq(S)7 b Fu(,)28 b(the)h(load)g Fr(\020)7
b Fp(\()p Fq(S)g Fp(\))27 b Fu(is)h(the)g(minimal)h(load)g(on)f(the)g
(b)n(usiest)227 4624 y(element,)h(minimizing)f(o)o(v)o(er)f(the)g
(strate)o(gies.)41 b(The)27 b(load)g(measures)i(the)e(quality)i(of)d
(the)i(quorum)f(system)h(in)f(the)227 4737 y(follo)n(wing)34
b(sense:)47 b(if)32 b(the)g(load)g(is)g(lo)n(w)-6 b(,)33
b(then)g(each)g(element)g(is)f(accessed)i(rarely)-6 b(,)35
b(thus)d(it)g(is)g(free)g(to)g(perform)227 4850 y(other)i(unrelated)g
(tasks.)56 b(If)32 b(the)h(quorum)g(is)g(used)g(for)f(replication)k(of)
c(data)h(then)g(the)f(load)h(of)g(a)e(processor)k(is)227
4963 y(proportional)29 b(to)c(the)g(amount)h(of)f(data)h(it)e(holds.)35
b(Let)24 b Fr(c)g Fu(be)h(the)h(cardinality)i(of)d(the)g(smallest)h
(quorum)g(set.)33 b(Naor)227 5076 y(and)24 b(W)-7 b(ool)24
b(pro)o(v)o(e)g(in)f([21)q(])g(the)h(follo)n(wing)h(lemma:)227
5264 y Ft(Lemma)20 b(2.)36 b Fs(The)20 b(load)h(of)g(a)f(quorum)h
(system)g(is)f(always)h(at)f(least)h Fp(max)p Fq(f)2563
5228 y Fo(1)p 2563 5243 36 4 v 2565 5295 a Fn(c)2609
5264 y Fr(;)2666 5228 y Fn(c)p 2659 5243 43 4 v 2659
5295 a(n)2712 5264 y Fq(g)f Fs(whic)o(h)g(implies)i(that)e
Fr(\020)7 b Fp(\()p Fq(S)g Fp(\))26 b Fq(\025)3799 5228
y Fo(1)p 3766 5243 102 4 v 3766 5252 a Fz(p)p 3824 5252
43 3 v 3824 5300 a Fn(n)3877 5264 y Fs(.)1927 5589 y
Fu(2)p eop end
%%Page: 3 3
TeXDict begin 3 2 bop 136 91 a Fq(\017)46 b Fi(Availability)j(-)34
b Fu(Assuming)j(that)f(each)g(element)g(f)o(ails)g(with)f(probability)k
Fr(p)p Fu(,)e(what)e(is)g(the)h(probability)227 204 y
Fr(F)285 218 y Fn(p)325 204 y Fu(,)30 b(that)h(the)f(survi)n(ving)i
(elements)f(do)e(not)h(contain)i(an)o(y)e(quorum?)48
b(This)30 b(f)o(ailure)h(probability)i(measures)e(ho)n(w)227
317 y(resilient)26 b(the)e(system)g(is,)f(and)h(we)f(w)o(ould)h(lik)o
(e)g Fr(F)1806 331 y Fn(p)1869 317 y Fu(to)f(be)h(as)f(small)h(as)g
(possible.)0 505 y(The)30 b(Load)g(is)f(especially)k(important)f(if)e
(the)g(application)j(of)d(the)g(quorum)h(system)g(in)l(v)n(olv)o(es)i
(replication)g(of)c(data.)49 b(In)0 618 y(this)34 b(case)g(the)f(load)h
(is)f(proportional)k(to)c(the)g(fraction)i(of)f(data)f(each)h(element)g
(has)g(to)f(hold,)j(and)e(therefore)h(smaller)0 731 y(load)25
b(means)g(that)g(each)g(processor)i(needs)f(to)e(allocate)i(a)e
(smaller)h(amount)h(of)e(memory)-6 b(.)32 b(The)24 b(notion)h(of)g(a)n
(v)n(ailability)i(is)0 844 y(important)i(when)e(dealing)i(with)e
Fs(tempor)o(ary)h(faults)p Fu(.)40 b(The)27 b(most)g(common)g(strate)o
(gy)i(to)e(deal)h(with)f(f)o(aults)h(is)f(to)g Fs(bypass)0
956 y Fu(them;)d(i.e.)k(\002nd)23 b(a)g(quorum)i(set)f(for)f(which)h
(all)g(processors)i(are)e(ali)n(v)o(e.)29 b(This)23 b(introduces)k(the)
d(follo)n(wing)h(notion:)136 1144 y Fq(\017)46 b Fi(Algorithmic)k
(probe)i(complexity)26 b Fu(-)31 b(The)f(comple)o(xity)j(of)e(the)h
(algorithms)h(for)e(\002nding)h(a)f(quorum)227 1257 y(should)f(be)f(lo)
n(w)-6 b(.)42 b(Ev)o(en)28 b(if)g(all)g(processors)k(are)c(ali)n(v)o(e)
h(the)f Fs(network)j Fu(should)f(allo)n(w)f(easy)g(access)g(to)g
(elements)g(of)227 1370 y(the)34 b(same)f(quorum)h(system.)57
b(In)33 b(case)h(some)f(elements)h(f)o(ail,)i(\002nding)e(a)e(li)n(v)o
(e)h(quorum)h(set)f(can)h(be)f(a)f(dif)n(\002cult)227
1483 y(algorithmic)d(task.)37 b(Pele)o(g)25 b(and)i(W)-7
b(ool)26 b(analyzed)i(in)e([23)q(])g(the)g(probe)h(comple)o(xity)h(of)e
(se)n(v)o(eral)h(quorum)g(systems.)227 1596 y(The)o(y)33
b(assume)h(that)g(an)g(adv)o(ersary)h(decided)g(which)f(elements)h(f)o
(ail)e(and)h(analyzed)i(the)d(number)i(of)e(elements)227
1709 y(needed)f(to)e(be)g(probed)i(before)g(either)f(a)f(li)n(ving)h
(quorum)g(is)f(found)h(or)f(an)h(e)n(vidence)h(for)e(the)g(lack)h(of)f
(it.)49 b(The)o(y)227 1822 y(assume)22 b(that)f(each)h(probing)g(tak)o
(es)g Fr(O)s Fp(\(1\))p Fu(;)g(i.e.)28 b(the)o(y)21 b(ignore)h(the)f
(comple)o(xity)i(caused)f(by)f(the)g(implementation)i(of)227
1934 y(the)h(netw)o(ork.)29 b(Hassin)24 b(and)f(Pele)o(g)g(e)o(xtend)h
(these)g(results)h(in)e([10)q(])f(to)h(the)g(case)h(where)f(each)h
(processor)i(f)o(ails)d(with)227 2047 y(some)g(\002x)o(ed)e
(probability)26 b(.)h(The)22 b Fs(Algorithmic)i(pr)l(obe)f(comple)n
(xity)h Fu(is)e(the)h(actual)g(time)f(and)h(message)g(comple)o(xity)227
2160 y(needed)29 b(to)e(\002nd)g(a)f(li)n(v)o(e)h(quorum.)41
b(It)27 b(is)g(determined)i(by)e(the)h Fs(network)h Fu(and)f(by)f(the)g
(quorum)i(system.)40 b(A)26 b(related)227 2273 y(term)18
b(is)g(the)h Fs(Cost)f(of)g(F)-7 b(ailur)m(es)19 b Fu(introduced)i(by)d
(Bazzi)h([4].)27 b(Gi)n(v)o(en)18 b(a)f(netw)o(ork)j(implementation)h
(and)d(an)g(algorithm)227 2386 y(for)30 b(\002nding)g(quorums,)h(the)f
(cost)f(for)h(f)o(ailures)h(measures)f(the)g(a)n(v)o(erage)h
(communication)h(o)o(v)o(erhead)e(caused)h(by)227 2499
y(encountering)d(a)23 b(f)o(aulty)i(processor)-5 b(.)141
2687 y(The)23 b(introduction)k(of)d(a)f(dynamic)i(en)l(vironment)h
(requires)g(another)f(set)f(of)f(demands:)136 2874 y
Fq(\017)46 b Fi(Integrity)p Fu(-)22 b(A)j(ne)n(w)g(processor)k(that)d
(joins)h(the)f(system,)i(and)e(a)g(processor)i(that)f(lea)n(v)o(es)g
(the)f(system,)i(should)227 2987 y(change)33 b(the)f(quorum)g(sets.)53
b(The)31 b(inte)o(grity)i(of)e(the)h(system)g(should)h(be)e(preserv)o
(ed)j(in)d(tw)o(o)g(aspects:)47 b(First)31 b(the)227
3100 y(intersection)j(property)f(must)d(hold.)50 b(Bearden)32
b(and)f(Bianchini)h(suggest)g(in)f([5])f(a)g(protocol)j(for)e(an)f
(online)i(ad-)227 3213 y(justment)e(of)e(quorum)i(systems)f(without)h
(compromising)g(the)f(inte)o(grity)h(of)f(the)f(intersection)k
(property)f Fs(during)227 3326 y Fu(the)23 b(adaptation.)32
b(It)22 b(is)h(necessary)i(that)f(the)f(adaptations)j(themselv)o(es)e
(do)f(not)g(corrupt)i(the)e(intersection)j(property)227
3439 y(of)i(the)f(quorum)i(system;)h(i.e.)40 b(that)28
b(the)g(intersection)j(property)f(holds)e(after)g(the)g(adaptations)j
(took)d(place.)42 b(The)227 3552 y(second)27 b(aspect)g(is)e
(application)j(oriented.)36 b(Quorums)25 b(that)h(were)f(used)h(in)f
(the)h(past)g(\(say)f(for)h(mutual)g(e)o(xclusion\))227
3665 y(might)j(not)g(be)f(le)o(gal)h(quorum)h(sets)f(after)g(the)g
(adaptation.)46 b(It)28 b(is)g(necessary)k(that)d(when)f(an)h
(adaptation)i(occurs,)227 3778 y(the)24 b(intersection)j(guarantee)f
(that)e(the)g(quorum)h(system)f(supplies)i(the)d(application)k(is)c
(not)h(compromised.)136 3965 y Fq(\017)46 b Fi(Scalability)p
Fu(-)14 b(The)19 b(number)i(of)e(elements)i(in)f(the)g(quorum)g(system)
g(may)g(increase)h(o)o(v)o(er)f(time.)27 b(The)19 b(increase)227
4078 y(in)28 b(the)g(size)g(of)f(the)h(system)h(should)g(maintain)g
(the)f(good)g(qualities)i(of)e(it,)g(i.e.)41 b(it)27
b(should)i(decrease)h(the)e(load)g(on)227 4191 y(each)c(processor)i
(and)e(increase)i(the)d(a)n(v)n(ailability)k(of)c(the)h(system.)29
b(It)23 b(is)h(important)h(that)f(when)f(the)h(system)g(scales)227
4304 y(the)i(algorithmic)i(probe)f(comple)o(xity)g(w)o(ould)f(remain)h
(lo)n(w)-6 b(.)34 b(Finally)26 b(the)g(Join)g(and)g(Lea)n(v)o(e)g
(operation)i(should)f(be)227 4417 y(applied)f(with)d(lo)n(w)g(time)g
(and)h(message)h(comple)o(xity)-6 b(.)0 4666 y Fj(1.3)99
b(New)25 b(Results)g(and)h(P)o(aper)f(Or)o(ganization)0
4840 y Fu(The)32 b(paper)h(is)g(di)n(vided)g(into)g(tw)o(o)f(parts.)57
b(In)32 b(the)g(\002rst)g(part,)j(we)d(sho)n(w)g(a)g(tradeof)n(f)i
(between)f(the)g(load)g(and)g(the)f(non-)0 4953 y(adapti)n(v)o(e)i
(probe)g(comple)o(xity)h(of)e(quorum)h(systems)g(\(Section)g(2\),)g
(thus)g(pro)o(ving)h(a)d(lo)n(wer)h(bound)h(for)f(non-adapti)n(v)o(e)0
5066 y(probe)23 b(comple)o(xity)-6 b(.)30 b(In)22 b(Section)g(3)g(we)f
(sho)n(w)g(a)h(non-adapti)n(v)o(e)j(algorithm)e(for)f(\002nding)h(a)e
(quorum)i(in)e(the)h Fs(P)-7 b(aths)22 b Fu(quorum)0
5179 y(system)f(which)f(is)g(tight)h(in)f(that)h(respect.)29
b(W)-7 b(e)19 b(further)j(sho)n(w)d(an)i(adapti)n(v)o(e)g(algorithm)h
(for)e Fs(P)-7 b(aths)20 b Fu(with)g(a)g(probe)h(comple)o(x-)0
5292 y(ity)28 b(of)g Fr(O)s Fp(\()333 5226 y Fq(p)p 409
5226 55 4 v 66 x Fr(n)o Fp(\))p Fu(,)g(which)g(is)g(optimal)h(\(up)f
(to)g(constants\),)j(thus)d(combined)i(with)d(the)h(results)i(in)d([21)
r(])g(the)h(P)o(aths)f(system)1927 5589 y(3)p eop end
%%Page: 4 4
TeXDict begin 4 3 bop 0 91 a Fu(is)27 b(the)h(\002rst)f(system)i(sho)n
(wn)f(to)f(ha)n(v)o(e)h(an)g(e)o(xcellent)h(balance)h(between)e(man)o
(y)g(some)n(what)g(contradictory)j(measures)e(of)0 204
y(quality)-6 b(.)29 b(In)21 b(the)f(second)i(part)f(of)f(the)h(paper)g
(\(Section)g(4\))g(we)e(present)j(and)f(analyze)h Fs(Dynamic)f(P)-7
b(aths)p Fu(,)20 b(a)g(construction)k(for)0 317 y(a)d(dynamic)h(and)g
(scalable)h(quorum)f(system)g(which)g(could)g(be)g(vie)n(wed)f(as)g(a)g
(dynamic)i(adaptation)h(of)d(the)h Fs(P)-7 b(aths)21
b Fu(system.)0 430 y(T)-7 b(o)20 b(the)i(best)h(of)e(our)h(kno)n
(wledge)h Fs(Dynamic)f(P)-7 b(aths)22 b Fu(is)f(the)h(\002rst)f
(scalable)j(quorum)f(system)f(which)g(is)f(sho)n(wn)h(to)g(ha)n(v)o(e)g
(lo)n(w)0 543 y(load,)27 b(high)g(a)n(v)n(ailability)j(and)d(good)g
(probe)g(comple)o(xity)-6 b(.)39 b(Thus)26 b(it)g(is)g(an)h(e)o
(xcellent)h(candidate)h(for)d(an)g(implementation)0 656
y(of)d(quorums)i(in)f(a)f(dynamic)i(distrib)n(uted)i(netw)o(ork.)0
948 y Fv(2)119 b(Non)31 b(Adapti)o(v)o(e)f(Algorithms)g(vs.)36
b(Load)0 1155 y Fu(A)23 b(non)i(adapti)n(v)o(e)h(algorithm)h(for)d
(\002nding)i(a)e(li)n(v)o(e)g(quorum)i(is)e(an)g(algorithm)j(which)e
(decides)h(which)f(elements)h(to)e(probe)0 1268 y Fs(befor)m(e)j
Fu(it)e(gains)h(an)o(y)g(kno)n(wledge)h(as)f(to)f(which)h(elements)h(f)
o(ailed)g(and)f(which)f(did)h(not.)35 b(Non-adapti)n(v)o(e)28
b(algorithms)g(are)0 1381 y(important)i(in)e(the)g(conte)o(xt)i(of)d(a)
h(distrib)n(uted)j(netw)o(ork)f(since)f(the)o(y)f(are)g(easy)h(to)f
(implement)h(in)f(parallel.)44 b(It)28 b(might)g(be)0
1494 y(w)o(orthwhile)d(to)f(`pay')h(in)f(a)f(higher)j(message)f(comple)
o(xity)-6 b(,)26 b(and)e(reduce)h(the)f(total)h(time)f(comple)o(xity)i
(of)e(the)g(algorithm.)0 1607 y(As)d(an)g(illustrati)n(v)o(e)k(e)o
(xample)d(consider)i(a)d(quorum)i(system)f(in)g(which)g(only)2446
1542 y Fq(p)p 2522 1542 55 4 v 65 x Fr(n)e Fu(elements)j(participate)i
(in)c(quorum)i(sets.)0 1720 y(Clearly)h(querying)h(only)f(those)1033
1655 y Fq(p)p 1108 1655 V 1108 1720 a Fr(n)e Fu(elements)i(is)f(suf)n
(\002cient)h(to)f(\002nd)f(a)h(li)n(v)o(e)g(quorum.)29
b(The)23 b(dra)o(wback)h(of)e(this)i(approach)0 1870
y(is)32 b(that)h(the)f(load)h(on)f(these)h(elements)h(w)o(ould)e(be)g
(v)o(ery)h(high)g(\(Lemma)e(2)h(implies)h(that)g(it)f(w)o(ould)g(be)g
(at)g(least)h Fr(n)3733 1829 y Fz(\000)3798 1793 y Fo(1)p
3798 1808 36 4 v 3798 1860 a(4)3847 1870 y Fu(\).)0 1983
y(In)28 b(this)h(section)g(we)f(sho)n(w)f(a)h(tradeof)n(f)i(between)f
(the)f(load)h(of)f(a)g(quorum)h(system)g(and)f(its)g(probe)h(comple)o
(xity)h(for)f(non)0 2096 y(adapti)n(v)o(e)c(algorithms.)0
2283 y Ft(Theor)n(em)d(3.)40 b Fs(Let)21 b Fq(S)28 b
Fs(be)23 b(a)e(quorum)i(system)g(o)o(ver)g(univer)o(se)i
Fr(U)31 b Fs(with)22 b(a)g(load)h(of)f Fr(\020)31 b Fp(=)25
b Fr(\020)7 b Fp(\()p Fq(S)g Fp(\))p Fs(.)28 b(Assume)22
b(that)h(eac)o(h)f(element)0 2396 y(in)h Fr(U)33 b Fs(fails)25
b(with)e(some)g(\002xed)i(pr)l(obability)i Fr(p)p Fs(.)g(Let)c
Fr(X)33 b Fq(\022)25 b Fr(U)32 b Fs(be)24 b(a)f(pr)m(ede\002ned)j(set)e
(of)f(elements,)i(suc)o(h)f(that)1312 2635 y Fp(Pr[)p
Fr(X)30 b Fs(contains)c(a)d(live)h(quorum)r Fp(])h Fq(\025)2532
2573 y Fp(1)p 2532 2614 46 4 v 2532 2697 a(2)0 2859 y
Fs(then)1379 2998 y Fq(j)p Fr(X)7 b Fq(j)27 b(\025)1813
2936 y Fp(1)p 1643 2977 386 4 v 1643 3060 a(4)15 b(log)t(\(1)p
Fr(=p)p Fp(\))2059 2998 y Fq(\001)2114 2936 y Fp(log)s(\(1)p
Fr(=)p Fp(2)p Fr(\020)7 b Fp(\))p 2114 2977 371 4 v 2277
3060 a Fr(\020)2495 2998 y(:)0 3224 y Fs(In)23 b(particular)k(if)c
Fr(\020)7 b Fp(\()p Fq(S)g Fp(\))23 b Fs(is)g Fr(O)s
Fp(\()999 3188 y Fo(1)p 965 3203 102 4 v 965 3212 a Fz(p)p
1024 3212 43 3 v 48 x Fn(n)1077 3224 y Fp(\))g Fs(then,)h
Fq(j)p Fr(X)7 b Fq(j)24 b Fs(is)f Fp(\012\()1677 3158
y Fq(p)p 1753 3158 55 4 v 66 x Fr(n)15 b Fp(log)i Fr(n)p
Fp(\))p Fs(.)0 3427 y(Pr)l(oof)o(.)46 b Fu(Let)28 b Fq(S)474
3441 y Fz(X)566 3427 y Fu(be)g(all)h(the)g(quorum)g(sets)h(contained)h
(in)d Fr(X)7 b Fu(,)29 b(i.e.)44 b Fq(S)2235 3441 y Fz(X)2334
3427 y Fp(=)34 b Fq(f)p Fr(S)5 b Fq(j)p Fr(S)40 b Fq(2)34
b(S)d(^)24 b Fr(S)39 b Fq(\022)c Fr(X)7 b Fq(g)p Fr(:)29
b Fu(Let)f Fq(R)34 b Fp(=)h Fq(f)p Fr(R)g Fq(\022)0 3540
y Fr(X)7 b Fq(j)p Fr(R)23 b Fq(\\)e Fr(S)33 b Fq(6)p
Fp(=)c Fr(\036)24 b Fq(8)p Fr(S)33 b Fq(2)28 b(S)832
3554 y Fz(X)896 3540 y Fq(g)p Fu(,)d(i.e.)34 b Fq(R)24
b Fu(consists)k(of)d(all)g(the)h(sets)g(contained)i(in)d
Fr(X)32 b Fu(that)25 b(intersect)j(e)n(v)o(ery)e(quorum)g(in)f
Fq(S)3813 3554 y Fz(X)3877 3540 y Fu(.)0 3653 y(Finally)31
b(let)g Fr(a)38 b Fp(=)g Fq(j)p Fr(X)7 b Fq(j)p Fr(\020)g
Fu(.)49 b(Consider)32 b(a)e(distrib)n(ution)35 b(o)o(v)o(er)30
b(quorum)i(sets)f(which)g(imposes)g(the)g(optimal)h(load.)50
b(By)30 b(the)0 3766 y(intersection)c(property)-6 b(,)25
b(e)n(v)o(ery)e(time)g(a)f(quorum)i(is)f(chosen)h(it)e(implies)i(a)e
(choice)j(of)d(a)h(set)g Fr(R)j Fq(2)f(R)p Fu(.)i(The)c(a)n(v)o(erage)h
(size)f(of)0 3879 y Fr(R)f Fu(is)h(at)f(most)g Fr(a)p
Fu(,)g(otherwise)i(the)f(load)g(on)f(the)h(elements)h(of)e
Fr(X)29 b Fu(w)o(ould)23 b(be)f(higher)i(than)f Fr(\020)7
b Fu(.)27 b(By)22 b(Mark)o(o)o(v')-5 b(s)24 b(inequality)h(we)0
3992 y(ha)n(v)o(e)g(that)g(with)f(probability)j(higher)f(than)1405
3956 y Fo(1)p 1405 3971 36 4 v 1405 4023 a(2)1474 3992
y Fu(we)d(choose)j(a)e(set)g Fr(R)g Fu(of)g(cardinality)k(at)c(most)g
Fp(2)p Fr(a)p Fu(.)30 b(W)-7 b(e)24 b(sho)n(w)g(that)h
Fq(R)e Fu(must)0 4104 y(contain)29 b(man)o(y)e Fs(disjoint)k
Fu(sets)d(of)g(cardinality)i(at)d(most)h Fp(2)p Fr(a)p
Fu(.)40 b(Consider)28 b(a)f(set)h Fr(R)33 b Fq(2)f(R)27
b Fu(such)h(that)g Fq(j)p Fr(R)q Fq(j)k(\024)g Fp(2)p
Fr(a)p Fu(.)40 b(The)27 b(total)0 4217 y(probability)j(mass)d(on)f(the)
h(elements)h(of)f(this)g(set)g(is)f(at)h(most)g Fp(2)p
Fr(a\020)7 b Fu(.)37 b(Remo)o(v)o(e)26 b(this)h(set)g(from)g
Fr(X)33 b Fu(and)27 b(\002nd)g(another)h(one.)0 4330
y(The)f(total)g(weight)h(of)f(such)h(sets)g(in)f Fr(X)33
b Fu(is)27 b(at)g(least)1674 4294 y Fo(1)p 1674 4309
V 1674 4362 a(2)1719 4330 y Fu(,)g(therefore)i(there)f(must)f(be)g(at)g
(least)2977 4294 y Fo(1)p 2941 4309 109 4 v 2941 4362
a(4)p Fn(a\020)3085 4330 y Fu(disjoint)j(sets.)39 b(F)o(or)26
b(each)0 4459 y(set)e(the)g(probability)k(all)c(the)g(elements)h(f)o
(ail)g(is)e(at)h(least)h Fr(p)1827 4426 y Fo(2)p Fn(a)1904
4459 y Fu(.)k(If)24 b(we)f(w)o(ant)h(the)g(probability)j(of)d
(\002nding)h(a)e(li)n(v)o(e)h(quorum)h(to)1927 5589 y(4)p
eop end
%%Page: 5 5
TeXDict begin 5 4 bop 0 91 a Fu(be)24 b(at)f(least)396
56 y Fo(1)p 396 71 36 4 v 396 123 a(2)464 91 y Fu(we)g(must)g(ha)n(v)o
(e)i(then:)1480 335 y Fr(p)1526 298 y Fo(2)p Fn(a)1623
335 y Fq(\001)1725 274 y Fp(1)p 1678 315 140 4 v 1678
398 a(4)p Fr(a\020)1853 335 y Fq(\024)1959 274 y Fp(1)p
1959 315 46 4 v 1959 398 a(2)1480 597 y Fr(a)1543 469
y Fh(\022)1620 535 y Fp(1)p 1620 576 V 1620 659 a Fr(p)1676
469 y Fh(\023)1743 491 y Fo(2)p Fn(a)1845 597 y Fq(\025)1974
535 y Fp(1)p 1951 576 92 4 v 1951 659 a(2)p Fr(\020)1480
846 y(a)20 b Fp(+)g(log)e Fr(a)25 b Fq(\025)1958 785
y Fp(log)r(\(1)p Fr(=)p Fp(2)p Fr(\020)7 b Fp(\))p 1951
825 386 4 v 1951 909 a(2)15 b(log)s(\(1)p Fr(=p)p Fp(\))1480
1085 y Fr(a)25 b Fq(\025)1829 1023 y Fp(1)p 1659 1064
V 1659 1147 a(4)15 b(log)s(\(1)p Fr(=p)p Fp(\))2075 1085
y Fq(\001)20 b Fp(log)s(\()2306 1023 y(1)p 2283 1064
92 4 v 2283 1147 a(2)p Fr(\020)2385 1085 y Fp(\))0 1479
y Fu(Since)k Fq(j)p Fr(X)7 b Fq(j)26 b Fp(=)489 1443
y Fn(a)p 489 1458 38 4 v 490 1511 a(\020)559 1479 y Fu(this)e(implies)h
(the)e(theorem.)p 3834 1479 4 62 v 3838 1421 55 4 v 3838
1479 V 3892 1479 4 62 v 141 1666 a(Theorem)28 b(3)e(gi)n(v)o(es)i(a)e
(lo)n(wer)h(bound)i(for)e(the)g(probe)h(comple)o(xity)h(of)e
Fs(non-adaptive)k Fu(algorithms.)41 b(The)27 b(smaller)h(the)0
1779 y(load)i(is,)h(the)f(lar)n(ger)h(the)f(probe)g(comple)o(xity)i
(is.)46 b(The)29 b(P)o(aths)h(system)g(has)g(a)f(load)h(of)g
Fp(\002\()2953 1743 y Fo(1)p 2920 1758 102 4 v 2920 1767
a Fz(p)p 2979 1767 43 3 v 48 x Fn(n)3031 1779 y Fp(\))p
Fu(.)47 b(The)29 b(theorem)h(implies)0 1912 y(that)d(an)o(y)h
(non-adapti)n(v)o(e)i(algorithm)e(w)o(ould)g(ha)n(v)o(e)f(to)g(probe)h
(a)f(prede\002ned)i(set)e(of)g Fp(\002\()2784 1846 y
Fq(p)p 2860 1846 55 4 v 66 x Fr(n)14 b Fp(log)k Fr(n)p
Fp(\))26 b Fu(processors,)k(in)d(order)0 2025 y(to)22
b(succeed)j(with)d(probability)1016 1989 y Fo(1)p 1016
2004 36 4 v 1016 2056 a(2)1061 2025 y Fu(.)28 b(In)22
b(the)h(ne)o(xt)g(suction)i(we)c(sho)n(w)i(a)f(non)h(adapti)n(v)o(e)h
(algorithm)g(that)f(matches)h(this)f(lo)n(wer)0 2138
y(bound.)0 2429 y Fv(3)119 b(The)31 b(P)o(aths)e(Quorum)h(System)0
2636 y Fu(W)-7 b(e)26 b(recall)i(the)f(construction)j(of)d(the)g
Fs(P)-7 b(aths)27 b Fu(system)g(from)g([21)q(].)38 b(W)-7
b(e)26 b(start)i(with)e(a)h(precise)h(de\002nition)h(of)d(the)i(grid)f
(we)0 2749 y(will)c(be)h(using.)0 2931 y Ft(De\002nition)g(4.)43
b Fs(Let)25 b Fr(G)p Fp(\()p Fr(`)p Fp(\))h Fs(be)f(the)h(subgrid)h(of)
e Fg(Z)1569 2898 y Fo(2)1633 2931 y Fs(with)g(verte)n(x)i(set)f
Fq(f)p Fp(\()p Fr(v)2309 2945 y Fo(1)2349 2931 y Fr(;)15
b(v)2433 2945 y Fo(2)2473 2931 y Fp(\))29 b Fq(2)f Fg(Z)2687
2898 y Fo(2)2755 2931 y Fp(:)h(0)g Fq(\024)f Fr(v)3026
2945 y Fo(1)3095 2931 y Fq(\024)g Fr(`)21 b Fp(+)h(1)p
Fr(;)15 b Fp(0)30 b Fq(\024)e Fr(v)3649 2945 y Fo(2)3717
2931 y Fq(\024)h Fr(`)p Fq(g)0 3044 y Fs(and)20 b(edg)o(e)g(set)f
(consisting)j(of)e(all)f(edg)o(es)h(joining)h(neighboring)i(vertices)e
(e)n(xcept)g(those)g(joining)g(vertices)g Fr(u;)15 b(v)22
b Fs(with)d(either)0 3157 y Fr(u)52 3171 y Fo(1)117 3157
y Fp(=)25 b Fr(v)257 3171 y Fo(1)321 3157 y Fp(=)g(0)f
Fs(or)f Fr(u)641 3171 y Fo(1)706 3157 y Fp(=)i Fr(v)846
3171 y Fo(1)911 3157 y Fp(=)g Fr(`)20 b Fp(+)g(1)p Fs(.)0
3338 y Ft(De\002nition)31 b(5.)47 b Fs(Let)31 b Fr(G)748
3305 y Fz(\003)788 3338 y Fp(\()p Fr(`)p Fp(\))p Fs(,)i(the)f
Fu(dual)h Fs(of)e Fr(G)p Fp(\()p Fr(`)p Fp(\))h Fs(be)g(the)g(subgrid)i
(with)e(verte)n(x)h(set)f Fq(f)p Fp(\()p Fr(v)2857 3352
y Fo(1)2897 3338 y Fr(;)15 b(v)2981 3352 y Fo(2)3021
3338 y Fp(\))27 b(+)f(\()3225 3303 y Fo(1)p 3225 3318
V 3225 3370 a(2)3271 3338 y Fr(;)3321 3303 y Fo(1)p 3321
3318 V 3321 3370 a(2)3366 3338 y Fp(\))41 b(:)g(0)g Fq(\024)f
Fr(v)3749 3352 y Fo(1)3829 3338 y Fq(\024)0 3451 y Fr(`;)15
b Fq(\000)p Fp(1)43 b Fq(\024)f Fr(v)394 3465 y Fo(2)475
3451 y Fq(\024)g Fr(`)p Fq(g)32 b Fs(and)i(edg)o(e)f(set)g(consisting)j
(of)c(all)h(edg)o(es)h(joining)g(neighboring)j(vertices)d(e)n(xcept)h
(those)e(joining)0 3564 y(vertices)25 b Fr(u;)15 b(v)27
b Fs(with)c(either)i Fr(u)934 3578 y Fo(2)999 3564 y
Fp(=)g Fr(v)1139 3578 y Fo(2)1204 3564 y Fp(=)g Fq(\000)1381
3529 y Fo(1)p 1381 3544 V 1381 3596 a(2)1448 3564 y Fs(or)f
Fr(u)1604 3578 y Fo(2)1668 3564 y Fp(=)h Fr(v)1808 3578
y Fo(2)1873 3564 y Fp(=)g Fr(`)20 b Fp(+)2128 3529 y
Fo(1)p 2128 3544 V 2128 3596 a(2)2173 3564 y Fs(.)141
3746 y Fu(Note)35 b(that)g(e)n(v)o(ery)h(edge)f Fr(e)47
b Fq(2)f Fr(G)p Fp(\()p Fr(`)p Fp(\))35 b Fu(has)g(a)f(dual)i(edge)g
Fr(e)2038 3713 y Fz(\003)2124 3746 y Fq(2)46 b Fr(G)2302
3713 y Fz(\003)2341 3746 y Fp(\()p Fr(`)p Fp(\))35 b
Fu(which)g Fs(cr)l(osses)i Fu(it.)62 b(W)-7 b(e)34 b(call)i(such)f
Fr(e)g Fu(and)0 3859 y Fr(e)42 3826 y Fz(\003)115 3859
y Fu(a)f Fs(dual)h(pair)g(of)f(edg)o(es)p Fu(.)63 b(Note)34
b(also)h(that)g Fr(G)p Fp(\()p Fr(`)p Fp(\))f Fu(and)h
Fr(G)1972 3826 y Fz(\003)2012 3859 y Fp(\()p Fr(`)p Fp(\))f
Fu(are)h(isomorphic.)63 b(Both)34 b Fr(G)p Fp(\()p Fr(`)p
Fp(\))h Fu(and)f Fr(G)3450 3826 y Fz(\003)3490 3859 y
Fp(\()p Fr(`)p Fp(\))g Fu(contain)0 3972 y Fr(`)38 3939
y Fo(2)98 3972 y Fp(+)19 b(\()p Fr(`)i Fp(+)f(1\))453
3939 y Fo(2)518 3972 y Fp(=)25 b(2)p Fr(`)697 3939 y
Fo(2)757 3972 y Fp(+)20 b(2)p Fr(`)h Fp(+)f(1)j Fu(edges.)0
4154 y Ft(De\002nition)c(6.)36 b Fs(The)20 b Fu(P)o(aths)g(quorum)h
(system)g Fs(of)f(or)m(der)g Fr(`)g Fs(has)g Fr(n)25
b Fp(=)g(2)p Fr(`)2221 4121 y Fo(2)2268 4154 y Fp(+)7
b(2)p Fr(`)g Fp(+)g(1)20 b Fs(elements,)h(and)g(we)e(identify)j(an)e
(element)0 4267 y(in)k Fr(U)32 b Fs(with)24 b(a)f(dual)i(pair)f(of)g
(edg)o(es)g Fr(e)i Fq(2)f Fr(G)p Fp(\()p Fr(`)p Fp(\))f
Fs(and)g Fr(e)1675 4234 y Fz(\003)1741 4267 y Fq(2)h
Fr(G)1898 4234 y Fz(\003)1938 4267 y Fp(\()p Fr(`)p Fp(\))p
Fs(.)j(A)23 b(quorum)h(in)g(the)g(system)g(is)g(a)f(set)h(of)f
(elements)i(whic)o(h)0 4380 y(contains)h(\(elements)g(identi\002ed)h
(with\))d(the)g(edg)o(es)i(of)e(a)f(left-right)k(path)e(in)f
Fr(G)p Fp(\()p Fr(`)p Fp(\))g Fs(and)h(the)f(edg)o(es)h(of)f(a)g
(top-bottom)i(path)0 4492 y(in)d Fr(G)164 4460 y Fz(\003)204
4492 y Fp(\()p Fr(`)p Fp(\))p Fs(.)141 4674 y Fu(The)g(intersection)k
(property)f(of)d(the)h(quorum)h(system)f(follo)n(ws)g(from)g(the)f
(follo)n(wing)i(f)o(act:)0 4856 y Ft(F)n(act)e(7.)42
b Fs(Every)24 b(left-right)h(path)g(in)e Fr(G)p Fp(\()p
Fr(`)p Fp(\))h Fs(cr)l(osses)h(e)o(very)g(top-bottom)g(path)g(in)e
Fr(G)2638 4823 y Fz(\003)2678 4856 y Fp(\()p Fr(`)p Fp(\))p
Fs(.)141 5054 y Fu(See)28 b(Figure)h(1.)43 b(Naor)28
b(and)h(W)-7 b(ool)28 b(pro)o(v)o(ed)h(that)g(the)g(load)g(of)f(the)h
(P)o(aths)f(quorum)h(system)g(is)f(at)g(most)3481 5017
y Fo(2)3516 4962 y Fz(p)p 3575 4962 36 3 v 55 x Fo(2)p
3481 5033 130 4 v 3495 5042 a Fz(p)p 3553 5042 43 3 v
3553 5090 a Fn(n)3648 5054 y Fu(\(where)43 5157 y Fo(1)p
10 5172 102 4 v 10 5181 a Fz(p)p 69 5181 43 3 v 48 x
Fn(n)145 5193 y Fu(is)c(best)h(possible\).)34 b(Furthermore)26
b(it)e(is)h(sho)n(wn)f(that)h(if)f(each)i(processor)g(f)o(ails)g(with)e
(probability)k(smaller)d(than)g(half,)0 5340 y(then)f(the)g
(probability)j(a)c(li)n(v)o(e)g(quorum)i(e)o(xists)f(is)g(at)f(least)h
Fp(1)d Fq(\000)f Fr(e)2047 5307 y Fz(\000)p Fo(\012\()2180
5259 y Fz(p)p 2239 5259 V 48 x Fn(n)p Fo(\))2314 5340
y Fu(.)1927 5589 y(5)p eop end
%%Page: 6 6
TeXDict begin 6 5 bop 0 3 3882 4 v 0 1335 4 1332 v 51
1091 a @beginspecial 0 @llx 0 @lly 112 @urx 87 @ury 1701
@rwi 1275 @rhi @setspecial
%%BeginDocument: paths_quorum.eps
%!PS-Adobe-2.0 EPSF-1.2
%%Title: paths_quorum.FH9
%%Creator: FreeHand 9.0
%%CreationDate: Sun Jan 19 16:36:33 2003
%%BoundingBox: 0 0 112 87
%%FHPathName:E:\Writeups\Dynamic Quorums\paths_quorum.FH9
%ALDOriginalFile:E:\Writeups\Dynamic Quorums\paths_quorum.FH9
%ALDBoundingBox: -125 -357 487 435
%%FHPageNum:1
%%DocumentSuppliedResources: procset Altsys_header 4 0
%%ColorUsage: Color
%%DocumentProcessColors: Black
%%EndComments
%%BeginFont: Gen_Arial
11 dict begin
/FontName (Gen_Arial) def
/FontType 1 def
/PaintType 0 def
/FontMatrix [0.001 0 0 0.001 0 0] def
/Encoding 256 array 0 1 255 {1 index exch /.notdef put} for def
Encoding 0 /MT0 put Encoding 1 /MT1 put Encoding 2 /MT2 put Encoding 3 /MT3 put Encoding 4 /MT4 put Encoding 5 /MT5 put
Encoding 6 /MT6 put Encoding 7 /MT7 put Encoding 8 /MT8 put Encoding 9 /MT9 put Encoding 10 /MT10 put Encoding 11 /MT11 put
Encoding 12 /MT12 put Encoding 13 /MT13 put Encoding 14 /MT14 put Encoding 15 /MT15 put Encoding 16 /MT16 put Encoding 17 /MT17 put
Encoding 18 /MT18 put Encoding 19 /MT19 put Encoding 20 /MT20 put Encoding 21 /MT21 put Encoding 22 /MT22 put Encoding 23 /MT23 put
Encoding 24 /MT24 put Encoding 25 /MT25 put Encoding 26 /MT26 put Encoding 27 /MT27 put Encoding 28 /MT28 put Encoding 29 /MT29 put
Encoding 30 /MT30 put Encoding 31 /MT31 put Encoding 32 /MT32 put Encoding 33 /MT33 put Encoding 34 /MT34 put Encoding 35 /MT35 put
Encoding 36 /MT36 put Encoding 37 /MT37 put Encoding 38 /MT38 put Encoding 39 /MT39 put Encoding 40 /MT40 put Encoding 41 /MT41 put
Encoding 42 /MT42 put Encoding 43 /MT43 put Encoding 44 /MT44 put Encoding 45 /MT45 put Encoding 46 /MT46 put Encoding 47 /MT47 put
Encoding 48 /MT48 put Encoding 49 /MT49 put Encoding 50 /MT50 put Encoding 51 /MT51 put Encoding 52 /MT52 put Encoding 53 /MT53 put
Encoding 54 /MT54 put Encoding 55 /MT55 put Encoding 56 /MT56 put Encoding 57 /MT57 put Encoding 58 /MT58 put Encoding 59 /MT59 put
Encoding 60 /MT60 put Encoding 61 /MT61 put Encoding 62 /MT62 put Encoding 63 /MT63 put Encoding 64 /MT64 put Encoding 65 /MT65 put
Encoding 66 /MT66 put Encoding 67 /MT67 put Encoding 68 /MT68 put Encoding 69 /MT69 put Encoding 70 /MT70 put Encoding 71 /MT71 put
Encoding 72 /MT72 put Encoding 73 /MT73 put Encoding 74 /MT74 put Encoding 75 /MT75 put Encoding 76 /MT76 put Encoding 77 /MT77 put
Encoding 78 /MT78 put Encoding 79 /MT79 put Encoding 80 /MT80 put Encoding 81 /MT81 put Encoding 82 /MT82 put Encoding 83 /MT83 put
Encoding 84 /MT84 put Encoding 85 /MT85 put Encoding 86 /MT86 put Encoding 87 /MT87 put Encoding 88 /MT88 put Encoding 89 /MT89 put
Encoding 90 /MT90 put Encoding 91 /MT91 put Encoding 92 /MT92 put Encoding 93 /MT93 put Encoding 94 /MT94 put Encoding 95 /MT95 put
Encoding 96 /MT96 put Encoding 97 /MT97 put Encoding 98 /MT98 put Encoding 99 /MT99 put Encoding 100 /MT100 put Encoding 101 /MT101 put
Encoding 102 /MT102 put Encoding 103 /MT103 put Encoding 104 /MT104 put Encoding 105 /MT105 put Encoding 106 /MT106 put Encoding 107 /MT107 put
Encoding 108 /MT108 put Encoding 109 /MT109 put Encoding 110 /MT110 put Encoding 111 /MT111 put Encoding 112 /MT112 put Encoding 113 /MT113 put
Encoding 114 /MT114 put Encoding 115 /MT115 put Encoding 116 /MT116 put Encoding 117 /MT117 put Encoding 118 /MT118 put Encoding 119 /MT119 put
Encoding 120 /MT120 put Encoding 121 /MT121 put Encoding 122 /MT122 put Encoding 123 /MT123 put Encoding 124 /MT124 put Encoding 125 /MT125 put
Encoding 126 /MT126 put Encoding 127 /MT127 put Encoding 128 /MT128 put Encoding 129 /MT129 put Encoding 130 /MT130 put Encoding 131 /MT131 put
Encoding 132 /MT132 put Encoding 133 /MT133 put Encoding 134 /MT134 put Encoding 135 /MT135 put Encoding 136 /MT136 put Encoding 137 /MT137 put
Encoding 138 /MT138 put Encoding 139 /MT139 put Encoding 140 /MT140 put Encoding 141 /MT141 put Encoding 142 /MT142 put Encoding 143 /MT143 put
Encoding 144 /MT144 put Encoding 145 /MT145 put Encoding 146 /MT146 put Encoding 147 /MT147 put Encoding 148 /MT148 put Encoding 149 /MT149 put
Encoding 150 /MT150 put Encoding 151 /MT151 put Encoding 152 /MT152 put Encoding 153 /MT153 put Encoding 154 /MT154 put Encoding 155 /MT155 put
Encoding 156 /MT156 put Encoding 157 /MT157 put Encoding 158 /MT158 put Encoding 159 /MT159 put Encoding 160 /MT160 put Encoding 161 /MT161 put
Encoding 162 /MT162 put Encoding 163 /MT163 put Encoding 164 /MT164 put Encoding 165 /MT165 put Encoding 166 /MT166 put Encoding 167 /MT167 put
Encoding 168 /MT168 put Encoding 169 /MT169 put Encoding 170 /MT170 put Encoding 171 /MT171 put Encoding 172 /MT172 put Encoding 173 /MT173 put
Encoding 174 /MT174 put Encoding 175 /MT175 put Encoding 176 /MT176 put Encoding 177 /MT177 put Encoding 178 /MT178 put Encoding 179 /MT179 put
Encoding 180 /MT180 put Encoding 181 /MT181 put Encoding 182 /MT182 put Encoding 183 /MT183 put Encoding 184 /MT184 put Encoding 185 /MT185 put
Encoding 186 /MT186 put Encoding 187 /MT187 put Encoding 188 /MT188 put Encoding 189 /MT189 put Encoding 190 /MT190 put Encoding 191 /MT191 put
Encoding 192 /MT192 put Encoding 193 /MT193 put Encoding 194 /MT194 put Encoding 195 /MT195 put Encoding 196 /MT196 put Encoding 197 /MT197 put
Encoding 198 /MT198 put Encoding 199 /MT199 put Encoding 200 /MT200 put Encoding 201 /MT201 put Encoding 202 /MT202 put Encoding 203 /MT203 put
Encoding 204 /MT204 put Encoding 205 /MT205 put Encoding 206 /MT206 put Encoding 207 /MT207 put Encoding 208 /MT208 put Encoding 209 /MT209 put
Encoding 210 /MT210 put Encoding 211 /MT211 put Encoding 212 /MT212 put Encoding 213 /MT213 put Encoding 214 /MT214 put Encoding 215 /MT215 put
Encoding 216 /MT216 put Encoding 217 /MT217 put Encoding 218 /MT218 put Encoding 219 /MT219 put Encoding 220 /MT220 put Encoding 221 /MT221 put
Encoding 222 /MT222 put Encoding 223 /MT223 put Encoding 224 /MT224 put Encoding 225 /MT225 put Encoding 226 /MT226 put Encoding 227 /MT227 put
Encoding 228 /MT228 put Encoding 229 /MT229 put Encoding 230 /MT230 put Encoding 231 /MT231 put Encoding 232 /MT232 put Encoding 233 /MT233 put
Encoding 234 /MT234 put Encoding 235 /MT235 put Encoding 236 /MT236 put Encoding 237 /MT237 put Encoding 238 /MT238 put Encoding 239 /MT239 put
Encoding 240 /MT240 put Encoding 241 /MT241 put Encoding 242 /MT242 put Encoding 243 /MT243 put Encoding 244 /MT244 put Encoding 245 /MT245 put
Encoding 246 /MT246 put Encoding 247 /MT247 put Encoding 248 /MT248 put Encoding 249 /MT249 put Encoding 250 /MT250 put Encoding 251 /MT251 put
Encoding 252 /MT252 put Encoding 253 /MT253 put Encoding 254 /MT254 put Encoding 255 /MT255 put /FontBBox {0 -200 1000 1000 } def
currentdict end currentfile eexec
E98D09D760A3C22CF119F9DC699A22C35B529FBC319140A0049F057F42052E3A8D9AE5679F78981811AF51C2768AFEF74C3FB094B830F80CDDE1A446879430C01F07A76D3070FC382366FDE4922A7E2887FC440409174165DC0E5DB934306DC606D3
B7B01A93A226A85F45F9E1CA97A8D4B0AF250F6391EA095F49C543CD6BF92A0085A93936BB2FE277F3FD9C9636479A6EE4483E4C2D2EEC184E757DD2F7374EC2D01FC0266A42B51641F914ED88AED066569E17215A1364E77B23C22D23599BD3E278
E67D2CCF0D66EF88DF7D7DB55382093EC7F106B47184BE74430E6ACB842D3838C1F104EAFDAEAD963C3A690561DAB46A659D0369456325AF3E2D0F461086C3A88E05BEF21C28A20A6D0B7A90FB620D3FA0CA60A2E57AA39CA0D19161612FFF78CEF2
06CF8D0848984EA69274E215D9E28A640601ABD6F4B8A11448634694246CF61B6A2750257171FA51223EDBF645427319786E773D2B2ABDE62FD9F8909B21952A01B170FEAF69620842F988F1B0E2BAE8A2292873354C079C04AA03C9C5926BE331DA
CD25AAAD8279BB446F4010D8AEAFDE35D00038ECF60F5F1CCFC45EC623F95F1115C58C6C50E5DD7C9FB990784000AD59BE1F346013D019B44E510A255027D81C4C97190077CCB0339B29D52771C81AD8E756E2A7D9B0CB2A6462869D6EA161A81E00
ADAB9640BA19AD41D8696634BFACDF92B2DBC694919D4F41D09822381FD03F6C81C8B9D68C99C9EB508C9C666342D79DEA460D7F464CA2B8C2D7A2F90B106054A6BF557D4041E4A979A543395CDC48DBB13D7698C2614406B439812182273397886D
98852855DD5177ED13BC9BA3940F42784089CD7DC3D8331927710231B9E4ECC4E42AB94AF412DA745900229C58293F24FCE4A41FAC95827A85AECC5CDA85FCC8B3CC9729180E8E2B993D171EED98E995EBED9CD7A332233FF1C9D9B1470A7CC021A3
B60D1D05271A4724BF14BD7472EDAFEC89FC3B661BF594FB8BE53C83BBFD50999EA31F21211CE2B6622DAFA6D5ADE8389ED63F1D5D7963E6EC917BC6FEA7BCB3FCCC3E459374790135BE972E8742ECA6E3B846A4660A42F8095D21729CB17F665C25
EC98A6975564DA1DD2EDBBC297D5043DF8419DCF889E6889E1BBFB94E805081C7BBB0DAEF97C3924D2AFA1E5DEDE706E95E5407F72E8C50471ACA8A3167AEB52F2AF661F039F2C3DBACA2D739FBC72E98BDEFC8F2EE9638CF461C13B388D7BE7B43C
DB74545F5DF5A865ACAF9EDFC6DA3B28448B4E6B398E2790EF793B52980DDD84E4D0DFA7642329EF4177D058F30E99637AD5B2B7EE6ABFF4186627196EE21842D2F1225705A7721A0A29A3DEBF40089D30E70A8B3C27152E08F57005BB4ACFE6940A
2A8A5CCF5A592A2D754F149340E3D17636D06C224DE6600F24F2EF2D8DCCD2FCB14D904633B29668B5A8F609CBAD0BB368C7861C141F8F41E58435168E47A7F8C14D8FF10A5758C4B274D5DDF569DC08EBFCFEE7DF5DFA82D354F9A12B25F8509B6A
0BCCE74C539510BCD892E4FCE47E02005BB170E5B471FB513803A07DC243F06E09132A148D1588089F0AA3D24AFE0CAE82BBF35C135858A4FFCF60C973B707A96972FDD806E5FDDFB600DE9E9245943A23E259B1F885308E715C1B4EAA53605DFA26
70A5C10FCA1C2FB19CCFB4FF2FC28880A294D959A0CE1D9507E79C46D3E258AC6522E8C329CD0EE5FD1938905EDA6C1B54C5BC8158EF534E85C3848CE4AD0BF3491053A800989CF9942CD21FB83AAD603793A07A3977C72692FE3DC555F4D847CE7B
282DDEFEC4501561DE725345066AD8569180B25F6FAC57D67BC6F72D72F1A4290DFC5F2865C046AA3B7627869B2A0313F71E177DB4D7CAF943CCF4A65FEA097C476B168019AF8CCBC06905AF08814D5B1A6DAC4CC64D151B1D3DA77B0A58503CDE96
CF1D56DD1D2CC5A9A145D0A843CDCA50342491D2F70A5202198C7B366FD0B3E5FD37B297ED9D8D8721483B31C9489EDB9A030B51F1629D9F10728F21528F52A096A0C2E328A05A1BB80FC189915E0CE863C3E73937F93E3705079F1265C1DE82439B
D278B7C8DF4866527B67DC71949486F0D2C3503067791966DCFA4595BF3A217D52575042999E4D1F915D1ED0FD3BAEF18BC2108B50D9C7ECE8BF10414962A804DAED539A29A599FEF7F2AC3A632207D9ECAC4E624B80E4F5BDFC587B8CF256C8F786
AC97514E4C5BA80E59C5C31D3DD9402508FA9BF1E36F83B6E76A3875E78AB56999DC1060CA90A6B2B251DD9040A3B9909431453FE05EE61DC08FFBA8919951A73C43A42EBF75CED7F038217281E0869E7071B651712DBED65565307BCDD7B9854F79
A9ADAE32953A84538ED216CECDFA9B525C3BA182014CF26BB99DC71D63BBC1A897EFB4B1AB9786FAB274DC7576E213DBAEB3D57BF63107F0F58243A265213DFA888A1CC6799D2B0C32C7C26AD166951F2A9A85FB276B2F7F01FECE25548E006D0937
FA6A5693BEDD07132337AE6D71DC67BA39D33B636BE8EABB38F5AC761AB6A0F0D54B0383E7065FB50E28631DAAF68209A0A0BBA945627C82C04CC18B1B49F6F2606E46BA86E0B8B96D8F944C2BC5907053B942A7F72D03E267F4B286C618EFE7E6DA
53823342F344F7312E85F793D4D7195BB395EC0B935DA525D874207EBA227E421CF610591560CB9C1C71174AF879E79C38F3D50E8CA7D61DEFF46C8AB67AEA24DC9109F78D7E0FA31BA5739FE3653C2BE94EFBDAA4E4158F037D432CCB95AC279C47
1A6227A62CBFC7048C7ACB78E7A4712D6E7DB29985A7BA957140632B718CD583895A75E0D0139616F86853A19161D8C553D667AF2059629237EECE2EAB0D374A4F4715B2975C090C7C98F1192EDC8E2F96EB664D1572FB936E9737345DDA82B4F0F8
9102CB5E9294DC92A321B63B1388D1BB1CC68E55D1494ABFD910CFA7EDD241B1574832549329639EAC0FB97010A5E23244A6CED091252BC468D6807219775E5FAD91BD58996EE945582BE0473F6C0C85476095CAAD9986BB21AA0C4BB753046836F5
4284D6DB463A46B7139FA6E14AF2938B61349439FA1548AC9FB8410A3DE2AEA63DCC97C83D63F8B23394958996AC7B51202B459C05AA0E0C591DDC6AB256B0BD9A4BFFA1D05E33A980F8690F0E67BEAC24EE8DFBF540AD1CEBB60C9DD75E914F1FC2
6DBFF2874A42F7FFB75BB5BB772AC0B1230A4865CBE2F129E0875B28C51EFB50DF231A481089978E9CEB06991FE06E1EDDC578F5E65B24B6C6DBCA5FD93BF8A296FFA024D08E50B55597E4846C1094F0510DB73BD0B047B05C3E7E65F0BE6327729E
C724A4BBE6F051A147BC356F02D37A1C3EBBDB16D3F48A3C87DFE6275E4DA189C35C2FE38508EA262060412360EA0587CD51678243D2C3E6301E2A4D36F87076CF8975A79633763BBA8206DBAA13EF3A53701D00FE9D0B813E1826F2742806C9463E
F4A93F1B5800A86A8EB1816483C58F2F27B70623E9C122F243C1F559D59F1E84903FD9267E66ED1D97CDE46965A32235392A280E9657333206E35388F749D54DA8FCEB2D4AEAB07D6847A14EF2B4D69DAF8E51D19A0DEDEF4FAE490327DF3A96F8A9
6DF172F1EC716D31671F78C988DE62A97ECEEDDC306F975D87EA8A758F2D81A09C96472574CACC70F1E92973C3356FD5E5468679113C757004E2B827FB83BD7076C7386F50A336E31083828456F099078346BE95CF6D2F2B8E91C45A34EF67C5BEF1
BA8D4A95784DB36FD5615B0FB42DB4EBDB6D3C25D284CECF5FF85D417FD76C136AAC433AAB1BC6D034D72E5C9A63FEFA199406E2D79C2ABBEDD4880BD35DC8A1DAC89757B3E0D9561099231236EFA0187802017E2A6BCE438D42FB321610FC854C08
F70A1822D7113919D168DC4C69E10C38431D1A9647A0CE94CCF0A011338CAC0459ABB741496754AC59E2115D7B267952317AB664649D2CC8CB396784B5C0327C40293A18A3E759897009691EDE49F656D94F36A3192C0C44FF9C11D36FE360E6D3AA
CF095FE69B8D77E601C53D3C074EECD1382A4E4737F4D049726D8CC60470745A123B41018F1268429BB5021989BD85E8A1A2DECE6F35DC0246C1FF7FD4AF754E57D1BA7786DA1B030A9046CCCE2578D664659632959D64725E379DC2BF49D41A5D0F
942BD2C7910BEEACB38EAD6FCF7269592557CB96255261B875EBF58FCDF602F26C2ADDC8BD6D3D5276F57E589DF6E63939D420DA77F8D84C76CA0410A0ED52A7AA63ECB8A1449EC7DE0096B0336C43D8C28B243B40EF3C1CAF9CF2D8668D7D6FB632
B3A7D6C38A0739E35FC0F5D53D5DE2D0E8C558172CC9ECDA68B50ED528945DB64379D1AF20501E426CF00D7A73911844D848FCF0E9C2E0C44608E989183599EFD28F61196BE0190E9CA504027D0FF3FA289A204B0141F72F23FAFC739DB9AE2D5D8A
6CF9EA020235515C763E6E24D2447DE009E1FBBCE46ED405D1BCE2617A62412DC283BE12BF453506BECA49DE590954D1243EEC1B4FBE3B29539E211E825B1CBC55B0DEAED0BF8A2729A01E1FBD66EC692E6636184653054867182F962BFF782EF836
1AB643A165B9E0BFCF6080D1460B3D7734BDE995C9BED4ED6DA4C0A9F121A8F74E67A2339FACBE6437C14894E8AC41958DAAFD6564457CE00E3A5A483E6923656E924A9A968002A414D13B0553F81E69C74F7DD0F6A587D9864620B6ECEA6318576A
6F2FE12F13C6A61D12F1651B03236C930A19B82E14EAFC5B1427555E72B2D70C72D55174BAC3C53C95E57BDD1602E7AB45829B3185A7AEE3AD4693B5B860C991E7200992E5572396194BF7F5A6DEC6D5D392D5657FB055269D4B8AFD7EE09A728E1C
975EBFAA1F8430F7C7563E306B051E19AB8AABF3F671D911259B311AEAE10E92BAB04B8DA33825A6CBC1CC37ADB6A018BFFDB8B83A5B3A40C92FBB5DC2B1BB4FCB35E1A971AEA49780F0BA35EA89D5C944D5CE3531E6A64E8AA5A9F297FE3FB2ABD9
D46C309EC85EB4131305F4E7165AC7A6D959435AE8A5A2894DE43BE3FCFE121CEA7DE5AF008C47ECB065603A8806B898734FF7B40030F11101FA635505EA38D1FD43D2DA887FF63B6BBD9B1E8C0528C007AFFF2E8ADC843443073C0DA0B534783F8B
30B43DA4FF0962C22F8C0CB7CC344DBBE90A78F6B4DD2A2B49E3E433C03BE35EFC8091B5E24F43A7B8EB4ECB28792834FEDEEA5D10E7BF8AA38F1A31AE7E23955295DE2B68728CEC30F2D2E3832E272BBFA74C3C1890726C7A2AB38AF3B41AFFB66D
B18390327086E2501E6D25CFC99DCAE90C7A634F67FCD9641C78871206763A6AE294AC87735C4F64B26EFF26D6D89EC06DD890E97BB8D4A443B9B97401B982FA16E59C55091C224C5AF14CEFCBD99994642A73EC6D1935B7F589810BF700EA64D3AB
5318BDDD83DAD8F20A89703DE94A47991E68C4D7311AE781C576A799CD88744E4672C8751AF7B550C9549096532635B98C501821876BFFFD1C207DE96028F0DAEDCAD112710A2FC238CE7E0F2389EFDCA6A6F19998AAD4DC86B73EBA2F8FD4EB96DE
1F657E2E3312A22693F248F93C498ABE5D642809EA4FD2983D0435C0041926F6438FC049940E426FD3348DD5728FBC51758ECCAA229E59F5C9BCDDB060E922E2FBA362903BD209AE1B917F0A24ACE1C03326E097BB25DCACD908440785546D6FF99D
9491FCF5F6861F7EA3D438FA92E6DD82E7EFD9BA5DD3472513EE8AAE5324EC2C7C24D4CCEC1D6AB7CE620F5BA97A833A1774EC4C5AB2A9F76F7B898778AEFF90C23EDCE6E0A38E42C10A4C41EF3F462F0A3D139E233E6EAED42B2CC7BE30C4709B12
F6AC4375C48A0F7FFA8E1813BCE3F8B8FC2D3835321314F95A46937A07BC7566FB964CAA84A4FF8EDC961C8B5FD89289E99F075E7B4A552BC07D3C98C2DB412DBA2030EB05C4A163C252118790DDB9F44AAD8DEB84DC164FF7FD770E67054E584AB4
C0584CC53BB640571D3DEE0305FC9C35460A61461A47BBEB54CE5D340FEB651DF27DD59C20D63E209ED1766740DB86E3E666179CEFBE8EEA9D0A58E781C7A9926728BEB90E81FDB0EB0A29CC7F9F34F2CE153F017F4BD3F619A8806DFD19CA68EF57
63E7434B8CD96857805825873C22E35A5F0F81B80C9D205CAFFEF92A3ED2B809BB0E21B60A810847B692068EBA1054F8BEF36FA12817B722AA99D3AFEB926D068F556D6814D48D8485644A0851BDCF22294E4A4EA1EF2A742C6E7F3C0B5E2FA4E0FC
E76B25019711CA322D3D29C8FBE4CA5ADFC9BDA8961097A3B8E074C48BD7B7A49F7E60046529AF512A1660FAE70559021297F1A6CCFF82A518E81A60BD28E7F0393FDDC919655942A9DBC802B6BBCB68C2A48BB66559BF01ECA370EE6C22759D5D3C
36A07364EE9B09D9740B25B9574F25FBEBA5932674A698B06DC9F01CFB4B5A09FEED558E58B7E0428190079F21D690989027AB9043E28F1F55F3C888FF35791CA25707DFEC9740CCA239E41E9DE2A804BFE3E60DE917F19355FAC1204265F8383842
DFB580D3A771CAE09CF69BDB40D8A00B18D07E28B2289251AD439259C8A40E3253F2D481495C090533C039A426D9DDD8662BBE85524205DE64276F7ADF76A6B90ABC550C01BA9794FF0578EBDE55C905E8DB24A7377A5FE6C81655CA4AEADBC2AC00
F3588D5A85FDB0ACE6C224B8C6FBB660B2667C07644A15B02AC8213BF7A58BF7734D45F530DC182B2E7DC0D833E51014E69C089D268442B7E6BF6EFCB141185F2617FECAF06B97B279C34CB73E154A092E4197C846C2B904EAFFE06744A6F2D97BFD
4E200E93DA4BF5AF3C39A8F03C3115FC70FAEE0E78DE5D08B4D1E010ABC316E02670937BC1BB3E757D1F92CE810769EA132C8452959D5B786E30183410F18E87E5557591A22EBFC411DED7FF4F8757E7F7316248BC3899EE193B4AEBB76D3733666C
B038303EC1596066B59C9DF660F16066FB4E2E2AE4330EE6F27490996A7F3B2706CBCD85198C498CB4FE622376CC7E8CAD77817FFFBB30EF239E316E3D315151832BD5A48B6926CEA652EF1AB68C5137A439CD773E5FE522BCE7564429E4F4E3740C
51E73027FB47DCBBDC213F27E172CBD69DEE143AE6275F8B303A038579AFC3266A10FED5AF80C2F88BE0E10FAC7C143D3D5D3BBEB749A800248AEB49B0D986C6E9EA5900E84F2FF0A9EC997D6142526BBB1CCAD9221F36A82A5F9825DA31029B883B
1C29DCC6893D700754A9763ED63E565FD5D68C89247D997C8C1587B9B59B339C4719CCCA9574C393A4F1EB85CD4791E7BFABE70B1D9845F528892171FC4797EE2BE915F765BCAF1EDB65FD2B7C4E1A35C2F6A50AC7985755D10C3C068351A4E6E946
018CC1CB6598A5A2257ABDE5AA4E42134FE691338390B44C3823682B207685E548020F1B8F324DBE4B8531A46ADC864D16A4C1E5525C3280628796129A34DF6DE02BBA932ECC7562356C38C66FB45DBB1A45905D5D1A10BA6C48143C86C29B83769F
6125050532563E129EE23B759465AC78AB1F802CA2376C8455D5FD1C0AC5835F098E90307AC925134628EC9F601795B1E8CBDD7DAC98BCC0F59C08479BD590B225F1FABBFDA3DC295F8AC8BEEDD37C6E8290797B6DCFA1D1D0B9C0B7719427F949FF
CFA845B0AD75482B6849335BD54379B520F875B2DC66F63A8B9B79F7E00AF58474C037E2C93FF402CC8DC79E955333EB27A081E7F893CD3964A232C142021D40705D5767A87053F12883657C25A7C8A24618CD668971A0DB800BFC2A7B0971D7BACD
7B1CAC6950EFFD55BCD019A4FEEE7899C7B4D63B3E05A2FF66C311EAF0599E5526541848AEF50D915DCAEFEDEFDDE15070FBDCBC23B0F98B75B144A315A60FE78A03BBC23EA33C4A304ABCA885595201A77942E254B747DC323F4A032A1895F77BE4
84610AE326097064A3B7792843FAEAD56AE526B30692E97A42EC99B0C3F93E8910734C32EB4D7823FD760A4DA7E6EA76D91F4268161B7B47528F71F330C82A361D1ED77458E5F67748D5DD54F326CE541CFAE5B17E9D7B867477D92163EFA4944C09
B4037189A2307D9A0CC9D78E02AB581649BF0CA4592D48E1607B851CE215FAB95A190BF220AE76517349AFBA879979E9DFB9E5E3FCEC5454E94FF3E9F7A09328B299ADF64CD897CA32B8647C2CF6CE9D323CC28EE10BE6610B08025D0769C98D7EF0
F1A9F52CA02C5DCD1F79552A895749F3339CF26020C3AAF5F66D4CA943EA4B4E18B78743E94F17AAEF29B1E8469129FF5DE2A957812C4BD0DD2B0FC50545B0E85CA0301DBBB14F785E0AD66A1BF55B8EEBA5D86570DC7080345EE0EC1241EAAC4CAD
991C4DA475E08AAD24A176D0013F41EF1AA51679508D5D790ED53825C3909C43884847812BE5DCBAE053C83451996EB44FDAB5BE4E26F27565EF2D8812D28539970CDF971DE48B9D165ABBDEA360AC1A1B9625501EB08AD83B574000E8202BD0F10A
5B447247C75E4EB2BA50102AAE6D542EABB5B20577874D8F55717A7F24AF9ADF66C21DB3A62F3CC6124D6A7F0D5F63ED807610F3FB01AB661FA78760EBFC674CCA9A4190F6EAEBF1681AC38F764585D7B63CCAA099F31FF7BBE44E26068E5C065A5C
C3DB19816444E8FBC621C79B00023810D800B55FB87FABA1CE02628DDED7165FD06EB84A5FA7489DBF8A9459F59BD206697C0D80B39DA4D6884B131741ED6AF9346CB0EF98C67463BFA01C2DC32EFAE8839D90FD929B875B9B3EA80BE18F3F292751
DCEFD959C0E381EBC0AFDEB107AF0E5DA7C28EDAD872DD00A991A3013C7346104AA6D014580CC6AE3F0688B1B7D3AF6A5969BD886BD169F97E51DB9220D3A3C8A039BDF891AA9676EC45F651719D40157032231C869E09BD3327B5C9950400325791
116CE38EDB84001301DECD5688D0F20F9BA018660CF03ECC1809219AE23635D44F7C224CDD7D1D84503E1CF9E958EA668C12AA5C5F5B164549CC6D8F33E002AB8DCA970603171DADC5563B0D4692E36A627B7F9713DD1C23562E959083FBB3763AAE
3A6A9B5725233B146A13D23A2723441C626F674405B68273B6F92E8122B56A0624AED69A064C163DB574BD8D9B853D4B2836CC0017161CC09C29CC5D5E81638A910E0B0B08E03A369A2BD97CCF4C92925FD2773DC236F92699E08704E980D947D46C
F6E12FB2C68DEE343E43AB650852086226944BA7C64069DCE959696C5C9AD33CA9723DDB4E709EC62F9FAC2C76F5F16881ADB0725E70FD24E8F74187248D7A209D1C7938379AFF14D4D8724E67F84B5656B3EA8E5A7B831255A479F042EC62340C1A
3144CAA1C4F19CBE7A66329C213D451E18A29E89D5255D5BBCF4A538D80E0BEA16FCE03D2F79D939DE3A2E0B61F8FCC44F072F672B1890143CF52E0915A9B400902F9C823CBC7D626E4871A23F1E16047DFBEC1EDB8D84788538D053AD92E8031E10
076A84AB9AD5642C8EFB7EA23D3456816273557479F004525DCA5602B2793AD675B30ECC2CA921FBA2C77DB6E66AF3D821517EFF0A645381BD1EA48DBC6B9459D25E7E883A14DB1DF5A9859C25917E6590D9AC0A8D4FE1987D70F5F6FBE69B2E04B0
68E041402CB6571DDBF6C82525E4178AC96F350A5932A83706CBBCDA9525DDCC083560E487D602611C5E4B8F61779A61DA8AFFE64BE55E3B8332A57021D96A9FF1D2FBCEE85A0C7AEF2E808C7BA49EAB108EC7B5528E1CBC5FE21A63B6749349FB8B
217659EEDE0C55827383642EDD2C31642DBFA612AB2D66F66956ACB667389428D9D389DFF7915D34EB540EDC78E65D1DAE61EF6653C6A4DA98469CD7B2E17740038BD81EEB581EA9632C02E3ADE8EF0D836AF8A157A8F4C44162E2FA2699DB9560E5
A88893D062A77848D37338E74A7860488CF0AB80B1D9B43BF2323F552317A4F060BE1B6EB11202BF2F578E32CD4B7E2CB856B9DAF592A769F676E5637EB82B4B6D5F3B8BA7BF85845849F09B079E09B8D1C5285CD82F44E2E9E99DB4D0E9FA938115
77FA2A336E291A0AE53506F8B3D56A21398FCFD9A24A015C2651EC7A3E17B983189F23335F0F128A2CD57B3BB61602F960CBE2DD72D2CE3FA662D9E23C896625ECC7FF846D7B50B705465943C7666222CF584C53F946C90A2EA7BFF796562D2150EB
3B1067F90325A1A7A066CCD681B5BB684D634CF180F47A0A27DEA8B47ABFC1A2394561E548F13F52E0711F02AE6616075CD6AA1F733C01B761BD12EE136DC6B6889F09AB4F82EDA7E5D330B26397090298D52FB1924F306A1889DFA820989B802A9C
3D15C3BDC44DCB4FD5A14ACB90A947C080BC24CF0704683AEB42F9AD8C2726F86E361D88A363484A79CC9AD3AB8669A6912131DD370E21AF95EF7C0A8CDF176D34C20C6CFEC8326457A0C9FD55B80AFF3C8D5AD8C1D77EBF50EEE85317CB6D81A34E
0B6636188E9E522FBC28DA96447F7F93CEFB1ABF4911F6B555EDC52014EFDBDFED9A0D1D47F30358E68A3B8EA7C4A8BB4AFF35399EBD450FF299084E48185DDE26B501A316A3B23B4CF7CB88AC036CA6009492C334E9D0D67EB05A5516733CF92F31
1F7F19904C20415EE9BF8CB7C8E0E3AE9924A3266171522C3CE65869FFC07B0AD2C3841014521B8C2E8CA4DA22B32FE021F75B8AE64D4AEECB9C43BEAD7C22549CEA7C6D32BBBDD356047FDD4BD7AB13C606C3EA1DD6A0C8E1B28BF0D2E85E6E606D
E74594D6EFC9AAC9250CC3A64E6468946DA78F9C7E1B6F4765EDD46D064983FE8424E3677627CF2F1F0BB56EAA5B828B49975F11776E4FAEDEAB7ED91A26AFA542C294E11300B358B1549567CD3BF779B81A6E11D02BF40B33F09D66C2521F9AB5BB
FA9DF74A3C5110FFC03DCD42FBB3E875DE44ABD5A33E9F61786DCEF5A798CA54E83CE5C64B7A397FDD411311D17A5F5AE9710212795B3894252DE391EE65D6F28709BCD7E77161E29F7F57A14C9896C451BFF6ACF9CA130999457B8168B1C9984989
A81AF32D9B0574F63F6042288E647803C9CBE25542365EC4CADAD2A495DEE1AEF93BF11F03BC665E74FACFF26B622435D4243AE53A7D864F2C9EC76B7B51B07F49ADC6F32C77D77DAA5358FF27D10AA16703E15239698C234E014D10E08914861EE1
9C4F0B7B6076CA4A4D13E17708A707FEF70321D29935C4AB38E189F05486F457B5AEBA634A65784907BC12170EDCE94DA57FD4860F4BC669407463C6D0666C3D24E17247C738D43FAA18CC87635AB07303DD83B39B911AB942DBB08A06F6A0FF7A5F
1DE655DC887AF3D9F7D6819FFC12BB8F2B13F208BCC17BD39C5616DE12AF4388B8BB5F5311D2A3D645AE6FEE9D8053593B01653F026A185504C3CBEBFDC963AFCBD90A1DD2BA61FA4D5E4A384094A158FDEB63F958AA8D8CA3F685BD83D0368384CB
3F0FC1B0B22732C4A9A933F173785884D44C93A0CB9CE7518515CA49700419DB52C3148384354E6966BB1DB680E666108E4631E4BDA6CA8E1E003B02B9970DD7FBE452EDAFEDBD3D683100A79588B7D6D04BFF75FD6A5BCC6AEC06A251FD36F9E58B
B5CEAF3A8DA0AEED24225D71EDA4229091C393E271BE867C86989892ADBCB499DCCA87D9A6F120FADD93FD11CECB555B3BDF6CF5C265F9E4C720E462A75B1AA79F68117A3EABF0135DC2A2D38D0112114E030E43A091E31494D41892611CB42DB787
602739CEB965B859ECB0BE676FFA39042C61E38720E5A7B75CF7854CEEF853AAA6563CC8AD1DEE5F4942344AC6BC012FF9F21930F39CFF8D324A5EE20B9B9BC57A2B9B10BA40EE9B48321A5C231850ECB7DEBBEA8B245E215D1A74D849E0A4F7EFDD
C365ABF684DC0B4CBD403B4F0EE27D33D6BB982AB520C8E3B16B4162421A4FD0FE6AF0DE54C59A98A072FC9D03DE51C4A4336FE9F157827CFC1E8DA934451F04D79E32BD3C8B6006F1BDCBB25E69FD6FA41EFAD12BCCDDB1E7A6A21E4C5B66FC6704
FDD839A1E7A8AA97811F6000C0F798F19EF2E2193FC22D7A9E25983103415767592F587593C8455A7D1C2CFCA5D0AF11EAEB7CD63176D47B9B53FAC5E0215E86E92D4D82F06448B59E67A2EDD033FA0A738D32B8D3B8F3DE67519DA6431E6ABDA86F
C320BD84328015F2B2E8609862A50112384CCE75098D793239099C37BCD11BCFB8BA722698B90CE796C32AA233FDB7FC26D03AA84D4EF8C98DB72C8D08BFEA8A6C6BFFA4FA3258EABAF678AA3183BA6DC887A62AB6949D684AA58110272F2EB81C34
40A87FD21CB74D20669BE08B671FF35E31BDED58F03973BD07AA22783B7127785F7C9C7697F7123274611E189FE37377553E1C3B82B7A591C271699D18929CECA438684ED96EA37792C3D67F95FC6BA62DB7CAAF77F670F602215CEC9308BDB011F8
9F107159CB02FCC3DAD745784D1CA0D8DF3E020BA03F680C53C673A7EC3277AF0AF1A4008268B283109BE94A3BBF8DBE30303BDD817EDFC807095274CF5B6BA21B47A2C431ED3D6F78DA1283C8DC54B509840C3ABAD3F1CDCC7FEF0DE399A7B09DB3
210E5589F463D3EBF615C31B7298C66B66FFD0B65D5A4CD7E136407852A96F32EFE9EDF8977B3027A9F6D682EBEE587F14360AC4B888B122558CC1C62977D0386EE667E7D1062B90B487EF0E710291461427FA3F9BDC7A9FE0AE549177907F40FE77
A0ACBD3F67F8B017CCC8AF4F5C7A144FCCA8770FFA6C2DC1D3F28D1C44E7C6542E3AD29E02307966E5B38E1353C02B9EAD3A25CA7DC6CD443C579F23546A608119336CD7A36E52DE1052C267CE6604CF269233AE9086B6A98080A3F516D578BE65EE
FC89B2DED5D2A498BA6DC69846885B589038A06F808A12B5D6C7F156BADF6BCC93D1AC9E34F7F491C69B2E4463B530CDF248851EA86752947243E1FF7C7B3DB200E617EC131C437CB3856E487FF169E9F00B2791B4DE39BE8C4FEC25AF18A96E78E9
5F2D645FDA4D40A1833DD2FDFEAA0CC7AC8FCEE4623E48DA1F0F0523008C56E1DDC919F72FF504823D7F4BE7EA63B81C4EA0BE4E5B09A4071D55EE347C82F80E45367608CEF8D83AD0D883325AE6386DF55D2EBD9D34AF2285CAAA896C85D213E6F1
769CAB46C220B48D4F16F1B5E962BBCE9CDDF8DB0E214E4E5545FF91A27912763EA6B20794BDC08D45E6201DBCC120293D7EA1C27A43D5B2EA7EBFF29863827A4CAF663E3EBCB2DC3CFC32804E1F201A85E1C492DBD8F61A4C4437B9E46F857CE952
95B3979791D24CC9A91D57E68C1C830FD3370C522E7A1E17E0A520E1D7E950B12CB5684D4EA72980923977E9F5265583191C3C9B6923BA328F60BD14F6E4EAB800A56FDDED5E27A941E7A8023E07735AAA7F244A9396B1BBC41963C0D80D76417EAA
D265B3721C9E8BE4FBE50BE1DF92DCF885A3D34D5019C88E6252EE0010BC8D975D93DA393E2B0D6A7EBA595E3CF511E84967A4CEC6FC5292A95BFC825DF80EEA7BF626ED14F1C69CACFF973728334EE6EC07AEBE14F769DEA101065207D9B311D93E
DAEBBB495A8CF21896DD2074DF4EEAC3CF934AA0F5DC04398B49B43E619A91A3275285DAF560741AF088CB5313AA026DC91BFAFC0889E74812406D691B856A5E9EF3E2FD22292EAC1AF52711A359C7A89D8E9E0334F3739A40E7C7529964F5BDD69A
0132B40171C8749BE01DE05B2F9DBCAEA8108A2649D2BFD3CA83FC2CEE53FA3FB2D7B9EFA78CFAA252881B8572D955711DE100AC27AF0877CD2C1C89A04CBEFC72B40099C97B1D67F4E253D866082E9A5B34F6998F97E2FDCAC2756E95C19E2497C5
3ABC56A2BF592D239EF7C0B7A1F80125824DF4573E84C68DB8FA330BC30193D4103C6307302A802702A1264D9C62352A2CF2DB081C005F9BEDC5AF0009B4091C585B295CBAA62DDB4E38D9D7125A0967428AD85E40B32B0C0CCADB597E64906C25B6
4B8B73B617DC7305282FCF878CC5B53D70F0DEE9ED0C93F93EE7EC897D3DCD27FD0EEFFF40045F62304796A853466C71E506B061027F1672E1AA768D18832234AA55C1E443C06CF914E676DFD9E9D5F84C5849EB44BB1F88ABC9210C3FC52FF084D4
2AEBA54FE4AC0756FFCF0E1E040BF19E8C46B6BBB00F1E11A45C259B582C5C5BA989A4837C66BBE7604C9580910F67422CEE3BA0F7DCFD65CE890B74191ADA59AD0EC1AB9BC6D70CA3C33F00CDAEC7162F78E710AB4D160B857AFF1F4AA3253B8A3F
6940D5EB2D8DF2C3F2C0BB9742272ACC5DAD8AA300456CB2661C9A73386343E254C2FAC4B6DB8C0BB9D31B6213024CD922F98F5F3CD95FC390BA8E00E90BA2B0BF5ADDE6F92993FEB38A0C012DCDF9719F417C42752609F75F08304F6523C39C8D19
20CDF5996A9DA6A3738837E08CCA59CF3578F4AEAADF5C4BE38D554239A943E3843BDBECDF672A00A958F602AA5BD3425FDE65882192FD08BA5617B7C3DCC1D7BDCD63FA8EFB8ED2131BE3663C9DA39EFC38915DE375C859E622F2111098DE3757CA
51DE48272FBF943BCE16EB04FE1CCD1556AAA3ED849F039514189A2ADAF2F4FC7FCD6CE55AE514DFB0F5AB7DD1ED0B843FB3B07F1DF46C428EE08135D841BCC0E8E2290E265C8A8833130566ECEEB66FCEFB99A969F922928A5D66C62C51B30AEC29
D6B2DA777926A0E48799E84FA51C8F05E48274386D65B66315028E785D24E1986B77DAAB2080FF63E35D0531C6B4801197B62076BEA04C467AAA1D5B5670952E009DA4ACA917EB9F9DF3664EEB9E65978223E500F40D0BDAF7A4944FC0D4E161E5EA
44EDFC22649E1D8F9A9989D0918311F0A00610ADADEA56C327E76F8D6EF3238FCA7070473DED607FEAC3E93844FB9A86F0F5B0DC9037811451825E6F4BBDF999B82C192447AB81C6C7866504F01E61919531C36E19F49C5C5C05D4880825A4694EBE
5A83A79FE04E052B6D2ED57DC21FCA3FF20384B475D5D992F521B98472C6F57AD272D9EEB23E2AAAC71B6FF2BCEE61A5E76CD87670E707C0CB4321864E9BFE1BE6531C6C470456D93C3FF55482C9B72F62A8484A3DB66949060AF110CCF910A75A1A
BE1380AE1AC4B58312720A6C915E75FB68068FB32FCFF1028DDD4BA62142E6A262A6D1B85C875F1B8647700496E8A1C27AFBE68A568400D6DAD7402048124719A75D322F118857F9A0AF1508B49CF9628F0C71C6938018951ACC249491D2E47104B2
80D72C36B7DCB5F0D5ED2E25D13BF3B958CEFDBFD028BF4731DD87C8A2837015723771735A2B4E6DFF4A98B678D036AD780CF3344F18312096DBD57538C6299EA830FCC0B76DCA2AE3686F7D7AFA5D89D726B42AE0982E1697013123260E8984206E
2A809B6A7718D2A874855A71BB6FAA18163E248F87A9D62199529A507F66FB6CAE36441E3E7456D0658654DD64B3669D0C33E8D051EAFBB90CDF87A16E4F9AA33CAC19173A96ED9335D8A5047572C17BADB9100937CBFC138C3A0F2EAB77EEA79CAB
CEAAA0D162B735B16B0A72B52D57227892EE10FC16C9D6361DC918ACE41DB514E15A1FB0AAB41292691DBA3D105FFA4955427005F69710100B0D30DF02518DC3A324363F45F29368D8AEE2D31AED369B1530D533FB88B85C770F193BE2E0DBA706E8
248DB8AA9CEB0136CE4F61708F22AADE7ED0974F0674315855B92FBA9A8AE10C7C7AA0B75A6D767A3C5EEB2D8C0C00D6886C2AE2359AD25A67D91EC6D5B05686A2EE2ABF4664895D22080DE087DCED250FA05CA37E7D0A6F00BD65B922D307717339
9080822E3B92815E8BB114F2B296937AFCC3C1959747F4278288F740AA97C11366C6F413DBFE1880B27813B7EF00CF1C58DBBEB16E92C4DF86790843A153A3BFF0D814E335D0DDBC0977BE98DC2E85472C5D482DB5AD43DDA2D6104E100ADCA5B1BD
E3165373C59454910F79371106D05D593814AF6478822CCA4FDF7D76C9DDF18D74A23E1A63158ECACC084CB35B58853CF70C8692FEBBB9F495271E0E9923337FD0D54247DA0C7E427A862ECD81A736E8D9BAD32D21A59D0EBE014A3FF278E11276DC
367134DE8D5F71354C79C5C4D555B22D5448E475DD1EE181914BDEF152CEC1A778F54330838C33A1B8B112A94DEF41139174DEE877D949E2B3139B1007445F72540B174038AFD2817DD968C45BEDDFFF5DF2A33CB7A19864A66F77DDF5A1D12BC51B
B821AF6AF1980EF850F44198BA633D86B929586AB67812033D13B404918344869212CBAA0931952ABC98D6EA2BF6C9D38B3D7AB7F54BB50DE36AA32ACF0EF84F57C8448937EE5BED1956C075E8474FA138F1500782EA3BB843430D8AA31959D2B0CF
A4074BB42AC5E97E78A0F46389A07465326845E9774C181BDBDAEB9B8965EE7EC2961A0FD8AC7DE0D3A566447BE18AABB3C8695142D003B00A9FBE46CF68C80EFF5E8A7B035D241AD41FAE4B36B50EC2846DEF1423B6B1DB604EC93202BC27A994B9
83D28F5218CE40C87DF177950F024FA0F582117A10A8BBD8353579297B4DBC36856F38A8512F00CE45A87426F92ACB80AA7307A1C9787439066A299C7B06DE742112584C07C889644FD124325E9AA58AF7CE7FD3281FE722D2622C3A6DEE1F9A249B
787F7B16DABBB020CE3D032076F7DF160E4F211D81AA573F1C281D0E3A558D5AFD76DCD00C050CFE4EA3A86EE9048E1839C47FF3FC7F364FAFFFC0E3F084E7684CFB80D420E6AD9051D72F2DF5AD435ECC088E2501D29C740584772F738B71669DC2
84C62054D6D85CBAB567D05D6B9961B055AEA6D9178E96CA88348A3286C86202FB1E0E0ED9DDAF70110818BC8FC511F076A05AEAFF34A7558B5D3104928D222C24C27B26B4597530C9325FA87525E1B32287D17243015393C1B3E04F8D2F1516B77B
D4CA5AB9167E79C3C6229B808368E0A4E7720790727AD8CE358331BAA060489F26FBB8FD26D084DC10B5B4433306F3394BAE24EB0B82E7BCF3250AC88BD76569FBCD8750D4050C4FF303ED5F9DC745B4A0F6254063AE8D6F0E23F50E6B70D041617A
B8E577F2C150DC44619AFA7D123B500E6619C4006B0C0E040D46E738004E959BF30E98D8F5EBDFD464CCFB628F524C11E05D511343840C473A4A64AEEDE375BE98CDAE8DFCE567362B578865272714D4CB8F76AE0E3719C44AD0A6EEF46A1802306F
16A51588187E129557049A2E1B92E9A039443B4E503961BA8D9368216A6CE2E047612B16E7E64AE01034190C20DFD603ABF27EE988638E2E31CEB71632D731FCCBE351F9925FB96349780A7F9372B55C54A0E991FA8185BE05EE6436F138264684DC
DDBDFE3725383EFA8E0C743236AF0BF5D81CDE111054C1B3AB4DFC1C887D8E85364BB567C1640B00F1661DD3743EFFA378940991731BB339F12FB29A6F4E2F627B22D32E043EF3D269767C07545A155798A7E45CA064F0301E87FF0C935E8B44CBD8
D2790BD6486A623407001F6026F98C28CDB638A5104E775EE7729E13B40B26C5849752D86936251D5BD9C6DAE9E523536914D2D3F4BA30C4F85967643D7875A44C8AAD6A9D1414C50D49D27AC2C823A34759043ABB95A30BA4DB3D91CDE9A9E81EBE
5FB12E4041C5483FCD2B90902290E7E346D1F41D709BB814FC2129E60BA8372EF2645DA7DC35C3EA9769074FEBED0FAAED282A63C12F7C2696FB1D99181D79595E68E8EE89B7FD513EDDFD4CEF7E2ADD5FF4433197EA575D614F91613A24E9031180
81BFD04FB4795C684A028EB4D7F912224950615DA2031DFFBA502A1199950B767A65B19046BDD0FCA677B0F7CFD38D254F711EE766840CCB2B8A31E435C72E8AA1A97144152B9FA50E6D517E1E3D382BDFC563F66A0B6484777477BC913677261B81
96B98D2A38D2B6ABCD4A4133A7DE8C69ED7F226EBF7B3191C2815B57EFF8B96CFA3CADA596EFA0487A7ED06256C454B143EE4FB85A7ECC4A171042F773E65D1ABE6A467771EBA668C4024CC2A3040768E7452A5CE118C9573C4C4D3B2800579D6A2A
DC012350A5BE48099D32470987843D2A2D93966D6BC1B89BD2943B629B3A027249DF4894A7E5606A1754F95257F853A13885A30DA6B2D568284657FA91A8B8DB56AC56B079076428ABF88DAB135C1075C9E32153FF97CE6EDB6CC1ECDC03B08D02A5
1180BC14929FFA387E596AC58ABA37D37FD541A228F934B8A2C2BA475448B6157D33370017FAD34389C6CF44120FD773B4B27E42703FC58CC5BC3AD8B6CF528A13F5A8981D1FA33D0A42D3AB886A9197403723E660FFDB2BD423700A1067111EA12C
C90D0611F4F95A25D594440800C9169626D246224CE2DBC36CA403170134486171CD71E475933D2145BD80D82ADC554ADE1F371015FFE5677833D5734985250AB9C8A7A95B6BFCFD2EA016979EA6E51F180F8DA157CC07160C27EB6C6D28527EFA8F
8A195CC68FEC4F546B31566DFC9D6A3A6083939F5BC406D91DBBB2072101C5EFE52AB20385C11B25D07C9C1A31C9CAD204698C9BC562E13FCADBA19F827C9A1C4C5981438E23E2EF73419A86A94CD77CEB050EC605AA80F44368DADC66F7254514DC
C7251AA5DDB2DD67D4DEBD4BD366D94E82B81D733FEC49EF4F28CAD2620FA17031A98EBBFF6CB4133E5A5D0B5019F96175B64CA548B3B6F6F8DF4A15895A555DE0F67E65B2D41ECB05AA3D18970B57CE8F247A42439AD387C39D199451E8B21681D9
0D8D8444565BF825AAD70A3A477CB6D50EB70E0111C7BA1924A5A08BDD8C1922CAAF9BF3BE360902023F3FC6F7DCAE1C0634DCFEA57675358CC4D43DCBD5EF50C80FF0D9C10B78949BFD3F9FC312B08626FCA238DE458F7E1BF0BBC836EAD1A1847D
0F22128A8EB8A5DCDF289C38310E3E238ED8CEE1935DECFA653B849122075C48E92196FDB35868C0D6354E01385803F5647CCC541F778479E6ED66CC6CBBF4E1FF45F27D2E6526B78943C2A3F680E8FE59DE34DDB6DEC398553A8A94CABB3EDA4676
BA3852673C994BD8AC291B0C4B29733D4F6E15238D7819183224A8FF2A7127014AE4088020CE59E4BE555CC75BA9CF7B58FD1F03420F1F00FAD0FC208964EE53292454F27162FA6A7F1365456C77D45DC10D5C87CFD279FB350463F6FDC545E0F257
0EECB85124C3068A15AB525F0272E735622C99ECC1ABA4F7127226BE7D79E78238FCD3D5B5534B05A7009C94778F489F60E7C6C04DE9C1978203C7570ACEC128929F1A1E08D72203CA2E2317C4FF6074CFCB6A7A837749F72981ACCDC421F3E215FF
F2350D12D694D3048B6EAD11ADC0D38F738D1BDA09679A73F45367A14D0C2E017A9411BF924DE064342FAA897645C707C3838C9B9D6F96D464E4126772D32A15E8C412715C7D60C70A961140353DA59A5A6562CE69E4B515DBDF3563217AC01BE2CC
49227B8B45BEB81A0557D0BFA33D6C1F6534AA3FDBCCE47EE8C2D38A06B979C4562A38E61D20A824EE25EAEC6B6369F1A50ED388DAE0CA76B9E68CD0AD3CB8FBF91BA30B815AF1FFC6888B484B7B8ABD283A21ECC7BC61A73A61E3BA071DF774F5CA
DBD5F801F307E8BD84DB215509A3AD8AB9BAF88131BD423FE4D73F5D36E386DEA3DA766F1AA79D92BD91E37A1B2A04E9ED5E76410CEFF67E62FF7F2A8425B8CA67E41D24B0E7CF5C1074E20B58CA1025A54DFE2ABAB2465EECA7582B985B0B421128
E5AFB6C00CDFE499E24BBBD50B22DC554F43686C23E74EA17DF0E41B21837F19960FF02BBEEDF755B6297C6D9A7AC96EC70EEBF519C695B8A3D2BBE1C57CD6E834287BD4660C598E19D4B943741B9AC44D60822A24BE0F32365D808B16EE551EAE02
68399677C4545C7214FC5370080D3BFB388A850990D8DB97DD3849C46187E3AE8FA8D77B66B86E828CC42D1D0FDC3FB1B652F608CC7750BBA54D4FE6602DCD880AA0918B9999B478CDB73CDF2A4F976EEDB9149B3645E1DBAF054B08A305268DA456
D7432EB5B59CDA03A7B4585D634DDDE38F283E853061B0B6AAB335A67E35925DE64A3E4DB325392DD3720C587716788E2A1F03C999880D1E20C543251F6021EAD14C6D5B23D765A1FB836885F7854CEC01EA2AE67CE6FCFED20AB4C66A6316B59781
A971DB36940DAD29F8B38E3093879AB0A643F6AB19BFBEB0943D334466CBA26672B86F3892FD2BAC542FDDC5DF6A29A75BE055204F8B859DB9213FAF1793964DF2EF6717DBE341261BD54DEB46C4AD0D21BF439A557340D8B578FD6DE479BDD7BD46
80EC0D73DA59D89E5874F8653225E55D592046B9F24E9359D0E2EBA889BBC9C7E8FCE1DAB0482692E8C4487E1F75561ECC4FC71E591A9CBCF9E61987EB2A4D29347E5678297CC16E9BA8CC06EDF593A71F240A54C2E0D2CB3BE0588057E52F81172F
92BAC46415A4C3B83EAF5DA37DD8E9FF5DFCE0A454DB3470D30FDCF00569B03A48C2D25B111902E607967444A93ADE93776B94AAD1AD681D42BAE0C96371A027261AF8FBDC27A721499DDC3CE277B9A19149406833D61C0FA579A8128A0EABDE0DD0
C24679E8DA08109EDB429FA84BF73B1BD8BE0FF313B89D001B8A471D489F4CE9CA7CBDD9A2F7DFBAFC3ADB587959D05F2CE20697BDD0F55F13387BC762F9A9A9DC34E468CC68C162381BA9F8245EAFEE0F5F8C463015B974513B9DE3AC74B833D7D8
2614C7917C71E98D9B788E162D8D0A30978A130E378591B94CFAA9F59F0480998368814118E2C34EE9D13FD897D4D04908BEC21013816393BEEE0FCDD49D4A22A6F51F81546C07AC2BFB9D84EDB11E86C8EC9EE3A360C6D8F75CC7F01E116DA0A939
E67E7C4B662F9BDE53D8A333B70C2965432B283543602236A276024DCEBA9918806BE3EBC9F1BEC1634CC1E712A827B751A7360A694E34636A23C804906E087AC47E86CE23214FE56BFB6551BC01D4A29D7E884EE1CDC0574DFB27C5568CD0AF3A76
C3F3269B57DBA952437D32CA600F4A060276B2614C4615B30AB0E32A306F822A51FB657E04B526AD5D4999C58A0A1C4ACCDE4EE26B01AFB2131A574DECE686583AE2B11968C9B07C8ABDAA23D8C84F8E0197DBCF5EBE468869A01C46042C00E0452B
FF2A1567C269511BEE6E2ACBBC1F2E87F10F66BA2470207D076B5B678779278FE08D465D5F4CD88BD72177BE03DDBF908E7BAF0A8E2F8972427A47CE65458AF214F7075A4B5C5018C97F90866FA582E12D6B964D1BDB3FF6A68AFBAF223C0403FC0B
7AA73F675AA73DCAD8F453F2CF0F824C9726A83B02A2547DDDEA8FB03F750AD2DEC4998B26E7FFA7EB4E4A2E86BF22B3B4AE6081DF880EEAB8BBDC24BD3BFE0CE998D4CA38720047BB8DEB9CCD0F043FAD7744914D331336ADECCE945E3A15F8BB15
09D70715709D71C2C90092B61BFB42EC146F6FBBEA6A6E48A7EFFBC029E930AEBCCA4BC4AD69AD7F8865A083FD13BF3A60361E234F00E306C828A144623D8E67A95F6BA0628CFBB14585D19E9CA389C0E21E39CF20B64CB8E3E2201EE09EE74F7C6C
6CE4E61AC2C563B89563D0A5501F2211594C2AF562FDFB6C13CBA0091C16F0C82399977691B31A09E752109D2E735EF2A91018293AB3B82FE29C0593FE137A7FE2F62E745FC213AC2D80A6B17C3D350FCD02D206EC643D45F4DE6DE577A362649E44
E2D12A89622C79A3FE647441E624991723863068FF159CE5FEA1E378C5EC84561F0546E7C05AEAA2A45062738351BAA88AAB800B1B808E8F23C902559A2D32363189098C77B84C15BD56415B3BC2B1487AA2C0D07A166C30E7CADD78CBE24F282A92
1B75762F4E7F1EA52317FA77BDFAA09C067773FFF09BA3CD3654D95B673C1166B7B89142BBEE4331AACEAC19344F03706AF0924A07814D5939A44E09B1FD24A6444466AFF7507FB1C5F1E4FACB95E1F1438F8784A9FBA0B77EF79389C2DD81D48D4C
7F3839080BD418EB9B89F8DB77BC06A351468F6D9E320DD10DE82B137CE753C3FC6E3F55BA0353F852C7D67506DD5F78757573FD1B5D0BFC8B36550144C46614DB0103665BFFBD61144BA5850720C9CB900DCE20C3DC43513CA92DC157F48FA4BD4D
590F77E8F2DCD4B952F1525A7D2489A4FC133C0EF3E07838D2A1663F00DC0D3E502060A076D81C0F516A1EDCBA0EA6C72E22ECE036256648179D741683A57886DF74AF0F2AB588C4C46D9DA76B6805FF4FA0E894F59D73FE8828C96ED53DA7107E70
7ABB86A93BCFC50F1A16657A5D81F6B0345EB1B771A3DCD06937F90023ED58F4A035E847C40E9EF0839737D1B9C8D86CB8918A3778369C435C676679856EE0A93891A1FEE1879B6E0497B85D6FADF440A502266B8FC13A403B2B4CE4776C32B5D127
DAA73E650DF1095A8C614B512186536DD5515AC4407B58734406958D574CA359E18C21C5B6451CBBACEB68A1BEA190CD445AD10328A72F1C7BF5916E581B6F513F18B0A0984C3DF712961C97C5081925C474C882000A9BD359C0088BA3DE04B62F22
5DAA8D2FDB4DE6D9D81537C775D02BDC5168845B690D5CBAB2BEC70C216A6F6412212C59FBAD51E123267262A322B4782684E7971835AEAAA0F3648EF3AC58774AA1880AF63546EE66E7BEA0673DD434B01E8901EAC25BA2AD455F419DBE5E23A055
4284D0BDDA7DF63DC109F6007D11E26EC6377BEA46D051D3958F53F26965ED791FB7B9123C1022A438ED79D8C4E2E977424CD3C856C68194FDB0C57241CEB7668A77A4B02F3C71324DB4546EC98749BA7C3F6BCC18AE667B549EEE7959E4622ADE5F
92317F99FEA81BDB4F0C31B643D823F6516221B1CFE2287D0D5CDEAEE1CE5AA3F6006AC7D2CC0F6EFC07B6A7DF0A218B9D8B49A90FAC9430C1173C9AFE6EECEA2D1A303EB2FB2F724DD406773C659CD9C57BCCDE15691E8A1E8D1CB3B23EFACEFD48
42977654B593DE042E829237F9851932A59DDD4E578B2CF2EDE51F8138A468E8BE44D8E54345D9A273DB7E4A16AD28E91F2C41B121DCD9173DDB97BDDB9BFAF2B51553F2E524FB5E9F2D5FDB260296BF0FC42990D2D7674A626A7E25B4973F223D98
ECC21D349F6D05D56581353371EF03ADC4793A707FD1C68EA36E87E639BFC35F1DEB9B0C1450D7BFF95D237F89390FFAC08D7538FA7FC8CAB75F6CECE95738793C132010E179595E17903693AE1DF327DBF829493329A245521FF9BA8370FD9F3EA3
CCE1998FBE81B813F4E75C7F8E0D2DF73646E79BD56019EC053B2540A4E6AD00BD4DF80D70C81A73DD7B6302CAC35795337D8A456AF512D5E6237992A154C7E1D3855E56EE1552DE983B5AEF1380ECD84BEEBBEB7E8A9082F85357BE0250C36CAB11
3D29713942FEA69A58964B4CA44CAF4576246323AC8072F081598F44C038ABA960340737083B1672052C8E49BA49A4F461E5CD95FF18A11122319EFFB7FE8C4F0B5010A7736574DEFD5F80A11890A32DE776E4CA9D43CA2699C1EC1A26AAEE06100A
15B785A061CF35EFEAA33ADADA47B08C0D5810AF2E5675FABAC8B9F2ACC3A6834B3E318A834BFCDCBFD487552415752E03AFA311A06D9BED966ADC9AC30650C2AD1F32BF54FA78D7D20CC92B6DCB67D46BEA7A15022E209F2E751145041B6CC11EE3
1072A42849680BF0C421B8A866DC5FDA43F240BB6A1634BE73D10630797D268A59C2EED1BF0238E35F228C75A54B4EA1895024317549827366C23E183E6B978F8A048AC6A1AF79DBEFB23333ABF27FE1597E601373BA2453ADF0A60A42FA60A760A5
D8944A95338B1B68EE549771E239CC57D012C3497E41C412A9FA0E37B06ADD3A77FF7CC57D64AC99080B748162CED87C6A242F975AB3631B212A4862C1B375044A53B79D0EB50B5FDAF67EE6EC6CB1336306B1DAE2285BABEF591BDFB873D1B8AA20
04A04556231A65C52D654A1F3B48CE5805A17965EADB0A4ECF88C05A1FDB6FEAF6954F592652ADB0506E9537C2BC1AA8FD78C65DAE728F6E6EEC96CBE6DEB562332651B280229908A59EE3E6772A673B1216B4D314CA327A3CAA946443738EB3AD85
73E76ED699A5241915B753DB6ACEF1DD841E3970FEBFE7F28684F2C4E0FC8D6EDFC98BA29DB924CF30EFD1B30DC538293C59C0C1B5F1326EF02BE6E9C189EDCD772F8502DD9589871D068A672EE32BA3888DB55EED1D59A94C8DED7243A1D8F32C0E
6F8749D85F794A272AF1E27483AB09D1275A98EC378E59B2459088FBDDC9F53F62AA9B1C1E982706E71A00EC4060DD23CD8C1E196E976BAB3F40E800AB2D8F6F68A43BDC0EC4AF102F589038F650EAF4F409E1CDD598B54BF11E1574CAE6D1931870
9A7DEF49002967C9EBDAE1BC2C251EB2837CC53C0502784CCAACA6F1432BBC9157DD9BDBA527DC28C50B40FF2C3B59C459AE51A53829DBABAB60804521392B7BFF40D6F823713E82B81593533B3F65CFCCC6A914CCD1FE9A35DF1B57084755E7B060
95437FEFA707E424B381450F3F27AFE9B37F5368E55243FC290C3E5E83C7ED114E75F6332292E40D4DDBD072AA8882229E116228AE97C623E5EAB943B6B8CB714312BB738AFF4CA91799B25A30E72DF9B3D38AFD4C6FB5169B160B1D8AB3F1EA1677
B32FDCEC62CABA66C34A2031B1CCB064D1453981996C4FAB2747422C61EC3F855412289FC3A2B35E8ED06E466A1C28F20BC94B52840C73FA9713DB169411F8F83814157C41EEE2C0862F8691115D4D6826037342B0F84B31451DC2BC1A96217C6652
F74855AE561DF4CDDEDC48D3FC8A22925F1DB704657E8920AF0BC2E0E2EE124E45C88079B832AD6C1C10FAE96FE15729B5A1D59A60CB48270A3BE2145BC7A5E01A1FE245ACFF911043538CF9BD70994C1B57D69CEED6B67979470B7929611DC77482
2062C2311449451E44A6AE195636F880D60D8DB43E8B9633A7C0EE5D3CEA82372B5AFA05DB669AFF1099E3D76DD59684E579B5443B35700D5D1FD318E941719B70568D5620707A647F46B5304DE0F2C2EF1DC0D350CD9F325490ED212A6DCFE3C678
7144CAEEDE4EC7894B5594780190A914E90A7F5F143631AF8875771A9D1523F6E9A8F0D0CAA4AE9F483D7F4FE336DB64F535A118188257C0131F7CF32C0FCD84C902F5C8EEB23B29E765F0F0A9E48A3C068E4A0AD6F50BCD9900C274BBE9DF06BE4D
E05BB5EB5376FBDEC34D8B75587F45DBDA6D38394E07DAB85E0C3B23626ED59204B865C7951CA489BC187D59C9CDF0B0AFA39764823E7006CBAC3AA6212F7C43F0AFF3B97398F2D2A91628B429F5B11E3C890F6A3969AB0EC834EE951A4702AF5652
8ABCDFE6093F6EF05BBEBE26E4C861C02376AF20EF840086D4E28507AC9555ABECCEE3FC06518BD16F4D63E343B682BB9FEE089F9BEA82FC377A499CA54C21BD1F70BB032D772550F28E015A0D1A0B328A199307E6B813251742DEE9A15AA47A7AD0
4F2A42405A14ACCABC2E67D8916294D34F4802ABD1CD3DFC23499926336422F2C7DC00F443DBE67E4296C0D1BD270C2981B72BF1F9D18A547D196B0C5A445AD95DA1009F4CA8C6C15D5A85F0EAD8E82350502C60EA9968757E0ADAB053B53BBFFB3C
E792524D7AEE23FF89D32454D66F9B02649E1984CE0CF6942A0FDCA0902FA001ED541E2BDAC2EC5AC56FE1329187A0C4DA9B7D5618FCA3EDB11A7821C0321C67D621B3CA369A9434BC13A658580DB61582AADA0CB29D5372DDBC4415EFEB916AA63D
71F3A24068AEDD2E507B65BAA430FBFED4F37A3B26398A1DDAEF3EB7EE190FAFF8ED35B1D4DDA6AE0D375903F65176285D4EEBB1D0A4260F0F22AF6EF0288901DEE0D0D3BCA3E04BA5CB93765900D524D885DCAF3FB1C5177848521663D42F856C05
DBE915505CBCACD95389C6A7FFE09897138C27F79485421362B31E36FB5554BA315C41AE08172D1AE9ECB674431CA00E4CCAEEC8437C98CF8DBF5C766C2D83D35752EFE66104B0EE94CF19A2FECC9503972EF5A0C1670883EC507126EC67A61F7D08
4FB48CBC0ED3EE9D84C2026F80E5FE6582802E3C103C5C0DE49D392176999CAD6146D058AD550809E8D04DA354DCB78E07C15888727D0C011C19B092FAEAD7947C4774B8F92580B17DF35AC379E383759BB98A1440B892E5B70DA1EDE1E6C1101BE5
E08571FCDEAED333603B595AF15D913FCBD428EB1CF98416550F72C231421130E5C129BFF10F485B0202B44A26EA438E79B4F4985428C2BB326B514FC2C12DAF491991D80CD978F4F048C11C713421AEEEAFD4F9450FE755CC4D29F4CA1E9C977BC3
F16C590E2786E1927A014E7564238A70074C099880CFDE5B7411D87683425E7B6E52348D54843AB27CD0F39A4694BB519525B1DA941A3E704BDA95F32227939A451FC5F55D38AC3FED4E0997109999FFC03353D1A798A0B295504ACC4BF3293A86E8
5B19DCEB70F0FFFF2AFFF58DF0DAB0A73B2E41B96DAAE88591FC11314CA9FA0DDEC0F3BDCA07D23FD679AFFCD0C56F4720E87DB2DDD3277539CBFDA6C5BCDE6BBB48FF5F81E6CD1D77FFC9D652AF482D4676FB7367B450BED88D5E3FC307EF2206F6
83099281DB55863E11A214D50CB030EB8C2FDC410A24286F38FA8952A152C0F781DCFD26200C0320EDABD1736A1B05B94819DCB0210D016049AAC66F1846B7F97C81707E5DCAFEA3DEA12ABE36E400BB6AAA5EFE432BAC9913A9FAC763BD1D8951D0
34E844321454C1E5F9D44959F6612B678B6581CAB54A4CC8E131E0A761C8DC3715C94DC77B94FFD71B090BDD0B75864B971D81139060D505001F117AE40D15804D5D6E6EA712DDAE37D4C18067A90C7A233329AC349DD9F0A30C2CE2BB881BC3306E
B69C6C84AA6E6D32F35B219222D0996E1E786103A3A399C02ACF8AB151724DF319A9336B431CF700BB47B07F6C3DECB499E26AB5AD8A47352770038E0C0A92E2621BAB6A6759C74DF0188BDC8668A1041622274477A9F59266EFB2BAFD851587B730
4775EB2DEBC8F17482C4E68166C7301628FC66C9A2E2949B8A1306AA74484197E376FA958CB095A0BA82B47D63BABEEA8B2716FD4775831E254B217F63C5E96D9944A3F9B42DFA9F75DEFDE963E487C0090157567706CB28468A9AEAF88DDE77D08B
82112605D05BBED03BB47E5190F8D0888ABFD75E8A09F2148024389D444EDC5D741EDA5C3F171E56FEC301A1CDCE0DB7C43E96BF8B199BBDFC45563E4A25EF8AD450B7432C4848EB3885E964098AF223A7A471C5450C04F31C2FB68EF0D6E1380BD0
682EA1B5981CEE6D92192A658C9E3D8603A6A4A94B73F103DAF820123BFCC95D59FAEC6A10334D06BA9FCE019451202765A9E2FCC129CFD90B6B2AB37F529E706A1BF6F81657DBA06AB7605FBFADE7DF862563957A2A6F6BEBD47CAA7AA1C5D21F71
3207D2D7BC3F1AB4BDF22DFEA2DAC60A45B966C8416503462D14F892C81610B75204B06ED705C9C88EDCE46DEB6B76B925A8204DEF6AE0E526E7FE05F781FFC635D7ACE9A4197BCF5F1A53DC775ADA592996AFDD53868D6E06C7F533243DDCC4FD3D
CF2D23107805F3F1534D0107553A383433A7D683C3AEF61370E6C7C8957D5892C8F9347EC9CDCAF9ED41205870BA65BCB49CCE64613E527459BF6869E4E19A5ECD6071D1A39F1527711C2FBB487D7740824E414B4C13693B4BDFCB339D1A33E61186
B26B7FFD2829CC670224DEBE11FA5BE6C9465A27D19599E720EE1AD2B5A33E0683D507927A80EAF11D549701611CE0114C371E2F5F550B293BF1B1AF4453735F0C6BB90BD97E55C280C1D8D4A6797FFCCE49C345087D5340C51577D6175665A033A8
B44C53721292CA83A97C180096221F93DD4CE684E83A5EA04621CF8AEA57261721BB378A92D1CAA7271EE308959E3198D687C4DAF035F29B088E1CDF7D9B72A5EE3984A9D806F970830D8D7CAD10D25BB016F12D2418FF3574AE492CE971A8941ACA
3F189E2630E54D816E9DD88E198CA1EF9D654D69456ED7870A7B95820903655D98D9603F4847AB76F0966E44F5DFF33DE928460D13CF14F90375887604CC4AFDE002040A24885C59A2A94B1914EF34CEE30C6275E38353B1A41BC46E2EFE222B1EFE
96CA6C85048C5C312AEDF1EC5A91FC792A82A54B92F1241E334FD4CA339D360A69134A380477E07430F839B1A22F21636857941F021E926B6EEEF3473D148A16B3FF6A9A530BDC0C5680B1CA93FE3E548742661DF8A60F1F333C7EF084BEC1B0B825
4A1CF5AE9CC8F867C38F794A86E9DF0FC3593775BB41D854BB3A365825EE7C7F4D874E7A868B8ED71F63AACA63568D05A521D0FDDE21337F387996AF65C25BFD46BA846626806D965D43A620A7A2D982C0C65CA42D646FD9465FE8ACDF3ED61FE276
D1E6A12C3F928977C3F4274C0E2BD40E2E97365A131915CB41A50EA35EFCFAE1D64EF7AE8B4652B9A52134692D5D9D2436BC2703E6561370F704BF6FC133D6E8C276019C9597DE5900C7EE057D3F9A1FDC54E1CA9A51CC0D198157E8690F901A50B8
4441440D4072147DED434BBD8EF0F41E02C4C72673FB2B00E64ED77A12A8ABFAF9323B9B52687F237AB9C02B078AE3DEA003BB1088DBE32472FFC16F21F59B7CDA067E6513AFD8746A94E1B466D72162EBAB1BB97BBA021142E79AAAC71975F4FD1F
5029BAF7E1D252D22EADCD2C753F3441C8085504F05FCBDA912F732C9E1B3968F514936287D4E674390C52E597FA65FC8EA62653D9F39C3D0A53481C3F7E3A60BFA2F18D71D53750ED0F7BB0C1D8CB4CE596A5C718D1628BC93FDC41A64005000AB5
7D47567AFA0A6E02739FC59DA7FE11D6B6468B06245FBB64F00949C36304C870EF55B0293ED9E035B0C27FE8B279AF5592E83E1B673E69FF7E1E09F76CC96CEFEE28772EFA51E999ACE571ABE530EA14446EC475661351B7B4D0A89DB0FB4BB8307B
62061E042F4C730CAFD1ABCC0AE256A95EA9C10DDF3FBEADAE80E7B7CEF543C8312D02B618D1B6453900C21CD6CF97D5DCA862AB411F2644275F00A2229973D63281168E7239612CB90A659D6DC4B8C96D545C2EE52C96E1D5EDB2E52D6BA28F290B
8A54AD2FFB16A2896B8506A29B1180B270F5764BC67357D1212BD6736A8931B38272E7009448F64ED208720BA5D36479E79EB4F91AC76DA2FEC594F69DD3DE33E166145DBCC7B606134A28ACF0105769BA04B6D4CBC80023B742B2263CF63699E0DD
DA74BD5E3147799C0E740FB9AD78E2C4696BD8DE314808FB86362CFD4EA2CE527091C1D6E89B93FCFE754A7A8FCAA25EE498728F9DADAC28AA63F092630C430315D82C6B4C157AFCED76C9F34E5CF8ECCCE1363AD8256CD30C5653360D505E2E87E1
506A1454B283F56D16C009B53AACE2907F066D4630BA0E80DC948B4014377A01A56C7279B3FFF60DB48A1E7243891ADC43129D053F0AC3E96C82B5E3914995184E259824771BD25BB32B0E17FB4D5E2C1B0493F1D9AE6770C7AF3FC2C9116F7C36EE
DA11540CBFE8B673FC7BF48F09714D92031E4848EF289554CDE98877776925F616F877237A3976D45F9DB971F8BA9DCF32CC29E9C9E6B0B75CC9294AE7BE1E2840369B421C6D0D277A771EEEB5530D841F3586BBF9986855F7D3ACCFFF1A49418330
B4C64E6983A90194B818C87D9D6F12DDDF57AD25DDB58CF102CCFA8ECF5494C0019EA7FB1B456D0997066590B2263A1E0272FA9D7C8140D9F0EA55F410FBAA2EF54F1FE5CDB267C6F613C7646A979ECBBF1BD566615DA098A5F682353EE15C67705E
C79ECD62A88692BE7AF7BE9C7CD4140CE1CAD3C2EC8A7A7461D7C70E878154FADB27714848489D64D4D95A6F5D32915F3C6256E0DD777666B14EB7C80C6E8640235F329BCAC116BE8DE34773AB12B817DD229F7615BE7A0696249BDEE29AD7EBD370
D6221BD06E955D538F6089006E00A2E7D0391488D6D3912D662ABF656A8873C22F2DC19CF0E1406F9F3EAEB2DE7DC51F9D553E716705F7CE59778D1284B782D6393E4ACC23CEA51083E0EE3AC9FBBA235DA590D6E03F81CC71C557FF659744DB3537
42246C6380485AE478E52C99D30B95D47F32A505E83C9F683C914695529A470702E04592F74051553A1093E83F38CEC3B34C2C38C923C9C512F1148052D48D587368A25AACFBCDF16F3FD3D95114899161510B36B230EFBE2EE3ABA14E51B81CDBA2
B9EFA2FDB26007773F0BF9552EF4295A0074ADF906C7A77C5A5B1F159EB60B49085479F1174EB6DE8F64496610C8DCAB304B3AB275DCF84B5A8C57EBAC6AF707B3F0D1A1DB5F1A6B9035A31861B288FA6B8AF390D025FDF88105FAAF2067816FCFAF
887FCB156866895AFEE68236E7DE7826C132860D95492EB819A8EFBA9FB8C897E44004FE80EEC85B05614EFE9426DD9ED1833A22D0B005E545D745B2C657CFAAED3C30CECE4F5771E232801BB0F35CEE682B6B8A2017D48C5D607107354D301FCC56
900BC54AB68A53EDA15613F0F44FBA3C2E7708D6370278F9A53530ECDB3D08AC4EA9E1D32C18A31C729B5AA22A3AC18FA12E0D8CA9F8A6E209ADF9A6C05BE34995E7C73B15E59B06F6780ECA5CD8D13407B9E932E95D640A95671302931B529A715F
9139B40C9E3BD4B99D4C2D279AFFB0DAC8CC22BF76A66665F107852B55336BEE4F285F2551A7D0CC8A6F00878FEEB1BB60B1B2E6C858DF7B1C713448C1205B890EAD34FA6AA3534EB2A114871FDC96AAAE903F4E73E16A1073F92EAF7DF1911D2DA8
F5FEA9F4A79E4680CA6D81FCE4CB0D15D2ED1DA52DBAA632825543D0F6257471D3731A17DA0BD2BF5585489B8C8439EF5053D91DD4E0632BFC7185D03183A1BD27E8FB39240DA64D5E26B2EFEDD89E4484AA51111B2013C31AAB997942759F3D1065
DE873B7CF2F4A35F9799256E4B8738C5ACD408BCDF6D6DD38AF398176A63DC59484F4C45EA94CAE2F32D358F86451FFA644F4E57662DB03502CCFA793CF198633A385F75519A4910822454B23F8152B4A449D8A4D42D31418EF35BFD9E8729A5868E
F878F27B280A3E4C737D0B17C217861FD01A19F9E8D25C2FB9DB16C176CDD7B5D62D71253FB5034DA406753C7C6E67538B22BE30594DFCAC37C1B922D515F126DCED8EBC0171CB8E9F344F1F509DFD2C1378D68DBDD3FE20B90DFAEDE06E493688C4
44EFD38CB7FA227DE651B3A47A135829FC775F83632A952DB8937D1A4497FCA68B638FB3612EA39A839A936650773FE3F54D239E824231A327DACB37E4C1FDEF5F3D83AC3582D22CF54D48DD612F8267D7524DC1C8DC37C557EA7BF3748CD02EAD2F
474CC7D6B4B25F5EDD7F94408CF5B6E0204DBCC6A39BF413C580DDFFF81DEC1C61627532B6790D8899B171061E6EF5CAA516646E907407CAC32C416B096C249658976F94434C1FB7031437EBCE4D356F4082D82AE63AC11D1680E5B5A582C241C425
0FE833CA0B87EB5E505E8DF0A336D1F33546D41B6BBF6C7F140C2328CA4DCA4949A85D1E0BED34C84EFF5A77B62332FE049F0AC247A7D80F785960CBD5D2DAD574C6D345B03E90141C03F1183D976CA2718FB757CABB1FF585BFF0E1C84C7AE05092
D8330403182B8A821DAD0B1CCC682032A50BB21C8445B4381A483F0BB38BC8FEBC29A7EE6C6C6A30D7D1D904C19A8FAA77E27F5F22A71FDEC42DB50868967EEAB13565C7E4188E501AC1CC8821B070E435D592ABE94AF36B89DD9290DBB95AAF9FA4
A60BE21C92056B15AE1588F379FCAB20A7562015146861ED23ED14310CF35CC066994EC9910A6F790EFB5B81AB0D819374587956FD8F8F2A2401849E81904DFC74C57360A881D123BA08536172B361F7871AFE2B91B3563AA698D2B09C088989F56C
23033767067BC23366021B26455E42B7FD13F0CF6D3CD46C1DC3DBBE00073BD8ED056F24CCD59B2FDCC03F80A90166819B5E09DB64ED381BE59156F256D8BB00868E842AB72F973BEDBE4D7ED908CC9B1B0D16E218F26200837044363F2B3C2C0C27
1C3F720EA5337F281456FBDE8C257BE5D9B3A5228AE62524722A7F32E1C2296A06318FA0832AD5730147AA3877B4FD44997400E000803FD3CF30AB2688C0DA5DCF44D326AE18AFACC74586D3DDD494B62BCF31EF15764E4B59A0439C732B1BD7DBEA
5E557B43DD1CD4E0B10E28CA23B052F4241E9DBF2535310A69858AA781538A52638E8551A443E88ACC7158CDFFCEC0D36A72062929AC5061F21F44FC75F8E7F9E7A68EC8A073BB2486AA9014101C38377A53A0F4A3C36061AB565F28630B74472E86
40155ABD9873EAFDA6C5C70A266A2E172B032A78AB9C178FDEB6542359346E011DD7EC8759E45EFEADC8FBDEB6C37D381BF3364C776E235B6555B32B69CB55182CC7B9AF927C3229BAA0312B8DDDC65D308FD434BD99F10A72307EED03AC86B3671A
9FF9C49FEB0406B0B44B7AA7A902AA1F88648B82BF1AC769EE28D512E86E566A77B004FFEFA18397D05DDA336119BC99D59F08A4FC87D27D99E7ECA910A8292504F21D932C271CA70C4492C0C7569852B4DBF6926935524EFFE865D7192864547E7F
C4A4020C32637237317E28D058468D499B2904CEA4F8432FCEE8BD0AD478901F79BCEB6D2634492D2C15E511876B8E61CA43C42E0FB46F40CC29E3D03F8ECD9D1A4216407B22A304F0A76240D46C7AEA913EB2806559BC4A8DC89536211A6D6BCFB7
F6A5779B722534C2C35C96C9F1237E8B62B8B8B0FC9C560ED7FC601757BA98FDFA8D623471504BBC742E66C1CEC462BA4AA2BBC17D3D8A81BFAACC6286DF41F3CDC6C1ECACFE16F95ECE59B9A2F34F6406FE7AF62D56594BD39855F4359C26D06284
A62AEE5FEA32323B5D19BDB6B125C3742971A0300452697FB20958EA5053F0D8E7F8E9A93B6A36B3B37CF8765C296600489C0BEF93DDEE9574CE2EE27AD39DD7D81975336580F381A71F4F3D8F98F4E3C7BDFC7E05F14A8F0C30EA8D7E5BDF131049
1966E7326C97515B77F5104CF9968AA256CECF0ABD1606995E0EBEDA116BB6528C1B65A66FB9B26C08A2105A42E514743331ADFF1E0DA31817ED7784F28877517ABE1BD6452AF615AEC9FEF0DCF7E2A40195DE6B1E912FFBBD2B326754495FB96BD5
381517E2E145C57D2523A0E5EC41FA08EE7BB7CF77C81AD3137F86FDA7627990702D3C5D99F0BD8A598CF67E2C83F804A9C225C5E27CCCA9597A15EE1B859437F37AD7BA4CE8A4413CAA4A64F5A831999B85F02AB573DF63D23E733C7400103B9F4C
93E25AF2B42F73049817FC35CAA99E40EFDD91F463951DCEA99A8C4EA7231C913067B579999877E31FB2E8EB59FAE70562BEFD26F2ECE0435FA761A84DE9463F78D8946E5AC699513D2A9EE2782BDAC138409074CBE7357497EEEA5501F4A2F73479
68058011DF0C85CF54EAC1EF4188C2D61A19DBF29C3C9968765AEF9EB8A00916A5ACC74A597D1E2D5C472E165FF87B07F28A46F3A31ADC77FD7C71AA89B48AE101B1E17E6CABB4965B8FEB93C12B85431EF66C59F80476516151AF660096EAB8417C
E8FA8D3F1D2FA5278D4253AC0338D02171D88DBC74F0DB2C10675D22D383220FDF3B30CB3CB2131077D43F05F2ABDD6768FB16CA3E159DB045214BF6943928FCB8A433C71FD3AA1E173FE17AFB4B35D1DD3829AB678E4B8727A1EC2E15A6A7699378
DAB711D0DBFDE942054AD3DD6334702637540737880F1B181C0F36B8D4D0F908C437126854C8A74E0B44722D2C5EA1743DCC16E92D88C8136399782B32C3E3996C5543E46B70C60F17935F0A66D8B38BE727F3D870C85644EF5572E6C34A436F7AEF
2324CD3B576E02B54CADB3DC06B7FF8FB0C98CBB38406E06F5E895936A26E2D0C88DFB674F7D5BEAD51A4FB4D4875AFB19A0490ACA5356C94555724E223A6F3919B912898ABA6A7C1F0638B49A3D3863B03412E6D72F7083EF163E2EC9E9454C78B3
D2D07FD858596E067720C5600CB92C86CB28A18DB8403DD08CE19920184291E2D0B9F24EEACE92E32CA03744C6D9326FCDF5D4992BAD09F65439B80E21BD09DF4FB3406B1F05F8C583B8D7ECDD73E46654E64BC9B2F3E1579626DCFB08D0DE5A1E25
82B86A5AAAE5D998A21A15B07E5DCA0B530DE34CDC3856B1E10C95C1708DCFD33B0F2D08DD99661B4591F3818B87D4B2D141611BB31E5C3371D6F40D71F13091AEAF9D980CE5018CEEA86FBE5BAB9C5284DBBE912EC11A3EC76ED644004EE62B7803
F9FAB89631509EE07280D3C5AD0DCC61E0D79439C198E949F856C2D3112C63D8E4C65C2B62C18758B477CA12B3B53B6ED75E9F4E7614976C986D82DF26F515B6576AE85AA918E412165BBBB38826F60635E574746FB4C1EA02F8C62290F653F1D9C2
EFE790D29252A799745AE94B12FC41B55022F57345FE53C3441F60F2FA7930B620776DD1C4F251CD5AB08B98F40F7E46004370537DE7C2A0CDFBFF3D3F8D082AC5C1C042FAE117D636C270F6E319F0153B5C8294FD88848BD61E0F02FF631EC5DEA0
2F09782006D01204E7FF3193C45FEE5B1A5E6F45DDE3D14D6904344A90E15CD5CFCFFA0B2AC8D7F6CD3C6F943A841C383421A9C38C256BA09E5110F192AFE066E7C1E8083603C35928739EA04FC181849D79ABDABE4B14EC4D2BB3D888C2AA6AA6A6
171D77C5576988760ADF67701B33B5ABE21BA9A6AFE591C7AA3445D0F8EACA5B8E3098C1B2123394B73A63BAED79476CC640DAB7DDED0ED70DF39FAC1988C07136981DFFE5C3C3AC3EC98ABFC711865B2D8DB7DA53533E24CD3D9CF1EF78F50EC5B8
2880DB6E1FC3A340A9F85EC0E269B6A87C160584178A2AF946A64B3EFD9BA5FB4EDD99814ADE30405352E56C0C54171705135498CE167FB5D2096801CA57E01796E90FCE6C6A6F060E4039A2277E2C05D2BE3B6B2ED0FEA031EFF810E843C96F4CB7
904ACD34F90FB13626CE2F108B0ECB9F6A3BBFF2A1A78C455C560DD52D9CF4587B9BC3A5EA409FDB2B1B6FA8B0007596C83B01E2F0DB41BABF02B78E20623E77ED45B1E03C7962788C6BD6A6B09BE8F340F916B19EC95D304821204756AB6DCF8DA6
EA4497A435655167BDC2A049FFDD9966604A7F16B0BC854BFEF8BB7028ABB10D6C0596C6DF1EC0FEE15D879F176AD753A21253B708439F340179C3DEAA4D45456CF6891912215A712465957447FCE6370774EAC2A9902F296B94D88FB941B0232BDE
B0FD5766AEDE8706E2EC9329D2E721EDC07869537D67C3B3C4B200A30AD468D9405AC6CDA1E864D6E54D934B10DC2E298F9CDB44CBBAB668258631694E1E993431AA0EE2305C11C3D2DA9A61D8401F9155F2C491BE9E697F784A73C48F88B053B0A1
83EE54761CD652A35655B586F6C71352B140F656A00B0A32173D116AC8D875C00D27D9E5C2EA3FACBA07A5B63097AA6E9601D7B79E1609E592F602F0779E27E7498C0984FABA007D19683A3C0DA44AC6C6DDD2C128C037A1B48371355FB38EAEB183
449EEB64C3CF4101FCF1A5DFB86FCCD8344EBDF1B465582D8F568C248D4E8B5E2C293C0C9DD9003F641A37ADB4BF95E20A7B665C47B2463768FF088168899FA471CFFB74AC569BE33B1E44DC3E6FEB01CAF3ECFFF14155996D35DB0603DD0483689F
2FBC878906A92F12956D97C7B3EB57616CE101665999038462A458C6AD7854853D046D68EF7E5536F04014FB425BF3780F80549805533DEAEF10F179244EC5F562B63DE4B5C85457CD4016BB804A7F49654F2B9C45593DC48931D1518014BDFA994C
0E1A9E5D5320853F09C27B332AA41E17F8F1A32C1624B5C4714CE891ADF467637603B2219A66D504D6DB736CBAA94E8D32B26A1E7368EDB676B6AC70F8E20F0E9FD7C6CFD7FC39BA5A06E68F9BCCE9ABF8DBC2BBBA18A8F79966E5B495C6BD226F5E
02BCFF0F14559347323C2EA08A24F75AA8DB7DBCE3724DA3BFB410DA055746402DA0FFEDC260CAEEADA5A09E097710F671744916BFF3A481B47762457FAA04600267CB9AA202F67CA4ED72F3EB972479D537F6BB6EE06444B5D8622E65BD9047AB0E
1540B7AB170DB6CE19E25E4CC11727CF472AEBA0441B92BF2BDC3E1C7AFEB2DB09656E01A2F58E84B3C1DFFB5343BC2630123C9E2C2E2173E90D0B6ED42E394A6BCD9937D06D40B9C32742BB36B3E42445D28DEA7231A5A3C8ECE208DBBAD0187611
F970D804E7E5DBF1ADC261164B7D49F3D38A89DF76F291DA17D85513952CE8D8C19622F7F3552107935D8EB8F88E8324DB7ADC5881531ED5BA26D4B85808AE93A0E124F185DDC8B904B396607118FFD6E7BADF84A77AC0ADBE695FB6661274CE4A99
57FEB091D1051297A128FD0AEDED34F0FB5546D30B97AC4205FD766B5A94D3FC702F73B81D8DC68F656004D2866DEEDFFDCC7D8C88CBFCC0D7950B6FB853E75ECA111B6111B0EA9A6ECB5472235EBC6A392A6C141C7DB1D7E11360B50734E232BB28
82B0DAD52FE3584A7582AD7852E955BFB941DB1A5FCEB2B994110F77D931445D69F09012240146A45BB4F16946D6B78E3DA2288E301183208F66B6DE9EE81D034A3A2E96DFA11B386A5E6029E041C2FF951EED99ED1F3D877A6759F347AB40C31562
01DB2171E74D1F6599B865E320CDC74FDC25B29C2073D14FC363CD8E4416CBFC23E1A2A1F5C4FFC59EA7DD2CA8C7AD8234E7133EA2E2214B9219A9169EB8426EDEFF35F79BC8F7F3614FC1920E81D730B3350A23B7A63E78B861A90E304C12525CB6
20EDC8C5A04DE6F3B623C1FA7A3D1774F23D1D4AB67E0998A45FF8CA3C26E138B7BC2E486F528202F24613B5BB7107698E9F97A641BCDD9EF72B3A933A5EE005D211903B15E762400CA4A0F09AD30DAA3767A58C5EEA7B4F3BCAAD314F31C8E9C0D1
288B1BA2ED73418C231343F0BB66D7ADED081F75A3F4C9F426B3E6505298B21E53033532470445038CF3DAC86EAC463D1AC3D81DA9D25AF7DA08824752332BE71631343980D51CDD35247092AEE3259EA7D90D8982BDA2D5800635D8F4E3E9342984
145AD19DACF558255469189931C25E66FBC41B17FDBE62A962CA111BC16FE7E8400595776BD51C0233671B1BFD9EEC4504FCF0530E683A96AE5B835718ACCFA391476D0D354C7BC4162C2700200D6BD6ED1865422EB765E2B85988A1E6F2103194F1
51B0AFC82FD43816CAD8750E41F67D73A788A411E9C261B9183F1B1C2992682AC585E3060CE3B121E430FC25846F9ED37B3DEBB7FAA2C0C265D20143FD794B33C12708A6A02EA9F63C9366F8E43AF4F99D7BE0D9E682997040C0050B808323F1199D
31022BAB9F7A23BB22628AF710E576A8BE36BF682EC1380FF8565E2AF7F36E5D64B0A76396D0E4406A2A4C232F1E452E7A658CDF90EAA02B6DCC51F7AE99080F88F04ADFADA94D8DC72CBB61410CCFA88C2A36D2D0B6B217661C67918309A5D5DE38
18E473E019FDA040E62476E21EE7E9774389E1DF6B5EFEAB29ABCE5D59314F34452942727510CE5B971BD56A695CE0C9290A19773CB5CD5BD417386948D39230B609C61F300AEDCF4D09FDEEFC566CA575D022E77313145157B89085E234EAB9B849
0668350946E3E66087DE729F4E57AC5A1F455B4793720E9C4DFBC70400701EECBB4146FFEF0DBA04232F3272723D7F0CB707ABCC322ED9E0D0A3B892142B1E4992387B9E0627A5DB230827CD80F804D5930FC925A8F466CAC93012FB93BCE6A040F0
3E9D42AF3971695D087EFD6057C6547926CFEBBD1B842C44BEA4287B0612D95D892DA65B11EED19858F1C2B73C13160C12A2FA381E4B27AE9227EE04A809F1BDF9AE00BEB2BB1B41E14CA809CAAC02250ACC0F5C7BC97BDDDF8FE63516C5B0A87BC7
ED85EA473E464DDA9B7B41BEDB603858EA013719D9B4BC15B5651F3437E1F2749F9E86C947F0168E80782B333FA166E8DEF4668E03A984F4049BADFA197F21CB1D5A2E9B01DFA795024FE2ACE16CD1E69C2681BF8398621D9C9B65D3A3C68E5B02CB
8845338CF45446B30751934D98602EB70F9875DA98629F5993B170D86EFB89586DAD454183F46C17F2F66412F85D04677CCC045F052CEC01B7D3995049C89FF5E8BFFD666E68F1CE4DA2F2F6104312F8F23BD16E801E0250CB9DF7ECD0E7790639ED
819CD90A03889E527A64862B28D84AC2FDE0DD2941BCB2EA2C3B4043D5D7640AED2C7CAE3DA6C99DD66AA74A6D8BB0122BF11A4249D3CC3336F82387D452BB6A179304C6EFA84119A32E54F4808AECBA2EA75EB0AB2E22B35117B79DAA21D3F1ADC1
5B7C37C9814CD2C3A4512712BD7DAFDE8ACA04FFAA5203DAA3C33E0CCEBAB1364C857EC93E2DBBE726A39B1ADA2936571460B02F6D4F462B055964E7193E0461E68BA19D60CD0E077E48AC7BF3084B247E96014A93497FE958D7AFBD0B475C69E71E
D06E2C5FDBF723E412CD9EE98FCF9B0FDA17BBAC2EC7C896C8CAAB39E926950F4C70796CE5DD2B26F544697F8DE5355243FA1D2BD531DF94F69D0A32747F5F3D813DDFDB1ED40022426F974B433B2862BB895341F0130B178396E9FC557B3E50533C
542463FB878B3003B36F526BDF0897A52C71D0936B1A510D06BABCE19131CE15BDB0317F2346F50B01B1BE52930A9AB6A4BA70960D150AD4491E6B5736ECAA1EDD0E0525DFCF35A13D2B01BBAB6F798D95C052DBC42B71D4986ABB3DB6DF7D7EC13E
78C86E1CCD58E9819C4DC42B4E537FAE2B9A62C63FDFA4D2A66D5C1B75082F3BC550229A76BD20269D9F319FEF288DC54DF50D0B5621BEE819A2D2E39C883965C5C0600913022CA6E38E49F2DBD7FE329F0475A2DD12748DE90B1FE9464D8C5C1885
EA2BDC2406D4700415A86D604164AD6A2038D894610AD44762B6FE2A6E39FDC8E3640A89741681B6701FB714C9322EDCC440B98A970862B1F32F38C5DA943AE05146FC08602D90FD380C41FDD5D3F6C786D91A5DDC4B5A23259692BB9CA82652EF46
D1EE11BE580107C6C0A74623DB92987EB6AFED50BA18844519232EF1A76DF6448A3CC87F1429AE67240FBC808AC36B525FB53CF1E6663D844E66B8DB8652A9A2D41D010680ECD38A2C6B74088788AB57BFF5CA41487C2BBF1516D22A9D43253D9F67
BE05A7EAAF024806463C33A9D1F18F8953EB9B5DB6AF3C97084F65F4B563B02DFAC84AE9F6B0B221E6BD7D95C07B3F6C429A7B025922C0CD4966A5B3B6B066D8BCC601C1C1FB6D589BC01249D568922BB18625F84F28EEE13F64E573FAB0C0F84BAB
CABC9B232A3FB1E4D48ED6C7A59069927355CEC8DAD477379472B5CED4B3570EA5D1B68DE851D4ACB5143CE1A2AF56F2B6E2B62FA59787DEA855F4A8BF6DF6B4587DC619D2354F5D5FE5B9FEB56582A4A0E4E67998707D4BE81BB92F0253CC729D70
4FF9DEACAD4514DFDA1A2C959211A597030D7EE29B1469A6927AD212FCF6B9BCE2BEA6A708940210209779C16BAAB15BEF6FA42F1289B945D3AF553F485A8E5E8FB3BA3F5CCD5BDE6FFA29DADB48BA952D437008B1036A4A086604F560EABB16220C
EAEFEAB45A15B05DB136103A6C191D17BC15986269903B56E19E20E5B7874E9B6E37ECA109B7FA38FE2C5733931F091FE6A4F264E4C41A135E9A4941D0CF854B230423C751415CB7312163155F77C27170B572F0CEE387AA912FDB065B1AB2425342
E5ECE8E87105BCF1C81A4EB2B62536AFFDF1286C93ABF06B080D3E507C1F7C9A49F8006F63655C5841BAA6895A8C32BC7B0B2472D33587A72FACA032B66D57D7656DA3B4C4F9106505A9EACDF0C6D388E0A8D7FB91E9CD7859D884583C04FCFB484F
2480C194ABAC439FAE1520828A7E4E9CCF9D46EC8CF098695914FF24C22CA9FDC5378AC2FD1D131E96164AF8420A7AD69C61643A963EA137F7EFACA04ABE13DF2E07191FE6CE597C7DD596CCAA85F4D5932B4E7C3304E55B4862E08906DEC611BDDB
040D9CA14DB50549632557D73D54C278ACDA2A0E7FBCB2CA15AF7A8B29E1A074B9CD385DA779E4ED8186FCC3040FC8278934AAB422479276E3146DEDED51AF3352B0E4E7F5E48CC4F64F53ABAF6F802D536671206FB632917FF92CA6FB50253EDE73
EDF6B6E11148FD1F591F7B2A981C7AA083D475022424026BE134C1629B46B21DC5F0C2790BDEB7FD52EB2264AB895E1EE2B5E786198BBF11AD31A3E492F43921C44D7DE95FB6ED09A81D41669639104A270DD5B016CCC18AB5B6E371E23600531A43
ACBA5ACDCE30912858F427E34A0D217C9B01E7299FDFF9258E9384B14D6A57088F85423304F43C848B3ACEE47919456E1DBC71EED8BD7ECF7829333225B64E8843F67E7EAF452D94EB4CA039087AF2953EC73BA2776195CA0AC98311B19D608E649C
169E48C269E99FA532D639535E7667CCD5E2BBDBFD21902D2F01D6CE3436AE9CF870D8BE45D8BA6EAA27176802DEB9B5458606F7A998E679FA29CEE708F014A4D764B97CDD9A73D7A384D1184B1EE2EB24C4F997FC507E328C91C74BF06E54DBC32D
F3C4F9580ED7112BB4469D03850237CC76D3012BEF9EDB655CDCEA344E818DA4C4C2F9DB734B92931944A39C11D579F4F89EBEA57AECBA8745EBEE6F76396E831D7E0D84BBD57C1CA81A762AC53015F059FE7EB955E94347971F80DDEF30939900BB
CC63281EF1A7E4B558EFE6DF743EB430DBC8774381691AFD89907BB562B239A5538BD384578446A820B59079FAF35BC42DE23B7A5D08F0F4FF63ACC0D0DE6A765087F0E1B34B7547B17405059D026459877DB1FD15DCD4BCAF01BCED6B2017E57544
E4BD741F1C49B587D3BB494761BE1C2103414EF145B2B0579DC55490A6FADB8BE47AA6C6233BC052649A91F3EE1E3402C88112DF6DC8C0FF8C805B2E8B8391CF21F1CEB11183535A46E6482C4051CFDB6C1752743B8703E5CFC6ADC29226F3A7818F
03579A5C2B57F7A793624353AA29555EE2EFE013D2E136DAD727AF9E3C50F362214594F4F558AD89E4F58A95218A9DBA8F269C4867A6E4C77486231C6662ED1798805E41D31C99B132B44761715782D8DB825E81E227567A6B3A130F3210E3D58DC2
1FD64AFB4C5AC2549798EB7A1FCCF43F8AF9C858D3286E2E50632F4F8D0A0FE9C8B1AB62DF6DD3A7A8FB87C544F4D699497B48FCB2B68458CCC6CE0A2DCDF0A4A6DAA20CB022CBDCE7E4CF64BCAF454DA24290361311EB4899E0F25196A8270CFD04
843C76C74F35C906417113BE661E1D6C09CA3C4056D1BF0CF7AE1B2D1F3DD13B131907780EF800B7959CA192818AA9BDE0BF09588B32CF533F384F30C9EC60C93A3243E1AC3D6948DEED75C61232E65DF33C22E2EA32561D796914BE4445D4AF7F1B
42D06A192AB00DEA8408C06B3E17888759087C735CFF94B630A0993336E4345BD74EC1453EB830974EF693C700D84A25D02A1E263D12EE9FF6F8237D575836604888722E6A390CB52576F7571FDAB25C7A5FF475F61EA5B65EDEF99231484F0DA73E
0780CD9198EF6770C744D2B804B5B102BF4137CC1C563DF12C6A1B972533D51E872AC1CBE253B629F1B471AE92487DAACF10513A73577AA0357EE50A0172D96D751BD219A04AF30A6F9A3DDDC4A986C1F07395B49F81D672791D75801AACAE5D66D8
FA974422666E289EE69D408427C0661C1BE321BAD4399EFB83FA7462A02042C14CC62F349BC4A5E8724CDD0D2E89732B8C8DDE67ACC29E7D30E58BBF858BDF1DFFB894EA6C98D7DD769F6A88A3ABA8F0468D74E16140C28FE5ED93192411EC620BD2
435DE55B707DD1E6F8796648F7EBB0809807DE13B6E765A5C7A8F714EECD73676AF1AC8944B40019B324A961FE049C7C76077BAC69AA8DC1ECB50C610E6183DC57D843E0D26660512B23BE64FA4255733EA633D738253B2B28FC8EE78B93186DA374
F9AE08E106A9A1207BAC58F518A43FF28F21AC46E57CD9A48C2CEE42630306C05597D28570EC99D872047B89F180F115012422A0301134029C9212B9476A5C3ACBD89E633A45CBEECF81E4F908B6DBB40C8E45A647C12701A258C277D294A5147C6E
CE416FCDC429635532EB9A466693651834E54E85EB8FC4E9154B88140E75482D8B8C9C0698FE2EBF682792E167EDCD8CB0FF2459EDD42AB05284A9255A77979782A5E29F2CEC8839370668506282F435D51F64B9062E34A4ED7A583BB6D56F779DB2
70B3758C5AFBA0E10B6BB2F7D0F7F074863D4E7FB5299D46548EFDE25200937010088BDFA88EB9BA5C21BD7D81A2C287D2CADB6FFCB73A6790BC879366E36860BE37BE49351253EA1F66CD1938245426A59F735E8B218157DAB45434D6EEB7E2CDA0
6254E8B624ADA1EE04E9BA7C3D72F451361CCD42F74747F7239836C2C394A6D43E02B5065DDE064D6430ED27D610DFADAA0AA6B4CCD32FD87EB05F0CD92F2C77CD2C239EDC496F8C2F42C00A8BB2DEBE294C777F62F4AC5DEFF814A6071D85A038F0
C141E1D28E1816CB913969EA2DA7439608259695250C07B27D8FD3F4A916FA6EB91FDB1F746BA6D79537962EB9539A21779437F197C498A8B030EAB9B75D3E355B6EC4F55B92DF8C5B771E07D1B6D0029330446A1EF5A8BA37DC7C3C49C2B8B08493
CED19C5B868A926A1AF084BA2F50B686AAE21A0EBFFF19528F40050B6F39DDA1E3D2A0245100D86C726378BDCB7CAEAD2CFDA4EBF294859BD56599D7E71EA709B5C40C1FBE71BEC2EF89206A70F9E8D65744C79C48F454237DE193230AE24A159DC8
904C3CCD6448828F7647D11585A4AFAA4C794789BEFACB7EF618CEAED679B24BA13D53347E261780169F3A80D1E47E2CF0BAF742DA0CF5EA3CCBC1BC31D28DB8334AB15B14855EAEDF55280A644AF63FFB51379664A86124E747E8A5F426FCF35AF0
06CA86D1C69C52317CAC69D6F7E010723B75971D39CC2A9935EFBE5D3DA70B8B477645600C85F9DE8C2B58DD3EE33DEE7BC793ADA4269506C9C6E0B0BAB704EA0AE07EB90C79852DEA21BA26C51AC4E7635CE91FBD5F44F0E2C7F82AB71646C9962B
6EEE58BF420130B7D240BE18269E9B2D9CA7D43FF0FFCE44658445C15FBE5B50E343040D69CFAE13AA213CAB07647F90D227259C188DF91F76858F449235449F6292F8816907BB37ECA462104FCE42C5D260774BA28956EAF6DF5329223B403F7AE2
3D808000F4111322C15821497F7409E43802F932D23B659BABC0D9791E2E3F2012D57102ED0CB72275421737F92264F43023604AE78C7CD7997F0E7041040F88F6ABF8EFB271E0154AFEFCD6DA55C6322309DC7B09EA03BF6A67494589F5CE8598FD
F5EA66FAEB06A34A654D91D33B5213F532E1145C65EADD6C125AC7FD682B445D24C3C6D119A87D1B650D1136140D6DB8FAD4B122AB56BD27F3BF787FA95FEA19C0505C11369A4DBEE81E233D97DC8FD996330274A1BF58C73377802AF2645A75A93B
566F558C91315807DA14F8993A3EF4301456A34A2D4EF1BE8D7C3A8BE3C8F7DFC3B6128FF6DBA95C7896EA2B9169B1162982757AD1748A882724AC3E7D10C0F94E04ED7447838E1856CA6D1296CA1A096BC248CC99204E0FA0308913596D58B10DC0
C31AEBD1E634CC4DE26251B3061D88351DF351CD2DB54D49AC53E45512FB56A6071D40CC1F3BA6D244B3A37CCC01AA9E9EF80B32A363CF821A99B74B6C2BE6D229A02699D6A162B6CACC9E912035F5204F8FFA6C28EBC254DC0357E92990A3DE8B7B
EFFE58DE63993D058D371ACFD567A9CEEF69D7712A0326F480BD85F9BF224D54165FF538F80E3F0275EC94129B000CE576683782D7E2102AA98C0463515FED108DC38AF79460351DABB7512B0C011382F5E5EFD6B63DE1FA0347A875C6F104F464EF
CB855F120A8D1A70ED0FBB2DDB81F45FD510AA9C344645EC51C7655C3A30CC6630F796F8CE5A4CFE9C6C3C0512ADD30868E82F07A3D14BEB2CCDEA1F9B95965C58701A54D779DC6BF0BA5F9C4FCDDF3C4594B9FE2EEFBD1ECFD316ED13DF03C997D7
E7F28B4E2D025762049D7BB89C027263E870D8DE6D9930F8D745AA4C658D3B50E3E55C05235819CEA433CCE4ACAE0A98A398A4F2A1DBC7E729E1A4AB07D283706CD79D4EB8756320950BEF7B8C2358C4CEE7F2476D1BB6381C8D287874E3E5615DC7
C392D8B4E863F7C580B1C94D224DB63131A5C7E42E068202721E9E31324A2ACAACE83EDCB5404933327EAFCB1B4A881C03E5FF6080C078C7833ECB9B4FA2A83959778F08559418EDAF98B147ED77A9726E7E720D1A41C5B342263F1B3311EA743C00
7A2C743C905EF9C0D758CB7E75F33E08385279B8122646322A3D8FBC66406C906491373EC829BAE82203F57D9F3A9493F47BD9CB3FF88A9F7124697E1CF06170927A81574EB25F5AB8FAE039C79273658104361AE81B805EB6D2FE43D776869FEDA6
51FAAAF4CEBB6849D4EB408D916A20B33A53E92C4E16E699AC6EB25E7EC8D84F1FC126921AF9EA2F7DD8E720959C1A8EA9B637485240B1F4228347935743ACF0DFCEF3E43908930E17A67FE6BC34228872AF98FA75F29B4439E31907C01A23341184
FDA25E28EDA4B6F8AFF2BB17492849FFFF27D4BC3EC7EF50ACE7142E76A676F55A6CEE74E43E6E4E47AA51A5344D189DACD258E0F7ACA6BC2E7ED061DAF6CEBC4FF21CA3C803B02C97AAA17AD338A24720AF1AB7ECF5FCB1E821EB0006FCE9897A2F
32830C75F3170B39525A93B3163516B3C569F6885A18DBB13E997C500F3EE217D10C0051724C0D8AE483CC3EF7A62EDF1D2A8EF7F79E375D738000BAA99616DA93FDEB30E2A69EF059754C9DBCB3039FD0DD9857A33234434A5B33664A92A015878E
D93B775FBCC34B5236D665D01690554FAC9A2A79CA31F06BD30707742FE19DB9FC6A31AD62147FD78FF113FEA04D21DF940739C47EF271800918D4561E6D47C76D52160A5E92E4F62654B968B1C4237E39EF0E35120A81DEB717F22AA41ED50F8250
6EFB2E5950EC0BED1DA941C91D892A298FCC5DAD9825E729BDCCE825A17C1BCB0D5B3F70D615D16DCCBA0DDB919E2842E0AC5D9D0750CC3F6E2657623EB52D147B031B0A72C171EB9CB1AB8C32F3A724CAFD39B4225E0D99CA299594E3EA4B82522E
49E1B889F1B4ADF9D8D571D99B75BEDF713333C56D5A218D2B099B560430D9D3774D99FF2D07FECD4B387F6ADBE95A6E143181ABE90309F60ED7FC2D3624175D38AC3EC0CDDC146E9AE07F2031BFCA276DB3D1F265843941E9123A7C213713432BB2
0543C6DA30A6642B5E37714A362271739037A8424F8D5FDF29913F71CE25BAFC00DD626B788513ECDAAC24C9594D907230836CE2FE71A22FBFA2123ABA96295F49A476A8CA6AB324CC28E13CC8550F5739465C3DAB428B25ACE3DEB73CBA4B3F8162
7F2AB3E34C724CAF6AA406184EA070696E8410AA2E55132EAC8F4DC2AE25E3D89C638D255B6A4AA82B75EDFAA0065CD2FE4C3120CE4DC74BF45E59267C4ABAE2DFE00CD762EE4D0A92ECFD7913FFCA2ED81EDED8D982FB576559F05780B5637C9C52
2F50A1EADF26F1F274D3B557696613FE3D6AAA473AE19ECCE098D90202536E27EBE07EFEB5ED795D17271E59E0E0591E0BA08D5421EC8AF14456D72ADFD4E8CED1D359F46BF67B51993BB768A51FEDC0985F69E69F9572D8C3531207B94161F24DEF
9A07A26EA8A1850ABE88DDD345F9D86410C2BDA8286DCED587A86E806DBD125F7E0C760221C44FAA3716E8F218304D7E47DE8D56141F53ACDC6EFE9B86B7626DAFEC2CB9A02D4BB09BAE361694EDC9005BFE9899EECEF1EE81A041082A75BD6EAECA
685531A93AEEB58421E13E858FF3201B6D45C54065FD5F7D2FC3858A288D536DD43A70070BFFBD867754A720FE27A2B48C47F9971C1EBC15628956BB81184F425699CB6F18DB6E74FD6BDD9873BEC711973DB91B69AF25BFBB80F7416F15A52B86EF
83AE9CF9EA3F8FE1DFDFA1D753D81C29738348F1172C539BD5D51ECF255E7FC4134BA87D8B67FAF4C124D731492B6C8C43BCB84969806B49DF31F1F270486133A32BB0B23638EDE4D23D4F6305C303A78E78B7E8066F65EFAF72659C12D20A5E5A1A
15E556F5323D8DE064382E8539C2F029B0AB1F6F177B6DE4AADAA9D8C134B50ACEB5647B3BAA0EE19EBFE6514CA68BB67B6D0D2DBEB7E20F6AAC67E0F487C72BB75C702DB4D80A5C06CE8F99F1BE007017E59B506E58C4396D4EB6653900A45E1C57
0860C21AB3C6863356F5580E3D666A89DCCBFC589DE405A8F821C26E861B24976283DA0846190800136E84BC3BEAB8DE75CB7D9BA26E20DC91FEE2DF70BDB26536B2EE2687954F8B6CD27670623F03FE28ECF1B9B51F0670632DD3B4D6DF8B573D8D
C98B1847D2E1E158858950B58C47A6DC893EEBDF138FCAC771A9C1514ED069B618FAE660C043B9B68AD0B0343DDC0D872D0C4BCFED0CE5BD4F1368AD734A9DDBC330ECF3FB497A97DB9872179E24B188CA151A8EA15A518DCCF8ABB4A591EE045CFF
406334C358D62CB73C9010FCF56F3D0D53599237C5D51D999B5B8B70D7C0184D558925C9416C3AC5FD6037F859F1A02DA7E7B0431C16ADDD5C1C3A1ABF7AEC013104EB067F5F145D75E4EF3789575206C4CEC2682DE7FC37916469D46EB3C88B1C61
43258B008B3749DAD41283FAB14ECA883823CE29D68885195B4E79CB62E41D368A505FF08D4DCD08F2264F17E39228AF854D0B9728D481913C46A6C9EFDF2D72C32C4B459717B561073085339364AB18CC7972C9E3F0777350BE927E44C41C45E3F9
7D6C6224115C81384C83C7A259BADC8576219B5D8ACC3EB471EC700CB8B6AF5E5098BCFC4F229E1DDBCA053B93112AF46BFAD99095CDC37B4D8D3205F323BFE9B150F134F95237CA0F31FBA785B468DD9F750732321FE3928C6DF144833A7D93D1A1
44A846FC9481F48AC5E447060055064C0A38440EB24DEB51E2FEFFDF9C46306340E025D15745918E88EEA0CA70F49BD158B23F7CA3AACCECCE7421396CEC44F0EBB2C71937467E0AB3F1931D3CB609920C945550406B18D612A19A9023AA9E53D066
55E2C96C8E1A89CFFEE3EE01E7F8F682E9616032E537D3F06E484EAC1F9D19EC783A9F82AADFB5E19947355EAF410F6C6B9C6CB53B1EE4867DC7360846AD7583F7861F3DBF6E1E5CC87752FA1DDB20173D91FA1928060FEF8FD5C3640E254DB01224
F110110A83F01D315100BD6BCAFE86A6F99587AC3B24751A9A7CBCC5C920500B0A1CBA2ABEFCA7E50F088B31DC92517846A7F0C6C308F92F0757DC5F57642C9697529326B32FD7947F32828045DC07B3B3A94FC40AF0FD6B0FCF6AC6B7EC6F885A8A
55C6CFB38D132BC5E6D9405CA2015FEBB392F17AC3DFB2A1C23041D59BE5B8C7B057B41140ED0BCCA65B0393EA0B8FB401DDCEE15ECE68E51CA81DDAB1DB27CC5FD93A39C4EC88C5DB5628F49DEA68094C8DF16CE2730C25F0E0CD038C01B5841703
23F1B22254FAE43D156BFFE528B5CC16FFBC8B98BAD78C8EDBA30B308DD4FB9C15BCE43AC9D74F8CD7786896EA5B98AC4DB917FE0B586AEFB14E1A9D82E2E4E37DB875DE67DB3C89FC3351314E806808C4F514E2467C0174604C48395511C976AD59
3A6028AF373E556BAA170E8FFA528AF84119260F207F4B7738A38339509385AC067FEE10C3794F9B6A579D0C5333205EA3A2F57BDD489CB930D4BA85398D2A33E83050899AE65B2BA2EDD54DBC8751E84C482B6E0BE74689D56EC4B198505F1381F3
A016AAF206DE1F07FE52A8BBCCECE7C1377073AF5DC201048DBA85D1638F2ABB59919113B01D25F5BEA0980CAC2EEF86133081BFA01B97983518CC568DC83F8F77D3856AE47B3EF87165992A413FC3ED0E642EA8EA64A10A7BF7982BD58879E3B978
1113A944E7FA318AC6689C8B367230C167516125CD0A95CF439140AFEF882D78535529A0338C0E0F09BEF408A278B3C57774FBCDB4F0906D35125EB0EDA0F40D4799273035A050520F64D548264615345B3A7688CE0C56AE1B74181E3ADCE299D4F2
50C8417DD282956E3BA7D0226DD4AE9D08D92C650882D63B08A3450C2D2A59C3D8862ACF21CFD9D5E486FDA45735A41C31C392E04EDB0B87458803D32C13EFFFB402DB594E87A17D2933441784C61598EF607BE11D6089F70A22A9F2A2463AE3315B
B3CBE175ECD1D38C5ADCA668A5B544DC6109006430921A40FE2E0C761EED417A9D5314B4A331BCEDBEE0169410E86FC32BDBA21592B2C3EB22361585A7E06B7E4CD7042E4D1F5D565F577DBFEF5BAF7B59752AA3B862D537C93576A903E0D0153747
F5C5650E408F22F26554212CFECD54F6119DBB
000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000
cleartomark
%%BeginAGDEmbeddedDoc: version 1.0
%:s8W,W5t=="^::eu!!!__GQHo3I@M&&H%+)Q]0!XGkO,X+mC9G;
%:!!!lh!!'+3-lPLljdT9"j[6``M!P*Ai[5:
h&t>mqb3ef5kKM_lZYKO@C%L*T@t(!Im6#UdcMPo#GO?>?9eR?P\_-YN!!&p$8u03QrkbAJ
%:_bo"DBO*T(-i7$;5c9O7k]H[sSKhq>1-l;Ef%0Grr,SmU(9Br4Vkq!!)HOkLU7_J\@S)s*jg"(K^Y;8u2r#B4/IVA=s?o_(nF5!!$K13=OJj(A'HCsb`^/"_/cMaX::n;L:3q#4iqc6lg!!(Dd/"@f!+,=#q/ob2ISEp4U>Ai`2YQc2P"YiUAZSrMHU!6:m>X]@qJ4>N
%:@,N$=jg7&pgg`!!%3:Jj!<"[hOD;_nTJ,Uf%0mL.[^>PMldp%-4a+$^(P>!!'f*SfPD),rUI]QR#>8"hil$X^CJA]%4S(ZFjb;r!!'@RdpW'J^*h+7!7Md(2o#CnWtg-OZ5ME[kgA`OfFff_!!$iE2f@+1C/%cHHH`aTZDR[&moikWD^E*.ksMX`R0TpS!!'HjgZOF[3#on$
%:UrAppQZ"#TeKOtni2AWnWERT5)ECkgUKmsgle5ahV-fmLGSu2]cQtaNbJ0b>C)S>-+<.A!!)g#CUn#3mX#`E@bP.D[^?)8b9epq/7Z$kp5$Cf-tCf>!!$skeB[?g6cNhWE/!">oLo5b4b^;OJm6e%)rq22>Lj=#!!%Le'9qC"BLrS8P/4!2-!C9K%ss#N7%'j-Z#K_BA-lGs!!"GeEAjrc6Yfn0>LbAQ-!^KN];!ur
%:g!9:qGWB:,"BPl:5"fT=!!$<^e@IQmhSpJpOaeQRAJtOKf$gHj/d3"``LQWZRl4m4!!'=22g&]d2dY7%g"Z`uYe0r9K/O,gXL#9J?)F=Wp.V8g!!'84DTpn%SWd42[&GoE1Re@EmBdU#E+\(8W0'Q>s)$uI!!%0kdPeERc,?$YkaD!>Ta1VumDZRQ3(2nb%)dt\12o'>!!&3gB#uJ!c&u%P'Kfsj)n#_HGj'.&^Jml9rIA#3\t!Dl
%:33#"A!!!trW2`at;?b'0Hlh%;`H2([Zee,QJZ#Ni,&aUfc4G9h!!##%g2N/I7@)o47Y`KjaRT<2Ar!iTbW>WE\%P-`oOr&K+JHLZAF8.Th]j^R(I_40,@pcJo`5!!!jZU!*tF5#Ti[.hq7*AU"1T2+'!_/*'=%a69%RbJmF_!!$CF:k$.P2qHM#?04kqo:u?dpW@FN78]l)Rt&SL,3YL+!!$s'Vc?&Sk!1!U
%:'6hNl#R7/Y408J_.?E2MUrnMogdcB_]L(iu!!'!?McI:dH/U=?h;YO>eZSrQ.XUtk;L,o97NRo-+`NDr!!##)cQn)]HL/ec#JL(3Pst`R;,(GCs&8l\kn*]gh(u,]!"af?EPSe,K"d('U,`3*Gd9[:!1OS:7#qh2SCg;$UT1n12#mWq"dDZm@]=Le*.H$W@"3P(!$l]/>SeWGf.2n@.$)n%*WQ1A*^Cj_YLr0R!`CljUc8SZ!3Ot,."c,"0[ZnL/4NW@WrN."9rdI2Gtflu:7/qSq$&GO!5Bd:b,gG^a(FG<82A=5h>dP5q=0o?gIR`*kBm)19;>#X!7PJ%i`9;\(1L\J"th<"4h/g`ePI_pBG:2!5PHRH\YCi!JO(nJh%B<:B1CeMkY-!gK5bTG$B(U
%:]#,%=,9.-m!)'Tr75+D4iVa:jer+'k[K$;JCs^<=YOP,/o=lR-ma]BD!-'n!jFc"t5s8CL4(N,c*HD,[UC5[jau%uL"W\5TY0=N@!!(ARmkBuc+AJC_XXSk9l#?\'F;:62kjOU%ggLJ:e,J'l!!$a@iFtAFLGjQccudl23mdp-6!gZ007rO9T0g;d.>"H\!!#op*XNp@30O1a@<]>qEMNR76KF9s?#<:Jlucto_M8d!!!$n+oR?;d
%:O5U8_&9$R-PMXL8rDWasN3:bBC/;k(k@DlXkb__3C-_b\:niS=NigQfYV!%B'$k8gesE$=4Mdc9:L0`V2oG]1CVmjNri,9/H[P/F'q!6<"'`5pp+"s!&-%e6qmO9#>[fFJi1a^I12I5,d;Ltfi0
%:qZ2I6"TXh*kn+DF!?X<'*sN_aO`H8]!"c8aIWuP&+g2DXJOBVG@c["Y!-80r%k^rc,a46d"AH#`"?=!/KVhl1+9%(chM'^u:WE_b^?VOpKl)#,_KW?WIZ?$usp>^]6X>__,nqoQ^.r3p#Q[1Mr.]5O/&I8NAj$B1^u8eGZ_TuW
%:i;aFZ&;T#f%s`SJ0/tirg`Ibr!")L)*.CO@`/R=(==/k2gGK8-!<@YfVj,*0&V:OE(cct)i:*BN!-1%PPm-J;ifH*Tg>A:)j&Q-[f*oAtGt)]om-Q^Hn)EZ9!!)KH2Sd()Af'Tt`HOQA:29h0gJ8$!mu//)7Gi2tQSjJY!!&nh2\,C\'LCWp*RYWg2*Cp>I(q6_7/_Q^WF&AI^Q0Z-!!#a)B2uMe3NUZf[fJ*@V]c$?350*2DYF?=
%:rrjc:+o8'g'EP'B!!(HsGc!'MTPpR)1kdX2qE+`X(Sa0Dn+?F,lE`=IcSg18!!)og0oV_k,h"-2Le+o3PROJWR9>+b!T!!#\7V#g>-O0j+/A$`X!ocjG:B_DMEiJX_h21]B9;n"Nc!!)POEc:DJejkkMX7;GtJ#lPdL!!%g:%PDHV\"Q;k"B96n86;IC.=bmWl_B5IcjNO/a[Il!L`T
%:!!#4U04XBD7Z@c\GXnt:Q59N$6"LtDEkP0Z$;jOlh/?#A!!&C"&cSbj7-O#UKV,cT\F0Ct@Gq*j$A%)N3?d1+,P>+P!!%B0#@7NNgfX4BCXs3:7'cjnrGj!bh-2"K7D!rH]W+Y4!!!rlm=*os*rYnc=&+&RAA8*EB$oI8eeCH>)@ftM"FUr-!!#Pg#^)dK]O-R8$Sg&W*U<\*,O'Ln.'JC1ar;fPDY#J#!<=NlS6bLKXYr6\/j5b<
%:-nKZU@jlp/!/Y=b?XdRCbn/WJ.GNHEf`2)V?NmkUQ3pL,&rI`\&474L!!'d_7r5)fL#..NE=G[ljC\Gm8-LB*o,@eWq\^b*I%I3PVhtHS]]6VCFZb&3iZ2r"6_rtl!!%eVQf=L\lScD(YIBr)H`R2I9r'^%d7X@Q+">a07fO7P!!)5YC4m[#K\g-hm<*Xu8!!(1Y&F-XU
%:J)G+LiC<.0#`XX8,C0=i;&e(5dQ?\3rA$j%h@42k!!)Jfd>FklbFD$iC8BTbUBU\uVpR8t;.Eq-j\@$hBLHq\!!(E)g9_5@W.+]oW3o7dmBI/#+"gkqjS^,MfdH!!Lh6NNR@Ac-0r[bA!dA#%rkp!#kesUsX*[,Q)Y^0\.s#*<6)-C%K`12q`S#oR\2-*Be!7!&FtE)$],g(5MG'jUe>UU+I[ka[`(26%8N*%QCI5QJtZ#o(dt0ktf:8>FS4&SDeS$Sj+T+cXL?7Vu"^Qi`q94pSNQ%l+T%1(AIP%0QT8[Pj6J!;Qnfk^53F7ZB#-Bf&RBC-Vi]/JAoIp_Ym",c";>C=Eh@&/U0'!&84F.AY@%e`bS_7a+)-Rt(K%3)1]1(2CaG6=bgj)DV9=:]QDM!I@^)Ri:tjH(o6ZR%J(3!!%r$L^kL"
%:<,GuTcp%Jq+absC!l"^8J1j=hDB;6%%U)d::OAo%!!%>@Y3:udYc@m!i^Jr!@aP/UUWsRjdiRaO4]41aUm^&u!!"%UmNST"68;1DKm;;rc-QFj,Ai;Zkmm(B`GXH^;M[FJ#QTbmM)@(r3U)Dn+)`CTZ-s3!;oX2]ZMJ':>3q6S8.fMBE/&4GW,^[,KUe%`D#*qEoG+?!7XSfj.T,l\YMl;YDLOND#aS*PEO9tdeIVpgQQ_Okd)rC!5J=P3@j;R;RP9IY%j#,WW3$6+#'(ag!%M&B5.0Kc.OWJ!5g/Lbgi\$Fe$d(fPK@kk5YMZ(3>bWO+kdZ/W$W^3Q+Vl!"%h-k@,4d>j+0La5.TejT#9sG?D`RS_=Y*
%:`#mPFFY'Q2O8\MI!34'M7?!"Y_S!'pNKM@h_Z0sN..Jq,s.4GTGVaP+BqUu4!!&*J4AS5Th"t[i?N5L\VIBN*LA5h$WgTt6Ho":&R:AEq!!!dkPWpD@%:72LZeUnZ3P,7kb?o;EY:F=dndirROUiWhS-&Feb'R4
%:!!'!U*t^#0nfI8"!WH%kV;_ITKL:bPHm_p^[bI)GD-s8Q!!)(F=f%Tp^(MY&g[d.!!)3Q$i-'8+TH#3.5kaLJ/J=e@YU<`jt&=2S8U#:(Rk_C!!%nEB'RTOk&N9,=Cj$;
%:/4D\bLRA,Bd5b]#+2F)4q1":1&n_C`!!'2WbBPY<=la2Xs,L?;R)/h'l_:bNE=Vl#m$:\"&L3ZZ!!$m^ranSCATU[mVeD.%jSW.V&NcNF4J.cmK!raI"E=bSFT+2aK^GMp"8!!$;u)Hst;-G4GmcN19$8CJb'33W]gGlHe*f_WJY3H?>!Y!!$(`Y,%@ieWWq3I.`FTj0/L`<6rPkrmcq:-)p0FFFC2mc\"U9
%:!!%YWD9d@;qPL8WD:V!/pKR[u$1i;H,pckfB+$M3(mt5
%:MsYJAfjk'_5/(sj`Uu]t0:k1nrGD2>!!#`(XCh>(.@83TV)=1"\hXu!Q=s>KOoPJJ%@M%@V/76B[%qC\RMC5N!'geQ>26Js.FhOd!F>I;(]XO`S]5t>rii1'Us@2tSpM[^!'Mql2*JEnC\foYAqd\s!6aY*).@^N\+N`e%5#Cp_uKcq\$Tjb<8CGWhQ4NM/3GNb!+Rb7M6McE
%:$h/HS?8j!_/<^AOLB%;U%gEbOLs@B!1otDsEKDaP!'iB9I7VFC)],*Sj-7\H'*&$0:Rs1gd^7`mPO#*sekN:I!1?YBWG_Y+.BQmU9k2OI]BX4_.d!8:,YkqKT8:=Ed[B!]%mC]FGi\!sL3S%6GlC$mb4jqI(]!2,<')l%`C@o(<`o1=#4ScAaBL/RH(^=!`@=d_uZq*M^o!92A3_bQ+[WB0)MF.4AF;YL.j
%:BE/&/UW&20Wa9;-q;h6e]FqON!$2+>%C\SoC]H-ilMul5B`J-LART%aAH2bs6t(1K<,$3"!&stZ<^^Y3F8u?>A7]c]!&[)ZDZg&MCB+?m63fniF(96)E--#=!!iQ*ZWLgXEbtdWY#\F(!!%3E!(C^8=$GJt
%:D.RT=#j#!1D.7F"9PFJ4@WGmtGlRl"<+U;r2$@[p!=XO0<+05i!(dQJ<0%7l5t==4D`7au!!#SXDes?42?3bI:i^Jn9TT62#m!@O!+TSNF`M$n!6%WGDAGKK:glBla[Z>C"9?bR$NVGJ@<,cV&8-#lE+f4Oj%W9W1(aLh6t$'\FC>.LM+22lF\W#i6=FqL@t>LW$u>nE*`,d+"TSOD7LN&r!-Ca3bQ'F"=9egX>67;!!!&oeD-\m]
%:F_PAtErZ4B!HqC`H#.&C!Wd=?E,Ti>$NO9A7lC?`4;C!k!4tp5H"AiG<)Pm[@3ImRB0Zt::Ng/*#;.\=BE/&P:fDlFBa(2#Ec6)>!!"<2EcQ)BC&qohKlIbd(BK:_!&t.)D/K=R!JLQP!FPnJ5la1N!7(Ya!6"rW!6"rW!!#:'!6"rW!6"rW1BAd%,lf4k!.H3o,lf4k,ll7_!^QfP!'pTN!&F]:!&4IF!-A5!!N,q070$6ds5$Nc
%:F9&5"!.ZUX!TO1?!%e32!Hp=#i'@?'!2fi4!.Y<9LD"KjfeF9*upJ,ueQ*?TA(<-80m!!";G#VIh6/c[Fi!/CYJ!'pT>!.Y"XE<1anK`Hf,K`Hf,K`Hf,K`Hf,K`Hf,K`Hf,K`M)?K`Hf,K`Hf,<<,#i)_h\T%YXmo!%fQ!$)nPM!f[3[s3VC#&+9OS!egW.!/1E,!/1E,!/1E,!/1E,!/1E,!<3(R!&XaD$pakZ!'pU=!$7K4
%:#rNiI!ODg0!JXMq"9kq/+p!0V+5d1#!6G7sHR$iq,$GGY2'^FC+[7=f2$*"DjT%/2"#2._?RB\ZTg]&B!iJf
%:~>
%%EndAGDEmbeddedDoc
%%BeginResource: procset Altsys_header 4 0
userdict begin /AltsysDict 300 dict def end
AltsysDict begin
/bdf{bind def}bind def
/xdf{exch def}bdf
/defed{where{pop true}{false}ifelse}bdf
/ndf{1 index where{pop pop pop}{dup xcheck{bind}if def}ifelse}bdf
/d{setdash}bdf
/h{closepath}bdf
/H{}bdf
/J{setlinecap}bdf
/j{setlinejoin}bdf
/M{setmiterlimit}bdf
/n{newpath}bdf
/N{newpath}bdf
/q{gsave}bdf
/Q{grestore}bdf
/w{setlinewidth}bdf
/Xic{matrix invertmatrix concat}bdf
/Xq{matrix currentmatrix mark}bdf
/XQ{cleartomark setmatrix}bdf
/sepdef{
dup where not
{
AltsysSepDict
}
if
3 1 roll exch put
}bdf
/st{settransfer}bdf
/colorimage defed /_rci xdf
/cntr 0 def
/readbinarystring{
/cntr 0 def
2 copy readstring
{
{
dup
(\034) search
{
length exch pop exch
dup length 0 ne
{
dup dup 0 get 32 sub 0 exch put
/cntr cntr 1 add def
}
{
pop 1 string dup
0 6 index read pop 32 sub put
}ifelse
3 copy
putinterval pop
1 add
1 index length 1 sub
1 index sub
dup 0 le {pop pop exit}if
getinterval
}
{
pop exit
} ifelse
} loop
}if
cntr 0 gt
{
pop 2 copy
dup length cntr sub cntr getinterval
readbinarystring
} if
pop exch pop
} bdf
/_NXLevel2 defed {
_NXLevel2 not {
/colorimage where {
userdict eq {
/_rci false def
} if
} if
} if
} if
/md defed{
md type /dicttype eq {
/colorimage where {
md eq {
/_rci false def
}if
}if
/settransfer where {
md eq {
/st systemdict /settransfer get def
}if
}if
}if
}if
/setstrokeadjust defed
{
true setstrokeadjust
/C{curveto}bdf
/L{lineto}bdf
/m{moveto}bdf
}
{
/dr{transform .25 sub round .25 add
exch .25 sub round .25 add exch itransform}bdf
/C{dr curveto}bdf
/L{dr lineto}bdf
/m{dr moveto}bdf
/setstrokeadjust{pop}bdf
}ifelse
/privrectpath {
4 -2 roll m
dtransform round exch round exch idtransform
2 copy 0 lt exch 0 lt xor
{dup 0 exch rlineto exch 0 rlineto neg 0 exch rlineto}
{exch dup 0 rlineto exch 0 exch rlineto neg 0 rlineto}
ifelse
closepath
}bdf
/rectclip{newpath privrectpath clip newpath}def
/rectfill{gsave newpath privrectpath fill grestore}def
/rectstroke{gsave newpath privrectpath stroke grestore}def
/_fonthacksave false def
/currentpacking defed
{
/_bfh {/_fonthacksave currentpacking def false setpacking} bdf
/_efh {_fonthacksave setpacking} bdf
}
{
/_bfh {} bdf
/_efh {} bdf
}ifelse
/packedarray{array astore readonly}ndf
/`
{
false setoverprint
/-save0- save def
5 index concat
pop
storerect left bottom width height rectclip
pop
/MMdict_count countdictstack def
/MMop_count count 1 sub def
userdict begin
/showpage {} def
0 setgray 0 setlinecap 1 setlinewidth
0 setlinejoin 10 setmiterlimit [] 0 setdash newpath
} bdf
/currentpacking defed{true setpacking}if
/min{2 copy gt{exch}if pop}bdf
/max{2 copy lt{exch}if pop}bdf
/xformfont { currentfont exch makefont setfont } bdf
/fhnumcolors 1
statusdict begin
/processcolors defed
{
pop processcolors
}
{
/deviceinfo defed {
deviceinfo /Colors known {
pop deviceinfo /Colors get
} if
} if
} ifelse
end
def
% pix = x^2 + y^2
/printerRes
gsave
matrix defaultmatrix setmatrix
72 72 dtransform
abs exch abs
max
grestore
def
/graycalcs
[
{Angle Frequency}
{GrayAngle GrayFrequency}
{0 Width Height matrix defaultmatrix idtransform
dup mul exch dup mul add sqrt 72 exch div}
{0 GrayWidth GrayHeight matrix defaultmatrix idtransform
dup mul exch dup mul add sqrt 72 exch div}
] def
/calcgraysteps {
forcemaxsteps
{
maxsteps
}
{
/currenthalftone defed
{currenthalftone /dicttype eq}{false}ifelse
{
currenthalftone begin
HalftoneType 4 le
{graycalcs HalftoneType 1 sub get exec}
{
HalftoneType 5 eq
{
Default begin
{graycalcs HalftoneType 1 sub get exec}
end
}
{0 60}
ifelse
}
ifelse
end
}
{
currentscreen pop exch
}
ifelse
printerRes 300 max exch div exch
2 copy
sin mul round dup mul
3 1 roll
cos mul round dup mul
add 1 add
dup maxsteps gt {pop maxsteps} if
dup minsteps lt {pop minsteps} if
}
ifelse
} bdf
/nextrelease defed {
/languagelevel defed not {
/framebuffer defed {
0 40 string framebuffer 9 1 roll 8 {pop} repeat
dup 516 eq exch 520 eq or
{
/fhnumcolors 3 def
/currentscreen {60 0 {pop pop 1}}bdf
/calcgraysteps {maxsteps} bdf
}if
}if
}if
}if
fhnumcolors 1 ne {
/calcgraysteps {maxsteps} bdf
} if
/currentpagedevice defed {
currentpagedevice /PreRenderingEnhance known
{
currentpagedevice /PreRenderingEnhance get
{
/calcgraysteps
{
forcemaxsteps
{maxsteps}
{256 maxsteps min}
ifelse
} def
} if
} if
} if
/gradfrequency 144 def
printerRes 1000 lt {
/gradfrequency 72 def
} if
/adjnumsteps {
dup dtransform abs exch abs max
printerRes div
gradfrequency mul
round
5 max
min
}bdf
/goodsep {
spots exch get 4 get dup sepname eq exch (_vc_Registration) eq or
}bdf
/BeginGradation defed
{/bb{BeginGradation}bdf}
{/bb{}bdf}
ifelse
/EndGradation defed
{/eb{EndGradation}bdf}
{/eb{}bdf}
ifelse
/bottom -0 def
/delta -0 def
/frac -0 def
/height -0 def
/left -0 def
/numsteps1 -0 def
/radius -0 def
/right -0 def
/top -0 def
/width -0 def
/xt -0 def
/yt -0 def
/df currentflat def
/tempstr 1 string def
/clipflatness currentflat def
/inverted?
0 currenttransfer exec .5 ge def
/tc1 [0 0 0 1] def
/tc2 [0 0 0 1] def
/storerect{/top xdf /right xdf /bottom xdf /left xdf
/width right left sub def /height top bottom sub def}bdf
/concatprocs{
systemdict /packedarray known
{dup type /packedarraytype eq 2 index type /packedarraytype eq or}{false}ifelse
{
/proc2 exch cvlit def /proc1 exch cvlit def
proc1 aload pop proc2 aload pop
proc1 length proc2 length add packedarray cvx
}
{
/proc2 exch cvlit def /proc1 exch cvlit def
/newproc proc1 length proc2 length add array def
newproc 0 proc1 putinterval newproc proc1 length proc2 putinterval
newproc cvx
}ifelse
}bdf
/i{dup 0 eq
{pop df dup}
{dup} ifelse
/clipflatness xdf setflat
}bdf
version cvr 38.0 le
{/setrgbcolor{
currenttransfer exec 3 1 roll
currenttransfer exec 3 1 roll
currenttransfer exec 3 1 roll
setrgbcolor}bdf}if
/vms {/vmsv save def} bdf
/vmr {vmsv restore} bdf
/vmrs{vmsv restore /vmsv save def}bdf
/eomode{
{/filler /eofill load def /clipper /eoclip load def}
{/filler /fill load def /clipper /clip load def}
ifelse
}bdf
/normtaper{}bdf
/logtaper{9 mul 1 add log}bdf
/CD{
/NF exch def
{
exch dup
/FID ne 1 index/UniqueID ne and
{exch NF 3 1 roll put}
{pop pop}
ifelse
}forall
NF
}bdf
/MN{
1 index length
/Len exch def
dup length Len add
string dup
Len
4 -1 roll
putinterval
dup
0
4 -1 roll
putinterval
}bdf
/RC{4 -1 roll /ourvec xdf 256 string cvs(|______)anchorsearch
{1 index MN cvn/NewN exch def cvn
findfont dup maxlength dict CD dup/FontName NewN put dup
/Encoding ourvec put NewN exch definefont pop}{pop}ifelse}bdf
/RF{
dup
FontDirectory exch
known
{pop 3 -1 roll pop}
{RC}
ifelse
}bdf
/FF{dup 256 string cvs(|______)exch MN cvn dup FontDirectory exch known
{exch pop findfont 3 -1 roll pop}
{pop dup findfont dup maxlength dict CD dup dup
/Encoding exch /Encoding get 256 array copy 7 -1 roll
{3 -1 roll dup 4 -2 roll put}forall put definefont}
ifelse}bdf
/RCJ{4 -1 roll
/ourvec xdf
256 string cvs
(|______) anchorsearch
{pop
cvn
dup FDFJ
exch
1 index
eq
{
_bfh findfont _efh
dup
maxlength dict
CD
dup
/FontName
3 index
put
dup
/Encoding ourvec put
1 index
exch
definefont
pop
}
{exch pop}
ifelse
}
{pop}
ifelse
}bdf
/RFJ{
dup
FontDirectory exch
known
{pop 3 -1 roll pop}
{RCJ}
ifelse
}bdf
/hasfont
{
/resourcestatus where
{
pop
/Font resourcestatus
{
pop pop true
}
{
false
}
ifelse
}
{
dup FontDirectory exch known
{pop true}
{
256 string
cvs
(fonts/) exch MN
status
{pop pop pop pop true}
{false}
ifelse
}
ifelse
}
ifelse
}bdf
/FDFJ
{
dup
hasfont
not
{
pop
/Ryumin-Light-83pv-RKSJ-H
hasfont
{
/Ryumin-Light-83pv-RKSJ-H
}
{
/Courier
}
ifelse
}
if
}bdf
/FFJ{
_bfh
dup
256 string cvs
(|______)exch MN
cvn
dup
FontDirectory
exch known
{
exch
pop
findfont
3 -1 roll
pop
}
{
pop
FDFJ
dup findfont
dup maxlength dict
CD
dup dup
/Encoding exch
/Encoding get
256 array copy
7 -1 roll
{
3 -1 roll
dup
4 -2 roll
put
}forall
put
definefont
}
ifelse
_efh
}bdf
/GS {
dup
hasfont
{
findfont
exch makesetfont
exch
pop
ts
}
{
pop pop pop
ts
} ifelse
} bdf
/RCK{4 -1 roll
/ourvec xdf
256 string cvs
(|______) anchorsearch
{pop
cvn
dup FDFK
exch
1 index
eq
{
_bfh findfont _efh
dup
maxlength dict
CD
dup
/FontName
3 index
put
dup
/Encoding ourvec put
1 index
exch
definefont
pop
}
{exch pop}
ifelse
}
{pop}
ifelse
}bdf
/RFK{
dup
FontDirectory exch
known
{pop 3 -1 roll pop}
{RCK}
ifelse
}bdf
/hasfont
{
/resourcestatus where
{
pop
/Font resourcestatus
{
pop pop true
}
{
false
}
ifelse
}
{
dup FontDirectory exch known
{pop true}
{
256 string
cvs
(fonts/) exch MN
status
{pop pop pop pop true}
{false}
ifelse
}
ifelse
}
ifelse
}bdf
/FDFK
{
dup
hasfont
not
{
pop
/JCsm
hasfont
{
/JCsm
}
{
/Courier
}
ifelse
}
if
}bdf
/FFK{
_bfh
dup
256 string cvs
(|______)exch MN
cvn
dup
FontDirectory
exch known
{
exch
pop
findfont
3 -1 roll
pop
}
{
pop
FDFK
dup findfont
dup maxlength dict
CD
dup dup
/Encoding exch
/Encoding get
256 array copy
7 -1 roll
{
3 -1 roll
dup
4 -2 roll
put
}forall
put
definefont
}
ifelse
_efh
}bdf
/RCTC{4 -1 roll
/ourvec xdf
256 string cvs
(|______) anchorsearch
{pop
cvn
dup FDFTC
exch
1 index
eq
{
_bfh findfont _efh
dup
maxlength dict
CD
dup
/FontName
3 index
put
dup
/Encoding ourvec put
1 index
exch
definefont
pop
}
{exch pop}
ifelse
}
{pop}
ifelse
}bdf
/RFTC{
dup
FontDirectory exch
known
{pop 3 -1 roll pop}
{RCTC}
ifelse
}bdf
/FDFTC
{
dup
hasfont
not
{
pop
/DFMing-Lt-HK-BF
hasfont
{
/DFMing-Lt-HK-BF
}
{
/Courier
}
ifelse
}
if
}bdf
/FFTC{
_bfh
dup
256 string cvs
(|______)exch MN
cvn
dup
FontDirectory
exch known
{
exch
pop
findfont
3 -1 roll
pop
}
{
pop
FDFTC
dup findfont
dup maxlength dict
CD
dup dup
/Encoding exch
/Encoding get
256 array copy
7 -1 roll
{
3 -1 roll
dup
4 -2 roll
put
}forall
put
definefont
}
ifelse
_efh
}bdf
/fps{
currentflat
exch
dup 0 le{pop 1}if
{
dup setflat 3 index stopped
{1.3 mul dup 3 index gt{pop setflat pop pop stop}if}
{exit}
ifelse
}loop
pop setflat pop pop
}bdf
/fp{100 currentflat fps}bdf
/clipper{clip}bdf
/W{/clipper load 100 clipflatness dup setflat fps}bdf
/AVec 256 array def
AVec 0 /Helvetica findfont
/Encoding get 0 256 getinterval putinterval
/ANSIPatch[
16#0/grave 16#1/acute 16#2/circumflex 16#3/tilde 16#4/macron 16#5/breve
16#6/dotaccent 16#7/dieresis 16#8/ring 16#9/cedilla 16#A/hungarumlaut
16#B/ogonek 16#C/caron 16#D/dotlessi 16#27/quotesingle 16#60/grave
16#7C/bar 16#82/quotesinglbase 16#83/florin 16#84/quotedblbase 16#85
/ellipsis 16#86/dagger 16#87/daggerdbl 16#89/perthousand 16#8A/Scaron
16#8B/guilsinglleft 16#8C/OE 16#91/quoteleft 16#92/quoteright 16#93
/quotedblleft 16#94/quotedblright 16#95/bullet 16#96/endash 16#97/emdash
16#99/trademark 16#9A/scaron 16#9B/guilsinglright 16#9C/oe
16#9F/Ydieresis 16#A0/space 16#A4/currency 16#A6/brokenbar
16#A7/section 16#A8/dieresis 16#A9/copyright 16#AA/ordfeminine 16#AB/guillemotleft
16#AC/logicalnot 16#AD/hyphen 16#AE/registered 16#AF/macron 16#B0/degree
16#B1/plusminus 16#B2/twosuperior 16#B3/threesuperior 16#B4/acute 16#B5/mu
16#B6/paragraph 16#B7/periodcentered 16#B8/cedilla 16#B9/onesuperior
16#BA/ordmasculine 16#BB/guillemotright 16#BC/onequarter 16#BD/onehalf
16#BE/threequarters 16#BF/questiondown 16#C0/Agrave 16#C1/Aacute 16#C2/Acircumflex
16#C3/Atilde 16#C4/Adieresis 16#C5/Aring 16#C6/AE 16#C7/Ccedilla 16#C8/Egrave
16#C9/Eacute 16#CA/Ecircumflex 16#CB/Edieresis 16#CC/Igrave 16#CD/Iacute
16#CE/Icircumflex 16#CF/Idieresis 16#D0/Eth 16#D1/Ntilde 16#D2/Ograve
16#D3/Oacute 16#D4/Ocircumflex 16#D5/Otilde 16#D6/Odieresis 16#D7/multiply
16#D8/Oslash 16#D9/Ugrave 16#DA/Uacute 16#DB/Ucircumflex 16#DC/Udieresis
16#DD/Yacute 16#DE/Thorn 16#DF/germandbls 16#E0/agrave 16#E1/aacute
16#E2/acircumflex 16#E3/atilde 16#E4/adieresis 16#E5/aring 16#E6/ae
16#E7/ccedilla 16#E8/egrave 16#E9/eacute 16#EA/ecircumflex 16#EB/edieresis
16#EC/igrave 16#ED/iacute 16#EE/icircumflex 16#EF/idieresis 16#F0/eth
16#F1/ntilde 16#F2/ograve 16#F3/oacute 16#F4/ocircumflex 16#F5/otilde
16#F6/odieresis 16#F7/divide 16#F8/oslash 16#F9/ugrave 16#FA/uacute
16#FB/ucircumflex 16#FC/udieresis 16#FD/yacute 16#FE/thorn 16#FF/ydieresis
] def
127 1 159 { AVec exch/bullet put } for
ANSIPatch aload pop ANSIPatch length 2 idiv{AVec 3 1 roll put}repeat
/DoPatch { dup /CharStrings known
{ setfont
0 1 255 { dup
currentfont
/Encoding get
exch get
currentfont /CharStrings get
exch known
{pop} {currentfont /Encoding get exch /bullet put} ifelse
} for
} {pop} ifelse
} def
/findheaderfont {
AVec 256 array copy
/FHT /|______Helvetica dup RF findfont def
FHT DoPatch
FHT
} def
end %. AltsysDict
%%EndResource
%%EndProlog
%%BeginSetup
AltsysDict begin
_bfh
%%IncludeResource: font Gen_Arial
/f0 /Gen_Arial findfont def
_efh
end %. AltsysDict
%%EndSetup
AltsysDict begin
/onlyk4{false}ndf
/ccmyk{dup 5 -1 roll sub 0 max exch}ndf
/cmyk2gray{
4 -1 roll 0.3 mul 4 -1 roll 0.59 mul 4 -1 roll 0.11 mul
add add add 1 min neg 1 add
}bdf
/setcmykcolor{1 exch sub ccmyk ccmyk ccmyk pop setrgbcolor}ndf
/maxcolor {
max max max
} ndf
/maxspot {
pop
} ndf
/setcmykcoloroverprint{4{dup -1 eq{pop 0}if 4 1 roll}repeat setcmykcolor}ndf
/findcmykcustomcolor{5 packedarray}ndf
/setcustomcolor{exch aload pop pop 4{4 index mul 4 1 roll}repeat setcmykcolor pop}ndf
/setseparationgray{setgray}ndf
/setoverprint{pop}ndf
/currentoverprint false ndf
/cmykbufs2gray{
0 1 2 index length 1 sub
{
4 index 1 index get 0.3 mul
4 index 2 index get 0.59 mul
4 index 3 index get 0.11 mul
4 index 4 index get
add add add cvi 255 min
255 exch sub
2 index 3 1 roll put
}for
4 1 roll pop pop pop
}bdf
/colorimage{
pop pop
[
5 -1 roll/exec cvx
6 -1 roll/exec cvx
7 -1 roll/exec cvx
8 -1 roll/exec cvx
/cmykbufs2gray cvx
]cvx
image
}
%. version 47.1 on Linotronic of Postscript defines colorimage incorrectly (rgb model only)
version cvr 47.1 le
statusdict /product get (Lino) anchorsearch{pop pop true}{pop false}ifelse
and{userdict begin bdf end}{ndf}ifelse
fhnumcolors 1 ne {/yt save def} if
/customcolorimage{
aload pop
(_vc_Registration) eq
{
pop pop pop pop separationimage
}
{
/ik xdf /iy xdf /im xdf /ic xdf
ic im iy ik cmyk2gray /xt xdf
currenttransfer
{dup 1.0 exch sub xt mul add}concatprocs
st
image
}
ifelse
}ndf
fhnumcolors 1 ne {yt restore} if
fhnumcolors 3 ne {/yt save def} if
/customcolorimage{
aload pop
(_vc_Registration) eq
{
pop pop pop pop separationimage
}
{
/ik xdf /iy xdf /im xdf /ic xdf
1.0 dup ic ik add min sub
1.0 dup im ik add min sub
1.0 dup iy ik add min sub
/ic xdf /iy xdf /im xdf
currentcolortransfer
4 1 roll
{dup 1.0 exch sub ic mul add}concatprocs 4 1 roll
{dup 1.0 exch sub iy mul add}concatprocs 4 1 roll
{dup 1.0 exch sub im mul add}concatprocs 4 1 roll
setcolortransfer
{/dummy xdf dummy}concatprocs{dummy}{dummy}true 3 colorimage
}
ifelse
}ndf
fhnumcolors 3 ne {yt restore} if
fhnumcolors 4 ne {/yt save def} if
/customcolorimage{
aload pop
(_vc_Registration) eq
{
pop pop pop pop separationimage
}
{
/ik xdf /iy xdf /im xdf /ic xdf
currentcolortransfer
{1.0 exch sub ik mul ik sub 1 add}concatprocs 4 1 roll
{1.0 exch sub iy mul iy sub 1 add}concatprocs 4 1 roll
{1.0 exch sub im mul im sub 1 add}concatprocs 4 1 roll
{1.0 exch sub ic mul ic sub 1 add}concatprocs 4 1 roll
setcolortransfer
{/dummy xdf dummy}concatprocs{dummy}{dummy}{dummy}
true 4 colorimage
}
ifelse
}ndf
fhnumcolors 4 ne {yt restore} if
/separationimage{image}ndf
/spotascmyk false ndf
/newcmykcustomcolor{6 packedarray}ndf
/inkoverprint false ndf
/setinkoverprint{pop}ndf
/setspotcolor {
spots exch get
dup 4 get (_vc_Registration) eq
{pop 1 exch sub setseparationgray}
{0 5 getinterval exch setcustomcolor}
ifelse
}ndf
/currentcolortransfer{currenttransfer dup dup dup}ndf
/setcolortransfer{st pop pop pop}ndf
/fas{}ndf
/sas{}ndf
/fhsetspreadsize{pop}ndf
/filler{fill}bdf
/F{gsave {filler}fp grestore}bdf
/f{closepath F}bdf
/S{gsave {stroke}fp grestore}bdf
/s{closepath S}bdf
userdict /islevel2
systemdict /languagelevel known dup
{
pop systemdict /languagelevel get 2 ge
} if
put
islevel2 not
{
/currentcmykcolor
{
0 0 0 1 currentgray sub
} ndf
} if
/tc
{
gsave
setcmykcolor currentcmykcolor
grestore
} bind def
/testCMYKColorThrough
{
tc add add add 0 ne
} bind def
/fhiscomposite where not {
userdict /fhiscomposite
islevel2
{
gsave 1 1 1 1 setcmykcolor currentcmykcolor grestore
add add add 4 eq
}
{
1 0 0 0 testCMYKColorThrough
0 1 0 0 testCMYKColorThrough
0 0 1 0 testCMYKColorThrough
0 0 0 1 testCMYKColorThrough
and and and
} ifelse
put
}
{ pop }
ifelse
/bc4 [0 0 0 0] def
/_lfp4 {
1 pop
/yt xdf
/xt xdf
/ang xdf
storerect
/taperfcn xdf
/k2 xdf /y2 xdf /m2 xdf /c2 xdf
/k1 xdf /y1 xdf /m1 xdf /c1 xdf
c1 c2 sub abs
m1 m2 sub abs
y1 y2 sub abs
k1 k2 sub abs
maxcolor
calcgraysteps mul abs round
height abs adjnumsteps
dup 1 lt {pop 1} if
1 sub /numsteps1 xdf
currentflat mark
currentflat clipflatness
/delta top bottom sub numsteps1 1 add div def
/right right left sub def
/botsv top delta sub def
{
{
W
xt yt translate
ang rotate
xt neg yt neg translate
dup setflat
/bottom botsv def
0 1 numsteps1
{
numsteps1 dup 0 eq {pop pop 0.5} {div} ifelse
taperfcn /frac xdf
bc4 0 c2 c1 sub frac mul c1 add put
bc4 1 m2 m1 sub frac mul m1 add put
bc4 2 y2 y1 sub frac mul y1 add put
bc4 3 k2 k1 sub frac mul k1 add put
bc4 vc
1 index setflat
{
mark {newpath left bottom right delta rectfill}stopped
{cleartomark exch 1.3 mul dup setflat exch 2 copy gt{stop}if}
{cleartomark exit}ifelse
}loop
/bottom bottom delta sub def
}for
}
gsave stopped grestore
{exch pop 2 index exch 1.3 mul dup 100 gt{cleartomark setflat stop}if}
{exit}ifelse
}loop
cleartomark setflat
}bdf
/bcs [0 0] def
/_lfs4 {
/yt xdf
/xt xdf
/ang xdf
storerect
/taperfcn xdf
/tint2 xdf
/tint1 xdf
bcs exch 1 exch put
tint1 tint2 sub abs
bcs 1 get maxspot
calcgraysteps mul abs round
height abs adjnumsteps
dup 2 lt {pop 2} if
1 sub /numsteps1 xdf
currentflat mark
currentflat clipflatness
/delta top bottom sub numsteps1 1 add div def
/right right left sub def
/botsv top delta sub def
{
{
W
xt yt translate
ang rotate
xt neg yt neg translate
dup setflat
/bottom botsv def
0 1 numsteps1
{
numsteps1 div taperfcn /frac xdf
bcs 0
1.0 tint2 tint1 sub frac mul tint1 add sub
put bcs vc
1 index setflat
{
mark {newpath left bottom right delta rectfill}stopped
{cleartomark exch 1.3 mul dup setflat exch 2 copy gt{stop}if}
{cleartomark exit}ifelse
}loop
/bottom bottom delta sub def
}for
}
gsave stopped grestore
{exch pop 2 index exch 1.3 mul dup 100 gt{cleartomark setflat stop}if}
{exit}ifelse
}loop
cleartomark setflat
}bdf
/_rfs6 {
/tint2 xdf
/tint1 xdf
bcs exch 1 exch put
/inrad xdf
/radius xdf
/yt xdf
/xt xdf
tint1 tint2 sub abs
bcs 1 get maxspot
calcgraysteps mul abs round
radius inrad sub abs
adjnumsteps
dup 1 lt {pop 1} if
1 sub /numsteps1 xdf
radius inrad sub numsteps1 dup 0 eq {pop} {div} ifelse
2 div /halfstep xdf
currentflat mark
currentflat clipflatness
{
{
dup setflat
W
0 1 numsteps1
{
dup /radindex xdf
numsteps1 dup 0 eq {pop pop 0.5} {div} ifelse
/frac xdf
bcs 0
tint2 tint1 sub frac mul tint1 add
put bcs vc
1 index setflat
{
newpath mark
xt yt radius inrad sub 1 frac sub mul halfstep add inrad add 0 360
{ arc
radindex numsteps1 ne
inrad 0 gt or
{
xt yt
numsteps1 0 eq
{ inrad }
{
radindex 1 add numsteps1 div 1 exch sub
radius inrad sub mul halfstep add inrad add
}ifelse
dup xt add yt moveto
360 0 arcn
} if
fill
}stopped
{cleartomark exch 1.3 mul dup setflat exch 2 copy gt{stop}if}
{cleartomark exit}ifelse
}loop
}for
}
gsave stopped grestore
{exch pop 2 index exch 1.3 mul dup 100 gt{cleartomark setflat stop}if}
{exit}ifelse
}loop
cleartomark setflat
}bdf
/_rfp6 {
1 pop
/k2 xdf /y2 xdf /m2 xdf /c2 xdf
/k1 xdf /y1 xdf /m1 xdf /c1 xdf
/inrad xdf
/radius xdf
/yt xdf
/xt xdf
c1 c2 sub abs
m1 m2 sub abs
y1 y2 sub abs
k1 k2 sub abs
maxcolor
calcgraysteps mul abs round
radius inrad sub abs
adjnumsteps
dup 1 lt {pop 1} if
1 sub /numsteps1 xdf
radius inrad sub numsteps1 dup 0 eq {pop} {div} ifelse
2 div /halfstep xdf
currentflat mark
currentflat clipflatness
{
{
dup setflat
W
0 1 numsteps1
{
dup /radindex xdf
numsteps1 dup 0 eq {pop pop 0.5} {div} ifelse
/frac xdf
bc4 0 c2 c1 sub frac mul c1 add put
bc4 1 m2 m1 sub frac mul m1 add put
bc4 2 y2 y1 sub frac mul y1 add put
bc4 3 k2 k1 sub frac mul k1 add put
bc4 vc
1 index setflat
{
newpath mark
xt yt radius inrad sub 1 frac sub mul halfstep add inrad add 0 360
{ arc
radindex numsteps1 ne
inrad 0 gt or
{
xt yt
numsteps1 0 eq
{ inrad }
{
radindex 1 add numsteps1 div 1 exch sub
radius inrad sub mul halfstep add inrad add
}ifelse
dup xt add yt moveto
360 0 arcn
} if
fill
}stopped
{cleartomark exch 1.3 mul dup setflat exch 2 copy gt{stop}if}
{cleartomark exit}ifelse
}loop
}for
}
gsave stopped grestore
{exch pop 2 index exch 1.3 mul dup 100 gt{cleartomark setflat stop}if}
{exit}ifelse
}loop
cleartomark setflat
}bdf
/lfp4{_lfp4}ndf
/lfs4{_lfs4}ndf
/rfs6{_rfs6}ndf
/rfp6{_rfp6}ndf
/cvc [0 0 0 1] def
/vc{
AltsysDict /cvc 2 index put
aload length dup 4 eq
{pop dup -1 eq{pop setrgbcolor}{setcmykcolor}ifelse}
{6 eq {sethexcolor} {setspotcolor} ifelse }
ifelse
}bdf
0 setseparationgray
/imgr {1692 1584 2304 2376 } def
/bleed 0 def
/clpr {1692 1584 2304 2376 } def
/xs 1 def
/ys 1 def
/botx 0 def
/overlap 0 def
/wdist 18 def
0 2 mul fhsetspreadsize
0 0 ne {/df 0 def /clipflatness 0 def} if
/maxsteps 256 def
/forcemaxsteps false def
/minsteps 0 def
userdict begin /AGDOrigMtx matrix currentmatrix def end
vms
-1817 -1941 translate
/currentpacking defed{false setpacking}if
/spots[
1 0 0 0 (Process Cyan) false newcmykcustomcolor
0 1 0 0 (Process Magenta) false newcmykcustomcolor
0 0 1 0 (Process Yellow) false newcmykcustomcolor
0 0 0 1 (Process Black) false newcmykcustomcolor
]def
/textopf false def
/curtextmtx{}def
/otw .25 def
/msf{dup/curtextmtx xdf makefont setfont}bdf
/makesetfont/msf load def
/curtextheight{.707104 .707104 curtextmtx dtransform
dup mul exch dup mul add sqrt}bdf
/ta2{
tempstr 2 index gsave exec grestore
cwidth cheight rmoveto
4 index eq{5 index 5 index rmoveto}if
2 index 2 index rmoveto
}bdf
/ta{exch systemdict/cshow known
{{/cheight xdf/cwidth xdf tempstr 0 2 index put ta2}exch cshow}
{{tempstr 0 2 index put tempstr stringwidth/cheight xdf/cwidth xdf ta2}forall}
ifelse 6{pop}repeat}bdf
/sts{/textopf currentoverprint def vc setoverprint
/ts{awidthshow}def exec textopf setoverprint}bdf
/stol{/xt currentlinewidth def
setlinewidth vc newpath
/ts{{false charpath stroke}ta}def exec
xt setlinewidth}bdf
/strk{/textopf currentoverprint def vc setoverprint
/ts{{false charpath stroke}ta}def exec
textopf setoverprint
}bdf
n
[] 0 d
3.863708 M
1 w
0 j
0 J
false setoverprint
0 i
false eomode
[0 0 0 1]vc
vms
1844.4958 2014.9845 m
1864.9958 2014.9845 L
1864.9958 1994.4845 L
1844.4958 1994.4845 L
1844.4958 1994.7522 L
2 w
3.863693 M
S
n
1864.9958 2015 m
1885.4958 2015 L
1885.4958 1994.5 L
1864.9958 1994.5 L
1864.9958 2015 L
s
n
1885.225 1974.7345 m
1885.4958 1974.7345 L
1885.4958 1954.2345 L
1864.9958 1954.2345 L
1864.9958 1974.7345 L
1865.7244 1974.7345 L
S
n
1864.9958 1994.7345 m
1885.4958 1994.7345 L
1885.4958 1974.2345 L
1864.9958 1974.2345 L
1864.9958 1994.7345 L
s
n
1885.7458 2015.0548 m
1906.2458 2015.0548 L
1906.2458 1994.5548 L
1885.7458 1994.5548 L
1885.7458 2015.0548 L
s
n
1905.975 1974.7893 m
1906.2458 1974.7893 L
1906.2458 1954.2893 L
1885.7458 1954.2893 L
1885.7458 1974.7893 L
1886.4744 1974.7893 L
S
n
1885.7458 1994.7893 m
1906.2458 1994.7893 L
1906.2458 1974.2893 L
1885.7458 1974.2893 L
1885.7458 1994.7893 L
s
n
1864.3136 1974.422 m
1844.7458 1974.422 L
1844.7458 1974.6897 L
S
n
1864.4603 1994.922 m
1865.2458 1994.922 L
1865.2458 1974.422 L
1864.3136 1974.422 L
S
n
1864.625 1954.375 m
1844.75 1954.375 L
S
n
1926.7542 1994.422 m
1906.2542 1994.422 L
1906.2542 1973.922 L
1926.7542 1973.922 L
1926.7542 1974.1897 L
S
n
1906.375 2015.25 m
1925.625 2015.25 L
S
n
1906.625 1954.5 m
1927.375 1954.5 L
S
n
1842.9958 2015.125 m
1842.9958 2016.0225 1843.7234 2016.75 1844.6208 2016.75 C
1845.5183 2016.75 1846.2458 2016.0225 1846.2458 2015.125 C
1846.2458 2014.2275 1845.5183 2013.5 1844.6208 2013.5 C
1843.7234 2013.5 1842.9958 2014.2275 1842.9958 2015.125 C
f
1 w
3.863708 M
S
n
1842.9958 1994.8595 m
1842.9958 1995.757 1843.7234 1996.4845 1844.6208 1996.4845 C
1845.5183 1996.4845 1846.2458 1995.757 1846.2458 1994.8595 C
1846.2458 1993.9621 1845.5183 1993.2345 1844.6208 1993.2345 C
1843.7234 1993.2345 1842.9958 1993.9621 1842.9958 1994.8595 C
f
S
n
1842.9958 1973.8595 m
1842.9958 1974.757 1843.7234 1975.4845 1844.6208 1975.4845 C
1845.5183 1975.4845 1846.2458 1974.757 1846.2458 1973.8595 C
1846.2458 1972.9621 1845.5183 1972.2345 1844.6208 1972.2345 C
1843.7234 1972.2345 1842.9958 1972.9621 1842.9958 1973.8595 C
f
S
n
1842.9958 1954.8595 m
1842.9958 1955.757 1843.7234 1956.4845 1844.6208 1956.4845 C
1845.5183 1956.4845 1846.2458 1955.757 1846.2458 1954.8595 C
1846.2458 1953.9621 1845.5183 1953.2345 1844.6208 1953.2345 C
1843.7234 1953.2345 1842.9958 1953.9621 1842.9958 1954.8595 C
f
S
n
1863.7458 2015.125 m
1863.7458 2016.0225 1864.4734 2016.75 1865.3708 2016.75 C
1866.2683 2016.75 1866.9958 2016.0225 1866.9958 2015.125 C
1866.9958 2014.2275 1866.2683 2013.5 1865.3708 2013.5 C
1864.4734 2013.5 1863.7458 2014.2275 1863.7458 2015.125 C
f
S
n
1863.7458 1994.8595 m
1863.7458 1995.757 1864.4734 1996.4845 1865.3708 1996.4845 C
1866.2683 1996.4845 1866.9958 1995.757 1866.9958 1994.8595 C
1866.9958 1993.9621 1866.2683 1993.2345 1865.3708 1993.2345 C
1864.4734 1993.2345 1863.7458 1993.9621 1863.7458 1994.8595 C
f
S
n
1863.7458 1973.8595 m
1863.7458 1974.757 1864.4734 1975.4845 1865.3708 1975.4845 C
1866.2683 1975.4845 1866.9958 1974.757 1866.9958 1973.8595 C
1866.9958 1972.9621 1866.2683 1972.2345 1865.3708 1972.2345 C
1864.4734 1972.2345 1863.7458 1972.9621 1863.7458 1973.8595 C
f
S
n
vmrs
1863.7458 1954.8595 m
1863.7458 1955.757 1864.4734 1956.4845 1865.3708 1956.4845 C
1866.2683 1956.4845 1866.9958 1955.757 1866.9958 1954.8595 C
1866.9958 1953.9621 1866.2683 1953.2345 1865.3708 1953.2345 C
1864.4734 1953.2345 1863.7458 1953.9621 1863.7458 1954.8595 C
f
S
n
1883.7458 2015.125 m
1883.7458 2016.0225 1884.4734 2016.75 1885.3708 2016.75 C
1886.2683 2016.75 1886.9958 2016.0225 1886.9958 2015.125 C
1886.9958 2014.2275 1886.2683 2013.5 1885.3708 2013.5 C
1884.4734 2013.5 1883.7458 2014.2275 1883.7458 2015.125 C
f
S
n
1883.7458 1994.8595 m
1883.7458 1995.757 1884.4734 1996.4845 1885.3708 1996.4845 C
1886.2683 1996.4845 1886.9958 1995.757 1886.9958 1994.8595 C
1886.9958 1993.9621 1886.2683 1993.2345 1885.3708 1993.2345 C
1884.4734 1993.2345 1883.7458 1993.9621 1883.7458 1994.8595 C
f
S
n
1883.7458 1973.8595 m
1883.7458 1974.757 1884.4734 1975.4845 1885.3708 1975.4845 C
1886.2683 1975.4845 1886.9958 1974.757 1886.9958 1973.8595 C
1886.9958 1972.9621 1886.2683 1972.2345 1885.3708 1972.2345 C
1884.4734 1972.2345 1883.7458 1972.9621 1883.7458 1973.8595 C
f
S
n
1883.7458 1954.8595 m
1883.7458 1955.757 1884.4734 1956.4845 1885.3708 1956.4845 C
1886.2683 1956.4845 1886.9958 1955.757 1886.9958 1954.8595 C
1886.9958 1953.9621 1886.2683 1953.2345 1885.3708 1953.2345 C
1884.4734 1953.2345 1883.7458 1953.9621 1883.7458 1954.8595 C
f
S
n
1904.7458 2015.125 m
1904.7458 2016.0225 1905.4734 2016.75 1906.3708 2016.75 C
1907.2683 2016.75 1907.9958 2016.0225 1907.9958 2015.125 C
1907.9958 2014.2275 1907.2683 2013.5 1906.3708 2013.5 C
1905.4734 2013.5 1904.7458 2014.2275 1904.7458 2015.125 C
f
S
n
1904.7458 1994.8595 m
1904.7458 1995.757 1905.4734 1996.4845 1906.3708 1996.4845 C
1907.2683 1996.4845 1907.9958 1995.757 1907.9958 1994.8595 C
1907.9958 1993.9621 1907.2683 1993.2345 1906.3708 1993.2345 C
1905.4734 1993.2345 1904.7458 1993.9621 1904.7458 1994.8595 C
f
S
n
1904.7458 1973.8595 m
1904.7458 1974.757 1905.4734 1975.4845 1906.3708 1975.4845 C
1907.2683 1975.4845 1907.9958 1974.757 1907.9958 1973.8595 C
1907.9958 1972.9621 1907.2683 1972.2345 1906.3708 1972.2345 C
1905.4734 1972.2345 1904.7458 1972.9621 1904.7458 1973.8595 C
f
S
n
1904.7458 1954.8595 m
1904.7458 1955.757 1905.4734 1956.4845 1906.3708 1956.4845 C
1907.2683 1956.4845 1907.9958 1955.757 1907.9958 1954.8595 C
1907.9958 1953.9621 1907.2683 1953.2345 1906.3708 1953.2345 C
1905.4734 1953.2345 1904.7458 1953.9621 1904.7458 1954.8595 C
f
S
n
1924.7458 2015.125 m
1924.7458 2016.0225 1925.4734 2016.75 1926.3708 2016.75 C
1927.2683 2016.75 1927.9958 2016.0225 1927.9958 2015.125 C
1927.9958 2014.2275 1927.2683 2013.5 1926.3708 2013.5 C
1925.4734 2013.5 1924.7458 2014.2275 1924.7458 2015.125 C
f
S
n
1924.7458 1994.8595 m
1924.7458 1995.757 1925.4734 1996.4845 1926.3708 1996.4845 C
1927.2683 1996.4845 1927.9958 1995.757 1927.9958 1994.8595 C
1927.9958 1993.9621 1927.2683 1993.2345 1926.3708 1993.2345 C
1925.4734 1993.2345 1924.7458 1993.9621 1924.7458 1994.8595 C
f
S
n
1924.7458 1973.8595 m
1924.7458 1974.757 1925.4734 1975.4845 1926.3708 1975.4845 C
1927.2683 1975.4845 1927.9958 1974.757 1927.9958 1973.8595 C
1927.9958 1972.9621 1927.2683 1972.2345 1926.3708 1972.2345 C
1925.4734 1972.2345 1924.7458 1972.9621 1924.7458 1973.8595 C
f
S
n
1924.7458 1954.8595 m
1924.7458 1955.757 1925.4734 1956.4845 1926.3708 1956.4845 C
1927.2683 1956.4845 1927.9958 1955.757 1927.9958 1954.8595 C
1927.9958 1953.9621 1927.2683 1953.2345 1926.3708 1953.2345 C
1925.4734 1953.2345 1924.7458 1953.9621 1924.7458 1954.8595 C
f
S
n
1916.8518 2025.1292 m
1916.8518 2004.6292 L
1896.3518 2004.6292 L
1896.3518 2025.1292 L
1896.6195 2025.1292 L
q
stroke
Q
false eomode
n
1896.6018 2004.6292 m
1896.6018 1984.1292 L
1876.1018 1984.1292 L
1876.1018 2004.6292 L
1896.6018 2004.6292 L
h
[0 0 0 1]vc
q
stroke
Q
false eomode
n
1916.922 1983.8792 m
1916.922 1963.3792 L
1896.422 1963.3792 L
1896.422 1983.8792 L
1916.922 1983.8792 L
h
[0 0 0 1]vc
q
stroke
Q
false eomode
n
1876.6565 1963.65 m
1876.6566 1963.3792 L
1856.1566 1963.3792 L
1856.1566 1983.8792 L
1876.6566 1983.8792 L
1876.6565 1983.1506 L
3.863693 M
[0 0 0 1]vc
false setoverprint
S
n
1876.2893 2005.3114 m
1876.2893 2024.8792 L
1876.557 2024.8792 L
3.863708 M
q
stroke
Q
false eomode
n
1856.2423 2005 m
1856.2423 2024.875 L
[0 0 0 1]vc
q
stroke
Q
false eomode
n
1896.2893 1942.8708 m
1896.2893 1963.3708 L
1875.7893 1963.3708 L
1875.7893 1942.8708 L
1876.057 1942.8708 L
[0 0 0 1]vc
q
stroke
Q
false eomode
n
vmrs
1917.1173 1963.25 m
1917.1173 1944 L
q
stroke
Q
false eomode
n
1856.3673 1963 m
1856.3673 1942.25 L
[0 0 0 1]vc
q
stroke
Q
false eomode
n
1915.3673 2025.0042 m
1915.3673 2025.9016 1916.0948 2026.6292 1916.9922 2026.6292 C
1917.8897 2026.6292 1918.6173 2025.9016 1918.6173 2025.0042 C
1918.6173 2024.1067 1917.8897 2023.3792 1916.9922 2023.3792 C
1916.0948 2023.3792 1915.3673 2024.1067 1915.3673 2025.0042 C
[0 0 0 0]vc
false setoverprint
f
[0 0 0 1]vc
q
stroke
Q
false eomode
n
1895.1018 2025.0042 m
1895.1018 2025.9016 1895.8293 2026.6292 1896.7268 2026.6292 C
1897.6242 2026.6292 1898.3518 2025.9016 1898.3518 2025.0042 C
1898.3518 2024.1067 1897.6242 2023.3792 1896.7268 2023.3792 C
1895.8293 2023.3792 1895.1018 2024.1067 1895.1018 2025.0042 C
[0 0 0 0]vc
false setoverprint
f
[0 0 0 1]vc
q
stroke
Q
false eomode
n
1874.1018 2025.0042 m
1874.1018 2025.9016 1874.8293 2026.6292 1875.7268 2026.6292 C
1876.6242 2026.6292 1877.3518 2025.9016 1877.3518 2025.0042 C
1877.3518 2024.1067 1876.6242 2023.3792 1875.7268 2023.3792 C
1874.8293 2023.3792 1874.1018 2024.1067 1874.1018 2025.0042 C
[0 0 0 0]vc
false setoverprint
f
[0 0 0 1]vc
q
stroke
Q
false eomode
n
1855.1018 2025.0042 m
1855.1018 2025.9016 1855.8293 2026.6292 1856.7268 2026.6292 C
1857.6242 2026.6292 1858.3518 2025.9016 1858.3518 2025.0042 C
1858.3518 2024.1067 1857.6242 2023.3792 1856.7268 2023.3792 C
1855.8293 2023.3792 1855.1018 2024.1067 1855.1018 2025.0042 C
[0 0 0 0]vc
false setoverprint
f
[0 0 0 1]vc
q
stroke
Q
false eomode
n
1915.3673 2004.2542 m
1915.3673 2005.1516 1916.0948 2005.8792 1916.9922 2005.8792 C
1917.8897 2005.8792 1918.6173 2005.1516 1918.6173 2004.2542 C
1918.6173 2003.3567 1917.8897 2002.6292 1916.9922 2002.6292 C
1916.0948 2002.6292 1915.3673 2003.3567 1915.3673 2004.2542 C
[0 0 0 0]vc
false setoverprint
f
[0 0 0 1]vc
q
stroke
Q
false eomode
n
1895.1018 2004.2542 m
1895.1018 2005.1516 1895.8293 2005.8792 1896.7268 2005.8792 C
1897.6242 2005.8792 1898.3518 2005.1516 1898.3518 2004.2542 C
1898.3518 2003.3567 1897.6242 2002.6292 1896.7268 2002.6292 C
1895.8293 2002.6292 1895.1018 2003.3567 1895.1018 2004.2542 C
[0 0 0 0]vc
false setoverprint
f
[0 0 0 1]vc
q
stroke
Q
false eomode
n
1855.1018 2004.2542 m
1855.1018 2005.1516 1855.8293 2005.8792 1856.7268 2005.8792 C
1857.6242 2005.8792 1858.3518 2005.1516 1858.3518 2004.2542 C
1858.3518 2003.3567 1857.6242 2002.6292 1856.7268 2002.6292 C
1855.8293 2002.6292 1855.1018 2003.3567 1855.1018 2004.2542 C
[0 0 0 0]vc
false setoverprint
f
[0 0 0 1]vc
q
stroke
Q
false eomode
n
1915.3673 1984.2542 m
1915.3673 1985.1516 1916.0948 1985.8792 1916.9922 1985.8792 C
1917.8897 1985.8792 1918.6173 1985.1516 1918.6173 1984.2542 C
1918.6173 1983.3567 1917.8897 1982.6292 1916.9922 1982.6292 C
1916.0948 1982.6292 1915.3673 1983.3567 1915.3673 1984.2542 C
[0 0 0 0]vc
false setoverprint
f
[0 0 0 1]vc
q
stroke
Q
false eomode
n
1895.1018 1984.2542 m
1895.1018 1985.1516 1895.8293 1985.8792 1896.7268 1985.8792 C
1897.6242 1985.8792 1898.3518 1985.1516 1898.3518 1984.2542 C
1898.3518 1983.3567 1897.6242 1982.6292 1896.7268 1982.6292 C
1895.8293 1982.6292 1895.1018 1983.3567 1895.1018 1984.2542 C
[0 0 0 0]vc
false setoverprint
f
[0 0 0 1]vc
q
stroke
Q
false eomode
n
1874.1018 1984.2542 m
1874.1018 1985.1516 1874.8293 1985.8792 1875.7268 1985.8792 C
1876.6242 1985.8792 1877.3518 1985.1516 1877.3518 1984.2542 C
1877.3518 1983.3567 1876.6242 1982.6292 1875.7268 1982.6292 C
1874.8293 1982.6292 1874.1018 1983.3567 1874.1018 1984.2542 C
[0 0 0 0]vc
false setoverprint
f
[0 0 0 1]vc
q
stroke
Q
false eomode
n
1855.1018 1984.2542 m
1855.1018 1985.1516 1855.8293 1985.8792 1856.7268 1985.8792 C
1857.6242 1985.8792 1858.3518 1985.1516 1858.3518 1984.2542 C
1858.3518 1983.3567 1857.6242 1982.6292 1856.7268 1982.6292 C
1855.8293 1982.6292 1855.1018 1983.3567 1855.1018 1984.2542 C
[0 0 0 0]vc
false setoverprint
f
[0 0 0 1]vc
q
stroke
Q
false eomode
n
1915.3673 1963.2542 m
1915.3673 1964.1516 1916.0948 1964.8792 1916.9922 1964.8792 C
1917.8897 1964.8792 1918.6173 1964.1516 1918.6173 1963.2542 C
1918.6173 1962.3567 1917.8897 1961.6292 1916.9922 1961.6292 C
1916.0948 1961.6292 1915.3673 1962.3567 1915.3673 1963.2542 C
[0 0 0 0]vc
false setoverprint
f
[0 0 0 1]vc
q
stroke
Q
false eomode
n
1895.1018 1963.2542 m
1895.1018 1964.1516 1895.8293 1964.8792 1896.7268 1964.8792 C
1897.6242 1964.8792 1898.3518 1964.1516 1898.3518 1963.2542 C
1898.3518 1962.3567 1897.6242 1961.6292 1896.7268 1961.6292 C
1895.8293 1961.6292 1895.1018 1962.3567 1895.1018 1963.2542 C
[0 0 0 0]vc
false setoverprint
f
[0 0 0 1]vc
q
stroke
Q
false eomode
n
1874.1018 1963.2542 m
1874.1018 1964.1516 1874.8293 1964.8792 1875.7268 1964.8792 C
1876.6242 1964.8792 1877.3518 1964.1516 1877.3518 1963.2542 C
1877.3518 1962.3567 1876.6242 1961.6292 1875.7268 1961.6292 C
1874.8293 1961.6292 1874.1018 1962.3567 1874.1018 1963.2542 C
[0 0 0 0]vc
false setoverprint
f
[0 0 0 1]vc
q
stroke
Q
false eomode
n
1855.1018 1963.2542 m
1855.1018 1964.1516 1855.8293 1964.8792 1856.7268 1964.8792 C
1857.6242 1964.8792 1858.3518 1964.1516 1858.3518 1963.2542 C
1858.3518 1962.3567 1857.6242 1961.6292 1856.7268 1961.6292 C
1855.8293 1961.6292 1855.1018 1962.3567 1855.1018 1963.2542 C
[0 0 0 0]vc
false setoverprint
f
[0 0 0 1]vc
q
stroke
Q
false eomode
n
1915.3673 1943.2542 m
1915.3673 1944.1516 1916.0948 1944.8792 1916.9922 1944.8792 C
1917.8897 1944.8792 1918.6173 1944.1516 1918.6173 1943.2542 C
1918.6173 1942.3567 1917.8897 1941.6292 1916.9922 1941.6292 C
1916.0948 1941.6292 1915.3673 1942.3567 1915.3673 1943.2542 C
[0 0 0 0]vc
false setoverprint
f
[0 0 0 1]vc
q
stroke
Q
false eomode
n
1895.1018 1943.2542 m
1895.1018 1944.1516 1895.8293 1944.8792 1896.7268 1944.8792 C
1897.6242 1944.8792 1898.3518 1944.1516 1898.3518 1943.2542 C
1898.3518 1942.3567 1897.6242 1941.6292 1896.7268 1941.6292 C
1895.8293 1941.6292 1895.1018 1942.3567 1895.1018 1943.2542 C
[0 0 0 0]vc
false setoverprint
f
[0 0 0 1]vc
q
stroke
Q
false eomode
n
1874.1018 1943.2542 m
1874.1018 1944.1516 1874.8293 1944.8792 1875.7268 1944.8792 C
1876.6242 1944.8792 1877.3518 1944.1516 1877.3518 1943.2542 C
1877.3518 1942.3567 1876.6242 1941.6292 1875.7268 1941.6292 C
1874.8293 1941.6292 1874.1018 1942.3567 1874.1018 1943.2542 C
[0 0 0 0]vc
false setoverprint
f
[0 0 0 1]vc
q
stroke
Q
false eomode
n
vmrs
1855.1018 1943.2542 m
1855.1018 1944.1516 1855.8293 1944.8792 1856.7268 1944.8792 C
1857.6242 1944.8792 1858.3518 1944.1516 1858.3518 1943.2542 C
1858.3518 1942.3567 1857.6242 1941.6292 1856.7268 1941.6292 C
1855.8293 1941.6292 1855.1018 1942.3567 1855.1018 1943.2542 C
[0 0 0 0]vc
f
[0 0 0 1]vc
q
stroke
Q
false eomode
n
1856 2002.25 m
1856 1985.75 L
[0 0 0 1]vc
q
stroke
Q
false eomode
n
1875.75 1982.25 m
1875.75 1964.25 L
[0 0 0 1]vc
q
stroke
Q
false eomode
n
1857.5 2004.25 m
1875.25 2004.25 L
[0 0 0 1]vc
q
stroke
Q
false eomode
n
1917.25 2003.5 m
1917.25 1985 L
[0 0 0 1]vc
q
stroke
Q
false eomode
n
1874.1018 2004.2542 m
1874.1018 2005.1516 1874.8293 2005.8792 1875.7268 2005.8792 C
1876.6242 2005.8792 1877.3518 2005.1516 1877.3518 2004.2542 C
1877.3518 2003.3567 1876.6242 2002.6292 1875.7268 2002.6292 C
1874.8293 2002.6292 1874.1018 2003.3567 1874.1018 2004.2542 C
[0 0 0 0]vc
false setoverprint
f
[0 0 0 1]vc
q
stroke
Q
false eomode
n
1837.6293 1960.4497 m
1817 1960.4497 L
1817 1949.4498 L
1837.6293 1949.4498 L
1837.6293 1960.4497 L
n
q
%%IncludeResource: font Gen_Arial
{
f0 [10 0 0 10 0 0] makesetfont
1817 1952.4498 m
0 0 32 0 0 (\(0,0\)) ts
}
true
[0 0 0 1]sts
Q
false eomode
vmr
vmr
end
%%Trailer
%%EndDocument
@endspecial 830 1287 a Fu(Figure)25 b(1:)j(The)c(grids)g
Fr(G)p Fp(\(3\))g Fu(\(thick)h(lines\))g(and)f Fr(G)2453
1254 y Fz(\003)2493 1287 y Fp(\(3\))g Fu(\(thin)g(lines\).)p
3878 1335 V 0 1338 3882 4 v 0 1583 a Fj(3.1)99 b(Algorithmic)25
b(Pr)n(obe)g(Complexity)0 1757 y Fu(The)j(analysis)j(of)e(the)g
(algorithms)h(we)e(present)j(is)d(based)i(on)f(a)f(theorem)i(due)f(to)f
(Menshik)o(o)o(v)j([17)q(])d(from)h(Percolation)0 1870
y(Theory)-6 b(.)29 b(Consider)23 b Fr(G)727 1837 y Fz(\003)767
1870 y Fp(\()p Fr(`)p Fp(\))e Fu(and)h(\002x)e(an)o(y)i(v)o(erte)o(x)g
Fr(u)p Fu(.)27 b(De\002ne)21 b Fr(S)5 b Fp(\()p Fr(k)s
Fp(\))21 b Fu(to)h(be)f(the)h(ball)g(of)f(radius)i Fr(k)h
Fu(with)d(center)i(at)e Fr(u)p Fu(.)27 b(The)21 b(set)0
1983 y Fr(#S)5 b Fp(\()p Fr(k)s Fp(\))26 b Fu(consists)i(of)e(the)g(v)o
(ertices)h(in)f(the)h(boundary)h(of)e(the)g(ball.)37
b(Assume)26 b(each)g(edge)h(in)f Fr(G)3023 1950 y Fz(\003)3063
1983 y Fp(\()p Fr(`)p Fp(\))g Fu(survi)n(v)o(es)h(with)f(some)0
2096 y(\002x)o(ed)i(probability)k Fr(p)i(<)831 2060 y
Fo(1)p 831 2075 36 4 v 831 2127 a(2)876 2096 y Fu(.)43
b(Note)28 b(that)i(since)f(the)g(survi)n(v)n(al)h(probability)i(is)c
(smaller)i(than)2985 2060 y Fo(1)p 2985 2075 V 2985 2127
a(2)3030 2096 y Fu(,)f(we)f(discuss)i(the)f(case)g(in)0
2209 y(which)23 b(most)f(edges)i(f)o(ail.)29 b(De\002ne)21
b Fr(A)1173 2224 y Fn(k)1238 2209 y Fu(to)h(be)h(the)f(e)n(v)o(ent)h
(that)g(there)g(is)f(a)g(path)i(of)e(survi)n(ving)j(edges)e(between)h
Fr(u)d Fu(and)i(some)0 2322 y(v)o(erte)o(x)h(in)g Fr(#S)5
b Fp(\()p Fr(k)s Fp(\))p Fu(.)28 b(The)23 b(follo)n(wing)i(is)f
(Menshik)o(o)o(v')-5 b(s)26 b(theorem.)k(A)22 b(good)j(reference)g(for)
f(its)g(proof)g(is)g([9].)0 2494 y Ft(Theor)n(em)g(8.)41
b Fs(Ther)m(e)24 b(e)n(xists)h(some)e(positive)j(constant)f
Fr( )s Fp(\()p Fr(p)p Fp(\))f Fs(suc)o(h)g(that)g Fp(Pr[)p
Fr(A)2529 2509 y Fn(k)2572 2494 y Fp(])h Fr(<)g(e)2760
2461 y Fz(\000)p Fn( )r Fo(\()p Fn(p)p Fo(\))p Fn(k)3065
2494 y Fs(for)f(all)g Fr(k)s(:)141 2666 y Fu(Let)p 287
2592 72 4 v 25 w Fr(G)p Fp(\()p Fr(`)p Fp(\))h Fu(be)g(the)h(dual)g
(grid)g(of)f Fr(G)p Fp(\()p Fr(`)p Fp(\))g Fu(\(just)h(lik)o(e)g
Fr(G)1810 2633 y Fz(\003)1850 2666 y Fp(\()p Fr(`)p Fp(\))p
Fu(\))f(b)n(ut)h(if)f(an)g(edge)h(in)f Fr(G)p Fp(\()p
Fr(`)p Fp(\))g Fu(survi)n(v)o(es)i(then)f(its)f(dual)h(edge)g(in)p
0 2705 V 0 2778 a Fr(G)p Fp(\()p Fr(`)p Fp(\))g Fu(f)o(ails)g(and)g(if)
f(an)g(edge)h(in)g Fr(G)p Fp(\()p Fr(`)p Fp(\))f Fu(f)o(ails)h(then)h
(its)e(dual)h(edge)g(in)p 2172 2705 V 26 w Fr(G)p Fp(\()p
Fr(`)p Fp(\))f Fu(survi)n(v)o(es.)36 b(Theorem)26 b(8)f(bounds)i(the)f
(radius)g(of)0 2891 y(connected)g(component)g(of)p 916
2818 V 23 w Fr(G)q Fp(\()p Fr(`)p Fp(\))p Fu(.)i(It)c(states)g(that)h
(the)e(radius)i(of)f(a)f(connected)j(component)g(has)e(an)f(e)o
(xponential)k(decay)-6 b(.)0 3063 y Ft(Cor)n(ollary)28
b(9.)43 b Fs(If)25 b(eac)o(h)i(edg)o(e)f(fails)h(with)e(pr)l(obability)
k Fr(p)g(<)1957 3027 y Fo(1)p 1957 3042 36 4 v 1957 3095
a(2)2002 3063 y Fs(,)c(ther)m(e)i(e)n(xists)g(some)f(constant)i
Fr(\016)33 b Fp(=)c Fr(\016)s Fp(\()p Fr(p)p Fp(\))d
Fs(suc)o(h)g(that)g(with)0 3176 y(high)d(pr)l(obability)604
3143 y Ff(1)663 3176 y Fs(e)o(very)f(connected)j(component)f(of)p
1781 3103 72 4 v 22 w Fr(G)q Fp(\()p Fr(`)p Fp(\))e Fs(is)f(contained)k
(in)d(some)g(ball)h(of)f(r)o(adius)h Fr(\016)c Fp(log)f
Fr(n)j Fs(\(wher)m(e)h(the)0 3289 y(balls)j(ar)m(e)e(de\002ned)i(by)f
(the)g(metric)g(of)f(the)h(grid)g(befor)m(e)h(failur)m(es\).)0
3461 y(Pr)l(oof)o(.)46 b Fu(Theorem)37 b(8)g(states)i(that)e(the)h
(probability)i(that)e(a)e(ball)i(of)f(radius)i Fr(\016)19
b Fp(log)e Fr(n)36 b Fu(centered)k(at)d(v)o(erte)o(x)g
Fr(u)g Fu(does)h(not)0 3574 y(contain)30 b(the)e(component)i(of)e
Fr(u)g Fu(in)p 1145 3501 V 28 w Fr(G)p Fp(\()p Fr(`)p
Fp(\))g Fu(is)g(less)h(than)f Fr(e)1829 3541 y Fz(\000)p
Fn( )r Fo(\()p Fn(p)p Fo(\))p Fn(\016)16 b Fo(log)d Fn(n)2219
3574 y Fu(.)41 b(Set)28 b Fr(\016)j Fu(such)e(that)f
Fr(\016)g Fq(\001)c Fr( )s Fp(\()p Fr(p)p Fp(\))34 b
Fq(\025)g Fp(2)p Fu(.)41 b(No)n(w)27 b(for)h(each)0 3687
y(v)o(erte)o(x)h Fr(u)f Fu(this)h(probability)j(is)c(less)h(than)1386
3651 y Fo(1)p 1364 3666 78 4 v 1364 3720 a Fn(n)1407
3701 y Fe(2)1452 3687 y Fu(.)43 b(When)29 b(applying)h(the)f(union)h
(bound)g(o)o(v)o(er)f(all)f(the)h Fr(n)e Fu(v)o(ertices)k(we)c(ha)n(v)o
(e:)0 3800 y Fp(Pr)o([)c Fu(All)g(components)j(are)e(contained)i(in)e
(balls)g(of)g(radius)50 b Fq(\024)25 b Fr(\016)19 b Fp(log)e
Fr(n)p Fp(])23 b Fu(is)g(at)h(least)g Fp(1)d Fq(\000)2834
3764 y Fo(1)p 2831 3779 43 4 v 2831 3831 a Fn(n)2883
3800 y Fu(.)p 3834 3912 4 62 v 3838 3854 55 4 v 3838
3912 V 3892 3912 4 62 v 0 4155 a Ft(3.1.1)92 b(A)22 b(Non)g(Adapti)o(v)
o(e)i(Algorithm.)0 4330 y Fu(W)-7 b(e)18 b(sho)n(w)h(an)g(algorithm)i
(that)f(matches)g(the)g(lo)n(wer)f(bound)h(of)1984 4264
y Fq(p)p 2060 4264 55 4 v 66 x Fr(n)15 b Fp(log)i Fr(n)h
Fu(for)i(non)f(adapti)n(v)o(e)i(probes)g(from)e(Theorem)g(3.)27
b(A)0 4442 y(left-right)d(path)f(in)e Fr(G)p Fp(\()p
Fr(`)p Fp(\))h Fu(must)g Fs(avoid)k Fu(all)c(the)g(components)i(of)e
(survi)n(ving)i(edges)f(in)p 2720 4369 72 4 v 21 w Fr(G)q
Fp(\()p Fr(`)p Fp(\))p Fu(.)28 b(See)21 b(Figure)h(2.)28
b(W)-7 b(e)21 b(describe)0 4555 y(a)27 b(non-adapti)n(v)o(e)j
(algorithm)f(that)f(\002nds)g(a)e(left-right)k(path,)f(when)e(each)h
(element)h(f)o(ails)f(with)f(probability)j Fr(p)i(<)3651
4520 y Fo(1)p 3651 4535 36 4 v 3651 4587 a(2)3696 4555
y Fu(.)40 b(The)0 4668 y(case)26 b(of)f(a)g(top-bottom)i(path)f(is)f
(analogous.)37 b(Choose)26 b(a)f(horizontal)j(strip)e(of)f(width)h(at)f
(least)h Fp(2)p Fr(\016)20 b Fp(log)d Fr(n)k Fp(+)g(1)k
Fu(\(where)h Fr(\016)i Fu(is)0 4781 y(tak)o(en)h(from)f(Corollary)h
(9\))e(and)i(e)o(xamine)f(all)g(the)g(edges.)42 b(The)28
b(algorithm)h(tries)f(to)g(\002nd)f(a)h(left-right)i(crossing)g(within)
0 4894 y(the)24 b(boundaries)i(of)e(this)g(strip.)0 5066
y Ft(Claim)k(10.)44 b Fs(After)28 b(pr)l(obing)i(non-adaptively)j
Fp(2)p Fr(`)p Fp(\(2)p Fr(\016)20 b Fp(log)e Fr(n)23
b Fp(+)g(1\))34 b(=)f(\002\()2367 5000 y Fq(p)p 2443
5000 55 4 v 66 x Fr(n)15 b Fp(log)i Fr(n)p Fp(\))28 b
Fs(elements,)i(the)e(algorithm)i(\002nds)f(a)0 5179 y(quorum)c(with)e
(high)h(pr)l(obability)-5 b(.)p 0 5253 1560 4 v 105 5308
a Fd(1)134 5340 y Fl(The)19 b(term)g(`with)f(high)i(probability')f(\(w)
-5 b(.h.p\))19 b(means)h(with)e(probability)i Fc(1)d
Fk(\000)g Fb(n)2240 5308 y Fa(\017)2289 5340 y Fl(where)i
Fb(\017)g Fl(is)g(some)g(positi)n(v)o(e)h(constant.)1927
5589 y Fu(6)p eop end
%%Page: 7 7
TeXDict begin 7 6 bop 0 3 3882 4 v 0 1332 4 1329 v 51
1091 a @beginspecial 0 @llx 0 @lly 469 @urx 228 @ury
3401 @rwi 1275 @rhi @setspecial
%%BeginDocument: percolation_new.eps
%!PS-Adobe-2.0 EPSF-1.2
%%Title: percolation_new.FH9
%%Creator: FreeHand 9.0
%%CreationDate: Mon Feb 03 14:50:35 2003
%%BoundingBox: 0 0 469 228
%%FHPathName:E:\Writeups\Dynamic Quorums\percolation_new.FH9
%ALDOriginalFile:E:\Writeups\Dynamic Quorums\percolation_new.FH9
%ALDBoundingBox: -5 -7 787 605
%%FHPageNum:1
%%DocumentSuppliedResources: procset Altsys_header 4 0
%%ColorUsage: Color
%%DocumentProcessColors: Black
%%EndComments
%%BeginFont: Gen_Arial
11 dict begin
/FontName (Gen_Arial) def
/FontType 1 def
/PaintType 0 def
/FontMatrix [0.001 0 0 0.001 0 0] def
/Encoding 256 array 0 1 255 {1 index exch /.notdef put} for def
Encoding 0 /MT0 put Encoding 1 /MT1 put Encoding 2 /MT2 put Encoding 3 /MT3 put Encoding 4 /MT4 put Encoding 5 /MT5 put
Encoding 6 /MT6 put Encoding 7 /MT7 put Encoding 8 /MT8 put Encoding 9 /MT9 put Encoding 10 /MT10 put Encoding 11 /MT11 put
Encoding 12 /MT12 put Encoding 13 /MT13 put Encoding 14 /MT14 put Encoding 15 /MT15 put Encoding 16 /MT16 put Encoding 17 /MT17 put
Encoding 18 /MT18 put Encoding 19 /MT19 put Encoding 20 /MT20 put Encoding 21 /MT21 put Encoding 22 /MT22 put Encoding 23 /MT23 put
Encoding 24 /MT24 put Encoding 25 /MT25 put Encoding 26 /MT26 put Encoding 27 /MT27 put Encoding 28 /MT28 put Encoding 29 /MT29 put
Encoding 30 /MT30 put Encoding 31 /MT31 put Encoding 32 /MT32 put Encoding 33 /MT33 put Encoding 34 /MT34 put Encoding 35 /MT35 put
Encoding 36 /MT36 put Encoding 37 /MT37 put Encoding 38 /MT38 put Encoding 39 /MT39 put Encoding 40 /MT40 put Encoding 41 /MT41 put
Encoding 42 /MT42 put Encoding 43 /MT43 put Encoding 44 /MT44 put Encoding 45 /MT45 put Encoding 46 /MT46 put Encoding 47 /MT47 put
Encoding 48 /MT48 put Encoding 49 /MT49 put Encoding 50 /MT50 put Encoding 51 /MT51 put Encoding 52 /MT52 put Encoding 53 /MT53 put
Encoding 54 /MT54 put Encoding 55 /MT55 put Encoding 56 /MT56 put Encoding 57 /MT57 put Encoding 58 /MT58 put Encoding 59 /MT59 put
Encoding 60 /MT60 put Encoding 61 /MT61 put Encoding 62 /MT62 put Encoding 63 /MT63 put Encoding 64 /MT64 put Encoding 65 /MT65 put
Encoding 66 /MT66 put Encoding 67 /MT67 put Encoding 68 /MT68 put Encoding 69 /MT69 put Encoding 70 /MT70 put Encoding 71 /MT71 put
Encoding 72 /MT72 put Encoding 73 /MT73 put Encoding 74 /MT74 put Encoding 75 /MT75 put Encoding 76 /MT76 put Encoding 77 /MT77 put
Encoding 78 /MT78 put Encoding 79 /MT79 put Encoding 80 /MT80 put Encoding 81 /MT81 put Encoding 82 /MT82 put Encoding 83 /MT83 put
Encoding 84 /MT84 put Encoding 85 /MT85 put Encoding 86 /MT86 put Encoding 87 /MT87 put Encoding 88 /MT88 put Encoding 89 /MT89 put
Encoding 90 /MT90 put Encoding 91 /MT91 put Encoding 92 /MT92 put Encoding 93 /MT93 put Encoding 94 /MT94 put Encoding 95 /MT95 put
Encoding 96 /MT96 put Encoding 97 /MT97 put Encoding 98 /MT98 put Encoding 99 /MT99 put Encoding 100 /MT100 put Encoding 101 /MT101 put
Encoding 102 /MT102 put Encoding 103 /MT103 put Encoding 104 /MT104 put Encoding 105 /MT105 put Encoding 106 /MT106 put Encoding 107 /MT107 put
Encoding 108 /MT108 put Encoding 109 /MT109 put Encoding 110 /MT110 put Encoding 111 /MT111 put Encoding 112 /MT112 put Encoding 113 /MT113 put
Encoding 114 /MT114 put Encoding 115 /MT115 put Encoding 116 /MT116 put Encoding 117 /MT117 put Encoding 118 /MT118 put Encoding 119 /MT119 put
Encoding 120 /MT120 put Encoding 121 /MT121 put Encoding 122 /MT122 put Encoding 123 /MT123 put Encoding 124 /MT124 put Encoding 125 /MT125 put
Encoding 126 /MT126 put Encoding 127 /MT127 put Encoding 128 /MT128 put Encoding 129 /MT129 put Encoding 130 /MT130 put Encoding 131 /MT131 put
Encoding 132 /MT132 put Encoding 133 /MT133 put Encoding 134 /MT134 put Encoding 135 /MT135 put Encoding 136 /MT136 put Encoding 137 /MT137 put
Encoding 138 /MT138 put Encoding 139 /MT139 put Encoding 140 /MT140 put Encoding 141 /MT141 put Encoding 142 /MT142 put Encoding 143 /MT143 put
Encoding 144 /MT144 put Encoding 145 /MT145 put Encoding 146 /MT146 put Encoding 147 /MT147 put Encoding 148 /MT148 put Encoding 149 /MT149 put
Encoding 150 /MT150 put Encoding 151 /MT151 put Encoding 152 /MT152 put Encoding 153 /MT153 put Encoding 154 /MT154 put Encoding 155 /MT155 put
Encoding 156 /MT156 put Encoding 157 /MT157 put Encoding 158 /MT158 put Encoding 159 /MT159 put Encoding 160 /MT160 put Encoding 161 /MT161 put
Encoding 162 /MT162 put Encoding 163 /MT163 put Encoding 164 /MT164 put Encoding 165 /MT165 put Encoding 166 /MT166 put Encoding 167 /MT167 put
Encoding 168 /MT168 put Encoding 169 /MT169 put Encoding 170 /MT170 put Encoding 171 /MT171 put Encoding 172 /MT172 put Encoding 173 /MT173 put
Encoding 174 /MT174 put Encoding 175 /MT175 put Encoding 176 /MT176 put Encoding 177 /MT177 put Encoding 178 /MT178 put Encoding 179 /MT179 put
Encoding 180 /MT180 put Encoding 181 /MT181 put Encoding 182 /MT182 put Encoding 183 /MT183 put Encoding 184 /MT184 put Encoding 185 /MT185 put
Encoding 186 /MT186 put Encoding 187 /MT187 put Encoding 188 /MT188 put Encoding 189 /MT189 put Encoding 190 /MT190 put Encoding 191 /MT191 put
Encoding 192 /MT192 put Encoding 193 /MT193 put Encoding 194 /MT194 put Encoding 195 /MT195 put Encoding 196 /MT196 put Encoding 197 /MT197 put
Encoding 198 /MT198 put Encoding 199 /MT199 put Encoding 200 /MT200 put Encoding 201 /MT201 put Encoding 202 /MT202 put Encoding 203 /MT203 put
Encoding 204 /MT204 put Encoding 205 /MT205 put Encoding 206 /MT206 put Encoding 207 /MT207 put Encoding 208 /MT208 put Encoding 209 /MT209 put
Encoding 210 /MT210 put Encoding 211 /MT211 put Encoding 212 /MT212 put Encoding 213 /MT213 put Encoding 214 /MT214 put Encoding 215 /MT215 put
Encoding 216 /MT216 put Encoding 217 /MT217 put Encoding 218 /MT218 put Encoding 219 /MT219 put Encoding 220 /MT220 put Encoding 221 /MT221 put
Encoding 222 /MT222 put Encoding 223 /MT223 put Encoding 224 /MT224 put Encoding 225 /MT225 put Encoding 226 /MT226 put Encoding 227 /MT227 put
Encoding 228 /MT228 put Encoding 229 /MT229 put Encoding 230 /MT230 put Encoding 231 /MT231 put Encoding 232 /MT232 put Encoding 233 /MT233 put
Encoding 234 /MT234 put Encoding 235 /MT235 put Encoding 236 /MT236 put Encoding 237 /MT237 put Encoding 238 /MT238 put Encoding 239 /MT239 put
Encoding 240 /MT240 put Encoding 241 /MT241 put Encoding 242 /MT242 put Encoding 243 /MT243 put Encoding 244 /MT244 put Encoding 245 /MT245 put
Encoding 246 /MT246 put Encoding 247 /MT247 put Encoding 248 /MT248 put Encoding 249 /MT249 put Encoding 250 /MT250 put Encoding 251 /MT251 put
Encoding 252 /MT252 put Encoding 253 /MT253 put Encoding 254 /MT254 put Encoding 255 /MT255 put /FontBBox {0 -200 1000 1000 } def
currentdict end currentfile eexec
E98D09D760A3C22CF119F9DC699A22C35B529FBC319140A0049F057F42052E3A8D9AE5679F78981811AF51C2768AFEF74C3FB094B830F80CDDE1A446879430C01F07A76D3070FC382366FDE4922A7E2887FC440409174165DC0E5DB934306DC606D3
B7B01A93A226A85F45F9E1CA97A8D4B0AF250F6391EA095F49C543CD6BF92A0085A93936BB2FE277F3FD9C9636479A6EE4483E4C2D2EEC184E757DD2F7374EC2D01FC0266A42B51641F914ED88AED066569E17215A1364E77B23C22D23599BD3E278
E67D2CCF0D66EF88DF7D7DB55382093EC7F106B47184BE74430E6ACB842D3838C1F104EAFDAEAD963C3A690561DAB46A659D0369456325AF3E2D0F461086C3A88E05BEF21C28A20A6D0B7A90FB620D3FA0CA60A2E57AA39CA0D19161612FFF78CEF2
06CF8D0848984EA69274E215D9E28A640601ABD6F4B8A11448634694246CF61B6A2750257171FA51223EDBF645427319786E773D2B2ABDE62FD9F8909B21952A01B170FEAF69620842F988F1B0E2BAE8A2292873354C079C04AA03C9C5926BE331DA
CD25AAAD8279BB446F4010D8AEAFDE35D00038ECF60F5F1CCFC45EC623F95F1115C58C6C50E5DD7C9FB990784000AD59BE1F346013D019B44E510A255027D81C4C97190077CCB0339B29D52771C81AD8E756E2A7D9B0CB2A6462869D6EA161A81E00
ADAB9640BA19AD41D8696634BFACDF92B2DBC694919D4F41D09822381FD03F6C81C8B9D68C99C9EB508C9C666342D79DEA460D7F464CA2B8C2D7A2F90B106054A6BF557D4041E4A979A543395CDC48DBB13D7698C2614406B439812182273397886D
98852855DD5177ED13BC9BA3940F42784089CD7DC3D8331927710231B9E4ECC4E42AB94AF412DA745900229C58293F24FCE4A41FAC95827A85AECC5CDA85FCC8B3CC9729180E8E2B993D171EED98E995EBED9CD7A332233FF1C9D9B1470A7CC021A3
B60D1D05271A4724BF14BD7472EDAFEC89FC3B661BF594FB8BE53C83BBFD50999EA31F21211CE2B6622DAFA6D5ADE8389ED63F1D5D7963E6EC917BC6FEA7BCB3FCCC3E459374790135BE972E8742ECA6E3B846A4660A42F8095D21729CB17F665C25
EC98A6975564DA1DD2EDBBC297D5043DF8419DCF889E6889E1BBFB94E805081C7BBB0DAEF97C3924D2AFA1E5DEDE706E95E5407F72E8C50471ACA8A3167AEB52F2AF661F039F2C3DBACA2D739FBC72E98BDEFC8F2EE9638CF461C13B388D7BE7B43C
DB74545F5DF5A865ACAF9EDFC6DA3B28448B4E6B398E2790EF793B52980DDD84E4D0DFA7642329EF4177D058F30E99637AD5B2B7EE6ABFF4186627196EE21842D2F1225705A7721A0A29A3DEBF40089D30E70A8B3C27152E08F57005BB4ACFE6940A
2A8A5CCF5A592A2D754F149340E3D17636D06C224DE6600F24F2EF2D8DCCD2FCB14D904633B29668B5A8F609CBAD0BB368C7861C141F8F41E58435168E47A7F8C14D8FF10A5758C4B274D5DDF569DC08EBFCFEE7DF5DFA82D354F9A12B25F8509B6A
0BCCE74C539510BCD892E4FCE47E02005BB170E5B471FB513803A07DC243F06E09132A148D1588089F0AA3D24AFE0CAE82BBF35C135858A4FFCF60C973B707A96972FDD806E5FDDFB600DE9E9245943A23E259B1F885308E715C1B4EAA53605DFA26
70A5C10FCA1C2FB19CCFB4FF2FC28880A294D959A0CE1D9507E79C46D3E258AC6522E8C329CD0EE5FD1938905EDA6C1B54C5BC8158EF534E85C3848CE4AD0BF3491053A800989CF9942CD21FB83AAD603793A07A3977C72692FE3DC555F4D847CE7B
282DDEFEC4501561DE725345066AD8569180B25F6FAC57D67BC6F72D72F1A4290DFC5F2865C046AA3B7627869B2A0313F71E177DB4D7CAF943CCF4A65FEA097C476B168019AF8CCBC06905AF08814D5B1A6DAC4CC64D151B1D3DA77B0A58503CDE96
CF1D56DD1D2CC5A9A145D0A843CDCA50342491D2F70A5202198C7B366FD0B3E5FD37B297ED9D8D8721483B31C9489EDB9A030B51F1629D9F10728F21528F52A096A0C2E328A05A1BB80FC189915E0CE863C3E73937F93E3705079F1265C1DE82439B
D278B7C8DF4866527B67DC71949486F0D2C3503067791966DCFA4595BF3A217D52575042999E4D1F915D1ED0FD3BAEF18BC2108B50D9C7ECE8BF10414962A804DAED539A29A599FEF7F2AC3A632207D9ECAC4E624B80E4F5BDFC587B8CF256C8F786
AC97514E4C5BA80E59C5C31D3DD9402508FA9BF1E36F83B6E76A3875E78AB56999DC1060CA90A6B2B251DD9040A3B9909431453FE05EE61DC08FFBA8919951A73C43A42EBF75CED7F038217281E0869E7071B651712DBED65565307BCDD7B9854F79
A9ADAE32953A84538ED216CECDFA9B525C3BA182014CF26BB99DC71D63BBC1A897EFB4B1AB9786FAB274DC7576E213DBAEB3D57BF63107F0F58243A265213DFA888A1CC6799D2B0C32C7C26AD166951F2A9A85FB276B2F7F01FECE25548E006D0937
FA6A5693BEDD07132337AE6D71DC67BA39D33B636BE8EABB38F5AC761AB6A0F0D54B0383E7065FB50E28631DAAF68209A0A0BBA945627C82C04CC18B1B49F6F2606E46BA86E0B8B96D8F944C2BC5907053B942A7F72D03E267F4B286C618EFE7E6DA
53823342F344F7312E85F793D4D7195BB395EC0B935DA525D874207EBA227E421CF610591560CB9C1C71174AF879E79C38F3D50E8CA7D61DEFF46C8AB67AEA24DC9109F78D7E0FA31BA5739FE3653C2BE94EFBDAA4E4158F037D432CCB95AC279C47
1A6227A62CBFC7048C7ACB78E7A4712D6E7DB29985A7BA957140632B718CD583895A75E0D0139616F86853A19161D8C553D667AF2059629237EECE2EAB0D374A4F4715B2975C090C7C98F1192EDC8E2F96EB664D1572FB936E9737345DDA82B4F0F8
9102CB5E9294DC92A321B63B1388D1BB1CC68E55D1494ABFD910CFA7EDD241B1574832549329639EAC0FB97010A5E23244A6CED091252BC468D6807219775E5FAD91BD58996EE945582BE0473F6C0C85476095CAAD9986BB21AA0C4BB753046836F5
4284D6DB463A46B7139FA6E14AF2938B61349439FA1548AC9FB8410A3DE2AEA63DCC97C83D63F8B23394958996AC7B51202B459C05AA0E0C591DDC6AB256B0BD9A4BFFA1D05E33A980F8690F0E67BEAC24EE8DFBF540AD1CEBB60C9DD75E914F1FC2
6DBFF2874A42F7FFB75BB5BB772AC0B1230A4865CBE2F129E0875B28C51EFB50DF231A481089978E9CEB06991FE06E1EDDC578F5E65B24B6C6DBCA5FD93BF8A296FFA024D08E50B55597E4846C1094F0510DB73BD0B047B05C3E7E65F0BE6327729E
C724A4BBE6F051A147BC356F02D37A1C3EBBDB16D3F48A3C87DFE6275E4DA189C35C2FE38508EA262060412360EA0587CD51678243D2C3E6301E2A4D36F87076CF8975A79633763BBA8206DBAA13EF3A53701D00FE9D0B813E1826F2742806C9463E
F4A93F1B5800A86A8EB1816483C58F2F27B70623E9C122F243C1F559D59F1E84903FD9267E66ED1D97CDE46965A32235392A280E9657333206E35388F749D54DA8FCEB2D4AEAB07D6847A14EF2B4D69DAF8E51D19A0DEDEF4FAE490327DF3A96F8A9
6DF172F1EC716D31671F78C988DE62A97ECEEDDC306F975D87EA8A758F2D81A09C96472574CACC70F1E92973C3356FD5E5468679113C757004E2B827FB83BD7076C7386F50A336E31083828456F099078346BE95CF6D2F2B8E91C45A34EF67C5BEF1
BA8D4A95784DB36FD5615B0FB42DB4EBDB6D3C25D284CECF5FF85D417FD76C136AAC433AAB1BC6D034D72E5C9A63FEFA199406E2D79C2ABBEDD4880BD35DC8A1DAC89757B3E0D9561099231236EFA0187802017E2A6BCE438D42FB321610FC854C08
F70A1822D7113919D168DC4C69E10C38431D1A9647A0CE94CCF0A011338CAC0459ABB741496754AC59E2115D7B267952317AB664649D2CC8CB396784B5C0327C40293A18A3E759897009691EDE49F656D94F36A3192C0C44FF9C11D36FE360E6D3AA
CF095FE69B8D77E601C53D3C074EECD1382A4E4737F4D049726D8CC60470745A123B41018F1268429BB5021989BD85E8A1A2DECE6F35DC0246C1FF7FD4AF754E57D1BA7786DA1B030A9046CCCE2578D664659632959D64725E379DC2BF49D41A5D0F
942BD2C7910BEEACB38EAD6FCF7269592557CB96255261B875EBF58FCDF602F26C2ADDC8BD6D3D5276F57E589DF6E63939D420DA77F8D84C76CA0410A0ED52A7AA63ECB8A1449EC7DE0096B0336C43D8C28B243B40EF3C1CAF9CF2D8668D7D6FB632
B3A7D6C38A0739E35FC0F5D53D5DE2D0E8C558172CC9ECDA68B50ED528945DB64379D1AF20501E426CF00D7A73911844D848FCF0E9C2E0C44608E989183599EFD28F61196BE0190E9CA504027D0FF3FA289A204B0141F72F23FAFC739DB9AE2D5D8A
6CF9EA020235515C763E6E24D2447DE009E1FBBCE46ED405D1BCE2617A62412DC283BE12BF453506BECA49DE590954D1243EEC1B4FBE3B29539E211E825B1CBC55B0DEAED0BF8A2729A01E1FBD66EC692E6636184653054867182F962BFF782EF836
1AB643A165B9E0BFCF6080D1460B3D7734BDE995C9BED4ED6DA4C0A9F121A8F74E67A2339FACBE6437C14894E8AC41958DAAFD6564457CE00E3A5A483E6923656E924A9A968002A414D13B0553F81E69C74F7DD0F6A587D9864620B6ECEA6318576A
6F2FE12F13C6A61D12F1651B03236C930A19B82E14EAFC5B1427555E72B2D70C72D55174BAC3C53C95E57BDD1602E7AB45829B3185A7AEE3AD4693B5B860C991E7200992E5572396194BF7F5A6DEC6D5D392D5657FB055269D4B8AFD7EE09A728E1C
975EBFAA1F8430F7C7563E306B051E19AB8AABF3F671D911259B311AEAE10E92BAB04B8DA33825A6CBC1CC37ADB6A018BFFDB8B83A5B3A40C92FBB5DC2B1BB4FCB35E1A971AEA49780F0BA35EA89D5C944D5CE3531E6A64E8AA5A9F297FE3FB2ABD9
D46C309EC85EB4131305F4E7165AC7A6D959435AE8A5A2894DE43BE3FCFE121CEA7DE5AF008C47ECB065603A8806B898734FF7B40030F11101FA635505EA38D1FD43D2DA887FF63B6BBD9B1E8C0528C007AFFF2E8ADC843443073C0DA0B534783F8B
30B43DA4FF0962C22F8C0CB7CC344DBBE90A78F6B4DD2A2B49E3E433C03BE35EFC8091B5E24F43A7B8EB4ECB28792834FEDEEA5D10E7BF8AA38F1A31AE7E23955295DE2B68728CEC30F2D2E3832E272BBFA74C3C1890726C7A2AB38AF3B41AFFB66D
B18390327086E2501E6D25CFC99DCAE90C7A634F67FCD9641C78871206763A6AE294AC87735C4F64B26EFF26D6D89EC06DD890E97BB8D4A443B9B97401B982FA16E59C55091C224C5AF14CEFCBD99994642A73EC6D1935B7F589810BF700EA64D3AB
5318BDDD83DAD8F20A89703DE94A47991E68C4D7311AE781C576A799CD88744E4672C8751AF7B550C9549096532635B98C501821876BFFFD1C207DE96028F0DAEDCAD112710A2FC238CE7E0F2389EFDCA6A6F19998AAD4DC86B73EBA2F8FD4EB96DE
1F657E2E3312A22693F248F93C498ABE5D642809EA4FD2983D0435C0041926F6438FC049940E426FD3348DD5728FBC51758ECCAA229E59F5C9BCDDB060E922E2FBA362903BD209AE1B917F0A24ACE1C03326E097BB25DCACD908440785546D6FF99D
9491FCF5F6861F7EA3D438FA92E6DD82E7EFD9BA5DD3472513EE8AAE5324EC2C7C24D4CCEC1D6AB7CE620F5BA97A833A1774EC4C5AB2A9F76F7B898778AEFF90C23EDCE6E0A38E42C10A4C41EF3F462F0A3D139E233E6EAED42B2CC7BE30C4709B12
F6AC4375C48A0F7FFA8E1813BCE3F8B8FC2D3835321314F95A46937A07BC7566FB964CAA84A4FF8EDC961C8B5FD89289E99F075E7B4A552BC07D3C98C2DB412DBA2030EB05C4A163C252118790DDB9F44AAD8DEB84DC164FF7FD770E67054E584AB4
C0584CC53BB640571D3DEE0305FC9C35460A61461A47BBEB54CE5D340FEB651DF27DD59C20D63E209ED1766740DB86E3E666179CEFBE8EEA9D0A58E781C7A9926728BEB90E81FDB0EB0A29CC7F9F34F2CE153F017F4BD3F619A8806DFD19CA68EF57
63E7434B8CD96857805825873C22E35A5F0F81B80C9D205CAFFEF92A3ED2B809BB0E21B60A810847B692068EBA1054F8BEF36FA12817B722AA99D3AFEB926D068F556D6814D48D8485644A0851BDCF22294E4A4EA1EF2A742C6E7F3C0B5E2FA4E0FC
E76B25019711CA322D3D29C8FBE4CA5ADFC9BDA8961097A3B8E074C48BD7B7A49F7E60046529AF512A1660FAE70559021297F1A6CCFF82A518E81A60BD28E7F0393FDDC919655942A9DBC802B6BBCB68C2A48BB66559BF01ECA370EE6C22759D5D3C
36A07364EE9B09D9740B25B9574F25FBEBA5932674A698B06DC9F01CFB4B5A09FEED558E58B7E0428190079F21D690989027AB9043E28F1F55F3C888FF35791CA25707DFEC9740CCA239E41E9DE2A804BFE3E60DE917F19355FAC1204265F8383842
DFB580D3A771CAE09CF69BDB40D8A00B18D07E28B2289251AD439259C8A40E3253F2D481495C090533C039A426D9DDD8662BBE85524205DE64276F7ADF76A6B90ABC550C01BA9794FF0578EBDE55C905E8DB24A7377A5FE6C81655CA4AEADBC2AC00
F3588D5A85FDB0ACE6C224B8C6FBB660B2667C07644A15B02AC8213BF7A58BF7734D45F530DC182B2E7DC0D833E51014E69C089D268442B7E6BF6EFCB141185F2617FECAF06B97B279C34CB73E154A092E4197C846C2B904EAFFE06744A6F2D97BFD
4E200E93DA4BF5AF3C39A8F03C3115FC70FAEE0E78DE5D08B4D1E010ABC316E02670937BC1BB3E757D1F92CE810769EA132C8452959D5B786E30183410F18E87E5557591A22EBFC411DED7FF4F8757E7F7316248BC3899EE193B4AEBB76D3733666C
B038303EC1596066B59C9DF660F16066FB4E2E2AE4330EE6F27490996A7F3B2706CBCD85198C498CB4FE622376CC7E8CAD77817FFFBB30EF239E316E3D315151832BD5A48B6926CEA652EF1AB68C5137A439CD773E5FE522BCE7564429E4F4E3740C
51E73027FB47DCBBDC213F27E172CBD69DEE143AE6275F8B303A038579AFC3266A10FED5AF80C2F88BE0E10FAC7C143D3D5D3BBEB749A800248AEB49B0D986C6E9EA5900E84F2FF0A9EC997D6142526BBB1CCAD9221F36A82A5F9825DA31029B883B
1C29DCC6893D700754A9763ED63E565FD5D68C89247D997C8C1587B9B59B339C4719CCCA9574C393A4F1EB85CD4791E7BFABE70B1D9845F528892171FC4797EE2BE915F765BCAF1EDB65FD2B7C4E1A35C2F6A50AC7985755D10C3C068351A4E6E946
018CC1CB6598A5A2257ABDE5AA4E42134FE691338390B44C3823682B207685E548020F1B8F324DBE4B8531A46ADC864D16A4C1E5525C3280628796129A34DF6DE02BBA932ECC7562356C38C66FB45DBB1A45905D5D1A10BA6C48143C86C29B83769F
6125050532563E129EE23B759465AC78AB1F802CA2376C8455D5FD1C0AC5835F098E90307AC925134628EC9F601795B1E8CBDD7DAC98BCC0F59C08479BD590B225F1FABBFDA3DC295F8AC8BEEDD37C6E8290797B6DCFA1D1D0B9C0B7719427F949FF
CFA845B0AD75482B6849335BD54379B520F875B2DC66F63A8B9B79F7E00AF58474C037E2C93FF402CC8DC79E955333EB27A081E7F893CD3964A232C142021D40705D5767A87053F12883657C25A7C8A24618CD668971A0DB800BFC2A7B0971D7BACD
7B1CAC6950EFFD55BCD019A4FEEE7899C7B4D63B3E05A2FF66C311EAF0599E5526541848AEF50D915DCAEFEDEFDDE15070FBDCBC23B0F98B75B144A315A60FE78A03BBC23EA33C4A304ABCA885595201A77942E254B747DC323F4A032A1895F77BE4
84610AE326097064A3B7792843FAEAD56AE526B30692E97A42EC99B0C3F93E8910734C32EB4D7823FD760A4DA7E6EA76D91F4268161B7B47528F71F330C82A361D1ED77458E5F67748D5DD54F326CE541CFAE5B17E9D7B867477D92163EFA4944C09
B4037189A2307D9A0CC9D78E02AB581649BF0CA4592D48E1607B851CE215FAB95A190BF220AE76517349AFBA879979E9DFB9E5E3FCEC5454E94FF3E9F7A09328B299ADF64CD897CA32B8647C2CF6CE9D323CC28EE10BE6610B08025D0769C98D7EF0
F1A9F52CA02C5DCD1F79552A895749F3339CF26020C3AAF5F66D4CA943EA4B4E18B78743E94F17AAEF29B1E8469129FF5DE2A957812C4BD0DD2B0FC50545B0E85CA0301DBBB14F785E0AD66A1BF55B8EEBA5D86570DC7080345EE0EC1241EAAC4CAD
991C4DA475E08AAD24A176D0013F41EF1AA51679508D5D790ED53825C3909C43884847812BE5DCBAE053C83451996EB44FDAB5BE4E26F27565EF2D8812D28539970CDF971DE48B9D165ABBDEA360AC1A1B9625501EB08AD83B574000E8202BD0F10A
5B447247C75E4EB2BA50102AAE6D542EABB5B20577874D8F55717A7F24AF9ADF66C21DB3A62F3CC6124D6A7F0D5F63ED807610F3FB01AB661FA78760EBFC674CCA9A4190F6EAEBF1681AC38F764585D7B63CCAA099F31FF7BBE44E26068E5C065A5C
C3DB19816444E8FBC621C79B00023810D800B55FB87FABA1CE02628DDED7165FD06EB84A5FA7489DBF8A9459F59BD206697C0D80B39DA4D6884B131741ED6AF9346CB0EF98C67463BFA01C2DC32EFAE8839D90FD929B875B9B3EA80BE18F3F292751
DCEFD959C0E381EBC0AFDEB107AF0E5DA7C28EDAD872DD00A991A3013C7346104AA6D014580CC6AE3F0688B1B7D3AF6A5969BD886BD169F97E51DB9220D3A3C8A039BDF891AA9676EC45F651719D40157032231C869E09BD3327B5C9950400325791
116CE38EDB84001301DECD5688D0F20F9BA018660CF03ECC1809219AE23635D44F7C224CDD7D1D84503E1CF9E958EA668C12AA5C5F5B164549CC6D8F33E002AB8DCA970603171DADC5563B0D4692E36A627B7F9713DD1C23562E959083FBB3763AAE
3A6A9B5725233B146A13D23A2723441C626F674405B68273B6F92E8122B56A0624AED69A064C163DB574BD8D9B853D4B2836CC0017161CC09C29CC5D5E81638A910E0B0B08E03A369A2BD97CCF4C92925FD2773DC236F92699E08704E980D947D46C
F6E12FB2C68DEE343E43AB650852086226944BA7C64069DCE959696C5C9AD33CA9723DDB4E709EC62F9FAC2C76F5F16881ADB0725E70FD24E8F74187248D7A209D1C7938379AFF14D4D8724E67F84B5656B3EA8E5A7B831255A479F042EC62340C1A
3144CAA1C4F19CBE7A66329C213D451E18A29E89D5255D5BBCF4A538D80E0BEA16FCE03D2F79D939DE3A2E0B61F8FCC44F072F672B1890143CF52E0915A9B400902F9C823CBC7D626E4871A23F1E16047DFBEC1EDB8D84788538D053AD92E8031E10
076A84AB9AD5642C8EFB7EA23D3456816273557479F004525DCA5602B2793AD675B30ECC2CA921FBA2C77DB6E66AF3D821517EFF0A645381BD1EA48DBC6B9459D25E7E883A14DB1DF5A9859C25917E6590D9AC0A8D4FE1987D70F5F6FBE69B2E04B0
68E041402CB6571DDBF6C82525E4178AC96F350A5932A83706CBBCDA9525DDCC083560E487D602611C5E4B8F61779A61DA8AFFE64BE55E3B8332A57021D96A9FF1D2FBCEE85A0C7AEF2E808C7BA49EAB108EC7B5528E1CBC5FE21A63B6749349FB8B
217659EEDE0C55827383642EDD2C31642DBFA612AB2D66F66956ACB667389428D9D389DFF7915D34EB540EDC78E65D1DAE61EF6653C6A4DA98469CD7B2E17740038BD81EEB581EA9632C02E3ADE8EF0D836AF8A157A8F4C44162E2FA2699DB9560E5
A88893D062A77848D37338E74A7860488CF0AB80B1D9B43BF2323F552317A4F060BE1B6EB11202BF2F578E32CD4B7E2CB856B9DAF592A769F676E5637EB82B4B6D5F3B8BA7BF85845849F09B079E09B8D1C5285CD82F44E2E9E99DB4D0E9FA938115
77FA2A336E291A0AE53506F8B3D56A21398FCFD9A24A015C2651EC7A3E17B983189F23335F0F128A2CD57B3BB61602F960CBE2DD72D2CE3FA662D9E23C896625ECC7FF846D7B50B705465943C7666222CF584C53F946C90A2EA7BFF796562D2150EB
3B1067F90325A1A7A066CCD681B5BB684D634CF180F47A0A27DEA8B47ABFC1A2394561E548F13F52E0711F02AE6616075CD6AA1F733C01B761BD12EE136DC6B6889F09AB4F82EDA7E5D330B26397090298D52FB1924F306A1889DFA820989B802A9C
3D15C3BDC44DCB4FD5A14ACB90A947C080BC24CF0704683AEB42F9AD8C2726F86E361D88A363484A79CC9AD3AB8669A6912131DD370E21AF95EF7C0A8CDF176D34C20C6CFEC8326457A0C9FD55B80AFF3C8D5AD8C1D77EBF50EEE85317CB6D81A34E
0B6636188E9E522FBC28DA96447F7F93CEFB1ABF4911F6B555EDC52014EFDBDFED9A0D1D47F30358E68A3B8EA7C4A8BB4AFF35399EBD450FF299084E48185DDE26B501A316A3B23B4CF7CB88AC036CA6009492C334E9D0D67EB05A5516733CF92F31
1F7F19904C20415EE9BF8CB7C8E0E3AE9924A3266171522C3CE65869FFC07B0AD2C3841014521B8C2E8CA4DA22B32FE021F75B8AE64D4AEECB9C43BEAD7C22549CEA7C6D32BBBDD356047FDD4BD7AB13C606C3EA1DD6A0C8E1B28BF0D2E85E6E606D
E74594D6EFC9AAC9250CC3A64E6468946DA78F9C7E1B6F4765EDD46D064983FE8424E3677627CF2F1F0BB56EAA5B828B49975F11776E4FAEDEAB7ED91A26AFA542C294E11300B358B1549567CD3BF779B81A6E11D02BF40B33F09D66C2521F9AB5BB
FA9DF74A3C5110FFC03DCD42FBB3E875DE44ABD5A33E9F61786DCEF5A798CA54E83CE5C64B7A397FDD411311D17A5F5AE9710212795B3894252DE391EE65D6F28709BCD7E77161E29F7F57A14C9896C451BFF6ACF9CA130999457B8168B1C9984989
A81AF32D9B0574F63F6042288E647803C9CBE25542365EC4CADAD2A495DEE1AEF93BF11F03BC665E74FACFF26B622435D4243AE53A7D864F2C9EC76B7B51B07F49ADC6F32C77D77DAA5358FF27D10AA16703E15239698C234E014D10E08914861EE1
9C4F0B7B6076CA4A4D13E17708A707FEF70321D29935C4AB38E189F05486F457B5AEBA634A65784907BC12170EDCE94DA57FD4860F4BC669407463C6D0666C3D24E17247C738D43FAA18CC87635AB07303DD83B39B911AB942DBB08A06F6A0FF7A5F
1DE655DC887AF3D9F7D6819FFC12BB8F2B13F208BCC17BD39C5616DE12AF4388B8BB5F5311D2A3D645AE6FEE9D8053593B01653F026A185504C3CBEBFDC963AFCBD90A1DD2BA61FA4D5E4A384094A158FDEB63F958AA8D8CA3F685BD83D0368384CB
3F0FC1B0B22732C4A9A933F173785884D44C93A0CB9CE7518515CA49700419DB52C3148384354E6966BB1DB680E666108E4631E4BDA6CA8E1E003B02B9970DD7FBE452EDAFEDBD3D683100A79588B7D6D04BFF75FD6A5BCC6AEC06A251FD36F9E58B
B5CEAF3A8DA0AEED24225D71EDA4229091C393E271BE867C86989892ADBCB499DCCA87D9A6F120FADD93FD11CECB555B3BDF6CF5C265F9E4C720E462A75B1AA79F68117A3EABF0135DC2A2D38D0112114E030E43A091E31494D41892611CB42DB787
602739CEB965B859ECB0BE676FFA39042C61E38720E5A7B75CF7854CEEF853AAA6563CC8AD1DEE5F4942344AC6BC012FF9F21930F39CFF8D324A5EE20B9B9BC57A2B9B10BA40EE9B48321A5C231850ECB7DEBBEA8B245E215D1A74D849E0A4F7EFDD
C365ABF684DC0B4CBD403B4F0EE27D33D6BB982AB520C8E3B16B4162421A4FD0FE6AF0DE54C59A98A072FC9D03DE51C4A4336FE9F157827CFC1E8DA934451F04D79E32BD3C8B6006F1BDCBB25E69FD6FA41EFAD12BCCDDB1E7A6A21E4C5B66FC6704
FDD839A1E7A8AA97811F6000C0F798F19EF2E2193FC22D7A9E25983103415767592F587593C8455A7D1C2CFCA5D0AF11EAEB7CD63176D47B9B53FAC5E0215E86E92D4D82F06448B59E67A2EDD033FA0A738D32B8D3B8F3DE67519DA6431E6ABDA86F
C320BD84328015F2B2E8609862A50112384CCE75098D793239099C37BCD11BCFB8BA722698B90CE796C32AA233FDB7FC26D03AA84D4EF8C98DB72C8D08BFEA8A6C6BFFA4FA3258EABAF678AA3183BA6DC887A62AB6949D684AA58110272F2EB81C34
40A87FD21CB74D20669BE08B671FF35E31BDED58F03973BD07AA22783B7127785F7C9C7697F7123274611E189FE37377553E1C3B82B7A591C271699D18929CECA438684ED96EA37792C3D67F95FC6BA62DB7CAAF77F670F602215CEC9308BDB011F8
9F107159CB02FCC3DAD745784D1CA0D8DF3E020BA03F680C53C673A7EC3277AF0AF1A4008268B283109BE94A3BBF8DBE30303BDD817EDFC807095274CF5B6BA21B47A2C431ED3D6F78DA1283C8DC54B509840C3ABAD3F1CDCC7FEF0DE399A7B09DB3
210E5589F463D3EBF615C31B7298C66B66FFD0B65D5A4CD7E136407852A96F32EFE9EDF8977B3027A9F6D682EBEE587F14360AC4B888B122558CC1C62977D0386EE667E7D1062B90B487EF0E710291461427FA3F9BDC7A9FE0AE549177907F40FE77
A0ACBD3F67F8B017CCC8AF4F5C7A144FCCA8770FFA6C2DC1D3F28D1C44E7C6542E3AD29E02307966E5B38E1353C02B9EAD3A25CA7DC6CD443C579F23546A608119336CD7A36E52DE1052C267CE6604CF269233AE9086B6A98080A3F516D578BE65EE
FC89B2DED5D2A498BA6DC69846885B589038A06F808A12B5D6C7F156BADF6BCC93D1AC9E34F7F491C69B2E4463B530CDF248851EA86752947243E1FF7C7B3DB200E617EC131C437CB3856E487FF169E9F00B2791B4DE39BE8C4FEC25AF18A96E78E9
5F2D645FDA4D40A1833DD2FDFEAA0CC7AC8FCEE4623E48DA1F0F0523008C56E1DDC919F72FF504823D7F4BE7EA63B81C4EA0BE4E5B09A4071D55EE347C82F80E45367608CEF8D83AD0D883325AE6386DF55D2EBD9D34AF2285CAAA896C85D213E6F1
769CAB46C220B48D4F16F1B5E962BBCE9CDDF8DB0E214E4E5545FF91A27912763EA6B20794BDC08D45E6201DBCC120293D7EA1C27A43D5B2EA7EBFF29863827A4CAF663E3EBCB2DC3CFC32804E1F201A85E1C492DBD8F61A4C4437B9E46F857CE952
95B3979791D24CC9A91D57E68C1C830FD3370C522E7A1E17E0A520E1D7E950B12CB5684D4EA72980923977E9F5265583191C3C9B6923BA328F60BD14F6E4EAB800A56FDDED5E27A941E7A8023E07735AAA7F244A9396B1BBC41963C0D80D76417EAA
D265B3721C9E8BE4FBE50BE1DF92DCF885A3D34D5019C88E6252EE0010BC8D975D93DA393E2B0D6A7EBA595E3CF511E84967A4CEC6FC5292A95BFC825DF80EEA7BF626ED14F1C69CACFF973728334EE6EC07AEBE14F769DEA101065207D9B311D93E
DAEBBB495A8CF21896DD2074DF4EEAC3CF934AA0F5DC04398B49B43E619A91A3275285DAF560741AF088CB5313AA026DC91BFAFC0889E74812406D691B856A5E9EF3E2FD22292EAC1AF52711A359C7A89D8E9E0334F3739A40E7C7529964F5BDD69A
0132B40171C8749BE01DE05B2F9DBCAEA8108A2649D2BFD3CA83FC2CEE53FA3FB2D7B9EFA78CFAA252881B8572D955711DE100AC27AF0877CD2C1C89A04CBEFC72B40099C97B1D67F4E253D866082E9A5B34F6998F97E2FDCAC2756E95C19E2497C5
3ABC56A2BF592D239EF7C0B7A1F80125824DF4573E84C68DB8FA330BC30193D4103C6307302A802702A1264D9C62352A2CF2DB081C005F9BEDC5AF0009B4091C585B295CBAA62DDB4E38D9D7125A0967428AD85E40B32B0C0CCADB597E64906C25B6
4B8B73B617DC7305282FCF878CC5B53D70F0DEE9ED0C93F93EE7EC897D3DCD27FD0EEFFF40045F62304796A853466C71E506B061027F1672E1AA768D18832234AA55C1E443C06CF914E676DFD9E9D5F84C5849EB44BB1F88ABC9210C3FC52FF084D4
2AEBA54FE4AC0756FFCF0E1E040BF19E8C46B6BBB00F1E11A45C259B582C5C5BA989A4837C66BBE7604C9580910F67422CEE3BA0F7DCFD65CE890B74191ADA59AD0EC1AB9BC6D70CA3C33F00CDAEC7162F78E710AB4D160B857AFF1F4AA3253B8A3F
6940D5EB2D8DF2C3F2C0BB9742272ACC5DAD8AA300456CB2661C9A73386343E254C2FAC4B6DB8C0BB9D31B6213024CD922F98F5F3CD95FC390BA8E00E90BA2B0BF5ADDE6F92993FEB38A0C012DCDF9719F417C42752609F75F08304F6523C39C8D19
20CDF5996A9DA6A3738837E08CCA59CF3578F4AEAADF5C4BE38D554239A943E3843BDBECDF672A00A958F602AA5BD3425FDE65882192FD08BA5617B7C3DCC1D7BDCD63FA8EFB8ED2131BE3663C9DA39EFC38915DE375C859E622F2111098DE3757CA
51DE48272FBF943BCE16EB04FE1CCD1556AAA3ED849F039514189A2ADAF2F4FC7FCD6CE55AE514DFB0F5AB7DD1ED0B843FB3B07F1DF46C428EE08135D841BCC0E8E2290E265C8A8833130566ECEEB66FCEFB99A969F922928A5D66C62C51B30AEC29
D6B2DA777926A0E48799E84FA51C8F05E48274386D65B66315028E785D24E1986B77DAAB2080FF63E35D0531C6B4801197B62076BEA04C467AAA1D5B5670952E009DA4ACA917EB9F9DF3664EEB9E65978223E500F40D0BDAF7A4944FC0D4E161E5EA
44EDFC22649E1D8F9A9989D0918311F0A00610ADADEA56C327E76F8D6EF3238FCA7070473DED607FEAC3E93844FB9A86F0F5B0DC9037811451825E6F4BBDF999B82C192447AB81C6C7866504F01E61919531C36E19F49C5C5C05D4880825A4694EBE
5A83A79FE04E052B6D2ED57DC21FCA3FF20384B475D5D992F521B98472C6F57AD272D9EEB23E2AAAC71B6FF2BCEE61A5E76CD87670E707C0CB4321864E9BFE1BE6531C6C470456D93C3FF55482C9B72F62A8484A3DB66949060AF110CCF910A75A1A
BE1380AE1AC4B58312720A6C915E75FB68068FB32FCFF1028DDD4BA62142E6A262A6D1B85C875F1B8647700496E8A1C27AFBE68A568400D6DAD7402048124719A75D322F118857F9A0AF1508B49CF9628F0C71C6938018951ACC249491D2E47104B2
80D72C36B7DCB5F0D5ED2E25D13BF3B958CEFDBFD028BF4731DD87C8A2837015723771735A2B4E6DFF4A98B678D036AD780CF3344F18312096DBD57538C6299EA830FCC0B76DCA2AE3686F7D7AFA5D89D726B42AE0982E1697013123260E8984206E
2A809B6A7718D2A874855A71BB6FAA18163E248F87A9D62199529A507F66FB6CAE36441E3E7456D0658654DD64B3669D0C33E8D051EAFBB90CDF87A16E4F9AA33CAC19173A96ED9335D8A5047572C17BADB9100937CBFC138C3A0F2EAB77EEA79CAB
CEAAA0D162B735B16B0A72B52D57227892EE10FC16C9D6361DC918ACE41DB514E15A1FB0AAB41292691DBA3D105FFA4955427005F69710100B0D30DF02518DC3A324363F45F29368D8AEE2D31AED369B1530D533FB88B85C770F193BE2E0DBA706E8
248DB8AA9CEB0136CE4F61708F22AADE7ED0974F0674315855B92FBA9A8AE10C7C7AA0B75A6D767A3C5EEB2D8C0C00D6886C2AE2359AD25A67D91EC6D5B05686A2EE2ABF4664895D22080DE087DCED250FA05CA37E7D0A6F00BD65B922D307717339
9080822E3B92815E8BB114F2B296937AFCC3C1959747F4278288F740AA97C11366C6F413DBFE1880B27813B7EF00CF1C58DBBEB16E92C4DF86790843A153A3BFF0D814E335D0DDBC0977BE98DC2E85472C5D482DB5AD43DDA2D6104E100ADCA5B1BD
E3165373C59454910F79371106D05D593814AF6478822CCA4FDF7D76C9DDF18D74A23E1A63158ECACC084CB35B58853CF70C8692FEBBB9F495271E0E9923337FD0D54247DA0C7E427A862ECD81A736E8D9BAD32D21A59D0EBE014A3FF278E11276DC
367134DE8D5F71354C79C5C4D555B22D5448E475DD1EE181914BDEF152CEC1A778F54330838C33A1B8B112A94DEF41139174DEE877D949E2B3139B1007445F72540B174038AFD2817DD968C45BEDDFFF5DF2A33CB7A19864A66F77DDF5A1D12BC51B
B821AF6AF1980EF850F44198BA633D86B929586AB67812033D13B404918344869212CBAA0931952ABC98D6EA2BF6C9D38B3D7AB7F54BB50DE36AA32ACF0EF84F57C8448937EE5BED1956C075E8474FA138F1500782EA3BB843430D8AA31959D2B0CF
A4074BB42AC5E97E78A0F46389A07465326845E9774C181BDBDAEB9B8965EE7EC2961A0FD8AC7DE0D3A566447BE18AABB3C8695142D003B00A9FBE46CF68C80EFF5E8A7B035D241AD41FAE4B36B50EC2846DEF1423B6B1DB604EC93202BC27A994B9
83D28F5218CE40C87DF177950F024FA0F582117A10A8BBD8353579297B4DBC36856F38A8512F00CE45A87426F92ACB80AA7307A1C9787439066A299C7B06DE742112584C07C889644FD124325E9AA58AF7CE7FD3281FE722D2622C3A6DEE1F9A249B
787F7B16DABBB020CE3D032076F7DF160E4F211D81AA573F1C281D0E3A558D5AFD76DCD00C050CFE4EA3A86EE9048E1839C47FF3FC7F364FAFFFC0E3F084E7684CFB80D420E6AD9051D72F2DF5AD435ECC088E2501D29C740584772F738B71669DC2
84C62054D6D85CBAB567D05D6B9961B055AEA6D9178E96CA88348A3286C86202FB1E0E0ED9DDAF70110818BC8FC511F076A05AEAFF34A7558B5D3104928D222C24C27B26B4597530C9325FA87525E1B32287D17243015393C1B3E04F8D2F1516B77B
D4CA5AB9167E79C3C6229B808368E0A4E7720790727AD8CE358331BAA060489F26FBB8FD26D084DC10B5B4433306F3394BAE24EB0B82E7BCF3250AC88BD76569FBCD8750D4050C4FF303ED5F9DC745B4A0F6254063AE8D6F0E23F50E6B70D041617A
B8E577F2C150DC44619AFA7D123B500E6619C4006B0C0E040D46E738004E959BF30E98D8F5EBDFD464CCFB628F524C11E05D511343840C473A4A64AEEDE375BE98CDAE8DFCE567362B578865272714D4CB8F76AE0E3719C44AD0A6EEF46A1802306F
16A51588187E129557049A2E1B92E9A039443B4E503961BA8D9368216A6CE2E047612B16E7E64AE01034190C20DFD603ABF27EE988638E2E31CEB71632D731FCCBE351F9925FB96349780A7F9372B55C54A0E991FA8185BE05EE6436F138264684DC
DDBDFE3725383EFA8E0C743236AF0BF5D81CDE111054C1B3AB4DFC1C887D8E85364BB567C1640B00F1661DD3743EFFA378940991731BB339F12FB29A6F4E2F627B22D32E043EF3D269767C07545A155798A7E45CA064F0301E87FF0C935E8B44CBD8
D2790BD6486A623407001F6026F98C28CDB638A5104E775EE7729E13B40B26C5849752D86936251D5BD9C6DAE9E523536914D2D3F4BA30C4F85967643D7875A44C8AAD6A9D1414C50D49D27AC2C823A34759043ABB95A30BA4DB3D91CDE9A9E81EBE
5FB12E4041C5483FCD2B90902290E7E346D1F41D709BB814FC2129E60BA8372EF2645DA7DC35C3EA9769074FEBED0FAAED282A63C12F7C2696FB1D99181D79595E68E8EE89B7FD513EDDFD4CEF7E2ADD5FF4433197EA575D614F91613A24E9031180
81BFD04FB4795C684A028EB4D7F912224950615DA2031DFFBA502A1199950B767A65B19046BDD0FCA677B0F7CFD38D254F711EE766840CCB2B8A31E435C72E8AA1A97144152B9FA50E6D517E1E3D382BDFC563F66A0B6484777477BC913677261B81
96B98D2A38D2B6ABCD4A4133A7DE8C69ED7F226EBF7B3191C2815B57EFF8B96CFA3CADA596EFA0487A7ED06256C454B143EE4FB85A7ECC4A171042F773E65D1ABE6A467771EBA668C4024CC2A3040768E7452A5CE118C9573C4C4D3B2800579D6A2A
DC012350A5BE48099D32470987843D2A2D93966D6BC1B89BD2943B629B3A027249DF4894A7E5606A1754F95257F853A13885A30DA6B2D568284657FA91A8B8DB56AC56B079076428ABF88DAB135C1075C9E32153FF97CE6EDB6CC1ECDC03B08D02A5
1180BC14929FFA387E596AC58ABA37D37FD541A228F934B8A2C2BA475448B6157D33370017FAD34389C6CF44120FD773B4B27E42703FC58CC5BC3AD8B6CF528A13F5A8981D1FA33D0A42D3AB886A9197403723E660FFDB2BD423700A1067111EA12C
C90D0611F4F95A25D594440800C9169626D246224CE2DBC36CA403170134486171CD71E475933D2145BD80D82ADC554ADE1F371015FFE5677833D5734985250AB9C8A7A95B6BFCFD2EA016979EA6E51F180F8DA157CC07160C27EB6C6D28527EFA8F
8A195CC68FEC4F546B31566DFC9D6A3A6083939F5BC406D91DBBB2072101C5EFE52AB20385C11B25D07C9C1A31C9CAD204698C9BC562E13FCADBA19F827C9A1C4C5981438E23E2EF73419A86A94CD77CEB050EC605AA80F44368DADC66F7254514DC
C7251AA5DDB2DD67D4DEBD4BD366D94E82B81D733FEC49EF4F28CAD2620FA17031A98EBBFF6CB4133E5A5D0B5019F96175B64CA548B3B6F6F8DF4A15895A555DE0F67E65B2D41ECB05AA3D18970B57CE8F247A42439AD387C39D199451E8B21681D9
0D8D8444565BF825AAD70A3A477CB6D50EB70E0111C7BA1924A5A08BDD8C1922CAAF9BF3BE360902023F3FC6F7DCAE1C0634DCFEA57675358CC4D43DCBD5EF50C80FF0D9C10B78949BFD3F9FC312B08626FCA238DE458F7E1BF0BBC836EAD1A1847D
0F22128A8EB8A5DCDF289C38310E3E238ED8CEE1935DECFA653B849122075C48E92196FDB35868C0D6354E01385803F5647CCC541F778479E6ED66CC6CBBF4E1FF45F27D2E6526B78943C2A3F680E8FE59DE34DDB6DEC398553A8A94CABB3EDA4676
BA3852673C994BD8AC291B0C4B29733D4F6E15238D7819183224A8FF2A7127014AE4088020CE59E4BE555CC75BA9CF7B58FD1F03420F1F00FAD0FC208964EE53292454F27162FA6A7F1365456C77D45DC10D5C87CFD279FB350463F6FDC545E0F257
0EECB85124C3068A15AB525F0272E735622C99ECC1ABA4F7127226BE7D79E78238FCD3D5B5534B05A7009C94778F489F60E7C6C04DE9C1978203C7570ACEC128929F1A1E08D72203CA2E2317C4FF6074CFCB6A7A837749F72981ACCDC421F3E215FF
F2350D12D694D3048B6EAD11ADC0D38F738D1BDA09679A73F45367A14D0C2E017A9411BF924DE064342FAA897645C707C3838C9B9D6F96D464E4126772D32A15E8C412715C7D60C70A961140353DA59A5A6562CE69E4B515DBDF3563217AC01BE2CC
49227B8B45BEB81A0557D0BFA33D6C1F6534AA3FDBCCE47EE8C2D38A06B979C4562A38E61D20A824EE25EAEC6B6369F1A50ED388DAE0CA76B9E68CD0AD3CB8FBF91BA30B815AF1FFC6888B484B7B8ABD283A21ECC7BC61A73A61E3BA071DF774F5CA
DBD5F801F307E8BD84DB215509A3AD8AB9BAF88131BD423FE4D73F5D36E386DEA3DA766F1AA79D92BD91E37A1B2A04E9ED5E76410CEFF67E62FF7F2A8425B8CA67E41D24B0E7CF5C1074E20B58CA1025A54DFE2ABAB2465EECA7582B985B0B421128
E5AFB6C00CDFE499E24BBBD50B22DC554F43686C23E74EA17DF0E41B21837F19960FF02BBEEDF755B6297C6D9A7AC96EC70EEBF519C695B8A3D2BBE1C57CD6E834287BD4660C598E19D4B943741B9AC44D60822A24BE0F32365D808B16EE551EAE02
68399677C4545C7214FC5370080D3BFB388A850990D8DB97DD3849C46187E3AE8FA8D77B66B86E828CC42D1D0FDC3FB1B652F608CC7750BBA54D4FE6602DCD880AA0918B9999B478CDB73CDF2A4F976EEDB9149B3645E1DBAF054B08A305268DA456
D7432EB5B59CDA03A7B4585D634DDDE38F283E853061B0B6AAB335A67E35925DE64A3E4DB325392DD3720C587716788E2A1F03C999880D1E20C543251F6021EAD14C6D5B23D765A1FB836885F7854CEC01EA2AE67CE6FCFED20AB4C66A6316B59781
A971DB36940DAD29F8B38E3093879AB0A643F6AB19BFBEB0943D334466CBA26672B86F3892FD2BAC542FDDC5DF6A29A75BE055204F8B859DB9213FAF1793964DF2EF6717DBE341261BD54DEB46C4AD0D21BF439A557340D8B578FD6DE479BDD7BD46
80EC0D73DA59D89E5874F8653225E55D592046B9F24E9359D0E2EBA889BBC9C7E8FCE1DAB0482692E8C4487E1F75561ECC4FC71E591A9CBCF9E61987EB2A4D29347E5678297CC16E9BA8CC06EDF593A71F240A54C2E0D2CB3BE0588057E52F81172F
92BAC46415A4C3B83EAF5DA37DD8E9FF5DFCE0A454DB3470D30FDCF00569B03A48C2D25B111902E607967444A93ADE93776B94AAD1AD681D42BAE0C96371A027261AF8FBDC27A721499DDC3CE277B9A19149406833D61C0FA579A8128A0EABDE0DD0
C24679E8DA08109EDB429FA84BF73B1BD8BE0FF313B89D001B8A471D489F4CE9CA7CBDD9A2F7DFBAFC3ADB587959D05F2CE20697BDD0F55F13387BC762F9A9A9DC34E468CC68C162381BA9F8245EAFEE0F5F8C463015B974513B9DE3AC74B833D7D8
2614C7917C71E98D9B788E162D8D0A30978A130E378591B94CFAA9F59F0480998368814118E2C34EE9D13FD897D4D04908BEC21013816393BEEE0FCDD49D4A22A6F51F81546C07AC2BFB9D84EDB11E86C8EC9EE3A360C6D8F75CC7F01E116DA0A939
E67E7C4B662F9BDE53D8A333B70C2965432B283543602236A276024DCEBA9918806BE3EBC9F1BEC1634CC1E712A827B751A7360A694E34636A23C804906E087AC47E86CE23214FE56BFB6551BC01D4A29D7E884EE1CDC0574DFB27C5568CD0AF3A76
C3F3269B57DBA952437D32CA600F4A060276B2614C4615B30AB0E32A306F822A51FB657E04B526AD5D4999C58A0A1C4ACCDE4EE26B01AFB2131A574DECE686583AE2B11968C9B07C8ABDAA23D8C84F8E0197DBCF5EBE468869A01C46042C00E0452B
FF2A1567C269511BEE6E2ACBBC1F2E87F10F66BA2470207D076B5B678779278FE08D465D5F4CD88BD72177BE03DDBF908E7BAF0A8E2F8972427A47CE65458AF214F7075A4B5C5018C97F90866FA582E12D6B964D1BDB3FF6A68AFBAF223C0403FC0B
7AA73F675AA73DCAD8F453F2CF0F824C9726A83B02A2547DDDEA8FB03F750AD2DEC4998B26E7FFA7EB4E4A2E86BF22B3B4AE6081DF880EEAB8BBDC24BD3BFE0CE998D4CA38720047BB8DEB9CCD0F043FAD7744914D331336ADECCE945E3A15F8BB15
09D70715709D71C2C90092B61BFB42EC146F6FBBEA6A6E48A7EFFBC029E930AEBCCA4BC4AD69AD7F8865A083FD13BF3A60361E234F00E306C828A144623D8E67A95F6BA0628CFBB14585D19E9CA389C0E21E39CF20B64CB8E3E2201EE09EE74F7C6C
6CE4E61AC2C563B89563D0A5501F2211594C2AF562FDFB6C13CBA0091C16F0C82399977691B31A09E752109D2E735EF2A91018293AB3B82FE29C0593FE137A7FE2F62E745FC213AC2D80A6B17C3D350FCD02D206EC643D45F4DE6DE577A362649E44
E2D12A89622C79A3FE647441E624991723863068FF159CE5FEA1E378C5EC84561F0546E7C05AEAA2A45062738351BAA88AAB800B1B808E8F23C902559A2D32363189098C77B84C15BD56415B3BC2B1487AA2C0D07A166C30E7CADD78CBE24F282A92
1B75762F4E7F1EA52317FA77BDFAA09C067773FFF09BA3CD3654D95B673C1166B7B89142BBEE4331AACEAC19344F03706AF0924A07814D5939A44E09B1FD24A6444466AFF7507FB1C5F1E4FACB95E1F1438F8784A9FBA0B77EF79389C2DD81D48D4C
7F3839080BD418EB9B89F8DB77BC06A351468F6D9E320DD10DE82B137CE753C3FC6E3F55BA0353F852C7D67506DD5F78757573FD1B5D0BFC8B36550144C46614DB0103665BFFBD61144BA5850720C9CB900DCE20C3DC43513CA92DC157F48FA4BD4D
590F77E8F2DCD4B952F1525A7D2489A4FC133C0EF3E07838D2A1663F00DC0D3E502060A076D81C0F516A1EDCBA0EA6C72E22ECE036256648179D741683A57886DF74AF0F2AB588C4C46D9DA76B6805FF4FA0E894F59D73FE8828C96ED53DA7107E70
7ABB86A93BCFC50F1A16657A5D81F6B0345EB1B771A3DCD06937F90023ED58F4A035E847C40E9EF0839737D1B9C8D86CB8918A3778369C435C676679856EE0A93891A1FEE1879B6E0497B85D6FADF440A502266B8FC13A403B2B4CE4776C32B5D127
DAA73E650DF1095A8C614B512186536DD5515AC4407B58734406958D574CA359E18C21C5B6451CBBACEB68A1BEA190CD445AD10328A72F1C7BF5916E581B6F513F18B0A0984C3DF712961C97C5081925C474C882000A9BD359C0088BA3DE04B62F22
5DAA8D2FDB4DE6D9D81537C775D02BDC5168845B690D5CBAB2BEC70C216A6F6412212C59FBAD51E123267262A322B4782684E7971835AEAAA0F3648EF3AC58774AA1880AF63546EE66E7BEA0673DD434B01E8901EAC25BA2AD455F419DBE5E23A055
4284D0BDDA7DF63DC109F6007D11E26EC6377BEA46D051D3958F53F26965ED791FB7B9123C1022A438ED79D8C4E2E977424CD3C856C68194FDB0C57241CEB7668A77A4B02F3C71324DB4546EC98749BA7C3F6BCC18AE667B549EEE7959E4622ADE5F
92317F99FEA81BDB4F0C31B643D823F6516221B1CFE2287D0D5CDEAEE1CE5AA3F6006AC7D2CC0F6EFC07B6A7DF0A218B9D8B49A90FAC9430C1173C9AFE6EECEA2D1A303EB2FB2F724DD406773C659CD9C57BCCDE15691E8A1E8D1CB3B23EFACEFD48
42977654B593DE042E829237F9851932A59DDD4E578B2CF2EDE51F8138A468E8BE44D8E54345D9A273DB7E4A16AD28E91F2C41B121DCD9173DDB97BDDB9BFAF2B51553F2E524FB5E9F2D5FDB260296BF0FC42990D2D7674A626A7E25B4973F223D98
ECC21D349F6D05D56581353371EF03ADC4793A707FD1C68EA36E87E639BFC35F1DEB9B0C1450D7BFF95D237F89390FFAC08D7538FA7FC8CAB75F6CECE95738793C132010E179595E17903693AE1DF327DBF829493329A245521FF9BA8370FD9F3EA3
CCE1998FBE81B813F4E75C7F8E0D2DF73646E79BD56019EC053B2540A4E6AD00BD4DF80D70C81A73DD7B6302CAC35795337D8A456AF512D5E6237992A154C7E1D3855E56EE1552DE983B5AEF1380ECD84BEEBBEB7E8A9082F85357BE0250C36CAB11
3D29713942FEA69A58964B4CA44CAF4576246323AC8072F081598F44C038ABA960340737083B1672052C8E49BA49A4F461E5CD95FF18A11122319EFFB7FE8C4F0B5010A7736574DEFD5F80A11890A32DE776E4CA9D43CA2699C1EC1A26AAEE06100A
15B785A061CF35EFEAA33ADADA47B08C0D5810AF2E5675FABAC8B9F2ACC3A6834B3E318A834BFCDCBFD487552415752E03AFA311A06D9BED966ADC9AC30650C2AD1F32BF54FA78D7D20CC92B6DCB67D46BEA7A15022E209F2E751145041B6CC11EE3
1072A42849680BF0C421B8A866DC5FDA43F240BB6A1634BE73D10630797D268A59C2EED1BF0238E35F228C75A54B4EA1895024317549827366C23E183E6B978F8A048AC6A1AF79DBEFB23333ABF27FE1597E601373BA2453ADF0A60A42FA60A760A5
D8944A95338B1B68EE549771E239CC57D012C3497E41C412A9FA0E37B06ADD3A77FF7CC57D64AC99080B748162CED87C6A242F975AB3631B212A4862C1B375044A53B79D0EB50B5FDAF67EE6EC6CB1336306B1DAE2285BABEF591BDFB873D1B8AA20
04A04556231A65C52D654A1F3B48CE5805A17965EADB0A4ECF88C05A1FDB6FEAF6954F592652ADB0506E9537C2BC1AA8FD78C65DAE728F6E6EEC96CBE6DEB562332651B280229908A59EE3E6772A673B1216B4D314CA327A3CAA946443738EB3AD85
73E76ED699A5241915B753DB6ACEF1DD841E3970FEBFE7F28684F2C4E0FC8D6EDFC98BA29DB924CF30EFD1B30DC538293C59C0C1B5F1326EF02BE6E9C189EDCD772F8502DD9589871D068A672EE32BA3888DB55EED1D59A94C8DED7243A1D8F32C0E
6F8749D85F794A272AF1E27483AB09D1275A98EC378E59B2459088FBDDC9F53F62AA9B1C1E982706E71A00EC4060DD23CD8C1E196E976BAB3F40E800AB2D8F6F68A43BDC0EC4AF102F589038F650EAF4F409E1CDD598B54BF11E1574CAE6D1931870
9A7DEF49002967C9EBDAE1BC2C251EB2837CC53C0502784CCAACA6F1432BBC9157DD9BDBA527DC28C50B40FF2C3B59C459AE51A53829DBABAB60804521392B7BFF40D6F823713E82B81593533B3F65CFCCC6A914CCD1FE9A35DF1B57084755E7B060
95437FEFA707E424B381450F3F27AFE9B37F5368E55243FC290C3E5E83C7ED114E75F6332292E40D4DDBD072AA8882229E116228AE97C623E5EAB943B6B8CB714312BB738AFF4CA91799B25A30E72DF9B3D38AFD4C6FB5169B160B1D8AB3F1EA1677
B32FDCEC62CABA66C34A2031B1CCB064D1453981996C4FAB2747422C61EC3F855412289FC3A2B35E8ED06E466A1C28F20BC94B52840C73FA9713DB169411F8F83814157C41EEE2C0862F8691115D4D6826037342B0F84B31451DC2BC1A96217C6652
F74855AE561DF4CDDEDC48D3FC8A22925F1DB704657E8920AF0BC2E0E2EE124E45C88079B832AD6C1C10FAE96FE15729B5A1D59A60CB48270A3BE2145BC7A5E01A1FE245ACFF911043538CF9BD70994C1B57D69CEED6B67979470B7929611DC77482
2062C2311449451E44A6AE195636F880D60D8DB43E8B9633A7C0EE5D3CEA82372B5AFA05DB669AFF1099E3D76DD59684E579B5443B35700D5D1FD318E941719B70568D5620707A647F46B5304DE0F2C2EF1DC0D350CD9F325490ED212A6DCFE3C678
7144CAEEDE4EC7894B5594780190A914E90A7F5F143631AF8875771A9D1523F6E9A8F0D0CAA4AE9F483D7F4FE336DB64F535A118188257C0131F7CF32C0FCD84C902F5C8EEB23B29E765F0F0A9E48A3C068E4A0AD6F50BCD9900C274BBE9DF06BE4D
E05BB5EB5376FBDEC34D8B75587F45DBDA6D38394E07DAB85E0C3B23626ED59204B865C7951CA489BC187D59C9CDF0B0AFA39764823E7006CBAC3AA6212F7C43F0AFF3B97398F2D2A91628B429F5B11E3C890F6A3969AB0EC834EE951A4702AF5652
8ABCDFE6093F6EF05BBEBE26E4C861C02376AF20EF840086D4E28507AC9555ABECCEE3FC06518BD16F4D63E343B682BB9FEE089F9BEA82FC377A499CA54C21BD1F70BB032D772550F28E015A0D1A0B328A199307E6B813251742DEE9A15AA47A7AD0
4F2A42405A14ACCABC2E67D8916294D34F4802ABD1CD3DFC23499926336422F2C7DC00F443DBE67E4296C0D1BD270C2981B72BF1F9D18A547D196B0C5A445AD95DA1009F4CA8C6C15D5A85F0EAD8E82350502C60EA9968757E0ADAB053B53BBFFB3C
E792524D7AEE23FF89D32454D66F9B02649E1984CE0CF6942A0FDCA0902FA001ED541E2BDAC2EC5AC56FE1329187A0C4DA9B7D5618FCA3EDB11A7821C0321C67D621B3CA369A9434BC13A658580DB61582AADA0CB29D5372DDBC4415EFEB916AA63D
71F3A24068AEDD2E507B65BAA430FBFED4F37A3B26398A1DDAEF3EB7EE190FAFF8ED35B1D4DDA6AE0D375903F65176285D4EEBB1D0A4260F0F22AF6EF0288901DEE0D0D3BCA3E04BA5CB93765900D524D885DCAF3FB1C5177848521663D42F856C05
DBE915505CBCACD95389C6A7FFE09897138C27F79485421362B31E36FB5554BA315C41AE08172D1AE9ECB674431CA00E4CCAEEC8437C98CF8DBF5C766C2D83D35752EFE66104B0EE94CF19A2FECC9503972EF5A0C1670883EC507126EC67A61F7D08
4FB48CBC0ED3EE9D84C2026F80E5FE6582802E3C103C5C0DE49D392176999CAD6146D058AD550809E8D04DA354DCB78E07C15888727D0C011C19B092FAEAD7947C4774B8F92580B17DF35AC379E383759BB98A1440B892E5B70DA1EDE1E6C1101BE5
E08571FCDEAED333603B595AF15D913FCBD428EB1CF98416550F72C231421130E5C129BFF10F485B0202B44A26EA438E79B4F4985428C2BB326B514FC2C12DAF491991D80CD978F4F048C11C713421AEEEAFD4F9450FE755CC4D29F4CA1E9C977BC3
F16C590E2786E1927A014E7564238A70074C099880CFDE5B7411D87683425E7B6E52348D54843AB27CD0F39A4694BB519525B1DA941A3E704BDA95F32227939A451FC5F55D38AC3FED4E0997109999FFC03353D1A798A0B295504ACC4BF3293A86E8
5B19DCEB70F0FFFF2AFFF58DF0DAB0A73B2E41B96DAAE88591FC11314CA9FA0DDEC0F3BDCA07D23FD679AFFCD0C56F4720E87DB2DDD3277539CBFDA6C5BCDE6BBB48FF5F81E6CD1D77FFC9D652AF482D4676FB7367B450BED88D5E3FC307EF2206F6
83099281DB55863E11A214D50CB030EB8C2FDC410A24286F38FA8952A152C0F781DCFD26200C0320EDABD1736A1B05B94819DCB0210D016049AAC66F1846B7F97C81707E5DCAFEA3DEA12ABE36E400BB6AAA5EFE432BAC9913A9FAC763BD1D8951D0
34E844321454C1E5F9D44959F6612B678B6581CAB54A4CC8E131E0A761C8DC3715C94DC77B94FFD71B090BDD0B75864B971D81139060D505001F117AE40D15804D5D6E6EA712DDAE37D4C18067A90C7A233329AC349DD9F0A30C2CE2BB881BC3306E
B69C6C84AA6E6D32F35B219222D0996E1E786103A3A399C02ACF8AB151724DF319A9336B431CF700BB47B07F6C3DECB499E26AB5AD8A47352770038E0C0A92E2621BAB6A6759C74DF0188BDC8668A1041622274477A9F59266EFB2BAFD851587B730
4775EB2DEBC8F17482C4E68166C7301628FC66C9A2E2949B8A1306AA74484197E376FA958CB095A0BA82B47D63BABEEA8B2716FD4775831E254B217F63C5E96D9944A3F9B42DFA9F75DEFDE963E487C0090157567706CB28468A9AEAF88DDE77D08B
82112605D05BBED03BB47E5190F8D0888ABFD75E8A09F2148024389D444EDC5D741EDA5C3F171E56FEC301A1CDCE0DB7C43E96BF8B199BBDFC45563E4A25EF8AD450B7432C4848EB3885E964098AF223A7A471C5450C04F31C2FB68EF0D6E1380BD0
682EA1B5981CEE6D92192A658C9E3D8603A6A4A94B73F103DAF820123BFCC95D59FAEC6A10334D06BA9FCE019451202765A9E2FCC129CFD90B6B2AB37F529E706A1BF6F81657DBA06AB7605FBFADE7DF862563957A2A6F6BEBD47CAA7AA1C5D21F71
3207D2D7BC3F1AB4BDF22DFEA2DAC60A45B966C8416503462D14F892C81610B75204B06ED705C9C88EDCE46DEB6B76B925A8204DEF6AE0E526E7FE05F781FFC635D7ACE9A4197BCF5F1A53DC775ADA592996AFDD53868D6E06C7F533243DDCC4FD3D
CF2D23107805F3F1534D0107553A383433A7D683C3AEF61370E6C7C8957D5892C8F9347EC9CDCAF9ED41205870BA65BCB49CCE64613E527459BF6869E4E19A5ECD6071D1A39F1527711C2FBB487D7740824E414B4C13693B4BDFCB339D1A33E61186
B26B7FFD2829CC670224DEBE11FA5BE6C9465A27D19599E720EE1AD2B5A33E0683D507927A80EAF11D549701611CE0114C371E2F5F550B293BF1B1AF4453735F0C6BB90BD97E55C280C1D8D4A6797FFCCE49C345087D5340C51577D6175665A033A8
B44C53721292CA83A97C180096221F93DD4CE684E83A5EA04621CF8AEA57261721BB378A92D1CAA7271EE308959E3198D687C4DAF035F29B088E1CDF7D9B72A5EE3984A9D806F970830D8D7CAD10D25BB016F12D2418FF3574AE492CE971A8941ACA
3F189E2630E54D816E9DD88E198CA1EF9D654D69456ED7870A7B95820903655D98D9603F4847AB76F0966E44F5DFF33DE928460D13CF14F90375887604CC4AFDE002040A24885C59A2A94B1914EF34CEE30C6275E38353B1A41BC46E2EFE222B1EFE
96CA6C85048C5C312AEDF1EC5A91FC792A82A54B92F1241E334FD4CA339D360A69134A380477E07430F839B1A22F21636857941F021E926B6EEEF3473D148A16B3FF6A9A530BDC0C5680B1CA93FE3E548742661DF8A60F1F333C7EF084BEC1B0B825
4A1CF5AE9CC8F867C38F794A86E9DF0FC3593775BB41D854BB3A365825EE7C7F4D874E7A868B8ED71F63AACA63568D05A521D0FDDE21337F387996AF65C25BFD46BA846626806D965D43A620A7A2D982C0C65CA42D646FD9465FE8ACDF3ED61FE276
D1E6A12C3F928977C3F4274C0E2BD40E2E97365A131915CB41A50EA35EFCFAE1D64EF7AE8B4652B9A52134692D5D9D2436BC2703E6561370F704BF6FC133D6E8C276019C9597DE5900C7EE057D3F9A1FDC54E1CA9A51CC0D198157E8690F901A50B8
4441440D4072147DED434BBD8EF0F41E02C4C72673FB2B00E64ED77A12A8ABFAF9323B9B52687F237AB9C02B078AE3DEA003BB1088DBE32472FFC16F21F59B7CDA067E6513AFD8746A94E1B466D72162EBAB1BB97BBA021142E79AAAC71975F4FD1F
5029BAF7E1D252D22EADCD2C753F3441C8085504F05FCBDA912F732C9E1B3968F514936287D4E674390C52E597FA65FC8EA62653D9F39C3D0A53481C3F7E3A60BFA2F18D71D53750ED0F7BB0C1D8CB4CE596A5C718D1628BC93FDC41A64005000AB5
7D47567AFA0A6E02739FC59DA7FE11D6B6468B06245FBB64F00949C36304C870EF55B0293ED9E035B0C27FE8B279AF5592E83E1B673E69FF7E1E09F76CC96CEFEE28772EFA51E999ACE571ABE530EA14446EC475661351B7B4D0A89DB0FB4BB8307B
62061E042F4C730CAFD1ABCC0AE256A95EA9C10DDF3FBEADAE80E7B7CEF543C8312D02B618D1B6453900C21CD6CF97D5DCA862AB411F2644275F00A2229973D63281168E7239612CB90A659D6DC4B8C96D545C2EE52C96E1D5EDB2E52D6BA28F290B
8A54AD2FFB16A2896B8506A29B1180B270F5764BC67357D1212BD6736A8931B38272E7009448F64ED208720BA5D36479E79EB4F91AC76DA2FEC594F69DD3DE33E166145DBCC7B606134A28ACF0105769BA04B6D4CBC80023B742B2263CF63699E0DD
DA74BD5E3147799C0E740FB9AD78E2C4696BD8DE314808FB86362CFD4EA2CE527091C1D6E89B93FCFE754A7A8FCAA25EE498728F9DADAC28AA63F092630C430315D82C6B4C157AFCED76C9F34E5CF8ECCCE1363AD8256CD30C5653360D505E2E87E1
506A1454B283F56D16C009B53AACE2907F066D4630BA0E80DC948B4014377A01A56C7279B3FFF60DB48A1E7243891ADC43129D053F0AC3E96C82B5E3914995184E259824771BD25BB32B0E17FB4D5E2C1B0493F1D9AE6770C7AF3FC2C9116F7C36EE
DA11540CBFE8B673FC7BF48F09714D92031E4848EF289554CDE98877776925F616F877237A3976D45F9DB971F8BA9DCF32CC29E9C9E6B0B75CC9294AE7BE1E2840369B421C6D0D277A771EEEB5530D841F3586BBF9986855F7D3ACCFFF1A49418330
B4C64E6983A90194B818C87D9D6F12DDDF57AD25DDB58CF102CCFA8ECF5494C0019EA7FB1B456D0997066590B2263A1E0272FA9D7C8140D9F0EA55F410FBAA2EF54F1FE5CDB267C6F613C7646A979ECBBF1BD566615DA098A5F682353EE15C67705E
C79ECD62A88692BE7AF7BE9C7CD4140CE1CAD3C2EC8A7A7461D7C70E878154FADB27714848489D64D4D95A6F5D32915F3C6256E0DD777666B14EB7C80C6E8640235F329BCAC116BE8DE34773AB12B817DD229F7615BE7A0696249BDEE29AD7EBD370
D6221BD06E955D538F6089006E00A2E7D0391488D6D3912D662ABF656A8873C22F2DC19CF0E1406F9F3EAEB2DE7DC51F9D553E716705F7CE59778D1284B782D6393E4ACC23CEA51083E0EE3AC9FBBA235DA590D6E03F81CC71C557FF659744DB3537
42246C6380485AE478E52C99D30B95D47F32A505E83C9F683C914695529A470702E04592F74051553A1093E83F38CEC3B34C2C38C923C9C512F1148052D48D587368A25AACFBCDF16F3FD3D95114899161510B36B230EFBE2EE3ABA14E51B81CDBA2
B9EFA2FDB26007773F0BF9552EF4295A0074ADF906C7A77C5A5B1F159EB60B49085479F1174EB6DE8F64496610C8DCAB304B3AB275DCF84B5A8C57EBAC6AF707B3F0D1A1DB5F1A6B9035A31861B288FA6B8AF390D025FDF88105FAAF2067816FCFAF
887FCB156866895AFEE68236E7DE7826C132860D95492EB819A8EFBA9FB8C897E44004FE80EEC85B05614EFE9426DD9ED1833A22D0B005E545D745B2C657CFAAED3C30CECE4F5771E232801BB0F35CEE682B6B8A2017D48C5D607107354D301FCC56
900BC54AB68A53EDA15613F0F44FBA3C2E7708D6370278F9A53530ECDB3D08AC4EA9E1D32C18A31C729B5AA22A3AC18FA12E0D8CA9F8A6E209ADF9A6C05BE34995E7C73B15E59B06F6780ECA5CD8D13407B9E932E95D640A95671302931B529A715F
9139B40C9E3BD4B99D4C2D279AFFB0DAC8CC22BF76A66665F107852B55336BEE4F285F2551A7D0CC8A6F00878FEEB1BB60B1B2E6C858DF7B1C713448C1205B890EAD34FA6AA3534EB2A114871FDC96AAAE903F4E73E16A1073F92EAF7DF1911D2DA8
F5FEA9F4A79E4680CA6D81FCE4CB0D15D2ED1DA52DBAA632825543D0F6257471D3731A17DA0BD2BF5585489B8C8439EF5053D91DD4E0632BFC7185D03183A1BD27E8FB39240DA64D5E26B2EFEDD89E4484AA51111B2013C31AAB997942759F3D1065
DE873B7CF2F4A35F9799256E4B8738C5ACD408BCDF6D6DD38AF398176A63DC59484F4C45EA94CAE2F32D358F86451FFA644F4E57662DB03502CCFA793CF198633A385F75519A4910822454B23F8152B4A449D8A4D42D31418EF35BFD9E8729A5868E
F878F27B280A3E4C737D0B17C217861FD01A19F9E8D25C2FB9DB16C176CDD7B5D62D71253FB5034DA406753C7C6E67538B22BE30594DFCAC37C1B922D515F126DCED8EBC0171CB8E9F344F1F509DFD2C1378D68DBDD3FE20B90DFAEDE06E493688C4
44EFD38CB7FA227DE651B3A47A135829FC775F83632A952DB8937D1A4497FCA68B638FB3612EA39A839A936650773FE3F54D239E824231A327DACB37E4C1FDEF5F3D83AC3582D22CF54D48DD612F8267D7524DC1C8DC37C557EA7BF3748CD02EAD2F
474CC7D6B4B25F5EDD7F94408CF5B6E0204DBCC6A39BF413C580DDFFF81DEC1C61627532B6790D8899B171061E6EF5CAA516646E907407CAC32C416B096C249658976F94434C1FB7031437EBCE4D356F4082D82AE63AC11D1680E5B5A582C241C425
0FE833CA0B87EB5E505E8DF0A336D1F33546D41B6BBF6C7F140C2328CA4DCA4949A85D1E0BED34C84EFF5A77B62332FE049F0AC247A7D80F785960CBD5D2DAD574C6D345B03E90141C03F1183D976CA2718FB757CABB1FF585BFF0E1C84C7AE05092
D8330403182B8A821DAD0B1CCC682032A50BB21C8445B4381A483F0BB38BC8FEBC29A7EE6C6C6A30D7D1D904C19A8FAA77E27F5F22A71FDEC42DB50868967EEAB13565C7E4188E501AC1CC8821B070E435D592ABE94AF36B89DD9290DBB95AAF9FA4
A60BE21C92056B15AE1588F379FCAB20A7562015146861ED23ED14310CF35CC066994EC9910A6F790EFB5B81AB0D819374587956FD8F8F2A2401849E81904DFC74C57360A881D123BA08536172B361F7871AFE2B91B3563AA698D2B09C088989F56C
23033767067BC23366021B26455E42B7FD13F0CF6D3CD46C1DC3DBBE00073BD8ED056F24CCD59B2FDCC03F80A90166819B5E09DB64ED381BE59156F256D8BB00868E842AB72F973BEDBE4D7ED908CC9B1B0D16E218F26200837044363F2B3C2C0C27
1C3F720EA5337F281456FBDE8C257BE5D9B3A5228AE62524722A7F32E1C2296A06318FA0832AD5730147AA3877B4FD44997400E000803FD3CF30AB2688C0DA5DCF44D326AE18AFACC74586D3DDD494B62BCF31EF15764E4B59A0439C732B1BD7DBEA
5E557B43DD1CD4E0B10E28CA23B052F4241E9DBF2535310A69858AA781538A52638E8551A443E88ACC7158CDFFCEC0D36A72062929AC5061F21F44FC75F8E7F9E7A68EC8A073BB2486AA9014101C38377A53A0F4A3C36061AB565F28630B74472E86
40155ABD9873EAFDA6C5C70A266A2E172B032A78AB9C178FDEB6542359346E011DD7EC8759E45EFEADC8FBDEB6C37D381BF3364C776E235B6555B32B69CB55182CC7B9AF927C3229BAA0312B8DDDC65D308FD434BD99F10A72307EED03AC86B3671A
9FF9C49FEB0406B0B44B7AA7A902AA1F88648B82BF1AC769EE28D512E86E566A77B004FFEFA18397D05DDA336119BC99D59F08A4FC87D27D99E7ECA910A8292504F21D932C271CA70C4492C0C7569852B4DBF6926935524EFFE865D7192864547E7F
C4A4020C32637237317E28D058468D499B2904CEA4F8432FCEE8BD0AD478901F79BCEB6D2634492D2C15E511876B8E61CA43C42E0FB46F40CC29E3D03F8ECD9D1A4216407B22A304F0A76240D46C7AEA913EB2806559BC4A8DC89536211A6D6BCFB7
F6A5779B722534C2C35C96C9F1237E8B62B8B8B0FC9C560ED7FC601757BA98FDFA8D623471504BBC742E66C1CEC462BA4AA2BBC17D3D8A81BFAACC6286DF41F3CDC6C1ECACFE16F95ECE59B9A2F34F6406FE7AF62D56594BD39855F4359C26D06284
A62AEE5FEA32323B5D19BDB6B125C3742971A0300452697FB20958EA5053F0D8E7F8E9A93B6A36B3B37CF8765C296600489C0BEF93DDEE9574CE2EE27AD39DD7D81975336580F381A71F4F3D8F98F4E3C7BDFC7E05F14A8F0C30EA8D7E5BDF131049
1966E7326C97515B77F5104CF9968AA256CECF0ABD1606995E0EBEDA116BB6528C1B65A66FB9B26C08A2105A42E514743331ADFF1E0DA31817ED7784F28877517ABE1BD6452AF615AEC9FEF0DCF7E2A40195DE6B1E912FFBBD2B326754495FB96BD5
381517E2E145C57D2523A0E5EC41FA08EE7BB7CF77C81AD3137F86FDA7627990702D3C5D99F0BD8A598CF67E2C83F804A9C225C5E27CCCA9597A15EE1B859437F37AD7BA4CE8A4413CAA4A64F5A831999B85F02AB573DF63D23E733C7400103B9F4C
93E25AF2B42F73049817FC35CAA99E40EFDD91F463951DCEA99A8C4EA7231C913067B579999877E31FB2E8EB59FAE70562BEFD26F2ECE0435FA761A84DE9463F78D8946E5AC699513D2A9EE2782BDAC138409074CBE7357497EEEA5501F4A2F73479
68058011DF0C85CF54EAC1EF4188C2D61A19DBF29C3C9968765AEF9EB8A00916A5ACC74A597D1E2D5C472E165FF87B07F28A46F3A31ADC77FD7C71AA89B48AE101B1E17E6CABB4965B8FEB93C12B85431EF66C59F80476516151AF660096EAB8417C
E8FA8D3F1D2FA5278D4253AC0338D02171D88DBC74F0DB2C10675D22D383220FDF3B30CB3CB2131077D43F05F2ABDD6768FB16CA3E159DB045214BF6943928FCB8A433C71FD3AA1E173FE17AFB4B35D1DD3829AB678E4B8727A1EC2E15A6A7699378
DAB711D0DBFDE942054AD3DD6334702637540737880F1B181C0F36B8D4D0F908C437126854C8A74E0B44722D2C5EA1743DCC16E92D88C8136399782B32C3E3996C5543E46B70C60F17935F0A66D8B38BE727F3D870C85644EF5572E6C34A436F7AEF
2324CD3B576E02B54CADB3DC06B7FF8FB0C98CBB38406E06F5E895936A26E2D0C88DFB674F7D5BEAD51A4FB4D4875AFB19A0490ACA5356C94555724E223A6F3919B912898ABA6A7C1F0638B49A3D3863B03412E6D72F7083EF163E2EC9E9454C78B3
D2D07FD858596E067720C5600CB92C86CB28A18DB8403DD08CE19920184291E2D0B9F24EEACE92E32CA03744C6D9326FCDF5D4992BAD09F65439B80E21BD09DF4FB3406B1F05F8C583B8D7ECDD73E46654E64BC9B2F3E1579626DCFB08D0DE5A1E25
82B86A5AAAE5D998A21A15B07E5DCA0B530DE34CDC3856B1E10C95C1708DCFD33B0F2D08DD99661B4591F3818B87D4B2D141611BB31E5C3371D6F40D71F13091AEAF9D980CE5018CEEA86FBE5BAB9C5284DBBE912EC11A3EC76ED644004EE62B7803
F9FAB89631509EE07280D3C5AD0DCC61E0D79439C198E949F856C2D3112C63D8E4C65C2B62C18758B477CA12B3B53B6ED75E9F4E7614976C986D82DF26F515B6576AE85AA918E412165BBBB38826F60635E574746FB4C1EA02F8C62290F653F1D9C2
EFE790D29252A799745AE94B12FC41B55022F57345FE53C3441F60F2FA7930B620776DD1C4F251CD5AB08B98F40F7E46004370537DE7C2A0CDFBFF3D3F8D082AC5C1C042FAE117D636C270F6E319F0153B5C8294FD88848BD61E0F02FF631EC5DEA0
2F09782006D01204E7FF3193C45FEE5B1A5E6F45DDE3D14D6904344A90E15CD5CFCFFA0B2AC8D7F6CD3C6F943A841C383421A9C38C256BA09E5110F192AFE066E7C1E8083603C35928739EA04FC181849D79ABDABE4B14EC4D2BB3D888C2AA6AA6A6
171D77C5576988760ADF67701B33B5ABE21BA9A6AFE591C7AA3445D0F8EACA5B8E3098C1B2123394B73A63BAED79476CC640DAB7DDED0ED70DF39FAC1988C07136981DFFE5C3C3AC3EC98ABFC711865B2D8DB7DA53533E24CD3D9CF1EF78F50EC5B8
2880DB6E1FC3A340A9F85EC0E269B6A87C160584178A2AF946A64B3EFD9BA5FB4EDD99814ADE30405352E56C0C54171705135498CE167FB5D2096801CA57E01796E90FCE6C6A6F060E4039A2277E2C05D2BE3B6B2ED0FEA031EFF810E843C96F4CB7
904ACD34F90FB13626CE2F108B0ECB9F6A3BBFF2A1A78C455C560DD52D9CF4587B9BC3A5EA409FDB2B1B6FA8B0007596C83B01E2F0DB41BABF02B78E20623E77ED45B1E03C7962788C6BD6A6B09BE8F340F916B19EC95D304821204756AB6DCF8DA6
EA4497A435655167BDC2A049FFDD9966604A7F16B0BC854BFEF8BB7028ABB10D6C0596C6DF1EC0FEE15D879F176AD753A21253B708439F340179C3DEAA4D45456CF6891912215A712465957447FCE6370774EAC2A9902F296B94D88FB941B0232BDE
B0FD5766AEDE8706E2EC9329D2E721EDC07869537D67C3B3C4B200A30AD468D9405AC6CDA1E864D6E54D934B10DC2E298F9CDB44CBBAB668258631694E1E993431AA0EE2305C11C3D2DA9A61D8401F9155F2C491BE9E697F784A73C48F88B053B0A1
83EE54761CD652A35655B586F6C71352B140F656A00B0A32173D116AC8D875C00D27D9E5C2EA3FACBA07A5B63097AA6E9601D7B79E1609E592F602F0779E27E7498C0984FABA007D19683A3C0DA44AC6C6DDD2C128C037A1B48371355FB38EAEB183
449EEB64C3CF4101FCF1A5DFB86FCCD8344EBDF1B465582D8F568C248D4E8B5E2C293C0C9DD9003F641A37ADB4BF95E20A7B665C47B2463768FF088168899FA471CFFB74AC569BE33B1E44DC3E6FEB01CAF3ECFFF14155996D35DB0603DD0483689F
2FBC878906A92F12956D97C7B3EB57616CE101665999038462A458C6AD7854853D046D68EF7E5536F04014FB425BF3780F80549805533DEAEF10F179244EC5F562B63DE4B5C85457CD4016BB804A7F49654F2B9C45593DC48931D1518014BDFA994C
0E1A9E5D5320853F09C27B332AA41E17F8F1A32C1624B5C4714CE891ADF467637603B2219A66D504D6DB736CBAA94E8D32B26A1E7368EDB676B6AC70F8E20F0E9FD7C6CFD7FC39BA5A06E68F9BCCE9ABF8DBC2BBBA18A8F79966E5B495C6BD226F5E
02BCFF0F14559347323C2EA08A24F75AA8DB7DBCE3724DA3BFB410DA055746402DA0FFEDC260CAEEADA5A09E097710F671744916BFF3A481B47762457FAA04600267CB9AA202F67CA4ED72F3EB972479D537F6BB6EE06444B5D8622E65BD9047AB0E
1540B7AB170DB6CE19E25E4CC11727CF472AEBA0441B92BF2BDC3E1C7AFEB2DB09656E01A2F58E84B3C1DFFB5343BC2630123C9E2C2E2173E90D0B6ED42E394A6BCD9937D06D40B9C32742BB36B3E42445D28DEA7231A5A3C8ECE208DBBAD0187611
F970D804E7E5DBF1ADC261164B7D49F3D38A89DF76F291DA17D85513952CE8D8C19622F7F3552107935D8EB8F88E8324DB7ADC5881531ED5BA26D4B85808AE93A0E124F185DDC8B904B396607118FFD6E7BADF84A77AC0ADBE695FB6661274CE4A99
57FEB091D1051297A128FD0AEDED34F0FB5546D30B97AC4205FD766B5A94D3FC702F73B81D8DC68F656004D2866DEEDFFDCC7D8C88CBFCC0D7950B6FB853E75ECA111B6111B0EA9A6ECB5472235EBC6A392A6C141C7DB1D7E11360B50734E232BB28
82B0DAD52FE3584A7582AD7852E955BFB941DB1A5FCEB2B994110F77D931445D69F09012240146A45BB4F16946D6B78E3DA2288E301183208F66B6DE9EE81D034A3A2E96DFA11B386A5E6029E041C2FF951EED99ED1F3D877A6759F347AB40C31562
01DB2171E74D1F6599B865E320CDC74FDC25B29C2073D14FC363CD8E4416CBFC23E1A2A1F5C4FFC59EA7DD2CA8C7AD8234E7133EA2E2214B9219A9169EB8426EDEFF35F79BC8F7F3614FC1920E81D730B3350A23B7A63E78B861A90E304C12525CB6
20EDC8C5A04DE6F3B623C1FA7A3D1774F23D1D4AB67E0998A45FF8CA3C26E138B7BC2E486F528202F24613B5BB7107698E9F97A641BCDD9EF72B3A933A5EE005D211903B15E762400CA4A0F09AD30DAA3767A58C5EEA7B4F3BCAAD314F31C8E9C0D1
288B1BA2ED73418C231343F0BB66D7ADED081F75A3F4C9F426B3E6505298B21E53033532470445038CF3DAC86EAC463D1AC3D81DA9D25AF7DA08824752332BE71631343980D51CDD35247092AEE3259EA7D90D8982BDA2D5800635D8F4E3E9342984
145AD19DACF558255469189931C25E66FBC41B17FDBE62A962CA111BC16FE7E8400595776BD51C0233671B1BFD9EEC4504FCF0530E683A96AE5B835718ACCFA391476D0D354C7BC4162C2700200D6BD6ED1865422EB765E2B85988A1E6F2103194F1
51B0AFC82FD43816CAD8750E41F67D73A788A411E9C261B9183F1B1C2992682AC585E3060CE3B121E430FC25846F9ED37B3DEBB7FAA2C0C265D20143FD794B33C12708A6A02EA9F63C9366F8E43AF4F99D7BE0D9E682997040C0050B808323F1199D
31022BAB9F7A23BB22628AF710E576A8BE36BF682EC1380FF8565E2AF7F36E5D64B0A76396D0E4406A2A4C232F1E452E7A658CDF90EAA02B6DCC51F7AE99080F88F04ADFADA94D8DC72CBB61410CCFA88C2A36D2D0B6B217661C67918309A5D5DE38
18E473E019FDA040E62476E21EE7E9774389E1DF6B5EFEAB29ABCE5D59314F34452942727510CE5B971BD56A695CE0C9290A19773CB5CD5BD417386948D39230B609C61F300AEDCF4D09FDEEFC566CA575D022E77313145157B89085E234EAB9B849
0668350946E3E66087DE729F4E57AC5A1F455B4793720E9C4DFBC70400701EECBB4146FFEF0DBA04232F3272723D7F0CB707ABCC322ED9E0D0A3B892142B1E4992387B9E0627A5DB230827CD80F804D5930FC925A8F466CAC93012FB93BCE6A040F0
3E9D42AF3971695D087EFD6057C6547926CFEBBD1B842C44BEA4287B0612D95D892DA65B11EED19858F1C2B73C13160C12A2FA381E4B27AE9227EE04A809F1BDF9AE00BEB2BB1B41E14CA809CAAC02250ACC0F5C7BC97BDDDF8FE63516C5B0A87BC7
ED85EA473E464DDA9B7B41BEDB603858EA013719D9B4BC15B5651F3437E1F2749F9E86C947F0168E80782B333FA166E8DEF4668E03A984F4049BADFA197F21CB1D5A2E9B01DFA795024FE2ACE16CD1E69C2681BF8398621D9C9B65D3A3C68E5B02CB
8845338CF45446B30751934D98602EB70F9875DA98629F5993B170D86EFB89586DAD454183F46C17F2F66412F85D04677CCC045F052CEC01B7D3995049C89FF5E8BFFD666E68F1CE4DA2F2F6104312F8F23BD16E801E0250CB9DF7ECD0E7790639ED
819CD90A03889E527A64862B28D84AC2FDE0DD2941BCB2EA2C3B4043D5D7640AED2C7CAE3DA6C99DD66AA74A6D8BB0122BF11A4249D3CC3336F82387D452BB6A179304C6EFA84119A32E54F4808AECBA2EA75EB0AB2E22B35117B79DAA21D3F1ADC1
5B7C37C9814CD2C3A4512712BD7DAFDE8ACA04FFAA5203DAA3C33E0CCEBAB1364C857EC93E2DBBE726A39B1ADA2936571460B02F6D4F462B055964E7193E0461E68BA19D60CD0E077E48AC7BF3084B247E96014A93497FE958D7AFBD0B475C69E71E
D06E2C5FDBF723E412CD9EE98FCF9B0FDA17BBAC2EC7C896C8CAAB39E926950F4C70796CE5DD2B26F544697F8DE5355243FA1D2BD531DF94F69D0A32747F5F3D813DDFDB1ED40022426F974B433B2862BB895341F0130B178396E9FC557B3E50533C
542463FB878B3003B36F526BDF0897A52C71D0936B1A510D06BABCE19131CE15BDB0317F2346F50B01B1BE52930A9AB6A4BA70960D150AD4491E6B5736ECAA1EDD0E0525DFCF35A13D2B01BBAB6F798D95C052DBC42B71D4986ABB3DB6DF7D7EC13E
78C86E1CCD58E9819C4DC42B4E537FAE2B9A62C63FDFA4D2A66D5C1B75082F3BC550229A76BD20269D9F319FEF288DC54DF50D0B5621BEE819A2D2E39C883965C5C0600913022CA6E38E49F2DBD7FE329F0475A2DD12748DE90B1FE9464D8C5C1885
EA2BDC2406D4700415A86D604164AD6A2038D894610AD44762B6FE2A6E39FDC8E3640A89741681B6701FB714C9322EDCC440B98A970862B1F32F38C5DA943AE05146FC08602D90FD380C41FDD5D3F6C786D91A5DDC4B5A23259692BB9CA82652EF46
D1EE11BE580107C6C0A74623DB92987EB6AFED50BA18844519232EF1A76DF6448A3CC87F1429AE67240FBC808AC36B525FB53CF1E6663D844E66B8DB8652A9A2D41D010680ECD38A2C6B74088788AB57BFF5CA41487C2BBF1516D22A9D43253D9F67
BE05A7EAAF024806463C33A9D1F18F8953EB9B5DB6AF3C97084F65F4B563B02DFAC84AE9F6B0B221E6BD7D95C07B3F6C429A7B025922C0CD4966A5B3B6B066D8BCC601C1C1FB6D589BC01249D568922BB18625F84F28EEE13F64E573FAB0C0F84BAB
CABC9B232A3FB1E4D48ED6C7A59069927355CEC8DAD477379472B5CED4B3570EA5D1B68DE851D4ACB5143CE1A2AF56F2B6E2B62FA59787DEA855F4A8BF6DF6B4587DC619D2354F5D5FE5B9FEB56582A4A0E4E67998707D4BE81BB92F0253CC729D70
4FF9DEACAD4514DFDA1A2C959211A597030D7EE29B1469A6927AD212FCF6B9BCE2BEA6A708940210209779C16BAAB15BEF6FA42F1289B945D3AF553F485A8E5E8FB3BA3F5CCD5BDE6FFA29DADB48BA952D437008B1036A4A086604F560EABB16220C
EAEFEAB45A15B05DB136103A6C191D17BC15986269903B56E19E20E5B7874E9B6E37ECA109B7FA38FE2C5733931F091FE6A4F264E4C41A135E9A4941D0CF854B230423C751415CB7312163155F77C27170B572F0CEE387AA912FDB065B1AB2425342
E5ECE8E87105BCF1C81A4EB2B62536AFFDF1286C93ABF06B080D3E507C1F7C9A49F8006F63655C5841BAA6895A8C32BC7B0B2472D33587A72FACA032B66D57D7656DA3B4C4F9106505A9EACDF0C6D388E0A8D7FB91E9CD7859D884583C04FCFB484F
2480C194ABAC439FAE1520828A7E4E9CCF9D46EC8CF098695914FF24C22CA9FDC5378AC2FD1D131E96164AF8420A7AD69C61643A963EA137F7EFACA04ABE13DF2E07191FE6CE597C7DD596CCAA85F4D5932B4E7C3304E55B4862E08906DEC611BDDB
040D9CA14DB50549632557D73D54C278ACDA2A0E7FBCB2CA15AF7A8B29E1A074B9CD385DA779E4ED8186FCC3040FC8278934AAB422479276E3146DEDED51AF3352B0E4E7F5E48CC4F64F53ABAF6F802D536671206FB632917FF92CA6FB50253EDE73
EDF6B6E11148FD1F591F7B2A981C7AA083D475022424026BE134C1629B46B21DC5F0C2790BDEB7FD52EB2264AB895E1EE2B5E786198BBF11AD31A3E492F43921C44D7DE95FB6ED09A81D41669639104A270DD5B016CCC18AB5B6E371E23600531A43
ACBA5ACDCE30912858F427E34A0D217C9B01E7299FDFF9258E9384B14D6A57088F85423304F43C848B3ACEE47919456E1DBC71EED8BD7ECF7829333225B64E8843F67E7EAF452D94EB4CA039087AF2953EC73BA2776195CA0AC98311B19D608E649C
169E48C269E99FA532D639535E7667CCD5E2BBDBFD21902D2F01D6CE3436AE9CF870D8BE45D8BA6EAA27176802DEB9B5458606F7A998E679FA29CEE708F014A4D764B97CDD9A73D7A384D1184B1EE2EB24C4F997FC507E328C91C74BF06E54DBC32D
F3C4F9580ED7112BB4469D03850237CC76D3012BEF9EDB655CDCEA344E818DA4C4C2F9DB734B92931944A39C11D579F4F89EBEA57AECBA8745EBEE6F76396E831D7E0D84BBD57C1CA81A762AC53015F059FE7EB955E94347971F80DDEF30939900BB
CC63281EF1A7E4B558EFE6DF743EB430DBC8774381691AFD89907BB562B239A5538BD384578446A820B59079FAF35BC42DE23B7A5D08F0F4FF63ACC0D0DE6A765087F0E1B34B7547B17405059D026459877DB1FD15DCD4BCAF01BCED6B2017E57544
E4BD741F1C49B587D3BB494761BE1C2103414EF145B2B0579DC55490A6FADB8BE47AA6C6233BC052649A91F3EE1E3402C88112DF6DC8C0FF8C805B2E8B8391CF21F1CEB11183535A46E6482C4051CFDB6C1752743B8703E5CFC6ADC29226F3A7818F
03579A5C2B57F7A793624353AA29555EE2EFE013D2E136DAD727AF9E3C50F362214594F4F558AD89E4F58A95218A9DBA8F269C4867A6E4C77486231C6662ED1798805E41D31C99B132B44761715782D8DB825E81E227567A6B3A130F3210E3D58DC2
1FD64AFB4C5AC2549798EB7A1FCCF43F8AF9C858D3286E2E50632F4F8D0A0FE9C8B1AB62DF6DD3A7A8FB87C544F4D699497B48FCB2B68458CCC6CE0A2DCDF0A4A6DAA20CB022CBDCE7E4CF64BCAF454DA24290361311EB4899E0F25196A8270CFD04
843C76C74F35C906417113BE661E1D6C09CA3C4056D1BF0CF7AE1B2D1F3DD13B131907780EF800B7959CA192818AA9BDE0BF09588B32CF533F384F30C9EC60C93A3243E1AC3D6948DEED75C61232E65DF33C22E2EA32561D796914BE4445D4AF7F1B
42D06A192AB00DEA8408C06B3E17888759087C735CFF94B630A0993336E4345BD74EC1453EB830974EF693C700D84A25D02A1E263D12EE9FF6F8237D575836604888722E6A390CB52576F7571FDAB25C7A5FF475F61EA5B65EDEF99231484F0DA73E
0780CD9198EF6770C744D2B804B5B102BF4137CC1C563DF12C6A1B972533D51E872AC1CBE253B629F1B471AE92487DAACF10513A73577AA0357EE50A0172D96D751BD219A04AF30A6F9A3DDDC4A986C1F07395B49F81D672791D75801AACAE5D66D8
FA974422666E289EE69D408427C0661C1BE321BAD4399EFB83FA7462A02042C14CC62F349BC4A5E8724CDD0D2E89732B8C8DDE67ACC29E7D30E58BBF858BDF1DFFB894EA6C98D7DD769F6A88A3ABA8F0468D74E16140C28FE5ED93192411EC620BD2
435DE55B707DD1E6F8796648F7EBB0809807DE13B6E765A5C7A8F714EECD73676AF1AC8944B40019B324A961FE049C7C76077BAC69AA8DC1ECB50C610E6183DC57D843E0D26660512B23BE64FA4255733EA633D738253B2B28FC8EE78B93186DA374
F9AE08E106A9A1207BAC58F518A43FF28F21AC46E57CD9A48C2CEE42630306C05597D28570EC99D872047B89F180F115012422A0301134029C9212B9476A5C3ACBD89E633A45CBEECF81E4F908B6DBB40C8E45A647C12701A258C277D294A5147C6E
CE416FCDC429635532EB9A466693651834E54E85EB8FC4E9154B88140E75482D8B8C9C0698FE2EBF682792E167EDCD8CB0FF2459EDD42AB05284A9255A77979782A5E29F2CEC8839370668506282F435D51F64B9062E34A4ED7A583BB6D56F779DB2
70B3758C5AFBA0E10B6BB2F7D0F7F074863D4E7FB5299D46548EFDE25200937010088BDFA88EB9BA5C21BD7D81A2C287D2CADB6FFCB73A6790BC879366E36860BE37BE49351253EA1F66CD1938245426A59F735E8B218157DAB45434D6EEB7E2CDA0
6254E8B624ADA1EE04E9BA7C3D72F451361CCD42F74747F7239836C2C394A6D43E02B5065DDE064D6430ED27D610DFADAA0AA6B4CCD32FD87EB05F0CD92F2C77CD2C239EDC496F8C2F42C00A8BB2DEBE294C777F62F4AC5DEFF814A6071D85A038F0
C141E1D28E1816CB913969EA2DA7439608259695250C07B27D8FD3F4A916FA6EB91FDB1F746BA6D79537962EB9539A21779437F197C498A8B030EAB9B75D3E355B6EC4F55B92DF8C5B771E07D1B6D0029330446A1EF5A8BA37DC7C3C49C2B8B08493
CED19C5B868A926A1AF084BA2F50B686AAE21A0EBFFF19528F40050B6F39DDA1E3D2A0245100D86C726378BDCB7CAEAD2CFDA4EBF294859BD56599D7E71EA709B5C40C1FBE71BEC2EF89206A70F9E8D65744C79C48F454237DE193230AE24A159DC8
904C3CCD6448828F7647D11585A4AFAA4C794789BEFACB7EF618CEAED679B24BA13D53347E261780169F3A80D1E47E2CF0BAF742DA0CF5EA3CCBC1BC31D28DB8334AB15B14855EAEDF55280A644AF63FFB51379664A86124E747E8A5F426FCF35AF0
06CA86D1C69C52317CAC69D6F7E010723B75971D39CC2A9935EFBE5D3DA70B8B477645600C85F9DE8C2B58DD3EE33DEE7BC793ADA4269506C9C6E0B0BAB704EA0AE07EB90C79852DEA21BA26C51AC4E7635CE91FBD5F44F0E2C7F82AB71646C9962B
6EEE58BF420130B7D240BE18269E9B2D9CA7D43FF0FFCE44658445C15FBE5B50E343040D69CFAE13AA213CAB07647F90D227259C188DF91F76858F449235449F6292F8816907BB37ECA462104FCE42C5D260774BA28956EAF6DF5329223B403F7AE2
3D808000F4111322C15821497F7409E43802F932D23B659BABC0D9791E2E3F2012D57102ED0CB72275421737F92264F43023604AE78C7CD7997F0E7041040F88F6ABF8EFB271E0154AFEFCD6DA55C6322309DC7B09EA03BF6A67494589F5CE8598FD
F5EA66FAEB06A34A654D91D33B5213F532E1145C65EADD6C125AC7FD682B445D24C3C6D119A87D1B650D1136140D6DB8FAD4B122AB56BD27F3BF787FA95FEA19C0505C11369A4DBEE81E233D97DC8FD996330274A1BF58C73377802AF2645A75A93B
566F558C91315807DA14F8993A3EF4301456A34A2D4EF1BE8D7C3A8BE3C8F7DFC3B6128FF6DBA95C7896EA2B9169B1162982757AD1748A882724AC3E7D10C0F94E04ED7447838E1856CA6D1296CA1A096BC248CC99204E0FA0308913596D58B10DC0
C31AEBD1E634CC4DE26251B3061D88351DF351CD2DB54D49AC53E45512FB56A6071D40CC1F3BA6D244B3A37CCC01AA9E9EF80B32A363CF821A99B74B6C2BE6D229A02699D6A162B6CACC9E912035F5204F8FFA6C28EBC254DC0357E92990A3DE8B7B
EFFE58DE63993D058D371ACFD567A9CEEF69D7712A0326F480BD85F9BF224D54165FF538F80E3F0275EC94129B000CE576683782D7E2102AA98C0463515FED108DC38AF79460351DABB7512B0C011382F5E5EFD6B63DE1FA0347A875C6F104F464EF
CB855F120A8D1A70ED0FBB2DDB81F45FD510AA9C344645EC51C7655C3A30CC6630F796F8CE5A4CFE9C6C3C0512ADD30868E82F07A3D14BEB2CCDEA1F9B95965C58701A54D779DC6BF0BA5F9C4FCDDF3C4594B9FE2EEFBD1ECFD316ED13DF03C997D7
E7F28B4E2D025762049D7BB89C027263E870D8DE6D9930F8D745AA4C658D3B50E3E55C05235819CEA433CCE4ACAE0A98A398A4F2A1DBC7E729E1A4AB07D283706CD79D4EB8756320950BEF7B8C2358C4CEE7F2476D1BB6381C8D287874E3E5615DC7
C392D8B4E863F7C580B1C94D224DB63131A5C7E42E068202721E9E31324A2ACAACE83EDCB5404933327EAFCB1B4A881C03E5FF6080C078C7833ECB9B4FA2A83959778F08559418EDAF98B147ED77A9726E7E720D1A41C5B342263F1B3311EA743C00
7A2C743C905EF9C0D758CB7E75F33E08385279B8122646322A3D8FBC66406C906491373EC829BAE82203F57D9F3A9493F47BD9CB3FF88A9F7124697E1CF06170927A81574EB25F5AB8FAE039C79273658104361AE81B805EB6D2FE43D776869FEDA6
51FAAAF4CEBB6849D4EB408D916A20B33A53E92C4E16E699AC6EB25E7EC8D84F1FC126921AF9EA2F7DD8E720959C1A8EA9B637485240B1F4228347935743ACF0DFCEF3E43908930E17A67FE6BC34228872AF98FA75F29B4439E31907C01A23341184
FDA25E28EDA4B6F8AFF2BB17492849FFFF27D4BC3EC7EF50ACE7142E76A676F55A6CEE74E43E6E4E47AA51A5344D189DACD258E0F7ACA6BC2E7ED061DAF6CEBC4FF21CA3C803B02C97AAA17AD338A24720AF1AB7ECF5FCB1E821EB0006FCE9897A2F
32830C75F3170B39525A93B3163516B3C569F6885A18DBB13E997C500F3EE217D10C0051724C0D8AE483CC3EF7A62EDF1D2A8EF7F79E375D738000BAA99616DA93FDEB30E2A69EF059754C9DBCB3039FD0DD9857A33234434A5B33664A92A015878E
D93B775FBCC34B5236D665D01690554FAC9A2A79CA31F06BD30707742FE19DB9FC6A31AD62147FD78FF113FEA04D21DF940739C47EF271800918D4561E6D47C76D52160A5E92E4F62654B968B1C4237E39EF0E35120A81DEB717F22AA41ED50F8250
6EFB2E5950EC0BED1DA941C91D892A298FCC5DAD9825E729BDCCE825A17C1BCB0D5B3F70D615D16DCCBA0DDB919E2842E0AC5D9D0750CC3F6E2657623EB52D147B031B0A72C171EB9CB1AB8C32F3A724CAFD39B4225E0D99CA299594E3EA4B82522E
49E1B889F1B4ADF9D8D571D99B75BEDF713333C56D5A218D2B099B560430D9D3774D99FF2D07FECD4B387F6ADBE95A6E143181ABE90309F60ED7FC2D3624175D38AC3EC0CDDC146E9AE07F2031BFCA276DB3D1F265843941E9123A7C213713432BB2
0543C6DA30A6642B5E37714A362271739037A8424F8D5FDF29913F71CE25BAFC00DD626B788513ECDAAC24C9594D907230836CE2FE71A22FBFA2123ABA96295F49A476A8CA6AB324CC28E13CC8550F5739465C3DAB428B25ACE3DEB73CBA4B3F8162
7F2AB3E34C724CAF6AA406184EA070696E8410AA2E55132EAC8F4DC2AE25E3D89C638D255B6A4AA82B75EDFAA0065CD2FE4C3120CE4DC74BF45E59267C4ABAE2DFE00CD762EE4D0A92ECFD7913FFCA2ED81EDED8D982FB576559F05780B5637C9C52
2F50A1EADF26F1F274D3B557696613FE3D6AAA473AE19ECCE098D90202536E27EBE07EFEB5ED795D17271E59E0E0591E0BA08D5421EC8AF14456D72ADFD4E8CED1D359F46BF67B51993BB768A51FEDC0985F69E69F9572D8C3531207B94161F24DEF
9A07A26EA8A1850ABE88DDD345F9D86410C2BDA8286DCED587A86E806DBD125F7E0C760221C44FAA3716E8F218304D7E47DE8D56141F53ACDC6EFE9B86B7626DAFEC2CB9A02D4BB09BAE361694EDC9005BFE9899EECEF1EE81A041082A75BD6EAECA
685531A93AEEB58421E13E858FF3201B6D45C54065FD5F7D2FC3858A288D536DD43A70070BFFBD867754A720FE27A2B48C47F9971C1EBC15628956BB81184F425699CB6F18DB6E74FD6BDD9873BEC711973DB91B69AF25BFBB80F7416F15A52B86EF
83AE9CF9EA3F8FE1DFDFA1D753D81C29738348F1172C539BD5D51ECF255E7FC4134BA87D8B67FAF4C124D731492B6C8C43BCB84969806B49DF31F1F270486133A32BB0B23638EDE4D23D4F6305C303A78E78B7E8066F65EFAF72659C12D20A5E5A1A
15E556F5323D8DE064382E8539C2F029B0AB1F6F177B6DE4AADAA9D8C134B50ACEB5647B3BAA0EE19EBFE6514CA68BB67B6D0D2DBEB7E20F6AAC67E0F487C72BB75C702DB4D80A5C06CE8F99F1BE007017E59B506E58C4396D4EB6653900A45E1C57
0860C21AB3C6863356F5580E3D666A89DCCBFC589DE405A8F821C26E861B24976283DA0846190800136E84BC3BEAB8DE75CB7D9BA26E20DC91FEE2DF70BDB26536B2EE2687954F8B6CD27670623F03FE28ECF1B9B51F0670632DD3B4D6DF8B573D8D
C98B1847D2E1E158858950B58C47A6DC893EEBDF138FCAC771A9C1514ED069B618FAE660C043B9B68AD0B0343DDC0D872D0C4BCFED0CE5BD4F1368AD734A9DDBC330ECF3FB497A97DB9872179E24B188CA151A8EA15A518DCCF8ABB4A591EE045CFF
406334C358D62CB73C9010FCF56F3D0D53599237C5D51D999B5B8B70D7C0184D558925C9416C3AC5FD6037F859F1A02DA7E7B0431C16ADDD5C1C3A1ABF7AEC013104EB067F5F145D75E4EF3789575206C4CEC2682DE7FC37916469D46EB3C88B1C61
43258B008B3749DAD41283FAB14ECA883823CE29D68885195B4E79CB62E41D368A505FF08D4DCD08F2264F17E39228AF854D0B9728D481913C46A6C9EFDF2D72C32C4B459717B561073085339364AB18CC7972C9E3F0777350BE927E44C41C45E3F9
7D6C6224115C81384C83C7A259BADC8576219B5D8ACC3EB471EC700CB8B6AF5E5098BCFC4F229E1DDBCA053B93112AF46BFAD99095CDC37B4D8D3205F323BFE9B150F134F95237CA0F31FBA785B468DD9F750732321FE3928C6DF144833A7D93D1A1
44A846FC9481F48AC5E447060055064C0A38440EB24DEB51E2FEFFDF9C46306340E025D15745918E88EEA0CA70F49BD158B23F7CA3AACCECCE7421396CEC44F0EBB2C71937467E0AB3F1931D3CB609920C945550406B18D612A19A9023AA9E53D066
55E2C96C8E1A89CFFEE3EE01E7F8F682E9616032E537D3F06E484EAC1F9D19EC783A9F82AADFB5E19947355EAF410F6C6B9C6CB53B1EE4867DC7360846AD7583F7861F3DBF6E1E5CC87752FA1DDB20173D91FA1928060FEF8FD5C3640E254DB01224
F110110A83F01D315100BD6BCAFE86A6F99587AC3B24751A9A7CBCC5C920500B0A1CBA2ABEFCA7E50F088B31DC92517846A7F0C6C308F92F0757DC5F57642C9697529326B32FD7947F32828045DC07B3B3A94FC40AF0FD6B0FCF6AC6B7EC6F885A8A
55C6CFB38D132BC5E6D9405CA2015FEBB392F17AC3DFB2A1C23041D59BE5B8C7B057B41140ED0BCCA65B0393EA0B8FB401DDCEE15ECE68E51CA81DDAB1DB27CC5FD93A39C4EC88C5DB5628F49DEA68094C8DF16CE2730C25F0E0CD038C01B5841703
23F1B22254FAE43D156BFFE528B5CC16FFBC8B98BAD78C8EDBA30B308DD4FB9C15BCE43AC9D74F8CD7786896EA5B98AC4DB917FE0B586AEFB14E1A9D82E2E4E37DB875DE67DB3C89FC3351314E806808C4F514E2467C0174604C48395511C976AD59
3A6028AF373E556BAA170E8FFA528AF84119260F207F4B7738A38339509385AC067FEE10C3794F9B6A579D0C5333205EA3A2F57BDD489CB930D4BA85398D2A33E83050899AE65B2BA2EDD54DBC8751E84C482B6E0BE74689D56EC4B198505F1381F3
A016AAF206DE1F07FE52A8BBCCECE7C1377073AF5DC201048DBA85D1638F2ABB59919113B01D25F5BEA0980CAC2EEF86133081BFA01B97983518CC568DC83F8F77D3856AE47B3EF87165992A413FC3ED0E642EA8EA64A10A7BF7982BD58879E3B978
1113A944E7FA318AC6689C8B367230C167516125CD0A95CF439140AFEF882D78535529A0338C0E0F09BEF408A278B3C57774FBCDB4F0906D35125EB0EDA0F40D4799273035A050520F64D548264615345B3A7688CE0C56AE1B74181E3ADCE299D4F2
50C8417DD282956E3BA7D0226DD4AE9D08D92C650882D63B08A3450C2D2A59C3D8862ACF21CFD9D5E486FDA45735A41C31C392E04EDB0B87458803D32C13EFFFB402DB594E87A17D2933441784C61598EF607BE11D6089F70A22A9F2A2463AE3315B
B3CBE175ECD1D38C5ADCA668A5B544DC6109006430921A40FE2E0C761EED417A9D5314B4A331BCEDBEE0169410E86FC32BDBA21592B2C3EB22361585A7E06B7E4CD7042E4D1F5D565F577DBFEF5BAF7B59752AA3B862D537C93576A903E0D0153747
F5C5650E408F22F26554212CFECD54F6119DBB
000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000
cleartomark
%%BeginAGDEmbeddedDoc: version 1.0
%:s8W,W5t=="^::eu!!!N^GQHorH[HOX(!"YG-8V+k!O?-$cI==`
%:s8VHE6Bi`X.YnoIY:*R\!\,<*5cK?)ZG9(=DDhQjG*QakJd$e$X]i\6%9hL7'r^&c>!YeI7ARBM"0<$/M@-(Xf`'0a4(S%3?pFV"J*a)>T:OlpHg]qLn%EdT2V\[c.?uNY3>A1n"c:;nSsUMYTbN//(;n8S>]C$Vc8C2'W/P?:>hH^MmG,6NVp%iVKehj+-PtrFLIl>s&o*hog1jJl)#5DdY,3[$Z/`qH:[G;ceXP8tYEKuq?UGoZ
%:NcaLu5+;uUB8U?]*Kd==R0cZ(3EGUZhmGu]aA,+1q96d*=c$$Oal:W][:+8r_/b:tOLiQbVNQ.)*mT/O@XB269oka;.S6seE_l.(/1o@(0G^un]+p0`=Vi;\LNFb&R?gAkD82jgJ!\"[j)VbG]#',$F-Be+D8Q+(!b.31.I\_sgb\.O;oVulef2:\AW!XR,@A_a4aBIe
%:\q5G#7q8f(pr9@_j4_%I<6)m\YJplA(;1V6I-g.nr_UY_lFqaANda=cE:627ea8I#:"*rJe6]cI6ojpHo[^S[.[P5s2,1QfgEBe]`[%I*`p!0R3)XSY-YCRtl,p!m\Yl8ZAF:7n=NGGj,?Bjd[BFcZO8K4Z]]=#jU8;\2gL`P(q`DZC8nD_L^D"q%*FWad]-V4Z0LsgTHDoj#,$MU+Ie*bP:
%:IuC:eU]r?Fjp+%6HK%jr!d,u5!mCiRH^9\u;d)EE3sM:0i(4K`#,b'SP_pIZWE:4#n`=hQ9RukGW^LVPGRVh(Z5K;Of]<;"JHb$\4[A6j&J\oMO633O*PUW:FE+Zhm4`3S(4da1u[/R9iKQlMV<)&8ZA<`]kN*f5R;"=@=7DFH``7f2@Y7,(4hprqc3gt+)4
%:3*I5`QL_).M0@jlall9jLb`qin<)*=G8"aHTB-nU"o+$!_cqX(W7)eL]$ju^?\fVk^0qI!#Qd(E9.]_\+!-uPF?T-!_H0gUo+K4b`:sKB?qXMQrpn\es&aebuc?h2,.i6(F5+7Ko5LZ+l,X9>r\aGOOfXf(\YC8Ae.V"Re0#T,^lpA4^CV=*A;;(S):ojO\+jGdcP!,#V5)7PXiqo
%:dreB"d[)5@oVIFeR?6j;PMT.l?V"tTUj!OFP'7F2PFD-f"HkB=Uk;"FT2,6>*W<+qlQ7r@jk3"mLj8[@1oX'm:*Ad]MKDB[pMYbm3TJ[q-LFh\IG9Knk):6CeMX7J[?7NShH%8_<\B$#,a+fu'n0e&\kN>EbL4rdL!60ca,el\+oGejqa&?R)@PKgArC
%:.\q-Dbf43[X!(f5Re45qP+JjJ0+cQa=sL_'Z72STlAXu0f`a..?(09=(FG79eV`uV65k>dCcQh^pgf8DG,[k*^p'c!G%jjda6<_j6-N3N=P$Y4\0+lV93bdW^1PN35SH_f<
%:9\R#T'q%3A9kr+k80I/nMY&YI?)WmoG*RHpUiciTCKJJ[.qeKY\gBlef;uVl88HADfA&-.SZ5gjj,de=%3*j(M^B4S)TdV]fJ4V+#lM\_B8fu'p`:&6dT,lNNCh'f)(p8KA&`\XJ!BpT1k7FTK#9WtWX?B^iMUBr4EQm2K5+l-V@#LC_#hKVR^]@7_I>?3j:A(mbN:&9&?,lN'Y\k,H%>jh^A#NgIaUg<8IrpojuKX=CW*m.f_kM=\-??$/Ba'(Y!,V6",B#E'cV@HHY2\9,\U1Od_#;\;,8_<"Rns%XUKsL7ClsS?6$u40hC4YVtATI$TCKW0q[*`[*T2Wr`gK+W;
%:'W!81nusl`HJD^'.(*T"[J2A*__E_Bf9H/iUY_$b-C5dO(*BZF>5YO,cpqBC6ZBOJn22Lao6%?5\iQ_Mn;WXAPYEInXT?.Mb,-=Q>m6FhP)B_->k,srjf#(SQ_qf?lnd)B$s-rPgt7sfAF;b(BaP*HNA.%P]!?#nqZN+[a)N5USeD@WF9erLku<$fj]X?I`2"ioc%B^nEbTh>#CQ.kEPQZVOFj4NB2R0jphC-@b`@u[;_^__1l6;&
%:]G'Fgig"r8ZD2M)Nc-B=UA0JJ'6j&*""R1f45a"[S"m,_-C80BWc)Kl<(<(:L)L64WHCp1&A_gsI/NdJ;i#iuA5'g@i<3;'V_eV_nN/ZfSr*<(kmHA;RRR?,?u1ZU[WUp/:LK$+/qM&u2(f(OMq7m=R.Q
%:4aYBnQn%BqQkV;V_dJkdEusjO@skq5YcVgMi]AAC"j<%5nUpbYq=H/Rs0'HcCcEi]f\\*$>sRhh:%VN@6Bq9i;&!7j2r![TeY;?QSLV9VTGa0TcrM>TO#-Ej^TGG;5>,]3jV2o-I!;F+.Xi(Cns+\EpD7p,LS/B2\Gn;j)ZC;]L0.-Q;YhT6O,9/"gqu,LlW%XP8C6iN%q9bZDL+&[qS'n2J"KWQ:Z-/Wf+)H$[Dtn*+(<*!#Js3Y
%:WJpm\k=R_Q:5',Y>r\/ja*Pk\L:Q[\@G+SK_5q48VA_1MCWc6Z,t;Mlk&=$lQ@3_scLnGWIM7).G"BmG"_-loktu]]-?GI&=][>WRLA/@9k+ch.7%%UKK^399A.f[A9*p3Nen-SP=sRS%>RMR2W7raXH/OICg%4q,+(2ue!_\Q1JjaACt]'AFQCm"0sU=dE[a\r#jU,qM+(?b$\'l+BR9p>`0SWVUc\F`"p3Y]d`a$j*FDOoP8^^]
%:ZpU6cls39!hPkNR[R+,fA'Cjqd?;s>YdK.`p%F?-cRL$;4@MQWfAksi7"+M$'D)N56gNrMg-F!4oCN+_R9lfYoJcV.mDMJ^F;cacJp@KVV(@4"W>Bt7)QJ@7a5h\]:po$(1'p^Jt'-E?%s*plG_%7Pe$aS-Zq"DkFCZd3-uU%3R>HTVd5IJ)I&clG%tLrJWqDX[NicJ&LDFKKO`E1c@ni$OM-jD-,!a'km3HgfS,oV&Z%,oP>EQq!KY?oT$[5/sE&[k]D!HI0:fT_IF/5O!g_,Y#%DImbC<6[M[0C(3(0eMa>0YQ!WOW&IM$j%,ke'8#hqe:l%t[CgR=@5H$u
%:P;n5O5,0d%4OD'S?U>V(.,f5Pk?p5l>CM&V01#s+j`NLndo'KoZ\[)m%IeNV*GS,@kD_k8q=DUG//``rbP;MA'QI3T]_.H>aLdkS5i8M7Eh:>1Ma:B<3.tAi0^gjE`eL=HPY^>D.BF;S`ko6TK%N&K:BRRe55A/-nKFD?LQJLoh#&-KOd"8cY5^2mD6T/i_HF_Ekdmd^]_O.MVVl>C_hPhIYq_;`lN_EhqkL$c]Q@aF(rXp`UZ-[M
%:[kKq2#%E3k"k@"->$kNSh=Hnt95FsC[5ZGiBB-E7QPB2_2[H(d>rC`=6[ZrQ0C<45e:Gp:2"`k?R"pET+$Pk.>PBjp9ItZahgq]QfSTFab%cRfF+TPPJON!rq5(oH809<1e@maVM1hm@ZV(tS.cH]-gCUm7Qd)&A]eLrA>ZbQh7XK+r/,p%ZH.s4IZ/)ZJhEJq%n*&8ThKRAk3%GLV!9Jdlom-pk35$EnRU_C"Qhi,NZh.qXGujfX
%:^5,E*;>;dVk(ThR)sLWMIK3W3cNrn5)isUD\/pFk;XC!EKHEF+a'_C]:di[p]WJG\Askg>Ym7eJg"t+f+,QUmp;$2qfD\5;9DX733qE.W/hZG43:2>[OZu82kPuX!YNQOG:#F=4l!+"E%au#IGmobcPN#1,QlaH2o;$Z[4`*;uH%8X"b'A"5DiTZ!DAtZg=
%:E#P0l=+(cajCs\DIfR,-"i10i!UB`E7VQ[M@:F%a!!2CR@'[Bl.D]!NT6hBk)5b!N/prFE2)5B)hrG:h=ZgE+NO$Bm+&XEbT%a!;9-+:L\'M@rq\NktP)uEbTE(!!(qO9PJQi!!(bJ6tp.Q!!%L<847B+87c4?AT@bN2*u+t@qu&EMahDsAOL*N@rc:&FDl1"!OGm?DfT[p!NoHtE)0qX!!%43Ch7HpDKGjZj\pGA@W-'VG^ki(
%:Bju*kEd7WcL/_`/F@'e^CB+Bc<+068@:F%a!!.RK;fm%oDJ&qL$UI9N7W30d!!#SXDes?42?3bI:i^Jn9QP:U!CBV'De!?hF`M$n!6%WGDIlXQF8u<_9PJBU<+06PAH2_V9PJQi!!+9?@<,dhEa`p#!!)%R:18!N!!$.i@<>oX!/X0ZB6A6+!!"Q:@<6-m7VQ[T!!%(/Ch7HWBle@r!-CYGASk7aDfABkF8u:m6=FqL@n^TS57lR)
%:AH2_.7s/NVATIhPG#NL.Ch6F`DfABkF8u>^;fHYs6Z6dZE]*mt7mh32Ch7*uDfPgX]1cXYAT@bO/l5tuBE/%+7riNjDu]ka6#q!aG>M^iBE/'e<+U;r6>URMCB+Bj<+U;r6Z6d`D/K=R!!*W3VZCf=VZCf=VZCf
%:8HWUVZ==/F9/9>irJ*>/HFf3Fo^P&huMd;huMd
%%EndAGDEmbeddedDoc
%%BeginResource: procset Altsys_header 4 0
userdict begin /AltsysDict 300 dict def end
AltsysDict begin
/bdf{bind def}bind def
/xdf{exch def}bdf
/defed{where{pop true}{false}ifelse}bdf
/ndf{1 index where{pop pop pop}{dup xcheck{bind}if def}ifelse}bdf
/d{setdash}bdf
/h{closepath}bdf
/H{}bdf
/J{setlinecap}bdf
/j{setlinejoin}bdf
/M{setmiterlimit}bdf
/n{newpath}bdf
/N{newpath}bdf
/q{gsave}bdf
/Q{grestore}bdf
/w{setlinewidth}bdf
/Xic{matrix invertmatrix concat}bdf
/Xq{matrix currentmatrix mark}bdf
/XQ{cleartomark setmatrix}bdf
/sepdef{
dup where not
{
AltsysSepDict
}
if
3 1 roll exch put
}bdf
/st{settransfer}bdf
/colorimage defed /_rci xdf
/cntr 0 def
/readbinarystring{
/cntr 0 def
2 copy readstring
{
{
dup
(\034) search
{
length exch pop exch
dup length 0 ne
{
dup dup 0 get 32 sub 0 exch put
/cntr cntr 1 add def
}
{
pop 1 string dup
0 6 index read pop 32 sub put
}ifelse
3 copy
putinterval pop
1 add
1 index length 1 sub
1 index sub
dup 0 le {pop pop exit}if
getinterval
}
{
pop exit
} ifelse
} loop
}if
cntr 0 gt
{
pop 2 copy
dup length cntr sub cntr getinterval
readbinarystring
} if
pop exch pop
} bdf
/_NXLevel2 defed {
_NXLevel2 not {
/colorimage where {
userdict eq {
/_rci false def
} if
} if
} if
} if
/md defed{
md type /dicttype eq {
/colorimage where {
md eq {
/_rci false def
}if
}if
/settransfer where {
md eq {
/st systemdict /settransfer get def
}if
}if
}if
}if
/setstrokeadjust defed
{
true setstrokeadjust
/C{curveto}bdf
/L{lineto}bdf
/m{moveto}bdf
}
{
/dr{transform .25 sub round .25 add
exch .25 sub round .25 add exch itransform}bdf
/C{dr curveto}bdf
/L{dr lineto}bdf
/m{dr moveto}bdf
/setstrokeadjust{pop}bdf
}ifelse
/privrectpath {
4 -2 roll m
dtransform round exch round exch idtransform
2 copy 0 lt exch 0 lt xor
{dup 0 exch rlineto exch 0 rlineto neg 0 exch rlineto}
{exch dup 0 rlineto exch 0 exch rlineto neg 0 rlineto}
ifelse
closepath
}bdf
/rectclip{newpath privrectpath clip newpath}def
/rectfill{gsave newpath privrectpath fill grestore}def
/rectstroke{gsave newpath privrectpath stroke grestore}def
/_fonthacksave false def
/currentpacking defed
{
/_bfh {/_fonthacksave currentpacking def false setpacking} bdf
/_efh {_fonthacksave setpacking} bdf
}
{
/_bfh {} bdf
/_efh {} bdf
}ifelse
/packedarray{array astore readonly}ndf
/`
{
false setoverprint
/-save0- save def
5 index concat
pop
storerect left bottom width height rectclip
pop
/MMdict_count countdictstack def
/MMop_count count 1 sub def
userdict begin
/showpage {} def
0 setgray 0 setlinecap 1 setlinewidth
0 setlinejoin 10 setmiterlimit [] 0 setdash newpath
} bdf
/currentpacking defed{true setpacking}if
/min{2 copy gt{exch}if pop}bdf
/max{2 copy lt{exch}if pop}bdf
/xformfont { currentfont exch makefont setfont } bdf
/fhnumcolors 1
statusdict begin
/processcolors defed
{
pop processcolors
}
{
/deviceinfo defed {
deviceinfo /Colors known {
pop deviceinfo /Colors get
} if
} if
} ifelse
end
def
% pix = x^2 + y^2
/printerRes
gsave
matrix defaultmatrix setmatrix
72 72 dtransform
abs exch abs
max
grestore
def
/graycalcs
[
{Angle Frequency}
{GrayAngle GrayFrequency}
{0 Width Height matrix defaultmatrix idtransform
dup mul exch dup mul add sqrt 72 exch div}
{0 GrayWidth GrayHeight matrix defaultmatrix idtransform
dup mul exch dup mul add sqrt 72 exch div}
] def
/calcgraysteps {
forcemaxsteps
{
maxsteps
}
{
/currenthalftone defed
{currenthalftone /dicttype eq}{false}ifelse
{
currenthalftone begin
HalftoneType 4 le
{graycalcs HalftoneType 1 sub get exec}
{
HalftoneType 5 eq
{
Default begin
{graycalcs HalftoneType 1 sub get exec}
end
}
{0 60}
ifelse
}
ifelse
end
}
{
currentscreen pop exch
}
ifelse
printerRes 300 max exch div exch
2 copy
sin mul round dup mul
3 1 roll
cos mul round dup mul
add 1 add
dup maxsteps gt {pop maxsteps} if
dup minsteps lt {pop minsteps} if
}
ifelse
} bdf
/nextrelease defed {
/languagelevel defed not {
/framebuffer defed {
0 40 string framebuffer 9 1 roll 8 {pop} repeat
dup 516 eq exch 520 eq or
{
/fhnumcolors 3 def
/currentscreen {60 0 {pop pop 1}}bdf
/calcgraysteps {maxsteps} bdf
}if
}if
}if
}if
fhnumcolors 1 ne {
/calcgraysteps {maxsteps} bdf
} if
/currentpagedevice defed {
currentpagedevice /PreRenderingEnhance known
{
currentpagedevice /PreRenderingEnhance get
{
/calcgraysteps
{
forcemaxsteps
{maxsteps}
{256 maxsteps min}
ifelse
} def
} if
} if
} if
/gradfrequency 144 def
printerRes 1000 lt {
/gradfrequency 72 def
} if
/adjnumsteps {
dup dtransform abs exch abs max
printerRes div
gradfrequency mul
round
5 max
min
}bdf
/goodsep {
spots exch get 4 get dup sepname eq exch (_vc_Registration) eq or
}bdf
/BeginGradation defed
{/bb{BeginGradation}bdf}
{/bb{}bdf}
ifelse
/EndGradation defed
{/eb{EndGradation}bdf}
{/eb{}bdf}
ifelse
/bottom -0 def
/delta -0 def
/frac -0 def
/height -0 def
/left -0 def
/numsteps1 -0 def
/radius -0 def
/right -0 def
/top -0 def
/width -0 def
/xt -0 def
/yt -0 def
/df currentflat def
/tempstr 1 string def
/clipflatness currentflat def
/inverted?
0 currenttransfer exec .5 ge def
/tc1 [0 0 0 1] def
/tc2 [0 0 0 1] def
/storerect{/top xdf /right xdf /bottom xdf /left xdf
/width right left sub def /height top bottom sub def}bdf
/concatprocs{
systemdict /packedarray known
{dup type /packedarraytype eq 2 index type /packedarraytype eq or}{false}ifelse
{
/proc2 exch cvlit def /proc1 exch cvlit def
proc1 aload pop proc2 aload pop
proc1 length proc2 length add packedarray cvx
}
{
/proc2 exch cvlit def /proc1 exch cvlit def
/newproc proc1 length proc2 length add array def
newproc 0 proc1 putinterval newproc proc1 length proc2 putinterval
newproc cvx
}ifelse
}bdf
/i{dup 0 eq
{pop df dup}
{dup} ifelse
/clipflatness xdf setflat
}bdf
version cvr 38.0 le
{/setrgbcolor{
currenttransfer exec 3 1 roll
currenttransfer exec 3 1 roll
currenttransfer exec 3 1 roll
setrgbcolor}bdf}if
/vms {/vmsv save def} bdf
/vmr {vmsv restore} bdf
/vmrs{vmsv restore /vmsv save def}bdf
/eomode{
{/filler /eofill load def /clipper /eoclip load def}
{/filler /fill load def /clipper /clip load def}
ifelse
}bdf
/normtaper{}bdf
/logtaper{9 mul 1 add log}bdf
/CD{
/NF exch def
{
exch dup
/FID ne 1 index/UniqueID ne and
{exch NF 3 1 roll put}
{pop pop}
ifelse
}forall
NF
}bdf
/MN{
1 index length
/Len exch def
dup length Len add
string dup
Len
4 -1 roll
putinterval
dup
0
4 -1 roll
putinterval
}bdf
/RC{4 -1 roll /ourvec xdf 256 string cvs(|______)anchorsearch
{1 index MN cvn/NewN exch def cvn
findfont dup maxlength dict CD dup/FontName NewN put dup
/Encoding ourvec put NewN exch definefont pop}{pop}ifelse}bdf
/RF{
dup
FontDirectory exch
known
{pop 3 -1 roll pop}
{RC}
ifelse
}bdf
/FF{dup 256 string cvs(|______)exch MN cvn dup FontDirectory exch known
{exch pop findfont 3 -1 roll pop}
{pop dup findfont dup maxlength dict CD dup dup
/Encoding exch /Encoding get 256 array copy 7 -1 roll
{3 -1 roll dup 4 -2 roll put}forall put definefont}
ifelse}bdf
/RCJ{4 -1 roll
/ourvec xdf
256 string cvs
(|______) anchorsearch
{pop
cvn
dup FDFJ
exch
1 index
eq
{
_bfh findfont _efh
dup
maxlength dict
CD
dup
/FontName
3 index
put
dup
/Encoding ourvec put
1 index
exch
definefont
pop
}
{exch pop}
ifelse
}
{pop}
ifelse
}bdf
/RFJ{
dup
FontDirectory exch
known
{pop 3 -1 roll pop}
{RCJ}
ifelse
}bdf
/hasfont
{
/resourcestatus where
{
pop
/Font resourcestatus
{
pop pop true
}
{
false
}
ifelse
}
{
dup FontDirectory exch known
{pop true}
{
256 string
cvs
(fonts/) exch MN
status
{pop pop pop pop true}
{false}
ifelse
}
ifelse
}
ifelse
}bdf
/FDFJ
{
dup
hasfont
not
{
pop
/Ryumin-Light-83pv-RKSJ-H
hasfont
{
/Ryumin-Light-83pv-RKSJ-H
}
{
/Courier
}
ifelse
}
if
}bdf
/FFJ{
_bfh
dup
256 string cvs
(|______)exch MN
cvn
dup
FontDirectory
exch known
{
exch
pop
findfont
3 -1 roll
pop
}
{
pop
FDFJ
dup findfont
dup maxlength dict
CD
dup dup
/Encoding exch
/Encoding get
256 array copy
7 -1 roll
{
3 -1 roll
dup
4 -2 roll
put
}forall
put
definefont
}
ifelse
_efh
}bdf
/GS {
dup
hasfont
{
findfont
exch makesetfont
exch
pop
ts
}
{
pop pop pop
ts
} ifelse
} bdf
/RCK{4 -1 roll
/ourvec xdf
256 string cvs
(|______) anchorsearch
{pop
cvn
dup FDFK
exch
1 index
eq
{
_bfh findfont _efh
dup
maxlength dict
CD
dup
/FontName
3 index
put
dup
/Encoding ourvec put
1 index
exch
definefont
pop
}
{exch pop}
ifelse
}
{pop}
ifelse
}bdf
/RFK{
dup
FontDirectory exch
known
{pop 3 -1 roll pop}
{RCK}
ifelse
}bdf
/hasfont
{
/resourcestatus where
{
pop
/Font resourcestatus
{
pop pop true
}
{
false
}
ifelse
}
{
dup FontDirectory exch known
{pop true}
{
256 string
cvs
(fonts/) exch MN
status
{pop pop pop pop true}
{false}
ifelse
}
ifelse
}
ifelse
}bdf
/FDFK
{
dup
hasfont
not
{
pop
/JCsm
hasfont
{
/JCsm
}
{
/Courier
}
ifelse
}
if
}bdf
/FFK{
_bfh
dup
256 string cvs
(|______)exch MN
cvn
dup
FontDirectory
exch known
{
exch
pop
findfont
3 -1 roll
pop
}
{
pop
FDFK
dup findfont
dup maxlength dict
CD
dup dup
/Encoding exch
/Encoding get
256 array copy
7 -1 roll
{
3 -1 roll
dup
4 -2 roll
put
}forall
put
definefont
}
ifelse
_efh
}bdf
/RCTC{4 -1 roll
/ourvec xdf
256 string cvs
(|______) anchorsearch
{pop
cvn
dup FDFTC
exch
1 index
eq
{
_bfh findfont _efh
dup
maxlength dict
CD
dup
/FontName
3 index
put
dup
/Encoding ourvec put
1 index
exch
definefont
pop
}
{exch pop}
ifelse
}
{pop}
ifelse
}bdf
/RFTC{
dup
FontDirectory exch
known
{pop 3 -1 roll pop}
{RCTC}
ifelse
}bdf
/FDFTC
{
dup
hasfont
not
{
pop
/DFMing-Lt-HK-BF
hasfont
{
/DFMing-Lt-HK-BF
}
{
/Courier
}
ifelse
}
if
}bdf
/FFTC{
_bfh
dup
256 string cvs
(|______)exch MN
cvn
dup
FontDirectory
exch known
{
exch
pop
findfont
3 -1 roll
pop
}
{
pop
FDFTC
dup findfont
dup maxlength dict
CD
dup dup
/Encoding exch
/Encoding get
256 array copy
7 -1 roll
{
3 -1 roll
dup
4 -2 roll
put
}forall
put
definefont
}
ifelse
_efh
}bdf
/fps{
currentflat
exch
dup 0 le{pop 1}if
{
dup setflat 3 index stopped
{1.3 mul dup 3 index gt{pop setflat pop pop stop}if}
{exit}
ifelse
}loop
pop setflat pop pop
}bdf
/fp{100 currentflat fps}bdf
/clipper{clip}bdf
/W{/clipper load 100 clipflatness dup setflat fps}bdf
/AVec 256 array def
AVec 0 /Helvetica findfont
/Encoding get 0 256 getinterval putinterval
/ANSIPatch[
16#0/grave 16#1/acute 16#2/circumflex 16#3/tilde 16#4/macron 16#5/breve
16#6/dotaccent 16#7/dieresis 16#8/ring 16#9/cedilla 16#A/hungarumlaut
16#B/ogonek 16#C/caron 16#D/dotlessi 16#27/quotesingle 16#60/grave
16#7C/bar 16#82/quotesinglbase 16#83/florin 16#84/quotedblbase 16#85
/ellipsis 16#86/dagger 16#87/daggerdbl 16#89/perthousand 16#8A/Scaron
16#8B/guilsinglleft 16#8C/OE 16#91/quoteleft 16#92/quoteright 16#93
/quotedblleft 16#94/quotedblright 16#95/bullet 16#96/endash 16#97/emdash
16#99/trademark 16#9A/scaron 16#9B/guilsinglright 16#9C/oe
16#9F/Ydieresis 16#A0/space 16#A4/currency 16#A6/brokenbar
16#A7/section 16#A8/dieresis 16#A9/copyright 16#AA/ordfeminine 16#AB/guillemotleft
16#AC/logicalnot 16#AD/hyphen 16#AE/registered 16#AF/macron 16#B0/degree
16#B1/plusminus 16#B2/twosuperior 16#B3/threesuperior 16#B4/acute 16#B5/mu
16#B6/paragraph 16#B7/periodcentered 16#B8/cedilla 16#B9/onesuperior
16#BA/ordmasculine 16#BB/guillemotright 16#BC/onequarter 16#BD/onehalf
16#BE/threequarters 16#BF/questiondown 16#C0/Agrave 16#C1/Aacute 16#C2/Acircumflex
16#C3/Atilde 16#C4/Adieresis 16#C5/Aring 16#C6/AE 16#C7/Ccedilla 16#C8/Egrave
16#C9/Eacute 16#CA/Ecircumflex 16#CB/Edieresis 16#CC/Igrave 16#CD/Iacute
16#CE/Icircumflex 16#CF/Idieresis 16#D0/Eth 16#D1/Ntilde 16#D2/Ograve
16#D3/Oacute 16#D4/Ocircumflex 16#D5/Otilde 16#D6/Odieresis 16#D7/multiply
16#D8/Oslash 16#D9/Ugrave 16#DA/Uacute 16#DB/Ucircumflex 16#DC/Udieresis
16#DD/Yacute 16#DE/Thorn 16#DF/germandbls 16#E0/agrave 16#E1/aacute
16#E2/acircumflex 16#E3/atilde 16#E4/adieresis 16#E5/aring 16#E6/ae
16#E7/ccedilla 16#E8/egrave 16#E9/eacute 16#EA/ecircumflex 16#EB/edieresis
16#EC/igrave 16#ED/iacute 16#EE/icircumflex 16#EF/idieresis 16#F0/eth
16#F1/ntilde 16#F2/ograve 16#F3/oacute 16#F4/ocircumflex 16#F5/otilde
16#F6/odieresis 16#F7/divide 16#F8/oslash 16#F9/ugrave 16#FA/uacute
16#FB/ucircumflex 16#FC/udieresis 16#FD/yacute 16#FE/thorn 16#FF/ydieresis
] def
127 1 159 { AVec exch/bullet put } for
ANSIPatch aload pop ANSIPatch length 2 idiv{AVec 3 1 roll put}repeat
/DoPatch { dup /CharStrings known
{ setfont
0 1 255 { dup
currentfont
/Encoding get
exch get
currentfont /CharStrings get
exch known
{pop} {currentfont /Encoding get exch /bullet put} ifelse
} for
} {pop} ifelse
} def
/findheaderfont {
AVec 256 array copy
/FHT /|______Helvetica dup RF findfont def
FHT DoPatch
FHT
} def
end %. AltsysDict
%%EndResource
%%EndProlog
%%BeginSetup
AltsysDict begin
_bfh
%%IncludeResource: font Gen_Arial
/f0 /Gen_Arial findfont def
_efh
end %. AltsysDict
%%EndSetup
AltsysDict begin
/onlyk4{false}ndf
/ccmyk{dup 5 -1 roll sub 0 max exch}ndf
/cmyk2gray{
4 -1 roll 0.3 mul 4 -1 roll 0.59 mul 4 -1 roll 0.11 mul
add add add 1 min neg 1 add
}bdf
/setcmykcolor{1 exch sub ccmyk ccmyk ccmyk pop setrgbcolor}ndf
/maxcolor {
max max max
} ndf
/maxspot {
pop
} ndf
/setcmykcoloroverprint{4{dup -1 eq{pop 0}if 4 1 roll}repeat setcmykcolor}ndf
/findcmykcustomcolor{5 packedarray}ndf
/setcustomcolor{exch aload pop pop 4{4 index mul 4 1 roll}repeat setcmykcolor pop}ndf
/setseparationgray{setgray}ndf
/setoverprint{pop}ndf
/currentoverprint false ndf
/cmykbufs2gray{
0 1 2 index length 1 sub
{
4 index 1 index get 0.3 mul
4 index 2 index get 0.59 mul
4 index 3 index get 0.11 mul
4 index 4 index get
add add add cvi 255 min
255 exch sub
2 index 3 1 roll put
}for
4 1 roll pop pop pop
}bdf
/colorimage{
pop pop
[
5 -1 roll/exec cvx
6 -1 roll/exec cvx
7 -1 roll/exec cvx
8 -1 roll/exec cvx
/cmykbufs2gray cvx
]cvx
image
}
%. version 47.1 on Linotronic of Postscript defines colorimage incorrectly (rgb model only)
version cvr 47.1 le
statusdict /product get (Lino) anchorsearch{pop pop true}{pop false}ifelse
and{userdict begin bdf end}{ndf}ifelse
fhnumcolors 1 ne {/yt save def} if
/customcolorimage{
aload pop
(_vc_Registration) eq
{
pop pop pop pop separationimage
}
{
/ik xdf /iy xdf /im xdf /ic xdf
ic im iy ik cmyk2gray /xt xdf
currenttransfer
{dup 1.0 exch sub xt mul add}concatprocs
st
image
}
ifelse
}ndf
fhnumcolors 1 ne {yt restore} if
fhnumcolors 3 ne {/yt save def} if
/customcolorimage{
aload pop
(_vc_Registration) eq
{
pop pop pop pop separationimage
}
{
/ik xdf /iy xdf /im xdf /ic xdf
1.0 dup ic ik add min sub
1.0 dup im ik add min sub
1.0 dup iy ik add min sub
/ic xdf /iy xdf /im xdf
currentcolortransfer
4 1 roll
{dup 1.0 exch sub ic mul add}concatprocs 4 1 roll
{dup 1.0 exch sub iy mul add}concatprocs 4 1 roll
{dup 1.0 exch sub im mul add}concatprocs 4 1 roll
setcolortransfer
{/dummy xdf dummy}concatprocs{dummy}{dummy}true 3 colorimage
}
ifelse
}ndf
fhnumcolors 3 ne {yt restore} if
fhnumcolors 4 ne {/yt save def} if
/customcolorimage{
aload pop
(_vc_Registration) eq
{
pop pop pop pop separationimage
}
{
/ik xdf /iy xdf /im xdf /ic xdf
currentcolortransfer
{1.0 exch sub ik mul ik sub 1 add}concatprocs 4 1 roll
{1.0 exch sub iy mul iy sub 1 add}concatprocs 4 1 roll
{1.0 exch sub im mul im sub 1 add}concatprocs 4 1 roll
{1.0 exch sub ic mul ic sub 1 add}concatprocs 4 1 roll
setcolortransfer
{/dummy xdf dummy}concatprocs{dummy}{dummy}{dummy}
true 4 colorimage
}
ifelse
}ndf
fhnumcolors 4 ne {yt restore} if
/separationimage{image}ndf
/spotascmyk false ndf
/newcmykcustomcolor{6 packedarray}ndf
/inkoverprint false ndf
/setinkoverprint{pop}ndf
/setspotcolor {
spots exch get
dup 4 get (_vc_Registration) eq
{pop 1 exch sub setseparationgray}
{0 5 getinterval exch setcustomcolor}
ifelse
}ndf
/currentcolortransfer{currenttransfer dup dup dup}ndf
/setcolortransfer{st pop pop pop}ndf
/fas{}ndf
/sas{}ndf
/fhsetspreadsize{pop}ndf
/filler{fill}bdf
/F{gsave {filler}fp grestore}bdf
/f{closepath F}bdf
/S{gsave {stroke}fp grestore}bdf
/s{closepath S}bdf
userdict /islevel2
systemdict /languagelevel known dup
{
pop systemdict /languagelevel get 2 ge
} if
put
islevel2 not
{
/currentcmykcolor
{
0 0 0 1 currentgray sub
} ndf
} if
/tc
{
gsave
setcmykcolor currentcmykcolor
grestore
} bind def
/testCMYKColorThrough
{
tc add add add 0 ne
} bind def
/fhiscomposite where not {
userdict /fhiscomposite
islevel2
{
gsave 1 1 1 1 setcmykcolor currentcmykcolor grestore
add add add 4 eq
}
{
1 0 0 0 testCMYKColorThrough
0 1 0 0 testCMYKColorThrough
0 0 1 0 testCMYKColorThrough
0 0 0 1 testCMYKColorThrough
and and and
} ifelse
put
}
{ pop }
ifelse
/bc4 [0 0 0 0] def
/_lfp4 {
1 pop
/yt xdf
/xt xdf
/ang xdf
storerect
/taperfcn xdf
/k2 xdf /y2 xdf /m2 xdf /c2 xdf
/k1 xdf /y1 xdf /m1 xdf /c1 xdf
c1 c2 sub abs
m1 m2 sub abs
y1 y2 sub abs
k1 k2 sub abs
maxcolor
calcgraysteps mul abs round
height abs adjnumsteps
dup 1 lt {pop 1} if
1 sub /numsteps1 xdf
currentflat mark
currentflat clipflatness
/delta top bottom sub numsteps1 1 add div def
/right right left sub def
/botsv top delta sub def
{
{
W
xt yt translate
ang rotate
xt neg yt neg translate
dup setflat
/bottom botsv def
0 1 numsteps1
{
numsteps1 dup 0 eq {pop pop 0.5} {div} ifelse
taperfcn /frac xdf
bc4 0 c2 c1 sub frac mul c1 add put
bc4 1 m2 m1 sub frac mul m1 add put
bc4 2 y2 y1 sub frac mul y1 add put
bc4 3 k2 k1 sub frac mul k1 add put
bc4 vc
1 index setflat
{
mark {newpath left bottom right delta rectfill}stopped
{cleartomark exch 1.3 mul dup setflat exch 2 copy gt{stop}if}
{cleartomark exit}ifelse
}loop
/bottom bottom delta sub def
}for
}
gsave stopped grestore
{exch pop 2 index exch 1.3 mul dup 100 gt{cleartomark setflat stop}if}
{exit}ifelse
}loop
cleartomark setflat
}bdf
/bcs [0 0] def
/_lfs4 {
/yt xdf
/xt xdf
/ang xdf
storerect
/taperfcn xdf
/tint2 xdf
/tint1 xdf
bcs exch 1 exch put
tint1 tint2 sub abs
bcs 1 get maxspot
calcgraysteps mul abs round
height abs adjnumsteps
dup 2 lt {pop 2} if
1 sub /numsteps1 xdf
currentflat mark
currentflat clipflatness
/delta top bottom sub numsteps1 1 add div def
/right right left sub def
/botsv top delta sub def
{
{
W
xt yt translate
ang rotate
xt neg yt neg translate
dup setflat
/bottom botsv def
0 1 numsteps1
{
numsteps1 div taperfcn /frac xdf
bcs 0
1.0 tint2 tint1 sub frac mul tint1 add sub
put bcs vc
1 index setflat
{
mark {newpath left bottom right delta rectfill}stopped
{cleartomark exch 1.3 mul dup setflat exch 2 copy gt{stop}if}
{cleartomark exit}ifelse
}loop
/bottom bottom delta sub def
}for
}
gsave stopped grestore
{exch pop 2 index exch 1.3 mul dup 100 gt{cleartomark setflat stop}if}
{exit}ifelse
}loop
cleartomark setflat
}bdf
/_rfs6 {
/tint2 xdf
/tint1 xdf
bcs exch 1 exch put
/inrad xdf
/radius xdf
/yt xdf
/xt xdf
tint1 tint2 sub abs
bcs 1 get maxspot
calcgraysteps mul abs round
radius inrad sub abs
adjnumsteps
dup 1 lt {pop 1} if
1 sub /numsteps1 xdf
radius inrad sub numsteps1 dup 0 eq {pop} {div} ifelse
2 div /halfstep xdf
currentflat mark
currentflat clipflatness
{
{
dup setflat
W
0 1 numsteps1
{
dup /radindex xdf
numsteps1 dup 0 eq {pop pop 0.5} {div} ifelse
/frac xdf
bcs 0
tint2 tint1 sub frac mul tint1 add
put bcs vc
1 index setflat
{
newpath mark
xt yt radius inrad sub 1 frac sub mul halfstep add inrad add 0 360
{ arc
radindex numsteps1 ne
inrad 0 gt or
{
xt yt
numsteps1 0 eq
{ inrad }
{
radindex 1 add numsteps1 div 1 exch sub
radius inrad sub mul halfstep add inrad add
}ifelse
dup xt add yt moveto
360 0 arcn
} if
fill
}stopped
{cleartomark exch 1.3 mul dup setflat exch 2 copy gt{stop}if}
{cleartomark exit}ifelse
}loop
}for
}
gsave stopped grestore
{exch pop 2 index exch 1.3 mul dup 100 gt{cleartomark setflat stop}if}
{exit}ifelse
}loop
cleartomark setflat
}bdf
/_rfp6 {
1 pop
/k2 xdf /y2 xdf /m2 xdf /c2 xdf
/k1 xdf /y1 xdf /m1 xdf /c1 xdf
/inrad xdf
/radius xdf
/yt xdf
/xt xdf
c1 c2 sub abs
m1 m2 sub abs
y1 y2 sub abs
k1 k2 sub abs
maxcolor
calcgraysteps mul abs round
radius inrad sub abs
adjnumsteps
dup 1 lt {pop 1} if
1 sub /numsteps1 xdf
radius inrad sub numsteps1 dup 0 eq {pop} {div} ifelse
2 div /halfstep xdf
currentflat mark
currentflat clipflatness
{
{
dup setflat
W
0 1 numsteps1
{
dup /radindex xdf
numsteps1 dup 0 eq {pop pop 0.5} {div} ifelse
/frac xdf
bc4 0 c2 c1 sub frac mul c1 add put
bc4 1 m2 m1 sub frac mul m1 add put
bc4 2 y2 y1 sub frac mul y1 add put
bc4 3 k2 k1 sub frac mul k1 add put
bc4 vc
1 index setflat
{
newpath mark
xt yt radius inrad sub 1 frac sub mul halfstep add inrad add 0 360
{ arc
radindex numsteps1 ne
inrad 0 gt or
{
xt yt
numsteps1 0 eq
{ inrad }
{
radindex 1 add numsteps1 div 1 exch sub
radius inrad sub mul halfstep add inrad add
}ifelse
dup xt add yt moveto
360 0 arcn
} if
fill
}stopped
{cleartomark exch 1.3 mul dup setflat exch 2 copy gt{stop}if}
{cleartomark exit}ifelse
}loop
}for
}
gsave stopped grestore
{exch pop 2 index exch 1.3 mul dup 100 gt{cleartomark setflat stop}if}
{exit}ifelse
}loop
cleartomark setflat
}bdf
/lfp4{_lfp4}ndf
/lfs4{_lfs4}ndf
/rfs6{_rfs6}ndf
/rfp6{_rfp6}ndf
/cvc [0 0 0 1] def
/vc{
AltsysDict /cvc 2 index put
aload length dup 4 eq
{pop dup -1 eq{pop setrgbcolor}{setcmykcolor}ifelse}
{6 eq {sethexcolor} {setspotcolor} ifelse }
ifelse
}bdf
0 setseparationgray
/imgr {1692 1584 2484 2196 } def
/bleed 0 def
/clpr {1692 1584 2484 2196 } def
/xs 1 def
/ys 1 def
/botx 0 def
/overlap 0 def
/wdist 18 def
0 2 mul fhsetspreadsize
0 0 ne {/df 0 def /clipflatness 0 def} if
/maxsteps 256 def
/forcemaxsteps false def
/minsteps 0 def
userdict begin /AGDOrigMtx matrix currentmatrix def end
vms
-1697 -1591 translate
/currentpacking defed{false setpacking}if
/spots[
1 0 0 0 (Process Cyan) false newcmykcustomcolor
0 1 0 0 (Process Magenta) false newcmykcustomcolor
0 0 1 0 (Process Yellow) false newcmykcustomcolor
0 0 0 1 (Process Black) false newcmykcustomcolor
]def
/textopf false def
/curtextmtx{}def
/otw .25 def
/msf{dup/curtextmtx xdf makefont setfont}bdf
/makesetfont/msf load def
/curtextheight{.707104 .707104 curtextmtx dtransform
dup mul exch dup mul add sqrt}bdf
/ta2{
tempstr 2 index gsave exec grestore
cwidth cheight rmoveto
4 index eq{5 index 5 index rmoveto}if
2 index 2 index rmoveto
}bdf
/ta{exch systemdict/cshow known
{{/cheight xdf/cwidth xdf tempstr 0 2 index put ta2}exch cshow}
{{tempstr 0 2 index put tempstr stringwidth/cheight xdf/cwidth xdf ta2}forall}
ifelse 6{pop}repeat}bdf
/sts{/textopf currentoverprint def vc setoverprint
/ts{awidthshow}def exec textopf setoverprint}bdf
/stol{/xt currentlinewidth def
setlinewidth vc newpath
/ts{{false charpath stroke}ta}def exec
xt setlinewidth}bdf
/strk{/textopf currentoverprint def vc setoverprint
/ts{{false charpath stroke}ta}def exec
textopf setoverprint
}bdf
n
[] 0 d
3.863708 M
1 w
0 j
0 J
false setoverprint
0 i
false eomode
[0 0 0 1]vc
vms
1713.6334 1593.6434 m
1713.9679 1818.4959 L
0.7215 w
S
n
1901.5887 1593.6434 m
1901.5799 1818.4959 L
S
n
1939.1797 1593.6434 m
1939.4631 1818.1351 L
S
n
1863.9976 1593.6434 m
1864.0575 1818.1351 L
S
n
1826.4066 1593.6434 m
1826.1743 1818.4959 L
S
n
1788.8155 1593.6434 m
1789.0127 1817.7743 L
S
n
1751.2245 1593.6434 m
1751.1295 1818.4959 L
S
n
1714.8406 1818.5103 m
1939.4631 1818.4959 L
S
n
1714.8406 1630.5551 m
1938.7415 1630.5232 L
S
n
1714.8406 1592.9641 m
1939.8239 1592.2792 L
S
n
1714.8406 1668.1461 m
1939.4631 1668.0455 L
S
n
1714.8406 1705.7372 m
1939.1023 1705.5679 L
S
n
1714.8406 1743.3282 m
1939.4631 1743.0903 L
S
n
1714.8406 1780.9193 m
1939.4631 1780.252 L
S
n
2125.9995 1593.1458 m
2125.9907 1817.9983 L
S
n
2163.5905 1593.1458 m
2163.8739 1817.6375 L
S
n
2088.4084 1593.1458 m
2088.4683 1817.6375 L
S
n
2050.8174 1593.1458 m
2050.5851 1817.9983 L
S
n
2013.2263 1593.1458 m
2013.4235 1817.2767 L
S
n
1975.6353 1593.1458 m
1975.5403 1817.9983 L
S
n
vmrs
1939.2514 1818.0127 m
2163.8739 1817.9983 L
0.7215 w
S
n
1939.2514 1630.0575 m
2163.1523 1630.0256 L
S
n
1939.2514 1592.4665 m
2164.2347 1591.7816 L
S
n
1939.2514 1667.6485 m
2163.8739 1667.548 L
S
n
1939.2514 1705.2396 m
2163.5131 1705.0704 L
S
n
1939.2514 1742.8306 m
2163.8739 1742.5928 L
S
n
1939.2514 1780.4217 m
2163.8739 1779.7543 L
S
n
1808.5 1725 m
1847 1725.5 L
1 w
3.863693 M
[4 4 ] 0 d
S
[] 0 d
n
1847.5 1726 m
1847.5 1764 L
[4 4 ] 0 d
S
[] 0 d
n
1923 1646 m
1958 1646 L
[4 4 ] 0 d
S
[] 0 d
n
2143.5 1791 m
2143.5 1758.5 L
[4 4 ] 0 d
S
[] 0 d
n
2039 1645.5 m
2069 1645.5 L
2069 1684 L
2105.5 1683.5 L
2104 1646.5 L
2105 1684.5 L
2105 1723 L
[4 4 ] 0 d
S
[] 0 d
n
1990.5 1763 m
1991.5 1684 L
1915 1684 L
[4 4 ] 0 d
S
[] 0 d
n
1917.5 1797.5 m
1958 1797.5 L
1958 1724.5 L
[4 4 ] 0 d
S
[] 0 d
n
1727 1760 m
1768 1760 L
1768.5 1688 L
1812.5 1688 L
[4 4 ] 0 d
S
[] 0 d
n
1768 1687.5 m
1768 1649.5 L
[4 4 ] 0 d
S
[] 0 d
n
1705.5574 1761.6997 m
1697.5 1761.6997 L
1697.5 1736.5 L
1705.5574 1736.5 L
1705.5574 1761.6997 L
n
q
%%IncludeResource: font Gen_Arial
{
f0 [24 0 0 24 0 0] makesetfont
1697.5 1742.5 m
0 0 32 0 0 (r) ts
}
true
[0 0 0 1]sts
Q
false eomode
1937 1705 m
1901.5 1705.5 L
2 w
[0 0 0 1]vc
false setoverprint
S
n
1826.507 1706.0277 m
1826.5 1705.5 L
1864.5 1706 L
1864.5 1743 L
1939 1743 L
1939 1706 L
1901.5 1705 L
1902 1668.5 L
1976 1667.5 L
1975.5 1630 L
2013.5 1629.5 L
2013.5 1743 L
2164 1742.5 L
4 w
S
n
1713.5 1743.5 m
1751.5 1743.5 L
1750.5 1630.5 L
1789 1630.5 L
1788.5 1668.5 L
1826.5 1667.5 L
1826 1706 L
S
n
vmrs
1991.5 1684 m
1991.5 1648.5 L
3.863693 M
[4 4 ] 0 d
S
[] 0 d
n
vmr
vmr
end
%%Trailer
%%EndDocument
@endspecial 101 1287 a Fu(Figure)25 b(2:)j(The)c(dashed)h(lines)f
(indicate)i(the)d(duals)i(of)f(f)o(ailed)g(edges.)30
b(The)23 b(bold)i(line)f(indicates)i(a)d(left-right)j(path.)p
3878 1332 V 0 1335 3882 4 v 0 1592 a Fs(Pr)l(oof)o(.)46
b Fu(Corollary)28 b(9)e(implies)h(that)g(there)g(is)g(no)f(path)h(in)p
1859 1519 72 4 v 27 w Fr(G)p Fp(\()p Fr(`)p Fp(\))f Fu(that)h(crosses)h
(the)f(strip)g(top)g(to)f(bottom)h(\(otherwise)i(this)0
1705 y(path)g(is)g(part)g(of)g(a)f(component)j(which)e(can)h(not)f(be)f
(contained)k(in)c(a)h Fr(\016)19 b Fp(log)e Fr(n)28 b
Fu(radius)i(ball\).)45 b(By)28 b(F)o(act)g(7)h(this)g(implies)h(a)0
1818 y(left-right)c(path)e(in)g(the)f(strip.)30 b(See)23
b(Figure)h(2.)p 3834 1818 4 62 v 3838 1760 55 4 v 3838
1818 V 3892 1818 4 62 v 141 2006 a(Note)h(that)g(while)g(Theorem)g(3)g
(states)g(that)h Fp(\012\()1637 1940 y Fq(p)p 1713 1940
55 4 v 66 x Fr(n)14 b Fp(log)k Fr(n)p Fp(\))24 b Fu(probes)i(are)f
(necessary)i(to)e(succeed)i(with)d(probability)3832 1970
y Fo(1)p 3832 1985 36 4 v 3832 2037 a(2)3877 2006 y Fu(,)0
2119 y(we)j(sho)n(w)g(that)h(indeed)i(the)o(y)e(suf)n(\002ce)f(to)h
(succeed)i(with)d(probability)k Fp(1)23 b Fq(\000)2433
2083 y Fo(1)p 2429 2098 43 4 v 2429 2150 a Fn(n)2482
2119 y Fu(.)40 b(As)27 b(mentioned,)j(since)f(the)f(algorithm)h(is)0
2232 y(non)d(adapti)n(v)o(e)i(it)e(could)h(be)f(implemented)h(in)f
(parallel.)38 b(The)25 b(actual)j(running)f(time)f(of)g(the)g
(algorithm)i(depends)g(on)e(the)0 2345 y(implementation)g(of)e(the)g
(netw)o(ork.)0 2591 y Ft(The)e(Load)g(After)i(F)n(ailur)n(es)92
b Fu(Naor)23 b(and)g(W)-7 b(ool)23 b(sho)n(w)g(in)h([21)q(])e
(\(Proposition)k Fp(6)p Fr(:)p Fp(8)p Fu(\))e(that)g(the)f(load)h(of)f
(the)g(P)o(aths)g(system)0 2703 y(is)35 b Fp(\002\()244
2668 y Fo(1)p 211 2683 102 4 v 211 2692 a Fz(p)p 269
2692 43 3 v 269 2740 a Fn(n)322 2703 y Fp(\))f Fu(e)n(v)o(en)h(after)h
(f)o(ailures.)64 b(The)34 b(actual)i(load)f(ho)n(we)n(v)o(er)g(depends)
i(upon)f(the)f Fs(str)o(ate)l(gy)i Fu(used)e(when)g(picking)i(a)0
2826 y(quorum.)30 b(A)22 b(tri)n(vial)j(alteration)h(of)d(the)h(proof)h
(of)e(Proposition)j Fp(6)p Fr(:)p Fp(8)e Fu(in)g([21)q(])f(yields)i
(the)e(follo)n(wing:)0 3013 y Ft(Lemma)j(11.)43 b Fs(If)27
b(eac)o(h)g(edg)o(e)g(fails)g(with)g(pr)l(obability)i
Fr(p)i(<)1932 2978 y Fo(1)p 1932 2993 36 4 v 1932 3045
a(2)1977 3013 y Fs(,)26 b(then)i(ther)m(e)f(e)n(xists)g(positive)i
(constants)g Fr(\013)p Fp(\()p Fr(p)p Fp(\))p Fr(;)15
b(\014)5 b Fp(\()p Fr(p)p Fp(\))28 b Fs(suc)o(h)0 3126
y(that)c(in)g(e)o(very)g(strip)g(of)g(width)g Fr(\014)5
b Fp(\()p Fr(p)p Fp(\))15 b(log)j Fr(n)k Fs(ther)m(e)i(e)n(xists)h
Fr(\013)p Fp(\()p Fr(p)p Fp(\))15 b(log)k Fr(n)j Fs(left-right)k(paths)
f(that)f(ar)m(e)g(edg)o(e)g(disjoint.)141 3314 y Fu(The)k(strate)o(gy)i
(of)e(picking)j(a)d(quorum)h(is)f(the)h(follo)n(wing:)40
b(First)29 b(pick)g(at)f Fs(r)o(andom)h Fu(a)f(strip)h(and)g(probe)h
(it.)43 b(Find)28 b(the)0 3427 y(edge)c(disjoint)i(left-right)g(paths)e
(and)g(pick)h(at)e(random)i(one)f(of)f(these)i(paths.)0
3615 y Ft(Cor)n(ollary)h(12.)42 b Fs(If)23 b Fr(p)i(<)810
3579 y Fo(1)p 810 3594 V 810 3646 a(2)878 3615 y Fs(then)f(the)g(load)h
(imposed)f(on)g(the)g(elements)h(by)e(the)h(str)o(ate)l(gy)i(described)
g(abo)o(ve)f(is)e Fp(\002\()3690 3579 y Fo(1)p 3657 3594
102 4 v 3657 3603 a Fz(p)p 3716 3603 43 3 v 48 x Fn(n)3769
3615 y Fp(\))p Fs(.)0 3837 y(Pr)l(oof)o(.)46 b Fu(Gi)n(v)o(en)22
b(a)g(node)h Fr(u)p Fu(,)f(the)h(probability)i(the)e(node)h
Fr(u)d Fu(belongs)k(to)d(the)h(randomly)h(chosen)g(strip)f(is)g
Fp(\002\()3381 3796 y Fo(log)13 b Fn(n)p 3381 3816 146
4 v 3403 3826 a Fz(p)p 3462 3826 43 3 v 48 x Fn(n)3536
3837 y Fp(\))p Fu(.)28 b(Lemma)0 3976 y(11)22 b(implies)g(that)g(gi)n
(v)o(en)g Fr(u)e Fu(is)i(in)f(the)h(strip,)g(the)g(probability)j(it)c
(belongs)i(to)e(the)h(chosen)h(quorum)g(set)e(is)h(at)f(most)g
Fp(\002\()3741 3940 y Fo(1)p 3686 3955 146 4 v 3686 4007
a(log)13 b Fn(n)3842 3976 y Fp(\))p Fu(.)0 4089 y(As)35
b(the)i(tw)o(o)f(e)n(v)o(ents)h(are)f(independent,)43
b(multiply)37 b(the)g(probabilities)j(and)c(deduce)i(that)f(the)f(load)
h(imposed)h(by)e(the)0 4202 y(strate)o(gy)25 b(is)f Fp(\002\()542
4166 y Fo(1)p 509 4181 102 4 v 509 4191 a Fz(p)p 567
4191 43 3 v 567 4238 a Fn(n)620 4202 y Fp(\))f Fu(e)n(v)o(en)h(after)g
(f)o(ailures.)p 3834 4202 4 62 v 3838 4144 55 4 v 3838
4202 V 3892 4202 4 62 v 0 4458 a Ft(3.1.2)92 b(An)22
b(Adapti)o(v)o(e)h(Algorithm)h(f)n(or)f(P)o(aths)0 4632
y Fu(Adapti)n(v)o(e)36 b(algorithms)h(can)e(do)g(better)i(than)e(non)h
(adapti)n(v)o(e)h(ones.)64 b(Hassin)35 b(and)h(Pele)o(g)f(presented)i
(in)e([10)q(])g(a)f(lo)n(wer)0 4745 y(bound)29 b(of)414
4709 y Fn(c)p 366 4724 126 4 v 366 4776 a Fo(1)p Fz(\000)p
Fn(p)525 4745 y Fp(+)23 b Fr(O)s Fp(\(1\))k Fu(on)h(the)g(e)o(xpected)h
(probe)g(comple)o(xity)-6 b(,)30 b(when)d Fr(c)g Fu(is)g(the)h
(cardinality)j(of)c(the)h(smallest)g(quorum)0 4858 y(set.)45
b(The)o(y)29 b(pro)o(v)o(ed)h(that)f(for)g(some)h(quorum)g(systems)g
(this)f(bound)i(is)d(tight.)46 b(W)-7 b(e)28 b(note)i(that)g(it)e(is)h
(pro)o(v)o(ed)h(in)f([21)q(])g(that)0 4971 y Fr(\020)7
b Fp(\()p Fq(S)g Fp(\))31 b Fq(\025)g Fp(max)q Fq(f)537
4935 y Fo(1)p 537 4950 36 4 v 539 5002 a Fn(c)582 4971
y Fr(;)639 4935 y Fn(c)p 633 4950 43 4 v 633 5002 a(n)685
4971 y Fq(g)c Fu(therefore)i(this)e(lo)n(wer)g(bound)h(is)f(at)g(best)g
(linear)h(in)f(the)g(in)l(v)o(erse)i(of)d(the)i(load.)39
b(In)27 b(the)g(follo)n(wing)0 5084 y(we)35 b(present)j(an)e(adapti)n
(v)o(e)i(algorithm)g(for)e(the)h(P)o(aths)f(quorum)h(system)g(which)f
(needs)h(only)g Fp(\002\()3216 5018 y Fq(p)p 3292 5018
55 4 v 66 x Fr(n)p Fp(\))e Fu(probes.)68 b(It)36 b(is)0
5197 y(optimal)27 b(in)f(the)h(sense)g(that)g(e)n(v)o(ery)f(quorum)h
(system)g(with)f(optimal)h(load)g(must)f(ha)n(v)o(e)h
Fr(c)j Fp(=)g(\012\()3068 5131 y Fq(p)p 3144 5131 V 66
x Fr(n)p Fp(\))p Fu(.)36 b(V)-10 b(arious)27 b(adapti)n(v)o(e)0
5310 y(algorithms)33 b(for)d(quorums)i(were)f(analyzed)i(by)d(Hassin)h
(and)g(Pele)o(g)g([10)q(].)49 b(The)30 b(only)i(quorum)f(system)h(with)
e(a)g(better)1927 5589 y(7)p eop end
%%Page: 8 8
TeXDict begin 8 7 bop 0 3 3882 4 v 0 1445 4 1442 v 51
1091 a @beginspecial 0 @llx 0 @lly 469 @urx 228 @ury
3401 @rwi 1275 @rhi @setspecial
%%BeginDocument: adaptive_new.eps
%!PS-Adobe-2.0 EPSF-1.2
%%Title: adaptive_new.FH9
%%Creator: FreeHand 9.0
%%CreationDate: Mon Jan 27 10:44:17 2003
%%BoundingBox: 0 0 469 228
%%FHPathName:E:\homepage\index_files\adaptive_new.FH9
%ALDOriginalFile:E:\homepage\index_files\adaptive_new.FH9
%ALDBoundingBox: -59 -430 553 362
%%FHPageNum:1
%%DocumentSuppliedResources: procset Altsys_header 4 0
%%ColorUsage: Color
%%DocumentProcessColors: Black
%%EndComments
%%BeginFont: Gen_Arial
11 dict begin
/FontName (Gen_Arial) def
/FontType 1 def
/PaintType 0 def
/FontMatrix [0.001 0 0 0.001 0 0] def
/Encoding 256 array 0 1 255 {1 index exch /.notdef put} for def
Encoding 0 /MT0 put Encoding 1 /MT1 put Encoding 2 /MT2 put Encoding 3 /MT3 put Encoding 4 /MT4 put Encoding 5 /MT5 put
Encoding 6 /MT6 put Encoding 7 /MT7 put Encoding 8 /MT8 put Encoding 9 /MT9 put Encoding 10 /MT10 put Encoding 11 /MT11 put
Encoding 12 /MT12 put Encoding 13 /MT13 put Encoding 14 /MT14 put Encoding 15 /MT15 put Encoding 16 /MT16 put Encoding 17 /MT17 put
Encoding 18 /MT18 put Encoding 19 /MT19 put Encoding 20 /MT20 put Encoding 21 /MT21 put Encoding 22 /MT22 put Encoding 23 /MT23 put
Encoding 24 /MT24 put Encoding 25 /MT25 put Encoding 26 /MT26 put Encoding 27 /MT27 put Encoding 28 /MT28 put Encoding 29 /MT29 put
Encoding 30 /MT30 put Encoding 31 /MT31 put Encoding 32 /MT32 put Encoding 33 /MT33 put Encoding 34 /MT34 put Encoding 35 /MT35 put
Encoding 36 /MT36 put Encoding 37 /MT37 put Encoding 38 /MT38 put Encoding 39 /MT39 put Encoding 40 /MT40 put Encoding 41 /MT41 put
Encoding 42 /MT42 put Encoding 43 /MT43 put Encoding 44 /MT44 put Encoding 45 /MT45 put Encoding 46 /MT46 put Encoding 47 /MT47 put
Encoding 48 /MT48 put Encoding 49 /MT49 put Encoding 50 /MT50 put Encoding 51 /MT51 put Encoding 52 /MT52 put Encoding 53 /MT53 put
Encoding 54 /MT54 put Encoding 55 /MT55 put Encoding 56 /MT56 put Encoding 57 /MT57 put Encoding 58 /MT58 put Encoding 59 /MT59 put
Encoding 60 /MT60 put Encoding 61 /MT61 put Encoding 62 /MT62 put Encoding 63 /MT63 put Encoding 64 /MT64 put Encoding 65 /MT65 put
Encoding 66 /MT66 put Encoding 67 /MT67 put Encoding 68 /MT68 put Encoding 69 /MT69 put Encoding 70 /MT70 put Encoding 71 /MT71 put
Encoding 72 /MT72 put Encoding 73 /MT73 put Encoding 74 /MT74 put Encoding 75 /MT75 put Encoding 76 /MT76 put Encoding 77 /MT77 put
Encoding 78 /MT78 put Encoding 79 /MT79 put Encoding 80 /MT80 put Encoding 81 /MT81 put Encoding 82 /MT82 put Encoding 83 /MT83 put
Encoding 84 /MT84 put Encoding 85 /MT85 put Encoding 86 /MT86 put Encoding 87 /MT87 put Encoding 88 /MT88 put Encoding 89 /MT89 put
Encoding 90 /MT90 put Encoding 91 /MT91 put Encoding 92 /MT92 put Encoding 93 /MT93 put Encoding 94 /MT94 put Encoding 95 /MT95 put
Encoding 96 /MT96 put Encoding 97 /MT97 put Encoding 98 /MT98 put Encoding 99 /MT99 put Encoding 100 /MT100 put Encoding 101 /MT101 put
Encoding 102 /MT102 put Encoding 103 /MT103 put Encoding 104 /MT104 put Encoding 105 /MT105 put Encoding 106 /MT106 put Encoding 107 /MT107 put
Encoding 108 /MT108 put Encoding 109 /MT109 put Encoding 110 /MT110 put Encoding 111 /MT111 put Encoding 112 /MT112 put Encoding 113 /MT113 put
Encoding 114 /MT114 put Encoding 115 /MT115 put Encoding 116 /MT116 put Encoding 117 /MT117 put Encoding 118 /MT118 put Encoding 119 /MT119 put
Encoding 120 /MT120 put Encoding 121 /MT121 put Encoding 122 /MT122 put Encoding 123 /MT123 put Encoding 124 /MT124 put Encoding 125 /MT125 put
Encoding 126 /MT126 put Encoding 127 /MT127 put Encoding 128 /MT128 put Encoding 129 /MT129 put Encoding 130 /MT130 put Encoding 131 /MT131 put
Encoding 132 /MT132 put Encoding 133 /MT133 put Encoding 134 /MT134 put Encoding 135 /MT135 put Encoding 136 /MT136 put Encoding 137 /MT137 put
Encoding 138 /MT138 put Encoding 139 /MT139 put Encoding 140 /MT140 put Encoding 141 /MT141 put Encoding 142 /MT142 put Encoding 143 /MT143 put
Encoding 144 /MT144 put Encoding 145 /MT145 put Encoding 146 /MT146 put Encoding 147 /MT147 put Encoding 148 /MT148 put Encoding 149 /MT149 put
Encoding 150 /MT150 put Encoding 151 /MT151 put Encoding 152 /MT152 put Encoding 153 /MT153 put Encoding 154 /MT154 put Encoding 155 /MT155 put
Encoding 156 /MT156 put Encoding 157 /MT157 put Encoding 158 /MT158 put Encoding 159 /MT159 put Encoding 160 /MT160 put Encoding 161 /MT161 put
Encoding 162 /MT162 put Encoding 163 /MT163 put Encoding 164 /MT164 put Encoding 165 /MT165 put Encoding 166 /MT166 put Encoding 167 /MT167 put
Encoding 168 /MT168 put Encoding 169 /MT169 put Encoding 170 /MT170 put Encoding 171 /MT171 put Encoding 172 /MT172 put Encoding 173 /MT173 put
Encoding 174 /MT174 put Encoding 175 /MT175 put Encoding 176 /MT176 put Encoding 177 /MT177 put Encoding 178 /MT178 put Encoding 179 /MT179 put
Encoding 180 /MT180 put Encoding 181 /MT181 put Encoding 182 /MT182 put Encoding 183 /MT183 put Encoding 184 /MT184 put Encoding 185 /MT185 put
Encoding 186 /MT186 put Encoding 187 /MT187 put Encoding 188 /MT188 put Encoding 189 /MT189 put Encoding 190 /MT190 put Encoding 191 /MT191 put
Encoding 192 /MT192 put Encoding 193 /MT193 put Encoding 194 /MT194 put Encoding 195 /MT195 put Encoding 196 /MT196 put Encoding 197 /MT197 put
Encoding 198 /MT198 put Encoding 199 /MT199 put Encoding 200 /MT200 put Encoding 201 /MT201 put Encoding 202 /MT202 put Encoding 203 /MT203 put
Encoding 204 /MT204 put Encoding 205 /MT205 put Encoding 206 /MT206 put Encoding 207 /MT207 put Encoding 208 /MT208 put Encoding 209 /MT209 put
Encoding 210 /MT210 put Encoding 211 /MT211 put Encoding 212 /MT212 put Encoding 213 /MT213 put Encoding 214 /MT214 put Encoding 215 /MT215 put
Encoding 216 /MT216 put Encoding 217 /MT217 put Encoding 218 /MT218 put Encoding 219 /MT219 put Encoding 220 /MT220 put Encoding 221 /MT221 put
Encoding 222 /MT222 put Encoding 223 /MT223 put Encoding 224 /MT224 put Encoding 225 /MT225 put Encoding 226 /MT226 put Encoding 227 /MT227 put
Encoding 228 /MT228 put Encoding 229 /MT229 put Encoding 230 /MT230 put Encoding 231 /MT231 put Encoding 232 /MT232 put Encoding 233 /MT233 put
Encoding 234 /MT234 put Encoding 235 /MT235 put Encoding 236 /MT236 put Encoding 237 /MT237 put Encoding 238 /MT238 put Encoding 239 /MT239 put
Encoding 240 /MT240 put Encoding 241 /MT241 put Encoding 242 /MT242 put Encoding 243 /MT243 put Encoding 244 /MT244 put Encoding 245 /MT245 put
Encoding 246 /MT246 put Encoding 247 /MT247 put Encoding 248 /MT248 put Encoding 249 /MT249 put Encoding 250 /MT250 put Encoding 251 /MT251 put
Encoding 252 /MT252 put Encoding 253 /MT253 put Encoding 254 /MT254 put Encoding 255 /MT255 put /FontBBox {0 -200 1000 1000 } def
currentdict end currentfile eexec
E98D09D760A3C22CF119F9DC699A22C35B529FBC319140A0049F057F42052E3A8D9AE5679F78981811AF51C2768AFEF74C3FB094B830F80CDDE1A446879430C01F07A76D3070FC382366FDE4922A7E2887FC440409174165DC0E5DB934306DC606D3
B7B01A93A226A85F45F9E1CA97A8D4B0AF250F6391EA095F49C543CD6BF92A0085A93936BB2FE277F3FD9C9636479A6EE4483E4C2D2EEC184E757DD2F7374EC2D01FC0266A42B51641F914ED88AED066569E17215A1364E77B23C22D23599BD3E278
E67D2CCF0D66EF88DF7D7DB55382093EC7F106B47184BE74430E6ACB842D3838C1F104EAFDAEAD963C3A690561DAB46A659D0369456325AF3E2D0F461086C3A88E05BEF21C28A20A6D0B7A90FB620D3FA0CA60A2E57AA39CA0D19161612FFF78CEF2
06CF8D0848984EA69274E215D9E28A640601ABD6F4B8A11448634694246CF61B6A2750257171FA51223EDBF645427319786E773D2B2ABDE62FD9F8909B21952A01B170FEAF69620842F988F1B0E2BAE8A2292873354C079C04AA03C9C5926BE331DA
CD25AAAD8279BB446F4010D8AEAFDE35D00038ECF60F5F1CCFC45EC623F95F1115C58C6C50E5DD7C9FB990784000AD59BE1F346013D019B44E510A255027D81C4C97190077CCB0339B29D52771C81AD8E756E2A7D9B0CB2A6462869D6EA161A81E00
ADAB9640BA19AD41D8696634BFACDF92B2DBC694919D4F41D09822381FD03F6C81C8B9D68C99C9EB508C9C666342D79DEA460D7F464CA2B8C2D7A2F90B106054A6BF557D4041E4A979A543395CDC48DBB13D7698C2614406B439812182273397886D
98852855DD5177ED13BC9BA3940F42784089CD7DC3D8331927710231B9E4ECC4E42AB94AF412DA745900229C58293F24FCE4A41FAC95827A85AECC5CDA85FCC8B3CC9729180E8E2B993D171EED98E995EBED9CD7A332233FF1C9D9B1470A7CC021A3
B60D1D05271A4724BF14BD7472EDAFEC89FC3B661BF594FB8BE53C83BBFD50999EA31F21211CE2B6622DAFA6D5ADE8389ED63F1D5D7963E6EC917BC6FEA7BCB3FCCC3E459374790135BE972E8742ECA6E3B846A4660A42F8095D21729CB17F665C25
EC98A6975564DA1DD2EDBBC297D5043DF8419DCF889E6889E1BBFB94E805081C7BBB0DAEF97C3924D2AFA1E5DEDE706E95E5407F72E8C50471ACA8A3167AEB52F2AF661F039F2C3DBACA2D739FBC72E98BDEFC8F2EE9638CF461C13B388D7BE7B43C
DB74545F5DF5A865ACAF9EDFC6DA3B28448B4E6B398E2790EF793B52980DDD84E4D0DFA7642329EF4177D058F30E99637AD5B2B7EE6ABFF4186627196EE21842D2F1225705A7721A0A29A3DEBF40089D30E70A8B3C27152E08F57005BB4ACFE6940A
2A8A5CCF5A592A2D754F149340E3D17636D06C224DE6600F24F2EF2D8DCCD2FCB14D904633B29668B5A8F609CBAD0BB368C7861C141F8F41E58435168E47A7F8C14D8FF10A5758C4B274D5DDF569DC08EBFCFEE7DF5DFA82D354F9A12B25F8509B6A
0BCCE74C539510BCD892E4FCE47E02005BB170E5B471FB513803A07DC243F06E09132A148D1588089F0AA3D24AFE0CAE82BBF35C135858A4FFCF60C973B707A96972FDD806E5FDDFB600DE9E9245943A23E259B1F885308E715C1B4EAA53605DFA26
70A5C10FCA1C2FB19CCFB4FF2FC28880A294D959A0CE1D9507E79C46D3E258AC6522E8C329CD0EE5FD1938905EDA6C1B54C5BC8158EF534E85C3848CE4AD0BF3491053A800989CF9942CD21FB83AAD603793A07A3977C72692FE3DC555F4D847CE7B
282DDEFEC4501561DE725345066AD8569180B25F6FAC57D67BC6F72D72F1A4290DFC5F2865C046AA3B7627869B2A0313F71E177DB4D7CAF943CCF4A65FEA097C476B168019AF8CCBC06905AF08814D5B1A6DAC4CC64D151B1D3DA77B0A58503CDE96
CF1D56DD1D2CC5A9A145D0A843CDCA50342491D2F70A5202198C7B366FD0B3E5FD37B297ED9D8D8721483B31C9489EDB9A030B51F1629D9F10728F21528F52A096A0C2E328A05A1BB80FC189915E0CE863C3E73937F93E3705079F1265C1DE82439B
D278B7C8DF4866527B67DC71949486F0D2C3503067791966DCFA4595BF3A217D52575042999E4D1F915D1ED0FD3BAEF18BC2108B50D9C7ECE8BF10414962A804DAED539A29A599FEF7F2AC3A632207D9ECAC4E624B80E4F5BDFC587B8CF256C8F786
AC97514E4C5BA80E59C5C31D3DD9402508FA9BF1E36F83B6E76A3875E78AB56999DC1060CA90A6B2B251DD9040A3B9909431453FE05EE61DC08FFBA8919951A73C43A42EBF75CED7F038217281E0869E7071B651712DBED65565307BCDD7B9854F79
A9ADAE32953A84538ED216CECDFA9B525C3BA182014CF26BB99DC71D63BBC1A897EFB4B1AB9786FAB274DC7576E213DBAEB3D57BF63107F0F58243A265213DFA888A1CC6799D2B0C32C7C26AD166951F2A9A85FB276B2F7F01FECE25548E006D0937
FA6A5693BEDD07132337AE6D71DC67BA39D33B636BE8EABB38F5AC761AB6A0F0D54B0383E7065FB50E28631DAAF68209A0A0BBA945627C82C04CC18B1B49F6F2606E46BA86E0B8B96D8F944C2BC5907053B942A7F72D03E267F4B286C618EFE7E6DA
53823342F344F7312E85F793D4D7195BB395EC0B935DA525D874207EBA227E421CF610591560CB9C1C71174AF879E79C38F3D50E8CA7D61DEFF46C8AB67AEA24DC9109F78D7E0FA31BA5739FE3653C2BE94EFBDAA4E4158F037D432CCB95AC279C47
1A6227A62CBFC7048C7ACB78E7A4712D6E7DB29985A7BA957140632B718CD583895A75E0D0139616F86853A19161D8C553D667AF2059629237EECE2EAB0D374A4F4715B2975C090C7C98F1192EDC8E2F96EB664D1572FB936E9737345DDA82B4F0F8
9102CB5E9294DC92A321B63B1388D1BB1CC68E55D1494ABFD910CFA7EDD241B1574832549329639EAC0FB97010A5E23244A6CED091252BC468D6807219775E5FAD91BD58996EE945582BE0473F6C0C85476095CAAD9986BB21AA0C4BB753046836F5
4284D6DB463A46B7139FA6E14AF2938B61349439FA1548AC9FB8410A3DE2AEA63DCC97C83D63F8B23394958996AC7B51202B459C05AA0E0C591DDC6AB256B0BD9A4BFFA1D05E33A980F8690F0E67BEAC24EE8DFBF540AD1CEBB60C9DD75E914F1FC2
6DBFF2874A42F7FFB75BB5BB772AC0B1230A4865CBE2F129E0875B28C51EFB50DF231A481089978E9CEB06991FE06E1EDDC578F5E65B24B6C6DBCA5FD93BF8A296FFA024D08E50B55597E4846C1094F0510DB73BD0B047B05C3E7E65F0BE6327729E
C724A4BBE6F051A147BC356F02D37A1C3EBBDB16D3F48A3C87DFE6275E4DA189C35C2FE38508EA262060412360EA0587CD51678243D2C3E6301E2A4D36F87076CF8975A79633763BBA8206DBAA13EF3A53701D00FE9D0B813E1826F2742806C9463E
F4A93F1B5800A86A8EB1816483C58F2F27B70623E9C122F243C1F559D59F1E84903FD9267E66ED1D97CDE46965A32235392A280E9657333206E35388F749D54DA8FCEB2D4AEAB07D6847A14EF2B4D69DAF8E51D19A0DEDEF4FAE490327DF3A96F8A9
6DF172F1EC716D31671F78C988DE62A97ECEEDDC306F975D87EA8A758F2D81A09C96472574CACC70F1E92973C3356FD5E5468679113C757004E2B827FB83BD7076C7386F50A336E31083828456F099078346BE95CF6D2F2B8E91C45A34EF67C5BEF1
BA8D4A95784DB36FD5615B0FB42DB4EBDB6D3C25D284CECF5FF85D417FD76C136AAC433AAB1BC6D034D72E5C9A63FEFA199406E2D79C2ABBEDD4880BD35DC8A1DAC89757B3E0D9561099231236EFA0187802017E2A6BCE438D42FB321610FC854C08
F70A1822D7113919D168DC4C69E10C38431D1A9647A0CE94CCF0A011338CAC0459ABB741496754AC59E2115D7B267952317AB664649D2CC8CB396784B5C0327C40293A18A3E759897009691EDE49F656D94F36A3192C0C44FF9C11D36FE360E6D3AA
CF095FE69B8D77E601C53D3C074EECD1382A4E4737F4D049726D8CC60470745A123B41018F1268429BB5021989BD85E8A1A2DECE6F35DC0246C1FF7FD4AF754E57D1BA7786DA1B030A9046CCCE2578D664659632959D64725E379DC2BF49D41A5D0F
942BD2C7910BEEACB38EAD6FCF7269592557CB96255261B875EBF58FCDF602F26C2ADDC8BD6D3D5276F57E589DF6E63939D420DA77F8D84C76CA0410A0ED52A7AA63ECB8A1449EC7DE0096B0336C43D8C28B243B40EF3C1CAF9CF2D8668D7D6FB632
B3A7D6C38A0739E35FC0F5D53D5DE2D0E8C558172CC9ECDA68B50ED528945DB64379D1AF20501E426CF00D7A73911844D848FCF0E9C2E0C44608E989183599EFD28F61196BE0190E9CA504027D0FF3FA289A204B0141F72F23FAFC739DB9AE2D5D8A
6CF9EA020235515C763E6E24D2447DE009E1FBBCE46ED405D1BCE2617A62412DC283BE12BF453506BECA49DE590954D1243EEC1B4FBE3B29539E211E825B1CBC55B0DEAED0BF8A2729A01E1FBD66EC692E6636184653054867182F962BFF782EF836
1AB643A165B9E0BFCF6080D1460B3D7734BDE995C9BED4ED6DA4C0A9F121A8F74E67A2339FACBE6437C14894E8AC41958DAAFD6564457CE00E3A5A483E6923656E924A9A968002A414D13B0553F81E69C74F7DD0F6A587D9864620B6ECEA6318576A
6F2FE12F13C6A61D12F1651B03236C930A19B82E14EAFC5B1427555E72B2D70C72D55174BAC3C53C95E57BDD1602E7AB45829B3185A7AEE3AD4693B5B860C991E7200992E5572396194BF7F5A6DEC6D5D392D5657FB055269D4B8AFD7EE09A728E1C
975EBFAA1F8430F7C7563E306B051E19AB8AABF3F671D911259B311AEAE10E92BAB04B8DA33825A6CBC1CC37ADB6A018BFFDB8B83A5B3A40C92FBB5DC2B1BB4FCB35E1A971AEA49780F0BA35EA89D5C944D5CE3531E6A64E8AA5A9F297FE3FB2ABD9
D46C309EC85EB4131305F4E7165AC7A6D959435AE8A5A2894DE43BE3FCFE121CEA7DE5AF008C47ECB065603A8806B898734FF7B40030F11101FA635505EA38D1FD43D2DA887FF63B6BBD9B1E8C0528C007AFFF2E8ADC843443073C0DA0B534783F8B
30B43DA4FF0962C22F8C0CB7CC344DBBE90A78F6B4DD2A2B49E3E433C03BE35EFC8091B5E24F43A7B8EB4ECB28792834FEDEEA5D10E7BF8AA38F1A31AE7E23955295DE2B68728CEC30F2D2E3832E272BBFA74C3C1890726C7A2AB38AF3B41AFFB66D
B18390327086E2501E6D25CFC99DCAE90C7A634F67FCD9641C78871206763A6AE294AC87735C4F64B26EFF26D6D89EC06DD890E97BB8D4A443B9B97401B982FA16E59C55091C224C5AF14CEFCBD99994642A73EC6D1935B7F589810BF700EA64D3AB
5318BDDD83DAD8F20A89703DE94A47991E68C4D7311AE781C576A799CD88744E4672C8751AF7B550C9549096532635B98C501821876BFFFD1C207DE96028F0DAEDCAD112710A2FC238CE7E0F2389EFDCA6A6F19998AAD4DC86B73EBA2F8FD4EB96DE
1F657E2E3312A22693F248F93C498ABE5D642809EA4FD2983D0435C0041926F6438FC049940E426FD3348DD5728FBC51758ECCAA229E59F5C9BCDDB060E922E2FBA362903BD209AE1B917F0A24ACE1C03326E097BB25DCACD908440785546D6FF99D
9491FCF5F6861F7EA3D438FA92E6DD82E7EFD9BA5DD3472513EE8AAE5324EC2C7C24D4CCEC1D6AB7CE620F5BA97A833A1774EC4C5AB2A9F76F7B898778AEFF90C23EDCE6E0A38E42C10A4C41EF3F462F0A3D139E233E6EAED42B2CC7BE30C4709B12
F6AC4375C48A0F7FFA8E1813BCE3F8B8FC2D3835321314F95A46937A07BC7566FB964CAA84A4FF8EDC961C8B5FD89289E99F075E7B4A552BC07D3C98C2DB412DBA2030EB05C4A163C252118790DDB9F44AAD8DEB84DC164FF7FD770E67054E584AB4
C0584CC53BB640571D3DEE0305FC9C35460A61461A47BBEB54CE5D340FEB651DF27DD59C20D63E209ED1766740DB86E3E666179CEFBE8EEA9D0A58E781C7A9926728BEB90E81FDB0EB0A29CC7F9F34F2CE153F017F4BD3F619A8806DFD19CA68EF57
63E7434B8CD96857805825873C22E35A5F0F81B80C9D205CAFFEF92A3ED2B809BB0E21B60A810847B692068EBA1054F8BEF36FA12817B722AA99D3AFEB926D068F556D6814D48D8485644A0851BDCF22294E4A4EA1EF2A742C6E7F3C0B5E2FA4E0FC
E76B25019711CA322D3D29C8FBE4CA5ADFC9BDA8961097A3B8E074C48BD7B7A49F7E60046529AF512A1660FAE70559021297F1A6CCFF82A518E81A60BD28E7F0393FDDC919655942A9DBC802B6BBCB68C2A48BB66559BF01ECA370EE6C22759D5D3C
36A07364EE9B09D9740B25B9574F25FBEBA5932674A698B06DC9F01CFB4B5A09FEED558E58B7E0428190079F21D690989027AB9043E28F1F55F3C888FF35791CA25707DFEC9740CCA239E41E9DE2A804BFE3E60DE917F19355FAC1204265F8383842
DFB580D3A771CAE09CF69BDB40D8A00B18D07E28B2289251AD439259C8A40E3253F2D481495C090533C039A426D9DDD8662BBE85524205DE64276F7ADF76A6B90ABC550C01BA9794FF0578EBDE55C905E8DB24A7377A5FE6C81655CA4AEADBC2AC00
F3588D5A85FDB0ACE6C224B8C6FBB660B2667C07644A15B02AC8213BF7A58BF7734D45F530DC182B2E7DC0D833E51014E69C089D268442B7E6BF6EFCB141185F2617FECAF06B97B279C34CB73E154A092E4197C846C2B904EAFFE06744A6F2D97BFD
4E200E93DA4BF5AF3C39A8F03C3115FC70FAEE0E78DE5D08B4D1E010ABC316E02670937BC1BB3E757D1F92CE810769EA132C8452959D5B786E30183410F18E87E5557591A22EBFC411DED7FF4F8757E7F7316248BC3899EE193B4AEBB76D3733666C
B038303EC1596066B59C9DF660F16066FB4E2E2AE4330EE6F27490996A7F3B2706CBCD85198C498CB4FE622376CC7E8CAD77817FFFBB30EF239E316E3D315151832BD5A48B6926CEA652EF1AB68C5137A439CD773E5FE522BCE7564429E4F4E3740C
51E73027FB47DCBBDC213F27E172CBD69DEE143AE6275F8B303A038579AFC3266A10FED5AF80C2F88BE0E10FAC7C143D3D5D3BBEB749A800248AEB49B0D986C6E9EA5900E84F2FF0A9EC997D6142526BBB1CCAD9221F36A82A5F9825DA31029B883B
1C29DCC6893D700754A9763ED63E565FD5D68C89247D997C8C1587B9B59B339C4719CCCA9574C393A4F1EB85CD4791E7BFABE70B1D9845F528892171FC4797EE2BE915F765BCAF1EDB65FD2B7C4E1A35C2F6A50AC7985755D10C3C068351A4E6E946
018CC1CB6598A5A2257ABDE5AA4E42134FE691338390B44C3823682B207685E548020F1B8F324DBE4B8531A46ADC864D16A4C1E5525C3280628796129A34DF6DE02BBA932ECC7562356C38C66FB45DBB1A45905D5D1A10BA6C48143C86C29B83769F
6125050532563E129EE23B759465AC78AB1F802CA2376C8455D5FD1C0AC5835F098E90307AC925134628EC9F601795B1E8CBDD7DAC98BCC0F59C08479BD590B225F1FABBFDA3DC295F8AC8BEEDD37C6E8290797B6DCFA1D1D0B9C0B7719427F949FF
CFA845B0AD75482B6849335BD54379B520F875B2DC66F63A8B9B79F7E00AF58474C037E2C93FF402CC8DC79E955333EB27A081E7F893CD3964A232C142021D40705D5767A87053F12883657C25A7C8A24618CD668971A0DB800BFC2A7B0971D7BACD
7B1CAC6950EFFD55BCD019A4FEEE7899C7B4D63B3E05A2FF66C311EAF0599E5526541848AEF50D915DCAEFEDEFDDE15070FBDCBC23B0F98B75B144A315A60FE78A03BBC23EA33C4A304ABCA885595201A77942E254B747DC323F4A032A1895F77BE4
84610AE326097064A3B7792843FAEAD56AE526B30692E97A42EC99B0C3F93E8910734C32EB4D7823FD760A4DA7E6EA76D91F4268161B7B47528F71F330C82A361D1ED77458E5F67748D5DD54F326CE541CFAE5B17E9D7B867477D92163EFA4944C09
B4037189A2307D9A0CC9D78E02AB581649BF0CA4592D48E1607B851CE215FAB95A190BF220AE76517349AFBA879979E9DFB9E5E3FCEC5454E94FF3E9F7A09328B299ADF64CD897CA32B8647C2CF6CE9D323CC28EE10BE6610B08025D0769C98D7EF0
F1A9F52CA02C5DCD1F79552A895749F3339CF26020C3AAF5F66D4CA943EA4B4E18B78743E94F17AAEF29B1E8469129FF5DE2A957812C4BD0DD2B0FC50545B0E85CA0301DBBB14F785E0AD66A1BF55B8EEBA5D86570DC7080345EE0EC1241EAAC4CAD
991C4DA475E08AAD24A176D0013F41EF1AA51679508D5D790ED53825C3909C43884847812BE5DCBAE053C83451996EB44FDAB5BE4E26F27565EF2D8812D28539970CDF971DE48B9D165ABBDEA360AC1A1B9625501EB08AD83B574000E8202BD0F10A
5B447247C75E4EB2BA50102AAE6D542EABB5B20577874D8F55717A7F24AF9ADF66C21DB3A62F3CC6124D6A7F0D5F63ED807610F3FB01AB661FA78760EBFC674CCA9A4190F6EAEBF1681AC38F764585D7B63CCAA099F31FF7BBE44E26068E5C065A5C
C3DB19816444E8FBC621C79B00023810D800B55FB87FABA1CE02628DDED7165FD06EB84A5FA7489DBF8A9459F59BD206697C0D80B39DA4D6884B131741ED6AF9346CB0EF98C67463BFA01C2DC32EFAE8839D90FD929B875B9B3EA80BE18F3F292751
DCEFD959C0E381EBC0AFDEB107AF0E5DA7C28EDAD872DD00A991A3013C7346104AA6D014580CC6AE3F0688B1B7D3AF6A5969BD886BD169F97E51DB9220D3A3C8A039BDF891AA9676EC45F651719D40157032231C869E09BD3327B5C9950400325791
116CE38EDB84001301DECD5688D0F20F9BA018660CF03ECC1809219AE23635D44F7C224CDD7D1D84503E1CF9E958EA668C12AA5C5F5B164549CC6D8F33E002AB8DCA970603171DADC5563B0D4692E36A627B7F9713DD1C23562E959083FBB3763AAE
3A6A9B5725233B146A13D23A2723441C626F674405B68273B6F92E8122B56A0624AED69A064C163DB574BD8D9B853D4B2836CC0017161CC09C29CC5D5E81638A910E0B0B08E03A369A2BD97CCF4C92925FD2773DC236F92699E08704E980D947D46C
F6E12FB2C68DEE343E43AB650852086226944BA7C64069DCE959696C5C9AD33CA9723DDB4E709EC62F9FAC2C76F5F16881ADB0725E70FD24E8F74187248D7A209D1C7938379AFF14D4D8724E67F84B5656B3EA8E5A7B831255A479F042EC62340C1A
3144CAA1C4F19CBE7A66329C213D451E18A29E89D5255D5BBCF4A538D80E0BEA16FCE03D2F79D939DE3A2E0B61F8FCC44F072F672B1890143CF52E0915A9B400902F9C823CBC7D626E4871A23F1E16047DFBEC1EDB8D84788538D053AD92E8031E10
076A84AB9AD5642C8EFB7EA23D3456816273557479F004525DCA5602B2793AD675B30ECC2CA921FBA2C77DB6E66AF3D821517EFF0A645381BD1EA48DBC6B9459D25E7E883A14DB1DF5A9859C25917E6590D9AC0A8D4FE1987D70F5F6FBE69B2E04B0
68E041402CB6571DDBF6C82525E4178AC96F350A5932A83706CBBCDA9525DDCC083560E487D602611C5E4B8F61779A61DA8AFFE64BE55E3B8332A57021D96A9FF1D2FBCEE85A0C7AEF2E808C7BA49EAB108EC7B5528E1CBC5FE21A63B6749349FB8B
217659EEDE0C55827383642EDD2C31642DBFA612AB2D66F66956ACB667389428D9D389DFF7915D34EB540EDC78E65D1DAE61EF6653C6A4DA98469CD7B2E17740038BD81EEB581EA9632C02E3ADE8EF0D836AF8A157A8F4C44162E2FA2699DB9560E5
A88893D062A77848D37338E74A7860488CF0AB80B1D9B43BF2323F552317A4F060BE1B6EB11202BF2F578E32CD4B7E2CB856B9DAF592A769F676E5637EB82B4B6D5F3B8BA7BF85845849F09B079E09B8D1C5285CD82F44E2E9E99DB4D0E9FA938115
77FA2A336E291A0AE53506F8B3D56A21398FCFD9A24A015C2651EC7A3E17B983189F23335F0F128A2CD57B3BB61602F960CBE2DD72D2CE3FA662D9E23C896625ECC7FF846D7B50B705465943C7666222CF584C53F946C90A2EA7BFF796562D2150EB
3B1067F90325A1A7A066CCD681B5BB684D634CF180F47A0A27DEA8B47ABFC1A2394561E548F13F52E0711F02AE6616075CD6AA1F733C01B761BD12EE136DC6B6889F09AB4F82EDA7E5D330B26397090298D52FB1924F306A1889DFA820989B802A9C
3D15C3BDC44DCB4FD5A14ACB90A947C080BC24CF0704683AEB42F9AD8C2726F86E361D88A363484A79CC9AD3AB8669A6912131DD370E21AF95EF7C0A8CDF176D34C20C6CFEC8326457A0C9FD55B80AFF3C8D5AD8C1D77EBF50EEE85317CB6D81A34E
0B6636188E9E522FBC28DA96447F7F93CEFB1ABF4911F6B555EDC52014EFDBDFED9A0D1D47F30358E68A3B8EA7C4A8BB4AFF35399EBD450FF299084E48185DDE26B501A316A3B23B4CF7CB88AC036CA6009492C334E9D0D67EB05A5516733CF92F31
1F7F19904C20415EE9BF8CB7C8E0E3AE9924A3266171522C3CE65869FFC07B0AD2C3841014521B8C2E8CA4DA22B32FE021F75B8AE64D4AEECB9C43BEAD7C22549CEA7C6D32BBBDD356047FDD4BD7AB13C606C3EA1DD6A0C8E1B28BF0D2E85E6E606D
E74594D6EFC9AAC9250CC3A64E6468946DA78F9C7E1B6F4765EDD46D064983FE8424E3677627CF2F1F0BB56EAA5B828B49975F11776E4FAEDEAB7ED91A26AFA542C294E11300B358B1549567CD3BF779B81A6E11D02BF40B33F09D66C2521F9AB5BB
FA9DF74A3C5110FFC03DCD42FBB3E875DE44ABD5A33E9F61786DCEF5A798CA54E83CE5C64B7A397FDD411311D17A5F5AE9710212795B3894252DE391EE65D6F28709BCD7E77161E29F7F57A14C9896C451BFF6ACF9CA130999457B8168B1C9984989
A81AF32D9B0574F63F6042288E647803C9CBE25542365EC4CADAD2A495DEE1AEF93BF11F03BC665E74FACFF26B622435D4243AE53A7D864F2C9EC76B7B51B07F49ADC6F32C77D77DAA5358FF27D10AA16703E15239698C234E014D10E08914861EE1
9C4F0B7B6076CA4A4D13E17708A707FEF70321D29935C4AB38E189F05486F457B5AEBA634A65784907BC12170EDCE94DA57FD4860F4BC669407463C6D0666C3D24E17247C738D43FAA18CC87635AB07303DD83B39B911AB942DBB08A06F6A0FF7A5F
1DE655DC887AF3D9F7D6819FFC12BB8F2B13F208BCC17BD39C5616DE12AF4388B8BB5F5311D2A3D645AE6FEE9D8053593B01653F026A185504C3CBEBFDC963AFCBD90A1DD2BA61FA4D5E4A384094A158FDEB63F958AA8D8CA3F685BD83D0368384CB
3F0FC1B0B22732C4A9A933F173785884D44C93A0CB9CE7518515CA49700419DB52C3148384354E6966BB1DB680E666108E4631E4BDA6CA8E1E003B02B9970DD7FBE452EDAFEDBD3D683100A79588B7D6D04BFF75FD6A5BCC6AEC06A251FD36F9E58B
B5CEAF3A8DA0AEED24225D71EDA4229091C393E271BE867C86989892ADBCB499DCCA87D9A6F120FADD93FD11CECB555B3BDF6CF5C265F9E4C720E462A75B1AA79F68117A3EABF0135DC2A2D38D0112114E030E43A091E31494D41892611CB42DB787
602739CEB965B859ECB0BE676FFA39042C61E38720E5A7B75CF7854CEEF853AAA6563CC8AD1DEE5F4942344AC6BC012FF9F21930F39CFF8D324A5EE20B9B9BC57A2B9B10BA40EE9B48321A5C231850ECB7DEBBEA8B245E215D1A74D849E0A4F7EFDD
C365ABF684DC0B4CBD403B4F0EE27D33D6BB982AB520C8E3B16B4162421A4FD0FE6AF0DE54C59A98A072FC9D03DE51C4A4336FE9F157827CFC1E8DA934451F04D79E32BD3C8B6006F1BDCBB25E69FD6FA41EFAD12BCCDDB1E7A6A21E4C5B66FC6704
FDD839A1E7A8AA97811F6000C0F798F19EF2E2193FC22D7A9E25983103415767592F587593C8455A7D1C2CFCA5D0AF11EAEB7CD63176D47B9B53FAC5E0215E86E92D4D82F06448B59E67A2EDD033FA0A738D32B8D3B8F3DE67519DA6431E6ABDA86F
C320BD84328015F2B2E8609862A50112384CCE75098D793239099C37BCD11BCFB8BA722698B90CE796C32AA233FDB7FC26D03AA84D4EF8C98DB72C8D08BFEA8A6C6BFFA4FA3258EABAF678AA3183BA6DC887A62AB6949D684AA58110272F2EB81C34
40A87FD21CB74D20669BE08B671FF35E31BDED58F03973BD07AA22783B7127785F7C9C7697F7123274611E189FE37377553E1C3B82B7A591C271699D18929CECA438684ED96EA37792C3D67F95FC6BA62DB7CAAF77F670F602215CEC9308BDB011F8
9F107159CB02FCC3DAD745784D1CA0D8DF3E020BA03F680C53C673A7EC3277AF0AF1A4008268B283109BE94A3BBF8DBE30303BDD817EDFC807095274CF5B6BA21B47A2C431ED3D6F78DA1283C8DC54B509840C3ABAD3F1CDCC7FEF0DE399A7B09DB3
210E5589F463D3EBF615C31B7298C66B66FFD0B65D5A4CD7E136407852A96F32EFE9EDF8977B3027A9F6D682EBEE587F14360AC4B888B122558CC1C62977D0386EE667E7D1062B90B487EF0E710291461427FA3F9BDC7A9FE0AE549177907F40FE77
A0ACBD3F67F8B017CCC8AF4F5C7A144FCCA8770FFA6C2DC1D3F28D1C44E7C6542E3AD29E02307966E5B38E1353C02B9EAD3A25CA7DC6CD443C579F23546A608119336CD7A36E52DE1052C267CE6604CF269233AE9086B6A98080A3F516D578BE65EE
FC89B2DED5D2A498BA6DC69846885B589038A06F808A12B5D6C7F156BADF6BCC93D1AC9E34F7F491C69B2E4463B530CDF248851EA86752947243E1FF7C7B3DB200E617EC131C437CB3856E487FF169E9F00B2791B4DE39BE8C4FEC25AF18A96E78E9
5F2D645FDA4D40A1833DD2FDFEAA0CC7AC8FCEE4623E48DA1F0F0523008C56E1DDC919F72FF504823D7F4BE7EA63B81C4EA0BE4E5B09A4071D55EE347C82F80E45367608CEF8D83AD0D883325AE6386DF55D2EBD9D34AF2285CAAA896C85D213E6F1
769CAB46C220B48D4F16F1B5E962BBCE9CDDF8DB0E214E4E5545FF91A27912763EA6B20794BDC08D45E6201DBCC120293D7EA1C27A43D5B2EA7EBFF29863827A4CAF663E3EBCB2DC3CFC32804E1F201A85E1C492DBD8F61A4C4437B9E46F857CE952
95B3979791D24CC9A91D57E68C1C830FD3370C522E7A1E17E0A520E1D7E950B12CB5684D4EA72980923977E9F5265583191C3C9B6923BA328F60BD14F6E4EAB800A56FDDED5E27A941E7A8023E07735AAA7F244A9396B1BBC41963C0D80D76417EAA
D265B3721C9E8BE4FBE50BE1DF92DCF885A3D34D5019C88E6252EE0010BC8D975D93DA393E2B0D6A7EBA595E3CF511E84967A4CEC6FC5292A95BFC825DF80EEA7BF626ED14F1C69CACFF973728334EE6EC07AEBE14F769DEA101065207D9B311D93E
DAEBBB495A8CF21896DD2074DF4EEAC3CF934AA0F5DC04398B49B43E619A91A3275285DAF560741AF088CB5313AA026DC91BFAFC0889E74812406D691B856A5E9EF3E2FD22292EAC1AF52711A359C7A89D8E9E0334F3739A40E7C7529964F5BDD69A
0132B40171C8749BE01DE05B2F9DBCAEA8108A2649D2BFD3CA83FC2CEE53FA3FB2D7B9EFA78CFAA252881B8572D955711DE100AC27AF0877CD2C1C89A04CBEFC72B40099C97B1D67F4E253D866082E9A5B34F6998F97E2FDCAC2756E95C19E2497C5
3ABC56A2BF592D239EF7C0B7A1F80125824DF4573E84C68DB8FA330BC30193D4103C6307302A802702A1264D9C62352A2CF2DB081C005F9BEDC5AF0009B4091C585B295CBAA62DDB4E38D9D7125A0967428AD85E40B32B0C0CCADB597E64906C25B6
4B8B73B617DC7305282FCF878CC5B53D70F0DEE9ED0C93F93EE7EC897D3DCD27FD0EEFFF40045F62304796A853466C71E506B061027F1672E1AA768D18832234AA55C1E443C06CF914E676DFD9E9D5F84C5849EB44BB1F88ABC9210C3FC52FF084D4
2AEBA54FE4AC0756FFCF0E1E040BF19E8C46B6BBB00F1E11A45C259B582C5C5BA989A4837C66BBE7604C9580910F67422CEE3BA0F7DCFD65CE890B74191ADA59AD0EC1AB9BC6D70CA3C33F00CDAEC7162F78E710AB4D160B857AFF1F4AA3253B8A3F
6940D5EB2D8DF2C3F2C0BB9742272ACC5DAD8AA300456CB2661C9A73386343E254C2FAC4B6DB8C0BB9D31B6213024CD922F98F5F3CD95FC390BA8E00E90BA2B0BF5ADDE6F92993FEB38A0C012DCDF9719F417C42752609F75F08304F6523C39C8D19
20CDF5996A9DA6A3738837E08CCA59CF3578F4AEAADF5C4BE38D554239A943E3843BDBECDF672A00A958F602AA5BD3425FDE65882192FD08BA5617B7C3DCC1D7BDCD63FA8EFB8ED2131BE3663C9DA39EFC38915DE375C859E622F2111098DE3757CA
51DE48272FBF943BCE16EB04FE1CCD1556AAA3ED849F039514189A2ADAF2F4FC7FCD6CE55AE514DFB0F5AB7DD1ED0B843FB3B07F1DF46C428EE08135D841BCC0E8E2290E265C8A8833130566ECEEB66FCEFB99A969F922928A5D66C62C51B30AEC29
D6B2DA777926A0E48799E84FA51C8F05E48274386D65B66315028E785D24E1986B77DAAB2080FF63E35D0531C6B4801197B62076BEA04C467AAA1D5B5670952E009DA4ACA917EB9F9DF3664EEB9E65978223E500F40D0BDAF7A4944FC0D4E161E5EA
44EDFC22649E1D8F9A9989D0918311F0A00610ADADEA56C327E76F8D6EF3238FCA7070473DED607FEAC3E93844FB9A86F0F5B0DC9037811451825E6F4BBDF999B82C192447AB81C6C7866504F01E61919531C36E19F49C5C5C05D4880825A4694EBE
5A83A79FE04E052B6D2ED57DC21FCA3FF20384B475D5D992F521B98472C6F57AD272D9EEB23E2AAAC71B6FF2BCEE61A5E76CD87670E707C0CB4321864E9BFE1BE6531C6C470456D93C3FF55482C9B72F62A8484A3DB66949060AF110CCF910A75A1A
BE1380AE1AC4B58312720A6C915E75FB68068FB32FCFF1028DDD4BA62142E6A262A6D1B85C875F1B8647700496E8A1C27AFBE68A568400D6DAD7402048124719A75D322F118857F9A0AF1508B49CF9628F0C71C6938018951ACC249491D2E47104B2
80D72C36B7DCB5F0D5ED2E25D13BF3B958CEFDBFD028BF4731DD87C8A2837015723771735A2B4E6DFF4A98B678D036AD780CF3344F18312096DBD57538C6299EA830FCC0B76DCA2AE3686F7D7AFA5D89D726B42AE0982E1697013123260E8984206E
2A809B6A7718D2A874855A71BB6FAA18163E248F87A9D62199529A507F66FB6CAE36441E3E7456D0658654DD64B3669D0C33E8D051EAFBB90CDF87A16E4F9AA33CAC19173A96ED9335D8A5047572C17BADB9100937CBFC138C3A0F2EAB77EEA79CAB
CEAAA0D162B735B16B0A72B52D57227892EE10FC16C9D6361DC918ACE41DB514E15A1FB0AAB41292691DBA3D105FFA4955427005F69710100B0D30DF02518DC3A324363F45F29368D8AEE2D31AED369B1530D533FB88B85C770F193BE2E0DBA706E8
248DB8AA9CEB0136CE4F61708F22AADE7ED0974F0674315855B92FBA9A8AE10C7C7AA0B75A6D767A3C5EEB2D8C0C00D6886C2AE2359AD25A67D91EC6D5B05686A2EE2ABF4664895D22080DE087DCED250FA05CA37E7D0A6F00BD65B922D307717339
9080822E3B92815E8BB114F2B296937AFCC3C1959747F4278288F740AA97C11366C6F413DBFE1880B27813B7EF00CF1C58DBBEB16E92C4DF86790843A153A3BFF0D814E335D0DDBC0977BE98DC2E85472C5D482DB5AD43DDA2D6104E100ADCA5B1BD
E3165373C59454910F79371106D05D593814AF6478822CCA4FDF7D76C9DDF18D74A23E1A63158ECACC084CB35B58853CF70C8692FEBBB9F495271E0E9923337FD0D54247DA0C7E427A862ECD81A736E8D9BAD32D21A59D0EBE014A3FF278E11276DC
367134DE8D5F71354C79C5C4D555B22D5448E475DD1EE181914BDEF152CEC1A778F54330838C33A1B8B112A94DEF41139174DEE877D949E2B3139B1007445F72540B174038AFD2817DD968C45BEDDFFF5DF2A33CB7A19864A66F77DDF5A1D12BC51B
B821AF6AF1980EF850F44198BA633D86B929586AB67812033D13B404918344869212CBAA0931952ABC98D6EA2BF6C9D38B3D7AB7F54BB50DE36AA32ACF0EF84F57C8448937EE5BED1956C075E8474FA138F1500782EA3BB843430D8AA31959D2B0CF
A4074BB42AC5E97E78A0F46389A07465326845E9774C181BDBDAEB9B8965EE7EC2961A0FD8AC7DE0D3A566447BE18AABB3C8695142D003B00A9FBE46CF68C80EFF5E8A7B035D241AD41FAE4B36B50EC2846DEF1423B6B1DB604EC93202BC27A994B9
83D28F5218CE40C87DF177950F024FA0F582117A10A8BBD8353579297B4DBC36856F38A8512F00CE45A87426F92ACB80AA7307A1C9787439066A299C7B06DE742112584C07C889644FD124325E9AA58AF7CE7FD3281FE722D2622C3A6DEE1F9A249B
787F7B16DABBB020CE3D032076F7DF160E4F211D81AA573F1C281D0E3A558D5AFD76DCD00C050CFE4EA3A86EE9048E1839C47FF3FC7F364FAFFFC0E3F084E7684CFB80D420E6AD9051D72F2DF5AD435ECC088E2501D29C740584772F738B71669DC2
84C62054D6D85CBAB567D05D6B9961B055AEA6D9178E96CA88348A3286C86202FB1E0E0ED9DDAF70110818BC8FC511F076A05AEAFF34A7558B5D3104928D222C24C27B26B4597530C9325FA87525E1B32287D17243015393C1B3E04F8D2F1516B77B
D4CA5AB9167E79C3C6229B808368E0A4E7720790727AD8CE358331BAA060489F26FBB8FD26D084DC10B5B4433306F3394BAE24EB0B82E7BCF3250AC88BD76569FBCD8750D4050C4FF303ED5F9DC745B4A0F6254063AE8D6F0E23F50E6B70D041617A
B8E577F2C150DC44619AFA7D123B500E6619C4006B0C0E040D46E738004E959BF30E98D8F5EBDFD464CCFB628F524C11E05D511343840C473A4A64AEEDE375BE98CDAE8DFCE567362B578865272714D4CB8F76AE0E3719C44AD0A6EEF46A1802306F
16A51588187E129557049A2E1B92E9A039443B4E503961BA8D9368216A6CE2E047612B16E7E64AE01034190C20DFD603ABF27EE988638E2E31CEB71632D731FCCBE351F9925FB96349780A7F9372B55C54A0E991FA8185BE05EE6436F138264684DC
DDBDFE3725383EFA8E0C743236AF0BF5D81CDE111054C1B3AB4DFC1C887D8E85364BB567C1640B00F1661DD3743EFFA378940991731BB339F12FB29A6F4E2F627B22D32E043EF3D269767C07545A155798A7E45CA064F0301E87FF0C935E8B44CBD8
D2790BD6486A623407001F6026F98C28CDB638A5104E775EE7729E13B40B26C5849752D86936251D5BD9C6DAE9E523536914D2D3F4BA30C4F85967643D7875A44C8AAD6A9D1414C50D49D27AC2C823A34759043ABB95A30BA4DB3D91CDE9A9E81EBE
5FB12E4041C5483FCD2B90902290E7E346D1F41D709BB814FC2129E60BA8372EF2645DA7DC35C3EA9769074FEBED0FAAED282A63C12F7C2696FB1D99181D79595E68E8EE89B7FD513EDDFD4CEF7E2ADD5FF4433197EA575D614F91613A24E9031180
81BFD04FB4795C684A028EB4D7F912224950615DA2031DFFBA502A1199950B767A65B19046BDD0FCA677B0F7CFD38D254F711EE766840CCB2B8A31E435C72E8AA1A97144152B9FA50E6D517E1E3D382BDFC563F66A0B6484777477BC913677261B81
96B98D2A38D2B6ABCD4A4133A7DE8C69ED7F226EBF7B3191C2815B57EFF8B96CFA3CADA596EFA0487A7ED06256C454B143EE4FB85A7ECC4A171042F773E65D1ABE6A467771EBA668C4024CC2A3040768E7452A5CE118C9573C4C4D3B2800579D6A2A
DC012350A5BE48099D32470987843D2A2D93966D6BC1B89BD2943B629B3A027249DF4894A7E5606A1754F95257F853A13885A30DA6B2D568284657FA91A8B8DB56AC56B079076428ABF88DAB135C1075C9E32153FF97CE6EDB6CC1ECDC03B08D02A5
1180BC14929FFA387E596AC58ABA37D37FD541A228F934B8A2C2BA475448B6157D33370017FAD34389C6CF44120FD773B4B27E42703FC58CC5BC3AD8B6CF528A13F5A8981D1FA33D0A42D3AB886A9197403723E660FFDB2BD423700A1067111EA12C
C90D0611F4F95A25D594440800C9169626D246224CE2DBC36CA403170134486171CD71E475933D2145BD80D82ADC554ADE1F371015FFE5677833D5734985250AB9C8A7A95B6BFCFD2EA016979EA6E51F180F8DA157CC07160C27EB6C6D28527EFA8F
8A195CC68FEC4F546B31566DFC9D6A3A6083939F5BC406D91DBBB2072101C5EFE52AB20385C11B25D07C9C1A31C9CAD204698C9BC562E13FCADBA19F827C9A1C4C5981438E23E2EF73419A86A94CD77CEB050EC605AA80F44368DADC66F7254514DC
C7251AA5DDB2DD67D4DEBD4BD366D94E82B81D733FEC49EF4F28CAD2620FA17031A98EBBFF6CB4133E5A5D0B5019F96175B64CA548B3B6F6F8DF4A15895A555DE0F67E65B2D41ECB05AA3D18970B57CE8F247A42439AD387C39D199451E8B21681D9
0D8D8444565BF825AAD70A3A477CB6D50EB70E0111C7BA1924A5A08BDD8C1922CAAF9BF3BE360902023F3FC6F7DCAE1C0634DCFEA57675358CC4D43DCBD5EF50C80FF0D9C10B78949BFD3F9FC312B08626FCA238DE458F7E1BF0BBC836EAD1A1847D
0F22128A8EB8A5DCDF289C38310E3E238ED8CEE1935DECFA653B849122075C48E92196FDB35868C0D6354E01385803F5647CCC541F778479E6ED66CC6CBBF4E1FF45F27D2E6526B78943C2A3F680E8FE59DE34DDB6DEC398553A8A94CABB3EDA4676
BA3852673C994BD8AC291B0C4B29733D4F6E15238D7819183224A8FF2A7127014AE4088020CE59E4BE555CC75BA9CF7B58FD1F03420F1F00FAD0FC208964EE53292454F27162FA6A7F1365456C77D45DC10D5C87CFD279FB350463F6FDC545E0F257
0EECB85124C3068A15AB525F0272E735622C99ECC1ABA4F7127226BE7D79E78238FCD3D5B5534B05A7009C94778F489F60E7C6C04DE9C1978203C7570ACEC128929F1A1E08D72203CA2E2317C4FF6074CFCB6A7A837749F72981ACCDC421F3E215FF
F2350D12D694D3048B6EAD11ADC0D38F738D1BDA09679A73F45367A14D0C2E017A9411BF924DE064342FAA897645C707C3838C9B9D6F96D464E4126772D32A15E8C412715C7D60C70A961140353DA59A5A6562CE69E4B515DBDF3563217AC01BE2CC
49227B8B45BEB81A0557D0BFA33D6C1F6534AA3FDBCCE47EE8C2D38A06B979C4562A38E61D20A824EE25EAEC6B6369F1A50ED388DAE0CA76B9E68CD0AD3CB8FBF91BA30B815AF1FFC6888B484B7B8ABD283A21ECC7BC61A73A61E3BA071DF774F5CA
DBD5F801F307E8BD84DB215509A3AD8AB9BAF88131BD423FE4D73F5D36E386DEA3DA766F1AA79D92BD91E37A1B2A04E9ED5E76410CEFF67E62FF7F2A8425B8CA67E41D24B0E7CF5C1074E20B58CA1025A54DFE2ABAB2465EECA7582B985B0B421128
E5AFB6C00CDFE499E24BBBD50B22DC554F43686C23E74EA17DF0E41B21837F19960FF02BBEEDF755B6297C6D9A7AC96EC70EEBF519C695B8A3D2BBE1C57CD6E834287BD4660C598E19D4B943741B9AC44D60822A24BE0F32365D808B16EE551EAE02
68399677C4545C7214FC5370080D3BFB388A850990D8DB97DD3849C46187E3AE8FA8D77B66B86E828CC42D1D0FDC3FB1B652F608CC7750BBA54D4FE6602DCD880AA0918B9999B478CDB73CDF2A4F976EEDB9149B3645E1DBAF054B08A305268DA456
D7432EB5B59CDA03A7B4585D634DDDE38F283E853061B0B6AAB335A67E35925DE64A3E4DB325392DD3720C587716788E2A1F03C999880D1E20C543251F6021EAD14C6D5B23D765A1FB836885F7854CEC01EA2AE67CE6FCFED20AB4C66A6316B59781
A971DB36940DAD29F8B38E3093879AB0A643F6AB19BFBEB0943D334466CBA26672B86F3892FD2BAC542FDDC5DF6A29A75BE055204F8B859DB9213FAF1793964DF2EF6717DBE341261BD54DEB46C4AD0D21BF439A557340D8B578FD6DE479BDD7BD46
80EC0D73DA59D89E5874F8653225E55D592046B9F24E9359D0E2EBA889BBC9C7E8FCE1DAB0482692E8C4487E1F75561ECC4FC71E591A9CBCF9E61987EB2A4D29347E5678297CC16E9BA8CC06EDF593A71F240A54C2E0D2CB3BE0588057E52F81172F
92BAC46415A4C3B83EAF5DA37DD8E9FF5DFCE0A454DB3470D30FDCF00569B03A48C2D25B111902E607967444A93ADE93776B94AAD1AD681D42BAE0C96371A027261AF8FBDC27A721499DDC3CE277B9A19149406833D61C0FA579A8128A0EABDE0DD0
C24679E8DA08109EDB429FA84BF73B1BD8BE0FF313B89D001B8A471D489F4CE9CA7CBDD9A2F7DFBAFC3ADB587959D05F2CE20697BDD0F55F13387BC762F9A9A9DC34E468CC68C162381BA9F8245EAFEE0F5F8C463015B974513B9DE3AC74B833D7D8
2614C7917C71E98D9B788E162D8D0A30978A130E378591B94CFAA9F59F0480998368814118E2C34EE9D13FD897D4D04908BEC21013816393BEEE0FCDD49D4A22A6F51F81546C07AC2BFB9D84EDB11E86C8EC9EE3A360C6D8F75CC7F01E116DA0A939
E67E7C4B662F9BDE53D8A333B70C2965432B283543602236A276024DCEBA9918806BE3EBC9F1BEC1634CC1E712A827B751A7360A694E34636A23C804906E087AC47E86CE23214FE56BFB6551BC01D4A29D7E884EE1CDC0574DFB27C5568CD0AF3A76
C3F3269B57DBA952437D32CA600F4A060276B2614C4615B30AB0E32A306F822A51FB657E04B526AD5D4999C58A0A1C4ACCDE4EE26B01AFB2131A574DECE686583AE2B11968C9B07C8ABDAA23D8C84F8E0197DBCF5EBE468869A01C46042C00E0452B
FF2A1567C269511BEE6E2ACBBC1F2E87F10F66BA2470207D076B5B678779278FE08D465D5F4CD88BD72177BE03DDBF908E7BAF0A8E2F8972427A47CE65458AF214F7075A4B5C5018C97F90866FA582E12D6B964D1BDB3FF6A68AFBAF223C0403FC0B
7AA73F675AA73DCAD8F453F2CF0F824C9726A83B02A2547DDDEA8FB03F750AD2DEC4998B26E7FFA7EB4E4A2E86BF22B3B4AE6081DF880EEAB8BBDC24BD3BFE0CE998D4CA38720047BB8DEB9CCD0F043FAD7744914D331336ADECCE945E3A15F8BB15
09D70715709D71C2C90092B61BFB42EC146F6FBBEA6A6E48A7EFFBC029E930AEBCCA4BC4AD69AD7F8865A083FD13BF3A60361E234F00E306C828A144623D8E67A95F6BA0628CFBB14585D19E9CA389C0E21E39CF20B64CB8E3E2201EE09EE74F7C6C
6CE4E61AC2C563B89563D0A5501F2211594C2AF562FDFB6C13CBA0091C16F0C82399977691B31A09E752109D2E735EF2A91018293AB3B82FE29C0593FE137A7FE2F62E745FC213AC2D80A6B17C3D350FCD02D206EC643D45F4DE6DE577A362649E44
E2D12A89622C79A3FE647441E624991723863068FF159CE5FEA1E378C5EC84561F0546E7C05AEAA2A45062738351BAA88AAB800B1B808E8F23C902559A2D32363189098C77B84C15BD56415B3BC2B1487AA2C0D07A166C30E7CADD78CBE24F282A92
1B75762F4E7F1EA52317FA77BDFAA09C067773FFF09BA3CD3654D95B673C1166B7B89142BBEE4331AACEAC19344F03706AF0924A07814D5939A44E09B1FD24A6444466AFF7507FB1C5F1E4FACB95E1F1438F8784A9FBA0B77EF79389C2DD81D48D4C
7F3839080BD418EB9B89F8DB77BC06A351468F6D9E320DD10DE82B137CE753C3FC6E3F55BA0353F852C7D67506DD5F78757573FD1B5D0BFC8B36550144C46614DB0103665BFFBD61144BA5850720C9CB900DCE20C3DC43513CA92DC157F48FA4BD4D
590F77E8F2DCD4B952F1525A7D2489A4FC133C0EF3E07838D2A1663F00DC0D3E502060A076D81C0F516A1EDCBA0EA6C72E22ECE036256648179D741683A57886DF74AF0F2AB588C4C46D9DA76B6805FF4FA0E894F59D73FE8828C96ED53DA7107E70
7ABB86A93BCFC50F1A16657A5D81F6B0345EB1B771A3DCD06937F90023ED58F4A035E847C40E9EF0839737D1B9C8D86CB8918A3778369C435C676679856EE0A93891A1FEE1879B6E0497B85D6FADF440A502266B8FC13A403B2B4CE4776C32B5D127
DAA73E650DF1095A8C614B512186536DD5515AC4407B58734406958D574CA359E18C21C5B6451CBBACEB68A1BEA190CD445AD10328A72F1C7BF5916E581B6F513F18B0A0984C3DF712961C97C5081925C474C882000A9BD359C0088BA3DE04B62F22
5DAA8D2FDB4DE6D9D81537C775D02BDC5168845B690D5CBAB2BEC70C216A6F6412212C59FBAD51E123267262A322B4782684E7971835AEAAA0F3648EF3AC58774AA1880AF63546EE66E7BEA0673DD434B01E8901EAC25BA2AD455F419DBE5E23A055
4284D0BDDA7DF63DC109F6007D11E26EC6377BEA46D051D3958F53F26965ED791FB7B9123C1022A438ED79D8C4E2E977424CD3C856C68194FDB0C57241CEB7668A77A4B02F3C71324DB4546EC98749BA7C3F6BCC18AE667B549EEE7959E4622ADE5F
92317F99FEA81BDB4F0C31B643D823F6516221B1CFE2287D0D5CDEAEE1CE5AA3F6006AC7D2CC0F6EFC07B6A7DF0A218B9D8B49A90FAC9430C1173C9AFE6EECEA2D1A303EB2FB2F724DD406773C659CD9C57BCCDE15691E8A1E8D1CB3B23EFACEFD48
42977654B593DE042E829237F9851932A59DDD4E578B2CF2EDE51F8138A468E8BE44D8E54345D9A273DB7E4A16AD28E91F2C41B121DCD9173DDB97BDDB9BFAF2B51553F2E524FB5E9F2D5FDB260296BF0FC42990D2D7674A626A7E25B4973F223D98
ECC21D349F6D05D56581353371EF03ADC4793A707FD1C68EA36E87E639BFC35F1DEB9B0C1450D7BFF95D237F89390FFAC08D7538FA7FC8CAB75F6CECE95738793C132010E179595E17903693AE1DF327DBF829493329A245521FF9BA8370FD9F3EA3
CCE1998FBE81B813F4E75C7F8E0D2DF73646E79BD56019EC053B2540A4E6AD00BD4DF80D70C81A73DD7B6302CAC35795337D8A456AF512D5E6237992A154C7E1D3855E56EE1552DE983B5AEF1380ECD84BEEBBEB7E8A9082F85357BE0250C36CAB11
3D29713942FEA69A58964B4CA44CAF4576246323AC8072F081598F44C038ABA960340737083B1672052C8E49BA49A4F461E5CD95FF18A11122319EFFB7FE8C4F0B5010A7736574DEFD5F80A11890A32DE776E4CA9D43CA2699C1EC1A26AAEE06100A
15B785A061CF35EFEAA33ADADA47B08C0D5810AF2E5675FABAC8B9F2ACC3A6834B3E318A834BFCDCBFD487552415752E03AFA311A06D9BED966ADC9AC30650C2AD1F32BF54FA78D7D20CC92B6DCB67D46BEA7A15022E209F2E751145041B6CC11EE3
1072A42849680BF0C421B8A866DC5FDA43F240BB6A1634BE73D10630797D268A59C2EED1BF0238E35F228C75A54B4EA1895024317549827366C23E183E6B978F8A048AC6A1AF79DBEFB23333ABF27FE1597E601373BA2453ADF0A60A42FA60A760A5
D8944A95338B1B68EE549771E239CC57D012C3497E41C412A9FA0E37B06ADD3A77FF7CC57D64AC99080B748162CED87C6A242F975AB3631B212A4862C1B375044A53B79D0EB50B5FDAF67EE6EC6CB1336306B1DAE2285BABEF591BDFB873D1B8AA20
04A04556231A65C52D654A1F3B48CE5805A17965EADB0A4ECF88C05A1FDB6FEAF6954F592652ADB0506E9537C2BC1AA8FD78C65DAE728F6E6EEC96CBE6DEB562332651B280229908A59EE3E6772A673B1216B4D314CA327A3CAA946443738EB3AD85
73E76ED699A5241915B753DB6ACEF1DD841E3970FEBFE7F28684F2C4E0FC8D6EDFC98BA29DB924CF30EFD1B30DC538293C59C0C1B5F1326EF02BE6E9C189EDCD772F8502DD9589871D068A672EE32BA3888DB55EED1D59A94C8DED7243A1D8F32C0E
6F8749D85F794A272AF1E27483AB09D1275A98EC378E59B2459088FBDDC9F53F62AA9B1C1E982706E71A00EC4060DD23CD8C1E196E976BAB3F40E800AB2D8F6F68A43BDC0EC4AF102F589038F650EAF4F409E1CDD598B54BF11E1574CAE6D1931870
9A7DEF49002967C9EBDAE1BC2C251EB2837CC53C0502784CCAACA6F1432BBC9157DD9BDBA527DC28C50B40FF2C3B59C459AE51A53829DBABAB60804521392B7BFF40D6F823713E82B81593533B3F65CFCCC6A914CCD1FE9A35DF1B57084755E7B060
95437FEFA707E424B381450F3F27AFE9B37F5368E55243FC290C3E5E83C7ED114E75F6332292E40D4DDBD072AA8882229E116228AE97C623E5EAB943B6B8CB714312BB738AFF4CA91799B25A30E72DF9B3D38AFD4C6FB5169B160B1D8AB3F1EA1677
B32FDCEC62CABA66C34A2031B1CCB064D1453981996C4FAB2747422C61EC3F855412289FC3A2B35E8ED06E466A1C28F20BC94B52840C73FA9713DB169411F8F83814157C41EEE2C0862F8691115D4D6826037342B0F84B31451DC2BC1A96217C6652
F74855AE561DF4CDDEDC48D3FC8A22925F1DB704657E8920AF0BC2E0E2EE124E45C88079B832AD6C1C10FAE96FE15729B5A1D59A60CB48270A3BE2145BC7A5E01A1FE245ACFF911043538CF9BD70994C1B57D69CEED6B67979470B7929611DC77482
2062C2311449451E44A6AE195636F880D60D8DB43E8B9633A7C0EE5D3CEA82372B5AFA05DB669AFF1099E3D76DD59684E579B5443B35700D5D1FD318E941719B70568D5620707A647F46B5304DE0F2C2EF1DC0D350CD9F325490ED212A6DCFE3C678
7144CAEEDE4EC7894B5594780190A914E90A7F5F143631AF8875771A9D1523F6E9A8F0D0CAA4AE9F483D7F4FE336DB64F535A118188257C0131F7CF32C0FCD84C902F5C8EEB23B29E765F0F0A9E48A3C068E4A0AD6F50BCD9900C274BBE9DF06BE4D
E05BB5EB5376FBDEC34D8B75587F45DBDA6D38394E07DAB85E0C3B23626ED59204B865C7951CA489BC187D59C9CDF0B0AFA39764823E7006CBAC3AA6212F7C43F0AFF3B97398F2D2A91628B429F5B11E3C890F6A3969AB0EC834EE951A4702AF5652
8ABCDFE6093F6EF05BBEBE26E4C861C02376AF20EF840086D4E28507AC9555ABECCEE3FC06518BD16F4D63E343B682BB9FEE089F9BEA82FC377A499CA54C21BD1F70BB032D772550F28E015A0D1A0B328A199307E6B813251742DEE9A15AA47A7AD0
4F2A42405A14ACCABC2E67D8916294D34F4802ABD1CD3DFC23499926336422F2C7DC00F443DBE67E4296C0D1BD270C2981B72BF1F9D18A547D196B0C5A445AD95DA1009F4CA8C6C15D5A85F0EAD8E82350502C60EA9968757E0ADAB053B53BBFFB3C
E792524D7AEE23FF89D32454D66F9B02649E1984CE0CF6942A0FDCA0902FA001ED541E2BDAC2EC5AC56FE1329187A0C4DA9B7D5618FCA3EDB11A7821C0321C67D621B3CA369A9434BC13A658580DB61582AADA0CB29D5372DDBC4415EFEB916AA63D
71F3A24068AEDD2E507B65BAA430FBFED4F37A3B26398A1DDAEF3EB7EE190FAFF8ED35B1D4DDA6AE0D375903F65176285D4EEBB1D0A4260F0F22AF6EF0288901DEE0D0D3BCA3E04BA5CB93765900D524D885DCAF3FB1C5177848521663D42F856C05
DBE915505CBCACD95389C6A7FFE09897138C27F79485421362B31E36FB5554BA315C41AE08172D1AE9ECB674431CA00E4CCAEEC8437C98CF8DBF5C766C2D83D35752EFE66104B0EE94CF19A2FECC9503972EF5A0C1670883EC507126EC67A61F7D08
4FB48CBC0ED3EE9D84C2026F80E5FE6582802E3C103C5C0DE49D392176999CAD6146D058AD550809E8D04DA354DCB78E07C15888727D0C011C19B092FAEAD7947C4774B8F92580B17DF35AC379E383759BB98A1440B892E5B70DA1EDE1E6C1101BE5
E08571FCDEAED333603B595AF15D913FCBD428EB1CF98416550F72C231421130E5C129BFF10F485B0202B44A26EA438E79B4F4985428C2BB326B514FC2C12DAF491991D80CD978F4F048C11C713421AEEEAFD4F9450FE755CC4D29F4CA1E9C977BC3
F16C590E2786E1927A014E7564238A70074C099880CFDE5B7411D87683425E7B6E52348D54843AB27CD0F39A4694BB519525B1DA941A3E704BDA95F32227939A451FC5F55D38AC3FED4E0997109999FFC03353D1A798A0B295504ACC4BF3293A86E8
5B19DCEB70F0FFFF2AFFF58DF0DAB0A73B2E41B96DAAE88591FC11314CA9FA0DDEC0F3BDCA07D23FD679AFFCD0C56F4720E87DB2DDD3277539CBFDA6C5BCDE6BBB48FF5F81E6CD1D77FFC9D652AF482D4676FB7367B450BED88D5E3FC307EF2206F6
83099281DB55863E11A214D50CB030EB8C2FDC410A24286F38FA8952A152C0F781DCFD26200C0320EDABD1736A1B05B94819DCB0210D016049AAC66F1846B7F97C81707E5DCAFEA3DEA12ABE36E400BB6AAA5EFE432BAC9913A9FAC763BD1D8951D0
34E844321454C1E5F9D44959F6612B678B6581CAB54A4CC8E131E0A761C8DC3715C94DC77B94FFD71B090BDD0B75864B971D81139060D505001F117AE40D15804D5D6E6EA712DDAE37D4C18067A90C7A233329AC349DD9F0A30C2CE2BB881BC3306E
B69C6C84AA6E6D32F35B219222D0996E1E786103A3A399C02ACF8AB151724DF319A9336B431CF700BB47B07F6C3DECB499E26AB5AD8A47352770038E0C0A92E2621BAB6A6759C74DF0188BDC8668A1041622274477A9F59266EFB2BAFD851587B730
4775EB2DEBC8F17482C4E68166C7301628FC66C9A2E2949B8A1306AA74484197E376FA958CB095A0BA82B47D63BABEEA8B2716FD4775831E254B217F63C5E96D9944A3F9B42DFA9F75DEFDE963E487C0090157567706CB28468A9AEAF88DDE77D08B
82112605D05BBED03BB47E5190F8D0888ABFD75E8A09F2148024389D444EDC5D741EDA5C3F171E56FEC301A1CDCE0DB7C43E96BF8B199BBDFC45563E4A25EF8AD450B7432C4848EB3885E964098AF223A7A471C5450C04F31C2FB68EF0D6E1380BD0
682EA1B5981CEE6D92192A658C9E3D8603A6A4A94B73F103DAF820123BFCC95D59FAEC6A10334D06BA9FCE019451202765A9E2FCC129CFD90B6B2AB37F529E706A1BF6F81657DBA06AB7605FBFADE7DF862563957A2A6F6BEBD47CAA7AA1C5D21F71
3207D2D7BC3F1AB4BDF22DFEA2DAC60A45B966C8416503462D14F892C81610B75204B06ED705C9C88EDCE46DEB6B76B925A8204DEF6AE0E526E7FE05F781FFC635D7ACE9A4197BCF5F1A53DC775ADA592996AFDD53868D6E06C7F533243DDCC4FD3D
CF2D23107805F3F1534D0107553A383433A7D683C3AEF61370E6C7C8957D5892C8F9347EC9CDCAF9ED41205870BA65BCB49CCE64613E527459BF6869E4E19A5ECD6071D1A39F1527711C2FBB487D7740824E414B4C13693B4BDFCB339D1A33E61186
B26B7FFD2829CC670224DEBE11FA5BE6C9465A27D19599E720EE1AD2B5A33E0683D507927A80EAF11D549701611CE0114C371E2F5F550B293BF1B1AF4453735F0C6BB90BD97E55C280C1D8D4A6797FFCCE49C345087D5340C51577D6175665A033A8
B44C53721292CA83A97C180096221F93DD4CE684E83A5EA04621CF8AEA57261721BB378A92D1CAA7271EE308959E3198D687C4DAF035F29B088E1CDF7D9B72A5EE3984A9D806F970830D8D7CAD10D25BB016F12D2418FF3574AE492CE971A8941ACA
3F189E2630E54D816E9DD88E198CA1EF9D654D69456ED7870A7B95820903655D98D9603F4847AB76F0966E44F5DFF33DE928460D13CF14F90375887604CC4AFDE002040A24885C59A2A94B1914EF34CEE30C6275E38353B1A41BC46E2EFE222B1EFE
96CA6C85048C5C312AEDF1EC5A91FC792A82A54B92F1241E334FD4CA339D360A69134A380477E07430F839B1A22F21636857941F021E926B6EEEF3473D148A16B3FF6A9A530BDC0C5680B1CA93FE3E548742661DF8A60F1F333C7EF084BEC1B0B825
4A1CF5AE9CC8F867C38F794A86E9DF0FC3593775BB41D854BB3A365825EE7C7F4D874E7A868B8ED71F63AACA63568D05A521D0FDDE21337F387996AF65C25BFD46BA846626806D965D43A620A7A2D982C0C65CA42D646FD9465FE8ACDF3ED61FE276
D1E6A12C3F928977C3F4274C0E2BD40E2E97365A131915CB41A50EA35EFCFAE1D64EF7AE8B4652B9A52134692D5D9D2436BC2703E6561370F704BF6FC133D6E8C276019C9597DE5900C7EE057D3F9A1FDC54E1CA9A51CC0D198157E8690F901A50B8
4441440D4072147DED434BBD8EF0F41E02C4C72673FB2B00E64ED77A12A8ABFAF9323B9B52687F237AB9C02B078AE3DEA003BB1088DBE32472FFC16F21F59B7CDA067E6513AFD8746A94E1B466D72162EBAB1BB97BBA021142E79AAAC71975F4FD1F
5029BAF7E1D252D22EADCD2C753F3441C8085504F05FCBDA912F732C9E1B3968F514936287D4E674390C52E597FA65FC8EA62653D9F39C3D0A53481C3F7E3A60BFA2F18D71D53750ED0F7BB0C1D8CB4CE596A5C718D1628BC93FDC41A64005000AB5
7D47567AFA0A6E02739FC59DA7FE11D6B6468B06245FBB64F00949C36304C870EF55B0293ED9E035B0C27FE8B279AF5592E83E1B673E69FF7E1E09F76CC96CEFEE28772EFA51E999ACE571ABE530EA14446EC475661351B7B4D0A89DB0FB4BB8307B
62061E042F4C730CAFD1ABCC0AE256A95EA9C10DDF3FBEADAE80E7B7CEF543C8312D02B618D1B6453900C21CD6CF97D5DCA862AB411F2644275F00A2229973D63281168E7239612CB90A659D6DC4B8C96D545C2EE52C96E1D5EDB2E52D6BA28F290B
8A54AD2FFB16A2896B8506A29B1180B270F5764BC67357D1212BD6736A8931B38272E7009448F64ED208720BA5D36479E79EB4F91AC76DA2FEC594F69DD3DE33E166145DBCC7B606134A28ACF0105769BA04B6D4CBC80023B742B2263CF63699E0DD
DA74BD5E3147799C0E740FB9AD78E2C4696BD8DE314808FB86362CFD4EA2CE527091C1D6E89B93FCFE754A7A8FCAA25EE498728F9DADAC28AA63F092630C430315D82C6B4C157AFCED76C9F34E5CF8ECCCE1363AD8256CD30C5653360D505E2E87E1
506A1454B283F56D16C009B53AACE2907F066D4630BA0E80DC948B4014377A01A56C7279B3FFF60DB48A1E7243891ADC43129D053F0AC3E96C82B5E3914995184E259824771BD25BB32B0E17FB4D5E2C1B0493F1D9AE6770C7AF3FC2C9116F7C36EE
DA11540CBFE8B673FC7BF48F09714D92031E4848EF289554CDE98877776925F616F877237A3976D45F9DB971F8BA9DCF32CC29E9C9E6B0B75CC9294AE7BE1E2840369B421C6D0D277A771EEEB5530D841F3586BBF9986855F7D3ACCFFF1A49418330
B4C64E6983A90194B818C87D9D6F12DDDF57AD25DDB58CF102CCFA8ECF5494C0019EA7FB1B456D0997066590B2263A1E0272FA9D7C8140D9F0EA55F410FBAA2EF54F1FE5CDB267C6F613C7646A979ECBBF1BD566615DA098A5F682353EE15C67705E
C79ECD62A88692BE7AF7BE9C7CD4140CE1CAD3C2EC8A7A7461D7C70E878154FADB27714848489D64D4D95A6F5D32915F3C6256E0DD777666B14EB7C80C6E8640235F329BCAC116BE8DE34773AB12B817DD229F7615BE7A0696249BDEE29AD7EBD370
D6221BD06E955D538F6089006E00A2E7D0391488D6D3912D662ABF656A8873C22F2DC19CF0E1406F9F3EAEB2DE7DC51F9D553E716705F7CE59778D1284B782D6393E4ACC23CEA51083E0EE3AC9FBBA235DA590D6E03F81CC71C557FF659744DB3537
42246C6380485AE478E52C99D30B95D47F32A505E83C9F683C914695529A470702E04592F74051553A1093E83F38CEC3B34C2C38C923C9C512F1148052D48D587368A25AACFBCDF16F3FD3D95114899161510B36B230EFBE2EE3ABA14E51B81CDBA2
B9EFA2FDB26007773F0BF9552EF4295A0074ADF906C7A77C5A5B1F159EB60B49085479F1174EB6DE8F64496610C8DCAB304B3AB275DCF84B5A8C57EBAC6AF707B3F0D1A1DB5F1A6B9035A31861B288FA6B8AF390D025FDF88105FAAF2067816FCFAF
887FCB156866895AFEE68236E7DE7826C132860D95492EB819A8EFBA9FB8C897E44004FE80EEC85B05614EFE9426DD9ED1833A22D0B005E545D745B2C657CFAAED3C30CECE4F5771E232801BB0F35CEE682B6B8A2017D48C5D607107354D301FCC56
900BC54AB68A53EDA15613F0F44FBA3C2E7708D6370278F9A53530ECDB3D08AC4EA9E1D32C18A31C729B5AA22A3AC18FA12E0D8CA9F8A6E209ADF9A6C05BE34995E7C73B15E59B06F6780ECA5CD8D13407B9E932E95D640A95671302931B529A715F
9139B40C9E3BD4B99D4C2D279AFFB0DAC8CC22BF76A66665F107852B55336BEE4F285F2551A7D0CC8A6F00878FEEB1BB60B1B2E6C858DF7B1C713448C1205B890EAD34FA6AA3534EB2A114871FDC96AAAE903F4E73E16A1073F92EAF7DF1911D2DA8
F5FEA9F4A79E4680CA6D81FCE4CB0D15D2ED1DA52DBAA632825543D0F6257471D3731A17DA0BD2BF5585489B8C8439EF5053D91DD4E0632BFC7185D03183A1BD27E8FB39240DA64D5E26B2EFEDD89E4484AA51111B2013C31AAB997942759F3D1065
DE873B7CF2F4A35F9799256E4B8738C5ACD408BCDF6D6DD38AF398176A63DC59484F4C45EA94CAE2F32D358F86451FFA644F4E57662DB03502CCFA793CF198633A385F75519A4910822454B23F8152B4A449D8A4D42D31418EF35BFD9E8729A5868E
F878F27B280A3E4C737D0B17C217861FD01A19F9E8D25C2FB9DB16C176CDD7B5D62D71253FB5034DA406753C7C6E67538B22BE30594DFCAC37C1B922D515F126DCED8EBC0171CB8E9F344F1F509DFD2C1378D68DBDD3FE20B90DFAEDE06E493688C4
44EFD38CB7FA227DE651B3A47A135829FC775F83632A952DB8937D1A4497FCA68B638FB3612EA39A839A936650773FE3F54D239E824231A327DACB37E4C1FDEF5F3D83AC3582D22CF54D48DD612F8267D7524DC1C8DC37C557EA7BF3748CD02EAD2F
474CC7D6B4B25F5EDD7F94408CF5B6E0204DBCC6A39BF413C580DDFFF81DEC1C61627532B6790D8899B171061E6EF5CAA516646E907407CAC32C416B096C249658976F94434C1FB7031437EBCE4D356F4082D82AE63AC11D1680E5B5A582C241C425
0FE833CA0B87EB5E505E8DF0A336D1F33546D41B6BBF6C7F140C2328CA4DCA4949A85D1E0BED34C84EFF5A77B62332FE049F0AC247A7D80F785960CBD5D2DAD574C6D345B03E90141C03F1183D976CA2718FB757CABB1FF585BFF0E1C84C7AE05092
D8330403182B8A821DAD0B1CCC682032A50BB21C8445B4381A483F0BB38BC8FEBC29A7EE6C6C6A30D7D1D904C19A8FAA77E27F5F22A71FDEC42DB50868967EEAB13565C7E4188E501AC1CC8821B070E435D592ABE94AF36B89DD9290DBB95AAF9FA4
A60BE21C92056B15AE1588F379FCAB20A7562015146861ED23ED14310CF35CC066994EC9910A6F790EFB5B81AB0D819374587956FD8F8F2A2401849E81904DFC74C57360A881D123BA08536172B361F7871AFE2B91B3563AA698D2B09C088989F56C
23033767067BC23366021B26455E42B7FD13F0CF6D3CD46C1DC3DBBE00073BD8ED056F24CCD59B2FDCC03F80A90166819B5E09DB64ED381BE59156F256D8BB00868E842AB72F973BEDBE4D7ED908CC9B1B0D16E218F26200837044363F2B3C2C0C27
1C3F720EA5337F281456FBDE8C257BE5D9B3A5228AE62524722A7F32E1C2296A06318FA0832AD5730147AA3877B4FD44997400E000803FD3CF30AB2688C0DA5DCF44D326AE18AFACC74586D3DDD494B62BCF31EF15764E4B59A0439C732B1BD7DBEA
5E557B43DD1CD4E0B10E28CA23B052F4241E9DBF2535310A69858AA781538A52638E8551A443E88ACC7158CDFFCEC0D36A72062929AC5061F21F44FC75F8E7F9E7A68EC8A073BB2486AA9014101C38377A53A0F4A3C36061AB565F28630B74472E86
40155ABD9873EAFDA6C5C70A266A2E172B032A78AB9C178FDEB6542359346E011DD7EC8759E45EFEADC8FBDEB6C37D381BF3364C776E235B6555B32B69CB55182CC7B9AF927C3229BAA0312B8DDDC65D308FD434BD99F10A72307EED03AC86B3671A
9FF9C49FEB0406B0B44B7AA7A902AA1F88648B82BF1AC769EE28D512E86E566A77B004FFEFA18397D05DDA336119BC99D59F08A4FC87D27D99E7ECA910A8292504F21D932C271CA70C4492C0C7569852B4DBF6926935524EFFE865D7192864547E7F
C4A4020C32637237317E28D058468D499B2904CEA4F8432FCEE8BD0AD478901F79BCEB6D2634492D2C15E511876B8E61CA43C42E0FB46F40CC29E3D03F8ECD9D1A4216407B22A304F0A76240D46C7AEA913EB2806559BC4A8DC89536211A6D6BCFB7
F6A5779B722534C2C35C96C9F1237E8B62B8B8B0FC9C560ED7FC601757BA98FDFA8D623471504BBC742E66C1CEC462BA4AA2BBC17D3D8A81BFAACC6286DF41F3CDC6C1ECACFE16F95ECE59B9A2F34F6406FE7AF62D56594BD39855F4359C26D06284
A62AEE5FEA32323B5D19BDB6B125C3742971A0300452697FB20958EA5053F0D8E7F8E9A93B6A36B3B37CF8765C296600489C0BEF93DDEE9574CE2EE27AD39DD7D81975336580F381A71F4F3D8F98F4E3C7BDFC7E05F14A8F0C30EA8D7E5BDF131049
1966E7326C97515B77F5104CF9968AA256CECF0ABD1606995E0EBEDA116BB6528C1B65A66FB9B26C08A2105A42E514743331ADFF1E0DA31817ED7784F28877517ABE1BD6452AF615AEC9FEF0DCF7E2A40195DE6B1E912FFBBD2B326754495FB96BD5
381517E2E145C57D2523A0E5EC41FA08EE7BB7CF77C81AD3137F86FDA7627990702D3C5D99F0BD8A598CF67E2C83F804A9C225C5E27CCCA9597A15EE1B859437F37AD7BA4CE8A4413CAA4A64F5A831999B85F02AB573DF63D23E733C7400103B9F4C
93E25AF2B42F73049817FC35CAA99E40EFDD91F463951DCEA99A8C4EA7231C913067B579999877E31FB2E8EB59FAE70562BEFD26F2ECE0435FA761A84DE9463F78D8946E5AC699513D2A9EE2782BDAC138409074CBE7357497EEEA5501F4A2F73479
68058011DF0C85CF54EAC1EF4188C2D61A19DBF29C3C9968765AEF9EB8A00916A5ACC74A597D1E2D5C472E165FF87B07F28A46F3A31ADC77FD7C71AA89B48AE101B1E17E6CABB4965B8FEB93C12B85431EF66C59F80476516151AF660096EAB8417C
E8FA8D3F1D2FA5278D4253AC0338D02171D88DBC74F0DB2C10675D22D383220FDF3B30CB3CB2131077D43F05F2ABDD6768FB16CA3E159DB045214BF6943928FCB8A433C71FD3AA1E173FE17AFB4B35D1DD3829AB678E4B8727A1EC2E15A6A7699378
DAB711D0DBFDE942054AD3DD6334702637540737880F1B181C0F36B8D4D0F908C437126854C8A74E0B44722D2C5EA1743DCC16E92D88C8136399782B32C3E3996C5543E46B70C60F17935F0A66D8B38BE727F3D870C85644EF5572E6C34A436F7AEF
2324CD3B576E02B54CADB3DC06B7FF8FB0C98CBB38406E06F5E895936A26E2D0C88DFB674F7D5BEAD51A4FB4D4875AFB19A0490ACA5356C94555724E223A6F3919B912898ABA6A7C1F0638B49A3D3863B03412E6D72F7083EF163E2EC9E9454C78B3
D2D07FD858596E067720C5600CB92C86CB28A18DB8403DD08CE19920184291E2D0B9F24EEACE92E32CA03744C6D9326FCDF5D4992BAD09F65439B80E21BD09DF4FB3406B1F05F8C583B8D7ECDD73E46654E64BC9B2F3E1579626DCFB08D0DE5A1E25
82B86A5AAAE5D998A21A15B07E5DCA0B530DE34CDC3856B1E10C95C1708DCFD33B0F2D08DD99661B4591F3818B87D4B2D141611BB31E5C3371D6F40D71F13091AEAF9D980CE5018CEEA86FBE5BAB9C5284DBBE912EC11A3EC76ED644004EE62B7803
F9FAB89631509EE07280D3C5AD0DCC61E0D79439C198E949F856C2D3112C63D8E4C65C2B62C18758B477CA12B3B53B6ED75E9F4E7614976C986D82DF26F515B6576AE85AA918E412165BBBB38826F60635E574746FB4C1EA02F8C62290F653F1D9C2
EFE790D29252A799745AE94B12FC41B55022F57345FE53C3441F60F2FA7930B620776DD1C4F251CD5AB08B98F40F7E46004370537DE7C2A0CDFBFF3D3F8D082AC5C1C042FAE117D636C270F6E319F0153B5C8294FD88848BD61E0F02FF631EC5DEA0
2F09782006D01204E7FF3193C45FEE5B1A5E6F45DDE3D14D6904344A90E15CD5CFCFFA0B2AC8D7F6CD3C6F943A841C383421A9C38C256BA09E5110F192AFE066E7C1E8083603C35928739EA04FC181849D79ABDABE4B14EC4D2BB3D888C2AA6AA6A6
171D77C5576988760ADF67701B33B5ABE21BA9A6AFE591C7AA3445D0F8EACA5B8E3098C1B2123394B73A63BAED79476CC640DAB7DDED0ED70DF39FAC1988C07136981DFFE5C3C3AC3EC98ABFC711865B2D8DB7DA53533E24CD3D9CF1EF78F50EC5B8
2880DB6E1FC3A340A9F85EC0E269B6A87C160584178A2AF946A64B3EFD9BA5FB4EDD99814ADE30405352E56C0C54171705135498CE167FB5D2096801CA57E01796E90FCE6C6A6F060E4039A2277E2C05D2BE3B6B2ED0FEA031EFF810E843C96F4CB7
904ACD34F90FB13626CE2F108B0ECB9F6A3BBFF2A1A78C455C560DD52D9CF4587B9BC3A5EA409FDB2B1B6FA8B0007596C83B01E2F0DB41BABF02B78E20623E77ED45B1E03C7962788C6BD6A6B09BE8F340F916B19EC95D304821204756AB6DCF8DA6
EA4497A435655167BDC2A049FFDD9966604A7F16B0BC854BFEF8BB7028ABB10D6C0596C6DF1EC0FEE15D879F176AD753A21253B708439F340179C3DEAA4D45456CF6891912215A712465957447FCE6370774EAC2A9902F296B94D88FB941B0232BDE
B0FD5766AEDE8706E2EC9329D2E721EDC07869537D67C3B3C4B200A30AD468D9405AC6CDA1E864D6E54D934B10DC2E298F9CDB44CBBAB668258631694E1E993431AA0EE2305C11C3D2DA9A61D8401F9155F2C491BE9E697F784A73C48F88B053B0A1
83EE54761CD652A35655B586F6C71352B140F656A00B0A32173D116AC8D875C00D27D9E5C2EA3FACBA07A5B63097AA6E9601D7B79E1609E592F602F0779E27E7498C0984FABA007D19683A3C0DA44AC6C6DDD2C128C037A1B48371355FB38EAEB183
449EEB64C3CF4101FCF1A5DFB86FCCD8344EBDF1B465582D8F568C248D4E8B5E2C293C0C9DD9003F641A37ADB4BF95E20A7B665C47B2463768FF088168899FA471CFFB74AC569BE33B1E44DC3E6FEB01CAF3ECFFF14155996D35DB0603DD0483689F
2FBC878906A92F12956D97C7B3EB57616CE101665999038462A458C6AD7854853D046D68EF7E5536F04014FB425BF3780F80549805533DEAEF10F179244EC5F562B63DE4B5C85457CD4016BB804A7F49654F2B9C45593DC48931D1518014BDFA994C
0E1A9E5D5320853F09C27B332AA41E17F8F1A32C1624B5C4714CE891ADF467637603B2219A66D504D6DB736CBAA94E8D32B26A1E7368EDB676B6AC70F8E20F0E9FD7C6CFD7FC39BA5A06E68F9BCCE9ABF8DBC2BBBA18A8F79966E5B495C6BD226F5E
02BCFF0F14559347323C2EA08A24F75AA8DB7DBCE3724DA3BFB410DA055746402DA0FFEDC260CAEEADA5A09E097710F671744916BFF3A481B47762457FAA04600267CB9AA202F67CA4ED72F3EB972479D537F6BB6EE06444B5D8622E65BD9047AB0E
1540B7AB170DB6CE19E25E4CC11727CF472AEBA0441B92BF2BDC3E1C7AFEB2DB09656E01A2F58E84B3C1DFFB5343BC2630123C9E2C2E2173E90D0B6ED42E394A6BCD9937D06D40B9C32742BB36B3E42445D28DEA7231A5A3C8ECE208DBBAD0187611
F970D804E7E5DBF1ADC261164B7D49F3D38A89DF76F291DA17D85513952CE8D8C19622F7F3552107935D8EB8F88E8324DB7ADC5881531ED5BA26D4B85808AE93A0E124F185DDC8B904B396607118FFD6E7BADF84A77AC0ADBE695FB6661274CE4A99
57FEB091D1051297A128FD0AEDED34F0FB5546D30B97AC4205FD766B5A94D3FC702F73B81D8DC68F656004D2866DEEDFFDCC7D8C88CBFCC0D7950B6FB853E75ECA111B6111B0EA9A6ECB5472235EBC6A392A6C141C7DB1D7E11360B50734E232BB28
82B0DAD52FE3584A7582AD7852E955BFB941DB1A5FCEB2B994110F77D931445D69F09012240146A45BB4F16946D6B78E3DA2288E301183208F66B6DE9EE81D034A3A2E96DFA11B386A5E6029E041C2FF951EED99ED1F3D877A6759F347AB40C31562
01DB2171E74D1F6599B865E320CDC74FDC25B29C2073D14FC363CD8E4416CBFC23E1A2A1F5C4FFC59EA7DD2CA8C7AD8234E7133EA2E2214B9219A9169EB8426EDEFF35F79BC8F7F3614FC1920E81D730B3350A23B7A63E78B861A90E304C12525CB6
20EDC8C5A04DE6F3B623C1FA7A3D1774F23D1D4AB67E0998A45FF8CA3C26E138B7BC2E486F528202F24613B5BB7107698E9F97A641BCDD9EF72B3A933A5EE005D211903B15E762400CA4A0F09AD30DAA3767A58C5EEA7B4F3BCAAD314F31C8E9C0D1
288B1BA2ED73418C231343F0BB66D7ADED081F75A3F4C9F426B3E6505298B21E53033532470445038CF3DAC86EAC463D1AC3D81DA9D25AF7DA08824752332BE71631343980D51CDD35247092AEE3259EA7D90D8982BDA2D5800635D8F4E3E9342984
145AD19DACF558255469189931C25E66FBC41B17FDBE62A962CA111BC16FE7E8400595776BD51C0233671B1BFD9EEC4504FCF0530E683A96AE5B835718ACCFA391476D0D354C7BC4162C2700200D6BD6ED1865422EB765E2B85988A1E6F2103194F1
51B0AFC82FD43816CAD8750E41F67D73A788A411E9C261B9183F1B1C2992682AC585E3060CE3B121E430FC25846F9ED37B3DEBB7FAA2C0C265D20143FD794B33C12708A6A02EA9F63C9366F8E43AF4F99D7BE0D9E682997040C0050B808323F1199D
31022BAB9F7A23BB22628AF710E576A8BE36BF682EC1380FF8565E2AF7F36E5D64B0A76396D0E4406A2A4C232F1E452E7A658CDF90EAA02B6DCC51F7AE99080F88F04ADFADA94D8DC72CBB61410CCFA88C2A36D2D0B6B217661C67918309A5D5DE38
18E473E019FDA040E62476E21EE7E9774389E1DF6B5EFEAB29ABCE5D59314F34452942727510CE5B971BD56A695CE0C9290A19773CB5CD5BD417386948D39230B609C61F300AEDCF4D09FDEEFC566CA575D022E77313145157B89085E234EAB9B849
0668350946E3E66087DE729F4E57AC5A1F455B4793720E9C4DFBC70400701EECBB4146FFEF0DBA04232F3272723D7F0CB707ABCC322ED9E0D0A3B892142B1E4992387B9E0627A5DB230827CD80F804D5930FC925A8F466CAC93012FB93BCE6A040F0
3E9D42AF3971695D087EFD6057C6547926CFEBBD1B842C44BEA4287B0612D95D892DA65B11EED19858F1C2B73C13160C12A2FA381E4B27AE9227EE04A809F1BDF9AE00BEB2BB1B41E14CA809CAAC02250ACC0F5C7BC97BDDDF8FE63516C5B0A87BC7
ED85EA473E464DDA9B7B41BEDB603858EA013719D9B4BC15B5651F3437E1F2749F9E86C947F0168E80782B333FA166E8DEF4668E03A984F4049BADFA197F21CB1D5A2E9B01DFA795024FE2ACE16CD1E69C2681BF8398621D9C9B65D3A3C68E5B02CB
8845338CF45446B30751934D98602EB70F9875DA98629F5993B170D86EFB89586DAD454183F46C17F2F66412F85D04677CCC045F052CEC01B7D3995049C89FF5E8BFFD666E68F1CE4DA2F2F6104312F8F23BD16E801E0250CB9DF7ECD0E7790639ED
819CD90A03889E527A64862B28D84AC2FDE0DD2941BCB2EA2C3B4043D5D7640AED2C7CAE3DA6C99DD66AA74A6D8BB0122BF11A4249D3CC3336F82387D452BB6A179304C6EFA84119A32E54F4808AECBA2EA75EB0AB2E22B35117B79DAA21D3F1ADC1
5B7C37C9814CD2C3A4512712BD7DAFDE8ACA04FFAA5203DAA3C33E0CCEBAB1364C857EC93E2DBBE726A39B1ADA2936571460B02F6D4F462B055964E7193E0461E68BA19D60CD0E077E48AC7BF3084B247E96014A93497FE958D7AFBD0B475C69E71E
D06E2C5FDBF723E412CD9EE98FCF9B0FDA17BBAC2EC7C896C8CAAB39E926950F4C70796CE5DD2B26F544697F8DE5355243FA1D2BD531DF94F69D0A32747F5F3D813DDFDB1ED40022426F974B433B2862BB895341F0130B178396E9FC557B3E50533C
542463FB878B3003B36F526BDF0897A52C71D0936B1A510D06BABCE19131CE15BDB0317F2346F50B01B1BE52930A9AB6A4BA70960D150AD4491E6B5736ECAA1EDD0E0525DFCF35A13D2B01BBAB6F798D95C052DBC42B71D4986ABB3DB6DF7D7EC13E
78C86E1CCD58E9819C4DC42B4E537FAE2B9A62C63FDFA4D2A66D5C1B75082F3BC550229A76BD20269D9F319FEF288DC54DF50D0B5621BEE819A2D2E39C883965C5C0600913022CA6E38E49F2DBD7FE329F0475A2DD12748DE90B1FE9464D8C5C1885
EA2BDC2406D4700415A86D604164AD6A2038D894610AD44762B6FE2A6E39FDC8E3640A89741681B6701FB714C9322EDCC440B98A970862B1F32F38C5DA943AE05146FC08602D90FD380C41FDD5D3F6C786D91A5DDC4B5A23259692BB9CA82652EF46
D1EE11BE580107C6C0A74623DB92987EB6AFED50BA18844519232EF1A76DF6448A3CC87F1429AE67240FBC808AC36B525FB53CF1E6663D844E66B8DB8652A9A2D41D010680ECD38A2C6B74088788AB57BFF5CA41487C2BBF1516D22A9D43253D9F67
BE05A7EAAF024806463C33A9D1F18F8953EB9B5DB6AF3C97084F65F4B563B02DFAC84AE9F6B0B221E6BD7D95C07B3F6C429A7B025922C0CD4966A5B3B6B066D8BCC601C1C1FB6D589BC01249D568922BB18625F84F28EEE13F64E573FAB0C0F84BAB
CABC9B232A3FB1E4D48ED6C7A59069927355CEC8DAD477379472B5CED4B3570EA5D1B68DE851D4ACB5143CE1A2AF56F2B6E2B62FA59787DEA855F4A8BF6DF6B4587DC619D2354F5D5FE5B9FEB56582A4A0E4E67998707D4BE81BB92F0253CC729D70
4FF9DEACAD4514DFDA1A2C959211A597030D7EE29B1469A6927AD212FCF6B9BCE2BEA6A708940210209779C16BAAB15BEF6FA42F1289B945D3AF553F485A8E5E8FB3BA3F5CCD5BDE6FFA29DADB48BA952D437008B1036A4A086604F560EABB16220C
EAEFEAB45A15B05DB136103A6C191D17BC15986269903B56E19E20E5B7874E9B6E37ECA109B7FA38FE2C5733931F091FE6A4F264E4C41A135E9A4941D0CF854B230423C751415CB7312163155F77C27170B572F0CEE387AA912FDB065B1AB2425342
E5ECE8E87105BCF1C81A4EB2B62536AFFDF1286C93ABF06B080D3E507C1F7C9A49F8006F63655C5841BAA6895A8C32BC7B0B2472D33587A72FACA032B66D57D7656DA3B4C4F9106505A9EACDF0C6D388E0A8D7FB91E9CD7859D884583C04FCFB484F
2480C194ABAC439FAE1520828A7E4E9CCF9D46EC8CF098695914FF24C22CA9FDC5378AC2FD1D131E96164AF8420A7AD69C61643A963EA137F7EFACA04ABE13DF2E07191FE6CE597C7DD596CCAA85F4D5932B4E7C3304E55B4862E08906DEC611BDDB
040D9CA14DB50549632557D73D54C278ACDA2A0E7FBCB2CA15AF7A8B29E1A074B9CD385DA779E4ED8186FCC3040FC8278934AAB422479276E3146DEDED51AF3352B0E4E7F5E48CC4F64F53ABAF6F802D536671206FB632917FF92CA6FB50253EDE73
EDF6B6E11148FD1F591F7B2A981C7AA083D475022424026BE134C1629B46B21DC5F0C2790BDEB7FD52EB2264AB895E1EE2B5E786198BBF11AD31A3E492F43921C44D7DE95FB6ED09A81D41669639104A270DD5B016CCC18AB5B6E371E23600531A43
ACBA5ACDCE30912858F427E34A0D217C9B01E7299FDFF9258E9384B14D6A57088F85423304F43C848B3ACEE47919456E1DBC71EED8BD7ECF7829333225B64E8843F67E7EAF452D94EB4CA039087AF2953EC73BA2776195CA0AC98311B19D608E649C
169E48C269E99FA532D639535E7667CCD5E2BBDBFD21902D2F01D6CE3436AE9CF870D8BE45D8BA6EAA27176802DEB9B5458606F7A998E679FA29CEE708F014A4D764B97CDD9A73D7A384D1184B1EE2EB24C4F997FC507E328C91C74BF06E54DBC32D
F3C4F9580ED7112BB4469D03850237CC76D3012BEF9EDB655CDCEA344E818DA4C4C2F9DB734B92931944A39C11D579F4F89EBEA57AECBA8745EBEE6F76396E831D7E0D84BBD57C1CA81A762AC53015F059FE7EB955E94347971F80DDEF30939900BB
CC63281EF1A7E4B558EFE6DF743EB430DBC8774381691AFD89907BB562B239A5538BD384578446A820B59079FAF35BC42DE23B7A5D08F0F4FF63ACC0D0DE6A765087F0E1B34B7547B17405059D026459877DB1FD15DCD4BCAF01BCED6B2017E57544
E4BD741F1C49B587D3BB494761BE1C2103414EF145B2B0579DC55490A6FADB8BE47AA6C6233BC052649A91F3EE1E3402C88112DF6DC8C0FF8C805B2E8B8391CF21F1CEB11183535A46E6482C4051CFDB6C1752743B8703E5CFC6ADC29226F3A7818F
03579A5C2B57F7A793624353AA29555EE2EFE013D2E136DAD727AF9E3C50F362214594F4F558AD89E4F58A95218A9DBA8F269C4867A6E4C77486231C6662ED1798805E41D31C99B132B44761715782D8DB825E81E227567A6B3A130F3210E3D58DC2
1FD64AFB4C5AC2549798EB7A1FCCF43F8AF9C858D3286E2E50632F4F8D0A0FE9C8B1AB62DF6DD3A7A8FB87C544F4D699497B48FCB2B68458CCC6CE0A2DCDF0A4A6DAA20CB022CBDCE7E4CF64BCAF454DA24290361311EB4899E0F25196A8270CFD04
843C76C74F35C906417113BE661E1D6C09CA3C4056D1BF0CF7AE1B2D1F3DD13B131907780EF800B7959CA192818AA9BDE0BF09588B32CF533F384F30C9EC60C93A3243E1AC3D6948DEED75C61232E65DF33C22E2EA32561D796914BE4445D4AF7F1B
42D06A192AB00DEA8408C06B3E17888759087C735CFF94B630A0993336E4345BD74EC1453EB830974EF693C700D84A25D02A1E263D12EE9FF6F8237D575836604888722E6A390CB52576F7571FDAB25C7A5FF475F61EA5B65EDEF99231484F0DA73E
0780CD9198EF6770C744D2B804B5B102BF4137CC1C563DF12C6A1B972533D51E872AC1CBE253B629F1B471AE92487DAACF10513A73577AA0357EE50A0172D96D751BD219A04AF30A6F9A3DDDC4A986C1F07395B49F81D672791D75801AACAE5D66D8
FA974422666E289EE69D408427C0661C1BE321BAD4399EFB83FA7462A02042C14CC62F349BC4A5E8724CDD0D2E89732B8C8DDE67ACC29E7D30E58BBF858BDF1DFFB894EA6C98D7DD769F6A88A3ABA8F0468D74E16140C28FE5ED93192411EC620BD2
435DE55B707DD1E6F8796648F7EBB0809807DE13B6E765A5C7A8F714EECD73676AF1AC8944B40019B324A961FE049C7C76077BAC69AA8DC1ECB50C610E6183DC57D843E0D26660512B23BE64FA4255733EA633D738253B2B28FC8EE78B93186DA374
F9AE08E106A9A1207BAC58F518A43FF28F21AC46E57CD9A48C2CEE42630306C05597D28570EC99D872047B89F180F115012422A0301134029C9212B9476A5C3ACBD89E633A45CBEECF81E4F908B6DBB40C8E45A647C12701A258C277D294A5147C6E
CE416FCDC429635532EB9A466693651834E54E85EB8FC4E9154B88140E75482D8B8C9C0698FE2EBF682792E167EDCD8CB0FF2459EDD42AB05284A9255A77979782A5E29F2CEC8839370668506282F435D51F64B9062E34A4ED7A583BB6D56F779DB2
70B3758C5AFBA0E10B6BB2F7D0F7F074863D4E7FB5299D46548EFDE25200937010088BDFA88EB9BA5C21BD7D81A2C287D2CADB6FFCB73A6790BC879366E36860BE37BE49351253EA1F66CD1938245426A59F735E8B218157DAB45434D6EEB7E2CDA0
6254E8B624ADA1EE04E9BA7C3D72F451361CCD42F74747F7239836C2C394A6D43E02B5065DDE064D6430ED27D610DFADAA0AA6B4CCD32FD87EB05F0CD92F2C77CD2C239EDC496F8C2F42C00A8BB2DEBE294C777F62F4AC5DEFF814A6071D85A038F0
C141E1D28E1816CB913969EA2DA7439608259695250C07B27D8FD3F4A916FA6EB91FDB1F746BA6D79537962EB9539A21779437F197C498A8B030EAB9B75D3E355B6EC4F55B92DF8C5B771E07D1B6D0029330446A1EF5A8BA37DC7C3C49C2B8B08493
CED19C5B868A926A1AF084BA2F50B686AAE21A0EBFFF19528F40050B6F39DDA1E3D2A0245100D86C726378BDCB7CAEAD2CFDA4EBF294859BD56599D7E71EA709B5C40C1FBE71BEC2EF89206A70F9E8D65744C79C48F454237DE193230AE24A159DC8
904C3CCD6448828F7647D11585A4AFAA4C794789BEFACB7EF618CEAED679B24BA13D53347E261780169F3A80D1E47E2CF0BAF742DA0CF5EA3CCBC1BC31D28DB8334AB15B14855EAEDF55280A644AF63FFB51379664A86124E747E8A5F426FCF35AF0
06CA86D1C69C52317CAC69D6F7E010723B75971D39CC2A9935EFBE5D3DA70B8B477645600C85F9DE8C2B58DD3EE33DEE7BC793ADA4269506C9C6E0B0BAB704EA0AE07EB90C79852DEA21BA26C51AC4E7635CE91FBD5F44F0E2C7F82AB71646C9962B
6EEE58BF420130B7D240BE18269E9B2D9CA7D43FF0FFCE44658445C15FBE5B50E343040D69CFAE13AA213CAB07647F90D227259C188DF91F76858F449235449F6292F8816907BB37ECA462104FCE42C5D260774BA28956EAF6DF5329223B403F7AE2
3D808000F4111322C15821497F7409E43802F932D23B659BABC0D9791E2E3F2012D57102ED0CB72275421737F92264F43023604AE78C7CD7997F0E7041040F88F6ABF8EFB271E0154AFEFCD6DA55C6322309DC7B09EA03BF6A67494589F5CE8598FD
F5EA66FAEB06A34A654D91D33B5213F532E1145C65EADD6C125AC7FD682B445D24C3C6D119A87D1B650D1136140D6DB8FAD4B122AB56BD27F3BF787FA95FEA19C0505C11369A4DBEE81E233D97DC8FD996330274A1BF58C73377802AF2645A75A93B
566F558C91315807DA14F8993A3EF4301456A34A2D4EF1BE8D7C3A8BE3C8F7DFC3B6128FF6DBA95C7896EA2B9169B1162982757AD1748A882724AC3E7D10C0F94E04ED7447838E1856CA6D1296CA1A096BC248CC99204E0FA0308913596D58B10DC0
C31AEBD1E634CC4DE26251B3061D88351DF351CD2DB54D49AC53E45512FB56A6071D40CC1F3BA6D244B3A37CCC01AA9E9EF80B32A363CF821A99B74B6C2BE6D229A02699D6A162B6CACC9E912035F5204F8FFA6C28EBC254DC0357E92990A3DE8B7B
EFFE58DE63993D058D371ACFD567A9CEEF69D7712A0326F480BD85F9BF224D54165FF538F80E3F0275EC94129B000CE576683782D7E2102AA98C0463515FED108DC38AF79460351DABB7512B0C011382F5E5EFD6B63DE1FA0347A875C6F104F464EF
CB855F120A8D1A70ED0FBB2DDB81F45FD510AA9C344645EC51C7655C3A30CC6630F796F8CE5A4CFE9C6C3C0512ADD30868E82F07A3D14BEB2CCDEA1F9B95965C58701A54D779DC6BF0BA5F9C4FCDDF3C4594B9FE2EEFBD1ECFD316ED13DF03C997D7
E7F28B4E2D025762049D7BB89C027263E870D8DE6D9930F8D745AA4C658D3B50E3E55C05235819CEA433CCE4ACAE0A98A398A4F2A1DBC7E729E1A4AB07D283706CD79D4EB8756320950BEF7B8C2358C4CEE7F2476D1BB6381C8D287874E3E5615DC7
C392D8B4E863F7C580B1C94D224DB63131A5C7E42E068202721E9E31324A2ACAACE83EDCB5404933327EAFCB1B4A881C03E5FF6080C078C7833ECB9B4FA2A83959778F08559418EDAF98B147ED77A9726E7E720D1A41C5B342263F1B3311EA743C00
7A2C743C905EF9C0D758CB7E75F33E08385279B8122646322A3D8FBC66406C906491373EC829BAE82203F57D9F3A9493F47BD9CB3FF88A9F7124697E1CF06170927A81574EB25F5AB8FAE039C79273658104361AE81B805EB6D2FE43D776869FEDA6
51FAAAF4CEBB6849D4EB408D916A20B33A53E92C4E16E699AC6EB25E7EC8D84F1FC126921AF9EA2F7DD8E720959C1A8EA9B637485240B1F4228347935743ACF0DFCEF3E43908930E17A67FE6BC34228872AF98FA75F29B4439E31907C01A23341184
FDA25E28EDA4B6F8AFF2BB17492849FFFF27D4BC3EC7EF50ACE7142E76A676F55A6CEE74E43E6E4E47AA51A5344D189DACD258E0F7ACA6BC2E7ED061DAF6CEBC4FF21CA3C803B02C97AAA17AD338A24720AF1AB7ECF5FCB1E821EB0006FCE9897A2F
32830C75F3170B39525A93B3163516B3C569F6885A18DBB13E997C500F3EE217D10C0051724C0D8AE483CC3EF7A62EDF1D2A8EF7F79E375D738000BAA99616DA93FDEB30E2A69EF059754C9DBCB3039FD0DD9857A33234434A5B33664A92A015878E
D93B775FBCC34B5236D665D01690554FAC9A2A79CA31F06BD30707742FE19DB9FC6A31AD62147FD78FF113FEA04D21DF940739C47EF271800918D4561E6D47C76D52160A5E92E4F62654B968B1C4237E39EF0E35120A81DEB717F22AA41ED50F8250
6EFB2E5950EC0BED1DA941C91D892A298FCC5DAD9825E729BDCCE825A17C1BCB0D5B3F70D615D16DCCBA0DDB919E2842E0AC5D9D0750CC3F6E2657623EB52D147B031B0A72C171EB9CB1AB8C32F3A724CAFD39B4225E0D99CA299594E3EA4B82522E
49E1B889F1B4ADF9D8D571D99B75BEDF713333C56D5A218D2B099B560430D9D3774D99FF2D07FECD4B387F6ADBE95A6E143181ABE90309F60ED7FC2D3624175D38AC3EC0CDDC146E9AE07F2031BFCA276DB3D1F265843941E9123A7C213713432BB2
0543C6DA30A6642B5E37714A362271739037A8424F8D5FDF29913F71CE25BAFC00DD626B788513ECDAAC24C9594D907230836CE2FE71A22FBFA2123ABA96295F49A476A8CA6AB324CC28E13CC8550F5739465C3DAB428B25ACE3DEB73CBA4B3F8162
7F2AB3E34C724CAF6AA406184EA070696E8410AA2E55132EAC8F4DC2AE25E3D89C638D255B6A4AA82B75EDFAA0065CD2FE4C3120CE4DC74BF45E59267C4ABAE2DFE00CD762EE4D0A92ECFD7913FFCA2ED81EDED8D982FB576559F05780B5637C9C52
2F50A1EADF26F1F274D3B557696613FE3D6AAA473AE19ECCE098D90202536E27EBE07EFEB5ED795D17271E59E0E0591E0BA08D5421EC8AF14456D72ADFD4E8CED1D359F46BF67B51993BB768A51FEDC0985F69E69F9572D8C3531207B94161F24DEF
9A07A26EA8A1850ABE88DDD345F9D86410C2BDA8286DCED587A86E806DBD125F7E0C760221C44FAA3716E8F218304D7E47DE8D56141F53ACDC6EFE9B86B7626DAFEC2CB9A02D4BB09BAE361694EDC9005BFE9899EECEF1EE81A041082A75BD6EAECA
685531A93AEEB58421E13E858FF3201B6D45C54065FD5F7D2FC3858A288D536DD43A70070BFFBD867754A720FE27A2B48C47F9971C1EBC15628956BB81184F425699CB6F18DB6E74FD6BDD9873BEC711973DB91B69AF25BFBB80F7416F15A52B86EF
83AE9CF9EA3F8FE1DFDFA1D753D81C29738348F1172C539BD5D51ECF255E7FC4134BA87D8B67FAF4C124D731492B6C8C43BCB84969806B49DF31F1F270486133A32BB0B23638EDE4D23D4F6305C303A78E78B7E8066F65EFAF72659C12D20A5E5A1A
15E556F5323D8DE064382E8539C2F029B0AB1F6F177B6DE4AADAA9D8C134B50ACEB5647B3BAA0EE19EBFE6514CA68BB67B6D0D2DBEB7E20F6AAC67E0F487C72BB75C702DB4D80A5C06CE8F99F1BE007017E59B506E58C4396D4EB6653900A45E1C57
0860C21AB3C6863356F5580E3D666A89DCCBFC589DE405A8F821C26E861B24976283DA0846190800136E84BC3BEAB8DE75CB7D9BA26E20DC91FEE2DF70BDB26536B2EE2687954F8B6CD27670623F03FE28ECF1B9B51F0670632DD3B4D6DF8B573D8D
C98B1847D2E1E158858950B58C47A6DC893EEBDF138FCAC771A9C1514ED069B618FAE660C043B9B68AD0B0343DDC0D872D0C4BCFED0CE5BD4F1368AD734A9DDBC330ECF3FB497A97DB9872179E24B188CA151A8EA15A518DCCF8ABB4A591EE045CFF
406334C358D62CB73C9010FCF56F3D0D53599237C5D51D999B5B8B70D7C0184D558925C9416C3AC5FD6037F859F1A02DA7E7B0431C16ADDD5C1C3A1ABF7AEC013104EB067F5F145D75E4EF3789575206C4CEC2682DE7FC37916469D46EB3C88B1C61
43258B008B3749DAD41283FAB14ECA883823CE29D68885195B4E79CB62E41D368A505FF08D4DCD08F2264F17E39228AF854D0B9728D481913C46A6C9EFDF2D72C32C4B459717B561073085339364AB18CC7972C9E3F0777350BE927E44C41C45E3F9
7D6C6224115C81384C83C7A259BADC8576219B5D8ACC3EB471EC700CB8B6AF5E5098BCFC4F229E1DDBCA053B93112AF46BFAD99095CDC37B4D8D3205F323BFE9B150F134F95237CA0F31FBA785B468DD9F750732321FE3928C6DF144833A7D93D1A1
44A846FC9481F48AC5E447060055064C0A38440EB24DEB51E2FEFFDF9C46306340E025D15745918E88EEA0CA70F49BD158B23F7CA3AACCECCE7421396CEC44F0EBB2C71937467E0AB3F1931D3CB609920C945550406B18D612A19A9023AA9E53D066
55E2C96C8E1A89CFFEE3EE01E7F8F682E9616032E537D3F06E484EAC1F9D19EC783A9F82AADFB5E19947355EAF410F6C6B9C6CB53B1EE4867DC7360846AD7583F7861F3DBF6E1E5CC87752FA1DDB20173D91FA1928060FEF8FD5C3640E254DB01224
F110110A83F01D315100BD6BCAFE86A6F99587AC3B24751A9A7CBCC5C920500B0A1CBA2ABEFCA7E50F088B31DC92517846A7F0C6C308F92F0757DC5F57642C9697529326B32FD7947F32828045DC07B3B3A94FC40AF0FD6B0FCF6AC6B7EC6F885A8A
55C6CFB38D132BC5E6D9405CA2015FEBB392F17AC3DFB2A1C23041D59BE5B8C7B057B41140ED0BCCA65B0393EA0B8FB401DDCEE15ECE68E51CA81DDAB1DB27CC5FD93A39C4EC88C5DB5628F49DEA68094C8DF16CE2730C25F0E0CD038C01B5841703
23F1B22254FAE43D156BFFE528B5CC16FFBC8B98BAD78C8EDBA30B308DD4FB9C15BCE43AC9D74F8CD7786896EA5B98AC4DB917FE0B586AEFB14E1A9D82E2E4E37DB875DE67DB3C89FC3351314E806808C4F514E2467C0174604C48395511C976AD59
3A6028AF373E556BAA170E8FFA528AF84119260F207F4B7738A38339509385AC067FEE10C3794F9B6A579D0C5333205EA3A2F57BDD489CB930D4BA85398D2A33E83050899AE65B2BA2EDD54DBC8751E84C482B6E0BE74689D56EC4B198505F1381F3
A016AAF206DE1F07FE52A8BBCCECE7C1377073AF5DC201048DBA85D1638F2ABB59919113B01D25F5BEA0980CAC2EEF86133081BFA01B97983518CC568DC83F8F77D3856AE47B3EF87165992A413FC3ED0E642EA8EA64A10A7BF7982BD58879E3B978
1113A944E7FA318AC6689C8B367230C167516125CD0A95CF439140AFEF882D78535529A0338C0E0F09BEF408A278B3C57774FBCDB4F0906D35125EB0EDA0F40D4799273035A050520F64D548264615345B3A7688CE0C56AE1B74181E3ADCE299D4F2
50C8417DD282956E3BA7D0226DD4AE9D08D92C650882D63B08A3450C2D2A59C3D8862ACF21CFD9D5E486FDA45735A41C31C392E04EDB0B87458803D32C13EFFFB402DB594E87A17D2933441784C61598EF607BE11D6089F70A22A9F2A2463AE3315B
B3CBE175ECD1D38C5ADCA668A5B544DC6109006430921A40FE2E0C761EED417A9D5314B4A331BCEDBEE0169410E86FC32BDBA21592B2C3EB22361585A7E06B7E4CD7042E4D1F5D565F577DBFEF5BAF7B59752AA3B862D537C93576A903E0D0153747
F5C5650E408F22F26554212CFECD54F6119DBB
000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000
cleartomark
%%BeginAGDEmbeddedDoc: version 1.0
%:s8W,W5t=="^::eu!!!O"GQHorH[$7T)90FZc0e7,"NVo/+:,ol
%:s8VH(!`9WAZiicf!'sI*+J8d*!XKOC0j.m1,e.[#Lo%01[:$8r7BHVp6#2B\Q)YS!_(PW7$KG?V9MAQ;5B93^7OULa3K)o+5Q0MW4Z"$h:O@Nb#3,k+g0'iVk'>^;[D9kGmP"gTukU2JGN/"MjoW/Eq=Bj%&*gadLP.cq;;J&VG-d=+l\::cQR2)hM&3[S+H0-JQ]OUN1[@*YFs!]&=>M%]I7jN4u*MB]SDkmID90bLIj
%:%jVeRnP*%si]='-(!"3r0?3ZX'"o.6hg09)5Eoq7m^pO#k_CGnpJ)]Ph%)TYiB0UB[,:+-;3&=3]sVR+8gPKJ)pWN3qdE!Y`[&TJa67_B*6GYN$T$p;l,p9%[AUPjAF:<_Puh0B_[11:Um3cVG#%"`M+"XAlH,51Ek88:*,i!MCqYG%X2GdPqCLT)4B1>mBX=/<28qmoiTmurj\d.R.%e(YiT#W>,V?mNJ0+mL\9/WX%TjCfQt!%F
%:?5$RGfS]G>NCWo7GaR">&Q4(#UL!W9u/BhfON'6[9^b)Q@il7@3ceOc/m.X%8aC)L]b-)ZWA)G]Cl0h<%F>-bn)d7Ui,D6o[GaFReD0_./C.\ri=LlS;QW)r]&W^Yn1Bf2%*aSOWe-kc;7ebt8"U6D5EUm2-NS?Q>l"-055Elkp5]_J`p'6U@R"q[l0+%ct&Ltm;TM53nlL&90[^ZEsHSE;Fq
%:@Y5D)o7NVV4isrTK"CSu4j4+jCR0[TS(dr%3sIR!TI+*[)B:F#O=O4n;OKWaPOmrYR=O!]Bb"3TUpa=PR1u#)Mq65:f,:JN_$Wi;9?B]tXK'tlZ2-MA_&W8<1mh%RFU/GQ';9j^NiK:#QkQW\NGOsuX.M0o&md7&L.:nM7J14@,48U9ba_0PpCIO8glIDm+&N'cpi!M`Jo==FA^"h2>*K8_e1l[oR)Ka&1'2Zl+"B_us$lEH]DiuGq08P5m*OMbjuc;ki^p1;C]>gs0fNuCs\%cuFF2+*k;174aeF;c^6WcYjP3n:7W7k2KUS0G^,NDAb]HMeA[B-9$`:;Zr`3gia:;e\4'k7G9aB$ff72Ssg_GiQjl5Erb`-7uhp
%:p9!b"m90=bY$sHiK"Ya;TtnBQjhth$HIBi[q*!,D:3rES4^L\Rejs"\DViI1FTlJpc&E0+>1^,.I9$\H=")L0$gA:poX94'OOfXfDk"MYhK%tb\u%@LaqU#1Ue"8sdT@O?o?CE$XIgbQKX@UMH:dfW+g#H^Ps*s8kA^*8Tu#_:e5BEUcT:bQ8,LU>*H*a+mBn63\7'3BVYb!^KtYn\U:N^9Nn$DGk]QAX\$i4+mE-eF@8Zd[RAi!>ur3:;'s!LW?&GIMN;mSCXW!kPHsrI>"*atO=k="['fdhm7c6718\F3Ds\UPd+XeeBhc0&Kr!l]dME:*r:Wj2,0F$Udkd`!]6a*`[n]s7O/=dKr7rQ.@lgJX2[JY6/Wm2\nhD]
%:Bh`n>$:umMU_a@%_(Ce@5:I_N4mJ'lq>%ubVELC!U_fqjoVIH;:P:S(^=[i+=S:W`+mi-noW$ki+mm[a-N2C-P)_'@QSE47BT9C41pP6XdrU\T+DibpEi6T2EJ(E.9mUL\8M=##Qb2jJE`(p!>Ot/OS0<
%:8cLo,UfT%of*ghQFje+"T*T.*R<5ZV[_6tY)nMn(ko3MkqF3pM-6_2N,AeH'I1MOm'r7r6f1tB]X_V+(^*SK/DcNTO'@K$cdbBMKCN&a.>FP,MQ7!m54Z#lKd]68:q@5sj:*JH"-.;eZa+^ljKljLC[Qh"O?C.a-:&:2*,^m-GI?0K@s)"84>It]qes/h1*u;6?g7#3\>*E9V6IKWal$J+@p?O"&7[1/_EhB2/]6]\m+"OCIpIF%X
%:8(3q!Y>RpfIRSRRON*lik+jM&Sg'sn.\rD+ZR^'Dp:=d/CXN`hOS"0_oWNsjZi(sC,]%_u?6S]5G>'sNo!F?iO/=f!hkZA+D\_LG6FuuA&!1*TqfE0?E*lWT,/>;HXZ^\;]$GP)7:MkdH&MDbDo[u&^:,]P0=dl'qCC^'Hf>L842G8f:,V-k77V5][\'7M`paeN^=o!jq4:+p/l.\)9q2!%W>)bj"pU+bLM
%:[TUcAV%i:&959B5'.SAOZI>'8MM&(I=49'"Z0=h/-0Qc]IFQN]5O."6a@]C*9`%LpdaU-_o:/5=.%BLafnoK=b,.4qaFd&_8HmR7S17[PL)b:Y^7)L`fKVo:ZTX<@EUS:-'!=[DBo37"7pnYVFCio*'[A%"gSd@A[QsC7aOD`E&Z%T,-VIAjKguQ@2!&In:pi'([#GFFoLGlG^f,dmA/.(WXKKDh'hu4?p`h5WF;7`Elr2T%YJ_F6
%:XB`4j<03toe1Hr[A272d;]UX`FbqcOgUk3H-8R_"QC^>gmZpm+5o@5IHX(Ns.Lhcobu^;a%9.2OsBZrPpl)X`ge>oqH%(6T8`VX;Ta3QN(\5/`dM-Xi+iN:u5TM5>q&o[Zk^*(Z>1sK]nc":#5#Ga3f)&"/d\8fp=T\:>D)Hq;6kM$kDBl>YM`U$>cb$!j?*u28h3Tjpl%Y
%:Z?c>M);&)25;+^A[h#mU=!5-`68PkE(^E/O=B7gC_>jQ##31M)0t+8M0=*2TZYV/jL&O]/o.3`Y>]R87luUZ'lC;/&^K7(r3FC0l6pVl,#.2's;@nm;G/6Kp.)R/'K0>HbWUNcL,PH-4?a*=(iR=&u-u&r2oJ3M+iT&^[.Xb.4iZY["Td5PIkAB5ehMI\#Hk0^,ur
%:Z"r`LAd9lj$H6?J>4k"t@Kfe#9mNjEK<\U2[7XBYjZ"mG]l1%6f5S=iFXaknVrVZ#Ml0mieNVaQU8sY\a]"Cg9hQ%>2X7?BCRVG#*b?!#$(HQ(F\SALRlnij"0-T?fd'7Q8lIXM77M^bUaqouL8b;&:#3,QaH4U9-qndq5oKH4lC-'P0mT!X=>>)tdC%LZnf#e`^*,Ws^sc4ba==D)g!%J\V(#)=#KNVjS(bd@7q4Df'BY^Mq8E&+
%:1hBT7;DC=/fu0Y:l"MUoAB:<#2-Jb@GSG4%*d(1jQ^BnXVJ1k26(55J08'6Io^MjJr&14-*d:TR%-)?CV.eRt.K$O59duo<0BGa;Q.N`f(7XklMPelF#GR_U9ZuZ/*8$ZM;s6_n5$^]8kTV"=MUHm`KU1!HFG]I++U.t*Z(a,;EWMe_c\L_$/#_l$adqpCK%j@\jbO8046Nq_bXH>6Ejfh,1mSB!eh21j\YGV[TIK+,+%.%ruk?Q%q,;hoWYB]sbs3b1QOdiOZPXm?0]X-\4K"$UH$ki0=n402X_cmT9gFqC$*/=&rh@jZHcj/,3jCI6Y@jW7"*5h)+KZ?EeEi:M]UqPubpJB7coR9^adn-m+<2o5V7AQbf+3(1nj901&t2,RSR[.Dag`p66d&(,$jJ+tfA)hB&Y="B9=q\Tar.)8gX,])i-j/]11\2PahJI=]IctH`b`l`e&5e[_?f>QOa42/Gk@,GYt@c&4`*/XJN
%:1WdcA#!dIlpj>9Ba]%(\giI/(]>19F@qDFe\OhZ%626K\(.@G`2U]2qIa1X-V]7'"a5_J,m`4;#&nh4kihp$!;W/TA:rL`FHl02q]#n1E\-A>TD"$_qO2R)IBAhEa9POOTU&@5P\Y@LQ"&J.$3$$&1a<..;kmKOG?d`$JDu,p:Td01],uB,#A/Kb??s&/#A/\T?4/9L:_8ta>3[lgSmgl"e6jJ[27OP>Us'/-C.sH$U`&2UP"<#bM
%:PMa(6WTQr:#qA7]c]!&[)ZDe!P_!/j<\Ch6"GF(96)E--#=!!0E.AoD^,!!06'i]=IQ
%:9lNm;C&e6X7;QOPASuSi!Td7*D.7F"9PIsV@<-Vn!JXQbG]Z8gDef=RJ5frd<+06PAH2a\<)[mZBl7P`!"2(_6q2*4F8u;46Z6dZE]*mu7Sn,DE(k=p!!,D_Ec5H!A9Dp(!!'u3Bl7KY@<;JLa\6DdAQ3)ICh3SHcV/%oF8u=c:gnBQB6%F"BE/%m9ho,6AH2^56t(1G!!%jFBkMR/AH2]]6=FqL@n(0KC]FHV7;QOP9PJQiEge:g
%:!!%+0Ch7H[Ec5njF*%B^/OEleBk'hNDIieJVaklDA7]f^!HqC`H#.%gEc5njF*%B_E`6pqF@0t_DfR`9!(TCpCi!ZmFDl1"!4tp5H"D!r!A72WFD(XSTgs-AF`7<\,scQlDg,#dFD(XTKiDW.F@'e^@qu&FLK%i0F@0t_F_u!r!!!$4!N,s=!N,s=!N,s=!7(Ya!6"rW!6"rW!6"rW!6"rW!6"ra!$qUk!$qUk!$qUk!$qWk*CO&n
%:!N,s=!N,s=!N,s=!N,s=!N,s=!7(Z*!(d04!8mmU!4r5Q!8mjh!-A3_!2fhT!N,q0!-A7>!94(>!%e32!HnJ'!8mk;!8mk;!N,sK!%\/K!"/h*!NlDS!-A5o!It3R!-A5o!It3R!-A5o!It3R!-A5o!It3R!-A5o!It3R!-A5o!It3R!-A5o!It3R!-A5o!It3R!-A5o!It3R!-A5o!It3R!-A5o!It3R!-A5o!It3R!-A5od6,>-
%:!It3R!-A5o!It3R!-A5o!It3R!-A5o!It3R!-A5o!It3R!-A5o!It3R!-A5o!It3R!-A5o!It3R!-A5o!It3R!-A5o!It3R!-A5o!It3R!-A5o!It3R!-A5o!It3R!-A5o!It3R!-A5o!%e1m!A4@o!A4@o!A4@o!A4@o!A4@o!A4@o!A4@o!A4@o!A4B4!-A7J!NlHX!NlGI!Ik-Q!8mmY!6G7s!%e1m!A4@(!-A5o!-A5od%JC`
%:!-A5o!-A5o!8mmU!4r6W!94*_!HnIh!-A4e!>>Ik!UBdJ!&Xc:!-A4=!94'$!8mjN!NlF\!94*X!94*X!94*X!94*X!94(D!94*X!8mj8!94*X!94&^!94*X!94(D!94(D!Cd(L!8mj,7VlLTAOL*>De*DZs8W-!bIY)%
%:~>
%%EndAGDEmbeddedDoc
%%BeginResource: procset Altsys_header 4 0
userdict begin /AltsysDict 300 dict def end
AltsysDict begin
/bdf{bind def}bind def
/xdf{exch def}bdf
/defed{where{pop true}{false}ifelse}bdf
/ndf{1 index where{pop pop pop}{dup xcheck{bind}if def}ifelse}bdf
/d{setdash}bdf
/h{closepath}bdf
/H{}bdf
/J{setlinecap}bdf
/j{setlinejoin}bdf
/M{setmiterlimit}bdf
/n{newpath}bdf
/N{newpath}bdf
/q{gsave}bdf
/Q{grestore}bdf
/w{setlinewidth}bdf
/Xic{matrix invertmatrix concat}bdf
/Xq{matrix currentmatrix mark}bdf
/XQ{cleartomark setmatrix}bdf
/sepdef{
dup where not
{
AltsysSepDict
}
if
3 1 roll exch put
}bdf
/st{settransfer}bdf
/colorimage defed /_rci xdf
/cntr 0 def
/readbinarystring{
/cntr 0 def
2 copy readstring
{
{
dup
(\034) search
{
length exch pop exch
dup length 0 ne
{
dup dup 0 get 32 sub 0 exch put
/cntr cntr 1 add def
}
{
pop 1 string dup
0 6 index read pop 32 sub put
}ifelse
3 copy
putinterval pop
1 add
1 index length 1 sub
1 index sub
dup 0 le {pop pop exit}if
getinterval
}
{
pop exit
} ifelse
} loop
}if
cntr 0 gt
{
pop 2 copy
dup length cntr sub cntr getinterval
readbinarystring
} if
pop exch pop
} bdf
/_NXLevel2 defed {
_NXLevel2 not {
/colorimage where {
userdict eq {
/_rci false def
} if
} if
} if
} if
/md defed{
md type /dicttype eq {
/colorimage where {
md eq {
/_rci false def
}if
}if
/settransfer where {
md eq {
/st systemdict /settransfer get def
}if
}if
}if
}if
/setstrokeadjust defed
{
true setstrokeadjust
/C{curveto}bdf
/L{lineto}bdf
/m{moveto}bdf
}
{
/dr{transform .25 sub round .25 add
exch .25 sub round .25 add exch itransform}bdf
/C{dr curveto}bdf
/L{dr lineto}bdf
/m{dr moveto}bdf
/setstrokeadjust{pop}bdf
}ifelse
/privrectpath {
4 -2 roll m
dtransform round exch round exch idtransform
2 copy 0 lt exch 0 lt xor
{dup 0 exch rlineto exch 0 rlineto neg 0 exch rlineto}
{exch dup 0 rlineto exch 0 exch rlineto neg 0 rlineto}
ifelse
closepath
}bdf
/rectclip{newpath privrectpath clip newpath}def
/rectfill{gsave newpath privrectpath fill grestore}def
/rectstroke{gsave newpath privrectpath stroke grestore}def
/_fonthacksave false def
/currentpacking defed
{
/_bfh {/_fonthacksave currentpacking def false setpacking} bdf
/_efh {_fonthacksave setpacking} bdf
}
{
/_bfh {} bdf
/_efh {} bdf
}ifelse
/packedarray{array astore readonly}ndf
/`
{
false setoverprint
/-save0- save def
5 index concat
pop
storerect left bottom width height rectclip
pop
/MMdict_count countdictstack def
/MMop_count count 1 sub def
userdict begin
/showpage {} def
0 setgray 0 setlinecap 1 setlinewidth
0 setlinejoin 10 setmiterlimit [] 0 setdash newpath
} bdf
/currentpacking defed{true setpacking}if
/min{2 copy gt{exch}if pop}bdf
/max{2 copy lt{exch}if pop}bdf
/xformfont { currentfont exch makefont setfont } bdf
/fhnumcolors 1
statusdict begin
/processcolors defed
{
pop processcolors
}
{
/deviceinfo defed {
deviceinfo /Colors known {
pop deviceinfo /Colors get
} if
} if
} ifelse
end
def
% pix = x^2 + y^2
/printerRes
gsave
matrix defaultmatrix setmatrix
72 72 dtransform
abs exch abs
max
grestore
def
/graycalcs
[
{Angle Frequency}
{GrayAngle GrayFrequency}
{0 Width Height matrix defaultmatrix idtransform
dup mul exch dup mul add sqrt 72 exch div}
{0 GrayWidth GrayHeight matrix defaultmatrix idtransform
dup mul exch dup mul add sqrt 72 exch div}
] def
/calcgraysteps {
forcemaxsteps
{
maxsteps
}
{
/currenthalftone defed
{currenthalftone /dicttype eq}{false}ifelse
{
currenthalftone begin
HalftoneType 4 le
{graycalcs HalftoneType 1 sub get exec}
{
HalftoneType 5 eq
{
Default begin
{graycalcs HalftoneType 1 sub get exec}
end
}
{0 60}
ifelse
}
ifelse
end
}
{
currentscreen pop exch
}
ifelse
printerRes 300 max exch div exch
2 copy
sin mul round dup mul
3 1 roll
cos mul round dup mul
add 1 add
dup maxsteps gt {pop maxsteps} if
dup minsteps lt {pop minsteps} if
}
ifelse
} bdf
/nextrelease defed {
/languagelevel defed not {
/framebuffer defed {
0 40 string framebuffer 9 1 roll 8 {pop} repeat
dup 516 eq exch 520 eq or
{
/fhnumcolors 3 def
/currentscreen {60 0 {pop pop 1}}bdf
/calcgraysteps {maxsteps} bdf
}if
}if
}if
}if
fhnumcolors 1 ne {
/calcgraysteps {maxsteps} bdf
} if
/currentpagedevice defed {
currentpagedevice /PreRenderingEnhance known
{
currentpagedevice /PreRenderingEnhance get
{
/calcgraysteps
{
forcemaxsteps
{maxsteps}
{256 maxsteps min}
ifelse
} def
} if
} if
} if
/gradfrequency 144 def
printerRes 1000 lt {
/gradfrequency 72 def
} if
/adjnumsteps {
dup dtransform abs exch abs max
printerRes div
gradfrequency mul
round
5 max
min
}bdf
/goodsep {
spots exch get 4 get dup sepname eq exch (_vc_Registration) eq or
}bdf
/BeginGradation defed
{/bb{BeginGradation}bdf}
{/bb{}bdf}
ifelse
/EndGradation defed
{/eb{EndGradation}bdf}
{/eb{}bdf}
ifelse
/bottom -0 def
/delta -0 def
/frac -0 def
/height -0 def
/left -0 def
/numsteps1 -0 def
/radius -0 def
/right -0 def
/top -0 def
/width -0 def
/xt -0 def
/yt -0 def
/df currentflat def
/tempstr 1 string def
/clipflatness currentflat def
/inverted?
0 currenttransfer exec .5 ge def
/tc1 [0 0 0 1] def
/tc2 [0 0 0 1] def
/storerect{/top xdf /right xdf /bottom xdf /left xdf
/width right left sub def /height top bottom sub def}bdf
/concatprocs{
systemdict /packedarray known
{dup type /packedarraytype eq 2 index type /packedarraytype eq or}{false}ifelse
{
/proc2 exch cvlit def /proc1 exch cvlit def
proc1 aload pop proc2 aload pop
proc1 length proc2 length add packedarray cvx
}
{
/proc2 exch cvlit def /proc1 exch cvlit def
/newproc proc1 length proc2 length add array def
newproc 0 proc1 putinterval newproc proc1 length proc2 putinterval
newproc cvx
}ifelse
}bdf
/i{dup 0 eq
{pop df dup}
{dup} ifelse
/clipflatness xdf setflat
}bdf
version cvr 38.0 le
{/setrgbcolor{
currenttransfer exec 3 1 roll
currenttransfer exec 3 1 roll
currenttransfer exec 3 1 roll
setrgbcolor}bdf}if
/vms {/vmsv save def} bdf
/vmr {vmsv restore} bdf
/vmrs{vmsv restore /vmsv save def}bdf
/eomode{
{/filler /eofill load def /clipper /eoclip load def}
{/filler /fill load def /clipper /clip load def}
ifelse
}bdf
/normtaper{}bdf
/logtaper{9 mul 1 add log}bdf
/CD{
/NF exch def
{
exch dup
/FID ne 1 index/UniqueID ne and
{exch NF 3 1 roll put}
{pop pop}
ifelse
}forall
NF
}bdf
/MN{
1 index length
/Len exch def
dup length Len add
string dup
Len
4 -1 roll
putinterval
dup
0
4 -1 roll
putinterval
}bdf
/RC{4 -1 roll /ourvec xdf 256 string cvs(|______)anchorsearch
{1 index MN cvn/NewN exch def cvn
findfont dup maxlength dict CD dup/FontName NewN put dup
/Encoding ourvec put NewN exch definefont pop}{pop}ifelse}bdf
/RF{
dup
FontDirectory exch
known
{pop 3 -1 roll pop}
{RC}
ifelse
}bdf
/FF{dup 256 string cvs(|______)exch MN cvn dup FontDirectory exch known
{exch pop findfont 3 -1 roll pop}
{pop dup findfont dup maxlength dict CD dup dup
/Encoding exch /Encoding get 256 array copy 7 -1 roll
{3 -1 roll dup 4 -2 roll put}forall put definefont}
ifelse}bdf
/RCJ{4 -1 roll
/ourvec xdf
256 string cvs
(|______) anchorsearch
{pop
cvn
dup FDFJ
exch
1 index
eq
{
_bfh findfont _efh
dup
maxlength dict
CD
dup
/FontName
3 index
put
dup
/Encoding ourvec put
1 index
exch
definefont
pop
}
{exch pop}
ifelse
}
{pop}
ifelse
}bdf
/RFJ{
dup
FontDirectory exch
known
{pop 3 -1 roll pop}
{RCJ}
ifelse
}bdf
/hasfont
{
/resourcestatus where
{
pop
/Font resourcestatus
{
pop pop true
}
{
false
}
ifelse
}
{
dup FontDirectory exch known
{pop true}
{
256 string
cvs
(fonts/) exch MN
status
{pop pop pop pop true}
{false}
ifelse
}
ifelse
}
ifelse
}bdf
/FDFJ
{
dup
hasfont
not
{
pop
/Ryumin-Light-83pv-RKSJ-H
hasfont
{
/Ryumin-Light-83pv-RKSJ-H
}
{
/Courier
}
ifelse
}
if
}bdf
/FFJ{
_bfh
dup
256 string cvs
(|______)exch MN
cvn
dup
FontDirectory
exch known
{
exch
pop
findfont
3 -1 roll
pop
}
{
pop
FDFJ
dup findfont
dup maxlength dict
CD
dup dup
/Encoding exch
/Encoding get
256 array copy
7 -1 roll
{
3 -1 roll
dup
4 -2 roll
put
}forall
put
definefont
}
ifelse
_efh
}bdf
/GS {
dup
hasfont
{
findfont
exch makesetfont
exch
pop
ts
}
{
pop pop pop
ts
} ifelse
} bdf
/RCK{4 -1 roll
/ourvec xdf
256 string cvs
(|______) anchorsearch
{pop
cvn
dup FDFK
exch
1 index
eq
{
_bfh findfont _efh
dup
maxlength dict
CD
dup
/FontName
3 index
put
dup
/Encoding ourvec put
1 index
exch
definefont
pop
}
{exch pop}
ifelse
}
{pop}
ifelse
}bdf
/RFK{
dup
FontDirectory exch
known
{pop 3 -1 roll pop}
{RCK}
ifelse
}bdf
/hasfont
{
/resourcestatus where
{
pop
/Font resourcestatus
{
pop pop true
}
{
false
}
ifelse
}
{
dup FontDirectory exch known
{pop true}
{
256 string
cvs
(fonts/) exch MN
status
{pop pop pop pop true}
{false}
ifelse
}
ifelse
}
ifelse
}bdf
/FDFK
{
dup
hasfont
not
{
pop
/JCsm
hasfont
{
/JCsm
}
{
/Courier
}
ifelse
}
if
}bdf
/FFK{
_bfh
dup
256 string cvs
(|______)exch MN
cvn
dup
FontDirectory
exch known
{
exch
pop
findfont
3 -1 roll
pop
}
{
pop
FDFK
dup findfont
dup maxlength dict
CD
dup dup
/Encoding exch
/Encoding get
256 array copy
7 -1 roll
{
3 -1 roll
dup
4 -2 roll
put
}forall
put
definefont
}
ifelse
_efh
}bdf
/RCTC{4 -1 roll
/ourvec xdf
256 string cvs
(|______) anchorsearch
{pop
cvn
dup FDFTC
exch
1 index
eq
{
_bfh findfont _efh
dup
maxlength dict
CD
dup
/FontName
3 index
put
dup
/Encoding ourvec put
1 index
exch
definefont
pop
}
{exch pop}
ifelse
}
{pop}
ifelse
}bdf
/RFTC{
dup
FontDirectory exch
known
{pop 3 -1 roll pop}
{RCTC}
ifelse
}bdf
/FDFTC
{
dup
hasfont
not
{
pop
/DFMing-Lt-HK-BF
hasfont
{
/DFMing-Lt-HK-BF
}
{
/Courier
}
ifelse
}
if
}bdf
/FFTC{
_bfh
dup
256 string cvs
(|______)exch MN
cvn
dup
FontDirectory
exch known
{
exch
pop
findfont
3 -1 roll
pop
}
{
pop
FDFTC
dup findfont
dup maxlength dict
CD
dup dup
/Encoding exch
/Encoding get
256 array copy
7 -1 roll
{
3 -1 roll
dup
4 -2 roll
put
}forall
put
definefont
}
ifelse
_efh
}bdf
/fps{
currentflat
exch
dup 0 le{pop 1}if
{
dup setflat 3 index stopped
{1.3 mul dup 3 index gt{pop setflat pop pop stop}if}
{exit}
ifelse
}loop
pop setflat pop pop
}bdf
/fp{100 currentflat fps}bdf
/clipper{clip}bdf
/W{/clipper load 100 clipflatness dup setflat fps}bdf
/AVec 256 array def
AVec 0 /Helvetica findfont
/Encoding get 0 256 getinterval putinterval
/ANSIPatch[
16#0/grave 16#1/acute 16#2/circumflex 16#3/tilde 16#4/macron 16#5/breve
16#6/dotaccent 16#7/dieresis 16#8/ring 16#9/cedilla 16#A/hungarumlaut
16#B/ogonek 16#C/caron 16#D/dotlessi 16#27/quotesingle 16#60/grave
16#7C/bar 16#82/quotesinglbase 16#83/florin 16#84/quotedblbase 16#85
/ellipsis 16#86/dagger 16#87/daggerdbl 16#89/perthousand 16#8A/Scaron
16#8B/guilsinglleft 16#8C/OE 16#91/quoteleft 16#92/quoteright 16#93
/quotedblleft 16#94/quotedblright 16#95/bullet 16#96/endash 16#97/emdash
16#99/trademark 16#9A/scaron 16#9B/guilsinglright 16#9C/oe
16#9F/Ydieresis 16#A0/space 16#A4/currency 16#A6/brokenbar
16#A7/section 16#A8/dieresis 16#A9/copyright 16#AA/ordfeminine 16#AB/guillemotleft
16#AC/logicalnot 16#AD/hyphen 16#AE/registered 16#AF/macron 16#B0/degree
16#B1/plusminus 16#B2/twosuperior 16#B3/threesuperior 16#B4/acute 16#B5/mu
16#B6/paragraph 16#B7/periodcentered 16#B8/cedilla 16#B9/onesuperior
16#BA/ordmasculine 16#BB/guillemotright 16#BC/onequarter 16#BD/onehalf
16#BE/threequarters 16#BF/questiondown 16#C0/Agrave 16#C1/Aacute 16#C2/Acircumflex
16#C3/Atilde 16#C4/Adieresis 16#C5/Aring 16#C6/AE 16#C7/Ccedilla 16#C8/Egrave
16#C9/Eacute 16#CA/Ecircumflex 16#CB/Edieresis 16#CC/Igrave 16#CD/Iacute
16#CE/Icircumflex 16#CF/Idieresis 16#D0/Eth 16#D1/Ntilde 16#D2/Ograve
16#D3/Oacute 16#D4/Ocircumflex 16#D5/Otilde 16#D6/Odieresis 16#D7/multiply
16#D8/Oslash 16#D9/Ugrave 16#DA/Uacute 16#DB/Ucircumflex 16#DC/Udieresis
16#DD/Yacute 16#DE/Thorn 16#DF/germandbls 16#E0/agrave 16#E1/aacute
16#E2/acircumflex 16#E3/atilde 16#E4/adieresis 16#E5/aring 16#E6/ae
16#E7/ccedilla 16#E8/egrave 16#E9/eacute 16#EA/ecircumflex 16#EB/edieresis
16#EC/igrave 16#ED/iacute 16#EE/icircumflex 16#EF/idieresis 16#F0/eth
16#F1/ntilde 16#F2/ograve 16#F3/oacute 16#F4/ocircumflex 16#F5/otilde
16#F6/odieresis 16#F7/divide 16#F8/oslash 16#F9/ugrave 16#FA/uacute
16#FB/ucircumflex 16#FC/udieresis 16#FD/yacute 16#FE/thorn 16#FF/ydieresis
] def
127 1 159 { AVec exch/bullet put } for
ANSIPatch aload pop ANSIPatch length 2 idiv{AVec 3 1 roll put}repeat
/DoPatch { dup /CharStrings known
{ setfont
0 1 255 { dup
currentfont
/Encoding get
exch get
currentfont /CharStrings get
exch known
{pop} {currentfont /Encoding get exch /bullet put} ifelse
} for
} {pop} ifelse
} def
/findheaderfont {
AVec 256 array copy
/FHT /|______Helvetica dup RF findfont def
FHT DoPatch
FHT
} def
end %. AltsysDict
%%EndResource
%%EndProlog
%%BeginSetup
AltsysDict begin
_bfh
%%IncludeResource: font Gen_Arial
/f0 /Gen_Arial findfont def
_efh
end %. AltsysDict
%%EndSetup
AltsysDict begin
/onlyk4{false}ndf
/ccmyk{dup 5 -1 roll sub 0 max exch}ndf
/cmyk2gray{
4 -1 roll 0.3 mul 4 -1 roll 0.59 mul 4 -1 roll 0.11 mul
add add add 1 min neg 1 add
}bdf
/setcmykcolor{1 exch sub ccmyk ccmyk ccmyk pop setrgbcolor}ndf
/maxcolor {
max max max
} ndf
/maxspot {
pop
} ndf
/setcmykcoloroverprint{4{dup -1 eq{pop 0}if 4 1 roll}repeat setcmykcolor}ndf
/findcmykcustomcolor{5 packedarray}ndf
/setcustomcolor{exch aload pop pop 4{4 index mul 4 1 roll}repeat setcmykcolor pop}ndf
/setseparationgray{setgray}ndf
/setoverprint{pop}ndf
/currentoverprint false ndf
/cmykbufs2gray{
0 1 2 index length 1 sub
{
4 index 1 index get 0.3 mul
4 index 2 index get 0.59 mul
4 index 3 index get 0.11 mul
4 index 4 index get
add add add cvi 255 min
255 exch sub
2 index 3 1 roll put
}for
4 1 roll pop pop pop
}bdf
/colorimage{
pop pop
[
5 -1 roll/exec cvx
6 -1 roll/exec cvx
7 -1 roll/exec cvx
8 -1 roll/exec cvx
/cmykbufs2gray cvx
]cvx
image
}
%. version 47.1 on Linotronic of Postscript defines colorimage incorrectly (rgb model only)
version cvr 47.1 le
statusdict /product get (Lino) anchorsearch{pop pop true}{pop false}ifelse
and{userdict begin bdf end}{ndf}ifelse
fhnumcolors 1 ne {/yt save def} if
/customcolorimage{
aload pop
(_vc_Registration) eq
{
pop pop pop pop separationimage
}
{
/ik xdf /iy xdf /im xdf /ic xdf
ic im iy ik cmyk2gray /xt xdf
currenttransfer
{dup 1.0 exch sub xt mul add}concatprocs
st
image
}
ifelse
}ndf
fhnumcolors 1 ne {yt restore} if
fhnumcolors 3 ne {/yt save def} if
/customcolorimage{
aload pop
(_vc_Registration) eq
{
pop pop pop pop separationimage
}
{
/ik xdf /iy xdf /im xdf /ic xdf
1.0 dup ic ik add min sub
1.0 dup im ik add min sub
1.0 dup iy ik add min sub
/ic xdf /iy xdf /im xdf
currentcolortransfer
4 1 roll
{dup 1.0 exch sub ic mul add}concatprocs 4 1 roll
{dup 1.0 exch sub iy mul add}concatprocs 4 1 roll
{dup 1.0 exch sub im mul add}concatprocs 4 1 roll
setcolortransfer
{/dummy xdf dummy}concatprocs{dummy}{dummy}true 3 colorimage
}
ifelse
}ndf
fhnumcolors 3 ne {yt restore} if
fhnumcolors 4 ne {/yt save def} if
/customcolorimage{
aload pop
(_vc_Registration) eq
{
pop pop pop pop separationimage
}
{
/ik xdf /iy xdf /im xdf /ic xdf
currentcolortransfer
{1.0 exch sub ik mul ik sub 1 add}concatprocs 4 1 roll
{1.0 exch sub iy mul iy sub 1 add}concatprocs 4 1 roll
{1.0 exch sub im mul im sub 1 add}concatprocs 4 1 roll
{1.0 exch sub ic mul ic sub 1 add}concatprocs 4 1 roll
setcolortransfer
{/dummy xdf dummy}concatprocs{dummy}{dummy}{dummy}
true 4 colorimage
}
ifelse
}ndf
fhnumcolors 4 ne {yt restore} if
/separationimage{image}ndf
/spotascmyk false ndf
/newcmykcustomcolor{6 packedarray}ndf
/inkoverprint false ndf
/setinkoverprint{pop}ndf
/setspotcolor {
spots exch get
dup 4 get (_vc_Registration) eq
{pop 1 exch sub setseparationgray}
{0 5 getinterval exch setcustomcolor}
ifelse
}ndf
/currentcolortransfer{currenttransfer dup dup dup}ndf
/setcolortransfer{st pop pop pop}ndf
/fas{}ndf
/sas{}ndf
/fhsetspreadsize{pop}ndf
/filler{fill}bdf
/F{gsave {filler}fp grestore}bdf
/f{closepath F}bdf
/S{gsave {stroke}fp grestore}bdf
/s{closepath S}bdf
userdict /islevel2
systemdict /languagelevel known dup
{
pop systemdict /languagelevel get 2 ge
} if
put
islevel2 not
{
/currentcmykcolor
{
0 0 0 1 currentgray sub
} ndf
} if
/tc
{
gsave
setcmykcolor currentcmykcolor
grestore
} bind def
/testCMYKColorThrough
{
tc add add add 0 ne
} bind def
/fhiscomposite where not {
userdict /fhiscomposite
islevel2
{
gsave 1 1 1 1 setcmykcolor currentcmykcolor grestore
add add add 4 eq
}
{
1 0 0 0 testCMYKColorThrough
0 1 0 0 testCMYKColorThrough
0 0 1 0 testCMYKColorThrough
0 0 0 1 testCMYKColorThrough
and and and
} ifelse
put
}
{ pop }
ifelse
/bc4 [0 0 0 0] def
/_lfp4 {
1 pop
/yt xdf
/xt xdf
/ang xdf
storerect
/taperfcn xdf
/k2 xdf /y2 xdf /m2 xdf /c2 xdf
/k1 xdf /y1 xdf /m1 xdf /c1 xdf
c1 c2 sub abs
m1 m2 sub abs
y1 y2 sub abs
k1 k2 sub abs
maxcolor
calcgraysteps mul abs round
height abs adjnumsteps
dup 1 lt {pop 1} if
1 sub /numsteps1 xdf
currentflat mark
currentflat clipflatness
/delta top bottom sub numsteps1 1 add div def
/right right left sub def
/botsv top delta sub def
{
{
W
xt yt translate
ang rotate
xt neg yt neg translate
dup setflat
/bottom botsv def
0 1 numsteps1
{
numsteps1 dup 0 eq {pop pop 0.5} {div} ifelse
taperfcn /frac xdf
bc4 0 c2 c1 sub frac mul c1 add put
bc4 1 m2 m1 sub frac mul m1 add put
bc4 2 y2 y1 sub frac mul y1 add put
bc4 3 k2 k1 sub frac mul k1 add put
bc4 vc
1 index setflat
{
mark {newpath left bottom right delta rectfill}stopped
{cleartomark exch 1.3 mul dup setflat exch 2 copy gt{stop}if}
{cleartomark exit}ifelse
}loop
/bottom bottom delta sub def
}for
}
gsave stopped grestore
{exch pop 2 index exch 1.3 mul dup 100 gt{cleartomark setflat stop}if}
{exit}ifelse
}loop
cleartomark setflat
}bdf
/bcs [0 0] def
/_lfs4 {
/yt xdf
/xt xdf
/ang xdf
storerect
/taperfcn xdf
/tint2 xdf
/tint1 xdf
bcs exch 1 exch put
tint1 tint2 sub abs
bcs 1 get maxspot
calcgraysteps mul abs round
height abs adjnumsteps
dup 2 lt {pop 2} if
1 sub /numsteps1 xdf
currentflat mark
currentflat clipflatness
/delta top bottom sub numsteps1 1 add div def
/right right left sub def
/botsv top delta sub def
{
{
W
xt yt translate
ang rotate
xt neg yt neg translate
dup setflat
/bottom botsv def
0 1 numsteps1
{
numsteps1 div taperfcn /frac xdf
bcs 0
1.0 tint2 tint1 sub frac mul tint1 add sub
put bcs vc
1 index setflat
{
mark {newpath left bottom right delta rectfill}stopped
{cleartomark exch 1.3 mul dup setflat exch 2 copy gt{stop}if}
{cleartomark exit}ifelse
}loop
/bottom bottom delta sub def
}for
}
gsave stopped grestore
{exch pop 2 index exch 1.3 mul dup 100 gt{cleartomark setflat stop}if}
{exit}ifelse
}loop
cleartomark setflat
}bdf
/_rfs6 {
/tint2 xdf
/tint1 xdf
bcs exch 1 exch put
/inrad xdf
/radius xdf
/yt xdf
/xt xdf
tint1 tint2 sub abs
bcs 1 get maxspot
calcgraysteps mul abs round
radius inrad sub abs
adjnumsteps
dup 1 lt {pop 1} if
1 sub /numsteps1 xdf
radius inrad sub numsteps1 dup 0 eq {pop} {div} ifelse
2 div /halfstep xdf
currentflat mark
currentflat clipflatness
{
{
dup setflat
W
0 1 numsteps1
{
dup /radindex xdf
numsteps1 dup 0 eq {pop pop 0.5} {div} ifelse
/frac xdf
bcs 0
tint2 tint1 sub frac mul tint1 add
put bcs vc
1 index setflat
{
newpath mark
xt yt radius inrad sub 1 frac sub mul halfstep add inrad add 0 360
{ arc
radindex numsteps1 ne
inrad 0 gt or
{
xt yt
numsteps1 0 eq
{ inrad }
{
radindex 1 add numsteps1 div 1 exch sub
radius inrad sub mul halfstep add inrad add
}ifelse
dup xt add yt moveto
360 0 arcn
} if
fill
}stopped
{cleartomark exch 1.3 mul dup setflat exch 2 copy gt{stop}if}
{cleartomark exit}ifelse
}loop
}for
}
gsave stopped grestore
{exch pop 2 index exch 1.3 mul dup 100 gt{cleartomark setflat stop}if}
{exit}ifelse
}loop
cleartomark setflat
}bdf
/_rfp6 {
1 pop
/k2 xdf /y2 xdf /m2 xdf /c2 xdf
/k1 xdf /y1 xdf /m1 xdf /c1 xdf
/inrad xdf
/radius xdf
/yt xdf
/xt xdf
c1 c2 sub abs
m1 m2 sub abs
y1 y2 sub abs
k1 k2 sub abs
maxcolor
calcgraysteps mul abs round
radius inrad sub abs
adjnumsteps
dup 1 lt {pop 1} if
1 sub /numsteps1 xdf
radius inrad sub numsteps1 dup 0 eq {pop} {div} ifelse
2 div /halfstep xdf
currentflat mark
currentflat clipflatness
{
{
dup setflat
W
0 1 numsteps1
{
dup /radindex xdf
numsteps1 dup 0 eq {pop pop 0.5} {div} ifelse
/frac xdf
bc4 0 c2 c1 sub frac mul c1 add put
bc4 1 m2 m1 sub frac mul m1 add put
bc4 2 y2 y1 sub frac mul y1 add put
bc4 3 k2 k1 sub frac mul k1 add put
bc4 vc
1 index setflat
{
newpath mark
xt yt radius inrad sub 1 frac sub mul halfstep add inrad add 0 360
{ arc
radindex numsteps1 ne
inrad 0 gt or
{
xt yt
numsteps1 0 eq
{ inrad }
{
radindex 1 add numsteps1 div 1 exch sub
radius inrad sub mul halfstep add inrad add
}ifelse
dup xt add yt moveto
360 0 arcn
} if
fill
}stopped
{cleartomark exch 1.3 mul dup setflat exch 2 copy gt{stop}if}
{cleartomark exit}ifelse
}loop
}for
}
gsave stopped grestore
{exch pop 2 index exch 1.3 mul dup 100 gt{cleartomark setflat stop}if}
{exit}ifelse
}loop
cleartomark setflat
}bdf
/lfp4{_lfp4}ndf
/lfs4{_lfs4}ndf
/rfs6{_rfs6}ndf
/rfp6{_rfp6}ndf
/cvc [0 0 0 1] def
/vc{
AltsysDict /cvc 2 index put
aload length dup 4 eq
{pop dup -1 eq{pop setrgbcolor}{setcmykcolor}ifelse}
{6 eq {sethexcolor} {setspotcolor} ifelse }
ifelse
}bdf
0 setseparationgray
/imgr {1692 1584 2304 2376 } def
/bleed 0 def
/clpr {1692 1584 2304 2376 } def
/xs 1 def
/ys 1 def
/botx 0 def
/overlap 0 def
/wdist 18 def
0 2 mul fhsetspreadsize
0 0 ne {/df 0 def /clipflatness 0 def} if
/maxsteps 256 def
/forcemaxsteps false def
/minsteps 0 def
userdict begin /AGDOrigMtx matrix currentmatrix def end
vms
-1751 -2014 translate
/currentpacking defed{false setpacking}if
/spots[
1 0 0 0 (Process Cyan) false newcmykcustomcolor
0 1 0 0 (Process Magenta) false newcmykcustomcolor
0 0 1 0 (Process Yellow) false newcmykcustomcolor
0 0 0 1 (Process Black) false newcmykcustomcolor
]def
/textopf false def
/curtextmtx{}def
/otw .25 def
/msf{dup/curtextmtx xdf makefont setfont}bdf
/makesetfont/msf load def
/curtextheight{.707104 .707104 curtextmtx dtransform
dup mul exch dup mul add sqrt}bdf
/ta2{
tempstr 2 index gsave exec grestore
cwidth cheight rmoveto
4 index eq{5 index 5 index rmoveto}if
2 index 2 index rmoveto
}bdf
/ta{exch systemdict/cshow known
{{/cheight xdf/cwidth xdf tempstr 0 2 index put ta2}exch cshow}
{{tempstr 0 2 index put tempstr stringwidth/cheight xdf/cwidth xdf ta2}forall}
ifelse 6{pop}repeat}bdf
/sts{/textopf currentoverprint def vc setoverprint
/ts{awidthshow}def exec textopf setoverprint}bdf
/stol{/xt currentlinewidth def
setlinewidth vc newpath
/ts{{false charpath stroke}ta}def exec
xt setlinewidth}bdf
/strk{/textopf currentoverprint def vc setoverprint
/ts{{false charpath stroke}ta}def exec
textopf setoverprint
}bdf
n
[] 0 d
3.863708 M
1 w
0 j
0 J
false setoverprint
0 i
false eomode
[0 0 0 1]vc
vms
1767.6334 2016.6434 m
1767.9679 2241.4959 L
0.7215 w
S
n
1955.5887 2016.6434 m
1955.5799 2241.4959 L
S
n
1993.1797 2016.6434 m
1993.4631 2241.1351 L
S
n
1917.9976 2016.6434 m
1918.0575 2241.1351 L
S
n
1880.4066 2016.6434 m
1880.1743 2241.4959 L
S
n
1842.8155 2016.6434 m
1843.0127 2240.7743 L
S
n
1805.2245 2016.6434 m
1805.1295 2241.4959 L
S
n
1768.8406 2241.5103 m
1993.4631 2241.4959 L
S
n
1768.8406 2053.5551 m
1992.7415 2053.5232 L
S
n
1768.8406 2015.9641 m
1993.8239 2015.2792 L
S
n
1768.8406 2091.1461 m
1993.4631 2091.0455 L
S
n
1768.8406 2128.7372 m
1993.1023 2128.5679 L
S
n
1768.8406 2166.3282 m
1993.4631 2166.0903 L
S
n
1768.8406 2203.9193 m
1993.4631 2203.252 L
S
n
2179.9995 2016.1458 m
2179.9907 2240.9983 L
S
n
2217.5905 2016.1458 m
2217.8739 2240.6375 L
S
n
2142.4084 2016.1458 m
2142.4683 2240.6375 L
S
n
2104.8174 2016.1458 m
2104.5851 2240.9983 L
S
n
2067.2263 2016.1458 m
2067.4235 2240.2767 L
S
n
2029.6353 2016.1458 m
2029.5403 2240.9983 L
S
n
vmrs
1993.2514 2241.0127 m
2217.8739 2240.9983 L
0.7215 w
S
n
1993.2514 2053.0575 m
2217.1523 2053.0256 L
S
n
1993.2514 2015.4665 m
2218.2347 2014.7816 L
S
n
1993.2514 2090.6485 m
2217.8739 2090.548 L
S
n
1993.2514 2128.2396 m
2217.5131 2128.0704 L
S
n
1993.2514 2165.8306 m
2217.8739 2165.5928 L
S
n
1993.2514 2203.4217 m
2217.8739 2202.7543 L
S
n
1862.5 2148 m
1901 2148.5 L
1 w
3.863693 M
[4 4 ] 0 d
S
[] 0 d
n
1901.5 2149 m
1901.5 2187 L
[4 4 ] 0 d
S
[] 0 d
n
1977 2069 m
2012 2069 L
[4 4 ] 0 d
S
[] 0 d
n
2197.5 2214 m
2197.5 2181.5 L
[4 4 ] 0 d
S
[] 0 d
n
2093 2068.5 m
2123 2068.5 L
2123 2107 L
2159.5 2106.5 L
2158 2069.5 L
2159 2107.5 L
2159 2146 L
[4 4 ] 0 d
S
[] 0 d
n
2044.5 2186 m
2045.5 2107 L
1969 2107 L
[4 4 ] 0 d
S
[] 0 d
n
1971.5 2220.5 m
2012 2220.5 L
2012 2147.5 L
[4 4 ] 0 d
S
[] 0 d
n
1781 2183 m
1822 2183 L
1822.5 2111 L
1866.5 2111 L
[4 4 ] 0 d
S
[] 0 d
n
1822 2110.5 m
1822 2072.5 L
[4 4 ] 0 d
S
[] 0 d
n
1759.5574 2184.6997 m
1751.5 2184.6997 L
1751.5 2159.5 L
1759.5574 2159.5 L
1759.5574 2184.6997 L
n
q
%%IncludeResource: font Gen_Arial
{
f0 [24 0 0 24 0 0] makesetfont
1751.5 2165.5 m
0 0 32 0 0 (r) ts
}
true
[0 0 0 1]sts
Q
false eomode
1991 2128 m
1955.5 2128.5 L
2 w
[0 0 0 1]vc
false setoverprint
S
n
1880.507 2129.0277 m
1880.5 2128.5 L
1918.5 2129 L
1918.5 2166 L
1993 2166 L
1993 2129 L
2029.5 2128.5 L
1955.5 2128 L
1956 2091.5 L
2030 2090.5 L
2029.5 2053 L
2067.5 2052.5 L
2067.5 2166 L
2218 2165.5 L
4 w
S
n
1767.5 2166.5 m
1805.5 2166.5 L
1804.5 2053.5 L
1843 2053.5 L
1842.5 2091.5 L
1880.5 2090.5 L
1880 2129 L
1843 2128.5 L
1843 2166.5 L
1881 2166.5 L
S
n
vmrs
2029.5 2128.5 m
2030 2166.5 L
4 w
3.863693 M
S
n
2045.5 2107 m
2045.5 2071.5 L
1 w
[4 4 ] 0 d
S
[] 0 d
n
vmr
vmr
end
%%Trailer
%%EndDocument
@endspecial 196 x Fu(Figure)31 b(3:)44 b(The)31 b(dashed)h(lines)g
(indicate)h(the)f(duals)g(of)f(f)o(ailed)h(edges.)52
b(The)31 b(bold)g(line)h(indicates)h(a)e(possible)i(path)51
1400 y(tak)o(en)25 b(by)e(the)h(adapti)n(v)o(e)h(algorithm.)p
3878 1445 V 0 1448 3882 4 v 0 1705 a(probe)37 b(comple)o(xity)h(is)d
(the)h(Crumbling)h(W)-7 b(alls)36 b(system.)66 b(This)35
b(system)i(ho)n(we)n(v)o(er)f(suf)n(fers)h(from)e(high)i(load.)66
b(Bazzi)0 1818 y(presented)36 b(in)e([4)q(])f(the)h(T)m(riangle)g
(Lattice)h(quorum)f(system,)j(which)d(some)n(what)g(resembles)i(P)o
(aths.)59 b(He)32 b(presents)k(an)0 1931 y(adapti)n(v)o(e)31
b(algorithm)g(for)e(\002nding)i(quorums)f(and)g(pro)o(v)o(es)g(that)g
(the)g(cost)g(for)f(f)o(ailures)j(of)d(it)g(\(i.e.)46
b(the)29 b(communication)0 2044 y(o)o(v)o(erhead)37 b(due)g(to)e
(encountering)40 b(a)35 b(f)o(ailed)i(processor\))i(is)c(constant.)68
b(Our)35 b(algorithm)j(enjo)o(ys)f(a)f(constant)i(cost)e(for)0
2157 y(f)o(ailures)25 b(as)f(well.)141 2270 y(As)32 b(before)i(we)e
(sho)n(w)g(ho)n(w)g(to)h(\002nd)f(a)g(left-right)j(path.)57
b(The)32 b(algorithm)i(is)e(a)h(v)n(ariant)h(of)e(a)g(DFS-search)h
(with)g(a)0 2383 y(speci\002ed)28 b(strate)o(gy)h(for)e(picking)i(the)e
(ne)o(xt)g(edge)h(to)e(probe.)40 b(It)27 b(some)n(what)g(resembles)i
(Bazzi')-5 b(s)28 b(algorithm)g(for)f(\002nding)0 2496
y(li)n(v)o(e)33 b(quorums)i(in)e(the)g(triangle)i(lattice)f(quorum)h
(system)e([4)q(].)57 b(W)-7 b(e)32 b(say)i(that)g(a)e(path)i
Fs(cir)m(cumvents)h Fu(a)e(component)i(of)p 0 2536 72
4 v 0 2609 a Fr(G)p Fp(\()p Fr(`)p Fp(\))30 b Fu(if)g(it)g(tra)n(v)o
(els)h(along)g(the)g(surf)o(ace)g(of)f(it;)j(i.e,)e(it)f(tra)n(v)o(els)
h(along)h(edges,)g(the)e(duals)h(of)f(which)h(are)f(adjacent)i(to)e
(the)0 2722 y(component)36 b(and)e(not)g(part)g(of)g(it.)58
b(The)33 b(algorithm)j(w)o(ould)e(try)g(to)f(\002nd)g(a)h(path)g(which)
g(is)f(a)g(straight)j(left-right)g(line.)0 2834 y(Whene)n(v)o(er)25
b(a)e(component)i(of)p 981 2761 V 24 w Fr(G)p Fp(\()p
Fr(`)p Fp(\))f Fu(is)f(encountered)k(it)c(w)o(ould)h(be)g(circumv)o
(ented.)31 b(More)24 b(formally:)114 3022 y(1.)45 b(Choose)30
b Fr(r)g Fu(at)e(random)h Fp(1)35 b Fq(\024)f Fr(r)j
Fq(\024)d Fr(`)p Fu(.)42 b(The)28 b(search)i(be)o(gins)g(at)e(edge)h
Fr(r)h Fu(of)f(the)g(left)f(column,)j(and)e(aims)f(to)g(tra)n(v)o(el)
227 3135 y(along)d(ro)n(w)e Fr(r)s Fu(.)114 3323 y(2.)45
b(Go)25 b(to)h(the)g(right.)37 b(When)26 b(a)f(f)o(ailed)i(edge)g(is)f
(encountered)j Fs(cir)m(cumvent)g Fu(the)d(component)i(until)f(ro)n(w)e
Fr(r)j Fu(is)d(reached)227 3436 y(again.)30 b(If)23 b
Fr(r)28 b Fq(\024)733 3400 y Fo(1)p 733 3415 36 4 v 733
3467 a(2)778 3436 y Fr(`)22 b Fu(from)i(abo)o(v)o(e,)g(otherwise)h
(from)e(belo)n(w)-6 b(.)29 b(Return)24 b(to)g(ro)n(w)f
Fr(r)s Fu(.)141 3623 y(The)i(path)h(in)f(bold)h(presented)i(in)d
(Figure)h(3)f(demonstrates)j(a)d(possible)j(path)e(of)f(the)h(DFS)d
(search.)35 b(The)25 b(path)h(tak)o(en)0 3736 y(by)k(the)g(algorithm)h
(needs)g(to)f(circumv)o(ent)h(a)e(component)j(of)p 2021
3663 72 4 v 30 w Fr(G)p Fp(\()p Fr(`)p Fp(\))e Fu(only)g(if)g(it)f
(contains)j(the)e(dual)g(of)g(an)g(edge)g(in)g(ro)n(w)0
3849 y Fr(r)s Fu(.)56 b(F)o(or)32 b(each)i(f)o(ailed)g(edge)g
Fr(e)f Fu(of)g(ro)n(w)f Fr(r)j Fu(de\002ne)e Fr(C)1670
3863 y Fn(e)1739 3849 y Fu(to)g(be)g(the)h(number)g(of)f(edges)h(in)f
(the)g(component)i(of)p 3551 3776 V 33 w Fr(G)q Fp(\()p
Fr(`)p Fp(\))e Fu(that)0 3962 y(contains)27 b(the)e(dual)g(of)g
Fr(e)p Fu(.)31 b(If)25 b Fr(e)f Fu(did)h(not)g(f)o(ail)g(then)g
Fr(C)1658 3976 y Fn(e)1722 3962 y Fp(=)i(0)p Fu(.)32
b(The)24 b(number)i Fr(C)2452 3976 y Fn(e)2513 3962 y
Fu(is)e(an)h(upper)g(bound)i(on)d(the)h(length)h(of)f(the)0
4075 y(circumv)o(ention)i(the)c(path)i(had)f(to)f(tak)o(e)h(in)g(order)
g(to)g(a)n(v)n(oid)h(the)f(f)o(ailed)h(edge)f Fr(e)p
Fu(.)0 4262 y Ft(Obser)o(v)o(ation)h(13.)42 b Fs(The)23
b(length)i(of)f(the)g(path)g(tak)o(en)h(by)e(the)h(algorithm)i(is)d(at)
h(most)f Fr(`)d Fp(+)2840 4194 y Fh(P)2951 4262 y Fr(C)3016
4276 y Fn(e)3076 4262 y Fs(wher)m(e)j(the)h(sum)g(is)f(tak)o(en)0
4375 y(o)o(ver)h(the)g(edg)o(es)h(of)e(r)l(ow)h Fr(r)s
Fs(.)0 4563 y Ft(Theor)n(em)30 b(14.)46 b Fs(The)29 b(pr)l(obe)i
(comple)n(xity)h(of)e(the)g(algorithm)i(is)e Fp(\002\()p
Fr(`)p Fp(\))37 b(=)g(\002\()2511 4498 y Fq(p)p 2586
4498 55 4 v 2586 4563 a Fr(n)p Fp(\))29 b Fs(with)h(high)h(pr)l
(obability)i(\(wher)m(e)d(the)0 4676 y(pr)l(obability)d(is)c(tak)o(en)i
(o)o(ver)f(the)g(occurr)m(ence)i(of)e(faults\).)0 4864
y(Pr)l(oof)o(.)46 b Fu(Assume)32 b(that)h(the)f(random)i(starting)g
(point)f(selected)h(in)f(Step)f Fp(\(1\))g Fu(of)g(the)h(algorithm)h
(is)e(a)g(starting)i(point)f(of)0 4976 y(some)c(left-right)i(path)f(of)
e(the)h(grid.)46 b(By)28 b(Lemma)g(11)g(we)g(kno)n(w)h(that)h(the)f
(probability)j(of)c(this)i(is)e(constant.)47 b(Thus)29
b(we)0 5089 y(repeat)22 b(the)g(procedure)i(abo)o(v)o(e,)e(until)g(a)e
(good)j(starting)g(point)f(is)f(found.)29 b(W)-7 b(e)20
b(need)i(to)f(sho)n(w)g(that)h(all)f(the)h(circumv)o(entions)0
5202 y(tak)o(en)k(in)f(Step)f Fp(\(2\))p Fu(,)h(i.e.)806
5134 y Fh(P)917 5202 y Fr(C)982 5216 y Fn(e)1019 5202
y Fu(,)f(accumulate)j(to)e(no)f(more)h(than)h Fp(\002\()p
Fr(`)p Fp(\))p Fu(.)31 b(Fix)25 b(some)f(edge)i Fr(e)e
Fu(on)h(ro)n(w)f Fr(r)s Fu(,)g(and)h(let)g(v)o(erte)o(x)g
Fr(u)0 5315 y Fu(belong)j(to)e(its)g(dual)h(edge.)38
b(Let)26 b Fr(C)1105 5329 y Fn(u)1175 5315 y Fu(be)g(the)h(number)g(of)
f(edges)i(in)e(the)g(component)j(of)d Fr(u)g Fu(in)p
2997 5242 72 4 v 26 w Fr(G)p Fp(\()p Fr(`)p Fp(\))p Fu(.)37
b(Let)25 b Fr(A)3450 5329 y Fn(u)3521 5315 y Fu(denote)j(the)1927
5589 y(8)p eop end
%%Page: 9 9
TeXDict begin 9 8 bop 0 91 a Fu(diameter)26 b(of)f(that)h(component.)35
b(Since)25 b(the)h(v)o(erte)o(x)f Fr(u)f Fu(is)h(adjacent)i(to)e(the)h
(dual)f(of)g Fr(e)g Fu(it)f(holds)j(that)e Fr(C)3259
105 y Fn(u)3332 91 y Fq(\025)j Fr(C)3496 105 y Fn(e)3533
91 y Fu(.)k(The)25 b(grid)0 204 y(topology)h(implies)e(that)h(if)e
Fr(C)939 218 y Fn(u)1009 204 y Fq(\025)i Fr(k)h Fu(then)e
Fr(A)1425 218 y Fn(u)1496 204 y Fq(\025)1602 168 y Fo(1)p
1602 183 36 4 v 1602 236 a(2)1647 127 y Fq(p)p 1723 127
51 4 v 77 x Fr(k)s Fu(.)k(W)-7 b(e)22 b(ha)n(v)o(e)i(\(by)g(Theorem)g
(8\))793 435 y Fp(Pr)o([)p Fr(C)980 449 y Fn(u)1051 435
y Fq(\025)g Fr(k)s Fp(])i Fq(\024)f Fp(Pr[)p Fr(A)1534
449 y Fn(u)1604 435 y Fq(\025)1710 400 y Fo(1)p 1710
415 36 4 v 1710 467 a(2)1755 353 y Fq(p)p 1831 353 51
4 v 82 x Fr(k)s Fp(])h Fq(\024)f Fr(e)2070 398 y Fz(\000)p
Fn( )r Fo(\()p Fn(p)p Fo(\))2263 341 y Fz(p)p 2323 341
39 3 v 2323 398 a Fn(k)2434 435 y Fu(for)e(some)h Fr( )s
Fp(\()p Fr(p)p Fp(\))i Fr(>)f Fp(0)672 b Fu(\(1\))777
654 y Fr(E)5 b Fp([)p Fr(C)939 668 y Fn(u)985 654 y Fp(])25
b(=)g Fr(\026)g Fq(\024)1338 540 y Fz(1)1307 567 y Fh(X)1309
765 y Fn(k)r Fo(=1)1454 654 y Fr(k)e Fq(\001)e Fr(e)1612
616 y Fz(\000)p Fn( )r Fo(\()p Fn(p)p Fo(\))1805 560
y Fz(p)p 1865 560 V 1865 616 a Fn(k)1933 654 y Fp(=)k
Fr(O)s Fp(\(1\))1578 b Fu(\(2\))0 954 y(The)27 b(algorithm)j(may)e
(need)g(to)g(a)n(v)n(oid)i(at)d(most)h Fr(`)f Fu(components)k(of)p
2185 881 72 4 v 27 w Fr(G)q Fp(\()p Fr(`)p Fp(\))p Fu(.)41
b(By)27 b(linearity)k(of)c(e)o(xpectation)k(the)d(e)o(xpected)0
1067 y(probe)j(comple)o(xity)h(of)d(the)i(algorithm)g(is)f
Fp(\002\()p Fr(`)p Fp(\))p Fu(.)47 b(T)-7 b(o)28 b(sho)n(w)i(that)g
(this)h(sum)e(is)h Fp(\002\()p Fr(`)p Fp(\))f Fu(with)h(high)g
(probability)j(we)c(need)0 1180 y(a)e(slightly)j(dif)n(ferent)g(ar)n
(gument.)43 b(Di)n(vide)28 b(the)g(grid)g(into)h Fp(\()1988
1144 y Fn(`)p 1907 1159 192 4 v 1907 1211 a(\016)15 b
Fo(log)d Fn(n)2108 1180 y Fp(\))28 b Fu(v)o(ertical)h(strips)g(each)f
(of)g(width)g Fr(\016)19 b Fp(log)e Fr(n)p Fu(,)28 b(where)g
Fr(\016)i Fu(is)0 1313 y(tak)o(en)d(from)e(Corollary)i(9.)34
b(Each)25 b(strip)h(is)g(wide)f(enough)i(such)f(that)g(w)-6
b(.h.p)25 b(it)g(is)g(wider)h(than)g(an)o(y)f(component)j(of)p
3697 1240 72 4 v 25 w Fr(G)q Fp(\()p Fr(`)p Fp(\))p Fu(.)0
1455 y(Assume)23 b(this)g(high)g(probability)j(e)n(v)o(ent)d(occurs.)30
b(De\002ne)22 b Fr(X)1914 1469 y Fn(i)1968 1399 y(def)1988
1455 y Fp(=)2103 1387 y Fh(P)2215 1455 y Fr(C)2280 1469
y Fn(e)2338 1455 y Fu(where)h(the)g(sum)f(is)h(tak)o(en)h(o)o(v)o(er)e
(edges)i(of)f(ro)n(w)e Fr(r)0 1568 y Fu(and)j(strip)g
Fr(i)p Fu(.)29 b(The)23 b(length)i(of)e(the)h(path)g(the)g(algorithm)h
(took)g(is)e(at)g(most)h Fr(`)c Fp(+)2461 1500 y Fh(P)2572
1568 y Fr(X)2647 1582 y Fn(i)2676 1568 y Fu(.)0 1731
y Ft(Lemma)j(15.)42 b Fr(E)5 b Fp([)p Fr(X)648 1745 y
Fn(i)677 1731 y Fp(])25 b Fq(\024)g Fr(\026\016)19 b
Fp(log)f Fr(n)k Fs(and)i(w)-7 b(.h.p)23 b(for)h(all)g
Fr(i)f Fs(we)f(have)j Fr(X)2214 1745 y Fn(i)2267 1731
y Fq(\024)g Fp(2)p Fr(\016)2451 1698 y Fo(2)2507 1731
y Fp(log)2625 1694 y Fo(2)2679 1731 y Fr(n)p Fs(.)0 1919
y(Pr)l(oof)o(.)46 b Fu(The)23 b(width)h(of)g(the)g(strip)h(is)f
Fr(\016)19 b Fp(log)e Fr(n)23 b Fu(and)h(the)g(e)o(xpected)i(size)e(of)
g(each)h(component)h(is)d Fr(\026)p Fu(,)g(therefore)j(by)e(linearity)0
2032 y(of)j(e)o(xpectation)j Fr(E)5 b Fp([)p Fr(X)718
2046 y Fn(i)747 2032 y Fp(])32 b Fq(\024)g Fr(\026\016)19
b Fp(log)e Fr(n)p Fu(.)39 b(By)26 b(Corollary)j(9)d(we)h(kno)n(w)g
(that)g(w)-6 b(.h.p)27 b(all)g(the)h(components)h(are)f(contained)h(in)
0 2144 y(a)g Fr(\016)19 b Fp(log)f Fr(n)28 b Fu(radius)j(ball.)47
b(Therefore)31 b(w)-6 b(.h.p)29 b(all)h(the)f(components)k(are)c
(con\002ned)i(into)f(a)f(rectangle)j(of)e(area)g Fp(2)p
Fr(\016)3595 2111 y Fo(2)3651 2144 y Fp(log)3768 2108
y Fo(2)3823 2144 y Fr(n)p Fu(.)0 2257 y(which)24 b(pro)o(v)o(es)g(the)g
(second)h(claim.)p 3834 2257 4 62 v 3838 2199 55 4 v
3838 2257 V 3892 2257 4 62 v 141 2445 a(De\002ne)e Fr(I)446
2459 y Fn(\033)518 2445 y Fp(=)i Fq(f)p Fp(1)h Fq(\024)f
Fr(i)h Fq(\024)1070 2409 y Fn(`)p 989 2424 192 4 v 989
2476 a(\016)14 b Fo(log)f Fn(n)1215 2445 y Fp(:)26 b
Fr(i)61 b Fp(mo)s(d)29 b(3)d(=)f Fr(\033)s Fq(g)p Fr(;)15
b(\033)29 b Fq(2)c(f)p Fp(0)p Fr(;)15 b Fp(1)p Fr(;)g
Fp(2)p Fq(g)p Fu(.)0 2608 y Ft(Lemma)20 b(16.)39 b Fs(Conditioned)24
b(on)d(the)g(e)o(vent)h(that)g(all)f(the)h(components)h(ar)m(e)e(of)g
(diameter)i Fr(O)s Fp(\(log)18 b Fr(n)p Fp(\))p Fs(,)i(whic)o(h)h(by)g
(Cor)l(ollary)0 2721 y(9)i(occur)o(s)i(with)f(high)g(pr)l(obability)-5
b(,)27 b(the)c(set)h Fq(f)p Fr(X)1514 2735 y Fn(i)1543
2721 y Fq(g)1588 2735 y Fn(i)p Fz(2)p Fn(I)1690 2743
y Fa(\033)1759 2721 y Fs(consists)h(of)f(independent)j(r)o(andom)d
(variables.)0 2908 y(Pr)l(oof)o(.)46 b Fu(If)22 b(all)g(components)i
(are)e(of)g(small)g(diameter)l(,)i(then)f(e)n(v)o(ery)f(connected)j
(component)f(of)p 3039 2835 72 4 v 22 w Fr(G)q Fp(\()p
Fr(`)p Fp(\))d Fu(belongs)j(to)e(at)g(most)0 3021 y(tw)o(o)29
b(strips.)45 b(Therefore)31 b Fr(X)889 3035 y Fn(i)945
3021 y Fu(depends)g(only)f(upon)g(the)f(probes)h(of)f(edges)h(in)f
(strips)h Fr(i)25 b Fq(\000)e Fp(1)p Fr(;)15 b(i;)g(i)26
b Fp(+)e(1)p Fu(.)45 b(This)28 b(means)i(that)0 3134
y Fr(X)75 3148 y Fn(i)103 3134 y Fr(;)15 b(X)218 3148
y Fn(i)p Fo(+3)360 3134 y Fu(are)24 b(independent.)p
3834 3134 4 62 v 3838 3076 55 4 v 3838 3134 V 3892 3134
4 62 v 141 3322 a(By)f(using)i(the)e(appropriate)k(Chernof)n(f)e
(Hoefding)g(bound)g(\(c.f.)j([8)q(])23 b(page)i Fp(17)p
Fu(\))e(we)g(ha)n(v)o(e)808 3600 y Fp(Pr)920 3445 y Fh(")973
3514 y(X)1003 3711 y Fn(I)1034 3719 y Fa(\033)1120 3600
y Fr(X)1195 3614 y Fn(i)1243 3600 y Fq(\000)1334 3514
y Fh(X)1364 3711 y Fn(I)1395 3719 y Fa(\033)1481 3600
y Fr(E)5 b Fp([)p Fr(X)1653 3614 y Fn(i)1682 3600 y Fp(])25
b Fq(\025)g Fr(t)p Fq(j)p Fr(I)1926 3614 y Fn(\033)1973
3600 y Fq(j)1998 3445 y Fh(#)2077 3600 y Fq(\024)g Fp(2)15
b(exp)2387 3472 y Fh(\022)2454 3600 y Fq(\000)2648 3539
y Fp(2)p Fr(t)2726 3506 y Fo(2)2765 3539 y Fq(j)p Fr(I)2830
3553 y Fn(\033)2878 3539 y Fq(j)p 2535 3579 481 4 v 2535
3670 a Fp(\(2)p Fr(\016)2658 3643 y Fo(2)2714 3670 y
Fp(log)2832 3633 y Fo(2)2886 3670 y Fr(n)p Fp(\))2976
3643 y Fo(2)3026 3472 y Fh(\023)0 3925 y Fu(Since)30
b Fq(j)p Fr(I)296 3939 y Fn(\033)343 3925 y Fq(j)f Fu(is)h(in)g(the)g
(order)g(of)1084 3834 y Fz(p)p 1143 3834 43 3 v 48 x
Fn(n)p 1062 3904 146 4 v 1062 3957 a Fo(log)13 b Fn(n)1218
3925 y Fu(,)30 b(the)g(probability)j(that)d(there)h(is)f(a)f(lar)n(ge)i
(de)n(viation)h(decays)f(e)o(xponentially)j(f)o(ast.)0
4056 y(In)d(particular)j(setting)e Fr(t)e Fu(to)h(be)g(some)g(lar)n(ge)
i(enough)f(constant)i(implies)e(that)f Fp(Pr[)2688 3988
y Fh(P)2784 4083 y Fn(I)2815 4091 y Fa(\033)2875 4056
y Fr(X)2950 4070 y Fn(i)3018 4056 y Fr(>)39 b Fp(\002\()p
Fr(`)p Fp(\)])g Fq(\024)3512 4021 y Fo(1)p 3491 4036
78 4 v 3491 4090 a Fn(n)3534 4071 y Fe(2)3609 4056 y
Fu(for)31 b Fr(\033)42 b Fq(2)0 4169 y(f)p Fp(0)p Fr(;)15
b Fp(1)p Fr(;)g Fp(2)p Fq(g)p Fu(.)64 b(No)n(w)33 b(we)h(apply)i(the)f
(union)h(bound)g(o)o(v)o(er)e(the)h(high)h(probability)h(e)n(v)o(ents)f
(of)e(Corollary)j(9)d(and)h(Lemmas)0 4282 y(15,16,)d(which)f(means)g
(that)f(with)g(high)h(probability)j(the)c(probe)i(comple)o(xity)g(of)e
(the)g(algorithm)i(is)e Fp(\002\()p Fr(`)p Fp(\))38 b(=)g(\002\()3712
4217 y Fq(p)p 3787 4217 55 4 v 3787 4282 a Fr(n)p Fp(\))p
Fu(.)0 4395 y(This)23 b(concludes)k(the)c(proof)i(of)f(Theorem)f(14.)p
3834 4395 4 62 v 3838 4337 55 4 v 3838 4395 V 3892 4395
4 62 v 0 4641 a Ft(Netw)o(ork)h(implementation)92 b Fu(In)24
b(order)i(to)e(calculate)j(the)d Fs(actual)i Fu(running)h(time)d(and)h
(message)h(comple)o(xity)g(of)e(these)0 4754 y(algorithms)k(we)e(need)g
(to)h(tak)o(e)f(into)h(consideration)j(the)d(topology)h(and)f
(implementation)i(of)d(the)g(netw)o(ork)i(o)o(v)o(er)e(which)0
4867 y(the)g(quorum)h(system)f(is)g(de\002ned.)36 b(The)25
b(most)h(natural)h(netw)o(ork)g(topology)h(to)e(consider)i(is)d(that)h
(of)g Fr(G)p Fp(\()p Fr(`)p Fp(\))p Fr(;)15 b(G)3513
4834 y Fz(\003)3554 4867 y Fp(\()p Fr(`)p Fp(\))26 b
Fu(them-)0 4980 y(selv)o(es.)44 b(Each)29 b(processor)i(is)d
(associated)j(with)d(a)g(pair)h(of)g(dual)g(edges,)h(and)f(is)g
(connected)i(to)d(the)h(processors)i(that)e(are)0 5093
y(associated)f(with)d(edges)h(that)g(are)f(adjacent)i(to)e(its)g(o)n
(wn)g(edges.)35 b(In)25 b(other)h(w)o(ords,)f(the)h(topology)h(of)e
(the)h(netw)o(ork)g(is)f(the)0 5206 y Fs(line)j(gr)o(aph)h
Fu(of)f(the)g(tw)o(o)g(dimensional)j(grid.)42 b(In)28
b(Figure)g(4)g(the)g(thick)h(solid)g(lines)g(edges)g(belong)h(to)d(the)
i(line)f(graph)h(of)0 5318 y Fr(G)p Fp(\()p Fr(`)p Fp(\))p
Fu(,)20 b(the)f(dotted)h(edges)g(belong)h(to)d(the)h(line)h(graph)g(of)
e Fr(G)1848 5285 y Fz(\003)1888 5318 y Fp(\()p Fr(`)p
Fp(\))h Fu(and)g(the)g(diagonal)i(edges)f(belong)h(to)e(both.)28
b(A)17 b(quorum)j(set)1927 5589 y(9)p eop end
%%Page: 10 10
TeXDict begin 10 9 bop 0 3 3882 4 v 0 1450 4 1447 v 51
1209 a @beginspecial 0 @llx 0 @lly 225 @urx 225 @ury
1417 @rwi 1417 @rhi @setspecial
%%BeginDocument: grid_new.eps
%!PS-Adobe-2.0 EPSF-1.2
%%Title: grid_new.FH9
%%Creator: FreeHand 9.0
%%CreationDate: Mon Feb 03 14:50:51 2003
%%BoundingBox: 0 0 225 225
%%FHPathName:E:\Writeups\Dynamic Quorums\grid_new.FH9
%ALDOriginalFile:E:\Writeups\Dynamic Quorums\grid_new.FH9
%ALDBoundingBox: -3 -2 227 228
%%FHPageNum:1
%%DocumentSuppliedResources: procset Altsys_header 4 0
%%ColorUsage: Color
%%DocumentProcessColors: Black
%%EndComments
%%BeginAGDEmbeddedDoc: version 1.0
%:s8W,W5t=="^::eu!!!JgGQHWjH[HOX(!"YV9kNDI5nZk9BL)W]
%:s8VL="UG__":3tGR'r1I2IIdm"cI*#^e./WAg7Ei;Pgh1fP58?D66]5YkVn::R/@P.&,@/l_?,@5']OGdFP>*ZMr.;g$HpWpuM&2-hGB'pTsI\RJSu52gY^c\c]\Hc6Ked=`+rBFLK0^B^!*3.<=u5M6O["U!7V^ioF%5:#aaVsPS!p^Ra:8Y&.d--.
%:>tC"=:]U/EUh3LdRZ6n>qb<<04g';*$m3%+,iTGO[?F6VT&I@N=i(8X8B,_P@DAd79VRc)jf\Cl.>S2$P]XQ*o"kl')P)VXFHi7d=k&54.7`Z4`EGFBAYrApV#kHn`8g6/GGh!/D0D)V(8IPk+8`uOL]#*>Ya\CL39pdP,<$Q4MR7^`oCs%gkuqNjE.f#\?2fP[QQNZ>pZmDeOKr/@TRF47_@/$;,^/!-Jhee9;b]0j\nD/O,8oFnd9-N`IKTDK=H&Cb%n5m
%:,7A;fdp@Q5.f9q$k0X)Tk.^a5c\BnA1oNocc<`tp"Anp(_l+9pUVjJp8$Ok/Q;W*$BBE(r01O[&]e3BiUtC?:kKbd2\'&Y2pTAX(O^-PAYtROOD_0e?=`e2K0!MatKL21^2WTBe#YY9r5SQ)f&[/Kc=J9/^:Q?Fc.L'p!&q0D=$u^qr&$N!IWK0c3`M-B7")W.gU6$.B`!6"F'iLjQGfhMl
%:lqu6YdYP8pD]6."(dV:b1kR1a@u!EP&]U(Nb%V]!jV/!kQL\@k:?T%>qQ=KSmmGZRRo+Vq%_sLmFGZiA&0#RENf-H9EOq:bJ5cFMU;O%)AOKZOfcs2Od'WMjKOu\GYL(2qd%5N)J+Ck6*lZ>R[\Z)UZ=T76J\k6kTp(jgQ^!p8<6$g`J7H(HE^kM!'._>p-q7LVGJTg4R#4IJ_-=6JJ1?g,hZ_$Z1[qRe@@)BeOW(p+i=)Uc[98:95&]%Sb;6E;3G,m8.0=?LB!('b9-86td+uNct:Mh\B!&
%:LqO7+M%r#D9nEh-f?)Z49fLBHg*i`nrZn^i*8loBKY4[m"SV))fBV2!G2E/%+J^<)^12W%d7qZN#CYGgPUqOc&P=1)tE1Q]cO67FFm`@4A(#P$W@:k8O0UK<"f>nnXDY0$6PJaj_(YWNe['L,qKsmjP41j]GTrk;tC#`.(B>,C-pi_SB5"hYf*$K.S\UEWBS;o6uT\>)P^M_!g`>[hU%K=D8thLcn8%>Ct%"T'#(bmd5/+;Beg66b*F_k)EVA!diL)H0:'WCQBn4(b^cRfCoJ/7=H6!eg7tK_MPY<]-$ChL'!,dS9?*M^N@-Bjp1W\p@VNJm8b9KG%s"09TFqZ6diL*s,aRp?KWC`@_E=F"!=i[69A'rnC>,GZmu!ru\g;epOb"]6AP3tNS3L+kg7tM5M'[8#X%d1aM@.1g@*f!i
%:VJM)RT4@05[7?VFcQuYkp`=gmXl[a;k6[aAG\@%[+#6CN+i-R^VqmP]H\H5Hu*HDniThmtgP<'TY[re"2I3IV^1hWHRSZ#o!Y*]<mcmO7eEOU]CmrEFGO`2jqE3'8YrFI/D@d'L@J,A9^*cep6`UR9n=Q/2JIS5H9"TGn7qR4`Kn])\kr/$?l?K!m"_/Tn]n-Jr3'(g%5&X3m'
%:qr:I8jS1MIa.Ea[)+fk.;9L&@';#>Ur2#/gJ*#\bJ8iGF:@,S<13UGDO-YKYh9Zg!pW&%OjLEOTn^kWtGuEH$Rq)OnPTrb,R(F,kKelIgU\5o7QhK]Ci58)lMsgO]0?(Nd.43?IaQj&7Rj^DDnH3&hte3M-![E.$A,NmG3pr_YXU-97Nk><7_tN&Y_`
%:E$%7]\ndqQ5L2IX+iibN*1n%-o,JbGo*iXHI%Km*\Gigi*<5$XpfHE65KT%[p[I?]Ibs,^ce![@OQ26ON\:^Z$^2Q)ISMU=j-lT=9_J4kreH7K?ZC(53*lW79/3TQKWatCp%ieA3POJ3pni#C.*9lh%t;$<1_)hMIfFZ26]OZB*01EH"\F_d`g.*E'?50%kZ'egf5GrUn[OM;5DT>sBN`bnBi+P4WIM;F/N$k=^q4-J8*ch1NMrVjpEJ]>.%e/NSEB!b>mX)sqMnd9fNjZh6BJEddT;O?h._6$=A>=5MD58b*'n)LQV6A9hoF8B_DPV4"GN`Z855g"LVd6Zbm\B[D(\AjKL*!/noHaBdr^8EdhrnWtN=JlK]hRtDJ*=XhOsVXWTrG^X
%:c5=<06dNcWQ]*=J)$^E(0C
%:HOOO`))sBKV-Fp0B<%U3-kd=i;q<-l.k/%LPt>%#Kgj@V-nMb4CPA7[aNgpQ/D;0@m(b'73Bt0*<_K5@grp.b3H]obWEb_GR@V$iY8kC%i'Z;["7Z%.);*+#H5K.C#]DNh_aJnn@-qSljlXmSP^!b=2X,7UnsPlDYu+4e\;;'AqKm;b":0r!f>)oJ)#<%>(8V_qRBIMl1LoA@`EZ&eG&e5TLT)\%QA\=>BtfgKpe4Z-X_FU@cop'+aej=Jje>O/qcfsiWocQ,5flm.,@Fu@gpN:;Z#J(hm7Y_*jsMY<&KID2F)o;5Nl^D5".@:Fph8g[<0fi<`k29k+Dgi0?6@VKOj@k;]FX11)(KRjM(Ami[f
%:$IS&[[^5(FF"!Cn(`7`Srd&N_?rCrUlDEJiBVm;G*E4n:6cYc[Y-\?(lqfZbb.*9SN7/-hM>SRJ8+fgZeGqI'%8m@EYSs6jW^8R:SY=>.B;r5f3GO3s<[6-C2-Q9D?5JsF
%:1$kP@,O>"$OM;]1=fTuO(b`jhT9ONB`k2XWKQEg?;$!m1,-;l?n`2?F7mh@fk$nNO$Cba/2XojGD:g))V:6lA7]c]!&[)ZDe!P_0t="A
%:!/j<\Ch6"GF(96)E--#=!!06'9lNm;C&e6X7;QOPASuSi!Td7*D.7F"9PIsV@<-Vn!J"-X@T6cFCh3SH$UI9N7W30d!!#SXDes?42?3bI:i^Jn9QP:U!CBV'De!?hF`M$n!6%WGDIlXQF8uoX!/X0ZB6A6+!!"Q:@<6-m7VQ[T!!%(/Ch7HWBle@r!-CYGASk7aDfABkF8u:m6=FqL@n^TS0i8G*
%:AH2_.7s/NVATIhPG#NL.Ch6F`DfABkF8u>^;fHYs6Z6dZE]*mt7mh32Ch7*uDfPgX]1cXYAT@bO%8V.UC]FJg:gnHZ!!&]_Ec6)>!!"<2EcQ)B:gnHZ!!!!"1BFBSEWN'=EWN'=EWFDc`;mjW`;mjW`;mjW`;mjW`;mjWcN#6k,lf4k,lf4k,lf4kcN0pEEWN'=EWN'=EWN'=EWN'=EWFDcirDXNF9(5"VZ==/F9(5!])ZpQ"nM!V
%:F9&3=huT_U])ZpQF9/9>irJ*>/HFf3Fo^P&huMd;huMd
%%EndAGDEmbeddedDoc
%%BeginResource: procset Altsys_header 4 0
userdict begin /AltsysDict 300 dict def end
AltsysDict begin
/bdf{bind def}bind def
/xdf{exch def}bdf
/defed{where{pop true}{false}ifelse}bdf
/ndf{1 index where{pop pop pop}{dup xcheck{bind}if def}ifelse}bdf
/d{setdash}bdf
/h{closepath}bdf
/H{}bdf
/J{setlinecap}bdf
/j{setlinejoin}bdf
/M{setmiterlimit}bdf
/n{newpath}bdf
/N{newpath}bdf
/q{gsave}bdf
/Q{grestore}bdf
/w{setlinewidth}bdf
/Xic{matrix invertmatrix concat}bdf
/Xq{matrix currentmatrix mark}bdf
/XQ{cleartomark setmatrix}bdf
/sepdef{
dup where not
{
AltsysSepDict
}
if
3 1 roll exch put
}bdf
/st{settransfer}bdf
/colorimage defed /_rci xdf
/cntr 0 def
/readbinarystring{
/cntr 0 def
2 copy readstring
{
{
dup
(\034) search
{
length exch pop exch
dup length 0 ne
{
dup dup 0 get 32 sub 0 exch put
/cntr cntr 1 add def
}
{
pop 1 string dup
0 6 index read pop 32 sub put
}ifelse
3 copy
putinterval pop
1 add
1 index length 1 sub
1 index sub
dup 0 le {pop pop exit}if
getinterval
}
{
pop exit
} ifelse
} loop
}if
cntr 0 gt
{
pop 2 copy
dup length cntr sub cntr getinterval
readbinarystring
} if
pop exch pop
} bdf
/_NXLevel2 defed {
_NXLevel2 not {
/colorimage where {
userdict eq {
/_rci false def
} if
} if
} if
} if
/md defed{
md type /dicttype eq {
/colorimage where {
md eq {
/_rci false def
}if
}if
/settransfer where {
md eq {
/st systemdict /settransfer get def
}if
}if
}if
}if
/setstrokeadjust defed
{
true setstrokeadjust
/C{curveto}bdf
/L{lineto}bdf
/m{moveto}bdf
}
{
/dr{transform .25 sub round .25 add
exch .25 sub round .25 add exch itransform}bdf
/C{dr curveto}bdf
/L{dr lineto}bdf
/m{dr moveto}bdf
/setstrokeadjust{pop}bdf
}ifelse
/privrectpath {
4 -2 roll m
dtransform round exch round exch idtransform
2 copy 0 lt exch 0 lt xor
{dup 0 exch rlineto exch 0 rlineto neg 0 exch rlineto}
{exch dup 0 rlineto exch 0 exch rlineto neg 0 rlineto}
ifelse
closepath
}bdf
/rectclip{newpath privrectpath clip newpath}def
/rectfill{gsave newpath privrectpath fill grestore}def
/rectstroke{gsave newpath privrectpath stroke grestore}def
/_fonthacksave false def
/currentpacking defed
{
/_bfh {/_fonthacksave currentpacking def false setpacking} bdf
/_efh {_fonthacksave setpacking} bdf
}
{
/_bfh {} bdf
/_efh {} bdf
}ifelse
/packedarray{array astore readonly}ndf
/`
{
false setoverprint
/-save0- save def
5 index concat
pop
storerect left bottom width height rectclip
pop
/MMdict_count countdictstack def
/MMop_count count 1 sub def
userdict begin
/showpage {} def
0 setgray 0 setlinecap 1 setlinewidth
0 setlinejoin 10 setmiterlimit [] 0 setdash newpath
} bdf
/currentpacking defed{true setpacking}if
/min{2 copy gt{exch}if pop}bdf
/max{2 copy lt{exch}if pop}bdf
/xformfont { currentfont exch makefont setfont } bdf
/fhnumcolors 1
statusdict begin
/processcolors defed
{
pop processcolors
}
{
/deviceinfo defed {
deviceinfo /Colors known {
pop deviceinfo /Colors get
} if
} if
} ifelse
end
def
% pix = x^2 + y^2
/printerRes
gsave
matrix defaultmatrix setmatrix
72 72 dtransform
abs exch abs
max
grestore
def
/graycalcs
[
{Angle Frequency}
{GrayAngle GrayFrequency}
{0 Width Height matrix defaultmatrix idtransform
dup mul exch dup mul add sqrt 72 exch div}
{0 GrayWidth GrayHeight matrix defaultmatrix idtransform
dup mul exch dup mul add sqrt 72 exch div}
] def
/calcgraysteps {
forcemaxsteps
{
maxsteps
}
{
/currenthalftone defed
{currenthalftone /dicttype eq}{false}ifelse
{
currenthalftone begin
HalftoneType 4 le
{graycalcs HalftoneType 1 sub get exec}
{
HalftoneType 5 eq
{
Default begin
{graycalcs HalftoneType 1 sub get exec}
end
}
{0 60}
ifelse
}
ifelse
end
}
{
currentscreen pop exch
}
ifelse
printerRes 300 max exch div exch
2 copy
sin mul round dup mul
3 1 roll
cos mul round dup mul
add 1 add
dup maxsteps gt {pop maxsteps} if
dup minsteps lt {pop minsteps} if
}
ifelse
} bdf
/nextrelease defed {
/languagelevel defed not {
/framebuffer defed {
0 40 string framebuffer 9 1 roll 8 {pop} repeat
dup 516 eq exch 520 eq or
{
/fhnumcolors 3 def
/currentscreen {60 0 {pop pop 1}}bdf
/calcgraysteps {maxsteps} bdf
}if
}if
}if
}if
fhnumcolors 1 ne {
/calcgraysteps {maxsteps} bdf
} if
/currentpagedevice defed {
currentpagedevice /PreRenderingEnhance known
{
currentpagedevice /PreRenderingEnhance get
{
/calcgraysteps
{
forcemaxsteps
{maxsteps}
{256 maxsteps min}
ifelse
} def
} if
} if
} if
/gradfrequency 144 def
printerRes 1000 lt {
/gradfrequency 72 def
} if
/adjnumsteps {
dup dtransform abs exch abs max
printerRes div
gradfrequency mul
round
5 max
min
}bdf
/goodsep {
spots exch get 4 get dup sepname eq exch (_vc_Registration) eq or
}bdf
/BeginGradation defed
{/bb{BeginGradation}bdf}
{/bb{}bdf}
ifelse
/EndGradation defed
{/eb{EndGradation}bdf}
{/eb{}bdf}
ifelse
/bottom -0 def
/delta -0 def
/frac -0 def
/height -0 def
/left -0 def
/numsteps1 -0 def
/radius -0 def
/right -0 def
/top -0 def
/width -0 def
/xt -0 def
/yt -0 def
/df currentflat def
/tempstr 1 string def
/clipflatness currentflat def
/inverted?
0 currenttransfer exec .5 ge def
/tc1 [0 0 0 1] def
/tc2 [0 0 0 1] def
/storerect{/top xdf /right xdf /bottom xdf /left xdf
/width right left sub def /height top bottom sub def}bdf
/concatprocs{
systemdict /packedarray known
{dup type /packedarraytype eq 2 index type /packedarraytype eq or}{false}ifelse
{
/proc2 exch cvlit def /proc1 exch cvlit def
proc1 aload pop proc2 aload pop
proc1 length proc2 length add packedarray cvx
}
{
/proc2 exch cvlit def /proc1 exch cvlit def
/newproc proc1 length proc2 length add array def
newproc 0 proc1 putinterval newproc proc1 length proc2 putinterval
newproc cvx
}ifelse
}bdf
/i{dup 0 eq
{pop df dup}
{dup} ifelse
/clipflatness xdf setflat
}bdf
version cvr 38.0 le
{/setrgbcolor{
currenttransfer exec 3 1 roll
currenttransfer exec 3 1 roll
currenttransfer exec 3 1 roll
setrgbcolor}bdf}if
/vms {/vmsv save def} bdf
/vmr {vmsv restore} bdf
/vmrs{vmsv restore /vmsv save def}bdf
/eomode{
{/filler /eofill load def /clipper /eoclip load def}
{/filler /fill load def /clipper /clip load def}
ifelse
}bdf
/normtaper{}bdf
/logtaper{9 mul 1 add log}bdf
/CD{
/NF exch def
{
exch dup
/FID ne 1 index/UniqueID ne and
{exch NF 3 1 roll put}
{pop pop}
ifelse
}forall
NF
}bdf
/MN{
1 index length
/Len exch def
dup length Len add
string dup
Len
4 -1 roll
putinterval
dup
0
4 -1 roll
putinterval
}bdf
/RC{4 -1 roll /ourvec xdf 256 string cvs(|______)anchorsearch
{1 index MN cvn/NewN exch def cvn
findfont dup maxlength dict CD dup/FontName NewN put dup
/Encoding ourvec put NewN exch definefont pop}{pop}ifelse}bdf
/RF{
dup
FontDirectory exch
known
{pop 3 -1 roll pop}
{RC}
ifelse
}bdf
/FF{dup 256 string cvs(|______)exch MN cvn dup FontDirectory exch known
{exch pop findfont 3 -1 roll pop}
{pop dup findfont dup maxlength dict CD dup dup
/Encoding exch /Encoding get 256 array copy 7 -1 roll
{3 -1 roll dup 4 -2 roll put}forall put definefont}
ifelse}bdf
/RCJ{4 -1 roll
/ourvec xdf
256 string cvs
(|______) anchorsearch
{pop
cvn
dup FDFJ
exch
1 index
eq
{
_bfh findfont _efh
dup
maxlength dict
CD
dup
/FontName
3 index
put
dup
/Encoding ourvec put
1 index
exch
definefont
pop
}
{exch pop}
ifelse
}
{pop}
ifelse
}bdf
/RFJ{
dup
FontDirectory exch
known
{pop 3 -1 roll pop}
{RCJ}
ifelse
}bdf
/hasfont
{
/resourcestatus where
{
pop
/Font resourcestatus
{
pop pop true
}
{
false
}
ifelse
}
{
dup FontDirectory exch known
{pop true}
{
256 string
cvs
(fonts/) exch MN
status
{pop pop pop pop true}
{false}
ifelse
}
ifelse
}
ifelse
}bdf
/FDFJ
{
dup
hasfont
not
{
pop
/Ryumin-Light-83pv-RKSJ-H
hasfont
{
/Ryumin-Light-83pv-RKSJ-H
}
{
/Courier
}
ifelse
}
if
}bdf
/FFJ{
_bfh
dup
256 string cvs
(|______)exch MN
cvn
dup
FontDirectory
exch known
{
exch
pop
findfont
3 -1 roll
pop
}
{
pop
FDFJ
dup findfont
dup maxlength dict
CD
dup dup
/Encoding exch
/Encoding get
256 array copy
7 -1 roll
{
3 -1 roll
dup
4 -2 roll
put
}forall
put
definefont
}
ifelse
_efh
}bdf
/GS {
dup
hasfont
{
findfont
exch makesetfont
exch
pop
ts
}
{
pop pop pop
ts
} ifelse
} bdf
/RCK{4 -1 roll
/ourvec xdf
256 string cvs
(|______) anchorsearch
{pop
cvn
dup FDFK
exch
1 index
eq
{
_bfh findfont _efh
dup
maxlength dict
CD
dup
/FontName
3 index
put
dup
/Encoding ourvec put
1 index
exch
definefont
pop
}
{exch pop}
ifelse
}
{pop}
ifelse
}bdf
/RFK{
dup
FontDirectory exch
known
{pop 3 -1 roll pop}
{RCK}
ifelse
}bdf
/hasfont
{
/resourcestatus where
{
pop
/Font resourcestatus
{
pop pop true
}
{
false
}
ifelse
}
{
dup FontDirectory exch known
{pop true}
{
256 string
cvs
(fonts/) exch MN
status
{pop pop pop pop true}
{false}
ifelse
}
ifelse
}
ifelse
}bdf
/FDFK
{
dup
hasfont
not
{
pop
/JCsm
hasfont
{
/JCsm
}
{
/Courier
}
ifelse
}
if
}bdf
/FFK{
_bfh
dup
256 string cvs
(|______)exch MN
cvn
dup
FontDirectory
exch known
{
exch
pop
findfont
3 -1 roll
pop
}
{
pop
FDFK
dup findfont
dup maxlength dict
CD
dup dup
/Encoding exch
/Encoding get
256 array copy
7 -1 roll
{
3 -1 roll
dup
4 -2 roll
put
}forall
put
definefont
}
ifelse
_efh
}bdf
/RCTC{4 -1 roll
/ourvec xdf
256 string cvs
(|______) anchorsearch
{pop
cvn
dup FDFTC
exch
1 index
eq
{
_bfh findfont _efh
dup
maxlength dict
CD
dup
/FontName
3 index
put
dup
/Encoding ourvec put
1 index
exch
definefont
pop
}
{exch pop}
ifelse
}
{pop}
ifelse
}bdf
/RFTC{
dup
FontDirectory exch
known
{pop 3 -1 roll pop}
{RCTC}
ifelse
}bdf
/FDFTC
{
dup
hasfont
not
{
pop
/DFMing-Lt-HK-BF
hasfont
{
/DFMing-Lt-HK-BF
}
{
/Courier
}
ifelse
}
if
}bdf
/FFTC{
_bfh
dup
256 string cvs
(|______)exch MN
cvn
dup
FontDirectory
exch known
{
exch
pop
findfont
3 -1 roll
pop
}
{
pop
FDFTC
dup findfont
dup maxlength dict
CD
dup dup
/Encoding exch
/Encoding get
256 array copy
7 -1 roll
{
3 -1 roll
dup
4 -2 roll
put
}forall
put
definefont
}
ifelse
_efh
}bdf
/fps{
currentflat
exch
dup 0 le{pop 1}if
{
dup setflat 3 index stopped
{1.3 mul dup 3 index gt{pop setflat pop pop stop}if}
{exit}
ifelse
}loop
pop setflat pop pop
}bdf
/fp{100 currentflat fps}bdf
/clipper{clip}bdf
/W{/clipper load 100 clipflatness dup setflat fps}bdf
/AVec 256 array def
AVec 0 /Helvetica findfont
/Encoding get 0 256 getinterval putinterval
/ANSIPatch[
16#0/grave 16#1/acute 16#2/circumflex 16#3/tilde 16#4/macron 16#5/breve
16#6/dotaccent 16#7/dieresis 16#8/ring 16#9/cedilla 16#A/hungarumlaut
16#B/ogonek 16#C/caron 16#D/dotlessi 16#27/quotesingle 16#60/grave
16#7C/bar 16#82/quotesinglbase 16#83/florin 16#84/quotedblbase 16#85
/ellipsis 16#86/dagger 16#87/daggerdbl 16#89/perthousand 16#8A/Scaron
16#8B/guilsinglleft 16#8C/OE 16#91/quoteleft 16#92/quoteright 16#93
/quotedblleft 16#94/quotedblright 16#95/bullet 16#96/endash 16#97/emdash
16#99/trademark 16#9A/scaron 16#9B/guilsinglright 16#9C/oe
16#9F/Ydieresis 16#A0/space 16#A4/currency 16#A6/brokenbar
16#A7/section 16#A8/dieresis 16#A9/copyright 16#AA/ordfeminine 16#AB/guillemotleft
16#AC/logicalnot 16#AD/hyphen 16#AE/registered 16#AF/macron 16#B0/degree
16#B1/plusminus 16#B2/twosuperior 16#B3/threesuperior 16#B4/acute 16#B5/mu
16#B6/paragraph 16#B7/periodcentered 16#B8/cedilla 16#B9/onesuperior
16#BA/ordmasculine 16#BB/guillemotright 16#BC/onequarter 16#BD/onehalf
16#BE/threequarters 16#BF/questiondown 16#C0/Agrave 16#C1/Aacute 16#C2/Acircumflex
16#C3/Atilde 16#C4/Adieresis 16#C5/Aring 16#C6/AE 16#C7/Ccedilla 16#C8/Egrave
16#C9/Eacute 16#CA/Ecircumflex 16#CB/Edieresis 16#CC/Igrave 16#CD/Iacute
16#CE/Icircumflex 16#CF/Idieresis 16#D0/Eth 16#D1/Ntilde 16#D2/Ograve
16#D3/Oacute 16#D4/Ocircumflex 16#D5/Otilde 16#D6/Odieresis 16#D7/multiply
16#D8/Oslash 16#D9/Ugrave 16#DA/Uacute 16#DB/Ucircumflex 16#DC/Udieresis
16#DD/Yacute 16#DE/Thorn 16#DF/germandbls 16#E0/agrave 16#E1/aacute
16#E2/acircumflex 16#E3/atilde 16#E4/adieresis 16#E5/aring 16#E6/ae
16#E7/ccedilla 16#E8/egrave 16#E9/eacute 16#EA/ecircumflex 16#EB/edieresis
16#EC/igrave 16#ED/iacute 16#EE/icircumflex 16#EF/idieresis 16#F0/eth
16#F1/ntilde 16#F2/ograve 16#F3/oacute 16#F4/ocircumflex 16#F5/otilde
16#F6/odieresis 16#F7/divide 16#F8/oslash 16#F9/ugrave 16#FA/uacute
16#FB/ucircumflex 16#FC/udieresis 16#FD/yacute 16#FE/thorn 16#FF/ydieresis
] def
127 1 159 { AVec exch/bullet put } for
ANSIPatch aload pop ANSIPatch length 2 idiv{AVec 3 1 roll put}repeat
/DoPatch { dup /CharStrings known
{ setfont
0 1 255 { dup
currentfont
/Encoding get
exch get
currentfont /CharStrings get
exch known
{pop} {currentfont /Encoding get exch /bullet put} ifelse
} for
} {pop} ifelse
} def
/findheaderfont {
AVec 256 array copy
/FHT /|______Helvetica dup RF findfont def
FHT DoPatch
FHT
} def
end %. AltsysDict
%%EndResource
%%EndProlog
%%BeginSetup
AltsysDict begin
_bfh
_efh
end %. AltsysDict
%%EndSetup
AltsysDict begin
/onlyk4{false}ndf
/ccmyk{dup 5 -1 roll sub 0 max exch}ndf
/cmyk2gray{
4 -1 roll 0.3 mul 4 -1 roll 0.59 mul 4 -1 roll 0.11 mul
add add add 1 min neg 1 add
}bdf
/setcmykcolor{1 exch sub ccmyk ccmyk ccmyk pop setrgbcolor}ndf
/maxcolor {
max max max
} ndf
/maxspot {
pop
} ndf
/setcmykcoloroverprint{4{dup -1 eq{pop 0}if 4 1 roll}repeat setcmykcolor}ndf
/findcmykcustomcolor{5 packedarray}ndf
/setcustomcolor{exch aload pop pop 4{4 index mul 4 1 roll}repeat setcmykcolor pop}ndf
/setseparationgray{setgray}ndf
/setoverprint{pop}ndf
/currentoverprint false ndf
/cmykbufs2gray{
0 1 2 index length 1 sub
{
4 index 1 index get 0.3 mul
4 index 2 index get 0.59 mul
4 index 3 index get 0.11 mul
4 index 4 index get
add add add cvi 255 min
255 exch sub
2 index 3 1 roll put
}for
4 1 roll pop pop pop
}bdf
/colorimage{
pop pop
[
5 -1 roll/exec cvx
6 -1 roll/exec cvx
7 -1 roll/exec cvx
8 -1 roll/exec cvx
/cmykbufs2gray cvx
]cvx
image
}
%. version 47.1 on Linotronic of Postscript defines colorimage incorrectly (rgb model only)
version cvr 47.1 le
statusdict /product get (Lino) anchorsearch{pop pop true}{pop false}ifelse
and{userdict begin bdf end}{ndf}ifelse
fhnumcolors 1 ne {/yt save def} if
/customcolorimage{
aload pop
(_vc_Registration) eq
{
pop pop pop pop separationimage
}
{
/ik xdf /iy xdf /im xdf /ic xdf
ic im iy ik cmyk2gray /xt xdf
currenttransfer
{dup 1.0 exch sub xt mul add}concatprocs
st
image
}
ifelse
}ndf
fhnumcolors 1 ne {yt restore} if
fhnumcolors 3 ne {/yt save def} if
/customcolorimage{
aload pop
(_vc_Registration) eq
{
pop pop pop pop separationimage
}
{
/ik xdf /iy xdf /im xdf /ic xdf
1.0 dup ic ik add min sub
1.0 dup im ik add min sub
1.0 dup iy ik add min sub
/ic xdf /iy xdf /im xdf
currentcolortransfer
4 1 roll
{dup 1.0 exch sub ic mul add}concatprocs 4 1 roll
{dup 1.0 exch sub iy mul add}concatprocs 4 1 roll
{dup 1.0 exch sub im mul add}concatprocs 4 1 roll
setcolortransfer
{/dummy xdf dummy}concatprocs{dummy}{dummy}true 3 colorimage
}
ifelse
}ndf
fhnumcolors 3 ne {yt restore} if
fhnumcolors 4 ne {/yt save def} if
/customcolorimage{
aload pop
(_vc_Registration) eq
{
pop pop pop pop separationimage
}
{
/ik xdf /iy xdf /im xdf /ic xdf
currentcolortransfer
{1.0 exch sub ik mul ik sub 1 add}concatprocs 4 1 roll
{1.0 exch sub iy mul iy sub 1 add}concatprocs 4 1 roll
{1.0 exch sub im mul im sub 1 add}concatprocs 4 1 roll
{1.0 exch sub ic mul ic sub 1 add}concatprocs 4 1 roll
setcolortransfer
{/dummy xdf dummy}concatprocs{dummy}{dummy}{dummy}
true 4 colorimage
}
ifelse
}ndf
fhnumcolors 4 ne {yt restore} if
/separationimage{image}ndf
/spotascmyk false ndf
/newcmykcustomcolor{6 packedarray}ndf
/inkoverprint false ndf
/setinkoverprint{pop}ndf
/setspotcolor {
spots exch get
dup 4 get (_vc_Registration) eq
{pop 1 exch sub setseparationgray}
{0 5 getinterval exch setcustomcolor}
ifelse
}ndf
/currentcolortransfer{currenttransfer dup dup dup}ndf
/setcolortransfer{st pop pop pop}ndf
/fas{}ndf
/sas{}ndf
/fhsetspreadsize{pop}ndf
/filler{fill}bdf
/F{gsave {filler}fp grestore}bdf
/f{closepath F}bdf
/S{gsave {stroke}fp grestore}bdf
/s{closepath S}bdf
userdict /islevel2
systemdict /languagelevel known dup
{
pop systemdict /languagelevel get 2 ge
} if
put
islevel2 not
{
/currentcmykcolor
{
0 0 0 1 currentgray sub
} ndf
} if
/tc
{
gsave
setcmykcolor currentcmykcolor
grestore
} bind def
/testCMYKColorThrough
{
tc add add add 0 ne
} bind def
/fhiscomposite where not {
userdict /fhiscomposite
islevel2
{
gsave 1 1 1 1 setcmykcolor currentcmykcolor grestore
add add add 4 eq
}
{
1 0 0 0 testCMYKColorThrough
0 1 0 0 testCMYKColorThrough
0 0 1 0 testCMYKColorThrough
0 0 0 1 testCMYKColorThrough
and and and
} ifelse
put
}
{ pop }
ifelse
/bc4 [0 0 0 0] def
/_lfp4 {
1 pop
/yt xdf
/xt xdf
/ang xdf
storerect
/taperfcn xdf
/k2 xdf /y2 xdf /m2 xdf /c2 xdf
/k1 xdf /y1 xdf /m1 xdf /c1 xdf
c1 c2 sub abs
m1 m2 sub abs
y1 y2 sub abs
k1 k2 sub abs
maxcolor
calcgraysteps mul abs round
height abs adjnumsteps
dup 1 lt {pop 1} if
1 sub /numsteps1 xdf
currentflat mark
currentflat clipflatness
/delta top bottom sub numsteps1 1 add div def
/right right left sub def
/botsv top delta sub def
{
{
W
xt yt translate
ang rotate
xt neg yt neg translate
dup setflat
/bottom botsv def
0 1 numsteps1
{
numsteps1 dup 0 eq {pop pop 0.5} {div} ifelse
taperfcn /frac xdf
bc4 0 c2 c1 sub frac mul c1 add put
bc4 1 m2 m1 sub frac mul m1 add put
bc4 2 y2 y1 sub frac mul y1 add put
bc4 3 k2 k1 sub frac mul k1 add put
bc4 vc
1 index setflat
{
mark {newpath left bottom right delta rectfill}stopped
{cleartomark exch 1.3 mul dup setflat exch 2 copy gt{stop}if}
{cleartomark exit}ifelse
}loop
/bottom bottom delta sub def
}for
}
gsave stopped grestore
{exch pop 2 index exch 1.3 mul dup 100 gt{cleartomark setflat stop}if}
{exit}ifelse
}loop
cleartomark setflat
}bdf
/bcs [0 0] def
/_lfs4 {
/yt xdf
/xt xdf
/ang xdf
storerect
/taperfcn xdf
/tint2 xdf
/tint1 xdf
bcs exch 1 exch put
tint1 tint2 sub abs
bcs 1 get maxspot
calcgraysteps mul abs round
height abs adjnumsteps
dup 2 lt {pop 2} if
1 sub /numsteps1 xdf
currentflat mark
currentflat clipflatness
/delta top bottom sub numsteps1 1 add div def
/right right left sub def
/botsv top delta sub def
{
{
W
xt yt translate
ang rotate
xt neg yt neg translate
dup setflat
/bottom botsv def
0 1 numsteps1
{
numsteps1 div taperfcn /frac xdf
bcs 0
1.0 tint2 tint1 sub frac mul tint1 add sub
put bcs vc
1 index setflat
{
mark {newpath left bottom right delta rectfill}stopped
{cleartomark exch 1.3 mul dup setflat exch 2 copy gt{stop}if}
{cleartomark exit}ifelse
}loop
/bottom bottom delta sub def
}for
}
gsave stopped grestore
{exch pop 2 index exch 1.3 mul dup 100 gt{cleartomark setflat stop}if}
{exit}ifelse
}loop
cleartomark setflat
}bdf
/_rfs6 {
/tint2 xdf
/tint1 xdf
bcs exch 1 exch put
/inrad xdf
/radius xdf
/yt xdf
/xt xdf
tint1 tint2 sub abs
bcs 1 get maxspot
calcgraysteps mul abs round
radius inrad sub abs
adjnumsteps
dup 1 lt {pop 1} if
1 sub /numsteps1 xdf
radius inrad sub numsteps1 dup 0 eq {pop} {div} ifelse
2 div /halfstep xdf
currentflat mark
currentflat clipflatness
{
{
dup setflat
W
0 1 numsteps1
{
dup /radindex xdf
numsteps1 dup 0 eq {pop pop 0.5} {div} ifelse
/frac xdf
bcs 0
tint2 tint1 sub frac mul tint1 add
put bcs vc
1 index setflat
{
newpath mark
xt yt radius inrad sub 1 frac sub mul halfstep add inrad add 0 360
{ arc
radindex numsteps1 ne
inrad 0 gt or
{
xt yt
numsteps1 0 eq
{ inrad }
{
radindex 1 add numsteps1 div 1 exch sub
radius inrad sub mul halfstep add inrad add
}ifelse
dup xt add yt moveto
360 0 arcn
} if
fill
}stopped
{cleartomark exch 1.3 mul dup setflat exch 2 copy gt{stop}if}
{cleartomark exit}ifelse
}loop
}for
}
gsave stopped grestore
{exch pop 2 index exch 1.3 mul dup 100 gt{cleartomark setflat stop}if}
{exit}ifelse
}loop
cleartomark setflat
}bdf
/_rfp6 {
1 pop
/k2 xdf /y2 xdf /m2 xdf /c2 xdf
/k1 xdf /y1 xdf /m1 xdf /c1 xdf
/inrad xdf
/radius xdf
/yt xdf
/xt xdf
c1 c2 sub abs
m1 m2 sub abs
y1 y2 sub abs
k1 k2 sub abs
maxcolor
calcgraysteps mul abs round
radius inrad sub abs
adjnumsteps
dup 1 lt {pop 1} if
1 sub /numsteps1 xdf
radius inrad sub numsteps1 dup 0 eq {pop} {div} ifelse
2 div /halfstep xdf
currentflat mark
currentflat clipflatness
{
{
dup setflat
W
0 1 numsteps1
{
dup /radindex xdf
numsteps1 dup 0 eq {pop pop 0.5} {div} ifelse
/frac xdf
bc4 0 c2 c1 sub frac mul c1 add put
bc4 1 m2 m1 sub frac mul m1 add put
bc4 2 y2 y1 sub frac mul y1 add put
bc4 3 k2 k1 sub frac mul k1 add put
bc4 vc
1 index setflat
{
newpath mark
xt yt radius inrad sub 1 frac sub mul halfstep add inrad add 0 360
{ arc
radindex numsteps1 ne
inrad 0 gt or
{
xt yt
numsteps1 0 eq
{ inrad }
{
radindex 1 add numsteps1 div 1 exch sub
radius inrad sub mul halfstep add inrad add
}ifelse
dup xt add yt moveto
360 0 arcn
} if
fill
}stopped
{cleartomark exch 1.3 mul dup setflat exch 2 copy gt{stop}if}
{cleartomark exit}ifelse
}loop
}for
}
gsave stopped grestore
{exch pop 2 index exch 1.3 mul dup 100 gt{cleartomark setflat stop}if}
{exit}ifelse
}loop
cleartomark setflat
}bdf
/lfp4{_lfp4}ndf
/lfs4{_lfs4}ndf
/rfs6{_rfs6}ndf
/rfp6{_rfp6}ndf
/cvc [0 0 0 1] def
/vc{
AltsysDict /cvc 2 index put
aload length dup 4 eq
{pop dup -1 eq{pop setrgbcolor}{setcmykcolor}ifelse}
{6 eq {sethexcolor} {setspotcolor} ifelse }
ifelse
}bdf
0 setseparationgray
/imgr {1692 1584 1922 1814 } def
/bleed 0 def
/clpr {1692 1584 1922 1814 } def
/xs 1 def
/ys 1 def
/botx 0 def
/overlap 0 def
/wdist 18 def
0 2 mul fhsetspreadsize
0 0 ne {/df 0 def /clipflatness 0 def} if
/maxsteps 256 def
/forcemaxsteps false def
/minsteps 0 def
userdict begin /AGDOrigMtx matrix currentmatrix def end
vms
-1695 -1586 translate
/currentpacking defed{false setpacking}if
/spots[
1 0 0 0 (Process Cyan) false newcmykcustomcolor
0 1 0 0 (Process Magenta) false newcmykcustomcolor
0 0 1 0 (Process Yellow) false newcmykcustomcolor
0 0 0 1 (Process Black) false newcmykcustomcolor
]def
n
[] 0 d
3.863708 M
1 w
0 j
0 J
false setoverprint
0 i
false eomode
[0 0 0 1]vc
vms
1699.7734 1627.1154 m
1915.3143 1627.7301 L
2 w
3.863693 M
[8 4 ] 0 d
S
[] 0 d
n
1699.7734 1663.0553 m
1914.4994 1663.5898 L
4 w
S
n
1699.7734 1698.9952 m
1914.4994 1699.0421 L
2 w
[8 4 ] 0 d
S
[] 0 d
n
1699.7734 1734.9352 m
1914.4994 1734.9019 L
4 w
S
n
1699.7734 1770.8751 m
1914.4994 1770.7616 L
2 w
[8 4 ] 0 d
S
[] 0 d
n
1736.5 1806 m
1879 1806 L
4 w
S
n
1915.5 1629 m
1915.5 1770.5 L
S
n
1879.9894 1590.6721 m
1879.4549 1805.398 L
2 w
[8 4 ] 0 d
S
[] 0 d
n
1844.0495 1590.6721 m
1844.0026 1805.398 L
4 w
S
n
1808.1096 1590.6721 m
1808.1429 1805.398 L
2 w
[8 4 ] 0 d
S
[] 0 d
n
1772.1697 1590.6721 m
1772.2831 1805.398 L
4 w
S
n
1736.2297 1590.6721 m
1736.4233 1805.398 L
2 w
[8 4 ] 0 d
S
[] 0 d
n
1735 1591 m
1880 1591 L
4 w
S
n
1700.5 1628 m
1700.5 1771.5 L
S
n
1700 1772 m
1735.5 1805 L
1.5 w
S
n
1702.5 1699.5 m
1807 1805.5 L
S
n
1701.5 1628 m
1879 1806 L
S
n
1737.5 1592 m
1916 1771 L
S
n
1808.5 1591.5 m
1915 1699 L
S
n
1881 1591 m
1913.5 1627.5 L
S
n
vmrs
1735.5 1590 m
1701 1627 L
1.5 w
3.863693 M
S
n
1702.5 1699.5 m
1807.5 1591.5 L
S
n
1701 1772 m
1880.5 1591 L
S
n
1736.5 1804.5 m
1914 1629 L
S
n
1808 1802.5 m
1915.5 1700 L
S
n
1878.5 1805 m
1915 1771.5 L
S
n
1732.4958 1806.2345 m
1732.4958 1808.1675 1734.0628 1809.7345 1735.9958 1809.7345 C
1737.9289 1809.7345 1739.4958 1808.1675 1739.4958 1806.2345 C
1739.4958 1804.3015 1737.9289 1802.7345 1735.9958 1802.7345 C
1734.0628 1802.7345 1732.4958 1804.3015 1732.4958 1806.2345 C
[0 0 0 0]vc
f
[0 0 0 1]vc
S
n
1803.9958 1735.2345 m
1803.9958 1737.1675 1805.5628 1738.7345 1807.4958 1738.7345 C
1809.4289 1738.7345 1810.9958 1737.1675 1810.9958 1735.2345 C
1810.9958 1733.3015 1809.4289 1731.7345 1807.4958 1731.7345 C
1805.5628 1731.7345 1803.9958 1733.3015 1803.9958 1735.2345 C
[0 0 0 0]vc
f
[0 0 0 1]vc
S
n
1875.9958 1735.7345 m
1875.9958 1737.6675 1877.5628 1739.2345 1879.4958 1739.2345 C
1881.4289 1739.2345 1882.9958 1737.6675 1882.9958 1735.7345 C
1882.9958 1733.8015 1881.4289 1732.2345 1879.4958 1732.2345 C
1877.5628 1732.2345 1875.9958 1733.8015 1875.9958 1735.7345 C
[0 0 0 0]vc
f
[0 0 0 1]vc
S
n
1911.4958 1771.2345 m
1911.4958 1773.1675 1913.0628 1774.7345 1914.9958 1774.7345 C
1916.9289 1774.7345 1918.4958 1773.1675 1918.4958 1771.2345 C
1918.4958 1769.3015 1916.9289 1767.7345 1914.9958 1767.7345 C
1913.0628 1767.7345 1911.4958 1769.3015 1911.4958 1771.2345 C
[0 0 0 0]vc
f
[0 0 0 1]vc
S
n
1839.9958 1770.7345 m
1839.9958 1772.6675 1841.5628 1774.2345 1843.4958 1774.2345 C
1845.4289 1774.2345 1846.9958 1772.6675 1846.9958 1770.7345 C
1846.9958 1768.8015 1845.4289 1767.2345 1843.4958 1767.2345 C
1841.5628 1767.2345 1839.9958 1768.8015 1839.9958 1770.7345 C
[0 0 0 0]vc
f
[0 0 0 1]vc
S
n
1768.4958 1771.2345 m
1768.4958 1773.1675 1770.0628 1774.7345 1771.9958 1774.7345 C
1773.9289 1774.7345 1775.4958 1773.1675 1775.4958 1771.2345 C
1775.4958 1769.3015 1773.9289 1767.7345 1771.9958 1767.7345 C
1770.0628 1767.7345 1768.4958 1769.3015 1768.4958 1771.2345 C
[0 0 0 0]vc
f
[0 0 0 1]vc
S
n
1696.9958 1771.7345 m
1696.9958 1773.6675 1698.5628 1775.2345 1700.4958 1775.2345 C
1702.4289 1775.2345 1703.9958 1773.6675 1703.9958 1771.7345 C
1703.9958 1769.8015 1702.4289 1768.2345 1700.4958 1768.2345 C
1698.5628 1768.2345 1696.9958 1769.8015 1696.9958 1771.7345 C
[0 0 0 0]vc
f
[0 0 0 1]vc
S
n
1874.9958 1806.2345 m
1874.9958 1808.1675 1876.5628 1809.7345 1878.4958 1809.7345 C
1880.4289 1809.7345 1881.9958 1808.1675 1881.9958 1806.2345 C
1881.9958 1804.3015 1880.4289 1802.7345 1878.4958 1802.7345 C
1876.5628 1802.7345 1874.9958 1804.3015 1874.9958 1806.2345 C
[0 0 0 0]vc
f
[0 0 0 1]vc
S
n
1802.9958 1805.7345 m
1802.9958 1807.6675 1804.5628 1809.2345 1806.4958 1809.2345 C
1808.4289 1809.2345 1809.9958 1807.6675 1809.9958 1805.7345 C
1809.9958 1803.8015 1808.4289 1802.2345 1806.4958 1802.2345 C
1804.5628 1802.2345 1802.9958 1803.8015 1802.9958 1805.7345 C
[0 0 0 0]vc
f
[0 0 0 1]vc
S
n
1874.9958 1663.7345 m
1874.9958 1665.6675 1876.5628 1667.2345 1878.4958 1667.2345 C
1880.4289 1667.2345 1881.9958 1665.6675 1881.9958 1663.7345 C
1881.9958 1661.8015 1880.4289 1660.2345 1878.4958 1660.2345 C
1876.5628 1660.2345 1874.9958 1661.8015 1874.9958 1663.7345 C
[0 0 0 0]vc
f
[0 0 0 1]vc
S
n
1695.9958 1699.7345 m
1695.9958 1701.6675 1697.5628 1703.2345 1699.4958 1703.2345 C
1701.4289 1703.2345 1702.9958 1701.6675 1702.9958 1699.7345 C
1702.9958 1697.8015 1701.4289 1696.2345 1699.4958 1696.2345 C
1697.5628 1696.2345 1695.9958 1697.8015 1695.9958 1699.7345 C
[0 0 0 0]vc
f
[0 0 0 1]vc
S
n
1768.9958 1699.7345 m
1768.9958 1701.6675 1770.5628 1703.2345 1772.4958 1703.2345 C
1774.4289 1703.2345 1775.9958 1701.6675 1775.9958 1699.7345 C
1775.9958 1697.8015 1774.4289 1696.2345 1772.4958 1696.2345 C
1770.5628 1696.2345 1768.9958 1697.8015 1768.9958 1699.7345 C
[0 0 0 0]vc
f
[0 0 0 1]vc
S
n
1840.4958 1699.2345 m
1840.4958 1701.1675 1842.0628 1702.7345 1843.9958 1702.7345 C
1845.9289 1702.7345 1847.4958 1701.1675 1847.4958 1699.2345 C
1847.4958 1697.3015 1845.9289 1695.7345 1843.9958 1695.7345 C
1842.0628 1695.7345 1840.4958 1697.3015 1840.4958 1699.2345 C
[0 0 0 0]vc
f
[0 0 0 1]vc
S
n
1911.4958 1699.7345 m
1911.4958 1701.6675 1913.0628 1703.2345 1914.9958 1703.2345 C
1916.9289 1703.2345 1918.4958 1701.6675 1918.4958 1699.7345 C
1918.4958 1697.8015 1916.9289 1696.2345 1914.9958 1696.2345 C
1913.0628 1696.2345 1911.4958 1697.8015 1911.4958 1699.7345 C
[0 0 0 0]vc
f
[0 0 0 1]vc
S
n
vmrs
1732.4958 1735.7345 m
1732.4958 1737.6675 1734.0628 1739.2345 1735.9958 1739.2345 C
1737.9289 1739.2345 1739.4958 1737.6675 1739.4958 1735.7345 C
1739.4958 1733.8015 1737.9289 1732.2345 1735.9958 1732.2345 C
1734.0628 1732.2345 1732.4958 1733.8015 1732.4958 1735.7345 C
[0 0 0 0]vc
f
1.5 w
3.863693 M
[0 0 0 1]vc
S
n
1875.9958 1591.2345 m
1875.9958 1593.1675 1877.5628 1594.7345 1879.4958 1594.7345 C
1881.4289 1594.7345 1882.9958 1593.1675 1882.9958 1591.2345 C
1882.9958 1589.3015 1881.4289 1587.7345 1879.4958 1587.7345 C
1877.5628 1587.7345 1875.9958 1589.3015 1875.9958 1591.2345 C
[0 0 0 0]vc
f
[0 0 0 1]vc
S
n
1910.9958 1627.7345 m
1910.9958 1629.6675 1912.5628 1631.2345 1914.4958 1631.2345 C
1916.4289 1631.2345 1917.9958 1629.6675 1917.9958 1627.7345 C
1917.9958 1625.8015 1916.4289 1624.2345 1914.4958 1624.2345 C
1912.5628 1624.2345 1910.9958 1625.8015 1910.9958 1627.7345 C
[0 0 0 0]vc
f
[0 0 0 1]vc
S
n
1732.9958 1663.7345 m
1732.9958 1665.6675 1734.5628 1667.2345 1736.4958 1667.2345 C
1738.4289 1667.2345 1739.9958 1665.6675 1739.9958 1663.7345 C
1739.9958 1661.8015 1738.4289 1660.2345 1736.4958 1660.2345 C
1734.5628 1660.2345 1732.9958 1661.8015 1732.9958 1663.7345 C
[0 0 0 0]vc
f
[0 0 0 1]vc
S
n
1804.4958 1663.2345 m
1804.4958 1665.1675 1806.0628 1666.7345 1807.9958 1666.7345 C
1809.9289 1666.7345 1811.4958 1665.1675 1811.4958 1663.2345 C
1811.4958 1661.3015 1809.9289 1659.7345 1807.9958 1659.7345 C
1806.0628 1659.7345 1804.4958 1661.3015 1804.4958 1663.2345 C
[0 0 0 0]vc
f
[0 0 0 1]vc
S
n
1769.4958 1627.7345 m
1769.4958 1629.6675 1771.0628 1631.2345 1772.9958 1631.2345 C
1774.9289 1631.2345 1776.4958 1629.6675 1776.4958 1627.7345 C
1776.4958 1625.8015 1774.9289 1624.2345 1772.9958 1624.2345 C
1771.0628 1624.2345 1769.4958 1625.8015 1769.4958 1627.7345 C
[0 0 0 0]vc
f
[0 0 0 1]vc
S
n
1803.4958 1591.2345 m
1803.4958 1593.1675 1805.0628 1594.7345 1806.9958 1594.7345 C
1808.9289 1594.7345 1810.4958 1593.1675 1810.4958 1591.2345 C
1810.4958 1589.3015 1808.9289 1587.7345 1806.9958 1587.7345 C
1805.0628 1587.7345 1803.4958 1589.3015 1803.4958 1591.2345 C
[0 0 0 0]vc
f
[0 0 0 1]vc
S
n
1840.4958 1628.2345 m
1840.4958 1630.1675 1842.0628 1631.7345 1843.9958 1631.7345 C
1845.9289 1631.7345 1847.4958 1630.1675 1847.4958 1628.2345 C
1847.4958 1626.3015 1845.9289 1624.7345 1843.9958 1624.7345 C
1842.0628 1624.7345 1840.4958 1626.3015 1840.4958 1628.2345 C
[0 0 0 0]vc
f
[0 0 0 1]vc
S
n
1731.4958 1592.2345 m
1731.4958 1594.1675 1733.0628 1595.7345 1734.9958 1595.7345 C
1736.9289 1595.7345 1738.4958 1594.1675 1738.4958 1592.2345 C
1738.4958 1590.3015 1736.9289 1588.7345 1734.9958 1588.7345 C
1733.0628 1588.7345 1731.4958 1590.3015 1731.4958 1592.2345 C
[0 0 0 0]vc
f
[0 0 0 1]vc
S
n
1696.4958 1627.7345 m
1696.4958 1629.6675 1698.0628 1631.2345 1699.9958 1631.2345 C
1701.9289 1631.2345 1703.4958 1629.6675 1703.4958 1627.7345 C
1703.4958 1625.8015 1701.9289 1624.2345 1699.9958 1624.2345 C
1698.0628 1624.2345 1696.4958 1625.8015 1696.4958 1627.7345 C
[0 0 0 0]vc
f
[0 0 0 1]vc
S
n
vmr
vmr
end
%%Trailer
%%EndDocument
@endspecial 986 1405 a Fu(Figure)24 b(4:)29 b(The)23
b(line)h(graph)h(of)e(a)h Fp(4)c Fq(\002)g Fp(4)j Fu(grid)h(and)g(its)g
(dual.)p 3878 1450 V 0 1453 3882 4 v 0 1711 a(therefore)e(is)d
(composed)i(of)f(processors)i(\(nodes\))f(that)f(form)f(a)g(left-right)
j(path)e(using)h(the)f(solid)g(horizontal,)j(v)o(ertical)e(and)0
1823 y(diagonal)k(edges)f(and)f(a)g(left-right)i(path)e(using)h(the)f
(dotted)i(and)e(diagonal)i(lines.)k(In)23 b(this)g(implementation)j
(the)d(message)0 1936 y(comple)o(xity)i(and)e(the)g(time)g(comple)o
(xity)i(of)d(the)i(adapti)n(v)o(e)g(algorithm)h(are)e(indeed)h
Fp(\002\()p Fr(`)p Fp(\))p Fu(.)k(The)22 b(non-adapti)n(v)o(e)k
(algorithm)0 2049 y(can)34 b(probe)h(its)e(chosen)j(strip)e(in)g
(parallel,)j(and)d(achie)n(v)o(e)h(a)e(running)j(time)d(of)h
Fp(\002\()p Fr(`)p Fp(\))f Fu(and)h(a)f(message)i(comple)o(xity)g(of)0
2162 y Fp(\002\()106 2097 y Fq(p)p 182 2097 55 4 v 65
x Fr(n)15 b Fp(log)i Fr(n)p Fp(\))p Fu(.)51 b(Other)31
b(data)h(structures)i(that)d(are)h(implemented)h(on)e(the)g(netw)o(ork)
i(might)e(support)i(the)e(implementa-)0 2275 y(tion)g(of)e(the)i
(quorum)f(system.)49 b(F)o(or)29 b(instance)j(if)e(the)g(netw)o(ork)h
(implements)g(a)f(DHT)d(\(such)k(as)f(the)g(one)h(presented)h(in)0
2388 y([19)q(]\))25 b(then)g(the)g(DHT)e(could)i(be)g(used)h(for)f
(probing)h(the)f(strip)h(in)e(parallel)j(and)e(the)g(time)f(comple)o
(xity)j(w)o(ould)e(reduce)h(to)0 2501 y Fp(\002\(log)18
b Fr(n)p Fp(\))k Fu(with)i(an)f(e)o(xtra)h(logarithmic)i(f)o(actor)f
(in)e(the)h(message)h(comple)o(xity)-6 b(.)0 2747 y Ft(A)34
b(mor)n(e)h(dynamic)g(model)91 b Fu(A)33 b(more)i(realistic)i(w)o(ay)e
(to)g(model)g(temporary)i(f)o(aults)f(is)f(to)f(add)i(a)e(continuous)k
(time)0 2860 y(line)30 b(and)g(let)g(the)f(state)i(of)e(each)i(edge)f
(be)f(determined)j(by)e(a)f(tw)o(o)g(state)h(continuous)j(time)c(Mark)o
(o)o(v)i(chain.)47 b(Thus)30 b(the)0 2973 y(con\002guration)24
b(of)d(the)h(edges)g(is)f(time)g(stationary)j(with)d(a)g(distrib)n
(ution)k(identical)e(to)e(the)h(one)f(of)h(the)f(static)h(model)g
(where)0 3085 y(each)31 b(edge)g(f)o(ailed)g(with)f(probability)k
Fr(p)p Fu(.)48 b(No)n(w)28 b(we)i(need)h(to)f(analyze)i(what)e(is)g
(the)h Fs(portion)h Fu(of)e(time)g(in)g(which)h(a)e(li)n(v)o(e)0
3198 y(quorum)e(e)o(xists.)37 b(The)25 b(theorem)i(of)f(er)n(godicity)j
(states)f(that)e(the)g(portion)i(of)e(the)g(time)g(a)f(li)n(v)o(e)h
(quorum)h(e)o(xists)g(is)f(e)o(xactly)0 3311 y(the)e(probability)j(a)c
(li)n(v)o(e)g(quorum)i(e)o(xists)f(in)g(the)f(static)i(model,)f(which)g
(is)f(e)o(xponentially)k(small.)0 3557 y Ft(W)-7 b(orst)34
b(case)h(model)91 b Fu(Assume)33 b(an)h(adv)o(ersary)i(is)d(gi)n(v)o
(en)h(the)g(possibility)j(to)c(crash)i(a)e(constant)i(fraction)h(of)d
(the)h(el-)0 3670 y(ements.)62 b(It)34 b(is)g(easy)h(to)f(see)g(that)h
(an)f(adv)o(ersary)j(can)d(`kill')i(all)e(the)g(short)i(paths,)h(and)e
(lea)n(v)o(e)g(only)g(paths)h(of)e(length)0 3783 y Fp(\012\()p
Fr(`)139 3750 y Fo(2)178 3783 y Fp(\))43 b(=)f(\012\()p
Fr(n)p Fp(\))p Fu(.)55 b(Ho)n(we)n(v)o(er)32 b(an)h(adv)o(ersary)i(may)
d(force)i(an)o(y)e(algorithm)j(\(e)n(v)o(en)e(probabilistic\))k(to)32
b(probe)i Fp(\012\()p Fr(n)p Fp(\))e Fu(ele-)0 3896 y(ments,)e(e)n(v)o
(en)e(if)h(we)e(are)i(guaranteed)i(that)e(there)h(e)o(xists)f(a)f
(short)i(left-right)g(path.)45 b(W)-7 b(e)27 b(sk)o(etch)j(the)f(proof)
g(using)h(Y)-9 b(ao')k(s)0 4009 y(minimax)28 b(principle)i(\(c.f.)41
b([18)q(]\).)g(W)-7 b(e)26 b(need)j(to)e(supply)j(a)d(distrib)n(ution)k
(of)d(the)g Fs(inputs)h Fu(such)f(that)g(e)n(v)o(ery)g(deterministic)0
4122 y(algorithm)d(w)o(ould)f(need)h(to)e(probe)i(an)e(e)o(xpected)j
Fp(\012\()p Fr(n)p Fp(\))d Fu(elements.)30 b(The)23 b(distrib)n(ution)k
(o)o(v)o(er)c(inputs)i(is)f(as)f(follo)n(ws:)114 4309
y(1.)45 b(Kill)23 b(e)n(v)o(ery)h(line)h(of)e(e)n(v)o(en)h(inde)o(x.)
114 4497 y(2.)45 b(From)23 b(the)h(remaining)h(lines)g(choose)g(at)e
(random)i(one)f(which)g(w)o(ould)g(remain)g(ali)n(v)o(e.)114
4685 y(3.)45 b(Kill)23 b(each)i(remaining)g(line)f(by)g(choosing)i(at)d
(random)i(one)f(element)g(from)g(it)f(and)h(deleting)i(it.)141
4872 y(An)20 b(e)o(xample)i(of)e(a)h(possible)i(input)e(is)g(seen)h(in)
e(Figure)h(5,)g(where)g(the)g(third)h(ro)n(w)e(from)h(the)g(top)g(is)f
(the)h(only)h(survi)n(ving)0 4985 y(ro)n(w)-6 b(.)56
b(No)n(w)32 b(e)n(v)o(ery)h Fs(deterministic)j Fu(algorithm)f(needs)f
(to)f(\002nd)f(the)i(line)f(that)h(survi)n(v)o(ed.)58
b(Ev)o(ery)33 b(such)h(algorithm)h(will)0 5098 y(need)c(to)g(probe)g
Fp(\012\()p Fr(`)p Fp(\))f Fu(lines,)j(each)f(of)e(these)h(lines)h
(should)g(be)f(probed)h Fp(\012\()p Fr(`)p Fp(\))e Fu(times.)49
b(All)30 b(in)h(all)f(e)n(v)o(ery)h(deterministic)0 5211
y(algorithm)i(w)o(ould)f(probe)g(on)f(e)o(xpectation)j
Fp(\012\()p Fr(`)1586 5178 y Fo(2)1625 5211 y Fp(\))d
Fu(edges.)53 b(W)-7 b(e)30 b(conclude)k(that)d(for)h(e)n(v)o(ery)f
(algorithm)i(\(deterministic)0 5324 y(or)26 b(randomized\))i(there)f
(is)f(an)f(input,)j(for)e(which)g(the)g(e)o(xpected)i(probe)f(comple)o
(xity)h(of)d(the)h(algorithm)i(is)e Fp(\012\()p Fr(n)p
Fp(\))p Fu(.)34 b(Pele)o(g)1905 5589 y(10)p eop end
%%Page: 11 11
TeXDict begin 11 10 bop 0 3 3882 4 v 0 1563 4 1560 v
51 1209 a @beginspecial 0 @llx 0 @lly 547 @urx 273 @ury
2834 @rwi 1417 @rhi @setspecial
%%BeginDocument: minimax_new.eps
%!PS-Adobe-2.0 EPSF-1.2
%%Title: minimax_new.FH9
%%Creator: FreeHand 9.0
%%CreationDate: Mon Jan 27 10:45:07 2003
%%BoundingBox: 0 0 547 273
%%FHPathName:E:\homepage\index_files\minimax_new.FH9
%ALDOriginalFile:E:\homepage\index_files\minimax_new.FH9
%ALDBoundingBox: -25 -430 587 362
%%FHPageNum:1
%%DocumentSuppliedResources: procset Altsys_header 4 0
%%ColorUsage: Color
%%DocumentProcessColors: Black
%%EndComments
%%BeginAGDEmbeddedDoc: version 1.0
%:s8W,W5t=="^::eu!!!CRGQH?a$ZK?N)9;chS*]"/O>_N_2POfg
%:s8VUQY<]S(J:tXDPZfnCB>iij]6hj.QuT^_m+L(h^ZY-Xa7#O>n(lbPLnGIFiGp3+L'o,U:dtOR-t+*`$kFN]9OdpW<@qC95U3F>?3HCQ,DQdO1.86H#:B7I@VJ.Ca'g8uBkD.OCbJ6S1saq(-8eho??+u_-VV.KflhdbC)P3[3%Rf2
%:Bm_AHlsE_=VS0n#9FmUGi:'G:T1tGM0ZDB0eJkF9Q;*Jt^FnWa0kBl%2ep(JbOKB<>L'_L9)t_hb^240#'6G.hP620F8[%%-VZ/[!?A-pU6aN%\*462(:VA;#Nti4Ej_0?^qB+#
%:I8;2rPM`$Z)qVF=CJL2)h2EFW'>#,Hrr10ar\3;EF!&+C(Z2DS1-=;S)um(=].WZ=8Vb!9;jGdd3Es2?NKm6YG$X1npiek1X@Xl.YL*m:3*L2!#@T0SZ;jMDf:I@)a>,QC1V.Rb'@1VnA,1q";L#%)[$`@K]0k_C$/j"k^ncJ_UILaQU-m4Kr7#4LFLZ
%:p9JY*,Io?I6TrUOo4HFj>=a?W+umF"MIhV6:\^6=/qFr"L:_t:/c;tc4l^%[26RJRM$.\Me0]1?3_+*iD;&S)j1O???:M97'WZ,V&Z\e\Tp;[lPk]L]B$'S_(M<"4LksU;n$#6a5)neT6VR$u:;No-b(Lh<]9^+j[b]0A[A/W_S+%"A_&?J2BrG(u?nF-XhYd%SU6[,VQ\)V]
%:QBiK'gj4RK[=C82ocq>.6$cSOUL2b4jh$1/8[9]r*t>)\3S$f\l'S/'`aJa#,Knd;'O!Mc(0O"?P:\A$(IkbfSSGo+*bW.],V*29I7b)2QR>tfVVBk$KQ*.d0H4Zo3!X)*0!uB\(Uc8G[CU5>"^R\`p=;)mGC:hpNeZ0=LCq?X.h^*E6ZSB+Pq0i3(.,n@JnSd?Cp-OW0=k:uJN\m^[Pt)#BW`=LG
%:0DA1d"Vq1$gbBGa-ZD"iTbc\`WC8d%Ng:O]R[6/7YgF\qiSjePXYbtd#;SV8Q,>EpPpA8&46$tclBZIgo0?'91P%o/WUkZ=ql/r"D^E0D,@%e%k_2]poHp>7(epLtXX;o")Qp`,4\"Nl9PbM&>hR:N6b%.I(,=tiA+tS[1S^st_cZhB/4Q.a`IV14$[X_FKW-9m.*q)8/:7jJ7h'\**'Q9H?n$QKoM]kF8`?o/PfG`gL>Ct(aJj
%:Z#c&0P4eHqFg7:jL94q/;%tC+?8%?OrI!%9L31+l50Y8l446,p8D?bbYp3PX$>E_&Re/TD,e_'V5$(I$q**9tI$KUfSG^X-GNFNop=QXr_(+?)gs:9BGFn[f0PUD/3"45-KL4cSqXQ:sp"odWP5L-tu>.FPXBK]hVd8e>,5ggGedMF?H52-7moZ"FI9%m/d^#?Yg@X\.Jfiln$0.A%.9+C-=61]Y%
%:P+HKRhJm:kP."=\mo[)*f6+6EL1h6E3?ohHp]*cbo;d@quD>X6`()q%;(c//iDWs8qm\))Bu8EZurmG.QrDBYRO7895cG7+%+h-rpa.d>XbOZmjT?6u/;53]W>2_!u2/S``$"XMo487*gA6RQ'5UPET=3H*JdZ'D,[LM@ogp"_=JetOM9^KVCg9rAHb/gW[3-Jc9hUSKIVd_#Oc/CsRA4)HQaAjTSD
%:dd%93H@mBS;+\e[d]oL0WeIg^EqL81qDf^9CJg;P>X6_=):DS:l#AWGRaEubg/9)"P?8u0%pOs\oX+iJh/,]47S04_PAZANVkbmZdOgMK@^!:M>DnsBFTj&(eWBd3OreP*hYrR:-#KWC^:e!>Y%^OeRe5bM8GWNXqF2bo_'Zk)@oBDs\n>N=P-fE\jKjWu)7*MrUq^lm81OnY',nbI3*th;m6D3Hho)u+?W?kL>P+J!kb.GWC4O^[
%:^Qo6*hWG,(H`!%\>1E1_5%aHYh[\FNf(kYt1uDC>IQ,FGG.,Y`@]NYpcF,V!a?%YtU*dRUJ>Bqhf(0iZ5gnOJC\g+bRbf%#X2feJ,L2c[5OMWGd]nQD%s$O^C[:Ta
%:1;h\;-N2a%P5_$r]gG?>)'MO3[]^Xq>C`ieVY:O?hV'_0\iZkUrQq2:K08,JXf]tE,;>apLUh3a>[a\W-Tt!WbL-o;AZ)uR_$!uA@9%EZM-2=1Zn[I[)n(3'.mMNa,$$3(h$.AmYW>G1MR1E8=\@SP1&OZ-_(tlOXMc$)&f9R`XMm5H9r7>nCr/'^K'VrPHjR:AX8"aD`*N.%IXlca0E$(:k`$cm9&fK5osUK`LC8FNPBS:8[p?a'PM*PC@.g3j09$?6kD!1$^7kD3qa`./hS4GJ8Y\(EY'\mgk`$Tj9jp(6%_rXeUBSO;N5jM`+W-3&Z&=h>1Nra6fUXT0k$hlr-$oC'Y?4e=#Q;RB1=2dC
%:5%7FJ2fb!fp'84UMN;-4Y$]VBCiVVV\P0;WC;:nWPlqbHn2if)Fr5^tcpt0hcJs!uO7JjHi2E(U&%dA>I3]n4ab74s#Cig>G!qMCt5duum$%OKRIf&CBZV59ECInWBf5*3L%kHB#,Mn@[]`BUO7X18TOWT<,t
%:oGLn(ha.'n!gi**1E@K1%?2ggjlM+VSo4/+kX4!S%XQJrk*`Ti_.]%0QJaaKa"M3TA!q?!N9Sf''9nHVUM4^GG2`HV0'S-5T#Q=e'.;=`0W0C!!a/52Q?3G8P[I=?Rnb?cR\`[#'3h5cuXT!gSHQ)\Se#
%:M*sTfe&YmA/u_@YV%,tKpsUo.![T[Ys0]*qfquI1flcL4HQbV]FAK"$E@K6"Ght\U^Qk2+acQlN9GD29\p.O>1a]kNT_*b]>Oj:bne]YKdp"dA`_N!ZF4OmM1Eer1g)2[n$Vi@r,g$@:&GtrN*l/rf-m$9T4H;Yc#s='Bn-ffd=o8TPiHb>=J&)M;&MM6-?'T66kJM?srA@nNT6*c^0Ji1^R2uS%3'`mEe)X32T"")DI@U9k*+QX4
%:6J.,fm1=`k+"'AgH!Z,KUUP1/jr*XqVrYTL[,HB4,m!<3N(.MtART%aAH2bs6t(1K<,$2\!!0-$6tp.Q!!/ut;fm%oDJ&qM'2W7\F)Y]#FD5o07riA7]c]!&[)ZDe!P_!/j<\Ch6"GF(96)E--#=!!06'9lNm;C&e6X7;QOPASuSi!Td7*N-0(*
%:D.7F"9PIsV@<-Vn!J"-X@T6cFCh3SH$UI9N7W30d!!#SXDes?42?3bI:i^Jn9QP:U!CBV'De!?hF`M$n!6%WGDIlXQF8uoX!/X0ZB6A6+!!"Q:@<6-m7VQ[T!!%(/Ch7HWBle@r!-CYGASk7aDfABkF8u:m6=FqL@n^TSAH2_.7s/NVATIhPG#NL.Ch6F`DfABkF8u>^;fHYs6Z6dZE]*mt"XHgg
%:7mh32Ch7*uDfPgX]1cXYAT@bO/l5tuBE/%+7riNjDu]ka6#q!aG>M^iBE/#4!9+$W!HJ4=!HJ4=!HJ1d!6"rW!6"rW!6"rW!6"rW!6"rW!7(Wk!$qUk!$qUk!$qUk!7(\D!HJ4=!HJ4=!HJ4=!HJ4=!HJ1d!94&N!-A5!!N,q0!-A5!!4r5Q!-A4=!8mmU!4r5Q!N,qX!94&2!94*'!94(;!94(;!94*X!It/$!N,o*!N,t$.OYGl
%:!%e1m!A4D'!NlEE!A4D'!NlEE!A4D'!NlEE!A4D'!NlEE!A4D'!NlEE!A4D'!NlEE!A4D'!NlEE!A4D'!NlEE!A4D'!NlEE!A4D'!NlEE!A4D'!NlEE!A4D'!NlEE!A4D'!NlEE!A4D'!NlEE!A4D'!NlEE!A4D'!NlEE!A4D'!NlDS!-A5o!It3R!-A5o!It3R!-A5o!It3R!-A5o!It3R!-A5o!It3R!-A5o!It3R!-A5o_[4OG
%:!-A5o!-A5o!-A5o!8mmU!4r6W!94*_!HnIh!%e1m!7(ZZ!8mnD!Ta;=!94'$!2fhW!-A5!!20Fr!8mk;!N,qX!N,qX!N,qX!N,qX!9jLD!N,qU!/gj;!N,qX!*K<^!N,qX!9jLD!9jMR!94(;!.RIS@'KARfXhAH;c1s8N'![fjbZ
%:~>
%%EndAGDEmbeddedDoc
%%BeginResource: procset Altsys_header 4 0
userdict begin /AltsysDict 300 dict def end
AltsysDict begin
/bdf{bind def}bind def
/xdf{exch def}bdf
/defed{where{pop true}{false}ifelse}bdf
/ndf{1 index where{pop pop pop}{dup xcheck{bind}if def}ifelse}bdf
/d{setdash}bdf
/h{closepath}bdf
/H{}bdf
/J{setlinecap}bdf
/j{setlinejoin}bdf
/M{setmiterlimit}bdf
/n{newpath}bdf
/N{newpath}bdf
/q{gsave}bdf
/Q{grestore}bdf
/w{setlinewidth}bdf
/Xic{matrix invertmatrix concat}bdf
/Xq{matrix currentmatrix mark}bdf
/XQ{cleartomark setmatrix}bdf
/sepdef{
dup where not
{
AltsysSepDict
}
if
3 1 roll exch put
}bdf
/st{settransfer}bdf
/colorimage defed /_rci xdf
/cntr 0 def
/readbinarystring{
/cntr 0 def
2 copy readstring
{
{
dup
(\034) search
{
length exch pop exch
dup length 0 ne
{
dup dup 0 get 32 sub 0 exch put
/cntr cntr 1 add def
}
{
pop 1 string dup
0 6 index read pop 32 sub put
}ifelse
3 copy
putinterval pop
1 add
1 index length 1 sub
1 index sub
dup 0 le {pop pop exit}if
getinterval
}
{
pop exit
} ifelse
} loop
}if
cntr 0 gt
{
pop 2 copy
dup length cntr sub cntr getinterval
readbinarystring
} if
pop exch pop
} bdf
/_NXLevel2 defed {
_NXLevel2 not {
/colorimage where {
userdict eq {
/_rci false def
} if
} if
} if
} if
/md defed{
md type /dicttype eq {
/colorimage where {
md eq {
/_rci false def
}if
}if
/settransfer where {
md eq {
/st systemdict /settransfer get def
}if
}if
}if
}if
/setstrokeadjust defed
{
true setstrokeadjust
/C{curveto}bdf
/L{lineto}bdf
/m{moveto}bdf
}
{
/dr{transform .25 sub round .25 add
exch .25 sub round .25 add exch itransform}bdf
/C{dr curveto}bdf
/L{dr lineto}bdf
/m{dr moveto}bdf
/setstrokeadjust{pop}bdf
}ifelse
/privrectpath {
4 -2 roll m
dtransform round exch round exch idtransform
2 copy 0 lt exch 0 lt xor
{dup 0 exch rlineto exch 0 rlineto neg 0 exch rlineto}
{exch dup 0 rlineto exch 0 exch rlineto neg 0 rlineto}
ifelse
closepath
}bdf
/rectclip{newpath privrectpath clip newpath}def
/rectfill{gsave newpath privrectpath fill grestore}def
/rectstroke{gsave newpath privrectpath stroke grestore}def
/_fonthacksave false def
/currentpacking defed
{
/_bfh {/_fonthacksave currentpacking def false setpacking} bdf
/_efh {_fonthacksave setpacking} bdf
}
{
/_bfh {} bdf
/_efh {} bdf
}ifelse
/packedarray{array astore readonly}ndf
/`
{
false setoverprint
/-save0- save def
5 index concat
pop
storerect left bottom width height rectclip
pop
/MMdict_count countdictstack def
/MMop_count count 1 sub def
userdict begin
/showpage {} def
0 setgray 0 setlinecap 1 setlinewidth
0 setlinejoin 10 setmiterlimit [] 0 setdash newpath
} bdf
/currentpacking defed{true setpacking}if
/min{2 copy gt{exch}if pop}bdf
/max{2 copy lt{exch}if pop}bdf
/xformfont { currentfont exch makefont setfont } bdf
/fhnumcolors 1
statusdict begin
/processcolors defed
{
pop processcolors
}
{
/deviceinfo defed {
deviceinfo /Colors known {
pop deviceinfo /Colors get
} if
} if
} ifelse
end
def
% pix = x^2 + y^2
/printerRes
gsave
matrix defaultmatrix setmatrix
72 72 dtransform
abs exch abs
max
grestore
def
/graycalcs
[
{Angle Frequency}
{GrayAngle GrayFrequency}
{0 Width Height matrix defaultmatrix idtransform
dup mul exch dup mul add sqrt 72 exch div}
{0 GrayWidth GrayHeight matrix defaultmatrix idtransform
dup mul exch dup mul add sqrt 72 exch div}
] def
/calcgraysteps {
forcemaxsteps
{
maxsteps
}
{
/currenthalftone defed
{currenthalftone /dicttype eq}{false}ifelse
{
currenthalftone begin
HalftoneType 4 le
{graycalcs HalftoneType 1 sub get exec}
{
HalftoneType 5 eq
{
Default begin
{graycalcs HalftoneType 1 sub get exec}
end
}
{0 60}
ifelse
}
ifelse
end
}
{
currentscreen pop exch
}
ifelse
printerRes 300 max exch div exch
2 copy
sin mul round dup mul
3 1 roll
cos mul round dup mul
add 1 add
dup maxsteps gt {pop maxsteps} if
dup minsteps lt {pop minsteps} if
}
ifelse
} bdf
/nextrelease defed {
/languagelevel defed not {
/framebuffer defed {
0 40 string framebuffer 9 1 roll 8 {pop} repeat
dup 516 eq exch 520 eq or
{
/fhnumcolors 3 def
/currentscreen {60 0 {pop pop 1}}bdf
/calcgraysteps {maxsteps} bdf
}if
}if
}if
}if
fhnumcolors 1 ne {
/calcgraysteps {maxsteps} bdf
} if
/currentpagedevice defed {
currentpagedevice /PreRenderingEnhance known
{
currentpagedevice /PreRenderingEnhance get
{
/calcgraysteps
{
forcemaxsteps
{maxsteps}
{256 maxsteps min}
ifelse
} def
} if
} if
} if
/gradfrequency 144 def
printerRes 1000 lt {
/gradfrequency 72 def
} if
/adjnumsteps {
dup dtransform abs exch abs max
printerRes div
gradfrequency mul
round
5 max
min
}bdf
/goodsep {
spots exch get 4 get dup sepname eq exch (_vc_Registration) eq or
}bdf
/BeginGradation defed
{/bb{BeginGradation}bdf}
{/bb{}bdf}
ifelse
/EndGradation defed
{/eb{EndGradation}bdf}
{/eb{}bdf}
ifelse
/bottom -0 def
/delta -0 def
/frac -0 def
/height -0 def
/left -0 def
/numsteps1 -0 def
/radius -0 def
/right -0 def
/top -0 def
/width -0 def
/xt -0 def
/yt -0 def
/df currentflat def
/tempstr 1 string def
/clipflatness currentflat def
/inverted?
0 currenttransfer exec .5 ge def
/tc1 [0 0 0 1] def
/tc2 [0 0 0 1] def
/storerect{/top xdf /right xdf /bottom xdf /left xdf
/width right left sub def /height top bottom sub def}bdf
/concatprocs{
systemdict /packedarray known
{dup type /packedarraytype eq 2 index type /packedarraytype eq or}{false}ifelse
{
/proc2 exch cvlit def /proc1 exch cvlit def
proc1 aload pop proc2 aload pop
proc1 length proc2 length add packedarray cvx
}
{
/proc2 exch cvlit def /proc1 exch cvlit def
/newproc proc1 length proc2 length add array def
newproc 0 proc1 putinterval newproc proc1 length proc2 putinterval
newproc cvx
}ifelse
}bdf
/i{dup 0 eq
{pop df dup}
{dup} ifelse
/clipflatness xdf setflat
}bdf
version cvr 38.0 le
{/setrgbcolor{
currenttransfer exec 3 1 roll
currenttransfer exec 3 1 roll
currenttransfer exec 3 1 roll
setrgbcolor}bdf}if
/vms {/vmsv save def} bdf
/vmr {vmsv restore} bdf
/vmrs{vmsv restore /vmsv save def}bdf
/eomode{
{/filler /eofill load def /clipper /eoclip load def}
{/filler /fill load def /clipper /clip load def}
ifelse
}bdf
/normtaper{}bdf
/logtaper{9 mul 1 add log}bdf
/CD{
/NF exch def
{
exch dup
/FID ne 1 index/UniqueID ne and
{exch NF 3 1 roll put}
{pop pop}
ifelse
}forall
NF
}bdf
/MN{
1 index length
/Len exch def
dup length Len add
string dup
Len
4 -1 roll
putinterval
dup
0
4 -1 roll
putinterval
}bdf
/RC{4 -1 roll /ourvec xdf 256 string cvs(|______)anchorsearch
{1 index MN cvn/NewN exch def cvn
findfont dup maxlength dict CD dup/FontName NewN put dup
/Encoding ourvec put NewN exch definefont pop}{pop}ifelse}bdf
/RF{
dup
FontDirectory exch
known
{pop 3 -1 roll pop}
{RC}
ifelse
}bdf
/FF{dup 256 string cvs(|______)exch MN cvn dup FontDirectory exch known
{exch pop findfont 3 -1 roll pop}
{pop dup findfont dup maxlength dict CD dup dup
/Encoding exch /Encoding get 256 array copy 7 -1 roll
{3 -1 roll dup 4 -2 roll put}forall put definefont}
ifelse}bdf
/RCJ{4 -1 roll
/ourvec xdf
256 string cvs
(|______) anchorsearch
{pop
cvn
dup FDFJ
exch
1 index
eq
{
_bfh findfont _efh
dup
maxlength dict
CD
dup
/FontName
3 index
put
dup
/Encoding ourvec put
1 index
exch
definefont
pop
}
{exch pop}
ifelse
}
{pop}
ifelse
}bdf
/RFJ{
dup
FontDirectory exch
known
{pop 3 -1 roll pop}
{RCJ}
ifelse
}bdf
/hasfont
{
/resourcestatus where
{
pop
/Font resourcestatus
{
pop pop true
}
{
false
}
ifelse
}
{
dup FontDirectory exch known
{pop true}
{
256 string
cvs
(fonts/) exch MN
status
{pop pop pop pop true}
{false}
ifelse
}
ifelse
}
ifelse
}bdf
/FDFJ
{
dup
hasfont
not
{
pop
/Ryumin-Light-83pv-RKSJ-H
hasfont
{
/Ryumin-Light-83pv-RKSJ-H
}
{
/Courier
}
ifelse
}
if
}bdf
/FFJ{
_bfh
dup
256 string cvs
(|______)exch MN
cvn
dup
FontDirectory
exch known
{
exch
pop
findfont
3 -1 roll
pop
}
{
pop
FDFJ
dup findfont
dup maxlength dict
CD
dup dup
/Encoding exch
/Encoding get
256 array copy
7 -1 roll
{
3 -1 roll
dup
4 -2 roll
put
}forall
put
definefont
}
ifelse
_efh
}bdf
/GS {
dup
hasfont
{
findfont
exch makesetfont
exch
pop
ts
}
{
pop pop pop
ts
} ifelse
} bdf
/RCK{4 -1 roll
/ourvec xdf
256 string cvs
(|______) anchorsearch
{pop
cvn
dup FDFK
exch
1 index
eq
{
_bfh findfont _efh
dup
maxlength dict
CD
dup
/FontName
3 index
put
dup
/Encoding ourvec put
1 index
exch
definefont
pop
}
{exch pop}
ifelse
}
{pop}
ifelse
}bdf
/RFK{
dup
FontDirectory exch
known
{pop 3 -1 roll pop}
{RCK}
ifelse
}bdf
/hasfont
{
/resourcestatus where
{
pop
/Font resourcestatus
{
pop pop true
}
{
false
}
ifelse
}
{
dup FontDirectory exch known
{pop true}
{
256 string
cvs
(fonts/) exch MN
status
{pop pop pop pop true}
{false}
ifelse
}
ifelse
}
ifelse
}bdf
/FDFK
{
dup
hasfont
not
{
pop
/JCsm
hasfont
{
/JCsm
}
{
/Courier
}
ifelse
}
if
}bdf
/FFK{
_bfh
dup
256 string cvs
(|______)exch MN
cvn
dup
FontDirectory
exch known
{
exch
pop
findfont
3 -1 roll
pop
}
{
pop
FDFK
dup findfont
dup maxlength dict
CD
dup dup
/Encoding exch
/Encoding get
256 array copy
7 -1 roll
{
3 -1 roll
dup
4 -2 roll
put
}forall
put
definefont
}
ifelse
_efh
}bdf
/RCTC{4 -1 roll
/ourvec xdf
256 string cvs
(|______) anchorsearch
{pop
cvn
dup FDFTC
exch
1 index
eq
{
_bfh findfont _efh
dup
maxlength dict
CD
dup
/FontName
3 index
put
dup
/Encoding ourvec put
1 index
exch
definefont
pop
}
{exch pop}
ifelse
}
{pop}
ifelse
}bdf
/RFTC{
dup
FontDirectory exch
known
{pop 3 -1 roll pop}
{RCTC}
ifelse
}bdf
/FDFTC
{
dup
hasfont
not
{
pop
/DFMing-Lt-HK-BF
hasfont
{
/DFMing-Lt-HK-BF
}
{
/Courier
}
ifelse
}
if
}bdf
/FFTC{
_bfh
dup
256 string cvs
(|______)exch MN
cvn
dup
FontDirectory
exch known
{
exch
pop
findfont
3 -1 roll
pop
}
{
pop
FDFTC
dup findfont
dup maxlength dict
CD
dup dup
/Encoding exch
/Encoding get
256 array copy
7 -1 roll
{
3 -1 roll
dup
4 -2 roll
put
}forall
put
definefont
}
ifelse
_efh
}bdf
/fps{
currentflat
exch
dup 0 le{pop 1}if
{
dup setflat 3 index stopped
{1.3 mul dup 3 index gt{pop setflat pop pop stop}if}
{exit}
ifelse
}loop
pop setflat pop pop
}bdf
/fp{100 currentflat fps}bdf
/clipper{clip}bdf
/W{/clipper load 100 clipflatness dup setflat fps}bdf
/AVec 256 array def
AVec 0 /Helvetica findfont
/Encoding get 0 256 getinterval putinterval
/ANSIPatch[
16#0/grave 16#1/acute 16#2/circumflex 16#3/tilde 16#4/macron 16#5/breve
16#6/dotaccent 16#7/dieresis 16#8/ring 16#9/cedilla 16#A/hungarumlaut
16#B/ogonek 16#C/caron 16#D/dotlessi 16#27/quotesingle 16#60/grave
16#7C/bar 16#82/quotesinglbase 16#83/florin 16#84/quotedblbase 16#85
/ellipsis 16#86/dagger 16#87/daggerdbl 16#89/perthousand 16#8A/Scaron
16#8B/guilsinglleft 16#8C/OE 16#91/quoteleft 16#92/quoteright 16#93
/quotedblleft 16#94/quotedblright 16#95/bullet 16#96/endash 16#97/emdash
16#99/trademark 16#9A/scaron 16#9B/guilsinglright 16#9C/oe
16#9F/Ydieresis 16#A0/space 16#A4/currency 16#A6/brokenbar
16#A7/section 16#A8/dieresis 16#A9/copyright 16#AA/ordfeminine 16#AB/guillemotleft
16#AC/logicalnot 16#AD/hyphen 16#AE/registered 16#AF/macron 16#B0/degree
16#B1/plusminus 16#B2/twosuperior 16#B3/threesuperior 16#B4/acute 16#B5/mu
16#B6/paragraph 16#B7/periodcentered 16#B8/cedilla 16#B9/onesuperior
16#BA/ordmasculine 16#BB/guillemotright 16#BC/onequarter 16#BD/onehalf
16#BE/threequarters 16#BF/questiondown 16#C0/Agrave 16#C1/Aacute 16#C2/Acircumflex
16#C3/Atilde 16#C4/Adieresis 16#C5/Aring 16#C6/AE 16#C7/Ccedilla 16#C8/Egrave
16#C9/Eacute 16#CA/Ecircumflex 16#CB/Edieresis 16#CC/Igrave 16#CD/Iacute
16#CE/Icircumflex 16#CF/Idieresis 16#D0/Eth 16#D1/Ntilde 16#D2/Ograve
16#D3/Oacute 16#D4/Ocircumflex 16#D5/Otilde 16#D6/Odieresis 16#D7/multiply
16#D8/Oslash 16#D9/Ugrave 16#DA/Uacute 16#DB/Ucircumflex 16#DC/Udieresis
16#DD/Yacute 16#DE/Thorn 16#DF/germandbls 16#E0/agrave 16#E1/aacute
16#E2/acircumflex 16#E3/atilde 16#E4/adieresis 16#E5/aring 16#E6/ae
16#E7/ccedilla 16#E8/egrave 16#E9/eacute 16#EA/ecircumflex 16#EB/edieresis
16#EC/igrave 16#ED/iacute 16#EE/icircumflex 16#EF/idieresis 16#F0/eth
16#F1/ntilde 16#F2/ograve 16#F3/oacute 16#F4/ocircumflex 16#F5/otilde
16#F6/odieresis 16#F7/divide 16#F8/oslash 16#F9/ugrave 16#FA/uacute
16#FB/ucircumflex 16#FC/udieresis 16#FD/yacute 16#FE/thorn 16#FF/ydieresis
] def
127 1 159 { AVec exch/bullet put } for
ANSIPatch aload pop ANSIPatch length 2 idiv{AVec 3 1 roll put}repeat
/DoPatch { dup /CharStrings known
{ setfont
0 1 255 { dup
currentfont
/Encoding get
exch get
currentfont /CharStrings get
exch known
{pop} {currentfont /Encoding get exch /bullet put} ifelse
} for
} {pop} ifelse
} def
/findheaderfont {
AVec 256 array copy
/FHT /|______Helvetica dup RF findfont def
FHT DoPatch
FHT
} def
end %. AltsysDict
%%EndResource
%%EndProlog
%%BeginSetup
AltsysDict begin
_bfh
_efh
end %. AltsysDict
%%EndSetup
AltsysDict begin
/onlyk4{false}ndf
/ccmyk{dup 5 -1 roll sub 0 max exch}ndf
/cmyk2gray{
4 -1 roll 0.3 mul 4 -1 roll 0.59 mul 4 -1 roll 0.11 mul
add add add 1 min neg 1 add
}bdf
/setcmykcolor{1 exch sub ccmyk ccmyk ccmyk pop setrgbcolor}ndf
/maxcolor {
max max max
} ndf
/maxspot {
pop
} ndf
/setcmykcoloroverprint{4{dup -1 eq{pop 0}if 4 1 roll}repeat setcmykcolor}ndf
/findcmykcustomcolor{5 packedarray}ndf
/setcustomcolor{exch aload pop pop 4{4 index mul 4 1 roll}repeat setcmykcolor pop}ndf
/setseparationgray{setgray}ndf
/setoverprint{pop}ndf
/currentoverprint false ndf
/cmykbufs2gray{
0 1 2 index length 1 sub
{
4 index 1 index get 0.3 mul
4 index 2 index get 0.59 mul
4 index 3 index get 0.11 mul
4 index 4 index get
add add add cvi 255 min
255 exch sub
2 index 3 1 roll put
}for
4 1 roll pop pop pop
}bdf
/colorimage{
pop pop
[
5 -1 roll/exec cvx
6 -1 roll/exec cvx
7 -1 roll/exec cvx
8 -1 roll/exec cvx
/cmykbufs2gray cvx
]cvx
image
}
%. version 47.1 on Linotronic of Postscript defines colorimage incorrectly (rgb model only)
version cvr 47.1 le
statusdict /product get (Lino) anchorsearch{pop pop true}{pop false}ifelse
and{userdict begin bdf end}{ndf}ifelse
fhnumcolors 1 ne {/yt save def} if
/customcolorimage{
aload pop
(_vc_Registration) eq
{
pop pop pop pop separationimage
}
{
/ik xdf /iy xdf /im xdf /ic xdf
ic im iy ik cmyk2gray /xt xdf
currenttransfer
{dup 1.0 exch sub xt mul add}concatprocs
st
image
}
ifelse
}ndf
fhnumcolors 1 ne {yt restore} if
fhnumcolors 3 ne {/yt save def} if
/customcolorimage{
aload pop
(_vc_Registration) eq
{
pop pop pop pop separationimage
}
{
/ik xdf /iy xdf /im xdf /ic xdf
1.0 dup ic ik add min sub
1.0 dup im ik add min sub
1.0 dup iy ik add min sub
/ic xdf /iy xdf /im xdf
currentcolortransfer
4 1 roll
{dup 1.0 exch sub ic mul add}concatprocs 4 1 roll
{dup 1.0 exch sub iy mul add}concatprocs 4 1 roll
{dup 1.0 exch sub im mul add}concatprocs 4 1 roll
setcolortransfer
{/dummy xdf dummy}concatprocs{dummy}{dummy}true 3 colorimage
}
ifelse
}ndf
fhnumcolors 3 ne {yt restore} if
fhnumcolors 4 ne {/yt save def} if
/customcolorimage{
aload pop
(_vc_Registration) eq
{
pop pop pop pop separationimage
}
{
/ik xdf /iy xdf /im xdf /ic xdf
currentcolortransfer
{1.0 exch sub ik mul ik sub 1 add}concatprocs 4 1 roll
{1.0 exch sub iy mul iy sub 1 add}concatprocs 4 1 roll
{1.0 exch sub im mul im sub 1 add}concatprocs 4 1 roll
{1.0 exch sub ic mul ic sub 1 add}concatprocs 4 1 roll
setcolortransfer
{/dummy xdf dummy}concatprocs{dummy}{dummy}{dummy}
true 4 colorimage
}
ifelse
}ndf
fhnumcolors 4 ne {yt restore} if
/separationimage{image}ndf
/spotascmyk false ndf
/newcmykcustomcolor{6 packedarray}ndf
/inkoverprint false ndf
/setinkoverprint{pop}ndf
/setspotcolor {
spots exch get
dup 4 get (_vc_Registration) eq
{pop 1 exch sub setseparationgray}
{0 5 getinterval exch setcustomcolor}
ifelse
}ndf
/currentcolortransfer{currenttransfer dup dup dup}ndf
/setcolortransfer{st pop pop pop}ndf
/fas{}ndf
/sas{}ndf
/fhsetspreadsize{pop}ndf
/filler{fill}bdf
/F{gsave {filler}fp grestore}bdf
/f{closepath F}bdf
/S{gsave {stroke}fp grestore}bdf
/s{closepath S}bdf
userdict /islevel2
systemdict /languagelevel known dup
{
pop systemdict /languagelevel get 2 ge
} if
put
islevel2 not
{
/currentcmykcolor
{
0 0 0 1 currentgray sub
} ndf
} if
/tc
{
gsave
setcmykcolor currentcmykcolor
grestore
} bind def
/testCMYKColorThrough
{
tc add add add 0 ne
} bind def
/fhiscomposite where not {
userdict /fhiscomposite
islevel2
{
gsave 1 1 1 1 setcmykcolor currentcmykcolor grestore
add add add 4 eq
}
{
1 0 0 0 testCMYKColorThrough
0 1 0 0 testCMYKColorThrough
0 0 1 0 testCMYKColorThrough
0 0 0 1 testCMYKColorThrough
and and and
} ifelse
put
}
{ pop }
ifelse
/bc4 [0 0 0 0] def
/_lfp4 {
1 pop
/yt xdf
/xt xdf
/ang xdf
storerect
/taperfcn xdf
/k2 xdf /y2 xdf /m2 xdf /c2 xdf
/k1 xdf /y1 xdf /m1 xdf /c1 xdf
c1 c2 sub abs
m1 m2 sub abs
y1 y2 sub abs
k1 k2 sub abs
maxcolor
calcgraysteps mul abs round
height abs adjnumsteps
dup 1 lt {pop 1} if
1 sub /numsteps1 xdf
currentflat mark
currentflat clipflatness
/delta top bottom sub numsteps1 1 add div def
/right right left sub def
/botsv top delta sub def
{
{
W
xt yt translate
ang rotate
xt neg yt neg translate
dup setflat
/bottom botsv def
0 1 numsteps1
{
numsteps1 dup 0 eq {pop pop 0.5} {div} ifelse
taperfcn /frac xdf
bc4 0 c2 c1 sub frac mul c1 add put
bc4 1 m2 m1 sub frac mul m1 add put
bc4 2 y2 y1 sub frac mul y1 add put
bc4 3 k2 k1 sub frac mul k1 add put
bc4 vc
1 index setflat
{
mark {newpath left bottom right delta rectfill}stopped
{cleartomark exch 1.3 mul dup setflat exch 2 copy gt{stop}if}
{cleartomark exit}ifelse
}loop
/bottom bottom delta sub def
}for
}
gsave stopped grestore
{exch pop 2 index exch 1.3 mul dup 100 gt{cleartomark setflat stop}if}
{exit}ifelse
}loop
cleartomark setflat
}bdf
/bcs [0 0] def
/_lfs4 {
/yt xdf
/xt xdf
/ang xdf
storerect
/taperfcn xdf
/tint2 xdf
/tint1 xdf
bcs exch 1 exch put
tint1 tint2 sub abs
bcs 1 get maxspot
calcgraysteps mul abs round
height abs adjnumsteps
dup 2 lt {pop 2} if
1 sub /numsteps1 xdf
currentflat mark
currentflat clipflatness
/delta top bottom sub numsteps1 1 add div def
/right right left sub def
/botsv top delta sub def
{
{
W
xt yt translate
ang rotate
xt neg yt neg translate
dup setflat
/bottom botsv def
0 1 numsteps1
{
numsteps1 div taperfcn /frac xdf
bcs 0
1.0 tint2 tint1 sub frac mul tint1 add sub
put bcs vc
1 index setflat
{
mark {newpath left bottom right delta rectfill}stopped
{cleartomark exch 1.3 mul dup setflat exch 2 copy gt{stop}if}
{cleartomark exit}ifelse
}loop
/bottom bottom delta sub def
}for
}
gsave stopped grestore
{exch pop 2 index exch 1.3 mul dup 100 gt{cleartomark setflat stop}if}
{exit}ifelse
}loop
cleartomark setflat
}bdf
/_rfs6 {
/tint2 xdf
/tint1 xdf
bcs exch 1 exch put
/inrad xdf
/radius xdf
/yt xdf
/xt xdf
tint1 tint2 sub abs
bcs 1 get maxspot
calcgraysteps mul abs round
radius inrad sub abs
adjnumsteps
dup 1 lt {pop 1} if
1 sub /numsteps1 xdf
radius inrad sub numsteps1 dup 0 eq {pop} {div} ifelse
2 div /halfstep xdf
currentflat mark
currentflat clipflatness
{
{
dup setflat
W
0 1 numsteps1
{
dup /radindex xdf
numsteps1 dup 0 eq {pop pop 0.5} {div} ifelse
/frac xdf
bcs 0
tint2 tint1 sub frac mul tint1 add
put bcs vc
1 index setflat
{
newpath mark
xt yt radius inrad sub 1 frac sub mul halfstep add inrad add 0 360
{ arc
radindex numsteps1 ne
inrad 0 gt or
{
xt yt
numsteps1 0 eq
{ inrad }
{
radindex 1 add numsteps1 div 1 exch sub
radius inrad sub mul halfstep add inrad add
}ifelse
dup xt add yt moveto
360 0 arcn
} if
fill
}stopped
{cleartomark exch 1.3 mul dup setflat exch 2 copy gt{stop}if}
{cleartomark exit}ifelse
}loop
}for
}
gsave stopped grestore
{exch pop 2 index exch 1.3 mul dup 100 gt{cleartomark setflat stop}if}
{exit}ifelse
}loop
cleartomark setflat
}bdf
/_rfp6 {
1 pop
/k2 xdf /y2 xdf /m2 xdf /c2 xdf
/k1 xdf /y1 xdf /m1 xdf /c1 xdf
/inrad xdf
/radius xdf
/yt xdf
/xt xdf
c1 c2 sub abs
m1 m2 sub abs
y1 y2 sub abs
k1 k2 sub abs
maxcolor
calcgraysteps mul abs round
radius inrad sub abs
adjnumsteps
dup 1 lt {pop 1} if
1 sub /numsteps1 xdf
radius inrad sub numsteps1 dup 0 eq {pop} {div} ifelse
2 div /halfstep xdf
currentflat mark
currentflat clipflatness
{
{
dup setflat
W
0 1 numsteps1
{
dup /radindex xdf
numsteps1 dup 0 eq {pop pop 0.5} {div} ifelse
/frac xdf
bc4 0 c2 c1 sub frac mul c1 add put
bc4 1 m2 m1 sub frac mul m1 add put
bc4 2 y2 y1 sub frac mul y1 add put
bc4 3 k2 k1 sub frac mul k1 add put
bc4 vc
1 index setflat
{
newpath mark
xt yt radius inrad sub 1 frac sub mul halfstep add inrad add 0 360
{ arc
radindex numsteps1 ne
inrad 0 gt or
{
xt yt
numsteps1 0 eq
{ inrad }
{
radindex 1 add numsteps1 div 1 exch sub
radius inrad sub mul halfstep add inrad add
}ifelse
dup xt add yt moveto
360 0 arcn
} if
fill
}stopped
{cleartomark exch 1.3 mul dup setflat exch 2 copy gt{stop}if}
{cleartomark exit}ifelse
}loop
}for
}
gsave stopped grestore
{exch pop 2 index exch 1.3 mul dup 100 gt{cleartomark setflat stop}if}
{exit}ifelse
}loop
cleartomark setflat
}bdf
/lfp4{_lfp4}ndf
/lfs4{_lfs4}ndf
/rfs6{_rfs6}ndf
/rfp6{_rfp6}ndf
/cvc [0 0 0 1] def
/vc{
AltsysDict /cvc 2 index put
aload length dup 4 eq
{pop dup -1 eq{pop setrgbcolor}{setcmykcolor}ifelse}
{6 eq {sethexcolor} {setspotcolor} ifelse }
ifelse
}bdf
0 setseparationgray
/imgr {1692 1584 2304 2376 } def
/bleed 0 def
/clpr {1692 1584 2304 2376 } def
/xs 1 def
/ys 1 def
/botx 0 def
/overlap 0 def
/wdist 18 def
0 2 mul fhsetspreadsize
0 0 ne {/df 0 def /clipflatness 0 def} if
/maxsteps 256 def
/forcemaxsteps false def
/minsteps 0 def
userdict begin /AGDOrigMtx matrix currentmatrix def end
vms
-1717 -2014 translate
/currentpacking defed{false setpacking}if
/spots[
1 0 0 0 (Process Cyan) false newcmykcustomcolor
0 1 0 0 (Process Magenta) false newcmykcustomcolor
0 0 1 0 (Process Yellow) false newcmykcustomcolor
0 0 0 1 (Process Black) false newcmykcustomcolor
]def
n
[] 0 d
3.863708 M
1 w
0 j
0 J
false setoverprint
0 i
false eomode
[0 0 0 1]vc
vms
2259.0806 2284.6651 m
2258.6808 2015.9375 L
0.8623 w
S
n
2034.45 2284.6651 m
2034.4605 2015.9375 L
S
n
1989.5239 2284.6651 m
1989.1852 2016.3687 L
S
n
2079.3761 2284.6651 m
2079.3046 2016.3687 L
S
n
2124.3022 2284.6651 m
2124.5798 2015.9375 L
S
n
2169.2283 2284.6651 m
2168.9927 2016.7999 L
S
n
2214.1545 2284.6651 m
2214.268 2015.9375 L
S
n
2257.6379 2015.9203 m
1989.1852 2015.9375 L
S
n
2257.6379 2195.6248 m
1989.1852 2195.745 L
S
n
2257.6379 2105.7725 m
1989.1852 2106.0568 L
S
n
1766.2503 2285.2598 m
1766.2608 2016.5322 L
S
n
1721.3242 2285.2598 m
1720.9855 2016.9634 L
S
n
1811.1764 2285.2598 m
1811.1049 2016.9634 L
S
n
1856.1025 2285.2598 m
1856.3801 2016.5322 L
S
n
1901.0287 2285.2598 m
1900.793 2017.3946 L
S
n
1945.9548 2285.2598 m
1946.0683 2016.5322 L
S
n
1989.4382 2016.515 m
1720.9855 2016.5322 L
S
n
2260 2243 m
1721.8479 2241.1837 L
6 w
3.863693 M
S
n
1989.4382 2196.2195 m
1720.9855 2196.3397 L
0.8623 w
3.863708 M
S
n
2260 2151 m
1721.4167 2151.4956 L
6 w
3.863693 M
S
n
vmrs
1989.4382 2106.3672 m
1720.9855 2106.6515 L
0.8623 w
S
n
2261 2063 m
1720.9855 2062.2386 L
6 w
3.863693 M
S
n
2259.7263 2285.4914 m
1991.2737 2285.5086 L
0.8623 w
3.863708 M
S
n
1990.5 2286 m
1720.7737 2286.5086 L
S
n
1991 2284 m
2034 2284 L
6 w
3.863693 M
S
n
1856 2106 m
1902 2107 L
S
n
2126 2017 m
2170 2017 L
S
n
vmr
vmr
end
%%Trailer
%%EndDocument
@endspecial 196 x Fu(Figure)28 b(5:)37 b(A)27 b(possible)j(sample)e
(from)g(the)f(distrib)n(ution)32 b(o)o(v)o(er)27 b(inputs.)43
b(The)27 b(bolded)i(edges)g(are)f(closed.)43 b(The)27
b(third)51 1518 y(ro)n(w)c(is)g(an)h(open)g(path.)p 3878
1563 V 0 1566 3882 4 v 0 1823 a(and)g(W)-7 b(ool)24 b(analyze)h(in)f
([23)q(])f(the)h(probe)h(comple)o(xity)h(of)d(se)n(v)o(eral)i(quorums)g
(under)g(the)f(model)g(of)g(adv)o(ersarial)i(deletion.)0
1936 y(The)o(y)g(sho)n(w)g(se)n(v)o(eral)h(lo)n(wer)f(bounds.)39
b(All)25 b(of)h(which)h(turn)g(to)f(be)g Fp(\012\()p
Fr(`)p Fp(\))f Fu(in)h(the)h(P)o(aths)f(system.)37 b(Note)26
b(that)h(e)n(v)o(en)f(though)0 2049 y(the)e(algorithmic)i(probe)e
(comple)o(xity)i(is)d(high,)h(the)g Fs(cost)g(of)g(failur)m(es)h
Fu(\(as)f(were)f(de\002ning)i(by)e(Bazzi)h([4)q(]\))f(is)h(a)f
(constant.)0 2342 y Fv(4)119 b(The)31 b(Dynamic)f(P)o(aths)f(Quorum)h
(System)0 2549 y Fu(In)k(this)h(section)g(we)f(suggest)i(a)d(quorum)i
(system)g(that)g(operates)h(in)e(the)g(dynamic)h(model,)i(where)d
(processors)j(may)0 2662 y(join)29 b(and)f(lea)n(v)o(e.)44
b(Pre)n(vious)29 b(constructions)j(of)c(dynamic)i(quorums)f(focused)h
(on)f(designing)h(algorithms)h(that)d(allo)n(wed)0 2775
y(a)d(group)i(of)e(processors)j(to)e Fs(form)f Fu(a)g(ne)n(w)g(quorum)h
(in)f(a)g(consistent)k(w)o(ay)c(\([11)q(],[13)q(],[24)r(]\).)34
b(The)25 b(quorums)h(themselv)o(es)0 2888 y(are)e(usually)h(assumed)f
(to)g(be)f(weighted)i(v)n(oting.)30 b(W)-7 b(e)23 b(focus)h(on)g(the)f
Fs(combinatorial)k Fu(properties)f(of)d(dynamic)i(quorums.)0
3001 y(Our)c(goal)h(is)f(to)h(design)h(dynamic)f(quorums)h(that)f(enjo)
o(y)h(lo)n(w)e(load,)h(high)g(a)n(v)n(ailability)-6 b(,)25
b(lo)n(w)c(probe)h(comple)o(xity)i(and)e(that)0 3113
y(scale)e(gracefully)j(in)c(respect)i(to)f(these)g(parameters.)30
b(The)19 b(good)i(properties)h(of)d(the)h(P)o(aths)g(quorum)g(system)g
(moti)n(v)n(ates)h(us)0 3226 y(to)i(design)i(a)e Fs(dynamic)i(ver)o
(sion)g Fu(of)f(the)f(P)o(aths)h(system.)29 b(The)23
b(main)g(idea)h(is)g(to)f(substitute)j(the)e(grid)g(with)f(the)h
Fs(continuous)0 3339 y Fu(unit)30 b(square)i Fp([0)p
Fr(;)15 b Fp(1\))26 b Fq(\002)f Fp([0)p Fr(;)15 b Fp(1\))39
b Fq(\032)d Fg(R)1151 3306 y Fo(2)1190 3339 y Fu(.)47
b(The)29 b(unit)i(square)g(is)e(then)i(decomposed)h(into)f(cells,)h
(where)e(each)g(processor)i(is)0 3452 y(associated)f(with)d(a)f(cell.)
43 b(The)28 b(entrance)i(and)e(e)o(xit)h(of)f(a)f(processor)k
(dynamically)f(changes)g(the)f(decomposition.)46 b(The)0
3565 y(decomposition)25 b(of)d(the)g(square)h(into)g(the)f(cells)h(is)e
(done)i(via)f(V)-12 b(oronoi)23 b(Diagrams.)29 b(Our)21
b(technique)k(is)c(similar)i(to)f(the)g(one)0 3678 y(presented)k(in)e
([19)q(])f(for)g(b)n(uilding)j(DHT')-5 b(s.)0 3927 y
Fj(4.1)99 b(Dynamic)25 b(V)-10 b(or)n(onoi)25 b(Diagrams)0
4101 y Ft(De\002nition)f(17)h(\(planar)f(ordinary)i(V)-9
b(or)n(onoi)25 b(diagram\).)44 b Fs(Given)25 b(a)f(set)h(of)g(two)f(or)
h(mor)m(e)f(b)n(ut)h(a)g(\002nite)g(number)h(of)f(dis-)0
4214 y(tinct)d(points)h(in)e(the)g(Euclidean)j(plane)o(,)e(we)f
(associate)i(all)f(locations)i(in)d(that)h(space)g(with)f(the)h
(closest)h(member\(s\))f(of)f(the)0 4327 y(point)j(set)g(with)f(r)m
(espect)h(to)f(the)h(Euclidean)h(distance)o(.)30 b(The)23
b(r)m(esult)h(is)f(a)g(tessellation)j(of)d(the)h(plane)g(into)g(a)f
(set)g(of)g(r)m(e)l(gions)0 4440 y(associated)36 b(with)e(member)o(s)g
(of)f(the)h(point)g(set.)59 b(W)-8 b(e)32 b(call)i(this)g(tessellation)
j(the)d Fu(planar)h(ordinary)g(V)-12 b(oronoi)35 b(diagram)0
4553 y Fs(g)o(ener)o(ated)c(by)d(the)g(point)h(set,)g(the)g(points)g
(ar)m(e)f(sometimes)h(r)m(eferr)m(ed)h(to)e(as)g Fu(generators)j
Fs(and)d(the)h(r)m(e)l(gions)h(constituting)0 4666 y(the)24
b(V)-10 b(or)l(onoi)24 b(dia)o(gr)o(am)h Fu(V)-12 b(oronoi)25
b(cells)p Fs(.)k(The)24 b(dual)g(triangulated)j(gr)o(aph)e(is)e(called)
i(the)f Fu(Delaunay)h(triangulation)p Fs(.)141 4854 y
Fu(See)32 b(Okabe)h Fs(et)f(al)h Fu([22)q(])f(for)g(a)h(thorough)h(o)o
(v)o(ervie)n(w)f(of)g(V)-12 b(oronoi)34 b(diagrams)g(and)f(their)g
(applications.)59 b(Gi)n(v)o(en)32 b(an)0 4967 y(e)o(xisting)39
b(V)-12 b(oronoi)38 b(diagram,)j(the)c(entrance)i(of)e(a)f(ne)n(w)g
(generator)j(and)f(the)f(e)o(xit)g(of)g(an)f(e)o(xisting)j(one)e(af)n
(fects)h(only)0 5079 y(the)33 b(cells)g(adjacent)i(to)d(the)h(location)
h(of)f(the)g(generator)-5 b(.)57 b(Therefore)35 b(a)d(V)-12
b(oronoi)33 b(diagram)h(can)f(be)f(maintained)j(by)e(a)0
5192 y(distrib)n(uted)25 b(algorithm,)e(in)f(which)g(e)n(v)o(ery)g
(cell)g(is)g(calculated)i(separately)h(and)d Fs(locally)p
Fu(.)30 b(The)21 b(time)h(and)g(memory)g(needed)0 5305
y(to)30 b(compute)h(a)f(single)h(V)-12 b(oronoi)32 b(cell)e(is)g
Fp(\002\()p Fr(d)p Fp(\))g Fu(when)g Fr(d)g Fu(is)g(the)g(number)h(of)f
(neighbors)j(the)d(cell)h(has;)j(i.e.)48 b(the)30 b(de)o(gree)1905
5589 y(11)p eop end
%%Page: 12 12
TeXDict begin 12 11 bop 0 3 3882 4 v 0 1450 4 1447 v
51 1209 a @beginspecial 0 @llx 0 @lly 321 @urx 300 @ury
1417 @rwi 1417 @rhi @setspecial
%%BeginDocument: incremental_voronoi.eps
%!PS-Adobe-2.0 EPSF-1.2
%%Title: incremental_voronoi.FH9
%%Creator: FreeHand 9.0
%%CreationDate: Mon Jan 27 12:18:05 2003
%%BoundingBox: 0 0 321 300
%%FHPathName:E:\Writeups\Dynamic Quorums\incremental_voronoi.FH9
%ALDOriginalFile:E:\Writeups\Dynamic Quorums\incremental_voronoi.FH9
%ALDBoundingBox: -117 -330 495 462
%%FHPageNum:1
%%DocumentSuppliedResources: procset Altsys_header 4 0
%%ColorUsage: Color
%%DocumentProcessColors: Black
%%EndComments
%%BeginAGDEmbeddedDoc: version 1.0
%:s8W,W5t=="^::eu!!!=jGQH>tD/`HU)1HaIp*1`V,W$GAk-u;L
%:s8V\IO_uFE$^Be;,W-bkO?cM_OG('.C=hMn/0p^,ZOnTcefQJT&*:0Y:iX%%>cLh
%:A%aWlmm3'/L".rd%_J,NoH#-tR+PceO]6=\?fn-JVmKLGOdP$lo"dL(b,$r]4]k\C\)M10/EbUbC>$`:5%XS#KHZ4NVH0qWQ)MK8=G9AT`KZgROZ#RGr`mLQKO!rfKr$J1PkD$j:oXaYSekL^VSQN_e6[s4]W<`Za9t%f@V"`J1t($Ip$?%9Zm'b5FNm8jZ.IF#7;.SR^/9QNRA15R$/q?3W.fAsj`2;#C*Or]W^L+LJ;rW>Wj33,
%:j+Ub+4J-(>$eIp$;CBrJEQ0Hj*(j"[5PR)D;",a9RLFP
%:lRB!='tdVCT+GlW`3M/4rRRF%h`b5,Ua7XS#5;do[RuBg[-5M3gqJ`g?MK&8'6(p*,N*pA[*bZjA$nZco0bltK@E.RsZIQg:NC&j(XORcXSB
%:Xr%H[%9uUSFJGGBD?QMV8tu0)P?iUU_ga-?X5=MJGoXe(0L:_.[qdF%A?>J5dgZRnV;?)+3&K,a*&LA6;KfT,jOsJXBBCPHq_GG:(2&u:`_H>.IOm]N5HYul(H@BE$Q6M1<>OCdr$+3Y-P1X&.cGh0HdU!KA5Ga4?0!h$W=EfH(.o1bL!armZ>`qU6sc7j
%:UT1$)ekj=tmUS*hM?Y,#UR`sAE*3XQC>^PtRmGZp_lp"i1G3.qZ5P&h_^\m.+Z=>3O+l!eBpn!ij0BSdWhIkln5>R,AeD:E2"5;oji*=@bA'#:)G#&a9@7K4_'rceYCS&PM/6U\*Sfe8UfRYje)b*`Xd;Vaua%KV'#3F4A'JX,Y`\194Sf[[-$DZ3HjM
%:U6auAJS/d;@]r^@:"nZhSP>)oQtq?Ouu=\\Zcb35$p1M"JGZ)s2ZAN5D@ke.tO5od`dp]Q#SEF'n4Tf8:S%/lG"5"T*N]\-WaeE#Vui,Q2>)dFVpkQDse]G7WS`:F=C_Bs(b/$3tk._aA.k/8MmUR]KYnRq_W[P),A>jT@I%M\^k[a4OEpJlUUFpC3b:UBd]Nreb2rL%G[WR>EcIHffp]Le['HX:t@OaQlE&'=?#
%:'=lora]CF8;>XOFTUB-60)$s:X6sm.Oa$icb=Wh2CSe^#AgsC=/_&o7ZO$YYpMeDYC?K>fb_jckLT9isI?M@RZ>]S&Z'k^^Mp^@11`)h=(i[OjPE)1!P?Xg+&(Za\*,Q&*OCp0ubHrd8sD%8KS[K^l-lae&nZEAtnPcs++:1AACp&-;1@G^%9m(CIFl^l+_\<`2?
%:3B#a-7H!@9-&BW93gn.#Bt=/FTk?BA3;U1(cdIkMF+(Q'"`^oC;1EQoBmu4`TgP69&S^d:_j$D^njcBBknUj8G[T<$pWfU)jd]A+&[&2V"3\[+^BrV=B/7RdR,f0#;9d-E*7N[UPaaaoJsc2,V6d#/Be,%'Ia*iE-=t0p0DuMFr,o3%a)Sn12?FI2bcZ7$1khD$b3XA]Q-;`&+?@=`/3K6k/PE,/a]ZW*Nbl:)`q9abtX2">M<:b>pCL#
%:gR?mO3nej_/(Ym4'Q4jbj(nEN^4C4^=aUV'i=).=419,Oks8'Kf_WaL:ZB`q2]L(8]0!+\uRQoZXVir-D+_?)2e#=N.eG)$6<'g5`>DBBHOZ!>h-t?hr/4eGposlMul5Bl%?h@VfTU!UE-^FCeEcD.N\JX&_W&@rq\OVc?Z;EbTE(!!*a0ATDj2ARfgrG%F0aBk.2Dp.]L%@VTIa+k:!/
%:F8u=*9iH.SBl7P`!8pRFBle@r!8C49Bk)5b!.RI/6uQR+ART+\EW?(s6>URMCB+?m7VQ[M6tLFLEbTK7DfPgYY#\89:L\&=!-^kJASl!rF8u@';gE4hDer*]@WGmtGlRkq<+068@:F%a!!!Bm7mogbDKGjY8OIE4DfR`9!Cfn+DfABkF8u>.:i^JaARoq(AH2_L9PJBU:gnGG!7+>QF*%B^j%W9WD.N\I=[Z\?@/p:a7VQLXc60rb
%:Eb,4N/4*cdBk'VHChs(OF%'nVD+nYbF8u;_7;QOP:i^Jn9QP:U!%gNGF(o,XBl7J^!2i>0Bk1dr!!.7AFEq\6:i^Jn9QP:U!HM+XDfe?bCi=>P!!#MVDes6$@ruX0!!'W)@WUVZ==/F9/9>irJ*>/HFf3Fo^P&huMd;huMd6:
%:~>
%%EndAGDEmbeddedDoc
%%BeginResource: procset Altsys_header 4 0
userdict begin /AltsysDict 300 dict def end
AltsysDict begin
/bdf{bind def}bind def
/xdf{exch def}bdf
/defed{where{pop true}{false}ifelse}bdf
/ndf{1 index where{pop pop pop}{dup xcheck{bind}if def}ifelse}bdf
/d{setdash}bdf
/h{closepath}bdf
/H{}bdf
/J{setlinecap}bdf
/j{setlinejoin}bdf
/M{setmiterlimit}bdf
/n{newpath}bdf
/N{newpath}bdf
/q{gsave}bdf
/Q{grestore}bdf
/w{setlinewidth}bdf
/Xic{matrix invertmatrix concat}bdf
/Xq{matrix currentmatrix mark}bdf
/XQ{cleartomark setmatrix}bdf
/sepdef{
dup where not
{
AltsysSepDict
}
if
3 1 roll exch put
}bdf
/st{settransfer}bdf
/colorimage defed /_rci xdf
/cntr 0 def
/readbinarystring{
/cntr 0 def
2 copy readstring
{
{
dup
(\034) search
{
length exch pop exch
dup length 0 ne
{
dup dup 0 get 32 sub 0 exch put
/cntr cntr 1 add def
}
{
pop 1 string dup
0 6 index read pop 32 sub put
}ifelse
3 copy
putinterval pop
1 add
1 index length 1 sub
1 index sub
dup 0 le {pop pop exit}if
getinterval
}
{
pop exit
} ifelse
} loop
}if
cntr 0 gt
{
pop 2 copy
dup length cntr sub cntr getinterval
readbinarystring
} if
pop exch pop
} bdf
/_NXLevel2 defed {
_NXLevel2 not {
/colorimage where {
userdict eq {
/_rci false def
} if
} if
} if
} if
/md defed{
md type /dicttype eq {
/colorimage where {
md eq {
/_rci false def
}if
}if
/settransfer where {
md eq {
/st systemdict /settransfer get def
}if
}if
}if
}if
/setstrokeadjust defed
{
true setstrokeadjust
/C{curveto}bdf
/L{lineto}bdf
/m{moveto}bdf
}
{
/dr{transform .25 sub round .25 add
exch .25 sub round .25 add exch itransform}bdf
/C{dr curveto}bdf
/L{dr lineto}bdf
/m{dr moveto}bdf
/setstrokeadjust{pop}bdf
}ifelse
/privrectpath {
4 -2 roll m
dtransform round exch round exch idtransform
2 copy 0 lt exch 0 lt xor
{dup 0 exch rlineto exch 0 rlineto neg 0 exch rlineto}
{exch dup 0 rlineto exch 0 exch rlineto neg 0 rlineto}
ifelse
closepath
}bdf
/rectclip{newpath privrectpath clip newpath}def
/rectfill{gsave newpath privrectpath fill grestore}def
/rectstroke{gsave newpath privrectpath stroke grestore}def
/_fonthacksave false def
/currentpacking defed
{
/_bfh {/_fonthacksave currentpacking def false setpacking} bdf
/_efh {_fonthacksave setpacking} bdf
}
{
/_bfh {} bdf
/_efh {} bdf
}ifelse
/packedarray{array astore readonly}ndf
/`
{
false setoverprint
/-save0- save def
5 index concat
pop
storerect left bottom width height rectclip
pop
/MMdict_count countdictstack def
/MMop_count count 1 sub def
userdict begin
/showpage {} def
0 setgray 0 setlinecap 1 setlinewidth
0 setlinejoin 10 setmiterlimit [] 0 setdash newpath
} bdf
/currentpacking defed{true setpacking}if
/min{2 copy gt{exch}if pop}bdf
/max{2 copy lt{exch}if pop}bdf
/xformfont { currentfont exch makefont setfont } bdf
/fhnumcolors 1
statusdict begin
/processcolors defed
{
pop processcolors
}
{
/deviceinfo defed {
deviceinfo /Colors known {
pop deviceinfo /Colors get
} if
} if
} ifelse
end
def
% pix = x^2 + y^2
/printerRes
gsave
matrix defaultmatrix setmatrix
72 72 dtransform
abs exch abs
max
grestore
def
/graycalcs
[
{Angle Frequency}
{GrayAngle GrayFrequency}
{0 Width Height matrix defaultmatrix idtransform
dup mul exch dup mul add sqrt 72 exch div}
{0 GrayWidth GrayHeight matrix defaultmatrix idtransform
dup mul exch dup mul add sqrt 72 exch div}
] def
/calcgraysteps {
forcemaxsteps
{
maxsteps
}
{
/currenthalftone defed
{currenthalftone /dicttype eq}{false}ifelse
{
currenthalftone begin
HalftoneType 4 le
{graycalcs HalftoneType 1 sub get exec}
{
HalftoneType 5 eq
{
Default begin
{graycalcs HalftoneType 1 sub get exec}
end
}
{0 60}
ifelse
}
ifelse
end
}
{
currentscreen pop exch
}
ifelse
printerRes 300 max exch div exch
2 copy
sin mul round dup mul
3 1 roll
cos mul round dup mul
add 1 add
dup maxsteps gt {pop maxsteps} if
dup minsteps lt {pop minsteps} if
}
ifelse
} bdf
/nextrelease defed {
/languagelevel defed not {
/framebuffer defed {
0 40 string framebuffer 9 1 roll 8 {pop} repeat
dup 516 eq exch 520 eq or
{
/fhnumcolors 3 def
/currentscreen {60 0 {pop pop 1}}bdf
/calcgraysteps {maxsteps} bdf
}if
}if
}if
}if
fhnumcolors 1 ne {
/calcgraysteps {maxsteps} bdf
} if
/currentpagedevice defed {
currentpagedevice /PreRenderingEnhance known
{
currentpagedevice /PreRenderingEnhance get
{
/calcgraysteps
{
forcemaxsteps
{maxsteps}
{256 maxsteps min}
ifelse
} def
} if
} if
} if
/gradfrequency 144 def
printerRes 1000 lt {
/gradfrequency 72 def
} if
/adjnumsteps {
dup dtransform abs exch abs max
printerRes div
gradfrequency mul
round
5 max
min
}bdf
/goodsep {
spots exch get 4 get dup sepname eq exch (_vc_Registration) eq or
}bdf
/BeginGradation defed
{/bb{BeginGradation}bdf}
{/bb{}bdf}
ifelse
/EndGradation defed
{/eb{EndGradation}bdf}
{/eb{}bdf}
ifelse
/bottom -0 def
/delta -0 def
/frac -0 def
/height -0 def
/left -0 def
/numsteps1 -0 def
/radius -0 def
/right -0 def
/top -0 def
/width -0 def
/xt -0 def
/yt -0 def
/df currentflat def
/tempstr 1 string def
/clipflatness currentflat def
/inverted?
0 currenttransfer exec .5 ge def
/tc1 [0 0 0 1] def
/tc2 [0 0 0 1] def
/storerect{/top xdf /right xdf /bottom xdf /left xdf
/width right left sub def /height top bottom sub def}bdf
/concatprocs{
systemdict /packedarray known
{dup type /packedarraytype eq 2 index type /packedarraytype eq or}{false}ifelse
{
/proc2 exch cvlit def /proc1 exch cvlit def
proc1 aload pop proc2 aload pop
proc1 length proc2 length add packedarray cvx
}
{
/proc2 exch cvlit def /proc1 exch cvlit def
/newproc proc1 length proc2 length add array def
newproc 0 proc1 putinterval newproc proc1 length proc2 putinterval
newproc cvx
}ifelse
}bdf
/i{dup 0 eq
{pop df dup}
{dup} ifelse
/clipflatness xdf setflat
}bdf
version cvr 38.0 le
{/setrgbcolor{
currenttransfer exec 3 1 roll
currenttransfer exec 3 1 roll
currenttransfer exec 3 1 roll
setrgbcolor}bdf}if
/vms {/vmsv save def} bdf
/vmr {vmsv restore} bdf
/vmrs{vmsv restore /vmsv save def}bdf
/eomode{
{/filler /eofill load def /clipper /eoclip load def}
{/filler /fill load def /clipper /clip load def}
ifelse
}bdf
/normtaper{}bdf
/logtaper{9 mul 1 add log}bdf
/CD{
/NF exch def
{
exch dup
/FID ne 1 index/UniqueID ne and
{exch NF 3 1 roll put}
{pop pop}
ifelse
}forall
NF
}bdf
/MN{
1 index length
/Len exch def
dup length Len add
string dup
Len
4 -1 roll
putinterval
dup
0
4 -1 roll
putinterval
}bdf
/RC{4 -1 roll /ourvec xdf 256 string cvs(|______)anchorsearch
{1 index MN cvn/NewN exch def cvn
findfont dup maxlength dict CD dup/FontName NewN put dup
/Encoding ourvec put NewN exch definefont pop}{pop}ifelse}bdf
/RF{
dup
FontDirectory exch
known
{pop 3 -1 roll pop}
{RC}
ifelse
}bdf
/FF{dup 256 string cvs(|______)exch MN cvn dup FontDirectory exch known
{exch pop findfont 3 -1 roll pop}
{pop dup findfont dup maxlength dict CD dup dup
/Encoding exch /Encoding get 256 array copy 7 -1 roll
{3 -1 roll dup 4 -2 roll put}forall put definefont}
ifelse}bdf
/RCJ{4 -1 roll
/ourvec xdf
256 string cvs
(|______) anchorsearch
{pop
cvn
dup FDFJ
exch
1 index
eq
{
_bfh findfont _efh
dup
maxlength dict
CD
dup
/FontName
3 index
put
dup
/Encoding ourvec put
1 index
exch
definefont
pop
}
{exch pop}
ifelse
}
{pop}
ifelse
}bdf
/RFJ{
dup
FontDirectory exch
known
{pop 3 -1 roll pop}
{RCJ}
ifelse
}bdf
/hasfont
{
/resourcestatus where
{
pop
/Font resourcestatus
{
pop pop true
}
{
false
}
ifelse
}
{
dup FontDirectory exch known
{pop true}
{
256 string
cvs
(fonts/) exch MN
status
{pop pop pop pop true}
{false}
ifelse
}
ifelse
}
ifelse
}bdf
/FDFJ
{
dup
hasfont
not
{
pop
/Ryumin-Light-83pv-RKSJ-H
hasfont
{
/Ryumin-Light-83pv-RKSJ-H
}
{
/Courier
}
ifelse
}
if
}bdf
/FFJ{
_bfh
dup
256 string cvs
(|______)exch MN
cvn
dup
FontDirectory
exch known
{
exch
pop
findfont
3 -1 roll
pop
}
{
pop
FDFJ
dup findfont
dup maxlength dict
CD
dup dup
/Encoding exch
/Encoding get
256 array copy
7 -1 roll
{
3 -1 roll
dup
4 -2 roll
put
}forall
put
definefont
}
ifelse
_efh
}bdf
/GS {
dup
hasfont
{
findfont
exch makesetfont
exch
pop
ts
}
{
pop pop pop
ts
} ifelse
} bdf
/RCK{4 -1 roll
/ourvec xdf
256 string cvs
(|______) anchorsearch
{pop
cvn
dup FDFK
exch
1 index
eq
{
_bfh findfont _efh
dup
maxlength dict
CD
dup
/FontName
3 index
put
dup
/Encoding ourvec put
1 index
exch
definefont
pop
}
{exch pop}
ifelse
}
{pop}
ifelse
}bdf
/RFK{
dup
FontDirectory exch
known
{pop 3 -1 roll pop}
{RCK}
ifelse
}bdf
/hasfont
{
/resourcestatus where
{
pop
/Font resourcestatus
{
pop pop true
}
{
false
}
ifelse
}
{
dup FontDirectory exch known
{pop true}
{
256 string
cvs
(fonts/) exch MN
status
{pop pop pop pop true}
{false}
ifelse
}
ifelse
}
ifelse
}bdf
/FDFK
{
dup
hasfont
not
{
pop
/JCsm
hasfont
{
/JCsm
}
{
/Courier
}
ifelse
}
if
}bdf
/FFK{
_bfh
dup
256 string cvs
(|______)exch MN
cvn
dup
FontDirectory
exch known
{
exch
pop
findfont
3 -1 roll
pop
}
{
pop
FDFK
dup findfont
dup maxlength dict
CD
dup dup
/Encoding exch
/Encoding get
256 array copy
7 -1 roll
{
3 -1 roll
dup
4 -2 roll
put
}forall
put
definefont
}
ifelse
_efh
}bdf
/RCTC{4 -1 roll
/ourvec xdf
256 string cvs
(|______) anchorsearch
{pop
cvn
dup FDFTC
exch
1 index
eq
{
_bfh findfont _efh
dup
maxlength dict
CD
dup
/FontName
3 index
put
dup
/Encoding ourvec put
1 index
exch
definefont
pop
}
{exch pop}
ifelse
}
{pop}
ifelse
}bdf
/RFTC{
dup
FontDirectory exch
known
{pop 3 -1 roll pop}
{RCTC}
ifelse
}bdf
/FDFTC
{
dup
hasfont
not
{
pop
/DFMing-Lt-HK-BF
hasfont
{
/DFMing-Lt-HK-BF
}
{
/Courier
}
ifelse
}
if
}bdf
/FFTC{
_bfh
dup
256 string cvs
(|______)exch MN
cvn
dup
FontDirectory
exch known
{
exch
pop
findfont
3 -1 roll
pop
}
{
pop
FDFTC
dup findfont
dup maxlength dict
CD
dup dup
/Encoding exch
/Encoding get
256 array copy
7 -1 roll
{
3 -1 roll
dup
4 -2 roll
put
}forall
put
definefont
}
ifelse
_efh
}bdf
/fps{
currentflat
exch
dup 0 le{pop 1}if
{
dup setflat 3 index stopped
{1.3 mul dup 3 index gt{pop setflat pop pop stop}if}
{exit}
ifelse
}loop
pop setflat pop pop
}bdf
/fp{100 currentflat fps}bdf
/clipper{clip}bdf
/W{/clipper load 100 clipflatness dup setflat fps}bdf
/AVec 256 array def
AVec 0 /Helvetica findfont
/Encoding get 0 256 getinterval putinterval
/ANSIPatch[
16#0/grave 16#1/acute 16#2/circumflex 16#3/tilde 16#4/macron 16#5/breve
16#6/dotaccent 16#7/dieresis 16#8/ring 16#9/cedilla 16#A/hungarumlaut
16#B/ogonek 16#C/caron 16#D/dotlessi 16#27/quotesingle 16#60/grave
16#7C/bar 16#82/quotesinglbase 16#83/florin 16#84/quotedblbase 16#85
/ellipsis 16#86/dagger 16#87/daggerdbl 16#89/perthousand 16#8A/Scaron
16#8B/guilsinglleft 16#8C/OE 16#91/quoteleft 16#92/quoteright 16#93
/quotedblleft 16#94/quotedblright 16#95/bullet 16#96/endash 16#97/emdash
16#99/trademark 16#9A/scaron 16#9B/guilsinglright 16#9C/oe
16#9F/Ydieresis 16#A0/space 16#A4/currency 16#A6/brokenbar
16#A7/section 16#A8/dieresis 16#A9/copyright 16#AA/ordfeminine 16#AB/guillemotleft
16#AC/logicalnot 16#AD/hyphen 16#AE/registered 16#AF/macron 16#B0/degree
16#B1/plusminus 16#B2/twosuperior 16#B3/threesuperior 16#B4/acute 16#B5/mu
16#B6/paragraph 16#B7/periodcentered 16#B8/cedilla 16#B9/onesuperior
16#BA/ordmasculine 16#BB/guillemotright 16#BC/onequarter 16#BD/onehalf
16#BE/threequarters 16#BF/questiondown 16#C0/Agrave 16#C1/Aacute 16#C2/Acircumflex
16#C3/Atilde 16#C4/Adieresis 16#C5/Aring 16#C6/AE 16#C7/Ccedilla 16#C8/Egrave
16#C9/Eacute 16#CA/Ecircumflex 16#CB/Edieresis 16#CC/Igrave 16#CD/Iacute
16#CE/Icircumflex 16#CF/Idieresis 16#D0/Eth 16#D1/Ntilde 16#D2/Ograve
16#D3/Oacute 16#D4/Ocircumflex 16#D5/Otilde 16#D6/Odieresis 16#D7/multiply
16#D8/Oslash 16#D9/Ugrave 16#DA/Uacute 16#DB/Ucircumflex 16#DC/Udieresis
16#DD/Yacute 16#DE/Thorn 16#DF/germandbls 16#E0/agrave 16#E1/aacute
16#E2/acircumflex 16#E3/atilde 16#E4/adieresis 16#E5/aring 16#E6/ae
16#E7/ccedilla 16#E8/egrave 16#E9/eacute 16#EA/ecircumflex 16#EB/edieresis
16#EC/igrave 16#ED/iacute 16#EE/icircumflex 16#EF/idieresis 16#F0/eth
16#F1/ntilde 16#F2/ograve 16#F3/oacute 16#F4/ocircumflex 16#F5/otilde
16#F6/odieresis 16#F7/divide 16#F8/oslash 16#F9/ugrave 16#FA/uacute
16#FB/ucircumflex 16#FC/udieresis 16#FD/yacute 16#FE/thorn 16#FF/ydieresis
] def
127 1 159 { AVec exch/bullet put } for
ANSIPatch aload pop ANSIPatch length 2 idiv{AVec 3 1 roll put}repeat
/DoPatch { dup /CharStrings known
{ setfont
0 1 255 { dup
currentfont
/Encoding get
exch get
currentfont /CharStrings get
exch known
{pop} {currentfont /Encoding get exch /bullet put} ifelse
} for
} {pop} ifelse
} def
/findheaderfont {
AVec 256 array copy
/FHT /|______Helvetica dup RF findfont def
FHT DoPatch
FHT
} def
end %. AltsysDict
%%EndResource
%%EndProlog
%%BeginSetup
AltsysDict begin
_bfh
_efh
end %. AltsysDict
%%EndSetup
AltsysDict begin
/onlyk4{false}ndf
/ccmyk{dup 5 -1 roll sub 0 max exch}ndf
/cmyk2gray{
4 -1 roll 0.3 mul 4 -1 roll 0.59 mul 4 -1 roll 0.11 mul
add add add 1 min neg 1 add
}bdf
/setcmykcolor{1 exch sub ccmyk ccmyk ccmyk pop setrgbcolor}ndf
/maxcolor {
max max max
} ndf
/maxspot {
pop
} ndf
/setcmykcoloroverprint{4{dup -1 eq{pop 0}if 4 1 roll}repeat setcmykcolor}ndf
/findcmykcustomcolor{5 packedarray}ndf
/setcustomcolor{exch aload pop pop 4{4 index mul 4 1 roll}repeat setcmykcolor pop}ndf
/setseparationgray{setgray}ndf
/setoverprint{pop}ndf
/currentoverprint false ndf
/cmykbufs2gray{
0 1 2 index length 1 sub
{
4 index 1 index get 0.3 mul
4 index 2 index get 0.59 mul
4 index 3 index get 0.11 mul
4 index 4 index get
add add add cvi 255 min
255 exch sub
2 index 3 1 roll put
}for
4 1 roll pop pop pop
}bdf
/colorimage{
pop pop
[
5 -1 roll/exec cvx
6 -1 roll/exec cvx
7 -1 roll/exec cvx
8 -1 roll/exec cvx
/cmykbufs2gray cvx
]cvx
image
}
%. version 47.1 on Linotronic of Postscript defines colorimage incorrectly (rgb model only)
version cvr 47.1 le
statusdict /product get (Lino) anchorsearch{pop pop true}{pop false}ifelse
and{userdict begin bdf end}{ndf}ifelse
fhnumcolors 1 ne {/yt save def} if
/customcolorimage{
aload pop
(_vc_Registration) eq
{
pop pop pop pop separationimage
}
{
/ik xdf /iy xdf /im xdf /ic xdf
ic im iy ik cmyk2gray /xt xdf
currenttransfer
{dup 1.0 exch sub xt mul add}concatprocs
st
image
}
ifelse
}ndf
fhnumcolors 1 ne {yt restore} if
fhnumcolors 3 ne {/yt save def} if
/customcolorimage{
aload pop
(_vc_Registration) eq
{
pop pop pop pop separationimage
}
{
/ik xdf /iy xdf /im xdf /ic xdf
1.0 dup ic ik add min sub
1.0 dup im ik add min sub
1.0 dup iy ik add min sub
/ic xdf /iy xdf /im xdf
currentcolortransfer
4 1 roll
{dup 1.0 exch sub ic mul add}concatprocs 4 1 roll
{dup 1.0 exch sub iy mul add}concatprocs 4 1 roll
{dup 1.0 exch sub im mul add}concatprocs 4 1 roll
setcolortransfer
{/dummy xdf dummy}concatprocs{dummy}{dummy}true 3 colorimage
}
ifelse
}ndf
fhnumcolors 3 ne {yt restore} if
fhnumcolors 4 ne {/yt save def} if
/customcolorimage{
aload pop
(_vc_Registration) eq
{
pop pop pop pop separationimage
}
{
/ik xdf /iy xdf /im xdf /ic xdf
currentcolortransfer
{1.0 exch sub ik mul ik sub 1 add}concatprocs 4 1 roll
{1.0 exch sub iy mul iy sub 1 add}concatprocs 4 1 roll
{1.0 exch sub im mul im sub 1 add}concatprocs 4 1 roll
{1.0 exch sub ic mul ic sub 1 add}concatprocs 4 1 roll
setcolortransfer
{/dummy xdf dummy}concatprocs{dummy}{dummy}{dummy}
true 4 colorimage
}
ifelse
}ndf
fhnumcolors 4 ne {yt restore} if
/separationimage{image}ndf
/spotascmyk false ndf
/newcmykcustomcolor{6 packedarray}ndf
/inkoverprint false ndf
/setinkoverprint{pop}ndf
/setspotcolor {
spots exch get
dup 4 get (_vc_Registration) eq
{pop 1 exch sub setseparationgray}
{0 5 getinterval exch setcustomcolor}
ifelse
}ndf
/currentcolortransfer{currenttransfer dup dup dup}ndf
/setcolortransfer{st pop pop pop}ndf
/fas{}ndf
/sas{}ndf
/fhsetspreadsize{pop}ndf
/filler{fill}bdf
/F{gsave {filler}fp grestore}bdf
/f{closepath F}bdf
/S{gsave {stroke}fp grestore}bdf
/s{closepath S}bdf
userdict /islevel2
systemdict /languagelevel known dup
{
pop systemdict /languagelevel get 2 ge
} if
put
islevel2 not
{
/currentcmykcolor
{
0 0 0 1 currentgray sub
} ndf
} if
/tc
{
gsave
setcmykcolor currentcmykcolor
grestore
} bind def
/testCMYKColorThrough
{
tc add add add 0 ne
} bind def
/fhiscomposite where not {
userdict /fhiscomposite
islevel2
{
gsave 1 1 1 1 setcmykcolor currentcmykcolor grestore
add add add 4 eq
}
{
1 0 0 0 testCMYKColorThrough
0 1 0 0 testCMYKColorThrough
0 0 1 0 testCMYKColorThrough
0 0 0 1 testCMYKColorThrough
and and and
} ifelse
put
}
{ pop }
ifelse
/bc4 [0 0 0 0] def
/_lfp4 {
1 pop
/yt xdf
/xt xdf
/ang xdf
storerect
/taperfcn xdf
/k2 xdf /y2 xdf /m2 xdf /c2 xdf
/k1 xdf /y1 xdf /m1 xdf /c1 xdf
c1 c2 sub abs
m1 m2 sub abs
y1 y2 sub abs
k1 k2 sub abs
maxcolor
calcgraysteps mul abs round
height abs adjnumsteps
dup 1 lt {pop 1} if
1 sub /numsteps1 xdf
currentflat mark
currentflat clipflatness
/delta top bottom sub numsteps1 1 add div def
/right right left sub def
/botsv top delta sub def
{
{
W
xt yt translate
ang rotate
xt neg yt neg translate
dup setflat
/bottom botsv def
0 1 numsteps1
{
numsteps1 dup 0 eq {pop pop 0.5} {div} ifelse
taperfcn /frac xdf
bc4 0 c2 c1 sub frac mul c1 add put
bc4 1 m2 m1 sub frac mul m1 add put
bc4 2 y2 y1 sub frac mul y1 add put
bc4 3 k2 k1 sub frac mul k1 add put
bc4 vc
1 index setflat
{
mark {newpath left bottom right delta rectfill}stopped
{cleartomark exch 1.3 mul dup setflat exch 2 copy gt{stop}if}
{cleartomark exit}ifelse
}loop
/bottom bottom delta sub def
}for
}
gsave stopped grestore
{exch pop 2 index exch 1.3 mul dup 100 gt{cleartomark setflat stop}if}
{exit}ifelse
}loop
cleartomark setflat
}bdf
/bcs [0 0] def
/_lfs4 {
/yt xdf
/xt xdf
/ang xdf
storerect
/taperfcn xdf
/tint2 xdf
/tint1 xdf
bcs exch 1 exch put
tint1 tint2 sub abs
bcs 1 get maxspot
calcgraysteps mul abs round
height abs adjnumsteps
dup 2 lt {pop 2} if
1 sub /numsteps1 xdf
currentflat mark
currentflat clipflatness
/delta top bottom sub numsteps1 1 add div def
/right right left sub def
/botsv top delta sub def
{
{
W
xt yt translate
ang rotate
xt neg yt neg translate
dup setflat
/bottom botsv def
0 1 numsteps1
{
numsteps1 div taperfcn /frac xdf
bcs 0
1.0 tint2 tint1 sub frac mul tint1 add sub
put bcs vc
1 index setflat
{
mark {newpath left bottom right delta rectfill}stopped
{cleartomark exch 1.3 mul dup setflat exch 2 copy gt{stop}if}
{cleartomark exit}ifelse
}loop
/bottom bottom delta sub def
}for
}
gsave stopped grestore
{exch pop 2 index exch 1.3 mul dup 100 gt{cleartomark setflat stop}if}
{exit}ifelse
}loop
cleartomark setflat
}bdf
/_rfs6 {
/tint2 xdf
/tint1 xdf
bcs exch 1 exch put
/inrad xdf
/radius xdf
/yt xdf
/xt xdf
tint1 tint2 sub abs
bcs 1 get maxspot
calcgraysteps mul abs round
radius inrad sub abs
adjnumsteps
dup 1 lt {pop 1} if
1 sub /numsteps1 xdf
radius inrad sub numsteps1 dup 0 eq {pop} {div} ifelse
2 div /halfstep xdf
currentflat mark
currentflat clipflatness
{
{
dup setflat
W
0 1 numsteps1
{
dup /radindex xdf
numsteps1 dup 0 eq {pop pop 0.5} {div} ifelse
/frac xdf
bcs 0
tint2 tint1 sub frac mul tint1 add
put bcs vc
1 index setflat
{
newpath mark
xt yt radius inrad sub 1 frac sub mul halfstep add inrad add 0 360
{ arc
radindex numsteps1 ne
inrad 0 gt or
{
xt yt
numsteps1 0 eq
{ inrad }
{
radindex 1 add numsteps1 div 1 exch sub
radius inrad sub mul halfstep add inrad add
}ifelse
dup xt add yt moveto
360 0 arcn
} if
fill
}stopped
{cleartomark exch 1.3 mul dup setflat exch 2 copy gt{stop}if}
{cleartomark exit}ifelse
}loop
}for
}
gsave stopped grestore
{exch pop 2 index exch 1.3 mul dup 100 gt{cleartomark setflat stop}if}
{exit}ifelse
}loop
cleartomark setflat
}bdf
/_rfp6 {
1 pop
/k2 xdf /y2 xdf /m2 xdf /c2 xdf
/k1 xdf /y1 xdf /m1 xdf /c1 xdf
/inrad xdf
/radius xdf
/yt xdf
/xt xdf
c1 c2 sub abs
m1 m2 sub abs
y1 y2 sub abs
k1 k2 sub abs
maxcolor
calcgraysteps mul abs round
radius inrad sub abs
adjnumsteps
dup 1 lt {pop 1} if
1 sub /numsteps1 xdf
radius inrad sub numsteps1 dup 0 eq {pop} {div} ifelse
2 div /halfstep xdf
currentflat mark
currentflat clipflatness
{
{
dup setflat
W
0 1 numsteps1
{
dup /radindex xdf
numsteps1 dup 0 eq {pop pop 0.5} {div} ifelse
/frac xdf
bc4 0 c2 c1 sub frac mul c1 add put
bc4 1 m2 m1 sub frac mul m1 add put
bc4 2 y2 y1 sub frac mul y1 add put
bc4 3 k2 k1 sub frac mul k1 add put
bc4 vc
1 index setflat
{
newpath mark
xt yt radius inrad sub 1 frac sub mul halfstep add inrad add 0 360
{ arc
radindex numsteps1 ne
inrad 0 gt or
{
xt yt
numsteps1 0 eq
{ inrad }
{
radindex 1 add numsteps1 div 1 exch sub
radius inrad sub mul halfstep add inrad add
}ifelse
dup xt add yt moveto
360 0 arcn
} if
fill
}stopped
{cleartomark exch 1.3 mul dup setflat exch 2 copy gt{stop}if}
{cleartomark exit}ifelse
}loop
}for
}
gsave stopped grestore
{exch pop 2 index exch 1.3 mul dup 100 gt{cleartomark setflat stop}if}
{exit}ifelse
}loop
cleartomark setflat
}bdf
/lfp4{_lfp4}ndf
/lfs4{_lfs4}ndf
/rfs6{_rfs6}ndf
/rfp6{_rfp6}ndf
/cvc [0 0 0 1] def
/vc{
AltsysDict /cvc 2 index put
aload length dup 4 eq
{pop dup -1 eq{pop setrgbcolor}{setcmykcolor}ifelse}
{6 eq {sethexcolor} {setspotcolor} ifelse }
ifelse
}bdf
0 setseparationgray
/imgr {1692 1584 2304 2376 } def
/bleed 0 def
/clpr {1692 1584 2304 2376 } def
/xs 1 def
/ys 1 def
/botx 0 def
/overlap 0 def
/wdist 18 def
0 2 mul fhsetspreadsize
0 0 ne {/df 0 def /clipflatness 0 def} if
/maxsteps 256 def
/forcemaxsteps false def
/minsteps 0 def
userdict begin /AGDOrigMtx matrix currentmatrix def end
vms
-1809 -1914 translate
/currentpacking defed{false setpacking}if
/spots[
1 0 0 0 (Process Cyan) false newcmykcustomcolor
0 1 0 0 (Process Magenta) false newcmykcustomcolor
0 0 1 0 (Process Yellow) false newcmykcustomcolor
0 0 0 1 (Process Black) false newcmykcustomcolor
]def
n
[] 0 d
3.863708 M
1 w
0 j
0 J
false setoverprint
0 i
false eomode
[0 0 0 1]vc
vms
1987 2164.5 m
1987 2168.0899 1989.9101 2171 1993.5 2171 C
1997.0899 2171 2000 2168.0899 2000 2164.5 C
2000 2160.9101 1997.0899 2158 1993.5 2158 C
1989.9101 2158 1987 2160.9101 1987 2164.5 C
f
S
n
1847.2458 2133.7345 m
1847.2458 2137.3244 1850.156 2140.2345 1853.7458 2140.2345 C
1857.3357 2140.2345 1860.2458 2137.3244 1860.2458 2133.7345 C
1860.2458 2130.1446 1857.3357 2127.2345 1853.7458 2127.2345 C
1850.156 2127.2345 1847.2458 2130.1446 1847.2458 2133.7345 C
f
S
n
1864.2458 2047.7345 m
1864.2458 2051.3244 1867.156 2054.2345 1870.7458 2054.2345 C
1874.3357 2054.2345 1877.2458 2051.3244 1877.2458 2047.7345 C
1877.2458 2044.1446 1874.3357 2041.2345 1870.7458 2041.2345 C
1867.156 2041.2345 1864.2458 2044.1446 1864.2458 2047.7345 C
f
S
n
1964.2458 1950.7345 m
1964.2458 1954.3244 1967.156 1957.2345 1970.7458 1957.2345 C
1974.3357 1957.2345 1977.2458 1954.3244 1977.2458 1950.7345 C
1977.2458 1947.1446 1974.3357 1944.2345 1970.7458 1944.2345 C
1967.156 1944.2345 1964.2458 1947.1446 1964.2458 1950.7345 C
f
S
n
1971.2458 2097.7345 m
1971.2458 2101.3244 1974.156 2104.2345 1977.7458 2104.2345 C
1981.3357 2104.2345 1984.2458 2101.3244 1984.2458 2097.7345 C
1984.2458 2094.1446 1981.3357 2091.2345 1977.7458 2091.2345 C
1974.156 2091.2345 1971.2458 2094.1446 1971.2458 2097.7345 C
[0 0 0 0]vc
f
2 w
3.863693 M
[0 0 0 1]vc
S
n
2116.2458 2002.7345 m
2116.2458 2006.3244 2119.156 2009.2345 2122.7458 2009.2345 C
2126.3357 2009.2345 2129.2458 2006.3244 2129.2458 2002.7345 C
2129.2458 1999.1446 2126.3357 1996.2345 2122.7458 1996.2345 C
2119.156 1996.2345 2116.2458 1999.1446 2116.2458 2002.7345 C
f
1 w
3.863708 M
S
n
1937 2104 m
1906 2213 L
S
n
1810 2085 m
1936 2105 L
S
n
1937 2104 m
1980 2059 L
S
n
1884 1962 m
1980 2060 L
S
n
1979.5 2059.5 m
2019 2054 L
S
n
2069 1915 m
2019 2055 L
S
n
2020 2054 m
2124 2149 L
S
n
2069.5 2099.5 m
1922 2152 L
2 w
3.863693 M
S
n
1922 2152 m
1909 2100 L
S
n
1909 2100 m
1946 2026 L
S
n
1946 2026 m
2035 2014 L
S
n
2035 2014 m
2069 2099.5 L
S
n
vmr
vmr
end
%%Trailer
%%EndDocument
@endspecial 1241 1405 a Fu(Figure)24 b(6:)29 b(Addition)c(of)e(a)h(ne)
n(w)e(generator)-5 b(.)p 3878 1450 V 0 1453 3882 4 v
0 1711 a(of)32 b(the)g(generator)i(in)e(the)g(Delaunay)i(tessellation.)
57 b(See)31 b(Figure)i(6)f(for)g(a)f(demonstration)k(of)d(an)g
(insertion)i(of)e(a)g(ne)n(w)0 1823 y(generator)-5 b(.)33
b(It)24 b(is)g(well)g(kno)n(wn)g(that)h(the)f(a)n(v)o(erage)i(de)o
(gree)f(of)f(a)g(V)-12 b(oronoi)25 b(cell)g(is)f Fp(6)p
Fu(.)30 b(It)24 b(follo)n(ws)g(that)h(if)f(the)g(generators)j(of)0
1936 y(a)c(V)-12 b(oronoi)26 b(diagram)f(are)f(entered)i(in)d(random)i
(order)l(,)g(then)g(the)f(a)n(v)o(erage)i(of)e Fr(d)f
Fu(is)h(at)f(most)h Fp(6)g Fu(as)g(well.)29 b(In)24 b(the)g(w)o(orst)h
(case)0 2049 y Fr(d)e Fu(might)h(be)f(as)h(high)g(as)g
Fr(n)c Fq(\000)f Fp(1)p Fu(.)0 2295 y Ft(4.1.1)92 b(The)22
b(J)o(oin/Lea)n(v)o(e)i(operations)0 2469 y Fu(Processors)29
b(are)e(associated)j(with)d(generators)j(of)d(a)g(V)-12
b(oronoi)29 b(diagram.)40 b(Each)27 b(processor)j(holds)e(its)f(o)n(wn)
g(location)i(on)0 2582 y(the)23 b(plane)h(and)f(the)f(location)j(of)e
(its)f(neighbors)k(in)c(the)h(Delaunay)h(triangulation.)32
b(A)22 b(processor)j(that)e(wishes)g(to)g(join)g(the)0
2695 y(system)h(does)h(the)e(follo)n(wing:)114 2883 y(1.)45
b(Choose)31 b(a)f(location)i Fr(x)e Fu(in)g(the)g(unit)h(square)g
(\(typically)i Fr(x)c Fu(w)o(ould)i(be)f(chosen)i(randomly)g(and)e
(uniformly)i(from)227 2996 y Fp([0)p Fr(;)15 b Fp(1\))22
b Fq(\002)e Fp([0)p Fr(;)15 b Fp(1\))p Fu(\).)114 3183
y(2.)45 b(Find)24 b(the)g(processor)i(whose)e(cell)g(contains)h
Fr(x)p Fu(.)j(Learn)c(the)g(location)h(of)f(its)f(neighbors.)114
3371 y(3.)45 b(Calculate)32 b(the)f(boundaries)i(of)d(the)h(ne)n(w)e(V)
-12 b(oronoi)32 b(cell)f(and)g(inform)g(the)f(neighbors)j(so)d(that)h
(the)o(y)g(can)g(update)227 3484 y(their)25 b(tables.)141
3672 y(Before)k(analyzing)j(the)d(algorithm)h(we)e(sho)n(w)g(the)h
(properties)i(of)e(a)f(V)-12 b(oronoi)30 b(diagram)g(in)f(which)g(the)g
(location)h(of)0 3784 y(each)24 b(generator)i(w)o(as)d(chosen)i
(randomly)g(and)f(uniformly)-6 b(.)31 b(W)-7 b(e)23 b(sho)n(w)g(that)h
(with)f(high)i(probably)g(the)f(V)-12 b(oronoi)25 b(diagram)0
3897 y(decomposes)h(the)e(square)h(into)f(more)g(or)f(less)h(equal)h
(cells.)0 4085 y Ft(Theor)n(em)e(18.)41 b Fs(If)23 b(the)g(location)i
(of)e(eac)o(h)g(g)o(ener)o(ator)i(of)e(the)g(V)-10 b(or)l(onoi)24
b(dia)o(gr)o(am)g(was)f(c)o(hosen)h(uniformly)g(and)g(r)o(andomly)0
4198 y(in)f Fp([0)p Fr(;)15 b Fp(1\))23 b Fq(\002)c Fp([0)p
Fr(;)c Fp(1\))25 b Fs(then)f(with)g(high)g(pr)l(obability)j(the)d
(following)h(holds:)114 4386 y(1.)45 b(The)23 b(ar)m(ea)h(of)g(the)g
(lar)m(g)o(est)h(V)-10 b(or)l(onoi)24 b(cell)g(is)g(at)f(most)g
Fr(O)s Fp(\()2019 4344 y Fo(log)14 b Fn(n)p 2019 4365
146 4 v 2071 4417 a(n)2175 4386 y Fp(\))p Fs(.)114 4573
y(2.)45 b(The)21 b(number)i(of)e(neighbor)o(s)k(eac)o(h)c(V)-10
b(or)l(onoi)23 b(cell)f(\(the)g(maximum)f(de)l(gr)m(ee)i(of)f(the)f
(Delaunay)i(gr)o(aph\))g(is)f Fr(O)s Fp(\(log)17 b Fr(n)p
Fp(\))p Fs(.)114 4761 y(3.)45 b(The)23 b(pr)l(ojection)k(of)c(eac)o(h)h
(V)-10 b(or)l(onoi)25 b(cell)f(on)f(the)h(axis)g(lines)h(is)e(at)h
(most)f Fr(O)s Fp(\()2615 4683 y Fh(p)p 2706 4683 288
4 v 78 x Fp(log)18 b Fr(n)o(=n)p Fp(\))p Fs(.)0 4989
y(Pr)l(oof)o(.)46 b Fu(Di)n(vide)28 b(the)f(square)i(into)1173
4953 y Fn(n)p 1122 4968 146 4 v 1122 5020 a Fo(log)12
b Fn(n)1304 4989 y Fu(squares)29 b(of)f(size)1874 4879
y Fh(q)p 1965 4879 166 4 v 1975 4948 a Fo(log)12 b Fn(n)p
1975 4968 146 4 v 2026 5020 a(n)2153 4989 y Fq(\002)2247
4879 y Fh(q)p 2338 4879 166 4 v 2348 4948 a Fo(log)h
Fn(n)p 2348 4968 146 4 v 2400 5020 a(n)2504 4989 y Fu(.)40
b(No)n(w)26 b(model)i(the)f(process)j(as)d(putting)i
Fr(n)0 5111 y Fu(balls)d(in)334 5076 y Fn(n)p 300 5091
111 4 v 300 5143 a Fo(lg)13 b Fn(n)444 5111 y Fu(bins.)33
b(It)24 b(is)h(well)f(kno)n(wn)h(that)g(when)g Fr(n)e
Fu(balls)j(are)e(put)h(uniformly)i(at)d(random)i(into)3197
5076 y Fn(n)p 3146 5091 146 4 v 3146 5143 a Fo(log)13
b Fn(n)3325 5111 y Fu(bins,)26 b(then)f(w)-6 b(.h.p)0
5224 y(e)n(v)o(ery)21 b(bin)h(contains)h Fp(\002\(log)17
b Fr(n)p Fp(\))j Fu(balls.)29 b(Assume)21 b(this)h(high)g(probability)i
(e)n(v)o(ent)d(occurs)h(and)g(each)f(small)h(square)g(contains)0
5337 y Fp(\002\(log)c Fr(n)p Fp(\))27 b Fu(balls.)42
b(Fix)27 b(a)h(generator)i Fr(x)1229 5351 y Fn(i)1257
5337 y Fu(.)41 b(A)27 b(simple)h(geometric)i(ar)n(gument)f
(demonstrated)i(in)d(Figure)g(7)g(sho)n(ws)g(that)g(all)1905
5589 y(12)p eop end
%%Page: 13 13
TeXDict begin 13 12 bop 0 3 3882 4 v 0 1686 4 1683 v
51 1446 a @beginspecial 0 @llx 0 @lly 165 @urx 166 @ury
1700 @rwi 1700 @rhi @setspecial
%%BeginDocument: circle.eps
%!PS-Adobe-2.0 EPSF-1.2
%%Title: circle.FH9
%%Creator: FreeHand 9.0
%%CreationDate: Mon Aug 04 17:57:17 2003
%%BoundingBox: 0 0 165 166
%%FHPathName:E:\Writeups\Dynamic Quorums\Journal\circle.FH9
%ALDOriginalFile:E:\Writeups\Dynamic Quorums\Journal\circle.FH9
%ALDBoundingBox: -23 -601 589 191
%%FHPageNum:1
%%DocumentSuppliedResources: procset Altsys_header 4 0
%%ColorUsage: Color
%%DocumentProcessColors: Black
%%EndComments
%%BeginFont: Gen_Arial
11 dict begin
/FontName (Gen_Arial) def
/FontType 1 def
/PaintType 0 def
/FontMatrix [0.001 0 0 0.001 0 0] def
/Encoding 256 array 0 1 255 {1 index exch /.notdef put} for def
Encoding 0 /MT0 put Encoding 1 /MT1 put Encoding 2 /MT2 put Encoding 3 /MT3 put Encoding 4 /MT4 put Encoding 5 /MT5 put
Encoding 6 /MT6 put Encoding 7 /MT7 put Encoding 8 /MT8 put Encoding 9 /MT9 put Encoding 10 /MT10 put Encoding 11 /MT11 put
Encoding 12 /MT12 put Encoding 13 /MT13 put Encoding 14 /MT14 put Encoding 15 /MT15 put Encoding 16 /MT16 put Encoding 17 /MT17 put
Encoding 18 /MT18 put Encoding 19 /MT19 put Encoding 20 /MT20 put Encoding 21 /MT21 put Encoding 22 /MT22 put Encoding 23 /MT23 put
Encoding 24 /MT24 put Encoding 25 /MT25 put Encoding 26 /MT26 put Encoding 27 /MT27 put Encoding 28 /MT28 put Encoding 29 /MT29 put
Encoding 30 /MT30 put Encoding 31 /MT31 put Encoding 32 /MT32 put Encoding 33 /MT33 put Encoding 34 /MT34 put Encoding 35 /MT35 put
Encoding 36 /MT36 put Encoding 37 /MT37 put Encoding 38 /MT38 put Encoding 39 /MT39 put Encoding 40 /MT40 put Encoding 41 /MT41 put
Encoding 42 /MT42 put Encoding 43 /MT43 put Encoding 44 /MT44 put Encoding 45 /MT45 put Encoding 46 /MT46 put Encoding 47 /MT47 put
Encoding 48 /MT48 put Encoding 49 /MT49 put Encoding 50 /MT50 put Encoding 51 /MT51 put Encoding 52 /MT52 put Encoding 53 /MT53 put
Encoding 54 /MT54 put Encoding 55 /MT55 put Encoding 56 /MT56 put Encoding 57 /MT57 put Encoding 58 /MT58 put Encoding 59 /MT59 put
Encoding 60 /MT60 put Encoding 61 /MT61 put Encoding 62 /MT62 put Encoding 63 /MT63 put Encoding 64 /MT64 put Encoding 65 /MT65 put
Encoding 66 /MT66 put Encoding 67 /MT67 put Encoding 68 /MT68 put Encoding 69 /MT69 put Encoding 70 /MT70 put Encoding 71 /MT71 put
Encoding 72 /MT72 put Encoding 73 /MT73 put Encoding 74 /MT74 put Encoding 75 /MT75 put Encoding 76 /MT76 put Encoding 77 /MT77 put
Encoding 78 /MT78 put Encoding 79 /MT79 put Encoding 80 /MT80 put Encoding 81 /MT81 put Encoding 82 /MT82 put Encoding 83 /MT83 put
Encoding 84 /MT84 put Encoding 85 /MT85 put Encoding 86 /MT86 put Encoding 87 /MT87 put Encoding 88 /MT88 put Encoding 89 /MT89 put
Encoding 90 /MT90 put Encoding 91 /MT91 put Encoding 92 /MT92 put Encoding 93 /MT93 put Encoding 94 /MT94 put Encoding 95 /MT95 put
Encoding 96 /MT96 put Encoding 97 /MT97 put Encoding 98 /MT98 put Encoding 99 /MT99 put Encoding 100 /MT100 put Encoding 101 /MT101 put
Encoding 102 /MT102 put Encoding 103 /MT103 put Encoding 104 /MT104 put Encoding 105 /MT105 put Encoding 106 /MT106 put Encoding 107 /MT107 put
Encoding 108 /MT108 put Encoding 109 /MT109 put Encoding 110 /MT110 put Encoding 111 /MT111 put Encoding 112 /MT112 put Encoding 113 /MT113 put
Encoding 114 /MT114 put Encoding 115 /MT115 put Encoding 116 /MT116 put Encoding 117 /MT117 put Encoding 118 /MT118 put Encoding 119 /MT119 put
Encoding 120 /MT120 put Encoding 121 /MT121 put Encoding 122 /MT122 put Encoding 123 /MT123 put Encoding 124 /MT124 put Encoding 125 /MT125 put
Encoding 126 /MT126 put Encoding 127 /MT127 put Encoding 128 /MT128 put Encoding 129 /MT129 put Encoding 130 /MT130 put Encoding 131 /MT131 put
Encoding 132 /MT132 put Encoding 133 /MT133 put Encoding 134 /MT134 put Encoding 135 /MT135 put Encoding 136 /MT136 put Encoding 137 /MT137 put
Encoding 138 /MT138 put Encoding 139 /MT139 put Encoding 140 /MT140 put Encoding 141 /MT141 put Encoding 142 /MT142 put Encoding 143 /MT143 put
Encoding 144 /MT144 put Encoding 145 /MT145 put Encoding 146 /MT146 put Encoding 147 /MT147 put Encoding 148 /MT148 put Encoding 149 /MT149 put
Encoding 150 /MT150 put Encoding 151 /MT151 put Encoding 152 /MT152 put Encoding 153 /MT153 put Encoding 154 /MT154 put Encoding 155 /MT155 put
Encoding 156 /MT156 put Encoding 157 /MT157 put Encoding 158 /MT158 put Encoding 159 /MT159 put Encoding 160 /MT160 put Encoding 161 /MT161 put
Encoding 162 /MT162 put Encoding 163 /MT163 put Encoding 164 /MT164 put Encoding 165 /MT165 put Encoding 166 /MT166 put Encoding 167 /MT167 put
Encoding 168 /MT168 put Encoding 169 /MT169 put Encoding 170 /MT170 put Encoding 171 /MT171 put Encoding 172 /MT172 put Encoding 173 /MT173 put
Encoding 174 /MT174 put Encoding 175 /MT175 put Encoding 176 /MT176 put Encoding 177 /MT177 put Encoding 178 /MT178 put Encoding 179 /MT179 put
Encoding 180 /MT180 put Encoding 181 /MT181 put Encoding 182 /MT182 put Encoding 183 /MT183 put Encoding 184 /MT184 put Encoding 185 /MT185 put
Encoding 186 /MT186 put Encoding 187 /MT187 put Encoding 188 /MT188 put Encoding 189 /MT189 put Encoding 190 /MT190 put Encoding 191 /MT191 put
Encoding 192 /MT192 put Encoding 193 /MT193 put Encoding 194 /MT194 put Encoding 195 /MT195 put Encoding 196 /MT196 put Encoding 197 /MT197 put
Encoding 198 /MT198 put Encoding 199 /MT199 put Encoding 200 /MT200 put Encoding 201 /MT201 put Encoding 202 /MT202 put Encoding 203 /MT203 put
Encoding 204 /MT204 put Encoding 205 /MT205 put Encoding 206 /MT206 put Encoding 207 /MT207 put Encoding 208 /MT208 put Encoding 209 /MT209 put
Encoding 210 /MT210 put Encoding 211 /MT211 put Encoding 212 /MT212 put Encoding 213 /MT213 put Encoding 214 /MT214 put Encoding 215 /MT215 put
Encoding 216 /MT216 put Encoding 217 /MT217 put Encoding 218 /MT218 put Encoding 219 /MT219 put Encoding 220 /MT220 put Encoding 221 /MT221 put
Encoding 222 /MT222 put Encoding 223 /MT223 put Encoding 224 /MT224 put Encoding 225 /MT225 put Encoding 226 /MT226 put Encoding 227 /MT227 put
Encoding 228 /MT228 put Encoding 229 /MT229 put Encoding 230 /MT230 put Encoding 231 /MT231 put Encoding 232 /MT232 put Encoding 233 /MT233 put
Encoding 234 /MT234 put Encoding 235 /MT235 put Encoding 236 /MT236 put Encoding 237 /MT237 put Encoding 238 /MT238 put Encoding 239 /MT239 put
Encoding 240 /MT240 put Encoding 241 /MT241 put Encoding 242 /MT242 put Encoding 243 /MT243 put Encoding 244 /MT244 put Encoding 245 /MT245 put
Encoding 246 /MT246 put Encoding 247 /MT247 put Encoding 248 /MT248 put Encoding 249 /MT249 put Encoding 250 /MT250 put Encoding 251 /MT251 put
Encoding 252 /MT252 put Encoding 253 /MT253 put Encoding 254 /MT254 put Encoding 255 /MT255 put /FontBBox {0 -200 1000 1000 } def
currentdict end currentfile eexec
E98D09D760A3C22CF119F9DC699A22C35B529FBC319140A0049F057F42052E3A8D9AE5679F78981811AF51C2768AFEF74C3FB094B830F80CDDE1A446879430C01F07A76D3070FC382366FDE4922A7E2887FC440409174165DC0E5DB934306DC606D3
B7B01A93A226A85F45F9E1CA97A8D4B0AF250F6391EA095F49C543CD6BF92A0085A93936BB2FE277F3FD9C9636479A6EE4483E4C2D2EEC184E757DD2F7374EC2D01FC0266A42B51641F914ED88AED066569E17215A1364E77B23C22D23599BD3E278
E67D2CCF0D66EF88DF7D7DB55382093EC7F106B47184BE74430E6ACB842D3838C1F104EAFDAEAD963C3A690561DAB46A659D0369456325AF3E2D0F461086C3A88E05BEF21C28A20A6D0B7A90FB620D3FA0CA60A2E57AA39CA0D19161612FFF78CEF2
06CF8D0848984EA69274E215D9E28A640601ABD6F4B8A11448634694246CF61B6A2750257171FA51223EDBF645427319786E773D2B2ABDE62FD9F8909B21952A01B170FEAF69620842F988F1B0E2BAE8A2292873354C079C04AA03C9C5926BE331DA
CD25AAAD8279BB446F4010D8AEAFDE35D00038ECF60F5F1CCFC45EC623F95F1115C58C6C50E5DD7C9FB990784000AD59BE1F346013D019B44E510A255027D81C4C97190077CCB0339B29D52771C81AD8E756E2A7D9B0CB2A6462869D6EA161A81E00
ADAB9640BA19AD41D8696634BFACDF92B2DBC694919D4F41D09822381FD03F6C81C8B9D68C99C9EB508C9C666342D79DEA460D7F464CA2B8C2D7A2F90B106054A6BF557D4041E4A979A543395CDC48DBB13D7698C2614406B439812182273397886D
98852855DD5177ED13BC9BA3940F42784089CD7DC3D8331927710231B9E4ECC4E42AB94AF412DA745900229C58293F24FCE4A41FAC95827A85AECC5CDA85FCC8B3CC9729180E8E2B993D171EED98E995EBED9CD7A332233FF1C9D9B1470A7CC021A3
B60D1D05271A4724BF14BD7472EDAFEC89FC3B661BF594FB8BE53C83BBFD50999EA31F21211CE2B6622DAFA6D5ADE8389ED63F1D5D7963E6EC917BC6FEA7BCB3FCCC3E459374790135BE972E8742ECA6E3B846A4660A42F8095D21729CB17F665C25
EC98A6975564DA1DD2EDBBC297D5043DF8419DCF889E6889E1BBFB94E805081C7BBB0DAEF97C3924D2AFA1E5DEDE706E95E5407F72E8C50471ACA8A3167AEB52F2AF661F039F2C3DBACA2D739FBC72E98BDEFC8F2EE9638CF461C13B388D7BE7B43C
DB74545F5DF5A865ACAF9EDFC6DA3B28448B4E6B398E2790EF793B52980DDD84E4D0DFA7642329EF4177D058F30E99637AD5B2B7EE6ABFF4186627196EE21842D2F1225705A7721A0A29A3DEBF40089D30E70A8B3C27152E08F57005BB4ACFE6940A
2A8A5CCF5A592A2D754F149340E3D17636D06C224DE6600F24F2EF2D8DCCD2FCB14D904633B29668B5A8F609CBAD0BB368C7861C141F8F41E58435168E47A7F8C14D8FF10A5758C4B274D5DDF569DC08EBFCFEE7DF5DFA82D354F9A12B25F8509B6A
0BCCE74C539510BCD892E4FCE47E02005BB170E5B471FB513803A07DC243F06E09132A148D1588089F0AA3D24AFE0CAE82BBF35C135858A4FFCF60C973B707A96972FDD806E5FDDFB600DE9E9245943A23E259B1F885308E715C1B4EAA53605DFA26
70A5C10FCA1C2FB19CCFB4FF2FC28880A294D959A0CE1D9507E79C46D3E258AC6522E8C329CD0EE5FD1938905EDA6C1B54C5BC8158EF534E85C3848CE4AD0BF3491053A800989CF9942CD21FB83AAD603793A07A3977C72692FE3DC555F4D847CE7B
282DDEFEC4501561DE725345066AD8569180B25F6FAC57D67BC6F72D72F1A4290DFC5F2865C046AA3B7627869B2A0313F71E177DB4D7CAF943CCF4A65FEA097C476B168019AF8CCBC06905AF08814D5B1A6DAC4CC64D151B1D3DA77B0A58503CDE96
CF1D56DD1D2CC5A9A145D0A843CDCA50342491D2F70A5202198C7B366FD0B3E5FD37B297ED9D8D8721483B31C9489EDB9A030B51F1629D9F10728F21528F52A096A0C2E328A05A1BB80FC189915E0CE863C3E73937F93E3705079F1265C1DE82439B
D278B7C8DF4866527B67DC71949486F0D2C3503067791966DCFA4595BF3A217D52575042999E4D1F915D1ED0FD3BAEF18BC2108B50D9C7ECE8BF10414962A804DAED539A29A599FEF7F2AC3A632207D9ECAC4E624B80E4F5BDFC587B8CF256C8F786
AC97514E4C5BA80E59C5C31D3DD9402508FA9BF1E36F83B6E76A3875E78AB56999DC1060CA90A6B2B251DD9040A3B9909431453FE05EE61DC08FFBA8919951A73C43A42EBF75CED7F038217281E0869E7071B651712DBED65565307BCDD7B9854F79
A9ADAE32953A84538ED216CECDFA9B525C3BA182014CF26BB99DC71D63BBC1A897EFB4B1AB9786FAB274DC7576E213DBAEB3D57BF63107F0F58243A265213DFA888A1CC6799D2B0C32C7C26AD166951F2A9A85FB276B2F7F01FECE25548E006D0937
FA6A5693BEDD07132337AE6D71DC67BA39D33B636BE8EABB38F5AC761AB6A0F0D54B0383E7065FB50E28631DAAF68209A0A0BBA945627C82C04CC18B1B49F6F2606E46BA86E0B8B96D8F944C2BC5907053B942A7F72D03E267F4B286C618EFE7E6DA
53823342F344F7312E85F793D4D7195BB395EC0B935DA525D874207EBA227E421CF610591560CB9C1C71174AF879E79C38F3D50E8CA7D61DEFF46C8AB67AEA24DC9109F78D7E0FA31BA5739FE3653C2BE94EFBDAA4E4158F037D432CCB95AC279C47
1A6227A62CBFC7048C7ACB78E7A4712D6E7DB29985A7BA957140632B718CD583895A75E0D0139616F86853A19161D8C553D667AF2059629237EECE2EAB0D374A4F4715B2975C090C7C98F1192EDC8E2F96EB664D1572FB936E9737345DDA82B4F0F8
9102CB5E9294DC92A321B63B1388D1BB1CC68E55D1494ABFD910CFA7EDD241B1574832549329639EAC0FB97010A5E23244A6CED091252BC468D6807219775E5FAD91BD58996EE945582BE0473F6C0C85476095CAAD9986BB21AA0C4BB753046836F5
4284D6DB463A46B7139FA6E14AF2938B61349439FA1548AC9FB8410A3DE2AEA63DCC97C83D63F8B23394958996AC7B51202B459C05AA0E0C591DDC6AB256B0BD9A4BFFA1D05E33A980F8690F0E67BEAC24EE8DFBF540AD1CEBB60C9DD75E914F1FC2
6DBFF2874A42F7FFB75BB5BB772AC0B1230A4865CBE2F129E0875B28C51EFB50DF231A481089978E9CEB06991FE06E1EDDC578F5E65B24B6C6DBCA5FD93BF8A296FFA024D08E50B55597E4846C1094F0510DB73BD0B047B05C3E7E65F0BE6327729E
C724A4BBE6F051A147BC356F02D37A1C3EBBDB16D3F48A3C87DFE6275E4DA189C35C2FE38508EA262060412360EA0587CD51678243D2C3E6301E2A4D36F87076CF8975A79633763BBA8206DBAA13EF3A53701D00FE9D0B813E1826F2742806C9463E
F4A93F1B5800A86A8EB1816483C58F2F27B70623E9C122F243C1F559D59F1E84903FD9267E66ED1D97CDE46965A32235392A280E9657333206E35388F749D54DA8FCEB2D4AEAB07D6847A14EF2B4D69DAF8E51D19A0DEDEF4FAE490327DF3A96F8A9
6DF172F1EC716D31671F78C988DE62A97ECEEDDC306F975D87EA8A758F2D81A09C96472574CACC70F1E92973C3356FD5E5468679113C757004E2B827FB83BD7076C7386F50A336E31083828456F099078346BE95CF6D2F2B8E91C45A34EF67C5BEF1
BA8D4A95784DB36FD5615B0FB42DB4EBDB6D3C25D284CECF5FF85D417FD76C136AAC433AAB1BC6D034D72E5C9A63FEFA199406E2D79C2ABBEDD4880BD35DC8A1DAC89757B3E0D9561099231236EFA0187802017E2A6BCE438D42FB321610FC854C08
F70A1822D7113919D168DC4C69E10C38431D1A9647A0CE94CCF0A011338CAC0459ABB741496754AC59E2115D7B267952317AB664649D2CC8CB396784B5C0327C40293A18A3E759897009691EDE49F656D94F36A3192C0C44FF9C11D36FE360E6D3AA
CF095FE69B8D77E601C53D3C074EECD1382A4E4737F4D049726D8CC60470745A123B41018F1268429BB5021989BD85E8A1A2DECE6F35DC0246C1FF7FD4AF754E57D1BA7786DA1B030A9046CCCE2578D664659632959D64725E379DC2BF49D41A5D0F
942BD2C7910BEEACB38EAD6FCF7269592557CB96255261B875EBF58FCDF602F26C2ADDC8BD6D3D5276F57E589DF6E63939D420DA77F8D84C76CA0410A0ED52A7AA63ECB8A1449EC7DE0096B0336C43D8C28B243B40EF3C1CAF9CF2D8668D7D6FB632
B3A7D6C38A0739E35FC0F5D53D5DE2D0E8C558172CC9ECDA68B50ED528945DB64379D1AF20501E426CF00D7A73911844D848FCF0E9C2E0C44608E989183599EFD28F61196BE0190E9CA504027D0FF3FA289A204B0141F72F23FAFC739DB9AE2D5D8A
6CF9EA020235515C763E6E24D2447DE009E1FBBCE46ED405D1BCE2617A62412DC283BE12BF453506BECA49DE590954D1243EEC1B4FBE3B29539E211E825B1CBC55B0DEAED0BF8A2729A01E1FBD66EC692E6636184653054867182F962BFF782EF836
1AB643A165B9E0BFCF6080D1460B3D7734BDE995C9BED4ED6DA4C0A9F121A8F74E67A2339FACBE6437C14894E8AC41958DAAFD6564457CE00E3A5A483E6923656E924A9A968002A414D13B0553F81E69C74F7DD0F6A587D9864620B6ECEA6318576A
6F2FE12F13C6A61D12F1651B03236C930A19B82E14EAFC5B1427555E72B2D70C72D55174BAC3C53C95E57BDD1602E7AB45829B3185A7AEE3AD4693B5B860C991E7200992E5572396194BF7F5A6DEC6D5D392D5657FB055269D4B8AFD7EE09A728E1C
975EBFAA1F8430F7C7563E306B051E19AB8AABF3F671D911259B311AEAE10E92BAB04B8DA33825A6CBC1CC37ADB6A018BFFDB8B83A5B3A40C92FBB5DC2B1BB4FCB35E1A971AEA49780F0BA35EA89D5C944D5CE3531E6A64E8AA5A9F297FE3FB2ABD9
D46C309EC85EB4131305F4E7165AC7A6D959435AE8A5A2894DE43BE3FCFE121CEA7DE5AF008C47ECB065603A8806B898734FF7B40030F11101FA635505EA38D1FD43D2DA887FF63B6BBD9B1E8C0528C007AFFF2E8ADC843443073C0DA0B534783F8B
30B43DA4FF0962C22F8C0CB7CC344DBBE90A78F6B4DD2A2B49E3E433C03BE35EFC8091B5E24F43A7B8EB4ECB28792834FEDEEA5D10E7BF8AA38F1A31AE7E23955295DE2B68728CEC30F2D2E3832E272BBFA74C3C1890726C7A2AB38AF3B41AFFB66D
B18390327086E2501E6D25CFC99DCAE90C7A634F67FCD9641C78871206763A6AE294AC87735C4F64B26EFF26D6D89EC06DD890E97BB8D4A443B9B97401B982FA16E59C55091C224C5AF14CEFCBD99994642A73EC6D1935B7F589810BF700EA64D3AB
5318BDDD83DAD8F20A89703DE94A47991E68C4D7311AE781C576A799CD88744E4672C8751AF7B550C9549096532635B98C501821876BFFFD1C207DE96028F0DAEDCAD112710A2FC238CE7E0F2389EFDCA6A6F19998AAD4DC86B73EBA2F8FD4EB96DE
1F657E2E3312A22693F248F93C498ABE5D642809EA4FD2983D0435C0041926F6438FC049940E426FD3348DD5728FBC51758ECCAA229E59F5C9BCDDB060E922E2FBA362903BD209AE1B917F0A24ACE1C03326E097BB25DCACD908440785546D6FF99D
9491FCF5F6861F7EA3D438FA92E6DD82E7EFD9BA5DD3472513EE8AAE5324EC2C7C24D4CCEC1D6AB7CE620F5BA97A833A1774EC4C5AB2A9F76F7B898778AEFF90C23EDCE6E0A38E42C10A4C41EF3F462F0A3D139E233E6EAED42B2CC7BE30C4709B12
F6AC4375C48A0F7FFA8E1813BCE3F8B8FC2D3835321314F95A46937A07BC7566FB964CAA84A4FF8EDC961C8B5FD89289E99F075E7B4A552BC07D3C98C2DB412DBA2030EB05C4A163C252118790DDB9F44AAD8DEB84DC164FF7FD770E67054E584AB4
C0584CC53BB640571D3DEE0305FC9C35460A61461A47BBEB54CE5D340FEB651DF27DD59C20D63E209ED1766740DB86E3E666179CEFBE8EEA9D0A58E781C7A9926728BEB90E81FDB0EB0A29CC7F9F34F2CE153F017F4BD3F619A8806DFD19CA68EF57
63E7434B8CD96857805825873C22E35A5F0F81B80C9D205CAFFEF92A3ED2B809BB0E21B60A810847B692068EBA1054F8BEF36FA12817B722AA99D3AFEB926D068F556D6814D48D8485644A0851BDCF22294E4A4EA1EF2A742C6E7F3C0B5E2FA4E0FC
E76B25019711CA322D3D29C8FBE4CA5ADFC9BDA8961097A3B8E074C48BD7B7A49F7E60046529AF512A1660FAE70559021297F1A6CCFF82A518E81A60BD28E7F0393FDDC919655942A9DBC802B6BBCB68C2A48BB66559BF01ECA370EE6C22759D5D3C
36A07364EE9B09D9740B25B9574F25FBEBA5932674A698B06DC9F01CFB4B5A09FEED558E58B7E0428190079F21D690989027AB9043E28F1F55F3C888FF35791CA25707DFEC9740CCA239E41E9DE2A804BFE3E60DE917F19355FAC1204265F8383842
DFB580D3A771CAE09CF69BDB40D8A00B18D07E28B2289251AD439259C8A40E3253F2D481495C090533C039A426D9DDD8662BBE85524205DE64276F7ADF76A6B90ABC550C01BA9794FF0578EBDE55C905E8DB24A7377A5FE6C81655CA4AEADBC2AC00
F3588D5A85FDB0ACE6C224B8C6FBB660B2667C07644A15B02AC8213BF7A58BF7734D45F530DC182B2E7DC0D833E51014E69C089D268442B7E6BF6EFCB141185F2617FECAF06B97B279C34CB73E154A092E4197C846C2B904EAFFE06744A6F2D97BFD
4E200E93DA4BF5AF3C39A8F03C3115FC70FAEE0E78DE5D08B4D1E010ABC316E02670937BC1BB3E757D1F92CE810769EA132C8452959D5B786E30183410F18E87E5557591A22EBFC411DED7FF4F8757E7F7316248BC3899EE193B4AEBB76D3733666C
B038303EC1596066B59C9DF660F16066FB4E2E2AE4330EE6F27490996A7F3B2706CBCD85198C498CB4FE622376CC7E8CAD77817FFFBB30EF239E316E3D315151832BD5A48B6926CEA652EF1AB68C5137A439CD773E5FE522BCE7564429E4F4E3740C
51E73027FB47DCBBDC213F27E172CBD69DEE143AE6275F8B303A038579AFC3266A10FED5AF80C2F88BE0E10FAC7C143D3D5D3BBEB749A800248AEB49B0D986C6E9EA5900E84F2FF0A9EC997D6142526BBB1CCAD9221F36A82A5F9825DA31029B883B
1C29DCC6893D700754A9763ED63E565FD5D68C89247D997C8C1587B9B59B339C4719CCCA9574C393A4F1EB85CD4791E7BFABE70B1D9845F528892171FC4797EE2BE915F765BCAF1EDB65FD2B7C4E1A35C2F6A50AC7985755D10C3C068351A4E6E946
018CC1CB6598A5A2257ABDE5AA4E42134FE691338390B44C3823682B207685E548020F1B8F324DBE4B8531A46ADC864D16A4C1E5525C3280628796129A34DF6DE02BBA932ECC7562356C38C66FB45DBB1A45905D5D1A10BA6C48143C86C29B83769F
6125050532563E129EE23B759465AC78AB1F802CA2376C8455D5FD1C0AC5835F098E90307AC925134628EC9F601795B1E8CBDD7DAC98BCC0F59C08479BD590B225F1FABBFDA3DC295F8AC8BEEDD37C6E8290797B6DCFA1D1D0B9C0B7719427F949FF
CFA845B0AD75482B6849335BD54379B520F875B2DC66F63A8B9B79F7E00AF58474C037E2C93FF402CC8DC79E955333EB27A081E7F893CD3964A232C142021D40705D5767A87053F12883657C25A7C8A24618CD668971A0DB800BFC2A7B0971D7BACD
7B1CAC6950EFFD55BCD019A4FEEE7899C7B4D63B3E05A2FF66C311EAF0599E5526541848AEF50D915DCAEFEDEFDDE15070FBDCBC23B0F98B75B144A315A60FE78A03BBC23EA33C4A304ABCA885595201A77942E254B747DC323F4A032A1895F77BE4
84610AE326097064A3B7792843FAEAD56AE526B30692E97A42EC99B0C3F93E8910734C32EB4D7823FD760A4DA7E6EA76D91F4268161B7B47528F71F330C82A361D1ED77458E5F67748D5DD54F326CE541CFAE5B17E9D7B867477D92163EFA4944C09
B4037189A2307D9A0CC9D78E02AB581649BF0CA4592D48E1607B851CE215FAB95A190BF220AE76517349AFBA879979E9DFB9E5E3FCEC5454E94FF3E9F7A09328B299ADF64CD897CA32B8647C2CF6CE9D323CC28EE10BE6610B08025D0769C98D7EF0
F1A9F52CA02C5DCD1F79552A895749F3339CF26020C3AAF5F66D4CA943EA4B4E18B78743E94F17AAEF29B1E8469129FF5DE2A957812C4BD0DD2B0FC50545B0E85CA0301DBBB14F785E0AD66A1BF55B8EEBA5D86570DC7080345EE0EC1241EAAC4CAD
991C4DA475E08AAD24A176D0013F41EF1AA51679508D5D790ED53825C3909C43884847812BE5DCBAE053C83451996EB44FDAB5BE4E26F27565EF2D8812D28539970CDF971DE48B9D165ABBDEA360AC1A1B9625501EB08AD83B574000E8202BD0F10A
5B447247C75E4EB2BA50102AAE6D542EABB5B20577874D8F55717A7F24AF9ADF66C21DB3A62F3CC6124D6A7F0D5F63ED807610F3FB01AB661FA78760EBFC674CCA9A4190F6EAEBF1681AC38F764585D7B63CCAA099F31FF7BBE44E26068E5C065A5C
C3DB19816444E8FBC621C79B00023810D800B55FB87FABA1CE02628DDED7165FD06EB84A5FA7489DBF8A9459F59BD206697C0D80B39DA4D6884B131741ED6AF9346CB0EF98C67463BFA01C2DC32EFAE8839D90FD929B875B9B3EA80BE18F3F292751
DCEFD959C0E381EBC0AFDEB107AF0E5DA7C28EDAD872DD00A991A3013C7346104AA6D014580CC6AE3F0688B1B7D3AF6A5969BD886BD169F97E51DB9220D3A3C8A039BDF891AA9676EC45F651719D40157032231C869E09BD3327B5C9950400325791
116CE38EDB84001301DECD5688D0F20F9BA018660CF03ECC1809219AE23635D44F7C224CDD7D1D84503E1CF9E958EA668C12AA5C5F5B164549CC6D8F33E002AB8DCA970603171DADC5563B0D4692E36A627B7F9713DD1C23562E959083FBB3763AAE
3A6A9B5725233B146A13D23A2723441C626F674405B68273B6F92E8122B56A0624AED69A064C163DB574BD8D9B853D4B2836CC0017161CC09C29CC5D5E81638A910E0B0B08E03A369A2BD97CCF4C92925FD2773DC236F92699E08704E980D947D46C
F6E12FB2C68DEE343E43AB650852086226944BA7C64069DCE959696C5C9AD33CA9723DDB4E709EC62F9FAC2C76F5F16881ADB0725E70FD24E8F74187248D7A209D1C7938379AFF14D4D8724E67F84B5656B3EA8E5A7B831255A479F042EC62340C1A
3144CAA1C4F19CBE7A66329C213D451E18A29E89D5255D5BBCF4A538D80E0BEA16FCE03D2F79D939DE3A2E0B61F8FCC44F072F672B1890143CF52E0915A9B400902F9C823CBC7D626E4871A23F1E16047DFBEC1EDB8D84788538D053AD92E8031E10
076A84AB9AD5642C8EFB7EA23D3456816273557479F004525DCA5602B2793AD675B30ECC2CA921FBA2C77DB6E66AF3D821517EFF0A645381BD1EA48DBC6B9459D25E7E883A14DB1DF5A9859C25917E6590D9AC0A8D4FE1987D70F5F6FBE69B2E04B0
68E041402CB6571DDBF6C82525E4178AC96F350A5932A83706CBBCDA9525DDCC083560E487D602611C5E4B8F61779A61DA8AFFE64BE55E3B8332A57021D96A9FF1D2FBCEE85A0C7AEF2E808C7BA49EAB108EC7B5528E1CBC5FE21A63B6749349FB8B
217659EEDE0C55827383642EDD2C31642DBFA612AB2D66F66956ACB667389428D9D389DFF7915D34EB540EDC78E65D1DAE61EF6653C6A4DA98469CD7B2E17740038BD81EEB581EA9632C02E3ADE8EF0D836AF8A157A8F4C44162E2FA2699DB9560E5
A88893D062A77848D37338E74A7860488CF0AB80B1D9B43BF2323F552317A4F060BE1B6EB11202BF2F578E32CD4B7E2CB856B9DAF592A769F676E5637EB82B4B6D5F3B8BA7BF85845849F09B079E09B8D1C5285CD82F44E2E9E99DB4D0E9FA938115
77FA2A336E291A0AE53506F8B3D56A21398FCFD9A24A015C2651EC7A3E17B983189F23335F0F128A2CD57B3BB61602F960CBE2DD72D2CE3FA662D9E23C896625ECC7FF846D7B50B705465943C7666222CF584C53F946C90A2EA7BFF796562D2150EB
3B1067F90325A1A7A066CCD681B5BB684D634CF180F47A0A27DEA8B47ABFC1A2394561E548F13F52E0711F02AE6616075CD6AA1F733C01B761BD12EE136DC6B6889F09AB4F82EDA7E5D330B26397090298D52FB1924F306A1889DFA820989B802A9C
3D15C3BDC44DCB4FD5A14ACB90A947C080BC24CF0704683AEB42F9AD8C2726F86E361D88A363484A79CC9AD3AB8669A6912131DD370E21AF95EF7C0A8CDF176D34C20C6CFEC8326457A0C9FD55B80AFF3C8D5AD8C1D77EBF50EEE85317CB6D81A34E
0B6636188E9E522FBC28DA96447F7F93CEFB1ABF4911F6B555EDC52014EFDBDFED9A0D1D47F30358E68A3B8EA7C4A8BB4AFF35399EBD450FF299084E48185DDE26B501A316A3B23B4CF7CB88AC036CA6009492C334E9D0D67EB05A5516733CF92F31
1F7F19904C20415EE9BF8CB7C8E0E3AE9924A3266171522C3CE65869FFC07B0AD2C3841014521B8C2E8CA4DA22B32FE021F75B8AE64D4AEECB9C43BEAD7C22549CEA7C6D32BBBDD356047FDD4BD7AB13C606C3EA1DD6A0C8E1B28BF0D2E85E6E606D
E74594D6EFC9AAC9250CC3A64E6468946DA78F9C7E1B6F4765EDD46D064983FE8424E3677627CF2F1F0BB56EAA5B828B49975F11776E4FAEDEAB7ED91A26AFA542C294E11300B358B1549567CD3BF779B81A6E11D02BF40B33F09D66C2521F9AB5BB
FA9DF74A3C5110FFC03DCD42FBB3E875DE44ABD5A33E9F61786DCEF5A798CA54E83CE5C64B7A397FDD411311D17A5F5AE9710212795B3894252DE391EE65D6F28709BCD7E77161E29F7F57A14C9896C451BFF6ACF9CA130999457B8168B1C9984989
A81AF32D9B0574F63F6042288E647803C9CBE25542365EC4CADAD2A495DEE1AEF93BF11F03BC665E74FACFF26B622435D4243AE53A7D864F2C9EC76B7B51B07F49ADC6F32C77D77DAA5358FF27D10AA16703E15239698C234E014D10E08914861EE1
9C4F0B7B6076CA4A4D13E17708A707FEF70321D29935C4AB38E189F05486F457B5AEBA634A65784907BC12170EDCE94DA57FD4860F4BC669407463C6D0666C3D24E17247C738D43FAA18CC87635AB07303DD83B39B911AB942DBB08A06F6A0FF7A5F
1DE655DC887AF3D9F7D6819FFC12BB8F2B13F208BCC17BD39C5616DE12AF4388B8BB5F5311D2A3D645AE6FEE9D8053593B01653F026A185504C3CBEBFDC963AFCBD90A1DD2BA61FA4D5E4A384094A158FDEB63F958AA8D8CA3F685BD83D0368384CB
3F0FC1B0B22732C4A9A933F173785884D44C93A0CB9CE7518515CA49700419DB52C3148384354E6966BB1DB680E666108E4631E4BDA6CA8E1E003B02B9970DD7FBE452EDAFEDBD3D683100A79588B7D6D04BFF75FD6A5BCC6AEC06A251FD36F9E58B
B5CEAF3A8DA0AEED24225D71EDA4229091C393E271BE867C86989892ADBCB499DCCA87D9A6F120FADD93FD11CECB555B3BDF6CF5C265F9E4C720E462A75B1AA79F68117A3EABF0135DC2A2D38D0112114E030E43A091E31494D41892611CB42DB787
602739CEB965B859ECB0BE676FFA39042C61E38720E5A7B75CF7854CEEF853AAA6563CC8AD1DEE5F4942344AC6BC012FF9F21930F39CFF8D324A5EE20B9B9BC57A2B9B10BA40EE9B48321A5C231850ECB7DEBBEA8B245E215D1A74D849E0A4F7EFDD
C365ABF684DC0B4CBD403B4F0EE27D33D6BB982AB520C8E3B16B4162421A4FD0FE6AF0DE54C59A98A072FC9D03DE51C4A4336FE9F157827CFC1E8DA934451F04D79E32BD3C8B6006F1BDCBB25E69FD6FA41EFAD12BCCDDB1E7A6A21E4C5B66FC6704
FDD839A1E7A8AA97811F6000C0F798F19EF2E2193FC22D7A9E25983103415767592F587593C8455A7D1C2CFCA5D0AF11EAEB7CD63176D47B9B53FAC5E0215E86E92D4D82F06448B59E67A2EDD033FA0A738D32B8D3B8F3DE67519DA6431E6ABDA86F
C320BD84328015F2B2E8609862A50112384CCE75098D793239099C37BCD11BCFB8BA722698B90CE796C32AA233FDB7FC26D03AA84D4EF8C98DB72C8D08BFEA8A6C6BFFA4FA3258EABAF678AA3183BA6DC887A62AB6949D684AA58110272F2EB81C34
40A87FD21CB74D20669BE08B671FF35E31BDED58F03973BD07AA22783B7127785F7C9C7697F7123274611E189FE37377553E1C3B82B7A591C271699D18929CECA438684ED96EA37792C3D67F95FC6BA62DB7CAAF77F670F602215CEC9308BDB011F8
9F107159CB02FCC3DAD745784D1CA0D8DF3E020BA03F680C53C673A7EC3277AF0AF1A4008268B283109BE94A3BBF8DBE30303BDD817EDFC807095274CF5B6BA21B47A2C431ED3D6F78DA1283C8DC54B509840C3ABAD3F1CDCC7FEF0DE399A7B09DB3
210E5589F463D3EBF615C31B7298C66B66FFD0B65D5A4CD7E136407852A96F32EFE9EDF8977B3027A9F6D682EBEE587F14360AC4B888B122558CC1C62977D0386EE667E7D1062B90B487EF0E710291461427FA3F9BDC7A9FE0AE549177907F40FE77
A0ACBD3F67F8B017CCC8AF4F5C7A144FCCA8770FFA6C2DC1D3F28D1C44E7C6542E3AD29E02307966E5B38E1353C02B9EAD3A25CA7DC6CD443C579F23546A608119336CD7A36E52DE1052C267CE6604CF269233AE9086B6A98080A3F516D578BE65EE
FC89B2DED5D2A498BA6DC69846885B589038A06F808A12B5D6C7F156BADF6BCC93D1AC9E34F7F491C69B2E4463B530CDF248851EA86752947243E1FF7C7B3DB200E617EC131C437CB3856E487FF169E9F00B2791B4DE39BE8C4FEC25AF18A96E78E9
5F2D645FDA4D40A1833DD2FDFEAA0CC7AC8FCEE4623E48DA1F0F0523008C56E1DDC919F72FF504823D7F4BE7EA63B81C4EA0BE4E5B09A4071D55EE347C82F80E45367608CEF8D83AD0D883325AE6386DF55D2EBD9D34AF2285CAAA896C85D213E6F1
769CAB46C220B48D4F16F1B5E962BBCE9CDDF8DB0E214E4E5545FF91A27912763EA6B20794BDC08D45E6201DBCC120293D7EA1C27A43D5B2EA7EBFF29863827A4CAF663E3EBCB2DC3CFC32804E1F201A85E1C492DBD8F61A4C4437B9E46F857CE952
95B3979791D24CC9A91D57E68C1C830FD3370C522E7A1E17E0A520E1D7E950B12CB5684D4EA72980923977E9F5265583191C3C9B6923BA328F60BD14F6E4EAB800A56FDDED5E27A941E7A8023E07735AAA7F244A9396B1BBC41963C0D80D76417EAA
D265B3721C9E8BE4FBE50BE1DF92DCF885A3D34D5019C88E6252EE0010BC8D975D93DA393E2B0D6A7EBA595E3CF511E84967A4CEC6FC5292A95BFC825DF80EEA7BF626ED14F1C69CACFF973728334EE6EC07AEBE14F769DEA101065207D9B311D93E
DAEBBB495A8CF21896DD2074DF4EEAC3CF934AA0F5DC04398B49B43E619A91A3275285DAF560741AF088CB5313AA026DC91BFAFC0889E74812406D691B856A5E9EF3E2FD22292EAC1AF52711A359C7A89D8E9E0334F3739A40E7C7529964F5BDD69A
0132B40171C8749BE01DE05B2F9DBCAEA8108A2649D2BFD3CA83FC2CEE53FA3FB2D7B9EFA78CFAA252881B8572D955711DE100AC27AF0877CD2C1C89A04CBEFC72B40099C97B1D67F4E253D866082E9A5B34F6998F97E2FDCAC2756E95C19E2497C5
3ABC56A2BF592D239EF7C0B7A1F80125824DF4573E84C68DB8FA330BC30193D4103C6307302A802702A1264D9C62352A2CF2DB081C005F9BEDC5AF0009B4091C585B295CBAA62DDB4E38D9D7125A0967428AD85E40B32B0C0CCADB597E64906C25B6
4B8B73B617DC7305282FCF878CC5B53D70F0DEE9ED0C93F93EE7EC897D3DCD27FD0EEFFF40045F62304796A853466C71E506B061027F1672E1AA768D18832234AA55C1E443C06CF914E676DFD9E9D5F84C5849EB44BB1F88ABC9210C3FC52FF084D4
2AEBA54FE4AC0756FFCF0E1E040BF19E8C46B6BBB00F1E11A45C259B582C5C5BA989A4837C66BBE7604C9580910F67422CEE3BA0F7DCFD65CE890B74191ADA59AD0EC1AB9BC6D70CA3C33F00CDAEC7162F78E710AB4D160B857AFF1F4AA3253B8A3F
6940D5EB2D8DF2C3F2C0BB9742272ACC5DAD8AA300456CB2661C9A73386343E254C2FAC4B6DB8C0BB9D31B6213024CD922F98F5F3CD95FC390BA8E00E90BA2B0BF5ADDE6F92993FEB38A0C012DCDF9719F417C42752609F75F08304F6523C39C8D19
20CDF5996A9DA6A3738837E08CCA59CF3578F4AEAADF5C4BE38D554239A943E3843BDBECDF672A00A958F602AA5BD3425FDE65882192FD08BA5617B7C3DCC1D7BDCD63FA8EFB8ED2131BE3663C9DA39EFC38915DE375C859E622F2111098DE3757CA
51DE48272FBF943BCE16EB04FE1CCD1556AAA3ED849F039514189A2ADAF2F4FC7FCD6CE55AE514DFB0F5AB7DD1ED0B843FB3B07F1DF46C428EE08135D841BCC0E8E2290E265C8A8833130566ECEEB66FCEFB99A969F922928A5D66C62C51B30AEC29
D6B2DA777926A0E48799E84FA51C8F05E48274386D65B66315028E785D24E1986B77DAAB2080FF63E35D0531C6B4801197B62076BEA04C467AAA1D5B5670952E009DA4ACA917EB9F9DF3664EEB9E65978223E500F40D0BDAF7A4944FC0D4E161E5EA
44EDFC22649E1D8F9A9989D0918311F0A00610ADADEA56C327E76F8D6EF3238FCA7070473DED607FEAC3E93844FB9A86F0F5B0DC9037811451825E6F4BBDF999B82C192447AB81C6C7866504F01E61919531C36E19F49C5C5C05D4880825A4694EBE
5A83A79FE04E052B6D2ED57DC21FCA3FF20384B475D5D992F521B98472C6F57AD272D9EEB23E2AAAC71B6FF2BCEE61A5E76CD87670E707C0CB4321864E9BFE1BE6531C6C470456D93C3FF55482C9B72F62A8484A3DB66949060AF110CCF910A75A1A
BE1380AE1AC4B58312720A6C915E75FB68068FB32FCFF1028DDD4BA62142E6A262A6D1B85C875F1B8647700496E8A1C27AFBE68A568400D6DAD7402048124719A75D322F118857F9A0AF1508B49CF9628F0C71C6938018951ACC249491D2E47104B2
80D72C36B7DCB5F0D5ED2E25D13BF3B958CEFDBFD028BF4731DD87C8A2837015723771735A2B4E6DFF4A98B678D036AD780CF3344F18312096DBD57538C6299EA830FCC0B76DCA2AE3686F7D7AFA5D89D726B42AE0982E1697013123260E8984206E
2A809B6A7718D2A874855A71BB6FAA18163E248F87A9D62199529A507F66FB6CAE36441E3E7456D0658654DD64B3669D0C33E8D051EAFBB90CDF87A16E4F9AA33CAC19173A96ED9335D8A5047572C17BADB9100937CBFC138C3A0F2EAB77EEA79CAB
CEAAA0D162B735B16B0A72B52D57227892EE10FC16C9D6361DC918ACE41DB514E15A1FB0AAB41292691DBA3D105FFA4955427005F69710100B0D30DF02518DC3A324363F45F29368D8AEE2D31AED369B1530D533FB88B85C770F193BE2E0DBA706E8
248DB8AA9CEB0136CE4F61708F22AADE7ED0974F0674315855B92FBA9A8AE10C7C7AA0B75A6D767A3C5EEB2D8C0C00D6886C2AE2359AD25A67D91EC6D5B05686A2EE2ABF4664895D22080DE087DCED250FA05CA37E7D0A6F00BD65B922D307717339
9080822E3B92815E8BB114F2B296937AFCC3C1959747F4278288F740AA97C11366C6F413DBFE1880B27813B7EF00CF1C58DBBEB16E92C4DF86790843A153A3BFF0D814E335D0DDBC0977BE98DC2E85472C5D482DB5AD43DDA2D6104E100ADCA5B1BD
E3165373C59454910F79371106D05D593814AF6478822CCA4FDF7D76C9DDF18D74A23E1A63158ECACC084CB35B58853CF70C8692FEBBB9F495271E0E9923337FD0D54247DA0C7E427A862ECD81A736E8D9BAD32D21A59D0EBE014A3FF278E11276DC
367134DE8D5F71354C79C5C4D555B22D5448E475DD1EE181914BDEF152CEC1A778F54330838C33A1B8B112A94DEF41139174DEE877D949E2B3139B1007445F72540B174038AFD2817DD968C45BEDDFFF5DF2A33CB7A19864A66F77DDF5A1D12BC51B
B821AF6AF1980EF850F44198BA633D86B929586AB67812033D13B404918344869212CBAA0931952ABC98D6EA2BF6C9D38B3D7AB7F54BB50DE36AA32ACF0EF84F57C8448937EE5BED1956C075E8474FA138F1500782EA3BB843430D8AA31959D2B0CF
A4074BB42AC5E97E78A0F46389A07465326845E9774C181BDBDAEB9B8965EE7EC2961A0FD8AC7DE0D3A566447BE18AABB3C8695142D003B00A9FBE46CF68C80EFF5E8A7B035D241AD41FAE4B36B50EC2846DEF1423B6B1DB604EC93202BC27A994B9
83D28F5218CE40C87DF177950F024FA0F582117A10A8BBD8353579297B4DBC36856F38A8512F00CE45A87426F92ACB80AA7307A1C9787439066A299C7B06DE742112584C07C889644FD124325E9AA58AF7CE7FD3281FE722D2622C3A6DEE1F9A249B
787F7B16DABBB020CE3D032076F7DF160E4F211D81AA573F1C281D0E3A558D5AFD76DCD00C050CFE4EA3A86EE9048E1839C47FF3FC7F364FAFFFC0E3F084E7684CFB80D420E6AD9051D72F2DF5AD435ECC088E2501D29C740584772F738B71669DC2
84C62054D6D85CBAB567D05D6B9961B055AEA6D9178E96CA88348A3286C86202FB1E0E0ED9DDAF70110818BC8FC511F076A05AEAFF34A7558B5D3104928D222C24C27B26B4597530C9325FA87525E1B32287D17243015393C1B3E04F8D2F1516B77B
D4CA5AB9167E79C3C6229B808368E0A4E7720790727AD8CE358331BAA060489F26FBB8FD26D084DC10B5B4433306F3394BAE24EB0B82E7BCF3250AC88BD76569FBCD8750D4050C4FF303ED5F9DC745B4A0F6254063AE8D6F0E23F50E6B70D041617A
B8E577F2C150DC44619AFA7D123B500E6619C4006B0C0E040D46E738004E959BF30E98D8F5EBDFD464CCFB628F524C11E05D511343840C473A4A64AEEDE375BE98CDAE8DFCE567362B578865272714D4CB8F76AE0E3719C44AD0A6EEF46A1802306F
16A51588187E129557049A2E1B92E9A039443B4E503961BA8D9368216A6CE2E047612B16E7E64AE01034190C20DFD603ABF27EE988638E2E31CEB71632D731FCCBE351F9925FB96349780A7F9372B55C54A0E991FA8185BE05EE6436F138264684DC
DDBDFE3725383EFA8E0C743236AF0BF5D81CDE111054C1B3AB4DFC1C887D8E85364BB567C1640B00F1661DD3743EFFA378940991731BB339F12FB29A6F4E2F627B22D32E043EF3D269767C07545A155798A7E45CA064F0301E87FF0C935E8B44CBD8
D2790BD6486A623407001F6026F98C28CDB638A5104E775EE7729E13B40B26C5849752D86936251D5BD9C6DAE9E523536914D2D3F4BA30C4F85967643D7875A44C8AAD6A9D1414C50D49D27AC2C823A34759043ABB95A30BA4DB3D91CDE9A9E81EBE
5FB12E4041C5483FCD2B90902290E7E346D1F41D709BB814FC2129E60BA8372EF2645DA7DC35C3EA9769074FEBED0FAAED282A63C12F7C2696FB1D99181D79595E68E8EE89B7FD513EDDFD4CEF7E2ADD5FF4433197EA575D614F91613A24E9031180
81BFD04FB4795C684A028EB4D7F912224950615DA2031DFFBA502A1199950B767A65B19046BDD0FCA677B0F7CFD38D254F711EE766840CCB2B8A31E435C72E8AA1A97144152B9FA50E6D517E1E3D382BDFC563F66A0B6484777477BC913677261B81
96B98D2A38D2B6ABCD4A4133A7DE8C69ED7F226EBF7B3191C2815B57EFF8B96CFA3CADA596EFA0487A7ED06256C454B143EE4FB85A7ECC4A171042F773E65D1ABE6A467771EBA668C4024CC2A3040768E7452A5CE118C9573C4C4D3B2800579D6A2A
DC012350A5BE48099D32470987843D2A2D93966D6BC1B89BD2943B629B3A027249DF4894A7E5606A1754F95257F853A13885A30DA6B2D568284657FA91A8B8DB56AC56B079076428ABF88DAB135C1075C9E32153FF97CE6EDB6CC1ECDC03B08D02A5
1180BC14929FFA387E596AC58ABA37D37FD541A228F934B8A2C2BA475448B6157D33370017FAD34389C6CF44120FD773B4B27E42703FC58CC5BC3AD8B6CF528A13F5A8981D1FA33D0A42D3AB886A9197403723E660FFDB2BD423700A1067111EA12C
C90D0611F4F95A25D594440800C9169626D246224CE2DBC36CA403170134486171CD71E475933D2145BD80D82ADC554ADE1F371015FFE5677833D5734985250AB9C8A7A95B6BFCFD2EA016979EA6E51F180F8DA157CC07160C27EB6C6D28527EFA8F
8A195CC68FEC4F546B31566DFC9D6A3A6083939F5BC406D91DBBB2072101C5EFE52AB20385C11B25D07C9C1A31C9CAD204698C9BC562E13FCADBA19F827C9A1C4C5981438E23E2EF73419A86A94CD77CEB050EC605AA80F44368DADC66F7254514DC
C7251AA5DDB2DD67D4DEBD4BD366D94E82B81D733FEC49EF4F28CAD2620FA17031A98EBBFF6CB4133E5A5D0B5019F96175B64CA548B3B6F6F8DF4A15895A555DE0F67E65B2D41ECB05AA3D18970B57CE8F247A42439AD387C39D199451E8B21681D9
0D8D8444565BF825AAD70A3A477CB6D50EB70E0111C7BA1924A5A08BDD8C1922CAAF9BF3BE360902023F3FC6F7DCAE1C0634DCFEA57675358CC4D43DCBD5EF50C80FF0D9C10B78949BFD3F9FC312B08626FCA238DE458F7E1BF0BBC836EAD1A1847D
0F22128A8EB8A5DCDF289C38310E3E238ED8CEE1935DECFA653B849122075C48E92196FDB35868C0D6354E01385803F5647CCC541F778479E6ED66CC6CBBF4E1FF45F27D2E6526B78943C2A3F680E8FE59DE34DDB6DEC398553A8A94CABB3EDA4676
BA3852673C994BD8AC291B0C4B29733D4F6E15238D7819183224A8FF2A7127014AE4088020CE59E4BE555CC75BA9CF7B58FD1F03420F1F00FAD0FC208964EE53292454F27162FA6A7F1365456C77D45DC10D5C87CFD279FB350463F6FDC545E0F257
0EECB85124C3068A15AB525F0272E735622C99ECC1ABA4F7127226BE7D79E78238FCD3D5B5534B05A7009C94778F489F60E7C6C04DE9C1978203C7570ACEC128929F1A1E08D72203CA2E2317C4FF6074CFCB6A7A837749F72981ACCDC421F3E215FF
F2350D12D694D3048B6EAD11ADC0D38F738D1BDA09679A73F45367A14D0C2E017A9411BF924DE064342FAA897645C707C3838C9B9D6F96D464E4126772D32A15E8C412715C7D60C70A961140353DA59A5A6562CE69E4B515DBDF3563217AC01BE2CC
49227B8B45BEB81A0557D0BFA33D6C1F6534AA3FDBCCE47EE8C2D38A06B979C4562A38E61D20A824EE25EAEC6B6369F1A50ED388DAE0CA76B9E68CD0AD3CB8FBF91BA30B815AF1FFC6888B484B7B8ABD283A21ECC7BC61A73A61E3BA071DF774F5CA
DBD5F801F307E8BD84DB215509A3AD8AB9BAF88131BD423FE4D73F5D36E386DEA3DA766F1AA79D92BD91E37A1B2A04E9ED5E76410CEFF67E62FF7F2A8425B8CA67E41D24B0E7CF5C1074E20B58CA1025A54DFE2ABAB2465EECA7582B985B0B421128
E5AFB6C00CDFE499E24BBBD50B22DC554F43686C23E74EA17DF0E41B21837F19960FF02BBEEDF755B6297C6D9A7AC96EC70EEBF519C695B8A3D2BBE1C57CD6E834287BD4660C598E19D4B943741B9AC44D60822A24BE0F32365D808B16EE551EAE02
68399677C4545C7214FC5370080D3BFB388A850990D8DB97DD3849C46187E3AE8FA8D77B66B86E828CC42D1D0FDC3FB1B652F608CC7750BBA54D4FE6602DCD880AA0918B9999B478CDB73CDF2A4F976EEDB9149B3645E1DBAF054B08A305268DA456
D7432EB5B59CDA03A7B4585D634DDDE38F283E853061B0B6AAB335A67E35925DE64A3E4DB325392DD3720C587716788E2A1F03C999880D1E20C543251F6021EAD14C6D5B23D765A1FB836885F7854CEC01EA2AE67CE6FCFED20AB4C66A6316B59781
A971DB36940DAD29F8B38E3093879AB0A643F6AB19BFBEB0943D334466CBA26672B86F3892FD2BAC542FDDC5DF6A29A75BE055204F8B859DB9213FAF1793964DF2EF6717DBE341261BD54DEB46C4AD0D21BF439A557340D8B578FD6DE479BDD7BD46
80EC0D73DA59D89E5874F8653225E55D592046B9F24E9359D0E2EBA889BBC9C7E8FCE1DAB0482692E8C4487E1F75561ECC4FC71E591A9CBCF9E61987EB2A4D29347E5678297CC16E9BA8CC06EDF593A71F240A54C2E0D2CB3BE0588057E52F81172F
92BAC46415A4C3B83EAF5DA37DD8E9FF5DFCE0A454DB3470D30FDCF00569B03A48C2D25B111902E607967444A93ADE93776B94AAD1AD681D42BAE0C96371A027261AF8FBDC27A721499DDC3CE277B9A19149406833D61C0FA579A8128A0EABDE0DD0
C24679E8DA08109EDB429FA84BF73B1BD8BE0FF313B89D001B8A471D489F4CE9CA7CBDD9A2F7DFBAFC3ADB587959D05F2CE20697BDD0F55F13387BC762F9A9A9DC34E468CC68C162381BA9F8245EAFEE0F5F8C463015B974513B9DE3AC74B833D7D8
2614C7917C71E98D9B788E162D8D0A30978A130E378591B94CFAA9F59F0480998368814118E2C34EE9D13FD897D4D04908BEC21013816393BEEE0FCDD49D4A22A6F51F81546C07AC2BFB9D84EDB11E86C8EC9EE3A360C6D8F75CC7F01E116DA0A939
E67E7C4B662F9BDE53D8A333B70C2965432B283543602236A276024DCEBA9918806BE3EBC9F1BEC1634CC1E712A827B751A7360A694E34636A23C804906E087AC47E86CE23214FE56BFB6551BC01D4A29D7E884EE1CDC0574DFB27C5568CD0AF3A76
C3F3269B57DBA952437D32CA600F4A060276B2614C4615B30AB0E32A306F822A51FB657E04B526AD5D4999C58A0A1C4ACCDE4EE26B01AFB2131A574DECE686583AE2B11968C9B07C8ABDAA23D8C84F8E0197DBCF5EBE468869A01C46042C00E0452B
FF2A1567C269511BEE6E2ACBBC1F2E87F10F66BA2470207D076B5B678779278FE08D465D5F4CD88BD72177BE03DDBF908E7BAF0A8E2F8972427A47CE65458AF214F7075A4B5C5018C97F90866FA582E12D6B964D1BDB3FF6A68AFBAF223C0403FC0B
7AA73F675AA73DCAD8F453F2CF0F824C9726A83B02A2547DDDEA8FB03F750AD2DEC4998B26E7FFA7EB4E4A2E86BF22B3B4AE6081DF880EEAB8BBDC24BD3BFE0CE998D4CA38720047BB8DEB9CCD0F043FAD7744914D331336ADECCE945E3A15F8BB15
09D70715709D71C2C90092B61BFB42EC146F6FBBEA6A6E48A7EFFBC029E930AEBCCA4BC4AD69AD7F8865A083FD13BF3A60361E234F00E306C828A144623D8E67A95F6BA0628CFBB14585D19E9CA389C0E21E39CF20B64CB8E3E2201EE09EE74F7C6C
6CE4E61AC2C563B89563D0A5501F2211594C2AF562FDFB6C13CBA0091C16F0C82399977691B31A09E752109D2E735EF2A91018293AB3B82FE29C0593FE137A7FE2F62E745FC213AC2D80A6B17C3D350FCD02D206EC643D45F4DE6DE577A362649E44
E2D12A89622C79A3FE647441E624991723863068FF159CE5FEA1E378C5EC84561F0546E7C05AEAA2A45062738351BAA88AAB800B1B808E8F23C902559A2D32363189098C77B84C15BD56415B3BC2B1487AA2C0D07A166C30E7CADD78CBE24F282A92
1B75762F4E7F1EA52317FA77BDFAA09C067773FFF09BA3CD3654D95B673C1166B7B89142BBEE4331AACEAC19344F03706AF0924A07814D5939A44E09B1FD24A6444466AFF7507FB1C5F1E4FACB95E1F1438F8784A9FBA0B77EF79389C2DD81D48D4C
7F3839080BD418EB9B89F8DB77BC06A351468F6D9E320DD10DE82B137CE753C3FC6E3F55BA0353F852C7D67506DD5F78757573FD1B5D0BFC8B36550144C46614DB0103665BFFBD61144BA5850720C9CB900DCE20C3DC43513CA92DC157F48FA4BD4D
590F77E8F2DCD4B952F1525A7D2489A4FC133C0EF3E07838D2A1663F00DC0D3E502060A076D81C0F516A1EDCBA0EA6C72E22ECE036256648179D741683A57886DF74AF0F2AB588C4C46D9DA76B6805FF4FA0E894F59D73FE8828C96ED53DA7107E70
7ABB86A93BCFC50F1A16657A5D81F6B0345EB1B771A3DCD06937F90023ED58F4A035E847C40E9EF0839737D1B9C8D86CB8918A3778369C435C676679856EE0A93891A1FEE1879B6E0497B85D6FADF440A502266B8FC13A403B2B4CE4776C32B5D127
DAA73E650DF1095A8C614B512186536DD5515AC4407B58734406958D574CA359E18C21C5B6451CBBACEB68A1BEA190CD445AD10328A72F1C7BF5916E581B6F513F18B0A0984C3DF712961C97C5081925C474C882000A9BD359C0088BA3DE04B62F22
5DAA8D2FDB4DE6D9D81537C775D02BDC5168845B690D5CBAB2BEC70C216A6F6412212C59FBAD51E123267262A322B4782684E7971835AEAAA0F3648EF3AC58774AA1880AF63546EE66E7BEA0673DD434B01E8901EAC25BA2AD455F419DBE5E23A055
4284D0BDDA7DF63DC109F6007D11E26EC6377BEA46D051D3958F53F26965ED791FB7B9123C1022A438ED79D8C4E2E977424CD3C856C68194FDB0C57241CEB7668A77A4B02F3C71324DB4546EC98749BA7C3F6BCC18AE667B549EEE7959E4622ADE5F
92317F99FEA81BDB4F0C31B643D823F6516221B1CFE2287D0D5CDEAEE1CE5AA3F6006AC7D2CC0F6EFC07B6A7DF0A218B9D8B49A90FAC9430C1173C9AFE6EECEA2D1A303EB2FB2F724DD406773C659CD9C57BCCDE15691E8A1E8D1CB3B23EFACEFD48
42977654B593DE042E829237F9851932A59DDD4E578B2CF2EDE51F8138A468E8BE44D8E54345D9A273DB7E4A16AD28E91F2C41B121DCD9173DDB97BDDB9BFAF2B51553F2E524FB5E9F2D5FDB260296BF0FC42990D2D7674A626A7E25B4973F223D98
ECC21D349F6D05D56581353371EF03ADC4793A707FD1C68EA36E87E639BFC35F1DEB9B0C1450D7BFF95D237F89390FFAC08D7538FA7FC8CAB75F6CECE95738793C132010E179595E17903693AE1DF327DBF829493329A245521FF9BA8370FD9F3EA3
CCE1998FBE81B813F4E75C7F8E0D2DF73646E79BD56019EC053B2540A4E6AD00BD4DF80D70C81A73DD7B6302CAC35795337D8A456AF512D5E6237992A154C7E1D3855E56EE1552DE983B5AEF1380ECD84BEEBBEB7E8A9082F85357BE0250C36CAB11
3D29713942FEA69A58964B4CA44CAF4576246323AC8072F081598F44C038ABA960340737083B1672052C8E49BA49A4F461E5CD95FF18A11122319EFFB7FE8C4F0B5010A7736574DEFD5F80A11890A32DE776E4CA9D43CA2699C1EC1A26AAEE06100A
15B785A061CF35EFEAA33ADADA47B08C0D5810AF2E5675FABAC8B9F2ACC3A6834B3E318A834BFCDCBFD487552415752E03AFA311A06D9BED966ADC9AC30650C2AD1F32BF54FA78D7D20CC92B6DCB67D46BEA7A15022E209F2E751145041B6CC11EE3
1072A42849680BF0C421B8A866DC5FDA43F240BB6A1634BE73D10630797D268A59C2EED1BF0238E35F228C75A54B4EA1895024317549827366C23E183E6B978F8A048AC6A1AF79DBEFB23333ABF27FE1597E601373BA2453ADF0A60A42FA60A760A5
D8944A95338B1B68EE549771E239CC57D012C3497E41C412A9FA0E37B06ADD3A77FF7CC57D64AC99080B748162CED87C6A242F975AB3631B212A4862C1B375044A53B79D0EB50B5FDAF67EE6EC6CB1336306B1DAE2285BABEF591BDFB873D1B8AA20
04A04556231A65C52D654A1F3B48CE5805A17965EADB0A4ECF88C05A1FDB6FEAF6954F592652ADB0506E9537C2BC1AA8FD78C65DAE728F6E6EEC96CBE6DEB562332651B280229908A59EE3E6772A673B1216B4D314CA327A3CAA946443738EB3AD85
73E76ED699A5241915B753DB6ACEF1DD841E3970FEBFE7F28684F2C4E0FC8D6EDFC98BA29DB924CF30EFD1B30DC538293C59C0C1B5F1326EF02BE6E9C189EDCD772F8502DD9589871D068A672EE32BA3888DB55EED1D59A94C8DED7243A1D8F32C0E
6F8749D85F794A272AF1E27483AB09D1275A98EC378E59B2459088FBDDC9F53F62AA9B1C1E982706E71A00EC4060DD23CD8C1E196E976BAB3F40E800AB2D8F6F68A43BDC0EC4AF102F589038F650EAF4F409E1CDD598B54BF11E1574CAE6D1931870
9A7DEF49002967C9EBDAE1BC2C251EB2837CC53C0502784CCAACA6F1432BBC9157DD9BDBA527DC28C50B40FF2C3B59C459AE51A53829DBABAB60804521392B7BFF40D6F823713E82B81593533B3F65CFCCC6A914CCD1FE9A35DF1B57084755E7B060
95437FEFA707E424B381450F3F27AFE9B37F5368E55243FC290C3E5E83C7ED114E75F6332292E40D4DDBD072AA8882229E116228AE97C623E5EAB943B6B8CB714312BB738AFF4CA91799B25A30E72DF9B3D38AFD4C6FB5169B160B1D8AB3F1EA1677
B32FDCEC62CABA66C34A2031B1CCB064D1453981996C4FAB2747422C61EC3F855412289FC3A2B35E8ED06E466A1C28F20BC94B52840C73FA9713DB169411F8F83814157C41EEE2C0862F8691115D4D6826037342B0F84B31451DC2BC1A96217C6652
F74855AE561DF4CDDEDC48D3FC8A22925F1DB704657E8920AF0BC2E0E2EE124E45C88079B832AD6C1C10FAE96FE15729B5A1D59A60CB48270A3BE2145BC7A5E01A1FE245ACFF911043538CF9BD70994C1B57D69CEED6B67979470B7929611DC77482
2062C2311449451E44A6AE195636F880D60D8DB43E8B9633A7C0EE5D3CEA82372B5AFA05DB669AFF1099E3D76DD59684E579B5443B35700D5D1FD318E941719B70568D5620707A647F46B5304DE0F2C2EF1DC0D350CD9F325490ED212A6DCFE3C678
7144CAEEDE4EC7894B5594780190A914E90A7F5F143631AF8875771A9D1523F6E9A8F0D0CAA4AE9F483D7F4FE336DB64F535A118188257C0131F7CF32C0FCD84C902F5C8EEB23B29E765F0F0A9E48A3C068E4A0AD6F50BCD9900C274BBE9DF06BE4D
E05BB5EB5376FBDEC34D8B75587F45DBDA6D38394E07DAB85E0C3B23626ED59204B865C7951CA489BC187D59C9CDF0B0AFA39764823E7006CBAC3AA6212F7C43F0AFF3B97398F2D2A91628B429F5B11E3C890F6A3969AB0EC834EE951A4702AF5652
8ABCDFE6093F6EF05BBEBE26E4C861C02376AF20EF840086D4E28507AC9555ABECCEE3FC06518BD16F4D63E343B682BB9FEE089F9BEA82FC377A499CA54C21BD1F70BB032D772550F28E015A0D1A0B328A199307E6B813251742DEE9A15AA47A7AD0
4F2A42405A14ACCABC2E67D8916294D34F4802ABD1CD3DFC23499926336422F2C7DC00F443DBE67E4296C0D1BD270C2981B72BF1F9D18A547D196B0C5A445AD95DA1009F4CA8C6C15D5A85F0EAD8E82350502C60EA9968757E0ADAB053B53BBFFB3C
E792524D7AEE23FF89D32454D66F9B02649E1984CE0CF6942A0FDCA0902FA001ED541E2BDAC2EC5AC56FE1329187A0C4DA9B7D5618FCA3EDB11A7821C0321C67D621B3CA369A9434BC13A658580DB61582AADA0CB29D5372DDBC4415EFEB916AA63D
71F3A24068AEDD2E507B65BAA430FBFED4F37A3B26398A1DDAEF3EB7EE190FAFF8ED35B1D4DDA6AE0D375903F65176285D4EEBB1D0A4260F0F22AF6EF0288901DEE0D0D3BCA3E04BA5CB93765900D524D885DCAF3FB1C5177848521663D42F856C05
DBE915505CBCACD95389C6A7FFE09897138C27F79485421362B31E36FB5554BA315C41AE08172D1AE9ECB674431CA00E4CCAEEC8437C98CF8DBF5C766C2D83D35752EFE66104B0EE94CF19A2FECC9503972EF5A0C1670883EC507126EC67A61F7D08
4FB48CBC0ED3EE9D84C2026F80E5FE6582802E3C103C5C0DE49D392176999CAD6146D058AD550809E8D04DA354DCB78E07C15888727D0C011C19B092FAEAD7947C4774B8F92580B17DF35AC379E383759BB98A1440B892E5B70DA1EDE1E6C1101BE5
E08571FCDEAED333603B595AF15D913FCBD428EB1CF98416550F72C231421130E5C129BFF10F485B0202B44A26EA438E79B4F4985428C2BB326B514FC2C12DAF491991D80CD978F4F048C11C713421AEEEAFD4F9450FE755CC4D29F4CA1E9C977BC3
F16C590E2786E1927A014E7564238A70074C099880CFDE5B7411D87683425E7B6E52348D54843AB27CD0F39A4694BB519525B1DA941A3E704BDA95F32227939A451FC5F55D38AC3FED4E0997109999FFC03353D1A798A0B295504ACC4BF3293A86E8
5B19DCEB70F0FFFF2AFFF58DF0DAB0A73B2E41B96DAAE88591FC11314CA9FA0DDEC0F3BDCA07D23FD679AFFCD0C56F4720E87DB2DDD3277539CBFDA6C5BCDE6BBB48FF5F81E6CD1D77FFC9D652AF482D4676FB7367B450BED88D5E3FC307EF2206F6
83099281DB55863E11A214D50CB030EB8C2FDC410A24286F38FA8952A152C0F781DCFD26200C0320EDABD1736A1B05B94819DCB0210D016049AAC66F1846B7F97C81707E5DCAFEA3DEA12ABE36E400BB6AAA5EFE432BAC9913A9FAC763BD1D8951D0
34E844321454C1E5F9D44959F6612B678B6581CAB54A4CC8E131E0A761C8DC3715C94DC77B94FFD71B090BDD0B75864B971D81139060D505001F117AE40D15804D5D6E6EA712DDAE37D4C18067A90C7A233329AC349DD9F0A30C2CE2BB881BC3306E
B69C6C84AA6E6D32F35B219222D0996E1E786103A3A399C02ACF8AB151724DF319A9336B431CF700BB47B07F6C3DECB499E26AB5AD8A47352770038E0C0A92E2621BAB6A6759C74DF0188BDC8668A1041622274477A9F59266EFB2BAFD851587B730
4775EB2DEBC8F17482C4E68166C7301628FC66C9A2E2949B8A1306AA74484197E376FA958CB095A0BA82B47D63BABEEA8B2716FD4775831E254B217F63C5E96D9944A3F9B42DFA9F75DEFDE963E487C0090157567706CB28468A9AEAF88DDE77D08B
82112605D05BBED03BB47E5190F8D0888ABFD75E8A09F2148024389D444EDC5D741EDA5C3F171E56FEC301A1CDCE0DB7C43E96BF8B199BBDFC45563E4A25EF8AD450B7432C4848EB3885E964098AF223A7A471C5450C04F31C2FB68EF0D6E1380BD0
682EA1B5981CEE6D92192A658C9E3D8603A6A4A94B73F103DAF820123BFCC95D59FAEC6A10334D06BA9FCE019451202765A9E2FCC129CFD90B6B2AB37F529E706A1BF6F81657DBA06AB7605FBFADE7DF862563957A2A6F6BEBD47CAA7AA1C5D21F71
3207D2D7BC3F1AB4BDF22DFEA2DAC60A45B966C8416503462D14F892C81610B75204B06ED705C9C88EDCE46DEB6B76B925A8204DEF6AE0E526E7FE05F781FFC635D7ACE9A4197BCF5F1A53DC775ADA592996AFDD53868D6E06C7F533243DDCC4FD3D
CF2D23107805F3F1534D0107553A383433A7D683C3AEF61370E6C7C8957D5892C8F9347EC9CDCAF9ED41205870BA65BCB49CCE64613E527459BF6869E4E19A5ECD6071D1A39F1527711C2FBB487D7740824E414B4C13693B4BDFCB339D1A33E61186
B26B7FFD2829CC670224DEBE11FA5BE6C9465A27D19599E720EE1AD2B5A33E0683D507927A80EAF11D549701611CE0114C371E2F5F550B293BF1B1AF4453735F0C6BB90BD97E55C280C1D8D4A6797FFCCE49C345087D5340C51577D6175665A033A8
B44C53721292CA83A97C180096221F93DD4CE684E83A5EA04621CF8AEA57261721BB378A92D1CAA7271EE308959E3198D687C4DAF035F29B088E1CDF7D9B72A5EE3984A9D806F970830D8D7CAD10D25BB016F12D2418FF3574AE492CE971A8941ACA
3F189E2630E54D816E9DD88E198CA1EF9D654D69456ED7870A7B95820903655D98D9603F4847AB76F0966E44F5DFF33DE928460D13CF14F90375887604CC4AFDE002040A24885C59A2A94B1914EF34CEE30C6275E38353B1A41BC46E2EFE222B1EFE
96CA6C85048C5C312AEDF1EC5A91FC792A82A54B92F1241E334FD4CA339D360A69134A380477E07430F839B1A22F21636857941F021E926B6EEEF3473D148A16B3FF6A9A530BDC0C5680B1CA93FE3E548742661DF8A60F1F333C7EF084BEC1B0B825
4A1CF5AE9CC8F867C38F794A86E9DF0FC3593775BB41D854BB3A365825EE7C7F4D874E7A868B8ED71F63AACA63568D05A521D0FDDE21337F387996AF65C25BFD46BA846626806D965D43A620A7A2D982C0C65CA42D646FD9465FE8ACDF3ED61FE276
D1E6A12C3F928977C3F4274C0E2BD40E2E97365A131915CB41A50EA35EFCFAE1D64EF7AE8B4652B9A52134692D5D9D2436BC2703E6561370F704BF6FC133D6E8C276019C9597DE5900C7EE057D3F9A1FDC54E1CA9A51CC0D198157E8690F901A50B8
4441440D4072147DED434BBD8EF0F41E02C4C72673FB2B00E64ED77A12A8ABFAF9323B9B52687F237AB9C02B078AE3DEA003BB1088DBE32472FFC16F21F59B7CDA067E6513AFD8746A94E1B466D72162EBAB1BB97BBA021142E79AAAC71975F4FD1F
5029BAF7E1D252D22EADCD2C753F3441C8085504F05FCBDA912F732C9E1B3968F514936287D4E674390C52E597FA65FC8EA62653D9F39C3D0A53481C3F7E3A60BFA2F18D71D53750ED0F7BB0C1D8CB4CE596A5C718D1628BC93FDC41A64005000AB5
7D47567AFA0A6E02739FC59DA7FE11D6B6468B06245FBB64F00949C36304C870EF55B0293ED9E035B0C27FE8B279AF5592E83E1B673E69FF7E1E09F76CC96CEFEE28772EFA51E999ACE571ABE530EA14446EC475661351B7B4D0A89DB0FB4BB8307B
62061E042F4C730CAFD1ABCC0AE256A95EA9C10DDF3FBEADAE80E7B7CEF543C8312D02B618D1B6453900C21CD6CF97D5DCA862AB411F2644275F00A2229973D63281168E7239612CB90A659D6DC4B8C96D545C2EE52C96E1D5EDB2E52D6BA28F290B
8A54AD2FFB16A2896B8506A29B1180B270F5764BC67357D1212BD6736A8931B38272E7009448F64ED208720BA5D36479E79EB4F91AC76DA2FEC594F69DD3DE33E166145DBCC7B606134A28ACF0105769BA04B6D4CBC80023B742B2263CF63699E0DD
DA74BD5E3147799C0E740FB9AD78E2C4696BD8DE314808FB86362CFD4EA2CE527091C1D6E89B93FCFE754A7A8FCAA25EE498728F9DADAC28AA63F092630C430315D82C6B4C157AFCED76C9F34E5CF8ECCCE1363AD8256CD30C5653360D505E2E87E1
506A1454B283F56D16C009B53AACE2907F066D4630BA0E80DC948B4014377A01A56C7279B3FFF60DB48A1E7243891ADC43129D053F0AC3E96C82B5E3914995184E259824771BD25BB32B0E17FB4D5E2C1B0493F1D9AE6770C7AF3FC2C9116F7C36EE
DA11540CBFE8B673FC7BF48F09714D92031E4848EF289554CDE98877776925F616F877237A3976D45F9DB971F8BA9DCF32CC29E9C9E6B0B75CC9294AE7BE1E2840369B421C6D0D277A771EEEB5530D841F3586BBF9986855F7D3ACCFFF1A49418330
B4C64E6983A90194B818C87D9D6F12DDDF57AD25DDB58CF102CCFA8ECF5494C0019EA7FB1B456D0997066590B2263A1E0272FA9D7C8140D9F0EA55F410FBAA2EF54F1FE5CDB267C6F613C7646A979ECBBF1BD566615DA098A5F682353EE15C67705E
C79ECD62A88692BE7AF7BE9C7CD4140CE1CAD3C2EC8A7A7461D7C70E878154FADB27714848489D64D4D95A6F5D32915F3C6256E0DD777666B14EB7C80C6E8640235F329BCAC116BE8DE34773AB12B817DD229F7615BE7A0696249BDEE29AD7EBD370
D6221BD06E955D538F6089006E00A2E7D0391488D6D3912D662ABF656A8873C22F2DC19CF0E1406F9F3EAEB2DE7DC51F9D553E716705F7CE59778D1284B782D6393E4ACC23CEA51083E0EE3AC9FBBA235DA590D6E03F81CC71C557FF659744DB3537
42246C6380485AE478E52C99D30B95D47F32A505E83C9F683C914695529A470702E04592F74051553A1093E83F38CEC3B34C2C38C923C9C512F1148052D48D587368A25AACFBCDF16F3FD3D95114899161510B36B230EFBE2EE3ABA14E51B81CDBA2
B9EFA2FDB26007773F0BF9552EF4295A0074ADF906C7A77C5A5B1F159EB60B49085479F1174EB6DE8F64496610C8DCAB304B3AB275DCF84B5A8C57EBAC6AF707B3F0D1A1DB5F1A6B9035A31861B288FA6B8AF390D025FDF88105FAAF2067816FCFAF
887FCB156866895AFEE68236E7DE7826C132860D95492EB819A8EFBA9FB8C897E44004FE80EEC85B05614EFE9426DD9ED1833A22D0B005E545D745B2C657CFAAED3C30CECE4F5771E232801BB0F35CEE682B6B8A2017D48C5D607107354D301FCC56
900BC54AB68A53EDA15613F0F44FBA3C2E7708D6370278F9A53530ECDB3D08AC4EA9E1D32C18A31C729B5AA22A3AC18FA12E0D8CA9F8A6E209ADF9A6C05BE34995E7C73B15E59B06F6780ECA5CD8D13407B9E932E95D640A95671302931B529A715F
9139B40C9E3BD4B99D4C2D279AFFB0DAC8CC22BF76A66665F107852B55336BEE4F285F2551A7D0CC8A6F00878FEEB1BB60B1B2E6C858DF7B1C713448C1205B890EAD34FA6AA3534EB2A114871FDC96AAAE903F4E73E16A1073F92EAF7DF1911D2DA8
F5FEA9F4A79E4680CA6D81FCE4CB0D15D2ED1DA52DBAA632825543D0F6257471D3731A17DA0BD2BF5585489B8C8439EF5053D91DD4E0632BFC7185D03183A1BD27E8FB39240DA64D5E26B2EFEDD89E4484AA51111B2013C31AAB997942759F3D1065
DE873B7CF2F4A35F9799256E4B8738C5ACD408BCDF6D6DD38AF398176A63DC59484F4C45EA94CAE2F32D358F86451FFA644F4E57662DB03502CCFA793CF198633A385F75519A4910822454B23F8152B4A449D8A4D42D31418EF35BFD9E8729A5868E
F878F27B280A3E4C737D0B17C217861FD01A19F9E8D25C2FB9DB16C176CDD7B5D62D71253FB5034DA406753C7C6E67538B22BE30594DFCAC37C1B922D515F126DCED8EBC0171CB8E9F344F1F509DFD2C1378D68DBDD3FE20B90DFAEDE06E493688C4
44EFD38CB7FA227DE651B3A47A135829FC775F83632A952DB8937D1A4497FCA68B638FB3612EA39A839A936650773FE3F54D239E824231A327DACB37E4C1FDEF5F3D83AC3582D22CF54D48DD612F8267D7524DC1C8DC37C557EA7BF3748CD02EAD2F
474CC7D6B4B25F5EDD7F94408CF5B6E0204DBCC6A39BF413C580DDFFF81DEC1C61627532B6790D8899B171061E6EF5CAA516646E907407CAC32C416B096C249658976F94434C1FB7031437EBCE4D356F4082D82AE63AC11D1680E5B5A582C241C425
0FE833CA0B87EB5E505E8DF0A336D1F33546D41B6BBF6C7F140C2328CA4DCA4949A85D1E0BED34C84EFF5A77B62332FE049F0AC247A7D80F785960CBD5D2DAD574C6D345B03E90141C03F1183D976CA2718FB757CABB1FF585BFF0E1C84C7AE05092
D8330403182B8A821DAD0B1CCC682032A50BB21C8445B4381A483F0BB38BC8FEBC29A7EE6C6C6A30D7D1D904C19A8FAA77E27F5F22A71FDEC42DB50868967EEAB13565C7E4188E501AC1CC8821B070E435D592ABE94AF36B89DD9290DBB95AAF9FA4
A60BE21C92056B15AE1588F379FCAB20A7562015146861ED23ED14310CF35CC066994EC9910A6F790EFB5B81AB0D819374587956FD8F8F2A2401849E81904DFC74C57360A881D123BA08536172B361F7871AFE2B91B3563AA698D2B09C088989F56C
23033767067BC23366021B26455E42B7FD13F0CF6D3CD46C1DC3DBBE00073BD8ED056F24CCD59B2FDCC03F80A90166819B5E09DB64ED381BE59156F256D8BB00868E842AB72F973BEDBE4D7ED908CC9B1B0D16E218F26200837044363F2B3C2C0C27
1C3F720EA5337F281456FBDE8C257BE5D9B3A5228AE62524722A7F32E1C2296A06318FA0832AD5730147AA3877B4FD44997400E000803FD3CF30AB2688C0DA5DCF44D326AE18AFACC74586D3DDD494B62BCF31EF15764E4B59A0439C732B1BD7DBEA
5E557B43DD1CD4E0B10E28CA23B052F4241E9DBF2535310A69858AA781538A52638E8551A443E88ACC7158CDFFCEC0D36A72062929AC5061F21F44FC75F8E7F9E7A68EC8A073BB2486AA9014101C38377A53A0F4A3C36061AB565F28630B74472E86
40155ABD9873EAFDA6C5C70A266A2E172B032A78AB9C178FDEB6542359346E011DD7EC8759E45EFEADC8FBDEB6C37D381BF3364C776E235B6555B32B69CB55182CC7B9AF927C3229BAA0312B8DDDC65D308FD434BD99F10A72307EED03AC86B3671A
9FF9C49FEB0406B0B44B7AA7A902AA1F88648B82BF1AC769EE28D512E86E566A77B004FFEFA18397D05DDA336119BC99D59F08A4FC87D27D99E7ECA910A8292504F21D932C271CA70C4492C0C7569852B4DBF6926935524EFFE865D7192864547E7F
C4A4020C32637237317E28D058468D499B2904CEA4F8432FCEE8BD0AD478901F79BCEB6D2634492D2C15E511876B8E61CA43C42E0FB46F40CC29E3D03F8ECD9D1A4216407B22A304F0A76240D46C7AEA913EB2806559BC4A8DC89536211A6D6BCFB7
F6A5779B722534C2C35C96C9F1237E8B62B8B8B0FC9C560ED7FC601757BA98FDFA8D623471504BBC742E66C1CEC462BA4AA2BBC17D3D8A81BFAACC6286DF41F3CDC6C1ECACFE16F95ECE59B9A2F34F6406FE7AF62D56594BD39855F4359C26D06284
A62AEE5FEA32323B5D19BDB6B125C3742971A0300452697FB20958EA5053F0D8E7F8E9A93B6A36B3B37CF8765C296600489C0BEF93DDEE9574CE2EE27AD39DD7D81975336580F381A71F4F3D8F98F4E3C7BDFC7E05F14A8F0C30EA8D7E5BDF131049
1966E7326C97515B77F5104CF9968AA256CECF0ABD1606995E0EBEDA116BB6528C1B65A66FB9B26C08A2105A42E514743331ADFF1E0DA31817ED7784F28877517ABE1BD6452AF615AEC9FEF0DCF7E2A40195DE6B1E912FFBBD2B326754495FB96BD5
381517E2E145C57D2523A0E5EC41FA08EE7BB7CF77C81AD3137F86FDA7627990702D3C5D99F0BD8A598CF67E2C83F804A9C225C5E27CCCA9597A15EE1B859437F37AD7BA4CE8A4413CAA4A64F5A831999B85F02AB573DF63D23E733C7400103B9F4C
93E25AF2B42F73049817FC35CAA99E40EFDD91F463951DCEA99A8C4EA7231C913067B579999877E31FB2E8EB59FAE70562BEFD26F2ECE0435FA761A84DE9463F78D8946E5AC699513D2A9EE2782BDAC138409074CBE7357497EEEA5501F4A2F73479
68058011DF0C85CF54EAC1EF4188C2D61A19DBF29C3C9968765AEF9EB8A00916A5ACC74A597D1E2D5C472E165FF87B07F28A46F3A31ADC77FD7C71AA89B48AE101B1E17E6CABB4965B8FEB93C12B85431EF66C59F80476516151AF660096EAB8417C
E8FA8D3F1D2FA5278D4253AC0338D02171D88DBC74F0DB2C10675D22D383220FDF3B30CB3CB2131077D43F05F2ABDD6768FB16CA3E159DB045214BF6943928FCB8A433C71FD3AA1E173FE17AFB4B35D1DD3829AB678E4B8727A1EC2E15A6A7699378
DAB711D0DBFDE942054AD3DD6334702637540737880F1B181C0F36B8D4D0F908C437126854C8A74E0B44722D2C5EA1743DCC16E92D88C8136399782B32C3E3996C5543E46B70C60F17935F0A66D8B38BE727F3D870C85644EF5572E6C34A436F7AEF
2324CD3B576E02B54CADB3DC06B7FF8FB0C98CBB38406E06F5E895936A26E2D0C88DFB674F7D5BEAD51A4FB4D4875AFB19A0490ACA5356C94555724E223A6F3919B912898ABA6A7C1F0638B49A3D3863B03412E6D72F7083EF163E2EC9E9454C78B3
D2D07FD858596E067720C5600CB92C86CB28A18DB8403DD08CE19920184291E2D0B9F24EEACE92E32CA03744C6D9326FCDF5D4992BAD09F65439B80E21BD09DF4FB3406B1F05F8C583B8D7ECDD73E46654E64BC9B2F3E1579626DCFB08D0DE5A1E25
82B86A5AAAE5D998A21A15B07E5DCA0B530DE34CDC3856B1E10C95C1708DCFD33B0F2D08DD99661B4591F3818B87D4B2D141611BB31E5C3371D6F40D71F13091AEAF9D980CE5018CEEA86FBE5BAB9C5284DBBE912EC11A3EC76ED644004EE62B7803
F9FAB89631509EE07280D3C5AD0DCC61E0D79439C198E949F856C2D3112C63D8E4C65C2B62C18758B477CA12B3B53B6ED75E9F4E7614976C986D82DF26F515B6576AE85AA918E412165BBBB38826F60635E574746FB4C1EA02F8C62290F653F1D9C2
EFE790D29252A799745AE94B12FC41B55022F57345FE53C3441F60F2FA7930B620776DD1C4F251CD5AB08B98F40F7E46004370537DE7C2A0CDFBFF3D3F8D082AC5C1C042FAE117D636C270F6E319F0153B5C8294FD88848BD61E0F02FF631EC5DEA0
2F09782006D01204E7FF3193C45FEE5B1A5E6F45DDE3D14D6904344A90E15CD5CFCFFA0B2AC8D7F6CD3C6F943A841C383421A9C38C256BA09E5110F192AFE066E7C1E8083603C35928739EA04FC181849D79ABDABE4B14EC4D2BB3D888C2AA6AA6A6
171D77C5576988760ADF67701B33B5ABE21BA9A6AFE591C7AA3445D0F8EACA5B8E3098C1B2123394B73A63BAED79476CC640DAB7DDED0ED70DF39FAC1988C07136981DFFE5C3C3AC3EC98ABFC711865B2D8DB7DA53533E24CD3D9CF1EF78F50EC5B8
2880DB6E1FC3A340A9F85EC0E269B6A87C160584178A2AF946A64B3EFD9BA5FB4EDD99814ADE30405352E56C0C54171705135498CE167FB5D2096801CA57E01796E90FCE6C6A6F060E4039A2277E2C05D2BE3B6B2ED0FEA031EFF810E843C96F4CB7
904ACD34F90FB13626CE2F108B0ECB9F6A3BBFF2A1A78C455C560DD52D9CF4587B9BC3A5EA409FDB2B1B6FA8B0007596C83B01E2F0DB41BABF02B78E20623E77ED45B1E03C7962788C6BD6A6B09BE8F340F916B19EC95D304821204756AB6DCF8DA6
EA4497A435655167BDC2A049FFDD9966604A7F16B0BC854BFEF8BB7028ABB10D6C0596C6DF1EC0FEE15D879F176AD753A21253B708439F340179C3DEAA4D45456CF6891912215A712465957447FCE6370774EAC2A9902F296B94D88FB941B0232BDE
B0FD5766AEDE8706E2EC9329D2E721EDC07869537D67C3B3C4B200A30AD468D9405AC6CDA1E864D6E54D934B10DC2E298F9CDB44CBBAB668258631694E1E993431AA0EE2305C11C3D2DA9A61D8401F9155F2C491BE9E697F784A73C48F88B053B0A1
83EE54761CD652A35655B586F6C71352B140F656A00B0A32173D116AC8D875C00D27D9E5C2EA3FACBA07A5B63097AA6E9601D7B79E1609E592F602F0779E27E7498C0984FABA007D19683A3C0DA44AC6C6DDD2C128C037A1B48371355FB38EAEB183
449EEB64C3CF4101FCF1A5DFB86FCCD8344EBDF1B465582D8F568C248D4E8B5E2C293C0C9DD9003F641A37ADB4BF95E20A7B665C47B2463768FF088168899FA471CFFB74AC569BE33B1E44DC3E6FEB01CAF3ECFFF14155996D35DB0603DD0483689F
2FBC878906A92F12956D97C7B3EB57616CE101665999038462A458C6AD7854853D046D68EF7E5536F04014FB425BF3780F80549805533DEAEF10F179244EC5F562B63DE4B5C85457CD4016BB804A7F49654F2B9C45593DC48931D1518014BDFA994C
0E1A9E5D5320853F09C27B332AA41E17F8F1A32C1624B5C4714CE891ADF467637603B2219A66D504D6DB736CBAA94E8D32B26A1E7368EDB676B6AC70F8E20F0E9FD7C6CFD7FC39BA5A06E68F9BCCE9ABF8DBC2BBBA18A8F79966E5B495C6BD226F5E
02BCFF0F14559347323C2EA08A24F75AA8DB7DBCE3724DA3BFB410DA055746402DA0FFEDC260CAEEADA5A09E097710F671744916BFF3A481B47762457FAA04600267CB9AA202F67CA4ED72F3EB972479D537F6BB6EE06444B5D8622E65BD9047AB0E
1540B7AB170DB6CE19E25E4CC11727CF472AEBA0441B92BF2BDC3E1C7AFEB2DB09656E01A2F58E84B3C1DFFB5343BC2630123C9E2C2E2173E90D0B6ED42E394A6BCD9937D06D40B9C32742BB36B3E42445D28DEA7231A5A3C8ECE208DBBAD0187611
F970D804E7E5DBF1ADC261164B7D49F3D38A89DF76F291DA17D85513952CE8D8C19622F7F3552107935D8EB8F88E8324DB7ADC5881531ED5BA26D4B85808AE93A0E124F185DDC8B904B396607118FFD6E7BADF84A77AC0ADBE695FB6661274CE4A99
57FEB091D1051297A128FD0AEDED34F0FB5546D30B97AC4205FD766B5A94D3FC702F73B81D8DC68F656004D2866DEEDFFDCC7D8C88CBFCC0D7950B6FB853E75ECA111B6111B0EA9A6ECB5472235EBC6A392A6C141C7DB1D7E11360B50734E232BB28
82B0DAD52FE3584A7582AD7852E955BFB941DB1A5FCEB2B994110F77D931445D69F09012240146A45BB4F16946D6B78E3DA2288E301183208F66B6DE9EE81D034A3A2E96DFA11B386A5E6029E041C2FF951EED99ED1F3D877A6759F347AB40C31562
01DB2171E74D1F6599B865E320CDC74FDC25B29C2073D14FC363CD8E4416CBFC23E1A2A1F5C4FFC59EA7DD2CA8C7AD8234E7133EA2E2214B9219A9169EB8426EDEFF35F79BC8F7F3614FC1920E81D730B3350A23B7A63E78B861A90E304C12525CB6
20EDC8C5A04DE6F3B623C1FA7A3D1774F23D1D4AB67E0998A45FF8CA3C26E138B7BC2E486F528202F24613B5BB7107698E9F97A641BCDD9EF72B3A933A5EE005D211903B15E762400CA4A0F09AD30DAA3767A58C5EEA7B4F3BCAAD314F31C8E9C0D1
288B1BA2ED73418C231343F0BB66D7ADED081F75A3F4C9F426B3E6505298B21E53033532470445038CF3DAC86EAC463D1AC3D81DA9D25AF7DA08824752332BE71631343980D51CDD35247092AEE3259EA7D90D8982BDA2D5800635D8F4E3E9342984
145AD19DACF558255469189931C25E66FBC41B17FDBE62A962CA111BC16FE7E8400595776BD51C0233671B1BFD9EEC4504FCF0530E683A96AE5B835718ACCFA391476D0D354C7BC4162C2700200D6BD6ED1865422EB765E2B85988A1E6F2103194F1
51B0AFC82FD43816CAD8750E41F67D73A788A411E9C261B9183F1B1C2992682AC585E3060CE3B121E430FC25846F9ED37B3DEBB7FAA2C0C265D20143FD794B33C12708A6A02EA9F63C9366F8E43AF4F99D7BE0D9E682997040C0050B808323F1199D
31022BAB9F7A23BB22628AF710E576A8BE36BF682EC1380FF8565E2AF7F36E5D64B0A76396D0E4406A2A4C232F1E452E7A658CDF90EAA02B6DCC51F7AE99080F88F04ADFADA94D8DC72CBB61410CCFA88C2A36D2D0B6B217661C67918309A5D5DE38
18E473E019FDA040E62476E21EE7E9774389E1DF6B5EFEAB29ABCE5D59314F34452942727510CE5B971BD56A695CE0C9290A19773CB5CD5BD417386948D39230B609C61F300AEDCF4D09FDEEFC566CA575D022E77313145157B89085E234EAB9B849
0668350946E3E66087DE729F4E57AC5A1F455B4793720E9C4DFBC70400701EECBB4146FFEF0DBA04232F3272723D7F0CB707ABCC322ED9E0D0A3B892142B1E4992387B9E0627A5DB230827CD80F804D5930FC925A8F466CAC93012FB93BCE6A040F0
3E9D42AF3971695D087EFD6057C6547926CFEBBD1B842C44BEA4287B0612D95D892DA65B11EED19858F1C2B73C13160C12A2FA381E4B27AE9227EE04A809F1BDF9AE00BEB2BB1B41E14CA809CAAC02250ACC0F5C7BC97BDDDF8FE63516C5B0A87BC7
ED85EA473E464DDA9B7B41BEDB603858EA013719D9B4BC15B5651F3437E1F2749F9E86C947F0168E80782B333FA166E8DEF4668E03A984F4049BADFA197F21CB1D5A2E9B01DFA795024FE2ACE16CD1E69C2681BF8398621D9C9B65D3A3C68E5B02CB
8845338CF45446B30751934D98602EB70F9875DA98629F5993B170D86EFB89586DAD454183F46C17F2F66412F85D04677CCC045F052CEC01B7D3995049C89FF5E8BFFD666E68F1CE4DA2F2F6104312F8F23BD16E801E0250CB9DF7ECD0E7790639ED
819CD90A03889E527A64862B28D84AC2FDE0DD2941BCB2EA2C3B4043D5D7640AED2C7CAE3DA6C99DD66AA74A6D8BB0122BF11A4249D3CC3336F82387D452BB6A179304C6EFA84119A32E54F4808AECBA2EA75EB0AB2E22B35117B79DAA21D3F1ADC1
5B7C37C9814CD2C3A4512712BD7DAFDE8ACA04FFAA5203DAA3C33E0CCEBAB1364C857EC93E2DBBE726A39B1ADA2936571460B02F6D4F462B055964E7193E0461E68BA19D60CD0E077E48AC7BF3084B247E96014A93497FE958D7AFBD0B475C69E71E
D06E2C5FDBF723E412CD9EE98FCF9B0FDA17BBAC2EC7C896C8CAAB39E926950F4C70796CE5DD2B26F544697F8DE5355243FA1D2BD531DF94F69D0A32747F5F3D813DDFDB1ED40022426F974B433B2862BB895341F0130B178396E9FC557B3E50533C
542463FB878B3003B36F526BDF0897A52C71D0936B1A510D06BABCE19131CE15BDB0317F2346F50B01B1BE52930A9AB6A4BA70960D150AD4491E6B5736ECAA1EDD0E0525DFCF35A13D2B01BBAB6F798D95C052DBC42B71D4986ABB3DB6DF7D7EC13E
78C86E1CCD58E9819C4DC42B4E537FAE2B9A62C63FDFA4D2A66D5C1B75082F3BC550229A76BD20269D9F319FEF288DC54DF50D0B5621BEE819A2D2E39C883965C5C0600913022CA6E38E49F2DBD7FE329F0475A2DD12748DE90B1FE9464D8C5C1885
EA2BDC2406D4700415A86D604164AD6A2038D894610AD44762B6FE2A6E39FDC8E3640A89741681B6701FB714C9322EDCC440B98A970862B1F32F38C5DA943AE05146FC08602D90FD380C41FDD5D3F6C786D91A5DDC4B5A23259692BB9CA82652EF46
D1EE11BE580107C6C0A74623DB92987EB6AFED50BA18844519232EF1A76DF6448A3CC87F1429AE67240FBC808AC36B525FB53CF1E6663D844E66B8DB8652A9A2D41D010680ECD38A2C6B74088788AB57BFF5CA41487C2BBF1516D22A9D43253D9F67
BE05A7EAAF024806463C33A9D1F18F8953EB9B5DB6AF3C97084F65F4B563B02DFAC84AE9F6B0B221E6BD7D95C07B3F6C429A7B025922C0CD4966A5B3B6B066D8BCC601C1C1FB6D589BC01249D568922BB18625F84F28EEE13F64E573FAB0C0F84BAB
CABC9B232A3FB1E4D48ED6C7A59069927355CEC8DAD477379472B5CED4B3570EA5D1B68DE851D4ACB5143CE1A2AF56F2B6E2B62FA59787DEA855F4A8BF6DF6B4587DC619D2354F5D5FE5B9FEB56582A4A0E4E67998707D4BE81BB92F0253CC729D70
4FF9DEACAD4514DFDA1A2C959211A597030D7EE29B1469A6927AD212FCF6B9BCE2BEA6A708940210209779C16BAAB15BEF6FA42F1289B945D3AF553F485A8E5E8FB3BA3F5CCD5BDE6FFA29DADB48BA952D437008B1036A4A086604F560EABB16220C
EAEFEAB45A15B05DB136103A6C191D17BC15986269903B56E19E20E5B7874E9B6E37ECA109B7FA38FE2C5733931F091FE6A4F264E4C41A135E9A4941D0CF854B230423C751415CB7312163155F77C27170B572F0CEE387AA912FDB065B1AB2425342
E5ECE8E87105BCF1C81A4EB2B62536AFFDF1286C93ABF06B080D3E507C1F7C9A49F8006F63655C5841BAA6895A8C32BC7B0B2472D33587A72FACA032B66D57D7656DA3B4C4F9106505A9EACDF0C6D388E0A8D7FB91E9CD7859D884583C04FCFB484F
2480C194ABAC439FAE1520828A7E4E9CCF9D46EC8CF098695914FF24C22CA9FDC5378AC2FD1D131E96164AF8420A7AD69C61643A963EA137F7EFACA04ABE13DF2E07191FE6CE597C7DD596CCAA85F4D5932B4E7C3304E55B4862E08906DEC611BDDB
040D9CA14DB50549632557D73D54C278ACDA2A0E7FBCB2CA15AF7A8B29E1A074B9CD385DA779E4ED8186FCC3040FC8278934AAB422479276E3146DEDED51AF3352B0E4E7F5E48CC4F64F53ABAF6F802D536671206FB632917FF92CA6FB50253EDE73
EDF6B6E11148FD1F591F7B2A981C7AA083D475022424026BE134C1629B46B21DC5F0C2790BDEB7FD52EB2264AB895E1EE2B5E786198BBF11AD31A3E492F43921C44D7DE95FB6ED09A81D41669639104A270DD5B016CCC18AB5B6E371E23600531A43
ACBA5ACDCE30912858F427E34A0D217C9B01E7299FDFF9258E9384B14D6A57088F85423304F43C848B3ACEE47919456E1DBC71EED8BD7ECF7829333225B64E8843F67E7EAF452D94EB4CA039087AF2953EC73BA2776195CA0AC98311B19D608E649C
169E48C269E99FA532D639535E7667CCD5E2BBDBFD21902D2F01D6CE3436AE9CF870D8BE45D8BA6EAA27176802DEB9B5458606F7A998E679FA29CEE708F014A4D764B97CDD9A73D7A384D1184B1EE2EB24C4F997FC507E328C91C74BF06E54DBC32D
F3C4F9580ED7112BB4469D03850237CC76D3012BEF9EDB655CDCEA344E818DA4C4C2F9DB734B92931944A39C11D579F4F89EBEA57AECBA8745EBEE6F76396E831D7E0D84BBD57C1CA81A762AC53015F059FE7EB955E94347971F80DDEF30939900BB
CC63281EF1A7E4B558EFE6DF743EB430DBC8774381691AFD89907BB562B239A5538BD384578446A820B59079FAF35BC42DE23B7A5D08F0F4FF63ACC0D0DE6A765087F0E1B34B7547B17405059D026459877DB1FD15DCD4BCAF01BCED6B2017E57544
E4BD741F1C49B587D3BB494761BE1C2103414EF145B2B0579DC55490A6FADB8BE47AA6C6233BC052649A91F3EE1E3402C88112DF6DC8C0FF8C805B2E8B8391CF21F1CEB11183535A46E6482C4051CFDB6C1752743B8703E5CFC6ADC29226F3A7818F
03579A5C2B57F7A793624353AA29555EE2EFE013D2E136DAD727AF9E3C50F362214594F4F558AD89E4F58A95218A9DBA8F269C4867A6E4C77486231C6662ED1798805E41D31C99B132B44761715782D8DB825E81E227567A6B3A130F3210E3D58DC2
1FD64AFB4C5AC2549798EB7A1FCCF43F8AF9C858D3286E2E50632F4F8D0A0FE9C8B1AB62DF6DD3A7A8FB87C544F4D699497B48FCB2B68458CCC6CE0A2DCDF0A4A6DAA20CB022CBDCE7E4CF64BCAF454DA24290361311EB4899E0F25196A8270CFD04
843C76C74F35C906417113BE661E1D6C09CA3C4056D1BF0CF7AE1B2D1F3DD13B131907780EF800B7959CA192818AA9BDE0BF09588B32CF533F384F30C9EC60C93A3243E1AC3D6948DEED75C61232E65DF33C22E2EA32561D796914BE4445D4AF7F1B
42D06A192AB00DEA8408C06B3E17888759087C735CFF94B630A0993336E4345BD74EC1453EB830974EF693C700D84A25D02A1E263D12EE9FF6F8237D575836604888722E6A390CB52576F7571FDAB25C7A5FF475F61EA5B65EDEF99231484F0DA73E
0780CD9198EF6770C744D2B804B5B102BF4137CC1C563DF12C6A1B972533D51E872AC1CBE253B629F1B471AE92487DAACF10513A73577AA0357EE50A0172D96D751BD219A04AF30A6F9A3DDDC4A986C1F07395B49F81D672791D75801AACAE5D66D8
FA974422666E289EE69D408427C0661C1BE321BAD4399EFB83FA7462A02042C14CC62F349BC4A5E8724CDD0D2E89732B8C8DDE67ACC29E7D30E58BBF858BDF1DFFB894EA6C98D7DD769F6A88A3ABA8F0468D74E16140C28FE5ED93192411EC620BD2
435DE55B707DD1E6F8796648F7EBB0809807DE13B6E765A5C7A8F714EECD73676AF1AC8944B40019B324A961FE049C7C76077BAC69AA8DC1ECB50C610E6183DC57D843E0D26660512B23BE64FA4255733EA633D738253B2B28FC8EE78B93186DA374
F9AE08E106A9A1207BAC58F518A43FF28F21AC46E57CD9A48C2CEE42630306C05597D28570EC99D872047B89F180F115012422A0301134029C9212B9476A5C3ACBD89E633A45CBEECF81E4F908B6DBB40C8E45A647C12701A258C277D294A5147C6E
CE416FCDC429635532EB9A466693651834E54E85EB8FC4E9154B88140E75482D8B8C9C0698FE2EBF682792E167EDCD8CB0FF2459EDD42AB05284A9255A77979782A5E29F2CEC8839370668506282F435D51F64B9062E34A4ED7A583BB6D56F779DB2
70B3758C5AFBA0E10B6BB2F7D0F7F074863D4E7FB5299D46548EFDE25200937010088BDFA88EB9BA5C21BD7D81A2C287D2CADB6FFCB73A6790BC879366E36860BE37BE49351253EA1F66CD1938245426A59F735E8B218157DAB45434D6EEB7E2CDA0
6254E8B624ADA1EE04E9BA7C3D72F451361CCD42F74747F7239836C2C394A6D43E02B5065DDE064D6430ED27D610DFADAA0AA6B4CCD32FD87EB05F0CD92F2C77CD2C239EDC496F8C2F42C00A8BB2DEBE294C777F62F4AC5DEFF814A6071D85A038F0
C141E1D28E1816CB913969EA2DA7439608259695250C07B27D8FD3F4A916FA6EB91FDB1F746BA6D79537962EB9539A21779437F197C498A8B030EAB9B75D3E355B6EC4F55B92DF8C5B771E07D1B6D0029330446A1EF5A8BA37DC7C3C49C2B8B08493
CED19C5B868A926A1AF084BA2F50B686AAE21A0EBFFF19528F40050B6F39DDA1E3D2A0245100D86C726378BDCB7CAEAD2CFDA4EBF294859BD56599D7E71EA709B5C40C1FBE71BEC2EF89206A70F9E8D65744C79C48F454237DE193230AE24A159DC8
904C3CCD6448828F7647D11585A4AFAA4C794789BEFACB7EF618CEAED679B24BA13D53347E261780169F3A80D1E47E2CF0BAF742DA0CF5EA3CCBC1BC31D28DB8334AB15B14855EAEDF55280A644AF63FFB51379664A86124E747E8A5F426FCF35AF0
06CA86D1C69C52317CAC69D6F7E010723B75971D39CC2A9935EFBE5D3DA70B8B477645600C85F9DE8C2B58DD3EE33DEE7BC793ADA4269506C9C6E0B0BAB704EA0AE07EB90C79852DEA21BA26C51AC4E7635CE91FBD5F44F0E2C7F82AB71646C9962B
6EEE58BF420130B7D240BE18269E9B2D9CA7D43FF0FFCE44658445C15FBE5B50E343040D69CFAE13AA213CAB07647F90D227259C188DF91F76858F449235449F6292F8816907BB37ECA462104FCE42C5D260774BA28956EAF6DF5329223B403F7AE2
3D808000F4111322C15821497F7409E43802F932D23B659BABC0D9791E2E3F2012D57102ED0CB72275421737F92264F43023604AE78C7CD7997F0E7041040F88F6ABF8EFB271E0154AFEFCD6DA55C6322309DC7B09EA03BF6A67494589F5CE8598FD
F5EA66FAEB06A34A654D91D33B5213F532E1145C65EADD6C125AC7FD682B445D24C3C6D119A87D1B650D1136140D6DB8FAD4B122AB56BD27F3BF787FA95FEA19C0505C11369A4DBEE81E233D97DC8FD996330274A1BF58C73377802AF2645A75A93B
566F558C91315807DA14F8993A3EF4301456A34A2D4EF1BE8D7C3A8BE3C8F7DFC3B6128FF6DBA95C7896EA2B9169B1162982757AD1748A882724AC3E7D10C0F94E04ED7447838E1856CA6D1296CA1A096BC248CC99204E0FA0308913596D58B10DC0
C31AEBD1E634CC4DE26251B3061D88351DF351CD2DB54D49AC53E45512FB56A6071D40CC1F3BA6D244B3A37CCC01AA9E9EF80B32A363CF821A99B74B6C2BE6D229A02699D6A162B6CACC9E912035F5204F8FFA6C28EBC254DC0357E92990A3DE8B7B
EFFE58DE63993D058D371ACFD567A9CEEF69D7712A0326F480BD85F9BF224D54165FF538F80E3F0275EC94129B000CE576683782D7E2102AA98C0463515FED108DC38AF79460351DABB7512B0C011382F5E5EFD6B63DE1FA0347A875C6F104F464EF
CB855F120A8D1A70ED0FBB2DDB81F45FD510AA9C344645EC51C7655C3A30CC6630F796F8CE5A4CFE9C6C3C0512ADD30868E82F07A3D14BEB2CCDEA1F9B95965C58701A54D779DC6BF0BA5F9C4FCDDF3C4594B9FE2EEFBD1ECFD316ED13DF03C997D7
E7F28B4E2D025762049D7BB89C027263E870D8DE6D9930F8D745AA4C658D3B50E3E55C05235819CEA433CCE4ACAE0A98A398A4F2A1DBC7E729E1A4AB07D283706CD79D4EB8756320950BEF7B8C2358C4CEE7F2476D1BB6381C8D287874E3E5615DC7
C392D8B4E863F7C580B1C94D224DB63131A5C7E42E068202721E9E31324A2ACAACE83EDCB5404933327EAFCB1B4A881C03E5FF6080C078C7833ECB9B4FA2A83959778F08559418EDAF98B147ED77A9726E7E720D1A41C5B342263F1B3311EA743C00
7A2C743C905EF9C0D758CB7E75F33E08385279B8122646322A3D8FBC66406C906491373EC829BAE82203F57D9F3A9493F47BD9CB3FF88A9F7124697E1CF06170927A81574EB25F5AB8FAE039C79273658104361AE81B805EB6D2FE43D776869FEDA6
51FAAAF4CEBB6849D4EB408D916A20B33A53E92C4E16E699AC6EB25E7EC8D84F1FC126921AF9EA2F7DD8E720959C1A8EA9B637485240B1F4228347935743ACF0DFCEF3E43908930E17A67FE6BC34228872AF98FA75F29B4439E31907C01A23341184
FDA25E28EDA4B6F8AFF2BB17492849FFFF27D4BC3EC7EF50ACE7142E76A676F55A6CEE74E43E6E4E47AA51A5344D189DACD258E0F7ACA6BC2E7ED061DAF6CEBC4FF21CA3C803B02C97AAA17AD338A24720AF1AB7ECF5FCB1E821EB0006FCE9897A2F
32830C75F3170B39525A93B3163516B3C569F6885A18DBB13E997C500F3EE217D10C0051724C0D8AE483CC3EF7A62EDF1D2A8EF7F79E375D738000BAA99616DA93FDEB30E2A69EF059754C9DBCB3039FD0DD9857A33234434A5B33664A92A015878E
D93B775FBCC34B5236D665D01690554FAC9A2A79CA31F06BD30707742FE19DB9FC6A31AD62147FD78FF113FEA04D21DF940739C47EF271800918D4561E6D47C76D52160A5E92E4F62654B968B1C4237E39EF0E35120A81DEB717F22AA41ED50F8250
6EFB2E5950EC0BED1DA941C91D892A298FCC5DAD9825E729BDCCE825A17C1BCB0D5B3F70D615D16DCCBA0DDB919E2842E0AC5D9D0750CC3F6E2657623EB52D147B031B0A72C171EB9CB1AB8C32F3A724CAFD39B4225E0D99CA299594E3EA4B82522E
49E1B889F1B4ADF9D8D571D99B75BEDF713333C56D5A218D2B099B560430D9D3774D99FF2D07FECD4B387F6ADBE95A6E143181ABE90309F60ED7FC2D3624175D38AC3EC0CDDC146E9AE07F2031BFCA276DB3D1F265843941E9123A7C213713432BB2
0543C6DA30A6642B5E37714A362271739037A8424F8D5FDF29913F71CE25BAFC00DD626B788513ECDAAC24C9594D907230836CE2FE71A22FBFA2123ABA96295F49A476A8CA6AB324CC28E13CC8550F5739465C3DAB428B25ACE3DEB73CBA4B3F8162
7F2AB3E34C724CAF6AA406184EA070696E8410AA2E55132EAC8F4DC2AE25E3D89C638D255B6A4AA82B75EDFAA0065CD2FE4C3120CE4DC74BF45E59267C4ABAE2DFE00CD762EE4D0A92ECFD7913FFCA2ED81EDED8D982FB576559F05780B5637C9C52
2F50A1EADF26F1F274D3B557696613FE3D6AAA473AE19ECCE098D90202536E27EBE07EFEB5ED795D17271E59E0E0591E0BA08D5421EC8AF14456D72ADFD4E8CED1D359F46BF67B51993BB768A51FEDC0985F69E69F9572D8C3531207B94161F24DEF
9A07A26EA8A1850ABE88DDD345F9D86410C2BDA8286DCED587A86E806DBD125F7E0C760221C44FAA3716E8F218304D7E47DE8D56141F53ACDC6EFE9B86B7626DAFEC2CB9A02D4BB09BAE361694EDC9005BFE9899EECEF1EE81A041082A75BD6EAECA
685531A93AEEB58421E13E858FF3201B6D45C54065FD5F7D2FC3858A288D536DD43A70070BFFBD867754A720FE27A2B48C47F9971C1EBC15628956BB81184F425699CB6F18DB6E74FD6BDD9873BEC711973DB91B69AF25BFBB80F7416F15A52B86EF
83AE9CF9EA3F8FE1DFDFA1D753D81C29738348F1172C539BD5D51ECF255E7FC4134BA87D8B67FAF4C124D731492B6C8C43BCB84969806B49DF31F1F270486133A32BB0B23638EDE4D23D4F6305C303A78E78B7E8066F65EFAF72659C12D20A5E5A1A
15E556F5323D8DE064382E8539C2F029B0AB1F6F177B6DE4AADAA9D8C134B50ACEB5647B3BAA0EE19EBFE6514CA68BB67B6D0D2DBEB7E20F6AAC67E0F487C72BB75C702DB4D80A5C06CE8F99F1BE007017E59B506E58C4396D4EB6653900A45E1C57
0860C21AB3C6863356F5580E3D666A89DCCBFC589DE405A8F821C26E861B24976283DA0846190800136E84BC3BEAB8DE75CB7D9BA26E20DC91FEE2DF70BDB26536B2EE2687954F8B6CD27670623F03FE28ECF1B9B51F0670632DD3B4D6DF8B573D8D
C98B1847D2E1E158858950B58C47A6DC893EEBDF138FCAC771A9C1514ED069B618FAE660C043B9B68AD0B0343DDC0D872D0C4BCFED0CE5BD4F1368AD734A9DDBC330ECF3FB497A97DB9872179E24B188CA151A8EA15A518DCCF8ABB4A591EE045CFF
406334C358D62CB73C9010FCF56F3D0D53599237C5D51D999B5B8B70D7C0184D558925C9416C3AC5FD6037F859F1A02DA7E7B0431C16ADDD5C1C3A1ABF7AEC013104EB067F5F145D75E4EF3789575206C4CEC2682DE7FC37916469D46EB3C88B1C61
43258B008B3749DAD41283FAB14ECA883823CE29D68885195B4E79CB62E41D368A505FF08D4DCD08F2264F17E39228AF854D0B9728D481913C46A6C9EFDF2D72C32C4B459717B561073085339364AB18CC7972C9E3F0777350BE927E44C41C45E3F9
7D6C6224115C81384C83C7A259BADC8576219B5D8ACC3EB471EC700CB8B6AF5E5098BCFC4F229E1DDBCA053B93112AF46BFAD99095CDC37B4D8D3205F323BFE9B150F134F95237CA0F31FBA785B468DD9F750732321FE3928C6DF144833A7D93D1A1
44A846FC9481F48AC5E447060055064C0A38440EB24DEB51E2FEFFDF9C46306340E025D15745918E88EEA0CA70F49BD158B23F7CA3AACCECCE7421396CEC44F0EBB2C71937467E0AB3F1931D3CB609920C945550406B18D612A19A9023AA9E53D066
55E2C96C8E1A89CFFEE3EE01E7F8F682E9616032E537D3F06E484EAC1F9D19EC783A9F82AADFB5E19947355EAF410F6C6B9C6CB53B1EE4867DC7360846AD7583F7861F3DBF6E1E5CC87752FA1DDB20173D91FA1928060FEF8FD5C3640E254DB01224
F110110A83F01D315100BD6BCAFE86A6F99587AC3B24751A9A7CBCC5C920500B0A1CBA2ABEFCA7E50F088B31DC92517846A7F0C6C308F92F0757DC5F57642C9697529326B32FD7947F32828045DC07B3B3A94FC40AF0FD6B0FCF6AC6B7EC6F885A8A
55C6CFB38D132BC5E6D9405CA2015FEBB392F17AC3DFB2A1C23041D59BE5B8C7B057B41140ED0BCCA65B0393EA0B8FB401DDCEE15ECE68E51CA81DDAB1DB27CC5FD93A39C4EC88C5DB5628F49DEA68094C8DF16CE2730C25F0E0CD038C01B5841703
23F1B22254FAE43D156BFFE528B5CC16FFBC8B98BAD78C8EDBA30B308DD4FB9C15BCE43AC9D74F8CD7786896EA5B98AC4DB917FE0B586AEFB14E1A9D82E2E4E37DB875DE67DB3C89FC3351314E806808C4F514E2467C0174604C48395511C976AD59
3A6028AF373E556BAA170E8FFA528AF84119260F207F4B7738A38339509385AC067FEE10C3794F9B6A579D0C5333205EA3A2F57BDD489CB930D4BA85398D2A33E83050899AE65B2BA2EDD54DBC8751E84C482B6E0BE74689D56EC4B198505F1381F3
A016AAF206DE1F07FE52A8BBCCECE7C1377073AF5DC201048DBA85D1638F2ABB59919113B01D25F5BEA0980CAC2EEF86133081BFA01B97983518CC568DC83F8F77D3856AE47B3EF87165992A413FC3ED0E642EA8EA64A10A7BF7982BD58879E3B978
1113A944E7FA318AC6689C8B367230C167516125CD0A95CF439140AFEF882D78535529A0338C0E0F09BEF408A278B3C57774FBCDB4F0906D35125EB0EDA0F40D4799273035A050520F64D548264615345B3A7688CE0C56AE1B74181E3ADCE299D4F2
50C8417DD282956E3BA7D0226DD4AE9D08D92C650882D63B08A3450C2D2A59C3D8862ACF21CFD9D5E486FDA45735A41C31C392E04EDB0B87458803D32C13EFFFB402DB594E87A17D2933441784C61598EF607BE11D6089F70A22A9F2A2463AE3315B
B3CBE175ECD1D38C5ADCA668A5B544DC6109006430921A40FE2E0C761EED417A9D5314B4A331BCEDBEE0169410E86FC32BDBA21592B2C3EB22361585A7E06B7E4CD7042E4D1F5D565F577DBFEF5BAF7B59752AA3B862D537C93576A903E0D0153747
F5C5650E408F22F26554212CFECD54F6119DBB
000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000
cleartomark
%%BeginAGDEmbeddedDoc: version 1.0
%:s8W,W5t=="^::eu!!!BeGQHo0HZ2qc)?9*[A9S-,667'I9DG[A
%:s8VV/.1Holjjh!e'bq!#5Qdi.5ddsW9l=>^CspQt?<((GC,)i)[4"48l`1JC84tPef#O^FeTSrUUjk@&[F70Y5lR^Q_91EpqYS!JDKbb$SN77#-KDXXcgRIGGKtD]k<%k`rQZUCHu-WB`/oW[+G`9d!s6PR)X0)RJG1<c)_ehT8VjL(h3E"&.T.1OrLUIr1"]UhX:Gr:+m[PF9F,e`ug&4$=qPM,@<9Z8iTr6co-9/QC)PGJ1e!?V(*U\<[)!>@\7R^9+gn_"H6-^9dj@;Z7&@nR5VTl\
%:+3FPqUZqD)mp%[Wf1:nd:<_JMNL*ZXIlC^1S\(*Y@DbW[mr">i*`X)GSJ7^Y^1m)hNl,;Q5N<\R[Be[RSV7($3n%*JFfs)d\=HrBOe2D["BG?V@ArK\INnoK4*K/$YcGFjHZd_[HF&AbmD)0?2d2I">1lBqi-/">_>=nLk&s3f*9oX_!2"NQc7Mb-'68;)/MC?V$K,^G!jNZ?#Q[udRB$'7M7YY$#$0OqO
%:gKoV>Q:NIjLTum4\++#Bk:\Fb7-QQAT4'l"`CQad57$El!0W;E_[=Z(("$Zo?HhBHfb>[]N,)Uor8"?eMNTp2T]8pW*D,UI&=iJ`MSW?iZWq'/"%?oBM)*`Q"?WN@1fh8IiLZ".oo:N(gd6'8bY4F8pPBhCl5@#i?U+"im`2@O?T/'+'i[^T,C?4;q30"bP,YXQ!D"m2e+DC[JdB)W">5\lQ66k;LM
%:es7,c]R"U6CBYYWHO8Yc5r>(LfP@TYq/)fP0l#_=e)3j#a&XWdM`Q8@k-cp!ZC]btY`#:@&KC"qp%52QK2@%QdCW=@B?Yad.rMa990ktSGP#u)HfJ!kGa&SL`+$_Zd"JHUq']S&gGuL]N@12#qNJV)2TOV/r@AclB;e1#DOh4WgYB6i51`jh+4Js"4irt,GK2sEEd9F.0GQno=nX6ndE_:NTgbH4V`K_V/a#Z73`>cQaJ6ISp]o!g
%:2cHVa,qtT77`*Y)XsOf_?k0@TE.W-ZM:,I"G3N.fD^[ZC(BgM!UZc58aAK<49+`I[jbK8,66ITIjte2WdF&(pNIU(b50)C,)QRlX#\U*mK-372*mC6kBqE\CQU40%L)/+IhG.(]P]F?Y?P!7OU26$rq[`\O^84FSL2`OnOF.hQg_jZ=u7*%4qa:no,?B^M@QK*thHM]ti3l-sj=
%:-RR#P0+uHRA2MWQnhn"-o$FC1:[p.[DJY@Ads`RkiPm*\$.F?ncqO%8jeCE!=A3(;RGOT1:\?MLqX]]hZk%lTBYhm7Zk"N@di6>ikr-_,]/%Y"&c3WU]>s_mMfnd`U$Ni`PJ>N$_hSnoBmtPlRn[h+9OFts:\-AjlJ>[dZk%lT;h''XRJ,TmB)8:_aRfq-l)i,#FaduIr!2j#FnWh=FS6QtN-sAAqV-0"9D8L16deVr*g=1/oNTNIo<+o+VO[0EoX"IRqCf/RP'hRV#$uL[V`,kKN:oAfaF`qEI58k77%Xh8Fm;6'Phsb[E9W/^+aTbp2*.i&7#qp9^7A'iq6s8m+*i*-0DmUo-qVd>5kg0/S.8go/2[e;4G3lNacmRr[$*iii9?SrY=k:Fd@ou=5\
%:U:qp>P:e:@[SjuG;XpHH=Dr;.3AD^L]?Ked*`T\-N*PR'mIb29X\>Er_0tIaTRjfAiA]q@&9l9q=>S9Loq1Wi!I`2;8-bZ0A=_=-m*QEchHf#3Hn%2>g<:1?aFr/Z()%YGB/5SM's6S3S[.k\Bj^ip6"gJahFooOK8/#9VVh.;*TJr!+9bb!.g;i<39C'+&Ph^t3gd=]U3DGV?eLan[]Wr!MkW)E,rY(qtkp]Ps75am\8X7_^Mq!SR3(E:tSsjfm\mleUAK"0jJf?OfCr^=ep*,IgN)C`(+"ondI;/UW?"jns0eU$T^k)jk)]'icFEV.)_]:QR'kFq[Y5
%:*M)#DV84#n>J\i4CTO71;K++ge+cskMg;d7f`N_i<8<&nEaJ+#;rD*LiZR$CM"-b&O;!1#SdfL$-2lC84F_BckA(q_RF?\$]dhF,q(]lULGI=+d^"HlPa)%8-^k1ePBed&ICG\J2%]5@Z_U/t@<&a3KcOE&o&ggUcWhE;I9g]\$.n::/Jg@tAHU8jHI0]T\;3r/pE#5uR[](!EupSYPHiUpe^`5-Osh2L?e;bZui/@=#M
%:*l3nu/QfM6J0jNI2iG@L[1!=NPtMlM>_U]I.U,"2h8EJU=kQVW?!Z.G-=VF&Td@.Xa^cs:9iPJ;NBe-A%4A&huGR^9Lq:rtWWK!k8jN%I",8EdF\ssDAF`s.c:,EO9W]9Ij
%:=?\mK]U>C[`c*-3XCb$uc(b&h])&:mg7%<(b1`;]g-mlW)]PgsC2<,SAJ4)+^4Gb3qtL2@L`bT)4Fgi[`IiC@&*"KJ`FClfa70g*JJ1#"TAiEsd.Z*Es*U1YdBDRZ4=uHT8+G@1Ueq0Q!p)P.-Vq&?bd,^q3AbuekiMTKLps/t!Xfhs_pXs.At'r/>q$"rK%hBE0UblMul5Bl%?h@VfTU!UE-^FCeEcD.N\JX&_W&@rq\O/B%]p
%:Vc?Z;EbTE(!!*a0ATDj2ARfgrG%F0aBk.2Dp.]L%@VTIaF8u=*9iH.SBl7P`!8pRFBle@r!8C49Bk)5b!.RI/6uQR+ART+\EW?(s6>URMCB+?m7VQ[M6tLFLEbTK7DfPgYZWLgXEbtdWY#\89:L\&=!-^kJASl!rF8u@';gE4hDer*]@WGmtGlRl"<+U;r6>URU!!.UL@:E2E@VfTU!In'IFE2)5B)ho>5t==4Df0Xs!(fOr.,Qoq
%:Ci=>P!!,PcEc5njF*%B_6;V]@@qB1nEb,4N`Csu`APcfW!!(,7Bl7K]@:F%a!!(>=Ble@r!?t?KEa`U$@;ol[!96dK@;TQU!*M]uFC>.LM+22lF`M$n!%^HFF(o,RBl%Sc!-:SFASk+TF*%B^F@C"WD,>7kE(k=p!!"T;@<6-m9PJBU!!&oeF_PAtErZ5a;fm;$APdDcE(k=p!!.+=E,ThcDes?42?3_I6Z6dWARfh#EW?*OPI&^5
%:9OW3XEW?+L:Ng/_!!+]K@/_!22o'Dfp"!!$spOEc6.u@/_!JOKaG]Z8gDe!P_!JaWcG]Z;kCisT4!!!!!^B(55EWN'=EWN'=EWFDc`;mjW`;mjW`;mjW`;mjW`;mjWcN#6k,lf4k,lf4k,lf4kcN0pEEWN'=EWN'=EWN'=EWN'=EWFDcirDXNF9(5"VZ==/F9(5!])ZpQF9&3=huT_U])ZpRVZ>`WirCY2irO<'irJ!;];H$U
%:irJ!;irQ%YJ,h,$VZ7)*VZEq#F9*upJ,ueQF9*upJ,ueQF9*upJ,ueQF9*upJ,ueQF9*upJ,ueQF9*upJ,ueQF9*upJ,ueQF9*upJ,ueQF9*upJ,ueQF9*upJ,ueQF9*upJ,ueQF9*uo/-'bm%05DgF9/]KXoX7XVZ7)*XoT^IIfZ\PhuTkYaT7.sF9)gNF9)gNhuT_U])^.WirQ:`Fo]hgF9'Vf'*-qklN-)I2#uY:F9&3=XMZL>
%:irF0$huKGOXoRA[irQ%XirQ%XirQ%XirQ%XirJ
%%EndAGDEmbeddedDoc
%%BeginResource: procset Altsys_header 4 0
userdict begin /AltsysDict 300 dict def end
AltsysDict begin
/bdf{bind def}bind def
/xdf{exch def}bdf
/defed{where{pop true}{false}ifelse}bdf
/ndf{1 index where{pop pop pop}{dup xcheck{bind}if def}ifelse}bdf
/d{setdash}bdf
/h{closepath}bdf
/H{}bdf
/J{setlinecap}bdf
/j{setlinejoin}bdf
/M{setmiterlimit}bdf
/n{newpath}bdf
/N{newpath}bdf
/q{gsave}bdf
/Q{grestore}bdf
/w{setlinewidth}bdf
/Xic{matrix invertmatrix concat}bdf
/Xq{matrix currentmatrix mark}bdf
/XQ{cleartomark setmatrix}bdf
/sepdef{
dup where not
{
AltsysSepDict
}
if
3 1 roll exch put
}bdf
/st{settransfer}bdf
/colorimage defed /_rci xdf
/cntr 0 def
/readbinarystring{
/cntr 0 def
2 copy readstring
{
{
dup
(\034) search
{
length exch pop exch
dup length 0 ne
{
dup dup 0 get 32 sub 0 exch put
/cntr cntr 1 add def
}
{
pop 1 string dup
0 6 index read pop 32 sub put
}ifelse
3 copy
putinterval pop
1 add
1 index length 1 sub
1 index sub
dup 0 le {pop pop exit}if
getinterval
}
{
pop exit
} ifelse
} loop
}if
cntr 0 gt
{
pop 2 copy
dup length cntr sub cntr getinterval
readbinarystring
} if
pop exch pop
} bdf
/_NXLevel2 defed {
_NXLevel2 not {
/colorimage where {
userdict eq {
/_rci false def
} if
} if
} if
} if
/md defed{
md type /dicttype eq {
/colorimage where {
md eq {
/_rci false def
}if
}if
/settransfer where {
md eq {
/st systemdict /settransfer get def
}if
}if
}if
}if
/setstrokeadjust defed
{
true setstrokeadjust
/C{curveto}bdf
/L{lineto}bdf
/m{moveto}bdf
}
{
/dr{transform .25 sub round .25 add
exch .25 sub round .25 add exch itransform}bdf
/C{dr curveto}bdf
/L{dr lineto}bdf
/m{dr moveto}bdf
/setstrokeadjust{pop}bdf
}ifelse
/privrectpath {
4 -2 roll m
dtransform round exch round exch idtransform
2 copy 0 lt exch 0 lt xor
{dup 0 exch rlineto exch 0 rlineto neg 0 exch rlineto}
{exch dup 0 rlineto exch 0 exch rlineto neg 0 rlineto}
ifelse
closepath
}bdf
/rectclip{newpath privrectpath clip newpath}def
/rectfill{gsave newpath privrectpath fill grestore}def
/rectstroke{gsave newpath privrectpath stroke grestore}def
/_fonthacksave false def
/currentpacking defed
{
/_bfh {/_fonthacksave currentpacking def false setpacking} bdf
/_efh {_fonthacksave setpacking} bdf
}
{
/_bfh {} bdf
/_efh {} bdf
}ifelse
/packedarray{array astore readonly}ndf
/`
{
false setoverprint
/-save0- save def
5 index concat
pop
storerect left bottom width height rectclip
pop
/MMdict_count countdictstack def
/MMop_count count 1 sub def
userdict begin
/showpage {} def
0 setgray 0 setlinecap 1 setlinewidth
0 setlinejoin 10 setmiterlimit [] 0 setdash newpath
} bdf
/currentpacking defed{true setpacking}if
/min{2 copy gt{exch}if pop}bdf
/max{2 copy lt{exch}if pop}bdf
/xformfont { currentfont exch makefont setfont } bdf
/fhnumcolors 1
statusdict begin
/processcolors defed
{
pop processcolors
}
{
/deviceinfo defed {
deviceinfo /Colors known {
pop deviceinfo /Colors get
} if
} if
} ifelse
end
def
% pix = x^2 + y^2
/printerRes
gsave
matrix defaultmatrix setmatrix
72 72 dtransform
abs exch abs
max
grestore
def
/graycalcs
[
{Angle Frequency}
{GrayAngle GrayFrequency}
{0 Width Height matrix defaultmatrix idtransform
dup mul exch dup mul add sqrt 72 exch div}
{0 GrayWidth GrayHeight matrix defaultmatrix idtransform
dup mul exch dup mul add sqrt 72 exch div}
] def
/calcgraysteps {
forcemaxsteps
{
maxsteps
}
{
/currenthalftone defed
{currenthalftone /dicttype eq}{false}ifelse
{
currenthalftone begin
HalftoneType 4 le
{graycalcs HalftoneType 1 sub get exec}
{
HalftoneType 5 eq
{
Default begin
{graycalcs HalftoneType 1 sub get exec}
end
}
{0 60}
ifelse
}
ifelse
end
}
{
currentscreen pop exch
}
ifelse
printerRes 300 max exch div exch
2 copy
sin mul round dup mul
3 1 roll
cos mul round dup mul
add 1 add
dup maxsteps gt {pop maxsteps} if
dup minsteps lt {pop minsteps} if
}
ifelse
} bdf
/nextrelease defed {
/languagelevel defed not {
/framebuffer defed {
0 40 string framebuffer 9 1 roll 8 {pop} repeat
dup 516 eq exch 520 eq or
{
/fhnumcolors 3 def
/currentscreen {60 0 {pop pop 1}}bdf
/calcgraysteps {maxsteps} bdf
}if
}if
}if
}if
fhnumcolors 1 ne {
/calcgraysteps {maxsteps} bdf
} if
/currentpagedevice defed {
currentpagedevice /PreRenderingEnhance known
{
currentpagedevice /PreRenderingEnhance get
{
/calcgraysteps
{
forcemaxsteps
{maxsteps}
{256 maxsteps min}
ifelse
} def
} if
} if
} if
/gradfrequency 144 def
printerRes 1000 lt {
/gradfrequency 72 def
} if
/adjnumsteps {
dup dtransform abs exch abs max
printerRes div
gradfrequency mul
round
5 max
min
}bdf
/goodsep {
spots exch get 4 get dup sepname eq exch (_vc_Registration) eq or
}bdf
/BeginGradation defed
{/bb{BeginGradation}bdf}
{/bb{}bdf}
ifelse
/EndGradation defed
{/eb{EndGradation}bdf}
{/eb{}bdf}
ifelse
/bottom -0 def
/delta -0 def
/frac -0 def
/height -0 def
/left -0 def
/numsteps1 -0 def
/radius -0 def
/right -0 def
/top -0 def
/width -0 def
/xt -0 def
/yt -0 def
/df currentflat def
/tempstr 1 string def
/clipflatness currentflat def
/inverted?
0 currenttransfer exec .5 ge def
/tc1 [0 0 0 1] def
/tc2 [0 0 0 1] def
/storerect{/top xdf /right xdf /bottom xdf /left xdf
/width right left sub def /height top bottom sub def}bdf
/concatprocs{
systemdict /packedarray known
{dup type /packedarraytype eq 2 index type /packedarraytype eq or}{false}ifelse
{
/proc2 exch cvlit def /proc1 exch cvlit def
proc1 aload pop proc2 aload pop
proc1 length proc2 length add packedarray cvx
}
{
/proc2 exch cvlit def /proc1 exch cvlit def
/newproc proc1 length proc2 length add array def
newproc 0 proc1 putinterval newproc proc1 length proc2 putinterval
newproc cvx
}ifelse
}bdf
/i{dup 0 eq
{pop df dup}
{dup} ifelse
/clipflatness xdf setflat
}bdf
version cvr 38.0 le
{/setrgbcolor{
currenttransfer exec 3 1 roll
currenttransfer exec 3 1 roll
currenttransfer exec 3 1 roll
setrgbcolor}bdf}if
/vms {/vmsv save def} bdf
/vmr {vmsv restore} bdf
/vmrs{vmsv restore /vmsv save def}bdf
/eomode{
{/filler /eofill load def /clipper /eoclip load def}
{/filler /fill load def /clipper /clip load def}
ifelse
}bdf
/normtaper{}bdf
/logtaper{9 mul 1 add log}bdf
/CD{
/NF exch def
{
exch dup
/FID ne 1 index/UniqueID ne and
{exch NF 3 1 roll put}
{pop pop}
ifelse
}forall
NF
}bdf
/MN{
1 index length
/Len exch def
dup length Len add
string dup
Len
4 -1 roll
putinterval
dup
0
4 -1 roll
putinterval
}bdf
/RC{4 -1 roll /ourvec xdf 256 string cvs(|______)anchorsearch
{1 index MN cvn/NewN exch def cvn
findfont dup maxlength dict CD dup/FontName NewN put dup
/Encoding ourvec put NewN exch definefont pop}{pop}ifelse}bdf
/RF{
dup
FontDirectory exch
known
{pop 3 -1 roll pop}
{RC}
ifelse
}bdf
/FF{dup 256 string cvs(|______)exch MN cvn dup FontDirectory exch known
{exch pop findfont 3 -1 roll pop}
{pop dup findfont dup maxlength dict CD dup dup
/Encoding exch /Encoding get 256 array copy 7 -1 roll
{3 -1 roll dup 4 -2 roll put}forall put definefont}
ifelse}bdf
/RCJ{4 -1 roll
/ourvec xdf
256 string cvs
(|______) anchorsearch
{pop
cvn
dup FDFJ
exch
1 index
eq
{
_bfh findfont _efh
dup
maxlength dict
CD
dup
/FontName
3 index
put
dup
/Encoding ourvec put
1 index
exch
definefont
pop
}
{exch pop}
ifelse
}
{pop}
ifelse
}bdf
/RFJ{
dup
FontDirectory exch
known
{pop 3 -1 roll pop}
{RCJ}
ifelse
}bdf
/hasfont
{
/resourcestatus where
{
pop
/Font resourcestatus
{
pop pop true
}
{
false
}
ifelse
}
{
dup FontDirectory exch known
{pop true}
{
256 string
cvs
(fonts/) exch MN
status
{pop pop pop pop true}
{false}
ifelse
}
ifelse
}
ifelse
}bdf
/FDFJ
{
dup
hasfont
not
{
pop
/Ryumin-Light-83pv-RKSJ-H
hasfont
{
/Ryumin-Light-83pv-RKSJ-H
}
{
/Courier
}
ifelse
}
if
}bdf
/FFJ{
_bfh
dup
256 string cvs
(|______)exch MN
cvn
dup
FontDirectory
exch known
{
exch
pop
findfont
3 -1 roll
pop
}
{
pop
FDFJ
dup findfont
dup maxlength dict
CD
dup dup
/Encoding exch
/Encoding get
256 array copy
7 -1 roll
{
3 -1 roll
dup
4 -2 roll
put
}forall
put
definefont
}
ifelse
_efh
}bdf
/GS {
dup
hasfont
{
findfont
exch makesetfont
exch
pop
ts
}
{
pop pop pop
ts
} ifelse
} bdf
/RCK{4 -1 roll
/ourvec xdf
256 string cvs
(|______) anchorsearch
{pop
cvn
dup FDFK
exch
1 index
eq
{
_bfh findfont _efh
dup
maxlength dict
CD
dup
/FontName
3 index
put
dup
/Encoding ourvec put
1 index
exch
definefont
pop
}
{exch pop}
ifelse
}
{pop}
ifelse
}bdf
/RFK{
dup
FontDirectory exch
known
{pop 3 -1 roll pop}
{RCK}
ifelse
}bdf
/hasfont
{
/resourcestatus where
{
pop
/Font resourcestatus
{
pop pop true
}
{
false
}
ifelse
}
{
dup FontDirectory exch known
{pop true}
{
256 string
cvs
(fonts/) exch MN
status
{pop pop pop pop true}
{false}
ifelse
}
ifelse
}
ifelse
}bdf
/FDFK
{
dup
hasfont
not
{
pop
/JCsm
hasfont
{
/JCsm
}
{
/Courier
}
ifelse
}
if
}bdf
/FFK{
_bfh
dup
256 string cvs
(|______)exch MN
cvn
dup
FontDirectory
exch known
{
exch
pop
findfont
3 -1 roll
pop
}
{
pop
FDFK
dup findfont
dup maxlength dict
CD
dup dup
/Encoding exch
/Encoding get
256 array copy
7 -1 roll
{
3 -1 roll
dup
4 -2 roll
put
}forall
put
definefont
}
ifelse
_efh
}bdf
/RCTC{4 -1 roll
/ourvec xdf
256 string cvs
(|______) anchorsearch
{pop
cvn
dup FDFTC
exch
1 index
eq
{
_bfh findfont _efh
dup
maxlength dict
CD
dup
/FontName
3 index
put
dup
/Encoding ourvec put
1 index
exch
definefont
pop
}
{exch pop}
ifelse
}
{pop}
ifelse
}bdf
/RFTC{
dup
FontDirectory exch
known
{pop 3 -1 roll pop}
{RCTC}
ifelse
}bdf
/FDFTC
{
dup
hasfont
not
{
pop
/DFMing-Lt-HK-BF
hasfont
{
/DFMing-Lt-HK-BF
}
{
/Courier
}
ifelse
}
if
}bdf
/FFTC{
_bfh
dup
256 string cvs
(|______)exch MN
cvn
dup
FontDirectory
exch known
{
exch
pop
findfont
3 -1 roll
pop
}
{
pop
FDFTC
dup findfont
dup maxlength dict
CD
dup dup
/Encoding exch
/Encoding get
256 array copy
7 -1 roll
{
3 -1 roll
dup
4 -2 roll
put
}forall
put
definefont
}
ifelse
_efh
}bdf
/fps{
currentflat
exch
dup 0 le{pop 1}if
{
dup setflat 3 index stopped
{1.3 mul dup 3 index gt{pop setflat pop pop stop}if}
{exit}
ifelse
}loop
pop setflat pop pop
}bdf
/fp{100 currentflat fps}bdf
/clipper{clip}bdf
/W{/clipper load 100 clipflatness dup setflat fps}bdf
/AVec 256 array def
AVec 0 /Helvetica findfont
/Encoding get 0 256 getinterval putinterval
/ANSIPatch[
16#0/grave 16#1/acute 16#2/circumflex 16#3/tilde 16#4/macron 16#5/breve
16#6/dotaccent 16#7/dieresis 16#8/ring 16#9/cedilla 16#A/hungarumlaut
16#B/ogonek 16#C/caron 16#D/dotlessi 16#27/quotesingle 16#60/grave
16#7C/bar 16#82/quotesinglbase 16#83/florin 16#84/quotedblbase 16#85
/ellipsis 16#86/dagger 16#87/daggerdbl 16#89/perthousand 16#8A/Scaron
16#8B/guilsinglleft 16#8C/OE 16#91/quoteleft 16#92/quoteright 16#93
/quotedblleft 16#94/quotedblright 16#95/bullet 16#96/endash 16#97/emdash
16#99/trademark 16#9A/scaron 16#9B/guilsinglright 16#9C/oe
16#9F/Ydieresis 16#A0/space 16#A4/currency 16#A6/brokenbar
16#A7/section 16#A8/dieresis 16#A9/copyright 16#AA/ordfeminine 16#AB/guillemotleft
16#AC/logicalnot 16#AD/hyphen 16#AE/registered 16#AF/macron 16#B0/degree
16#B1/plusminus 16#B2/twosuperior 16#B3/threesuperior 16#B4/acute 16#B5/mu
16#B6/paragraph 16#B7/periodcentered 16#B8/cedilla 16#B9/onesuperior
16#BA/ordmasculine 16#BB/guillemotright 16#BC/onequarter 16#BD/onehalf
16#BE/threequarters 16#BF/questiondown 16#C0/Agrave 16#C1/Aacute 16#C2/Acircumflex
16#C3/Atilde 16#C4/Adieresis 16#C5/Aring 16#C6/AE 16#C7/Ccedilla 16#C8/Egrave
16#C9/Eacute 16#CA/Ecircumflex 16#CB/Edieresis 16#CC/Igrave 16#CD/Iacute
16#CE/Icircumflex 16#CF/Idieresis 16#D0/Eth 16#D1/Ntilde 16#D2/Ograve
16#D3/Oacute 16#D4/Ocircumflex 16#D5/Otilde 16#D6/Odieresis 16#D7/multiply
16#D8/Oslash 16#D9/Ugrave 16#DA/Uacute 16#DB/Ucircumflex 16#DC/Udieresis
16#DD/Yacute 16#DE/Thorn 16#DF/germandbls 16#E0/agrave 16#E1/aacute
16#E2/acircumflex 16#E3/atilde 16#E4/adieresis 16#E5/aring 16#E6/ae
16#E7/ccedilla 16#E8/egrave 16#E9/eacute 16#EA/ecircumflex 16#EB/edieresis
16#EC/igrave 16#ED/iacute 16#EE/icircumflex 16#EF/idieresis 16#F0/eth
16#F1/ntilde 16#F2/ograve 16#F3/oacute 16#F4/ocircumflex 16#F5/otilde
16#F6/odieresis 16#F7/divide 16#F8/oslash 16#F9/ugrave 16#FA/uacute
16#FB/ucircumflex 16#FC/udieresis 16#FD/yacute 16#FE/thorn 16#FF/ydieresis
] def
127 1 159 { AVec exch/bullet put } for
ANSIPatch aload pop ANSIPatch length 2 idiv{AVec 3 1 roll put}repeat
/DoPatch { dup /CharStrings known
{ setfont
0 1 255 { dup
currentfont
/Encoding get
exch get
currentfont /CharStrings get
exch known
{pop} {currentfont /Encoding get exch /bullet put} ifelse
} for
} {pop} ifelse
} def
/findheaderfont {
AVec 256 array copy
/FHT /|______Helvetica dup RF findfont def
FHT DoPatch
FHT
} def
end %. AltsysDict
%%EndResource
%%EndProlog
%%BeginSetup
AltsysDict begin
_bfh
%%IncludeResource: font Gen_Arial
/f0 /Gen_Arial findfont def
_efh
end %. AltsysDict
%%EndSetup
AltsysDict begin
/onlyk4{false}ndf
/ccmyk{dup 5 -1 roll sub 0 max exch}ndf
/cmyk2gray{
4 -1 roll 0.3 mul 4 -1 roll 0.59 mul 4 -1 roll 0.11 mul
add add add 1 min neg 1 add
}bdf
/setcmykcolor{1 exch sub ccmyk ccmyk ccmyk pop setrgbcolor}ndf
/maxcolor {
max max max
} ndf
/maxspot {
pop
} ndf
/setcmykcoloroverprint{4{dup -1 eq{pop 0}if 4 1 roll}repeat setcmykcolor}ndf
/findcmykcustomcolor{5 packedarray}ndf
/setcustomcolor{exch aload pop pop 4{4 index mul 4 1 roll}repeat setcmykcolor pop}ndf
/setseparationgray{setgray}ndf
/setoverprint{pop}ndf
/currentoverprint false ndf
/cmykbufs2gray{
0 1 2 index length 1 sub
{
4 index 1 index get 0.3 mul
4 index 2 index get 0.59 mul
4 index 3 index get 0.11 mul
4 index 4 index get
add add add cvi 255 min
255 exch sub
2 index 3 1 roll put
}for
4 1 roll pop pop pop
}bdf
/colorimage{
pop pop
[
5 -1 roll/exec cvx
6 -1 roll/exec cvx
7 -1 roll/exec cvx
8 -1 roll/exec cvx
/cmykbufs2gray cvx
]cvx
image
}
%. version 47.1 on Linotronic of Postscript defines colorimage incorrectly (rgb model only)
version cvr 47.1 le
statusdict /product get (Lino) anchorsearch{pop pop true}{pop false}ifelse
and{userdict begin bdf end}{ndf}ifelse
fhnumcolors 1 ne {/yt save def} if
/customcolorimage{
aload pop
(_vc_Registration) eq
{
pop pop pop pop separationimage
}
{
/ik xdf /iy xdf /im xdf /ic xdf
ic im iy ik cmyk2gray /xt xdf
currenttransfer
{dup 1.0 exch sub xt mul add}concatprocs
st
image
}
ifelse
}ndf
fhnumcolors 1 ne {yt restore} if
fhnumcolors 3 ne {/yt save def} if
/customcolorimage{
aload pop
(_vc_Registration) eq
{
pop pop pop pop separationimage
}
{
/ik xdf /iy xdf /im xdf /ic xdf
1.0 dup ic ik add min sub
1.0 dup im ik add min sub
1.0 dup iy ik add min sub
/ic xdf /iy xdf /im xdf
currentcolortransfer
4 1 roll
{dup 1.0 exch sub ic mul add}concatprocs 4 1 roll
{dup 1.0 exch sub iy mul add}concatprocs 4 1 roll
{dup 1.0 exch sub im mul add}concatprocs 4 1 roll
setcolortransfer
{/dummy xdf dummy}concatprocs{dummy}{dummy}true 3 colorimage
}
ifelse
}ndf
fhnumcolors 3 ne {yt restore} if
fhnumcolors 4 ne {/yt save def} if
/customcolorimage{
aload pop
(_vc_Registration) eq
{
pop pop pop pop separationimage
}
{
/ik xdf /iy xdf /im xdf /ic xdf
currentcolortransfer
{1.0 exch sub ik mul ik sub 1 add}concatprocs 4 1 roll
{1.0 exch sub iy mul iy sub 1 add}concatprocs 4 1 roll
{1.0 exch sub im mul im sub 1 add}concatprocs 4 1 roll
{1.0 exch sub ic mul ic sub 1 add}concatprocs 4 1 roll
setcolortransfer
{/dummy xdf dummy}concatprocs{dummy}{dummy}{dummy}
true 4 colorimage
}
ifelse
}ndf
fhnumcolors 4 ne {yt restore} if
/separationimage{image}ndf
/spotascmyk false ndf
/newcmykcustomcolor{6 packedarray}ndf
/inkoverprint false ndf
/setinkoverprint{pop}ndf
/setspotcolor {
spots exch get
dup 4 get (_vc_Registration) eq
{pop 1 exch sub setseparationgray}
{0 5 getinterval exch setcustomcolor}
ifelse
}ndf
/currentcolortransfer{currenttransfer dup dup dup}ndf
/setcolortransfer{st pop pop pop}ndf
/fas{}ndf
/sas{}ndf
/fhsetspreadsize{pop}ndf
/filler{fill}bdf
/F{gsave {filler}fp grestore}bdf
/f{closepath F}bdf
/S{gsave {stroke}fp grestore}bdf
/s{closepath S}bdf
userdict /islevel2
systemdict /languagelevel known dup
{
pop systemdict /languagelevel get 2 ge
} if
put
islevel2 not
{
/currentcmykcolor
{
0 0 0 1 currentgray sub
} ndf
} if
/tc
{
gsave
setcmykcolor currentcmykcolor
grestore
} bind def
/testCMYKColorThrough
{
tc add add add 0 ne
} bind def
/fhiscomposite where not {
userdict /fhiscomposite
islevel2
{
gsave 1 1 1 1 setcmykcolor currentcmykcolor grestore
add add add 4 eq
}
{
1 0 0 0 testCMYKColorThrough
0 1 0 0 testCMYKColorThrough
0 0 1 0 testCMYKColorThrough
0 0 0 1 testCMYKColorThrough
and and and
} ifelse
put
}
{ pop }
ifelse
/bc4 [0 0 0 0] def
/_lfp4 {
1 pop
/yt xdf
/xt xdf
/ang xdf
storerect
/taperfcn xdf
/k2 xdf /y2 xdf /m2 xdf /c2 xdf
/k1 xdf /y1 xdf /m1 xdf /c1 xdf
c1 c2 sub abs
m1 m2 sub abs
y1 y2 sub abs
k1 k2 sub abs
maxcolor
calcgraysteps mul abs round
height abs adjnumsteps
dup 1 lt {pop 1} if
1 sub /numsteps1 xdf
currentflat mark
currentflat clipflatness
/delta top bottom sub numsteps1 1 add div def
/right right left sub def
/botsv top delta sub def
{
{
W
xt yt translate
ang rotate
xt neg yt neg translate
dup setflat
/bottom botsv def
0 1 numsteps1
{
numsteps1 dup 0 eq {pop pop 0.5} {div} ifelse
taperfcn /frac xdf
bc4 0 c2 c1 sub frac mul c1 add put
bc4 1 m2 m1 sub frac mul m1 add put
bc4 2 y2 y1 sub frac mul y1 add put
bc4 3 k2 k1 sub frac mul k1 add put
bc4 vc
1 index setflat
{
mark {newpath left bottom right delta rectfill}stopped
{cleartomark exch 1.3 mul dup setflat exch 2 copy gt{stop}if}
{cleartomark exit}ifelse
}loop
/bottom bottom delta sub def
}for
}
gsave stopped grestore
{exch pop 2 index exch 1.3 mul dup 100 gt{cleartomark setflat stop}if}
{exit}ifelse
}loop
cleartomark setflat
}bdf
/bcs [0 0] def
/_lfs4 {
/yt xdf
/xt xdf
/ang xdf
storerect
/taperfcn xdf
/tint2 xdf
/tint1 xdf
bcs exch 1 exch put
tint1 tint2 sub abs
bcs 1 get maxspot
calcgraysteps mul abs round
height abs adjnumsteps
dup 2 lt {pop 2} if
1 sub /numsteps1 xdf
currentflat mark
currentflat clipflatness
/delta top bottom sub numsteps1 1 add div def
/right right left sub def
/botsv top delta sub def
{
{
W
xt yt translate
ang rotate
xt neg yt neg translate
dup setflat
/bottom botsv def
0 1 numsteps1
{
numsteps1 div taperfcn /frac xdf
bcs 0
1.0 tint2 tint1 sub frac mul tint1 add sub
put bcs vc
1 index setflat
{
mark {newpath left bottom right delta rectfill}stopped
{cleartomark exch 1.3 mul dup setflat exch 2 copy gt{stop}if}
{cleartomark exit}ifelse
}loop
/bottom bottom delta sub def
}for
}
gsave stopped grestore
{exch pop 2 index exch 1.3 mul dup 100 gt{cleartomark setflat stop}if}
{exit}ifelse
}loop
cleartomark setflat
}bdf
/_rfs6 {
/tint2 xdf
/tint1 xdf
bcs exch 1 exch put
/inrad xdf
/radius xdf
/yt xdf
/xt xdf
tint1 tint2 sub abs
bcs 1 get maxspot
calcgraysteps mul abs round
radius inrad sub abs
adjnumsteps
dup 1 lt {pop 1} if
1 sub /numsteps1 xdf
radius inrad sub numsteps1 dup 0 eq {pop} {div} ifelse
2 div /halfstep xdf
currentflat mark
currentflat clipflatness
{
{
dup setflat
W
0 1 numsteps1
{
dup /radindex xdf
numsteps1 dup 0 eq {pop pop 0.5} {div} ifelse
/frac xdf
bcs 0
tint2 tint1 sub frac mul tint1 add
put bcs vc
1 index setflat
{
newpath mark
xt yt radius inrad sub 1 frac sub mul halfstep add inrad add 0 360
{ arc
radindex numsteps1 ne
inrad 0 gt or
{
xt yt
numsteps1 0 eq
{ inrad }
{
radindex 1 add numsteps1 div 1 exch sub
radius inrad sub mul halfstep add inrad add
}ifelse
dup xt add yt moveto
360 0 arcn
} if
fill
}stopped
{cleartomark exch 1.3 mul dup setflat exch 2 copy gt{stop}if}
{cleartomark exit}ifelse
}loop
}for
}
gsave stopped grestore
{exch pop 2 index exch 1.3 mul dup 100 gt{cleartomark setflat stop}if}
{exit}ifelse
}loop
cleartomark setflat
}bdf
/_rfp6 {
1 pop
/k2 xdf /y2 xdf /m2 xdf /c2 xdf
/k1 xdf /y1 xdf /m1 xdf /c1 xdf
/inrad xdf
/radius xdf
/yt xdf
/xt xdf
c1 c2 sub abs
m1 m2 sub abs
y1 y2 sub abs
k1 k2 sub abs
maxcolor
calcgraysteps mul abs round
radius inrad sub abs
adjnumsteps
dup 1 lt {pop 1} if
1 sub /numsteps1 xdf
radius inrad sub numsteps1 dup 0 eq {pop} {div} ifelse
2 div /halfstep xdf
currentflat mark
currentflat clipflatness
{
{
dup setflat
W
0 1 numsteps1
{
dup /radindex xdf
numsteps1 dup 0 eq {pop pop 0.5} {div} ifelse
/frac xdf
bc4 0 c2 c1 sub frac mul c1 add put
bc4 1 m2 m1 sub frac mul m1 add put
bc4 2 y2 y1 sub frac mul y1 add put
bc4 3 k2 k1 sub frac mul k1 add put
bc4 vc
1 index setflat
{
newpath mark
xt yt radius inrad sub 1 frac sub mul halfstep add inrad add 0 360
{ arc
radindex numsteps1 ne
inrad 0 gt or
{
xt yt
numsteps1 0 eq
{ inrad }
{
radindex 1 add numsteps1 div 1 exch sub
radius inrad sub mul halfstep add inrad add
}ifelse
dup xt add yt moveto
360 0 arcn
} if
fill
}stopped
{cleartomark exch 1.3 mul dup setflat exch 2 copy gt{stop}if}
{cleartomark exit}ifelse
}loop
}for
}
gsave stopped grestore
{exch pop 2 index exch 1.3 mul dup 100 gt{cleartomark setflat stop}if}
{exit}ifelse
}loop
cleartomark setflat
}bdf
/lfp4{_lfp4}ndf
/lfs4{_lfs4}ndf
/rfs6{_rfs6}ndf
/rfp6{_rfp6}ndf
/cvc [0 0 0 1] def
/vc{
AltsysDict /cvc 2 index put
aload length dup 4 eq
{pop dup -1 eq{pop setrgbcolor}{setcmykcolor}ifelse}
{6 eq {sethexcolor} {setspotcolor} ifelse }
ifelse
}bdf
0 setseparationgray
/imgr {1692 1584 2304 2376 } def
/bleed 0 def
/clpr {1692 1584 2304 2376 } def
/xs 1 def
/ys 1 def
/botx 0 def
/overlap 0 def
/wdist 18 def
0 2 mul fhsetspreadsize
0 0 ne {/df 0 def /clipflatness 0 def} if
/maxsteps 256 def
/forcemaxsteps false def
/minsteps 0 def
userdict begin /AGDOrigMtx matrix currentmatrix def end
vms
-1715 -2185 translate
/currentpacking defed{false setpacking}if
/spots[
1 0 0 0 (Process Cyan) false newcmykcustomcolor
0 1 0 0 (Process Magenta) false newcmykcustomcolor
0 0 1 0 (Process Yellow) false newcmykcustomcolor
0 0 0 1 (Process Black) false newcmykcustomcolor
]def
/textopf false def
/curtextmtx{}def
/otw .25 def
/msf{dup/curtextmtx xdf makefont setfont}bdf
/makesetfont/msf load def
/curtextheight{.707104 .707104 curtextmtx dtransform
dup mul exch dup mul add sqrt}bdf
/ta2{
tempstr 2 index gsave exec grestore
cwidth cheight rmoveto
4 index eq{5 index 5 index rmoveto}if
2 index 2 index rmoveto
}bdf
/ta{exch systemdict/cshow known
{{/cheight xdf/cwidth xdf tempstr 0 2 index put ta2}exch cshow}
{{tempstr 0 2 index put tempstr stringwidth/cheight xdf/cwidth xdf ta2}forall}
ifelse 6{pop}repeat}bdf
/sts{/textopf currentoverprint def vc setoverprint
/ts{awidthshow}def exec textopf setoverprint}bdf
/stol{/xt currentlinewidth def
setlinewidth vc newpath
/ts{{false charpath stroke}ta}def exec
xt setlinewidth}bdf
/strk{/textopf currentoverprint def vc setoverprint
/ts{{false charpath stroke}ta}def exec
textopf setoverprint
}bdf
n
[] 0 d
3.863708 M
1 w
0 j
0 J
false setoverprint
0 i
false eomode
[0 0 0 1]vc
vms
1716 2349.6766 m
1716.2912 2186.1766 L
S
n
1846.3298 2349.6766 m
1846.621 2186.1766 L
S
n
1813.7473 2349.6766 m
1814.0386 2186.1766 L
S
n
1781.1649 2349.6766 m
1781.4561 2186.1766 L
S
n
1748.5824 2349.6766 m
1748.8737 2186.1766 L
S
n
1878.9123 2349.6766 m
1879.2035 2186.1766 L
S
n
1716.5734 2186.1017 m
1879.0734 2186.393 L
S
n
1716.5734 2316.4315 m
1879.0734 2316.7228 L
S
n
1716.5734 2283.8491 m
1879.0734 2284.1403 L
S
n
1716.5734 2251.2666 m
1879.0734 2251.5579 L
S
n
1716.5734 2218.6842 m
1879.0734 2218.9754 L
S
n
1716.5734 2349.014 m
1879.0734 2349.3052 L
S
n
1809 2281.75 m
1809 2282.9926 1810.0074 2284 1811.25 2284 C
1812.4926 2284 1813.5 2282.9926 1813.5 2281.75 C
1813.5 2280.5074 1812.4926 2279.5 1811.25 2279.5 C
1810.0074 2279.5 1809 2280.5074 1809 2281.75 C
f
S
n
1808.2211 2283.6997 m
1801.5 2283.6997 L
1801.5 2270.6999 L
1808.2211 2270.6999 L
1808.2211 2283.6997 L
n
q
%%IncludeResource: font Gen_Arial
{
f0 [12 0 0 12 0 0] makesetfont
1801.5 2274.0999 m
0 0 32 0 0 (u) ts
}
true
[0 0 0 1]sts
Q
false eomode
1859 2231.75 m
1859 2231.8881 1859.0009 2232 1859.002 2232 C
1859.003 2232 1859.0039 2231.8881 1859.0039 2231.75 C
1859.0039 2231.6119 1859.003 2231.5 1859.002 2231.5 C
1859.0009 2231.5 1859 2231.6119 1859 2231.75 C
[0 0 0 1]vc
false setoverprint
s
n
1766.5 2284.5 m
1766.5 2310.4577 1787.5423 2331.5 1813.5 2331.5 C
1839.4577 2331.5 1860.5 2310.4577 1860.5 2284.5 C
1860.5 2258.5423 1839.4577 2237.5 1813.5 2237.5 C
1787.5423 2237.5 1766.5 2258.5423 1766.5 2284.5 C
s
n
vmr
vmr
end
%%Trailer
%%EndDocument
@endspecial 196 x Fu(Figure)21 b(7:)27 b(If)20 b(each)i(square)g
(contains)g(at)e(least)i(one)f(v)o(erte)o(x,)g(then)g(all)g(the)g
(neighbors)i(of)d Fr(u)g Fu(are)g(contained)j(in)e(the)g(circle)p
3878 1686 V 0 1689 3882 4 v 0 1947 a(the)26 b(neighbors)i(of)e
Fr(x)672 1961 y Fn(i)725 1947 y Fu(must)g(lie)g(within)g(the)g
Fp(25)g Fu(squares)h(that)g(compose)g(the)f Fp(5)c Fq(\002)f
Fp(5)26 b Fu(grid)g(which)g(surrounds)j(the)d(square)0
2060 y(of)d Fr(x)150 2074 y Fn(i)178 2060 y Fu(.)28 b(This)23
b(asserts)h(claims)g Fp(\(1\))p Fr(;)15 b Fp(\(3\))p
Fu(.)30 b(Since)23 b(each)h(square)g(contains)i Fr(O)s
Fp(\(log)17 b Fr(n)p Fp(\))23 b Fu(generators)i(the)f(number)g(of)e
(neighbors)0 2173 y(of)h Fr(x)150 2187 y Fn(i)201 2173
y Fu(is)h(also)g(bounded)i(by)d Fr(O)s Fp(\(log)18 b
Fr(n)p Fp(\))p Fu(.)p 3834 2173 4 62 v 3838 2115 55 4
v 3838 2173 V 3892 2173 4 62 v 141 2360 a(Since)27 b(the)g(computation)
i(of)d(a)g(V)-12 b(oronoi)28 b(cell)f(is)g(a)f(local)h(operation,)j
(Step)c Fp(\(3\))h Fu(of)f(the)h(Join)g(algorithm)i(tak)o(es)e
Fr(O)s Fp(\()p Fr(d)p Fp(\))0 2473 y Fu(time)k(and)h(memory)-6
b(,)34 b(where)d Fr(d)g Fu(is)g(the)h(de)o(gree)h(of)e(the)h(V)-12
b(oronoi)33 b(cell)e(in)h(the)g(Delaunay)g(graph.)54
b(The)31 b(a)n(v)o(erage)i(de)o(gree)0 2586 y(is)f Fp(6)f
Fu(and)h(Theorem)h(18)e(assures)j(that)e(w)-6 b(.h.p)31
b(all)h(de)o(grees)i(are)e(at)f(most)h Fr(O)s Fp(\(log)18
b Fr(n)p Fp(\))p Fu(.)52 b(Step)32 b Fp(\(2\))g Fu(of)g(the)g(the)g
(algorithms)0 2699 y(requires)d(locating)g(the)f(processor)h(whose)f
(cell)f(contains)j(the)d(point)h Fr(x)p Fu(.)39 b(The)27
b(comple)o(xity)i(of)e(Step)g Fp(\(2\))g Fu(depends)i(upon)0
2812 y(the)c(topology)j(of)d(the)g(netw)o(ork)h(and)g(the)f(search)h
(options)h(it)e(pro)o(vides.)35 b(If)25 b(the)g(topology)i(of)e(the)g
(netw)o(ork)i(is)d(that)i(of)f(the)0 2925 y(Delaunay)i(graph,)f(then)g
(the)f(processor)i(holding)h Fr(x)c Fu(could)i(be)f(found)h(by)f(a)g
(greedy)h(algorithm)h(along)f(the)g(geometry)g(of)0 3038
y(the)g(V)-12 b(oronoi)27 b(diagram;)g(i.e.)34 b(the)26
b(query)h(mo)o(v)o(es)e(along)h(the)g(Delaunay)h(edges)g(in)e(a)g
(greedy)i(w)o(ay)e(to)g(the)h(direction)i(of)d Fr(x)p
Fu(.)0 3151 y(Thus)g(the)f(time)h(comple)o(xity)h(and)f(the)g(message)h
(comple)o(xity)g(of)f(Step)f Fp(\(2\))h Fu(are)g Fr(O)s
Fp(\()2677 3085 y Fq(p)p 2753 3085 55 4 v 66 x Fr(n)p
Fp(\))p Fu(.)31 b(A)23 b(similar)j(approach)h(is)d(tak)o(en)0
3264 y(in)31 b(CAN)e([25)q(].)50 b(Additional)32 b(structure)h(of)e
(the)g(netw)o(ork)h(may)f(reduce)h(the)f(comple)o(xity)i(of)d(Step)h
Fp(\(2\))p Fu(.)51 b(The)30 b(Distance)0 3376 y(Halving)h(DHT)d
(suggested)33 b(in)c(\([19)r(]\))g(is)h(implemented)i(using)f(the)f
(same)g(V)-12 b(oronoi)32 b(diagram)f(and)f(therefore)i(requires)0
3489 y(lo)n(w)21 b(o)o(v)o(erhead.)30 b(Using)23 b(it)e(Step)h
Fp(\(2\))h Fu(could)g(be)f(performed)i(in)e Fr(O)s Fp(\(log)c
Fr(n)p Fp(\))j Fu(time)h(and)h Fr(O)s Fp(\(log)17 b Fr(n)p
Fp(\))22 b Fu(messages.)29 b(The)22 b(interf)o(ace)0
3602 y(of)h(a)f(DHT)g(allo)n(ws)h(searching)i(for)f(a)e(processor)k
(whose)d(cell)h(contains)h(a)d(certain)j(point,)f(without)g(kno)n(wing)
g(a-priori)h(the)0 3715 y(processor')-5 b(s)27 b(i.d.)141
3828 y(The)32 b(Lea)n(v)o(e)g(operation)i(is)e(done)h(similarly)-6
b(.)56 b(When)32 b(a)g(processors)j(wishes)e(to)e(lea)n(v)o(e)i(the)g
(system,)h(it)e(informs)h(its)0 3941 y(neighbors)26 b(which)e(in)g
(turn)g(di)n(vide)h(and)f(redistrib)n(ute)j(the)c(area)h(of)g(its)g
(cell)g(among)g(themselv)o(es.)0 4190 y Fj(4.2)99 b(The)26
b(Quorum)f(System)0 4365 y Fu(In)j(the)h(Dynamic)f(P)o(aths)g(quorum)h
(system,)h(a)e(quorum)h(set)f(is)g(the)h(union)g(of)f(\(elements)i
(identi\002ed)g(with\))e(the)h(v)o(ertices)0 4477 y(\(generators\))e
(that)d(form)f(a)h(left-right)h(path)g(and)f(a)f(top-bottom)j(path)e
(in)f(the)h(Delaunay)h(graph.)0 4723 y Ft(Load)91 b Fu(Consider)32
b(the)e(follo)n(wing)i(distrib)n(ution)i(o)o(v)o(er)c(quorom)i(sets.)49
b(Choose)31 b(at)f(random)i(tw)o(o)e(points)h Fp(\()p
Fr(x;)15 b(y)s Fp(\))31 b Fu(in)f(the)0 4836 y(interv)n(al)c
Fp([0)p Fr(;)15 b Fp(1\))p Fu(.)34 b(No)n(w)23 b(the)i(pick)g(the)g
(quorum)h(set)f(that)g(is)g(composed)h(from)f(all)g(the)g(cells)g(that)
g(intersect)i(the)e(horizontal)0 4949 y(line)33 b Fr(x)f
Fu(and)h(the)f(v)o(ertical)i(line)g Fr(y)s Fu(.)54 b(An)32
b(e)o(xample)h(of)g(a)f(quorum)h(set)g(is)f(depicted)j(in)d(Figure)i
(10.)55 b(The)32 b(bound)i(on)f(the)0 5062 y(projection)28
b(of)c(a)h(cell)g(in)g(Theorem)g(18)g(implies)h(that)f(with)g(high)h
(probability)i(the)d(load)h(imposed)g(by)f(this)g(strate)o(gy)i(is)d
(at)0 5188 y(most)g Fp(\002\()316 5096 y Fz(p)p 374 5096
146 3 v 374 5146 a Fo(log)13 b Fn(n)p 316 5167 205 4
v 367 5176 a Fz(p)p 426 5176 43 3 v 48 x Fn(n)530 5188
y Fp(\))p Fu(.)1905 5589 y(13)p eop end
%%Page: 14 14
TeXDict begin 14 13 bop 0 3 3882 4 v 0 1566 4 1563 v
51 1209 a @beginspecial 0 @llx 0 @lly 778 @urx 284 @ury
4252 @rwi 1417 @rhi @setspecial
%%BeginDocument: dynamic_paths2.eps
%!PS-Adobe-2.0 EPSF-1.2
%%Title: dynamic_paths2.FH9
%%Creator: FreeHand 9.0
%%CreationDate: Mon Apr 14 14:39:52 2003
%%BoundingBox: 0 0 778 284
%%FHPathName:E:\Writeups\Dynamic Quorums\dynamic_paths2.FH9
%ALDOriginalFile:E:\Writeups\Dynamic Quorums\dynamic_paths2.FH9
%ALDBoundingBox: 0 -7 792 605
%%FHPageNum:1
%%DocumentSuppliedResources: procset Altsys_header 4 0
%%ColorUsage: Color
%%DocumentProcessColors: Black
%%EndComments
%%BeginFont: Gen_Arial
11 dict begin
/FontName (Gen_Arial) def
/FontType 1 def
/PaintType 0 def
/FontMatrix [0.001 0 0 0.001 0 0] def
/Encoding 256 array 0 1 255 {1 index exch /.notdef put} for def
Encoding 0 /MT0 put Encoding 1 /MT1 put Encoding 2 /MT2 put Encoding 3 /MT3 put Encoding 4 /MT4 put Encoding 5 /MT5 put
Encoding 6 /MT6 put Encoding 7 /MT7 put Encoding 8 /MT8 put Encoding 9 /MT9 put Encoding 10 /MT10 put Encoding 11 /MT11 put
Encoding 12 /MT12 put Encoding 13 /MT13 put Encoding 14 /MT14 put Encoding 15 /MT15 put Encoding 16 /MT16 put Encoding 17 /MT17 put
Encoding 18 /MT18 put Encoding 19 /MT19 put Encoding 20 /MT20 put Encoding 21 /MT21 put Encoding 22 /MT22 put Encoding 23 /MT23 put
Encoding 24 /MT24 put Encoding 25 /MT25 put Encoding 26 /MT26 put Encoding 27 /MT27 put Encoding 28 /MT28 put Encoding 29 /MT29 put
Encoding 30 /MT30 put Encoding 31 /MT31 put Encoding 32 /MT32 put Encoding 33 /MT33 put Encoding 34 /MT34 put Encoding 35 /MT35 put
Encoding 36 /MT36 put Encoding 37 /MT37 put Encoding 38 /MT38 put Encoding 39 /MT39 put Encoding 40 /MT40 put Encoding 41 /MT41 put
Encoding 42 /MT42 put Encoding 43 /MT43 put Encoding 44 /MT44 put Encoding 45 /MT45 put Encoding 46 /MT46 put Encoding 47 /MT47 put
Encoding 48 /MT48 put Encoding 49 /MT49 put Encoding 50 /MT50 put Encoding 51 /MT51 put Encoding 52 /MT52 put Encoding 53 /MT53 put
Encoding 54 /MT54 put Encoding 55 /MT55 put Encoding 56 /MT56 put Encoding 57 /MT57 put Encoding 58 /MT58 put Encoding 59 /MT59 put
Encoding 60 /MT60 put Encoding 61 /MT61 put Encoding 62 /MT62 put Encoding 63 /MT63 put Encoding 64 /MT64 put Encoding 65 /MT65 put
Encoding 66 /MT66 put Encoding 67 /MT67 put Encoding 68 /MT68 put Encoding 69 /MT69 put Encoding 70 /MT70 put Encoding 71 /MT71 put
Encoding 72 /MT72 put Encoding 73 /MT73 put Encoding 74 /MT74 put Encoding 75 /MT75 put Encoding 76 /MT76 put Encoding 77 /MT77 put
Encoding 78 /MT78 put Encoding 79 /MT79 put Encoding 80 /MT80 put Encoding 81 /MT81 put Encoding 82 /MT82 put Encoding 83 /MT83 put
Encoding 84 /MT84 put Encoding 85 /MT85 put Encoding 86 /MT86 put Encoding 87 /MT87 put Encoding 88 /MT88 put Encoding 89 /MT89 put
Encoding 90 /MT90 put Encoding 91 /MT91 put Encoding 92 /MT92 put Encoding 93 /MT93 put Encoding 94 /MT94 put Encoding 95 /MT95 put
Encoding 96 /MT96 put Encoding 97 /MT97 put Encoding 98 /MT98 put Encoding 99 /MT99 put Encoding 100 /MT100 put Encoding 101 /MT101 put
Encoding 102 /MT102 put Encoding 103 /MT103 put Encoding 104 /MT104 put Encoding 105 /MT105 put Encoding 106 /MT106 put Encoding 107 /MT107 put
Encoding 108 /MT108 put Encoding 109 /MT109 put Encoding 110 /MT110 put Encoding 111 /MT111 put Encoding 112 /MT112 put Encoding 113 /MT113 put
Encoding 114 /MT114 put Encoding 115 /MT115 put Encoding 116 /MT116 put Encoding 117 /MT117 put Encoding 118 /MT118 put Encoding 119 /MT119 put
Encoding 120 /MT120 put Encoding 121 /MT121 put Encoding 122 /MT122 put Encoding 123 /MT123 put Encoding 124 /MT124 put Encoding 125 /MT125 put
Encoding 126 /MT126 put Encoding 127 /MT127 put Encoding 128 /MT128 put Encoding 129 /MT129 put Encoding 130 /MT130 put Encoding 131 /MT131 put
Encoding 132 /MT132 put Encoding 133 /MT133 put Encoding 134 /MT134 put Encoding 135 /MT135 put Encoding 136 /MT136 put Encoding 137 /MT137 put
Encoding 138 /MT138 put Encoding 139 /MT139 put Encoding 140 /MT140 put Encoding 141 /MT141 put Encoding 142 /MT142 put Encoding 143 /MT143 put
Encoding 144 /MT144 put Encoding 145 /MT145 put Encoding 146 /MT146 put Encoding 147 /MT147 put Encoding 148 /MT148 put Encoding 149 /MT149 put
Encoding 150 /MT150 put Encoding 151 /MT151 put Encoding 152 /MT152 put Encoding 153 /MT153 put Encoding 154 /MT154 put Encoding 155 /MT155 put
Encoding 156 /MT156 put Encoding 157 /MT157 put Encoding 158 /MT158 put Encoding 159 /MT159 put Encoding 160 /MT160 put Encoding 161 /MT161 put
Encoding 162 /MT162 put Encoding 163 /MT163 put Encoding 164 /MT164 put Encoding 165 /MT165 put Encoding 166 /MT166 put Encoding 167 /MT167 put
Encoding 168 /MT168 put Encoding 169 /MT169 put Encoding 170 /MT170 put Encoding 171 /MT171 put Encoding 172 /MT172 put Encoding 173 /MT173 put
Encoding 174 /MT174 put Encoding 175 /MT175 put Encoding 176 /MT176 put Encoding 177 /MT177 put Encoding 178 /MT178 put Encoding 179 /MT179 put
Encoding 180 /MT180 put Encoding 181 /MT181 put Encoding 182 /MT182 put Encoding 183 /MT183 put Encoding 184 /MT184 put Encoding 185 /MT185 put
Encoding 186 /MT186 put Encoding 187 /MT187 put Encoding 188 /MT188 put Encoding 189 /MT189 put Encoding 190 /MT190 put Encoding 191 /MT191 put
Encoding 192 /MT192 put Encoding 193 /MT193 put Encoding 194 /MT194 put Encoding 195 /MT195 put Encoding 196 /MT196 put Encoding 197 /MT197 put
Encoding 198 /MT198 put Encoding 199 /MT199 put Encoding 200 /MT200 put Encoding 201 /MT201 put Encoding 202 /MT202 put Encoding 203 /MT203 put
Encoding 204 /MT204 put Encoding 205 /MT205 put Encoding 206 /MT206 put Encoding 207 /MT207 put Encoding 208 /MT208 put Encoding 209 /MT209 put
Encoding 210 /MT210 put Encoding 211 /MT211 put Encoding 212 /MT212 put Encoding 213 /MT213 put Encoding 214 /MT214 put Encoding 215 /MT215 put
Encoding 216 /MT216 put Encoding 217 /MT217 put Encoding 218 /MT218 put Encoding 219 /MT219 put Encoding 220 /MT220 put Encoding 221 /MT221 put
Encoding 222 /MT222 put Encoding 223 /MT223 put Encoding 224 /MT224 put Encoding 225 /MT225 put Encoding 226 /MT226 put Encoding 227 /MT227 put
Encoding 228 /MT228 put Encoding 229 /MT229 put Encoding 230 /MT230 put Encoding 231 /MT231 put Encoding 232 /MT232 put Encoding 233 /MT233 put
Encoding 234 /MT234 put Encoding 235 /MT235 put Encoding 236 /MT236 put Encoding 237 /MT237 put Encoding 238 /MT238 put Encoding 239 /MT239 put
Encoding 240 /MT240 put Encoding 241 /MT241 put Encoding 242 /MT242 put Encoding 243 /MT243 put Encoding 244 /MT244 put Encoding 245 /MT245 put
Encoding 246 /MT246 put Encoding 247 /MT247 put Encoding 248 /MT248 put Encoding 249 /MT249 put Encoding 250 /MT250 put Encoding 251 /MT251 put
Encoding 252 /MT252 put Encoding 253 /MT253 put Encoding 254 /MT254 put Encoding 255 /MT255 put /FontBBox {0 -200 1000 1000 } def
currentdict end currentfile eexec
E98D09D760A3C22CF119F9DC699A22C35B529FBC319140A0049F057F42052E3A8D9AE5679F78981811AF51C2768AFEF74C3FB094B830F80CDDE1A446879430C01F07A76D3070FC382366FDE4922A7E2887FC440409174165DC0E5DB934306DC606D3
B7B01A93A226A85F45F9E1CA97A8D4B0AF250F6391EA095F49C543CD6BF92A0085A93936BB2FE277F3FD9C9636479A6EE4483E4C2D2EEC184E757DD2F7374EC2D01FC0266A42B51641F914ED88AED066569E17215A1364E77B23C22D23599BD3E278
E67D2CCF0D66EF88DF7D7DB55382093EC7F106B47184BE74430E6ACB842D3838C1F104EAFDAEAD963C3A690561DAB46A659D0369456325AF3E2D0F461086C3A88E05BEF21C28A20A6D0B7A90FB620D3FA0CA60A2E57AA39CA0D19161612FFF78CEF2
06CF8D0848984EA69274E215D9E28A640601ABD6F4B8A11448634694246CF61B6A2750257171FA51223EDBF645427319786E773D2B2ABDE62FD9F8909B21952A01B170FEAF69620842F988F1B0E2BAE8A2292873354C079C04AA03C9C5926BE331DA
CD25AAAD8279BB446F4010D8AEAFDE35D00038ECF60F5F1CCFC45EC623F95F1115C58C6C50E5DD7C9FB990784000AD59BE1F346013D019B44E510A255027D81C4C97190077CCB0339B29D52771C81AD8E756E2A7D9B0CB2A6462869D6EA161A81E00
ADAB9640BA19AD41D8696634BFACDF92B2DBC694919D4F41D09822381FD03F6C81C8B9D68C99C9EB508C9C666342D79DEA460D7F464CA2B8C2D7A2F90B106054A6BF557D4041E4A979A543395CDC48DBB13D7698C2614406B439812182273397886D
98852855DD5177ED13BC9BA3940F42784089CD7DC3D8331927710231B9E4ECC4E42AB94AF412DA745900229C58293F24FCE4A41FAC95827A85AECC5CDA85FCC8B3CC9729180E8E2B993D171EED98E995EBED9CD7A332233FF1C9D9B1470A7CC021A3
B60D1D05271A4724BF14BD7472EDAFEC89FC3B661BF594FB8BE53C83BBFD50999EA31F21211CE2B6622DAFA6D5ADE8389ED63F1D5D7963E6EC917BC6FEA7BCB3FCCC3E459374790135BE972E8742ECA6E3B846A4660A42F8095D21729CB17F665C25
EC98A6975564DA1DD2EDBBC297D5043DF8419DCF889E6889E1BBFB94E805081C7BBB0DAEF97C3924D2AFA1E5DEDE706E95E5407F72E8C50471ACA8A3167AEB52F2AF661F039F2C3DBACA2D739FBC72E98BDEFC8F2EE9638CF461C13B388D7BE7B43C
DB74545F5DF5A865ACAF9EDFC6DA3B28448B4E6B398E2790EF793B52980DDD84E4D0DFA7642329EF4177D058F30E99637AD5B2B7EE6ABFF4186627196EE21842D2F1225705A7721A0A29A3DEBF40089D30E70A8B3C27152E08F57005BB4ACFE6940A
2A8A5CCF5A592A2D754F149340E3D17636D06C224DE6600F24F2EF2D8DCCD2FCB14D904633B29668B5A8F609CBAD0BB368C7861C141F8F41E58435168E47A7F8C14D8FF10A5758C4B274D5DDF569DC08EBFCFEE7DF5DFA82D354F9A12B25F8509B6A
0BCCE74C539510BCD892E4FCE47E02005BB170E5B471FB513803A07DC243F06E09132A148D1588089F0AA3D24AFE0CAE82BBF35C135858A4FFCF60C973B707A96972FDD806E5FDDFB600DE9E9245943A23E259B1F885308E715C1B4EAA53605DFA26
70A5C10FCA1C2FB19CCFB4FF2FC28880A294D959A0CE1D9507E79C46D3E258AC6522E8C329CD0EE5FD1938905EDA6C1B54C5BC8158EF534E85C3848CE4AD0BF3491053A800989CF9942CD21FB83AAD603793A07A3977C72692FE3DC555F4D847CE7B
282DDEFEC4501561DE725345066AD8569180B25F6FAC57D67BC6F72D72F1A4290DFC5F2865C046AA3B7627869B2A0313F71E177DB4D7CAF943CCF4A65FEA097C476B168019AF8CCBC06905AF08814D5B1A6DAC4CC64D151B1D3DA77B0A58503CDE96
CF1D56DD1D2CC5A9A145D0A843CDCA50342491D2F70A5202198C7B366FD0B3E5FD37B297ED9D8D8721483B31C9489EDB9A030B51F1629D9F10728F21528F52A096A0C2E328A05A1BB80FC189915E0CE863C3E73937F93E3705079F1265C1DE82439B
D278B7C8DF4866527B67DC71949486F0D2C3503067791966DCFA4595BF3A217D52575042999E4D1F915D1ED0FD3BAEF18BC2108B50D9C7ECE8BF10414962A804DAED539A29A599FEF7F2AC3A632207D9ECAC4E624B80E4F5BDFC587B8CF256C8F786
AC97514E4C5BA80E59C5C31D3DD9402508FA9BF1E36F83B6E76A3875E78AB56999DC1060CA90A6B2B251DD9040A3B9909431453FE05EE61DC08FFBA8919951A73C43A42EBF75CED7F038217281E0869E7071B651712DBED65565307BCDD7B9854F79
A9ADAE32953A84538ED216CECDFA9B525C3BA182014CF26BB99DC71D63BBC1A897EFB4B1AB9786FAB274DC7576E213DBAEB3D57BF63107F0F58243A265213DFA888A1CC6799D2B0C32C7C26AD166951F2A9A85FB276B2F7F01FECE25548E006D0937
FA6A5693BEDD07132337AE6D71DC67BA39D33B636BE8EABB38F5AC761AB6A0F0D54B0383E7065FB50E28631DAAF68209A0A0BBA945627C82C04CC18B1B49F6F2606E46BA86E0B8B96D8F944C2BC5907053B942A7F72D03E267F4B286C618EFE7E6DA
53823342F344F7312E85F793D4D7195BB395EC0B935DA525D874207EBA227E421CF610591560CB9C1C71174AF879E79C38F3D50E8CA7D61DEFF46C8AB67AEA24DC9109F78D7E0FA31BA5739FE3653C2BE94EFBDAA4E4158F037D432CCB95AC279C47
1A6227A62CBFC7048C7ACB78E7A4712D6E7DB29985A7BA957140632B718CD583895A75E0D0139616F86853A19161D8C553D667AF2059629237EECE2EAB0D374A4F4715B2975C090C7C98F1192EDC8E2F96EB664D1572FB936E9737345DDA82B4F0F8
9102CB5E9294DC92A321B63B1388D1BB1CC68E55D1494ABFD910CFA7EDD241B1574832549329639EAC0FB97010A5E23244A6CED091252BC468D6807219775E5FAD91BD58996EE945582BE0473F6C0C85476095CAAD9986BB21AA0C4BB753046836F5
4284D6DB463A46B7139FA6E14AF2938B61349439FA1548AC9FB8410A3DE2AEA63DCC97C83D63F8B23394958996AC7B51202B459C05AA0E0C591DDC6AB256B0BD9A4BFFA1D05E33A980F8690F0E67BEAC24EE8DFBF540AD1CEBB60C9DD75E914F1FC2
6DBFF2874A42F7FFB75BB5BB772AC0B1230A4865CBE2F129E0875B28C51EFB50DF231A481089978E9CEB06991FE06E1EDDC578F5E65B24B6C6DBCA5FD93BF8A296FFA024D08E50B55597E4846C1094F0510DB73BD0B047B05C3E7E65F0BE6327729E
C724A4BBE6F051A147BC356F02D37A1C3EBBDB16D3F48A3C87DFE6275E4DA189C35C2FE38508EA262060412360EA0587CD51678243D2C3E6301E2A4D36F87076CF8975A79633763BBA8206DBAA13EF3A53701D00FE9D0B813E1826F2742806C9463E
F4A93F1B5800A86A8EB1816483C58F2F27B70623E9C122F243C1F559D59F1E84903FD9267E66ED1D97CDE46965A32235392A280E9657333206E35388F749D54DA8FCEB2D4AEAB07D6847A14EF2B4D69DAF8E51D19A0DEDEF4FAE490327DF3A96F8A9
6DF172F1EC716D31671F78C988DE62A97ECEEDDC306F975D87EA8A758F2D81A09C96472574CACC70F1E92973C3356FD5E5468679113C757004E2B827FB83BD7076C7386F50A336E31083828456F099078346BE95CF6D2F2B8E91C45A34EF67C5BEF1
BA8D4A95784DB36FD5615B0FB42DB4EBDB6D3C25D284CECF5FF85D417FD76C136AAC433AAB1BC6D034D72E5C9A63FEFA199406E2D79C2ABBEDD4880BD35DC8A1DAC89757B3E0D9561099231236EFA0187802017E2A6BCE438D42FB321610FC854C08
F70A1822D7113919D168DC4C69E10C38431D1A9647A0CE94CCF0A011338CAC0459ABB741496754AC59E2115D7B267952317AB664649D2CC8CB396784B5C0327C40293A18A3E759897009691EDE49F656D94F36A3192C0C44FF9C11D36FE360E6D3AA
CF095FE69B8D77E601C53D3C074EECD1382A4E4737F4D049726D8CC60470745A123B41018F1268429BB5021989BD85E8A1A2DECE6F35DC0246C1FF7FD4AF754E57D1BA7786DA1B030A9046CCCE2578D664659632959D64725E379DC2BF49D41A5D0F
942BD2C7910BEEACB38EAD6FCF7269592557CB96255261B875EBF58FCDF602F26C2ADDC8BD6D3D5276F57E589DF6E63939D420DA77F8D84C76CA0410A0ED52A7AA63ECB8A1449EC7DE0096B0336C43D8C28B243B40EF3C1CAF9CF2D8668D7D6FB632
B3A7D6C38A0739E35FC0F5D53D5DE2D0E8C558172CC9ECDA68B50ED528945DB64379D1AF20501E426CF00D7A73911844D848FCF0E9C2E0C44608E989183599EFD28F61196BE0190E9CA504027D0FF3FA289A204B0141F72F23FAFC739DB9AE2D5D8A
6CF9EA020235515C763E6E24D2447DE009E1FBBCE46ED405D1BCE2617A62412DC283BE12BF453506BECA49DE590954D1243EEC1B4FBE3B29539E211E825B1CBC55B0DEAED0BF8A2729A01E1FBD66EC692E6636184653054867182F962BFF782EF836
1AB643A165B9E0BFCF6080D1460B3D7734BDE995C9BED4ED6DA4C0A9F121A8F74E67A2339FACBE6437C14894E8AC41958DAAFD6564457CE00E3A5A483E6923656E924A9A968002A414D13B0553F81E69C74F7DD0F6A587D9864620B6ECEA6318576A
6F2FE12F13C6A61D12F1651B03236C930A19B82E14EAFC5B1427555E72B2D70C72D55174BAC3C53C95E57BDD1602E7AB45829B3185A7AEE3AD4693B5B860C991E7200992E5572396194BF7F5A6DEC6D5D392D5657FB055269D4B8AFD7EE09A728E1C
975EBFAA1F8430F7C7563E306B051E19AB8AABF3F671D911259B311AEAE10E92BAB04B8DA33825A6CBC1CC37ADB6A018BFFDB8B83A5B3A40C92FBB5DC2B1BB4FCB35E1A971AEA49780F0BA35EA89D5C944D5CE3531E6A64E8AA5A9F297FE3FB2ABD9
D46C309EC85EB4131305F4E7165AC7A6D959435AE8A5A2894DE43BE3FCFE121CEA7DE5AF008C47ECB065603A8806B898734FF7B40030F11101FA635505EA38D1FD43D2DA887FF63B6BBD9B1E8C0528C007AFFF2E8ADC843443073C0DA0B534783F8B
30B43DA4FF0962C22F8C0CB7CC344DBBE90A78F6B4DD2A2B49E3E433C03BE35EFC8091B5E24F43A7B8EB4ECB28792834FEDEEA5D10E7BF8AA38F1A31AE7E23955295DE2B68728CEC30F2D2E3832E272BBFA74C3C1890726C7A2AB38AF3B41AFFB66D
B18390327086E2501E6D25CFC99DCAE90C7A634F67FCD9641C78871206763A6AE294AC87735C4F64B26EFF26D6D89EC06DD890E97BB8D4A443B9B97401B982FA16E59C55091C224C5AF14CEFCBD99994642A73EC6D1935B7F589810BF700EA64D3AB
5318BDDD83DAD8F20A89703DE94A47991E68C4D7311AE781C576A799CD88744E4672C8751AF7B550C9549096532635B98C501821876BFFFD1C207DE96028F0DAEDCAD112710A2FC238CE7E0F2389EFDCA6A6F19998AAD4DC86B73EBA2F8FD4EB96DE
1F657E2E3312A22693F248F93C498ABE5D642809EA4FD2983D0435C0041926F6438FC049940E426FD3348DD5728FBC51758ECCAA229E59F5C9BCDDB060E922E2FBA362903BD209AE1B917F0A24ACE1C03326E097BB25DCACD908440785546D6FF99D
9491FCF5F6861F7EA3D438FA92E6DD82E7EFD9BA5DD3472513EE8AAE5324EC2C7C24D4CCEC1D6AB7CE620F5BA97A833A1774EC4C5AB2A9F76F7B898778AEFF90C23EDCE6E0A38E42C10A4C41EF3F462F0A3D139E233E6EAED42B2CC7BE30C4709B12
F6AC4375C48A0F7FFA8E1813BCE3F8B8FC2D3835321314F95A46937A07BC7566FB964CAA84A4FF8EDC961C8B5FD89289E99F075E7B4A552BC07D3C98C2DB412DBA2030EB05C4A163C252118790DDB9F44AAD8DEB84DC164FF7FD770E67054E584AB4
C0584CC53BB640571D3DEE0305FC9C35460A61461A47BBEB54CE5D340FEB651DF27DD59C20D63E209ED1766740DB86E3E666179CEFBE8EEA9D0A58E781C7A9926728BEB90E81FDB0EB0A29CC7F9F34F2CE153F017F4BD3F619A8806DFD19CA68EF57
63E7434B8CD96857805825873C22E35A5F0F81B80C9D205CAFFEF92A3ED2B809BB0E21B60A810847B692068EBA1054F8BEF36FA12817B722AA99D3AFEB926D068F556D6814D48D8485644A0851BDCF22294E4A4EA1EF2A742C6E7F3C0B5E2FA4E0FC
E76B25019711CA322D3D29C8FBE4CA5ADFC9BDA8961097A3B8E074C48BD7B7A49F7E60046529AF512A1660FAE70559021297F1A6CCFF82A518E81A60BD28E7F0393FDDC919655942A9DBC802B6BBCB68C2A48BB66559BF01ECA370EE6C22759D5D3C
36A07364EE9B09D9740B25B9574F25FBEBA5932674A698B06DC9F01CFB4B5A09FEED558E58B7E0428190079F21D690989027AB9043E28F1F55F3C888FF35791CA25707DFEC9740CCA239E41E9DE2A804BFE3E60DE917F19355FAC1204265F8383842
DFB580D3A771CAE09CF69BDB40D8A00B18D07E28B2289251AD439259C8A40E3253F2D481495C090533C039A426D9DDD8662BBE85524205DE64276F7ADF76A6B90ABC550C01BA9794FF0578EBDE55C905E8DB24A7377A5FE6C81655CA4AEADBC2AC00
F3588D5A85FDB0ACE6C224B8C6FBB660B2667C07644A15B02AC8213BF7A58BF7734D45F530DC182B2E7DC0D833E51014E69C089D268442B7E6BF6EFCB141185F2617FECAF06B97B279C34CB73E154A092E4197C846C2B904EAFFE06744A6F2D97BFD
4E200E93DA4BF5AF3C39A8F03C3115FC70FAEE0E78DE5D08B4D1E010ABC316E02670937BC1BB3E757D1F92CE810769EA132C8452959D5B786E30183410F18E87E5557591A22EBFC411DED7FF4F8757E7F7316248BC3899EE193B4AEBB76D3733666C
B038303EC1596066B59C9DF660F16066FB4E2E2AE4330EE6F27490996A7F3B2706CBCD85198C498CB4FE622376CC7E8CAD77817FFFBB30EF239E316E3D315151832BD5A48B6926CEA652EF1AB68C5137A439CD773E5FE522BCE7564429E4F4E3740C
51E73027FB47DCBBDC213F27E172CBD69DEE143AE6275F8B303A038579AFC3266A10FED5AF80C2F88BE0E10FAC7C143D3D5D3BBEB749A800248AEB49B0D986C6E9EA5900E84F2FF0A9EC997D6142526BBB1CCAD9221F36A82A5F9825DA31029B883B
1C29DCC6893D700754A9763ED63E565FD5D68C89247D997C8C1587B9B59B339C4719CCCA9574C393A4F1EB85CD4791E7BFABE70B1D9845F528892171FC4797EE2BE915F765BCAF1EDB65FD2B7C4E1A35C2F6A50AC7985755D10C3C068351A4E6E946
018CC1CB6598A5A2257ABDE5AA4E42134FE691338390B44C3823682B207685E548020F1B8F324DBE4B8531A46ADC864D16A4C1E5525C3280628796129A34DF6DE02BBA932ECC7562356C38C66FB45DBB1A45905D5D1A10BA6C48143C86C29B83769F
6125050532563E129EE23B759465AC78AB1F802CA2376C8455D5FD1C0AC5835F098E90307AC925134628EC9F601795B1E8CBDD7DAC98BCC0F59C08479BD590B225F1FABBFDA3DC295F8AC8BEEDD37C6E8290797B6DCFA1D1D0B9C0B7719427F949FF
CFA845B0AD75482B6849335BD54379B520F875B2DC66F63A8B9B79F7E00AF58474C037E2C93FF402CC8DC79E955333EB27A081E7F893CD3964A232C142021D40705D5767A87053F12883657C25A7C8A24618CD668971A0DB800BFC2A7B0971D7BACD
7B1CAC6950EFFD55BCD019A4FEEE7899C7B4D63B3E05A2FF66C311EAF0599E5526541848AEF50D915DCAEFEDEFDDE15070FBDCBC23B0F98B75B144A315A60FE78A03BBC23EA33C4A304ABCA885595201A77942E254B747DC323F4A032A1895F77BE4
84610AE326097064A3B7792843FAEAD56AE526B30692E97A42EC99B0C3F93E8910734C32EB4D7823FD760A4DA7E6EA76D91F4268161B7B47528F71F330C82A361D1ED77458E5F67748D5DD54F326CE541CFAE5B17E9D7B867477D92163EFA4944C09
B4037189A2307D9A0CC9D78E02AB581649BF0CA4592D48E1607B851CE215FAB95A190BF220AE76517349AFBA879979E9DFB9E5E3FCEC5454E94FF3E9F7A09328B299ADF64CD897CA32B8647C2CF6CE9D323CC28EE10BE6610B08025D0769C98D7EF0
F1A9F52CA02C5DCD1F79552A895749F3339CF26020C3AAF5F66D4CA943EA4B4E18B78743E94F17AAEF29B1E8469129FF5DE2A957812C4BD0DD2B0FC50545B0E85CA0301DBBB14F785E0AD66A1BF55B8EEBA5D86570DC7080345EE0EC1241EAAC4CAD
991C4DA475E08AAD24A176D0013F41EF1AA51679508D5D790ED53825C3909C43884847812BE5DCBAE053C83451996EB44FDAB5BE4E26F27565EF2D8812D28539970CDF971DE48B9D165ABBDEA360AC1A1B9625501EB08AD83B574000E8202BD0F10A
5B447247C75E4EB2BA50102AAE6D542EABB5B20577874D8F55717A7F24AF9ADF66C21DB3A62F3CC6124D6A7F0D5F63ED807610F3FB01AB661FA78760EBFC674CCA9A4190F6EAEBF1681AC38F764585D7B63CCAA099F31FF7BBE44E26068E5C065A5C
C3DB19816444E8FBC621C79B00023810D800B55FB87FABA1CE02628DDED7165FD06EB84A5FA7489DBF8A9459F59BD206697C0D80B39DA4D6884B131741ED6AF9346CB0EF98C67463BFA01C2DC32EFAE8839D90FD929B875B9B3EA80BE18F3F292751
DCEFD959C0E381EBC0AFDEB107AF0E5DA7C28EDAD872DD00A991A3013C7346104AA6D014580CC6AE3F0688B1B7D3AF6A5969BD886BD169F97E51DB9220D3A3C8A039BDF891AA9676EC45F651719D40157032231C869E09BD3327B5C9950400325791
116CE38EDB84001301DECD5688D0F20F9BA018660CF03ECC1809219AE23635D44F7C224CDD7D1D84503E1CF9E958EA668C12AA5C5F5B164549CC6D8F33E002AB8DCA970603171DADC5563B0D4692E36A627B7F9713DD1C23562E959083FBB3763AAE
3A6A9B5725233B146A13D23A2723441C626F674405B68273B6F92E8122B56A0624AED69A064C163DB574BD8D9B853D4B2836CC0017161CC09C29CC5D5E81638A910E0B0B08E03A369A2BD97CCF4C92925FD2773DC236F92699E08704E980D947D46C
F6E12FB2C68DEE343E43AB650852086226944BA7C64069DCE959696C5C9AD33CA9723DDB4E709EC62F9FAC2C76F5F16881ADB0725E70FD24E8F74187248D7A209D1C7938379AFF14D4D8724E67F84B5656B3EA8E5A7B831255A479F042EC62340C1A
3144CAA1C4F19CBE7A66329C213D451E18A29E89D5255D5BBCF4A538D80E0BEA16FCE03D2F79D939DE3A2E0B61F8FCC44F072F672B1890143CF52E0915A9B400902F9C823CBC7D626E4871A23F1E16047DFBEC1EDB8D84788538D053AD92E8031E10
076A84AB9AD5642C8EFB7EA23D3456816273557479F004525DCA5602B2793AD675B30ECC2CA921FBA2C77DB6E66AF3D821517EFF0A645381BD1EA48DBC6B9459D25E7E883A14DB1DF5A9859C25917E6590D9AC0A8D4FE1987D70F5F6FBE69B2E04B0
68E041402CB6571DDBF6C82525E4178AC96F350A5932A83706CBBCDA9525DDCC083560E487D602611C5E4B8F61779A61DA8AFFE64BE55E3B8332A57021D96A9FF1D2FBCEE85A0C7AEF2E808C7BA49EAB108EC7B5528E1CBC5FE21A63B6749349FB8B
217659EEDE0C55827383642EDD2C31642DBFA612AB2D66F66956ACB667389428D9D389DFF7915D34EB540EDC78E65D1DAE61EF6653C6A4DA98469CD7B2E17740038BD81EEB581EA9632C02E3ADE8EF0D836AF8A157A8F4C44162E2FA2699DB9560E5
A88893D062A77848D37338E74A7860488CF0AB80B1D9B43BF2323F552317A4F060BE1B6EB11202BF2F578E32CD4B7E2CB856B9DAF592A769F676E5637EB82B4B6D5F3B8BA7BF85845849F09B079E09B8D1C5285CD82F44E2E9E99DB4D0E9FA938115
77FA2A336E291A0AE53506F8B3D56A21398FCFD9A24A015C2651EC7A3E17B983189F23335F0F128A2CD57B3BB61602F960CBE2DD72D2CE3FA662D9E23C896625ECC7FF846D7B50B705465943C7666222CF584C53F946C90A2EA7BFF796562D2150EB
3B1067F90325A1A7A066CCD681B5BB684D634CF180F47A0A27DEA8B47ABFC1A2394561E548F13F52E0711F02AE6616075CD6AA1F733C01B761BD12EE136DC6B6889F09AB4F82EDA7E5D330B26397090298D52FB1924F306A1889DFA820989B802A9C
3D15C3BDC44DCB4FD5A14ACB90A947C080BC24CF0704683AEB42F9AD8C2726F86E361D88A363484A79CC9AD3AB8669A6912131DD370E21AF95EF7C0A8CDF176D34C20C6CFEC8326457A0C9FD55B80AFF3C8D5AD8C1D77EBF50EEE85317CB6D81A34E
0B6636188E9E522FBC28DA96447F7F93CEFB1ABF4911F6B555EDC52014EFDBDFED9A0D1D47F30358E68A3B8EA7C4A8BB4AFF35399EBD450FF299084E48185DDE26B501A316A3B23B4CF7CB88AC036CA6009492C334E9D0D67EB05A5516733CF92F31
1F7F19904C20415EE9BF8CB7C8E0E3AE9924A3266171522C3CE65869FFC07B0AD2C3841014521B8C2E8CA4DA22B32FE021F75B8AE64D4AEECB9C43BEAD7C22549CEA7C6D32BBBDD356047FDD4BD7AB13C606C3EA1DD6A0C8E1B28BF0D2E85E6E606D
E74594D6EFC9AAC9250CC3A64E6468946DA78F9C7E1B6F4765EDD46D064983FE8424E3677627CF2F1F0BB56EAA5B828B49975F11776E4FAEDEAB7ED91A26AFA542C294E11300B358B1549567CD3BF779B81A6E11D02BF40B33F09D66C2521F9AB5BB
FA9DF74A3C5110FFC03DCD42FBB3E875DE44ABD5A33E9F61786DCEF5A798CA54E83CE5C64B7A397FDD411311D17A5F5AE9710212795B3894252DE391EE65D6F28709BCD7E77161E29F7F57A14C9896C451BFF6ACF9CA130999457B8168B1C9984989
A81AF32D9B0574F63F6042288E647803C9CBE25542365EC4CADAD2A495DEE1AEF93BF11F03BC665E74FACFF26B622435D4243AE53A7D864F2C9EC76B7B51B07F49ADC6F32C77D77DAA5358FF27D10AA16703E15239698C234E014D10E08914861EE1
9C4F0B7B6076CA4A4D13E17708A707FEF70321D29935C4AB38E189F05486F457B5AEBA634A65784907BC12170EDCE94DA57FD4860F4BC669407463C6D0666C3D24E17247C738D43FAA18CC87635AB07303DD83B39B911AB942DBB08A06F6A0FF7A5F
1DE655DC887AF3D9F7D6819FFC12BB8F2B13F208BCC17BD39C5616DE12AF4388B8BB5F5311D2A3D645AE6FEE9D8053593B01653F026A185504C3CBEBFDC963AFCBD90A1DD2BA61FA4D5E4A384094A158FDEB63F958AA8D8CA3F685BD83D0368384CB
3F0FC1B0B22732C4A9A933F173785884D44C93A0CB9CE7518515CA49700419DB52C3148384354E6966BB1DB680E666108E4631E4BDA6CA8E1E003B02B9970DD7FBE452EDAFEDBD3D683100A79588B7D6D04BFF75FD6A5BCC6AEC06A251FD36F9E58B
B5CEAF3A8DA0AEED24225D71EDA4229091C393E271BE867C86989892ADBCB499DCCA87D9A6F120FADD93FD11CECB555B3BDF6CF5C265F9E4C720E462A75B1AA79F68117A3EABF0135DC2A2D38D0112114E030E43A091E31494D41892611CB42DB787
602739CEB965B859ECB0BE676FFA39042C61E38720E5A7B75CF7854CEEF853AAA6563CC8AD1DEE5F4942344AC6BC012FF9F21930F39CFF8D324A5EE20B9B9BC57A2B9B10BA40EE9B48321A5C231850ECB7DEBBEA8B245E215D1A74D849E0A4F7EFDD
C365ABF684DC0B4CBD403B4F0EE27D33D6BB982AB520C8E3B16B4162421A4FD0FE6AF0DE54C59A98A072FC9D03DE51C4A4336FE9F157827CFC1E8DA934451F04D79E32BD3C8B6006F1BDCBB25E69FD6FA41EFAD12BCCDDB1E7A6A21E4C5B66FC6704
FDD839A1E7A8AA97811F6000C0F798F19EF2E2193FC22D7A9E25983103415767592F587593C8455A7D1C2CFCA5D0AF11EAEB7CD63176D47B9B53FAC5E0215E86E92D4D82F06448B59E67A2EDD033FA0A738D32B8D3B8F3DE67519DA6431E6ABDA86F
C320BD84328015F2B2E8609862A50112384CCE75098D793239099C37BCD11BCFB8BA722698B90CE796C32AA233FDB7FC26D03AA84D4EF8C98DB72C8D08BFEA8A6C6BFFA4FA3258EABAF678AA3183BA6DC887A62AB6949D684AA58110272F2EB81C34
40A87FD21CB74D20669BE08B671FF35E31BDED58F03973BD07AA22783B7127785F7C9C7697F7123274611E189FE37377553E1C3B82B7A591C271699D18929CECA438684ED96EA37792C3D67F95FC6BA62DB7CAAF77F670F602215CEC9308BDB011F8
9F107159CB02FCC3DAD745784D1CA0D8DF3E020BA03F680C53C673A7EC3277AF0AF1A4008268B283109BE94A3BBF8DBE30303BDD817EDFC807095274CF5B6BA21B47A2C431ED3D6F78DA1283C8DC54B509840C3ABAD3F1CDCC7FEF0DE399A7B09DB3
210E5589F463D3EBF615C31B7298C66B66FFD0B65D5A4CD7E136407852A96F32EFE9EDF8977B3027A9F6D682EBEE587F14360AC4B888B122558CC1C62977D0386EE667E7D1062B90B487EF0E710291461427FA3F9BDC7A9FE0AE549177907F40FE77
A0ACBD3F67F8B017CCC8AF4F5C7A144FCCA8770FFA6C2DC1D3F28D1C44E7C6542E3AD29E02307966E5B38E1353C02B9EAD3A25CA7DC6CD443C579F23546A608119336CD7A36E52DE1052C267CE6604CF269233AE9086B6A98080A3F516D578BE65EE
FC89B2DED5D2A498BA6DC69846885B589038A06F808A12B5D6C7F156BADF6BCC93D1AC9E34F7F491C69B2E4463B530CDF248851EA86752947243E1FF7C7B3DB200E617EC131C437CB3856E487FF169E9F00B2791B4DE39BE8C4FEC25AF18A96E78E9
5F2D645FDA4D40A1833DD2FDFEAA0CC7AC8FCEE4623E48DA1F0F0523008C56E1DDC919F72FF504823D7F4BE7EA63B81C4EA0BE4E5B09A4071D55EE347C82F80E45367608CEF8D83AD0D883325AE6386DF55D2EBD9D34AF2285CAAA896C85D213E6F1
769CAB46C220B48D4F16F1B5E962BBCE9CDDF8DB0E214E4E5545FF91A27912763EA6B20794BDC08D45E6201DBCC120293D7EA1C27A43D5B2EA7EBFF29863827A4CAF663E3EBCB2DC3CFC32804E1F201A85E1C492DBD8F61A4C4437B9E46F857CE952
95B3979791D24CC9A91D57E68C1C830FD3370C522E7A1E17E0A520E1D7E950B12CB5684D4EA72980923977E9F5265583191C3C9B6923BA328F60BD14F6E4EAB800A56FDDED5E27A941E7A8023E07735AAA7F244A9396B1BBC41963C0D80D76417EAA
D265B3721C9E8BE4FBE50BE1DF92DCF885A3D34D5019C88E6252EE0010BC8D975D93DA393E2B0D6A7EBA595E3CF511E84967A4CEC6FC5292A95BFC825DF80EEA7BF626ED14F1C69CACFF973728334EE6EC07AEBE14F769DEA101065207D9B311D93E
DAEBBB495A8CF21896DD2074DF4EEAC3CF934AA0F5DC04398B49B43E619A91A3275285DAF560741AF088CB5313AA026DC91BFAFC0889E74812406D691B856A5E9EF3E2FD22292EAC1AF52711A359C7A89D8E9E0334F3739A40E7C7529964F5BDD69A
0132B40171C8749BE01DE05B2F9DBCAEA8108A2649D2BFD3CA83FC2CEE53FA3FB2D7B9EFA78CFAA252881B8572D955711DE100AC27AF0877CD2C1C89A04CBEFC72B40099C97B1D67F4E253D866082E9A5B34F6998F97E2FDCAC2756E95C19E2497C5
3ABC56A2BF592D239EF7C0B7A1F80125824DF4573E84C68DB8FA330BC30193D4103C6307302A802702A1264D9C62352A2CF2DB081C005F9BEDC5AF0009B4091C585B295CBAA62DDB4E38D9D7125A0967428AD85E40B32B0C0CCADB597E64906C25B6
4B8B73B617DC7305282FCF878CC5B53D70F0DEE9ED0C93F93EE7EC897D3DCD27FD0EEFFF40045F62304796A853466C71E506B061027F1672E1AA768D18832234AA55C1E443C06CF914E676DFD9E9D5F84C5849EB44BB1F88ABC9210C3FC52FF084D4
2AEBA54FE4AC0756FFCF0E1E040BF19E8C46B6BBB00F1E11A45C259B582C5C5BA989A4837C66BBE7604C9580910F67422CEE3BA0F7DCFD65CE890B74191ADA59AD0EC1AB9BC6D70CA3C33F00CDAEC7162F78E710AB4D160B857AFF1F4AA3253B8A3F
6940D5EB2D8DF2C3F2C0BB9742272ACC5DAD8AA300456CB2661C9A73386343E254C2FAC4B6DB8C0BB9D31B6213024CD922F98F5F3CD95FC390BA8E00E90BA2B0BF5ADDE6F92993FEB38A0C012DCDF9719F417C42752609F75F08304F6523C39C8D19
20CDF5996A9DA6A3738837E08CCA59CF3578F4AEAADF5C4BE38D554239A943E3843BDBECDF672A00A958F602AA5BD3425FDE65882192FD08BA5617B7C3DCC1D7BDCD63FA8EFB8ED2131BE3663C9DA39EFC38915DE375C859E622F2111098DE3757CA
51DE48272FBF943BCE16EB04FE1CCD1556AAA3ED849F039514189A2ADAF2F4FC7FCD6CE55AE514DFB0F5AB7DD1ED0B843FB3B07F1DF46C428EE08135D841BCC0E8E2290E265C8A8833130566ECEEB66FCEFB99A969F922928A5D66C62C51B30AEC29
D6B2DA777926A0E48799E84FA51C8F05E48274386D65B66315028E785D24E1986B77DAAB2080FF63E35D0531C6B4801197B62076BEA04C467AAA1D5B5670952E009DA4ACA917EB9F9DF3664EEB9E65978223E500F40D0BDAF7A4944FC0D4E161E5EA
44EDFC22649E1D8F9A9989D0918311F0A00610ADADEA56C327E76F8D6EF3238FCA7070473DED607FEAC3E93844FB9A86F0F5B0DC9037811451825E6F4BBDF999B82C192447AB81C6C7866504F01E61919531C36E19F49C5C5C05D4880825A4694EBE
5A83A79FE04E052B6D2ED57DC21FCA3FF20384B475D5D992F521B98472C6F57AD272D9EEB23E2AAAC71B6FF2BCEE61A5E76CD87670E707C0CB4321864E9BFE1BE6531C6C470456D93C3FF55482C9B72F62A8484A3DB66949060AF110CCF910A75A1A
BE1380AE1AC4B58312720A6C915E75FB68068FB32FCFF1028DDD4BA62142E6A262A6D1B85C875F1B8647700496E8A1C27AFBE68A568400D6DAD7402048124719A75D322F118857F9A0AF1508B49CF9628F0C71C6938018951ACC249491D2E47104B2
80D72C36B7DCB5F0D5ED2E25D13BF3B958CEFDBFD028BF4731DD87C8A2837015723771735A2B4E6DFF4A98B678D036AD780CF3344F18312096DBD57538C6299EA830FCC0B76DCA2AE3686F7D7AFA5D89D726B42AE0982E1697013123260E8984206E
2A809B6A7718D2A874855A71BB6FAA18163E248F87A9D62199529A507F66FB6CAE36441E3E7456D0658654DD64B3669D0C33E8D051EAFBB90CDF87A16E4F9AA33CAC19173A96ED9335D8A5047572C17BADB9100937CBFC138C3A0F2EAB77EEA79CAB
CEAAA0D162B735B16B0A72B52D57227892EE10FC16C9D6361DC918ACE41DB514E15A1FB0AAB41292691DBA3D105FFA4955427005F69710100B0D30DF02518DC3A324363F45F29368D8AEE2D31AED369B1530D533FB88B85C770F193BE2E0DBA706E8
248DB8AA9CEB0136CE4F61708F22AADE7ED0974F0674315855B92FBA9A8AE10C7C7AA0B75A6D767A3C5EEB2D8C0C00D6886C2AE2359AD25A67D91EC6D5B05686A2EE2ABF4664895D22080DE087DCED250FA05CA37E7D0A6F00BD65B922D307717339
9080822E3B92815E8BB114F2B296937AFCC3C1959747F4278288F740AA97C11366C6F413DBFE1880B27813B7EF00CF1C58DBBEB16E92C4DF86790843A153A3BFF0D814E335D0DDBC0977BE98DC2E85472C5D482DB5AD43DDA2D6104E100ADCA5B1BD
E3165373C59454910F79371106D05D593814AF6478822CCA4FDF7D76C9DDF18D74A23E1A63158ECACC084CB35B58853CF70C8692FEBBB9F495271E0E9923337FD0D54247DA0C7E427A862ECD81A736E8D9BAD32D21A59D0EBE014A3FF278E11276DC
367134DE8D5F71354C79C5C4D555B22D5448E475DD1EE181914BDEF152CEC1A778F54330838C33A1B8B112A94DEF41139174DEE877D949E2B3139B1007445F72540B174038AFD2817DD968C45BEDDFFF5DF2A33CB7A19864A66F77DDF5A1D12BC51B
B821AF6AF1980EF850F44198BA633D86B929586AB67812033D13B404918344869212CBAA0931952ABC98D6EA2BF6C9D38B3D7AB7F54BB50DE36AA32ACF0EF84F57C8448937EE5BED1956C075E8474FA138F1500782EA3BB843430D8AA31959D2B0CF
A4074BB42AC5E97E78A0F46389A07465326845E9774C181BDBDAEB9B8965EE7EC2961A0FD8AC7DE0D3A566447BE18AABB3C8695142D003B00A9FBE46CF68C80EFF5E8A7B035D241AD41FAE4B36B50EC2846DEF1423B6B1DB604EC93202BC27A994B9
83D28F5218CE40C87DF177950F024FA0F582117A10A8BBD8353579297B4DBC36856F38A8512F00CE45A87426F92ACB80AA7307A1C9787439066A299C7B06DE742112584C07C889644FD124325E9AA58AF7CE7FD3281FE722D2622C3A6DEE1F9A249B
787F7B16DABBB020CE3D032076F7DF160E4F211D81AA573F1C281D0E3A558D5AFD76DCD00C050CFE4EA3A86EE9048E1839C47FF3FC7F364FAFFFC0E3F084E7684CFB80D420E6AD9051D72F2DF5AD435ECC088E2501D29C740584772F738B71669DC2
84C62054D6D85CBAB567D05D6B9961B055AEA6D9178E96CA88348A3286C86202FB1E0E0ED9DDAF70110818BC8FC511F076A05AEAFF34A7558B5D3104928D222C24C27B26B4597530C9325FA87525E1B32287D17243015393C1B3E04F8D2F1516B77B
D4CA5AB9167E79C3C6229B808368E0A4E7720790727AD8CE358331BAA060489F26FBB8FD26D084DC10B5B4433306F3394BAE24EB0B82E7BCF3250AC88BD76569FBCD8750D4050C4FF303ED5F9DC745B4A0F6254063AE8D6F0E23F50E6B70D041617A
B8E577F2C150DC44619AFA7D123B500E6619C4006B0C0E040D46E738004E959BF30E98D8F5EBDFD464CCFB628F524C11E05D511343840C473A4A64AEEDE375BE98CDAE8DFCE567362B578865272714D4CB8F76AE0E3719C44AD0A6EEF46A1802306F
16A51588187E129557049A2E1B92E9A039443B4E503961BA8D9368216A6CE2E047612B16E7E64AE01034190C20DFD603ABF27EE988638E2E31CEB71632D731FCCBE351F9925FB96349780A7F9372B55C54A0E991FA8185BE05EE6436F138264684DC
DDBDFE3725383EFA8E0C743236AF0BF5D81CDE111054C1B3AB4DFC1C887D8E85364BB567C1640B00F1661DD3743EFFA378940991731BB339F12FB29A6F4E2F627B22D32E043EF3D269767C07545A155798A7E45CA064F0301E87FF0C935E8B44CBD8
D2790BD6486A623407001F6026F98C28CDB638A5104E775EE7729E13B40B26C5849752D86936251D5BD9C6DAE9E523536914D2D3F4BA30C4F85967643D7875A44C8AAD6A9D1414C50D49D27AC2C823A34759043ABB95A30BA4DB3D91CDE9A9E81EBE
5FB12E4041C5483FCD2B90902290E7E346D1F41D709BB814FC2129E60BA8372EF2645DA7DC35C3EA9769074FEBED0FAAED282A63C12F7C2696FB1D99181D79595E68E8EE89B7FD513EDDFD4CEF7E2ADD5FF4433197EA575D614F91613A24E9031180
81BFD04FB4795C684A028EB4D7F912224950615DA2031DFFBA502A1199950B767A65B19046BDD0FCA677B0F7CFD38D254F711EE766840CCB2B8A31E435C72E8AA1A97144152B9FA50E6D517E1E3D382BDFC563F66A0B6484777477BC913677261B81
96B98D2A38D2B6ABCD4A4133A7DE8C69ED7F226EBF7B3191C2815B57EFF8B96CFA3CADA596EFA0487A7ED06256C454B143EE4FB85A7ECC4A171042F773E65D1ABE6A467771EBA668C4024CC2A3040768E7452A5CE118C9573C4C4D3B2800579D6A2A
DC012350A5BE48099D32470987843D2A2D93966D6BC1B89BD2943B629B3A027249DF4894A7E5606A1754F95257F853A13885A30DA6B2D568284657FA91A8B8DB56AC56B079076428ABF88DAB135C1075C9E32153FF97CE6EDB6CC1ECDC03B08D02A5
1180BC14929FFA387E596AC58ABA37D37FD541A228F934B8A2C2BA475448B6157D33370017FAD34389C6CF44120FD773B4B27E42703FC58CC5BC3AD8B6CF528A13F5A8981D1FA33D0A42D3AB886A9197403723E660FFDB2BD423700A1067111EA12C
C90D0611F4F95A25D594440800C9169626D246224CE2DBC36CA403170134486171CD71E475933D2145BD80D82ADC554ADE1F371015FFE5677833D5734985250AB9C8A7A95B6BFCFD2EA016979EA6E51F180F8DA157CC07160C27EB6C6D28527EFA8F
8A195CC68FEC4F546B31566DFC9D6A3A6083939F5BC406D91DBBB2072101C5EFE52AB20385C11B25D07C9C1A31C9CAD204698C9BC562E13FCADBA19F827C9A1C4C5981438E23E2EF73419A86A94CD77CEB050EC605AA80F44368DADC66F7254514DC
C7251AA5DDB2DD67D4DEBD4BD366D94E82B81D733FEC49EF4F28CAD2620FA17031A98EBBFF6CB4133E5A5D0B5019F96175B64CA548B3B6F6F8DF4A15895A555DE0F67E65B2D41ECB05AA3D18970B57CE8F247A42439AD387C39D199451E8B21681D9
0D8D8444565BF825AAD70A3A477CB6D50EB70E0111C7BA1924A5A08BDD8C1922CAAF9BF3BE360902023F3FC6F7DCAE1C0634DCFEA57675358CC4D43DCBD5EF50C80FF0D9C10B78949BFD3F9FC312B08626FCA238DE458F7E1BF0BBC836EAD1A1847D
0F22128A8EB8A5DCDF289C38310E3E238ED8CEE1935DECFA653B849122075C48E92196FDB35868C0D6354E01385803F5647CCC541F778479E6ED66CC6CBBF4E1FF45F27D2E6526B78943C2A3F680E8FE59DE34DDB6DEC398553A8A94CABB3EDA4676
BA3852673C994BD8AC291B0C4B29733D4F6E15238D7819183224A8FF2A7127014AE4088020CE59E4BE555CC75BA9CF7B58FD1F03420F1F00FAD0FC208964EE53292454F27162FA6A7F1365456C77D45DC10D5C87CFD279FB350463F6FDC545E0F257
0EECB85124C3068A15AB525F0272E735622C99ECC1ABA4F7127226BE7D79E78238FCD3D5B5534B05A7009C94778F489F60E7C6C04DE9C1978203C7570ACEC128929F1A1E08D72203CA2E2317C4FF6074CFCB6A7A837749F72981ACCDC421F3E215FF
F2350D12D694D3048B6EAD11ADC0D38F738D1BDA09679A73F45367A14D0C2E017A9411BF924DE064342FAA897645C707C3838C9B9D6F96D464E4126772D32A15E8C412715C7D60C70A961140353DA59A5A6562CE69E4B515DBDF3563217AC01BE2CC
49227B8B45BEB81A0557D0BFA33D6C1F6534AA3FDBCCE47EE8C2D38A06B979C4562A38E61D20A824EE25EAEC6B6369F1A50ED388DAE0CA76B9E68CD0AD3CB8FBF91BA30B815AF1FFC6888B484B7B8ABD283A21ECC7BC61A73A61E3BA071DF774F5CA
DBD5F801F307E8BD84DB215509A3AD8AB9BAF88131BD423FE4D73F5D36E386DEA3DA766F1AA79D92BD91E37A1B2A04E9ED5E76410CEFF67E62FF7F2A8425B8CA67E41D24B0E7CF5C1074E20B58CA1025A54DFE2ABAB2465EECA7582B985B0B421128
E5AFB6C00CDFE499E24BBBD50B22DC554F43686C23E74EA17DF0E41B21837F19960FF02BBEEDF755B6297C6D9A7AC96EC70EEBF519C695B8A3D2BBE1C57CD6E834287BD4660C598E19D4B943741B9AC44D60822A24BE0F32365D808B16EE551EAE02
68399677C4545C7214FC5370080D3BFB388A850990D8DB97DD3849C46187E3AE8FA8D77B66B86E828CC42D1D0FDC3FB1B652F608CC7750BBA54D4FE6602DCD880AA0918B9999B478CDB73CDF2A4F976EEDB9149B3645E1DBAF054B08A305268DA456
D7432EB5B59CDA03A7B4585D634DDDE38F283E853061B0B6AAB335A67E35925DE64A3E4DB325392DD3720C587716788E2A1F03C999880D1E20C543251F6021EAD14C6D5B23D765A1FB836885F7854CEC01EA2AE67CE6FCFED20AB4C66A6316B59781
A971DB36940DAD29F8B38E3093879AB0A643F6AB19BFBEB0943D334466CBA26672B86F3892FD2BAC542FDDC5DF6A29A75BE055204F8B859DB9213FAF1793964DF2EF6717DBE341261BD54DEB46C4AD0D21BF439A557340D8B578FD6DE479BDD7BD46
80EC0D73DA59D89E5874F8653225E55D592046B9F24E9359D0E2EBA889BBC9C7E8FCE1DAB0482692E8C4487E1F75561ECC4FC71E591A9CBCF9E61987EB2A4D29347E5678297CC16E9BA8CC06EDF593A71F240A54C2E0D2CB3BE0588057E52F81172F
92BAC46415A4C3B83EAF5DA37DD8E9FF5DFCE0A454DB3470D30FDCF00569B03A48C2D25B111902E607967444A93ADE93776B94AAD1AD681D42BAE0C96371A027261AF8FBDC27A721499DDC3CE277B9A19149406833D61C0FA579A8128A0EABDE0DD0
C24679E8DA08109EDB429FA84BF73B1BD8BE0FF313B89D001B8A471D489F4CE9CA7CBDD9A2F7DFBAFC3ADB587959D05F2CE20697BDD0F55F13387BC762F9A9A9DC34E468CC68C162381BA9F8245EAFEE0F5F8C463015B974513B9DE3AC74B833D7D8
2614C7917C71E98D9B788E162D8D0A30978A130E378591B94CFAA9F59F0480998368814118E2C34EE9D13FD897D4D04908BEC21013816393BEEE0FCDD49D4A22A6F51F81546C07AC2BFB9D84EDB11E86C8EC9EE3A360C6D8F75CC7F01E116DA0A939
E67E7C4B662F9BDE53D8A333B70C2965432B283543602236A276024DCEBA9918806BE3EBC9F1BEC1634CC1E712A827B751A7360A694E34636A23C804906E087AC47E86CE23214FE56BFB6551BC01D4A29D7E884EE1CDC0574DFB27C5568CD0AF3A76
C3F3269B57DBA952437D32CA600F4A060276B2614C4615B30AB0E32A306F822A51FB657E04B526AD5D4999C58A0A1C4ACCDE4EE26B01AFB2131A574DECE686583AE2B11968C9B07C8ABDAA23D8C84F8E0197DBCF5EBE468869A01C46042C00E0452B
FF2A1567C269511BEE6E2ACBBC1F2E87F10F66BA2470207D076B5B678779278FE08D465D5F4CD88BD72177BE03DDBF908E7BAF0A8E2F8972427A47CE65458AF214F7075A4B5C5018C97F90866FA582E12D6B964D1BDB3FF6A68AFBAF223C0403FC0B
7AA73F675AA73DCAD8F453F2CF0F824C9726A83B02A2547DDDEA8FB03F750AD2DEC4998B26E7FFA7EB4E4A2E86BF22B3B4AE6081DF880EEAB8BBDC24BD3BFE0CE998D4CA38720047BB8DEB9CCD0F043FAD7744914D331336ADECCE945E3A15F8BB15
09D70715709D71C2C90092B61BFB42EC146F6FBBEA6A6E48A7EFFBC029E930AEBCCA4BC4AD69AD7F8865A083FD13BF3A60361E234F00E306C828A144623D8E67A95F6BA0628CFBB14585D19E9CA389C0E21E39CF20B64CB8E3E2201EE09EE74F7C6C
6CE4E61AC2C563B89563D0A5501F2211594C2AF562FDFB6C13CBA0091C16F0C82399977691B31A09E752109D2E735EF2A91018293AB3B82FE29C0593FE137A7FE2F62E745FC213AC2D80A6B17C3D350FCD02D206EC643D45F4DE6DE577A362649E44
E2D12A89622C79A3FE647441E624991723863068FF159CE5FEA1E378C5EC84561F0546E7C05AEAA2A45062738351BAA88AAB800B1B808E8F23C902559A2D32363189098C77B84C15BD56415B3BC2B1487AA2C0D07A166C30E7CADD78CBE24F282A92
1B75762F4E7F1EA52317FA77BDFAA09C067773FFF09BA3CD3654D95B673C1166B7B89142BBEE4331AACEAC19344F03706AF0924A07814D5939A44E09B1FD24A6444466AFF7507FB1C5F1E4FACB95E1F1438F8784A9FBA0B77EF79389C2DD81D48D4C
7F3839080BD418EB9B89F8DB77BC06A351468F6D9E320DD10DE82B137CE753C3FC6E3F55BA0353F852C7D67506DD5F78757573FD1B5D0BFC8B36550144C46614DB0103665BFFBD61144BA5850720C9CB900DCE20C3DC43513CA92DC157F48FA4BD4D
590F77E8F2DCD4B952F1525A7D2489A4FC133C0EF3E07838D2A1663F00DC0D3E502060A076D81C0F516A1EDCBA0EA6C72E22ECE036256648179D741683A57886DF74AF0F2AB588C4C46D9DA76B6805FF4FA0E894F59D73FE8828C96ED53DA7107E70
7ABB86A93BCFC50F1A16657A5D81F6B0345EB1B771A3DCD06937F90023ED58F4A035E847C40E9EF0839737D1B9C8D86CB8918A3778369C435C676679856EE0A93891A1FEE1879B6E0497B85D6FADF440A502266B8FC13A403B2B4CE4776C32B5D127
DAA73E650DF1095A8C614B512186536DD5515AC4407B58734406958D574CA359E18C21C5B6451CBBACEB68A1BEA190CD445AD10328A72F1C7BF5916E581B6F513F18B0A0984C3DF712961C97C5081925C474C882000A9BD359C0088BA3DE04B62F22
5DAA8D2FDB4DE6D9D81537C775D02BDC5168845B690D5CBAB2BEC70C216A6F6412212C59FBAD51E123267262A322B4782684E7971835AEAAA0F3648EF3AC58774AA1880AF63546EE66E7BEA0673DD434B01E8901EAC25BA2AD455F419DBE5E23A055
4284D0BDDA7DF63DC109F6007D11E26EC6377BEA46D051D3958F53F26965ED791FB7B9123C1022A438ED79D8C4E2E977424CD3C856C68194FDB0C57241CEB7668A77A4B02F3C71324DB4546EC98749BA7C3F6BCC18AE667B549EEE7959E4622ADE5F
92317F99FEA81BDB4F0C31B643D823F6516221B1CFE2287D0D5CDEAEE1CE5AA3F6006AC7D2CC0F6EFC07B6A7DF0A218B9D8B49A90FAC9430C1173C9AFE6EECEA2D1A303EB2FB2F724DD406773C659CD9C57BCCDE15691E8A1E8D1CB3B23EFACEFD48
42977654B593DE042E829237F9851932A59DDD4E578B2CF2EDE51F8138A468E8BE44D8E54345D9A273DB7E4A16AD28E91F2C41B121DCD9173DDB97BDDB9BFAF2B51553F2E524FB5E9F2D5FDB260296BF0FC42990D2D7674A626A7E25B4973F223D98
ECC21D349F6D05D56581353371EF03ADC4793A707FD1C68EA36E87E639BFC35F1DEB9B0C1450D7BFF95D237F89390FFAC08D7538FA7FC8CAB75F6CECE95738793C132010E179595E17903693AE1DF327DBF829493329A245521FF9BA8370FD9F3EA3
CCE1998FBE81B813F4E75C7F8E0D2DF73646E79BD56019EC053B2540A4E6AD00BD4DF80D70C81A73DD7B6302CAC35795337D8A456AF512D5E6237992A154C7E1D3855E56EE1552DE983B5AEF1380ECD84BEEBBEB7E8A9082F85357BE0250C36CAB11
3D29713942FEA69A58964B4CA44CAF4576246323AC8072F081598F44C038ABA960340737083B1672052C8E49BA49A4F461E5CD95FF18A11122319EFFB7FE8C4F0B5010A7736574DEFD5F80A11890A32DE776E4CA9D43CA2699C1EC1A26AAEE06100A
15B785A061CF35EFEAA33ADADA47B08C0D5810AF2E5675FABAC8B9F2ACC3A6834B3E318A834BFCDCBFD487552415752E03AFA311A06D9BED966ADC9AC30650C2AD1F32BF54FA78D7D20CC92B6DCB67D46BEA7A15022E209F2E751145041B6CC11EE3
1072A42849680BF0C421B8A866DC5FDA43F240BB6A1634BE73D10630797D268A59C2EED1BF0238E35F228C75A54B4EA1895024317549827366C23E183E6B978F8A048AC6A1AF79DBEFB23333ABF27FE1597E601373BA2453ADF0A60A42FA60A760A5
D8944A95338B1B68EE549771E239CC57D012C3497E41C412A9FA0E37B06ADD3A77FF7CC57D64AC99080B748162CED87C6A242F975AB3631B212A4862C1B375044A53B79D0EB50B5FDAF67EE6EC6CB1336306B1DAE2285BABEF591BDFB873D1B8AA20
04A04556231A65C52D654A1F3B48CE5805A17965EADB0A4ECF88C05A1FDB6FEAF6954F592652ADB0506E9537C2BC1AA8FD78C65DAE728F6E6EEC96CBE6DEB562332651B280229908A59EE3E6772A673B1216B4D314CA327A3CAA946443738EB3AD85
73E76ED699A5241915B753DB6ACEF1DD841E3970FEBFE7F28684F2C4E0FC8D6EDFC98BA29DB924CF30EFD1B30DC538293C59C0C1B5F1326EF02BE6E9C189EDCD772F8502DD9589871D068A672EE32BA3888DB55EED1D59A94C8DED7243A1D8F32C0E
6F8749D85F794A272AF1E27483AB09D1275A98EC378E59B2459088FBDDC9F53F62AA9B1C1E982706E71A00EC4060DD23CD8C1E196E976BAB3F40E800AB2D8F6F68A43BDC0EC4AF102F589038F650EAF4F409E1CDD598B54BF11E1574CAE6D1931870
9A7DEF49002967C9EBDAE1BC2C251EB2837CC53C0502784CCAACA6F1432BBC9157DD9BDBA527DC28C50B40FF2C3B59C459AE51A53829DBABAB60804521392B7BFF40D6F823713E82B81593533B3F65CFCCC6A914CCD1FE9A35DF1B57084755E7B060
95437FEFA707E424B381450F3F27AFE9B37F5368E55243FC290C3E5E83C7ED114E75F6332292E40D4DDBD072AA8882229E116228AE97C623E5EAB943B6B8CB714312BB738AFF4CA91799B25A30E72DF9B3D38AFD4C6FB5169B160B1D8AB3F1EA1677
B32FDCEC62CABA66C34A2031B1CCB064D1453981996C4FAB2747422C61EC3F855412289FC3A2B35E8ED06E466A1C28F20BC94B52840C73FA9713DB169411F8F83814157C41EEE2C0862F8691115D4D6826037342B0F84B31451DC2BC1A96217C6652
F74855AE561DF4CDDEDC48D3FC8A22925F1DB704657E8920AF0BC2E0E2EE124E45C88079B832AD6C1C10FAE96FE15729B5A1D59A60CB48270A3BE2145BC7A5E01A1FE245ACFF911043538CF9BD70994C1B57D69CEED6B67979470B7929611DC77482
2062C2311449451E44A6AE195636F880D60D8DB43E8B9633A7C0EE5D3CEA82372B5AFA05DB669AFF1099E3D76DD59684E579B5443B35700D5D1FD318E941719B70568D5620707A647F46B5304DE0F2C2EF1DC0D350CD9F325490ED212A6DCFE3C678
7144CAEEDE4EC7894B5594780190A914E90A7F5F143631AF8875771A9D1523F6E9A8F0D0CAA4AE9F483D7F4FE336DB64F535A118188257C0131F7CF32C0FCD84C902F5C8EEB23B29E765F0F0A9E48A3C068E4A0AD6F50BCD9900C274BBE9DF06BE4D
E05BB5EB5376FBDEC34D8B75587F45DBDA6D38394E07DAB85E0C3B23626ED59204B865C7951CA489BC187D59C9CDF0B0AFA39764823E7006CBAC3AA6212F7C43F0AFF3B97398F2D2A91628B429F5B11E3C890F6A3969AB0EC834EE951A4702AF5652
8ABCDFE6093F6EF05BBEBE26E4C861C02376AF20EF840086D4E28507AC9555ABECCEE3FC06518BD16F4D63E343B682BB9FEE089F9BEA82FC377A499CA54C21BD1F70BB032D772550F28E015A0D1A0B328A199307E6B813251742DEE9A15AA47A7AD0
4F2A42405A14ACCABC2E67D8916294D34F4802ABD1CD3DFC23499926336422F2C7DC00F443DBE67E4296C0D1BD270C2981B72BF1F9D18A547D196B0C5A445AD95DA1009F4CA8C6C15D5A85F0EAD8E82350502C60EA9968757E0ADAB053B53BBFFB3C
E792524D7AEE23FF89D32454D66F9B02649E1984CE0CF6942A0FDCA0902FA001ED541E2BDAC2EC5AC56FE1329187A0C4DA9B7D5618FCA3EDB11A7821C0321C67D621B3CA369A9434BC13A658580DB61582AADA0CB29D5372DDBC4415EFEB916AA63D
71F3A24068AEDD2E507B65BAA430FBFED4F37A3B26398A1DDAEF3EB7EE190FAFF8ED35B1D4DDA6AE0D375903F65176285D4EEBB1D0A4260F0F22AF6EF0288901DEE0D0D3BCA3E04BA5CB93765900D524D885DCAF3FB1C5177848521663D42F856C05
DBE915505CBCACD95389C6A7FFE09897138C27F79485421362B31E36FB5554BA315C41AE08172D1AE9ECB674431CA00E4CCAEEC8437C98CF8DBF5C766C2D83D35752EFE66104B0EE94CF19A2FECC9503972EF5A0C1670883EC507126EC67A61F7D08
4FB48CBC0ED3EE9D84C2026F80E5FE6582802E3C103C5C0DE49D392176999CAD6146D058AD550809E8D04DA354DCB78E07C15888727D0C011C19B092FAEAD7947C4774B8F92580B17DF35AC379E383759BB98A1440B892E5B70DA1EDE1E6C1101BE5
E08571FCDEAED333603B595AF15D913FCBD428EB1CF98416550F72C231421130E5C129BFF10F485B0202B44A26EA438E79B4F4985428C2BB326B514FC2C12DAF491991D80CD978F4F048C11C713421AEEEAFD4F9450FE755CC4D29F4CA1E9C977BC3
F16C590E2786E1927A014E7564238A70074C099880CFDE5B7411D87683425E7B6E52348D54843AB27CD0F39A4694BB519525B1DA941A3E704BDA95F32227939A451FC5F55D38AC3FED4E0997109999FFC03353D1A798A0B295504ACC4BF3293A86E8
5B19DCEB70F0FFFF2AFFF58DF0DAB0A73B2E41B96DAAE88591FC11314CA9FA0DDEC0F3BDCA07D23FD679AFFCD0C56F4720E87DB2DDD3277539CBFDA6C5BCDE6BBB48FF5F81E6CD1D77FFC9D652AF482D4676FB7367B450BED88D5E3FC307EF2206F6
83099281DB55863E11A214D50CB030EB8C2FDC410A24286F38FA8952A152C0F781DCFD26200C0320EDABD1736A1B05B94819DCB0210D016049AAC66F1846B7F97C81707E5DCAFEA3DEA12ABE36E400BB6AAA5EFE432BAC9913A9FAC763BD1D8951D0
34E844321454C1E5F9D44959F6612B678B6581CAB54A4CC8E131E0A761C8DC3715C94DC77B94FFD71B090BDD0B75864B971D81139060D505001F117AE40D15804D5D6E6EA712DDAE37D4C18067A90C7A233329AC349DD9F0A30C2CE2BB881BC3306E
B69C6C84AA6E6D32F35B219222D0996E1E786103A3A399C02ACF8AB151724DF319A9336B431CF700BB47B07F6C3DECB499E26AB5AD8A47352770038E0C0A92E2621BAB6A6759C74DF0188BDC8668A1041622274477A9F59266EFB2BAFD851587B730
4775EB2DEBC8F17482C4E68166C7301628FC66C9A2E2949B8A1306AA74484197E376FA958CB095A0BA82B47D63BABEEA8B2716FD4775831E254B217F63C5E96D9944A3F9B42DFA9F75DEFDE963E487C0090157567706CB28468A9AEAF88DDE77D08B
82112605D05BBED03BB47E5190F8D0888ABFD75E8A09F2148024389D444EDC5D741EDA5C3F171E56FEC301A1CDCE0DB7C43E96BF8B199BBDFC45563E4A25EF8AD450B7432C4848EB3885E964098AF223A7A471C5450C04F31C2FB68EF0D6E1380BD0
682EA1B5981CEE6D92192A658C9E3D8603A6A4A94B73F103DAF820123BFCC95D59FAEC6A10334D06BA9FCE019451202765A9E2FCC129CFD90B6B2AB37F529E706A1BF6F81657DBA06AB7605FBFADE7DF862563957A2A6F6BEBD47CAA7AA1C5D21F71
3207D2D7BC3F1AB4BDF22DFEA2DAC60A45B966C8416503462D14F892C81610B75204B06ED705C9C88EDCE46DEB6B76B925A8204DEF6AE0E526E7FE05F781FFC635D7ACE9A4197BCF5F1A53DC775ADA592996AFDD53868D6E06C7F533243DDCC4FD3D
CF2D23107805F3F1534D0107553A383433A7D683C3AEF61370E6C7C8957D5892C8F9347EC9CDCAF9ED41205870BA65BCB49CCE64613E527459BF6869E4E19A5ECD6071D1A39F1527711C2FBB487D7740824E414B4C13693B4BDFCB339D1A33E61186
B26B7FFD2829CC670224DEBE11FA5BE6C9465A27D19599E720EE1AD2B5A33E0683D507927A80EAF11D549701611CE0114C371E2F5F550B293BF1B1AF4453735F0C6BB90BD97E55C280C1D8D4A6797FFCCE49C345087D5340C51577D6175665A033A8
B44C53721292CA83A97C180096221F93DD4CE684E83A5EA04621CF8AEA57261721BB378A92D1CAA7271EE308959E3198D687C4DAF035F29B088E1CDF7D9B72A5EE3984A9D806F970830D8D7CAD10D25BB016F12D2418FF3574AE492CE971A8941ACA
3F189E2630E54D816E9DD88E198CA1EF9D654D69456ED7870A7B95820903655D98D9603F4847AB76F0966E44F5DFF33DE928460D13CF14F90375887604CC4AFDE002040A24885C59A2A94B1914EF34CEE30C6275E38353B1A41BC46E2EFE222B1EFE
96CA6C85048C5C312AEDF1EC5A91FC792A82A54B92F1241E334FD4CA339D360A69134A380477E07430F839B1A22F21636857941F021E926B6EEEF3473D148A16B3FF6A9A530BDC0C5680B1CA93FE3E548742661DF8A60F1F333C7EF084BEC1B0B825
4A1CF5AE9CC8F867C38F794A86E9DF0FC3593775BB41D854BB3A365825EE7C7F4D874E7A868B8ED71F63AACA63568D05A521D0FDDE21337F387996AF65C25BFD46BA846626806D965D43A620A7A2D982C0C65CA42D646FD9465FE8ACDF3ED61FE276
D1E6A12C3F928977C3F4274C0E2BD40E2E97365A131915CB41A50EA35EFCFAE1D64EF7AE8B4652B9A52134692D5D9D2436BC2703E6561370F704BF6FC133D6E8C276019C9597DE5900C7EE057D3F9A1FDC54E1CA9A51CC0D198157E8690F901A50B8
4441440D4072147DED434BBD8EF0F41E02C4C72673FB2B00E64ED77A12A8ABFAF9323B9B52687F237AB9C02B078AE3DEA003BB1088DBE32472FFC16F21F59B7CDA067E6513AFD8746A94E1B466D72162EBAB1BB97BBA021142E79AAAC71975F4FD1F
5029BAF7E1D252D22EADCD2C753F3441C8085504F05FCBDA912F732C9E1B3968F514936287D4E674390C52E597FA65FC8EA62653D9F39C3D0A53481C3F7E3A60BFA2F18D71D53750ED0F7BB0C1D8CB4CE596A5C718D1628BC93FDC41A64005000AB5
7D47567AFA0A6E02739FC59DA7FE11D6B6468B06245FBB64F00949C36304C870EF55B0293ED9E035B0C27FE8B279AF5592E83E1B673E69FF7E1E09F76CC96CEFEE28772EFA51E999ACE571ABE530EA14446EC475661351B7B4D0A89DB0FB4BB8307B
62061E042F4C730CAFD1ABCC0AE256A95EA9C10DDF3FBEADAE80E7B7CEF543C8312D02B618D1B6453900C21CD6CF97D5DCA862AB411F2644275F00A2229973D63281168E7239612CB90A659D6DC4B8C96D545C2EE52C96E1D5EDB2E52D6BA28F290B
8A54AD2FFB16A2896B8506A29B1180B270F5764BC67357D1212BD6736A8931B38272E7009448F64ED208720BA5D36479E79EB4F91AC76DA2FEC594F69DD3DE33E166145DBCC7B606134A28ACF0105769BA04B6D4CBC80023B742B2263CF63699E0DD
DA74BD5E3147799C0E740FB9AD78E2C4696BD8DE314808FB86362CFD4EA2CE527091C1D6E89B93FCFE754A7A8FCAA25EE498728F9DADAC28AA63F092630C430315D82C6B4C157AFCED76C9F34E5CF8ECCCE1363AD8256CD30C5653360D505E2E87E1
506A1454B283F56D16C009B53AACE2907F066D4630BA0E80DC948B4014377A01A56C7279B3FFF60DB48A1E7243891ADC43129D053F0AC3E96C82B5E3914995184E259824771BD25BB32B0E17FB4D5E2C1B0493F1D9AE6770C7AF3FC2C9116F7C36EE
DA11540CBFE8B673FC7BF48F09714D92031E4848EF289554CDE98877776925F616F877237A3976D45F9DB971F8BA9DCF32CC29E9C9E6B0B75CC9294AE7BE1E2840369B421C6D0D277A771EEEB5530D841F3586BBF9986855F7D3ACCFFF1A49418330
B4C64E6983A90194B818C87D9D6F12DDDF57AD25DDB58CF102CCFA8ECF5494C0019EA7FB1B456D0997066590B2263A1E0272FA9D7C8140D9F0EA55F410FBAA2EF54F1FE5CDB267C6F613C7646A979ECBBF1BD566615DA098A5F682353EE15C67705E
C79ECD62A88692BE7AF7BE9C7CD4140CE1CAD3C2EC8A7A7461D7C70E878154FADB27714848489D64D4D95A6F5D32915F3C6256E0DD777666B14EB7C80C6E8640235F329BCAC116BE8DE34773AB12B817DD229F7615BE7A0696249BDEE29AD7EBD370
D6221BD06E955D538F6089006E00A2E7D0391488D6D3912D662ABF656A8873C22F2DC19CF0E1406F9F3EAEB2DE7DC51F9D553E716705F7CE59778D1284B782D6393E4ACC23CEA51083E0EE3AC9FBBA235DA590D6E03F81CC71C557FF659744DB3537
42246C6380485AE478E52C99D30B95D47F32A505E83C9F683C914695529A470702E04592F74051553A1093E83F38CEC3B34C2C38C923C9C512F1148052D48D587368A25AACFBCDF16F3FD3D95114899161510B36B230EFBE2EE3ABA14E51B81CDBA2
B9EFA2FDB26007773F0BF9552EF4295A0074ADF906C7A77C5A5B1F159EB60B49085479F1174EB6DE8F64496610C8DCAB304B3AB275DCF84B5A8C57EBAC6AF707B3F0D1A1DB5F1A6B9035A31861B288FA6B8AF390D025FDF88105FAAF2067816FCFAF
887FCB156866895AFEE68236E7DE7826C132860D95492EB819A8EFBA9FB8C897E44004FE80EEC85B05614EFE9426DD9ED1833A22D0B005E545D745B2C657CFAAED3C30CECE4F5771E232801BB0F35CEE682B6B8A2017D48C5D607107354D301FCC56
900BC54AB68A53EDA15613F0F44FBA3C2E7708D6370278F9A53530ECDB3D08AC4EA9E1D32C18A31C729B5AA22A3AC18FA12E0D8CA9F8A6E209ADF9A6C05BE34995E7C73B15E59B06F6780ECA5CD8D13407B9E932E95D640A95671302931B529A715F
9139B40C9E3BD4B99D4C2D279AFFB0DAC8CC22BF76A66665F107852B55336BEE4F285F2551A7D0CC8A6F00878FEEB1BB60B1B2E6C858DF7B1C713448C1205B890EAD34FA6AA3534EB2A114871FDC96AAAE903F4E73E16A1073F92EAF7DF1911D2DA8
F5FEA9F4A79E4680CA6D81FCE4CB0D15D2ED1DA52DBAA632825543D0F6257471D3731A17DA0BD2BF5585489B8C8439EF5053D91DD4E0632BFC7185D03183A1BD27E8FB39240DA64D5E26B2EFEDD89E4484AA51111B2013C31AAB997942759F3D1065
DE873B7CF2F4A35F9799256E4B8738C5ACD408BCDF6D6DD38AF398176A63DC59484F4C45EA94CAE2F32D358F86451FFA644F4E57662DB03502CCFA793CF198633A385F75519A4910822454B23F8152B4A449D8A4D42D31418EF35BFD9E8729A5868E
F878F27B280A3E4C737D0B17C217861FD01A19F9E8D25C2FB9DB16C176CDD7B5D62D71253FB5034DA406753C7C6E67538B22BE30594DFCAC37C1B922D515F126DCED8EBC0171CB8E9F344F1F509DFD2C1378D68DBDD3FE20B90DFAEDE06E493688C4
44EFD38CB7FA227DE651B3A47A135829FC775F83632A952DB8937D1A4497FCA68B638FB3612EA39A839A936650773FE3F54D239E824231A327DACB37E4C1FDEF5F3D83AC3582D22CF54D48DD612F8267D7524DC1C8DC37C557EA7BF3748CD02EAD2F
474CC7D6B4B25F5EDD7F94408CF5B6E0204DBCC6A39BF413C580DDFFF81DEC1C61627532B6790D8899B171061E6EF5CAA516646E907407CAC32C416B096C249658976F94434C1FB7031437EBCE4D356F4082D82AE63AC11D1680E5B5A582C241C425
0FE833CA0B87EB5E505E8DF0A336D1F33546D41B6BBF6C7F140C2328CA4DCA4949A85D1E0BED34C84EFF5A77B62332FE049F0AC247A7D80F785960CBD5D2DAD574C6D345B03E90141C03F1183D976CA2718FB757CABB1FF585BFF0E1C84C7AE05092
D8330403182B8A821DAD0B1CCC682032A50BB21C8445B4381A483F0BB38BC8FEBC29A7EE6C6C6A30D7D1D904C19A8FAA77E27F5F22A71FDEC42DB50868967EEAB13565C7E4188E501AC1CC8821B070E435D592ABE94AF36B89DD9290DBB95AAF9FA4
A60BE21C92056B15AE1588F379FCAB20A7562015146861ED23ED14310CF35CC066994EC9910A6F790EFB5B81AB0D819374587956FD8F8F2A2401849E81904DFC74C57360A881D123BA08536172B361F7871AFE2B91B3563AA698D2B09C088989F56C
23033767067BC23366021B26455E42B7FD13F0CF6D3CD46C1DC3DBBE00073BD8ED056F24CCD59B2FDCC03F80A90166819B5E09DB64ED381BE59156F256D8BB00868E842AB72F973BEDBE4D7ED908CC9B1B0D16E218F26200837044363F2B3C2C0C27
1C3F720EA5337F281456FBDE8C257BE5D9B3A5228AE62524722A7F32E1C2296A06318FA0832AD5730147AA3877B4FD44997400E000803FD3CF30AB2688C0DA5DCF44D326AE18AFACC74586D3DDD494B62BCF31EF15764E4B59A0439C732B1BD7DBEA
5E557B43DD1CD4E0B10E28CA23B052F4241E9DBF2535310A69858AA781538A52638E8551A443E88ACC7158CDFFCEC0D36A72062929AC5061F21F44FC75F8E7F9E7A68EC8A073BB2486AA9014101C38377A53A0F4A3C36061AB565F28630B74472E86
40155ABD9873EAFDA6C5C70A266A2E172B032A78AB9C178FDEB6542359346E011DD7EC8759E45EFEADC8FBDEB6C37D381BF3364C776E235B6555B32B69CB55182CC7B9AF927C3229BAA0312B8DDDC65D308FD434BD99F10A72307EED03AC86B3671A
9FF9C49FEB0406B0B44B7AA7A902AA1F88648B82BF1AC769EE28D512E86E566A77B004FFEFA18397D05DDA336119BC99D59F08A4FC87D27D99E7ECA910A8292504F21D932C271CA70C4492C0C7569852B4DBF6926935524EFFE865D7192864547E7F
C4A4020C32637237317E28D058468D499B2904CEA4F8432FCEE8BD0AD478901F79BCEB6D2634492D2C15E511876B8E61CA43C42E0FB46F40CC29E3D03F8ECD9D1A4216407B22A304F0A76240D46C7AEA913EB2806559BC4A8DC89536211A6D6BCFB7
F6A5779B722534C2C35C96C9F1237E8B62B8B8B0FC9C560ED7FC601757BA98FDFA8D623471504BBC742E66C1CEC462BA4AA2BBC17D3D8A81BFAACC6286DF41F3CDC6C1ECACFE16F95ECE59B9A2F34F6406FE7AF62D56594BD39855F4359C26D06284
A62AEE5FEA32323B5D19BDB6B125C3742971A0300452697FB20958EA5053F0D8E7F8E9A93B6A36B3B37CF8765C296600489C0BEF93DDEE9574CE2EE27AD39DD7D81975336580F381A71F4F3D8F98F4E3C7BDFC7E05F14A8F0C30EA8D7E5BDF131049
1966E7326C97515B77F5104CF9968AA256CECF0ABD1606995E0EBEDA116BB6528C1B65A66FB9B26C08A2105A42E514743331ADFF1E0DA31817ED7784F28877517ABE1BD6452AF615AEC9FEF0DCF7E2A40195DE6B1E912FFBBD2B326754495FB96BD5
381517E2E145C57D2523A0E5EC41FA08EE7BB7CF77C81AD3137F86FDA7627990702D3C5D99F0BD8A598CF67E2C83F804A9C225C5E27CCCA9597A15EE1B859437F37AD7BA4CE8A4413CAA4A64F5A831999B85F02AB573DF63D23E733C7400103B9F4C
93E25AF2B42F73049817FC35CAA99E40EFDD91F463951DCEA99A8C4EA7231C913067B579999877E31FB2E8EB59FAE70562BEFD26F2ECE0435FA761A84DE9463F78D8946E5AC699513D2A9EE2782BDAC138409074CBE7357497EEEA5501F4A2F73479
68058011DF0C85CF54EAC1EF4188C2D61A19DBF29C3C9968765AEF9EB8A00916A5ACC74A597D1E2D5C472E165FF87B07F28A46F3A31ADC77FD7C71AA89B48AE101B1E17E6CABB4965B8FEB93C12B85431EF66C59F80476516151AF660096EAB8417C
E8FA8D3F1D2FA5278D4253AC0338D02171D88DBC74F0DB2C10675D22D383220FDF3B30CB3CB2131077D43F05F2ABDD6768FB16CA3E159DB045214BF6943928FCB8A433C71FD3AA1E173FE17AFB4B35D1DD3829AB678E4B8727A1EC2E15A6A7699378
DAB711D0DBFDE942054AD3DD6334702637540737880F1B181C0F36B8D4D0F908C437126854C8A74E0B44722D2C5EA1743DCC16E92D88C8136399782B32C3E3996C5543E46B70C60F17935F0A66D8B38BE727F3D870C85644EF5572E6C34A436F7AEF
2324CD3B576E02B54CADB3DC06B7FF8FB0C98CBB38406E06F5E895936A26E2D0C88DFB674F7D5BEAD51A4FB4D4875AFB19A0490ACA5356C94555724E223A6F3919B912898ABA6A7C1F0638B49A3D3863B03412E6D72F7083EF163E2EC9E9454C78B3
D2D07FD858596E067720C5600CB92C86CB28A18DB8403DD08CE19920184291E2D0B9F24EEACE92E32CA03744C6D9326FCDF5D4992BAD09F65439B80E21BD09DF4FB3406B1F05F8C583B8D7ECDD73E46654E64BC9B2F3E1579626DCFB08D0DE5A1E25
82B86A5AAAE5D998A21A15B07E5DCA0B530DE34CDC3856B1E10C95C1708DCFD33B0F2D08DD99661B4591F3818B87D4B2D141611BB31E5C3371D6F40D71F13091AEAF9D980CE5018CEEA86FBE5BAB9C5284DBBE912EC11A3EC76ED644004EE62B7803
F9FAB89631509EE07280D3C5AD0DCC61E0D79439C198E949F856C2D3112C63D8E4C65C2B62C18758B477CA12B3B53B6ED75E9F4E7614976C986D82DF26F515B6576AE85AA918E412165BBBB38826F60635E574746FB4C1EA02F8C62290F653F1D9C2
EFE790D29252A799745AE94B12FC41B55022F57345FE53C3441F60F2FA7930B620776DD1C4F251CD5AB08B98F40F7E46004370537DE7C2A0CDFBFF3D3F8D082AC5C1C042FAE117D636C270F6E319F0153B5C8294FD88848BD61E0F02FF631EC5DEA0
2F09782006D01204E7FF3193C45FEE5B1A5E6F45DDE3D14D6904344A90E15CD5CFCFFA0B2AC8D7F6CD3C6F943A841C383421A9C38C256BA09E5110F192AFE066E7C1E8083603C35928739EA04FC181849D79ABDABE4B14EC4D2BB3D888C2AA6AA6A6
171D77C5576988760ADF67701B33B5ABE21BA9A6AFE591C7AA3445D0F8EACA5B8E3098C1B2123394B73A63BAED79476CC640DAB7DDED0ED70DF39FAC1988C07136981DFFE5C3C3AC3EC98ABFC711865B2D8DB7DA53533E24CD3D9CF1EF78F50EC5B8
2880DB6E1FC3A340A9F85EC0E269B6A87C160584178A2AF946A64B3EFD9BA5FB4EDD99814ADE30405352E56C0C54171705135498CE167FB5D2096801CA57E01796E90FCE6C6A6F060E4039A2277E2C05D2BE3B6B2ED0FEA031EFF810E843C96F4CB7
904ACD34F90FB13626CE2F108B0ECB9F6A3BBFF2A1A78C455C560DD52D9CF4587B9BC3A5EA409FDB2B1B6FA8B0007596C83B01E2F0DB41BABF02B78E20623E77ED45B1E03C7962788C6BD6A6B09BE8F340F916B19EC95D304821204756AB6DCF8DA6
EA4497A435655167BDC2A049FFDD9966604A7F16B0BC854BFEF8BB7028ABB10D6C0596C6DF1EC0FEE15D879F176AD753A21253B708439F340179C3DEAA4D45456CF6891912215A712465957447FCE6370774EAC2A9902F296B94D88FB941B0232BDE
B0FD5766AEDE8706E2EC9329D2E721EDC07869537D67C3B3C4B200A30AD468D9405AC6CDA1E864D6E54D934B10DC2E298F9CDB44CBBAB668258631694E1E993431AA0EE2305C11C3D2DA9A61D8401F9155F2C491BE9E697F784A73C48F88B053B0A1
83EE54761CD652A35655B586F6C71352B140F656A00B0A32173D116AC8D875C00D27D9E5C2EA3FACBA07A5B63097AA6E9601D7B79E1609E592F602F0779E27E7498C0984FABA007D19683A3C0DA44AC6C6DDD2C128C037A1B48371355FB38EAEB183
449EEB64C3CF4101FCF1A5DFB86FCCD8344EBDF1B465582D8F568C248D4E8B5E2C293C0C9DD9003F641A37ADB4BF95E20A7B665C47B2463768FF088168899FA471CFFB74AC569BE33B1E44DC3E6FEB01CAF3ECFFF14155996D35DB0603DD0483689F
2FBC878906A92F12956D97C7B3EB57616CE101665999038462A458C6AD7854853D046D68EF7E5536F04014FB425BF3780F80549805533DEAEF10F179244EC5F562B63DE4B5C85457CD4016BB804A7F49654F2B9C45593DC48931D1518014BDFA994C
0E1A9E5D5320853F09C27B332AA41E17F8F1A32C1624B5C4714CE891ADF467637603B2219A66D504D6DB736CBAA94E8D32B26A1E7368EDB676B6AC70F8E20F0E9FD7C6CFD7FC39BA5A06E68F9BCCE9ABF8DBC2BBBA18A8F79966E5B495C6BD226F5E
02BCFF0F14559347323C2EA08A24F75AA8DB7DBCE3724DA3BFB410DA055746402DA0FFEDC260CAEEADA5A09E097710F671744916BFF3A481B47762457FAA04600267CB9AA202F67CA4ED72F3EB972479D537F6BB6EE06444B5D8622E65BD9047AB0E
1540B7AB170DB6CE19E25E4CC11727CF472AEBA0441B92BF2BDC3E1C7AFEB2DB09656E01A2F58E84B3C1DFFB5343BC2630123C9E2C2E2173E90D0B6ED42E394A6BCD9937D06D40B9C32742BB36B3E42445D28DEA7231A5A3C8ECE208DBBAD0187611
F970D804E7E5DBF1ADC261164B7D49F3D38A89DF76F291DA17D85513952CE8D8C19622F7F3552107935D8EB8F88E8324DB7ADC5881531ED5BA26D4B85808AE93A0E124F185DDC8B904B396607118FFD6E7BADF84A77AC0ADBE695FB6661274CE4A99
57FEB091D1051297A128FD0AEDED34F0FB5546D30B97AC4205FD766B5A94D3FC702F73B81D8DC68F656004D2866DEEDFFDCC7D8C88CBFCC0D7950B6FB853E75ECA111B6111B0EA9A6ECB5472235EBC6A392A6C141C7DB1D7E11360B50734E232BB28
82B0DAD52FE3584A7582AD7852E955BFB941DB1A5FCEB2B994110F77D931445D69F09012240146A45BB4F16946D6B78E3DA2288E301183208F66B6DE9EE81D034A3A2E96DFA11B386A5E6029E041C2FF951EED99ED1F3D877A6759F347AB40C31562
01DB2171E74D1F6599B865E320CDC74FDC25B29C2073D14FC363CD8E4416CBFC23E1A2A1F5C4FFC59EA7DD2CA8C7AD8234E7133EA2E2214B9219A9169EB8426EDEFF35F79BC8F7F3614FC1920E81D730B3350A23B7A63E78B861A90E304C12525CB6
20EDC8C5A04DE6F3B623C1FA7A3D1774F23D1D4AB67E0998A45FF8CA3C26E138B7BC2E486F528202F24613B5BB7107698E9F97A641BCDD9EF72B3A933A5EE005D211903B15E762400CA4A0F09AD30DAA3767A58C5EEA7B4F3BCAAD314F31C8E9C0D1
288B1BA2ED73418C231343F0BB66D7ADED081F75A3F4C9F426B3E6505298B21E53033532470445038CF3DAC86EAC463D1AC3D81DA9D25AF7DA08824752332BE71631343980D51CDD35247092AEE3259EA7D90D8982BDA2D5800635D8F4E3E9342984
145AD19DACF558255469189931C25E66FBC41B17FDBE62A962CA111BC16FE7E8400595776BD51C0233671B1BFD9EEC4504FCF0530E683A96AE5B835718ACCFA391476D0D354C7BC4162C2700200D6BD6ED1865422EB765E2B85988A1E6F2103194F1
51B0AFC82FD43816CAD8750E41F67D73A788A411E9C261B9183F1B1C2992682AC585E3060CE3B121E430FC25846F9ED37B3DEBB7FAA2C0C265D20143FD794B33C12708A6A02EA9F63C9366F8E43AF4F99D7BE0D9E682997040C0050B808323F1199D
31022BAB9F7A23BB22628AF710E576A8BE36BF682EC1380FF8565E2AF7F36E5D64B0A76396D0E4406A2A4C232F1E452E7A658CDF90EAA02B6DCC51F7AE99080F88F04ADFADA94D8DC72CBB61410CCFA88C2A36D2D0B6B217661C67918309A5D5DE38
18E473E019FDA040E62476E21EE7E9774389E1DF6B5EFEAB29ABCE5D59314F34452942727510CE5B971BD56A695CE0C9290A19773CB5CD5BD417386948D39230B609C61F300AEDCF4D09FDEEFC566CA575D022E77313145157B89085E234EAB9B849
0668350946E3E66087DE729F4E57AC5A1F455B4793720E9C4DFBC70400701EECBB4146FFEF0DBA04232F3272723D7F0CB707ABCC322ED9E0D0A3B892142B1E4992387B9E0627A5DB230827CD80F804D5930FC925A8F466CAC93012FB93BCE6A040F0
3E9D42AF3971695D087EFD6057C6547926CFEBBD1B842C44BEA4287B0612D95D892DA65B11EED19858F1C2B73C13160C12A2FA381E4B27AE9227EE04A809F1BDF9AE00BEB2BB1B41E14CA809CAAC02250ACC0F5C7BC97BDDDF8FE63516C5B0A87BC7
ED85EA473E464DDA9B7B41BEDB603858EA013719D9B4BC15B5651F3437E1F2749F9E86C947F0168E80782B333FA166E8DEF4668E03A984F4049BADFA197F21CB1D5A2E9B01DFA795024FE2ACE16CD1E69C2681BF8398621D9C9B65D3A3C68E5B02CB
8845338CF45446B30751934D98602EB70F9875DA98629F5993B170D86EFB89586DAD454183F46C17F2F66412F85D04677CCC045F052CEC01B7D3995049C89FF5E8BFFD666E68F1CE4DA2F2F6104312F8F23BD16E801E0250CB9DF7ECD0E7790639ED
819CD90A03889E527A64862B28D84AC2FDE0DD2941BCB2EA2C3B4043D5D7640AED2C7CAE3DA6C99DD66AA74A6D8BB0122BF11A4249D3CC3336F82387D452BB6A179304C6EFA84119A32E54F4808AECBA2EA75EB0AB2E22B35117B79DAA21D3F1ADC1
5B7C37C9814CD2C3A4512712BD7DAFDE8ACA04FFAA5203DAA3C33E0CCEBAB1364C857EC93E2DBBE726A39B1ADA2936571460B02F6D4F462B055964E7193E0461E68BA19D60CD0E077E48AC7BF3084B247E96014A93497FE958D7AFBD0B475C69E71E
D06E2C5FDBF723E412CD9EE98FCF9B0FDA17BBAC2EC7C896C8CAAB39E926950F4C70796CE5DD2B26F544697F8DE5355243FA1D2BD531DF94F69D0A32747F5F3D813DDFDB1ED40022426F974B433B2862BB895341F0130B178396E9FC557B3E50533C
542463FB878B3003B36F526BDF0897A52C71D0936B1A510D06BABCE19131CE15BDB0317F2346F50B01B1BE52930A9AB6A4BA70960D150AD4491E6B5736ECAA1EDD0E0525DFCF35A13D2B01BBAB6F798D95C052DBC42B71D4986ABB3DB6DF7D7EC13E
78C86E1CCD58E9819C4DC42B4E537FAE2B9A62C63FDFA4D2A66D5C1B75082F3BC550229A76BD20269D9F319FEF288DC54DF50D0B5621BEE819A2D2E39C883965C5C0600913022CA6E38E49F2DBD7FE329F0475A2DD12748DE90B1FE9464D8C5C1885
EA2BDC2406D4700415A86D604164AD6A2038D894610AD44762B6FE2A6E39FDC8E3640A89741681B6701FB714C9322EDCC440B98A970862B1F32F38C5DA943AE05146FC08602D90FD380C41FDD5D3F6C786D91A5DDC4B5A23259692BB9CA82652EF46
D1EE11BE580107C6C0A74623DB92987EB6AFED50BA18844519232EF1A76DF6448A3CC87F1429AE67240FBC808AC36B525FB53CF1E6663D844E66B8DB8652A9A2D41D010680ECD38A2C6B74088788AB57BFF5CA41487C2BBF1516D22A9D43253D9F67
BE05A7EAAF024806463C33A9D1F18F8953EB9B5DB6AF3C97084F65F4B563B02DFAC84AE9F6B0B221E6BD7D95C07B3F6C429A7B025922C0CD4966A5B3B6B066D8BCC601C1C1FB6D589BC01249D568922BB18625F84F28EEE13F64E573FAB0C0F84BAB
CABC9B232A3FB1E4D48ED6C7A59069927355CEC8DAD477379472B5CED4B3570EA5D1B68DE851D4ACB5143CE1A2AF56F2B6E2B62FA59787DEA855F4A8BF6DF6B4587DC619D2354F5D5FE5B9FEB56582A4A0E4E67998707D4BE81BB92F0253CC729D70
4FF9DEACAD4514DFDA1A2C959211A597030D7EE29B1469A6927AD212FCF6B9BCE2BEA6A708940210209779C16BAAB15BEF6FA42F1289B945D3AF553F485A8E5E8FB3BA3F5CCD5BDE6FFA29DADB48BA952D437008B1036A4A086604F560EABB16220C
EAEFEAB45A15B05DB136103A6C191D17BC15986269903B56E19E20E5B7874E9B6E37ECA109B7FA38FE2C5733931F091FE6A4F264E4C41A135E9A4941D0CF854B230423C751415CB7312163155F77C27170B572F0CEE387AA912FDB065B1AB2425342
E5ECE8E87105BCF1C81A4EB2B62536AFFDF1286C93ABF06B080D3E507C1F7C9A49F8006F63655C5841BAA6895A8C32BC7B0B2472D33587A72FACA032B66D57D7656DA3B4C4F9106505A9EACDF0C6D388E0A8D7FB91E9CD7859D884583C04FCFB484F
2480C194ABAC439FAE1520828A7E4E9CCF9D46EC8CF098695914FF24C22CA9FDC5378AC2FD1D131E96164AF8420A7AD69C61643A963EA137F7EFACA04ABE13DF2E07191FE6CE597C7DD596CCAA85F4D5932B4E7C3304E55B4862E08906DEC611BDDB
040D9CA14DB50549632557D73D54C278ACDA2A0E7FBCB2CA15AF7A8B29E1A074B9CD385DA779E4ED8186FCC3040FC8278934AAB422479276E3146DEDED51AF3352B0E4E7F5E48CC4F64F53ABAF6F802D536671206FB632917FF92CA6FB50253EDE73
EDF6B6E11148FD1F591F7B2A981C7AA083D475022424026BE134C1629B46B21DC5F0C2790BDEB7FD52EB2264AB895E1EE2B5E786198BBF11AD31A3E492F43921C44D7DE95FB6ED09A81D41669639104A270DD5B016CCC18AB5B6E371E23600531A43
ACBA5ACDCE30912858F427E34A0D217C9B01E7299FDFF9258E9384B14D6A57088F85423304F43C848B3ACEE47919456E1DBC71EED8BD7ECF7829333225B64E8843F67E7EAF452D94EB4CA039087AF2953EC73BA2776195CA0AC98311B19D608E649C
169E48C269E99FA532D639535E7667CCD5E2BBDBFD21902D2F01D6CE3436AE9CF870D8BE45D8BA6EAA27176802DEB9B5458606F7A998E679FA29CEE708F014A4D764B97CDD9A73D7A384D1184B1EE2EB24C4F997FC507E328C91C74BF06E54DBC32D
F3C4F9580ED7112BB4469D03850237CC76D3012BEF9EDB655CDCEA344E818DA4C4C2F9DB734B92931944A39C11D579F4F89EBEA57AECBA8745EBEE6F76396E831D7E0D84BBD57C1CA81A762AC53015F059FE7EB955E94347971F80DDEF30939900BB
CC63281EF1A7E4B558EFE6DF743EB430DBC8774381691AFD89907BB562B239A5538BD384578446A820B59079FAF35BC42DE23B7A5D08F0F4FF63ACC0D0DE6A765087F0E1B34B7547B17405059D026459877DB1FD15DCD4BCAF01BCED6B2017E57544
E4BD741F1C49B587D3BB494761BE1C2103414EF145B2B0579DC55490A6FADB8BE47AA6C6233BC052649A91F3EE1E3402C88112DF6DC8C0FF8C805B2E8B8391CF21F1CEB11183535A46E6482C4051CFDB6C1752743B8703E5CFC6ADC29226F3A7818F
03579A5C2B57F7A793624353AA29555EE2EFE013D2E136DAD727AF9E3C50F362214594F4F558AD89E4F58A95218A9DBA8F269C4867A6E4C77486231C6662ED1798805E41D31C99B132B44761715782D8DB825E81E227567A6B3A130F3210E3D58DC2
1FD64AFB4C5AC2549798EB7A1FCCF43F8AF9C858D3286E2E50632F4F8D0A0FE9C8B1AB62DF6DD3A7A8FB87C544F4D699497B48FCB2B68458CCC6CE0A2DCDF0A4A6DAA20CB022CBDCE7E4CF64BCAF454DA24290361311EB4899E0F25196A8270CFD04
843C76C74F35C906417113BE661E1D6C09CA3C4056D1BF0CF7AE1B2D1F3DD13B131907780EF800B7959CA192818AA9BDE0BF09588B32CF533F384F30C9EC60C93A3243E1AC3D6948DEED75C61232E65DF33C22E2EA32561D796914BE4445D4AF7F1B
42D06A192AB00DEA8408C06B3E17888759087C735CFF94B630A0993336E4345BD74EC1453EB830974EF693C700D84A25D02A1E263D12EE9FF6F8237D575836604888722E6A390CB52576F7571FDAB25C7A5FF475F61EA5B65EDEF99231484F0DA73E
0780CD9198EF6770C744D2B804B5B102BF4137CC1C563DF12C6A1B972533D51E872AC1CBE253B629F1B471AE92487DAACF10513A73577AA0357EE50A0172D96D751BD219A04AF30A6F9A3DDDC4A986C1F07395B49F81D672791D75801AACAE5D66D8
FA974422666E289EE69D408427C0661C1BE321BAD4399EFB83FA7462A02042C14CC62F349BC4A5E8724CDD0D2E89732B8C8DDE67ACC29E7D30E58BBF858BDF1DFFB894EA6C98D7DD769F6A88A3ABA8F0468D74E16140C28FE5ED93192411EC620BD2
435DE55B707DD1E6F8796648F7EBB0809807DE13B6E765A5C7A8F714EECD73676AF1AC8944B40019B324A961FE049C7C76077BAC69AA8DC1ECB50C610E6183DC57D843E0D26660512B23BE64FA4255733EA633D738253B2B28FC8EE78B93186DA374
F9AE08E106A9A1207BAC58F518A43FF28F21AC46E57CD9A48C2CEE42630306C05597D28570EC99D872047B89F180F115012422A0301134029C9212B9476A5C3ACBD89E633A45CBEECF81E4F908B6DBB40C8E45A647C12701A258C277D294A5147C6E
CE416FCDC429635532EB9A466693651834E54E85EB8FC4E9154B88140E75482D8B8C9C0698FE2EBF682792E167EDCD8CB0FF2459EDD42AB05284A9255A77979782A5E29F2CEC8839370668506282F435D51F64B9062E34A4ED7A583BB6D56F779DB2
70B3758C5AFBA0E10B6BB2F7D0F7F074863D4E7FB5299D46548EFDE25200937010088BDFA88EB9BA5C21BD7D81A2C287D2CADB6FFCB73A6790BC879366E36860BE37BE49351253EA1F66CD1938245426A59F735E8B218157DAB45434D6EEB7E2CDA0
6254E8B624ADA1EE04E9BA7C3D72F451361CCD42F74747F7239836C2C394A6D43E02B5065DDE064D6430ED27D610DFADAA0AA6B4CCD32FD87EB05F0CD92F2C77CD2C239EDC496F8C2F42C00A8BB2DEBE294C777F62F4AC5DEFF814A6071D85A038F0
C141E1D28E1816CB913969EA2DA7439608259695250C07B27D8FD3F4A916FA6EB91FDB1F746BA6D79537962EB9539A21779437F197C498A8B030EAB9B75D3E355B6EC4F55B92DF8C5B771E07D1B6D0029330446A1EF5A8BA37DC7C3C49C2B8B08493
CED19C5B868A926A1AF084BA2F50B686AAE21A0EBFFF19528F40050B6F39DDA1E3D2A0245100D86C726378BDCB7CAEAD2CFDA4EBF294859BD56599D7E71EA709B5C40C1FBE71BEC2EF89206A70F9E8D65744C79C48F454237DE193230AE24A159DC8
904C3CCD6448828F7647D11585A4AFAA4C794789BEFACB7EF618CEAED679B24BA13D53347E261780169F3A80D1E47E2CF0BAF742DA0CF5EA3CCBC1BC31D28DB8334AB15B14855EAEDF55280A644AF63FFB51379664A86124E747E8A5F426FCF35AF0
06CA86D1C69C52317CAC69D6F7E010723B75971D39CC2A9935EFBE5D3DA70B8B477645600C85F9DE8C2B58DD3EE33DEE7BC793ADA4269506C9C6E0B0BAB704EA0AE07EB90C79852DEA21BA26C51AC4E7635CE91FBD5F44F0E2C7F82AB71646C9962B
6EEE58BF420130B7D240BE18269E9B2D9CA7D43FF0FFCE44658445C15FBE5B50E343040D69CFAE13AA213CAB07647F90D227259C188DF91F76858F449235449F6292F8816907BB37ECA462104FCE42C5D260774BA28956EAF6DF5329223B403F7AE2
3D808000F4111322C15821497F7409E43802F932D23B659BABC0D9791E2E3F2012D57102ED0CB72275421737F92264F43023604AE78C7CD7997F0E7041040F88F6ABF8EFB271E0154AFEFCD6DA55C6322309DC7B09EA03BF6A67494589F5CE8598FD
F5EA66FAEB06A34A654D91D33B5213F532E1145C65EADD6C125AC7FD682B445D24C3C6D119A87D1B650D1136140D6DB8FAD4B122AB56BD27F3BF787FA95FEA19C0505C11369A4DBEE81E233D97DC8FD996330274A1BF58C73377802AF2645A75A93B
566F558C91315807DA14F8993A3EF4301456A34A2D4EF1BE8D7C3A8BE3C8F7DFC3B6128FF6DBA95C7896EA2B9169B1162982757AD1748A882724AC3E7D10C0F94E04ED7447838E1856CA6D1296CA1A096BC248CC99204E0FA0308913596D58B10DC0
C31AEBD1E634CC4DE26251B3061D88351DF351CD2DB54D49AC53E45512FB56A6071D40CC1F3BA6D244B3A37CCC01AA9E9EF80B32A363CF821A99B74B6C2BE6D229A02699D6A162B6CACC9E912035F5204F8FFA6C28EBC254DC0357E92990A3DE8B7B
EFFE58DE63993D058D371ACFD567A9CEEF69D7712A0326F480BD85F9BF224D54165FF538F80E3F0275EC94129B000CE576683782D7E2102AA98C0463515FED108DC38AF79460351DABB7512B0C011382F5E5EFD6B63DE1FA0347A875C6F104F464EF
CB855F120A8D1A70ED0FBB2DDB81F45FD510AA9C344645EC51C7655C3A30CC6630F796F8CE5A4CFE9C6C3C0512ADD30868E82F07A3D14BEB2CCDEA1F9B95965C58701A54D779DC6BF0BA5F9C4FCDDF3C4594B9FE2EEFBD1ECFD316ED13DF03C997D7
E7F28B4E2D025762049D7BB89C027263E870D8DE6D9930F8D745AA4C658D3B50E3E55C05235819CEA433CCE4ACAE0A98A398A4F2A1DBC7E729E1A4AB07D283706CD79D4EB8756320950BEF7B8C2358C4CEE7F2476D1BB6381C8D287874E3E5615DC7
C392D8B4E863F7C580B1C94D224DB63131A5C7E42E068202721E9E31324A2ACAACE83EDCB5404933327EAFCB1B4A881C03E5FF6080C078C7833ECB9B4FA2A83959778F08559418EDAF98B147ED77A9726E7E720D1A41C5B342263F1B3311EA743C00
7A2C743C905EF9C0D758CB7E75F33E08385279B8122646322A3D8FBC66406C906491373EC829BAE82203F57D9F3A9493F47BD9CB3FF88A9F7124697E1CF06170927A81574EB25F5AB8FAE039C79273658104361AE81B805EB6D2FE43D776869FEDA6
51FAAAF4CEBB6849D4EB408D916A20B33A53E92C4E16E699AC6EB25E7EC8D84F1FC126921AF9EA2F7DD8E720959C1A8EA9B637485240B1F4228347935743ACF0DFCEF3E43908930E17A67FE6BC34228872AF98FA75F29B4439E31907C01A23341184
FDA25E28EDA4B6F8AFF2BB17492849FFFF27D4BC3EC7EF50ACE7142E76A676F55A6CEE74E43E6E4E47AA51A5344D189DACD258E0F7ACA6BC2E7ED061DAF6CEBC4FF21CA3C803B02C97AAA17AD338A24720AF1AB7ECF5FCB1E821EB0006FCE9897A2F
32830C75F3170B39525A93B3163516B3C569F6885A18DBB13E997C500F3EE217D10C0051724C0D8AE483CC3EF7A62EDF1D2A8EF7F79E375D738000BAA99616DA93FDEB30E2A69EF059754C9DBCB3039FD0DD9857A33234434A5B33664A92A015878E
D93B775FBCC34B5236D665D01690554FAC9A2A79CA31F06BD30707742FE19DB9FC6A31AD62147FD78FF113FEA04D21DF940739C47EF271800918D4561E6D47C76D52160A5E92E4F62654B968B1C4237E39EF0E35120A81DEB717F22AA41ED50F8250
6EFB2E5950EC0BED1DA941C91D892A298FCC5DAD9825E729BDCCE825A17C1BCB0D5B3F70D615D16DCCBA0DDB919E2842E0AC5D9D0750CC3F6E2657623EB52D147B031B0A72C171EB9CB1AB8C32F3A724CAFD39B4225E0D99CA299594E3EA4B82522E
49E1B889F1B4ADF9D8D571D99B75BEDF713333C56D5A218D2B099B560430D9D3774D99FF2D07FECD4B387F6ADBE95A6E143181ABE90309F60ED7FC2D3624175D38AC3EC0CDDC146E9AE07F2031BFCA276DB3D1F265843941E9123A7C213713432BB2
0543C6DA30A6642B5E37714A362271739037A8424F8D5FDF29913F71CE25BAFC00DD626B788513ECDAAC24C9594D907230836CE2FE71A22FBFA2123ABA96295F49A476A8CA6AB324CC28E13CC8550F5739465C3DAB428B25ACE3DEB73CBA4B3F8162
7F2AB3E34C724CAF6AA406184EA070696E8410AA2E55132EAC8F4DC2AE25E3D89C638D255B6A4AA82B75EDFAA0065CD2FE4C3120CE4DC74BF45E59267C4ABAE2DFE00CD762EE4D0A92ECFD7913FFCA2ED81EDED8D982FB576559F05780B5637C9C52
2F50A1EADF26F1F274D3B557696613FE3D6AAA473AE19ECCE098D90202536E27EBE07EFEB5ED795D17271E59E0E0591E0BA08D5421EC8AF14456D72ADFD4E8CED1D359F46BF67B51993BB768A51FEDC0985F69E69F9572D8C3531207B94161F24DEF
9A07A26EA8A1850ABE88DDD345F9D86410C2BDA8286DCED587A86E806DBD125F7E0C760221C44FAA3716E8F218304D7E47DE8D56141F53ACDC6EFE9B86B7626DAFEC2CB9A02D4BB09BAE361694EDC9005BFE9899EECEF1EE81A041082A75BD6EAECA
685531A93AEEB58421E13E858FF3201B6D45C54065FD5F7D2FC3858A288D536DD43A70070BFFBD867754A720FE27A2B48C47F9971C1EBC15628956BB81184F425699CB6F18DB6E74FD6BDD9873BEC711973DB91B69AF25BFBB80F7416F15A52B86EF
83AE9CF9EA3F8FE1DFDFA1D753D81C29738348F1172C539BD5D51ECF255E7FC4134BA87D8B67FAF4C124D731492B6C8C43BCB84969806B49DF31F1F270486133A32BB0B23638EDE4D23D4F6305C303A78E78B7E8066F65EFAF72659C12D20A5E5A1A
15E556F5323D8DE064382E8539C2F029B0AB1F6F177B6DE4AADAA9D8C134B50ACEB5647B3BAA0EE19EBFE6514CA68BB67B6D0D2DBEB7E20F6AAC67E0F487C72BB75C702DB4D80A5C06CE8F99F1BE007017E59B506E58C4396D4EB6653900A45E1C57
0860C21AB3C6863356F5580E3D666A89DCCBFC589DE405A8F821C26E861B24976283DA0846190800136E84BC3BEAB8DE75CB7D9BA26E20DC91FEE2DF70BDB26536B2EE2687954F8B6CD27670623F03FE28ECF1B9B51F0670632DD3B4D6DF8B573D8D
C98B1847D2E1E158858950B58C47A6DC893EEBDF138FCAC771A9C1514ED069B618FAE660C043B9B68AD0B0343DDC0D872D0C4BCFED0CE5BD4F1368AD734A9DDBC330ECF3FB497A97DB9872179E24B188CA151A8EA15A518DCCF8ABB4A591EE045CFF
406334C358D62CB73C9010FCF56F3D0D53599237C5D51D999B5B8B70D7C0184D558925C9416C3AC5FD6037F859F1A02DA7E7B0431C16ADDD5C1C3A1ABF7AEC013104EB067F5F145D75E4EF3789575206C4CEC2682DE7FC37916469D46EB3C88B1C61
43258B008B3749DAD41283FAB14ECA883823CE29D68885195B4E79CB62E41D368A505FF08D4DCD08F2264F17E39228AF854D0B9728D481913C46A6C9EFDF2D72C32C4B459717B561073085339364AB18CC7972C9E3F0777350BE927E44C41C45E3F9
7D6C6224115C81384C83C7A259BADC8576219B5D8ACC3EB471EC700CB8B6AF5E5098BCFC4F229E1DDBCA053B93112AF46BFAD99095CDC37B4D8D3205F323BFE9B150F134F95237CA0F31FBA785B468DD9F750732321FE3928C6DF144833A7D93D1A1
44A846FC9481F48AC5E447060055064C0A38440EB24DEB51E2FEFFDF9C46306340E025D15745918E88EEA0CA70F49BD158B23F7CA3AACCECCE7421396CEC44F0EBB2C71937467E0AB3F1931D3CB609920C945550406B18D612A19A9023AA9E53D066
55E2C96C8E1A89CFFEE3EE01E7F8F682E9616032E537D3F06E484EAC1F9D19EC783A9F82AADFB5E19947355EAF410F6C6B9C6CB53B1EE4867DC7360846AD7583F7861F3DBF6E1E5CC87752FA1DDB20173D91FA1928060FEF8FD5C3640E254DB01224
F110110A83F01D315100BD6BCAFE86A6F99587AC3B24751A9A7CBCC5C920500B0A1CBA2ABEFCA7E50F088B31DC92517846A7F0C6C308F92F0757DC5F57642C9697529326B32FD7947F32828045DC07B3B3A94FC40AF0FD6B0FCF6AC6B7EC6F885A8A
55C6CFB38D132BC5E6D9405CA2015FEBB392F17AC3DFB2A1C23041D59BE5B8C7B057B41140ED0BCCA65B0393EA0B8FB401DDCEE15ECE68E51CA81DDAB1DB27CC5FD93A39C4EC88C5DB5628F49DEA68094C8DF16CE2730C25F0E0CD038C01B5841703
23F1B22254FAE43D156BFFE528B5CC16FFBC8B98BAD78C8EDBA30B308DD4FB9C15BCE43AC9D74F8CD7786896EA5B98AC4DB917FE0B586AEFB14E1A9D82E2E4E37DB875DE67DB3C89FC3351314E806808C4F514E2467C0174604C48395511C976AD59
3A6028AF373E556BAA170E8FFA528AF84119260F207F4B7738A38339509385AC067FEE10C3794F9B6A579D0C5333205EA3A2F57BDD489CB930D4BA85398D2A33E83050899AE65B2BA2EDD54DBC8751E84C482B6E0BE74689D56EC4B198505F1381F3
A016AAF206DE1F07FE52A8BBCCECE7C1377073AF5DC201048DBA85D1638F2ABB59919113B01D25F5BEA0980CAC2EEF86133081BFA01B97983518CC568DC83F8F77D3856AE47B3EF87165992A413FC3ED0E642EA8EA64A10A7BF7982BD58879E3B978
1113A944E7FA318AC6689C8B367230C167516125CD0A95CF439140AFEF882D78535529A0338C0E0F09BEF408A278B3C57774FBCDB4F0906D35125EB0EDA0F40D4799273035A050520F64D548264615345B3A7688CE0C56AE1B74181E3ADCE299D4F2
50C8417DD282956E3BA7D0226DD4AE9D08D92C650882D63B08A3450C2D2A59C3D8862ACF21CFD9D5E486FDA45735A41C31C392E04EDB0B87458803D32C13EFFFB402DB594E87A17D2933441784C61598EF607BE11D6089F70A22A9F2A2463AE3315B
B3CBE175ECD1D38C5ADCA668A5B544DC6109006430921A40FE2E0C761EED417A9D5314B4A331BCEDBEE0169410E86FC32BDBA21592B2C3EB22361585A7E06B7E4CD7042E4D1F5D565F577DBFEF5BAF7B59752AA3B862D537C93576A903E0D0153747
F5C5650E408F22F26554212CFECD54F6119DBB
000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000
cleartomark
%%BeginAGDEmbeddedDoc: version 1.0
%:s8W,W5t=="^::eu!!!jMDF]9GoI`AT*Q3Ni&@G.rg`q)[lX,fE=g>ms%]
%:s(LtsI"mkZ8k3M=gh2+n/H"Mu=,4"52T2:LW:,pKWt+)q:0JhPgdR3<8b0\.3/[k-2++r,W$SjGf$m13U8_D."uT*^,7j$KY-ANWe$UlCI8Crf,R@9+qV+!B[)XM<`RZj>+7Y-NP^f(=!BRi/[)8r
%:rnS["W`kC#/F%tj\S>Zqe_?XSitiJT2NGQGm'qJr/s9MrF`QR3Knm&L_QPTLBRK(hNmgI=+$fsjA7bc7[F'^j),[H-+V=5m%NA@C$sOPM=i7B#WT_H^>G6QT@)A55^)a@puh9;,YpfFpa1thr0cbB9$i:Q,EABWg/R36n=T#cE]?.R*t@W>E#%D38lrme8TN:*E(S\RhKEZ#B!-^0O@+\s1DR@NOZ(Uf$%W8h&HNKkM?&oY$[C-0.=b&7h"BO]*SI7p0prAYWK^a5gSJ//qGg<'ICj\?lYQIcbtC/**YX';+'V6AQ+5Oh,QagF\PpLI,>&D9kW'8ngI7=@h6n##[j(-W,*HN_P4MVtINP7ZMUa
%:H:Vkn$F..:kH60j[R@>Q]c@X,#*)?BKWC;?+-H"?Pb\R2$"@ReMSql^i93fodP8b=cPd[Vd[/?$geBNTTc$;<`PUd_@pXF`l"hEdBRN3J0XZq*r+'*!?Tb*r["Mqn*;MtOT*F47OA;S"JVfUH]X2)GS7"qaYkdn59BStt$=5_'KS\B>1:3%#1Hp;#E+73P6!(]eC-="jTC=YpHZIhc_*FpV&Y0TITV
%:Y"(iuVaYX(4B+"R?YDAMgX'o6Q=r#>>%XNe1$7t*ged9pcVX3.4!Oo$qa^simBZ8'6!r?TN9RdPd[S&T=f'Q-phdp<2F@-5GNb-fY8RV=u4g4p*d#B]DQ)b#6(J0j<#iPAHbD5RoHSEOLkg2LVjt?R"],^B5dZoMr?g.A/?m)-@/OqO_I).%>%eYg$h<__H0>gdRo@4S$Aucqf"^#H,^34mh9hti4_($)-KL;XO(42Lb4'p1Pr[1JD<+B,BEtQ/DgRZ?Un2nXG\n*N;Ih#'jM(@Z2[*A^B3Kg&EK.<*#O=L&]d;-\O(?l,.@9_bp;FT%_6Rq7cjoL[e%Pq5'5PH,\=S1;DoU-@09R$cq[W`s=L.)\7YitL#'hG5HUtC?:HP"PU>3c3uS'2E"$OF\WNhCGlT]fl<>gZc/hjFAU'2>5"*$C>[e;UM!`7fM/>ct`m(>VEl#O6p0Luq3(`\SE,FGs\lM=0gg"G^/gFZ4e=%(ECa^Q`>[0hdRVLTfXF])c=8,T<6SF@0M58Nk,Pk)E><)*IT&t"E63iDZoe^a^phC^#LBKbWLoAm[?Aq\IZWfKICJ9e`NQjLXZ#7Sa_#&[2\(Q0Z@^dCK$`c*'j=HfopqSh!5O:Ze)Z&]j6ks:d0,-VAYs8M
%:p64a.YO-$d8S^C]daZb:b;#D09QRmPou%[^8NTTNgLK6;E2E11OXZ7,bmPp`d!R:?EDS.WMWksY`iV6E$=F3.*A9"aeSi]Ms&bp7O`fF3lN@(tK&;fC\6(#OPaj9u4HEe"T2*C:DACkOuI./-ef<]jKS%O:rMKhrY>l6Pesg:6e.F`&kXVH1ccqHg?3QEGd`Sl2LRP2o<4B5X=rKWp&SS&"YUV[^SEU"
%:V%d?pN)Hg4O&KCritFbUPc&AGc;*aqnbZ5@A5!:7qEVf[Z;!Y7AWMi+:Ah%Hpp*P0Y3S\p$9T;G0:J\GbQtt]h,ma(fF!Jk34#OZ-M16C)h!3(G2kWp*dYS+1(Ybljk&d#?i>,D)W6^/C#s`in06+`GSp)G%1R/8.4`p2\r*(*kgB[^;+*fh7*d@UU;%l7^T@Hd#=8m-aWdY8X9gd8c-=NWV&Hlq7cgNQcjWLjc$/rE]o]i*4tc7Yq$Xn@#XetF?Aq(eRL^^7pNZh>dY+7CslF,49BrM[4D9+oQJ4MkF*r@H]:O'#G]9`;HN-<*ncPC8/iG-UgcIW.IQ,l1QPCT76U%\I19diQIjlo]S"&F
%:E,4Uh&'>G>qmhKl^KQ2,:$6(h\&doro_UW;,c5CG8JZ[%Aqlo`>6F\:*gD'tpcESmDM-VPA]5fj4UAO7fi`3Uf\lSQ%A7_Ou9#d!q@5saTbtEs&jn-C!r&I%T$m/=`.GO<=R]lQ)JUqqK_mO@RE+D]@2tRAF4MR_:ON(F$o/JJ<[;)RJ(BRgAK%M%Xe6AtcY=9I6
%:]3O#m2:M3KWgOIP=uA*'RYqc_`NQaOKaV+a&t>#oH#&[N;q:,B%AZoU4oM9O:THo[=A?(;1prp6=0N!h/S7:b&e!tVB&iR/ZGgXmWje@T^IP`"ND1:ZM\355YIBmQ$X:adRut7,Mn(;&$*,fjZH)%&VuLf%kt089HG14ZR3NhgCpaX[ZWp=F[@$X;p0Rut7,X1]tJl+\07:J\OnUt7q7
%:oR#!7R4^W?4#>seJ05=2#jNW>`[BE/`t8D`[m"h?Hkn__@-kd34q9%J,.=..EZeUH@N_onR@B6W1hAgYFgKKLe,QrMoEWdm@$dJ/MkDF;]b&-@#sj"3_T[e,E7Db;=`=IjW/k6j(QMZiCe!RLUDHX-:FLXDkfIUYr>F91j=s&DqNL+k2khN=T=s]$XMPeU-Q1]qR=TqbJ5PPA]90SIYbZ!A>nhH,P9tnieFHMQ
%:kc@NKf8Q.mk3=n,)ksQeQF!,@2&e7(q3=n,1>WDa,>YtcinK,48^0J`aEaRaF+n'rja"AMFjLDI\@nD(7LZNF$F!C>dUZB^IZfVtg?k.]$*B\7K-'sn+/'e8'HYhg]Ci3iaOP((iOpT4K-^?&23MT^BcRP!9ed31H@AA8H)M_*VYC/2X53*Yjf2
%:TlCn45G\O7+W_!moj'i:@3bQ>0^X@5%9@JppG$:C]O-A2^j^4aT?\B$].b_C74SCAik1QG+^JH:dd?\a2b]H^8S=(EGbQ-,3lp7nQN&QM&g/sU1:"jVt>`e/%AcCW6bH[
%:;S:jo(2"l*MJV.2bhO!fMt:OcMo3!"58Fo>WSXF)qdD5LV2ZG<+lT9KQCg)b@YF+#QG88naVW_&$N6MFlXa9YU&EP[>O#!me8BBa^%n[W+j7*oI@.\IK-S2ie]"M3,OPO./NA%cr\m=oBaOE-OkFl>6)\+W$?X*ln:M&\I",b*i3mg`0UrPnc,Jrj#*7G>!b=D"\[r-0
%:$]%%pSK-'_N/0'7E'%Q!Dk&p$nd*Li2%JPB<Cu
%:m>1^blZRA(0@.-EmH6P^-SZ[^@MFn=6!/dAQQT`FJt(L,F5;lM_m()I)q^s/['L?eZn"a=]1#4K\o\W7L/(c9g5O5&NYq6:m:\,JrTf6VJJ(MAYmaM8ZB!(/BJ)cm(-f/en:8@;&(8Ro`Ihh(2[d)P;XnH@"NCpkJH&C_\q$eJCIm07,,#->_bX!XZO=nQ'^3[*];?uo\O;=PWI=^Qfg$:+fBqI$c))=Z2\34p-5[c;#b!X(*V1i<\16
%::0E[LZg;YJo0(Tp7G;]7BVZqaP=S.WZRJ;[Sna#6)i2rLMFIi7A]Z7`^*E8F0Y:
%:B2IY#8'Wm__Z#K]h`^K^jpel`G$j7IDP/o@6QE+i8)Ne.<(D?IER]J2'imj8EP*(aI"odAS^I0R02ct#]__U[8)3jncY#YS<-.SW`m7khYqka.Qg`lnFOa7Be-^(ll8Y'2:8h7OIq#2HrEXo'^-CKG)'4]a&W:jraDGLi/a))6ae_N7PBZi:V?D16_-uBMo0!.k2'%d"?1/iKAon:E`3,\\00>!-+`ZX0Ff^hWof`jCnEB7ISG.#2r?^b)=/d^X**`"O/QJp+mHDEqK*l$K_G/g/%.^bGQi;eWa-d9]2!QXkZGD$Gu`UZgSPDRZlSB"N`kPtNmksjNEMj;
%:4-DS>5R[,rN]KSU/tLYs4?;pk<@;Nf?_LV/>iZm@h5c3IOKren,%6E8LEd.nqbG"L8%`?!K_ZJYm:pUS
%:,iG8jPHjH-&,PfpJ7#?@Z2EnH+B+$ScN?5d)LFI$rHe'7NXFP!I][l[fB^Z:Y;%];q.AC6poc>p??nb'SZepMmX;MHLsAg55T\YLCX%;$moj>Cl9^sm0WM4Q0T0R+7&R]f5^q*D2d]ij[J8Ib\o2Ne?>#i6q*kM]#jr.>;!-a8%^SikMW(To:-7!JZP"]5i6Q*gr"hU;-a#p]$.&f4R53t/Km,SY4;<75\gT$L)Arm'Z'qhm[8dcs
%:PKLqZ,gOAEo]JZ^O9i;m\Q/tB`CIcs`W`Oc28?(D302t10+h&$VNI=@Ahi"WM4,m.+=ksBbOE,,MT%YYA?^HsPF9[V%K^to]`n
u3=^!+B0s3'UG>g!_".eT*'(0VH.(ZENr&BW.-DLQAQ!D\[$s4^KWIl%!;_:0@=]f6t3
%:ZB=`O$MXf!8SF548@ssqdqT.R3*'`&3
%:fAAeJnQPrngh$sp.N):qr7?b^:\Y_9rsnsmWlHQm]>UH;8h])c!5?IkOC8!ceWiQL;B!rcL$*0IiA20$/ffl9B`&p(h\5P[#8:KkF23M0P^k1)Tlg9DMMVN4g'2R(`&8u@Rje+e]_kc2*/clNmFu8=01aE4=a^JakhBkQb>TB2O[#WKe8/-dk,8nmWog>)E&/e_isPB<
%:WEQB@P.O/HWerj'&pP>&n1LEQ>e%o?jsS!9\O-q]o`QW%bC2G$".(/fBZ9P]+oEO,1VWl"M=\C[!%\0:!/sB]Ch7$aCh3SIlU50'AQ3A\AH2b3<^^Y3F8u?>A:@EcZ22@ruF.AOgcTA,lW'9lNm;C1Ums!!)7X;fm%oDJ&qLi(ZmZF*%B^gJ((M@rq\NImussDdu=L@:Wqi!!"lCCi<_[O/@VPlCG=?=ZD.RU,!!21[H#7#/CeSPPEaa!6!!.gRAU&;`Ci=(h!J"-X@T6cFCh3SIIoK?gEbTE(!!!Bm7mogbDKGjY8OIE4DfR`9!Cfn+DfABkF8u>.:i^JaARoq(AH2_L9PJBU:gnGG!6IoKDIldU@VfTU!7+>QF*%B_,#D]g@:sUhE+f4Oj%W9WD.N\I=[Z\?@/p:a7VQLXEb,4N/4*cdT_m(M
%:Bk'VHChs(OF%'nVD+nYbF8u;_7;QOP:i^Jn9QP:U!%gNGF(o,XBl7J^!2i>0Bk1dr!!.7AFEq\6:i^Jn9QP:U!HM+XDfe?bCi=>P!!#MVDes6$@ruX0!!'W)@`WirCY2irO<'irJ!;irJ!;irQ%YJ,h,$VZ7)*VZEq#/-%7%F9*uoF9*uoF9*uoF9*uoF9*uoF9*uoF9*uoF9*uoF9*upJ,ueQF9*uoF9*uoF9*uoF9*uoF9*upJ,ueQF9*uoF9*uoirF0%ZN730QHoWY
%:L&nFX+p!/oXoRA\WrU6BLB)DsZN730L&nFX+p!/oXoRA\WrU6BLB)DsZN730L&n1P$N[C2+p!/oXoRA[aT7.sF9/]KXoX7XVZ7)*XoT^IIfZ\PhuLk"LB)DsJ,ueQirQ%XF9*upJ,ueQF9*upJ,ueQF9*upJ,ueQF9*upJ,ueQF9*upJ,ueQF9*uoF9*uoF9/]KXoX7XXoT^IIfZ\PhuTkYaT7.sF9/]KXoX7XVZ7)*XoT^IKYZ]^
%:IfZ\PhuLk"LB-64T`KZEXoNPE/cgJ'XoNPE/cgJ'XoNPE/cgJ'XoNPE/cgJ'XoNPE/cgJ'XoNPE/c]to/c]to/cgJ'XoNPE/c]toZN5RWXoX7XXoT^IIfZ\PhuTkYaT7.sF9/]KJ,ueRL&nFX+p!/oXoRA[aT7.tJ,ueQF9*upXoNPE/c]to/c]to/c]toZN5RWXoX7XXoT^IIfZ\PhuLk"LB)Ds/c]to/c]toZN5RWXoX7XnB1I2
%:XoT^IIfZ\PhuTkYaT7.sF9/]KJ,ueRL&nFX+p!/oXoRA\WrU6BLB)DsZN5RWXoX7XXoT^IIfZ\PhuTkYaT7.shuL@hcN)u+XoW\GcN#NsF9'Vf'*-qklN-)I2#uY:F9&3=irF0$huKGOXoRA[irQ%XirQ%XirQ%XirQ%XirJ
%%EndAGDEmbeddedDoc
%%BeginResource: procset Altsys_header 4 0
userdict begin /AltsysDict 300 dict def end
AltsysDict begin
/bdf{bind def}bind def
/xdf{exch def}bdf
/defed{where{pop true}{false}ifelse}bdf
/ndf{1 index where{pop pop pop}{dup xcheck{bind}if def}ifelse}bdf
/d{setdash}bdf
/h{closepath}bdf
/H{}bdf
/J{setlinecap}bdf
/j{setlinejoin}bdf
/M{setmiterlimit}bdf
/n{newpath}bdf
/N{newpath}bdf
/q{gsave}bdf
/Q{grestore}bdf
/w{setlinewidth}bdf
/Xic{matrix invertmatrix concat}bdf
/Xq{matrix currentmatrix mark}bdf
/XQ{cleartomark setmatrix}bdf
/sepdef{
dup where not
{
AltsysSepDict
}
if
3 1 roll exch put
}bdf
/st{settransfer}bdf
/colorimage defed /_rci xdf
/cntr 0 def
/readbinarystring{
/cntr 0 def
2 copy readstring
{
{
dup
(\034) search
{
length exch pop exch
dup length 0 ne
{
dup dup 0 get 32 sub 0 exch put
/cntr cntr 1 add def
}
{
pop 1 string dup
0 6 index read pop 32 sub put
}ifelse
3 copy
putinterval pop
1 add
1 index length 1 sub
1 index sub
dup 0 le {pop pop exit}if
getinterval
}
{
pop exit
} ifelse
} loop
}if
cntr 0 gt
{
pop 2 copy
dup length cntr sub cntr getinterval
readbinarystring
} if
pop exch pop
} bdf
/_NXLevel2 defed {
_NXLevel2 not {
/colorimage where {
userdict eq {
/_rci false def
} if
} if
} if
} if
/md defed{
md type /dicttype eq {
/colorimage where {
md eq {
/_rci false def
}if
}if
/settransfer where {
md eq {
/st systemdict /settransfer get def
}if
}if
}if
}if
/setstrokeadjust defed
{
true setstrokeadjust
/C{curveto}bdf
/L{lineto}bdf
/m{moveto}bdf
}
{
/dr{transform .25 sub round .25 add
exch .25 sub round .25 add exch itransform}bdf
/C{dr curveto}bdf
/L{dr lineto}bdf
/m{dr moveto}bdf
/setstrokeadjust{pop}bdf
}ifelse
/privrectpath {
4 -2 roll m
dtransform round exch round exch idtransform
2 copy 0 lt exch 0 lt xor
{dup 0 exch rlineto exch 0 rlineto neg 0 exch rlineto}
{exch dup 0 rlineto exch 0 exch rlineto neg 0 rlineto}
ifelse
closepath
}bdf
/rectclip{newpath privrectpath clip newpath}def
/rectfill{gsave newpath privrectpath fill grestore}def
/rectstroke{gsave newpath privrectpath stroke grestore}def
/_fonthacksave false def
/currentpacking defed
{
/_bfh {/_fonthacksave currentpacking def false setpacking} bdf
/_efh {_fonthacksave setpacking} bdf
}
{
/_bfh {} bdf
/_efh {} bdf
}ifelse
/packedarray{array astore readonly}ndf
/`
{
false setoverprint
/-save0- save def
5 index concat
pop
storerect left bottom width height rectclip
pop
/MMdict_count countdictstack def
/MMop_count count 1 sub def
userdict begin
/showpage {} def
0 setgray 0 setlinecap 1 setlinewidth
0 setlinejoin 10 setmiterlimit [] 0 setdash newpath
} bdf
/currentpacking defed{true setpacking}if
/min{2 copy gt{exch}if pop}bdf
/max{2 copy lt{exch}if pop}bdf
/xformfont { currentfont exch makefont setfont } bdf
/fhnumcolors 1
statusdict begin
/processcolors defed
{
pop processcolors
}
{
/deviceinfo defed {
deviceinfo /Colors known {
pop deviceinfo /Colors get
} if
} if
} ifelse
end
def
% pix = x^2 + y^2
/printerRes
gsave
matrix defaultmatrix setmatrix
72 72 dtransform
abs exch abs
max
grestore
def
/graycalcs
[
{Angle Frequency}
{GrayAngle GrayFrequency}
{0 Width Height matrix defaultmatrix idtransform
dup mul exch dup mul add sqrt 72 exch div}
{0 GrayWidth GrayHeight matrix defaultmatrix idtransform
dup mul exch dup mul add sqrt 72 exch div}
] def
/calcgraysteps {
forcemaxsteps
{
maxsteps
}
{
/currenthalftone defed
{currenthalftone /dicttype eq}{false}ifelse
{
currenthalftone begin
HalftoneType 4 le
{graycalcs HalftoneType 1 sub get exec}
{
HalftoneType 5 eq
{
Default begin
{graycalcs HalftoneType 1 sub get exec}
end
}
{0 60}
ifelse
}
ifelse
end
}
{
currentscreen pop exch
}
ifelse
printerRes 300 max exch div exch
2 copy
sin mul round dup mul
3 1 roll
cos mul round dup mul
add 1 add
dup maxsteps gt {pop maxsteps} if
dup minsteps lt {pop minsteps} if
}
ifelse
} bdf
/nextrelease defed {
/languagelevel defed not {
/framebuffer defed {
0 40 string framebuffer 9 1 roll 8 {pop} repeat
dup 516 eq exch 520 eq or
{
/fhnumcolors 3 def
/currentscreen {60 0 {pop pop 1}}bdf
/calcgraysteps {maxsteps} bdf
}if
}if
}if
}if
fhnumcolors 1 ne {
/calcgraysteps {maxsteps} bdf
} if
/currentpagedevice defed {
currentpagedevice /PreRenderingEnhance known
{
currentpagedevice /PreRenderingEnhance get
{
/calcgraysteps
{
forcemaxsteps
{maxsteps}
{256 maxsteps min}
ifelse
} def
} if
} if
} if
/gradfrequency 144 def
printerRes 1000 lt {
/gradfrequency 72 def
} if
/adjnumsteps {
dup dtransform abs exch abs max
printerRes div
gradfrequency mul
round
5 max
min
}bdf
/goodsep {
spots exch get 4 get dup sepname eq exch (_vc_Registration) eq or
}bdf
/BeginGradation defed
{/bb{BeginGradation}bdf}
{/bb{}bdf}
ifelse
/EndGradation defed
{/eb{EndGradation}bdf}
{/eb{}bdf}
ifelse
/bottom -0 def
/delta -0 def
/frac -0 def
/height -0 def
/left -0 def
/numsteps1 -0 def
/radius -0 def
/right -0 def
/top -0 def
/width -0 def
/xt -0 def
/yt -0 def
/df currentflat def
/tempstr 1 string def
/clipflatness currentflat def
/inverted?
0 currenttransfer exec .5 ge def
/tc1 [0 0 0 1] def
/tc2 [0 0 0 1] def
/storerect{/top xdf /right xdf /bottom xdf /left xdf
/width right left sub def /height top bottom sub def}bdf
/concatprocs{
systemdict /packedarray known
{dup type /packedarraytype eq 2 index type /packedarraytype eq or}{false}ifelse
{
/proc2 exch cvlit def /proc1 exch cvlit def
proc1 aload pop proc2 aload pop
proc1 length proc2 length add packedarray cvx
}
{
/proc2 exch cvlit def /proc1 exch cvlit def
/newproc proc1 length proc2 length add array def
newproc 0 proc1 putinterval newproc proc1 length proc2 putinterval
newproc cvx
}ifelse
}bdf
/i{dup 0 eq
{pop df dup}
{dup} ifelse
/clipflatness xdf setflat
}bdf
version cvr 38.0 le
{/setrgbcolor{
currenttransfer exec 3 1 roll
currenttransfer exec 3 1 roll
currenttransfer exec 3 1 roll
setrgbcolor}bdf}if
/vms {/vmsv save def} bdf
/vmr {vmsv restore} bdf
/vmrs{vmsv restore /vmsv save def}bdf
/eomode{
{/filler /eofill load def /clipper /eoclip load def}
{/filler /fill load def /clipper /clip load def}
ifelse
}bdf
/normtaper{}bdf
/logtaper{9 mul 1 add log}bdf
/CD{
/NF exch def
{
exch dup
/FID ne 1 index/UniqueID ne and
{exch NF 3 1 roll put}
{pop pop}
ifelse
}forall
NF
}bdf
/MN{
1 index length
/Len exch def
dup length Len add
string dup
Len
4 -1 roll
putinterval
dup
0
4 -1 roll
putinterval
}bdf
/RC{4 -1 roll /ourvec xdf 256 string cvs(|______)anchorsearch
{1 index MN cvn/NewN exch def cvn
findfont dup maxlength dict CD dup/FontName NewN put dup
/Encoding ourvec put NewN exch definefont pop}{pop}ifelse}bdf
/RF{
dup
FontDirectory exch
known
{pop 3 -1 roll pop}
{RC}
ifelse
}bdf
/FF{dup 256 string cvs(|______)exch MN cvn dup FontDirectory exch known
{exch pop findfont 3 -1 roll pop}
{pop dup findfont dup maxlength dict CD dup dup
/Encoding exch /Encoding get 256 array copy 7 -1 roll
{3 -1 roll dup 4 -2 roll put}forall put definefont}
ifelse}bdf
/RCJ{4 -1 roll
/ourvec xdf
256 string cvs
(|______) anchorsearch
{pop
cvn
dup FDFJ
exch
1 index
eq
{
_bfh findfont _efh
dup
maxlength dict
CD
dup
/FontName
3 index
put
dup
/Encoding ourvec put
1 index
exch
definefont
pop
}
{exch pop}
ifelse
}
{pop}
ifelse
}bdf
/RFJ{
dup
FontDirectory exch
known
{pop 3 -1 roll pop}
{RCJ}
ifelse
}bdf
/hasfont
{
/resourcestatus where
{
pop
/Font resourcestatus
{
pop pop true
}
{
false
}
ifelse
}
{
dup FontDirectory exch known
{pop true}
{
256 string
cvs
(fonts/) exch MN
status
{pop pop pop pop true}
{false}
ifelse
}
ifelse
}
ifelse
}bdf
/FDFJ
{
dup
hasfont
not
{
pop
/Ryumin-Light-83pv-RKSJ-H
hasfont
{
/Ryumin-Light-83pv-RKSJ-H
}
{
/Courier
}
ifelse
}
if
}bdf
/FFJ{
_bfh
dup
256 string cvs
(|______)exch MN
cvn
dup
FontDirectory
exch known
{
exch
pop
findfont
3 -1 roll
pop
}
{
pop
FDFJ
dup findfont
dup maxlength dict
CD
dup dup
/Encoding exch
/Encoding get
256 array copy
7 -1 roll
{
3 -1 roll
dup
4 -2 roll
put
}forall
put
definefont
}
ifelse
_efh
}bdf
/GS {
dup
hasfont
{
findfont
exch makesetfont
exch
pop
ts
}
{
pop pop pop
ts
} ifelse
} bdf
/RCK{4 -1 roll
/ourvec xdf
256 string cvs
(|______) anchorsearch
{pop
cvn
dup FDFK
exch
1 index
eq
{
_bfh findfont _efh
dup
maxlength dict
CD
dup
/FontName
3 index
put
dup
/Encoding ourvec put
1 index
exch
definefont
pop
}
{exch pop}
ifelse
}
{pop}
ifelse
}bdf
/RFK{
dup
FontDirectory exch
known
{pop 3 -1 roll pop}
{RCK}
ifelse
}bdf
/hasfont
{
/resourcestatus where
{
pop
/Font resourcestatus
{
pop pop true
}
{
false
}
ifelse
}
{
dup FontDirectory exch known
{pop true}
{
256 string
cvs
(fonts/) exch MN
status
{pop pop pop pop true}
{false}
ifelse
}
ifelse
}
ifelse
}bdf
/FDFK
{
dup
hasfont
not
{
pop
/JCsm
hasfont
{
/JCsm
}
{
/Courier
}
ifelse
}
if
}bdf
/FFK{
_bfh
dup
256 string cvs
(|______)exch MN
cvn
dup
FontDirectory
exch known
{
exch
pop
findfont
3 -1 roll
pop
}
{
pop
FDFK
dup findfont
dup maxlength dict
CD
dup dup
/Encoding exch
/Encoding get
256 array copy
7 -1 roll
{
3 -1 roll
dup
4 -2 roll
put
}forall
put
definefont
}
ifelse
_efh
}bdf
/RCTC{4 -1 roll
/ourvec xdf
256 string cvs
(|______) anchorsearch
{pop
cvn
dup FDFTC
exch
1 index
eq
{
_bfh findfont _efh
dup
maxlength dict
CD
dup
/FontName
3 index
put
dup
/Encoding ourvec put
1 index
exch
definefont
pop
}
{exch pop}
ifelse
}
{pop}
ifelse
}bdf
/RFTC{
dup
FontDirectory exch
known
{pop 3 -1 roll pop}
{RCTC}
ifelse
}bdf
/FDFTC
{
dup
hasfont
not
{
pop
/DFMing-Lt-HK-BF
hasfont
{
/DFMing-Lt-HK-BF
}
{
/Courier
}
ifelse
}
if
}bdf
/FFTC{
_bfh
dup
256 string cvs
(|______)exch MN
cvn
dup
FontDirectory
exch known
{
exch
pop
findfont
3 -1 roll
pop
}
{
pop
FDFTC
dup findfont
dup maxlength dict
CD
dup dup
/Encoding exch
/Encoding get
256 array copy
7 -1 roll
{
3 -1 roll
dup
4 -2 roll
put
}forall
put
definefont
}
ifelse
_efh
}bdf
/fps{
currentflat
exch
dup 0 le{pop 1}if
{
dup setflat 3 index stopped
{1.3 mul dup 3 index gt{pop setflat pop pop stop}if}
{exit}
ifelse
}loop
pop setflat pop pop
}bdf
/fp{100 currentflat fps}bdf
/clipper{clip}bdf
/W{/clipper load 100 clipflatness dup setflat fps}bdf
/AVec 256 array def
AVec 0 /Helvetica findfont
/Encoding get 0 256 getinterval putinterval
/ANSIPatch[
16#0/grave 16#1/acute 16#2/circumflex 16#3/tilde 16#4/macron 16#5/breve
16#6/dotaccent 16#7/dieresis 16#8/ring 16#9/cedilla 16#A/hungarumlaut
16#B/ogonek 16#C/caron 16#D/dotlessi 16#27/quotesingle 16#60/grave
16#7C/bar 16#82/quotesinglbase 16#83/florin 16#84/quotedblbase 16#85
/ellipsis 16#86/dagger 16#87/daggerdbl 16#89/perthousand 16#8A/Scaron
16#8B/guilsinglleft 16#8C/OE 16#91/quoteleft 16#92/quoteright 16#93
/quotedblleft 16#94/quotedblright 16#95/bullet 16#96/endash 16#97/emdash
16#99/trademark 16#9A/scaron 16#9B/guilsinglright 16#9C/oe
16#9F/Ydieresis 16#A0/space 16#A4/currency 16#A6/brokenbar
16#A7/section 16#A8/dieresis 16#A9/copyright 16#AA/ordfeminine 16#AB/guillemotleft
16#AC/logicalnot 16#AD/hyphen 16#AE/registered 16#AF/macron 16#B0/degree
16#B1/plusminus 16#B2/twosuperior 16#B3/threesuperior 16#B4/acute 16#B5/mu
16#B6/paragraph 16#B7/periodcentered 16#B8/cedilla 16#B9/onesuperior
16#BA/ordmasculine 16#BB/guillemotright 16#BC/onequarter 16#BD/onehalf
16#BE/threequarters 16#BF/questiondown 16#C0/Agrave 16#C1/Aacute 16#C2/Acircumflex
16#C3/Atilde 16#C4/Adieresis 16#C5/Aring 16#C6/AE 16#C7/Ccedilla 16#C8/Egrave
16#C9/Eacute 16#CA/Ecircumflex 16#CB/Edieresis 16#CC/Igrave 16#CD/Iacute
16#CE/Icircumflex 16#CF/Idieresis 16#D0/Eth 16#D1/Ntilde 16#D2/Ograve
16#D3/Oacute 16#D4/Ocircumflex 16#D5/Otilde 16#D6/Odieresis 16#D7/multiply
16#D8/Oslash 16#D9/Ugrave 16#DA/Uacute 16#DB/Ucircumflex 16#DC/Udieresis
16#DD/Yacute 16#DE/Thorn 16#DF/germandbls 16#E0/agrave 16#E1/aacute
16#E2/acircumflex 16#E3/atilde 16#E4/adieresis 16#E5/aring 16#E6/ae
16#E7/ccedilla 16#E8/egrave 16#E9/eacute 16#EA/ecircumflex 16#EB/edieresis
16#EC/igrave 16#ED/iacute 16#EE/icircumflex 16#EF/idieresis 16#F0/eth
16#F1/ntilde 16#F2/ograve 16#F3/oacute 16#F4/ocircumflex 16#F5/otilde
16#F6/odieresis 16#F7/divide 16#F8/oslash 16#F9/ugrave 16#FA/uacute
16#FB/ucircumflex 16#FC/udieresis 16#FD/yacute 16#FE/thorn 16#FF/ydieresis
] def
127 1 159 { AVec exch/bullet put } for
ANSIPatch aload pop ANSIPatch length 2 idiv{AVec 3 1 roll put}repeat
/DoPatch { dup /CharStrings known
{ setfont
0 1 255 { dup
currentfont
/Encoding get
exch get
currentfont /CharStrings get
exch known
{pop} {currentfont /Encoding get exch /bullet put} ifelse
} for
} {pop} ifelse
} def
/findheaderfont {
AVec 256 array copy
/FHT /|______Helvetica dup RF findfont def
FHT DoPatch
FHT
} def
end %. AltsysDict
%%EndResource
%%EndProlog
%%BeginSetup
AltsysDict begin
_bfh
%%IncludeResource: font Gen_Arial
/f0 /Gen_Arial findfont def
_efh
end %. AltsysDict
%%EndSetup
AltsysDict begin
/onlyk4{false}ndf
/ccmyk{dup 5 -1 roll sub 0 max exch}ndf
/cmyk2gray{
4 -1 roll 0.3 mul 4 -1 roll 0.59 mul 4 -1 roll 0.11 mul
add add add 1 min neg 1 add
}bdf
/setcmykcolor{1 exch sub ccmyk ccmyk ccmyk pop setrgbcolor}ndf
/maxcolor {
max max max
} ndf
/maxspot {
pop
} ndf
/setcmykcoloroverprint{4{dup -1 eq{pop 0}if 4 1 roll}repeat setcmykcolor}ndf
/findcmykcustomcolor{5 packedarray}ndf
/setcustomcolor{exch aload pop pop 4{4 index mul 4 1 roll}repeat setcmykcolor pop}ndf
/setseparationgray{setgray}ndf
/setoverprint{pop}ndf
/currentoverprint false ndf
/cmykbufs2gray{
0 1 2 index length 1 sub
{
4 index 1 index get 0.3 mul
4 index 2 index get 0.59 mul
4 index 3 index get 0.11 mul
4 index 4 index get
add add add cvi 255 min
255 exch sub
2 index 3 1 roll put
}for
4 1 roll pop pop pop
}bdf
/colorimage{
pop pop
[
5 -1 roll/exec cvx
6 -1 roll/exec cvx
7 -1 roll/exec cvx
8 -1 roll/exec cvx
/cmykbufs2gray cvx
]cvx
image
}
%. version 47.1 on Linotronic of Postscript defines colorimage incorrectly (rgb model only)
version cvr 47.1 le
statusdict /product get (Lino) anchorsearch{pop pop true}{pop false}ifelse
and{userdict begin bdf end}{ndf}ifelse
fhnumcolors 1 ne {/yt save def} if
/customcolorimage{
aload pop
(_vc_Registration) eq
{
pop pop pop pop separationimage
}
{
/ik xdf /iy xdf /im xdf /ic xdf
ic im iy ik cmyk2gray /xt xdf
currenttransfer
{dup 1.0 exch sub xt mul add}concatprocs
st
image
}
ifelse
}ndf
fhnumcolors 1 ne {yt restore} if
fhnumcolors 3 ne {/yt save def} if
/customcolorimage{
aload pop
(_vc_Registration) eq
{
pop pop pop pop separationimage
}
{
/ik xdf /iy xdf /im xdf /ic xdf
1.0 dup ic ik add min sub
1.0 dup im ik add min sub
1.0 dup iy ik add min sub
/ic xdf /iy xdf /im xdf
currentcolortransfer
4 1 roll
{dup 1.0 exch sub ic mul add}concatprocs 4 1 roll
{dup 1.0 exch sub iy mul add}concatprocs 4 1 roll
{dup 1.0 exch sub im mul add}concatprocs 4 1 roll
setcolortransfer
{/dummy xdf dummy}concatprocs{dummy}{dummy}true 3 colorimage
}
ifelse
}ndf
fhnumcolors 3 ne {yt restore} if
fhnumcolors 4 ne {/yt save def} if
/customcolorimage{
aload pop
(_vc_Registration) eq
{
pop pop pop pop separationimage
}
{
/ik xdf /iy xdf /im xdf /ic xdf
currentcolortransfer
{1.0 exch sub ik mul ik sub 1 add}concatprocs 4 1 roll
{1.0 exch sub iy mul iy sub 1 add}concatprocs 4 1 roll
{1.0 exch sub im mul im sub 1 add}concatprocs 4 1 roll
{1.0 exch sub ic mul ic sub 1 add}concatprocs 4 1 roll
setcolortransfer
{/dummy xdf dummy}concatprocs{dummy}{dummy}{dummy}
true 4 colorimage
}
ifelse
}ndf
fhnumcolors 4 ne {yt restore} if
/separationimage{image}ndf
/spotascmyk false ndf
/newcmykcustomcolor{6 packedarray}ndf
/inkoverprint false ndf
/setinkoverprint{pop}ndf
/setspotcolor {
spots exch get
dup 4 get (_vc_Registration) eq
{pop 1 exch sub setseparationgray}
{0 5 getinterval exch setcustomcolor}
ifelse
}ndf
/currentcolortransfer{currenttransfer dup dup dup}ndf
/setcolortransfer{st pop pop pop}ndf
/fas{}ndf
/sas{}ndf
/fhsetspreadsize{pop}ndf
/filler{fill}bdf
/F{gsave {filler}fp grestore}bdf
/f{closepath F}bdf
/S{gsave {stroke}fp grestore}bdf
/s{closepath S}bdf
userdict /islevel2
systemdict /languagelevel known dup
{
pop systemdict /languagelevel get 2 ge
} if
put
islevel2 not
{
/currentcmykcolor
{
0 0 0 1 currentgray sub
} ndf
} if
/tc
{
gsave
setcmykcolor currentcmykcolor
grestore
} bind def
/testCMYKColorThrough
{
tc add add add 0 ne
} bind def
/fhiscomposite where not {
userdict /fhiscomposite
islevel2
{
gsave 1 1 1 1 setcmykcolor currentcmykcolor grestore
add add add 4 eq
}
{
1 0 0 0 testCMYKColorThrough
0 1 0 0 testCMYKColorThrough
0 0 1 0 testCMYKColorThrough
0 0 0 1 testCMYKColorThrough
and and and
} ifelse
put
}
{ pop }
ifelse
/bc4 [0 0 0 0] def
/_lfp4 {
1 pop
/yt xdf
/xt xdf
/ang xdf
storerect
/taperfcn xdf
/k2 xdf /y2 xdf /m2 xdf /c2 xdf
/k1 xdf /y1 xdf /m1 xdf /c1 xdf
c1 c2 sub abs
m1 m2 sub abs
y1 y2 sub abs
k1 k2 sub abs
maxcolor
calcgraysteps mul abs round
height abs adjnumsteps
dup 1 lt {pop 1} if
1 sub /numsteps1 xdf
currentflat mark
currentflat clipflatness
/delta top bottom sub numsteps1 1 add div def
/right right left sub def
/botsv top delta sub def
{
{
W
xt yt translate
ang rotate
xt neg yt neg translate
dup setflat
/bottom botsv def
0 1 numsteps1
{
numsteps1 dup 0 eq {pop pop 0.5} {div} ifelse
taperfcn /frac xdf
bc4 0 c2 c1 sub frac mul c1 add put
bc4 1 m2 m1 sub frac mul m1 add put
bc4 2 y2 y1 sub frac mul y1 add put
bc4 3 k2 k1 sub frac mul k1 add put
bc4 vc
1 index setflat
{
mark {newpath left bottom right delta rectfill}stopped
{cleartomark exch 1.3 mul dup setflat exch 2 copy gt{stop}if}
{cleartomark exit}ifelse
}loop
/bottom bottom delta sub def
}for
}
gsave stopped grestore
{exch pop 2 index exch 1.3 mul dup 100 gt{cleartomark setflat stop}if}
{exit}ifelse
}loop
cleartomark setflat
}bdf
/bcs [0 0] def
/_lfs4 {
/yt xdf
/xt xdf
/ang xdf
storerect
/taperfcn xdf
/tint2 xdf
/tint1 xdf
bcs exch 1 exch put
tint1 tint2 sub abs
bcs 1 get maxspot
calcgraysteps mul abs round
height abs adjnumsteps
dup 2 lt {pop 2} if
1 sub /numsteps1 xdf
currentflat mark
currentflat clipflatness
/delta top bottom sub numsteps1 1 add div def
/right right left sub def
/botsv top delta sub def
{
{
W
xt yt translate
ang rotate
xt neg yt neg translate
dup setflat
/bottom botsv def
0 1 numsteps1
{
numsteps1 div taperfcn /frac xdf
bcs 0
1.0 tint2 tint1 sub frac mul tint1 add sub
put bcs vc
1 index setflat
{
mark {newpath left bottom right delta rectfill}stopped
{cleartomark exch 1.3 mul dup setflat exch 2 copy gt{stop}if}
{cleartomark exit}ifelse
}loop
/bottom bottom delta sub def
}for
}
gsave stopped grestore
{exch pop 2 index exch 1.3 mul dup 100 gt{cleartomark setflat stop}if}
{exit}ifelse
}loop
cleartomark setflat
}bdf
/_rfs6 {
/tint2 xdf
/tint1 xdf
bcs exch 1 exch put
/inrad xdf
/radius xdf
/yt xdf
/xt xdf
tint1 tint2 sub abs
bcs 1 get maxspot
calcgraysteps mul abs round
radius inrad sub abs
adjnumsteps
dup 1 lt {pop 1} if
1 sub /numsteps1 xdf
radius inrad sub numsteps1 dup 0 eq {pop} {div} ifelse
2 div /halfstep xdf
currentflat mark
currentflat clipflatness
{
{
dup setflat
W
0 1 numsteps1
{
dup /radindex xdf
numsteps1 dup 0 eq {pop pop 0.5} {div} ifelse
/frac xdf
bcs 0
tint2 tint1 sub frac mul tint1 add
put bcs vc
1 index setflat
{
newpath mark
xt yt radius inrad sub 1 frac sub mul halfstep add inrad add 0 360
{ arc
radindex numsteps1 ne
inrad 0 gt or
{
xt yt
numsteps1 0 eq
{ inrad }
{
radindex 1 add numsteps1 div 1 exch sub
radius inrad sub mul halfstep add inrad add
}ifelse
dup xt add yt moveto
360 0 arcn
} if
fill
}stopped
{cleartomark exch 1.3 mul dup setflat exch 2 copy gt{stop}if}
{cleartomark exit}ifelse
}loop
}for
}
gsave stopped grestore
{exch pop 2 index exch 1.3 mul dup 100 gt{cleartomark setflat stop}if}
{exit}ifelse
}loop
cleartomark setflat
}bdf
/_rfp6 {
1 pop
/k2 xdf /y2 xdf /m2 xdf /c2 xdf
/k1 xdf /y1 xdf /m1 xdf /c1 xdf
/inrad xdf
/radius xdf
/yt xdf
/xt xdf
c1 c2 sub abs
m1 m2 sub abs
y1 y2 sub abs
k1 k2 sub abs
maxcolor
calcgraysteps mul abs round
radius inrad sub abs
adjnumsteps
dup 1 lt {pop 1} if
1 sub /numsteps1 xdf
radius inrad sub numsteps1 dup 0 eq {pop} {div} ifelse
2 div /halfstep xdf
currentflat mark
currentflat clipflatness
{
{
dup setflat
W
0 1 numsteps1
{
dup /radindex xdf
numsteps1 dup 0 eq {pop pop 0.5} {div} ifelse
/frac xdf
bc4 0 c2 c1 sub frac mul c1 add put
bc4 1 m2 m1 sub frac mul m1 add put
bc4 2 y2 y1 sub frac mul y1 add put
bc4 3 k2 k1 sub frac mul k1 add put
bc4 vc
1 index setflat
{
newpath mark
xt yt radius inrad sub 1 frac sub mul halfstep add inrad add 0 360
{ arc
radindex numsteps1 ne
inrad 0 gt or
{
xt yt
numsteps1 0 eq
{ inrad }
{
radindex 1 add numsteps1 div 1 exch sub
radius inrad sub mul halfstep add inrad add
}ifelse
dup xt add yt moveto
360 0 arcn
} if
fill
}stopped
{cleartomark exch 1.3 mul dup setflat exch 2 copy gt{stop}if}
{cleartomark exit}ifelse
}loop
}for
}
gsave stopped grestore
{exch pop 2 index exch 1.3 mul dup 100 gt{cleartomark setflat stop}if}
{exit}ifelse
}loop
cleartomark setflat
}bdf
/lfp4{_lfp4}ndf
/lfs4{_lfs4}ndf
/rfs6{_rfs6}ndf
/rfp6{_rfp6}ndf
/cvc [0 0 0 1] def
/vc{
AltsysDict /cvc 2 index put
aload length dup 4 eq
{pop dup -1 eq{pop setrgbcolor}{setcmykcolor}ifelse}
{6 eq {sethexcolor} {setspotcolor} ifelse }
ifelse
}bdf
0 setseparationgray
/imgr {1692 1584 2484 2196 } def
/bleed 0 def
/clpr {1692 1584 2484 2196 } def
/xs 1 def
/ys 1 def
/botx 0 def
/overlap 0 def
/wdist 18 def
0 2 mul fhsetspreadsize
0 0 ne {/df 0 def /clipflatness 0 def} if
/maxsteps 256 def
/forcemaxsteps false def
/minsteps 0 def
userdict begin /AGDOrigMtx matrix currentmatrix def end
vms
-1692 -1591 translate
/currentpacking defed{false setpacking}if
/spots[
1 0 0 0 (Process Cyan) false newcmykcustomcolor
0 1 0 0 (Process Magenta) false newcmykcustomcolor
0 0 1 0 (Process Yellow) false newcmykcustomcolor
0 0 0 1 (Process Black) false newcmykcustomcolor
]def
/textopf false def
/curtextmtx{}def
/otw .25 def
/msf{dup/curtextmtx xdf makefont setfont}bdf
/makesetfont/msf load def
/curtextheight{.707104 .707104 curtextmtx dtransform
dup mul exch dup mul add sqrt}bdf
/ta2{
tempstr 2 index gsave exec grestore
cwidth cheight rmoveto
4 index eq{5 index 5 index rmoveto}if
2 index 2 index rmoveto
}bdf
/ta{exch systemdict/cshow known
{{/cheight xdf/cwidth xdf tempstr 0 2 index put ta2}exch cshow}
{{tempstr 0 2 index put tempstr stringwidth/cheight xdf/cwidth xdf ta2}forall}
ifelse 6{pop}repeat}bdf
/sts{/textopf currentoverprint def vc setoverprint
/ts{awidthshow}def exec textopf setoverprint}bdf
/stol{/xt currentlinewidth def
setlinewidth vc newpath
/ts{{false charpath stroke}ta}def exec
xt setlinewidth}bdf
/strk{/textopf currentoverprint def vc setoverprint
/ts{{false charpath stroke}ta}def exec
textopf setoverprint
}bdf
n
[] 0 d
3.863708 M
1 w
0 j
0 J
false setoverprint
0 i
false eomode
[0 0 0 1]vc
vms
2070 1764.2651 m
2070 1766.6123 2071.9028 1768.5151 2074.25 1768.5151 C
2076.5972 1768.5151 2078.5 1766.6123 2078.5 1764.2651 C
2078.5 1761.9178 2076.5972 1760.0151 2074.25 1760.0151 C
2071.9028 1760.0151 2070 1761.9178 2070 1764.2651 C
f
3.863693 M
S
n
1997.6029 1807.9052 m
1997.6029 1810.2524 1999.5057 1812.1552 2001.8529 1812.1552 C
2004.2002 1812.1552 2006.1029 1810.2524 2006.1029 1807.9052 C
2006.1029 1805.5579 2004.2002 1803.6552 2001.8529 1803.6552 C
1999.5057 1803.6552 1997.6029 1805.5579 1997.6029 1807.9052 C
f
S
n
2119.1029 1798.9052 m
2119.1029 1801.2524 2121.0057 1803.1552 2123.3529 1803.1552 C
2125.7002 1803.1552 2127.6029 1801.2524 2127.6029 1798.9052 C
2127.6029 1796.5579 2125.7002 1794.6552 2123.3529 1794.6552 C
2121.0057 1794.6552 2119.1029 1796.5579 2119.1029 1798.9052 C
f
S
n
2027.1029 1685.9052 m
2027.1029 1688.2524 2029.0057 1690.1552 2031.3529 1690.1552 C
2033.7002 1690.1552 2035.6029 1688.2524 2035.6029 1685.9052 C
2035.6029 1683.5579 2033.7002 1681.6552 2031.3529 1681.6552 C
2029.0057 1681.6552 2027.1029 1683.5579 2027.1029 1685.9052 C
f
S
n
2143.1029 1693.9052 m
2143.1029 1696.2524 2145.0057 1698.1552 2147.3529 1698.1552 C
2149.7002 1698.1552 2151.6029 1696.2524 2151.6029 1693.9052 C
2151.6029 1691.5579 2149.7002 1689.6552 2147.3529 1689.6552 C
2145.0057 1689.6552 2143.1029 1691.5579 2143.1029 1693.9052 C
f
S
n
2066.261 1829 m
2075.5 1874.0151 L
S
n
S
n
2072.261 1807 m
2135.5 1745.0151 L
2200 1757.0151 L
2136 1744.5151 L
2088.5 1699.0151 L
2097 1622.0151 L
2088.5 1698.0151 L
2043.261 1728.5 L
S
n
1950 1727.5151 m
1978.761 1735.5 L
S
n
2040.489 1774.0151 m
2040.489 1776.3623 2042.3917 1778.2651 2044.739 1778.2651 C
2047.0862 1778.2651 2048.989 1776.3623 2048.989 1774.0151 C
2048.989 1771.6678 2047.0862 1769.7651 2044.739 1769.7651 C
2042.3917 1769.7651 2040.489 1771.6678 2040.489 1774.0151 C
f
S
n
2071.261 1806.5 m
2043.761 1728.5 L
S
n
2071.886 1807.5 m
2066.261 1828.5 L
S
n
2066.261 1828.5 m
1978.761 1736 L
S
n
1978.761 1736 m
2043.261 1728 L
S
n
2163.739 1860.0151 m
2156.989 1843.5151 2154.239 1831.7651 2140.739 1820.0151 C
2118.239 1800.5151 2094.239 1797.0151 2083.739 1769.0151 C
2074.489 1744.2651 2062.739 1732.5151 2052.739 1708.0151 C
2045.739 1691.0151 2045.989 1679.0151 2036.739 1663.0151 C
S
n
2188.761 1827.5 m
2172.261 1798.5 2112.261 1819.5 2099.761 1819.5 C
2057.761 1819.5 2022.761 1787.5 2022.761 1745.5 C
2022.761 1715 2045.761 1701 2045.761 1670.5 C
2045.761 1668 2044.511 1666.75 2043.761 1664.5 C
S
n
2149.1455 1862.1997 m
2119.761 1862.1997 L
2119.761 1837 L
2149.1455 1837 L
2149.1455 1862.1997 L
n
q
%%IncludeResource: font Gen_Arial
{
f0 [24 0 0 24 0 0] makesetfont
2119.761 1843 m
0 0 32 0 0 (A1) ts
}
true
[0 0 0 1]sts
Q
false eomode
2191.1455 1809.6997 m
2161.761 1809.6997 L
2161.761 1784.5 L
2191.1455 1784.5 L
2191.1455 1809.6997 L
n
q
%%IncludeResource: font Gen_Arial
{
f0 [24 0 0 24 0 0] makesetfont
2161.761 1790.5 m
0 0 32 0 0 (A2) ts
}
true
[0 0 0 1]sts
Q
false eomode
2081.8227 1791.6997 m
2071.761 1791.6997 L
2071.761 1772.6999 L
2081.8227 1772.6999 L
2081.8227 1791.6997 L
n
q
%%IncludeResource: font Helvetica
{
f0 [18 0 0 18 0 0] makesetfont
2071.761 1777.2999 m
0 0 32 0 0 (u) ts
}
true
[0 0 0 1]sts
Q
false eomode
2054.801 1793.8998 m
2045.761 1793.8998 L
2045.761 1774.9 L
2054.801 1774.9 L
2054.801 1793.8998 L
n
q
%%IncludeResource: font Helvetica
{
f0 [18 0 0 18 0 0] makesetfont
2045.761 1779.5 m
0 0 32 0 0 (v) ts
}
true
[0 0 0 1]sts
Q
false eomode
vmrs
1812 1764.2651 m
1812 1766.6123 1813.9028 1768.5151 1816.25 1768.5151 C
1818.5972 1768.5151 1820.5 1766.6123 1820.5 1764.2651 C
1820.5 1761.9178 1818.5972 1760.0151 1816.25 1760.0151 C
1813.9028 1760.0151 1812 1761.9178 1812 1764.2651 C
f
3.863693 M
S
n
1739.6029 1807.9052 m
1739.6029 1810.2524 1741.5057 1812.1552 1743.8529 1812.1552 C
1746.2002 1812.1552 1748.1029 1810.2524 1748.1029 1807.9052 C
1748.1029 1805.5579 1746.2002 1803.6552 1743.8529 1803.6552 C
1741.5057 1803.6552 1739.6029 1805.5579 1739.6029 1807.9052 C
f
S
n
1861.1029 1798.9052 m
1861.1029 1801.2524 1863.0057 1803.1552 1865.3529 1803.1552 C
1867.7002 1803.1552 1869.6029 1801.2524 1869.6029 1798.9052 C
1869.6029 1796.5579 1867.7002 1794.6552 1865.3529 1794.6552 C
1863.0057 1794.6552 1861.1029 1796.5579 1861.1029 1798.9052 C
f
S
n
1769.1029 1685.9052 m
1769.1029 1688.2524 1771.0057 1690.1552 1773.3529 1690.1552 C
1775.7002 1690.1552 1777.6029 1688.2524 1777.6029 1685.9052 C
1777.6029 1683.5579 1775.7002 1681.6552 1773.3529 1681.6552 C
1771.0057 1681.6552 1769.1029 1683.5579 1769.1029 1685.9052 C
f
S
n
1885.1029 1693.9052 m
1885.1029 1696.2524 1887.0057 1698.1552 1889.3529 1698.1552 C
1891.7002 1698.1552 1893.6029 1696.2524 1893.6029 1693.9052 C
1893.6029 1691.5579 1891.7002 1689.6552 1889.3529 1689.6552 C
1887.0057 1689.6552 1885.1029 1691.5579 1885.1029 1693.9052 C
f
S
n
1692 1727.5151 m
1757.5 1747.0151 L
1806 1815.5151 L
1877.5 1745.0151 L
1942 1757.0151 L
1878 1744.5151 L
1830.5 1699.0151 L
1839 1622.0151 L
1830.5 1698.0151 L
1758 1747.0151 L
1806 1815.0151 L
1817.5 1874.0151 L
S
n
1878.261 1847 m
1871.511 1830.5 1868.761 1818.75 1855.261 1807 C
1832.761 1787.5 1808.761 1784 1798.261 1756 C
1789.011 1731.25 1777.261 1719.5 1767.261 1695 C
1760.261 1678 1760.511 1666 1751.261 1650 C
S
n
1896.7832 1848.1997 m
1880.761 1848.1997 L
1880.761 1823 L
1896.7832 1823 L
1896.7832 1848.1997 L
n
q
%%IncludeResource: font Gen_Arial
{
f0 [24 0 0 24 0 0] makesetfont
1880.761 1829 m
0 0 32 0 0 (A) ts
}
true
[0 0 0 1]sts
Q
false eomode
1833.3227 1777.6997 m
1823.261 1777.6997 L
1823.261 1758.6999 L
1833.3227 1758.6999 L
1833.3227 1777.6997 L
n
q
%%IncludeResource: font Helvetica
{
f0 [18 0 0 18 0 0] makesetfont
1823.261 1763.2999 m
0 0 32 0 0 (u) ts
}
true
[0 0 0 1]sts
Q
false eomode
2339 1761.75 m
2339 1764.0972 2340.9028 1766 2343.25 1766 C
2345.5972 1766 2347.5 1764.0972 2347.5 1761.75 C
2347.5 1759.4028 2345.5972 1757.5 2343.25 1757.5 C
2340.9028 1757.5 2339 1759.4028 2339 1761.75 C
[0 0 0 1]vc
false setoverprint
f
S
n
2266.6029 1805.3901 m
2266.6029 1807.7373 2268.5057 1809.6401 2270.8529 1809.6401 C
2273.2002 1809.6401 2275.1029 1807.7373 2275.1029 1805.3901 C
2275.1029 1803.0428 2273.2002 1801.1401 2270.8529 1801.1401 C
2268.5057 1801.1401 2266.6029 1803.0428 2266.6029 1805.3901 C
f
S
n
2388.1029 1796.3901 m
2388.1029 1798.7373 2390.0057 1800.6401 2392.3529 1800.6401 C
2394.7002 1800.6401 2396.6029 1798.7373 2396.6029 1796.3901 C
2396.6029 1794.0428 2394.7002 1792.1401 2392.3529 1792.1401 C
2390.0057 1792.1401 2388.1029 1794.0428 2388.1029 1796.3901 C
f
S
n
2296.1029 1683.3901 m
2296.1029 1685.7373 2298.0057 1687.6401 2300.3529 1687.6401 C
2302.7002 1687.6401 2304.6029 1685.7373 2304.6029 1683.3901 C
2304.6029 1681.0428 2302.7002 1679.1401 2300.3529 1679.1401 C
2298.0057 1679.1401 2296.1029 1681.0428 2296.1029 1683.3901 C
f
S
n
2412.1029 1691.3901 m
2412.1029 1693.7373 2414.0057 1695.6401 2416.3529 1695.6401 C
2418.7002 1695.6401 2420.6029 1693.7373 2420.6029 1691.3901 C
2420.6029 1689.0428 2418.7002 1687.1401 2416.3529 1687.1401 C
2414.0057 1687.1401 2412.1029 1689.0428 2412.1029 1691.3901 C
f
S
n
2309.5 1780.25 m
2333 1812.5 L
2344.5 1871.5 L
S
n
2359.0658 1680.25 m
2366 1618.25 L
2359.0658 1680.25 L
s
n
2332.3802 1812.7314 m
2333 1813 L
2404.5 1742.5 L
2469 1754.5 L
2405 1742 L
2371.9497 1710.3413 L
S
n
2405.261 1844.4849 m
2398.511 1827.9849 2395.761 1816.2349 2382.261 1804.4849 C
2359.761 1784.9849 2335.761 1781.4849 2325.261 1753.4849 C
2316.011 1728.7349 2304.261 1716.9849 2294.261 1692.4849 C
2287.261 1675.4849 2287.511 1663.4849 2278.261 1647.4849 C
S
n
2423.7832 1845.6846 m
2407.761 1845.6846 L
2407.761 1820.4849 L
2423.7832 1820.4849 L
2423.7832 1845.6846 L
n
q
%%IncludeResource: font Gen_Arial
{
f0 [24 0 0 24 0 0] makesetfont
2407.761 1826.4849 m
0 0 32 0 0 (A) ts
}
true
[0 0 0 1]sts
Q
false eomode
vmrs
2360.3227 1775.1846 m
2350.261 1775.1846 L
2350.261 1756.1849 L
2360.3227 1756.1849 L
2360.3227 1775.1846 L
n
q
%%IncludeResource: font Helvetica
{
f0 [18 0 0 18 0 0] makesetfont
2350.261 1760.7849 m
0 0 32 0 0 (u) ts
}
true
[0 0 0 1]sts
Q
false eomode
2319 1732.5 m
2319 1734.8472 2320.9028 1736.75 2323.25 1736.75 C
2325.5972 1736.75 2327.5 1734.8472 2327.5 1732.5 C
2327.5 1730.1528 2325.5972 1728.25 2323.25 1728.25 C
2320.9028 1728.25 2319 1730.1528 2319 1732.5 C
[0 0 0 1]vc
false setoverprint
f
3.863693 M
S
n
2309.25 1779.75 m
2371.75 1711.75 L
S
n
2247.625 1733.875 m
2309.25 1780 L
S
n
2247.625 1733.75 m
2216.5 1724.75 L
S
n
2303.0091 1748.3749 m
2293.9691 1748.3749 L
2293.9691 1729.3751 L
2303.0091 1729.3751 L
2303.0091 1748.3749 L
n
q
%%IncludeResource: font Helvetica
{
f0 [18 0 0 18 0 0] makesetfont
2293.9691 1733.9751 m
0 0 32 0 0 (v) ts
}
true
[0 0 0 1]sts
Q
false eomode
2372 1711.25 m
2359.5 1680 L
[0 0 0 1]vc
false setoverprint
S
n
2359.25 1679.75 m
2247.625 1733.5 L
S
n
2358.3827 1616.3499 m
2330.3078 1616.3499 L
2330.3078 1591.1502 L
2358.3827 1591.1502 L
2358.3827 1616.3499 L
n
q
%%IncludeResource: font Gen_Arial
{
f0 [24 0 0 24 0 0] makesetfont
2330.3078 1597.1501 m
0 0 32 0 0 (\(c\)) ts
}
true
[0 0 0 1]sts
Q
false eomode
2086.745 1620.3499 m
2057.3078 1620.3499 L
2057.3078 1595.1502 L
2086.745 1595.1502 L
2086.745 1620.3499 L
n
q
%%IncludeResource: font Gen_Arial
{
f0 [24 0 0 24 0 0] makesetfont
2057.3078 1601.1501 m
0 0 32 0 0 (\(b\)) ts
}
true
[0 0 0 1]sts
Q
false eomode
1813.745 1616.3499 m
1784.3078 1616.3499 L
1784.3078 1591.1502 L
1813.745 1591.1502 L
1813.745 1616.3499 L
n
q
%%IncludeResource: font Gen_Arial
{
f0 [24 0 0 24 0 0] makesetfont
1784.3078 1597.1501 m
0 0 32 0 0 (\(a\)) ts
}
true
[0 0 0 1]sts
Q
false eomode
vmr
vmr
end
%%Trailer
%%EndDocument
@endspecial 196 x Fu(Figure)22 b(8:)28 b(When)23 b(adding)g(a)f
(processor)i(either)f(the)f(load)h(of)f(quorum)h Fr(A)e
Fu(is)h(split)g(between)h(quorums)g Fr(A)3363 1419 y
Fo(1)3403 1405 y Fr(;)15 b(A)3511 1419 y Fo(2)3572 1405
y Fu(as)22 b(seen)51 1518 y(in)h Fp(\()p Fr(b)p Fp(\))p
Fu(,)h(or)f Fr(A)g Fu(gro)n(ws,)g(as)h(seen)g(in)f Fp(\()p
Fr(c)p Fp(\))p Fu(.)p 3878 1566 V 0 1569 3882 4 v 0 1826
a Ft(A)-9 b(v)o(ailability)94 b Fu(Basic)33 b(results)i(in)e
(percolation)k(theory)e(imply)f(that)g(if)f(the)h(f)o(ailure)g
(probability)j(is)c(strictly)i(less)f(than)0 1939 y(half)f(then)h(with)
f(probability)j(that)e(tends)g(to)e Fp(1)h Fu(\(as)g
Fr(n)42 b Fq(!)h(1)p Fu(\))32 b(there)i(e)o(xists)g(a)f(left-right)i
(path.)58 b(A)31 b(rough)k(outline)f(of)0 2052 y(the)d(ar)n(gument)h
(is)e(as)h(follo)n(ws:)44 b(If)30 b(there)h(is)g(no)f(left-right)j
(crossing,)h(then)d(there)h(must)e(be)h(a)f(top-bottom)j(crossing)f(of)
0 2165 y Fs(failed)i Fu(V)-12 b(oronoi)32 b(cells.)51
b(The)30 b(procedure)j(of)d(creating)j(the)d(V)-12 b(oronoi)32
b(diagram)g(is)e(symmetric)i(and)f(imposes)g(the)g(same)0
2278 y(probability)c(o)o(v)o(er)d(a)g(top-bottom)i(and)f(a)f
(left-right)i(crossing.)32 b(Therefore)26 b(if)e(the)g(f)o(ailure)i
(probability)h(is)d(less)h(than)3725 2242 y Fo(1)p 3725
2257 36 4 v 3725 2309 a(2)3794 2278 y Fu(we)0 2391 y(e)o(xpect)g(a)f
(crossing)i(to)e(e)o(xist.)31 b(Currently)26 b(an)e(analytical)i
(analysis)g(of)e(the)h(actual)g(probability)i(of)d(the)h(crossing,)h
(\(i.e.)k(the)0 2504 y(rate)24 b(in)f(which)h(the)g(probability)j(of)c
(a)g(crossing)j(con)l(v)o(er)n(ges)h(to)c Fp(1)p Fu(\))h(is)f(unkno)n
(wn.)0 2750 y Ft(Integrity)93 b Fu(It)34 b(is)f(necessary)k(that)d
(processors)j(sa)n(v)o(e)d(some)g(information)i(about)f(the)f(quorum)h
(sets)g(that)f(were)g(used.)0 2863 y(A)h(quorum)i(set)f(is)g
(associated)j(with)d(a)g(path.)67 b(Ev)o(ery)36 b(time)g(a)g(quorum)h
(is)f(used,)k(a)c(processor)i(that)f(participates)i(in)0
2976 y(the)32 b(quorum)i(should)f(remember)g(the)g(identity)h(of)e(the)
h(processors)i(before)e(and)g(after)g(it)f(in)g(the)g(path.)56
b(When)32 b(a)g(ne)n(w)0 3089 y(processor)g(joins)f(the)g(system)f
(either)h(the)f(quorum)h(set)f(gro)n(ws)g(or)g(the)g(load)h(should)h
(be)e(di)n(vided)h(e)n(v)o(enly)g(between)g(the)0 3201
y(ne)n(w)20 b(quorums.)29 b(Figure)21 b(8)f(demonstrates)j(the)e
(process.)29 b(Figure)21 b Fp(\()p Fr(a)p Fp(\))f Fu(sho)n(ws)h(the)f
(V)-12 b(oronoi)22 b(diagram)g(before)f(the)g(entrance)0
3314 y(of)k Fr(v)s Fu(.)32 b(Figure)25 b Fp(\()p Fr(c)p
Fp(\))g Fu(demonstrates)j(the)d(case)g(where)g Fr(v)i
Fu(is)e(added)h(to)f(quorum)h Fr(A)p Fu(.)31 b(Figure)26
b Fp(\()p Fr(b)p Fp(\))e Fu(sho)n(ws)h(the)g(case)h(where)f(the)0
3427 y(responsibilities)h(of)c(quorum)h Fr(A)e Fu(\(represented)k(by)d
(the)g(line)g(in)f(bold\))i(should)g(no)n(w)f(be)f(split)i(between)g
(quorums)g Fr(A)3690 3441 y Fo(1)3729 3427 y Fr(;)15
b(A)3837 3441 y Fo(2)3877 3427 y Fu(.)0 3540 y(If)25
b(for)g(instance)h(the)f(application)j(of)d(the)g(quorum)h(system)g(is)
e(mutual)i(e)o(xclusion,)h(and)e(quorum)h Fr(A)e Fu(is)h(currently)i
(acti)n(v)o(e,)0 3653 y(then)i(processors)i Fr(u;)15
b(v)31 b Fu(should)e(decide)h(among)f(themselv)o(es)h(which)e(one)h(of)
e(them)i(remains)g(acti)n(v)o(e,)g(and)g(inform)f(their)0
3766 y(neighbors.)j(If)23 b(the)g(quorum)h(system)g(is)f(used)h(for)f
(replication)j(of)d(data,)g(then)h(the)f(procedure)j(is)d(slightly)i
(more)e(delicate.)0 3879 y(Each)28 b(data)h(item)f(is)g(associated)j
(with)d(a)g(quorum)h(set.)43 b(Processors)31 b Fr(u;)15
b(v)31 b Fu(should)f(di)n(vide)f(among)g(themselv)o(es)h(the)f(data)0
3992 y(items)24 b(that)g(were)f(pre)n(viously)j(associated)h(with)c
(quorum)i Fr(A)p Fu(,)d(and)i(of)g(course)h(inform)f(their)g
(neighbors.)0 4238 y Ft(Algorithmic)30 b(pr)n(obe)f(complexity)93
b Fu(The)28 b(algorithms)j(described)h(in)d(Section)h(3)e(ha)n(v)o(e)i
(ob)o(vious)h(analogs)f(in)f(the)h(Dy-)0 4351 y(namic)21
b(P)o(aths)f(system.)28 b(In)20 b(order)i(to)e(pro)o(v)o(e)h(that)g
(the)f(probe)i(comple)o(xity)g(of)e(the)h(non-adapti)n(v)o(e)i(and)e
(adapti)n(v)o(e)h(algorithms)0 4464 y(is)i Fp(\002\()190
4398 y Fq(p)p 266 4398 55 4 v 66 x Fr(n)14 b Fp(log)k
Fr(n)p Fp(\))p Fr(;)d Fp(\002\()704 4398 y Fq(p)p 780
4398 V 66 x Fr(n)p Fp(\))23 b Fu(respecti)n(v)o(ely)k(we)c(need)i(an)f
(analog)i(for)e(Theorem)h(8;)f(i.e.)30 b(we)23 b(need)i(that)g(for)f(a)
f(small)i(f)o(ailure)0 4576 y(probability)-6 b(,)34 b(the)c(radius)h
(of)e(a)g(component)j(of)e Fs(failed)j Fu(cells)d(w)o(ould)g(decay)h
(in)f(sub-e)o(xponential)k(rate.)47 b(Unfortunately)0
4689 y(such)27 b(a)f(theorem)h(is)f(yet)g(unkno)n(wn,)i(yet)e
(prominent)i(researchers)i(in)c(the)g(\002eld)g(\(e)o(g.)36
b([6)q(]\))26 b(conjecture)j(that)e(it)e(is)h(true.)37
b(If)0 4802 y(indeed)21 b(the)f(conjecture)i(is)d(true)h(then)g(the)g
(performance)i(of)d(the)h(algorithms)i(could)e(be)g(analyzed)h(in)f
(the)g(same)f(manner)h(as)0 4915 y(in)i(Section)h(3)e(and)i(the)f
(Dynamic)g(P)o(aths)g(quorum)h(system)g(enjo)o(ys)h(e)o(xcellent)f
(probe)h(comple)o(xity)-6 b(.)30 b(The)21 b(communication)0
5028 y(o)o(v)o(erhead)k(payed)g(for)f(encountering)j(a)c(f)o(ailed)i
(processor)h(is)d(constant,)j(therefore)g(the)e Fs(cost)g(for)g(failur)
m(es)h Fu(is)e(constant.)1905 5589 y(14)p eop end
%%Page: 15 15
TeXDict begin 15 14 bop 0 91 a Fj(4.3)99 b(A)25 b(Balanced)h(V)-10
b(or)n(onoi)25 b(Diagram)0 266 y Fu(The)32 b(reason)h(some)g(of)f(the)h
(parameters)h(of)e Fs(Dynamic)h(P)-7 b(aths)32 b Fu(are)g(not)h(as)f
(good)h(as)f(the)h(parameters)h(of)e Fs(P)-7 b(aths)33
b Fu(is)f(that)0 379 y(when)23 b(each)h(processor)h(chooses)g(its)e
(location)i(randomly)-6 b(,)24 b(some)f(of)g(the)g(V)-12
b(oronoi)25 b(cells)e(are)g(quite)h(big.)29 b(The)23
b(load)g(of)g(the)0 491 y(system)k(is)g(proportional)j(to)d(the)f(size)
i(of)e(the)h(projection)i(of)e(the)g(cells)g(o)o(v)o(er)g(the)g(axis)g
(lines.)39 b(Theorem)27 b(18)f(bounds)j(the)0 637 y(size)22
b(of)f(the)g(projection)j(\(and)e(therefore)i(the)d(load\))i(by)e
Fr(O)s Fp(\()1866 527 y Fh(q)p 1957 527 166 4 v 1967
596 a Fo(log)13 b Fn(n)p 1967 616 146 4 v 2019 668 a(n)2123
637 y Fp(\))p Fu(,)21 b(in)g(the)g(case)h(where)g(the)f(location)j(of)d
(the)g(processors)0 763 y(is)33 b(chosen)h(uniformly)h(and)e(randomly)i
(in)e Fp([0)p Fr(;)15 b Fp(1\))29 b Fq(\002)e Fp([0)p
Fr(;)15 b Fp(1\))p Fu(.)58 b(Furthermore)34 b(the)g(e)o(xistence)h(of)d
(lar)n(ge)j(cells)e(mak)o(es)h(the)0 876 y(analysis)h(of)e(the)g(a)n(v)
n(ailability)i(and)f(probe)g(comple)o(xity)g(of)f(the)g(system)g(v)o
(ery)h(dif)n(\002cult.)57 b(A)31 b(more)i(sophisticated)k(and)0
989 y(coordinated)32 b(procedure)e(for)f(choosing)h(the)f(location)h
(upon)f(entrance)i(may)d(reduce)h(the)g(size)f(of)h(the)f(lar)n(gest)i
(cell)f(and)0 1102 y(create)c(a)e Fs(balanced)29 b Fu(V)-12
b(oronoi)25 b(diagram.)31 b(A)22 b Fs(balanced)27 b(V)-10
b(or)l(onoi)25 b(Dia)o(gr)o(am)f Fu(is)f(a)g(diagram)i(in)f(which)g(e)n
(v)o(ery)g(V)-12 b(oronoi)26 b(cell)0 1215 y(is)32 b(contained)j(in)e
(a)f(square)i(of)e(area)h Fp(\002\()1331 1179 y Fo(1)p
1327 1194 43 4 v 1327 1246 a Fn(n)1380 1215 y Fp(\))p
Fu(.)55 b(One)32 b(such)h(procedure)i(is)d(the)h(follo)n(wing:)49
b(upon)33 b(entrance)i(a)d(processor)0 1328 y(chooses)c(at)e(random)h
Fp(log)17 b Fr(n)25 b Fu(points)j(and)e(chooses)i(its)f(location)h(to)e
(be)g(inside)h(the)g(lar)n(gest)h(cell)e(it)g(encounters.)39
b(An)25 b(easy)0 1441 y(alteration)i(of)e(Theorem)g Fp(10)g
Fu(in)g([19)q(])g(sho)n(ws)g(that)g(this)h(procedure)h(guarantees)h
(that)e(as)e(long)i(as)f(there)h(are)f(no)g(deletions)0
1554 y(each)g(cell)f(w)o(ould)h(be)f(contained)i(in)e(a)g(square)h(of)f
(area)h Fp(\002\()1891 1518 y Fo(1)p 1887 1533 V 1887
1585 a Fn(n)1939 1554 y Fp(\))p Fu(.)30 b(This)24 b(approach)i(ho)n(we)
n(v)o(er)e(cannot)i(deal)f(with)e(random)i(or)0 1666
y(w)o(orst)i(case)g(deletions)i(of)e(processors.)41 b(In)26
b(order)i(to)e(handle)i(deletion)h(some)e(sort)g(of)f(balancing)k
(mechanism)e(must)e(be)0 1779 y(introduced.)32 b(Balancing)25
b(mechanism)g(for)f(the)f(one)h(dimensional)j(case)d(were)f(introduced)
k(in)c([16)q(],)g([19)q(])g(and)h([1)q(].)141 1892 y(In)k(a)g(balanced)
i(diagram)f(the)f(projection)j(of)d(each)h(cell)f(on)h(the)f(axis)h
(lines)g(is)e Fr(O)s Fp(\()2844 1856 y Fo(1)p 2810 1871
102 4 v 2810 1881 a Fz(p)p 2869 1881 43 3 v 48 x Fn(n)2922
1892 y Fp(\))p Fu(,)i(therefore)h(the)e(load)h(of)f(the)0
2015 y(quorum)c(system)f(w)o(ould)g(be)g(optimal.)29
b(Balancing)c(the)e(V)-12 b(oronoi)24 b(diagram)g(enables)g(us)f(to)f
(analyze)j(the)e(a)n(v)n(ailability)j(and)0 2128 y(probe)d(comple)o
(xity)h(of)e(the)g(quorum)i(system.)k(As)22 b(mentioned)i(before,)f(we)
e(conjecture)k(that)e(the)f(a)n(v)n(ailability)j(and)e(probe)0
2241 y(comple)o(xity)28 b(of)f(the)f(quorum)i(system)f(based)h(on)e
(random)i(entrance)g(is)e(indeed)i(similar)g(to)e(that)h(of)f(P)o
(aths.)38 b(Ho)n(we)n(v)o(er)25 b(if)0 2353 y(the)j(diagram)i(is)e
(balanced)i(and)f(each)g(V)-12 b(oronoi)29 b(cell)g(is)f(contained)j
(in)d(square)h(of)f(area)h Fp(\002\()2965 2318 y Fo(1)p
2961 2333 43 4 v 2961 2385 a Fn(n)3014 2353 y Fp(\))e
Fu(then)i(we)f(can)g(pro)o(v)o(e)h(our)0 2466 y(claims.)j(Intuiti)n(v)o
(ely)27 b(if)d(the)h(V)-12 b(oronoi)26 b(diagram)f(is)g(balanced)h
(then)f(`it)g(looks)h(lik)o(e)f(a)f(grid')h(and)g(therefore)i(theorems)
f(that)0 2579 y(are)f(correct)h(for)e(the)h(grid)g(should)h(apply)g
(for)f(the)f(diagram.)33 b(The)24 b(technique)j(we)d(use)g(follo)n(ws)h
(this)g(intuition,)i(though)f(it)0 2692 y(is)g(rather)i(delicate.)39
b(W)-7 b(e)25 b(use)i(domination)h(by)f(product)h(measures)g(as)e(sho)n
(wn)g(by)h(Liggett)g Fs(et)f(al)g Fu(in)h([12)q(].)36
b(It)26 b(introduces)0 2805 y(some)21 b(de\002nitions)i(from)e
(probability)k(theory)-6 b(.)29 b(In)21 b(the)g(follo)n(wing)i(we)d
(de\002ne)i(the)f(necessary)j(de\002nitions)f(and)e(sk)o(etch)i(the)0
2918 y(idea)h(of)g(the)f(proof.)30 b(A)23 b(good)h(e)o(xposition)i(of)e
(the)g(notions)h(we)e(use)h(appears)h(in)f([9].)0 3164
y Ft(4.3.1)92 b(Domination)23 b(by)g(Pr)n(oduct)g(Measur)n(es)0
3338 y Fu(W)-7 b(e)30 b(be)o(gin)i(by)g(de\002ning)g(stochastic)i
(domination)f(in)e(our)h(conte)o(xt.)53 b(Say)31 b(we)f(ha)n(v)o(e)i(a)
f(\002nite)g(set)g Fr(S)36 b Fu(and)31 b(a)g(state)h(space)0
3451 y Fp(\012)e(=)h Fq(f)p Fp(0)p Fr(;)15 b Fp(1)p Fq(g)418
3418 y Fn(S)471 3451 y Fu(.)36 b(The)26 b(set)h Fr(S)j
Fu(may)d(be)f(the)h(set)f(of)h(edges)g(in)g(a)f(tw)o(o)g(dimensional)j
(grid)e(and)g Fp(\012)e Fu(the)i(set)f(of)h(con\002gurations)0
3564 y(when)e(some)f(of)h(the)g(edges)g(f)o(ail.)32 b(Gi)n(v)o(en)25
b Fr(!)1375 3578 y Fo(1)1414 3564 y Fr(;)15 b(!)1511
3578 y Fo(2)1577 3564 y Fq(2)27 b Fp(\012)c Fu(we)h(say)h(that)g
Fr(!)2246 3578 y Fo(1)2312 3564 y Fq(\024)i Fr(!)2467
3578 y Fo(2)2530 3564 y Fu(if)d Fq(8)p Fr(s)i Fq(2)h
Fr(S)i(!)2959 3578 y Fo(1)2998 3564 y Fp(\()p Fr(s)p
Fp(\))e Fq(\024)g Fr(!)3293 3578 y Fo(2)3332 3564 y Fp(\()p
Fr(s)p Fp(\))p Fu(.)k(In)25 b(our)g(case)0 3677 y Fr(!)57
3691 y Fo(1)96 3677 y Fp(\()p Fr(s)p Fp(\))h Fq(\024)f
Fr(!)388 3691 y Fo(2)427 3677 y Fp(\()p Fr(s)p Fp(\))e
Fu(if)g(all)h(the)f(survi)n(ving)j(edges)f(in)e Fr(!)1632
3691 y Fo(1)1694 3677 y Fu(ha)n(v)o(e)h(also)h(survi)n(v)o(ed)g(in)e
Fr(!)2537 3691 y Fo(2)2576 3677 y Fu(.)141 3790 y(Gi)n(v)o(en)g(a)g
(function)j Fr(f)35 b Fp(:)25 b(\012)g Fq(!)g Fg(R)e
Fu(we)f(say)i(that)g Fr(f)32 b Fu(is)24 b Fs(incr)m(easing)i
Fu(if)1406 3994 y Fr(!)1463 4008 y Fo(1)1527 3994 y Fq(\024)f
Fr(!)1680 4008 y Fo(2)1790 3994 y Fq(\))g Fr(f)10 b Fp(\()p
Fr(!)2053 4008 y Fo(1)2091 3994 y Fp(\))26 b Fq(\024)f
Fr(f)10 b Fp(\()p Fr(!)2395 4008 y Fo(2)2434 3994 y Fp(\))p
Fr(:)0 4198 y Fu(F)o(or)24 b(instance)j(the)e(function)i(that)f
(assigns)h(the)e(v)n(alue)h Fp(1)e Fu(to)h(a)g(con\002guration)j(that)d
(contains)i(a)e(left-right)i(crossing)g(and)f Fp(0)0
4311 y Fu(otherwise,)f(is)e(an)h Fs(incr)m(easing)i(function)p
Fu(.)141 4424 y(No)n(w)-6 b(,)21 b(gi)n(v)o(en)i(tw)o(o)e(probability)
26 b(measures)d(on)g Fp(\012)p Fu(,)e Fr(\026)g Fu(and)h
Fr(\027)27 b Fu(we)22 b(shall)h(say)f(that)h Fr(\026)e
Fs(stoc)o(hastically)26 b(dominates)e Fr(\027)j Fu(-)22
b(and)0 4537 y(write)29 b Fr(\026)34 b Fq(\027)g Fr(\027)f
Fu(-)28 b(if,)i(for)e(an)o(y)h(increasing)i(function)g
Fr(f)37 b Fu(we)28 b(ha)n(v)o(e)h Fr(E)2155 4551 y Fn(\026)2202
4537 y Fp(\()p Fr(f)10 b Fp(\))34 b Fq(\025)h Fr(E)2534
4551 y Fn(\027)2577 4537 y Fp(\()p Fr(f)10 b Fp(\))p
Fu(.)43 b(This)28 b(is)h(a)f(v)o(ery)h(strong)h(condition)0
4650 y(which)23 b(amounts)g(to)g(saying)h(that)f(in)f(e)n(v)o(ery)h
(possible)h(w)o(ay)-6 b(,)22 b Fr(\026)g Fu(puts)h(more)f(mass)h(on)f
(bigger)i(elements)g(of)e Fp(\012)f Fu(than)i Fr(\027)28
b Fu(does.)0 4763 y(In)21 b(case)h(that)f Fr(f)30 b Fu(is)21
b(de\002ned)h(as)f(abo)o(v)o(e,)h(it)e(means)i(that)f(the)h
(probability)i(there)e(e)o(xists)g(a)f(left-right)i(path)f(is)f(lar)n
(ger)h(in)f Fr(\026)f Fu(than)0 4876 y(it)27 b(is)g(in)g
Fr(\027)6 b Fu(.)39 b(A)26 b(canonical)k(e)o(xample)e(for)g(domination)
h(is)f(the)f(follo)n(wing:)38 b(Assume)28 b(we)e(ha)n(v)o(e)i(a)f(tw)o
(o)g(dimensional)j(grid.)0 4989 y(Denote)d(by)g Fr(\031)457
5003 y Fn(p)523 4989 y Fu(the)g(product)h(measure)g(with)f(probability)
j Fr(p)p Fu(,)c(i.e.)38 b(the)27 b(case)g(in)g(which)g(each)h(edge)f(f)
o(ails)h(independently)0 5101 y(with)23 b(probability)k
Fp(1)21 b Fq(\000)f Fr(p)p Fu(.)27 b(It)d(is)f(intuiti)n(v)o(e)i
(\(though)h(requires)f(proof\))g(that)f Fr(\031)2425
5115 y Fn(p)2461 5124 y Fe(1)2525 5101 y Fq(\027)g Fr(\031)2672
5115 y Fn(p)2708 5124 y Fe(2)2747 5101 y Fu(,)e(when)i
Fr(p)3058 5115 y Fo(1)3122 5101 y Fq(\025)h Fr(p)3264
5115 y Fo(2)3303 5101 y Fu(.)141 5214 y(The)34 b(analysis)i(of)e
Fs(P)-7 b(aths)34 b Fu(used)h(bounds)h(on)f(increasing)i(e)n(v)o(ents)e
(on)f(the)h Fs(pr)l(oduct)h(measur)m(e)f Fu(o)o(v)o(er)f(the)g(grid.)62
b(Our)0 5327 y(approach)27 b(w)o(ould)f(be)f(to)g(sho)n(w)g(that)g(the)
h(process)g(of)f(randomly)i(f)o(ailing)g(cells)f(in)e(a)h(balanced)i(V)
-12 b(oronoi)27 b(diagram)f Fs(domi-)1905 5589 y Fu(15)p
eop end
%%Page: 16 16
TeXDict begin 16 15 bop 0 3 2465 4 v 0 1450 4 1447 v
51 1209 a @beginspecial 0 @llx 0 @lly 255 @urx 253 @ury
1417 @rwi 1417 @rhi @setspecial
%%BeginDocument: domination.eps
%!PS-Adobe-2.0 EPSF-1.2
%%Title: domination.FH9
%%Creator: FreeHand 9.0
%%CreationDate: Tue Aug 05 14:49:05 2003
%%BoundingBox: 0 0 255 253
%%FHPathName:E:\Writeups\Dynamic Quorums\Journal\domination.FH9
%ALDOriginalFile:E:\Writeups\Dynamic Quorums\Journal\domination.FH9
%ALDBoundingBox: -8 -506 604 286
%%FHPageNum:1
%%DocumentSuppliedResources: procset Altsys_header 4 0
%%ColorUsage: Color
%%DocumentProcessColors: Black
%%EndComments
%%BeginAGDEmbeddedDoc: version 1.0
%:s8W,W5t=="^::eu!!!NpGQG3UGC1*9)Lc=C1G_[\e,Ug>ma+]/
%:s8VI!.Q6?eYf&k)5UdV:Xsg6"":0ZK6>..i40`b!+t-h$U;hden@V[NE8l-mU*A^K'0WEE9nS>eWU)e:4#>"&]//b;GE^qPZSV(E4OfOTs$N-p?YJKBOWas)7a0b3ciZ2)D-WHcGau'd=!>InMVIV%,;1Di3f5q%i
%:\M#-GT/ckj.sr,Fil+$%lH*e#=87uW-1-7E1r_Oj\hD3^GUf;+-I42.e,_$nnS07tpjg8Z,gMiF[lNQu!Ru^)8hNlgko&'rU%h+]GipPo3IZ(*3C4Bi*lL&%#db1m>]NNS2_]3rl/g!8SR86cFkS=\WOF8*0q\a4e/Q]/SPA8cBdEo17\oLY_N[/>#(hSLf9__[,l0MCR!8qW-Xa`Mhc$s">_h)1<#6s_TOrC;]BIEH.7l.j2T+unielDMZGI5q-5ui,H"s[18)9L7YINbDp`hY57WTC6nV`"
%:-'jW*aN!He2sQWf2_sJ.M?)\(E$N/u^g@gNa8*R2k&k&UaE!]m\j2R^9(@kh+\q^d/Bo:fjj]G0aaRW_8X>n*@79]Hk%&-_ZM:.^#]5gTcqXboOZLm`e/:-h/MT6]Z-QBhU?g[X-WeCU[J)=m2p
%:'9r7@\k0*t6RLp9U^W:g`sDjJ@!&:[A75o3F,uiPm&Oh5C/_rYBP_r_L%&P^:8t4qR`LOGhMmk?[9bB&aW=ee0t*sZP"Wm6MmVTf@kZkYsSPQp\"%WZ![9;H[R*T;bb(W[80.0:P.ZbBq9QjNoM]Ami`jZ6A=2QDnna=ld1Hla`SsYoZk44mIA.28M?XT\u9"*9/9RZ)X^!D=Sk"sUDS/;5')(P7jd;TL"4@J4B='QOI.fOY=;j:F8n2%W_(d6';rPib!Df0!/@PLf@?,u9,OmM_$$
%:64R:T:`GcPjNmmorrSKQ%\87+i7UODLW1J/"[WPVK_jGA_b2/.Xp8_W64,_PK@%:C<#F!e$%1Le+`aH`%:g#V%BVOM;95NqNYEeE$ttTA(b-$/Hk%o9mY?`-)242._aUH3:IYu1%J?iYN'^8RpMTkLKG6m:>U0f-Hk&oGOL^Yj%:Z-W`?Nd_-R4IW@+qH=;94SH7L52WA#."5ETj;@e7A(r%m+$X,.g@&1e'I3TM*7t^X&T63okt+
%:%k^u<59j$Z*,:64Vtba^,4<64WZXBFR983A_YJ[ihV'U+6ju\TGdj?WY1U8,K4*h?t3T*',(5%5:j#kqH9\E0CV]Qn;3S?O?q0g#;#?@)'2["B87AIn"B!2uej.DlWcubR\M30r8R\QDKrA@?TalpfW.#qHh!Rr^pK!YG$6so+;B,lj#P0Cc@,,F+L\K.9hnVNdUr*r,0M":<";slX;^"4bm=l=0[SXB1&(^#Q&_X4I^HtuYK?t5J.h#F]&bR;NSZ2@o&jBk!9un?99,^1JVht7HXWAbhouEcO\LS(gT-6<;84AD*Roea*NP#=3VOdOh1^s-;"YbqIABoQacTE@l:4,<%CD)2;"^;GI?[c.Z8s6FZ?e7T\_S!TWrGrG0@f?Fl:J6AmWeZ&6e9RSW6QX,![l@!Vc20)b8Wd_"I?`qoa5b\l($<`pl4=7pI@As#b;(p>^MX!d<3Y,8?QrP!'5$uf0.s:Gb,hNcS!ejH0G=#U'"@3Gr^I-N@h(?-_>G0i3";Q57;h7EulM8g*OXB[4R6k(JMo;I!_1g)DZ#FnTqO_5bKi6"Gah56=LMoCpG%;W$^HU=uKkVPlX$54FWu8ac7sJNl]\t9rY,c8r!l*cQ.,KBh)qW.eB8u2k
%:[t87o0[7qZ91Jb0(#J^TSosT&H@$t/*'L@Z?5:S_'jeG3f*/fWO_8n-Sr1b`!T?cBnId8M4T(Y"^GaND:3]l+]_40hA"Tp$q)3KD7f#8!4S6)&Z]5)?"i'*5].)1s;;k5ajI)Wj=+g5E$GhfbuN\-(RaIH_Q.G4=XM:P6[RsI?Q$t4;Ku:Ud>-NBHfTPV5N)2Ln"+4?T:Z&cX7$3,-'2
%:o?TE0\=*\N"#u#6K\p>WdPIVQFk3V&[@h0G]bl%M]t3',-@/PE^BjQL+*Rdre%qR`m^63.cO'>H+*S=,UX3mO^b&j.on`0e?F[K?\(nB.N7H)P`EMnH\5.IqlYq7JM[;^'YES:'kf6;^FmU(Z0hoB$0\iuOCqC_/@D1/UXt43d)XrN?fZ$@rQUka#o?AD?@C'7i;5N^f>;_ZHo(6eVr3&1$!K"+`=5N8L[sc9[QK>Q73Sid(^\Kk_a/D-%>0-o)3\ln,cFjG7B-4NkkpT8==nL]s-NT)s%[eh7cXN!_T)+-["7(fnj`Hab^3@(Af[29_JAmZjEt_rmD:$+TfqAFC_dh7Bl_tWBbdslp;;'%k8Q:9bNO.1ACUl=X33`GAP%X"S:UAYDfdi%Zol.)
%:Jg`83Y2k[E)oSg1mu,B;%$t1I['.e/2sZ&D/es.^aJo\YSd"Af2(.7eceoUVH.cZWXWE-?lKsa+c^8i@'UL<\jH*@\`2kTG`8uOYQXt@e>Ark:eceoUB"c&)X#>d$78(O\VgbPZfc>X%7@f5Lk)l,7nY*]EW(E+e$oZk$^h;YaM>M;S8\
%:df#A`Q_cQ[^'NC\bEclOD&(CY.rfi:]8W,#;6o\S&kaC[i0%AfYG!\Ob78N;7(]h]4[*".I''6,?#[n<=u8]Y$RA/Q\UmcNd0CiVF#IB-+iBl,;j(UW>CoAP`'\4b&,8;rnB;NM]lUIc'b=]X38!3Z9l*hlUke8$dUk(,M*)B]4gn5NEKQ$(RN1-Mfm9Y)j5nfXO,%26-(ZNBSdAK
%:'l+6%]RSCRg.Ap@)qm[:d9cZSAmV%B*7@&llN\;=,5-VCjm?iQd@.l9QiiaRhI/Y=$[Qq`_M2dfHW/8Y+f^q>5CBf8(Z4L1l#tG>NduVSJKSC[$^:$]"!EZdJ`\[k34+tS6!uMoFsG_J#6jm'tljcd2I>!?D1Hb20so3Upk:Rg.1q/(PaH-reOQ4NjC'G_'X4$"ZhBuV%Z]F'DimLHQ>/p;!a@41`6*]
%:5rC&,VrZ41))XcrAl^mL40Bl?Nre]5l%R[$>kU\W#"-,J@(/jJ9>V5%\bY5O\Xfu1#=n1gc8jan@1Q*shIH(Ck\$WuT1LmG:\ZnYH+28+LuO7Yc;r*b.b]s)b6C`42S6W(>QEq^QB\jO:1JQrJ?a8f)pZ/0VYj-&(brBM^RX>+CLDm3
%:,9HF#T;-:\Ib!PVS[uq/Q/abR.4JVK_p!4Kp/P>.I+dK=6]CGP34j!n@"$_oL:.%O=.&b$[\^3i\'\d!@9K(=QG>]0(>/W9`@L8IJ`!-)XXQQ_*nC;]=Z@#G\hR_0q@'g*`ipq.8%P9eA"MS&3oZ\4FN/)WLgm[Dr`on4k8;Hp3a?[(:$r$D5C!#d=70r6'XA!$hU2!/sB]Ch7$aCh3SIlU50'AQ3A\AH2b3<^^Y3F8u?>A:@EcZ22@ruF.AOgcTA,lW'9lNm;C1Ums!!)7X;fm%oDJ&qLi(ZmZF*%B^gJ((M@rq\NImussDdu=L@:Wqi!!"lCCiM^iBE/#4!?M9>!HJ4=!HJ4=!HJ1d!6"rW!6"rW!6"rW!6"rW!6"rW!7(Wk!$qUk!$qUk!$qUk!7(\D!HJ4=!HJ4=!HJ4=!HJ4=!HJ1d!94&N!-A5!!N,q0!-A5!!4r5Q!-A4=!8mmU!4r5Q!N,qX!94&2!94*'!94(;!94(;!%e1m!A4@(!-A5o!-A5o!-A5o!-A5o!-A5o%:/,J
%:!-A5o!-A5o!-A5o!-A5o!-A5o!-A5o!-A5o!-A5o!-A5o!-A5o!-A5o!-A5o!-A5o!-A5o!-A5o!-A5o!-A5o!-A5o!-A5o!-A5o!-A5o!-A5o!-A5o!-A5o!-A5o!-A5o!-A5o!-A5o!-A5o!-A5o!-A5o!-A5o!-A5o!-A5o!-A5o!-A5o!%\+l!=]$N!=]$N!=]$N!=]$N!=]$N!=]$N!=]$N!=]$N!=]$N!=]$N!=]$Nj7CUu
%:!=]$N!=]$N!=]#\!-A5N!-A5N!-A5N!-A5N!-A5N!-A5N!-A5N!-A5N!-A5N!-A5N!-A5N!-A5N!-A5o!-A2m!94*X!-A5o!-A5o!-A5o!-A5o!-A5o!-A5o!-A5o!-A5o!8mjN!-A2m!-A5o!-A5o!-A5o!-A5o!-A5o!-A5o!-A5o!-A5o!8mjN!8mjh!7(\D!94*1!%\/K!"/h*!NlHH!7(Xe!7(ZZ!8mnD!Ta;=!94'$ibQgc
%:!2fhW!-A5!!20Fr!8mk;!N,qX!9jLD!9jMR!94(;!.RIS@'KARfXhAH;c1s8N'!bcffd
%:~>
%%EndAGDEmbeddedDoc
%%BeginResource: procset Altsys_header 4 0
userdict begin /AltsysDict 300 dict def end
AltsysDict begin
/bdf{bind def}bind def
/xdf{exch def}bdf
/defed{where{pop true}{false}ifelse}bdf
/ndf{1 index where{pop pop pop}{dup xcheck{bind}if def}ifelse}bdf
/d{setdash}bdf
/h{closepath}bdf
/H{}bdf
/J{setlinecap}bdf
/j{setlinejoin}bdf
/M{setmiterlimit}bdf
/n{newpath}bdf
/N{newpath}bdf
/q{gsave}bdf
/Q{grestore}bdf
/w{setlinewidth}bdf
/Xic{matrix invertmatrix concat}bdf
/Xq{matrix currentmatrix mark}bdf
/XQ{cleartomark setmatrix}bdf
/sepdef{
dup where not
{
AltsysSepDict
}
if
3 1 roll exch put
}bdf
/st{settransfer}bdf
/colorimage defed /_rci xdf
/cntr 0 def
/readbinarystring{
/cntr 0 def
2 copy readstring
{
{
dup
(\034) search
{
length exch pop exch
dup length 0 ne
{
dup dup 0 get 32 sub 0 exch put
/cntr cntr 1 add def
}
{
pop 1 string dup
0 6 index read pop 32 sub put
}ifelse
3 copy
putinterval pop
1 add
1 index length 1 sub
1 index sub
dup 0 le {pop pop exit}if
getinterval
}
{
pop exit
} ifelse
} loop
}if
cntr 0 gt
{
pop 2 copy
dup length cntr sub cntr getinterval
readbinarystring
} if
pop exch pop
} bdf
/_NXLevel2 defed {
_NXLevel2 not {
/colorimage where {
userdict eq {
/_rci false def
} if
} if
} if
} if
/md defed{
md type /dicttype eq {
/colorimage where {
md eq {
/_rci false def
}if
}if
/settransfer where {
md eq {
/st systemdict /settransfer get def
}if
}if
}if
}if
/setstrokeadjust defed
{
true setstrokeadjust
/C{curveto}bdf
/L{lineto}bdf
/m{moveto}bdf
}
{
/dr{transform .25 sub round .25 add
exch .25 sub round .25 add exch itransform}bdf
/C{dr curveto}bdf
/L{dr lineto}bdf
/m{dr moveto}bdf
/setstrokeadjust{pop}bdf
}ifelse
/privrectpath {
4 -2 roll m
dtransform round exch round exch idtransform
2 copy 0 lt exch 0 lt xor
{dup 0 exch rlineto exch 0 rlineto neg 0 exch rlineto}
{exch dup 0 rlineto exch 0 exch rlineto neg 0 rlineto}
ifelse
closepath
}bdf
/rectclip{newpath privrectpath clip newpath}def
/rectfill{gsave newpath privrectpath fill grestore}def
/rectstroke{gsave newpath privrectpath stroke grestore}def
/_fonthacksave false def
/currentpacking defed
{
/_bfh {/_fonthacksave currentpacking def false setpacking} bdf
/_efh {_fonthacksave setpacking} bdf
}
{
/_bfh {} bdf
/_efh {} bdf
}ifelse
/packedarray{array astore readonly}ndf
/`
{
false setoverprint
/-save0- save def
5 index concat
pop
storerect left bottom width height rectclip
pop
/MMdict_count countdictstack def
/MMop_count count 1 sub def
userdict begin
/showpage {} def
0 setgray 0 setlinecap 1 setlinewidth
0 setlinejoin 10 setmiterlimit [] 0 setdash newpath
} bdf
/currentpacking defed{true setpacking}if
/min{2 copy gt{exch}if pop}bdf
/max{2 copy lt{exch}if pop}bdf
/xformfont { currentfont exch makefont setfont } bdf
/fhnumcolors 1
statusdict begin
/processcolors defed
{
pop processcolors
}
{
/deviceinfo defed {
deviceinfo /Colors known {
pop deviceinfo /Colors get
} if
} if
} ifelse
end
def
% pix = x^2 + y^2
/printerRes
gsave
matrix defaultmatrix setmatrix
72 72 dtransform
abs exch abs
max
grestore
def
/graycalcs
[
{Angle Frequency}
{GrayAngle GrayFrequency}
{0 Width Height matrix defaultmatrix idtransform
dup mul exch dup mul add sqrt 72 exch div}
{0 GrayWidth GrayHeight matrix defaultmatrix idtransform
dup mul exch dup mul add sqrt 72 exch div}
] def
/calcgraysteps {
forcemaxsteps
{
maxsteps
}
{
/currenthalftone defed
{currenthalftone /dicttype eq}{false}ifelse
{
currenthalftone begin
HalftoneType 4 le
{graycalcs HalftoneType 1 sub get exec}
{
HalftoneType 5 eq
{
Default begin
{graycalcs HalftoneType 1 sub get exec}
end
}
{0 60}
ifelse
}
ifelse
end
}
{
currentscreen pop exch
}
ifelse
printerRes 300 max exch div exch
2 copy
sin mul round dup mul
3 1 roll
cos mul round dup mul
add 1 add
dup maxsteps gt {pop maxsteps} if
dup minsteps lt {pop minsteps} if
}
ifelse
} bdf
/nextrelease defed {
/languagelevel defed not {
/framebuffer defed {
0 40 string framebuffer 9 1 roll 8 {pop} repeat
dup 516 eq exch 520 eq or
{
/fhnumcolors 3 def
/currentscreen {60 0 {pop pop 1}}bdf
/calcgraysteps {maxsteps} bdf
}if
}if
}if
}if
fhnumcolors 1 ne {
/calcgraysteps {maxsteps} bdf
} if
/currentpagedevice defed {
currentpagedevice /PreRenderingEnhance known
{
currentpagedevice /PreRenderingEnhance get
{
/calcgraysteps
{
forcemaxsteps
{maxsteps}
{256 maxsteps min}
ifelse
} def
} if
} if
} if
/gradfrequency 144 def
printerRes 1000 lt {
/gradfrequency 72 def
} if
/adjnumsteps {
dup dtransform abs exch abs max
printerRes div
gradfrequency mul
round
5 max
min
}bdf
/goodsep {
spots exch get 4 get dup sepname eq exch (_vc_Registration) eq or
}bdf
/BeginGradation defed
{/bb{BeginGradation}bdf}
{/bb{}bdf}
ifelse
/EndGradation defed
{/eb{EndGradation}bdf}
{/eb{}bdf}
ifelse
/bottom -0 def
/delta -0 def
/frac -0 def
/height -0 def
/left -0 def
/numsteps1 -0 def
/radius -0 def
/right -0 def
/top -0 def
/width -0 def
/xt -0 def
/yt -0 def
/df currentflat def
/tempstr 1 string def
/clipflatness currentflat def
/inverted?
0 currenttransfer exec .5 ge def
/tc1 [0 0 0 1] def
/tc2 [0 0 0 1] def
/storerect{/top xdf /right xdf /bottom xdf /left xdf
/width right left sub def /height top bottom sub def}bdf
/concatprocs{
systemdict /packedarray known
{dup type /packedarraytype eq 2 index type /packedarraytype eq or}{false}ifelse
{
/proc2 exch cvlit def /proc1 exch cvlit def
proc1 aload pop proc2 aload pop
proc1 length proc2 length add packedarray cvx
}
{
/proc2 exch cvlit def /proc1 exch cvlit def
/newproc proc1 length proc2 length add array def
newproc 0 proc1 putinterval newproc proc1 length proc2 putinterval
newproc cvx
}ifelse
}bdf
/i{dup 0 eq
{pop df dup}
{dup} ifelse
/clipflatness xdf setflat
}bdf
version cvr 38.0 le
{/setrgbcolor{
currenttransfer exec 3 1 roll
currenttransfer exec 3 1 roll
currenttransfer exec 3 1 roll
setrgbcolor}bdf}if
/vms {/vmsv save def} bdf
/vmr {vmsv restore} bdf
/vmrs{vmsv restore /vmsv save def}bdf
/eomode{
{/filler /eofill load def /clipper /eoclip load def}
{/filler /fill load def /clipper /clip load def}
ifelse
}bdf
/normtaper{}bdf
/logtaper{9 mul 1 add log}bdf
/CD{
/NF exch def
{
exch dup
/FID ne 1 index/UniqueID ne and
{exch NF 3 1 roll put}
{pop pop}
ifelse
}forall
NF
}bdf
/MN{
1 index length
/Len exch def
dup length Len add
string dup
Len
4 -1 roll
putinterval
dup
0
4 -1 roll
putinterval
}bdf
/RC{4 -1 roll /ourvec xdf 256 string cvs(|______)anchorsearch
{1 index MN cvn/NewN exch def cvn
findfont dup maxlength dict CD dup/FontName NewN put dup
/Encoding ourvec put NewN exch definefont pop}{pop}ifelse}bdf
/RF{
dup
FontDirectory exch
known
{pop 3 -1 roll pop}
{RC}
ifelse
}bdf
/FF{dup 256 string cvs(|______)exch MN cvn dup FontDirectory exch known
{exch pop findfont 3 -1 roll pop}
{pop dup findfont dup maxlength dict CD dup dup
/Encoding exch /Encoding get 256 array copy 7 -1 roll
{3 -1 roll dup 4 -2 roll put}forall put definefont}
ifelse}bdf
/RCJ{4 -1 roll
/ourvec xdf
256 string cvs
(|______) anchorsearch
{pop
cvn
dup FDFJ
exch
1 index
eq
{
_bfh findfont _efh
dup
maxlength dict
CD
dup
/FontName
3 index
put
dup
/Encoding ourvec put
1 index
exch
definefont
pop
}
{exch pop}
ifelse
}
{pop}
ifelse
}bdf
/RFJ{
dup
FontDirectory exch
known
{pop 3 -1 roll pop}
{RCJ}
ifelse
}bdf
/hasfont
{
/resourcestatus where
{
pop
/Font resourcestatus
{
pop pop true
}
{
false
}
ifelse
}
{
dup FontDirectory exch known
{pop true}
{
256 string
cvs
(fonts/) exch MN
status
{pop pop pop pop true}
{false}
ifelse
}
ifelse
}
ifelse
}bdf
/FDFJ
{
dup
hasfont
not
{
pop
/Ryumin-Light-83pv-RKSJ-H
hasfont
{
/Ryumin-Light-83pv-RKSJ-H
}
{
/Courier
}
ifelse
}
if
}bdf
/FFJ{
_bfh
dup
256 string cvs
(|______)exch MN
cvn
dup
FontDirectory
exch known
{
exch
pop
findfont
3 -1 roll
pop
}
{
pop
FDFJ
dup findfont
dup maxlength dict
CD
dup dup
/Encoding exch
/Encoding get
256 array copy
7 -1 roll
{
3 -1 roll
dup
4 -2 roll
put
}forall
put
definefont
}
ifelse
_efh
}bdf
/GS {
dup
hasfont
{
findfont
exch makesetfont
exch
pop
ts
}
{
pop pop pop
ts
} ifelse
} bdf
/RCK{4 -1 roll
/ourvec xdf
256 string cvs
(|______) anchorsearch
{pop
cvn
dup FDFK
exch
1 index
eq
{
_bfh findfont _efh
dup
maxlength dict
CD
dup
/FontName
3 index
put
dup
/Encoding ourvec put
1 index
exch
definefont
pop
}
{exch pop}
ifelse
}
{pop}
ifelse
}bdf
/RFK{
dup
FontDirectory exch
known
{pop 3 -1 roll pop}
{RCK}
ifelse
}bdf
/hasfont
{
/resourcestatus where
{
pop
/Font resourcestatus
{
pop pop true
}
{
false
}
ifelse
}
{
dup FontDirectory exch known
{pop true}
{
256 string
cvs
(fonts/) exch MN
status
{pop pop pop pop true}
{false}
ifelse
}
ifelse
}
ifelse
}bdf
/FDFK
{
dup
hasfont
not
{
pop
/JCsm
hasfont
{
/JCsm
}
{
/Courier
}
ifelse
}
if
}bdf
/FFK{
_bfh
dup
256 string cvs
(|______)exch MN
cvn
dup
FontDirectory
exch known
{
exch
pop
findfont
3 -1 roll
pop
}
{
pop
FDFK
dup findfont
dup maxlength dict
CD
dup dup
/Encoding exch
/Encoding get
256 array copy
7 -1 roll
{
3 -1 roll
dup
4 -2 roll
put
}forall
put
definefont
}
ifelse
_efh
}bdf
/RCTC{4 -1 roll
/ourvec xdf
256 string cvs
(|______) anchorsearch
{pop
cvn
dup FDFTC
exch
1 index
eq
{
_bfh findfont _efh
dup
maxlength dict
CD
dup
/FontName
3 index
put
dup
/Encoding ourvec put
1 index
exch
definefont
pop
}
{exch pop}
ifelse
}
{pop}
ifelse
}bdf
/RFTC{
dup
FontDirectory exch
known
{pop 3 -1 roll pop}
{RCTC}
ifelse
}bdf
/FDFTC
{
dup
hasfont
not
{
pop
/DFMing-Lt-HK-BF
hasfont
{
/DFMing-Lt-HK-BF
}
{
/Courier
}
ifelse
}
if
}bdf
/FFTC{
_bfh
dup
256 string cvs
(|______)exch MN
cvn
dup
FontDirectory
exch known
{
exch
pop
findfont
3 -1 roll
pop
}
{
pop
FDFTC
dup findfont
dup maxlength dict
CD
dup dup
/Encoding exch
/Encoding get
256 array copy
7 -1 roll
{
3 -1 roll
dup
4 -2 roll
put
}forall
put
definefont
}
ifelse
_efh
}bdf
/fps{
currentflat
exch
dup 0 le{pop 1}if
{
dup setflat 3 index stopped
{1.3 mul dup 3 index gt{pop setflat pop pop stop}if}
{exit}
ifelse
}loop
pop setflat pop pop
}bdf
/fp{100 currentflat fps}bdf
/clipper{clip}bdf
/W{/clipper load 100 clipflatness dup setflat fps}bdf
/AVec 256 array def
AVec 0 /Helvetica findfont
/Encoding get 0 256 getinterval putinterval
/ANSIPatch[
16#0/grave 16#1/acute 16#2/circumflex 16#3/tilde 16#4/macron 16#5/breve
16#6/dotaccent 16#7/dieresis 16#8/ring 16#9/cedilla 16#A/hungarumlaut
16#B/ogonek 16#C/caron 16#D/dotlessi 16#27/quotesingle 16#60/grave
16#7C/bar 16#82/quotesinglbase 16#83/florin 16#84/quotedblbase 16#85
/ellipsis 16#86/dagger 16#87/daggerdbl 16#89/perthousand 16#8A/Scaron
16#8B/guilsinglleft 16#8C/OE 16#91/quoteleft 16#92/quoteright 16#93
/quotedblleft 16#94/quotedblright 16#95/bullet 16#96/endash 16#97/emdash
16#99/trademark 16#9A/scaron 16#9B/guilsinglright 16#9C/oe
16#9F/Ydieresis 16#A0/space 16#A4/currency 16#A6/brokenbar
16#A7/section 16#A8/dieresis 16#A9/copyright 16#AA/ordfeminine 16#AB/guillemotleft
16#AC/logicalnot 16#AD/hyphen 16#AE/registered 16#AF/macron 16#B0/degree
16#B1/plusminus 16#B2/twosuperior 16#B3/threesuperior 16#B4/acute 16#B5/mu
16#B6/paragraph 16#B7/periodcentered 16#B8/cedilla 16#B9/onesuperior
16#BA/ordmasculine 16#BB/guillemotright 16#BC/onequarter 16#BD/onehalf
16#BE/threequarters 16#BF/questiondown 16#C0/Agrave 16#C1/Aacute 16#C2/Acircumflex
16#C3/Atilde 16#C4/Adieresis 16#C5/Aring 16#C6/AE 16#C7/Ccedilla 16#C8/Egrave
16#C9/Eacute 16#CA/Ecircumflex 16#CB/Edieresis 16#CC/Igrave 16#CD/Iacute
16#CE/Icircumflex 16#CF/Idieresis 16#D0/Eth 16#D1/Ntilde 16#D2/Ograve
16#D3/Oacute 16#D4/Ocircumflex 16#D5/Otilde 16#D6/Odieresis 16#D7/multiply
16#D8/Oslash 16#D9/Ugrave 16#DA/Uacute 16#DB/Ucircumflex 16#DC/Udieresis
16#DD/Yacute 16#DE/Thorn 16#DF/germandbls 16#E0/agrave 16#E1/aacute
16#E2/acircumflex 16#E3/atilde 16#E4/adieresis 16#E5/aring 16#E6/ae
16#E7/ccedilla 16#E8/egrave 16#E9/eacute 16#EA/ecircumflex 16#EB/edieresis
16#EC/igrave 16#ED/iacute 16#EE/icircumflex 16#EF/idieresis 16#F0/eth
16#F1/ntilde 16#F2/ograve 16#F3/oacute 16#F4/ocircumflex 16#F5/otilde
16#F6/odieresis 16#F7/divide 16#F8/oslash 16#F9/ugrave 16#FA/uacute
16#FB/ucircumflex 16#FC/udieresis 16#FD/yacute 16#FE/thorn 16#FF/ydieresis
] def
127 1 159 { AVec exch/bullet put } for
ANSIPatch aload pop ANSIPatch length 2 idiv{AVec 3 1 roll put}repeat
/DoPatch { dup /CharStrings known
{ setfont
0 1 255 { dup
currentfont
/Encoding get
exch get
currentfont /CharStrings get
exch known
{pop} {currentfont /Encoding get exch /bullet put} ifelse
} for
} {pop} ifelse
} def
/findheaderfont {
AVec 256 array copy
/FHT /|______Helvetica dup RF findfont def
FHT DoPatch
FHT
} def
end %. AltsysDict
%%EndResource
%%EndProlog
%%BeginSetup
AltsysDict begin
_bfh
_efh
end %. AltsysDict
%%EndSetup
AltsysDict begin
/onlyk4{false}ndf
/ccmyk{dup 5 -1 roll sub 0 max exch}ndf
/cmyk2gray{
4 -1 roll 0.3 mul 4 -1 roll 0.59 mul 4 -1 roll 0.11 mul
add add add 1 min neg 1 add
}bdf
/setcmykcolor{1 exch sub ccmyk ccmyk ccmyk pop setrgbcolor}ndf
/maxcolor {
max max max
} ndf
/maxspot {
pop
} ndf
/setcmykcoloroverprint{4{dup -1 eq{pop 0}if 4 1 roll}repeat setcmykcolor}ndf
/findcmykcustomcolor{5 packedarray}ndf
/setcustomcolor{exch aload pop pop 4{4 index mul 4 1 roll}repeat setcmykcolor pop}ndf
/setseparationgray{setgray}ndf
/setoverprint{pop}ndf
/currentoverprint false ndf
/cmykbufs2gray{
0 1 2 index length 1 sub
{
4 index 1 index get 0.3 mul
4 index 2 index get 0.59 mul
4 index 3 index get 0.11 mul
4 index 4 index get
add add add cvi 255 min
255 exch sub
2 index 3 1 roll put
}for
4 1 roll pop pop pop
}bdf
/colorimage{
pop pop
[
5 -1 roll/exec cvx
6 -1 roll/exec cvx
7 -1 roll/exec cvx
8 -1 roll/exec cvx
/cmykbufs2gray cvx
]cvx
image
}
%. version 47.1 on Linotronic of Postscript defines colorimage incorrectly (rgb model only)
version cvr 47.1 le
statusdict /product get (Lino) anchorsearch{pop pop true}{pop false}ifelse
and{userdict begin bdf end}{ndf}ifelse
fhnumcolors 1 ne {/yt save def} if
/customcolorimage{
aload pop
(_vc_Registration) eq
{
pop pop pop pop separationimage
}
{
/ik xdf /iy xdf /im xdf /ic xdf
ic im iy ik cmyk2gray /xt xdf
currenttransfer
{dup 1.0 exch sub xt mul add}concatprocs
st
image
}
ifelse
}ndf
fhnumcolors 1 ne {yt restore} if
fhnumcolors 3 ne {/yt save def} if
/customcolorimage{
aload pop
(_vc_Registration) eq
{
pop pop pop pop separationimage
}
{
/ik xdf /iy xdf /im xdf /ic xdf
1.0 dup ic ik add min sub
1.0 dup im ik add min sub
1.0 dup iy ik add min sub
/ic xdf /iy xdf /im xdf
currentcolortransfer
4 1 roll
{dup 1.0 exch sub ic mul add}concatprocs 4 1 roll
{dup 1.0 exch sub iy mul add}concatprocs 4 1 roll
{dup 1.0 exch sub im mul add}concatprocs 4 1 roll
setcolortransfer
{/dummy xdf dummy}concatprocs{dummy}{dummy}true 3 colorimage
}
ifelse
}ndf
fhnumcolors 3 ne {yt restore} if
fhnumcolors 4 ne {/yt save def} if
/customcolorimage{
aload pop
(_vc_Registration) eq
{
pop pop pop pop separationimage
}
{
/ik xdf /iy xdf /im xdf /ic xdf
currentcolortransfer
{1.0 exch sub ik mul ik sub 1 add}concatprocs 4 1 roll
{1.0 exch sub iy mul iy sub 1 add}concatprocs 4 1 roll
{1.0 exch sub im mul im sub 1 add}concatprocs 4 1 roll
{1.0 exch sub ic mul ic sub 1 add}concatprocs 4 1 roll
setcolortransfer
{/dummy xdf dummy}concatprocs{dummy}{dummy}{dummy}
true 4 colorimage
}
ifelse
}ndf
fhnumcolors 4 ne {yt restore} if
/separationimage{image}ndf
/spotascmyk false ndf
/newcmykcustomcolor{6 packedarray}ndf
/inkoverprint false ndf
/setinkoverprint{pop}ndf
/setspotcolor {
spots exch get
dup 4 get (_vc_Registration) eq
{pop 1 exch sub setseparationgray}
{0 5 getinterval exch setcustomcolor}
ifelse
}ndf
/currentcolortransfer{currenttransfer dup dup dup}ndf
/setcolortransfer{st pop pop pop}ndf
/fas{}ndf
/sas{}ndf
/fhsetspreadsize{pop}ndf
/filler{fill}bdf
/F{gsave {filler}fp grestore}bdf
/f{closepath F}bdf
/S{gsave {stroke}fp grestore}bdf
/s{closepath S}bdf
userdict /islevel2
systemdict /languagelevel known dup
{
pop systemdict /languagelevel get 2 ge
} if
put
islevel2 not
{
/currentcmykcolor
{
0 0 0 1 currentgray sub
} ndf
} if
/tc
{
gsave
setcmykcolor currentcmykcolor
grestore
} bind def
/testCMYKColorThrough
{
tc add add add 0 ne
} bind def
/fhiscomposite where not {
userdict /fhiscomposite
islevel2
{
gsave 1 1 1 1 setcmykcolor currentcmykcolor grestore
add add add 4 eq
}
{
1 0 0 0 testCMYKColorThrough
0 1 0 0 testCMYKColorThrough
0 0 1 0 testCMYKColorThrough
0 0 0 1 testCMYKColorThrough
and and and
} ifelse
put
}
{ pop }
ifelse
/bc4 [0 0 0 0] def
/_lfp4 {
1 pop
/yt xdf
/xt xdf
/ang xdf
storerect
/taperfcn xdf
/k2 xdf /y2 xdf /m2 xdf /c2 xdf
/k1 xdf /y1 xdf /m1 xdf /c1 xdf
c1 c2 sub abs
m1 m2 sub abs
y1 y2 sub abs
k1 k2 sub abs
maxcolor
calcgraysteps mul abs round
height abs adjnumsteps
dup 1 lt {pop 1} if
1 sub /numsteps1 xdf
currentflat mark
currentflat clipflatness
/delta top bottom sub numsteps1 1 add div def
/right right left sub def
/botsv top delta sub def
{
{
W
xt yt translate
ang rotate
xt neg yt neg translate
dup setflat
/bottom botsv def
0 1 numsteps1
{
numsteps1 dup 0 eq {pop pop 0.5} {div} ifelse
taperfcn /frac xdf
bc4 0 c2 c1 sub frac mul c1 add put
bc4 1 m2 m1 sub frac mul m1 add put
bc4 2 y2 y1 sub frac mul y1 add put
bc4 3 k2 k1 sub frac mul k1 add put
bc4 vc
1 index setflat
{
mark {newpath left bottom right delta rectfill}stopped
{cleartomark exch 1.3 mul dup setflat exch 2 copy gt{stop}if}
{cleartomark exit}ifelse
}loop
/bottom bottom delta sub def
}for
}
gsave stopped grestore
{exch pop 2 index exch 1.3 mul dup 100 gt{cleartomark setflat stop}if}
{exit}ifelse
}loop
cleartomark setflat
}bdf
/bcs [0 0] def
/_lfs4 {
/yt xdf
/xt xdf
/ang xdf
storerect
/taperfcn xdf
/tint2 xdf
/tint1 xdf
bcs exch 1 exch put
tint1 tint2 sub abs
bcs 1 get maxspot
calcgraysteps mul abs round
height abs adjnumsteps
dup 2 lt {pop 2} if
1 sub /numsteps1 xdf
currentflat mark
currentflat clipflatness
/delta top bottom sub numsteps1 1 add div def
/right right left sub def
/botsv top delta sub def
{
{
W
xt yt translate
ang rotate
xt neg yt neg translate
dup setflat
/bottom botsv def
0 1 numsteps1
{
numsteps1 div taperfcn /frac xdf
bcs 0
1.0 tint2 tint1 sub frac mul tint1 add sub
put bcs vc
1 index setflat
{
mark {newpath left bottom right delta rectfill}stopped
{cleartomark exch 1.3 mul dup setflat exch 2 copy gt{stop}if}
{cleartomark exit}ifelse
}loop
/bottom bottom delta sub def
}for
}
gsave stopped grestore
{exch pop 2 index exch 1.3 mul dup 100 gt{cleartomark setflat stop}if}
{exit}ifelse
}loop
cleartomark setflat
}bdf
/_rfs6 {
/tint2 xdf
/tint1 xdf
bcs exch 1 exch put
/inrad xdf
/radius xdf
/yt xdf
/xt xdf
tint1 tint2 sub abs
bcs 1 get maxspot
calcgraysteps mul abs round
radius inrad sub abs
adjnumsteps
dup 1 lt {pop 1} if
1 sub /numsteps1 xdf
radius inrad sub numsteps1 dup 0 eq {pop} {div} ifelse
2 div /halfstep xdf
currentflat mark
currentflat clipflatness
{
{
dup setflat
W
0 1 numsteps1
{
dup /radindex xdf
numsteps1 dup 0 eq {pop pop 0.5} {div} ifelse
/frac xdf
bcs 0
tint2 tint1 sub frac mul tint1 add
put bcs vc
1 index setflat
{
newpath mark
xt yt radius inrad sub 1 frac sub mul halfstep add inrad add 0 360
{ arc
radindex numsteps1 ne
inrad 0 gt or
{
xt yt
numsteps1 0 eq
{ inrad }
{
radindex 1 add numsteps1 div 1 exch sub
radius inrad sub mul halfstep add inrad add
}ifelse
dup xt add yt moveto
360 0 arcn
} if
fill
}stopped
{cleartomark exch 1.3 mul dup setflat exch 2 copy gt{stop}if}
{cleartomark exit}ifelse
}loop
}for
}
gsave stopped grestore
{exch pop 2 index exch 1.3 mul dup 100 gt{cleartomark setflat stop}if}
{exit}ifelse
}loop
cleartomark setflat
}bdf
/_rfp6 {
1 pop
/k2 xdf /y2 xdf /m2 xdf /c2 xdf
/k1 xdf /y1 xdf /m1 xdf /c1 xdf
/inrad xdf
/radius xdf
/yt xdf
/xt xdf
c1 c2 sub abs
m1 m2 sub abs
y1 y2 sub abs
k1 k2 sub abs
maxcolor
calcgraysteps mul abs round
radius inrad sub abs
adjnumsteps
dup 1 lt {pop 1} if
1 sub /numsteps1 xdf
radius inrad sub numsteps1 dup 0 eq {pop} {div} ifelse
2 div /halfstep xdf
currentflat mark
currentflat clipflatness
{
{
dup setflat
W
0 1 numsteps1
{
dup /radindex xdf
numsteps1 dup 0 eq {pop pop 0.5} {div} ifelse
/frac xdf
bc4 0 c2 c1 sub frac mul c1 add put
bc4 1 m2 m1 sub frac mul m1 add put
bc4 2 y2 y1 sub frac mul y1 add put
bc4 3 k2 k1 sub frac mul k1 add put
bc4 vc
1 index setflat
{
newpath mark
xt yt radius inrad sub 1 frac sub mul halfstep add inrad add 0 360
{ arc
radindex numsteps1 ne
inrad 0 gt or
{
xt yt
numsteps1 0 eq
{ inrad }
{
radindex 1 add numsteps1 div 1 exch sub
radius inrad sub mul halfstep add inrad add
}ifelse
dup xt add yt moveto
360 0 arcn
} if
fill
}stopped
{cleartomark exch 1.3 mul dup setflat exch 2 copy gt{stop}if}
{cleartomark exit}ifelse
}loop
}for
}
gsave stopped grestore
{exch pop 2 index exch 1.3 mul dup 100 gt{cleartomark setflat stop}if}
{exit}ifelse
}loop
cleartomark setflat
}bdf
/lfp4{_lfp4}ndf
/lfs4{_lfs4}ndf
/rfs6{_rfs6}ndf
/rfp6{_rfp6}ndf
/cvc [0 0 0 1] def
/vc{
AltsysDict /cvc 2 index put
aload length dup 4 eq
{pop dup -1 eq{pop setrgbcolor}{setcmykcolor}ifelse}
{6 eq {sethexcolor} {setspotcolor} ifelse }
ifelse
}bdf
0 setseparationgray
/imgr {1692 1602 2304 2394 } def
/bleed 0 def
/clpr {1692 1602 2304 2394 } def
/xs 1 def
/ys 1 def
/botx 0 def
/overlap 0 def
/wdist 18 def
0 2 mul fhsetspreadsize
0 0 ne {/df 0 def /clipflatness 0 def} if
/maxsteps 256 def
/forcemaxsteps false def
/minsteps 0 def
userdict begin /AGDOrigMtx matrix currentmatrix def end
vms
-1700 -2108 translate
/currentpacking defed{false setpacking}if
/spots[
1 0 0 0 (Process Cyan) false newcmykcustomcolor
0 1 0 0 (Process Magenta) false newcmykcustomcolor
0 0 1 0 (Process Yellow) false newcmykcustomcolor
0 0 0 1 (Process Black) false newcmykcustomcolor
]def
n
[] 0 d
3.863708 M
1 w
0 j
0 J
false setoverprint
0 i
false eomode
[0 0 0 1]vc
vms
3.863693 M
true setoverprint
S
false setoverprint
n
1950.5 2308.5 m
1940 2306 L
S
n
1940 2305 m
1936 2290 L
S
n
1936 2290 m
1949 2251 L
S
n
S
n
1948.5 2251.5 m
1936.5 2236.5 L
S
n
1936.5 2236.5 m
1954 2176 L
1939 2173.5 L
1905.5 2203 L
1872.5 2195.5 L
1867 2157 L
1878 2146.5 L
1917.5 2149.5 L
1936.5 2173 L
S
n
1911.5 2357 m
1915.5 2324.5 L
1865.5 2300 L
1866 2295 L
1891 2277 L
1890.5 2254.5 L
1925 2233.5 L
1908 2204 L
S
n
1916 2324 m
1940.5 2307 L
S
n
S
n
1935 2288 m
1893 2276 L
S
n
S
n
1917 2148 m
1944 2110 L
S
n
1878 2146.5 m
1871.5 2108.5 L
S
n
1863 2299 m
1809 2308 L
1797 2320 L
1760.5 2286 L
1752.5 2286 L
1725 2253.5 L
1766.5 2239 L
1780.5 2260.5 L
1804.5 2265.5 L
1828 2258 L
1831 2250.5 L
1858 2239.5 L
1890 2253 L
S
n
1864.5 2293 m
1829.5 2256.5 L
S
n
1808.5 2306.5 m
1809 2265.5 L
S
n
1762 2284.5 m
1781 2261.5 L
S
n
1865.5 2303 m
1850.5 2357.5 L
3.863708 M
S
n
1797 2321 m
1796.5 2326 L
S
n
vmrs
1796.5 2326 m
1806 2357 L
S
n
1796 2325.5 m
1711.5 2322 L
S
n
1712.5 2320.5 m
1751.5 2287 L
3.863693 M
S
n
1725.5 2253 m
1714.5 2253 L
S
n
1768 2238.5 m
1777 2206 L
3.863708 M
S
n
1777 2205 m
1747.5 2195.5 L
S
n
1747.5 2195.5 m
1709.5 2206 L
S
n
1746.5 2195 m
1738.5 2154.5 L
S
n
1738.5 2154.5 m
1712 2144.5 L
S
n
1739 2155 m
1771.5 2140.5 L
S
n
1771.5 2140.5 m
1797.5 2188 L
S
n
1798.5 2188.5 m
1794 2199 L
S
n
1794 2199 m
1777.5 2206 L
S
n
1794.5 2198.5 m
1801.5 2201.5 L
S
n
1800 2201.5 m
1830.5 2249 L
S
n
1801 2201 m
1868.5 2199 L
S
n
1868.5 2199 m
1873 2195.5 L
S
n
1868.5 2200.5 m
1859.5 2238 L
S
n
1865.5 2158 m
1829.5 2155.5 L
S
n
1829.5 2155.5 m
1794 2108.5 L
S
n
vmrs
1789.5 2110 m
1771 2140.5 L
S
n
1799 2187.5 m
1829.5 2156 L
S
n
1755 2337.75 m
1755 2339.8211 1756.6789 2341.5 1758.75 2341.5 C
1760.8211 2341.5 1762.5 2339.8211 1762.5 2337.75 C
1762.5 2335.6789 1760.8211 2334 1758.75 2334 C
1756.6789 2334 1755 2335.6789 1755 2337.75 C
f
S
n
1832.9958 2321.422 m
1832.9958 2323.4931 1834.6748 2325.172 1836.7458 2325.172 C
1838.8169 2325.172 1840.4958 2323.4931 1840.4958 2321.422 C
1840.4958 2319.3509 1838.8169 2317.672 1836.7458 2317.672 C
1834.6748 2317.672 1832.9958 2319.3509 1832.9958 2321.422 C
f
S
n
1878.4958 2330.922 m
1878.4958 2332.9931 1880.1748 2334.672 1882.2458 2334.672 C
1884.3169 2334.672 1885.9958 2332.9931 1885.9958 2330.922 C
1885.9958 2328.8509 1884.3169 2327.172 1882.2458 2327.172 C
1880.1748 2327.172 1878.4958 2328.8509 1878.4958 2330.922 C
f
S
n
1756.4958 2309.422 m
1756.4958 2311.4931 1758.1748 2313.172 1760.2458 2313.172 C
1762.3169 2313.172 1763.9958 2311.4931 1763.9958 2309.422 C
1763.9958 2307.3509 1762.3169 2305.672 1760.2458 2305.672 C
1758.1748 2305.672 1756.4958 2307.3509 1756.4958 2309.422 C
f
S
n
1882.9958 2229.422 m
1882.9958 2231.4931 1884.6748 2233.172 1886.7458 2233.172 C
1888.8169 2233.172 1890.4958 2231.4931 1890.4958 2229.422 C
1890.4958 2227.3509 1888.8169 2225.672 1886.7458 2225.672 C
1884.6748 2225.672 1882.9958 2227.3509 1882.9958 2229.422 C
f
S
n
1834.9958 2220.922 m
1834.9958 2222.9931 1836.6748 2224.672 1838.7458 2224.672 C
1840.8169 2224.672 1842.4958 2222.9931 1842.4958 2220.922 C
1842.4958 2218.8509 1840.8169 2217.172 1838.7458 2217.172 C
1836.6748 2217.172 1834.9958 2218.8509 1834.9958 2220.922 C
f
S
n
1796.4958 2238.422 m
1796.4958 2240.4931 1798.1748 2242.172 1800.2458 2242.172 C
1802.3169 2242.172 1803.9958 2240.4931 1803.9958 2238.422 C
1803.9958 2236.3509 1802.3169 2234.672 1800.2458 2234.672 C
1798.1748 2234.672 1796.4958 2236.3509 1796.4958 2238.422 C
f
S
n
1735.4958 2227.922 m
1735.4958 2229.9931 1737.1748 2231.672 1739.2458 2231.672 C
1741.3169 2231.672 1742.9958 2229.9931 1742.9958 2227.922 C
1742.9958 2225.8509 1741.3169 2224.172 1739.2458 2224.172 C
1737.1748 2224.172 1735.4958 2225.8509 1735.4958 2227.922 C
f
S
n
1832.4958 2180.422 m
1832.4958 2182.4931 1834.1748 2184.172 1836.2458 2184.172 C
1838.3169 2184.172 1839.9958 2182.4931 1839.9958 2180.422 C
1839.9958 2178.3509 1838.3169 2176.672 1836.2458 2176.672 C
1834.1748 2176.672 1832.4958 2178.3509 1832.4958 2180.422 C
f
S
n
1761.4958 2168.422 m
1761.4958 2170.4931 1763.1748 2172.172 1765.2458 2172.172 C
1767.3169 2172.172 1768.9958 2170.4931 1768.9958 2168.422 C
1768.9958 2166.3509 1767.3169 2164.672 1765.2458 2164.672 C
1763.1748 2164.672 1761.4958 2166.3509 1761.4958 2168.422 C
f
S
n
1714.4958 2175.922 m
1714.4958 2177.9931 1716.1748 2179.672 1718.2458 2179.672 C
1720.3169 2179.672 1721.9958 2177.9931 1721.9958 2175.922 C
1721.9958 2173.8509 1720.3169 2172.172 1718.2458 2172.172 C
1716.1748 2172.172 1714.4958 2173.8509 1714.4958 2175.922 C
f
S
n
1798.9958 2154.922 m
1798.9958 2156.9931 1800.6748 2158.672 1802.7458 2158.672 C
1804.8169 2158.672 1806.4958 2156.9931 1806.4958 2154.922 C
1806.4958 2152.8509 1804.8169 2151.172 1802.7458 2151.172 C
1800.6748 2151.172 1798.9958 2152.8509 1798.9958 2154.922 C
f
S
n
1836.4958 2133.422 m
1836.4958 2135.4931 1838.1748 2137.172 1840.2458 2137.172 C
1842.3169 2137.172 1843.9958 2135.4931 1843.9958 2133.422 C
1843.9958 2131.3509 1842.3169 2129.672 1840.2458 2129.672 C
1838.1748 2129.672 1836.4958 2131.3509 1836.4958 2133.422 C
f
S
n
1736.9958 2128.422 m
1736.9958 2130.4931 1738.6748 2132.172 1740.7458 2132.172 C
1742.8169 2132.172 1744.4958 2130.4931 1744.4958 2128.422 C
1744.4958 2126.3509 1742.8169 2124.672 1740.7458 2124.672 C
1738.6748 2124.672 1736.9958 2126.3509 1736.9958 2128.422 C
f
S
n
1939.2458 2204.422 m
1939.2458 2206.4931 1940.9248 2208.172 1942.9958 2208.172 C
1945.0669 2208.172 1946.7458 2206.4931 1946.7458 2204.422 C
1946.7458 2202.3509 1945.0669 2200.672 1942.9958 2200.672 C
1940.9248 2200.672 1939.2458 2202.3509 1939.2458 2204.422 C
f
2 w
3.863693 M
S
n
1898.2458 2171.422 m
1898.2458 2173.4931 1899.9248 2175.172 1901.9958 2175.172 C
1904.0669 2175.172 1905.7458 2173.4931 1905.7458 2171.422 C
1905.7458 2169.3509 1904.0669 2167.672 1901.9958 2167.672 C
1899.9248 2167.672 1898.2458 2169.3509 1898.2458 2171.422 C
f
S
n
1943.2458 2144.922 m
1943.2458 2146.9931 1944.9248 2148.672 1946.9958 2148.672 C
1949.0669 2148.672 1950.7458 2146.9931 1950.7458 2144.922 C
1950.7458 2142.8509 1949.0669 2141.172 1946.9958 2141.172 C
1944.9248 2141.172 1943.2458 2142.8509 1943.2458 2144.922 C
f
S
n
1902.7458 2126.422 m
1902.7458 2128.4931 1904.4248 2130.172 1906.4958 2130.172 C
1908.5669 2130.172 1910.2458 2128.4931 1910.2458 2126.422 C
1910.2458 2124.3509 1908.5669 2122.672 1906.4958 2122.672 C
1904.4248 2122.672 1902.7458 2124.3509 1902.7458 2126.422 C
f
S
n
vmrs
1911.2458 2268.422 m
1911.2458 2270.4931 1912.9248 2272.172 1914.9958 2272.172 C
1917.0669 2272.172 1918.7458 2270.4931 1918.7458 2268.422 C
1918.7458 2266.3509 1917.0669 2264.672 1914.9958 2264.672 C
1912.9248 2264.672 1911.2458 2266.3509 1911.2458 2268.422 C
f
2 w
3.863693 M
S
n
1902.7458 2298.422 m
1902.7458 2300.4931 1904.4248 2302.172 1906.4958 2302.172 C
1908.5669 2302.172 1910.2458 2300.4931 1910.2458 2298.422 C
1910.2458 2296.3509 1908.5669 2294.672 1906.4958 2294.672 C
1904.4248 2294.672 1902.7458 2296.3509 1902.7458 2298.422 C
f
S
n
1943.7458 2334.922 m
1943.7458 2336.9931 1945.4248 2338.672 1947.4958 2338.672 C
1949.5669 2338.672 1951.2458 2336.9931 1951.2458 2334.922 C
1951.2458 2332.8509 1949.5669 2331.172 1947.4958 2331.172 C
1945.4248 2331.172 1943.7458 2332.8509 1943.7458 2334.922 C
f
S
n
1860.2458 2263.422 m
1860.2458 2265.4931 1861.9248 2267.172 1863.9958 2267.172 C
1866.0669 2267.172 1867.7458 2265.4931 1867.7458 2263.422 C
1867.7458 2261.3509 1866.0669 2259.672 1863.9958 2259.672 C
1861.9248 2259.672 1860.2458 2261.3509 1860.2458 2263.422 C
f
S
n
1823.7458 2289.422 m
1823.7458 2291.4931 1825.4248 2293.172 1827.4958 2293.172 C
1829.5669 2293.172 1831.2458 2291.4931 1831.2458 2289.422 C
1831.2458 2287.3509 1829.5669 2285.672 1827.4958 2285.672 C
1825.4248 2285.672 1823.7458 2287.3509 1823.7458 2289.422 C
f
S
n
1782.2458 2287.922 m
1782.2458 2289.9931 1783.9247 2291.672 1785.9958 2291.672 C
1788.0669 2291.672 1789.7458 2289.9931 1789.7458 2287.922 C
1789.7458 2285.8509 1788.0669 2284.172 1785.9958 2284.172 C
1783.9247 2284.172 1782.2458 2285.8509 1782.2458 2287.922 C
f
S
n
1748.7458 2263.422 m
1748.7458 2265.4931 1750.5367 2267.172 1752.7458 2267.172 C
1754.955 2267.172 1756.7458 2265.4931 1756.7458 2263.422 C
1756.7458 2261.3509 1754.955 2259.672 1752.7458 2259.672 C
1750.5367 2259.672 1748.7458 2261.3509 1748.7458 2263.422 C
f
S
n
1723.2458 2279.922 m
1723.2458 2281.9931 1724.9247 2283.672 1726.9958 2283.672 C
1729.0669 2283.672 1730.7458 2281.9931 1730.7458 2279.922 C
1730.7458 2277.8509 1729.0669 2276.172 1726.9958 2276.172 C
1724.9247 2276.172 1723.2458 2277.8509 1723.2458 2279.922 C
f
S
n
1925 2232.5 m
1936 2236.5 L
1 w
S
n
1701.5 2359.4998 m
1953.3678 2359.4998 L
1.4259 w
S
n
1701.5182 2288.1427 m
1953.386 2288.1427 L
S
n
1701.5364 2216.7856 m
1953.4042 2216.7856 L
S
n
1701.5546 2181.1071 m
1953.4224 2181.1071 L
S
n
1701.5728 2109.75 m
1953.4406 2109.75 L
S
n
1701.5909 2252.4641 m
1953.4588 2252.4641 L
S
n
1701.6091 2145.4285 m
1953.477 2145.4285 L
S
n
1701.6273 2323.8212 m
1953.4952 2323.8212 L
S
n
1952.9972 2359.375 m
1952.9972 2109.6274 L
1.4216 w
S
n
1881.4623 2359.3569 m
1881.4623 2109.6094 L
S
n
vmrs
1809.9274 2359.3389 m
1809.9274 2109.5914 L
1.4216 w
3.863693 M
S
n
1774.1599 2359.3209 m
1774.1599 2109.5733 L
S
n
1702.625 2359.3028 m
1702.625 2109.5553 L
S
n
1845.6948 2359.2848 m
1845.6948 2109.5372 L
S
n
1738.3925 2359.2668 m
1738.3925 2109.5192 L
S
n
1917.2297 2359.2487 m
1917.2297 2109.5012 L
S
n
vmr
vmr
end
%%Trailer
%%EndDocument
@endspecial 281 1405 a Fu(Figure)24 b(9:)29 b(The)23
b(grid)h Fr(G)f Fu(is)h(put)f(on)h(top)g(of)f(the)h(diagram)h
Fr(T)13 b Fu(.)p 2461 1450 V 0 1453 2465 4 v 0 1701 a
Fs(nates)25 b Fu(a)f(product)h(measure)g(on)g(the)f(grid,)g(thus)h(lo)n
(wer)f(bounding)i(the)f(probability)i(there)e(e)o(xists)g(a)e
(left-right)j(path)f(in)f(the)0 1814 y(V)-12 b(oronoi)25
b(diagram.)141 1927 y(Let)f Fr(T)37 b Fu(be)25 b(a)f(balanced)j(V)-12
b(oronoi)26 b(diagram)g(with)f Fr(n)e Fu(generators)28
b(and)d(assume)h(that)f(each)h(cell)f(survi)n(v)o(es)h(with)f(proba-)0
2040 y(bility)f Fr(p)h(>)391 2004 y Fo(1)p 391 2019 36
4 v 391 2071 a(2)459 2040 y Fu(and)e(f)o(ails)h(with)f(probability)k
Fp(1)19 b Fq(\000)f Fr(p)p Fu(,)k(independently)27 b(from)c(all)h
(other)g(cells.)29 b(No)n(w)22 b(construct)k(a)3531 1974
y Fq(p)p 3607 1974 55 4 v 66 x Fr(n)18 b Fq(\002)3770
1974 y(p)p 3845 1974 V 3845 2040 a Fr(n)0 2153 y Fu(grid)29
b(called)h Fr(G)f Fs(on)g(top)g Fu(of)g(the)g(V)-12 b(oronoi)30
b(diagram,)h(as)d(sho)n(wn)h(in)g(Figure)g(9.)45 b(W)-7
b(e)27 b(say)i(that)h(an)f(edge)g Fr(e)35 b Fq(2)g Fr(G)28
b Fu(f)o(ailed)i(if)n(f)0 2266 y(it)e(intersects)i(a)e(f)o(ailed)h
(cell)f(of)g Fr(T)13 b Fu(.)41 b(Let)27 b Fr(X)1363 2280
y Fn(e)1428 2266 y Fu(be)h(the)g(indicator)i(of)e(the)g(state)h(of)f
Fr(e)f Fu(\(i.e.)42 b Fr(X)2894 2280 y Fn(e)2965 2266
y Fp(=)33 b(1)28 b Fu(if)n(f)f Fr(e)h Fu(survi)n(v)o(ed\).)44
b(No)n(w)0 2379 y Fp(Pr)o([)p Fr(X)197 2393 y Fn(e)264
2379 y Fp(=)28 b(1])d Fu(is)g(e)o(xactly)i Fr(p)d Fu(to)i(the)f(po)n
(wer)h(of)f(the)h(number)g(of)f(cells)i(it)e(intersects.)36
b(Ho)n(we)n(v)o(er)25 b(since)i Fr(T)37 b Fu(is)25 b(balanced,)j(we)0
2491 y(kno)n(w)i(that)g(this)g(po)n(wer)g(is)f(bounded)j(by)e(some)f
(constant,)k(therefore)f(there)f(e)o(xists)f(some)g Fr(p)3004
2458 y Fz(0)3063 2491 y Fr(<)37 b(p)28 b Fu(independent)33
b(of)d Fr(n)p Fu(,)0 2604 y(such)24 b(that)g(for)g(all)g
Fr(e)h Fq(2)g Fr(G)p Fu(,)e Fp(Pr[)p Fr(X)1059 2618 y
Fn(e)1121 2604 y Fp(=)i(1])h Fq(\025)f Fr(p)1455 2571
y Fz(0)1478 2604 y Fu(.)j(Assume)c(that)g Fr(p)e Fu(w)o(as)i(lar)n(ge)g
(enough)i(such)e Fr(p)2964 2571 y Fz(0)3012 2604 y Fr(>)3118
2569 y Fo(1)p 3118 2584 36 4 v 3118 2636 a(2)3164 2604
y Fu(.)0 2780 y Ft(Obser)o(v)o(ation)34 b(19.)48 b Fs(If)33
b(ther)m(e)g(e)n(xists)h(a)f(left-right)i(cr)l(ossing)g(of)e(survived)i
(edg)o(es)f(in)f Fr(G)g Fs(then)g(ther)m(e)h(e)n(xists)g(a)f
(left-right)0 2893 y(cr)l(ossing)26 b(of)d(survived)j(V)-10
b(or)l(onoi)24 b(cells)h(in)e Fr(T)36 b Fs(\(i.e)o(.)28
b(a)23 b(cr)l(ossing)j(in)d(the)h(Delaunay)h(gr)o(aph\).)141
3069 y Fu(Since)f Fr(p)412 3036 y Fz(0)460 3069 y Fq(\025)566
3033 y Fo(1)p 566 3048 V 566 3100 a(2)634 3069 y Fu(one)g(is)f(tempted)
h(to)g(use)g(kno)n(wn)f(results)i(from)f(percolation)i(theory)f(that)f
(sho)n(w)f(that)h(the)g(probability)0 3182 y(of)32 b(a)f(crossing)k(is)
c(v)o(ery)i(high,)h(as)e(w)o(as)g(used)h(in)f([21)q(])f(to)h(pro)o(v)o
(e)h(the)f(a)n(v)n(ailability)j(of)d Fs(P)-7 b(aths)32
b Fu(and)g(as)g(w)o(as)g(used)h(in)f(this)0 3295 y(paper)c(to)f(pro)o
(v)o(e)g(the)g(lo)n(w)g(probe)h(comple)o(xity)g(of)f
Fs(P)-7 b(aths)p Fu(.)39 b(The)27 b(problem)h(is)e(that)i(the)f(random)
h(v)n(ariables)h Fq(f)p Fr(X)3541 3309 y Fn(e)3579 3295
y Fq(g)3624 3309 y Fn(e)p Fz(2)p Fn(G)3789 3295 y Fu(are)0
3408 y Fs(not)f(mutually)h(independent)p Fu(.)44 b(In)28
b(particular)l(,)j(if)c(tw)o(o)g(edges)i(are)f(contained)i(in)e(the)f
(same)h(cell)g(in)g Fr(T)13 b Fu(,)27 b(then)h(the)g(state)g(of)0
3521 y(both)f(of)g(them)g(is)f(determined)j(by)e(the)g(state)g(of)g
(that)g(cell.)39 b(The)26 b(k)o(e)o(y)h(observ)n(ation)i(is)e(that)g
(since)h Fr(T)38 b Fu(is)27 b(balanced,)i Fr(X)3776 3535
y Fn(e)3839 3521 y Fu(is)0 3633 y(independent)h(from)d(all)g(b)n(ut)g
Fs(a)g(constant)i(number)h Fu(of)c(other)i(edges.)40
b(Let)26 b Fr(\026)g Fu(be)h(the)g(probability)j(measure)e(thus)f
(de\002ned)0 3746 y(on)d Fq(f)p Fr(X)234 3760 y Fn(e)272
3746 y Fq(g)317 3760 y Fn(e)p Fz(2)p Fn(G)456 3746 y
Fu(.)29 b(Liggett)24 b Fs(et)g(al)g Fu(sho)n(w)f(in)h([12)q(])f(that)i
(in)e(this)i(case)f Fr(\026)f Fs(dominates)j Fu(the)e(product)i
(measure)e(o)o(v)o(er)g(the)g(edges)h(of)0 3859 y Fr(G)e
Fu(for)h(some)g(other)g(v)n(alue)g Fr(r)908 3826 y Fz(0)957
3859 y Fq(\024)h Fr(p)1099 3826 y Fz(0)1122 3859 y Fu(.)i(Theorem)d
Fp(1)p Fr(:)p Fp(3)g Fu(in)g([12)q(])f(could)i(be)e(stated)i(in)e(our)h
(case)h(as)e(follo)n(ws:)0 4035 y Ft(Theor)n(em)j(20.)44
b Fs(Let)26 b Fr(\026)f Fs(be)i(some)f(pr)l(obability)j(measur)m(e)f(o)
o(ver)f(the)f(set)h(of)f(con\002gur)o(ations)31 b(of)26
b(the)h(edg)o(es)g(of)f Fr(G)p Fs(.)37 b(Assume)0 4148
y(that)24 b(eac)o(h)g(edg)o(e)h(in)e Fr(G)g Fs(survives)j(with)e(pr)l
(obability)i(at)e(least)g Fr(p)1995 4115 y Fz(0)2018
4148 y Fs(,)f(and)h(that)g(the)g(state)g(of)g(eac)o(h)g(edg)o(e)g(is)g
(dependent)i(on)e(the)0 4261 y(state)g(of)e(at)h(most)f
Fr(k)j Fs(other)f(edg)o(es)g(for)f(some)g(constant)i
Fr(k)s Fs(.)j(Then)22 b(ther)m(e)i(e)n(xists)g(some)e
Fr(r)2737 4228 y Fz(0)2782 4261 y Fs(whic)o(h)h(is)f(a)h(function)i(of)
d Fr(p)3628 4228 y Fz(0)3651 4261 y Fr(;)15 b(k)26 b
Fs(and)0 4374 y(independent)h(of)d Fr(n)e Fs(suc)o(h)i(that)g
Fr(\026)h Fq(\027)g Fr(\031)1218 4389 y Fn(r)1252 4370
y Fm(0)1278 4374 y Fs(.)j(Furthermor)m(e)d(by)f(incr)m(easing)i
Fr(p)2376 4341 y Fz(0)2399 4374 y Fs(,)c Fr(r)2488 4341
y Fz(0)2534 4374 y Fs(could)j(be)e(made)h(arbitr)o(arily)i(close)f(to)e
Fp(1)p Fs(.)141 4550 y Fu(Intuiti)n(v)o(ely)38 b(speaking)g(Theorem)e
(20)f(states)i(that)f(if)g(we)e(ha)n(v)o(e)i(a)g(tw)o(o)f(dimensional)j
(grid,)h(and)d(each)g(edge)g(f)o(ails)0 4663 y(`almost')c
(independently)k(from)31 b(all)g(other)h(edges,)i(then)e(by)f(reducing)
i(the)f(f)o(ailure)g(probability)-6 b(,)36 b(we)30 b(may)h(think)h(as)f
(if)0 4775 y(each)36 b(edge)h(f)o(ailed)f(independently)-6
b(.)69 b(Note)36 b(that)g(the)f(e)o(xistence)j(of)d(a)g(left-right)j
(path)e(in)g(the)f(grid)i(is)e(an)g(increasing)0 4888
y(e)n(v)o(ent.)28 b(The)21 b(diameter)i(of)e(a)g(connected)j(component)
g(in)d(the)h(dual)g(graph)g(\(which)g(is)f(bounded)j(in)d(Theorem)h
(8\))f(is)g(also)h(an)0 5001 y(increasing)h(function.)30
b(Theorem)21 b(20)f(implies)h(that)g(by)g(reducing)h(the)f(f)o(ailure)h
(probability)-6 b(,)24 b(we)c(may)g(use)g(these)i(theorems)0
5114 y(to)h(bound)i(those)g(random)g(v)n(ariables)g(in)f(the)f
(balanced)j(V)-12 b(oronoi)25 b(diagram.)141 5227 y(Denote)d(by)g
Fr(G)607 5241 y Fn(\026)654 5227 y Fp(\()p Fr(p)735 5194
y Fz(0)758 5227 y Fp(\))f Fu(the)h(random)g(graph)h(induced)g(by)e
Fq(f)p Fr(X)2011 5241 y Fn(e)2049 5227 y Fq(g)2094 5241
y Fn(e)p Fz(2)p Fn(G)2233 5227 y Fu(.)28 b(Denote)22
b(by)f Fr(G)2749 5241 y Fn(\031)2797 5227 y Fp(\()p Fr(r)2876
5194 y Fz(0)2899 5227 y Fp(\))g Fu(the)g(random)i(graph)f(induced)0
5340 y(by)i(the)f(product)j(measure)f(with)e(probability)k
Fr(r)1524 5307 y Fz(0)1546 5340 y Fu(.)1905 5589 y(16)p
eop end
%%Page: 17 17
TeXDict begin 17 16 bop 0 3 3882 4 v 0 1544 4 1541 v
51 1209 a @beginspecial 0 @llx 0 @lly 522 @urx 268 @ury
2834 @rwi 1417 @rhi @setspecial
%%BeginDocument: voronoi_quorum.eps
%!PS-Adobe-2.0 EPSF-1.2
%%Title: voronoi_quorum.FH9
%%Creator: FreeHand 9.0
%%CreationDate: Thu Jan 16 18:41:29 2003
%%BoundingBox: 0 0 522 268
%%FHPathName:E:\Writeups\Dynamic Quorums\voronoi_quorum.FH9
%ALDOriginalFile:E:\Writeups\Dynamic Quorums\voronoi_quorum.FH9
%ALDBoundingBox: -5 -496 607 296
%%FHPageNum:1
%%DocumentSuppliedResources: procset Altsys_header 4 0
%%ColorUsage: Color
%%DocumentProcessColors: Black
%%EndComments
%%BeginAGDEmbeddedDoc: version 1.0
%:s8W,W5t=="^::eu!!!\%GQG3VH(5W"Ps4qbGJ.aQQF-a-C9YD8
%:s8V96=Ti<@_pUA7$UNH3RXGhQ[@nOUBY(#V>8H>"i(>0rAVg[1PF6DV"VZM:il#@SmLmlD>VZM;+G+;?&Y1>@n!pE;eN7%qqSu;"X7s<-F2.0*pYMp][iTrHNA>/o>t:_j9dN2l7]'KM16df/WisHu$,5pAG%M2Y1+K#DZj2coEod/dpT<"i!\!X7Wi>4N)O$ac]m:krSOUQ3)fK1MXJ3&fn%-&C8AV(q[5ndf)d"5ccl225u^b+`sV.5d;o&EQViLc$t:mDBokH7+b:(55YX6OE6[Oc,\MO"rOWFuf7uID*Z.,78ca%8e$1j>\Jn@]7HLA!10T#s\G$_E>9RX-uM2:i!43"8"qTr4ctXn&c6YZOMM5#/00?[8pYl"'m^2\jg+MPYWK_B\OTlRRaW\U0QhEhKG-D
%:WIZ'shV';9(65g0NpV";J,%c$]C3H\7m/.aJRA\Iafm=Q=S,s'EP)iL78?I)?*W4/WMoK)q*a$-psM[lj/g+lV'VBOMbC++=-Q]aJfmGK_l'0el/C.0VkfU_B=r:%;-2?B[l'mC%.2$Op&a;U5rE>l@d59dTEqsne3hmG:HqpdQ(Fg0oE3LWisn+5nXTo]1Em-A
%:n#+W=R)):!n3u'PCU$@M.e)[1<tksMFBWf$6J7*i""I'NSNiWb2uc,P]I/6XZ%+ITM'5\L^)<=JJlsH7)cg-`?jWr_eZ9P.i-GZ/ZGl3o"k#KlI.f%bbUs:,u[I'Q)J^Xj;4R7+C7[,d83NTE;u;'*96SJ[hkC(G4*3MAbO#eKcDR/-mM"r79cgR@,^!a
%:'_P/%4q83=#$2tKG=8AC64+sf7uKES2Do\I%AZC_.'l.=VdcIu=Aa"l5TS>^I#/E?H6_L2QIHbN5#0T^,tuS>-387"ih")k0N*>3W&KQ2O!hRC6\sOXmiqM-"DNfoT.&u-8j.V7/]/2.=a`M$q$8F.<1b`,kA#-2OSf6FaQft%AkM5DrRq$rr"_IMebq:feL55$c[-C%]A7:aAr$eW8](jp2kMeRsbcF05EJNpM)\
%:,dp$++fg*PcjGF?7]OcIobL_:;$/8G])r`-DS`J0;Z/(BDlM5D2)o2jN%FBLlj=ufkD4F7X^2#("%Z63Wu'dfrR_iSWa@"9fihZY""@8X#id;+XtWbe8CUjZF[Zb8=FCk4n%c([;LP.8\'aL$5i7)t+feC7OLlJUKotXHU>AqO@m9-KU`ukcLO(sU.u[G7+R8-(F[Zb8=FDEYCZ(j>;S?&ZA_&7sWB]suLW&kU?n/JY<1LgmA1N1o
%:X>*V$Of7I,gnuL[L3+093a0p:J6cTZqI3;d?`P\l+NW4b4IY-^]cfO+2j^bOLNj(ob5;e2o($9b!+cr<1W:5[@foHBkF=HqtV]2)R@*oj=CbR'C?6c.Ug)k%m.M6T^m15n1\)17`:o=3Okm>Tk\U-]q]l8"FTNBhWM@Qg6Do)5b"%LltEM'pF^n=*G[\:L[B2=1KtD`:lb-rOHQ.LZROB\UfB/?^HZ:1D/7[
%:^e]qKE*Asci?iR.U)dk@1()^Np0dOTcOK3E;B.==%Q53>Q%"KLE%?Xh>)->#i?IYC'D+5g/*&`"9os]9]0`R9D;p()ZIGIHoK\EW`a_1KK=O=L_eO2TVB$@6OCO&]iK/UO.'u%j+V*>9K@#aZ6?\Fu(a4Tqp\eBlhF"=S".^B7+ffh'kt_jkB[-PuEPQWP[1G_hg#:7RhOYjL:reA;<;RnZti]eR=4m@'5sP8tqjF*KhhQ":(mGf;>:]i>d/9*/9+d)Z;H0b)APPhTn%dd;e]3&5&UA1Ag_U
%:$9>I7Tpq.164PS5WXjWVO@,3C=q?oc%ZQ,!@^$PeLr[]L?n(.J;K,8?;TL#!Z'ul7d*cqerCU8]dSS,t/5r%"?Z.fBBK8C2@BP\Z@q#?GbS>0^En'5.64,_0$lH.HD'*n%JfUKcF8*eo$-TEi9nM/J(lpBnLO([C!b]Tf0\BTNupKZs#dc+c#JY:hCV4$EXfaLr3'Vn.9+Ma=(SSVdYTu^.,0@Zf3Z445>akW.U$qFsoW^L@9;b
%:ZWE,eLHXWN>W_F\ZBFO8MX9h*S16lsU"*ST3/l2oMB9jD_\7")?*DZ@n/pXD8itscEJl!8O<$7T%LTs+bqiBd1daX39tsF]KXBnQmh%B]7*9oLRq!SY9ujcLQ6oX!X'6YkR3(#!_X\'nT,7&LuqRUTe>igO5q$rW%13J>p_[q+p+b^o)MpUc$[[CDY
%:<+tNRFS[ZTMQrkXLiJK98W\9+1($$`+[Z'6Y0cJ'OuVBnR6#FJ9jjOo)27F-:6tTOBQ\Pg*&.Af3&l[9Eu[?;&.T2Mk.Zh:_T8)/f0m;KWQP9=Nu$`+,(uKd-)b!3<)$esqAZ.m?E<\:N9\ST*Cja<`dd9MUf%@g^iZW,LuOHqSWU'OD'@5Vl(`Jqif+73URuCet.:_*%!*>B*Vsdh.U>SGL.@[JV-:i$HWkH
%:_gdT^AF6T+(W^BR;905/rK+n;(4''3VeGauOP#Kh'sd[-KXSa"@ANaHU-;SX1\F%@,)!%H+`a;q$I(ch=aSD&p`_FX@[U-;e^]AuO3AG(kRr\E25@ANb_U-;)JB<<'"t?PB9M#nlS;6<51g;gXY=_FX>Q7/^;kcJrY",S[OFcTDuZ=CJ$%Q_If^eJ0s'@WfCeGquES;Z/+CT<$J4Dirrh4:)]gh>%KEng$cF8G2utFhCYM4N6<";"$]%$A4Wn+d)D9
%:6_eYo6KnHJeaR4Q9B[>kb?"T;f:;$>GFd]@PSS4TL_ODY,bs;*U\P@M^q!GQFG\P$!OQ8DDJ7l;PcH"jS>5^40G?p@J^[b'h]+]J8]t)GED<8`j8Z@rU\qIfCCL3#"b2gqcdos;P2nVVTmS$K[h&CN3f(sM%h@1W73QeN/Y6Oo!)_7L#dhVbNEnh(X5NCdIS"dEAOp>kNY,]q\t
%:f;[jld8bEa6bF44r[RDD#(Ne@f3NXE6G.56*rYM=J8aoNMhSW&a`@j*],J>Ui6Aa^mg$^6&`PB0q/Ns*HOKUIXEjLPhG$RJr!7PFEF#1:YMSQr7sHs?H#=(_K?]PA$9SR>Zh!r"De4aV'n0MAf+WUGXLs#!__;YWn*W11[/k1Qr&S#,",(kkOr$@An`!pR;dP%ED@Q,ZJ_'tjZ5:/snAC0\ChY!"_mnr\Q`CCEDXridbTJ]DAknD2
%:ZrSK\>W`PlrrcS3="[f7,-JUFi!g:Tm31?Q]liaOe@?E@,-oM<]1dHnKQrJRrX[qp!$8NBI.%e2HOr#Fe.%9RGkF+WoL%IqU8f"%-bmfq\aX5>2]XUXf8iU\[H.tJdFodbjk
%:GuKC*0#V6agfrbSI;a*i9G?8Y6G/;)jVj1u"(#B;h[JK&7JUaaN'Mgsi)^23hjW^C_RhJ>l[V)nJCbN\b0%=oGkWS2cBn#\N\UPBn8Hl?B+&WFM"_[4OJh[Nd%9FN_Sb,(:d=,'pj<.XhZ?$#p*9KjWOZ&sS'Ee&5A6;]@X/0!k1.!/6ca=\oX=K9FfC1p$sq)\IFhD0/mRRrlXo8D49Wb:n_1/XY3mM@Eo4d;0_0M-%c/:qF1c=_
%:r_tnrnYjRjQPG3Z0:[([HD*%@#.bU4Dej"hNM8.L3>KsFRY94fdqAqk6!)KN\sfdu\QBh,+0/T^@SoWU?&o.1eQDIMN)nl'qM\1r?g&d6ND@l8qO7CYBgpcaA$Sd,e(h;efqs`hcfCJeVPC];F>4T"DPi322*FZPP@sG\Il#GV@X_uC2+,W-1X_4?A'HthhFobibu?LTbVZZM!^^h-XL[**l7OW'@EjLDlpnP7(k]U4#[RQ"$m$:?JpH)lol;0.k'lPddL4T31[$VkJ&[Q,PSm[P]**Yg=o$RDJ5MX.<oDcqM%@sn!dN\%>+
%:num63N2:YPG`QP2Ys`''^1PU_8'UCdEgF#9#cB8Wf^(5$&ff4F3eFiHm(l)n]`p%[rnoSZRZGEO&'DOr=8V/8]#l`s"`1I1FU%:Kfj"BLST8VW.7`GX#.+*k[s[$;;M)3f/1LJ+cT'%*f%nR`P`pf'As"MuQ"]!@f>:Vk2oJZa]J2>HPBSR@)dQTMgp)pAI-S+XCJj>NgR$LCY?LpKO!ANAfZE3j@:[K"_7Ger9`3+99]M,Ybc.W5
%:iGrS)@(k'fVD`l'8*O,Bg_;:-H>kl_6RlW4id2Zmk&_YMBGR%7;iLoq%&VZi2r(nkH)%>r[:GRHpPeFC4:*YK.@\.id+eK]T#"8b2479=41_;r\>5#61iWQ2Aaj9-\]nX*k8NSWe5!/@be7uO[(q:Q[Wn:^mq1KT:)?Fs-7@C_`giRsR.P4?i&&!9Ee`U"pc4$JV-)#Rq-7A_j31ZbF&rZ,Q?/D'2;(gg$06[Qk-_&IP:B5KX)u,f
%:X%VplKgf#)ib:.ebH-G-dGZbtMslAp5*\UsH..QDlHQ!!Kgf"l=MDc?\u*b'no"iaP'[<$Atf!=X9'&LBQrZ=OC-?j0>HD[r.=p]$h?CAjn0Y@ZQQGI63$r_qW/1Ef&M6jsrRCg!7L/sTUEDIr@o8&W:DXK5pj=FK1r_,)m"%">`h:*CQT\"K&l%;')g0,9a290o)`b'8]E>]4'^3N][hoK1pAGuU3V8if@EItXj
%:,Q[32N(.MtART%aAH2bs6t(1K<,$2\!!0-$6tp.Q!!/ut;fm%oDJ&qM'2W7\F)Y]#FD5o07riA7]c]!&[)ZDe!P_!NoHtE)0qX!!%43Ch7HpDKGjZj\pGA@W-'VBju*kEd7WcJ5frd<+06PAH2]<5t==4Df0Xs!(fOrCi=>P!!,PcEc5nj[qh.h
%:F*%B_6;V]@@qB1nEb,4N`Csu`APcfW!!(>=Ble@r!96dK@;TQU!/X0ZB6A6+!!"Q:@<6-m7VQ[T!!%(/Ch7HWBle@r!-CYGASk7aDfABkF8u:m6=FqL@n^TSAH2_.7s/NVATIhPG#NL.Ch6F`DfABkF8u>^;fHYs6Z6dZE]*mt7mh32Ch7*uDfPgX]1cXYAT@bO%8V.UC]FJg:gnHZ!!&]_Ec6)>!!"<2EcQ)B:gnHZ!!!!"Kk(28
%:NWH$YEWN'=EWN'=EWFDc`;mjW`;mjW`;mjW`;mjW`;mjWcN#6k,lf4k,lf4k,lf4kcN0pEEWN'=EWN'=EWN'=EWN'=EWFDcirDXNF9(5"VZ==/8HirJ*>/HFf3Fo^P&huMd;huIj"/c]to/c]to/c]to/c]to/c]to/c]to/c]to/c]to/c]to/c]to/c]to/c]to/c]to/c]to51uRO
%:/c]to/c]to/c]to/c]to/c]to/c]to/c]to/c]to/c]to/c]to/c[I'F9*uo/HBkn/c]to/c]to/c]to/c]to/c]to/c]to/c]to/c]to/c]to/c]to/c]to/c]to/c]to/c]to/c]to/c]to/c]to/c]to/c]to/c]to/c]to/c[I'F9*uoF9*uoF9*uoF9*uoF9*uoF9*uoF9*uoF9*uoF9*uoF9*uoF9*uoF9*uoF9*uoN8L>H
%:F9*uoF9*uoF9*uoF9*uoF9*uoF9*uoF9*uoF9*uoF9*uoF9*uoF9*uoF9*uoF9*uoF9*uoF9*uoF9*uoF9*uoF9*uoF9*uoF9*uoF9*uoF9*uoF9*uoF9*uoF9*uoF9*uoF9*uoF9*uoF9*uoF9*uo/-'bm%01JN%01JN%01JN%01JN%01JN%01JN%01JN%01JN%01JN%01JN%01JN%01JN%01JN%01JN%01JN%01JN%01JN?INuB
%:%01JN%01JN%01JN%01JN%01JN%01JN%01JN%01JN%01JN%01JN%01JN%01JN%01JN%0.s[F9)gNF9)gNF9)gNF9)gNF9)gNF9)gNF9)gNF9)gNF9)gNF9)gNF9)gNF9)gNF9)gNF9)gNF9)gNF9)gNF9)gNF9)gNF9*uo/HBkn/c]to/caf1VZ==/cN0pDirOZ1/-2XK$N[.+XoW\GcN&%ecN+[ZhuW-EjT%.`Wq:06+
%:F9(5!T`M:rhuMd`WklB`DklF6RirJ!;In"6_FCdjO@rGmh!<<*!rr<$!=58eC
%:~>
%%EndAGDEmbeddedDoc
%%BeginResource: procset Altsys_header 4 0
userdict begin /AltsysDict 300 dict def end
AltsysDict begin
/bdf{bind def}bind def
/xdf{exch def}bdf
/defed{where{pop true}{false}ifelse}bdf
/ndf{1 index where{pop pop pop}{dup xcheck{bind}if def}ifelse}bdf
/d{setdash}bdf
/h{closepath}bdf
/H{}bdf
/J{setlinecap}bdf
/j{setlinejoin}bdf
/M{setmiterlimit}bdf
/n{newpath}bdf
/N{newpath}bdf
/q{gsave}bdf
/Q{grestore}bdf
/w{setlinewidth}bdf
/Xic{matrix invertmatrix concat}bdf
/Xq{matrix currentmatrix mark}bdf
/XQ{cleartomark setmatrix}bdf
/sepdef{
dup where not
{
AltsysSepDict
}
if
3 1 roll exch put
}bdf
/st{settransfer}bdf
/colorimage defed /_rci xdf
/cntr 0 def
/readbinarystring{
/cntr 0 def
2 copy readstring
{
{
dup
(\034) search
{
length exch pop exch
dup length 0 ne
{
dup dup 0 get 32 sub 0 exch put
/cntr cntr 1 add def
}
{
pop 1 string dup
0 6 index read pop 32 sub put
}ifelse
3 copy
putinterval pop
1 add
1 index length 1 sub
1 index sub
dup 0 le {pop pop exit}if
getinterval
}
{
pop exit
} ifelse
} loop
}if
cntr 0 gt
{
pop 2 copy
dup length cntr sub cntr getinterval
readbinarystring
} if
pop exch pop
} bdf
/_NXLevel2 defed {
_NXLevel2 not {
/colorimage where {
userdict eq {
/_rci false def
} if
} if
} if
} if
/md defed{
md type /dicttype eq {
/colorimage where {
md eq {
/_rci false def
}if
}if
/settransfer where {
md eq {
/st systemdict /settransfer get def
}if
}if
}if
}if
/setstrokeadjust defed
{
true setstrokeadjust
/C{curveto}bdf
/L{lineto}bdf
/m{moveto}bdf
}
{
/dr{transform .25 sub round .25 add
exch .25 sub round .25 add exch itransform}bdf
/C{dr curveto}bdf
/L{dr lineto}bdf
/m{dr moveto}bdf
/setstrokeadjust{pop}bdf
}ifelse
/privrectpath {
4 -2 roll m
dtransform round exch round exch idtransform
2 copy 0 lt exch 0 lt xor
{dup 0 exch rlineto exch 0 rlineto neg 0 exch rlineto}
{exch dup 0 rlineto exch 0 exch rlineto neg 0 rlineto}
ifelse
closepath
}bdf
/rectclip{newpath privrectpath clip newpath}def
/rectfill{gsave newpath privrectpath fill grestore}def
/rectstroke{gsave newpath privrectpath stroke grestore}def
/_fonthacksave false def
/currentpacking defed
{
/_bfh {/_fonthacksave currentpacking def false setpacking} bdf
/_efh {_fonthacksave setpacking} bdf
}
{
/_bfh {} bdf
/_efh {} bdf
}ifelse
/packedarray{array astore readonly}ndf
/`
{
false setoverprint
/-save0- save def
5 index concat
pop
storerect left bottom width height rectclip
pop
/MMdict_count countdictstack def
/MMop_count count 1 sub def
userdict begin
/showpage {} def
0 setgray 0 setlinecap 1 setlinewidth
0 setlinejoin 10 setmiterlimit [] 0 setdash newpath
} bdf
/currentpacking defed{true setpacking}if
/min{2 copy gt{exch}if pop}bdf
/max{2 copy lt{exch}if pop}bdf
/xformfont { currentfont exch makefont setfont } bdf
/fhnumcolors 1
statusdict begin
/processcolors defed
{
pop processcolors
}
{
/deviceinfo defed {
deviceinfo /Colors known {
pop deviceinfo /Colors get
} if
} if
} ifelse
end
def
% pix = x^2 + y^2
/printerRes
gsave
matrix defaultmatrix setmatrix
72 72 dtransform
abs exch abs
max
grestore
def
/graycalcs
[
{Angle Frequency}
{GrayAngle GrayFrequency}
{0 Width Height matrix defaultmatrix idtransform
dup mul exch dup mul add sqrt 72 exch div}
{0 GrayWidth GrayHeight matrix defaultmatrix idtransform
dup mul exch dup mul add sqrt 72 exch div}
] def
/calcgraysteps {
forcemaxsteps
{
maxsteps
}
{
/currenthalftone defed
{currenthalftone /dicttype eq}{false}ifelse
{
currenthalftone begin
HalftoneType 4 le
{graycalcs HalftoneType 1 sub get exec}
{
HalftoneType 5 eq
{
Default begin
{graycalcs HalftoneType 1 sub get exec}
end
}
{0 60}
ifelse
}
ifelse
end
}
{
currentscreen pop exch
}
ifelse
printerRes 300 max exch div exch
2 copy
sin mul round dup mul
3 1 roll
cos mul round dup mul
add 1 add
dup maxsteps gt {pop maxsteps} if
dup minsteps lt {pop minsteps} if
}
ifelse
} bdf
/nextrelease defed {
/languagelevel defed not {
/framebuffer defed {
0 40 string framebuffer 9 1 roll 8 {pop} repeat
dup 516 eq exch 520 eq or
{
/fhnumcolors 3 def
/currentscreen {60 0 {pop pop 1}}bdf
/calcgraysteps {maxsteps} bdf
}if
}if
}if
}if
fhnumcolors 1 ne {
/calcgraysteps {maxsteps} bdf
} if
/currentpagedevice defed {
currentpagedevice /PreRenderingEnhance known
{
currentpagedevice /PreRenderingEnhance get
{
/calcgraysteps
{
forcemaxsteps
{maxsteps}
{256 maxsteps min}
ifelse
} def
} if
} if
} if
/gradfrequency 144 def
printerRes 1000 lt {
/gradfrequency 72 def
} if
/adjnumsteps {
dup dtransform abs exch abs max
printerRes div
gradfrequency mul
round
5 max
min
}bdf
/goodsep {
spots exch get 4 get dup sepname eq exch (_vc_Registration) eq or
}bdf
/BeginGradation defed
{/bb{BeginGradation}bdf}
{/bb{}bdf}
ifelse
/EndGradation defed
{/eb{EndGradation}bdf}
{/eb{}bdf}
ifelse
/bottom -0 def
/delta -0 def
/frac -0 def
/height -0 def
/left -0 def
/numsteps1 -0 def
/radius -0 def
/right -0 def
/top -0 def
/width -0 def
/xt -0 def
/yt -0 def
/df currentflat def
/tempstr 1 string def
/clipflatness currentflat def
/inverted?
0 currenttransfer exec .5 ge def
/tc1 [0 0 0 1] def
/tc2 [0 0 0 1] def
/storerect{/top xdf /right xdf /bottom xdf /left xdf
/width right left sub def /height top bottom sub def}bdf
/concatprocs{
systemdict /packedarray known
{dup type /packedarraytype eq 2 index type /packedarraytype eq or}{false}ifelse
{
/proc2 exch cvlit def /proc1 exch cvlit def
proc1 aload pop proc2 aload pop
proc1 length proc2 length add packedarray cvx
}
{
/proc2 exch cvlit def /proc1 exch cvlit def
/newproc proc1 length proc2 length add array def
newproc 0 proc1 putinterval newproc proc1 length proc2 putinterval
newproc cvx
}ifelse
}bdf
/i{dup 0 eq
{pop df dup}
{dup} ifelse
/clipflatness xdf setflat
}bdf
version cvr 38.0 le
{/setrgbcolor{
currenttransfer exec 3 1 roll
currenttransfer exec 3 1 roll
currenttransfer exec 3 1 roll
setrgbcolor}bdf}if
/vms {/vmsv save def} bdf
/vmr {vmsv restore} bdf
/vmrs{vmsv restore /vmsv save def}bdf
/eomode{
{/filler /eofill load def /clipper /eoclip load def}
{/filler /fill load def /clipper /clip load def}
ifelse
}bdf
/normtaper{}bdf
/logtaper{9 mul 1 add log}bdf
/CD{
/NF exch def
{
exch dup
/FID ne 1 index/UniqueID ne and
{exch NF 3 1 roll put}
{pop pop}
ifelse
}forall
NF
}bdf
/MN{
1 index length
/Len exch def
dup length Len add
string dup
Len
4 -1 roll
putinterval
dup
0
4 -1 roll
putinterval
}bdf
/RC{4 -1 roll /ourvec xdf 256 string cvs(|______)anchorsearch
{1 index MN cvn/NewN exch def cvn
findfont dup maxlength dict CD dup/FontName NewN put dup
/Encoding ourvec put NewN exch definefont pop}{pop}ifelse}bdf
/RF{
dup
FontDirectory exch
known
{pop 3 -1 roll pop}
{RC}
ifelse
}bdf
/FF{dup 256 string cvs(|______)exch MN cvn dup FontDirectory exch known
{exch pop findfont 3 -1 roll pop}
{pop dup findfont dup maxlength dict CD dup dup
/Encoding exch /Encoding get 256 array copy 7 -1 roll
{3 -1 roll dup 4 -2 roll put}forall put definefont}
ifelse}bdf
/RCJ{4 -1 roll
/ourvec xdf
256 string cvs
(|______) anchorsearch
{pop
cvn
dup FDFJ
exch
1 index
eq
{
_bfh findfont _efh
dup
maxlength dict
CD
dup
/FontName
3 index
put
dup
/Encoding ourvec put
1 index
exch
definefont
pop
}
{exch pop}
ifelse
}
{pop}
ifelse
}bdf
/RFJ{
dup
FontDirectory exch
known
{pop 3 -1 roll pop}
{RCJ}
ifelse
}bdf
/hasfont
{
/resourcestatus where
{
pop
/Font resourcestatus
{
pop pop true
}
{
false
}
ifelse
}
{
dup FontDirectory exch known
{pop true}
{
256 string
cvs
(fonts/) exch MN
status
{pop pop pop pop true}
{false}
ifelse
}
ifelse
}
ifelse
}bdf
/FDFJ
{
dup
hasfont
not
{
pop
/Ryumin-Light-83pv-RKSJ-H
hasfont
{
/Ryumin-Light-83pv-RKSJ-H
}
{
/Courier
}
ifelse
}
if
}bdf
/FFJ{
_bfh
dup
256 string cvs
(|______)exch MN
cvn
dup
FontDirectory
exch known
{
exch
pop
findfont
3 -1 roll
pop
}
{
pop
FDFJ
dup findfont
dup maxlength dict
CD
dup dup
/Encoding exch
/Encoding get
256 array copy
7 -1 roll
{
3 -1 roll
dup
4 -2 roll
put
}forall
put
definefont
}
ifelse
_efh
}bdf
/GS {
dup
hasfont
{
findfont
exch makesetfont
exch
pop
ts
}
{
pop pop pop
ts
} ifelse
} bdf
/RCK{4 -1 roll
/ourvec xdf
256 string cvs
(|______) anchorsearch
{pop
cvn
dup FDFK
exch
1 index
eq
{
_bfh findfont _efh
dup
maxlength dict
CD
dup
/FontName
3 index
put
dup
/Encoding ourvec put
1 index
exch
definefont
pop
}
{exch pop}
ifelse
}
{pop}
ifelse
}bdf
/RFK{
dup
FontDirectory exch
known
{pop 3 -1 roll pop}
{RCK}
ifelse
}bdf
/hasfont
{
/resourcestatus where
{
pop
/Font resourcestatus
{
pop pop true
}
{
false
}
ifelse
}
{
dup FontDirectory exch known
{pop true}
{
256 string
cvs
(fonts/) exch MN
status
{pop pop pop pop true}
{false}
ifelse
}
ifelse
}
ifelse
}bdf
/FDFK
{
dup
hasfont
not
{
pop
/JCsm
hasfont
{
/JCsm
}
{
/Courier
}
ifelse
}
if
}bdf
/FFK{
_bfh
dup
256 string cvs
(|______)exch MN
cvn
dup
FontDirectory
exch known
{
exch
pop
findfont
3 -1 roll
pop
}
{
pop
FDFK
dup findfont
dup maxlength dict
CD
dup dup
/Encoding exch
/Encoding get
256 array copy
7 -1 roll
{
3 -1 roll
dup
4 -2 roll
put
}forall
put
definefont
}
ifelse
_efh
}bdf
/RCTC{4 -1 roll
/ourvec xdf
256 string cvs
(|______) anchorsearch
{pop
cvn
dup FDFTC
exch
1 index
eq
{
_bfh findfont _efh
dup
maxlength dict
CD
dup
/FontName
3 index
put
dup
/Encoding ourvec put
1 index
exch
definefont
pop
}
{exch pop}
ifelse
}
{pop}
ifelse
}bdf
/RFTC{
dup
FontDirectory exch
known
{pop 3 -1 roll pop}
{RCTC}
ifelse
}bdf
/FDFTC
{
dup
hasfont
not
{
pop
/DFMing-Lt-HK-BF
hasfont
{
/DFMing-Lt-HK-BF
}
{
/Courier
}
ifelse
}
if
}bdf
/FFTC{
_bfh
dup
256 string cvs
(|______)exch MN
cvn
dup
FontDirectory
exch known
{
exch
pop
findfont
3 -1 roll
pop
}
{
pop
FDFTC
dup findfont
dup maxlength dict
CD
dup dup
/Encoding exch
/Encoding get
256 array copy
7 -1 roll
{
3 -1 roll
dup
4 -2 roll
put
}forall
put
definefont
}
ifelse
_efh
}bdf
/fps{
currentflat
exch
dup 0 le{pop 1}if
{
dup setflat 3 index stopped
{1.3 mul dup 3 index gt{pop setflat pop pop stop}if}
{exit}
ifelse
}loop
pop setflat pop pop
}bdf
/fp{100 currentflat fps}bdf
/clipper{clip}bdf
/W{/clipper load 100 clipflatness dup setflat fps}bdf
/AVec 256 array def
AVec 0 /Helvetica findfont
/Encoding get 0 256 getinterval putinterval
/ANSIPatch[
16#0/grave 16#1/acute 16#2/circumflex 16#3/tilde 16#4/macron 16#5/breve
16#6/dotaccent 16#7/dieresis 16#8/ring 16#9/cedilla 16#A/hungarumlaut
16#B/ogonek 16#C/caron 16#D/dotlessi 16#27/quotesingle 16#60/grave
16#7C/bar 16#82/quotesinglbase 16#83/florin 16#84/quotedblbase 16#85
/ellipsis 16#86/dagger 16#87/daggerdbl 16#89/perthousand 16#8A/Scaron
16#8B/guilsinglleft 16#8C/OE 16#91/quoteleft 16#92/quoteright 16#93
/quotedblleft 16#94/quotedblright 16#95/bullet 16#96/endash 16#97/emdash
16#99/trademark 16#9A/scaron 16#9B/guilsinglright 16#9C/oe
16#9F/Ydieresis 16#A0/space 16#A4/currency 16#A6/brokenbar
16#A7/section 16#A8/dieresis 16#A9/copyright 16#AA/ordfeminine 16#AB/guillemotleft
16#AC/logicalnot 16#AD/hyphen 16#AE/registered 16#AF/macron 16#B0/degree
16#B1/plusminus 16#B2/twosuperior 16#B3/threesuperior 16#B4/acute 16#B5/mu
16#B6/paragraph 16#B7/periodcentered 16#B8/cedilla 16#B9/onesuperior
16#BA/ordmasculine 16#BB/guillemotright 16#BC/onequarter 16#BD/onehalf
16#BE/threequarters 16#BF/questiondown 16#C0/Agrave 16#C1/Aacute 16#C2/Acircumflex
16#C3/Atilde 16#C4/Adieresis 16#C5/Aring 16#C6/AE 16#C7/Ccedilla 16#C8/Egrave
16#C9/Eacute 16#CA/Ecircumflex 16#CB/Edieresis 16#CC/Igrave 16#CD/Iacute
16#CE/Icircumflex 16#CF/Idieresis 16#D0/Eth 16#D1/Ntilde 16#D2/Ograve
16#D3/Oacute 16#D4/Ocircumflex 16#D5/Otilde 16#D6/Odieresis 16#D7/multiply
16#D8/Oslash 16#D9/Ugrave 16#DA/Uacute 16#DB/Ucircumflex 16#DC/Udieresis
16#DD/Yacute 16#DE/Thorn 16#DF/germandbls 16#E0/agrave 16#E1/aacute
16#E2/acircumflex 16#E3/atilde 16#E4/adieresis 16#E5/aring 16#E6/ae
16#E7/ccedilla 16#E8/egrave 16#E9/eacute 16#EA/ecircumflex 16#EB/edieresis
16#EC/igrave 16#ED/iacute 16#EE/icircumflex 16#EF/idieresis 16#F0/eth
16#F1/ntilde 16#F2/ograve 16#F3/oacute 16#F4/ocircumflex 16#F5/otilde
16#F6/odieresis 16#F7/divide 16#F8/oslash 16#F9/ugrave 16#FA/uacute
16#FB/ucircumflex 16#FC/udieresis 16#FD/yacute 16#FE/thorn 16#FF/ydieresis
] def
127 1 159 { AVec exch/bullet put } for
ANSIPatch aload pop ANSIPatch length 2 idiv{AVec 3 1 roll put}repeat
/DoPatch { dup /CharStrings known
{ setfont
0 1 255 { dup
currentfont
/Encoding get
exch get
currentfont /CharStrings get
exch known
{pop} {currentfont /Encoding get exch /bullet put} ifelse
} for
} {pop} ifelse
} def
/findheaderfont {
AVec 256 array copy
/FHT /|______Helvetica dup RF findfont def
FHT DoPatch
FHT
} def
end %. AltsysDict
%%EndResource
%%EndProlog
%%BeginSetup
AltsysDict begin
_bfh
_efh
end %. AltsysDict
%%EndSetup
AltsysDict begin
/onlyk4{false}ndf
/ccmyk{dup 5 -1 roll sub 0 max exch}ndf
/cmyk2gray{
4 -1 roll 0.3 mul 4 -1 roll 0.59 mul 4 -1 roll 0.11 mul
add add add 1 min neg 1 add
}bdf
/setcmykcolor{1 exch sub ccmyk ccmyk ccmyk pop setrgbcolor}ndf
/maxcolor {
max max max
} ndf
/maxspot {
pop
} ndf
/setcmykcoloroverprint{4{dup -1 eq{pop 0}if 4 1 roll}repeat setcmykcolor}ndf
/findcmykcustomcolor{5 packedarray}ndf
/setcustomcolor{exch aload pop pop 4{4 index mul 4 1 roll}repeat setcmykcolor pop}ndf
/setseparationgray{setgray}ndf
/setoverprint{pop}ndf
/currentoverprint false ndf
/cmykbufs2gray{
0 1 2 index length 1 sub
{
4 index 1 index get 0.3 mul
4 index 2 index get 0.59 mul
4 index 3 index get 0.11 mul
4 index 4 index get
add add add cvi 255 min
255 exch sub
2 index 3 1 roll put
}for
4 1 roll pop pop pop
}bdf
/colorimage{
pop pop
[
5 -1 roll/exec cvx
6 -1 roll/exec cvx
7 -1 roll/exec cvx
8 -1 roll/exec cvx
/cmykbufs2gray cvx
]cvx
image
}
%. version 47.1 on Linotronic of Postscript defines colorimage incorrectly (rgb model only)
version cvr 47.1 le
statusdict /product get (Lino) anchorsearch{pop pop true}{pop false}ifelse
and{userdict begin bdf end}{ndf}ifelse
fhnumcolors 1 ne {/yt save def} if
/customcolorimage{
aload pop
(_vc_Registration) eq
{
pop pop pop pop separationimage
}
{
/ik xdf /iy xdf /im xdf /ic xdf
ic im iy ik cmyk2gray /xt xdf
currenttransfer
{dup 1.0 exch sub xt mul add}concatprocs
st
image
}
ifelse
}ndf
fhnumcolors 1 ne {yt restore} if
fhnumcolors 3 ne {/yt save def} if
/customcolorimage{
aload pop
(_vc_Registration) eq
{
pop pop pop pop separationimage
}
{
/ik xdf /iy xdf /im xdf /ic xdf
1.0 dup ic ik add min sub
1.0 dup im ik add min sub
1.0 dup iy ik add min sub
/ic xdf /iy xdf /im xdf
currentcolortransfer
4 1 roll
{dup 1.0 exch sub ic mul add}concatprocs 4 1 roll
{dup 1.0 exch sub iy mul add}concatprocs 4 1 roll
{dup 1.0 exch sub im mul add}concatprocs 4 1 roll
setcolortransfer
{/dummy xdf dummy}concatprocs{dummy}{dummy}true 3 colorimage
}
ifelse
}ndf
fhnumcolors 3 ne {yt restore} if
fhnumcolors 4 ne {/yt save def} if
/customcolorimage{
aload pop
(_vc_Registration) eq
{
pop pop pop pop separationimage
}
{
/ik xdf /iy xdf /im xdf /ic xdf
currentcolortransfer
{1.0 exch sub ik mul ik sub 1 add}concatprocs 4 1 roll
{1.0 exch sub iy mul iy sub 1 add}concatprocs 4 1 roll
{1.0 exch sub im mul im sub 1 add}concatprocs 4 1 roll
{1.0 exch sub ic mul ic sub 1 add}concatprocs 4 1 roll
setcolortransfer
{/dummy xdf dummy}concatprocs{dummy}{dummy}{dummy}
true 4 colorimage
}
ifelse
}ndf
fhnumcolors 4 ne {yt restore} if
/separationimage{image}ndf
/spotascmyk false ndf
/newcmykcustomcolor{6 packedarray}ndf
/inkoverprint false ndf
/setinkoverprint{pop}ndf
/setspotcolor {
spots exch get
dup 4 get (_vc_Registration) eq
{pop 1 exch sub setseparationgray}
{0 5 getinterval exch setcustomcolor}
ifelse
}ndf
/currentcolortransfer{currenttransfer dup dup dup}ndf
/setcolortransfer{st pop pop pop}ndf
/fas{}ndf
/sas{}ndf
/fhsetspreadsize{pop}ndf
/filler{fill}bdf
/F{gsave {filler}fp grestore}bdf
/f{closepath F}bdf
/S{gsave {stroke}fp grestore}bdf
/s{closepath S}bdf
userdict /islevel2
systemdict /languagelevel known dup
{
pop systemdict /languagelevel get 2 ge
} if
put
islevel2 not
{
/currentcmykcolor
{
0 0 0 1 currentgray sub
} ndf
} if
/tc
{
gsave
setcmykcolor currentcmykcolor
grestore
} bind def
/testCMYKColorThrough
{
tc add add add 0 ne
} bind def
/fhiscomposite where not {
userdict /fhiscomposite
islevel2
{
gsave 1 1 1 1 setcmykcolor currentcmykcolor grestore
add add add 4 eq
}
{
1 0 0 0 testCMYKColorThrough
0 1 0 0 testCMYKColorThrough
0 0 1 0 testCMYKColorThrough
0 0 0 1 testCMYKColorThrough
and and and
} ifelse
put
}
{ pop }
ifelse
/bc4 [0 0 0 0] def
/_lfp4 {
1 pop
/yt xdf
/xt xdf
/ang xdf
storerect
/taperfcn xdf
/k2 xdf /y2 xdf /m2 xdf /c2 xdf
/k1 xdf /y1 xdf /m1 xdf /c1 xdf
c1 c2 sub abs
m1 m2 sub abs
y1 y2 sub abs
k1 k2 sub abs
maxcolor
calcgraysteps mul abs round
height abs adjnumsteps
dup 1 lt {pop 1} if
1 sub /numsteps1 xdf
currentflat mark
currentflat clipflatness
/delta top bottom sub numsteps1 1 add div def
/right right left sub def
/botsv top delta sub def
{
{
W
xt yt translate
ang rotate
xt neg yt neg translate
dup setflat
/bottom botsv def
0 1 numsteps1
{
numsteps1 dup 0 eq {pop pop 0.5} {div} ifelse
taperfcn /frac xdf
bc4 0 c2 c1 sub frac mul c1 add put
bc4 1 m2 m1 sub frac mul m1 add put
bc4 2 y2 y1 sub frac mul y1 add put
bc4 3 k2 k1 sub frac mul k1 add put
bc4 vc
1 index setflat
{
mark {newpath left bottom right delta rectfill}stopped
{cleartomark exch 1.3 mul dup setflat exch 2 copy gt{stop}if}
{cleartomark exit}ifelse
}loop
/bottom bottom delta sub def
}for
}
gsave stopped grestore
{exch pop 2 index exch 1.3 mul dup 100 gt{cleartomark setflat stop}if}
{exit}ifelse
}loop
cleartomark setflat
}bdf
/bcs [0 0] def
/_lfs4 {
/yt xdf
/xt xdf
/ang xdf
storerect
/taperfcn xdf
/tint2 xdf
/tint1 xdf
bcs exch 1 exch put
tint1 tint2 sub abs
bcs 1 get maxspot
calcgraysteps mul abs round
height abs adjnumsteps
dup 2 lt {pop 2} if
1 sub /numsteps1 xdf
currentflat mark
currentflat clipflatness
/delta top bottom sub numsteps1 1 add div def
/right right left sub def
/botsv top delta sub def
{
{
W
xt yt translate
ang rotate
xt neg yt neg translate
dup setflat
/bottom botsv def
0 1 numsteps1
{
numsteps1 div taperfcn /frac xdf
bcs 0
1.0 tint2 tint1 sub frac mul tint1 add sub
put bcs vc
1 index setflat
{
mark {newpath left bottom right delta rectfill}stopped
{cleartomark exch 1.3 mul dup setflat exch 2 copy gt{stop}if}
{cleartomark exit}ifelse
}loop
/bottom bottom delta sub def
}for
}
gsave stopped grestore
{exch pop 2 index exch 1.3 mul dup 100 gt{cleartomark setflat stop}if}
{exit}ifelse
}loop
cleartomark setflat
}bdf
/_rfs6 {
/tint2 xdf
/tint1 xdf
bcs exch 1 exch put
/inrad xdf
/radius xdf
/yt xdf
/xt xdf
tint1 tint2 sub abs
bcs 1 get maxspot
calcgraysteps mul abs round
radius inrad sub abs
adjnumsteps
dup 1 lt {pop 1} if
1 sub /numsteps1 xdf
radius inrad sub numsteps1 dup 0 eq {pop} {div} ifelse
2 div /halfstep xdf
currentflat mark
currentflat clipflatness
{
{
dup setflat
W
0 1 numsteps1
{
dup /radindex xdf
numsteps1 dup 0 eq {pop pop 0.5} {div} ifelse
/frac xdf
bcs 0
tint2 tint1 sub frac mul tint1 add
put bcs vc
1 index setflat
{
newpath mark
xt yt radius inrad sub 1 frac sub mul halfstep add inrad add 0 360
{ arc
radindex numsteps1 ne
inrad 0 gt or
{
xt yt
numsteps1 0 eq
{ inrad }
{
radindex 1 add numsteps1 div 1 exch sub
radius inrad sub mul halfstep add inrad add
}ifelse
dup xt add yt moveto
360 0 arcn
} if
fill
}stopped
{cleartomark exch 1.3 mul dup setflat exch 2 copy gt{stop}if}
{cleartomark exit}ifelse
}loop
}for
}
gsave stopped grestore
{exch pop 2 index exch 1.3 mul dup 100 gt{cleartomark setflat stop}if}
{exit}ifelse
}loop
cleartomark setflat
}bdf
/_rfp6 {
1 pop
/k2 xdf /y2 xdf /m2 xdf /c2 xdf
/k1 xdf /y1 xdf /m1 xdf /c1 xdf
/inrad xdf
/radius xdf
/yt xdf
/xt xdf
c1 c2 sub abs
m1 m2 sub abs
y1 y2 sub abs
k1 k2 sub abs
maxcolor
calcgraysteps mul abs round
radius inrad sub abs
adjnumsteps
dup 1 lt {pop 1} if
1 sub /numsteps1 xdf
radius inrad sub numsteps1 dup 0 eq {pop} {div} ifelse
2 div /halfstep xdf
currentflat mark
currentflat clipflatness
{
{
dup setflat
W
0 1 numsteps1
{
dup /radindex xdf
numsteps1 dup 0 eq {pop pop 0.5} {div} ifelse
/frac xdf
bc4 0 c2 c1 sub frac mul c1 add put
bc4 1 m2 m1 sub frac mul m1 add put
bc4 2 y2 y1 sub frac mul y1 add put
bc4 3 k2 k1 sub frac mul k1 add put
bc4 vc
1 index setflat
{
newpath mark
xt yt radius inrad sub 1 frac sub mul halfstep add inrad add 0 360
{ arc
radindex numsteps1 ne
inrad 0 gt or
{
xt yt
numsteps1 0 eq
{ inrad }
{
radindex 1 add numsteps1 div 1 exch sub
radius inrad sub mul halfstep add inrad add
}ifelse
dup xt add yt moveto
360 0 arcn
} if
fill
}stopped
{cleartomark exch 1.3 mul dup setflat exch 2 copy gt{stop}if}
{cleartomark exit}ifelse
}loop
}for
}
gsave stopped grestore
{exch pop 2 index exch 1.3 mul dup 100 gt{cleartomark setflat stop}if}
{exit}ifelse
}loop
cleartomark setflat
}bdf
/lfp4{_lfp4}ndf
/lfs4{_lfs4}ndf
/rfs6{_rfs6}ndf
/rfp6{_rfp6}ndf
/cvc [0 0 0 1] def
/vc{
AltsysDict /cvc 2 index put
aload length dup 4 eq
{pop dup -1 eq{pop setrgbcolor}{setcmykcolor}ifelse}
{6 eq {sethexcolor} {setspotcolor} ifelse }
ifelse
}bdf
0 setseparationgray
/imgr {1692 1602 2304 2394 } def
/bleed 0 def
/clpr {1692 1602 2304 2394 } def
/xs 1 def
/ys 1 def
/botx 0 def
/overlap 0 def
/wdist 18 def
0 2 mul fhsetspreadsize
0 0 ne {/df 0 def /clipflatness 0 def} if
/maxsteps 256 def
/forcemaxsteps false def
/minsteps 0 def
userdict begin /AGDOrigMtx matrix currentmatrix def end
vms
-1697 -2098 translate
/currentpacking defed{false setpacking}if
/spots[
1 0 0 0 (Process Cyan) false newcmykcustomcolor
0 1 0 0 (Process Magenta) false newcmykcustomcolor
0 0 1 0 (Process Yellow) false newcmykcustomcolor
0 0 0 1 (Process Black) false newcmykcustomcolor
]def
n
[] 0 d
3.863708 M
1 w
0 j
0 J
false setoverprint
0 i
false eomode
[0 0 0 1]vc
vms
2154.5 2357 m
2145.5 2309.5 L
S
n
2123.5 2305 m
2080.5 2337 L
S
n
2080.5 2337 m
2080 2358 L
S
n
2080 2338 m
2058.5 2312 L
S
n
2058.5 2312 m
2059 2289 L
S
n
2058.5 2311.5 m
2008.5 2318.5 L
S
n
2009 2318.5 m
2002 2356.5 L
S
n
2008.5 2318 m
1994 2300.5 L
S
n
1978.5 2201 m
2021.5 2207.5 L
S
n
2021 2207.5 m
2024 2219 L
S
n
2020 2206 m
2041 2172 L
S
n
2041 2172 m
2104.5 2204.5 L
S
n
2104.5 2204.5 m
2088 2231 L
S
n
2105 2203.5 m
2124.5 2197.5 L
S
n
2124.5 2197.5 m
2154 2223.5 L
S
n
2154 2223.5 m
2200 2183 L
S
n
2123 2198 m
2133.5 2171 L
S
n
2133 2171 m
2150.5 2158 L
S
n
2150.5 2158 m
2199 2165.5 L
S
n
2150 2160 m
2131 2109 L
S
n
vmrs
2131.5 2172 m
2073 2151 L
S
n
2073 2151 m
2091 2110 L
S
n
2073.5 2152 m
2040.5 2171.5 L
S
n
2040.5 2171.5 m
2029.5 2161.5 L
S
n
2029.5 2161.5 m
1972 2156 L
S
n
2029.5 2161 m
2011.5 2109 L
3.863693 M
S
n
2193.5 2289.5 m
2199 2289.5 L
4 w
S
n
2193 2289.5 m
2133.5 2254 L
S
n
2134.5 2254 m
2154 2223.5 L
S
n
2154 2223.5 m
2199 2244 L
S
n
2135 2255 m
2113.5 2280.5 L
S
n
2113.5 2280.5 m
2125.5 2306 L
S
n
2125.5 2306 m
2144.5 2309.5 L
S
n
2144.5 2309 m
2193.5 2289 L
S
n
2114 2280.5 m
2084.5 2276 L
1 w
3.863708 M
S
n
2084.5 2276 m
2081 2238 L
4 w
3.863693 M
S
n
2081 2237.5 m
2089 2232.5 L
S
n
2088.5 2232.5 m
2134 2256.5 L
S
n
2081.5 2237.5 m
2040.5 2231 L
S
n
2040.5 2231 m
2023.5 2220.5 L
S
n
vmrs
2023.5 2221 m
1982 2259 L
4 w
3.863693 M
S
n
1982 2259 m
1999 2286.5 L
S
n
1999 2286.5 m
2040 2274 L
S
n
2040 2274 m
2058.5 2288 L
S
n
2058.5 2288 m
2084 2275.5 L
S
n
2084 2275.5 m
2113 2281 L
S
n
2040 2274 m
2038.5 2230.5 L
S
n
1998 2285.5 m
1992.5 2299 L
S
n
1992.5 2299 m
1951 2308.5 L
true setoverprint
S
false setoverprint
n
1950.5 2308.5 m
1940 2306 L
S
n
1940 2305 m
1936 2290 L
S
n
1936 2290 m
1949 2251 L
S
n
1948.5 2251 m
1980.5 2259 L
S
n
1948.5 2251.5 m
1936.5 2236.5 L
S
n
1936.5 2236.5 m
1976 2201 L
1954 2176 L
1939 2173.5 L
1905.5 2203 L
1872.5 2195.5 L
1867 2157 L
1878 2146.5 L
1917.5 2149.5 L
1936.5 2173 L
S
n
1911.5 2357 m
1915.5 2324.5 L
1865.5 2300 L
1866 2295 L
1891 2277 L
1890.5 2254.5 L
1925 2233.5 L
1908 2204 L
S
n
1916 2324 m
1940.5 2307 L
S
n
1954.5 2310 m
1973 2358 L
S
n
1935 2288 m
1893 2276 L
S
n
1954 2175 m
1971 2156 L
S
n
vmrs
1971 2156 m
1966 2110 L
4 w
3.863693 M
S
n
1917 2148 m
1944 2110 L
S
n
1878 2146.5 m
1871.5 2108.5 L
S
n
1863 2299 m
1809 2308 L
1797 2320 L
1760.5 2286 L
1752.5 2286 L
1725 2253.5 L
1766.5 2239 L
1780.5 2260.5 L
1804.5 2265.5 L
1828 2258 L
1831 2250.5 L
1858 2239.5 L
1890 2253 L
S
n
1864.5 2293 m
1829.5 2256.5 L
S
n
1808.5 2306.5 m
1809 2265.5 L
S
n
1762 2284.5 m
1781 2261.5 L
S
n
1865.5 2303 m
1850.5 2357.5 L
1 w
3.863708 M
S
n
1797 2321 m
1796.5 2326 L
S
n
1796.5 2326 m
1806 2357 L
S
n
1796 2325.5 m
1711.5 2322 L
S
n
1712.5 2320.5 m
1751.5 2287 L
4 w
3.863693 M
S
n
1724 2252 m
1713 2252 L
S
n
1768 2238.5 m
1777 2206 L
1 w
3.863708 M
S
n
1777 2205 m
1747.5 2195.5 L
S
n
1747.5 2195.5 m
1709.5 2206 L
S
n
1746.5 2195 m
1738.5 2154.5 L
S
n
1738.5 2154.5 m
1712 2144.5 L
S
n
1739 2155 m
1771.5 2140.5 L
S
n
1771.5 2140.5 m
1797.5 2188 L
S
n
vmrs
1798.5 2188.5 m
1794 2199 L
S
n
1794 2199 m
1777.5 2206 L
S
n
1794.5 2198.5 m
1801.5 2201.5 L
S
n
1800 2201.5 m
1830.5 2249 L
S
n
1801 2201 m
1868.5 2199 L
S
n
1868.5 2199 m
1873 2195.5 L
S
n
1868.5 2200.5 m
1859.5 2238 L
S
n
1865.5 2158 m
1829.5 2155.5 L
S
n
1829.5 2155.5 m
1794 2108.5 L
S
n
1789.5 2110 m
1771 2140.5 L
S
n
1799 2187.5 m
1829.5 2156 L
S
n
1755 2337.75 m
1755 2339.8211 1756.6789 2341.5 1758.75 2341.5 C
1760.8211 2341.5 1762.5 2339.8211 1762.5 2337.75 C
1762.5 2335.6789 1760.8211 2334 1758.75 2334 C
1756.6789 2334 1755 2335.6789 1755 2337.75 C
f
S
n
1832.9958 2321.422 m
1832.9958 2323.4931 1834.6748 2325.172 1836.7458 2325.172 C
1838.8169 2325.172 1840.4958 2323.4931 1840.4958 2321.422 C
1840.4958 2319.3509 1838.8169 2317.672 1836.7458 2317.672 C
1834.6748 2317.672 1832.9958 2319.3509 1832.9958 2321.422 C
f
S
n
1878.4958 2330.922 m
1878.4958 2332.9931 1880.1748 2334.672 1882.2458 2334.672 C
1884.3169 2334.672 1885.9958 2332.9931 1885.9958 2330.922 C
1885.9958 2328.8509 1884.3169 2327.172 1882.2458 2327.172 C
1880.1748 2327.172 1878.4958 2328.8509 1878.4958 2330.922 C
f
S
n
1756.4958 2309.422 m
1756.4958 2311.4931 1758.1748 2313.172 1760.2458 2313.172 C
1762.3169 2313.172 1763.9958 2311.4931 1763.9958 2309.422 C
1763.9958 2307.3509 1762.3169 2305.672 1760.2458 2305.672 C
1758.1748 2305.672 1756.4958 2307.3509 1756.4958 2309.422 C
f
S
n
1882.9958 2229.422 m
1882.9958 2231.4931 1884.6748 2233.172 1886.7458 2233.172 C
1888.8169 2233.172 1890.4958 2231.4931 1890.4958 2229.422 C
1890.4958 2227.3509 1888.8169 2225.672 1886.7458 2225.672 C
1884.6748 2225.672 1882.9958 2227.3509 1882.9958 2229.422 C
f
S
n
1834.9958 2220.922 m
1834.9958 2222.9931 1836.6748 2224.672 1838.7458 2224.672 C
1840.8169 2224.672 1842.4958 2222.9931 1842.4958 2220.922 C
1842.4958 2218.8509 1840.8169 2217.172 1838.7458 2217.172 C
1836.6748 2217.172 1834.9958 2218.8509 1834.9958 2220.922 C
f
S
n
1796.4958 2238.422 m
1796.4958 2240.4931 1798.1748 2242.172 1800.2458 2242.172 C
1802.3169 2242.172 1803.9958 2240.4931 1803.9958 2238.422 C
1803.9958 2236.3509 1802.3169 2234.672 1800.2458 2234.672 C
1798.1748 2234.672 1796.4958 2236.3509 1796.4958 2238.422 C
f
S
n
1735.4958 2227.922 m
1735.4958 2229.9931 1737.1748 2231.672 1739.2458 2231.672 C
1741.3169 2231.672 1742.9958 2229.9931 1742.9958 2227.922 C
1742.9958 2225.8509 1741.3169 2224.172 1739.2458 2224.172 C
1737.1748 2224.172 1735.4958 2225.8509 1735.4958 2227.922 C
f
S
n
1832.4958 2180.422 m
1832.4958 2182.4931 1834.1748 2184.172 1836.2458 2184.172 C
1838.3169 2184.172 1839.9958 2182.4931 1839.9958 2180.422 C
1839.9958 2178.3509 1838.3169 2176.672 1836.2458 2176.672 C
1834.1748 2176.672 1832.4958 2178.3509 1832.4958 2180.422 C
f
S
n
vmrs
1761.4958 2168.422 m
1761.4958 2170.4931 1763.1748 2172.172 1765.2458 2172.172 C
1767.3169 2172.172 1768.9958 2170.4931 1768.9958 2168.422 C
1768.9958 2166.3509 1767.3169 2164.672 1765.2458 2164.672 C
1763.1748 2164.672 1761.4958 2166.3509 1761.4958 2168.422 C
f
S
n
1714.4958 2175.922 m
1714.4958 2177.9931 1716.1748 2179.672 1718.2458 2179.672 C
1720.3169 2179.672 1721.9958 2177.9931 1721.9958 2175.922 C
1721.9958 2173.8509 1720.3169 2172.172 1718.2458 2172.172 C
1716.1748 2172.172 1714.4958 2173.8509 1714.4958 2175.922 C
f
S
n
1798.9958 2154.922 m
1798.9958 2156.9931 1800.6748 2158.672 1802.7458 2158.672 C
1804.8169 2158.672 1806.4958 2156.9931 1806.4958 2154.922 C
1806.4958 2152.8509 1804.8169 2151.172 1802.7458 2151.172 C
1800.6748 2151.172 1798.9958 2152.8509 1798.9958 2154.922 C
f
S
n
1836.4958 2133.422 m
1836.4958 2135.4931 1838.1748 2137.172 1840.2458 2137.172 C
1842.3169 2137.172 1843.9958 2135.4931 1843.9958 2133.422 C
1843.9958 2131.3509 1842.3169 2129.672 1840.2458 2129.672 C
1838.1748 2129.672 1836.4958 2131.3509 1836.4958 2133.422 C
f
S
n
1736.9958 2128.422 m
1736.9958 2130.4931 1738.6748 2132.172 1740.7458 2132.172 C
1742.8169 2132.172 1744.4958 2130.4931 1744.4958 2128.422 C
1744.4958 2126.3509 1742.8169 2124.672 1740.7458 2124.672 C
1738.6748 2124.672 1736.9958 2126.3509 1736.9958 2128.422 C
f
S
n
1973.4958 2232.922 m
1973.4958 2234.9931 1975.1748 2236.672 1977.2458 2236.672 C
1979.3169 2236.672 1980.9958 2234.9931 1980.9958 2232.922 C
1980.9958 2230.8509 1979.3169 2229.172 1977.2458 2229.172 C
1975.1748 2229.172 1973.4958 2230.8509 1973.4958 2232.922 C
f
S
n
2068.9958 2207.922 m
2068.9958 2209.9931 2070.6748 2211.672 2072.7458 2211.672 C
2074.8169 2211.672 2076.4958 2209.9931 2076.4958 2207.922 C
2076.4958 2205.8509 2074.8169 2204.172 2072.7458 2204.172 C
2070.6748 2204.172 2068.9958 2205.8509 2068.9958 2207.922 C
f
S
n
2116.4958 2229.922 m
2116.4958 2231.9931 2118.1748 2233.672 2120.2458 2233.672 C
2122.3169 2233.672 2123.9958 2231.9931 2123.9958 2229.922 C
2123.9958 2227.8509 2122.3169 2226.172 2120.2458 2226.172 C
2118.1748 2226.172 2116.4958 2227.8509 2116.4958 2229.922 C
f
S
n
2184.9958 2216.422 m
2184.9958 2218.4931 2186.6748 2220.172 2188.7458 2220.172 C
2190.8169 2220.172 2192.4958 2218.4931 2192.4958 2216.422 C
2192.4958 2214.3509 2190.8169 2212.672 2188.7458 2212.672 C
2186.6748 2212.672 2184.9958 2214.3509 2184.9958 2216.422 C
f
S
n
2158.4958 2196.422 m
2158.4958 2198.4931 2160.1748 2200.172 2162.2458 2200.172 C
2164.3169 2200.172 2165.9958 2198.4931 2165.9958 2196.422 C
2165.9958 2194.3509 2164.3169 2192.672 2162.2458 2192.672 C
2160.1748 2192.672 2158.4958 2194.3509 2158.4958 2196.422 C
f
S
n
2089.4958 2177.422 m
2089.4958 2179.4931 2091.1748 2181.172 2093.2458 2181.172 C
2095.3169 2181.172 2096.9958 2179.4931 2096.9958 2177.422 C
2096.9958 2175.3509 2095.3169 2173.672 2093.2458 2173.672 C
2091.1748 2173.672 2089.4958 2175.3509 2089.4958 2177.422 C
f
S
n
1983.9958 2172.922 m
1983.9958 2174.9931 1985.6748 2176.672 1987.7458 2176.672 C
1989.8169 2176.672 1991.4958 2174.9931 1991.4958 2172.922 C
1991.4958 2170.8509 1989.8169 2169.172 1987.7458 2169.172 C
1985.6748 2169.172 1983.9958 2170.8509 1983.9958 2172.922 C
f
S
n
1986.4958 2142.922 m
1986.4958 2144.9931 1988.1748 2146.672 1990.2458 2146.672 C
1992.3169 2146.672 1993.9958 2144.9931 1993.9958 2142.922 C
1993.9958 2140.8509 1992.3169 2139.172 1990.2458 2139.172 C
1988.1748 2139.172 1986.4958 2140.8509 1986.4958 2142.922 C
f
S
n
2045.9958 2128.422 m
2045.9958 2130.4931 2047.6748 2132.172 2049.7458 2132.172 C
2051.8169 2132.172 2053.4958 2130.4931 2053.4958 2128.422 C
2053.4958 2126.3509 2051.8169 2124.672 2049.7458 2124.672 C
2047.6748 2124.672 2045.9958 2126.3509 2045.9958 2128.422 C
f
S
n
2105.9958 2146.422 m
2105.9958 2148.4931 2107.6748 2150.172 2109.7458 2150.172 C
2111.8169 2150.172 2113.4958 2148.4931 2113.4958 2146.422 C
2113.4958 2144.3509 2111.8169 2142.672 2109.7458 2142.672 C
2107.6748 2142.672 2105.9958 2144.3509 2105.9958 2146.422 C
f
S
n
2170.4958 2126.922 m
2170.4958 2128.9931 2172.1748 2130.672 2174.2458 2130.672 C
2176.3169 2130.672 2177.9958 2128.9931 2177.9958 2126.922 C
2177.9958 2124.8509 2176.3169 2123.172 2174.2458 2123.172 C
2172.1748 2123.172 2170.4958 2124.8509 2170.4958 2126.922 C
f
S
n
2022.4958 2299.422 m
2022.4958 2301.4931 2024.1748 2303.172 2026.2458 2303.172 C
2028.3169 2303.172 2029.9958 2301.4931 2029.9958 2299.422 C
2029.9958 2297.3509 2028.3169 2295.672 2026.2458 2295.672 C
2024.1748 2295.672 2022.4958 2297.3509 2022.4958 2299.422 C
f
S
n
2165.4958 2326.422 m
2165.4958 2328.4931 2167.1748 2330.172 2169.2458 2330.172 C
2171.3169 2330.172 2172.9958 2328.4931 2172.9958 2326.422 C
2172.9958 2324.3509 2171.3169 2322.672 2169.2458 2322.672 C
2167.1748 2322.672 2165.4958 2324.3509 2165.4958 2326.422 C
f
S
n
2087.4958 2298.422 m
2087.4958 2300.4931 2089.1748 2302.172 2091.2458 2302.172 C
2093.3169 2302.172 2094.9958 2300.4931 2094.9958 2298.422 C
2094.9958 2296.3509 2093.3169 2294.672 2091.2458 2294.672 C
2089.1748 2294.672 2087.4958 2296.3509 2087.4958 2298.422 C
f
S
n
2123.4958 2332.422 m
2123.4958 2334.4931 2125.1748 2336.172 2127.2458 2336.172 C
2129.3169 2336.172 2130.9958 2334.4931 2130.9958 2332.422 C
2130.9958 2330.3509 2129.3169 2328.672 2127.2458 2328.672 C
2125.1748 2328.672 2123.4958 2330.3509 2123.4958 2332.422 C
f
S
n
vmrs
2029.4958 2332.422 m
2029.4958 2334.4931 2031.1748 2336.172 2033.2458 2336.172 C
2035.3169 2336.172 2036.9958 2334.4931 2036.9958 2332.422 C
2036.9958 2330.3509 2035.3169 2328.672 2033.2458 2328.672 C
2031.1748 2328.672 2029.4958 2330.3509 2029.4958 2332.422 C
f
S
n
1975.4958 2327.422 m
1975.4958 2329.4931 1977.1748 2331.172 1979.2458 2331.172 C
1981.3169 2331.172 1982.9958 2329.4931 1982.9958 2327.422 C
1982.9958 2325.3509 1981.3169 2323.672 1979.2458 2323.672 C
1977.1748 2323.672 1975.4958 2325.3509 1975.4958 2327.422 C
f
S
n
2161 2254.75 m
2161 2256.8211 2162.7908 2258.5 2165 2258.5 C
2167.2092 2258.5 2169 2256.8211 2169 2254.75 C
2169 2252.6789 2167.2092 2251 2165 2251 C
2162.7908 2251 2161 2252.6789 2161 2254.75 C
2 w
3.863693 M
s
n
2140.7458 2281.422 m
2140.7458 2283.4931 2142.5367 2285.172 2144.7458 2285.172 C
2146.955 2285.172 2148.7458 2283.4931 2148.7458 2281.422 C
2148.7458 2279.3509 2146.955 2277.672 2144.7458 2277.672 C
2142.5367 2277.672 2140.7458 2279.3509 2140.7458 2281.422 C
s
n
2059.7458 2261.422 m
2059.7458 2263.4931 2061.5367 2265.172 2063.7458 2265.172 C
2065.955 2265.172 2067.7458 2263.4931 2067.7458 2261.422 C
2067.7458 2259.3509 2065.955 2257.672 2063.7458 2257.672 C
2061.5367 2257.672 2059.7458 2259.3509 2059.7458 2261.422 C
s
n
2096.7458 2259.422 m
2096.7458 2261.4931 2098.5367 2263.172 2100.7458 2263.172 C
2102.955 2263.172 2104.7458 2261.4931 2104.7458 2259.422 C
2104.7458 2257.3509 2102.955 2255.672 2100.7458 2255.672 C
2098.5367 2255.672 2096.7458 2257.3509 2096.7458 2259.422 C
s
n
2010.2458 2261.922 m
2010.2458 2263.9931 2012.0367 2265.672 2014.2458 2265.672 C
2016.455 2265.672 2018.2458 2263.9931 2018.2458 2261.922 C
2018.2458 2259.8509 2016.455 2258.172 2014.2458 2258.172 C
2012.0367 2258.172 2010.2458 2259.8509 2010.2458 2261.922 C
s
n
1960.2458 2280.922 m
1960.2458 2282.9931 1962.0367 2284.672 1964.2458 2284.672 C
1966.455 2284.672 1968.2458 2282.9931 1968.2458 2280.922 C
1968.2458 2278.8509 1966.455 2277.172 1964.2458 2277.172 C
1962.0367 2277.172 1960.2458 2278.8509 1960.2458 2280.922 C
s
n
1939.2458 2204.422 m
1939.2458 2206.4931 1941.0367 2208.172 1943.2458 2208.172 C
1945.455 2208.172 1947.2458 2206.4931 1947.2458 2204.422 C
1947.2458 2202.3509 1945.455 2200.672 1943.2458 2200.672 C
1941.0367 2200.672 1939.2458 2202.3509 1939.2458 2204.422 C
s
n
1898.2458 2171.422 m
1898.2458 2173.4931 1900.0367 2175.172 1902.2458 2175.172 C
1904.455 2175.172 1906.2458 2173.4931 1906.2458 2171.422 C
1906.2458 2169.3509 1904.455 2167.672 1902.2458 2167.672 C
1900.0367 2167.672 1898.2458 2169.3509 1898.2458 2171.422 C
s
n
1943.2458 2144.922 m
1943.2458 2146.9931 1945.0367 2148.672 1947.2458 2148.672 C
1949.455 2148.672 1951.2458 2146.9931 1951.2458 2144.922 C
1951.2458 2142.8509 1949.455 2141.172 1947.2458 2141.172 C
1945.0367 2141.172 1943.2458 2142.8509 1943.2458 2144.922 C
s
n
1902.7458 2126.422 m
1902.7458 2128.4931 1904.5367 2130.172 1906.7458 2130.172 C
1908.955 2130.172 1910.7458 2128.4931 1910.7458 2126.422 C
1910.7458 2124.3509 1908.955 2122.672 1906.7458 2122.672 C
1904.5367 2122.672 1902.7458 2124.3509 1902.7458 2126.422 C
s
n
1911.2458 2268.422 m
1911.2458 2270.4931 1913.0367 2272.172 1915.2458 2272.172 C
1917.455 2272.172 1919.2458 2270.4931 1919.2458 2268.422 C
1919.2458 2266.3509 1917.455 2264.672 1915.2458 2264.672 C
1913.0367 2264.672 1911.2458 2266.3509 1911.2458 2268.422 C
s
n
1902.7458 2298.422 m
1902.7458 2300.4931 1904.5367 2302.172 1906.7458 2302.172 C
1908.955 2302.172 1910.7458 2300.4931 1910.7458 2298.422 C
1910.7458 2296.3509 1908.955 2294.672 1906.7458 2294.672 C
1904.5367 2294.672 1902.7458 2296.3509 1902.7458 2298.422 C
s
n
1943.7458 2334.922 m
1943.7458 2336.9931 1945.5367 2338.672 1947.7458 2338.672 C
1949.955 2338.672 1951.7458 2336.9931 1951.7458 2334.922 C
1951.7458 2332.8509 1949.955 2331.172 1947.7458 2331.172 C
1945.5367 2331.172 1943.7458 2332.8509 1943.7458 2334.922 C
s
n
1860.2458 2263.422 m
1860.2458 2265.4931 1862.0367 2267.172 1864.2458 2267.172 C
1866.455 2267.172 1868.2458 2265.4931 1868.2458 2263.422 C
1868.2458 2261.3509 1866.455 2259.672 1864.2458 2259.672 C
1862.0367 2259.672 1860.2458 2261.3509 1860.2458 2263.422 C
s
n
1823.7458 2289.422 m
1823.7458 2291.4931 1825.5367 2293.172 1827.7458 2293.172 C
1829.955 2293.172 1831.7458 2291.4931 1831.7458 2289.422 C
1831.7458 2287.3509 1829.955 2285.672 1827.7458 2285.672 C
1825.5367 2285.672 1823.7458 2287.3509 1823.7458 2289.422 C
s
n
1782.2458 2287.922 m
1782.2458 2289.9931 1784.0367 2291.672 1786.2458 2291.672 C
1788.455 2291.672 1790.2458 2289.9931 1790.2458 2287.922 C
1790.2458 2285.8509 1788.455 2284.172 1786.2458 2284.172 C
1784.0367 2284.172 1782.2458 2285.8509 1782.2458 2287.922 C
s
n
1748.7458 2263.422 m
1748.7458 2265.4931 1750.5367 2267.172 1752.7458 2267.172 C
1754.955 2267.172 1756.7458 2265.4931 1756.7458 2263.422 C
1756.7458 2261.3509 1754.955 2259.672 1752.7458 2259.672 C
1750.5367 2259.672 1748.7458 2261.3509 1748.7458 2263.422 C
s
n
1723.2458 2279.922 m
1723.2458 2281.9931 1725.0367 2283.672 1727.2458 2283.672 C
1729.455 2283.672 1731.2458 2281.9931 1731.2458 2279.922 C
1731.2458 2277.8509 1729.455 2276.172 1727.2458 2276.172 C
1725.0367 2276.172 1723.2458 2277.8509 1723.2458 2279.922 C
s
n
vmrs
1925 2232.5 m
1936 2236.5 L
4 w
3.863693 M
S
n
1698 2269.5 m
2217.5 2266.5 L
2 w
[8 4 ] 0 d
S
[] 0 d
n
1927 2364.5 m
1927 2099.5 L
[8 4 ] 0 d
S
[] 0 d
n
vmr
vmr
end
%%Trailer
%%EndDocument
@endspecial 196 x Fu(Figure)27 b(10:)34 b(An)25 b(e)o(xample)i(of)f(a)
g(quorum)h(on)f(a)f(V)-12 b(oronoi)28 b(diagram.)37 b(The)26
b(cells)h(that)f(belong)i(to)e(the)g(quorum)h(set)f(are)51
1518 y(the)e(ones)g(that)g(intersect)i(the)e(dashed)h(lines.)p
3878 1544 V 0 1547 3882 4 v 0 1805 a Ft(Cor)n(ollary)32
b(21.)46 b Fs(Let)30 b Fr(p)757 1772 y Fz(0)809 1805
y Fs(be)g(close)h(enough)h(to)e Fp(1)p Fs(.)47 b(Ther)m(e)30
b(e)n(xists)h(some)f Fr(r)2379 1772 y Fz(0)2439 1805
y Fq(\024)37 b Fr(p)2593 1772 y Fz(0)2645 1805 y Fs(independent)d(fr)l
(om)c Fr(n)p Fs(,)g(suc)o(h)g(that)h(the)0 1918 y(pr)l(obability)c
(ther)m(e)c(e)n(xists)i(a)e(cr)l(ossing)j(in)d Fr(G)1410
1932 y Fn(\026)1457 1918 y Fp(\()p Fr(p)1538 1885 y Fz(0)1561
1918 y Fp(\))g Fs(is)g(at)h(least)g(the)f(pr)l(obability)k(ther)m(e)d
(e)n(xists)h(a)e(cr)l(ossing)i(in)e Fr(G)3533 1932 y
Fn(\031)3581 1918 y Fp(\()p Fr(r)3660 1885 y Fz(0)3683
1918 y Fp(\))p Fs(,)g(and)0 2031 y(the)k(pr)l(obability)i(a)d
(component)j(of)d(the)h(dual)g Fr(G)1549 2045 y Fn(\026)1596
2031 y Fp(\()p Fr(p)1677 1998 y Fz(0)1700 2031 y Fp(\))f
Fs(is)g(of)h(diameter)h Fr(k)s Fs(,)e(is)g(at)g(most)h(the)f(pr)l
(obability)k(a)c(component)i(of)0 2144 y(the)c(dual)g(of)g
Fr(G)483 2158 y Fn(\031)530 2144 y Fp(\()p Fr(r)609 2111
y Fz(0)632 2144 y Fp(\))f Fs(is)h(diameter)h Fr(k)s Fs(.)j(Furthermor)m
(e)d(by)e(incr)m(easing)k Fr(p)2268 2111 y Fz(0)2291
2144 y Fs(,)22 b Fr(r)2380 2111 y Fz(0)2426 2144 y Fs(could)i(be)g
(made)f(arbitr)o(arily)k(close)d(to)g Fp(1)p Fs(.)141
2331 y Fu(Corollary)h(21)f(is)f(directly)j(used)e(to)g(analyze)h(the)f
(a)n(v)n(ailability)i(and)e(probe)h(comple)o(xity)h(of)d
Fs(Dynamic)h(P)-7 b(aths)p Fu(:)0 2519 y Ft(Theor)n(em)20
b(22.)37 b Fs(Let)19 b Fr(T)32 b Fs(be)20 b(a)g(balanced)j(V)-10
b(or)l(onoi)21 b(dia)o(gr)o(am,)g(and)g(let)f Fq(S)26
b Fs(be)20 b(the)g(Dynamic)h(P)-7 b(aths)20 b(quorum)h(system)f
(derived)0 2632 y(by)25 b(it.)32 b(Then)25 b(the)g(load)h(of)e(the)h
(system)h Fr(\020)7 b Fp(\()p Fq(S)g Fp(\))24 b Fs(is)g
Fr(O)s Fp(\()1676 2596 y Fo(1)p 1642 2611 102 4 v 1642
2620 a Fz(p)p 1701 2620 43 3 v 48 x Fn(n)1754 2632 y
Fp(\))p Fs(.)32 b(Ther)m(e)25 b(e)n(xists)h(some)2522
2596 y Fo(1)p 2522 2611 36 4 v 2522 2663 a(2)2595 2632
y Fr(<)h(p)2739 2646 y Fn(c)2801 2632 y Fr(<)h Fp(1)c
Fs(suc)o(h)h(that)h(for)f Fr(p)3500 2646 y Fn(c)3562
2632 y Fr(<)i(p)h(<)f Fp(1)p Fs(,)0 2754 y(if)c(eac)o(h)h(pr)l(ocessor)
i(fails)f(independently)j(with)23 b(pr)l(obability)k
Fp(1)20 b Fq(\000)g Fr(p)j Fs(then)h(the)g(following)h(hold:)114
2942 y(1.)45 b(The)23 b(pr)l(obability)k(a)c(live)h(quorum)h(set)f(e)n
(xists)g(is)g Fp(1)c Fq(\000)g Fr(e)1965 2909 y Fz(\000)p
Fo(\012\()2098 2861 y Fz(p)p 2158 2861 43 3 v 2158 2909
a Fn(n)p Fo(\))114 3130 y Fs(2.)45 b(The)23 b(non-adaptive)28
b(algorithmic)e(pr)l(obe)f(comple)n(xity)g(is)f Fr(O)s
Fp(\()2172 3064 y Fq(p)p 2248 3064 55 4 v 66 x Fr(n)14
b Fp(log)k Fr(n)p Fp(\))23 b Fs(w)-7 b(.h.p.)114 3317
y(3.)45 b(The)23 b(adaptive)j(algorithmic)g(pr)l(obe)f(comple)n(xity)h
(is)d Fr(O)s Fp(\()2005 3252 y Fq(p)p 2081 3252 V 65
x Fr(n)p Fp(\))g Fs(w)-7 b(.h.p.)0 3566 y Fj(4.4)99 b(A)25
b(simpler)g(Quorum)g(System:)0 3741 y Fu(A)i(possible)j
(simpli\002cation)g(of)d(the)h(Dynamic)g(P)o(aths)g(system)h(is)e(the)h
(follo)n(wing:)39 b(De\002ne)28 b(a)f(quorum)i(set)f(to)f(be)h(all)g
(the)0 3854 y(\(elements)23 b(identi\002ed)g(with\))f(cells)g(that)h
(intersect)g(the)f(same)g(horizontal)i(and)e(v)o(ertical)h(line)f
(\(see)g(Figure)h(10\).)28 b(This)21 b(quo-)0 3967 y(rum)g(system)h(is)
f(a)f(dynamic)j(adaptation)h(of)d(a)f(quorum)j(system)e(suggested)j(by)
e(Maeka)o(w)o(a)f([15)q(].)28 b(A)20 b(slight)i(impro)o(v)o(ement)0
4079 y(w)o(as)e(suggested)k(by)d(Agra)o(w)o(al)g Fs(et)f(al)h
Fu(in)g([3])f(where)i(instead)g(of)f(looking)i(at)d(horizontal)k(and)d
(v)o(ertical)h(lines,)g(the)o(y)f(e)o(xamine)0 4192 y(diagonal)30
b(lines)f(that)g(resemble)h(the)e(paths)h(of)f(billiard)i(balls.)43
b(Theorem)29 b(18)f(implies)h(that)g(the)f(load)h(of)f(these)h(quorum)0
4327 y(systems)f(is)e Fp(\002\()506 4228 y Fh(q)p 597
4228 166 4 v 607 4286 a Fo(log)13 b Fn(n)p 607 4307 146
4 v 629 4316 a Fz(p)p 688 4316 43 3 v 48 x Fn(n)762 4327
y Fp(\))p Fu(.)37 b(The)26 b(inte)o(grity)j(of)d(these)h(systems)h
(could)f(be)g(maintained)h(by)f(associating)i(each)f(quorum)f(set)0
4458 y(with)i(the)h(numeric)g(v)n(alue)g(of)g(the)f(v)o(ertical)i(and)f
(horizontal)i(lines,)f(thus)f(the)g(implementation)i(is)d(simpler)-5
b(.)47 b(The)29 b(main)0 4571 y(dra)o(wback)h(of)f(these)g(systems)h
(is)f(their)g(lo)n(w)f(a)n(v)n(ailability)-6 b(.)48 b(If)29
b(each)g(processor)i(f)o(ails)f(with)e(probability)k
Fp(\002\()3500 4530 y Fo(log)13 b Fn(n)p 3500 4550 146
4 v 3522 4560 a Fz(p)p 3581 4560 43 3 v 47 x Fn(n)3656
4571 y Fp(\))p Fu(,)29 b(then)0 4693 y(with)23 b(high)i(probability)h
(no)e(quorum)h(set)e(survi)n(v)o(es.)0 4986 y Fv(5)119
b(Conclusion)32 b(and)e(Open)h(Questions)0 5193 y Fu(The)25
b(main)h(open)g(problem)h(is)e(to)h(impro)o(v)o(e)g(the)g(load)g(of)g
(the)g Fs(Dynamic)g(P)-7 b(aths)25 b Fu(quorum)i(system)f(so)g(that)g
(it)f(matches)i(the)0 5306 y(load)g(of)f Fs(P)-7 b(aths)p
Fu(.)36 b(The)26 b(load)h(of)f Fs(Dynamic)g(P)-7 b(aths)26
b Fu(is)g(determined)j(by)d(the)g(size)h(of)f(the)g(projection)j(of)d
(cells)h(o)o(v)o(er)f(the)h(axis)1905 5589 y(17)p eop
end
%%Page: 18 18
TeXDict begin 18 17 bop 0 98 a Fu(lines.)30 b(The)23
b(Join)h(algorithms)h(as)e(we)g(described)j(it)d(guarantees)j(that)e
(the)g(projection)i(of)e(all)f(cells)h(is)g(at)f(most)g
Fr(O)s Fp(\()3627 6 y Fz(p)p 3686 6 146 3 v 50 x Fo(log)13
b Fn(n)p 3627 77 205 4 v 3679 86 a Fz(p)p 3738 86 43
3 v 48 x Fn(n)3842 98 y Fp(\))p Fu(.)0 220 y(It)29 b(is)g(interesting)k
(to)c(\002nd)g(other)h(\(perhaps)i(more)d(sophisticated\))34
b(Join)c(algorithms)h(that)f(guarantee)i(a)d(better)h(load.)47
b(A)0 333 y(deterministic)25 b(Join)d(algorithms)i(that)e(guarantees)i
(e)o(xcellent)g(load)e(in)g(the)g(w)o(orst)g(case)g(is)f(presented)k
(in)c([19)q(].)28 b(A)20 b(random)0 446 y(algorithm)k(appears)g(in)f
([1)q(].)k(These)c(algorithms)i(operate)f(in)e(the)h
Fs(one)g(dimensional)i Fu(uni)n(v)o(erse,)f(i.e)e(when)h(processors)i
(are)0 559 y(located)h(along)f(a)f(line.)31 b(It)24 b(w)o(ould)h(be)f
(interesting)j(to)d(\002nd)g(a)f(tw)o(o)h(dimensional)j(analog)f(to)e
(that)g(algorithm.)33 b(Some)23 b(w)o(ork)0 672 y(in)e(this)h
(direction)i(w)o(as)d(done)h(in)g([2],)f(ho)n(we)n(v)o(er)h(the)o(y)g
(considered)i(splitting)g(the)e(plain)g(into)g(rectangles)i(\(as)e(in)f
(CAN\))f(and)0 785 y(not)k(a)f(V)-12 b(oronoi)25 b(diagram.)141
897 y(A)g(better)i(understanding)k(of)26 b(percolation)j(theory)e(o)o
(v)o(er)f(V)-12 b(oronoi)28 b(diagrams)f(w)o(ould)g(impro)o(v)o(e)f
(the)h(analysis)h(of)e(the)0 1010 y(algorithms.)31 b(In)23
b(particular)i(it)e(is)g(important)h(to)f(bound)i(the)e(probability)j
(of)d(a)g(diameter)h Fr(k)h Fu(component)h(in)c(a)h(percolation)0
1123 y(with)c Fr(p)25 b(<)357 1088 y Fo(1)p 357 1103
36 4 v 357 1155 a(2)402 1123 y Fu(.)i(A)18 b(`Menshik)o(o)o(v)j(style')
f(theorem)h(of)e(this)g(sort)h(that)g(states)g(that)g(this)g
(probability)i(is)d(e)o(xponentially)k(small)c(in)0 1236
y Fr(k)s Fu(,)i(w)o(ould)i(imply)f(a)f Fp(\002\(log)d
Fr(n)930 1171 y Fq(p)p 1005 1171 55 4 v 1005 1236 a Fr(n)p
Fp(\))j Fu(algorithmic)k(probe)e(comple)o(xity)g(for)f
Fs(Dyanmic)h(P)-7 b(aths)22 b Fu(e)n(v)o(en)g(for)g(the)g(simple)g
(random)0 1349 y(Join)i(algorithm.)0 1595 y Ft(Conclusion)91
b Fu(The)28 b(P)o(aths)g(quorum)h(system)g(is)f(sho)n(wn)g(to)g(ha)n(v)
o(e)h(e)o(xcellent)h(adapti)n(v)o(e)g(and)f(non-adapti)n(v)o(e)i
(probing)f(al-)0 1708 y(gorithms.)47 b(It)28 b(w)o(as)h(pre)n(viously)j
(kno)n(wn)d(that)h(the)f(P)o(aths)g(system)g(has)h(optimal)g(load)g
(and)f(a)n(v)n(ailability)-6 b(,)33 b(thus)d(the)f(P)o(aths)0
1821 y(system)20 b(of)n(fers)h(e)o(xcellent)g(balance)h(between)e(dif)n
(ferent)i(quality)f(measures.)29 b(This)19 b(mak)o(es)h(P)o(aths)g(a)f
(natural)i(candidate)h(for)0 1934 y(an)i(adaptation)j(into)e(a)f
(dynamic)h(setting.)33 b(A)23 b(general)j(technique)h(for)d(designing)j
(scalable)f(dynamic)g(data)f(structures)h(is)0 2047 y(presented)f(in)d
([19)q(].)28 b(Applying)c(this)f(technique)i(results)f(with)e(the)h
Fs(Dynamic)f(P)-7 b(aths)23 b Fu(quorum)g(system)g(which)g(is)f
(scalable)0 2160 y(and)j(operates)h(in)e(a)g(dynamic)h(setting.)33
b Fs(Dynamic)24 b(P)-7 b(aths)24 b Fu(maintains)i(the)f(good)g
(qualities)i(of)d(the)g(P)o(aths)g(system.)32 b(Its)24
b(lo)n(w)0 2272 y(load,)f(high)g(a)n(v)n(ailability)j(and)d(simple)g
(probing)i(algorithms)f(mak)o(es)f(it)f(an)h(e)o(xcellent)h(candidate)h
(for)e(an)f(implementation)0 2385 y(of)h(dynamic)i(quorums.)0
2635 y Fj(Ackno)o(wledgments)0 2809 y Fu(W)-7 b(e)34
b(gratefuly)k(thank)f(Itai)e(Benjamini)i(for)e(pointing)j(out)d(the)h
(rele)n(v)n(ant)h(theorems)g(in)e(probability)j(and)e(percolation)0
2922 y(theory)-6 b(,)25 b(and)f(Dahlia)g(Malkhi)g(for)g(useful)h
(discussions.)0 3214 y Fv(Refer)n(ences)45 3421 y Fu([1])47
b(Ittai)24 b(Abraham,)g(Baruch)g(A)-8 b(werb)n(uch,)24
b(Y)-10 b(ossi)24 b(Azar)l(,)f(Y)-9 b(air)23 b(Bartal,)h(Dahlia)g
(Malkhi,)g(and)g(Elan)g(P)o(a)n(vlo)o(v)-6 b(.)33 b(A)22
b(generic)197 3534 y(scheme)33 b(for)f(b)n(uilding)j(o)o(v)o(erlay)e
(netw)o(orks)g(in)f(adv)o(ersarial)j(scenarios.)63 b(In)32
b Fs(Pr)l(oceedings)j(of)d(the)g(International)197 3647
y(P)-7 b(ar)o(allel)24 b(and)g(Distrib)n(uted)i(Pr)l(ocessing)g
(Symposium)f(\(IPDPS\))p Fu(,)d(April)i(2003.)45 3835
y([2])47 b(Micah)33 b(Adler)l(,)h(Eran)e(Halperin,)k(Richard)d(M.)e
(Karp,)j(and)f(V)-5 b(ijay)32 b(V)-12 b(.)31 b(V)-10
b(azirani.)62 b(A)31 b(stochastic)k(process)g(on)d(the)197
3948 y(hypercube)25 b(with)d(applications)27 b(to)22
b(peer)n(-to-peer)k(netw)o(orks.)33 b(In)23 b Fs(Pr)l(oceedings)i(of)d
(the)h(Thirty-F)l(ifth)h(Annual)g(A)m(CM)197 4061 y(Symposium)h(on)e
(Theory)i(of)e(Computing)i(\(ST)n(OC\))p Fu(,)e(pages)h(575\226584,)i
(2003.)45 4248 y([3])47 b(Di)n(vyakant)26 b(Agra)o(w)o(al,)d(Omer)h
(Egecioglu,)h(and)g(Amr)e(El)g(Abbadi.)35 b(Billiard)25
b(quorums)h(on)e(the)g(grid.)36 b Fs(Information)197
4361 y(Pr)l(ocessing)26 b(Letter)o(s)p Fu(,)e(64\(1\):9\22616,)i(1997.)
45 4549 y([4])47 b(Rida)24 b(A.)e(Bazzi.)35 b(Planar)25
b(quorums.)36 b(In)24 b Fs(Distrib)n(uted)i(Algorithms,)g(10th)e
(International)k(W)-8 b(orkshop,)26 b(WD)m(A)m(G)21 b('96)p
Fu(,)197 4662 y(v)n(olume)34 b(1151)f(of)g Fs(Lectur)m(e)g(Notes)g(in)f
(Computer)h(Science)p Fu(,)k(pages)c(251\226268,)k(Bologna,)f(Italy)-6
b(,)36 b(9\22611)d(October)197 4775 y(1996.)24 b(Springer)-5
b(.)45 4962 y([5])47 b(Mark)22 b(Bearden)h(and)g(Ronald)g(P)-10
b(.)20 b(Bianchini)k(Jr)-5 b(.)30 b(A)21 b(fualt-tolerant)k(algorithm)f
(for)f(decentralizen)i(on-line)f(quorum)197 5075 y(adaptation.)36
b(In)24 b Fs(Pr)l(oceedings)i(of)d(FTCS-28)p Fu(,)g(Munich,)h(German)o
(y)-6 b(,)24 b(2002.)45 5263 y([6])47 b(Itai)24 b(Benjamini.)34
b(Pri)n(v)n(ate)24 b(communication.)1905 5589 y(18)p
eop end
%%Page: 19 19
TeXDict begin 19 18 bop 45 91 a Fu([7])47 b(Hector)23
b(Garcia-Molina)h(and)f(Daniel)g(Barbara.)31 b(Ho)n(w)21
b(to)h(assign)i(v)n(otes)f(in)f(a)g(distrib)n(uted)k(system.)31
b Fs(J)n(ournal)24 b(of)e(the)197 204 y(Association)k(for)e(Computing)h
(Mac)o(hinery)p Fu(,)f(32\(4\):841\226855,)k(October)d(1985.)45
392 y([8])47 b(Oded)130 b(Goldreich.)376 b Fs(Randomized)131
b(Methods)g(in)f(Computation)i(-)e(Lectur)m(e)g(Notes)p
Fu(.)197 505 y Fi(http://www.wisd)o(om)o(.w)o(ei)o(zm)o(ann)o(.a)o(c.)o
(il)o(/\230)o(ode)o(d/)o(rn)o(d.)o(ht)o(ml,)o Fu(2001.)45
692 y([9])47 b(Geof)n(fre)o(y)24 b(Grimmett.)33 b Fs(P)-7
b(er)m(colation)p Fu(.)35 b(Springer)n(-V)-10 b(erlag,)26
b(1989.)0 880 y([10])47 b(Y)-9 b(ehuda)24 b(Hassin)f(and)h(Da)n(vid)f
(Pele)o(g.)32 b(A)-7 b(v)o(erage)24 b(probe)g(comple)o(xity)h(in)e
(quorum)h(systems.)33 b(In)23 b Fs(20th)h(A)m(CM)d(Sympo-)197
993 y(sium)i(on)h(Principles)h(of)f(Distrib)n(uted)i(Computing)f
(\(PODC\))p Fu(,)c(2001.)0 1181 y([11])47 b(Sushil)28
b(Jajodia)i(and)e(Da)n(vid)h(Mutchler)-5 b(.)49 b(Dynamic)28
b(v)n(oting)i(algorithms)g(for)e(maintaining)j(the)d(consistenc)o(y)j
(of)d(a)197 1293 y(replicated)e(database.)36 b Fs(A)m(CM)21
b(T)-5 b(r)o(ansactions)27 b(on)c(Database)i(Systems)p
Fu(,)g(15\(2\):230\226280,)j(June)c(1990.)0 1481 y([12])47
b(Thomas)28 b(L.)f(Liggett,)j(Roberto)f(H.)e(Schonmann,)k(and)e(Alan)f
(M.)f(Stace)o(y)-6 b(.)49 b(Domination)29 b(by)g(product)h(measures.)
197 1594 y Fs(The)23 b(Annals)h(of)g(Pr)l(obability)p
Fu(,)h(25\(1\):71\22695,)i(January)f(1997.)0 1782 y([13])47
b(Esti)23 b(Y)-9 b(e)o(ger)24 b(Lotem,)f(Idit)h(K)n(eidar)l(,)g(and)g
(Dann)o(y)g(Dole)n(v)-6 b(.)33 b(Dynamic)25 b(v)n(oting)g(for)f
(consistent)i(primary)f(components.)197 1895 y(In)e Fs(Symposium)i(on)f
(Principles)h(of)f(Distrib)n(uted)i(Computing)f(\(PODC\))p
Fu(,)c(pages)k(63\22671,)g(1997.)0 2082 y([14])47 b(Nanc)o(y)27
b(A.)f(L)-5 b(ynch)27 b(and)h(Ale)o(xander)g(A.)e(Shv)n(artsman.)46
b(Rob)n(ust)28 b(emulation)h(of)e(shared)h(memory)g(using)g(dynamic)197
2195 y(quorum-ackno)n(wledged)d(broadcasts.)i(In)20 b
Fs(Symposium)h(on)f(F)-7 b(ault-T)f(oler)o(ant)22 b(Computing)p
Fu(,)f(pages)g(272\226281,)h(1997.)0 2383 y([15])47 b(Mamoru)28
b(Maeka)o(w)o(a.)45 b(A)1048 2306 y Fq(p)p 1123 2306
83 4 v 1123 2383 a Fr(N)37 b Fu(algorithm)29 b(for)e(mutual)i(e)o
(xclusion)g(in)f(decentralized)j(systems.)46 b Fs(A)m(CM)26
b(T)-5 b(r)o(ansac-)197 2496 y(tions)24 b(on)g(Computer)g(Systems)p
Fu(,)h(3\(2\):145\226159,)i(May)c(1985.)0 2683 y([16])47
b(Dahlia)27 b(Malkhi,)g(Moni)f(Naor)l(,)h(and)g(Da)n(vid)f(Ratajczak.)
44 b(V)-5 b(icero)o(y:)35 b(A)25 b(scalable)j(and)e(dynamic)i
(emulation)g(of)e(the)197 2796 y(b)n(utter\003y)-6 b(.)35
b(In)23 b Fs(A)m(CM)f(Conf)o(.)h(on)h(Principles)h(of)f(Distrib)n(uted)
i(Computing)e(\(PODC\))p Fu(,)e(2002.)0 2984 y([17])47
b(Mikhail)32 b(V)-12 b(.)29 b(Menshik)o(o)o(v)-6 b(.)58
b(Coincidence)33 b(of)e(critical)h(points)g(in)e(percolation)k
(problems.)57 b Fs(So)o(viet)32 b(Mathematics)197 3097
y(Doklady)p Fu(,)24 b(33:856\226859,)j(1986.)0 3284 y([18])47
b(Rajee)n(v)35 b(Motw)o(ani)f(and)h(Prabhakar)h(Ragha)n(v)n(an.)69
b Fs(Randomized)36 b(Algorithms)p Fu(.)69 b(Cambridge)36
b(Uni)n(v)o(ersity)f(Press,)197 3397 y(1997.)0 3585 y([19])47
b(Moni)34 b(Naor)g(and)g(Udi)f(W)l(ieder)-5 b(.)68 b(No)o(v)o(el)33
b(architectures)38 b(for)c(p2p)g(applications:)54 b(the)34
b(continuous-discrete)40 b(ap-)197 3698 y(proach.)35
b(In)23 b Fs(F)l(ifteenth)i(A)m(CM)d(Symposium)j(on)e(P)-7
b(ar)o(allelism)25 b(in)e(Algorithms)i(and)f(Ar)m(c)o(hitectur)m(es)i
(\(SP)-8 b(AA\))p Fu(,)22 b(2003.)0 3885 y([20])47 b(Moni)25
b(Naor)f(and)h(A)-7 b(vishai)26 b(W)-7 b(ool.)36 b(Access)25
b(control)h(and)f(signatures)i(via)e(quorum)h(secret)f(sharing.)38
b Fs(IEEE)23 b(T)-5 b(r)o(ans-)197 3998 y(actions)25
b(on)f(P)-7 b(ar)o(allel)24 b(and)g(Distrib)n(uted)i(Systems)p
Fu(,)e(9\(9\):909\226922,)k(1998.)0 4186 y([21])47 b(Moni)25
b(Naor)g(and)h(A)-7 b(vishai)26 b(W)-7 b(ool.)38 b(The)24
b(load,)i(capacity)-6 b(,)27 b(and)f(a)n(v)n(ailability)i(of)d(quorum)h
(systems.)39 b Fs(SIAM)24 b(J)n(ournal)197 4299 y(on)g(Computing)p
Fu(,)g(27\(2\):423\226447,)k(1998.)0 4487 y([22])47 b(Atsyuki)21
b(Okabe,)g(Barry)g(Boots,)g(K)m(okichi)g(Sugihara,)h(and)e(Sung)h(Nok)f
(Chiu.)26 b Fs(Spatial)c(T)-8 b(essellations)22 b(\227)e(Concepts)197
4599 y(and)k(Applications)i(of)e(V)-10 b(or)l(onoi)24
b(Dia)o(gr)o(ams)p Fu(.)34 b(W)l(ile)o(y)-6 b(,)24 b(Chichester)l(,)i
(second)f(edition,)g(2000.)0 4787 y([23])47 b(Da)n(vid)33
b(Pele)o(g)g(and)g(A)-7 b(vishai)34 b(W)-7 b(ool.)63
b(Ho)n(w)32 b(to)g(be)h(an)g(ef)n(\002cient)h(snoop,)i(or)d(the)g
(probe)h(comple)o(xity)g(of)f(quorum)197 4900 y(systems.)h
Fs(SIAM)23 b(J)n(ournal)i(on)f(Discr)m(ete)g(Mathematics)p
Fu(,)h(15\(3\):416\226433,)j(August)d(2002.)0 5088 y([24])47
b(Roberto)d(De)e(Prisco,)48 b(Alan)43 b(Fek)o(ete,)48
b(Nanc)o(y)43 b(A.)e(L)-5 b(ynch,)48 b(and)43 b(Ale)o(xander)i(A.)c
(Shv)n(artsman.)96 b(A)42 b(dynamic)197 5200 y(vie)n(w-oriented)31
b(group)g(communication)g(service.)52 b(In)28 b Fs(Symposium)i(on)f
(Principles)i(of)e(Distrib)n(uted)i(Computing)197 5313
y(\(PODC\))p Fu(,)21 b(pages)k(227\226236,)h(1998.)1905
5589 y(19)p eop end
%%Page: 20 20
TeXDict begin 20 19 bop 0 91 a Fu([25])47 b(Sylvia)25
b(Ratnasamy)-6 b(,)27 b(P)o(aul)d(Francis,)i(Mark)f(Handle)o(y)-6
b(,)26 b(Richard)g(Karp,)f(and)g(Scott)g(Shenk)o(er)-5
b(.)39 b(A)23 b(scalable)k(content)197 204 y(addressable)g(netw)o(ork.)
34 b(In)24 b Fs(Pr)l(oc)f(A)m(CM)f(SIGCOMM)p Fu(,)f(pages)k
(161\226172,)h(2001.)0 392 y([26])47 b(Be)n(v)o(erly)37
b(A.)e(Sanders.)75 b(The)36 b(information)j(structure)g(of)d(distrib)n
(uted)k(mutual)d(e)o(xclusion)h(algorithms.)77 b Fs(A)m(CM)197
505 y(T)-5 b(r)o(ansactions)26 b(on)e(Computer)g(Systems)p
Fu(,)g(5\(3\):284\226299,)k(August)c(1987.)0 692 y([27])47
b(Ian)25 b(Stoica,)h(Robert)g(Morris,)g(Da)n(vid)g(Kar)n(ger)l(,)g
(Frans)g(Kaashoek,)h(and)f(Hari)f(Balakrishnan.)41 b(Chord:)33
b(A)24 b(scalable)197 805 y(Peer)n(-T)-7 b(o-Peer)31
b(lookup)g(service)h(for)e(internet)i(applications.)57
b(In)30 b Fs(Pr)l(oceedings)j(of)c(the)i(2001)g(A)m(CM)d(SIGCOMM)197
918 y(Confer)m(ence)p Fu(,)d(pages)g(149\226160,)g(2001.)1905
5589 y(20)p eop end
%%Trailer
userdict /end-hook known{end-hook}if
%%EOF