One document matched: draft-ietf-eap-statemachine-04.ps


%!PS-Adobe-2.0
%%Creator: dvips(k) 5.92b Copyright 2002 Radical Eye Software
%%Title: draft-ietf-eap-statemachine-04.dvi
%%Pages: 45
%%PageOrder: Ascend
%%BoundingBox: 0 0 596 842
%%DocumentFonts: Times-Roman Times-Bold Courier CMSY10 CMMI10 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-04.ps
%+ draft-ietf-eap-statemachine-04.dvi
%DVIPSParameters: dpi=600, compressed
%DVIPSSource:  TeX output 2004.07.19:0101
%%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
% File  8r.enc as of 2002-03-12 for PSNFSS 9
%
% This is the encoding vector for Type1 and TrueType fonts to be used
% with TeX.  This file is part of the PSNFSS bundle, version 9
% 
% Authors: S. Rahtz, P. MacKay, Alan Jeffrey, B. Horn, K. Berry, W. Schmidt
%
% 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 + Euro.
% 
% 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.
%
% (6) /Euro is assigned to 128, as in Windows ANSI
% 
/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
 /Euro /.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: bbad153f.enc
% Thomas Esser, Dec 2002. public domain
%
% Encoding for:
%     cmsy10 cmsy5 cmsy6 cmsy7 cmsy8 cmsy9
%
/TeXbbad153fEncoding [
/minus /periodcentered /multiply /asteriskmath /divide /diamondmath
/plusminus /minusplus /circleplus /circleminus /circlemultiply
/circledivide /circledot /circlecopyrt /openbullet /bullet
/equivasymptotic /equivalence /reflexsubset /reflexsuperset /lessequal
/greaterequal /precedesequal /followsequal /similar /approxequal
/propersubset /propersuperset /lessmuch /greatermuch /precedes /follows
/arrowleft /arrowright /arrowup /arrowdown /arrowboth /arrownortheast
/arrowsoutheast /similarequal /arrowdblleft /arrowdblright /arrowdblup
/arrowdbldown /arrowdblboth /arrownorthwest /arrowsouthwest /proportional
/prime /infinity /element /owner /triangle /triangleinv /negationslash
/mapsto /universal /existential /logicalnot /emptyset /Rfractur /Ifractur
/latticetop /perpendicular /aleph /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 /union /intersection
/unionmulti /logicaland /logicalor /turnstileleft /turnstileright
/floorleft /floorright /ceilingleft /ceilingright /braceleft /braceright
/angbracketleft /angbracketright /bar /bardbl /arrowbothv /arrowdblbothv
/backslash /wreathproduct /radical /coproduct /nabla /integral
/unionsq /intersectionsq /subsetsqequal /supersetsqequal /section
/dagger /daggerdbl /paragraph /club /diamond /heart /spade /arrowleft
/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
/minus /periodcentered /multiply /asteriskmath /divide /diamondmath
/plusminus /minusplus /circleplus /circleminus /.notdef /.notdef
/circlemultiply /circledivide /circledot /circlecopyrt /openbullet
/bullet /equivasymptotic /equivalence /reflexsubset /reflexsuperset
/lessequal /greaterequal /precedesequal /followsequal /similar
/approxequal /propersubset /propersuperset /lessmuch /greatermuch
/precedes /follows /arrowleft /spade /.notdef /.notdef /.notdef /.notdef
/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
] def

%%EndProcSet
%%BeginProcSet: aae443f0.enc
% Thomas Esser, Dec 2002. public domain
%
% Encoding for:
%     cmmi10 cmmi12 cmmi5 cmmi6 cmmi7 cmmi8 cmmi9 cmmib10
%
/TeXaae443f0Encoding [
/Gamma /Delta /Theta /Lambda /Xi /Pi /Sigma /Upsilon /Phi /Psi /Omega
/alpha /beta /gamma /delta /epsilon1 /zeta /eta /theta /iota /kappa
/lambda /mu /nu /xi /pi /rho /sigma /tau /upsilon /phi /chi /psi
/omega /epsilon /theta1 /pi1 /rho1 /sigma1 /phi1 /arrowlefttophalf
/arrowleftbothalf /arrowrighttophalf /arrowrightbothalf /arrowhookleft
/arrowhookright /triangleright /triangleleft /zerooldstyle /oneoldstyle
/twooldstyle /threeoldstyle /fouroldstyle /fiveoldstyle /sixoldstyle
/sevenoldstyle /eightoldstyle /nineoldstyle /period /comma /less /slash
/greater /star /partialdiff /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 /flat /natural /sharp /slurbelow
/slurabove /lscript /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 /dotlessi /dotlessj /weierstrass /vector
/tie /psi /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
/space /Gamma /Delta /Theta /Lambda /Xi /Pi /Sigma /Upsilon /Phi /Psi
/.notdef /.notdef /Omega /alpha /beta /gamma /delta /epsilon1 /zeta /eta
/theta /iota /kappa /lambda /mu /nu /xi /pi /rho /sigma /tau /upsilon
/phi /chi /psi /tie /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
/.notdef /.notdef /.notdef /.notdef /.notdef
] 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: 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]FontType 0
ne{/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}{{1 index type
/nametype eq{exit}if exch pop}loop}ifelse[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/setpagedevice{pop}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
/setpagedevice{pop}N/copypage{}N newpath}N/@endspecial{count ocount sub{
pop}repeat countdictstack dcount sub{end}repeat grestore SpecialSave
restore end}N/@defspecial{SDict begin}N/@fedspecial{end}B/li{lineto}B
/rl{rlineto}B/rc{rcurveto}B/np{/SaveX currentpoint/SaveY X N 1
setlinecap newpath}N/st{stroke SaveX SaveY moveto}N/fil{fill SaveX SaveY
moveto}N/ellipse{/endangle X/startangle X/yrad X/xrad X/savematrix
matrix currentmatrix N TR xrad yrad scale 0 0 1 startangle endangle arc
savematrix setmatrix}N end

%%EndProcSet
%%BeginFont: CMMI10
%!PS-AdobeFont-1.1: CMMI10 1.100
%%CreationDate: 1996 Jul 23 07:53:57
% Copyright (C) 1997 American Mathematical Society. All Rights Reserved.
11 dict begin
/FontInfo 7 dict dup begin
/version (1.100) readonly def
/Notice (Copyright (C) 1997 American Mathematical Society. All Rights Reserved) readonly def
/FullName (CMMI10) readonly def
/FamilyName (Computer Modern) readonly def
/Weight (Medium) readonly def
/ItalicAngle -14.04 def
/isFixedPitch false def
end readonly def
/FontName /CMMI10 def
/PaintType 0 def
/FontType 1 def
/FontMatrix [0.001 0 0 0.001 0 0] readonly def
/Encoding 256 array
0 1 255 {1 index exch /.notdef put} for
dup 0 /.notdef put
readonly def
/FontBBox{-32 -250 1048 750}readonly def
/UniqueID 5087385 def
currentdict end
currentfile eexec
D9D66F633B846A97B686A97E45A3D0AA0529731C99A784CCBE85B4993B2EEBDE
3B12D472B7CF54651EF21185116A69AB1096ED4BAD2F646635E019B6417CC77B
532F85D811C70D1429A19A5307EF63EB5C5E02C89FC6C20F6D9D89E7D91FE470
B72BEFDA23F5DF76BE05AF4CE93137A219ED8A04A9D7D6FDF37E6B7FCDE0D90B
986423E5960A5D9FBB4C956556E8DF90CBFAEC476FA36FD9A5C8175C9AF513FE
D919C2DDD26BDC0D99398B9F4D03D5993DFC0930297866E1CD0A319B6B1FD958
9E394A533A081C36D456A09920001A3D2199583EB9B84B4DEE08E3D12939E321
990CD249827D9648574955F61BAAA11263A91B6C3D47A5190165B0C25ABF6D3E
6EC187E4B05182126BB0D0323D943170B795255260F9FD25F2248D04F45DFBFB
DEF7FF8B19BFEF637B210018AE02572B389B3F76282BEB29CC301905D388C721
59616893E774413F48DE0B408BC66DCE3FE17CB9F84D205839D58014D6A88823
D9320AE93AF96D97A02C4D5A2BB2B8C7925C4578003959C46E3CE1A2F0EAC4BF
8B9B325E46435BDE60BC54D72BC8ACB5C0A34413AC87045DC7B84646A324B808
6FD8E34217213E131C3B1510415CE45420688ED9C1D27890EC68BD7C1235FAF9
1DAB3A369DD2FC3BE5CF9655C7B7EDA7361D7E05E5831B6B8E2EEC542A7B38EE
03BE4BAC6079D038ACB3C7C916279764547C2D51976BABA94BA9866D79F13909
95AA39B0F03103A07CBDF441B8C5669F729020AF284B7FF52A29C6255FCAACF1
74109050FBA2602E72593FBCBFC26E726EE4AEF97B7632BC4F5F353B5C67FED2
3EA752A4A57B8F7FEFF1D7341D895F0A3A0BE1D8E3391970457A967EFF84F6D8
47750B1145B8CC5BD96EE7AA99DDC9E06939E383BDA41175233D58AD263EBF19
AFC0E2F840512D321166547B306C592B8A01E1FA2564B9A26DAC14256414E4C8
42616728D918C74D13C349F4186EC7B9708B86467425A6FDB3A396562F7EE4D8
40B43621744CF8A23A6E532649B66C2A0002DD04F8F39618E4F572819DD34837
B5A08E643FDCA1505AF6A1FA3DDFD1FA758013CAED8ACDDBBB334D664DFF5B53
95601766777978D01677B8D19E1B10A078432D2884BB4F7B8C3293B68BB78100
16724E495064BA0168CC86D413CB48560D6D318357397832F7A858CD82030C7D
8A4A1919716E8B26AFF8789AAF489EE4E0A88DC477551A87C7DF2856189E4596
FE015956AFE5CC019F5CA6323A12B763B7B08B92C1A2940D3C566C43729E5482
63C6DC5E834AEB4DAFB5AE8F0B8931A4687C94D11587B9071C8D81DA14F12776
53A1985A3EBE37827656BD4635E03F09C3231F906874645E7DB3E59045A59D67
E745D8487CF73FC50F64060544F624F357BC998A87FBE468DEBB38A09449EBCA
D041D7C29225ACD16CB8A59E87924D15A9125F064710A6CCCA3AD3103D8FCC94
CC3571C6F9192774FCFE5BB42A14B27960903144D28BF047BF4C77646EA7BF6F
440D4EDEB712C63F2E8080419E42D1D58EED685EB5CDD49F80DB6E5553B519FA
C6A39A093155802F3EC607721F390307E91ECB597ABA60A537E3F8C045BF5DD3
D88CF6518D37FCD95D2F295D902D617440D23516D962F47750A682A319ACE1
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
cleartomark
%%EndFont 
%%BeginFont: CMSY10
%!PS-AdobeFont-1.1: CMSY10 1.0
%%CreationDate: 1991 Aug 15 07:20:57
% Copyright (C) 1997 American Mathematical Society. All Rights Reserved.
11 dict begin
/FontInfo 7 dict dup begin
/version (1.0) readonly def
/Notice (Copyright (C) 1997 American Mathematical Society. All Rights Reserved) readonly def
/FullName (CMSY10) readonly def
/FamilyName (Computer Modern) readonly def
/Weight (Medium) readonly def
/ItalicAngle -14.035 def
/isFixedPitch false def
end readonly def
/FontName /CMSY10 def
/PaintType 0 def
/FontType 1 def
/FontMatrix [0.001 0 0 0.001 0 0] readonly def
/Encoding 256 array
0 1 255 {1 index exch /.notdef put} for
dup 0 /.notdef put
readonly def
/FontBBox{-29 -960 1116 775}readonly def
/UniqueID 5000820 def
currentdict end
currentfile eexec
D9D66F633B846A97B686A97E45A3D0AA052F09F9C8ADE9D907C058B87E9B6964
7D53359E51216774A4EAA1E2B58EC3176BD1184A633B951372B4198D4E8C5EF4
A213ACB58AA0A658908035BF2ED8531779838A960DFE2B27EA49C37156989C85
E21B3ABF72E39A89232CD9F4237FC80C9E64E8425AA3BEF7DED60B122A52922A
221A37D9A807DD01161779DDE7D31FF2B87F97C73D63EECDDA4C49501773468A
27D1663E0B62F461F6E40A5D6676D1D12B51E641C1D4E8E2771864FC104F8CBF
5B78EC1D88228725F1C453A678F58A7E1B7BD7CA700717D288EB8DA1F57C4F09
0ABF1D42C5DDD0C384C7E22F8F8047BE1D4C1CC8E33368FB1AC82B4E96146730
DE3302B2E6B819CB6AE455B1AF3187FFE8071AA57EF8A6616B9CB7941D44EC7A
71A7BB3DF755178D7D2E4BB69859EFA4BBC30BD6BB1531133FD4D9438FF99F09
4ECC068A324D75B5F696B8688EEB2F17E5ED34CCD6D047A4E3806D000C199D7C
515DB70A8D4F6146FE068DC1E5DE8BC57030ACE57A0A31C99BEDB251A0ECAD78
253AB321023D15FF7F55A3CE81514C1E7E76240C1FB36CD4874DDB761CC325F5
D588700B294849D690F93526EF438A42B9B5B0508584EA3766D35F5B8D51C458
ECB9FBD23A49576EAB06BACB7EA6D300985500835F4FE597D4A1110C8EABE6FC
CE3E1F95CFD3A42446F25355381D476B2FFB6EF247BF58A6FFC5EC0E4CC207BE
46485F8E07350B37DCA8C1864E62614332A1D3C9DEDDD6492181949A2C3498C9
EC2A81C1F4FF989A4654E375F509D24D969B97D2A9940FAF43BBB286E08559C0
F8D9674B0A294B36D3A050F7DED8C80E1D230812F6B8387B17948FD29FF050E2
AAC5EBE5D96AFD0879534E2F4BB81613A1571750F9CF4215199F93813D815B5D
1C79E11A0FCBB627CDE569F88C741CD502627777BB058ECAC09B6ACCFACA69B9
8F8168B0B5A1A6EB13E884B348FBB2ACF9EB180F6E27D57F8503710CE037A34A
F8B157201657C825E2A4B4A7696B58B7A988C05E43E66F0FF277A7694C555C54
AFB1D32F6DE102136FC810E1F3B5CEA42476EAC7AAFB390E3252B2169DCDEE6E
328507BD0E24734A85AAA263E0D2F64BE1607455BC855785BC27F8B30FE917B4
23AB3C812975355942E955501AF85A3C0CE836911AF679EA44AD6A7D042A6549
0C471FE294E8490024D93ADCADED460FAB7FBCDC29EFEBD2A9A127E11869E659
961B29206CE63944B6FA4B9315BCC528EB1E0223CE94C795A5D5231A7FC8545D
6B287B965F8EEDDB67A6774129DD01D5A21694ABE320BB2553043D4C42ACFF91
1009372CB03381035BEEEEFD05631E026A0980A72A67B3703323A4E7C94FFCEE
8D0B7407F9CCC043D3D184BEA4728385D6AB2FB0641DD8F5BA7E04035D30D628
7E97D31C1486DFD5B1D076B84B4ABA4829ED4310321F1F24B847C44E00185A69
37711A
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
cleartomark
%%EndFont 
TeXDict begin 39158280 55380996 1000 600 600
(draft-ietf-eap-statemachine-04.dvi) @start /Fa 193[65
1[65 60[{ TeXaae443f0Encoding ReEncodeFont }2 83.022
/CMMI10 rf /Fb 149[23 2[42 42 86[42 15[{
 TeXbbad153fEncoding ReEncodeFont }4 83.022 /CMSY10 rf
/Fc 130[50 50 50 1[50 50 50 50 50 50 50 50 50 50 50 50
50 50 50 50 50 50 50 50 50 50 50 50 50 1[50 2[50 1[50
50 50 50 50 50 50 50 50 50 50 50 50 50 50 50 1[50 50
50 50 50 50 50 50 50 2[50 50 50 9[50 1[50 50 50 50 50
50 50 50 50 1[50 4[50 33[{ TeXBase1Encoding ReEncodeFont }70
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 60 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 1[30 6[40 36[66 2[{ TeXBase1Encoding ReEncodeFont }49
119.552 /Times-Bold rf /Ff 134[50 50 72 50 55 33 39 44
1[55 50 55 83 28 55 1[28 55 50 33 44 55 44 55 50 13[55
72 1[61 1[72 94 66 2[39 2[61 66 72 1[66 72 8[50 50 50
50 50 50 50 50 50 28 25 33 3[33 33 37[55 2[{
 TeXBase1Encoding ReEncodeFont }50 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
 end
%%EndSetup
%%Page: 1 1
TeXDict begin 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(January)19 b(17,)h(2005)2408 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)3414 1265 y(T)-8
b(ARI)3150 1365 y(July)20 b(19,)g(2004)0 1637 y Ff(State)k(Machines)f
(f)n(or)g(Extensible)h(A)-5 b(uthentication)25 b(Pr)n(otocol)d(\(EAP\))
i(P)n(eer)g(and)f(A)-5 b(uthenticator)1153 1753 y
(draft-ietf-eap-statemachine-04)0 2298 y Fe(Status)30
b(of)f(this)h(Memo)0 2583 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
2782 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 2882 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 3081 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 3181 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 3281 y(to)d(cite)h(them)f(other)f(than)h(as)h(\224w)o
(ork)e(in)i(progress.)-6 b(\224)0 3480 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 3679 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
3878 y(This)20 b(Internet-Draft)e(will)j(e)o(xpire)e(on)h(January)f
(17,)g(2005.)0 4258 y Fe(Copyright)31 b(Notice)0 4543
y Fg(Cop)o(yright)19 b(\(C\))h(The)g(Internet)f(Society)h(\(2004\).)j
(All)d(Rights)h(Reserv)o(ed.)0 4923 y Fe(Abstract)0 5208
y Fg(This)31 b(document)e(describes)h(a)h(set)h(of)f(state)g(machines)f
(for)g(EAP)i(peer)m(,)g(EAP)f(standalone)f(authenticator)f(\(non-pass-)
0 5308 y(through\),)35 b(EAP)g(back)o(end)e(authenticator)f(\(for)h
(use)i(on)f(Authentication,)i(Authorization)c(and)i(Accounting)e
(\(AAA\))0 5407 y(serv)o(ers\),)19 b(and)h(EAP)h(full)f(authenticator)f
(\(for)g(both)g(local)i(and)f(pass-through\).)i(This)f(set)g(of)f
(state)h(machines)f(sho)n(ws)g(ho)n(w)p eop end
%%Page: 2 2
TeXDict begin 2 1 bop 0 100 a Fg(INTERNET)-8 b(-DRAFT)970
b(EAP)21 b(State)g(Machine)949 b(July)20 b(2004)0 390
y(EAP)29 b(can)f(be)h(implemented)e(to)h(support)g(deplo)o(yment)e(in)j
(either)f(a)h(peer/authenticator)c(or)k(peer/authenticator/AAA)0
490 y(Serv)o(er)21 b(en)m(vironment.)28 b(The)22 b(peer)g(and)g
(standalone)f(authenticator)f(machines)h(are)i(illustrati)n(v)o(e)e(of)
h(ho)n(w)g(the)g(EAP)h(proto-)0 589 y(col)g(de\002ned)e(in)i([RFC3748])
e(may)h(be)h(implemented.)30 b(The)22 b(back)o(end)f(and)h
(full/pass-through)e(authenticators)g(illustrate)0 689
y(ho)n(w)25 b(EAP/AAA)h(protocol)e(support)g(de\002ned)g(in)i
([RFC3579])f(may)g(be)g(implemented.)39 b(Where)26 b(there)f(are)g(dif)
n(ferences)0 789 y([RFC3748]/[RFC3579])17 b(are)j(authoritati)n(v)o(e.)
0 988 y(The)25 b(state)g(machines)f(are)h(based)f(on)h(the)g(EAP)g
(\224Switch\224)g(model.)38 b(This)25 b(model)f(includes)g(e)n(v)o
(ents)g(and)h(actions)f(for)h(the)0 1088 y(interaction)e(between)h(the)
h(EAP)g(Switch)g(and)g(EAP)g(methods.)38 b(A)25 b(brief)f(description)f
(of)i(the)g(EAP)g(\224Switch\224)g(model)f(is)0 1187
y(gi)n(v)o(en)19 b(in)h(the)g(Introduction)e(section.)0
1386 y(The)f(State)h(Machine)e(and)h(associated)g(model)g(are)g
(informati)n(v)o(e)e(only)-5 b(.)23 b(Implementations)14
b(may)j(achie)n(v)o(e)f(the)i(same)f(results)0 1486 y(using)j(dif)n
(ferent)e(methods.)0 1866 y Fe(Contents)0 2151 y Fd(1)83
b(Speci\002cation)19 b(of)h(Requir)o(ements)2374 b(4)0
2433 y(2)83 b(The)21 b(EAP)f(Switch)h(Model)2601 b(4)0
2716 y(3)83 b(Notational)18 b(con)m(v)o(entions)h(used)i(in)g(state)f
(diagrams)1811 b(6)125 2915 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 3114 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
3313 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 3596 y Fd(4)83 b(P)n(eer)20 b(State)g(Machine)2743
b(8)125 3795 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(8)315 3994 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 4193 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 4393 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 4592 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 4791 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 4990 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)315
5190 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 5389 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)0 5656
y(V)-11 b(ollbrecht,)19 b(et)i(al.)965 b(Expires)19 b(January)g(17,)h
(2005)963 b([P)o(age)20 b(2])p eop end
%%Page: 3 3
TeXDict begin 3 2 bop 0 100 a Fg(INTERNET)-8 b(-DRAFT)970
b(EAP)21 b(State)g(Machine)949 b(July)20 b(2004)125 390
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(14)0 672 y Fd(5)83 b(Standalone)19 b(A)l(uthenticator)g(State)g
(Machine)1951 b(15)125 872 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 1071 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(15)315
1270 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(17)315 1469 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 1669
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 1868 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 2067 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 2267 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(19)125
2466 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
2665 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(21)0 2947 y Fd(6)83 b(EAP)20 b(Back)o(end)h(A)l(uthenticator)2381
b(22)125 3147 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(22)315 3346 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(22)315
3545 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(22)125 3744
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(24)125 3944 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(24)125 4143 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(24)125 4342 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(25)0 4624 y Fd(7)83
b(EAP)20 b(Full)h(A)l(uthenticator)2546 b(25)125 4824
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(25)315 5023 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(26)315 5222 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(28)0 5656 y(V)-11 b(ollbrecht,)19
b(et)i(al.)965 b(Expires)19 b(January)g(17,)h(2005)963
b([P)o(age)20 b(3])p eop end
%%Page: 4 4
TeXDict begin 4 3 bop 0 100 a Fg(INTERNET)-8 b(-DRAFT)970
b(EAP)21 b(State)g(Machine)949 b(July)20 b(2004)315 390
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(28)125
589 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(28)125 789 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(28)315 988 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(29)125 1187 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(29)125 1386 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(29)0 1669 y Fd(8)83 b(Implementation)20
b(Considerations)2268 b(30)125 1868 y Fg(8.1)85 b(Rob)n(ustness)76
b(.)41 b(.)g(.)h(.)f(.)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(30)125 2067
y(8.2)85 b(Method/Method)18 b(and)i(Method/Lo)n(wer)n(-Layer)c(Interf)o
(aces)57 b(.)41 b(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g
(.)h(.)f(.)g(.)h(.)f(.)g(.)113 b(31)0 2350 y Fd(9)83
b(Security)19 b(Considerations)2541 b(31)0 2632 y(10)41
b(Ackno)o(wledgments)2742 b(32)0 2914 y(11)41 b(ASCII)21
b(v)o(ersions)f(of)g(state)g(diagrams)2221 b(33)125 3113
y Fg(11.1)43 b(EAP)21 b(Peer)f(State)h(Machine)e(\(Figure)h(3\))g(.)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(34)125 3313 y(11.2)43 b(EAP)21 b(Standalone)e(Authenticator)f(State)j
(Machine)e(\(Figure)g(4\))69 b(.)42 b(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h
(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)113 b(34)125 3512
y(11.3)43 b(EAP)21 b(Back)o(end)e(Authenticator)g(State)i(Machine)e
(\(Figure)g(5\))24 b(.)41 b(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f
(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)113 b(34)125 3711
y(11.4)43 b(EAP)21 b(Full)g(Authenticator)d(State)j(Machine)e
(\(Figures)g(6)i(and)e(7\))69 b(.)42 b(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h
(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)113 b(34)0 4091
y Fe(1)119 b(Speci\002cation)32 b(of)e(Requir)n(ements)0
4376 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 4476
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 4575 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 4675 y(be)d(interpreted)f(as)h(described)f(in)i([RFC2119].)0
5656 y(V)-11 b(ollbrecht,)19 b(et)i(al.)965 b(Expires)19
b(January)g(17,)h(2005)963 b([P)o(age)20 b(4])p eop end
%%Page: 5 5
TeXDict begin 5 4 bop 0 100 a Fg(INTERNET)-8 b(-DRAFT)970
b(EAP)21 b(State)g(Machine)949 b(July)20 b(2004)0 390
y Fe(2)119 b(The)31 b(EAP)e(Switch)j(Model)0 675 y Fg(This)24
b(document)d(of)n(fers)i(a)h(proposed)e(state)i(machine)f(for)g(RFCs)i
([RFC3748])e(and)g([RFC3579])f(.)36 b(There)23 b(are)h(state)g(ma-)0
775 y(chines)d(for)f(the)i(peer)m(,)e(the)h(standalone)f(authenticator)
m(,)f(a)i(back)o(end)f(authenticator)f(and)i(a)g(full/pass-through)d
(authentica-)0 875 y(tor)-5 b(.)29 b(Accompan)o(ying)18
b(each)j(state)i(machine)d(diagram)g(is)j(a)f(description)e(of)h(the)h
(v)n(ariables,)e(the)i(functions)e(and)h(the)h(states)0
974 y(in)e(the)h(diagram.)i(Whene)n(v)o(er)c(possible,)g(the)i(same)f
(notation)f(has)h(been)g(used)g(in)g(each)g(of)g(the)g(state)h
(machines.)0 1174 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 1273 y(EAP)c(F)o(ailure)g(sent)h(from)e(the)h
(authenticator)e(to)i(the)g(peer)-5 b(.)28 b(The)20 b(EAP)i(Switches)f
(control)f(ne)o(gotiation)f(of)i(EAP)h(methods)0 1373
y(and)e(sequences)f(of)h(methods.)299 1541 y Fc(Peer)647
b(Peer)99 b(|)g(Authenticator)346 b(Auth)299 1641 y(Method)846
b(|)1095 b(Method)648 1741 y(\\)747 b(|)946 b(/)747 1840
y(\\)648 b(|)846 b(/)797 1940 y(Peer)448 b(|)647 b(Auth)797
2040 y(EAP)199 b(<-----|---------->)96 b(EAP)797 2139
y(Switch)348 b(|)647 b(Switch)1313 2521 y Fg(Figure)20
b(1:)25 b(EAP)c(Switch)f(Model)0 2792 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
2892 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 3091 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(outside)
g(the)g(scope)g(of)g(this)h(paper)-5 b(.)697 3260 y Fc(Peer)99
b(|)h(Authenticator)695 b(|)49 b(Backend)996 3359 y(|)747
b(/)100 b(Local)298 b(|)996 3459 y(|)648 b(/)199 b(Method)248
b(|)697 3559 y(Peer)99 b(|)399 b(Auth)846 b(|)398 b(Backend)697
3658 y(EAP)50 b(--|----->)98 b(EAP)896 b(|)298 b(->)50
b(EAP)648 3758 y(Switch)e(|)349 b(Switch)796 b(|)149
b(/)199 b(Server)996 3858 y(|)648 b(\\)747 b(|/)996 3957
y(|)g(\\)50 b(pass-through|)996 4057 y(|)1445 b(|)1199
4538 y Fg(Figure)19 b(2:)25 b(EAP)c(P)o(ass-Through)d(Model)0
4809 y(The)26 b(Full/P)o(ass-Through)e(state)k(machine)d(allo)n(ws)i(a)
g(N)m(AS)h(or)e(Edge)g(De)n(vice)g(to)h(pass)g(EAP)g(Response)g
(messages)f(to)h(a)0 4909 y(Back)o(end)22 b(Serv)o(er)f(where)h(the)g
(Authentication)f(Method)g(resides.)31 b(This)23 b(paper)e(includes)h
(a)h(state)g(machine)e(for)h(the)g(EAP)0 5009 y(authenticator)g(that)i
(supports)g(both)f(local)h(and)g(pass-through)d(methods)i(as)i(well)g
(as)g(a)g(state)f(machine)f(for)h(the)g(back)o(end)0
5108 y(authenticator)h(e)o(xisting)h(at)i(the)e(AAA)i(serv)o(er)-5
b(.)44 b(A)28 b(simple)f(\224Standalone\224)e(authenticator)g(is)j
(also)f(pro)o(vided)d(to)j(sho)n(w)g(a)0 5208 y(basic,)20
b(non-pass-through)c(authenticator')-5 b(s)19 b(beha)n(vior)-5
b(.)0 5407 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 5656 y(V)-11 b(ollbrecht,)19 b(et)i(al.)965
b(Expires)19 b(January)g(17,)h(2005)963 b([P)o(age)20
b(5])p eop end
%%Page: 6 6
TeXDict begin 6 5 bop 0 100 a Fg(INTERNET)-8 b(-DRAFT)970
b(EAP)21 b(State)g(Machine)949 b(July)20 b(2004)0 390
y(EAP)f(method)e(on)i(the)f(authenticator)f(or)h(from)g(the)g(peer)h
(through)d(the)j(authenticator)d(pass-through)g(method)i(to)h(the)f
(EAP)0 490 y(method)h(on)h(the)g(Back)o(end)f(EAP)i(serv)o(er)-5
b(.)0 689 y(Some)16 b(en)m(vironments)d(where)i(EAP)i(is)g(used,)f
(such)g(as)h(PPP)-9 b(,)16 b(may)g(support)f(peer)n(-to-peer)e
(operation.)22 b(That)16 b(is,)h(both)f(parties)0 789
y(act)26 b(as)g(peers)f(and)g(authenticators)f(at)i(the)f(same)h(time,)
g(in)g(tw)o(o)g(simultaneous)e(and)h(independent)d(EAP)k(con)m(v)o
(ersations.)0 888 y(In)20 b(this)h(case,)g(the)f(implementation)e(at)j
(each)g(node)e(has)i(to)f(perform)f(demultiple)o(xing)e(of)j(incoming)f
(EAP)i(pack)o(ets.)k(EAP)0 988 y(pack)o(ets)i(with)g(Code)g(set)h(to)f
(Response)g(are)g(deli)n(v)o(ered)e(to)i(the)g(authenticator)e(state)j
(machine)e(and)g(EAP)i(pack)o(ets)e(with)0 1088 y(Code)20
b(set)h(to)f(Request,)g(Success)h(or)f(F)o(ailure)g(are)g(deli)n(v)o
(ered)e(to)i(the)h(peer)e(state)i(machine.)0 1287 y(The)j(state)h
(diagrams)e(presented)g(in)h(this)h(document)d(ha)n(v)o(e)i(been)g
(coordinated)d(with)k(the)f(diagrams)f(in)i([IEEE-802-1X-)0
1386 y(REV].)f(The)g(format)f(of)h(the)g(diagrams)f(is)i(adapted)e
(from)g(the)h(format)f(therein.)36 b(The)24 b(interf)o(ace)f(between)h
(the)g(state)h(ma-)0 1486 y(chines)h(de\002ned)g(here)g(and)f(the)i
(IEEE-802-1X-REV)c(state)k(machines)f(is)h(also)g(e)o(xplained)d(in)j
(Appendix)d(F)k(of)e([IEEE-)0 1586 y(802-1X-REV].)0 1961
y Fe(3)119 b(Notational)30 b(con)-5 b(v)o(entions)31
b(used)f(in)h(state)d(diagrams)0 2263 y Ff(3.1)99 b(Notational)24
b(speci\002cs)0 2518 y Fg(The)29 b(follo)n(wing)f(state)i(diagrams)f
(ha)n(v)o(e)g(been)f(completed)g(based)h(on)g(the)h(con)m(v)o(entions)d
(speci\002ed)i(in)h([IEEE-802-1X-)0 2618 y(REV],)20 b(section)g(8.2.1.)
k(The)c(complete)f(te)o(xt)h(is)h(reproduced)c(here:)0
2817 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 2917 y(each)27 b(comprising)f(a)i(group)e(of)i
(connected,)f(mutually)f(e)o(xclusi)n(v)o(e)h(states.)48
b(Only)27 b(one)h(state)g(of)f(each)h(machine)e(can)i(be)0
3016 y(acti)n(v)o(e)20 b(at)g(an)o(y)g(gi)n(v)o(en)f(time.)0
3215 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 3315 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
3415 y(procedures)18 b(that)i(are)g(e)o(x)o(ecuted)f(on)g(entry)h(to)g
(the)g(state.)0 3614 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 3714 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
3813 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 3913
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 4012 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
4112 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 4212 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
4311 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 4411 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
4511 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 4710
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 4809 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 4909 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 5009
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 5108 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
5208 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 5308 y(atomic)k(with)i
(respect)e(to)h(the)g(e)o(x)o(ecution)e(of)i(an)o(y)f(other)g(state)h
(block)f(and)h(the)g(transition)f(condition)f(to)i(that)g(state)h(from)
0 5407 y(the)e(pre)n(vious)e(state)i(is)h(TR)m(UE)f(when)f(e)o(x)o
(ecution)e(commences.)34 b(The)24 b(order)e(of)i(e)o(x)o(ecution)d(of)j
(state)g(blocks)f(in)h(dif)n(ferent)0 5656 y(V)-11 b(ollbrecht,)19
b(et)i(al.)965 b(Expires)19 b(January)g(17,)h(2005)963
b([P)o(age)20 b(6])p eop end
%%Page: 7 7
TeXDict begin 7 6 bop 0 100 a Fg(INTERNET)-8 b(-DRAFT)970
b(EAP)21 b(State)g(Machine)949 b(July)20 b(2004)0 390
y(state)27 b(machines)e(is)i(unde\002ned)d(e)o(xcept)h(as)i
(constrained)d(by)i(their)g(transition)f(conditions.)41
b(A)27 b(v)n(ariable)e(that)h(is)h(set)g(to)f(a)0 490
y(particular)g(v)n(alue)h(in)g(a)h(state)g(block)f(retains)g(this)h(v)n
(alue)f(until)g(a)h(subsequent)e(state)i(block)e(e)o(x)o(ecutes)h(a)h
(procedure)c(that)0 589 y(modi\002es)c(the)g(v)n(alue.)0
789 y(On)e(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 888 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
988 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 1088 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
1187 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 1287 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 1486 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 1586 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
1685 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 1785 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
1885 y(been)h(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 1984 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
2084 y(the)f(state)h(box)o(es)e(appear)g(in.)0 2283 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 2383 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 2482 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 2582
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 2682 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 2781
y(reset)d(or)g(clear)g(the)h(v)n(alue)e(F)-6 b(ALSE.)0
2980 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 3080 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 3180 y(notational)f(shorthand)f(is)j(speci\002c)
g(to)f(this)h(document:)125 3462 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 3595 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
3694 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 3794 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 4131 y Ff(3.2)99 b(State)26
b(Machine)g(Symbols)125 4331 y Fb(\017)41 b Fg(\()20
b(\))208 4463 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 4563 y(actions)20 b(within)f(state)i(box)o
(es.)125 4729 y Fb(\017)41 b Fg(;)208 4862 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
4962 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 5128 y Fb(\017)41 b Fg(=)208 5260 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 5360 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)0
5656 y(V)-11 b(ollbrecht,)19 b(et)i(al.)965 b(Expires)19
b(January)g(17,)h(2005)963 b([P)o(age)20 b(7])p eop end
%%Page: 8 8
TeXDict begin 8 7 bop 0 100 a Fg(INTERNET)-8 b(-DRAFT)970
b(EAP)21 b(State)g(Machine)949 b(July)20 b(2004)208 390
y(action)h(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 490 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 656 y Fb(\017)41 b Fg(!)208 789 y(Logical)19
b(NO)m(T)h(operator)-5 b(.)125 955 y Fb(\017)41 b Fg(&&)208
1088 y(Logical)19 b(AND)i(operator)-5 b(.)125 1254 y
Fb(\017)41 b(jj)208 1386 y Fg(Logical)19 b(OR)i(operator)-5
b(.)125 1553 y Fb(\017)41 b Fg(if...then...)208 1685
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 1785 y(follo)n(wing)18 b(the)i(then)g(is)h(e)o(x)o
(ecuted.)125 1951 y Fb(\017)41 b(f)20 b Fg(statement)g(1,)g(...)25
b(statement)20 b(N)g Fb(g)208 2084 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
2183 y(single)g(statement.)125 2350 y Fb(\017)41 b Fg(!=)208
2482 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 2582 y(e)o(xpression)18
b(to)i(the)h(right.)125 2748 y Fb(\017)41 b Fg(==)208
2881 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 2980 y(e)o(xpression)18
b(to)i(the)h(right.)125 3147 y Fb(\017)41 b Fa(>)208
3279 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 3379 y(the)i(v)n(alue)f(of)h
(the)g(e)o(xpression)f(to)h(the)h(right.)125 3545 y Fb(\017)41
b Fa(<)p Fg(=)208 3678 y(Less)26 b(than)e(or)h(equal)g(to.)40
b(Ev)n(aluates)24 b(to)i(TR)m(UE)f(if)g(the)h(v)n(alue)e(of)h(the)g(e)o
(xpression)f(to)h(the)h(left)f(of)g(the)g(operator)f(is)208
3778 y(either)19 b(less)j(than)d(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 3944 y
Fb(\017)41 b Fg(++)208 4076 y(Increment)18 b(the)i(preceding)e(inte)o
(ger)h(operator)g(by)g(1.)0 4414 y Ff(3.3)99 b(Document)26
b(authority)0 4669 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 4769
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 4868 y(When)h(a)h(discrepanc)o(y)d(occurs)h(between)g
(an)o(y)h(part)g(of)g(this)g(document)f(\(te)o(xt)g(or)h(diagram\))f
(and)g(an)o(y)h(of)g(the)g(related)f(doc-)0 4968 y(uments)h(\()i
([RFC3748],)e([RFC3579],)g(etc.\))33 b(the)23 b(latter)g(\(the)g(other)
f(document\))f(is)j(considered)d(authoritati)n(v)o(e)g(and)h(tak)o(es)0
5067 y(precedence.)0 5656 y(V)-11 b(ollbrecht,)19 b(et)i(al.)965
b(Expires)19 b(January)g(17,)h(2005)963 b([P)o(age)20
b(8])p eop end
%%Page: 9 9
TeXDict begin 9 8 bop 0 100 a Fg(INTERNET)-8 b(-DRAFT)970
b(EAP)21 b(State)g(Machine)949 b(July)20 b(2004)0 390
y Fe(4)119 b(P)n(eer)30 b(State)g(Machine)0 675 y Fg(The)21
b(follo)n(wing)e(is)j(a)f(diagram)f(of)h(the)g(EAP)g(peer)g(state)g
(machine.)26 b(Also)c(included)d(is)j(an)f(e)o(xplanation)e(of)i(the)g
(primiti)n(v)o(es)0 775 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
974 y(\(see)d(draft-ietf-eap-statemachine-04.)o(pd)o(f)11
b(for)16 b(missing)h(diagram)e(or)h(refer)g(to)h(Appendix)e(A.1)h(if)h
(reading)e([.txt])h(v)o(ersion\))0 1311 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
1566 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 1666 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 1766 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
1965 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 2064 y(If)c(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 2164
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 2264 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
2584 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 2783 y Fb(\017)41 b Fg(eapReq)19 b(\(boolean\))208
2915 y(Set)j(to)f(TR)m(UE)h(in)f(lo)n(wer)g(layer)m(,)g(F)-6
b(ALSE)22 b(in)f(peer)g(state)h(machine.)28 b(Indicates)21
b(there)g(is)h(a)g(request)f(a)n(v)n(ailable)g(in)h(the)208
3015 y(lo)n(wer)d(layer)-5 b(.)125 3180 y Fb(\017)41
b Fg(eapReqData)19 b(\(EAP)h(pack)o(et\))208 3312 y(Set)g(in)h(lo)n
(wer)e(layer)h(when)g(eapReq)g(is)h(set)g(to)f(TR)m(UE.)g(The)g
(contents)f(of)h(the)g(a)n(v)n(ailable)g(request.)125
3476 y Fb(\017)41 b Fg(portEnabled)17 b(\(boolean\))208
3609 y(Indicates)25 b(that)h(the)g(EAP)g(peer)g(state)h(machine)e
(should)g(be)g(ready)g(for)h(communication.)39 b(This)27
b(is)g(set)f(to)h(TR)m(UE)208 3708 y(when)f(the)g(EAP)h(con)m(v)o
(ersation)d(is)j(started)g(by)f(the)h(lo)n(wer)f(layer)-5
b(.)44 b(If)26 b(at)h(an)o(y)f(point)g(the)g(communication)e(port)i(or)
208 3808 y(session)20 b(is)h(not)f(a)n(v)n(ailable,)g(portEnabled)e(is)
j(set)g(to)f(F)-6 b(ALSE)21 b(and)e(the)i(state)g(machine)e
(transitions)g(to)i(DISABLED.)208 3908 y(T)-7 b(o)23
b(a)n(v)n(oid)g(unnecessary)e(resets,)j(the)f(lo)n(wer)g(layer)f(may)h
(dampen)e(link)i(do)n(wn)f(indications)g(when)g(it)i(belie)n(v)o(es)e
(that)208 4007 y(the)h(link)h(is)g(only)f(temporarily)f(do)n(wn)h(and)g
(that)h(it)g(will)g(soon)g(be)f(back)g(up)g(\(see)h([RFC3748],)g
(Section)f(7.12\).)34 b(In)208 4107 y(this)20 b(case,)h(portEnabled)c
(may)j(not)g(al)o(w)o(ays)g(be)h(equal)e(to)h(the)h(the)f(\224link)g
(up\224)f(\003ag)i(of)f(the)g(lo)n(wer)f(layer)-5 b(.)125
4272 y Fb(\017)41 b Fg(idleWhile)20 b(\(inte)o(ger\))208
4404 y(Outside)g(timer)g(used)h(to)f(indicate)g(ho)n(w)g(long)g
(remains)g(before)f(the)h(peer)g(will)i(timeout)d(while)i(w)o(aiting)f
(for)g(a)h(v)n(alid)208 4503 y(request.)125 4668 y Fb(\017)41
b Fg(eapRestart)20 b(\(boolean\))208 4800 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
4965 y Fb(\017)41 b Fg(altAccept)19 b(\(boolean\))208
5097 y(Alternate)g(indication)g(of)h(success,)g(as)h(described)e(in)i
([RFC3748].)125 5262 y Fb(\017)41 b Fg(altReject)20 b(\(boolean\))208
5394 y(Alternate)f(indication)g(of)h(f)o(ailure,)f(as)i(described)e(in)
h([RFC3748].)0 5656 y(V)-11 b(ollbrecht,)19 b(et)i(al.)965
b(Expires)19 b(January)g(17,)h(2005)963 b([P)o(age)20
b(9])p eop end
%%Page: 10 10
TeXDict begin 10 9 bop 0 100 a Fg(INTERNET)-8 b(-DRAFT)970
b(EAP)21 b(State)g(Machine)949 b(July)20 b(2004)18 4722
y @beginspecial 0 @llx 0 @lly 595 @urx 737 @ury 4276
@rwi @setspecial
%%BeginDocument: ../../../diagrams/20040715_peer.eps
%!PS-Adobe-3.0 EPSF-3.0
%%Creator: ImageMark Software Labs
%%For: () ()
%%Title: C:\USERS\IETF\EAP\State machines\20040715_peer.eps
%%CreationDate: () ()
%%BoundingBox: 0 0 595 737
%%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 595 737
%AI3_TileBox: 0 0 595 737
%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.6073 467.3411 m
  187.6073 278.8952 L
  355.8070 278.8952 L
  355.8070 178.1431 L
  379.2879 178.1431 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 180.8985 m
  386.8353 178.1431 L
  378.5691 175.3877 L
  378.5691 180.8985 L
F
U
u
  0.000 0.000 0.000 0.000 k
0.0000 w
  39.5341 549.8835 m
  565.4576 549.8835 L
  565.4576 562.5824 L
  39.5341 562.5824 L
  39.5341 549.8835 L
B
U
0 To
1.0000 0.0000 0.0000 1.0000 295.6672 553.4775 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 536.3461 m
  565.4576 536.3461 L
  565.4576 549.8835 L
  39.5341 549.8835 L
  39.5341 536.3461 L
B
U
u
  0.000 0.000 0.000 0.000 k
  447.8136 492.9784 m
  566.5358 492.9784 L
  566.5358 506.5158 L
  447.8136 506.5158 L
  447.8136 492.9784 L
B
U
0 To
1.0000 0.0000 0.0000 1.0000 473.5707 497.4110 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 440.3860 m
  566.5358 440.3860 L
  566.5358 492.9784 L
  447.8136 492.9784 L
  447.8136 440.3860 L
B
U
0 To
1.0000 0.0000 0.0000 1.0000 453.8037 483.7537 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 474.2895 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 464.7055 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 455.1215 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
0 To
1.0000 0.0000 0.0000 1.0000 453.8037 445.5374 0 Tp
TP
/_Helvetica 8.0000 Tf
0.0000 Tc
 0 Tr
  0.000 0.000 0.000 1.000 k
(idleWhile = ClientTimeout\r) Tx
TO
  0.000 0.000 0.000 1.000 K
u
0.0000 w
1 j
  507.2346 506.5158 m
  507.2346 520.0532 L
  506.0366 520.0532 L
  506.0366 528.1997 L
S
U
u
  0.000 0.000 0.000 1.000 k
0.0000 w
  503.2812 527.4809 m
  506.0366 535.7471 L
  508.7920 527.4809 L
  503.2812 527.4809 L
F
U
u
  0.000 0.000 0.000 0.000 k
  497.4110 514.6622 m
  515.8602 514.6622 L
  515.8602 526.0433 L
  497.4110 526.0433 L
  497.4110 514.6622 L
F
U
0 To
1.0000 0.0000 0.0000 1.0000 498.3694 517.6572 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.9817 646.9218 m
  170.8353 646.9218 L
  170.8353 662.6156 L
  106.9817 662.6156 L
  106.9817 646.9218 L
B
U
0 To
1.0000 0.0000 0.0000 1.0000 120.8785 653.3910 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.9817 630.9884 m
  170.8353 630.9884 L
  170.8353 646.9218 L
  106.9817 646.9218 L
  106.9817 630.9884 L
B
U
u
  0.000 0.000 0.000 0.000 k
  241.9967 696.0399 m
  364.7920 696.0399 L
  364.7920 709.4576 L
  241.9967 709.4576 L
  241.9967 696.0399 L
B
U
0 To
1.0000 0.0000 0.0000 1.0000 285.4842 700.3527 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 585.5840 m
  364.7920 585.5840 L
  364.7920 696.0399 L
  241.9967 696.0399 L
  241.9967 585.5840 L
B
U
0 To
1.0000 0.0000 0.0000 1.0000 247.9867 686.8153 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.9867 677.2313 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.9867 667.6473 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.9867 658.0632 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
0 To
1.0000 0.0000 0.0000 1.0000 247.9867 648.4792 0 Tp
TP
/_Helvetica 8.0000 Tf
0.0000 Tc
 0 Tr
  0.000 0.000 0.000 1.000 k
(idleWhile = ClientTimeout\r) Tx
TO
  0.000 0.000 0.000 1.000 K
0 To
1.0000 0.0000 0.0000 1.0000 247.9867 638.8952 0 Tp
TP
/_Helvetica 8.0000 Tf
0.0000 Tc
 0 Tr
  0.000 0.000 0.000 1.000 k
(lastId = NONE\r) Tx
TO
  0.000 0.000 0.000 1.000 K
0 To
1.0000 0.0000 0.0000 1.0000 247.9867 629.3111 0 Tp
TP
/_Helvetica 8.0000 Tf
0.0000 Tc
 0 Tr
  0.000 0.000 0.000 1.000 k
(eapSuccess = FALSE\r) Tx
TO
  0.000 0.000 0.000 1.000 K
0 To
1.0000 0.0000 0.0000 1.0000 247.9867 619.8469 0 Tp
TP
/_Helvetica 8.0000 Tf
0.0000 Tc
 0 Tr
  0.000 0.000 0.000 1.000 k
(eapFail = FALSE\r) Tx
TO
  0.000 0.000 0.000 1.000 K
0 To
1.0000 0.0000 0.0000 1.0000 247.9867 610.2629 0 Tp
TP
/_Helvetica 8.0000 Tf
0.0000 Tc
 0 Tr
  0.000 0.000 0.000 1.000 k
(eapKeyData = NONE\r) Tx
TO
  0.000 0.000 0.000 1.000 K
0 To
1.0000 0.0000 0.0000 1.0000 247.9867 600.6789 0 Tp
TP
/_Helvetica 8.0000 Tf
0.0000 Tc
 0 Tr
  0.000 0.000 0.000 1.000 k
(eapKeyAvailable = FALSE\r) Tx
TO
  0.000 0.000 0.000 1.000 K
0 To
1.0000 0.0000 0.0000 1.0000 247.9867 591.0948 0 Tp
TP
/_Helvetica 8.0000 Tf
0.0000 Tc
 0 Tr
  0.000 0.000 0.000 1.000 k
(eapRestart = FALSE\r) Tx
TO
  0.000 0.000 0.000 1.000 K
u
0.0000 w
1 j
  170.8353 646.8020 m
  184.1331 646.8020 L
  184.1331 647.5208 L
  234.4493 647.5208 L
S
U
u
  0.000 0.000 0.000 1.000 k
0.0000 w
  233.7304 650.2762 m
  241.9967 647.5208 L
  233.7304 644.7654 L
  233.7304 650.2762 L
F
U
u
  0.000 0.000 0.000 0.000 k
  183.1747 642.4892 m
  228.2196 642.4892 L
  228.2196 653.8702 L
  183.1747 653.8702 L
  183.1747 642.4892 L
F
U
0 To
1.0000 0.0000 0.0000 1.0000 184.1331 645.4842 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.0000 w
1 j
  374.8552 506.2762 m
  374.8552 528.7987 L
S
U
u
  0.000 0.000 0.000 1.000 k
0.0000 w
  372.0998 528.0799 m
  374.8552 536.3461 L
  377.6106 528.0799 L
  372.0998 528.0799 L
F
U
u
  0.000 0.000 0.000 0.000 k
  365.2712 515.6206 m
  383.6007 515.6206 L
  383.6007 527.0017 L
  365.2712 527.0017 L
  365.2712 515.6206 L
F
U
0 To
1.0000 0.0000 0.0000 1.0000 366.2296 518.6156 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 467.3411 m
  218.9950 301.4176 L
  369.2246 301.4176 L
  369.2246 267.2745 L
  379.6473 267.2745 L
S
U
u
  0.000 0.000 0.000 1.000 k
0.0000 w
  378.9285 270.0300 m
  387.1947 267.2745 L
  378.9285 264.5191 L
  378.9285 270.0300 L
F
U
u
  0.000 0.000 0.000 0.000 k
0.0000 w
  387.1947 85.0582 m
  521.7304 85.0582 L
  521.7304 100.2729 L
  387.1947 100.2729 L
  387.1947 85.0582 L
B
U
0 To
1.0000 0.0000 0.0000 1.0000 430.4426 91.1681 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 71.5208 m
  521.7304 71.5208 L
  521.7304 85.0582 L
  387.1947 85.0582 L
  387.1947 71.5208 L
B
U
0 To
1.0000 0.0000 0.0000 1.0000 393.1847 75.8336 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 536.9451 m
  166.2829 514.3028 L
S
U
u
  0.000 0.000 0.000 1.000 k
0.0000 w
  169.0383 515.0216 m
  166.2829 506.7554 L
  163.5275 515.0216 L
  169.0383 515.0216 L
F
U
u
  0.000 0.000 0.000 0.000 k
  151.5474 516.5790 m
  181.4975 516.5790 L
  181.4975 527.9601 L
  151.5474 527.9601 L
  151.5474 516.5790 L
F
U
0 To
1.0000 0.0000 0.0000 1.0000 152.5058 519.5740 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
  89.4908 646.8020 m
  99.3145 646.8020 L
S
U
u
  0.000 0.000 0.000 1.000 k
0.0000 w
  98.7155 649.5574 m
  106.9817 646.8020 L
  98.7155 644.0466 L
  98.7155 649.5574 L
F
U
0 To
1.0000 0.0000 0.0000 1.0000 40.2529 644.8852 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
  387.1947 136.0932 m
  521.7304 136.0932 L
  521.7304 148.9118 L
  387.1947 148.9118 L
  387.1947 136.0932 L
B
U
0 To
1.0000 0.0000 0.0000 1.0000 428.1664 139.6872 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 112.9717 m
  521.7304 112.9717 L
  521.7304 136.0932 L
  387.1947 136.0932 L
  387.1947 112.9717 L
B
U
0 To
1.0000 0.0000 0.0000 1.0000 393.1847 126.8686 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
(processNotify\(eapReqData\)\r) Tx
TO
  0.000 0.000 0.000 1.000 K
0 To
1.0000 0.0000 0.0000 1.0000 393.1847 117.2845 0 Tp
TP
/_Helvetica 8.0000 Tf
0.0000 Tc
 0 Tr
  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 466.8619 m
  273.8636 449.3710 L
  338.9151 449.3710 L
  338.9151 459.3145 L
S
U
u
  0.000 0.000 0.000 1.000 k
0.0000 w
  336.1597 458.5957 m
  338.9151 466.8619 L
  341.6705 458.5957 L
  336.1597 458.5957 L
F
U
u
  0.000 0.000 0.000 0.000 k
  297.2246 443.9800 m
  315.7937 443.9800 L
  315.7937 455.3611 L
  297.2246 455.3611 L
  297.2246 443.9800 L
F
U
0 To
1.0000 0.0000 0.0000 1.0000 298.1830 446.9750 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 467.3411 m
  129.2646 198.1498 L
  326.6955 198.1498 L
  326.6955 85.8968 L
  379.6473 85.8968 L
S
U
u
  0.000 0.000 0.000 1.000 k
0.0000 w
  378.9285 88.6522 m
  387.1947 85.8968 L
  378.9285 83.1414 L
  378.9285 88.6522 L
F
U
u
0.0000 w
  158.4958 467.3411 m
  158.4958 236.3661 L
  341.1913 236.3661 L
  341.1913 129.8636 L
  379.2879 129.8636 L
S
U
u
  0.000 0.000 0.000 1.000 k
0.0000 w
  378.5691 132.6190 m
  386.8353 129.8636 L
  378.5691 127.1082 L
  378.5691 132.6190 L
F
U
u
0.0000 w
  251.4609 466.8619 m
  251.4609 368.2662 L
  307.2879 368.2662 L
S
U
u
  0.000 0.000 0.000 1.000 k
0.0000 w
  306.5691 371.0216 m
  314.8353 368.2662 L
  306.5691 365.5108 L
  306.5691 371.0216 L
F
U
u
0.0000 w
  521.4908 248.8253 m
  558.1498 248.8253 L
  558.1498 440.3860 L
S
U
u
  521.7304 131.7804 m
  558.1498 131.7804 L
  558.1498 440.3860 L
S
U
u
  521.7304 84.9384 m
  558.1498 84.9384 L
  558.1498 440.3860 L
S
U
u
  522.3295 369.8236 m
  558.1498 369.8236 L
  558.1498 432.8386 L
S
U
u
  0.000 0.000 0.000 1.000 k
0.0000 w
  555.3943 432.1198 m
  558.1498 440.3860 L
  560.9052 432.1198 L
  555.3943 432.1198 L
F
U
u
  0.000 0.000 0.000 0.000 k
  231.8136 188.3261 m
  290.2762 188.3261 L
  290.2762 209.2912 L
  231.8136 209.2912 L
  231.8136 188.3261 L
F
U
0 To
1.0000 0.0000 0.0000 1.0000 244.0333 200.9052 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.7720 191.3211 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
u
0.0000 w
1 j
  303.4542 585.5840 m
  303.4542 572.1664 L
  302.6156 572.1664 L
  302.6156 570.1298 L
S
U
u
  0.000 0.000 0.000 1.000 k
0.0000 w
  305.3710 570.8486 m
  302.6156 562.5824 L
  299.8602 570.8486 L
  305.3710 570.8486 L
F
U
u
  0.000 0.000 0.000 0.000 k
  294.2296 568.3328 m
  312.5591 568.3328 L
  312.5591 579.7138 L
  294.2296 579.7138 L
  294.2296 568.3328 L
F
U
0 To
1.0000 0.0000 0.0000 1.0000 295.1880 571.3278 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 466.8619 m
  96.7987 180.2995 L
  235.8869 180.2995 L
  235.8869 128.4260 L
S
U
u
  0.000 0.000 0.000 1.000 k
0.0000 w
  238.6423 129.0250 m
  235.8869 120.7587 L
  233.1314 129.0250 L
  238.6423 129.0250 L
F
U
u
0.0000 w
  62.5358 466.8619 m
  62.5358 170.2363 L
  99.4343 170.2363 L
  99.4343 128.4260 L
S
U
u
  0.000 0.000 0.000 1.000 k
0.0000 w
  102.1897 129.0250 m
  99.4343 120.7587 L
  96.6789 129.0250 L
  102.1897 129.0250 L
F
U
u
  0.000 0.000 0.000 0.000 k
  152.9850 134.1764 m
  318.6689 134.1764 L
  318.6689 174.3095 L
  152.9850 174.3095 L
  152.9850 134.1764 L
F
U
0 To
1.0000 0.0000 0.0000 1.0000 186.6489 165.9235 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 154.0632 156.3394 0 Tp
TP
/_Helvetica 8.0000 Tf
0.0000 Tc
 0 Tr
  0.000 0.000 0.000 1.000 k
(\(\(rxFailure && 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 169.1581 146.7554 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
0 To
1.0000 0.0000 0.0000 1.0000 207.4942 137.1714 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
u
  0.000 0.000 0.000 0.000 k
1 j
  63.4942 134.0566 m
  135.0150 134.0566 L
  135.0150 164.6057 L
  63.4942 164.6057 L
  63.4942 134.0566 L
F
U
0 To
1.0000 0.0000 0.0000 1.0000 74.2762 156.2196 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 64.4526 146.6356 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 67.5674 137.0516 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 545.5707 m
  30.7887 545.5707 L
  30.7887 25.5175 L
  99.4343 25.5175 L
  99.4343 67.3278 L
S
U
u
  0.000 0.000 0.000 1.000 k
0.0000 w
  96.6789 66.6090 m
  99.4343 74.8752 L
  102.1897 66.6090 L
  96.6789 66.6090 L
F
U
u
0.0000 w
  39.5341 553.3577 m
  21.0849 553.3577 L
  21.0849 9.8236 L
  221.2712 9.8236 L
  221.2712 85.2978 L
S
U
u
  0.000 0.000 0.000 1.000 k
0.0000 w
  218.5158 84.5790 m
  221.2712 92.8453 L
  224.0266 84.5790 L
  218.5158 84.5790 L
F
U
u
  0.000 0.000 0.000 0.000 k
  529.3977 126.6290 m
  547.8469 126.6290 L
  547.8469 138.0100 L
  529.3977 138.0100 L
  529.3977 126.6290 L
F
U
0 To
1.0000 0.0000 0.0000 1.0000 530.3561 129.6240 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 79.0682 m
  547.8469 79.0682 L
  547.8469 90.4493 L
  529.3977 90.4493 L
  529.3977 79.0682 L
F
U
0 To
1.0000 0.0000 0.0000 1.0000 530.3561 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
(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 273.1448 m
  521.7304 273.1448 L
  521.7304 286.8020 L
  387.1947 286.8020 L
  387.1947 273.1448 L
B
U
0 To
1.0000 0.0000 0.0000 1.0000 428.7654 277.5774 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 211.6872 m
  521.7304 211.6872 L
  521.7304 273.1448 L
  387.1947 273.1448 L
  387.1947 211.6872 L
B
U
0 To
1.0000 0.0000 0.0000 1.0000 393.1847 264.0399 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.1847 254.5757 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.1847 244.9917 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.1847 235.4077 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.1847 225.8236 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.1847 216.2396 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 286.8020 m
  454.5225 306.2097 L
S
U
u
  0.000 0.000 0.000 1.000 k
0.0000 w
  451.7671 305.4908 m
  454.5225 313.7571 L
  457.2779 305.4908 L
  451.7671 305.4908 L
F
U
u
0.0000 w
  375.4542 429.2446 m
  375.4542 442.6622 L
  375.6938 442.6622 L
  375.6938 459.1947 L
S
U
u
  0.000 0.000 0.000 1.000 k
0.0000 w
  372.9384 458.4759 m
  375.6938 466.7421 L
  378.4493 458.4759 L
  372.9384 458.4759 L
F
U
u
  0.000 0.000 0.000 0.000 k
  528.7987 242.7155 m
  547.3677 242.7155 L
  547.3677 254.0965 L
  528.7987 254.0965 L
  528.7987 242.7155 L
F
U
0 To
1.0000 0.0000 0.0000 1.0000 529.7571 245.7105 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
  221.2712 273.2646 m
  299.7404 273.2646 L
  299.7404 282.2496 L
  221.2712 282.2496 L
  221.2712 273.2646 L
F
U
u
  0.000 0.000 0.000 0.000 k
  199.3478 334.3627 m
  272.1864 334.3627 L
  272.1864 343.3478 L
  199.3478 343.3478 L
  199.3478 334.3627 L
F
U
u
  0.000 0.000 0.000 0.000 k
  221.9900 376.4126 m
  309.6839 376.4126 L
  309.6839 426.0100 L
  221.9900 426.0100 L
  221.9900 376.4126 L
F
U
0 To
1.0000 0.0000 0.0000 1.0000 248.8253 417.6240 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 408.0399 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 398.5757 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 388.9917 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 379.4077 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
  189.0449 307.1681 m
  302.7354 307.1681 L
  302.7354 356.7654 L
  189.0449 356.7654 L
  189.0449 307.1681 L
F
U
0 To
1.0000 0.0000 0.0000 1.0000 228.8186 348.3794 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 212.0466 338.7953 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 190.0033 329.3311 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 193.4775 319.7471 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 190.0033 310.1631 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
  363.5940 437.2712 m
  387.7937 437.2712 L
  387.7937 448.6522 L
  363.5940 448.6522 L
  363.5940 437.2712 L
F
U
0 To
1.0000 0.0000 0.0000 1.0000 364.6722 440.2662 0 Tp
TP
/_Helvetica 8.0000 Tf
0.0000 Tc
 0 Tr
0 j
  0.000 0.000 0.000 1.000 k
(ignore\r) Tx
TO
  0.000 0.000 0.000 1.000 K
u
0.0000 w
1 j
  521.7304 335.5607 m
  555.1547 335.5607 L
  555.3943 336.7587 L
  555.9933 337.7171 L
  557.0715 338.3161 L
  558.1498 338.5557 L
  559.3478 338.3161 L
  560.3062 337.7171 L
  560.9052 336.7587 L
  561.1448 335.5607 L
  573.3644 335.5607 L
  573.3644 41.2113 L
  275.9002 41.2113 L
  275.9002 86.1364 L
S
U
u
  0.000 0.000 0.000 1.000 k
0.0000 w
  273.1448 85.4176 m
  275.9002 93.6839 L
  278.6556 85.4176 L
  273.1448 85.4176 L
F
U
u
  0.000 0.000 0.000 0.000 k
0.0000 w
  387.1947 184.6123 m
  521.7304 184.6123 L
  521.7304 198.1498 L
  387.1947 198.1498 L
  387.1947 184.6123 L
B
U
0 To
1.0000 0.0000 0.0000 1.0000 438.2296 189.0449 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 160.0532 m
  521.7304 160.0532 L
  521.7304 184.6123 L
  387.1947 184.6123 L
  387.1947 160.0532 L
B
U
0 To
1.0000 0.0000 0.0000 1.0000 393.1847 175.5075 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
(processIdentity\(eapReqData\)\r) Tx
TO
  0.000 0.000 0.000 1.000 K
0 To
1.0000 0.0000 0.0000 1.0000 393.1847 165.9235 0 Tp
TP
/_Helvetica 8.0000 Tf
0.0000 Tc
 0 Tr
  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 180.1797 m
  558.1498 180.1797 L
  558.1498 440.3860 L
S
U
u
  0.000 0.000 0.000 0.000 k
0.0000 w
  223.5474 229.0582 m
  299.7404 229.0582 L
  299.7404 239.1215 L
  223.5474 239.1215 L
  223.5474 229.0582 L
F
U
0 To
1.0000 0.0000 0.0000 1.0000 243.4343 287.8802 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 226.6622 278.2962 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 204.6190 268.7121 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 213.6040 259.1281 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 244.2729 244.9917 0 Tp
TP
/_Helvetica 8.0000 Tf
0.0000 Tc
 0 Tr
  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 227.5008 235.4077 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 197.7903 225.8236 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 230.3760 216.2396 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 173.8303 m
  547.8469 173.8303 L
  547.8469 185.0915 L
  529.3977 185.0915 L
  529.3977 173.8303 L
F
U
0 To
1.0000 0.0000 0.0000 1.0000 530.3561 176.8253 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.4759 364.4326 m
  549.0449 364.4326 L
  549.0449 375.8136 L
  530.4759 375.8136 L
  530.4759 364.4326 L
F
U
0 To
1.0000 0.0000 0.0000 1.0000 531.4343 367.4276 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.7471 107.5807 m
  295.3078 107.5807 L
  295.3078 120.7587 L
  175.7471 120.7587 L
  175.7471 107.5807 L
B
U
0 To
1.0000 0.0000 0.0000 1.0000 220.5524 111.6539 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.7471 93.9235 m
  295.3078 93.9235 L
  295.3078 107.5807 L
  175.7471 107.5807 L
  175.7471 93.9235 L
B
U
0 To
1.0000 0.0000 0.0000 1.0000 181.7371 98.3561 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 107.5807 m
  159.2146 107.5807 L
  159.2146 120.7587 L
  39.5341 120.7587 L
  39.5341 107.5807 L
B
U
0 To
1.0000 0.0000 0.0000 1.0000 82.0632 111.6539 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 74.8752 m
  159.2146 74.8752 L
  159.2146 107.5807 L
  39.5341 107.5807 L
  39.5341 74.8752 L
B
U
0 To
1.0000 0.0000 0.0000 1.0000 45.5241 98.4759 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 88.8918 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 79.3078 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
  403.8469 29.2313 m
  506.6356 29.2313 L
  506.6356 50.0765 L
  403.8469 50.0765 L
  403.8469 29.2313 L
F
U
0 To
1.0000 0.0000 0.0000 1.0000 404.8053 41.6905 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\) &&\r) Tx
TO
  0.000 0.000 0.000 1.000 K
0 To
1.0000 0.0000 0.0000 1.0000 422.4160 32.2263 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.000 0.000 0.000 0.000 k
1 j
  399.8935 290.9950 m
  510.2296 290.9950 L
  510.2296 302.3760 L
  399.8935 302.3760 L
  399.8935 290.9950 L
F
U
0 To
1.0000 0.0000 0.0000 1.0000 400.8519 293.9900 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 493.2180 m
  293.0316 493.2180 L
  293.0316 506.7554 L
  39.5341 506.7554 L
  39.5341 493.2180 L
B
U
0 To
1.0000 0.0000 0.0000 1.0000 147.8336 497.5308 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 466.8619 m
  293.0316 466.8619 L
  293.0316 493.2180 L
  39.5341 493.2180 L
  39.5341 466.8619 L
B
U
0 To
1.0000 0.0000 0.0000 1.0000 45.5241 483.9933 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 474.5291 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.2629 410.7953 m
  521.7304 410.7953 L
  521.7304 424.3328 L
  322.2629 424.3328 L
  322.2629 410.7953 L
B
U
0 To
1.0000 0.0000 0.0000 1.0000 407.6805 415.1082 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.2629 317.1115 m
  521.7304 317.1115 L
  521.7304 410.7953 L
  322.2629 410.7953 L
  322.2629 317.1115 L
B
U
0 To
1.0000 0.0000 0.0000 1.0000 328.2529 401.6905 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.2529 392.1065 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.2529 382.5225 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.2529 372.9384 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.2529 363.3544 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.2529 353.7704 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.2529 344.1864 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.2529 334.6023 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.9617 334.6023 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.9285 334.6023 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.2529 325.1381 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.8153 31.8669 m
  159.2146 31.8669 L
  159.2146 62.4160 L
  38.8153 62.4160 L
  38.8153 31.8669 L
F
U
0 To
1.0000 0.0000 0.0000 1.0000 39.7737 54.0300 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.6506 44.3261 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 45.0449 34.8619 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
  160.6522 20.6057 m
  274.7022 20.6057 L
  274.7022 79.7870 L
  160.6522 79.7870 L
  160.6522 20.6057 L
F
U
0 To
1.0000 0.0000 0.0000 1.0000 198.8686 71.4010 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.2529 61.8170 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 161.6106 52.2329 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.2379 42.6489 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.1947 33.1847 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.1697 23.6007 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.000 0.000 0.000 0.000 k
0.0000 w
1 j
  315.4343 415.5874 m
  521.7304 415.5874 L
  521.7304 429.2446 L
  315.4343 429.2446 L
  315.4343 415.5874 L
B
U
0 To
1.0000 0.0000 0.0000 1.0000 404.3261 420.0200 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
  315.4343 313.7571 m
  521.7304 313.7571 L
  521.7304 415.5874 L
  315.4343 415.5874 L
  315.4343 313.7571 L
B
U
0 To
1.0000 0.0000 0.0000 1.0000 321.4243 406.4825 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
(ignore = m.check\(eapReqData\)\r) Tx
TO
  0.000 0.000 0.000 1.000 K
0 To
1.0000 0.0000 0.0000 1.0000 321.4243 397.0183 0 Tp
TP
/_Helvetica 8.0000 Tf
0.0000 Tc
 0 Tr
  0.000 0.000 0.000 1.000 k
(if \(!ignore\) {\r) Tx
TO
  0.000 0.000 0.000 1.000 K
0 To
1.0000 0.0000 0.0000 1.0000 321.4243 387.3145 0 Tp
TP
/_Helvetica 8.0000 Tf
0.0000 Tc
 0 Tr
  0.000 0.000 0.000 1.000 k
(   \(methodState, decision, allowNotifications\) =\r) Tx
TO
  0.000 0.000 0.000 1.000 K
0 To
1.0000 0.0000 0.0000 1.0000 321.4243 377.7304 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 321.4243 368.1464 0 Tp
TP
/_Helvetica 8.0000 Tf
0.0000 Tc
 0 Tr
  0.000 0.000 0.000 1.000 k
(   /* methodState is CONT, MAY_CONT, or \r) Tx
TO
  0.000 0.000 0.000 1.000 K
0 To
1.0000 0.0000 0.0000 1.0000 477.2845 368.1464 0 Tp
TP
86.955245 Tz
/_Helvetica 8.0000 Tf
0.0000 Tc
 0 Tr
  0.000 0.000 0.000 1.000 k
(DONE\r) Tx
TO
  0.000 0.000 0.000 1.000 K
0 To
1.0000 0.0000 0.0000 1.0000 498.3694 368.1464 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 321.4243 358.5624 0 Tp
TP
/_Helvetica 8.0000 Tf
0.0000 Tc
 0 Tr
  0.000 0.000 0.000 1.000 k
(   /* decision is \r) Tx
TO
  0.000 0.000 0.000 1.000 K
0 To
1.0000 0.0000 0.0000 1.0000 375.6938 358.5624 0 Tp
TP
86.955245 Tz
/_Helvetica 8.0000 Tf
0.0000 Tc
 0 Tr
  0.000 0.000 0.000 1.000 k
(FAIL\r) Tx
TO
  0.000 0.000 0.000 1.000 K
0 To
1.0000 0.0000 0.0000 1.0000 390.6689 358.5624 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 394.9817 358.5624 0 Tp
TP
86.955245 Tz
/_Helvetica 8.0000 Tf
0.0000 Tc
 0 Tr
  0.000 0.000 0.000 1.000 k
(COND_SUCC\r) Tx
TO
  0.000 0.000 0.000 1.000 K
0 To
1.0000 0.0000 0.0000 1.0000 440.1464 358.5624 0 Tp
TP
/_Helvetica 8.0000 Tf
0.0000 Tc
 0 Tr
  0.000 0.000 0.000 1.000 k
(, or \r) Tx
TO
  0.000 0.000 0.000 1.000 K
0 To
1.0000 0.0000 0.0000 1.0000 453.4443 358.5624 0 Tp
TP
86.955245 Tz
/_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 508.9118 358.5624 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 321.4243 348.9784 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 321.4243 339.3943 0 Tp
TP
/_Helvetica 8.0000 Tf
0.0000 Tc
 0 Tr
  0.000 0.000 0.000 1.000 k
(   if \(m.isKeyAvailable\(\)\)\r) Tx
TO
  0.000 0.000 0.000 1.000 K
0 To
1.0000 0.0000 0.0000 1.0000 321.4243 329.9301 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.9285 329.9301 0 Tp
TP
/_Helvetica 8.0000 Tf
0.0000 Tc
 0 Tr
  0.000 0.000 0.000 1.000 k
( = m.getKey\(\)\r) Tx
TO
  0.000 0.000 0.000 1.000 K
0 To
1.0000 0.0000 0.0000 1.0000 321.4243 320.3461 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
  315.4343 492.9784 m
  434.8752 492.9784 L
  434.8752 506.5158 L
  315.4343 506.5158 L
  315.4343 492.9784 L
B
U
0 To
1.0000 0.0000 0.0000 1.0000 359.1614 497.4110 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
  315.4343 466.8619 m
  434.8752 466.8619 L
  434.8752 492.9784 L
  315.4343 492.9784 L
  315.4343 466.8619 L
B
U
0 To
1.0000 0.0000 0.0000 1.0000 321.4243 483.7537 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 321.4243 474.2895 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
0 To
1.0000 0.0000 0.0000 1.0000 256.3727 722.8752 0 Tp
TP
/_Helvetica 8.0000 Tf
0.0000 Tc
 0 Tr
  0.000 0.000 0.000 1.000 k
(eapRestart && portEnabled\r) Tx
TO
  0.000 0.000 0.000 1.000 K
u
0.0000 w
1 j
  303.4542 714.6090 m
  303.4542 709.4576 L
S
U
u
  0.000 0.000 0.000 1.000 k
0.0000 w
  306.2097 717.7238 m
  303.4542 709.4576 L
  300.6988 717.7238 L
  306.2097 717.7238 L
F
U
%%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 4904 a(Figure)g(3:)25 b(EAP)c(Peer)f(State)h(Machine)
0 5221 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 5421 y Fb(\017)41 b Fg(eapResp)20 b(\(boolean\))0
5656 y(V)-11 b(ollbrecht,)19 b(et)i(al.)944 b(Expires)19
b(January)g(17,)h(2005)943 b([P)o(age)19 b(10])p eop
end
%%Page: 11 11
TeXDict begin 11 10 bop 0 100 a Fg(INTERNET)-8 b(-DRAFT)970
b(EAP)21 b(State)g(Machine)949 b(July)20 b(2004)208 390
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 555
y Fb(\017)41 b Fg(eapNoResp)19 b(\(boolean\))208 687
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 787 y(b)n(ut)c(there)f
(is)j(no)d(response)h(to)g(send.)125 951 y Fb(\017)41
b Fg(eapSuccess)19 b(\(boolean\))208 1084 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
1183 y(state.)125 1348 y Fb(\017)41 b Fg(eapF)o(ail)19
b(\(boolean\))208 1480 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 1580 y(state.)125 1744 y Fb(\017)41 b Fg(eapRespData)19
b(\(EAP)i(pack)o(et\))208 1876 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.)125 2041 y
Fb(\017)41 b Fg(eapK)n(e)o(yData)18 b(\(EAP)j(k)o(e)o(y\))208
2173 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 2273 y(Note)e(that)g(this)h(document)e(does)h(not)
g(yet)g(de\002ne)g(the)h(structure)e(of)h(the)h(type)f(\224EAP)g(k)o(e)
o(y\224.)40 b(W)-7 b(e)27 b(e)o(xpect)d(it)i(to)g(be)208
2373 y(de\002ned)19 b(in)h([I-D.ietf-eap-k)o(e)o(ying].)125
2537 y Fb(\017)41 b Fg(eapK)n(e)o(yA)-6 b(v)n(ailable)17
b(\(boolean\))208 2669 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
2769 y(Data.)0 3089 y Fd(4.1.3)81 b(Constants)125 3288
y Fb(\017)41 b Fg(ClientT)m(imeout)19 b(\(inte)o(ger\))208
3420 y(Con\002gurable)e(amount)g(of)i(time)h(to)f(w)o(ait)h(for)e(a)i
(v)n(alid)e(request)h(before)e(aborting,)h(initialized)g(by)h
(implementation-)208 3520 y(speci\002c)h(means)g(\(e.g.)k(a)d
(con\002guration)c(setting\).)0 3857 y Ff(4.2)99 b(Interface)26
b(between)h(peer)f(state)f(machine)h(and)f(methods)0
4112 y Fg(IN:)20 b(eapReqData)g(\(includes)f(reqId\))0
4311 y(OUT)l(:)h(ignore,)f(eapRespData,)g(allo)n(wNoti\002cations,)g
(decision)0 4511 y(IN/OUT)l(:)h(methodState,)f(\(method-speci\002c)e
(state\))0 4710 y(The)j(follo)n(wing)e(describes)i(the)g(interaction)f
(between)h(the)g(state)h(machine)e(and)g(EAP)i(methods.)0
4909 y(If)f(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
5108 y(Ne)o(xt,)26 b(the)f(method)f(must)h(decide)g(whether)f(to)i
(process)e(the)i(pack)o(et)e(or)h(silently)h(discard)e(it.)41
b(If)25 b(the)g(pack)o(et)g(appears)f(to)0 5208 y(ha)n(v)o(e)16
b(been)g(sent)g(by)g(someone)g(other)f(than)h(the)h(le)o(gitimate)f
(authenticator)e(\(for)i(instance,)g(message)g(inte)o(grity)g(check)f
(f)o(ails\))0 5308 y(and)22 b(the)h(method)f(is)h(capable)f(of)h
(treating)f(such)g(situations)h(as)h(non-f)o(atal,)d(the)i(method)f
(can)g(set)i(ignore=TR)m(UE.)c(In)j(this)0 5407 y(case,)d(the)h(method)
d(should)i(not)f(modify)g(an)o(y)g(other)h(v)n(ariables.)0
5656 y(V)-11 b(ollbrecht,)19 b(et)i(al.)944 b(Expires)19
b(January)g(17,)h(2005)943 b([P)o(age)19 b(11])p eop
end
%%Page: 12 12
TeXDict begin 12 11 bop 0 100 a Fg(INTERNET)-8 b(-DRAFT)970
b(EAP)21 b(State)g(Machine)949 b(July)20 b(2004)0 390
y(If)g(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 665 y Fb(\017)41
b Fg(Updates)19 b(its)j(o)n(wn)d(method-speci\002c)f(state.)125
828 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
992 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 1155 y Fb(\017)41 b Fg(Sets)21
b(ignore=F)-6 b(ALSE.)0 1430 y(Ne)o(xt,)20 b(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 1705 y Fb(\017)41 b Fg(methodState=CONT)l(:)208
1836 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 1936 y(al)o(w)o(ays)g(set)h
(to)g(F)-6 b(AIL.)125 2099 y Fb(\017)41 b Fg(methodState=MA)-9
b(Y)p 862 2099 25 4 v 27 w(CONT)l(:)208 2231 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 2330 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
2430 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 2529 y(not)f(use)i(it\),)f(set)h
(decision=F)-6 b(AIL.)19 b(Otherwise,)g(set)i(decision=COND)p
2298 2529 V 29 w(SUCC.)125 2693 y Fb(\017)41 b Fg(methodState=DONE:)208
2824 y(The)19 b(method)g(ne)n(v)o(er)g(continues)g(at)i(this)f(point,)g
(\(or)f(the)h(peer)g(sees)h(no)f(point)f(in)i(continuing)d(it\).)208
2955 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 3055 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
3155 y(state)20 b(can)f(occur)g(e)n(v)o(en)g(if)g(the)h(method)e(still)
j(has)f(additional)e(messages)i(left,)g(if)g(continuing)d(it)k(can)e
(not)g(change)g(the)208 3254 y(peer')-5 b(s)20 b(decision)f(to)h
(success\).)208 3386 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 3485
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 3485 V 29 w(SUCC.)208 3617 y(Otherwise,)f(we)h
(do)g(not)f(kno)n(w)g(what)g(the)h(serv)o(er')-5 b(s)21
b(decision)f(is,)h(b)n(ut)g(are)g(willing)f(to)h(use)g(the)g(access)h
(if)f(the)f(serv)o(er)208 3716 y(allo)n(ws.)25 b(In)20
b(this)g(case,)h(set)g(decision=COND)p 1562 3716 V 28
w(SUCC.)0 3991 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 4091 y(MA)-9
b(Y)p 190 4091 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
4191 y(cations=TR)m(UE.)f(Otherwise,)h(set)h(allo)n(wNoti\002cations=F)
-6 b(ALSE.)0 4527 y Ff(4.3)99 b(P)n(eer)26 b(state)f(machine)g(local)g
(v)o(ariables)0 4782 y Fd(4.3.1)81 b(Long-term)20 b(\(maintained)f
(between)i(pack)o(ets\))125 4981 y Fb(\017)41 b Fg(selectMethod)19
b(\(EAP)h(type\))208 5113 y(Set)g(in)h(GET)p 587 5113
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
5276 y Fb(\017)41 b Fg(methodState)18 b(\(enumeration\))208
5407 y(As)j(described)d(abo)o(v)o(e.)0 5656 y(V)-11 b(ollbrecht,)19
b(et)i(al.)944 b(Expires)19 b(January)g(17,)h(2005)943
b([P)o(age)19 b(12])p eop end
%%Page: 13 13
TeXDict begin 13 12 bop 0 100 a Fg(INTERNET)-8 b(-DRAFT)970
b(EAP)21 b(State)g(Machine)949 b(July)20 b(2004)125 390
y Fb(\017)41 b Fg(lastId)20 b(\(inte)o(ger\))208 519
y(0-255)e(or)i(NONE.)g(Set)h(in)f(SEND)p 1218 519 25
4 v 30 w(RESPONSE)h(state.)k(The)20 b(EAP)h(identi\002er)e(v)n(alue)h
(of)g(the)g(last)h(request.)125 678 y Fb(\017)41 b Fg(lastRespData)20
b(\(EAP)h(pack)o(et\))208 807 y(Set)f(in)h(SEND)p 642
807 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 965 y Fb(\017)41
b Fg(decision)19 b(\(enumeration\))208 1094 y(As)i(described)d(abo)o(v)
o(e)0 1358 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 1457 y(and)20 b(V)-9
b(endor)n(-T)i(ype.)0 1774 y Fd(4.3.2)81 b(Short-term)19
b(\(not)h(maintained)g(between)g(pack)o(ets\))125 1974
y Fb(\017)41 b Fg(rxReq)19 b(\(boolean\))208 2103 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 2261 y Fb(\017)41
b Fg(rxSuccess)19 b(\(boolean\))208 2390 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 2549 y Fb(\017)41 b Fg(rxF)o(ailure)18
b(\(boolean\))208 2678 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 2836 y Fb(\017)41 b Fg(reqId)18
b(\(inte)o(ger\))208 2965 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 3124 y Fb(\017)41 b Fg(reqMethod)18
b(\(EAP)i(type\))208 3253 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
3411 y Fb(\017)41 b Fg(ignore)18 b(\(boolean\))208 3540
y(Set)i(in)h(METHOD)f(state.)25 b(Indicates)20 b(whether)f(the)h
(method)f(has)h(decided)f(to)i(drop)e(the)h(current)f(pack)o(et.)0
3874 y Ff(4.4)99 b(P)n(eer)26 b(state)f(machine)g(pr)n(ocedur)n(es)0
4130 y Fg(NO)m(TE:)d(F)o(or)f(method)g(procedures,)f(the)i(method)f
(uses)h(its)h(internal)e(state)i(in)f(addition)f(to)h(the)g
(information)e(pro)o(vided)f(by)0 4229 y(the)k(EAP)h(layer)-5
b(.)33 b(The)23 b(only)f(ar)o(guments)f(that)i(are)g(e)o(xplicitly)f
(sho)n(wn)h(as)g(inputs)g(to)g(the)g(procedures)e(are)i(those)g(pro)o
(vided)0 4329 y(to)d(the)h(method)d(by)i(EAP)-9 b(.)20
b(Those)g(inputs)g(pro)o(vided)d(by)j(the)g(method')-5
b(s)20 b(internal)f(state)i(remain)e(implicit.)125 4592
y Fb(\017)41 b Fg(parseEapReq\(\))208 4721 y(Determine)24
b(the)i(code,)g(identi\002er)f(v)n(alue,)h(and)f(type)g(of)h(the)f
(current)g(request.)40 b(In)26 b(case)g(of)f(a)h(parsing)f(error)f
(\(e.g.)208 4821 y(the)g(length)g(\002eld)h(is)h(longer)e(than)g(the)h
(recei)n(v)o(ed)e(pack)o(et\),)i(rxReq,)g(rxSuccess,)g(and)g(rxF)o
(ailure)e(will)j(all)f(be)g(set)g(to)208 4920 y(F)-6
b(ALSE.)20 b(The)f(v)n(alues)h(of)g(reqId)f(and)h(reqMethod)e(may)h(be)
h(unde\002ned)e(as)j(a)g(result.)k(Returns)20 b(three)f(booleans,)g
(one)208 5020 y(inte)o(ger)m(,)f(and)i(one)f(EAP)i(type.)125
5179 y Fb(\017)41 b Fg(processNotify\(\))208 5308 y(Process)19
b(the)h(contents)e(of)i(Noti\002cation)e(Request)i(\(for)e(instance,)h
(display)g(it)h(to)g(the)g(user)f(or)g(log)g(it\).)25
b(Return)19 b(v)n(alue)208 5407 y(is)i(unde\002ned.)0
5656 y(V)-11 b(ollbrecht,)19 b(et)i(al.)944 b(Expires)19
b(January)g(17,)h(2005)943 b([P)o(age)19 b(13])p eop
end
%%Page: 14 14
TeXDict begin 14 13 bop 0 100 a Fg(INTERNET)-8 b(-DRAFT)970
b(EAP)21 b(State)g(Machine)949 b(July)20 b(2004)125 390
y Fb(\017)41 b Fg(b)n(uildNotify\(\))208 523 y(Create)20
b(the)g(appropriate)e(noti\002cation)h(response.)24 b(Returns)c(an)g
(EAP)h(pack)o(et.)125 689 y Fb(\017)41 b Fg(processIdentity\(\))208
822 y(Process)20 b(the)g(contents)g(of)g(Identity)f(Request.)25
b(Return)19 b(v)n(alue)h(is)h(unde\002ned.)125 988 y
Fb(\017)41 b Fg(b)n(uildIdentity\(\))208 1121 y(Create)20
b(the)g(appropriate)e(identity)i(response.)j(Returns)e(an)f(EAP)g(pack)
o(et.)125 1287 y Fb(\017)41 b Fg(m.check\(\))208 1420
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.)j(Returns)c(a)h(boolean.)125
1586 y Fb(\017)41 b Fg(m.process\(\))208 1719 y(Method)17
b(procedure)g(to)i(parse)g(and)f(process)h(a)g(request)g(for)f(that)h
(method.)k(Returns)c(a)h(methodState)d(enumeration,)208
1818 y(a)j(decision)g(enumeration,)d(and)j(a)g(boolean.)125
1984 y Fb(\017)41 b Fg(m.b)n(uildResp\(\))208 2117 y(Method)19
b(procedure)e(to)k(create)f(a)g(response)f(message.)25
b(Returns)20 b(an)g(EAP)h(pack)o(et.)125 2283 y Fb(\017)41
b Fg(m.getK)n(e)o(y\(\))208 2416 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.)25 b(Returns)20 b(an)g(EAP)h(k)o(e)o(y)-5 b(.)0
2753 y Ff(4.5)99 b(P)n(eer)26 b(state)f(machine)g(states)125
2952 y Fb(\017)41 b Fg(DISABLED)208 3085 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
3185 y(transition)19 b(to)h(INITIALIZE)e(occurs)i(when)f(the)i(port)e
(becomes)g(enabled.)125 3351 y Fb(\017)41 b Fg(INITIALIZE)208
3484 y(Initializes)20 b(v)n(ariables)f(when)h(the)g(state)h(machine)e
(is)i(acti)n(v)n(ated.)125 3650 y Fb(\017)41 b Fg(IDLE)208
3783 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
3949 y Fb(\017)41 b Fg(RECEIVED)208 4082 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 4248 y
Fb(\017)41 b Fg(GET)p 375 4248 25 4 v 29 w(METHOD)208
4380 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 4480 y(Nak)f(response)f(is)i(b)n(uilt.)125
4646 y Fb(\017)41 b Fg(METHOD)208 4779 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 4879 y(ate)i(response)f
(pack)o(et)h(is)h(b)n(uilt.)125 5045 y Fb(\017)41 b Fg(SEND)p
430 5045 V 29 w(RESPONSE)208 5177 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.)0 5656 y(V)-11 b(ollbrecht,)19 b(et)i(al.)944
b(Expires)19 b(January)g(17,)h(2005)943 b([P)o(age)19
b(14])p eop end
%%Page: 15 15
TeXDict begin 15 14 bop 0 100 a Fg(INTERNET)-8 b(-DRAFT)970
b(EAP)21 b(State)g(Machine)949 b(July)20 b(2004)125 390
y Fb(\017)41 b Fg(DISCARD)208 522 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
622 y(this)g(time.)125 787 y Fb(\017)41 b Fg(IDENTITY)-8
b(:)208 919 y(Handles)19 b(requests)h(for)g(Identity)f(method,)f(and)i
(b)n(uilds)g(a)h(response.)125 1084 y Fb(\017)41 b Fg(NO)m(TIFICA)-9
b(TION)208 1216 y(Handles)19 b(requests)h(for)g(Noti\002cation)f
(method,)g(and)g(b)n(uilds)h(a)h(response.)125 1381 y
Fb(\017)41 b Fg(RETRANSMIT)208 1513 y(Retransmits)20
b(the)g(pre)n(vious)f(response)g(pack)o(et.)125 1677
y Fb(\017)41 b Fg(SUCCESS)208 1810 y(A)20 b(\002nal)h(state)g
(indicating)d(success.)125 1974 y Fb(\017)41 b Fg(F)-6
b(AILURE)208 2107 y(A)20 b(\002nal)h(state)g(indicating)d(f)o(ailure.)0
2486 y Fe(5)119 b(Standalone)32 b(A)-6 b(uthenticator)31
b(State)e(Machine)0 2771 y Fg(The)c(follo)n(wing)f(is)j(a)f(diagram)e
(of)h(the)h(\224Standalone\224)e(EAP)i(authenticator)e(state)i
(machine.)40 b(This)26 b(diagram)e(should)h(be)0 2871
y(used)e(for)h(those)f(interested)g(in)h(a)g(self-contained,)e(or)i
(non-pass-through,)c(authenticator)-5 b(.)34 b(Included)22
b(is)i(an)g(e)o(xplanation)0 2970 y(of)c(the)g(primiti)n(v)o(es)f(and)h
(procedures)e(referenced)g(in)i(the)g(diagram,)f(as)i(well)g(as)g(a)f
(clari\002cation)g(of)f(notation.)0 3169 y(\(see)e
(draft-ietf-eap-statemachine-04.)o(pd)o(f)11 b(for)16
b(missing)h(diagram)e(or)h(refer)g(to)h(Appendix)e(A.2)h(if)h(reading)e
([.txt])h(v)o(ersion\))0 3506 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 3761 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 3861 y(Data)f(and)g
(setting)g(the)h(eapResp)f(signal)g(to)g(TR)m(UE.)0 4060
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 4160 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 4260 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 4359 y(mitting)g(this)g(message.)0 4679 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 4878 y Fb(\017)41 b Fg(eapResp)20
b(\(boolean\))208 5011 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 5110 y(a)n(v)n(ailable)19
b(for)h(processing.)125 5275 y Fb(\017)41 b Fg(eapRespData)19
b(\(EAP)i(pack)o(et\))208 5407 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.)0 5656 y(V)-11 b(ollbrecht,)19 b(et)i(al.)944
b(Expires)19 b(January)g(17,)h(2005)943 b([P)o(age)19
b(15])p eop end
%%Page: 16 16
TeXDict begin 16 15 bop 0 100 a Fg(INTERNET)-8 b(-DRAFT)970
b(EAP)21 b(State)g(Machine)949 b(July)20 b(2004)18 4133
y @beginspecial 0 @llx 0 @lly 600 @urx 644 @ury 4276
@rwi @setspecial
%%BeginDocument: ../../../diagrams/20040214_standalone_authenticator.eps
%!PS-Adobe-3.0 EPSF-3.0
%%Creator: ImageMark Software Labs
%%For: () ()
%%Title: C:\USERS\IETF\EAP\State machines\AuthenticatorSplit\20040214_standalone_authenticator.eps
%%CreationDate: () ()
%%BoundingBox: 0 0 600 644
%%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.0 0
%%+ procset Adobe_typography_AI5 1.0 0
%%+ procset Adobe_Illustrator_AI5 1.0 0
%AI5_FileFormat 3.0
%AI3_ColorUsage: Color
%AI3_TemplateBox: 0 0 600 644
%AI3_TileBox: 0 0 600 644
%AI3_DocumentPreview: None
%%Template:
%%PageOrigin:0.0000 0.0000
%%EndComments
%%BeginProlog
%%BeginResource: procset Adobe_level2_AI5 1.0 0
%%Title: (Adobe Illustrator (R) Version 5.0 Level 2 Emulation)
%%Version: 1.0 
%%CreationDate: (04/10/93) ()
%%Copyright: ((C) 1987-1993 Adobe Systems Incorporated All Rights Reserved)
userdict /Adobe_level2_AI5 21 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
		{
			5 packedarray
		} bind def
		/setcustomcolor
		{
			exch aload pop pop
			4
			{
				4 index mul 4 1 roll
			} repeat
			5 -1 roll pop
			setcmykcolor
		}
		def
	} if
	
	/gt38? mark {version 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
	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_Illustrator_AI5 1.1 0
%%Title: (Adobe Illustrator (R) Version 5.0 Full Prolog)
%%Version: 1.1 
%%CreationDate: (3/7/1994) ()
%%Copyright: ((C) 1987-1994 Adobe Systems Incorporated All Rights Reserved)
currentpacking true setpacking
userdict /Adobe_Illustrator_AI5_vars 79 dict dup begin
put
/_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 82 dict dup begin
put
/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
/H
{
} def
/h
{
	closepath
} def
/N
{
	_pola 0 eq
	{
		_doClip 1 eq
		{
			clip /_doClip 0 ddef
		} if
		newpath
	}
	{
		/CRender
		{
			N
		} ddef
	} ifelse
} def
/n
{
	N
} def
/F
{
	_pola 0 eq
	{
		_doClip 1 eq
		{
			gsave _pf grestore clip 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 clip 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 clip 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
/@
{
} def
/&
{
} 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
		fill
	} 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
		fill
	} 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
		fill
	} 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
/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 ashow
				} 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 awidthshow
				} 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
/A
{
	pop
} def
/annotatepage
{
userdict /annotatepage 2 copy known {get exec} {pop pop} ifelse
} 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
	}
	{
		stop
	} ifelse
} 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 clip
		} 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
currentdict readonly pop
end
setpacking
%%EndResource
%%EndProlog
%%BeginSetup
Adobe_level2_AI5 /initialize get exec
Adobe_Illustrator_AI5_vars Adobe_Illustrator_AI5 Adobe_typography_AI5 /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
[
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
/_Helvetica/Helvetica 0 0 1 TZ
%AI3_EndEncoding AdobeType
%AI3_BeginEncoding: _Helvetica-Bold Helvetica-Bold
[
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
/_Helvetica-Bold/Helvetica-Bold 0 0 1 TZ
%AI3_EndEncoding AdobeType
%AI3_BeginEncoding: _Helvetica-Oblique Helvetica-Oblique
[
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
/_Helvetica-Oblique/Helvetica-Oblique 0 0 1 TZ
%AI3_EndEncoding AdobeType
%AI3_BeginEncoding: _Helvetica-BoldOblique Helvetica-BoldOblique
[
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
/_Helvetica-BoldOblique/Helvetica-BoldOblique 0 0 1 TZ
%AI3_EndEncoding AdobeType
%AI3_BeginEncoding: _Times-Roman Times-Roman
[
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
/_Times-Roman/Times-Roman 0 0 1 TZ
%AI3_EndEncoding AdobeType
%AI3_BeginEncoding: _Times-Bold Times-Bold
[
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
/_Times-Bold/Times-Bold 0 0 1 TZ
%AI3_EndEncoding AdobeType
%AI3_BeginEncoding: _Times-Italic Times-Italic
[
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
/_Times-Italic/Times-Italic 0 0 1 TZ
%AI3_EndEncoding AdobeType
%AI3_BeginEncoding: _Times-BoldItalic Times-BoldItalic
[
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
/_Times-BoldItalic/Times-BoldItalic 0 0 1 TZ
%AI3_EndEncoding AdobeType
%AI3_BeginEncoding: _Courier Courier
[
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
/_Courier/Courier 0 0 1 TZ
%AI3_EndEncoding AdobeType
%AI3_BeginEncoding: _Courier-Bold Courier-Bold
[
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
/_Courier-Bold/Courier-Bold 0 0 1 TZ
%AI3_EndEncoding AdobeType
%AI3_BeginEncoding: _Courier-Oblique Courier-Oblique
[
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
/_Courier-Oblique/Courier-Oblique 0 0 1 TZ
%AI3_EndEncoding AdobeType
%AI3_BeginEncoding: _Courier-BoldOblique Courier-BoldOblique
[
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
/_Courier-BoldOblique/Courier-BoldOblique 0 0 1 TZ
%AI3_EndEncoding AdobeType
%AI3_BeginEncoding: _Symbol Symbol
[
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
/_Symbol/Symbol 0 0 1 TZ
%AI3_EndEncoding AdobeType
%%EndSetup

u
 [] 0 d
0.5000 w
  0.000 0.000 0.000 1.000 K
1 J
1 j
  486.5092 129.1448 m
  486.5092 171.0749 L
S
U
u
  0.000 0.000 0.000 1.000 k
0.5000 w
  0.000 0.000 0.000 1.000 K
  483.7537 170.3561 m
  486.5092 178.6223 L
  489.2646 170.3561 L
  483.7537 170.3561 L
F
U
u
0.5000 w
  485.3111 265.9567 m
  485.3111 288.7188 L
S
U
u
  0.000 0.000 0.000 1.000 k
0.5000 w
  482.5557 288.0000 m
  485.3111 296.2662 L
  488.0666 288.0000 L
  482.5557 288.0000 L
F
U
u
0.5000 w
  379.7671 456.6789 m
  379.7671 482.0765 L
S
U
u
  0.000 0.000 0.000 1.000 k
0.5000 w
  377.0116 481.4775 m
  379.7671 489.7438 L
  382.5225 481.4775 L
  377.0116 481.4775 L
F
U
u
  0.000 0.000 0.000 0.000 k
  370.0632 467.3411 m
  388.5125 467.3411 L
  388.5125 478.7221 L
  370.0632 478.7221 L
  370.0632 467.3411 L
F
U
0 To
1.0000 0.0000 0.0000 1.0000 371.1414 470.3361 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.5000 w
1 j
  503.7604 345.0250 m
  503.7604 358.4426 L
  503.7604 358.4426 L
  503.7604 390.7887 L
S
U
u
  0.000 0.000 0.000 1.000 k
0.5000 w
  501.0050 390.1897 m
  503.7604 398.3361 L
  506.5158 390.1897 L
  501.0050 390.1897 L
F
U
u
  0.000 0.000 0.000 0.000 k
  493.8170 366.3494 m
  513.7038 366.3494 L
  513.7038 377.7304 L
  493.8170 377.7304 L
  493.8170 366.3494 L
F
U
0 To
1.0000 0.0000 0.0000 1.0000 494.7754 369.3444 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.5000 w
1 j
  379.1681 344.7854 m
  379.1681 358.4426 L
  379.2879 358.4426 L
  379.2879 409.4775 L
S
U
u
  0.000 0.000 0.000 1.000 k
0.5000 w
  376.5324 408.8785 m
  379.2879 417.1448 L
  382.0433 408.8785 L
  376.5324 408.8785 L
F
U
u
  0.000 0.000 0.000 0.000 k
  367.9068 368.2662 m
  392.1065 368.2662 L
  392.1065 379.6473 L
  367.9068 379.6473 L
  367.9068 368.2662 L
F
U
0 To
1.0000 0.0000 0.0000 1.0000 368.9850 371.2612 0 Tp
TP
/_Helvetica 8.0000 Tf
0.0000 Tc
 0 Tr
0 j
  0.000 0.000 0.000 1.000 k
(ignore\r) Tx
TO
  0.000 0.000 0.000 1.000 K
u
  0.000 0.000 0.000 0.000 k
0.5000 w
1 j
  37.3777 503.2812 m
  563.3012 503.2812 L
  563.3012 516.0998 L
  37.3777 516.0998 L
  37.3777 503.2812 L
B
U
0 To
1.0000 0.0000 0.0000 1.0000 293.5108 506.8752 0 Tp
TP
/_Helvetica 8.0000 Tf
0.0000 Tc
 0 Tr
0.5000 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.5000 w
1 j
  37.3777 489.7438 m
  563.3012 489.7438 L
  563.3012 503.2812 L
  37.3777 503.2812 L
  37.3777 489.7438 L
B
U
u
  0.000 0.000 0.000 0.000 k
  444.4592 443.1414 m
  563.3012 443.1414 L
  563.3012 456.6789 L
  444.4592 456.6789 L
  444.4592 443.1414 L
B
U
0 To
1.0000 0.0000 0.0000 1.0000 473.0915 447.4542 0 Tp
TP
/_Helvetica 8.0000 Tf
0.0000 Tc
 0 Tr
0.5000 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.5000 w
1 j
  444.4592 398.3361 m
  563.3012 398.3361 L
  563.3012 443.1414 L
  444.4592 443.1414 L
  444.4592 398.3361 L
B
U
0 To
1.0000 0.0000 0.0000 1.0000 450.4493 433.9168 0 Tp
TP
/_Helvetica 8.0000 Tf
0.0000 Tc
 0 Tr
0.5000 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 424.3328 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 414.7488 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 405.1647 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.5000 w
1 j
  503.8802 456.6789 m
  503.8802 470.0965 L
  503.8802 470.0965 L
  503.8802 481.5973 L
S
U
u
  0.000 0.000 0.000 1.000 k
0.5000 w
  501.1248 480.8785 m
  503.8802 489.1448 L
  506.6356 480.8785 L
  501.1248 480.8785 L
F
U
u
  0.000 0.000 0.000 0.000 k
  495.2546 466.9817 m
  513.7038 466.9817 L
  513.7038 478.3627 L
  495.2546 478.3627 L
  495.2546 466.9817 L
F
U
0 To
1.0000 0.0000 0.0000 1.0000 496.2130 469.9767 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.5000 w
1 j
  131.5408 566.0566 m
  229.1780 566.0566 L
  229.1780 580.1930 L
  131.5408 580.1930 L
  131.5408 566.0566 L
B
U
0 To
1.0000 0.0000 0.0000 1.0000 162.5691 570.9684 0 Tp
TP
/_Helvetica 8.0000 Tf
0.0000 Tc
 0 Tr
0.5000 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.5000 w
1 j
  131.5408 552.5191 m
  229.1780 552.5191 L
  229.1780 566.0566 L
  131.5408 566.0566 L
  131.5408 552.5191 L
B
U
u
  0.000 0.000 0.000 0.000 k
  300.9384 602.3561 m
  445.6572 602.3561 L
  445.6572 615.8935 L
  300.9384 615.8935 L
  300.9384 602.3561 L
B
U
0 To
1.0000 0.0000 0.0000 1.0000 355.3278 606.7887 0 Tp
TP
/_Helvetica 8.0000 Tf
0.0000 Tc
 0 Tr
0.5000 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.5000 w
1 j
  300.9384 527.9601 m
  445.6572 527.9601 L
  445.6572 602.3561 L
  300.9384 602.3561 L
  300.9384 527.9601 L
B
U
0 To
1.0000 0.0000 0.0000 1.0000 306.9285 593.2512 0 Tp
TP
/_Helvetica 8.0000 Tf
0.0000 Tc
 0 Tr
0.5000 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
0 To
1.0000 0.0000 0.0000 1.0000 306.9285 583.6672 0 Tp
TP
/_Helvetica 8.0000 Tf
0.0000 Tc
 0 Tr
  0.000 0.000 0.000 1.000 k
(eapSuccess = FALSE\r) Tx
TO
  0.000 0.000 0.000 1.000 K
0 To
1.0000 0.0000 0.0000 1.0000 306.9285 574.0832 0 Tp
TP
/_Helvetica 8.0000 Tf
0.0000 Tc
 0 Tr
  0.000 0.000 0.000 1.000 k
(eapFail = FALSE\r) Tx
TO
  0.000 0.000 0.000 1.000 K
0 To
1.0000 0.0000 0.0000 1.0000 306.9285 564.4992 0 Tp
TP
/_Helvetica 8.0000 Tf
0.0000 Tc
 0 Tr
  0.000 0.000 0.000 1.000 k
(eapTimeout = FALSE\r) Tx
TO
  0.000 0.000 0.000 1.000 K
0 To
1.0000 0.0000 0.0000 1.0000 306.9285 554.9151 0 Tp
TP
/_Helvetica 8.0000 Tf
0.0000 Tc
 0 Tr
  0.000 0.000 0.000 1.000 k
(eapKeyData = NONE\r) Tx
TO
  0.000 0.000 0.000 1.000 K
0 To
1.0000 0.0000 0.0000 1.0000 306.9285 545.3311 0 Tp
TP
/_Helvetica 8.0000 Tf
0.0000 Tc
 0 Tr
  0.000 0.000 0.000 1.000 k
(eapKeyAvailable = FALSE\r) Tx
TO
  0.000 0.000 0.000 1.000 K
0 To
1.0000 0.0000 0.0000 1.0000 306.9285 535.7471 0 Tp
TP
/_Helvetica 8.0000 Tf
0.0000 Tc
 0 Tr
  0.000 0.000 0.000 1.000 k
(eapRestart = FALSE\r) Tx
TO
  0.000 0.000 0.000 1.000 K
u
0.5000 w
1 j
  229.1780 566.2962 m
  242.7155 566.2962 L
  242.7155 571.9268 L
  293.3910 571.9268 L
S
U
u
  0.000 0.000 0.000 1.000 k
0.5000 w
  292.6722 574.6822 m
  300.9384 571.9268 L
  292.6722 569.1714 L
  292.6722 574.6822 L
F
U
u
0.5000 w
  445.6572 571.9268 m
  576.8386 571.9268 L
  576.8386 109.8569 L
  570.3694 109.8569 L
S
U
u
  0.000 0.000 0.000 1.000 k
0.5000 w
  570.9684 107.2213 m
  562.7022 109.8569 L
  570.9684 112.6123 L
  570.9684 107.2213 L
F
U
u
  0.000 0.000 0.000 0.000 k
0.5000 w
  319.9867 443.1414 m
  438.8286 443.1414 L
  438.8286 456.6789 L
  319.9867 456.6789 L
  319.9867 443.1414 L
B
U
0 To
1.0000 0.0000 0.0000 1.0000 363.4742 447.4542 0 Tp
TP
/_Helvetica 8.0000 Tf
0.0000 Tc
 0 Tr
0.5000 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.5000 w
1 j
  319.9867 416.9052 m
  438.8286 416.9052 L
  438.8286 443.1414 L
  319.9867 443.1414 L
  319.9867 416.9052 L
B
U
0 To
1.0000 0.0000 0.0000 1.0000 325.9767 433.9168 0 Tp
TP
/_Helvetica 8.0000 Tf
0.0000 Tc
 0 Tr
0.5000 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 424.3328 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.5000 w
1 j
  402.8885 44.4459 m
  563.3012 44.4459 L
  563.3012 57.9834 L
  402.8885 57.9834 L
  402.8885 44.4459 L
B
U
0 To
1.0000 0.0000 0.0000 1.0000 465.6639 48.7587 0 Tp
TP
/_Helvetica 8.0000 Tf
0.0000 Tc
 0 Tr
0.5000 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.5000 w
1 j
  402.8885 1.3178 m
  563.3012 1.3178 L
  563.3012 44.4459 L
  402.8885 44.4459 L
  402.8885 1.3178 L
B
U
0 To
1.0000 0.0000 0.0000 1.0000 408.8785 35.3411 0 Tp
TP
/_Helvetica 8.0000 Tf
0.0000 Tc
 0 Tr
0.5000 w
0 j
  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 25.7571 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.1730 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 6.5890 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.5000 w
1 j
  232.5324 43.8469 m
  392.9451 43.8469 L
  392.9451 57.3844 L
  232.5324 57.3844 L
  232.5324 43.8469 L
B
U
0 To
1.0000 0.0000 0.0000 1.0000 297.8236 48.2795 0 Tp
TP
/_Helvetica 8.0000 Tf
0.0000 Tc
 0 Tr
0.5000 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.5000 w
1 j
  232.5324 1.3178 m
  392.9451 1.3178 L
  392.9451 43.8469 L
  232.5324 43.8469 L
  232.5324 1.3178 L
B
U
0 To
1.0000 0.0000 0.0000 1.0000 238.5225 34.7421 0 Tp
TP
/_Helvetica 8.0000 Tf
0.0000 Tc
 0 Tr
0.5000 w
0 j
  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.1581 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.5000 w
1 j
  245.9501 416.6656 m
  245.9501 325.1381 L
  268.7121 325.1381 L
S
U
u
  0.000 0.000 0.000 1.000 k
0.5000 w
  267.9933 327.8935 m
  276.2596 325.1381 L
  267.9933 322.3827 L
  267.9933 327.8935 L
F
U
u
  0.000 0.000 0.000 0.000 k
0.5000 w
  156.6988 115.6073 m
  242.7155 115.6073 L
  242.7155 129.1448 L
  156.6988 129.1448 L
  156.6988 115.6073 L
B
U
0 To
1.0000 0.0000 0.0000 1.0000 193.3577 120.0399 0 Tp
TP
/_Helvetica 8.0000 Tf
0.0000 Tc
 0 Tr
0.5000 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.5000 w
1 j
  156.6988 91.0483 m
  242.7155 91.0483 L
  242.7155 115.6073 L
  156.6988 115.6073 L
  156.6988 91.0483 L
B
U
0 To
1.0000 0.0000 0.0000 1.0000 162.6889 106.5025 0 Tp
TP
/_Helvetica 8.0000 Tf
0.0000 Tc
 0 Tr
0.5000 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 96.9185 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.5000 w
1 j
  242.5957 110.4559 m
  256.0133 110.4559 L
  256.0133 110.3361 L
  268.7121 110.3361 L
S
U
u
  0.000 0.000 0.000 1.000 k
0.5000 w
  267.9933 113.0915 m
  276.2596 110.3361 L
  267.9933 107.5807 L
  267.9933 113.0915 L
F
U
u
  0.000 0.000 0.000 0.000 k
  250.1431 105.0649 m
  268.4725 105.0649 L
  268.4725 116.3261 L
  250.1431 116.3261 L
  250.1431 105.0649 L
F
U
0 To
1.0000 0.0000 0.0000 1.0000 251.1015 107.9401 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.5000 w
1 j
  313.2779 91.0483 m
  313.2779 75.3544 L
  313.3977 75.3544 L
  313.3977 64.9318 L
S
U
u
  0.000 0.000 0.000 1.000 k
0.5000 w
  316.1531 65.6506 m
  313.3977 57.3844 L
  310.6423 65.6506 L
  316.1531 65.6506 L
F
U
u
  0.000 0.000 0.000 0.000 k
  273.7438 68.8852 m
  352.8120 68.8852 L
  352.8120 80.2662 L
  273.7438 80.2662 L
  273.7438 68.8852 L
F
U
0 To
1.0000 0.0000 0.0000 1.0000 274.7022 71.8802 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.5000 w
1 j
  482.7953 91.0483 m
  482.7953 77.6306 L
  483.1547 77.6306 L
  483.1547 65.5308 L
S
U
u
  0.000 0.000 0.000 1.000 k
0.5000 w
  485.9101 66.2496 m
  483.1547 57.9834 L
  480.3993 66.2496 L
  485.9101 66.2496 L
F
U
u
  0.000 0.000 0.000 0.000 k
  441.1048 69.2446 m
  525.2047 69.2446 L
  525.2047 80.6256 L
  441.1048 80.6256 L
  441.1048 69.2446 L
F
U
0 To
1.0000 0.0000 0.0000 1.0000 442.1830 72.2396 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.5000 w
1 j
  338.1963 178.6223 m
  338.1963 159.4542 L
  338.4359 159.4542 L
  338.4359 136.8120 L
S
U
u
  0.000 0.000 0.000 1.000 k
0.5000 w
  341.1913 137.4110 m
  338.4359 129.1448 L
  335.6805 137.4110 L
  341.1913 137.4110 L
F
U
u
  0.000 0.000 0.000 0.000 k
  299.3810 148.6722 m
  377.6106 148.6722 L
  377.6106 160.0532 L
  299.3810 160.0532 L
  299.3810 148.6722 L
F
U
0 To
1.0000 0.0000 0.0000 1.0000 300.3394 151.6672 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.5000 w
1 j
  199.5874 416.5458 m
  199.5874 136.8120 L
S
U
u
  0.000 0.000 0.000 1.000 k
0.5000 w
  202.3428 137.4110 m
  199.5874 129.1448 L
  196.8319 137.4110 L
  202.3428 137.4110 L
F
U
u
0.5000 w
  104.2263 389.9501 m
  104.2263 376.5324 L
  104.1065 376.5324 L
  104.1065 36.8985 L
S
U
u
  0.000 0.000 0.000 1.000 k
0.5000 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.5000 w
  276.2596 115.6073 m
  563.3012 115.6073 L
  563.3012 129.1448 L
  276.2596 129.1448 L
  276.2596 115.6073 L
B
U
0 To
1.0000 0.0000 0.0000 1.0000 388.8719 120.0399 0 Tp
TP
/_Helvetica 8.0000 Tf
0.0000 Tc
 0 Tr
0.5000 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.5000 w
1 j
  276.2596 91.0483 m
  563.3012 91.0483 L
  563.3012 115.6073 L
  276.2596 115.6073 L
  276.2596 91.0483 L
B
U
0 To
1.0000 0.0000 0.0000 1.0000 282.2496 106.5025 0 Tp
TP
/_Helvetica 8.0000 Tf
0.0000 Tc
 0 Tr
0.5000 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 353.6506 m
  317.5907 353.6506 L
  317.5907 384.1997 L
  202.8220 384.1997 L
  202.8220 353.6506 L
F
U
0 To
1.0000 0.0000 0.0000 1.0000 241.1581 375.8136 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 366.2296 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 356.6456 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 148.1930 m
  266.6755 148.1930 L
  266.6755 197.7903 L
  132.7388 197.7903 L
  132.7388 148.1930 L
F
U
0 To
1.0000 0.0000 0.0000 1.0000 180.5391 189.4043 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 179.8203 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 170.3561 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 160.7720 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 151.1880 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 151.1880 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.5000 w
1 j
  37.8569 443.1414 m
  170.3561 443.1414 L
  170.3561 456.6789 L
  37.8569 456.6789 L
  37.8569 443.1414 L
B
U
0 To
1.0000 0.0000 0.0000 1.0000 80.1464 447.4542 0 Tp
TP
/_Helvetica 8.0000 Tf
0.0000 Tc
 0 Tr
0.5000 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.5000 w
1 j
  37.8569 389.9501 m
  170.3561 389.9501 L
  170.3561 443.1414 L
  37.8569 443.1414 L
  37.8569 389.9501 L
B
U
0 To
1.0000 0.0000 0.0000 1.0000 43.8469 433.9168 0 Tp
TP
/_Helvetica 8.0000 Tf
0.0000 Tc
 0 Tr
0.5000 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 424.3328 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 414.7488 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 405.1647 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 395.5807 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.5000 w
1 j
  37.8569 423.2546 m
  21.0849 423.2546 L
  21.0849 502.9218 L
  29.8303 502.9218 L
S
U
u
  0.000 0.000 0.000 1.000 k
0.5000 w
  29.2313 505.6772 m
  37.3777 502.9218 L
  29.2313 500.1664 L
  29.2313 505.6772 L
F
U
u
  0.000 0.000 0.000 0.000 k
  11.7404 457.5175 m
  30.3095 457.5175 L
  30.3095 468.7787 L
  11.7404 468.7787 L
  11.7404 457.5175 L
F
U
0 To
1.0000 0.0000 0.0000 1.0000 12.6988 460.5125 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.5000 w
1 j
  246.0699 489.7438 m
  246.0699 476.2063 L
  245.9501 476.2063 L
  245.9501 464.2263 L
S
U
u
  0.000 0.000 0.000 1.000 k
0.5000 w
  248.7055 464.9451 m
  245.9501 456.6789 L
  243.1947 464.9451 L
  248.7055 464.9451 L
F
U
u
  0.000 0.000 0.000 0.000 k
  229.1780 467.9401 m
  263.0815 467.9401 L
  263.0815 479.3211 L
  229.1780 479.3211 L
  229.1780 467.9401 L
F
U
0 To
1.0000 0.0000 0.0000 1.0000 230.1364 470.9351 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.5000 w
1 j
  291.9534 416.6656 m
  291.9534 388.2729 L
  343.3478 388.2729 L
  343.3478 409.3577 L
S
U
u
  0.000 0.000 0.000 1.000 k
0.5000 w
  340.5923 408.6389 m
  343.3478 416.9052 L
  346.1032 408.6389 L
  340.5923 408.6389 L
F
U
u
  0.000 0.000 0.000 0.000 k
  308.4859 382.8819 m
  327.0549 382.8819 L
  327.0549 394.1431 L
  308.4859 394.1431 L
  308.4859 382.8819 L
F
U
0 To
1.0000 0.0000 0.0000 1.0000 309.4443 385.8769 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.5000 w
1 j
  103.6273 488.5458 m
  103.6273 476.2063 L
  104.2263 476.2063 L
  104.2263 464.2263 L
S
U
u
  0.000 0.000 0.000 1.000 k
0.5000 w
  106.9817 464.9451 m
  104.2263 456.6789 L
  101.4709 464.9451 L
  106.9817 464.9451 L
F
U
u
  0.000 0.000 0.000 0.000 k
  73.6772 467.4609 m
  134.5358 467.4609 L
  134.5358 478.8419 L
  73.6772 478.8419 L
  73.6772 467.4609 L
F
U
0 To
1.0000 0.0000 0.0000 1.0000 74.6356 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
(retransWhile==0\r) Tx
TO
  0.000 0.000 0.000 1.000 K
u
0.5000 w
1 j
  103.0283 566.2962 m
  123.9933 566.2962 L
S
U
u
  0.000 0.000 0.000 1.000 k
0.5000 w
  123.2745 569.0516 m
  131.5408 566.2962 L
  123.2745 563.5408 L
  123.2745 569.0516 L
F
U
0 To
1.0000 0.0000 0.0000 1.0000 49.8369 564.7388 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
  56.7854 363.8336 m
  157.0582 363.8336 L
  157.0582 375.2146 L
  56.7854 375.2146 L
  56.7854 363.8336 L
F
U
0 To
1.0000 0.0000 0.0000 1.0000 57.7438 366.8286 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
  240.1997 561.1448 m
  285.2446 561.1448 L
  285.2446 572.5258 L
  240.1997 572.5258 L
  240.1997 561.1448 L
F
U
0 To
1.0000 0.0000 0.0000 1.0000 241.1581 564.1398 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
  465.1847 566.5358 m
  483.6339 566.5358 L
  483.6339 577.9168 L
  465.1847 577.9168 L
  465.1847 566.5358 L
F
U
0 To
1.0000 0.0000 0.0000 1.0000 466.1431 569.5308 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.5000 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.5000 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.5000 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.5000 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.5000 w
1 j
  276.2596 331.3677 m
  399.5341 331.3677 L
  399.5341 345.0250 L
  276.2596 345.0250 L
  276.2596 331.3677 L
B
U
0 To
1.0000 0.0000 0.0000 1.0000 302.3760 335.8003 0 Tp
TP
/_Helvetica 8.0000 Tf
0.0000 Tc
 0 Tr
0.5000 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.5000 w
1 j
  276.2596 305.2512 m
  399.5341 305.2512 L
  399.5341 331.3677 L
  276.2596 331.3677 L
  276.2596 305.2512 L
B
U
0 To
1.0000 0.0000 0.0000 1.0000 282.2496 322.2629 0 Tp
TP
/_Helvetica 8.0000 Tf
0.0000 Tc
 0 Tr
0.5000 w
0 j
  0.000 0.000 0.000 1.000 k
(ignore =\r) Tx
TO
  0.000 0.000 0.000 1.000 K
0 To
1.0000 0.0000 0.0000 1.0000 282.2496 312.7987 0 Tp
TP
/_Helvetica 8.0000 Tf
0.0000 Tc
 0 Tr
  0.000 0.000 0.000 1.000 k
(   m.check\(eapRespData\)\r) Tx
TO
  0.000 0.000 0.000 1.000 K
u
  0.000 0.000 0.000 0.000 k
0.5000 w
1 j
  276.2596 252.2995 m
  399.5341 252.2995 L
  399.5341 265.9567 L
  276.2596 265.9567 L
  276.2596 252.2995 L
B
U
0 To
1.0000 0.0000 0.0000 1.0000 298.1830 256.7321 0 Tp
TP
/_Helvetica 8.0000 Tf
0.0000 Tc
 0 Tr
0.5000 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.5000 w
1 j
  276.2596 178.6223 m
  399.5341 178.6223 L
  399.5341 252.2995 L
  276.2596 252.2995 L
  276.2596 178.6223 L
B
U
0 To
1.0000 0.0000 0.0000 1.0000 282.2496 243.3145 0 Tp
TP
/_Helvetica 8.0000 Tf
0.0000 Tc
 0 Tr
0.5000 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 233.7304 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 224.1464 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 214.5624 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 204.9784 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 195.3943 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 185.8103 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.5000 w
1 j
  409.7171 331.3677 m
  563.3012 331.3677 L
  563.3012 345.0250 L
  409.7171 345.0250 L
  409.7171 331.3677 L
B
U
0 To
1.0000 0.0000 0.0000 1.0000 449.7304 335.8003 0 Tp
TP
/_Helvetica 8.0000 Tf
0.0000 Tc
 0 Tr
0.5000 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.5000 w
1 j
  409.7171 296.2662 m
  563.3012 296.2662 L
  563.3012 331.3677 L
  409.7171 331.3677 L
  409.7171 296.2662 L
B
U
0 To
1.0000 0.0000 0.0000 1.0000 415.7072 322.2629 0 Tp
TP
/_Helvetica 8.0000 Tf
0.0000 Tc
 0 Tr
0.5000 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 312.7987 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 303.2146 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.5000 w
1 j
  409.7171 252.2995 m
  563.3012 252.2995 L
  563.3012 265.9567 L
  409.7171 265.9567 L
  409.7171 252.2995 L
B
U
0 To
1.0000 0.0000 0.0000 1.0000 449.2512 256.7321 0 Tp
TP
/_Helvetica 8.0000 Tf
0.0000 Tc
 0 Tr
0.5000 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.5000 w
1 j
  409.7171 178.5025 m
  563.3012 178.5025 L
  563.3012 252.2995 L
  409.7171 252.2995 L
  409.7171 178.5025 L
B
U
0 To
1.0000 0.0000 0.0000 1.0000 415.7072 243.3145 0 Tp
TP
/_Helvetica 8.0000 Tf
0.0000 Tc
 0 Tr
0.5000 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 233.7304 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 224.1464 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 214.5624 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 204.9784 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 195.3943 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 185.8103 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.5000 w
1 j
  379.1681 265.9567 m
  379.1681 279.3744 L
  429.6040 279.3744 L
  429.6040 288.7188 L
S
U
u
  0.000 0.000 0.000 1.000 k
0.5000 w
  426.8486 288.0000 m
  429.6040 296.2662 L
  432.3594 288.0000 L
  426.8486 288.0000 L
F
U
u
  0.000 0.000 0.000 0.000 k
  397.4975 273.9834 m
  414.6290 273.9834 L
  414.6290 285.3644 L
  397.4975 285.3644 L
  397.4975 273.9834 L
F
U
0 To
1.0000 0.0000 0.0000 1.0000 398.4559 276.9784 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.5000 w
1 j
  338.4359 305.2512 m
  338.4359 291.8336 L
  338.4359 291.8336 L
  338.4359 273.6240 L
S
U
u
  0.000 0.000 0.000 1.000 k
0.5000 w
  341.1913 274.2230 m
  338.4359 265.9567 L
  335.6805 274.2230 L
  341.1913 274.2230 L
F
U
u
  0.000 0.000 0.000 0.000 k
  325.0183 280.2130 m
  351.8536 280.2130 L
  351.8536 291.5940 L
  325.0183 291.5940 L
  325.0183 280.2130 L
F
U
0 To
1.0000 0.0000 0.0000 1.0000 326.0965 283.2080 0 Tp
TP
/_Helvetica 8.0000 Tf
0.0000 Tc
 0 Tr
0 j
  0.000 0.000 0.000 1.000 k
(!ignore\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 148.1930 m
  495.1348 148.1930 L
  495.1348 159.5740 L
  478.0033 159.5740 L
  478.0033 148.1930 L
F
U
0 To
1.0000 0.0000 0.0000 1.0000 478.9617 151.1880 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 270.9884 m
  494.7754 270.9884 L
  494.7754 282.3694 L
  476.3261 282.3694 L
  476.3261 270.9884 L
F
U
0 To
1.0000 0.0000 0.0000 1.0000 477.2845 273.9834 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 494.0566 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 95.4809 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.5000 w
1 j
  177.6639 443.1414 m
  314.3561 443.1414 L
  314.3561 456.6789 L
  177.6639 456.6789 L
  177.6639 443.1414 L
B
U
0 To
1.0000 0.0000 0.0000 1.0000 227.5008 447.4542 0 Tp
TP
/_Helvetica 8.0000 Tf
0.0000 Tc
 0 Tr
0.5000 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.5000 w
1 j
  177.6639 416.6656 m
  314.3561 416.6656 L
  314.3561 443.1414 L
  177.6639 443.1414 L
  177.6639 416.6656 L
B
U
0 To
1.0000 0.0000 0.0000 1.0000 183.5341 433.9168 0 Tp
TP
/_Helvetica 8.0000 Tf
0.0000 Tc
 0 Tr
0.5000 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 424.3328 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.5000 w
1 j
  373.2978 629.9101 m
  373.2978 623.4409 L
S
U
u
  0.000 0.000 0.000 1.000 k
0.5000 w
  376.0532 624.1597 m
  373.2978 615.8935 L
  370.5424 624.1597 L
  376.0532 624.1597 L
F
U
u
  0.000 0.000 0.000 0.000 k
  323.3411 631.4676 m
  422.8952 631.4676 L
  422.8952 642.8486 L
  323.3411 642.8486 L
  323.3411 631.4676 L
F
U
0 To
1.0000 0.0000 0.0000 1.0000 324.2995 634.4626 0 Tp
TP
/_Helvetica 8.0000 Tf
0.0000 Tc
 0 Tr
0 j
  0.000 0.000 0.000 1.000 k
(eapRestart && portEnabled\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_typography_AI5 /terminate get exec
Adobe_level2_AI5 /terminate get exec
%%EOF

%%EndDocument
 @endspecial 875 4315 a(Figure)g(4:)25 b(EAP)c(Standalone)d
(Authenticator)h(State)h(Machine)125 4665 y Fb(\017)41
b Fg(portEnabled)17 b(\(boolean\))208 4798 y(Indicates)27
b(that)i(the)g(EAP)g(authenticator)d(state)j(machine)f(should)f(be)i
(ready)e(for)h(communication.)48 b(This)28 b(is)i(set)208
4898 y(to)e(TR)m(UE)g(when)f(the)h(EAP)g(con)m(v)o(ersation)d(is)k
(started)f(by)g(the)g(lo)n(wer)f(layer)-5 b(.)48 b(If)28
b(at)h(an)o(y)e(point)g(the)h(communica-)208 4997 y(tion)23
b(port)g(or)g(session)h(is)h(not)e(a)n(v)n(ailable,)h(portEnabled)d(is)
j(set)g(to)g(F)-6 b(ALSE)24 b(and)f(the)h(state)g(machine)e
(transitions)h(to)208 5097 y(DISABLED.)e(T)-7 b(o)23
b(a)n(v)n(oid)e(unnecessary)g(resets,)h(the)h(lo)n(wer)e(layer)h(may)f
(dampen)g(link)g(do)n(wn)g(indications)g(when)h(it)208
5197 y(belie)n(v)o(es)16 b(that)h(the)g(link)g(is)h(only)f(temporarily)
e(do)n(wn)h(and)g(that)i(it)g(will)f(soon)g(be)g(back)g(up)f(\(see)i
([RFC3748],)e(Section)208 5296 y(7.12\).)23 b(In)d(this)h(case,)f
(portEnabled)e(may)h(not)h(al)o(w)o(ays)h(be)f(equal)f(to)i(the)f(the)g
(\224link)g(up\224)g(\003ag)g(of)g(the)g(lo)n(wer)g(layer)-5
b(.)0 5656 y(V)-11 b(ollbrecht,)19 b(et)i(al.)944 b(Expires)19
b(January)g(17,)h(2005)943 b([P)o(age)19 b(16])p eop
end
%%Page: 17 17
TeXDict begin 17 16 bop 0 100 a Fg(INTERNET)-8 b(-DRAFT)970
b(EAP)21 b(State)g(Machine)949 b(July)20 b(2004)125 390
y Fb(\017)41 b Fg(retransWhile)19 b(\(inte)o(ger\))208
523 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 689 y Fb(\017)41 b Fg(eapRestart)20 b(\(boolean\))208
822 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 988 y Fb(\017)41 b Fg(eapSR)-5
b(TT)20 b(\(inte)o(ger\))208 1121 y(Smoothed)e(round-trip)f(time.)26
b(\(see)20 b([RFC3748],)f(Section)h(4.3\))125 1287 y
Fb(\017)41 b Fg(eapR)-5 b(TTV)-11 b(AR)19 b(\(inte)o(ger\))208
1420 y(Round-trip)f(time)i(v)n(ariation.)k(\(see)c([RFC3748],)f
(Section)h(4.3\))0 1740 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
1940 y Fb(\017)41 b Fg(eapReq)19 b(\(boolean\))208 2072
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 2172 y(ready)19
b(to)h(be)g(sent.)125 2338 y Fb(\017)41 b Fg(eapNoReq)19
b(\(boolean\))208 2471 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
2571 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 2737 y Fb(\017)41 b Fg(eapSuccess)19
b(\(boolean\))208 2869 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
2969 y(reached)18 b(the)j(SUCCESS)g(state.)125 3135 y
Fb(\017)41 b Fg(eapF)o(ail)19 b(\(boolean\))208 3268
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 3368 y(reached)18 b(the)j(F)-6
b(AILURE)20 b(state.)125 3534 y Fb(\017)41 b Fg(eapT)m(imeout)18
b(\(boolean\))208 3666 y(Set)k(to)h(TR)m(UE)f(in)g(the)h(TIMEOUT)p
1252 3666 25 4 v 28 w(F)-6 b(AILURE)22 b(state)h(if)g(the)f
(authenticator)e(has)j(reached)e(its)i(maximum)d(number)208
3766 y(of)f(retransmissions)h(without)f(recei)n(ving)g(a)h(response.)
125 3932 y Fb(\017)41 b Fg(eapReqData)19 b(\(EAP)h(pack)o(et\))208
4065 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 4165 y(EAP)20 b(request)g(to)g(be)g(sent)h(\(or)e
(success/f)o(ailure\).)125 4331 y Fb(\017)41 b Fg(eapK)n(e)o(yData)18
b(\(EAP)j(k)o(e)o(y\))208 4463 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 4563 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 4663 y(be)g(de\002ned)f(in)h
([I-D.ietf-eap-k)o(e)o(ying].)125 4829 y Fb(\017)41 b
Fg(eapK)n(e)o(yA)-6 b(v)n(ailable)17 b(\(boolean\))208
4962 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 5061 y(Data.)0
5656 y(V)-11 b(ollbrecht,)19 b(et)i(al.)944 b(Expires)19
b(January)g(17,)h(2005)943 b([P)o(age)19 b(17])p eop
end
%%Page: 18 18
TeXDict begin 18 17 bop 0 100 a Fg(INTERNET)-8 b(-DRAFT)970
b(EAP)21 b(State)g(Machine)949 b(July)20 b(2004)0 390
y Fd(5.1.3)81 b(Constants)125 589 y Fb(\017)41 b Fg(MaxRetrans)19
b(\(inte)o(ger\))208 722 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 1060 y Ff(5.2)99 b(Interface)26 b(between)h(standalone)e
(authenticator)i(state)e(machine)g(and)h(methods)0 1315
y Fg(IN:)20 b(eapRespData,)g(methodState)0 1514 y(OUT)l(:)g(ignore,)f
(eapReqData)0 1713 y(IN/OUT)l(:)h(currentId,)e(\(method-speci\002c)f
(state\),)k(\(polic)o(y\))0 1913 y(The)f(follo)n(wing)e(describes)i
(the)g(interaction)f(between)h(the)g(state)h(machine)e(and)g(EAP)i
(methods.)0 2112 y(m.init)f(\(in:)25 b(-,)20 b(out:)25
b(-\))0 2311 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 2411 y(mation)19
b(from)h(Polic)o(y)f(\(e.g.)25 b(identity\).)0 2610 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
2809 y(Ne)o(xt,)e(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 2909 y(speci\002c)f(state)h
(accordingly)-5 b(.)0 3108 y(m.getT)m(imeout)18 b(\(in:)25
b(-,)20 b(out:)25 b(inte)o(ger)19 b(or)h(NONE\))0 3307
y(The)g(method)f(can)h(also)g(pro)o(vide)e(a)j(hint)f(for)f
(retransmission)g(timeout)h(with)g(m.getT)m(imeout.)0
3507 y(m.check)f(\(in:)25 b(EAP)20 b(pack)o(et,)g(out:)25
b(boolean\))0 3706 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 3806
y(discard)h(it.)25 b(If)20 b(the)g(pack)o(et)f(looks)g(lik)o(e)h(it)g
(w)o(as)g(not)g(sent)g(by)f(the)g(le)o(gitimate)g(peer)g(\(e.g.)25
b(it)20 b(has)g(in)m(v)n(alid)e(MIC,)i(and)f(this)h(case)0
3905 y(should)k(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 4005 y(modify)19 b(its)i(o)n(wn)e
(method-speci\002c)g(state.)0 4204 y(m.process)g(\(in:)25
b(EAP)c(pack)o(et,)e(out:)25 b(-\))0 4403 y(m.isDone)19
b(\(in:)25 b(-,)c(out:)j(boolean\))0 4603 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
4802 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 4901 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 5101 y(If)f(the)g(method)f(w)o(ants)i(to)f(end)g(the)g(con)m
(v)o(ersation,)d(it)125 5383 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.)0 5656 y(V)-11 b(ollbrecht,)19
b(et)i(al.)944 b(Expires)19 b(January)g(17,)h(2005)943
b([P)o(age)19 b(18])p eop end
%%Page: 19 19
TeXDict begin 19 18 bop 0 100 a Fg(INTERNET)-8 b(-DRAFT)970
b(EAP)21 b(State)g(Machine)949 b(July)20 b(2004)125 390
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 556 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 839 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 1176 y Ff(5.3)99 b(Standalone)26 b(authenticator)h(state)e
(machine)g(local)f(v)o(ariables)0 1431 y Fd(5.3.1)81
b(Long-term)20 b(\(maintained)f(between)i(pack)o(ets\))125
1630 y Fb(\017)41 b Fg(currentMethod)17 b(\(EAP)j(type\))208
1763 y(EAP)g(type,)g(IDENTITY)-11 b(,)19 b(or)h(NO)m(TIFICA)-9
b(TION.)125 1929 y Fb(\017)41 b Fg(currentId)18 b(\(inte)o(ger\))208
2062 y(0-255)j(or)j(NONE.)f(Usually)g(updated)f(in)i(PR)m(OPOSE)p
1818 2062 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 2162 y(currently)18
b(outstanding)g(EAP)j(request.)125 2328 y Fb(\017)41
b Fg(methodState)18 b(\(enumeration\))208 2461 y(As)j(described)d(abo)o
(v)o(e.)125 2627 y Fb(\017)41 b Fg(retransCount)18 b(\(inte)o(ger\))208
2759 y(Reset)k(in)g(SEND)p 723 2759 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 2859 y(sions.)125 3025 y Fb(\017)41
b Fg(lastReqData)20 b(\(EAP)g(pack)o(et\))208 3158 y(Set)g(in)h(SEND)p
642 3158 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 3324 y
Fb(\017)41 b Fg(methodT)m(imeout)17 b(\(inte)o(ger\))208
3457 y(Method-pro)o(vided)e(hint)20 b(for)g(suitable)g(retransmission)f
(timeout,)g(or)h(NONE.)0 3777 y Fd(5.3.2)81 b(Short-term)19
b(\(not)h(maintained)g(between)g(pack)o(ets\))125 3977
y Fb(\017)41 b Fg(rxResp)20 b(\(boolean\))208 4110 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 4276 y Fb(\017)41
b Fg(respId)19 b(\(inte)o(ger\))208 4408 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 4575 y Fb(\017)41 b Fg(respMethod)18 b(\(EAP)i(type\))
208 4707 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(response.)125 4873 y Fb(\017)41
b Fg(ignore)18 b(\(boolean\))208 5006 y(Set)i(in)h(METHOD)f(state.)25
b(Indicates)20 b(whether)f(the)h(method)f(has)h(decided)f(to)i(drop)e
(the)h(current)f(pack)o(et.)125 5172 y Fb(\017)41 b Fg(decision)19
b(\(enumeration\))208 5305 y(Set)h(in)h(SELECT)p 730
5305 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.)944
b(Expires)19 b(January)g(17,)h(2005)943 b([P)o(age)19
b(19])p eop end
%%Page: 20 20
TeXDict begin 20 19 bop 0 100 a Fg(INTERNET)-8 b(-DRAFT)970
b(EAP)21 b(State)g(Machine)949 b(July)20 b(2004)0 390
y Ff(5.4)99 b(EAP)25 b(standalone)h(authenticator)g(pr)n(ocedur)n(es)0
645 y Fg(NO)m(TE:)c(F)o(or)f(method)g(procedures,)f(the)i(method)f
(uses)h(its)h(internal)e(state)i(in)f(addition)f(to)h(the)g
(information)e(pro)o(vided)f(by)0 745 y(the)k(EAP)h(layer)-5
b(.)33 b(The)23 b(only)f(ar)o(guments)f(that)i(are)g(e)o(xplicitly)f
(sho)n(wn)h(as)g(inputs)g(to)g(the)g(procedures)e(are)i(those)g(pro)o
(vided)0 845 y(to)d(the)h(method)d(by)i(EAP)-9 b(.)20
b(Those)g(inputs)g(pro)o(vided)d(by)j(the)g(method')-5
b(s)20 b(internal)f(state)i(remain)e(implicit.)125 1122
y Fb(\017)41 b Fg(calculateT)m(imeout\(\))208 1254 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 1354
y(measurements,)18 b(and)i(method-speci\002c)e(timeout)h(hint)h(\(see)h
([RFC3748],)d(Section)i(4.3\).)k(Returns)c(an)g(inte)o(ger)-5
b(.)125 1518 y Fb(\017)41 b Fg(parseEapResp\(\))208 1650
y(Determine)22 b(the)h(code,)g(identi\002er)f(v)n(alue,)h(and)f(type)h
(of)g(the)g(current)e(response.)33 b(In)23 b(case)g(of)g(a)h(parsing)e
(error)f(\(e.g.)208 1749 y(the)g(length)g(\002eld)g(is)i(longer)d(than)
h(the)h(recei)n(v)o(ed)e(pack)o(et\),)g(rxResp)i(will)g(be)f(set)i(to)f
(F)-6 b(ALSE.)21 b(The)g(v)n(alues)g(of)h(respId)208
1849 y(and)d(respMethod)g(may)g(be)h(unde\002ned)f(as)h(a)h(result.)k
(Returns)20 b(a)h(boolean,)d(an)i(inte)o(ger)m(,)f(and)g(an)h(EAP)h
(type.)125 2013 y Fb(\017)41 b Fg(b)n(uildSuccess\(\))208
2145 y(Create)20 b(an)g(EAP)h(Success)f(P)o(ack)o(et.)25
b(Returns)20 b(an)g(EAP)h(pack)o(et.)125 2309 y Fb(\017)41
b Fg(b)n(uildF)o(ailure\(\))208 2441 y(Create)20 b(an)g(EAP)h(F)o
(ailure)e(P)o(ack)o(et.)25 b(Returns)20 b(an)g(EAP)h(pack)o(et.)125
2605 y Fb(\017)41 b Fg(ne)o(xtId\(\))208 2737 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.)25 b(Returns)20 b(an)g(inte)o(ger)-5
b(.)125 2901 y Fb(\017)41 b Fg(Polic)o(y)-5 b(.update\(\))208
3033 y(Update)19 b(all)i(v)n(ariables)e(related)h(to)g(internal)g
(polic)o(y)f(state.)25 b(Return)20 b(v)n(alue)g(is)h(unde\002ned.)125
3197 y Fb(\017)41 b Fg(Polic)o(y)-5 b(.getNe)o(xtMethod\(\))208
3329 y(Determine)23 b(the)h(method)f(that)h(should)f(be)h(used)g(at)g
(this)h(point)e(in)i(the)f(con)m(v)o(ersation)d(based)j(on)f
(pre-de\002ned)f(pol-)208 3429 y(ic)o(y)-5 b(.)38 b(Polic)o(y)-5
b(.getNe)o(xtMethod\(\))20 b(MUST)25 b(comply)f(with)h([RFC3748])f
(\(Section)g(2.1\),)h(which)f(forbids)g(the)h(use)g(of)208
3529 y(sequences)20 b(of)g(authentication)f(methods)h(within)h(an)g
(EAP)g(con)m(v)o(ersation.)k(Hence,)c(if)g(an)g(authentication)e
(method)208 3628 y(has)d(already)f(been)g(e)o(x)o(ecuted)g(within)h(an)
g(EAP)g(dialog,)g(Polic)o(y)-5 b(.getNe)o(xtMethod\(\))11
b(MUST)16 b(NO)m(T)g(propose)f(another)208 3728 y(authentication)j
(method)h(within)g(the)i(same)f(EAP)h(dialog.)j(Returns)c(an)g(EAP)g
(type.)125 3892 y Fb(\017)41 b Fg(Polic)o(y)-5 b(.getDecision\(\))208
4024 y(Determine)23 b(if)i(the)f(polic)o(y)f(will)i(allo)n(w)g
(SUCCESS,)g(F)-6 b(AIL,)24 b(or)g(is)i(yet)e(to)h(determine)e
(\(CONTINUE\).)g(Returns)h(a)208 4123 y(decision)19 b(enumeration.)125
4288 y Fb(\017)41 b Fg(m.check\(\))208 4419 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.)j
(Returns)c(a)h(boolean.)125 4584 y Fb(\017)41 b Fg(m.process\(\))208
4715 y(Method)19 b(procedure)e(to)k(parse)f(and)f(process)h(a)h
(response)e(for)g(that)i(method.)i(Return)d(v)n(alue)f(is)j
(unde\002ned.)125 4880 y Fb(\017)41 b Fg(m.init\(\))208
5012 y(Method)19 b(procedure)e(to)k(initialize)f(state)h(just)g(before)
d(use.)26 b(Return)19 b(v)n(alue)h(is)h(unde\002ned.)125
5176 y Fb(\017)41 b Fg(m.reset\(\))208 5308 y(Method)22
b(procedure)e(to)k(indicate)e(the)h(method)f(is)i(ending)e(in)h(the)g
(middle)g(or)g(before)f(completion.)32 b(Return)22 b(v)n(alue)208
5407 y(is)f(unde\002ned.)0 5656 y(V)-11 b(ollbrecht,)19
b(et)i(al.)944 b(Expires)19 b(January)g(17,)h(2005)943
b([P)o(age)19 b(20])p eop end
%%Page: 21 21
TeXDict begin 21 20 bop 0 100 a Fg(INTERNET)-8 b(-DRAFT)970
b(EAP)21 b(State)g(Machine)949 b(July)20 b(2004)125 390
y Fb(\017)41 b Fg(m.isDone\(\))208 523 y(Method)19 b(procedure)e(to)k
(check)e(for)h(method)e(completion.)23 b(Returns)d(a)h(boolean.)125
689 y Fb(\017)41 b Fg(m.getT)m(imeout\(\))208 822 y(Method)19
b(procedure)e(to)k(determine)d(an)i(appropriate)e(timeout)i(hint)g(for)
f(that)i(method.)i(Returns)d(an)g(inte)o(ger)-5 b(.)125
988 y Fb(\017)41 b Fg(m.getK)n(e)o(y\(\))208 1121 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.)25 b(Returns)20 b(an)g(EAP)h(k)o(e)o(y)
-5 b(.)125 1287 y Fb(\017)41 b Fg(m.b)n(uildReq\(\))208
1420 y(Method)19 b(procedure)e(to)k(produce)d(the)i(ne)o(xt)f(request.)
25 b(Returns)20 b(an)g(EAP)g(pack)o(et.)0 1757 y Ff(5.5)99
b(EAP)25 b(standalone)h(authenticator)g(states)125 1956
y Fb(\017)41 b Fg(DISABLED)208 2089 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 2255 y Fb(\017)41 b Fg(INITIALIZE)208
2388 y(Initializes)20 b(v)n(ariables)f(when)h(the)g(state)h(machine)e
(is)i(acti)n(v)n(ated.)125 2554 y Fb(\017)41 b Fg(IDLE)208
2687 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
2853 y Fb(\017)41 b Fg(RECEIVED)208 2986 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 3152 y
Fb(\017)41 b Fg(INTEGRITY)p 657 3152 25 4 v 28 w(CHECK)208
3285 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 3451 y Fb(\017)41 b Fg(METHOD)p
569 3451 V 29 w(RESPONSE)208 3583 y(A)20 b(method)f(state)i(in)f(which)
g(the)g(incoming)f(pack)o(et)g(is)i(processed.)125 3749
y Fb(\017)41 b Fg(METHOD)p 569 3749 V 29 w(REQ)o(UEST)208
3882 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 4048 y Fb(\017)41
b Fg(PR)m(OPOSE)p 574 4048 V 30 w(METHOD)208 4181 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
4347 y Fb(\017)41 b Fg(SELECT)p 518 4347 V 29 w(A)m(CTION)208
4480 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 4580 y(f)o(ails,)g(or)g(remains)g(undecided.)125
4746 y Fb(\017)41 b Fg(SEND)p 430 4746 V 29 w(REQ)o(UEST)208
4879 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
5045 y Fb(\017)41 b Fg(DISCARD)208 5177 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
5277 y(sent)20 b(at)h(this)f(time.)0 5656 y(V)-11 b(ollbrecht,)19
b(et)i(al.)944 b(Expires)19 b(January)g(17,)h(2005)943
b([P)o(age)19 b(21])p eop end
%%Page: 22 22
TeXDict begin 22 21 bop 0 100 a Fg(INTERNET)-8 b(-DRAFT)970
b(EAP)21 b(State)g(Machine)949 b(July)20 b(2004)125 390
y Fb(\017)41 b Fg(N)m(AK)208 516 y(This)20 b(state)h(processes)f(Nak)g
(responses)f(from)h(the)g(peer)-5 b(.)125 668 y Fb(\017)41
b Fg(RETRANSMIT)208 794 y(Retransmits)20 b(the)g(pre)n(vious)f(request)
g(pack)o(et.)125 947 y Fb(\017)41 b Fg(SUCCESS)208 1073
y(A)20 b(\002nal)h(state)g(indicating)d(success.)125
1225 y Fb(\017)41 b Fg(F)-6 b(AILURE)208 1351 y(A)20
b(\002nal)h(state)g(indicating)d(f)o(ailure.)125 1503
y Fb(\017)41 b Fg(TIMEOUT)p 588 1503 25 4 v 28 w(F)-6
b(AILURE)208 1629 y(A)26 b(\002nal)g(state)g(indicating)f(f)o(ailure)g
(because)g(no)h(response)f(has)h(been)f(recei)n(v)o(ed.)40
b(Because)26 b(no)f(response)g(w)o(as)i(re-)208 1729
y(cei)n(v)o(ed,)22 b(no)g(ne)n(w)h(message)f(\(including)f(f)o
(ailure\))h(should)g(be)g(sent)h(to)g(the)g(peer)-5 b(.)33
b(Note)23 b(that)f(this)i(is)f(dif)n(ferent)f(from)208
1829 y(the)e(F)-6 b(AILURE)20 b(state,)h(where)e(a)i(message)f
(indicating)f(f)o(ailure)g(is)i(sent)g(to)f(the)g(peer)-5
b(.)0 2202 y Fe(6)119 b(EAP)30 b(Back)o(end)h(A)-6 b(uthenticator)0
2487 y Fg(When)28 b(operating)e(in)i(pass-through)e(mode,)j(there)f
(are)g(conceptually)e(tw)o(o)i(parts)g(to)g(the)g(authenticator)n(-)f
(the)h(part)f(that)0 2587 y(passes)e(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 2687 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 2786 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 2886 y(is)31 b(handled)e(by)h(the)g(N)m(AS,)h
(and)f(a)h(PICK)p 1254 2886 V 30 w(UP)p 1390 2886 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 2986 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 3085
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 3185 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
3384 y(\(see)17 b(draft-ietf-eap-statemachine-04.)o(pd)o(f)11
b(for)16 b(missing)h(diagram)e(or)h(refer)g(to)h(Appendix)e(A.3)h(if)h
(reading)e([.txt])h(v)o(ersion\))0 3715 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 3970 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 4070
y(aaaEapRespData)d(and)h(setting)g(the)g(aaaEapResp)g(signal)g(to)g(TR)
m(UE.)0 4269 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 4369 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 4469 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
4568 y(for)f(actually)f(transmitting)g(this)i(message.)0
4883 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 5082 y Fb(\017)41 b
Fg(aaaEapResp)19 b(\(boolean\))208 5208 y(Set)29 b(to)f(TR)m(UE)h(in)g
(lo)n(wer)f(layer)m(,)h(F)-6 b(ALSE)29 b(in)g(authenticator)d(state)k
(machine.)48 b(Usually)29 b(indicates)f(that)h(an)f(EAP)208
5308 y(response,)15 b(stored)h(in)g(aaaEapRespData,)g(is)h(a)n(v)n
(ailable)f(for)g(processing)f(by)g(the)i(AAA)f(serv)o(er)-5
b(.)23 b(If)17 b(aaaEapRespData)208 5407 y(is)k(set)g(to)f(NONE,)g
(indicates)g(that)g(the)g(AAA)h(serv)o(er)e(should)h(send)f(the)i
(initial)f(EAP)h(request.)0 5656 y(V)-11 b(ollbrecht,)19
b(et)i(al.)944 b(Expires)19 b(January)g(17,)h(2005)943
b([P)o(age)19 b(22])p eop end
%%Page: 23 23
TeXDict begin 23 22 bop 0 100 a Fg(INTERNET)-8 b(-DRAFT)970
b(EAP)21 b(State)g(Machine)949 b(July)20 b(2004)18 4567
y @beginspecial 0 @llx 0 @lly 599 @urx 716 @ury 4276
@rwi @setspecial
%%BeginDocument: ../../../diagrams/20040214_backend_authenticator.eps
%!PS-Adobe-3.0 EPSF-3.0
%%Creator: ImageMark Software Labs
%%For: () ()
%%Title: C:\USERS\IETF\EAP\State machines\AuthenticatorSplit\20040214_backend_authenticator.eps
%%CreationDate: () ()
%%BoundingBox: 0 0 599 716
%%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.0 0
%%+ procset Adobe_typography_AI5 1.0 0
%%+ procset Adobe_Illustrator_AI5 1.0 0
%AI5_FileFormat 3.0
%AI3_ColorUsage: Color
%AI3_TemplateBox: 0 0 599 716
%AI3_TileBox: 0 0 599 716
%AI3_DocumentPreview: None
%%Template:
%%PageOrigin:0.0000 0.0000
%%EndComments
%%BeginProlog
%%BeginResource: procset Adobe_level2_AI5 1.0 0
%%Title: (Adobe Illustrator (R) Version 5.0 Level 2 Emulation)
%%Version: 1.0 
%%CreationDate: (04/10/93) ()
%%Copyright: ((C) 1987-1993 Adobe Systems Incorporated All Rights Reserved)
userdict /Adobe_level2_AI5 21 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
		{
			5 packedarray
		} bind def
		/setcustomcolor
		{
			exch aload pop pop
			4
			{
				4 index mul 4 1 roll
			} repeat
			5 -1 roll pop
			setcmykcolor
		}
		def
	} if
	
	/gt38? mark {version 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
	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_Illustrator_AI5 1.1 0
%%Title: (Adobe Illustrator (R) Version 5.0 Full Prolog)
%%Version: 1.1 
%%CreationDate: (3/7/1994) ()
%%Copyright: ((C) 1987-1994 Adobe Systems Incorporated All Rights Reserved)
currentpacking true setpacking
userdict /Adobe_Illustrator_AI5_vars 79 dict dup begin
put
/_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 82 dict dup begin
put
/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
/H
{
} def
/h
{
	closepath
} def
/N
{
	_pola 0 eq
	{
		_doClip 1 eq
		{
			clip /_doClip 0 ddef
		} if
		newpath
	}
	{
		/CRender
		{
			N
		} ddef
	} ifelse
} def
/n
{
	N
} def
/F
{
	_pola 0 eq
	{
		_doClip 1 eq
		{
			gsave _pf grestore clip 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 clip 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 clip 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
/@
{
} def
/&
{
} 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
		fill
	} 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
		fill
	} 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
		fill
	} 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
/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 ashow
				} 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 awidthshow
				} 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
/A
{
	pop
} def
/annotatepage
{
userdict /annotatepage 2 copy known {get exec} {pop pop} ifelse
} 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
	}
	{
		stop
	} ifelse
} 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 clip
		} 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
currentdict readonly pop
end
setpacking
%%EndResource
%%EndProlog
%%BeginSetup
Adobe_level2_AI5 /initialize get exec
Adobe_Illustrator_AI5_vars Adobe_Illustrator_AI5 Adobe_typography_AI5 /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
[
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
/_Helvetica/Helvetica 0 0 1 TZ
%AI3_EndEncoding AdobeType
%AI3_BeginEncoding: _Helvetica-Bold Helvetica-Bold
[
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
/_Helvetica-Bold/Helvetica-Bold 0 0 1 TZ
%AI3_EndEncoding AdobeType
%AI3_BeginEncoding: _Helvetica-Oblique Helvetica-Oblique
[
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
/_Helvetica-Oblique/Helvetica-Oblique 0 0 1 TZ
%AI3_EndEncoding AdobeType
%AI3_BeginEncoding: _Helvetica-BoldOblique Helvetica-BoldOblique
[
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
/_Helvetica-BoldOblique/Helvetica-BoldOblique 0 0 1 TZ
%AI3_EndEncoding AdobeType
%AI3_BeginEncoding: _Times-Roman Times-Roman
[
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
/_Times-Roman/Times-Roman 0 0 1 TZ
%AI3_EndEncoding AdobeType
%AI3_BeginEncoding: _Times-Bold Times-Bold
[
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
/_Times-Bold/Times-Bold 0 0 1 TZ
%AI3_EndEncoding AdobeType
%AI3_BeginEncoding: _Times-Italic Times-Italic
[
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
/_Times-Italic/Times-Italic 0 0 1 TZ
%AI3_EndEncoding AdobeType
%AI3_BeginEncoding: _Times-BoldItalic Times-BoldItalic
[
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
/_Times-BoldItalic/Times-BoldItalic 0 0 1 TZ
%AI3_EndEncoding AdobeType
%AI3_BeginEncoding: _Courier Courier
[
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
/_Courier/Courier 0 0 1 TZ
%AI3_EndEncoding AdobeType
%AI3_BeginEncoding: _Courier-Bold Courier-Bold
[
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
/_Courier-Bold/Courier-Bold 0 0 1 TZ
%AI3_EndEncoding AdobeType
%AI3_BeginEncoding: _Courier-Oblique Courier-Oblique
[
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
/_Courier-Oblique/Courier-Oblique 0 0 1 TZ
%AI3_EndEncoding AdobeType
%AI3_BeginEncoding: _Courier-BoldOblique Courier-BoldOblique
[
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
/_Courier-BoldOblique/Courier-BoldOblique 0 0 1 TZ
%AI3_EndEncoding AdobeType
%AI3_BeginEncoding: _Symbol Symbol
[
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
/_Symbol/Symbol 0 0 1 TZ
%AI3_EndEncoding AdobeType
%%EndSetup

u
 [] 0 d
0.5000 w
  0.000 0.000 0.000 1.000 K
1 J
1 j
  484.8319 129.2646 m
  484.8319 171.0749 L
S
U
u
  0.000 0.000 0.000 1.000 k
0.5000 w
  0.000 0.000 0.000 1.000 K
  482.0765 170.3561 m
  484.8319 178.6223 L
  487.5874 170.3561 L
  482.0765 170.3561 L
F
U
u
0.5000 w
  483.7537 266.0765 m
  483.7537 288.7188 L
S
U
u
  0.000 0.000 0.000 1.000 k
0.5000 w
  480.9983 288.1198 m
  483.7537 296.3860 L
  486.5092 288.1198 L
  480.9983 288.1198 L
F
U
u
0.5000 w
  377.9700 456.6789 m
  377.9700 482.3161 L
S
U
u
  0.000 0.000 0.000 1.000 k
0.5000 w
  375.2146 481.5973 m
  377.9700 489.8636 L
  380.7255 481.5973 L
  375.2146 481.5973 L
F
U
u
  0.000 0.000 0.000 0.000 k
  368.2662 467.5807 m
  386.7155 467.5807 L
  386.7155 478.9617 L
  368.2662 478.9617 L
  368.2662 467.5807 L
F
U
0 To
1.0000 0.0000 0.0000 1.0000 369.3444 470.5757 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.5000 w
1 j
  502.0832 345.2646 m
  502.0832 358.4426 L
  502.0832 358.4426 L
  502.0832 409.9567 L
S
U
u
  0.000 0.000 0.000 1.000 k
0.5000 w
  499.3278 409.2379 m
  502.0832 417.5042 L
  504.8386 409.2379 L
  499.3278 409.2379 L
F
U
u
  0.000 0.000 0.000 0.000 k
  492.1398 375.9334 m
  512.0266 375.9334 L
  512.0266 387.3145 L
  492.1398 387.3145 L
  492.1398 375.9334 L
F
U
0 To
1.0000 0.0000 0.0000 1.0000 493.2180 378.9285 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.5000 w
1 j
  377.3710 344.9052 m
  377.3710 358.4426 L
  377.6106 358.4426 L
  377.6106 409.7171 L
S
U
u
  0.000 0.000 0.000 1.000 k
0.5000 w
  374.8552 408.9983 m
  377.6106 417.2646 L
  380.3661 408.9983 L
  374.8552 408.9983 L
F
U
u
  0.000 0.000 0.000 0.000 k
  366.1098 368.2662 m
  390.3095 368.2662 L
  390.3095 379.6473 L
  366.1098 379.6473 L
  366.1098 368.2662 L
F
U
0 To
1.0000 0.0000 0.0000 1.0000 367.1880 371.2612 0 Tp
TP
/_Helvetica 8.0000 Tf
0.0000 Tc
 0 Tr
0 j
  0.000 0.000 0.000 1.000 k
(ignore\r) Tx
TO
  0.000 0.000 0.000 1.000 K
u
  0.000 0.000 0.000 0.000 k
0.5000 w
1 j
  35.7005 503.4010 m
  561.6240 503.4010 L
  561.6240 516.2196 L
  35.7005 516.2196 L
  35.7005 503.4010 L
B
U
0 To
1.0000 0.0000 0.0000 1.0000 291.7138 507.1148 0 Tp
TP
/_Helvetica 8.0000 Tf
0.0000 Tc
 0 Tr
0.5000 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.5000 w
1 j
  35.7005 489.8636 m
  561.6240 489.8636 L
  561.6240 503.4010 L
  35.7005 503.4010 L
  35.7005 489.8636 L
B
U
u
  0.000 0.000 0.000 0.000 k
  442.6622 443.1414 m
  561.6240 443.1414 L
  561.6240 456.6789 L
  442.6622 456.6789 L
  442.6622 443.1414 L
B
U
0 To
1.0000 0.0000 0.0000 1.0000 471.5341 447.5740 0 Tp
TP
/_Helvetica 8.0000 Tf
0.0000 Tc
 0 Tr
0.5000 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.5000 w
1 j
  442.6622 417.5042 m
  561.6240 417.5042 L
  561.6240 443.1414 L
  442.6622 443.1414 L
  442.6622 417.5042 L
B
U
0 To
1.0000 0.0000 0.0000 1.0000 448.6522 434.0366 0 Tp
TP
/_Helvetica 8.0000 Tf
0.0000 Tc
 0 Tr
0.5000 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 424.4526 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.5000 w
1 j
  502.2030 456.6789 m
  502.2030 470.2163 L
  502.2030 470.2163 L
  502.2030 481.7171 L
S
U
u
  0.000 0.000 0.000 1.000 k
0.5000 w
  499.4476 480.9983 m
  502.2030 489.2646 L
  504.9584 480.9983 L
  499.4476 480.9983 L
F
U
u
  0.000 0.000 0.000 0.000 k
  493.5774 467.1015 m
  512.0266 467.1015 L
  512.0266 478.4825 L
  493.5774 478.4825 L
  493.5774 467.1015 L
F
U
0 To
1.0000 0.0000 0.0000 1.0000 494.6556 470.0965 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.5000 w
1 j
  318.3095 443.1414 m
  437.2712 443.1414 L
  437.2712 456.6789 L
  318.3095 456.6789 L
  318.3095 443.1414 L
B
U
0 To
1.0000 0.0000 0.0000 1.0000 361.6772 447.5740 0 Tp
TP
/_Helvetica 8.0000 Tf
0.0000 Tc
 0 Tr
0.5000 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.5000 w
1 j
  318.3095 417.0250 m
  437.2712 417.0250 L
  437.2712 443.1414 L
  318.3095 443.1414 L
  318.3095 417.0250 L
B
U
0 To
1.0000 0.0000 0.0000 1.0000 324.2995 434.0366 0 Tp
TP
/_Helvetica 8.0000 Tf
0.0000 Tc
 0 Tr
0.5000 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 424.4526 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.5000 w
1 j
  401.3311 44.4459 m
  561.6240 44.4459 L
  561.6240 57.9834 L
  401.3311 57.9834 L
  401.3311 44.4459 L
B
U
0 To
1.0000 0.0000 0.0000 1.0000 464.1065 48.8785 0 Tp
TP
/_Helvetica 8.0000 Tf
0.0000 Tc
 0 Tr
0.5000 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.5000 w
1 j
  401.3311 1.4376 m
  561.6240 1.4376 L
  561.6240 44.4459 L
  401.3311 44.4459 L
  401.3311 1.4376 L
B
U
0 To
1.0000 0.0000 0.0000 1.0000 407.3211 35.3411 0 Tp
TP
/_Helvetica 8.0000 Tf
0.0000 Tc
 0 Tr
0.5000 w
0 j
  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 25.7571 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.1730 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 6.5890 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.5000 w
1 j
  230.7354 43.8469 m
  391.1481 43.8469 L
  391.1481 57.5042 L
  230.7354 57.5042 L
  230.7354 43.8469 L
B
U
0 To
1.0000 0.0000 0.0000 1.0000 296.0266 48.2795 0 Tp
TP
/_Helvetica 8.0000 Tf
0.0000 Tc
 0 Tr
0.5000 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.5000 w
1 j
  230.7354 1.4376 m
  391.1481 1.4376 L
  391.1481 43.8469 L
  230.7354 43.8469 L
  230.7354 1.4376 L
B
U
0 To
1.0000 0.0000 0.0000 1.0000 236.7255 34.8619 0 Tp
TP
/_Helvetica 8.0000 Tf
0.0000 Tc
 0 Tr
0.5000 w
0 j
  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.2779 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.5000 w
1 j
  244.1531 416.7854 m
  244.1531 325.2579 L
  267.0349 325.2579 L
S
U
u
  0.000 0.000 0.000 1.000 k
0.5000 w
  266.3161 328.0133 m
  274.5824 325.2579 L
  266.3161 322.5025 L
  266.3161 328.0133 L
F
U
u
  0.000 0.000 0.000 0.000 k
0.5000 w
  154.9018 115.7271 m
  240.9185 115.7271 L
  240.9185 129.2646 L
  154.9018 129.2646 L
  154.9018 115.7271 L
B
U
0 To
1.0000 0.0000 0.0000 1.0000 191.6805 120.0399 0 Tp
TP
/_Helvetica 8.0000 Tf
0.0000 Tc
 0 Tr
0.5000 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.5000 w
1 j
  154.9018 91.1681 m
  240.9185 91.1681 L
  240.9185 115.7271 L
  154.9018 115.7271 L
  154.9018 91.1681 L
B
U
0 To
1.0000 0.0000 0.0000 1.0000 160.8918 106.6223 0 Tp
TP
/_Helvetica 8.0000 Tf
0.0000 Tc
 0 Tr
0.5000 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 97.0383 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.5000 w
1 j
  240.7987 110.5757 m
  254.3361 110.5757 L
  254.3361 110.5757 L
  267.0349 110.5757 L
S
U
u
  0.000 0.000 0.000 1.000 k
0.5000 w
  266.3161 113.3311 m
  274.5824 110.5757 L
  266.3161 107.8203 L
  266.3161 113.3311 L
F
U
u
  0.000 0.000 0.000 0.000 k
  248.4659 105.1847 m
  266.7953 105.1847 L
  266.7953 116.5657 L
  248.4659 116.5657 L
  248.4659 105.1847 L
F
U
0 To
1.0000 0.0000 0.0000 1.0000 249.4243 108.1797 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.5000 w
1 j
  311.6007 91.1681 m
  311.6007 75.4742 L
  311.6007 75.4742 L
  311.6007 65.0516 L
S
U
u
  0.000 0.000 0.000 1.000 k
0.5000 w
  314.3561 65.7704 m
  311.6007 57.5042 L
  308.8453 65.7704 L
  314.3561 65.7704 L
F
U
u
  0.000 0.000 0.000 0.000 k
  272.0666 69.0050 m
  351.2546 69.0050 L
  351.2546 80.3860 L
  272.0666 80.3860 L
  272.0666 69.0050 L
F
U
0 To
1.0000 0.0000 0.0000 1.0000 273.0250 72.0000 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.5000 w
1 j
  481.2379 91.1681 m
  481.2379 77.6306 L
  481.4775 77.6306 L
  481.4775 65.6506 L
S
U
u
  0.000 0.000 0.000 1.000 k
0.5000 w
  484.2329 66.2496 m
  481.4775 57.9834 L
  478.7221 66.2496 L
  484.2329 66.2496 L
F
U
u
  0.000 0.000 0.000 0.000 k
  439.3078 69.3644 m
  523.4077 69.3644 L
  523.4077 80.7454 L
  439.3078 80.7454 L
  439.3078 69.3644 L
F
U
0 To
1.0000 0.0000 0.0000 1.0000 440.3860 72.3594 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.5000 w
1 j
  336.5191 178.6223 m
  336.5191 159.5740 L
  336.7587 159.5740 L
  336.7587 136.8120 L
S
U
u
  0.000 0.000 0.000 1.000 k
0.5000 w
  339.5141 137.5308 m
  336.7587 129.2646 L
  334.0033 137.5308 L
  339.5141 137.5308 L
F
U
u
  0.000 0.000 0.000 0.000 k
  297.5840 148.6722 m
  375.9334 148.6722 L
  375.9334 160.0532 L
  297.5840 160.0532 L
  297.5840 148.6722 L
F
U
0 To
1.0000 0.0000 0.0000 1.0000 298.5424 151.6672 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.5000 w
1 j
  197.9101 416.6656 m
  197.9101 136.8120 L
S
U
u
  0.000 0.000 0.000 1.000 k
0.5000 w
  200.5458 137.5308 m
  197.9101 129.2646 L
  195.1547 137.5308 L
  200.5458 137.5308 L
F
U
u
  0.000 0.000 0.000 0.000 k
0.5000 w
  274.5824 115.7271 m
  561.6240 115.7271 L
  561.6240 129.2646 L
  274.5824 129.2646 L
  274.5824 115.7271 L
B
U
0 To
1.0000 0.0000 0.0000 1.0000 387.0749 120.0399 0 Tp
TP
/_Helvetica 8.0000 Tf
0.0000 Tc
 0 Tr
0.5000 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.5000 w
1 j
  274.5824 91.1681 m
  561.6240 91.1681 L
  561.6240 115.7271 L
  274.5824 115.7271 L
  274.5824 91.1681 L
B
U
0 To
1.0000 0.0000 0.0000 1.0000 280.4526 106.6223 0 Tp
TP
/_Helvetica 8.0000 Tf
0.0000 Tc
 0 Tr
0.5000 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.0250 353.8902 m
  315.7937 353.8902 L
  315.7937 384.3195 L
  201.0250 384.3195 L
  201.0250 353.8902 L
F
U
0 To
1.0000 0.0000 0.0000 1.0000 239.3611 375.9334 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 366.3494 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 356.8852 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 148.3128 m
  264.9983 148.3128 L
  264.9983 198.0300 L
  130.9418 198.0300 L
  130.9418 148.3128 L
F
U
0 To
1.0000 0.0000 0.0000 1.0000 178.9817 189.6439 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 180.0599 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 170.4759 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 160.8918 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 151.3078 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 151.3078 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.5000 w
1 j
  244.2729 489.8636 m
  244.2729 476.3261 L
  244.2729 476.3261 L
  244.2729 464.3461 L
S
U
u
  0.000 0.000 0.000 1.000 k
0.5000 w
  247.0283 464.9451 m
  244.2729 456.6789 L
  241.5175 464.9451 L
  247.0283 464.9451 L
F
U
u
  0.000 0.000 0.000 0.000 k
  220.3128 468.0599 m
  268.4725 468.0599 L
  268.4725 479.4409 L
  220.3128 479.4409 L
  220.3128 468.0599 L
F
U
0 To
1.0000 0.0000 0.0000 1.0000 221.2712 471.0549 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.5000 w
1 j
  290.1564 416.7854 m
  290.1564 388.2729 L
  341.7903 388.2729 L
  341.7903 409.4775 L
S
U
u
  0.000 0.000 0.000 1.000 k
0.5000 w
  339.0349 408.7587 m
  341.7903 417.0250 L
  344.5458 408.7587 L
  339.0349 408.7587 L
F
U
u
  0.000 0.000 0.000 0.000 k
  306.6889 382.8819 m
  325.3777 382.8819 L
  325.3777 394.2629 L
  306.6889 394.2629 L
  306.6889 382.8819 L
F
U
0 To
1.0000 0.0000 0.0000 1.0000 307.7671 385.8769 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.5000 w
1 j
  274.5824 331.6073 m
  397.8569 331.6073 L
  397.8569 345.1448 L
  274.5824 345.1448 L
  274.5824 331.6073 L
B
U
0 To
1.0000 0.0000 0.0000 1.0000 300.5790 335.9201 0 Tp
TP
/_Helvetica 8.0000 Tf
0.0000 Tc
 0 Tr
0.5000 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.5000 w
1 j
  274.5824 305.3710 m
  397.8569 305.3710 L
  397.8569 331.6073 L
  274.5824 331.6073 L
  274.5824 305.3710 L
B
U
0 To
1.0000 0.0000 0.0000 1.0000 280.4526 322.3827 0 Tp
TP
/_Helvetica 8.0000 Tf
0.0000 Tc
 0 Tr
0.5000 w
0 j
  0.000 0.000 0.000 1.000 k
(ignore =\r) Tx
TO
  0.000 0.000 0.000 1.000 K
0 To
1.0000 0.0000 0.0000 1.0000 280.4526 312.7987 0 Tp
TP
/_Helvetica 8.0000 Tf
0.0000 Tc
 0 Tr
  0.000 0.000 0.000 1.000 k
(   m.check\(aaaEapRespData\)\r) Tx
TO
  0.000 0.000 0.000 1.000 K
u
  0.000 0.000 0.000 0.000 k
0.5000 w
1 j
  274.5824 252.5391 m
  397.8569 252.5391 L
  397.8569 266.0765 L
  274.5824 266.0765 L
  274.5824 252.5391 L
B
U
0 To
1.0000 0.0000 0.0000 1.0000 296.3860 256.8519 0 Tp
TP
/_Helvetica 8.0000 Tf
0.0000 Tc
 0 Tr
0.5000 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.5000 w
1 j
  274.5824 178.6223 m
  397.8569 178.6223 L
  397.8569 252.5391 L
  274.5824 252.5391 L
  274.5824 178.6223 L
B
U
0 To
1.0000 0.0000 0.0000 1.0000 280.4526 243.3145 0 Tp
TP
/_Helvetica 8.0000 Tf
0.0000 Tc
 0 Tr
0.5000 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.4526 233.7304 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.4526 224.1464 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.4526 214.5624 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.4526 204.9784 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.4526 195.5141 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.4526 185.9301 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.5000 w
1 j
  408.0399 331.6073 m
  561.6240 331.6073 L
  561.6240 345.1448 L
  408.0399 345.1448 L
  408.0399 331.6073 L
B
U
0 To
1.0000 0.0000 0.0000 1.0000 447.9334 335.9201 0 Tp
TP
/_Helvetica 8.0000 Tf
0.0000 Tc
 0 Tr
0.5000 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.5000 w
1 j
  408.0399 296.3860 m
  561.6240 296.3860 L
  561.6240 331.6073 L
  408.0399 331.6073 L
  408.0399 296.3860 L
B
U
0 To
1.0000 0.0000 0.0000 1.0000 414.0300 322.3827 0 Tp
TP
/_Helvetica 8.0000 Tf
0.0000 Tc
 0 Tr
0.5000 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 312.7987 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 303.2146 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.5000 w
1 j
  408.0399 252.5391 m
  561.6240 252.5391 L
  561.6240 266.0765 L
  408.0399 266.0765 L
  408.0399 252.5391 L
B
U
0 To
1.0000 0.0000 0.0000 1.0000 447.4542 256.8519 0 Tp
TP
/_Helvetica 8.0000 Tf
0.0000 Tc
 0 Tr
0.5000 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.5000 w
1 j
  408.0399 178.6223 m
  561.6240 178.6223 L
  561.6240 252.5391 L
  408.0399 252.5391 L
  408.0399 178.6223 L
B
U
0 To
1.0000 0.0000 0.0000 1.0000 414.0300 243.3145 0 Tp
TP
/_Helvetica 8.0000 Tf
0.0000 Tc
 0 Tr
0.5000 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 233.7304 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 224.1464 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 214.5624 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 204.9784 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 195.5141 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 185.9301 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.5000 w
1 j
  377.3710 266.1963 m
  377.3710 279.3744 L
  427.9268 279.3744 L
  427.9268 288.7188 L
S
U
u
  0.000 0.000 0.000 1.000 k
0.5000 w
  425.1714 288.1198 m
  427.9268 296.3860 L
  430.6822 288.1198 L
  425.1714 288.1198 L
F
U
u
  0.000 0.000 0.000 0.000 k
  395.8203 274.1032 m
  413.0715 274.1032 L
  413.0715 285.4842 L
  395.8203 285.4842 L
  395.8203 274.1032 L
F
U
0 To
1.0000 0.0000 0.0000 1.0000 396.7787 277.0982 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.5000 w
1 j
  336.7587 305.2512 m
  336.7587 291.8336 L
  336.7587 291.8336 L
  336.7587 273.7438 L
S
U
u
  0.000 0.000 0.000 1.000 k
0.5000 w
  339.5141 274.4626 m
  336.7587 266.1963 L
  334.0033 274.4626 L
  339.5141 274.4626 L
F
U
u
  0.000 0.000 0.000 0.000 k
  323.3411 280.3328 m
  350.1764 280.3328 L
  350.1764 291.7138 L
  323.3411 291.7138 L
  323.3411 280.3328 L
F
U
0 To
1.0000 0.0000 0.0000 1.0000 324.4193 283.3278 0 Tp
TP
/_Helvetica 8.0000 Tf
0.0000 Tc
 0 Tr
0 j
  0.000 0.000 0.000 1.000 k
(!ignore\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 148.3128 m
  493.5774 148.3128 L
  493.5774 159.6938 L
  476.3261 159.6938 L
  476.3261 148.3128 L
F
U
0 To
1.0000 0.0000 0.0000 1.0000 477.2845 151.3078 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 271.2280 m
  493.0982 271.2280 L
  493.0982 282.4892 L
  474.6489 282.4892 L
  474.6489 271.2280 L
F
U
0 To
1.0000 0.0000 0.0000 1.0000 475.6073 274.2230 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.5000 w
1 j
  86.1364 673.3977 m
  86.1364 673.8769 L
  166.4027 673.8769 L
S
U
u
  0.000 0.000 0.000 1.000 k
0.5000 w
  165.6839 676.5125 m
  173.9501 673.8769 L
  165.6839 671.1215 L
  165.6839 676.5125 L
F
U
u
  0.000 0.000 0.000 0.000 k
0.5000 w
  175.8669 673.7571 m
  312.5591 673.7571 L
  312.5591 687.1747 L
  175.8669 687.1747 L
  175.8669 673.7571 L
B
U
0 To
1.0000 0.0000 0.0000 1.0000 226.3028 677.9501 0 Tp
TP
/_Helvetica 8.0000 Tf
0.0000 Tc
 0 Tr
0.5000 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.5000 w
1 j
  175.8669 601.3977 m
  312.5591 601.3977 L
  312.5591 673.7571 L
  175.8669 673.7571 L
  175.8669 601.3977 L
B
U
0 To
1.0000 0.0000 0.0000 1.0000 181.8569 664.5324 0 Tp
TP
/_Helvetica 8.0000 Tf
0.0000 Tc
 0 Tr
0.5000 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 654.9484 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 645.3644 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 635.7804 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 626.1963 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 616.6123 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 607.0283 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.5000 w
1 j
  175.8669 565.2180 m
  312.5591 565.2180 L
  312.5591 578.7554 L
  175.8669 578.7554 L
  175.8669 565.2180 L
B
U
0 To
1.0000 0.0000 0.0000 1.0000 209.5308 569.5308 0 Tp
TP
/_Helvetica 8.0000 Tf
0.0000 Tc
 0 Tr
0.5000 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.5000 w
1 j
  175.8669 522.9285 m
  312.5591 522.9285 L
  312.5591 565.2180 L
  175.8669 565.2180 L
  175.8669 522.9285 L
B
U
0 To
1.0000 0.0000 0.0000 1.0000 181.8569 555.9933 0 Tp
TP
/_Helvetica 8.0000 Tf
0.0000 Tc
 0 Tr
0.5000 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 546.4093 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 536.8253 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 527.2413 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.5000 w
1 j
  244.0333 601.3977 m
  244.0333 586.3028 L
S
U
u
  0.000 0.000 0.000 1.000 k
0.5000 w
  246.7887 586.9018 m
  244.0333 578.6356 L
  241.2779 586.9018 L
  246.7887 586.9018 L
F
U
u
0.5000 w
  175.2679 616.0133 m
  21.0849 616.0133 L
  21.0849 110.2163 L
  147.3544 110.2163 L
S
U
u
  0.000 0.000 0.000 1.000 k
0.5000 w
  146.6356 112.9717 m
  154.9018 110.2163 L
  146.6356 107.4609 L
  146.6356 112.9717 L
F
U
u
0.5000 w
  312.5591 644.0466 m
  575.1614 644.0466 L
  575.1614 109.9767 L
  568.6922 109.9767 L
S
U
u
  0.000 0.000 0.000 1.000 k
0.5000 w
  569.4110 107.2213 m
  561.1448 109.9767 L
  569.4110 112.7321 L
  569.4110 107.2213 L
F
U
u
  0.000 0.000 0.000 0.000 k
  322.3827 638.1764 m
  352.2130 638.1764 L
  352.2130 649.5574 L
  322.3827 649.5574 L
  322.3827 638.1764 L
F
U
0 To
1.0000 0.0000 0.0000 1.0000 323.3411 641.1714 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.5000 w
1 j
  312.5591 550.0033 m
  575.1614 550.0033 L
S
U
u
  0.000 0.000 0.000 0.000 k
0.5000 w
  324.4193 544.9717 m
  410.3161 544.9717 L
  410.3161 556.3527 L
  324.4193 556.3527 L
  324.4193 544.9717 L
F
U
0 To
1.0000 0.0000 0.0000 1.0000 325.3777 547.9667 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.5000 w
1 j
  35.7005 670.7621 m
  86.1364 670.7621 L
  86.1364 684.4193 L
  35.7005 684.4193 L
  35.7005 670.7621 L
B
U
0 To
1.0000 0.0000 0.0000 1.0000 43.0083 675.3145 0 Tp
TP
/_Helvetica 8.0000 Tf
0.0000 Tc
 0 Tr
0.5000 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.5000 w
1 j
  35.7005 656.9850 m
  86.1364 656.9850 L
  86.1364 670.7621 L
  35.7005 670.7621 L
  35.7005 656.9850 L
B
U
u
  60.8586 700.4725 m
  60.8586 691.9667 L
S
U
u
  0.000 0.000 0.000 1.000 k
0.5000 w
  63.6140 692.6855 m
  60.8586 684.4193 L
  58.1032 692.6855 L
  63.6140 692.6855 L
F
U
0 To
1.0000 0.0000 0.0000 1.0000 29.8303 702.7488 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.5000 w
1 j
  175.8669 550.6023 m
  27.7937 550.6023 L
  27.7937 222.3494 L
  194.9151 222.3494 L
  195.1547 223.4276 L
  195.8735 224.3860 L
  196.8319 225.1048 L
  197.9101 225.3444 L
  198.9884 225.1048 L
  199.9468 224.3860 L
  200.5458 223.4276 L
  200.7854 222.3494 L
  267.0349 222.3494 L
S
U
u
  0.000 0.000 0.000 1.000 k
0.5000 w
  266.3161 225.1048 m
  274.5824 222.3494 L
  266.3161 219.5940 L
  266.3161 225.1048 L
F
U
u
  0.000 0.000 0.000 0.000 k
  139.8070 545.8103 m
  158.4958 545.8103 L
  158.4958 557.1913 L
  139.8070 557.1913 L
  139.8070 545.8103 L
F
U
0 To
1.0000 0.0000 0.0000 1.0000 140.8852 548.8053 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 609.1847 m
  142.2030 609.1847 L
  142.2030 620.4459 L
  56.9052 620.4459 L
  56.9052 609.1847 L
F
U
0 To
1.0000 0.0000 0.0000 1.0000 82.5424 621.7637 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 612.1797 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 602.5957 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 590.1364 m
  253.4975 590.1364 L
  253.4975 596.7255 L
  234.2097 596.7255 L
  234.2097 590.1364 L
F
U
0 To
1.0000 0.0000 0.0000 1.0000 235.6473 590.9750 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 665.0116 m
  153.4642 665.0116 L
  153.4642 676.1531 L
  101.4709 676.1531 L
  101.4709 665.0116 L
F
U
0 To
1.0000 0.0000 0.0000 1.0000 92.8453 679.9867 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 670.5225 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.5724 95.4809 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.5000 w
1 j
  175.8669 443.1414 m
  312.5591 443.1414 L
  312.5591 456.6789 L
  175.8669 456.6789 L
  175.8669 443.1414 L
B
U
0 To
1.0000 0.0000 0.0000 1.0000 225.7038 447.5740 0 Tp
TP
/_Helvetica 8.0000 Tf
0.0000 Tc
 0 Tr
0.5000 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.5000 w
1 j
  175.8669 416.7854 m
  312.5591 416.7854 L
  312.5591 443.1414 L
  175.8669 443.1414 L
  175.8669 416.7854 L
B
U
0 To
1.0000 0.0000 0.0000 1.0000 181.8569 434.0366 0 Tp
TP
/_Helvetica 8.0000 Tf
0.0000 Tc
 0 Tr
0.5000 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 424.4526 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_typography_AI5 /terminate get exec
Adobe_level2_AI5 /terminate get exec
%%EOF

%%EndDocument
 @endspecial 915 4750 a(Figure)f(5:)26 b(EAP)20 b(Back)o(end)g
(Authenticator)e(State)j(Machine)125 5100 y Fb(\017)41
b Fg(aaaEapRespData)19 b(\(EAP)h(pack)o(et\))208 5233
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)f(or)h(NONE.)125
5399 y Fb(\017)41 b Fg(back)o(endEnabled)16 b(\(boolean\))0
5656 y(V)-11 b(ollbrecht,)19 b(et)i(al.)944 b(Expires)19
b(January)g(17,)h(2005)943 b([P)o(age)19 b(23])p eop
end
%%Page: 24 24
TeXDict begin 24 23 bop 0 100 a Fg(INTERNET)-8 b(-DRAFT)970
b(EAP)21 b(State)g(Machine)949 b(July)20 b(2004)208 390
y(Indicates)d(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 490 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 811 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 1010 y Fb(\017)41 b Fg(aaaEapReq)19 b(\(boolean\))208
1143 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 1242 y(ready)19
b(to)h(be)g(sent.)125 1408 y Fb(\017)41 b Fg(aaaEapNoReq)18
b(\(boolean\))208 1541 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
1641 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 1807 y Fb(\017)41 b Fg(aaaSuccess)20
b(\(boolean\))208 1940 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
2039 y(reached)18 b(the)j(SUCCESS)g(state.)125 2205 y
Fb(\017)41 b Fg(aaaF)o(ail)20 b(\(boolean\))208 2338
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 2438 y(reached)18 b(the)j(F)-6
b(AILURE)20 b(state.)125 2604 y Fb(\017)41 b Fg(aaaEapReqData)18
b(\(EAP)j(pack)o(et\))208 2737 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 2836 y(EAP)g(request)g(to)g(be)
g(sent)h(\(or)e(success/f)o(ailure\).)125 3002 y Fb(\017)41
b Fg(aaaEapK)n(e)o(yData)18 b(\(EAP)i(k)o(e)o(y\))208
3135 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 3135 25 4 v 29 w(RESPONSE)208
3235 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 3334
y(be)g(de\002ned)f(in)h([I-D.ietf-eap-k)o(e)o(ying].)125
3500 y Fb(\017)41 b Fg(aaaEapK)n(e)o(yA)-6 b(v)n(ailable)17
b(\(boolean\))208 3633 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
3733 y(K)n(e)o(yData.)125 3899 y Fb(\017)41 b Fg(aaaMethodT)m(imeout)17
b(\(inte)o(ger\))208 4032 y(Method-pro)o(vided)e(hint)21
b(for)e(suitable)i(retransmission)e(timeout,)g(or)i(NONE)f(\(note)g
(that)g(this)h(hint)g(is)g(for)f(the)g(EAP)208 4131 y(retransmissions)f
(done)g(by)h(the)g(pass-through)e(authenticator)m(,)f(not)j
(retransmissions)f(of)h(AAA)h(pack)o(ets\).)0 4469 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 4724 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 4824 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 4923 y(pass-through.)31
b(That)23 b(is,)i(the)e(EAP)h(Request)f(pack)o(et)f(w)o(as)i(sent)g(by)
f(the)g(pass-through,)e(b)n(ut)i(the)g(back)o(end)f(must)h(process)0
5023 y(the)d(corresponding)d(EAP)k(Response.)j(Usually)c(only)g(the)g
(Identity)f(method)g(supports)g(this,)h(b)n(ut)g(others)g(are)g
(possible.)0 5222 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
5322 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 5656 y(V)-11 b(ollbrecht,)19
b(et)i(al.)944 b(Expires)19 b(January)g(17,)h(2005)943
b([P)o(age)19 b(24])p eop end
%%Page: 25 25
TeXDict begin 25 24 bop 0 100 a Fg(INTERNET)-8 b(-DRAFT)970
b(EAP)21 b(State)g(Machine)949 b(July)20 b(2004)0 390
y(actually)e(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 490 y(initial)i(request)e
(contained;)g(Identity)g(and)g(EAP-TLS)h(are)g(good)f(e)o(xamples.\))0
689 y(After)h(this,)g(the)h(processing)d(continues)h(as)i(described)e
(in)i(Section)e(5.2)0 1024 y Ff(6.3)99 b(Back)o(end)27
b(authenticator)f(state)f(machine)h(local)e(v)o(ariables)0
1279 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
1614 y Ff(6.4)99 b(EAP)25 b(back)o(end)i(authenticator)g(pr)n(ocedur)n
(es)0 1869 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 1969 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 2069 y(dif)n(ferently)-5 b(.)0 2268 y(NO)m(TE:)22
b(F)o(or)f(method)g(procedures,)f(the)i(method)f(uses)h(its)h(internal)
e(state)i(in)f(addition)f(to)h(the)g(information)e(pro)o(vided)f(by)0
2368 y(the)k(EAP)h(layer)-5 b(.)33 b(The)23 b(only)f(ar)o(guments)f
(that)i(are)g(e)o(xplicitly)f(sho)n(wn)h(as)g(inputs)g(to)g(the)g
(procedures)e(are)i(those)g(pro)o(vided)0 2467 y(to)d(the)h(method)d
(by)i(EAP)-9 b(.)20 b(Those)g(inputs)g(pro)o(vided)d(by)j(the)g
(method')-5 b(s)20 b(internal)f(state)i(remain)e(implicit.)125
2736 y Fb(\017)41 b Fg(Polic)o(y)-5 b(.doPickUp\(\))208
2866 y(Notify)22 b(the)g(polic)o(y)g(that)g(an)h(already-chosen)d
(method)h(is)i(being)f(pick)o(ed)g(up)g(and)g(will)h(be)g(completed.)31
b(Returns)22 b(a)208 2966 y(boolean.)125 3127 y Fb(\017)41
b Fg(m.initPickUp\(\))208 3257 y(Method)20 b(procedure)f(to)j
(initialize)g(state)h(when)e(continuing)e(from)i(an)h(already-started)d
(method.)28 b(Return)22 b(v)n(alue)f(is)208 3357 y(unde\002ned.)0
3692 y Ff(6.5)99 b(EAP)25 b(back)o(end)i(authenticator)g(states)0
3947 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 4046
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 4315 y Fb(\017)41
b Fg(PICK)p 402 4315 25 4 v 30 w(UP)p 538 4315 V 30 w(METHOD)208
4446 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
4823 y Fe(7)119 b(EAP)30 b(Full)h(A)-6 b(uthenticator)0
5108 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 5208
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 5208 V 29 w(A)m(CTION)g(state)0 5308 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
5407 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(ass-Through)e(Mode.)0
5656 y(V)-11 b(ollbrecht,)19 b(et)i(al.)944 b(Expires)19
b(January)g(17,)h(2005)943 b([P)o(age)19 b(25])p eop
end
%%Page: 26 26
TeXDict begin 26 25 bop 0 100 a Fg(INTERNET)-8 b(-DRAFT)970
b(EAP)21 b(State)g(Machine)949 b(July)20 b(2004)0 390
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 490 y(P)-8 b(ASSTHR)m(OUGH)21 b(mode.)18
3884 y @beginspecial 0 @llx 0 @lly 697 @urx 644 @ury
4276 @rwi @setspecial
%%BeginDocument: ../../../diagrams/20040214_passthrough_authenticator1.eps
%!PS-Adobe-3.0 EPSF-3.0
%%Creator: ImageMark Software Labs
%%For: () ()
%%Title: C:\USERS\IETF\EAP\State machines\AuthenticatorSplit\20040214_passthrough_authenticator1.eps
%%CreationDate: () ()
%%BoundingBox: 0 0 697 644
%%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.0 0
%%+ procset Adobe_typography_AI5 1.0 0
%%+ procset Adobe_Illustrator_AI5 1.0 0
%AI5_FileFormat 3.0
%AI3_ColorUsage: Color
%AI3_TemplateBox: 0 0 697 644
%AI3_TileBox: 0 0 697 644
%AI3_DocumentPreview: None
%%Template:
%%PageOrigin:0.0000 0.0000
%%EndComments
%%BeginProlog
%%BeginResource: procset Adobe_level2_AI5 1.0 0
%%Title: (Adobe Illustrator (R) Version 5.0 Level 2 Emulation)
%%Version: 1.0 
%%CreationDate: (04/10/93) ()
%%Copyright: ((C) 1987-1993 Adobe Systems Incorporated All Rights Reserved)
userdict /Adobe_level2_AI5 21 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
		{
			5 packedarray
		} bind def
		/setcustomcolor
		{
			exch aload pop pop
			4
			{
				4 index mul 4 1 roll
			} repeat
			5 -1 roll pop
			setcmykcolor
		}
		def
	} if
	
	/gt38? mark {version 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
	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_Illustrator_AI5 1.1 0
%%Title: (Adobe Illustrator (R) Version 5.0 Full Prolog)
%%Version: 1.1 
%%CreationDate: (3/7/1994) ()
%%Copyright: ((C) 1987-1994 Adobe Systems Incorporated All Rights Reserved)
currentpacking true setpacking
userdict /Adobe_Illustrator_AI5_vars 79 dict dup begin
put
/_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 82 dict dup begin
put
/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
/H
{
} def
/h
{
	closepath
} def
/N
{
	_pola 0 eq
	{
		_doClip 1 eq
		{
			clip /_doClip 0 ddef
		} if
		newpath
	}
	{
		/CRender
		{
			N
		} ddef
	} ifelse
} def
/n
{
	N
} def
/F
{
	_pola 0 eq
	{
		_doClip 1 eq
		{
			gsave _pf grestore clip 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 clip 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 clip 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
/@
{
} def
/&
{
} 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
		fill
	} 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
		fill
	} 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
		fill
	} 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
/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 ashow
				} 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 awidthshow
				} 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
/A
{
	pop
} def
/annotatepage
{
userdict /annotatepage 2 copy known {get exec} {pop pop} ifelse
} 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
	}
	{
		stop
	} ifelse
} 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 clip
		} 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
currentdict readonly pop
end
setpacking
%%EndResource
%%EndProlog
%%BeginSetup
Adobe_level2_AI5 /initialize get exec
Adobe_Illustrator_AI5_vars Adobe_Illustrator_AI5 Adobe_typography_AI5 /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
[
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
/_Helvetica/Helvetica 0 0 1 TZ
%AI3_EndEncoding AdobeType
%AI3_BeginEncoding: _Helvetica-Bold Helvetica-Bold
[
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
/_Helvetica-Bold/Helvetica-Bold 0 0 1 TZ
%AI3_EndEncoding AdobeType
%AI3_BeginEncoding: _Helvetica-Oblique Helvetica-Oblique
[
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
/_Helvetica-Oblique/Helvetica-Oblique 0 0 1 TZ
%AI3_EndEncoding AdobeType
%AI3_BeginEncoding: _Helvetica-BoldOblique Helvetica-BoldOblique
[
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
/_Helvetica-BoldOblique/Helvetica-BoldOblique 0 0 1 TZ
%AI3_EndEncoding AdobeType
%AI3_BeginEncoding: _Times-Roman Times-Roman
[
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
/_Times-Roman/Times-Roman 0 0 1 TZ
%AI3_EndEncoding AdobeType
%AI3_BeginEncoding: _Times-Bold Times-Bold
[
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
/_Times-Bold/Times-Bold 0 0 1 TZ
%AI3_EndEncoding AdobeType
%AI3_BeginEncoding: _Times-Italic Times-Italic
[
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
/_Times-Italic/Times-Italic 0 0 1 TZ
%AI3_EndEncoding AdobeType
%AI3_BeginEncoding: _Times-BoldItalic Times-BoldItalic
[
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
/_Times-BoldItalic/Times-BoldItalic 0 0 1 TZ
%AI3_EndEncoding AdobeType
%AI3_BeginEncoding: _Courier Courier
[
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
/_Courier/Courier 0 0 1 TZ
%AI3_EndEncoding AdobeType
%AI3_BeginEncoding: _Courier-Bold Courier-Bold
[
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
/_Courier-Bold/Courier-Bold 0 0 1 TZ
%AI3_EndEncoding AdobeType
%AI3_BeginEncoding: _Courier-Oblique Courier-Oblique
[
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
/_Courier-Oblique/Courier-Oblique 0 0 1 TZ
%AI3_EndEncoding AdobeType
%AI3_BeginEncoding: _Courier-BoldOblique Courier-BoldOblique
[
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
/_Courier-BoldOblique/Courier-BoldOblique 0 0 1 TZ
%AI3_EndEncoding AdobeType
%AI3_BeginEncoding: _Symbol Symbol
[
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
/_Symbol/Symbol 0 0 1 TZ
%AI3_EndEncoding AdobeType
%%EndSetup

u
 [] 0 d
0.5000 w
  0.000 0.000 0.000 1.000 K
1 J
1 j
  486.5092 129.1448 m
  486.5092 171.0749 L
S
U
u
  0.000 0.000 0.000 1.000 k
0.5000 w
  0.000 0.000 0.000 1.000 K
  483.7537 170.3561 m
  486.5092 178.6223 L
  489.2646 170.3561 L
  483.7537 170.3561 L
F
U
u
0.5000 w
  485.3111 265.9567 m
  485.3111 288.7188 L
S
U
u
  0.000 0.000 0.000 1.000 k
0.5000 w
  482.5557 288.0000 m
  485.3111 296.2662 L
  488.0666 288.0000 L
  482.5557 288.0000 L
F
U
u
0.5000 w
  379.7671 456.6789 m
  379.7671 482.0765 L
S
U
u
  0.000 0.000 0.000 1.000 k
0.5000 w
  377.0116 481.4775 m
  379.7671 489.7438 L
  382.5225 481.4775 L
  377.0116 481.4775 L
F
U
u
  0.000 0.000 0.000 0.000 k
  370.0632 467.3411 m
  388.5125 467.3411 L
  388.5125 478.7221 L
  370.0632 478.7221 L
  370.0632 467.3411 L
F
U
0 To
1.0000 0.0000 0.0000 1.0000 371.0216 470.3361 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.5000 w
1 j
  503.7604 345.0250 m
  503.7604 358.4426 L
  503.7604 358.4426 L
  503.7604 390.7887 L
S
U
u
  0.000 0.000 0.000 1.000 k
0.5000 w
  501.0050 390.1897 m
  503.7604 398.3361 L
  506.5158 390.1897 L
  501.0050 390.1897 L
F
U
u
  0.000 0.000 0.000 0.000 k
  493.8170 366.3494 m
  513.5840 366.3494 L
  513.5840 377.7304 L
  493.8170 377.7304 L
  493.8170 366.3494 L
F
U
0 To
1.0000 0.0000 0.0000 1.0000 494.7754 369.3444 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.5000 w
1 j
  379.1681 344.7854 m
  379.1681 358.4426 L
  379.2879 358.4426 L
  379.2879 409.4775 L
S
U
u
  0.000 0.000 0.000 1.000 k
0.5000 w
  376.5324 408.8785 m
  379.2879 417.1448 L
  382.0433 408.8785 L
  376.5324 408.8785 L
F
U
u
  0.000 0.000 0.000 0.000 k
  367.9068 368.2662 m
  392.1065 368.2662 L
  392.1065 379.6473 L
  367.9068 379.6473 L
  367.9068 368.2662 L
F
U
0 To
1.0000 0.0000 0.0000 1.0000 368.8652 371.2612 0 Tp
TP
/_Helvetica 8.0000 Tf
0.0000 Tc
 0 Tr
0 j
  0.000 0.000 0.000 1.000 k
(ignore\r) Tx
TO
  0.000 0.000 0.000 1.000 K
u
  0.000 0.000 0.000 0.000 k
0.5000 w
1 j
  37.3777 503.2812 m
  563.3012 503.2812 L
  563.3012 516.0998 L
  37.3777 516.0998 L
  37.3777 503.2812 L
B
U
0 To
1.0000 0.0000 0.0000 1.0000 293.3910 506.8752 0 Tp
TP
/_Helvetica 8.0000 Tf
0.0000 Tc
 0 Tr
0.5000 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.5000 w
1 j
  37.3777 489.7438 m
  563.3012 489.7438 L
  563.3012 503.2812 L
  37.3777 503.2812 L
  37.3777 489.7438 L
B
U
u
  0.000 0.000 0.000 0.000 k
  444.4592 443.1414 m
  563.3012 443.1414 L
  563.3012 456.6789 L
  444.4592 456.6789 L
  444.4592 443.1414 L
B
U
0 To
1.0000 0.0000 0.0000 1.0000 473.0915 447.4542 0 Tp
TP
/_Helvetica 8.0000 Tf
0.0000 Tc
 0 Tr
0.5000 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.5000 w
1 j
  444.4592 398.3361 m
  563.3012 398.3361 L
  563.3012 443.1414 L
  444.4592 443.1414 L
  444.4592 398.3361 L
B
U
0 To
1.0000 0.0000 0.0000 1.0000 450.4493 433.9168 0 Tp
TP
/_Helvetica 8.0000 Tf
0.0000 Tc
 0 Tr
0.5000 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 424.3328 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 414.7488 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 405.1647 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.5000 w
1 j
  503.8802 456.6789 m
  503.8802 470.0965 L
  503.8802 470.0965 L
  503.8802 481.5973 L
S
U
u
  0.000 0.000 0.000 1.000 k
0.5000 w
  501.1248 480.8785 m
  503.8802 489.1448 L
  506.6356 480.8785 L
  501.1248 480.8785 L
F
U
u
  0.000 0.000 0.000 0.000 k
  495.2546 466.9817 m
  513.5840 466.9817 L
  513.5840 478.3627 L
  495.2546 478.3627 L
  495.2546 466.9817 L
F
U
0 To
1.0000 0.0000 0.0000 1.0000 496.2130 469.9767 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.5000 w
1 j
  131.5408 566.0566 m
  229.1780 566.0566 L
  229.1780 580.1930 L
  131.5408 580.1930 L
  131.5408 566.0566 L
B
U
0 To
1.0000 0.0000 0.0000 1.0000 162.5691 570.9684 0 Tp
TP
/_Helvetica 8.0000 Tf
0.0000 Tc
 0 Tr
0.5000 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.5000 w
1 j
  131.5408 552.5191 m
  229.1780 552.5191 L
  229.1780 566.0566 L
  131.5408 566.0566 L
  131.5408 552.5191 L
B
U
u
  0.000 0.000 0.000 0.000 k
  300.9384 602.3561 m
  445.5374 602.3561 L
  445.5374 615.8935 L
  300.9384 615.8935 L
  300.9384 602.3561 L
B
U
0 To
1.0000 0.0000 0.0000 1.0000 355.3278 606.7887 0 Tp
TP
/_Helvetica 8.0000 Tf
0.0000 Tc
 0 Tr
0.5000 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.5000 w
1 j
  300.9384 527.9601 m
  445.5374 527.9601 L
  445.5374 602.3561 L
  300.9384 602.3561 L
  300.9384 527.9601 L
B
U
0 To
1.0000 0.0000 0.0000 1.0000 306.9285 593.2512 0 Tp
TP
/_Helvetica 8.0000 Tf
0.0000 Tc
 0 Tr
0.5000 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
0 To
1.0000 0.0000 0.0000 1.0000 306.9285 583.5474 0 Tp
TP
/_Helvetica 8.0000 Tf
0.0000 Tc
 0 Tr
  0.000 0.000 0.000 1.000 k
(eapSuccess = FALSE\r) Tx
TO
  0.000 0.000 0.000 1.000 K
0 To
1.0000 0.0000 0.0000 1.0000 306.9285 573.9634 0 Tp
TP
/_Helvetica 8.0000 Tf
0.0000 Tc
 0 Tr
  0.000 0.000 0.000 1.000 k
(eapFail = FALSE\r) Tx
TO
  0.000 0.000 0.000 1.000 K
0 To
1.0000 0.0000 0.0000 1.0000 306.9285 564.3794 0 Tp
TP
/_Helvetica 8.0000 Tf
0.0000 Tc
 0 Tr
  0.000 0.000 0.000 1.000 k
(eapTimeout = FALSE\r) Tx
TO
  0.000 0.000 0.000 1.000 K
0 To
1.0000 0.0000 0.0000 1.0000 306.9285 554.7953 0 Tp
TP
/_Helvetica 8.0000 Tf
0.0000 Tc
 0 Tr
  0.000 0.000 0.000 1.000 k
(eapKeyData = NONE\r) Tx
TO
  0.000 0.000 0.000 1.000 K
0 To
1.0000 0.0000 0.0000 1.0000 306.9285 545.2113 0 Tp
TP
/_Helvetica 8.0000 Tf
0.0000 Tc
 0 Tr
  0.000 0.000 0.000 1.000 k
(eapKeyAvailable = FALSE\r) Tx
TO
  0.000 0.000 0.000 1.000 K
0 To
1.0000 0.0000 0.0000 1.0000 306.9285 535.7471 0 Tp
TP
/_Helvetica 8.0000 Tf
0.0000 Tc
 0 Tr
  0.000 0.000 0.000 1.000 k
(eapRestart = FALSE\r) Tx
TO
  0.000 0.000 0.000 1.000 K
u
0.5000 w
1 j
  229.1780 566.2962 m
  242.5957 566.2962 L
  242.5957 571.9268 L
  293.3910 571.9268 L
S
U
u
  0.000 0.000 0.000 1.000 k
0.5000 w
  292.6722 574.6822 m
  300.9384 571.9268 L
  292.6722 569.1714 L
  292.6722 574.6822 L
F
U
u
0.5000 w
  445.5374 571.9268 m
  576.7188 571.9268 L
  576.7188 109.8569 L
  570.2496 109.8569 L
S
U
u
  0.000 0.000 0.000 1.000 k
0.5000 w
  570.9684 107.2213 m
  562.7022 109.8569 L
  570.9684 112.6123 L
  570.9684 107.2213 L
F
U
u
  0.000 0.000 0.000 0.000 k
0.5000 w
  319.9867 443.1414 m
  438.8286 443.1414 L
  438.8286 456.6789 L
  319.9867 456.6789 L
  319.9867 443.1414 L
B
U
0 To
1.0000 0.0000 0.0000 1.0000 363.3544 447.4542 0 Tp
TP
/_Helvetica 8.0000 Tf
0.0000 Tc
 0 Tr
0.5000 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.5000 w
1 j
  319.9867 416.9052 m
  438.8286 416.9052 L
  438.8286 443.1414 L
  319.9867 443.1414 L
  319.9867 416.9052 L
B
U
0 To
1.0000 0.0000 0.0000 1.0000 325.8569 433.9168 0 Tp
TP
/_Helvetica 8.0000 Tf
0.0000 Tc
 0 Tr
0.5000 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 424.3328 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.5000 w
1 j
  402.8885 44.4459 m
  563.3012 44.4459 L
  563.3012 57.9834 L
  402.8885 57.9834 L
  402.8885 44.4459 L
B
U
0 To
1.0000 0.0000 0.0000 1.0000 465.6639 48.7587 0 Tp
TP
/_Helvetica 8.0000 Tf
0.0000 Tc
 0 Tr
0.5000 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.5000 w
1 j
  402.8885 1.3178 m
  563.3012 1.3178 L
  563.3012 44.4459 L
  402.8885 44.4459 L
  402.8885 1.3178 L
B
U
0 To
1.0000 0.0000 0.0000 1.0000 408.8785 35.3411 0 Tp
TP
/_Helvetica 8.0000 Tf
0.0000 Tc
 0 Tr
0.5000 w
0 j
  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 25.7571 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.1730 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 6.5890 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.5000 w
1 j
  232.5324 43.8469 m
  392.9451 43.8469 L
  392.9451 57.3844 L
  232.5324 57.3844 L
  232.5324 43.8469 L
B
U
0 To
1.0000 0.0000 0.0000 1.0000 297.7038 48.2795 0 Tp
TP
/_Helvetica 8.0000 Tf
0.0000 Tc
 0 Tr
0.5000 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.5000 w
1 j
  232.5324 1.3178 m
  392.9451 1.3178 L
  392.9451 43.8469 L
  232.5324 43.8469 L
  232.5324 1.3178 L
B
U
0 To
1.0000 0.0000 0.0000 1.0000 238.5225 34.7421 0 Tp
TP
/_Helvetica 8.0000 Tf
0.0000 Tc
 0 Tr
0.5000 w
0 j
  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.1581 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.5000 w
1 j
  245.9501 416.6656 m
  245.9501 325.1381 L
  268.5923 325.1381 L
S
U
u
  0.000 0.000 0.000 1.000 k
0.5000 w
  267.9933 327.8935 m
  276.2596 325.1381 L
  267.9933 322.3827 L
  267.9933 327.8935 L
F
U
u
  0.000 0.000 0.000 0.000 k
0.5000 w
  156.5790 115.6073 m
  242.5957 115.6073 L
  242.5957 129.1448 L
  156.5790 129.1448 L
  156.5790 115.6073 L
B
U
0 To
1.0000 0.0000 0.0000 1.0000 193.3577 120.0399 0 Tp
TP
/_Helvetica 8.0000 Tf
0.0000 Tc
 0 Tr
0.5000 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.5000 w
1 j
  156.5790 91.1681 m
  242.5957 91.1681 L
  242.5957 115.6073 L
  156.5790 115.6073 L
  156.5790 91.1681 L
B
U
0 To
1.0000 0.0000 0.0000 1.0000 162.6889 106.5025 0 Tp
TP
/_Helvetica 8.0000 Tf
0.0000 Tc
 0 Tr
0.5000 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 96.9185 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.5000 w
1 j
  242.4759 110.4559 m
  256.0133 110.4559 L
  256.0133 110.3361 L
  268.5923 110.3361 L
S
U
u
  0.000 0.000 0.000 1.000 k
0.5000 w
  267.9933 113.0915 m
  276.2596 110.3361 L
  267.9933 107.5807 L
  267.9933 113.0915 L
F
U
u
  0.000 0.000 0.000 0.000 k
  250.1431 105.0649 m
  268.4725 105.0649 L
  268.4725 116.3261 L
  250.1431 116.3261 L
  250.1431 105.0649 L
F
U
0 To
1.0000 0.0000 0.0000 1.0000 250.9817 107.9401 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.5000 w
1 j
  313.2779 91.1681 m
  313.2779 75.3544 L
  313.3977 75.3544 L
  313.3977 65.0516 L
S
U
u
  0.000 0.000 0.000 1.000 k
0.5000 w
  316.1531 65.6506 m
  313.3977 57.3844 L
  310.6423 65.6506 L
  316.1531 65.6506 L
F
U
u
  0.000 0.000 0.000 0.000 k
  273.6240 68.8852 m
  352.8120 68.8852 L
  352.8120 80.2662 L
  273.6240 80.2662 L
  273.6240 68.8852 L
F
U
0 To
1.0000 0.0000 0.0000 1.0000 274.7022 71.8802 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.5000 w
1 j
  482.7953 91.1681 m
  482.7953 77.6306 L
  483.0349 77.6306 L
  483.0349 65.5308 L
S
U
u
  0.000 0.000 0.000 1.000 k
0.5000 w
  485.7903 66.2496 m
  483.0349 57.9834 L
  480.2795 66.2496 L
  485.7903 66.2496 L
F
U
u
  0.000 0.000 0.000 0.000 k
  441.1048 69.2446 m
  525.2047 69.2446 L
  525.2047 80.6256 L
  441.1048 80.6256 L
  441.1048 69.2446 L
F
U
0 To
1.0000 0.0000 0.0000 1.0000 442.0632 72.2396 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.5000 w
1 j
  338.1963 178.6223 m
  338.1963 159.4542 L
  338.4359 159.4542 L
  338.4359 136.8120 L
S
U
u
  0.000 0.000 0.000 1.000 k
0.5000 w
  341.1913 137.4110 m
  338.4359 129.1448 L
  335.6805 137.4110 L
  341.1913 137.4110 L
F
U
u
  0.000 0.000 0.000 0.000 k
  299.2612 148.6722 m
  377.6106 148.6722 L
  377.6106 160.0532 L
  299.2612 160.0532 L
  299.2612 148.6722 L
F
U
0 To
1.0000 0.0000 0.0000 1.0000 300.3394 151.6672 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.5000 w
1 j
  199.5874 416.5458 m
  199.5874 136.8120 L
S
U
u
  0.000 0.000 0.000 1.000 k
0.5000 w
  202.3428 137.4110 m
  199.5874 129.1448 L
  196.8319 137.4110 L
  202.3428 137.4110 L
F
U
u
0.5000 w
  104.1065 389.9501 m
  104.1065 376.5324 L
  104.1065 376.5324 L
  104.1065 36.8985 L
S
U
u
  0.000 0.000 0.000 1.000 k
0.5000 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.5000 w
  276.2596 115.6073 m
  563.3012 115.6073 L
  563.3012 129.1448 L
  276.2596 129.1448 L
  276.2596 115.6073 L
B
U
0 To
1.0000 0.0000 0.0000 1.0000 388.8719 120.0399 0 Tp
TP
/_Helvetica 8.0000 Tf
0.0000 Tc
 0 Tr
0.5000 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.5000 w
1 j
  276.2596 91.1681 m
  563.3012 91.1681 L
  563.3012 115.6073 L
  276.2596 115.6073 L
  276.2596 91.1681 L
B
U
0 To
1.0000 0.0000 0.0000 1.0000 282.2496 106.5025 0 Tp
TP
/_Helvetica 8.0000 Tf
0.0000 Tc
 0 Tr
0.5000 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 353.6506 m
  317.5907 353.6506 L
  317.5907 384.1997 L
  202.8220 384.1997 L
  202.8220 353.6506 L
F
U
0 To
1.0000 0.0000 0.0000 1.0000 241.1581 375.8136 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 366.2296 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 356.6456 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 148.1930 m
  266.5557 148.1930 L
  266.5557 197.7903 L
  132.7388 197.7903 L
  132.7388 148.1930 L
F
U
0 To
1.0000 0.0000 0.0000 1.0000 180.5391 189.4043 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 179.8203 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 170.3561 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 160.7720 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 151.1880 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 151.1880 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.5000 w
1 j
  37.8569 443.1414 m
  170.3561 443.1414 L
  170.3561 456.6789 L
  37.8569 456.6789 L
  37.8569 443.1414 L
B
U
0 To
1.0000 0.0000 0.0000 1.0000 80.1464 447.4542 0 Tp
TP
/_Helvetica 8.0000 Tf
0.0000 Tc
 0 Tr
0.5000 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.5000 w
1 j
  37.8569 389.9501 m
  170.3561 389.9501 L
  170.3561 443.1414 L
  37.8569 443.1414 L
  37.8569 389.9501 L
B
U
0 To
1.0000 0.0000 0.0000 1.0000 43.8469 433.9168 0 Tp
TP
/_Helvetica 8.0000 Tf
0.0000 Tc
 0 Tr
0.5000 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 424.3328 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 414.7488 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 405.1647 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 395.5807 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.5000 w
1 j
  37.8569 423.2546 m
  21.0849 423.2546 L
  21.0849 502.9218 L
  29.8303 502.9218 L
S
U
u
  0.000 0.000 0.000 1.000 k
0.5000 w
  29.2313 505.6772 m
  37.3777 502.9218 L
  29.2313 500.1664 L
  29.2313 505.6772 L
F
U
u
  0.000 0.000 0.000 0.000 k
  11.7404 457.5175 m
  30.3095 457.5175 L
  30.3095 468.7787 L
  11.7404 468.7787 L
  11.7404 457.5175 L
F
U
0 To
1.0000 0.0000 0.0000 1.0000 12.6988 460.5125 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.5000 w
1 j
  245.9501 489.7438 m
  245.9501 476.2063 L
  245.9501 476.2063 L
  245.9501 464.2263 L
S
U
u
  0.000 0.000 0.000 1.000 k
0.5000 w
  248.7055 464.9451 m
  245.9501 456.6789 L
  243.1947 464.9451 L
  248.7055 464.9451 L
F
U
u
  0.000 0.000 0.000 0.000 k
  229.1780 467.9401 m
  262.9617 467.9401 L
  262.9617 479.3211 L
  229.1780 479.3211 L
  229.1780 467.9401 L
F
U
0 To
1.0000 0.0000 0.0000 1.0000 230.1364 470.9351 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.5000 w
1 j
  291.8336 416.6656 m
  291.8336 388.2729 L
  343.3478 388.2729 L
  343.3478 409.3577 L
S
U
u
  0.000 0.000 0.000 1.000 k
0.5000 w
  340.5923 408.6389 m
  343.3478 416.9052 L
  346.1032 408.6389 L
  340.5923 408.6389 L
F
U
u
  0.000 0.000 0.000 0.000 k
  308.4859 382.8819 m
  327.0549 382.8819 L
  327.0549 394.1431 L
  308.4859 394.1431 L
  308.4859 382.8819 L
F
U
0 To
1.0000 0.0000 0.0000 1.0000 309.4443 385.8769 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.5000 w
1 j
  103.6273 488.5458 m
  103.6273 476.2063 L
  104.1065 476.2063 L
  104.1065 464.2263 L
S
U
u
  0.000 0.000 0.000 1.000 k
0.5000 w
  106.8619 464.9451 m
  104.1065 456.6789 L
  101.3511 464.9451 L
  106.8619 464.9451 L
F
U
u
  0.000 0.000 0.000 0.000 k
  73.5574 467.4609 m
  134.5358 467.4609 L
  134.5358 478.8419 L
  73.5574 478.8419 L
  73.5574 467.4609 L
F
U
0 To
1.0000 0.0000 0.0000 1.0000 74.6356 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
(retransWhile==0\r) Tx
TO
  0.000 0.000 0.000 1.000 K
u
0.5000 w
1 j
  103.0283 566.2962 m
  123.9933 566.2962 L
S
U
u
  0.000 0.000 0.000 1.000 k
0.5000 w
  123.2745 569.0516 m
  131.5408 566.2962 L
  123.2745 563.5408 L
  123.2745 569.0516 L
F
U
0 To
1.0000 0.0000 0.0000 1.0000 49.8369 564.7388 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
  56.7854 363.8336 m
  157.0582 363.8336 L
  157.0582 375.2146 L
  56.7854 375.2146 L
  56.7854 363.8336 L
F
U
0 To
1.0000 0.0000 0.0000 1.0000 57.7438 366.8286 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
  240.1997 561.1448 m
  285.2446 561.1448 L
  285.2446 572.5258 L
  240.1997 572.5258 L
  240.1997 561.1448 L
F
U
0 To
1.0000 0.0000 0.0000 1.0000 241.1581 564.1398 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
  465.1847 566.5358 m
  483.5141 566.5358 L
  483.5141 577.9168 L
  465.1847 577.9168 L
  465.1847 566.5358 L
F
U
0 To
1.0000 0.0000 0.0000 1.0000 466.1431 569.5308 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.5000 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.5000 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.5000 w
1 j
  37.3777 1.3178 m
  169.7571 1.3178 L
  169.7571 15.9334 L
  37.3777 15.9334 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.5000 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.5000 w
1 j
  276.2596 331.3677 m
  399.5341 331.3677 L
  399.5341 345.0250 L
  276.2596 345.0250 L
  276.2596 331.3677 L
B
U
0 To
1.0000 0.0000 0.0000 1.0000 302.2562 335.8003 0 Tp
TP
/_Helvetica 8.0000 Tf
0.0000 Tc
 0 Tr
0.5000 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.5000 w
1 j
  276.2596 305.2512 m
  399.5341 305.2512 L
  399.5341 331.3677 L
  276.2596 331.3677 L
  276.2596 305.2512 L
B
U
0 To
1.0000 0.0000 0.0000 1.0000 282.2496 322.2629 0 Tp
TP
/_Helvetica 8.0000 Tf
0.0000 Tc
 0 Tr
0.5000 w
0 j
  0.000 0.000 0.000 1.000 k
(ignore =\r) Tx
TO
  0.000 0.000 0.000 1.000 K
0 To
1.0000 0.0000 0.0000 1.0000 282.2496 312.7987 0 Tp
TP
/_Helvetica 8.0000 Tf
0.0000 Tc
 0 Tr
  0.000 0.000 0.000 1.000 k
(   m.check\(eapRespData\)\r) Tx
TO
  0.000 0.000 0.000 1.000 K
u
  0.000 0.000 0.000 0.000 k
0.5000 w
1 j
  276.2596 252.2995 m
  399.5341 252.2995 L
  399.5341 265.9567 L
  276.2596 265.9567 L
  276.2596 252.2995 L
B
U
0 To
1.0000 0.0000 0.0000 1.0000 298.0632 256.7321 0 Tp
TP
/_Helvetica 8.0000 Tf
0.0000 Tc
 0 Tr
0.5000 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.5000 w
1 j
  276.2596 178.6223 m
  399.5341 178.6223 L
  399.5341 252.2995 L
  276.2596 252.2995 L
  276.2596 178.6223 L
B
U
0 To
1.0000 0.0000 0.0000 1.0000 282.2496 243.3145 0 Tp
TP
/_Helvetica 8.0000 Tf
0.0000 Tc
 0 Tr
0.5000 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 233.7304 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 224.1464 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 214.5624 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 204.9784 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 195.3943 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 185.8103 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.5000 w
1 j
  409.5973 331.3677 m
  563.3012 331.3677 L
  563.3012 345.0250 L
  409.5973 345.0250 L
  409.5973 331.3677 L
B
U
0 To
1.0000 0.0000 0.0000 1.0000 449.6106 335.8003 0 Tp
TP
/_Helvetica 8.0000 Tf
0.0000 Tc
 0 Tr
0.5000 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.5000 w
1 j
  409.5973 296.2662 m
  563.3012 296.2662 L
  563.3012 331.3677 L
  409.5973 331.3677 L
  409.5973 296.2662 L
B
U
0 To
1.0000 0.0000 0.0000 1.0000 415.5874 322.2629 0 Tp
TP
/_Helvetica 8.0000 Tf
0.0000 Tc
 0 Tr
0.5000 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 312.7987 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 303.2146 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.5000 w
1 j
  409.5973 252.2995 m
  563.3012 252.2995 L
  563.3012 265.9567 L
  409.5973 265.9567 L
  409.5973 252.2995 L
B
U
0 To
1.0000 0.0000 0.0000 1.0000 449.1314 256.7321 0 Tp
TP
/_Helvetica 8.0000 Tf
0.0000 Tc
 0 Tr
0.5000 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.5000 w
1 j
  409.5973 178.5025 m
  563.3012 178.5025 L
  563.3012 252.2995 L
  409.5973 252.2995 L
  409.5973 178.5025 L
B
U
0 To
1.0000 0.0000 0.0000 1.0000 415.5874 243.3145 0 Tp
TP
/_Helvetica 8.0000 Tf
0.0000 Tc
 0 Tr
0.5000 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 233.7304 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 224.1464 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 214.5624 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 204.9784 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 195.3943 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 185.8103 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.5000 w
1 j
  379.1681 265.9567 m
  379.1681 279.3744 L
  429.6040 279.3744 L
  429.6040 288.7188 L
S
U
u
  0.000 0.000 0.000 1.000 k
0.5000 w
  426.8486 288.0000 m
  429.6040 296.2662 L
  432.3594 288.0000 L
  426.8486 288.0000 L
F
U
u
  0.000 0.000 0.000 0.000 k
  397.3777 273.9834 m
  414.6290 273.9834 L
  414.6290 285.3644 L
  397.3777 285.3644 L
  397.3777 273.9834 L
F
U
0 To
1.0000 0.0000 0.0000 1.0000 398.4559 276.9784 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.5000 w
1 j
  338.3161 305.2512 m
  338.3161 291.8336 L
  338.4359 291.8336 L
  338.4359 273.6240 L
S
U
u
  0.000 0.000 0.000 1.000 k
0.5000 w
  341.1913 274.2230 m
  338.4359 265.9567 L
  335.6805 274.2230 L
  341.1913 274.2230 L
F
U
u
  0.000 0.000 0.000 0.000 k
  325.0183 280.2130 m
  351.8536 280.2130 L
  351.8536 291.5940 L
  325.0183 291.5940 L
  325.0183 280.2130 L
F
U
0 To
1.0000 0.0000 0.0000 1.0000 325.9767 283.2080 0 Tp
TP
/_Helvetica 8.0000 Tf
0.0000 Tc
 0 Tr
0 j
  0.000 0.000 0.000 1.000 k
(!ignore\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 148.1930 m
  495.1348 148.1930 L
  495.1348 159.5740 L
  477.8835 159.5740 L
  477.8835 148.1930 L
F
U
0 To
1.0000 0.0000 0.0000 1.0000 478.9617 151.1880 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 270.9884 m
  494.6556 270.9884 L
  494.6556 282.3694 L
  476.3261 282.3694 L
  476.3261 270.9884 L
F
U
0 To
1.0000 0.0000 0.0000 1.0000 477.2845 273.9834 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 494.0566 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 97.7571 m
  574.8020 97.7571 L
S
U
u
  581.2712 97.7571 m
  592.7720 97.7571 L
S
U
u
  599.2413 97.7571 m
  610.6223 97.7571 L
S
U
u
  617.0915 97.7571 m
  628.5923 97.7571 L
S
U
u
  635.0616 97.7571 m
  641.8902 97.7571 L
S
U
u
  0.000 0.000 0.000 1.000 k
0.5000 w
  641.0516 100.9917 m
  650.7554 97.7571 L
  641.0516 94.5225 L
  641.0516 100.9917 L
F
U
0 To
1.0000 0.0000 0.0000 1.0000 569.0516 88.1730 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 95.4809 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.5000 w
1 j
  177.6639 443.1414 m
  314.3561 443.1414 L
  314.3561 456.6789 L
  177.6639 456.6789 L
  177.6639 443.1414 L
B
U
0 To
1.0000 0.0000 0.0000 1.0000 227.3810 447.4542 0 Tp
TP
/_Helvetica 8.0000 Tf
0.0000 Tc
 0 Tr
0.5000 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.5000 w
1 j
  177.6639 416.6656 m
  314.3561 416.6656 L
  314.3561 443.1414 L
  177.6639 443.1414 L
  177.6639 416.6656 L
B
U
0 To
1.0000 0.0000 0.0000 1.0000 183.5341 433.9168 0 Tp
TP
/_Helvetica 8.0000 Tf
0.0000 Tc
 0 Tr
0.5000 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 424.3328 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.5000 w
1 j
  373.2978 629.9101 m
  373.2978 623.4409 L
S
U
u
  0.000 0.000 0.000 1.000 k
0.5000 w
  376.0532 624.1597 m
  373.2978 615.8935 L
  370.5424 624.1597 L
  376.0532 624.1597 L
F
U
u
  0.000 0.000 0.000 0.000 k
  323.3411 631.4676 m
  422.8952 631.4676 L
  422.8952 642.8486 L
  323.3411 642.8486 L
  323.3411 631.4676 L
F
U
0 To
1.0000 0.0000 0.0000 1.0000 324.2995 634.4626 0 Tp
TP
/_Helvetica 8.0000 Tf
0.0000 Tc
 0 Tr
0 j
  0.000 0.000 0.000 1.000 k
(eapRestart && portEnabled\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_typography_AI5 /terminate get exec
Adobe_level2_AI5 /terminate get exec
%%EOF

%%EndDocument
 @endspecial 857 4066 a(Figure)f(6:)25 b(EAP)c(Full)f(Authenticator)f
(State)h(Machine)g(\(P)o(art)g(1\))0 4365 y(\(see)d
(draft-ietf-eap-statemachine-04.)o(pd)o(f)11 b(for)16
b(missing)h(diagram)e(or)h(refer)g(to)h(Appendix)e(A.4)h(if)h(reading)e
([.txt])h(v)o(ersion\))0 4565 y(The)32 b(second)g(diagram)f(describes)g
(the)i(functionality)d(necessary)i(for)f(an)i(authenticator)d
(operating)h(in)h(pass-through)0 4664 y(mode.)24 b(This)c(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 4864 y(\(see)e
(draft-ietf-eap-statemachine-04.)o(pd)o(f)11 b(for)16
b(missing)h(diagram)e(or)h(refer)g(to)h(Appendix)e(A.4)h(if)h(reading)e
([.txt])h(v)o(ersion\))0 5656 y(V)-11 b(ollbrecht,)19
b(et)i(al.)944 b(Expires)19 b(January)g(17,)h(2005)943
b([P)o(age)19 b(26])p eop end
%%Page: 27 27
TeXDict begin 27 26 bop 0 100 a Fg(INTERNET)-8 b(-DRAFT)970
b(EAP)21 b(State)g(Machine)949 b(July)20 b(2004)18 3987
y @beginspecial 0 @llx 0 @lly 709 @urx 732 @ury 4276
@rwi @setspecial
%%BeginDocument: ../../../diagrams/20040214_passthrough_authenticator2.eps
%!PS-Adobe-3.0 EPSF-3.0
%%Creator: ImageMark Software Labs
%%For: () ()
%%Title: C:\USERS\IETF\EAP\State machines\AuthenticatorSplit\20040214_passthrough_authenticator2.eps
%%CreationDate: () ()
%%BoundingBox: 0 0 709 732
%%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.0 0
%%+ procset Adobe_typography_AI5 1.0 0
%%+ procset Adobe_Illustrator_AI5 1.0 0
%AI5_FileFormat 3.0
%AI3_ColorUsage: Color
%AI3_TemplateBox: 0 0 709 732
%AI3_TileBox: 0 0 709 732
%AI3_DocumentPreview: None
%%Template:
%%PageOrigin:0.0000 0.0000
%%EndComments
%%BeginProlog
%%BeginResource: procset Adobe_level2_AI5 1.0 0
%%Title: (Adobe Illustrator (R) Version 5.0 Level 2 Emulation)
%%Version: 1.0 
%%CreationDate: (04/10/93) ()
%%Copyright: ((C) 1987-1993 Adobe Systems Incorporated All Rights Reserved)
userdict /Adobe_level2_AI5 21 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
		{
			5 packedarray
		} bind def
		/setcustomcolor
		{
			exch aload pop pop
			4
			{
				4 index mul 4 1 roll
			} repeat
			5 -1 roll pop
			setcmykcolor
		}
		def
	} if
	
	/gt38? mark {version 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
	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_Illustrator_AI5 1.1 0
%%Title: (Adobe Illustrator (R) Version 5.0 Full Prolog)
%%Version: 1.1 
%%CreationDate: (3/7/1994) ()
%%Copyright: ((C) 1987-1994 Adobe Systems Incorporated All Rights Reserved)
currentpacking true setpacking
userdict /Adobe_Illustrator_AI5_vars 79 dict dup begin
put
/_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 82 dict dup begin
put
/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
/H
{
} def
/h
{
	closepath
} def
/N
{
	_pola 0 eq
	{
		_doClip 1 eq
		{
			clip /_doClip 0 ddef
		} if
		newpath
	}
	{
		/CRender
		{
			N
		} ddef
	} ifelse
} def
/n
{
	N
} def
/F
{
	_pola 0 eq
	{
		_doClip 1 eq
		{
			gsave _pf grestore clip 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 clip 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 clip 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
/@
{
} def
/&
{
} 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
		fill
	} 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
		fill
	} 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
		fill
	} 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
/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 ashow
				} 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 awidthshow
				} 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
/A
{
	pop
} def
/annotatepage
{
userdict /annotatepage 2 copy known {get exec} {pop pop} ifelse
} 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
	}
	{
		stop
	} ifelse
} 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 clip
		} 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
currentdict readonly pop
end
setpacking
%%EndResource
%%EndProlog
%%BeginSetup
Adobe_level2_AI5 /initialize get exec
Adobe_Illustrator_AI5_vars Adobe_Illustrator_AI5 Adobe_typography_AI5 /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
[
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
/_Helvetica/Helvetica 0 0 1 TZ
%AI3_EndEncoding AdobeType
%AI3_BeginEncoding: _Helvetica-Bold Helvetica-Bold
[
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
/_Helvetica-Bold/Helvetica-Bold 0 0 1 TZ
%AI3_EndEncoding AdobeType
%AI3_BeginEncoding: _Helvetica-Oblique Helvetica-Oblique
[
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
/_Helvetica-Oblique/Helvetica-Oblique 0 0 1 TZ
%AI3_EndEncoding AdobeType
%AI3_BeginEncoding: _Helvetica-BoldOblique Helvetica-BoldOblique
[
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
/_Helvetica-BoldOblique/Helvetica-BoldOblique 0 0 1 TZ
%AI3_EndEncoding AdobeType
%AI3_BeginEncoding: _Times-Roman Times-Roman
[
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
/_Times-Roman/Times-Roman 0 0 1 TZ
%AI3_EndEncoding AdobeType
%AI3_BeginEncoding: _Times-Bold Times-Bold
[
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
/_Times-Bold/Times-Bold 0 0 1 TZ
%AI3_EndEncoding AdobeType
%AI3_BeginEncoding: _Times-Italic Times-Italic
[
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
/_Times-Italic/Times-Italic 0 0 1 TZ
%AI3_EndEncoding AdobeType
%AI3_BeginEncoding: _Times-BoldItalic Times-BoldItalic
[
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
/_Times-BoldItalic/Times-BoldItalic 0 0 1 TZ
%AI3_EndEncoding AdobeType
%AI3_BeginEncoding: _Courier Courier
[
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
/_Courier/Courier 0 0 1 TZ
%AI3_EndEncoding AdobeType
%AI3_BeginEncoding: _Courier-Bold Courier-Bold
[
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
/_Courier-Bold/Courier-Bold 0 0 1 TZ
%AI3_EndEncoding AdobeType
%AI3_BeginEncoding: _Courier-Oblique Courier-Oblique
[
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
/_Courier-Oblique/Courier-Oblique 0 0 1 TZ
%AI3_EndEncoding AdobeType
%AI3_BeginEncoding: _Courier-BoldOblique Courier-BoldOblique
[
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
/_Courier-BoldOblique/Courier-BoldOblique 0 0 1 TZ
%AI3_EndEncoding AdobeType
%AI3_BeginEncoding: _Symbol Symbol
[
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
/_Symbol/Symbol 0 0 1 TZ
%AI3_EndEncoding AdobeType
%%EndSetup

u
 [] 0 d
0.5000 w
  0.000 0.000 0.000 1.000 K
1 J
1 j
  117.0449 406.1231 m
  117.0449 339.8735 L
  115.8469 339.6339 L
  114.8885 339.0349 L
  114.2895 337.9567 L
  114.0499 336.8785 L
  114.2895 335.6805 L
  114.8885 334.7221 L
  115.8469 334.1231 L
  117.0449 333.8835 L
  117.0449 275.5408 L
S
U
u
  0.000 0.000 0.000 1.000 K
  392.5857 472.8519 m
  392.5857 498.3694 L
S
U
u
  0.000 0.000 0.000 1.000 k
0.5000 w
  389.8303 497.6506 m
  392.5857 505.9168 L
  395.3411 497.6506 L
  389.8303 497.6506 L
F
U
u
  0.000 0.000 0.000 0.000 k
  382.8819 483.6339 m
  401.3311 483.6339 L
  401.3311 495.0150 L
  382.8819 495.0150 L
  382.8819 483.6339 L
F
U
0 To
1.0000 0.0000 0.0000 1.0000 383.9601 486.6290 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.5000 w
1 j
  516.6988 361.3178 m
  516.6988 374.6156 L
  516.6988 374.6156 L
  516.6988 406.9617 L
S
U
u
  0.000 0.000 0.000 1.000 k
0.5000 w
  513.9434 406.2429 m
  516.6988 414.5092 L
  519.4542 406.2429 L
  513.9434 406.2429 L
F
U
u
  0.000 0.000 0.000 0.000 k
  506.7554 382.4027 m
  526.6423 382.4027 L
  526.6423 393.7837 L
  506.7554 393.7837 L
  506.7554 382.4027 L
F
U
0 To
1.0000 0.0000 0.0000 1.0000 507.7138 385.3977 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.5000 w
1 j
  50.1963 519.4542 m
  576.2396 519.4542 L
  576.2396 532.1531 L
  50.1963 532.1531 L
  50.1963 519.4542 L
B
U
0 To
1.0000 0.0000 0.0000 1.0000 304.0532 523.1681 0 Tp
TP
/_Helvetica 8.0000 Tf
0.0000 Tc
 0 Tr
0.5000 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.5000 w
1 j
  50.1963 505.9168 m
  576.2396 505.9168 L
  576.2396 519.4542 L
  50.1963 519.4542 L
  50.1963 505.9168 L
B
U
u
  0.000 0.000 0.000 0.000 k
  457.2779 459.1947 m
  576.2396 459.1947 L
  576.2396 472.8519 L
  457.2779 472.8519 L
  457.2779 459.1947 L
B
U
0 To
1.0000 0.0000 0.0000 1.0000 483.8735 463.6273 0 Tp
TP
/_Helvetica 8.0000 Tf
0.0000 Tc
 0 Tr
0.5000 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.5000 w
1 j
  457.2779 414.5092 m
  576.2396 414.5092 L
  576.2396 459.1947 L
  457.2779 459.1947 L
  457.2779 414.5092 L
B
U
0 To
1.0000 0.0000 0.0000 1.0000 463.2679 450.0899 0 Tp
TP
/_Helvetica 8.0000 Tf
0.0000 Tc
 0 Tr
0.5000 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.2679 440.6256 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.2679 431.0416 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.2679 421.4576 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.5000 w
1 j
  516.8186 472.8519 m
  516.8186 486.2696 L
  516.8186 486.2696 L
  516.8186 497.7704 L
S
U
u
  0.000 0.000 0.000 1.000 k
0.5000 w
  514.0632 497.0516 m
  516.8186 505.3178 L
  519.5740 497.0516 L
  514.0632 497.0516 L
F
U
u
  0.000 0.000 0.000 0.000 k
  508.1930 483.1547 m
  526.6423 483.1547 L
  526.6423 494.5358 L
  508.1930 494.5358 L
  508.1930 483.1547 L
F
U
0 To
1.0000 0.0000 0.0000 1.0000 509.1514 486.1498 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.5000 w
1 j
  332.9251 459.1947 m
  451.6473 459.1947 L
  451.6473 472.8519 L
  332.9251 472.8519 L
  332.9251 459.1947 L
B
U
0 To
1.0000 0.0000 0.0000 1.0000 374.0166 463.6273 0 Tp
TP
/_Helvetica 8.0000 Tf
0.0000 Tc
 0 Tr
0.5000 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.5000 w
1 j
  332.9251 433.0782 m
  451.6473 433.0782 L
  451.6473 459.1947 L
  332.9251 459.1947 L
  332.9251 433.0782 L
B
U
0 To
1.0000 0.0000 0.0000 1.0000 338.9151 450.0899 0 Tp
TP
/_Helvetica 8.0000 Tf
0.0000 Tc
 0 Tr
0.5000 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.9151 440.6256 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.5000 w
1 j
  50.7953 459.1947 m
  183.1747 459.1947 L
  183.1747 472.8519 L
  50.7953 472.8519 L
  50.7953 459.1947 L
B
U
0 To
1.0000 0.0000 0.0000 1.0000 90.8087 463.6273 0 Tp
TP
/_Helvetica 8.0000 Tf
0.0000 Tc
 0 Tr
0.5000 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.5000 w
1 j
  50.7953 406.1231 m
  183.1747 406.1231 L
  183.1747 459.1947 L
  50.7953 459.1947 L
  50.7953 406.1231 L
B
U
0 To
1.0000 0.0000 0.0000 1.0000 56.7854 450.0899 0 Tp
TP
/_Helvetica 8.0000 Tf
0.0000 Tc
 0 Tr
0.5000 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.7854 440.6256 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.7854 431.0416 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.7854 421.4576 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.7854 411.8735 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.5000 w
1 j
  50.7953 439.5474 m
  33.9035 439.5474 L
  33.9035 519.0948 L
  42.6489 519.0948 L
S
U
u
  0.000 0.000 0.000 1.000 k
0.5000 w
  41.9301 521.8502 m
  50.1963 519.0948 L
  41.9301 516.3394 L
  41.9301 521.8502 L
F
U
u
  0.000 0.000 0.000 0.000 k
  24.5591 473.5707 m
  43.1281 473.5707 L
  43.1281 484.9517 L
  24.5591 484.9517 L
  24.5591 473.5707 L
F
U
0 To
1.0000 0.0000 0.0000 1.0000 25.6373 476.5657 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.5000 w
1 j
  258.8885 505.9168 m
  258.8885 492.4992 L
  258.8885 492.4992 L
  258.8885 480.3993 L
S
U
u
  0.000 0.000 0.000 1.000 k
0.5000 w
  261.6439 481.1181 m
  258.8885 472.8519 L
  256.1331 481.1181 L
  261.6439 481.1181 L
F
U
u
  0.000 0.000 0.000 0.000 k
  241.9967 484.2329 m
  276.0200 484.2329 L
  276.0200 495.6140 L
  241.9967 495.6140 L
  241.9967 484.2329 L
F
U
0 To
1.0000 0.0000 0.0000 1.0000 243.0749 487.2280 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.5000 w
1 j
  304.7720 432.8386 m
  304.7720 404.4459 L
  356.4060 404.4459 L
  356.4060 425.5308 L
S
U
u
  0.000 0.000 0.000 1.000 k
0.5000 w
  353.6506 424.8120 m
  356.4060 433.0782 L
  359.1614 424.8120 L
  353.6506 424.8120 L
F
U
u
  0.000 0.000 0.000 0.000 k
  321.3045 399.0549 m
  339.9933 399.0549 L
  339.9933 410.4359 L
  321.3045 410.4359 L
  321.3045 399.0549 L
F
U
0 To
1.0000 0.0000 0.0000 1.0000 322.3827 402.0499 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.5000 w
1 j
  116.4459 504.8386 m
  116.4459 492.4992 L
  117.0449 492.4992 L
  117.0449 480.3993 L
S
U
u
  0.000 0.000 0.000 1.000 k
0.5000 w
  119.8003 481.1181 m
  117.0449 472.8519 L
  114.2895 481.1181 L
  119.8003 481.1181 L
F
U
u
  0.000 0.000 0.000 0.000 k
  86.4958 483.6339 m
  147.4742 483.6339 L
  147.4742 495.0150 L
  86.4958 495.0150 L
  86.4958 483.6339 L
F
U
0 To
1.0000 0.0000 0.0000 1.0000 87.4542 486.6290 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 379.8869 m
  169.8769 379.8869 L
  169.8769 391.2679 L
  69.6040 391.2679 L
  69.6040 379.8869 L
F
U
0 To
1.0000 0.0000 0.0000 1.0000 70.6822 382.8819 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.4260 510.2296 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.5000 w
1 j
  289.0782 250.2629 m
  576.2396 250.2629 L
  576.2396 263.9201 L
  289.0782 263.9201 L
  289.0782 250.2629 L
B
U
0 To
1.0000 0.0000 0.0000 1.0000 415.4676 254.6955 0 Tp
TP
/_Helvetica 8.0000 Tf
0.0000 Tc
 0 Tr
0.5000 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.5000 w
1 j
  289.0782 195.5141 m
  576.2396 195.5141 L
  576.2396 250.2629 L
  289.0782 250.2629 L
  289.0782 195.5141 L
B
U
0 To
1.0000 0.0000 0.0000 1.0000 295.0682 241.1581 0 Tp
TP
/_Helvetica 8.0000 Tf
0.0000 Tc
 0 Tr
0.5000 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 231.5740 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 221.9900 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 212.4060 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 202.9418 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.5000 w
1 j
  498.2496 263.9201 m
  498.2496 277.3378 L
  498.2496 277.3378 L
  498.2496 304.8918 L
S
U
u
  0.000 0.000 0.000 1.000 k
0.5000 w
  495.4942 304.1730 m
  498.2496 312.4393 L
  501.0050 304.1730 L
  495.4942 304.1730 L
F
U
u
  0.000 0.000 0.000 0.000 k
  476.4459 282.4892 m
  520.5324 282.4892 L
  520.5324 293.7504 L
  476.4459 293.7504 L
  476.4459 282.4892 L
F
U
0 To
1.0000 0.0000 0.0000 1.0000 477.4043 285.3644 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.5000 w
1 j
  289.0782 205.3378 m
  151.1880 205.3378 L
  151.1880 143.4010 L
S
U
u
  0.000 0.000 0.000 1.000 k
0.5000 w
  153.9434 144.0000 m
  151.1880 135.7338 L
  148.4326 144.0000 L
  153.9434 144.0000 L
F
U
u
  0.000 0.000 0.000 0.000 k
  163.1681 200.0666 m
  207.4942 200.0666 L
  207.4942 211.3278 L
  163.1681 211.3278 L
  163.1681 200.0666 L
F
U
0 To
1.0000 0.0000 0.0000 1.0000 164.2463 203.0616 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.5000 w
1 j
  258.7687 312.4393 m
  258.7687 286.0832 L
  350.8952 286.0832 L
  350.8952 270.7488 L
S
U
u
  0.000 0.000 0.000 1.000 k
0.5000 w
  353.6506 271.3478 m
  350.8952 263.0815 L
  348.1398 271.3478 L
  353.6506 271.3478 L
F
U
u
  0.000 0.000 0.000 0.000 k
  293.8702 280.8120 m
  312.3195 280.8120 L
  312.3195 292.0732 L
  293.8702 292.0732 L
  293.8702 280.8120 L
F
U
0 To
1.0000 0.0000 0.0000 1.0000 294.8286 283.8070 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.5000 w
1 j
  422.6556 347.6606 m
  576.2396 347.6606 L
  576.2396 361.1980 L
  422.6556 361.1980 L
  422.6556 347.6606 L
B
U
0 To
1.0000 0.0000 0.0000 1.0000 468.7787 352.0932 0 Tp
TP
/_Helvetica 8.0000 Tf
0.0000 Tc
 0 Tr
0.5000 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.5000 w
1 j
  422.6556 312.4393 m
  576.2396 312.4393 L
  576.2396 347.6606 L
  422.6556 347.6606 L
  422.6556 312.4393 L
B
U
0 To
1.0000 0.0000 0.0000 1.0000 428.6456 338.4359 0 Tp
TP
/_Helvetica 8.0000 Tf
0.0000 Tc
 0 Tr
0.5000 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.6456 328.8519 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.6456 319.2679 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.5000 w
1 j
  415.4676 149.8702 m
  575.8802 149.8702 L
  575.8802 163.2879 L
  415.4676 163.2879 L
  415.4676 149.8702 L
B
U
0 To
1.0000 0.0000 0.0000 1.0000 476.0865 154.0632 0 Tp
TP
/_Helvetica 8.0000 Tf
0.0000 Tc
 0 Tr
0.5000 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.5000 w
1 j
  415.4676 107.5807 m
  575.8802 107.5807 L
  575.8802 149.8702 L
  415.4676 149.8702 L
  415.4676 107.5807 L
B
U
0 To
1.0000 0.0000 0.0000 1.0000 421.4576 140.6456 0 Tp
TP
/_Helvetica 8.0000 Tf
0.0000 Tc
 0 Tr
0.5000 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.4576 131.0616 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.4576 121.5973 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.4576 112.0133 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.5000 w
1 j
  246.5491 149.7504 m
  406.8419 149.7504 L
  406.8419 163.2879 L
  246.5491 163.2879 L
  246.5491 149.7504 L
B
U
0 To
1.0000 0.0000 0.0000 1.0000 309.5641 154.0632 0 Tp
TP
/_Helvetica 8.0000 Tf
0.0000 Tc
 0 Tr
0.5000 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.5000 w
1 j
  246.5491 107.5807 m
  406.8419 107.5807 L
  406.8419 149.7504 L
  246.5491 149.7504 L
  246.5491 107.5807 L
B
U
0 To
1.0000 0.0000 0.0000 1.0000 252.5391 140.5258 0 Tp
TP
/_Helvetica 8.0000 Tf
0.0000 Tc
 0 Tr
0.5000 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.5391 130.9418 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.5000 w
1 j
  50.1963 121.9567 m
  182.5757 121.9567 L
  182.5757 135.6140 L
  50.1963 135.6140 L
  50.1963 121.9567 L
B
U
0 To
1.0000 0.0000 0.0000 1.0000 79.0682 126.3894 0 Tp
TP
/_Helvetica 8.0000 Tf
0.0000 Tc
 0 Tr
0.5000 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.5000 w
1 j
  50.1963 107.5807 m
  182.5757 107.5807 L
  182.5757 121.9567 L
  50.1963 121.9567 L
  50.1963 107.5807 L
B
U
0 To
1.0000 0.0000 0.0000 1.0000 56.1864 112.9717 0 Tp
TP
/_Helvetica 8.0000 Tf
0.0000 Tc
 0 Tr
0.5000 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.5000 w
1 j
  392.3461 263.6805 m
  392.1065 425.7704 L
S
U
u
  0.000 0.000 0.000 1.000 k
0.5000 w
  389.3511 425.0516 m
  392.1065 433.3178 L
  394.8619 425.0516 L
  389.3511 425.0516 L
F
U
u
0.5000 w
  258.7687 432.8386 m
  258.7687 419.3012 L
  258.8885 419.3012 L
  258.8885 368.7454 L
S
U
u
  0.000 0.000 0.000 1.000 k
0.5000 w
  261.6439 369.4642 m
  258.8885 361.3178 L
  256.1331 369.4642 L
  261.6439 369.4642 L
F
U
u
  0.000 0.000 0.000 0.000 k
  223.1880 377.9700 m
  298.1830 377.9700 L
  298.1830 398.9351 L
  223.1880 398.9351 L
  223.1880 377.9700 L
F
U
0 To
1.0000 0.0000 0.0000 1.0000 241.6373 390.5491 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.2662 380.9651 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.9118 277.5774 m
  419.1814 277.5774 L
  419.1814 288.8386 L
  364.9118 288.8386 L
  364.9118 277.5774 L
F
U
0 To
1.0000 0.0000 0.0000 1.0000 365.9900 280.5724 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.5000 w
1 j
  327.2945 195.2745 m
  327.2945 181.9767 L
  327.2945 181.9767 L
  327.2945 170.8353 L
S
U
u
  0.000 0.000 0.000 1.000 k
0.5000 w
  330.0499 171.5541 m
  327.2945 163.2879 L
  324.5391 171.5541 L
  330.0499 171.5541 L
F
U
u
  0.000 0.000 0.000 0.000 k
  313.1581 173.9501 m
  341.4309 173.9501 L
  341.4309 185.3311 L
  313.1581 185.3311 L
  313.1581 173.9501 L
F
U
0 To
1.0000 0.0000 0.0000 1.0000 314.2363 176.9451 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.5000 w
1 j
  495.4942 195.2745 m
  495.4942 181.9767 L
  495.7338 181.9767 L
  495.7338 170.8353 L
S
U
u
  0.000 0.000 0.000 1.000 k
0.5000 w
  498.4892 171.5541 m
  495.7338 163.2879 L
  492.9784 171.5541 L
  498.4892 171.5541 L
F
U
u
  0.000 0.000 0.000 0.000 k
  472.7321 173.9501 m
  518.6156 173.9501 L
  518.6156 185.3311 L
  472.7321 185.3311 L
  472.7321 173.9501 L
F
U
0 To
1.0000 0.0000 0.0000 1.0000 473.6905 176.9451 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.5000 w
1 j
  190.4825 347.7804 m
  327.1747 347.7804 L
  327.1747 361.3178 L
  190.4825 361.3178 L
  190.4825 347.7804 L
B
U
0 To
1.0000 0.0000 0.0000 1.0000 231.0948 352.0932 0 Tp
TP
/_Helvetica 8.0000 Tf
0.0000 Tc
 0 Tr
0.5000 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.5000 w
1 j
  190.4825 312.4393 m
  327.1747 312.4393 L
  327.1747 347.7804 L
  190.4825 347.7804 L
  190.4825 312.4393 L
B
U
0 To
1.0000 0.0000 0.0000 1.0000 196.4725 338.5557 0 Tp
TP
/_Helvetica 8.0000 Tf
0.0000 Tc
 0 Tr
0.5000 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.4725 328.9717 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.4725 319.3877 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.5000 w
1 j
  288.7188 568.4526 m
  288.7188 548.4459 L
  598.7621 548.4459 L
  598.7621 238.7621 L
  583.7870 238.7621 L
S
U
u
  0.000 0.000 0.000 1.000 k
0.5000 w
  584.5058 236.0067 m
  576.2396 238.7621 L
  584.5058 241.5175 L
  584.5058 236.0067 L
F
U
u
0.5000 w
  232.5324 568.6922 m
  232.5324 547.9667 L
  21.0849 547.9667 L
  21.0849 336.8785 L
  182.9351 336.8785 L
S
U
u
  0.000 0.000 0.000 1.000 k
0.5000 w
  182.2163 339.6339 m
  190.4825 336.8785 L
  182.2163 334.1231 L
  182.2163 339.6339 L
F
U
u
  0.000 0.000 0.000 0.000 k
  179.9401 552.9983 m
  248.4659 552.9983 L
  248.4659 564.3794 L
  179.9401 564.3794 L
  179.9401 552.9983 L
F
U
0 To
1.0000 0.0000 0.0000 1.0000 180.8985 555.9933 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 580.3128 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.5000 w
1 j
  117.0449 143.1614 m
  117.0449 295.5474 L
S
U
u
  0.000 0.000 0.000 1.000 k
0.5000 w
  119.8003 143.8802 m
  117.0449 135.6140 L
  114.2895 143.8802 L
  119.8003 143.8802 L
F
U
u
  0.000 0.000 0.000 0.000 k
  266.7953 552.6389 m
  337.3577 552.6389 L
  337.3577 564.0200 L
  266.7953 564.0200 L
  266.7953 552.6389 L
F
U
0 To
1.0000 0.0000 0.0000 1.0000 267.7537 555.6339 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.8586 582.9484 m
  144.3594 582.9484 L
S
U
u
  150.8286 582.9484 m
  162.3295 582.9484 L
S
U
u
  168.7987 582.9484 m
  180.2995 582.9484 L
S
U
u
  0.000 0.000 0.000 1.000 k
0.5000 w
  180.7787 586.1830 m
  190.4825 582.9484 L
  180.7787 579.7138 L
  180.7787 586.1830 L
F
U
u
  0.000 0.000 0.000 0.000 k
0.5000 w
  190.4825 459.1947 m
  327.1747 459.1947 L
  327.1747 472.8519 L
  190.4825 472.8519 L
  190.4825 459.1947 L
B
U
0 To
1.0000 0.0000 0.0000 1.0000 238.0433 463.6273 0 Tp
TP
/_Helvetica 8.0000 Tf
0.0000 Tc
 0 Tr
0.5000 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.5000 w
1 j
  190.4825 432.8386 m
  327.1747 432.8386 L
  327.1747 459.1947 L
  190.4825 459.1947 L
  190.4825 432.8386 L
B
U
0 To
1.0000 0.0000 0.0000 1.0000 196.4725 450.0899 0 Tp
TP
/_Helvetica 8.0000 Tf
0.0000 Tc
 0 Tr
0.5000 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.4725 440.6256 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.5000 w
1 j
  190.4825 583.7870 m
  327.2945 583.7870 L
  327.2945 597.3245 L
  190.4825 597.3245 L
  190.4825 583.7870 L
B
U
0 To
1.0000 0.0000 0.0000 1.0000 207.7338 588.2196 0 Tp
TP
/_Helvetica 8.0000 Tf
0.0000 Tc
 0 Tr
0.5000 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.5000 w
1 j
  190.4825 568.5724 m
  327.2945 568.5724 L
  327.2945 583.7870 L
  190.4825 583.7870 L
  190.4825 568.5724 L
B
U
0 To
1.0000 0.0000 0.0000 1.0000 196.4725 574.5624 0 Tp
TP
/_Helvetica 8.0000 Tf
0.0000 Tc
 0 Tr
0.5000 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_typography_AI5 /terminate get exec
Adobe_level2_AI5 /terminate get exec
%%EOF

%%EndDocument
 @endspecial 857 4169 a(Figure)g(7:)25 b(EAP)c(Full)f(Authenticator)f
(State)h(Machine)g(\(P)o(art)g(2\))0 4519 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 4775 y Fg(The)c(full)g(authenticator)f
(is)i(unique)e(in)i(that)g(it)g(interf)o(aces)f(to)g(multiple)g(lo)n
(wer)g(layers)h(in)f(order)f(to)i(support)e(pass-through)0
4874 y(mode.)25 b(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 4974 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
5074 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 5173 y([IEEE-802-1X-REV].)0
5656 y(V)-11 b(ollbrecht,)19 b(et)i(al.)944 b(Expires)19
b(January)g(17,)h(2005)943 b([P)o(age)19 b(27])p eop
end
%%Page: 28 28
TeXDict begin 28 27 bop 0 100 a Fg(INTERNET)-8 b(-DRAFT)970
b(EAP)21 b(State)g(Machine)949 b(July)20 b(2004)0 390
y Fd(7.1.1)81 b(V)-8 b(ariables)20 b(\(AAA)h(interface)e(to)h(full)h
(authenticator\))125 589 y Fb(\017)41 b Fg(aaaEapReq)19
b(\(boolean\))208 720 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
820 y(a)n(v)n(ailable)19 b(from)g(the)i(AAA)f(serv)o(er)-5
b(.)125 982 y Fb(\017)41 b Fg(aaaEapNoReq)18 b(\(boolean\))208
1112 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 1212 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
1374 y Fb(\017)41 b Fg(aaaSuccess)20 b(\(boolean\))208
1504 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 1666 y Fb(\017)41
b Fg(aaaF)o(ail)20 b(\(boolean\))208 1797 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 1959 y Fb(\017)41 b Fg(aaaEapReqData)18
b(\(EAP)j(pack)o(et\))208 2089 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 2189 y(to)i(be)g(sent)h
(\(or)e(success/f)o(ailure\).)125 2351 y Fb(\017)41 b
Fg(aaaEapK)n(e)o(yData)18 b(\(EAP)i(k)o(e)o(y\))208 2481
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 2581 y(ment)g(does)g(not)g
(yet)h(de\002ne)f(the)g(structure)g(of)g(the)g(type)g(\224EAP)h(K)n(e)o
(y\224.)31 b(W)-7 b(e)24 b(e)o(xpect)e(it)h(to)f(be)h(de\002ned)e(in)i
([I-D.ietf-)208 2681 y(eap-k)o(e)o(ying].)125 2842 y
Fb(\017)41 b Fg(aaaEapK)n(e)o(yA)-6 b(v)n(ailable)17
b(\(boolean\))208 2973 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
3073 y(Data.)125 3234 y Fb(\017)41 b Fg(aaaMethodT)m(imeout)17
b(\(inte)o(ger\))208 3365 y(Method-pro)o(vided)e(hint)21
b(for)e(suitable)i(retransmission)e(timeout,)g(or)i(NONE)f(\(note)g
(that)g(this)h(hint)g(is)g(for)f(the)g(EAP)208 3465 y(retransmissions)f
(done)g(by)h(the)g(pass-through)e(authenticator)m(,)f(not)j
(retransmissions)f(of)h(AAA)h(pack)o(ets\).)0 3783 y
Fd(7.1.2)81 b(V)-8 b(ariables)20 b(\(full)h(authenticator)d(to)i(AAA)h
(interface\))125 3983 y Fb(\017)41 b Fg(aaaEapResp)19
b(\(boolean\))208 4113 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
4213 y(a)n(v)n(ailable)c(for)h(processing)f(by)g(the)i(AAA)f(serv)o(er)
-5 b(.)125 4375 y Fb(\017)41 b Fg(aaaEapRespData)19 b(\(EAP)h(pack)o
(et\))208 4505 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 4667 y Fb(\017)41 b Fg(aaaIdentity)18
b(\(EAP)i(pack)o(et\))208 4798 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 4898 y(able)h(to)g(AAA)h
(lo)n(wer)e(layer)-5 b(.)125 5059 y Fb(\017)41 b Fg(aaaT)m(imeout)18
b(\(boolean\))208 5190 y(Set)28 b(in)g(AAA)p 620 5190
25 4 v 30 w(IDLE)f(if)h(after)g(a)g(con\002gurable)e(amount)g(of)i
(time)g(there)f(is)i(no)e(response)g(from)g(the)h(AAA)g(layer)-5
b(.)208 5290 y(The)29 b(AAA)i(layer)e(in)i(the)f(N)m(AS)h(is)g(itself)f
(ali)n(v)o(e)g(and)g(OK,)g(b)n(ut)g(for)g(some)g(reason)f(it)i(has)f
(not)g(recei)n(v)o(ed)e(a)j(v)n(alid)208 5389 y(Access-Accept/Reject)19
b(indication)g(from)g(the)i(back)o(end)0 5656 y(V)-11
b(ollbrecht,)19 b(et)i(al.)944 b(Expires)19 b(January)g(17,)h(2005)943
b([P)o(age)19 b(28])p eop end
%%Page: 29 29
TeXDict begin 29 28 bop 0 100 a Fg(INTERNET)-8 b(-DRAFT)970
b(EAP)21 b(State)g(Machine)949 b(July)20 b(2004)0 390
y Fd(7.1.3)81 b(Constants)0 645 y Fg(Same)20 b(as)h(Section)f(5.)0
983 y Ff(7.2)99 b(Interface)26 b(between)h(full)e(authenticator)h
(state)f(machine)h(and)f(methods)0 1238 y Fg(Same)20
b(as)h(standalone)e(authenticator)f(\()j(Section)e(5.2\))0
1575 y Ff(7.3)99 b(Full)25 b(authenticator)h(state)f(machine)h(local)e
(v)o(ariables)0 1831 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 1930
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 2251 y Fd(7.3.1)81
b(Short-term)19 b(\(not)h(maintained)g(between)g(pack)o(ets\))125
2450 y Fb(\017)41 b Fg(decision)19 b(\(enumeration\))208
2583 y(Set)i(in)f(SELECT)p 730 2583 25 4 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 2683 y(local)f(method,)e
(or)i(continue)f(in)h(pass-through)e(mode.)0 3020 y Ff(7.4)99
b(EAP)25 b(full)g(authenticator)i(pr)n(ocedur)n(es)0
3275 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
3375 y(de\002ned.)125 3657 y Fb(\017)41 b Fg(getId\(\))208
3790 y(Determine)20 b(the)h(identi\002er)g(v)n(alue)f(chosen)h(by)g
(the)g(AAA)h(serv)o(er)e(for)h(the)g(current)f(EAP)i(request.)27
b(Return)21 b(v)n(alue)g(is)208 3890 y(an)f(inte)o(ger)-5
b(.)0 4227 y Ff(7.5)99 b(EAP)25 b(full)g(authenticator)i(states)0
4482 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 4764 y
Fb(\017)41 b Fg(INITIALIZE)p 649 4764 V 27 w(P)-8 b(ASSTHR)m(OUGH)208
4897 y(Initializes)20 b(v)n(ariables)f(when)h(the)g(pass-through)e
(portion)g(of)i(the)g(state)h(machine)e(is)i(acti)n(v)n(ated.)125
5063 y Fb(\017)41 b Fg(IDLE2)208 5196 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
5296 y(the)i(peer)-5 b(.)0 5656 y(V)-11 b(ollbrecht,)19
b(et)i(al.)944 b(Expires)19 b(January)g(17,)h(2005)943
b([P)o(age)19 b(29])p eop end
%%Page: 30 30
TeXDict begin 30 29 bop 0 100 a Fg(INTERNET)-8 b(-DRAFT)970
b(EAP)21 b(State)g(Machine)949 b(July)20 b(2004)125 390
y Fb(\017)41 b Fg(IDLE)208 522 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 686 y Fb(\017)41 b Fg(RECEIVED2)208 817
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 917 y(mode:)24 b(the)c(pack)o(et)g(header)f(is)i
(parsed)e(here.)125 1080 y Fb(\017)41 b Fg(AAA)p 393
1080 25 4 v 29 w(REQ)o(UEST)208 1212 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 1376 y Fb(\017)41 b Fg(AAA)p 393 1376 V 29 w(IDLE)208
1507 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 1607 y(signal,)19 b(or)h(success/f)o(ailure.)125
1771 y Fb(\017)41 b Fg(AAA)p 393 1771 V 29 w(RESPONSE)208
1902 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
2066 y Fb(\017)41 b Fg(SEND)p 430 2066 V 29 w(REQ)o(UEST2)208
2198 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
2361 y Fb(\017)41 b Fg(DISCARD2)208 2493 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
2593 y(sent)20 b(at)h(this)f(time.)125 2756 y Fb(\017)41
b Fg(RETRANSMIT2)208 2888 y(Retransmits)20 b(the)g(pre)n(vious)f
(request)g(pack)o(et.)125 3052 y Fb(\017)41 b Fg(SUCCESS2)208
3183 y(A)20 b(\002nal)h(state)g(indicating)d(success.)125
3347 y Fb(\017)41 b Fg(F)-6 b(AILURE2)208 3479 y(A)20
b(\002nal)h(state)g(indicating)d(f)o(ailure.)125 3642
y Fb(\017)41 b Fg(TIMEOUT)p 588 3642 V 28 w(F)-6 b(AILURE2)208
3774 y(A)26 b(\002nal)g(state)g(indicating)f(f)o(ailure)g(because)g(no)
h(response)f(has)h(been)f(recei)n(v)o(ed.)40 b(Because)26
b(no)f(response)g(w)o(as)i(re-)208 3874 y(cei)n(v)o(ed,)22
b(no)g(ne)n(w)h(message)f(\(including)f(f)o(ailure\))h(should)g(be)g
(sent)h(to)g(the)g(peer)-5 b(.)33 b(Note)23 b(that)f(this)i(is)f(dif)n
(ferent)f(from)208 3973 y(the)e(F)-6 b(AILURE2)19 b(state,)i(where)f(a)
g(message)g(indicating)f(f)o(ailure)h(is)h(sent)f(to)h(the)f(peer)-5
b(.)0 4352 y Fe(8)119 b(Implementation)30 b(Considerations)0
4654 y Ff(8.1)99 b(Rob)n(ustness)0 4909 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
5009 y(may)d(need)f(additional)g(considerations)f(to)j(pro)o(vide)d
(rob)n(ustness)i(against)f(errors.)0 5208 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
5308 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 5407 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 5656
y(V)-11 b(ollbrecht,)19 b(et)i(al.)944 b(Expires)19 b(January)g(17,)h
(2005)943 b([P)o(age)19 b(30])p eop end
%%Page: 31 31
TeXDict begin 31 30 bop 0 100 a Fg(INTERNET)-8 b(-DRAFT)970
b(EAP)21 b(State)g(Machine)949 b(July)20 b(2004)0 390
y(implementation)e(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 490 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 589 y(callback)i
(function.\))0 789 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 1060
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 1160 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 1260 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 1359 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 1521 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 1521 25 4 v 29 w(RESPONSE)g(state)h(in)f(the)f
(authenticator)f(state)208 1621 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 1720 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 1720 V 29 w(RESPONSE)h(state)208
1820 y(to)29 b(F)-6 b(AILURE)28 b(or)h(TIMEOUT)p 1154
1820 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 1919
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 2255 y Ff(8.2)99 b(Method/Method)27
b(and)e(Method/Lo)o(wer)l(-Lay)o(er)j(Interfaces)0 2510
y Fg(Implementations)18 b(may)j(de\002ne)f(additional)f(interf)o(aces)h
(to)h(pass)h(method-speci\002c)c(information)h(between)g(methods)h(and)
0 2610 y(lo)n(wer)g(layers.)k(These)c(interf)o(aces)g(are)g(be)o(yond)e
(the)i(scope)g(of)g(this)h(document.)0 2988 y Fe(9)119
b(Security)31 b(Considerations)0 3273 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 3372 y(this)28 b(document)d(are)j(lik)o(ely)f(a)h
(re\003ection)f(of)g(security)g(concerns)f(with)h(EAP)h(itself.)47
b(An)28 b(accurate)e(state)i(machine)f(can)0 3472 y(help)22
b(reduce)f(implementation)f(errors.)30 b(While)23 b([RFC3748])e
(remains)g(the)h(normati)n(v)o(e)f(protocol)f(description,)h(this)i
(state)0 3572 y(machine)c(should)g(help)h(in)g(this)h(re)o(gard.)0
3771 y(As)g(noted)e(in)i([RFC3748],)d(there)i(are)g(some)g(security)g
(concerns)f(that)h(arise)g(because)g(of)g(the)g(follo)n(wing)f(EAP)h
(pack)o(ets:)104 4042 y(1.)41 b(EAP-Request/Response)19
b(Identity)104 4204 y(2.)41 b(EAP-Response/N)m(AK)104
4366 y(3.)g(EAP-Success/F)o(ailure)0 4637 y(Since)20
b(these)g(pack)o(ets)g(are)g(not)f(cryptographically)e(protected)h(by)i
(themselv)o(es,)f(an)h(attack)o(er)f(can)h(modify)e(or)i(insert)g(them)
0 4737 y(without)f(immediate)h(detection)f(by)h(the)g(peer)f(or)h
(authenticator)-5 b(.)0 4936 y(F)o(ollo)n(wing)19 b(Figure)g(3)i
(speci\002cation,)e(an)h(attack)o(er)g(may)f(cause)h(denial)g(of)g
(service)g(by:)125 5208 y Fb(\017)41 b Fg(Sending)17
b(an)h(EAP-F)o(ailure)g(to)g(the)h(peer)f(before)f(the)h(peer)g(has)h
(started)f(an)h(EAP)g(authentication)d(method.)23 b(As)c(long)208
5308 y(as)g(the)h(peer)e(has)i(not)f(modi\002ed)f(the)h(methodState)f
(v)n(ariable)g(\(initialized)g(to)i(NONE\),)f(the)g(peer)f(MUST)i
(accept)f(an)208 5407 y(EAP-F)o(ailure.)0 5656 y(V)-11
b(ollbrecht,)19 b(et)i(al.)944 b(Expires)19 b(January)g(17,)h(2005)943
b([P)o(age)19 b(31])p eop end
%%Page: 32 32
TeXDict begin 32 31 bop 0 100 a Fg(INTERNET)-8 b(-DRAFT)970
b(EAP)21 b(State)g(Machine)949 b(July)20 b(2004)125 390
y Fb(\017)41 b Fg(F)o(orcing)20 b(the)j(peer)e(to)i(engage)d(in)j
(endless)f(EAP-Request/Response)f(Identity)g(e)o(xchanges)f(before)h
(it)i(has)g(started)208 490 y(an)30 b(EAP)h(authentication)d(method.)54
b(As)32 b(long)d(as)i(the)g(peer)f(has)g(not)g(modi\002ed)g(the)g
(selectedMethod)f(v)n(ariable)208 589 y(\(initialized)17
b(to)i(NONE\),)f(the)h(peer)f(MUST)g(accept)h(an)f
(EAP-Request/Identity)e(and)i(respond)f(to)i(it)g(with)g(an)g(EAP-)208
689 y(Response/Identity)-5 b(.)0 971 y(F)o(ollo)n(wing)19
b(Figure)g(4)i(speci\002cation,)e(an)h(attack)o(er)g(may)f(cause)h
(denial)g(of)g(service)g(by:)125 1254 y Fb(\017)41 b
Fg(Sending)15 b(a)i(N)m(AK)g(to)g(the)g(authenticator)d(after)j(the)f
(authenticator)f(\002rst)i(proposes)f(an)g(EAP)h(authentication)e
(method)208 1353 y(to)22 b(the)g(peer)-5 b(.)31 b(When)22
b(the)h(methodState)e(v)n(ariable)g(has)h(the)h(v)n(alue)e(PR)m
(OPOSED,)i(the)f(authenticator)e(is)k(obliged)c(to)208
1453 y(process)f(a)i(N)m(AK)g(that)f(is)h(recei)n(v)o(ed)e(in)h
(response)f(to)i(its)g(\002rst)g(pack)o(et)e(of)h(an)g(EAP)h
(authentication)d(method.)0 1735 y(There)32 b(MA)-9 b(Y)33
b(be)f(some)h(cases)g(when)f(it)h(is)h(desired)e(to)g(pre)n(v)o(ent)f
(such)i(attacks.)62 b(This)32 b(can)h(be)f(done)g(by)g(modifying)0
1835 y(initial)21 b(v)n(alues)g(of)f(some)h(v)n(ariables)f(of)h(the)g
(EAP)g(state)g(machines.)27 b(Ho)n(we)n(v)o(er)m(,)18
b(such)j(modi\002cations)f(are)g(NO)m(T)h(RECOM-)0 1934
y(MENDED.)0 2134 y(There)e(is)j(a)e(trade-of)n(f)e(between)i
(mitigating)f(these)h(denial)g(of)g(service)g(attacks)g(and)g(being)f
(able)h(to)h(deal)f(with)g(EAP)h(peers)0 2233 y(and)27
b(authenticators)f(in)i(general.)47 b(F)o(or)28 b(instance,)h(should)e
(the)h(sending)e(of)i(a)g(N)m(AK)g(to)h(the)e(authenticator)f(after)i
(it)g(has)0 2333 y(just)22 b(proposed)d(an)i(EAP)g(authentication)e
(method)h(to)h(the)h(peer)e(be)h(ignored,)e(then)i(a)h(le)o(gitimate)e
(peer)h(that)g(is)h(not)f(able)g(or)0 2433 y(willing)k(to)h(process)f
(the)h(proposed)d(EAP)j(authentication)e(method)g(w)o(ould)g(f)o(ail)i
(without)f(an)h(opportunity)c(to)k(ne)o(gotiate)0 2532
y(another)19 b(EAP)h(method.)0 2912 y Fe(10)119 b(Ackno)o(wledgments)0
3197 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
3297 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 3396 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 3496 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 3596 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 3695 y(Y)-9 b(oshihiro)20
b(Ohba)g(of)h(T)-7 b(oshiba)21 b(who)f(insisted)i(on)f(including)e(P)o
(ass-Through)g(documentation)f(and)i(pro)o(vided)f(signi\002cant)0
3795 y(support)g(for)g(understanding)f(implementation)f(issues.)0
3994 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 4094 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 4193
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 4293 y(P)o(ackard.)0 5656 y(V)-11 b(ollbrecht,)19
b(et)i(al.)944 b(Expires)19 b(January)g(17,)h(2005)943
b([P)o(age)19 b(32])p eop end
%%Page: 33 33
TeXDict begin 33 32 bop 0 100 a Fg(INTERNET)-8 b(-DRAFT)970
b(EAP)21 b(State)g(Machine)949 b(July)20 b(2004)0 390
y Fe(Normati)o(v)o(e)29 b(Refer)n(ences)50 675 y Fg([RFC2119])98
b(Bradner)m(,)23 b(S.,)j(\224K)n(e)o(y)e(w)o(ords)g(for)f(use)i(in)f
(RFCs)j(to)d(Indicate)f(Requirement)g(Le)n(v)o(els\224,)528
775 y(BCP)e(14,)f(RFC)i(2119,)c(March)i(1997.)50 875
y([RFC2284])98 b(Blunk,)52 b(L.)46 b(and)f(J.)i(V)-11
b(ollbrecht,)51 b(\224PPP)c(Extensible)e(Authentication)f(Protocol)528
974 y(\(EAP\)\224,)19 b(RFC)j(2284,)c(March)i(1998.)50
1074 y([RFC3579])98 b(Aboba,)21 b(B.)i(and)e(P)-9 b(.)23
b(Calhoun,)e(\224RADIUS)i(\(Remote)e(Authentication)f(Dial)j(In)f(User)
528 1174 y(Service\))14 b(Support)g(F)o(or)h(Extensible)f
(Authentication)f(Protocol)i(\(EAP\)\224,)g(RFC)i(3579,)528
1273 y(September)i(2003.)50 1373 y([RFC3748])98 b(Aboba,)21
b(B.,)h(Blunk,)g(L.,)g(V)-11 b(ollbrecht,)21 b(J.,)i(Carlson,)f(J.)g
(and)g(H.)g(Le)n(vk)o(o)n(wetz,)e(\224Exten-)528 1472
y(sible)g(Authentication)e(Protocol)i(\(EAP\)\224,)f(RFC)j(3748,)c
(June)i(2004.)0 1823 y Fe(Inf)m(ormati)o(v)o(e)28 b(Refer)n(ences)50
2109 y Fg([I-D.ietf-eap-k)o(e)o(ying])108 b(Aboba,)34
b(B.,)i(\224Extensible)c(Authentication)e(Protocol)i(\(EAP\))g(K)n(e)o
(y)g(Management)860 2208 y(Frame)n(w)o(ork\224,)18 b(draft-ietf-eap-k)o
(e)o(ying-0)o(2)d(\(w)o(ork)k(in)h(progress\),)f(June)h(2004.)50
2308 y([IEEE-802-1X-REV])95 b(Institute)20 b(of)h(Electrical)f(and)h
(Electronics)f(Engineers,)f(\224DRAFT)j(Standard)d(for)i(Lo-)860
2407 y(cal)k(and)g(Metropolitan)e(Area)i(Netw)o(orks:)35
b(Port-Based)25 b(Netw)o(ork)f(Access)i(Control)860 2507
y(\(Re)n(vision\)\224,)18 b(IEEE)i(802-1X-REV/D9,)d(January)i(2004.)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.)944 b(Expires)19
b(January)g(17,)h(2005)943 b([P)o(age)19 b(33])p eop
end
%%Page: 34 34
TeXDict begin 34 33 bop 0 100 a Fg(INTERNET)-8 b(-DRAFT)970
b(EAP)21 b(State)g(Machine)949 b(July)20 b(2004)0 390
y(Y)-9 b(oshihiro)19 b(Ohba)0 490 y(T)-7 b(oshiba)20
b(America)f(Research,)h(Inc.)0 589 y(1)g(T)-6 b(elcordia)19
b(Dri)n(v)o(e)0 689 y(Piscata)o(w)o(ay)-5 b(,)20 b(NJ)h(08854)0
789 y(USA)0 888 y(EMail:)k(yohba@tari.toshiba.com)0 1368
y Fe(A)m(ppendix)32 b(A.)e(ASCII)g(v)o(ersions)f(of)h(state)f(diagrams)
0 1653 y Fg(This)23 b(appendix)d(contains)i(the)g(state)i(diagrams)d
(in)i(ASCII)g(format.)30 b(Please)24 b(use)e(the)h(PDF)g(v)o(ersion)e
(whene)n(v)o(er)g(possible:)0 1753 y(it)g(is)g(much)e(easier)i(to)f
(understand.)0 1952 y(The)30 b(notation)e(is)j(as)g(follo)n(ws:)45
b(state)31 b(name)e(and)h(pseudocode)d(e)o(x)o(ecuted)h(when)i
(entering)e(it)j(are)f(sho)n(wn)g(on)f(the)h(left;)0
2051 y(outgoing)18 b(transitions)i(with)g(their)g(conditions)f(are)h
(sho)n(wn)f(on)h(the)g(right.)0 2389 y Ff(A.1)25 b(EAP)g(P)n(eer)g
(State)h(Machine)g(\(Figur)n(e)f(3\))149 2644 y Fc
(--------------------------------------)o(-----)o(-----)o(------)o
(-----)o(-----)o(-----)149 2744 y(\(global)49 b(transitions\))446
b(|)299 b(!portEnabled)d(|)j(DISABLED)1594 2843 y
(|------------------------+---------)o(-----)1594 2943
y(|)249 b(eapRestart)48 b(&&)298 b(|)199 b(INITIALIZE)1594
3043 y(|)299 b(portEnabled)346 b(|)149 3142 y
(-----------------------------+--------)o(-----)o(-----)o(------)o
(+----)o(-----)o(-----)149 3242 y(DISABLED)1045 b(|)299
b(portEnabled)346 b(|)199 b(INITIALIZE)149 3341 y
(-----------------------------+--------)o(-----)o(-----)o(------)o
(+----)o(-----)o(-----)149 3441 y(INITIALIZE)945 b(|)1195
b(|)1594 3541 y(|)g(|)149 3640 y(selectedMethod)48 b(=)h(NONE)398
b(|)1195 b(|)149 3740 y(methodState)48 b(=)i(NONE)547
b(|)1195 b(|)149 3840 y(allowNotifications)47 b(=)j(TRUE)198
b(|)1195 b(|)149 3939 y(decision)49 b(=)g(FAIL)697 b(|)498
b(UCT)547 b(|)498 b(IDLE)149 4039 y(idleWhile)49 b(=)g(ClientTimeout)
197 b(|)1195 b(|)149 4138 y(lastId)49 b(=)h(NONE)796
b(|)1195 b(|)149 4238 y(eapSuccess)48 b(=)i(FALSE)547
b(|)1195 b(|)149 4338 y(eapFail)49 b(=)h(FALSE)696 b(|)1195
b(|)149 4437 y(eapKeyData)48 b(=)i(NONE)597 b(|)1195
b(|)149 4537 y(eapKeyAvailable)47 b(=)j(FALSE)298 b(|)1195
b(|)149 4637 y(eapRestart)48 b(=)i(FALSE)547 b(|)1195
b(|)149 4736 y(-----------------------------+--------)o(-----)o(-----)o
(------)o(+----)o(-----)o(-----)149 4836 y(IDLE)1245
b(|)448 b(eapReq)f(|)299 b(RECEIVED)1594 4935 y
(|------------------------+---------)o(-----)1594 5035
y(|)249 b(\(altAccept)48 b(&&)298 b(|)1594 5135 y(|)99
b(decision)49 b(!=)g(FAIL\))g(||)99 b(|)1594 5234 y(|)149
b(\(idleWhile)48 b(==)i(0)f(&&)149 b(|)349 b(SUCCESS)1594
5334 y(|)299 b(decision)48 b(==)348 b(|)0 5656 y Fg(V)-11
b(ollbrecht,)19 b(et)i(al.)944 b(Expires)19 b(January)g(17,)h(2005)943
b([P)o(age)19 b(34])p eop end
%%Page: 35 35
TeXDict begin 35 34 bop 0 100 a Fg(INTERNET)-8 b(-DRAFT)970
b(EAP)21 b(State)g(Machine)949 b(July)20 b(2004)1594
390 y Fc(|)299 b(UNCOND_SUCC\))d(|)1594 490 y
(|------------------------+---------)o(-----)1594 589
y(|)j(altReject)48 b(||)298 b(|)1594 689 y(|)149 b(\(idleWhile)48
b(==)i(0)f(&&)149 b(|)1594 789 y(|)299 b(decision)48
b(!=)348 b(|)1594 888 y(|)199 b(UNCOND_SUCC\))48 b(||)248
b(|)349 b(FAILURE)1594 988 y(|)249 b(\(altAccept)48 b(&&)298
b(|)1594 1088 y(|)50 b(methodState)d(!=)j(CONT)f(&&)g(|)1594
1187 y(|)149 b(decision)49 b(==)g(FAIL\))198 b(|)149
1287 y(-----------------------------+--------)o(-----)o(-----)o(------)
o(+----)o(-----)o(-----)149 1386 y(RECEIVED)1045 b(|)398
b(rxReq)49 b(&&)398 b(|)h(METHOD)1594 1486 y(|)99 b(\(reqId)49
b(!=)h(lastId\))e(&&)99 b(|)149 1586 y(\(rxReq,rxSuccess,rxFailure,)c
(|)249 b(\(reqMethod)48 b(==)298 b(|)249 1685 y(reqId,reqMethod\))47
b(=)448 b(|)149 b(selectedMethod\))47 b(&&)149 b(|)249
1785 y(parseEapReq\(eapReqData\))195 b(|)50 b(\(methodState)d(!=)j
(DONE\))98 b(|)1594 1885 y(|------------------------+---------)o(-----)
1594 1984 y(|)398 b(rxReq)49 b(&&)398 b(|)1594 2084 y(|)99
b(\(reqId)49 b(!=)h(lastId\))e(&&)99 b(|)1594 2183 y(|)149
b(\(selectedMethod)47 b(==)149 b(|)1594 2283 y(|)398
b(NONE\))49 b(&&)398 b(|)199 b(GET_METHOD)1594 2383 y(|)249
b(\(reqMethod)48 b(!=)298 b(|)1594 2482 y(|)h(IDENTITY\))48
b(&&)298 b(|)1594 2582 y(|)249 b(\(reqMethod)48 b(!=)298
b(|)1594 2682 y(|)249 b(NOTIFICATION\))296 b(|)1594 2781
y(|------------------------+---------)o(-----)1594 2881
y(|)398 b(rxReq)49 b(&&)398 b(|)1594 2980 y(|)99 b(\(reqId)49
b(!=)h(lastId\))e(&&)99 b(|)1594 3080 y(|)149 b(\(selectedMethod)47
b(==)149 b(|)299 b(IDENTITY)1594 3180 y(|)398 b(NONE\))49
b(&&)398 b(|)1594 3279 y(|)249 b(\(reqMethod)48 b(==)298
b(|)1594 3379 y(|)349 b(IDENTITY\))396 b(|)1594 3479
y(|------------------------+---------)o(-----)1594 3578
y(|)i(rxReq)49 b(&&)398 b(|)1594 3678 y(|)99 b(\(reqId)49
b(!=)h(lastId\))e(&&)99 b(|)1594 3778 y(|)149 b(\(reqMethod)48
b(==)398 b(|)100 b(NOTIFICATION)1594 3877 y(|)199 b(NOTIFICATION\))47
b(&&)199 b(|)1594 3977 y(|)149 b(allowNotifications)d(|)1594
4076 y(|------------------------+---------)o(-----)1594
4176 y(|)398 b(rxReq)49 b(&&)398 b(|)199 b(RETRANSMIT)1594
4276 y(|)149 b(\(reqId)49 b(==)g(lastId\))198 b(|)1594
4375 y(|------------------------+---------)o(-----)1594
4475 y(|)299 b(rxSuccess)48 b(&&)298 b(|)1594 4575 y(|)99
b(\(reqId)49 b(==)h(lastId\))e(&&)99 b(|)349 b(SUCCESS)1594
4674 y(|)149 b(\(decision)48 b(!=)i(FAIL\))148 b(|)1594
4774 y(|------------------------+---------)o(-----)1594
4873 y(|)50 b(\(methodState!=CONT\))c(&&)j(|)1594 4973
y(|)249 b(\(\(rxFailure)48 b(&&)248 b(|)1594 5073 y(|)299
b(decision)48 b(!=)348 b(|)1594 5172 y(|)199 b(UNCOND_SUCC\))48
b(||)248 b(|)349 b(FAILURE)1594 5272 y(|)249 b(\(rxSuccess)48
b(&&)298 b(|)1594 5372 y(|)50 b(decision)e(==)h(FAIL\)\))g(&&)99
b(|)0 5656 y Fg(V)-11 b(ollbrecht,)19 b(et)i(al.)944
b(Expires)19 b(January)g(17,)h(2005)943 b([P)o(age)19
b(35])p eop end
%%Page: 36 36
TeXDict begin 36 35 bop 0 100 a Fg(INTERNET)-8 b(-DRAFT)970
b(EAP)21 b(State)g(Machine)949 b(July)20 b(2004)1594
390 y Fc(|)149 b(\(reqId)49 b(==)g(lastId\))198 b(|)1594
490 y(|------------------------+---------)o(-----)1594
589 y(|)498 b(else)f(|)349 b(DISCARD)149 689 y
(-----------------------------+--------)o(-----)o(-----)o(------)o
(+----)o(-----)o(-----)149 789 y(METHOD)1145 b(|)1195
b(|)1594 888 y(|)g(|)149 988 y(ignore)49 b(=)h(m.check\(eapReqData\))c
(|)448 b(ignore)f(|)349 b(DISCARD)149 1088 y(if)50 b(\(!ignore\))e({)
747 b(|)1195 b(|)249 1187 y(\(methodState,)47 b(decision,)198
b(|)1195 b(|)249 1287 y(allowNotifications\))46 b(=)299
b(|------------------------+---------)o(-----)249 1386
y(m.process\(eapReqData\))c(|)1195 b(|)249 1486 y(/*)50
b(methodState)d(is)j(CONT,)198 b(|)1195 b(|)399 1586
y(MAY_CONT,)48 b(or)h(DONE)g(*/)199 b(|)50 b(\(methodState==DONE\))c
(&&)j(|)349 b(FAILURE)249 1685 y(/*)50 b(decision)e(is)h(FAIL,)348
b(|)149 b(\(decision)48 b(==)i(FAIL\))148 b(|)399 1785
y(COND_SUCC,)47 b(or)548 b(|)1195 b(|)399 1885 y(UNCOND_SUCC)47
b(*/)498 b(|)1195 b(|)249 1984 y(eapRespData)48 b(=)697
b(|------------------------+---------)o(-----)349 2084
y(m.buildResp\(reqId\))345 b(|)1195 b(|)249 2183 y(if)50
b(\(m.isKeyAvailable\(\)\))195 b(|)498 b(else)f(|)50
b(SEND_RESPONSE)349 2283 y(eapKeyData)e(=)h(m.getKey\(\))98
b(|)1195 b(|)149 2383 y(})1395 b(|)1195 b(|)149 2482
y(-----------------------------+--------)o(-----)o(-----)o(------)o
(+----)o(-----)o(-----)149 2582 y(GET_METHOD)945 b(|)1195
b(|)1594 2682 y(|)149 b(selectedMethod)47 b(==)199 b(|)149
2781 y(if)50 b(\(allowMethod\(reqMethod\)\))45 b({|)349
b(reqMethod)396 b(|)j(METHOD)249 2881 y(selectedMethod)47
b(=)j(reqMethod)e(|)1195 b(|)249 2980 y(methodState)48
b(=)h(INIT)448 b(|)1195 b(|)149 3080 y(})50 b(else)f({)1046
b(|------------------------+---------)o(-----)249 3180
y(eapRespData)48 b(=)697 b(|)1195 b(|)349 3279 y(buildNak\(reqId\))495
b(|)j(else)f(|)50 b(SEND_RESPONSE)149 3379 y(})1395 b(|)1195
b(|)149 3479 y(-----------------------------+--------)o(-----)o(-----)o
(------)o(+----)o(-----)o(-----)149 3578 y(IDENTITY)1045
b(|)1195 b(|)1594 3678 y(|)g(|)149 3778 y
(processIdentity\(eapReqData\))95 b(|)498 b(UCT)547 b(|)50
b(SEND_RESPONSE)149 3877 y(eapRespData)e(=)797 b(|)1195
b(|)249 3977 y(buildIdentity\(reqId\))345 b(|)1195 b(|)149
4076 y(-----------------------------+--------)o(-----)o(-----)o(------)
o(+----)o(-----)o(-----)149 4176 y(NOTIFICATION)845 b(|)1195
b(|)1594 4276 y(|)g(|)149 4375 y(processNotify\(eapReqData\))195
b(|)498 b(UCT)547 b(|)50 b(SEND_RESPONSE)149 4475 y(eapRespData)e(=)797
b(|)1195 b(|)249 4575 y(buildNotify\(reqId\))445 b(|)1195
b(|)149 4674 y(-----------------------------+--------)o(-----)o(-----)o
(------)o(+----)o(-----)o(-----)149 4774 y(RETRANSMIT)945
b(|)1195 b(|)1594 4873 y(|)498 b(UCT)547 b(|)50 b(SEND_RESPONSE)149
4973 y(eapRespData)e(=)i(lastRespData)147 b(|)1195 b(|)149
5073 y(-----------------------------+--------)o(-----)o(-----)o(------)
o(+----)o(-----)o(-----)149 5172 y(DISCARD)1095 b(|)1195
b(|)1594 5272 y(|)498 b(UCT)547 b(|)498 b(IDLE)149 5372
y(eapReq)49 b(=)h(FALSE)746 b(|)1195 b(|)0 5656 y Fg(V)-11
b(ollbrecht,)19 b(et)i(al.)944 b(Expires)19 b(January)g(17,)h(2005)943
b([P)o(age)19 b(36])p eop end
%%Page: 37 37
TeXDict begin 37 36 bop 0 100 a Fg(INTERNET)-8 b(-DRAFT)970
b(EAP)21 b(State)g(Machine)949 b(July)20 b(2004)149 390
y Fc(eapNoResp)49 b(=)g(TRUE)647 b(|)1195 b(|)149 490
y(-----------------------------+--------)o(-----)o(-----)o(------)o
(+----)o(-----)o(-----)149 589 y(SEND_RESPONSE)795 b(|)1195
b(|)1594 689 y(|)g(|)149 789 y(lastId)49 b(=)h(reqId)746
b(|)1195 b(|)149 888 y(lastRespData)48 b(=)i(eapRespData)147
b(|)498 b(UCT)547 b(|)498 b(IDLE)149 988 y(eapReq)49
b(=)h(FALSE)746 b(|)1195 b(|)149 1088 y(eapResp)49 b(=)h(TRUE)746
b(|)1195 b(|)149 1187 y(idleWhile)49 b(=)g(ClientTimeout)197
b(|)1195 b(|)149 1287 y(-----------------------------+--------)o(-----)
o(-----)o(------)o(+----)o(-----)o(-----)149 1386 y(SUCCESS)1095
b(|)1195 b(|)1594 1486 y(|)g(|)149 1586 y(if)50 b(\(eapKeyData)e(!=)h
(NONE\))298 b(|)1195 b(|)249 1685 y(eapKeyAvailable)47
b(=)j(TRUE)248 b(|)1195 b(|)149 1785 y(eapSuccess)48
b(=)i(TRUE)597 b(|)1195 b(|)149 1885 y
(-----------------------------+--------)o(-----)o(-----)o(------)o
(+----)o(-----)o(-----)149 1984 y(FAILURE)1095 b(|)1195
b(|)1594 2084 y(|)g(|)149 2183 y(eapFail)49 b(=)h(TRUE)746
b(|)1195 b(|)149 2283 y(--------------------------------------)o(-----)
o(-----)o(------)o(-----)o(-----)o(-----)0 2620 y Ff(A.2)25
b(EAP)g(Standalone)h(A)-5 b(uthenticator)26 b(State)g(Machine)g
(\(Figur)n(e)f(4\))149 2876 y Fc
(--------------------------------------)o(-----)o(-----)o(------)o
(-----)o(-----)o(-----)149 2975 y(\(global)49 b(transitions\))496
b(|)199 b(!portEnabled)247 b(|)398 b(DISABLED)1644 3075
y(|---------------------+-----------)o(-----)1644 3175
y(|)199 b(eapRestart)48 b(&&)199 b(|)298 b(INITIALIZE)1644
3274 y(|)249 b(portEnabled)e(|)149 3374 y
(------------------------------+-------)o(-----)o(-----)o(----+-)o
(-----)o(-----)o(-----)149 3473 y(DISABLED)1095 b(|)249
b(portEnabled)e(|)298 b(INITIALIZE)149 3573 y
(------------------------------+-------)o(-----)o(-----)o(----+-)o
(-----)o(-----)o(-----)149 3673 y(INITIALIZE)995 b(|)1046
b(|)1644 3772 y(|)g(|)149 3872 y(currentId)49 b(=)g(NONE)697
b(|)1046 b(|)149 3972 y(eapSuccess)48 b(=)i(FALSE)597
b(|)1046 b(|)149 4071 y(eapFail)49 b(=)h(FALSE)746 b(|)448
b(UCT)g(|)149 b(SELECT_ACTION)149 4171 y(eapTimeout)48
b(=)i(FALSE)597 b(|)1046 b(|)149 4270 y(eapKeyData)48
b(=)i(NONE)647 b(|)1046 b(|)149 4370 y(eapKeyAvailable)47
b(=)j(FALSE)348 b(|)1046 b(|)149 4470 y(eapRestart)48
b(=)i(FALSE)597 b(|)1046 b(|)149 4569 y
(------------------------------+-------)o(-----)o(-----)o(----+-)o
(-----)o(-----)o(-----)149 4669 y(IDLE)1295 b(|)1046
b(|)1644 4769 y(|)99 b(retransWhile)48 b(==)h(0)100 b(|)298
b(RETRANSMIT)149 4868 y(retransWhile)48 b(=)797 b(|)1046
b(|)249 4968 y(calculateTimeout\()545 b
(|---------------------+-----------)o(-----)299 5067
y(retransCount,)47 b(eapSRTT,)248 b(|)348 b(eapResp)g(|)398
b(RECEIVED)299 5167 y(eapRTTVAR,)48 b(methodTimeout\))97
b(|)1046 b(|)149 5267 y(------------------------------+-------)o(-----)
o(-----)o(----+-)o(-----)o(-----)o(-----)149 5366 y(RETRANSMIT)995
b(|)1046 b(|)0 5656 y Fg(V)-11 b(ollbrecht,)19 b(et)i(al.)944
b(Expires)19 b(January)g(17,)h(2005)943 b([P)o(age)19
b(37])p eop end
%%Page: 38 38
TeXDict begin 38 37 bop 0 100 a Fg(INTERNET)-8 b(-DRAFT)970
b(EAP)21 b(State)g(Machine)949 b(July)20 b(2004)1644
390 y Fc(|)149 b(retransCount)48 b(>)199 b(|)49 b(TIMEOUT_FAILURE)149
490 y(retransCount++)795 b(|)249 b(MaxRetrans)297 b(|)149
589 y(if)50 b(\(retransCount<=MaxRetrans\){|)1041 b(|)249
689 y(eapReqData)48 b(=)i(lastReqData)197 b
(|---------------------+-----------)o(-----)249 789 y(eapReq)49
b(=)g(TRUE)747 b(|)398 b(else)448 b(|)597 b(IDLE)149
888 y(})1445 b(|)1046 b(|)149 988 y
(------------------------------+-------)o(-----)o(-----)o(----+-)o
(-----)o(-----)o(-----)149 1088 y(RECEIVED)1095 b(|)299
b(rxResp)48 b(&&)299 b(|)1644 1187 y(|)249 b(\(respId)48
b(==)299 b(|)149 1287 y(\(rxResp,respId,respMethod\)=)145
b(|)199 b(currentId\))48 b(&&)199 b(|)249 1386 y
(parseEapResp\(eapRespData\))145 b(|)49 b(\(respMethod)f(==)i(NAK)99
b(|)1644 1486 y(|)448 b(||)498 b(|)647 b(NAK)1644 1586
y(|)199 b(respMethod)48 b(==)199 b(|)1644 1685 y(|)99
b(EXPANDED_NAK\))48 b(&&)149 b(|)1644 1785 y(|)g(\(methodState)48
b(==)149 b(|)1644 1885 y(|)299 b(PROPOSED\))e(|)1644
1984 y(|---------------------+-----------)o(-----)1644
2084 y(|)i(rxResp)48 b(&&)299 b(|)1644 2183 y(|)249 b(\(respId)48
b(==)299 b(|)1644 2283 y(|)199 b(currentId\))48 b(&&)199
b(|)49 b(INTEGRITY_CHECK)1644 2383 y(|)149 b(\(respMethod)48
b(==)199 b(|)1644 2482 y(|)149 b(currentMethod\))197
b(|)1644 2582 y(|---------------------+-----------)o(-----)1644
2682 y(|)398 b(else)448 b(|)g(DISCARD)149 2781 y
(------------------------------+-------)o(-----)o(-----)o(----+-)o
(-----)o(-----)o(-----)149 2881 y(NAK)1345 b(|)1046 b(|)1644
2980 y(|)448 b(UCT)g(|)149 b(SELECT_ACTION)149 3080 y(m.reset\(\))1045
b(|)h(|)149 3180 y(Policy.update\(<...>\))495 b(|)1046
b(|)149 3279 y(------------------------------+-------)o(-----)o(-----)o
(----+-)o(-----)o(-----)o(-----)149 3379 y(SELECT_ACTION)845
b(|)49 b(decision)g(==)g(FAILURE)g(|)448 b(FAILURE)1644
3479 y(|)1046 b(|)149 3578 y(decision)49 b(=)996 b
(|---------------------+-----------)o(-----)249 3678
y(Policy.getDecision\(\))395 b(|)49 b(decision)g(==)g(SUCCESS)g(|)448
b(SUCCESS)149 3778 y(/*)50 b(SUCCESS,)e(FAILURE,)h(or)348
b(|---------------------+-----------)o(-----)299 3877
y(CONTINUE)48 b(*/)797 b(|)398 b(else)448 b(|)99 b(PROPOSE_METHOD)149
3977 y(------------------------------+-------)o(-----)o(-----)o(----+-)
o(-----)o(-----)o(-----)149 4076 y(INTEGRITY_CHECK)745
b(|)348 b(ignore)398 b(|)448 b(DISCARD)1644 4176 y
(|---------------------+-----------)o(-----)149 4276
y(ignore)49 b(=)h(m.check\(eapRespData\))c(|)348 b(!ignore)g(|)49
b(METHOD_RESPONSE)149 4375 y(------------------------------+-------)o
(-----)o(-----)o(----+-)o(-----)o(-----)o(-----)149 4475
y(METHOD_RESPONSE)745 b(|)1046 b(|)1644 4575 y(|)49 b(methodState)f(==)
i(END)99 b(|)149 b(SELECT_ACTION)149 4674 y(m.process\(eapRespData\))
395 b(|)1046 b(|)149 4774 y(if)50 b(\(m.isDone\(\)\))d({)648
b(|)1046 b(|)249 4873 y(Policy.update\(<...>\))395 b
(|---------------------+-----------)o(-----)249 4973
y(eapKeyData)48 b(=)i(m.getKey\(\))247 b(|)1046 b(|)249
5073 y(methodState)48 b(=)h(END)548 b(|)398 b(else)448
b(|)99 b(METHOD_REQUEST)149 5172 y(})50 b(else)1195 b(|)1046
b(|)249 5272 y(methodState)48 b(=)h(CONTINUE)298 b(|)1046
b(|)149 5372 y(------------------------------+-------)o(-----)o(-----)o
(----+-)o(-----)o(-----)o(-----)0 5656 y Fg(V)-11 b(ollbrecht,)19
b(et)i(al.)944 b(Expires)19 b(January)g(17,)h(2005)943
b([P)o(age)19 b(38])p eop end
%%Page: 39 39
TeXDict begin 39 38 bop 0 100 a Fg(INTERNET)-8 b(-DRAFT)970
b(EAP)21 b(State)g(Machine)949 b(July)20 b(2004)149 390
y Fc(PROPOSE_METHOD)795 b(|)1046 b(|)1644 490 y(|)g(|)149
589 y(currentMethod)48 b(=)747 b(|)1046 b(|)249 689 y
(Policy.getNextMethod\(\))295 b(|)1046 b(|)149 789 y(m.init\(\))1095
b(|)448 b(UCT)g(|)99 b(METHOD_REQUEST)149 888 y(if)50
b(\(currentMethod==IDENTITY)45 b(|||)1046 b(|)249 988
y(currentMethod==NOTIFICATION\)|)1041 b(|)249 1088 y(methodState)48
b(=)h(CONTINUE)298 b(|)1046 b(|)149 1187 y(else)1295
b(|)1046 b(|)249 1287 y(methodState)48 b(=)h(PROPOSED)298
b(|)1046 b(|)149 1386 y(------------------------------+-------)o(-----)
o(-----)o(----+-)o(-----)o(-----)o(-----)149 1486 y(METHOD_REQUEST)795
b(|)1046 b(|)1644 1586 y(|)g(|)149 1685 y(currentId)49
b(=)g(nextId\(currentId\))e(|)448 b(UCT)g(|)199 b(SEND_REQUEST)149
1785 y(eapReqData)48 b(=)897 b(|)1046 b(|)249 1885 y
(m.buildReq\(currentId\))345 b(|)1046 b(|)149 1984 y(methodTimeout)48
b(=)h(m.getTimeout\(\)|)1044 b(|)149 2084 y
(------------------------------+-------)o(-----)o(-----)o(----+-)o
(-----)o(-----)o(-----)149 2183 y(DISCARD)1145 b(|)1046
b(|)1644 2283 y(|)448 b(UCT)g(|)597 b(IDLE)149 2383 y(eapResp)49
b(=)h(FALSE)746 b(|)1046 b(|)149 2482 y(eapNoReq)49 b(=)g(TRUE)747
b(|)1046 b(|)149 2582 y(------------------------------+-------)o(-----)
o(-----)o(----+-)o(-----)o(-----)o(-----)149 2682 y(SEND_REQUEST)895
b(|)1046 b(|)1644 2781 y(|)g(|)149 2881 y(retransCount)48
b(=)i(0)697 b(|)448 b(UCT)g(|)597 b(IDLE)149 2980 y(lastReqData)48
b(=)i(eapReqData)297 b(|)1046 b(|)149 3080 y(eapResp)49
b(=)h(FALSE)746 b(|)1046 b(|)149 3180 y(eapReq)49 b(=)h(TRUE)846
b(|)1046 b(|)149 3279 y(------------------------------+-------)o(-----)
o(-----)o(----+-)o(-----)o(-----)o(-----)149 3379 y(TIMEOUT_FAILURE)745
b(|)1046 b(|)1644 3479 y(|)g(|)149 3578 y(eapTimeout)48
b(=)i(TRUE)647 b(|)1046 b(|)149 3678 y
(------------------------------+-------)o(-----)o(-----)o(----+-)o
(-----)o(-----)o(-----)149 3778 y(FAILURE)1145 b(|)1046
b(|)1644 3877 y(|)g(|)149 3977 y(eapReqData)48 b(=)897
b(|)1046 b(|)249 4076 y(buildFailure\(currentId\))245
b(|)1046 b(|)149 4176 y(eapFail)49 b(=)h(TRUE)796 b(|)1046
b(|)149 4276 y(------------------------------+-------)o(-----)o(-----)o
(----+-)o(-----)o(-----)o(-----)149 4375 y(SUCCESS)1145
b(|)1046 b(|)1644 4475 y(|)g(|)149 4575 y(eapReqData)48
b(=)897 b(|)1046 b(|)249 4674 y(buildSuccess\(currentId\))245
b(|)1046 b(|)149 4774 y(if)50 b(\(eapKeyData)e(!=)h(NONE\))348
b(|)1046 b(|)249 4873 y(eapKeyAvailable)47 b(=)j(TRUE)298
b(|)1046 b(|)149 4973 y(eapSuccess)48 b(=)i(TRUE)647
b(|)1046 b(|)149 5073 y(--------------------------------------)o(-----)
o(-----)o(------)o(-----)o(-----)o(-----)0 5656 y Fg(V)-11
b(ollbrecht,)19 b(et)i(al.)944 b(Expires)19 b(January)g(17,)h(2005)943
b([P)o(age)19 b(39])p eop end
%%Page: 40 40
TeXDict begin 40 39 bop 0 100 a Fg(INTERNET)-8 b(-DRAFT)970
b(EAP)21 b(State)g(Machine)949 b(July)20 b(2004)0 390
y Ff(A.3)25 b(EAP)g(Back)o(end)i(A)-5 b(uthenticator)26
b(State)g(Machine)g(\(Figur)n(e)f(5\))149 645 y Fc
(--------------------------------------)o(-----)o(-----)o(------)o
(-----)o(-----)o(-----)149 745 y(\(global)49 b(transitions\))496
b(|)149 b(!backendEnabled)e(|)398 b(DISABLED)149 845
y(------------------------------+-------)o(-----)o(-----)o(----+-)o
(-----)o(-----)o(-----)149 944 y(DISABLED)1095 b(|)99
b(backendEnabled)47 b(&&)100 b(|)298 b(INITIALIZE)1644
1044 y(|)249 b(aaaEapResp)297 b(|)149 1144 y
(------------------------------+-------)o(-----)o(-----)o(----+-)o
(-----)o(-----)o(-----)149 1243 y(INITIALIZE)995 b(|)348
b(!rxResp)g(|)149 b(SELECT_ACTION)1644 1343 y
(|---------------------+-----------)o(-----)149 1443
y(currentMethod)48 b(=)h(NONE)498 b(|)299 b(rxResp)48
b(&&)299 b(|)149 1542 y(\(rxResp,respId,respMethod\)=)145
b(|)49 b(\(respMethod)f(==)i(NAK)99 b(|)249 1642 y
(parseEapResp\(aaaEapRespData\)|)443 b(||)498 b(|)647
b(NAK)149 1741 y(if)50 b(\(rxResp\))945 b(|)199 b(respMethod)48
b(==)199 b(|)249 1841 y(currentId)48 b(=)i(respId)497
b(|)199 b(EXPANDED_NAK\))e(|)149 1941 y(else)1295 b
(|---------------------+-----------)o(-----)249 2040
y(currentId)48 b(=)i(NONE)597 b(|)398 b(else)448 b(|)99
b(PICK_UP_METHOD)149 2140 y(------------------------------+-------)o
(-----)o(-----)o(----+-)o(-----)o(-----)o(-----)149 2240
y(PICK_UP_METHOD)795 b(|)1046 b(|)1644 2339 y(|)99 b(currentMethod)48
b(==)149 b(|)g(SELECT_ACTION)149 2439 y(if)50 b(\(Policy.doPickUp\()495
b(|)398 b(NONE)448 b(|)349 2538 y(respMethod\)\))47 b({)598
b(|)1046 b(|)249 2638 y(currentMethod)47 b(=)j(respMethod)98
b(|---------------------+-----------)o(-----)249 2738
y(m.initPickUp\(\))695 b(|)398 b(else)448 b(|)49 b(METHOD_RESPONSE)149
2837 y(})1445 b(|)1046 b(|)149 2937 y
(------------------------------+-------)o(-----)o(-----)o(----+-)o
(-----)o(-----)o(-----)149 3037 y(IDLE)1295 b(|)249 b(aaaEapResp)297
b(|)398 b(RECEIVED)149 3136 y(------------------------------+-------)o
(-----)o(-----)o(----+-)o(-----)o(-----)o(-----)149 3236
y(RECEIVED)1095 b(|)299 b(rxResp)48 b(&&)299 b(|)1644
3335 y(|)249 b(\(respId)48 b(==)299 b(|)149 3435 y
(\(rxResp,respId,respMethod\)=)145 b(|)199 b(currentId\))48
b(&&)199 b(|)249 3535 y(parseEapResp\(aaaEapRespData\)|)44
b(\(respMethod)k(==)i(NAK)99 b(|)1644 3634 y(|)448 b(||)498
b(|)647 b(NAK)1644 3734 y(|)199 b(respMethod)48 b(==)199
b(|)1644 3834 y(|)99 b(EXPANDED_NAK\))48 b(&&)149 b(|)1644
3933 y(|)g(\(methodState)48 b(==)149 b(|)1644 4033 y(|)299
b(PROPOSED\))e(|)1644 4132 y(|---------------------+-----------)o
(-----)1644 4232 y(|)i(rxResp)48 b(&&)299 b(|)1644 4332
y(|)249 b(\(respId)48 b(==)299 b(|)1644 4431 y(|)199
b(currentId\))48 b(&&)199 b(|)49 b(INTEGRITY_CHECK)1644
4531 y(|)149 b(\(respMethod)48 b(==)199 b(|)1644 4631
y(|)149 b(currentMethod\))197 b(|)1644 4730 y
(|---------------------+-----------)o(-----)1644 4830
y(|)398 b(else)448 b(|)g(DISCARD)149 4929 y
(------------------------------+-------)o(-----)o(-----)o(----+-)o
(-----)o(-----)o(-----)149 5029 y(NAK)1345 b(|)1046 b(|)1644
5129 y(|)448 b(UCT)g(|)149 b(SELECT_ACTION)149 5228 y(m.reset\(\))1045
b(|)h(|)149 5328 y(Policy.update\(<...>\))495 b(|)1046
b(|)0 5656 y Fg(V)-11 b(ollbrecht,)19 b(et)i(al.)944
b(Expires)19 b(January)g(17,)h(2005)943 b([P)o(age)19
b(40])p eop end
%%Page: 41 41
TeXDict begin 41 40 bop 0 100 a Fg(INTERNET)-8 b(-DRAFT)970
b(EAP)21 b(State)g(Machine)949 b(July)20 b(2004)149 390
y Fc(------------------------------+-------)o(-----)o(-----)o(----+-)o
(-----)o(-----)o(-----)149 490 y(SELECT_ACTION)845 b(|)49
b(decision)g(==)g(FAILURE)g(|)448 b(FAILURE)1644 589
y(|)1046 b(|)149 689 y(decision)49 b(=)996 b
(|---------------------+-----------)o(-----)249 789 y
(Policy.getDecision\(\))395 b(|)49 b(decision)g(==)g(SUCCESS)g(|)448
b(SUCCESS)149 888 y(/*)50 b(SUCCESS,)e(FAILURE,)h(or)348
b(|---------------------+-----------)o(-----)299 988
y(CONTINUE)48 b(*/)797 b(|)398 b(else)448 b(|)99 b(PROPOSE_METHOD)149
1088 y(------------------------------+-------)o(-----)o(-----)o(----+-)
o(-----)o(-----)o(-----)149 1187 y(INTEGRITY_CHECK)745
b(|)348 b(ignore)398 b(|)448 b(DISCARD)1644 1287 y(|)1046
b(|)149 1386 y(ignore)49 b(=)1096 b(|---------------------+-----------)
o(-----)249 1486 y(m.check\(aaaEapRespData\))245 b(|)348
b(!ignore)g(|)49 b(METHOD_RESPONSE)149 1586 y
(------------------------------+-------)o(-----)o(-----)o(----+-)o
(-----)o(-----)o(-----)149 1685 y(METHOD_RESPONSE)745
b(|)1046 b(|)1644 1785 y(|)49 b(methodState)f(==)i(END)99
b(|)149 b(SELECT_ACTION)149 1885 y(m.process\(aaaEapRespData\))245
b(|)1046 b(|)149 1984 y(if)50 b(\(m.isDone\(\)\))d({)648
b(|)1046 b(|)249 2084 y(Policy.update\(<...>\))395 b
(|---------------------+-----------)o(-----)249 2183
y(aaaEapKeyData)47 b(=)j(m.getKey\(\))98 b(|)1046 b(|)249
2283 y(methodState)48 b(=)h(END)548 b(|)398 b(else)448
b(|)99 b(METHOD_REQUEST)149 2383 y(})50 b(else)1195 b(|)1046
b(|)249 2482 y(methodState)48 b(=)h(CONTINUE)298 b(|)1046
b(|)149 2582 y(------------------------------+-------)o(-----)o(-----)o
(----+-)o(-----)o(-----)o(-----)149 2682 y(PROPOSE_METHOD)795
b(|)1046 b(|)1644 2781 y(|)g(|)149 2881 y(currentMethod)48
b(=)747 b(|)1046 b(|)249 2980 y(Policy.getNextMethod\(\))295
b(|)1046 b(|)149 3080 y(m.init\(\))1095 b(|)448 b(UCT)g(|)99
b(METHOD_REQUEST)149 3180 y(if)50 b(\(currentMethod==IDENTITY)45
b(|||)1046 b(|)249 3279 y(currentMethod==NOTIFICATION\)|)1041
b(|)249 3379 y(methodState)48 b(=)h(CONTINUE)298 b(|)1046
b(|)149 3479 y(else)1295 b(|)1046 b(|)249 3578 y(methodState)48
b(=)h(PROPOSED)298 b(|)1046 b(|)149 3678 y
(------------------------------+-------)o(-----)o(-----)o(----+-)o
(-----)o(-----)o(-----)149 3778 y(METHOD_REQUEST)795
b(|)1046 b(|)1644 3877 y(|)g(|)149 3977 y(currentId)49
b(=)g(nextId\(currentId\))e(|)1046 b(|)149 4076 y(aaaEapReqData)48
b(=)747 b(|)448 b(UCT)g(|)199 b(SEND_REQUEST)249 4176
y(m.buildReq\(currentId\))345 b(|)1046 b(|)149 4276 y(aaaMethodTimeout)
47 b(=)598 b(|)1046 b(|)249 4375 y(m.getTimeout\(\))695
b(|)1046 b(|)149 4475 y(------------------------------+-------)o(-----)
o(-----)o(----+-)o(-----)o(-----)o(-----)149 4575 y(DISCARD)1145
b(|)1046 b(|)1644 4674 y(|)448 b(UCT)g(|)597 b(IDLE)149
4774 y(aaaEapResp)48 b(=)i(FALSE)597 b(|)1046 b(|)149
4873 y(aaaEapNoReq)48 b(=)i(TRUE)597 b(|)1046 b(|)149
4973 y(------------------------------+-------)o(-----)o(-----)o(----+-)
o(-----)o(-----)o(-----)149 5073 y(SEND_REQUEST)895 b(|)1046
b(|)1644 5172 y(|)448 b(UCT)g(|)597 b(IDLE)149 5272 y(aaaEapResp)48
b(=)i(FALSE)597 b(|)1046 b(|)149 5372 y(aaaEapReq)49
b(=)g(TRUE)697 b(|)1046 b(|)0 5656 y Fg(V)-11 b(ollbrecht,)19
b(et)i(al.)944 b(Expires)19 b(January)g(17,)h(2005)943
b([P)o(age)19 b(41])p eop end
%%Page: 42 42
TeXDict begin 42 41 bop 0 100 a Fg(INTERNET)-8 b(-DRAFT)970
b(EAP)21 b(State)g(Machine)949 b(July)20 b(2004)149 390
y Fc(------------------------------+-------)o(-----)o(-----)o(----+-)o
(-----)o(-----)o(-----)149 490 y(FAILURE)1145 b(|)1046
b(|)1644 589 y(|)g(|)149 689 y(aaaEapReqData)48 b(=)747
b(|)1046 b(|)249 789 y(buildFailure\(currentId\))245
b(|)1046 b(|)149 888 y(aaaEapFail)48 b(=)i(TRUE)647 b(|)1046
b(|)149 988 y(------------------------------+-------)o(-----)o(-----)o
(----+-)o(-----)o(-----)o(-----)149 1088 y(SUCCESS)1145
b(|)1046 b(|)1644 1187 y(|)g(|)149 1287 y(aaaEapReqData)48
b(=)747 b(|)1046 b(|)249 1386 y(buildSuccess\(currentId\))245
b(|)1046 b(|)149 1486 y(if)50 b(\(aaaEapKeyData)d(!=)j(NONE\))198
b(|)1046 b(|)249 1586 y(aaaEapKeyAvailable)47 b(=)i(TRUE)149
b(|)1046 b(|)149 1685 y(aaaEapSuccess)48 b(=)h(TRUE)498
b(|)1046 b(|)149 1785 y(--------------------------------------)o(-----)
o(-----)o(------)o(-----)o(-----)o(-----)0 2122 y Ff(A.4)25
b(EAP)g(Full)f(A)-5 b(uthenticator)27 b(State)f(Machine)f(\(Figur)n(es)
h(6)e(and)i(7\))0 2377 y Fg(This)j(state)g(machine)f(contains)g(all)h
(the)g(states)h(from)e(EAP)h(Standalone)e(Authenticator)g(State)i
(Machine,)h(e)o(xcept)d(that)0 2477 y(SELECT)p 310 2477
25 4 v 29 w(A)m(CTION)20 b(state)h(is)g(replaced)e(with)i(the)f(follo)n
(wing:)149 2756 y Fc(--------------------------------------)o(-----)o
(-----)o(------)o(-----)o(-----)o(-----)149 2856 y(SELECT_ACTION)845
b(|)49 b(decision)g(==)g(FAILURE)g(|)448 b(FAILURE)1644
2955 y(|)1046 b(|)149 3055 y(decision)49 b(=)996 b
(|---------------------+-----------)o(-----)249 3155
y(Policy.getDecision\(\))395 b(|)49 b(decision)g(==)g(SUCCESS)g(|)448
b(SUCCESS)149 3254 y(/*)50 b(SUCCESS,)e(FAILURE,)h
(CONTINUE,|---------------------+-)o(-----)o(-----)o(-----)299
3354 y(or)g(PASSTHROUGH)f(*/)498 b(|)249 b(decision)48
b(==)249 b(|)g(INITIALIZE_)1644 3454 y(|)g(PASSTHROUGH)e(|)i
(PASSTHROUGH)1644 3553 y(|---------------------+-----------)o(-----)
1644 3653 y(|)398 b(else)448 b(|)99 b(PROPOSE_METHOD)149
3752 y(--------------------------------------)o(-----)o(-----)o(------)
o(-----)o(-----)o(-----)0 4032 y Fg(And)20 b(the)g(follo)n(wing)e(ne)n
(w)i(states)i(are)e(added:)149 4311 y Fc
(--------------------------------------)o(-----)o(-----)o(------)o
(-----)o(-----)o(-----)149 4411 y(INITIALIZE_PASSTHROUGH)395
b(|)99 b(currentId)48 b(!=)i(NONE)99 b(|)249 b(AAA_REQUEST)1644
4511 y(|---------------------+-----------)o(-----)149
4610 y(aaaEapRespData)48 b(=)h(NONE)448 b(|)99 b(currentId)48
b(==)i(NONE)99 b(|)398 b(AAA_IDLE)149 4710 y
(------------------------------+-------)o(-----)o(-----)o(----+-)o
(-----)o(-----)o(-----)149 4809 y(IDLE2)1245 b(|)1046
b(|)1644 4909 y(|)99 b(retransWhile)48 b(==)h(0)100 b(|)249
b(RETRANSMIT2)149 5009 y(retransWhile)48 b(=)797 b(|)1046
b(|)249 5108 y(calculateTimeout\()545 b
(|---------------------+-----------)o(-----)299 5208
y(retransCount,)47 b(eapSRTT,)248 b(|)348 b(eapResp)g(|)g(RECEIVED2)299
5308 y(eapRTTVAR,)48 b(methodTimeout\))97 b(|)1046 b(|)149
5407 y(------------------------------+-------)o(-----)o(-----)o(----+-)
o(-----)o(-----)o(-----)0 5656 y Fg(V)-11 b(ollbrecht,)19
b(et)i(al.)944 b(Expires)19 b(January)g(17,)h(2005)943
b([P)o(age)19 b(42])p eop end
%%Page: 43 43
TeXDict begin 43 42 bop 0 100 a Fg(INTERNET)-8 b(-DRAFT)970
b(EAP)21 b(State)g(Machine)949 b(July)20 b(2004)149 390
y Fc(RETRANSMIT2)945 b(|)1046 b(|)1644 490 y(|)149 b(retransCount)48
b(>)199 b(|)398 b(TIMEOUT_)149 589 y(retransCount++)795
b(|)249 b(MaxRetrans)297 b(|)398 b(FAILURE2)149 689 y(if)50
b(\(retransCount<=MaxRetrans\){|)1041 b(|)249 789 y(eapReqData)48
b(=)i(lastReqData)197 b(|---------------------+-----------)o(-----)249
888 y(eapReq)49 b(=)g(TRUE)747 b(|)398 b(else)448 b(|)547
b(IDLE2)149 988 y(})1445 b(|)1046 b(|)149 1088 y
(------------------------------+-------)o(-----)o(-----)o(----+-)o
(-----)o(-----)o(-----)149 1187 y(RECEIVED2)f(|)299 b(rxResp)48
b(&&)299 b(|)1644 1287 y(|)249 b(\(respId)48 b(==)299
b(|)249 b(AAA_REQUEST)149 1386 y(\(rxResp,respId,respMethod\)=)145
b(|)249 b(currentId\))297 b(|)249 1486 y(parseEapResp\(eapRespData\))
145 b(|---------------------+-----------)o(-----)1644
1586 y(|)398 b(else)448 b(|)398 b(DISCARD2)149 1685 y
(------------------------------+-------)o(-----)o(-----)o(----+-)o
(-----)o(-----)o(-----)149 1785 y(AAA_REQUEST)945 b(|)1046
b(|)1644 1885 y(|)g(|)149 1984 y(if)50 b(\(respMethod)e(==)h
(IDENTITY\))f({)i(|)448 b(UCT)g(|)398 b(AAA_IDLE)249
2084 y(aaaIdentity)48 b(=)h(eapRespData)148 b(|)1046
b(|)149 2183 y(aaaEapRespData)48 b(=)h(eapRespData)98
b(|)1046 b(|)149 2283 y(------------------------------+-------)o(-----)
o(-----)o(----+-)o(-----)o(-----)o(-----)149 2383 y(AAA_IDLE)1095
b(|)249 b(aaaEapNoReq)e(|)398 b(DISCARD2)1644 2482 y
(|---------------------+-----------)o(-----)149 2582
y(aaaFail)49 b(=)h(FALSE)746 b(|)299 b(aaaEapReq)e(|)199
b(AAA_RESPONSE)149 2682 y(aaaSuccess)48 b(=)i(FALSE)597
b(|---------------------+-----------)o(-----)149 2781
y(aaaEapReq)49 b(=)g(FALSE)647 b(|)249 b(aaaTimeout)297
b(|)398 b(TIMEOUT_)149 2881 y(aaaEapNoReq)48 b(=)i(FALSE)547
b(|)1046 b(|)398 b(FAILURE2)149 2980 y(aaaEapResp)48
b(=)i(TRUE)647 b(|---------------------+-----------)o(-----)1644
3080 y(|)348 b(aaaFail)g(|)398 b(FAILURE2)1644 3180 y
(|---------------------+-----------)o(-----)1644 3279
y(|)249 b(aaaSuccess)297 b(|)398 b(SUCCESS2)149 3379
y(------------------------------+-------)o(-----)o(-----)o(----+-)o
(-----)o(-----)o(-----)149 3479 y(AAA_RESPONSE)895 b(|)1046
b(|)1644 3578 y(|)g(|)149 3678 y(eapReqData)48 b(=)i(aaaEapReqData)197
b(|)448 b(UCT)g(|)149 b(SEND_REQUEST2)149 3778 y(currentId)49
b(=)g(getId\(eapReqData\))e(|)1046 b(|)149 3877 y(methodTimeout)48
b(=)747 b(|)1046 b(|)249 3977 y(aaaMethodTimeout)595
b(|)1046 b(|)149 4076 y(------------------------------+-------)o(-----)
o(-----)o(----+-)o(-----)o(-----)o(-----)149 4176 y(DISCARD2)1095
b(|)1046 b(|)1644 4276 y(|)448 b(UCT)g(|)547 b(IDLE2)149
4375 y(eapResp)49 b(=)h(FALSE)746 b(|)1046 b(|)149 4475
y(eapNoReq)49 b(=)g(TRUE)747 b(|)1046 b(|)149 4575 y
(------------------------------+-------)o(-----)o(-----)o(----+-)o
(-----)o(-----)o(-----)149 4674 y(SEND_REQUEST2)845 b(|)1046
b(|)1644 4774 y(|)g(|)149 4873 y(retransCount)48 b(=)i(0)697
b(|)448 b(UCT)g(|)547 b(IDLE2)149 4973 y(lastReqData)48
b(=)i(eapReqData)297 b(|)1046 b(|)149 5073 y(eapResp)49
b(=)h(FALSE)746 b(|)1046 b(|)149 5172 y(eapReq)49 b(=)h(TRUE)846
b(|)1046 b(|)149 5272 y(------------------------------+-------)o(-----)
o(-----)o(----+-)o(-----)o(-----)o(-----)149 5372 y(TIMEOUT_FAILURE2)
695 b(|)1046 b(|)0 5656 y Fg(V)-11 b(ollbrecht,)19 b(et)i(al.)944
b(Expires)19 b(January)g(17,)h(2005)943 b([P)o(age)19
b(43])p eop end
%%Page: 44 44
TeXDict begin 44 43 bop 0 100 a Fg(INTERNET)-8 b(-DRAFT)970
b(EAP)21 b(State)g(Machine)949 b(July)20 b(2004)1644
390 y Fc(|)1046 b(|)149 490 y(eapTimeout)48 b(=)i(TRUE)647
b(|)1046 b(|)149 589 y(------------------------------+-------)o(-----)o
(-----)o(----+-)o(-----)o(-----)o(-----)149 689 y(FAILURE2)1095
b(|)1046 b(|)1644 789 y(|)g(|)149 888 y(eapReqData)48
b(=)i(aaaEapReqData)197 b(|)1046 b(|)149 988 y(eapFail)49
b(=)h(TRUE)796 b(|)1046 b(|)149 1088 y
(------------------------------+-------)o(-----)o(-----)o(----+-)o
(-----)o(-----)o(-----)149 1187 y(SUCCESS2)1095 b(|)1046
b(|)1644 1287 y(|)g(|)149 1386 y(eapReqData)48 b(=)i(aaaEapReqData)197
b(|)1046 b(|)149 1486 y(eapKeyData)48 b(=)i(aaaEapKeyData)197
b(|)1046 b(|)149 1586 y(eapKeyAvailable)47 b(=)648 b(|)1046
b(|)249 1685 y(aaaEapKeyAvailable)495 b(|)1046 b(|)149
1785 y(eapSuccess)48 b(=)i(TRUE)647 b(|)1046 b(|)149
1885 y(--------------------------------------)o(-----)o(-----)o(------)
o(-----)o(-----)o(-----)0 2264 y Fe(Intellectual)31 b(Pr)n(operty)f
(Statement)0 2550 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 2649 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
2749 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 2848 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 2948 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 3048 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
3147 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 3247 y(of)j(this)h(speci\002cation)e(can)h
(be)g(obtained)f(from)g(the)h(IETF)g(Secretariat.)0 3446
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 3546 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 3645
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 4025 y Fe(Full)31 b(Copyright)f(Statement)0
4311 y Fg(Cop)o(yright)19 b(\(C\))h(The)g(Internet)f(Society)h
(\(2004\).)j(All)d(Rights)h(Reserv)o(ed.)0 4510 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
4609 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 4709 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 4809
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 4908 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 5008 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
5108 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 5207 y(translate)d(it)h(into)f(languages)f(other)
g(than)h(English.)0 5406 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 5656
y(V)-11 b(ollbrecht,)19 b(et)i(al.)944 b(Expires)19 b(January)g(17,)h
(2005)943 b([P)o(age)19 b(44])p eop end
%%Page: 45 45
TeXDict begin 45 44 bop 0 100 a Fg(INTERNET)-8 b(-DRAFT)970
b(EAP)21 b(State)g(Machine)949 b(July)20 b(2004)0 390
y(successors)g(or)g(assignees.)0 589 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 689
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
789 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 888 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 988 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 1368 y Fe(Ackno)o(wledgement)0 1653 y Fg(Funding)d(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.)944 b(Expires)19 b(January)g(17,)h(2005)943
b([P)o(age)19 b(45])p eop end
%%Trailer

userdict /end-hook known{end-hook}if
%%EOF

PAFTECH AB 2003-20262026-04-23 01:56:02