One document matched: draft-ietf-eap-statemachine-00.ps
%!PS-Adobe-2.0
%%Creator: dvips(k) 5.86 Copyright 1999 Radical Eye Software
%%Title: draft-ietf-eap-statemachine-00.dvi
%%Pages: 32
%%PageOrder: Ascend
%%BoundingBox: 0 0 596 842
%%DocumentFonts: Times-Roman Times-Bold Courier Helvetica Helvetica-Bold
%%+ Helvetica-Oblique Helvetica-BoldOblique Times-Italic
%%+ Times-BoldItalic Courier-Bold Courier-Oblique Courier-BoldOblique
%%+ Symbol
%%EndComments
%DVIPSWebPage: (www.radicaleye.com)
%DVIPSCommandLine: dvips -o draft-ietf-eap-statemachine-00.ps
%+ draft-ietf-eap-statemachine-00.dvi
%DVIPSParameters: dpi=600, compressed
%DVIPSSource: TeX output 2003.09.18:0540
%%BeginProcSet: texc.pro
%!
/TeXDict 300 dict def TeXDict begin/N{def}def/B{bind def}N/S{exch}N/X{S
N}B/A{dup}B/TR{translate}N/isls false N/vsize 11 72 mul N/hsize 8.5 72
mul N/landplus90{false}def/@rigin{isls{[0 landplus90{1 -1}{-1 1}ifelse 0
0 0]concat}if 72 Resolution div 72 VResolution div neg scale isls{
landplus90{VResolution 72 div vsize mul 0 exch}{Resolution -72 div hsize
mul 0}ifelse TR}if Resolution VResolution vsize -72 div 1 add mul TR[
matrix currentmatrix{A A round sub abs 0.00001 lt{round}if}forall round
exch round exch]setmatrix}N/@landscape{/isls true N}B/@manualfeed{
statusdict/manualfeed true put}B/@copies{/#copies X}B/FMat[1 0 0 -1 0 0]
N/FBB[0 0 0 0]N/nn 0 N/IEn 0 N/ctr 0 N/df-tail{/nn 8 dict N nn begin
/FontType 3 N/FontMatrix fntrx N/FontBBox FBB N string/base X array
/BitMaps X/BuildChar{CharBuilder}N/Encoding IEn N end A{/foo setfont}2
array copy cvx N load 0 nn put/ctr 0 N[}B/sf 0 N/df{/sf 1 N/fntrx FMat N
df-tail}B/dfs{div/sf X/fntrx[sf 0 0 sf neg 0 0]N df-tail}B/E{pop nn A
definefont setfont}B/Cw{Cd A length 5 sub get}B/Ch{Cd A length 4 sub get
}B/Cx{128 Cd A length 3 sub get sub}B/Cy{Cd A length 2 sub get 127 sub}
B/Cdx{Cd A length 1 sub get}B/Ci{Cd A type/stringtype ne{ctr get/ctr ctr
1 add N}if}B/id 0 N/rw 0 N/rc 0 N/gp 0 N/cp 0 N/G 0 N/CharBuilder{save 3
1 roll S A/base get 2 index get S/BitMaps get S get/Cd X pop/ctr 0 N Cdx
0 Cx Cy Ch sub Cx Cw add Cy setcachedevice Cw Ch true[1 0 0 -1 -.1 Cx
sub Cy .1 sub]/id Ci N/rw Cw 7 add 8 idiv string N/rc 0 N/gp 0 N/cp 0 N{
rc 0 ne{rc 1 sub/rc X rw}{G}ifelse}imagemask restore}B/G{{id gp get/gp
gp 1 add N A 18 mod S 18 idiv pl S get exec}loop}B/adv{cp add/cp X}B
/chg{rw cp id gp 4 index getinterval putinterval A gp add/gp X adv}B/nd{
/cp 0 N rw exit}B/lsh{rw cp 2 copy get A 0 eq{pop 1}{A 255 eq{pop 254}{
A A add 255 and S 1 and or}ifelse}ifelse put 1 adv}B/rsh{rw cp 2 copy
get A 0 eq{pop 128}{A 255 eq{pop 127}{A 2 idiv S 128 and or}ifelse}
ifelse put 1 adv}B/clr{rw cp 2 index string putinterval adv}B/set{rw cp
fillstr 0 4 index getinterval putinterval adv}B/fillstr 18 string 0 1 17
{2 copy 255 put pop}for N/pl[{adv 1 chg}{adv 1 chg nd}{1 add chg}{1 add
chg nd}{adv lsh}{adv lsh nd}{adv rsh}{adv rsh nd}{1 add adv}{/rc X nd}{
1 add set}{1 add clr}{adv 2 chg}{adv 2 chg nd}{pop nd}]A{bind pop}
forall N/D{/cc X A type/stringtype ne{]}if nn/base get cc ctr put nn
/BitMaps get S ctr S sf 1 ne{A A length 1 sub A 2 index S get sf div put
}if put/ctr ctr 1 add N}B/I{cc 1 add D}B/bop{userdict/bop-hook known{
bop-hook}if/SI save N @rigin 0 0 moveto/V matrix currentmatrix A 1 get A
mul exch 0 get A mul add .99 lt{/QV}{/RV}ifelse load def pop pop}N/eop{
SI restore userdict/eop-hook known{eop-hook}if showpage}N/@start{
userdict/start-hook known{start-hook}if pop/VResolution X/Resolution X
1000 div/DVImag X/IEn 256 array N 2 string 0 1 255{IEn S A 360 add 36 4
index cvrs cvn put}for pop 65781.76 div/vsize X 65781.76 div/hsize X}N
/p{show}N/RMat[1 0 0 -1 0 0]N/BDot 260 string N/Rx 0 N/Ry 0 N/V{}B/RV/v{
/Ry X/Rx X V}B statusdict begin/product where{pop false[(Display)(NeXT)
(LaserWriter 16/600)]{A length product length le{A length product exch 0
exch getinterval eq{pop true exit}if}{pop}ifelse}forall}{false}ifelse
end{{gsave TR -.1 .1 TR 1 1 scale Rx Ry false RMat{BDot}imagemask
grestore}}{{gsave TR -.1 .1 TR Rx Ry scale 1 1 false RMat{BDot}
imagemask grestore}}ifelse B/QV{gsave newpath transform round exch round
exch itransform moveto Rx 0 rlineto 0 Ry neg rlineto Rx neg 0 rlineto
fill grestore}B/a{moveto}B/delta 0 N/tail{A/delta X 0 rmoveto}B/M{S p
delta add tail}B/b{S p tail}B/c{-4 M}B/d{-3 M}B/e{-2 M}B/f{-1 M}B/g{0 M}
B/h{1 M}B/i{2 M}B/j{3 M}B/k{4 M}B/w{0 rmoveto}B/l{p -4 w}B/m{p -3 w}B/n{
p -2 w}B/o{p -1 w}B/q{p 1 w}B/r{p 2 w}B/s{p 3 w}B/t{p 4 w}B/x{0 S
rmoveto}B/y{3 2 roll p a}B/bos{/SS save N}B/eos{SS restore}B end
%%EndProcSet
%%BeginProcSet: 8r.enc
% @@psencodingfile@{
% author = "S. Rahtz, P. MacKay, Alan Jeffrey, B. Horn, K. Berry",
% version = "0.6",
% date = "22 June 1996",
% filename = "8r.enc",
% email = "kb@@mail.tug.org",
% address = "135 Center Hill Rd. // Plymouth, MA 02360",
% codetable = "ISO/ASCII",
% checksum = "119 662 4424",
% docstring = "Encoding for TrueType or Type 1 fonts to be used with TeX."
% @}
%
% Idea is to have all the characters normally included in Type 1 fonts
% available for typesetting. This is effectively the characters in Adobe
% Standard Encoding + ISO Latin 1 + extra characters from Lucida.
%
% Character code assignments were made as follows:
%
% (1) the Windows ANSI characters are almost all in their Windows ANSI
% positions, because some Windows users cannot easily reencode the
% fonts, and it makes no difference on other systems. The only Windows
% ANSI characters not available are those that make no sense for
% typesetting -- rubout (127 decimal), nobreakspace (160), softhyphen
% (173). quotesingle and grave are moved just because it's such an
% irritation not having them in TeX positions.
%
% (2) Remaining characters are assigned arbitrarily to the lower part
% of the range, avoiding 0, 10 and 13 in case we meet dumb software.
%
% (3) Y&Y Lucida Bright includes some extra text characters; in the
% hopes that other PostScript fonts, perhaps created for public
% consumption, will include them, they are included starting at 0x12.
%
% (4) Remaining positions left undefined are for use in (hopefully)
% upward-compatible revisions, if someday more characters are generally
% available.
%
% (5) hyphen appears twice for compatibility with both ASCII and Windows.
%
/TeXBase1Encoding [
% 0x00 (encoded characters from Adobe Standard not in Windows 3.1)
/.notdef /dotaccent /fi /fl
/fraction /hungarumlaut /Lslash /lslash
/ogonek /ring /.notdef
/breve /minus /.notdef
% These are the only two remaining unencoded characters, so may as
% well include them.
/Zcaron /zcaron
% 0x10
/caron /dotlessi
% (unusual TeX characters available in, e.g., Lucida Bright)
/dotlessj /ff /ffi /ffl
/.notdef /.notdef /.notdef /.notdef
/.notdef /.notdef /.notdef /.notdef
% very contentious; it's so painful not having quoteleft and quoteright
% at 96 and 145 that we move the things normally found there down to here.
/grave /quotesingle
% 0x20 (ASCII begins)
/space /exclam /quotedbl /numbersign
/dollar /percent /ampersand /quoteright
/parenleft /parenright /asterisk /plus /comma /hyphen /period /slash
% 0x30
/zero /one /two /three /four /five /six /seven
/eight /nine /colon /semicolon /less /equal /greater /question
% 0x40
/at /A /B /C /D /E /F /G /H /I /J /K /L /M /N /O
% 0x50
/P /Q /R /S /T /U /V /W
/X /Y /Z /bracketleft /backslash /bracketright /asciicircum /underscore
% 0x60
/quoteleft /a /b /c /d /e /f /g /h /i /j /k /l /m /n /o
% 0x70
/p /q /r /s /t /u /v /w
/x /y /z /braceleft /bar /braceright /asciitilde
/.notdef % rubout; ASCII ends
% 0x80
/.notdef /.notdef /quotesinglbase /florin
/quotedblbase /ellipsis /dagger /daggerdbl
/circumflex /perthousand /Scaron /guilsinglleft
/OE /.notdef /.notdef /.notdef
% 0x90
/.notdef /.notdef /.notdef /quotedblleft
/quotedblright /bullet /endash /emdash
/tilde /trademark /scaron /guilsinglright
/oe /.notdef /.notdef /Ydieresis
% 0xA0
/.notdef % nobreakspace
/exclamdown /cent /sterling
/currency /yen /brokenbar /section
/dieresis /copyright /ordfeminine /guillemotleft
/logicalnot
/hyphen % Y&Y (also at 45); Windows' softhyphen
/registered
/macron
% 0xD0
/degree /plusminus /twosuperior /threesuperior
/acute /mu /paragraph /periodcentered
/cedilla /onesuperior /ordmasculine /guillemotright
/onequarter /onehalf /threequarters /questiondown
% 0xC0
/Agrave /Aacute /Acircumflex /Atilde /Adieresis /Aring /AE /Ccedilla
/Egrave /Eacute /Ecircumflex /Edieresis
/Igrave /Iacute /Icircumflex /Idieresis
% 0xD0
/Eth /Ntilde /Ograve /Oacute
/Ocircumflex /Otilde /Odieresis /multiply
/Oslash /Ugrave /Uacute /Ucircumflex
/Udieresis /Yacute /Thorn /germandbls
% 0xE0
/agrave /aacute /acircumflex /atilde
/adieresis /aring /ae /ccedilla
/egrave /eacute /ecircumflex /edieresis
/igrave /iacute /icircumflex /idieresis
% 0xF0
/eth /ntilde /ograve /oacute
/ocircumflex /otilde /odieresis /divide
/oslash /ugrave /uacute /ucircumflex
/udieresis /yacute /thorn /ydieresis
] def
%%EndProcSet
%%BeginProcSet: texnansi.enc
% @psencodingfile{
% author = "Y&Y, Inc.",
% version = "1.1",
% date = "1 December 1996",
% filename = "texnansi.enc",
% email = "help@YandY.com",
% address = "45 Walden Street // Concord, MA 01742, USA",
% codetable = "ISO/ASCII",
% checksum = "xx",
% docstring = "Encoding for fonts in Adobe Type 1 format for use with TeX."
% }
%
% The idea is to have all 228 characters normally included in Type 1 text
% fonts (plus a few more) available for typesetting. This is effectively
% the character set in Adobe Standard Encoding, ISO Latin 1, plus a few more.
%
% Character code assignments were made as follows:
%
% (1) The character layout largely matches `ASCII' in the 32 -- 126 range,
% except for `circumflex' in 94 and `tilde' in 126, to match `TeX text'
% (`asciicircumflex' and `asciitilde' appear in 158 and 142 instead).
%
% (2) The character layout matches `Windows ANSI' in almost all places,
% except for `quoteright' in 39 and `quoteleft' in 96 to match ASCII
% (`quotesingle' and `grave' appear in 129 and 18 instead).
%
% (3) The character layout matches `TeX typewriter' used by CM text fonts
% in most places (except for discordant positions such as hungarumlaut
% (instead of braceright), dotaccent (instead of underscore) etc.
%
% (4) Remaining characters are assigned arbitrarily to the `control character'
% range (0 -- 31), avoiding 0, 9, 10 and 13 in case we meet dumb software
% - similarly one should really avoid 127 and 128 if possible.
% In addition, the 8 open slots in Windows ANSI between 128 and 159 are used.
%
% (5) Y&Y Lucida Bright includes some extra ligatures and such; ff, ffi, ffl,
% and `dotlessj,' these are included 11 -- 15, and 17.
%
% (6) Hyphen appears both at 45 and 173 for compatibility with both ASCII
% and Windows ANSI.
%
% (7) It doesn't really matter where ligatures appear (both real, such as ffi,
% and pseudo such as ---) since these should not be accessed directly, only
% via ligature information in the TFM file.
%
% SAMPLE USAGE (in `psfonts.map' file for DVIPS):
%
% lbr LucidaBright "TeXnANSIEncoding ReEncodeFont" <texnansi.enc <lbr.pfb
%
% This tells DVIPS that the font called `lbr' in TeX has PostScript
% FontName `LucidaBright.' It also asks DVIPS to expand the file `lbr.pfb'
% into PFA form, to include the attached `texnansi.enc' encoding vector,
% and to then actually reencode the font based on that encoding vector.
%
% Revised 1996 June 1 by adding second position for `fl' to avoid Acrobat bug.
% Revised 1996 June 1 by adding second position for `fraction' for same reason.
% Revised 1997 Oct 1 by adding cwm (used in boundary char TFM code)
% Revised 1998 Mar 1 by adding Unicode for Euro character
%
/TeXnANSIEncoding [
/.notdef % 0
/Euro % /Uni20AC 1
/.notdef % 2
/.notdef % 3
/fraction % 4
/dotaccent % 5
/hungarumlaut % 6
/ogonek % 7
/fl % 8
/.notdef % /fraction % 9 not used (see 4), backward compatability only
/cwm % 10 not used, except boundary char internally maybe
/ff % 11
/fi % 12
/.notdef % /fl % 13 not used (see 8), backward compatability only
/ffi % 14
/ffl % 15
/dotlessi % 16
/dotlessj % 17
/grave % 18
/acute % 19
/caron % 20
/breve % 21
/macron % 22
/ring % 23
/cedilla % 24
/germandbls % 25
/ae % 26
/oe % 27
/oslash % 28
/AE % 29
/OE % 30
/Oslash % 31
/space % 32 % /suppress in TeX text
/exclam % 33
/quotedbl % 34 % /quotedblright in TeX text
/numbersign % 35
/dollar % 36
/percent % 37
/ampersand % 38
/quoteright % 39 % /quotesingle in ANSI
/parenleft % 40
/parenright % 41
/asterisk % 42
/plus % 43
/comma % 44
/hyphen % 45
/period % 46
/slash % 47
/zero % 48
/one % 49
/two % 50
/three % 51
/four % 52
/five % 53
/six % 54
/seven % 55
/eight % 56
/nine % 57
/colon % 58
/semicolon % 59
/less % 60 % /exclamdown in Tex text
/equal % 61
/greater % 62 % /questiondown in TeX text
/question % 63
/at % 64
/A % 65
/B % 66
/C % 67
/D % 68
/E % 69
/F % 70
/G % 71
/H % 72
/I % 73
/J % 74
/K % 75
/L % 76
/M % 77
/N % 78
/O % 79
/P % 80
/Q % 81
/R % 82
/S % 83
/T % 84
/U % 85
/V % 86
/W % 87
/X % 88
/Y % 89
/Z % 90
/bracketleft % 91
/backslash % 92 % /quotedblleft in TeX text
/bracketright % 93
/circumflex % 94 % /asciicircum in ASCII
/underscore % 95 % /dotaccent in TeX text
/quoteleft % 96 % /grave accent in ANSI
/a % 97
/b % 98
/c % 99
/d % 100
/e % 101
/f % 102
/g % 103
/h % 104
/i % 105
/j % 106
/k % 107
/l % 108
/m % 109
/n % 110
/o % 111
/p % 112
/q % 113
/r % 114
/s % 115
/t % 116
/u % 117
/v % 118
/w % 119
/x % 120
/y % 121
/z % 122
/braceleft % 123 % /endash in TeX text
/bar % 124 % /emdash in TeX test
/braceright % 125 % /hungarumlaut in TeX text
/tilde % 126 % /asciitilde in ASCII
/dieresis % 127 not used (see 168), use higher up instead
/Lslash % 128 this position is unfortunate, but now too late to fix
/quotesingle % 129
/quotesinglbase % 130
/florin % 131
/quotedblbase % 132
/ellipsis % 133
/dagger % 134
/daggerdbl % 135
/circumflex % 136
/perthousand % 137
/Scaron % 138
/guilsinglleft % 139
/OE % 140
/Zcaron % 141
/asciicircum % 142
/minus % 143
/lslash % 144
/quoteleft % 145
/quoteright % 146
/quotedblleft % 147
/quotedblright % 148
/bullet % 149
/endash % 150
/emdash % 151
/tilde % 152
/trademark % 153
/scaron % 154
/guilsinglright % 155
/oe % 156
/zcaron % 157
/asciitilde % 158
/Ydieresis % 159
/nbspace % 160 % /space (no break space)
/exclamdown % 161
/cent % 162
/sterling % 163
/currency % 164
/yen % 165
/brokenbar % 166
/section % 167
/dieresis % 168
/copyright % 169
/ordfeminine % 170
/guillemotleft % 171
/logicalnot % 172
/sfthyphen % 173 % /hyphen (hanging hyphen)
/registered % 174
/macron % 175
/degree % 176
/plusminus % 177
/twosuperior % 178
/threesuperior % 179
/acute % 180
/mu % 181
/paragraph % 182
/periodcentered % 183
/cedilla % 184
/onesuperior % 185
/ordmasculine % 186
/guillemotright % 187
/onequarter % 188
/onehalf % 189
/threequarters % 190
/questiondown % 191
/Agrave % 192
/Aacute % 193
/Acircumflex % 194
/Atilde % 195
/Adieresis % 196
/Aring % 197
/AE % 198
/Ccedilla % 199
/Egrave % 200
/Eacute % 201
/Ecircumflex % 202
/Edieresis % 203
/Igrave % 204
/Iacute % 205
/Icircumflex % 206
/Idieresis % 207
/Eth % 208
/Ntilde % 209
/Ograve % 210
/Oacute % 211
/Ocircumflex % 212
/Otilde % 213
/Odieresis % 214
/multiply % 215 % OE in T1
/Oslash % 216
/Ugrave % 217
/Uacute % 218
/Ucircumflex % 219
/Udieresis % 220
/Yacute % 221
/Thorn % 222
/germandbls % 223
/agrave % 224
/aacute % 225
/acircumflex % 226
/atilde % 227
/adieresis % 228
/aring % 229
/ae % 230
/ccedilla % 231
/egrave % 232
/eacute % 233
/ecircumflex % 234
/edieresis % 235
/igrave % 236
/iacute % 237
/icircumflex % 238
/idieresis % 239
/eth % 240
/ntilde % 241
/ograve % 242
/oacute % 243
/ocircumflex % 244
/otilde % 245
/odieresis % 246
/divide % 247 % oe in T1
/oslash % 248
/ugrave % 249
/uacute % 250
/ucircumflex % 251
/udieresis % 252
/yacute % 253
/thorn % 254
/ydieresis % 255 % germandbls in T1
] def
%%EndProcSet
%%BeginProcSet: tx8r.enc
% 8r.enc (0.6, 1-jul-98, by S. Rahtz, P. MacKay, Alan Jeffrey, B. Horn, K. Berry) renamed
/TeXBase1Encoding [
/.notdef
/dotaccent
/fi
/fl
/fraction
/hungarumlaut
/Lslash
/lslash
/ogonek
/ring
/.notdef
/breve
/minus
/.notdef
/Zcaron
/zcaron
/caron
/dotlessi
/dotlessj
/ff
/ffi
/ffl
/.notdef
/.notdef
/.notdef
/.notdef
/.notdef
/.notdef
/.notdef
/.notdef
/grave
/quotesingle
/space
/exclam
/quotedbl
/numbersign
/dollar
/percent
/ampersand
/quoteright
/parenleft
/parenright
/asterisk
/plus
/comma
/hyphen
/period
/slash
/zero
/one
/two
/three
/four
/five
/six
/seven
/eight
/nine
/colon
/semicolon
/less
/equal
/greater
/question
/at
/A
/B
/C
/D
/E
/F
/G
/H
/I
/J
/K
/L
/M
/N
/O
/P
/Q
/R
/S
/T
/U
/V
/W
/X
/Y
/Z
/bracketleft
/backslash
/bracketright
/asciicircum
/underscore
/quoteleft
/a
/b
/c
/d
/e
/f
/g
/h
/i
/j
/k
/l
/m
/n
/o
/p
/q
/r
/s
/t
/u
/v
/w
/x
/y
/z
/braceleft
/bar
/braceright
/asciitilde
/.notdef
/.notdef
/.notdef
/quotesinglbase
/florin
/quotedblbase
/ellipsis
/dagger
/daggerdbl
/circumflex
/perthousand
/Scaron
/guilsinglleft
/OE
/.notdef
/.notdef
/.notdef
/.notdef
/.notdef
/.notdef
/quotedblleft
/quotedblright
/bullet
/endash
/emdash
/tilde
/trademark
/scaron
/guilsinglright
/oe
/.notdef
/.notdef
/Ydieresis
/.notdef
/exclamdown
/cent
/sterling
/currency
/yen
/brokenbar
/section
/dieresis
/copyright
/ordfeminine
/guillemotleft
/logicalnot
/hyphen
/registered
/macron
/degree
/plusminus
/twosuperior
/threesuperior
/acute
/mu
/paragraph
/periodcentered
/cedilla
/onesuperior
/ordmasculine
/guillemotright
/onequarter
/onehalf
/threequarters
/questiondown
/Agrave
/Aacute
/Acircumflex
/Atilde
/Adieresis
/Aring
/AE
/Ccedilla
/Egrave
/Eacute
/Ecircumflex
/Edieresis
/Igrave
/Iacute
/Icircumflex
/Idieresis
/Eth
/Ntilde
/Ograve
/Oacute
/Ocircumflex
/Otilde
/Odieresis
/multiply
/Oslash
/Ugrave
/Uacute
/Ucircumflex
/Udieresis
/Yacute
/Thorn
/germandbls
/agrave
/aacute
/acircumflex
/atilde
/adieresis
/aring
/ae
/ccedilla
/egrave
/eacute
/ecircumflex
/edieresis
/igrave
/iacute
/icircumflex
/idieresis
/eth
/ntilde
/ograve
/oacute
/ocircumflex
/otilde
/odieresis
/divide
/oslash
/ugrave
/uacute
/ucircumflex
/udieresis
/yacute
/thorn
/ydieresis
] def
%%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
TeXDict begin 39158280 55380996 1000 600 600
(draft-ietf-eap-statemachine-00.dvi) @start
%DVIPSBitmapFont: Fa cmmi10 10 2
/Fa 2 63 df<EF0380EF0FC0173FEFFF80933803FE00EE0FF8EE3FE0EEFF80DB03FEC7FC
ED0FF8ED3FE0EDFF80DA03FEC8FCEC0FF8EC3FE0ECFF80D903FEC9FCEB0FF8EB3FE0EBFF
80D803FECAFCEA0FF8EA3FE0EA7F8000FECBFCA2EA7F80EA3FE0EA0FF8EA03FEC66C7EEB
3FE0EB0FF8EB03FE903800FF80EC3FE0EC0FF8EC03FE913800FF80ED3FE0ED0FF8ED03FE
923800FF80EE3FE0EE0FF8EE03FE933800FF80EF3FC0170FEF0380323279AD41>60
D<126012FCB4FCEA7FC0EA1FF0EA07FCEA01FF38007FC0EB1FF0EB07FCEB01FF9038007F
C0EC1FF0EC07FCEC01FF9138007FC0ED1FF0ED07FCED01FF9238007FC0EE1FF0EE07FCEE
01FF9338007F80EF1FC0A2EF7F80933801FF00EE07FCEE1FF0EE7FC04B48C7FCED07FCED
1FF0ED7FC04A48C8FCEC07FCEC1FF0EC7FC04948C9FCEB07FCEB1FF0EB7FC04848CAFCEA
07FCEA3FF0EA7FC048CBFC12FC1270323279AD41>62 D E
%EndDVIPSBitmapFont
%DVIPSBitmapFont: Fb cmsy10 10 4
/Fb 4 107 df<EB1FF0EBFFFE487F000714C04814E04814F04814F8A24814FCA3B612FE
A96C14FCA36C14F8A26C14F06C14E06C14C0000114006C5BEB1FF01F1F7BA42A>15
D<EC01F8140FEC3F80ECFC00495A495A495AA2130F5CB3A7131F5C133F49C7FC13FEEA03
F8EA7FE048C8FCEA7FE0EA03F8EA00FE137F6D7E131F80130FB3A7801307A26D7E6D7E6D
7EEC3F80EC0FF814011D537ABD2A>102 D<12FCEAFFC0EA07F0EA01FCEA007E7F80131F
80130FB3A7801307806D7E6D7EEB007EEC1FF0EC07F8EC1FF0EC7E00495A495A495A5C13
0F5CB3A7131F5C133F91C7FC137E485AEA07F0EAFFC000FCC8FC1D537ABD2A>I<126012
F0B3B3B3B3A91260045377BD17>106 D E
%EndDVIPSBitmapFont
/Fc 131[50 4[50 50 50 50 50 50 1[50 50 50 1[50 50 1[50
50 50 1[50 50 50 1[50 4[50 8[50 2[50 2[50 50 6[50 2[50
50 2[50 1[50 12[50 1[50 45[{TeXBase1Encoding ReEncodeFont}31
83.022 /Courier rf /Fd 134[42 1[60 42 46 28 32 37 46
46 42 46 69 23 46 1[23 46 42 28 37 46 37 46 42 10[60
1[55 46 60 1[51 1[60 78 55 2[32 2[51 55 1[60 55 60 7[42
42 42 42 42 42 42 42 42 42 1[21 28 3[28 28 37[46 2[{
TeXBase1Encoding ReEncodeFont}52 83.022 /Times-Bold rf
/Fe 134[60 1[86 60 66 40 47 53 66 66 60 66 100 33 66
1[33 66 60 40 53 66 53 66 60 12[80 66 86 1[73 1[86 113
3[47 2[73 80 1[86 80 86 7[60 60 60 60 60 60 60 60 60
60 8[40 36[66 2[{TeXBase1Encoding ReEncodeFont}47 119.552
/Times-Bold rf /Ff 134[50 1[72 50 55 33 39 44 1[55 50
55 83 28 55 1[28 55 1[33 44 55 44 55 50 13[55 2[61 1[72
94 3[39 2[61 66 72 1[66 72 9[50 50 50 50 50 50 50 50
1[25 33 42[55 2[{TeXBase1Encoding ReEncodeFont}42 99.6264
/Times-Bold rf /Fg 107[37 25[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 51 60 60 78 60 60 51 46 55 60 46 60 60 74 51
60 32 28 60 60 46 51 60 55 55 60 76 2[47 1[23 23 42 42
42 42 42 42 42 42 42 42 23 21 28 21 47 1[28 28 28 65
4[28 29[46 46 2[{TeXBase1Encoding ReEncodeFont}81 83.022
/Times-Roman rf end
%%EndProlog
%%BeginSetup
%%Feature: *Resolution 600dpi
TeXDict begin
%%PaperSize: A4
%%EndSetup
%%Page: 1 1
1 0 bop 0 568 a Fg(EAP)21 b(W)-7 b(orking)19 b(Group)2481
b(J.)21 b(V)-11 b(ollbrecht)0 667 y(Internet-Draft)2229
b(V)-11 b(ollbrecht)19 b(Consulting)g(LLC)0 767 y(Expires:)24
b(March)c(18,)f(2004)2450 b(P)-9 b(.)20 b(Eronen)3397
867 y(Nokia)3259 966 y(N.)g(Petroni)2819 1066 y(Uni)n(v)o(ersity)f(of)h
(Maryland)3329 1166 y(Y)-11 b(.)21 b(Ohba)3423 1265 y(T)-8
b(AIS)2934 1365 y(September)18 b(18,)i(2003)778 1638
y Ff(State)26 b(Machines)f(f)n(or)g(EAP)g(P)n(eer)h(and)f(A)-5
b(uthenticator)1153 1754 y(draft-ietf-eap-statemachine-00)0
2300 y Fe(Status)30 b(of)f(this)h(Memo)0 2585 y Fg(This)20
b(document)e(is)k(an)e(Internet-Draft)d(and)j(is)h(in)f(full)g
(conformance)e(with)i(all)h(pro)o(visions)d(of)i(Section)g(10)f(of)h
(RFC2026.)0 2784 y(Internet-Drafts)c(are)h(w)o(orking)g(documents)f(of)
h(the)h(Internet)f(Engineering)e(T)-7 b(ask)18 b(F)o(orce)f(\(IETF\),)g
(its)h(areas,)h(and)e(its)i(w)o(ork-)0 2884 y(ing)h(groups.)j(Note)d
(that)h(other)e(groups)g(may)h(also)g(distrib)n(ute)g(w)o(orking)e
(documents)h(as)i(Internet-Drafts.)0 3083 y(Internet-Drafts)k(are)i
(draft)g(documents)e(v)n(alid)i(for)g(a)g(maximum)f(of)h(six)g(months)g
(and)f(may)h(be)g(updated,)g(replaced,)h(or)0 3183 y(obsoleted)22
b(by)g(other)g(documents)f(at)j(an)o(y)e(time.)33 b(It)23
b(is)h(inappropriate)c(to)j(use)g(Internet-Drafts)e(as)i(reference)e
(material)i(or)0 3282 y(to)d(cite)h(them)f(other)f(than)h(as)h(\224w)o
(ork)e(in)i(progress.)-6 b(\224)0 3482 y(The)20 b(list)h(of)f(current)f
(Internet-Drafts)f(can)i(be)g(accessed)g(at)h(http://www)-5
b(.ietf.or)o(g/ietf/1id-abstracts.txt.)0 3681 y(The)20
b(list)h(of)f(Internet-Draft)e(Shado)n(w)h(Directories)h(can)g(be)g
(accessed)g(at)h(http://www)-5 b(.ietf.or)o(g/shado)n(w)g(.h)o(tml.)0
3880 y(This)20 b(Internet-Draft)e(will)j(e)o(xpire)e(on)h(March)f(18,)h
(2004.)0 4260 y Fe(Copyright)31 b(Notice)0 4545 y Fg(Cop)o(yright)19
b(\(C\))h(The)g(Internet)f(Society)h(\(2003\).)j(All)d(Rights)h(Reserv)
o(ed.)0 4925 y Fe(Abstract)0 5210 y Fg(This)15 b(document)f(describes)g
(a)i(set)g(of)f(state)h(machines)e(for)h(EAP)g(Peer)m(,)h(EAP)g
(Standalone)d(Authenticator)h(\(non-passthrough\),)0
5310 y(EAP)33 b(Back)o(end)e(Authenticator)g(\(for)g(use)i(on)e(AAA)i
(serv)o(ers\),)h(and)e(EAP)h(Full)g(Authenticator)d(\(for)h(both)h
(local)g(and)p eop
%%Page: 2 2
2 1 bop 0 100 a Fg(INTERNET)-8 b(-DRAFT)862 b(EAP)21
b(State)f(Machine)841 b(September)19 b(2003)0 390 y(passthrough\).)31
b(This)23 b(set)h(of)f(state)g(machines)g(sho)n(ws)g(ho)n(w)f(EAP)i
(can)e(be)h(implemented)f(to)h(support)e(deplo)o(yment)g(in)i(ei-)0
490 y(ther)g(a)g(Peer/AP)h(or)f(Peer/AP/AAA)g(Serv)o(er)f(en)m
(vironment.)31 b(The)23 b(Peer)g(and)f(Standalone)g(Authenticator)f
(machines)i(are)0 589 y(illustrati)n(v)o(e)c(of)h(ho)n(w)g(the)g(EAP)g
(protocol)e(de\002ned)h(in)h([I-D.ietf-eap-rfc2284bis])14
b(may)20 b(be)g(implemented.)j(The)c(Back)o(end)0 689
y(and)29 b(Full/P)o(assthrough)e(Authenticators)g(illustrate)i(ho)n(w)g
(EAP/RADIUS)g(protocol)f(support)f(de\002ned)i(in)g([RFC3579])0
789 y(may)20 b(be)g(implemented.)j(Where)d(there)g(are)g(dif)n
(ferences)e([I-D.ietf-eap-rfc2284bis]/[)o(RFC3579)o(])d(are)20
b(authoritati)n(v)o(e.)0 988 y(This)h(document)d(describes)j(a)g(state)
g(machine)f(based)g(on)g(an)h(EAP)g(\224Switch\224)f(model.)26
b(This)20 b(model)g(includes)g(e)n(v)o(ents)g(and)0 1088
y(actions)26 b(for)g(the)g(interaction)f(between)h(the)g(EAP)h(Switch)f
(and)g(EAP)h(methods.)42 b(The)26 b(State)h(Machine)e(and)h(associated)
0 1187 y(model)19 b(are)h(informati)n(v)o(e)e(only)-5
b(.)24 b(Implementations)18 b(may)h(achie)n(v)o(e)g(the)i(same)f
(results)h(using)e(dif)n(ferent)g(methods.)0 1386 y(A)i(brief)e
(description)g(of)h(the)g(EAP)h(\224Switch\224)f(model)f(is)i(gi)n(v)o
(en)e(in)h(the)h(Introduction)c(section.)0 1586 y(The)31
b(authors)f(belie)n(v)o(e)h(this)h(document)d(corresponds)g(to)j(the)f
(current)f(state)i(of)f(re)n(visions)g(to)g(the)h(de\002ning)e
([I-D/ietf-)0 1685 y(eap-rfc2284bis]/[RFC3579])24 b(documents.)52
b(The)30 b(intent)f(is)i(for)e(this)h(document)e(to)i(synchronize)d
(with)j(the)g(de\002ning)0 1785 y(documents)18 b(when)i(the)o(y)g(are)g
(released,)f(and)h(if)g(discrepancies)f(are)h(found)f(the)h(de\002ning)
f(documents)f(are)j(authoritati)n(v)o(e.)0 2165 y Fe(Contents)0
2450 y Fd(1)83 b(Speci\002cation)19 b(of)h(Requir)o(ements)2374
b(4)0 2732 y(2)83 b(The)21 b(EAP)f(Switch)h(Model)2601
b(4)0 3015 y(3)83 b(Notational)18 b(con)m(v)o(entions)h(used)i(in)g
(state)f(diagrams)1811 b(6)125 3214 y Fg(3.1)85 b(Notational)20
b(speci\002cs)44 b(.)d(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g
(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)
g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)154 b(6)125 3413 y(3.2)85
b(State)21 b(Machine)f(Symbols)36 b(.)41 b(.)g(.)g(.)h(.)f(.)g(.)g(.)h
(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)
g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)154 b(7)125
3612 y(3.3)85 b(Document)19 b(authority)33 b(.)41 b(.)h(.)f(.)g(.)g(.)h
(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)
g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)154
b(8)0 3895 y Fd(4)83 b(P)n(eer)20 b(State)g(Machine)2743
b(8)125 4094 y Fg(4.1)85 b(Interf)o(ace)19 b(between)h(peer)f(state)i
(machine)e(and)h(lo)n(wer)g(layer)56 b(.)41 b(.)g(.)h(.)f(.)g(.)g(.)h
(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)154
b(9)315 4293 y(4.1.1)98 b(V)-9 b(ariables)20 b(\(lo)n(wer)f(layer)h(to)
g(peer\))50 b(.)41 b(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)
g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)113
b(10)315 4492 y(4.1.2)98 b(V)-9 b(ariables)20 b(\(peer)f(to)h(lo)n(wer)
g(layer\))50 b(.)41 b(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g
(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)113
b(10)315 4692 y(4.1.3)98 b(Constants)46 b(.)41 b(.)g(.)h(.)f(.)g(.)g(.)
h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g
(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)113
b(11)125 4891 y(4.2)85 b(Interf)o(ace)19 b(between)h(peer)f(state)i
(machine)e(and)h(methods)j(.)42 b(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f
(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)113
b(11)125 5090 y(4.3)85 b(Peer)21 b(state)g(machine)e(local)h(v)n
(ariables)75 b(.)41 b(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h
(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)
113 b(12)315 5289 y(4.3.1)98 b(Long-term)18 b(\(maintained)g(between)i
(pack)o(ets\))64 b(.)42 b(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g
(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)113 b(12)0
5656 y(V)-11 b(ollbrecht,)19 b(et)i(al.)986 b(Expires)19
b(March)g(18,)h(2004)984 b([P)o(age)20 b(2])p eop
%%Page: 3 3
3 2 bop 0 100 a Fg(INTERNET)-8 b(-DRAFT)862 b(EAP)21
b(State)f(Machine)841 b(September)19 b(2003)315 390 y(4.3.2)98
b(Short-term)19 b(\(not)g(maintained)g(between)g(pack)o(ets\))58
b(.)41 b(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)
g(.)h(.)f(.)g(.)113 b(13)125 589 y(4.4)85 b(Peer)21 b(state)g(machine)e
(procedures)65 b(.)41 b(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g
(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)
f(.)g(.)113 b(13)125 789 y(4.5)85 b(Peer)21 b(state)g(machine)e(states)
61 b(.)41 b(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g
(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)
f(.)g(.)113 b(13)0 1071 y Fd(5)83 b(Standalone)19 b(A)l(uthenticator)g
(State)g(Machine)1951 b(14)125 1270 y Fg(5.1)85 b(Interf)o(ace)19
b(between)h(standalone)f(authenticator)f(state)j(machine)e(and)g(lo)n
(wer)h(layer)75 b(.)41 b(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)113
b(15)315 1469 y(5.1.1)98 b(V)-9 b(ariables)20 b(\(lo)n(wer)f(layer)h
(to)g(standalone)f(authenticator\))67 b(.)41 b(.)g(.)g(.)h(.)f(.)g(.)g
(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)113 b(16)315
1669 y(5.1.2)98 b(V)-9 b(ariables)20 b(\(standalone)e(authenticator)h
(to)h(lo)n(wer)g(layer\))68 b(.)41 b(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)
g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)113 b(16)315 1868 y(5.1.3)98
b(Constants)46 b(.)41 b(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g
(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)
f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)113 b(17)125 2067
y(5.2)85 b(Interf)o(ace)19 b(between)h(standalone)f(authenticator)f
(state)j(machine)e(and)g(methods)42 b(.)f(.)h(.)f(.)g(.)g(.)h(.)f(.)g
(.)h(.)f(.)g(.)113 b(17)125 2267 y(5.3)85 b(Standalone)19
b(authenticator)f(state)j(machine)e(local)i(v)n(ariables)h(.)41
b(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h
(.)f(.)g(.)113 b(18)315 2466 y(5.3.1)98 b(Long-term)18
b(\(maintained)g(between)i(pack)o(ets\))64 b(.)42 b(.)f(.)g(.)g(.)h(.)f
(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)113
b(18)315 2665 y(5.3.2)98 b(Short-term)19 b(\(not)g(maintained)g
(between)g(pack)o(ets\))58 b(.)41 b(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g
(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)113 b(18)125
2864 y(5.4)85 b(EAP)21 b(standalone)e(authenticator)f(procedures)74
b(.)41 b(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)
h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)113 b(19)125
3064 y(5.5)85 b(EAP)21 b(standalone)e(authenticator)f(states)70
b(.)42 b(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)
f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)113
b(20)0 3346 y Fd(6)83 b(EAP)20 b(Back)o(end)h(A)l(uthenticator)2381
b(21)125 3545 y Fg(6.1)85 b(Interf)o(ace)19 b(between)h(back)o(end)e
(authenticator)h(state)h(machine)f(and)h(lo)n(wer)g(layer)29
b(.)41 b(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)113
b(21)315 3744 y(6.1.1)98 b(V)-9 b(ariables)20 b(\(AAA)g(interf)o(ace)f
(to)i(back)o(end)d(authenticator\))30 b(.)41 b(.)g(.)g(.)h(.)f(.)g(.)g
(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)113 b(21)315
3944 y(6.1.2)98 b(V)-9 b(ariables)20 b(\(back)o(end)e(authenticator)g
(to)j(AAA)f(interf)o(ace\))31 b(.)41 b(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f
(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)113 b(21)125 4143
y(6.2)85 b(Interf)o(ace)19 b(between)h(back)o(end)e(authenticator)h
(state)h(machine)f(and)h(methods)59 b(.)41 b(.)g(.)h(.)f(.)g(.)g(.)h(.)
f(.)g(.)h(.)f(.)g(.)113 b(23)125 4342 y(6.3)85 b(Back)o(end)20
b(authenticator)e(state)j(machine)e(local)h(v)n(ariables)40
b(.)h(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f
(.)g(.)h(.)f(.)g(.)113 b(23)125 4541 y(6.4)85 b(EAP)21
b(back)o(end)e(authenticator)f(procedures)29 b(.)41 b(.)g(.)g(.)h(.)f
(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)
h(.)f(.)g(.)h(.)f(.)g(.)113 b(23)125 4741 y(6.5)85 b(EAP)21
b(back)o(end)e(authenticator)f(states)25 b(.)41 b(.)g(.)h(.)f(.)g(.)g
(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)
g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)113 b(24)0 5023 y Fd(7)83
b(EAP)20 b(Full)h(A)l(uthenticator)2546 b(24)125 5222
y Fg(7.1)85 b(Interf)o(ace)19 b(between)h(full)g(authenticator)e(state)
j(machine)e(and)h(lo)n(wer)f(layers)34 b(.)41 b(.)g(.)g(.)h(.)f(.)g(.)g
(.)h(.)f(.)g(.)h(.)f(.)g(.)113 b(24)0 5656 y(V)-11 b(ollbrecht,)19
b(et)i(al.)986 b(Expires)19 b(March)g(18,)h(2004)984
b([P)o(age)20 b(3])p eop
%%Page: 4 4
4 3 bop 0 100 a Fg(INTERNET)-8 b(-DRAFT)862 b(EAP)21
b(State)f(Machine)841 b(September)19 b(2003)315 390 y(7.1.1)98
b(V)-9 b(ariables)20 b(\(AAA)g(interf)o(ace)f(to)i(full)f
(authenticator\))65 b(.)41 b(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)
g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)113 b(24)315 589 y(7.1.2)98
b(V)-9 b(ariables)20 b(\(full)g(authenticator)e(to)i(AAA)h(interf)o
(ace\))66 b(.)41 b(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h
(.)f(.)g(.)h(.)f(.)g(.)113 b(26)315 789 y(7.1.3)98 b(Constants)46
b(.)41 b(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)
g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h
(.)f(.)g(.)h(.)f(.)g(.)113 b(27)125 988 y(7.2)85 b(Interf)o(ace)19
b(between)h(full)g(authenticator)e(state)j(machine)e(and)h(methods)32
b(.)41 b(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)113
b(27)125 1187 y(7.3)85 b(Full)21 b(authenticator)d(state)j(machine)e
(local)h(v)n(ariables)71 b(.)41 b(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h
(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)113
b(27)315 1386 y(7.3.1)98 b(Short-term)19 b(\(not)g(maintained)g
(between)g(pack)o(ets\))58 b(.)41 b(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g
(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)113 b(27)125
1586 y(7.4)85 b(EAP)21 b(full)f(authenticator)e(procedures)65
b(.)41 b(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)
h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)113
b(27)125 1785 y(7.5)85 b(EAP)21 b(full)f(authenticator)e(states)61
b(.)42 b(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)
f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)113
b(28)0 2067 y Fd(8)83 b(Implementation)20 b(Considerations)2268
b(29)0 2350 y(9)83 b(Security)19 b(Considerations)2541
b(29)0 2632 y(10)41 b(Ackno)o(wledgments)2742 b(29)0
3012 y Fe(1)119 b(Speci\002cation)32 b(of)e(Requir)n(ements)0
3297 y Fg(In)25 b(this)h(document,)f(se)n(v)o(eral)f(w)o(ords)h(are)h
(used)f(to)g(signify)g(the)h(requirements)d(of)i(the)h
(speci\002cation.)39 b(These)26 b(w)o(ords)f(are)0 3396
y(often)30 b(capitalized.)55 b(The)30 b(k)o(e)o(y)g(w)o(ords)g
(\224MUST\224,)j(\224MUST)d(NO)m(T\224,)j(\224REQ)o(UIRED\224,)g
(\224SHALL\224,)g(\224SHALL)d(NO)m(T\224,)0 3496 y(\224SHOULD\224,)23
b(\224SHOULD)h(NO)m(T\224,)f(\224RECOMMENDED\224,)g(\224MA)-9
b(Y\224,)24 b(and)e(\224OPTION)m(AL\224)h(in)g(this)g(document)e(are)i
(to)0 3596 y(be)d(interpreted)f(as)h(described)f(in)i([RFC2119].)0
3976 y Fe(2)119 b(The)31 b(EAP)e(Switch)j(Model)0 4261
y Fg(This)24 b(document)e(of)n(fers)h(a)i(proposed)d(state)j(machine)e
(for)g(RFCs)j([I-D.ietf-eap-rfc2284b)o(is])19 b(and)k([RFC3579])g(.)37
b(There)0 4360 y(are)22 b(state)i(machines)d(for)h(the)h(peer)m(,)f
(the)g(standalone)g(authenticator)m(,)e(a)j(back)o(end)e(authenticator)
f(and)i(a)h(full/passthrough)0 4460 y(authenticator)-5
b(.)25 b(Accompan)o(ying)18 b(each)i(state)i(machine)e(diagram)f(is)j
(a)f(description)e(of)i(the)g(v)n(ariables,)f(the)h(functions)e(and)0
4560 y(the)h(states)h(in)g(the)f(diagram.)k(Whene)n(v)o(er)18
b(possible,)i(the)g(same)g(notation)f(has)i(been)e(used)h(in)g(each)g
(of)g(the)g(state)h(machines.)0 4759 y(An)k(EAP)g(authentication)d
(consists)k(of)e(one)g(or)h(more)e(EAP)i(methods)f(in)h(sequence)e
(follo)n(wed)h(by)g(an)h(EAP)g(Success)g(or)0 4858 y(EAP)20
b(F)o(ailure)f(sent)h(from)f(the)h(Authenticator)e(to)i(the)f(peer)-5
b(.)25 b(The)20 b(EAP)g(Switches)g(control)e(ne)o(gotiation)g(of)h(EAP)
i(methods)0 4958 y(and)f(sequences)f(of)h(methods.)0
5157 y(At)g(both)f(the)h(peer)g(and)f(authenticator)f(one)h(or)h(more)f
(EAP)h(methods)f(e)o(xist.)25 b(The)19 b(EAP)i(switches)f(select)g
(which)g(methods)0 5257 y(each)g(is)h(willing)f(to)g(use,)h(and)e(ne)o
(gotiate)g(between)g(themselv)o(es)h(to)g(pick)g(a)h(method)d(or)i
(sequence)f(of)h(methods.)0 5656 y(V)-11 b(ollbrecht,)19
b(et)i(al.)986 b(Expires)19 b(March)g(18,)h(2004)984
b([P)o(age)20 b(4])p eop
%%Page: 5 5
5 4 bop 0 100 a Fg(INTERNET)-8 b(-DRAFT)862 b(EAP)21
b(State)f(Machine)841 b(September)19 b(2003)299 369 y
Fc(Peer)647 b(Peer)99 b(|)g(Authenticator)346 b(Auth)299
469 y(Method)846 b(|)1095 b(Method)648 569 y(\\)747 b(|)946
b(/)747 668 y(\\)648 b(|)846 b(/)797 768 y(Peer)448 b(|)647
b(Auth)797 868 y(EAP)199 b(<-----|---------->)96 b(EAP)797
967 y(Switch)348 b(|)647 b(Switch)1313 1349 y Fg(Figure)20
b(1:)25 b(EAP)c(Switch)f(Model)0 1699 y(Note)g(that)g(the)h(methods)e
(may)g(also)i(ha)n(v)o(e)f(state)h(machines.)j(The)19
b(details)i(of)f(these)g(are)g(out)g(of)g(scope)g(for)f(this)i(paper)-5
b(.)697 1879 y Fc(Peer)99 b(|)h(Authenticator)645 b(|)49
b(Backend)996 1979 y(|)747 b(/)100 b(Local)248 b(|)996
2078 y(|)648 b(/)199 b(Method)f(|)697 2178 y(Peer)99
b(|)399 b(Auth)796 b(|)398 b(Backend)697 2278 y(EAP)50
b(--|----->)98 b(EAP)846 b(|)299 b(->)49 b(EAP)648 2377
y(Switch)f(|)349 b(Switch)746 b(|)149 b(/)199 b(Server)996
2477 y(|)648 b(\\)697 b(|/)996 2576 y(|)747 b(\\)50 b(passthrough|)996
2676 y(|)1395 b(|)1226 3158 y Fg(Figure)20 b(2:)25 b(EAP)c(P)o
(assthrough)d(Model)0 3440 y(The)f(Full/P)o(assthrough)e(state)j
(machine)f(allo)n(ws)g(a)h(N)m(AS)g(or)f(Edge)f(De)n(vice)h(to)h(pass)g
(EAP)f(messages)h(to)f(a)h(Back)o(end)f(Serv)o(er)0 3539
y(where)h(the)i(real)f(Authentication)e(Method)h(resides.)24
b(This)c(paper)e(includes)g(a)i(state)g(machine)d(for)i(the)g(EAP)h
(authenticator)0 3639 y(that)26 b(supports)f(both)g(local)h(and)f
(passthrough)f(methods)h(as)h(well)h(as)f(a)h(state)f(machine)f(for)g
(the)h(back)o(end)f(authenticator)0 3739 y(e)o(xisting)k(at)i(the)g
(AAA)f(serv)o(er)-5 b(.)55 b(A)31 b(simple)f(\224Standalone\224)e
(authenticator)h(is)i(also)f(pro)o(vided)e(to)i(sho)n(w)g(a)h(basic,)i
(non-)0 3838 y(passthrough)18 b(authenticator')-5 b(s)19
b(beha)n(vior)-5 b(.)0 4038 y(This)26 b(document)f(describes)g(a)i(set)
g(of)f(State)h(Machines)e(that)i(can)f(manage)e(EAP)j(authentication)d
(from)h(the)i(peer)e(to)i(an)0 4137 y(EAP)18 b(method)d(on)i(the)g
(Authenticator)f(or)h(from)f(the)h(Peer)g(through)e(the)j
(Authenticator)d(passthrough)g(method)h(to)h(the)g(EAP)0
4237 y(method)i(on)h(the)g(Back)o(end)f(EAP)i(serv)o(er)-5
b(.)0 4436 y(The)34 b(state)g(diagrams)f(presented)g(in)h(this)g
(document)e(ha)n(v)o(e)i(been)f(coordinated)f(with)i(the)g(diagrams)e
(in)j([IEEE.802-)0 4536 y(1aa.2003].)50 b(The)30 b(format)e(of)h(the)h
(diagrams)e(is)j(adapted)d(from)h(the)g(format)g(therein.)52
b(Portions)29 b(of)g(a)h(v)o(ersion)f(of)g(this)0 4635
y(document)18 b(are)i(included)f(as)i(Appendix)d(F)j(of)f
([IEEE.802-1aa.2003)o(].)0 5656 y(V)-11 b(ollbrecht,)19
b(et)i(al.)986 b(Expires)19 b(March)g(18,)h(2004)984
b([P)o(age)20 b(5])p eop
%%Page: 6 6
6 5 bop 0 100 a Fg(INTERNET)-8 b(-DRAFT)862 b(EAP)21
b(State)f(Machine)841 b(September)19 b(2003)0 390 y Fe(3)119
b(Notational)30 b(con)-5 b(v)o(entions)31 b(used)f(in)h(state)d
(diagrams)0 692 y Ff(3.1)99 b(Notational)24 b(speci\002cs)0
947 y Fg(The)15 b(follo)n(wing)e(state)j(diagrams)f(ha)n(v)o(e)f(been)h
(completed)e(based)i(on)g(the)g(con)m(v)o(entions)e(speci\002ed)h(in)i
([IEEE.802-1aa.2003)o(],)0 1047 y(section)k(8.2.1.)j(The)d(complete)f
(te)o(xt)h(is)i(reproduced)17 b(here:)0 1246 y(State)j(diagrams)f(are)h
(used)f(to)h(represent)e(the)i(operation)e(of)h(the)h(protocol)e(by)h
(a)h(number)e(of)i(cooperating)d(state)j(machines)0 1346
y(each)29 b(comprising)f(a)i(group)d(of)i(connected,mutually)d(e)o
(xclusi)n(v)o(e)i(states.)54 b(Only)29 b(one)g(state)h(of)f(each)g
(machine)f(can)i(be)0 1445 y(acti)n(v)o(e)20 b(at)g(an)o(y)g(gi)n(v)o
(en)f(time.)0 1645 y(Each)27 b(state)i(is)f(represented)e(in)i(the)g
(state)g(diagram)f(as)h(a)g(rectangular)e(box,)i(di)n(vided)f(into)g
(tw)o(o)h(parts)g(by)f(a)h(horizontal)0 1744 y(line.)39
b(The)25 b(upper)e(part)i(contains)f(the)h(state)h(identi\002er)m(,)f
(written)g(in)g(upper)e(case)j(letters.)39 b(The)25 b(lo)n(wer)g(part)f
(contains)g(an)o(y)0 1844 y(procedures)18 b(that)i(are)g(e)o(x)o
(ecuted)f(on)g(entry)h(to)g(the)g(state.)0 2043 y(All)27
b(permissible)f(transitions)h(between)e(states)j(are)f(represented)e
(by)h(arro)n(ws,)h(the)g(arro)n(whead)d(denoting)h(the)i(direction)0
2143 y(of)g(the)g(possible)f(transition.)45 b(Labels)27
b(attached)f(to)h(arro)n(ws)g(denote)e(the)i(condition\(s\))e(that)i
(must)g(be)g(met)g(in)g(order)f(for)0 2242 y(the)e(transition)f(to)i
(tak)o(e)f(place.)36 b(All)25 b(conditions)d(are)i(e)o(xpressions)f
(that)h(e)n(v)n(aluate)f(to)h(TR)m(UE)g(or)g(F)-6 b(ALSE;)25
b(if)f(a)g(condition)0 2342 y(e)n(v)n(aluates)d(to)h(TR)m(UE,)f(then)g
(the)h(condition)e(is)i(met.)30 b(The)21 b(label)g(UCT)i(denotes)d(an)i
(unconditional)d(transition)i(\(i.e.,)g(UCT)0 2442 y(al)o(w)o(ays)h(e)n
(v)n(aluates)e(to)i(TR)m(UE\).)e(A)i(transition)f(that)g(is)h(global)e
(in)i(nature)e(\(i.e.,)h(a)h(transition)e(that)h(occurs)g(from)f(an)o
(y)h(of)g(the)0 2541 y(possible)d(states)g(if)h(the)e(condition)f
(attached)h(to)h(the)g(arro)n(w)f(is)i(met\))f(is)g(denoted)f(by)g(an)h
(open)f(arro)n(w;)g(i.e.,)h(no)g(speci\002c)g(state)0
2641 y(is)25 b(identi\002ed)e(as)h(the)g(origin)e(of)i(the)g
(transition.)34 b(When)24 b(the)g(condition)d(associated)j(with)g(a)g
(global)f(transition)g(is)h(met,)h(it)0 2741 y(supersedes)18
b(all)i(other)e(e)o(xit)h(conditions)f(including)f(UCT)-6
b(.)20 b(The)e(special)i(global)e(condition)f(BEGIN)i(supersedes)g(all)
g(other)0 2840 y(global)26 b(conditions,)h(and)f(once)g(asserted)h
(remains)f(asserted)h(until)f(all)i(state)f(blocks)f(ha)n(v)o(e)h(e)o
(x)o(ecuted)e(to)i(the)f(point)g(that)0 2940 y(v)n(ariable)19
b(assignments)h(and)f(other)h(consequences)e(of)i(their)g(e)o(x)o
(ecution)e(remain)h(unchanged.)0 3139 y(On)d(entry)f(to)i(a)f(state,)h
(the)g(procedures)c(de\002ned)i(for)h(the)g(state)h(\(if)f(an)o(y\))f
(are)h(e)o(x)o(ecuted)e(e)o(xactly)h(once,)h(in)g(the)g(order)f(that)h
(the)o(y)0 3239 y(appear)21 b(on)g(the)h(page.)29 b(Each)21
b(action)g(is)i(deemed)e(to)h(be)f(atomic;)i(i.e.,)f(e)o(x)o(ecution)d
(of)j(a)g(procedure)d(completes)i(before)g(the)0 3338
y(ne)o(xt)h(sequential)f(procedure)f(starts)k(to)e(e)o(x)o(ecute.)31
b(No)22 b(procedures)f(e)o(x)o(ecute)g(outside)g(of)i(a)g(state)g
(block.)31 b(The)22 b(procedures)0 3438 y(in)29 b(only)f(one)g(state)i
(block)e(e)o(x)o(ecute)f(at)i(a)g(time,)i(e)n(v)o(en)d(if)h(the)g
(conditions)e(for)h(e)o(x)o(ecution)f(of)i(state)g(blocks)f(in)h(dif)n
(ferent)0 3538 y(state)g(machines)e(are)i(satis\002ed,)h(and)e(all)h
(procedures)d(in)j(an)f(e)o(x)o(ecuting)e(state)j(block)e(complete)h(e)
o(x)o(ecution)e(before)h(the)0 3637 y(transition)19 b(to)h(and)f(e)o(x)
o(ecution)e(of)j(an)o(y)e(other)h(state)i(block)d(occurs,)h(i.e.,)h
(the)f(e)o(x)o(ecution)f(of)h(an)o(y)g(state)h(block)f(appears)g(to)h
(be)0 3737 y(atomic)e(with)g(respect)g(to)g(the)h(e)o(x)o(ecution)d(of)
i(an)o(y)f(other)h(state)h(block)e(and)h(the)g(transition)f(condition)g
(to)h(that)g(state)h(from)f(the)0 3836 y(pre)n(vious)h(state)j(is)g(TR)
m(UE)f(when)f(e)o(x)o(ecution)f(commences.)25 b(The)c(order)f(of)g(e)o
(x)o(ecution)f(of)i(state)g(blocks)g(in)g(dif)n(ferent)e(state)0
3936 y(machines)f(is)h(unde\002ned)d(e)o(xcept)i(as)h(constrained)e(by)
h(their)g(transition)f(conditions.A)g(v)n(ariable)g(that)i(is)g(set)g
(to)g(a)g(particular)0 4036 y(v)n(alue)i(in)h(a)h(state)g(block)e
(retains)h(this)g(v)n(alue)f(until)h(a)h(subsequent)d(state)j(block)e
(e)o(x)o(ecutes)g(a)h(procedure)e(that)i(modi\002es)g(the)0
4135 y(v)n(alue.)0 4335 y(On)c(completion)f(of)h(all)h(of)g(the)f
(procedures)e(within)j(a)f(state,)i(all)f(e)o(xit)f(conditions)f(for)h
(the)g(state)i(\(including)c(all)j(conditions)0 4434
y(associated)25 b(with)h(global)e(transitions\))h(are)g(e)n(v)n
(aluated)f(continuously)f(until)j(one)f(of)g(the)g(conditions)f(is)j
(met.)40 b(The)26 b(label)0 4534 y(ELSE)g(denotes)f(a)h(transition)f
(that)g(occurs)g(if)h(none)f(of)h(the)f(other)g(conditions)g(for)g
(transitions)g(from)g(the)g(state)i(are)e(met)0 4633
y(\(i.e.,)20 b(ELSE)g(e)n(v)n(aluates)f(to)i(TR)m(UE)f(if)h(all)g
(other)e(possible)h(e)o(xit)g(conditions)f(from)g(the)h(state)h(e)n(v)n
(aluate)f(to)g(F)-6 b(ALSE\).)20 b(Where)0 4733 y(tw)o(o)j(or)f(more)g
(e)o(xit)g(conditions)f(with)i(the)f(same)h(le)n(v)o(el)f(of)g
(precedence)f(become)g(TR)m(UE)i(simultaneously)-5 b(,)21
b(the)h(choice)g(as)0 4833 y(to)e(which)g(e)o(xit)g(condition)e(causes)
j(the)f(state)h(transition)e(to)i(tak)o(e)f(place)g(is)h(arbitrary)-5
b(.)0 5032 y(Where)20 b(it)g(is)h(necessary)e(to)h(split)g(a)h(state)f
(machine)f(description)f(across)i(more)f(than)h(one)f(diagram,)f(a)i
(transition)f(between)0 5132 y(tw)o(o)k(states)h(that)f(appear)f(on)g
(dif)n(ferent)g(diagrams)g(is)h(represented)e(by)i(an)g(e)o(xit)g(arro)
n(w)f(dra)o(wn)f(with)i(dashed)g(lines,)g(plus)g(a)0
5231 y(reference)d(to)j(the)f(diagram)e(that)i(contains)g(the)g
(destination)f(state.)31 b(Similarly)-5 b(,)21 b(dashed)g(arro)n(ws)h
(and)f(a)i(dashed)e(state)h(box)0 5331 y(are)e(used)g(on)f(the)h
(destination)f(diagram)f(to)j(sho)n(w)e(the)h(transition)f(to)h(the)g
(destination)f(state.)26 b(In)19 b(a)i(state)g(machine)d(that)i(has)0
5656 y(V)-11 b(ollbrecht,)19 b(et)i(al.)986 b(Expires)19
b(March)g(18,)h(2004)984 b([P)o(age)20 b(6])p eop
%%Page: 7 7
7 6 bop 0 100 a Fg(INTERNET)-8 b(-DRAFT)862 b(EAP)21
b(State)f(Machine)841 b(September)19 b(2003)0 390 y(been)i(split)h(in)g
(this)g(w)o(ay)-5 b(,)21 b(an)o(y)g(global)f(transitions)h(that)h(can)f
(cause)h(entry)e(to)i(states)g(de\002ned)f(in)h(one)e(of)i(the)f
(diagrams)g(are)0 490 y(deemed)f(to)i(be)g(potential)f(e)o(xit)g
(conditions)f(for)h(all)i(of)e(the)h(states)g(of)g(the)f(state)i
(machine,)d(re)o(gardless)g(of)i(which)f(diagram)0 589
y(the)f(state)h(box)o(es)e(appear)g(in.)0 789 y(Should)f(a)i
(con\003ict)f(e)o(xist)g(between)g(the)g(interpretation)e(of)i(a)h
(state)g(diagram)e(and)h(either)g(the)g(corresponding)d(global)i(tran-)
0 888 y(sition)j(tables)g(or)g(the)g(te)o(xtual)f(description)g
(associated)h(with)g(the)g(state)g(machine,)f(the)h(state)h(diagram)e
(tak)o(es)h(precedence.)0 988 y(The)26 b(interpretation)e(of)j(the)f
(special)h(symbols)f(and)f(operators)g(used)i(in)f(the)h(state)g
(diagrams)e(is)j(as)f(de\002ned)e(in)i(Section)0 1088
y(3.2;)22 b(these)f(symbols)g(and)g(operators)f(are)i(deri)n(v)o(ed)d
(from)i(the)g(notation)g(of)g(the)g(C++)h(programming)d(language,)g
(ISO/IEC)0 1187 y(14882.)32 b(If)23 b(a)g(boolean)f(v)n(ariable)g(is)i
(described)e(in)h(this)h(clause)f(as)h(being)e(set)i(it)g(has)f(or)g
(is)h(assigned)f(the)g(v)n(alue)f(TR)m(UE,)h(if)0 1287
y(reset)d(or)g(clear)g(the)h(v)n(alue)e(F)-6 b(ALSE.)0
1486 y(In)29 b(addition)f(to)i(the)f(abo)o(v)o(e)f(notation,)i(there)f
(are)h(a)f(couple)g(of)g(clari\002cations)g(speci\002c)g(to)h(this)g
(document.)51 b(First,)32 b(all)0 1586 y(boolean)19 b(v)n(ariables)h
(are)g(initialized)h(to)g(F)-6 b(ALSE)20 b(before)g(the)g(state)i
(machine)d(e)o(x)o(ecution)g(be)o(gins.)25 b(Second,)20
b(the)g(follo)n(wing)0 1685 y(notational)f(shorthand)f(is)j(speci\002c)
g(to)f(this)h(document:)125 1968 y Fb(\017)41 b Fa(<)p
Fg(v)n(ariable)p Fa(>)18 b Fg(=)i Fa(<)p Fg(e)o(xpression1)p
Fa(>)e Fb(j)i Fa(<)p Fg(e)o(xpression2)p Fa(>)e Fb(j)j
Fg(...)208 2100 y(Ex)o(ecution)i(of)j(a)g(statement)f(of)h(this)g(form)
e(will)j(result)f(in)f Fa(<)p Fg(v)n(ariable)p Fa(>)f
Fg(ha)n(ving)h(a)h(v)n(alue)f(of)g(e)o(xactly)g(one)g(of)h(the)208
2200 y(e)o(xpressions.)d(The)18 b(logic)g(for)h(which)f(of)g(those)h(e)
o(xpressions)e(gets)i(e)o(x)o(ecuted)e(is)j(outside)e(of)g(the)h(state)
h(machine)d(and)208 2300 y(could)i(be)h(en)m(vironmental,)d
(con\002gurable,)g(or)j(based)g(on)g(another)e(state)j(machine)e(such)h
(as)h(that)g(of)e(the)i(Method.)0 2637 y Ff(3.2)99 b(State)26
b(Machine)g(Symbols)125 2836 y Fb(\017)41 b Fg(\()20
b(\))208 2969 y(Used)27 b(to)g(force)g(the)g(precedence)e(of)i
(operators)e(in)j(Boolean)e(e)o(xpressions)g(and)h(to)g(delimit)g(the)g
(ar)o(gument\(s\))e(of)208 3069 y(actions)20 b(within)f(state)i(box)o
(es.)125 3235 y Fb(\017)41 b Fg(;)208 3368 y(Used)27
b(as)h(a)f(terminating)f(delimiter)h(for)f(actions)h(within)g(state)h
(box)o(es.)45 b(Where)27 b(a)h(state)f(box)g(contains)f(multiple)208
3467 y(actions,)19 b(the)h(order)f(of)h(e)o(x)o(ecution)e(follo)n(ws)i
(the)g(normal)f(English)h(language)e(con)m(v)o(entions)g(for)h(reading)
g(te)o(xt.)125 3633 y Fb(\017)41 b Fg(=)208 3766 y(Assignment)16
b(action.)24 b(The)17 b(v)n(alue)g(of)g(the)h(e)o(xpression)e(to)i(the)
f(right)g(of)h(the)f(operator)f(is)j(assigned)e(to)g(the)h(v)n(ariable)
e(to)208 3866 y(the)21 b(left)h(of)f(the)g(operator)-5
b(.)27 b(Where)21 b(this)h(operator)e(is)i(used)f(to)h(de\002ne)e
(multiple)h(assignments,)g(e.g.,)g(a)h(=)f(b)h(=)g(X)g(the)208
3965 y(action)f(causes)i(the)g(v)n(alue)e(of)h(the)h(e)o(xpression)e
(follo)n(wing)g(the)h(right-most)f(assignment)h(operator)e(to)j(be)f
(assigned)208 4065 y(to)e(all)h(of)f(the)g(v)n(ariables)f(that)h
(appear)f(to)i(the)f(left)g(of)g(the)h(right-most)d(assignment)i
(operator)-5 b(.)125 4231 y Fb(\017)41 b Fg(!)208 4364
y(Logical)19 b(NO)m(T)h(operator)-5 b(.)125 4530 y Fb(\017)41
b Fg(&&)208 4663 y(Logical)19 b(AND)i(operator)-5 b(.)125
4829 y Fb(\017)41 b(jj)208 4962 y Fg(Logical)19 b(OR)i(operator)-5
b(.)125 5128 y Fb(\017)41 b Fg(if...then...)208 5260
y(Conditional)29 b(action.)56 b(If)31 b(the)g(Boolean)f(e)o(xpression)f
(follo)n(wing)g(the)i(if)g(e)n(v)n(aluates)f(to)h(TR)m(UE,)g(then)f
(the)h(action)208 5360 y(follo)n(wing)18 b(the)i(then)g(is)h(e)o(x)o
(ecuted.)0 5656 y(V)-11 b(ollbrecht,)19 b(et)i(al.)986
b(Expires)19 b(March)g(18,)h(2004)984 b([P)o(age)20 b(7])p
eop
%%Page: 8 8
8 7 bop 0 100 a Fg(INTERNET)-8 b(-DRAFT)862 b(EAP)21
b(State)f(Machine)841 b(September)19 b(2003)125 390 y
Fb(\017)41 b(f)20 b Fg(statement)g(1,)g(...)25 b(statement)20
b(N)g Fb(g)208 523 y Fg(Compound)e(statement.)26 b(Braces)21
b(are)g(used)f(to)h(group)e(statements)i(that)g(are)f(e)o(x)o(ecuted)f
(together)g(as)j(if)f(the)o(y)f(were)g(a)208 623 y(single)g(statement.)
125 789 y Fb(\017)41 b Fg(!=)208 922 y(Inequality)-5
b(.)31 b(Ev)n(aluates)23 b(to)g(TR)m(UE)g(if)h(the)f(e)o(xpression)e
(to)j(the)f(left)g(of)g(the)g(operator)f(is)i(not)f(equal)f(in)i(v)n
(alue)e(to)i(the)208 1021 y(e)o(xpression)18 b(to)i(the)h(right.)125
1187 y Fb(\017)41 b Fg(==)208 1320 y(Equality)-5 b(.)60
b(Ev)n(aluates)31 b(to)i(TR)m(UE)f(if)h(the)g(e)o(xpression)d(to)j(the)
g(left)f(of)g(the)h(operator)d(is)k(equal)e(in)g(v)n(alue)g(to)h(the)
208 1420 y(e)o(xpression)18 b(to)i(the)h(right.)125 1586
y Fb(\017)41 b Fa(<)208 1719 y Fg(Less)23 b(than.)32
b(Ev)n(aluates)22 b(to)h(TR)m(UE)f(if)h(the)g(v)n(alue)f(of)h(the)f(e)o
(xpression)f(to)i(the)g(left)g(of)f(the)h(operator)e(is)j(less)f(than)g
(the)208 1818 y(v)n(alue)c(of)h(the)g(e)o(xpression)f(to)h(the)g
(right.)125 1984 y Fb(\017)41 b Fa(>)208 2117 y Fg(Greater)18
b(than.)24 b(Ev)n(aluates)18 b(to)h(TR)m(UE)g(if)g(the)g(v)n(alue)f(of)
g(the)h(e)o(xpression)e(to)i(the)g(left)g(of)g(the)f(operator)f(is)j
(greater)e(than)208 2217 y(the)i(v)n(alue)f(of)h(the)g(e)o(xpression)f
(to)h(the)h(right.)125 2383 y Fb(\017)41 b Fa(>)p Fg(=)208
2516 y(Greater)20 b(than)g(or)h(equal)f(to.)27 b(Ev)n(aluates)20
b(to)h(TR)m(UE)g(if)g(the)g(v)n(alue)f(of)g(the)h(e)o(xpression)e(to)i
(the)g(left)g(of)g(the)g(operator)e(is)208 2615 y(either)g(greater)h
(than)f(or)h(equal)g(to)g(the)g(v)n(alue)g(of)g(the)g(e)o(xpression)f
(to)h(the)g(right.)125 2781 y Fb(\017)41 b Fg(+)208 2914
y(Arithmetic)19 b(addition)g(operator)-5 b(.)125 3080
y Fb(\017)41 b Fg(-)208 3213 y(Arithmetic)19 b(subtraction)g(operator)
-5 b(.)0 3550 y Ff(3.3)99 b(Document)26 b(authority)0
3806 y Fg(Should)18 b(a)i(con\003ict)f(e)o(xist)g(between)g(the)g
(interpretation)e(of)i(a)h(state)g(diagram)e(and)h(either)g(the)g
(corresponding)d(global)i(tran-)0 3905 y(sition)j(tables)g(or)g(the)g
(te)o(xtual)f(description)g(associated)h(with)g(the)g(state)g(machine,)
f(the)h(state)h(diagram)e(tak)o(es)h(precedence.)0 4005
y(When)f(a)g(discrepanc)o(y)e(occurs)h(between)g(an)o(y)g(part)h(of)f
(this)i(document)d(\(te)o(xt)h(or)h(diagram\))e(and)h(an)o(y)g(of)h
(the)g(related)f(docu-)0 4104 y(ments)e(\()h([I-D.ietf-eap-rfc2284b)o
(is],)13 b([RFC3579],)j(etc.\))24 b(the)18 b(latter)f(\(the)g(other)g
(document\))e(is)j(considered)e(authoritati)n(v)o(e)0
4204 y(and)k(tak)o(es)g(precedence.)0 4584 y Fe(4)119
b(P)n(eer)30 b(State)g(Machine)0 4869 y Fg(The)20 b(follo)n(wing)g(is)h
(a)g(diagram)f(of)g(the)h(EAP)g(Peer)g(state)h(machine.)j(Also)c
(included)e(is)j(an)f(e)o(xplanation)d(of)j(the)g(primiti)n(v)o(es)0
4969 y(and)f(procedures)e(referenced)g(in)i(the)g(diagram,)f(as)i(well)
f(as)h(a)g(clari\002cation)e(of)h(notation.)0 5168 y(\(see)g
(draft-ietf-eap-statemachine-00.p)o(s)15 b(for)20 b(missing)g(diagram)f
(if)h(reading)f([.txt])h(v)o(ersion\))0 5656 y(V)-11
b(ollbrecht,)19 b(et)i(al.)986 b(Expires)19 b(March)g(18,)h(2004)984
b([P)o(age)20 b(8])p eop
%%Page: 9 9
9 8 bop 0 100 a Fg(INTERNET)-8 b(-DRAFT)862 b(EAP)21
b(State)f(Machine)841 b(September)19 b(2003)18 4143 y
@beginspecial 0 @llx 0 @lly 591 @urx 636 @ury 4276 @rwi
@setspecial
%%BeginDocument: ../../../diagrams/eap_peer_27062003a.eps
%!PS-Adobe-3.0 EPSF-3.0
%%Creator: ImageMark Software Labs
%%For: () ()
%%Title: C:\USERS\IETF\EAP\State machines\eap_peer_27062003a.eps
%%CreationDate: () ()
%%BoundingBox: 0 0 591 636
%%DocumentProcessColors: Black
%%ColorUsage:Color
%%DocumentFonts: Helvetica
%%+Helvetica-Bold
%%+Helvetica-Oblique
%%+Helvetica-BoldOblique
%%+Times-Roman
%%+Times-Bold
%%+Times-Italic
%%+Times-BoldItalic
%%+Courier
%%+Courier-Bold
%%+Courier-Oblique
%%+Courier-BoldOblique
%%+Symbol
%%DocumentSuppliedResources: procset Adobe_level2_AI5 1.2 0
%%+ procset Adobe_screens_AI5 1.0 0
%%+ procset Adobe_typography_AI5 1.0 0
%%+ procset Adobe_ColorImage_AI6 1.1 0
%%+ procset Adobe_blend_AI5 1.0 0
%%+ procset Adobe_pattern_AI5 1.0 0
%%+ procset Adobe_Illustrator_AI5 1.0 0
%AI5_FileFormat 3.0
%AI3_ColorUsage: Color
%AI3_TemplateBox: 0 0 591 636
%AI3_TileBox: 0 0 591 636
%AI3_DocumentPreview: None
%%Template:
%%PageOrigin:0.0000 0.0000
%AI7_GridSettings: 72 8 72 8 1 0 0.8 0.8 0.8 0.9 0.9 0.9
%%EndComments
%%BeginProlog
%%BeginResource: procset Adobe_level2_AI5 1.2 0
%%Title: (Adobe Illustrator (R) Version 5.0 Level 2 Emulation)
%%Version: 1.2 0
%%CreationDate: (04/10/93) ()
%%Copyright: ((C) 1987-1996 Adobe Systems Incorporated All Rights Reserved)
userdict /Adobe_level2_AI5 25 dict dup begin
put
/packedarray where not
{
userdict begin
/packedarray
{
array astore readonly
} bind def
/setpacking /pop load def
/currentpacking false def
end
0
} if
pop
userdict /defaultpacking currentpacking put true setpacking
/initialize
{
Adobe_level2_AI5 begin
} bind def
/terminate
{
currentdict Adobe_level2_AI5 eq
{
end
} if
} bind def
mark
/setcustomcolor where not
{
/findcmykcustomcolor
{
0
6 packedarray
} bind def
/findrgbcustomcolor
{
1
5 packedarray
} bind def
/setcustomcolor
{
exch
aload pop
0 eq
{
pop
4
{
4 index mul
4 1 roll
} repeat
5 -1 roll pop
setcmykcolor
}
{
pop
3
{
1 exch sub
3 index mul
1 exch sub
3 1 roll
} repeat
4 -1 roll pop
setrgbcolor
} ifelse
}
def
} if
/gt38? mark {version cvr cvx exec} stopped {cleartomark true} {38 gt exch pop} ifelse def
userdict /deviceDPI 72 0 matrix defaultmatrix dtransform dup mul exch dup mul add sqrt put
userdict /level2?
systemdict /languagelevel known dup
{
pop systemdict /languagelevel get 2 ge
} if
put
/level2ScreenFreq
{
begin
60
HalftoneType 1 eq
{
pop Frequency
} if
HalftoneType 2 eq
{
pop GrayFrequency
} if
HalftoneType 5 eq
{
pop Default level2ScreenFreq
} if
end
} bind def
userdict /currentScreenFreq
level2? {currenthalftone level2ScreenFreq} {currentscreen pop pop} ifelse put
level2? not
{
/setcmykcolor where not
{
/setcmykcolor
{
exch .11 mul add exch .59 mul add exch .3 mul add
1 exch sub setgray
} def
} if
/currentcmykcolor where not
{
/currentcmykcolor
{
0 0 0 1 currentgray sub
} def
} if
/setoverprint where not
{
/setoverprint /pop load def
} if
/selectfont where not
{
/selectfont
{
exch findfont exch
dup type /arraytype eq
{
makefont
}
{
scalefont
} ifelse
setfont
} bind def
} if
/cshow where not
{
/cshow
{
[
0 0 5 -1 roll aload pop
] cvx bind forall
} bind def
} if
} if
cleartomark
/anyColor?
{
add add add 0 ne
} bind def
/testColor
{
gsave
setcmykcolor currentcmykcolor
grestore
} bind def
/testCMYKColorThrough
{
testColor anyColor?
} bind def
userdict /composite?
level2?
{
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
composite? not
{
userdict begin
gsave
/cyan? 1 0 0 0 testCMYKColorThrough def
/magenta? 0 1 0 0 testCMYKColorThrough def
/yellow? 0 0 1 0 testCMYKColorThrough def
/black? 0 0 0 1 testCMYKColorThrough def
grestore
/isCMYKSep? cyan? magenta? yellow? black? or or or def
/customColor? isCMYKSep? not def
end
} if
end defaultpacking setpacking
%%EndResource
%%BeginResource: procset Adobe_typography_AI5 1.0 1
%%Title: (Typography Operators)
%%Version: 1.0
%%CreationDate:(03/26/93) ()
%%Copyright: ((C) 1987-1993 Adobe Systems Incorporated All Rights Reserved)
currentpacking true setpacking
userdict /Adobe_typography_AI5 54 dict dup begin
put
/initialize
{
begin
begin
Adobe_typography_AI5 begin
Adobe_typography_AI5
{
dup xcheck
{
bind
} if
pop pop
} forall
end
end
end
Adobe_typography_AI5 begin
} def
/terminate
{
currentdict Adobe_typography_AI5 eq
{
end
} if
} def
/modifyEncoding
{
/_tempEncode exch ddef
/_pntr 0 ddef
{
counttomark -1 roll
dup type dup /marktype eq
{
pop pop exit
}
{
/nametype eq
{
_tempEncode /_pntr dup load dup 3 1 roll 1 add ddef 3 -1 roll
put
}
{
/_pntr exch ddef
} ifelse
} ifelse
} loop
_tempEncode
} def
/TE
{
StandardEncoding 256 array copy modifyEncoding
/_nativeEncoding exch def
} def
%
/TZ
{
dup type /arraytype eq
{
/_wv exch def
}
{
/_wv 0 def
} ifelse
/_useNativeEncoding exch def
pop pop
findfont _wv type /arraytype eq
{
_wv makeblendedfont
} if
dup length 2 add dict
begin
mark exch
{
1 index /FID ne
{
def
} if
cleartomark mark
} forall
pop
/FontName exch def
counttomark 0 eq
{
1 _useNativeEncoding eq
{
/Encoding _nativeEncoding def
} if
cleartomark
}
{
/Encoding load 256 array copy
modifyEncoding /Encoding exch def
} ifelse
FontName currentdict
end
definefont pop
} def
/tr
{
_ax _ay 3 2 roll
} def
/trj
{
_cx _cy _sp _ax _ay 6 5 roll
} def
/a0
{
/Tx
{
dup
currentpoint 3 2 roll
tr _psf
newpath moveto
tr _ctm _pss
} ddef
/Tj
{
dup
currentpoint 3 2 roll
trj _pjsf
newpath moveto
trj _ctm _pjss
} ddef
} def
/a1
{
/Tx
{
dup currentpoint 4 2 roll gsave
dup currentpoint 3 2 roll
tr _psf
newpath moveto
tr _ctm _pss
grestore 3 1 roll moveto tr sp
} ddef
/Tj
{
dup currentpoint 4 2 roll gsave
dup currentpoint 3 2 roll
trj _pjsf
newpath moveto
trj _ctm _pjss
grestore 3 1 roll moveto tr jsp
} ddef
} def
/e0
{
/Tx
{
tr _psf
} ddef
/Tj
{
trj _pjsf
} ddef
} def
/e1
{
/Tx
{
dup currentpoint 4 2 roll gsave
tr _psf
grestore 3 1 roll moveto tr sp
} ddef
/Tj
{
dup currentpoint 4 2 roll gsave
trj _pjsf
grestore 3 1 roll moveto tr jsp
} ddef
} def
/i0
{
/Tx
{
tr sp
} ddef
/Tj
{
trj jsp
} ddef
} def
/i1
{
W N
} def
/o0
{
/Tx
{
tr sw rmoveto
} ddef
/Tj
{
trj swj rmoveto
} ddef
} def
/r0
{
/Tx
{
tr _ctm _pss
} ddef
/Tj
{
trj _ctm _pjss
} ddef
} def
/r1
{
/Tx
{
dup currentpoint 4 2 roll currentpoint gsave newpath moveto
tr _ctm _pss
grestore 3 1 roll moveto tr sp
} ddef
/Tj
{
dup currentpoint 4 2 roll currentpoint gsave newpath moveto
trj _ctm _pjss
grestore 3 1 roll moveto tr jsp
} ddef
} def
/To
{
pop _ctm currentmatrix pop
} def
/TO
{
iTe _ctm setmatrix newpath
} def
/Tp
{
pop _tm astore pop _ctm setmatrix
_tDict begin
/W
{
} def
/h
{
} def
} def
/TP
{
end
iTm 0 0 moveto
} def
/Tr
{
_render 3 le
{
currentpoint newpath moveto
} if
dup 8 eq
{
pop 0
}
{
dup 9 eq
{
pop 1
} if
} ifelse
dup /_render exch ddef
_renderStart exch get load exec
} def
/iTm
{
_ctm setmatrix _tm concat 0 _rise translate _hs 1 scale
} def
/Tm
{
_tm astore pop iTm 0 0 moveto
} def
/Td
{
_mtx translate _tm _tm concatmatrix pop iTm 0 0 moveto
} def
/iTe
{
_render -1 eq
{
}
{
_renderEnd _render get dup null ne
{
load exec
}
{
pop
} ifelse
} ifelse
/_render -1 ddef
} def
/Ta
{
pop
} def
/Tf
{
dup 1000 div /_fScl exch ddef
%
selectfont
} def
/Tl
{
pop
0 exch _leading astore pop
} def
/Tt
{
pop
} def
/TW
{
3 npop
} def
/Tw
{
/_cx exch ddef
} def
/TC
{
3 npop
} def
/Tc
{
/_ax exch ddef
} def
/Ts
{
/_rise exch ddef
currentpoint
iTm
moveto
} def
/Ti
{
3 npop
} def
/Tz
{
100 div /_hs exch ddef
iTm
} def
/TA
{
pop
} def
/Tq
{
pop
} def
/Th
{
pop pop pop pop pop
} def
/TX
{
pop
} def
/Tk
{
exch pop _fScl mul neg 0 rmoveto
} def
/TK
{
2 npop
} def
/T*
{
_leading aload pop neg Td
} def
/T*-
{
_leading aload pop Td
} def
/T-
{
_hyphen Tx
} def
/T+
{
} def
/TR
{
_ctm currentmatrix pop
_tm astore pop
iTm 0 0 moveto
} def
/TS
{
currentfont 3 1 roll
/_Symbol_ _fScl 1000 mul selectfont
0 eq
{
Tx
}
{
Tj
} ifelse
setfont
} def
/Xb
{
pop pop
} def
/Tb /Xb load def
/Xe
{
pop pop pop pop
} def
/Te /Xe load def
/XB
{
} def
/TB /XB load def
currentdict readonly pop
end
setpacking
%%EndResource
%%BeginResource: procset Adobe_screens_AI5 1.2 0
%%Title: (Adobe Illustrator (R) Version 5.0 Custom Halftone Screens ProcSet)
%%Version: 1.2 0
%%CreationDate: (03/24/93) ()
%%Copyright: ((C) 1987-1996 Adobe Systems Incorporated All Rights Reserved)
userdict /defaultpacking currentpacking put true setpacking
systemdict begin
userdict /Adobe_screens_AI5 15 dict dup begin
put
/initialize
{
Adobe_screens_AI5 begin
/screenid
deviceDPI 600 gt composite? not or
{
-1
}
{
deviceDPI currentScreenFreq
dup dup 60 ge exch 150 le and deviceDPI 300 le and
{
pop 60
} if
div 1.41421 div 0.5 add cvi
} ifelse
def
2 screenid eq
{
/customsize 16 def
/customdata /customdata2 def
setcustomscreen
} if
3 screenid eq
{
/customsize 24 def
/customdata /customdata3 def
setcustomscreen
} if
4 screenid eq
{
/customsize 16 def
/customdata /customdata4 def
setcustomscreen
} if
5 screenid eq
{
/customsize 20 def
/customdata /customdata5 def
setcustomscreen
} if
6 screenid eq
{
/customsize 24 def
/customdata /customdata6 def
setcustomscreen
} if
7 screenid eq
{
/customsize 28 def
/customdata /customdata7 def
setcustomscreen
} if
8 screenid eq
{
/customsize 16 def
/customdata /customdata8 def
setcustomscreen
} if
} def
/terminate
{
currentdict Adobe_screens_AI5 eq
{
end
} if
} def
/setcustomscreen
{
deviceDPI customsize div 0
{
1 add 2 div customsize mul cvi exch
1 add 2 div customsize mul cvi exch
customsize mul add
customdata load exch get 256 div
} setscreen
} def
/customdata2 28 28 mul string def
currentfile customdata2 readhexstring
4180E8694988E2634382EA6B4B8AE061A01939C8A81737C2A21B3BCAAA1636C0
F8795998F6775796FA7B5B9AF57656952ED8B80727D6B60F2FDABA0626D5B50E
4E8DE6674786EE6F4F8EE5664685ED6EAD1434C6A61F3FCEAE1232C5A51E3ECD
F3745493FE7F5F9EF1725291FD7E5E9D24D3B30C2CDEBE0222D1B10A2ADDBD04
4483EB6C4C8BE1624281E96A4A89E364A31C3CCBAB1535C1A11A3AC9A91838C3
FB7C5C9BF4755594F97A5A99F778589730DBBB0525D4B40D2DD9B90828D7B710
508FE4654584EC6D4D8CE7684887EF70AF1131C4A41D3DCCAC1333C7A72040CF
F0715190FC7D5D9CF2735392FF80609F21D0B00929DCBC0323D2B20B2BDFBF01
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000
pop pop
/customdata3 28 28 mul string def
currentfile customdata3 readhexstring
011DC7F5E73D0421CBF3E43A021EC8F6E83E0522CCF2E43A2B648BC4A0762F68
8AC39E732C658CC5A177306989C29D72D5B6521A6192D9B55219608FD6B6531B
6193DAB451185F8FFCEE440C28D2FCED430B27D1FDEF450C29D3FBEC420A26D0
BEA77D366F83BCA77C356E87BFA87E377082BBA67B346D86145B99E0AE4A1259
98DFB14E155C9AE1AD4A115897DEB04D0623CDF4E63C0420CAF8EA400723CDF4
E53B031FC9F7E93F316988C19F752E678EC6A378326A88C09F742D668DC6A278
DBB350175E91D8B8551C6395DCB24F165D90D7B7541C6294FAEC420925CFFFF1
470E2BD5F9EB410824CEFEF0460D2AD4BAA57A336C85BEAA80397180B9A47933
6B84BDA97F387181105797DDAF4C145A9CE3AB480F5696DDAE4B13599BE2AC49
021EC8F6E83E0522CCF2E43A011DC7F5E73D0421CBF3E43A2C658CC5A1773069
89C29D722B648BC4A0762F688AC39E73D6B6531B6193DAB451185F8FD5B6521A
6192D9B55219608FFDEF450C29D3FBEC420A26D0FCEE440C28D2FCED430B27D1
BFA87E377082BBA67B346D86BEA77D366F83BCA77C356E87155C9AE1AD4A1158
97DEB04D145B99E0AE4A125998DFB14E0723CDF4E53B031FC9F7E93F0623CDF4
E63C0420CAF8EA40326A88C09F742D668DC6A278316988C19F752E678EC6A378
DCB24F165D90D7B7541C6294DBB350175E91D8B8551C6395F9EB410824CEFEF0
460D2AD4FAEC420925CFFFF1470E2BD5B9A479336B84BDA97F387181BAA57A33
6C85BEAA803971800F5696DDAE4B13599BE2AC49105797DDAF4C145A9CE3AB48
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000
pop pop
/customdata4 28 28 mul string def
currentfile customdata4 readhexstring
1139B8E0FAD2531B133BBAE2F8D05119417180A6AE9A7B4B437382A5AD987949
C08867272F6F92CAC28A66262E6E90C8E8DE5F070F37B6F2EADD5E060E36B5F0
FED6571F173FBEE6FDD5561E163EBDE5AB9E7F4F477786A1A99D7E4E467685A3
2C6C96CEC68E62222A6A95CDC58D64240C34B3F6EED95A020A32B1F5EDDB5C04
143CBBE3F9D1521A123AB9E1FBD3541C447483A4AC997A4A427281A7AF9B7C4C
C38B65252D6D91C9C1896828307093CBEBDC5D050D35B4F1E9DF60081038B7F3
FCD4551D153DBCE4FFD758201840BFE7A89C7D4D457584A2AA9F8050487887A0
296994CCC48C63232B6B97CFC78F61210931B0F4ECDA5B030B33B2F7EFD85901
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000
pop pop
/customdata5 28 28 mul string def
currentfile customdata5 readhexstring
010B34C3EBFCF7CE3F16020C35C4EDFBF6CD3E15102552A4D6EADDB5632B1126
54A5D5EADCB3622A3958768499C19E8C7C5E3A59778498C19D8B7B5DC8A99370
47334C7587AFC9AA936F46324B7485AEF1E5BC6B1E0A2351A3D8F2E4BC6A1E09
2351A2D7FFF9D14219050F38C6EFFEF9D04118040E37C6EFE8E0B7662D142856
A8D3E7DFB7652D132856A7D4BF9C8E7F603D5B7A8195BE9A8E7E603C5B798297
314A7389B2CCAD906D442F497289B1CBAC926E4508214FA1DBF4E2B9671B0720
4EA0DAF4E3BA691C030D36C5EDFBF6CD3F16010C34C3ECFDF8CF4017122654A6
D4E9DDB4622A112553A5D6EBDEB5642C3B59788397C09C8B7C5D3A58778599C2
9E8C7D5FCAAB926E46314B7486AFC8AA947048334D7587B0F2E4BB691D082250
A1D8F1E6BD6B1F0A2452A3D9FDF8CF4118030E36C5EEFFFAD1421A050F38C7F0
E6DFB6642C132755A7D3E8E1B8662E152957A8D2BE9A8D7E5F3B5A798296BF9B
8F80613D5C7B80952F487188B1CAAC916D443049728AB3CCAE906C43061F4D9F
DAF3E2BA681C07214FA0DBF5E1B8671A00000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000
pop pop
/customdata6 28 28 mul string def
currentfile customdata6 readhexstring
081A44B6E0F2FDECC150250C091B45B6E1F3FCEBC04F240C1D336199C7D8DCD3
A56C37221E33619AC8D7DBD2A46B36214864798091AEB1958C7E694C49657A81
90ADB0948B7D684BB99D8475593C405C7888A1BEBA9E8574583B3F5B7888A0BD
E4CBAA712E1215326098CFE8E4CCA9712D1114315F97CEE7F5F1C6552B040719
43B5DFFAF6F0C6542A03061842B4DEF9FFEDC352270E0B1C47B8E3F4FEECC251
260D0A1C46B7E2F4DAD5A76E39232035639CCAD5D9D4A66D38231F34629BC9D6
AF938E806A4E4A677C838FABAE928D7F694D4A667B828FAC3E5A778AA3BFBC9F
8772563A3D597689A2BEBB9F8673573A14305E97D1EAE6CDA76F2B0F132F5D96
D0E9E5CDA8702C10051742B3DDFCF8EEC4522801041641B2DDFBF7EFC5532902
091B45B6E1F3FCEBC04F240C081A44B6E0F2FDECC150250C1E33619AC8D7DBD2
A46B36211D336199C7D8DCD3A56C372249657A8190ADB0948B7D684B48647980
91AEB1958C7E694CBA9E8574583B3F5B7888A0BDB99D8475593C405C7888A1BE
E4CCA9712D1114315F97CEE7E4CBAA712E1215326098CFE8F6F0C6542A030618
42B4DEF9F5F1C6552B04071943B5DFFAFEECC251260D0A1C46B7E2F4FFEDC352
270E0B1C47B8E3F4D9D4A66D38231F34629BC9D6DAD5A76E39232035639CCAD5
AE928D7F694D4A667B828FACAF938E806A4E4A677C838FAB3D597689A2BEBB9F
8673573A3E5A778AA3BFBC9F8772563A132F5D96D0E9E5CDA8702C1014305E97
D1EAE6CDA76F2B0F041641B2DDFBF7EFC5532902051742B3DDFCF8EEC4522801
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000
pop pop
/customdata7 28 28 mul string def
currentfile customdata7 readhexstring
01061B44B7E1F5FEFBE6BD4A210C01071B45B8E1F6FDFBE6BC4A200B09132A54
A7D1EAF5EED9B05D331609142B55A8D2EAF4EED9AF5C32161D2D3D6993C1CBE0
CEC59B7140301E2E3D6A93C0CADFCDC49A713F3047576C7B828DA2B6A48F867E
6F5A48576C7C828CA1B6A38F867E6E59BAAA958A78634E4451667A8498ADBAAB
968977624E4350657A8398ADE3D4C99F7539251A273C6892C2D7E4D4C89E7539
241A273B6891C1D6F8F2DDB460371005122A53A7D0ECF9F2DDB360360F051229
53A6D0EBFFFDE8BE4C220D03081D46B9E3F7FFFCE7BD4B210D02071C46B8E2F7
F3F0DBB15E34180B152C56A9D3E8F3EFDAB05D34170A142C55A9D2E9DFCCC69C
7341321F2F3F6B94BFC9DECCC59C7241311F2E3E6A94BFCAB5A38E8780705B49
596D7D808BA0B4A28D877F6F5B48586D7C818BA043506479859AAFBCAC978876
614C424F64798499AEBBAB968977624D19263B6791C3D8E5D6C79D7337231825
3A6690C3D7E5D5C79E74382304112952A5CFEDFAF0DBB25E350E03102851A5CE
ECF9F1DCB25F360E01071B45B8E1F6FDFBE6BC4A200B01061B44B7E1F5FEFBE6
BD4A210C09142B55A8D2EAF4EED9AF5C321609132A54A7D1EAF5EED9B05D3316
1E2E3D6A93C0CADFCDC49A713F301D2D3D6993C1CBE0CEC59B71403048576C7C
828CA1B6A38F867E6E5947576C7B828DA2B6A48F867E6F5ABAAB968977624E43
50657A8398ADBAAA958A78634E4451667A8498ADE4D4C89E7539241A273B6891
C1D6E3D4C99F7539251A273C6892C2D7F9F2DDB360360F05122953A6D0EBF8F2
DDB460371005122A53A7D0ECFFFCE7BD4B210D02071C46B8E2F7FFFDE8BE4C22
0D03081D46B9E3F7F3EFDAB05D34170A142C55A9D2E9F3F0DBB15E34180B152C
56A9D3E8DECCC59C7241311F2E3E6A94BFCADFCCC69C7341321F2F3F6B94BFC9
B4A28D877F6F5B48586D7C818BA0B5A38E8780705B49596D7D808BA0424F6479
8499AEBBAB968977624D43506479859AAFBCAC978876614C18253A6690C3D7E5
D5C79E74382319263B6791C3D8E5D6C79D73372303102851A5CEECF9F1DCB25F
360E04112952A5CFEDFAF0DBB25E350E
pop pop
/customdata8 28 28 mul string def
currentfile customdata8 readhexstring
050F2747B6D6EEF8FEF4DCBC4D2D1507111D375F9EC6E0E9EBE6CCA4653D1F13
2939556F8EA8C1D1D3C3AE9475573B2B4961717D808999B1B39B8B867F73634B
B8A090827A6A5A42445C6C7C8492A2BAD8C8AA97785232222434546E8DACCADA
F0E2CFA768401A0A0C1C365E9DC5E4F2FAF7DFBF50301802040E2646B5D5EDFC
FFF5DDBD4E2E160806102848B7D7EFF9EAE7CDA5663E2014121E38609FC7E1E8
D2C2AF9576583C2C2A3A56708FA9C0D0B29A8A878074644C4A62727E818898B0
435B6B7B8593A3BBB9A19183796959412333536D8CADCBDBD9C9AB9677513121
0B1B355D9CC4E5F3F1E3CEA6673F1909030D2545B4D4ECFDFBF6DEBE4F2F1701
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000
pop pop
end
end
defaultpacking setpacking
%%EndResource
%%BeginResource: procset AGM_Gradient_Sep 1.0 0
%%Title: (AGM Gradient Procset)
%%Version: 1.0 0
%%CreationDate: (4/26/96) ()
%%Copyright: ((C) 1987-1996 Adobe Systems Incorporated All Rights Reserved)
userdict /defaultpacking currentpacking put true setpacking
userdict /AGM_Gradient_Sep 5 dict dup begin put
/AGM_Gradient_Sep_private 100 dict def
/initialize{
AGM_Gradient_Sep begin
AGM_Gradient_Sep_private begin
_compositeJob{
initializeSinglePassSeps
}{
initializeMultiPassSeps
}ifelse
initializeSeps
AGM_Gradient_private begin
/_fillSD newSpotDict def
/_rampSD newSpotDict def
/_nCustomColorSD nd
end
AGM_Gradient_Sep_private
{
dup xcheck 1 index type /arraytype eq and
{
bind
}if
pop pop
}forall
AGM_Gradient_Sep
{
dup xcheck 1 index type /arraytype eq and
{
bind
}if
pop pop
}forall
end
currentdict readonly pop
end
}def
/terminate{
currentdict AGM_Gradient_Sep eq{
end
}if
}def
AGM_Gradient_Sep_private begin
/initializeSeps{
_noImage not _level2PS not and{
/_whiteBytes 1 makeByte8 pt
/knockOut{
8 setImageParms _whiteBytes /_image load 5 execImage
}def
/linealFill{
mySave
8 setImageParms
_color{
_nCustomColorSD begin
cyan magenta yellow black
_spotColor{
spot1 begin
/tintImage tintValue 1 exch sub makeByte8 def
end
spot2 begin
/tintImage tintValue 1 exch sub makeByte8 def
end
}if
end
4{
makeByte8 4 1 roll
}repeat
true 4 _nCustomColorSD ncolorimage
}{
_nCustomColorSD/black get 1 exch sub makeByte8
_nCustomColorSD bwImage
}ifelse
myRestore
}def
}{
/knockOut{
gsave
false setoverprint
1 setgray
0 0 1 1 rectfill
grestore
}def
}ifelse
/newSpotDict{
11 dict dup begin
/nSpots 2 def
/spot1 7 dict def
/spot2 7 dict def
end
}def
/initSpotData
{
begin
/name nd
/tintImage nd
/tintValue nd
/spot_C nd
/spot_M nd
/spot_Y nd
/spot_K nd
end
}def
/initSpotDict{
begin
/cyanInk false def
/magentaInk false def
/yellowInk false def
/blackInk false def
/cyan nd
/magenta nd
/yellow nd
/black nd
spot1 initSpotData
spot2 initSpotData
end
}def
/copySpotDict{
/_dst xp
begin
cyanInk magentaInk yellowInk blackInk
cyan magenta yellow black
spot1 spot2
end
_dst begin
/spot1 spot1 maxlength dict def
/spot2 spot2 maxlength dict def
spot2 copy pop
spot1 copy pop
/black xd
/yellow xd
/magenta xd
/cyan xd
/blackInk xd
/yellowInk xd
/magentaInk xd
/cyanInk xd
end
}def
/setCustomColor
{
1 index /Black eq{
6 1 roll 5 npop
1 exch sub
setgray
}{
6 1 roll _ccAry1 astore exch
dup null eq{
pop 0
}if
setcustomcolor
}ifelse
}def
/setCStop{
/_colorStyle exch pt
_colorStyle 0 eq{
0 0 0
4 -1 roll
1 exch sub
_spotColor{
/_colorStyle 3 pt
/Black
1 index
1 exch sub
}if
}if
_colorStyle 2 eq{
3 npop
}if
_rampSD _fillSD copySpotDict
_colorStyle 4 eq{
pop
9 2 roll 3 npop 6 -2 roll
} if
_colorStyle 3 eq _colorStyle 4 eq or{
_fillSD begin
exch
dup spot1/name get eq{
spot1 spot2
}{
spot2 spot1
}ifelse
begin
begin
/name xd
1 exch sub /tintValue xd
4{
tintValue mul 4 1 roll
}repeat
_spotColor not{
/tintValue null def
}if
end
/tintValue 0 def
end
end
}if
_fillSD nsetcustomcolor
}def
/renderCMYK{
spot1/name get null eq
spot2/name get null eq and
dup not{
pop
spot1 spotConverted
}if
dup not{
pop
spot2 spotConverted
}if
}def
/fill_ /fill load def
/fillOvp{
currentoverprint{
_inRipSep{
currentcolorspace 0 get
dup /DeviceGray eq
1 index /DeviceCMYK eq or{
pop
currentcmykcolor add add add 0 eq{
newpath
}if
}{
/Separation eq{
currentcolor 0 eq{
newpath
}if
}if
}ifelse
}{
currentgray 1 eq{
newpath
}if
}ifelse
}if
fill_
}def
/fill{
_nCustomColorSD begin
renderCMYK
{
fillOvp
}{
spot1 begin
gsave
name null ne{
spot_C spot_M spot_Y spot_K name tintValue setCustomColor
}{
1 setgray
}ifelse
fillOvp
grestore
end
spot2 begin
name null ne{
gsave
true setoverprint
spot_C spot_M spot_Y spot_K name tintValue setCustomColor
fillOvp
grestore
}if
end
newpath
}ifelse
end
}def
/expandSpot{
_spotColor{
/_len xp
_rampSD begin
spot1 begin
tintImage null ne{
tintImage _len expandOne /tintImage xd
}if
end
spot2 begin
tintImage null ne{
tintImage _len expandOne /tintImage xd
}if
end
end
}{
pop
}ifelse
}def
/rampImage{
_rampSD begin
_color{
/cyanInk _cyanData 0 ne def
/magentaInk _magentaData 0 ne def
/yellowInk _yellowData 0 ne def
/blackInk _blackData 0 ne def
_nSamples setImageParms
_nSamples expandSpot
_cyanData _magentaData _yellowData _blackData _nSamples 4 expandColor
true 4 _rampSD ncolorimage
}{
/cyanInk false def
/magentaInk false def
/yellowInk false def
/blackInk true def
_nSamples setImageParms
_blackData _rampSD bwImage
}ifelse
end
}def
/nsetcustomcolor where{
pop
}{
/nsetcustomcolor
{
/_nCustomColorSD xp
_nCustomColorSD begin
4 copy
/black xd
/yellow xd
/magenta xd
/cyan xd
4 copy
0 ne /blackInk xd
0 ne /yellowInk xd
0 ne /magentaInk xd
0 ne /cyanInk xd
end
setcmykcolor
}def
}ifelse
/nsetcustomcolorend where{
pop
}{
/nsetcustomcolorend
{
/_nCustomColorSD null pt
}def
}ifelse
}def
/initializeSinglePassSeps{
/_decodeNorm [0 1] pt
/_decodeInvert [1 0] pt
/spotConverted
{
begin
name null eq{
false
}{
tintValue null eq tintImage null eq and{
true
}{
false
currentpagedevice/SeparationOrder get{name eq or}forall
not
}ifelse
}ifelse
end
}def
/dictImage
{
20 dict dup begin
/Dict xd
/Decode xd
/DataSource xd
/ImageMatrix xd
/BitsPerComponent xd
/Height xd
/Width xd
/ImageType 1 def
Dict
end
/_image load 1 execImage
}def
/bwImage{
begin
gsave
currentoverprint{
blackInk{
[/Separation /Black /DeviceGray{}] setcolorspace
_decodeInvert dictImage
}{
5 npop
}ifelse
}{
/DeviceGray setcolorspace
_decodeNorm dictImage
}ifelse
grestore
end
}def
/ncolorimage where{
pop
}{
/ncolorimage{
begin
renderCMYK
{
cyanInk
magentaInk and
yellowInk and
blackInk and
not
currentoverprint
and
{
pop pop
gsave
cyanInk{
8 copy
[/Separation /Cyan /DeviceGray{}] setcolorspace
3 npop
_decodeNorm dictImage
}if
magentaInk{
8 copy
[/Separation /Magenta /DeviceGray{}] setcolorspace
4 -1 roll
3 npop
_decodeNorm dictImage
}if
yellowInk{
8 copy
[/Separation /Yellow /DeviceGray{}] setcolorspace
4 -2 roll
3 npop
_decodeNorm dictImage
}if
blackInk{
4 -3 roll
[/Separation /Black /DeviceGray{}] setcolorspace
3 npop
_decodeNorm dictImage
}{
8 npop
}ifelse
grestore
}{
/_colorimage load 10 execImage
}ifelse
}{
6 npop
gsave
spot1 begin
name null ne tintImage null ne and{
[/Separation name /DeviceGray{}] setcolorspace
4 copy
tintImage
name /Black eq{
_decodeNorm
}{
_decodeInvert
}ifelse
dictImage
}{
1 setgray fill
}ifelse
end
spot2 begin
true setoverprint
name null ne tintImage null ne and{
[/Separation name /DeviceGray{}] setcolorspace
tintImage
name /Black eq{
_decodeNorm
}{
_decodeInvert
}ifelse
dictImage
}{
4 npop
1 setgray fill
}ifelse
end
grestore
}ifelse
end
}def
}ifelse
}def
/initializeMultiPassSeps{
/_isCMYKSep
_cyanPlate _magentaPlate or _yellowPlate or _blackPlate or
pt
/invertXfer{
[
{
1 exch sub
}/exec load systemdict /currenttransfer get exec /exec load
] cvx systemdict /settransfer get exec
}def
/ccThrough{
gsave
1 setCustomColor
currentcmykcolor
grestore
add add add 0 ne
}def
/spotConverted
{
begin
_isCMYKSep not{
false
}{
name null eq{
false
}{
tintValue null eq tintImage null eq and{
true
}{
spot_C spot_M spot_Y spot_K name ccThrough
}ifelse
}ifelse
}ifelse
end
}def
/spotChannel
{
_isCMYKSep{
pop false
}{
begin
name null eq{
false
}{
spot_C spot_M spot_Y spot_K name ccThrough
}ifelse
end
}ifelse
}def
/getChannelData
{
_isCMYKSep dup{
pop renderCMYK
}if
{
_blackPlate{
4 1 roll 3 npop blackInk
}{
_yellowPlate{
4 2 roll 3 npop yellowInk
}{
_magentaPlate{
4 3 roll 3 npop magentaInk
}{
3 npop cyanInk
}ifelse
}ifelse
}ifelse
{
true /nonZeroData
}{
true /zeroData
}ifelse
}{
4 npop
spot1/name get null ne
spot1 spotChannel and{
spot1/tintImage get dup null ne{
false /nonZeroData
}{
pop false /noData
}ifelse
}{
spot2/name get null ne
spot2 spotChannel and{
spot2/tintImage get dup null ne{
false /nonZeroData
}{
pop false /noData
}ifelse
}{
false /noData
}ifelse
}ifelse
}ifelse
}def
/renderChannelData
{
/_tmp xp
_tmp /nonZeroData ne currentoverprint and{
pop
_tmp /zeroData eq{pop}if
4 npop
}{
_tmp /nonZeroData eq{
{
invertXfer
}if
systemdict/image
get 5 execImage
}{
pop
_tmp /zeroData eq{pop}if
4 npop
knockOut
}ifelse
}ifelse
}def
/bwImage{
begin
gsave
dup dup dup
getChannelData
exch pop false exch
renderChannelData
grestore
end
}def
/ncolorimage{
begin
pop pop
gsave
spot2/name get null ne spot2 spotChannel and{
true setoverprint
}if
getChannelData
renderChannelData
grestore
end
}def
}def
end
end
defaultpacking setpacking
%%EndResource
%%BeginResource: procset AGM_Gradient 1.0 0
%%Title: (AGM Gradient Procset)
%%Version: 1.0 0
%%CreationDate: (4/26/96) ()
%%Copyright: ((C) 1987-1996 Adobe Systems Incorporated All Rights Reserved)
userdict /defaultpacking currentpacking put true setpacking
userdict /AGM_Gradient 20 dict dup begin put
/AGM_Gradient_private 200 dict def
/initialize
{
AGM_Gradient begin
AGM_Gradient_private begin
initializeVars
/bd systemdict/mark get def
/ed
_level2PS
{
(>>)
}{
(counttomark 2 idiv dup dict begin {def} repeat pop currentdict end)
} ifelse
cvx def
_level2PS{
initializeLev2
}{
initializeLev1
}ifelse
queryDevice
initializeShading
initializeOps
_producingSeps{
AGM_Gradient_Sep/initialize get exec
}{
initializeComposite
}ifelse
_illustrator{
/f{}def
/F{}def
/s{}def
/S{}def
/b{}def
/B{}def
}if
/image where{
/image get /_image xd
}if
/colorimage where{
/colorimage get /_colorimage xd
}if
/rectfill where dup{
exch pop not _producingSeps or
}{
not
}ifelse
{
/rectfill{
gsave
newpath
4 2 roll moveto
1 index 0 rlineto
0 1 index rlineto
1 index neg 0 rlineto
pop pop
closepath
fill
grestore
}def
}if
/linealImage _noImage{
/rectImage load
}{
_producingSeps{
AGM_Gradient_Sep/AGM_Gradient_Sep_private get begin
/rampImage load
end
}{
/rampImage load
}ifelse
}ifelse
def
AGM_Gradient_private
{
dup xcheck 1 index type /arraytype eq and
{
bind
}if
pop pop
}forall
AGM_Gradient
{
dup xcheck 1 index type /arraytype eq and
{
bind
}if
pop pop
}forall
end
currentdict readonly pop
end
}def
/initializeAI
{
pop pop
AGM_Gradient/AGM_Gradient_private get /_illustrator true put
AGM_Gradient/initialize get exec
AGM_Gradient begin
}def
/unload{
systemdict/languagelevel known{
systemdict/languagelevel get 2 ge{
userdict/AGM_Gradient_Sep 2 copy known{
undef
}{
pop pop
}ifelse
userdict/AGM_Gradient 2 copy known{
undef
}{
pop pop
}ifelse
}if
}if
}def
/terminate{
currentdict AGM_Gradient eq{
end
}if
}def
AGM_Gradient_private begin
/initializeVars{
/_d255 256 array def
0 1 255{
_d255 exch dup 255 div put
}bind for
/_d255- 256 array def
0 1 255{
_d255- exch 1 _d255 2 index get sub put
}bind for
/_sSave nd
/_dUserSpace matrix defaultmatrix def
/_bUMatrix matrix def
/_imageMatrix matrix def
/_saveMatrix matrix def
/_xm matrix def
/_ccAry1 5 array def
/_level2PS
systemdict/languagelevel known dup{
pop systemdict/languagelevel get 2 ge
}if
def
/_level3PS
_level2PS systemdict/shfill known and
def
currentdict /_illustrator known not{
/_illustrator false def
}if
}def
/initializeOps
{
AGM_Gradient begin
currentdict/Bc known not{
/Bc{
_renderFlag 2 eq{
6 npop
}{
pushBSpace
_rampIndex 0 eq{
pop pop
setCStop
}if
linealFill
popBSpace
}ifelse
}def
}if
currentdict/Bg known not{
/Bg{
10 npop
/_gradName xp
/_renderFlag xp
_renderFlag 2 ne{
_illustrator{
_of setoverprint
}if
_illustrator _eo and _renderFlag 3 eq or{
eoclip
}{
clip
}ifelse
_gradNames _gradName 2 copy known{
get
mark exch aload pop
/_gradType xp
1 sub dup /_rampIndex xp
/_maxRampIndex xp
mark exch aload pop
0 0
}if
pop pop
getRampData
}{
mark mark
}ifelse
}def
}if
currentdict/Bm known not{
/Bm{
_renderFlag 2 ne{
_gradType 0 eq{
linealRamp
}{
radialGrad
}ifelse
}{
6 npop
}ifelse
}def
}if
currentdict/Bh known not{
/Bh{
2 npop
/_yHi xp
/_xHi xp
/_radHilite _xHi 0 ne _yHi 0 ne or pt
}def
}if
currentdict/Bn known not{
/Bn{
AGM_Gradient_private begin
dict /_gradNames xp
end
}def
}if
currentdict/Bd known not{
/Bd{
AGM_Gradient begin
AGM_Gradient_private begin
/_nColorsBd xp
/_gradType xp
/_gradName xp
}def
}if
currentdict/BD known not{
/BD{
currentdict/_gradNames known not{
/_gradNames 20 dict def
}if
] _nColorsBd _gradType
] _gradName exch /_gradNames xput
end
end
}def
}if
currentdict/Bb known not{
/Bb{
AGM_Gradient begin
AGM_Gradient_private begin
_producingSeps{
AGM_Gradient_Sep/AGM_Gradient_Sep_private get begin
}if
mySave
}def
}if
currentdict/BB known not{
/BB{
/_tmp xp
cleartomark cleartomark
_tmp dup
_renderFlag
myRestore
_producingSeps{
end
}if
_illustrator
end
end
{
2 ne exch 0 gt and{
2 eq{
s
}{
S
}ifelse
}{
pop newpath
}ifelse
}{
pop newpath
}ifelse
}def
}if
currentdict/Xm known not{
/Xm{
_xm astore pop
}def
}if
end
}def
/queryDevice{
/_inRipSep
_level2PS{
currentpagedevice/Separations 2 copy known{
get
}{
pop pop false
}ifelse
}{
false
}ifelse
def
/_noImage /lv1Fix where{
pop lv1Fix
}{
false
}ifelse
def
/_useShells where{
pop
}{
/_useShells true def
}ifelse
/_useSmoothShade where{
pop
}{
/_useSmoothShade false def
}ifelse
/_cyanPlate 1 0 0 0 testCMYKColorThrough def
/_magentaPlate 0 1 0 0 testCMYKColorThrough def
/_yellowPlate 0 0 1 0 testCMYKColorThrough def
/_blackPlate 0 0 0 1 testCMYKColorThrough def
/_compositeJob
_cyanPlate _magentaPlate and _yellowPlate and _blackPlate and
def
/_compositeSpotDevice where{
pop
}{
/_compositeSpotDevice _compositeJob not _inRipSep or{
1
}{
0
}ifelse
def
}ifelse
/_producingSeps _compositeSpotDevice 0 ne def
/_deviceDPI 72 0 matrix defaultmatrix dtransform dup mul exch dup mul add sqrt def
/_dpiThreshold where{
pop
}{
/_dpiThreshold 600 def
}ifelse
/_screenFreqThreshold where{
pop
}{
/_screenFreqThreshold 150 def
}ifelse
/_contoneDevice where{
pop
}{
/_contoneDevice false def
}ifelse
/_subSampleOK
_deviceDPI _dpiThreshold le
currentScreenFreq _screenFreqThreshold le and
_contoneDevice not and
_producingSeps not and
def
}def
/initializeLev1{
/makeByte8{
/_tmp 0 pt
255 mul cvi
8 string 8{
dup _tmp 3 index put
/_tmp _tmp 1 add pt
}repeat
exch pop
}def
/currentScreenFreq{
currentscreen pop pop
}def
/_byte 1 string def
/colorimage where{
pop
}{
/colorimage{
pop pop
/_blackTmp xp
/_yellowTmp xp
/_magentaTmp xp
/_cyanTmp xp
/_cnt 0 pt
[
_byte dup 0
_cyanTmp
/_cnt cvx /get cvx _d255 /exch cvx /get cvx .3 /mul cvx
_magentaTmp
/_cnt cvx /get cvx _d255 /exch cvx /get cvx .59 /mul cvx
_yellowTmp
/_cnt cvx /get cvx _d255 /exch cvx /get cvx .11 /mul cvx
_blackTmp
/_cnt cvx /get cvx _d255 /exch cvx /get cvx
/add cvx /add cvx /add cvx 1 /exch cvx /sub cvx
/dup cvx 0 /lt cvx{
pop 0
}/if cvx
/dup cvx 1 /gt cvx{
pop 1
}/if cvx
255 /mul cvx /cvi cvx
256 /mod cvx
/dup cvx 0 /lt cvx{
pop 0
}/if cvx
/put cvx
/_cnt dup cvx 1 /add cvx /pt cvx
] cvx
bind
/_image load 5 execImage
}def
}ifelse
}def
/initializeLev2{
/level2ScreenFreq{
begin
60
HalftoneType 1 eq{
pop Frequency
}if
HalftoneType 2 eq{
pop GrayFrequency
}if
HalftoneType 5 eq{
pop Default level2ScreenFreq
}if
end
}def
/currentScreenFreq{
currenthalftone level2ScreenFreq
}def
}def
/initializeShading{
_useSmoothShade _level3PS and{
/_usingSmoothShade true pt
initializeLev3_Ops
}{
/_usingSmoothShade false pt
}ifelse
}def
/initializeLev3_Ops
{
/initShFill{
/_index _gradType 0 eq {0}{_maxRampIndex 1 sub} ifelse pt
/_rampFuncsArray _maxRampIndex array pt
/_boundsArray _maxRampIndex 1 sub array pt
/_encodeArray _maxRampIndex 2 mul array pt
/_beginCoord _rampPoint pt
/_colorSpace null pt
/_firstFill _rampIndex _maxRampIndex eq pt
/_lastFill false pt
}def
/getRampColorSpace{
_nSamples 1 gt{
/_ndx 0 pt
[blendColor] cvx exec
}if
/_C0 [currentcolor] pt
/_C0_Space currentcolorspace pt
_nSamples 1 gt{
/_ndx _nSamples 1 sub pt
[blendColor] cvx exec
}if
/_C1 [currentcolor] pt
/_C1_Space currentcolorspace pt
_C0_Space _C1_Space eq{
/_rampColorSpace _C0_Space pt
}{
(colorspace conflict!) ==
showpage
stop
}ifelse
_spotColor{
nsetcustomcolorend
}if
}def
/linealShFill{
popBSpace
_xm aload pop pushBSpace
/_size _index 1 add pt
_size _maxRampIndex lt {
/_rampFuncsArray _rampFuncsArray 0 _size getinterval pt
/_boundsArray _boundsArray 0 _size 1 sub getinterval pt
/_encodeArray _encodeArray 0 _size 2 mul getinterval pt
}if
bd
/ShadingType 2
/ColorSpace _colorSpace
/Function
bd
/FunctionType 3
/Domain [0 1]
/Functions _rampFuncsArray
/Bounds _boundsArray
/Encode _encodeArray
ed
/Extend [_firstFill _lastFill]
/Domain [0 1]
/Coords [_beginCoord 0 _endCoord 0]
ed
shfill
}def
/radialShFill{
/_size _maxRampIndex _index sub pt
_size _maxRampIndex lt {
/_rampFuncsArray _rampFuncsArray _index _size getinterval pt
/_boundsArray _boundsArray _index _size 1 sub getinterval pt
/_encodeArray _encodeArray _index 2 mul _size 2 mul getinterval pt
}if
/_rampLen _beginCoord _endCoord sub pt
bd
/ShadingType 3
/ColorSpace _colorSpace
/Function
bd
/FunctionType 3
/Domain [0 1]
/Functions _rampFuncsArray
/Bounds _boundsArray
/Encode _encodeArray
ed
/Extend [_lastFill _firstFill]
/Domain [0 1]
/Coords [_xHi _rampLen mul _yHi _rampLen mul _endCoord 0 0 _beginCoord]
ed
shfill
_radHilite{
_xHi _rampLen mul _yHi _rampLen mul translate
}if
}def
/fillRamp{
/_invert _midPoint 0.5 lt pt
_rampIndex _maxRampIndex eq {
initShFill
}if
getRampColorSpace
_colorSpace null eq{
/_colorSpace _rampColorSpace pt
}{
_colorSpace _rampColorSpace ne{
/_index _index 1
_gradType 0 eq{
sub pt
linealShFill
}{
add pt
radialShFill
}ifelse
initShFill
/_colorSpace _rampColorSpace pt
} if
}ifelse
/_endCoord _endPoint pt
_rampFuncsArray _index
bd
/FunctionType 2
/Domain [0 1]
/N 0.5 log _invert{1 _midPoint sub}{_midPoint}ifelse log div
_gradType 0 eq{
_invert{/C1}{/C0}ifelse _C0
_invert{/C0}{/C1}ifelse _C1
}{
_invert{/C0}{/C1}ifelse _C1
_invert{/C1}{/C0}ifelse _C0
}ifelse
ed
put
_rampIndex 1 ne{
_boundsArray _index _gradType 1 eq{1 sub}if _endCoord put
} if
0 1 _invert {exch}if
_encodeArray _index 2 mul 1 add 3 -1 roll put
_encodeArray _index 2 mul 3 -1 roll put
_rampIndex 1 eq {
/_lastFill true pt
_gradType 0 eq{
linealShFill
}{
radialShFill
}ifelse
}if
/_index _index 1
_gradType 0 eq{
add pt
}{
sub pt
}ifelse
}def
/radialRamp
/fillRamp load def
/rampImage
/fillRamp load def
AGM_Gradient begin
/Bc{
6 npop
}def
end
}def
/initializeComposite{
/bwImage{
pop /_image load 5 execImage
}def
currentdict/rampImage known not{
/rampImage{
_color{
_nSamples setImageParms
_rgbRamp{
_redData _greenData _blueData _nSamples 3 expandColor
true 3 null ncolorimage
}{
_cyanData _magentaData _yellowData _blackData _nSamples 4 expandColor
true 4 null ncolorimage
}ifelse
}{
_nSamples setImageParms _blackData null bwImage
}ifelse
}def
}if
/setCStop{
/_colorStyle exch pt
_colorStyle 0 eq{
1 exch sub
0 0 0
4 -1 roll
}if
_colorStyle 2 eq{
setrgbcolor 4 npop
}if
_colorStyle 3 eq{
1 exch sub /_tmp xp
pop
4{
_tmp mul 4 1 roll
}repeat
}if
_colorStyle 4 eq{
3 -1 roll pop pop
1 exch sub /_tmp xp
3{
1 exch sub _tmp mul 1 exch sub 3 1 roll
}repeat
setrgbcolor
4 npop
}if
_colorStyle 2 ne _colorStyle 4 ne and{
null nsetcustomcolor
}if
}def
/nsetcustomcolor
{
pop setcmykcolor
}def
/nsetcustomcolorend
{
}def
/ncolorimage{
pop
/_colorimage load 10 execImage
}def
_noImage not _level2PS not and{
/linealFill{
8 setImageParms
_color{
currentcmykcolor
4{
makeByte8 4 1 roll
}repeat
true 4 null ncolorimage
}{
currentgray makeByte8 null bwImage
}ifelse
}def
}if
}def
/npop{
{pop}repeat
}def
/xd{
exch def
}def
/nd{
null def
}def
/pt{
AGM_Gradient_private 3 1 roll put
}def
/xp{
exch pt
}def
/xput{
dup load dup length exch maxlength eq{
dup dup load dup
length 2 mul dict copy def
}if
load begin
def
end
}def
/mySave{
save /_sSave xp
}def
/myRestore{
_sSave type /savetype eq{
_sSave restore
}if
}def
/gMark{
counttomark 2 add -1 roll
}def
/execImage{
/_tmp xp
{
exec
}stopped{
$error /errorname get /undefinedresult ne{
stop
}{
_tmp npop
}ifelse
}if
}def
/pushBSpace{
newpath gsave
_bUMatrix astore concat
}def
/popBSpace{
grestore
}def
/setImageParms{
1 8 2 index 0 0 1 0 0 _imageMatrix astore
}def
/linealFill{
0 0 1 1 rectfill
}def
/testCMYKColorThrough{
gsave
setcmykcolor currentcmykcolor
grestore
add add add 0 ne
}def
/expandOne {
/_tmp xp
dup type /stringtype ne{
_tmp string
exch
dup 0 ne{
255 mul cvi
0 1 _tmp 1 sub{
3 copy
exch put pop
}for
}if
pop
}if
}def
/expandColor{
/_channels xp
/_len xp
_channels{
_len expandOne _channels 1 roll
}repeat
}def
/blendColor{
_color{
_rgbRamp _producingSeps not and{
_redData dup type /stringtype eq{
/_ndx cvx /get cvx _d255 /exch cvx /get cvx
}if
_greenData dup type /stringtype eq{
/_ndx cvx /get cvx _d255 /exch cvx /get cvx
}if
_blueData dup type /stringtype eq{
/_ndx cvx /get cvx _d255 /exch cvx /get cvx
}if
/setrgbcolor cvx
}{
_cyanData dup type /stringtype eq{
/_ndx cvx /get cvx _d255 /exch cvx /get cvx
}if
_magentaData dup type /stringtype eq{
/_ndx cvx /get cvx _d255 /exch cvx /get cvx
}if
_yellowData dup type /stringtype eq{
/_ndx cvx /get cvx _d255 /exch cvx /get cvx
}if
_blackData dup type /stringtype eq{
/_ndx cvx /get cvx _d255 /exch cvx /get cvx
}if
_spotColor{
_rampSD begin
/_rampSD cvx /begin cvx
spot1 begin
tintImage dup type /stringtype eq{
/_ndx cvx /get cvx _d255- /exch cvx /get cvx
}{
dup null ne{
name type /nametype ne{
1 exch sub
}if
}if
}ifelse
end
/spot1 cvx /tintValue 3 -1 /roll cvx /put cvx
spot2 begin
tintImage dup type /stringtype eq{
/_ndx cvx /get cvx _d255- /exch cvx /get cvx
}{
dup null ne{
name type /nametype ne{
1 exch sub
}if
}if
}ifelse
end
/spot2 cvx /tintValue 3 -1 /roll cvx /put cvx
/end cvx
end
/_rampSD cvx
/nsetcustomcolor cvx
}{
/setcmykcolor cvx
}ifelse
}ifelse
}{
_blackData /_ndx cvx /get cvx
_d255 /exch cvx /get cvx
_usingSmoothShade{
1 /exch cvx /sub cvx 0 0 0 4 -1 /roll cvx /setcmykcolor cvx
}{
/setgray cvx
}ifelse
}ifelse
}def
/linealRamp{
pushBSpace
_ramp{
linealImage
}{
linealFill
}ifelse
popBSpace
/_rampIndex _rampIndex 1 sub pt
_rampIndex 0 gt{
getRampData
}if
}def
/radialGrad{
/_firstShell true pt
_usingSmoothShade not{
fill
}if
pushBSpace
_radHilite{
_xHi _yHi _bUMatrix idtransform /_yHi xp /_xHi xp
_rampPoint 1 lt{
1 _rampPoint sub dup _xHi mul exch _yHi mul translate
}if
}if
_rampIndex{
radialRamp
/_rampIndex _rampIndex 1 sub pt
_rampIndex 0 gt{
getRampData
}if
}repeat
popBSpace
}def
/getNSamples{
0 exch
{
dup type /stringtype eq{
length exch pop exit
}if
pop
}forall
dup 0 eq{
pop 1
}if
}def
/getRampData{
/_rampType gMark pt
/_color _rampType 0 gt pt
/_ccRGB _rampType 5 eq _rampType 6 eq or pt
/_rgbRamp _rampType 4 eq _ccRGB or pt
/_ccProcess _rampType 2 eq _rampType 3 eq or pt
_producingSeps{
_rampSD initSpotDict
/_spotColor _ccProcess _ccRGB or pt
}{
/_spotColor false pt
}ifelse
/_ramp true pt
100 div /_rampPoint xp
100 div /_midPoint xp
dup /_colorStyle xp
_colorStyle 0 eq{
2
}{
_colorStyle 1 eq{
5
}{
_colorStyle 2 eq{
8
}{
_colorStyle 3 eq{
_producingSeps{
_rampSD begin
spot1 begin
/name 3 index def
/spot_K 4 index def
/spot_Y 5 index def
/spot_M 6 index def
/spot_C 7 index def
end
end
}if
7
}{
_producingSeps{
_rampSD begin
spot1 begin
/name 4 index def
/spot_K 8 index def
/spot_Y 9 index def
/spot_M 10 index def
/spot_C 11 index def
end
end
}if
11
} ifelse
}ifelse
}ifelse
}ifelse
/_tmp xp
_tmp index 100 div /_endPoint xp
_gradType 1 eq{
_tmp 1 add index 100 div /_midPoint xp
}if
_producingSeps{
_tmp 2 add index /_nextColorStyle xp
_nextColorStyle 3 eq{
/_tmp _tmp 4 add pt
_tmp index dup
_rampSD begin
spot1 /name get ne{
spot2 begin
/name xd
/spot_K _tmp 2 add index def
/spot_Y _tmp 3 add index def
/spot_M _tmp 4 add index def
/spot_C _tmp 5 add index def
end
}{
pop
}ifelse
end
}if
_nextColorStyle 4 eq{
/_tmp _tmp 5 add pt
_tmp index dup
_rampSD begin
spot1 /name get ne{
spot2 begin
/name xd
/spot_K _tmp 5 add index def
/spot_Y _tmp 6 add index def
/spot_M _tmp 7 add index def
/spot_C _tmp 8 add index def
end
}{
pop
}ifelse
end
}if
}if
_rampType 3 eq _rampType 6 eq or{
/_tint2Data gMark pt
}if
_ccProcess _ccRGB or{
/_tint1Data gMark pt
}if
_rgbRamp{
/_blueData gMark pt
/_greenData gMark pt
/_redData gMark pt
}if
_producingSeps{
_rampSD begin
_ccProcess _ccRGB or{
_rampType 3 eq _rampType 6 eq or{
spot2 begin
/tintImage _gradType 0 eq{
_tint2Data
}{
_tint1Data
}ifelse
def
name null eq{
/name /Black def
}if
end
}if
spot1 begin
/tintImage _gradType 0 eq _rampType 2 eq or _rampType 5 eq or{
_tint1Data
}{
_tint2Data
}ifelse
def
_rampType 2 eq _rampType 5 eq or{
name null eq{
/name spot2 /name get def
spot2 /name null put
}if
}{
name null eq{
/name /Black def
}if
}ifelse
end
}if
end
}if
/_blackData gMark pt
_rampType 0 gt{
counttomark 4 add -3 roll
/_yellowData xp
/_magentaData xp
/_cyanData xp
}if
_ramp{
/_nSamples
[
_rampType 0 eq {_blackData}if
_rampType 1 eq {_cyanData _magentaData _yellowData _blackData}if
_rampType 2 eq {_cyanData _magentaData _yellowData _blackData _tint1Data}if
_rampType 3 eq {_cyanData _magentaData _yellowData _blackData _tint1Data _tint2Data}if
_rampType 4 eq {_cyanData _magentaData _yellowData _blackData _redData _greenData _blueData}if
_rampType 5 eq {_cyanData _magentaData _yellowData _blackData _redData _greenData _blueData _tint1Data}if
_rampType 6 eq {_cyanData _magentaData _yellowData _blackData _redData _greenData _blueData _tint1Data _tint2Data}if
] getNSamples pt
_usingSmoothShade not {/_ramp _nSamples 1 gt pt} if
} if
setCStop
}def
/rectImage{
gsave
/_sInc 1 pt
/_bInc 1 _nSamples div pt
/_uRampLen 1 0 dtransform _dUserSpace idtransform dup mul exch dup mul add sqrt pt
/_pChange _uRampLen 0 eq{0}{_nSamples _uRampLen div}ifelse pt
0
_nSamples
[
/dup cvx
/_ndx /exch cvx /pt cvx
blendColor
0 0 _bInc 1 /rectfill cvx
_bInc 0 /translate cvx
_sInc /add cvx
] cvx
bind
repeat
pop
_spotColor{
nsetcustomcolorend
}if
grestore
}def
/radialInit{
/_nRadSamples _nSamples dup 0 eq{pop 1}if pt
/_sInc -1 pt
/_rampLen _rampPoint _endPoint sub pt
/_bInc _rampLen _nSamples div neg pt
/_optimize false pt
_subSampleOK{
/_uRampLen
_rampLen 0 dtransform _dUserSpace idtransform dup mul exch dup mul add sqrt
0 _rampLen dtransform _dUserSpace idtransform dup mul exch dup mul add sqrt
2 copy lt{
exch
}if pop
pt
/_pChange
_uRampLen 0 eq{
0
}{
_nSamples _uRampLen div
}ifelse
pt
_pChange .5 gt dup /_optimize xp{
/_nRadSamples _uRampLen 2 div round cvi dup 1 le{pop 2}if pt
/_bInc _rampLen _nRadSamples div neg pt
/_sInc _nSamples 1 sub _nRadSamples 1 sub div neg pt
}if
}if
_radHilite{
/_xBCInc _xHi _rampLen mul _nRadSamples div pt
/_yBCInc _yHi _rampLen mul _nRadSamples div pt
}if
}def
currentdict/radialRamp known not{
/radialRamp{
/_saveMatrix _saveMatrix currentmatrix def
radialInit
_rampPoint
_nSamples 1 sub
_nRadSamples
[
/dup cvx
_optimize{
/round cvx /cvi cvx
}if
/_ndx /exch cvx /pt cvx
_useShells{
/_firstShell cvx{
/_firstShell false pt
}{
0 0 3 index 360 0 arcn fill
}/ifelse cvx
}if
blendColor
_useShells{
0 0 3 /index cvx 0 360 /arc cvx
}{
0 0 3 /index cvx 0 360 /arc cvx /fill cvx
}ifelse
/exch cvx _bInc /add cvx /exch cvx
_sInc /add cvx
_radHilite{
_xBCInc _yBCInc /translate cvx
}if
] cvx bind
repeat
pop pop
_saveMatrix setmatrix
_radHilite{
_xHi _rampLen mul _yHi _rampLen mul translate
}if
_useShells _rampIndex 1 eq and{
fill
}if
_spotColor{
nsetcustomcolorend
}if
}def
}if
end
end
defaultpacking setpacking
%%EndResource
%%BeginProcSet: Adobe_ColorImage_AI6 1.1 0
userdict /Adobe_ColorImage_AI6 known not
{
userdict /Adobe_ColorImage_AI6 24 dict put
} if
userdict /Adobe_ColorImage_AI6 get begin
/initialize
{
Adobe_ColorImage_AI6 begin
Adobe_ColorImage_AI6
{
dup type /arraytype eq
{
dup xcheck
{
bind
} if
} if
pop pop
} forall
} def
/terminate { end } def
currentdict /Adobe_ColorImage_AI6_Vars known not
{
/Adobe_ColorImage_AI6_Vars 15 dict def
} if
Adobe_ColorImage_AI6_Vars begin
/channelcount 0 def
/sourcecount 0 def
/sourcearray 4 array def
/plateindex -1 def
/XIMask 0 def
/XIBinary 0 def
/XIChannelCount 0 def
/XIBitsPerPixel 0 def
/XIImageHeight 0 def
/XIImageWidth 0 def
/XIImageMatrix null def
/XIBuffer null def
/XIDataProc null def
/XIVersion 6 def
end
/WalkRGBString null def
/WalkCMYKString null def
/StuffRGBIntoGrayString null def
/RGBToGrayImageProc null def
/StuffCMYKIntoGrayString null def
/CMYKToGrayImageProc null def
/ColorImageCompositeEmulator null def
/SeparateCMYKImageProc null def
/FourEqual null def
/TestPlateIndex null def
currentdict /_colorimage known not
{
/colorimage where
{
/colorimage get /_colorimage exch def
}
{
/_colorimage null def
} ifelse
} if
/_currenttransfer systemdict /currenttransfer get def
/colorimage null def
/XI null def
/WalkRGBString
{
0 3 index
dup length 1 sub 0 3 3 -1 roll
{
3 getinterval { } forall
5 index exec
3 index
} for
5 { pop } repeat
} def
/WalkCMYKString
{
0 3 index
dup length 1 sub 0 4 3 -1 roll
{
4 getinterval { } forall
6 index exec
3 index
} for
5 { pop } repeat
} def
/StuffRGBIntoGrayString
{
.11 mul exch
.59 mul add exch
.3 mul add
cvi 3 copy put
pop 1 add
} def
/RGBToGrayImageProc
{
Adobe_ColorImage_AI6_Vars begin
sourcearray 0 get exec
dup length 3 idiv string
dup 3 1 roll
/StuffRGBIntoGrayString load exch
WalkRGBString
end
} def
/StuffCMYKIntoGrayString
{
exch .11 mul add
exch .59 mul add
exch .3 mul add
dup 255 gt { pop 255 } if
255 exch sub cvi 3 copy put
pop 1 add
} def
/CMYKToGrayImageProc
{
Adobe_ColorImage_AI6_Vars begin
sourcearray 0 get exec
dup length 4 idiv string
dup 3 1 roll
/StuffCMYKIntoGrayString load exch
WalkCMYKString
end
} def
/ColorImageCompositeEmulator
{
pop true eq
{
Adobe_ColorImage_AI6_Vars /sourcecount get 5 add { pop } repeat
}
{
Adobe_ColorImage_AI6_Vars /channelcount get 1 ne
{
Adobe_ColorImage_AI6_Vars begin
sourcearray 0 3 -1 roll put
channelcount 3 eq
{
/RGBToGrayImageProc
}
{
/CMYKToGrayImageProc
} ifelse
load
end
} if
image
} ifelse
} def
/SeparateCMYKImageProc
{
Adobe_ColorImage_AI6_Vars begin
sourcecount 0 ne
{
sourcearray plateindex get exec
}
{
sourcearray 0 get exec
dup length 4 idiv string
0 2 index
plateindex 4 2 index length 1 sub
{
get 255 exch sub
3 copy put pop 1 add
2 index
} for
pop pop exch pop
} ifelse
end
} def
/FourEqual
{
4 index ne
{
pop pop pop false
}
{
4 index ne
{
pop pop false
}
{
4 index ne
{
pop false
}
{
4 index eq
} ifelse
} ifelse
} ifelse
} def
/TestPlateIndex
{
Adobe_ColorImage_AI6_Vars begin
/plateindex -1 def
/setcmykcolor where
{
pop
gsave
1 0 0 0 setcmykcolor systemdict /currentgray get exec 1 exch sub
0 1 0 0 setcmykcolor systemdict /currentgray get exec 1 exch sub
0 0 1 0 setcmykcolor systemdict /currentgray get exec 1 exch sub
0 0 0 1 setcmykcolor systemdict /currentgray get exec 1 exch sub
grestore
1 0 0 0 FourEqual
{
/plateindex 0 def
}
{
0 1 0 0 FourEqual
{
/plateindex 1 def
}
{
0 0 1 0 FourEqual
{
/plateindex 2 def
}
{
0 0 0 1 FourEqual
{
/plateindex 3 def
}
{
0 0 0 0 FourEqual
{
/plateindex 5 def
} if
} ifelse
} ifelse
} ifelse
} ifelse
pop pop pop pop
} if
plateindex
end
} def
/colorimage
{
Adobe_ColorImage_AI6_Vars begin
/channelcount 1 index def
/sourcecount 2 index 1 eq { channelcount 1 sub } { 0 } ifelse def
4 sourcecount add index dup
8 eq exch 1 eq or not
end
{
/_colorimage load null ne
{
_colorimage
}
{
Adobe_ColorImage_AI6_Vars /sourcecount get
7 add { pop } repeat
} ifelse
}
{
dup 3 eq
TestPlateIndex
dup -1 eq exch 5 eq or or
{
/_colorimage load null eq
{
ColorImageCompositeEmulator
}
{
dup 1 eq
{
pop pop image
}
{
Adobe_ColorImage_AI6_Vars /plateindex get 5 eq
{
gsave
0 _currenttransfer exec
1 _currenttransfer exec
eq
{ 0 _currenttransfer exec 0.5 lt }
{ 0 _currenttransfer exec 1 _currenttransfer exec gt } ifelse
{ { pop 0 } } { { pop 1 } } ifelse
systemdict /settransfer get exec
} if
_colorimage
Adobe_ColorImage_AI6_Vars /plateindex get 5 eq
{
grestore
} if
} ifelse
} ifelse
}
{
dup 1 eq
{
pop pop
image
}
{
pop pop
Adobe_ColorImage_AI6_Vars begin
sourcecount -1 0
{
exch sourcearray 3 1 roll put
} for
/SeparateCMYKImageProc load
end
systemdict /image get exec
} ifelse
} ifelse
} ifelse
} def
/XG
{
pop pop
} def
/XF
{
13 {pop} repeat
} def
/Xh
{
Adobe_ColorImage_AI6_Vars begin
gsave
/XIMask exch 0 ne def
/XIImageHeight exch def
/XIImageWidth exch def
/XIImageMatrix exch def
0 0 moveto
XIImageMatrix concat
XIImageWidth XIImageHeight scale
XIMask
{
/_lp /null ddef
_fc
/_lp /imagemask ddef
}
if
/XIVersion 7 def
end
} def
/XH
{
Adobe_ColorImage_AI6_Vars begin
/XIVersion 6 def
grestore
end
} def
/XI
{
Adobe_ColorImage_AI6_Vars begin
gsave
/XIMask exch 0 ne def
/XIBinary exch 0 ne def
pop
pop
/XIChannelCount exch def
/XIBitsPerPixel exch def
/XIImageHeight exch def
/XIImageWidth exch def
pop pop pop pop
/XIImageMatrix exch def
XIBitsPerPixel 1 eq
{
XIImageWidth 8 div ceiling cvi
}
{
XIImageWidth XIChannelCount mul
} ifelse
/XIBuffer exch string def
XIBinary
{
/XIDataProc { currentfile XIBuffer readstring pop } def
XIVersion 6 le
{
currentfile 128 string readline pop pop
}
if
}
{
/XIDataProc { currentfile XIBuffer readhexstring pop } def
} ifelse
XIVersion 6 le
{
0 0 moveto
XIImageMatrix concat
XIImageWidth XIImageHeight scale
XIMask
{
/_lp /null ddef
_fc
/_lp /imagemask ddef
} if
} if
XIMask
{
XIImageWidth XIImageHeight
false
[ XIImageWidth 0 0 XIImageHeight neg 0 0 ]
/XIDataProc load
imagemask
}
{
XIImageWidth XIImageHeight
XIBitsPerPixel
[ XIImageWidth 0 0 XIImageHeight neg 0 0 ]
/XIDataProc load
XIChannelCount 1 eq
{
gsave
0 setgray
image
grestore
}
{
false
XIChannelCount
colorimage
} ifelse
} ifelse
grestore
end
} def
end
%%EndProcSet
%%BeginResource: procset Adobe_Illustrator_AI5 1.1 0
%%Title: (Adobe Illustrator (R) Version 5.0 Full Prolog)
%%Version: 1.1 0
%%CreationDate: (3/7/1994) ()
%%Copyright: ((C) 1987-1996 Adobe Systems Incorporated All Rights Reserved)
currentpacking true setpacking
userdict /Adobe_Illustrator_AI5_vars 81 dict dup begin
put
/_eo false def
/_lp /none def
/_pf
{
} def
/_ps
{
} def
/_psf
{
} def
/_pss
{
} def
/_pjsf
{
} def
/_pjss
{
} def
/_pola 0 def
/_doClip 0 def
/cf currentflat def
/_tm matrix def
/_renderStart
[
/e0 /r0 /a0 /o0 /e1 /r1 /a1 /i0
] def
/_renderEnd
[
null null null null /i1 /i1 /i1 /i1
] def
/_render -1 def
/_rise 0 def
/_ax 0 def
/_ay 0 def
/_cx 0 def
/_cy 0 def
/_leading
[
0 0
] def
/_ctm matrix def
/_mtx matrix def
/_sp 16#020 def
/_hyphen (-) def
/_fScl 0 def
/_cnt 0 def
/_hs 1 def
/_nativeEncoding 0 def
/_useNativeEncoding 0 def
/_tempEncode 0 def
/_pntr 0 def
/_tDict 2 dict def
/_wv 0 def
/Tx
{
} def
/Tj
{
} def
/CRender
{
} def
/_AI3_savepage
{
} def
/_gf null def
/_cf 4 array def
/_if null def
/_of false def
/_fc
{
} def
/_gs null def
/_cs 4 array def
/_is null def
/_os false def
/_sc
{
} def
/_pd 1 dict def
/_ed 15 dict def
/_pm matrix def
/_fm null def
/_fd null def
/_fdd null def
/_sm null def
/_sd null def
/_sdd null def
/_i null def
/discardSave null def
/buffer 256 string def
/beginString null def
/endString null def
/endStringLength null def
/layerCnt 1 def
/layerCount 1 def
/perCent (%) 0 get def
/perCentSeen? false def
/newBuff null def
/newBuffButFirst null def
/newBuffLast null def
/clipForward? false def
end
userdict /Adobe_Illustrator_AI5 known not {
userdict /Adobe_Illustrator_AI5 91 dict put
} if
userdict /Adobe_Illustrator_AI5 get begin
/initialize
{
Adobe_Illustrator_AI5 dup begin
Adobe_Illustrator_AI5_vars begin
discardDict
{
bind pop pop
} forall
dup /nc get begin
{
dup xcheck 1 index type /operatortype ne and
{
bind
} if
pop pop
} forall
end
newpath
} def
/terminate
{
end
end
} def
/_
null def
/ddef
{
Adobe_Illustrator_AI5_vars 3 1 roll put
} def
/xput
{
dup load dup length exch maxlength eq
{
dup dup load dup
length 2 mul dict copy def
} if
load begin
def
end
} def
/npop
{
{
pop
} repeat
} def
/sw
{
dup length exch stringwidth
exch 5 -1 roll 3 index mul add
4 1 roll 3 1 roll mul add
} def
/swj
{
dup 4 1 roll
dup length exch stringwidth
exch 5 -1 roll 3 index mul add
4 1 roll 3 1 roll mul add
6 2 roll /_cnt 0 ddef
{
1 index eq
{
/_cnt _cnt 1 add ddef
} if
} forall
pop
exch _cnt mul exch _cnt mul 2 index add 4 1 roll 2 index add 4 1 roll pop pop
} def
/ss
{
4 1 roll
{
2 npop
(0) exch 2 copy 0 exch put pop
gsave
false charpath currentpoint
4 index setmatrix
stroke
grestore
moveto
2 copy rmoveto
} exch cshow
3 npop
} def
/jss
{
4 1 roll
{
2 npop
(0) exch 2 copy 0 exch put
gsave
_sp eq
{
exch 6 index 6 index 6 index 5 -1 roll widthshow
currentpoint
}
{
false charpath currentpoint
4 index setmatrix stroke
} ifelse
grestore
moveto
2 copy rmoveto
} exch cshow
6 npop
} def
/sp
{
{
2 npop (0) exch
2 copy 0 exch put pop
false charpath
2 copy rmoveto
} exch cshow
2 npop
} def
/jsp
{
{
2 npop
(0) exch 2 copy 0 exch put
_sp eq
{
exch 5 index 5 index 5 index 5 -1 roll widthshow
}
{
false charpath
} ifelse
2 copy rmoveto
} exch cshow
5 npop
} def
/pl
{
transform
0.25 sub round 0.25 add exch
0.25 sub round 0.25 add exch
itransform
} def
/setstrokeadjust where
{
pop true setstrokeadjust
/c
{
curveto
} def
/C
/c load def
/v
{
currentpoint 6 2 roll curveto
} def
/V
/v load def
/y
{
2 copy curveto
} def
/Y
/y load def
/l
{
lineto
} def
/L
/l load def
/m
{
moveto
} def
}
{
/c
{
pl curveto
} def
/C
/c load def
/v
{
currentpoint 6 2 roll pl curveto
} def
/V
/v load def
/y
{
pl 2 copy curveto
} def
/Y
/y load def
/l
{
pl lineto
} def
/L
/l load def
/m
{
pl moveto
} def
} ifelse
/d
{
setdash
} def
/cf
{
} def
/i
{
dup 0 eq
{
pop cf
} if
setflat
} def
/j
{
setlinejoin
} def
/J
{
setlinecap
} def
/M
{
setmiterlimit
} def
/w
{
setlinewidth
} def
/XR
{
0 ne
/_eo exch ddef
} def
/H
{
} def
/h
{
closepath
} def
/N
{
_pola 0 eq
{
_doClip 1 eq
{
_eo {eoclip} {clip} ifelse /_doClip 0 ddef
} if
newpath
}
{
/CRender
{
N
} ddef
} ifelse
} def
/n
{
N
} def
/F
{
_pola 0 eq
{
_doClip 1 eq
{
gsave _pf grestore _eo {eoclip} {clip} ifelse newpath /_lp /none ddef _fc
/_doClip 0 ddef
}
{
_pf
} ifelse
}
{
/CRender
{
F
} ddef
} ifelse
} def
/f
{
closepath
F
} def
/S
{
_pola 0 eq
{
_doClip 1 eq
{
gsave _ps grestore _eo {eoclip} {clip} ifelse newpath /_lp /none ddef _sc
/_doClip 0 ddef
}
{
_ps
} ifelse
}
{
/CRender
{
S
} ddef
} ifelse
} def
/s
{
closepath
S
} def
/B
{
_pola 0 eq
{
_doClip 1 eq
gsave F grestore
{
gsave S grestore _eo {eoclip} {clip} ifelse newpath /_lp /none ddef _sc
/_doClip 0 ddef
}
{
S
} ifelse
}
{
/CRender
{
B
} ddef
} ifelse
} def
/b
{
closepath
B
} def
/W
{
/_doClip 1 ddef
} def
/*
{
count 0 ne
{
dup type /stringtype eq
{
pop
} if
} if
newpath
} def
/u
{
} def
/U
{
} def
/q
{
_pola 0 eq
{
gsave
} if
} def
/Q
{
_pola 0 eq
{
grestore
} if
} def
/*u
{
_pola 1 add /_pola exch ddef
} def
/*U
{
_pola 1 sub /_pola exch ddef
_pola 0 eq
{
CRender
} if
} def
/D
{
pop
} def
/*w
{
} def
/*W
{
} def
/`
{
/_i save ddef
clipForward?
{
nulldevice
} if
6 1 roll 4 npop
concat pop
userdict begin
/showpage
{
} def
0 setgray
0 setlinecap
1 setlinewidth
0 setlinejoin
10 setmiterlimit
[] 0 setdash
/setstrokeadjust where {pop false setstrokeadjust} if
newpath
0 setgray
false setoverprint
} def
/~
{
end
_i restore
} def
/O
{
0 ne
/_of exch ddef
/_lp /none ddef
} def
/R
{
0 ne
/_os exch ddef
/_lp /none ddef
} def
/g
{
/_gf exch ddef
/_fc
{
_lp /fill ne
{
_of setoverprint
_gf setgray
/_lp /fill ddef
} if
} ddef
/_pf
{
_fc
_eo {eofill} {fill} ifelse
} ddef
/_psf
{
_fc
ashow
} ddef
/_pjsf
{
_fc
awidthshow
} ddef
/_lp /none ddef
} def
/G
{
/_gs exch ddef
/_sc
{
_lp /stroke ne
{
_os setoverprint
_gs setgray
/_lp /stroke ddef
} if
} ddef
/_ps
{
_sc
stroke
} ddef
/_pss
{
_sc
ss
} ddef
/_pjss
{
_sc
jss
} ddef
/_lp /none ddef
} def
/k
{
_cf astore pop
/_fc
{
_lp /fill ne
{
_of setoverprint
_cf aload pop setcmykcolor
/_lp /fill ddef
} if
} ddef
/_pf
{
_fc
_eo {eofill} {fill} ifelse
} ddef
/_psf
{
_fc
ashow
} ddef
/_pjsf
{
_fc
awidthshow
} ddef
/_lp /none ddef
} def
/K
{
_cs astore pop
/_sc
{
_lp /stroke ne
{
_os setoverprint
_cs aload pop setcmykcolor
/_lp /stroke ddef
} if
} ddef
/_ps
{
_sc
stroke
} ddef
/_pss
{
_sc
ss
} ddef
/_pjss
{
_sc
jss
} ddef
/_lp /none ddef
} def
/x
{
/_gf exch ddef
findcmykcustomcolor
/_if exch ddef
/_fc
{
_lp /fill ne
{
_of setoverprint
_if _gf 1 exch sub setcustomcolor
/_lp /fill ddef
} if
} ddef
/_pf
{
_fc
_eo {eofill} {fill} ifelse
} ddef
/_psf
{
_fc
ashow
} ddef
/_pjsf
{
_fc
awidthshow
} ddef
/_lp /none ddef
} def
/X
{
/_gs exch ddef
findcmykcustomcolor
/_is exch ddef
/_sc
{
_lp /stroke ne
{
_os setoverprint
_is _gs 1 exch sub setcustomcolor
/_lp /stroke ddef
} if
} ddef
/_ps
{
_sc
stroke
} ddef
/_pss
{
_sc
ss
} ddef
/_pjss
{
_sc
jss
} ddef
/_lp /none ddef
} def
/A
{
pop
} def
/annotatepage
{
userdict /annotatepage 2 copy known {get exec} {pop pop} ifelse
} def
/XT {
pop pop
} def
/discard
{
save /discardSave exch store
discardDict begin
/endString exch store
gt38?
{
2 add
} if
load
stopped
pop
end
discardSave restore
} bind def
userdict /discardDict 7 dict dup begin
put
/pre38Initialize
{
/endStringLength endString length store
/newBuff buffer 0 endStringLength getinterval store
/newBuffButFirst newBuff 1 endStringLength 1 sub getinterval store
/newBuffLast newBuff endStringLength 1 sub 1 getinterval store
} def
/shiftBuffer
{
newBuff 0 newBuffButFirst putinterval
newBuffLast 0
currentfile read not
{
stop
} if
put
} def
0
{
pre38Initialize
mark
currentfile newBuff readstring exch pop
{
{
newBuff endString eq
{
cleartomark stop
} if
shiftBuffer
} loop
}
{
stop
} ifelse
} def
1
{
pre38Initialize
/beginString exch store
mark
currentfile newBuff readstring exch pop
{
{
newBuff beginString eq
{
/layerCount dup load 1 add store
}
{
newBuff endString eq
{
/layerCount dup load 1 sub store
layerCount 0 eq
{
cleartomark stop
} if
} if
} ifelse
shiftBuffer
} loop
} if
} def
2
{
mark
{
currentfile buffer readline not
{
stop
} if
endString eq
{
cleartomark stop
} if
} loop
} def
3
{
/beginString exch store
/layerCnt 1 store
mark
{
currentfile buffer readline not
{
stop
} if
dup beginString eq
{
pop /layerCnt dup load 1 add store
}
{
endString eq
{
layerCnt 1 eq
{
cleartomark stop
}
{
/layerCnt dup load 1 sub store
} ifelse
} if
} ifelse
} loop
} def
end
userdict /clipRenderOff 15 dict dup begin
put
{
/n /N /s /S /f /F /b /B
}
{
{
_doClip 1 eq
{
/_doClip 0 ddef _eo {eoclip} {clip} ifelse
} if
newpath
} def
} forall
/Tr /pop load def
/Bb {} def
/BB /pop load def
/Bg {12 npop} def
/Bm {6 npop} def
/Bc /Bm load def
/Bh {4 npop} def
end
/Lb
{
4 npop
6 1 roll
pop
4 1 roll
pop pop pop
0 eq
{
0 eq
{
(%AI5_BeginLayer) 1 (%AI5_EndLayer--) discard
}
{
/clipForward? true def
/Tx /pop load def
/Tj /pop load def
currentdict end clipRenderOff begin begin
} ifelse
}
{
0 eq
{
save /discardSave exch store
} if
} ifelse
} bind def
/LB
{
discardSave dup null ne
{
restore
}
{
pop
clipForward?
{
currentdict
end
end
begin
/clipForward? false ddef
} if
} ifelse
} bind def
/Pb
{
pop pop
0 (%AI5_EndPalette) discard
} bind def
/Np
{
0 (%AI5_End_NonPrinting--) discard
} bind def
/Ln /pop load def
/Ap
/pop load def
/Ar
{
72 exch div
0 dtransform dup mul exch dup mul add sqrt
dup 1 lt
{
pop 1
} if
setflat
} def
/Mb
{
q
} def
/Md
{
} def
/MB
{
Q
} def
/nc 3 dict def
nc begin
/setgray
{
pop
} bind def
/setcmykcolor
{
4 npop
} bind def
/setcustomcolor
{
2 npop
} bind def
currentdict readonly pop
end
end
setpacking
%%EndResource
%%BeginResource: procset Adobe_blend_AI5 1.4 0
%%Title: (Adobe Illustrator (R) Version 5.0 Blend ProcSet)
%%Version: 1.4 0
%%CreationDate: (11/19/93) ()
%%Copyright: ((C) 1987-1996 Adobe Systems Incorporated All Rights Reserved)
userdict /defaultpacking currentpacking put true setpacking
userdict /Adobe_blend_AI5 70 dict dup begin
put
/bd
{
bind def
} bind def
/xs
{
exch store
} bd
/nullProc
{
{
}
} def
/initialize
{
pop pop
Adobe_blend_AI5 begin
Adobe_blend_AI5_vars begin
/_contoneDevice where
{
pop
}
{
/_contoneDevice false def
} ifelse
/_dpiThreshold where
{
pop
}
{
/_dpiThreshold 600 def
} ifelse
/_screenFreqThreshold where
{
pop
}
{
/_screenFreqThreshold 150 def
} ifelse
/tRectOK? deviceDPI _dpiThreshold le currentScreenFreq _screenFreqThreshold le and _contoneDevice not and def
/invertXfer
{
[
{
1 exch sub
} /exec load systemdict/currenttransfer get exec /exec load
] cvx systemdict/settransfer get exec
} bd
/spotDict 3 dict dup begin
/nSpots 2 def
/spot1 7 dict def
/spot2 7 dict def
end
def
composite?
{
/_setgray_ /setgray load def
/_fill_ /fill load def
/_image_ /image load def
}
{
/_setgray_ systemdict/setgray get def
/_fill_ systemdict/fill get def
/_image_ systemdict/image get def
} ifelse
} bd
/terminate
{
currentdict Adobe_blend_AI5_vars eq
{
end
currentdict Adobe_blend_AI5 eq
{
end
} if
} if
} bd
/_compositeSpotDevice where
{
begin
_compositeSpotDevice 0 ne {userdict /composite? true put} if
end
}
{
/_compositeSpotDevice 0 def
} ifelse
/nullString () def
/d255 256 array def
0 1 255
{
d255 exch dup 255 div put
} bind for
/d255- 256 array def
0 1 255
{
d255- exch 1 d255 2 index get sub put
} bind for
/dUserSpace matrix defaultmatrix def
currentdict /Adobe_blend_AI5_vars 89 dict dup begin
put
{
/f /F /s /S /b /B
}
{
null def
} bind forall
/byte 1 string def
/sSave null def
/setSSave
{
save /sSave exch store
} bind def
/Bm null def
/doBlend null def
/startC? false def
/endC? false def
/fCMYK? null def
/startTint 0 def
/endTint 0 def
/bSMatrix matrix def
/bUMatrix matrix def
/dMatrix matrix def
/inLine? true def
/pTState? false def
/bHi? false def
/yHi 0 def
/xHi 0 def
/noImg /lv1Fix where
{
pop lv1Fix
}
{
false
} ifelse
def
/ccAry1 5 array def
/ccTint 0 def
/spotColor? false def
/colorimage? true def
[
/tint1Data
/tint2Data
/spotDict
/bAxis
/ubAxis
/pChange
/optimize?
/nSamples
/sInc
/blendProc
/_bn
/xBCInc
/yBCInc
/bInc
/bRender
/cBName
/cBType
/nColors
/color?
/blend?
/colorType
/cData
/cDataLen
/bDataLen
/rampPoint
/midPoint
/endPoint
/blendLength
/blackData
/yeData
/mgData
/cyData
/cnt1
/ndx
/_fill
/tmp
counttomark
{
null def
} bind
repeat
pop
currentdict
end
currentdict
end
exch
begin
begin
/unitSq
{
0 0 moveto 0 1 lineto 1 1 lineto 1 0 lineto closepath
} bd
/gMark
{
counttomark 2 add -1 roll
} bd
/setCustomColor
{
dup /ccTint exch store
1 exch sub 6 1 roll
ccAry1 astore
exch setcustomcolor
} bd
/currentCustomColor
{
ccAry1 aload pop ccTint
} bd
/nsetcustomcolor where
{
pop
}
{
/nsetcustomcolor
{
pop setcmykcolor
} bd
} ifelse
/nsetcustomcolorend where
{
pop
}
{
/nsetcustomcolorend
{
} bd
} ifelse
/setBSpace
{
newpath bUMatrix astore concat unitSq
} bd
/setCStop
{
dup 0 eq
{
pop
spotColor?
{
dup 1 exch sub /ccTint exch def
ccAry1 4 /Black put
} if
setgray
}
{
1 eq
{
setcmykcolor
}
{
composite? not colorType 2 lt and
{
forceCMYK
}
{
setCustomColor
} ifelse
} ifelse
} ifelse
} bd
/makeByte
{
/tmp 0 store
255 mul cvi
8 string 8
{
dup tmp 3 index put /tmp tmp 1 add store
} repeat
exch pop
} bd
/setImgSpace
{
cDataLen 1 8
2 index 0 0 1 0 0 dMatrix astore
} bd
/bwImage
{
setImgSpace cData /_image_ load
{
exec
} stopped
{
$error /errorname get /undefinedresult ne
{
stop
}
{
pop pop pop pop pop
} ifelse
} if
} bd
level2?
{
/bFill
{
_fill
} def
/bCImg
{
/cDataLen bDataLen store
setImgSpace
setSSave
expandSpot
cyData mgData yeData cData
expandCMYK
true 4 spotDict
{
ncolorimage
} stopped
{
$error /errorname get /undefinedresult ne
{
stop
}
{
10
{
pop
} repeat
} ifelse
} if
sSave restore
} bd
} if
/expandOne
{
dup type /stringtype ne
{
cDataLen string
exch
dup 0 ne
{
255 mul cvi
0 1 cDataLen 1 sub
{
3 copy
exch put pop
} for
} if
pop
} if
} bd
/expandSpot
{
spotColor?
{
spotDict begin
spot1 begin
tintImage type /nulltype ne
{
tintImage expandOne /tintImage exch def
} if
end
spot2 begin
tintImage type /nulltype ne
{
tintImage expandOne /tintImage exch def
} if
end
end
} if
} bd
/expandCMYK
{
4
{
expandOne 4 1 roll
} repeat
} bd
/colorimage where dup
{
exch pop
/ncolorimage where
{
pop
}
{
/ncolorimage {pop colorimage} bd
} ifelse
} if
not
{
/ncolorimage where
{
pop
}
{
/colorimage? false store
/ncolorimage
{
pop pop pop
setSSave
/blackData xs
/yeData xs
/mgData xs
/cyData xs
/cnt1 0 store
[
byte dup 0
cyData dup type /stringtype eq
{
/cnt1 cvx /get cvx d255 /exch cvx /get cvx .3 /mul cvx
}
{
.3 mul
} ifelse
mgData dup type /stringtype eq
{
/cnt1 cvx /get cvx d255 /exch cvx /get cvx .59 /mul cvx
}
{
.59 mul
} ifelse
yeData dup type /stringtype eq
{
/cnt1 cvx /get cvx d255 /exch cvx /get cvx .11 /mul cvx
}
{
.11 mul
} ifelse
blackData dup type /stringtype eq
{
/cnt1 cvx /get cvx d255 /exch cvx /get cvx
} if
/add cvx /add cvx /add cvx 1 /exch cvx /sub cvx
/dup cvx 0 /lt cvx
{
pop 0
} /if cvx
/dup cvx 1 /gt cvx
{
pop 1
} /if cvx
255 /mul cvx /cvi cvx
256 /mod cvx
/dup cvx 0 /lt cvx
{
pop 0
} /if cvx
/put cvx
/cnt1 dup cvx 1 /add cvx /store cvx
] cvx
bind
_image_
sSave restore
} bd
} ifelse
} if
level2? not
{
/bCImg
{
/cDataLen bDataLen store
setImgSpace
setSSave
expandSpot
cyData mgData yeData cData
colorimage?
{
expandCMYK
} if
true 4 spotDict
{
ncolorimage
} stopped
{
$error /errorname get /undefinedresult ne
{
stop
}
{
10
{
pop
} repeat
} ifelse
} if
sSave restore
} bd
/bwFill
{
setSSave
/cDataLen 8 store
/cData currentgray makeByte store
bwImage
sSave restore
} bd
/c1ImgFill
{
setSSave
/cDataLen 8 store
setImgSpace
spotColor?
{
spotDict begin
spot1 begin
currentCustomColor makeByte /tintImage exch def
/name exch def
/spot_K exch def
/spot_Y exch def
/spot_M exch def
/spot_C exch def
end
spot2 initSpotData
end
} if
currentcmykcolor
4
{
makeByte 4 1 roll
} repeat
true 4 spotDict
{
ncolorimage
} stopped
{
$error /errorname get /undefinedresult ne
{
stop
}
{
10
{
pop
} repeat
} ifelse
} if
sSave restore
} bd
/bFill
noImg
{
{
_fill
}
}
{
{
color?
{
c1ImgFill
}
{
bwFill
} ifelse
}
} ifelse
bd
} if
composite?
{
/bCFun
{
color?
{
cyData dup type /stringtype eq
{
/ndx cvx /get cvx d255 /exch cvx /get cvx
} if
mgData dup type /stringtype eq
{
/ndx cvx /get cvx d255 /exch cvx /get cvx
} if
yeData dup type /stringtype eq
{
/ndx cvx /get cvx d255 /exch cvx /get cvx
} if
cData dup type /stringtype eq
{
/ndx cvx /get cvx d255 /exch cvx /get cvx
} if
spotColor?
{
spotDict begin
/spotDict cvx /begin cvx
spot1 begin
tintImage dup type /stringtype eq
{
/ndx cvx /get cvx d255- /exch cvx /get cvx
}
{
dup type /nulltype ne
{
name type /nametype ne {1 exch sub} if
} if
} ifelse
end
/spot1 cvx /tintValue 3 -1 /roll cvx /put cvx
spot2 begin
tintImage dup type /stringtype eq
{
/ndx cvx /get cvx d255- /exch cvx /get cvx
}
{
dup type /nulltype ne
{
name type /nametype ne {1 exch sub} if
} if
} ifelse
end
/spot2 cvx /tintValue 3 -1 /roll cvx /put cvx
/end cvx
end
/spotDict cvx
/nsetcustomcolor cvx
}
{
/setcmykcolor cvx
} ifelse
}
{
cData /ndx cvx /get cvx
d255 /exch cvx /get cvx
/setgray cvx
} ifelse
} bd
/Bc
{
newpath
gsave
setBSpace
nColors 1 eq
{
pop pop
setCStop
} if
bFill
grestore
} bd
/linealBm
{
/nColors dup load 1 sub store
newpath
gsave
setBSpace
blend?
{
linImg
}
{
bFill
} ifelse
grestore
nColors 1 gt
{
getRData
} if
} bd
/rdBm
{
/nColors dup load 1 sub store
_fill
gsave
bUMatrix astore concat
bHi?
{
xHi yHi bUMatrix idtransform /yHi exch store /xHi exch store
rampPoint 1 lt
{
1 rampPoint sub dup xHi mul exch yHi mul translate
} if
} if
nColors
{
0 0 rampPoint 0 360 arc
_fill
blend? bHi? or
{
rdBlend
} if
nColors 1 gt
{
getRData
} if
/nColors dup load 1 sub store
} repeat
/nColors 1 store
grestore
} bd
/cGetRData
{
setCStop
/blend?
cData type /stringtype eq
dup not color? and
{
pop
cyData type /stringtype eq
mgData type /stringtype eq
yeData type /stringtype eq
or or
} if
store
} def
/cGetRData
} if
/eCStop
{
mark
1 index 3 mul 3 add dup 8 gt
{
pop 8
} if
1 roll
cleartomark
} bd
composite? not
{
/knockOut
level2?
{
{
0 0 0 0 setcmykcolor _fill
}
}
{
/bFill noImg
{
{
_fill
}
}
{
{
_of true eq
{
currentgray 1 ne
{
bwFill
} if
}
{
bwFill
} ifelse
}
} ifelse
def
/whiteByte 1 makeByte def
noImg
{
{
0 0 0 0 setcmykcolor _fill
}
}
{
{
cBType 0 eq
{
setSSave
/cData whiteByte store
/cDataLen 8 store
bwImage
sSave restore
}
{
_fill
} ifelse
}
} ifelse
} ifelse
bd
/bCFun
{
cData dup type /stringtype ne
{
color?
{
1 exch sub
} if
}
{
/ndx cvx /get cvx
color? customColor? not and
{
d255-
}
{
d255
} ifelse
/exch cvx /get cvx
} ifelse
/_setgray_ cvx
} bd
/eCCBlend
{
dup 3 eq
{
pop
mark 7 1 roll
6 copy ccThrough? dup /blend? xs
{
/startC? true store
setCustomColor
customColor?
{
/cData tint1Data store
setCDataLen
} if
/endC?
3 index 3 eq
{
4 index 1 ne
}
{
false
} ifelse
store
} if
cleartomark
stop
} if
1 eq
{
pop pop pop
} if
pop
/startC? false store
6
{
8 index
} repeat
ccThrough? dup /blend? xs
{
/endC? true store
blend? not
{
stop
} if
customColor?
{
/cData tint1Data store
setCDataLen
} if
} if
} bd
/handleOP
{
_of not
{
knockOut
} if
} bd
/handleROP
{
_of not
{
0 0 0 0 setcmykcolor _fill
}
{
newpath
} ifelse
} bd
/rdBm
{
/nColors dup load 1 sub store
blend?
{
_fill
}
{
handleROP
} ifelse
gsave
bUMatrix astore concat
bHi?
{
xHi yHi bUMatrix idtransform /yHi exch store /xHi exch store
rampPoint 1 lt
{
1 rampPoint sub dup xHi mul exch yHi mul translate
} if
} if
nColors
{
0 0 rampPoint 0 360 arc
blend?
{
cData type /stringtype ne bHi? not and
{
cData color?
{
1 exch sub
} if
_setgray_
_fill_
}
{
cData type /stringtype ne
{
/cDataLen 1 store
/bDataLen 1 store
} if
rdBlend
} ifelse
}
{
handleROP
pTState?
{
/bAxis rampPoint endPoint sub store
xHi bAxis mul yHi bAxis mul translate
} if
} ifelse
nColors 1 gt
{
getRData
} if
/nColors dup load 1 sub store
} repeat
/nColors 1 store
grestore
} bd
/ccThrough?
{
gsave
pop 0 setCustomColor
currentcmykcolor
grestore
anyColor?
} bd
/forceCMYK
{
exch pop
1 exch sub 5 1 roll
4
{
4 index mul 4 1 roll
} repeat
0
cCMYKData dup /cData ne
{
dup /yeData eq
{
pop 1 add
}
{
/mgData eq
{
2
}
{
3
} ifelse
add
} ifelse
0
} if
pop
index
0 eq
{
pop pop pop pop 0 0 0 0
} if
setcmykcolor
pop
/fCMYK? true store
} bd
/endCapSepBc
{
pop pop
dup 0 eq
{
pop
setgray
}
{
1 eq
{
setcmykcolor
}
{
colorType 1 eq
{
forceCMYK
}
{
fCMYK?
{
forceCMYK
}
{
setCustomColor
} ifelse
} ifelse
} ifelse
} ifelse
currentcmykcolor anyColor?
blend? and
{
bFill
}
{
handleOP
} ifelse
} bd
} if
/cCMYKData 0 def
composite? dup not
{
pop customColor?
} if
not
{
/cCMYKData
/cyData /mgData /yeData /cData
black? not
{
yellow?
{
exch
}
{
magenta?
{
3
}
{
4
} ifelse
-1 roll
} ifelse
} if
4 1 roll pop pop pop
store
/Bc
{
gsave
setBSpace
nColors 1 gt
{
blend? currentcmykcolor anyColor? and
{
bFill
}
{
handleOP
} ifelse
}
{
endCapSepBc
} ifelse
grestore
newpath
} bd
/linealBm
{
/nColors dup load 1 sub store
newpath
gsave
setBSpace
blend?
{
cCMYKData load dup type /stringtype eq
{
dup length /cDataLen xs
/cData xs
gsave
colorType 0 ne noImg not and
{
invertXfer
} if
linImg
grestore
}
{
pop bFill
} ifelse
}
{
handleOP
} ifelse
grestore
nColors 1 gt
{
getRData
} if
} bd
/cmykGetRData
{
/fCMYK? false store
blend?
{
{
cmykDataProcs colorType get exec
} stopped
pop
blend?
{
/cData cCMYKData load store
setCDataLen
} if
} if
} def
/cmykDataProcs
[
{
pop
black? dup /blend? xs
{
setgray
0
} if
pop
}
{
cCMYKData load dup type /stringtype ne
{
0 0 0
cyan? not
{
4 magenta?
{
1
}
{
yellow?
{
2
}
{
3
} ifelse
} ifelse
roll
} if
4 copy add add add 0 eq
{
/blend? false store
} if
setcmykcolor
/startC? true store
/endC? true store
eCStop
stop
} if
pop
dup 0 eq
{
pop
setgray
}
{
1 eq
{
setcmykcolor
}
{
forceCMYK
} ifelse
} ifelse
} bind
/eCCBlend load
{
cBType 1 eq
{
tint1Data tint2Data
/tint1Data xs
/tint2Data xs
} if
0 eq
{
black?
{
setgray
}
{
0 0 0 4 -1 roll 1 exch sub setcmykcolor
} ifelse
black?
{
/blend? true store
} if
6
{
8 index
} repeat
ccThrough?
{
/blend? true store
}
{
black?
{
/cData tint1Data store
setCDataLen
}
{
/blend? false store
} ifelse
} ifelse
}
{
mark 7 1 roll
6 copy ccThrough?
{
forceCMYK
pop
stop
} if
9 index 0 eq
{
black? dup /blend? xs
{
pop 1 setgray
/cData tint2Data store
setCDataLen
0
} if
pop
}
{
/blend?
6
{
16 index
} repeat
ccThrough?
store
blend?
{
forceCMYK
} if
} ifelse
cleartomark
} ifelse
} bind
] def
/cmykGetRData
} if
composite? dup not
{
pop isCMYKSep?
} if
not
{
/endCapSepBc
{
/white? false store
pop pop
dup 0 eq
{
pop
/white? 1 index 1 eq store
setgray
}
{
1 eq
{
setcmykcolor
}
{
setCustomColor
} ifelse
} ifelse
%
currentcmykcolor anyColor?
endC? or
blend? and
{
bFill
}
{
handleOP
} ifelse
} bd
/Bc
{
gsave
setBSpace
nColors 1 gt
{
blend? startC? and
{
bFill
}
{
handleOP
} ifelse
}
{
endCapSepBc
} ifelse
grestore
newpath
} bd
/linealBm
{
/nColors dup load 1 sub store
newpath
gsave
setBSpace
blend?
{
cData type /stringtype eq
{
linImg
}
{
bFill
} ifelse
}
{
handleOP
} ifelse
grestore
nColors 1 gt
{
getRData
} if
} bd
/discardCMY
{
counttomark 4 add -3 roll pop pop pop
} bd
/testTopCC
{
6 copy ccThrough?
} bd
/getCRamp
{
{
ccDataProcs colorType 2 sub get exec
} stopped pop
blend? cDataLen 0 eq and
{
/cDataLen bDataLen store
} if
} bd
/ccGetRData
{
/fCMYK? false store
/startC? false store
/endC? false store
colorType 2 lt
{
/blend? false def
} if
blend?
{
getCRamp
}
{
setCStop
} ifelse
blend?
{
/blend? cData 1 ne store
blend?
{
cData dup type /stringtype ne
{
1 exch sub /cData xs 0
} if
pop
} if
} if
} def
/ccDataProcs
[
/eCCBlend load
{
cBType 1 eq
{
tint1Data tint2Data
/tint1Data xs
/tint2Data xs
} if
0 eq
{
/blend? false store
pop
}
{
mark 7 1 roll
testTopCC
{
/blend? 1 index 1 ne store
/startC? blend? store
/endC? false store
blend? not
{
cleartomark stop
} if
/cData tint1Data store
setCDataLen
setCustomColor
pop
stop
} if
cleartomark
} ifelse
2 index 0 eq
{
/blend? false store
}
{
mark 6
{
9 index
} repeat
testTopCC dup /blend? xs
{
/blend? 1 index 1 ne store
/endC? blend? store
/startC? false store
blend? not
{
cleartomark stop
} if
/cData tint2Data store
setCDataLen
} if
cleartomark
} ifelse
} bind
] def
/ccGetRData
} if
load Adobe_blend_AI5_vars /getData 3 -1 roll put
/setCDataLen
{
/cDataLen 0 cData dup type /stringtype eq
{
length exch
} if
pop store
} bd
/initSpotData
{
begin
/name null def
/tintImage null def
/tintValue null def
/spot_C null def
/spot_M null def
/spot_Y null def
/spot_K null def
end
} bd
/getRData
{
/colorType gMark store
_compositeSpotDevice 0 ne
{
spotDict begin
spot1 initSpotData
spot2 initSpotData
end
/spotColor? colorType 2 eq colorType 3 eq or def
}
{
/spotColor? false store
} ifelse
/blend? true store
0 0 0 0 setcmykcolor
100 div /rampPoint xs
% (between 13 and 87%)
100 div /midPoint xs
dup 0 eq
{
2
}
{
dup 1 eq
{
5
}
{
_compositeSpotDevice 0 ne
{
spotDict begin
spot1 begin
/name 3 index def
/spot_K 4 index def
/spot_Y 5 index def
/spot_M 6 index def
/spot_C 7 index def
end
end
} if
7
} ifelse
} ifelse
/tmp exch def
tmp index 100 div /endPoint xs
_compositeSpotDevice 0 ne
{
tmp 2 add index 3 eq
{
/tmp tmp 4 add def
tmp index dup
spotDict begin
spot1/name get ne
{
spot2 begin
/name exch def
/spot_K tmp 2 add index def
/spot_Y tmp 3 add index def
/spot_M tmp 4 add index def
/spot_C tmp 5 add index def
end
}
{
pop
} ifelse
end
} if
} if
/color? colorType 0 gt store
colorType 3 eq
{
/tint2Data gMark store
} if
colorType 2 ge
{
/tint1Data gMark store
} if
_compositeSpotDevice 0 ne
{
spotDict begin
colorType 2 ge
{
colorType 3 eq
{
spot2 begin
/tintImage cBType 0 eq {tint2Data} {tint1Data} ifelse def
name null eq {/name /Black def} if
end
} if
spot1 begin
/tintImage cBType 0 eq colorType 2 eq or {tint1Data} {tint2Data} ifelse def
colorType 2 eq
{
name null eq
{
/name spot2/name get def
spot2/name null put
} if
}
{
name null eq {/name /Black def} if
} ifelse
end
} if
end
} if
/cData gMark store
setCDataLen
colorType 0 gt
{
counttomark 4 add -3 roll
/yeData xs
/mgData xs
/cyData xs
} if
blend?
{
/bDataLen
cDataLen dup 0 eq color? and
{
[
cyData mgData yeData
]
{
dup type /stringtype eq
{
length exch pop exit
} if
pop
} forall
} if
store
bDataLen 0 eq
{
/bDataLen 1 store
} if
getData
blend?
{
composite? cDataLen 0 eq and
{
/cDataLen bDataLen store
} if
} if
}
{
setCStop
} ifelse
} bd
/Bg
{
0 0 0 0 setcmykcolor
6
{
pop
} repeat
/blendLength xs
pop pop pop
/cBName xs
/bRender xs
bRender 2 ne
{
composite? not
{
_of setoverprint
} if
_eo {eoclip} {clip} ifelse
_bn cBName 2 copy known
{
get
mark exch aload pop
/cBType xs
/nColors xs
mark exch aload pop
0 0
} if
pop pop
getRData
cBType 0 eq
{
/linealBm
}
{
bHi?
{
/pTState? nColors 2 gt store
} if
/doBlend /rdBlend load store
/rdBm
} ifelse
}
{
inLine? not
{
mark mark
} if
/Bc dup
{
cleartomark mark
} bd
/nullProc
} ifelse
load /Bm xs
} bd
/linImg
noImg
{
{
newpath doRctBlend
}
}
{
{
/doBlend
color? composite? and
{
/bCImg
}
{
/bwImage
} ifelse
load
store
0 0 moveto
tRectOK? composite? and
{
{
mark
0 1 dtransform atan cvi 90 mod 0 eq
1 0 dtransform atan cvi 90 mod 0 eq
} stopped
{
cleartomark
}
{
and exch pop
{
newpath
doRctBlend
}
{
doBlend
} ifelse
} ifelse
}
{
doBlend
} ifelse
}
} ifelse
bd
/doRctBlend
{
gsave
/sInc 1 store
/nSamples bDataLen store
/bInc 1 bDataLen div store
/ubAxis 1 0 dtransform dUserSpace idtransform dup mul exch dup mul add sqrt store
/pChange ubAxis 0 eq
{
0
}
{
bDataLen ubAxis div
} ifelse
store
pChange .5 gt noImg not and dup /optimize? xs
{
/nSamples ubAxis 2 div round cvi dup 1 le
{
pop 2
} if
store
/bInc 1 nSamples div store
/sInc bDataLen 1 sub nSamples 1 sub div store
} if
0
nSamples
[
/dup cvx
optimize?
{
/round cvx /cvi cvx
} if
/ndx /exch cvx /store cvx
bCFun
/rectfill where dup
{
exch pop _compositeSpotDevice 1 ne and
} if
{
0 0 bInc 1 /rectfill cvx
}
{
0 0 /moveto cvx
bInc 0 /lineto cvx
bInc 1 /lineto cvx
0 1 /lineto cvx
/closepath cvx
/_fill_ cvx
} ifelse
bInc 0 /translate cvx
sInc /add cvx
] cvx
bind
repeat
pop
spotColor? {nsetcustomcolorend} if
grestore
} bd
/rdPrep
{
/nSamples bDataLen dup 0 eq
{
pop 1
} if
store
/sInc -1 store
/bAxis rampPoint endPoint sub store
/bInc bAxis bDataLen div neg store
/optimize? false store
tRectOK?
{
/ubAxis
bAxis 0 dtransform dUserSpace idtransform dup mul exch dup mul add sqrt
0 bAxis dtransform dUserSpace idtransform dup mul exch dup mul add sqrt
2 copy lt
{
exch
} if
pop store
/pChange ubAxis 0 eq
{
0
}
{
bDataLen ubAxis div
} ifelse
store
pChange .5 gt noImg not and dup /optimize? xs
{
/nSamples ubAxis 2 div round cvi dup 1 le
{
pop 2
} if
store
/bInc bAxis nSamples div neg store
/sInc bDataLen 1 sub nSamples 1 sub div neg store
} if
} if
bHi?
{
/xBCInc xHi bAxis mul nSamples div store
/yBCInc yHi bAxis mul nSamples div store
} if
} bd
/rdBlend
{
newpath
gsave
rdPrep
rampPoint
bDataLen 1 sub
nSamples
[
/dup cvx
optimize?
{
/round cvx /cvi cvx
} if
/ndx /exch cvx /store cvx
bCFun
0 0 3 /index cvx 0 360 /arc cvx /_fill_ cvx
/exch cvx bInc /add cvx /exch cvx
sInc /add cvx
bHi?
{
xBCInc yBCInc /translate cvx
} if
] cvx
bind
repeat
pop pop
spotColor? {nsetcustomcolorend} if
grestore
pTState?
{
xHi bAxis mul yHi bAxis mul translate
} if
} bd
/Bh
{
pop pop
/pTState? false store
2 copy 0 ne exch 0 ne or dup /bHi? xs
{
/yHi xs
/xHi xs
0 0
} if
pop pop
} bd
/BD
{
inLine? not
{
] nColors cBType
] _bn cBName 3 -1 roll put
end
} if
} bd
/Bn
{
1 add dict
dup nullString null put
/_bn xs
} bd
/Bd
{
Adobe_blend_AI5_vars begin
3 -1 roll dup nullString eq dup
{
setSSave
} if
/inLine? exch def
/cBName exch def
/nColors exch def
/cBType exch def
} bd
/Bb
{
sSave null eq
{
Adobe_blend_AI5_vars begin
setSSave
} if
composite?
{
/_fill /fill load store
}
{
/__fill /fill load store
/_fill
{
_of true eq
{
currentgray 1 ne
{
__fill
} if
}
{
__fill
} ifelse
} def
} ifelse
/fill
{
} def
} bd
/BB
{
/cBType xs
cleartomark cleartomark
cBType dup
bRender
sSave dup type /savetype eq
{
restore 0
} if
pop
currentdict Adobe_blend_AI5_vars eq
{
end
} if
2 ne exch 0 gt and
{
2 eq
{
s
}
{
S
} ifelse
}
{
pop newpath
} ifelse
} bd
currentdict readonly pop
end
end
defaultpacking setpacking
%%EndResource
%%BeginResource: procset Adobe_pattern_AI5 1.1 0
%%Title: (Adobe Illustrator (R) Version 5.0 Pattern Operators)
%%Version: 1.1 0
%%CreationDate: (03/26/93) ()
%%Copyright: ((C) 1987-1996 Adobe Systems Incorporated All Rights Reserved)
currentpacking true setpacking
userdict /Adobe_Illustrator_AI5 known not {
userdict /Adobe_Illustrator_AI5 95 dict put
} if
userdict /Adobe_Illustrator_AI5 get begin
/@
{
} def
/&
{
} def
/dp
{
dup null eq
{
pop
_dp 0 ne
{
0 1 _dp 1 sub _dl mod
{
_da exch get 3 get
} for
_dp 1 sub _dl mod 1 add packedarray
_da 0 get aload pop 8 -1 roll 5 -1 roll pop 4 1 roll
definepattern pop
} if
}
{
_dp 0 ne _dp _dl mod 0 eq and
{
null dp
} if
7 packedarray _da exch _dp _dl mod exch put
_dp _dl mod _da 0 get 4 get 2 packedarray
/_dp _dp 1 add def
} ifelse
} def
/E
{
_ed begin
dup 0 get type /arraytype ne
{
0
{
dup 1 add index type /arraytype eq
{
1 add
}
{
exit
} ifelse
} loop
array astore
} if
/_dd exch def
/_ury exch def
/_urx exch def
/_lly exch def
/_llx exch def
/_n exch def
/_y 0 def
/_dl 4 def
/_dp 0 def
/_da _dl array def
0 1 _dd length 1 sub
{
/_d exch _dd exch get def
0 2 _d length 2 sub
{
/_x exch def
/_c _d _x get _ ne def
/_r _d _x 1 add get cvlit def
_r _ ne
{
_urx _llx sub _ury _lly sub
[
1 0 0 1 0 0
]
[
/save cvx
_llx neg _lly neg /translate cvx
_c
{
nc /begin cvx
} if
_r dup type /stringtype eq
{
cvx
}
{
{
exec
} /forall cvx
} ifelse
_c
{
/end cvx
} if
/restore cvx
] cvx
/_fn 12 _n length add string def
_y _fn cvs pop
/_y _y 1 add def
_fn 12 _n putinterval
_fn _c false dp
_d exch _x 1 add exch put
} if
} for
} for
null dp
_n _dd /_pd
end
xput
} def
/fc
{
_fm dup concatmatrix pop
} def
/p
{
/_fm exch ddef
9 -2 roll _pm translate fc
7 -2 roll _pm scale fc
5 -1 roll _pm rotate fc
4 -2 roll exch 0 ne
{
dup _pm rotate fc
1 -1 _pm scale fc
neg _pm rotate fc
}
{
pop
} ifelse
dup _pm rotate fc
exch dup sin exch cos div 1 0 0 1 0 6 2 roll
_pm astore fc
neg _pm rotate fc
_pd exch get /_fdd exch ddef
/_pf
{
save
/_doClip 0 ddef
0 1 _fdd length 1 sub
{
/_fd exch _fdd exch get ddef
_fd
0 2 _fd length 2 sub
{
gsave
2 copy get dup _ ne
{
cvx exec _fc
}
{
pop
} ifelse
2 copy 1 add get dup _ ne
{
aload pop findfont _fm
patternfill
}
{
pop
fill
} ifelse
grestore
pop
} for
pop
} for
restore
newpath
} ddef
/_psf
{
save
/_doClip 0 ddef
0 1 _fdd length 1 sub
{
/_fd exch _fdd exch get ddef
_fd
0 2 _fd length 2 sub
{
gsave
2 copy get dup _ ne
{
cvx exec _fc
}
{
pop
} ifelse
2 copy 1 add get dup _ ne
{
aload pop findfont _fm
9 copy 6 npop patternashow
}
{
pop
6 copy 3 npop hvashow
} ifelse
grestore
pop
} for
pop
} for
restore
sw rmoveto
} ddef
/_pjsf
{
save
/_doClip 0 ddef
0 1 _fdd length 1 sub
{
/_fd exch _fdd exch get ddef
_fd
0 2 _fd length 2 sub
{
gsave
2 copy get dup _ ne
{
cvx exec _fc
}
{
pop
} ifelse
2 copy 1 add get dup _ ne
{
aload pop findfont _fm
12 copy 6 npop patternawidthshow
}
{
pop 9 copy 3 npop hvawidthshow
} ifelse
grestore
pop
} for
pop
} for
restore
swj rmoveto
} ddef
/_lp /none ddef
} def
/sc
{
_sm dup concatmatrix pop
} def
/P
{
/_sm exch ddef
9 -2 roll _pm translate sc
7 -2 roll _pm scale sc
5 -1 roll _pm rotate sc
4 -2 roll exch 0 ne
{
dup _pm rotate sc
1 -1 _pm scale sc
neg _pm rotate sc
}
{
pop
} ifelse
dup _pm rotate sc
exch dup sin exch cos div 1 0 0 1 0 6 2 roll
_pm astore sc
neg _pm rotate sc
_pd exch get /_sdd exch ddef
/_ps
{
save
/_doClip 0 ddef
0 1 _sdd length 1 sub
{
/_sd exch _sdd exch get ddef
_sd
0 2 _sd length 2 sub
{
gsave
2 copy get dup _ ne
{
cvx exec _sc
}
{
pop
} ifelse
2 copy 1 add get dup _ ne
{
aload pop findfont _sm
patternstroke
}
{
pop stroke
} ifelse
grestore
pop
} for
pop
} for
restore
newpath
} ddef
/_pss
{
save
/_doClip 0 ddef
0 1 _sdd length 1 sub
{
/_sd exch _sdd exch get ddef
_sd
0 2 _sd length 2 sub
{
gsave
2 copy get dup _ ne
{
cvx exec _sc
}
{
pop
} ifelse
2 copy 1 add get dup _ ne
{
aload pop findfont _sm
10 copy 6 npop patternashowstroke
}
{
pop 7 copy 3 npop ss
} ifelse
grestore
pop
} for
pop
} for
restore
pop sw rmoveto
} ddef
/_pjss
{
save
/_doClip 0 ddef
0 1 _sdd length 1 sub
{
/_sd exch _sdd exch get ddef
_sd
0 2 _sd length 2 sub
{
gsave
2 copy get dup _ ne
{
cvx exec _sc
}
{
pop
} ifelse
2 copy 1 add get dup _ ne
{
aload pop findfont _sm
13 copy 6 npop patternawidthshowstroke
}
{
pop 10 copy 3 npop jss
} ifelse
grestore
pop
} for
pop
} for
restore
pop swj rmoveto
} ddef
/_lp /none ddef
} def
end
userdict /Adobe_pattern_AI5 18 dict dup begin
put
/initialize
{
/definepattern where
{
pop
}
{
begin
begin
Adobe_pattern_AI5 begin
Adobe_pattern_AI5
{
dup xcheck
{
bind
} if
pop pop
} forall
mark
cachestatus 7 1 roll pop pop pop pop exch pop exch
{
{
10000 add
dup 2 index gt
{
exit
} if
dup setcachelimit
} loop
} stopped
cleartomark
end
end
end
Adobe_pattern_AI5 begin
} ifelse
} def
/terminate
{
currentdict Adobe_pattern_AI5 eq
{
end
} if
} def
errordict
/nocurrentpoint
{
pop
stop
} put
errordict
/invalidaccess
{
pop
stop
} put
/patternencoding
256 array def
0 1 255
{
patternencoding exch ( ) 2 copy exch 0 exch put cvn put
} for
/definepattern
{
17 dict begin
/uniform exch def
/cache exch def
/key exch def
/procarray exch def
/mtx exch matrix invertmatrix def
/height exch def
/width exch def
/ctm matrix currentmatrix def
/ptm matrix def
/str 32 string def
/slice 9 dict def
slice /s 1 put
slice /q 256 procarray length div sqrt floor cvi put
slice /b 0 put
/FontBBox
[
0 0 0 0
] def
/FontMatrix mtx matrix copy def
/Encoding patternencoding def
/FontType 3 def
/BuildChar
{
exch
begin
/setstrokeadjust where {pop true setstrokeadjust} if
slice begin
dup q dup mul mod s idiv /i exch def
dup q dup mul mod s mod /j exch def
q dup mul idiv procarray exch get
/xl j width s div mul def
/xg j 1 add width s div mul def
/yl i height s div mul def
/yg i 1 add height s div mul def
uniform
{
1 1
}
{
width 0 dtransform
dup mul exch dup mul add sqrt dup 1 add exch div
0 height dtransform
dup mul exch dup mul add sqrt dup 1 add exch div
} ifelse
width 0 cache
{
xl 4 index mul yl 4 index mul xg 6 index mul yg 6 index mul
setcachedevice
}
{
setcharwidth
} ifelse
gsave
scale
newpath
xl yl moveto
xg yl lineto
xg yg lineto
xl yg lineto
closepath
clip
newpath
end
end
exec
grestore
} def
key currentdict definefont
end
} def
/patterncachesize
{
gsave
newpath
0 0 moveto
width 0 lineto
width height lineto
0 height lineto
closepath
patternmatrix setmatrix
pathbbox
exch ceiling 4 -1 roll floor sub 3 1 roll
ceiling exch floor sub
mul 1 add
grestore
} def
/patterncachelimit
{
cachestatus 7 1 roll 6 npop 8 mul
} def
/patternpath
{
exch dup begin
setfont
ctm setmatrix
concat
slice exch /b exch slice /q get dup mul mul put
FontMatrix concat
uniform
{
width 0 dtransform round width div exch round width div exch
0 height dtransform round height div exch height div exch
0 0 transform round exch round exch
ptm astore setmatrix
}
{
ptm currentmatrix pop
} ifelse
{
currentpoint
} stopped not
{
2 npop
pathbbox
true
4 index 3 index eq
4 index 3 index eq
and
{
pop false
{
{
2 npop
}
{
3 npop true
}
{
7 npop true
}
{
pop true
} pathforall
} stopped
{
5 npop true
} if
} if
{
height div ceiling height mul 4 1 roll
width div ceiling width mul 4 1 roll
height div floor height mul 4 1 roll
width div floor width mul 4 1 roll
2 index sub height div ceiling cvi exch
3 index sub width div ceiling cvi exch
4 2 roll moveto
FontMatrix mtx invertmatrix
dup dup 4 get exch 5 get rmoveto
ptm ptm concatmatrix pop
slice /s
patterncachesize patterncachelimit div ceiling sqrt ceiling cvi
dup slice /q get gt
{
pop slice /q get
} if
put
0 1 slice /s get dup mul 1 sub
{
slice /b get add
gsave
0 1 str length 1 sub
{
str exch 2 index put
} for
pop
dup
{
gsave
ptm setmatrix
1 index str length idiv
{
str show
} repeat
1 index str length mod str exch 0 exch getinterval show
grestore
0 height rmoveto
} repeat
grestore
} for
2 npop
}
{
4 npop
} ifelse
} if
end
} def
/patternclip
{
_eo {eoclip} {clip} ifelse
} def
/patternstrokepath
{
strokepath
} def
/patternmatrix
matrix def
/patternfill
{
dup type /dicttype eq
{
Adobe_pattern_AI5 /patternmatrix get
} if
gsave
patternclip
Adobe_pattern_AI5 /patternpath get exec
grestore
newpath
} def
/patternstroke
{
dup type /dicttype eq
{
Adobe_pattern_AI5 /patternmatrix get
} if
gsave
patternstrokepath
true
{
{
{
newpath
moveto
}
{
lineto
}
{
curveto
}
{
closepath
3 copy
Adobe_pattern_AI5 /patternfill get exec
} pathforall
3 npop
} stopped
{
5 npop
patternclip
Adobe_pattern_AI5 /patternfill get exec
} if
}
{
patternclip
Adobe_pattern_AI5 /patternfill get exec
} ifelse
grestore
newpath
} def
/vpatternawidthshow
{
6 1 roll
/_hvay exch ddef
/_hvax exch ddef
/_hvwb exch ddef
/_hvcy exch ddef
/_hvcx exch ddef
{
dup cstring
dup length 1 eq
_charorientation 1 eq
and
{
-90 rotate
currentpoint
_fontRotateAdjust add
moveto
gsave
false charpath currentpoint
5 index 5 index 5 index Adobe_pattern_AI5 /patternfill get exec
grestore
_fontRotateAdjust sub
moveto
_hvwb eq { _hvcx _hvcy rmoveto } if
_hvax _hvay rmoveto
90 rotate
}
{
currentpoint
_fontHeight sub
_hvax sub
3 index _hvwb eq { _hvcx sub } if
currentpoint
exch 4 index stringwidth pop 2 div sub
exch _fontAscent sub
moveto
gsave
2 index false charpath
6 index 6 index 6 index Adobe_pattern_AI5 /patternfill get exec
grestore
newpath moveto pop pop
} ifelse
} cforall
3 npop
} def
/hpatternawidthshow
{
{
dup cstring exch
gsave
3 index eq { 5 index 5 index rmoveto } if
false charpath currentpoint
9 index 9 index 9 index
Adobe_pattern_AI5 /patternfill get exec
grestore
newpath moveto
2 copy rmoveto
} cforall
8 npop
} def
/patternashow
{
0 0 0 6 3 roll
patternawidthshow
} def
/patternawidthshow
{
6 index type /dicttype eq
{
Adobe_pattern_AI5 /patternmatrix get 7 1 roll
} if
_lineorientation 0 eq { hpatternawidthshow } { vpatternawidthshow } ifelse
} def
/vpatternawidthshowstroke
{
7 1 roll
6 1 roll
/_hvay exch ddef
/_hvax exch ddef
/_hvwb exch ddef
/_hvcy exch ddef
/_hvcx exch ddef
{
dup cstring
dup length 1 eq
_charorientation 1 eq
and
{
-90 rotate
currentpoint
_fontRotateAdjust add
moveto
gsave
false charpath currentpoint
3 index setmatrix
6 index 6 index 6 index Adobe_pattern_AI5 /patternstroke get exec
grestore
_fontRotateAdjust sub
moveto
_hvwb eq { _hvcx _hvcy rmoveto } if
_hvax _hvay rmoveto
90 rotate
}
{
currentpoint
_fontHeight sub
_hvax sub
3 index _hvwb eq { _hvcx sub } if
currentpoint
exch 4 index stringwidth pop 2 div sub
exch _fontAscent sub
moveto
gsave
2 index false charpath
4 index setmatrix
7 index 7 index 7 index Adobe_pattern_AI5 /patternstroke get exec
grestore
newpath moveto pop pop
} ifelse
} cforall
4 npop
} def
/hpatternawidthshowstroke
{
7 1 roll
{
dup cstring exch
gsave
3 index eq { 5 index 5 index rmoveto } if
false charpath currentpoint
7 index setmatrix
10 index 10 index 10 index
Adobe_pattern_AI5 /patternstroke get exec
grestore
newpath moveto
2 copy rmoveto
} cforall
9 npop
} def
/patternashowstroke
{
0 0 0 7 3 roll
patternawidthshowstroke
} def
/patternawidthshowstroke
{
7 index type /dicttype eq
{
patternmatrix /patternmatrix get 8 1 roll
} if
_lineorientation 0 eq { hpatternawidthshowstroke } { vpatternawidthshowstroke } ifelse
} def
end
setpacking
%%EndResource
%%EndProlog
%%BeginSetup
Adobe_level2_AI5 /initialize get exec
Adobe_screens_AI5 /initialize get exec
Adobe_Illustrator_AI5_vars Adobe_Illustrator_AI5 Adobe_typography_AI5 /initialize get exec
Adobe_Illustrator_AI5_vars Adobe_Illustrator_AI5 Adobe_blend_AI5 /initialize get exec
Adobe_Illustrator_AI5_vars Adobe_Illustrator_AI5 Adobe_pattern_AI5 /initialize get exec
Adobe_ColorImage_AI6 /initialize get exec
Adobe_Illustrator_AI5 /initialize get exec
[
39/quotesingle 96/grave 130/quotesinglbase 131/florin 132/quotedblbase
133/ellipsis 134/dagger 135/daggerdbl 136/circumflex 137/perthousand
138/Scaron 139/guilsinglleft 140/OE 145/quoteleft 146/quoteright
147/quotedblleft 148/quotedblright 149/bullet 150/endash 151/emdash
152/tilde 153/trademark 154/scaron 155/guilsinglright 156/oe 157/dotlessi
159/Ydieresis 164/currency 166/brokenbar 168/dieresis 169/copyright
170/ordfeminine 172/logicalnot 174/registered 175/macron 176/ring
177/plusminus 178/twosuperior 179/threesuperior 180/acute 181/mu
183/periodcentered 184/cedilla 185/onesuperior 186/ordmasculine
188/onequarter 189/onehalf 190/threequarters 192/Agrave 193/Aacute
194/Acircumflex 195/Atilde 196/Adieresis 197/Aring 198/AE 199/Ccedilla
200/Egrave 201/Eacute 202/Ecircumflex 203/Edieresis 204/Igrave 205/Iacute
206/Icircumflex 207/Idieresis 208/Eth 209/Ntilde 210/Ograve 211/Oacute
212/Ocircumflex 213/Otilde 214/Odieresis 215/multiply 216/Oslash
217/Ugrave 218/Uacute 219/Ucircumflex 220/Udieresis 221/Yacute 222/Thorn
223/germandbls 224/agrave 225/aacute 226/acircumflex 227/atilde 228/adieresis
229/aring 230/ae 231/ccedilla 232/egrave 233/eacute 234/ecircumflex
235/edieresis 236/igrave 237/iacute 238/icircumflex 239/idieresis
240/eth 241/ntilde 242/ograve 243/oacute 244/ocircumflex 245/otilde
246/odieresis 247/divide 248/oslash 249/ugrave 250/uacute 251/ucircumflex
252/udieresis 253/yacute 254/thorn 255/ydieresis
TE
%AI3_BeginEncoding: _Helvetica Helvetica
[
/_Helvetica/Helvetica 0 0 1 TZ
%AI3_EndEncoding AdobeType
%AI3_BeginEncoding: _Helvetica-Bold Helvetica-Bold
[
/_Helvetica-Bold/Helvetica-Bold 0 0 1 TZ
%AI3_EndEncoding AdobeType
%AI3_BeginEncoding: _Helvetica-Oblique Helvetica-Oblique
[
/_Helvetica-Oblique/Helvetica-Oblique 0 0 1 TZ
%AI3_EndEncoding AdobeType
%AI3_BeginEncoding: _Helvetica-BoldOblique Helvetica-BoldOblique
[
/_Helvetica-BoldOblique/Helvetica-BoldOblique 0 0 1 TZ
%AI3_EndEncoding AdobeType
%AI3_BeginEncoding: _Times-Roman Times-Roman
[
/_Times-Roman/Times-Roman 0 0 1 TZ
%AI3_EndEncoding AdobeType
%AI3_BeginEncoding: _Times-Bold Times-Bold
[
/_Times-Bold/Times-Bold 0 0 1 TZ
%AI3_EndEncoding AdobeType
%AI3_BeginEncoding: _Times-Italic Times-Italic
[
/_Times-Italic/Times-Italic 0 0 1 TZ
%AI3_EndEncoding AdobeType
%AI3_BeginEncoding: _Times-BoldItalic Times-BoldItalic
[
/_Times-BoldItalic/Times-BoldItalic 0 0 1 TZ
%AI3_EndEncoding AdobeType
%AI3_BeginEncoding: _Courier Courier
[
/_Courier/Courier 0 0 1 TZ
%AI3_EndEncoding AdobeType
%AI3_BeginEncoding: _Courier-Bold Courier-Bold
[
/_Courier-Bold/Courier-Bold 0 0 1 TZ
%AI3_EndEncoding AdobeType
%AI3_BeginEncoding: _Courier-Oblique Courier-Oblique
[
/_Courier-Oblique/Courier-Oblique 0 0 1 TZ
%AI3_EndEncoding AdobeType
%AI3_BeginEncoding: _Courier-BoldOblique Courier-BoldOblique
[
/_Courier-BoldOblique/Courier-BoldOblique 0 0 1 TZ
%AI3_EndEncoding AdobeType
%AI3_BeginEncoding: _Symbol Symbol
[
/_Symbol/Symbol 0 0 1 TZ
%AI3_EndEncoding AdobeType
%%EndSetup
1 XR
u
[] 0 d
0.0000 w
0.000 0.000 0.000 1.000 K
1 J
1 j
187.4875 452.8453 m
187.4875 264.2795 L
355.8070 264.2795 L
355.8070 163.6473 L
379.2879 163.6473 L
S
U
u
0.000 0.000 0.000 1.000 k
0.0000 w
0.000 0.000 0.000 1.000 K
378.5691 166.4027 m
386.8353 163.6473 L
378.5691 160.8918 L
378.5691 166.4027 L
F
U
u
0.000 0.000 0.000 0.000 k
489.1448 621.5241 m
571.0882 621.5241 L
571.0882 625.9567 L
489.1448 625.9567 L
489.1448 621.5241 L
F
U
u
0.000 0.000 0.000 0.000 k
0.0000 w
39.5341 535.2679 m
565.4576 535.2679 L
565.4576 548.0865 L
39.5341 548.0865 L
39.5341 535.2679 L
B
U
0 To
1.0000 0.0000 0.0000 1.0000 295.5474 538.8619 0 Tp
TP
/_Helvetica 8.0000 Tf
0.0000 Tc
0 Tr
0.0000 w
0 j
0.000 0.000 0.000 1.000 k
(IDLE\r) Tx
TO
0.000 0.000 0.000 1.000 K
u
0.000 0.000 0.000 0.000 k
0.0000 w
1 j
39.5341 521.7304 m
565.4576 521.7304 L
565.4576 535.2679 L
39.5341 535.2679 L
39.5341 521.7304 L
B
U
0 To
1.0000 0.0000 0.0000 1.0000 45.5241 526.1631 0 Tp
TP
/_Helvetica 8.0000 Tf
0.0000 Tc
0 Tr
0.0000 w
0 j
0.000 0.000 0.000 1.000 k
(idleWhile \r) Tx
TO
0.000 0.000 0.000 1.000 K
0 To
1.0000 0.0000 0.0000 1.0000 80.6256 526.1631 0 Tp
TP
/_Helvetica 8.0000 Tf
0.0000 Tc
0 Tr
0.000 0.000 0.000 1.000 k
(= ClientTimeout\r) Tx
TO
0.000 0.000 0.000 1.000 K
u
0.000 0.000 0.000 0.000 k
0.0000 w
1 j
447.8136 478.4825 m
566.5358 478.4825 L
566.5358 492.0200 L
447.8136 492.0200 L
447.8136 478.4825 L
B
U
0 To
1.0000 0.0000 0.0000 1.0000 473.4509 482.7953 0 Tp
TP
/_Helvetica 8.0000 Tf
0.0000 Tc
0 Tr
0.0000 w
0 j
0.000 0.000 0.000 1.000 k
(SEND_RESPONSE\r) Tx
TO
0.000 0.000 0.000 1.000 K
u
0.000 0.000 0.000 0.000 k
0.0000 w
1 j
447.8136 433.6772 m
566.5358 433.6772 L
566.5358 478.4825 L
447.8136 478.4825 L
447.8136 433.6772 L
B
U
0 To
1.0000 0.0000 0.0000 1.0000 453.8037 469.2579 0 Tp
TP
/_Helvetica 8.0000 Tf
0.0000 Tc
0 Tr
0.0000 w
0 j
0.000 0.000 0.000 1.000 k
(lastId = reqId\r) Tx
TO
0.000 0.000 0.000 1.000 K
0 To
1.0000 0.0000 0.0000 1.0000 453.8037 459.6739 0 Tp
TP
/_Helvetica 8.0000 Tf
0.0000 Tc
0 Tr
0.000 0.000 0.000 1.000 k
(lastRespData = eapRespData\r) Tx
TO
0.000 0.000 0.000 1.000 K
0 To
1.0000 0.0000 0.0000 1.0000 453.8037 450.2097 0 Tp
TP
/_Helvetica 8.0000 Tf
0.0000 Tc
0 Tr
0.000 0.000 0.000 1.000 k
(eapReq = FALSE\r) Tx
TO
0.000 0.000 0.000 1.000 K
0 To
1.0000 0.0000 0.0000 1.0000 453.8037 440.6256 0 Tp
TP
/_Helvetica 8.0000 Tf
0.0000 Tc
0 Tr
0.000 0.000 0.000 1.000 k
(eapResp = TRUE\r) Tx
TO
0.000 0.000 0.000 1.000 K
u
0.0000 w
1 j
507.1148 492.0200 m
507.1148 505.4376 L
506.0366 505.4376 L
506.0366 513.5840 L
S
U
u
0.000 0.000 0.000 1.000 k
0.0000 w
503.2812 512.9850 m
506.0366 521.2512 L
508.7920 512.9850 L
503.2812 512.9850 L
F
U
u
0.000 0.000 0.000 0.000 k
497.4110 500.1664 m
515.8602 500.1664 L
515.8602 511.5474 L
497.4110 511.5474 L
497.4110 500.1664 L
F
U
0 To
1.0000 0.0000 0.0000 1.0000 498.3694 503.1614 0 Tp
TP
/_Helvetica 8.0000 Tf
0.0000 Tc
0 Tr
0 j
0.000 0.000 0.000 1.000 k
(UCT\r) Tx
TO
0.000 0.000 0.000 1.000 K
u
0.000 0.000 0.000 0.000 k
0.0000 w
1 j
106.7421 609.9035 m
170.8353 609.9035 L
170.8353 625.5973 L
106.7421 625.5973 L
106.7421 609.9035 L
B
U
0 To
1.0000 0.0000 0.0000 1.0000 120.8785 616.4925 0 Tp
TP
/_Helvetica 8.0000 Tf
0.0000 Tc
0 Tr
0.0000 w
0 j
0.000 0.000 0.000 1.000 k
(DISABLED\r) Tx
TO
0.000 0.000 0.000 1.000 K
u
0.000 0.000 0.000 0.000 k
0.0000 w
1 j
106.7421 585.7038 m
170.8353 585.7038 L
170.8353 609.9035 L
106.7421 609.9035 L
106.7421 585.7038 L
B
U
0 To
1.0000 0.0000 0.0000 1.0000 112.7321 600.6789 0 Tp
TP
/_Helvetica 8.0000 Tf
0.0000 Tc
0 Tr
0.0000 w
0 j
0.000 0.000 0.000 1.000 k
(eapRestart =\r) Tx
TO
0.000 0.000 0.000 1.000 K
0 To
1.0000 0.0000 0.0000 1.0000 112.7321 591.2146 0 Tp
TP
/_Helvetica 8.0000 Tf
0.0000 Tc
0 Tr
0.000 0.000 0.000 1.000 k
( FALSE\r) Tx
TO
0.000 0.000 0.000 1.000 K
u
0.000 0.000 0.000 0.000 k
0.0000 w
1 j
241.9967 620.8053 m
364.7920 620.8053 L
364.7920 634.4626 L
241.9967 634.4626 L
241.9967 620.8053 L
B
U
0 To
1.0000 0.0000 0.0000 1.0000 285.4842 625.2379 0 Tp
TP
/_Helvetica 8.0000 Tf
0.0000 Tc
0 Tr
0.0000 w
0 j
0.000 0.000 0.000 1.000 k
(INITIALIZE\r) Tx
TO
0.000 0.000 0.000 1.000 K
u
0.000 0.000 0.000 0.000 k
0.0000 w
1 j
241.9967 575.5208 m
364.7920 575.5208 L
364.7920 620.8053 L
241.9967 620.8053 L
241.9967 575.5208 L
B
U
0 To
1.0000 0.0000 0.0000 1.0000 247.8669 611.7005 0 Tp
TP
/_Helvetica 8.0000 Tf
0.0000 Tc
0 Tr
0.0000 w
0 j
0.000 0.000 0.000 1.000 k
(selectedMethod = NONE\r) Tx
TO
0.000 0.000 0.000 1.000 K
0 To
1.0000 0.0000 0.0000 1.0000 247.8669 602.1165 0 Tp
TP
/_Helvetica 8.0000 Tf
0.0000 Tc
0 Tr
0.000 0.000 0.000 1.000 k
(methodState = NONE\r) Tx
TO
0.000 0.000 0.000 1.000 K
0 To
1.0000 0.0000 0.0000 1.0000 247.8669 592.6522 0 Tp
TP
/_Helvetica 8.0000 Tf
0.0000 Tc
0 Tr
0.000 0.000 0.000 1.000 k
(allowNotifications = TRUE\r) Tx
TO
0.000 0.000 0.000 1.000 K
0 To
1.0000 0.0000 0.0000 1.0000 247.8669 583.0682 0 Tp
TP
/_Helvetica 8.0000 Tf
0.0000 Tc
0 Tr
0.000 0.000 0.000 1.000 k
(decision = FAIL | COND_SUCC\r) Tx
TO
0.000 0.000 0.000 1.000 K
u
0.0000 w
1 j
170.8353 605.5907 m
184.1331 605.5907 L
184.1331 604.9917 L
234.4493 604.9917 L
S
U
u
0.000 0.000 0.000 1.000 k
0.0000 w
233.7304 607.7471 m
241.9967 604.9917 L
233.7304 602.1165 L
233.7304 607.7471 L
F
U
u
0.000 0.000 0.000 0.000 k
183.0549 599.9601 m
228.2196 599.9601 L
228.2196 611.2213 L
183.0549 611.2213 L
183.0549 599.9601 L
F
U
0 To
1.0000 0.0000 0.0000 1.0000 184.1331 602.8353 0 Tp
TP
/_Helvetica 8.0000 Tf
0.0000 Tc
0 Tr
0 j
0.000 0.000 0.000 1.000 k
(portEnabled\r) Tx
TO
0.000 0.000 0.000 1.000 K
u
0.000 0.000 0.000 0.000 k
0.0000 w
1 j
322.0233 478.4825 m
441.5840 478.4825 L
441.5840 492.0200 L
322.0233 492.0200 L
322.0233 478.4825 L
B
U
0 To
1.0000 0.0000 0.0000 1.0000 365.8702 482.7953 0 Tp
TP
/_Helvetica 8.0000 Tf
0.0000 Tc
0 Tr
0.0000 w
0 j
0.000 0.000 0.000 1.000 k
(DISCARD\r) Tx
TO
0.000 0.000 0.000 1.000 K
u
0.000 0.000 0.000 0.000 k
0.0000 w
1 j
322.0233 452.3661 m
441.5840 452.3661 L
441.5840 478.4825 L
322.0233 478.4825 L
322.0233 452.3661 L
B
U
0 To
1.0000 0.0000 0.0000 1.0000 328.0133 469.2579 0 Tp
TP
/_Helvetica 8.0000 Tf
0.0000 Tc
0 Tr
0.0000 w
0 j
0.000 0.000 0.000 1.000 k
(eapReq = FALSE\r) Tx
TO
0.000 0.000 0.000 1.000 K
0 To
1.0000 0.0000 0.0000 1.0000 328.0133 459.6739 0 Tp
TP
/_Helvetica 8.0000 Tf
0.0000 Tc
0 Tr
0.000 0.000 0.000 1.000 k
(eapNoResp = TRUE\r) Tx
TO
0.000 0.000 0.000 1.000 K
u
0.0000 w
1 j
381.9235 492.0200 m
382.1631 492.0200 L
382.1631 514.1830 L
S
U
u
0.000 0.000 0.000 1.000 k
0.0000 w
379.4077 513.4642 m
382.1631 521.7304 L
384.9185 513.4642 L
379.4077 513.4642 L
F
U
u
0.000 0.000 0.000 0.000 k
372.4592 501.0050 m
390.7887 501.0050 L
390.7887 512.3860 L
372.4592 512.3860 L
372.4592 501.0050 L
F
U
0 To
1.0000 0.0000 0.0000 1.0000 373.5374 504.0000 0 Tp
TP
/_Helvetica 8.0000 Tf
0.0000 Tc
0 Tr
0 j
0.000 0.000 0.000 1.000 k
(UCT\r) Tx
TO
0.000 0.000 0.000 1.000 K
u
0.0000 w
1 j
218.9950 452.8453 m
218.9950 286.8020 L
369.2246 286.8020 L
369.2246 252.6589 L
379.6473 252.6589 L
S
U
u
0.000 0.000 0.000 1.000 k
0.0000 w
378.9285 255.4143 m
387.1947 252.6589 L
378.9285 249.9035 L
378.9285 255.4143 L
F
U
u
0.000 0.000 0.000 0.000 k
0.0000 w
387.1947 77.2712 m
521.7304 77.2712 L
521.7304 92.4859 L
387.1947 92.4859 L
387.1947 77.2712 L
B
U
0 To
1.0000 0.0000 0.0000 1.0000 430.4426 83.2612 0 Tp
TP
/_Helvetica 8.0000 Tf
0.0000 Tc
0 Tr
0.0000 w
0 j
0.000 0.000 0.000 1.000 k
(RETRANSMIT\r) Tx
TO
0.000 0.000 0.000 1.000 K
u
0.000 0.000 0.000 0.000 k
0.0000 w
1 j
387.1947 63.6140 m
521.7304 63.6140 L
521.7304 77.2712 L
387.1947 77.2712 L
387.1947 63.6140 L
B
U
0 To
1.0000 0.0000 0.0000 1.0000 393.0649 68.0466 0 Tp
TP
/_Helvetica 8.0000 Tf
0.0000 Tc
0 Tr
0.0000 w
0 j
0.000 0.000 0.000 1.000 k
(eapRespData = lastRespData\r) Tx
TO
0.000 0.000 0.000 1.000 K
u
0.0000 w
1 j
166.2829 522.3295 m
166.2829 499.8070 L
S
U
u
0.000 0.000 0.000 1.000 k
0.0000 w
169.0383 500.5258 m
166.2829 492.2596 L
163.5275 500.5258 L
169.0383 500.5258 L
F
U
u
0.000 0.000 0.000 0.000 k
151.5474 502.0832 m
181.2579 502.0832 L
181.2579 513.4642 L
151.5474 513.4642 L
151.5474 502.0832 L
F
U
0 To
1.0000 0.0000 0.0000 1.0000 152.5058 505.0782 0 Tp
TP
/_Helvetica 8.0000 Tf
0.0000 Tc
0 Tr
0 j
0.000 0.000 0.000 1.000 k
(eapReq\r) Tx
TO
0.000 0.000 0.000 1.000 K
u
0.0000 w
1 j
86.2562 605.5907 m
99.3145 605.5907 L
S
U
u
0.000 0.000 0.000 1.000 k
0.0000 w
98.5957 608.3461 m
106.7421 605.5907 L
98.5957 602.8353 L
98.5957 608.3461 L
F
U
0 To
1.0000 0.0000 0.0000 1.0000 22.2829 608.2263 0 Tp
TP
/_Helvetica 8.0000 Tf
0.0000 Tc
0 Tr
0 j
0.000 0.000 0.000 1.000 k
(\(!portEnabled ||\r) Tx
TO
0.000 0.000 0.000 1.000 K
0 To
1.0000 0.0000 0.0000 1.0000 28.7521 598.7621 0 Tp
TP
/_Helvetica 8.0000 Tf
0.0000 Tc
0 Tr
0.000 0.000 0.000 1.000 k
(eapRestart\r) Tx
TO
0.000 0.000 0.000 1.000 K
0 To
1.0000 0.0000 0.0000 1.0000 67.8070 598.7621 0 Tp
TP
/_Helvetica 8.0000 Tf
0.0000 Tc
0 Tr
0.000 0.000 0.000 1.000 k
(\)\r) Tx
TO
0.000 0.000 0.000 1.000 K
u
0.000 0.000 0.000 0.000 k
0.0000 w
1 j
387.1947 122.5557 m
521.7304 122.5557 L
521.7304 136.0932 L
387.1947 136.0932 L
387.1947 122.5557 L
B
U
0 To
1.0000 0.0000 0.0000 1.0000 428.1664 126.9884 0 Tp
TP
/_Helvetica 8.0000 Tf
0.0000 Tc
0 Tr
0.0000 w
0 j
0.000 0.000 0.000 1.000 k
(NOTIFICATION\r) Tx
TO
0.000 0.000 0.000 1.000 K
u
0.000 0.000 0.000 0.000 k
0.0000 w
1 j
387.1947 107.3411 m
521.7304 107.3411 L
521.7304 122.5557 L
387.1947 122.5557 L
387.1947 107.3411 L
B
U
0 To
1.0000 0.0000 0.0000 1.0000 393.0649 113.3311 0 Tp
TP
/_Helvetica 8.0000 Tf
0.0000 Tc
0 Tr
0.0000 w
0 j
0.000 0.000 0.000 1.000 k
(eapRespData = buildNotify\(reqId\)\r) Tx
TO
0.000 0.000 0.000 1.000 K
u
0.0000 w
1 j
273.8636 452.2463 m
273.8636 434.8752 L
345.6240 434.8752 L
345.6240 444.6988 L
S
U
u
0.000 0.000 0.000 1.000 k
0.0000 w
342.8686 444.0998 m
345.6240 452.3661 L
348.3794 444.0998 L
342.8686 444.0998 L
F
U
u
0.000 0.000 0.000 0.000 k
300.5790 429.4842 m
319.0283 429.4842 L
319.0283 440.8652 L
300.5790 440.8652 L
300.5790 429.4842 L
F
U
0 To
1.0000 0.0000 0.0000 1.0000 301.5374 432.4792 0 Tp
TP
/_Helvetica 8.0000 Tf
0.0000 Tc
0 Tr
0 j
0.000 0.000 0.000 1.000 k
(else\r) Tx
TO
0.000 0.000 0.000 1.000 K
u
0.0000 w
1 j
129.2646 452.8453 m
129.2646 199.3478 L
326.5757 199.3478 L
326.5757 77.9900 L
379.6473 77.9900 L
S
U
u
0.000 0.000 0.000 1.000 k
0.0000 w
378.9285 80.8652 m
387.1947 77.9900 L
378.9285 75.2346 L
378.9285 80.8652 L
F
U
u
0.0000 w
158.3760 452.8453 m
158.3760 230.7354 L
341.1913 230.7354 L
341.1913 120.9983 L
379.2879 120.9983 L
S
U
u
0.000 0.000 0.000 1.000 k
0.0000 w
378.5691 123.7537 m
386.8353 120.9983 L
378.5691 118.2429 L
378.5691 123.7537 L
F
U
u
0.0000 w
251.3411 452.2463 m
251.3411 353.1714 L
313.9967 353.1714 L
S
U
u
0.000 0.000 0.000 1.000 k
0.0000 w
313.3977 355.9268 m
321.5441 353.1714 L
313.3977 350.4160 L
313.3977 355.9268 L
F
U
u
0.0000 w
521.4908 234.2097 m
558.1498 234.2097 L
558.1498 433.6772 L
S
U
u
521.7304 122.4359 m
558.1498 122.4359 L
558.1498 433.6772 L
S
U
u
521.7304 77.1514 m
558.1498 77.1514 L
558.1498 433.6772 L
S
U
u
522.3295 355.2080 m
558.1498 355.2080 L
558.1498 426.1298 L
S
U
u
0.000 0.000 0.000 1.000 k
0.0000 w
555.3943 425.4110 m
558.1498 433.6772 L
560.9052 425.4110 L
555.3943 425.4110 L
F
U
u
0.000 0.000 0.000 0.000 k
213.9634 194.3161 m
303.5740 194.3161 L
303.5740 205.6972 L
213.9634 205.6972 L
213.9634 194.3161 L
F
U
0 To
1.0000 0.0000 0.0000 1.0000 214.9218 197.3111 0 Tp
TP
/_Helvetica 8.0000 Tf
0.0000 Tc
0 Tr
0 j
0.000 0.000 0.000 1.000 k
(rxReq && reqId == lastId\r) Tx
TO
0.000 0.000 0.000 1.000 K
u
0.0000 w
1 j
303.3344 575.5208 m
303.3344 562.1032 L
302.4958 562.1032 L
302.4958 555.6339 L
S
U
u
0.000 0.000 0.000 1.000 k
0.0000 w
305.2512 556.3527 m
302.4958 548.0865 L
299.7404 556.3527 L
305.2512 556.3527 L
F
U
u
0.000 0.000 0.000 0.000 k
293.3910 556.7121 m
311.8403 556.7121 L
311.8403 568.0932 L
293.3910 568.0932 L
293.3910 556.7121 L
F
U
0 To
1.0000 0.0000 0.0000 1.0000 294.4692 559.7072 0 Tp
TP
/_Helvetica 8.0000 Tf
0.0000 Tc
0 Tr
0 j
0.000 0.000 0.000 1.000 k
(UCT\r) Tx
TO
0.000 0.000 0.000 1.000 K
u
0.0000 w
1 j
96.7987 452.2463 m
96.7987 179.1015 L
235.8869 179.1015 L
235.8869 122.7953 L
S
U
u
0.000 0.000 0.000 1.000 k
0.0000 w
238.6423 123.3943 m
235.8869 115.1281 L
233.1314 123.3943 L
238.6423 123.3943 L
F
U
u
0.0000 w
62.5358 452.2463 m
62.5358 162.3295 L
99.4343 162.3295 L
99.4343 122.7953 L
S
U
u
0.000 0.000 0.000 1.000 k
0.0000 w
102.1897 123.3943 m
99.4343 115.1281 L
96.6789 123.3943 L
102.1897 123.3943 L
F
U
u
0.000 0.000 0.000 0.000 k
172.9917 128.5458 m
290.7554 128.5458 L
290.7554 168.6789 L
172.9917 168.6789 L
172.9917 128.5458 L
F
U
0 To
1.0000 0.0000 0.0000 1.0000 182.5757 160.2928 0 Tp
TP
/_Helvetica 8.0000 Tf
0.0000 Tc
0 Tr
0 j
0.000 0.000 0.000 1.000 k
(\(methodState != CONT\) &&\r) Tx
TO
0.000 0.000 0.000 1.000 K
0 To
1.0000 0.0000 0.0000 1.0000 186.5291 150.7088 0 Tp
TP
/_Helvetica 8.0000 Tf
0.0000 Tc
0 Tr
0.000 0.000 0.000 1.000 k
(\(\(rxFailure && decision !=\r) Tx
TO
0.000 0.000 0.000 1.000 K
0 To
1.0000 0.0000 0.0000 1.0000 196.3527 141.1248 0 Tp
TP
/_Helvetica 8.0000 Tf
0.0000 Tc
0 Tr
0.000 0.000 0.000 1.000 k
(UNCOND_SUCC\) ||\r) Tx
TO
0.000 0.000 0.000 1.000 K
0 To
1.0000 0.0000 0.0000 1.0000 173.9501 131.5408 0 Tp
TP
/_Helvetica 8.0000 Tf
0.0000 Tc
0 Tr
0.000 0.000 0.000 1.000 k
(\(rxSuccess && decision==FAIL\)\)\r) Tx
TO
0.000 0.000 0.000 1.000 K
u
0.000 0.000 0.000 0.000 k
1 j
69.1248 133.2180 m
129.3844 133.2180 L
129.3844 154.1830 L
69.1248 154.1830 L
69.1248 133.2180 L
F
U
0 To
1.0000 0.0000 0.0000 1.0000 74.2762 145.7970 0 Tp
TP
/_Helvetica 8.0000 Tf
0.0000 Tc
0 Tr
0 j
0.000 0.000 0.000 1.000 k
(rxSuccess &&\r) Tx
TO
0.000 0.000 0.000 1.000 K
0 To
1.0000 0.0000 0.0000 1.0000 70.0832 136.2130 0 Tp
TP
/_Helvetica 8.0000 Tf
0.0000 Tc
0 Tr
0.000 0.000 0.000 1.000 k
(decision != FAIL\r) Tx
TO
0.000 0.000 0.000 1.000 K
u
0.0000 w
1 j
39.5341 530.8353 m
30.6689 530.8353 L
30.6689 22.1631 L
99.4343 22.1631 L
99.4343 61.6972 L
S
U
u
0.000 0.000 0.000 1.000 k
0.0000 w
96.6789 60.9784 m
99.4343 69.2446 L
102.1897 60.9784 L
96.6789 60.9784 L
F
U
u
0.0000 w
39.5341 538.8619 m
21.0849 538.8619 L
21.0849 9.8236 L
221.2712 9.8236 L
221.2712 79.6672 L
S
U
u
0.000 0.000 0.000 1.000 k
0.0000 w
218.5158 78.9484 m
221.2712 87.2146 L
224.0266 78.9484 L
218.5158 78.9484 L
F
U
u
0.000 0.000 0.000 0.000 k
529.3977 116.5657 m
547.7271 116.5657 L
547.7271 127.9468 L
529.3977 127.9468 L
529.3977 116.5657 L
F
U
0 To
1.0000 0.0000 0.0000 1.0000 530.2363 119.5607 0 Tp
TP
/_Helvetica 8.0000 Tf
0.0000 Tc
0 Tr
0 j
0.000 0.000 0.000 1.000 k
(UCT\r) Tx
TO
0.000 0.000 0.000 1.000 K
u
0.000 0.000 0.000 0.000 k
1 j
529.3977 71.1614 m
547.7271 71.1614 L
547.7271 82.5424 L
529.3977 82.5424 L
529.3977 71.1614 L
F
U
0 To
1.0000 0.0000 0.0000 1.0000 530.2363 74.1564 0 Tp
TP
/_Helvetica 8.0000 Tf
0.0000 Tc
0 Tr
0 j
0.000 0.000 0.000 1.000 k
(UCT\r) Tx
TO
0.000 0.000 0.000 1.000 K
u
0.000 0.000 0.000 0.000 k
0.0000 w
1 j
387.1947 258.6489 m
521.7304 258.6489 L
521.7304 272.1864 L
387.1947 272.1864 L
387.1947 258.6489 L
B
U
0 To
1.0000 0.0000 0.0000 1.0000 428.6456 262.9617 0 Tp
TP
/_Helvetica 8.0000 Tf
0.0000 Tc
0 Tr
0.0000 w
0 j
0.000 0.000 0.000 1.000 k
(GET_METHOD\r) Tx
TO
0.000 0.000 0.000 1.000 K
u
0.000 0.000 0.000 0.000 k
0.0000 w
1 j
387.1947 197.0715 m
521.7304 197.0715 L
521.7304 258.6489 L
387.1947 258.6489 L
387.1947 197.0715 L
B
U
0 To
1.0000 0.0000 0.0000 1.0000 393.0649 249.4243 0 Tp
TP
/_Helvetica 8.0000 Tf
0.0000 Tc
0 Tr
0.0000 w
0 j
0.000 0.000 0.000 1.000 k
(if \(allowMethod\(reqMethod\)\) {\r) Tx
TO
0.000 0.000 0.000 1.000 K
0 To
1.0000 0.0000 0.0000 1.0000 393.0649 239.9601 0 Tp
TP
/_Helvetica 8.0000 Tf
0.0000 Tc
0 Tr
0.000 0.000 0.000 1.000 k
( selectedMethod = reqMethod\r) Tx
TO
0.000 0.000 0.000 1.000 K
0 To
1.0000 0.0000 0.0000 1.0000 393.0649 230.3760 0 Tp
TP
/_Helvetica 8.0000 Tf
0.0000 Tc
0 Tr
0.000 0.000 0.000 1.000 k
( methodState = INIT\r) Tx
TO
0.000 0.000 0.000 1.000 K
0 To
1.0000 0.0000 0.0000 1.0000 393.0649 220.7920 0 Tp
TP
/_Helvetica 8.0000 Tf
0.0000 Tc
0 Tr
0.000 0.000 0.000 1.000 k
(} else {\r) Tx
TO
0.000 0.000 0.000 1.000 K
0 To
1.0000 0.0000 0.0000 1.0000 393.0649 211.2080 0 Tp
TP
/_Helvetica 8.0000 Tf
0.0000 Tc
0 Tr
0.000 0.000 0.000 1.000 k
( eapRespData = buildNak\(reqId\)\r) Tx
TO
0.000 0.000 0.000 1.000 K
0 To
1.0000 0.0000 0.0000 1.0000 393.0649 201.6240 0 Tp
TP
/_Helvetica 8.0000 Tf
0.0000 Tc
0 Tr
0.000 0.000 0.000 1.000 k
(}\r) Tx
TO
0.000 0.000 0.000 1.000 K
u
0.0000 w
1 j
454.5225 272.1864 m
454.5225 285.7238 L
454.7621 285.7238 L
454.7621 294.9484 L
S
U
u
0.000 0.000 0.000 1.000 k
0.0000 w
452.0067 294.2296 m
454.7621 302.4958 L
457.5175 294.2296 L
452.0067 294.2296 L
F
U
u
0.0000 w
382.1631 409.5973 m
382.1631 423.2546 L
382.4027 423.2546 L
382.4027 444.6988 L
S
U
u
0.000 0.000 0.000 1.000 k
0.0000 w
379.6473 443.9800 m
382.4027 452.2463 L
385.1581 443.9800 L
379.6473 443.9800 L
F
U
u
0.000 0.000 0.000 0.000 k
528.6789 228.2196 m
547.2479 228.2196 L
547.2479 239.6007 L
528.6789 239.6007 L
528.6789 228.2196 L
F
U
0 To
1.0000 0.0000 0.0000 1.0000 529.7571 231.2146 0 Tp
TP
/_Helvetica 8.0000 Tf
0.0000 Tc
0 Tr
0 j
0.000 0.000 0.000 1.000 k
(else\r) Tx
TO
0.000 0.000 0.000 1.000 K
u
0.000 0.000 0.000 0.000 k
1 j
203.3012 260.9251 m
319.8669 260.9251 L
319.8669 269.9101 L
203.3012 269.9101 L
203.3012 260.9251 L
F
U
u
0.000 0.000 0.000 0.000 k
199.3478 319.8669 m
272.1864 319.8669 L
272.1864 328.8519 L
199.3478 328.8519 L
199.3478 319.8669 L
F
U
u
0.000 0.000 0.000 0.000 k
221.8702 361.7970 m
309.6839 361.7970 L
309.6839 411.3943 L
221.8702 411.3943 L
221.8702 361.7970 L
F
U
0 To
1.0000 0.0000 0.0000 1.0000 248.7055 403.0083 0 Tp
TP
/_Helvetica 8.0000 Tf
0.0000 Tc
0 Tr
0 j
0.000 0.000 0.000 1.000 k
(rxReq &&\r) Tx
TO
0.000 0.000 0.000 1.000 K
0 To
1.0000 0.0000 0.0000 1.0000 232.0532 393.4243 0 Tp
TP
/_Helvetica 8.0000 Tf
0.0000 Tc
0 Tr
0.000 0.000 0.000 1.000 k
(\(reqId != lastId\) &&\r) Tx
TO
0.000 0.000 0.000 1.000 K
0 To
1.0000 0.0000 0.0000 1.0000 239.7205 383.9601 0 Tp
TP
/_Helvetica 8.0000 Tf
0.0000 Tc
0 Tr
0.000 0.000 0.000 1.000 k
(\(reqMethod ==\r) Tx
TO
0.000 0.000 0.000 1.000 K
0 To
1.0000 0.0000 0.0000 1.0000 229.7770 374.3760 0 Tp
TP
/_Helvetica 8.0000 Tf
0.0000 Tc
0 Tr
0.000 0.000 0.000 1.000 k
(selectedMethod\) &&\r) Tx
TO
0.000 0.000 0.000 1.000 K
0 To
1.0000 0.0000 0.0000 1.0000 222.9484 364.7920 0 Tp
TP
/_Helvetica 8.0000 Tf
0.0000 Tc
0 Tr
0.000 0.000 0.000 1.000 k
(\(methodState != DONE\)\r) Tx
TO
0.000 0.000 0.000 1.000 K
u
0.000 0.000 0.000 0.000 k
1 j
194.7953 292.5524 m
305.9700 292.5524 L
305.9700 342.1498 L
194.7953 342.1498 L
194.7953 292.5524 L
F
U
0 To
1.0000 0.0000 0.0000 1.0000 198.3894 333.7637 0 Tp
TP
/_Helvetica 8.0000 Tf
0.0000 Tc
0 Tr
0 j
0.000 0.000 0.000 1.000 k
(rxReq && \(reqId != lastId\) &&\r) Tx
TO
0.000 0.000 0.000 1.000 K
0 To
1.0000 0.0000 0.0000 1.0000 199.1082 324.1797 0 Tp
TP
/_Helvetica 8.0000 Tf
0.0000 Tc
0 Tr
0.000 0.000 0.000 1.000 k
(\(selectedMethod == NONE ||\r) Tx
TO
0.000 0.000 0.000 1.000 K
0 To
1.0000 0.0000 0.0000 1.0000 217.9168 314.7155 0 Tp
TP
/_Helvetica 8.0000 Tf
0.0000 Tc
0 Tr
0.000 0.000 0.000 1.000 k
(EapTunnelled\) &&\r) Tx
TO
0.000 0.000 0.000 1.000 K
0 To
1.0000 0.0000 0.0000 1.0000 199.2280 305.1314 0 Tp
TP
/_Helvetica 8.0000 Tf
0.0000 Tc
0 Tr
0.000 0.000 0.000 1.000 k
(\(reqMethod != IDENTITY &&\r) Tx
TO
0.000 0.000 0.000 1.000 K
0 To
1.0000 0.0000 0.0000 1.0000 195.7537 295.5474 0 Tp
TP
/_Helvetica 8.0000 Tf
0.0000 Tc
0 Tr
0.000 0.000 0.000 1.000 k
(reqMethod != NOTIFICATION\)\r) Tx
TO
0.000 0.000 0.000 1.000 K
u
0.000 0.000 0.000 0.000 k
1 j
364.1930 412.5923 m
400.0133 412.5923 L
400.0133 423.9734 L
364.1930 423.9734 L
364.1930 412.5923 L
F
U
0 To
1.0000 0.0000 0.0000 1.0000 365.1514 415.5874 0 Tp
TP
/_Helvetica 8.0000 Tf
0.0000 Tc
0 Tr
0 j
0.000 0.000 0.000 1.000 k
(!intCheck\r) Tx
TO
0.000 0.000 0.000 1.000 K
u
0.0000 w
1 j
521.7304 321.0649 m
555.1547 321.0649 L
555.3943 322.1431 L
555.9933 323.1015 L
557.0715 323.8203 L
558.1498 324.0599 L
559.3478 323.8203 L
560.3062 323.1015 L
560.9052 322.1431 L
561.1448 321.0649 L
573.3644 321.0649 L
573.3644 40.0133 L
275.9002 40.0133 L
275.9002 80.5058 L
S
U
u
0.000 0.000 0.000 1.000 k
0.0000 w
273.1448 79.7870 m
275.9002 88.0532 L
278.6556 79.7870 L
273.1448 79.7870 L
F
U
u
0.000 0.000 0.000 0.000 k
0.0000 w
387.1947 165.2047 m
521.7304 165.2047 L
521.7304 178.7421 L
387.1947 178.7421 L
387.1947 165.2047 L
B
U
0 To
1.0000 0.0000 0.0000 1.0000 438.1098 169.6373 0 Tp
TP
/_Helvetica 8.0000 Tf
0.0000 Tc
0 Tr
0.0000 w
0 j
0.000 0.000 0.000 1.000 k
(IDENTITY\r) Tx
TO
0.000 0.000 0.000 1.000 K
u
0.000 0.000 0.000 0.000 k
0.0000 w
1 j
387.1947 149.9900 m
521.7304 149.9900 L
521.7304 165.2047 L
387.1947 165.2047 L
387.1947 149.9900 L
B
U
0 To
1.0000 0.0000 0.0000 1.0000 393.0649 156.0998 0 Tp
TP
/_Helvetica 8.0000 Tf
0.0000 Tc
0 Tr
0.0000 w
0 j
0.000 0.000 0.000 1.000 k
(eapRespData = buildIdentity\(reqId\)\r) Tx
TO
0.000 0.000 0.000 1.000 K
u
0.0000 w
1 j
521.7304 165.2047 m
558.1498 165.2047 L
558.1498 433.6772 L
S
U
u
0.000 0.000 0.000 0.000 k
0.0000 w
196.4725 225.7038 m
319.8669 225.7038 L
319.8669 235.7671 L
196.4725 235.7671 L
196.4725 225.7038 L
F
U
0 To
1.0000 0.0000 0.0000 1.0000 208.4526 275.5408 0 Tp
TP
/_Helvetica 8.0000 Tf
0.0000 Tc
0 Tr
0 j
0.000 0.000 0.000 1.000 k
(rxReq && \(reqId != lastId\) &&\r) Tx
TO
0.000 0.000 0.000 1.000 K
0 To
1.0000 0.0000 0.0000 1.0000 209.2912 265.9567 0 Tp
TP
/_Helvetica 8.0000 Tf
0.0000 Tc
0 Tr
0.000 0.000 0.000 1.000 k
(\(selectedMethod == NONE ||\r) Tx
TO
0.000 0.000 0.000 1.000 K
0 To
1.0000 0.0000 0.0000 1.0000 227.9800 256.3727 0 Tp
TP
/_Helvetica 8.0000 Tf
0.0000 Tc
0 Tr
0.000 0.000 0.000 1.000 k
(EapTunnelled\) &&\r) Tx
TO
0.000 0.000 0.000 1.000 K
0 To
1.0000 0.0000 0.0000 1.0000 213.6040 246.9085 0 Tp
TP
/_Helvetica 8.0000 Tf
0.0000 Tc
0 Tr
0.000 0.000 0.000 1.000 k
(\(reqMethod == IDENTITY\)\r) Tx
TO
0.000 0.000 0.000 1.000 K
0 To
1.0000 0.0000 0.0000 1.0000 206.8952 230.1364 0 Tp
TP
/_Helvetica 8.0000 Tf
0.0000 Tc
0 Tr
0.000 0.000 0.000 1.000 k
(rxReq && \(reqId != lastId\) &&\r) Tx
TO
0.000 0.000 0.000 1.000 K
0 To
1.0000 0.0000 0.0000 1.0000 195.5141 220.5524 0 Tp
TP
/_Helvetica 8.0000 Tf
0.0000 Tc
0 Tr
0.000 0.000 0.000 1.000 k
(\(reqMethod == NOTIFICATION\) &&\r) Tx
TO
0.000 0.000 0.000 1.000 K
0 To
1.0000 0.0000 0.0000 1.0000 228.0998 210.9684 0 Tp
TP
/_Helvetica 8.0000 Tf
0.0000 Tc
0 Tr
0.000 0.000 0.000 1.000 k
(allowNotifications\r) Tx
TO
0.000 0.000 0.000 1.000 K
u
0.000 0.000 0.000 0.000 k
1 j
529.3977 159.2146 m
547.7271 159.2146 L
547.7271 170.5957 L
529.3977 170.5957 L
529.3977 159.2146 L
F
U
0 To
1.0000 0.0000 0.0000 1.0000 530.2363 162.2097 0 Tp
TP
/_Helvetica 8.0000 Tf
0.0000 Tc
0 Tr
0 j
0.000 0.000 0.000 1.000 k
(UCT\r) Tx
TO
0.000 0.000 0.000 1.000 K
u
0.000 0.000 0.000 0.000 k
1 j
530.3561 349.8170 m
548.9251 349.8170 L
548.9251 361.1980 L
530.3561 361.1980 L
530.3561 349.8170 L
F
U
0 To
1.0000 0.0000 0.0000 1.0000 531.3145 352.8120 0 Tp
TP
/_Helvetica 8.0000 Tf
0.0000 Tc
0 Tr
0 j
0.000 0.000 0.000 1.000 k
(else\r) Tx
TO
0.000 0.000 0.000 1.000 K
u
0.000 0.000 0.000 0.000 k
0.0000 w
1 j
175.6273 101.9501 m
295.1880 101.9501 L
295.1880 115.1281 L
175.6273 115.1281 L
175.6273 101.9501 L
B
U
0 To
1.0000 0.0000 0.0000 1.0000 220.4326 106.0233 0 Tp
TP
/_Helvetica 8.0000 Tf
0.0000 Tc
0 Tr
0.0000 w
0 j
0.000 0.000 0.000 1.000 k
(FAILURE\r) Tx
TO
0.000 0.000 0.000 1.000 K
u
0.000 0.000 0.000 0.000 k
0.0000 w
1 j
175.6273 88.2928 m
295.1880 88.2928 L
295.1880 101.9501 L
175.6273 101.9501 L
175.6273 88.2928 L
B
U
0 To
1.0000 0.0000 0.0000 1.0000 181.4975 92.7255 0 Tp
TP
/_Helvetica 8.0000 Tf
0.0000 Tc
0 Tr
0.0000 w
0 j
0.000 0.000 0.000 1.000 k
(eapFail = TRUE\r) Tx
TO
0.000 0.000 0.000 1.000 K
u
0.000 0.000 0.000 0.000 k
0.0000 w
1 j
39.5341 101.9501 m
159.2146 101.9501 L
159.2146 115.1281 L
39.5341 115.1281 L
39.5341 101.9501 L
B
U
0 To
1.0000 0.0000 0.0000 1.0000 81.9434 106.0233 0 Tp
TP
/_Helvetica 8.0000 Tf
0.0000 Tc
0 Tr
0.0000 w
0 j
0.000 0.000 0.000 1.000 k
(SUCCESS\r) Tx
TO
0.000 0.000 0.000 1.000 K
u
0.000 0.000 0.000 0.000 k
0.0000 w
1 j
39.5341 69.2446 m
159.2146 69.2446 L
159.2146 101.9501 L
39.5341 101.9501 L
39.5341 69.2446 L
B
U
0 To
1.0000 0.0000 0.0000 1.0000 45.5241 92.8453 0 Tp
TP
/_Helvetica 8.0000 Tf
0.0000 Tc
0 Tr
0.0000 w
0 j
0.000 0.000 0.000 1.000 k
(if \(eapKeyData != NONE\)\r) Tx
TO
0.000 0.000 0.000 1.000 K
0 To
1.0000 0.0000 0.0000 1.0000 45.5241 83.2612 0 Tp
TP
/_Helvetica 8.0000 Tf
0.0000 Tc
0 Tr
0.000 0.000 0.000 1.000 k
( eapKeyAvailable = TRUE\r) Tx
TO
0.000 0.000 0.000 1.000 K
0 To
1.0000 0.0000 0.0000 1.0000 45.5241 73.6772 0 Tp
TP
/_Helvetica 8.0000 Tf
0.0000 Tc
0 Tr
0.000 0.000 0.000 1.000 k
(eapSuccess = TRUE\r) Tx
TO
0.000 0.000 0.000 1.000 K
u
0.000 0.000 0.000 0.000 k
1 j
379.6473 35.1015 m
530.5957 35.1015 L
530.5957 46.3627 L
379.6473 46.3627 L
379.6473 35.1015 L
F
U
0 To
1.0000 0.0000 0.0000 1.0000 380.7255 37.9767 0 Tp
TP
/_Helvetica 8.0000 Tf
0.0000 Tc
0 Tr
0 j
0.000 0.000 0.000 1.000 k
(methodState==DONE && decision==FAIL\r) Tx
TO
0.000 0.000 0.000 1.000 K
u
0.000 0.000 0.000 0.000 k
1 j
399.7737 276.3794 m
510.2296 276.3794 L
510.2296 287.7604 L
399.7737 287.7604 L
399.7737 276.3794 L
F
U
0 To
1.0000 0.0000 0.0000 1.0000 400.7321 279.3744 0 Tp
TP
/_Helvetica 8.0000 Tf
0.0000 Tc
0 Tr
0 j
0.000 0.000 0.000 1.000 k
(selectedMethod == reqMethod\r) Tx
TO
0.000 0.000 0.000 1.000 K
u
0.000 0.000 0.000 0.000 k
0.0000 w
1 j
39.5341 478.6023 m
293.0316 478.6023 L
293.0316 492.2596 L
39.5341 492.2596 L
39.5341 478.6023 L
B
U
0 To
1.0000 0.0000 0.0000 1.0000 147.7138 483.0349 0 Tp
TP
/_Helvetica 8.0000 Tf
0.0000 Tc
0 Tr
0.0000 w
0 j
0.000 0.000 0.000 1.000 k
(RECEIVED\r) Tx
TO
0.000 0.000 0.000 1.000 K
u
0.000 0.000 0.000 0.000 k
0.0000 w
1 j
39.5341 452.2463 m
293.0316 452.2463 L
293.0316 478.6023 L
39.5341 478.6023 L
39.5341 452.2463 L
B
U
0 To
1.0000 0.0000 0.0000 1.0000 45.5241 469.4975 0 Tp
TP
/_Helvetica 8.0000 Tf
0.0000 Tc
0 Tr
0.0000 w
0 j
0.000 0.000 0.000 1.000 k
(\(rxReq, rxSuccess, rxFailure, reqId, reqMethod\) =\r) Tx
TO
0.000 0.000 0.000 1.000 K
0 To
1.0000 0.0000 0.0000 1.0000 45.5241 459.9135 0 Tp
TP
/_Helvetica 8.0000 Tf
0.0000 Tc
0 Tr
0.000 0.000 0.000 1.000 k
( parseEapReq\(eapReqData\)\r) Tx
TO
0.000 0.000 0.000 1.000 K
u
0.000 0.000 0.000 0.000 k
0.0000 w
1 j
322.0233 396.1797 m
521.7304 396.1797 L
521.7304 409.7171 L
322.0233 409.7171 L
322.0233 396.1797 L
B
U
0 To
1.0000 0.0000 0.0000 1.0000 407.5607 400.6123 0 Tp
TP
/_Helvetica 8.0000 Tf
0.0000 Tc
0 Tr
0.0000 w
0 j
0.000 0.000 0.000 1.000 k
(METHOD\r) Tx
TO
0.000 0.000 0.000 1.000 K
u
0.000 0.000 0.000 0.000 k
0.0000 w
1 j
322.0233 302.4958 m
521.7304 302.4958 L
521.7304 396.1797 L
322.0233 396.1797 L
322.0233 302.4958 L
B
U
0 To
1.0000 0.0000 0.0000 1.0000 328.0133 387.0749 0 Tp
TP
/_Helvetica 8.0000 Tf
0.0000 Tc
0 Tr
0.0000 w
0 j
0.000 0.000 0.000 1.000 k
(intCheck = m.integrityCheck\(eapReqData\)\r) Tx
TO
0.000 0.000 0.000 1.000 K
0 To
1.0000 0.0000 0.0000 1.0000 328.0133 377.4908 0 Tp
TP
/_Helvetica 8.0000 Tf
0.0000 Tc
0 Tr
0.000 0.000 0.000 1.000 k
(if \(intCheck\) {\r) Tx
TO
0.000 0.000 0.000 1.000 K
0 To
1.0000 0.0000 0.0000 1.0000 328.0133 367.9068 0 Tp
TP
/_Helvetica 8.0000 Tf
0.0000 Tc
0 Tr
0.000 0.000 0.000 1.000 k
( m.process\(eapReqData\)\r) Tx
TO
0.000 0.000 0.000 1.000 K
0 To
1.0000 0.0000 0.0000 1.0000 328.0133 358.3228 0 Tp
TP
/_Helvetica 8.0000 Tf
0.0000 Tc
0 Tr
0.000 0.000 0.000 1.000 k
( methodState = CONT | MAY_CONT | DONE\r) Tx
TO
0.000 0.000 0.000 1.000 K
0 To
1.0000 0.0000 0.0000 1.0000 328.0133 348.7388 0 Tp
TP
/_Helvetica 8.0000 Tf
0.0000 Tc
0 Tr
0.000 0.000 0.000 1.000 k
( decision = FAIL | COND_SUCC | UNCOND_SUCC\r) Tx
TO
0.000 0.000 0.000 1.000 K
0 To
1.0000 0.0000 0.0000 1.0000 328.0133 339.1547 0 Tp
TP
/_Helvetica 8.0000 Tf
0.0000 Tc
0 Tr
0.000 0.000 0.000 1.000 k
( allowNotifications = TRUE | FALSE\r) Tx
TO
0.000 0.000 0.000 1.000 K
0 To
1.0000 0.0000 0.0000 1.0000 328.0133 329.5707 0 Tp
TP
/_Helvetica 8.0000 Tf
0.0000 Tc
0 Tr
0.000 0.000 0.000 1.000 k
( eapRespData = m.buildResp\(reqId\)\r) Tx
TO
0.000 0.000 0.000 1.000 K
0 To
1.0000 0.0000 0.0000 1.0000 328.0133 319.9867 0 Tp
TP
/_Helvetica 8.0000 Tf
0.0000 Tc
0 Tr
0.000 0.000 0.000 1.000 k
( \r) Tx
TO
0.000 0.000 0.000 1.000 K
0 To
1.0000 0.0000 0.0000 1.0000 334.8419 319.9867 0 Tp
TP
/_Helvetica 8.0000 Tf
0.0000 Tc
0 Tr
0.000 0.000 0.000 1.000 k
(eapKeyData\r) Tx
TO
0.000 0.000 0.000 1.000 K
0 To
1.0000 0.0000 0.0000 1.0000 378.8087 319.9867 0 Tp
TP
/_Helvetica 8.0000 Tf
0.0000 Tc
0 Tr
0.000 0.000 0.000 1.000 k
( = NONE | m.getKey\(\)\r) Tx
TO
0.000 0.000 0.000 1.000 K
0 To
1.0000 0.0000 0.0000 1.0000 328.0133 310.5225 0 Tp
TP
/_Helvetica 8.0000 Tf
0.0000 Tc
0 Tr
0.000 0.000 0.000 1.000 k
(}\r) Tx
TO
0.000 0.000 0.000 1.000 K
u
0.000 0.000 0.000 0.000 k
1 j
38.6955 26.3561 m
159.0948 26.3561 L
159.0948 56.7854 L
38.6955 56.7854 L
38.6955 26.3561 L
F
U
0 To
1.0000 0.0000 0.0000 1.0000 39.7737 48.3993 0 Tp
TP
/_Helvetica 8.0000 Tf
0.0000 Tc
0 Tr
0 j
0.000 0.000 0.000 1.000 k
(\(altAccept && decision != FAIL\) ||\r) Tx
TO
0.000 0.000 0.000 1.000 K
0 To
1.0000 0.0000 0.0000 1.0000 65.5308 38.8153 0 Tp
TP
/_Helvetica 8.0000 Tf
0.0000 Tc
0 Tr
0.000 0.000 0.000 1.000 k
(\(idleWhile == 0 &&\r) Tx
TO
0.000 0.000 0.000 1.000 K
0 To
1.0000 0.0000 0.0000 1.0000 44.9251 29.3511 0 Tp
TP
/_Helvetica 8.0000 Tf
0.0000 Tc
0 Tr
0.000 0.000 0.000 1.000 k
(decision == UNCOND_SUCC\)\r) Tx
TO
0.000 0.000 0.000 1.000 K
u
0.000 0.000 0.000 0.000 k
1 j
161.1314 15.5740 m
275.3012 15.5740 L
275.3012 74.7554 L
161.1314 74.7554 L
161.1314 15.5740 L
F
U
0 To
1.0000 0.0000 0.0000 1.0000 199.3478 66.3694 0 Tp
TP
/_Helvetica 8.0000 Tf
0.0000 Tc
0 Tr
0 j
0.000 0.000 0.000 1.000 k
(altReject ||\r) Tx
TO
0.000 0.000 0.000 1.000 K
0 To
1.0000 0.0000 0.0000 1.0000 184.7321 56.7854 0 Tp
TP
/_Helvetica 8.0000 Tf
0.0000 Tc
0 Tr
0.000 0.000 0.000 1.000 k
(\(idleWhile == 0 &&\r) Tx
TO
0.000 0.000 0.000 1.000 K
0 To
1.0000 0.0000 0.0000 1.0000 162.0899 47.2013 0 Tp
TP
/_Helvetica 8.0000 Tf
0.0000 Tc
0 Tr
0.000 0.000 0.000 1.000 k
(decision != UNCOND_SUCC\) ||\r) Tx
TO
0.000 0.000 0.000 1.000 K
0 To
1.0000 0.0000 0.0000 1.0000 193.7171 37.6173 0 Tp
TP
/_Helvetica 8.0000 Tf
0.0000 Tc
0 Tr
0.000 0.000 0.000 1.000 k
(\(altAccept &&\r) Tx
TO
0.000 0.000 0.000 1.000 K
0 To
1.0000 0.0000 0.0000 1.0000 171.6739 28.1531 0 Tp
TP
/_Helvetica 8.0000 Tf
0.0000 Tc
0 Tr
0.000 0.000 0.000 1.000 k
(methodState != CONT &&\r) Tx
TO
0.000 0.000 0.000 1.000 K
0 To
1.0000 0.0000 0.0000 1.0000 186.6489 18.5691 0 Tp
TP
/_Helvetica 8.0000 Tf
0.0000 Tc
0 Tr
0.000 0.000 0.000 1.000 k
(decision == FAIL\)\r) Tx
TO
0.000 0.000 0.000 1.000 K
%%PageTrailer
gsave annotatepage grestore showpage
%%Trailer
Adobe_Illustrator_AI5 /terminate get exec
Adobe_pattern_AI5 /terminate get exec
Adobe_blend_AI5 /terminate get exec
Adobe_ColorImage_AI6 /terminate get exec
Adobe_typography_AI5 /terminate get exec
Adobe_screens_AI5 /terminate get exec
Adobe_level2_AI5 /terminate get exec
%%EOF
%%EndDocument
@endspecial 1224 4325 a(Figure)h(3:)25 b(EAP)c(Peer)f(State)h(Machine)
0 4675 y Ff(4.1)99 b(Interface)26 b(between)h(peer)f(state)f(machine)h
(and)f(lo)o(wer)g(lay)o(er)0 4931 y Fg(The)e(lo)n(wer)h(layer)f
(presents)g(messages)h(to)g(the)f(EAP)h(peer)g(state)g(machine)e(by)i
(storing)f(the)g(pack)o(et)g(in)h(eapReqData)f(and)0
5030 y(setting)c(the)f(eapReq)g(signal)h(to)f(TR)m(UE.)h(Note)f(that)h
(despite)f(the)h(name)f(of)g(the)g(signal,)h(the)g(lo)n(wer)f(layer)g
(does)g(not)g(actually)0 5130 y(inspect)i(the)g(contents)g(of)g(the)g
(EAP)g(pack)o(et)g(\(it)g(could)g(be)g(a)g(Success)h(or)f(F)o(ailure)g
(message)g(instead)g(of)g(a)g(Request\).)0 5329 y(When)h(the)f(EAP)i
(peer)e(state)h(machine)f(has)h(\002nished)g(processing)e(the)i
(message)f(it)i(sets)g(either)e(eapResp)h(or)g(eapNoResp.)0
5656 y(V)-11 b(ollbrecht,)19 b(et)i(al.)986 b(Expires)19
b(March)g(18,)h(2004)984 b([P)o(age)20 b(9])p eop
%%Page: 10 10
10 9 bop 0 100 a Fg(INTERNET)-8 b(-DRAFT)862 b(EAP)21
b(State)f(Machine)841 b(September)19 b(2003)0 390 y(If)e(it)h(sets)g
(eapResp,)g(the)f(corresponding)d(response)i(pack)o(et)h(is)h(stored)e
(in)i(eapRespData.)23 b(The)17 b(lo)n(wer)g(layer)g(is)h(responsible)0
490 y(for)23 b(actually)g(transmitting)g(this)i(message.)35
b(When)24 b(the)g(EAP)g(peer)g(state)g(machine)f(authentication)f(is)i
(complete)f(it)i(will)0 589 y(set)c(eapSuccess)f(or)g(eapF)o(ailure)f
(to)h(indicate)g(to)g(the)g(lo)n(wer)g(layer)g(that)g(the)g
(authentication)e(has)j(succeeded)e(or)g(f)o(ailed.)0
910 y Fd(4.1.1)81 b(V)-8 b(ariables)20 b(\(lo)o(wer)g(lay)o(er)g(to)g
(peer\))125 1109 y Fb(\017)41 b Fg(eapReq)19 b(\(boolean\))208
1242 y(set)k(to)f(TR)m(UE)g(in)g(lo)n(wer)g(layer)m(,)g(F)-6
b(ALSE)22 b(in)g(peer)g(state)h(machine.)29 b(Indicates)22
b(there)f(is)i(a)g(request)f(a)n(v)n(ailable)f(in)i(the)208
1342 y(lo)n(wer)c(layer)-5 b(.)125 1508 y Fb(\017)41
b Fg(eapReqData)19 b(\(EAP)h(pack)o(et\))208 1641 y(set)h(in)f(lo)n
(wer)g(layer)f(when)h(eapReq)g(is)h(set)g(to)f(TR)m(UE.)g(The)g
(contents)f(of)h(the)h(a)n(v)n(ailable)e(request.)125
1807 y Fb(\017)41 b Fg(portEnabled)17 b(\(boolean\))208
1940 y(Indicates)33 b(that)i(there)f(is)h(a)g(v)n(alid)f(port)g(to)h
(use)g(for)f(the)g(communication.)65 b(If)35 b(at)g(an)o(y)e(point)h
(the)h(port)e(is)j(not)208 2039 y(a)n(v)n(ailable,)27
b(portEnabled)e(is)i(set)h(to)f(F)-6 b(ALSE)27 b(and)f(the)h(state)h
(machine)d(transitions)i(to)g(DISABLED)g(\(or)f(B)m(A)m(CK-)208
2139 y(END)p 384 2139 25 4 v 29 w(DISABLED\).)125 2305
y Fb(\017)41 b Fg(idleWhile)20 b(\(inte)o(ger\))208 2438
y(outside)f(timer)h(used)g(to)g(indicate)g(ho)n(w)g(long)f(the)h(peer)g
(has)g(w)o(aited)h(for)e(a)i(ne)n(w)f(\(v)n(alid\))f(request.)125
2604 y Fb(\017)41 b Fg(altAccept)19 b(\(boolean\))208
2737 y(alternate)g(indication)g(of)h(success,)g(as)h(described)e(in)i
([I-D.ietf-eap-rfc2284b)o(is].)125 2903 y Fb(\017)41
b Fg(altReject)20 b(\(boolean\))208 3035 y(alternate)f(indication)g(of)
h(f)o(ailure,)f(as)i(described)e(in)h([I-D.ietf-eap-rfc2284bis].)0
3356 y Fd(4.1.2)81 b(V)-8 b(ariables)20 b(\(peer)h(to)f(lo)o(wer)g(lay)
o(er\))125 3555 y Fb(\017)41 b Fg(eapResp)20 b(\(boolean\))208
3688 y(Set)g(to)h(TR)m(UE)f(in)g(peer)g(state)h(machine,)e(F)-6
b(ALSE)20 b(in)g(lo)n(wer)g(layer)-5 b(.)25 b(Indicates)19
b(there)h(is)h(a)g(response)e(to)h(be)h(sent.)125 3854
y Fb(\017)41 b Fg(eapNoResp)19 b(\(boolean\))208 3987
y(Set)24 b(to)h(TR)m(UE)f(in)g(peer)g(state)g(machine,)g(F)-6
b(ALSE)24 b(in)h(lo)n(wer)e(layer)-5 b(.)37 b(Indicates)23
b(the)i(request)e(has)h(been)g(processed,)208 4087 y(b)n(ut)c(there)f
(is)j(no)d(response)h(to)g(send.)125 4253 y Fb(\017)41
b Fg(eapSuccess)19 b(\(boolean\))208 4386 y(Set)d(to)g(TR)m(UE)g(in)g
(peer)f(state)h(machine,)g(F)-6 b(ALSE)16 b(in)f(lo)n(wer)h(layer)-5
b(.)23 b(Indicates)15 b(the)h(Peer)g(has)g(reached)e(the)i(SUCCESS)208
4485 y(state.)125 4651 y Fb(\017)41 b Fg(eapF)o(ail)19
b(\(boolean\))208 4784 y(Set)e(to)g(TR)m(UE)g(in)f(peer)h(state)g
(machine,)f(F)-6 b(ALSE)17 b(in)g(lo)n(wer)f(layer)-5
b(.)24 b(Indicates)16 b(the)h(Peer)f(has)h(reached)f(the)h(F)-6
b(AILURE)208 4884 y(state.)125 5050 y Fb(\017)41 b Fg(eapRespData)19
b(\(EAP)i(P)o(ack)o(et\))208 5183 y(Set)d(in)g(peer)f(state)i(machine)d
(when)h(eapResp)h(is)h(set)f(to)g(TR)m(UE.)g(The)f(EAP)h(pack)o(et)g
(which)f(is)i(the)e(response)g(to)h(send.)0 5656 y(V)-11
b(ollbrecht,)19 b(et)i(al.)965 b(Expires)19 b(March)h(18,)f(2004)964
b([P)o(age)19 b(10])p eop
%%Page: 11 11
11 10 bop 0 100 a Fg(INTERNET)-8 b(-DRAFT)862 b(EAP)21
b(State)f(Machine)841 b(September)19 b(2003)125 390 y
Fb(\017)41 b Fg(eapK)n(e)o(yData)18 b(\(EAP)j(K)n(e)o(y\))208
519 y(Set)28 b(in)f(peer)g(state)h(machine)e(when)h(k)o(e)o(ying)f
(material)h(becomes)f(a)n(v)n(ailable.)46 b(Set)28 b(during)e(the)h
(METHOD)g(state.)208 619 y(Note)d(that)h(this)g(document)d(does)j(not)f
(yet)h(de\002ne)f(the)g(structure)g(of)g(the)h(type)f(\224EAP)h(K)n(e)o
(y\224.)37 b(W)-7 b(e)26 b(e)o(xpect)e(it)h(to)g(be)208
718 y(de\002ned)19 b(in)h([I-D.aboba-pppe)o(xt-k)o(e)n(y-)o(pro)o(blem)
o(].)125 876 y Fb(\017)41 b Fg(eapK)n(e)o(yA)-6 b(v)n(ailable)17
b(\(boolean\))208 1005 y(Set)j(to)f(TR)m(UE)h(in)f(the)h(SUCCESS)h
(state)f(if)g(k)o(e)o(ying)d(material)j(is)g(a)n(v)n(ailable.)k(The)19
b(actual)g(k)o(e)o(y)g(is)i(stored)e(in)g(eapK)n(e)o(y-)208
1104 y(Data.)0 1421 y Fd(4.1.3)81 b(Constants)125 1621
y Fb(\017)41 b Fg(ClientT)m(imeout)19 b(\(inte)o(ger\))208
1749 y(Con\002gurable)f(amount)h(of)h(time)g(to)g(w)o(ait)h(for)f(a)g
(v)n(alid)g(request)g(before)e(aborting.)125 1907 y Fb(\017)41
b Fg(EapT)l(unnelled)17 b(\(boolean\))208 2036 y(Indication)h(of)i
(whether)f(EAP)i(is)g(running)d(inside)i(a)g(protected)f(tunnel)g(or)h
(not.)0 2370 y Ff(4.2)99 b(Interface)26 b(between)h(peer)f(state)f
(machine)h(and)f(methods)0 2625 y Fg(IN:)20 b(eapReqData)g(\(includes)f
(reqId\))0 2824 y(OUT)l(:)h(intCheck,)g(eapRespData,)f(allo)n
(wNoti\002cations,)g(decision)0 3023 y(IN/OUT)l(:)h(methodState,)f
(\(method-speci\002c)e(state\))0 3223 y(If)j(methodState==INIT)-6
b(,)17 b(the)j(method)f(starts)i(by)f(initializing)g(its)h(o)n(wn)e
(method-speci\002c)f(state.)0 3422 y(Ne)o(xt,)23 b(the)f(method)f(must)
i(decide)f(whether)f(to)i(process)f(the)h(pack)o(et)f(or)g(silently)g
(discard)g(it.)33 b(If)22 b(the)h(pack)o(et)f(looks)g(lik)o(e)h(it)0
3521 y(w)o(asn')o(t)c(sent)g(by)g(the)g(le)o(gitimate)f(authenticator)f
(\(for)i(instance,)f(it)i(has)f(in)m(v)n(alid)f(MIC,)h(this)h(case)g
(should)e(ne)n(v)o(er)f(occur)m(,)h(and)0 3621 y(the)23
b(method)e(treats)i(MIC)g(f)o(ailures)f(as)i(non-f)o(atal\),)d(the)h
(method)f(can)i(set)g(intCheck=F)-6 b(ALSE.)21 b(In)i(this)g(case,)g
(the)g(method)0 3721 y(should)c(not)h(modify)f(an)o(y)g(other)g(v)n
(ariables.)0 3920 y(If)h(the)g(method)f(decides)h(to)g(process)g(the)g
(pack)o(et,)f(it)i(beha)n(v)o(es)f(as)h(follo)n(ws.)125
4182 y Fb(\017)41 b Fg(Updates)19 b(its)j(o)n(wn)d(method-speci\002c)f
(state.)125 4340 y Fb(\017)41 b Fg(If)19 b(the)g(method)f(has)h(deri)n
(v)o(ed)e(k)o(e)o(ying)h(material)h(it)h(w)o(ants)f(to)g(e)o(xport,)f
(stores)h(the)h(k)o(e)o(ying)d(material)i(to)g(eapK)n(e)o(yData.)125
4497 y Fb(\017)41 b Fg(Creates)20 b(a)h(response)e(pack)o(et)h(\(with)g
(the)g(same)g(identi\002er)g(as)h(the)f(request\),)f(and)h(stores)g(it)
h(to)f(eapRespData.)125 4655 y Fb(\017)41 b Fg(Sets)21
b(intCheck=TR)m(UE.)0 4917 y(Ne)o(xt,)f(the)g(method)f(must)h(update)f
(methodState)g(and)h(decision)f(according)f(to)i(the)h(follo)n(wing)d
(rules.)125 5179 y Fb(\017)41 b Fg(methodState=CONT)l(:)208
5308 y(The)20 b(method)e(al)o(w)o(ays)j(continues)e(at)i(this)g(point)f
(\(and)f(the)h(peer)g(w)o(ants)h(to)f(continue)f(it\).)26
b(The)20 b(decision)f(v)n(ariable)h(is)208 5407 y(al)o(w)o(ays)g(set)h
(to)g(F)-6 b(AIL.)0 5656 y(V)-11 b(ollbrecht,)19 b(et)i(al.)965
b(Expires)19 b(March)h(18,)f(2004)964 b([P)o(age)19 b(11])p
eop
%%Page: 12 12
12 11 bop 0 100 a Fg(INTERNET)-8 b(-DRAFT)862 b(EAP)21
b(State)f(Machine)841 b(September)19 b(2003)125 390 y
Fb(\017)41 b Fg(methodState=MA)-9 b(Y)p 862 390 25 4
v 27 w(CONT)l(:)208 523 y(At)23 b(this)g(point,)f(the)h(authenticator)d
(can)j(decide)f(either)g(to)h(continue)e(the)h(method)g(or)g(end)g(the)
g(con)m(v)o(ersation.)30 b(The)208 623 y(decision)20
b(v)n(ariable)f(tells)j(us)f(what)g(to)g(do)f(in)h(the)g(case)g(the)g
(con)m(v)o(ersation)d(ends.)26 b(If)21 b(the)g(current)e(situation)h
(does)h(not)208 722 y(satisfy)f(the)g(peer')-5 b(s)20
b(security)f(polic)o(y)g(\(that)h(is,)g(if)h(the)f(authenticator)e(no)n
(w)h(decides)h(to)g(allo)n(w)g(access,)g(the)g(peer)g(will)208
822 y(not)f(use)i(it\),)f(set)h(decision=F)-6 b(AIL.)19
b(Otherwise,)g(set)i(decision=COND)p 2298 822 V 29 w(SUCC.)125
988 y Fb(\017)41 b Fg(methodState=DONE:)208 1121 y(The)19
b(method)g(al)o(w)o(ays)i(continues)e(at)i(this)f(point,)f(\(or)h(the)g
(peer)g(sees)h(no)f(point)f(in)i(continuing)c(it\).)208
1254 y(If)23 b(either)g(\(a\))g(the)g(authenticator)e(has)j(informed)d
(us)j(that)f(it)h(will)g(not)f(allo)n(w)g(access,)i(or)e(\(b\))g(we')l
(re)f(not)h(willing)g(to)208 1353 y(talk)h(to)h(this)g(authenticator)e
(\(e.g.)37 b(our)24 b(security)g(polic)o(y)f(is)j(not)e(satis\002ed\),)
i(set)f(decision=F)-6 b(AIL.)23 b(\(Note)h(that)h(this)208
1453 y(state)f(can)g(occur)f(e)n(v)o(en)h(if)g(the)g(method)f(still)i
(has)f(additional)f(messages)h(left,)i(if)e(continuing)e(it)j(can')o(t)
e(change)g(the)208 1553 y(peer')-5 b(s)20 b(decision)f(to)h(success\).)
208 1685 y(If)e(both)g(\(a\))g(the)h(serv)o(er)f(has)h(informed)d(us)j
(that)g(it)g(will)h(allo)n(w)e(access)i(and)e(the)g(ne)o(xt)g(pack)o
(et)g(will)i(be)e(EAP)h(Success,)208 1785 y(and)g(\(b\))h(we')l(re)f
(willing)h(to)h(use)f(this)h(access,)f(set)h(decision=UNCOND)p
2336 1785 V 29 w(SUCC.)208 1918 y(Otherwise,)i(we)g(don')o(t)e(kno)n(w)
g(what)i(the)g(serv)o(er')-5 b(s)22 b(decision)g(is,)i(b)n(ut)f(are)g
(willing)g(to)f(use)h(the)g(access)h(if)f(the)f(serv)o(er)208
2017 y(allo)n(ws.)j(In)20 b(this)g(case,)h(set)g(decision=COND)p
1562 2017 V 28 w(SUCC.)0 2300 y(Finally)-5 b(,)33 b(the)d(method)g
(must)h(set)g(the)g(allo)n(wNoti\002cations)f(v)n(ariable.)55
b(If)31 b(the)g(ne)n(w)f(methodState)f(is)j(either)f(CONT)g(or)0
2399 y(MA)-9 b(Y)p 190 2399 V 30 w(CONT)j(,)20 b(and)f(the)h(method)e
(speci\002cation)h(does)h(not)f(forbid)g(the)g(use)h(of)g
(Noti\002cation)f(messages,)h(set)g(allo)n(wNoti\002-)0
2499 y(cations=TR)m(UE.)f(Otherwise,)h(set)h(allo)n(wNoti\002cations=F)
-6 b(ALSE.)0 2836 y Ff(4.3)99 b(P)n(eer)26 b(state)f(machine)g(local)g
(v)o(ariables)0 3092 y Fd(4.3.1)81 b(Long-term)20 b(\(maintained)f
(between)i(pack)o(ets\))125 3291 y Fb(\017)41 b Fg(selectMethod)19
b(\(EAP)h(T)-7 b(ype\))208 3424 y(Set)20 b(in)h(GET)p
587 3424 V 29 w(METHOD)f(state.)26 b(The)19 b(method)g(the)h(peer)g
(belie)n(v)o(es)g(to)g(be)g(currently)e(\224in)j(progress\224)125
3590 y Fb(\017)41 b Fg(methodState)18 b(\(enumeration\))208
3722 y(As)j(described)d(abo)o(v)o(e.)125 3889 y Fb(\017)41
b Fg(lastId)20 b(\(inte)o(ger\))208 4021 y(Set)g(in)h(SEND)p
642 4021 V 29 w(RESPONSE)g(state.)26 b(The)20 b(EAP)g(identi\002er)g(v)
n(alue)g(of)f(the)i(last)g(request.)125 4187 y Fb(\017)41
b Fg(lastRespData)20 b(\(EAP)h(pack)o(et\))208 4320 y(Set)f(in)h(SEND)p
642 4320 V 29 w(RESPONSE)g(state.)26 b(The)20 b(EAP)g(pack)o(et)g(last)
h(sent)g(from)e(the)h(peer)-5 b(.)125 4486 y Fb(\017)41
b Fg(decision)19 b(\(enumeration\))208 4619 y(As)i(described)d(abo)o(v)
o(e)0 4901 y(NO)m(TE:)25 b(EAP)h(type)f(can)g(be)h(normal)e(type)h
(\(0..253,255\),)d(or)k(an)f(e)o(xtended)f(type)h(consisting)f(of)i
(type)f(254,)g(V)-9 b(endor)n(-Id,)0 5001 y(and)20 b(V)-9
b(endor)n(-T)i(ype.)0 5656 y(V)c(ollbrecht,)19 b(et)i(al.)965
b(Expires)19 b(March)h(18,)f(2004)964 b([P)o(age)19 b(12])p
eop
%%Page: 13 13
13 12 bop 0 100 a Fg(INTERNET)-8 b(-DRAFT)862 b(EAP)21
b(State)f(Machine)841 b(September)19 b(2003)0 390 y Fd(4.3.2)81
b(Short-term)19 b(\(not)h(maintained)g(between)g(pack)o(ets\))125
589 y Fb(\017)41 b Fg(rxReq)19 b(\(boolean\))208 722
y(Set)h(in)h(RECEIVED)f(state.)26 b(Indicates)19 b(the)h(current)f
(recei)n(v)o(ed)g(pack)o(et)g(is)j(an)e(EAP)g(request.)125
888 y Fb(\017)41 b Fg(rxSuccess)19 b(\(boolean\))208
1021 y(Set)h(in)h(RECEIVED)f(state.)26 b(Indicates)19
b(the)h(current)f(recei)n(v)o(ed)g(pack)o(et)g(is)j(an)e(EAP)g
(Success.)125 1187 y Fb(\017)41 b Fg(rxF)o(ailure)18
b(\(boolean\))208 1320 y(Set)i(in)h(RECEIVED)f(state.)26
b(Indicates)19 b(the)h(current)f(recei)n(v)o(ed)g(pack)o(et)g(is)j(an)e
(EAP)g(F)o(ailure.)125 1486 y Fb(\017)41 b Fg(reqId)18
b(\(inte)o(ger\))208 1619 y(Set)i(in)h(RECEIVED)f(state.)26
b(The)19 b(identi\002er)h(v)n(alue)g(associated)g(with)g(the)g(current)
f(EAP)i(request.)125 1785 y Fb(\017)41 b Fg(reqMethod)18
b(\(EAP)i(type\))208 1918 y(Set)g(in)h(RECEIVED)f(state.)26
b(The)19 b(method)g(type)h(of)g(the)g(current)f(EAP)i(request)125
2084 y Fb(\017)41 b Fg(intCheck)19 b(\(boolean\))208
2217 y(Set)h(in)h(METHOD)f(state.)25 b(Indicates)20 b(whether)f(the)h
(method)f(has)h(decided)f(to)i(accept)e(the)i(current)e(pack)o(et.)0
2554 y Ff(4.4)99 b(P)n(eer)26 b(state)f(machine)g(pr)n(ocedur)n(es)125
2753 y Fb(\017)41 b Fg(parseEapReq\(\))208 2886 y(Determine)21
b(the)h(code,)f(identi\002er)h(v)n(alue,)f(and)h(type)f(of)h(the)g
(current)f(request.)30 b(Also)22 b(checks)g(that)g(the)g(length)f
(\002eld)208 2986 y(is)g(not)f(longer)e(than)i(the)g(recei)n(v)o(ed)f
(pack)o(et.)125 3152 y Fb(\017)41 b Fg(b)n(uildNotify\(\))208
3285 y(Create)20 b(the)g(appropriate)e(noti\002cation)h(response.)125
3451 y Fb(\017)41 b Fg(b)n(uildIdentity\(\))208 3583
y(Create)20 b(the)g(appropriate)e(identity)i(response.)125
3749 y Fb(\017)41 b Fg(m.inte)o(grityCheck\(\))208 3882
y(Method-speci\002c)18 b(procedure)g(to)i(test)h(for)f(the)g(v)n
(alidity)f(of)h(a)h(message.)125 4048 y Fb(\017)41 b
Fg(m.process\(\))208 4181 y(Method)19 b(procedure)e(to)k(parse)f(and)f
(process)h(a)h(request)e(for)h(that)g(method.)125 4347
y Fb(\017)41 b Fg(m.getK)n(e)o(y\(\))208 4480 y(Method)19
b(procedure)e(to)k(obtain)e(k)o(e)o(y)g(material)h(for)g(use)g(by)g
(EAP)h(or)f(lo)n(wer)f(layers.)0 4817 y Ff(4.5)99 b(P)n(eer)26
b(state)f(machine)g(states)125 5017 y Fb(\017)41 b Fg(DISABLED)208
5149 y(This)28 b(state)g(is)h(reached)e(an)o(ytime)f(service)i(from)f
(the)g(lo)n(wer)h(layer)f(is)i(interrupted)d(or)h(una)n(v)n(ailable.)47
b(Immediate)208 5249 y(transition)19 b(to)h(INITIALIZE)e(occurs)i(when)
f(the)i(port)e(becomes)g(enabled.)0 5656 y(V)-11 b(ollbrecht,)19
b(et)i(al.)965 b(Expires)19 b(March)h(18,)f(2004)964
b([P)o(age)19 b(13])p eop
%%Page: 14 14
14 13 bop 0 100 a Fg(INTERNET)-8 b(-DRAFT)862 b(EAP)21
b(State)f(Machine)841 b(September)19 b(2003)125 390 y
Fb(\017)41 b Fg(INITIALIZE)208 523 y(Initializes)20 b(v)n(ariables)f
(when)h(the)g(state)h(machine)e(is)i(acti)n(v)n(ated.)125
689 y Fb(\017)41 b Fg(IDLE)208 822 y(The)19 b(state)i(machine)e(spends)
h(most)g(of)g(its)h(time)g(here,)e(w)o(aiting)h(for)g(something)e(to)j
(happen.)125 988 y Fb(\017)41 b Fg(RECEIVED)208 1121
y(This)20 b(state)h(is)g(entered)e(when)h(an)g(EAP)g(pack)o(et)g(is)h
(recei)n(v)o(ed:)j(the)c(pack)o(et)g(header)f(is)i(parsed)e(here.)125
1287 y Fb(\017)41 b Fg(GET)p 375 1287 25 4 v 29 w(METHOD)208
1420 y(This)21 b(state)i(is)f(entered)f(when)g(a)h(request)f(for)g(a)h
(ne)n(w)f(type)g(comes)h(in:)28 b(either)21 b(the)h(correct)e(method)h
(is)h(started,)g(or)f(a)208 1519 y(Nak)f(response)f(is)i(b)n(uilt.)125
1685 y Fb(\017)41 b Fg(METHOD)208 1818 y(The)18 b(method)f(processing)g
(happens)g(here:)24 b(the)18 b(request)g(from)g(the)g(authenticator)f
(is)i(processed,)f(and)g(an)g(appropri-)208 1918 y(ate)i(response)f
(pack)o(et)h(is)h(b)n(uilt.)125 2084 y Fb(\017)41 b Fg(SEND)p
430 2084 V 29 w(RESPONSE)208 2217 y(This)20 b(state)h(signals)f(the)g
(lo)n(wer)g(layer)g(that)g(a)h(response)e(pack)o(et)h(is)h(ready)e(to)h
(be)g(sent.)125 2383 y Fb(\017)41 b Fg(DISCARD)208 2516
y(This)19 b(state)i(signals)f(the)f(lo)n(wer)h(layer)f(that)g(the)h
(request)f(w)o(as)i(discarded,)d(and)h(no)g(response)g(pack)o(et)g
(will)h(be)g(sent)g(at)208 2615 y(this)g(time.)125 2781
y Fb(\017)41 b Fg(IDENTITY)-8 b(:)208 2914 y(Handles)19
b(requests)h(for)g(Identity)f(method,)f(and)i(b)n(uilds)g(a)h
(response.)125 3080 y Fb(\017)41 b Fg(NO)m(TIFICA)-9
b(TION)208 3213 y(Handles)19 b(requests)h(for)g(Noti\002cation)f
(method,)g(and)g(b)n(uilds)h(a)h(response.)125 3379 y
Fb(\017)41 b Fg(RETRANSMIT)208 3512 y(Retransmits)20
b(the)g(pre)n(vious)f(response)g(pack)o(et.)125 3678
y Fb(\017)41 b Fg(SUCCESS)208 3811 y(A)20 b(\002nal)h(state)g
(indicating)d(success.)125 3977 y Fb(\017)41 b Fg(F)-6
b(AILURE)208 4110 y(A)20 b(\002nal)h(state)g(indicating)d(f)o(ailure.)0
4489 y Fe(5)119 b(Standalone)32 b(A)-6 b(uthenticator)31
b(State)e(Machine)0 4775 y Fg(The)24 b(follo)n(wing)f(is)i(a)f(diagram)
f(of)h(the)h(\224Standalone\224)d(EAP)j(Authenticator)d(state)j
(machine.)36 b(This)24 b(diagram)f(should)h(be)0 4874
y(used)19 b(for)g(those)h(interested)f(in)g(a)h(self-contained,)e(or)h
(non-passthrough,)d(authenticator)-5 b(.)23 b(Included)17
b(is)k(an)f(e)o(xplanation)d(of)0 4974 y(the)j(primiti)n(v)o(es)f(and)h
(procedures)e(referenced)g(in)i(the)h(diagram,)d(as)j(well)g(as)g(a)f
(clari\002cation)g(of)g(notation.)0 5173 y(\(see)g
(draft-ietf-eap-statemachine-00.p)o(s)15 b(for)20 b(missing)g(diagram)f
(if)h(reading)f([.txt])h(v)o(ersion\))0 5656 y(V)-11
b(ollbrecht,)19 b(et)i(al.)965 b(Expires)19 b(March)h(18,)f(2004)964
b([P)o(age)19 b(14])p eop
%%Page: 15 15
15 14 bop 0 100 a Fg(INTERNET)-8 b(-DRAFT)862 b(EAP)21
b(State)f(Machine)841 b(September)19 b(2003)18 3729 y
@beginspecial 0 @llx 0 @lly 600 @urx 576 @ury 4276 @rwi
@setspecial
%%BeginDocument: ../../../diagrams/20030912_standalone_authenticator.eps
%!PS-Adobe-3.0 EPSF-3.0
%%Creator: ImageMark Software Labs
%%For: () ()
%%Title: C:\USERS\IETF\EAP\State machines\AuthenticatorSplit\20030912_standalone_authenticator.eps
%%CreationDate: () ()
%%BoundingBox: 0 0 600 576
%%DocumentProcessColors: Black
%%ColorUsage:Color
%%DocumentFonts: Helvetica
%%+Helvetica-Bold
%%+Helvetica-Oblique
%%+Helvetica-BoldOblique
%%+Times-Roman
%%+Times-Bold
%%+Times-Italic
%%+Times-BoldItalic
%%+Courier
%%+Courier-Bold
%%+Courier-Oblique
%%+Courier-BoldOblique
%%+Symbol
%%DocumentSuppliedResources: procset Adobe_level2_AI5 1.2 0
%%+ procset Adobe_screens_AI5 1.0 0
%%+ procset Adobe_typography_AI5 1.0 0
%%+ procset Adobe_ColorImage_AI6 1.1 0
%%+ procset Adobe_blend_AI5 1.0 0
%%+ procset Adobe_pattern_AI5 1.0 0
%%+ procset Adobe_Illustrator_AI5 1.0 0
%AI5_FileFormat 3.0
%AI3_ColorUsage: Color
%AI3_TemplateBox: 0 0 600 576
%AI3_TileBox: 0 0 600 576
%AI3_DocumentPreview: None
%%Template:
%%PageOrigin:0.0000 0.0000
%AI7_GridSettings: 72 8 72 8 1 0 0.8 0.8 0.8 0.9 0.9 0.9
%%EndComments
%%BeginProlog
%%BeginResource: procset Adobe_level2_AI5 1.2 0
%%Title: (Adobe Illustrator (R) Version 5.0 Level 2 Emulation)
%%Version: 1.2 0
%%CreationDate: (04/10/93) ()
%%Copyright: ((C) 1987-1996 Adobe Systems Incorporated All Rights Reserved)
userdict /Adobe_level2_AI5 25 dict dup begin
put
/packedarray where not
{
userdict begin
/packedarray
{
array astore readonly
} bind def
/setpacking /pop load def
/currentpacking false def
end
0
} if
pop
userdict /defaultpacking currentpacking put true setpacking
/initialize
{
Adobe_level2_AI5 begin
} bind def
/terminate
{
currentdict Adobe_level2_AI5 eq
{
end
} if
} bind def
mark
/setcustomcolor where not
{
/findcmykcustomcolor
{
0
6 packedarray
} bind def
/findrgbcustomcolor
{
1
5 packedarray
} bind def
/setcustomcolor
{
exch
aload pop
0 eq
{
pop
4
{
4 index mul
4 1 roll
} repeat
5 -1 roll pop
setcmykcolor
}
{
pop
3
{
1 exch sub
3 index mul
1 exch sub
3 1 roll
} repeat
4 -1 roll pop
setrgbcolor
} ifelse
}
def
} if
/gt38? mark {version cvr cvx exec} stopped {cleartomark true} {38 gt exch pop} ifelse def
userdict /deviceDPI 72 0 matrix defaultmatrix dtransform dup mul exch dup mul add sqrt put
userdict /level2?
systemdict /languagelevel known dup
{
pop systemdict /languagelevel get 2 ge
} if
put
/level2ScreenFreq
{
begin
60
HalftoneType 1 eq
{
pop Frequency
} if
HalftoneType 2 eq
{
pop GrayFrequency
} if
HalftoneType 5 eq
{
pop Default level2ScreenFreq
} if
end
} bind def
userdict /currentScreenFreq
level2? {currenthalftone level2ScreenFreq} {currentscreen pop pop} ifelse put
level2? not
{
/setcmykcolor where not
{
/setcmykcolor
{
exch .11 mul add exch .59 mul add exch .3 mul add
1 exch sub setgray
} def
} if
/currentcmykcolor where not
{
/currentcmykcolor
{
0 0 0 1 currentgray sub
} def
} if
/setoverprint where not
{
/setoverprint /pop load def
} if
/selectfont where not
{
/selectfont
{
exch findfont exch
dup type /arraytype eq
{
makefont
}
{
scalefont
} ifelse
setfont
} bind def
} if
/cshow where not
{
/cshow
{
[
0 0 5 -1 roll aload pop
] cvx bind forall
} bind def
} if
} if
cleartomark
/anyColor?
{
add add add 0 ne
} bind def
/testColor
{
gsave
setcmykcolor currentcmykcolor
grestore
} bind def
/testCMYKColorThrough
{
testColor anyColor?
} bind def
userdict /composite?
level2?
{
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
composite? not
{
userdict begin
gsave
/cyan? 1 0 0 0 testCMYKColorThrough def
/magenta? 0 1 0 0 testCMYKColorThrough def
/yellow? 0 0 1 0 testCMYKColorThrough def
/black? 0 0 0 1 testCMYKColorThrough def
grestore
/isCMYKSep? cyan? magenta? yellow? black? or or or def
/customColor? isCMYKSep? not def
end
} if
end defaultpacking setpacking
%%EndResource
%%BeginResource: procset Adobe_typography_AI5 1.0 1
%%Title: (Typography Operators)
%%Version: 1.0
%%CreationDate:(03/26/93) ()
%%Copyright: ((C) 1987-1993 Adobe Systems Incorporated All Rights Reserved)
currentpacking true setpacking
userdict /Adobe_typography_AI5 54 dict dup begin
put
/initialize
{
begin
begin
Adobe_typography_AI5 begin
Adobe_typography_AI5
{
dup xcheck
{
bind
} if
pop pop
} forall
end
end
end
Adobe_typography_AI5 begin
} def
/terminate
{
currentdict Adobe_typography_AI5 eq
{
end
} if
} def
/modifyEncoding
{
/_tempEncode exch ddef
/_pntr 0 ddef
{
counttomark -1 roll
dup type dup /marktype eq
{
pop pop exit
}
{
/nametype eq
{
_tempEncode /_pntr dup load dup 3 1 roll 1 add ddef 3 -1 roll
put
}
{
/_pntr exch ddef
} ifelse
} ifelse
} loop
_tempEncode
} def
/TE
{
StandardEncoding 256 array copy modifyEncoding
/_nativeEncoding exch def
} def
%
/TZ
{
dup type /arraytype eq
{
/_wv exch def
}
{
/_wv 0 def
} ifelse
/_useNativeEncoding exch def
pop pop
findfont _wv type /arraytype eq
{
_wv makeblendedfont
} if
dup length 2 add dict
begin
mark exch
{
1 index /FID ne
{
def
} if
cleartomark mark
} forall
pop
/FontName exch def
counttomark 0 eq
{
1 _useNativeEncoding eq
{
/Encoding _nativeEncoding def
} if
cleartomark
}
{
/Encoding load 256 array copy
modifyEncoding /Encoding exch def
} ifelse
FontName currentdict
end
definefont pop
} def
/tr
{
_ax _ay 3 2 roll
} def
/trj
{
_cx _cy _sp _ax _ay 6 5 roll
} def
/a0
{
/Tx
{
dup
currentpoint 3 2 roll
tr _psf
newpath moveto
tr _ctm _pss
} ddef
/Tj
{
dup
currentpoint 3 2 roll
trj _pjsf
newpath moveto
trj _ctm _pjss
} ddef
} def
/a1
{
/Tx
{
dup currentpoint 4 2 roll gsave
dup currentpoint 3 2 roll
tr _psf
newpath moveto
tr _ctm _pss
grestore 3 1 roll moveto tr sp
} ddef
/Tj
{
dup currentpoint 4 2 roll gsave
dup currentpoint 3 2 roll
trj _pjsf
newpath moveto
trj _ctm _pjss
grestore 3 1 roll moveto tr jsp
} ddef
} def
/e0
{
/Tx
{
tr _psf
} ddef
/Tj
{
trj _pjsf
} ddef
} def
/e1
{
/Tx
{
dup currentpoint 4 2 roll gsave
tr _psf
grestore 3 1 roll moveto tr sp
} ddef
/Tj
{
dup currentpoint 4 2 roll gsave
trj _pjsf
grestore 3 1 roll moveto tr jsp
} ddef
} def
/i0
{
/Tx
{
tr sp
} ddef
/Tj
{
trj jsp
} ddef
} def
/i1
{
W N
} def
/o0
{
/Tx
{
tr sw rmoveto
} ddef
/Tj
{
trj swj rmoveto
} ddef
} def
/r0
{
/Tx
{
tr _ctm _pss
} ddef
/Tj
{
trj _ctm _pjss
} ddef
} def
/r1
{
/Tx
{
dup currentpoint 4 2 roll currentpoint gsave newpath moveto
tr _ctm _pss
grestore 3 1 roll moveto tr sp
} ddef
/Tj
{
dup currentpoint 4 2 roll currentpoint gsave newpath moveto
trj _ctm _pjss
grestore 3 1 roll moveto tr jsp
} ddef
} def
/To
{
pop _ctm currentmatrix pop
} def
/TO
{
iTe _ctm setmatrix newpath
} def
/Tp
{
pop _tm astore pop _ctm setmatrix
_tDict begin
/W
{
} def
/h
{
} def
} def
/TP
{
end
iTm 0 0 moveto
} def
/Tr
{
_render 3 le
{
currentpoint newpath moveto
} if
dup 8 eq
{
pop 0
}
{
dup 9 eq
{
pop 1
} if
} ifelse
dup /_render exch ddef
_renderStart exch get load exec
} def
/iTm
{
_ctm setmatrix _tm concat 0 _rise translate _hs 1 scale
} def
/Tm
{
_tm astore pop iTm 0 0 moveto
} def
/Td
{
_mtx translate _tm _tm concatmatrix pop iTm 0 0 moveto
} def
/iTe
{
_render -1 eq
{
}
{
_renderEnd _render get dup null ne
{
load exec
}
{
pop
} ifelse
} ifelse
/_render -1 ddef
} def
/Ta
{
pop
} def
/Tf
{
dup 1000 div /_fScl exch ddef
%
selectfont
} def
/Tl
{
pop
0 exch _leading astore pop
} def
/Tt
{
pop
} def
/TW
{
3 npop
} def
/Tw
{
/_cx exch ddef
} def
/TC
{
3 npop
} def
/Tc
{
/_ax exch ddef
} def
/Ts
{
/_rise exch ddef
currentpoint
iTm
moveto
} def
/Ti
{
3 npop
} def
/Tz
{
100 div /_hs exch ddef
iTm
} def
/TA
{
pop
} def
/Tq
{
pop
} def
/Th
{
pop pop pop pop pop
} def
/TX
{
pop
} def
/Tk
{
exch pop _fScl mul neg 0 rmoveto
} def
/TK
{
2 npop
} def
/T*
{
_leading aload pop neg Td
} def
/T*-
{
_leading aload pop Td
} def
/T-
{
_hyphen Tx
} def
/T+
{
} def
/TR
{
_ctm currentmatrix pop
_tm astore pop
iTm 0 0 moveto
} def
/TS
{
currentfont 3 1 roll
/_Symbol_ _fScl 1000 mul selectfont
0 eq
{
Tx
}
{
Tj
} ifelse
setfont
} def
/Xb
{
pop pop
} def
/Tb /Xb load def
/Xe
{
pop pop pop pop
} def
/Te /Xe load def
/XB
{
} def
/TB /XB load def
currentdict readonly pop
end
setpacking
%%EndResource
%%BeginResource: procset Adobe_screens_AI5 1.2 0
%%Title: (Adobe Illustrator (R) Version 5.0 Custom Halftone Screens ProcSet)
%%Version: 1.2 0
%%CreationDate: (03/24/93) ()
%%Copyright: ((C) 1987-1996 Adobe Systems Incorporated All Rights Reserved)
userdict /defaultpacking currentpacking put true setpacking
systemdict begin
userdict /Adobe_screens_AI5 15 dict dup begin
put
/initialize
{
Adobe_screens_AI5 begin
/screenid
deviceDPI 600 gt composite? not or
{
-1
}
{
deviceDPI currentScreenFreq
dup dup 60 ge exch 150 le and deviceDPI 300 le and
{
pop 60
} if
div 1.41421 div 0.5 add cvi
} ifelse
def
2 screenid eq
{
/customsize 16 def
/customdata /customdata2 def
setcustomscreen
} if
3 screenid eq
{
/customsize 24 def
/customdata /customdata3 def
setcustomscreen
} if
4 screenid eq
{
/customsize 16 def
/customdata /customdata4 def
setcustomscreen
} if
5 screenid eq
{
/customsize 20 def
/customdata /customdata5 def
setcustomscreen
} if
6 screenid eq
{
/customsize 24 def
/customdata /customdata6 def
setcustomscreen
} if
7 screenid eq
{
/customsize 28 def
/customdata /customdata7 def
setcustomscreen
} if
8 screenid eq
{
/customsize 16 def
/customdata /customdata8 def
setcustomscreen
} if
} def
/terminate
{
currentdict Adobe_screens_AI5 eq
{
end
} if
} def
/setcustomscreen
{
deviceDPI customsize div 0
{
1 add 2 div customsize mul cvi exch
1 add 2 div customsize mul cvi exch
customsize mul add
customdata load exch get 256 div
} setscreen
} def
/customdata2 28 28 mul string def
currentfile customdata2 readhexstring
4180E8694988E2634382EA6B4B8AE061A01939C8A81737C2A21B3BCAAA1636C0
F8795998F6775796FA7B5B9AF57656952ED8B80727D6B60F2FDABA0626D5B50E
4E8DE6674786EE6F4F8EE5664685ED6EAD1434C6A61F3FCEAE1232C5A51E3ECD
F3745493FE7F5F9EF1725291FD7E5E9D24D3B30C2CDEBE0222D1B10A2ADDBD04
4483EB6C4C8BE1624281E96A4A89E364A31C3CCBAB1535C1A11A3AC9A91838C3
FB7C5C9BF4755594F97A5A99F778589730DBBB0525D4B40D2DD9B90828D7B710
508FE4654584EC6D4D8CE7684887EF70AF1131C4A41D3DCCAC1333C7A72040CF
F0715190FC7D5D9CF2735392FF80609F21D0B00929DCBC0323D2B20B2BDFBF01
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000
pop pop
/customdata3 28 28 mul string def
currentfile customdata3 readhexstring
011DC7F5E73D0421CBF3E43A021EC8F6E83E0522CCF2E43A2B648BC4A0762F68
8AC39E732C658CC5A177306989C29D72D5B6521A6192D9B55219608FD6B6531B
6193DAB451185F8FFCEE440C28D2FCED430B27D1FDEF450C29D3FBEC420A26D0
BEA77D366F83BCA77C356E87BFA87E377082BBA67B346D86145B99E0AE4A1259
98DFB14E155C9AE1AD4A115897DEB04D0623CDF4E63C0420CAF8EA400723CDF4
E53B031FC9F7E93F316988C19F752E678EC6A378326A88C09F742D668DC6A278
DBB350175E91D8B8551C6395DCB24F165D90D7B7541C6294FAEC420925CFFFF1
470E2BD5F9EB410824CEFEF0460D2AD4BAA57A336C85BEAA80397180B9A47933
6B84BDA97F387181105797DDAF4C145A9CE3AB480F5696DDAE4B13599BE2AC49
021EC8F6E83E0522CCF2E43A011DC7F5E73D0421CBF3E43A2C658CC5A1773069
89C29D722B648BC4A0762F688AC39E73D6B6531B6193DAB451185F8FD5B6521A
6192D9B55219608FFDEF450C29D3FBEC420A26D0FCEE440C28D2FCED430B27D1
BFA87E377082BBA67B346D86BEA77D366F83BCA77C356E87155C9AE1AD4A1158
97DEB04D145B99E0AE4A125998DFB14E0723CDF4E53B031FC9F7E93F0623CDF4
E63C0420CAF8EA40326A88C09F742D668DC6A278316988C19F752E678EC6A378
DCB24F165D90D7B7541C6294DBB350175E91D8B8551C6395F9EB410824CEFEF0
460D2AD4FAEC420925CFFFF1470E2BD5B9A479336B84BDA97F387181BAA57A33
6C85BEAA803971800F5696DDAE4B13599BE2AC49105797DDAF4C145A9CE3AB48
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000
pop pop
/customdata4 28 28 mul string def
currentfile customdata4 readhexstring
1139B8E0FAD2531B133BBAE2F8D05119417180A6AE9A7B4B437382A5AD987949
C08867272F6F92CAC28A66262E6E90C8E8DE5F070F37B6F2EADD5E060E36B5F0
FED6571F173FBEE6FDD5561E163EBDE5AB9E7F4F477786A1A99D7E4E467685A3
2C6C96CEC68E62222A6A95CDC58D64240C34B3F6EED95A020A32B1F5EDDB5C04
143CBBE3F9D1521A123AB9E1FBD3541C447483A4AC997A4A427281A7AF9B7C4C
C38B65252D6D91C9C1896828307093CBEBDC5D050D35B4F1E9DF60081038B7F3
FCD4551D153DBCE4FFD758201840BFE7A89C7D4D457584A2AA9F8050487887A0
296994CCC48C63232B6B97CFC78F61210931B0F4ECDA5B030B33B2F7EFD85901
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000
pop pop
/customdata5 28 28 mul string def
currentfile customdata5 readhexstring
010B34C3EBFCF7CE3F16020C35C4EDFBF6CD3E15102552A4D6EADDB5632B1126
54A5D5EADCB3622A3958768499C19E8C7C5E3A59778498C19D8B7B5DC8A99370
47334C7587AFC9AA936F46324B7485AEF1E5BC6B1E0A2351A3D8F2E4BC6A1E09
2351A2D7FFF9D14219050F38C6EFFEF9D04118040E37C6EFE8E0B7662D142856
A8D3E7DFB7652D132856A7D4BF9C8E7F603D5B7A8195BE9A8E7E603C5B798297
314A7389B2CCAD906D442F497289B1CBAC926E4508214FA1DBF4E2B9671B0720
4EA0DAF4E3BA691C030D36C5EDFBF6CD3F16010C34C3ECFDF8CF4017122654A6
D4E9DDB4622A112553A5D6EBDEB5642C3B59788397C09C8B7C5D3A58778599C2
9E8C7D5FCAAB926E46314B7486AFC8AA947048334D7587B0F2E4BB691D082250
A1D8F1E6BD6B1F0A2452A3D9FDF8CF4118030E36C5EEFFFAD1421A050F38C7F0
E6DFB6642C132755A7D3E8E1B8662E152957A8D2BE9A8D7E5F3B5A798296BF9B
8F80613D5C7B80952F487188B1CAAC916D443049728AB3CCAE906C43061F4D9F
DAF3E2BA681C07214FA0DBF5E1B8671A00000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000
pop pop
/customdata6 28 28 mul string def
currentfile customdata6 readhexstring
081A44B6E0F2FDECC150250C091B45B6E1F3FCEBC04F240C1D336199C7D8DCD3
A56C37221E33619AC8D7DBD2A46B36214864798091AEB1958C7E694C49657A81
90ADB0948B7D684BB99D8475593C405C7888A1BEBA9E8574583B3F5B7888A0BD
E4CBAA712E1215326098CFE8E4CCA9712D1114315F97CEE7F5F1C6552B040719
43B5DFFAF6F0C6542A03061842B4DEF9FFEDC352270E0B1C47B8E3F4FEECC251
260D0A1C46B7E2F4DAD5A76E39232035639CCAD5D9D4A66D38231F34629BC9D6
AF938E806A4E4A677C838FABAE928D7F694D4A667B828FAC3E5A778AA3BFBC9F
8772563A3D597689A2BEBB9F8673573A14305E97D1EAE6CDA76F2B0F132F5D96
D0E9E5CDA8702C10051742B3DDFCF8EEC4522801041641B2DDFBF7EFC5532902
091B45B6E1F3FCEBC04F240C081A44B6E0F2FDECC150250C1E33619AC8D7DBD2
A46B36211D336199C7D8DCD3A56C372249657A8190ADB0948B7D684B48647980
91AEB1958C7E694CBA9E8574583B3F5B7888A0BDB99D8475593C405C7888A1BE
E4CCA9712D1114315F97CEE7E4CBAA712E1215326098CFE8F6F0C6542A030618
42B4DEF9F5F1C6552B04071943B5DFFAFEECC251260D0A1C46B7E2F4FFEDC352
270E0B1C47B8E3F4D9D4A66D38231F34629BC9D6DAD5A76E39232035639CCAD5
AE928D7F694D4A667B828FACAF938E806A4E4A677C838FAB3D597689A2BEBB9F
8673573A3E5A778AA3BFBC9F8772563A132F5D96D0E9E5CDA8702C1014305E97
D1EAE6CDA76F2B0F041641B2DDFBF7EFC5532902051742B3DDFCF8EEC4522801
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000
pop pop
/customdata7 28 28 mul string def
currentfile customdata7 readhexstring
01061B44B7E1F5FEFBE6BD4A210C01071B45B8E1F6FDFBE6BC4A200B09132A54
A7D1EAF5EED9B05D331609142B55A8D2EAF4EED9AF5C32161D2D3D6993C1CBE0
CEC59B7140301E2E3D6A93C0CADFCDC49A713F3047576C7B828DA2B6A48F867E
6F5A48576C7C828CA1B6A38F867E6E59BAAA958A78634E4451667A8498ADBAAB
968977624E4350657A8398ADE3D4C99F7539251A273C6892C2D7E4D4C89E7539
241A273B6891C1D6F8F2DDB460371005122A53A7D0ECF9F2DDB360360F051229
53A6D0EBFFFDE8BE4C220D03081D46B9E3F7FFFCE7BD4B210D02071C46B8E2F7
F3F0DBB15E34180B152C56A9D3E8F3EFDAB05D34170A142C55A9D2E9DFCCC69C
7341321F2F3F6B94BFC9DECCC59C7241311F2E3E6A94BFCAB5A38E8780705B49
596D7D808BA0B4A28D877F6F5B48586D7C818BA043506479859AAFBCAC978876
614C424F64798499AEBBAB968977624D19263B6791C3D8E5D6C79D7337231825
3A6690C3D7E5D5C79E74382304112952A5CFEDFAF0DBB25E350E03102851A5CE
ECF9F1DCB25F360E01071B45B8E1F6FDFBE6BC4A200B01061B44B7E1F5FEFBE6
BD4A210C09142B55A8D2EAF4EED9AF5C321609132A54A7D1EAF5EED9B05D3316
1E2E3D6A93C0CADFCDC49A713F301D2D3D6993C1CBE0CEC59B71403048576C7C
828CA1B6A38F867E6E5947576C7B828DA2B6A48F867E6F5ABAAB968977624E43
50657A8398ADBAAA958A78634E4451667A8498ADE4D4C89E7539241A273B6891
C1D6E3D4C99F7539251A273C6892C2D7F9F2DDB360360F05122953A6D0EBF8F2
DDB460371005122A53A7D0ECFFFCE7BD4B210D02071C46B8E2F7FFFDE8BE4C22
0D03081D46B9E3F7F3EFDAB05D34170A142C55A9D2E9F3F0DBB15E34180B152C
56A9D3E8DECCC59C7241311F2E3E6A94BFCADFCCC69C7341321F2F3F6B94BFC9
B4A28D877F6F5B48586D7C818BA0B5A38E8780705B49596D7D808BA0424F6479
8499AEBBAB968977624D43506479859AAFBCAC978876614C18253A6690C3D7E5
D5C79E74382319263B6791C3D8E5D6C79D73372303102851A5CEECF9F1DCB25F
360E04112952A5CFEDFAF0DBB25E350E
pop pop
/customdata8 28 28 mul string def
currentfile customdata8 readhexstring
050F2747B6D6EEF8FEF4DCBC4D2D1507111D375F9EC6E0E9EBE6CCA4653D1F13
2939556F8EA8C1D1D3C3AE9475573B2B4961717D808999B1B39B8B867F73634B
B8A090827A6A5A42445C6C7C8492A2BAD8C8AA97785232222434546E8DACCADA
F0E2CFA768401A0A0C1C365E9DC5E4F2FAF7DFBF50301802040E2646B5D5EDFC
FFF5DDBD4E2E160806102848B7D7EFF9EAE7CDA5663E2014121E38609FC7E1E8
D2C2AF9576583C2C2A3A56708FA9C0D0B29A8A878074644C4A62727E818898B0
435B6B7B8593A3BBB9A19183796959412333536D8CADCBDBD9C9AB9677513121
0B1B355D9CC4E5F3F1E3CEA6673F1909030D2545B4D4ECFDFBF6DEBE4F2F1701
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000
pop pop
end
end
defaultpacking setpacking
%%EndResource
%%BeginResource: procset AGM_Gradient_Sep 1.0 0
%%Title: (AGM Gradient Procset)
%%Version: 1.0 0
%%CreationDate: (4/26/96) ()
%%Copyright: ((C) 1987-1996 Adobe Systems Incorporated All Rights Reserved)
userdict /defaultpacking currentpacking put true setpacking
userdict /AGM_Gradient_Sep 5 dict dup begin put
/AGM_Gradient_Sep_private 100 dict def
/initialize{
AGM_Gradient_Sep begin
AGM_Gradient_Sep_private begin
_compositeJob{
initializeSinglePassSeps
}{
initializeMultiPassSeps
}ifelse
initializeSeps
AGM_Gradient_private begin
/_fillSD newSpotDict def
/_rampSD newSpotDict def
/_nCustomColorSD nd
end
AGM_Gradient_Sep_private
{
dup xcheck 1 index type /arraytype eq and
{
bind
}if
pop pop
}forall
AGM_Gradient_Sep
{
dup xcheck 1 index type /arraytype eq and
{
bind
}if
pop pop
}forall
end
currentdict readonly pop
end
}def
/terminate{
currentdict AGM_Gradient_Sep eq{
end
}if
}def
AGM_Gradient_Sep_private begin
/initializeSeps{
_noImage not _level2PS not and{
/_whiteBytes 1 makeByte8 pt
/knockOut{
8 setImageParms _whiteBytes /_image load 5 execImage
}def
/linealFill{
mySave
8 setImageParms
_color{
_nCustomColorSD begin
cyan magenta yellow black
_spotColor{
spot1 begin
/tintImage tintValue 1 exch sub makeByte8 def
end
spot2 begin
/tintImage tintValue 1 exch sub makeByte8 def
end
}if
end
4{
makeByte8 4 1 roll
}repeat
true 4 _nCustomColorSD ncolorimage
}{
_nCustomColorSD/black get 1 exch sub makeByte8
_nCustomColorSD bwImage
}ifelse
myRestore
}def
}{
/knockOut{
gsave
false setoverprint
1 setgray
0 0 1 1 rectfill
grestore
}def
}ifelse
/newSpotDict{
11 dict dup begin
/nSpots 2 def
/spot1 7 dict def
/spot2 7 dict def
end
}def
/initSpotData
{
begin
/name nd
/tintImage nd
/tintValue nd
/spot_C nd
/spot_M nd
/spot_Y nd
/spot_K nd
end
}def
/initSpotDict{
begin
/cyanInk false def
/magentaInk false def
/yellowInk false def
/blackInk false def
/cyan nd
/magenta nd
/yellow nd
/black nd
spot1 initSpotData
spot2 initSpotData
end
}def
/copySpotDict{
/_dst xp
begin
cyanInk magentaInk yellowInk blackInk
cyan magenta yellow black
spot1 spot2
end
_dst begin
/spot1 spot1 maxlength dict def
/spot2 spot2 maxlength dict def
spot2 copy pop
spot1 copy pop
/black xd
/yellow xd
/magenta xd
/cyan xd
/blackInk xd
/yellowInk xd
/magentaInk xd
/cyanInk xd
end
}def
/setCustomColor
{
1 index /Black eq{
6 1 roll 5 npop
1 exch sub
setgray
}{
6 1 roll _ccAry1 astore exch
dup null eq{
pop 0
}if
setcustomcolor
}ifelse
}def
/setCStop{
/_colorStyle exch pt
_colorStyle 0 eq{
0 0 0
4 -1 roll
1 exch sub
_spotColor{
/_colorStyle 3 pt
/Black
1 index
1 exch sub
}if
}if
_colorStyle 2 eq{
3 npop
}if
_rampSD _fillSD copySpotDict
_colorStyle 4 eq{
pop
9 2 roll 3 npop 6 -2 roll
} if
_colorStyle 3 eq _colorStyle 4 eq or{
_fillSD begin
exch
dup spot1/name get eq{
spot1 spot2
}{
spot2 spot1
}ifelse
begin
begin
/name xd
1 exch sub /tintValue xd
4{
tintValue mul 4 1 roll
}repeat
_spotColor not{
/tintValue null def
}if
end
/tintValue 0 def
end
end
}if
_fillSD nsetcustomcolor
}def
/renderCMYK{
spot1/name get null eq
spot2/name get null eq and
dup not{
pop
spot1 spotConverted
}if
dup not{
pop
spot2 spotConverted
}if
}def
/fill_ /fill load def
/fillOvp{
currentoverprint{
_inRipSep{
currentcolorspace 0 get
dup /DeviceGray eq
1 index /DeviceCMYK eq or{
pop
currentcmykcolor add add add 0 eq{
newpath
}if
}{
/Separation eq{
currentcolor 0 eq{
newpath
}if
}if
}ifelse
}{
currentgray 1 eq{
newpath
}if
}ifelse
}if
fill_
}def
/fill{
_nCustomColorSD begin
renderCMYK
{
fillOvp
}{
spot1 begin
gsave
name null ne{
spot_C spot_M spot_Y spot_K name tintValue setCustomColor
}{
1 setgray
}ifelse
fillOvp
grestore
end
spot2 begin
name null ne{
gsave
true setoverprint
spot_C spot_M spot_Y spot_K name tintValue setCustomColor
fillOvp
grestore
}if
end
newpath
}ifelse
end
}def
/expandSpot{
_spotColor{
/_len xp
_rampSD begin
spot1 begin
tintImage null ne{
tintImage _len expandOne /tintImage xd
}if
end
spot2 begin
tintImage null ne{
tintImage _len expandOne /tintImage xd
}if
end
end
}{
pop
}ifelse
}def
/rampImage{
_rampSD begin
_color{
/cyanInk _cyanData 0 ne def
/magentaInk _magentaData 0 ne def
/yellowInk _yellowData 0 ne def
/blackInk _blackData 0 ne def
_nSamples setImageParms
_nSamples expandSpot
_cyanData _magentaData _yellowData _blackData _nSamples 4 expandColor
true 4 _rampSD ncolorimage
}{
/cyanInk false def
/magentaInk false def
/yellowInk false def
/blackInk true def
_nSamples setImageParms
_blackData _rampSD bwImage
}ifelse
end
}def
/nsetcustomcolor where{
pop
}{
/nsetcustomcolor
{
/_nCustomColorSD xp
_nCustomColorSD begin
4 copy
/black xd
/yellow xd
/magenta xd
/cyan xd
4 copy
0 ne /blackInk xd
0 ne /yellowInk xd
0 ne /magentaInk xd
0 ne /cyanInk xd
end
setcmykcolor
}def
}ifelse
/nsetcustomcolorend where{
pop
}{
/nsetcustomcolorend
{
/_nCustomColorSD null pt
}def
}ifelse
}def
/initializeSinglePassSeps{
/_decodeNorm [0 1] pt
/_decodeInvert [1 0] pt
/spotConverted
{
begin
name null eq{
false
}{
tintValue null eq tintImage null eq and{
true
}{
false
currentpagedevice/SeparationOrder get{name eq or}forall
not
}ifelse
}ifelse
end
}def
/dictImage
{
20 dict dup begin
/Dict xd
/Decode xd
/DataSource xd
/ImageMatrix xd
/BitsPerComponent xd
/Height xd
/Width xd
/ImageType 1 def
Dict
end
/_image load 1 execImage
}def
/bwImage{
begin
gsave
currentoverprint{
blackInk{
[/Separation /Black /DeviceGray{}] setcolorspace
_decodeInvert dictImage
}{
5 npop
}ifelse
}{
/DeviceGray setcolorspace
_decodeNorm dictImage
}ifelse
grestore
end
}def
/ncolorimage where{
pop
}{
/ncolorimage{
begin
renderCMYK
{
cyanInk
magentaInk and
yellowInk and
blackInk and
not
currentoverprint
and
{
pop pop
gsave
cyanInk{
8 copy
[/Separation /Cyan /DeviceGray{}] setcolorspace
3 npop
_decodeNorm dictImage
}if
magentaInk{
8 copy
[/Separation /Magenta /DeviceGray{}] setcolorspace
4 -1 roll
3 npop
_decodeNorm dictImage
}if
yellowInk{
8 copy
[/Separation /Yellow /DeviceGray{}] setcolorspace
4 -2 roll
3 npop
_decodeNorm dictImage
}if
blackInk{
4 -3 roll
[/Separation /Black /DeviceGray{}] setcolorspace
3 npop
_decodeNorm dictImage
}{
8 npop
}ifelse
grestore
}{
/_colorimage load 10 execImage
}ifelse
}{
6 npop
gsave
spot1 begin
name null ne tintImage null ne and{
[/Separation name /DeviceGray{}] setcolorspace
4 copy
tintImage
name /Black eq{
_decodeNorm
}{
_decodeInvert
}ifelse
dictImage
}{
1 setgray fill
}ifelse
end
spot2 begin
true setoverprint
name null ne tintImage null ne and{
[/Separation name /DeviceGray{}] setcolorspace
tintImage
name /Black eq{
_decodeNorm
}{
_decodeInvert
}ifelse
dictImage
}{
4 npop
1 setgray fill
}ifelse
end
grestore
}ifelse
end
}def
}ifelse
}def
/initializeMultiPassSeps{
/_isCMYKSep
_cyanPlate _magentaPlate or _yellowPlate or _blackPlate or
pt
/invertXfer{
[
{
1 exch sub
}/exec load systemdict /currenttransfer get exec /exec load
] cvx systemdict /settransfer get exec
}def
/ccThrough{
gsave
1 setCustomColor
currentcmykcolor
grestore
add add add 0 ne
}def
/spotConverted
{
begin
_isCMYKSep not{
false
}{
name null eq{
false
}{
tintValue null eq tintImage null eq and{
true
}{
spot_C spot_M spot_Y spot_K name ccThrough
}ifelse
}ifelse
}ifelse
end
}def
/spotChannel
{
_isCMYKSep{
pop false
}{
begin
name null eq{
false
}{
spot_C spot_M spot_Y spot_K name ccThrough
}ifelse
end
}ifelse
}def
/getChannelData
{
_isCMYKSep dup{
pop renderCMYK
}if
{
_blackPlate{
4 1 roll 3 npop blackInk
}{
_yellowPlate{
4 2 roll 3 npop yellowInk
}{
_magentaPlate{
4 3 roll 3 npop magentaInk
}{
3 npop cyanInk
}ifelse
}ifelse
}ifelse
{
true /nonZeroData
}{
true /zeroData
}ifelse
}{
4 npop
spot1/name get null ne
spot1 spotChannel and{
spot1/tintImage get dup null ne{
false /nonZeroData
}{
pop false /noData
}ifelse
}{
spot2/name get null ne
spot2 spotChannel and{
spot2/tintImage get dup null ne{
false /nonZeroData
}{
pop false /noData
}ifelse
}{
false /noData
}ifelse
}ifelse
}ifelse
}def
/renderChannelData
{
/_tmp xp
_tmp /nonZeroData ne currentoverprint and{
pop
_tmp /zeroData eq{pop}if
4 npop
}{
_tmp /nonZeroData eq{
{
invertXfer
}if
systemdict/image
get 5 execImage
}{
pop
_tmp /zeroData eq{pop}if
4 npop
knockOut
}ifelse
}ifelse
}def
/bwImage{
begin
gsave
dup dup dup
getChannelData
exch pop false exch
renderChannelData
grestore
end
}def
/ncolorimage{
begin
pop pop
gsave
spot2/name get null ne spot2 spotChannel and{
true setoverprint
}if
getChannelData
renderChannelData
grestore
end
}def
}def
end
end
defaultpacking setpacking
%%EndResource
%%BeginResource: procset AGM_Gradient 1.0 0
%%Title: (AGM Gradient Procset)
%%Version: 1.0 0
%%CreationDate: (4/26/96) ()
%%Copyright: ((C) 1987-1996 Adobe Systems Incorporated All Rights Reserved)
userdict /defaultpacking currentpacking put true setpacking
userdict /AGM_Gradient 20 dict dup begin put
/AGM_Gradient_private 200 dict def
/initialize
{
AGM_Gradient begin
AGM_Gradient_private begin
initializeVars
/bd systemdict/mark get def
/ed
_level2PS
{
(>>)
}{
(counttomark 2 idiv dup dict begin {def} repeat pop currentdict end)
} ifelse
cvx def
_level2PS{
initializeLev2
}{
initializeLev1
}ifelse
queryDevice
initializeShading
initializeOps
_producingSeps{
AGM_Gradient_Sep/initialize get exec
}{
initializeComposite
}ifelse
_illustrator{
/f{}def
/F{}def
/s{}def
/S{}def
/b{}def
/B{}def
}if
/image where{
/image get /_image xd
}if
/colorimage where{
/colorimage get /_colorimage xd
}if
/rectfill where dup{
exch pop not _producingSeps or
}{
not
}ifelse
{
/rectfill{
gsave
newpath
4 2 roll moveto
1 index 0 rlineto
0 1 index rlineto
1 index neg 0 rlineto
pop pop
closepath
fill
grestore
}def
}if
/linealImage _noImage{
/rectImage load
}{
_producingSeps{
AGM_Gradient_Sep/AGM_Gradient_Sep_private get begin
/rampImage load
end
}{
/rampImage load
}ifelse
}ifelse
def
AGM_Gradient_private
{
dup xcheck 1 index type /arraytype eq and
{
bind
}if
pop pop
}forall
AGM_Gradient
{
dup xcheck 1 index type /arraytype eq and
{
bind
}if
pop pop
}forall
end
currentdict readonly pop
end
}def
/initializeAI
{
pop pop
AGM_Gradient/AGM_Gradient_private get /_illustrator true put
AGM_Gradient/initialize get exec
AGM_Gradient begin
}def
/unload{
systemdict/languagelevel known{
systemdict/languagelevel get 2 ge{
userdict/AGM_Gradient_Sep 2 copy known{
undef
}{
pop pop
}ifelse
userdict/AGM_Gradient 2 copy known{
undef
}{
pop pop
}ifelse
}if
}if
}def
/terminate{
currentdict AGM_Gradient eq{
end
}if
}def
AGM_Gradient_private begin
/initializeVars{
/_d255 256 array def
0 1 255{
_d255 exch dup 255 div put
}bind for
/_d255- 256 array def
0 1 255{
_d255- exch 1 _d255 2 index get sub put
}bind for
/_sSave nd
/_dUserSpace matrix defaultmatrix def
/_bUMatrix matrix def
/_imageMatrix matrix def
/_saveMatrix matrix def
/_xm matrix def
/_ccAry1 5 array def
/_level2PS
systemdict/languagelevel known dup{
pop systemdict/languagelevel get 2 ge
}if
def
/_level3PS
_level2PS systemdict/shfill known and
def
currentdict /_illustrator known not{
/_illustrator false def
}if
}def
/initializeOps
{
AGM_Gradient begin
currentdict/Bc known not{
/Bc{
_renderFlag 2 eq{
6 npop
}{
pushBSpace
_rampIndex 0 eq{
pop pop
setCStop
}if
linealFill
popBSpace
}ifelse
}def
}if
currentdict/Bg known not{
/Bg{
10 npop
/_gradName xp
/_renderFlag xp
_renderFlag 2 ne{
_illustrator{
_of setoverprint
}if
_illustrator _eo and _renderFlag 3 eq or{
eoclip
}{
clip
}ifelse
_gradNames _gradName 2 copy known{
get
mark exch aload pop
/_gradType xp
1 sub dup /_rampIndex xp
/_maxRampIndex xp
mark exch aload pop
0 0
}if
pop pop
getRampData
}{
mark mark
}ifelse
}def
}if
currentdict/Bm known not{
/Bm{
_renderFlag 2 ne{
_gradType 0 eq{
linealRamp
}{
radialGrad
}ifelse
}{
6 npop
}ifelse
}def
}if
currentdict/Bh known not{
/Bh{
2 npop
/_yHi xp
/_xHi xp
/_radHilite _xHi 0 ne _yHi 0 ne or pt
}def
}if
currentdict/Bn known not{
/Bn{
AGM_Gradient_private begin
dict /_gradNames xp
end
}def
}if
currentdict/Bd known not{
/Bd{
AGM_Gradient begin
AGM_Gradient_private begin
/_nColorsBd xp
/_gradType xp
/_gradName xp
}def
}if
currentdict/BD known not{
/BD{
currentdict/_gradNames known not{
/_gradNames 20 dict def
}if
] _nColorsBd _gradType
] _gradName exch /_gradNames xput
end
end
}def
}if
currentdict/Bb known not{
/Bb{
AGM_Gradient begin
AGM_Gradient_private begin
_producingSeps{
AGM_Gradient_Sep/AGM_Gradient_Sep_private get begin
}if
mySave
}def
}if
currentdict/BB known not{
/BB{
/_tmp xp
cleartomark cleartomark
_tmp dup
_renderFlag
myRestore
_producingSeps{
end
}if
_illustrator
end
end
{
2 ne exch 0 gt and{
2 eq{
s
}{
S
}ifelse
}{
pop newpath
}ifelse
}{
pop newpath
}ifelse
}def
}if
currentdict/Xm known not{
/Xm{
_xm astore pop
}def
}if
end
}def
/queryDevice{
/_inRipSep
_level2PS{
currentpagedevice/Separations 2 copy known{
get
}{
pop pop false
}ifelse
}{
false
}ifelse
def
/_noImage /lv1Fix where{
pop lv1Fix
}{
false
}ifelse
def
/_useShells where{
pop
}{
/_useShells true def
}ifelse
/_useSmoothShade where{
pop
}{
/_useSmoothShade false def
}ifelse
/_cyanPlate 1 0 0 0 testCMYKColorThrough def
/_magentaPlate 0 1 0 0 testCMYKColorThrough def
/_yellowPlate 0 0 1 0 testCMYKColorThrough def
/_blackPlate 0 0 0 1 testCMYKColorThrough def
/_compositeJob
_cyanPlate _magentaPlate and _yellowPlate and _blackPlate and
def
/_compositeSpotDevice where{
pop
}{
/_compositeSpotDevice _compositeJob not _inRipSep or{
1
}{
0
}ifelse
def
}ifelse
/_producingSeps _compositeSpotDevice 0 ne def
/_deviceDPI 72 0 matrix defaultmatrix dtransform dup mul exch dup mul add sqrt def
/_dpiThreshold where{
pop
}{
/_dpiThreshold 600 def
}ifelse
/_screenFreqThreshold where{
pop
}{
/_screenFreqThreshold 150 def
}ifelse
/_contoneDevice where{
pop
}{
/_contoneDevice false def
}ifelse
/_subSampleOK
_deviceDPI _dpiThreshold le
currentScreenFreq _screenFreqThreshold le and
_contoneDevice not and
_producingSeps not and
def
}def
/initializeLev1{
/makeByte8{
/_tmp 0 pt
255 mul cvi
8 string 8{
dup _tmp 3 index put
/_tmp _tmp 1 add pt
}repeat
exch pop
}def
/currentScreenFreq{
currentscreen pop pop
}def
/_byte 1 string def
/colorimage where{
pop
}{
/colorimage{
pop pop
/_blackTmp xp
/_yellowTmp xp
/_magentaTmp xp
/_cyanTmp xp
/_cnt 0 pt
[
_byte dup 0
_cyanTmp
/_cnt cvx /get cvx _d255 /exch cvx /get cvx .3 /mul cvx
_magentaTmp
/_cnt cvx /get cvx _d255 /exch cvx /get cvx .59 /mul cvx
_yellowTmp
/_cnt cvx /get cvx _d255 /exch cvx /get cvx .11 /mul cvx
_blackTmp
/_cnt cvx /get cvx _d255 /exch cvx /get cvx
/add cvx /add cvx /add cvx 1 /exch cvx /sub cvx
/dup cvx 0 /lt cvx{
pop 0
}/if cvx
/dup cvx 1 /gt cvx{
pop 1
}/if cvx
255 /mul cvx /cvi cvx
256 /mod cvx
/dup cvx 0 /lt cvx{
pop 0
}/if cvx
/put cvx
/_cnt dup cvx 1 /add cvx /pt cvx
] cvx
bind
/_image load 5 execImage
}def
}ifelse
}def
/initializeLev2{
/level2ScreenFreq{
begin
60
HalftoneType 1 eq{
pop Frequency
}if
HalftoneType 2 eq{
pop GrayFrequency
}if
HalftoneType 5 eq{
pop Default level2ScreenFreq
}if
end
}def
/currentScreenFreq{
currenthalftone level2ScreenFreq
}def
}def
/initializeShading{
_useSmoothShade _level3PS and{
/_usingSmoothShade true pt
initializeLev3_Ops
}{
/_usingSmoothShade false pt
}ifelse
}def
/initializeLev3_Ops
{
/initShFill{
/_index _gradType 0 eq {0}{_maxRampIndex 1 sub} ifelse pt
/_rampFuncsArray _maxRampIndex array pt
/_boundsArray _maxRampIndex 1 sub array pt
/_encodeArray _maxRampIndex 2 mul array pt
/_beginCoord _rampPoint pt
/_colorSpace null pt
/_firstFill _rampIndex _maxRampIndex eq pt
/_lastFill false pt
}def
/getRampColorSpace{
_nSamples 1 gt{
/_ndx 0 pt
[blendColor] cvx exec
}if
/_C0 [currentcolor] pt
/_C0_Space currentcolorspace pt
_nSamples 1 gt{
/_ndx _nSamples 1 sub pt
[blendColor] cvx exec
}if
/_C1 [currentcolor] pt
/_C1_Space currentcolorspace pt
_C0_Space _C1_Space eq{
/_rampColorSpace _C0_Space pt
}{
(colorspace conflict!) ==
showpage
stop
}ifelse
_spotColor{
nsetcustomcolorend
}if
}def
/linealShFill{
popBSpace
_xm aload pop pushBSpace
/_size _index 1 add pt
_size _maxRampIndex lt {
/_rampFuncsArray _rampFuncsArray 0 _size getinterval pt
/_boundsArray _boundsArray 0 _size 1 sub getinterval pt
/_encodeArray _encodeArray 0 _size 2 mul getinterval pt
}if
bd
/ShadingType 2
/ColorSpace _colorSpace
/Function
bd
/FunctionType 3
/Domain [0 1]
/Functions _rampFuncsArray
/Bounds _boundsArray
/Encode _encodeArray
ed
/Extend [_firstFill _lastFill]
/Domain [0 1]
/Coords [_beginCoord 0 _endCoord 0]
ed
shfill
}def
/radialShFill{
/_size _maxRampIndex _index sub pt
_size _maxRampIndex lt {
/_rampFuncsArray _rampFuncsArray _index _size getinterval pt
/_boundsArray _boundsArray _index _size 1 sub getinterval pt
/_encodeArray _encodeArray _index 2 mul _size 2 mul getinterval pt
}if
/_rampLen _beginCoord _endCoord sub pt
bd
/ShadingType 3
/ColorSpace _colorSpace
/Function
bd
/FunctionType 3
/Domain [0 1]
/Functions _rampFuncsArray
/Bounds _boundsArray
/Encode _encodeArray
ed
/Extend [_lastFill _firstFill]
/Domain [0 1]
/Coords [_xHi _rampLen mul _yHi _rampLen mul _endCoord 0 0 _beginCoord]
ed
shfill
_radHilite{
_xHi _rampLen mul _yHi _rampLen mul translate
}if
}def
/fillRamp{
/_invert _midPoint 0.5 lt pt
_rampIndex _maxRampIndex eq {
initShFill
}if
getRampColorSpace
_colorSpace null eq{
/_colorSpace _rampColorSpace pt
}{
_colorSpace _rampColorSpace ne{
/_index _index 1
_gradType 0 eq{
sub pt
linealShFill
}{
add pt
radialShFill
}ifelse
initShFill
/_colorSpace _rampColorSpace pt
} if
}ifelse
/_endCoord _endPoint pt
_rampFuncsArray _index
bd
/FunctionType 2
/Domain [0 1]
/N 0.5 log _invert{1 _midPoint sub}{_midPoint}ifelse log div
_gradType 0 eq{
_invert{/C1}{/C0}ifelse _C0
_invert{/C0}{/C1}ifelse _C1
}{
_invert{/C0}{/C1}ifelse _C1
_invert{/C1}{/C0}ifelse _C0
}ifelse
ed
put
_rampIndex 1 ne{
_boundsArray _index _gradType 1 eq{1 sub}if _endCoord put
} if
0 1 _invert {exch}if
_encodeArray _index 2 mul 1 add 3 -1 roll put
_encodeArray _index 2 mul 3 -1 roll put
_rampIndex 1 eq {
/_lastFill true pt
_gradType 0 eq{
linealShFill
}{
radialShFill
}ifelse
}if
/_index _index 1
_gradType 0 eq{
add pt
}{
sub pt
}ifelse
}def
/radialRamp
/fillRamp load def
/rampImage
/fillRamp load def
AGM_Gradient begin
/Bc{
6 npop
}def
end
}def
/initializeComposite{
/bwImage{
pop /_image load 5 execImage
}def
currentdict/rampImage known not{
/rampImage{
_color{
_nSamples setImageParms
_rgbRamp{
_redData _greenData _blueData _nSamples 3 expandColor
true 3 null ncolorimage
}{
_cyanData _magentaData _yellowData _blackData _nSamples 4 expandColor
true 4 null ncolorimage
}ifelse
}{
_nSamples setImageParms _blackData null bwImage
}ifelse
}def
}if
/setCStop{
/_colorStyle exch pt
_colorStyle 0 eq{
1 exch sub
0 0 0
4 -1 roll
}if
_colorStyle 2 eq{
setrgbcolor 4 npop
}if
_colorStyle 3 eq{
1 exch sub /_tmp xp
pop
4{
_tmp mul 4 1 roll
}repeat
}if
_colorStyle 4 eq{
3 -1 roll pop pop
1 exch sub /_tmp xp
3{
1 exch sub _tmp mul 1 exch sub 3 1 roll
}repeat
setrgbcolor
4 npop
}if
_colorStyle 2 ne _colorStyle 4 ne and{
null nsetcustomcolor
}if
}def
/nsetcustomcolor
{
pop setcmykcolor
}def
/nsetcustomcolorend
{
}def
/ncolorimage{
pop
/_colorimage load 10 execImage
}def
_noImage not _level2PS not and{
/linealFill{
8 setImageParms
_color{
currentcmykcolor
4{
makeByte8 4 1 roll
}repeat
true 4 null ncolorimage
}{
currentgray makeByte8 null bwImage
}ifelse
}def
}if
}def
/npop{
{pop}repeat
}def
/xd{
exch def
}def
/nd{
null def
}def
/pt{
AGM_Gradient_private 3 1 roll put
}def
/xp{
exch pt
}def
/xput{
dup load dup length exch maxlength eq{
dup dup load dup
length 2 mul dict copy def
}if
load begin
def
end
}def
/mySave{
save /_sSave xp
}def
/myRestore{
_sSave type /savetype eq{
_sSave restore
}if
}def
/gMark{
counttomark 2 add -1 roll
}def
/execImage{
/_tmp xp
{
exec
}stopped{
$error /errorname get /undefinedresult ne{
stop
}{
_tmp npop
}ifelse
}if
}def
/pushBSpace{
newpath gsave
_bUMatrix astore concat
}def
/popBSpace{
grestore
}def
/setImageParms{
1 8 2 index 0 0 1 0 0 _imageMatrix astore
}def
/linealFill{
0 0 1 1 rectfill
}def
/testCMYKColorThrough{
gsave
setcmykcolor currentcmykcolor
grestore
add add add 0 ne
}def
/expandOne {
/_tmp xp
dup type /stringtype ne{
_tmp string
exch
dup 0 ne{
255 mul cvi
0 1 _tmp 1 sub{
3 copy
exch put pop
}for
}if
pop
}if
}def
/expandColor{
/_channels xp
/_len xp
_channels{
_len expandOne _channels 1 roll
}repeat
}def
/blendColor{
_color{
_rgbRamp _producingSeps not and{
_redData dup type /stringtype eq{
/_ndx cvx /get cvx _d255 /exch cvx /get cvx
}if
_greenData dup type /stringtype eq{
/_ndx cvx /get cvx _d255 /exch cvx /get cvx
}if
_blueData dup type /stringtype eq{
/_ndx cvx /get cvx _d255 /exch cvx /get cvx
}if
/setrgbcolor cvx
}{
_cyanData dup type /stringtype eq{
/_ndx cvx /get cvx _d255 /exch cvx /get cvx
}if
_magentaData dup type /stringtype eq{
/_ndx cvx /get cvx _d255 /exch cvx /get cvx
}if
_yellowData dup type /stringtype eq{
/_ndx cvx /get cvx _d255 /exch cvx /get cvx
}if
_blackData dup type /stringtype eq{
/_ndx cvx /get cvx _d255 /exch cvx /get cvx
}if
_spotColor{
_rampSD begin
/_rampSD cvx /begin cvx
spot1 begin
tintImage dup type /stringtype eq{
/_ndx cvx /get cvx _d255- /exch cvx /get cvx
}{
dup null ne{
name type /nametype ne{
1 exch sub
}if
}if
}ifelse
end
/spot1 cvx /tintValue 3 -1 /roll cvx /put cvx
spot2 begin
tintImage dup type /stringtype eq{
/_ndx cvx /get cvx _d255- /exch cvx /get cvx
}{
dup null ne{
name type /nametype ne{
1 exch sub
}if
}if
}ifelse
end
/spot2 cvx /tintValue 3 -1 /roll cvx /put cvx
/end cvx
end
/_rampSD cvx
/nsetcustomcolor cvx
}{
/setcmykcolor cvx
}ifelse
}ifelse
}{
_blackData /_ndx cvx /get cvx
_d255 /exch cvx /get cvx
_usingSmoothShade{
1 /exch cvx /sub cvx 0 0 0 4 -1 /roll cvx /setcmykcolor cvx
}{
/setgray cvx
}ifelse
}ifelse
}def
/linealRamp{
pushBSpace
_ramp{
linealImage
}{
linealFill
}ifelse
popBSpace
/_rampIndex _rampIndex 1 sub pt
_rampIndex 0 gt{
getRampData
}if
}def
/radialGrad{
/_firstShell true pt
_usingSmoothShade not{
fill
}if
pushBSpace
_radHilite{
_xHi _yHi _bUMatrix idtransform /_yHi xp /_xHi xp
_rampPoint 1 lt{
1 _rampPoint sub dup _xHi mul exch _yHi mul translate
}if
}if
_rampIndex{
radialRamp
/_rampIndex _rampIndex 1 sub pt
_rampIndex 0 gt{
getRampData
}if
}repeat
popBSpace
}def
/getNSamples{
0 exch
{
dup type /stringtype eq{
length exch pop exit
}if
pop
}forall
dup 0 eq{
pop 1
}if
}def
/getRampData{
/_rampType gMark pt
/_color _rampType 0 gt pt
/_ccRGB _rampType 5 eq _rampType 6 eq or pt
/_rgbRamp _rampType 4 eq _ccRGB or pt
/_ccProcess _rampType 2 eq _rampType 3 eq or pt
_producingSeps{
_rampSD initSpotDict
/_spotColor _ccProcess _ccRGB or pt
}{
/_spotColor false pt
}ifelse
/_ramp true pt
100 div /_rampPoint xp
100 div /_midPoint xp
dup /_colorStyle xp
_colorStyle 0 eq{
2
}{
_colorStyle 1 eq{
5
}{
_colorStyle 2 eq{
8
}{
_colorStyle 3 eq{
_producingSeps{
_rampSD begin
spot1 begin
/name 3 index def
/spot_K 4 index def
/spot_Y 5 index def
/spot_M 6 index def
/spot_C 7 index def
end
end
}if
7
}{
_producingSeps{
_rampSD begin
spot1 begin
/name 4 index def
/spot_K 8 index def
/spot_Y 9 index def
/spot_M 10 index def
/spot_C 11 index def
end
end
}if
11
} ifelse
}ifelse
}ifelse
}ifelse
/_tmp xp
_tmp index 100 div /_endPoint xp
_gradType 1 eq{
_tmp 1 add index 100 div /_midPoint xp
}if
_producingSeps{
_tmp 2 add index /_nextColorStyle xp
_nextColorStyle 3 eq{
/_tmp _tmp 4 add pt
_tmp index dup
_rampSD begin
spot1 /name get ne{
spot2 begin
/name xd
/spot_K _tmp 2 add index def
/spot_Y _tmp 3 add index def
/spot_M _tmp 4 add index def
/spot_C _tmp 5 add index def
end
}{
pop
}ifelse
end
}if
_nextColorStyle 4 eq{
/_tmp _tmp 5 add pt
_tmp index dup
_rampSD begin
spot1 /name get ne{
spot2 begin
/name xd
/spot_K _tmp 5 add index def
/spot_Y _tmp 6 add index def
/spot_M _tmp 7 add index def
/spot_C _tmp 8 add index def
end
}{
pop
}ifelse
end
}if
}if
_rampType 3 eq _rampType 6 eq or{
/_tint2Data gMark pt
}if
_ccProcess _ccRGB or{
/_tint1Data gMark pt
}if
_rgbRamp{
/_blueData gMark pt
/_greenData gMark pt
/_redData gMark pt
}if
_producingSeps{
_rampSD begin
_ccProcess _ccRGB or{
_rampType 3 eq _rampType 6 eq or{
spot2 begin
/tintImage _gradType 0 eq{
_tint2Data
}{
_tint1Data
}ifelse
def
name null eq{
/name /Black def
}if
end
}if
spot1 begin
/tintImage _gradType 0 eq _rampType 2 eq or _rampType 5 eq or{
_tint1Data
}{
_tint2Data
}ifelse
def
_rampType 2 eq _rampType 5 eq or{
name null eq{
/name spot2 /name get def
spot2 /name null put
}if
}{
name null eq{
/name /Black def
}if
}ifelse
end
}if
end
}if
/_blackData gMark pt
_rampType 0 gt{
counttomark 4 add -3 roll
/_yellowData xp
/_magentaData xp
/_cyanData xp
}if
_ramp{
/_nSamples
[
_rampType 0 eq {_blackData}if
_rampType 1 eq {_cyanData _magentaData _yellowData _blackData}if
_rampType 2 eq {_cyanData _magentaData _yellowData _blackData _tint1Data}if
_rampType 3 eq {_cyanData _magentaData _yellowData _blackData _tint1Data _tint2Data}if
_rampType 4 eq {_cyanData _magentaData _yellowData _blackData _redData _greenData _blueData}if
_rampType 5 eq {_cyanData _magentaData _yellowData _blackData _redData _greenData _blueData _tint1Data}if
_rampType 6 eq {_cyanData _magentaData _yellowData _blackData _redData _greenData _blueData _tint1Data _tint2Data}if
] getNSamples pt
_usingSmoothShade not {/_ramp _nSamples 1 gt pt} if
} if
setCStop
}def
/rectImage{
gsave
/_sInc 1 pt
/_bInc 1 _nSamples div pt
/_uRampLen 1 0 dtransform _dUserSpace idtransform dup mul exch dup mul add sqrt pt
/_pChange _uRampLen 0 eq{0}{_nSamples _uRampLen div}ifelse pt
0
_nSamples
[
/dup cvx
/_ndx /exch cvx /pt cvx
blendColor
0 0 _bInc 1 /rectfill cvx
_bInc 0 /translate cvx
_sInc /add cvx
] cvx
bind
repeat
pop
_spotColor{
nsetcustomcolorend
}if
grestore
}def
/radialInit{
/_nRadSamples _nSamples dup 0 eq{pop 1}if pt
/_sInc -1 pt
/_rampLen _rampPoint _endPoint sub pt
/_bInc _rampLen _nSamples div neg pt
/_optimize false pt
_subSampleOK{
/_uRampLen
_rampLen 0 dtransform _dUserSpace idtransform dup mul exch dup mul add sqrt
0 _rampLen dtransform _dUserSpace idtransform dup mul exch dup mul add sqrt
2 copy lt{
exch
}if pop
pt
/_pChange
_uRampLen 0 eq{
0
}{
_nSamples _uRampLen div
}ifelse
pt
_pChange .5 gt dup /_optimize xp{
/_nRadSamples _uRampLen 2 div round cvi dup 1 le{pop 2}if pt
/_bInc _rampLen _nRadSamples div neg pt
/_sInc _nSamples 1 sub _nRadSamples 1 sub div neg pt
}if
}if
_radHilite{
/_xBCInc _xHi _rampLen mul _nRadSamples div pt
/_yBCInc _yHi _rampLen mul _nRadSamples div pt
}if
}def
currentdict/radialRamp known not{
/radialRamp{
/_saveMatrix _saveMatrix currentmatrix def
radialInit
_rampPoint
_nSamples 1 sub
_nRadSamples
[
/dup cvx
_optimize{
/round cvx /cvi cvx
}if
/_ndx /exch cvx /pt cvx
_useShells{
/_firstShell cvx{
/_firstShell false pt
}{
0 0 3 index 360 0 arcn fill
}/ifelse cvx
}if
blendColor
_useShells{
0 0 3 /index cvx 0 360 /arc cvx
}{
0 0 3 /index cvx 0 360 /arc cvx /fill cvx
}ifelse
/exch cvx _bInc /add cvx /exch cvx
_sInc /add cvx
_radHilite{
_xBCInc _yBCInc /translate cvx
}if
] cvx bind
repeat
pop pop
_saveMatrix setmatrix
_radHilite{
_xHi _rampLen mul _yHi _rampLen mul translate
}if
_useShells _rampIndex 1 eq and{
fill
}if
_spotColor{
nsetcustomcolorend
}if
}def
}if
end
end
defaultpacking setpacking
%%EndResource
%%BeginProcSet: Adobe_ColorImage_AI6 1.1 0
userdict /Adobe_ColorImage_AI6 known not
{
userdict /Adobe_ColorImage_AI6 24 dict put
} if
userdict /Adobe_ColorImage_AI6 get begin
/initialize
{
Adobe_ColorImage_AI6 begin
Adobe_ColorImage_AI6
{
dup type /arraytype eq
{
dup xcheck
{
bind
} if
} if
pop pop
} forall
} def
/terminate { end } def
currentdict /Adobe_ColorImage_AI6_Vars known not
{
/Adobe_ColorImage_AI6_Vars 15 dict def
} if
Adobe_ColorImage_AI6_Vars begin
/channelcount 0 def
/sourcecount 0 def
/sourcearray 4 array def
/plateindex -1 def
/XIMask 0 def
/XIBinary 0 def
/XIChannelCount 0 def
/XIBitsPerPixel 0 def
/XIImageHeight 0 def
/XIImageWidth 0 def
/XIImageMatrix null def
/XIBuffer null def
/XIDataProc null def
/XIVersion 6 def
end
/WalkRGBString null def
/WalkCMYKString null def
/StuffRGBIntoGrayString null def
/RGBToGrayImageProc null def
/StuffCMYKIntoGrayString null def
/CMYKToGrayImageProc null def
/ColorImageCompositeEmulator null def
/SeparateCMYKImageProc null def
/FourEqual null def
/TestPlateIndex null def
currentdict /_colorimage known not
{
/colorimage where
{
/colorimage get /_colorimage exch def
}
{
/_colorimage null def
} ifelse
} if
/_currenttransfer systemdict /currenttransfer get def
/colorimage null def
/XI null def
/WalkRGBString
{
0 3 index
dup length 1 sub 0 3 3 -1 roll
{
3 getinterval { } forall
5 index exec
3 index
} for
5 { pop } repeat
} def
/WalkCMYKString
{
0 3 index
dup length 1 sub 0 4 3 -1 roll
{
4 getinterval { } forall
6 index exec
3 index
} for
5 { pop } repeat
} def
/StuffRGBIntoGrayString
{
.11 mul exch
.59 mul add exch
.3 mul add
cvi 3 copy put
pop 1 add
} def
/RGBToGrayImageProc
{
Adobe_ColorImage_AI6_Vars begin
sourcearray 0 get exec
dup length 3 idiv string
dup 3 1 roll
/StuffRGBIntoGrayString load exch
WalkRGBString
end
} def
/StuffCMYKIntoGrayString
{
exch .11 mul add
exch .59 mul add
exch .3 mul add
dup 255 gt { pop 255 } if
255 exch sub cvi 3 copy put
pop 1 add
} def
/CMYKToGrayImageProc
{
Adobe_ColorImage_AI6_Vars begin
sourcearray 0 get exec
dup length 4 idiv string
dup 3 1 roll
/StuffCMYKIntoGrayString load exch
WalkCMYKString
end
} def
/ColorImageCompositeEmulator
{
pop true eq
{
Adobe_ColorImage_AI6_Vars /sourcecount get 5 add { pop } repeat
}
{
Adobe_ColorImage_AI6_Vars /channelcount get 1 ne
{
Adobe_ColorImage_AI6_Vars begin
sourcearray 0 3 -1 roll put
channelcount 3 eq
{
/RGBToGrayImageProc
}
{
/CMYKToGrayImageProc
} ifelse
load
end
} if
image
} ifelse
} def
/SeparateCMYKImageProc
{
Adobe_ColorImage_AI6_Vars begin
sourcecount 0 ne
{
sourcearray plateindex get exec
}
{
sourcearray 0 get exec
dup length 4 idiv string
0 2 index
plateindex 4 2 index length 1 sub
{
get 255 exch sub
3 copy put pop 1 add
2 index
} for
pop pop exch pop
} ifelse
end
} def
/FourEqual
{
4 index ne
{
pop pop pop false
}
{
4 index ne
{
pop pop false
}
{
4 index ne
{
pop false
}
{
4 index eq
} ifelse
} ifelse
} ifelse
} def
/TestPlateIndex
{
Adobe_ColorImage_AI6_Vars begin
/plateindex -1 def
/setcmykcolor where
{
pop
gsave
1 0 0 0 setcmykcolor systemdict /currentgray get exec 1 exch sub
0 1 0 0 setcmykcolor systemdict /currentgray get exec 1 exch sub
0 0 1 0 setcmykcolor systemdict /currentgray get exec 1 exch sub
0 0 0 1 setcmykcolor systemdict /currentgray get exec 1 exch sub
grestore
1 0 0 0 FourEqual
{
/plateindex 0 def
}
{
0 1 0 0 FourEqual
{
/plateindex 1 def
}
{
0 0 1 0 FourEqual
{
/plateindex 2 def
}
{
0 0 0 1 FourEqual
{
/plateindex 3 def
}
{
0 0 0 0 FourEqual
{
/plateindex 5 def
} if
} ifelse
} ifelse
} ifelse
} ifelse
pop pop pop pop
} if
plateindex
end
} def
/colorimage
{
Adobe_ColorImage_AI6_Vars begin
/channelcount 1 index def
/sourcecount 2 index 1 eq { channelcount 1 sub } { 0 } ifelse def
4 sourcecount add index dup
8 eq exch 1 eq or not
end
{
/_colorimage load null ne
{
_colorimage
}
{
Adobe_ColorImage_AI6_Vars /sourcecount get
7 add { pop } repeat
} ifelse
}
{
dup 3 eq
TestPlateIndex
dup -1 eq exch 5 eq or or
{
/_colorimage load null eq
{
ColorImageCompositeEmulator
}
{
dup 1 eq
{
pop pop image
}
{
Adobe_ColorImage_AI6_Vars /plateindex get 5 eq
{
gsave
0 _currenttransfer exec
1 _currenttransfer exec
eq
{ 0 _currenttransfer exec 0.5 lt }
{ 0 _currenttransfer exec 1 _currenttransfer exec gt } ifelse
{ { pop 0 } } { { pop 1 } } ifelse
systemdict /settransfer get exec
} if
_colorimage
Adobe_ColorImage_AI6_Vars /plateindex get 5 eq
{
grestore
} if
} ifelse
} ifelse
}
{
dup 1 eq
{
pop pop
image
}
{
pop pop
Adobe_ColorImage_AI6_Vars begin
sourcecount -1 0
{
exch sourcearray 3 1 roll put
} for
/SeparateCMYKImageProc load
end
systemdict /image get exec
} ifelse
} ifelse
} ifelse
} def
/XG
{
pop pop
} def
/XF
{
13 {pop} repeat
} def
/Xh
{
Adobe_ColorImage_AI6_Vars begin
gsave
/XIMask exch 0 ne def
/XIImageHeight exch def
/XIImageWidth exch def
/XIImageMatrix exch def
0 0 moveto
XIImageMatrix concat
XIImageWidth XIImageHeight scale
XIMask
{
/_lp /null ddef
_fc
/_lp /imagemask ddef
}
if
/XIVersion 7 def
end
} def
/XH
{
Adobe_ColorImage_AI6_Vars begin
/XIVersion 6 def
grestore
end
} def
/XI
{
Adobe_ColorImage_AI6_Vars begin
gsave
/XIMask exch 0 ne def
/XIBinary exch 0 ne def
pop
pop
/XIChannelCount exch def
/XIBitsPerPixel exch def
/XIImageHeight exch def
/XIImageWidth exch def
pop pop pop pop
/XIImageMatrix exch def
XIBitsPerPixel 1 eq
{
XIImageWidth 8 div ceiling cvi
}
{
XIImageWidth XIChannelCount mul
} ifelse
/XIBuffer exch string def
XIBinary
{
/XIDataProc { currentfile XIBuffer readstring pop } def
XIVersion 6 le
{
currentfile 128 string readline pop pop
}
if
}
{
/XIDataProc { currentfile XIBuffer readhexstring pop } def
} ifelse
XIVersion 6 le
{
0 0 moveto
XIImageMatrix concat
XIImageWidth XIImageHeight scale
XIMask
{
/_lp /null ddef
_fc
/_lp /imagemask ddef
} if
} if
XIMask
{
XIImageWidth XIImageHeight
false
[ XIImageWidth 0 0 XIImageHeight neg 0 0 ]
/XIDataProc load
imagemask
}
{
XIImageWidth XIImageHeight
XIBitsPerPixel
[ XIImageWidth 0 0 XIImageHeight neg 0 0 ]
/XIDataProc load
XIChannelCount 1 eq
{
gsave
0 setgray
image
grestore
}
{
false
XIChannelCount
colorimage
} ifelse
} ifelse
grestore
end
} def
end
%%EndProcSet
%%BeginResource: procset Adobe_Illustrator_AI5 1.1 0
%%Title: (Adobe Illustrator (R) Version 5.0 Full Prolog)
%%Version: 1.1 0
%%CreationDate: (3/7/1994) ()
%%Copyright: ((C) 1987-1996 Adobe Systems Incorporated All Rights Reserved)
currentpacking true setpacking
userdict /Adobe_Illustrator_AI5_vars 81 dict dup begin
put
/_eo false def
/_lp /none def
/_pf
{
} def
/_ps
{
} def
/_psf
{
} def
/_pss
{
} def
/_pjsf
{
} def
/_pjss
{
} def
/_pola 0 def
/_doClip 0 def
/cf currentflat def
/_tm matrix def
/_renderStart
[
/e0 /r0 /a0 /o0 /e1 /r1 /a1 /i0
] def
/_renderEnd
[
null null null null /i1 /i1 /i1 /i1
] def
/_render -1 def
/_rise 0 def
/_ax 0 def
/_ay 0 def
/_cx 0 def
/_cy 0 def
/_leading
[
0 0
] def
/_ctm matrix def
/_mtx matrix def
/_sp 16#020 def
/_hyphen (-) def
/_fScl 0 def
/_cnt 0 def
/_hs 1 def
/_nativeEncoding 0 def
/_useNativeEncoding 0 def
/_tempEncode 0 def
/_pntr 0 def
/_tDict 2 dict def
/_wv 0 def
/Tx
{
} def
/Tj
{
} def
/CRender
{
} def
/_AI3_savepage
{
} def
/_gf null def
/_cf 4 array def
/_if null def
/_of false def
/_fc
{
} def
/_gs null def
/_cs 4 array def
/_is null def
/_os false def
/_sc
{
} def
/_pd 1 dict def
/_ed 15 dict def
/_pm matrix def
/_fm null def
/_fd null def
/_fdd null def
/_sm null def
/_sd null def
/_sdd null def
/_i null def
/discardSave null def
/buffer 256 string def
/beginString null def
/endString null def
/endStringLength null def
/layerCnt 1 def
/layerCount 1 def
/perCent (%) 0 get def
/perCentSeen? false def
/newBuff null def
/newBuffButFirst null def
/newBuffLast null def
/clipForward? false def
end
userdict /Adobe_Illustrator_AI5 known not {
userdict /Adobe_Illustrator_AI5 91 dict put
} if
userdict /Adobe_Illustrator_AI5 get begin
/initialize
{
Adobe_Illustrator_AI5 dup begin
Adobe_Illustrator_AI5_vars begin
discardDict
{
bind pop pop
} forall
dup /nc get begin
{
dup xcheck 1 index type /operatortype ne and
{
bind
} if
pop pop
} forall
end
newpath
} def
/terminate
{
end
end
} def
/_
null def
/ddef
{
Adobe_Illustrator_AI5_vars 3 1 roll put
} def
/xput
{
dup load dup length exch maxlength eq
{
dup dup load dup
length 2 mul dict copy def
} if
load begin
def
end
} def
/npop
{
{
pop
} repeat
} def
/sw
{
dup length exch stringwidth
exch 5 -1 roll 3 index mul add
4 1 roll 3 1 roll mul add
} def
/swj
{
dup 4 1 roll
dup length exch stringwidth
exch 5 -1 roll 3 index mul add
4 1 roll 3 1 roll mul add
6 2 roll /_cnt 0 ddef
{
1 index eq
{
/_cnt _cnt 1 add ddef
} if
} forall
pop
exch _cnt mul exch _cnt mul 2 index add 4 1 roll 2 index add 4 1 roll pop pop
} def
/ss
{
4 1 roll
{
2 npop
(0) exch 2 copy 0 exch put pop
gsave
false charpath currentpoint
4 index setmatrix
stroke
grestore
moveto
2 copy rmoveto
} exch cshow
3 npop
} def
/jss
{
4 1 roll
{
2 npop
(0) exch 2 copy 0 exch put
gsave
_sp eq
{
exch 6 index 6 index 6 index 5 -1 roll widthshow
currentpoint
}
{
false charpath currentpoint
4 index setmatrix stroke
} ifelse
grestore
moveto
2 copy rmoveto
} exch cshow
6 npop
} def
/sp
{
{
2 npop (0) exch
2 copy 0 exch put pop
false charpath
2 copy rmoveto
} exch cshow
2 npop
} def
/jsp
{
{
2 npop
(0) exch 2 copy 0 exch put
_sp eq
{
exch 5 index 5 index 5 index 5 -1 roll widthshow
}
{
false charpath
} ifelse
2 copy rmoveto
} exch cshow
5 npop
} def
/pl
{
transform
0.25 sub round 0.25 add exch
0.25 sub round 0.25 add exch
itransform
} def
/setstrokeadjust where
{
pop true setstrokeadjust
/c
{
curveto
} def
/C
/c load def
/v
{
currentpoint 6 2 roll curveto
} def
/V
/v load def
/y
{
2 copy curveto
} def
/Y
/y load def
/l
{
lineto
} def
/L
/l load def
/m
{
moveto
} def
}
{
/c
{
pl curveto
} def
/C
/c load def
/v
{
currentpoint 6 2 roll pl curveto
} def
/V
/v load def
/y
{
pl 2 copy curveto
} def
/Y
/y load def
/l
{
pl lineto
} def
/L
/l load def
/m
{
pl moveto
} def
} ifelse
/d
{
setdash
} def
/cf
{
} def
/i
{
dup 0 eq
{
pop cf
} if
setflat
} def
/j
{
setlinejoin
} def
/J
{
setlinecap
} def
/M
{
setmiterlimit
} def
/w
{
setlinewidth
} def
/XR
{
0 ne
/_eo exch ddef
} def
/H
{
} def
/h
{
closepath
} def
/N
{
_pola 0 eq
{
_doClip 1 eq
{
_eo {eoclip} {clip} ifelse /_doClip 0 ddef
} if
newpath
}
{
/CRender
{
N
} ddef
} ifelse
} def
/n
{
N
} def
/F
{
_pola 0 eq
{
_doClip 1 eq
{
gsave _pf grestore _eo {eoclip} {clip} ifelse newpath /_lp /none ddef _fc
/_doClip 0 ddef
}
{
_pf
} ifelse
}
{
/CRender
{
F
} ddef
} ifelse
} def
/f
{
closepath
F
} def
/S
{
_pola 0 eq
{
_doClip 1 eq
{
gsave _ps grestore _eo {eoclip} {clip} ifelse newpath /_lp /none ddef _sc
/_doClip 0 ddef
}
{
_ps
} ifelse
}
{
/CRender
{
S
} ddef
} ifelse
} def
/s
{
closepath
S
} def
/B
{
_pola 0 eq
{
_doClip 1 eq
gsave F grestore
{
gsave S grestore _eo {eoclip} {clip} ifelse newpath /_lp /none ddef _sc
/_doClip 0 ddef
}
{
S
} ifelse
}
{
/CRender
{
B
} ddef
} ifelse
} def
/b
{
closepath
B
} def
/W
{
/_doClip 1 ddef
} def
/*
{
count 0 ne
{
dup type /stringtype eq
{
pop
} if
} if
newpath
} def
/u
{
} def
/U
{
} def
/q
{
_pola 0 eq
{
gsave
} if
} def
/Q
{
_pola 0 eq
{
grestore
} if
} def
/*u
{
_pola 1 add /_pola exch ddef
} def
/*U
{
_pola 1 sub /_pola exch ddef
_pola 0 eq
{
CRender
} if
} def
/D
{
pop
} def
/*w
{
} def
/*W
{
} def
/`
{
/_i save ddef
clipForward?
{
nulldevice
} if
6 1 roll 4 npop
concat pop
userdict begin
/showpage
{
} def
0 setgray
0 setlinecap
1 setlinewidth
0 setlinejoin
10 setmiterlimit
[] 0 setdash
/setstrokeadjust where {pop false setstrokeadjust} if
newpath
0 setgray
false setoverprint
} def
/~
{
end
_i restore
} def
/O
{
0 ne
/_of exch ddef
/_lp /none ddef
} def
/R
{
0 ne
/_os exch ddef
/_lp /none ddef
} def
/g
{
/_gf exch ddef
/_fc
{
_lp /fill ne
{
_of setoverprint
_gf setgray
/_lp /fill ddef
} if
} ddef
/_pf
{
_fc
_eo {eofill} {fill} ifelse
} ddef
/_psf
{
_fc
ashow
} ddef
/_pjsf
{
_fc
awidthshow
} ddef
/_lp /none ddef
} def
/G
{
/_gs exch ddef
/_sc
{
_lp /stroke ne
{
_os setoverprint
_gs setgray
/_lp /stroke ddef
} if
} ddef
/_ps
{
_sc
stroke
} ddef
/_pss
{
_sc
ss
} ddef
/_pjss
{
_sc
jss
} ddef
/_lp /none ddef
} def
/k
{
_cf astore pop
/_fc
{
_lp /fill ne
{
_of setoverprint
_cf aload pop setcmykcolor
/_lp /fill ddef
} if
} ddef
/_pf
{
_fc
_eo {eofill} {fill} ifelse
} ddef
/_psf
{
_fc
ashow
} ddef
/_pjsf
{
_fc
awidthshow
} ddef
/_lp /none ddef
} def
/K
{
_cs astore pop
/_sc
{
_lp /stroke ne
{
_os setoverprint
_cs aload pop setcmykcolor
/_lp /stroke ddef
} if
} ddef
/_ps
{
_sc
stroke
} ddef
/_pss
{
_sc
ss
} ddef
/_pjss
{
_sc
jss
} ddef
/_lp /none ddef
} def
/x
{
/_gf exch ddef
findcmykcustomcolor
/_if exch ddef
/_fc
{
_lp /fill ne
{
_of setoverprint
_if _gf 1 exch sub setcustomcolor
/_lp /fill ddef
} if
} ddef
/_pf
{
_fc
_eo {eofill} {fill} ifelse
} ddef
/_psf
{
_fc
ashow
} ddef
/_pjsf
{
_fc
awidthshow
} ddef
/_lp /none ddef
} def
/X
{
/_gs exch ddef
findcmykcustomcolor
/_is exch ddef
/_sc
{
_lp /stroke ne
{
_os setoverprint
_is _gs 1 exch sub setcustomcolor
/_lp /stroke ddef
} if
} ddef
/_ps
{
_sc
stroke
} ddef
/_pss
{
_sc
ss
} ddef
/_pjss
{
_sc
jss
} ddef
/_lp /none ddef
} def
/A
{
pop
} def
/annotatepage
{
userdict /annotatepage 2 copy known {get exec} {pop pop} ifelse
} def
/XT {
pop pop
} def
/discard
{
save /discardSave exch store
discardDict begin
/endString exch store
gt38?
{
2 add
} if
load
stopped
pop
end
discardSave restore
} bind def
userdict /discardDict 7 dict dup begin
put
/pre38Initialize
{
/endStringLength endString length store
/newBuff buffer 0 endStringLength getinterval store
/newBuffButFirst newBuff 1 endStringLength 1 sub getinterval store
/newBuffLast newBuff endStringLength 1 sub 1 getinterval store
} def
/shiftBuffer
{
newBuff 0 newBuffButFirst putinterval
newBuffLast 0
currentfile read not
{
stop
} if
put
} def
0
{
pre38Initialize
mark
currentfile newBuff readstring exch pop
{
{
newBuff endString eq
{
cleartomark stop
} if
shiftBuffer
} loop
}
{
stop
} ifelse
} def
1
{
pre38Initialize
/beginString exch store
mark
currentfile newBuff readstring exch pop
{
{
newBuff beginString eq
{
/layerCount dup load 1 add store
}
{
newBuff endString eq
{
/layerCount dup load 1 sub store
layerCount 0 eq
{
cleartomark stop
} if
} if
} ifelse
shiftBuffer
} loop
} if
} def
2
{
mark
{
currentfile buffer readline not
{
stop
} if
endString eq
{
cleartomark stop
} if
} loop
} def
3
{
/beginString exch store
/layerCnt 1 store
mark
{
currentfile buffer readline not
{
stop
} if
dup beginString eq
{
pop /layerCnt dup load 1 add store
}
{
endString eq
{
layerCnt 1 eq
{
cleartomark stop
}
{
/layerCnt dup load 1 sub store
} ifelse
} if
} ifelse
} loop
} def
end
userdict /clipRenderOff 15 dict dup begin
put
{
/n /N /s /S /f /F /b /B
}
{
{
_doClip 1 eq
{
/_doClip 0 ddef _eo {eoclip} {clip} ifelse
} if
newpath
} def
} forall
/Tr /pop load def
/Bb {} def
/BB /pop load def
/Bg {12 npop} def
/Bm {6 npop} def
/Bc /Bm load def
/Bh {4 npop} def
end
/Lb
{
4 npop
6 1 roll
pop
4 1 roll
pop pop pop
0 eq
{
0 eq
{
(%AI5_BeginLayer) 1 (%AI5_EndLayer--) discard
}
{
/clipForward? true def
/Tx /pop load def
/Tj /pop load def
currentdict end clipRenderOff begin begin
} ifelse
}
{
0 eq
{
save /discardSave exch store
} if
} ifelse
} bind def
/LB
{
discardSave dup null ne
{
restore
}
{
pop
clipForward?
{
currentdict
end
end
begin
/clipForward? false ddef
} if
} ifelse
} bind def
/Pb
{
pop pop
0 (%AI5_EndPalette) discard
} bind def
/Np
{
0 (%AI5_End_NonPrinting--) discard
} bind def
/Ln /pop load def
/Ap
/pop load def
/Ar
{
72 exch div
0 dtransform dup mul exch dup mul add sqrt
dup 1 lt
{
pop 1
} if
setflat
} def
/Mb
{
q
} def
/Md
{
} def
/MB
{
Q
} def
/nc 3 dict def
nc begin
/setgray
{
pop
} bind def
/setcmykcolor
{
4 npop
} bind def
/setcustomcolor
{
2 npop
} bind def
currentdict readonly pop
end
end
setpacking
%%EndResource
%%BeginResource: procset Adobe_blend_AI5 1.4 0
%%Title: (Adobe Illustrator (R) Version 5.0 Blend ProcSet)
%%Version: 1.4 0
%%CreationDate: (11/19/93) ()
%%Copyright: ((C) 1987-1996 Adobe Systems Incorporated All Rights Reserved)
userdict /defaultpacking currentpacking put true setpacking
userdict /Adobe_blend_AI5 70 dict dup begin
put
/bd
{
bind def
} bind def
/xs
{
exch store
} bd
/nullProc
{
{
}
} def
/initialize
{
pop pop
Adobe_blend_AI5 begin
Adobe_blend_AI5_vars begin
/_contoneDevice where
{
pop
}
{
/_contoneDevice false def
} ifelse
/_dpiThreshold where
{
pop
}
{
/_dpiThreshold 600 def
} ifelse
/_screenFreqThreshold where
{
pop
}
{
/_screenFreqThreshold 150 def
} ifelse
/tRectOK? deviceDPI _dpiThreshold le currentScreenFreq _screenFreqThreshold le and _contoneDevice not and def
/invertXfer
{
[
{
1 exch sub
} /exec load systemdict/currenttransfer get exec /exec load
] cvx systemdict/settransfer get exec
} bd
/spotDict 3 dict dup begin
/nSpots 2 def
/spot1 7 dict def
/spot2 7 dict def
end
def
composite?
{
/_setgray_ /setgray load def
/_fill_ /fill load def
/_image_ /image load def
}
{
/_setgray_ systemdict/setgray get def
/_fill_ systemdict/fill get def
/_image_ systemdict/image get def
} ifelse
} bd
/terminate
{
currentdict Adobe_blend_AI5_vars eq
{
end
currentdict Adobe_blend_AI5 eq
{
end
} if
} if
} bd
/_compositeSpotDevice where
{
begin
_compositeSpotDevice 0 ne {userdict /composite? true put} if
end
}
{
/_compositeSpotDevice 0 def
} ifelse
/nullString () def
/d255 256 array def
0 1 255
{
d255 exch dup 255 div put
} bind for
/d255- 256 array def
0 1 255
{
d255- exch 1 d255 2 index get sub put
} bind for
/dUserSpace matrix defaultmatrix def
currentdict /Adobe_blend_AI5_vars 89 dict dup begin
put
{
/f /F /s /S /b /B
}
{
null def
} bind forall
/byte 1 string def
/sSave null def
/setSSave
{
save /sSave exch store
} bind def
/Bm null def
/doBlend null def
/startC? false def
/endC? false def
/fCMYK? null def
/startTint 0 def
/endTint 0 def
/bSMatrix matrix def
/bUMatrix matrix def
/dMatrix matrix def
/inLine? true def
/pTState? false def
/bHi? false def
/yHi 0 def
/xHi 0 def
/noImg /lv1Fix where
{
pop lv1Fix
}
{
false
} ifelse
def
/ccAry1 5 array def
/ccTint 0 def
/spotColor? false def
/colorimage? true def
[
/tint1Data
/tint2Data
/spotDict
/bAxis
/ubAxis
/pChange
/optimize?
/nSamples
/sInc
/blendProc
/_bn
/xBCInc
/yBCInc
/bInc
/bRender
/cBName
/cBType
/nColors
/color?
/blend?
/colorType
/cData
/cDataLen
/bDataLen
/rampPoint
/midPoint
/endPoint
/blendLength
/blackData
/yeData
/mgData
/cyData
/cnt1
/ndx
/_fill
/tmp
counttomark
{
null def
} bind
repeat
pop
currentdict
end
currentdict
end
exch
begin
begin
/unitSq
{
0 0 moveto 0 1 lineto 1 1 lineto 1 0 lineto closepath
} bd
/gMark
{
counttomark 2 add -1 roll
} bd
/setCustomColor
{
dup /ccTint exch store
1 exch sub 6 1 roll
ccAry1 astore
exch setcustomcolor
} bd
/currentCustomColor
{
ccAry1 aload pop ccTint
} bd
/nsetcustomcolor where
{
pop
}
{
/nsetcustomcolor
{
pop setcmykcolor
} bd
} ifelse
/nsetcustomcolorend where
{
pop
}
{
/nsetcustomcolorend
{
} bd
} ifelse
/setBSpace
{
newpath bUMatrix astore concat unitSq
} bd
/setCStop
{
dup 0 eq
{
pop
spotColor?
{
dup 1 exch sub /ccTint exch def
ccAry1 4 /Black put
} if
setgray
}
{
1 eq
{
setcmykcolor
}
{
composite? not colorType 2 lt and
{
forceCMYK
}
{
setCustomColor
} ifelse
} ifelse
} ifelse
} bd
/makeByte
{
/tmp 0 store
255 mul cvi
8 string 8
{
dup tmp 3 index put /tmp tmp 1 add store
} repeat
exch pop
} bd
/setImgSpace
{
cDataLen 1 8
2 index 0 0 1 0 0 dMatrix astore
} bd
/bwImage
{
setImgSpace cData /_image_ load
{
exec
} stopped
{
$error /errorname get /undefinedresult ne
{
stop
}
{
pop pop pop pop pop
} ifelse
} if
} bd
level2?
{
/bFill
{
_fill
} def
/bCImg
{
/cDataLen bDataLen store
setImgSpace
setSSave
expandSpot
cyData mgData yeData cData
expandCMYK
true 4 spotDict
{
ncolorimage
} stopped
{
$error /errorname get /undefinedresult ne
{
stop
}
{
10
{
pop
} repeat
} ifelse
} if
sSave restore
} bd
} if
/expandOne
{
dup type /stringtype ne
{
cDataLen string
exch
dup 0 ne
{
255 mul cvi
0 1 cDataLen 1 sub
{
3 copy
exch put pop
} for
} if
pop
} if
} bd
/expandSpot
{
spotColor?
{
spotDict begin
spot1 begin
tintImage type /nulltype ne
{
tintImage expandOne /tintImage exch def
} if
end
spot2 begin
tintImage type /nulltype ne
{
tintImage expandOne /tintImage exch def
} if
end
end
} if
} bd
/expandCMYK
{
4
{
expandOne 4 1 roll
} repeat
} bd
/colorimage where dup
{
exch pop
/ncolorimage where
{
pop
}
{
/ncolorimage {pop colorimage} bd
} ifelse
} if
not
{
/ncolorimage where
{
pop
}
{
/colorimage? false store
/ncolorimage
{
pop pop pop
setSSave
/blackData xs
/yeData xs
/mgData xs
/cyData xs
/cnt1 0 store
[
byte dup 0
cyData dup type /stringtype eq
{
/cnt1 cvx /get cvx d255 /exch cvx /get cvx .3 /mul cvx
}
{
.3 mul
} ifelse
mgData dup type /stringtype eq
{
/cnt1 cvx /get cvx d255 /exch cvx /get cvx .59 /mul cvx
}
{
.59 mul
} ifelse
yeData dup type /stringtype eq
{
/cnt1 cvx /get cvx d255 /exch cvx /get cvx .11 /mul cvx
}
{
.11 mul
} ifelse
blackData dup type /stringtype eq
{
/cnt1 cvx /get cvx d255 /exch cvx /get cvx
} if
/add cvx /add cvx /add cvx 1 /exch cvx /sub cvx
/dup cvx 0 /lt cvx
{
pop 0
} /if cvx
/dup cvx 1 /gt cvx
{
pop 1
} /if cvx
255 /mul cvx /cvi cvx
256 /mod cvx
/dup cvx 0 /lt cvx
{
pop 0
} /if cvx
/put cvx
/cnt1 dup cvx 1 /add cvx /store cvx
] cvx
bind
_image_
sSave restore
} bd
} ifelse
} if
level2? not
{
/bCImg
{
/cDataLen bDataLen store
setImgSpace
setSSave
expandSpot
cyData mgData yeData cData
colorimage?
{
expandCMYK
} if
true 4 spotDict
{
ncolorimage
} stopped
{
$error /errorname get /undefinedresult ne
{
stop
}
{
10
{
pop
} repeat
} ifelse
} if
sSave restore
} bd
/bwFill
{
setSSave
/cDataLen 8 store
/cData currentgray makeByte store
bwImage
sSave restore
} bd
/c1ImgFill
{
setSSave
/cDataLen 8 store
setImgSpace
spotColor?
{
spotDict begin
spot1 begin
currentCustomColor makeByte /tintImage exch def
/name exch def
/spot_K exch def
/spot_Y exch def
/spot_M exch def
/spot_C exch def
end
spot2 initSpotData
end
} if
currentcmykcolor
4
{
makeByte 4 1 roll
} repeat
true 4 spotDict
{
ncolorimage
} stopped
{
$error /errorname get /undefinedresult ne
{
stop
}
{
10
{
pop
} repeat
} ifelse
} if
sSave restore
} bd
/bFill
noImg
{
{
_fill
}
}
{
{
color?
{
c1ImgFill
}
{
bwFill
} ifelse
}
} ifelse
bd
} if
composite?
{
/bCFun
{
color?
{
cyData dup type /stringtype eq
{
/ndx cvx /get cvx d255 /exch cvx /get cvx
} if
mgData dup type /stringtype eq
{
/ndx cvx /get cvx d255 /exch cvx /get cvx
} if
yeData dup type /stringtype eq
{
/ndx cvx /get cvx d255 /exch cvx /get cvx
} if
cData dup type /stringtype eq
{
/ndx cvx /get cvx d255 /exch cvx /get cvx
} if
spotColor?
{
spotDict begin
/spotDict cvx /begin cvx
spot1 begin
tintImage dup type /stringtype eq
{
/ndx cvx /get cvx d255- /exch cvx /get cvx
}
{
dup type /nulltype ne
{
name type /nametype ne {1 exch sub} if
} if
} ifelse
end
/spot1 cvx /tintValue 3 -1 /roll cvx /put cvx
spot2 begin
tintImage dup type /stringtype eq
{
/ndx cvx /get cvx d255- /exch cvx /get cvx
}
{
dup type /nulltype ne
{
name type /nametype ne {1 exch sub} if
} if
} ifelse
end
/spot2 cvx /tintValue 3 -1 /roll cvx /put cvx
/end cvx
end
/spotDict cvx
/nsetcustomcolor cvx
}
{
/setcmykcolor cvx
} ifelse
}
{
cData /ndx cvx /get cvx
d255 /exch cvx /get cvx
/setgray cvx
} ifelse
} bd
/Bc
{
newpath
gsave
setBSpace
nColors 1 eq
{
pop pop
setCStop
} if
bFill
grestore
} bd
/linealBm
{
/nColors dup load 1 sub store
newpath
gsave
setBSpace
blend?
{
linImg
}
{
bFill
} ifelse
grestore
nColors 1 gt
{
getRData
} if
} bd
/rdBm
{
/nColors dup load 1 sub store
_fill
gsave
bUMatrix astore concat
bHi?
{
xHi yHi bUMatrix idtransform /yHi exch store /xHi exch store
rampPoint 1 lt
{
1 rampPoint sub dup xHi mul exch yHi mul translate
} if
} if
nColors
{
0 0 rampPoint 0 360 arc
_fill
blend? bHi? or
{
rdBlend
} if
nColors 1 gt
{
getRData
} if
/nColors dup load 1 sub store
} repeat
/nColors 1 store
grestore
} bd
/cGetRData
{
setCStop
/blend?
cData type /stringtype eq
dup not color? and
{
pop
cyData type /stringtype eq
mgData type /stringtype eq
yeData type /stringtype eq
or or
} if
store
} def
/cGetRData
} if
/eCStop
{
mark
1 index 3 mul 3 add dup 8 gt
{
pop 8
} if
1 roll
cleartomark
} bd
composite? not
{
/knockOut
level2?
{
{
0 0 0 0 setcmykcolor _fill
}
}
{
/bFill noImg
{
{
_fill
}
}
{
{
_of true eq
{
currentgray 1 ne
{
bwFill
} if
}
{
bwFill
} ifelse
}
} ifelse
def
/whiteByte 1 makeByte def
noImg
{
{
0 0 0 0 setcmykcolor _fill
}
}
{
{
cBType 0 eq
{
setSSave
/cData whiteByte store
/cDataLen 8 store
bwImage
sSave restore
}
{
_fill
} ifelse
}
} ifelse
} ifelse
bd
/bCFun
{
cData dup type /stringtype ne
{
color?
{
1 exch sub
} if
}
{
/ndx cvx /get cvx
color? customColor? not and
{
d255-
}
{
d255
} ifelse
/exch cvx /get cvx
} ifelse
/_setgray_ cvx
} bd
/eCCBlend
{
dup 3 eq
{
pop
mark 7 1 roll
6 copy ccThrough? dup /blend? xs
{
/startC? true store
setCustomColor
customColor?
{
/cData tint1Data store
setCDataLen
} if
/endC?
3 index 3 eq
{
4 index 1 ne
}
{
false
} ifelse
store
} if
cleartomark
stop
} if
1 eq
{
pop pop pop
} if
pop
/startC? false store
6
{
8 index
} repeat
ccThrough? dup /blend? xs
{
/endC? true store
blend? not
{
stop
} if
customColor?
{
/cData tint1Data store
setCDataLen
} if
} if
} bd
/handleOP
{
_of not
{
knockOut
} if
} bd
/handleROP
{
_of not
{
0 0 0 0 setcmykcolor _fill
}
{
newpath
} ifelse
} bd
/rdBm
{
/nColors dup load 1 sub store
blend?
{
_fill
}
{
handleROP
} ifelse
gsave
bUMatrix astore concat
bHi?
{
xHi yHi bUMatrix idtransform /yHi exch store /xHi exch store
rampPoint 1 lt
{
1 rampPoint sub dup xHi mul exch yHi mul translate
} if
} if
nColors
{
0 0 rampPoint 0 360 arc
blend?
{
cData type /stringtype ne bHi? not and
{
cData color?
{
1 exch sub
} if
_setgray_
_fill_
}
{
cData type /stringtype ne
{
/cDataLen 1 store
/bDataLen 1 store
} if
rdBlend
} ifelse
}
{
handleROP
pTState?
{
/bAxis rampPoint endPoint sub store
xHi bAxis mul yHi bAxis mul translate
} if
} ifelse
nColors 1 gt
{
getRData
} if
/nColors dup load 1 sub store
} repeat
/nColors 1 store
grestore
} bd
/ccThrough?
{
gsave
pop 0 setCustomColor
currentcmykcolor
grestore
anyColor?
} bd
/forceCMYK
{
exch pop
1 exch sub 5 1 roll
4
{
4 index mul 4 1 roll
} repeat
0
cCMYKData dup /cData ne
{
dup /yeData eq
{
pop 1 add
}
{
/mgData eq
{
2
}
{
3
} ifelse
add
} ifelse
0
} if
pop
index
0 eq
{
pop pop pop pop 0 0 0 0
} if
setcmykcolor
pop
/fCMYK? true store
} bd
/endCapSepBc
{
pop pop
dup 0 eq
{
pop
setgray
}
{
1 eq
{
setcmykcolor
}
{
colorType 1 eq
{
forceCMYK
}
{
fCMYK?
{
forceCMYK
}
{
setCustomColor
} ifelse
} ifelse
} ifelse
} ifelse
currentcmykcolor anyColor?
blend? and
{
bFill
}
{
handleOP
} ifelse
} bd
} if
/cCMYKData 0 def
composite? dup not
{
pop customColor?
} if
not
{
/cCMYKData
/cyData /mgData /yeData /cData
black? not
{
yellow?
{
exch
}
{
magenta?
{
3
}
{
4
} ifelse
-1 roll
} ifelse
} if
4 1 roll pop pop pop
store
/Bc
{
gsave
setBSpace
nColors 1 gt
{
blend? currentcmykcolor anyColor? and
{
bFill
}
{
handleOP
} ifelse
}
{
endCapSepBc
} ifelse
grestore
newpath
} bd
/linealBm
{
/nColors dup load 1 sub store
newpath
gsave
setBSpace
blend?
{
cCMYKData load dup type /stringtype eq
{
dup length /cDataLen xs
/cData xs
gsave
colorType 0 ne noImg not and
{
invertXfer
} if
linImg
grestore
}
{
pop bFill
} ifelse
}
{
handleOP
} ifelse
grestore
nColors 1 gt
{
getRData
} if
} bd
/cmykGetRData
{
/fCMYK? false store
blend?
{
{
cmykDataProcs colorType get exec
} stopped
pop
blend?
{
/cData cCMYKData load store
setCDataLen
} if
} if
} def
/cmykDataProcs
[
{
pop
black? dup /blend? xs
{
setgray
0
} if
pop
}
{
cCMYKData load dup type /stringtype ne
{
0 0 0
cyan? not
{
4 magenta?
{
1
}
{
yellow?
{
2
}
{
3
} ifelse
} ifelse
roll
} if
4 copy add add add 0 eq
{
/blend? false store
} if
setcmykcolor
/startC? true store
/endC? true store
eCStop
stop
} if
pop
dup 0 eq
{
pop
setgray
}
{
1 eq
{
setcmykcolor
}
{
forceCMYK
} ifelse
} ifelse
} bind
/eCCBlend load
{
cBType 1 eq
{
tint1Data tint2Data
/tint1Data xs
/tint2Data xs
} if
0 eq
{
black?
{
setgray
}
{
0 0 0 4 -1 roll 1 exch sub setcmykcolor
} ifelse
black?
{
/blend? true store
} if
6
{
8 index
} repeat
ccThrough?
{
/blend? true store
}
{
black?
{
/cData tint1Data store
setCDataLen
}
{
/blend? false store
} ifelse
} ifelse
}
{
mark 7 1 roll
6 copy ccThrough?
{
forceCMYK
pop
stop
} if
9 index 0 eq
{
black? dup /blend? xs
{
pop 1 setgray
/cData tint2Data store
setCDataLen
0
} if
pop
}
{
/blend?
6
{
16 index
} repeat
ccThrough?
store
blend?
{
forceCMYK
} if
} ifelse
cleartomark
} ifelse
} bind
] def
/cmykGetRData
} if
composite? dup not
{
pop isCMYKSep?
} if
not
{
/endCapSepBc
{
/white? false store
pop pop
dup 0 eq
{
pop
/white? 1 index 1 eq store
setgray
}
{
1 eq
{
setcmykcolor
}
{
setCustomColor
} ifelse
} ifelse
%
currentcmykcolor anyColor?
endC? or
blend? and
{
bFill
}
{
handleOP
} ifelse
} bd
/Bc
{
gsave
setBSpace
nColors 1 gt
{
blend? startC? and
{
bFill
}
{
handleOP
} ifelse
}
{
endCapSepBc
} ifelse
grestore
newpath
} bd
/linealBm
{
/nColors dup load 1 sub store
newpath
gsave
setBSpace
blend?
{
cData type /stringtype eq
{
linImg
}
{
bFill
} ifelse
}
{
handleOP
} ifelse
grestore
nColors 1 gt
{
getRData
} if
} bd
/discardCMY
{
counttomark 4 add -3 roll pop pop pop
} bd
/testTopCC
{
6 copy ccThrough?
} bd
/getCRamp
{
{
ccDataProcs colorType 2 sub get exec
} stopped pop
blend? cDataLen 0 eq and
{
/cDataLen bDataLen store
} if
} bd
/ccGetRData
{
/fCMYK? false store
/startC? false store
/endC? false store
colorType 2 lt
{
/blend? false def
} if
blend?
{
getCRamp
}
{
setCStop
} ifelse
blend?
{
/blend? cData 1 ne store
blend?
{
cData dup type /stringtype ne
{
1 exch sub /cData xs 0
} if
pop
} if
} if
} def
/ccDataProcs
[
/eCCBlend load
{
cBType 1 eq
{
tint1Data tint2Data
/tint1Data xs
/tint2Data xs
} if
0 eq
{
/blend? false store
pop
}
{
mark 7 1 roll
testTopCC
{
/blend? 1 index 1 ne store
/startC? blend? store
/endC? false store
blend? not
{
cleartomark stop
} if
/cData tint1Data store
setCDataLen
setCustomColor
pop
stop
} if
cleartomark
} ifelse
2 index 0 eq
{
/blend? false store
}
{
mark 6
{
9 index
} repeat
testTopCC dup /blend? xs
{
/blend? 1 index 1 ne store
/endC? blend? store
/startC? false store
blend? not
{
cleartomark stop
} if
/cData tint2Data store
setCDataLen
} if
cleartomark
} ifelse
} bind
] def
/ccGetRData
} if
load Adobe_blend_AI5_vars /getData 3 -1 roll put
/setCDataLen
{
/cDataLen 0 cData dup type /stringtype eq
{
length exch
} if
pop store
} bd
/initSpotData
{
begin
/name null def
/tintImage null def
/tintValue null def
/spot_C null def
/spot_M null def
/spot_Y null def
/spot_K null def
end
} bd
/getRData
{
/colorType gMark store
_compositeSpotDevice 0 ne
{
spotDict begin
spot1 initSpotData
spot2 initSpotData
end
/spotColor? colorType 2 eq colorType 3 eq or def
}
{
/spotColor? false store
} ifelse
/blend? true store
0 0 0 0 setcmykcolor
100 div /rampPoint xs
% (between 13 and 87%)
100 div /midPoint xs
dup 0 eq
{
2
}
{
dup 1 eq
{
5
}
{
_compositeSpotDevice 0 ne
{
spotDict begin
spot1 begin
/name 3 index def
/spot_K 4 index def
/spot_Y 5 index def
/spot_M 6 index def
/spot_C 7 index def
end
end
} if
7
} ifelse
} ifelse
/tmp exch def
tmp index 100 div /endPoint xs
_compositeSpotDevice 0 ne
{
tmp 2 add index 3 eq
{
/tmp tmp 4 add def
tmp index dup
spotDict begin
spot1/name get ne
{
spot2 begin
/name exch def
/spot_K tmp 2 add index def
/spot_Y tmp 3 add index def
/spot_M tmp 4 add index def
/spot_C tmp 5 add index def
end
}
{
pop
} ifelse
end
} if
} if
/color? colorType 0 gt store
colorType 3 eq
{
/tint2Data gMark store
} if
colorType 2 ge
{
/tint1Data gMark store
} if
_compositeSpotDevice 0 ne
{
spotDict begin
colorType 2 ge
{
colorType 3 eq
{
spot2 begin
/tintImage cBType 0 eq {tint2Data} {tint1Data} ifelse def
name null eq {/name /Black def} if
end
} if
spot1 begin
/tintImage cBType 0 eq colorType 2 eq or {tint1Data} {tint2Data} ifelse def
colorType 2 eq
{
name null eq
{
/name spot2/name get def
spot2/name null put
} if
}
{
name null eq {/name /Black def} if
} ifelse
end
} if
end
} if
/cData gMark store
setCDataLen
colorType 0 gt
{
counttomark 4 add -3 roll
/yeData xs
/mgData xs
/cyData xs
} if
blend?
{
/bDataLen
cDataLen dup 0 eq color? and
{
[
cyData mgData yeData
]
{
dup type /stringtype eq
{
length exch pop exit
} if
pop
} forall
} if
store
bDataLen 0 eq
{
/bDataLen 1 store
} if
getData
blend?
{
composite? cDataLen 0 eq and
{
/cDataLen bDataLen store
} if
} if
}
{
setCStop
} ifelse
} bd
/Bg
{
0 0 0 0 setcmykcolor
6
{
pop
} repeat
/blendLength xs
pop pop pop
/cBName xs
/bRender xs
bRender 2 ne
{
composite? not
{
_of setoverprint
} if
_eo {eoclip} {clip} ifelse
_bn cBName 2 copy known
{
get
mark exch aload pop
/cBType xs
/nColors xs
mark exch aload pop
0 0
} if
pop pop
getRData
cBType 0 eq
{
/linealBm
}
{
bHi?
{
/pTState? nColors 2 gt store
} if
/doBlend /rdBlend load store
/rdBm
} ifelse
}
{
inLine? not
{
mark mark
} if
/Bc dup
{
cleartomark mark
} bd
/nullProc
} ifelse
load /Bm xs
} bd
/linImg
noImg
{
{
newpath doRctBlend
}
}
{
{
/doBlend
color? composite? and
{
/bCImg
}
{
/bwImage
} ifelse
load
store
0 0 moveto
tRectOK? composite? and
{
{
mark
0 1 dtransform atan cvi 90 mod 0 eq
1 0 dtransform atan cvi 90 mod 0 eq
} stopped
{
cleartomark
}
{
and exch pop
{
newpath
doRctBlend
}
{
doBlend
} ifelse
} ifelse
}
{
doBlend
} ifelse
}
} ifelse
bd
/doRctBlend
{
gsave
/sInc 1 store
/nSamples bDataLen store
/bInc 1 bDataLen div store
/ubAxis 1 0 dtransform dUserSpace idtransform dup mul exch dup mul add sqrt store
/pChange ubAxis 0 eq
{
0
}
{
bDataLen ubAxis div
} ifelse
store
pChange .5 gt noImg not and dup /optimize? xs
{
/nSamples ubAxis 2 div round cvi dup 1 le
{
pop 2
} if
store
/bInc 1 nSamples div store
/sInc bDataLen 1 sub nSamples 1 sub div store
} if
0
nSamples
[
/dup cvx
optimize?
{
/round cvx /cvi cvx
} if
/ndx /exch cvx /store cvx
bCFun
/rectfill where dup
{
exch pop _compositeSpotDevice 1 ne and
} if
{
0 0 bInc 1 /rectfill cvx
}
{
0 0 /moveto cvx
bInc 0 /lineto cvx
bInc 1 /lineto cvx
0 1 /lineto cvx
/closepath cvx
/_fill_ cvx
} ifelse
bInc 0 /translate cvx
sInc /add cvx
] cvx
bind
repeat
pop
spotColor? {nsetcustomcolorend} if
grestore
} bd
/rdPrep
{
/nSamples bDataLen dup 0 eq
{
pop 1
} if
store
/sInc -1 store
/bAxis rampPoint endPoint sub store
/bInc bAxis bDataLen div neg store
/optimize? false store
tRectOK?
{
/ubAxis
bAxis 0 dtransform dUserSpace idtransform dup mul exch dup mul add sqrt
0 bAxis dtransform dUserSpace idtransform dup mul exch dup mul add sqrt
2 copy lt
{
exch
} if
pop store
/pChange ubAxis 0 eq
{
0
}
{
bDataLen ubAxis div
} ifelse
store
pChange .5 gt noImg not and dup /optimize? xs
{
/nSamples ubAxis 2 div round cvi dup 1 le
{
pop 2
} if
store
/bInc bAxis nSamples div neg store
/sInc bDataLen 1 sub nSamples 1 sub div neg store
} if
} if
bHi?
{
/xBCInc xHi bAxis mul nSamples div store
/yBCInc yHi bAxis mul nSamples div store
} if
} bd
/rdBlend
{
newpath
gsave
rdPrep
rampPoint
bDataLen 1 sub
nSamples
[
/dup cvx
optimize?
{
/round cvx /cvi cvx
} if
/ndx /exch cvx /store cvx
bCFun
0 0 3 /index cvx 0 360 /arc cvx /_fill_ cvx
/exch cvx bInc /add cvx /exch cvx
sInc /add cvx
bHi?
{
xBCInc yBCInc /translate cvx
} if
] cvx
bind
repeat
pop pop
spotColor? {nsetcustomcolorend} if
grestore
pTState?
{
xHi bAxis mul yHi bAxis mul translate
} if
} bd
/Bh
{
pop pop
/pTState? false store
2 copy 0 ne exch 0 ne or dup /bHi? xs
{
/yHi xs
/xHi xs
0 0
} if
pop pop
} bd
/BD
{
inLine? not
{
] nColors cBType
] _bn cBName 3 -1 roll put
end
} if
} bd
/Bn
{
1 add dict
dup nullString null put
/_bn xs
} bd
/Bd
{
Adobe_blend_AI5_vars begin
3 -1 roll dup nullString eq dup
{
setSSave
} if
/inLine? exch def
/cBName exch def
/nColors exch def
/cBType exch def
} bd
/Bb
{
sSave null eq
{
Adobe_blend_AI5_vars begin
setSSave
} if
composite?
{
/_fill /fill load store
}
{
/__fill /fill load store
/_fill
{
_of true eq
{
currentgray 1 ne
{
__fill
} if
}
{
__fill
} ifelse
} def
} ifelse
/fill
{
} def
} bd
/BB
{
/cBType xs
cleartomark cleartomark
cBType dup
bRender
sSave dup type /savetype eq
{
restore 0
} if
pop
currentdict Adobe_blend_AI5_vars eq
{
end
} if
2 ne exch 0 gt and
{
2 eq
{
s
}
{
S
} ifelse
}
{
pop newpath
} ifelse
} bd
currentdict readonly pop
end
end
defaultpacking setpacking
%%EndResource
%%BeginResource: procset Adobe_pattern_AI5 1.1 0
%%Title: (Adobe Illustrator (R) Version 5.0 Pattern Operators)
%%Version: 1.1 0
%%CreationDate: (03/26/93) ()
%%Copyright: ((C) 1987-1996 Adobe Systems Incorporated All Rights Reserved)
currentpacking true setpacking
userdict /Adobe_Illustrator_AI5 known not {
userdict /Adobe_Illustrator_AI5 95 dict put
} if
userdict /Adobe_Illustrator_AI5 get begin
/@
{
} def
/&
{
} def
/dp
{
dup null eq
{
pop
_dp 0 ne
{
0 1 _dp 1 sub _dl mod
{
_da exch get 3 get
} for
_dp 1 sub _dl mod 1 add packedarray
_da 0 get aload pop 8 -1 roll 5 -1 roll pop 4 1 roll
definepattern pop
} if
}
{
_dp 0 ne _dp _dl mod 0 eq and
{
null dp
} if
7 packedarray _da exch _dp _dl mod exch put
_dp _dl mod _da 0 get 4 get 2 packedarray
/_dp _dp 1 add def
} ifelse
} def
/E
{
_ed begin
dup 0 get type /arraytype ne
{
0
{
dup 1 add index type /arraytype eq
{
1 add
}
{
exit
} ifelse
} loop
array astore
} if
/_dd exch def
/_ury exch def
/_urx exch def
/_lly exch def
/_llx exch def
/_n exch def
/_y 0 def
/_dl 4 def
/_dp 0 def
/_da _dl array def
0 1 _dd length 1 sub
{
/_d exch _dd exch get def
0 2 _d length 2 sub
{
/_x exch def
/_c _d _x get _ ne def
/_r _d _x 1 add get cvlit def
_r _ ne
{
_urx _llx sub _ury _lly sub
[
1 0 0 1 0 0
]
[
/save cvx
_llx neg _lly neg /translate cvx
_c
{
nc /begin cvx
} if
_r dup type /stringtype eq
{
cvx
}
{
{
exec
} /forall cvx
} ifelse
_c
{
/end cvx
} if
/restore cvx
] cvx
/_fn 12 _n length add string def
_y _fn cvs pop
/_y _y 1 add def
_fn 12 _n putinterval
_fn _c false dp
_d exch _x 1 add exch put
} if
} for
} for
null dp
_n _dd /_pd
end
xput
} def
/fc
{
_fm dup concatmatrix pop
} def
/p
{
/_fm exch ddef
9 -2 roll _pm translate fc
7 -2 roll _pm scale fc
5 -1 roll _pm rotate fc
4 -2 roll exch 0 ne
{
dup _pm rotate fc
1 -1 _pm scale fc
neg _pm rotate fc
}
{
pop
} ifelse
dup _pm rotate fc
exch dup sin exch cos div 1 0 0 1 0 6 2 roll
_pm astore fc
neg _pm rotate fc
_pd exch get /_fdd exch ddef
/_pf
{
save
/_doClip 0 ddef
0 1 _fdd length 1 sub
{
/_fd exch _fdd exch get ddef
_fd
0 2 _fd length 2 sub
{
gsave
2 copy get dup _ ne
{
cvx exec _fc
}
{
pop
} ifelse
2 copy 1 add get dup _ ne
{
aload pop findfont _fm
patternfill
}
{
pop
fill
} ifelse
grestore
pop
} for
pop
} for
restore
newpath
} ddef
/_psf
{
save
/_doClip 0 ddef
0 1 _fdd length 1 sub
{
/_fd exch _fdd exch get ddef
_fd
0 2 _fd length 2 sub
{
gsave
2 copy get dup _ ne
{
cvx exec _fc
}
{
pop
} ifelse
2 copy 1 add get dup _ ne
{
aload pop findfont _fm
9 copy 6 npop patternashow
}
{
pop
6 copy 3 npop hvashow
} ifelse
grestore
pop
} for
pop
} for
restore
sw rmoveto
} ddef
/_pjsf
{
save
/_doClip 0 ddef
0 1 _fdd length 1 sub
{
/_fd exch _fdd exch get ddef
_fd
0 2 _fd length 2 sub
{
gsave
2 copy get dup _ ne
{
cvx exec _fc
}
{
pop
} ifelse
2 copy 1 add get dup _ ne
{
aload pop findfont _fm
12 copy 6 npop patternawidthshow
}
{
pop 9 copy 3 npop hvawidthshow
} ifelse
grestore
pop
} for
pop
} for
restore
swj rmoveto
} ddef
/_lp /none ddef
} def
/sc
{
_sm dup concatmatrix pop
} def
/P
{
/_sm exch ddef
9 -2 roll _pm translate sc
7 -2 roll _pm scale sc
5 -1 roll _pm rotate sc
4 -2 roll exch 0 ne
{
dup _pm rotate sc
1 -1 _pm scale sc
neg _pm rotate sc
}
{
pop
} ifelse
dup _pm rotate sc
exch dup sin exch cos div 1 0 0 1 0 6 2 roll
_pm astore sc
neg _pm rotate sc
_pd exch get /_sdd exch ddef
/_ps
{
save
/_doClip 0 ddef
0 1 _sdd length 1 sub
{
/_sd exch _sdd exch get ddef
_sd
0 2 _sd length 2 sub
{
gsave
2 copy get dup _ ne
{
cvx exec _sc
}
{
pop
} ifelse
2 copy 1 add get dup _ ne
{
aload pop findfont _sm
patternstroke
}
{
pop stroke
} ifelse
grestore
pop
} for
pop
} for
restore
newpath
} ddef
/_pss
{
save
/_doClip 0 ddef
0 1 _sdd length 1 sub
{
/_sd exch _sdd exch get ddef
_sd
0 2 _sd length 2 sub
{
gsave
2 copy get dup _ ne
{
cvx exec _sc
}
{
pop
} ifelse
2 copy 1 add get dup _ ne
{
aload pop findfont _sm
10 copy 6 npop patternashowstroke
}
{
pop 7 copy 3 npop ss
} ifelse
grestore
pop
} for
pop
} for
restore
pop sw rmoveto
} ddef
/_pjss
{
save
/_doClip 0 ddef
0 1 _sdd length 1 sub
{
/_sd exch _sdd exch get ddef
_sd
0 2 _sd length 2 sub
{
gsave
2 copy get dup _ ne
{
cvx exec _sc
}
{
pop
} ifelse
2 copy 1 add get dup _ ne
{
aload pop findfont _sm
13 copy 6 npop patternawidthshowstroke
}
{
pop 10 copy 3 npop jss
} ifelse
grestore
pop
} for
pop
} for
restore
pop swj rmoveto
} ddef
/_lp /none ddef
} def
end
userdict /Adobe_pattern_AI5 18 dict dup begin
put
/initialize
{
/definepattern where
{
pop
}
{
begin
begin
Adobe_pattern_AI5 begin
Adobe_pattern_AI5
{
dup xcheck
{
bind
} if
pop pop
} forall
mark
cachestatus 7 1 roll pop pop pop pop exch pop exch
{
{
10000 add
dup 2 index gt
{
exit
} if
dup setcachelimit
} loop
} stopped
cleartomark
end
end
end
Adobe_pattern_AI5 begin
} ifelse
} def
/terminate
{
currentdict Adobe_pattern_AI5 eq
{
end
} if
} def
errordict
/nocurrentpoint
{
pop
stop
} put
errordict
/invalidaccess
{
pop
stop
} put
/patternencoding
256 array def
0 1 255
{
patternencoding exch ( ) 2 copy exch 0 exch put cvn put
} for
/definepattern
{
17 dict begin
/uniform exch def
/cache exch def
/key exch def
/procarray exch def
/mtx exch matrix invertmatrix def
/height exch def
/width exch def
/ctm matrix currentmatrix def
/ptm matrix def
/str 32 string def
/slice 9 dict def
slice /s 1 put
slice /q 256 procarray length div sqrt floor cvi put
slice /b 0 put
/FontBBox
[
0 0 0 0
] def
/FontMatrix mtx matrix copy def
/Encoding patternencoding def
/FontType 3 def
/BuildChar
{
exch
begin
/setstrokeadjust where {pop true setstrokeadjust} if
slice begin
dup q dup mul mod s idiv /i exch def
dup q dup mul mod s mod /j exch def
q dup mul idiv procarray exch get
/xl j width s div mul def
/xg j 1 add width s div mul def
/yl i height s div mul def
/yg i 1 add height s div mul def
uniform
{
1 1
}
{
width 0 dtransform
dup mul exch dup mul add sqrt dup 1 add exch div
0 height dtransform
dup mul exch dup mul add sqrt dup 1 add exch div
} ifelse
width 0 cache
{
xl 4 index mul yl 4 index mul xg 6 index mul yg 6 index mul
setcachedevice
}
{
setcharwidth
} ifelse
gsave
scale
newpath
xl yl moveto
xg yl lineto
xg yg lineto
xl yg lineto
closepath
clip
newpath
end
end
exec
grestore
} def
key currentdict definefont
end
} def
/patterncachesize
{
gsave
newpath
0 0 moveto
width 0 lineto
width height lineto
0 height lineto
closepath
patternmatrix setmatrix
pathbbox
exch ceiling 4 -1 roll floor sub 3 1 roll
ceiling exch floor sub
mul 1 add
grestore
} def
/patterncachelimit
{
cachestatus 7 1 roll 6 npop 8 mul
} def
/patternpath
{
exch dup begin
setfont
ctm setmatrix
concat
slice exch /b exch slice /q get dup mul mul put
FontMatrix concat
uniform
{
width 0 dtransform round width div exch round width div exch
0 height dtransform round height div exch height div exch
0 0 transform round exch round exch
ptm astore setmatrix
}
{
ptm currentmatrix pop
} ifelse
{
currentpoint
} stopped not
{
2 npop
pathbbox
true
4 index 3 index eq
4 index 3 index eq
and
{
pop false
{
{
2 npop
}
{
3 npop true
}
{
7 npop true
}
{
pop true
} pathforall
} stopped
{
5 npop true
} if
} if
{
height div ceiling height mul 4 1 roll
width div ceiling width mul 4 1 roll
height div floor height mul 4 1 roll
width div floor width mul 4 1 roll
2 index sub height div ceiling cvi exch
3 index sub width div ceiling cvi exch
4 2 roll moveto
FontMatrix mtx invertmatrix
dup dup 4 get exch 5 get rmoveto
ptm ptm concatmatrix pop
slice /s
patterncachesize patterncachelimit div ceiling sqrt ceiling cvi
dup slice /q get gt
{
pop slice /q get
} if
put
0 1 slice /s get dup mul 1 sub
{
slice /b get add
gsave
0 1 str length 1 sub
{
str exch 2 index put
} for
pop
dup
{
gsave
ptm setmatrix
1 index str length idiv
{
str show
} repeat
1 index str length mod str exch 0 exch getinterval show
grestore
0 height rmoveto
} repeat
grestore
} for
2 npop
}
{
4 npop
} ifelse
} if
end
} def
/patternclip
{
_eo {eoclip} {clip} ifelse
} def
/patternstrokepath
{
strokepath
} def
/patternmatrix
matrix def
/patternfill
{
dup type /dicttype eq
{
Adobe_pattern_AI5 /patternmatrix get
} if
gsave
patternclip
Adobe_pattern_AI5 /patternpath get exec
grestore
newpath
} def
/patternstroke
{
dup type /dicttype eq
{
Adobe_pattern_AI5 /patternmatrix get
} if
gsave
patternstrokepath
true
{
{
{
newpath
moveto
}
{
lineto
}
{
curveto
}
{
closepath
3 copy
Adobe_pattern_AI5 /patternfill get exec
} pathforall
3 npop
} stopped
{
5 npop
patternclip
Adobe_pattern_AI5 /patternfill get exec
} if
}
{
patternclip
Adobe_pattern_AI5 /patternfill get exec
} ifelse
grestore
newpath
} def
/vpatternawidthshow
{
6 1 roll
/_hvay exch ddef
/_hvax exch ddef
/_hvwb exch ddef
/_hvcy exch ddef
/_hvcx exch ddef
{
dup cstring
dup length 1 eq
_charorientation 1 eq
and
{
-90 rotate
currentpoint
_fontRotateAdjust add
moveto
gsave
false charpath currentpoint
5 index 5 index 5 index Adobe_pattern_AI5 /patternfill get exec
grestore
_fontRotateAdjust sub
moveto
_hvwb eq { _hvcx _hvcy rmoveto } if
_hvax _hvay rmoveto
90 rotate
}
{
currentpoint
_fontHeight sub
_hvax sub
3 index _hvwb eq { _hvcx sub } if
currentpoint
exch 4 index stringwidth pop 2 div sub
exch _fontAscent sub
moveto
gsave
2 index false charpath
6 index 6 index 6 index Adobe_pattern_AI5 /patternfill get exec
grestore
newpath moveto pop pop
} ifelse
} cforall
3 npop
} def
/hpatternawidthshow
{
{
dup cstring exch
gsave
3 index eq { 5 index 5 index rmoveto } if
false charpath currentpoint
9 index 9 index 9 index
Adobe_pattern_AI5 /patternfill get exec
grestore
newpath moveto
2 copy rmoveto
} cforall
8 npop
} def
/patternashow
{
0 0 0 6 3 roll
patternawidthshow
} def
/patternawidthshow
{
6 index type /dicttype eq
{
Adobe_pattern_AI5 /patternmatrix get 7 1 roll
} if
_lineorientation 0 eq { hpatternawidthshow } { vpatternawidthshow } ifelse
} def
/vpatternawidthshowstroke
{
7 1 roll
6 1 roll
/_hvay exch ddef
/_hvax exch ddef
/_hvwb exch ddef
/_hvcy exch ddef
/_hvcx exch ddef
{
dup cstring
dup length 1 eq
_charorientation 1 eq
and
{
-90 rotate
currentpoint
_fontRotateAdjust add
moveto
gsave
false charpath currentpoint
3 index setmatrix
6 index 6 index 6 index Adobe_pattern_AI5 /patternstroke get exec
grestore
_fontRotateAdjust sub
moveto
_hvwb eq { _hvcx _hvcy rmoveto } if
_hvax _hvay rmoveto
90 rotate
}
{
currentpoint
_fontHeight sub
_hvax sub
3 index _hvwb eq { _hvcx sub } if
currentpoint
exch 4 index stringwidth pop 2 div sub
exch _fontAscent sub
moveto
gsave
2 index false charpath
4 index setmatrix
7 index 7 index 7 index Adobe_pattern_AI5 /patternstroke get exec
grestore
newpath moveto pop pop
} ifelse
} cforall
4 npop
} def
/hpatternawidthshowstroke
{
7 1 roll
{
dup cstring exch
gsave
3 index eq { 5 index 5 index rmoveto } if
false charpath currentpoint
7 index setmatrix
10 index 10 index 10 index
Adobe_pattern_AI5 /patternstroke get exec
grestore
newpath moveto
2 copy rmoveto
} cforall
9 npop
} def
/patternashowstroke
{
0 0 0 7 3 roll
patternawidthshowstroke
} def
/patternawidthshowstroke
{
7 index type /dicttype eq
{
patternmatrix /patternmatrix get 8 1 roll
} if
_lineorientation 0 eq { hpatternawidthshowstroke } { vpatternawidthshowstroke } ifelse
} def
end
setpacking
%%EndResource
%%EndProlog
%%BeginSetup
Adobe_level2_AI5 /initialize get exec
Adobe_screens_AI5 /initialize get exec
Adobe_Illustrator_AI5_vars Adobe_Illustrator_AI5 Adobe_typography_AI5 /initialize get exec
Adobe_Illustrator_AI5_vars Adobe_Illustrator_AI5 Adobe_blend_AI5 /initialize get exec
Adobe_Illustrator_AI5_vars Adobe_Illustrator_AI5 Adobe_pattern_AI5 /initialize get exec
Adobe_ColorImage_AI6 /initialize get exec
Adobe_Illustrator_AI5 /initialize get exec
[
39/quotesingle 96/grave 130/quotesinglbase 131/florin 132/quotedblbase
133/ellipsis 134/dagger 135/daggerdbl 136/circumflex 137/perthousand
138/Scaron 139/guilsinglleft 140/OE 145/quoteleft 146/quoteright
147/quotedblleft 148/quotedblright 149/bullet 150/endash 151/emdash
152/tilde 153/trademark 154/scaron 155/guilsinglright 156/oe 157/dotlessi
159/Ydieresis 164/currency 166/brokenbar 168/dieresis 169/copyright
170/ordfeminine 172/logicalnot 174/registered 175/macron 176/ring
177/plusminus 178/twosuperior 179/threesuperior 180/acute 181/mu
183/periodcentered 184/cedilla 185/onesuperior 186/ordmasculine
188/onequarter 189/onehalf 190/threequarters 192/Agrave 193/Aacute
194/Acircumflex 195/Atilde 196/Adieresis 197/Aring 198/AE 199/Ccedilla
200/Egrave 201/Eacute 202/Ecircumflex 203/Edieresis 204/Igrave 205/Iacute
206/Icircumflex 207/Idieresis 208/Eth 209/Ntilde 210/Ograve 211/Oacute
212/Ocircumflex 213/Otilde 214/Odieresis 215/multiply 216/Oslash
217/Ugrave 218/Uacute 219/Ucircumflex 220/Udieresis 221/Yacute 222/Thorn
223/germandbls 224/agrave 225/aacute 226/acircumflex 227/atilde 228/adieresis
229/aring 230/ae 231/ccedilla 232/egrave 233/eacute 234/ecircumflex
235/edieresis 236/igrave 237/iacute 238/icircumflex 239/idieresis
240/eth 241/ntilde 242/ograve 243/oacute 244/ocircumflex 245/otilde
246/odieresis 247/divide 248/oslash 249/ugrave 250/uacute 251/ucircumflex
252/udieresis 253/yacute 254/thorn 255/ydieresis
TE
%AI3_BeginEncoding: _Helvetica Helvetica
[
/_Helvetica/Helvetica 0 0 1 TZ
%AI3_EndEncoding AdobeType
%AI3_BeginEncoding: _Helvetica-Bold Helvetica-Bold
[
/_Helvetica-Bold/Helvetica-Bold 0 0 1 TZ
%AI3_EndEncoding AdobeType
%AI3_BeginEncoding: _Helvetica-Oblique Helvetica-Oblique
[
/_Helvetica-Oblique/Helvetica-Oblique 0 0 1 TZ
%AI3_EndEncoding AdobeType
%AI3_BeginEncoding: _Helvetica-BoldOblique Helvetica-BoldOblique
[
/_Helvetica-BoldOblique/Helvetica-BoldOblique 0 0 1 TZ
%AI3_EndEncoding AdobeType
%AI3_BeginEncoding: _Times-Roman Times-Roman
[
/_Times-Roman/Times-Roman 0 0 1 TZ
%AI3_EndEncoding AdobeType
%AI3_BeginEncoding: _Times-Bold Times-Bold
[
/_Times-Bold/Times-Bold 0 0 1 TZ
%AI3_EndEncoding AdobeType
%AI3_BeginEncoding: _Times-Italic Times-Italic
[
/_Times-Italic/Times-Italic 0 0 1 TZ
%AI3_EndEncoding AdobeType
%AI3_BeginEncoding: _Times-BoldItalic Times-BoldItalic
[
/_Times-BoldItalic/Times-BoldItalic 0 0 1 TZ
%AI3_EndEncoding AdobeType
%AI3_BeginEncoding: _Courier Courier
[
/_Courier/Courier 0 0 1 TZ
%AI3_EndEncoding AdobeType
%AI3_BeginEncoding: _Courier-Bold Courier-Bold
[
/_Courier-Bold/Courier-Bold 0 0 1 TZ
%AI3_EndEncoding AdobeType
%AI3_BeginEncoding: _Courier-Oblique Courier-Oblique
[
/_Courier-Oblique/Courier-Oblique 0 0 1 TZ
%AI3_EndEncoding AdobeType
%AI3_BeginEncoding: _Courier-BoldOblique Courier-BoldOblique
[
/_Courier-BoldOblique/Courier-BoldOblique 0 0 1 TZ
%AI3_EndEncoding AdobeType
%AI3_BeginEncoding: _Symbol Symbol
[
/_Symbol/Symbol 0 0 1 TZ
%AI3_EndEncoding AdobeType
%%EndSetup
1 XR
u
[] 0 d
0.0000 w
0.000 0.000 0.000 1.000 K
1 J
1 j
486.5092 139.3278 m
486.5092 181.0183 L
S
U
u
0.000 0.000 0.000 1.000 k
0.0000 w
0.000 0.000 0.000 1.000 K
483.7537 180.2995 m
486.5092 188.5657 L
489.2646 180.2995 L
483.7537 180.2995 L
F
U
u
0.0000 w
485.4309 276.0200 m
485.4309 298.9018 L
S
U
u
0.000 0.000 0.000 1.000 k
0.0000 w
482.6755 298.1830 m
485.4309 306.4493 L
488.1864 298.1830 L
482.6755 298.1830 L
F
U
u
0.0000 w
379.7671 466.8619 m
379.7671 492.2596 L
S
U
u
0.000 0.000 0.000 1.000 k
0.0000 w
377.0116 491.5408 m
379.7671 499.8070 L
382.5225 491.5408 L
377.0116 491.5408 L
F
U
u
0.000 0.000 0.000 0.000 k
370.0632 477.5241 m
388.5125 477.5241 L
388.5125 488.9052 L
370.0632 488.9052 L
370.0632 477.5241 L
F
U
0 To
1.0000 0.0000 0.0000 1.0000 371.1414 480.5191 0 Tp
TP
/_Helvetica 8.0000 Tf
0.0000 Tc
0 Tr
0 j
0.000 0.000 0.000 1.000 k
(UCT\r) Tx
TO
0.000 0.000 0.000 1.000 K
u
0.0000 w
1 j
503.7604 355.2080 m
503.7604 368.6256 L
503.7604 368.6256 L
503.7604 400.8519 L
S
U
u
0.000 0.000 0.000 1.000 k
0.0000 w
501.0050 400.1331 m
503.7604 408.3993 L
506.5158 400.1331 L
501.0050 400.1331 L
F
U
u
0.000 0.000 0.000 0.000 k
493.8170 376.4126 m
513.7038 376.4126 L
513.7038 387.7937 L
493.8170 387.7937 L
493.8170 376.4126 L
F
U
0 To
1.0000 0.0000 0.0000 1.0000 494.7754 379.4077 0 Tp
TP
/_Helvetica 8.0000 Tf
0.0000 Tc
0 Tr
0 j
0.000 0.000 0.000 1.000 k
(UCT\r) Tx
TO
0.000 0.000 0.000 1.000 K
u
0.0000 w
1 j
379.1681 354.8486 m
379.1681 368.6256 L
379.2879 368.6256 L
379.2879 419.6606 L
S
U
u
0.000 0.000 0.000 1.000 k
0.0000 w
376.5324 418.9418 m
379.2879 427.2080 L
382.0433 418.9418 L
376.5324 418.9418 L
F
U
u
0.000 0.000 0.000 0.000 k
362.0366 378.4493 m
397.8569 378.4493 L
397.8569 389.8303 L
362.0366 389.8303 L
362.0366 378.4493 L
F
U
0 To
1.0000 0.0000 0.0000 1.0000 363.1148 381.4443 0 Tp
TP
/_Helvetica 8.0000 Tf
0.0000 Tc
0 Tr
0 j
0.000 0.000 0.000 1.000 k
(!intCheck\r) Tx
TO
0.000 0.000 0.000 1.000 K
u
0.000 0.000 0.000 0.000 k
0.0000 w
1 j
37.3777 513.4642 m
563.3012 513.4642 L
563.3012 526.2829 L
37.3777 526.2829 L
37.3777 513.4642 L
B
U
0 To
1.0000 0.0000 0.0000 1.0000 293.5108 517.0582 0 Tp
TP
/_Helvetica 8.0000 Tf
0.0000 Tc
0 Tr
0.0000 w
0 j
0.000 0.000 0.000 1.000 k
(IDLE\r) Tx
TO
0.000 0.000 0.000 1.000 K
u
0.000 0.000 0.000 0.000 k
0.0000 w
1 j
37.3777 499.8070 m
563.3012 499.8070 L
563.3012 513.4642 L
37.3777 513.4642 L
37.3777 499.8070 L
B
U
u
0.000 0.000 0.000 0.000 k
444.4592 453.2047 m
563.3012 453.2047 L
563.3012 466.8619 L
444.4592 466.8619 L
444.4592 453.2047 L
B
U
0 To
1.0000 0.0000 0.0000 1.0000 473.0915 457.6373 0 Tp
TP
/_Helvetica 8.0000 Tf
0.0000 Tc
0 Tr
0.0000 w
0 j
0.000 0.000 0.000 1.000 k
(SEND_REQUEST\r) Tx
TO
0.000 0.000 0.000 1.000 K
u
0.000 0.000 0.000 0.000 k
0.0000 w
1 j
444.4592 408.3993 m
563.3012 408.3993 L
563.3012 453.2047 L
444.4592 453.2047 L
444.4592 408.3993 L
B
U
0 To
1.0000 0.0000 0.0000 1.0000 450.4493 444.0998 0 Tp
TP
/_Helvetica 8.0000 Tf
0.0000 Tc
0 Tr
0.0000 w
0 j
0.000 0.000 0.000 1.000 k
(retransCount = 0\r) Tx
TO
0.000 0.000 0.000 1.000 K
0 To
1.0000 0.0000 0.0000 1.0000 450.4493 434.5158 0 Tp
TP
/_Helvetica 8.0000 Tf
0.0000 Tc
0 Tr
0.000 0.000 0.000 1.000 k
(lastReqData = eapReqData\r) Tx
TO
0.000 0.000 0.000 1.000 K
0 To
1.0000 0.0000 0.0000 1.0000 450.4493 424.9318 0 Tp
TP
/_Helvetica 8.0000 Tf
0.0000 Tc
0 Tr
0.000 0.000 0.000 1.000 k
(eapResp = FALSE\r) Tx
TO
0.000 0.000 0.000 1.000 K
0 To
1.0000 0.0000 0.0000 1.0000 450.4493 415.3478 0 Tp
TP
/_Helvetica 8.0000 Tf
0.0000 Tc
0 Tr
0.000 0.000 0.000 1.000 k
(eapReq = TRUE\r) Tx
TO
0.000 0.000 0.000 1.000 K
u
0.0000 w
1 j
503.8802 466.8619 m
503.8802 480.1597 L
503.8802 480.1597 L
503.8802 491.6606 L
S
U
u
0.000 0.000 0.000 1.000 k
0.0000 w
501.1248 491.0616 m
503.8802 499.3278 L
506.6356 491.0616 L
501.1248 491.0616 L
F
U
u
0.000 0.000 0.000 0.000 k
495.2546 477.0449 m
513.7038 477.0449 L
513.7038 488.4260 L
495.2546 488.4260 L
495.2546 477.0449 L
F
U
0 To
1.0000 0.0000 0.0000 1.0000 496.2130 480.0399 0 Tp
TP
/_Helvetica 8.0000 Tf
0.0000 Tc
0 Tr
0 j
0.000 0.000 0.000 1.000 k
(UCT\r) Tx
TO
0.000 0.000 0.000 1.000 K
u
0.000 0.000 0.000 0.000 k
0.0000 w
1 j
131.5408 560.5458 m
229.1780 560.5458 L
229.1780 574.6822 L
131.5408 574.6822 L
131.5408 560.5458 L
B
U
0 To
1.0000 0.0000 0.0000 1.0000 162.5691 565.4576 0 Tp
TP
/_Helvetica 8.0000 Tf
0.0000 Tc
0 Tr
0.0000 w
0 j
0.000 0.000 0.000 1.000 k
(DISABLED\r) Tx
TO
0.000 0.000 0.000 1.000 K
u
0.000 0.000 0.000 0.000 k
0.0000 w
1 j
131.5408 546.8885 m
229.1780 546.8885 L
229.1780 560.5458 L
131.5408 560.5458 L
131.5408 546.8885 L
B
U
0 To
1.0000 0.0000 0.0000 1.0000 137.5308 551.3211 0 Tp
TP
/_Helvetica 8.0000 Tf
0.0000 Tc
0 Tr
0.0000 w
0 j
0.000 0.000 0.000 1.000 k
(eapRestart\r) Tx
TO
0.000 0.000 0.000 1.000 K
0 To
1.0000 0.0000 0.0000 1.0000 176.7055 551.3211 0 Tp
TP
/_Helvetica 8.0000 Tf
0.0000 Tc
0 Tr
0.000 0.000 0.000 1.000 k
( = FALSE\r) Tx
TO
0.000 0.000 0.000 1.000 K
u
0.000 0.000 0.000 0.000 k
0.0000 w
1 j
300.9384 561.0250 m
445.6572 561.0250 L
445.6572 574.6822 L
300.9384 574.6822 L
300.9384 561.0250 L
B
U
0 To
1.0000 0.0000 0.0000 1.0000 355.3278 565.4576 0 Tp
TP
/_Helvetica 8.0000 Tf
0.0000 Tc
0 Tr
0.0000 w
0 j
0.000 0.000 0.000 1.000 k
(INITIALIZE\r) Tx
TO
0.000 0.000 0.000 1.000 K
u
0.000 0.000 0.000 0.000 k
0.0000 w
1 j
300.9384 546.8885 m
445.6572 546.8885 L
445.6572 561.0250 L
300.9384 561.0250 L
300.9384 546.8885 L
B
U
0 To
1.0000 0.0000 0.0000 1.0000 306.9285 551.9201 0 Tp
TP
/_Helvetica 8.0000 Tf
0.0000 Tc
0 Tr
0.0000 w
0 j
0.000 0.000 0.000 1.000 k
(currentId = NONE\r) Tx
TO
0.000 0.000 0.000 1.000 K
u
0.0000 w
1 j
229.1780 560.7854 m
293.3910 560.7854 L
S
U
u
0.000 0.000 0.000 1.000 k
0.0000 w
292.6722 563.5408 m
300.9384 560.7854 L
292.6722 558.0300 L
292.6722 563.5408 L
F
U
u
0.0000 w
445.6572 560.7854 m
576.8386 560.7854 L
576.8386 119.9201 L
570.3694 119.9201 L
S
U
u
0.000 0.000 0.000 1.000 k
0.0000 w
571.0882 117.1647 m
562.8220 119.9201 L
571.0882 122.6755 L
571.0882 117.1647 L
F
U
u
0.000 0.000 0.000 0.000 k
0.0000 w
320.1065 453.2047 m
438.8286 453.2047 L
438.8286 466.8619 L
320.1065 466.8619 L
320.1065 453.2047 L
B
U
0 To
1.0000 0.0000 0.0000 1.0000 363.4742 457.6373 0 Tp
TP
/_Helvetica 8.0000 Tf
0.0000 Tc
0 Tr
0.0000 w
0 j
0.000 0.000 0.000 1.000 k
(DISCARD\r) Tx
TO
0.000 0.000 0.000 1.000 K
u
0.000 0.000 0.000 0.000 k
0.0000 w
1 j
320.1065 426.9684 m
438.8286 426.9684 L
438.8286 453.2047 L
320.1065 453.2047 L
320.1065 426.9684 L
B
U
0 To
1.0000 0.0000 0.0000 1.0000 325.9767 444.0998 0 Tp
TP
/_Helvetica 8.0000 Tf
0.0000 Tc
0 Tr
0.0000 w
0 j
0.000 0.000 0.000 1.000 k
(eapResp = FALSE\r) Tx
TO
0.000 0.000 0.000 1.000 K
0 To
1.0000 0.0000 0.0000 1.0000 325.9767 434.5158 0 Tp
TP
/_Helvetica 8.0000 Tf
0.0000 Tc
0 Tr
0.000 0.000 0.000 1.000 k
(eapNoReq = TRUE\r) Tx
TO
0.000 0.000 0.000 1.000 K
u
0.000 0.000 0.000 0.000 k
0.0000 w
1 j
402.8885 54.5092 m
563.3012 54.5092 L
563.3012 68.0466 L
402.8885 68.0466 L
402.8885 54.5092 L
B
U
0 To
1.0000 0.0000 0.0000 1.0000 465.7837 58.9418 0 Tp
TP
/_Helvetica 8.0000 Tf
0.0000 Tc
0 Tr
0.0000 w
0 j
0.000 0.000 0.000 1.000 k
(SUCCESS\r) Tx
TO
0.000 0.000 0.000 1.000 K
u
0.000 0.000 0.000 0.000 k
0.0000 w
1 j
402.8885 1.3178 m
563.3012 1.3178 L
563.3012 54.5092 L
402.8885 54.5092 L
402.8885 1.3178 L
B
U
0 To
1.0000 0.0000 0.0000 1.0000 408.8785 45.2845 0 Tp
TP
/_Helvetica 8.0000 Tf
0.0000 Tc
0 Tr
0.0000 w
0 j
0.000 0.000 0.000 1.000 k
(currentId = nextId\(currentId\)\r) Tx
TO
0.000 0.000 0.000 1.000 K
0 To
1.0000 0.0000 0.0000 1.0000 408.8785 35.8203 0 Tp
TP
/_Helvetica 8.0000 Tf
0.0000 Tc
0 Tr
0.000 0.000 0.000 1.000 k
(eapReqData = buildSuccess\(currentId\)\r) Tx
TO
0.000 0.000 0.000 1.000 K
0 To
1.0000 0.0000 0.0000 1.0000 408.8785 26.2363 0 Tp
TP
/_Helvetica 8.0000 Tf
0.0000 Tc
0 Tr
0.000 0.000 0.000 1.000 k
(if \(eapKeyData != NONE\)\r) Tx
TO
0.000 0.000 0.000 1.000 K
0 To
1.0000 0.0000 0.0000 1.0000 408.8785 16.6522 0 Tp
TP
/_Helvetica 8.0000 Tf
0.0000 Tc
0 Tr
0.000 0.000 0.000 1.000 k
( eapKeyAvailable = TRUE\r) Tx
TO
0.000 0.000 0.000 1.000 K
0 To
1.0000 0.0000 0.0000 1.0000 408.8785 7.0682 0 Tp
TP
/_Helvetica 8.0000 Tf
0.0000 Tc
0 Tr
0.000 0.000 0.000 1.000 k
(eapSuccess = TRUE\r) Tx
TO
0.000 0.000 0.000 1.000 K
u
0.000 0.000 0.000 0.000 k
0.0000 w
1 j
232.5324 53.9101 m
392.9451 53.9101 L
392.9451 67.5674 L
232.5324 67.5674 L
232.5324 53.9101 L
B
U
0 To
1.0000 0.0000 0.0000 1.0000 297.8236 58.3428 0 Tp
TP
/_Helvetica 8.0000 Tf
0.0000 Tc
0 Tr
0.0000 w
0 j
0.000 0.000 0.000 1.000 k
(FAILURE\r) Tx
TO
0.000 0.000 0.000 1.000 K
u
0.000 0.000 0.000 0.000 k
0.0000 w
1 j
232.5324 1.3178 m
392.9451 1.3178 L
392.9451 53.9101 L
232.5324 53.9101 L
232.5324 1.3178 L
B
U
0 To
1.0000 0.0000 0.0000 1.0000 238.5225 44.8053 0 Tp
TP
/_Helvetica 8.0000 Tf
0.0000 Tc
0 Tr
0.0000 w
0 j
0.000 0.000 0.000 1.000 k
(currentId = nextId\(currentId\)\r) Tx
TO
0.000 0.000 0.000 1.000 K
0 To
1.0000 0.0000 0.0000 1.0000 238.5225 35.3411 0 Tp
TP
/_Helvetica 8.0000 Tf
0.0000 Tc
0 Tr
0.000 0.000 0.000 1.000 k
(eapReqData = buildFailure\(currentId\)\r) Tx
TO
0.000 0.000 0.000 1.000 K
0 To
1.0000 0.0000 0.0000 1.0000 238.5225 25.7571 0 Tp
TP
/_Helvetica 8.0000 Tf
0.0000 Tc
0 Tr
0.000 0.000 0.000 1.000 k
(eapFail = TRUE\r) Tx
TO
0.000 0.000 0.000 1.000 K
u
0.0000 w
1 j
245.9501 426.7288 m
245.9501 335.2013 L
268.7121 335.2013 L
S
U
u
0.000 0.000 0.000 1.000 k
0.0000 w
267.9933 337.9567 m
276.2596 335.2013 L
267.9933 332.4459 L
267.9933 337.9567 L
F
U
u
0.000 0.000 0.000 0.000 k
0.0000 w
156.6988 125.6705 m
242.7155 125.6705 L
242.7155 139.3278 L
156.6988 139.3278 L
156.6988 125.6705 L
B
U
0 To
1.0000 0.0000 0.0000 1.0000 193.3577 130.1032 0 Tp
TP
/_Helvetica 8.0000 Tf
0.0000 Tc
0 Tr
0.0000 w
0 j
0.000 0.000 0.000 1.000 k
(NAK\r) Tx
TO
0.000 0.000 0.000 1.000 K
u
0.000 0.000 0.000 0.000 k
0.0000 w
1 j
156.6988 101.2313 m
242.7155 101.2313 L
242.7155 125.6705 L
156.6988 125.6705 L
156.6988 101.2313 L
B
U
0 To
1.0000 0.0000 0.0000 1.0000 162.6889 116.5657 0 Tp
TP
/_Helvetica 8.0000 Tf
0.0000 Tc
0 Tr
0.0000 w
0 j
0.000 0.000 0.000 1.000 k
(m.reset\(\)\r) Tx
TO
0.000 0.000 0.000 1.000 K
0 To
1.0000 0.0000 0.0000 1.0000 162.6889 107.1015 0 Tp
TP
/_Helvetica 8.0000 Tf
0.0000 Tc
0 Tr
0.000 0.000 0.000 1.000 k
(Policy.update\(<...>\)\r) Tx
TO
0.000 0.000 0.000 1.000 K
u
0.0000 w
1 j
242.4759 120.5191 m
256.0133 120.5191 L
256.0133 120.5191 L
268.7121 120.5191 L
S
U
u
0.000 0.000 0.000 1.000 k
0.0000 w
267.9933 123.2745 m
276.2596 120.5191 L
267.9933 117.7637 L
267.9933 123.2745 L
F
U
u
0.000 0.000 0.000 0.000 k
250.1431 115.1281 m
268.4725 115.1281 L
268.4725 126.5092 L
250.1431 126.5092 L
250.1431 115.1281 L
F
U
0 To
1.0000 0.0000 0.0000 1.0000 251.2213 118.1231 0 Tp
TP
/_Helvetica 8.0000 Tf
0.0000 Tc
0 Tr
0 j
0.000 0.000 0.000 1.000 k
(UCT\r) Tx
TO
0.000 0.000 0.000 1.000 K
u
0.0000 w
1 j
313.2779 101.2313 m
313.2779 85.5374 L
313.3977 85.5374 L
313.3977 75.1148 L
S
U
u
0.000 0.000 0.000 1.000 k
0.0000 w
316.1531 75.8336 m
313.3977 67.5674 L
310.6423 75.8336 L
316.1531 75.8336 L
F
U
u
0.000 0.000 0.000 0.000 k
273.7438 79.0682 m
352.8120 79.0682 L
352.8120 90.4493 L
273.7438 90.4493 L
273.7438 79.0682 L
F
U
0 To
1.0000 0.0000 0.0000 1.0000 274.7022 82.0632 0 Tp
TP
/_Helvetica 8.0000 Tf
0.0000 Tc
0 Tr
0 j
0.000 0.000 0.000 1.000 k
(decision == FAILURE\r) Tx
TO
0.000 0.000 0.000 1.000 K
u
0.0000 w
1 j
482.7953 101.2313 m
482.7953 87.6938 L
483.1547 87.6938 L
483.1547 75.7138 L
S
U
u
0.000 0.000 0.000 1.000 k
0.0000 w
485.9101 76.3128 m
483.1547 68.0466 L
480.3993 76.3128 L
485.9101 76.3128 L
F
U
u
0.000 0.000 0.000 0.000 k
441.1048 79.4276 m
525.2047 79.4276 L
525.2047 90.8087 L
441.1048 90.8087 L
441.1048 79.4276 L
F
U
0 To
1.0000 0.0000 0.0000 1.0000 442.1830 82.4226 0 Tp
TP
/_Helvetica 8.0000 Tf
0.0000 Tc
0 Tr
0 j
0.000 0.000 0.000 1.000 k
(decision == SUCCESS\r) Tx
TO
0.000 0.000 0.000 1.000 K
u
0.0000 w
1 j
338.1963 188.5657 m
338.1963 169.6373 L
338.4359 169.6373 L
338.4359 146.8752 L
S
U
u
0.000 0.000 0.000 1.000 k
0.0000 w
341.1913 147.5940 m
338.4359 139.3278 L
335.6805 147.5940 L
341.1913 147.5940 L
F
U
u
0.000 0.000 0.000 0.000 k
299.3810 158.7354 m
377.6106 158.7354 L
377.6106 170.1165 L
299.3810 170.1165 L
299.3810 158.7354 L
F
U
0 To
1.0000 0.0000 0.0000 1.0000 300.3394 161.7304 0 Tp
TP
/_Helvetica 8.0000 Tf
0.0000 Tc
0 Tr
0 j
0.000 0.000 0.000 1.000 k
(methodState == END\r) Tx
TO
0.000 0.000 0.000 1.000 K
u
0.0000 w
1 j
199.5874 426.7288 m
199.5874 146.8752 L
S
U
u
0.000 0.000 0.000 1.000 k
0.0000 w
202.3428 147.5940 m
199.5874 139.3278 L
196.8319 147.5940 L
202.3428 147.5940 L
F
U
u
0.0000 w
104.1065 400.0133 m
104.1065 386.5957 L
104.1065 386.5957 L
104.1065 36.8985 L
S
U
u
0.000 0.000 0.000 1.000 k
0.0000 w
106.8619 37.6173 m
104.1065 29.4709 L
101.3511 37.6173 L
106.8619 37.6173 L
F
U
u
0.000 0.000 0.000 0.000 k
0.0000 w
276.2596 125.6705 m
563.3012 125.6705 L
563.3012 139.3278 L
276.2596 139.3278 L
276.2596 125.6705 L
B
U
0 To
1.0000 0.0000 0.0000 1.0000 388.8719 130.1032 0 Tp
TP
/_Helvetica 8.0000 Tf
0.0000 Tc
0 Tr
0.0000 w
0 j
0.000 0.000 0.000 1.000 k
(SELECT_ACTION\r) Tx
TO
0.000 0.000 0.000 1.000 K
u
0.000 0.000 0.000 0.000 k
0.0000 w
1 j
276.2596 101.2313 m
563.3012 101.2313 L
563.3012 125.6705 L
276.2596 125.6705 L
276.2596 101.2313 L
B
U
0 To
1.0000 0.0000 0.0000 1.0000 282.2496 116.5657 0 Tp
TP
/_Helvetica 8.0000 Tf
0.0000 Tc
0 Tr
0.0000 w
0 j
0.000 0.000 0.000 1.000 k
(decision = Policy.getDecision\(\)\r) Tx
TO
0.000 0.000 0.000 1.000 K
u
0.000 0.000 0.000 0.000 k
1 j
202.8220 363.8336 m
317.5907 363.8336 L
317.5907 394.3827 L
202.8220 394.3827 L
202.8220 363.8336 L
F
U
0 To
1.0000 0.0000 0.0000 1.0000 241.1581 385.9967 0 Tp
TP
/_Helvetica 8.0000 Tf
0.0000 Tc
0 Tr
0 j
0.000 0.000 0.000 1.000 k
(rxResp &&\r) Tx
TO
0.000 0.000 0.000 1.000 K
0 To
1.0000 0.0000 0.0000 1.0000 217.1980 376.4126 0 Tp
TP
/_Helvetica 8.0000 Tf
0.0000 Tc
0 Tr
0.000 0.000 0.000 1.000 k
(\(respId == currentId\) &&\r) Tx
TO
0.000 0.000 0.000 1.000 K
0 To
1.0000 0.0000 0.0000 1.0000 203.7804 366.8286 0 Tp
TP
/_Helvetica 8.0000 Tf
0.0000 Tc
0 Tr
0.000 0.000 0.000 1.000 k
(\(respMethod == currentMethod\)\r) Tx
TO
0.000 0.000 0.000 1.000 K
u
0.000 0.000 0.000 0.000 k
1 j
132.7388 158.3760 m
266.6755 158.3760 L
266.6755 207.9734 L
132.7388 207.9734 L
132.7388 158.3760 L
F
U
0 To
1.0000 0.0000 0.0000 1.0000 180.5391 199.5874 0 Tp
TP
/_Helvetica 8.0000 Tf
0.0000 Tc
0 Tr
0 j
0.000 0.000 0.000 1.000 k
(rxResp &&\r) Tx
TO
0.000 0.000 0.000 1.000 K
0 To
1.0000 0.0000 0.0000 1.0000 156.6988 190.0033 0 Tp
TP
/_Helvetica 8.0000 Tf
0.0000 Tc
0 Tr
0.000 0.000 0.000 1.000 k
(\(respId == currentId\) &&\r) Tx
TO
0.000 0.000 0.000 1.000 K
0 To
1.0000 0.0000 0.0000 1.0000 161.2512 180.4193 0 Tp
TP
/_Helvetica 8.0000 Tf
0.0000 Tc
0 Tr
0.000 0.000 0.000 1.000 k
(\(respMethod==NAK ||\r) Tx
TO
0.000 0.000 0.000 1.000 K
0 To
1.0000 0.0000 0.0000 1.0000 133.6972 170.9551 0 Tp
TP
/_Helvetica 8.0000 Tf
0.0000 Tc
0 Tr
0.000 0.000 0.000 1.000 k
(respMethod==EXPANDED_NAK\) &&\r) Tx
TO
0.000 0.000 0.000 1.000 K
0 To
1.0000 0.0000 0.0000 1.0000 144.5990 161.3710 0 Tp
TP
/_Helvetica 8.0000 Tf
0.0000 Tc
0 Tr
0.000 0.000 0.000 1.000 k
(\(\r) Tx
TO
0.000 0.000 0.000 1.000 K
0 To
1.0000 0.0000 0.0000 1.0000 147.2346 161.3710 0 Tp
TP
/_Helvetica 8.0000 Tf
0.0000 Tc
0 Tr
0.000 0.000 0.000 1.000 k
(methodState == PROPOSED\)\r) Tx
TO
0.000 0.000 0.000 1.000 K
u
0.000 0.000 0.000 0.000 k
0.0000 w
1 j
37.8569 453.2047 m
170.3561 453.2047 L
170.3561 466.8619 L
37.8569 466.8619 L
37.8569 453.2047 L
B
U
0 To
1.0000 0.0000 0.0000 1.0000 80.1464 457.6373 0 Tp
TP
/_Helvetica 8.0000 Tf
0.0000 Tc
0 Tr
0.0000 w
0 j
0.000 0.000 0.000 1.000 k
(RETRANSMIT\r) Tx
TO
0.000 0.000 0.000 1.000 K
u
0.000 0.000 0.000 0.000 k
0.0000 w
1 j
37.8569 400.0133 m
170.3561 400.0133 L
170.3561 453.2047 L
37.8569 453.2047 L
37.8569 400.0133 L
B
U
0 To
1.0000 0.0000 0.0000 1.0000 43.8469 444.0998 0 Tp
TP
/_Helvetica 8.0000 Tf
0.0000 Tc
0 Tr
0.0000 w
0 j
0.000 0.000 0.000 1.000 k
(retransCount++\r) Tx
TO
0.000 0.000 0.000 1.000 K
0 To
1.0000 0.0000 0.0000 1.0000 43.8469 434.5158 0 Tp
TP
/_Helvetica 8.0000 Tf
0.0000 Tc
0 Tr
0.000 0.000 0.000 1.000 k
(if \(retransCount <= MaxRetrans\) {\r) Tx
TO
0.000 0.000 0.000 1.000 K
0 To
1.0000 0.0000 0.0000 1.0000 43.8469 424.9318 0 Tp
TP
/_Helvetica 8.0000 Tf
0.0000 Tc
0 Tr
0.000 0.000 0.000 1.000 k
( eapReqData = lastReqData\r) Tx
TO
0.000 0.000 0.000 1.000 K
0 To
1.0000 0.0000 0.0000 1.0000 43.8469 415.3478 0 Tp
TP
/_Helvetica 8.0000 Tf
0.0000 Tc
0 Tr
0.000 0.000 0.000 1.000 k
( eapReq = TRUE\r) Tx
TO
0.000 0.000 0.000 1.000 K
0 To
1.0000 0.0000 0.0000 1.0000 43.8469 405.7637 0 Tp
TP
/_Helvetica 8.0000 Tf
0.0000 Tc
0 Tr
0.000 0.000 0.000 1.000 k
(}\r) Tx
TO
0.000 0.000 0.000 1.000 K
u
0.0000 w
1 j
37.8569 433.4376 m
21.0849 433.4376 L
21.0849 513.1048 L
29.8303 513.1048 L
S
U
u
0.000 0.000 0.000 1.000 k
0.0000 w
29.2313 515.8602 m
37.3777 513.1048 L
29.2313 510.3494 L
29.2313 515.8602 L
F
U
u
0.000 0.000 0.000 0.000 k
11.7404 467.5807 m
30.3095 467.5807 L
30.3095 478.8419 L
11.7404 478.8419 L
11.7404 467.5807 L
F
U
0 To
1.0000 0.0000 0.0000 1.0000 12.6988 470.4559 0 Tp
TP
/_Helvetica 8.0000 Tf
0.0000 Tc
0 Tr
0 j
0.000 0.000 0.000 1.000 k
(else\r) Tx
TO
0.000 0.000 0.000 1.000 K
u
0.0000 w
1 j
246.0699 499.8070 m
246.0699 486.3894 L
245.9501 486.3894 L
245.9501 474.2895 L
S
U
u
0.000 0.000 0.000 1.000 k
0.0000 w
248.7055 475.0083 m
245.9501 466.8619 L
243.1947 475.0083 L
248.7055 475.0083 L
F
U
u
0.000 0.000 0.000 0.000 k
229.1780 478.1231 m
263.0815 478.1231 L
263.0815 489.5042 L
229.1780 489.5042 L
229.1780 478.1231 L
F
U
0 To
1.0000 0.0000 0.0000 1.0000 230.1364 481.1181 0 Tp
TP
/_Helvetica 8.0000 Tf
0.0000 Tc
0 Tr
0 j
0.000 0.000 0.000 1.000 k
(eapResp\r) Tx
TO
0.000 0.000 0.000 1.000 K
u
0.0000 w
1 j
291.9534 426.7288 m
291.9534 398.3361 L
343.3478 398.3361 L
343.3478 419.4210 L
S
U
u
0.000 0.000 0.000 1.000 k
0.0000 w
340.5923 418.7022 m
343.3478 426.9684 L
346.2230 418.7022 L
340.5923 418.7022 L
F
U
u
0.000 0.000 0.000 0.000 k
308.4859 393.0649 m
327.0549 393.0649 L
327.0549 404.3261 L
308.4859 404.3261 L
308.4859 393.0649 L
F
U
0 To
1.0000 0.0000 0.0000 1.0000 309.4443 395.9401 0 Tp
TP
/_Helvetica 8.0000 Tf
0.0000 Tc
0 Tr
0 j
0.000 0.000 0.000 1.000 k
(else\r) Tx
TO
0.000 0.000 0.000 1.000 K
u
0.0000 w
1 j
103.6273 498.7288 m
103.6273 486.3894 L
104.1065 486.3894 L
104.1065 474.2895 L
S
U
u
0.000 0.000 0.000 1.000 k
0.0000 w
106.8619 475.0083 m
104.1065 466.8619 L
101.3511 475.0083 L
106.8619 475.0083 L
F
U
u
0.000 0.000 0.000 0.000 k
73.5574 477.6439 m
134.5358 477.6439 L
134.5358 489.0250 L
73.5574 489.0250 L
73.5574 477.6439 L
F
U
0 To
1.0000 0.0000 0.0000 1.0000 74.6356 480.6389 0 Tp
TP
/_Helvetica 8.0000 Tf
0.0000 Tc
0 Tr
0 j
0.000 0.000 0.000 1.000 k
(retransWhile==0\r) Tx
TO
0.000 0.000 0.000 1.000 K
u
0.0000 w
1 j
103.0283 560.7854 m
123.9933 560.7854 L
S
U
u
0.000 0.000 0.000 1.000 k
0.0000 w
123.2745 563.5408 m
131.5408 560.7854 L
123.2745 558.0300 L
123.2745 563.5408 L
F
U
0 To
1.0000 0.0000 0.0000 1.0000 45.2845 563.9002 0 Tp
TP
/_Helvetica 8.0000 Tf
0.0000 Tc
0 Tr
0 j
0.000 0.000 0.000 1.000 k
(\(!portEnabled ||\r) Tx
TO
0.000 0.000 0.000 1.000 K
0 To
1.0000 0.0000 0.0000 1.0000 51.7537 554.3161 0 Tp
TP
/_Helvetica 8.0000 Tf
0.0000 Tc
0 Tr
0.000 0.000 0.000 1.000 k
(eapRestart\r) Tx
TO
0.000 0.000 0.000 1.000 K
0 To
1.0000 0.0000 0.0000 1.0000 90.9285 554.3161 0 Tp
TP
/_Helvetica 8.0000 Tf
0.0000 Tc
0 Tr
0.000 0.000 0.000 1.000 k
(\)\r) Tx
TO
0.000 0.000 0.000 1.000 K
u
0.000 0.000 0.000 0.000 k
1 j
56.7854 373.8968 m
157.0582 373.8968 L
157.0582 385.2779 L
56.7854 385.2779 L
56.7854 373.8968 L
F
U
0 To
1.0000 0.0000 0.0000 1.0000 57.7438 376.8918 0 Tp
TP
/_Helvetica 8.0000 Tf
0.0000 Tc
0 Tr
0 j
0.000 0.000 0.000 1.000 k
(retransCount > MaxRetrans\r) Tx
TO
0.000 0.000 0.000 1.000 K
u
0.000 0.000 0.000 0.000 k
1 j
237.9235 555.5141 m
282.9684 555.5141 L
282.9684 566.8952 L
237.9235 566.8952 L
237.9235 555.5141 L
F
U
0 To
1.0000 0.0000 0.0000 1.0000 239.0017 558.5092 0 Tp
TP
/_Helvetica 8.0000 Tf
0.0000 Tc
0 Tr
0 j
0.000 0.000 0.000 1.000 k
(portEnabled\r) Tx
TO
0.000 0.000 0.000 1.000 K
u
0.000 0.000 0.000 0.000 k
1 j
502.2030 555.3943 m
520.6522 555.3943 L
520.6522 566.7754 L
502.2030 566.7754 L
502.2030 555.3943 L
F
U
0 To
1.0000 0.0000 0.0000 1.0000 503.1614 558.3894 0 Tp
TP
/_Helvetica 8.0000 Tf
0.0000 Tc
0 Tr
0 j
0.000 0.000 0.000 1.000 k
(UCT\r) Tx
TO
0.000 0.000 0.000 1.000 K
u
0.000 0.000 0.000 0.000 k
0.0000 w
1 j
37.3777 15.8136 m
169.7571 15.8136 L
169.7571 29.4709 L
37.3777 29.4709 L
37.3777 15.8136 L
B
U
0 To
1.0000 0.0000 0.0000 1.0000 68.4060 20.2463 0 Tp
TP
/_Helvetica 8.0000 Tf
0.0000 Tc
0 Tr
0.0000 w
0 j
0.000 0.000 0.000 1.000 k
(TIMEOUT_FAILURE\r) Tx
TO
0.000 0.000 0.000 1.000 K
u
0.000 0.000 0.000 0.000 k
0.0000 w
1 j
37.3777 1.3178 m
169.7571 1.3178 L
169.7571 15.8136 L
37.3777 15.8136 L
37.3777 1.3178 L
B
U
0 To
1.0000 0.0000 0.0000 1.0000 43.3677 6.7088 0 Tp
TP
/_Helvetica 8.0000 Tf
0.0000 Tc
0 Tr
0.0000 w
0 j
0.000 0.000 0.000 1.000 k
(eapTimeout = TRUE\r) Tx
TO
0.000 0.000 0.000 1.000 K
u
0.000 0.000 0.000 0.000 k
0.0000 w
1 j
276.2596 341.5507 m
399.5341 341.5507 L
399.5341 355.0882 L
276.2596 355.0882 L
276.2596 341.5507 L
B
U
0 To
1.0000 0.0000 0.0000 1.0000 302.3760 345.9834 0 Tp
TP
/_Helvetica 8.0000 Tf
0.0000 Tc
0 Tr
0.0000 w
0 j
0.000 0.000 0.000 1.000 k
(INTEGRITY_CHECK\r) Tx
TO
0.000 0.000 0.000 1.000 K
u
0.000 0.000 0.000 0.000 k
0.0000 w
1 j
276.2596 315.4343 m
399.5341 315.4343 L
399.5341 341.5507 L
276.2596 341.5507 L
276.2596 315.4343 L
B
U
0 To
1.0000 0.0000 0.0000 1.0000 282.2496 332.3261 0 Tp
TP
/_Helvetica 8.0000 Tf
0.0000 Tc
0 Tr
0.0000 w
0 j
0.000 0.000 0.000 1.000 k
(intCheck =\r) Tx
TO
0.000 0.000 0.000 1.000 K
0 To
1.0000 0.0000 0.0000 1.0000 282.2496 322.8619 0 Tp
TP
/_Helvetica 8.0000 Tf
0.0000 Tc
0 Tr
0.000 0.000 0.000 1.000 k
( m.intCheck\(eapRespData\)\r) Tx
TO
0.000 0.000 0.000 1.000 K
u
0.000 0.000 0.000 0.000 k
0.0000 w
1 j
276.2596 262.4825 m
399.5341 262.4825 L
399.5341 276.0200 L
276.2596 276.0200 L
276.2596 262.4825 L
B
U
0 To
1.0000 0.0000 0.0000 1.0000 298.1830 266.9151 0 Tp
TP
/_Helvetica 8.0000 Tf
0.0000 Tc
0 Tr
0.0000 w
0 j
0.000 0.000 0.000 1.000 k
(METHOD_RESPONSE\r) Tx
TO
0.000 0.000 0.000 1.000 K
u
0.000 0.000 0.000 0.000 k
0.0000 w
1 j
276.2596 188.5657 m
399.5341 188.5657 L
399.5341 262.4825 L
276.2596 262.4825 L
276.2596 188.5657 L
B
U
0 To
1.0000 0.0000 0.0000 1.0000 282.2496 253.2579 0 Tp
TP
/_Helvetica 8.0000 Tf
0.0000 Tc
0 Tr
0.0000 w
0 j
0.000 0.000 0.000 1.000 k
(m.process\(eapRespData\)\r) Tx
TO
0.000 0.000 0.000 1.000 K
0 To
1.0000 0.0000 0.0000 1.0000 282.2496 243.7937 0 Tp
TP
/_Helvetica 8.0000 Tf
0.0000 Tc
0 Tr
0.000 0.000 0.000 1.000 k
(if \(m.isDone\(\)\) {\r) Tx
TO
0.000 0.000 0.000 1.000 K
0 To
1.0000 0.0000 0.0000 1.0000 282.2496 234.2097 0 Tp
TP
/_Helvetica 8.0000 Tf
0.0000 Tc
0 Tr
0.000 0.000 0.000 1.000 k
( Policy.update\(<...>\)\r) Tx
TO
0.000 0.000 0.000 1.000 K
0 To
1.0000 0.0000 0.0000 1.0000 282.2496 224.6256 0 Tp
TP
/_Helvetica 8.0000 Tf
0.0000 Tc
0 Tr
0.000 0.000 0.000 1.000 k
( eapKeyData = m.getKey\(\)\r) Tx
TO
0.000 0.000 0.000 1.000 K
0 To
1.0000 0.0000 0.0000 1.0000 282.2496 215.0416 0 Tp
TP
/_Helvetica 8.0000 Tf
0.0000 Tc
0 Tr
0.000 0.000 0.000 1.000 k
( methodState = END\r) Tx
TO
0.000 0.000 0.000 1.000 K
0 To
1.0000 0.0000 0.0000 1.0000 282.2496 205.4576 0 Tp
TP
/_Helvetica 8.0000 Tf
0.0000 Tc
0 Tr
0.000 0.000 0.000 1.000 k
(} else\r) Tx
TO
0.000 0.000 0.000 1.000 K
0 To
1.0000 0.0000 0.0000 1.0000 282.2496 195.8735 0 Tp
TP
/_Helvetica 8.0000 Tf
0.0000 Tc
0 Tr
0.000 0.000 0.000 1.000 k
( methodState = CONTINUE\r) Tx
TO
0.000 0.000 0.000 1.000 K
u
0.000 0.000 0.000 0.000 k
0.0000 w
1 j
409.7171 341.5507 m
563.3012 341.5507 L
563.3012 355.0882 L
409.7171 355.0882 L
409.7171 341.5507 L
B
U
0 To
1.0000 0.0000 0.0000 1.0000 449.7304 345.9834 0 Tp
TP
/_Helvetica 8.0000 Tf
0.0000 Tc
0 Tr
0.0000 w
0 j
0.000 0.000 0.000 1.000 k
(METHOD_REQUEST\r) Tx
TO
0.000 0.000 0.000 1.000 K
u
0.000 0.000 0.000 0.000 k
0.0000 w
1 j
409.7171 306.4493 m
563.3012 306.4493 L
563.3012 341.5507 L
409.7171 341.5507 L
409.7171 306.4493 L
B
U
0 To
1.0000 0.0000 0.0000 1.0000 415.7072 332.3261 0 Tp
TP
/_Helvetica 8.0000 Tf
0.0000 Tc
0 Tr
0.0000 w
0 j
0.000 0.000 0.000 1.000 k
(currentId = nextId\(currentId\)\r) Tx
TO
0.000 0.000 0.000 1.000 K
0 To
1.0000 0.0000 0.0000 1.0000 415.7072 322.8619 0 Tp
TP
/_Helvetica 8.0000 Tf
0.0000 Tc
0 Tr
0.000 0.000 0.000 1.000 k
(eapReqData = m.buildReq\(currentId\)\r) Tx
TO
0.000 0.000 0.000 1.000 K
0 To
1.0000 0.0000 0.0000 1.0000 415.7072 313.2779 0 Tp
TP
/_Helvetica 8.0000 Tf
0.0000 Tc
0 Tr
0.000 0.000 0.000 1.000 k
(methodTimeout = m.getTimeout\(\)\r) Tx
TO
0.000 0.000 0.000 1.000 K
u
0.000 0.000 0.000 0.000 k
0.0000 w
1 j
409.7171 262.4825 m
563.3012 262.4825 L
563.3012 276.0200 L
409.7171 276.0200 L
409.7171 262.4825 L
B
U
0 To
1.0000 0.0000 0.0000 1.0000 449.2512 266.9151 0 Tp
TP
/_Helvetica 8.0000 Tf
0.0000 Tc
0 Tr
0.0000 w
0 j
0.000 0.000 0.000 1.000 k
(PROPOSE_METHOD\r) Tx
TO
0.000 0.000 0.000 1.000 K
u
0.000 0.000 0.000 0.000 k
0.0000 w
1 j
409.7171 188.5657 m
563.3012 188.5657 L
563.3012 262.4825 L
409.7171 262.4825 L
409.7171 188.5657 L
B
U
0 To
1.0000 0.0000 0.0000 1.0000 415.7072 253.2579 0 Tp
TP
/_Helvetica 8.0000 Tf
0.0000 Tc
0 Tr
0.0000 w
0 j
0.000 0.000 0.000 1.000 k
(currentMethod = Policy.getNextMethod\(\)\r) Tx
TO
0.000 0.000 0.000 1.000 K
0 To
1.0000 0.0000 0.0000 1.0000 415.7072 243.7937 0 Tp
TP
/_Helvetica 8.0000 Tf
0.0000 Tc
0 Tr
0.000 0.000 0.000 1.000 k
(m.init\(\)\r) Tx
TO
0.000 0.000 0.000 1.000 K
0 To
1.0000 0.0000 0.0000 1.0000 415.7072 234.2097 0 Tp
TP
/_Helvetica 8.0000 Tf
0.0000 Tc
0 Tr
0.000 0.000 0.000 1.000 k
(if \(currentMethod==IDENTITY ||\r) Tx
TO
0.000 0.000 0.000 1.000 K
0 To
1.0000 0.0000 0.0000 1.0000 415.7072 224.6256 0 Tp
TP
/_Helvetica 8.0000 Tf
0.0000 Tc
0 Tr
0.000 0.000 0.000 1.000 k
( currentMethod==NOTIFICATION\)\r) Tx
TO
0.000 0.000 0.000 1.000 K
0 To
1.0000 0.0000 0.0000 1.0000 415.7072 215.0416 0 Tp
TP
/_Helvetica 8.0000 Tf
0.0000 Tc
0 Tr
0.000 0.000 0.000 1.000 k
( methodState = CONTINUE\r) Tx
TO
0.000 0.000 0.000 1.000 K
0 To
1.0000 0.0000 0.0000 1.0000 415.7072 205.4576 0 Tp
TP
/_Helvetica 8.0000 Tf
0.0000 Tc
0 Tr
0.000 0.000 0.000 1.000 k
(else\r) Tx
TO
0.000 0.000 0.000 1.000 K
0 To
1.0000 0.0000 0.0000 1.0000 415.7072 195.8735 0 Tp
TP
/_Helvetica 8.0000 Tf
0.0000 Tc
0 Tr
0.000 0.000 0.000 1.000 k
( methodState = PROPOSED\r) Tx
TO
0.000 0.000 0.000 1.000 K
u
0.0000 w
1 j
379.1681 276.1398 m
379.1681 289.5574 L
429.6040 289.5574 L
429.6040 298.9018 L
S
U
u
0.000 0.000 0.000 1.000 k
0.0000 w
426.8486 298.1830 m
429.6040 306.4493 L
432.3594 298.1830 L
426.8486 298.1830 L
F
U
u
0.000 0.000 0.000 0.000 k
397.4975 284.1664 m
414.6290 284.1664 L
414.6290 295.5474 L
397.4975 295.5474 L
397.4975 284.1664 L
F
U
0 To
1.0000 0.0000 0.0000 1.0000 398.4559 287.1614 0 Tp
TP
/_Helvetica 8.0000 Tf
0.0000 Tc
0 Tr
0 j
0.000 0.000 0.000 1.000 k
(else\r) Tx
TO
0.000 0.000 0.000 1.000 K
u
0.0000 w
1 j
338.4359 315.3145 m
338.4359 301.8968 L
338.4359 301.8968 L
338.4359 283.6872 L
S
U
u
0.000 0.000 0.000 1.000 k
0.0000 w
341.1913 284.4060 m
338.4359 276.1398 L
335.6805 284.4060 L
341.1913 284.4060 L
F
U
u
0.000 0.000 0.000 0.000 k
321.9035 290.3960 m
355.0882 290.3960 L
355.0882 301.7770 L
321.9035 301.7770 L
321.9035 290.3960 L
F
U
0 To
1.0000 0.0000 0.0000 1.0000 322.9817 293.3910 0 Tp
TP
/_Helvetica 8.0000 Tf
0.0000 Tc
0 Tr
0 j
0.000 0.000 0.000 1.000 k
(intCheck\r) Tx
TO
0.000 0.000 0.000 1.000 K
u
0.000 0.000 0.000 0.000 k
1 j
478.0033 158.3760 m
495.1348 158.3760 L
495.1348 169.7571 L
478.0033 169.7571 L
478.0033 158.3760 L
F
U
0 To
1.0000 0.0000 0.0000 1.0000 478.9617 161.3710 0 Tp
TP
/_Helvetica 8.0000 Tf
0.0000 Tc
0 Tr
0 j
0.000 0.000 0.000 1.000 k
(else\r) Tx
TO
0.000 0.000 0.000 1.000 K
u
0.000 0.000 0.000 0.000 k
1 j
476.3261 281.1714 m
494.7754 281.1714 L
494.7754 292.5524 L
476.3261 292.5524 L
476.3261 281.1714 L
F
U
0 To
1.0000 0.0000 0.0000 1.0000 477.2845 284.1664 0 Tp
TP
/_Helvetica 8.0000 Tf
0.0000 Tc
0 Tr
0 j
0.000 0.000 0.000 1.000 k
(UCT\r) Tx
TO
0.000 0.000 0.000 1.000 K
0 To
1.0000 0.0000 0.0000 1.0000 43.4875 504.2396 0 Tp
TP
/_Helvetica 8.0000 Tf
0.0000 Tc
0 Tr
0.000 0.000 0.000 1.000 k
(retransWhile = calculateTimeout\(retransCount, eapSRTT, eapRTTVAR, methodTimeout\)\r) Tx
TO
0.000 0.000 0.000 1.000 K
0 To
1.0000 0.0000 0.0000 1.0000 282.3694 105.5441 0 Tp
TP
/_Helvetica 8.0000 Tf
0.0000 Tc
0 Tr
0.000 0.000 0.000 1.000 k
(/* SUCCESS, FAILURE, or CONTINUE */\r) Tx
TO
0.000 0.000 0.000 1.000 K
u
0.000 0.000 0.000 0.000 k
0.0000 w
1 j
177.6639 453.2047 m
314.3561 453.2047 L
314.3561 466.8619 L
177.6639 466.8619 L
177.6639 453.2047 L
B
U
0 To
1.0000 0.0000 0.0000 1.0000 227.3810 457.6373 0 Tp
TP
/_Helvetica 8.0000 Tf
0.0000 Tc
0 Tr
0.0000 w
0 j
0.000 0.000 0.000 1.000 k
(RECEIVED\r) Tx
TO
0.000 0.000 0.000 1.000 K
u
0.000 0.000 0.000 0.000 k
0.0000 w
1 j
177.6639 426.7288 m
314.3561 426.7288 L
314.3561 453.2047 L
177.6639 453.2047 L
177.6639 426.7288 L
B
U
0 To
1.0000 0.0000 0.0000 1.0000 183.5341 444.0998 0 Tp
TP
/_Helvetica 8.0000 Tf
0.0000 Tc
0 Tr
0.0000 w
0 j
0.000 0.000 0.000 1.000 k
(\(rxResp,respId,respMethod\)=\r) Tx
TO
0.000 0.000 0.000 1.000 K
0 To
1.0000 0.0000 0.0000 1.0000 183.5341 434.5158 0 Tp
TP
/_Helvetica 8.0000 Tf
0.0000 Tc
0 Tr
0.000 0.000 0.000 1.000 k
( parseEapResp\(eapRespData\)\r) Tx
TO
0.000 0.000 0.000 1.000 K
%%PageTrailer
gsave annotatepage grestore showpage
%%Trailer
Adobe_Illustrator_AI5 /terminate get exec
Adobe_pattern_AI5 /terminate get exec
Adobe_blend_AI5 /terminate get exec
Adobe_ColorImage_AI6 /terminate get exec
Adobe_typography_AI5 /terminate get exec
Adobe_screens_AI5 /terminate get exec
Adobe_level2_AI5 /terminate get exec
%%EOF
%%EndDocument
@endspecial 875 3911 a(Figure)h(4:)25 b(EAP)c(Standalone)d
(Authenticator)h(State)h(Machine)0 4261 y Ff(5.1)99 b(Interface)26
b(between)h(standalone)e(authenticator)i(state)e(machine)g(and)h(lo)o
(wer)f(lay)o(er)0 4517 y Fg(The)20 b(lo)n(wer)g(layer)g(presents)h
(messages)f(to)h(the)g(EAP)g(authenticator)d(state)j(machine)f(by)g
(storing)g(the)g(pack)o(et)g(in)h(eapResp-)0 4616 y(Data)f(and)g
(setting)g(the)h(eapResp)f(signal)g(to)g(TR)m(UE.)0 4815
y(When)27 b(the)h(EAP)g(authenticator)e(state)i(machine)e(has)i
(\002nished)f(processing)g(the)g(message,)i(it)g(sets)f(one)f(of)h(the)
f(signals)0 4915 y(eapReq,)g(eapNoReq,)f(eapSuccess,)h(and)f(eapF)o
(ail.)42 b(If)26 b(it)h(sets)g(eapReq,)g(eapSuccess,)g(or)f(eapF)o
(ail,)h(the)f(corresponding)0 5015 y(request)20 b(\(or)f(success/f)o
(ailure\))h(pack)o(et)g(is)h(stored)f(in)g(eapReqData.)25
b(The)20 b(lo)n(wer)f(layer)h(is)i(responsible)d(for)g(actually)h
(trans-)0 5114 y(mitting)g(this)g(message.)0 5656 y(V)-11
b(ollbrecht,)19 b(et)i(al.)965 b(Expires)19 b(March)h(18,)f(2004)964
b([P)o(age)19 b(15])p eop
%%Page: 16 16
16 15 bop 0 100 a Fg(INTERNET)-8 b(-DRAFT)862 b(EAP)21
b(State)f(Machine)841 b(September)19 b(2003)0 390 y Fd(5.1.1)81
b(V)-8 b(ariables)20 b(\(lo)o(wer)g(lay)o(er)g(to)g(standalone)g
(authenticator\))125 589 y Fb(\017)41 b Fg(eapResp)20
b(\(boolean\))208 718 y(Set)31 b(to)f(TR)m(UE)h(in)f(lo)n(wer)g(layer)m
(,)i(F)-6 b(ALSE)31 b(in)f(authenticator)f(state)i(machine.)54
b(Indicates)30 b(an)g(EAP)h(response)f(is)208 818 y(a)n(v)n(ailable)19
b(for)h(processing.)125 975 y Fb(\017)41 b Fg(eapRespData)19
b(\(EAP)i(pack)o(et\))208 1104 y(Set)f(in)h(lo)n(wer)e(layer)h(when)g
(eapResp)g(is)h(set)g(to)f(TR)m(UE.)g(The)g(EAP)h(pack)o(et)e(to)i(be)f
(processed.)125 1261 y Fb(\017)41 b Fg(portEnabled)17
b(\(boolean\))208 1390 y(Indicates)g(that)i(there)e(is)j(a)e(v)n(alid)g
(port)g(to)g(use)h(for)e(the)i(communication.)i(If)d(at)h(an)o(y)f
(point)f(the)h(port)g(is)h(not)f(a)n(v)n(ailable,)208
1490 y(portEnabled)f(is)k(set)g(to)g(F)-6 b(ALSE)20 b(and)g(the)g
(state)h(machine)e(transitions)g(to)i(DISABLED.)125 1647
y Fb(\017)41 b Fg(retransWhile)19 b(\(inte)o(ger\))208
1776 y(Outside)h(timer)g(used)g(to)g(indicate)f(ho)n(w)h(long)f(the)i
(authenticator)d(has)i(w)o(aited)h(for)e(a)i(ne)n(w)f(\(v)n(alid\))f
(response.)125 1933 y Fb(\017)41 b Fg(eapRestart)20 b(\(boolean\))208
2062 y(Indicates)f(the)h(lo)n(wer)g(layer)g(w)o(ould)f(lik)o(e)i(to)f
(restart)g(authentication)125 2220 y Fb(\017)41 b Fg(eapSR)-5
b(TT)20 b(\(inte)o(ger\))208 2348 y(Smoothed)e(round-trip)f(time.)26
b(\(see)20 b([I-D.ietf-eap-rfc2284bis],)14 b(Section)20
b(4.3\))125 2506 y Fb(\017)41 b Fg(eapR)-5 b(TTV)-11
b(AR)19 b(\(inte)o(ger\))208 2634 y(Round-trip)f(time)i(v)n(ariation.)k
(\(see)c([I-D.ietf-eap-rfc2284bis],)14 b(Section)20 b(4.3\))0
2951 y Fd(5.1.2)81 b(V)-8 b(ariables)20 b(\(standalone)g(authenticator)
e(to)i(lo)o(wer)g(lay)o(er\))125 3150 y Fb(\017)41 b
Fg(eapReq)19 b(\(boolean\))208 3279 y(Set)27 b(to)f(TR)m(UE)h(in)f
(authenticator)e(state)k(machine,)e(F)-6 b(ALSE)27 b(in)f(lo)n(wer)g
(layer)-5 b(.)44 b(Indicates)25 b(a)i(ne)n(w)f(EAP)h(request)f(is)208
3379 y(ready)19 b(to)h(be)g(sent.)125 3536 y Fb(\017)41
b Fg(eapNoReq)19 b(\(boolean\))208 3665 y(Set)i(to)f(TR)m(UE)g(in)h
(authenticator)d(state)j(machine,)e(F)-6 b(ALSE)21 b(in)f(lo)n(wer)g
(layer)-5 b(.)25 b(Indicates)20 b(the)g(most)h(recent)f(response)208
3764 y(has)g(been)f(processed,)g(b)n(ut)i(there)e(is)i(no)f(ne)n(w)g
(request)g(to)g(send.)125 3922 y Fb(\017)41 b Fg(eapSuccess)19
b(\(boolean\))208 4051 y(Set)27 b(to)g(TR)m(UE)g(in)g(authenticator)d
(state)k(machine,)f(F)-6 b(ALSE)27 b(in)g(lo)n(wer)f(layer)-5
b(.)44 b(Indicates)26 b(the)h(state)h(machine)d(has)208
4150 y(reached)18 b(the)j(SUCCESS)g(state.)125 4308 y
Fb(\017)41 b Fg(eapF)o(ail)19 b(\(boolean\))208 4436
y(Set)27 b(to)g(TR)m(UE)g(in)g(authenticator)d(state)k(machine,)f(F)-6
b(ALSE)27 b(in)g(lo)n(wer)f(layer)-5 b(.)44 b(Indicates)26
b(the)h(state)h(machine)d(has)208 4536 y(reached)18 b(the)j(F)-6
b(AILURE)20 b(state.)125 4694 y Fb(\017)41 b Fg(eapReqData)19
b(\(EAP)h(pack)o(et\))208 4822 y(Set)27 b(in)h(authenticator)d(state)j
(machine)e(when)h(eapReq,)h(eapSuccess,)g(or)f(eapF)o(ail)g(is)h(set)g
(to)g(TR)m(UE.)f(The)g(actual)208 4922 y(EAP)20 b(request)g(to)g(be)g
(sent)h(\(or)e(success/f)o(ailure\).)125 5079 y Fb(\017)41
b Fg(eapK)n(e)o(yData)18 b(\(EAP)j(K)n(e)o(y\))208 5208
y(Set)h(in)f(authenticator)e(state)k(machine)d(when)h(k)o(e)o(ying)e
(material)i(becomes)g(a)n(v)n(ailable.)28 b(Set)22 b(during)e(the)h
(METHOD)208 5308 y(state.)k(Note)20 b(that)g(this)g(document)e(does)h
(not)h(yet)g(de\002ne)f(the)h(structure)e(of)i(the)g(type)f(\224EAP)h
(K)n(e)o(y\224.)k(W)-7 b(e)21 b(e)o(xpect)e(it)h(to)208
5407 y(be)g(de\002ned)f(in)h([I-D.aboba-pppe)o(xt-k)o(e)n(y-p)o(ro)o
(blem)o(].)0 5656 y(V)-11 b(ollbrecht,)19 b(et)i(al.)965
b(Expires)19 b(March)h(18,)f(2004)964 b([P)o(age)19 b(16])p
eop
%%Page: 17 17
17 16 bop 0 100 a Fg(INTERNET)-8 b(-DRAFT)862 b(EAP)21
b(State)f(Machine)841 b(September)19 b(2003)125 390 y
Fb(\017)41 b Fg(eapK)n(e)o(yA)-6 b(v)n(ailable)17 b(\(boolean\))208
523 y(Set)j(to)f(TR)m(UE)h(in)f(the)h(SUCCESS)h(state)f(if)g(k)o(e)o
(ying)d(material)j(is)g(a)n(v)n(ailable.)k(The)19 b(actual)g(k)o(e)o(y)
g(is)i(stored)e(in)g(eapK)n(e)o(y-)208 623 y(Data.)0
943 y Fd(5.1.3)81 b(Constants)125 1143 y Fb(\017)41 b
Fg(MaxRetrans)19 b(\(inte)o(ger\))208 1275 y(Con\002gurable)f(maximum)g
(for)i(ho)n(w)g(man)o(y)f(retransmissions)g(should)g(be)h(attempted)f
(before)g(aborting.)0 1613 y Ff(5.2)99 b(Interface)26
b(between)h(standalone)e(authenticator)i(state)e(machine)g(and)h
(methods)0 1868 y Fg(IN:)20 b(eapRespData,)g(methodState)0
2067 y(IN/OUT)l(:)g(currentId,)e(\(method-speci\002c)f(state\),)k
(\(polic)o(y\))0 2266 y(OUT)l(:)f(intCheck,)g(eapReqData)0
2466 y(m.init)g(\(in:)25 b(-,)20 b(out:)25 b(-\))0 2665
y(When)e(the)h(method)e(is)i(\002rst)g(started,)g(it)g(must)f
(initialize)h(its)g(o)n(wn)f(method-speci\002c)e(state,)k(possibly)e
(using)f(some)i(infor)n(-)0 2765 y(mation)19 b(from)h(Polic)o(y)f
(\(e.g.)25 b(identity\).)0 2964 y(m.b)n(uildReq)19 b(\(in:)25
b(inte)o(ger)m(,)18 b(out:)25 b(EAP)c(pack)o(et\))0 3163
y(m.getT)m(imeout)d(\(in:)25 b(-,)20 b(out:)25 b(inte)o(ger)19
b(or)h(NONE\))0 3362 y(Ne)o(xt,)f(the)h(method)f(creates)h(a)g(ne)n(w)f
(EAP)i(Request)f(pack)o(et,)f(with)h(the)f(gi)n(v)o(en)g(identi\002er)g
(v)n(alue,)g(and)g(updates)g(its)i(method-)0 3462 y(speci\002c)e(state)
g(accordingly)-5 b(.)21 b(The)e(method)e(can)h(also)h(pro)o(vide)d(a)j
(hint)f(for)g(retransmission)g(timeout)f(with)i(m.getT)m(imeout.)0
3661 y(m.intCheck)g(\(in:)25 b(EAP)c(pack)o(et,)e(out:)25
b(boolean\))0 3861 y(When)18 b(a)g(ne)n(w)f(EAP)h(Response)g(is)h
(recei)n(v)o(ed,)d(the)i(method)e(must)i(\002rst)g(decide)f(whether)g
(to)h(process)f(the)h(pack)o(et)f(or)h(silently)0 3960
y(discard)i(it.)29 b(If)21 b(the)g(pack)o(et)g(looks)f(lik)o(e)i(it)g
(w)o(asn')o(t)f(sent)g(by)g(the)g(le)o(gitimate)f(peer)h(\(e.g.)27
b(it)22 b(has)g(in)m(v)n(alid)e(MIC,)h(and)f(this)i(case)0
4060 y(should)i(ne)n(v)o(er)f(occur\),)h(the)g(method)g(can)g(indicate)
g(this)h(by)f(returning)f(F)-6 b(ALSE.)24 b(In)h(this)g(case,)h(the)e
(method)f(should)h(not)0 4159 y(modify)19 b(its)i(o)n(wn)e
(method-speci\002c)g(state.)0 4359 y(m.process)g(\(in:)25
b(EAP)c(pack)o(et,)e(out:)25 b(-\))0 4558 y(m.isDone)19
b(\(in:)25 b(-,)c(out:)j(boolean\))0 4757 y(m.getK)n(e)o(y)19
b(\(in:)25 b(-,)20 b(out:)25 b(EAP)20 b(k)o(e)o(y)g(or)g(NONE\))0
4956 y(Ne)o(xt,)k(the)f(method)f(processes)h(the)h(EAP)g(Response)f
(and)g(updates)g(its)h(o)n(wn)f(method-speci\002c)e(state.)36
b(No)n(w)23 b(the)h(options)0 5056 y(are)c(to)g(continue)f(the)h(con)m
(v)o(ersation)e(\(send)h(another)g(request\))g(or)h(end)g(this)h
(method.)0 5255 y(If)f(the)g(method)f(w)o(ants)i(to)f(end)g(the)g(con)m
(v)o(ersation,)d(it)0 5656 y(V)-11 b(ollbrecht,)19 b(et)i(al.)965
b(Expires)19 b(March)h(18,)f(2004)964 b([P)o(age)19 b(17])p
eop
%%Page: 18 18
18 17 bop 0 100 a Fg(INTERNET)-8 b(-DRAFT)862 b(EAP)21
b(State)f(Machine)841 b(September)19 b(2003)125 390 y
Fb(\017)41 b Fg(T)-6 b(ells)21 b(Polic)o(y)e(about)g(the)i(outcome)d
(of)i(the)g(method,)f(and)h(possibly)f(other)h(information.)125
552 y Fb(\017)41 b Fg(If)20 b(the)g(method)f(has)h(deri)n(v)o(ed)e(k)o
(e)o(ying)h(material)h(it)h(w)o(ants)f(to)h(e)o(xport,)d(returns)i(it)g
(from)g(m.getK)n(e)o(y\(\).)125 714 y Fb(\017)41 b Fg(Indicates)19
b(that)h(the)h(method)d(w)o(ants)j(to)f(end)g(by)g(returning)e(TR)m(UE)
i(from)f(m.isDone\(\).)0 986 y(Otherwise,)h(the)g(method)f(continues)g
(by)h(sending)f(another)f(request,)i(as)g(described)f(earlier)-5
b(.)0 1321 y Ff(5.3)99 b(Standalone)26 b(authenticator)h(state)e
(machine)g(local)f(v)o(ariables)0 1577 y Fd(5.3.1)81
b(Long-term)20 b(\(maintained)f(between)i(pack)o(ets\))125
1776 y Fb(\017)41 b Fg(currentMethod)17 b(\(EAP)j(T)-7
b(ype\))208 1907 y(EAP)20 b(type,)g(IDENTITY)-11 b(,)19
b(or)h(NO)m(TIFICA)-9 b(TION.)125 2069 y Fb(\017)41 b
Fg(currentId)18 b(\(inte)o(ger\))208 2199 y(0-255)j(or)j(NONE.)f
(Usually)g(updated)f(in)i(PR)m(OPOSE)p 1818 2199 25 4
v 30 w(METHOD)f(state.)35 b(Indicates)23 b(the)h(identi\002er)f(v)n
(alue)f(of)i(the)208 2299 y(currently)18 b(outstanding)g(EAP)j
(request.)125 2461 y Fb(\017)41 b Fg(methodState)18 b(\(enumeration\))
208 2592 y(As)j(described)d(abo)o(v)o(e.)125 2754 y Fb(\017)41
b Fg(retransCount)18 b(\(inte)o(ger\))208 2885 y(Reset)k(in)g(SEND)p
723 2885 V 29 w(REQ)o(UEST)g(state)g(and)f(updated)f(in)h(RETRANSMIT)h
(state.)29 b(Current)21 b(number)e(of)i(retransmis-)208
2984 y(sions.)125 3146 y Fb(\017)41 b Fg(lastReqData)20
b(\(EAP)g(pack)o(et\))208 3277 y(Set)g(in)h(SEND)p 642
3277 V 29 w(REQ)o(UEST)g(state.)26 b(EAP)20 b(pack)o(et)g(containing)e
(the)i(last)h(sent)g(request.)125 3439 y Fb(\017)41 b
Fg(methodT)m(imeout)17 b(\(inte)o(ger\))208 3570 y(Method-pro)o(vided)e
(hint)20 b(for)g(suitable)g(retransmission)f(timeout,)g(or)h(NONE.)0
3888 y Fd(5.3.2)81 b(Short-term)19 b(\(not)h(maintained)g(between)g
(pack)o(ets\))125 4088 y Fb(\017)41 b Fg(rxResp)20 b(\(boolean\))208
4218 y(Set)g(in)h(RECEIVED)f(state.)26 b(Indicates)19
b(the)h(current)f(recei)n(v)o(ed)g(pack)o(et)g(is)j(an)e(EAP)g
(response.)125 4380 y Fb(\017)41 b Fg(respId)19 b(\(inte)o(ger\))208
4511 y(Set)h(in)h(RECEIVED)f(state.)26 b(The)19 b(identi\002er)h(from)f
(the)h(current)f(EAP)i(response.)125 4673 y Fb(\017)41
b Fg(respMethod)18 b(\(EAP)i(T)-7 b(ype\))208 4804 y(Set)20
b(in)h(RECEIVED)f(state.)26 b(The)19 b(method)g(type)h(of)g(the)g
(current)f(EAP)i(response.)125 4966 y Fb(\017)41 b Fg(intCheck)19
b(\(boolean\))208 5097 y(Set)h(in)h(METHOD)f(state.)25
b(Indicates)20 b(whether)f(the)h(method)f(has)h(decided)f(to)i(accept)e
(the)i(current)e(pack)o(et.)125 5258 y Fb(\017)41 b Fg(decision)19
b(\(enumeration\))208 5389 y(Set)h(in)h(SELECT)p 730
5389 V 29 w(A)m(CTION)f(state.)26 b(T)-6 b(emporarily)18
b(store)i(the)g(polic)o(y)f(decision)h(to)g(succeed,)f(f)o(ail,)i(or)e
(continue.)0 5656 y(V)-11 b(ollbrecht,)19 b(et)i(al.)965
b(Expires)19 b(March)h(18,)f(2004)964 b([P)o(age)19 b(18])p
eop
%%Page: 19 19
19 18 bop 0 100 a Fg(INTERNET)-8 b(-DRAFT)862 b(EAP)21
b(State)f(Machine)841 b(September)19 b(2003)0 390 y Ff(5.4)99
b(EAP)25 b(standalone)h(authenticator)g(pr)n(ocedur)n(es)125
589 y Fb(\017)41 b Fg(calculateT)m(imeout\(\))208 722
y(Calculates)28 b(the)g(retransmission)e(timeout,)j(taking)e(into)h
(account)e(the)i(retransmission)f(count,)h(round-trip)d(time)208
822 y(measurements,)18 b(and)i(method-speci\002c)e(timeout)h(hint)h
(\(see)h([I-D.ietf-eap-rfc2284b)o(is],)15 b(Section)k(4.3\).)125
987 y Fb(\017)41 b Fg(parseEapResp\(\))208 1119 y(Determine)18
b(the)h(code,)f(identi\002er)h(v)n(alue,)f(and)h(type)f(of)h(the)g
(current)f(response.)24 b(Also)19 b(checks)g(that)g(the)g(length)f
(\002eld)208 1219 y(is)j(not)f(longer)e(than)i(the)g(Recei)n(v)o(ed)g
(EAP)g(pack)o(et)125 1384 y Fb(\017)41 b Fg(b)n(uildSuccess\(\))208
1517 y(Create)20 b(an)g(EAP)h(Success)f(P)o(ack)o(et.)125
1682 y Fb(\017)41 b Fg(b)n(uildF)o(ailure\(\))208 1815
y(Create)20 b(an)g(EAP)h(F)o(ailure)e(P)o(ack)o(et.)125
1980 y Fb(\017)41 b Fg(ne)o(xtId\(\))208 2113 y(Determine)19
b(the)h(ne)o(xt)f(identi\002er)h(v)n(alue)f(to)i(use,)f(based)g(on)g
(the)g(pre)n(vious)e(one.)125 2278 y Fb(\017)41 b Fg(Polic)o(y)-5
b(.update\(\))208 2411 y(Update)19 b(all)i(v)n(ariables)e(related)h(to)
g(internal)g(polic)o(y)f(state.)125 2576 y Fb(\017)41
b Fg(Polic)o(y)-5 b(.getNe)o(xtMethod\(\))208 2708 y(Determine)17
b(the)i(method)e(that)i(should)e(be)i(used)f(at)h(this)h(point)d(in)i
(the)g(con)m(v)o(ersation)d(based)i(on)g(pre-de\002ned)e(polic)o(y)-5
b(.)125 2874 y Fb(\017)41 b Fg(Polic)o(y)-5 b(.getDecision\(\))208
3006 y(Determine)19 b(if)h(the)g(polic)o(y)f(will)i(allo)n(w)g
(SUCCESS,)g(F)-6 b(AIL,)20 b(or)g(is)h(yet)f(to)g(determine)f
(\(CONTINUE\).)125 3172 y Fb(\017)41 b Fg(m.intCheck\(\))208
3304 y(Method-speci\002c)18 b(procedure)g(to)i(test)h(for)f(the)g(v)n
(alidity)f(of)h(a)h(message.)125 3470 y Fb(\017)41 b
Fg(m.process\(\))208 3602 y(Method)19 b(procedure)e(to)k(parse)f(and)f
(process)h(a)h(response)e(for)g(that)i(method.)125 3767
y Fb(\017)41 b Fg(m.init\(\))208 3900 y(Method)19 b(procedure)e(to)k
(initialize)f(state)h(just)g(before)d(use.)125 4065 y
Fb(\017)41 b Fg(m.reset\(\))208 4198 y(Method)19 b(procedure)e(to)k
(indicate)e(the)h(method)f(is)i(ending)e(in)h(the)h(middle)e(or)h
(before)f(completion.)125 4363 y Fb(\017)41 b Fg(m.isDone\(\))208
4496 y(Method)19 b(procedure)e(to)k(check)e(for)h(method)e(completion.)
125 4661 y Fb(\017)41 b Fg(m.getT)m(imeout\(\))208 4793
y(Method)19 b(procedure)e(to)k(determine)d(an)i(appropriate)e(timeout)i
(hint)g(for)f(that)i(method.)125 4959 y Fb(\017)41 b
Fg(m.getK)n(e)o(y\(\))208 5091 y(Method)19 b(procedure)e(to)k(obtain)e
(k)o(e)o(y)g(material)h(for)g(use)g(by)g(EAP)h(or)f(lo)n(wer)f(layers.)
125 5257 y Fb(\017)41 b Fg(m.b)n(uildReq\(\))208 5389
y(Method)19 b(procedure)e(to)k(produce)d(the)i(ne)o(xt)f(request.)0
5656 y(V)-11 b(ollbrecht,)19 b(et)i(al.)965 b(Expires)19
b(March)h(18,)f(2004)964 b([P)o(age)19 b(19])p eop
%%Page: 20 20
20 19 bop 0 100 a Fg(INTERNET)-8 b(-DRAFT)862 b(EAP)21
b(State)f(Machine)841 b(September)19 b(2003)0 390 y Ff(5.5)99
b(EAP)25 b(standalone)h(authenticator)g(states)125 589
y Fb(\017)41 b Fg(DISABLED)208 722 y(The)19 b(authenticator)g(is)i
(disabled)e(until)h(the)g(port)g(is)h(enabled)e(by)h(the)g(lo)n(wer)g
(layer)-5 b(.)125 887 y Fb(\017)41 b Fg(INITIALIZE)208
1020 y(Initializes)20 b(v)n(ariables)f(when)h(the)g(state)h(machine)e
(is)i(acti)n(v)n(ated.)125 1185 y Fb(\017)41 b Fg(IDLE)208
1318 y(The)19 b(state)i(machine)e(spends)h(most)g(of)g(its)h(time)g
(here,)e(w)o(aiting)h(for)g(something)e(to)j(happen.)125
1483 y Fb(\017)41 b Fg(RECEIVED)208 1616 y(This)20 b(state)h(is)g
(entered)e(when)h(an)g(EAP)g(pack)o(et)g(is)h(recei)n(v)o(ed:)j(the)c
(pack)o(et)g(header)f(is)i(parsed)e(here.)125 1781 y
Fb(\017)41 b Fg(INTEGRITY)p 657 1781 25 4 v 28 w(CHECK)208
1913 y(A)20 b(method)f(state)i(in)f(which)g(the)g(inte)o(grity)f(of)h
(the)g(incoming)f(pack)o(et)g(from)g(the)i(peer)e(is)i(v)o(eri\002ed)e
(by)h(the)g(method.)125 2079 y Fb(\017)41 b Fg(METHOD)p
569 2079 V 29 w(RESPONSE)208 2211 y(A)20 b(method)f(state)i(in)f(which)
g(the)g(incoming)f(pack)o(et)g(is)i(processed.)125 2377
y Fb(\017)41 b Fg(METHOD)p 569 2377 V 29 w(REQ)o(UEST)208
2509 y(A)20 b(method)f(state)i(in)f(which)g(a)h(ne)n(w)f(request)f(is)i
(formulated)d(if)j(necessary)-5 b(.)125 2675 y Fb(\017)41
b Fg(PR)m(OPOSE)p 574 2675 V 30 w(METHOD)208 2807 y(A)20
b(state)h(in)g(which)e(the)h(authenticator)f(decides)g(which)h(method)f
(to)h(try)g(ne)o(xt)g(in)g(the)g(authentication.)125
2972 y Fb(\017)41 b Fg(SELECT)p 518 2972 V 29 w(A)m(CTION)208
3105 y(In)20 b(between)g(methods,)g(the)h(state)h(machine)d(re-e)n(v)n
(aluates)h(whether)g(or)g(not)h(its)h(polic)o(y)d(is)j(satis\002ed)g
(and)e(succeeds,)208 3205 y(f)o(ails,)g(or)g(remains)g(undecided.)125
3370 y Fb(\017)41 b Fg(SEND)p 430 3370 V 29 w(REQ)o(UEST)208
3502 y(This)20 b(state)h(signals)f(the)g(lo)n(wer)g(layer)g(that)g(a)h
(request)e(pack)o(et)h(is)h(ready)e(to)i(be)f(sent.)125
3668 y Fb(\017)41 b Fg(DISCARD)208 3800 y(This)24 b(state)h(signals)f
(the)g(lo)n(wer)g(layer)g(that)g(the)g(response)g(w)o(as)h(discarded,)e
(and)h(no)g(ne)n(w)g(request)f(pack)o(et)h(will)h(be)208
3900 y(sent)20 b(at)h(this)f(time.)125 4065 y Fb(\017)41
b Fg(N)m(AK)208 4198 y(This)20 b(state)h(processes)f(Nak)g(responses)f
(from)h(the)g(peer)-5 b(.)125 4363 y Fb(\017)41 b Fg(RETRANSMIT)208
4496 y(Retransmits)20 b(the)g(pre)n(vious)f(request)g(pack)o(et.)125
4661 y Fb(\017)41 b Fg(SUCCESS)208 4793 y(A)20 b(\002nal)h(state)g
(indicating)d(success.)125 4959 y Fb(\017)41 b Fg(F)-6
b(AILURE)208 5091 y(A)20 b(\002nal)h(state)g(indicating)d(f)o(ailure.)
125 5257 y Fb(\017)41 b Fg(TIMEOUT)p 588 5257 V 28 w(F)-6
b(AILURE)208 5389 y(A)20 b(\002nal)h(state)g(indicating)d(f)o(ailure)i
(with)g(no)g(EAP)h(F)o(ailure)e(pack)o(et)h(sent.)0 5656
y(V)-11 b(ollbrecht,)19 b(et)i(al.)965 b(Expires)19 b(March)h(18,)f
(2004)964 b([P)o(age)19 b(20])p eop
%%Page: 21 21
21 20 bop 0 100 a Fg(INTERNET)-8 b(-DRAFT)862 b(EAP)21
b(State)f(Machine)841 b(September)19 b(2003)0 390 y Fe(6)119
b(EAP)30 b(Back)o(end)h(A)-6 b(uthenticator)0 675 y Fg(When)30
b(operating)e(in)i(passthrough)e(mode,)j(there)e(are)h(conceptually)e
(tw)o(o)i(parts)g(to)g(the)g(authenticator)n(-)e(the)i(part)f(that)0
775 y(passes)c(pack)o(ets)f(through)e(and)h(the)i(back)o(end)d(that)i
(actually)g(implements)f(the)h(EAP)h(method.)36 b(The)23
b(follo)n(wing)g(diagram)0 875 y(sho)n(ws)g(a)g(state)g(machine)f(for)g
(the)h(back)o(end)e(part)h(of)h(this)g(model)f(when)g(using)g(a)h(AAA)g
(serv)o(er)-5 b(.)32 b(Note)23 b(that)g(this)g(diagram)0
974 y(is)h(identical)e(to)h(Figure)f(4)h(e)o(xcept)e(no)i(retransmit)f
(is)h(included)f(in)g(the)h(IDLE)g(state)g(because)f(with)h(RADIUS)g
(retransmit)0 1074 y(is)31 b(handled)e(by)h(the)g(N)m(AS,)h(and)f(a)h
(PICK)p 1254 1074 25 4 v 30 w(UP)p 1390 1074 V 30 w(METHOD)f(state)h
(and)f(v)n(ariable)f(in)i(INITIALIZE)d(state)j(are)f(added)f(to)0
1174 y(allo)n(w)c(the)h(Method)e(to)h(\224pickup\224)f(a)i(method)e
(started)h(in)h(a)f(N)m(AS.)h(Included)e(is)i(an)f(e)o(xplanation)e(of)
i(the)h(primiti)n(v)o(es)e(and)0 1273 y(procedures)i(referenced)h(in)i
(the)g(diagram,)g(man)o(y)e(of)i(which)f(are)h(the)f(same)h(as)h(abo)o
(v)o(e.)49 b(It)29 b(should)e(be)i(noted)f(that)h(the)0
1373 y(\224lo)n(wer)20 b(layer\224)f(in)i(this)f(case)h(is)g(some)f
(AAA)h(protocol)d(\(e.g.)24 b(RADIUS\).)0 1572 y(\(see)c
(draft-ietf-eap-statemachine-00.p)o(s)15 b(for)20 b(missing)g(diagram)f
(if)h(reading)f([.txt])h(v)o(ersion\))0 1909 y Ff(6.1)99
b(Interface)26 b(between)h(back)o(end)g(authenticator)f(state)f
(machine)h(and)f(lo)o(wer)g(lay)o(er)0 2165 y Fg(The)d(lo)n(wer)g
(layer)h(presents)f(messages)h(to)f(the)h(EAP)g(back)o(end)e
(authenticator)g(state)i(machine)f(by)g(storing)g(the)g(pack)o(et)g(in)
0 2264 y(aaaEapRespData)d(and)h(setting)g(the)g(aaaEapResp)g(signal)g
(to)g(TR)m(UE.)0 2463 y(When)25 b(the)f(EAP)i(back)o(end)d
(authenticator)g(state)i(machine)f(has)h(\002nished)f(processing)g(the)
h(message,)g(it)h(sets)g(one)e(of)h(the)0 2563 y(signals)i(aaaEapReq,)f
(aaaEapNoReq,)g(aaaSuccess,)i(and)e(aaaF)o(ail.)44 b(If)26
b(it)h(sets)g(eapReq,)h(eapSuccess,)f(or)f(eapF)o(ail,)i(the)0
2663 y(corresponding)16 b(request)j(\(or)g(success/f)o(ailure\))g(pack)
o(et)g(is)h(stored)f(in)h(aaaEapReqData.)k(The)19 b(lo)n(wer)g(layer)g
(is)i(responsible)0 2762 y(for)f(actually)f(transmitting)g(this)i
(message.)0 3083 y Fd(6.1.1)81 b(V)-8 b(ariables)20 b(\(AAA)h
(interface)e(to)h(back)o(end)h(authenticator\))125 3282
y Fb(\017)41 b Fg(aaaEapResp)19 b(\(boolean\))208 3415
y(Set)31 b(to)f(TR)m(UE)h(in)f(lo)n(wer)g(layer)m(,)i(F)-6
b(ALSE)31 b(in)f(authenticator)f(state)i(machine.)54
b(Indicates)30 b(an)g(EAP)h(response)f(is)208 3515 y(a)n(v)n(ailable)19
b(for)h(processing.)125 3681 y Fb(\017)41 b Fg(aaaEapRespData)19
b(\(EAP)h(pack)o(et\))208 3814 y(Set)g(in)h(lo)n(wer)e(layer)h(when)g
(eapResp)g(is)h(set)g(to)f(TR)m(UE.)g(The)g(EAP)h(pack)o(et)e(to)i(be)f
(processed.)125 3980 y Fb(\017)41 b Fg(back)o(endEnabled)16
b(\(boolean\))208 4112 y(Indicates)h(that)i(there)f(is)i(a)e(v)n(alid)h
(link)f(to)h(use)f(for)g(the)h(communication.)i(If)e(at)g(an)o(y)e
(point)h(the)h(port)f(is)h(not)f(a)n(v)n(ailable,)208
4212 y(back)o(endEnabled)e(is)21 b(set)g(to)g(F)-6 b(ALSE)20
b(and)g(the)g(state)h(machine)e(transitions)g(to)i(DISABLED.)0
4533 y Fd(6.1.2)81 b(V)-8 b(ariables)20 b(\(back)o(end)h(authenticator)
d(to)i(AAA)h(interface\))125 4732 y Fb(\017)41 b Fg(aaaEapReq)19
b(\(boolean\))208 4865 y(Set)27 b(to)f(TR)m(UE)h(in)f(authenticator)e
(state)k(machine,)e(F)-6 b(ALSE)27 b(in)f(lo)n(wer)g(layer)-5
b(.)44 b(Indicates)25 b(a)i(ne)n(w)f(EAP)h(request)f(is)208
4965 y(ready)19 b(to)h(be)g(sent.)125 5131 y Fb(\017)41
b Fg(aaaEapNoReq)18 b(\(boolean\))208 5263 y(Set)j(to)f(TR)m(UE)g(in)h
(authenticator)d(state)j(machine,)e(F)-6 b(ALSE)21 b(in)f(lo)n(wer)g
(layer)-5 b(.)25 b(Indicates)20 b(the)g(most)h(recent)f(response)208
5363 y(has)g(been)f(processed,)g(b)n(ut)i(there)e(is)i(no)f(ne)n(w)g
(request)g(to)g(send.)0 5656 y(V)-11 b(ollbrecht,)19
b(et)i(al.)965 b(Expires)19 b(March)h(18,)f(2004)964
b([P)o(age)19 b(21])p eop
%%Page: 22 22
22 21 bop 0 100 a Fg(INTERNET)-8 b(-DRAFT)862 b(EAP)21
b(State)f(Machine)841 b(September)19 b(2003)18 4627 y
@beginspecial 0 @llx 0 @lly 599 @urx 726 @ury 4276 @rwi
@setspecial
%%BeginDocument: ../../../diagrams/20030912_backend_authenticator.eps
%!PS-Adobe-3.0 EPSF-3.0
%%Creator: ImageMark Software Labs
%%For: () ()
%%Title: C:\USERS\IETF\EAP\State machines\AuthenticatorSplit\20030912_backend_authenticator.eps
%%CreationDate: () ()
%%BoundingBox: 0 0 599 726
%%DocumentProcessColors: Black
%%ColorUsage:Color
%%DocumentFonts: Helvetica
%%+Helvetica-Bold
%%+Helvetica-Oblique
%%+Helvetica-BoldOblique
%%+Times-Roman
%%+Times-Bold
%%+Times-Italic
%%+Times-BoldItalic
%%+Courier
%%+Courier-Bold
%%+Courier-Oblique
%%+Courier-BoldOblique
%%+Symbol
%%DocumentSuppliedResources: procset Adobe_level2_AI5 1.2 0
%%+ procset Adobe_screens_AI5 1.0 0
%%+ procset Adobe_typography_AI5 1.0 0
%%+ procset Adobe_ColorImage_AI6 1.1 0
%%+ procset Adobe_blend_AI5 1.0 0
%%+ procset Adobe_pattern_AI5 1.0 0
%%+ procset Adobe_Illustrator_AI5 1.0 0
%AI5_FileFormat 3.0
%AI3_ColorUsage: Color
%AI3_TemplateBox: 0 0 599 726
%AI3_TileBox: 0 0 599 726
%AI3_DocumentPreview: None
%%Template:
%%PageOrigin:0.0000 0.0000
%AI7_GridSettings: 72 8 72 8 1 0 0.8 0.8 0.8 0.9 0.9 0.9
%%EndComments
%%BeginProlog
%%BeginResource: procset Adobe_level2_AI5 1.2 0
%%Title: (Adobe Illustrator (R) Version 5.0 Level 2 Emulation)
%%Version: 1.2 0
%%CreationDate: (04/10/93) ()
%%Copyright: ((C) 1987-1996 Adobe Systems Incorporated All Rights Reserved)
userdict /Adobe_level2_AI5 25 dict dup begin
put
/packedarray where not
{
userdict begin
/packedarray
{
array astore readonly
} bind def
/setpacking /pop load def
/currentpacking false def
end
0
} if
pop
userdict /defaultpacking currentpacking put true setpacking
/initialize
{
Adobe_level2_AI5 begin
} bind def
/terminate
{
currentdict Adobe_level2_AI5 eq
{
end
} if
} bind def
mark
/setcustomcolor where not
{
/findcmykcustomcolor
{
0
6 packedarray
} bind def
/findrgbcustomcolor
{
1
5 packedarray
} bind def
/setcustomcolor
{
exch
aload pop
0 eq
{
pop
4
{
4 index mul
4 1 roll
} repeat
5 -1 roll pop
setcmykcolor
}
{
pop
3
{
1 exch sub
3 index mul
1 exch sub
3 1 roll
} repeat
4 -1 roll pop
setrgbcolor
} ifelse
}
def
} if
/gt38? mark {version cvr cvx exec} stopped {cleartomark true} {38 gt exch pop} ifelse def
userdict /deviceDPI 72 0 matrix defaultmatrix dtransform dup mul exch dup mul add sqrt put
userdict /level2?
systemdict /languagelevel known dup
{
pop systemdict /languagelevel get 2 ge
} if
put
/level2ScreenFreq
{
begin
60
HalftoneType 1 eq
{
pop Frequency
} if
HalftoneType 2 eq
{
pop GrayFrequency
} if
HalftoneType 5 eq
{
pop Default level2ScreenFreq
} if
end
} bind def
userdict /currentScreenFreq
level2? {currenthalftone level2ScreenFreq} {currentscreen pop pop} ifelse put
level2? not
{
/setcmykcolor where not
{
/setcmykcolor
{
exch .11 mul add exch .59 mul add exch .3 mul add
1 exch sub setgray
} def
} if
/currentcmykcolor where not
{
/currentcmykcolor
{
0 0 0 1 currentgray sub
} def
} if
/setoverprint where not
{
/setoverprint /pop load def
} if
/selectfont where not
{
/selectfont
{
exch findfont exch
dup type /arraytype eq
{
makefont
}
{
scalefont
} ifelse
setfont
} bind def
} if
/cshow where not
{
/cshow
{
[
0 0 5 -1 roll aload pop
] cvx bind forall
} bind def
} if
} if
cleartomark
/anyColor?
{
add add add 0 ne
} bind def
/testColor
{
gsave
setcmykcolor currentcmykcolor
grestore
} bind def
/testCMYKColorThrough
{
testColor anyColor?
} bind def
userdict /composite?
level2?
{
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
composite? not
{
userdict begin
gsave
/cyan? 1 0 0 0 testCMYKColorThrough def
/magenta? 0 1 0 0 testCMYKColorThrough def
/yellow? 0 0 1 0 testCMYKColorThrough def
/black? 0 0 0 1 testCMYKColorThrough def
grestore
/isCMYKSep? cyan? magenta? yellow? black? or or or def
/customColor? isCMYKSep? not def
end
} if
end defaultpacking setpacking
%%EndResource
%%BeginResource: procset Adobe_typography_AI5 1.0 1
%%Title: (Typography Operators)
%%Version: 1.0
%%CreationDate:(03/26/93) ()
%%Copyright: ((C) 1987-1993 Adobe Systems Incorporated All Rights Reserved)
currentpacking true setpacking
userdict /Adobe_typography_AI5 54 dict dup begin
put
/initialize
{
begin
begin
Adobe_typography_AI5 begin
Adobe_typography_AI5
{
dup xcheck
{
bind
} if
pop pop
} forall
end
end
end
Adobe_typography_AI5 begin
} def
/terminate
{
currentdict Adobe_typography_AI5 eq
{
end
} if
} def
/modifyEncoding
{
/_tempEncode exch ddef
/_pntr 0 ddef
{
counttomark -1 roll
dup type dup /marktype eq
{
pop pop exit
}
{
/nametype eq
{
_tempEncode /_pntr dup load dup 3 1 roll 1 add ddef 3 -1 roll
put
}
{
/_pntr exch ddef
} ifelse
} ifelse
} loop
_tempEncode
} def
/TE
{
StandardEncoding 256 array copy modifyEncoding
/_nativeEncoding exch def
} def
%
/TZ
{
dup type /arraytype eq
{
/_wv exch def
}
{
/_wv 0 def
} ifelse
/_useNativeEncoding exch def
pop pop
findfont _wv type /arraytype eq
{
_wv makeblendedfont
} if
dup length 2 add dict
begin
mark exch
{
1 index /FID ne
{
def
} if
cleartomark mark
} forall
pop
/FontName exch def
counttomark 0 eq
{
1 _useNativeEncoding eq
{
/Encoding _nativeEncoding def
} if
cleartomark
}
{
/Encoding load 256 array copy
modifyEncoding /Encoding exch def
} ifelse
FontName currentdict
end
definefont pop
} def
/tr
{
_ax _ay 3 2 roll
} def
/trj
{
_cx _cy _sp _ax _ay 6 5 roll
} def
/a0
{
/Tx
{
dup
currentpoint 3 2 roll
tr _psf
newpath moveto
tr _ctm _pss
} ddef
/Tj
{
dup
currentpoint 3 2 roll
trj _pjsf
newpath moveto
trj _ctm _pjss
} ddef
} def
/a1
{
/Tx
{
dup currentpoint 4 2 roll gsave
dup currentpoint 3 2 roll
tr _psf
newpath moveto
tr _ctm _pss
grestore 3 1 roll moveto tr sp
} ddef
/Tj
{
dup currentpoint 4 2 roll gsave
dup currentpoint 3 2 roll
trj _pjsf
newpath moveto
trj _ctm _pjss
grestore 3 1 roll moveto tr jsp
} ddef
} def
/e0
{
/Tx
{
tr _psf
} ddef
/Tj
{
trj _pjsf
} ddef
} def
/e1
{
/Tx
{
dup currentpoint 4 2 roll gsave
tr _psf
grestore 3 1 roll moveto tr sp
} ddef
/Tj
{
dup currentpoint 4 2 roll gsave
trj _pjsf
grestore 3 1 roll moveto tr jsp
} ddef
} def
/i0
{
/Tx
{
tr sp
} ddef
/Tj
{
trj jsp
} ddef
} def
/i1
{
W N
} def
/o0
{
/Tx
{
tr sw rmoveto
} ddef
/Tj
{
trj swj rmoveto
} ddef
} def
/r0
{
/Tx
{
tr _ctm _pss
} ddef
/Tj
{
trj _ctm _pjss
} ddef
} def
/r1
{
/Tx
{
dup currentpoint 4 2 roll currentpoint gsave newpath moveto
tr _ctm _pss
grestore 3 1 roll moveto tr sp
} ddef
/Tj
{
dup currentpoint 4 2 roll currentpoint gsave newpath moveto
trj _ctm _pjss
grestore 3 1 roll moveto tr jsp
} ddef
} def
/To
{
pop _ctm currentmatrix pop
} def
/TO
{
iTe _ctm setmatrix newpath
} def
/Tp
{
pop _tm astore pop _ctm setmatrix
_tDict begin
/W
{
} def
/h
{
} def
} def
/TP
{
end
iTm 0 0 moveto
} def
/Tr
{
_render 3 le
{
currentpoint newpath moveto
} if
dup 8 eq
{
pop 0
}
{
dup 9 eq
{
pop 1
} if
} ifelse
dup /_render exch ddef
_renderStart exch get load exec
} def
/iTm
{
_ctm setmatrix _tm concat 0 _rise translate _hs 1 scale
} def
/Tm
{
_tm astore pop iTm 0 0 moveto
} def
/Td
{
_mtx translate _tm _tm concatmatrix pop iTm 0 0 moveto
} def
/iTe
{
_render -1 eq
{
}
{
_renderEnd _render get dup null ne
{
load exec
}
{
pop
} ifelse
} ifelse
/_render -1 ddef
} def
/Ta
{
pop
} def
/Tf
{
dup 1000 div /_fScl exch ddef
%
selectfont
} def
/Tl
{
pop
0 exch _leading astore pop
} def
/Tt
{
pop
} def
/TW
{
3 npop
} def
/Tw
{
/_cx exch ddef
} def
/TC
{
3 npop
} def
/Tc
{
/_ax exch ddef
} def
/Ts
{
/_rise exch ddef
currentpoint
iTm
moveto
} def
/Ti
{
3 npop
} def
/Tz
{
100 div /_hs exch ddef
iTm
} def
/TA
{
pop
} def
/Tq
{
pop
} def
/Th
{
pop pop pop pop pop
} def
/TX
{
pop
} def
/Tk
{
exch pop _fScl mul neg 0 rmoveto
} def
/TK
{
2 npop
} def
/T*
{
_leading aload pop neg Td
} def
/T*-
{
_leading aload pop Td
} def
/T-
{
_hyphen Tx
} def
/T+
{
} def
/TR
{
_ctm currentmatrix pop
_tm astore pop
iTm 0 0 moveto
} def
/TS
{
currentfont 3 1 roll
/_Symbol_ _fScl 1000 mul selectfont
0 eq
{
Tx
}
{
Tj
} ifelse
setfont
} def
/Xb
{
pop pop
} def
/Tb /Xb load def
/Xe
{
pop pop pop pop
} def
/Te /Xe load def
/XB
{
} def
/TB /XB load def
currentdict readonly pop
end
setpacking
%%EndResource
%%BeginResource: procset Adobe_screens_AI5 1.2 0
%%Title: (Adobe Illustrator (R) Version 5.0 Custom Halftone Screens ProcSet)
%%Version: 1.2 0
%%CreationDate: (03/24/93) ()
%%Copyright: ((C) 1987-1996 Adobe Systems Incorporated All Rights Reserved)
userdict /defaultpacking currentpacking put true setpacking
systemdict begin
userdict /Adobe_screens_AI5 15 dict dup begin
put
/initialize
{
Adobe_screens_AI5 begin
/screenid
deviceDPI 600 gt composite? not or
{
-1
}
{
deviceDPI currentScreenFreq
dup dup 60 ge exch 150 le and deviceDPI 300 le and
{
pop 60
} if
div 1.41421 div 0.5 add cvi
} ifelse
def
2 screenid eq
{
/customsize 16 def
/customdata /customdata2 def
setcustomscreen
} if
3 screenid eq
{
/customsize 24 def
/customdata /customdata3 def
setcustomscreen
} if
4 screenid eq
{
/customsize 16 def
/customdata /customdata4 def
setcustomscreen
} if
5 screenid eq
{
/customsize 20 def
/customdata /customdata5 def
setcustomscreen
} if
6 screenid eq
{
/customsize 24 def
/customdata /customdata6 def
setcustomscreen
} if
7 screenid eq
{
/customsize 28 def
/customdata /customdata7 def
setcustomscreen
} if
8 screenid eq
{
/customsize 16 def
/customdata /customdata8 def
setcustomscreen
} if
} def
/terminate
{
currentdict Adobe_screens_AI5 eq
{
end
} if
} def
/setcustomscreen
{
deviceDPI customsize div 0
{
1 add 2 div customsize mul cvi exch
1 add 2 div customsize mul cvi exch
customsize mul add
customdata load exch get 256 div
} setscreen
} def
/customdata2 28 28 mul string def
currentfile customdata2 readhexstring
4180E8694988E2634382EA6B4B8AE061A01939C8A81737C2A21B3BCAAA1636C0
F8795998F6775796FA7B5B9AF57656952ED8B80727D6B60F2FDABA0626D5B50E
4E8DE6674786EE6F4F8EE5664685ED6EAD1434C6A61F3FCEAE1232C5A51E3ECD
F3745493FE7F5F9EF1725291FD7E5E9D24D3B30C2CDEBE0222D1B10A2ADDBD04
4483EB6C4C8BE1624281E96A4A89E364A31C3CCBAB1535C1A11A3AC9A91838C3
FB7C5C9BF4755594F97A5A99F778589730DBBB0525D4B40D2DD9B90828D7B710
508FE4654584EC6D4D8CE7684887EF70AF1131C4A41D3DCCAC1333C7A72040CF
F0715190FC7D5D9CF2735392FF80609F21D0B00929DCBC0323D2B20B2BDFBF01
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000
pop pop
/customdata3 28 28 mul string def
currentfile customdata3 readhexstring
011DC7F5E73D0421CBF3E43A021EC8F6E83E0522CCF2E43A2B648BC4A0762F68
8AC39E732C658CC5A177306989C29D72D5B6521A6192D9B55219608FD6B6531B
6193DAB451185F8FFCEE440C28D2FCED430B27D1FDEF450C29D3FBEC420A26D0
BEA77D366F83BCA77C356E87BFA87E377082BBA67B346D86145B99E0AE4A1259
98DFB14E155C9AE1AD4A115897DEB04D0623CDF4E63C0420CAF8EA400723CDF4
E53B031FC9F7E93F316988C19F752E678EC6A378326A88C09F742D668DC6A278
DBB350175E91D8B8551C6395DCB24F165D90D7B7541C6294FAEC420925CFFFF1
470E2BD5F9EB410824CEFEF0460D2AD4BAA57A336C85BEAA80397180B9A47933
6B84BDA97F387181105797DDAF4C145A9CE3AB480F5696DDAE4B13599BE2AC49
021EC8F6E83E0522CCF2E43A011DC7F5E73D0421CBF3E43A2C658CC5A1773069
89C29D722B648BC4A0762F688AC39E73D6B6531B6193DAB451185F8FD5B6521A
6192D9B55219608FFDEF450C29D3FBEC420A26D0FCEE440C28D2FCED430B27D1
BFA87E377082BBA67B346D86BEA77D366F83BCA77C356E87155C9AE1AD4A1158
97DEB04D145B99E0AE4A125998DFB14E0723CDF4E53B031FC9F7E93F0623CDF4
E63C0420CAF8EA40326A88C09F742D668DC6A278316988C19F752E678EC6A378
DCB24F165D90D7B7541C6294DBB350175E91D8B8551C6395F9EB410824CEFEF0
460D2AD4FAEC420925CFFFF1470E2BD5B9A479336B84BDA97F387181BAA57A33
6C85BEAA803971800F5696DDAE4B13599BE2AC49105797DDAF4C145A9CE3AB48
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000
pop pop
/customdata4 28 28 mul string def
currentfile customdata4 readhexstring
1139B8E0FAD2531B133BBAE2F8D05119417180A6AE9A7B4B437382A5AD987949
C08867272F6F92CAC28A66262E6E90C8E8DE5F070F37B6F2EADD5E060E36B5F0
FED6571F173FBEE6FDD5561E163EBDE5AB9E7F4F477786A1A99D7E4E467685A3
2C6C96CEC68E62222A6A95CDC58D64240C34B3F6EED95A020A32B1F5EDDB5C04
143CBBE3F9D1521A123AB9E1FBD3541C447483A4AC997A4A427281A7AF9B7C4C
C38B65252D6D91C9C1896828307093CBEBDC5D050D35B4F1E9DF60081038B7F3
FCD4551D153DBCE4FFD758201840BFE7A89C7D4D457584A2AA9F8050487887A0
296994CCC48C63232B6B97CFC78F61210931B0F4ECDA5B030B33B2F7EFD85901
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000
pop pop
/customdata5 28 28 mul string def
currentfile customdata5 readhexstring
010B34C3EBFCF7CE3F16020C35C4EDFBF6CD3E15102552A4D6EADDB5632B1126
54A5D5EADCB3622A3958768499C19E8C7C5E3A59778498C19D8B7B5DC8A99370
47334C7587AFC9AA936F46324B7485AEF1E5BC6B1E0A2351A3D8F2E4BC6A1E09
2351A2D7FFF9D14219050F38C6EFFEF9D04118040E37C6EFE8E0B7662D142856
A8D3E7DFB7652D132856A7D4BF9C8E7F603D5B7A8195BE9A8E7E603C5B798297
314A7389B2CCAD906D442F497289B1CBAC926E4508214FA1DBF4E2B9671B0720
4EA0DAF4E3BA691C030D36C5EDFBF6CD3F16010C34C3ECFDF8CF4017122654A6
D4E9DDB4622A112553A5D6EBDEB5642C3B59788397C09C8B7C5D3A58778599C2
9E8C7D5FCAAB926E46314B7486AFC8AA947048334D7587B0F2E4BB691D082250
A1D8F1E6BD6B1F0A2452A3D9FDF8CF4118030E36C5EEFFFAD1421A050F38C7F0
E6DFB6642C132755A7D3E8E1B8662E152957A8D2BE9A8D7E5F3B5A798296BF9B
8F80613D5C7B80952F487188B1CAAC916D443049728AB3CCAE906C43061F4D9F
DAF3E2BA681C07214FA0DBF5E1B8671A00000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000
pop pop
/customdata6 28 28 mul string def
currentfile customdata6 readhexstring
081A44B6E0F2FDECC150250C091B45B6E1F3FCEBC04F240C1D336199C7D8DCD3
A56C37221E33619AC8D7DBD2A46B36214864798091AEB1958C7E694C49657A81
90ADB0948B7D684BB99D8475593C405C7888A1BEBA9E8574583B3F5B7888A0BD
E4CBAA712E1215326098CFE8E4CCA9712D1114315F97CEE7F5F1C6552B040719
43B5DFFAF6F0C6542A03061842B4DEF9FFEDC352270E0B1C47B8E3F4FEECC251
260D0A1C46B7E2F4DAD5A76E39232035639CCAD5D9D4A66D38231F34629BC9D6
AF938E806A4E4A677C838FABAE928D7F694D4A667B828FAC3E5A778AA3BFBC9F
8772563A3D597689A2BEBB9F8673573A14305E97D1EAE6CDA76F2B0F132F5D96
D0E9E5CDA8702C10051742B3DDFCF8EEC4522801041641B2DDFBF7EFC5532902
091B45B6E1F3FCEBC04F240C081A44B6E0F2FDECC150250C1E33619AC8D7DBD2
A46B36211D336199C7D8DCD3A56C372249657A8190ADB0948B7D684B48647980
91AEB1958C7E694CBA9E8574583B3F5B7888A0BDB99D8475593C405C7888A1BE
E4CCA9712D1114315F97CEE7E4CBAA712E1215326098CFE8F6F0C6542A030618
42B4DEF9F5F1C6552B04071943B5DFFAFEECC251260D0A1C46B7E2F4FFEDC352
270E0B1C47B8E3F4D9D4A66D38231F34629BC9D6DAD5A76E39232035639CCAD5
AE928D7F694D4A667B828FACAF938E806A4E4A677C838FAB3D597689A2BEBB9F
8673573A3E5A778AA3BFBC9F8772563A132F5D96D0E9E5CDA8702C1014305E97
D1EAE6CDA76F2B0F041641B2DDFBF7EFC5532902051742B3DDFCF8EEC4522801
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000
pop pop
/customdata7 28 28 mul string def
currentfile customdata7 readhexstring
01061B44B7E1F5FEFBE6BD4A210C01071B45B8E1F6FDFBE6BC4A200B09132A54
A7D1EAF5EED9B05D331609142B55A8D2EAF4EED9AF5C32161D2D3D6993C1CBE0
CEC59B7140301E2E3D6A93C0CADFCDC49A713F3047576C7B828DA2B6A48F867E
6F5A48576C7C828CA1B6A38F867E6E59BAAA958A78634E4451667A8498ADBAAB
968977624E4350657A8398ADE3D4C99F7539251A273C6892C2D7E4D4C89E7539
241A273B6891C1D6F8F2DDB460371005122A53A7D0ECF9F2DDB360360F051229
53A6D0EBFFFDE8BE4C220D03081D46B9E3F7FFFCE7BD4B210D02071C46B8E2F7
F3F0DBB15E34180B152C56A9D3E8F3EFDAB05D34170A142C55A9D2E9DFCCC69C
7341321F2F3F6B94BFC9DECCC59C7241311F2E3E6A94BFCAB5A38E8780705B49
596D7D808BA0B4A28D877F6F5B48586D7C818BA043506479859AAFBCAC978876
614C424F64798499AEBBAB968977624D19263B6791C3D8E5D6C79D7337231825
3A6690C3D7E5D5C79E74382304112952A5CFEDFAF0DBB25E350E03102851A5CE
ECF9F1DCB25F360E01071B45B8E1F6FDFBE6BC4A200B01061B44B7E1F5FEFBE6
BD4A210C09142B55A8D2EAF4EED9AF5C321609132A54A7D1EAF5EED9B05D3316
1E2E3D6A93C0CADFCDC49A713F301D2D3D6993C1CBE0CEC59B71403048576C7C
828CA1B6A38F867E6E5947576C7B828DA2B6A48F867E6F5ABAAB968977624E43
50657A8398ADBAAA958A78634E4451667A8498ADE4D4C89E7539241A273B6891
C1D6E3D4C99F7539251A273C6892C2D7F9F2DDB360360F05122953A6D0EBF8F2
DDB460371005122A53A7D0ECFFFCE7BD4B210D02071C46B8E2F7FFFDE8BE4C22
0D03081D46B9E3F7F3EFDAB05D34170A142C55A9D2E9F3F0DBB15E34180B152C
56A9D3E8DECCC59C7241311F2E3E6A94BFCADFCCC69C7341321F2F3F6B94BFC9
B4A28D877F6F5B48586D7C818BA0B5A38E8780705B49596D7D808BA0424F6479
8499AEBBAB968977624D43506479859AAFBCAC978876614C18253A6690C3D7E5
D5C79E74382319263B6791C3D8E5D6C79D73372303102851A5CEECF9F1DCB25F
360E04112952A5CFEDFAF0DBB25E350E
pop pop
/customdata8 28 28 mul string def
currentfile customdata8 readhexstring
050F2747B6D6EEF8FEF4DCBC4D2D1507111D375F9EC6E0E9EBE6CCA4653D1F13
2939556F8EA8C1D1D3C3AE9475573B2B4961717D808999B1B39B8B867F73634B
B8A090827A6A5A42445C6C7C8492A2BAD8C8AA97785232222434546E8DACCADA
F0E2CFA768401A0A0C1C365E9DC5E4F2FAF7DFBF50301802040E2646B5D5EDFC
FFF5DDBD4E2E160806102848B7D7EFF9EAE7CDA5663E2014121E38609FC7E1E8
D2C2AF9576583C2C2A3A56708FA9C0D0B29A8A878074644C4A62727E818898B0
435B6B7B8593A3BBB9A19183796959412333536D8CADCBDBD9C9AB9677513121
0B1B355D9CC4E5F3F1E3CEA6673F1909030D2545B4D4ECFDFBF6DEBE4F2F1701
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000
pop pop
end
end
defaultpacking setpacking
%%EndResource
%%BeginResource: procset AGM_Gradient_Sep 1.0 0
%%Title: (AGM Gradient Procset)
%%Version: 1.0 0
%%CreationDate: (4/26/96) ()
%%Copyright: ((C) 1987-1996 Adobe Systems Incorporated All Rights Reserved)
userdict /defaultpacking currentpacking put true setpacking
userdict /AGM_Gradient_Sep 5 dict dup begin put
/AGM_Gradient_Sep_private 100 dict def
/initialize{
AGM_Gradient_Sep begin
AGM_Gradient_Sep_private begin
_compositeJob{
initializeSinglePassSeps
}{
initializeMultiPassSeps
}ifelse
initializeSeps
AGM_Gradient_private begin
/_fillSD newSpotDict def
/_rampSD newSpotDict def
/_nCustomColorSD nd
end
AGM_Gradient_Sep_private
{
dup xcheck 1 index type /arraytype eq and
{
bind
}if
pop pop
}forall
AGM_Gradient_Sep
{
dup xcheck 1 index type /arraytype eq and
{
bind
}if
pop pop
}forall
end
currentdict readonly pop
end
}def
/terminate{
currentdict AGM_Gradient_Sep eq{
end
}if
}def
AGM_Gradient_Sep_private begin
/initializeSeps{
_noImage not _level2PS not and{
/_whiteBytes 1 makeByte8 pt
/knockOut{
8 setImageParms _whiteBytes /_image load 5 execImage
}def
/linealFill{
mySave
8 setImageParms
_color{
_nCustomColorSD begin
cyan magenta yellow black
_spotColor{
spot1 begin
/tintImage tintValue 1 exch sub makeByte8 def
end
spot2 begin
/tintImage tintValue 1 exch sub makeByte8 def
end
}if
end
4{
makeByte8 4 1 roll
}repeat
true 4 _nCustomColorSD ncolorimage
}{
_nCustomColorSD/black get 1 exch sub makeByte8
_nCustomColorSD bwImage
}ifelse
myRestore
}def
}{
/knockOut{
gsave
false setoverprint
1 setgray
0 0 1 1 rectfill
grestore
}def
}ifelse
/newSpotDict{
11 dict dup begin
/nSpots 2 def
/spot1 7 dict def
/spot2 7 dict def
end
}def
/initSpotData
{
begin
/name nd
/tintImage nd
/tintValue nd
/spot_C nd
/spot_M nd
/spot_Y nd
/spot_K nd
end
}def
/initSpotDict{
begin
/cyanInk false def
/magentaInk false def
/yellowInk false def
/blackInk false def
/cyan nd
/magenta nd
/yellow nd
/black nd
spot1 initSpotData
spot2 initSpotData
end
}def
/copySpotDict{
/_dst xp
begin
cyanInk magentaInk yellowInk blackInk
cyan magenta yellow black
spot1 spot2
end
_dst begin
/spot1 spot1 maxlength dict def
/spot2 spot2 maxlength dict def
spot2 copy pop
spot1 copy pop
/black xd
/yellow xd
/magenta xd
/cyan xd
/blackInk xd
/yellowInk xd
/magentaInk xd
/cyanInk xd
end
}def
/setCustomColor
{
1 index /Black eq{
6 1 roll 5 npop
1 exch sub
setgray
}{
6 1 roll _ccAry1 astore exch
dup null eq{
pop 0
}if
setcustomcolor
}ifelse
}def
/setCStop{
/_colorStyle exch pt
_colorStyle 0 eq{
0 0 0
4 -1 roll
1 exch sub
_spotColor{
/_colorStyle 3 pt
/Black
1 index
1 exch sub
}if
}if
_colorStyle 2 eq{
3 npop
}if
_rampSD _fillSD copySpotDict
_colorStyle 4 eq{
pop
9 2 roll 3 npop 6 -2 roll
} if
_colorStyle 3 eq _colorStyle 4 eq or{
_fillSD begin
exch
dup spot1/name get eq{
spot1 spot2
}{
spot2 spot1
}ifelse
begin
begin
/name xd
1 exch sub /tintValue xd
4{
tintValue mul 4 1 roll
}repeat
_spotColor not{
/tintValue null def
}if
end
/tintValue 0 def
end
end
}if
_fillSD nsetcustomcolor
}def
/renderCMYK{
spot1/name get null eq
spot2/name get null eq and
dup not{
pop
spot1 spotConverted
}if
dup not{
pop
spot2 spotConverted
}if
}def
/fill_ /fill load def
/fillOvp{
currentoverprint{
_inRipSep{
currentcolorspace 0 get
dup /DeviceGray eq
1 index /DeviceCMYK eq or{
pop
currentcmykcolor add add add 0 eq{
newpath
}if
}{
/Separation eq{
currentcolor 0 eq{
newpath
}if
}if
}ifelse
}{
currentgray 1 eq{
newpath
}if
}ifelse
}if
fill_
}def
/fill{
_nCustomColorSD begin
renderCMYK
{
fillOvp
}{
spot1 begin
gsave
name null ne{
spot_C spot_M spot_Y spot_K name tintValue setCustomColor
}{
1 setgray
}ifelse
fillOvp
grestore
end
spot2 begin
name null ne{
gsave
true setoverprint
spot_C spot_M spot_Y spot_K name tintValue setCustomColor
fillOvp
grestore
}if
end
newpath
}ifelse
end
}def
/expandSpot{
_spotColor{
/_len xp
_rampSD begin
spot1 begin
tintImage null ne{
tintImage _len expandOne /tintImage xd
}if
end
spot2 begin
tintImage null ne{
tintImage _len expandOne /tintImage xd
}if
end
end
}{
pop
}ifelse
}def
/rampImage{
_rampSD begin
_color{
/cyanInk _cyanData 0 ne def
/magentaInk _magentaData 0 ne def
/yellowInk _yellowData 0 ne def
/blackInk _blackData 0 ne def
_nSamples setImageParms
_nSamples expandSpot
_cyanData _magentaData _yellowData _blackData _nSamples 4 expandColor
true 4 _rampSD ncolorimage
}{
/cyanInk false def
/magentaInk false def
/yellowInk false def
/blackInk true def
_nSamples setImageParms
_blackData _rampSD bwImage
}ifelse
end
}def
/nsetcustomcolor where{
pop
}{
/nsetcustomcolor
{
/_nCustomColorSD xp
_nCustomColorSD begin
4 copy
/black xd
/yellow xd
/magenta xd
/cyan xd
4 copy
0 ne /blackInk xd
0 ne /yellowInk xd
0 ne /magentaInk xd
0 ne /cyanInk xd
end
setcmykcolor
}def
}ifelse
/nsetcustomcolorend where{
pop
}{
/nsetcustomcolorend
{
/_nCustomColorSD null pt
}def
}ifelse
}def
/initializeSinglePassSeps{
/_decodeNorm [0 1] pt
/_decodeInvert [1 0] pt
/spotConverted
{
begin
name null eq{
false
}{
tintValue null eq tintImage null eq and{
true
}{
false
currentpagedevice/SeparationOrder get{name eq or}forall
not
}ifelse
}ifelse
end
}def
/dictImage
{
20 dict dup begin
/Dict xd
/Decode xd
/DataSource xd
/ImageMatrix xd
/BitsPerComponent xd
/Height xd
/Width xd
/ImageType 1 def
Dict
end
/_image load 1 execImage
}def
/bwImage{
begin
gsave
currentoverprint{
blackInk{
[/Separation /Black /DeviceGray{}] setcolorspace
_decodeInvert dictImage
}{
5 npop
}ifelse
}{
/DeviceGray setcolorspace
_decodeNorm dictImage
}ifelse
grestore
end
}def
/ncolorimage where{
pop
}{
/ncolorimage{
begin
renderCMYK
{
cyanInk
magentaInk and
yellowInk and
blackInk and
not
currentoverprint
and
{
pop pop
gsave
cyanInk{
8 copy
[/Separation /Cyan /DeviceGray{}] setcolorspace
3 npop
_decodeNorm dictImage
}if
magentaInk{
8 copy
[/Separation /Magenta /DeviceGray{}] setcolorspace
4 -1 roll
3 npop
_decodeNorm dictImage
}if
yellowInk{
8 copy
[/Separation /Yellow /DeviceGray{}] setcolorspace
4 -2 roll
3 npop
_decodeNorm dictImage
}if
blackInk{
4 -3 roll
[/Separation /Black /DeviceGray{}] setcolorspace
3 npop
_decodeNorm dictImage
}{
8 npop
}ifelse
grestore
}{
/_colorimage load 10 execImage
}ifelse
}{
6 npop
gsave
spot1 begin
name null ne tintImage null ne and{
[/Separation name /DeviceGray{}] setcolorspace
4 copy
tintImage
name /Black eq{
_decodeNorm
}{
_decodeInvert
}ifelse
dictImage
}{
1 setgray fill
}ifelse
end
spot2 begin
true setoverprint
name null ne tintImage null ne and{
[/Separation name /DeviceGray{}] setcolorspace
tintImage
name /Black eq{
_decodeNorm
}{
_decodeInvert
}ifelse
dictImage
}{
4 npop
1 setgray fill
}ifelse
end
grestore
}ifelse
end
}def
}ifelse
}def
/initializeMultiPassSeps{
/_isCMYKSep
_cyanPlate _magentaPlate or _yellowPlate or _blackPlate or
pt
/invertXfer{
[
{
1 exch sub
}/exec load systemdict /currenttransfer get exec /exec load
] cvx systemdict /settransfer get exec
}def
/ccThrough{
gsave
1 setCustomColor
currentcmykcolor
grestore
add add add 0 ne
}def
/spotConverted
{
begin
_isCMYKSep not{
false
}{
name null eq{
false
}{
tintValue null eq tintImage null eq and{
true
}{
spot_C spot_M spot_Y spot_K name ccThrough
}ifelse
}ifelse
}ifelse
end
}def
/spotChannel
{
_isCMYKSep{
pop false
}{
begin
name null eq{
false
}{
spot_C spot_M spot_Y spot_K name ccThrough
}ifelse
end
}ifelse
}def
/getChannelData
{
_isCMYKSep dup{
pop renderCMYK
}if
{
_blackPlate{
4 1 roll 3 npop blackInk
}{
_yellowPlate{
4 2 roll 3 npop yellowInk
}{
_magentaPlate{
4 3 roll 3 npop magentaInk
}{
3 npop cyanInk
}ifelse
}ifelse
}ifelse
{
true /nonZeroData
}{
true /zeroData
}ifelse
}{
4 npop
spot1/name get null ne
spot1 spotChannel and{
spot1/tintImage get dup null ne{
false /nonZeroData
}{
pop false /noData
}ifelse
}{
spot2/name get null ne
spot2 spotChannel and{
spot2/tintImage get dup null ne{
false /nonZeroData
}{
pop false /noData
}ifelse
}{
false /noData
}ifelse
}ifelse
}ifelse
}def
/renderChannelData
{
/_tmp xp
_tmp /nonZeroData ne currentoverprint and{
pop
_tmp /zeroData eq{pop}if
4 npop
}{
_tmp /nonZeroData eq{
{
invertXfer
}if
systemdict/image
get 5 execImage
}{
pop
_tmp /zeroData eq{pop}if
4 npop
knockOut
}ifelse
}ifelse
}def
/bwImage{
begin
gsave
dup dup dup
getChannelData
exch pop false exch
renderChannelData
grestore
end
}def
/ncolorimage{
begin
pop pop
gsave
spot2/name get null ne spot2 spotChannel and{
true setoverprint
}if
getChannelData
renderChannelData
grestore
end
}def
}def
end
end
defaultpacking setpacking
%%EndResource
%%BeginResource: procset AGM_Gradient 1.0 0
%%Title: (AGM Gradient Procset)
%%Version: 1.0 0
%%CreationDate: (4/26/96) ()
%%Copyright: ((C) 1987-1996 Adobe Systems Incorporated All Rights Reserved)
userdict /defaultpacking currentpacking put true setpacking
userdict /AGM_Gradient 20 dict dup begin put
/AGM_Gradient_private 200 dict def
/initialize
{
AGM_Gradient begin
AGM_Gradient_private begin
initializeVars
/bd systemdict/mark get def
/ed
_level2PS
{
(>>)
}{
(counttomark 2 idiv dup dict begin {def} repeat pop currentdict end)
} ifelse
cvx def
_level2PS{
initializeLev2
}{
initializeLev1
}ifelse
queryDevice
initializeShading
initializeOps
_producingSeps{
AGM_Gradient_Sep/initialize get exec
}{
initializeComposite
}ifelse
_illustrator{
/f{}def
/F{}def
/s{}def
/S{}def
/b{}def
/B{}def
}if
/image where{
/image get /_image xd
}if
/colorimage where{
/colorimage get /_colorimage xd
}if
/rectfill where dup{
exch pop not _producingSeps or
}{
not
}ifelse
{
/rectfill{
gsave
newpath
4 2 roll moveto
1 index 0 rlineto
0 1 index rlineto
1 index neg 0 rlineto
pop pop
closepath
fill
grestore
}def
}if
/linealImage _noImage{
/rectImage load
}{
_producingSeps{
AGM_Gradient_Sep/AGM_Gradient_Sep_private get begin
/rampImage load
end
}{
/rampImage load
}ifelse
}ifelse
def
AGM_Gradient_private
{
dup xcheck 1 index type /arraytype eq and
{
bind
}if
pop pop
}forall
AGM_Gradient
{
dup xcheck 1 index type /arraytype eq and
{
bind
}if
pop pop
}forall
end
currentdict readonly pop
end
}def
/initializeAI
{
pop pop
AGM_Gradient/AGM_Gradient_private get /_illustrator true put
AGM_Gradient/initialize get exec
AGM_Gradient begin
}def
/unload{
systemdict/languagelevel known{
systemdict/languagelevel get 2 ge{
userdict/AGM_Gradient_Sep 2 copy known{
undef
}{
pop pop
}ifelse
userdict/AGM_Gradient 2 copy known{
undef
}{
pop pop
}ifelse
}if
}if
}def
/terminate{
currentdict AGM_Gradient eq{
end
}if
}def
AGM_Gradient_private begin
/initializeVars{
/_d255 256 array def
0 1 255{
_d255 exch dup 255 div put
}bind for
/_d255- 256 array def
0 1 255{
_d255- exch 1 _d255 2 index get sub put
}bind for
/_sSave nd
/_dUserSpace matrix defaultmatrix def
/_bUMatrix matrix def
/_imageMatrix matrix def
/_saveMatrix matrix def
/_xm matrix def
/_ccAry1 5 array def
/_level2PS
systemdict/languagelevel known dup{
pop systemdict/languagelevel get 2 ge
}if
def
/_level3PS
_level2PS systemdict/shfill known and
def
currentdict /_illustrator known not{
/_illustrator false def
}if
}def
/initializeOps
{
AGM_Gradient begin
currentdict/Bc known not{
/Bc{
_renderFlag 2 eq{
6 npop
}{
pushBSpace
_rampIndex 0 eq{
pop pop
setCStop
}if
linealFill
popBSpace
}ifelse
}def
}if
currentdict/Bg known not{
/Bg{
10 npop
/_gradName xp
/_renderFlag xp
_renderFlag 2 ne{
_illustrator{
_of setoverprint
}if
_illustrator _eo and _renderFlag 3 eq or{
eoclip
}{
clip
}ifelse
_gradNames _gradName 2 copy known{
get
mark exch aload pop
/_gradType xp
1 sub dup /_rampIndex xp
/_maxRampIndex xp
mark exch aload pop
0 0
}if
pop pop
getRampData
}{
mark mark
}ifelse
}def
}if
currentdict/Bm known not{
/Bm{
_renderFlag 2 ne{
_gradType 0 eq{
linealRamp
}{
radialGrad
}ifelse
}{
6 npop
}ifelse
}def
}if
currentdict/Bh known not{
/Bh{
2 npop
/_yHi xp
/_xHi xp
/_radHilite _xHi 0 ne _yHi 0 ne or pt
}def
}if
currentdict/Bn known not{
/Bn{
AGM_Gradient_private begin
dict /_gradNames xp
end
}def
}if
currentdict/Bd known not{
/Bd{
AGM_Gradient begin
AGM_Gradient_private begin
/_nColorsBd xp
/_gradType xp
/_gradName xp
}def
}if
currentdict/BD known not{
/BD{
currentdict/_gradNames known not{
/_gradNames 20 dict def
}if
] _nColorsBd _gradType
] _gradName exch /_gradNames xput
end
end
}def
}if
currentdict/Bb known not{
/Bb{
AGM_Gradient begin
AGM_Gradient_private begin
_producingSeps{
AGM_Gradient_Sep/AGM_Gradient_Sep_private get begin
}if
mySave
}def
}if
currentdict/BB known not{
/BB{
/_tmp xp
cleartomark cleartomark
_tmp dup
_renderFlag
myRestore
_producingSeps{
end
}if
_illustrator
end
end
{
2 ne exch 0 gt and{
2 eq{
s
}{
S
}ifelse
}{
pop newpath
}ifelse
}{
pop newpath
}ifelse
}def
}if
currentdict/Xm known not{
/Xm{
_xm astore pop
}def
}if
end
}def
/queryDevice{
/_inRipSep
_level2PS{
currentpagedevice/Separations 2 copy known{
get
}{
pop pop false
}ifelse
}{
false
}ifelse
def
/_noImage /lv1Fix where{
pop lv1Fix
}{
false
}ifelse
def
/_useShells where{
pop
}{
/_useShells true def
}ifelse
/_useSmoothShade where{
pop
}{
/_useSmoothShade false def
}ifelse
/_cyanPlate 1 0 0 0 testCMYKColorThrough def
/_magentaPlate 0 1 0 0 testCMYKColorThrough def
/_yellowPlate 0 0 1 0 testCMYKColorThrough def
/_blackPlate 0 0 0 1 testCMYKColorThrough def
/_compositeJob
_cyanPlate _magentaPlate and _yellowPlate and _blackPlate and
def
/_compositeSpotDevice where{
pop
}{
/_compositeSpotDevice _compositeJob not _inRipSep or{
1
}{
0
}ifelse
def
}ifelse
/_producingSeps _compositeSpotDevice 0 ne def
/_deviceDPI 72 0 matrix defaultmatrix dtransform dup mul exch dup mul add sqrt def
/_dpiThreshold where{
pop
}{
/_dpiThreshold 600 def
}ifelse
/_screenFreqThreshold where{
pop
}{
/_screenFreqThreshold 150 def
}ifelse
/_contoneDevice where{
pop
}{
/_contoneDevice false def
}ifelse
/_subSampleOK
_deviceDPI _dpiThreshold le
currentScreenFreq _screenFreqThreshold le and
_contoneDevice not and
_producingSeps not and
def
}def
/initializeLev1{
/makeByte8{
/_tmp 0 pt
255 mul cvi
8 string 8{
dup _tmp 3 index put
/_tmp _tmp 1 add pt
}repeat
exch pop
}def
/currentScreenFreq{
currentscreen pop pop
}def
/_byte 1 string def
/colorimage where{
pop
}{
/colorimage{
pop pop
/_blackTmp xp
/_yellowTmp xp
/_magentaTmp xp
/_cyanTmp xp
/_cnt 0 pt
[
_byte dup 0
_cyanTmp
/_cnt cvx /get cvx _d255 /exch cvx /get cvx .3 /mul cvx
_magentaTmp
/_cnt cvx /get cvx _d255 /exch cvx /get cvx .59 /mul cvx
_yellowTmp
/_cnt cvx /get cvx _d255 /exch cvx /get cvx .11 /mul cvx
_blackTmp
/_cnt cvx /get cvx _d255 /exch cvx /get cvx
/add cvx /add cvx /add cvx 1 /exch cvx /sub cvx
/dup cvx 0 /lt cvx{
pop 0
}/if cvx
/dup cvx 1 /gt cvx{
pop 1
}/if cvx
255 /mul cvx /cvi cvx
256 /mod cvx
/dup cvx 0 /lt cvx{
pop 0
}/if cvx
/put cvx
/_cnt dup cvx 1 /add cvx /pt cvx
] cvx
bind
/_image load 5 execImage
}def
}ifelse
}def
/initializeLev2{
/level2ScreenFreq{
begin
60
HalftoneType 1 eq{
pop Frequency
}if
HalftoneType 2 eq{
pop GrayFrequency
}if
HalftoneType 5 eq{
pop Default level2ScreenFreq
}if
end
}def
/currentScreenFreq{
currenthalftone level2ScreenFreq
}def
}def
/initializeShading{
_useSmoothShade _level3PS and{
/_usingSmoothShade true pt
initializeLev3_Ops
}{
/_usingSmoothShade false pt
}ifelse
}def
/initializeLev3_Ops
{
/initShFill{
/_index _gradType 0 eq {0}{_maxRampIndex 1 sub} ifelse pt
/_rampFuncsArray _maxRampIndex array pt
/_boundsArray _maxRampIndex 1 sub array pt
/_encodeArray _maxRampIndex 2 mul array pt
/_beginCoord _rampPoint pt
/_colorSpace null pt
/_firstFill _rampIndex _maxRampIndex eq pt
/_lastFill false pt
}def
/getRampColorSpace{
_nSamples 1 gt{
/_ndx 0 pt
[blendColor] cvx exec
}if
/_C0 [currentcolor] pt
/_C0_Space currentcolorspace pt
_nSamples 1 gt{
/_ndx _nSamples 1 sub pt
[blendColor] cvx exec
}if
/_C1 [currentcolor] pt
/_C1_Space currentcolorspace pt
_C0_Space _C1_Space eq{
/_rampColorSpace _C0_Space pt
}{
(colorspace conflict!) ==
showpage
stop
}ifelse
_spotColor{
nsetcustomcolorend
}if
}def
/linealShFill{
popBSpace
_xm aload pop pushBSpace
/_size _index 1 add pt
_size _maxRampIndex lt {
/_rampFuncsArray _rampFuncsArray 0 _size getinterval pt
/_boundsArray _boundsArray 0 _size 1 sub getinterval pt
/_encodeArray _encodeArray 0 _size 2 mul getinterval pt
}if
bd
/ShadingType 2
/ColorSpace _colorSpace
/Function
bd
/FunctionType 3
/Domain [0 1]
/Functions _rampFuncsArray
/Bounds _boundsArray
/Encode _encodeArray
ed
/Extend [_firstFill _lastFill]
/Domain [0 1]
/Coords [_beginCoord 0 _endCoord 0]
ed
shfill
}def
/radialShFill{
/_size _maxRampIndex _index sub pt
_size _maxRampIndex lt {
/_rampFuncsArray _rampFuncsArray _index _size getinterval pt
/_boundsArray _boundsArray _index _size 1 sub getinterval pt
/_encodeArray _encodeArray _index 2 mul _size 2 mul getinterval pt
}if
/_rampLen _beginCoord _endCoord sub pt
bd
/ShadingType 3
/ColorSpace _colorSpace
/Function
bd
/FunctionType 3
/Domain [0 1]
/Functions _rampFuncsArray
/Bounds _boundsArray
/Encode _encodeArray
ed
/Extend [_lastFill _firstFill]
/Domain [0 1]
/Coords [_xHi _rampLen mul _yHi _rampLen mul _endCoord 0 0 _beginCoord]
ed
shfill
_radHilite{
_xHi _rampLen mul _yHi _rampLen mul translate
}if
}def
/fillRamp{
/_invert _midPoint 0.5 lt pt
_rampIndex _maxRampIndex eq {
initShFill
}if
getRampColorSpace
_colorSpace null eq{
/_colorSpace _rampColorSpace pt
}{
_colorSpace _rampColorSpace ne{
/_index _index 1
_gradType 0 eq{
sub pt
linealShFill
}{
add pt
radialShFill
}ifelse
initShFill
/_colorSpace _rampColorSpace pt
} if
}ifelse
/_endCoord _endPoint pt
_rampFuncsArray _index
bd
/FunctionType 2
/Domain [0 1]
/N 0.5 log _invert{1 _midPoint sub}{_midPoint}ifelse log div
_gradType 0 eq{
_invert{/C1}{/C0}ifelse _C0
_invert{/C0}{/C1}ifelse _C1
}{
_invert{/C0}{/C1}ifelse _C1
_invert{/C1}{/C0}ifelse _C0
}ifelse
ed
put
_rampIndex 1 ne{
_boundsArray _index _gradType 1 eq{1 sub}if _endCoord put
} if
0 1 _invert {exch}if
_encodeArray _index 2 mul 1 add 3 -1 roll put
_encodeArray _index 2 mul 3 -1 roll put
_rampIndex 1 eq {
/_lastFill true pt
_gradType 0 eq{
linealShFill
}{
radialShFill
}ifelse
}if
/_index _index 1
_gradType 0 eq{
add pt
}{
sub pt
}ifelse
}def
/radialRamp
/fillRamp load def
/rampImage
/fillRamp load def
AGM_Gradient begin
/Bc{
6 npop
}def
end
}def
/initializeComposite{
/bwImage{
pop /_image load 5 execImage
}def
currentdict/rampImage known not{
/rampImage{
_color{
_nSamples setImageParms
_rgbRamp{
_redData _greenData _blueData _nSamples 3 expandColor
true 3 null ncolorimage
}{
_cyanData _magentaData _yellowData _blackData _nSamples 4 expandColor
true 4 null ncolorimage
}ifelse
}{
_nSamples setImageParms _blackData null bwImage
}ifelse
}def
}if
/setCStop{
/_colorStyle exch pt
_colorStyle 0 eq{
1 exch sub
0 0 0
4 -1 roll
}if
_colorStyle 2 eq{
setrgbcolor 4 npop
}if
_colorStyle 3 eq{
1 exch sub /_tmp xp
pop
4{
_tmp mul 4 1 roll
}repeat
}if
_colorStyle 4 eq{
3 -1 roll pop pop
1 exch sub /_tmp xp
3{
1 exch sub _tmp mul 1 exch sub 3 1 roll
}repeat
setrgbcolor
4 npop
}if
_colorStyle 2 ne _colorStyle 4 ne and{
null nsetcustomcolor
}if
}def
/nsetcustomcolor
{
pop setcmykcolor
}def
/nsetcustomcolorend
{
}def
/ncolorimage{
pop
/_colorimage load 10 execImage
}def
_noImage not _level2PS not and{
/linealFill{
8 setImageParms
_color{
currentcmykcolor
4{
makeByte8 4 1 roll
}repeat
true 4 null ncolorimage
}{
currentgray makeByte8 null bwImage
}ifelse
}def
}if
}def
/npop{
{pop}repeat
}def
/xd{
exch def
}def
/nd{
null def
}def
/pt{
AGM_Gradient_private 3 1 roll put
}def
/xp{
exch pt
}def
/xput{
dup load dup length exch maxlength eq{
dup dup load dup
length 2 mul dict copy def
}if
load begin
def
end
}def
/mySave{
save /_sSave xp
}def
/myRestore{
_sSave type /savetype eq{
_sSave restore
}if
}def
/gMark{
counttomark 2 add -1 roll
}def
/execImage{
/_tmp xp
{
exec
}stopped{
$error /errorname get /undefinedresult ne{
stop
}{
_tmp npop
}ifelse
}if
}def
/pushBSpace{
newpath gsave
_bUMatrix astore concat
}def
/popBSpace{
grestore
}def
/setImageParms{
1 8 2 index 0 0 1 0 0 _imageMatrix astore
}def
/linealFill{
0 0 1 1 rectfill
}def
/testCMYKColorThrough{
gsave
setcmykcolor currentcmykcolor
grestore
add add add 0 ne
}def
/expandOne {
/_tmp xp
dup type /stringtype ne{
_tmp string
exch
dup 0 ne{
255 mul cvi
0 1 _tmp 1 sub{
3 copy
exch put pop
}for
}if
pop
}if
}def
/expandColor{
/_channels xp
/_len xp
_channels{
_len expandOne _channels 1 roll
}repeat
}def
/blendColor{
_color{
_rgbRamp _producingSeps not and{
_redData dup type /stringtype eq{
/_ndx cvx /get cvx _d255 /exch cvx /get cvx
}if
_greenData dup type /stringtype eq{
/_ndx cvx /get cvx _d255 /exch cvx /get cvx
}if
_blueData dup type /stringtype eq{
/_ndx cvx /get cvx _d255 /exch cvx /get cvx
}if
/setrgbcolor cvx
}{
_cyanData dup type /stringtype eq{
/_ndx cvx /get cvx _d255 /exch cvx /get cvx
}if
_magentaData dup type /stringtype eq{
/_ndx cvx /get cvx _d255 /exch cvx /get cvx
}if
_yellowData dup type /stringtype eq{
/_ndx cvx /get cvx _d255 /exch cvx /get cvx
}if
_blackData dup type /stringtype eq{
/_ndx cvx /get cvx _d255 /exch cvx /get cvx
}if
_spotColor{
_rampSD begin
/_rampSD cvx /begin cvx
spot1 begin
tintImage dup type /stringtype eq{
/_ndx cvx /get cvx _d255- /exch cvx /get cvx
}{
dup null ne{
name type /nametype ne{
1 exch sub
}if
}if
}ifelse
end
/spot1 cvx /tintValue 3 -1 /roll cvx /put cvx
spot2 begin
tintImage dup type /stringtype eq{
/_ndx cvx /get cvx _d255- /exch cvx /get cvx
}{
dup null ne{
name type /nametype ne{
1 exch sub
}if
}if
}ifelse
end
/spot2 cvx /tintValue 3 -1 /roll cvx /put cvx
/end cvx
end
/_rampSD cvx
/nsetcustomcolor cvx
}{
/setcmykcolor cvx
}ifelse
}ifelse
}{
_blackData /_ndx cvx /get cvx
_d255 /exch cvx /get cvx
_usingSmoothShade{
1 /exch cvx /sub cvx 0 0 0 4 -1 /roll cvx /setcmykcolor cvx
}{
/setgray cvx
}ifelse
}ifelse
}def
/linealRamp{
pushBSpace
_ramp{
linealImage
}{
linealFill
}ifelse
popBSpace
/_rampIndex _rampIndex 1 sub pt
_rampIndex 0 gt{
getRampData
}if
}def
/radialGrad{
/_firstShell true pt
_usingSmoothShade not{
fill
}if
pushBSpace
_radHilite{
_xHi _yHi _bUMatrix idtransform /_yHi xp /_xHi xp
_rampPoint 1 lt{
1 _rampPoint sub dup _xHi mul exch _yHi mul translate
}if
}if
_rampIndex{
radialRamp
/_rampIndex _rampIndex 1 sub pt
_rampIndex 0 gt{
getRampData
}if
}repeat
popBSpace
}def
/getNSamples{
0 exch
{
dup type /stringtype eq{
length exch pop exit
}if
pop
}forall
dup 0 eq{
pop 1
}if
}def
/getRampData{
/_rampType gMark pt
/_color _rampType 0 gt pt
/_ccRGB _rampType 5 eq _rampType 6 eq or pt
/_rgbRamp _rampType 4 eq _ccRGB or pt
/_ccProcess _rampType 2 eq _rampType 3 eq or pt
_producingSeps{
_rampSD initSpotDict
/_spotColor _ccProcess _ccRGB or pt
}{
/_spotColor false pt
}ifelse
/_ramp true pt
100 div /_rampPoint xp
100 div /_midPoint xp
dup /_colorStyle xp
_colorStyle 0 eq{
2
}{
_colorStyle 1 eq{
5
}{
_colorStyle 2 eq{
8
}{
_colorStyle 3 eq{
_producingSeps{
_rampSD begin
spot1 begin
/name 3 index def
/spot_K 4 index def
/spot_Y 5 index def
/spot_M 6 index def
/spot_C 7 index def
end
end
}if
7
}{
_producingSeps{
_rampSD begin
spot1 begin
/name 4 index def
/spot_K 8 index def
/spot_Y 9 index def
/spot_M 10 index def
/spot_C 11 index def
end
end
}if
11
} ifelse
}ifelse
}ifelse
}ifelse
/_tmp xp
_tmp index 100 div /_endPoint xp
_gradType 1 eq{
_tmp 1 add index 100 div /_midPoint xp
}if
_producingSeps{
_tmp 2 add index /_nextColorStyle xp
_nextColorStyle 3 eq{
/_tmp _tmp 4 add pt
_tmp index dup
_rampSD begin
spot1 /name get ne{
spot2 begin
/name xd
/spot_K _tmp 2 add index def
/spot_Y _tmp 3 add index def
/spot_M _tmp 4 add index def
/spot_C _tmp 5 add index def
end
}{
pop
}ifelse
end
}if
_nextColorStyle 4 eq{
/_tmp _tmp 5 add pt
_tmp index dup
_rampSD begin
spot1 /name get ne{
spot2 begin
/name xd
/spot_K _tmp 5 add index def
/spot_Y _tmp 6 add index def
/spot_M _tmp 7 add index def
/spot_C _tmp 8 add index def
end
}{
pop
}ifelse
end
}if
}if
_rampType 3 eq _rampType 6 eq or{
/_tint2Data gMark pt
}if
_ccProcess _ccRGB or{
/_tint1Data gMark pt
}if
_rgbRamp{
/_blueData gMark pt
/_greenData gMark pt
/_redData gMark pt
}if
_producingSeps{
_rampSD begin
_ccProcess _ccRGB or{
_rampType 3 eq _rampType 6 eq or{
spot2 begin
/tintImage _gradType 0 eq{
_tint2Data
}{
_tint1Data
}ifelse
def
name null eq{
/name /Black def
}if
end
}if
spot1 begin
/tintImage _gradType 0 eq _rampType 2 eq or _rampType 5 eq or{
_tint1Data
}{
_tint2Data
}ifelse
def
_rampType 2 eq _rampType 5 eq or{
name null eq{
/name spot2 /name get def
spot2 /name null put
}if
}{
name null eq{
/name /Black def
}if
}ifelse
end
}if
end
}if
/_blackData gMark pt
_rampType 0 gt{
counttomark 4 add -3 roll
/_yellowData xp
/_magentaData xp
/_cyanData xp
}if
_ramp{
/_nSamples
[
_rampType 0 eq {_blackData}if
_rampType 1 eq {_cyanData _magentaData _yellowData _blackData}if
_rampType 2 eq {_cyanData _magentaData _yellowData _blackData _tint1Data}if
_rampType 3 eq {_cyanData _magentaData _yellowData _blackData _tint1Data _tint2Data}if
_rampType 4 eq {_cyanData _magentaData _yellowData _blackData _redData _greenData _blueData}if
_rampType 5 eq {_cyanData _magentaData _yellowData _blackData _redData _greenData _blueData _tint1Data}if
_rampType 6 eq {_cyanData _magentaData _yellowData _blackData _redData _greenData _blueData _tint1Data _tint2Data}if
] getNSamples pt
_usingSmoothShade not {/_ramp _nSamples 1 gt pt} if
} if
setCStop
}def
/rectImage{
gsave
/_sInc 1 pt
/_bInc 1 _nSamples div pt
/_uRampLen 1 0 dtransform _dUserSpace idtransform dup mul exch dup mul add sqrt pt
/_pChange _uRampLen 0 eq{0}{_nSamples _uRampLen div}ifelse pt
0
_nSamples
[
/dup cvx
/_ndx /exch cvx /pt cvx
blendColor
0 0 _bInc 1 /rectfill cvx
_bInc 0 /translate cvx
_sInc /add cvx
] cvx
bind
repeat
pop
_spotColor{
nsetcustomcolorend
}if
grestore
}def
/radialInit{
/_nRadSamples _nSamples dup 0 eq{pop 1}if pt
/_sInc -1 pt
/_rampLen _rampPoint _endPoint sub pt
/_bInc _rampLen _nSamples div neg pt
/_optimize false pt
_subSampleOK{
/_uRampLen
_rampLen 0 dtransform _dUserSpace idtransform dup mul exch dup mul add sqrt
0 _rampLen dtransform _dUserSpace idtransform dup mul exch dup mul add sqrt
2 copy lt{
exch
}if pop
pt
/_pChange
_uRampLen 0 eq{
0
}{
_nSamples _uRampLen div
}ifelse
pt
_pChange .5 gt dup /_optimize xp{
/_nRadSamples _uRampLen 2 div round cvi dup 1 le{pop 2}if pt
/_bInc _rampLen _nRadSamples div neg pt
/_sInc _nSamples 1 sub _nRadSamples 1 sub div neg pt
}if
}if
_radHilite{
/_xBCInc _xHi _rampLen mul _nRadSamples div pt
/_yBCInc _yHi _rampLen mul _nRadSamples div pt
}if
}def
currentdict/radialRamp known not{
/radialRamp{
/_saveMatrix _saveMatrix currentmatrix def
radialInit
_rampPoint
_nSamples 1 sub
_nRadSamples
[
/dup cvx
_optimize{
/round cvx /cvi cvx
}if
/_ndx /exch cvx /pt cvx
_useShells{
/_firstShell cvx{
/_firstShell false pt
}{
0 0 3 index 360 0 arcn fill
}/ifelse cvx
}if
blendColor
_useShells{
0 0 3 /index cvx 0 360 /arc cvx
}{
0 0 3 /index cvx 0 360 /arc cvx /fill cvx
}ifelse
/exch cvx _bInc /add cvx /exch cvx
_sInc /add cvx
_radHilite{
_xBCInc _yBCInc /translate cvx
}if
] cvx bind
repeat
pop pop
_saveMatrix setmatrix
_radHilite{
_xHi _rampLen mul _yHi _rampLen mul translate
}if
_useShells _rampIndex 1 eq and{
fill
}if
_spotColor{
nsetcustomcolorend
}if
}def
}if
end
end
defaultpacking setpacking
%%EndResource
%%BeginProcSet: Adobe_ColorImage_AI6 1.1 0
userdict /Adobe_ColorImage_AI6 known not
{
userdict /Adobe_ColorImage_AI6 24 dict put
} if
userdict /Adobe_ColorImage_AI6 get begin
/initialize
{
Adobe_ColorImage_AI6 begin
Adobe_ColorImage_AI6
{
dup type /arraytype eq
{
dup xcheck
{
bind
} if
} if
pop pop
} forall
} def
/terminate { end } def
currentdict /Adobe_ColorImage_AI6_Vars known not
{
/Adobe_ColorImage_AI6_Vars 15 dict def
} if
Adobe_ColorImage_AI6_Vars begin
/channelcount 0 def
/sourcecount 0 def
/sourcearray 4 array def
/plateindex -1 def
/XIMask 0 def
/XIBinary 0 def
/XIChannelCount 0 def
/XIBitsPerPixel 0 def
/XIImageHeight 0 def
/XIImageWidth 0 def
/XIImageMatrix null def
/XIBuffer null def
/XIDataProc null def
/XIVersion 6 def
end
/WalkRGBString null def
/WalkCMYKString null def
/StuffRGBIntoGrayString null def
/RGBToGrayImageProc null def
/StuffCMYKIntoGrayString null def
/CMYKToGrayImageProc null def
/ColorImageCompositeEmulator null def
/SeparateCMYKImageProc null def
/FourEqual null def
/TestPlateIndex null def
currentdict /_colorimage known not
{
/colorimage where
{
/colorimage get /_colorimage exch def
}
{
/_colorimage null def
} ifelse
} if
/_currenttransfer systemdict /currenttransfer get def
/colorimage null def
/XI null def
/WalkRGBString
{
0 3 index
dup length 1 sub 0 3 3 -1 roll
{
3 getinterval { } forall
5 index exec
3 index
} for
5 { pop } repeat
} def
/WalkCMYKString
{
0 3 index
dup length 1 sub 0 4 3 -1 roll
{
4 getinterval { } forall
6 index exec
3 index
} for
5 { pop } repeat
} def
/StuffRGBIntoGrayString
{
.11 mul exch
.59 mul add exch
.3 mul add
cvi 3 copy put
pop 1 add
} def
/RGBToGrayImageProc
{
Adobe_ColorImage_AI6_Vars begin
sourcearray 0 get exec
dup length 3 idiv string
dup 3 1 roll
/StuffRGBIntoGrayString load exch
WalkRGBString
end
} def
/StuffCMYKIntoGrayString
{
exch .11 mul add
exch .59 mul add
exch .3 mul add
dup 255 gt { pop 255 } if
255 exch sub cvi 3 copy put
pop 1 add
} def
/CMYKToGrayImageProc
{
Adobe_ColorImage_AI6_Vars begin
sourcearray 0 get exec
dup length 4 idiv string
dup 3 1 roll
/StuffCMYKIntoGrayString load exch
WalkCMYKString
end
} def
/ColorImageCompositeEmulator
{
pop true eq
{
Adobe_ColorImage_AI6_Vars /sourcecount get 5 add { pop } repeat
}
{
Adobe_ColorImage_AI6_Vars /channelcount get 1 ne
{
Adobe_ColorImage_AI6_Vars begin
sourcearray 0 3 -1 roll put
channelcount 3 eq
{
/RGBToGrayImageProc
}
{
/CMYKToGrayImageProc
} ifelse
load
end
} if
image
} ifelse
} def
/SeparateCMYKImageProc
{
Adobe_ColorImage_AI6_Vars begin
sourcecount 0 ne
{
sourcearray plateindex get exec
}
{
sourcearray 0 get exec
dup length 4 idiv string
0 2 index
plateindex 4 2 index length 1 sub
{
get 255 exch sub
3 copy put pop 1 add
2 index
} for
pop pop exch pop
} ifelse
end
} def
/FourEqual
{
4 index ne
{
pop pop pop false
}
{
4 index ne
{
pop pop false
}
{
4 index ne
{
pop false
}
{
4 index eq
} ifelse
} ifelse
} ifelse
} def
/TestPlateIndex
{
Adobe_ColorImage_AI6_Vars begin
/plateindex -1 def
/setcmykcolor where
{
pop
gsave
1 0 0 0 setcmykcolor systemdict /currentgray get exec 1 exch sub
0 1 0 0 setcmykcolor systemdict /currentgray get exec 1 exch sub
0 0 1 0 setcmykcolor systemdict /currentgray get exec 1 exch sub
0 0 0 1 setcmykcolor systemdict /currentgray get exec 1 exch sub
grestore
1 0 0 0 FourEqual
{
/plateindex 0 def
}
{
0 1 0 0 FourEqual
{
/plateindex 1 def
}
{
0 0 1 0 FourEqual
{
/plateindex 2 def
}
{
0 0 0 1 FourEqual
{
/plateindex 3 def
}
{
0 0 0 0 FourEqual
{
/plateindex 5 def
} if
} ifelse
} ifelse
} ifelse
} ifelse
pop pop pop pop
} if
plateindex
end
} def
/colorimage
{
Adobe_ColorImage_AI6_Vars begin
/channelcount 1 index def
/sourcecount 2 index 1 eq { channelcount 1 sub } { 0 } ifelse def
4 sourcecount add index dup
8 eq exch 1 eq or not
end
{
/_colorimage load null ne
{
_colorimage
}
{
Adobe_ColorImage_AI6_Vars /sourcecount get
7 add { pop } repeat
} ifelse
}
{
dup 3 eq
TestPlateIndex
dup -1 eq exch 5 eq or or
{
/_colorimage load null eq
{
ColorImageCompositeEmulator
}
{
dup 1 eq
{
pop pop image
}
{
Adobe_ColorImage_AI6_Vars /plateindex get 5 eq
{
gsave
0 _currenttransfer exec
1 _currenttransfer exec
eq
{ 0 _currenttransfer exec 0.5 lt }
{ 0 _currenttransfer exec 1 _currenttransfer exec gt } ifelse
{ { pop 0 } } { { pop 1 } } ifelse
systemdict /settransfer get exec
} if
_colorimage
Adobe_ColorImage_AI6_Vars /plateindex get 5 eq
{
grestore
} if
} ifelse
} ifelse
}
{
dup 1 eq
{
pop pop
image
}
{
pop pop
Adobe_ColorImage_AI6_Vars begin
sourcecount -1 0
{
exch sourcearray 3 1 roll put
} for
/SeparateCMYKImageProc load
end
systemdict /image get exec
} ifelse
} ifelse
} ifelse
} def
/XG
{
pop pop
} def
/XF
{
13 {pop} repeat
} def
/Xh
{
Adobe_ColorImage_AI6_Vars begin
gsave
/XIMask exch 0 ne def
/XIImageHeight exch def
/XIImageWidth exch def
/XIImageMatrix exch def
0 0 moveto
XIImageMatrix concat
XIImageWidth XIImageHeight scale
XIMask
{
/_lp /null ddef
_fc
/_lp /imagemask ddef
}
if
/XIVersion 7 def
end
} def
/XH
{
Adobe_ColorImage_AI6_Vars begin
/XIVersion 6 def
grestore
end
} def
/XI
{
Adobe_ColorImage_AI6_Vars begin
gsave
/XIMask exch 0 ne def
/XIBinary exch 0 ne def
pop
pop
/XIChannelCount exch def
/XIBitsPerPixel exch def
/XIImageHeight exch def
/XIImageWidth exch def
pop pop pop pop
/XIImageMatrix exch def
XIBitsPerPixel 1 eq
{
XIImageWidth 8 div ceiling cvi
}
{
XIImageWidth XIChannelCount mul
} ifelse
/XIBuffer exch string def
XIBinary
{
/XIDataProc { currentfile XIBuffer readstring pop } def
XIVersion 6 le
{
currentfile 128 string readline pop pop
}
if
}
{
/XIDataProc { currentfile XIBuffer readhexstring pop } def
} ifelse
XIVersion 6 le
{
0 0 moveto
XIImageMatrix concat
XIImageWidth XIImageHeight scale
XIMask
{
/_lp /null ddef
_fc
/_lp /imagemask ddef
} if
} if
XIMask
{
XIImageWidth XIImageHeight
false
[ XIImageWidth 0 0 XIImageHeight neg 0 0 ]
/XIDataProc load
imagemask
}
{
XIImageWidth XIImageHeight
XIBitsPerPixel
[ XIImageWidth 0 0 XIImageHeight neg 0 0 ]
/XIDataProc load
XIChannelCount 1 eq
{
gsave
0 setgray
image
grestore
}
{
false
XIChannelCount
colorimage
} ifelse
} ifelse
grestore
end
} def
end
%%EndProcSet
%%BeginResource: procset Adobe_Illustrator_AI5 1.1 0
%%Title: (Adobe Illustrator (R) Version 5.0 Full Prolog)
%%Version: 1.1 0
%%CreationDate: (3/7/1994) ()
%%Copyright: ((C) 1987-1996 Adobe Systems Incorporated All Rights Reserved)
currentpacking true setpacking
userdict /Adobe_Illustrator_AI5_vars 81 dict dup begin
put
/_eo false def
/_lp /none def
/_pf
{
} def
/_ps
{
} def
/_psf
{
} def
/_pss
{
} def
/_pjsf
{
} def
/_pjss
{
} def
/_pola 0 def
/_doClip 0 def
/cf currentflat def
/_tm matrix def
/_renderStart
[
/e0 /r0 /a0 /o0 /e1 /r1 /a1 /i0
] def
/_renderEnd
[
null null null null /i1 /i1 /i1 /i1
] def
/_render -1 def
/_rise 0 def
/_ax 0 def
/_ay 0 def
/_cx 0 def
/_cy 0 def
/_leading
[
0 0
] def
/_ctm matrix def
/_mtx matrix def
/_sp 16#020 def
/_hyphen (-) def
/_fScl 0 def
/_cnt 0 def
/_hs 1 def
/_nativeEncoding 0 def
/_useNativeEncoding 0 def
/_tempEncode 0 def
/_pntr 0 def
/_tDict 2 dict def
/_wv 0 def
/Tx
{
} def
/Tj
{
} def
/CRender
{
} def
/_AI3_savepage
{
} def
/_gf null def
/_cf 4 array def
/_if null def
/_of false def
/_fc
{
} def
/_gs null def
/_cs 4 array def
/_is null def
/_os false def
/_sc
{
} def
/_pd 1 dict def
/_ed 15 dict def
/_pm matrix def
/_fm null def
/_fd null def
/_fdd null def
/_sm null def
/_sd null def
/_sdd null def
/_i null def
/discardSave null def
/buffer 256 string def
/beginString null def
/endString null def
/endStringLength null def
/layerCnt 1 def
/layerCount 1 def
/perCent (%) 0 get def
/perCentSeen? false def
/newBuff null def
/newBuffButFirst null def
/newBuffLast null def
/clipForward? false def
end
userdict /Adobe_Illustrator_AI5 known not {
userdict /Adobe_Illustrator_AI5 91 dict put
} if
userdict /Adobe_Illustrator_AI5 get begin
/initialize
{
Adobe_Illustrator_AI5 dup begin
Adobe_Illustrator_AI5_vars begin
discardDict
{
bind pop pop
} forall
dup /nc get begin
{
dup xcheck 1 index type /operatortype ne and
{
bind
} if
pop pop
} forall
end
newpath
} def
/terminate
{
end
end
} def
/_
null def
/ddef
{
Adobe_Illustrator_AI5_vars 3 1 roll put
} def
/xput
{
dup load dup length exch maxlength eq
{
dup dup load dup
length 2 mul dict copy def
} if
load begin
def
end
} def
/npop
{
{
pop
} repeat
} def
/sw
{
dup length exch stringwidth
exch 5 -1 roll 3 index mul add
4 1 roll 3 1 roll mul add
} def
/swj
{
dup 4 1 roll
dup length exch stringwidth
exch 5 -1 roll 3 index mul add
4 1 roll 3 1 roll mul add
6 2 roll /_cnt 0 ddef
{
1 index eq
{
/_cnt _cnt 1 add ddef
} if
} forall
pop
exch _cnt mul exch _cnt mul 2 index add 4 1 roll 2 index add 4 1 roll pop pop
} def
/ss
{
4 1 roll
{
2 npop
(0) exch 2 copy 0 exch put pop
gsave
false charpath currentpoint
4 index setmatrix
stroke
grestore
moveto
2 copy rmoveto
} exch cshow
3 npop
} def
/jss
{
4 1 roll
{
2 npop
(0) exch 2 copy 0 exch put
gsave
_sp eq
{
exch 6 index 6 index 6 index 5 -1 roll widthshow
currentpoint
}
{
false charpath currentpoint
4 index setmatrix stroke
} ifelse
grestore
moveto
2 copy rmoveto
} exch cshow
6 npop
} def
/sp
{
{
2 npop (0) exch
2 copy 0 exch put pop
false charpath
2 copy rmoveto
} exch cshow
2 npop
} def
/jsp
{
{
2 npop
(0) exch 2 copy 0 exch put
_sp eq
{
exch 5 index 5 index 5 index 5 -1 roll widthshow
}
{
false charpath
} ifelse
2 copy rmoveto
} exch cshow
5 npop
} def
/pl
{
transform
0.25 sub round 0.25 add exch
0.25 sub round 0.25 add exch
itransform
} def
/setstrokeadjust where
{
pop true setstrokeadjust
/c
{
curveto
} def
/C
/c load def
/v
{
currentpoint 6 2 roll curveto
} def
/V
/v load def
/y
{
2 copy curveto
} def
/Y
/y load def
/l
{
lineto
} def
/L
/l load def
/m
{
moveto
} def
}
{
/c
{
pl curveto
} def
/C
/c load def
/v
{
currentpoint 6 2 roll pl curveto
} def
/V
/v load def
/y
{
pl 2 copy curveto
} def
/Y
/y load def
/l
{
pl lineto
} def
/L
/l load def
/m
{
pl moveto
} def
} ifelse
/d
{
setdash
} def
/cf
{
} def
/i
{
dup 0 eq
{
pop cf
} if
setflat
} def
/j
{
setlinejoin
} def
/J
{
setlinecap
} def
/M
{
setmiterlimit
} def
/w
{
setlinewidth
} def
/XR
{
0 ne
/_eo exch ddef
} def
/H
{
} def
/h
{
closepath
} def
/N
{
_pola 0 eq
{
_doClip 1 eq
{
_eo {eoclip} {clip} ifelse /_doClip 0 ddef
} if
newpath
}
{
/CRender
{
N
} ddef
} ifelse
} def
/n
{
N
} def
/F
{
_pola 0 eq
{
_doClip 1 eq
{
gsave _pf grestore _eo {eoclip} {clip} ifelse newpath /_lp /none ddef _fc
/_doClip 0 ddef
}
{
_pf
} ifelse
}
{
/CRender
{
F
} ddef
} ifelse
} def
/f
{
closepath
F
} def
/S
{
_pola 0 eq
{
_doClip 1 eq
{
gsave _ps grestore _eo {eoclip} {clip} ifelse newpath /_lp /none ddef _sc
/_doClip 0 ddef
}
{
_ps
} ifelse
}
{
/CRender
{
S
} ddef
} ifelse
} def
/s
{
closepath
S
} def
/B
{
_pola 0 eq
{
_doClip 1 eq
gsave F grestore
{
gsave S grestore _eo {eoclip} {clip} ifelse newpath /_lp /none ddef _sc
/_doClip 0 ddef
}
{
S
} ifelse
}
{
/CRender
{
B
} ddef
} ifelse
} def
/b
{
closepath
B
} def
/W
{
/_doClip 1 ddef
} def
/*
{
count 0 ne
{
dup type /stringtype eq
{
pop
} if
} if
newpath
} def
/u
{
} def
/U
{
} def
/q
{
_pola 0 eq
{
gsave
} if
} def
/Q
{
_pola 0 eq
{
grestore
} if
} def
/*u
{
_pola 1 add /_pola exch ddef
} def
/*U
{
_pola 1 sub /_pola exch ddef
_pola 0 eq
{
CRender
} if
} def
/D
{
pop
} def
/*w
{
} def
/*W
{
} def
/`
{
/_i save ddef
clipForward?
{
nulldevice
} if
6 1 roll 4 npop
concat pop
userdict begin
/showpage
{
} def
0 setgray
0 setlinecap
1 setlinewidth
0 setlinejoin
10 setmiterlimit
[] 0 setdash
/setstrokeadjust where {pop false setstrokeadjust} if
newpath
0 setgray
false setoverprint
} def
/~
{
end
_i restore
} def
/O
{
0 ne
/_of exch ddef
/_lp /none ddef
} def
/R
{
0 ne
/_os exch ddef
/_lp /none ddef
} def
/g
{
/_gf exch ddef
/_fc
{
_lp /fill ne
{
_of setoverprint
_gf setgray
/_lp /fill ddef
} if
} ddef
/_pf
{
_fc
_eo {eofill} {fill} ifelse
} ddef
/_psf
{
_fc
ashow
} ddef
/_pjsf
{
_fc
awidthshow
} ddef
/_lp /none ddef
} def
/G
{
/_gs exch ddef
/_sc
{
_lp /stroke ne
{
_os setoverprint
_gs setgray
/_lp /stroke ddef
} if
} ddef
/_ps
{
_sc
stroke
} ddef
/_pss
{
_sc
ss
} ddef
/_pjss
{
_sc
jss
} ddef
/_lp /none ddef
} def
/k
{
_cf astore pop
/_fc
{
_lp /fill ne
{
_of setoverprint
_cf aload pop setcmykcolor
/_lp /fill ddef
} if
} ddef
/_pf
{
_fc
_eo {eofill} {fill} ifelse
} ddef
/_psf
{
_fc
ashow
} ddef
/_pjsf
{
_fc
awidthshow
} ddef
/_lp /none ddef
} def
/K
{
_cs astore pop
/_sc
{
_lp /stroke ne
{
_os setoverprint
_cs aload pop setcmykcolor
/_lp /stroke ddef
} if
} ddef
/_ps
{
_sc
stroke
} ddef
/_pss
{
_sc
ss
} ddef
/_pjss
{
_sc
jss
} ddef
/_lp /none ddef
} def
/x
{
/_gf exch ddef
findcmykcustomcolor
/_if exch ddef
/_fc
{
_lp /fill ne
{
_of setoverprint
_if _gf 1 exch sub setcustomcolor
/_lp /fill ddef
} if
} ddef
/_pf
{
_fc
_eo {eofill} {fill} ifelse
} ddef
/_psf
{
_fc
ashow
} ddef
/_pjsf
{
_fc
awidthshow
} ddef
/_lp /none ddef
} def
/X
{
/_gs exch ddef
findcmykcustomcolor
/_is exch ddef
/_sc
{
_lp /stroke ne
{
_os setoverprint
_is _gs 1 exch sub setcustomcolor
/_lp /stroke ddef
} if
} ddef
/_ps
{
_sc
stroke
} ddef
/_pss
{
_sc
ss
} ddef
/_pjss
{
_sc
jss
} ddef
/_lp /none ddef
} def
/A
{
pop
} def
/annotatepage
{
userdict /annotatepage 2 copy known {get exec} {pop pop} ifelse
} def
/XT {
pop pop
} def
/discard
{
save /discardSave exch store
discardDict begin
/endString exch store
gt38?
{
2 add
} if
load
stopped
pop
end
discardSave restore
} bind def
userdict /discardDict 7 dict dup begin
put
/pre38Initialize
{
/endStringLength endString length store
/newBuff buffer 0 endStringLength getinterval store
/newBuffButFirst newBuff 1 endStringLength 1 sub getinterval store
/newBuffLast newBuff endStringLength 1 sub 1 getinterval store
} def
/shiftBuffer
{
newBuff 0 newBuffButFirst putinterval
newBuffLast 0
currentfile read not
{
stop
} if
put
} def
0
{
pre38Initialize
mark
currentfile newBuff readstring exch pop
{
{
newBuff endString eq
{
cleartomark stop
} if
shiftBuffer
} loop
}
{
stop
} ifelse
} def
1
{
pre38Initialize
/beginString exch store
mark
currentfile newBuff readstring exch pop
{
{
newBuff beginString eq
{
/layerCount dup load 1 add store
}
{
newBuff endString eq
{
/layerCount dup load 1 sub store
layerCount 0 eq
{
cleartomark stop
} if
} if
} ifelse
shiftBuffer
} loop
} if
} def
2
{
mark
{
currentfile buffer readline not
{
stop
} if
endString eq
{
cleartomark stop
} if
} loop
} def
3
{
/beginString exch store
/layerCnt 1 store
mark
{
currentfile buffer readline not
{
stop
} if
dup beginString eq
{
pop /layerCnt dup load 1 add store
}
{
endString eq
{
layerCnt 1 eq
{
cleartomark stop
}
{
/layerCnt dup load 1 sub store
} ifelse
} if
} ifelse
} loop
} def
end
userdict /clipRenderOff 15 dict dup begin
put
{
/n /N /s /S /f /F /b /B
}
{
{
_doClip 1 eq
{
/_doClip 0 ddef _eo {eoclip} {clip} ifelse
} if
newpath
} def
} forall
/Tr /pop load def
/Bb {} def
/BB /pop load def
/Bg {12 npop} def
/Bm {6 npop} def
/Bc /Bm load def
/Bh {4 npop} def
end
/Lb
{
4 npop
6 1 roll
pop
4 1 roll
pop pop pop
0 eq
{
0 eq
{
(%AI5_BeginLayer) 1 (%AI5_EndLayer--) discard
}
{
/clipForward? true def
/Tx /pop load def
/Tj /pop load def
currentdict end clipRenderOff begin begin
} ifelse
}
{
0 eq
{
save /discardSave exch store
} if
} ifelse
} bind def
/LB
{
discardSave dup null ne
{
restore
}
{
pop
clipForward?
{
currentdict
end
end
begin
/clipForward? false ddef
} if
} ifelse
} bind def
/Pb
{
pop pop
0 (%AI5_EndPalette) discard
} bind def
/Np
{
0 (%AI5_End_NonPrinting--) discard
} bind def
/Ln /pop load def
/Ap
/pop load def
/Ar
{
72 exch div
0 dtransform dup mul exch dup mul add sqrt
dup 1 lt
{
pop 1
} if
setflat
} def
/Mb
{
q
} def
/Md
{
} def
/MB
{
Q
} def
/nc 3 dict def
nc begin
/setgray
{
pop
} bind def
/setcmykcolor
{
4 npop
} bind def
/setcustomcolor
{
2 npop
} bind def
currentdict readonly pop
end
end
setpacking
%%EndResource
%%BeginResource: procset Adobe_blend_AI5 1.4 0
%%Title: (Adobe Illustrator (R) Version 5.0 Blend ProcSet)
%%Version: 1.4 0
%%CreationDate: (11/19/93) ()
%%Copyright: ((C) 1987-1996 Adobe Systems Incorporated All Rights Reserved)
userdict /defaultpacking currentpacking put true setpacking
userdict /Adobe_blend_AI5 70 dict dup begin
put
/bd
{
bind def
} bind def
/xs
{
exch store
} bd
/nullProc
{
{
}
} def
/initialize
{
pop pop
Adobe_blend_AI5 begin
Adobe_blend_AI5_vars begin
/_contoneDevice where
{
pop
}
{
/_contoneDevice false def
} ifelse
/_dpiThreshold where
{
pop
}
{
/_dpiThreshold 600 def
} ifelse
/_screenFreqThreshold where
{
pop
}
{
/_screenFreqThreshold 150 def
} ifelse
/tRectOK? deviceDPI _dpiThreshold le currentScreenFreq _screenFreqThreshold le and _contoneDevice not and def
/invertXfer
{
[
{
1 exch sub
} /exec load systemdict/currenttransfer get exec /exec load
] cvx systemdict/settransfer get exec
} bd
/spotDict 3 dict dup begin
/nSpots 2 def
/spot1 7 dict def
/spot2 7 dict def
end
def
composite?
{
/_setgray_ /setgray load def
/_fill_ /fill load def
/_image_ /image load def
}
{
/_setgray_ systemdict/setgray get def
/_fill_ systemdict/fill get def
/_image_ systemdict/image get def
} ifelse
} bd
/terminate
{
currentdict Adobe_blend_AI5_vars eq
{
end
currentdict Adobe_blend_AI5 eq
{
end
} if
} if
} bd
/_compositeSpotDevice where
{
begin
_compositeSpotDevice 0 ne {userdict /composite? true put} if
end
}
{
/_compositeSpotDevice 0 def
} ifelse
/nullString () def
/d255 256 array def
0 1 255
{
d255 exch dup 255 div put
} bind for
/d255- 256 array def
0 1 255
{
d255- exch 1 d255 2 index get sub put
} bind for
/dUserSpace matrix defaultmatrix def
currentdict /Adobe_blend_AI5_vars 89 dict dup begin
put
{
/f /F /s /S /b /B
}
{
null def
} bind forall
/byte 1 string def
/sSave null def
/setSSave
{
save /sSave exch store
} bind def
/Bm null def
/doBlend null def
/startC? false def
/endC? false def
/fCMYK? null def
/startTint 0 def
/endTint 0 def
/bSMatrix matrix def
/bUMatrix matrix def
/dMatrix matrix def
/inLine? true def
/pTState? false def
/bHi? false def
/yHi 0 def
/xHi 0 def
/noImg /lv1Fix where
{
pop lv1Fix
}
{
false
} ifelse
def
/ccAry1 5 array def
/ccTint 0 def
/spotColor? false def
/colorimage? true def
[
/tint1Data
/tint2Data
/spotDict
/bAxis
/ubAxis
/pChange
/optimize?
/nSamples
/sInc
/blendProc
/_bn
/xBCInc
/yBCInc
/bInc
/bRender
/cBName
/cBType
/nColors
/color?
/blend?
/colorType
/cData
/cDataLen
/bDataLen
/rampPoint
/midPoint
/endPoint
/blendLength
/blackData
/yeData
/mgData
/cyData
/cnt1
/ndx
/_fill
/tmp
counttomark
{
null def
} bind
repeat
pop
currentdict
end
currentdict
end
exch
begin
begin
/unitSq
{
0 0 moveto 0 1 lineto 1 1 lineto 1 0 lineto closepath
} bd
/gMark
{
counttomark 2 add -1 roll
} bd
/setCustomColor
{
dup /ccTint exch store
1 exch sub 6 1 roll
ccAry1 astore
exch setcustomcolor
} bd
/currentCustomColor
{
ccAry1 aload pop ccTint
} bd
/nsetcustomcolor where
{
pop
}
{
/nsetcustomcolor
{
pop setcmykcolor
} bd
} ifelse
/nsetcustomcolorend where
{
pop
}
{
/nsetcustomcolorend
{
} bd
} ifelse
/setBSpace
{
newpath bUMatrix astore concat unitSq
} bd
/setCStop
{
dup 0 eq
{
pop
spotColor?
{
dup 1 exch sub /ccTint exch def
ccAry1 4 /Black put
} if
setgray
}
{
1 eq
{
setcmykcolor
}
{
composite? not colorType 2 lt and
{
forceCMYK
}
{
setCustomColor
} ifelse
} ifelse
} ifelse
} bd
/makeByte
{
/tmp 0 store
255 mul cvi
8 string 8
{
dup tmp 3 index put /tmp tmp 1 add store
} repeat
exch pop
} bd
/setImgSpace
{
cDataLen 1 8
2 index 0 0 1 0 0 dMatrix astore
} bd
/bwImage
{
setImgSpace cData /_image_ load
{
exec
} stopped
{
$error /errorname get /undefinedresult ne
{
stop
}
{
pop pop pop pop pop
} ifelse
} if
} bd
level2?
{
/bFill
{
_fill
} def
/bCImg
{
/cDataLen bDataLen store
setImgSpace
setSSave
expandSpot
cyData mgData yeData cData
expandCMYK
true 4 spotDict
{
ncolorimage
} stopped
{
$error /errorname get /undefinedresult ne
{
stop
}
{
10
{
pop
} repeat
} ifelse
} if
sSave restore
} bd
} if
/expandOne
{
dup type /stringtype ne
{
cDataLen string
exch
dup 0 ne
{
255 mul cvi
0 1 cDataLen 1 sub
{
3 copy
exch put pop
} for
} if
pop
} if
} bd
/expandSpot
{
spotColor?
{
spotDict begin
spot1 begin
tintImage type /nulltype ne
{
tintImage expandOne /tintImage exch def
} if
end
spot2 begin
tintImage type /nulltype ne
{
tintImage expandOne /tintImage exch def
} if
end
end
} if
} bd
/expandCMYK
{
4
{
expandOne 4 1 roll
} repeat
} bd
/colorimage where dup
{
exch pop
/ncolorimage where
{
pop
}
{
/ncolorimage {pop colorimage} bd
} ifelse
} if
not
{
/ncolorimage where
{
pop
}
{
/colorimage? false store
/ncolorimage
{
pop pop pop
setSSave
/blackData xs
/yeData xs
/mgData xs
/cyData xs
/cnt1 0 store
[
byte dup 0
cyData dup type /stringtype eq
{
/cnt1 cvx /get cvx d255 /exch cvx /get cvx .3 /mul cvx
}
{
.3 mul
} ifelse
mgData dup type /stringtype eq
{
/cnt1 cvx /get cvx d255 /exch cvx /get cvx .59 /mul cvx
}
{
.59 mul
} ifelse
yeData dup type /stringtype eq
{
/cnt1 cvx /get cvx d255 /exch cvx /get cvx .11 /mul cvx
}
{
.11 mul
} ifelse
blackData dup type /stringtype eq
{
/cnt1 cvx /get cvx d255 /exch cvx /get cvx
} if
/add cvx /add cvx /add cvx 1 /exch cvx /sub cvx
/dup cvx 0 /lt cvx
{
pop 0
} /if cvx
/dup cvx 1 /gt cvx
{
pop 1
} /if cvx
255 /mul cvx /cvi cvx
256 /mod cvx
/dup cvx 0 /lt cvx
{
pop 0
} /if cvx
/put cvx
/cnt1 dup cvx 1 /add cvx /store cvx
] cvx
bind
_image_
sSave restore
} bd
} ifelse
} if
level2? not
{
/bCImg
{
/cDataLen bDataLen store
setImgSpace
setSSave
expandSpot
cyData mgData yeData cData
colorimage?
{
expandCMYK
} if
true 4 spotDict
{
ncolorimage
} stopped
{
$error /errorname get /undefinedresult ne
{
stop
}
{
10
{
pop
} repeat
} ifelse
} if
sSave restore
} bd
/bwFill
{
setSSave
/cDataLen 8 store
/cData currentgray makeByte store
bwImage
sSave restore
} bd
/c1ImgFill
{
setSSave
/cDataLen 8 store
setImgSpace
spotColor?
{
spotDict begin
spot1 begin
currentCustomColor makeByte /tintImage exch def
/name exch def
/spot_K exch def
/spot_Y exch def
/spot_M exch def
/spot_C exch def
end
spot2 initSpotData
end
} if
currentcmykcolor
4
{
makeByte 4 1 roll
} repeat
true 4 spotDict
{
ncolorimage
} stopped
{
$error /errorname get /undefinedresult ne
{
stop
}
{
10
{
pop
} repeat
} ifelse
} if
sSave restore
} bd
/bFill
noImg
{
{
_fill
}
}
{
{
color?
{
c1ImgFill
}
{
bwFill
} ifelse
}
} ifelse
bd
} if
composite?
{
/bCFun
{
color?
{
cyData dup type /stringtype eq
{
/ndx cvx /get cvx d255 /exch cvx /get cvx
} if
mgData dup type /stringtype eq
{
/ndx cvx /get cvx d255 /exch cvx /get cvx
} if
yeData dup type /stringtype eq
{
/ndx cvx /get cvx d255 /exch cvx /get cvx
} if
cData dup type /stringtype eq
{
/ndx cvx /get cvx d255 /exch cvx /get cvx
} if
spotColor?
{
spotDict begin
/spotDict cvx /begin cvx
spot1 begin
tintImage dup type /stringtype eq
{
/ndx cvx /get cvx d255- /exch cvx /get cvx
}
{
dup type /nulltype ne
{
name type /nametype ne {1 exch sub} if
} if
} ifelse
end
/spot1 cvx /tintValue 3 -1 /roll cvx /put cvx
spot2 begin
tintImage dup type /stringtype eq
{
/ndx cvx /get cvx d255- /exch cvx /get cvx
}
{
dup type /nulltype ne
{
name type /nametype ne {1 exch sub} if
} if
} ifelse
end
/spot2 cvx /tintValue 3 -1 /roll cvx /put cvx
/end cvx
end
/spotDict cvx
/nsetcustomcolor cvx
}
{
/setcmykcolor cvx
} ifelse
}
{
cData /ndx cvx /get cvx
d255 /exch cvx /get cvx
/setgray cvx
} ifelse
} bd
/Bc
{
newpath
gsave
setBSpace
nColors 1 eq
{
pop pop
setCStop
} if
bFill
grestore
} bd
/linealBm
{
/nColors dup load 1 sub store
newpath
gsave
setBSpace
blend?
{
linImg
}
{
bFill
} ifelse
grestore
nColors 1 gt
{
getRData
} if
} bd
/rdBm
{
/nColors dup load 1 sub store
_fill
gsave
bUMatrix astore concat
bHi?
{
xHi yHi bUMatrix idtransform /yHi exch store /xHi exch store
rampPoint 1 lt
{
1 rampPoint sub dup xHi mul exch yHi mul translate
} if
} if
nColors
{
0 0 rampPoint 0 360 arc
_fill
blend? bHi? or
{
rdBlend
} if
nColors 1 gt
{
getRData
} if
/nColors dup load 1 sub store
} repeat
/nColors 1 store
grestore
} bd
/cGetRData
{
setCStop
/blend?
cData type /stringtype eq
dup not color? and
{
pop
cyData type /stringtype eq
mgData type /stringtype eq
yeData type /stringtype eq
or or
} if
store
} def
/cGetRData
} if
/eCStop
{
mark
1 index 3 mul 3 add dup 8 gt
{
pop 8
} if
1 roll
cleartomark
} bd
composite? not
{
/knockOut
level2?
{
{
0 0 0 0 setcmykcolor _fill
}
}
{
/bFill noImg
{
{
_fill
}
}
{
{
_of true eq
{
currentgray 1 ne
{
bwFill
} if
}
{
bwFill
} ifelse
}
} ifelse
def
/whiteByte 1 makeByte def
noImg
{
{
0 0 0 0 setcmykcolor _fill
}
}
{
{
cBType 0 eq
{
setSSave
/cData whiteByte store
/cDataLen 8 store
bwImage
sSave restore
}
{
_fill
} ifelse
}
} ifelse
} ifelse
bd
/bCFun
{
cData dup type /stringtype ne
{
color?
{
1 exch sub
} if
}
{
/ndx cvx /get cvx
color? customColor? not and
{
d255-
}
{
d255
} ifelse
/exch cvx /get cvx
} ifelse
/_setgray_ cvx
} bd
/eCCBlend
{
dup 3 eq
{
pop
mark 7 1 roll
6 copy ccThrough? dup /blend? xs
{
/startC? true store
setCustomColor
customColor?
{
/cData tint1Data store
setCDataLen
} if
/endC?
3 index 3 eq
{
4 index 1 ne
}
{
false
} ifelse
store
} if
cleartomark
stop
} if
1 eq
{
pop pop pop
} if
pop
/startC? false store
6
{
8 index
} repeat
ccThrough? dup /blend? xs
{
/endC? true store
blend? not
{
stop
} if
customColor?
{
/cData tint1Data store
setCDataLen
} if
} if
} bd
/handleOP
{
_of not
{
knockOut
} if
} bd
/handleROP
{
_of not
{
0 0 0 0 setcmykcolor _fill
}
{
newpath
} ifelse
} bd
/rdBm
{
/nColors dup load 1 sub store
blend?
{
_fill
}
{
handleROP
} ifelse
gsave
bUMatrix astore concat
bHi?
{
xHi yHi bUMatrix idtransform /yHi exch store /xHi exch store
rampPoint 1 lt
{
1 rampPoint sub dup xHi mul exch yHi mul translate
} if
} if
nColors
{
0 0 rampPoint 0 360 arc
blend?
{
cData type /stringtype ne bHi? not and
{
cData color?
{
1 exch sub
} if
_setgray_
_fill_
}
{
cData type /stringtype ne
{
/cDataLen 1 store
/bDataLen 1 store
} if
rdBlend
} ifelse
}
{
handleROP
pTState?
{
/bAxis rampPoint endPoint sub store
xHi bAxis mul yHi bAxis mul translate
} if
} ifelse
nColors 1 gt
{
getRData
} if
/nColors dup load 1 sub store
} repeat
/nColors 1 store
grestore
} bd
/ccThrough?
{
gsave
pop 0 setCustomColor
currentcmykcolor
grestore
anyColor?
} bd
/forceCMYK
{
exch pop
1 exch sub 5 1 roll
4
{
4 index mul 4 1 roll
} repeat
0
cCMYKData dup /cData ne
{
dup /yeData eq
{
pop 1 add
}
{
/mgData eq
{
2
}
{
3
} ifelse
add
} ifelse
0
} if
pop
index
0 eq
{
pop pop pop pop 0 0 0 0
} if
setcmykcolor
pop
/fCMYK? true store
} bd
/endCapSepBc
{
pop pop
dup 0 eq
{
pop
setgray
}
{
1 eq
{
setcmykcolor
}
{
colorType 1 eq
{
forceCMYK
}
{
fCMYK?
{
forceCMYK
}
{
setCustomColor
} ifelse
} ifelse
} ifelse
} ifelse
currentcmykcolor anyColor?
blend? and
{
bFill
}
{
handleOP
} ifelse
} bd
} if
/cCMYKData 0 def
composite? dup not
{
pop customColor?
} if
not
{
/cCMYKData
/cyData /mgData /yeData /cData
black? not
{
yellow?
{
exch
}
{
magenta?
{
3
}
{
4
} ifelse
-1 roll
} ifelse
} if
4 1 roll pop pop pop
store
/Bc
{
gsave
setBSpace
nColors 1 gt
{
blend? currentcmykcolor anyColor? and
{
bFill
}
{
handleOP
} ifelse
}
{
endCapSepBc
} ifelse
grestore
newpath
} bd
/linealBm
{
/nColors dup load 1 sub store
newpath
gsave
setBSpace
blend?
{
cCMYKData load dup type /stringtype eq
{
dup length /cDataLen xs
/cData xs
gsave
colorType 0 ne noImg not and
{
invertXfer
} if
linImg
grestore
}
{
pop bFill
} ifelse
}
{
handleOP
} ifelse
grestore
nColors 1 gt
{
getRData
} if
} bd
/cmykGetRData
{
/fCMYK? false store
blend?
{
{
cmykDataProcs colorType get exec
} stopped
pop
blend?
{
/cData cCMYKData load store
setCDataLen
} if
} if
} def
/cmykDataProcs
[
{
pop
black? dup /blend? xs
{
setgray
0
} if
pop
}
{
cCMYKData load dup type /stringtype ne
{
0 0 0
cyan? not
{
4 magenta?
{
1
}
{
yellow?
{
2
}
{
3
} ifelse
} ifelse
roll
} if
4 copy add add add 0 eq
{
/blend? false store
} if
setcmykcolor
/startC? true store
/endC? true store
eCStop
stop
} if
pop
dup 0 eq
{
pop
setgray
}
{
1 eq
{
setcmykcolor
}
{
forceCMYK
} ifelse
} ifelse
} bind
/eCCBlend load
{
cBType 1 eq
{
tint1Data tint2Data
/tint1Data xs
/tint2Data xs
} if
0 eq
{
black?
{
setgray
}
{
0 0 0 4 -1 roll 1 exch sub setcmykcolor
} ifelse
black?
{
/blend? true store
} if
6
{
8 index
} repeat
ccThrough?
{
/blend? true store
}
{
black?
{
/cData tint1Data store
setCDataLen
}
{
/blend? false store
} ifelse
} ifelse
}
{
mark 7 1 roll
6 copy ccThrough?
{
forceCMYK
pop
stop
} if
9 index 0 eq
{
black? dup /blend? xs
{
pop 1 setgray
/cData tint2Data store
setCDataLen
0
} if
pop
}
{
/blend?
6
{
16 index
} repeat
ccThrough?
store
blend?
{
forceCMYK
} if
} ifelse
cleartomark
} ifelse
} bind
] def
/cmykGetRData
} if
composite? dup not
{
pop isCMYKSep?
} if
not
{
/endCapSepBc
{
/white? false store
pop pop
dup 0 eq
{
pop
/white? 1 index 1 eq store
setgray
}
{
1 eq
{
setcmykcolor
}
{
setCustomColor
} ifelse
} ifelse
%
currentcmykcolor anyColor?
endC? or
blend? and
{
bFill
}
{
handleOP
} ifelse
} bd
/Bc
{
gsave
setBSpace
nColors 1 gt
{
blend? startC? and
{
bFill
}
{
handleOP
} ifelse
}
{
endCapSepBc
} ifelse
grestore
newpath
} bd
/linealBm
{
/nColors dup load 1 sub store
newpath
gsave
setBSpace
blend?
{
cData type /stringtype eq
{
linImg
}
{
bFill
} ifelse
}
{
handleOP
} ifelse
grestore
nColors 1 gt
{
getRData
} if
} bd
/discardCMY
{
counttomark 4 add -3 roll pop pop pop
} bd
/testTopCC
{
6 copy ccThrough?
} bd
/getCRamp
{
{
ccDataProcs colorType 2 sub get exec
} stopped pop
blend? cDataLen 0 eq and
{
/cDataLen bDataLen store
} if
} bd
/ccGetRData
{
/fCMYK? false store
/startC? false store
/endC? false store
colorType 2 lt
{
/blend? false def
} if
blend?
{
getCRamp
}
{
setCStop
} ifelse
blend?
{
/blend? cData 1 ne store
blend?
{
cData dup type /stringtype ne
{
1 exch sub /cData xs 0
} if
pop
} if
} if
} def
/ccDataProcs
[
/eCCBlend load
{
cBType 1 eq
{
tint1Data tint2Data
/tint1Data xs
/tint2Data xs
} if
0 eq
{
/blend? false store
pop
}
{
mark 7 1 roll
testTopCC
{
/blend? 1 index 1 ne store
/startC? blend? store
/endC? false store
blend? not
{
cleartomark stop
} if
/cData tint1Data store
setCDataLen
setCustomColor
pop
stop
} if
cleartomark
} ifelse
2 index 0 eq
{
/blend? false store
}
{
mark 6
{
9 index
} repeat
testTopCC dup /blend? xs
{
/blend? 1 index 1 ne store
/endC? blend? store
/startC? false store
blend? not
{
cleartomark stop
} if
/cData tint2Data store
setCDataLen
} if
cleartomark
} ifelse
} bind
] def
/ccGetRData
} if
load Adobe_blend_AI5_vars /getData 3 -1 roll put
/setCDataLen
{
/cDataLen 0 cData dup type /stringtype eq
{
length exch
} if
pop store
} bd
/initSpotData
{
begin
/name null def
/tintImage null def
/tintValue null def
/spot_C null def
/spot_M null def
/spot_Y null def
/spot_K null def
end
} bd
/getRData
{
/colorType gMark store
_compositeSpotDevice 0 ne
{
spotDict begin
spot1 initSpotData
spot2 initSpotData
end
/spotColor? colorType 2 eq colorType 3 eq or def
}
{
/spotColor? false store
} ifelse
/blend? true store
0 0 0 0 setcmykcolor
100 div /rampPoint xs
% (between 13 and 87%)
100 div /midPoint xs
dup 0 eq
{
2
}
{
dup 1 eq
{
5
}
{
_compositeSpotDevice 0 ne
{
spotDict begin
spot1 begin
/name 3 index def
/spot_K 4 index def
/spot_Y 5 index def
/spot_M 6 index def
/spot_C 7 index def
end
end
} if
7
} ifelse
} ifelse
/tmp exch def
tmp index 100 div /endPoint xs
_compositeSpotDevice 0 ne
{
tmp 2 add index 3 eq
{
/tmp tmp 4 add def
tmp index dup
spotDict begin
spot1/name get ne
{
spot2 begin
/name exch def
/spot_K tmp 2 add index def
/spot_Y tmp 3 add index def
/spot_M tmp 4 add index def
/spot_C tmp 5 add index def
end
}
{
pop
} ifelse
end
} if
} if
/color? colorType 0 gt store
colorType 3 eq
{
/tint2Data gMark store
} if
colorType 2 ge
{
/tint1Data gMark store
} if
_compositeSpotDevice 0 ne
{
spotDict begin
colorType 2 ge
{
colorType 3 eq
{
spot2 begin
/tintImage cBType 0 eq {tint2Data} {tint1Data} ifelse def
name null eq {/name /Black def} if
end
} if
spot1 begin
/tintImage cBType 0 eq colorType 2 eq or {tint1Data} {tint2Data} ifelse def
colorType 2 eq
{
name null eq
{
/name spot2/name get def
spot2/name null put
} if
}
{
name null eq {/name /Black def} if
} ifelse
end
} if
end
} if
/cData gMark store
setCDataLen
colorType 0 gt
{
counttomark 4 add -3 roll
/yeData xs
/mgData xs
/cyData xs
} if
blend?
{
/bDataLen
cDataLen dup 0 eq color? and
{
[
cyData mgData yeData
]
{
dup type /stringtype eq
{
length exch pop exit
} if
pop
} forall
} if
store
bDataLen 0 eq
{
/bDataLen 1 store
} if
getData
blend?
{
composite? cDataLen 0 eq and
{
/cDataLen bDataLen store
} if
} if
}
{
setCStop
} ifelse
} bd
/Bg
{
0 0 0 0 setcmykcolor
6
{
pop
} repeat
/blendLength xs
pop pop pop
/cBName xs
/bRender xs
bRender 2 ne
{
composite? not
{
_of setoverprint
} if
_eo {eoclip} {clip} ifelse
_bn cBName 2 copy known
{
get
mark exch aload pop
/cBType xs
/nColors xs
mark exch aload pop
0 0
} if
pop pop
getRData
cBType 0 eq
{
/linealBm
}
{
bHi?
{
/pTState? nColors 2 gt store
} if
/doBlend /rdBlend load store
/rdBm
} ifelse
}
{
inLine? not
{
mark mark
} if
/Bc dup
{
cleartomark mark
} bd
/nullProc
} ifelse
load /Bm xs
} bd
/linImg
noImg
{
{
newpath doRctBlend
}
}
{
{
/doBlend
color? composite? and
{
/bCImg
}
{
/bwImage
} ifelse
load
store
0 0 moveto
tRectOK? composite? and
{
{
mark
0 1 dtransform atan cvi 90 mod 0 eq
1 0 dtransform atan cvi 90 mod 0 eq
} stopped
{
cleartomark
}
{
and exch pop
{
newpath
doRctBlend
}
{
doBlend
} ifelse
} ifelse
}
{
doBlend
} ifelse
}
} ifelse
bd
/doRctBlend
{
gsave
/sInc 1 store
/nSamples bDataLen store
/bInc 1 bDataLen div store
/ubAxis 1 0 dtransform dUserSpace idtransform dup mul exch dup mul add sqrt store
/pChange ubAxis 0 eq
{
0
}
{
bDataLen ubAxis div
} ifelse
store
pChange .5 gt noImg not and dup /optimize? xs
{
/nSamples ubAxis 2 div round cvi dup 1 le
{
pop 2
} if
store
/bInc 1 nSamples div store
/sInc bDataLen 1 sub nSamples 1 sub div store
} if
0
nSamples
[
/dup cvx
optimize?
{
/round cvx /cvi cvx
} if
/ndx /exch cvx /store cvx
bCFun
/rectfill where dup
{
exch pop _compositeSpotDevice 1 ne and
} if
{
0 0 bInc 1 /rectfill cvx
}
{
0 0 /moveto cvx
bInc 0 /lineto cvx
bInc 1 /lineto cvx
0 1 /lineto cvx
/closepath cvx
/_fill_ cvx
} ifelse
bInc 0 /translate cvx
sInc /add cvx
] cvx
bind
repeat
pop
spotColor? {nsetcustomcolorend} if
grestore
} bd
/rdPrep
{
/nSamples bDataLen dup 0 eq
{
pop 1
} if
store
/sInc -1 store
/bAxis rampPoint endPoint sub store
/bInc bAxis bDataLen div neg store
/optimize? false store
tRectOK?
{
/ubAxis
bAxis 0 dtransform dUserSpace idtransform dup mul exch dup mul add sqrt
0 bAxis dtransform dUserSpace idtransform dup mul exch dup mul add sqrt
2 copy lt
{
exch
} if
pop store
/pChange ubAxis 0 eq
{
0
}
{
bDataLen ubAxis div
} ifelse
store
pChange .5 gt noImg not and dup /optimize? xs
{
/nSamples ubAxis 2 div round cvi dup 1 le
{
pop 2
} if
store
/bInc bAxis nSamples div neg store
/sInc bDataLen 1 sub nSamples 1 sub div neg store
} if
} if
bHi?
{
/xBCInc xHi bAxis mul nSamples div store
/yBCInc yHi bAxis mul nSamples div store
} if
} bd
/rdBlend
{
newpath
gsave
rdPrep
rampPoint
bDataLen 1 sub
nSamples
[
/dup cvx
optimize?
{
/round cvx /cvi cvx
} if
/ndx /exch cvx /store cvx
bCFun
0 0 3 /index cvx 0 360 /arc cvx /_fill_ cvx
/exch cvx bInc /add cvx /exch cvx
sInc /add cvx
bHi?
{
xBCInc yBCInc /translate cvx
} if
] cvx
bind
repeat
pop pop
spotColor? {nsetcustomcolorend} if
grestore
pTState?
{
xHi bAxis mul yHi bAxis mul translate
} if
} bd
/Bh
{
pop pop
/pTState? false store
2 copy 0 ne exch 0 ne or dup /bHi? xs
{
/yHi xs
/xHi xs
0 0
} if
pop pop
} bd
/BD
{
inLine? not
{
] nColors cBType
] _bn cBName 3 -1 roll put
end
} if
} bd
/Bn
{
1 add dict
dup nullString null put
/_bn xs
} bd
/Bd
{
Adobe_blend_AI5_vars begin
3 -1 roll dup nullString eq dup
{
setSSave
} if
/inLine? exch def
/cBName exch def
/nColors exch def
/cBType exch def
} bd
/Bb
{
sSave null eq
{
Adobe_blend_AI5_vars begin
setSSave
} if
composite?
{
/_fill /fill load store
}
{
/__fill /fill load store
/_fill
{
_of true eq
{
currentgray 1 ne
{
__fill
} if
}
{
__fill
} ifelse
} def
} ifelse
/fill
{
} def
} bd
/BB
{
/cBType xs
cleartomark cleartomark
cBType dup
bRender
sSave dup type /savetype eq
{
restore 0
} if
pop
currentdict Adobe_blend_AI5_vars eq
{
end
} if
2 ne exch 0 gt and
{
2 eq
{
s
}
{
S
} ifelse
}
{
pop newpath
} ifelse
} bd
currentdict readonly pop
end
end
defaultpacking setpacking
%%EndResource
%%BeginResource: procset Adobe_pattern_AI5 1.1 0
%%Title: (Adobe Illustrator (R) Version 5.0 Pattern Operators)
%%Version: 1.1 0
%%CreationDate: (03/26/93) ()
%%Copyright: ((C) 1987-1996 Adobe Systems Incorporated All Rights Reserved)
currentpacking true setpacking
userdict /Adobe_Illustrator_AI5 known not {
userdict /Adobe_Illustrator_AI5 95 dict put
} if
userdict /Adobe_Illustrator_AI5 get begin
/@
{
} def
/&
{
} def
/dp
{
dup null eq
{
pop
_dp 0 ne
{
0 1 _dp 1 sub _dl mod
{
_da exch get 3 get
} for
_dp 1 sub _dl mod 1 add packedarray
_da 0 get aload pop 8 -1 roll 5 -1 roll pop 4 1 roll
definepattern pop
} if
}
{
_dp 0 ne _dp _dl mod 0 eq and
{
null dp
} if
7 packedarray _da exch _dp _dl mod exch put
_dp _dl mod _da 0 get 4 get 2 packedarray
/_dp _dp 1 add def
} ifelse
} def
/E
{
_ed begin
dup 0 get type /arraytype ne
{
0
{
dup 1 add index type /arraytype eq
{
1 add
}
{
exit
} ifelse
} loop
array astore
} if
/_dd exch def
/_ury exch def
/_urx exch def
/_lly exch def
/_llx exch def
/_n exch def
/_y 0 def
/_dl 4 def
/_dp 0 def
/_da _dl array def
0 1 _dd length 1 sub
{
/_d exch _dd exch get def
0 2 _d length 2 sub
{
/_x exch def
/_c _d _x get _ ne def
/_r _d _x 1 add get cvlit def
_r _ ne
{
_urx _llx sub _ury _lly sub
[
1 0 0 1 0 0
]
[
/save cvx
_llx neg _lly neg /translate cvx
_c
{
nc /begin cvx
} if
_r dup type /stringtype eq
{
cvx
}
{
{
exec
} /forall cvx
} ifelse
_c
{
/end cvx
} if
/restore cvx
] cvx
/_fn 12 _n length add string def
_y _fn cvs pop
/_y _y 1 add def
_fn 12 _n putinterval
_fn _c false dp
_d exch _x 1 add exch put
} if
} for
} for
null dp
_n _dd /_pd
end
xput
} def
/fc
{
_fm dup concatmatrix pop
} def
/p
{
/_fm exch ddef
9 -2 roll _pm translate fc
7 -2 roll _pm scale fc
5 -1 roll _pm rotate fc
4 -2 roll exch 0 ne
{
dup _pm rotate fc
1 -1 _pm scale fc
neg _pm rotate fc
}
{
pop
} ifelse
dup _pm rotate fc
exch dup sin exch cos div 1 0 0 1 0 6 2 roll
_pm astore fc
neg _pm rotate fc
_pd exch get /_fdd exch ddef
/_pf
{
save
/_doClip 0 ddef
0 1 _fdd length 1 sub
{
/_fd exch _fdd exch get ddef
_fd
0 2 _fd length 2 sub
{
gsave
2 copy get dup _ ne
{
cvx exec _fc
}
{
pop
} ifelse
2 copy 1 add get dup _ ne
{
aload pop findfont _fm
patternfill
}
{
pop
fill
} ifelse
grestore
pop
} for
pop
} for
restore
newpath
} ddef
/_psf
{
save
/_doClip 0 ddef
0 1 _fdd length 1 sub
{
/_fd exch _fdd exch get ddef
_fd
0 2 _fd length 2 sub
{
gsave
2 copy get dup _ ne
{
cvx exec _fc
}
{
pop
} ifelse
2 copy 1 add get dup _ ne
{
aload pop findfont _fm
9 copy 6 npop patternashow
}
{
pop
6 copy 3 npop hvashow
} ifelse
grestore
pop
} for
pop
} for
restore
sw rmoveto
} ddef
/_pjsf
{
save
/_doClip 0 ddef
0 1 _fdd length 1 sub
{
/_fd exch _fdd exch get ddef
_fd
0 2 _fd length 2 sub
{
gsave
2 copy get dup _ ne
{
cvx exec _fc
}
{
pop
} ifelse
2 copy 1 add get dup _ ne
{
aload pop findfont _fm
12 copy 6 npop patternawidthshow
}
{
pop 9 copy 3 npop hvawidthshow
} ifelse
grestore
pop
} for
pop
} for
restore
swj rmoveto
} ddef
/_lp /none ddef
} def
/sc
{
_sm dup concatmatrix pop
} def
/P
{
/_sm exch ddef
9 -2 roll _pm translate sc
7 -2 roll _pm scale sc
5 -1 roll _pm rotate sc
4 -2 roll exch 0 ne
{
dup _pm rotate sc
1 -1 _pm scale sc
neg _pm rotate sc
}
{
pop
} ifelse
dup _pm rotate sc
exch dup sin exch cos div 1 0 0 1 0 6 2 roll
_pm astore sc
neg _pm rotate sc
_pd exch get /_sdd exch ddef
/_ps
{
save
/_doClip 0 ddef
0 1 _sdd length 1 sub
{
/_sd exch _sdd exch get ddef
_sd
0 2 _sd length 2 sub
{
gsave
2 copy get dup _ ne
{
cvx exec _sc
}
{
pop
} ifelse
2 copy 1 add get dup _ ne
{
aload pop findfont _sm
patternstroke
}
{
pop stroke
} ifelse
grestore
pop
} for
pop
} for
restore
newpath
} ddef
/_pss
{
save
/_doClip 0 ddef
0 1 _sdd length 1 sub
{
/_sd exch _sdd exch get ddef
_sd
0 2 _sd length 2 sub
{
gsave
2 copy get dup _ ne
{
cvx exec _sc
}
{
pop
} ifelse
2 copy 1 add get dup _ ne
{
aload pop findfont _sm
10 copy 6 npop patternashowstroke
}
{
pop 7 copy 3 npop ss
} ifelse
grestore
pop
} for
pop
} for
restore
pop sw rmoveto
} ddef
/_pjss
{
save
/_doClip 0 ddef
0 1 _sdd length 1 sub
{
/_sd exch _sdd exch get ddef
_sd
0 2 _sd length 2 sub
{
gsave
2 copy get dup _ ne
{
cvx exec _sc
}
{
pop
} ifelse
2 copy 1 add get dup _ ne
{
aload pop findfont _sm
13 copy 6 npop patternawidthshowstroke
}
{
pop 10 copy 3 npop jss
} ifelse
grestore
pop
} for
pop
} for
restore
pop swj rmoveto
} ddef
/_lp /none ddef
} def
end
userdict /Adobe_pattern_AI5 18 dict dup begin
put
/initialize
{
/definepattern where
{
pop
}
{
begin
begin
Adobe_pattern_AI5 begin
Adobe_pattern_AI5
{
dup xcheck
{
bind
} if
pop pop
} forall
mark
cachestatus 7 1 roll pop pop pop pop exch pop exch
{
{
10000 add
dup 2 index gt
{
exit
} if
dup setcachelimit
} loop
} stopped
cleartomark
end
end
end
Adobe_pattern_AI5 begin
} ifelse
} def
/terminate
{
currentdict Adobe_pattern_AI5 eq
{
end
} if
} def
errordict
/nocurrentpoint
{
pop
stop
} put
errordict
/invalidaccess
{
pop
stop
} put
/patternencoding
256 array def
0 1 255
{
patternencoding exch ( ) 2 copy exch 0 exch put cvn put
} for
/definepattern
{
17 dict begin
/uniform exch def
/cache exch def
/key exch def
/procarray exch def
/mtx exch matrix invertmatrix def
/height exch def
/width exch def
/ctm matrix currentmatrix def
/ptm matrix def
/str 32 string def
/slice 9 dict def
slice /s 1 put
slice /q 256 procarray length div sqrt floor cvi put
slice /b 0 put
/FontBBox
[
0 0 0 0
] def
/FontMatrix mtx matrix copy def
/Encoding patternencoding def
/FontType 3 def
/BuildChar
{
exch
begin
/setstrokeadjust where {pop true setstrokeadjust} if
slice begin
dup q dup mul mod s idiv /i exch def
dup q dup mul mod s mod /j exch def
q dup mul idiv procarray exch get
/xl j width s div mul def
/xg j 1 add width s div mul def
/yl i height s div mul def
/yg i 1 add height s div mul def
uniform
{
1 1
}
{
width 0 dtransform
dup mul exch dup mul add sqrt dup 1 add exch div
0 height dtransform
dup mul exch dup mul add sqrt dup 1 add exch div
} ifelse
width 0 cache
{
xl 4 index mul yl 4 index mul xg 6 index mul yg 6 index mul
setcachedevice
}
{
setcharwidth
} ifelse
gsave
scale
newpath
xl yl moveto
xg yl lineto
xg yg lineto
xl yg lineto
closepath
clip
newpath
end
end
exec
grestore
} def
key currentdict definefont
end
} def
/patterncachesize
{
gsave
newpath
0 0 moveto
width 0 lineto
width height lineto
0 height lineto
closepath
patternmatrix setmatrix
pathbbox
exch ceiling 4 -1 roll floor sub 3 1 roll
ceiling exch floor sub
mul 1 add
grestore
} def
/patterncachelimit
{
cachestatus 7 1 roll 6 npop 8 mul
} def
/patternpath
{
exch dup begin
setfont
ctm setmatrix
concat
slice exch /b exch slice /q get dup mul mul put
FontMatrix concat
uniform
{
width 0 dtransform round width div exch round width div exch
0 height dtransform round height div exch height div exch
0 0 transform round exch round exch
ptm astore setmatrix
}
{
ptm currentmatrix pop
} ifelse
{
currentpoint
} stopped not
{
2 npop
pathbbox
true
4 index 3 index eq
4 index 3 index eq
and
{
pop false
{
{
2 npop
}
{
3 npop true
}
{
7 npop true
}
{
pop true
} pathforall
} stopped
{
5 npop true
} if
} if
{
height div ceiling height mul 4 1 roll
width div ceiling width mul 4 1 roll
height div floor height mul 4 1 roll
width div floor width mul 4 1 roll
2 index sub height div ceiling cvi exch
3 index sub width div ceiling cvi exch
4 2 roll moveto
FontMatrix mtx invertmatrix
dup dup 4 get exch 5 get rmoveto
ptm ptm concatmatrix pop
slice /s
patterncachesize patterncachelimit div ceiling sqrt ceiling cvi
dup slice /q get gt
{
pop slice /q get
} if
put
0 1 slice /s get dup mul 1 sub
{
slice /b get add
gsave
0 1 str length 1 sub
{
str exch 2 index put
} for
pop
dup
{
gsave
ptm setmatrix
1 index str length idiv
{
str show
} repeat
1 index str length mod str exch 0 exch getinterval show
grestore
0 height rmoveto
} repeat
grestore
} for
2 npop
}
{
4 npop
} ifelse
} if
end
} def
/patternclip
{
_eo {eoclip} {clip} ifelse
} def
/patternstrokepath
{
strokepath
} def
/patternmatrix
matrix def
/patternfill
{
dup type /dicttype eq
{
Adobe_pattern_AI5 /patternmatrix get
} if
gsave
patternclip
Adobe_pattern_AI5 /patternpath get exec
grestore
newpath
} def
/patternstroke
{
dup type /dicttype eq
{
Adobe_pattern_AI5 /patternmatrix get
} if
gsave
patternstrokepath
true
{
{
{
newpath
moveto
}
{
lineto
}
{
curveto
}
{
closepath
3 copy
Adobe_pattern_AI5 /patternfill get exec
} pathforall
3 npop
} stopped
{
5 npop
patternclip
Adobe_pattern_AI5 /patternfill get exec
} if
}
{
patternclip
Adobe_pattern_AI5 /patternfill get exec
} ifelse
grestore
newpath
} def
/vpatternawidthshow
{
6 1 roll
/_hvay exch ddef
/_hvax exch ddef
/_hvwb exch ddef
/_hvcy exch ddef
/_hvcx exch ddef
{
dup cstring
dup length 1 eq
_charorientation 1 eq
and
{
-90 rotate
currentpoint
_fontRotateAdjust add
moveto
gsave
false charpath currentpoint
5 index 5 index 5 index Adobe_pattern_AI5 /patternfill get exec
grestore
_fontRotateAdjust sub
moveto
_hvwb eq { _hvcx _hvcy rmoveto } if
_hvax _hvay rmoveto
90 rotate
}
{
currentpoint
_fontHeight sub
_hvax sub
3 index _hvwb eq { _hvcx sub } if
currentpoint
exch 4 index stringwidth pop 2 div sub
exch _fontAscent sub
moveto
gsave
2 index false charpath
6 index 6 index 6 index Adobe_pattern_AI5 /patternfill get exec
grestore
newpath moveto pop pop
} ifelse
} cforall
3 npop
} def
/hpatternawidthshow
{
{
dup cstring exch
gsave
3 index eq { 5 index 5 index rmoveto } if
false charpath currentpoint
9 index 9 index 9 index
Adobe_pattern_AI5 /patternfill get exec
grestore
newpath moveto
2 copy rmoveto
} cforall
8 npop
} def
/patternashow
{
0 0 0 6 3 roll
patternawidthshow
} def
/patternawidthshow
{
6 index type /dicttype eq
{
Adobe_pattern_AI5 /patternmatrix get 7 1 roll
} if
_lineorientation 0 eq { hpatternawidthshow } { vpatternawidthshow } ifelse
} def
/vpatternawidthshowstroke
{
7 1 roll
6 1 roll
/_hvay exch ddef
/_hvax exch ddef
/_hvwb exch ddef
/_hvcy exch ddef
/_hvcx exch ddef
{
dup cstring
dup length 1 eq
_charorientation 1 eq
and
{
-90 rotate
currentpoint
_fontRotateAdjust add
moveto
gsave
false charpath currentpoint
3 index setmatrix
6 index 6 index 6 index Adobe_pattern_AI5 /patternstroke get exec
grestore
_fontRotateAdjust sub
moveto
_hvwb eq { _hvcx _hvcy rmoveto } if
_hvax _hvay rmoveto
90 rotate
}
{
currentpoint
_fontHeight sub
_hvax sub
3 index _hvwb eq { _hvcx sub } if
currentpoint
exch 4 index stringwidth pop 2 div sub
exch _fontAscent sub
moveto
gsave
2 index false charpath
4 index setmatrix
7 index 7 index 7 index Adobe_pattern_AI5 /patternstroke get exec
grestore
newpath moveto pop pop
} ifelse
} cforall
4 npop
} def
/hpatternawidthshowstroke
{
7 1 roll
{
dup cstring exch
gsave
3 index eq { 5 index 5 index rmoveto } if
false charpath currentpoint
7 index setmatrix
10 index 10 index 10 index
Adobe_pattern_AI5 /patternstroke get exec
grestore
newpath moveto
2 copy rmoveto
} cforall
9 npop
} def
/patternashowstroke
{
0 0 0 7 3 roll
patternawidthshowstroke
} def
/patternawidthshowstroke
{
7 index type /dicttype eq
{
patternmatrix /patternmatrix get 8 1 roll
} if
_lineorientation 0 eq { hpatternawidthshowstroke } { vpatternawidthshowstroke } ifelse
} def
end
setpacking
%%EndResource
%%EndProlog
%%BeginSetup
Adobe_level2_AI5 /initialize get exec
Adobe_screens_AI5 /initialize get exec
Adobe_Illustrator_AI5_vars Adobe_Illustrator_AI5 Adobe_typography_AI5 /initialize get exec
Adobe_Illustrator_AI5_vars Adobe_Illustrator_AI5 Adobe_blend_AI5 /initialize get exec
Adobe_Illustrator_AI5_vars Adobe_Illustrator_AI5 Adobe_pattern_AI5 /initialize get exec
Adobe_ColorImage_AI6 /initialize get exec
Adobe_Illustrator_AI5 /initialize get exec
[
39/quotesingle 96/grave 130/quotesinglbase 131/florin 132/quotedblbase
133/ellipsis 134/dagger 135/daggerdbl 136/circumflex 137/perthousand
138/Scaron 139/guilsinglleft 140/OE 145/quoteleft 146/quoteright
147/quotedblleft 148/quotedblright 149/bullet 150/endash 151/emdash
152/tilde 153/trademark 154/scaron 155/guilsinglright 156/oe 157/dotlessi
159/Ydieresis 164/currency 166/brokenbar 168/dieresis 169/copyright
170/ordfeminine 172/logicalnot 174/registered 175/macron 176/ring
177/plusminus 178/twosuperior 179/threesuperior 180/acute 181/mu
183/periodcentered 184/cedilla 185/onesuperior 186/ordmasculine
188/onequarter 189/onehalf 190/threequarters 192/Agrave 193/Aacute
194/Acircumflex 195/Atilde 196/Adieresis 197/Aring 198/AE 199/Ccedilla
200/Egrave 201/Eacute 202/Ecircumflex 203/Edieresis 204/Igrave 205/Iacute
206/Icircumflex 207/Idieresis 208/Eth 209/Ntilde 210/Ograve 211/Oacute
212/Ocircumflex 213/Otilde 214/Odieresis 215/multiply 216/Oslash
217/Ugrave 218/Uacute 219/Ucircumflex 220/Udieresis 221/Yacute 222/Thorn
223/germandbls 224/agrave 225/aacute 226/acircumflex 227/atilde 228/adieresis
229/aring 230/ae 231/ccedilla 232/egrave 233/eacute 234/ecircumflex
235/edieresis 236/igrave 237/iacute 238/icircumflex 239/idieresis
240/eth 241/ntilde 242/ograve 243/oacute 244/ocircumflex 245/otilde
246/odieresis 247/divide 248/oslash 249/ugrave 250/uacute 251/ucircumflex
252/udieresis 253/yacute 254/thorn 255/ydieresis
TE
%AI3_BeginEncoding: _Helvetica Helvetica
[
/_Helvetica/Helvetica 0 0 1 TZ
%AI3_EndEncoding AdobeType
%AI3_BeginEncoding: _Helvetica-Bold Helvetica-Bold
[
/_Helvetica-Bold/Helvetica-Bold 0 0 1 TZ
%AI3_EndEncoding AdobeType
%AI3_BeginEncoding: _Helvetica-Oblique Helvetica-Oblique
[
/_Helvetica-Oblique/Helvetica-Oblique 0 0 1 TZ
%AI3_EndEncoding AdobeType
%AI3_BeginEncoding: _Helvetica-BoldOblique Helvetica-BoldOblique
[
/_Helvetica-BoldOblique/Helvetica-BoldOblique 0 0 1 TZ
%AI3_EndEncoding AdobeType
%AI3_BeginEncoding: _Times-Roman Times-Roman
[
/_Times-Roman/Times-Roman 0 0 1 TZ
%AI3_EndEncoding AdobeType
%AI3_BeginEncoding: _Times-Bold Times-Bold
[
/_Times-Bold/Times-Bold 0 0 1 TZ
%AI3_EndEncoding AdobeType
%AI3_BeginEncoding: _Times-Italic Times-Italic
[
/_Times-Italic/Times-Italic 0 0 1 TZ
%AI3_EndEncoding AdobeType
%AI3_BeginEncoding: _Times-BoldItalic Times-BoldItalic
[
/_Times-BoldItalic/Times-BoldItalic 0 0 1 TZ
%AI3_EndEncoding AdobeType
%AI3_BeginEncoding: _Courier Courier
[
/_Courier/Courier 0 0 1 TZ
%AI3_EndEncoding AdobeType
%AI3_BeginEncoding: _Courier-Bold Courier-Bold
[
/_Courier-Bold/Courier-Bold 0 0 1 TZ
%AI3_EndEncoding AdobeType
%AI3_BeginEncoding: _Courier-Oblique Courier-Oblique
[
/_Courier-Oblique/Courier-Oblique 0 0 1 TZ
%AI3_EndEncoding AdobeType
%AI3_BeginEncoding: _Courier-BoldOblique Courier-BoldOblique
[
/_Courier-BoldOblique/Courier-BoldOblique 0 0 1 TZ
%AI3_EndEncoding AdobeType
%AI3_BeginEncoding: _Symbol Symbol
[
/_Symbol/Symbol 0 0 1 TZ
%AI3_EndEncoding AdobeType
%%EndSetup
1 XR
u
[] 0 d
0.0000 w
0.000 0.000 0.000 1.000 K
1 J
1 j
484.8319 139.3278 m
484.8319 181.1381 L
S
U
u
0.000 0.000 0.000 1.000 k
0.0000 w
0.000 0.000 0.000 1.000 K
482.0765 180.5391 m
484.8319 188.8053 L
487.5874 180.5391 L
482.0765 180.5391 L
F
U
u
0.0000 w
483.7537 276.1398 m
483.7537 298.9018 L
S
U
u
0.000 0.000 0.000 1.000 k
0.0000 w
480.9983 298.1830 m
483.7537 306.4493 L
486.5092 298.1830 L
480.9983 298.1830 L
F
U
u
0.0000 w
377.9700 466.8619 m
377.9700 492.3794 L
S
U
u
0.000 0.000 0.000 1.000 k
0.0000 w
375.2146 491.6606 m
377.9700 499.9268 L
380.7255 491.6606 L
375.2146 491.6606 L
F
U
u
0.000 0.000 0.000 0.000 k
368.2662 477.6439 m
386.7155 477.6439 L
386.7155 489.0250 L
368.2662 489.0250 L
368.2662 477.6439 L
F
U
0 To
1.0000 0.0000 0.0000 1.0000 369.3444 480.6389 0 Tp
TP
/_Helvetica 8.0000 Tf
0.0000 Tc
0 Tr
0 j
0.000 0.000 0.000 1.000 k
(UCT\r) Tx
TO
0.000 0.000 0.000 1.000 K
u
0.0000 w
1 j
502.0832 355.3278 m
502.0832 368.6256 L
502.0832 368.6256 L
502.0832 419.4210 L
S
U
u
0.000 0.000 0.000 1.000 k
0.0000 w
499.3278 418.8220 m
502.0832 427.0882 L
504.8386 418.8220 L
499.3278 418.8220 L
F
U
u
0.000 0.000 0.000 0.000 k
492.1398 385.7571 m
512.0266 385.7571 L
512.0266 397.1381 L
492.1398 397.1381 L
492.1398 385.7571 L
F
U
0 To
1.0000 0.0000 0.0000 1.0000 493.0982 388.7521 0 Tp
TP
/_Helvetica 8.0000 Tf
0.0000 Tc
0 Tr
0 j
0.000 0.000 0.000 1.000 k
(UCT\r) Tx
TO
0.000 0.000 0.000 1.000 K
u
0.0000 w
1 j
377.3710 354.9684 m
377.3710 368.6256 L
377.4908 368.6256 L
377.4908 419.7804 L
S
U
u
0.000 0.000 0.000 1.000 k
0.0000 w
374.7354 419.0616 m
377.4908 427.3278 L
380.2463 419.0616 L
374.7354 419.0616 L
F
U
u
0.000 0.000 0.000 0.000 k
360.3594 378.3295 m
396.1797 378.3295 L
396.1797 389.7105 L
360.3594 389.7105 L
360.3594 378.3295 L
F
U
0 To
1.0000 0.0000 0.0000 1.0000 361.4376 381.3245 0 Tp
TP
/_Helvetica 8.0000 Tf
0.0000 Tc
0 Tr
0 j
0.000 0.000 0.000 1.000 k
(!intCheck\r) Tx
TO
0.000 0.000 0.000 1.000 K
u
0.000 0.000 0.000 0.000 k
0.0000 w
1 j
35.7005 513.4642 m
561.6240 513.4642 L
561.6240 526.1631 L
35.7005 526.1631 L
35.7005 513.4642 L
B
U
0 To
1.0000 0.0000 0.0000 1.0000 291.7138 517.1780 0 Tp
TP
/_Helvetica 8.0000 Tf
0.0000 Tc
0 Tr
0.0000 w
0 j
0.000 0.000 0.000 1.000 k
(IDLE\r) Tx
TO
0.000 0.000 0.000 1.000 K
u
0.000 0.000 0.000 0.000 k
0.0000 w
1 j
35.7005 499.9268 m
561.6240 499.9268 L
561.6240 513.4642 L
35.7005 513.4642 L
35.7005 499.9268 L
B
U
u
0.000 0.000 0.000 0.000 k
442.7820 453.2047 m
561.6240 453.2047 L
561.6240 466.8619 L
442.7820 466.8619 L
442.7820 453.2047 L
B
U
0 To
1.0000 0.0000 0.0000 1.0000 471.4143 457.6373 0 Tp
TP
/_Helvetica 8.0000 Tf
0.0000 Tc
0 Tr
0.0000 w
0 j
0.000 0.000 0.000 1.000 k
(SEND_REQUEST\r) Tx
TO
0.000 0.000 0.000 1.000 K
u
0.000 0.000 0.000 0.000 k
0.0000 w
1 j
442.7820 427.0882 m
561.6240 427.0882 L
561.6240 453.2047 L
442.7820 453.2047 L
442.7820 427.0882 L
B
U
0 To
1.0000 0.0000 0.0000 1.0000 448.6522 444.0998 0 Tp
TP
/_Helvetica 8.0000 Tf
0.0000 Tc
0 Tr
0.0000 w
0 j
0.000 0.000 0.000 1.000 k
(aaaEapResp = FALSE\r) Tx
TO
0.000 0.000 0.000 1.000 K
0 To
1.0000 0.0000 0.0000 1.0000 448.6522 434.6356 0 Tp
TP
/_Helvetica 8.0000 Tf
0.0000 Tc
0 Tr
0.000 0.000 0.000 1.000 k
(aaaEapReq = TRUE\r) Tx
TO
0.000 0.000 0.000 1.000 K
u
0.0000 w
1 j
502.2030 466.8619 m
502.2030 480.2795 L
502.2030 480.2795 L
502.2030 491.7804 L
S
U
u
0.000 0.000 0.000 1.000 k
0.0000 w
499.4476 491.0616 m
502.2030 499.3278 L
504.9584 491.0616 L
499.4476 491.0616 L
F
U
u
0.000 0.000 0.000 0.000 k
493.5774 477.1647 m
512.0266 477.1647 L
512.0266 488.5458 L
493.5774 488.5458 L
493.5774 477.1647 L
F
U
0 To
1.0000 0.0000 0.0000 1.0000 494.5358 480.1597 0 Tp
TP
/_Helvetica 8.0000 Tf
0.0000 Tc
0 Tr
0 j
0.000 0.000 0.000 1.000 k
(UCT\r) Tx
TO
0.000 0.000 0.000 1.000 K
u
0.000 0.000 0.000 0.000 k
0.0000 w
1 j
318.3095 453.2047 m
437.2712 453.2047 L
437.2712 466.8619 L
318.3095 466.8619 L
318.3095 453.2047 L
B
U
0 To
1.0000 0.0000 0.0000 1.0000 361.7970 457.6373 0 Tp
TP
/_Helvetica 8.0000 Tf
0.0000 Tc
0 Tr
0.0000 w
0 j
0.000 0.000 0.000 1.000 k
(DISCARD\r) Tx
TO
0.000 0.000 0.000 1.000 K
u
0.000 0.000 0.000 0.000 k
0.0000 w
1 j
318.3095 427.0882 m
437.2712 427.0882 L
437.2712 453.2047 L
318.3095 453.2047 L
318.3095 427.0882 L
B
U
0 To
1.0000 0.0000 0.0000 1.0000 324.2995 444.0998 0 Tp
TP
/_Helvetica 8.0000 Tf
0.0000 Tc
0 Tr
0.0000 w
0 j
0.000 0.000 0.000 1.000 k
(aaaEapResp = FALSE\r) Tx
TO
0.000 0.000 0.000 1.000 K
0 To
1.0000 0.0000 0.0000 1.0000 324.2995 434.6356 0 Tp
TP
/_Helvetica 8.0000 Tf
0.0000 Tc
0 Tr
0.000 0.000 0.000 1.000 k
(aaaEapNoReq = TRUE\r) Tx
TO
0.000 0.000 0.000 1.000 K
u
0.000 0.000 0.000 0.000 k
0.0000 w
1 j
401.3311 54.5092 m
561.6240 54.5092 L
561.6240 68.1664 L
401.3311 68.1664 L
401.3311 54.5092 L
B
U
0 To
1.0000 0.0000 0.0000 1.0000 463.9867 58.9418 0 Tp
TP
/_Helvetica 8.0000 Tf
0.0000 Tc
0 Tr
0.0000 w
0 j
0.000 0.000 0.000 1.000 k
(SUCCESS\r) Tx
TO
0.000 0.000 0.000 1.000 K
u
0.000 0.000 0.000 0.000 k
0.0000 w
1 j
401.3311 1.4376 m
561.6240 1.4376 L
561.6240 54.5092 L
401.3311 54.5092 L
401.3311 1.4376 L
B
U
0 To
1.0000 0.0000 0.0000 1.0000 407.3211 45.4043 0 Tp
TP
/_Helvetica 8.0000 Tf
0.0000 Tc
0 Tr
0.0000 w
0 j
0.000 0.000 0.000 1.000 k
(currentId = nextId\(currentId\)\r) Tx
TO
0.000 0.000 0.000 1.000 K
0 To
1.0000 0.0000 0.0000 1.0000 407.3211 35.9401 0 Tp
TP
/_Helvetica 8.0000 Tf
0.0000 Tc
0 Tr
0.000 0.000 0.000 1.000 k
(aaaEapReqData = buildSuccess\(currentId\)\r) Tx
TO
0.000 0.000 0.000 1.000 K
0 To
1.0000 0.0000 0.0000 1.0000 407.3211 26.3561 0 Tp
TP
/_Helvetica 8.0000 Tf
0.0000 Tc
0 Tr
0.000 0.000 0.000 1.000 k
(if \(aaaEapKeyData != NONE\)\r) Tx
TO
0.000 0.000 0.000 1.000 K
0 To
1.0000 0.0000 0.0000 1.0000 407.3211 16.7720 0 Tp
TP
/_Helvetica 8.0000 Tf
0.0000 Tc
0 Tr
0.000 0.000 0.000 1.000 k
( aaaEapKeyAvailable = TRUE\r) Tx
TO
0.000 0.000 0.000 1.000 K
0 To
1.0000 0.0000 0.0000 1.0000 407.3211 7.1880 0 Tp
TP
/_Helvetica 8.0000 Tf
0.0000 Tc
0 Tr
0.000 0.000 0.000 1.000 k
(aaaEapSuccess = TRUE\r) Tx
TO
0.000 0.000 0.000 1.000 K
u
0.000 0.000 0.000 0.000 k
0.0000 w
1 j
230.7354 54.0300 m
391.1481 54.0300 L
391.1481 67.5674 L
230.7354 67.5674 L
230.7354 54.0300 L
B
U
0 To
1.0000 0.0000 0.0000 1.0000 296.0266 58.3428 0 Tp
TP
/_Helvetica 8.0000 Tf
0.0000 Tc
0 Tr
0.0000 w
0 j
0.000 0.000 0.000 1.000 k
(FAILURE\r) Tx
TO
0.000 0.000 0.000 1.000 K
u
0.000 0.000 0.000 0.000 k
0.0000 w
1 j
230.7354 1.4376 m
391.1481 1.4376 L
391.1481 54.0300 L
230.7354 54.0300 L
230.7354 1.4376 L
B
U
0 To
1.0000 0.0000 0.0000 1.0000 236.7255 44.8053 0 Tp
TP
/_Helvetica 8.0000 Tf
0.0000 Tc
0 Tr
0.0000 w
0 j
0.000 0.000 0.000 1.000 k
(currentId = nextId\(currentId\)\r) Tx
TO
0.000 0.000 0.000 1.000 K
0 To
1.0000 0.0000 0.0000 1.0000 236.7255 35.3411 0 Tp
TP
/_Helvetica 8.0000 Tf
0.0000 Tc
0 Tr
0.000 0.000 0.000 1.000 k
(aaaEapReqData = buildFailure\(currentId\)\r) Tx
TO
0.000 0.000 0.000 1.000 K
0 To
1.0000 0.0000 0.0000 1.0000 236.7255 25.7571 0 Tp
TP
/_Helvetica 8.0000 Tf
0.0000 Tc
0 Tr
0.000 0.000 0.000 1.000 k
(aaaEapFail = TRUE\r) Tx
TO
0.000 0.000 0.000 1.000 K
u
0.0000 w
1 j
244.1531 426.8486 m
244.1531 335.3211 L
267.0349 335.3211 L
S
U
u
0.000 0.000 0.000 1.000 k
0.0000 w
266.3161 338.0765 m
274.5824 335.3211 L
266.3161 332.5657 L
266.3161 338.0765 L
F
U
u
0.000 0.000 0.000 0.000 k
0.0000 w
154.9018 125.7903 m
240.9185 125.7903 L
240.9185 139.3278 L
154.9018 139.3278 L
154.9018 125.7903 L
B
U
0 To
1.0000 0.0000 0.0000 1.0000 191.6805 130.1032 0 Tp
TP
/_Helvetica 8.0000 Tf
0.0000 Tc
0 Tr
0.0000 w
0 j
0.000 0.000 0.000 1.000 k
(NAK\r) Tx
TO
0.000 0.000 0.000 1.000 K
u
0.000 0.000 0.000 0.000 k
0.0000 w
1 j
154.9018 101.2313 m
240.9185 101.2313 L
240.9185 125.7903 L
154.9018 125.7903 L
154.9018 101.2313 L
B
U
0 To
1.0000 0.0000 0.0000 1.0000 160.8918 116.6855 0 Tp
TP
/_Helvetica 8.0000 Tf
0.0000 Tc
0 Tr
0.0000 w
0 j
0.000 0.000 0.000 1.000 k
(m.reset\(\)\r) Tx
TO
0.000 0.000 0.000 1.000 K
0 To
1.0000 0.0000 0.0000 1.0000 160.8918 107.1015 0 Tp
TP
/_Helvetica 8.0000 Tf
0.0000 Tc
0 Tr
0.000 0.000 0.000 1.000 k
(Policy.update\(<...>\)\r) Tx
TO
0.000 0.000 0.000 1.000 K
u
0.0000 w
1 j
240.7987 120.7587 m
254.3361 120.7587 L
254.3361 120.6389 L
267.0349 120.6389 L
S
U
u
0.000 0.000 0.000 1.000 k
0.0000 w
266.3161 123.2745 m
274.5824 120.6389 L
266.3161 117.8835 L
266.3161 123.2745 L
F
U
u
0.000 0.000 0.000 0.000 k
248.4659 115.2479 m
266.7953 115.2479 L
266.7953 126.5092 L
248.4659 126.5092 L
248.4659 115.2479 L
F
U
0 To
1.0000 0.0000 0.0000 1.0000 249.4243 118.2429 0 Tp
TP
/_Helvetica 8.0000 Tf
0.0000 Tc
0 Tr
0 j
0.000 0.000 0.000 1.000 k
(UCT\r) Tx
TO
0.000 0.000 0.000 1.000 K
u
0.0000 w
1 j
311.6007 101.2313 m
311.6007 85.5374 L
311.6007 85.5374 L
311.6007 75.1148 L
S
U
u
0.000 0.000 0.000 1.000 k
0.0000 w
314.3561 75.8336 m
311.6007 67.5674 L
308.8453 75.8336 L
314.3561 75.8336 L
F
U
u
0.000 0.000 0.000 0.000 k
272.0666 79.0682 m
351.2546 79.0682 L
351.2546 90.4493 L
272.0666 90.4493 L
272.0666 79.0682 L
F
U
0 To
1.0000 0.0000 0.0000 1.0000 273.0250 82.0632 0 Tp
TP
/_Helvetica 8.0000 Tf
0.0000 Tc
0 Tr
0 j
0.000 0.000 0.000 1.000 k
(decision == FAILURE\r) Tx
TO
0.000 0.000 0.000 1.000 K
u
0.0000 w
1 j
481.1181 101.2313 m
481.1181 87.8136 L
481.4775 87.8136 L
481.4775 75.7138 L
S
U
u
0.000 0.000 0.000 1.000 k
0.0000 w
484.2329 76.4326 m
481.4775 68.1664 L
478.7221 76.4326 L
484.2329 76.4326 L
F
U
u
0.000 0.000 0.000 0.000 k
439.4276 79.4276 m
523.5275 79.4276 L
523.5275 90.8087 L
439.4276 90.8087 L
439.4276 79.4276 L
F
U
0 To
1.0000 0.0000 0.0000 1.0000 440.5058 82.4226 0 Tp
TP
/_Helvetica 8.0000 Tf
0.0000 Tc
0 Tr
0 j
0.000 0.000 0.000 1.000 k
(decision == SUCCESS\r) Tx
TO
0.000 0.000 0.000 1.000 K
u
0.0000 w
1 j
336.5191 188.8053 m
336.5191 169.6373 L
336.7587 169.6373 L
336.7587 146.8752 L
S
U
u
0.000 0.000 0.000 1.000 k
0.0000 w
339.5141 147.5940 m
336.7587 139.3278 L
334.0033 147.5940 L
339.5141 147.5940 L
F
U
u
0.000 0.000 0.000 0.000 k
297.5840 158.7354 m
375.9334 158.7354 L
375.9334 170.1165 L
297.5840 170.1165 L
297.5840 158.7354 L
F
U
0 To
1.0000 0.0000 0.0000 1.0000 298.5424 161.7304 0 Tp
TP
/_Helvetica 8.0000 Tf
0.0000 Tc
0 Tr
0 j
0.000 0.000 0.000 1.000 k
(methodState == END\r) Tx
TO
0.000 0.000 0.000 1.000 K
u
0.0000 w
1 j
197.9101 426.7288 m
197.9101 146.8752 L
S
U
u
0.000 0.000 0.000 1.000 k
0.0000 w
200.6656 147.5940 m
197.9101 139.3278 L
195.1547 147.5940 L
200.6656 147.5940 L
F
U
u
0.000 0.000 0.000 0.000 k
0.0000 w
274.5824 125.7903 m
561.6240 125.7903 L
561.6240 139.3278 L
274.5824 139.3278 L
274.5824 125.7903 L
B
U
0 To
1.0000 0.0000 0.0000 1.0000 387.0749 130.1032 0 Tp
TP
/_Helvetica 8.0000 Tf
0.0000 Tc
0 Tr
0.0000 w
0 j
0.000 0.000 0.000 1.000 k
(SELECT_ACTION\r) Tx
TO
0.000 0.000 0.000 1.000 K
u
0.000 0.000 0.000 0.000 k
0.0000 w
1 j
274.5824 101.2313 m
561.6240 101.2313 L
561.6240 125.7903 L
274.5824 125.7903 L
274.5824 101.2313 L
B
U
0 To
1.0000 0.0000 0.0000 1.0000 280.5724 116.6855 0 Tp
TP
/_Helvetica 8.0000 Tf
0.0000 Tc
0 Tr
0.0000 w
0 j
0.000 0.000 0.000 1.000 k
(decision = Policy.getDecision\(\)\r) Tx
TO
0.000 0.000 0.000 1.000 K
u
0.000 0.000 0.000 0.000 k
1 j
201.1448 363.8336 m
315.7937 363.8336 L
315.7937 394.3827 L
201.1448 394.3827 L
201.1448 363.8336 L
F
U
0 To
1.0000 0.0000 0.0000 1.0000 239.3611 385.9967 0 Tp
TP
/_Helvetica 8.0000 Tf
0.0000 Tc
0 Tr
0 j
0.000 0.000 0.000 1.000 k
(rxResp &&\r) Tx
TO
0.000 0.000 0.000 1.000 K
0 To
1.0000 0.0000 0.0000 1.0000 215.4010 376.4126 0 Tp
TP
/_Helvetica 8.0000 Tf
0.0000 Tc
0 Tr
0.000 0.000 0.000 1.000 k
(\(respId == currentId\) &&\r) Tx
TO
0.000 0.000 0.000 1.000 K
0 To
1.0000 0.0000 0.0000 1.0000 202.1032 366.8286 0 Tp
TP
/_Helvetica 8.0000 Tf
0.0000 Tc
0 Tr
0.000 0.000 0.000 1.000 k
(\(respMethod == currentMethod\)\r) Tx
TO
0.000 0.000 0.000 1.000 K
u
0.000 0.000 0.000 0.000 k
1 j
130.9418 158.3760 m
264.9983 158.3760 L
264.9983 207.9734 L
130.9418 207.9734 L
130.9418 158.3760 L
F
U
0 To
1.0000 0.0000 0.0000 1.0000 178.9817 199.7072 0 Tp
TP
/_Helvetica 8.0000 Tf
0.0000 Tc
0 Tr
0 j
0.000 0.000 0.000 1.000 k
(rxResp &&\r) Tx
TO
0.000 0.000 0.000 1.000 K
0 To
1.0000 0.0000 0.0000 1.0000 155.0216 190.1231 0 Tp
TP
/_Helvetica 8.0000 Tf
0.0000 Tc
0 Tr
0.000 0.000 0.000 1.000 k
(\(respId == currentId\) &&\r) Tx
TO
0.000 0.000 0.000 1.000 K
0 To
1.0000 0.0000 0.0000 1.0000 159.5740 180.5391 0 Tp
TP
/_Helvetica 8.0000 Tf
0.0000 Tc
0 Tr
0.000 0.000 0.000 1.000 k
(\(respMethod==NAK ||\r) Tx
TO
0.000 0.000 0.000 1.000 K
0 To
1.0000 0.0000 0.0000 1.0000 132.0200 170.9551 0 Tp
TP
/_Helvetica 8.0000 Tf
0.0000 Tc
0 Tr
0.000 0.000 0.000 1.000 k
(respMethod==EXPANDED_NAK\) &&\r) Tx
TO
0.000 0.000 0.000 1.000 K
0 To
1.0000 0.0000 0.0000 1.0000 142.9218 161.3710 0 Tp
TP
/_Helvetica 8.0000 Tf
0.0000 Tc
0 Tr
0.000 0.000 0.000 1.000 k
(\(\r) Tx
TO
0.000 0.000 0.000 1.000 K
0 To
1.0000 0.0000 0.0000 1.0000 145.5574 161.3710 0 Tp
TP
/_Helvetica 8.0000 Tf
0.0000 Tc
0 Tr
0.000 0.000 0.000 1.000 k
(methodState == PROPOSED\)\r) Tx
TO
0.000 0.000 0.000 1.000 K
u
0.0000 w
1 j
244.2729 499.9268 m
244.2729 486.5092 L
244.2729 486.5092 L
244.2729 474.4093 L
S
U
u
0.000 0.000 0.000 1.000 k
0.0000 w
247.0283 475.1281 m
244.2729 466.8619 L
241.5175 475.1281 L
247.0283 475.1281 L
F
U
u
0.000 0.000 0.000 0.000 k
220.3128 478.2429 m
268.4725 478.2429 L
268.4725 489.6240 L
220.3128 489.6240 L
220.3128 478.2429 L
F
U
0 To
1.0000 0.0000 0.0000 1.0000 221.2712 481.2379 0 Tp
TP
/_Helvetica 8.0000 Tf
0.0000 Tc
0 Tr
0 j
0.000 0.000 0.000 1.000 k
(aaaEapResp\r) Tx
TO
0.000 0.000 0.000 1.000 K
u
0.0000 w
1 j
290.1564 426.8486 m
290.1564 398.4559 L
341.7903 398.4559 L
341.7903 419.5408 L
S
U
u
0.000 0.000 0.000 1.000 k
0.0000 w
339.0349 418.8220 m
341.7903 427.0882 L
344.5458 418.8220 L
339.0349 418.8220 L
F
U
u
0.000 0.000 0.000 0.000 k
306.6889 393.0649 m
325.3777 393.0649 L
325.3777 404.4459 L
306.6889 404.4459 L
306.6889 393.0649 L
F
U
0 To
1.0000 0.0000 0.0000 1.0000 307.7671 396.0599 0 Tp
TP
/_Helvetica 8.0000 Tf
0.0000 Tc
0 Tr
0 j
0.000 0.000 0.000 1.000 k
(else\r) Tx
TO
0.000 0.000 0.000 1.000 K
u
0.000 0.000 0.000 0.000 k
0.0000 w
1 j
274.5824 341.6705 m
397.8569 341.6705 L
397.8569 355.2080 L
274.5824 355.2080 L
274.5824 341.6705 L
B
U
0 To
1.0000 0.0000 0.0000 1.0000 300.5790 346.1032 0 Tp
TP
/_Helvetica 8.0000 Tf
0.0000 Tc
0 Tr
0.0000 w
0 j
0.000 0.000 0.000 1.000 k
(INTEGRITY_CHECK\r) Tx
TO
0.000 0.000 0.000 1.000 K
u
0.000 0.000 0.000 0.000 k
0.0000 w
1 j
274.5824 315.4343 m
397.8569 315.4343 L
397.8569 341.6705 L
274.5824 341.6705 L
274.5824 315.4343 L
B
U
0 To
1.0000 0.0000 0.0000 1.0000 280.5724 332.4459 0 Tp
TP
/_Helvetica 8.0000 Tf
0.0000 Tc
0 Tr
0.0000 w
0 j
0.000 0.000 0.000 1.000 k
(intCheck =\r) Tx
TO
0.000 0.000 0.000 1.000 K
0 To
1.0000 0.0000 0.0000 1.0000 280.5724 322.8619 0 Tp
TP
/_Helvetica 8.0000 Tf
0.0000 Tc
0 Tr
0.000 0.000 0.000 1.000 k
( m.intCheck\(aaaEapRespData\)\r) Tx
TO
0.000 0.000 0.000 1.000 K
u
0.000 0.000 0.000 0.000 k
0.0000 w
1 j
274.5824 262.6023 m
397.8569 262.6023 L
397.8569 276.1398 L
274.5824 276.1398 L
274.5824 262.6023 L
B
U
0 To
1.0000 0.0000 0.0000 1.0000 296.3860 267.0349 0 Tp
TP
/_Helvetica 8.0000 Tf
0.0000 Tc
0 Tr
0.0000 w
0 j
0.000 0.000 0.000 1.000 k
(METHOD_RESPONSE\r) Tx
TO
0.000 0.000 0.000 1.000 K
u
0.000 0.000 0.000 0.000 k
0.0000 w
1 j
274.5824 188.8053 m
397.8569 188.8053 L
397.8569 262.6023 L
274.5824 262.6023 L
274.5824 188.8053 L
B
U
0 To
1.0000 0.0000 0.0000 1.0000 280.5724 253.3777 0 Tp
TP
/_Helvetica 8.0000 Tf
0.0000 Tc
0 Tr
0.0000 w
0 j
0.000 0.000 0.000 1.000 k
(m.process\(aaaEapRespData\)\r) Tx
TO
0.000 0.000 0.000 1.000 K
0 To
1.0000 0.0000 0.0000 1.0000 280.5724 243.7937 0 Tp
TP
/_Helvetica 8.0000 Tf
0.0000 Tc
0 Tr
0.000 0.000 0.000 1.000 k
(if \(m.isDone\(\)\) {\r) Tx
TO
0.000 0.000 0.000 1.000 K
0 To
1.0000 0.0000 0.0000 1.0000 280.5724 234.2097 0 Tp
TP
/_Helvetica 8.0000 Tf
0.0000 Tc
0 Tr
0.000 0.000 0.000 1.000 k
( Policy.update\(<...>\)\r) Tx
TO
0.000 0.000 0.000 1.000 K
0 To
1.0000 0.0000 0.0000 1.0000 280.5724 224.6256 0 Tp
TP
/_Helvetica 8.0000 Tf
0.0000 Tc
0 Tr
0.000 0.000 0.000 1.000 k
( aaaEapKeyData = m.getKey\(\)\r) Tx
TO
0.000 0.000 0.000 1.000 K
0 To
1.0000 0.0000 0.0000 1.0000 280.5724 215.0416 0 Tp
TP
/_Helvetica 8.0000 Tf
0.0000 Tc
0 Tr
0.000 0.000 0.000 1.000 k
( methodState = END\r) Tx
TO
0.000 0.000 0.000 1.000 K
0 To
1.0000 0.0000 0.0000 1.0000 280.5724 205.4576 0 Tp
TP
/_Helvetica 8.0000 Tf
0.0000 Tc
0 Tr
0.000 0.000 0.000 1.000 k
(} else\r) Tx
TO
0.000 0.000 0.000 1.000 K
0 To
1.0000 0.0000 0.0000 1.0000 280.5724 195.9933 0 Tp
TP
/_Helvetica 8.0000 Tf
0.0000 Tc
0 Tr
0.000 0.000 0.000 1.000 k
( methodState = CONTINUE\r) Tx
TO
0.000 0.000 0.000 1.000 K
u
0.000 0.000 0.000 0.000 k
0.0000 w
1 j
408.0399 341.6705 m
561.6240 341.6705 L
561.6240 355.2080 L
408.0399 355.2080 L
408.0399 341.6705 L
B
U
0 To
1.0000 0.0000 0.0000 1.0000 447.9334 346.1032 0 Tp
TP
/_Helvetica 8.0000 Tf
0.0000 Tc
0 Tr
0.0000 w
0 j
0.000 0.000 0.000 1.000 k
(METHOD_REQUEST\r) Tx
TO
0.000 0.000 0.000 1.000 K
u
0.000 0.000 0.000 0.000 k
0.0000 w
1 j
408.0399 306.4493 m
561.6240 306.4493 L
561.6240 341.6705 L
408.0399 341.6705 L
408.0399 306.4493 L
B
U
0 To
1.0000 0.0000 0.0000 1.0000 414.0300 332.4459 0 Tp
TP
/_Helvetica 8.0000 Tf
0.0000 Tc
0 Tr
0.0000 w
0 j
0.000 0.000 0.000 1.000 k
(currentId = nextId\(currentId\)\r) Tx
TO
0.000 0.000 0.000 1.000 K
0 To
1.0000 0.0000 0.0000 1.0000 414.0300 322.8619 0 Tp
TP
/_Helvetica 8.0000 Tf
0.0000 Tc
0 Tr
0.000 0.000 0.000 1.000 k
(aaaEapReqData = m.buildReq\(currentId\)\r) Tx
TO
0.000 0.000 0.000 1.000 K
0 To
1.0000 0.0000 0.0000 1.0000 414.0300 313.2779 0 Tp
TP
/_Helvetica 8.0000 Tf
0.0000 Tc
0 Tr
0.000 0.000 0.000 1.000 k
(aaaMethodTimeout = m.getTimeout\(\)\r) Tx
TO
0.000 0.000 0.000 1.000 K
u
0.000 0.000 0.000 0.000 k
0.0000 w
1 j
408.0399 262.6023 m
561.6240 262.6023 L
561.6240 276.1398 L
408.0399 276.1398 L
408.0399 262.6023 L
B
U
0 To
1.0000 0.0000 0.0000 1.0000 447.4542 267.0349 0 Tp
TP
/_Helvetica 8.0000 Tf
0.0000 Tc
0 Tr
0.0000 w
0 j
0.000 0.000 0.000 1.000 k
(PROPOSE_METHOD\r) Tx
TO
0.000 0.000 0.000 1.000 K
u
0.000 0.000 0.000 0.000 k
0.0000 w
1 j
408.0399 188.6855 m
561.6240 188.6855 L
561.6240 262.6023 L
408.0399 262.6023 L
408.0399 188.6855 L
B
U
0 To
1.0000 0.0000 0.0000 1.0000 414.0300 253.3777 0 Tp
TP
/_Helvetica 8.0000 Tf
0.0000 Tc
0 Tr
0.0000 w
0 j
0.000 0.000 0.000 1.000 k
(currentMethod = Policy.getNextMethod\(\)\r) Tx
TO
0.000 0.000 0.000 1.000 K
0 To
1.0000 0.0000 0.0000 1.0000 414.0300 243.7937 0 Tp
TP
/_Helvetica 8.0000 Tf
0.0000 Tc
0 Tr
0.000 0.000 0.000 1.000 k
(m.init\(\)\r) Tx
TO
0.000 0.000 0.000 1.000 K
0 To
1.0000 0.0000 0.0000 1.0000 414.0300 234.2097 0 Tp
TP
/_Helvetica 8.0000 Tf
0.0000 Tc
0 Tr
0.000 0.000 0.000 1.000 k
(if \(currentMethod==IDENTITY ||\r) Tx
TO
0.000 0.000 0.000 1.000 K
0 To
1.0000 0.0000 0.0000 1.0000 414.0300 224.6256 0 Tp
TP
/_Helvetica 8.0000 Tf
0.0000 Tc
0 Tr
0.000 0.000 0.000 1.000 k
( currentMethod==NOTIFICATION\)\r) Tx
TO
0.000 0.000 0.000 1.000 K
0 To
1.0000 0.0000 0.0000 1.0000 414.0300 215.0416 0 Tp
TP
/_Helvetica 8.0000 Tf
0.0000 Tc
0 Tr
0.000 0.000 0.000 1.000 k
( methodState = CONTINUE\r) Tx
TO
0.000 0.000 0.000 1.000 K
0 To
1.0000 0.0000 0.0000 1.0000 414.0300 205.4576 0 Tp
TP
/_Helvetica 8.0000 Tf
0.0000 Tc
0 Tr
0.000 0.000 0.000 1.000 k
(else\r) Tx
TO
0.000 0.000 0.000 1.000 K
0 To
1.0000 0.0000 0.0000 1.0000 414.0300 195.9933 0 Tp
TP
/_Helvetica 8.0000 Tf
0.0000 Tc
0 Tr
0.000 0.000 0.000 1.000 k
( methodState = PROPOSED\r) Tx
TO
0.000 0.000 0.000 1.000 K
u
0.0000 w
1 j
377.3710 276.2596 m
377.3710 289.5574 L
427.9268 289.5574 L
427.9268 298.9018 L
S
U
u
0.000 0.000 0.000 1.000 k
0.0000 w
425.1714 298.1830 m
427.9268 306.4493 L
430.6822 298.1830 L
425.1714 298.1830 L
F
U
u
0.000 0.000 0.000 0.000 k
395.8203 284.1664 m
413.0715 284.1664 L
413.0715 295.5474 L
395.8203 295.5474 L
395.8203 284.1664 L
F
U
0 To
1.0000 0.0000 0.0000 1.0000 396.7787 287.1614 0 Tp
TP
/_Helvetica 8.0000 Tf
0.0000 Tc
0 Tr
0 j
0.000 0.000 0.000 1.000 k
(else\r) Tx
TO
0.000 0.000 0.000 1.000 K
u
0.0000 w
1 j
336.7587 315.3145 m
336.7587 301.8968 L
336.7587 301.8968 L
336.7587 283.6872 L
S
U
u
0.000 0.000 0.000 1.000 k
0.0000 w
339.5141 284.4060 m
336.7587 276.2596 L
334.0033 284.4060 L
339.5141 284.4060 L
F
U
u
0.000 0.000 0.000 0.000 k
320.1065 290.3960 m
353.4110 290.3960 L
353.4110 301.7770 L
320.1065 301.7770 L
320.1065 290.3960 L
F
U
0 To
1.0000 0.0000 0.0000 1.0000 321.1847 293.3910 0 Tp
TP
/_Helvetica 8.0000 Tf
0.0000 Tc
0 Tr
0 j
0.000 0.000 0.000 1.000 k
(intCheck\r) Tx
TO
0.000 0.000 0.000 1.000 K
u
0.000 0.000 0.000 0.000 k
1 j
476.3261 158.3760 m
493.4576 158.3760 L
493.4576 169.7571 L
476.3261 169.7571 L
476.3261 158.3760 L
F
U
0 To
1.0000 0.0000 0.0000 1.0000 477.2845 161.3710 0 Tp
TP
/_Helvetica 8.0000 Tf
0.0000 Tc
0 Tr
0 j
0.000 0.000 0.000 1.000 k
(else\r) Tx
TO
0.000 0.000 0.000 1.000 K
u
0.000 0.000 0.000 0.000 k
1 j
474.6489 281.2912 m
493.0982 281.2912 L
493.0982 292.5524 L
474.6489 292.5524 L
474.6489 281.2912 L
F
U
0 To
1.0000 0.0000 0.0000 1.0000 475.6073 284.1664 0 Tp
TP
/_Helvetica 8.0000 Tf
0.0000 Tc
0 Tr
0 j
0.000 0.000 0.000 1.000 k
(UCT\r) Tx
TO
0.000 0.000 0.000 1.000 K
u
0.0000 w
1 j
86.1364 683.4609 m
86.1364 683.9401 L
166.4027 683.9401 L
S
U
u
0.000 0.000 0.000 1.000 k
0.0000 w
165.6839 686.5757 m
173.9501 683.9401 L
165.6839 681.1847 L
165.6839 686.5757 L
F
U
u
0.000 0.000 0.000 0.000 k
0.0000 w
175.8669 683.8203 m
312.5591 683.8203 L
312.5591 697.2379 L
175.8669 697.2379 L
175.8669 683.8203 L
B
U
0 To
1.0000 0.0000 0.0000 1.0000 226.3028 688.0133 0 Tp
TP
/_Helvetica 8.0000 Tf
0.0000 Tc
0 Tr
0.0000 w
0 j
0.000 0.000 0.000 1.000 k
(INITIALIZE\r) Tx
TO
0.000 0.000 0.000 1.000 K
u
0.000 0.000 0.000 0.000 k
0.0000 w
1 j
175.8669 611.4609 m
312.5591 611.4609 L
312.5591 683.8203 L
175.8669 683.8203 L
175.8669 611.4609 L
B
U
0 To
1.0000 0.0000 0.0000 1.0000 181.8569 674.5957 0 Tp
TP
/_Helvetica 8.0000 Tf
0.0000 Tc
0 Tr
0.0000 w
0 j
0.000 0.000 0.000 1.000 k
(currentMethod = NONE\r) Tx
TO
0.000 0.000 0.000 1.000 K
0 To
1.0000 0.0000 0.0000 1.0000 181.8569 665.0116 0 Tp
TP
/_Helvetica 8.0000 Tf
0.0000 Tc
0 Tr
0.000 0.000 0.000 1.000 k
(\(rxResp,respId,respMethod\) =\r) Tx
TO
0.000 0.000 0.000 1.000 K
0 To
1.0000 0.0000 0.0000 1.0000 181.8569 655.4276 0 Tp
TP
/_Helvetica 8.0000 Tf
0.0000 Tc
0 Tr
0.000 0.000 0.000 1.000 k
( parseEapResp\(aaaEapRespData\)\r) Tx
TO
0.000 0.000 0.000 1.000 K
0 To
1.0000 0.0000 0.0000 1.0000 181.8569 645.8436 0 Tp
TP
/_Helvetica 8.0000 Tf
0.0000 Tc
0 Tr
0.000 0.000 0.000 1.000 k
(if \(rxResp\)\r) Tx
TO
0.000 0.000 0.000 1.000 K
0 To
1.0000 0.0000 0.0000 1.0000 181.8569 636.2596 0 Tp
TP
/_Helvetica 8.0000 Tf
0.0000 Tc
0 Tr
0.000 0.000 0.000 1.000 k
( currentId = respId\r) Tx
TO
0.000 0.000 0.000 1.000 K
0 To
1.0000 0.0000 0.0000 1.0000 181.8569 626.6755 0 Tp
TP
/_Helvetica 8.0000 Tf
0.0000 Tc
0 Tr
0.000 0.000 0.000 1.000 k
(else\r) Tx
TO
0.000 0.000 0.000 1.000 K
0 To
1.0000 0.0000 0.0000 1.0000 181.8569 617.0915 0 Tp
TP
/_Helvetica 8.0000 Tf
0.0000 Tc
0 Tr
0.000 0.000 0.000 1.000 k
( currentId = NONE\r) Tx
TO
0.000 0.000 0.000 1.000 K
u
0.000 0.000 0.000 0.000 k
0.0000 w
1 j
175.8669 575.2812 m
312.5591 575.2812 L
312.5591 588.8186 L
175.8669 588.8186 L
175.8669 575.2812 L
B
U
0 To
1.0000 0.0000 0.0000 1.0000 209.5308 579.5940 0 Tp
TP
/_Helvetica 8.0000 Tf
0.0000 Tc
0 Tr
0.0000 w
0 j
0.000 0.000 0.000 1.000 k
(PICK_UP_METHOD\r) Tx
TO
0.000 0.000 0.000 1.000 K
u
0.000 0.000 0.000 0.000 k
0.0000 w
1 j
175.8669 532.9917 m
312.5591 532.9917 L
312.5591 575.2812 L
175.8669 575.2812 L
175.8669 532.9917 L
B
U
0 To
1.0000 0.0000 0.0000 1.0000 181.8569 566.0566 0 Tp
TP
/_Helvetica 8.0000 Tf
0.0000 Tc
0 Tr
0.0000 w
0 j
0.000 0.000 0.000 1.000 k
(if \(Policy.doPickUp\(respMethod\)\) {\r) Tx
TO
0.000 0.000 0.000 1.000 K
0 To
1.0000 0.0000 0.0000 1.0000 181.8569 556.4725 0 Tp
TP
/_Helvetica 8.0000 Tf
0.0000 Tc
0 Tr
0.000 0.000 0.000 1.000 k
( currentMethod = respMethod\r) Tx
TO
0.000 0.000 0.000 1.000 K
0 To
1.0000 0.0000 0.0000 1.0000 181.8569 546.8885 0 Tp
TP
/_Helvetica 8.0000 Tf
0.0000 Tc
0 Tr
0.000 0.000 0.000 1.000 k
( m.initPickUp\(\)\r) Tx
TO
0.000 0.000 0.000 1.000 K
0 To
1.0000 0.0000 0.0000 1.0000 181.8569 537.3045 0 Tp
TP
/_Helvetica 8.0000 Tf
0.0000 Tc
0 Tr
0.000 0.000 0.000 1.000 k
(}\r) Tx
TO
0.000 0.000 0.000 1.000 K
u
0.0000 w
1 j
244.0333 611.4609 m
244.0333 596.3661 L
S
U
u
0.000 0.000 0.000 1.000 k
0.0000 w
246.7887 597.0849 m
244.0333 588.8186 L
241.2779 597.0849 L
246.7887 597.0849 L
F
U
u
0.0000 w
175.2679 626.0765 m
21.0849 626.0765 L
21.0849 120.3993 L
147.3544 120.3993 L
S
U
u
0.000 0.000 0.000 1.000 k
0.0000 w
146.6356 123.0349 m
154.9018 120.3993 L
146.6356 117.6439 L
146.6356 123.0349 L
F
U
u
0.0000 w
312.5591 654.1098 m
575.1614 654.1098 L
575.1614 120.1597 L
568.6922 120.1597 L
S
U
u
0.000 0.000 0.000 1.000 k
0.0000 w
569.2912 117.4043 m
561.0250 120.1597 L
569.2912 122.7953 L
569.2912 117.4043 L
F
U
u
0.000 0.000 0.000 0.000 k
322.3827 648.2396 m
352.2130 648.2396 L
352.2130 659.6206 L
322.3827 659.6206 L
322.3827 648.2396 L
F
U
0 To
1.0000 0.0000 0.0000 1.0000 323.3411 651.2346 0 Tp
TP
/_Helvetica 8.0000 Tf
0.0000 Tc
0 Tr
0 j
0.000 0.000 0.000 1.000 k
(!rxResp\r) Tx
TO
0.000 0.000 0.000 1.000 K
u
0.0000 w
1 j
312.5591 560.0666 m
575.1614 560.0666 L
S
U
u
0.000 0.000 0.000 0.000 k
0.0000 w
324.4193 555.0349 m
410.3161 555.0349 L
410.3161 566.4160 L
324.4193 566.4160 L
324.4193 555.0349 L
F
U
0 To
1.0000 0.0000 0.0000 1.0000 325.3777 558.0300 0 Tp
TP
/_Helvetica 8.0000 Tf
0.0000 Tc
0 Tr
0 j
0.000 0.000 0.000 1.000 k
(currentMethod==NONE\r) Tx
TO
0.000 0.000 0.000 1.000 K
u
0.000 0.000 0.000 0.000 k
0.0000 w
1 j
35.7005 680.8253 m
86.1364 680.8253 L
86.1364 694.4825 L
35.7005 694.4825 L
35.7005 680.8253 L
B
U
0 To
1.0000 0.0000 0.0000 1.0000 43.0083 685.3777 0 Tp
TP
/_Helvetica 8.0000 Tf
0.0000 Tc
0 Tr
0.0000 w
0 j
0.000 0.000 0.000 1.000 k
(DISABLED\r) Tx
TO
0.000 0.000 0.000 1.000 K
u
0.000 0.000 0.000 0.000 k
0.0000 w
1 j
35.7005 667.0483 m
86.1364 667.0483 L
86.1364 680.8253 L
35.7005 680.8253 L
35.7005 667.0483 L
B
U
u
60.8586 710.5358 m
60.8586 702.0300 L
S
U
u
0.000 0.000 0.000 1.000 k
0.0000 w
63.6140 702.7488 m
60.8586 694.4825 L
58.1032 702.7488 L
63.6140 702.7488 L
F
U
0 To
1.0000 0.0000 0.0000 1.0000 29.8303 712.8120 0 Tp
TP
/_Helvetica 8.0000 Tf
0.0000 Tc
0 Tr
0 j
0.000 0.000 0.000 1.000 k
(!backendEnabled\r) Tx
TO
0.000 0.000 0.000 1.000 K
u
0.0000 w
1 j
175.8669 560.6656 m
27.9135 560.6656 L
27.9135 232.4126 L
194.9151 232.4126 L
195.1547 233.4908 L
195.8735 234.5691 L
196.8319 235.1681 L
197.9101 235.4077 L
199.1082 235.1681 L
200.0666 234.5691 L
200.6656 233.4908 L
200.9052 232.4126 L
267.0349 232.4126 L
S
U
u
0.000 0.000 0.000 1.000 k
0.0000 w
266.3161 235.1681 m
274.5824 232.4126 L
266.3161 229.6572 L
266.3161 235.1681 L
F
U
u
0.000 0.000 0.000 0.000 k
139.8070 555.8735 m
158.4958 555.8735 L
158.4958 567.2546 L
139.8070 567.2546 L
139.8070 555.8735 L
F
U
0 To
1.0000 0.0000 0.0000 1.0000 140.8852 558.8686 0 Tp
TP
/_Helvetica 8.0000 Tf
0.0000 Tc
0 Tr
0 j
0.000 0.000 0.000 1.000 k
(else\r) Tx
TO
0.000 0.000 0.000 1.000 K
u
0.000 0.000 0.000 0.000 k
1 j
56.9052 619.3677 m
142.2030 619.3677 L
142.2030 630.5092 L
56.9052 630.5092 L
56.9052 619.3677 L
F
U
0 To
1.0000 0.0000 0.0000 1.0000 82.5424 631.8270 0 Tp
TP
/_Helvetica 8.0000 Tf
0.0000 Tc
0 Tr
0 j
0.000 0.000 0.000 1.000 k
(rxResp &&\r) Tx
TO
0.000 0.000 0.000 1.000 K
0 To
1.0000 0.0000 0.0000 1.0000 63.1348 622.2429 0 Tp
TP
/_Helvetica 8.0000 Tf
0.0000 Tc
0 Tr
0.000 0.000 0.000 1.000 k
(\(respMethod==NAK ||\r) Tx
TO
0.000 0.000 0.000 1.000 K
0 To
1.0000 0.0000 0.0000 1.0000 42.0499 612.6589 0 Tp
TP
/_Helvetica 8.0000 Tf
0.0000 Tc
0 Tr
0.000 0.000 0.000 1.000 k
(respMethod==EXPANDED_NAK\)\r) Tx
TO
0.000 0.000 0.000 1.000 K
u
0.000 0.000 0.000 0.000 k
1 j
234.2097 600.1997 m
253.4975 600.1997 L
253.4975 606.7887 L
234.2097 606.7887 L
234.2097 600.1997 L
F
U
0 To
1.0000 0.0000 0.0000 1.0000 235.6473 601.0383 0 Tp
TP
/_Helvetica 8.0000 Tf
0.0000 Tc
0 Tr
0 j
0.000 0.000 0.000 1.000 k
(else\r) Tx
TO
0.000 0.000 0.000 1.000 K
u
0.000 0.000 0.000 0.000 k
1 j
101.4709 675.0749 m
153.4642 675.0749 L
153.4642 686.2163 L
101.4709 686.2163 L
101.4709 675.0749 L
F
U
0 To
1.0000 0.0000 0.0000 1.0000 92.9651 690.0499 0 Tp
TP
/_Helvetica 8.0000 Tf
0.0000 Tc
0 Tr
0 j
0.000 0.000 0.000 1.000 k
(backendEnabled &&\r) Tx
TO
0.000 0.000 0.000 1.000 K
0 To
1.0000 0.0000 0.0000 1.0000 106.1431 680.5857 0 Tp
TP
/_Helvetica 8.0000 Tf
0.0000 Tc
0 Tr
0.000 0.000 0.000 1.000 k
(aaaEapResp\r) Tx
TO
0.000 0.000 0.000 1.000 K
0 To
1.0000 0.0000 0.0000 1.0000 280.6922 105.6639 0 Tp
TP
/_Helvetica 8.0000 Tf
0.0000 Tc
0 Tr
0.000 0.000 0.000 1.000 k
(/* SUCCESS, FAILURE, or CONTINUE */\r) Tx
TO
0.000 0.000 0.000 1.000 K
u
0.000 0.000 0.000 0.000 k
0.0000 w
1 j
175.8669 453.2047 m
312.5591 453.2047 L
312.5591 466.8619 L
175.8669 466.8619 L
175.8669 453.2047 L
B
U
0 To
1.0000 0.0000 0.0000 1.0000 225.7038 457.6373 0 Tp
TP
/_Helvetica 8.0000 Tf
0.0000 Tc
0 Tr
0.0000 w
0 j
0.000 0.000 0.000 1.000 k
(RECEIVED\r) Tx
TO
0.000 0.000 0.000 1.000 K
u
0.000 0.000 0.000 0.000 k
0.0000 w
1 j
175.8669 426.8486 m
312.5591 426.8486 L
312.5591 453.2047 L
175.8669 453.2047 L
175.8669 426.8486 L
B
U
0 To
1.0000 0.0000 0.0000 1.0000 181.8569 444.0998 0 Tp
TP
/_Helvetica 8.0000 Tf
0.0000 Tc
0 Tr
0.0000 w
0 j
0.000 0.000 0.000 1.000 k
(\(rxResp,respId,respMethod\)=\r) Tx
TO
0.000 0.000 0.000 1.000 K
0 To
1.0000 0.0000 0.0000 1.0000 181.8569 434.6356 0 Tp
TP
/_Helvetica 8.0000 Tf
0.0000 Tc
0 Tr
0.000 0.000 0.000 1.000 k
( parseEapResp\(aaaEapRespData\)\r) Tx
TO
0.000 0.000 0.000 1.000 K
%%PageTrailer
gsave annotatepage grestore showpage
%%Trailer
Adobe_Illustrator_AI5 /terminate get exec
Adobe_pattern_AI5 /terminate get exec
Adobe_blend_AI5 /terminate get exec
Adobe_ColorImage_AI6 /terminate get exec
Adobe_typography_AI5 /terminate get exec
Adobe_screens_AI5 /terminate get exec
Adobe_level2_AI5 /terminate get exec
%%EOF
%%EndDocument
@endspecial 915 4810 a(Figure)g(5:)26 b(EAP)20 b(Back)o(end)g
(Authenticator)e(State)j(Machine)125 5160 y Fb(\017)41
b Fg(aaaSuccess)20 b(\(boolean\))208 5293 y(Set)27 b(to)g(TR)m(UE)g(in)
g(authenticator)d(state)k(machine,)f(F)-6 b(ALSE)27 b(in)g(lo)n(wer)f
(layer)-5 b(.)44 b(Indicates)26 b(the)h(state)h(machine)d(has)208
5392 y(reached)18 b(the)j(SUCCESS)g(state.)0 5656 y(V)-11
b(ollbrecht,)19 b(et)i(al.)965 b(Expires)19 b(March)h(18,)f(2004)964
b([P)o(age)19 b(22])p eop
%%Page: 23 23
23 22 bop 0 100 a Fg(INTERNET)-8 b(-DRAFT)862 b(EAP)21
b(State)f(Machine)841 b(September)19 b(2003)125 390 y
Fb(\017)41 b Fg(aaaF)o(ail)20 b(\(boolean\))208 523 y(Set)27
b(to)g(TR)m(UE)g(in)g(authenticator)d(state)k(machine,)f(F)-6
b(ALSE)27 b(in)g(lo)n(wer)f(layer)-5 b(.)44 b(Indicates)26
b(the)h(state)h(machine)d(has)208 623 y(reached)18 b(the)j(F)-6
b(AILURE)20 b(state.)125 789 y Fb(\017)41 b Fg(aaaEapReqData)18
b(\(EAP)j(pack)o(et\))208 922 y(Set)f(in)g(authenticator)e(state)i
(machine)f(when)g(aaaEapReq,)g(aaaSuccess,)g(or)h(aaaF)o(ail)g(is)g
(set)h(to)f(TR)m(UE.)f(The)h(actual)208 1021 y(EAP)g(request)g(to)g(be)
g(sent)h(\(or)e(success/f)o(ailure\).)125 1187 y Fb(\017)41
b Fg(aaaEapK)n(e)o(yData)18 b(\(EAP)i(K)n(e)o(y\))208
1320 y(Set)15 b(in)h(authenticator)d(state)j(machine)e(when)h(k)o(e)o
(ying)e(material)i(becomes)f(a)n(v)n(ailable.)23 b(Set)16
b(during)e(the)h(METHOD)p 3527 1320 25 4 v 29 w(RESPONSE)208
1420 y(state.)25 b(Note)20 b(that)g(this)g(document)e(does)h(not)h(yet)
g(de\002ne)f(the)h(structure)e(of)i(the)g(type)f(\224EAP)h(K)n(e)o
(y\224.)k(W)-7 b(e)21 b(e)o(xpect)e(it)h(to)208 1519
y(be)g(de\002ned)f(in)h([I-D.aboba-pppe)o(xt-k)o(e)n(y-p)o(ro)o(blem)o
(].)125 1685 y Fb(\017)41 b Fg(aaaEapK)n(e)o(yA)-6 b(v)n(ailable)17
b(\(boolean\))208 1818 y(Set)j(to)g(TR)m(UE)h(in)f(the)g(SUCCESS)h
(state)g(if)f(k)o(e)o(ying)f(material)h(is)h(a)n(v)n(ailable.)j(The)c
(actual)g(k)o(e)o(y)f(is)i(stored)e(in)i(aaaEap-)208
1918 y(K)n(e)o(yData.)125 2084 y Fb(\017)41 b Fg(aaaMethodT)m(imeout)17
b(\(inte)o(ger\))208 2217 y(Method-pro)o(vided)e(hint)20
b(for)g(suitable)g(retransmission)f(timeout,)g(or)h(NONE.)0
2554 y Ff(6.2)99 b(Interface)26 b(between)h(back)o(end)g(authenticator)
f(state)f(machine)h(and)f(methods)0 2809 y Fg(The)17
b(back)o(end)g(method)f(interf)o(ace)h(is)i(almost)e(the)h(same)g(as)h
(in)e(standalone)g(authenticator)f(described)g(in)i(Section)f(5.2.)24
b(The)0 2909 y(only)c(dif)n(ference)e(is)k(that)f(some)f(methods)g(on)g
(the)h(back)o(end)e(may)h(support)f(\224picking)h(up\224)g(a)h(con)m(v)
o(ersation)d(started)i(by)h(the)0 3009 y(passthrough.)h(That)e(is,)g
(the)f(EAP)h(Request)g(pack)o(et)f(w)o(as)h(sent)g(by)f(the)g
(passthrough,)e(b)n(ut)j(the)f(back)o(end)f(must)i(process)f(the)0
3108 y(corresponding)e(EAP)j(Response.)25 b(Usually)20
b(only)f(the)i(Identity)e(method)f(supports)i(this,)g(b)n(ut)g(others)g
(are)g(possible.)0 3307 y(When)32 b(\224picking)e(up\224)h(a)i(con)m(v)
o(ersation,)f(m.initPickUp\(\))d(is)k(called)f(instead)g(of)f
(m.init\(\).)59 b(Ne)o(xt,)34 b(m.process\(\))d(must)0
3407 y(e)o(xamine)23 b(eapRespData)i(and)f(update)f(its)j(o)n(wn)e
(method-speci\002c)f(state)i(to)g(match)f(what)h(it)h(w)o(ould)e(ha)n
(v)o(e)g(been)g(if)h(it)g(had)0 3507 y(actually)18 b(sent)h(the)g
(corresponding)c(request.)24 b(\(Ob)o(viously)-5 b(,)16
b(this)k(only)e(w)o(orks)g(for)g(methods)g(that)h(can)f(determine)g
(what)h(the)0 3606 y(initial)i(request)e(contained;)g(Identity)g(and)g
(EAP-TLS)h(are)g(good)f(e)o(xamples.\))0 3806 y(After)h(this,)g(the)h
(processing)d(continues)h(as)i(described)e(in)i(Section)e(5.2)0
4143 y Ff(6.3)99 b(Back)o(end)27 b(authenticator)f(state)f(machine)h
(local)e(v)o(ariables)0 4398 y Fg(F)o(or)c(de\002nitions)f(of)h(the)g
(v)n(ariables)g(used)g(in)g(the)g(Back)o(end)g(Authenticator)m(,)d(see)
k(Section)f(5.3.)0 4735 y Ff(6.4)99 b(EAP)25 b(back)o(end)i
(authenticator)g(pr)n(ocedur)n(es)0 4991 y Fg(Most)i(of)g(the)g
(procedures)e(of)i(the)g(back)o(end)e(authenticator)g(ha)n(v)o(e)h
(already)g(been)h(de\002ned)f(in)h(Section)f(5.4.)51
b(This)29 b(sec-)0 5090 y(tion)24 b(contains)f(de\002nitions)g(for)g
(those)h(not)g(e)o(xistent)f(in)i(the)f(standalone)e(v)o(ersion,)i(as)g
(well)h(as)f(those)g(which)g(are)g(de\002ned)0 5190 y(dif)n(ferently)-5
b(.)0 5656 y(V)-11 b(ollbrecht,)19 b(et)i(al.)965 b(Expires)19
b(March)h(18,)f(2004)964 b([P)o(age)19 b(23])p eop
%%Page: 24 24
24 23 bop 0 100 a Fg(INTERNET)-8 b(-DRAFT)862 b(EAP)21
b(State)f(Machine)841 b(September)19 b(2003)125 390 y
Fb(\017)41 b Fg(Polic)o(y)-5 b(.doPickUp\(\))208 523
y(Notify)19 b(the)h(polic)o(y)f(that)i(an)f(already-chosen)d(method)i
(is)i(being)e(pick)o(ed)g(up)h(and)g(will)h(be)f(completed.)125
689 y Fb(\017)41 b Fg(m.initPickUp\(\))208 822 y(Method)19
b(procedure)e(to)k(initialize)f(state)h(when)e(continuing)f(from)i(an)g
(already-started)e(method.)0 1159 y Ff(6.5)99 b(EAP)25
b(back)o(end)i(authenticator)g(states)0 1414 y Fg(Most)17
b(of)f(the)g(states)i(of)e(the)h(back)o(end)e(authenticator)f(ha)n(v)o
(e)i(already)f(been)h(de\002ned)g(in)g(Section)g(5.5.)23
b(This)17 b(section)f(contains)0 1514 y(de\002nitions)j(for)h(those)g
(not)g(e)o(xistent)g(in)g(the)g(standalone)f(v)o(ersion,)g(as)i(well)f
(as)h(those)f(which)g(are)g(de\002ned)f(dif)n(ferently)-5
b(.)125 1796 y Fb(\017)41 b Fg(PICK)p 402 1796 25 4 v
30 w(UP)p 538 1796 V 30 w(METHOD)208 1929 y(Set)20 b(an)h(initial)f
(state)h(for)f(a)g(method)f(that)h(is)h(being)f(continued)e(and)h(w)o
(as)i(started)g(else)n(where.)0 2309 y Fe(7)119 b(EAP)30
b(Full)h(A)-6 b(uthenticator)0 2594 y Fg(The)19 b(follo)n(wing)f(tw)o
(o)h(diagrams)g(sho)n(w)g(the)g(state)h(machine)e(for)h(a)h(complete)e
(authenticator)-5 b(.)23 b(The)c(\002rst)h(diagram)e(is)i(identi-)0
2694 y(cal)h(to)g(the)f(Standalone)g(State)h(Machine,)e(sho)n(wn)h(in)h
(Figure)f(4,)h(with)f(the)h(e)o(xception)e(that)h(the)h(SELECT)p
3092 2694 V 29 w(A)m(CTION)g(state)0 2793 y(has)d(an)g(added)f
(transition)g(to)h(P)-8 b(ASSTHR)m(OUGH.)18 b(The)g(second)f(diagram)f
(also)i(k)o(eeps)g(most)g(of)g(the)f(logic)h(e)o(xcept)f(the)h(four)0
2893 y(method)h(states,)i(and)e(sho)n(ws)i(ho)n(w)e(the)i(state)f
(machine)f(w)o(orks)h(once)g(it)h(goes)f(to)g(P)o(assthrough)e(Mode.)0
3092 y(The)30 b(\002rst)i(diagram)d(is)i(lar)o(gely)e(a)i(reproduction)
d(of)i(that)h(found)d(abo)o(v)o(e,)k(with)e(the)h(added)e(hooks)h(for)g
(a)h(transition)e(to)0 3192 y(P)-8 b(ASSTHR)m(OUGH)21
b(mode.)0 3391 y(\(see)f(draft-ietf-eap-statemachine-00.p)o(s)15
b(for)20 b(missing)g(diagram)f(if)h(reading)f([.txt])h(v)o(ersion\))0
3590 y(The)c(second)f(diagram)g(describes)h(the)g(functionality)e
(necessary)h(for)h(an)g(authenticator)e(operating)g(in)j(passthrough)d
(mode.)0 3690 y(This)20 b(section)g(of)g(the)g(diagram)f(is)i(the)g
(counterpart)c(of)j(the)h(back)o(end)d(diagram)h(abo)o(v)o(e.)0
3889 y(\(see)h(draft-ietf-eap-statemachine-00.p)o(s)15
b(for)20 b(missing)g(diagram)f(if)h(reading)f([.txt])h(v)o(ersion\))0
4227 y Ff(7.1)99 b(Interface)26 b(between)h(full)e(authenticator)h
(state)f(machine)h(and)f(lo)o(wer)g(lay)o(ers)0 4482
y Fg(The)e(full)g(authenticator)e(is)j(unique)e(in)h(that)g(it)h
(interf)o(aces)e(to)i(multiple)e(lo)n(wer)h(layers)g(in)g(order)f(to)h
(support)f(passthrough)0 4582 y(mode.)j(The)20 b(interf)o(ace)f(to)i
(the)f(primary)f(EAP)i(transport)e(layer)h(is)h(the)g(same)f(as)i
(described)d(in)h(Section)g(5.)26 b(The)20 b(follo)n(wing)0
4681 y(describes)k(the)g(interf)o(ace)g(to)g(the)h(second)e(lo)n(wer)h
(layer)m(,)h(which)f(represents)f(an)h(interf)o(ace)g(to)h(AAA.)f(It)h
(should)e(be)i(noted)0 4781 y(that)e(there)f(is)i(not)e(necessarily)g
(a)h(direct)f(interaction)g(between)g(the)g(EAP)h(layer)g(and)f(the)g
(AAA)i(layer)m(,)e(as)h(in)g(the)g(case)g(of)0 4880 y
([IEEE.802-1aa.2003)o(].)0 5201 y Fd(7.1.1)81 b(V)-8
b(ariables)20 b(\(AAA)h(interface)e(to)h(full)h(authenticator\))125
5400 y Fb(\017)41 b Fg(aaaEapReq)19 b(\(boolean\))0 5656
y(V)-11 b(ollbrecht,)19 b(et)i(al.)965 b(Expires)19 b(March)h(18,)f
(2004)964 b([P)o(age)19 b(24])p eop
%%Page: 25 25
25 24 bop 0 100 a Fg(INTERNET)-8 b(-DRAFT)862 b(EAP)21
b(State)f(Machine)841 b(September)19 b(2003)18 3253 y
@beginspecial 0 @llx 0 @lly 697 @urx 576 @ury 4276 @rwi
@setspecial
%%BeginDocument: ../../../diagrams/20030912_passthrough_authenticator1.eps
%!PS-Adobe-3.0 EPSF-3.0
%%Creator: ImageMark Software Labs
%%For: () ()
%%Title: C:\USERS\IETF\EAP\State machines\AuthenticatorSplit\20030912_passthrough_authenticator1.eps
%%CreationDate: () ()
%%BoundingBox: 0 0 697 576
%%DocumentProcessColors: Black
%%ColorUsage:Color
%%DocumentFonts: Helvetica
%%+Helvetica-Bold
%%+Helvetica-Oblique
%%+Helvetica-BoldOblique
%%+Times-Roman
%%+Times-Bold
%%+Times-Italic
%%+Times-BoldItalic
%%+Courier
%%+Courier-Bold
%%+Courier-Oblique
%%+Courier-BoldOblique
%%+Symbol
%%DocumentSuppliedResources: procset Adobe_level2_AI5 1.2 0
%%+ procset Adobe_screens_AI5 1.0 0
%%+ procset Adobe_typography_AI5 1.0 0
%%+ procset Adobe_ColorImage_AI6 1.1 0
%%+ procset Adobe_blend_AI5 1.0 0
%%+ procset Adobe_pattern_AI5 1.0 0
%%+ procset Adobe_Illustrator_AI5 1.0 0
%AI5_FileFormat 3.0
%AI3_ColorUsage: Color
%AI3_TemplateBox: 0 0 697 576
%AI3_TileBox: 0 0 697 576
%AI3_DocumentPreview: None
%%Template:
%%PageOrigin:0.0000 0.0000
%AI7_GridSettings: 72 8 72 8 1 0 0.8 0.8 0.8 0.9 0.9 0.9
%%EndComments
%%BeginProlog
%%BeginResource: procset Adobe_level2_AI5 1.2 0
%%Title: (Adobe Illustrator (R) Version 5.0 Level 2 Emulation)
%%Version: 1.2 0
%%CreationDate: (04/10/93) ()
%%Copyright: ((C) 1987-1996 Adobe Systems Incorporated All Rights Reserved)
userdict /Adobe_level2_AI5 25 dict dup begin
put
/packedarray where not
{
userdict begin
/packedarray
{
array astore readonly
} bind def
/setpacking /pop load def
/currentpacking false def
end
0
} if
pop
userdict /defaultpacking currentpacking put true setpacking
/initialize
{
Adobe_level2_AI5 begin
} bind def
/terminate
{
currentdict Adobe_level2_AI5 eq
{
end
} if
} bind def
mark
/setcustomcolor where not
{
/findcmykcustomcolor
{
0
6 packedarray
} bind def
/findrgbcustomcolor
{
1
5 packedarray
} bind def
/setcustomcolor
{
exch
aload pop
0 eq
{
pop
4
{
4 index mul
4 1 roll
} repeat
5 -1 roll pop
setcmykcolor
}
{
pop
3
{
1 exch sub
3 index mul
1 exch sub
3 1 roll
} repeat
4 -1 roll pop
setrgbcolor
} ifelse
}
def
} if
/gt38? mark {version cvr cvx exec} stopped {cleartomark true} {38 gt exch pop} ifelse def
userdict /deviceDPI 72 0 matrix defaultmatrix dtransform dup mul exch dup mul add sqrt put
userdict /level2?
systemdict /languagelevel known dup
{
pop systemdict /languagelevel get 2 ge
} if
put
/level2ScreenFreq
{
begin
60
HalftoneType 1 eq
{
pop Frequency
} if
HalftoneType 2 eq
{
pop GrayFrequency
} if
HalftoneType 5 eq
{
pop Default level2ScreenFreq
} if
end
} bind def
userdict /currentScreenFreq
level2? {currenthalftone level2ScreenFreq} {currentscreen pop pop} ifelse put
level2? not
{
/setcmykcolor where not
{
/setcmykcolor
{
exch .11 mul add exch .59 mul add exch .3 mul add
1 exch sub setgray
} def
} if
/currentcmykcolor where not
{
/currentcmykcolor
{
0 0 0 1 currentgray sub
} def
} if
/setoverprint where not
{
/setoverprint /pop load def
} if
/selectfont where not
{
/selectfont
{
exch findfont exch
dup type /arraytype eq
{
makefont
}
{
scalefont
} ifelse
setfont
} bind def
} if
/cshow where not
{
/cshow
{
[
0 0 5 -1 roll aload pop
] cvx bind forall
} bind def
} if
} if
cleartomark
/anyColor?
{
add add add 0 ne
} bind def
/testColor
{
gsave
setcmykcolor currentcmykcolor
grestore
} bind def
/testCMYKColorThrough
{
testColor anyColor?
} bind def
userdict /composite?
level2?
{
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
composite? not
{
userdict begin
gsave
/cyan? 1 0 0 0 testCMYKColorThrough def
/magenta? 0 1 0 0 testCMYKColorThrough def
/yellow? 0 0 1 0 testCMYKColorThrough def
/black? 0 0 0 1 testCMYKColorThrough def
grestore
/isCMYKSep? cyan? magenta? yellow? black? or or or def
/customColor? isCMYKSep? not def
end
} if
end defaultpacking setpacking
%%EndResource
%%BeginResource: procset Adobe_typography_AI5 1.0 1
%%Title: (Typography Operators)
%%Version: 1.0
%%CreationDate:(03/26/93) ()
%%Copyright: ((C) 1987-1993 Adobe Systems Incorporated All Rights Reserved)
currentpacking true setpacking
userdict /Adobe_typography_AI5 54 dict dup begin
put
/initialize
{
begin
begin
Adobe_typography_AI5 begin
Adobe_typography_AI5
{
dup xcheck
{
bind
} if
pop pop
} forall
end
end
end
Adobe_typography_AI5 begin
} def
/terminate
{
currentdict Adobe_typography_AI5 eq
{
end
} if
} def
/modifyEncoding
{
/_tempEncode exch ddef
/_pntr 0 ddef
{
counttomark -1 roll
dup type dup /marktype eq
{
pop pop exit
}
{
/nametype eq
{
_tempEncode /_pntr dup load dup 3 1 roll 1 add ddef 3 -1 roll
put
}
{
/_pntr exch ddef
} ifelse
} ifelse
} loop
_tempEncode
} def
/TE
{
StandardEncoding 256 array copy modifyEncoding
/_nativeEncoding exch def
} def
%
/TZ
{
dup type /arraytype eq
{
/_wv exch def
}
{
/_wv 0 def
} ifelse
/_useNativeEncoding exch def
pop pop
findfont _wv type /arraytype eq
{
_wv makeblendedfont
} if
dup length 2 add dict
begin
mark exch
{
1 index /FID ne
{
def
} if
cleartomark mark
} forall
pop
/FontName exch def
counttomark 0 eq
{
1 _useNativeEncoding eq
{
/Encoding _nativeEncoding def
} if
cleartomark
}
{
/Encoding load 256 array copy
modifyEncoding /Encoding exch def
} ifelse
FontName currentdict
end
definefont pop
} def
/tr
{
_ax _ay 3 2 roll
} def
/trj
{
_cx _cy _sp _ax _ay 6 5 roll
} def
/a0
{
/Tx
{
dup
currentpoint 3 2 roll
tr _psf
newpath moveto
tr _ctm _pss
} ddef
/Tj
{
dup
currentpoint 3 2 roll
trj _pjsf
newpath moveto
trj _ctm _pjss
} ddef
} def
/a1
{
/Tx
{
dup currentpoint 4 2 roll gsave
dup currentpoint 3 2 roll
tr _psf
newpath moveto
tr _ctm _pss
grestore 3 1 roll moveto tr sp
} ddef
/Tj
{
dup currentpoint 4 2 roll gsave
dup currentpoint 3 2 roll
trj _pjsf
newpath moveto
trj _ctm _pjss
grestore 3 1 roll moveto tr jsp
} ddef
} def
/e0
{
/Tx
{
tr _psf
} ddef
/Tj
{
trj _pjsf
} ddef
} def
/e1
{
/Tx
{
dup currentpoint 4 2 roll gsave
tr _psf
grestore 3 1 roll moveto tr sp
} ddef
/Tj
{
dup currentpoint 4 2 roll gsave
trj _pjsf
grestore 3 1 roll moveto tr jsp
} ddef
} def
/i0
{
/Tx
{
tr sp
} ddef
/Tj
{
trj jsp
} ddef
} def
/i1
{
W N
} def
/o0
{
/Tx
{
tr sw rmoveto
} ddef
/Tj
{
trj swj rmoveto
} ddef
} def
/r0
{
/Tx
{
tr _ctm _pss
} ddef
/Tj
{
trj _ctm _pjss
} ddef
} def
/r1
{
/Tx
{
dup currentpoint 4 2 roll currentpoint gsave newpath moveto
tr _ctm _pss
grestore 3 1 roll moveto tr sp
} ddef
/Tj
{
dup currentpoint 4 2 roll currentpoint gsave newpath moveto
trj _ctm _pjss
grestore 3 1 roll moveto tr jsp
} ddef
} def
/To
{
pop _ctm currentmatrix pop
} def
/TO
{
iTe _ctm setmatrix newpath
} def
/Tp
{
pop _tm astore pop _ctm setmatrix
_tDict begin
/W
{
} def
/h
{
} def
} def
/TP
{
end
iTm 0 0 moveto
} def
/Tr
{
_render 3 le
{
currentpoint newpath moveto
} if
dup 8 eq
{
pop 0
}
{
dup 9 eq
{
pop 1
} if
} ifelse
dup /_render exch ddef
_renderStart exch get load exec
} def
/iTm
{
_ctm setmatrix _tm concat 0 _rise translate _hs 1 scale
} def
/Tm
{
_tm astore pop iTm 0 0 moveto
} def
/Td
{
_mtx translate _tm _tm concatmatrix pop iTm 0 0 moveto
} def
/iTe
{
_render -1 eq
{
}
{
_renderEnd _render get dup null ne
{
load exec
}
{
pop
} ifelse
} ifelse
/_render -1 ddef
} def
/Ta
{
pop
} def
/Tf
{
dup 1000 div /_fScl exch ddef
%
selectfont
} def
/Tl
{
pop
0 exch _leading astore pop
} def
/Tt
{
pop
} def
/TW
{
3 npop
} def
/Tw
{
/_cx exch ddef
} def
/TC
{
3 npop
} def
/Tc
{
/_ax exch ddef
} def
/Ts
{
/_rise exch ddef
currentpoint
iTm
moveto
} def
/Ti
{
3 npop
} def
/Tz
{
100 div /_hs exch ddef
iTm
} def
/TA
{
pop
} def
/Tq
{
pop
} def
/Th
{
pop pop pop pop pop
} def
/TX
{
pop
} def
/Tk
{
exch pop _fScl mul neg 0 rmoveto
} def
/TK
{
2 npop
} def
/T*
{
_leading aload pop neg Td
} def
/T*-
{
_leading aload pop Td
} def
/T-
{
_hyphen Tx
} def
/T+
{
} def
/TR
{
_ctm currentmatrix pop
_tm astore pop
iTm 0 0 moveto
} def
/TS
{
currentfont 3 1 roll
/_Symbol_ _fScl 1000 mul selectfont
0 eq
{
Tx
}
{
Tj
} ifelse
setfont
} def
/Xb
{
pop pop
} def
/Tb /Xb load def
/Xe
{
pop pop pop pop
} def
/Te /Xe load def
/XB
{
} def
/TB /XB load def
currentdict readonly pop
end
setpacking
%%EndResource
%%BeginResource: procset Adobe_screens_AI5 1.2 0
%%Title: (Adobe Illustrator (R) Version 5.0 Custom Halftone Screens ProcSet)
%%Version: 1.2 0
%%CreationDate: (03/24/93) ()
%%Copyright: ((C) 1987-1996 Adobe Systems Incorporated All Rights Reserved)
userdict /defaultpacking currentpacking put true setpacking
systemdict begin
userdict /Adobe_screens_AI5 15 dict dup begin
put
/initialize
{
Adobe_screens_AI5 begin
/screenid
deviceDPI 600 gt composite? not or
{
-1
}
{
deviceDPI currentScreenFreq
dup dup 60 ge exch 150 le and deviceDPI 300 le and
{
pop 60
} if
div 1.41421 div 0.5 add cvi
} ifelse
def
2 screenid eq
{
/customsize 16 def
/customdata /customdata2 def
setcustomscreen
} if
3 screenid eq
{
/customsize 24 def
/customdata /customdata3 def
setcustomscreen
} if
4 screenid eq
{
/customsize 16 def
/customdata /customdata4 def
setcustomscreen
} if
5 screenid eq
{
/customsize 20 def
/customdata /customdata5 def
setcustomscreen
} if
6 screenid eq
{
/customsize 24 def
/customdata /customdata6 def
setcustomscreen
} if
7 screenid eq
{
/customsize 28 def
/customdata /customdata7 def
setcustomscreen
} if
8 screenid eq
{
/customsize 16 def
/customdata /customdata8 def
setcustomscreen
} if
} def
/terminate
{
currentdict Adobe_screens_AI5 eq
{
end
} if
} def
/setcustomscreen
{
deviceDPI customsize div 0
{
1 add 2 div customsize mul cvi exch
1 add 2 div customsize mul cvi exch
customsize mul add
customdata load exch get 256 div
} setscreen
} def
/customdata2 28 28 mul string def
currentfile customdata2 readhexstring
4180E8694988E2634382EA6B4B8AE061A01939C8A81737C2A21B3BCAAA1636C0
F8795998F6775796FA7B5B9AF57656952ED8B80727D6B60F2FDABA0626D5B50E
4E8DE6674786EE6F4F8EE5664685ED6EAD1434C6A61F3FCEAE1232C5A51E3ECD
F3745493FE7F5F9EF1725291FD7E5E9D24D3B30C2CDEBE0222D1B10A2ADDBD04
4483EB6C4C8BE1624281E96A4A89E364A31C3CCBAB1535C1A11A3AC9A91838C3
FB7C5C9BF4755594F97A5A99F778589730DBBB0525D4B40D2DD9B90828D7B710
508FE4654584EC6D4D8CE7684887EF70AF1131C4A41D3DCCAC1333C7A72040CF
F0715190FC7D5D9CF2735392FF80609F21D0B00929DCBC0323D2B20B2BDFBF01
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000
pop pop
/customdata3 28 28 mul string def
currentfile customdata3 readhexstring
011DC7F5E73D0421CBF3E43A021EC8F6E83E0522CCF2E43A2B648BC4A0762F68
8AC39E732C658CC5A177306989C29D72D5B6521A6192D9B55219608FD6B6531B
6193DAB451185F8FFCEE440C28D2FCED430B27D1FDEF450C29D3FBEC420A26D0
BEA77D366F83BCA77C356E87BFA87E377082BBA67B346D86145B99E0AE4A1259
98DFB14E155C9AE1AD4A115897DEB04D0623CDF4E63C0420CAF8EA400723CDF4
E53B031FC9F7E93F316988C19F752E678EC6A378326A88C09F742D668DC6A278
DBB350175E91D8B8551C6395DCB24F165D90D7B7541C6294FAEC420925CFFFF1
470E2BD5F9EB410824CEFEF0460D2AD4BAA57A336C85BEAA80397180B9A47933
6B84BDA97F387181105797DDAF4C145A9CE3AB480F5696DDAE4B13599BE2AC49
021EC8F6E83E0522CCF2E43A011DC7F5E73D0421CBF3E43A2C658CC5A1773069
89C29D722B648BC4A0762F688AC39E73D6B6531B6193DAB451185F8FD5B6521A
6192D9B55219608FFDEF450C29D3FBEC420A26D0FCEE440C28D2FCED430B27D1
BFA87E377082BBA67B346D86BEA77D366F83BCA77C356E87155C9AE1AD4A1158
97DEB04D145B99E0AE4A125998DFB14E0723CDF4E53B031FC9F7E93F0623CDF4
E63C0420CAF8EA40326A88C09F742D668DC6A278316988C19F752E678EC6A378
DCB24F165D90D7B7541C6294DBB350175E91D8B8551C6395F9EB410824CEFEF0
460D2AD4FAEC420925CFFFF1470E2BD5B9A479336B84BDA97F387181BAA57A33
6C85BEAA803971800F5696DDAE4B13599BE2AC49105797DDAF4C145A9CE3AB48
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000
pop pop
/customdata4 28 28 mul string def
currentfile customdata4 readhexstring
1139B8E0FAD2531B133BBAE2F8D05119417180A6AE9A7B4B437382A5AD987949
C08867272F6F92CAC28A66262E6E90C8E8DE5F070F37B6F2EADD5E060E36B5F0
FED6571F173FBEE6FDD5561E163EBDE5AB9E7F4F477786A1A99D7E4E467685A3
2C6C96CEC68E62222A6A95CDC58D64240C34B3F6EED95A020A32B1F5EDDB5C04
143CBBE3F9D1521A123AB9E1FBD3541C447483A4AC997A4A427281A7AF9B7C4C
C38B65252D6D91C9C1896828307093CBEBDC5D050D35B4F1E9DF60081038B7F3
FCD4551D153DBCE4FFD758201840BFE7A89C7D4D457584A2AA9F8050487887A0
296994CCC48C63232B6B97CFC78F61210931B0F4ECDA5B030B33B2F7EFD85901
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000
pop pop
/customdata5 28 28 mul string def
currentfile customdata5 readhexstring
010B34C3EBFCF7CE3F16020C35C4EDFBF6CD3E15102552A4D6EADDB5632B1126
54A5D5EADCB3622A3958768499C19E8C7C5E3A59778498C19D8B7B5DC8A99370
47334C7587AFC9AA936F46324B7485AEF1E5BC6B1E0A2351A3D8F2E4BC6A1E09
2351A2D7FFF9D14219050F38C6EFFEF9D04118040E37C6EFE8E0B7662D142856
A8D3E7DFB7652D132856A7D4BF9C8E7F603D5B7A8195BE9A8E7E603C5B798297
314A7389B2CCAD906D442F497289B1CBAC926E4508214FA1DBF4E2B9671B0720
4EA0DAF4E3BA691C030D36C5EDFBF6CD3F16010C34C3ECFDF8CF4017122654A6
D4E9DDB4622A112553A5D6EBDEB5642C3B59788397C09C8B7C5D3A58778599C2
9E8C7D5FCAAB926E46314B7486AFC8AA947048334D7587B0F2E4BB691D082250
A1D8F1E6BD6B1F0A2452A3D9FDF8CF4118030E36C5EEFFFAD1421A050F38C7F0
E6DFB6642C132755A7D3E8E1B8662E152957A8D2BE9A8D7E5F3B5A798296BF9B
8F80613D5C7B80952F487188B1CAAC916D443049728AB3CCAE906C43061F4D9F
DAF3E2BA681C07214FA0DBF5E1B8671A00000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000
pop pop
/customdata6 28 28 mul string def
currentfile customdata6 readhexstring
081A44B6E0F2FDECC150250C091B45B6E1F3FCEBC04F240C1D336199C7D8DCD3
A56C37221E33619AC8D7DBD2A46B36214864798091AEB1958C7E694C49657A81
90ADB0948B7D684BB99D8475593C405C7888A1BEBA9E8574583B3F5B7888A0BD
E4CBAA712E1215326098CFE8E4CCA9712D1114315F97CEE7F5F1C6552B040719
43B5DFFAF6F0C6542A03061842B4DEF9FFEDC352270E0B1C47B8E3F4FEECC251
260D0A1C46B7E2F4DAD5A76E39232035639CCAD5D9D4A66D38231F34629BC9D6
AF938E806A4E4A677C838FABAE928D7F694D4A667B828FAC3E5A778AA3BFBC9F
8772563A3D597689A2BEBB9F8673573A14305E97D1EAE6CDA76F2B0F132F5D96
D0E9E5CDA8702C10051742B3DDFCF8EEC4522801041641B2DDFBF7EFC5532902
091B45B6E1F3FCEBC04F240C081A44B6E0F2FDECC150250C1E33619AC8D7DBD2
A46B36211D336199C7D8DCD3A56C372249657A8190ADB0948B7D684B48647980
91AEB1958C7E694CBA9E8574583B3F5B7888A0BDB99D8475593C405C7888A1BE
E4CCA9712D1114315F97CEE7E4CBAA712E1215326098CFE8F6F0C6542A030618
42B4DEF9F5F1C6552B04071943B5DFFAFEECC251260D0A1C46B7E2F4FFEDC352
270E0B1C47B8E3F4D9D4A66D38231F34629BC9D6DAD5A76E39232035639CCAD5
AE928D7F694D4A667B828FACAF938E806A4E4A677C838FAB3D597689A2BEBB9F
8673573A3E5A778AA3BFBC9F8772563A132F5D96D0E9E5CDA8702C1014305E97
D1EAE6CDA76F2B0F041641B2DDFBF7EFC5532902051742B3DDFCF8EEC4522801
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000
pop pop
/customdata7 28 28 mul string def
currentfile customdata7 readhexstring
01061B44B7E1F5FEFBE6BD4A210C01071B45B8E1F6FDFBE6BC4A200B09132A54
A7D1EAF5EED9B05D331609142B55A8D2EAF4EED9AF5C32161D2D3D6993C1CBE0
CEC59B7140301E2E3D6A93C0CADFCDC49A713F3047576C7B828DA2B6A48F867E
6F5A48576C7C828CA1B6A38F867E6E59BAAA958A78634E4451667A8498ADBAAB
968977624E4350657A8398ADE3D4C99F7539251A273C6892C2D7E4D4C89E7539
241A273B6891C1D6F8F2DDB460371005122A53A7D0ECF9F2DDB360360F051229
53A6D0EBFFFDE8BE4C220D03081D46B9E3F7FFFCE7BD4B210D02071C46B8E2F7
F3F0DBB15E34180B152C56A9D3E8F3EFDAB05D34170A142C55A9D2E9DFCCC69C
7341321F2F3F6B94BFC9DECCC59C7241311F2E3E6A94BFCAB5A38E8780705B49
596D7D808BA0B4A28D877F6F5B48586D7C818BA043506479859AAFBCAC978876
614C424F64798499AEBBAB968977624D19263B6791C3D8E5D6C79D7337231825
3A6690C3D7E5D5C79E74382304112952A5CFEDFAF0DBB25E350E03102851A5CE
ECF9F1DCB25F360E01071B45B8E1F6FDFBE6BC4A200B01061B44B7E1F5FEFBE6
BD4A210C09142B55A8D2EAF4EED9AF5C321609132A54A7D1EAF5EED9B05D3316
1E2E3D6A93C0CADFCDC49A713F301D2D3D6993C1CBE0CEC59B71403048576C7C
828CA1B6A38F867E6E5947576C7B828DA2B6A48F867E6F5ABAAB968977624E43
50657A8398ADBAAA958A78634E4451667A8498ADE4D4C89E7539241A273B6891
C1D6E3D4C99F7539251A273C6892C2D7F9F2DDB360360F05122953A6D0EBF8F2
DDB460371005122A53A7D0ECFFFCE7BD4B210D02071C46B8E2F7FFFDE8BE4C22
0D03081D46B9E3F7F3EFDAB05D34170A142C55A9D2E9F3F0DBB15E34180B152C
56A9D3E8DECCC59C7241311F2E3E6A94BFCADFCCC69C7341321F2F3F6B94BFC9
B4A28D877F6F5B48586D7C818BA0B5A38E8780705B49596D7D808BA0424F6479
8499AEBBAB968977624D43506479859AAFBCAC978876614C18253A6690C3D7E5
D5C79E74382319263B6791C3D8E5D6C79D73372303102851A5CEECF9F1DCB25F
360E04112952A5CFEDFAF0DBB25E350E
pop pop
/customdata8 28 28 mul string def
currentfile customdata8 readhexstring
050F2747B6D6EEF8FEF4DCBC4D2D1507111D375F9EC6E0E9EBE6CCA4653D1F13
2939556F8EA8C1D1D3C3AE9475573B2B4961717D808999B1B39B8B867F73634B
B8A090827A6A5A42445C6C7C8492A2BAD8C8AA97785232222434546E8DACCADA
F0E2CFA768401A0A0C1C365E9DC5E4F2FAF7DFBF50301802040E2646B5D5EDFC
FFF5DDBD4E2E160806102848B7D7EFF9EAE7CDA5663E2014121E38609FC7E1E8
D2C2AF9576583C2C2A3A56708FA9C0D0B29A8A878074644C4A62727E818898B0
435B6B7B8593A3BBB9A19183796959412333536D8CADCBDBD9C9AB9677513121
0B1B355D9CC4E5F3F1E3CEA6673F1909030D2545B4D4ECFDFBF6DEBE4F2F1701
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000
pop pop
end
end
defaultpacking setpacking
%%EndResource
%%BeginResource: procset AGM_Gradient_Sep 1.0 0
%%Title: (AGM Gradient Procset)
%%Version: 1.0 0
%%CreationDate: (4/26/96) ()
%%Copyright: ((C) 1987-1996 Adobe Systems Incorporated All Rights Reserved)
userdict /defaultpacking currentpacking put true setpacking
userdict /AGM_Gradient_Sep 5 dict dup begin put
/AGM_Gradient_Sep_private 100 dict def
/initialize{
AGM_Gradient_Sep begin
AGM_Gradient_Sep_private begin
_compositeJob{
initializeSinglePassSeps
}{
initializeMultiPassSeps
}ifelse
initializeSeps
AGM_Gradient_private begin
/_fillSD newSpotDict def
/_rampSD newSpotDict def
/_nCustomColorSD nd
end
AGM_Gradient_Sep_private
{
dup xcheck 1 index type /arraytype eq and
{
bind
}if
pop pop
}forall
AGM_Gradient_Sep
{
dup xcheck 1 index type /arraytype eq and
{
bind
}if
pop pop
}forall
end
currentdict readonly pop
end
}def
/terminate{
currentdict AGM_Gradient_Sep eq{
end
}if
}def
AGM_Gradient_Sep_private begin
/initializeSeps{
_noImage not _level2PS not and{
/_whiteBytes 1 makeByte8 pt
/knockOut{
8 setImageParms _whiteBytes /_image load 5 execImage
}def
/linealFill{
mySave
8 setImageParms
_color{
_nCustomColorSD begin
cyan magenta yellow black
_spotColor{
spot1 begin
/tintImage tintValue 1 exch sub makeByte8 def
end
spot2 begin
/tintImage tintValue 1 exch sub makeByte8 def
end
}if
end
4{
makeByte8 4 1 roll
}repeat
true 4 _nCustomColorSD ncolorimage
}{
_nCustomColorSD/black get 1 exch sub makeByte8
_nCustomColorSD bwImage
}ifelse
myRestore
}def
}{
/knockOut{
gsave
false setoverprint
1 setgray
0 0 1 1 rectfill
grestore
}def
}ifelse
/newSpotDict{
11 dict dup begin
/nSpots 2 def
/spot1 7 dict def
/spot2 7 dict def
end
}def
/initSpotData
{
begin
/name nd
/tintImage nd
/tintValue nd
/spot_C nd
/spot_M nd
/spot_Y nd
/spot_K nd
end
}def
/initSpotDict{
begin
/cyanInk false def
/magentaInk false def
/yellowInk false def
/blackInk false def
/cyan nd
/magenta nd
/yellow nd
/black nd
spot1 initSpotData
spot2 initSpotData
end
}def
/copySpotDict{
/_dst xp
begin
cyanInk magentaInk yellowInk blackInk
cyan magenta yellow black
spot1 spot2
end
_dst begin
/spot1 spot1 maxlength dict def
/spot2 spot2 maxlength dict def
spot2 copy pop
spot1 copy pop
/black xd
/yellow xd
/magenta xd
/cyan xd
/blackInk xd
/yellowInk xd
/magentaInk xd
/cyanInk xd
end
}def
/setCustomColor
{
1 index /Black eq{
6 1 roll 5 npop
1 exch sub
setgray
}{
6 1 roll _ccAry1 astore exch
dup null eq{
pop 0
}if
setcustomcolor
}ifelse
}def
/setCStop{
/_colorStyle exch pt
_colorStyle 0 eq{
0 0 0
4 -1 roll
1 exch sub
_spotColor{
/_colorStyle 3 pt
/Black
1 index
1 exch sub
}if
}if
_colorStyle 2 eq{
3 npop
}if
_rampSD _fillSD copySpotDict
_colorStyle 4 eq{
pop
9 2 roll 3 npop 6 -2 roll
} if
_colorStyle 3 eq _colorStyle 4 eq or{
_fillSD begin
exch
dup spot1/name get eq{
spot1 spot2
}{
spot2 spot1
}ifelse
begin
begin
/name xd
1 exch sub /tintValue xd
4{
tintValue mul 4 1 roll
}repeat
_spotColor not{
/tintValue null def
}if
end
/tintValue 0 def
end
end
}if
_fillSD nsetcustomcolor
}def
/renderCMYK{
spot1/name get null eq
spot2/name get null eq and
dup not{
pop
spot1 spotConverted
}if
dup not{
pop
spot2 spotConverted
}if
}def
/fill_ /fill load def
/fillOvp{
currentoverprint{
_inRipSep{
currentcolorspace 0 get
dup /DeviceGray eq
1 index /DeviceCMYK eq or{
pop
currentcmykcolor add add add 0 eq{
newpath
}if
}{
/Separation eq{
currentcolor 0 eq{
newpath
}if
}if
}ifelse
}{
currentgray 1 eq{
newpath
}if
}ifelse
}if
fill_
}def
/fill{
_nCustomColorSD begin
renderCMYK
{
fillOvp
}{
spot1 begin
gsave
name null ne{
spot_C spot_M spot_Y spot_K name tintValue setCustomColor
}{
1 setgray
}ifelse
fillOvp
grestore
end
spot2 begin
name null ne{
gsave
true setoverprint
spot_C spot_M spot_Y spot_K name tintValue setCustomColor
fillOvp
grestore
}if
end
newpath
}ifelse
end
}def
/expandSpot{
_spotColor{
/_len xp
_rampSD begin
spot1 begin
tintImage null ne{
tintImage _len expandOne /tintImage xd
}if
end
spot2 begin
tintImage null ne{
tintImage _len expandOne /tintImage xd
}if
end
end
}{
pop
}ifelse
}def
/rampImage{
_rampSD begin
_color{
/cyanInk _cyanData 0 ne def
/magentaInk _magentaData 0 ne def
/yellowInk _yellowData 0 ne def
/blackInk _blackData 0 ne def
_nSamples setImageParms
_nSamples expandSpot
_cyanData _magentaData _yellowData _blackData _nSamples 4 expandColor
true 4 _rampSD ncolorimage
}{
/cyanInk false def
/magentaInk false def
/yellowInk false def
/blackInk true def
_nSamples setImageParms
_blackData _rampSD bwImage
}ifelse
end
}def
/nsetcustomcolor where{
pop
}{
/nsetcustomcolor
{
/_nCustomColorSD xp
_nCustomColorSD begin
4 copy
/black xd
/yellow xd
/magenta xd
/cyan xd
4 copy
0 ne /blackInk xd
0 ne /yellowInk xd
0 ne /magentaInk xd
0 ne /cyanInk xd
end
setcmykcolor
}def
}ifelse
/nsetcustomcolorend where{
pop
}{
/nsetcustomcolorend
{
/_nCustomColorSD null pt
}def
}ifelse
}def
/initializeSinglePassSeps{
/_decodeNorm [0 1] pt
/_decodeInvert [1 0] pt
/spotConverted
{
begin
name null eq{
false
}{
tintValue null eq tintImage null eq and{
true
}{
false
currentpagedevice/SeparationOrder get{name eq or}forall
not
}ifelse
}ifelse
end
}def
/dictImage
{
20 dict dup begin
/Dict xd
/Decode xd
/DataSource xd
/ImageMatrix xd
/BitsPerComponent xd
/Height xd
/Width xd
/ImageType 1 def
Dict
end
/_image load 1 execImage
}def
/bwImage{
begin
gsave
currentoverprint{
blackInk{
[/Separation /Black /DeviceGray{}] setcolorspace
_decodeInvert dictImage
}{
5 npop
}ifelse
}{
/DeviceGray setcolorspace
_decodeNorm dictImage
}ifelse
grestore
end
}def
/ncolorimage where{
pop
}{
/ncolorimage{
begin
renderCMYK
{
cyanInk
magentaInk and
yellowInk and
blackInk and
not
currentoverprint
and
{
pop pop
gsave
cyanInk{
8 copy
[/Separation /Cyan /DeviceGray{}] setcolorspace
3 npop
_decodeNorm dictImage
}if
magentaInk{
8 copy
[/Separation /Magenta /DeviceGray{}] setcolorspace
4 -1 roll
3 npop
_decodeNorm dictImage
}if
yellowInk{
8 copy
[/Separation /Yellow /DeviceGray{}] setcolorspace
4 -2 roll
3 npop
_decodeNorm dictImage
}if
blackInk{
4 -3 roll
[/Separation /Black /DeviceGray{}] setcolorspace
3 npop
_decodeNorm dictImage
}{
8 npop
}ifelse
grestore
}{
/_colorimage load 10 execImage
}ifelse
}{
6 npop
gsave
spot1 begin
name null ne tintImage null ne and{
[/Separation name /DeviceGray{}] setcolorspace
4 copy
tintImage
name /Black eq{
_decodeNorm
}{
_decodeInvert
}ifelse
dictImage
}{
1 setgray fill
}ifelse
end
spot2 begin
true setoverprint
name null ne tintImage null ne and{
[/Separation name /DeviceGray{}] setcolorspace
tintImage
name /Black eq{
_decodeNorm
}{
_decodeInvert
}ifelse
dictImage
}{
4 npop
1 setgray fill
}ifelse
end
grestore
}ifelse
end
}def
}ifelse
}def
/initializeMultiPassSeps{
/_isCMYKSep
_cyanPlate _magentaPlate or _yellowPlate or _blackPlate or
pt
/invertXfer{
[
{
1 exch sub
}/exec load systemdict /currenttransfer get exec /exec load
] cvx systemdict /settransfer get exec
}def
/ccThrough{
gsave
1 setCustomColor
currentcmykcolor
grestore
add add add 0 ne
}def
/spotConverted
{
begin
_isCMYKSep not{
false
}{
name null eq{
false
}{
tintValue null eq tintImage null eq and{
true
}{
spot_C spot_M spot_Y spot_K name ccThrough
}ifelse
}ifelse
}ifelse
end
}def
/spotChannel
{
_isCMYKSep{
pop false
}{
begin
name null eq{
false
}{
spot_C spot_M spot_Y spot_K name ccThrough
}ifelse
end
}ifelse
}def
/getChannelData
{
_isCMYKSep dup{
pop renderCMYK
}if
{
_blackPlate{
4 1 roll 3 npop blackInk
}{
_yellowPlate{
4 2 roll 3 npop yellowInk
}{
_magentaPlate{
4 3 roll 3 npop magentaInk
}{
3 npop cyanInk
}ifelse
}ifelse
}ifelse
{
true /nonZeroData
}{
true /zeroData
}ifelse
}{
4 npop
spot1/name get null ne
spot1 spotChannel and{
spot1/tintImage get dup null ne{
false /nonZeroData
}{
pop false /noData
}ifelse
}{
spot2/name get null ne
spot2 spotChannel and{
spot2/tintImage get dup null ne{
false /nonZeroData
}{
pop false /noData
}ifelse
}{
false /noData
}ifelse
}ifelse
}ifelse
}def
/renderChannelData
{
/_tmp xp
_tmp /nonZeroData ne currentoverprint and{
pop
_tmp /zeroData eq{pop}if
4 npop
}{
_tmp /nonZeroData eq{
{
invertXfer
}if
systemdict/image
get 5 execImage
}{
pop
_tmp /zeroData eq{pop}if
4 npop
knockOut
}ifelse
}ifelse
}def
/bwImage{
begin
gsave
dup dup dup
getChannelData
exch pop false exch
renderChannelData
grestore
end
}def
/ncolorimage{
begin
pop pop
gsave
spot2/name get null ne spot2 spotChannel and{
true setoverprint
}if
getChannelData
renderChannelData
grestore
end
}def
}def
end
end
defaultpacking setpacking
%%EndResource
%%BeginResource: procset AGM_Gradient 1.0 0
%%Title: (AGM Gradient Procset)
%%Version: 1.0 0
%%CreationDate: (4/26/96) ()
%%Copyright: ((C) 1987-1996 Adobe Systems Incorporated All Rights Reserved)
userdict /defaultpacking currentpacking put true setpacking
userdict /AGM_Gradient 20 dict dup begin put
/AGM_Gradient_private 200 dict def
/initialize
{
AGM_Gradient begin
AGM_Gradient_private begin
initializeVars
/bd systemdict/mark get def
/ed
_level2PS
{
(>>)
}{
(counttomark 2 idiv dup dict begin {def} repeat pop currentdict end)
} ifelse
cvx def
_level2PS{
initializeLev2
}{
initializeLev1
}ifelse
queryDevice
initializeShading
initializeOps
_producingSeps{
AGM_Gradient_Sep/initialize get exec
}{
initializeComposite
}ifelse
_illustrator{
/f{}def
/F{}def
/s{}def
/S{}def
/b{}def
/B{}def
}if
/image where{
/image get /_image xd
}if
/colorimage where{
/colorimage get /_colorimage xd
}if
/rectfill where dup{
exch pop not _producingSeps or
}{
not
}ifelse
{
/rectfill{
gsave
newpath
4 2 roll moveto
1 index 0 rlineto
0 1 index rlineto
1 index neg 0 rlineto
pop pop
closepath
fill
grestore
}def
}if
/linealImage _noImage{
/rectImage load
}{
_producingSeps{
AGM_Gradient_Sep/AGM_Gradient_Sep_private get begin
/rampImage load
end
}{
/rampImage load
}ifelse
}ifelse
def
AGM_Gradient_private
{
dup xcheck 1 index type /arraytype eq and
{
bind
}if
pop pop
}forall
AGM_Gradient
{
dup xcheck 1 index type /arraytype eq and
{
bind
}if
pop pop
}forall
end
currentdict readonly pop
end
}def
/initializeAI
{
pop pop
AGM_Gradient/AGM_Gradient_private get /_illustrator true put
AGM_Gradient/initialize get exec
AGM_Gradient begin
}def
/unload{
systemdict/languagelevel known{
systemdict/languagelevel get 2 ge{
userdict/AGM_Gradient_Sep 2 copy known{
undef
}{
pop pop
}ifelse
userdict/AGM_Gradient 2 copy known{
undef
}{
pop pop
}ifelse
}if
}if
}def
/terminate{
currentdict AGM_Gradient eq{
end
}if
}def
AGM_Gradient_private begin
/initializeVars{
/_d255 256 array def
0 1 255{
_d255 exch dup 255 div put
}bind for
/_d255- 256 array def
0 1 255{
_d255- exch 1 _d255 2 index get sub put
}bind for
/_sSave nd
/_dUserSpace matrix defaultmatrix def
/_bUMatrix matrix def
/_imageMatrix matrix def
/_saveMatrix matrix def
/_xm matrix def
/_ccAry1 5 array def
/_level2PS
systemdict/languagelevel known dup{
pop systemdict/languagelevel get 2 ge
}if
def
/_level3PS
_level2PS systemdict/shfill known and
def
currentdict /_illustrator known not{
/_illustrator false def
}if
}def
/initializeOps
{
AGM_Gradient begin
currentdict/Bc known not{
/Bc{
_renderFlag 2 eq{
6 npop
}{
pushBSpace
_rampIndex 0 eq{
pop pop
setCStop
}if
linealFill
popBSpace
}ifelse
}def
}if
currentdict/Bg known not{
/Bg{
10 npop
/_gradName xp
/_renderFlag xp
_renderFlag 2 ne{
_illustrator{
_of setoverprint
}if
_illustrator _eo and _renderFlag 3 eq or{
eoclip
}{
clip
}ifelse
_gradNames _gradName 2 copy known{
get
mark exch aload pop
/_gradType xp
1 sub dup /_rampIndex xp
/_maxRampIndex xp
mark exch aload pop
0 0
}if
pop pop
getRampData
}{
mark mark
}ifelse
}def
}if
currentdict/Bm known not{
/Bm{
_renderFlag 2 ne{
_gradType 0 eq{
linealRamp
}{
radialGrad
}ifelse
}{
6 npop
}ifelse
}def
}if
currentdict/Bh known not{
/Bh{
2 npop
/_yHi xp
/_xHi xp
/_radHilite _xHi 0 ne _yHi 0 ne or pt
}def
}if
currentdict/Bn known not{
/Bn{
AGM_Gradient_private begin
dict /_gradNames xp
end
}def
}if
currentdict/Bd known not{
/Bd{
AGM_Gradient begin
AGM_Gradient_private begin
/_nColorsBd xp
/_gradType xp
/_gradName xp
}def
}if
currentdict/BD known not{
/BD{
currentdict/_gradNames known not{
/_gradNames 20 dict def
}if
] _nColorsBd _gradType
] _gradName exch /_gradNames xput
end
end
}def
}if
currentdict/Bb known not{
/Bb{
AGM_Gradient begin
AGM_Gradient_private begin
_producingSeps{
AGM_Gradient_Sep/AGM_Gradient_Sep_private get begin
}if
mySave
}def
}if
currentdict/BB known not{
/BB{
/_tmp xp
cleartomark cleartomark
_tmp dup
_renderFlag
myRestore
_producingSeps{
end
}if
_illustrator
end
end
{
2 ne exch 0 gt and{
2 eq{
s
}{
S
}ifelse
}{
pop newpath
}ifelse
}{
pop newpath
}ifelse
}def
}if
currentdict/Xm known not{
/Xm{
_xm astore pop
}def
}if
end
}def
/queryDevice{
/_inRipSep
_level2PS{
currentpagedevice/Separations 2 copy known{
get
}{
pop pop false
}ifelse
}{
false
}ifelse
def
/_noImage /lv1Fix where{
pop lv1Fix
}{
false
}ifelse
def
/_useShells where{
pop
}{
/_useShells true def
}ifelse
/_useSmoothShade where{
pop
}{
/_useSmoothShade false def
}ifelse
/_cyanPlate 1 0 0 0 testCMYKColorThrough def
/_magentaPlate 0 1 0 0 testCMYKColorThrough def
/_yellowPlate 0 0 1 0 testCMYKColorThrough def
/_blackPlate 0 0 0 1 testCMYKColorThrough def
/_compositeJob
_cyanPlate _magentaPlate and _yellowPlate and _blackPlate and
def
/_compositeSpotDevice where{
pop
}{
/_compositeSpotDevice _compositeJob not _inRipSep or{
1
}{
0
}ifelse
def
}ifelse
/_producingSeps _compositeSpotDevice 0 ne def
/_deviceDPI 72 0 matrix defaultmatrix dtransform dup mul exch dup mul add sqrt def
/_dpiThreshold where{
pop
}{
/_dpiThreshold 600 def
}ifelse
/_screenFreqThreshold where{
pop
}{
/_screenFreqThreshold 150 def
}ifelse
/_contoneDevice where{
pop
}{
/_contoneDevice false def
}ifelse
/_subSampleOK
_deviceDPI _dpiThreshold le
currentScreenFreq _screenFreqThreshold le and
_contoneDevice not and
_producingSeps not and
def
}def
/initializeLev1{
/makeByte8{
/_tmp 0 pt
255 mul cvi
8 string 8{
dup _tmp 3 index put
/_tmp _tmp 1 add pt
}repeat
exch pop
}def
/currentScreenFreq{
currentscreen pop pop
}def
/_byte 1 string def
/colorimage where{
pop
}{
/colorimage{
pop pop
/_blackTmp xp
/_yellowTmp xp
/_magentaTmp xp
/_cyanTmp xp
/_cnt 0 pt
[
_byte dup 0
_cyanTmp
/_cnt cvx /get cvx _d255 /exch cvx /get cvx .3 /mul cvx
_magentaTmp
/_cnt cvx /get cvx _d255 /exch cvx /get cvx .59 /mul cvx
_yellowTmp
/_cnt cvx /get cvx _d255 /exch cvx /get cvx .11 /mul cvx
_blackTmp
/_cnt cvx /get cvx _d255 /exch cvx /get cvx
/add cvx /add cvx /add cvx 1 /exch cvx /sub cvx
/dup cvx 0 /lt cvx{
pop 0
}/if cvx
/dup cvx 1 /gt cvx{
pop 1
}/if cvx
255 /mul cvx /cvi cvx
256 /mod cvx
/dup cvx 0 /lt cvx{
pop 0
}/if cvx
/put cvx
/_cnt dup cvx 1 /add cvx /pt cvx
] cvx
bind
/_image load 5 execImage
}def
}ifelse
}def
/initializeLev2{
/level2ScreenFreq{
begin
60
HalftoneType 1 eq{
pop Frequency
}if
HalftoneType 2 eq{
pop GrayFrequency
}if
HalftoneType 5 eq{
pop Default level2ScreenFreq
}if
end
}def
/currentScreenFreq{
currenthalftone level2ScreenFreq
}def
}def
/initializeShading{
_useSmoothShade _level3PS and{
/_usingSmoothShade true pt
initializeLev3_Ops
}{
/_usingSmoothShade false pt
}ifelse
}def
/initializeLev3_Ops
{
/initShFill{
/_index _gradType 0 eq {0}{_maxRampIndex 1 sub} ifelse pt
/_rampFuncsArray _maxRampIndex array pt
/_boundsArray _maxRampIndex 1 sub array pt
/_encodeArray _maxRampIndex 2 mul array pt
/_beginCoord _rampPoint pt
/_colorSpace null pt
/_firstFill _rampIndex _maxRampIndex eq pt
/_lastFill false pt
}def
/getRampColorSpace{
_nSamples 1 gt{
/_ndx 0 pt
[blendColor] cvx exec
}if
/_C0 [currentcolor] pt
/_C0_Space currentcolorspace pt
_nSamples 1 gt{
/_ndx _nSamples 1 sub pt
[blendColor] cvx exec
}if
/_C1 [currentcolor] pt
/_C1_Space currentcolorspace pt
_C0_Space _C1_Space eq{
/_rampColorSpace _C0_Space pt
}{
(colorspace conflict!) ==
showpage
stop
}ifelse
_spotColor{
nsetcustomcolorend
}if
}def
/linealShFill{
popBSpace
_xm aload pop pushBSpace
/_size _index 1 add pt
_size _maxRampIndex lt {
/_rampFuncsArray _rampFuncsArray 0 _size getinterval pt
/_boundsArray _boundsArray 0 _size 1 sub getinterval pt
/_encodeArray _encodeArray 0 _size 2 mul getinterval pt
}if
bd
/ShadingType 2
/ColorSpace _colorSpace
/Function
bd
/FunctionType 3
/Domain [0 1]
/Functions _rampFuncsArray
/Bounds _boundsArray
/Encode _encodeArray
ed
/Extend [_firstFill _lastFill]
/Domain [0 1]
/Coords [_beginCoord 0 _endCoord 0]
ed
shfill
}def
/radialShFill{
/_size _maxRampIndex _index sub pt
_size _maxRampIndex lt {
/_rampFuncsArray _rampFuncsArray _index _size getinterval pt
/_boundsArray _boundsArray _index _size 1 sub getinterval pt
/_encodeArray _encodeArray _index 2 mul _size 2 mul getinterval pt
}if
/_rampLen _beginCoord _endCoord sub pt
bd
/ShadingType 3
/ColorSpace _colorSpace
/Function
bd
/FunctionType 3
/Domain [0 1]
/Functions _rampFuncsArray
/Bounds _boundsArray
/Encode _encodeArray
ed
/Extend [_lastFill _firstFill]
/Domain [0 1]
/Coords [_xHi _rampLen mul _yHi _rampLen mul _endCoord 0 0 _beginCoord]
ed
shfill
_radHilite{
_xHi _rampLen mul _yHi _rampLen mul translate
}if
}def
/fillRamp{
/_invert _midPoint 0.5 lt pt
_rampIndex _maxRampIndex eq {
initShFill
}if
getRampColorSpace
_colorSpace null eq{
/_colorSpace _rampColorSpace pt
}{
_colorSpace _rampColorSpace ne{
/_index _index 1
_gradType 0 eq{
sub pt
linealShFill
}{
add pt
radialShFill
}ifelse
initShFill
/_colorSpace _rampColorSpace pt
} if
}ifelse
/_endCoord _endPoint pt
_rampFuncsArray _index
bd
/FunctionType 2
/Domain [0 1]
/N 0.5 log _invert{1 _midPoint sub}{_midPoint}ifelse log div
_gradType 0 eq{
_invert{/C1}{/C0}ifelse _C0
_invert{/C0}{/C1}ifelse _C1
}{
_invert{/C0}{/C1}ifelse _C1
_invert{/C1}{/C0}ifelse _C0
}ifelse
ed
put
_rampIndex 1 ne{
_boundsArray _index _gradType 1 eq{1 sub}if _endCoord put
} if
0 1 _invert {exch}if
_encodeArray _index 2 mul 1 add 3 -1 roll put
_encodeArray _index 2 mul 3 -1 roll put
_rampIndex 1 eq {
/_lastFill true pt
_gradType 0 eq{
linealShFill
}{
radialShFill
}ifelse
}if
/_index _index 1
_gradType 0 eq{
add pt
}{
sub pt
}ifelse
}def
/radialRamp
/fillRamp load def
/rampImage
/fillRamp load def
AGM_Gradient begin
/Bc{
6 npop
}def
end
}def
/initializeComposite{
/bwImage{
pop /_image load 5 execImage
}def
currentdict/rampImage known not{
/rampImage{
_color{
_nSamples setImageParms
_rgbRamp{
_redData _greenData _blueData _nSamples 3 expandColor
true 3 null ncolorimage
}{
_cyanData _magentaData _yellowData _blackData _nSamples 4 expandColor
true 4 null ncolorimage
}ifelse
}{
_nSamples setImageParms _blackData null bwImage
}ifelse
}def
}if
/setCStop{
/_colorStyle exch pt
_colorStyle 0 eq{
1 exch sub
0 0 0
4 -1 roll
}if
_colorStyle 2 eq{
setrgbcolor 4 npop
}if
_colorStyle 3 eq{
1 exch sub /_tmp xp
pop
4{
_tmp mul 4 1 roll
}repeat
}if
_colorStyle 4 eq{
3 -1 roll pop pop
1 exch sub /_tmp xp
3{
1 exch sub _tmp mul 1 exch sub 3 1 roll
}repeat
setrgbcolor
4 npop
}if
_colorStyle 2 ne _colorStyle 4 ne and{
null nsetcustomcolor
}if
}def
/nsetcustomcolor
{
pop setcmykcolor
}def
/nsetcustomcolorend
{
}def
/ncolorimage{
pop
/_colorimage load 10 execImage
}def
_noImage not _level2PS not and{
/linealFill{
8 setImageParms
_color{
currentcmykcolor
4{
makeByte8 4 1 roll
}repeat
true 4 null ncolorimage
}{
currentgray makeByte8 null bwImage
}ifelse
}def
}if
}def
/npop{
{pop}repeat
}def
/xd{
exch def
}def
/nd{
null def
}def
/pt{
AGM_Gradient_private 3 1 roll put
}def
/xp{
exch pt
}def
/xput{
dup load dup length exch maxlength eq{
dup dup load dup
length 2 mul dict copy def
}if
load begin
def
end
}def
/mySave{
save /_sSave xp
}def
/myRestore{
_sSave type /savetype eq{
_sSave restore
}if
}def
/gMark{
counttomark 2 add -1 roll
}def
/execImage{
/_tmp xp
{
exec
}stopped{
$error /errorname get /undefinedresult ne{
stop
}{
_tmp npop
}ifelse
}if
}def
/pushBSpace{
newpath gsave
_bUMatrix astore concat
}def
/popBSpace{
grestore
}def
/setImageParms{
1 8 2 index 0 0 1 0 0 _imageMatrix astore
}def
/linealFill{
0 0 1 1 rectfill
}def
/testCMYKColorThrough{
gsave
setcmykcolor currentcmykcolor
grestore
add add add 0 ne
}def
/expandOne {
/_tmp xp
dup type /stringtype ne{
_tmp string
exch
dup 0 ne{
255 mul cvi
0 1 _tmp 1 sub{
3 copy
exch put pop
}for
}if
pop
}if
}def
/expandColor{
/_channels xp
/_len xp
_channels{
_len expandOne _channels 1 roll
}repeat
}def
/blendColor{
_color{
_rgbRamp _producingSeps not and{
_redData dup type /stringtype eq{
/_ndx cvx /get cvx _d255 /exch cvx /get cvx
}if
_greenData dup type /stringtype eq{
/_ndx cvx /get cvx _d255 /exch cvx /get cvx
}if
_blueData dup type /stringtype eq{
/_ndx cvx /get cvx _d255 /exch cvx /get cvx
}if
/setrgbcolor cvx
}{
_cyanData dup type /stringtype eq{
/_ndx cvx /get cvx _d255 /exch cvx /get cvx
}if
_magentaData dup type /stringtype eq{
/_ndx cvx /get cvx _d255 /exch cvx /get cvx
}if
_yellowData dup type /stringtype eq{
/_ndx cvx /get cvx _d255 /exch cvx /get cvx
}if
_blackData dup type /stringtype eq{
/_ndx cvx /get cvx _d255 /exch cvx /get cvx
}if
_spotColor{
_rampSD begin
/_rampSD cvx /begin cvx
spot1 begin
tintImage dup type /stringtype eq{
/_ndx cvx /get cvx _d255- /exch cvx /get cvx
}{
dup null ne{
name type /nametype ne{
1 exch sub
}if
}if
}ifelse
end
/spot1 cvx /tintValue 3 -1 /roll cvx /put cvx
spot2 begin
tintImage dup type /stringtype eq{
/_ndx cvx /get cvx _d255- /exch cvx /get cvx
}{
dup null ne{
name type /nametype ne{
1 exch sub
}if
}if
}ifelse
end
/spot2 cvx /tintValue 3 -1 /roll cvx /put cvx
/end cvx
end
/_rampSD cvx
/nsetcustomcolor cvx
}{
/setcmykcolor cvx
}ifelse
}ifelse
}{
_blackData /_ndx cvx /get cvx
_d255 /exch cvx /get cvx
_usingSmoothShade{
1 /exch cvx /sub cvx 0 0 0 4 -1 /roll cvx /setcmykcolor cvx
}{
/setgray cvx
}ifelse
}ifelse
}def
/linealRamp{
pushBSpace
_ramp{
linealImage
}{
linealFill
}ifelse
popBSpace
/_rampIndex _rampIndex 1 sub pt
_rampIndex 0 gt{
getRampData
}if
}def
/radialGrad{
/_firstShell true pt
_usingSmoothShade not{
fill
}if
pushBSpace
_radHilite{
_xHi _yHi _bUMatrix idtransform /_yHi xp /_xHi xp
_rampPoint 1 lt{
1 _rampPoint sub dup _xHi mul exch _yHi mul translate
}if
}if
_rampIndex{
radialRamp
/_rampIndex _rampIndex 1 sub pt
_rampIndex 0 gt{
getRampData
}if
}repeat
popBSpace
}def
/getNSamples{
0 exch
{
dup type /stringtype eq{
length exch pop exit
}if
pop
}forall
dup 0 eq{
pop 1
}if
}def
/getRampData{
/_rampType gMark pt
/_color _rampType 0 gt pt
/_ccRGB _rampType 5 eq _rampType 6 eq or pt
/_rgbRamp _rampType 4 eq _ccRGB or pt
/_ccProcess _rampType 2 eq _rampType 3 eq or pt
_producingSeps{
_rampSD initSpotDict
/_spotColor _ccProcess _ccRGB or pt
}{
/_spotColor false pt
}ifelse
/_ramp true pt
100 div /_rampPoint xp
100 div /_midPoint xp
dup /_colorStyle xp
_colorStyle 0 eq{
2
}{
_colorStyle 1 eq{
5
}{
_colorStyle 2 eq{
8
}{
_colorStyle 3 eq{
_producingSeps{
_rampSD begin
spot1 begin
/name 3 index def
/spot_K 4 index def
/spot_Y 5 index def
/spot_M 6 index def
/spot_C 7 index def
end
end
}if
7
}{
_producingSeps{
_rampSD begin
spot1 begin
/name 4 index def
/spot_K 8 index def
/spot_Y 9 index def
/spot_M 10 index def
/spot_C 11 index def
end
end
}if
11
} ifelse
}ifelse
}ifelse
}ifelse
/_tmp xp
_tmp index 100 div /_endPoint xp
_gradType 1 eq{
_tmp 1 add index 100 div /_midPoint xp
}if
_producingSeps{
_tmp 2 add index /_nextColorStyle xp
_nextColorStyle 3 eq{
/_tmp _tmp 4 add pt
_tmp index dup
_rampSD begin
spot1 /name get ne{
spot2 begin
/name xd
/spot_K _tmp 2 add index def
/spot_Y _tmp 3 add index def
/spot_M _tmp 4 add index def
/spot_C _tmp 5 add index def
end
}{
pop
}ifelse
end
}if
_nextColorStyle 4 eq{
/_tmp _tmp 5 add pt
_tmp index dup
_rampSD begin
spot1 /name get ne{
spot2 begin
/name xd
/spot_K _tmp 5 add index def
/spot_Y _tmp 6 add index def
/spot_M _tmp 7 add index def
/spot_C _tmp 8 add index def
end
}{
pop
}ifelse
end
}if
}if
_rampType 3 eq _rampType 6 eq or{
/_tint2Data gMark pt
}if
_ccProcess _ccRGB or{
/_tint1Data gMark pt
}if
_rgbRamp{
/_blueData gMark pt
/_greenData gMark pt
/_redData gMark pt
}if
_producingSeps{
_rampSD begin
_ccProcess _ccRGB or{
_rampType 3 eq _rampType 6 eq or{
spot2 begin
/tintImage _gradType 0 eq{
_tint2Data
}{
_tint1Data
}ifelse
def
name null eq{
/name /Black def
}if
end
}if
spot1 begin
/tintImage _gradType 0 eq _rampType 2 eq or _rampType 5 eq or{
_tint1Data
}{
_tint2Data
}ifelse
def
_rampType 2 eq _rampType 5 eq or{
name null eq{
/name spot2 /name get def
spot2 /name null put
}if
}{
name null eq{
/name /Black def
}if
}ifelse
end
}if
end
}if
/_blackData gMark pt
_rampType 0 gt{
counttomark 4 add -3 roll
/_yellowData xp
/_magentaData xp
/_cyanData xp
}if
_ramp{
/_nSamples
[
_rampType 0 eq {_blackData}if
_rampType 1 eq {_cyanData _magentaData _yellowData _blackData}if
_rampType 2 eq {_cyanData _magentaData _yellowData _blackData _tint1Data}if
_rampType 3 eq {_cyanData _magentaData _yellowData _blackData _tint1Data _tint2Data}if
_rampType 4 eq {_cyanData _magentaData _yellowData _blackData _redData _greenData _blueData}if
_rampType 5 eq {_cyanData _magentaData _yellowData _blackData _redData _greenData _blueData _tint1Data}if
_rampType 6 eq {_cyanData _magentaData _yellowData _blackData _redData _greenData _blueData _tint1Data _tint2Data}if
] getNSamples pt
_usingSmoothShade not {/_ramp _nSamples 1 gt pt} if
} if
setCStop
}def
/rectImage{
gsave
/_sInc 1 pt
/_bInc 1 _nSamples div pt
/_uRampLen 1 0 dtransform _dUserSpace idtransform dup mul exch dup mul add sqrt pt
/_pChange _uRampLen 0 eq{0}{_nSamples _uRampLen div}ifelse pt
0
_nSamples
[
/dup cvx
/_ndx /exch cvx /pt cvx
blendColor
0 0 _bInc 1 /rectfill cvx
_bInc 0 /translate cvx
_sInc /add cvx
] cvx
bind
repeat
pop
_spotColor{
nsetcustomcolorend
}if
grestore
}def
/radialInit{
/_nRadSamples _nSamples dup 0 eq{pop 1}if pt
/_sInc -1 pt
/_rampLen _rampPoint _endPoint sub pt
/_bInc _rampLen _nSamples div neg pt
/_optimize false pt
_subSampleOK{
/_uRampLen
_rampLen 0 dtransform _dUserSpace idtransform dup mul exch dup mul add sqrt
0 _rampLen dtransform _dUserSpace idtransform dup mul exch dup mul add sqrt
2 copy lt{
exch
}if pop
pt
/_pChange
_uRampLen 0 eq{
0
}{
_nSamples _uRampLen div
}ifelse
pt
_pChange .5 gt dup /_optimize xp{
/_nRadSamples _uRampLen 2 div round cvi dup 1 le{pop 2}if pt
/_bInc _rampLen _nRadSamples div neg pt
/_sInc _nSamples 1 sub _nRadSamples 1 sub div neg pt
}if
}if
_radHilite{
/_xBCInc _xHi _rampLen mul _nRadSamples div pt
/_yBCInc _yHi _rampLen mul _nRadSamples div pt
}if
}def
currentdict/radialRamp known not{
/radialRamp{
/_saveMatrix _saveMatrix currentmatrix def
radialInit
_rampPoint
_nSamples 1 sub
_nRadSamples
[
/dup cvx
_optimize{
/round cvx /cvi cvx
}if
/_ndx /exch cvx /pt cvx
_useShells{
/_firstShell cvx{
/_firstShell false pt
}{
0 0 3 index 360 0 arcn fill
}/ifelse cvx
}if
blendColor
_useShells{
0 0 3 /index cvx 0 360 /arc cvx
}{
0 0 3 /index cvx 0 360 /arc cvx /fill cvx
}ifelse
/exch cvx _bInc /add cvx /exch cvx
_sInc /add cvx
_radHilite{
_xBCInc _yBCInc /translate cvx
}if
] cvx bind
repeat
pop pop
_saveMatrix setmatrix
_radHilite{
_xHi _rampLen mul _yHi _rampLen mul translate
}if
_useShells _rampIndex 1 eq and{
fill
}if
_spotColor{
nsetcustomcolorend
}if
}def
}if
end
end
defaultpacking setpacking
%%EndResource
%%BeginProcSet: Adobe_ColorImage_AI6 1.1 0
userdict /Adobe_ColorImage_AI6 known not
{
userdict /Adobe_ColorImage_AI6 24 dict put
} if
userdict /Adobe_ColorImage_AI6 get begin
/initialize
{
Adobe_ColorImage_AI6 begin
Adobe_ColorImage_AI6
{
dup type /arraytype eq
{
dup xcheck
{
bind
} if
} if
pop pop
} forall
} def
/terminate { end } def
currentdict /Adobe_ColorImage_AI6_Vars known not
{
/Adobe_ColorImage_AI6_Vars 15 dict def
} if
Adobe_ColorImage_AI6_Vars begin
/channelcount 0 def
/sourcecount 0 def
/sourcearray 4 array def
/plateindex -1 def
/XIMask 0 def
/XIBinary 0 def
/XIChannelCount 0 def
/XIBitsPerPixel 0 def
/XIImageHeight 0 def
/XIImageWidth 0 def
/XIImageMatrix null def
/XIBuffer null def
/XIDataProc null def
/XIVersion 6 def
end
/WalkRGBString null def
/WalkCMYKString null def
/StuffRGBIntoGrayString null def
/RGBToGrayImageProc null def
/StuffCMYKIntoGrayString null def
/CMYKToGrayImageProc null def
/ColorImageCompositeEmulator null def
/SeparateCMYKImageProc null def
/FourEqual null def
/TestPlateIndex null def
currentdict /_colorimage known not
{
/colorimage where
{
/colorimage get /_colorimage exch def
}
{
/_colorimage null def
} ifelse
} if
/_currenttransfer systemdict /currenttransfer get def
/colorimage null def
/XI null def
/WalkRGBString
{
0 3 index
dup length 1 sub 0 3 3 -1 roll
{
3 getinterval { } forall
5 index exec
3 index
} for
5 { pop } repeat
} def
/WalkCMYKString
{
0 3 index
dup length 1 sub 0 4 3 -1 roll
{
4 getinterval { } forall
6 index exec
3 index
} for
5 { pop } repeat
} def
/StuffRGBIntoGrayString
{
.11 mul exch
.59 mul add exch
.3 mul add
cvi 3 copy put
pop 1 add
} def
/RGBToGrayImageProc
{
Adobe_ColorImage_AI6_Vars begin
sourcearray 0 get exec
dup length 3 idiv string
dup 3 1 roll
/StuffRGBIntoGrayString load exch
WalkRGBString
end
} def
/StuffCMYKIntoGrayString
{
exch .11 mul add
exch .59 mul add
exch .3 mul add
dup 255 gt { pop 255 } if
255 exch sub cvi 3 copy put
pop 1 add
} def
/CMYKToGrayImageProc
{
Adobe_ColorImage_AI6_Vars begin
sourcearray 0 get exec
dup length 4 idiv string
dup 3 1 roll
/StuffCMYKIntoGrayString load exch
WalkCMYKString
end
} def
/ColorImageCompositeEmulator
{
pop true eq
{
Adobe_ColorImage_AI6_Vars /sourcecount get 5 add { pop } repeat
}
{
Adobe_ColorImage_AI6_Vars /channelcount get 1 ne
{
Adobe_ColorImage_AI6_Vars begin
sourcearray 0 3 -1 roll put
channelcount 3 eq
{
/RGBToGrayImageProc
}
{
/CMYKToGrayImageProc
} ifelse
load
end
} if
image
} ifelse
} def
/SeparateCMYKImageProc
{
Adobe_ColorImage_AI6_Vars begin
sourcecount 0 ne
{
sourcearray plateindex get exec
}
{
sourcearray 0 get exec
dup length 4 idiv string
0 2 index
plateindex 4 2 index length 1 sub
{
get 255 exch sub
3 copy put pop 1 add
2 index
} for
pop pop exch pop
} ifelse
end
} def
/FourEqual
{
4 index ne
{
pop pop pop false
}
{
4 index ne
{
pop pop false
}
{
4 index ne
{
pop false
}
{
4 index eq
} ifelse
} ifelse
} ifelse
} def
/TestPlateIndex
{
Adobe_ColorImage_AI6_Vars begin
/plateindex -1 def
/setcmykcolor where
{
pop
gsave
1 0 0 0 setcmykcolor systemdict /currentgray get exec 1 exch sub
0 1 0 0 setcmykcolor systemdict /currentgray get exec 1 exch sub
0 0 1 0 setcmykcolor systemdict /currentgray get exec 1 exch sub
0 0 0 1 setcmykcolor systemdict /currentgray get exec 1 exch sub
grestore
1 0 0 0 FourEqual
{
/plateindex 0 def
}
{
0 1 0 0 FourEqual
{
/plateindex 1 def
}
{
0 0 1 0 FourEqual
{
/plateindex 2 def
}
{
0 0 0 1 FourEqual
{
/plateindex 3 def
}
{
0 0 0 0 FourEqual
{
/plateindex 5 def
} if
} ifelse
} ifelse
} ifelse
} ifelse
pop pop pop pop
} if
plateindex
end
} def
/colorimage
{
Adobe_ColorImage_AI6_Vars begin
/channelcount 1 index def
/sourcecount 2 index 1 eq { channelcount 1 sub } { 0 } ifelse def
4 sourcecount add index dup
8 eq exch 1 eq or not
end
{
/_colorimage load null ne
{
_colorimage
}
{
Adobe_ColorImage_AI6_Vars /sourcecount get
7 add { pop } repeat
} ifelse
}
{
dup 3 eq
TestPlateIndex
dup -1 eq exch 5 eq or or
{
/_colorimage load null eq
{
ColorImageCompositeEmulator
}
{
dup 1 eq
{
pop pop image
}
{
Adobe_ColorImage_AI6_Vars /plateindex get 5 eq
{
gsave
0 _currenttransfer exec
1 _currenttransfer exec
eq
{ 0 _currenttransfer exec 0.5 lt }
{ 0 _currenttransfer exec 1 _currenttransfer exec gt } ifelse
{ { pop 0 } } { { pop 1 } } ifelse
systemdict /settransfer get exec
} if
_colorimage
Adobe_ColorImage_AI6_Vars /plateindex get 5 eq
{
grestore
} if
} ifelse
} ifelse
}
{
dup 1 eq
{
pop pop
image
}
{
pop pop
Adobe_ColorImage_AI6_Vars begin
sourcecount -1 0
{
exch sourcearray 3 1 roll put
} for
/SeparateCMYKImageProc load
end
systemdict /image get exec
} ifelse
} ifelse
} ifelse
} def
/XG
{
pop pop
} def
/XF
{
13 {pop} repeat
} def
/Xh
{
Adobe_ColorImage_AI6_Vars begin
gsave
/XIMask exch 0 ne def
/XIImageHeight exch def
/XIImageWidth exch def
/XIImageMatrix exch def
0 0 moveto
XIImageMatrix concat
XIImageWidth XIImageHeight scale
XIMask
{
/_lp /null ddef
_fc
/_lp /imagemask ddef
}
if
/XIVersion 7 def
end
} def
/XH
{
Adobe_ColorImage_AI6_Vars begin
/XIVersion 6 def
grestore
end
} def
/XI
{
Adobe_ColorImage_AI6_Vars begin
gsave
/XIMask exch 0 ne def
/XIBinary exch 0 ne def
pop
pop
/XIChannelCount exch def
/XIBitsPerPixel exch def
/XIImageHeight exch def
/XIImageWidth exch def
pop pop pop pop
/XIImageMatrix exch def
XIBitsPerPixel 1 eq
{
XIImageWidth 8 div ceiling cvi
}
{
XIImageWidth XIChannelCount mul
} ifelse
/XIBuffer exch string def
XIBinary
{
/XIDataProc { currentfile XIBuffer readstring pop } def
XIVersion 6 le
{
currentfile 128 string readline pop pop
}
if
}
{
/XIDataProc { currentfile XIBuffer readhexstring pop } def
} ifelse
XIVersion 6 le
{
0 0 moveto
XIImageMatrix concat
XIImageWidth XIImageHeight scale
XIMask
{
/_lp /null ddef
_fc
/_lp /imagemask ddef
} if
} if
XIMask
{
XIImageWidth XIImageHeight
false
[ XIImageWidth 0 0 XIImageHeight neg 0 0 ]
/XIDataProc load
imagemask
}
{
XIImageWidth XIImageHeight
XIBitsPerPixel
[ XIImageWidth 0 0 XIImageHeight neg 0 0 ]
/XIDataProc load
XIChannelCount 1 eq
{
gsave
0 setgray
image
grestore
}
{
false
XIChannelCount
colorimage
} ifelse
} ifelse
grestore
end
} def
end
%%EndProcSet
%%BeginResource: procset Adobe_Illustrator_AI5 1.1 0
%%Title: (Adobe Illustrator (R) Version 5.0 Full Prolog)
%%Version: 1.1 0
%%CreationDate: (3/7/1994) ()
%%Copyright: ((C) 1987-1996 Adobe Systems Incorporated All Rights Reserved)
currentpacking true setpacking
userdict /Adobe_Illustrator_AI5_vars 81 dict dup begin
put
/_eo false def
/_lp /none def
/_pf
{
} def
/_ps
{
} def
/_psf
{
} def
/_pss
{
} def
/_pjsf
{
} def
/_pjss
{
} def
/_pola 0 def
/_doClip 0 def
/cf currentflat def
/_tm matrix def
/_renderStart
[
/e0 /r0 /a0 /o0 /e1 /r1 /a1 /i0
] def
/_renderEnd
[
null null null null /i1 /i1 /i1 /i1
] def
/_render -1 def
/_rise 0 def
/_ax 0 def
/_ay 0 def
/_cx 0 def
/_cy 0 def
/_leading
[
0 0
] def
/_ctm matrix def
/_mtx matrix def
/_sp 16#020 def
/_hyphen (-) def
/_fScl 0 def
/_cnt 0 def
/_hs 1 def
/_nativeEncoding 0 def
/_useNativeEncoding 0 def
/_tempEncode 0 def
/_pntr 0 def
/_tDict 2 dict def
/_wv 0 def
/Tx
{
} def
/Tj
{
} def
/CRender
{
} def
/_AI3_savepage
{
} def
/_gf null def
/_cf 4 array def
/_if null def
/_of false def
/_fc
{
} def
/_gs null def
/_cs 4 array def
/_is null def
/_os false def
/_sc
{
} def
/_pd 1 dict def
/_ed 15 dict def
/_pm matrix def
/_fm null def
/_fd null def
/_fdd null def
/_sm null def
/_sd null def
/_sdd null def
/_i null def
/discardSave null def
/buffer 256 string def
/beginString null def
/endString null def
/endStringLength null def
/layerCnt 1 def
/layerCount 1 def
/perCent (%) 0 get def
/perCentSeen? false def
/newBuff null def
/newBuffButFirst null def
/newBuffLast null def
/clipForward? false def
end
userdict /Adobe_Illustrator_AI5 known not {
userdict /Adobe_Illustrator_AI5 91 dict put
} if
userdict /Adobe_Illustrator_AI5 get begin
/initialize
{
Adobe_Illustrator_AI5 dup begin
Adobe_Illustrator_AI5_vars begin
discardDict
{
bind pop pop
} forall
dup /nc get begin
{
dup xcheck 1 index type /operatortype ne and
{
bind
} if
pop pop
} forall
end
newpath
} def
/terminate
{
end
end
} def
/_
null def
/ddef
{
Adobe_Illustrator_AI5_vars 3 1 roll put
} def
/xput
{
dup load dup length exch maxlength eq
{
dup dup load dup
length 2 mul dict copy def
} if
load begin
def
end
} def
/npop
{
{
pop
} repeat
} def
/sw
{
dup length exch stringwidth
exch 5 -1 roll 3 index mul add
4 1 roll 3 1 roll mul add
} def
/swj
{
dup 4 1 roll
dup length exch stringwidth
exch 5 -1 roll 3 index mul add
4 1 roll 3 1 roll mul add
6 2 roll /_cnt 0 ddef
{
1 index eq
{
/_cnt _cnt 1 add ddef
} if
} forall
pop
exch _cnt mul exch _cnt mul 2 index add 4 1 roll 2 index add 4 1 roll pop pop
} def
/ss
{
4 1 roll
{
2 npop
(0) exch 2 copy 0 exch put pop
gsave
false charpath currentpoint
4 index setmatrix
stroke
grestore
moveto
2 copy rmoveto
} exch cshow
3 npop
} def
/jss
{
4 1 roll
{
2 npop
(0) exch 2 copy 0 exch put
gsave
_sp eq
{
exch 6 index 6 index 6 index 5 -1 roll widthshow
currentpoint
}
{
false charpath currentpoint
4 index setmatrix stroke
} ifelse
grestore
moveto
2 copy rmoveto
} exch cshow
6 npop
} def
/sp
{
{
2 npop (0) exch
2 copy 0 exch put pop
false charpath
2 copy rmoveto
} exch cshow
2 npop
} def
/jsp
{
{
2 npop
(0) exch 2 copy 0 exch put
_sp eq
{
exch 5 index 5 index 5 index 5 -1 roll widthshow
}
{
false charpath
} ifelse
2 copy rmoveto
} exch cshow
5 npop
} def
/pl
{
transform
0.25 sub round 0.25 add exch
0.25 sub round 0.25 add exch
itransform
} def
/setstrokeadjust where
{
pop true setstrokeadjust
/c
{
curveto
} def
/C
/c load def
/v
{
currentpoint 6 2 roll curveto
} def
/V
/v load def
/y
{
2 copy curveto
} def
/Y
/y load def
/l
{
lineto
} def
/L
/l load def
/m
{
moveto
} def
}
{
/c
{
pl curveto
} def
/C
/c load def
/v
{
currentpoint 6 2 roll pl curveto
} def
/V
/v load def
/y
{
pl 2 copy curveto
} def
/Y
/y load def
/l
{
pl lineto
} def
/L
/l load def
/m
{
pl moveto
} def
} ifelse
/d
{
setdash
} def
/cf
{
} def
/i
{
dup 0 eq
{
pop cf
} if
setflat
} def
/j
{
setlinejoin
} def
/J
{
setlinecap
} def
/M
{
setmiterlimit
} def
/w
{
setlinewidth
} def
/XR
{
0 ne
/_eo exch ddef
} def
/H
{
} def
/h
{
closepath
} def
/N
{
_pola 0 eq
{
_doClip 1 eq
{
_eo {eoclip} {clip} ifelse /_doClip 0 ddef
} if
newpath
}
{
/CRender
{
N
} ddef
} ifelse
} def
/n
{
N
} def
/F
{
_pola 0 eq
{
_doClip 1 eq
{
gsave _pf grestore _eo {eoclip} {clip} ifelse newpath /_lp /none ddef _fc
/_doClip 0 ddef
}
{
_pf
} ifelse
}
{
/CRender
{
F
} ddef
} ifelse
} def
/f
{
closepath
F
} def
/S
{
_pola 0 eq
{
_doClip 1 eq
{
gsave _ps grestore _eo {eoclip} {clip} ifelse newpath /_lp /none ddef _sc
/_doClip 0 ddef
}
{
_ps
} ifelse
}
{
/CRender
{
S
} ddef
} ifelse
} def
/s
{
closepath
S
} def
/B
{
_pola 0 eq
{
_doClip 1 eq
gsave F grestore
{
gsave S grestore _eo {eoclip} {clip} ifelse newpath /_lp /none ddef _sc
/_doClip 0 ddef
}
{
S
} ifelse
}
{
/CRender
{
B
} ddef
} ifelse
} def
/b
{
closepath
B
} def
/W
{
/_doClip 1 ddef
} def
/*
{
count 0 ne
{
dup type /stringtype eq
{
pop
} if
} if
newpath
} def
/u
{
} def
/U
{
} def
/q
{
_pola 0 eq
{
gsave
} if
} def
/Q
{
_pola 0 eq
{
grestore
} if
} def
/*u
{
_pola 1 add /_pola exch ddef
} def
/*U
{
_pola 1 sub /_pola exch ddef
_pola 0 eq
{
CRender
} if
} def
/D
{
pop
} def
/*w
{
} def
/*W
{
} def
/`
{
/_i save ddef
clipForward?
{
nulldevice
} if
6 1 roll 4 npop
concat pop
userdict begin
/showpage
{
} def
0 setgray
0 setlinecap
1 setlinewidth
0 setlinejoin
10 setmiterlimit
[] 0 setdash
/setstrokeadjust where {pop false setstrokeadjust} if
newpath
0 setgray
false setoverprint
} def
/~
{
end
_i restore
} def
/O
{
0 ne
/_of exch ddef
/_lp /none ddef
} def
/R
{
0 ne
/_os exch ddef
/_lp /none ddef
} def
/g
{
/_gf exch ddef
/_fc
{
_lp /fill ne
{
_of setoverprint
_gf setgray
/_lp /fill ddef
} if
} ddef
/_pf
{
_fc
_eo {eofill} {fill} ifelse
} ddef
/_psf
{
_fc
ashow
} ddef
/_pjsf
{
_fc
awidthshow
} ddef
/_lp /none ddef
} def
/G
{
/_gs exch ddef
/_sc
{
_lp /stroke ne
{
_os setoverprint
_gs setgray
/_lp /stroke ddef
} if
} ddef
/_ps
{
_sc
stroke
} ddef
/_pss
{
_sc
ss
} ddef
/_pjss
{
_sc
jss
} ddef
/_lp /none ddef
} def
/k
{
_cf astore pop
/_fc
{
_lp /fill ne
{
_of setoverprint
_cf aload pop setcmykcolor
/_lp /fill ddef
} if
} ddef
/_pf
{
_fc
_eo {eofill} {fill} ifelse
} ddef
/_psf
{
_fc
ashow
} ddef
/_pjsf
{
_fc
awidthshow
} ddef
/_lp /none ddef
} def
/K
{
_cs astore pop
/_sc
{
_lp /stroke ne
{
_os setoverprint
_cs aload pop setcmykcolor
/_lp /stroke ddef
} if
} ddef
/_ps
{
_sc
stroke
} ddef
/_pss
{
_sc
ss
} ddef
/_pjss
{
_sc
jss
} ddef
/_lp /none ddef
} def
/x
{
/_gf exch ddef
findcmykcustomcolor
/_if exch ddef
/_fc
{
_lp /fill ne
{
_of setoverprint
_if _gf 1 exch sub setcustomcolor
/_lp /fill ddef
} if
} ddef
/_pf
{
_fc
_eo {eofill} {fill} ifelse
} ddef
/_psf
{
_fc
ashow
} ddef
/_pjsf
{
_fc
awidthshow
} ddef
/_lp /none ddef
} def
/X
{
/_gs exch ddef
findcmykcustomcolor
/_is exch ddef
/_sc
{
_lp /stroke ne
{
_os setoverprint
_is _gs 1 exch sub setcustomcolor
/_lp /stroke ddef
} if
} ddef
/_ps
{
_sc
stroke
} ddef
/_pss
{
_sc
ss
} ddef
/_pjss
{
_sc
jss
} ddef
/_lp /none ddef
} def
/A
{
pop
} def
/annotatepage
{
userdict /annotatepage 2 copy known {get exec} {pop pop} ifelse
} def
/XT {
pop pop
} def
/discard
{
save /discardSave exch store
discardDict begin
/endString exch store
gt38?
{
2 add
} if
load
stopped
pop
end
discardSave restore
} bind def
userdict /discardDict 7 dict dup begin
put
/pre38Initialize
{
/endStringLength endString length store
/newBuff buffer 0 endStringLength getinterval store
/newBuffButFirst newBuff 1 endStringLength 1 sub getinterval store
/newBuffLast newBuff endStringLength 1 sub 1 getinterval store
} def
/shiftBuffer
{
newBuff 0 newBuffButFirst putinterval
newBuffLast 0
currentfile read not
{
stop
} if
put
} def
0
{
pre38Initialize
mark
currentfile newBuff readstring exch pop
{
{
newBuff endString eq
{
cleartomark stop
} if
shiftBuffer
} loop
}
{
stop
} ifelse
} def
1
{
pre38Initialize
/beginString exch store
mark
currentfile newBuff readstring exch pop
{
{
newBuff beginString eq
{
/layerCount dup load 1 add store
}
{
newBuff endString eq
{
/layerCount dup load 1 sub store
layerCount 0 eq
{
cleartomark stop
} if
} if
} ifelse
shiftBuffer
} loop
} if
} def
2
{
mark
{
currentfile buffer readline not
{
stop
} if
endString eq
{
cleartomark stop
} if
} loop
} def
3
{
/beginString exch store
/layerCnt 1 store
mark
{
currentfile buffer readline not
{
stop
} if
dup beginString eq
{
pop /layerCnt dup load 1 add store
}
{
endString eq
{
layerCnt 1 eq
{
cleartomark stop
}
{
/layerCnt dup load 1 sub store
} ifelse
} if
} ifelse
} loop
} def
end
userdict /clipRenderOff 15 dict dup begin
put
{
/n /N /s /S /f /F /b /B
}
{
{
_doClip 1 eq
{
/_doClip 0 ddef _eo {eoclip} {clip} ifelse
} if
newpath
} def
} forall
/Tr /pop load def
/Bb {} def
/BB /pop load def
/Bg {12 npop} def
/Bm {6 npop} def
/Bc /Bm load def
/Bh {4 npop} def
end
/Lb
{
4 npop
6 1 roll
pop
4 1 roll
pop pop pop
0 eq
{
0 eq
{
(%AI5_BeginLayer) 1 (%AI5_EndLayer--) discard
}
{
/clipForward? true def
/Tx /pop load def
/Tj /pop load def
currentdict end clipRenderOff begin begin
} ifelse
}
{
0 eq
{
save /discardSave exch store
} if
} ifelse
} bind def
/LB
{
discardSave dup null ne
{
restore
}
{
pop
clipForward?
{
currentdict
end
end
begin
/clipForward? false ddef
} if
} ifelse
} bind def
/Pb
{
pop pop
0 (%AI5_EndPalette) discard
} bind def
/Np
{
0 (%AI5_End_NonPrinting--) discard
} bind def
/Ln /pop load def
/Ap
/pop load def
/Ar
{
72 exch div
0 dtransform dup mul exch dup mul add sqrt
dup 1 lt
{
pop 1
} if
setflat
} def
/Mb
{
q
} def
/Md
{
} def
/MB
{
Q
} def
/nc 3 dict def
nc begin
/setgray
{
pop
} bind def
/setcmykcolor
{
4 npop
} bind def
/setcustomcolor
{
2 npop
} bind def
currentdict readonly pop
end
end
setpacking
%%EndResource
%%BeginResource: procset Adobe_blend_AI5 1.4 0
%%Title: (Adobe Illustrator (R) Version 5.0 Blend ProcSet)
%%Version: 1.4 0
%%CreationDate: (11/19/93) ()
%%Copyright: ((C) 1987-1996 Adobe Systems Incorporated All Rights Reserved)
userdict /defaultpacking currentpacking put true setpacking
userdict /Adobe_blend_AI5 70 dict dup begin
put
/bd
{
bind def
} bind def
/xs
{
exch store
} bd
/nullProc
{
{
}
} def
/initialize
{
pop pop
Adobe_blend_AI5 begin
Adobe_blend_AI5_vars begin
/_contoneDevice where
{
pop
}
{
/_contoneDevice false def
} ifelse
/_dpiThreshold where
{
pop
}
{
/_dpiThreshold 600 def
} ifelse
/_screenFreqThreshold where
{
pop
}
{
/_screenFreqThreshold 150 def
} ifelse
/tRectOK? deviceDPI _dpiThreshold le currentScreenFreq _screenFreqThreshold le and _contoneDevice not and def
/invertXfer
{
[
{
1 exch sub
} /exec load systemdict/currenttransfer get exec /exec load
] cvx systemdict/settransfer get exec
} bd
/spotDict 3 dict dup begin
/nSpots 2 def
/spot1 7 dict def
/spot2 7 dict def
end
def
composite?
{
/_setgray_ /setgray load def
/_fill_ /fill load def
/_image_ /image load def
}
{
/_setgray_ systemdict/setgray get def
/_fill_ systemdict/fill get def
/_image_ systemdict/image get def
} ifelse
} bd
/terminate
{
currentdict Adobe_blend_AI5_vars eq
{
end
currentdict Adobe_blend_AI5 eq
{
end
} if
} if
} bd
/_compositeSpotDevice where
{
begin
_compositeSpotDevice 0 ne {userdict /composite? true put} if
end
}
{
/_compositeSpotDevice 0 def
} ifelse
/nullString () def
/d255 256 array def
0 1 255
{
d255 exch dup 255 div put
} bind for
/d255- 256 array def
0 1 255
{
d255- exch 1 d255 2 index get sub put
} bind for
/dUserSpace matrix defaultmatrix def
currentdict /Adobe_blend_AI5_vars 89 dict dup begin
put
{
/f /F /s /S /b /B
}
{
null def
} bind forall
/byte 1 string def
/sSave null def
/setSSave
{
save /sSave exch store
} bind def
/Bm null def
/doBlend null def
/startC? false def
/endC? false def
/fCMYK? null def
/startTint 0 def
/endTint 0 def
/bSMatrix matrix def
/bUMatrix matrix def
/dMatrix matrix def
/inLine? true def
/pTState? false def
/bHi? false def
/yHi 0 def
/xHi 0 def
/noImg /lv1Fix where
{
pop lv1Fix
}
{
false
} ifelse
def
/ccAry1 5 array def
/ccTint 0 def
/spotColor? false def
/colorimage? true def
[
/tint1Data
/tint2Data
/spotDict
/bAxis
/ubAxis
/pChange
/optimize?
/nSamples
/sInc
/blendProc
/_bn
/xBCInc
/yBCInc
/bInc
/bRender
/cBName
/cBType
/nColors
/color?
/blend?
/colorType
/cData
/cDataLen
/bDataLen
/rampPoint
/midPoint
/endPoint
/blendLength
/blackData
/yeData
/mgData
/cyData
/cnt1
/ndx
/_fill
/tmp
counttomark
{
null def
} bind
repeat
pop
currentdict
end
currentdict
end
exch
begin
begin
/unitSq
{
0 0 moveto 0 1 lineto 1 1 lineto 1 0 lineto closepath
} bd
/gMark
{
counttomark 2 add -1 roll
} bd
/setCustomColor
{
dup /ccTint exch store
1 exch sub 6 1 roll
ccAry1 astore
exch setcustomcolor
} bd
/currentCustomColor
{
ccAry1 aload pop ccTint
} bd
/nsetcustomcolor where
{
pop
}
{
/nsetcustomcolor
{
pop setcmykcolor
} bd
} ifelse
/nsetcustomcolorend where
{
pop
}
{
/nsetcustomcolorend
{
} bd
} ifelse
/setBSpace
{
newpath bUMatrix astore concat unitSq
} bd
/setCStop
{
dup 0 eq
{
pop
spotColor?
{
dup 1 exch sub /ccTint exch def
ccAry1 4 /Black put
} if
setgray
}
{
1 eq
{
setcmykcolor
}
{
composite? not colorType 2 lt and
{
forceCMYK
}
{
setCustomColor
} ifelse
} ifelse
} ifelse
} bd
/makeByte
{
/tmp 0 store
255 mul cvi
8 string 8
{
dup tmp 3 index put /tmp tmp 1 add store
} repeat
exch pop
} bd
/setImgSpace
{
cDataLen 1 8
2 index 0 0 1 0 0 dMatrix astore
} bd
/bwImage
{
setImgSpace cData /_image_ load
{
exec
} stopped
{
$error /errorname get /undefinedresult ne
{
stop
}
{
pop pop pop pop pop
} ifelse
} if
} bd
level2?
{
/bFill
{
_fill
} def
/bCImg
{
/cDataLen bDataLen store
setImgSpace
setSSave
expandSpot
cyData mgData yeData cData
expandCMYK
true 4 spotDict
{
ncolorimage
} stopped
{
$error /errorname get /undefinedresult ne
{
stop
}
{
10
{
pop
} repeat
} ifelse
} if
sSave restore
} bd
} if
/expandOne
{
dup type /stringtype ne
{
cDataLen string
exch
dup 0 ne
{
255 mul cvi
0 1 cDataLen 1 sub
{
3 copy
exch put pop
} for
} if
pop
} if
} bd
/expandSpot
{
spotColor?
{
spotDict begin
spot1 begin
tintImage type /nulltype ne
{
tintImage expandOne /tintImage exch def
} if
end
spot2 begin
tintImage type /nulltype ne
{
tintImage expandOne /tintImage exch def
} if
end
end
} if
} bd
/expandCMYK
{
4
{
expandOne 4 1 roll
} repeat
} bd
/colorimage where dup
{
exch pop
/ncolorimage where
{
pop
}
{
/ncolorimage {pop colorimage} bd
} ifelse
} if
not
{
/ncolorimage where
{
pop
}
{
/colorimage? false store
/ncolorimage
{
pop pop pop
setSSave
/blackData xs
/yeData xs
/mgData xs
/cyData xs
/cnt1 0 store
[
byte dup 0
cyData dup type /stringtype eq
{
/cnt1 cvx /get cvx d255 /exch cvx /get cvx .3 /mul cvx
}
{
.3 mul
} ifelse
mgData dup type /stringtype eq
{
/cnt1 cvx /get cvx d255 /exch cvx /get cvx .59 /mul cvx
}
{
.59 mul
} ifelse
yeData dup type /stringtype eq
{
/cnt1 cvx /get cvx d255 /exch cvx /get cvx .11 /mul cvx
}
{
.11 mul
} ifelse
blackData dup type /stringtype eq
{
/cnt1 cvx /get cvx d255 /exch cvx /get cvx
} if
/add cvx /add cvx /add cvx 1 /exch cvx /sub cvx
/dup cvx 0 /lt cvx
{
pop 0
} /if cvx
/dup cvx 1 /gt cvx
{
pop 1
} /if cvx
255 /mul cvx /cvi cvx
256 /mod cvx
/dup cvx 0 /lt cvx
{
pop 0
} /if cvx
/put cvx
/cnt1 dup cvx 1 /add cvx /store cvx
] cvx
bind
_image_
sSave restore
} bd
} ifelse
} if
level2? not
{
/bCImg
{
/cDataLen bDataLen store
setImgSpace
setSSave
expandSpot
cyData mgData yeData cData
colorimage?
{
expandCMYK
} if
true 4 spotDict
{
ncolorimage
} stopped
{
$error /errorname get /undefinedresult ne
{
stop
}
{
10
{
pop
} repeat
} ifelse
} if
sSave restore
} bd
/bwFill
{
setSSave
/cDataLen 8 store
/cData currentgray makeByte store
bwImage
sSave restore
} bd
/c1ImgFill
{
setSSave
/cDataLen 8 store
setImgSpace
spotColor?
{
spotDict begin
spot1 begin
currentCustomColor makeByte /tintImage exch def
/name exch def
/spot_K exch def
/spot_Y exch def
/spot_M exch def
/spot_C exch def
end
spot2 initSpotData
end
} if
currentcmykcolor
4
{
makeByte 4 1 roll
} repeat
true 4 spotDict
{
ncolorimage
} stopped
{
$error /errorname get /undefinedresult ne
{
stop
}
{
10
{
pop
} repeat
} ifelse
} if
sSave restore
} bd
/bFill
noImg
{
{
_fill
}
}
{
{
color?
{
c1ImgFill
}
{
bwFill
} ifelse
}
} ifelse
bd
} if
composite?
{
/bCFun
{
color?
{
cyData dup type /stringtype eq
{
/ndx cvx /get cvx d255 /exch cvx /get cvx
} if
mgData dup type /stringtype eq
{
/ndx cvx /get cvx d255 /exch cvx /get cvx
} if
yeData dup type /stringtype eq
{
/ndx cvx /get cvx d255 /exch cvx /get cvx
} if
cData dup type /stringtype eq
{
/ndx cvx /get cvx d255 /exch cvx /get cvx
} if
spotColor?
{
spotDict begin
/spotDict cvx /begin cvx
spot1 begin
tintImage dup type /stringtype eq
{
/ndx cvx /get cvx d255- /exch cvx /get cvx
}
{
dup type /nulltype ne
{
name type /nametype ne {1 exch sub} if
} if
} ifelse
end
/spot1 cvx /tintValue 3 -1 /roll cvx /put cvx
spot2 begin
tintImage dup type /stringtype eq
{
/ndx cvx /get cvx d255- /exch cvx /get cvx
}
{
dup type /nulltype ne
{
name type /nametype ne {1 exch sub} if
} if
} ifelse
end
/spot2 cvx /tintValue 3 -1 /roll cvx /put cvx
/end cvx
end
/spotDict cvx
/nsetcustomcolor cvx
}
{
/setcmykcolor cvx
} ifelse
}
{
cData /ndx cvx /get cvx
d255 /exch cvx /get cvx
/setgray cvx
} ifelse
} bd
/Bc
{
newpath
gsave
setBSpace
nColors 1 eq
{
pop pop
setCStop
} if
bFill
grestore
} bd
/linealBm
{
/nColors dup load 1 sub store
newpath
gsave
setBSpace
blend?
{
linImg
}
{
bFill
} ifelse
grestore
nColors 1 gt
{
getRData
} if
} bd
/rdBm
{
/nColors dup load 1 sub store
_fill
gsave
bUMatrix astore concat
bHi?
{
xHi yHi bUMatrix idtransform /yHi exch store /xHi exch store
rampPoint 1 lt
{
1 rampPoint sub dup xHi mul exch yHi mul translate
} if
} if
nColors
{
0 0 rampPoint 0 360 arc
_fill
blend? bHi? or
{
rdBlend
} if
nColors 1 gt
{
getRData
} if
/nColors dup load 1 sub store
} repeat
/nColors 1 store
grestore
} bd
/cGetRData
{
setCStop
/blend?
cData type /stringtype eq
dup not color? and
{
pop
cyData type /stringtype eq
mgData type /stringtype eq
yeData type /stringtype eq
or or
} if
store
} def
/cGetRData
} if
/eCStop
{
mark
1 index 3 mul 3 add dup 8 gt
{
pop 8
} if
1 roll
cleartomark
} bd
composite? not
{
/knockOut
level2?
{
{
0 0 0 0 setcmykcolor _fill
}
}
{
/bFill noImg
{
{
_fill
}
}
{
{
_of true eq
{
currentgray 1 ne
{
bwFill
} if
}
{
bwFill
} ifelse
}
} ifelse
def
/whiteByte 1 makeByte def
noImg
{
{
0 0 0 0 setcmykcolor _fill
}
}
{
{
cBType 0 eq
{
setSSave
/cData whiteByte store
/cDataLen 8 store
bwImage
sSave restore
}
{
_fill
} ifelse
}
} ifelse
} ifelse
bd
/bCFun
{
cData dup type /stringtype ne
{
color?
{
1 exch sub
} if
}
{
/ndx cvx /get cvx
color? customColor? not and
{
d255-
}
{
d255
} ifelse
/exch cvx /get cvx
} ifelse
/_setgray_ cvx
} bd
/eCCBlend
{
dup 3 eq
{
pop
mark 7 1 roll
6 copy ccThrough? dup /blend? xs
{
/startC? true store
setCustomColor
customColor?
{
/cData tint1Data store
setCDataLen
} if
/endC?
3 index 3 eq
{
4 index 1 ne
}
{
false
} ifelse
store
} if
cleartomark
stop
} if
1 eq
{
pop pop pop
} if
pop
/startC? false store
6
{
8 index
} repeat
ccThrough? dup /blend? xs
{
/endC? true store
blend? not
{
stop
} if
customColor?
{
/cData tint1Data store
setCDataLen
} if
} if
} bd
/handleOP
{
_of not
{
knockOut
} if
} bd
/handleROP
{
_of not
{
0 0 0 0 setcmykcolor _fill
}
{
newpath
} ifelse
} bd
/rdBm
{
/nColors dup load 1 sub store
blend?
{
_fill
}
{
handleROP
} ifelse
gsave
bUMatrix astore concat
bHi?
{
xHi yHi bUMatrix idtransform /yHi exch store /xHi exch store
rampPoint 1 lt
{
1 rampPoint sub dup xHi mul exch yHi mul translate
} if
} if
nColors
{
0 0 rampPoint 0 360 arc
blend?
{
cData type /stringtype ne bHi? not and
{
cData color?
{
1 exch sub
} if
_setgray_
_fill_
}
{
cData type /stringtype ne
{
/cDataLen 1 store
/bDataLen 1 store
} if
rdBlend
} ifelse
}
{
handleROP
pTState?
{
/bAxis rampPoint endPoint sub store
xHi bAxis mul yHi bAxis mul translate
} if
} ifelse
nColors 1 gt
{
getRData
} if
/nColors dup load 1 sub store
} repeat
/nColors 1 store
grestore
} bd
/ccThrough?
{
gsave
pop 0 setCustomColor
currentcmykcolor
grestore
anyColor?
} bd
/forceCMYK
{
exch pop
1 exch sub 5 1 roll
4
{
4 index mul 4 1 roll
} repeat
0
cCMYKData dup /cData ne
{
dup /yeData eq
{
pop 1 add
}
{
/mgData eq
{
2
}
{
3
} ifelse
add
} ifelse
0
} if
pop
index
0 eq
{
pop pop pop pop 0 0 0 0
} if
setcmykcolor
pop
/fCMYK? true store
} bd
/endCapSepBc
{
pop pop
dup 0 eq
{
pop
setgray
}
{
1 eq
{
setcmykcolor
}
{
colorType 1 eq
{
forceCMYK
}
{
fCMYK?
{
forceCMYK
}
{
setCustomColor
} ifelse
} ifelse
} ifelse
} ifelse
currentcmykcolor anyColor?
blend? and
{
bFill
}
{
handleOP
} ifelse
} bd
} if
/cCMYKData 0 def
composite? dup not
{
pop customColor?
} if
not
{
/cCMYKData
/cyData /mgData /yeData /cData
black? not
{
yellow?
{
exch
}
{
magenta?
{
3
}
{
4
} ifelse
-1 roll
} ifelse
} if
4 1 roll pop pop pop
store
/Bc
{
gsave
setBSpace
nColors 1 gt
{
blend? currentcmykcolor anyColor? and
{
bFill
}
{
handleOP
} ifelse
}
{
endCapSepBc
} ifelse
grestore
newpath
} bd
/linealBm
{
/nColors dup load 1 sub store
newpath
gsave
setBSpace
blend?
{
cCMYKData load dup type /stringtype eq
{
dup length /cDataLen xs
/cData xs
gsave
colorType 0 ne noImg not and
{
invertXfer
} if
linImg
grestore
}
{
pop bFill
} ifelse
}
{
handleOP
} ifelse
grestore
nColors 1 gt
{
getRData
} if
} bd
/cmykGetRData
{
/fCMYK? false store
blend?
{
{
cmykDataProcs colorType get exec
} stopped
pop
blend?
{
/cData cCMYKData load store
setCDataLen
} if
} if
} def
/cmykDataProcs
[
{
pop
black? dup /blend? xs
{
setgray
0
} if
pop
}
{
cCMYKData load dup type /stringtype ne
{
0 0 0
cyan? not
{
4 magenta?
{
1
}
{
yellow?
{
2
}
{
3
} ifelse
} ifelse
roll
} if
4 copy add add add 0 eq
{
/blend? false store
} if
setcmykcolor
/startC? true store
/endC? true store
eCStop
stop
} if
pop
dup 0 eq
{
pop
setgray
}
{
1 eq
{
setcmykcolor
}
{
forceCMYK
} ifelse
} ifelse
} bind
/eCCBlend load
{
cBType 1 eq
{
tint1Data tint2Data
/tint1Data xs
/tint2Data xs
} if
0 eq
{
black?
{
setgray
}
{
0 0 0 4 -1 roll 1 exch sub setcmykcolor
} ifelse
black?
{
/blend? true store
} if
6
{
8 index
} repeat
ccThrough?
{
/blend? true store
}
{
black?
{
/cData tint1Data store
setCDataLen
}
{
/blend? false store
} ifelse
} ifelse
}
{
mark 7 1 roll
6 copy ccThrough?
{
forceCMYK
pop
stop
} if
9 index 0 eq
{
black? dup /blend? xs
{
pop 1 setgray
/cData tint2Data store
setCDataLen
0
} if
pop
}
{
/blend?
6
{
16 index
} repeat
ccThrough?
store
blend?
{
forceCMYK
} if
} ifelse
cleartomark
} ifelse
} bind
] def
/cmykGetRData
} if
composite? dup not
{
pop isCMYKSep?
} if
not
{
/endCapSepBc
{
/white? false store
pop pop
dup 0 eq
{
pop
/white? 1 index 1 eq store
setgray
}
{
1 eq
{
setcmykcolor
}
{
setCustomColor
} ifelse
} ifelse
%
currentcmykcolor anyColor?
endC? or
blend? and
{
bFill
}
{
handleOP
} ifelse
} bd
/Bc
{
gsave
setBSpace
nColors 1 gt
{
blend? startC? and
{
bFill
}
{
handleOP
} ifelse
}
{
endCapSepBc
} ifelse
grestore
newpath
} bd
/linealBm
{
/nColors dup load 1 sub store
newpath
gsave
setBSpace
blend?
{
cData type /stringtype eq
{
linImg
}
{
bFill
} ifelse
}
{
handleOP
} ifelse
grestore
nColors 1 gt
{
getRData
} if
} bd
/discardCMY
{
counttomark 4 add -3 roll pop pop pop
} bd
/testTopCC
{
6 copy ccThrough?
} bd
/getCRamp
{
{
ccDataProcs colorType 2 sub get exec
} stopped pop
blend? cDataLen 0 eq and
{
/cDataLen bDataLen store
} if
} bd
/ccGetRData
{
/fCMYK? false store
/startC? false store
/endC? false store
colorType 2 lt
{
/blend? false def
} if
blend?
{
getCRamp
}
{
setCStop
} ifelse
blend?
{
/blend? cData 1 ne store
blend?
{
cData dup type /stringtype ne
{
1 exch sub /cData xs 0
} if
pop
} if
} if
} def
/ccDataProcs
[
/eCCBlend load
{
cBType 1 eq
{
tint1Data tint2Data
/tint1Data xs
/tint2Data xs
} if
0 eq
{
/blend? false store
pop
}
{
mark 7 1 roll
testTopCC
{
/blend? 1 index 1 ne store
/startC? blend? store
/endC? false store
blend? not
{
cleartomark stop
} if
/cData tint1Data store
setCDataLen
setCustomColor
pop
stop
} if
cleartomark
} ifelse
2 index 0 eq
{
/blend? false store
}
{
mark 6
{
9 index
} repeat
testTopCC dup /blend? xs
{
/blend? 1 index 1 ne store
/endC? blend? store
/startC? false store
blend? not
{
cleartomark stop
} if
/cData tint2Data store
setCDataLen
} if
cleartomark
} ifelse
} bind
] def
/ccGetRData
} if
load Adobe_blend_AI5_vars /getData 3 -1 roll put
/setCDataLen
{
/cDataLen 0 cData dup type /stringtype eq
{
length exch
} if
pop store
} bd
/initSpotData
{
begin
/name null def
/tintImage null def
/tintValue null def
/spot_C null def
/spot_M null def
/spot_Y null def
/spot_K null def
end
} bd
/getRData
{
/colorType gMark store
_compositeSpotDevice 0 ne
{
spotDict begin
spot1 initSpotData
spot2 initSpotData
end
/spotColor? colorType 2 eq colorType 3 eq or def
}
{
/spotColor? false store
} ifelse
/blend? true store
0 0 0 0 setcmykcolor
100 div /rampPoint xs
% (between 13 and 87%)
100 div /midPoint xs
dup 0 eq
{
2
}
{
dup 1 eq
{
5
}
{
_compositeSpotDevice 0 ne
{
spotDict begin
spot1 begin
/name 3 index def
/spot_K 4 index def
/spot_Y 5 index def
/spot_M 6 index def
/spot_C 7 index def
end
end
} if
7
} ifelse
} ifelse
/tmp exch def
tmp index 100 div /endPoint xs
_compositeSpotDevice 0 ne
{
tmp 2 add index 3 eq
{
/tmp tmp 4 add def
tmp index dup
spotDict begin
spot1/name get ne
{
spot2 begin
/name exch def
/spot_K tmp 2 add index def
/spot_Y tmp 3 add index def
/spot_M tmp 4 add index def
/spot_C tmp 5 add index def
end
}
{
pop
} ifelse
end
} if
} if
/color? colorType 0 gt store
colorType 3 eq
{
/tint2Data gMark store
} if
colorType 2 ge
{
/tint1Data gMark store
} if
_compositeSpotDevice 0 ne
{
spotDict begin
colorType 2 ge
{
colorType 3 eq
{
spot2 begin
/tintImage cBType 0 eq {tint2Data} {tint1Data} ifelse def
name null eq {/name /Black def} if
end
} if
spot1 begin
/tintImage cBType 0 eq colorType 2 eq or {tint1Data} {tint2Data} ifelse def
colorType 2 eq
{
name null eq
{
/name spot2/name get def
spot2/name null put
} if
}
{
name null eq {/name /Black def} if
} ifelse
end
} if
end
} if
/cData gMark store
setCDataLen
colorType 0 gt
{
counttomark 4 add -3 roll
/yeData xs
/mgData xs
/cyData xs
} if
blend?
{
/bDataLen
cDataLen dup 0 eq color? and
{
[
cyData mgData yeData
]
{
dup type /stringtype eq
{
length exch pop exit
} if
pop
} forall
} if
store
bDataLen 0 eq
{
/bDataLen 1 store
} if
getData
blend?
{
composite? cDataLen 0 eq and
{
/cDataLen bDataLen store
} if
} if
}
{
setCStop
} ifelse
} bd
/Bg
{
0 0 0 0 setcmykcolor
6
{
pop
} repeat
/blendLength xs
pop pop pop
/cBName xs
/bRender xs
bRender 2 ne
{
composite? not
{
_of setoverprint
} if
_eo {eoclip} {clip} ifelse
_bn cBName 2 copy known
{
get
mark exch aload pop
/cBType xs
/nColors xs
mark exch aload pop
0 0
} if
pop pop
getRData
cBType 0 eq
{
/linealBm
}
{
bHi?
{
/pTState? nColors 2 gt store
} if
/doBlend /rdBlend load store
/rdBm
} ifelse
}
{
inLine? not
{
mark mark
} if
/Bc dup
{
cleartomark mark
} bd
/nullProc
} ifelse
load /Bm xs
} bd
/linImg
noImg
{
{
newpath doRctBlend
}
}
{
{
/doBlend
color? composite? and
{
/bCImg
}
{
/bwImage
} ifelse
load
store
0 0 moveto
tRectOK? composite? and
{
{
mark
0 1 dtransform atan cvi 90 mod 0 eq
1 0 dtransform atan cvi 90 mod 0 eq
} stopped
{
cleartomark
}
{
and exch pop
{
newpath
doRctBlend
}
{
doBlend
} ifelse
} ifelse
}
{
doBlend
} ifelse
}
} ifelse
bd
/doRctBlend
{
gsave
/sInc 1 store
/nSamples bDataLen store
/bInc 1 bDataLen div store
/ubAxis 1 0 dtransform dUserSpace idtransform dup mul exch dup mul add sqrt store
/pChange ubAxis 0 eq
{
0
}
{
bDataLen ubAxis div
} ifelse
store
pChange .5 gt noImg not and dup /optimize? xs
{
/nSamples ubAxis 2 div round cvi dup 1 le
{
pop 2
} if
store
/bInc 1 nSamples div store
/sInc bDataLen 1 sub nSamples 1 sub div store
} if
0
nSamples
[
/dup cvx
optimize?
{
/round cvx /cvi cvx
} if
/ndx /exch cvx /store cvx
bCFun
/rectfill where dup
{
exch pop _compositeSpotDevice 1 ne and
} if
{
0 0 bInc 1 /rectfill cvx
}
{
0 0 /moveto cvx
bInc 0 /lineto cvx
bInc 1 /lineto cvx
0 1 /lineto cvx
/closepath cvx
/_fill_ cvx
} ifelse
bInc 0 /translate cvx
sInc /add cvx
] cvx
bind
repeat
pop
spotColor? {nsetcustomcolorend} if
grestore
} bd
/rdPrep
{
/nSamples bDataLen dup 0 eq
{
pop 1
} if
store
/sInc -1 store
/bAxis rampPoint endPoint sub store
/bInc bAxis bDataLen div neg store
/optimize? false store
tRectOK?
{
/ubAxis
bAxis 0 dtransform dUserSpace idtransform dup mul exch dup mul add sqrt
0 bAxis dtransform dUserSpace idtransform dup mul exch dup mul add sqrt
2 copy lt
{
exch
} if
pop store
/pChange ubAxis 0 eq
{
0
}
{
bDataLen ubAxis div
} ifelse
store
pChange .5 gt noImg not and dup /optimize? xs
{
/nSamples ubAxis 2 div round cvi dup 1 le
{
pop 2
} if
store
/bInc bAxis nSamples div neg store
/sInc bDataLen 1 sub nSamples 1 sub div neg store
} if
} if
bHi?
{
/xBCInc xHi bAxis mul nSamples div store
/yBCInc yHi bAxis mul nSamples div store
} if
} bd
/rdBlend
{
newpath
gsave
rdPrep
rampPoint
bDataLen 1 sub
nSamples
[
/dup cvx
optimize?
{
/round cvx /cvi cvx
} if
/ndx /exch cvx /store cvx
bCFun
0 0 3 /index cvx 0 360 /arc cvx /_fill_ cvx
/exch cvx bInc /add cvx /exch cvx
sInc /add cvx
bHi?
{
xBCInc yBCInc /translate cvx
} if
] cvx
bind
repeat
pop pop
spotColor? {nsetcustomcolorend} if
grestore
pTState?
{
xHi bAxis mul yHi bAxis mul translate
} if
} bd
/Bh
{
pop pop
/pTState? false store
2 copy 0 ne exch 0 ne or dup /bHi? xs
{
/yHi xs
/xHi xs
0 0
} if
pop pop
} bd
/BD
{
inLine? not
{
] nColors cBType
] _bn cBName 3 -1 roll put
end
} if
} bd
/Bn
{
1 add dict
dup nullString null put
/_bn xs
} bd
/Bd
{
Adobe_blend_AI5_vars begin
3 -1 roll dup nullString eq dup
{
setSSave
} if
/inLine? exch def
/cBName exch def
/nColors exch def
/cBType exch def
} bd
/Bb
{
sSave null eq
{
Adobe_blend_AI5_vars begin
setSSave
} if
composite?
{
/_fill /fill load store
}
{
/__fill /fill load store
/_fill
{
_of true eq
{
currentgray 1 ne
{
__fill
} if
}
{
__fill
} ifelse
} def
} ifelse
/fill
{
} def
} bd
/BB
{
/cBType xs
cleartomark cleartomark
cBType dup
bRender
sSave dup type /savetype eq
{
restore 0
} if
pop
currentdict Adobe_blend_AI5_vars eq
{
end
} if
2 ne exch 0 gt and
{
2 eq
{
s
}
{
S
} ifelse
}
{
pop newpath
} ifelse
} bd
currentdict readonly pop
end
end
defaultpacking setpacking
%%EndResource
%%BeginResource: procset Adobe_pattern_AI5 1.1 0
%%Title: (Adobe Illustrator (R) Version 5.0 Pattern Operators)
%%Version: 1.1 0
%%CreationDate: (03/26/93) ()
%%Copyright: ((C) 1987-1996 Adobe Systems Incorporated All Rights Reserved)
currentpacking true setpacking
userdict /Adobe_Illustrator_AI5 known not {
userdict /Adobe_Illustrator_AI5 95 dict put
} if
userdict /Adobe_Illustrator_AI5 get begin
/@
{
} def
/&
{
} def
/dp
{
dup null eq
{
pop
_dp 0 ne
{
0 1 _dp 1 sub _dl mod
{
_da exch get 3 get
} for
_dp 1 sub _dl mod 1 add packedarray
_da 0 get aload pop 8 -1 roll 5 -1 roll pop 4 1 roll
definepattern pop
} if
}
{
_dp 0 ne _dp _dl mod 0 eq and
{
null dp
} if
7 packedarray _da exch _dp _dl mod exch put
_dp _dl mod _da 0 get 4 get 2 packedarray
/_dp _dp 1 add def
} ifelse
} def
/E
{
_ed begin
dup 0 get type /arraytype ne
{
0
{
dup 1 add index type /arraytype eq
{
1 add
}
{
exit
} ifelse
} loop
array astore
} if
/_dd exch def
/_ury exch def
/_urx exch def
/_lly exch def
/_llx exch def
/_n exch def
/_y 0 def
/_dl 4 def
/_dp 0 def
/_da _dl array def
0 1 _dd length 1 sub
{
/_d exch _dd exch get def
0 2 _d length 2 sub
{
/_x exch def
/_c _d _x get _ ne def
/_r _d _x 1 add get cvlit def
_r _ ne
{
_urx _llx sub _ury _lly sub
[
1 0 0 1 0 0
]
[
/save cvx
_llx neg _lly neg /translate cvx
_c
{
nc /begin cvx
} if
_r dup type /stringtype eq
{
cvx
}
{
{
exec
} /forall cvx
} ifelse
_c
{
/end cvx
} if
/restore cvx
] cvx
/_fn 12 _n length add string def
_y _fn cvs pop
/_y _y 1 add def
_fn 12 _n putinterval
_fn _c false dp
_d exch _x 1 add exch put
} if
} for
} for
null dp
_n _dd /_pd
end
xput
} def
/fc
{
_fm dup concatmatrix pop
} def
/p
{
/_fm exch ddef
9 -2 roll _pm translate fc
7 -2 roll _pm scale fc
5 -1 roll _pm rotate fc
4 -2 roll exch 0 ne
{
dup _pm rotate fc
1 -1 _pm scale fc
neg _pm rotate fc
}
{
pop
} ifelse
dup _pm rotate fc
exch dup sin exch cos div 1 0 0 1 0 6 2 roll
_pm astore fc
neg _pm rotate fc
_pd exch get /_fdd exch ddef
/_pf
{
save
/_doClip 0 ddef
0 1 _fdd length 1 sub
{
/_fd exch _fdd exch get ddef
_fd
0 2 _fd length 2 sub
{
gsave
2 copy get dup _ ne
{
cvx exec _fc
}
{
pop
} ifelse
2 copy 1 add get dup _ ne
{
aload pop findfont _fm
patternfill
}
{
pop
fill
} ifelse
grestore
pop
} for
pop
} for
restore
newpath
} ddef
/_psf
{
save
/_doClip 0 ddef
0 1 _fdd length 1 sub
{
/_fd exch _fdd exch get ddef
_fd
0 2 _fd length 2 sub
{
gsave
2 copy get dup _ ne
{
cvx exec _fc
}
{
pop
} ifelse
2 copy 1 add get dup _ ne
{
aload pop findfont _fm
9 copy 6 npop patternashow
}
{
pop
6 copy 3 npop hvashow
} ifelse
grestore
pop
} for
pop
} for
restore
sw rmoveto
} ddef
/_pjsf
{
save
/_doClip 0 ddef
0 1 _fdd length 1 sub
{
/_fd exch _fdd exch get ddef
_fd
0 2 _fd length 2 sub
{
gsave
2 copy get dup _ ne
{
cvx exec _fc
}
{
pop
} ifelse
2 copy 1 add get dup _ ne
{
aload pop findfont _fm
12 copy 6 npop patternawidthshow
}
{
pop 9 copy 3 npop hvawidthshow
} ifelse
grestore
pop
} for
pop
} for
restore
swj rmoveto
} ddef
/_lp /none ddef
} def
/sc
{
_sm dup concatmatrix pop
} def
/P
{
/_sm exch ddef
9 -2 roll _pm translate sc
7 -2 roll _pm scale sc
5 -1 roll _pm rotate sc
4 -2 roll exch 0 ne
{
dup _pm rotate sc
1 -1 _pm scale sc
neg _pm rotate sc
}
{
pop
} ifelse
dup _pm rotate sc
exch dup sin exch cos div 1 0 0 1 0 6 2 roll
_pm astore sc
neg _pm rotate sc
_pd exch get /_sdd exch ddef
/_ps
{
save
/_doClip 0 ddef
0 1 _sdd length 1 sub
{
/_sd exch _sdd exch get ddef
_sd
0 2 _sd length 2 sub
{
gsave
2 copy get dup _ ne
{
cvx exec _sc
}
{
pop
} ifelse
2 copy 1 add get dup _ ne
{
aload pop findfont _sm
patternstroke
}
{
pop stroke
} ifelse
grestore
pop
} for
pop
} for
restore
newpath
} ddef
/_pss
{
save
/_doClip 0 ddef
0 1 _sdd length 1 sub
{
/_sd exch _sdd exch get ddef
_sd
0 2 _sd length 2 sub
{
gsave
2 copy get dup _ ne
{
cvx exec _sc
}
{
pop
} ifelse
2 copy 1 add get dup _ ne
{
aload pop findfont _sm
10 copy 6 npop patternashowstroke
}
{
pop 7 copy 3 npop ss
} ifelse
grestore
pop
} for
pop
} for
restore
pop sw rmoveto
} ddef
/_pjss
{
save
/_doClip 0 ddef
0 1 _sdd length 1 sub
{
/_sd exch _sdd exch get ddef
_sd
0 2 _sd length 2 sub
{
gsave
2 copy get dup _ ne
{
cvx exec _sc
}
{
pop
} ifelse
2 copy 1 add get dup _ ne
{
aload pop findfont _sm
13 copy 6 npop patternawidthshowstroke
}
{
pop 10 copy 3 npop jss
} ifelse
grestore
pop
} for
pop
} for
restore
pop swj rmoveto
} ddef
/_lp /none ddef
} def
end
userdict /Adobe_pattern_AI5 18 dict dup begin
put
/initialize
{
/definepattern where
{
pop
}
{
begin
begin
Adobe_pattern_AI5 begin
Adobe_pattern_AI5
{
dup xcheck
{
bind
} if
pop pop
} forall
mark
cachestatus 7 1 roll pop pop pop pop exch pop exch
{
{
10000 add
dup 2 index gt
{
exit
} if
dup setcachelimit
} loop
} stopped
cleartomark
end
end
end
Adobe_pattern_AI5 begin
} ifelse
} def
/terminate
{
currentdict Adobe_pattern_AI5 eq
{
end
} if
} def
errordict
/nocurrentpoint
{
pop
stop
} put
errordict
/invalidaccess
{
pop
stop
} put
/patternencoding
256 array def
0 1 255
{
patternencoding exch ( ) 2 copy exch 0 exch put cvn put
} for
/definepattern
{
17 dict begin
/uniform exch def
/cache exch def
/key exch def
/procarray exch def
/mtx exch matrix invertmatrix def
/height exch def
/width exch def
/ctm matrix currentmatrix def
/ptm matrix def
/str 32 string def
/slice 9 dict def
slice /s 1 put
slice /q 256 procarray length div sqrt floor cvi put
slice /b 0 put
/FontBBox
[
0 0 0 0
] def
/FontMatrix mtx matrix copy def
/Encoding patternencoding def
/FontType 3 def
/BuildChar
{
exch
begin
/setstrokeadjust where {pop true setstrokeadjust} if
slice begin
dup q dup mul mod s idiv /i exch def
dup q dup mul mod s mod /j exch def
q dup mul idiv procarray exch get
/xl j width s div mul def
/xg j 1 add width s div mul def
/yl i height s div mul def
/yg i 1 add height s div mul def
uniform
{
1 1
}
{
width 0 dtransform
dup mul exch dup mul add sqrt dup 1 add exch div
0 height dtransform
dup mul exch dup mul add sqrt dup 1 add exch div
} ifelse
width 0 cache
{
xl 4 index mul yl 4 index mul xg 6 index mul yg 6 index mul
setcachedevice
}
{
setcharwidth
} ifelse
gsave
scale
newpath
xl yl moveto
xg yl lineto
xg yg lineto
xl yg lineto
closepath
clip
newpath
end
end
exec
grestore
} def
key currentdict definefont
end
} def
/patterncachesize
{
gsave
newpath
0 0 moveto
width 0 lineto
width height lineto
0 height lineto
closepath
patternmatrix setmatrix
pathbbox
exch ceiling 4 -1 roll floor sub 3 1 roll
ceiling exch floor sub
mul 1 add
grestore
} def
/patterncachelimit
{
cachestatus 7 1 roll 6 npop 8 mul
} def
/patternpath
{
exch dup begin
setfont
ctm setmatrix
concat
slice exch /b exch slice /q get dup mul mul put
FontMatrix concat
uniform
{
width 0 dtransform round width div exch round width div exch
0 height dtransform round height div exch height div exch
0 0 transform round exch round exch
ptm astore setmatrix
}
{
ptm currentmatrix pop
} ifelse
{
currentpoint
} stopped not
{
2 npop
pathbbox
true
4 index 3 index eq
4 index 3 index eq
and
{
pop false
{
{
2 npop
}
{
3 npop true
}
{
7 npop true
}
{
pop true
} pathforall
} stopped
{
5 npop true
} if
} if
{
height div ceiling height mul 4 1 roll
width div ceiling width mul 4 1 roll
height div floor height mul 4 1 roll
width div floor width mul 4 1 roll
2 index sub height div ceiling cvi exch
3 index sub width div ceiling cvi exch
4 2 roll moveto
FontMatrix mtx invertmatrix
dup dup 4 get exch 5 get rmoveto
ptm ptm concatmatrix pop
slice /s
patterncachesize patterncachelimit div ceiling sqrt ceiling cvi
dup slice /q get gt
{
pop slice /q get
} if
put
0 1 slice /s get dup mul 1 sub
{
slice /b get add
gsave
0 1 str length 1 sub
{
str exch 2 index put
} for
pop
dup
{
gsave
ptm setmatrix
1 index str length idiv
{
str show
} repeat
1 index str length mod str exch 0 exch getinterval show
grestore
0 height rmoveto
} repeat
grestore
} for
2 npop
}
{
4 npop
} ifelse
} if
end
} def
/patternclip
{
_eo {eoclip} {clip} ifelse
} def
/patternstrokepath
{
strokepath
} def
/patternmatrix
matrix def
/patternfill
{
dup type /dicttype eq
{
Adobe_pattern_AI5 /patternmatrix get
} if
gsave
patternclip
Adobe_pattern_AI5 /patternpath get exec
grestore
newpath
} def
/patternstroke
{
dup type /dicttype eq
{
Adobe_pattern_AI5 /patternmatrix get
} if
gsave
patternstrokepath
true
{
{
{
newpath
moveto
}
{
lineto
}
{
curveto
}
{
closepath
3 copy
Adobe_pattern_AI5 /patternfill get exec
} pathforall
3 npop
} stopped
{
5 npop
patternclip
Adobe_pattern_AI5 /patternfill get exec
} if
}
{
patternclip
Adobe_pattern_AI5 /patternfill get exec
} ifelse
grestore
newpath
} def
/vpatternawidthshow
{
6 1 roll
/_hvay exch ddef
/_hvax exch ddef
/_hvwb exch ddef
/_hvcy exch ddef
/_hvcx exch ddef
{
dup cstring
dup length 1 eq
_charorientation 1 eq
and
{
-90 rotate
currentpoint
_fontRotateAdjust add
moveto
gsave
false charpath currentpoint
5 index 5 index 5 index Adobe_pattern_AI5 /patternfill get exec
grestore
_fontRotateAdjust sub
moveto
_hvwb eq { _hvcx _hvcy rmoveto } if
_hvax _hvay rmoveto
90 rotate
}
{
currentpoint
_fontHeight sub
_hvax sub
3 index _hvwb eq { _hvcx sub } if
currentpoint
exch 4 index stringwidth pop 2 div sub
exch _fontAscent sub
moveto
gsave
2 index false charpath
6 index 6 index 6 index Adobe_pattern_AI5 /patternfill get exec
grestore
newpath moveto pop pop
} ifelse
} cforall
3 npop
} def
/hpatternawidthshow
{
{
dup cstring exch
gsave
3 index eq { 5 index 5 index rmoveto } if
false charpath currentpoint
9 index 9 index 9 index
Adobe_pattern_AI5 /patternfill get exec
grestore
newpath moveto
2 copy rmoveto
} cforall
8 npop
} def
/patternashow
{
0 0 0 6 3 roll
patternawidthshow
} def
/patternawidthshow
{
6 index type /dicttype eq
{
Adobe_pattern_AI5 /patternmatrix get 7 1 roll
} if
_lineorientation 0 eq { hpatternawidthshow } { vpatternawidthshow } ifelse
} def
/vpatternawidthshowstroke
{
7 1 roll
6 1 roll
/_hvay exch ddef
/_hvax exch ddef
/_hvwb exch ddef
/_hvcy exch ddef
/_hvcx exch ddef
{
dup cstring
dup length 1 eq
_charorientation 1 eq
and
{
-90 rotate
currentpoint
_fontRotateAdjust add
moveto
gsave
false charpath currentpoint
3 index setmatrix
6 index 6 index 6 index Adobe_pattern_AI5 /patternstroke get exec
grestore
_fontRotateAdjust sub
moveto
_hvwb eq { _hvcx _hvcy rmoveto } if
_hvax _hvay rmoveto
90 rotate
}
{
currentpoint
_fontHeight sub
_hvax sub
3 index _hvwb eq { _hvcx sub } if
currentpoint
exch 4 index stringwidth pop 2 div sub
exch _fontAscent sub
moveto
gsave
2 index false charpath
4 index setmatrix
7 index 7 index 7 index Adobe_pattern_AI5 /patternstroke get exec
grestore
newpath moveto pop pop
} ifelse
} cforall
4 npop
} def
/hpatternawidthshowstroke
{
7 1 roll
{
dup cstring exch
gsave
3 index eq { 5 index 5 index rmoveto } if
false charpath currentpoint
7 index setmatrix
10 index 10 index 10 index
Adobe_pattern_AI5 /patternstroke get exec
grestore
newpath moveto
2 copy rmoveto
} cforall
9 npop
} def
/patternashowstroke
{
0 0 0 7 3 roll
patternawidthshowstroke
} def
/patternawidthshowstroke
{
7 index type /dicttype eq
{
patternmatrix /patternmatrix get 8 1 roll
} if
_lineorientation 0 eq { hpatternawidthshowstroke } { vpatternawidthshowstroke } ifelse
} def
end
setpacking
%%EndResource
%%EndProlog
%%BeginSetup
Adobe_level2_AI5 /initialize get exec
Adobe_screens_AI5 /initialize get exec
Adobe_Illustrator_AI5_vars Adobe_Illustrator_AI5 Adobe_typography_AI5 /initialize get exec
Adobe_Illustrator_AI5_vars Adobe_Illustrator_AI5 Adobe_blend_AI5 /initialize get exec
Adobe_Illustrator_AI5_vars Adobe_Illustrator_AI5 Adobe_pattern_AI5 /initialize get exec
Adobe_ColorImage_AI6 /initialize get exec
Adobe_Illustrator_AI5 /initialize get exec
[
39/quotesingle 96/grave 130/quotesinglbase 131/florin 132/quotedblbase
133/ellipsis 134/dagger 135/daggerdbl 136/circumflex 137/perthousand
138/Scaron 139/guilsinglleft 140/OE 145/quoteleft 146/quoteright
147/quotedblleft 148/quotedblright 149/bullet 150/endash 151/emdash
152/tilde 153/trademark 154/scaron 155/guilsinglright 156/oe 157/dotlessi
159/Ydieresis 164/currency 166/brokenbar 168/dieresis 169/copyright
170/ordfeminine 172/logicalnot 174/registered 175/macron 176/ring
177/plusminus 178/twosuperior 179/threesuperior 180/acute 181/mu
183/periodcentered 184/cedilla 185/onesuperior 186/ordmasculine
188/onequarter 189/onehalf 190/threequarters 192/Agrave 193/Aacute
194/Acircumflex 195/Atilde 196/Adieresis 197/Aring 198/AE 199/Ccedilla
200/Egrave 201/Eacute 202/Ecircumflex 203/Edieresis 204/Igrave 205/Iacute
206/Icircumflex 207/Idieresis 208/Eth 209/Ntilde 210/Ograve 211/Oacute
212/Ocircumflex 213/Otilde 214/Odieresis 215/multiply 216/Oslash
217/Ugrave 218/Uacute 219/Ucircumflex 220/Udieresis 221/Yacute 222/Thorn
223/germandbls 224/agrave 225/aacute 226/acircumflex 227/atilde 228/adieresis
229/aring 230/ae 231/ccedilla 232/egrave 233/eacute 234/ecircumflex
235/edieresis 236/igrave 237/iacute 238/icircumflex 239/idieresis
240/eth 241/ntilde 242/ograve 243/oacute 244/ocircumflex 245/otilde
246/odieresis 247/divide 248/oslash 249/ugrave 250/uacute 251/ucircumflex
252/udieresis 253/yacute 254/thorn 255/ydieresis
TE
%AI3_BeginEncoding: _Helvetica Helvetica
[
/_Helvetica/Helvetica 0 0 1 TZ
%AI3_EndEncoding AdobeType
%AI3_BeginEncoding: _Helvetica-Bold Helvetica-Bold
[
/_Helvetica-Bold/Helvetica-Bold 0 0 1 TZ
%AI3_EndEncoding AdobeType
%AI3_BeginEncoding: _Helvetica-Oblique Helvetica-Oblique
[
/_Helvetica-Oblique/Helvetica-Oblique 0 0 1 TZ
%AI3_EndEncoding AdobeType
%AI3_BeginEncoding: _Helvetica-BoldOblique Helvetica-BoldOblique
[
/_Helvetica-BoldOblique/Helvetica-BoldOblique 0 0 1 TZ
%AI3_EndEncoding AdobeType
%AI3_BeginEncoding: _Times-Roman Times-Roman
[
/_Times-Roman/Times-Roman 0 0 1 TZ
%AI3_EndEncoding AdobeType
%AI3_BeginEncoding: _Times-Bold Times-Bold
[
/_Times-Bold/Times-Bold 0 0 1 TZ
%AI3_EndEncoding AdobeType
%AI3_BeginEncoding: _Times-Italic Times-Italic
[
/_Times-Italic/Times-Italic 0 0 1 TZ
%AI3_EndEncoding AdobeType
%AI3_BeginEncoding: _Times-BoldItalic Times-BoldItalic
[
/_Times-BoldItalic/Times-BoldItalic 0 0 1 TZ
%AI3_EndEncoding AdobeType
%AI3_BeginEncoding: _Courier Courier
[
/_Courier/Courier 0 0 1 TZ
%AI3_EndEncoding AdobeType
%AI3_BeginEncoding: _Courier-Bold Courier-Bold
[
/_Courier-Bold/Courier-Bold 0 0 1 TZ
%AI3_EndEncoding AdobeType
%AI3_BeginEncoding: _Courier-Oblique Courier-Oblique
[
/_Courier-Oblique/Courier-Oblique 0 0 1 TZ
%AI3_EndEncoding AdobeType
%AI3_BeginEncoding: _Courier-BoldOblique Courier-BoldOblique
[
/_Courier-BoldOblique/Courier-BoldOblique 0 0 1 TZ
%AI3_EndEncoding AdobeType
%AI3_BeginEncoding: _Symbol Symbol
[
/_Symbol/Symbol 0 0 1 TZ
%AI3_EndEncoding AdobeType
%%EndSetup
1 XR
u
[] 0 d
0.0000 w
0.000 0.000 0.000 1.000 K
1 J
1 j
486.5092 139.3278 m
486.5092 181.0183 L
S
U
u
0.000 0.000 0.000 1.000 k
0.0000 w
0.000 0.000 0.000 1.000 K
483.7537 180.2995 m
486.5092 188.5657 L
489.2646 180.2995 L
483.7537 180.2995 L
F
U
u
0.0000 w
485.3111 276.0200 m
485.3111 298.9018 L
S
U
u
0.000 0.000 0.000 1.000 k
0.0000 w
482.5557 298.1830 m
485.3111 306.4493 L
488.0666 298.1830 L
482.5557 298.1830 L
F
U
u
0.0000 w
379.7671 466.8619 m
379.7671 492.2596 L
S
U
u
0.000 0.000 0.000 1.000 k
0.0000 w
377.0116 491.5408 m
379.7671 499.8070 L
382.5225 491.5408 L
377.0116 491.5408 L
F
U
u
0.000 0.000 0.000 0.000 k
370.0632 477.5241 m
388.5125 477.5241 L
388.5125 488.9052 L
370.0632 488.9052 L
370.0632 477.5241 L
F
U
0 To
1.0000 0.0000 0.0000 1.0000 371.0216 480.5191 0 Tp
TP
/_Helvetica 8.0000 Tf
0.0000 Tc
0 Tr
0 j
0.000 0.000 0.000 1.000 k
(UCT\r) Tx
TO
0.000 0.000 0.000 1.000 K
u
0.0000 w
1 j
503.7604 355.2080 m
503.7604 368.6256 L
503.7604 368.6256 L
503.7604 400.8519 L
S
U
u
0.000 0.000 0.000 1.000 k
0.0000 w
501.0050 400.1331 m
503.7604 408.3993 L
506.5158 400.1331 L
501.0050 400.1331 L
F
U
u
0.000 0.000 0.000 0.000 k
493.8170 376.4126 m
513.5840 376.4126 L
513.5840 387.7937 L
493.8170 387.7937 L
493.8170 376.4126 L
F
U
0 To
1.0000 0.0000 0.0000 1.0000 494.7754 379.4077 0 Tp
TP
/_Helvetica 8.0000 Tf
0.0000 Tc
0 Tr
0 j
0.000 0.000 0.000 1.000 k
(UCT\r) Tx
TO
0.000 0.000 0.000 1.000 K
u
0.0000 w
1 j
379.1681 354.8486 m
379.1681 368.6256 L
379.2879 368.6256 L
379.2879 419.6606 L
S
U
u
0.000 0.000 0.000 1.000 k
0.0000 w
376.5324 418.9418 m
379.2879 427.2080 L
382.0433 418.9418 L
376.5324 418.9418 L
F
U
u
0.000 0.000 0.000 0.000 k
362.0366 378.4493 m
397.8569 378.4493 L
397.8569 389.8303 L
362.0366 389.8303 L
362.0366 378.4493 L
F
U
0 To
1.0000 0.0000 0.0000 1.0000 362.9950 381.4443 0 Tp
TP
/_Helvetica 8.0000 Tf
0.0000 Tc
0 Tr
0 j
0.000 0.000 0.000 1.000 k
(!intCheck\r) Tx
TO
0.000 0.000 0.000 1.000 K
u
0.000 0.000 0.000 0.000 k
0.0000 w
1 j
37.3777 513.4642 m
563.3012 513.4642 L
563.3012 526.2829 L
37.3777 526.2829 L
37.3777 513.4642 L
B
U
0 To
1.0000 0.0000 0.0000 1.0000 293.3910 517.0582 0 Tp
TP
/_Helvetica 8.0000 Tf
0.0000 Tc
0 Tr
0.0000 w
0 j
0.000 0.000 0.000 1.000 k
(IDLE\r) Tx
TO
0.000 0.000 0.000 1.000 K
u
0.000 0.000 0.000 0.000 k
0.0000 w
1 j
37.3777 499.8070 m
563.3012 499.8070 L
563.3012 513.4642 L
37.3777 513.4642 L
37.3777 499.8070 L
B
U
u
0.000 0.000 0.000 0.000 k
444.4592 453.2047 m
563.3012 453.2047 L
563.3012 466.8619 L
444.4592 466.8619 L
444.4592 453.2047 L
B
U
0 To
1.0000 0.0000 0.0000 1.0000 473.0915 457.6373 0 Tp
TP
/_Helvetica 8.0000 Tf
0.0000 Tc
0 Tr
0.0000 w
0 j
0.000 0.000 0.000 1.000 k
(SEND_REQUEST\r) Tx
TO
0.000 0.000 0.000 1.000 K
u
0.000 0.000 0.000 0.000 k
0.0000 w
1 j
444.4592 408.3993 m
563.3012 408.3993 L
563.3012 453.2047 L
444.4592 453.2047 L
444.4592 408.3993 L
B
U
0 To
1.0000 0.0000 0.0000 1.0000 450.4493 444.0998 0 Tp
TP
/_Helvetica 8.0000 Tf
0.0000 Tc
0 Tr
0.0000 w
0 j
0.000 0.000 0.000 1.000 k
(retransCount = 0\r) Tx
TO
0.000 0.000 0.000 1.000 K
0 To
1.0000 0.0000 0.0000 1.0000 450.4493 434.5158 0 Tp
TP
/_Helvetica 8.0000 Tf
0.0000 Tc
0 Tr
0.000 0.000 0.000 1.000 k
(lastReqData = eapReqData\r) Tx
TO
0.000 0.000 0.000 1.000 K
0 To
1.0000 0.0000 0.0000 1.0000 450.4493 424.9318 0 Tp
TP
/_Helvetica 8.0000 Tf
0.0000 Tc
0 Tr
0.000 0.000 0.000 1.000 k
(eapResp = FALSE\r) Tx
TO
0.000 0.000 0.000 1.000 K
0 To
1.0000 0.0000 0.0000 1.0000 450.4493 415.3478 0 Tp
TP
/_Helvetica 8.0000 Tf
0.0000 Tc
0 Tr
0.000 0.000 0.000 1.000 k
(eapReq = TRUE\r) Tx
TO
0.000 0.000 0.000 1.000 K
u
0.0000 w
1 j
503.8802 466.8619 m
503.8802 480.1597 L
503.8802 480.1597 L
503.8802 491.6606 L
S
U
u
0.000 0.000 0.000 1.000 k
0.0000 w
501.1248 491.0616 m
503.8802 499.3278 L
506.6356 491.0616 L
501.1248 491.0616 L
F
U
u
0.000 0.000 0.000 0.000 k
495.2546 477.0449 m
513.5840 477.0449 L
513.5840 488.4260 L
495.2546 488.4260 L
495.2546 477.0449 L
F
U
0 To
1.0000 0.0000 0.0000 1.0000 496.2130 480.0399 0 Tp
TP
/_Helvetica 8.0000 Tf
0.0000 Tc
0 Tr
0 j
0.000 0.000 0.000 1.000 k
(UCT\r) Tx
TO
0.000 0.000 0.000 1.000 K
u
0.000 0.000 0.000 0.000 k
0.0000 w
1 j
131.5408 560.4260 m
229.1780 560.4260 L
229.1780 574.5624 L
131.5408 574.5624 L
131.5408 560.4260 L
B
U
0 To
1.0000 0.0000 0.0000 1.0000 162.5691 565.4576 0 Tp
TP
/_Helvetica 8.0000 Tf
0.0000 Tc
0 Tr
0.0000 w
0 j
0.000 0.000 0.000 1.000 k
(DISABLED\r) Tx
TO
0.000 0.000 0.000 1.000 K
u
0.000 0.000 0.000 0.000 k
0.0000 w
1 j
131.5408 546.8885 m
229.1780 546.8885 L
229.1780 560.4260 L
131.5408 560.4260 L
131.5408 546.8885 L
B
U
0 To
1.0000 0.0000 0.0000 1.0000 137.5308 551.3211 0 Tp
TP
/_Helvetica 8.0000 Tf
0.0000 Tc
0 Tr
0.0000 w
0 j
0.000 0.000 0.000 1.000 k
(eapRestart\r) Tx
TO
0.000 0.000 0.000 1.000 K
0 To
1.0000 0.0000 0.0000 1.0000 176.7055 551.3211 0 Tp
TP
/_Helvetica 8.0000 Tf
0.0000 Tc
0 Tr
0.000 0.000 0.000 1.000 k
( = FALSE\r) Tx
TO
0.000 0.000 0.000 1.000 K
u
0.000 0.000 0.000 0.000 k
0.0000 w
1 j
300.9384 561.0250 m
445.5374 561.0250 L
445.5374 574.5624 L
300.9384 574.5624 L
300.9384 561.0250 L
B
U
0 To
1.0000 0.0000 0.0000 1.0000 355.3278 565.4576 0 Tp
TP
/_Helvetica 8.0000 Tf
0.0000 Tc
0 Tr
0.0000 w
0 j
0.000 0.000 0.000 1.000 k
(INITIALIZE\r) Tx
TO
0.000 0.000 0.000 1.000 K
u
0.000 0.000 0.000 0.000 k
0.0000 w
1 j
300.9384 546.8885 m
445.5374 546.8885 L
445.5374 561.0250 L
300.9384 561.0250 L
300.9384 546.8885 L
B
U
0 To
1.0000 0.0000 0.0000 1.0000 306.9285 551.8003 0 Tp
TP
/_Helvetica 8.0000 Tf
0.0000 Tc
0 Tr
0.0000 w
0 j
0.000 0.000 0.000 1.000 k
(currentId = NONE\r) Tx
TO
0.000 0.000 0.000 1.000 K
u
0.0000 w
1 j
229.1780 560.7854 m
293.3910 560.7854 L
S
U
u
0.000 0.000 0.000 1.000 k
0.0000 w
292.6722 563.5408 m
300.9384 560.7854 L
292.6722 558.0300 L
292.6722 563.5408 L
F
U
u
0.0000 w
445.5374 560.7854 m
576.7188 560.7854 L
576.7188 119.9201 L
570.2496 119.9201 L
S
U
u
0.000 0.000 0.000 1.000 k
0.0000 w
570.9684 117.1647 m
562.7022 119.9201 L
570.9684 122.6755 L
570.9684 117.1647 L
F
U
u
0.000 0.000 0.000 0.000 k
0.0000 w
319.9867 453.2047 m
438.8286 453.2047 L
438.8286 466.8619 L
319.9867 466.8619 L
319.9867 453.2047 L
B
U
0 To
1.0000 0.0000 0.0000 1.0000 363.3544 457.6373 0 Tp
TP
/_Helvetica 8.0000 Tf
0.0000 Tc
0 Tr
0.0000 w
0 j
0.000 0.000 0.000 1.000 k
(DISCARD\r) Tx
TO
0.000 0.000 0.000 1.000 K
u
0.000 0.000 0.000 0.000 k
0.0000 w
1 j
319.9867 426.9684 m
438.8286 426.9684 L
438.8286 453.2047 L
319.9867 453.2047 L
319.9867 426.9684 L
B
U
0 To
1.0000 0.0000 0.0000 1.0000 325.8569 444.0998 0 Tp
TP
/_Helvetica 8.0000 Tf
0.0000 Tc
0 Tr
0.0000 w
0 j
0.000 0.000 0.000 1.000 k
(eapResp = FALSE\r) Tx
TO
0.000 0.000 0.000 1.000 K
0 To
1.0000 0.0000 0.0000 1.0000 325.8569 434.5158 0 Tp
TP
/_Helvetica 8.0000 Tf
0.0000 Tc
0 Tr
0.000 0.000 0.000 1.000 k
(eapNoReq = TRUE\r) Tx
TO
0.000 0.000 0.000 1.000 K
u
0.000 0.000 0.000 0.000 k
0.0000 w
1 j
402.8885 54.5092 m
563.3012 54.5092 L
563.3012 68.1664 L
402.8885 68.1664 L
402.8885 54.5092 L
B
U
0 To
1.0000 0.0000 0.0000 1.0000 465.7837 58.9418 0 Tp
TP
/_Helvetica 8.0000 Tf
0.0000 Tc
0 Tr
0.0000 w
0 j
0.000 0.000 0.000 1.000 k
(SUCCESS\r) Tx
TO
0.000 0.000 0.000 1.000 K
u
0.000 0.000 0.000 0.000 k
0.0000 w
1 j
402.8885 1.4376 m
563.3012 1.4376 L
563.3012 54.5092 L
402.8885 54.5092 L
402.8885 1.4376 L
B
U
0 To
1.0000 0.0000 0.0000 1.0000 408.8785 45.2845 0 Tp
TP
/_Helvetica 8.0000 Tf
0.0000 Tc
0 Tr
0.0000 w
0 j
0.000 0.000 0.000 1.000 k
(currentId = nextId\(currentId\)\r) Tx
TO
0.000 0.000 0.000 1.000 K
0 To
1.0000 0.0000 0.0000 1.0000 408.8785 35.8203 0 Tp
TP
/_Helvetica 8.0000 Tf
0.0000 Tc
0 Tr
0.000 0.000 0.000 1.000 k
(eapReqData = buildSuccess\(currentId\)\r) Tx
TO
0.000 0.000 0.000 1.000 K
0 To
1.0000 0.0000 0.0000 1.0000 408.8785 26.2363 0 Tp
TP
/_Helvetica 8.0000 Tf
0.0000 Tc
0 Tr
0.000 0.000 0.000 1.000 k
(if \(eapKeyData != NONE\)\r) Tx
TO
0.000 0.000 0.000 1.000 K
0 To
1.0000 0.0000 0.0000 1.0000 408.8785 16.6522 0 Tp
TP
/_Helvetica 8.0000 Tf
0.0000 Tc
0 Tr
0.000 0.000 0.000 1.000 k
( eapKeyAvailable = TRUE\r) Tx
TO
0.000 0.000 0.000 1.000 K
0 To
1.0000 0.0000 0.0000 1.0000 408.8785 7.0682 0 Tp
TP
/_Helvetica 8.0000 Tf
0.0000 Tc
0 Tr
0.000 0.000 0.000 1.000 k
(eapSuccess = TRUE\r) Tx
TO
0.000 0.000 0.000 1.000 K
u
0.000 0.000 0.000 0.000 k
0.0000 w
1 j
232.5324 53.9101 m
392.9451 53.9101 L
392.9451 67.5674 L
232.5324 67.5674 L
232.5324 53.9101 L
B
U
0 To
1.0000 0.0000 0.0000 1.0000 297.7038 58.3428 0 Tp
TP
/_Helvetica 8.0000 Tf
0.0000 Tc
0 Tr
0.0000 w
0 j
0.000 0.000 0.000 1.000 k
(FAILURE\r) Tx
TO
0.000 0.000 0.000 1.000 K
u
0.000 0.000 0.000 0.000 k
0.0000 w
1 j
232.5324 1.4376 m
392.9451 1.4376 L
392.9451 53.9101 L
232.5324 53.9101 L
232.5324 1.4376 L
B
U
0 To
1.0000 0.0000 0.0000 1.0000 238.5225 44.8053 0 Tp
TP
/_Helvetica 8.0000 Tf
0.0000 Tc
0 Tr
0.0000 w
0 j
0.000 0.000 0.000 1.000 k
(currentId = nextId\(currentId\)\r) Tx
TO
0.000 0.000 0.000 1.000 K
0 To
1.0000 0.0000 0.0000 1.0000 238.5225 35.3411 0 Tp
TP
/_Helvetica 8.0000 Tf
0.0000 Tc
0 Tr
0.000 0.000 0.000 1.000 k
(eapReqData = buildFailure\(currentId\)\r) Tx
TO
0.000 0.000 0.000 1.000 K
0 To
1.0000 0.0000 0.0000 1.0000 238.5225 25.7571 0 Tp
TP
/_Helvetica 8.0000 Tf
0.0000 Tc
0 Tr
0.000 0.000 0.000 1.000 k
(eapFail = TRUE\r) Tx
TO
0.000 0.000 0.000 1.000 K
u
0.0000 w
1 j
245.9501 426.7288 m
245.9501 335.2013 L
268.5923 335.2013 L
S
U
u
0.000 0.000 0.000 1.000 k
0.0000 w
267.9933 337.9567 m
276.2596 335.2013 L
267.9933 332.4459 L
267.9933 337.9567 L
F
U
u
0.000 0.000 0.000 0.000 k
0.0000 w
156.5790 125.7903 m
242.5957 125.7903 L
242.5957 139.3278 L
156.5790 139.3278 L
156.5790 125.7903 L
B
U
0 To
1.0000 0.0000 0.0000 1.0000 193.3577 130.1032 0 Tp
TP
/_Helvetica 8.0000 Tf
0.0000 Tc
0 Tr
0.0000 w
0 j
0.000 0.000 0.000 1.000 k
(NAK\r) Tx
TO
0.000 0.000 0.000 1.000 K
u
0.000 0.000 0.000 0.000 k
0.0000 w
1 j
156.5790 101.2313 m
242.5957 101.2313 L
242.5957 125.7903 L
156.5790 125.7903 L
156.5790 101.2313 L
B
U
0 To
1.0000 0.0000 0.0000 1.0000 162.6889 116.5657 0 Tp
TP
/_Helvetica 8.0000 Tf
0.0000 Tc
0 Tr
0.0000 w
0 j
0.000 0.000 0.000 1.000 k
(m.reset\(\)\r) Tx
TO
0.000 0.000 0.000 1.000 K
0 To
1.0000 0.0000 0.0000 1.0000 162.6889 107.1015 0 Tp
TP
/_Helvetica 8.0000 Tf
0.0000 Tc
0 Tr
0.000 0.000 0.000 1.000 k
(Policy.update\(<...>\)\r) Tx
TO
0.000 0.000 0.000 1.000 K
u
0.0000 w
1 j
242.4759 120.5191 m
256.0133 120.5191 L
256.0133 120.5191 L
268.5923 120.5191 L
S
U
u
0.000 0.000 0.000 1.000 k
0.0000 w
267.9933 123.2745 m
276.2596 120.5191 L
267.9933 117.7637 L
267.9933 123.2745 L
F
U
u
0.000 0.000 0.000 0.000 k
250.1431 115.1281 m
268.4725 115.1281 L
268.4725 126.5092 L
250.1431 126.5092 L
250.1431 115.1281 L
F
U
0 To
1.0000 0.0000 0.0000 1.0000 251.1015 118.1231 0 Tp
TP
/_Helvetica 8.0000 Tf
0.0000 Tc
0 Tr
0 j
0.000 0.000 0.000 1.000 k
(UCT\r) Tx
TO
0.000 0.000 0.000 1.000 K
u
0.0000 w
1 j
313.2779 101.2313 m
313.2779 85.5374 L
313.3977 85.5374 L
313.3977 75.1148 L
S
U
u
0.000 0.000 0.000 1.000 k
0.0000 w
316.1531 75.8336 m
313.3977 67.5674 L
310.6423 75.8336 L
316.1531 75.8336 L
F
U
u
0.000 0.000 0.000 0.000 k
273.6240 79.0682 m
352.8120 79.0682 L
352.8120 90.4493 L
273.6240 90.4493 L
273.6240 79.0682 L
F
U
0 To
1.0000 0.0000 0.0000 1.0000 274.7022 82.0632 0 Tp
TP
/_Helvetica 8.0000 Tf
0.0000 Tc
0 Tr
0 j
0.000 0.000 0.000 1.000 k
(decision == FAILURE\r) Tx
TO
0.000 0.000 0.000 1.000 K
u
0.0000 w
1 j
482.7953 101.2313 m
482.7953 87.8136 L
483.0349 87.8136 L
483.0349 75.7138 L
S
U
u
0.000 0.000 0.000 1.000 k
0.0000 w
485.7903 76.4326 m
483.0349 68.1664 L
480.2795 76.4326 L
485.7903 76.4326 L
F
U
u
0.000 0.000 0.000 0.000 k
441.1048 79.4276 m
525.2047 79.4276 L
525.2047 90.8087 L
441.1048 90.8087 L
441.1048 79.4276 L
F
U
0 To
1.0000 0.0000 0.0000 1.0000 442.0632 82.4226 0 Tp
TP
/_Helvetica 8.0000 Tf
0.0000 Tc
0 Tr
0 j
0.000 0.000 0.000 1.000 k
(decision == SUCCESS\r) Tx
TO
0.000 0.000 0.000 1.000 K
u
0.0000 w
1 j
338.1963 188.5657 m
338.1963 169.6373 L
338.4359 169.6373 L
338.4359 146.8752 L
S
U
u
0.000 0.000 0.000 1.000 k
0.0000 w
341.1913 147.5940 m
338.4359 139.3278 L
335.6805 147.5940 L
341.1913 147.5940 L
F
U
u
0.000 0.000 0.000 0.000 k
299.2612 158.7354 m
377.6106 158.7354 L
377.6106 170.1165 L
299.2612 170.1165 L
299.2612 158.7354 L
F
U
0 To
1.0000 0.0000 0.0000 1.0000 300.3394 161.7304 0 Tp
TP
/_Helvetica 8.0000 Tf
0.0000 Tc
0 Tr
0 j
0.000 0.000 0.000 1.000 k
(methodState == END\r) Tx
TO
0.000 0.000 0.000 1.000 K
u
0.0000 w
1 j
199.5874 426.7288 m
199.5874 146.8752 L
S
U
u
0.000 0.000 0.000 1.000 k
0.0000 w
202.3428 147.5940 m
199.5874 139.3278 L
196.8319 147.5940 L
202.3428 147.5940 L
F
U
u
0.0000 w
104.1065 400.0133 m
104.1065 386.5957 L
104.1065 386.5957 L
104.1065 36.8985 L
S
U
u
0.000 0.000 0.000 1.000 k
0.0000 w
106.8619 37.6173 m
104.1065 29.4709 L
101.3511 37.6173 L
106.8619 37.6173 L
F
U
u
0.000 0.000 0.000 0.000 k
0.0000 w
276.2596 125.7903 m
563.3012 125.7903 L
563.3012 139.3278 L
276.2596 139.3278 L
276.2596 125.7903 L
B
U
0 To
1.0000 0.0000 0.0000 1.0000 388.8719 130.1032 0 Tp
TP
/_Helvetica 8.0000 Tf
0.0000 Tc
0 Tr
0.0000 w
0 j
0.000 0.000 0.000 1.000 k
(SELECT_ACTION\r) Tx
TO
0.000 0.000 0.000 1.000 K
u
0.000 0.000 0.000 0.000 k
0.0000 w
1 j
276.2596 101.2313 m
563.3012 101.2313 L
563.3012 125.7903 L
276.2596 125.7903 L
276.2596 101.2313 L
B
U
0 To
1.0000 0.0000 0.0000 1.0000 282.2496 116.5657 0 Tp
TP
/_Helvetica 8.0000 Tf
0.0000 Tc
0 Tr
0.0000 w
0 j
0.000 0.000 0.000 1.000 k
(decision = Policy.getDecision\(\)\r) Tx
TO
0.000 0.000 0.000 1.000 K
u
0.000 0.000 0.000 0.000 k
1 j
202.8220 363.8336 m
317.5907 363.8336 L
317.5907 394.3827 L
202.8220 394.3827 L
202.8220 363.8336 L
F
U
0 To
1.0000 0.0000 0.0000 1.0000 241.1581 385.9967 0 Tp
TP
/_Helvetica 8.0000 Tf
0.0000 Tc
0 Tr
0 j
0.000 0.000 0.000 1.000 k
(rxResp &&\r) Tx
TO
0.000 0.000 0.000 1.000 K
0 To
1.0000 0.0000 0.0000 1.0000 217.1980 376.4126 0 Tp
TP
/_Helvetica 8.0000 Tf
0.0000 Tc
0 Tr
0.000 0.000 0.000 1.000 k
(\(respId == currentId\) &&\r) Tx
TO
0.000 0.000 0.000 1.000 K
0 To
1.0000 0.0000 0.0000 1.0000 203.7804 366.8286 0 Tp
TP
/_Helvetica 8.0000 Tf
0.0000 Tc
0 Tr
0.000 0.000 0.000 1.000 k
(\(respMethod == currentMethod\)\r) Tx
TO
0.000 0.000 0.000 1.000 K
u
0.000 0.000 0.000 0.000 k
1 j
132.7388 158.3760 m
266.5557 158.3760 L
266.5557 207.9734 L
132.7388 207.9734 L
132.7388 158.3760 L
F
U
0 To
1.0000 0.0000 0.0000 1.0000 180.5391 199.5874 0 Tp
TP
/_Helvetica 8.0000 Tf
0.0000 Tc
0 Tr
0 j
0.000 0.000 0.000 1.000 k
(rxResp &&\r) Tx
TO
0.000 0.000 0.000 1.000 K
0 To
1.0000 0.0000 0.0000 1.0000 156.6988 190.0033 0 Tp
TP
/_Helvetica 8.0000 Tf
0.0000 Tc
0 Tr
0.000 0.000 0.000 1.000 k
(\(respId == currentId\) &&\r) Tx
TO
0.000 0.000 0.000 1.000 K
0 To
1.0000 0.0000 0.0000 1.0000 161.2512 180.4193 0 Tp
TP
/_Helvetica 8.0000 Tf
0.0000 Tc
0 Tr
0.000 0.000 0.000 1.000 k
(\(respMethod==NAK ||\r) Tx
TO
0.000 0.000 0.000 1.000 K
0 To
1.0000 0.0000 0.0000 1.0000 133.6972 170.9551 0 Tp
TP
/_Helvetica 8.0000 Tf
0.0000 Tc
0 Tr
0.000 0.000 0.000 1.000 k
(respMethod==EXPANDED_NAK\) &&\r) Tx
TO
0.000 0.000 0.000 1.000 K
0 To
1.0000 0.0000 0.0000 1.0000 144.5990 161.3710 0 Tp
TP
/_Helvetica 8.0000 Tf
0.0000 Tc
0 Tr
0.000 0.000 0.000 1.000 k
(\(\r) Tx
TO
0.000 0.000 0.000 1.000 K
0 To
1.0000 0.0000 0.0000 1.0000 147.2346 161.3710 0 Tp
TP
/_Helvetica 8.0000 Tf
0.0000 Tc
0 Tr
0.000 0.000 0.000 1.000 k
(methodState == PROPOSED\)\r) Tx
TO
0.000 0.000 0.000 1.000 K
u
0.000 0.000 0.000 0.000 k
0.0000 w
1 j
37.8569 453.2047 m
170.3561 453.2047 L
170.3561 466.8619 L
37.8569 466.8619 L
37.8569 453.2047 L
B
U
0 To
1.0000 0.0000 0.0000 1.0000 80.1464 457.6373 0 Tp
TP
/_Helvetica 8.0000 Tf
0.0000 Tc
0 Tr
0.0000 w
0 j
0.000 0.000 0.000 1.000 k
(RETRANSMIT\r) Tx
TO
0.000 0.000 0.000 1.000 K
u
0.000 0.000 0.000 0.000 k
0.0000 w
1 j
37.8569 400.0133 m
170.3561 400.0133 L
170.3561 453.2047 L
37.8569 453.2047 L
37.8569 400.0133 L
B
U
0 To
1.0000 0.0000 0.0000 1.0000 43.8469 444.0998 0 Tp
TP
/_Helvetica 8.0000 Tf
0.0000 Tc
0 Tr
0.0000 w
0 j
0.000 0.000 0.000 1.000 k
(retransCount++\r) Tx
TO
0.000 0.000 0.000 1.000 K
0 To
1.0000 0.0000 0.0000 1.0000 43.8469 434.5158 0 Tp
TP
/_Helvetica 8.0000 Tf
0.0000 Tc
0 Tr
0.000 0.000 0.000 1.000 k
(if \(retransCount <= MaxRetrans\) {\r) Tx
TO
0.000 0.000 0.000 1.000 K
0 To
1.0000 0.0000 0.0000 1.0000 43.8469 424.9318 0 Tp
TP
/_Helvetica 8.0000 Tf
0.0000 Tc
0 Tr
0.000 0.000 0.000 1.000 k
( eapReqData = lastReqData\r) Tx
TO
0.000 0.000 0.000 1.000 K
0 To
1.0000 0.0000 0.0000 1.0000 43.8469 415.3478 0 Tp
TP
/_Helvetica 8.0000 Tf
0.0000 Tc
0 Tr
0.000 0.000 0.000 1.000 k
( eapReq = TRUE\r) Tx
TO
0.000 0.000 0.000 1.000 K
0 To
1.0000 0.0000 0.0000 1.0000 43.8469 405.7637 0 Tp
TP
/_Helvetica 8.0000 Tf
0.0000 Tc
0 Tr
0.000 0.000 0.000 1.000 k
(}\r) Tx
TO
0.000 0.000 0.000 1.000 K
u
0.0000 w
1 j
37.8569 433.4376 m
21.0849 433.4376 L
21.0849 512.9850 L
29.8303 512.9850 L
S
U
u
0.000 0.000 0.000 1.000 k
0.0000 w
29.2313 515.7404 m
37.3777 512.9850 L
29.2313 510.2296 L
29.2313 515.7404 L
F
U
u
0.000 0.000 0.000 0.000 k
11.7404 467.5807 m
30.3095 467.5807 L
30.3095 478.8419 L
11.7404 478.8419 L
11.7404 467.5807 L
F
U
0 To
1.0000 0.0000 0.0000 1.0000 12.6988 470.4559 0 Tp
TP
/_Helvetica 8.0000 Tf
0.0000 Tc
0 Tr
0 j
0.000 0.000 0.000 1.000 k
(else\r) Tx
TO
0.000 0.000 0.000 1.000 K
u
0.0000 w
1 j
245.9501 499.8070 m
245.9501 486.3894 L
245.9501 486.3894 L
245.9501 474.2895 L
S
U
u
0.000 0.000 0.000 1.000 k
0.0000 w
248.7055 475.0083 m
245.9501 466.8619 L
243.1947 475.0083 L
248.7055 475.0083 L
F
U
u
0.000 0.000 0.000 0.000 k
229.1780 478.1231 m
262.9617 478.1231 L
262.9617 489.5042 L
229.1780 489.5042 L
229.1780 478.1231 L
F
U
0 To
1.0000 0.0000 0.0000 1.0000 230.1364 481.1181 0 Tp
TP
/_Helvetica 8.0000 Tf
0.0000 Tc
0 Tr
0 j
0.000 0.000 0.000 1.000 k
(eapResp\r) Tx
TO
0.000 0.000 0.000 1.000 K
u
0.0000 w
1 j
291.8336 426.7288 m
291.8336 398.3361 L
343.3478 398.3361 L
343.3478 419.4210 L
S
U
u
0.000 0.000 0.000 1.000 k
0.0000 w
340.5923 418.7022 m
343.3478 426.9684 L
346.1032 418.7022 L
340.5923 418.7022 L
F
U
u
0.000 0.000 0.000 0.000 k
308.4859 393.0649 m
327.0549 393.0649 L
327.0549 404.3261 L
308.4859 404.3261 L
308.4859 393.0649 L
F
U
0 To
1.0000 0.0000 0.0000 1.0000 309.4443 395.9401 0 Tp
TP
/_Helvetica 8.0000 Tf
0.0000 Tc
0 Tr
0 j
0.000 0.000 0.000 1.000 k
(else\r) Tx
TO
0.000 0.000 0.000 1.000 K
u
0.0000 w
1 j
103.6273 498.7288 m
103.6273 486.3894 L
104.1065 486.3894 L
104.1065 474.2895 L
S
U
u
0.000 0.000 0.000 1.000 k
0.0000 w
106.8619 475.0083 m
104.1065 466.8619 L
101.3511 475.0083 L
106.8619 475.0083 L
F
U
u
0.000 0.000 0.000 0.000 k
73.5574 477.6439 m
134.5358 477.6439 L
134.5358 489.0250 L
73.5574 489.0250 L
73.5574 477.6439 L
F
U
0 To
1.0000 0.0000 0.0000 1.0000 74.6356 480.6389 0 Tp
TP
/_Helvetica 8.0000 Tf
0.0000 Tc
0 Tr
0 j
0.000 0.000 0.000 1.000 k
(retransWhile==0\r) Tx
TO
0.000 0.000 0.000 1.000 K
u
0.0000 w
1 j
103.0283 560.7854 m
123.9933 560.7854 L
S
U
u
0.000 0.000 0.000 1.000 k
0.0000 w
123.2745 563.5408 m
131.5408 560.7854 L
123.2745 558.0300 L
123.2745 563.5408 L
F
U
0 To
1.0000 0.0000 0.0000 1.0000 45.2845 563.9002 0 Tp
TP
/_Helvetica 8.0000 Tf
0.0000 Tc
0 Tr
0 j
0.000 0.000 0.000 1.000 k
(\(!portEnabled ||\r) Tx
TO
0.000 0.000 0.000 1.000 K
0 To
1.0000 0.0000 0.0000 1.0000 51.7537 554.3161 0 Tp
TP
/_Helvetica 8.0000 Tf
0.0000 Tc
0 Tr
0.000 0.000 0.000 1.000 k
(eapRestart\r) Tx
TO
0.000 0.000 0.000 1.000 K
0 To
1.0000 0.0000 0.0000 1.0000 90.9285 554.3161 0 Tp
TP
/_Helvetica 8.0000 Tf
0.0000 Tc
0 Tr
0.000 0.000 0.000 1.000 k
(\)\r) Tx
TO
0.000 0.000 0.000 1.000 K
u
0.000 0.000 0.000 0.000 k
1 j
56.7854 373.8968 m
157.0582 373.8968 L
157.0582 385.2779 L
56.7854 385.2779 L
56.7854 373.8968 L
F
U
0 To
1.0000 0.0000 0.0000 1.0000 57.7438 376.8918 0 Tp
TP
/_Helvetica 8.0000 Tf
0.0000 Tc
0 Tr
0 j
0.000 0.000 0.000 1.000 k
(retransCount > MaxRetrans\r) Tx
TO
0.000 0.000 0.000 1.000 K
u
0.000 0.000 0.000 0.000 k
1 j
237.9235 555.5141 m
282.9684 555.5141 L
282.9684 566.8952 L
237.9235 566.8952 L
237.9235 555.5141 L
F
U
0 To
1.0000 0.0000 0.0000 1.0000 238.8819 558.5092 0 Tp
TP
/_Helvetica 8.0000 Tf
0.0000 Tc
0 Tr
0 j
0.000 0.000 0.000 1.000 k
(portEnabled\r) Tx
TO
0.000 0.000 0.000 1.000 K
u
0.000 0.000 0.000 0.000 k
1 j
502.2030 555.2745 m
520.5324 555.2745 L
520.5324 566.6556 L
502.2030 566.6556 L
502.2030 555.2745 L
F
U
0 To
1.0000 0.0000 0.0000 1.0000 503.1614 558.2696 0 Tp
TP
/_Helvetica 8.0000 Tf
0.0000 Tc
0 Tr
0 j
0.000 0.000 0.000 1.000 k
(UCT\r) Tx
TO
0.000 0.000 0.000 1.000 K
u
0.000 0.000 0.000 0.000 k
0.0000 w
1 j
37.3777 15.9334 m
169.7571 15.9334 L
169.7571 29.4709 L
37.3777 29.4709 L
37.3777 15.9334 L
B
U
0 To
1.0000 0.0000 0.0000 1.0000 68.4060 20.2463 0 Tp
TP
/_Helvetica 8.0000 Tf
0.0000 Tc
0 Tr
0.0000 w
0 j
0.000 0.000 0.000 1.000 k
(TIMEOUT_FAILURE\r) Tx
TO
0.000 0.000 0.000 1.000 K
u
0.000 0.000 0.000 0.000 k
0.0000 w
1 j
37.3777 1.4376 m
169.7571 1.4376 L
169.7571 15.9334 L
37.3777 15.9334 L
37.3777 1.4376 L
B
U
0 To
1.0000 0.0000 0.0000 1.0000 43.3677 6.7088 0 Tp
TP
/_Helvetica 8.0000 Tf
0.0000 Tc
0 Tr
0.0000 w
0 j
0.000 0.000 0.000 1.000 k
(eapTimeout = TRUE\r) Tx
TO
0.000 0.000 0.000 1.000 K
u
0.000 0.000 0.000 0.000 k
0.0000 w
1 j
276.2596 341.5507 m
399.5341 341.5507 L
399.5341 355.0882 L
276.2596 355.0882 L
276.2596 341.5507 L
B
U
0 To
1.0000 0.0000 0.0000 1.0000 302.2562 345.9834 0 Tp
TP
/_Helvetica 8.0000 Tf
0.0000 Tc
0 Tr
0.0000 w
0 j
0.000 0.000 0.000 1.000 k
(INTEGRITY_CHECK\r) Tx
TO
0.000 0.000 0.000 1.000 K
u
0.000 0.000 0.000 0.000 k
0.0000 w
1 j
276.2596 315.4343 m
399.5341 315.4343 L
399.5341 341.5507 L
276.2596 341.5507 L
276.2596 315.4343 L
B
U
0 To
1.0000 0.0000 0.0000 1.0000 282.2496 332.3261 0 Tp
TP
/_Helvetica 8.0000 Tf
0.0000 Tc
0 Tr
0.0000 w
0 j
0.000 0.000 0.000 1.000 k
(intCheck =\r) Tx
TO
0.000 0.000 0.000 1.000 K
0 To
1.0000 0.0000 0.0000 1.0000 282.2496 322.8619 0 Tp
TP
/_Helvetica 8.0000 Tf
0.0000 Tc
0 Tr
0.000 0.000 0.000 1.000 k
( m.intCheck\(eapRespData\)\r) Tx
TO
0.000 0.000 0.000 1.000 K
u
0.000 0.000 0.000 0.000 k
0.0000 w
1 j
276.2596 262.4825 m
399.5341 262.4825 L
399.5341 276.0200 L
276.2596 276.0200 L
276.2596 262.4825 L
B
U
0 To
1.0000 0.0000 0.0000 1.0000 298.0632 266.9151 0 Tp
TP
/_Helvetica 8.0000 Tf
0.0000 Tc
0 Tr
0.0000 w
0 j
0.000 0.000 0.000 1.000 k
(METHOD_RESPONSE\r) Tx
TO
0.000 0.000 0.000 1.000 K
u
0.000 0.000 0.000 0.000 k
0.0000 w
1 j
276.2596 188.5657 m
399.5341 188.5657 L
399.5341 262.4825 L
276.2596 262.4825 L
276.2596 188.5657 L
B
U
0 To
1.0000 0.0000 0.0000 1.0000 282.2496 253.2579 0 Tp
TP
/_Helvetica 8.0000 Tf
0.0000 Tc
0 Tr
0.0000 w
0 j
0.000 0.000 0.000 1.000 k
(m.process\(eapRespData\)\r) Tx
TO
0.000 0.000 0.000 1.000 K
0 To
1.0000 0.0000 0.0000 1.0000 282.2496 243.7937 0 Tp
TP
/_Helvetica 8.0000 Tf
0.0000 Tc
0 Tr
0.000 0.000 0.000 1.000 k
(if \(m.isDone\(\)\) {\r) Tx
TO
0.000 0.000 0.000 1.000 K
0 To
1.0000 0.0000 0.0000 1.0000 282.2496 234.2097 0 Tp
TP
/_Helvetica 8.0000 Tf
0.0000 Tc
0 Tr
0.000 0.000 0.000 1.000 k
( Policy.update\(<...>\)\r) Tx
TO
0.000 0.000 0.000 1.000 K
0 To
1.0000 0.0000 0.0000 1.0000 282.2496 224.6256 0 Tp
TP
/_Helvetica 8.0000 Tf
0.0000 Tc
0 Tr
0.000 0.000 0.000 1.000 k
( eapKeyData = m.getKey\(\)\r) Tx
TO
0.000 0.000 0.000 1.000 K
0 To
1.0000 0.0000 0.0000 1.0000 282.2496 215.0416 0 Tp
TP
/_Helvetica 8.0000 Tf
0.0000 Tc
0 Tr
0.000 0.000 0.000 1.000 k
( methodState = END\r) Tx
TO
0.000 0.000 0.000 1.000 K
0 To
1.0000 0.0000 0.0000 1.0000 282.2496 205.4576 0 Tp
TP
/_Helvetica 8.0000 Tf
0.0000 Tc
0 Tr
0.000 0.000 0.000 1.000 k
(} else\r) Tx
TO
0.000 0.000 0.000 1.000 K
0 To
1.0000 0.0000 0.0000 1.0000 282.2496 195.8735 0 Tp
TP
/_Helvetica 8.0000 Tf
0.0000 Tc
0 Tr
0.000 0.000 0.000 1.000 k
( methodState = CONTINUE\r) Tx
TO
0.000 0.000 0.000 1.000 K
u
0.000 0.000 0.000 0.000 k
0.0000 w
1 j
409.5973 341.5507 m
563.3012 341.5507 L
563.3012 355.0882 L
409.5973 355.0882 L
409.5973 341.5507 L
B
U
0 To
1.0000 0.0000 0.0000 1.0000 449.6106 345.9834 0 Tp
TP
/_Helvetica 8.0000 Tf
0.0000 Tc
0 Tr
0.0000 w
0 j
0.000 0.000 0.000 1.000 k
(METHOD_REQUEST\r) Tx
TO
0.000 0.000 0.000 1.000 K
u
0.000 0.000 0.000 0.000 k
0.0000 w
1 j
409.5973 306.4493 m
563.3012 306.4493 L
563.3012 341.5507 L
409.5973 341.5507 L
409.5973 306.4493 L
B
U
0 To
1.0000 0.0000 0.0000 1.0000 415.5874 332.3261 0 Tp
TP
/_Helvetica 8.0000 Tf
0.0000 Tc
0 Tr
0.0000 w
0 j
0.000 0.000 0.000 1.000 k
(currentId = nextId\(currentId\)\r) Tx
TO
0.000 0.000 0.000 1.000 K
0 To
1.0000 0.0000 0.0000 1.0000 415.5874 322.8619 0 Tp
TP
/_Helvetica 8.0000 Tf
0.0000 Tc
0 Tr
0.000 0.000 0.000 1.000 k
(eapReqData = m.buildReq\(currentId\)\r) Tx
TO
0.000 0.000 0.000 1.000 K
0 To
1.0000 0.0000 0.0000 1.0000 415.5874 313.2779 0 Tp
TP
/_Helvetica 8.0000 Tf
0.0000 Tc
0 Tr
0.000 0.000 0.000 1.000 k
(methodTimeout = m.getTimeout\(\)\r) Tx
TO
0.000 0.000 0.000 1.000 K
u
0.000 0.000 0.000 0.000 k
0.0000 w
1 j
409.5973 262.4825 m
563.3012 262.4825 L
563.3012 276.0200 L
409.5973 276.0200 L
409.5973 262.4825 L
B
U
0 To
1.0000 0.0000 0.0000 1.0000 449.1314 266.9151 0 Tp
TP
/_Helvetica 8.0000 Tf
0.0000 Tc
0 Tr
0.0000 w
0 j
0.000 0.000 0.000 1.000 k
(PROPOSE_METHOD\r) Tx
TO
0.000 0.000 0.000 1.000 K
u
0.000 0.000 0.000 0.000 k
0.0000 w
1 j
409.5973 188.5657 m
563.3012 188.5657 L
563.3012 262.4825 L
409.5973 262.4825 L
409.5973 188.5657 L
B
U
0 To
1.0000 0.0000 0.0000 1.0000 415.5874 253.2579 0 Tp
TP
/_Helvetica 8.0000 Tf
0.0000 Tc
0 Tr
0.0000 w
0 j
0.000 0.000 0.000 1.000 k
(currentMethod = Policy.getNextMethod\(\)\r) Tx
TO
0.000 0.000 0.000 1.000 K
0 To
1.0000 0.0000 0.0000 1.0000 415.5874 243.7937 0 Tp
TP
/_Helvetica 8.0000 Tf
0.0000 Tc
0 Tr
0.000 0.000 0.000 1.000 k
(m.init\(\)\r) Tx
TO
0.000 0.000 0.000 1.000 K
0 To
1.0000 0.0000 0.0000 1.0000 415.5874 234.2097 0 Tp
TP
/_Helvetica 8.0000 Tf
0.0000 Tc
0 Tr
0.000 0.000 0.000 1.000 k
(if \(currentMethod==IDENTITY ||\r) Tx
TO
0.000 0.000 0.000 1.000 K
0 To
1.0000 0.0000 0.0000 1.0000 415.5874 224.6256 0 Tp
TP
/_Helvetica 8.0000 Tf
0.0000 Tc
0 Tr
0.000 0.000 0.000 1.000 k
( currentMethod==NOTIFICATION\)\r) Tx
TO
0.000 0.000 0.000 1.000 K
0 To
1.0000 0.0000 0.0000 1.0000 415.5874 215.0416 0 Tp
TP
/_Helvetica 8.0000 Tf
0.0000 Tc
0 Tr
0.000 0.000 0.000 1.000 k
( methodState = CONTINUE\r) Tx
TO
0.000 0.000 0.000 1.000 K
0 To
1.0000 0.0000 0.0000 1.0000 415.5874 205.4576 0 Tp
TP
/_Helvetica 8.0000 Tf
0.0000 Tc
0 Tr
0.000 0.000 0.000 1.000 k
(else\r) Tx
TO
0.000 0.000 0.000 1.000 K
0 To
1.0000 0.0000 0.0000 1.0000 415.5874 195.8735 0 Tp
TP
/_Helvetica 8.0000 Tf
0.0000 Tc
0 Tr
0.000 0.000 0.000 1.000 k
( methodState = PROPOSED\r) Tx
TO
0.000 0.000 0.000 1.000 K
u
0.0000 w
1 j
379.1681 276.1398 m
379.1681 289.5574 L
429.6040 289.5574 L
429.6040 298.9018 L
S
U
u
0.000 0.000 0.000 1.000 k
0.0000 w
426.8486 298.1830 m
429.6040 306.4493 L
432.3594 298.1830 L
426.8486 298.1830 L
F
U
u
0.000 0.000 0.000 0.000 k
397.3777 284.1664 m
414.6290 284.1664 L
414.6290 295.5474 L
397.3777 295.5474 L
397.3777 284.1664 L
F
U
0 To
1.0000 0.0000 0.0000 1.0000 398.4559 287.1614 0 Tp
TP
/_Helvetica 8.0000 Tf
0.0000 Tc
0 Tr
0 j
0.000 0.000 0.000 1.000 k
(else\r) Tx
TO
0.000 0.000 0.000 1.000 K
u
0.0000 w
1 j
338.3161 315.3145 m
338.3161 301.8968 L
338.4359 301.8968 L
338.4359 283.6872 L
S
U
u
0.000 0.000 0.000 1.000 k
0.0000 w
341.1913 284.4060 m
338.4359 276.1398 L
335.6805 284.4060 L
341.1913 284.4060 L
F
U
u
0.000 0.000 0.000 0.000 k
321.9035 290.3960 m
355.0882 290.3960 L
355.0882 301.7770 L
321.9035 301.7770 L
321.9035 290.3960 L
F
U
0 To
1.0000 0.0000 0.0000 1.0000 322.8619 293.3910 0 Tp
TP
/_Helvetica 8.0000 Tf
0.0000 Tc
0 Tr
0 j
0.000 0.000 0.000 1.000 k
(intCheck\r) Tx
TO
0.000 0.000 0.000 1.000 K
u
0.000 0.000 0.000 0.000 k
1 j
477.8835 158.3760 m
495.1348 158.3760 L
495.1348 169.7571 L
477.8835 169.7571 L
477.8835 158.3760 L
F
U
0 To
1.0000 0.0000 0.0000 1.0000 478.9617 161.3710 0 Tp
TP
/_Helvetica 8.0000 Tf
0.0000 Tc
0 Tr
0 j
0.000 0.000 0.000 1.000 k
(else\r) Tx
TO
0.000 0.000 0.000 1.000 K
u
0.000 0.000 0.000 0.000 k
1 j
476.3261 281.1714 m
494.6556 281.1714 L
494.6556 292.5524 L
476.3261 292.5524 L
476.3261 281.1714 L
F
U
0 To
1.0000 0.0000 0.0000 1.0000 477.2845 284.1664 0 Tp
TP
/_Helvetica 8.0000 Tf
0.0000 Tc
0 Tr
0 j
0.000 0.000 0.000 1.000 k
(UCT\r) Tx
TO
0.000 0.000 0.000 1.000 K
0 To
1.0000 0.0000 0.0000 1.0000 43.4875 504.2396 0 Tp
TP
/_Helvetica 8.0000 Tf
0.0000 Tc
0 Tr
0.000 0.000 0.000 1.000 k
(retransWhile = calculateTimeout\(retransCount, eapSRTT, eapRTTVAR, methodTimeout\)\r) Tx
TO
0.000 0.000 0.000 1.000 K
u
0.5000 w
1 j
563.3012 107.8203 m
574.8020 107.8203 L
S
U
u
581.2712 107.8203 m
592.7720 107.8203 L
S
U
u
599.2413 107.8203 m
610.7421 107.8203 L
S
U
u
617.0915 107.8203 m
628.5923 107.8203 L
S
U
u
635.0616 107.8203 m
641.8902 107.8203 L
S
U
u
0.000 0.000 0.000 1.000 k
0.0000 w
641.0516 110.9351 m
650.7554 107.8203 L
641.0516 104.5857 L
641.0516 110.9351 L
F
U
0 To
1.0000 0.0000 0.0000 1.0000 569.0516 98.2363 0 Tp
TP
/_Helvetica 8.0000 Tf
0.0000 Tc
0 Tr
0 j
0.000 0.000 0.000 1.000 k
(decision==PASSTHROUGH\r) Tx
TO
0.000 0.000 0.000 1.000 K
0 To
1.0000 0.0000 0.0000 1.0000 282.1298 105.5441 0 Tp
TP
/_Helvetica 8.0000 Tf
0.0000 Tc
0 Tr
0.000 0.000 0.000 1.000 k
(/* SUCCESS, FAILURE, CONTINUE, or PASSTHROUGH */\r) Tx
TO
0.000 0.000 0.000 1.000 K
u
0.000 0.000 0.000 0.000 k
0.0000 w
1 j
177.6639 453.2047 m
314.3561 453.2047 L
314.3561 466.8619 L
177.6639 466.8619 L
177.6639 453.2047 L
B
U
0 To
1.0000 0.0000 0.0000 1.0000 227.3810 457.6373 0 Tp
TP
/_Helvetica 8.0000 Tf
0.0000 Tc
0 Tr
0.0000 w
0 j
0.000 0.000 0.000 1.000 k
(RECEIVED\r) Tx
TO
0.000 0.000 0.000 1.000 K
u
0.000 0.000 0.000 0.000 k
0.0000 w
1 j
177.6639 426.7288 m
314.3561 426.7288 L
314.3561 453.2047 L
177.6639 453.2047 L
177.6639 426.7288 L
B
U
0 To
1.0000 0.0000 0.0000 1.0000 183.5341 444.0998 0 Tp
TP
/_Helvetica 8.0000 Tf
0.0000 Tc
0 Tr
0.0000 w
0 j
0.000 0.000 0.000 1.000 k
(\(rxResp,respId,respMethod\)=\r) Tx
TO
0.000 0.000 0.000 1.000 K
0 To
1.0000 0.0000 0.0000 1.0000 183.5341 434.5158 0 Tp
TP
/_Helvetica 8.0000 Tf
0.0000 Tc
0 Tr
0.000 0.000 0.000 1.000 k
( parseEapResp\(eapRespData\)\r) Tx
TO
0.000 0.000 0.000 1.000 K
%%PageTrailer
gsave annotatepage grestore showpage
%%Trailer
Adobe_Illustrator_AI5 /terminate get exec
Adobe_pattern_AI5 /terminate get exec
Adobe_blend_AI5 /terminate get exec
Adobe_ColorImage_AI6 /terminate get exec
Adobe_typography_AI5 /terminate get exec
Adobe_screens_AI5 /terminate get exec
Adobe_level2_AI5 /terminate get exec
%%EOF
%%EndDocument
@endspecial 857 3435 a(Figure)h(6:)25 b(EAP)c(Full)f(Authenticator)f
(State)h(Machine)g(\(P)o(art)g(1\))208 3785 y(Set)27
b(to)f(TR)m(UE)g(in)h(lo)n(wer)f(layer)m(,)g(F)-6 b(ALSE)27
b(in)f(authenticator)f(state)i(machine.)42 b(Indicates)25
b(a)i(ne)n(w)f(EAP)h(request)f(is)208 3885 y(a)n(v)n(ailable)19
b(from)g(the)i(AAA)f(serv)o(er)-5 b(.)125 4051 y Fb(\017)41
b Fg(aaaEapNoReq)18 b(\(boolean\))208 4184 y(Set)i(to)h(TR)m(UE)f(in)h
(lo)n(wer)e(layer)m(,)h(F)-6 b(ALSE)20 b(in)g(authenticator)f(state)i
(machine.)j(Indicates)19 b(the)i(most)f(recent)g(response)208
4283 y(has)g(been)f(processed,)g(b)n(ut)i(there)e(is)i(no)f(ne)n(w)g
(request)g(to)g(send.)125 4449 y Fb(\017)41 b Fg(aaaSuccess)20
b(\(boolean\))208 4582 y(Set)e(to)g(TR)m(UE)g(in)g(lo)n(wer)f(layer)-5
b(.)24 b(Indicates)17 b(the)h(AAA)g(back)o(end)e(authenticator)g(has)i
(reached)e(the)i(SUCCESS)h(state.)125 4748 y Fb(\017)41
b Fg(aaaF)o(ail)20 b(\(boolean\))208 4881 y(Set)f(to)g(TR)m(UE)g(in)g
(lo)n(wer)f(layer)-5 b(.)25 b(Indicates)18 b(the)h(AAA)g(back)o(end)e
(authenticator)g(has)i(reached)e(the)i(F)-6 b(AILURE)19
b(state.)125 5047 y Fb(\017)41 b Fg(aaaEapReqData)18
b(\(EAP)j(pack)o(et\))208 5180 y(Set)e(in)f(the)g(lo)n(wer)g(layer)g
(when)g(aaaEapReq,)f(aaaSuccess,)h(or)g(aaaF)o(ail)h(is)g(set)g(to)f
(TR)m(UE.)h(The)e(actual)i(EAP)f(request)208 5280 y(to)i(be)g(sent)h
(\(or)e(success/f)o(ailure\).)0 5656 y(V)-11 b(ollbrecht,)19
b(et)i(al.)965 b(Expires)19 b(March)h(18,)f(2004)964
b([P)o(age)19 b(25])p eop
%%Page: 26 26
26 25 bop 0 100 a Fg(INTERNET)-8 b(-DRAFT)862 b(EAP)21
b(State)f(Machine)841 b(September)19 b(2003)18 3155 y
@beginspecial 0 @llx 0 @lly 622 @urx 497 @ury 4276 @rwi
@setspecial
%%BeginDocument: ../../../diagrams/20030912_passthrough_authenticator2.eps
%!PS-Adobe-3.0 EPSF-3.0
%%Creator: ImageMark Software Labs
%%For: () ()
%%Title: C:\USERS\IETF\EAP\State machines\AuthenticatorSplit\20030912_passthrough_authenticator2.eps
%%CreationDate: () ()
%%BoundingBox: 0 0 622 497
%%DocumentProcessColors: Black
%%ColorUsage:Color
%%DocumentFonts: Helvetica
%%+Helvetica-Bold
%%+Helvetica-Oblique
%%+Helvetica-BoldOblique
%%+Times-Roman
%%+Times-Bold
%%+Times-Italic
%%+Times-BoldItalic
%%+Courier
%%+Courier-Bold
%%+Courier-Oblique
%%+Courier-BoldOblique
%%+Symbol
%%DocumentSuppliedResources: procset Adobe_level2_AI5 1.2 0
%%+ procset Adobe_screens_AI5 1.0 0
%%+ procset Adobe_typography_AI5 1.0 0
%%+ procset Adobe_ColorImage_AI6 1.1 0
%%+ procset Adobe_blend_AI5 1.0 0
%%+ procset Adobe_pattern_AI5 1.0 0
%%+ procset Adobe_Illustrator_AI5 1.0 0
%AI5_FileFormat 3.0
%AI3_ColorUsage: Color
%AI3_TemplateBox: 0 0 622 497
%AI3_TileBox: 0 0 622 497
%AI3_DocumentPreview: None
%%Template:
%%PageOrigin:0.0000 0.0000
%AI7_GridSettings: 72 8 72 8 1 0 0.8 0.8 0.8 0.9 0.9 0.9
%%EndComments
%%BeginProlog
%%BeginResource: procset Adobe_level2_AI5 1.2 0
%%Title: (Adobe Illustrator (R) Version 5.0 Level 2 Emulation)
%%Version: 1.2 0
%%CreationDate: (04/10/93) ()
%%Copyright: ((C) 1987-1996 Adobe Systems Incorporated All Rights Reserved)
userdict /Adobe_level2_AI5 25 dict dup begin
put
/packedarray where not
{
userdict begin
/packedarray
{
array astore readonly
} bind def
/setpacking /pop load def
/currentpacking false def
end
0
} if
pop
userdict /defaultpacking currentpacking put true setpacking
/initialize
{
Adobe_level2_AI5 begin
} bind def
/terminate
{
currentdict Adobe_level2_AI5 eq
{
end
} if
} bind def
mark
/setcustomcolor where not
{
/findcmykcustomcolor
{
0
6 packedarray
} bind def
/findrgbcustomcolor
{
1
5 packedarray
} bind def
/setcustomcolor
{
exch
aload pop
0 eq
{
pop
4
{
4 index mul
4 1 roll
} repeat
5 -1 roll pop
setcmykcolor
}
{
pop
3
{
1 exch sub
3 index mul
1 exch sub
3 1 roll
} repeat
4 -1 roll pop
setrgbcolor
} ifelse
}
def
} if
/gt38? mark {version cvr cvx exec} stopped {cleartomark true} {38 gt exch pop} ifelse def
userdict /deviceDPI 72 0 matrix defaultmatrix dtransform dup mul exch dup mul add sqrt put
userdict /level2?
systemdict /languagelevel known dup
{
pop systemdict /languagelevel get 2 ge
} if
put
/level2ScreenFreq
{
begin
60
HalftoneType 1 eq
{
pop Frequency
} if
HalftoneType 2 eq
{
pop GrayFrequency
} if
HalftoneType 5 eq
{
pop Default level2ScreenFreq
} if
end
} bind def
userdict /currentScreenFreq
level2? {currenthalftone level2ScreenFreq} {currentscreen pop pop} ifelse put
level2? not
{
/setcmykcolor where not
{
/setcmykcolor
{
exch .11 mul add exch .59 mul add exch .3 mul add
1 exch sub setgray
} def
} if
/currentcmykcolor where not
{
/currentcmykcolor
{
0 0 0 1 currentgray sub
} def
} if
/setoverprint where not
{
/setoverprint /pop load def
} if
/selectfont where not
{
/selectfont
{
exch findfont exch
dup type /arraytype eq
{
makefont
}
{
scalefont
} ifelse
setfont
} bind def
} if
/cshow where not
{
/cshow
{
[
0 0 5 -1 roll aload pop
] cvx bind forall
} bind def
} if
} if
cleartomark
/anyColor?
{
add add add 0 ne
} bind def
/testColor
{
gsave
setcmykcolor currentcmykcolor
grestore
} bind def
/testCMYKColorThrough
{
testColor anyColor?
} bind def
userdict /composite?
level2?
{
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
composite? not
{
userdict begin
gsave
/cyan? 1 0 0 0 testCMYKColorThrough def
/magenta? 0 1 0 0 testCMYKColorThrough def
/yellow? 0 0 1 0 testCMYKColorThrough def
/black? 0 0 0 1 testCMYKColorThrough def
grestore
/isCMYKSep? cyan? magenta? yellow? black? or or or def
/customColor? isCMYKSep? not def
end
} if
end defaultpacking setpacking
%%EndResource
%%BeginResource: procset Adobe_typography_AI5 1.0 1
%%Title: (Typography Operators)
%%Version: 1.0
%%CreationDate:(03/26/93) ()
%%Copyright: ((C) 1987-1993 Adobe Systems Incorporated All Rights Reserved)
currentpacking true setpacking
userdict /Adobe_typography_AI5 54 dict dup begin
put
/initialize
{
begin
begin
Adobe_typography_AI5 begin
Adobe_typography_AI5
{
dup xcheck
{
bind
} if
pop pop
} forall
end
end
end
Adobe_typography_AI5 begin
} def
/terminate
{
currentdict Adobe_typography_AI5 eq
{
end
} if
} def
/modifyEncoding
{
/_tempEncode exch ddef
/_pntr 0 ddef
{
counttomark -1 roll
dup type dup /marktype eq
{
pop pop exit
}
{
/nametype eq
{
_tempEncode /_pntr dup load dup 3 1 roll 1 add ddef 3 -1 roll
put
}
{
/_pntr exch ddef
} ifelse
} ifelse
} loop
_tempEncode
} def
/TE
{
StandardEncoding 256 array copy modifyEncoding
/_nativeEncoding exch def
} def
%
/TZ
{
dup type /arraytype eq
{
/_wv exch def
}
{
/_wv 0 def
} ifelse
/_useNativeEncoding exch def
pop pop
findfont _wv type /arraytype eq
{
_wv makeblendedfont
} if
dup length 2 add dict
begin
mark exch
{
1 index /FID ne
{
def
} if
cleartomark mark
} forall
pop
/FontName exch def
counttomark 0 eq
{
1 _useNativeEncoding eq
{
/Encoding _nativeEncoding def
} if
cleartomark
}
{
/Encoding load 256 array copy
modifyEncoding /Encoding exch def
} ifelse
FontName currentdict
end
definefont pop
} def
/tr
{
_ax _ay 3 2 roll
} def
/trj
{
_cx _cy _sp _ax _ay 6 5 roll
} def
/a0
{
/Tx
{
dup
currentpoint 3 2 roll
tr _psf
newpath moveto
tr _ctm _pss
} ddef
/Tj
{
dup
currentpoint 3 2 roll
trj _pjsf
newpath moveto
trj _ctm _pjss
} ddef
} def
/a1
{
/Tx
{
dup currentpoint 4 2 roll gsave
dup currentpoint 3 2 roll
tr _psf
newpath moveto
tr _ctm _pss
grestore 3 1 roll moveto tr sp
} ddef
/Tj
{
dup currentpoint 4 2 roll gsave
dup currentpoint 3 2 roll
trj _pjsf
newpath moveto
trj _ctm _pjss
grestore 3 1 roll moveto tr jsp
} ddef
} def
/e0
{
/Tx
{
tr _psf
} ddef
/Tj
{
trj _pjsf
} ddef
} def
/e1
{
/Tx
{
dup currentpoint 4 2 roll gsave
tr _psf
grestore 3 1 roll moveto tr sp
} ddef
/Tj
{
dup currentpoint 4 2 roll gsave
trj _pjsf
grestore 3 1 roll moveto tr jsp
} ddef
} def
/i0
{
/Tx
{
tr sp
} ddef
/Tj
{
trj jsp
} ddef
} def
/i1
{
W N
} def
/o0
{
/Tx
{
tr sw rmoveto
} ddef
/Tj
{
trj swj rmoveto
} ddef
} def
/r0
{
/Tx
{
tr _ctm _pss
} ddef
/Tj
{
trj _ctm _pjss
} ddef
} def
/r1
{
/Tx
{
dup currentpoint 4 2 roll currentpoint gsave newpath moveto
tr _ctm _pss
grestore 3 1 roll moveto tr sp
} ddef
/Tj
{
dup currentpoint 4 2 roll currentpoint gsave newpath moveto
trj _ctm _pjss
grestore 3 1 roll moveto tr jsp
} ddef
} def
/To
{
pop _ctm currentmatrix pop
} def
/TO
{
iTe _ctm setmatrix newpath
} def
/Tp
{
pop _tm astore pop _ctm setmatrix
_tDict begin
/W
{
} def
/h
{
} def
} def
/TP
{
end
iTm 0 0 moveto
} def
/Tr
{
_render 3 le
{
currentpoint newpath moveto
} if
dup 8 eq
{
pop 0
}
{
dup 9 eq
{
pop 1
} if
} ifelse
dup /_render exch ddef
_renderStart exch get load exec
} def
/iTm
{
_ctm setmatrix _tm concat 0 _rise translate _hs 1 scale
} def
/Tm
{
_tm astore pop iTm 0 0 moveto
} def
/Td
{
_mtx translate _tm _tm concatmatrix pop iTm 0 0 moveto
} def
/iTe
{
_render -1 eq
{
}
{
_renderEnd _render get dup null ne
{
load exec
}
{
pop
} ifelse
} ifelse
/_render -1 ddef
} def
/Ta
{
pop
} def
/Tf
{
dup 1000 div /_fScl exch ddef
%
selectfont
} def
/Tl
{
pop
0 exch _leading astore pop
} def
/Tt
{
pop
} def
/TW
{
3 npop
} def
/Tw
{
/_cx exch ddef
} def
/TC
{
3 npop
} def
/Tc
{
/_ax exch ddef
} def
/Ts
{
/_rise exch ddef
currentpoint
iTm
moveto
} def
/Ti
{
3 npop
} def
/Tz
{
100 div /_hs exch ddef
iTm
} def
/TA
{
pop
} def
/Tq
{
pop
} def
/Th
{
pop pop pop pop pop
} def
/TX
{
pop
} def
/Tk
{
exch pop _fScl mul neg 0 rmoveto
} def
/TK
{
2 npop
} def
/T*
{
_leading aload pop neg Td
} def
/T*-
{
_leading aload pop Td
} def
/T-
{
_hyphen Tx
} def
/T+
{
} def
/TR
{
_ctm currentmatrix pop
_tm astore pop
iTm 0 0 moveto
} def
/TS
{
currentfont 3 1 roll
/_Symbol_ _fScl 1000 mul selectfont
0 eq
{
Tx
}
{
Tj
} ifelse
setfont
} def
/Xb
{
pop pop
} def
/Tb /Xb load def
/Xe
{
pop pop pop pop
} def
/Te /Xe load def
/XB
{
} def
/TB /XB load def
currentdict readonly pop
end
setpacking
%%EndResource
%%BeginResource: procset Adobe_screens_AI5 1.2 0
%%Title: (Adobe Illustrator (R) Version 5.0 Custom Halftone Screens ProcSet)
%%Version: 1.2 0
%%CreationDate: (03/24/93) ()
%%Copyright: ((C) 1987-1996 Adobe Systems Incorporated All Rights Reserved)
userdict /defaultpacking currentpacking put true setpacking
systemdict begin
userdict /Adobe_screens_AI5 15 dict dup begin
put
/initialize
{
Adobe_screens_AI5 begin
/screenid
deviceDPI 600 gt composite? not or
{
-1
}
{
deviceDPI currentScreenFreq
dup dup 60 ge exch 150 le and deviceDPI 300 le and
{
pop 60
} if
div 1.41421 div 0.5 add cvi
} ifelse
def
2 screenid eq
{
/customsize 16 def
/customdata /customdata2 def
setcustomscreen
} if
3 screenid eq
{
/customsize 24 def
/customdata /customdata3 def
setcustomscreen
} if
4 screenid eq
{
/customsize 16 def
/customdata /customdata4 def
setcustomscreen
} if
5 screenid eq
{
/customsize 20 def
/customdata /customdata5 def
setcustomscreen
} if
6 screenid eq
{
/customsize 24 def
/customdata /customdata6 def
setcustomscreen
} if
7 screenid eq
{
/customsize 28 def
/customdata /customdata7 def
setcustomscreen
} if
8 screenid eq
{
/customsize 16 def
/customdata /customdata8 def
setcustomscreen
} if
} def
/terminate
{
currentdict Adobe_screens_AI5 eq
{
end
} if
} def
/setcustomscreen
{
deviceDPI customsize div 0
{
1 add 2 div customsize mul cvi exch
1 add 2 div customsize mul cvi exch
customsize mul add
customdata load exch get 256 div
} setscreen
} def
/customdata2 28 28 mul string def
currentfile customdata2 readhexstring
4180E8694988E2634382EA6B4B8AE061A01939C8A81737C2A21B3BCAAA1636C0
F8795998F6775796FA7B5B9AF57656952ED8B80727D6B60F2FDABA0626D5B50E
4E8DE6674786EE6F4F8EE5664685ED6EAD1434C6A61F3FCEAE1232C5A51E3ECD
F3745493FE7F5F9EF1725291FD7E5E9D24D3B30C2CDEBE0222D1B10A2ADDBD04
4483EB6C4C8BE1624281E96A4A89E364A31C3CCBAB1535C1A11A3AC9A91838C3
FB7C5C9BF4755594F97A5A99F778589730DBBB0525D4B40D2DD9B90828D7B710
508FE4654584EC6D4D8CE7684887EF70AF1131C4A41D3DCCAC1333C7A72040CF
F0715190FC7D5D9CF2735392FF80609F21D0B00929DCBC0323D2B20B2BDFBF01
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000
pop pop
/customdata3 28 28 mul string def
currentfile customdata3 readhexstring
011DC7F5E73D0421CBF3E43A021EC8F6E83E0522CCF2E43A2B648BC4A0762F68
8AC39E732C658CC5A177306989C29D72D5B6521A6192D9B55219608FD6B6531B
6193DAB451185F8FFCEE440C28D2FCED430B27D1FDEF450C29D3FBEC420A26D0
BEA77D366F83BCA77C356E87BFA87E377082BBA67B346D86145B99E0AE4A1259
98DFB14E155C9AE1AD4A115897DEB04D0623CDF4E63C0420CAF8EA400723CDF4
E53B031FC9F7E93F316988C19F752E678EC6A378326A88C09F742D668DC6A278
DBB350175E91D8B8551C6395DCB24F165D90D7B7541C6294FAEC420925CFFFF1
470E2BD5F9EB410824CEFEF0460D2AD4BAA57A336C85BEAA80397180B9A47933
6B84BDA97F387181105797DDAF4C145A9CE3AB480F5696DDAE4B13599BE2AC49
021EC8F6E83E0522CCF2E43A011DC7F5E73D0421CBF3E43A2C658CC5A1773069
89C29D722B648BC4A0762F688AC39E73D6B6531B6193DAB451185F8FD5B6521A
6192D9B55219608FFDEF450C29D3FBEC420A26D0FCEE440C28D2FCED430B27D1
BFA87E377082BBA67B346D86BEA77D366F83BCA77C356E87155C9AE1AD4A1158
97DEB04D145B99E0AE4A125998DFB14E0723CDF4E53B031FC9F7E93F0623CDF4
E63C0420CAF8EA40326A88C09F742D668DC6A278316988C19F752E678EC6A378
DCB24F165D90D7B7541C6294DBB350175E91D8B8551C6395F9EB410824CEFEF0
460D2AD4FAEC420925CFFFF1470E2BD5B9A479336B84BDA97F387181BAA57A33
6C85BEAA803971800F5696DDAE4B13599BE2AC49105797DDAF4C145A9CE3AB48
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000
pop pop
/customdata4 28 28 mul string def
currentfile customdata4 readhexstring
1139B8E0FAD2531B133BBAE2F8D05119417180A6AE9A7B4B437382A5AD987949
C08867272F6F92CAC28A66262E6E90C8E8DE5F070F37B6F2EADD5E060E36B5F0
FED6571F173FBEE6FDD5561E163EBDE5AB9E7F4F477786A1A99D7E4E467685A3
2C6C96CEC68E62222A6A95CDC58D64240C34B3F6EED95A020A32B1F5EDDB5C04
143CBBE3F9D1521A123AB9E1FBD3541C447483A4AC997A4A427281A7AF9B7C4C
C38B65252D6D91C9C1896828307093CBEBDC5D050D35B4F1E9DF60081038B7F3
FCD4551D153DBCE4FFD758201840BFE7A89C7D4D457584A2AA9F8050487887A0
296994CCC48C63232B6B97CFC78F61210931B0F4ECDA5B030B33B2F7EFD85901
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000
pop pop
/customdata5 28 28 mul string def
currentfile customdata5 readhexstring
010B34C3EBFCF7CE3F16020C35C4EDFBF6CD3E15102552A4D6EADDB5632B1126
54A5D5EADCB3622A3958768499C19E8C7C5E3A59778498C19D8B7B5DC8A99370
47334C7587AFC9AA936F46324B7485AEF1E5BC6B1E0A2351A3D8F2E4BC6A1E09
2351A2D7FFF9D14219050F38C6EFFEF9D04118040E37C6EFE8E0B7662D142856
A8D3E7DFB7652D132856A7D4BF9C8E7F603D5B7A8195BE9A8E7E603C5B798297
314A7389B2CCAD906D442F497289B1CBAC926E4508214FA1DBF4E2B9671B0720
4EA0DAF4E3BA691C030D36C5EDFBF6CD3F16010C34C3ECFDF8CF4017122654A6
D4E9DDB4622A112553A5D6EBDEB5642C3B59788397C09C8B7C5D3A58778599C2
9E8C7D5FCAAB926E46314B7486AFC8AA947048334D7587B0F2E4BB691D082250
A1D8F1E6BD6B1F0A2452A3D9FDF8CF4118030E36C5EEFFFAD1421A050F38C7F0
E6DFB6642C132755A7D3E8E1B8662E152957A8D2BE9A8D7E5F3B5A798296BF9B
8F80613D5C7B80952F487188B1CAAC916D443049728AB3CCAE906C43061F4D9F
DAF3E2BA681C07214FA0DBF5E1B8671A00000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000
pop pop
/customdata6 28 28 mul string def
currentfile customdata6 readhexstring
081A44B6E0F2FDECC150250C091B45B6E1F3FCEBC04F240C1D336199C7D8DCD3
A56C37221E33619AC8D7DBD2A46B36214864798091AEB1958C7E694C49657A81
90ADB0948B7D684BB99D8475593C405C7888A1BEBA9E8574583B3F5B7888A0BD
E4CBAA712E1215326098CFE8E4CCA9712D1114315F97CEE7F5F1C6552B040719
43B5DFFAF6F0C6542A03061842B4DEF9FFEDC352270E0B1C47B8E3F4FEECC251
260D0A1C46B7E2F4DAD5A76E39232035639CCAD5D9D4A66D38231F34629BC9D6
AF938E806A4E4A677C838FABAE928D7F694D4A667B828FAC3E5A778AA3BFBC9F
8772563A3D597689A2BEBB9F8673573A14305E97D1EAE6CDA76F2B0F132F5D96
D0E9E5CDA8702C10051742B3DDFCF8EEC4522801041641B2DDFBF7EFC5532902
091B45B6E1F3FCEBC04F240C081A44B6E0F2FDECC150250C1E33619AC8D7DBD2
A46B36211D336199C7D8DCD3A56C372249657A8190ADB0948B7D684B48647980
91AEB1958C7E694CBA9E8574583B3F5B7888A0BDB99D8475593C405C7888A1BE
E4CCA9712D1114315F97CEE7E4CBAA712E1215326098CFE8F6F0C6542A030618
42B4DEF9F5F1C6552B04071943B5DFFAFEECC251260D0A1C46B7E2F4FFEDC352
270E0B1C47B8E3F4D9D4A66D38231F34629BC9D6DAD5A76E39232035639CCAD5
AE928D7F694D4A667B828FACAF938E806A4E4A677C838FAB3D597689A2BEBB9F
8673573A3E5A778AA3BFBC9F8772563A132F5D96D0E9E5CDA8702C1014305E97
D1EAE6CDA76F2B0F041641B2DDFBF7EFC5532902051742B3DDFCF8EEC4522801
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000
pop pop
/customdata7 28 28 mul string def
currentfile customdata7 readhexstring
01061B44B7E1F5FEFBE6BD4A210C01071B45B8E1F6FDFBE6BC4A200B09132A54
A7D1EAF5EED9B05D331609142B55A8D2EAF4EED9AF5C32161D2D3D6993C1CBE0
CEC59B7140301E2E3D6A93C0CADFCDC49A713F3047576C7B828DA2B6A48F867E
6F5A48576C7C828CA1B6A38F867E6E59BAAA958A78634E4451667A8498ADBAAB
968977624E4350657A8398ADE3D4C99F7539251A273C6892C2D7E4D4C89E7539
241A273B6891C1D6F8F2DDB460371005122A53A7D0ECF9F2DDB360360F051229
53A6D0EBFFFDE8BE4C220D03081D46B9E3F7FFFCE7BD4B210D02071C46B8E2F7
F3F0DBB15E34180B152C56A9D3E8F3EFDAB05D34170A142C55A9D2E9DFCCC69C
7341321F2F3F6B94BFC9DECCC59C7241311F2E3E6A94BFCAB5A38E8780705B49
596D7D808BA0B4A28D877F6F5B48586D7C818BA043506479859AAFBCAC978876
614C424F64798499AEBBAB968977624D19263B6791C3D8E5D6C79D7337231825
3A6690C3D7E5D5C79E74382304112952A5CFEDFAF0DBB25E350E03102851A5CE
ECF9F1DCB25F360E01071B45B8E1F6FDFBE6BC4A200B01061B44B7E1F5FEFBE6
BD4A210C09142B55A8D2EAF4EED9AF5C321609132A54A7D1EAF5EED9B05D3316
1E2E3D6A93C0CADFCDC49A713F301D2D3D6993C1CBE0CEC59B71403048576C7C
828CA1B6A38F867E6E5947576C7B828DA2B6A48F867E6F5ABAAB968977624E43
50657A8398ADBAAA958A78634E4451667A8498ADE4D4C89E7539241A273B6891
C1D6E3D4C99F7539251A273C6892C2D7F9F2DDB360360F05122953A6D0EBF8F2
DDB460371005122A53A7D0ECFFFCE7BD4B210D02071C46B8E2F7FFFDE8BE4C22
0D03081D46B9E3F7F3EFDAB05D34170A142C55A9D2E9F3F0DBB15E34180B152C
56A9D3E8DECCC59C7241311F2E3E6A94BFCADFCCC69C7341321F2F3F6B94BFC9
B4A28D877F6F5B48586D7C818BA0B5A38E8780705B49596D7D808BA0424F6479
8499AEBBAB968977624D43506479859AAFBCAC978876614C18253A6690C3D7E5
D5C79E74382319263B6791C3D8E5D6C79D73372303102851A5CEECF9F1DCB25F
360E04112952A5CFEDFAF0DBB25E350E
pop pop
/customdata8 28 28 mul string def
currentfile customdata8 readhexstring
050F2747B6D6EEF8FEF4DCBC4D2D1507111D375F9EC6E0E9EBE6CCA4653D1F13
2939556F8EA8C1D1D3C3AE9475573B2B4961717D808999B1B39B8B867F73634B
B8A090827A6A5A42445C6C7C8492A2BAD8C8AA97785232222434546E8DACCADA
F0E2CFA768401A0A0C1C365E9DC5E4F2FAF7DFBF50301802040E2646B5D5EDFC
FFF5DDBD4E2E160806102848B7D7EFF9EAE7CDA5663E2014121E38609FC7E1E8
D2C2AF9576583C2C2A3A56708FA9C0D0B29A8A878074644C4A62727E818898B0
435B6B7B8593A3BBB9A19183796959412333536D8CADCBDBD9C9AB9677513121
0B1B355D9CC4E5F3F1E3CEA6673F1909030D2545B4D4ECFDFBF6DEBE4F2F1701
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000
pop pop
end
end
defaultpacking setpacking
%%EndResource
%%BeginResource: procset AGM_Gradient_Sep 1.0 0
%%Title: (AGM Gradient Procset)
%%Version: 1.0 0
%%CreationDate: (4/26/96) ()
%%Copyright: ((C) 1987-1996 Adobe Systems Incorporated All Rights Reserved)
userdict /defaultpacking currentpacking put true setpacking
userdict /AGM_Gradient_Sep 5 dict dup begin put
/AGM_Gradient_Sep_private 100 dict def
/initialize{
AGM_Gradient_Sep begin
AGM_Gradient_Sep_private begin
_compositeJob{
initializeSinglePassSeps
}{
initializeMultiPassSeps
}ifelse
initializeSeps
AGM_Gradient_private begin
/_fillSD newSpotDict def
/_rampSD newSpotDict def
/_nCustomColorSD nd
end
AGM_Gradient_Sep_private
{
dup xcheck 1 index type /arraytype eq and
{
bind
}if
pop pop
}forall
AGM_Gradient_Sep
{
dup xcheck 1 index type /arraytype eq and
{
bind
}if
pop pop
}forall
end
currentdict readonly pop
end
}def
/terminate{
currentdict AGM_Gradient_Sep eq{
end
}if
}def
AGM_Gradient_Sep_private begin
/initializeSeps{
_noImage not _level2PS not and{
/_whiteBytes 1 makeByte8 pt
/knockOut{
8 setImageParms _whiteBytes /_image load 5 execImage
}def
/linealFill{
mySave
8 setImageParms
_color{
_nCustomColorSD begin
cyan magenta yellow black
_spotColor{
spot1 begin
/tintImage tintValue 1 exch sub makeByte8 def
end
spot2 begin
/tintImage tintValue 1 exch sub makeByte8 def
end
}if
end
4{
makeByte8 4 1 roll
}repeat
true 4 _nCustomColorSD ncolorimage
}{
_nCustomColorSD/black get 1 exch sub makeByte8
_nCustomColorSD bwImage
}ifelse
myRestore
}def
}{
/knockOut{
gsave
false setoverprint
1 setgray
0 0 1 1 rectfill
grestore
}def
}ifelse
/newSpotDict{
11 dict dup begin
/nSpots 2 def
/spot1 7 dict def
/spot2 7 dict def
end
}def
/initSpotData
{
begin
/name nd
/tintImage nd
/tintValue nd
/spot_C nd
/spot_M nd
/spot_Y nd
/spot_K nd
end
}def
/initSpotDict{
begin
/cyanInk false def
/magentaInk false def
/yellowInk false def
/blackInk false def
/cyan nd
/magenta nd
/yellow nd
/black nd
spot1 initSpotData
spot2 initSpotData
end
}def
/copySpotDict{
/_dst xp
begin
cyanInk magentaInk yellowInk blackInk
cyan magenta yellow black
spot1 spot2
end
_dst begin
/spot1 spot1 maxlength dict def
/spot2 spot2 maxlength dict def
spot2 copy pop
spot1 copy pop
/black xd
/yellow xd
/magenta xd
/cyan xd
/blackInk xd
/yellowInk xd
/magentaInk xd
/cyanInk xd
end
}def
/setCustomColor
{
1 index /Black eq{
6 1 roll 5 npop
1 exch sub
setgray
}{
6 1 roll _ccAry1 astore exch
dup null eq{
pop 0
}if
setcustomcolor
}ifelse
}def
/setCStop{
/_colorStyle exch pt
_colorStyle 0 eq{
0 0 0
4 -1 roll
1 exch sub
_spotColor{
/_colorStyle 3 pt
/Black
1 index
1 exch sub
}if
}if
_colorStyle 2 eq{
3 npop
}if
_rampSD _fillSD copySpotDict
_colorStyle 4 eq{
pop
9 2 roll 3 npop 6 -2 roll
} if
_colorStyle 3 eq _colorStyle 4 eq or{
_fillSD begin
exch
dup spot1/name get eq{
spot1 spot2
}{
spot2 spot1
}ifelse
begin
begin
/name xd
1 exch sub /tintValue xd
4{
tintValue mul 4 1 roll
}repeat
_spotColor not{
/tintValue null def
}if
end
/tintValue 0 def
end
end
}if
_fillSD nsetcustomcolor
}def
/renderCMYK{
spot1/name get null eq
spot2/name get null eq and
dup not{
pop
spot1 spotConverted
}if
dup not{
pop
spot2 spotConverted
}if
}def
/fill_ /fill load def
/fillOvp{
currentoverprint{
_inRipSep{
currentcolorspace 0 get
dup /DeviceGray eq
1 index /DeviceCMYK eq or{
pop
currentcmykcolor add add add 0 eq{
newpath
}if
}{
/Separation eq{
currentcolor 0 eq{
newpath
}if
}if
}ifelse
}{
currentgray 1 eq{
newpath
}if
}ifelse
}if
fill_
}def
/fill{
_nCustomColorSD begin
renderCMYK
{
fillOvp
}{
spot1 begin
gsave
name null ne{
spot_C spot_M spot_Y spot_K name tintValue setCustomColor
}{
1 setgray
}ifelse
fillOvp
grestore
end
spot2 begin
name null ne{
gsave
true setoverprint
spot_C spot_M spot_Y spot_K name tintValue setCustomColor
fillOvp
grestore
}if
end
newpath
}ifelse
end
}def
/expandSpot{
_spotColor{
/_len xp
_rampSD begin
spot1 begin
tintImage null ne{
tintImage _len expandOne /tintImage xd
}if
end
spot2 begin
tintImage null ne{
tintImage _len expandOne /tintImage xd
}if
end
end
}{
pop
}ifelse
}def
/rampImage{
_rampSD begin
_color{
/cyanInk _cyanData 0 ne def
/magentaInk _magentaData 0 ne def
/yellowInk _yellowData 0 ne def
/blackInk _blackData 0 ne def
_nSamples setImageParms
_nSamples expandSpot
_cyanData _magentaData _yellowData _blackData _nSamples 4 expandColor
true 4 _rampSD ncolorimage
}{
/cyanInk false def
/magentaInk false def
/yellowInk false def
/blackInk true def
_nSamples setImageParms
_blackData _rampSD bwImage
}ifelse
end
}def
/nsetcustomcolor where{
pop
}{
/nsetcustomcolor
{
/_nCustomColorSD xp
_nCustomColorSD begin
4 copy
/black xd
/yellow xd
/magenta xd
/cyan xd
4 copy
0 ne /blackInk xd
0 ne /yellowInk xd
0 ne /magentaInk xd
0 ne /cyanInk xd
end
setcmykcolor
}def
}ifelse
/nsetcustomcolorend where{
pop
}{
/nsetcustomcolorend
{
/_nCustomColorSD null pt
}def
}ifelse
}def
/initializeSinglePassSeps{
/_decodeNorm [0 1] pt
/_decodeInvert [1 0] pt
/spotConverted
{
begin
name null eq{
false
}{
tintValue null eq tintImage null eq and{
true
}{
false
currentpagedevice/SeparationOrder get{name eq or}forall
not
}ifelse
}ifelse
end
}def
/dictImage
{
20 dict dup begin
/Dict xd
/Decode xd
/DataSource xd
/ImageMatrix xd
/BitsPerComponent xd
/Height xd
/Width xd
/ImageType 1 def
Dict
end
/_image load 1 execImage
}def
/bwImage{
begin
gsave
currentoverprint{
blackInk{
[/Separation /Black /DeviceGray{}] setcolorspace
_decodeInvert dictImage
}{
5 npop
}ifelse
}{
/DeviceGray setcolorspace
_decodeNorm dictImage
}ifelse
grestore
end
}def
/ncolorimage where{
pop
}{
/ncolorimage{
begin
renderCMYK
{
cyanInk
magentaInk and
yellowInk and
blackInk and
not
currentoverprint
and
{
pop pop
gsave
cyanInk{
8 copy
[/Separation /Cyan /DeviceGray{}] setcolorspace
3 npop
_decodeNorm dictImage
}if
magentaInk{
8 copy
[/Separation /Magenta /DeviceGray{}] setcolorspace
4 -1 roll
3 npop
_decodeNorm dictImage
}if
yellowInk{
8 copy
[/Separation /Yellow /DeviceGray{}] setcolorspace
4 -2 roll
3 npop
_decodeNorm dictImage
}if
blackInk{
4 -3 roll
[/Separation /Black /DeviceGray{}] setcolorspace
3 npop
_decodeNorm dictImage
}{
8 npop
}ifelse
grestore
}{
/_colorimage load 10 execImage
}ifelse
}{
6 npop
gsave
spot1 begin
name null ne tintImage null ne and{
[/Separation name /DeviceGray{}] setcolorspace
4 copy
tintImage
name /Black eq{
_decodeNorm
}{
_decodeInvert
}ifelse
dictImage
}{
1 setgray fill
}ifelse
end
spot2 begin
true setoverprint
name null ne tintImage null ne and{
[/Separation name /DeviceGray{}] setcolorspace
tintImage
name /Black eq{
_decodeNorm
}{
_decodeInvert
}ifelse
dictImage
}{
4 npop
1 setgray fill
}ifelse
end
grestore
}ifelse
end
}def
}ifelse
}def
/initializeMultiPassSeps{
/_isCMYKSep
_cyanPlate _magentaPlate or _yellowPlate or _blackPlate or
pt
/invertXfer{
[
{
1 exch sub
}/exec load systemdict /currenttransfer get exec /exec load
] cvx systemdict /settransfer get exec
}def
/ccThrough{
gsave
1 setCustomColor
currentcmykcolor
grestore
add add add 0 ne
}def
/spotConverted
{
begin
_isCMYKSep not{
false
}{
name null eq{
false
}{
tintValue null eq tintImage null eq and{
true
}{
spot_C spot_M spot_Y spot_K name ccThrough
}ifelse
}ifelse
}ifelse
end
}def
/spotChannel
{
_isCMYKSep{
pop false
}{
begin
name null eq{
false
}{
spot_C spot_M spot_Y spot_K name ccThrough
}ifelse
end
}ifelse
}def
/getChannelData
{
_isCMYKSep dup{
pop renderCMYK
}if
{
_blackPlate{
4 1 roll 3 npop blackInk
}{
_yellowPlate{
4 2 roll 3 npop yellowInk
}{
_magentaPlate{
4 3 roll 3 npop magentaInk
}{
3 npop cyanInk
}ifelse
}ifelse
}ifelse
{
true /nonZeroData
}{
true /zeroData
}ifelse
}{
4 npop
spot1/name get null ne
spot1 spotChannel and{
spot1/tintImage get dup null ne{
false /nonZeroData
}{
pop false /noData
}ifelse
}{
spot2/name get null ne
spot2 spotChannel and{
spot2/tintImage get dup null ne{
false /nonZeroData
}{
pop false /noData
}ifelse
}{
false /noData
}ifelse
}ifelse
}ifelse
}def
/renderChannelData
{
/_tmp xp
_tmp /nonZeroData ne currentoverprint and{
pop
_tmp /zeroData eq{pop}if
4 npop
}{
_tmp /nonZeroData eq{
{
invertXfer
}if
systemdict/image
get 5 execImage
}{
pop
_tmp /zeroData eq{pop}if
4 npop
knockOut
}ifelse
}ifelse
}def
/bwImage{
begin
gsave
dup dup dup
getChannelData
exch pop false exch
renderChannelData
grestore
end
}def
/ncolorimage{
begin
pop pop
gsave
spot2/name get null ne spot2 spotChannel and{
true setoverprint
}if
getChannelData
renderChannelData
grestore
end
}def
}def
end
end
defaultpacking setpacking
%%EndResource
%%BeginResource: procset AGM_Gradient 1.0 0
%%Title: (AGM Gradient Procset)
%%Version: 1.0 0
%%CreationDate: (4/26/96) ()
%%Copyright: ((C) 1987-1996 Adobe Systems Incorporated All Rights Reserved)
userdict /defaultpacking currentpacking put true setpacking
userdict /AGM_Gradient 20 dict dup begin put
/AGM_Gradient_private 200 dict def
/initialize
{
AGM_Gradient begin
AGM_Gradient_private begin
initializeVars
/bd systemdict/mark get def
/ed
_level2PS
{
(>>)
}{
(counttomark 2 idiv dup dict begin {def} repeat pop currentdict end)
} ifelse
cvx def
_level2PS{
initializeLev2
}{
initializeLev1
}ifelse
queryDevice
initializeShading
initializeOps
_producingSeps{
AGM_Gradient_Sep/initialize get exec
}{
initializeComposite
}ifelse
_illustrator{
/f{}def
/F{}def
/s{}def
/S{}def
/b{}def
/B{}def
}if
/image where{
/image get /_image xd
}if
/colorimage where{
/colorimage get /_colorimage xd
}if
/rectfill where dup{
exch pop not _producingSeps or
}{
not
}ifelse
{
/rectfill{
gsave
newpath
4 2 roll moveto
1 index 0 rlineto
0 1 index rlineto
1 index neg 0 rlineto
pop pop
closepath
fill
grestore
}def
}if
/linealImage _noImage{
/rectImage load
}{
_producingSeps{
AGM_Gradient_Sep/AGM_Gradient_Sep_private get begin
/rampImage load
end
}{
/rampImage load
}ifelse
}ifelse
def
AGM_Gradient_private
{
dup xcheck 1 index type /arraytype eq and
{
bind
}if
pop pop
}forall
AGM_Gradient
{
dup xcheck 1 index type /arraytype eq and
{
bind
}if
pop pop
}forall
end
currentdict readonly pop
end
}def
/initializeAI
{
pop pop
AGM_Gradient/AGM_Gradient_private get /_illustrator true put
AGM_Gradient/initialize get exec
AGM_Gradient begin
}def
/unload{
systemdict/languagelevel known{
systemdict/languagelevel get 2 ge{
userdict/AGM_Gradient_Sep 2 copy known{
undef
}{
pop pop
}ifelse
userdict/AGM_Gradient 2 copy known{
undef
}{
pop pop
}ifelse
}if
}if
}def
/terminate{
currentdict AGM_Gradient eq{
end
}if
}def
AGM_Gradient_private begin
/initializeVars{
/_d255 256 array def
0 1 255{
_d255 exch dup 255 div put
}bind for
/_d255- 256 array def
0 1 255{
_d255- exch 1 _d255 2 index get sub put
}bind for
/_sSave nd
/_dUserSpace matrix defaultmatrix def
/_bUMatrix matrix def
/_imageMatrix matrix def
/_saveMatrix matrix def
/_xm matrix def
/_ccAry1 5 array def
/_level2PS
systemdict/languagelevel known dup{
pop systemdict/languagelevel get 2 ge
}if
def
/_level3PS
_level2PS systemdict/shfill known and
def
currentdict /_illustrator known not{
/_illustrator false def
}if
}def
/initializeOps
{
AGM_Gradient begin
currentdict/Bc known not{
/Bc{
_renderFlag 2 eq{
6 npop
}{
pushBSpace
_rampIndex 0 eq{
pop pop
setCStop
}if
linealFill
popBSpace
}ifelse
}def
}if
currentdict/Bg known not{
/Bg{
10 npop
/_gradName xp
/_renderFlag xp
_renderFlag 2 ne{
_illustrator{
_of setoverprint
}if
_illustrator _eo and _renderFlag 3 eq or{
eoclip
}{
clip
}ifelse
_gradNames _gradName 2 copy known{
get
mark exch aload pop
/_gradType xp
1 sub dup /_rampIndex xp
/_maxRampIndex xp
mark exch aload pop
0 0
}if
pop pop
getRampData
}{
mark mark
}ifelse
}def
}if
currentdict/Bm known not{
/Bm{
_renderFlag 2 ne{
_gradType 0 eq{
linealRamp
}{
radialGrad
}ifelse
}{
6 npop
}ifelse
}def
}if
currentdict/Bh known not{
/Bh{
2 npop
/_yHi xp
/_xHi xp
/_radHilite _xHi 0 ne _yHi 0 ne or pt
}def
}if
currentdict/Bn known not{
/Bn{
AGM_Gradient_private begin
dict /_gradNames xp
end
}def
}if
currentdict/Bd known not{
/Bd{
AGM_Gradient begin
AGM_Gradient_private begin
/_nColorsBd xp
/_gradType xp
/_gradName xp
}def
}if
currentdict/BD known not{
/BD{
currentdict/_gradNames known not{
/_gradNames 20 dict def
}if
] _nColorsBd _gradType
] _gradName exch /_gradNames xput
end
end
}def
}if
currentdict/Bb known not{
/Bb{
AGM_Gradient begin
AGM_Gradient_private begin
_producingSeps{
AGM_Gradient_Sep/AGM_Gradient_Sep_private get begin
}if
mySave
}def
}if
currentdict/BB known not{
/BB{
/_tmp xp
cleartomark cleartomark
_tmp dup
_renderFlag
myRestore
_producingSeps{
end
}if
_illustrator
end
end
{
2 ne exch 0 gt and{
2 eq{
s
}{
S
}ifelse
}{
pop newpath
}ifelse
}{
pop newpath
}ifelse
}def
}if
currentdict/Xm known not{
/Xm{
_xm astore pop
}def
}if
end
}def
/queryDevice{
/_inRipSep
_level2PS{
currentpagedevice/Separations 2 copy known{
get
}{
pop pop false
}ifelse
}{
false
}ifelse
def
/_noImage /lv1Fix where{
pop lv1Fix
}{
false
}ifelse
def
/_useShells where{
pop
}{
/_useShells true def
}ifelse
/_useSmoothShade where{
pop
}{
/_useSmoothShade false def
}ifelse
/_cyanPlate 1 0 0 0 testCMYKColorThrough def
/_magentaPlate 0 1 0 0 testCMYKColorThrough def
/_yellowPlate 0 0 1 0 testCMYKColorThrough def
/_blackPlate 0 0 0 1 testCMYKColorThrough def
/_compositeJob
_cyanPlate _magentaPlate and _yellowPlate and _blackPlate and
def
/_compositeSpotDevice where{
pop
}{
/_compositeSpotDevice _compositeJob not _inRipSep or{
1
}{
0
}ifelse
def
}ifelse
/_producingSeps _compositeSpotDevice 0 ne def
/_deviceDPI 72 0 matrix defaultmatrix dtransform dup mul exch dup mul add sqrt def
/_dpiThreshold where{
pop
}{
/_dpiThreshold 600 def
}ifelse
/_screenFreqThreshold where{
pop
}{
/_screenFreqThreshold 150 def
}ifelse
/_contoneDevice where{
pop
}{
/_contoneDevice false def
}ifelse
/_subSampleOK
_deviceDPI _dpiThreshold le
currentScreenFreq _screenFreqThreshold le and
_contoneDevice not and
_producingSeps not and
def
}def
/initializeLev1{
/makeByte8{
/_tmp 0 pt
255 mul cvi
8 string 8{
dup _tmp 3 index put
/_tmp _tmp 1 add pt
}repeat
exch pop
}def
/currentScreenFreq{
currentscreen pop pop
}def
/_byte 1 string def
/colorimage where{
pop
}{
/colorimage{
pop pop
/_blackTmp xp
/_yellowTmp xp
/_magentaTmp xp
/_cyanTmp xp
/_cnt 0 pt
[
_byte dup 0
_cyanTmp
/_cnt cvx /get cvx _d255 /exch cvx /get cvx .3 /mul cvx
_magentaTmp
/_cnt cvx /get cvx _d255 /exch cvx /get cvx .59 /mul cvx
_yellowTmp
/_cnt cvx /get cvx _d255 /exch cvx /get cvx .11 /mul cvx
_blackTmp
/_cnt cvx /get cvx _d255 /exch cvx /get cvx
/add cvx /add cvx /add cvx 1 /exch cvx /sub cvx
/dup cvx 0 /lt cvx{
pop 0
}/if cvx
/dup cvx 1 /gt cvx{
pop 1
}/if cvx
255 /mul cvx /cvi cvx
256 /mod cvx
/dup cvx 0 /lt cvx{
pop 0
}/if cvx
/put cvx
/_cnt dup cvx 1 /add cvx /pt cvx
] cvx
bind
/_image load 5 execImage
}def
}ifelse
}def
/initializeLev2{
/level2ScreenFreq{
begin
60
HalftoneType 1 eq{
pop Frequency
}if
HalftoneType 2 eq{
pop GrayFrequency
}if
HalftoneType 5 eq{
pop Default level2ScreenFreq
}if
end
}def
/currentScreenFreq{
currenthalftone level2ScreenFreq
}def
}def
/initializeShading{
_useSmoothShade _level3PS and{
/_usingSmoothShade true pt
initializeLev3_Ops
}{
/_usingSmoothShade false pt
}ifelse
}def
/initializeLev3_Ops
{
/initShFill{
/_index _gradType 0 eq {0}{_maxRampIndex 1 sub} ifelse pt
/_rampFuncsArray _maxRampIndex array pt
/_boundsArray _maxRampIndex 1 sub array pt
/_encodeArray _maxRampIndex 2 mul array pt
/_beginCoord _rampPoint pt
/_colorSpace null pt
/_firstFill _rampIndex _maxRampIndex eq pt
/_lastFill false pt
}def
/getRampColorSpace{
_nSamples 1 gt{
/_ndx 0 pt
[blendColor] cvx exec
}if
/_C0 [currentcolor] pt
/_C0_Space currentcolorspace pt
_nSamples 1 gt{
/_ndx _nSamples 1 sub pt
[blendColor] cvx exec
}if
/_C1 [currentcolor] pt
/_C1_Space currentcolorspace pt
_C0_Space _C1_Space eq{
/_rampColorSpace _C0_Space pt
}{
(colorspace conflict!) ==
showpage
stop
}ifelse
_spotColor{
nsetcustomcolorend
}if
}def
/linealShFill{
popBSpace
_xm aload pop pushBSpace
/_size _index 1 add pt
_size _maxRampIndex lt {
/_rampFuncsArray _rampFuncsArray 0 _size getinterval pt
/_boundsArray _boundsArray 0 _size 1 sub getinterval pt
/_encodeArray _encodeArray 0 _size 2 mul getinterval pt
}if
bd
/ShadingType 2
/ColorSpace _colorSpace
/Function
bd
/FunctionType 3
/Domain [0 1]
/Functions _rampFuncsArray
/Bounds _boundsArray
/Encode _encodeArray
ed
/Extend [_firstFill _lastFill]
/Domain [0 1]
/Coords [_beginCoord 0 _endCoord 0]
ed
shfill
}def
/radialShFill{
/_size _maxRampIndex _index sub pt
_size _maxRampIndex lt {
/_rampFuncsArray _rampFuncsArray _index _size getinterval pt
/_boundsArray _boundsArray _index _size 1 sub getinterval pt
/_encodeArray _encodeArray _index 2 mul _size 2 mul getinterval pt
}if
/_rampLen _beginCoord _endCoord sub pt
bd
/ShadingType 3
/ColorSpace _colorSpace
/Function
bd
/FunctionType 3
/Domain [0 1]
/Functions _rampFuncsArray
/Bounds _boundsArray
/Encode _encodeArray
ed
/Extend [_lastFill _firstFill]
/Domain [0 1]
/Coords [_xHi _rampLen mul _yHi _rampLen mul _endCoord 0 0 _beginCoord]
ed
shfill
_radHilite{
_xHi _rampLen mul _yHi _rampLen mul translate
}if
}def
/fillRamp{
/_invert _midPoint 0.5 lt pt
_rampIndex _maxRampIndex eq {
initShFill
}if
getRampColorSpace
_colorSpace null eq{
/_colorSpace _rampColorSpace pt
}{
_colorSpace _rampColorSpace ne{
/_index _index 1
_gradType 0 eq{
sub pt
linealShFill
}{
add pt
radialShFill
}ifelse
initShFill
/_colorSpace _rampColorSpace pt
} if
}ifelse
/_endCoord _endPoint pt
_rampFuncsArray _index
bd
/FunctionType 2
/Domain [0 1]
/N 0.5 log _invert{1 _midPoint sub}{_midPoint}ifelse log div
_gradType 0 eq{
_invert{/C1}{/C0}ifelse _C0
_invert{/C0}{/C1}ifelse _C1
}{
_invert{/C0}{/C1}ifelse _C1
_invert{/C1}{/C0}ifelse _C0
}ifelse
ed
put
_rampIndex 1 ne{
_boundsArray _index _gradType 1 eq{1 sub}if _endCoord put
} if
0 1 _invert {exch}if
_encodeArray _index 2 mul 1 add 3 -1 roll put
_encodeArray _index 2 mul 3 -1 roll put
_rampIndex 1 eq {
/_lastFill true pt
_gradType 0 eq{
linealShFill
}{
radialShFill
}ifelse
}if
/_index _index 1
_gradType 0 eq{
add pt
}{
sub pt
}ifelse
}def
/radialRamp
/fillRamp load def
/rampImage
/fillRamp load def
AGM_Gradient begin
/Bc{
6 npop
}def
end
}def
/initializeComposite{
/bwImage{
pop /_image load 5 execImage
}def
currentdict/rampImage known not{
/rampImage{
_color{
_nSamples setImageParms
_rgbRamp{
_redData _greenData _blueData _nSamples 3 expandColor
true 3 null ncolorimage
}{
_cyanData _magentaData _yellowData _blackData _nSamples 4 expandColor
true 4 null ncolorimage
}ifelse
}{
_nSamples setImageParms _blackData null bwImage
}ifelse
}def
}if
/setCStop{
/_colorStyle exch pt
_colorStyle 0 eq{
1 exch sub
0 0 0
4 -1 roll
}if
_colorStyle 2 eq{
setrgbcolor 4 npop
}if
_colorStyle 3 eq{
1 exch sub /_tmp xp
pop
4{
_tmp mul 4 1 roll
}repeat
}if
_colorStyle 4 eq{
3 -1 roll pop pop
1 exch sub /_tmp xp
3{
1 exch sub _tmp mul 1 exch sub 3 1 roll
}repeat
setrgbcolor
4 npop
}if
_colorStyle 2 ne _colorStyle 4 ne and{
null nsetcustomcolor
}if
}def
/nsetcustomcolor
{
pop setcmykcolor
}def
/nsetcustomcolorend
{
}def
/ncolorimage{
pop
/_colorimage load 10 execImage
}def
_noImage not _level2PS not and{
/linealFill{
8 setImageParms
_color{
currentcmykcolor
4{
makeByte8 4 1 roll
}repeat
true 4 null ncolorimage
}{
currentgray makeByte8 null bwImage
}ifelse
}def
}if
}def
/npop{
{pop}repeat
}def
/xd{
exch def
}def
/nd{
null def
}def
/pt{
AGM_Gradient_private 3 1 roll put
}def
/xp{
exch pt
}def
/xput{
dup load dup length exch maxlength eq{
dup dup load dup
length 2 mul dict copy def
}if
load begin
def
end
}def
/mySave{
save /_sSave xp
}def
/myRestore{
_sSave type /savetype eq{
_sSave restore
}if
}def
/gMark{
counttomark 2 add -1 roll
}def
/execImage{
/_tmp xp
{
exec
}stopped{
$error /errorname get /undefinedresult ne{
stop
}{
_tmp npop
}ifelse
}if
}def
/pushBSpace{
newpath gsave
_bUMatrix astore concat
}def
/popBSpace{
grestore
}def
/setImageParms{
1 8 2 index 0 0 1 0 0 _imageMatrix astore
}def
/linealFill{
0 0 1 1 rectfill
}def
/testCMYKColorThrough{
gsave
setcmykcolor currentcmykcolor
grestore
add add add 0 ne
}def
/expandOne {
/_tmp xp
dup type /stringtype ne{
_tmp string
exch
dup 0 ne{
255 mul cvi
0 1 _tmp 1 sub{
3 copy
exch put pop
}for
}if
pop
}if
}def
/expandColor{
/_channels xp
/_len xp
_channels{
_len expandOne _channels 1 roll
}repeat
}def
/blendColor{
_color{
_rgbRamp _producingSeps not and{
_redData dup type /stringtype eq{
/_ndx cvx /get cvx _d255 /exch cvx /get cvx
}if
_greenData dup type /stringtype eq{
/_ndx cvx /get cvx _d255 /exch cvx /get cvx
}if
_blueData dup type /stringtype eq{
/_ndx cvx /get cvx _d255 /exch cvx /get cvx
}if
/setrgbcolor cvx
}{
_cyanData dup type /stringtype eq{
/_ndx cvx /get cvx _d255 /exch cvx /get cvx
}if
_magentaData dup type /stringtype eq{
/_ndx cvx /get cvx _d255 /exch cvx /get cvx
}if
_yellowData dup type /stringtype eq{
/_ndx cvx /get cvx _d255 /exch cvx /get cvx
}if
_blackData dup type /stringtype eq{
/_ndx cvx /get cvx _d255 /exch cvx /get cvx
}if
_spotColor{
_rampSD begin
/_rampSD cvx /begin cvx
spot1 begin
tintImage dup type /stringtype eq{
/_ndx cvx /get cvx _d255- /exch cvx /get cvx
}{
dup null ne{
name type /nametype ne{
1 exch sub
}if
}if
}ifelse
end
/spot1 cvx /tintValue 3 -1 /roll cvx /put cvx
spot2 begin
tintImage dup type /stringtype eq{
/_ndx cvx /get cvx _d255- /exch cvx /get cvx
}{
dup null ne{
name type /nametype ne{
1 exch sub
}if
}if
}ifelse
end
/spot2 cvx /tintValue 3 -1 /roll cvx /put cvx
/end cvx
end
/_rampSD cvx
/nsetcustomcolor cvx
}{
/setcmykcolor cvx
}ifelse
}ifelse
}{
_blackData /_ndx cvx /get cvx
_d255 /exch cvx /get cvx
_usingSmoothShade{
1 /exch cvx /sub cvx 0 0 0 4 -1 /roll cvx /setcmykcolor cvx
}{
/setgray cvx
}ifelse
}ifelse
}def
/linealRamp{
pushBSpace
_ramp{
linealImage
}{
linealFill
}ifelse
popBSpace
/_rampIndex _rampIndex 1 sub pt
_rampIndex 0 gt{
getRampData
}if
}def
/radialGrad{
/_firstShell true pt
_usingSmoothShade not{
fill
}if
pushBSpace
_radHilite{
_xHi _yHi _bUMatrix idtransform /_yHi xp /_xHi xp
_rampPoint 1 lt{
1 _rampPoint sub dup _xHi mul exch _yHi mul translate
}if
}if
_rampIndex{
radialRamp
/_rampIndex _rampIndex 1 sub pt
_rampIndex 0 gt{
getRampData
}if
}repeat
popBSpace
}def
/getNSamples{
0 exch
{
dup type /stringtype eq{
length exch pop exit
}if
pop
}forall
dup 0 eq{
pop 1
}if
}def
/getRampData{
/_rampType gMark pt
/_color _rampType 0 gt pt
/_ccRGB _rampType 5 eq _rampType 6 eq or pt
/_rgbRamp _rampType 4 eq _ccRGB or pt
/_ccProcess _rampType 2 eq _rampType 3 eq or pt
_producingSeps{
_rampSD initSpotDict
/_spotColor _ccProcess _ccRGB or pt
}{
/_spotColor false pt
}ifelse
/_ramp true pt
100 div /_rampPoint xp
100 div /_midPoint xp
dup /_colorStyle xp
_colorStyle 0 eq{
2
}{
_colorStyle 1 eq{
5
}{
_colorStyle 2 eq{
8
}{
_colorStyle 3 eq{
_producingSeps{
_rampSD begin
spot1 begin
/name 3 index def
/spot_K 4 index def
/spot_Y 5 index def
/spot_M 6 index def
/spot_C 7 index def
end
end
}if
7
}{
_producingSeps{
_rampSD begin
spot1 begin
/name 4 index def
/spot_K 8 index def
/spot_Y 9 index def
/spot_M 10 index def
/spot_C 11 index def
end
end
}if
11
} ifelse
}ifelse
}ifelse
}ifelse
/_tmp xp
_tmp index 100 div /_endPoint xp
_gradType 1 eq{
_tmp 1 add index 100 div /_midPoint xp
}if
_producingSeps{
_tmp 2 add index /_nextColorStyle xp
_nextColorStyle 3 eq{
/_tmp _tmp 4 add pt
_tmp index dup
_rampSD begin
spot1 /name get ne{
spot2 begin
/name xd
/spot_K _tmp 2 add index def
/spot_Y _tmp 3 add index def
/spot_M _tmp 4 add index def
/spot_C _tmp 5 add index def
end
}{
pop
}ifelse
end
}if
_nextColorStyle 4 eq{
/_tmp _tmp 5 add pt
_tmp index dup
_rampSD begin
spot1 /name get ne{
spot2 begin
/name xd
/spot_K _tmp 5 add index def
/spot_Y _tmp 6 add index def
/spot_M _tmp 7 add index def
/spot_C _tmp 8 add index def
end
}{
pop
}ifelse
end
}if
}if
_rampType 3 eq _rampType 6 eq or{
/_tint2Data gMark pt
}if
_ccProcess _ccRGB or{
/_tint1Data gMark pt
}if
_rgbRamp{
/_blueData gMark pt
/_greenData gMark pt
/_redData gMark pt
}if
_producingSeps{
_rampSD begin
_ccProcess _ccRGB or{
_rampType 3 eq _rampType 6 eq or{
spot2 begin
/tintImage _gradType 0 eq{
_tint2Data
}{
_tint1Data
}ifelse
def
name null eq{
/name /Black def
}if
end
}if
spot1 begin
/tintImage _gradType 0 eq _rampType 2 eq or _rampType 5 eq or{
_tint1Data
}{
_tint2Data
}ifelse
def
_rampType 2 eq _rampType 5 eq or{
name null eq{
/name spot2 /name get def
spot2 /name null put
}if
}{
name null eq{
/name /Black def
}if
}ifelse
end
}if
end
}if
/_blackData gMark pt
_rampType 0 gt{
counttomark 4 add -3 roll
/_yellowData xp
/_magentaData xp
/_cyanData xp
}if
_ramp{
/_nSamples
[
_rampType 0 eq {_blackData}if
_rampType 1 eq {_cyanData _magentaData _yellowData _blackData}if
_rampType 2 eq {_cyanData _magentaData _yellowData _blackData _tint1Data}if
_rampType 3 eq {_cyanData _magentaData _yellowData _blackData _tint1Data _tint2Data}if
_rampType 4 eq {_cyanData _magentaData _yellowData _blackData _redData _greenData _blueData}if
_rampType 5 eq {_cyanData _magentaData _yellowData _blackData _redData _greenData _blueData _tint1Data}if
_rampType 6 eq {_cyanData _magentaData _yellowData _blackData _redData _greenData _blueData _tint1Data _tint2Data}if
] getNSamples pt
_usingSmoothShade not {/_ramp _nSamples 1 gt pt} if
} if
setCStop
}def
/rectImage{
gsave
/_sInc 1 pt
/_bInc 1 _nSamples div pt
/_uRampLen 1 0 dtransform _dUserSpace idtransform dup mul exch dup mul add sqrt pt
/_pChange _uRampLen 0 eq{0}{_nSamples _uRampLen div}ifelse pt
0
_nSamples
[
/dup cvx
/_ndx /exch cvx /pt cvx
blendColor
0 0 _bInc 1 /rectfill cvx
_bInc 0 /translate cvx
_sInc /add cvx
] cvx
bind
repeat
pop
_spotColor{
nsetcustomcolorend
}if
grestore
}def
/radialInit{
/_nRadSamples _nSamples dup 0 eq{pop 1}if pt
/_sInc -1 pt
/_rampLen _rampPoint _endPoint sub pt
/_bInc _rampLen _nSamples div neg pt
/_optimize false pt
_subSampleOK{
/_uRampLen
_rampLen 0 dtransform _dUserSpace idtransform dup mul exch dup mul add sqrt
0 _rampLen dtransform _dUserSpace idtransform dup mul exch dup mul add sqrt
2 copy lt{
exch
}if pop
pt
/_pChange
_uRampLen 0 eq{
0
}{
_nSamples _uRampLen div
}ifelse
pt
_pChange .5 gt dup /_optimize xp{
/_nRadSamples _uRampLen 2 div round cvi dup 1 le{pop 2}if pt
/_bInc _rampLen _nRadSamples div neg pt
/_sInc _nSamples 1 sub _nRadSamples 1 sub div neg pt
}if
}if
_radHilite{
/_xBCInc _xHi _rampLen mul _nRadSamples div pt
/_yBCInc _yHi _rampLen mul _nRadSamples div pt
}if
}def
currentdict/radialRamp known not{
/radialRamp{
/_saveMatrix _saveMatrix currentmatrix def
radialInit
_rampPoint
_nSamples 1 sub
_nRadSamples
[
/dup cvx
_optimize{
/round cvx /cvi cvx
}if
/_ndx /exch cvx /pt cvx
_useShells{
/_firstShell cvx{
/_firstShell false pt
}{
0 0 3 index 360 0 arcn fill
}/ifelse cvx
}if
blendColor
_useShells{
0 0 3 /index cvx 0 360 /arc cvx
}{
0 0 3 /index cvx 0 360 /arc cvx /fill cvx
}ifelse
/exch cvx _bInc /add cvx /exch cvx
_sInc /add cvx
_radHilite{
_xBCInc _yBCInc /translate cvx
}if
] cvx bind
repeat
pop pop
_saveMatrix setmatrix
_radHilite{
_xHi _rampLen mul _yHi _rampLen mul translate
}if
_useShells _rampIndex 1 eq and{
fill
}if
_spotColor{
nsetcustomcolorend
}if
}def
}if
end
end
defaultpacking setpacking
%%EndResource
%%BeginProcSet: Adobe_ColorImage_AI6 1.1 0
userdict /Adobe_ColorImage_AI6 known not
{
userdict /Adobe_ColorImage_AI6 24 dict put
} if
userdict /Adobe_ColorImage_AI6 get begin
/initialize
{
Adobe_ColorImage_AI6 begin
Adobe_ColorImage_AI6
{
dup type /arraytype eq
{
dup xcheck
{
bind
} if
} if
pop pop
} forall
} def
/terminate { end } def
currentdict /Adobe_ColorImage_AI6_Vars known not
{
/Adobe_ColorImage_AI6_Vars 15 dict def
} if
Adobe_ColorImage_AI6_Vars begin
/channelcount 0 def
/sourcecount 0 def
/sourcearray 4 array def
/plateindex -1 def
/XIMask 0 def
/XIBinary 0 def
/XIChannelCount 0 def
/XIBitsPerPixel 0 def
/XIImageHeight 0 def
/XIImageWidth 0 def
/XIImageMatrix null def
/XIBuffer null def
/XIDataProc null def
/XIVersion 6 def
end
/WalkRGBString null def
/WalkCMYKString null def
/StuffRGBIntoGrayString null def
/RGBToGrayImageProc null def
/StuffCMYKIntoGrayString null def
/CMYKToGrayImageProc null def
/ColorImageCompositeEmulator null def
/SeparateCMYKImageProc null def
/FourEqual null def
/TestPlateIndex null def
currentdict /_colorimage known not
{
/colorimage where
{
/colorimage get /_colorimage exch def
}
{
/_colorimage null def
} ifelse
} if
/_currenttransfer systemdict /currenttransfer get def
/colorimage null def
/XI null def
/WalkRGBString
{
0 3 index
dup length 1 sub 0 3 3 -1 roll
{
3 getinterval { } forall
5 index exec
3 index
} for
5 { pop } repeat
} def
/WalkCMYKString
{
0 3 index
dup length 1 sub 0 4 3 -1 roll
{
4 getinterval { } forall
6 index exec
3 index
} for
5 { pop } repeat
} def
/StuffRGBIntoGrayString
{
.11 mul exch
.59 mul add exch
.3 mul add
cvi 3 copy put
pop 1 add
} def
/RGBToGrayImageProc
{
Adobe_ColorImage_AI6_Vars begin
sourcearray 0 get exec
dup length 3 idiv string
dup 3 1 roll
/StuffRGBIntoGrayString load exch
WalkRGBString
end
} def
/StuffCMYKIntoGrayString
{
exch .11 mul add
exch .59 mul add
exch .3 mul add
dup 255 gt { pop 255 } if
255 exch sub cvi 3 copy put
pop 1 add
} def
/CMYKToGrayImageProc
{
Adobe_ColorImage_AI6_Vars begin
sourcearray 0 get exec
dup length 4 idiv string
dup 3 1 roll
/StuffCMYKIntoGrayString load exch
WalkCMYKString
end
} def
/ColorImageCompositeEmulator
{
pop true eq
{
Adobe_ColorImage_AI6_Vars /sourcecount get 5 add { pop } repeat
}
{
Adobe_ColorImage_AI6_Vars /channelcount get 1 ne
{
Adobe_ColorImage_AI6_Vars begin
sourcearray 0 3 -1 roll put
channelcount 3 eq
{
/RGBToGrayImageProc
}
{
/CMYKToGrayImageProc
} ifelse
load
end
} if
image
} ifelse
} def
/SeparateCMYKImageProc
{
Adobe_ColorImage_AI6_Vars begin
sourcecount 0 ne
{
sourcearray plateindex get exec
}
{
sourcearray 0 get exec
dup length 4 idiv string
0 2 index
plateindex 4 2 index length 1 sub
{
get 255 exch sub
3 copy put pop 1 add
2 index
} for
pop pop exch pop
} ifelse
end
} def
/FourEqual
{
4 index ne
{
pop pop pop false
}
{
4 index ne
{
pop pop false
}
{
4 index ne
{
pop false
}
{
4 index eq
} ifelse
} ifelse
} ifelse
} def
/TestPlateIndex
{
Adobe_ColorImage_AI6_Vars begin
/plateindex -1 def
/setcmykcolor where
{
pop
gsave
1 0 0 0 setcmykcolor systemdict /currentgray get exec 1 exch sub
0 1 0 0 setcmykcolor systemdict /currentgray get exec 1 exch sub
0 0 1 0 setcmykcolor systemdict /currentgray get exec 1 exch sub
0 0 0 1 setcmykcolor systemdict /currentgray get exec 1 exch sub
grestore
1 0 0 0 FourEqual
{
/plateindex 0 def
}
{
0 1 0 0 FourEqual
{
/plateindex 1 def
}
{
0 0 1 0 FourEqual
{
/plateindex 2 def
}
{
0 0 0 1 FourEqual
{
/plateindex 3 def
}
{
0 0 0 0 FourEqual
{
/plateindex 5 def
} if
} ifelse
} ifelse
} ifelse
} ifelse
pop pop pop pop
} if
plateindex
end
} def
/colorimage
{
Adobe_ColorImage_AI6_Vars begin
/channelcount 1 index def
/sourcecount 2 index 1 eq { channelcount 1 sub } { 0 } ifelse def
4 sourcecount add index dup
8 eq exch 1 eq or not
end
{
/_colorimage load null ne
{
_colorimage
}
{
Adobe_ColorImage_AI6_Vars /sourcecount get
7 add { pop } repeat
} ifelse
}
{
dup 3 eq
TestPlateIndex
dup -1 eq exch 5 eq or or
{
/_colorimage load null eq
{
ColorImageCompositeEmulator
}
{
dup 1 eq
{
pop pop image
}
{
Adobe_ColorImage_AI6_Vars /plateindex get 5 eq
{
gsave
0 _currenttransfer exec
1 _currenttransfer exec
eq
{ 0 _currenttransfer exec 0.5 lt }
{ 0 _currenttransfer exec 1 _currenttransfer exec gt } ifelse
{ { pop 0 } } { { pop 1 } } ifelse
systemdict /settransfer get exec
} if
_colorimage
Adobe_ColorImage_AI6_Vars /plateindex get 5 eq
{
grestore
} if
} ifelse
} ifelse
}
{
dup 1 eq
{
pop pop
image
}
{
pop pop
Adobe_ColorImage_AI6_Vars begin
sourcecount -1 0
{
exch sourcearray 3 1 roll put
} for
/SeparateCMYKImageProc load
end
systemdict /image get exec
} ifelse
} ifelse
} ifelse
} def
/XG
{
pop pop
} def
/XF
{
13 {pop} repeat
} def
/Xh
{
Adobe_ColorImage_AI6_Vars begin
gsave
/XIMask exch 0 ne def
/XIImageHeight exch def
/XIImageWidth exch def
/XIImageMatrix exch def
0 0 moveto
XIImageMatrix concat
XIImageWidth XIImageHeight scale
XIMask
{
/_lp /null ddef
_fc
/_lp /imagemask ddef
}
if
/XIVersion 7 def
end
} def
/XH
{
Adobe_ColorImage_AI6_Vars begin
/XIVersion 6 def
grestore
end
} def
/XI
{
Adobe_ColorImage_AI6_Vars begin
gsave
/XIMask exch 0 ne def
/XIBinary exch 0 ne def
pop
pop
/XIChannelCount exch def
/XIBitsPerPixel exch def
/XIImageHeight exch def
/XIImageWidth exch def
pop pop pop pop
/XIImageMatrix exch def
XIBitsPerPixel 1 eq
{
XIImageWidth 8 div ceiling cvi
}
{
XIImageWidth XIChannelCount mul
} ifelse
/XIBuffer exch string def
XIBinary
{
/XIDataProc { currentfile XIBuffer readstring pop } def
XIVersion 6 le
{
currentfile 128 string readline pop pop
}
if
}
{
/XIDataProc { currentfile XIBuffer readhexstring pop } def
} ifelse
XIVersion 6 le
{
0 0 moveto
XIImageMatrix concat
XIImageWidth XIImageHeight scale
XIMask
{
/_lp /null ddef
_fc
/_lp /imagemask ddef
} if
} if
XIMask
{
XIImageWidth XIImageHeight
false
[ XIImageWidth 0 0 XIImageHeight neg 0 0 ]
/XIDataProc load
imagemask
}
{
XIImageWidth XIImageHeight
XIBitsPerPixel
[ XIImageWidth 0 0 XIImageHeight neg 0 0 ]
/XIDataProc load
XIChannelCount 1 eq
{
gsave
0 setgray
image
grestore
}
{
false
XIChannelCount
colorimage
} ifelse
} ifelse
grestore
end
} def
end
%%EndProcSet
%%BeginResource: procset Adobe_Illustrator_AI5 1.1 0
%%Title: (Adobe Illustrator (R) Version 5.0 Full Prolog)
%%Version: 1.1 0
%%CreationDate: (3/7/1994) ()
%%Copyright: ((C) 1987-1996 Adobe Systems Incorporated All Rights Reserved)
currentpacking true setpacking
userdict /Adobe_Illustrator_AI5_vars 81 dict dup begin
put
/_eo false def
/_lp /none def
/_pf
{
} def
/_ps
{
} def
/_psf
{
} def
/_pss
{
} def
/_pjsf
{
} def
/_pjss
{
} def
/_pola 0 def
/_doClip 0 def
/cf currentflat def
/_tm matrix def
/_renderStart
[
/e0 /r0 /a0 /o0 /e1 /r1 /a1 /i0
] def
/_renderEnd
[
null null null null /i1 /i1 /i1 /i1
] def
/_render -1 def
/_rise 0 def
/_ax 0 def
/_ay 0 def
/_cx 0 def
/_cy 0 def
/_leading
[
0 0
] def
/_ctm matrix def
/_mtx matrix def
/_sp 16#020 def
/_hyphen (-) def
/_fScl 0 def
/_cnt 0 def
/_hs 1 def
/_nativeEncoding 0 def
/_useNativeEncoding 0 def
/_tempEncode 0 def
/_pntr 0 def
/_tDict 2 dict def
/_wv 0 def
/Tx
{
} def
/Tj
{
} def
/CRender
{
} def
/_AI3_savepage
{
} def
/_gf null def
/_cf 4 array def
/_if null def
/_of false def
/_fc
{
} def
/_gs null def
/_cs 4 array def
/_is null def
/_os false def
/_sc
{
} def
/_pd 1 dict def
/_ed 15 dict def
/_pm matrix def
/_fm null def
/_fd null def
/_fdd null def
/_sm null def
/_sd null def
/_sdd null def
/_i null def
/discardSave null def
/buffer 256 string def
/beginString null def
/endString null def
/endStringLength null def
/layerCnt 1 def
/layerCount 1 def
/perCent (%) 0 get def
/perCentSeen? false def
/newBuff null def
/newBuffButFirst null def
/newBuffLast null def
/clipForward? false def
end
userdict /Adobe_Illustrator_AI5 known not {
userdict /Adobe_Illustrator_AI5 91 dict put
} if
userdict /Adobe_Illustrator_AI5 get begin
/initialize
{
Adobe_Illustrator_AI5 dup begin
Adobe_Illustrator_AI5_vars begin
discardDict
{
bind pop pop
} forall
dup /nc get begin
{
dup xcheck 1 index type /operatortype ne and
{
bind
} if
pop pop
} forall
end
newpath
} def
/terminate
{
end
end
} def
/_
null def
/ddef
{
Adobe_Illustrator_AI5_vars 3 1 roll put
} def
/xput
{
dup load dup length exch maxlength eq
{
dup dup load dup
length 2 mul dict copy def
} if
load begin
def
end
} def
/npop
{
{
pop
} repeat
} def
/sw
{
dup length exch stringwidth
exch 5 -1 roll 3 index mul add
4 1 roll 3 1 roll mul add
} def
/swj
{
dup 4 1 roll
dup length exch stringwidth
exch 5 -1 roll 3 index mul add
4 1 roll 3 1 roll mul add
6 2 roll /_cnt 0 ddef
{
1 index eq
{
/_cnt _cnt 1 add ddef
} if
} forall
pop
exch _cnt mul exch _cnt mul 2 index add 4 1 roll 2 index add 4 1 roll pop pop
} def
/ss
{
4 1 roll
{
2 npop
(0) exch 2 copy 0 exch put pop
gsave
false charpath currentpoint
4 index setmatrix
stroke
grestore
moveto
2 copy rmoveto
} exch cshow
3 npop
} def
/jss
{
4 1 roll
{
2 npop
(0) exch 2 copy 0 exch put
gsave
_sp eq
{
exch 6 index 6 index 6 index 5 -1 roll widthshow
currentpoint
}
{
false charpath currentpoint
4 index setmatrix stroke
} ifelse
grestore
moveto
2 copy rmoveto
} exch cshow
6 npop
} def
/sp
{
{
2 npop (0) exch
2 copy 0 exch put pop
false charpath
2 copy rmoveto
} exch cshow
2 npop
} def
/jsp
{
{
2 npop
(0) exch 2 copy 0 exch put
_sp eq
{
exch 5 index 5 index 5 index 5 -1 roll widthshow
}
{
false charpath
} ifelse
2 copy rmoveto
} exch cshow
5 npop
} def
/pl
{
transform
0.25 sub round 0.25 add exch
0.25 sub round 0.25 add exch
itransform
} def
/setstrokeadjust where
{
pop true setstrokeadjust
/c
{
curveto
} def
/C
/c load def
/v
{
currentpoint 6 2 roll curveto
} def
/V
/v load def
/y
{
2 copy curveto
} def
/Y
/y load def
/l
{
lineto
} def
/L
/l load def
/m
{
moveto
} def
}
{
/c
{
pl curveto
} def
/C
/c load def
/v
{
currentpoint 6 2 roll pl curveto
} def
/V
/v load def
/y
{
pl 2 copy curveto
} def
/Y
/y load def
/l
{
pl lineto
} def
/L
/l load def
/m
{
pl moveto
} def
} ifelse
/d
{
setdash
} def
/cf
{
} def
/i
{
dup 0 eq
{
pop cf
} if
setflat
} def
/j
{
setlinejoin
} def
/J
{
setlinecap
} def
/M
{
setmiterlimit
} def
/w
{
setlinewidth
} def
/XR
{
0 ne
/_eo exch ddef
} def
/H
{
} def
/h
{
closepath
} def
/N
{
_pola 0 eq
{
_doClip 1 eq
{
_eo {eoclip} {clip} ifelse /_doClip 0 ddef
} if
newpath
}
{
/CRender
{
N
} ddef
} ifelse
} def
/n
{
N
} def
/F
{
_pola 0 eq
{
_doClip 1 eq
{
gsave _pf grestore _eo {eoclip} {clip} ifelse newpath /_lp /none ddef _fc
/_doClip 0 ddef
}
{
_pf
} ifelse
}
{
/CRender
{
F
} ddef
} ifelse
} def
/f
{
closepath
F
} def
/S
{
_pola 0 eq
{
_doClip 1 eq
{
gsave _ps grestore _eo {eoclip} {clip} ifelse newpath /_lp /none ddef _sc
/_doClip 0 ddef
}
{
_ps
} ifelse
}
{
/CRender
{
S
} ddef
} ifelse
} def
/s
{
closepath
S
} def
/B
{
_pola 0 eq
{
_doClip 1 eq
gsave F grestore
{
gsave S grestore _eo {eoclip} {clip} ifelse newpath /_lp /none ddef _sc
/_doClip 0 ddef
}
{
S
} ifelse
}
{
/CRender
{
B
} ddef
} ifelse
} def
/b
{
closepath
B
} def
/W
{
/_doClip 1 ddef
} def
/*
{
count 0 ne
{
dup type /stringtype eq
{
pop
} if
} if
newpath
} def
/u
{
} def
/U
{
} def
/q
{
_pola 0 eq
{
gsave
} if
} def
/Q
{
_pola 0 eq
{
grestore
} if
} def
/*u
{
_pola 1 add /_pola exch ddef
} def
/*U
{
_pola 1 sub /_pola exch ddef
_pola 0 eq
{
CRender
} if
} def
/D
{
pop
} def
/*w
{
} def
/*W
{
} def
/`
{
/_i save ddef
clipForward?
{
nulldevice
} if
6 1 roll 4 npop
concat pop
userdict begin
/showpage
{
} def
0 setgray
0 setlinecap
1 setlinewidth
0 setlinejoin
10 setmiterlimit
[] 0 setdash
/setstrokeadjust where {pop false setstrokeadjust} if
newpath
0 setgray
false setoverprint
} def
/~
{
end
_i restore
} def
/O
{
0 ne
/_of exch ddef
/_lp /none ddef
} def
/R
{
0 ne
/_os exch ddef
/_lp /none ddef
} def
/g
{
/_gf exch ddef
/_fc
{
_lp /fill ne
{
_of setoverprint
_gf setgray
/_lp /fill ddef
} if
} ddef
/_pf
{
_fc
_eo {eofill} {fill} ifelse
} ddef
/_psf
{
_fc
ashow
} ddef
/_pjsf
{
_fc
awidthshow
} ddef
/_lp /none ddef
} def
/G
{
/_gs exch ddef
/_sc
{
_lp /stroke ne
{
_os setoverprint
_gs setgray
/_lp /stroke ddef
} if
} ddef
/_ps
{
_sc
stroke
} ddef
/_pss
{
_sc
ss
} ddef
/_pjss
{
_sc
jss
} ddef
/_lp /none ddef
} def
/k
{
_cf astore pop
/_fc
{
_lp /fill ne
{
_of setoverprint
_cf aload pop setcmykcolor
/_lp /fill ddef
} if
} ddef
/_pf
{
_fc
_eo {eofill} {fill} ifelse
} ddef
/_psf
{
_fc
ashow
} ddef
/_pjsf
{
_fc
awidthshow
} ddef
/_lp /none ddef
} def
/K
{
_cs astore pop
/_sc
{
_lp /stroke ne
{
_os setoverprint
_cs aload pop setcmykcolor
/_lp /stroke ddef
} if
} ddef
/_ps
{
_sc
stroke
} ddef
/_pss
{
_sc
ss
} ddef
/_pjss
{
_sc
jss
} ddef
/_lp /none ddef
} def
/x
{
/_gf exch ddef
findcmykcustomcolor
/_if exch ddef
/_fc
{
_lp /fill ne
{
_of setoverprint
_if _gf 1 exch sub setcustomcolor
/_lp /fill ddef
} if
} ddef
/_pf
{
_fc
_eo {eofill} {fill} ifelse
} ddef
/_psf
{
_fc
ashow
} ddef
/_pjsf
{
_fc
awidthshow
} ddef
/_lp /none ddef
} def
/X
{
/_gs exch ddef
findcmykcustomcolor
/_is exch ddef
/_sc
{
_lp /stroke ne
{
_os setoverprint
_is _gs 1 exch sub setcustomcolor
/_lp /stroke ddef
} if
} ddef
/_ps
{
_sc
stroke
} ddef
/_pss
{
_sc
ss
} ddef
/_pjss
{
_sc
jss
} ddef
/_lp /none ddef
} def
/A
{
pop
} def
/annotatepage
{
userdict /annotatepage 2 copy known {get exec} {pop pop} ifelse
} def
/XT {
pop pop
} def
/discard
{
save /discardSave exch store
discardDict begin
/endString exch store
gt38?
{
2 add
} if
load
stopped
pop
end
discardSave restore
} bind def
userdict /discardDict 7 dict dup begin
put
/pre38Initialize
{
/endStringLength endString length store
/newBuff buffer 0 endStringLength getinterval store
/newBuffButFirst newBuff 1 endStringLength 1 sub getinterval store
/newBuffLast newBuff endStringLength 1 sub 1 getinterval store
} def
/shiftBuffer
{
newBuff 0 newBuffButFirst putinterval
newBuffLast 0
currentfile read not
{
stop
} if
put
} def
0
{
pre38Initialize
mark
currentfile newBuff readstring exch pop
{
{
newBuff endString eq
{
cleartomark stop
} if
shiftBuffer
} loop
}
{
stop
} ifelse
} def
1
{
pre38Initialize
/beginString exch store
mark
currentfile newBuff readstring exch pop
{
{
newBuff beginString eq
{
/layerCount dup load 1 add store
}
{
newBuff endString eq
{
/layerCount dup load 1 sub store
layerCount 0 eq
{
cleartomark stop
} if
} if
} ifelse
shiftBuffer
} loop
} if
} def
2
{
mark
{
currentfile buffer readline not
{
stop
} if
endString eq
{
cleartomark stop
} if
} loop
} def
3
{
/beginString exch store
/layerCnt 1 store
mark
{
currentfile buffer readline not
{
stop
} if
dup beginString eq
{
pop /layerCnt dup load 1 add store
}
{
endString eq
{
layerCnt 1 eq
{
cleartomark stop
}
{
/layerCnt dup load 1 sub store
} ifelse
} if
} ifelse
} loop
} def
end
userdict /clipRenderOff 15 dict dup begin
put
{
/n /N /s /S /f /F /b /B
}
{
{
_doClip 1 eq
{
/_doClip 0 ddef _eo {eoclip} {clip} ifelse
} if
newpath
} def
} forall
/Tr /pop load def
/Bb {} def
/BB /pop load def
/Bg {12 npop} def
/Bm {6 npop} def
/Bc /Bm load def
/Bh {4 npop} def
end
/Lb
{
4 npop
6 1 roll
pop
4 1 roll
pop pop pop
0 eq
{
0 eq
{
(%AI5_BeginLayer) 1 (%AI5_EndLayer--) discard
}
{
/clipForward? true def
/Tx /pop load def
/Tj /pop load def
currentdict end clipRenderOff begin begin
} ifelse
}
{
0 eq
{
save /discardSave exch store
} if
} ifelse
} bind def
/LB
{
discardSave dup null ne
{
restore
}
{
pop
clipForward?
{
currentdict
end
end
begin
/clipForward? false ddef
} if
} ifelse
} bind def
/Pb
{
pop pop
0 (%AI5_EndPalette) discard
} bind def
/Np
{
0 (%AI5_End_NonPrinting--) discard
} bind def
/Ln /pop load def
/Ap
/pop load def
/Ar
{
72 exch div
0 dtransform dup mul exch dup mul add sqrt
dup 1 lt
{
pop 1
} if
setflat
} def
/Mb
{
q
} def
/Md
{
} def
/MB
{
Q
} def
/nc 3 dict def
nc begin
/setgray
{
pop
} bind def
/setcmykcolor
{
4 npop
} bind def
/setcustomcolor
{
2 npop
} bind def
currentdict readonly pop
end
end
setpacking
%%EndResource
%%BeginResource: procset Adobe_blend_AI5 1.4 0
%%Title: (Adobe Illustrator (R) Version 5.0 Blend ProcSet)
%%Version: 1.4 0
%%CreationDate: (11/19/93) ()
%%Copyright: ((C) 1987-1996 Adobe Systems Incorporated All Rights Reserved)
userdict /defaultpacking currentpacking put true setpacking
userdict /Adobe_blend_AI5 70 dict dup begin
put
/bd
{
bind def
} bind def
/xs
{
exch store
} bd
/nullProc
{
{
}
} def
/initialize
{
pop pop
Adobe_blend_AI5 begin
Adobe_blend_AI5_vars begin
/_contoneDevice where
{
pop
}
{
/_contoneDevice false def
} ifelse
/_dpiThreshold where
{
pop
}
{
/_dpiThreshold 600 def
} ifelse
/_screenFreqThreshold where
{
pop
}
{
/_screenFreqThreshold 150 def
} ifelse
/tRectOK? deviceDPI _dpiThreshold le currentScreenFreq _screenFreqThreshold le and _contoneDevice not and def
/invertXfer
{
[
{
1 exch sub
} /exec load systemdict/currenttransfer get exec /exec load
] cvx systemdict/settransfer get exec
} bd
/spotDict 3 dict dup begin
/nSpots 2 def
/spot1 7 dict def
/spot2 7 dict def
end
def
composite?
{
/_setgray_ /setgray load def
/_fill_ /fill load def
/_image_ /image load def
}
{
/_setgray_ systemdict/setgray get def
/_fill_ systemdict/fill get def
/_image_ systemdict/image get def
} ifelse
} bd
/terminate
{
currentdict Adobe_blend_AI5_vars eq
{
end
currentdict Adobe_blend_AI5 eq
{
end
} if
} if
} bd
/_compositeSpotDevice where
{
begin
_compositeSpotDevice 0 ne {userdict /composite? true put} if
end
}
{
/_compositeSpotDevice 0 def
} ifelse
/nullString () def
/d255 256 array def
0 1 255
{
d255 exch dup 255 div put
} bind for
/d255- 256 array def
0 1 255
{
d255- exch 1 d255 2 index get sub put
} bind for
/dUserSpace matrix defaultmatrix def
currentdict /Adobe_blend_AI5_vars 89 dict dup begin
put
{
/f /F /s /S /b /B
}
{
null def
} bind forall
/byte 1 string def
/sSave null def
/setSSave
{
save /sSave exch store
} bind def
/Bm null def
/doBlend null def
/startC? false def
/endC? false def
/fCMYK? null def
/startTint 0 def
/endTint 0 def
/bSMatrix matrix def
/bUMatrix matrix def
/dMatrix matrix def
/inLine? true def
/pTState? false def
/bHi? false def
/yHi 0 def
/xHi 0 def
/noImg /lv1Fix where
{
pop lv1Fix
}
{
false
} ifelse
def
/ccAry1 5 array def
/ccTint 0 def
/spotColor? false def
/colorimage? true def
[
/tint1Data
/tint2Data
/spotDict
/bAxis
/ubAxis
/pChange
/optimize?
/nSamples
/sInc
/blendProc
/_bn
/xBCInc
/yBCInc
/bInc
/bRender
/cBName
/cBType
/nColors
/color?
/blend?
/colorType
/cData
/cDataLen
/bDataLen
/rampPoint
/midPoint
/endPoint
/blendLength
/blackData
/yeData
/mgData
/cyData
/cnt1
/ndx
/_fill
/tmp
counttomark
{
null def
} bind
repeat
pop
currentdict
end
currentdict
end
exch
begin
begin
/unitSq
{
0 0 moveto 0 1 lineto 1 1 lineto 1 0 lineto closepath
} bd
/gMark
{
counttomark 2 add -1 roll
} bd
/setCustomColor
{
dup /ccTint exch store
1 exch sub 6 1 roll
ccAry1 astore
exch setcustomcolor
} bd
/currentCustomColor
{
ccAry1 aload pop ccTint
} bd
/nsetcustomcolor where
{
pop
}
{
/nsetcustomcolor
{
pop setcmykcolor
} bd
} ifelse
/nsetcustomcolorend where
{
pop
}
{
/nsetcustomcolorend
{
} bd
} ifelse
/setBSpace
{
newpath bUMatrix astore concat unitSq
} bd
/setCStop
{
dup 0 eq
{
pop
spotColor?
{
dup 1 exch sub /ccTint exch def
ccAry1 4 /Black put
} if
setgray
}
{
1 eq
{
setcmykcolor
}
{
composite? not colorType 2 lt and
{
forceCMYK
}
{
setCustomColor
} ifelse
} ifelse
} ifelse
} bd
/makeByte
{
/tmp 0 store
255 mul cvi
8 string 8
{
dup tmp 3 index put /tmp tmp 1 add store
} repeat
exch pop
} bd
/setImgSpace
{
cDataLen 1 8
2 index 0 0 1 0 0 dMatrix astore
} bd
/bwImage
{
setImgSpace cData /_image_ load
{
exec
} stopped
{
$error /errorname get /undefinedresult ne
{
stop
}
{
pop pop pop pop pop
} ifelse
} if
} bd
level2?
{
/bFill
{
_fill
} def
/bCImg
{
/cDataLen bDataLen store
setImgSpace
setSSave
expandSpot
cyData mgData yeData cData
expandCMYK
true 4 spotDict
{
ncolorimage
} stopped
{
$error /errorname get /undefinedresult ne
{
stop
}
{
10
{
pop
} repeat
} ifelse
} if
sSave restore
} bd
} if
/expandOne
{
dup type /stringtype ne
{
cDataLen string
exch
dup 0 ne
{
255 mul cvi
0 1 cDataLen 1 sub
{
3 copy
exch put pop
} for
} if
pop
} if
} bd
/expandSpot
{
spotColor?
{
spotDict begin
spot1 begin
tintImage type /nulltype ne
{
tintImage expandOne /tintImage exch def
} if
end
spot2 begin
tintImage type /nulltype ne
{
tintImage expandOne /tintImage exch def
} if
end
end
} if
} bd
/expandCMYK
{
4
{
expandOne 4 1 roll
} repeat
} bd
/colorimage where dup
{
exch pop
/ncolorimage where
{
pop
}
{
/ncolorimage {pop colorimage} bd
} ifelse
} if
not
{
/ncolorimage where
{
pop
}
{
/colorimage? false store
/ncolorimage
{
pop pop pop
setSSave
/blackData xs
/yeData xs
/mgData xs
/cyData xs
/cnt1 0 store
[
byte dup 0
cyData dup type /stringtype eq
{
/cnt1 cvx /get cvx d255 /exch cvx /get cvx .3 /mul cvx
}
{
.3 mul
} ifelse
mgData dup type /stringtype eq
{
/cnt1 cvx /get cvx d255 /exch cvx /get cvx .59 /mul cvx
}
{
.59 mul
} ifelse
yeData dup type /stringtype eq
{
/cnt1 cvx /get cvx d255 /exch cvx /get cvx .11 /mul cvx
}
{
.11 mul
} ifelse
blackData dup type /stringtype eq
{
/cnt1 cvx /get cvx d255 /exch cvx /get cvx
} if
/add cvx /add cvx /add cvx 1 /exch cvx /sub cvx
/dup cvx 0 /lt cvx
{
pop 0
} /if cvx
/dup cvx 1 /gt cvx
{
pop 1
} /if cvx
255 /mul cvx /cvi cvx
256 /mod cvx
/dup cvx 0 /lt cvx
{
pop 0
} /if cvx
/put cvx
/cnt1 dup cvx 1 /add cvx /store cvx
] cvx
bind
_image_
sSave restore
} bd
} ifelse
} if
level2? not
{
/bCImg
{
/cDataLen bDataLen store
setImgSpace
setSSave
expandSpot
cyData mgData yeData cData
colorimage?
{
expandCMYK
} if
true 4 spotDict
{
ncolorimage
} stopped
{
$error /errorname get /undefinedresult ne
{
stop
}
{
10
{
pop
} repeat
} ifelse
} if
sSave restore
} bd
/bwFill
{
setSSave
/cDataLen 8 store
/cData currentgray makeByte store
bwImage
sSave restore
} bd
/c1ImgFill
{
setSSave
/cDataLen 8 store
setImgSpace
spotColor?
{
spotDict begin
spot1 begin
currentCustomColor makeByte /tintImage exch def
/name exch def
/spot_K exch def
/spot_Y exch def
/spot_M exch def
/spot_C exch def
end
spot2 initSpotData
end
} if
currentcmykcolor
4
{
makeByte 4 1 roll
} repeat
true 4 spotDict
{
ncolorimage
} stopped
{
$error /errorname get /undefinedresult ne
{
stop
}
{
10
{
pop
} repeat
} ifelse
} if
sSave restore
} bd
/bFill
noImg
{
{
_fill
}
}
{
{
color?
{
c1ImgFill
}
{
bwFill
} ifelse
}
} ifelse
bd
} if
composite?
{
/bCFun
{
color?
{
cyData dup type /stringtype eq
{
/ndx cvx /get cvx d255 /exch cvx /get cvx
} if
mgData dup type /stringtype eq
{
/ndx cvx /get cvx d255 /exch cvx /get cvx
} if
yeData dup type /stringtype eq
{
/ndx cvx /get cvx d255 /exch cvx /get cvx
} if
cData dup type /stringtype eq
{
/ndx cvx /get cvx d255 /exch cvx /get cvx
} if
spotColor?
{
spotDict begin
/spotDict cvx /begin cvx
spot1 begin
tintImage dup type /stringtype eq
{
/ndx cvx /get cvx d255- /exch cvx /get cvx
}
{
dup type /nulltype ne
{
name type /nametype ne {1 exch sub} if
} if
} ifelse
end
/spot1 cvx /tintValue 3 -1 /roll cvx /put cvx
spot2 begin
tintImage dup type /stringtype eq
{
/ndx cvx /get cvx d255- /exch cvx /get cvx
}
{
dup type /nulltype ne
{
name type /nametype ne {1 exch sub} if
} if
} ifelse
end
/spot2 cvx /tintValue 3 -1 /roll cvx /put cvx
/end cvx
end
/spotDict cvx
/nsetcustomcolor cvx
}
{
/setcmykcolor cvx
} ifelse
}
{
cData /ndx cvx /get cvx
d255 /exch cvx /get cvx
/setgray cvx
} ifelse
} bd
/Bc
{
newpath
gsave
setBSpace
nColors 1 eq
{
pop pop
setCStop
} if
bFill
grestore
} bd
/linealBm
{
/nColors dup load 1 sub store
newpath
gsave
setBSpace
blend?
{
linImg
}
{
bFill
} ifelse
grestore
nColors 1 gt
{
getRData
} if
} bd
/rdBm
{
/nColors dup load 1 sub store
_fill
gsave
bUMatrix astore concat
bHi?
{
xHi yHi bUMatrix idtransform /yHi exch store /xHi exch store
rampPoint 1 lt
{
1 rampPoint sub dup xHi mul exch yHi mul translate
} if
} if
nColors
{
0 0 rampPoint 0 360 arc
_fill
blend? bHi? or
{
rdBlend
} if
nColors 1 gt
{
getRData
} if
/nColors dup load 1 sub store
} repeat
/nColors 1 store
grestore
} bd
/cGetRData
{
setCStop
/blend?
cData type /stringtype eq
dup not color? and
{
pop
cyData type /stringtype eq
mgData type /stringtype eq
yeData type /stringtype eq
or or
} if
store
} def
/cGetRData
} if
/eCStop
{
mark
1 index 3 mul 3 add dup 8 gt
{
pop 8
} if
1 roll
cleartomark
} bd
composite? not
{
/knockOut
level2?
{
{
0 0 0 0 setcmykcolor _fill
}
}
{
/bFill noImg
{
{
_fill
}
}
{
{
_of true eq
{
currentgray 1 ne
{
bwFill
} if
}
{
bwFill
} ifelse
}
} ifelse
def
/whiteByte 1 makeByte def
noImg
{
{
0 0 0 0 setcmykcolor _fill
}
}
{
{
cBType 0 eq
{
setSSave
/cData whiteByte store
/cDataLen 8 store
bwImage
sSave restore
}
{
_fill
} ifelse
}
} ifelse
} ifelse
bd
/bCFun
{
cData dup type /stringtype ne
{
color?
{
1 exch sub
} if
}
{
/ndx cvx /get cvx
color? customColor? not and
{
d255-
}
{
d255
} ifelse
/exch cvx /get cvx
} ifelse
/_setgray_ cvx
} bd
/eCCBlend
{
dup 3 eq
{
pop
mark 7 1 roll
6 copy ccThrough? dup /blend? xs
{
/startC? true store
setCustomColor
customColor?
{
/cData tint1Data store
setCDataLen
} if
/endC?
3 index 3 eq
{
4 index 1 ne
}
{
false
} ifelse
store
} if
cleartomark
stop
} if
1 eq
{
pop pop pop
} if
pop
/startC? false store
6
{
8 index
} repeat
ccThrough? dup /blend? xs
{
/endC? true store
blend? not
{
stop
} if
customColor?
{
/cData tint1Data store
setCDataLen
} if
} if
} bd
/handleOP
{
_of not
{
knockOut
} if
} bd
/handleROP
{
_of not
{
0 0 0 0 setcmykcolor _fill
}
{
newpath
} ifelse
} bd
/rdBm
{
/nColors dup load 1 sub store
blend?
{
_fill
}
{
handleROP
} ifelse
gsave
bUMatrix astore concat
bHi?
{
xHi yHi bUMatrix idtransform /yHi exch store /xHi exch store
rampPoint 1 lt
{
1 rampPoint sub dup xHi mul exch yHi mul translate
} if
} if
nColors
{
0 0 rampPoint 0 360 arc
blend?
{
cData type /stringtype ne bHi? not and
{
cData color?
{
1 exch sub
} if
_setgray_
_fill_
}
{
cData type /stringtype ne
{
/cDataLen 1 store
/bDataLen 1 store
} if
rdBlend
} ifelse
}
{
handleROP
pTState?
{
/bAxis rampPoint endPoint sub store
xHi bAxis mul yHi bAxis mul translate
} if
} ifelse
nColors 1 gt
{
getRData
} if
/nColors dup load 1 sub store
} repeat
/nColors 1 store
grestore
} bd
/ccThrough?
{
gsave
pop 0 setCustomColor
currentcmykcolor
grestore
anyColor?
} bd
/forceCMYK
{
exch pop
1 exch sub 5 1 roll
4
{
4 index mul 4 1 roll
} repeat
0
cCMYKData dup /cData ne
{
dup /yeData eq
{
pop 1 add
}
{
/mgData eq
{
2
}
{
3
} ifelse
add
} ifelse
0
} if
pop
index
0 eq
{
pop pop pop pop 0 0 0 0
} if
setcmykcolor
pop
/fCMYK? true store
} bd
/endCapSepBc
{
pop pop
dup 0 eq
{
pop
setgray
}
{
1 eq
{
setcmykcolor
}
{
colorType 1 eq
{
forceCMYK
}
{
fCMYK?
{
forceCMYK
}
{
setCustomColor
} ifelse
} ifelse
} ifelse
} ifelse
currentcmykcolor anyColor?
blend? and
{
bFill
}
{
handleOP
} ifelse
} bd
} if
/cCMYKData 0 def
composite? dup not
{
pop customColor?
} if
not
{
/cCMYKData
/cyData /mgData /yeData /cData
black? not
{
yellow?
{
exch
}
{
magenta?
{
3
}
{
4
} ifelse
-1 roll
} ifelse
} if
4 1 roll pop pop pop
store
/Bc
{
gsave
setBSpace
nColors 1 gt
{
blend? currentcmykcolor anyColor? and
{
bFill
}
{
handleOP
} ifelse
}
{
endCapSepBc
} ifelse
grestore
newpath
} bd
/linealBm
{
/nColors dup load 1 sub store
newpath
gsave
setBSpace
blend?
{
cCMYKData load dup type /stringtype eq
{
dup length /cDataLen xs
/cData xs
gsave
colorType 0 ne noImg not and
{
invertXfer
} if
linImg
grestore
}
{
pop bFill
} ifelse
}
{
handleOP
} ifelse
grestore
nColors 1 gt
{
getRData
} if
} bd
/cmykGetRData
{
/fCMYK? false store
blend?
{
{
cmykDataProcs colorType get exec
} stopped
pop
blend?
{
/cData cCMYKData load store
setCDataLen
} if
} if
} def
/cmykDataProcs
[
{
pop
black? dup /blend? xs
{
setgray
0
} if
pop
}
{
cCMYKData load dup type /stringtype ne
{
0 0 0
cyan? not
{
4 magenta?
{
1
}
{
yellow?
{
2
}
{
3
} ifelse
} ifelse
roll
} if
4 copy add add add 0 eq
{
/blend? false store
} if
setcmykcolor
/startC? true store
/endC? true store
eCStop
stop
} if
pop
dup 0 eq
{
pop
setgray
}
{
1 eq
{
setcmykcolor
}
{
forceCMYK
} ifelse
} ifelse
} bind
/eCCBlend load
{
cBType 1 eq
{
tint1Data tint2Data
/tint1Data xs
/tint2Data xs
} if
0 eq
{
black?
{
setgray
}
{
0 0 0 4 -1 roll 1 exch sub setcmykcolor
} ifelse
black?
{
/blend? true store
} if
6
{
8 index
} repeat
ccThrough?
{
/blend? true store
}
{
black?
{
/cData tint1Data store
setCDataLen
}
{
/blend? false store
} ifelse
} ifelse
}
{
mark 7 1 roll
6 copy ccThrough?
{
forceCMYK
pop
stop
} if
9 index 0 eq
{
black? dup /blend? xs
{
pop 1 setgray
/cData tint2Data store
setCDataLen
0
} if
pop
}
{
/blend?
6
{
16 index
} repeat
ccThrough?
store
blend?
{
forceCMYK
} if
} ifelse
cleartomark
} ifelse
} bind
] def
/cmykGetRData
} if
composite? dup not
{
pop isCMYKSep?
} if
not
{
/endCapSepBc
{
/white? false store
pop pop
dup 0 eq
{
pop
/white? 1 index 1 eq store
setgray
}
{
1 eq
{
setcmykcolor
}
{
setCustomColor
} ifelse
} ifelse
%
currentcmykcolor anyColor?
endC? or
blend? and
{
bFill
}
{
handleOP
} ifelse
} bd
/Bc
{
gsave
setBSpace
nColors 1 gt
{
blend? startC? and
{
bFill
}
{
handleOP
} ifelse
}
{
endCapSepBc
} ifelse
grestore
newpath
} bd
/linealBm
{
/nColors dup load 1 sub store
newpath
gsave
setBSpace
blend?
{
cData type /stringtype eq
{
linImg
}
{
bFill
} ifelse
}
{
handleOP
} ifelse
grestore
nColors 1 gt
{
getRData
} if
} bd
/discardCMY
{
counttomark 4 add -3 roll pop pop pop
} bd
/testTopCC
{
6 copy ccThrough?
} bd
/getCRamp
{
{
ccDataProcs colorType 2 sub get exec
} stopped pop
blend? cDataLen 0 eq and
{
/cDataLen bDataLen store
} if
} bd
/ccGetRData
{
/fCMYK? false store
/startC? false store
/endC? false store
colorType 2 lt
{
/blend? false def
} if
blend?
{
getCRamp
}
{
setCStop
} ifelse
blend?
{
/blend? cData 1 ne store
blend?
{
cData dup type /stringtype ne
{
1 exch sub /cData xs 0
} if
pop
} if
} if
} def
/ccDataProcs
[
/eCCBlend load
{
cBType 1 eq
{
tint1Data tint2Data
/tint1Data xs
/tint2Data xs
} if
0 eq
{
/blend? false store
pop
}
{
mark 7 1 roll
testTopCC
{
/blend? 1 index 1 ne store
/startC? blend? store
/endC? false store
blend? not
{
cleartomark stop
} if
/cData tint1Data store
setCDataLen
setCustomColor
pop
stop
} if
cleartomark
} ifelse
2 index 0 eq
{
/blend? false store
}
{
mark 6
{
9 index
} repeat
testTopCC dup /blend? xs
{
/blend? 1 index 1 ne store
/endC? blend? store
/startC? false store
blend? not
{
cleartomark stop
} if
/cData tint2Data store
setCDataLen
} if
cleartomark
} ifelse
} bind
] def
/ccGetRData
} if
load Adobe_blend_AI5_vars /getData 3 -1 roll put
/setCDataLen
{
/cDataLen 0 cData dup type /stringtype eq
{
length exch
} if
pop store
} bd
/initSpotData
{
begin
/name null def
/tintImage null def
/tintValue null def
/spot_C null def
/spot_M null def
/spot_Y null def
/spot_K null def
end
} bd
/getRData
{
/colorType gMark store
_compositeSpotDevice 0 ne
{
spotDict begin
spot1 initSpotData
spot2 initSpotData
end
/spotColor? colorType 2 eq colorType 3 eq or def
}
{
/spotColor? false store
} ifelse
/blend? true store
0 0 0 0 setcmykcolor
100 div /rampPoint xs
% (between 13 and 87%)
100 div /midPoint xs
dup 0 eq
{
2
}
{
dup 1 eq
{
5
}
{
_compositeSpotDevice 0 ne
{
spotDict begin
spot1 begin
/name 3 index def
/spot_K 4 index def
/spot_Y 5 index def
/spot_M 6 index def
/spot_C 7 index def
end
end
} if
7
} ifelse
} ifelse
/tmp exch def
tmp index 100 div /endPoint xs
_compositeSpotDevice 0 ne
{
tmp 2 add index 3 eq
{
/tmp tmp 4 add def
tmp index dup
spotDict begin
spot1/name get ne
{
spot2 begin
/name exch def
/spot_K tmp 2 add index def
/spot_Y tmp 3 add index def
/spot_M tmp 4 add index def
/spot_C tmp 5 add index def
end
}
{
pop
} ifelse
end
} if
} if
/color? colorType 0 gt store
colorType 3 eq
{
/tint2Data gMark store
} if
colorType 2 ge
{
/tint1Data gMark store
} if
_compositeSpotDevice 0 ne
{
spotDict begin
colorType 2 ge
{
colorType 3 eq
{
spot2 begin
/tintImage cBType 0 eq {tint2Data} {tint1Data} ifelse def
name null eq {/name /Black def} if
end
} if
spot1 begin
/tintImage cBType 0 eq colorType 2 eq or {tint1Data} {tint2Data} ifelse def
colorType 2 eq
{
name null eq
{
/name spot2/name get def
spot2/name null put
} if
}
{
name null eq {/name /Black def} if
} ifelse
end
} if
end
} if
/cData gMark store
setCDataLen
colorType 0 gt
{
counttomark 4 add -3 roll
/yeData xs
/mgData xs
/cyData xs
} if
blend?
{
/bDataLen
cDataLen dup 0 eq color? and
{
[
cyData mgData yeData
]
{
dup type /stringtype eq
{
length exch pop exit
} if
pop
} forall
} if
store
bDataLen 0 eq
{
/bDataLen 1 store
} if
getData
blend?
{
composite? cDataLen 0 eq and
{
/cDataLen bDataLen store
} if
} if
}
{
setCStop
} ifelse
} bd
/Bg
{
0 0 0 0 setcmykcolor
6
{
pop
} repeat
/blendLength xs
pop pop pop
/cBName xs
/bRender xs
bRender 2 ne
{
composite? not
{
_of setoverprint
} if
_eo {eoclip} {clip} ifelse
_bn cBName 2 copy known
{
get
mark exch aload pop
/cBType xs
/nColors xs
mark exch aload pop
0 0
} if
pop pop
getRData
cBType 0 eq
{
/linealBm
}
{
bHi?
{
/pTState? nColors 2 gt store
} if
/doBlend /rdBlend load store
/rdBm
} ifelse
}
{
inLine? not
{
mark mark
} if
/Bc dup
{
cleartomark mark
} bd
/nullProc
} ifelse
load /Bm xs
} bd
/linImg
noImg
{
{
newpath doRctBlend
}
}
{
{
/doBlend
color? composite? and
{
/bCImg
}
{
/bwImage
} ifelse
load
store
0 0 moveto
tRectOK? composite? and
{
{
mark
0 1 dtransform atan cvi 90 mod 0 eq
1 0 dtransform atan cvi 90 mod 0 eq
} stopped
{
cleartomark
}
{
and exch pop
{
newpath
doRctBlend
}
{
doBlend
} ifelse
} ifelse
}
{
doBlend
} ifelse
}
} ifelse
bd
/doRctBlend
{
gsave
/sInc 1 store
/nSamples bDataLen store
/bInc 1 bDataLen div store
/ubAxis 1 0 dtransform dUserSpace idtransform dup mul exch dup mul add sqrt store
/pChange ubAxis 0 eq
{
0
}
{
bDataLen ubAxis div
} ifelse
store
pChange .5 gt noImg not and dup /optimize? xs
{
/nSamples ubAxis 2 div round cvi dup 1 le
{
pop 2
} if
store
/bInc 1 nSamples div store
/sInc bDataLen 1 sub nSamples 1 sub div store
} if
0
nSamples
[
/dup cvx
optimize?
{
/round cvx /cvi cvx
} if
/ndx /exch cvx /store cvx
bCFun
/rectfill where dup
{
exch pop _compositeSpotDevice 1 ne and
} if
{
0 0 bInc 1 /rectfill cvx
}
{
0 0 /moveto cvx
bInc 0 /lineto cvx
bInc 1 /lineto cvx
0 1 /lineto cvx
/closepath cvx
/_fill_ cvx
} ifelse
bInc 0 /translate cvx
sInc /add cvx
] cvx
bind
repeat
pop
spotColor? {nsetcustomcolorend} if
grestore
} bd
/rdPrep
{
/nSamples bDataLen dup 0 eq
{
pop 1
} if
store
/sInc -1 store
/bAxis rampPoint endPoint sub store
/bInc bAxis bDataLen div neg store
/optimize? false store
tRectOK?
{
/ubAxis
bAxis 0 dtransform dUserSpace idtransform dup mul exch dup mul add sqrt
0 bAxis dtransform dUserSpace idtransform dup mul exch dup mul add sqrt
2 copy lt
{
exch
} if
pop store
/pChange ubAxis 0 eq
{
0
}
{
bDataLen ubAxis div
} ifelse
store
pChange .5 gt noImg not and dup /optimize? xs
{
/nSamples ubAxis 2 div round cvi dup 1 le
{
pop 2
} if
store
/bInc bAxis nSamples div neg store
/sInc bDataLen 1 sub nSamples 1 sub div neg store
} if
} if
bHi?
{
/xBCInc xHi bAxis mul nSamples div store
/yBCInc yHi bAxis mul nSamples div store
} if
} bd
/rdBlend
{
newpath
gsave
rdPrep
rampPoint
bDataLen 1 sub
nSamples
[
/dup cvx
optimize?
{
/round cvx /cvi cvx
} if
/ndx /exch cvx /store cvx
bCFun
0 0 3 /index cvx 0 360 /arc cvx /_fill_ cvx
/exch cvx bInc /add cvx /exch cvx
sInc /add cvx
bHi?
{
xBCInc yBCInc /translate cvx
} if
] cvx
bind
repeat
pop pop
spotColor? {nsetcustomcolorend} if
grestore
pTState?
{
xHi bAxis mul yHi bAxis mul translate
} if
} bd
/Bh
{
pop pop
/pTState? false store
2 copy 0 ne exch 0 ne or dup /bHi? xs
{
/yHi xs
/xHi xs
0 0
} if
pop pop
} bd
/BD
{
inLine? not
{
] nColors cBType
] _bn cBName 3 -1 roll put
end
} if
} bd
/Bn
{
1 add dict
dup nullString null put
/_bn xs
} bd
/Bd
{
Adobe_blend_AI5_vars begin
3 -1 roll dup nullString eq dup
{
setSSave
} if
/inLine? exch def
/cBName exch def
/nColors exch def
/cBType exch def
} bd
/Bb
{
sSave null eq
{
Adobe_blend_AI5_vars begin
setSSave
} if
composite?
{
/_fill /fill load store
}
{
/__fill /fill load store
/_fill
{
_of true eq
{
currentgray 1 ne
{
__fill
} if
}
{
__fill
} ifelse
} def
} ifelse
/fill
{
} def
} bd
/BB
{
/cBType xs
cleartomark cleartomark
cBType dup
bRender
sSave dup type /savetype eq
{
restore 0
} if
pop
currentdict Adobe_blend_AI5_vars eq
{
end
} if
2 ne exch 0 gt and
{
2 eq
{
s
}
{
S
} ifelse
}
{
pop newpath
} ifelse
} bd
currentdict readonly pop
end
end
defaultpacking setpacking
%%EndResource
%%BeginResource: procset Adobe_pattern_AI5 1.1 0
%%Title: (Adobe Illustrator (R) Version 5.0 Pattern Operators)
%%Version: 1.1 0
%%CreationDate: (03/26/93) ()
%%Copyright: ((C) 1987-1996 Adobe Systems Incorporated All Rights Reserved)
currentpacking true setpacking
userdict /Adobe_Illustrator_AI5 known not {
userdict /Adobe_Illustrator_AI5 95 dict put
} if
userdict /Adobe_Illustrator_AI5 get begin
/@
{
} def
/&
{
} def
/dp
{
dup null eq
{
pop
_dp 0 ne
{
0 1 _dp 1 sub _dl mod
{
_da exch get 3 get
} for
_dp 1 sub _dl mod 1 add packedarray
_da 0 get aload pop 8 -1 roll 5 -1 roll pop 4 1 roll
definepattern pop
} if
}
{
_dp 0 ne _dp _dl mod 0 eq and
{
null dp
} if
7 packedarray _da exch _dp _dl mod exch put
_dp _dl mod _da 0 get 4 get 2 packedarray
/_dp _dp 1 add def
} ifelse
} def
/E
{
_ed begin
dup 0 get type /arraytype ne
{
0
{
dup 1 add index type /arraytype eq
{
1 add
}
{
exit
} ifelse
} loop
array astore
} if
/_dd exch def
/_ury exch def
/_urx exch def
/_lly exch def
/_llx exch def
/_n exch def
/_y 0 def
/_dl 4 def
/_dp 0 def
/_da _dl array def
0 1 _dd length 1 sub
{
/_d exch _dd exch get def
0 2 _d length 2 sub
{
/_x exch def
/_c _d _x get _ ne def
/_r _d _x 1 add get cvlit def
_r _ ne
{
_urx _llx sub _ury _lly sub
[
1 0 0 1 0 0
]
[
/save cvx
_llx neg _lly neg /translate cvx
_c
{
nc /begin cvx
} if
_r dup type /stringtype eq
{
cvx
}
{
{
exec
} /forall cvx
} ifelse
_c
{
/end cvx
} if
/restore cvx
] cvx
/_fn 12 _n length add string def
_y _fn cvs pop
/_y _y 1 add def
_fn 12 _n putinterval
_fn _c false dp
_d exch _x 1 add exch put
} if
} for
} for
null dp
_n _dd /_pd
end
xput
} def
/fc
{
_fm dup concatmatrix pop
} def
/p
{
/_fm exch ddef
9 -2 roll _pm translate fc
7 -2 roll _pm scale fc
5 -1 roll _pm rotate fc
4 -2 roll exch 0 ne
{
dup _pm rotate fc
1 -1 _pm scale fc
neg _pm rotate fc
}
{
pop
} ifelse
dup _pm rotate fc
exch dup sin exch cos div 1 0 0 1 0 6 2 roll
_pm astore fc
neg _pm rotate fc
_pd exch get /_fdd exch ddef
/_pf
{
save
/_doClip 0 ddef
0 1 _fdd length 1 sub
{
/_fd exch _fdd exch get ddef
_fd
0 2 _fd length 2 sub
{
gsave
2 copy get dup _ ne
{
cvx exec _fc
}
{
pop
} ifelse
2 copy 1 add get dup _ ne
{
aload pop findfont _fm
patternfill
}
{
pop
fill
} ifelse
grestore
pop
} for
pop
} for
restore
newpath
} ddef
/_psf
{
save
/_doClip 0 ddef
0 1 _fdd length 1 sub
{
/_fd exch _fdd exch get ddef
_fd
0 2 _fd length 2 sub
{
gsave
2 copy get dup _ ne
{
cvx exec _fc
}
{
pop
} ifelse
2 copy 1 add get dup _ ne
{
aload pop findfont _fm
9 copy 6 npop patternashow
}
{
pop
6 copy 3 npop hvashow
} ifelse
grestore
pop
} for
pop
} for
restore
sw rmoveto
} ddef
/_pjsf
{
save
/_doClip 0 ddef
0 1 _fdd length 1 sub
{
/_fd exch _fdd exch get ddef
_fd
0 2 _fd length 2 sub
{
gsave
2 copy get dup _ ne
{
cvx exec _fc
}
{
pop
} ifelse
2 copy 1 add get dup _ ne
{
aload pop findfont _fm
12 copy 6 npop patternawidthshow
}
{
pop 9 copy 3 npop hvawidthshow
} ifelse
grestore
pop
} for
pop
} for
restore
swj rmoveto
} ddef
/_lp /none ddef
} def
/sc
{
_sm dup concatmatrix pop
} def
/P
{
/_sm exch ddef
9 -2 roll _pm translate sc
7 -2 roll _pm scale sc
5 -1 roll _pm rotate sc
4 -2 roll exch 0 ne
{
dup _pm rotate sc
1 -1 _pm scale sc
neg _pm rotate sc
}
{
pop
} ifelse
dup _pm rotate sc
exch dup sin exch cos div 1 0 0 1 0 6 2 roll
_pm astore sc
neg _pm rotate sc
_pd exch get /_sdd exch ddef
/_ps
{
save
/_doClip 0 ddef
0 1 _sdd length 1 sub
{
/_sd exch _sdd exch get ddef
_sd
0 2 _sd length 2 sub
{
gsave
2 copy get dup _ ne
{
cvx exec _sc
}
{
pop
} ifelse
2 copy 1 add get dup _ ne
{
aload pop findfont _sm
patternstroke
}
{
pop stroke
} ifelse
grestore
pop
} for
pop
} for
restore
newpath
} ddef
/_pss
{
save
/_doClip 0 ddef
0 1 _sdd length 1 sub
{
/_sd exch _sdd exch get ddef
_sd
0 2 _sd length 2 sub
{
gsave
2 copy get dup _ ne
{
cvx exec _sc
}
{
pop
} ifelse
2 copy 1 add get dup _ ne
{
aload pop findfont _sm
10 copy 6 npop patternashowstroke
}
{
pop 7 copy 3 npop ss
} ifelse
grestore
pop
} for
pop
} for
restore
pop sw rmoveto
} ddef
/_pjss
{
save
/_doClip 0 ddef
0 1 _sdd length 1 sub
{
/_sd exch _sdd exch get ddef
_sd
0 2 _sd length 2 sub
{
gsave
2 copy get dup _ ne
{
cvx exec _sc
}
{
pop
} ifelse
2 copy 1 add get dup _ ne
{
aload pop findfont _sm
13 copy 6 npop patternawidthshowstroke
}
{
pop 10 copy 3 npop jss
} ifelse
grestore
pop
} for
pop
} for
restore
pop swj rmoveto
} ddef
/_lp /none ddef
} def
end
userdict /Adobe_pattern_AI5 18 dict dup begin
put
/initialize
{
/definepattern where
{
pop
}
{
begin
begin
Adobe_pattern_AI5 begin
Adobe_pattern_AI5
{
dup xcheck
{
bind
} if
pop pop
} forall
mark
cachestatus 7 1 roll pop pop pop pop exch pop exch
{
{
10000 add
dup 2 index gt
{
exit
} if
dup setcachelimit
} loop
} stopped
cleartomark
end
end
end
Adobe_pattern_AI5 begin
} ifelse
} def
/terminate
{
currentdict Adobe_pattern_AI5 eq
{
end
} if
} def
errordict
/nocurrentpoint
{
pop
stop
} put
errordict
/invalidaccess
{
pop
stop
} put
/patternencoding
256 array def
0 1 255
{
patternencoding exch ( ) 2 copy exch 0 exch put cvn put
} for
/definepattern
{
17 dict begin
/uniform exch def
/cache exch def
/key exch def
/procarray exch def
/mtx exch matrix invertmatrix def
/height exch def
/width exch def
/ctm matrix currentmatrix def
/ptm matrix def
/str 32 string def
/slice 9 dict def
slice /s 1 put
slice /q 256 procarray length div sqrt floor cvi put
slice /b 0 put
/FontBBox
[
0 0 0 0
] def
/FontMatrix mtx matrix copy def
/Encoding patternencoding def
/FontType 3 def
/BuildChar
{
exch
begin
/setstrokeadjust where {pop true setstrokeadjust} if
slice begin
dup q dup mul mod s idiv /i exch def
dup q dup mul mod s mod /j exch def
q dup mul idiv procarray exch get
/xl j width s div mul def
/xg j 1 add width s div mul def
/yl i height s div mul def
/yg i 1 add height s div mul def
uniform
{
1 1
}
{
width 0 dtransform
dup mul exch dup mul add sqrt dup 1 add exch div
0 height dtransform
dup mul exch dup mul add sqrt dup 1 add exch div
} ifelse
width 0 cache
{
xl 4 index mul yl 4 index mul xg 6 index mul yg 6 index mul
setcachedevice
}
{
setcharwidth
} ifelse
gsave
scale
newpath
xl yl moveto
xg yl lineto
xg yg lineto
xl yg lineto
closepath
clip
newpath
end
end
exec
grestore
} def
key currentdict definefont
end
} def
/patterncachesize
{
gsave
newpath
0 0 moveto
width 0 lineto
width height lineto
0 height lineto
closepath
patternmatrix setmatrix
pathbbox
exch ceiling 4 -1 roll floor sub 3 1 roll
ceiling exch floor sub
mul 1 add
grestore
} def
/patterncachelimit
{
cachestatus 7 1 roll 6 npop 8 mul
} def
/patternpath
{
exch dup begin
setfont
ctm setmatrix
concat
slice exch /b exch slice /q get dup mul mul put
FontMatrix concat
uniform
{
width 0 dtransform round width div exch round width div exch
0 height dtransform round height div exch height div exch
0 0 transform round exch round exch
ptm astore setmatrix
}
{
ptm currentmatrix pop
} ifelse
{
currentpoint
} stopped not
{
2 npop
pathbbox
true
4 index 3 index eq
4 index 3 index eq
and
{
pop false
{
{
2 npop
}
{
3 npop true
}
{
7 npop true
}
{
pop true
} pathforall
} stopped
{
5 npop true
} if
} if
{
height div ceiling height mul 4 1 roll
width div ceiling width mul 4 1 roll
height div floor height mul 4 1 roll
width div floor width mul 4 1 roll
2 index sub height div ceiling cvi exch
3 index sub width div ceiling cvi exch
4 2 roll moveto
FontMatrix mtx invertmatrix
dup dup 4 get exch 5 get rmoveto
ptm ptm concatmatrix pop
slice /s
patterncachesize patterncachelimit div ceiling sqrt ceiling cvi
dup slice /q get gt
{
pop slice /q get
} if
put
0 1 slice /s get dup mul 1 sub
{
slice /b get add
gsave
0 1 str length 1 sub
{
str exch 2 index put
} for
pop
dup
{
gsave
ptm setmatrix
1 index str length idiv
{
str show
} repeat
1 index str length mod str exch 0 exch getinterval show
grestore
0 height rmoveto
} repeat
grestore
} for
2 npop
}
{
4 npop
} ifelse
} if
end
} def
/patternclip
{
_eo {eoclip} {clip} ifelse
} def
/patternstrokepath
{
strokepath
} def
/patternmatrix
matrix def
/patternfill
{
dup type /dicttype eq
{
Adobe_pattern_AI5 /patternmatrix get
} if
gsave
patternclip
Adobe_pattern_AI5 /patternpath get exec
grestore
newpath
} def
/patternstroke
{
dup type /dicttype eq
{
Adobe_pattern_AI5 /patternmatrix get
} if
gsave
patternstrokepath
true
{
{
{
newpath
moveto
}
{
lineto
}
{
curveto
}
{
closepath
3 copy
Adobe_pattern_AI5 /patternfill get exec
} pathforall
3 npop
} stopped
{
5 npop
patternclip
Adobe_pattern_AI5 /patternfill get exec
} if
}
{
patternclip
Adobe_pattern_AI5 /patternfill get exec
} ifelse
grestore
newpath
} def
/vpatternawidthshow
{
6 1 roll
/_hvay exch ddef
/_hvax exch ddef
/_hvwb exch ddef
/_hvcy exch ddef
/_hvcx exch ddef
{
dup cstring
dup length 1 eq
_charorientation 1 eq
and
{
-90 rotate
currentpoint
_fontRotateAdjust add
moveto
gsave
false charpath currentpoint
5 index 5 index 5 index Adobe_pattern_AI5 /patternfill get exec
grestore
_fontRotateAdjust sub
moveto
_hvwb eq { _hvcx _hvcy rmoveto } if
_hvax _hvay rmoveto
90 rotate
}
{
currentpoint
_fontHeight sub
_hvax sub
3 index _hvwb eq { _hvcx sub } if
currentpoint
exch 4 index stringwidth pop 2 div sub
exch _fontAscent sub
moveto
gsave
2 index false charpath
6 index 6 index 6 index Adobe_pattern_AI5 /patternfill get exec
grestore
newpath moveto pop pop
} ifelse
} cforall
3 npop
} def
/hpatternawidthshow
{
{
dup cstring exch
gsave
3 index eq { 5 index 5 index rmoveto } if
false charpath currentpoint
9 index 9 index 9 index
Adobe_pattern_AI5 /patternfill get exec
grestore
newpath moveto
2 copy rmoveto
} cforall
8 npop
} def
/patternashow
{
0 0 0 6 3 roll
patternawidthshow
} def
/patternawidthshow
{
6 index type /dicttype eq
{
Adobe_pattern_AI5 /patternmatrix get 7 1 roll
} if
_lineorientation 0 eq { hpatternawidthshow } { vpatternawidthshow } ifelse
} def
/vpatternawidthshowstroke
{
7 1 roll
6 1 roll
/_hvay exch ddef
/_hvax exch ddef
/_hvwb exch ddef
/_hvcy exch ddef
/_hvcx exch ddef
{
dup cstring
dup length 1 eq
_charorientation 1 eq
and
{
-90 rotate
currentpoint
_fontRotateAdjust add
moveto
gsave
false charpath currentpoint
3 index setmatrix
6 index 6 index 6 index Adobe_pattern_AI5 /patternstroke get exec
grestore
_fontRotateAdjust sub
moveto
_hvwb eq { _hvcx _hvcy rmoveto } if
_hvax _hvay rmoveto
90 rotate
}
{
currentpoint
_fontHeight sub
_hvax sub
3 index _hvwb eq { _hvcx sub } if
currentpoint
exch 4 index stringwidth pop 2 div sub
exch _fontAscent sub
moveto
gsave
2 index false charpath
4 index setmatrix
7 index 7 index 7 index Adobe_pattern_AI5 /patternstroke get exec
grestore
newpath moveto pop pop
} ifelse
} cforall
4 npop
} def
/hpatternawidthshowstroke
{
7 1 roll
{
dup cstring exch
gsave
3 index eq { 5 index 5 index rmoveto } if
false charpath currentpoint
7 index setmatrix
10 index 10 index 10 index
Adobe_pattern_AI5 /patternstroke get exec
grestore
newpath moveto
2 copy rmoveto
} cforall
9 npop
} def
/patternashowstroke
{
0 0 0 7 3 roll
patternawidthshowstroke
} def
/patternawidthshowstroke
{
7 index type /dicttype eq
{
patternmatrix /patternmatrix get 8 1 roll
} if
_lineorientation 0 eq { hpatternawidthshowstroke } { vpatternawidthshowstroke } ifelse
} def
end
setpacking
%%EndResource
%%EndProlog
%%BeginSetup
Adobe_level2_AI5 /initialize get exec
Adobe_screens_AI5 /initialize get exec
Adobe_Illustrator_AI5_vars Adobe_Illustrator_AI5 Adobe_typography_AI5 /initialize get exec
Adobe_Illustrator_AI5_vars Adobe_Illustrator_AI5 Adobe_blend_AI5 /initialize get exec
Adobe_Illustrator_AI5_vars Adobe_Illustrator_AI5 Adobe_pattern_AI5 /initialize get exec
Adobe_ColorImage_AI6 /initialize get exec
Adobe_Illustrator_AI5 /initialize get exec
[
39/quotesingle 96/grave 130/quotesinglbase 131/florin 132/quotedblbase
133/ellipsis 134/dagger 135/daggerdbl 136/circumflex 137/perthousand
138/Scaron 139/guilsinglleft 140/OE 145/quoteleft 146/quoteright
147/quotedblleft 148/quotedblright 149/bullet 150/endash 151/emdash
152/tilde 153/trademark 154/scaron 155/guilsinglright 156/oe 157/dotlessi
159/Ydieresis 164/currency 166/brokenbar 168/dieresis 169/copyright
170/ordfeminine 172/logicalnot 174/registered 175/macron 176/ring
177/plusminus 178/twosuperior 179/threesuperior 180/acute 181/mu
183/periodcentered 184/cedilla 185/onesuperior 186/ordmasculine
188/onequarter 189/onehalf 190/threequarters 192/Agrave 193/Aacute
194/Acircumflex 195/Atilde 196/Adieresis 197/Aring 198/AE 199/Ccedilla
200/Egrave 201/Eacute 202/Ecircumflex 203/Edieresis 204/Igrave 205/Iacute
206/Icircumflex 207/Idieresis 208/Eth 209/Ntilde 210/Ograve 211/Oacute
212/Ocircumflex 213/Otilde 214/Odieresis 215/multiply 216/Oslash
217/Ugrave 218/Uacute 219/Ucircumflex 220/Udieresis 221/Yacute 222/Thorn
223/germandbls 224/agrave 225/aacute 226/acircumflex 227/atilde 228/adieresis
229/aring 230/ae 231/ccedilla 232/egrave 233/eacute 234/ecircumflex
235/edieresis 236/igrave 237/iacute 238/icircumflex 239/idieresis
240/eth 241/ntilde 242/ograve 243/oacute 244/ocircumflex 245/otilde
246/odieresis 247/divide 248/oslash 249/ugrave 250/uacute 251/ucircumflex
252/udieresis 253/yacute 254/thorn 255/ydieresis
TE
%AI3_BeginEncoding: _Helvetica Helvetica
[
/_Helvetica/Helvetica 0 0 1 TZ
%AI3_EndEncoding AdobeType
%AI3_BeginEncoding: _Helvetica-Bold Helvetica-Bold
[
/_Helvetica-Bold/Helvetica-Bold 0 0 1 TZ
%AI3_EndEncoding AdobeType
%AI3_BeginEncoding: _Helvetica-Oblique Helvetica-Oblique
[
/_Helvetica-Oblique/Helvetica-Oblique 0 0 1 TZ
%AI3_EndEncoding AdobeType
%AI3_BeginEncoding: _Helvetica-BoldOblique Helvetica-BoldOblique
[
/_Helvetica-BoldOblique/Helvetica-BoldOblique 0 0 1 TZ
%AI3_EndEncoding AdobeType
%AI3_BeginEncoding: _Times-Roman Times-Roman
[
/_Times-Roman/Times-Roman 0 0 1 TZ
%AI3_EndEncoding AdobeType
%AI3_BeginEncoding: _Times-Bold Times-Bold
[
/_Times-Bold/Times-Bold 0 0 1 TZ
%AI3_EndEncoding AdobeType
%AI3_BeginEncoding: _Times-Italic Times-Italic
[
/_Times-Italic/Times-Italic 0 0 1 TZ
%AI3_EndEncoding AdobeType
%AI3_BeginEncoding: _Times-BoldItalic Times-BoldItalic
[
/_Times-BoldItalic/Times-BoldItalic 0 0 1 TZ
%AI3_EndEncoding AdobeType
%AI3_BeginEncoding: _Courier Courier
[
/_Courier/Courier 0 0 1 TZ
%AI3_EndEncoding AdobeType
%AI3_BeginEncoding: _Courier-Bold Courier-Bold
[
/_Courier-Bold/Courier-Bold 0 0 1 TZ
%AI3_EndEncoding AdobeType
%AI3_BeginEncoding: _Courier-Oblique Courier-Oblique
[
/_Courier-Oblique/Courier-Oblique 0 0 1 TZ
%AI3_EndEncoding AdobeType
%AI3_BeginEncoding: _Courier-BoldOblique Courier-BoldOblique
[
/_Courier-BoldOblique/Courier-BoldOblique 0 0 1 TZ
%AI3_EndEncoding AdobeType
%AI3_BeginEncoding: _Symbol Symbol
[
/_Symbol/Symbol 0 0 1 TZ
%AI3_EndEncoding AdobeType
%%EndSetup
1 XR
u
[] 0 d
0.0000 w
0.000 0.000 0.000 1.000 K
1 J
1 j
116.8053 299.8602 m
116.8053 233.6106 L
115.7271 233.3710 L
114.7687 232.7720 L
114.0499 231.8136 L
113.8103 230.6156 L
114.0499 229.5374 L
114.7687 228.5790 L
115.7271 227.8602 L
116.8053 227.6206 L
116.8053 169.2779 L
S
U
u
0.000 0.000 0.000 1.000 K
392.4659 366.5890 m
392.4659 391.9867 L
S
U
u
0.000 0.000 0.000 1.000 k
0.0000 w
389.8303 391.3877 m
392.4659 399.6539 L
395.2213 391.3877 L
389.8303 391.3877 L
F
U
u
0.000 0.000 0.000 0.000 k
382.8819 377.3710 m
401.2113 377.3710 L
401.2113 388.7521 L
382.8819 388.7521 L
382.8819 377.3710 L
F
U
0 To
1.0000 0.0000 0.0000 1.0000 383.8403 380.3661 0 Tp
TP
/_Helvetica 8.0000 Tf
0.0000 Tc
0 Tr
0 j
0.000 0.000 0.000 1.000 k
(UCT\r) Tx
TO
0.000 0.000 0.000 1.000 K
u
0.0000 w
1 j
516.5790 254.9351 m
516.5790 268.3527 L
516.5790 268.3527 L
516.5790 300.6988 L
S
U
u
0.000 0.000 0.000 1.000 k
0.0000 w
513.8236 300.0998 m
516.5790 308.3661 L
519.3344 300.0998 L
513.8236 300.0998 L
F
U
u
0.000 0.000 0.000 0.000 k
506.6356 276.2596 m
526.4027 276.2596 L
526.4027 287.6406 L
506.6356 287.6406 L
506.6356 276.2596 L
F
U
0 To
1.0000 0.0000 0.0000 1.0000 507.5940 279.2546 0 Tp
TP
/_Helvetica 8.0000 Tf
0.0000 Tc
0 Tr
0 j
0.000 0.000 0.000 1.000 k
(UCT\r) Tx
TO
0.000 0.000 0.000 1.000 K
u
0.000 0.000 0.000 0.000 k
0.0000 w
1 j
50.0765 413.1913 m
576.1198 413.1913 L
576.1198 426.0100 L
50.0765 426.0100 L
50.0765 413.1913 L
B
U
0 To
1.0000 0.0000 0.0000 1.0000 304.0532 416.7854 0 Tp
TP
/_Helvetica 8.0000 Tf
0.0000 Tc
0 Tr
0.0000 w
0 j
0.000 0.000 0.000 1.000 k
(IDLE2\r) Tx
TO
0.000 0.000 0.000 1.000 K
u
0.000 0.000 0.000 0.000 k
0.0000 w
1 j
50.0765 399.6539 m
576.1198 399.6539 L
576.1198 413.1913 L
50.0765 413.1913 L
50.0765 399.6539 L
B
U
u
0.000 0.000 0.000 0.000 k
457.2779 353.0516 m
576.1198 353.0516 L
576.1198 366.5890 L
457.2779 366.5890 L
457.2779 353.0516 L
B
U
0 To
1.0000 0.0000 0.0000 1.0000 483.7537 357.3644 0 Tp
TP
/_Helvetica 8.0000 Tf
0.0000 Tc
0 Tr
0.0000 w
0 j
0.000 0.000 0.000 1.000 k
(SEND_REQUEST2\r) Tx
TO
0.000 0.000 0.000 1.000 K
u
0.000 0.000 0.000 0.000 k
0.0000 w
1 j
457.2779 308.3661 m
576.1198 308.3661 L
576.1198 353.0516 L
457.2779 353.0516 L
457.2779 308.3661 L
B
U
0 To
1.0000 0.0000 0.0000 1.0000 463.1481 343.8270 0 Tp
TP
/_Helvetica 8.0000 Tf
0.0000 Tc
0 Tr
0.0000 w
0 j
0.000 0.000 0.000 1.000 k
(retransCount = 0\r) Tx
TO
0.000 0.000 0.000 1.000 K
0 To
1.0000 0.0000 0.0000 1.0000 463.1481 334.2429 0 Tp
TP
/_Helvetica 8.0000 Tf
0.0000 Tc
0 Tr
0.000 0.000 0.000 1.000 k
(lastReqData = eapReqData\r) Tx
TO
0.000 0.000 0.000 1.000 K
0 To
1.0000 0.0000 0.0000 1.0000 463.1481 324.6589 0 Tp
TP
/_Helvetica 8.0000 Tf
0.0000 Tc
0 Tr
0.000 0.000 0.000 1.000 k
(eapResp = FALSE\r) Tx
TO
0.000 0.000 0.000 1.000 K
0 To
1.0000 0.0000 0.0000 1.0000 463.1481 315.1947 0 Tp
TP
/_Helvetica 8.0000 Tf
0.0000 Tc
0 Tr
0.000 0.000 0.000 1.000 k
(eapReq = TRUE\r) Tx
TO
0.000 0.000 0.000 1.000 K
u
0.0000 w
1 j
516.6988 366.5890 m
516.6988 380.1265 L
516.6988 380.1265 L
516.6988 391.5075 L
S
U
u
0.000 0.000 0.000 1.000 k
0.0000 w
513.9434 390.7887 m
516.6988 399.0549 L
519.4542 390.7887 L
513.9434 390.7887 L
F
U
u
0.000 0.000 0.000 0.000 k
508.0732 377.0116 m
526.4027 377.0116 L
526.4027 388.3927 L
508.0732 388.3927 L
508.0732 377.0116 L
F
U
0 To
1.0000 0.0000 0.0000 1.0000 509.0316 380.0067 0 Tp
TP
/_Helvetica 8.0000 Tf
0.0000 Tc
0 Tr
0 j
0.000 0.000 0.000 1.000 k
(UCT\r) Tx
TO
0.000 0.000 0.000 1.000 K
u
0.000 0.000 0.000 0.000 k
0.0000 w
1 j
332.6855 353.0516 m
451.6473 353.0516 L
451.6473 366.5890 L
332.6855 366.5890 L
332.6855 353.0516 L
B
U
0 To
1.0000 0.0000 0.0000 1.0000 374.0166 357.3644 0 Tp
TP
/_Helvetica 8.0000 Tf
0.0000 Tc
0 Tr
0.0000 w
0 j
0.000 0.000 0.000 1.000 k
(DISCARD2\r) Tx
TO
0.000 0.000 0.000 1.000 K
u
0.000 0.000 0.000 0.000 k
0.0000 w
1 j
332.6855 326.8153 m
451.6473 326.8153 L
451.6473 353.0516 L
332.6855 353.0516 L
332.6855 326.8153 L
B
U
0 To
1.0000 0.0000 0.0000 1.0000 338.6755 343.8270 0 Tp
TP
/_Helvetica 8.0000 Tf
0.0000 Tc
0 Tr
0.0000 w
0 j
0.000 0.000 0.000 1.000 k
(eapResp = FALSE\r) Tx
TO
0.000 0.000 0.000 1.000 K
0 To
1.0000 0.0000 0.0000 1.0000 338.6755 334.2429 0 Tp
TP
/_Helvetica 8.0000 Tf
0.0000 Tc
0 Tr
0.000 0.000 0.000 1.000 k
(eapNoReq = TRUE\r) Tx
TO
0.000 0.000 0.000 1.000 K
u
0.000 0.000 0.000 0.000 k
0.0000 w
1 j
50.6755 353.0516 m
182.9351 353.0516 L
182.9351 366.5890 L
50.6755 366.5890 L
50.6755 353.0516 L
B
U
0 To
1.0000 0.0000 0.0000 1.0000 90.6889 357.3644 0 Tp
TP
/_Helvetica 8.0000 Tf
0.0000 Tc
0 Tr
0.0000 w
0 j
0.000 0.000 0.000 1.000 k
(RETRANSMIT2\r) Tx
TO
0.000 0.000 0.000 1.000 K
u
0.000 0.000 0.000 0.000 k
0.0000 w
1 j
50.6755 299.8602 m
182.9351 299.8602 L
182.9351 353.0516 L
50.6755 353.0516 L
50.6755 299.8602 L
B
U
0 To
1.0000 0.0000 0.0000 1.0000 56.6656 343.8270 0 Tp
TP
/_Helvetica 8.0000 Tf
0.0000 Tc
0 Tr
0.0000 w
0 j
0.000 0.000 0.000 1.000 k
(retransCount++\r) Tx
TO
0.000 0.000 0.000 1.000 K
0 To
1.0000 0.0000 0.0000 1.0000 56.6656 334.2429 0 Tp
TP
/_Helvetica 8.0000 Tf
0.0000 Tc
0 Tr
0.000 0.000 0.000 1.000 k
(if \(retransCount <= MaxRetrans\) {\r) Tx
TO
0.000 0.000 0.000 1.000 K
0 To
1.0000 0.0000 0.0000 1.0000 56.6656 324.6589 0 Tp
TP
/_Helvetica 8.0000 Tf
0.0000 Tc
0 Tr
0.000 0.000 0.000 1.000 k
( eapReqData = lastReqData\r) Tx
TO
0.000 0.000 0.000 1.000 K
0 To
1.0000 0.0000 0.0000 1.0000 56.6656 315.1947 0 Tp
TP
/_Helvetica 8.0000 Tf
0.0000 Tc
0 Tr
0.000 0.000 0.000 1.000 k
( eapReq = TRUE\r) Tx
TO
0.000 0.000 0.000 1.000 K
0 To
1.0000 0.0000 0.0000 1.0000 56.6656 305.6106 0 Tp
TP
/_Helvetica 8.0000 Tf
0.0000 Tc
0 Tr
0.000 0.000 0.000 1.000 k
(}\r) Tx
TO
0.000 0.000 0.000 1.000 K
u
0.0000 w
1 j
50.6755 333.1647 m
33.7837 333.1647 L
33.7837 412.8319 L
42.5291 412.8319 L
S
U
u
0.000 0.000 0.000 1.000 k
0.0000 w
41.8103 415.5874 m
50.0765 412.8319 L
41.8103 410.0765 L
41.8103 415.5874 L
F
U
u
0.000 0.000 0.000 0.000 k
24.4393 367.4276 m
43.0083 367.4276 L
43.0083 378.8087 L
24.4393 378.8087 L
24.4393 367.4276 L
F
U
0 To
1.0000 0.0000 0.0000 1.0000 25.5175 370.4226 0 Tp
TP
/_Helvetica 8.0000 Tf
0.0000 Tc
0 Tr
0 j
0.000 0.000 0.000 1.000 k
(else\r) Tx
TO
0.000 0.000 0.000 1.000 K
u
0.0000 w
1 j
258.6489 399.6539 m
258.6489 386.2363 L
258.6489 386.2363 L
258.6489 374.1364 L
S
U
u
0.000 0.000 0.000 1.000 k
0.0000 w
261.4043 374.8552 m
258.6489 366.5890 L
255.8935 374.8552 L
261.4043 374.8552 L
F
U
u
0.000 0.000 0.000 0.000 k
241.9967 377.9700 m
275.7804 377.9700 L
275.7804 389.3511 L
241.9967 389.3511 L
241.9967 377.9700 L
F
U
0 To
1.0000 0.0000 0.0000 1.0000 242.9551 380.9651 0 Tp
TP
/_Helvetica 8.0000 Tf
0.0000 Tc
0 Tr
0 j
0.000 0.000 0.000 1.000 k
(eapResp\r) Tx
TO
0.000 0.000 0.000 1.000 K
u
0.0000 w
1 j
304.6522 326.5757 m
304.6522 298.1830 L
356.1664 298.1830 L
356.1664 319.3877 L
S
U
u
0.000 0.000 0.000 1.000 k
0.0000 w
353.4110 318.6689 m
356.1664 326.8153 L
358.9218 318.6689 L
353.4110 318.6689 L
F
U
u
0.000 0.000 0.000 0.000 k
321.1847 292.7920 m
339.8735 292.7920 L
339.8735 304.1730 L
321.1847 304.1730 L
321.1847 292.7920 L
F
U
0 To
1.0000 0.0000 0.0000 1.0000 322.1431 295.7870 0 Tp
TP
/_Helvetica 8.0000 Tf
0.0000 Tc
0 Tr
0 j
0.000 0.000 0.000 1.000 k
(else\r) Tx
TO
0.000 0.000 0.000 1.000 K
u
0.0000 w
1 j
116.3261 398.4559 m
116.3261 386.2363 L
116.8053 386.2363 L
116.8053 374.1364 L
S
U
u
0.000 0.000 0.000 1.000 k
0.0000 w
119.5607 374.8552 m
116.8053 366.5890 L
114.0499 374.8552 L
119.5607 374.8552 L
F
U
u
0.000 0.000 0.000 0.000 k
86.3760 377.4908 m
147.3544 377.4908 L
147.3544 388.8719 L
86.3760 388.8719 L
86.3760 377.4908 L
F
U
0 To
1.0000 0.0000 0.0000 1.0000 87.4542 380.4859 0 Tp
TP
/_Helvetica 8.0000 Tf
0.0000 Tc
0 Tr
0 j
0.000 0.000 0.000 1.000 k
(retransWhile==0\r) Tx
TO
0.000 0.000 0.000 1.000 K
u
0.000 0.000 0.000 0.000 k
1 j
69.6040 273.7438 m
169.7571 273.7438 L
169.7571 285.1248 L
69.6040 285.1248 L
69.6040 273.7438 L
F
U
0 To
1.0000 0.0000 0.0000 1.0000 70.5624 276.7388 0 Tp
TP
/_Helvetica 8.0000 Tf
0.0000 Tc
0 Tr
0 j
0.000 0.000 0.000 1.000 k
(retransCount > MaxRetrans\r) Tx
TO
0.000 0.000 0.000 1.000 K
0 To
1.0000 0.0000 0.0000 1.0000 56.3062 403.9667 0 Tp
TP
/_Helvetica 8.0000 Tf
0.0000 Tc
0 Tr
0.000 0.000 0.000 1.000 k
(retransWhile = calculateTimeout\(retransCount, eapSRTT, eapRTTVAR, methodTimeout\)\r) Tx
TO
0.000 0.000 0.000 1.000 K
u
0.000 0.000 0.000 0.000 k
0.0000 w
1 j
289.0782 144.1198 m
576.1198 144.1198 L
576.1198 157.6572 L
289.0782 157.6572 L
289.0782 144.1198 L
B
U
0 To
1.0000 0.0000 0.0000 1.0000 415.3478 148.4326 0 Tp
TP
/_Helvetica 8.0000 Tf
0.0000 Tc
0 Tr
0.0000 w
0 j
0.000 0.000 0.000 1.000 k
(AAA_IDLE\r) Tx
TO
0.000 0.000 0.000 1.000 K
u
0.000 0.000 0.000 0.000 k
0.0000 w
1 j
289.0782 89.2512 m
576.1198 89.2512 L
576.1198 144.1198 L
289.0782 144.1198 L
289.0782 89.2512 L
B
U
0 To
1.0000 0.0000 0.0000 1.0000 295.0682 134.8952 0 Tp
TP
/_Helvetica 8.0000 Tf
0.0000 Tc
0 Tr
0.0000 w
0 j
0.000 0.000 0.000 1.000 k
(aaaFail = FALSE\r) Tx
TO
0.000 0.000 0.000 1.000 K
0 To
1.0000 0.0000 0.0000 1.0000 295.0682 125.3111 0 Tp
TP
/_Helvetica 8.0000 Tf
0.0000 Tc
0 Tr
0.000 0.000 0.000 1.000 k
(aaaSuccess = FALSE\r) Tx
TO
0.000 0.000 0.000 1.000 K
0 To
1.0000 0.0000 0.0000 1.0000 295.0682 115.7271 0 Tp
TP
/_Helvetica 8.0000 Tf
0.0000 Tc
0 Tr
0.000 0.000 0.000 1.000 k
(aaaEapReq = FALSE\r) Tx
TO
0.000 0.000 0.000 1.000 K
0 To
1.0000 0.0000 0.0000 1.0000 295.0682 106.2629 0 Tp
TP
/_Helvetica 8.0000 Tf
0.0000 Tc
0 Tr
0.000 0.000 0.000 1.000 k
(aaaEapNoReq = FALSE\r) Tx
TO
0.000 0.000 0.000 1.000 K
0 To
1.0000 0.0000 0.0000 1.0000 295.0682 96.6789 0 Tp
TP
/_Helvetica 8.0000 Tf
0.0000 Tc
0 Tr
0.000 0.000 0.000 1.000 k
(aaaEapResp = TRUE\r) Tx
TO
0.000 0.000 0.000 1.000 K
u
0.0000 w
1 j
498.1298 157.6572 m
498.1298 171.1947 L
498.1298 171.1947 L
498.1298 198.6290 L
S
U
u
0.000 0.000 0.000 1.000 k
0.0000 w
495.3744 197.9101 m
498.1298 206.1764 L
500.8852 197.9101 L
495.3744 197.9101 L
F
U
u
0.000 0.000 0.000 0.000 k
476.2063 176.3461 m
520.4126 176.3461 L
520.4126 187.6073 L
476.2063 187.6073 L
476.2063 176.3461 L
F
U
0 To
1.0000 0.0000 0.0000 1.0000 477.2845 179.2213 0 Tp
TP
/_Helvetica 8.0000 Tf
0.0000 Tc
0 Tr
0 j
0.000 0.000 0.000 1.000 k
(aaaEapReq\r) Tx
TO
0.000 0.000 0.000 1.000 K
u
0.0000 w
1 j
289.0782 99.1947 m
151.0682 99.1947 L
151.0682 37.1381 L
S
U
u
0.000 0.000 0.000 1.000 k
0.0000 w
153.8236 37.8569 m
151.0682 29.7105 L
148.3128 37.8569 L
153.8236 37.8569 L
F
U
u
0.000 0.000 0.000 0.000 k
163.1681 93.8037 m
207.3744 93.8037 L
207.3744 105.1847 L
163.1681 105.1847 L
163.1681 93.8037 L
F
U
0 To
1.0000 0.0000 0.0000 1.0000 164.1265 96.7987 0 Tp
TP
/_Helvetica 8.0000 Tf
0.0000 Tc
0 Tr
0 j
0.000 0.000 0.000 1.000 k
(aaaTimeout\r) Tx
TO
0.000 0.000 0.000 1.000 K
u
0.0000 w
1 j
258.6489 206.1764 m
258.6489 179.8203 L
350.6556 179.8203 L
350.6556 164.4859 L
S
U
u
0.000 0.000 0.000 1.000 k
0.0000 w
353.4110 165.2047 m
350.6556 156.9384 L
347.9002 165.2047 L
353.4110 165.2047 L
F
U
u
0.000 0.000 0.000 0.000 k
293.7504 174.5491 m
312.1997 174.5491 L
312.1997 185.8103 L
293.7504 185.8103 L
293.7504 174.5491 L
F
U
0 To
1.0000 0.0000 0.0000 1.0000 294.8286 177.4243 0 Tp
TP
/_Helvetica 8.0000 Tf
0.0000 Tc
0 Tr
0 j
0.000 0.000 0.000 1.000 k
(UCT\r) Tx
TO
0.000 0.000 0.000 1.000 K
u
0.000 0.000 0.000 0.000 k
0.0000 w
1 j
422.4160 241.3977 m
576.1198 241.3977 L
576.1198 254.9351 L
422.4160 254.9351 L
422.4160 241.3977 L
B
U
0 To
1.0000 0.0000 0.0000 1.0000 468.6589 245.8303 0 Tp
TP
/_Helvetica 8.0000 Tf
0.0000 Tc
0 Tr
0.0000 w
0 j
0.000 0.000 0.000 1.000 k
(AAA_RESPONSE\r) Tx
TO
0.000 0.000 0.000 1.000 K
u
0.000 0.000 0.000 0.000 k
0.0000 w
1 j
422.4160 206.1764 m
576.1198 206.1764 L
576.1198 241.3977 L
422.4160 241.3977 L
422.4160 206.1764 L
B
U
0 To
1.0000 0.0000 0.0000 1.0000 428.4060 232.2928 0 Tp
TP
/_Helvetica 8.0000 Tf
0.0000 Tc
0 Tr
0.0000 w
0 j
0.000 0.000 0.000 1.000 k
(eapReqData = aaaEapReqData\r) Tx
TO
0.000 0.000 0.000 1.000 K
0 To
1.0000 0.0000 0.0000 1.0000 428.4060 222.7088 0 Tp
TP
/_Helvetica 8.0000 Tf
0.0000 Tc
0 Tr
0.000 0.000 0.000 1.000 k
(currentId = getId\(eapReqData\)\r) Tx
TO
0.000 0.000 0.000 1.000 K
0 To
1.0000 0.0000 0.0000 1.0000 428.4060 213.1248 0 Tp
TP
/_Helvetica 8.0000 Tf
0.0000 Tc
0 Tr
0.000 0.000 0.000 1.000 k
(methodTimeout = aaaMethodTimeout\r) Tx
TO
0.000 0.000 0.000 1.000 K
u
0.000 0.000 0.000 0.000 k
0.0000 w
1 j
415.3478 43.6073 m
575.7604 43.6073 L
575.7604 57.0250 L
415.3478 57.0250 L
415.3478 43.6073 L
B
U
0 To
1.0000 0.0000 0.0000 1.0000 475.9667 47.9201 0 Tp
TP
/_Helvetica 8.0000 Tf
0.0000 Tc
0 Tr
0.0000 w
0 j
0.000 0.000 0.000 1.000 k
(SUCCESS2\r) Tx
TO
0.000 0.000 0.000 1.000 K
u
0.000 0.000 0.000 0.000 k
0.0000 w
1 j
415.3478 1.4376 m
575.7604 1.4376 L
575.7604 43.6073 L
415.3478 43.6073 L
415.3478 1.4376 L
B
U
0 To
1.0000 0.0000 0.0000 1.0000 421.3378 34.5025 0 Tp
TP
/_Helvetica 8.0000 Tf
0.0000 Tc
0 Tr
0.0000 w
0 j
0.000 0.000 0.000 1.000 k
(eapReqData = aaaEapReqData\r) Tx
TO
0.000 0.000 0.000 1.000 K
0 To
1.0000 0.0000 0.0000 1.0000 421.3378 24.9185 0 Tp
TP
/_Helvetica 8.0000 Tf
0.0000 Tc
0 Tr
0.000 0.000 0.000 1.000 k
(eapKeyData = aaaEapKeyData\r) Tx
TO
0.000 0.000 0.000 1.000 K
0 To
1.0000 0.0000 0.0000 1.0000 421.3378 15.3344 0 Tp
TP
/_Helvetica 8.0000 Tf
0.0000 Tc
0 Tr
0.000 0.000 0.000 1.000 k
(eapKeyAvalable = aaaEapKeyAvailable\r) Tx
TO
0.000 0.000 0.000 1.000 K
0 To
1.0000 0.0000 0.0000 1.0000 421.3378 5.7504 0 Tp
TP
/_Helvetica 8.0000 Tf
0.0000 Tc
0 Tr
0.000 0.000 0.000 1.000 k
(eapSuccess = TRUE\r) Tx
TO
0.000 0.000 0.000 1.000 K
u
0.000 0.000 0.000 0.000 k
0.0000 w
1 j
246.4293 43.4875 m
406.7221 43.4875 L
406.7221 57.0250 L
246.4293 57.0250 L
246.4293 43.4875 L
B
U
0 To
1.0000 0.0000 0.0000 1.0000 309.4443 47.9201 0 Tp
TP
/_Helvetica 8.0000 Tf
0.0000 Tc
0 Tr
0.0000 w
0 j
0.000 0.000 0.000 1.000 k
(FAILURE2\r) Tx
TO
0.000 0.000 0.000 1.000 K
u
0.000 0.000 0.000 0.000 k
0.0000 w
1 j
246.4293 1.4376 m
406.7221 1.4376 L
406.7221 43.4875 L
246.4293 43.4875 L
246.4293 1.4376 L
B
U
0 To
1.0000 0.0000 0.0000 1.0000 252.2995 34.3827 0 Tp
TP
/_Helvetica 8.0000 Tf
0.0000 Tc
0 Tr
0.0000 w
0 j
0.000 0.000 0.000 1.000 k
(eapReqData = aaaEapReqData\r) Tx
TO
0.000 0.000 0.000 1.000 K
0 To
1.0000 0.0000 0.0000 1.0000 252.2995 24.7987 0 Tp
TP
/_Helvetica 8.0000 Tf
0.0000 Tc
0 Tr
0.000 0.000 0.000 1.000 k
(eapFail = TRUE\r) Tx
TO
0.000 0.000 0.000 1.000 K
u
0.000 0.000 0.000 0.000 k
0.0000 w
1 j
50.0765 15.9334 m
182.4559 15.9334 L
182.4559 29.4709 L
50.0765 29.4709 L
50.0765 15.9334 L
B
U
0 To
1.0000 0.0000 0.0000 1.0000 78.9484 20.2463 0 Tp
TP
/_Helvetica 8.0000 Tf
0.0000 Tc
0 Tr
0.0000 w
0 j
0.000 0.000 0.000 1.000 k
(TIMEOUT_FAILURE2\r) Tx
TO
0.000 0.000 0.000 1.000 K
u
0.000 0.000 0.000 0.000 k
0.0000 w
1 j
50.0765 1.4376 m
182.4559 1.4376 L
182.4559 15.9334 L
50.0765 15.9334 L
50.0765 1.4376 L
B
U
0 To
1.0000 0.0000 0.0000 1.0000 56.0666 6.7088 0 Tp
TP
/_Helvetica 8.0000 Tf
0.0000 Tc
0 Tr
0.0000 w
0 j
0.000 0.000 0.000 1.000 k
(eapTimeout = TRUE\r) Tx
TO
0.000 0.000 0.000 1.000 K
u
0.0000 w
1 j
392.1065 157.4176 m
391.9867 319.3877 L
S
U
u
0.000 0.000 0.000 1.000 k
0.0000 w
389.3511 318.9085 m
391.9867 327.0549 L
394.7421 318.9085 L
389.3511 318.9085 L
F
U
u
0.0000 w
258.6489 326.5757 m
258.6489 313.1581 L
258.6489 313.1581 L
258.6489 262.6023 L
S
U
u
0.000 0.000 0.000 1.000 k
0.0000 w
261.4043 263.2013 m
258.6489 254.9351 L
255.8935 263.2013 L
261.4043 263.2013 L
F
U
u
0.000 0.000 0.000 0.000 k
223.1880 271.7072 m
298.0632 271.7072 L
298.0632 292.7920 L
223.1880 292.7920 L
223.1880 271.7072 L
F
U
0 To
1.0000 0.0000 0.0000 1.0000 241.5175 284.2862 0 Tp
TP
/_Helvetica 8.0000 Tf
0.0000 Tc
0 Tr
0 j
0.000 0.000 0.000 1.000 k
(rxResp &&\r) Tx
TO
0.000 0.000 0.000 1.000 K
0 To
1.0000 0.0000 0.0000 1.0000 224.1464 274.7022 0 Tp
TP
/_Helvetica 8.0000 Tf
0.0000 Tc
0 Tr
0.000 0.000 0.000 1.000 k
(\(respId == currentId\)\r) Tx
TO
0.000 0.000 0.000 1.000 K
u
0.000 0.000 0.000 0.000 k
1 j
364.7920 171.4343 m
419.0616 171.4343 L
419.0616 182.6955 L
364.7920 182.6955 L
364.7920 171.4343 L
F
U
0 To
1.0000 0.0000 0.0000 1.0000 365.7504 174.4293 0 Tp
TP
/_Helvetica 8.0000 Tf
0.0000 Tc
0 Tr
0 j
0.000 0.000 0.000 1.000 k
(aaaEapNoReq\r) Tx
TO
0.000 0.000 0.000 1.000 K
u
0.0000 w
1 j
327.0549 89.0116 m
327.0549 75.8336 L
327.1747 75.8336 L
327.1747 64.6922 L
S
U
u
0.000 0.000 0.000 1.000 k
0.0000 w
329.9301 65.2912 m
327.1747 57.0250 L
324.4193 65.2912 L
329.9301 65.2912 L
F
U
u
0.000 0.000 0.000 0.000 k
313.1581 67.6872 m
341.3111 67.6872 L
341.3111 79.0682 L
313.1581 79.0682 L
313.1581 67.6872 L
F
U
0 To
1.0000 0.0000 0.0000 1.0000 314.1165 70.6822 0 Tp
TP
/_Helvetica 8.0000 Tf
0.0000 Tc
0 Tr
0 j
0.000 0.000 0.000 1.000 k
(aaaFail\r) Tx
TO
0.000 0.000 0.000 1.000 K
u
0.0000 w
1 j
495.3744 89.0116 m
495.3744 75.8336 L
495.4942 75.8336 L
495.4942 64.6922 L
S
U
u
0.000 0.000 0.000 1.000 k
0.0000 w
498.2496 65.2912 m
495.4942 57.0250 L
492.7388 65.2912 L
498.2496 65.2912 L
F
U
u
0.000 0.000 0.000 0.000 k
472.6123 67.8070 m
518.4958 67.8070 L
518.4958 79.1880 L
472.6123 79.1880 L
472.6123 67.8070 L
F
U
0 To
1.0000 0.0000 0.0000 1.0000 473.5707 70.8020 0 Tp
TP
/_Helvetica 8.0000 Tf
0.0000 Tc
0 Tr
0 j
0.000 0.000 0.000 1.000 k
(aaaSuccess\r) Tx
TO
0.000 0.000 0.000 1.000 K
u
0.000 0.000 0.000 0.000 k
0.0000 w
1 j
190.2429 241.5175 m
327.0549 241.5175 L
327.0549 254.9351 L
190.2429 254.9351 L
190.2429 241.5175 L
B
U
0 To
1.0000 0.0000 0.0000 1.0000 231.0948 245.9501 0 Tp
TP
/_Helvetica 8.0000 Tf
0.0000 Tc
0 Tr
0.0000 w
0 j
0.000 0.000 0.000 1.000 k
(AAA_REQUEST\r) Tx
TO
0.000 0.000 0.000 1.000 K
u
0.000 0.000 0.000 0.000 k
0.0000 w
1 j
190.2429 206.1764 m
327.0549 206.1764 L
327.0549 241.5175 L
190.2429 241.5175 L
190.2429 206.1764 L
B
U
0 To
1.0000 0.0000 0.0000 1.0000 196.2329 232.2928 0 Tp
TP
/_Helvetica 8.0000 Tf
0.0000 Tc
0 Tr
0.0000 w
0 j
0.000 0.000 0.000 1.000 k
(if \(respMethod==IDENTITY\)\r) Tx
TO
0.000 0.000 0.000 1.000 K
0 To
1.0000 0.0000 0.0000 1.0000 196.2329 222.7088 0 Tp
TP
/_Helvetica 8.0000 Tf
0.0000 Tc
0 Tr
0.000 0.000 0.000 1.000 k
( aaaIdentity = eapRespData\r) Tx
TO
0.000 0.000 0.000 1.000 K
0 To
1.0000 0.0000 0.0000 1.0000 196.2329 213.1248 0 Tp
TP
/_Helvetica 8.0000 Tf
0.0000 Tc
0 Tr
0.000 0.000 0.000 1.000 k
(aaaEapRespData = eapRespData\r) Tx
TO
0.000 0.000 0.000 1.000 K
u
0.0000 w
1 j
288.7188 462.1897 m
288.7188 442.3028 L
598.5225 442.3028 L
598.5225 132.6190 L
583.6672 132.6190 L
S
U
u
0.000 0.000 0.000 1.000 k
0.0000 w
584.3860 129.8636 m
576.1198 132.6190 L
584.3860 135.3744 L
584.3860 129.8636 L
F
U
u
0.0000 w
232.4126 462.4293 m
232.4126 441.7038 L
21.0849 441.7038 L
21.0849 230.6156 L
182.6955 230.6156 L
S
U
u
0.000 0.000 0.000 1.000 k
0.0000 w
181.9767 233.3710 m
190.2429 230.6156 L
181.9767 227.8602 L
181.9767 233.3710 L
F
U
u
0.000 0.000 0.000 0.000 k
179.7005 446.8552 m
248.3461 446.8552 L
248.3461 458.2363 L
179.7005 458.2363 L
179.7005 446.8552 L
F
U
0 To
1.0000 0.0000 0.0000 1.0000 180.7787 449.8502 0 Tp
TP
/_Helvetica 8.0000 Tf
0.0000 Tc
0 Tr
0 j
0.000 0.000 0.000 1.000 k
(currentId != NONE\r) Tx
TO
0.000 0.000 0.000 1.000 K
0 To
1.0000 0.0000 0.0000 1.0000 26.5957 474.0499 0 Tp
TP
/_Helvetica 8.0000 Tf
0.0000 Tc
0 Tr
0.000 0.000 0.000 1.000 k
(decision==PASSTHROUGH\r) Tx
TO
0.000 0.000 0.000 1.000 K
u
0.0000 w
1 j
116.8053 36.8985 m
116.8053 189.4043 L
S
U
u
0.000 0.000 0.000 1.000 k
0.0000 w
119.5607 37.6173 m
116.8053 29.4709 L
114.0499 37.6173 L
119.5607 37.6173 L
F
U
u
0.000 0.000 0.000 0.000 k
266.5557 446.4958 m
337.1181 446.4958 L
337.1181 457.8769 L
266.5557 457.8769 L
266.5557 446.4958 L
F
U
0 To
1.0000 0.0000 0.0000 1.0000 267.6339 449.4908 0 Tp
TP
/_Helvetica 8.0000 Tf
0.0000 Tc
0 Tr
0 j
0.000 0.000 0.000 1.000 k
(currentId == NONE\r) Tx
TO
0.000 0.000 0.000 1.000 K
u
0.5000 w
1 j
132.7388 476.6855 m
144.2396 476.6855 L
S
U
u
150.7088 476.6855 m
162.2097 476.6855 L
S
U
u
168.6789 476.6855 m
180.0599 476.6855 L
S
U
u
0.000 0.000 0.000 1.000 k
0.0000 w
180.5391 479.9201 m
190.2429 476.6855 L
180.5391 473.4509 L
180.5391 479.9201 L
F
U
u
0.000 0.000 0.000 0.000 k
0.0000 w
190.2429 353.0516 m
327.0549 353.0516 L
327.0549 366.5890 L
190.2429 366.5890 L
190.2429 353.0516 L
B
U
0 To
1.0000 0.0000 0.0000 1.0000 238.0433 357.3644 0 Tp
TP
/_Helvetica 8.0000 Tf
0.0000 Tc
0 Tr
0.0000 w
0 j
0.000 0.000 0.000 1.000 k
(RECEIVED2\r) Tx
TO
0.000 0.000 0.000 1.000 K
u
0.000 0.000 0.000 0.000 k
0.0000 w
1 j
190.2429 326.5757 m
327.0549 326.5757 L
327.0549 353.0516 L
190.2429 353.0516 L
190.2429 326.5757 L
B
U
0 To
1.0000 0.0000 0.0000 1.0000 196.2329 343.8270 0 Tp
TP
/_Helvetica 8.0000 Tf
0.0000 Tc
0 Tr
0.0000 w
0 j
0.000 0.000 0.000 1.000 k
(\(rxResp,respId,respMethod\)=\r) Tx
TO
0.000 0.000 0.000 1.000 K
0 To
1.0000 0.0000 0.0000 1.0000 196.2329 334.2429 0 Tp
TP
/_Helvetica 8.0000 Tf
0.0000 Tc
0 Tr
0.000 0.000 0.000 1.000 k
( parseEapResp\(eapRespData\)\r) Tx
TO
0.000 0.000 0.000 1.000 K
u
0.000 0.000 0.000 0.000 k
0.0000 w
1 j
190.2429 477.5241 m
327.0549 477.5241 L
327.0549 491.0616 L
190.2429 491.0616 L
190.2429 477.5241 L
B
U
0 To
1.0000 0.0000 0.0000 1.0000 207.6140 481.8369 0 Tp
TP
/_Helvetica 8.0000 Tf
0.0000 Tc
0 Tr
0.0000 w
0 j
0.000 0.000 0.000 1.000 k
(INITIALIZE_PASSTHROUGH\r) Tx
TO
0.000 0.000 0.000 1.000 K
u
0.000 0.000 0.000 0.000 k
0.0000 w
1 j
190.2429 462.1897 m
327.0549 462.1897 L
327.0549 477.5241 L
190.2429 477.5241 L
190.2429 462.1897 L
B
U
0 To
1.0000 0.0000 0.0000 1.0000 196.2329 468.2995 0 Tp
TP
/_Helvetica 8.0000 Tf
0.0000 Tc
0 Tr
0.0000 w
0 j
0.000 0.000 0.000 1.000 k
(aaaEapRespData = NONE\r) Tx
TO
0.000 0.000 0.000 1.000 K
%%PageTrailer
gsave annotatepage grestore showpage
%%Trailer
Adobe_Illustrator_AI5 /terminate get exec
Adobe_pattern_AI5 /terminate get exec
Adobe_blend_AI5 /terminate get exec
Adobe_ColorImage_AI6 /terminate get exec
Adobe_typography_AI5 /terminate get exec
Adobe_screens_AI5 /terminate get exec
Adobe_level2_AI5 /terminate get exec
%%EOF
%%EndDocument
@endspecial 857 3338 a(Figure)h(7:)25 b(EAP)c(Full)f(Authenticator)f
(State)h(Machine)g(\(P)o(art)g(2\))125 3668 y Fb(\017)41
b Fg(aaaEapK)n(e)o(yData)18 b(\(EAP)i(K)n(e)o(y\))208
3796 y(Set)h(in)g(lo)n(wer)g(layer)f(when)h(k)o(e)o(ying)e(material)i
(becomes)f(a)n(v)n(ailable)g(from)g(the)h(AAA)h(serv)o(er)-5
b(.)26 b(Note)21 b(that)g(this)h(docu-)208 3896 y(ment)17
b(does)h(not)g(yet)g(de\002ne)f(the)h(structure)g(of)f(the)h(type)g
(\224EAP)g(K)n(e)o(y\224.)24 b(W)-7 b(e)19 b(e)o(xpect)e(it)i(to)f(be)g
(de\002ned)f(in)h([I-D.aboba-)208 3996 y(pppe)o(xt-k)o(e)o(y-problem)o
(].)125 4152 y Fb(\017)41 b Fg(aaaEapK)n(e)o(yA)-6 b(v)n(ailable)17
b(\(boolean\))208 4280 y(Set)k(to)h(TR)m(UE)f(in)h(the)f(lo)n(wer)g
(layer)g(if)g(k)o(e)o(ying)f(material)h(is)h(a)n(v)n(ailable.)28
b(The)21 b(actual)g(k)o(e)o(y)f(is)j(stored)d(in)i(aaaEapK)n(e)o(y-)208
4380 y(Data.)125 4536 y Fb(\017)41 b Fg(aaaMethodT)m(imeout)17
b(\(inte)o(ger\))208 4664 y(Method-pro)o(vided)e(hint)20
b(for)g(suitable)g(retransmission)f(timeout,)g(or)h(NONE.)0
4980 y Fd(7.1.2)81 b(V)-8 b(ariables)20 b(\(full)h(authenticator)d(to)i
(AAA)h(interface\))125 5180 y Fb(\017)41 b Fg(aaaEapResp)19
b(\(boolean\))208 5308 y(Set)k(to)h(TR)m(UE)f(in)g(authenticator)f
(state)i(machine,)e(F)-6 b(ALSE)24 b(in)f(the)g(lo)n(wer)g(layer)-5
b(.)34 b(Indicates)23 b(an)g(EAP)g(response)g(is)208
5407 y(a)n(v)n(ailable)c(for)h(processing)f(by)g(the)i(AAA)f(serv)o(er)
-5 b(.)0 5656 y(V)-11 b(ollbrecht,)19 b(et)i(al.)965
b(Expires)19 b(March)h(18,)f(2004)964 b([P)o(age)19 b(26])p
eop
%%Page: 27 27
27 26 bop 0 100 a Fg(INTERNET)-8 b(-DRAFT)862 b(EAP)21
b(State)f(Machine)841 b(September)19 b(2003)125 390 y
Fb(\017)41 b Fg(aaaEapRespData)19 b(\(EAP)h(pack)o(et\))208
523 y(Set)g(in)h(authenticator)d(state)j(machine)e(when)h(eapResp)g(is)
h(set)g(to)f(TR)m(UE.)g(The)g(EAP)g(pack)o(et)g(to)g(be)g(processed.)
125 689 y Fb(\017)41 b Fg(aaaIdentity)18 b(\(EAP)i(pack)o(et\))208
822 y(Set)f(in)h(authenticator)d(state)i(machine)f(when)h(an)g
(IDENTITY)f(response)g(is)i(recei)n(v)o(ed.)j(Mak)o(es)c(that)g
(identity)g(a)n(v)n(ail-)208 922 y(able)h(to)g(AAA)h(lo)n(wer)e(layer)
-5 b(.)125 1088 y Fb(\017)41 b Fg(aaaT)m(imeout)18 b(\(boolean\))208
1220 y(Set)h(in)g(AAA)p 602 1220 25 4 v 30 w(IDLE)f(if)h(after)f(a)i
(con\002gurable)c(amount)h(of)i(time)g(there)f(is)i(no)e(response)g
(from)g(the)g(AAA)h(layer)-5 b(.)25 b(The)208 1320 y(AAA)g(layer)g(in)h
(the)g(N)m(AS)g(is)g(itself)g(ali)n(v)o(e)g(and)e(OK,)i(b)n(ut)g(for)f
(some)g(reason)g(it)h(hasn')o(t)e(recei)n(v)o(ed)g(a)i(v)n(alid)f
(Access-)208 1420 y(Accept/Reject)20 b(indication)e(from)i(the)g(back)o
(end)0 1740 y Fd(7.1.3)81 b(Constants)0 1996 y Fg(Same)20
b(as)h(Section)f(5.)0 2333 y Ff(7.2)99 b(Interface)26
b(between)h(full)e(authenticator)h(state)f(machine)h(and)f(methods)0
2588 y Fg(Same)20 b(as)h(standalone)e(authenticator)f(\()j(Section)e
(5.2\))0 2925 y Ff(7.3)99 b(Full)25 b(authenticator)h(state)f(machine)h
(local)e(v)o(ariables)0 3181 y Fg(Man)o(y)d(of)g(the)h(v)n(ariables)e
(of)i(the)f(full)h(authenticator)e(ha)n(v)o(e)h(already)f(been)h
(de\002ned)g(in)h(Section)f(5.)29 b(This)22 b(section)f(contains)0
3280 y(de\002nitions)e(for)h(those)g(not)g(e)o(xistent)g(in)g(the)g
(standalone)f(v)o(ersion,)g(as)i(well)f(as)h(those)f(which)g(are)g
(de\002ned)f(dif)n(ferently)-5 b(.)0 3601 y Fd(7.3.1)81
b(Short-term)19 b(\(not)h(maintained)g(between)g(pack)o(ets\))125
3800 y Fb(\017)41 b Fg(decision)19 b(\(enumeration\))208
3933 y(Set)i(in)f(SELECT)p 730 3933 V 30 w(A)m(CTION)g(state.)26
b(T)-6 b(emporarily)19 b(store)h(the)h(polic)o(y)e(decision)h(to)g
(succeed,)g(f)o(ail,)h(continue)d(with)j(a)208 4033 y(local)f(method,)e
(or)i(continue)f(in)h(passthrough)e(mode.)0 4370 y Ff(7.4)99
b(EAP)25 b(full)g(authenticator)i(pr)n(ocedur)n(es)0
4625 y Fg(All)22 b(of)g(the)f(procedures)f(de\002ned)h(in)g(Section)h
(5)f(e)o(xist)h(in)g(the)g(full)f(v)o(ersion.)29 b(In)21
b(addition,)f(the)i(follo)n(wing)e(procedures)g(are)0
4725 y(de\002ned.)125 5007 y Fb(\017)41 b Fg(getId\(\))208
5140 y(Determine)19 b(the)h(identi\002er)f(v)n(alue)h(chosen)f(by)h
(the)g(AAA)h(serv)o(er)e(for)h(the)g(current)f(EAP)h(request.)0
5656 y(V)-11 b(ollbrecht,)19 b(et)i(al.)965 b(Expires)19
b(March)h(18,)f(2004)964 b([P)o(age)19 b(27])p eop
%%Page: 28 28
28 27 bop 0 100 a Fg(INTERNET)-8 b(-DRAFT)862 b(EAP)21
b(State)f(Machine)841 b(September)19 b(2003)0 390 y Ff(7.5)99
b(EAP)25 b(full)g(authenticator)i(states)0 645 y Fg(All)21
b(of)f(the)g(states)h(de\002ned)e(in)i(Section)f(5)g(e)o(xist)g(in)g
(the)h(full)f(v)o(ersion.)j(In)d(addition,)f(the)h(follo)n(wing)f
(states)i(are)f(de\002ned.)125 928 y Fb(\017)41 b Fg(INITIALIZE)p
649 928 25 4 v 27 w(P)-8 b(ASSTHR)m(OUGH)208 1061 y(Initializes)20
b(v)n(ariables)f(when)h(the)g(passthrough)e(portion)h(of)g(the)i(state)
g(machine)e(is)i(acti)n(v)n(ated.)125 1227 y Fb(\017)41
b Fg(IDLE2)208 1359 y(The)17 b(state)h(machine)e(w)o(aits)j(for)e(a)h
(response)f(from)f(the)i(primary)e(lo)n(wer)h(layer)m(,)g(which)g
(transports)f(EAP)i(traf)n(\002c)g(from)208 1459 y(the)i(peer)-5
b(.)125 1625 y Fb(\017)41 b Fg(IDLE)208 1758 y(The)19
b(state)i(machine)e(spends)h(most)g(of)g(its)h(time)g(here,)e(w)o
(aiting)h(for)g(something)e(to)j(happen.)125 1924 y Fb(\017)41
b Fg(RECEIVED2)208 2057 y(This)30 b(state)h(is)g(entered)e(when)g(an)i
(EAP)f(pack)o(et)g(is)h(recei)n(v)o(ed)d(and)i(the)g(authenticator)e
(is)j(in)g(P)-8 b(ASSTHR)m(OUGH)208 2156 y(mode:)24 b(the)c(pack)o(et)g
(header)f(is)i(parsed)e(here.)125 2323 y Fb(\017)41 b
Fg(AAA)p 393 2323 V 29 w(REQ)o(UEST)208 2455 y(The)19
b(incoming)g(EAP)h(pack)o(et)g(is)h(parsed)f(for)f(sending)g(to)i(the)f
(AAA)g(serv)o(er)-5 b(.)125 2621 y Fb(\017)41 b Fg(AAA)p
393 2621 V 29 w(IDLE)208 2754 y(Idle)24 b(state)i(which)e(tells)i(the)f
(AAA)g(layer)f(it)i(has)f(a)g(response)f(and)g(then)g(w)o(aits)i(for)e
(a)i(ne)n(w)e(request,)h(a)h(no-request)208 2854 y(signal,)19
b(or)h(success/f)o(ailure.)125 3020 y Fb(\017)41 b Fg(AAA)p
393 3020 V 29 w(RESPONSE)208 3153 y(State)20 b(in)h(which)e(the)i
(request)e(from)g(the)h(AAA)h(interf)o(ace)e(is)i(processed)f(into)g
(an)g(EAP)g(request.)125 3319 y Fb(\017)41 b Fg(SEND)p
430 3319 V 29 w(REQ)o(UEST2)208 3452 y(This)20 b(state)h(signals)f(the)
g(lo)n(wer)g(layer)g(that)g(a)h(request)e(pack)o(et)h(is)h(ready)e(to)i
(be)f(sent.)125 3618 y Fb(\017)41 b Fg(DISCARD2)208 3751
y(This)24 b(state)h(signals)f(the)g(lo)n(wer)g(layer)g(that)g(the)g
(response)g(w)o(as)h(discarded,)e(and)h(no)g(ne)n(w)g(request)f(pack)o
(et)h(will)h(be)208 3850 y(sent)20 b(at)h(this)f(time.)125
4016 y Fb(\017)41 b Fg(RETRANSMIT2)208 4149 y(Retransmits)20
b(the)g(pre)n(vious)f(request)g(pack)o(et.)125 4315 y
Fb(\017)41 b Fg(SUCCESS2)208 4448 y(A)20 b(\002nal)h(state)g
(indicating)d(success.)125 4614 y Fb(\017)41 b Fg(F)-6
b(AILURE2)208 4747 y(A)20 b(\002nal)h(state)g(indicating)d(f)o(ailure.)
125 4913 y Fb(\017)41 b Fg(TIMEOUT)p 588 4913 V 28 w(F)-6
b(AILURE2)208 5046 y(A)20 b(\002nal)h(state)g(indicating)d(f)o(ailure)i
(with)g(no)g(EAP)h(F)o(ailure)e(pack)o(et)h(sent.)0 5656
y(V)-11 b(ollbrecht,)19 b(et)i(al.)965 b(Expires)19 b(March)h(18,)f
(2004)964 b([P)o(age)19 b(28])p eop
%%Page: 29 29
29 28 bop 0 100 a Fg(INTERNET)-8 b(-DRAFT)862 b(EAP)21
b(State)f(Machine)841 b(September)19 b(2003)0 390 y Fe(8)119
b(Implementation)30 b(Considerations)0 675 y Fg(In)23
b(order)g(to)h(deal)f(with)h(erroneous)e(cases)i(that)g(are)f(not)h
(directly)f(related)g(to)h(the)f(protocol)f(beha)n(vior)m(,)h
(implementations)0 775 y(may)d(need)f(additional)g(considerations)f(to)
j(pro)o(vide)d(rob)n(ustness)i(against)f(errors.)0 974
y(F)o(or)25 b(e)o(xample,)g(an)g(implementation)e(of)i(a)h(state)g
(machine)e(may)h(spend)g(a)g(signi\002cant)g(amount)f(of)h(time)h(in)f
(a)h(particular)0 1074 y(state)e(for)f(performing)e(the)i(procedure)e
(de\002ned)i(for)g(the)g(state)i(without)e(returning)e(a)j(response.)34
b(If)23 b(such)h(an)f(implemen-)0 1174 y(tation)g(is)i(made)e(on)g(a)h
(multithreading)d(system,)j(the)f(procedure)e(may)i(be)h(performed)d
(in)i(a)h(separate)f(thread)g(so)h(that)g(the)0 1273
y(implementation)18 b(can)j(perform)d(appropriate)g(action)i(to)h(deal)
f(with)h(the)f(case)h(without)f(blocking)f(on)h(the)g(state)i(for)d(a)i
(long)0 1373 y(time)c(\(or)f(fore)n(v)o(er)f(if)j(the)f(procedure)d(ne)
n(v)o(er)i(completes)g(due)g(to,)i(e.g.,)f(a)g(non-responding)c(user)k
(or)f(a)i(b)n(ug)e(in)h(an)g(application)0 1472 y(callback)i
(function.\))0 1672 y(The)h(follo)n(wing)e(states)k(are)e(identi\002ed)
f(as)i(the)f(possible)g(places)g(of)g(blocking:)125 1954
y Fb(\017)41 b Fg(IDENTITY)21 b(state)j(in)f(the)g(peer)f(state)h
(machine.)32 b(It)23 b(may)f(tak)o(e)h(some)g(time)g(to)g(process)f
(Identity)g(request)g(when)g(a)208 2054 y(user)f(input)h(is)g(needed)f
(for)g(obtaining)g(an)g(identity)h(from)f(the)g(user)-5
b(.)31 b(The)22 b(user)f(may)h(ne)n(v)o(er)e(input)i(an)f(identity)-5
b(.)30 b(An)208 2153 y(implementation)21 b(may)i(de\002ne)g(an)g
(additional)g(state)h(transition)f(from)f(IDENTITY)g(state)j(to)e(F)-6
b(AILURE)24 b(state)g(so)208 2253 y(that)c(authentication)e(can)i(f)o
(ail)h(if)f(no)g(identity)f(is)i(obtained)e(from)g(the)h(user)h(before)
d(ClientT)m(imeout)i(timer)g(e)o(xpires.)125 2419 y Fb(\017)41
b Fg(METHOD)17 b(state)h(in)g(the)g(peer)f(state)h(machine)e(and)h(in)h
(METHOD)p 2166 2419 25 4 v 29 w(RESPONSE)g(state)h(in)f(the)f
(authenticator)f(state)208 2518 y(machines.)23 b(It)c(may)e(tak)o(e)i
(some)f(time)g(to)g(perform)f(method-speci\002c)f(procedures)g(in)i
(these)h(states.)25 b(An)18 b(implemen-)208 2618 y(tation)h(may)g
(de\002ne)g(an)g(additional)f(state)i(transition)f(from)f(METHOD)i
(state)g(and)f(METHOD)p 2989 2618 V 29 w(RESPONSE)h(state)208
2718 y(to)29 b(F)-6 b(AILURE)28 b(or)h(TIMEOUT)p 1154
2718 V 28 w(F)-6 b(AILURE)29 b(state)h(so)f(that)g(authentication)e
(can)i(f)o(ail)g(if)g(no)f(method)g(processing)208 2817
y(result)20 b(is)h(obtained)e(from)g(the)h(method)f(before)g(methodT)m
(imeout)e(timer)j(e)o(xpires.)0 3197 y Fe(9)119 b(Security)31
b(Considerations)0 3482 y Fg(This)25 b(document')-5 b(s)23
b(intent)i(is)h(to)f(describe)f(the)h(EAP)h(state)f(machine)f(fully)-5
b(.)38 b(T)-7 b(o)25 b(this)h(end,)f(an)o(y)f(security)h(concerns)e
(with)0 3582 y(this)e(document)d(are)i(lik)o(ely)g(a)h(re\003ection)e
(of)h(security)g(concerns)e(with)j(EAP)f(itself.)0 3962
y Fe(10)119 b(Ackno)o(wledgments)0 4247 y Fg(The)18 b(w)o(ork)f(in)i
(this)f(document)e(w)o(as)j(done)e(as)i(part)f(of)g(the)g(EAP)h(Design)
e(T)-6 b(eam.)24 b(It)19 b(w)o(as)g(done)e(primarily)g(by)g(Nick)h
(Petroni,)0 4347 y(John)j(V)-11 b(ollbrecht,)21 b(P)o(asi)i(Eronen)d
(and)h(Y)-9 b(oshihiro)21 b(Ohba.)29 b(Nick)22 b(started)f(this)i(w)o
(ork)e(with)h(Bryan)f(P)o(ayne)g(and)h(Chuk)f(Seng)0
4446 y(at)27 b(the)g(Uni)n(v)o(ersity)e(of)i(Maryland.)43
b(John)26 b(V)-11 b(ollbrecht,)27 b(of)f(V)-11 b(ollbrecht)26
b(Consulting,)h(started)f(independently)e(with)j(help)0
4546 y(from)20 b(Da)n(v)o(e)i(Spence)e(at)i(Interlink)e(Netw)o(orks.)28
b(John)21 b(and)g(Nick)g(combined)e(to)j(create)f(a)h(common)d(draft,)i
(and)g(then)g(were)0 4645 y(joined)h(by)g(P)o(asi)h(Eronen)e(of)i
(Nokia)f(who)g(has)h(made)f(major)g(contrib)n(utions)f(in)i(creating)e
(coherent)h(state)h(machines,)f(and)0 4745 y(Y)-9 b(oshihiro)24
b(Ohba)h(of)h(T)-7 b(oshiba)25 b(who)g(insisted)h(on)g(including)e(P)o
(assthrough)g(documentation)f(and)i(pro)o(vided)e(signi\002cant)0
4845 y(support)c(for)g(understanding)f(implementation)f(issues.)0
5044 y(In)25 b(addition)f(signi\002cant)h(response)g(and)f(con)m(v)o
(ersation)f(has)j(come)f(from)f(the)h(design)g(team,)i(especially)d
(including)g(Jari)0 5144 y(Arkk)o(o)f(of)g(Ericsson)h(and)f(Bernard)g
(Aboba)f(of)i(Microsoft)f(as)h(well)h(as)f(the)g(rest)g(of)g(the)g
(team.)35 b(It)24 b(has)g(also)h(been)e(passed)0 5243
y(through)16 b(the)j(802.1aa)d(group,)h(and)h(has)h(had)f(input)g(from)
f(Jim)i(Burns)f(of)h(Meetinghouse)d(and)i(P)o(aul)h(Congdon)d(of)i(He)n
(wlett)0 5343 y(P)o(ackard.)0 5656 y(V)-11 b(ollbrecht,)19
b(et)i(al.)965 b(Expires)19 b(March)h(18,)f(2004)964
b([P)o(age)19 b(29])p eop
%%Page: 30 30
30 29 bop 0 100 a Fg(INTERNET)-8 b(-DRAFT)862 b(EAP)21
b(State)f(Machine)841 b(September)19 b(2003)0 390 y Fe(Normati)o(v)o(e)
29 b(Refer)n(ences)50 675 y Fg([RFC2119])547 b(Bradner)m(,)24
b(S.,)h(\224K)n(e)o(y)f(w)o(ords)g(for)g(use)g(in)h(RFCs)h(to)e
(Indicate)g(Requirement)e(Le)n(v)o(els\224,)977 775 y(BCP)g(14,)d(RFC)j
(2119,)c(March)i(1997.)50 875 y([RFC2284])547 b(Blunk,)52
b(L.)46 b(and)f(J.)i(V)-11 b(ollbrecht,)51 b(\224PPP)c(Extensible)f
(Authentication)e(Protocol)977 974 y(\(EAP\)\224,)19
b(RFC)j(2284,)d(March)g(1998.)50 1074 y([RFC3579])547
b(Aboba,)21 b(B.)i(and)f(P)-9 b(.)22 b(Calhoun,)f(\224RADIUS)i
(\(Remote)f(Authentication)e(Dial)i(In)g(User)977 1174
y(Service\))14 b(Support)g(F)o(or)h(Extensible)f(Authentication)g
(Protocol)g(\(EAP\)\224,)h(RFC)i(3579,)977 1273 y(September)i(2003.)50
1373 y([I-D.ietf-eap-rfc2284b)o(is])94 b(Blunk,)53 b(L.,)h
(\224Extensible)46 b(Authentication)f(Protocol)h(\(EAP\)\224,)53
b(draft-ietf-eap-)977 1472 y(rfc2284bis-05)16 b(\(w)o(ork)k(in)g
(progress\),)e(September)h(2003.)0 1823 y Fe(Inf)m(ormati)o(v)o(e)28
b(Refer)n(ences)50 2109 y Fg([I-D.aboba-pppe)o(xt-k)n(e)o(y-)o(pr)o(ob)
o(lem])93 b(Aboba,)16 b(B.)h(and)f(D.)g(Simon,)g(\224EAP)h(K)n(e)o(y)f
(Management)e(Frame)n(w)o(ork\224,)h(draft-aboba-)1241
2208 y(pppe)o(xt-k)o(e)o(y-problem-)o(07)f(\(w)o(ork)19
b(in)i(progress\),)d(August)i(2003.)50 2308 y([IEEE.802-1aa.2003)o(])
475 b(Institute)48 b(of)g(Electrical)g(and)f(Electronics)g(Engineers,)
54 b(\224DRAFT)49 b(Local)e(and)1241 2407 y(Metropolitan)16
b(Area)h(Netw)o(orks:)24 b(Port-Based)17 b(Netw)o(ork)f(Access)j
(Control-)d(Amend-)1241 2507 y(ment)k(1\224,)g(IEEE)f(P802.1aa/D6.1,)e
(June)j(2003.)0 2858 y Fe(A)-6 b(uthors')30 b(Addr)n(esses)0
3143 y Fg(John)20 b(R.)g(V)-11 b(ollbrecht)0 3243 y(V)g(ollbrecht)19
b(Consulting)g(LLC)0 3342 y(9682)g(Alice)h(Hill)h(Dri)n(v)o(e)0
3442 y(De)o(xter)m(,)e(MI)h(48130)0 3542 y(USA)0 3641
y(EMail:)25 b(jrv@umich.edu)0 3940 y(P)o(asi)c(Eronen)0
4040 y(Nokia)f(Research)g(Center)0 4139 y(P)-9 b(.O.)20
b(Box)g(407)0 4239 y(FIN-00045)e(Nokia)h(Group,)0 4339
y(Finland)0 4438 y(EMail:)25 b(pasi.eronen@nokia.com)0
4737 y(Nick)20 b(L.)g(Petroni,)g(Jr)-5 b(.)0 4837 y(Uni)n(v)o(ersity)19
b(of)h(Maryland,)e(Colle)o(ge)i(P)o(ark)0 4936 y(A.V)-11
b(.)20 b(W)m(illiams)h(Building)0 5036 y(Colle)o(ge)f(P)o(ark,)f(MD)i
(20742)0 5136 y(USA)0 5235 y(EMail:)k(npetroni@cs.umd.edu)0
5656 y(V)-11 b(ollbrecht,)19 b(et)i(al.)965 b(Expires)19
b(March)h(18,)f(2004)964 b([P)o(age)19 b(30])p eop
%%Page: 31 31
31 30 bop 0 100 a Fg(INTERNET)-8 b(-DRAFT)862 b(EAP)21
b(State)f(Machine)841 b(September)19 b(2003)0 390 y(Y)-9
b(oshihiro)19 b(Ohba)0 490 y(T)-7 b(oshiba)20 b(America)f(Information)f
(Systems,)i(Inc.)0 589 y(9740)f(Irvine)g(Blvd.)0 689
y(Irvine,)g(CA)i(92619-1697)0 789 y(USA)0 888 y(EMail:)k
(yohba@tari.toshiba.com)0 1368 y Fe(Intellectual)31 b(Pr)n(operty)f
(Statement)0 1653 y Fg(The)c(IETF)g(tak)o(es)h(no)e(position)h(re)o
(garding)d(the)j(v)n(alidity)g(or)g(scope)g(of)g(an)o(y)f(intellectual)
h(property)e(or)i(other)g(rights)f(that)0 1753 y(might)19
b(be)g(claimed)g(to)h(pertain)f(to)h(the)f(implementation)e(or)j(use)g
(of)f(the)g(technology)f(described)g(in)i(this)g(document)d(or)j(the)0
1852 y(e)o(xtent)f(to)h(which)f(an)o(y)g(license)h(under)f(such)g
(rights)h(might)f(or)g(might)h(not)f(be)h(a)n(v)n(ailable;)f(neither)g
(does)h(it)g(represent)f(that)h(it)0 1952 y(has)i(made)g(an)o(y)f(ef)n
(fort)g(to)h(identify)f(an)o(y)g(such)h(rights.)30 b(Information)19
b(on)j(the)g(IETF')-5 b(s)22 b(procedures)e(with)i(respect)g(to)g
(rights)0 2051 y(in)h(standards-track)d(and)i(standards-related)e
(documentation)g(can)i(be)g(found)f(in)i(BCP-11.)32 b(Copies)23
b(of)f(claims)h(of)f(rights)0 2151 y(made)c(a)n(v)n(ailable)f(for)h
(publication)e(and)i(an)o(y)f(assurances)h(of)g(licenses)g(to)g(be)g
(made)g(a)n(v)n(ailable,)g(or)g(the)g(result)g(of)g(an)g(attempt)0
2251 y(made)f(to)i(obtain)e(a)h(general)f(license)h(or)g(permission)f
(for)h(the)g(use)g(of)g(such)g(proprietary)d(rights)j(by)f
(implementors)g(or)g(users)0 2350 y(of)j(this)h(speci\002cation)e(can)h
(be)g(obtained)f(from)g(the)h(IETF)g(Secretariat.)0 2550
y(The)i(IETF)h(in)m(vites)f(an)o(y)g(interested)g(party)g(to)h(bring)f
(to)h(its)h(attention)d(an)o(y)h(cop)o(yrights,)g(patents)g(or)h
(patent)f(applications,)0 2649 y(or)d(other)f(proprietary)f(rights)i
(which)f(may)h(co)o(v)o(er)f(technology)e(that)k(may)e(be)i(required)d
(to)i(practice)g(this)g(standard.)24 b(Please)0 2749
y(address)c(the)g(information)e(to)i(the)g(IETF)g(Ex)o(ecuti)n(v)o(e)e
(Director)-5 b(.)0 3129 y Fe(Full)31 b(Copyright)f(Statement)0
3414 y Fg(Cop)o(yright)19 b(\(C\))h(The)g(Internet)f(Society)h
(\(2003\).)j(All)d(Rights)h(Reserv)o(ed.)0 3613 y(This)i(document)e
(and)i(translations)f(of)h(it)g(may)g(be)g(copied)f(and)g(furnished)f
(to)i(others,)g(and)g(deri)n(v)n(ati)n(v)o(e)e(w)o(orks)h(that)h(com-)0
3713 y(ment)g(on)h(or)f(otherwise)g(e)o(xplain)g(it)h(or)f(assist)j(in)
d(its)i(implementation)d(may)h(be)h(prepared,)e(copied,)h(published)f
(and)h(dis-)0 3812 y(trib)n(uted,)k(in)g(whole)f(or)h(in)g(part,)h
(without)e(restriction)g(of)g(an)o(y)g(kind,)h(pro)o(vided)e(that)h
(the)h(abo)o(v)o(e)e(cop)o(yright)g(notice)h(and)0 3912
y(this)d(paragraph)e(are)h(included)g(on)g(all)h(such)g(copies)f(and)h
(deri)n(v)n(ati)n(v)o(e)d(w)o(orks.)33 b(Ho)n(we)n(v)o(er)m(,)21
b(this)i(document)e(itself)j(may)e(not)0 4012 y(be)27
b(modi\002ed)e(in)i(an)o(y)f(w)o(ay)-5 b(,)28 b(such)f(as)g(by)g(remo)o
(ving)d(the)j(cop)o(yright)e(notice)h(or)h(references)e(to)i(the)g
(Internet)e(Society)i(or)0 4111 y(other)19 b(Internet)g(or)o
(ganizations,)d(e)o(xcept)j(as)i(needed)e(for)g(the)h(purpose)e(of)i
(de)n(v)o(eloping)d(Internet)i(standards)g(in)h(which)f(case)0
4211 y(the)25 b(procedures)e(for)h(cop)o(yrights)f(de\002ned)h(in)h
(the)g(Internet)f(Standards)g(process)g(must)h(be)g(follo)n(wed,)g(or)g
(as)g(required)e(to)0 4311 y(translate)d(it)h(into)f(languages)f(other)
g(than)h(English.)0 4510 y(The)25 b(limited)h(permissions)f(granted)f
(abo)o(v)o(e)h(are)g(perpetual)g(and)g(will)h(not)g(be)g(re)n(v)n(ok)o
(ed)e(by)h(the)h(Internet)f(Society)g(or)h(its)0 4609
y(successors)20 b(or)g(assignees.)0 4809 y(This)i(document)f(and)g(the)
h(information)e(contained)h(herein)g(is)i(pro)o(vided)d(on)h(an)i
(\224AS)f(IS\224)h(basis)f(and)g(THE)g(INTERNET)0 4908
y(SOCIETY)33 b(AND)g(THE)g(INTERNET)f(ENGINEERING)f(T)-8
b(ASK)34 b(FORCE)g(DISCLAIMS)e(ALL)h(W)-10 b(ARRANTIES,)0
5008 y(EXPRESS)29 b(OR)h(IMPLIED,)d(INCLUDING)h(B)o(UT)h(NO)m(T)g
(LIMITED)e(T)o(O)h(ANY)h(W)-10 b(ARRANTY)30 b(THA)-9
b(T)28 b(THE)g(USE)0 5108 y(OF)j(THE)f(INFORMA)-9 b(TION)30
b(HEREIN)g(WILL)h(NO)m(T)f(INFRINGE)g(ANY)h(RIGHTS)g(OR)g(ANY)g
(IMPLIED)f(W)-10 b(AR-)0 5207 y(RANTIES)20 b(OF)h(MERCHANT)-8
b(ABILITY)20 b(OR)h(FITNESS)f(FOR)i(A)e(P)-8 b(AR)j(TICULAR)22
b(PURPOSE.)0 5656 y(V)-11 b(ollbrecht,)19 b(et)i(al.)965
b(Expires)19 b(March)h(18,)f(2004)964 b([P)o(age)19 b(31])p
eop
%%Page: 32 32
32 31 bop 0 100 a Fg(INTERNET)-8 b(-DRAFT)862 b(EAP)21
b(State)f(Machine)841 b(September)19 b(2003)0 390 y Fe(Ackno)o
(wledgement)0 675 y Fg(Funding)g(for)g(the)h(RFC)i(Editor)d(function)g
(is)i(currently)d(pro)o(vided)g(by)i(the)g(Internet)f(Society)-5
b(.)0 5656 y(V)-11 b(ollbrecht,)19 b(et)i(al.)965 b(Expires)19
b(March)h(18,)f(2004)964 b([P)o(age)19 b(32])p eop
%%Trailer
end
userdict /end-hook known{end-hook}if
%%EOF
| PAFTECH AB 2003-2026 | 2026-04-23 01:58:12 |