libidn.ps   [plain text]


%!PS-Adobe-2.0
%%Creator: dvips(k) 5.92b Copyright 2002 Radical Eye Software
%%Title: libidn.dvi
%%Pages: 85
%%PageOrder: Ascend
%%BoundingBox: 0 0 596 842
%%DocumentFonts: CMBX12 CMR10 CMSY10 CMBXTI10 CMTI10 CMTT10 CMSS10
%%+ CMSL10 CMSLTT10 CMB10 CMTT12 CMTT8 CMR9 CMTI9 CMTT9 CMCSC10
%%EndComments
%DVIPSWebPage: (www.radicaleye.com)
%DVIPSCommandLine: dvips -o libidn.ps libidn.dvi
%DVIPSParameters: dpi=600, compressed
%DVIPSSource:  TeX output 2005.12.03:1139
%%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: f7b6d320.enc
% Thomas Esser, Dec 2002. public domain
%
% Encoding for:
%     cmb10 cmbx10 cmbx12 cmbx5 cmbx6 cmbx7 cmbx8 cmbx9 cmbxsl10
%     cmdunh10 cmr10 cmr12 cmr17cmr6 cmr7 cmr8 cmr9 cmsl10 cmsl12 cmsl8
%     cmsl9 cmss10cmss12 cmss17 cmss8 cmss9 cmssbx10 cmssdc10 cmssi10
%     cmssi12 cmssi17 cmssi8cmssi9 cmssq8 cmssqi8 cmvtt10
%
/TeXf7b6d320Encoding [
/Gamma /Delta /Theta /Lambda /Xi /Pi /Sigma /Upsilon /Phi /Psi /Omega
/ff /fi /fl /ffi /ffl /dotlessi /dotlessj /grave /acute /caron /breve
/macron /ring /cedilla /germandbls /ae /oe /oslash /AE /OE /Oslash
/suppress /exclam /quotedblright /numbersign /dollar /percent /ampersand
/quoteright /parenleft /parenright /asterisk /plus /comma /hyphen
/period /slash /zero /one /two /three /four /five /six /seven /eight
/nine /colon /semicolon /exclamdown /equal /questiondown /question /at
/A /B /C /D /E /F /G /H /I /J /K /L /M /N /O /P /Q /R /S /T /U /V /W /X
/Y /Z /bracketleft /quotedblleft /bracketright /circumflex /dotaccent
/quoteleft /a /b /c /d /e /f /g /h /i /j /k /l /m /n /o /p /q /r /s /t /u
/v /w /x /y /z /endash /emdash /hungarumlaut /tilde /dieresis /suppress
/.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 /ff /fi /fl /ffi /ffl /dotlessi /dotlessj /grave /acute
/caron /breve /macron /ring /cedilla /germandbls /ae /oe /oslash /AE
/OE /Oslash /suppress /dieresis /.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: 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: 74afc74c.enc
% Thomas Esser, Dec 2002. public domain
%
% Encoding for:
%     cmbxti10 cmff10 cmfi10 cmfib8 cmti10 cmti12 cmti7 cmti8cmti9 cmu10
%
/TeX74afc74cEncoding [
/Gamma /Delta /Theta /Lambda /Xi /Pi /Sigma /Upsilon /Phi /Psi /Omega
/ff /fi /fl /ffi /ffl /dotlessi /dotlessj /grave /acute /caron /breve
/macron /ring /cedilla /germandbls /ae /oe /oslash /AE /OE /Oslash
/suppress /exclam /quotedblright /numbersign /sterling /percent
/ampersand /quoteright /parenleft /parenright /asterisk /plus /comma
/hyphen /period /slash /zero /one /two /three /four /five /six /seven
/eight /nine /colon /semicolon /exclamdown /equal /questiondown /question
/at /A /B /C /D /E /F /G /H /I /J /K /L /M /N /O /P /Q /R /S /T /U /V /W
/X /Y /Z /bracketleft /quotedblleft /bracketright /circumflex /dotaccent
/quoteleft /a /b /c /d /e /f /g /h /i /j /k /l /m /n /o /p /q /r /s /t /u
/v /w /x /y /z /endash /emdash /hungarumlaut /tilde /dieresis /suppress
/.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 /ff /fi /fl /ffi /ffl /dotlessi /dotlessj /grave /acute
/caron /breve /macron /ring /cedilla /germandbls /ae /oe /oslash /AE
/OE /Oslash /suppress /dieresis /.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: 09fbbfac.enc
% Thomas Esser, Dec 2002. public domain
%
% Encoding for:
%     cmsltt10 cmtt10 cmtt12 cmtt8 cmtt9
/TeX09fbbfacEncoding [
/Gamma /Delta /Theta /Lambda /Xi /Pi /Sigma /Upsilon /Phi /Psi
/Omega /arrowup /arrowdown /quotesingle /exclamdown /questiondown
/dotlessi /dotlessj /grave /acute /caron /breve /macron /ring /cedilla
/germandbls /ae /oe /oslash /AE /OE /Oslash /visiblespace /exclam
/quotedbl /numbersign /dollar /percent /ampersand /quoteright /parenleft
/parenright /asterisk /plus /comma /hyphen /period /slash /zero /one
/two /three /four /five /six /seven /eight /nine /colon /semicolon /less
/equal /greater /question /at /A /B /C /D /E /F /G /H /I /J /K /L /M /N
/O /P /Q /R /S /T /U /V /W /X /Y /Z /bracketleft /backslash /bracketright
/asciicircum /underscore /quoteleft /a /b /c /d /e /f /g /h /i /j /k /l
/m /n /o /p /q /r /s /t /u /v /w /x /y /z /braceleft /bar /braceright
/asciitilde /dieresis /visiblespace /.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 /arrowup /arrowdown
/quotesingle /exclamdown /questiondown /dotlessi /dotlessj /grave /acute
/caron /breve /macron /ring /cedilla /germandbls /ae /oe /oslash /AE
/OE /Oslash /visiblespace /dieresis /.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: 0ef0afca.enc
% Thomas Esser, Dec 2002. public domain
%
% Encoding for:
%     cmr5
%
/TeX0ef0afcaEncoding [
/Gamma /Delta /Theta /Lambda /Xi /Pi /Sigma /Upsilon /Phi /Psi /Omega
/arrowup /arrowdown /quotesingle /exclamdown /questiondown /dotlessi
/dotlessj /grave /acute /caron /breve /macron /ring /cedilla /germandbls
/ae /oe /oslash /AE /OE /Oslash /suppress /exclam /quotedblright
/numbersign /dollar /percent /ampersand /quoteright /parenleft
/parenright /asterisk /plus /comma /hyphen /period /slash /zero /one
/two /three /four /five /six /seven /eight /nine /colon /semicolon
/less /equal /greater /question /at /A /B /C /D /E /F /G /H /I /J /K
/L /M /N /O /P /Q /R /S /T /U /V /W /X /Y /Z /bracketleft /quotedblleft
/bracketright /circumflex /dotaccent /quoteleft /a /b /c /d /e /f /g /h
/i /j /k /l /m /n /o /p /q /r /s /t /u /v /w /x /y /z /endash /emdash
/hungarumlaut /tilde /dieresis /suppress /.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 /arrowup
/arrowdown /quotesingle /exclamdown /questiondown /dotlessi /dotlessj
/grave /acute /caron /breve /macron /ring /cedilla /germandbls /ae /oe
/oslash /AE /OE /Oslash /suppress /dieresis /.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: 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: CMCSC10
%!PS-AdobeFont-1.1: CMCSC10 1.0
%%CreationDate: 1991 Aug 18 17:46:49
% 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 (CMCSC10) readonly def
/FamilyName (Computer Modern) readonly def
/Weight (Medium) readonly def
/ItalicAngle 0 def
/isFixedPitch false def
end readonly def
/FontName /CMCSC10 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{14 -250 1077 750}readonly def
/UniqueID 5000772 def
currentdict end
currentfile eexec
D9D66F633B846A97B686A97E45A3D0AA0529731C99A784CCBE85B4993B2EEBDE
3B12D472B7CF54651EF21185116A69AB1096ED4BAD2F646635E019B6417CC77B
532F85D811C70D1429A19A5307EF63EB5C5E02C89FC6C20F6D9D89E7D91FE470
B72BEFDA23F5DF76BE05AF4CE93137A219ED8A04A9D7D6FDF37E6B7FCDE0D90B
986423E5960A5D9FBB4C956556E8DF90CBFAEC476FA36FD9A5C8175C9AF513FE
D919C2DDD26BDC0D99398B9F4D03D5993DFC0930297866E1CD0A30EB76029337
900ECFB1390CA5C0C3A04528044F266BA17BE487C79B94FAC6D6484684C5BFEA
87BCCC77D40AD11552035E95E3007126418ED49B68468B38A14E88E68A267B98
076F1C9769A5AFBC285E5B158EAC9F926F1D6C0B8F1D57D9C31D25AE27123518
9D2CD92E5689E0213089BD268DA5E47525CB8EABAA4B78A15AEA34705889AB3A
FFB8953B5B3482E52BFA0940630ADF8C0AC2177D907324299EE980E850F203CD
B627962F43D5A678C44243CDE97853BDC6AB45FD5C09AD274DAF89929F583CC9
CCC24BDFC68B92111055ABA5F26D2DC67C70906F71C2957701D65AE746A60C30
40E6CB24B97FCDAD0487AE38A201FBF0E41BABD2181981A71940F1E707F91E5D
C8CA50CB16D8702D188E56D014D92F76CE0B52ABDB9110E32438D2BBF3E6A40B
7B005F10BB437812CAC6ED2996F7606DC962C4FDE207FF322782C343DF44CEC5
FF06A55C630C20E9AE1B0D1C5673753C43BA0767D65D1B451CC6380D8BB3C4DC
81E8FD8AA79BE993218686F29D3CD925566DD587F541A0DA1B1CC3BCEA2E6C7D
5E1016F6917A871F1BBAD96AF9E867735017119A381FCF33EB2D3E1E7093FD90
CDB0CED4818CFD9E201A03430CEC713620BE0D3254158931FB657C6877C1B3D2
24030F377820DA58F4B95CFE645109F3F1B80DB5FACFD7D05AE2909EEFCF95AD
9CB286C8B6C075CA2267C101B736139863186C193E31085E7C9FD88EF8BBECE3
933542C85309013325B4BBFE9A5B606780C8580ABDA2F5D0064EBFC23939B307
08568C3B7F5F053BF367DEBA349FABB9F760C44D100BDEEFBB01F27BFC61F886
A05B2870FE72E963C4A8189809A2B2CD9FAA7F16449612753E497511227DC378
14FF12E39E88C5918082D372E253B61C7538BB00D130E9AD5E26A039A33D0694
91AA4D2571A3565782107291BE4D4B9AAB3DB1EDF984D5B64217EAA28D8B2F19
A645B4FA969DFFE2F64F1E2F0ACF92E01DC32E02769E040D6F59F707E2441238
C7973B0E5752A0F3B7C7E328F5AEA0BDFAACEB66018CC5D7CAB286824D7F2364
AFAE8FDF6961641A5790B923DBFE0F908E38FF0695FEA7BFE993EE6B8D0CA848
B7062133BBF02A6B1750F1E4B8C4175BDA65A6FEE6CC47E0BE9A2EE144103A08
F8903F8F494D6604A0BD7C2A298C06F30C4D90DEF3D2364C85667CB0DF8B6C2A
956CBE240FDE42B27B08C8787D9D3BC807FE4E4E9C0733CABDF626577589671E
64116BD5A69FCD6500B63EC97C57B9E0DF00BE29664C4C17F899339AEC17685D
FD335BD8FCD875C7101451A5FF3DA0AA8D7619188EAD019351F412D77BF4CB86
7FA1BEE9FD546AE66D3B7BF35E10DB852592D917720577FB917238FDC282CA2A
C139DADF9F3423E419C530BC6B8FBA73733BDFD5535C20EC95418A5C303F328B
401E5EC69CFFB2B8A28510E5F4A9435361E9AF3CCB067801B766A143D489B355
F541FF1E1F32C5E17BBD9A6131150955B35B63FDAA564E70413A7308B1ABAF2E
6D87D9A549DE51A62204343CBC7D7A38ECC5D154A01A4A7054CB6937BD77D357
05DAD31FD5B8B38450075277ED6614EC89564EAC1AD2F586D062F21EA6D52BAF
133C280E1DD6C3754C31BB3CEE7E6DF43DE7E15E0223AEA7A016B09200463C1C
9A361B95AA360DF3B174BFCED0BC1C6EE261D64AB20D2479A92702C00B7A5DEB
C9E262B1447CBD53DADB8C11C6C68D1A3CFB6902F3D37E85F4F05588E6F88D64
0E53CC634BAD0BA1EE0F16E7466317DDE2E6521F5B4B9AA68094FA7E62688890
46FE6BFD6F0F733BCBCD75BB8B7605A2BA832278988F068A879872395797DCC3
91C47345BA010403760752E140D5281B766ECE69A1D3774B21A3594057C1492F
DFA0BC409A1F6CB9258E4B61FEDC26CFDA03E0C6A827886B52E9EC7B6A99F200
115678FDB267140368ADF66F503FAA7057
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
cleartomark
%%EndFont 
%%BeginFont: CMSLTT10
%!PS-AdobeFont-1.1: CMSLTT10 1.0
%%CreationDate: 1991 Aug 20 16:41:43
% 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 (CMSLTT10) readonly def
/FamilyName (Computer Modern) readonly def
/Weight (Medium) readonly def
/ItalicAngle -9.46 def
/isFixedPitch true def
end readonly def
/FontName /CMSLTT10 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{-20 -233 617 696}readonly def
/UniqueID 5000800 def
currentdict end
currentfile eexec
D9D66F633B846A97B686A97E45A3D0AA0528A405DF15F03DB1C3DA8B850431F8
0E5F73DAC973450D1ED0530313057E971FC7E7CA88E61DA6DB9A5CD61F0F76CB
4DE9105D0627B8DDF51A655098229920CF429CDAFC3F7788C95E7AB30E84F840
8CED52E98DB4CFF161D2E62B0D28CB8B0AC82E7A8D2C007953BAFB3056D66079
8064956E257D31C13509FB81A250D9E875C77A4E91CC49E9FB3C0718B2F691D4
B4A64F351F4DD68133DED7629B0D96E5124584A16FD2AC7A3EB244A934FF059F
ED7297B0505F3C2994AD66A3CA5D2728B034DE94B64A8AFAF341601BD4DB5858
C9950A8BB9C598B8960609F48116ABA8C007190AF0ED335EB5BF61BA6871FA5F
EAB5A26AEB5C7C352EB80799CEB983F19EEFA801093F62086AADD0B80BB6580F
2CF61B1390FA56DFA1A0B61C58DEF96BA767A8A37EA44730783C600706606C60
4EE74EA99B7C0F8E2525C8847F3D31907C3C483EFA98F6C416B6B2C343DE6370
52FAE423008D086A76A1FFB327CC7FD84B1C66B203A4F41582F4599A82F8362D
38108452EACCC937FFC4F3ABBFE3628DF51367DA6BA3F6826FC6522D6AC5E8EA
00BAD300FFB6DEDAB93237704202BACD030AA824B1E97C0AFE17FCE8C75F4FA0
B8A74329A6CF1788C7EB34DA7307411E9AD7ED8D6582884456E06E033B4FFE7D
CD4DD8B06AD01340CCCFBC382C18CA451E4C886B01D082FF8CC5793F4727C3DF
B52B4F1A242F31D1EB79D1E39A1D4FD13D6C5E2A42AD4B4D1CC4EE7BA0E5F80F
802E5AB57EA15F4DE44D82AC408AA86D4BF58EF967FBC6497BBC7F017C0598AE
32CF865DFFF0FC7FF9E6DCE9B5F2F4C7491AC674F46E8E7660452CE0A77C1EE8
00DE382ABED85350033F8ECB97398E4E0A75D4877A107F6A909D0C76D14F9A96
8A6CFDE3FD9D79B6FD82693A9F354BD2ECF30C6D99F7AC522F8D6C93EA214F7B
3D0ED77F042ACDE9414264C0698E86398562E2C640DEBBA0734AB4C3ACE3907D
CC79E6B2C6C3C3F9B01526E8CD98237D4A9B403FF8CE3132222FA60C196A19BC
A2393AE6935C0F8B67FC1D1A12A38FFE95A66EB02C0FC15DF80611EC5F766065
C2F919D30115E4B9B2DF8E06119C2D412BE014B3250E6C19EFCA872A584AA020
8F164DA7F2EB28C7482E30355FD7F4D748370A8E0765BC18D8B02C593422CC9E
2BB241D1D6B25BC33ACF6DF52252D220C56729205B93A091B50B6950802C4AE1
A40FEC3B01F1893EE9AEC02D7D238C5F777B09A64ED97C40F65B0BDC0FD86071
85CFD0535AD50DF7CB998CD57531016A50C6FE0491B8AF86FA06911D4D41CA44
E66D39C6D922D1CAE808DCCC8465E5F4535A20223227982AAC9AFEF0B93F1949
51210B3E1C00DC3162385E641B2B39C78111CF5A22E6DDA34C544E3DBE69B2E8
01E1D210DE6109AB63B82C4423DBD65DDD6267421B0098FEE41043721B061866
3B94FBC877D92124C1B1946A67B163CE0926D80A8FB1168804DD07A58E9B88C8
7F95FF44BA0A7D765BDCA0B7D78A82D9BA76D916E24BCFC5F99E874423C3D0FC
F25254071271415A51425372B990CB341CCF507C4184EE044E2977D504B72D66
82D98EF7A8F6B228DEDEC6E580EA66F131010CDB0F410009AD324C5746F0687A
53F252F9C5816D8F7DC2531ECBBCCE77100F1B45420D3D5D17EF23EA3FB5B28E
17485AAFB0A84B9E2A8409FCFCDBC14F6023D3CDC5F6050B26D0A4C2F8A348FA
B242D018A7109B1E7E74BF83D9DD31F8C0ADB922EA778A5F22269B83AA935F06
96ED8AE63F3A38097E9742F6F86AC3AC02E0C52FE5B3187CCF376D75C160CF24
323E6AC504389C86AD376B5F7C8EDF8ABF062CBF42F26B337AADDAA6BC8BF6F2
88E12EA2D2D72FAAB44A7EB77B1BEB805FA0F17463200436554F24ACCADB73A4
F128E851A5895CA243E0B7E9698CE2B8B7EFAFEEC803760F1E195ABE25B94505
BBDDBF646C5D0DF0848DD7DDBADDA7517D72B5F08341B62D40CF66A8DD4BA371
A06C5A69BF65DDACD42ADE4B8AFCEAEA54F96160BAD5F265BECF5F7C0161BCE2
CBAA9401A15454D5677F4BD1082FD70709121F94EEC9D20E7203EF5B677B0DC1
5F322302E6A1337419864B0FF4590858BD2D48448449A0C56628D58EE84CDD9C
9F53E26A5B5C81DB56DA354F211BB58CF3CA6743325EABD507DC120D4B3D3634
97C37CF7B4F08E4DAC750DAEE488F315A8CB075978E8515C2998B0BF0F88870E
99FB7CBA579B359EB10C559A5B82B805B71A784C519D59E4181428337E2320F7
47A1A962FCECBBB7A20A73BC49CEDC8C2CB18BA8356CBF473A20170CDA6043D9
0D827D7A2F84B9DFE100C51B1E074DA6DD4CFF111BEB5092085F5F4E9D5F27F4
225617089AA74BD761047374CDCC50BFD1ABFAA1833C8C595824B8DDCDA89AD7
A09BED961FCF3AA7D2214A5F7E6BE8D5245E2DA5B4156AEEEA9DBCCB982FCF67
FCF11E687878F4E631F22CB7C5D2FF47883FAFD90F3AE940B9E06B783A9A62ED
FB3376A975019AE256AAF6FB720F9248A196449569B9E2FB0FDAAC7E41A3E63D
CBDFB04F7B86EA896A8B15B4A1AC5C006CE20E8B8FC2CB07F279B7A3C10457CB
37DB0C136F48E0FADC1BB30C0D6EE275B2E6C622DD03221484255A246E3FDF7C
CDCC4420629446257B69BA6AF63563F20C8BC01EDB150C1E4C647E6D4B839BFC
0069B108979FC6C4130A993A311771D12AED3D3BBE038C1408F4F0EDB4ADB0B9
F2B15CD05AC89FC1258DBFAB025D3307D6511A022B62C55C243C986D6733C137
6A9D1D962A0410142638104AA163448A75EA08C4B8A888AFD59A1259E998EC4C
B6082A1A551321553D60ED640964A7A6A90B9F69D2AB50C87B605D1E5C8C5645
CD1DAAC077020E3F728FA64BED2CDCBCBEE120183EC7E91F520D5CE4C0F56CD6
607C74BCEDFC98328E7E40F3C068F077F8F0751C1521D970E933904BBA328A5A
CF258BC044CB98EBFC5F8A769153D604AA2C2CBB194C87745340FD1B9ABF5E51
910813F51E093515CD87CE3D35670374B8CAA043422E1DC5952DFFBBAF7E39C3
58266C99E53AA6F13C9E4ED914668AD6EBBAEBD23B174544A8C5E8194130C9DD
487BA1ED33DEDCFB1DA3094ED90B2EDC7322B06B806981249EFED81BBED50A3C
1F61B7956AAAE19876EDFB712D864993C8FF3E1652EA1E49F185ED30DEB08191
3576ED39E736A040398574CAECB8EC40E3B94DC20668FFB7FE41DE9D03AE283F
6EF225CB0A8986E99E37F1552ED063250D99318D39D6FD5FE6674053A4C6DF44
DEA34EF42FDE894D55AABBEC2554C46CFB70E681F0C403B086748387C83D6F71
C96B1E8056FBEB245B3DEFB1B607E74B51E21DFB9A8FD94C9795F45EB8B91F6A
4B63CC3FDA0A76244B1BC29F2822F987EDC5C4B2DC92FF8743733B93D089C9AE
ACD96240588AC68429787239019FAC3FF62DCBBF1E4EE1256351B599C591ADBE
FA03E538BC26C6DFD6BC23A0B474B4029E7D12F29130E56C4A45F6A629F5487E
69FCDFA96DE4673E16FF2BA01C8B6AF4070DCF169FD53BC58692FF1EC6459254
60CF317C9B1AC883182CA39E2BFAAA044B221694934B4B09AC186C87DC03C225
6EBE47DECCCE9B3A8BFC16632044070FD12EFC2282260C926645E483AEA01E61
7531B7D24DB48EE833EA767325D39A7515693321745DECFC04392492D82D37F9
A94CEC8BB222FC63C9E5181BBD3E5E415E665D9A8EF90A1E36EFB51C4F38B398
F2AB969203BFD8FD30B3EF5B0B21FD85521A03C886AB0A0B88254A3C9BF03B9A
677BCF2C5EDAA35A020F92C9794A77428916B2CBE75F27F97FA6AC0B155132D7
0D29CDF8E12708736C8CC18D90A63F859082A819CD6D577C9F1314970D9BAF7A
6DF5826870E018AA9FF5BDFA067828B38FE84D5D5BCFF6A53777C4190B768511
A126A5DF1E5C5D1A16692FC02CB80E6BD3451A637D1821AC7BDCDA808D72C5BB
C64D94BD5FB1F06CB2BC6081D7328051BAE08CDAC321A48D7E3C02BE1D3D1377
61C9535B8E2100B817DD1F07693F0270E40041234C2D8846AB0518060EAFBF8B
A59BE72D2BAEC6EC59BFCD400C32F48D8D35339989BC95C2B317B666F414EC12
253ECFBB8AF78C513F4A747A5A79C0544AAB7F7A9F3413F5D91CF99F51EF8341
BBF3A84C3019FFB3F28AA48F1D87871D026369E6A0BFA296262EE2A65E4ACA09
1AFCD0C1F3043C333C6BB31B7257CA3DB4746A80865E4255CF40FD1E029E644F
BF345B2210BCF532A37C28BE20DF6F2BB81E919175FAB36A626256CEFD870710
E1550F2847337BC8395666BA10D61B09A6AF4968C60C772471F956F9C03DB7C5
AB15DAB8FDC5F72975358B8804F0FEA01F6D4B9128D8DA6B2DD541F58285C5EF
35C214839F2A5ECB14251A6C2FC3859F7509AE779F4878F452B12FE4F78CFB72
F098CBC4E6B0DD672DD615A757F2679F5D8D3A4B6E1526887B28D83D5358850F
4E28D691E7631A9049AEF3F3767BF027E841902694643B9BB27D3953C4456FB4
9ADE84261546F1D93F33D5FE8160DCEBEEE0EFE5EF366934EF19245A18EC451A
9C5254E4C0BED9948ECC53E60BFA1C2D376616F6BCF85008CC31165C854FB96F
857CF6242330FB483001001184512AC019AA8905DF23F06D0B7828791461A36F
1E08C0E36F059B6DBC443AE32018BD181C2277AD9D7F374D613170C86416334D
D1BFC6AF96E1AC36C836EB7CCD159EE970C7922FF5F58643B9501502AC6B54E8
515CE45E621F8140E5DCB0CCB7F00F38DA2E1AAF4164C66B9961C9363027FF19
05F762E796B93E3689EB2A97C37DB969C07E1E39F53CB4128101EA083631EE5D
F8363B28077E2085842CAC9EA549B2072167FD6EDB80B8BE1B6D61481F25B9EA
A584D5A477DE0596D47E8ED89FC7DB85544D5A840BF6441EC9AC68AE495E8F47
A120979C0CD25FFB7F4ADAB4D131992EBACEA1DD5DE834F6BEA84D13BD539E20
70199505E2BB089C617D25F54CB7F73252547156A4E575BBBDD6F75149B4E5B8
E85FCCA0FA5EA8C241B6C1504FD9134C7B22DA8180BCC558A72208F1209519E3
5E4C6E32F83D5F876699A48FCF0DCCF44FC06859E517B2C25BA00A8B85F0E301
D2A17E9D59F9CFD15C0F0E66375B1F6BDC500E02175EA8E50266A1C3B8BD23BF
12E79DEEE2AC1D4CA48C8D62AEE598E79C8A522C66A4FF1A1DF757C48E4E525F
ED6817933D4E872722CFDC18D3CF57442CBCFE57C59BA41265E0719D7677E26C
25E4611AF1D70FB3C5EA88380840116D561C8BBA7D1388FD9E183C82AD7776C2
59D0620F597AA45A9A345D8426D02C81D56F9740FCC8EF5EA6354D526D44A019
E9B1739BB02CC3495717DFC46C6E71EB0AE07E6715E1ECDBF7E1F5BE597B6CAD
E2EEAD219DEF40051D26326B93D8AA7E3724D7998A1B0745893CC9A0C02332CF
8C09C7293E2F23395F8B7922F766080AA7B0B0772861974D3F347B8DCC6FF52E
B3A1CF1E78F1867E80A93722A42BDAB4EB759CE89389080339644098F0321C17
8D3D3F7DFCBBD6CED71E05FAE86646FDC421D265ED7437927A2EFBE0CF11AD4D
FD4135631614A4307ECE4AA7BE08B089FFE2DBA93BF5ED7457698B7ACE22AA55
30AB9EB53BCBF034B1D22B8DED5FFAE9C7B8B484007C614A13C35260D81CDF80
E0501C2498C2ACAEEF03DAD15211E4287354D0BD7C57C6571AC023B708260AEF
86EA021722DC6113833C25790FABCD5C20822CDABFA4E5240B9B972F843C5FBD
4BF144920464967F50213B582DCDB5815A8D5E334A3DB9D59231B72BD6BAE237
D9030017A33A6EB979ADE115EE6A215B6AB11B9B310BF94C0F88C766C52B07D7
911DB37A54F9370509F88B43436A762755FA06A4E9BFCDEA7F6C22EC678ABDC7
0BFFC7BF150E980DF0260037EEC518686143659E3C3266E02C122B69B56D58F8
8593FCF82E1DFFB6DD26F11AE382C59A10FF02F4AF78FA0CE4A2283C46B32B57
A1499738C3F96168EE551B6CAFBB1C827AAF2FB9661FF1596891C5E195ACB9B2
94B4C1A430B23A4B30F4745D583BA753F3BF148D16741279A815082B7B31545C
63201DAD0F57C343DC98CA69130D9C25F0C71B7F6E95DC1DEFBD4010B9D70AAE
4237546BAE5525B4E229E54D4DD463DA111899D4F85C7E727998B36730D17AB1
117DEF21C2CD57C096C1720E10B8D59FA10D9F19FC4277F4DA8B48B9FABEDD58
09BDFF73AD60D0E5BB306E304F166751A8F48467E010637F884217DF3A6FD188
AC947911F550C212869ACBEEBC5746C1DAF22A125C43DD29CD02774DA9365E3F
A4BF77A5CDC291373935D632E8B07082120DCC312E158D355C0E8AAD26363B56
BC45360DE5846AC61F7625A2609DB34CD3485B602CD134008D0074F207294CF5
7519987EE1C5A7B26340A4392DE0FC79FE7A6A8F4265DC842D7BDAC7CA209148
53E63A45E6FE13B0BB8E4BCCE822D2D0918118CAC34A175A5DCA7FC1C6DF7422
9FD94C3C79A0F10A818E8AC15CEDD5AF3CCA4A3274C677B6C0FFC22C1F04E85E
87E8649DD07A943E939DB2B0C9379DCDFB61B3CEAF7CE841FF71E0B0A089B287
8A942EC8D603BED18EA74B684CEC2C0CBD447AE5970E7033458A9332F5AC1264
B72523C5C9C4CA5F69007A23E7A6BD045BAEA55875003F7366127204D4BA1B10
0E07F991B48DCC6961101502C12D3B555DD82BBD605B18A281244FB00A28131E
0245489EA450325408D60BC088B70AE5BEABD53899808503BA7D5464F37CE9AF
E66AB929236AE3C40A4B0123982FE7F32642B0CF4CD97725D1052C2E041ABB35
884E89D4B41159841B96C5C0CC702A657D998CFB41E53EEF9A030ED13AF70800
BEC30FC4E5E6B0E4C0A67A4EB98EDB480C4B8C925CE008AB99B4D4A0B43A3D8E
EDCAFEAF1533C1C2D8EEB4695D4DE181B4FCDB893DF84FAE558E6CFC33F9D2A1
E0D432E05A2CDD6FD8306C4C4B4EFD255B421B9DB727B36A649A93AA1EF8D635
E3DCF6750BF91B65BE42767D0668C4EEA2039AC4D07CBF04FC96E4063F8824DD
7ED6F09F13E086CCD73CFE70F2D002A3C37ED5251DA1F21D7EFF7DA4CBCFECCA
7B7CE736E75217028B76DB0E56FAA99B80A6C9B7C1B2D1C7B6CD1BFA6F0FF63A
AAE9E2160496F933124C60A739FDD86868C8024C1CA1473049F47CE59F3B118F
DFAE18F483E8D27C74C616B6068065703E39D544D32D3A1E126E4EE718E696FF
244F7BFE220205DD7FF6B875B854E9035F01B34F6245043414DD96D26FF92FA9
CA9C269D0747BD67CCE3F4FE25A73520A1312B52BB7C9CEF958E915E49CC6E12
E4D88202CDBF3C55165BF926AB8C48C65252435B4D558815CCE2A380A86E8966
835CDCB1BB91440E107B24778D2AD2E64AD6AA2FBAAC3C287DE368C9720AABB2
833CB80DDE605F3CFDD2AA3EC99E4BA5403ECE1A237910AA
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
cleartomark
%%EndFont 
%%BeginFont: CMTT9
%!PS-AdobeFont-1.1: CMTT9 1.0
%%CreationDate: 1991 Aug 20 16:46:24
% 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 (CMTT9) readonly def
/FamilyName (Computer Modern) readonly def
/Weight (Medium) readonly def
/ItalicAngle 0 def
/isFixedPitch true def
end readonly def
/FontName /CMTT9 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{-6 -233 542 698}readonly def
/UniqueID 5000831 def
currentdict end
currentfile eexec
D9D66F633B846A97B686A97E45A3D0AA052A014267B7904EB3C0D3BD0B83D891
016CA6CA4B712ADEB258FAAB9A130EE605E61F77FC1B738ABC7C51CD46EF8171
9098D5FEE67660E69A7AB91B58F29A4D79E57022F783EB0FBBB6D4F4EC35014F
D2DECBA99459A4C59DF0C6EBA150284454E707DC2100C15B76B4C19B84363758
469A6C558785B226332152109871A9883487DD7710949204DDCF837E6A8708B8
2BDBF16FBC7512FAA308A093FE5F00F963068B8232429ED8B7CF6A3D879A2D1E
2931CE5F5D18C658602059F07BE66E6EFC9239D7AB2FB8A4CBD41675B8ECF279
650C29E53B14AC0E392A664848C1844B1CECBB2D5CFB72D0916B675C9A9A1E35
F12696A6F628473C604A95376468E06E295AD6F76CEB939D94113532050B9D5A
D2F41A9EFB9424D986612313B89EFE9C8A71313340B248F6853B1EDBF02B7F9E
F447220FE131D7D54CFB8AA1281DBAEA73E665BACB1F164552CC0CEDB63BD4B1
4A9AE8AC6FA02242DBE8DA46B64B6BFC11762F0784F216FC8B9120D688D1705A
438B14F5E5DEAF2A98408B3B64620DE3732A4DAE6D08D5D97E34C75DAE19EABD
BA0796165C1151BCBFB1DF8D29A63A8300DBDB9E3323CB82D0337598B83F4F2B
A97CF5196D4D1CEC1EDB8966E548C0D9C194C932319610FB43EA1B86322FE641
AB48770FF13BD475A7267E142388563D1A400419C585B22A9886074687BEDF74
D905BE8EE440BA2ABF28EAB673399B7F129B9729DD5564C681954621903B84BB
CAF89AC5ADB2932472DF29ADA2BDBDB4D05F65F28F5F4C529613D61858E0074A
082A852710A62A147C966F2B85B51B0BE85F11D2057C66FDD61F6C5755367980
9F4DE680601D4DA41B46F8D2148450000413C27AA39B586B74B977B25F0FD3C0
4BA1EBFAFDBEC531EA1210365091671CE3C86A6D4BC591C37DCC02570042575A
9D24252D6E01A8603753934D7EA5CAC1BE4E5AD2BA047DE8F3983B23A8A1511F
B08D373B69E5076CE4300137B8805EBCC0AAB89BBB312A77835795E3C069322D
42C893A30AD739E2BDD299679B158F7493764F2321E3965141B5ED1C6F4765ED
F46D391A646B30C90002B1C461AEE79E5F094CACCA656CEA3DB921CC5205F328
A2C69F817061D6C60B121EEE844CA5008F23DF0989F1C958EB5901E45C2D6F4A
19C2AD9265965BEEB593D82E6B2FD8D8DAE343C5F7D9DCC008C5F390B6797E6D
4D37FF85729672B476E9A562D1FE09EE85E286319D09DE6C6C949214893C459B
AB03CD0981F5779444B0408E1DAB8794B41236D7CB3E5B0BDCEA544B587E9662
D17A4313207C46B7A89976930CC9FF28D4EFADEDB2CD9CABEA37998D07A7519D
AD41BEB1F333936A3DDF625FA5A7854DE7DFCD0D38787167A423571BB87ABE15
EC3F2FBE467D5C1ECC5DC31300982D86066A9325770C96A66561F2AEA1F9E0A0
184B8BD44CCBD1CF95A97D3BD9AB4A33F50E033D3F6B433C88E9FC260B6B6610
3C104E6390481261913071F588EC07B733D422CC9C92087F31F7B93987AD5301
36C7CE1FA790076FCECD18480FCAB4AF3E0D8C6C988203927E931E958A5AE7C3
DF25BC34ACA677EB9584062728A467E3C7DAB8A4236EAAEB60696AE8F848F45A
776E591B29174AF8A54BDED3A4542C53B443578AE5712B1085E0ED3EE395E609
3F6FCDE4D2642112F727A441DC5F6DC2B2EE598C7C8C4F63A15DD87CA6654366
07E167BE266B4BCC0260D24E68403B931DCE8E2BB5C145C3AC68CA0E5D1288B6
281990FDB95084C76C2D128882F5E6F14037F630F570F925C80D57807A7683C6
D76432AFF379A4638735CD2A3C241D17FCA06982A00458C5D36FAEF20B620950
57B0AC4E331BC640E634F433090087AF56C255C3A2F624D10C239DDD17C83CA7
F1648590DCEF4CFE1DB674AF5226E3D02D7EFD23E7E7629ABD667137B3073501
940D7D9911205AB500849554EDAA973194B21F7EDECEC5396CF890DCC7DF324D
D46CCF070340A268C57D0A1334017C9F9A65669B19075EFB3389F15DC1086A11
041FF9EC261C3EB4A9B412EFEB96E4DBEC271843065807C0872A151EBBDF347A
80991A78B4637CA77D5D9B4A1C546EA183A9AA770B73489AA3BFC73C09B868D3
6A8678829A6341CF31D21D3F43B39A44833301FDC41A90FF499AE5D3EAA67F2B
CDE798D05C3847B6F7EC35F2B15CF1E1705D3433EBFF182C7ABBC9AC494FFE28
80A88D9DB2944AC8DB7CDE2EB88397A3DB8DA4A54AF129B91344CD3774CA4E20
1CB345DE847306A92F4E7A68AACA7DD894A4C9D928BBEB6EE0316778A9190D65
7892FA334C386EE0588950C90C3FBE22622D65341EBC16165E631D208D5E24CC
6813563F1E10832801AD74B349A5B1263B6FBEA5B2B3FC8047A7C08A60C49F1D
41E010B7B1C9EBEBA74E3C5294AC39CEDD5CC71AEF3EF453AA892BABBDF8266F
1AFA7EE28C4108F320D8D0F659C73742E948E1C268C7F3AB5B5A09E1F6289E79
CC95B7FCADA88757E7931364FCCE44C7C88154FA0C6CC7216836ABAD2E97B251
E463F62C36BCC30AA560FF22A24135C999483588F550B2919704F3DC98F73CF3
0913F1FC3F6FC3238ABD9DB69A984E1FDD906893C2F0F26E3DA04A0C22A206BC
CD69DDDB902F41F4B45490C436B4170309E9047DCB6BB41EC693B9D8602611A5
7C7DF3B0D21C638073783076B82730FD5A5BB8373433C289D45BEACF5840FDB7
435331637FB06C1D374005B966BC6948A011F9E311D16152D1BBDF1FF7702B97
684061681432E575C61DBA19E2E1C222F7DD43710499FF45E8AD88E22235DC92
B2C06D40E43457ADFC4B6892F8F6C3A82214B5623935F51A5CE4EA393D1147D3
AA880EC4C7832F0E1F3A0C7DFF85C584AD3E9865DD40B16C8705349624368DB8
930052273AF790968A386973EE83BD927E63AC79E258936A8CEF3E859A2938FB
F9C8CA22DEAC0B877181EB292A45483658AF14A189D06857566380B5FE8E9476
3BBDD50ED3E85FE95A6C3719A76302057FDFFA25B9B1E7FD12480680C251F231
46BA190C8A3D3BFB1ECA23656629AB991BBFC1607531C4E8F3266754BFAC9407
00AC16E5BA85BAC45D6CDA83F63B0383A77BDCEA10210E805485A92E67D3A018
5269888F9EFAD0E25E9806D8A327CFEA2D366F9C84912897ACAA83E99B511281
5FEEDD0D187A0AAAC4E179E42870353EEEF9A24D42CCEC4D994DD2385A57951F
70BDA1C49F0EE2FC976B964599B012D4F2780A749922EB3887423853B76CD837
051A5AB8381064634413385D08D87016CE6F9D5F62233815D97FFA65EB8CEABA
2C5364AB58070FD517A1F6003C84EFCD00331732C9B890FA1740C7278AFF5631
653621C9F678AC61906967C46E74246F829D27913A9AB57CDD8140C2803C15E3
D04FD28F7ADB288B17FB82B63D2CAF0978D4A256D362436DE60C2A5D33B3A0B3
15870E58D082C492A030634A6CFDFE416F5DE9809BA9941097A3E740B6C78009
398BD24E4BB5096DDF959301096451D1DF9514F6953F5BE2E291DB9F2E89E832
6145C08C5D29227DDD19797B2A59F25FDA003F940DA674B9904795C618A50E9A
DC5715F131036113A57EC1EA502C7E89B6A901C28B9CB4F7AD5D7D17FC0B02C0
4CFA185C9BE40DC75D8E5D9D1E674636FE5FE635B1A150B8EE995A28E574B7DF
83514DB1AD93D6FDB7DB0A3446B0077853EFF79FC23320DF2BF1CA78412A5FE5
6124A88CA55F8AEB606FD7EA7039EF3261C8B817016F19A0F25538793206EDD5
8BB06B92DA423607C7FABF22B46EC8E577C0CD38849EFD0F2895338389CC981B
4FEDB44084A247686D7FC6B426527697E3577D37AEEE9CF0EE86542C2115128C
3DFDA5000F44ECA1222F0C93E58AE480CC34E36C6275991C41FF9B6FC33AEADC
763FAD96F8C34C107DEA66BD71F46D64055493ACEFED5BF6A0273E039D620C12
7F95F333E7E512818E4E26C1A5381A5BC2FF86B2ABCB7922C37937591B23B729
D6E024D0FFFAEA553AFDA497BCAF69DF16195A2247D7FFB445FC4D659CEFA8A3
EB9424715918D194B5F7065D7C9897BB547CCE53A9908712698868F4B2DE77F4
87BBEC548690C4052D88C192256E991AFBC974E7ECD421AE09601C60F136FB33
4EAB86AB359F2D5984F812ED1E0B55B7AA41EB1A4DB57B8110D06AE858F69EE8
E6C9A7CEC13DBCB83D1920A3B6320BB91FFA023883FDB29652CBB79504AEC1B7
F25FD491E64561C872234DA89CCCECA2B64CCACD52243AE4C7600BDA5D74B943
5A3366EE5D8AA9DD143FB09404D0162C21432DFA4A3AF238E12D091AAE21ECAE
A6C2B7D7F92D6C346564747C8677EA3B91B922F9E7204FB2071E022D942C51A3
492F780C88981C920BE8185754BA747F5F54CCF9FE87EA46488DF706A9CDDFD5
B20CDAE9BD585BD761C6FEC57736063F9AD57B8E847FFDAC9F885D24DCD163D5
8138E64E026D1D387661E9063FDA354ABFD40D7A853C59169CC85F6CDCB07A05
C3C3A76EAB1C88A87965D7D309125D8582869AD8F01088C59FD9CE6F59DE673B
1F9D225C0036141A5279000D6A578E389659CA6D1A799C9BD874F9832602DC3F
CD55637AD3FBE9559354C183F9C27ADFB00325E1F99B6855536780B5B47CE1BD
20DE328F58EF53AD2548662A3185EB99EC5E28C44BFECBDE675912A70E1607AA
CCEBC63994FAB93F626DCDC90B2332854E6333C474E48492ADE0036BD09A1CF5
185976C8BB8CA371D2F300CCF81F3B6D291FE38D3345CEB91D9B70F4F994CF5D
FF86F470F02A98B1976D6C05765DA69758888CFB064CD75FD04367D3112CB9E4
449801053B3CE1CEEFFF3CC6375DCACD77BB58B826FF208A86C2B10A7BBD41A2
5A8702A41A6591A28A99DEF674029BA30C389861F3C5BD1DB53CCBF7C5E1E4B7
60E212659C332BD6EDEA7DDAD4B82F11E3FDC938B8D73BB72DB2041C5E115016
12C99F8A399571AD2D3468A13D63A2DF12A9EE8B7C192FBEA2E9B9515A05169E
24692378A5999113D936C2BB5B4F9044EBFB8484898C59EE8D6DC7494F1311C8
B0EB0AF04BEF1BB75C1A35514802DDAB25E7B41090E5F5A75DF30770897BF849
FCE9D919DF272653A8EFDBF9F7A1FAAF332DFFE83EFBF2CF124914010F78013D
80CEE2673EA87DF46DA736CBFD50904AAF7B69BF292BF671306ACC3422EAED8E
5ACBBBB787309477A6F19189A05EE109105524F484A29BEEB631B098AD389F64
48240B4E0EFB3EE62B83AC7E9BB0D4DD8AA75D130D9C399A846F784E4368425E
380603747A5BD9FA2F47B2277568ABFD0A160E3A067A58A062AB913659487119
6531EE138F9D3B00E1D20C644CD642CC963697FE4499B515EBF3E4C2F69A0DA2
A05CDE15DBCA4B74168449A7CB265C68CC2A00AAAF07D33D4030321E21F9D2F0
A2176CB6EB7C5D7EBBF16DC27AAF4D6B0A01C500AA1007F27C476C18F4532A9D
783AF426A8EAA83328A1A134DEF30D79A35735BA80CB122E160012D3438BB2E6
8FC057CE9736D36BC45B3ABB38BCB0E6FB12B4C28C25B39886F0630ECBAB24B9
499CAB4617B6BA10F794810BAD8671F93948B912A5370B886554AD5BF2CE6BD3
A2875989D357E690903DE0CCC2E3C7AFCEEE62EB80023C6AA9CEE7B5215BD594
585B32FA422807A10E84BEB1E5094662BCBA6E0587DD79C77BF08348E5C7C247
F7FD2B3F809C8EAAFCB78A9756138B69E2C02D997BF3CB94664ED8A5DFEC92D2
095804BB6670DCD94CF4FC4E383303B23886D1DDD512CBA3496E0FBD47DD352D
45A1A70A4461EC8F2273246DF9F9DC72DE514CFD7DCD45E8904CB1DBCF0109B9
7C6C617B5AFC25EB715666874DC7DD1459BF6F7399FE22059A9B026E9658FCA2
C318CD1D0E9A3C5EBB4230CD6BE0ECC8F1D7597040E3A91DD5B10F071484C744
51438AC71860A9B9F5DE1162BF46F25EBD832712730DD06EAB738B8364106F56
45B99DDB7886AC997B70258FDB206ED538F28C58139003FD3B2EF31565BD7EA6
797523934FD42D47D564CAC8366F3D32D2AA69C0B954A6257092E95751119483
F4518DD628D66A1D4EF1504A6D3C3E76F2A9598DFBAD9585DAC8EEFF7C3C523E
ACA1C1443F2DBB989A8CD4BEE2DB0907AC93894385C7E7227A2B33FC527745CC
46505964B502B857621A4455777CF7B3DD7416D8BFCBE06DEB0084A1D4E04061
6C9EDD7095DBA57D7EDC97FFA36BF538941B1112F182A87A4885451EBAD71BAC
8EDB04AEF91329AD6EDA1765282A2AF32CEC0DE890BB56812992BFC81C3F60D8
57E0C683D7ADBECA8C464259C2070886299D7A46CCAD11E7233405BB98594F86
609CD2F4197ACEF22FA9D04650652A18F2BF67F788D9AC3DF551726C29421F9A
C091C3BFE2B7F06C9209263FF8CD380A8FB59E8590DE27D2C8103D2F12E250E0
49257535151BC979182A69D9DDF0BCDBF3AB8E393F1183721CBB993C7FD4587F
65E2944452BFA123E43278FCB8378F436D2EE9B9379D13F3197045D65E201294
A0D2A8D22D91FC477F5C7FFBF0C3F1C6614D90BA31710F5FF69755E12B65BB52
2E6D5EE7168CF10C7283E48903C87A8624D5A06C1843559F8E19831034C8FC19
DA8578D42B57809A669C3AF5D083436817FD1CB1291A618D376EA72875252923
09CCE158671F833280AB8B5C74FFFD33E533BD07764702CF697EF4B97061DE38
72EC335622574B80F9A460A5753B499081987ACD755277F38B9DBBFB5FF5B371
068FC5A1720D855C9A939573C9418AC7BBB36D20349762AD8A50DC70C963B0EB
5F4A7CC6F6D5C78426D752E65D70559BB344835BCFFB0F3118F75BF257576A73
631A8096C3BBA90E20EC5B22A9E5ED82A9D81451B29C3A65CD84E9C08902DC1D
9805114450CE3AF9FABA43C49C170DA85299053416EDE4892CA9229EC4983B80
65200A6C9E503C13E50139C228C1E449B05235B38EC0EBB1A323398AC918B8AB
B1D6D9D501A2EEE0FD5BF7E665A51C4DF1E0F21358E38D793D1EFC6FEFAAB7DF
6B6E922FC625CBF66AE9D96E16826FA9D57D6491A8F23677FCB63D1393A8AB2C
C29F65D92D14D3DCA880A0C6320771A794B57683102DC7051626FF7CB5561204
83A52C294655C6D6194136DB7FA9E1FFA79F17DF41642928C117F573BED35325
F395FB28B36430911B46575ECD5A42BF8143B447F7BC47E53AAE8EFBBBF5A41D
CB6B421AA8ECD0BE1D5690F67F132140FED56F37FD6646055F34EF8C4461AB30
32362DCEB3378775C56779E0A9EB99B6189E3FC756CBBBD9E68C00A3585448DC
5A9BDDB2C5839520E18BD0174462A5A5758F8050317BA4DE8C69ED0F694750EB
84E6BDC184FEE0A254BA062423F86B71625B6F60714CA334CBBF580754BCB6C3
1D92143209C5000B1112E8733EE90F09F220281E78EC53116C9C1845FE080F33
A87BB0FDCA905CB3519492AF79A615B0541445D201B9EDBD558C102535153FAE
A97AEA9895B883EC0A590AFF12419844BC8038269879E3CC032FFB906E1B7040
24C3E2734C4298849F5A9246F088CA3104308C98419C478C2015C8A5C0079B76
9001239C56F871A4DBE34BD498D2D8534F6C3B00E11753DC1563D7E7180CD60E
D48E96F85B42B8E36A89584C658904EF4E43E852B6D9AC924B5E01CE45442764
F6E8F141FE50625CD535EEDA912A5BF79D03CFDBCD8CCFDAC335E4CAB3D42B71
3F833B227C82EE795F142A1495E801B1660795E939CF1FEBB08F8182D83846C9
2F203C5B5B36ED33C1B994AEB48DF1692598EA4A10371A4478B39CF3E550A43B
CD5F8DE3B310870E7E1A14E3652550100DBAC697A54E492F2768338B114B34EB
F4CE8A522F5AF9D61CAF5A4DD68A54FC71DAED341F07BA6061F5E58B6DA6625C
9C023D015900C83337F6961659349ECAFD95DB36F2150B21C4AC0C2756EA0C0C
11C9C10DF85AD1C10A3BDD02AB46353B78AE93FF782B9A9C56065898A92BC708
F9CBC00635417B2727F6BE9CA7E3F0003B5680D4BBBD8EA571BA1A0AC994EA6E
DD55BEC0B7459315E925A26AD7E3F60C490018499D4571A64908273D137FDBFA
1A24F6BB4E1A15A4D3218C8228E0735B0C03B56670A8FD1C9FC51051BD634239
8FA9F64AAD99C6627DE3023A37FB4E90FB267BC74915109CB3BCDC6524C7EBBD
D40F630431E57D7503A89D9EB5ACF69461EBB9BE641B33980A3210E3F127C8E1
249C8D9D450C04E97CBC5A89F1C4D7C231A27B6F09370E51EDAE8C307854FFD5
A5E29DE37E7D6170BEC648DAC9B728C3B851F09BFF5747C5F7ADEEDFFB0CAD49
05C8E721B666D66B856AF2DDB64C681235708C1D1B4D731B5C813161C15CA45A
5FCBB83F133AF3FF8873A5CAABE8D9D9301AA6C48B08D7D79A314E83119DEBE2
1B1E8E7328781319CD20C063768993806ACF77F840CBF5D82C7AA459A09BAEC6
70983483B8902A15A1A518B26633462BA4A924194A775FD794ACE4E03B273E09
7209A1192F58421811D3AAA85C98B4BF7B28A562A40A8477B04687D514DD44D8
ACEC64B57DEAA35161EF41B99854CEE146BBF999518A0F5D3DF981FCC01C3525
22FB7EE12F413086CA5A2230566C6A01F2063B8DEF5687AB98CD016243F16D71
5D6AE24CCB2F640CEAB4E03C4FD9B01EE80EBE3685337E79A9A506B9DE14577D
2B23BEF170704988DDC6DF4AD7F8D28D90EC788DA4F94DA0CAD1D8C34DF56DF1
428465F999B4668F6298D0573CB9DD3D5AFCF7509C77FBE7A6A24F7EE7CA9631
7AF8F98A773C2AF1B5DAD96B4507A34A6E134C947F83C70DB84A7904CE94895D
96237DF709BFCC0AC214889F530CB4691144E6CDAFDC6498B0E4967868271549
E272AE39C02B63E85FEC1B9C75A5849198F153EEE0D8A5215F7054EC402B6BA4
47DE002949D8A2805F3E2C6EEF436E312924DC271605F1F80EAB8CCCC0AA705F
4F1468CBA5E28B476BD50E51AE6C68700D04C3B4F0FAE308CCAD5972A47BE894
DA11939BA525283D7E939A40EDBF41D9FBBE717D8D965D432FABC6DEB57A6B60
068192D6BF4ED3965E0756116A1A41EC105C5C3E6881DAE1EB37560D948A909E
E2CB8A616CBA4BB0656786C78384FD6D286D2A34B7AE042A9F9101C00AA8B474
66318F39158F46319152E73EE2F8FD1F8AF4488C75D25FF7E757B7EC09258D3D
ABC36649C1CA9E8BA41AE26AB1DCA6FBF70E6F316E46AEC404DB1F6410E11566
0C556EC36B8459B0523B7D1EEA4AAC969DE4A2BC1905EBA787CE470C842B97FD
D3D631555BE112A4F29ED07AA6824172B3797DE2000BEC2036A075786E983F82
B3860B3CABFF43679B10E3417D6A39818646F121A59991F8ED42CEF9CEF27479
322F09D36B0A322DD72BF3F4667BFCE7A24E360ADC2C69EAAD5F898180AB39F3
0D8FFBFFA458BF339D490905C8B03004B38C39267D8816EC713CC5CBF9FDD92B
CC213594B0EAC70DB7A9B75CC79A9414044A120C6273EC0FEFE01A931763891F
085486E2F1F435FA44FCE00C9D5ED78A556E9C32B532D7A5A551F753282C8EF9
44249689DF6F31EA280130FF71AACB44BF1E16227FAF20AC7ECDFFC818AE5291
97E81E653511F1BA3337BB1705A1733421BD108D379174670F2056C0C8A3512E
95171E993BCB7A2E9AC4A28E41BAD37CBB77ACB17712863D11A3D3608ABA236D
D9C97E497284B4BFE2768B970B2AFC1691C10DA86AF08042D84F38A6E7C7ABF5
FA46E825E1567231C4FAB0EC2F80E0120421EF34810B2D3E73FD4B9531E678D4
1C4BFCEE2984882976CEFB923688870F7B1B4A758908FC1DD3DA0C452EDAF9AE
FED4F0FFF588C12D81A6AC6F3F93760E2B4CBB2FD198831CC19A6566D3547DDF
F488732AAD2B2A67D0D4AAFFA8C25166FDBFC721C8042DBD40BC510689620D97
20984904A8D30BF73DD1667A831B677B0E8EDFD1155C0128D4A48AE901D546B1
B950476F9033AA3577EA58BB55B2ED2C621B138A84EA99067C3AB3051E392E51
BF01FFB90F242E47FEC6E1770ED6F16493A50F213F3CB191DA157071F1AB1F40
5F0964C2889725FCEA218E31A3464C0BDD382E88F01C64C011F7509DE459BE2D
A9131694FF48C5AE4F192AAD4AA5DCD163C3E7FD43CD8C3762EE93607CBA45EA
16A773DD815EE76B9C4AFC82BAFEC122B2C393E5DC74D4BB11DEE555077A2EB2
8E33FF9BA649E5F5D96F88F5A428DD50ED58800E38CD2D5480940710202779B5
5234C0299B96A0E68D4E86CAF1C89446FE6D7CAD7E204FEA7A2E3AFBC9FE01EC
CB0A7FB8A3B17CCCEA651633A037D164E6FB61C1EE4681DB768009F2B960A201
5EF9F0296ADE5FCE5930D1C151252080ACB85BD61BDBE0BB9774632CEF77CD5C
E22AD060B495424B9E2DE9FB8EE1F87387574159E32B6C5030E8D6A897FED610
B45470F531B5434265ADD5AFADD05450153BC93B229656C445D88925FEBFCE86
A592E4AEA94C465E84FFEAC99E9B194357E137DB8031D517AB07F4691D02CFE0
B9B559D818F488EB75DA8BFB2A717CC9C208BA4C3B7FEA3BF4C2F6795BE9A98B
18C2088DC5B3FEDB1B689E984924B555941F7B67A1ABE52F60E2707A09092C23
D19DF0B9E25F21140CF80D577F0C7A655174CD9FF8CD54DC41A99E3E90C9881E
38F95AA2A5ABE30D20A7D851945104EDEE7E6DB30D6BC8E6534908D4CE010009
F74C783C248655DD3EDED99E97FA62EF8E4EBD375C244D6297D2B70FFC4CAD08
3BFA8A5716C7EE4FB402A8EEA7BFD0089BF5B1D3C0F1D0057AE8885391B9E26C
5C6A47BC920CCE09CEDB796A2E7761E5424C3B4D3F6BDCA2E662508F5667EA02
AD75AE7D468A1B58F545F73AB50B001E55F1650C1E0540652B9EE2333B67E201
5A39030B6243EE5A53FCE0E8910389D3D91141CAA55E3CA44B4F902F824F0BA4
8802A1913CCE94A26482C59C71369FA478B18B68B251F239F252C702DEFCE9D8
21B7E7687B5EB1C01380ED5A94D078DC66B40C430F9FAEEA1804E9BE648C592D
A07E70CC6BB779F44B439A2970A5C9F55AC660C0252CA286422109C1939CAAB8
B56124F0D99BB519E31B0AB93F0F5B25AA3757DC0E1A685506C36D10FB77BC5E
13750A6CA4ADE7A6035C281D7AC12FB5E15A816D02D3AF6C132989DFA23351E4
300C42BD4550000E833904540E1C49C886794926296ADD26811F8CC62DBCD83F
B3A7D011CB3F83FBC59C8F4B642AEF156FD5B79C3DC23EC6A7640BAB53611BDC
CF25282B59A389AE7773CF9F7952FF5D2DC7A21104D8E747E5E727247F598964
2F67CDE2C69B03EC89BFBEEDD4E4D0CC685B6AEEDF44894A68860AC1137F707D
B5FF2C8F1712A5B1961A1900427C59D08D2D0D9B656FA765B50D62DCA12831AD
9058EF0A844B5E2837940B9DABD50FFB51A5955268187DE87D430A865DEE1DBD
554094852BEAB22938951F9758235EF299CDDFA17635BCD104A1C2A84F5E3448
5319CB14881B1BCD0A039189468A6D89E9CE33469859F334F06CACA85049473C
5DDA0A69B98AB107006C3CDB7FBC1B367277EE5FEF8D20CFF995F0E12FD2BD85
4B6078EAD0EE63904909E2FF9D1E9600F58BF7B37592A1F010B1CF44E8247BCA
3A63F0407AF2A3903DC17B2DD280A407DDF18F30BFC9119834F3AAB910817FD3
F798B9626B54561C95B78A605CA960781749EB89A6D1AD19FD4EEF730A379086
3978CF9132068C85FD17F219C668E184323B4A18E574DC6E4203E98E385ACB1D
063AE2F755EAA8CA5C3C993081801291D7264CE8CDC564BC4C941353885C2488
656855C4DEE0E44D29B3E6896F51210E7A5D985F3B598D86CAA0408A219DD52F
DD186F656DD686A60913C6646A9470075592789CA213D06C8235AFA7FD03BF10
84477CFFA0D9ADF2FE7FE871466D63FF01557CA014963D182ABD667414251521
A16139321573259796288A07997CE7F362F9B972FF93A46D748FE71D9EBECE46
E2DAE14AC32F3C6A0CA329B503F788E42EE5DE74458162381556237C9637B66B
1F90C775FA593A1A2923CADED7DDD87009570BA7AC431F0A152298B0B8C93319
D85C072D18EECC853E43B16C9E3FAAB9009B7E9BD0B43CF61F3E225E5446DB0D
92D43DFED526F0209C35C8F0A22DAAF0E0641638EB4959F08B83B16879B2EAEB
6AC5492E63C6A1F48E38BCB7CF4500BEA2B7B84EADA623AAC3096F798F94F4BF
243EB188B19CB0EE67EFE682DE36296F6C736E95635C31E04D4F0317721DD38D
1B814B33A23A9212427994A42A527A35FBE851B218308F3D2DF3717500586EBB
BCF7E3902CA0FFEE20CDDF383113FF84FE72CA7171DE5D8D9085306E0D9F3610
AA17AA71DA68F82FC2F5DD4E8D554AD984761D6CFB7D294ACB76B4017869A3C2
B145871F465A19992181B12129C30F267627911AF31B0B140D2BB59FDC8C1ACD
C76E57A67A4EDE499661C758F93FBF92FCC34EBF769581DDD2107EBA436915FA
AAE223E87531160B165F4266AAC60BD63A2A9B8F6B4C6033707789D83BB77849
7C4E93D3984094EF569E16DF0D773066E104C41AC5E6A97B7F251ACDCF3186E1
A6EAF70A586F707CA2EC9B187113E49D9C6B757AEE6DDB3B137E965CE8BC6CD6
4CC7C272611B8B4B6179399A788E83194F0502FABF58397636363E662A74AF49
4598B525FDD261CB033A5E0C48C5FE999B727D9BE256EE3A2B4E0296C682E441
4D8692F06C3A00402ECB83CB2E9ED519404A365ACB4FFEEAB9CD33CF58897CB1
3F509621168EB819580A1DABD27DF66DAD6699B7548359982BF1E519DB4B9F02
E2EDD199D432B0076DD06277F9B574AECE3822CCDD11F7C3A2B82AF03179327A
B9BC6587FF10CA557CE0A1D093BD6BEF3CFEF78A96E0F53D028322B54F349630
C89D374311166F6EDB8154418A193542C6D7B30195D6FCF9AAFE2D4218E0F10E
7CC3FD3D0182E00AE4F173C9EC691B83830AC99A99161FFCD08A56274487C9B6
80CF77244E924673AD275BB3BB8720C1A7E6E2ACFC47D1D29B420E40D10989C6
90E476C88B514E9E2F800FAD5D8B2A5391C3B161B6588B62C983B64B7CA1A4BF
0063C31E0968874456879E19B43D9F865C782FE3ABBCDB4BFDFE7C09BD66D119
A478FB3B76C8A61B1983232CA1521E9E7EC825B8DB5B7EF92F04FDDD55D0D8E2
589FD807B1328C7C63A15458EEB60A78F8131AFD83BBF1A4CBCB1A76A129BB27
E27467BB40701AF7B8DD0668765644C6D3F8B651ECDCCD5BABBD4AA5B7295701
A3EFD243EF6788BA9FD8042C5289E658596D27EED1F72EBA28BDB16F0340FD76
778511F74C48012BB28B3E433A95EC87DD984D959E749D2D103B284DA67FEDC9
42C3A66B0E56C756FE7A0C2D63E0B61B86AE333839EA07FC18E26459ABCEA467
EB766969FC4C48C50E04A91783985535B415271EC3616284DE0DF87220BD5F6E
ECC541806FC6DFB7B0C03C75F4D40E562950FE91C405DC9CD5DF33D0CCA4BFEB
CF382BC1C6C83A85B9C14864B4EAC8D209A64D05CF377562842E91FC9997BACD
585348969B5080F701809EC8DDDB7288535B2DE6DA99B3F95E72A61130EBE368
C93EA1A06EEED5EDA94977E24499C21735AFE73B1554CF275DD29C92369B9694
BCA5C989B95761A5CA0D4222A4166118BE21A7D773938FC1B128C3010D5E5327
D7969E4311E7574DCCD41E019D0627C99C894F535F1DF287225FDB7A31BF5C78
0292DB1646A935992061646C5EDC12A4B8B194606263DED4BB6FA169E289EB33
55BE86A7FC8E6BE28BD25D48BCD49312C5BB0B9B7406571661D13FAC731F949C
184020F0B9CF05744BDFD24E9D9DB679F5C52A5649DF7F679E111F961785958C
50E002350DC9417C35FF460E8CFD3866878CE7A4A6D7AB790D52CC113AF0D482
7C5253B5F593CAA331E26F2D9F61E0F53E006D402566CE203476189F9725982D
F41C97BD3443FCAACBA7F7C4537705E34F824378A1C4BE388E9A94A53F04E7E5
45220AD86C295E9BDBA2D58E580F90869606CCC402A37EB223FCD570C373DAFF
147719C216B8CF6A61E175E1A8E8E3847CE5BF22009CF4C910943F2D69DAF19B
F700D535C8061A00679913B0DA74DD8C10F84702D17D9C8F080310C02334A916
E4E1
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
cleartomark
%%EndFont 
%%BeginFont: CMTI9
%!PS-AdobeFont-1.1: CMTI9 1.0
%%CreationDate: 1991 Aug 18 21:08:07
% 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 (CMTI9) readonly def
/FamilyName (Computer Modern) readonly def
/Weight (Medium) readonly def
/ItalicAngle -14.04 def
/isFixedPitch false def
end readonly def
/FontName /CMTI9 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{-35 -250 1148 750}readonly def
/UniqueID 5000827 def
currentdict end
currentfile eexec
D9D66F633B846A97B686A97E45A3D0AA0529731C99A784CCBE85B4993B2EEBDE
3B12D472B7CF54651EF21185116A69AB1096ED4BAD2F646635E019B6417CC77B
532F85D811C70D1429A19A5307EF63EB5C5E02C89FC6C20F6D9D89E7D91FE470
B72BEFDA23F5DF76BE05AF4CE93137A219ED8A04A9D7D6FDF37E6B7FCDE0D90B
986423E5960A5D9FBB4C956556E8DF90CBFAEC476FA36FD9A5C8175C9AF513FE
D919C2DDD26BDC0D99398B9F4D03D5993DFC0930297866E1CD0A319B6B1FD958
9E3948FFB3DF7BFF10C9BDA4EFE5F68A8CB1526990D1357AE6D2F7C2D2EF8496
4E47B39E6712EB8908A3265E5FAB40567E866C244814449F1E993AAB422C3F1D
DFA8C7118584F2E5197FD4BFA3A8AE9E953C6CD4672C0FF51E41C3A919749C1A
F06650DF4C5E17492164BDBCDF22609A74BFA7F69960A64B9F949FFC2A807458
8579366C4F41BDE1FDFBCC4845FA19BBB6963D65EE8532549274BAEBDFF24FA6
03235D1BE37C06B1938AF369DA75BF38DDBC87A1FF445EAA16E1895ABE9506B9
211955753E447865D33CEF007391D2666A046277A30A49804FFCED3FEA5EB2C3
E52EE14A9F75241EA10C91974CDA6236EB840FD44D6DDE4D9B3266C3B99BD38B
D835BCA8CB819C073480FB972CC028D218F6A1D344CE1B63F4FBF2C826F412E1
6E0B05A26125865A14FD7B7030B478BB8BC6BC395335C3BA940E1C348267F4F9
0AF97BBEE253511940F1048E175D3569F7D05A28851B6F50765FEB6C9654FEDC
1BF52F535DB5BB90C1BD5D2EBF75E0AEBE82B20507F3C28A03746781018D4EB2
298E4F2C27ACF73FA73EBE43F014BB575AAD516C0407B29E1653375135ECB74D
C91372F06FA8EF37C31AF3FA48AE65318EAA6C34830A5377ABB2DFA5DA53A574
433484BA1466709A4B186761655C8E482833B697673E847C691079E7F1DCB8D6
1AD91101D757B83E2090337D525AEECB028FB3C9F6A6E6AD2F322CFDC5A833E6
1CE4EDBF41FD34FD61630581D222F854A76C2EA9FD72796A7C9CC1F6C2FCCD16
E95CA05826A4ECFADA6A5FB83C41A7131E52BA6585DD6DD78515D8F7327DFC6F
9404F89293D6ACB433CD0802C43F0E74C6C4766A23A6AE3788FE6CAE82E1A104
BAEC8BEFDEFE4F292F625E60362F3886F602CE4121BF0AAD93526314BCBB5971
40091A7BBF7EFB3BA355B88C897D9C70C841DE41309348751EDFFA8675215988
49CB1599834A01EC6CD4FD813AFF97A614F56975775D5F48E9C1A9CE532FAEB1
4EBE20C3FA87CFE03664C428BFC5C894668E507950005BD8C2BCA8998C1FB92C
4E6B791BA05B79F332EB8AF5B0F851B8B7EE372EC0861B09C007CDF43F82D0B7
35446F682A0DA7F4112CDABE4F922EACFCB7B8C88BF550B60957E7
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
cleartomark
%%EndFont 
%%BeginFont: CMR9
%!PS-AdobeFont-1.1: CMR9 1.0
%%CreationDate: 1991 Aug 20 16:39:59
% Copyright (C) 1997 American Mathematical Society. All Rights Reserved.
11 dict begin
/FontInfo 7 dict dup begin
/version (1.0) readonly def
/Notice (Copyright (C) 1997 American Mathematical Society. All Rights Reserved) readonly def
/FullName (CMR9) readonly def
/FamilyName (Computer Modern) readonly def
/Weight (Medium) readonly def
/ItalicAngle 0 def
/isFixedPitch false def
end readonly def
/FontName /CMR9 def
/PaintType 0 def
/FontType 1 def
/FontMatrix [0.001 0 0 0.001 0 0] readonly def
/Encoding 256 array
0 1 255 {1 index exch /.notdef put} for
dup 0 /.notdef put
readonly def
/FontBBox{-39 -250 1036 750}readonly def
/UniqueID 5000792 def
currentdict end
currentfile eexec
D9D66F633B846A97B686A97E45A3D0AA052A014267B7904EB3C0D3BD0B83D891
016CA6CA4B712ADEB258FAAB9A130EE605E61F77FC1B738ABC7C51CD46EF8171
9098D5FEE67660E69A7AB91B58F29A4D79E57022F783EB0FBBB6D4F4EC35014F
D2DECBA99459A4C59DF0C6EBA150284454E707DC2100C15B76B4C19B84363758
469A6C558785B226332152109871A9883487DD7710949204DDCF837E6A8708B8
2BDBF16FBC7512FAA308A093FE5CF7158F1163BC1F3352E22A1452E73FECA8A4
87100FB1FFC4C8AF409B2067537220E605DA0852CA49839E1386AF9D7A1A455F
D1F017CE45884D76EF2CB9BC5821FD25365DDEA6E45F332B5F68A44AD8A530F0
92A36FADB679CF58BAFDD3E51DFDD314B91A605515D729EE20C42505FD4E0835
3C9D365B14C003BC6DD352F0228A8C161F172D2551CD1C67CD0B1B21DED53203
046FAFF9B1129167921DD82C5964F9DDDFE0D2686875BD075FC81831A941F20E
C5CD90040A092E559F6D1D3B0E9BB71733595AE0EA6093F986377A96060BF12A
A1B525CD9FA741FE051DD54A32BECD55A868DD63119A4370F8322CCBEC889BC2
A723CB4015FC4AA90AE873EA14DE13382CA9CF0D8DFB65F0ABEDFD9A64BB3F4D
731E2E1C9A1789228FF44116230A70C339C9819676022AB31B5C9C589AE9094B
09882051AD4637C1710D93E8DD117B4E7B478493B91EA6306FDB3FA6D738AAB1
49FBB21A00AC2A999C21445DE3177F21D8B6AAB33869C882613EA6B5EC56476B
5634181ECBF03BFEDB57F079EACE3B334F6F384BDF9D70AEBD592C8ECF21378B
54A8B5DBF7CB9282E16AA517E14843909339B5E7C55B038BF3BB493F3B884A1C
C25F9E8FB912CBE23199AD9D2C3E573727701BA301526C66C3617B9514D6F11F
11930B1D97C17816C85B1BFD9B973A191B33CC3B391815AC46268691C741B2D4
48A840F1128D9B2F9CF07D0709FE796B23A836417BF7B5B12D67F74453C82F5F
25F7B30701D6F6D4F4DC623C0C27D6A6FBECC7312A3CD10932FC7C10851C3C52
24B75DEA8A648B7F34F5711DB0E843C914E25663C510185BC37BDB7593C1C259
21D8DDAD33982C336BF272BAB2F48E68217403FE9F54877B243614A87E64784D
2796EE4179FBF96123D1BEE3EF89D682B427BA4F12A1318A57F18BE5DD903815
2614165742BB5C3D96F4891BF8977CF9FA90A330CE5DE9536A3D994176F962E4
63D10C7F91E035169A0DC5A69881963808DA5FFFEC4BE6365C4F0B3D5DC75D0F
EDE25750770E125A7244E79ADF2DC5B64C22136078163F2E760FD5D68CE71AD9
1EFA4EC73F96A27A52169480E800E12CE5F1CA4340E213BE4B0E9153B777789C
9020503F89746CBE671DC225C1D4B045F8174D7E9D52FF861E8ACD9F7AD34F58
BF244D9866183A4209C2DA9815595D41675B61DF85C6451BD2B2EF9CE154ACA5
A046E64C5FAE910E6CB9811817CB9C213D63718B1AC51D8DE518F7A354542873
0A7F7350B3C654177628251347C5A368C0FD4BA2A896894E8E35CDE6FC07FF66
600A3E224A55D28C1621D8CF77B8A9F1F9C2630A7A7C150C956FF4DB489360D2
C6885CD8E39F36791B4DD9454381F5257F4CAC09E135030417A3CBC8E510387F
796B638D38EC9F0B175211441AC2EF7410FDCCEF23A9888C61BCD98DEE8BC1B8
30746DEBF886B7CB96618E84B486F46CDB5EC29B665BBACD3B669E321EF13628
83D49E4BD189F91A3EC478140FA839E884B1D33271E8303E0ED24D6C70B99CB0
72C249CF8E2D7D13CDE06031B01B43BA39C9F2E8F0BC0C50E8EF370CE261C998
791C28E6BD3722BB09888133E6E06276CB6FCAD2AF948B475862D145C01A9E0E
70F2C034D1E20AC8D9EA64E3F7ED493677FD718867136EE1C75FD68D10815C40
ECF0179D7537213474D41753B0DC138119A0226B58649949B03A1E10DAB6E174
740C3273EDF779EF2EE78E36294EA5D18650565B0EC95418FFA5391873CBEB54
3959601AEB10E19881880772CD27CB2209DB1AEB752D14C790284CE5F3EFD434
27209C56FD8D8141DA81E369044127AED7BF4B1BD08710A677193F822A695716
03137B47927E9AA1B5467F5576E6927144451BDE168BCE638216287804CDDE72
F0FFA26F11E0BC0E4CDA618B2671AAAA115AC87D2CFB0D04AE936528BF6A200F
46D20579FFC9DA3310AA88225F508D6B8D740FE456A005BD7B13D86F913E3DFE
5C8A07E93D2240741659A80C7A4429D4459A4492C2ABA15273F4BD15F9DBFAB3
8ED90EC0CC7396D5AC6D4FDF7A9808FBC56551F1FEA22CC9AD4AEDE8A09719A8
1C61F0DBB323CE89E8DD40C2C8349F7E7543507A3C4C410F5E90C068CBD6C6F7
1AD25BA880A49426EACEB235F3EC0D16B56711BC27E6E1A851D916BAE424945D
E234AD9D8BEC612D5F8973E4CDD3185397E84690B93228EA5E9BBD39C0B34B87
A8E4EEBFB67D689288FE4B152F87ED848B36611C9AC8CA4B73CAAD7B58B05D1E
2DAC20BBABE1087F6AE8FC6D6C1795E6E50A6D2D5AD510ADB6C8CAA1D777662E
EE1A88875780C987C8D37254E3D40A1970F11B9F51F1F9FE7E3FA8F114D07EC8
70C6CE60F0D1F3BC08723B8273AFE0256097C76639EB79288ABA3E6352598E7F
C1DB9468EBFF92D9F4CDF31E9D3B490B94FECA0A39BE98CA127305697068BCC7
784E586CD4BE5A346A22F9A38527CDCC0D5FACBE40168531C01AE1035F3B51D7
3B419ACA408B9519EBA196D1E3EA0687C3E3DA886F17D83890241101BAAA5C83
3C8D9D78B79485900DEB0B771CEE131A4439375D15C8D09D7B12725B25A86E07
AB471EC703BCAA0E50693FF6B4E5C09B10AEE499C4B3C0F868DA6C0D21411A05
4271F09A232BA1EFA89A9447EF4C7B99FC948CDB4C69472DE4910C0637EF5B8B
49C410F5976CAEAC5F81BC79616BE088520E3DBB99D15C92B21158FC938B9FE6
3CAE0EF30D0C46AE44BB11E9AB9BD3F2C47C9B70D4CA78253B6C804802D3E57B
43612BCBECF63FB5199F27D5905F11C3DC761D0439F9A355E590283DF09D1DED
1DCEBC557287C16EAF1C411A56DD31C287B36E48020138143BD398C18C7028C1
D5444FAA3C99BC025D257647B753C17B1996825E4560FFBFF93FD197381605F4
5DC4D8FDA5FC0C238C350F8157A8758F561211A504E686ABFE73FB85F3554FAE
F8155E9D5CC092FC6C6E415A97CC467502C97F6E73FC49EF6C9FF645A566F43D
1A16B3E9E5798D3F8F47FEB8AAD02BADC1EB1FCAD87FFF881AFA00179734FEE7
43F309C426A93635CC12FE468A30B96E748422281460DE6E3AB12A5A7A1BBB96
0B0BB5033AC95C18BECDBA1F0CD4D30AA1B9CAFC67A62066AE760EC3F16283C1
52575AC4B17C8AB6477833B1A7175F48BEA423716D3978C9CAF8F225ED658090
00DCFC1541093A06E730F5EAB44CB70CC1E52D4322071D6D1E601F40F22097D7
21304D2ECF10FB42F66513457B3E3FC55B7420FBFF49DD8FDD94A3832F559556
1AA7615062A13985B87AEA4D729DEA07CFE6C398C83BF5CF560F8E4DE68A08F3
0AD5F636294C25E154A28287DDB1EAC04469BC28540ECCB9428950530FEFF709
8BC78D6E86CB5ADB98511D5B844F87180C7E9A131C4A63D42BD164A2F5C89975
D0272C39A4CCF61AE4B38E263B235D178A7556C34A8A04BF755C3ED38136581E
F6A3F3EDFA6BBD339CCC082243DEE7D09E9E863EC3FBE4B14E2D8446DF8521A6
3C9E62A8416FAF3598C0FC728EA0D098CEFB674C5C168C22AF5204780E4BC81E
002F75BF87908B18B09E184DCCCA87E28E4B0D4EE4AE83716299B30A95D69E51
B1E7D938236560953EECBE6715A4C9AE702FCE28B82C990BCEA72F131DDDFD1B
DC55B3966E00C641D7BDDCD02B8CEEDC8557DFC57182E5D1DCD17AFF7E6512C2
D87EBC9A736A8E0FD7E7B492AF06D0CF7A8124B8A6C303A315282EB6B44612FB
9A5D5C2A2A18222B35BC5CEB099DC2E4C0BC0BEACE4129C9951DB7AD70309AA8
F0F39A8F40ADB1601A9053FA25C00D56A5C3D6A148DF1EC20367294B997E00E7
0F588C2891FAB92A51863B7888F6B0D4D377E3D7CBEF5CB148797592DB1B3EB1
FCC0AD6DDA06EA5335F45AC36EB6FBF4B67B1CE3EB6C166856DAC555F53155E3
814540D6896FFB6DD88B1C2C186B976A09D13962A6A0E8738ADA267C0BB74A90
E584CBDE559FC07FDCA81E5CEDFF0AFE2A1C24CFE1DDC2C44E437D0B2E16FDDE
50A9071C6FD38D91A293FD5B153473FB331795ABE08F9B565F68B2F0D46F1700
29078C2C83477E161A7192FE85D962B7574E3A411BCA556CBC567CC2B0794613
3BC429A606FABCB4174E6D2275FD08E3EFEB5652E1BDE8EE985ED8179A92CD80
F73EB11E06FF28421F25BF861EC30B347E3276961CC5C0C333EEC6C1FC32BB9A
DB9A716422354BDA8502EB79E217F68F40781E0F4FC4B0BB6A5D5F6028ED4664
24C522945D60AE0BBFF9F02814EBA655BC39B6DFE442BBEB4BECFCBDAB082A9D
691E34E8A07AD1227B1CBB2D5A99ADB943907361AC3BCEF9D3AF47FCEE2BCE5A
44216CFF98085BA1F0FA7D62446421C42D4E99AFCF7B154E730FCFA74BD38186
9C8D3B98538203783EE854B21F881FF1808DCF469053DE155C171F278B7C7963
BADC34F6A4916221D6903AF0FDA9F5BC8061CE3E3CA83CEA18388EEC94D05773
A05D79354EAA815594C671DDB59DEAF18629064BAA1DBA752C2DC125999FA481
F4F9DF6E03A716DA643693979B939D9B758D955721208B621A69BCAB427EF027
DE0C3562A617DB7DA423EAF5F07E86152BBEF9E09358FCF20EB77A6D34921EDB
2A94DFD7E366913B7429D3E6302C7A83D3BBBC059124AA507C6DB21012514AFA
F13AEAC930FFF6D9FF8464D841C658C69A10182065F6C36E79BC6D3746B53F92
850BE15B7C014FF98D6CAD663413211177A13A1D20AC5A6ACFAE49AEE50ABEAC
76DFB0F2CD22582D65FDD21FEA17D83AD117816270EEB0BC5C4A097C7FBDB79C
7F5F659273FE6E5B37FEA2D1267B897598F6268476FE53C2B843646A69099827
85447AEFE97D2AF39E8423E0ED208AE1985644EDD0CFD64DE8732253D62EC95D
8846C2C1C60B314E0808411DC882984EE2B81283FB800FD76F6DA6E63B722206
6114103C55749940EE0EA6B2DFC1EC3A22D6AEBBB6822F2DB69C6E7DBA21BD13
0B5E0E7A37B2F42DFE5A66ABD22ECEE28502CEAA16FB718B8AF9441F8B477ABA
697139E6BA40D0EAFDA8AB2FA363CC22A38F00D55175426E591C681BD446A867
FED219E2DBA18FFA0A8ED6E1D825C618D63A671E17B0D47521D14966A6C0AA7A
E4DCC39F5EB2F772B82999670E44417AAC76D1426BE16054BA54476BCBF07A95
BF7ED11CBD33EDD49D491DAAB75F89A6682D242932819D035C28358EA6FF3764
4549541CCD9ECA39150B670FBE05324202910D11F7BEB955DE4C46DA9F09AE12
FED44968224838581367F73E4BCF05B5EC91A079B5E6F8AD0ADADEAD431B6057
7CF507E70F960CBAF025B73AF5306DCAF6B58E081E46DD5F356669E40D6993DA
F221F2C9815A83EEBF7B2147FDDC6BF4F7B4E8DB220544634DE5D2D46CEB9254
001C7E1CEC776462A54D074F2718952AB35BDA33A65379AF3A98E908D277A525
26B0F7E7E9B8294202416070946F654862657731340806512D2AB58E82C4F3C4
A068609E2C5D284E6F7A2746278173565E861D649F9C50D29C04375C4831F5C8
F6F371995A47E2EF22ACF7E0036BF858104F55E11462CF115C15A7EFDCF7C3EF
B0FCB7CC8FA5708C34597A6B5F11E500763897B92D0ADD60338140D874D9B6E2
57E0F8F1A20B5BCA6FBB030CD8B2AFFF89F223174E4F0B25204FD65FA65A3F55
004006EA0AD0104898A4C884546B4349531FE2A166B812114046B7B94E9B09AF
28A5FD44AE7596CB2430642EDFE26E78E563FF714F3272BA2ABB205C787009DA
0B392453426A886EA4D24AF7E24CB2F20531B9DFBEA402E73B3FD26CC9DE4EC0
631BD2BB342C765961DC54E1C14FCC06C6CC64B44B117912650BADC5D73DE875
F46EF40B49E281C98F46A949E7F996A47268D842909171A8E9C3D8C833A6E5D4
6ED7FB745BCC41E8CBA6765CD0AC935570BAA644004AD0424E8FFE639FF9CE9B
40E7A07129F4050A599EE3E8E8EFA8DFF9D63B991E9E375D0A60DCF5D6A23413
1B82F8F46CAD503745B140CE59FAE6B6BD36680D2D4595294F6FC6904CDAB81F
4BFD4BAD1774B7F57A50E25D73A9CE8E4B085A76AD8927F9984231D7E5801123
A313B5AE6F7ACF802E0B84963CBD158BE40070AD3D4E730412C2FB5478FA5C92
51426A149AF8D55C55ADFCBBCB5EF79DB910D674F9988B0223E634F3D551D72F
33DC591EE93E0ED3533CE9DFDD9DE205AE04421E8EFACAADA24626370310CF22
FF12ADDA8F2E1F32008DF3A6C2CB493EA6F275EE56DCB0BB838511BEFE1B7663
8E69CE6F8E98FF27E7AD47804C386E6BDB423710CD942E71A5B92E4D9E79D3D9
C95B77A8512B72991D4FDA30D37E769DBEC548BDBE845EAED87AE2766410468B
3DE3EF6E8B6E183BB60AF7C17729F9493E395D64B3A236048E1B1FF754FACF65
78721FE44A55FDACEA49D743F183E9F15AF0453293821A991302373E84C47226
85268BBBFCD924093E0E6B91969EC37FEBEE524DE3EF6B4EF0971A946419E6EB
03403346E8C3B05AD7DB29548C52C73BE49DDDC8A3487F6399C7A84EB696B15C
7FF30A873DD8B2960B54BDACAD22436CDEEA4CB19DDCEA92B583473B45223257
3CD041EF0A3C4D3B35EB100C3E72EC808608C840BC43165D6B15C59A2DE6F683
5B7B6963C3897B28C50379066B988849F0EED7DBE100B6FC147D2333FD49225C
1EE48BF98192AE394204916572064254DEAE8E40458288D0CD30AAC21F0719A6
80ED1405A5D4A9E87116BC62E14EF66C7EB54DF7B6ACD12A828E15E3FF35032A
51B33A598B0A86AB3DB9C4E796323A294338A9A054C5651C9A09D21342298C7C
FD52B432BD0B2F346F0CA53D7C892CABDC69EA511E799104FD79413A89979520
314DB4D0BD1E3E860CB171EE3DF498FEF5DC2FE45E27FCDB259AD89FBBFCD712
4F2C3968B1D997318A0086B73F794DEBE2BBA598B2640F895C5D6BB1BB00E058
ED926854128CE7F05962B7A30BC1BFE4B676B231348C9396E381EEBC798DA41D
13F4C840CC674E121397D03F612C9CC91AE5076883E81C821DB4087FDC4174CF
4FDF244FAC56DF264CCB3D320255D92F0DF6717A5DE07E30408ECF4FD6D7E6BF
1EA70C98DA7A9CA324EC84685E761DA95584D8A1859CBECAFAEB4F9FFF01C3DF
EC0BF1DBF4DD8E0F585365F825D7D22D0C6C2254F3118A355CE7134A6C786722
D09866F2690FDEF281E5631869E49BD57973904F36747A0F851A78716FAE278D
754B7F1679C3177856A6B036F1E4C79A78C2843EC0C2A68FFB3B404E133031D9
5EC6923F6EC1B2450D323F9E6229BC317BEF3A2BE62448776928BBC6B1D5EC35
A5A83115226A2BFD5D4B4372E3BA5EC8B13F1F4AF51C44B2B44D5F5D86C86701
54DF679DDB0B976204463F704C78E4880BB1A076491306606B7C2CB931F1428A
9B7EA0715D37AFF9DC2ADAF9F6F71893D6227C838A8AC62493899A30FDC6F8F1
1FBC9BFECDDC9FBA26021ECCAAD4E552617280EF374CDC6BE2ECF16B395CD2C8
A5A2B92697D62BCDEFAEA1A69C1D830C69476F5BD27262E5B876AF921A1D8034
164A510728EDC80A9D834FF498698A32697AB7216A7C11EFBB377F695D8B698B
789C70C7DBA2C7FC9D71212BC208D2560689025C47B23472610B523A210B797A
C30E227AB0DEA82630A07ADD2DDB236EC11B1EBF563C2DEB2A9DCDA9C971B5AB
B9FBA774085799736BFDDA306160FF934083F4E445FA206991E3ACB3ABAF0DC7
E9D0CA47F0B0EDE1C0DE49D640F489F308B63DDC6521EC9DE6D16FA0D04C1B31
BB4289F865775B4C09D19D663CC2A69066AD054AF244A2EF3AB89B8596AB7187
4526EE73E0D5256C070034DB4558DD3BB6340449CD47757DF346CAD45151F593
B3E48BA0EE8CFF8E28AC9EACB77B6D4C356884E8B6D7BE99A5657E90FFBBE920
43115DE189B0D073EA9D2CB313EDEE605C3616F076DDF5B6FD6F40A4DCF3706B
DADA551C49495C6C86E1B71DE5992230F970F20EA9F1376D92646A0A4BD17E6C
46E77476356FE229E09B40AA1FEA665EEF091BF63CC148E7BD527524880E3A1E
21043105EC90049F4D5A3EC6F82254FF77C7F358E7A2DFD474C8200603B3B15E
CC96F32C1CA84F6A2876A56A3DD6FD8CA47265BB285A2B86CFC51F5D35606D3D
77B8F0293A5977C7A1192A71F2ABAECCA4B1551D40091A706B1A435C58FC3204
7FC9F5CA11680F630E36847A76CBE6FDDD893D4224ED91A5463360F378CB2CFE
43F71B9009DAE846CE579E0D9C56A4E7D054292914B4372179ACAB15C91366A5
7D2B8882FAE0F49D8A756C2335764777D9F7879613A7822A6DEBF078326263F6
798F3A00958E8AD2F0EBCF76159FA59D0CADA853FA8D113A6741D5AA4203AAA6
D05374FA162BC9443D68BEA2C8A2B8DFF04F94403D97DAD44487F6D15A4885F7
F13189541C7DCA81B910F604872F648CC6572127AC29FADEF1344E368871C9B6
93D986ED33F06173D55E638262FA5B4FEC3B098F86C50021D9A43B6981B399E3
63D7F0B02DAB982AA3AA6B733469530FEA514B3D275E9C16CBC353496C02B272
D2744FC721DC42981446F9E3C5233344EBAB0426C48AC811BBD01A12315035A0
A099F85F294E710497CDA45D1204D25AB20D425F7866F1EE813851CEEDE82B33
EB91A3A8AE223BDF170FA48E4DFCE7C8AB707A9830ED1F9E52E33FA346EFACE7
CE5B6CC3AD0F0BF70687D186C6842C99524E1FB68CE65E38D0DF147949A5FD23
94D66F472EED4088FB042AD7B5523CC935F9F80D966FE55A51F51993E53B7D8D
CFFED508DBD95A041A43892B1CBFBF362F620334E599D3377B70F262D96AB16B
DDCCEC014B519929F12D845FF726053704E406E6CCFF2A52E44516EF79BFB312
7D2E219346AB4AF9D49950F0FFA444F689D944E71F84F218491217BE9F28EC0E
B101D36DA939210E554AE288499FE561302657F3D50B6C614D558B9C02FDB520
422CE4B0F732C11A249D549DDE1615600F3695EAE020460C38B50E9C945647CD
0A037DA2CFE6AD7000E8D0B3BD2E55C7A839389B753D70AD56A8F0B53FFEF9C7
9253B9C42613062511112ECDA68E7B80EC6DCDD86ABE0225EA4E708D7FBF2B7B
3F4128AFF47C9BABE76A498E46DED5B80BC76890FED277887F73D19D8DFDB350
CC1A50241D6BC94D354C60A33C029D03CF81AFF32F4A6633A976E6A2725C99BB
EAB55E11FD016F64FF363D52DC638886C8D301C73AC37FE070C4DD4B37F4F549
8C3E8C251EE3CA4791315F212045DA14DE73F12248503800BA814F044E9C4406
F5008D1F38EE108096F815A7A018E9225C66EB2864A960B50573B1C7ED424EAC
630F865D0FD06BA3D4D3205E8BAF2589824D6B38B255DF7E631618B6A83EA914
ED56CACC318073CB4592BC79EF41C2FB2DBCFA999119ED385595D60EF35EE9A2
596D7E11EAE5F52800F48C6F3538306912B2B88DFFA3B3B6FA7777D3D863F3DE
0ADB25647A1DA48DA58A856B1B7AC549E7F05F86024210A356332068C98362F9
4DBB315D383072C24BF9A935C9C47AB45F3B2D612FCD354165CEFD94EB39C9D2
8A095203E48A55EE5943FD2C10A180C0B2B600719CF5CBFC2FB004CEECDC3124
2EA4B8312CBD7092F3C683263FAB12FF241B64972790570DCDEF5C3502351562
BBCBDC9C102ED703C82A952FDA0DE5CE3B7C9170D7FD3E0B938F6464088AE0A2
D506A5C68BB07E2AC006CB33141F4B336CDB22E5D7355E4C9366D0F312628110
00E721A9596FC957C22C1695F00E6652607CE803DBD43956E7090BC142D96729
2FC24E2C6F2DA0A543A594F2121F74EEC821833C065873EE6596C35D91992DAF
7E47DAE60333B27BFCF57A2F13AC613DB906E83C2ECF72507D6117C3CC7E67FD
8EE355688034EA34ECB65432C217C68103799B63DB751CC80437512C3D273FDF
3843D7168A61021EDA1717403DE3A77763321E5934E57A39C550ED2411D025E4
C9EE393D549CD500D4F6AE210A772120D8AF638B755B0B2D628CD94CE403FBC3
5BF6FFC4642EE85DFC4D52FB07BE91502AAF577D083FD4F137F38C04B9C0FE4E
C173D7E8C941A005A5A3D00C34DB0E305C64F0E3C93287D5B6AAE655D056232B
C15BC914B37112B8B5A8F0F4F30CF31E2CE1053E9F8054E3E9B823B26C75BDC4
DB017B5059160CF52E7BC85AEAFF1274D3A5D64834DE5E50A6CAA23C88E0E1C0
6AA28C030607BF5CEEFB24C0C6BE2D388D31F0444620E653C1B5A680903E0262
F71F4C9BDB81CF5EBB488B5633AD707CB8F2DFC85615DE26497CDF9878ECEF0C
34F38C244465277C1858880F6D98C6990F8B74173AFCD55BA2C703215AE86B30
A687A3130FAB479BAA40E9261C8BCDD623B0D4BE2BE9E5D635CBDDFF1E77BE46
8AC08DFC72E33AB1A480F431103A52DE098BC08E05D6FD0FF500DCA863A30176
C85FD5B5BE8FC721063848DB9DA9E4B3EB1B3CA27B097390C2EEA652CA461A38
ACCBFA1EA2738257F64E10B55509DC1694342941558FAF9338FCEB494B0938E7
CCFA498E66D39A5AE22302DF7DDB1563C959F27E9C8E5C4DDC0459A544D6AD70
224A6E3472207B7576F9F6225A3ADF197CA04846A48B3EB2C1D8678CA713FE02
310D583316BED185B8FF04A64B647B6923655D4C0CA6C4A783ACE671261DE6A8
E1FD78765F6A3D01DF076AC65DDDB15BEC814E3F07CC938385BE8EF6E45EB6F5
A0F8DA1439CCB427E23466F96D80CF9DB4F0D234488BE5528CF9E9A4EB7F92AB
A5A1186FAACA523D5732BFFBC98393FA4D7B7C709E58AA5854B0449CD89399E1
92838D45BFD130AC89A7AECD949CA19281EF97918CB11C06143900B8353042CF
C8D7AAA5BE89EBAB990D1159F0B366FB4EE67CCEDC0F7835E7139854A80D7466
430456A11997F8253A728BB13E1F6E03B6FA599B5A436308850D56B3CB0D8786
94D4441FBF74C3D36FB21B2BEE9EE7D08BE86447DB6666964261173D2FDE9399
35CF7DE42A6D137B83A06E349049D871A2D70C6C31B3D06B27325906164B76B2
33ABAFB3663D4E2C026DCF68DDDEDF4D5278C696420EAEA29F7F442469083CCE
D3B8066C8AB50709DCC1160EC85E803D32D80942A6A61653992A55237D18A0F5
E116A9CD7B50EDC65DC9E5A536632943B0524E780E3914810F9C2E5512026F33
28EAAEB9BFAB296C1737877DF3163BDF723986DF35E61BCC313D0E5882428B5C
1251F1F52CC4C014011C9E14A60D172C8D4C58EE4378C66A26698E27C54A9805
B0B7D66DC41F290C820D21A728D479DB52DF515CD82C6963F0B8F52326EC3E37
6B77584513E310D8761E8F17CC0A242C0755A96C49783C4DC8871FBCBBFE7D54
C6AE31DD71301BE039CC647D3CFBE0DA1CDC8EACB1125753094AAC8B619EDE17
A5D55679F6E58ABF36DC77E9FB2C5FE6FB73AF94EFB36C171468D0E48CA4FEA6
55F924F037EA77F20C9DFEC99C62EA615ECF7C53BE8DDBD6956C02481307E87A
12DEFE4377CB6331C25A10D4589DB7C9EC29EA1851EE0062DEECCCF734281C57
F5BDD14DD97583ACC0364E37409D01C8F68D4BE0C6C581FB99328E87ADBFFCED
A2EB58E74AA265FE98F0BF45D408170F6C6126AA6BFFAF002401C0D31DDC8D43
A1179D7E82E5B8EC1F147AB535EA71F77BDE1DC26D576EFC141B43F96AB5D10B
624409960329A0B0FD4FC86F715E34FD35DF02B3CDA22254055AB5C52D09E261
B23F8A045B95A49713D52C22E9D0B191920D248DF3A7ED7B13D5F82A6F05F6AA
766A1C8CD5F0A3F4346141E70ADA45BF3E7EDA0037D6B98C257A0767DFBF0E02
FCD33F7D40C9251E4A4608D1FC27FEF80DDC96D539E1C8684463BD3E2D8C8470
94B7DFB608A7FA99D5F80AA4674AFC012DF54BC36D7FAE2D06CD88AB4B42CA8C
DBBB4B451CA2CADCB658CC4BE869B4516688FE0EC341AA82A4653643F4DC73C6
84BB760EC7EABD30BBA15F22961214C68EF227A59ECB4B430FBAE478F2616FF8
A53C769D372A4AD09BD3797429ABAEEEB5DAC8AFB4E8FF41E112644F339ADE7C
19D54A56D391FBF3EE3602262188A3E7F30EA137DF276C2DA71DB13FEB0E9638
F656216798DABBBFBE06C556DCB4D6EB0FAE69680D3EE93616C7EDDA6A244149
C264BDABA0A9653013D3246848AC7205DC7CFDBECED2D92AB0EC298C29C26C5A
A74E596D4FAF57623CC270CD8BDA7AB3A096ED306FD9CF606F9DA44036FF6F49
A52DB828F3A2527D7D9FD1E99CD3639F5767483759E42F91A879B470B5F4A1FD
9C63CCE615C6501C62891325D5D181EB58CE00B44E36FE2632B524532D34EA1B
6EFC3591F63CE012F5FA4EB0590FC762F707376DA1A34B1891598E7DC9A12E64
9CB0FEEE8CFE30CF5B088B9207726F2239D20B810A4B90F5A5DDFA2F55221C4B
F71F88F82F3C73A7C86D09A67DB004E3B58533A9B20E41E7B0C4D8F2DD735855
AD9E6C23668E218DBAD553D163AC61791185C4F3B7A0224BD57BF7B0A5FB832F
E10835A94FA60BE4FFDCE578F81C4458ADEA336EFF0D8A3E652DEDA5DD84EDB6
5FED8F194F07655F2E4D796D28522A348FD96631C575AB7133EFB89254E875D3
B12822DF723D93B3C059DC061A61763D1CFAD074D8F7550525F1F716B3F6FFE2
3E85D872F3642C44FBF3A1BE1FCEE79A99B2BF550903DAB3079E35B2B9A3E5E7
F5D7CC7EA18C6C85AD724BF03183AB54F64A759A0FFC34BABB2153ED69BF7622
DAE3DE3FE7F9E18747927A3893C9C7C194E8B174D39CADFF1DFEBD34B7F67C53
23EB62F980B3B2213A10A7019BDFE4F18D4A4604FAC96B134BDF3557CBBA140B
041A2FCD396DE855B21512FFC73D07216F74EE1F179E2450CC6FC712EC907AB6
68DD02BFB84048F67F70297DD79AE548ED358B7A1B62B652C88582D1C53A9397
414BD41FAEB9CA9FCBB01E54A964A82A8ACA9F2E8E4DEDF60CC3B79CE3238469
7E210EAA4BD2D4A7F768D2ECF5DE4E0190E71CDD055EB943866A37960A26CCB8
5DE382E642662FC4495BC21F829AC0F9C57333F9DD5E8BE1E1D0B24A396D2290
6B0B61E8B31C2198389E4CBB65414F03E3857E8052AF1778855CE970CB5E8D79
EDD900444655F73F7C12CCE011F375224A544FA02E99958C966085A95602516E
95D79A45F438C4E0BC38373C424C21A041CFE0422102E102F82B2763DBBE2925
FD2E8AC3DBD25E444335FFD1FACAD39BE1DDBF4BEF7C8E1107B8473E71C25BE5
C438E6ED4E9375EE4E4219582CA2E3DA7EAB34455750C1F34539634D65ACD9F6
BC4CE9DB34B06AB386A0D5AF2D25C556608D803936A306E449779E33F6EA9A26
DDEBD9F56BB11D66D6D781C05F8FEDB3FED5A0EBA12D5772BED9130583977781
4D0D6CCF9CF9FFA6331DBBE29E2706ABECD535D48D2524EEA47A9C8A6181605E
8568F4C4DD63C157DAA2403A4F61F0376D927BEEF03F0D7E8C16E0FB9119198F
1F9D901C8138F5F05D1B4D1FBA6E64FB8AB3B608C51059C8A7A1A17A3CFC1BBF
1CAD8EBE0175E9BAE311B6616C3BB3BB7179E1A99B2379BF146A97A817340F1F
BC3B78C372777C74FF1744DDFBF534F05F0026BADED90CDD32BBCBEFE5FE07B2
BE3564DCC4B0A7515C38F79CEF5255AEBD304CBCD6164970F9FF2EE7C17B0D80
47C0BC74A3A70ACCD762E6AC4EFE7DB8352FE8700F1526584BC7DE828BC94566
030137F5D60E398DDB70D0F2411AB720AD362B51DCEDC422CFD810ADE5E92A9B
E373DAF71CB03B8D91517EC903569F36C248A222960E704E973484A2532C4146
5E1DFE9CFE01F9C058E6DDBD1E3CF061389F584BA72435F27B8EA21166A9A842
A528E2E084591895EF8C987A26039FBF8110B73CC31D18ACD5D516B930E0816E
77FB9050892AE3F71872B5E23AA8E8F19841817B64C04102E568DFA67A017248
70DB973C6A5AFD2C16F400AC761FBF4CE54E63F2C929F00A4CFBE69C4892AA32
F02F7C02482BA7072787716EE9EB56DF1A3287C9F54E71493DD27368880F5492
3845C802C432460F25C8345D5203E4942D2AC6BBA7A60F70C03AF964BE448B1A
C56E8BE14105EC6B1BF4E8610C6E041A
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
cleartomark
%%EndFont 
%%BeginFont: CMBX12
%!PS-AdobeFont-1.1: CMBX12 1.0
%%CreationDate: 1991 Aug 20 16:34:54
% 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 (CMBX12) readonly def
/FamilyName (Computer Modern) readonly def
/Weight (Bold) readonly def
/ItalicAngle 0 def
/isFixedPitch false def
end readonly def
/FontName /CMBX12 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{-53 -251 1139 750}readonly def
/UniqueID 5000769 def
currentdict end
currentfile eexec
D9D66F633B846A97B686A97E45A3D0AA052A014267B7904EB3C0D3BD0B83D891
016CA6CA4B712ADEB258FAAB9A130EE605E61F77FC1B738ABC7C51CD46EF8171
9098D5FEE67660E69A7AB91B58F29A4D79E57022F783EB0FBBB6D4F4EC35014F
D2DECBA99459A4C59DF0C6EBA150284454E707DC2100C15B76B4C19B84363758
469A6C558785B226332152109871A9883487DD7710949204DDCF837E6A8708B8
2BDBF16FBC7512FAA308A093FE5F0364CD5660F74BEE96790DE35AFA90CCF712
B1805DA88AE375A04D99598EADFC625BDC1F9C315B6CF28C9BD427F32C745C99
AEBE70DAAED49EA45AF94F081934AA47894A370D698ABABDA4215500B190AF26
7FCFB7DDA2BC68605A4EF61ECCA3D61C684B47FFB5887A3BEDE0B4D30E8EBABF
20980C23312618EB0EAF289B2924FF4A334B85D98FD68545FDADB47F991E7390
B10EE86A46A5AF8866C010225024D5E5862D49DEB5D8ECCB95D94283C50A363D
68A49071445610F03CE3600945118A6BC0B3AA4593104E727261C68C4A47F809
D77E4CF27B3681F6B6F3AC498E45361BF9E01FAF5527F5E3CC790D3084674B3E
26296F3E03321B5C555D2458578A89E72D3166A3C5D740B3ABB127CF420C316D
F957873DA04CF0DB25A73574A4DE2E4F2D5D4E8E0B430654CF7F341A1BDB3E26
77C194764EAD58C585F49EF10843FE020F9FDFD9008D660DE50B9BD7A2A87299
BC319E66D781101BB956E30643A19B93C8967E1AE4719F300BFE5866F0D6DA5E
C55E171A24D3B707EFA325D47F473764E99BC8B1108D815CF2ACADFA6C4663E8
30855D673CE98AB78F5F829F7FA226AB57F07B3E7D4E7CE30ED3B7EB0D3035C5
148DA8D9FA34483414FDA8E3DC9E6C479E3EEE9A11A0547FC9085FA4631AD19C
E936E0598E3197207FA7BB6E55CFD5EF72AEC12D9A9675241C7A71316B2E148D
E2A1732B3627109EA446CB320EBBE2E78281CDF0890E2E72B6711335857F1E23
337C75E729701E93D5BEC0630CDC7F4E957233EC09F917E5CA703C7E93841598
0E73843FC6619DE017C8473A6D1B2BE5142DEBA285B98FA1CC5E64D2ADB981E6
472971848451A245DDF6AA3B8225E9AC8E4630B0FF32D679EC27ACAD85C6394E
A6F71023B660EE883D8B676837E9EBA4E42BA8F365433A900F1DC3A9F0E88A26
30F5D8CADBB3C1E3238EB07CFA0721C8370278CF356E3C0928DCB2FF192C55FD
32A12B22535E518EED14BD541187436BE7A4BBA4B7AE83DFD043D5E332B6230D
7ED3C4DFA4ADEF53E2EDB4E7A81933F3D283B228572E03197E402CC609FBD0C5
35D0847A11866EE335A4DE822D635ECD9A93F570E44B0C1A7095B55948645CDC
60223365F28F6722FF4286711B9B82030D3E8D27197C4EA8A9AEE96A85C810E2
285943B16D382014423567AAFFEC1352BD2528BA782A91B3507FC1C2FF4D1427
1991C3BA380CFEAB225AC64319056726CFCB9F5B9A2CB301A54E83D60B73CFDD
DE5C3E6C953FD7BFC588A7EB1A697F97968059303478994EDD1E8FB4BC9E611D
AD154557B4F64BB315051F72AC52C9C9C874098E609F8E21CDB7A53F9C0250B6
A52D91F430821F2640AD52475CC03356BA0DC8AB33317F57805A8A3060D0BF1D
00FB88E5AC560B97DE6543EB4209DDF713770B96DCB421677D80C18F26FB2F3F
AF8214688B0837A2D75FC30215F146A7705F19644F503254C063BD2C6B8011AD
CC5EC760FDB4DE49D7977136C5C52C39607C99DEA36483EC81B84AC43FA741CE
1588B84D618B3B8A85A9A181BD376504BF97DA22F85AF3712BA4DAF9AE888383
0AFD785AD5FF362FDFB7E4634F90F05888C09BF22096E2E6BAD82DFEAFFEDA69
FD410B0547607664027309271703BC5AC1C2AE0CF81D12D51260D71791DB2ACF
7953F524DC1D8FE6400AB0A202F27BF4DAD70FB45221AA1BA1B75E65DB57C6C4
8294345620E935F65E674D96A9E03215E2F8C3EA3C613DECBDB03E7933985D4D
2C3A1FD2849CAD2759C5BA12448427A3B5379607E092C2D1408FA85B50F2C17D
CA4AE57ACED1BFD7CA0BEFA739DD287060B0C465306E7823EC1DCC4458E95F88
0F5C234D7D6AC3834705EFB6A97391D05519BC6DD793C5F505EAB387A2EBDC70
7AD4608D8CBAF92641F02DEC095E13EAC05609EB292BDA6181063A4BA0470F28
7EE7DD13BE6204DDB71439142B2650A9C25CC59F6E9047B320A623E69D38D3D2
D8525E5A7EB256C8C56731EB17C819151118FA4DD309BDC2A23DA03F3CF3DF2F
EA7E5263EB4E9F1CCDBC3859CAEDC8F8AA3DCF8C9771C5B3D1A972F2CFADE48F
400BDC235FFFD1BE0AC7B70A8BB534653BC0BF620A5F076CA49D58AB295D8ADB
61F9A9539002ADB454497A0425FEB21C85376C79CEC495E784B5D33E6D1929FD
8C18EBA31803656CAF7EF3510139345B775074B736461EF106BA5E7061BE46EB
0E0138FFBC26018B4C8987600661367C95D7F4308068885D46E808B67FA874B4
C6565F725A9FDFBB6F6EAFFDED566B0037C4718C87226813EDF9BFC5D52DA7E6
784839ECE642AA483DE318C3E62EAA6486A7B1F3C6FA6E1941B7B8728496FD6E
713C2101A5BA74EEF2A87058247BDBB8118F6BC90191565907A67B4015D3CE69
2D5CAAEF03D97DFD18E4244D8E64B757334F57545A636398DDA3ACEA39DDE44B
BE7197F61BE2BA63034A58F1C7A1276A007A5B0E3C2FFFE04F3AFA221D337273
2CAA055FBB377F02B99D4C9B8671A2EF80402C2B35CDC63E106525463738D5E3
6E03AE050CE5615F01E984A32A43C5DF31A065D10C3AAABBEDD89C37409E1A21
8E454817CF35263E3DAB0A962E9B5523C73D6DB4FA87DD75B5F9B2355E868CE6
E2C0D67F78C1B20EA9D94D29DD1D0E9E86BDFBADD6861D5FF59FA8C2FE48E326
C1DB24BAEFE3A07D3160D94F43CA7CF102FC547323D02FCEB03E811EB0E6740C
9E1C5CB845E98379FB0FE22275D004D4DA7D3BEBCB65DD3798F55C6ADACDFE74
BA80489E2B7B72203C0C60E67C9E4641C35940FBDB8293FEB74F2FE3F7E9B0B4
B262523A231C02056E79351CFB588FE853239FECC939FBFB048C076A94ABBA89
804EABCA9DA1CA335512E7FDDF79DFB83B46B6B58778E02437F461802F6C1149
65CD5074EEFBCD2A47E32C918A0A69AB06E7298ADF1FBE8350AB7E4EC9C99FC4
82997D968420480D461CD953E32B087466AA41250E216D4E7E050C406E687ADE
30D671E0C9C1BAE8677CD9EE726795BEE70C52C1CB3495AA8B6BC9BDA1A93D78
24DD0CFBF2597E6D4A7FBBF8148B6E3C8A287949294AD6A4CC18AC476469434B
A33710A602EE386472CEEC6DDE115E72C06C2BCA6D39608FEE873EBE25F3267C
6BC5E893DD1BD942384EB6BF33201CA202A28C3FCE4893153D77305F118EA9A3
EA7E5B68DED09D320CF809A13E07EAD2DC01EE2A94875C7BAC7804B57379F98D
AB6218FF571D149E39BCD685D708B117FBAEE4C3AB49A0D6B2E1DA5949D8CF59
D5F95739345DCF026F694E331439CE61C787C285A7E0C5A34918F2B6969E4B52
08AD9A27CB5AB6985EE5DE82A811B3D7553A707052342FCE58BE426C726A4075
EA6D663A442F871FE32248E4D4F9E06E89420DC6C6C1D063FD3758739FFB46D9
22C2DFA68F679A7132CD835CD38AD25300E83B981A9AB8BAD0E2C4A1960C7A46
56708C9EFADF3731708C13F2C9056A3BCB2118872349F06F25ACD2A3DC889598
2077FEB3A06A06800C8ED000F56A82BD073347E434D517B0F87FCFFE1361430C
DEDBA293C660527F0813DF894B7661B5345A1AA27AC95B4DF6C8CABBC1724764
CA6DDF1547EFB8CF84F349681FED8D666E120520C4B7D6DE50A5D20630821CDD
D821D9AEBFC38DA2989E7AEA822FE0929D6DF06787D280516A97671FB4C968C7
D6E78D0FCA042D3AADF6AEA0B26A0EE20CB5B4073360BD6FE1F913E43F65D309
A4794732FB47C1B11E8E40FBF73121219FD2CBF4666BEA01941F395EA768192B
2DDB9126550D6313B16C3D681B19D80F5A1B79E16AEE4594623BD1CDBD56F933
A7B756D8358D6A19E06440D9ABF9BE3C8D8178E720E9251812754E30018F4DA4
413ECBB17B76F5BF57A1AAC9F4232115F7A17FAA390C7241AC16E2681249DC67
B56F992477849BB16672958752AE26F17B691D99AA07DCB5ED924339038B5400
3A9E59CBA4CC8D7851E130EB0E6598EF1AA02DF71564299DDA622A4E61F15267
83E9E36A165A57FF8FB3D61299CB56F318104E4C77C743E82829D432ADC11C90
F2F4D8B45241DC95F8C46F320A5A8AF01430D6669EA99BEFBB97C75E06850112
7E88350FB6B616E4CB2AB584DFDA7E86FA9BDFB8FE3C938DCB3169A488DBA29B
58136DF8D6B8F1B7EAD48BC3944F0757D37CB8A0CAD66D035FA355BE2631F7A5
FACB13DB97C560CE15CDF49856524D5BACF9E5445A2B24AF3ABB2ED577B700AB
48814397FBC7D9DDE35AAE8FBF9E494725C90F5E73879B19A112A901674A14F5
AA43EBC61C9C83CED10D18F3B187B7F7A8D3E13C4AD12C530E761A6786E08ABB
46545676C97C2692DB1BBE86F84FA593931A1A82FE98CFAC886EBE154DED7B75
737B03A95660C97D7AE54D19696BF4C10150B0BF65CB58975EB0C9A6EF5F0114
1263F02F5D5D644048F8B2E9EA7DA27261077C2782E8F3E8614215A455381F04
EEF4F5AE6E8BC684154BF9B8A76504BA2B6B3276C817ACCCEC919429A89D1F27
4C575821F5969465255EB21B64B965F904DDF602CB4501BC79F2C329F7866505
B446470591C295122F2C39496736E4FC889D91C031BE95D12857B5BDEC836AD1
FA7EB8436DCB5E873BADFF8B6B8C0146E60D0CA830057B9D731FB27BF31B0398
1BD0895896963013C7FFD633D0C3B425FBE4D9510848E3747AD5A0804321005F
FA5C2A72F4932040280C22E7FBE15A11A6AC2EBA8D4B38DEE581FA912A9E5F9D
2C041DD13B6E8B9A8411B01D3E8C8884600239E16AD35991D36C0144A0480391
FF3A9E10CF1DC56A9B3AFB48BE5FBFB4D136B339C9F6BB5408291913019C2838
380B7313EE325F034DD074A7F74E3F21DB10C7C059B5367B4CD199BB69C1BB2D
F33258E544EEC09EE43241D7F4BD8DD4A2D68C919A23C4D4A8C783F7E9903C2E
0BE5D4BA64BE0621ABED53238423433FE096BAD4DABEAEC068653FA72B1840A9
20928C50DC9D7E41E47B804D0146BD91A2FF56E2FD5856D0FC6F6899FD493C6A
49C80DB7EDDC1489D59B1B41D7E597A747DF141CE8392B1D7B1BF4601B5991AD
67E068CAF2DB187A339F6BC3ADBF27024A09FDF25D5CCDADD7B05DCD801ED00B
044669D6DD3EE80700386344D96275CCD621EA3A39031F1CD78AF3B32A175A0E
7D9D83AA8AF8373A66D7B4F8E06E86C1C669FC9ECF2F6D45C5B72DEF384657DE
6E82EA09A2AD998588F94681D4CA62108D42FF708BF814059C5C5EBB4615FAC4
4AB718AB6A528E752F25574829333974B08869602B5DF61F704E3F6BF1540997
C515134EF7A5F39B5566B6BEADCFC0C8A0DD70EE0AAEAF59D6D9DAD8CA683505
8ED1655A005634447AE9459912A2217BC042CF8380C74D2EDD52AB2630D63C4C
0E5961BC7806F9588E9EF22F0C32F48F68D401C686D21B8986C6EA9D886B955E
643D0C107A6E5940E79F4AE63563B33CFF51C46B936A874006143646874E7E7C
9FB57424751F03D09DE8B73EE44EE35A1AB96FEC93632E095898FB057553EEA8
AA79106C5C0D6682A4CDC2B182529EDAFD1F4A64B97956026BA6D9C4ACFC230C
8B36B47FC9A78318B1CE370B75E3150F774B20827251CC2E2E748EBCF2D481CB
A7247B41E8BD742B36BA7D3A2D1FCEF620F7781E712D05900B7A841B63F0D992
75E10A8A6D686D9AB28A49D39726F262D81963C47C65D1E1AE23D1951E1BEF0B
51E1EAFF5C67D7208FCAF18978D5E24E91F123FCE1A7C2E5770CB4BA7E90EF12
4C41BFB572862C590F63B223EFA9CDE450ECE1075188AA4C582C021D8F3B42FD
1CBE679304CBFB9F154411B4B7B5F061652FFE09040DD5DEAE12B45DCF4AF830
1D516D6DD177CA467BC83239324B84F84CC52A574F30C3EFC4BAA573C8C15845
68DFEDE6D1A1072DE055BD480DEDBC6B7B11771BB530B1FA0C669C268FB72124
D54B0CA70812F5282EABBF4CC5783483589A25729C46D5D944216B1B4800B141
3A8C860106DB3440C7242075415A61DCC65AA816E00428AB6FA9681A61A590AF
995E3D5B4C1F6E12B79C8EDAE42A7C12CDB1400AAACCA84302D54ED14DAB0512
09A4E89C635D2348907020C1CBC33FFA0053CC5907E9B417D972B98B7C6CB425
C4B6A59ACB6B3CCF163049A78BA173E6B8AD1BB9FE92A5969D2A6F476FA16671
5B102819182F0311F1BA5E70C72A2F026EE920AD2763DD383692FB904E1BED76
B6E7A9D66BE62A9368821125DFC62E47A1672EC938E039CCFA8E33E18C15C6B8
8E17E2AA173EBD213516EE495878B258C56877F8EBF87A569A24DD7EA033C5B0
DFD27A970DA5449B65119A80077A96E5299B9CA1BFC5613AEA27E3BAFAF186A2
BB60AA9E327B58F156E9CA4597D24B08F6C0F507EF11EA40CDB94D3D4AF9F43B
A071C6F8ADBE8FD8A3AE6B1671933DE62A3F5E6BF231151A81EF18AC97DE96C4
8E32CB9E9306EC46349A2CB4831E6C73F92D5DED37C11F8071A455E62BE5F3C7
83A50AB50CE8E059646D6D2AD7A19CEC068EAE426C54155F2BD4CD4F7A64F98C
507B110D9F70F91F3965E8F34118CC80CB69814E1ECB04D9860AF1A802FFCDE3
FD774106CD23708CD0C66FC6270F8A6DBC030DF56950403742A357BBBAA330E4
D1AFFE86977994FF2C4DBAAB525125AF97A8FEFBF7B7F1C797DBCDE9CB6502E0
7CDC72D9DB78D365A73B84E525D886E2D496A686F59E4B3D92AF2B05A595AF5D
BE0BE6DF2B309AF4F74EB1545404877CACC9C4982F88C35933C706DD48B1A5F1
3E757F47189AFD3C782BAEC4B388C88F713DB2190C4D10898D5795CAADD8434F
4835223DA5A77E486588087EAE585A4B811F06B8839052A9549F28D164DDC2B5
868C1FDDC7CF489D294E4AE8CFB092CED0D17CAB1A91874958654D5D105BF4CC
4DC04518496C0E5DEBC0A73DBC432D4C24CA6621335480912184DE2FB932C6BE
2DF98EC1B2A4B80550C20D8DDA2943C7919AB0DE71E90AAB108CD07F8663B877
84702161543D5F22C595E35AC00BE643AF3B8CDFE8B7AE4F61DECBD1E350A6A1
4CDE583C9671E5AC09FD6ABDDB158FFA8BA2D26C522ED13161324D64996F8E05
E5ABF5794F8ADDB9D710BB43621D6AA507D1E3A0D5C8B3F85E1BD02CB90CDB79
552B54755CED2D6737A8A49429ACD3BE85D9A02DEDB3112996220A40C6183B9E
CECC5BE181C5BC92247ED0C2EECCCF2EE9BF326F790C0C24B6B8BF6DDE01E74D
D339246B0FB9AEA975A09D30F3C10B868B7C268AA1AE6303160D7C478E9CADCA
E0561E87B19D47C07DEA9F0C46CDEDC5675BA9CDA1110CDE63B79FECB8B46FCB
E28D8AE5E8278220918EE3396A64B24A1BA57391B1C5E297BF9B114685EE4A2C
5EDF289B04C3E2255F57AAFE2422711F7543637C23017033158BE209D239C3F9
45D37E7518F4D7D5AF7734C9693029984C538B6FE7762EB9F2EFA4F86FFC70CF
E907E35BC9A4140802C463EB88043CB4E30FFEFE92C1FC4AFC8D84334619817B
F27DC4CAE5EF3AA1C9585058788175C5D6410E77A8E36FCC92C259AFA68FDD04
D8F72A01A388BBC304BE72D488515E1C6E733569582D34DCF1DD714F8DB0766F
52F0D4993D0819920B055907A83CF459EE40207150627D9EEF13B122F26E9E5B
4381734E120FC76B9FDCC1FC23A838EFD494A63EDE318CF30CE54ECED88EE055
B7812B748AC2A718D2F096B77370245720B55C38F8BBC8125F77E2FD1A3FDD5C
52E4B8BECB993CFBA028701516C1A5B8513EEF17F28E9B2AC49496C08E26709F
C4A3823C725A12DC5278AAA680072C170BB5947844A57666072A3C5B29812FC3
5964C6C6906FE1C421A19188B2FA9D631EF6A2BD53A7BC512FCF35E045378169
50D375FD79176C4A7F73C0E1F8CC7E0BF389023836624798BCD3DBCBAF6DCE9E
0C694ABE170731C2A980E75E24E7F12F48C7C35CEB28646C396801F9413930BF
92342047F4570106FD3A7A7E6232C28AFBE05658835CD6FAD412E460E5257131
A32534458BEE8FCDCE3F13A2D88CC68E5EF08F16AFB3190E55C094110EBA1832
8CDE8F57C0F7DD3A4BD2E604F237F41B33835CDF1F35199C06C40445D07B585D
9949FD9C0BFE8E05ECA9D7E3954AFD7D1E3640A636BF29282FFE88B28AF3EEEE
63A25AFC1F57504F945F6159781DE9CD20247AD2EADF73846F6BF2AB2B46F6EE
454E0D6DBC3F9410AD9437F699F7D5B542AC47AC37871521DE6F4A2E1C23A0BF
419446E5A42B7A185C0CF6D8A0316D8E8468ACC131F7B39EDDB47E8B30C4C84E
14BE78A42961A19E15048F6764BD49220640DF03E264861F6101E2EBCBA58189
82084DE37D4776DA1C21192A5D18C0755606A20EDE6C58B825777BAAB2C5A28B
6ECCCE725D5DB80EE72E5B6F6CF81DD2AF0757AE1FEBF6240B4BE4041A11D584
829146716931376E9A6BAD97AA8151D1FAC010513A3D80DF8FBFA67885B3B0B5
935D7789491F2E7735C1F94B3C8C6FB97282C8E5814C7AEA16F3C1859B833891
9C8EE08432606D8A7E59466A40AEE0D51DC7830B53ECC1F714ACD06619BA5D61
728216ED9DF6F2FF027607153CC93AC046DD826DBD2D8AB87DB903CD88D3D588
4CEF8C31A18B0A07F936F15E325DC6966EFA7E82C7E261C8DC29F1EF84CD54AB
8E0960DAF6CDDE5108D845E0D8BE87BD1E86E7C88A698DF5A4B76FD5F97CAF7A
DC437B332525A0C3C4E4B14C3EAC8271C3195096C1293D23156B5C8C70CC3301
70A745B4FB5905A3AFBA8933036180489D4A7FF1B31E8CC2EFC691CA017EC3E3
26AB3269777D1C0319FB1CB5B89DBE1D4653B686A93356B1DB4C6206112507D0
9B2F405DC5E09E000F8813E97B801480C8714965E56BFE531DC65BBD27B25BE8
0AA315029709CCE49EDA5C46AB3FAC982219912F22FE027B653D905EB6091059
7582371D7800864FDD082ADE5F7E4C90EF1C3E029D684F193F5D88D57AE3DE9F
2D6D900211404B677B200793D45837239644F1C18E0C8F622E167E89DCBE6E97
E9696A6B6598E2B1A053974D47797A02E8E6E434CF5850BDD47BD92BF3BA0EE9
5EE0049E635F0C25E9926E19013D6D40537D3C65FEDF835F398A4E3BB903C7D2
8F19039FA4AF056F6ED9B3FFF727C4EBB3231C1A6393C3E10433BC1EB42E9B94
701B114560A12C174A8E94CA9A1570D13A3DDE76979D93EA7FCA518719B9186C
AA01FA2ED051349B7227A8CFE07493C45E9888643638D873739A443925F8E09D
E6E10DABD9405ECD216773B4036DBE6A15A0514EC278FBF483D03CCEAB345212
135516E3AA29AD67A99BEB67312108AA94A4C42FA7B1C7DA1B9739EE1659B7F5
807E13120280EA2DCBB2983DAB7E794EA2ADF9F12161F5B7D13DF8D0CD3130DE
C0B4AE2B750A45C26CEEDDA08EA59AA2C6905199EEDAB740A0A712F5C15061C4
DF84EB8639028A7F7AD29F1FAA73A1D8249876FC48C8145A3FAF43091F2C8C79
C9C5B78F11684124DF972906DEF550C2898FD2055A1CBB7822639D45CBE0CBDF
04268378B72349EB8B2BB59E7D842C84F6FF3C9E519110BA0FCE56DE8E256EDC
D8C2EE962EB5232149E0D67C03C04C2EC74C8F58411057F71F94A28E9A17714B
12569BB0F72CF6AA91D794FC16FED49144EA2F4F461502421A9FA311C3349C99
6D7A5AD20741C0B6754BC3AAFB381F1C43AF786F514FB39782A61F081E58C000
18858015A19B754082B4923019CD7DC276B42CA4F18C66ED314E14264347380C
60FEC1E035C517CD4AE94C185CA5950901D88FEBF728C3ACCAF12C0D48B62E53
F5A6E903C535BE5F42A6457F56701B299DC490A7C5AAC46217E9F21E94AF79D4
236EBE819318653E11786B2CA223F2B701A3A8B84DD5015F9A86543DC417429A
4649213CF234507B6904769221DC7FFE5835FA7583B39AEF6FE4296199BC7AFF
CD323E2853A95AD604882E57462A3E44CD67915351A5C56E0B81A345847C23AA
73CB4CA41417C4643095C9796A71A69D777EA3222245CE4F697CCFCD711DA328
175778396FD7500F16EB5372ABA3833C3B758179E7C95ABE86903C75FC379CE6
78AA73FF5C5BB9DB90BC4D24FF7EF2B27725EA8523AE7470BD2CD4E6B41A5ED2
E38935EDDF72C1A18955660282DEB92C297BE051469A22CF1D93385CA458ED5A
551FF29D4F9F44FDBA400A6C89B98901284F2B9DF463D0D3D297F5FB75D2B556
E6FA1A4B631CE4156824C2709C392B3ED1DC303DD46BBA55EA6F882921F7029E
1BDE958AB61AA78645A18500C6144C687E7DE100081B1BDF9BA371CC1A330E1D
56C3F3B825993BD4B7FAF3B302F469F5794BC244BB2AC8D4EE9B715496434220
9E42BB0DB2A2BA940EA6F894DBDD2DF28D54C0CE02DEE9B8839212091D27A5C5
9E72EB34E3A33C4B2E34FB469738FD8371CC0055BAA748ABF623E04D99CE9239
5BDB1834CEE82C9859C13DFEF876DA84710B20AF397694B3BF7FC161F02CDA29
08E8DB5FC6A5BC6C70A7062AF48C2590FB14ECAF7F70C523769D62F9D81548A5
C2F65F09E73ABC354F1FBA32EDB7FF8514B27DF59FE758EAFC2BAB094E6E0249
0B7F277ABB661D380A1E2B2FD1E0B239071F37EE54C836BFE9E07074A64966B8
EAE97C982C93614FFB953787635D4A30AB336F73F5B9DB09779A04D8AB330270
5A635CAB68C53AEDA5A234E29F700851F1FA5C5CE946D36ECBA75B6AB49D29DE
11C0672A02771AE60C2C6BC7A2DDF899395DB89507377FCC2E4F72E41C4A9C6C
C60E4EF330C0AE9B4C10077D2011056F17CD94C8D2F9BFEC24B186789FAFDCDF
F074C6B4F8AF22669B968081FED386B9E52BCE6651568525AD13C78CE834F2F2
45905F65E985FF7BE01139BD55FF49929337D63833C3C9F21C846395FB5B397A
48539905FEBC25C30203A57E16EE06E18174D22BE0D1F7E58C11DF5B5363FF36
FE654E44198B0375809A3818494F1252F54D510376D149C9E35656CCF79C6B6B
99B3F22B085BAF7C008EB7581F25E5C7ACD1250CEAB36FF2B1B90EF8D71AD2EF
09596D22127C6A575495C80A5A9FB45F3F3D874F5018C596C94E37B86FB1B88D
3CB8A405C4CD74AD8A19B8B341C27D070A8800B2E363DC7F51315832D0A2FE11
A2AB4046ED00A83848189B608D7E94F6B374EADA2754C197F7F3391C9FBB219C
868512E8D2B06AFAFB25EF306C508A99CA35884D232C658E0B26CF2A19C9606D
10C4C23E5C77E309ED4579322F9AAC4B787E29B8C6061EF8D4754D0A6107C75E
015B304F934F424E6900DF382A2F6161A0528D4358A9034242C05BFC22DAAC10
3D67CD84EECE70724B15B02BD29D5884E327E536BD2D091F1B6E20056FE65993
54DFCC6AB35930EF4B42C46F6BDEC863B9685F6A65F6369171271EE9DC86FA97
573AC8566DA2F94FA08CC3482B1663EF1D105E293A25EEC72D5ABC2E9E48EB5F
F485C3A41BB22EA09F9619079F2FC3DB05CB063A910FC7BBA9D92203549272A5
C4B68D94BD0F6BA05FE9006787EC267AFF0FA38B509328425D958F264CB735D6
C50FC7129586359B6298A48FB539223A01D4BCC1D16BBE98D98104549D5E143D
BEE5CD7F054019A6C4E65A3236FB59E14C5B05FC339D37DB2063BE2C474E8D6B
7C0B591FA635D85BE8D28E924500478D29CC987311FC67C33D05AA6A69F51982
2F519A92E04B0CB593522A5F9BC18CCEE2EFE65137C78F457CD7AA1E60795A7C
80FD85399563F7774C152DDBCD340EE41E69C19605CD6DD80E3323D0DDDC5CE3
B868D56448E0D7139CE407DA2F90F69F3370F59BA80FD6E5291CCCF4102A89FA
FB0E7CD9C3A3D7A29390C38F724C61E71FB9CF70894EC5C021F7653EE67B01F0
52F20B1283D9BE9207FEA9551281C85C5AF196B9F16ADFE6C37AC05538F22960
48778EE4E62D33DD26FA472157CE2D19F518E19C6424CC01F71EC1DEED767046
1EDB51BED5D563647C3662DAD109B77799B36DFDB3FBD2D6DE00A6D5698DBD7C
C6E70FADABCB3EFD3E08A2429CED1D72B8D8174F90EACF64141676F2CF791CA1
06EA7000A3069A213EAA9892675FF1F9478D40CE3E9E4E90852EA7E269808F8F
8BEBF97C2BBF00274E90F925C76C272396D83DED508A877B8C235471A70502C9
DEFFA11C1B69B489271FA81CA0D3475BFE44620F24CF41D3B5A35AE457A40744
FCDC3FDD2BFFB6AC6CD320B23DC4DC232EEBB7BA24A8473191C9897D4CDF91FA
11FAAEBA89A40BE93E14FF3C6741BEC15D6C414DB145EA733BBCE90927758658
F09C277CE1B6541526403764D8B34577F01646E2F41CCA59EA79E65DB9DF1D61
C19F1B724778731374CE9994BD4A167D2BC4B39ACEBADE88C0D749DAC57C6751
3092B7F3580A96641569964F7E6F805580F48289DDB96E5FE17CE6506273F469
61A34EE1182C39C8E657C6EFA9E0E635A9363D1A476AFDD81FAEB4C9DF9F2BFE
E58CC036B87ECFA54519A4BFF7B9436CFE2AA946C2BCFE96534B88D7F3DB5635
155C700BC7B26F605C0958F2748A63774C115B6D88620FA4C4C1FB873BA1DA1F
BEADF682C3AAFE90F8A93B7E67DC8C5F014E3F4EEF9CE51D28B541EF4C9ADC31
59190746E58C20AC4662528933C03C4D74B9BD053478C77A7A9E00972164FD65
BDE2788D5FB3B1783D4725C4FC835294B685ABE17EAB07EDE07BD72DC17BBE75
4736CDFE2C4C7217E425696BBBC1F981DE682149E894D76F46287ED26F637858
297C86F9805ABB612E4E1BACBF8FAC2155AB9D24696DD799D54721B486F94172
0CF10C2540B7F62214A69B9D4FC87D25531E44E829EC14862AAC83B1CBC2B6AA
3E0059416D9F017DBED79855A15536E019A37C4D4DA7112E17E64DE362924B28
92B911D3E0E19B3DADF8185C840CFB6701C066B9B800638AA002E380F00A5FFB
DC567D412E86BEE99B1EFA5B41D2B2BBB4FD655A9BD873AF512BABD722E02221
0FA7296988647CC4BE09DBD06CD4434A2E92CDBC89C048A12E9E0B1E945A0C32
5DF4DC7CCB12FDF6367D626C64C4A511BB0DD3943094B56CF9F47EEC6974AC85
CCEA5E4EDB5E5C805737A11C0F6593E8A82543DD779494727553D4A2BD49FF41
A94D9B8EED83DEDB50235B9A717534B8B151FCEE2A71CBB718F3E95E1DBEFC44
A791F55221EC78C000DCDEE10E37AF91741B845137B952689FAD1E5E867C2449
6F6937D2AFA85063938E04F5D6C25FEE69526B168839074F3E5625239B02B8D6
3628A0C882889C89BA1288B877F8B7A509285B49B5390E7C2E1CE144BE8E1564
BC16C320C3E4DA32D0035180C0DCD8A7428624A4C9952B5F49EC7AFCFF015BAB
3A49D6C1D30590E3B08AF7F53D195DBAE33022C1BADC8D12DBFE3EDD316E151B
C1DDD7A96E2A79BD62417F1D0B20188A806454367E20E85BCB5D7D641645276E
0DB085F151F1D4C5D3E3FBBC4E1810806017FB7F04E365F301B106B1BC44F64D
3022FFD51677D7FDE025B5B16471A913300FAE9A4E961EFEF460CB153F69B8FA
4ED7A3D907CF8D711B347F8C9C7D19268A334CAEE220685176D6C121C1283971
EBEF748D5B8C193F72B540B1D7E3BA420080E6F3F4016FFC14A06D73DFFEEC3D
5E5D67A45311F19574C7937A028423FA5E8C931BF4B35E3041FF84900539832A
1DC94AA48DBB268BDA06B8FEB1808006E0AD6D223DE59B20D5722877DA78D156
AF5053FBE4879C86FAEEEAF18436A45AAF5B0CCD74A2300B219A04C9413B01F6
2ABE6C1651AD7AB3C94A8EA6EDD19147C6AEF2341E83CAB2390B0F43362FBFE7
DE0E4A650246F2195932C45DE176DC5EDEF03C63ED7F16B22B3526A64EE58515
55D7AEF2C645E9746FDC7EF2E2E85462F3788B1586BB656577C622C769D0B84F
A90E91713ACFF32765CBB1BB833CBB8A29FDB93A55490596A450B8A04CE59C2C
6559A047406CDBEB1E57C5950E21348D35CF65C0CB79A95016CA9DAFDB4C7AA8
5209E14EF42F2C048939AED3A68842E5FF5FFE1917A3533F5434F4E12B7CB2A7
8A904CDA6C1C5FE22E13063ED50C4387ACA9414E235F3D705A5C12DFFCA70247
61E37782DACC3FB50B9CB25732F76676060C3F905D198D603271D87522AF91E8
DD6B66D2D91708DE4DD729C198D17A1CB9678EBB602BBFE7410EE33881D3D1D6
66395D5D0F7D45EC43D0AD906AD1A95C6310017CE2A2FBB557C3370B1455A6A8
78C44991AF4957EF1477DF5DB47D8A1A077BBC09E19D7ACCBDD87B15DBA90CEE
10711E5D277384F41EB186AEC1E67286275544EF6E34E1635837B2FD94935FC2
24D53ABDD0E5F0D43D14DB3C930F441202006C1EC62B785E693790C204DF5C8A
65ABE605D4977D2C3DC4188C41DBE3C95D5296DAD084296F45B7F62A556C987B
4D105743165B165BD4FF325D361B1CF4438E6D365D5C8E89D8F1C230C53289FD
238BEBA0CB9FC63E4C7210D6E1D2D1D1F2070DB3D0C28F5A69471D03A3F20B15
F58F38BDDBF7E8C2BB9E2C3318610A9B11753A77F567AC96C8D0D596FF7CFD4C
7476F5ACDA8E5708B557A6864A19C2BA00F23D2B8D53517623332BF11F507F19
48CFFA1232E61E86ACB0D094DB28883CCCB984C5FC163661C50F0AE71501DED3
8939BF491302A37A99AA88EA39445650E06D366EC09EFB4CA806CFC6A4339DA7
D4484D757DFFEFA0F22995BC8BCFF0DA1C7ED7DB21190DBFF2209F2F
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
cleartomark
%%EndFont 
%%BeginFont: CMTT8
%!PS-AdobeFont-1.1: CMTT8 1.0
%%CreationDate: 1991 Aug 20 16:46:05
% 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 (CMTT8) readonly def
/FamilyName (Computer Modern) readonly def
/Weight (Medium) readonly def
/ItalicAngle 0 def
/isFixedPitch true def
end readonly def
/FontName /CMTT8 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{-5 -232 545 699}readonly def
/UniqueID 5000830 def
currentdict end
currentfile eexec
D9D66F633B846A97B686A97E45A3D0AA052A014267B7904EB3C0D3BD0B83D891
016CA6CA4B712ADEB258FAAB9A130EE605E61F77FC1B738ABC7C51CD46EF8171
9098D5FEE67660E69A7AB91B58F29A4D79E57022F783EB0FBBB6D4F4EC35014F
D2DECBA99459A4C59DF0C6EBA150284454E707DC2100C15B76B4C19B84363758
469A6C558785B226332152109871A9883487DD7710949204DDCF837E6A8708B8
2BDBF16FBC7512FAA308A093FE5F0187316F83DDE3E2D27FCDF6C5CE4F95B6EE
3317BD91B7921F3039DD35FEA387D5CFB6C6E9DC84C178F3432994FC7FAC6E5A
ED41A1E2EBA350178FBFEB45944511731BA827167DDAC238FC69A5486B995477
C469E2E27493B0B711DF8E267D3D5613B450011921685147114106C9472580BD
F531022F6DF5432B2A4EBC51A8032C7F9689B6FA942D849B29709631613DA68D
4DF7B6F059A19304F40A3C3580CE3B51D79D42984194D4F178801720892FB6E7
61FF43C63F9256B5E9F4227B1378222BAAD4D52C77462DF01892220E11129C16
6C9E45BB9F01ED7C1AD5D8B4D72BE0E12969AFEA90FEF170603CDB91CB243173
B19A56084D10293B80A35275F41BF78A054DDC98F4A1FFF592463D944960FB31
6BE5F03960F9B1F213CBCC7FD448657FE388F10104D42B0715FC9571CC60CF23
C72560CBB8835A0CA208FE06676B3B48B093CB7FB2C0C53AF17EC5B372A9771B
BFD52FFB7062B4FE0106A01A2A1A1DD4EF5C8C7623EC9324A2CB3B402FCC1FCE
52BFC8662F8A39D5F1B41C97E7CE34E16AC28A1E94007AEA7D4C519399F1B7A9
48FA7DDB671067244F09C29F95DD60668223F45BBDA8B1C452E930A9F3F341C5
351D59EA87462FFB30277D3B24E2104D4AAB873BB2B16DA5B23BEE25BE2C8128
C4CF2F4F438A4E520CD932BAC455BF8775C27AEA6C73EED3EB2F8DB5E356AE27
41B35C8AEFE73C4CD6A591AAE4F45762EBD6D3636C03F08C552BBFD0A13D11D5
491F8369B4BAB8ED9D6F1DE7DB7AFD383986C4338D3AA71C9AF2B8A0955CFD86
0345F16D9798B25156DDF826A7CB6A0CC4CB43078BEBD3E499DA95562A08EED9
7CA27B7A0CE3FA7EBDAA87A601B7CFD9F935916FED5048313D1B3A9C69223314
19C61BD2DB628C4E0DB5300B61C5282A4B81A78F7CA59895DA00F3AE9CB57C4F
D9A1484BEA0A9EC07E95A5092633295C1F84AED8C6385AC4F1FB14658964BBF1
7E971BA26F87A51CA5C602BDA3E6C78B27A51954460E2D77F524470946E822AC
564E1CF430C883E4CEBAD6E1917D0342007216C06F310B87F6806E3066690694
08D9218C6D2D54FF56E4C315D3F55E1B1AFB671BF963AA7AC0A03400B2F8F860
A03642464D1AEE2256228C156984FE524B4007DCC1ACD8EA90CEC168BB95A249
70D7CCAD7C06F230544279CD0F003857D5143BC3C2AB7F98DFCCB16E595F2213
E30BF107390D67C478CB27B9FC1ADC13FCECC7A772797EFA0377DFE106503DEC
ADA04FFF9CDD4772707FC10F0162E7F0E071EFE3A7E30CC474E59FE150B50E6D
DE6A60E021E23240DACB1F
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
cleartomark
%%EndFont 
%%BeginFont: CMB10
%!PS-AdobeFont-1.1: CMB10 1.0
%%CreationDate: 1991 Aug 20 16:34:36
% 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 (CMB10) readonly def
/FamilyName (Computer Modern) readonly def
/Weight (Bold) readonly def
/ItalicAngle 0 def
/isFixedPitch false def
end readonly def
/FontName /CMB10 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{-62 -250 1011 750}readonly def
/UniqueID 5000761 def
currentdict end
currentfile eexec
D9D66F633B846A97B686A97E45A3D0AA052A014267B7904EB3C0D3BD0B83D891
016CA6CA4B712ADEB258FAAB9A130EE605E61F77FC1B738ABC7C51CD46EF8171
9098D5FEE67660E69A7AB91B58F29A4D79E57022F783EB0FBBB6D4F4EC35014F
D2DECBA99459A4C59DF0C6EBA150284454E707DC2100C15B76B4C19B84363758
469A6C558785B226332152109871A9883487DD7710949204DDCF837E6A8708B8
2BDBF16FBC7512FAA308A093FE5F00F963068B8B731A88D7740B0DDAED1B3F82
7DB9DFB4372D3935C286E39EE7AC9FB6A9B5CE4D2FAE1BC0E55AE02BFC464378
77B9F65C23E3BAB41EFAE344DDC9AB1B3CCBC0618290D83DC756F9D5BEFECB18
2DB0E39996C010F3024A5A3C69C8485664A4E3AA81348AE21A30280D0E3B6542
A770F048F31907891EAB8B57DC70FF775574D6CD26B8AC9C3E64C3631325BF0A
99AB413BDADAA3B51A3E168B03A856EC7D346A38BBB0A2700A23B2CA91120B9D
2AA5BE5A359C60CD78F055253785CC9701F5D670ABE4967D74838C3B267C6563
C9651AC41D8684AD5E913A5C9C547CA225A74782D1AC62020FC38E29C356950A
00E8F2B0752CDBF81EE4ACD59BDEBBB9523AE4764B995855F3A401EB4B04EE56
B10758196CB661448A3617B83CA88C41756EF131CFCE0C968B94B6C69AEC1E9F
BF8B21837BC422D766B5089D81CF35A807394A026FE3160580695B1213968D90
8ECD1611E719A871E15C6085A17906F77B5B2DFA6AE670976758E67F8A4FC362
FC7299D85ECC3C0BBAD4649B9DAB4A2FB248D6481CF0CCF274634D37A5AA4DDC
31F3138AAF10998FD66F3817B77060E71C6D8F17205F9C098D81D952E0FE3831
2264C55D73215176470D8D75E7BE6E44514984B9D20208DB3ADD4767CAC09D41
9C8DAB6EDF4FA1AA2CB285CA28E30972B3BFA4F8600DB9216487655F91CD091A
DEAA34823397C3D1CAF14A0F016A4EB2A2238881A285C0A4D2850F1D942637B2
A6BD6CF81D1A3A8B0E9ECE37710AE059A3DD5D5236726BF6EFF89C97B4E1C735
DBCA03EAE44BFB56C90EC7472FA83DD86D63E9FF50ABBFE1FC07FAE9ED061B73
6B15923CAB0A8F3DCB7C607594FAA48BC5D060259663B000B14B012FBB1407D2
626F8CAF1E097ED3B0D6C7D927ACF3383909B4E85803546AD4388E63D83DF79C
0C8ACD827D22A39B8E93BC17909BCC7F6684F7AFBB6561C95BCABD7CBBF0CDBB
02C93EBC8CDC004674B88AD2DF1544043B9DCF51FD29A231D000205EA2D062C5
117DCFA64C49ED7B297C41DCE94DD83B8BD28C640850479DC7D87F5BC5BAB130
4A2A3707CD8A08D86A5A482F58A40B944CABB6692C489AB9A0FCD3225D134A52
FB1C1B80C42A64F42AA0A780EF316A27F461DEBFFB5A33B9E83402C1177A0066
9971FE6BFBB0E4A1D32739BC69ED830C63BE1C8DF78FAB37D82A34CA9C98715E
C9EF417F7407A74B920CD71B37691A6DE7947B8035068C9D741C87D691A91097
423B9AF5111851E0F5F7EF5EB6500F716F675B2742F2EA6D8BD044EBB1652792
A5D763717EBFAB5B524EC2DC159E57ED0A3C18D7CC204D30B501A8E2443C451B
D32376EF7964C5841425EE1BB5453F2915857F6C6F969AC2CFF51EB350F6A567
2833D980AE73160B4DF681ACD32F15C64D2AD896CFBC876C4D08E99C2C44E132
830B7DDD3AEA94344C90FAAFE4EA1A907343F08DB10F5257FEEDEC9A52D9F0BE
B96317024F1EF27DAE0FDF09038ABB642A191E5D3A1ADE30948CF6B2AF833B04
C141449022FC87792B47D8FA8476D9334CEAA98FDAA6D386CF2C329D94008863
546D6870DF9DED5805C4580784171E5382B8FD3A6A04DBCD038C6CBE4E014AF8
A9BF9531267B3BDFFE4C1D5280FAE6EC1D8BE45AAA1A6B900D9E5D25AD8DC6D5
62DB0A223C909E2549B90B6E565CBF3CCB7DB2C4643FB506B43AB1FE090B09DC
194006E6A7F742008CA8C6B01F8F382F5E5D44A5EE43CE11655A844D59A4E12B
B2D2645ABC3209A73C9D6643CE6C2517CA5E032A202E50EE591D967A90BD20D0
0186B595F9ED7F3737A55791A390CFB1A0B2D55C19FE04E24C584CC17204DFAB
5A1EF4CE19B751DC7A867222A1A1B6024C37B8CB2EADB32B4CD4541AD8A789FE
CEF1987B972042402C340F87D71B1425C4F243F48483F6C6BDDCF40C95DB0C0D
BD28FB223279B4B2198222E535CCADD67FB7BDC49DAC65F113C28A4E5E4AAB24
F31F5D5ABB9ED9F9C43590EB9AE572757A105A08E3C92CB5963A7C394678A072
51CC8F317E8999B87951B0861C11AF617165CDCC6B085FCEE3D30386FB150704
921F596935BEB40185C46E0BF6988C45EA04E5FD4498AF6D61BAEC15E51FD8D0
3E7D76109BFE11393AE4F0A258A14DD17E19A61BBC9FFB955264A4CB9BB79C62
54F6138B2B84595444AD38300F8FE57DE807F46BD7466B322F17AACC9DBDBD3D
D41AA0394E5BBBF6E5C1AAC13B05810EDF8557CE10493645B6428D00C4E3C1AD
E192C93C7477A280D33E8F0E0D44F967C414DDDC55B27711614AF630EA7A0ABA
813E55313185CBEED9B09712CB10533692B95EC02E62F1AE522320D1990092C0
32ED313F4CCEBA412F4C4363BCC5B05B6A22EC53D6DC9625E6A1B5F9718E0091
557FEDE52D760F323E4EB6A770926C437BC8CD83A668477B3F330273DDCFF83D
2EF231C7290C43A8D092DA2D47E0DB51CEDE14CF12C6C6B6F1F0B713465719DE
E779705B06A4EB43F871A992F9B5DCF314C34C2785B967D4DC46654711E44823
5E0EB645261AA411DD2CBCE6168CA437B780D2BAAE6CC670837830122F28C4A4
93C3BA1E996FEB5613A0A92D97C7466FE9EB5405BA6D100B2E079B8856B845E7
C8E06F9DB80DED33DF5DA02DCD8DB11D5DBAEFE7E9A45F83E570E8E1FA115DDA
C1F7FB44C944710E77E669A65F6F0405792F4D9D0173864CDC589C6570328987
E0D7C73A9D9AC181D54C9A98969A3014C073AE433B60D6CD0D17CB6DE11AB4B7
52DB0735076E292480C39B3CC197C042AFE54E002DC4534785847750636D43AD
78CD0A0FCB785E325DEF1164844638B9895BC2D85FC6469B27C975F7D56864B2
9E97C82B980EDF08DA87593CA677764D465C109C897388DB6B94C5FC1192C048
292E9B21A0277D7F03653C5B8BA4E1E38DBE96024D4BF4D2FAF8166F51723A35
C40B3486C61C198D8A80B019DD02AECABE1FD5B2501C52D6EF48CD123A4A915E
1BDB1C5F38652AF26C087AC40BAA9F88BD344DFBB54E33698169A158D4E185C7
EA075083FBDA2F389FB174C653656B0F0F6969382E17A47F35E4BCEFDBFE79A0
09730206320F0E35024FA3DCFDC27FCFCCA3C7235A655F35BE66F543C0E83435
831AD26FF7533FC90534D5F87C4A8EC0BE9734C0F9CFEE094E4C0A525F17B9D4
8EDCD1A74D9A477FA50B950D815E6D5D19DD3B5DCF15860DBD71958CE0FC1E3F
485F58748DD5DDA7E0D1B4E843A5B3F33E3DA21772F13CE20DCF842877EF214A
E5789A872B5EDD19FE55BE80B95CCAE7B8808BFE4076AC5FB0DDDA18F9736905
08B9981C76822F26B7B99F9E16A2818D14AA73F646FA6C5C36F659E5D4C3FD28
162EA957F4B325832CE190C51088DE0E960C6C4C572FA288F5B17E271FDF949C
048402C9447FE6AAA64CB3659BFD1D7E6C4103905E9E9D7940D7363A8FF01F32
90CC92BFD59CD8C4DCFEA85D9AA7C484F68DDE7E2191198A1B8E8A27C0F8D1B4
57225243E747F6DBD26FE342038A24C5E1E64DB6A7CE71A5F0EE238CC6A4A4C8
BFE0E82CA3C232EE8D2384DDD546807A7041970777A5361C4B81999410372B60
69D97522962CBB2A07811D0382B3BC5C62C6E827C3BBD0D29F6F68FA4F3EEFFD
642431FB624E652E7CFF5BC98D903D61F5CF8649FB553EF90E37887CC7E55A04
D681C3CC9D7E4538B031E32E553DB782FC843EBFF7D002F3CCF3E07AD61896BD
7F8CA47DFA46AF166C78F2B94F387F160B1B9F70A0FF6E6822FD676897F211B7
873DAF36C8B181065E3D76BD6FF367E484E1B8234AE840DED0C342B70D979DB4
9CBE5D67FD476D9E691294E449272159B80D668F1F736C43D28CAF46BA0E1CA6
DF94BBFC9097306E15F7CDD9E19FEF9D270051DA1C9FC0DD781E561D11771B06
3D10FE112B53A6DD12DA2AD1447DCAB78C2C5A9448A854418729422AC297536C
FF69E81BFBC23C9039570FC9FDFD10C762FFB18A593C7D135375749EFCCEB23A
54256277DC4A1E0452C1EDA586A80F66D75CB5E015771AF66D500161AA32719B
5DB08207F7E69D9686C0B9087E250817F3F39A2750DC6DD773DBFA27872CF87E
9A1D4B8BF11CECF270B09A32B3A6EC54CD461C564ECC48B790356192B0AC08BA
EB1FB2F07AF56F3F08B0C23AFD65DA2AFF4A622434C19D1E662B496727F4AA8A
00E46EBC49467B84577A78ED782BA27B7ED1DF4A02AF0E76B4F21F2B0986F549
FE5F8149240B4224EBAF882BA76E128F3780D7B772D4CD5EB83690E95299A320
9260A51EA5F9E85F25D251840AC7FAD5CC901D38F9EE55C75FC98018058B7709
1CF96465578CEED5AFF75725BA8BDA5185647EF8D22CA3AD5BE1B04AF0D7AEDD
E5EB04B2E84E48AF881DE23C6592355F62AAD449055ECF3F7E2EA8EB08C64DEE
9999CCDCEE5284D22BD83B448DF2CF10F78B545D881F9AF3F81E2C392818D959
70135E0E376572AFC72B94E5357510D0019FD3446F239F05F8B40D7ABE1627EF
F5D222EF4AFA00C46C2749301A8E3DC60D448D6A78932878CFFF976D732FDA14
E6C9A4FE37E4DF7D778221335F22E5A0A78E51673D44346E8ACDEACC2ABE3023
2E1D4E80A3DC1A2207E92016E94EA4C7D835C89A287022CD8FE6CA1FCBEF23C8
805836B635575855D38349D9FE662F96FEF86FF93B3207C4B6B3D029482D46CC
7A0C37151F29E8D74F999E7AB60090768EB3938C9BB16C1C18984C83F8CD9A69
C20CBF5F7B99264ECABC93DBFAE2DC3D99474967131D920D9314E7CFB3F096E1
9188691A00872D663CC355760A9D39904B5575D067A7D4C9C2FE76DD4A028A31
C2C59C8175A3D9001077D15A810D535481731B58ED474CAC7E3EC76087325BB4
0E6871F90B0ADE99AD4C7BD3E74C92550627EE1993BC5E5FCB05AFF3F280EEA2
4EFA1A06C64401AB2194CA242E47111B1D66278F6946034061FDC730A012CEB6
0FFD54F3CBA7DE6303312F5551FF0D9EC381AA1E9A4EBFE4D7C132CF8CCF91B6
10BC6D96BABBB29300F000C530CC48440D7E3D89CF9C13636C0679099F016324
7CBF982042408A97871B9145BE29DC299F23259910A8C8BEE4450033C0E64B2A
B420B3CF55AEA545F290AEC72FFA4C0404AAE427C261776A8CA416D38E934799
0B9EEA2D0B76F48AE9590C87225AABD5E5B20520808BF371FD52013663A82C47
850FDF4CAA3DB92BA04AEF661CD6B81D5181FBB682118E9FA5E1164AC86D3FDA
5D89726A9CE83E0234801BA777746EAC0AF60FE3B30CB527478889ABDCC8526E
5A6B116595F9ABE3E4911C17B6C1A49A9918D9B34FE984CF9DDF06EB4D00D97D
C04191844E3D2DCCF972BF30D2D73A3EA410840FDB3BB42E5F56DFF122150C7E
82E9A880C4FE746D5A69C0653B2D0A627A7F40A2766B6B0278FF6C7C29C084AC
09D821EB1ABCE3E5128CC08C2B271FDF715A268DAB6098ABB4348104084B83CB
62D49F4C84B9A18491E0C6A7BCB9319D58E3439DDDB1D9EBF5BB9A00A8E8FBC0
EBAE7EEDB0884FE457383A41BD6890F1D89B2E097AEF5BE6E9D5FC0145C8CC77
8A91587C6E69241021E712FD064A9717D5050872784F69BF65491159B60CF21E
8428249D16FB8936217BAF22C858509CE9C9BD76885F9857076D06A05B80F3C7
A98359601504BFCAF2D2F0AFB06495CFCAAB0F54645B00944F25D9B884FA23B1
0709974B40B72A112B346632B13190FF3EB6AED7D83620C47452125ECB9D269D
F9339EBB4C44EDD72E1C371C667CAEC4EE2DDD226A0BB14962713B535473B295
AB1ABA8DA68F06427CCE44519E38460B719CF3020219D48D1375DF327BE9A71B
756E06EE448ADF351A5F5BBBBE1ADB3334F9A8654C3F82CEB371A0D78B529CD4
A5138C1712CD5019325F395D69338662BE8BB257665847753E24E579C7FDF836
0BE78D092C6D6E955C07757B74D6E8E9FB004B20A2DB756FF6097610A1023E98
611C846ACE1700F1C03EB8A6E710EC904CCB111CF2CB3B09F3F4B4E9998E12ED
EA7A61706259C7FEAA2D90242C64D5CF97D27530C55DD688FD53F22A04F1D062
2F7C936D9B93956BEDBEB95C14C676F29932994C56A0B97394AF9D4E21A53745
C7D1693911306B054109094E5A113DABE7A2FB5F08A1C8573684517B0FC690FA
2B43EEF9346F5E98DB82B45AE7857610B647E5086C4BAFA5C4FC32FB0FEE11CA
AD5BA013CD988E5A5574074A0CC43FDBAC0435EF30328CFF19B726999ABB4CC8
A0086C0EE2D64AF26DD727639D4390382B51BAF4508738F21B3DBB53911FA062
F165E668633A2510E18362BE915583831ADEEBC25A75FE6C9945474CD4B16C98
63F12E468A9DEA27CE8D795B32A5955EBC5AF5F4848C3489BD4050FA1CFFAB22
8E177FA778BB388BFE05A7D85036F5E2DF6E4FB6041D9F82D98511F6950D049E
2CC740A41D7233652255B19098D6F78A610227EFB5748098FDD2F9832BCAC375
FFD5159860DDCA3E859D4A4274C0E21A0BC5EDD73EA5F638F649FB532584B461
FDB97482DBE3D0FB1C6F0B223D9B388AA252FC85E24B775C24732D53062C3F87
2BEF8AF1E65FF8B84E64E91EB57680E062DF4D95B7EB69DF49C5969EF4D401B1
BFA9F0E3E05AC76BDEC93A2FCA2AF2E73ABBFDC3177A5108D423E527041E8CD4
16784B4081DB354A4DF6CB23D231E402F545C000F1CFA977C5AEE4FEE287E263
6E5F15EC9B4FFEFA59F8DF76E22BE6FD799CDFF99B9DE7CC5059566116714547
8516F7F53FDFA4A030B01A0E9CBF4D41F118157506F8B19C8B35564AB4C0E669
265AAEF7437D4B6CF5E6D88D65D66129E5A78F172DA51F447C80E3FFDF8AAAA3
A548A15938C146562A110638BB100E6B39DC4588D14E936475A262AFF2962F50
75750B6EB2B77C4FEFC8000129AA22B773ECADDB6F40C8E6EECDDEA8563EB616
C897B52C81EAECB308BCF1AFB670FA567882EC577BA242B8C092B43C17D8F5B5
C82AFA9AFAE3ACF378644C4BB28CD51958C87EAFD708E3558B00A7D624BBC5ED
F88FDA5A6629E82B55F0B05032186A5672863D344D002BFC86C6E4E83F305E14
829A8A6F19BAE34E3526DC3B0011049559F156BD08BEF383BD23B4AE1F160917
5903A87A9054B3C4934C20A2A12B3EAA52682217A9B6E4B4279BC168E72B54A5
40905DF94E30C3058EDF5CBD612CEBA426CEFBCBF76C364E8B42EB5D3128A76C
30A6875B31208567170B50B1BB860ED4E84436946AF3E4E2CC594D28887F0DD6
29E358E20B6D2BE494CDB18B408C3DE35675FA7E774FF08BC178CEBBA5CA1D76
EB9423F28878EB308717C5B8973A1260DDDF73E01694C6D3D5812D0E9326B24B
A5105D8A923730FE95123B949B3C235A59D919CDFE841EE97F62317B219EE4E9
C20B861F99E62F18F8F48B875D9BC3FB30290D42FCBC716F77EF9D1564E7E186
066FF691C92E429AB26C3F96BE1BC68127E9A746197A635B216D9B4F7DD660A2
CA571A908587CA1BDB53A0B29FBAA2A97EF52C5DB34FF6073496EF7BC7E1A585
F18DF5D1B2B92AD1679F9187774F5EA7A92770EE9902AFF1A210B288232E92C2
FF38BC7D6DDA8E75917B48D448BBEE5F15E2FD512CB6A96956E110CEFBCA33FD
C3F363595C34C30CDB6966014787E926DD2690D6AE6B0F0B945BE2C4419E6423
B35AC87A168D515530FDE16F87FDE438A579E1C24E5746F3BC69DBBA6CE65343
AD54198A9E74D5EC6009AE3DCE24D3CC9672E5FD0930D7D622CC0F093B5D9488
B36086A5E563FD3ACEBB5573C2A07590FB12C50EB09F3413F968EAB2140FBB87
43197132F839629909E73B8CF3DE13282022DFE7AA073E8764D92BD3F08CC22F
8D3F55320CAA5904EAF87356D0AD6A0E23A662DAC8758CE7F2F4B791A9ED93E2
50760BE1F270C5108570A5A0836BC3969DE378A7C6F82142C1F2A04DB7AB7268
0E587B969B48E16A7EB4028D6F71AA8FDD8C0AB4189CA38EB4A321CA087B2B8F
99785B86F0C49F5687ED9CF37C0DD01650C423992291A0FE8617D4A84042829A
3F7E3155B330708ACF52B2C9FE86B4902743927E5D672852F3B333A05F4AC103
F85B8A9974E1A3570FC3FF9258DEC0EE127737E1B88D5EC850ABC41E10CEBF5E
DF83EC4F48B0D250FF65C228FE594A53A3F5FFA223B6829C0AE37F4AC5D4C015
EF33A79677D24ED59BD19C952C5F6D223A12D59198B12EC7BCBEF553AFB697CE
DBADBD1C6BDA46737D6F0789997A04E480A48076C30D942011FE8735D6669FAB
A5220545F94234CEA4190A908964778F4B19C6C7E7856A7C20F57818A55301DD
FC7F746BED448C81ECE1163CF687BF5C2ABAFE9EA027606FE41D844FAA205D32
D461F99B8B9447C027D347255193003379199FC9D62DD7566552311A03F0BCE7
93F86EA46E2B111F682425DEB1E34F227E410306725B89EE10A10996D0AAE0D7
65896F910F97363B9464914C1627D6336BB8F09187F280096696F0E83F7067AC
2BB763046B58C206B664D37CA9AFE9925055A00C997A12A28CABCE6E96D97F78
2E030CCB2C728053ABC09F42
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
cleartomark
%%EndFont 
%%BeginFont: CMTT12
%!PS-AdobeFont-1.1: CMTT12 1.0
%%CreationDate: 1991 Aug 20 16:45:46
% 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 (CMTT12) readonly def
/FamilyName (Computer Modern) readonly def
/Weight (Medium) readonly def
/ItalicAngle 0 def
/isFixedPitch true def
end readonly def
/FontName /CMTT12 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{-1 -234 524 695}readonly def
/UniqueID 5000833 def
currentdict end
currentfile eexec
D9D66F633B846A97B686A97E45A3D0AA052A014267B7904EB3C0D3BD0B83D891
016CA6CA4B712ADEB258FAAB9A130EE605E61F77FC1B738ABC7C51CD46EF8171
9098D5FEE67660E69A7AB91B58F29A4D79E57022F783EB0FBBB6D4F4EC35014F
D2DECBA99459A4C59DF0C6EBA150284454E707DC2100C15B76B4C19B84363758
469A6C558785B226332152109871A9883487DD7710949204DDCF837E6A8708B8
2BDBF16FBC7512FAA308A093FE5F0364CD5660FE13FF01BC20148F9C480BCD0E
C81D5BFC66F04993DD73F0BE0AB13F53B1BA79FE5F618A4F672B16C06BE3251E
3BCB599BFA0E6041FBD558475370D693A959259A2699BA6E97CF40435B8E8A4B
426343E145DF14E59028D4E0941AB537E34024E6CDE0EA9AF8038A3260A0358D
D5B1DB53582F0DAB7ADE29CF8DBA0992D5A94672DFF91573F38D9BFD1A57E161
E52DA1B41433C82261E47F79997DF603935D2A187A95F7A25D148FB3C2B6AA32
6B982C32C6B25867871ED7B38E150031A3DE568C8D3731A779EAAF09AC5CE6C5
A129C4147E56882B8068DF37C97C761694F1316AF93E33FF7E0B2F1F252735CE
0D9F7BCE136B06EE967ABE0C8DF24DCBBF99874702ED252B677F407CB39678CC
85DDFC2F45C552BA967E4158165ED16FECC4E32AC4D3B3EB8046DCDD37C92FDF
F1F3710BB8EF5CA358ABACA33C7E5ACAD6BF5DC58BDFC3CF09BA2A38291D45A4
C15FF1916FE2EC47FDC80911EB9C61F5D355BEDFC9DB17588547763AC5F0B1CC
12D2FFB32E0803D37E3281DA9CE36C5433655526ACFB3A301C56FAB09DF07B5D
048B47687348DEB96F3F9C53CE56DDD312B93D3918CD92AF53FB9461864D11B8
0138918D0B1270C54873C4012CDE6F886DB11BCEA04B023EBB43E0D0A06BE725
741D08B9DB688731A6C9886C15A83C28DADCC81385EA239E045E8F3670CE03DB
9EE77ED067036595C9F3B1854343BE3A12E486B6E5A2F8AC44FA5378D28DCCEE
306B0E283AA444423F9A4FF38E2B56DCF67A39CEB2C643DAE86865517D5D0371
CB8797208ADEC637330A3A57902C9A88EDB75A7C16FA9850075D9F19578EC666
1353CC1FC512D59DFF847ACCD048BFE9B6B87EE5F4D19716BF68891D72E05B1A
8DC4ED717578C5ECC84509C595FE7A603BE283C8AD554D7F1E1A5D47147C5B2A
A8E46EAC2AB009BD647125866AA03519DE7DD68FB01D92D51B2B2E87AA383CA0
391E38F14C29382963347DD12A8C5C319F3F8A7B309BE9B577C7A85711F396AA
FBE0E2708237CE2394B798FE0B639ACBD1644D28796DF7A0E08930A8D4874792
7901A3097C726E5D8CF1063A8DC08B759464C0A64329720E51D02078A9313C93
C0BB7B00D93E722D847A1B13C288609F69EC94C36F2D993E389B127BC8AF0789
75F54D81832F9805B78260940D59A6E912E376AB066284BFB202C24440196694
111ECBF042D3ED99C58775CB0D0509F065F946A7E3760A398D9167F732B148B5
7845D476D7CADFA4468B5B4DCE094F210195A9E15A4505D9FBDCDCD67EA50995
59C599D479652537D32F109FFABE018909D3AE9C1E6958C282BFD4DBB0B543E2
75A38D937D26E1B2B2274B50B01DF71BD11C4483C7D2DD99B71196A1988F80C5
907DDF33E09150772BA0C8CE488BFFAFCDE3AF968501D9C7C49F9569B67A1209
45C0E780589B737AB477C070881882C061AE45ACD75FFD2E02579A9D28A2D11D
498E5BBE4869CAE68F19E3B7EF5B165E138FFB5DEB29094661C3B68FD9A9780A
1E0900DF2691094345E08C5AB31E93CB3D042592218BDC912F7552FE48832B48
8348140C6D62C497F9A781B346067995EFCCFABB4D88A34CFA584C4F214D4134
6B38BAAEB57C2A04199FB9CABC091AB682BD10BC60C07E192436B6DD393CC606
F50AEA4D10FD4A850E58620C9EF971D62F7C29887E1E60BDC6738D0CF746B30C
8B42A8A3F89C213F7CD93B79C49E53B3276F57C217D58616F78B074FCE9955A7
FBBFD32E0EA6208FC1DFA97C5EB1C104B82879F3A77CC2DFF046DBA6471F0A61
7D9C54F519DC2C89DD5C550AB03F9D56E40C8A17771C10E57F2D95D62BFFB6AE
71A62AFE932D1872E85B62CF1DEAF054F70AAF50DCCC9EA87E6872B9017858A0
9AD64D65590F7D0787D7920B167ED0980319D39C0F159CB24161448B71A1425F
9F3739806295E0713C14B0215C27D6F9FD414D7F7040E314C958A213AFEC9D64
3893C79C0891ADE4D3160CAE0649F8D166D1C893A99C48472E35F8714282AE14
8A236F60A283F79AB1D061F7293A7DBD1B62DA5384499AED415BF6DAF865D2F6
20075AE7422772598C66C64B4958876FCD05365023589A7D6B1937E967473909
47F05AF6AD0EA6EF8DFDB14C4004ABF8297E8316E9930897F367AA3F70015970
B0274AA7C9642562940A207F24FCD796D246F048F788635802D075BC92FC81B8
52EA08892DBF40B854F61C2E423958210486041B6AB3354C883423F390BBD669
4BAA2F64B6B1FEDE9AFF8E7C584439948213B9BE7F59D33C4DAA9BFADCB1B460
0A54226318AB7043D10C08E6A3D9862D46D1CE3DA0FB1160E19642784E05ED6B
7D77CDAA8049A6085D5ECC8E83E02F4884B4D28493285907AF42575FB73F492F
1FD557C4660867E99486A464FF4648BB09D243AFECE886C685419B20A7CF9C15
6E92F791EAF3203772C78643249748D703DEAC5BD6FA724192E196613C972627
7F0CBBCC7D49CB9E313C6FBF0C10739FCAE89E29AD387D347F0E13C22C942029
17FAEC82D7FF43876B5A0AFF09EA9D32C0C7A73E6FDA178A7160317589DD63DF
A5D4D9863A7CFA7AFEAF4FA795643F813A4DC479643E9C54F943EE13A0D617F3
1F685E80F53F8CF69A58848D906305D72A71C4733F1843239827F214FA00DB13
AA6831878EA4D8CA4E5C92CD91A8A323EF25C1536C3346A128CE285560820E15
DD502E62F65D4D2749108DC98632A31ACA39724E0AEE16DB43F4C203291EFE6E
AD790F958762A9FFBFB213A5CE2DDEC8182A794113D91217ED3DBB54C624D2B7
2185514A72EE74A2541A077A4B8882924EED1D5AC4F841F8700985DE75EFE7C6
941B615AA2A18E0FB6A096D897C84A6A84BE87959F52D477FB840F0CA94A9EB1
32F63696088485F8A90FD6326386FE35CA66FC566A22E3884F715B67CF5F6F71
4479C715CE1C3D25CC34F52DC2B706063EC21F7A6D5A225C7F13557D0ED1A354
3E274319B4A38DCE1E9E25374056CC2842ACEAC6E7343A92FED4AF785A310BF7
119393336984C5DC2174B0DFF16A8005641CEBDAFE6E1CA5824F4D87B182DC9B
40CA54CEE63D0BB9F90E98DB02F53E8B29BF9726DFD090411DF592413107F07F
EFA7B9466F8C3852B3058BC86BC4C6689466A5EDAE2D3C7AC3FCB3508FCC680D
55178FD1DF460F9E8010342A8C130CB8841219D82F139CD91CC4A48C7155A277
D535BE08BF1BC4836BC63A6ADEB90E29EE1F50ED46D27AC62CDDF18B981EF185
3DFA44A1AE665386BAB1F31AA901498536CF65EFC67D0C2F8F498FF03A645896
A2CF74B69F560493A1C049162CCB0B0991CADB1730F369108D0296CB2873BD9F
36946B468DC656472F10B3E13006E540C4E0A11A16078FC810CAE914AABE84A4
2B5C6CF84EBDC8B666B97D6AFDF52F5D6F0A8DADE6F18BD52F8D1E61E8D99287
90AF94ED29D3D1BE879FC80031640FE510B7B4CBAAA71B8CF698116BA7AD8261
885EF2C1E6E0B91CA19F8A21AD57C77E3C360430AEF17E05AEEA56716C4BFCAE
99013A39848C23FE259012CBF9E6E566F5D48CD83D840435D1C1840165131AB4
81DF4B7EC8A9F22BDA102F46A33597A2797FD39B881DFF1B685419F784E416C0
54ECF924396DB606314BEC9C4F4BDD1B12423054C2EB721431B3149C0A75D04F
F0BCF2FF14786251A1E81499667A2ACFE7E6D0985A810925E6A118E2AB1ABC45
A376DBB241677F95F94D2E7F9E1ED4B44DCD83CD233B06637AF8293D56973D84
290574A3521510DB9C2E16DF20C9A6359A8B02FD008F6AB98A1F9B533E20D8FA
A2673A71B69BB0C5B9D0A99AEF03F29201AA620F0C845E698822C2CA825BCD98
21F1EF6746C47EE3C17C17F0244206F449867A182226C2829B689DC323B937B5
CE7A3CD0DA4E048517986491C8609C7D01FAF3D95727AF17420881E9EBAFCFE0
CE6354484C1A99321FE690679E123886A2146EB5740A637F75DD549A14F523E0
F5BED85E003A7796F2ED495E4DC9707083203AF3132EDB3865D0BE1156EAB04F
52130F99967CCE57A764160FE2133AB1EB3620BCAA9A52CDB1638CE8DB7FB123
06F863E24EFF1F517833374DD6767B13DF1C0026E96283227D30C7F3490C5372
7681D657BA7C35A1947DB9FEF4E00601FA8C7EB55E222B5C71BF02D34B61928D
E0D36410EA4C8ED56F500C10D48879F74B3CB9BE4CF0677CF51C80974ADE8A30
450D5AB375A059BC4F9659B13B60BB16793699BEC31CC64313CAE8F46E534320
461995D8D4E534123E523F4DF54F25DFE2B42395D1536AD2AA5B569E0B1809EB
A4C33C6A6462DA53F1E448F2EEE62378551C4DEF43C74CC7EF723DE4F68A403C
BFA469233256329BC66EAA21C2215EDC73F7BB9621FBBFDC7CD61FE32FA5155A
5600342E7FA9B3A57019CA719E6FCDF1FAFFFBBB5E1166E1A9BE33188EB6EA3D
7002971B489FE88508524357B9BA0BD12E345072E1A03F11A85575C8D230C8E5
AAC9D8C688EDD0B62E2AA8A644A22D9BE431D3971219AEFD4722C47C96DBA71E
C5C69050383A8B6363B829C8F721E8294BAE151078637A46375F1C05C9FC889C
4A5EA1DD8AED307E9246EBFF9E13E93C38B3A71C7427A3FE775092ECF87C84C0
3FE177952EB0983289EBE8D4FDB04C9CCD1EDE4781E4259E14143EA73DC2A89F
27A1D695EFE74F700B5C816D884B7E1151121B6019F21879E90DE5CEF964A4C7
AE11BE9EE3BF2D2F96CE0EE591F93658EF368505D0016A9D27DEAF27214FAF09
F5B9277B1DB59A397868235CB7710ED062A9248F7A2716882DD2FCB5BAF53A1B
2160E30E50DF2A65D561BC4A5E3232FF4A37B83C5B76DD0B9A12EBB00791A16B
B9D65B74900D8E498FBA357D3F471A2A3A4B5B1E2EC9E2527B004A6098AEB44E
2830AE726B6D724C7CE32C6697395F6C2E29E8D7919E93B9A1C9E17BF86E7D7F
E3F2F7C20771DA823896F141733BFAC034920D3B6F3FFD44CD296FF1A159FD3A
6A543795BB3AB0EF517E58ACF8300938CA4010DC5AB5197E4B9448
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
cleartomark
%%EndFont 
%%BeginFont: CMR10
%!PS-AdobeFont-1.1: CMR10 1.00B
%%CreationDate: 1992 Feb 19 19:54:52
% Copyright (C) 1997 American Mathematical Society. All Rights Reserved.
11 dict begin
/FontInfo 7 dict dup begin
/version (1.00B) readonly def
/Notice (Copyright (C) 1997 American Mathematical Society. All Rights Reserved) readonly def
/FullName (CMR10) readonly def
/FamilyName (Computer Modern) readonly def
/Weight (Medium) readonly def
/ItalicAngle 0 def
/isFixedPitch false def
end readonly def
/FontName /CMR10 def
/PaintType 0 def
/FontType 1 def
/FontMatrix [0.001 0 0 0.001 0 0] readonly def
/Encoding 256 array
0 1 255 {1 index exch /.notdef put} for
dup 0 /.notdef put
readonly def
/FontBBox{-251 -250 1009 969}readonly def
/UniqueID 5000793 def
currentdict end
currentfile eexec
D9D66F633B846A97B686A97E45A3D0AA052A014267B7904EB3C0D3BD0B83D891
016CA6CA4B712ADEB258FAAB9A130EE605E61F77FC1B738ABC7C51CD46EF8171
9098D5FEE67660E69A7AB91B58F29A4D79E57022F783EB0FBBB6D4F4EC35014F
D2DECBA99459A4C59DF0C6EBA150284454E707DC2100C15B76B4C19B84363758
469A6C558785B226332152109871A9883487DD7710949204DDCF837E6A8708B8
2BDBF16FBC7512FAA308A093FE5CF7158F1163BC1F3352E22A1452E73FECA8A4
87100FB1FFC4C8AF409B2067537220E605DA0852CA49839E1386AF9D7A1A455F
D1F017CE45884D76EF2CB9BC5821FD25365DDEA6E45F332B5F68A44AD8A530F0
92A36FAC8D27F9087AFEEA2096F839A2BC4B937F24E080EF7C0F9374A18D565C
295A05210DB96A23175AC59A9BD0147A310EF49C551A417E0A22703F94FF7B75
409A5D417DA6730A69E310FA6A4229FC7E4F620B0FC4C63C50E99E179EB51E4C
4BC45217722F1E8E40F1E1428E792EAFE05C5A50D38C52114DFCD24D54027CBF
2512DD116F0463DE4052A7AD53B641A27E81E481947884CE35661B49153FA19E
0A2A860C7B61558671303DE6AE06A80E4E450E17067676E6BBB42A9A24ACBC3E
B0CA7B7A3BFEA84FED39CCFB6D545BB2BCC49E5E16976407AB9D94556CD4F008
24EF579B6800B6DC3AAF840B3FC6822872368E3B4274DD06CA36AF8F6346C11B
43C772CC242F3B212C4BD7018D71A1A74C9A94ED0093A5FB6557F4E0751047AF
D72098ECA301B8AE68110F983796E581F106144951DF5B750432A230FDA3B575
5A38B5E7972AABC12306A01A99FCF8189D71B8DBF49550BAEA9CF1B97CBFC7CC
96498ECC938B1A1710B670657DE923A659DB8757147B140A48067328E7E3F9C3
7D1888B284904301450CE0BC15EEEA00E48CCD6388F3FC3BEFD8D9C400015B65
0F2F536D035626B1FF0A69D732C7A1836D635C30C06BED4327737029E5BA5830
B9E88A4024C3326AD2F34F47B54739B48825AD6699F7D117EA4C4AEC4440BF6D
AA0099DEFD326235965C63647921828BF269ECC87A2B1C8CAD6C78B6E561B007
97BE2BC7CA32B4534075F6491BE959D1F635463E71679E527F4F456F774B2AF8
FEF3D8C63B2F8B99FE0F73BA44B3CF15A613471EA3C7A1CD783D3EB41F4ACEE5
20759B6A4C4466E2D80EF7C7866BAD06E5DF0434D2C607FC82C9EBD4D8902EE4
0A7617C3AEACCB7CCE00319D0677AA6DB7E0250B51908F966977BD8C8D07FDBD
F4D058444E7D7D91788DEA997CBE0545902E67194B7BA3CD0BF454FCA60B9A20
3E6BB526D2D5B5321EE18DD2A0B15E53BCB8E3E01067B30ED2DD2CB9B06D3122
A737435305D42DE9C6B614926BFD44DF10D14402EBEDFF0B144B1C9BD22D7379
5262FEEAFE31C8A721C2D46AA00C10681BA9970D09F1EA4FA1566B96E221864A
45A24ADAEC63F61C9FD18376D3984449A1F998C318A8FE36D0D5020E18A49625
0F3BB603BA1F3E66FF412F6A32433FF8BD2968D79CE4273AD0E0CDDA5153C2BF
F8A46A2244F9394A49D339F763F5A7411A3C29336B21CCB01723705AF589B078
3763035411FE36AB5D744E81379106890688CB5BC41184548B7FEBA08DE7288E
E6570FEA20C51FACE8E8F824BB61A4A038AB817C47B87391611B77928B2565A9
3B27A573C05D36ED01D8F27CB2C793370FA9B90021B5696280A55F2CB6117B64
293EAE0EA5A243F56FD007773CA35DF71B3D28643C25210CCE25F37A5095D6E5
9CAFD99DD1DB0D7EAD454C13464DF6FF5DD42339797AE5AE467084550FC00139
6EE818C6365007B2FD6E26285B832CFE6EA7E99665A224C9813C036CED262639
3FB39C1F05FF8F31D2DEF37BB9B883334F51EA124581B786A3D5FE6424B19872
AE7CB657C8D9528934B990B94FA4A6D61BC9D2CA9B4E95A22CBAA066043F44D1
AF32F545B9E123536914A7FD7FE96F12039EC25128C810BFF546AABC609DF57F
E19D511F324E32956177C4376D191C691B9F0B21FA84BAF3DCBBA536CD710A80
1DCD4C83C02E69A140E1A4CFFA3B012398F21DDD96ED8060DB98EE133F430022
41BA1DA473F1C99F0D6CDBD35188DAF712AC83E0EDE08EFC3CA2B4A21EE55692
CF22799274A5CFAE84C89C937AEECF9CC71A328015B63C1730FA68A18871E174
D035568A73346EBE4EBCAE410A4F2505370A0ECB487FB40FD823065AC56CE66A
9D8440C5B3F74B855EDAECE69835137D4D76FC0FEBA53998F57EEF25C7E3D9A9
21BFDBD66C84D8AF7D8A3B79FAA9DA2963FD47689E519FBB2B7793CE6DE04A5C
203539BF94A5A700E65B5A5DD37B051EA4348BDC4CA39909ABDF8C4102A58FD6
661206115F7EF6C29E12408BADB83AD40071F53B501C15601338467BED90B659
2708D01CD77E109ABA63C19FE12606511639C5D9D5522C80692D1CA874E17B9C
753AEEF13718DD36A008B2D39D618F4F766174423AE972CB619634766A5DA025
F9682D9E2A3C752D0F6F18B0D58319FCA606BD6DBC4F83D19DCAC84A6165B460
AC1A0057B12E2023F175E6A51FC12A4852043F6F2F2625ECFF6E866293531437
1C060C9383278C81B8DF68BEED88C49F86B7617C5B938457D19FA336C616D2AB
0A430B489EAE7998EAB74FC8C037550E12EF9AC540FD37473DB1A44B1747A4C7
4687624D806FAC32A53BD65A333DA3732ADA2774D6621BB59BDAECA5637F1F41
CD2AAEA8DB9774C2730DBDE3A2F9499C719A0E9D59FF37C4F4E6E54D5EC402C8
6599488AE21DD119CA2BF54EDB306B26351D0CC4C82040835580087C60327110
9F8A1277DDBBD25823AD30F0E960604BFF9CE454C5C841119F73535F3093FBD6
8E47B1357BA56E3D906EC70D68E85465479539187B56EC67A64DE38FC444950E
A82B014254689B676BD02A3068ED7ED5D4C9CA1839ACD730A1796A6FEE8905DC
73D95625C5F6B4364B1507A313B56BDB2A1DBEBD436AD80F31439C84BD00248C
F900452374CBDC6ECBC496178471EDA30464C1C4BF38936EC7E7767FF4637CD0
34D3C202285C0B3ACA5515977C253F00DEDD878F6AD84BA9A1041553A3626EE9
A5B4C881E77FF893293253F9507A3B8F955BF288562B67E2A99DF65D86D14B48
DC7587B628505B75A6DFA4CC8DB2CFCAC62ECA302FF5FCAB51FCE19FD7BB7675
D747A66872C49954B0C1547A8759E42FD7219E7D9C87F62451C47B13B46D9619
D0CBCBF138ED5CB03C8793626FBF6B4ADEEC391FC7AB65269CD899FAFEC8A9D9
DD838E4AC1249C33E3CD4539F09989D0407AD5A9A3C99BA7A24F62D428406A61
862D66DAA7EDCF0D8EE84B4399BB7FD1E117F90046F53CB268327B3333C0D82E
6BCBD0A6BBF76130D08527593DCADDF3B1D76A9154C5919562D5BA8767A899D4
DF546740D7EE9908EAFD91CE8F707A74696ED0DE86F6BE6C1E7DF1534E1A645F
D2315D77E06A87CF2093119D5CC415783F73F3561E7D336E3774570D50569DDB
F5DC496B875A91F2A2074DB8A7E44F86698BE3701727D63F644FF0DF38ED505E
ACB70239F0287885F27B6D1487A9CDF5817F92866613ACD932B6347F5857B242
95C3C47EE9AA298763F9BA372E0215161696CCA5C5EC4CA9088AF24D18AE43BA
1D0F9C25C23645D97AA5E9C05C59FD2E7B5CF123048FEF61080F6E16AB0D852A
0A0F0DC41D08B6DF137200563D61539C3B5DFB979889AC756B8A42A81D422DA1
9DB2215B060FDEDE2AD01D4AF60ECB81C94B66E1B8036B71CDDC8721E3D270FD
CD92252E2F73EB2CFA581A0AB5B196EEF05E926E3A8C45936FB43F7E726350B6
FF5C9D68CC477F4C4541E37210CC0DC917B9458699100283BBED7DE5634B08E1
E8A1275815A358B4C0D3787313C850999DF7330A5165A70BB5B5104415A5F973
3160B501075FC60DAF1C8C6DA3A674331DDE8854DE916DDD0491906F4EBB7F6A
C56C4A9D6132320E2E021CFEA843F7C56203E943D3A9B12D8321EAABAE3580BD
58D81B6C551BB86D2FB83A3E6B4924EE0D07E961E5235E7D473647322CC62C69
EB8DDEA11AAED833A80339E58330BD4AC7BC67B692ABA6A34D4D2D7A1A279A45
91974DF964E64592E3856B6D72B26D6E16241437159F3A09A5F30A4360083530
C76CD71780CC61C31DDE51A144E6E656F62A579D808F5FA729F1A66382EABA98
B6E376765D96FF4015BF46B3314B72C007A8DAE08A2E29F3461FA56B4BA6DBAF
6AC06F4C94FE3F2D692913E13F99B6AFABF801C0119625C51F8015E35BA453E5
8AD266F5BE4EA6E839C605AFCA7F11B673E51FF62A17D6BC824119A89599F86E
04D3DF374382132A2F1FB1F9E307DB10AB21E627C4356DBEB97C0A6205AADC11
22176F33DEA813908601A242263A845256234C6A3C9242AA2811F9E43BAB934A
024BDEDA3CB1E7DBE07BD210EA3341582B6D2A1577185C01E6F38CBE50E63DC5
0C27D22533C60F2FA74E15A9098F5B0AB07B31A098A88C9629F2BFE3E51379F4
43E54F4AC11B6134C39EA3F16B0AD01160792AEE382FA08C171DE8FE8D78B8BF
AF4B630DCC09B8C548ABF9AC0ECE250D4F18F481EFD5AF1F00B23DF090B57BC5
7825A72FB1E529CAC192DC16ACD2D77E8FC158921B4E9073108E69D69E191B7E
8E1840F83F758C840A0DA59252EA309DF1828E5C01FB9528AF8EED2A5DBCE0B9
8CFAEED4BE7BB81293E49C382F8662548F7CB5579C809007E665A50BBDD51B2C
E1756BA9E84AB65F970FE5E4282417D5006EF7786C02D0817D3841DF95E00C87
CA35863F66C06860C9117A4E7E5008D45B70584AE3154BFDCA49006E9548C978
D25EB10052885AEDD07F8A050E5A64C5BE3270EA594D79CCECC92996C2FFB2E5
FA947080F1EF2335799A8DD8BFA215877BE32C2B5A633153F1F8EA8C93B8362B
A3C7452B8D0AB8E6EDB16FEEBE51B64FCD0601F8F9FA99EF4241CEB58F829128
F21AAD148D8D681F84E51F5A53F6C13E5CAFEABB18CCF22180C0B911A37624E2
5FB908863CC80ED9C93B93AA72997D13FE0C71F0F38F274B638D461A44142142
53CF8EA0F89FF54F775FBAF2540C02E895D0BD75B6F03DBB65124BB41F8743FB
B67D53D6DF9A7D134CC7858F32872969147FCF1912C54FF72B609E1A10AE4F61
7068CADBBC35946AAC508AD9F33FBFCAF695F68C279933D9CCA93229CD03282F
5E5343EE96D7133C43AB880C39443F3AF6E04C4DA3CE7D929D128D1215700E45
F297B6517A367B9ECBB65C342E19A3767946B9DD60876E832524575E0289C388
FD13E3132A1D3DF3F36C77B642D24B0ED5D1565675D126D851A443ECF57B1806
FB9F35F99CBEB2FB577BB977377D7A0078A6882D81E44E9EB7C3CD28D1F24090
744B6CE1F5118F08F3E7F8F87D783C0FDB032942D78219CBC36C704AB9D62B8E
D908D6D5490544EFA10B481C6DFC44650EE3B24C467C67587BB53B2F0BEC46A6
CFE5F4DAE1BA4F2F53E8E99C10DD03F1A6B8D6D7345FCF2ADD777055BC911BD6
78331DAC5E9D58A574BA42EB444E2E6D9E3971F8A0995E552D38BB18DBE605A6
05598018EC62C0911BAFAA8BEF2AA3026B574A05C06C5B09EA81EA2D44E526B0
AF905F7344DB4C8E665DE157572835EFBDCE23C08182BD6C88E754D33DFAFAB1
D598596BF72D234C9B3CB4F863EB0C0D82C0CEE9BE01B07BAE14867B52B3EB88
D13930435D24F524FC4DC2306980CCAA8EE2E162CF5244F02DF6F2AA2936C03A
86394C9A41AA3B7FB94D21A8859FE976738E93D43DC70323E5601FA2B4493F41
0A1C509CD367B5DB76E015B34B1F72F560405453276665A5BDACCE7A0692A0DE
CC922A68F2D93E90AE381C4D1AF81E9B89875919FB8793BAC481F0CCF4E3C5E9
1029CDA7061B66473784FBE92A10DE8CA6C84BD94D1E3A13D192C830EC5F9028
E48426D99124CD83A8227580ABD894E9D77978311A635A827E12A72ECE2F32AD
947DEA382F773C28E06DA5097CB8029B5B72F7288B42D1C916558ABBE10CDF74
56C51DAAB215852BE0ED396764575A3AB5B4A89F702C444F6674DA9D73376AEA
EC3198028161BA0390B6B2939E9875833ADA7A21ADF4E6D72D1C8DB3D26444EF
543CF25E128835C6014E72268E92DFE53B8738257FC352007C17878F42AB21D7
0A72AA2461CF6EEF556B006FF1804E883918881AA448BA38A4BD8555F5A67B19
0FD667D74090CD79F1AEADF3B08E61747435090CFB7FEC2536E3DA126ABAE2C6
35697ABA2F3D7934D1C933B9F125091F6BEE1A1EF576FB3EE511F739DD4697A1
EE2218F6901623F9789B62E6189B86DDCC11CB4E8AEEB13707F4B20B6544C76D
23ABA706ECEFFEFE9A66C39FA17B9716C7B87507AA5A4BF61A0A9E9784ECAC33
77012994981273788B497760BE6287D590D5D0ADBB3BDAF1C5162243CA9090C3
F64C2196D935515A4261EDE262CD9DD5B4AB530A2A513B96FAF5E2240C7328C8
D60B475DE444CA05F9DF021B970A8FE30C6B4DD16087BBC61833CD4542E73672
188CF60488746694A23EA1FE198FAE888EC3CA3C409FECABBF89436F560460A7
D7FD3A803F77CAB7BAA903D7A3DA3390F757E8EDAEE43CAD1E46377EDF0C552C
C47B240107E39EDB0945BBEC2F1660254F053EEED312DA47D844631826C3B56B
42A18F68482E2012B460C152F413F9106B392BB0D255173E8E37EE818993A03D
8CE853111C89C3E2F9125FCA3DC4C999656DA1C33991F57DEC5AD6926F45EF87
E624B63EFC18893870E05250AC4C3091656874AECF48D4587E51BFBDB09B4126
F9CF451C2F87FEB303E7BFCFB0610C332B05150E1FD9E4D73DB8F911190984F3
C660D00B0710647439053139B8CCBA7507212CBDFDB6D5473410DFEFC59785EB
4B81C585763401F95F364379D19CF541711332C1D3CA5EDDC643A9CD7434DF80
3702AD35647D3A794BE2E25323EF239F56699CE11B08DA20AFC4410D06DBF8A6
CB6174424312CF91448FFB95A718388CB9DE6EFF3176AE7412D8D760780B171E
B928C6168089E79C54BFFEEC2EF6115D724B091FECB5C1A47132DC1EBA407839
B644B4746C2DEDC0507DFB64D57AC07DB6F48E8592B126106825E7A791FB5EDD
1C6A51E8F27ADF467BE79A4F20B0FF87C997A9BF6FA2DF429171210FCE2B232C
EF4FDBE0EFA00ED1CF27FF4A812AA00C47321FC0D172C06CBD3A4BF81C45DDD7
6D90F7662A5C561660CCBA192A28C49027AFFFFC8ECE256B10D6D6FA290600A2
DD8E6117DBF228D7727BB76F6E40AE7C315AF30AA387FED52B29BD0625C94356
6A3061FD454A3C20CCEB8D06F3B2D0A5145721472C42B8AB7D575EABB053F9B2
44F31F10A2834C4C596836A9734EAF172FE123392687A3C966906795AE51B6CF
DE5291637EC6CAA764978E6CED9504788B7127B1E064AF5F3A056C1801265374
2D488C6483D21198BACB12FA032D053B3CA74FAB9AE98D47BA037E205D1B0D86
BA0ADCB5E8CEE192F95DCEFCE8953A295408781171CEEA76762E668B3409C726
56439A91DBAA042AD2983B7A42C823423860DE9139C89762FFDEA2A7B183CC91
D1FC75B26823D7F770ED65D7E4BF5C5F110E4FA08028087779986CDC2D1CB8CE
C9B6AC5C76FE7156B887CCD19D0D996ADC957F415B7A42A9D7F28CCC6ADD2CFC
1A3279C4F5F38546E4A07E1DE7C3AC9F7E1F0A089A218866ACEB50FE58BF051D
E5E9473B5B1DA2116AA4DB3B3C57F707881AAB3DA1B5A917FE2D08D7EECB213B
571E8936FF4FBAFA5021000806E3D989E7D22EDC24738DED49ED93F99046DDA0
A94FEB8C45D8EDB85F22BF00F229DBF3C5C095B85EFE6F536E1A5B53725BB0D9
9BB1E4DD3C9C1F9CFCA20A9D6B03A1C6FB9B5AB40082A76604860F9C8B5BC0AC
87CE2F6D3544DE509827CAAF913627CA366F811CE1E81328343E58E054F2A5AC
05A87873FB2A82570E095A98C5595CA0D5D2B7E43572CDFF033A5BD16C888479
DBB6727D400321F6ECF236F96B8F16700BEA3E5773D581C38847041ED7984A62
520087C62EAD37D9D440A0785E17EC0B0A2F55F634CED006CD53F06E17F01ED9
70170544C3C110A1CB4B6224D0F43CF6710336050AC67707C43D7551C2C084AA
C4D944BCB7AF4E559484D1908213AD47F999AF24C23753942989D9EEDC9186FE
817EB6664ED84E61A218A1CB7A9B16774DDEDB389F4712CD7A5BBDC50417F86C
96BC5B09F9BBB26648BC514D3B69D44B7CD3335C57FA656991B7D3FD7F552A7C
1423569715CEA9F4C32A296EA243E2B4E52430E7719FB737AF26696B2432F692
A4139C642A6AC8ECCB04C51CCA80F22C69F38B4CF2C4F5FD76A3AF5921073D20
0AC49A469997A2619CF3669D3709E47C665783D2F770CF9EDD8CF60F3F75BF2A
C201879C490940785D0B3ABFD50D751A16E8944590DFA5080D2E910C257BF866
D8A35C1C6F64F937FEAE266AE8276FA4E3B054CD3FB6E5A4C1AE9666D744560F
AF055293BD19A92FFF045DD9000D6FBA24031C5641B91229AB1309FECCF11ABC
21665145A6B0B0B8B7493DA3D46FEC8E8124F2A21C016AB3310E0B4CAE136BE9
9E345A3A61753FFD19DF4B67CABFC2C504F6D387B5437F4A51A782895585458D
EB2A933D34F076953DFD6A38BB06D42F7ED26F674833250B429B4A5FFB5D2D67
AEF74107C3D05B94DD2E2193DF025E789F380CC7B93D7DA329F5CB7F23B2D6E7
1D9A5E1C1B827EBDD7A2E5C93C06554FDAD091B20BEE28EC67BEF4B8210394C4
BA691E15BE2B98116637DF1630E6B9246F35EB13F8674775EB2DF40754D5784C
475EA36E2B31877F2EC16F3C5F002910D49B76CEFFEF175630109B50D14B0B63
97E2AEB3155C0272D6C90F8C9D5A2A2C91A728F4FC123AA6199E84DE2F247C9F
FAC1B10571E48EF12D85FD57B906BC17F6250A441F3A05BF6EAD8CF0F440578C
CC049EB1A253625DDA18F20E2A237EFD90A660BE1A7BACAE8B84D2A041F2914D
1F1B486E4D7638141C4961787D30A40C943486DE20E41F8113F9F76299776E0F
CDAD2F0564AD6651B100F696C2ECCF0A564D8FF247619C37012AC1F2C7FC9C1C
16077FA7A707FD58F018556C0F0C20CF73C382DEB386DB189DEB12E7EF5C92ED
BF9210B526E9B5A487919077091900E2C7D931E89077CA0C878DE20E3DD498A7
0D15FEC9DFC851B4B86B133A9F2EF63D7543C91803C30A885A2A54F4493572FD
626FF72F25ED90E0066ACB6D15A1EEDCBBD560B45F94E3DCA516B4042BD427FD
09FB77F5745FE41C040C2B8E30BC99865F7E67743C1187A359A6B4A1CD902D93
CDB759DFC4D526915EB5AED75A645A4520C1F76B3B30811FB6B42FBAACEFF7C8
6058E70F81CE6246AABABF42CB88B489088460EC57B2EB400C47A80E1B37B8AB
8015C6A058E5FEF761DECB1C26D19495912A27B61C6FE53FA1FEFD9A19310C6B
079FA431591EF5AE9A23CDC08ACFD982DA7E3D65061DE21DF9DD51C35D207848
A2529226630A319F25CA99227A36FF3FDA9BF9ADD505B39DBA5BF3CFD99462DA
EE8D74566BF11309B6CB94AE4EA8C86DB37702A279359BD4DF2A247440B9FC70
D985CE292515DE8F6CFB7D60030B44CB66F811397C68D7A587EDE2EE6AD712D3
6E9B5096A8772E8C512E79A4E71EFB70551AB481D59388272E250720EE93CAC5
38D4DCB0B50942D1DF0699EEF8305C509B56808F9B9F60775B85C4A17B9FA504
2E7B22DD6801FD372752212C04BBE54458E2CAD1D417F159E7E2ECAC0AD76242
2EC63437804E2FBB466F6C6C6F8562343BF7A1848E44EBE4A24CC98937D435EE
34196BF6ABA7B0A202CE761F5CE6A6114F0EF8EAB268760C9C2DFE8B22C34AA9
6BCCA903500F29877A6822A9ED4EF80BD896ECFD6D449F8F833337B3D986E515
547090365DAD1E1841D672F7A4604DE3E6C96F057AD96BED34A041258BC0B530
0E49B36D287E756D4E68C92EF8C98F4ECE38521BAE9D2CA68EEBEDA3F24A14F7
C0F1A88547FD9B18CFF354CA4F963FA737515319D285EB43B632D4545DCD6665
A246C3251F52C8FB8074D97B05777D7B5A6E3E12F5C0445A81886D3C3FE28306
A678308326F8B26BDA47440CF9521D69AA533AA0EA4A4CB8FCB11E1A07D85912
07C4F16D93514FC8F14DC401BDC2B827025564331E3BBF00A6B2C22477C4A89A
5E74C5BB2FC0751271A297021360C49117E6DE0F0A386CE0F0F52909F9767F84
8B3863DA00C9B99A2E3855335938EFEDCE6DA54E0EA6690D68B9C30476E686E3
FAC7145C09E48D09940F3F435A75B69142572F4FB69A5A2AA38E00C6B2203429
5306635A47DDC99324617D06EDCF5B1ED25085537210088970EC7A59306489AB
F8D5FF84817C18C972337A564693BDF1B95A06EEF8EAEBBC7D00ED0B23351C22
D84337C757597A52C2EE483BD135ACFE2242F27F0127AE9076A225FF6007D841
DD71C3940C8247DAC21393C47294627C871A94EAAAEAAC82CDC813463D6E4800
D12058FD859C3AC8E48AEF7A13CE4504F11A483D115D86B812E971961020FD11
3E3D376386675A5FE01A608E1C3C7AAAE82F7F95787FB4C3EEC4B6C709E768C7
7192B67DA962CB11D99AD45512A44E1A5282BE71FC048FBEC68A664A1CDDEA66
5495C294925AF22ADAA5800D32036D69EBE07FC80E778B75C866C465D6233EA5
E9DA48D7A0A6F962C49922EC96CBE4FBCFD519C12AE511A42F94C7CEDED3C793
56C27AE1EE810E30B06E12974ACC7C7E6419AEDA99430B6ED8001EA3AF4AFC0E
F6113DBEF54436CF5D5DE58C13998305F9FC0D519A268BCFD05DBF5ABA0BCC5A
EDB441A82B0D52CA511D2B350690386157F77B44876644800E764A5486D19081
6F3B2496F5EDD8F91541EC0D1E2B88EA6FD42D8639AFED7256F75DDC53DC91D8
F9FAD34D7ADF226E2FC2C8B95499201CD8F74406580E7A02355D67DC6701E2CC
6B11C94DAFC8E59A80CE95EBC0648108A6F8C807618E13F2BE4943535727E538
35477D1F39C82E97C3AF66F5921F4B9827078FF5897FDF9BE4B5AC0622FA2391
206F7152718C70F409273176D9566E0DCD77E4A4CC12B7A6DF324A6A757B35E5
8ACF36F2446D23ED8C53F1A1FCA5FC298EF15E70D77AF75D50B79453F1554F1D
C282BBE6B58DC045280A86BF5E80426EF50BFF0A1BDB0C8ED186765C9E3C0E8C
BECDE2AA1CAB89C06C724910407CE3B700C593E41C37AD707DEFCE1512CBED72
E482DC57A09DA91756217BFDB572D7F324EE1F508BC340336BFE31584F2A82DE
14398FE0200EDB3A4297364E061E6649D4EFFBE4640B0AE6122D25B7990F5D9C
483154312B2A326BCCC3070109FEB658A684EC173E88EFA5117306889D5565CD
9E5273D94D6B49A1E35671E27D01A2CB6DAE52790D9399811107E8CD7C3648AD
820A74A1B3F6680FB2A1F7C6DE142E497D400304E18990EBFBC567F850C3F1EC
1D716D6A24B2FC7CB3FA94492F4E7685C932D259F59834D66093E033A7124DC1
F5ED963EA72AA19726B07472E07AF3AC25327926192D27662C360E5C7B00E4C6
D913E89C8622172C4A14DF036488705C246F67156C3816C98CB62F3C1D86D099
5CB6914BFACD5203B876F33741C033A24220A3DCDF12690ADDC72D31DBE945B2
BB4C0B3F0A2C3B0F6B69684ECCE1EBBE3037CC70059DD6E3777DEEB2B83B8599
1FFF8B1C0EC734912F2820F3A24C6DDA965B7F8A363B501F71F6EAFC84618FE8
46BC589A416CB026E71BE97EF649FBA66C54482E3FA15F9B4E5ABD2F6B461029
211B2428EB1873E373C9DEB3311EED7C0EB7A2338DDD4F4699AB8346CBA3CDEC
EFFC028220E333F80BBE687052C035C1C0A568BF76F186DC0EC21E38B0583E09
96C385F5C1492769E3C9A344F7329B0272E2F4B2FFFAD9B61DE95E4DDCF778FA
66A8BF212AF3252D4147F8BC3F19D798176C47F7CA8C9A3E94D417298F505E29
4D43171922FA7F8412E12879F41161E3D4A751680CC3354BF6153A4DD5717EC7
FE9820B2111C877BEF12C7DC0E8038AEA629AA6C1DC2567EF272417CCF48FB93
0A2022ACC4A9E98602C2C10F628C06352A434D63D456399A39E48A3DAE77184E
65B813E48F9FC2ED1CBFC8E1E838BE189D6607D9FC6963080E7517D17419D018
449E252154AD17377AACDB252FCC355F00BC387DF5B665988BCD6770767A1740
9B1AD5C0A84A9C660691E2A5ADD222C55A2682C2CFDB39FC696202246ED7AF77
585D76C6C1B3DEF521ED4B41B125F30A6C95C260379BE84CB7D7357F7F18086A
B8076AAEC9F68AFC2668695A3604A9D96C294AE3137C27501941FF5B23F46519
65BAA0787514C0C42BDDBEBCA583383B3377D3B620FE6F37F9338A06C2635A08
B7CC7A8E3BEC5E77740DE66367FCB2BA68990F51066A7D4A2706DAC419F8CEEC
C9E11089D23B2E65799697AD11F023D386257DEA0D29758319CD3DA33980BCB1
9510514CEE074AB9829A889A9E2DC246A02D4E9B433B0EC9980877BB97FC4E93
1E322BA201501E4993227D31BC1C5BE85B8316DA22B9BD45D3CE2FE9AA14CC47
0B26FA0A901EC93F2957E2CE9F10DD6F9EF845016328E8AAC1F4EAC73E1A4484
04E37068F4115E607361729AA474675C119F64EE21A38CBCA5966A6B5E5EB044
8F8CBF8D2213B5953EBBA629AEC8E061DCDDE3B9D15581C759DBFC62C62CFC60
62140F6B21E4311DACD25283B1BA8B0D9ECD0A097CD2FCB97084134B67E7E539
EC0380B332B9E031FBBFDFBEFD95F5A47DE16F25D8DE7EA159AC00ED456F2C07
5BD391B5A5E89ADC16E3802AA778A8075A346C2FD51EF4AD681F1B2EAA9324E1
DE1D679E42D11BDC272B3312258E3A82DB42F8E4419A38A7361CF038786470F9
BC1170A748535450217AF5C71D83241282531B845ACC3F7B2E6FD636A234B2B0
CABBB780C740A9D743984DA3E591076BED22D92CF8AF04483DA96D215E7AC6DA
8F813D1ABA3017F8C07E8F9D214D9C6235200E29E3E9C0C139D3E52F5536D521
82ACF921BB489F721FB6F817FB20019804A2B9FD5276F51256040400D4C027E0
45C5733BD21C79BBF5D10DDCF69B627C4C7C0426B624BCE0C20533900A419CFB
23413EFDB1F538D46F9AAD15D274418774B1ED955CB2559FBFC6DCDF50D4C537
5449E4098B069FB8FE21FDE02631D7BF0EF04DF7294D065BC00DB1E4ADBB4AD9
7AFC5FEC13AEAE111A089F4081B167386B68A9E3074E433A66C1868F5D3EFA1E
23BDE9ABFAF4E2E960B7F9C56F06093B76E67B53738E46020AFBC3E40F014F12
327BB41136150B24D6962D56ED3E59CFE74F80FEF284378D59AB8CE97AB052DD
017D9FF24EC7A8436E7CEE11FDEC9557CC21920645E8446C3F2908DE1E0662CF
3F224DCC5F97A5F30CDABDA80DC3577DFF16A39CBD7AE72174528031B8EE393D
261922CC6A540E7DE1F194FF0875066622D517C17DE1DD910B51B4E03B2D5271
59CE99A289A31F1840A32D1572A5A60AA5A86784C94B35D031A9F7FD49F697AE
B480746D738B70CEAD909B279445A5F20FD29FA9075BC0116B33BAFFAE518FFC
749377B143879F46BB48FB564D51DFB7F5DBA6F3D112EEBE001C4A5A4E605097
BE6EA585854CBF30F2842D69A8CFBA29154473BAB1980664649313E454AC5C58
3547D619DBA2604A5FA0238772A33EC5CCBE2F069116D8B382FAE00F552921B4
531314FA666CADF586AC294D40E7E681589B73BD1116EAD917FACF5713942C03
7C69B88A086E1AD91D164DFF0C08BC7139491D36C0CC782DC150A6342D5A1CEA
80C76D63B6C37CEA9961B871A7D270B66D0B05D0DB07DC6A6FAB46ABB3665CF1
32BA793BC11B7F73E1EA8E1D26B1D6070544B687E704F1999FBAABA9326BBB88
2D91322196BFF44298774529009DA9A33B9D14E712C607F0994B3AFBD9011415
A723F061934EF2EE77CFC6396A9DA6BF18A0D298C7A6C68727EA2553CA39E13E
98813DA1A114CEB833FE98491CCC354989981CAA876F9E78D6C750B02BF2BC1F
4536CF7428C7FD5BE56D02AE49029BD2B8A96D7A0C6BF3B05610C28455360976
9C8B306B9ECBE42B4808BB3A9D36E345F097596EB97DA5E22E51DBB5E910F9F7
17A6E28FEF9B12E0D02A1E13C1FF687B0CE5622C815F35B2213A8E288A566823
B90C23370988F78420AA4043E1864629FED224E8B58457CE0A49F58931D9FAEE
713A8CE4C7852A0580FE62BEBDB20D12C704B503263E8D6EBD8F93C77D491FE1
428D27671F1D72DDFCDD1A0837A765B1766530F94AFEE9B5C9DE46BDC6C9173F
7E7B479C4220CD777559B35BCAF212459B68F4770825617AF932D714F28D113C
B7D44904732A67C2D50EEFDB9EB329F43A0113BEEBCCE178E6E717DAC159D5CB
BC96B4C50AE6D4DBA3D55158229F6D97A20AB1E45AAD87360072C18EB3F43244
AFBEEB087F7A4987E5BC015AA048CFD2D83DB96AB6B5746DEFE533CE8481A8A8
A19580300B2DFCBFC5E12CBA1E3BA649EB66FA725CFD02DF87B8EA185B6F4D6C
205694C15CC26A6D11F318E0186D89FFF17932E5BC951C0458F80871919073F6
4679128370AA852F9002026F494095F069D5000850910D8513A0B4E2713E9A49
2DD5E7539E7FC1AB9D5B572E2BE096F90D8285E533B98EEB25A67642988EE3AF
C8024AFFDEA924C390952BA44A84A94B36F37BACE8CA3719C4584D509CC0BAEA
F438F87C639953E72DB2033522EDDA21D2B42C6BF884BA9EAC67246A4B8A73B9
CF7F43BEFFEECDC7ADA4974F958026DE1AF7AA232D816424C1AACADEC195DCA3
E7AE83E61A52175CE6858CDF6EFB880A7D224F0C13A21390825403A4681A074B
04AE6AB5FB0C4A146951CEF5478B1B32E1D84640D11AF5D139101547E253AFD7
B7B9DEB57D631C9C0E972B592277BB2FF5D95A136A7B0E0ED108A8FCD64F18CE
630496FD8CB69AD6D80DF902FFC227A5BFDAE88B7C358FC4B3DC8098D5A61F6F
CE4E594AAD556A396B7BB5209DA21553318B7B911F5F7BDAA4DE068C2CAA4B65
6AB82C9F4397B0677766EFAB0BE5C749D78B8A6438AD7563052189FB60C7E8A0
3335FF01CFC124FF7D73A9B0AA469D3A728D73001208ABF90D950271894F3D5D
5ABB72BCC65D90459F59F72B67312ECA5B94337E884413C813C3E1081D6F4495
EB8447C4CDD0568134FD4043DD9ABD8E2318192F9DA8BB39AC22F5DB70A0BDAE
F60B85431F4935B728E16E1E331C0041E118C20A7627CDF2543732DB38E47369
187FE077A35C8B94333588CEBABFF0E8E51492AF29454D6A6701339AB87784D5
2F0FFDA934984AEBC73ECD964156794614D87E8CA8B13DB155273E792A2833B8
17046BFD0F820F8B0DC1BBAC8301F7ECB07B8E9ED94921AE04C2DA26E6CFD353
3AC372A77EBB312DCA7FC9B03860A21D3C8177A868AD3ADDBFE13B7343FE445D
6E2D241BDF5B176B961722DC335F5BE9964ECD43FAF947D91AC4CB7262E8BFFA
55F9579B5CD6919AFFD8C11F8204F38626C9CCF541DB9D8DA16149B911FC1234
AAEC14F7D9153A22F8B2C844D3E8EA389E3338ABE56DCABB344A7B5C121E1E80
BE38DE6F5EA457DB0558BE5C94238FB3C2150DA3825ECCF3A0F1E0D215323EE9
429B2481A931CFFA96A383EE1B20CA02C4BD7CD2ED574E69F7D6CF1D408A171F
AFFBBF57835635D1187C48D07FF5E1B25BB9BCAB7A3316B789655122629FF5A0
560DB78C89D82C0772D8919B3E7748D4CD562B9EB6660C24A79982F0B03D78CD
9B13C20175AAC320489D70CC4604694D39853D53402A79AD8951626C4B30F4D5
C3D46486C72283698B1633FA187FB01659B9A0F368DEA848299A8C33DB0239AA
F6A7472CBEDAED327E2D809C5F596A355A6E7F6D93AB7C3BC6E15C3578D99043
956890A23B46A7DE5BE56CED401BBCBADBAF297652114CF00839F3FA7ABF2C9F
CF02F28639ED6BF424CA843B40693E3ADB057826C6559F9D335E1FFD591170BB
7E5B885C03F6FD05E0131DC6F1579F6FF27B8CE2A84ABAB2BB7AFBE6B6014997
8B134A6D47FE953BCED1091822C7E35A132863547F07EDD1A60B4790655B7FB2
C0C6D36EA3C8847EC0AC732E2C860784623D8BD2DA07D8882CDD68650D08F8F6
E4908EB944E7DD2F120D894DC449A6453A8BCB960EDA326C577EE33CB0BBADA0
3C3987F804745C1C1FA648B3ADA27E202F8FF522DD1C87BD05E5982731DA36DC
CF10D8D5DD6BF090689B8C5F36E48A5AC2454EE187C691761AE58CB8CD264F74
50776165C58DFFC960CFB68F0A50D39360FC7C2FC6DC1AB43B1CE79A04FA0B32
FE09C04EED4B52E240C5D28314D6D049EC3FC10574740B4C1222E2F40DFE80EE
96753C3552DC7877DC4AAE96D35838D3F0BB530EC99A3493780E6B824089E728
311772C2526A6CE83DC95B10F38D7107C084E0EE38CB2755669F4A784EB2943E
4785275DC68B2A4F21862510AF7BDEE0FB056B0448702C5E781C8D595B2C3215
C7AAE06DBB6C779DCC0EF8A645D6B2BFB15BAA45B12813451B17ED0048AAD4F7
396D61B47241E7E1E10B5204E612C114033557476E31B5B0BBC39A5303CAFF82
8702B694820DD374CD9AEB875B4E2CE3761EF7C19FE108770F0071C99573137F
1A19E167A2C0410D4CE779E3874487257D8572FCCD455214C4E20194D8C1411F
E0A856901AF5E122EAA82D5B03626A1A3D9F25C3BC229A893B25067965187AB0
1138B0897ED3B234E8AB8A1A3E03EAC6FD7E0096E0BB5F12F217454B728C4E2D
029A441DA211A85CA97A1817253283F936979A2246E3DF44FD2B9FE2AAAEBC73
C7EFECD7FB32ED53C9A25C1B8AC3DE43BAC81856783C502C95D8E25C4E550397
0FCDBEB5CD911428C2D1386EB5E3665A024F2F7D331CAACA8A554F6D5C91F2EF
69559615527E7CF74D8BB692D0CF814695F6156BB070D6A6694C42A829A95D19
D4723C4222EEE0266BB0122F610EB6E375F3A762EC5B8D75FF9865B8863D7158
A448FC70ABA1350AE45692F20EDB6CBBDA98AB3F586B02C52AAAA0E3926E79DC
C752813C53BFA759D6103355F079D8EB278F2CB78A5AF17C14DC43203C72DD0A
401A9F277E279174DC8DE113C5C57769AC0B4E899FDE66FF261885703073EA05
6A96630CE170D13FFAAB84D8DF5B72F96D2690489671D66CA3D3F640846DF5B5
08A340465805EAA2CB5CCBBBEC404450FD884F1079DD2B518046FF355D11BA67
ECBC6DBC77F2B34645F8C72B56779B34FA15681E0A8B193E8B8EE5CEA8591C03
6B1A2A9471B8265ECFFA8EA0039087E8D6EDCB96FCD8F428C81C7605BDD45DE4
2EAF422807F36D656F8EE90810C990151DFDA77BE22224A2DF2A2BB555FD9133
C66FCEDE73FD33330CB8FF978B8FFED25FCC5FAF9EA60E139F1740B5191E457E
15CB57B84BB8913874E39BC9E56791AE6D34920FEEEC4F0ECBF3CF3B7CBDF443
FCB2DB6D80DDF2497A62E26EA64BDDC148D8DDC9ED8537F749A2000EB4E62457
22AABA75C3B7F6604482132950B73A8744A1FA31624F6E3CD08EDA651C0DF6FD
74105F4BE188574FD4140B98932D0969DCD41855826290107F3E6C36D64A6B12
4CD04EEF21D234D799C28CEFE03F1EB0C75C43F8C7C22477D0242A172E7EC2F1
A02993D45852841B395F367EC77A24D592C20B4DE8986D9F92AD3B59DAA7FF87
E991835823F2EA7A3D638C46A423BDEE7584DDB6B04098186FE196A65E330B34
C6FB5F5F6D61DEE4A47D8E1A51957AE6C3F09F80A3E2B72F667E1E76D689A21D
4FBEFC07751D50A639020F11019F467B067370B5EC9E60A289B5F364320A5923
C234D2269F60EDC9809FA5D5869D30744EE1A35391DBCB3D9AA856F0F107AFA2
DEC10C44043D812B2AC72EFE3EF1A88C8D2826176B857CADF5C11C5D81C7A46F
BEB4CED58C954771E4C9C7B4E49CCA9EA94EEA1292812BDB0909B2B52C5A1449
9B6A23F7DF81A565187AB4429E6FE38D5BF910304B2B6FA02E0D08BEFC6B9BE8
A75A9E6F739FB3F64254138559A5A14CAC5495E3CAAA1DD81DB91317B66BD3D6
A7A1833B39AFC931BD7563E2857E51203DA55E7626DEDE895B47E259C6EC964F
11B396F78E065A02C3D3768FC7FAA74A715C18D38A63B8BD64D928DF273B280D
CA06722DECE0BF58A69100C903478C2815A9EFF6CA2293332982D5DF18C14C2E
912571C2442D965616B81F7ADAC4A0643D73B806D11703E0017B9C8D4490607A
29B23D9F3F8ABE3D9276F0DD73D7B9356C1535E147EEA224207476879CFB99CF
07DE8F6019AD6C35AE5C1154D573D491956BB3C3151B057BDF788B5907AF2A3B
5E90CBBC343077224FE12DFF4D64520F253761CC08EA51F57C6D933CBD39B6B6
038EA7600BA094B46470C07CCE4ACE79FC07974872AD65C8C2908775FDE40A0C
FEDD45931D0A7FE3DE0722D8BB679F1A3F1E6612812C3FB0360575F38C9A603B
6CCEA66783C1AEDFC4898196466FF0D01005906CDC28FB170C308306D023657A
81B1EDE75B8343C0C5CF82811C44998ECF6CA249C3CCD2067B0BBF83D820E3EC
A047A7451F6D9C5A63CE5426CADF329055FA71ACA99790903381472E4D54FC39
4F150EC9C5F19C7D9924F90DB504605E6AD0123F65CE47CB0B2FB8683291017F
337337EFFDE5A510E90421990AE3FBE02F47FB8DDB3FB3EAA9F062C801209A6B
73AF3D0E6C3207D302081508DFE9635160873AB9DFD3CDE4CC1D2EF221E43BAA
E1BB64E175BD5609CCAA1AE89EBD7332F4E4DA5BCEB34720D7CE8B3619917883
0FFFECD917C74A6FC604F6CFF0D5BD609A444B16C1622677ED437DF68B1915D7
B46AB9E6E35968D966E3361BA90B6694C8182CA81900D028C7825E4BCF1CBCBE
362A6E6E404D0CD9AFDB6AF9408B816DC713E682EBD906D19165CBC58EFCD0EA
C75A430384DF868BBF99C85AAF497D20C1C4C44BCA5F1F0189822C0E0DB22286
C4DCFEFE23A2B4939DFBEA0D96E6B6E575147635FA1F31C44DDB74A482F69352
C4B666FDB94BB8453DF3472BE66C31216ECC3F682DF022C4072C29BFE203384C
8861F1B9C37715B1F63E6669915E657E645A15EACF749B4A20AF60A9A3DC6E68
C6C24AE640EE24B53BD2958DC4CDFFEEBD555FA1FFF64DB57036F73C78E9CDCF
4A7DA2F7EC0FBD5A9D2F3FDA22DD3A536106D5790399C255240BFFFF51685673
9FCFDC620BDD2616E96362C10CEEBCD628A8A3A5EC32B50F6CF5BCC85EC2A2E2
77BE93049403C5E01E15AF4BA546D85D2A501E3D37EBFA3BD91A50E4DDF68F06
8133EF263F27C1C22F05AE00FFE199020E92865217CE8AC524775022071015B8
D898989BA6624585813A21C3DD0DFC855DAA95B574E6A590CDF3953A5E64DF12
887B09E24144AF02CA48C7DFEF5DD008C7BBBC91F3CC6950462722D7049A5CCE
E2BFA459DD67244275C9599DD78E3CD11CAEAC3422D6216DDA27A94C563D5CC1
834F9610B28A0041656B0FEC8983D72D5ED0C91FDA32D778F545FD996BE51FDF
A548708D46A908CC0AA2809B45D8F84D50B3F7F7E6332E694B4162E9622D1937
7E413BD3F00977D38B3A81CC172EB29BC830763D48A4DB5A4EB3FB79453B7512
268ABA5FB487D6E426B86C1A9B49487F389D28A7FAC85FF65372CA0464559E44
CC8E8EED91DFB425FBEF17B0626EC215A21F2B89BF644A661C3BAACF2990E97A
9867179CD5FA82CA52F06DE8C62AF286C3C8374982F1B6E4576A5EB1FFAF7567
81E4633E3CFC62FA2C043397F6899B1FF0083982526A4C1CBE3A2B52E44B368E
640292F3119AED62E747808FB96A36F4660BF04C46BEDA931AE73A97C0AA247F
05669132DD83E5E531D5B5854957D89C6C6EDF615F0A942F5EEFFA27A26B4DFC
F305D32BD15726C85D2C95622172BF8FA12A4AEA7BBDAF4C381D2A656D6883EB
0CC5BEFE088E28562EDD4C6DB3DCA58D1FE445BCFF25418C6C7B1C208C13B22F
77170A385D5AB647DBFB569C261019845F6E96A024AC1BA9951C5F61964B3ACF
66D2CB795C426288EB73B67FE1A1DA7DB94FA128FCCBB41E7B7DE16EC96BABE3
FA63F1F3EB37258EF26378C38EF0054ACD3CA0AF85F29AABA37947A3A9A0DF05
E9A35602687DD9F65740A36FD7434C9710E606F1E52DEF3D159F2348705CFA38
A806322FE998CC0938DF33948027490BC1640604AC6B33D50D7246136DC1ADCA
7C21338F2BCDC6700B7BA93E9AB565BD324A39872728DF7F2D2388BE9969E26D
D3D06C2D0914976E63C40B87E2EE66F757B6D7E9038F77F70B3DE9160CC66AB6
7EA6C9BED2B744699663597619C75F2725DBA99BD23C453831350FEEA2CE697E
24CABAA4783B87AD4DA8CC4E7D8CE49AA3EC4C0D947BAC3FB7A29AFFA7D7E21F
F76C48F4293A3EC09E90B95E79863AC6913BF9B8FFA3B64BE7450241892CED7F
8408CE8B37EF182B9709B70DCC1C56D60FAECAC1823DECAB7834F25EF6F92FF8
A88024018B012055673E1E1AE96856846424BE977D5E2391E681CF421F9E8C59
426613FC9B11A1E74CA3307FB4E2C9F8A8FBA1365767FF8213F65AE16B1FA538
E20131DFBEAD359A9B66E8E0580057D10DAAE6FAE824F062BC8A5B2E92E4F9EF
7A66EC864B3E9035CFFABC5DC951B0A0EC28A17DF908DBEF74A4CAAB716CA651
A3CC954BE3734BB41A5926F0AE2FA13B2301EFED79AD14B41B69A2266698C431
A26D4D9061578487BAFAAC24EC62FA64E98DE73161D6598BF390FC861096FF22
81EDC90EAE8F81DE832E4FD7E42A01F4E44D5AF8BF62593E7DD7DEFFC25D37C2
F25CDC47F6D0A2368BC0F6A3AC86C7D011BD62C95CADEF30C5CCC0149BA380F7
4714770E246601B2804240A8699DCE88BFBFB8173E9CAA917A2E883978F5EDC1
144AFFBD1817AF97121DC66DF0F4A690620EF80E3ECDA7CA4F21E3A669AAC0AB
84ED83EFB39CDEFC01C82A75ADF732487FAA5252308245A4CED3FB029BE8D629
674C52201D8A7A6CCE4204D234EB11DFF592A0EFF39A1175F8946018D9A7B4E6
AFE1310C534B419E1E22C40A015EEB1FA0F75672AB5D870DFC246939757548B5
43C4DDE217C436C617EFFA273319E420A28697BDCF988CAFA5A7D1CB18AC74E9
B3FC568DB49F97A341610377D6585C0444BD272D73C6D72CEEB601DC8F39458A
03B98A948E89CE15E6596DED91329BC248D1B1DC5389DA9FA12F457A5AFDD389
CFFB5B5E4F4102AA66601DEE2991DB182629921E8C32683BCD6AF216A2B14054
F4F31CA989592B429A94662B37A969560CADD0BA02E63BE7C73BD813997C79E8
684DE5F9BB7C18EC19EF5F3EFC11ADCCD56D454FFD2AFB914D89849ACC7A94BD
E2B475B7BBE434E66F99F720D2C27118DC12C841509590A0963AEF4E38E57527
313AABF75C7F557D14175EE0B4FC047F4897FD0406C3683FFA365EAEA8DDB6C4
EC77C47B57D2A4C15F93C265899157DEEA790761F7EEAB88784D22DB7C2838E8
8E3F1234E8676A524E74A1B84869FBA97038F6AF4A27D5526E74468050D8151B
E46D6FAA8C04C4886AEFCAE0538A59C85A50952953F798E1ACBF036A32347856
4A2995DF127236C87E0280F9B72C3468A5476D773E50AE89B531EFE8AC7B571C
18CCEB07E49E705FC805B15752D12E2473FD582A8D06A23E1C8F1B87423ABEE8
390FB806037CBAC52D7704CC7E386700C6CB5C9A1D46840AF2A628DEFA34CC7F
7434B93444177D4929BBAC35B12EE4D01FB9981D821156822B47B7615BA83333
611B1F6147EE47CFFE8D7F5FF04CBDEA17CA70B928D812B37828B78E72E69439
A0308FAA9A4615B5641D9425011899FBC40DA6B5C84F03A253468F90BB926348
FCB7CACA43499DCDE02DEB32F52E3AFDCBF49DEC1099C67DA32C8AD16D1DE524
D6332E8F31BEC975A47E79AFA253994D0DF5B36EEE927BAFF88A4FA9996A7943
576748159A0C4175331034AE8E44E5462B454A4F55D8B8735D3EE2EB3705D3D3
0A287026BEE241994BDD413E35ABE8283A9E419233E316F8504FE5D531E12484
94BA7F9D85749BF297FA174DB67DF9DD1128DBD9867F8AAF8E52B9CD2D3E4B41
5E92C10191448BD281046223DCC1E91CB59A4204B3BEFBD60DA3C3888DFD11E0
F99F6313F7EA4422190B5A0F516874DFF10CA5EDBC7EBF23A2DED06F9F16C7EB
8148D6BE942AA2C1EFFB13C75C069390A683059C0D6ADBA9E27AE476B43BB341
00EC4ACCD3006BE0B12C1EEBB4FA66646122A3D2552D8CBA8B0A96D090800CED
22DCB22763B3256EEBCCF4BDAD836782710AB630002FE24E1DFC483068103EE7
94F225EAD78DC3C445552581F877CDCB11AA8F380F6B31D7D465FFF7CF17547D
98D495BBF383D8AE7C44ACE65CB15A09C94ED54D94093C194AA500C9433EA048
157C21E34267C1676EF18B22F5BD4ED51DEBD2908CBA51F6D9DB4F0B6F86BABF
131F1D2EE44A966FDA10CDA2C3AB36EA89B329E7D974C1CDD5BC0F413F1C22BC
BF33ECA3A2B2D8A5353C68577729329FEBCC31E8E4DE19BEB9D8E0D16272C925
F2E4F3B798A07F0C5599C8CAEED260743C0C7767FA57B505584B30C751A0A423
5C68B353A6C8055E4E3D0DFE631F2D5CDDD1B6D3C122F361A093B08CB0667D99
8CB6B76DB11087A64B1F4329DF39F599965C6F827E53DC5697CA9C852C97116B
626AC8F5CEF457733D6EC4D3876ACEB1CFAF747DD866855CB12F8D2B6F70392D
55DE07C6D07CC22114
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
cleartomark
%%EndFont 
%%BeginFont: CMSL10
%!PS-AdobeFont-1.1: CMSL10 1.0
%%CreationDate: 1991 Aug 20 16:40:20
% 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 (CMSL10) readonly def
/FamilyName (Computer Modern) readonly def
/Weight (Medium) readonly def
/ItalicAngle -9.46 def
/isFixedPitch false def
end readonly def
/FontName /CMSL10 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{-62 -250 1123 750}readonly def
/UniqueID 5000798 def
currentdict end
currentfile eexec
D9D66F633B846A97B686A97E45A3D0AA0529731C99A784CCBE85B4993B2EEBDE
3B12D472B7CF54651EF21185116A69AB1096ED4BAD2F646635E019B6417CC77B
532F85D811C70D1429A19A5307EF63EB5C5E02C89FC6C20F6D9D89E7D91FE470
B72BEFDA23F5DF76BE05AF4CE93137A219ED8A04A9D7D6FDF37E6B7FCDE0D90B
986423E5960A5D9FBB4C956556E8DF90CBFAEC476FA36FD9A5C8175C9AF513FE
D919C2DDD26BDC0D99398B9F4D03D5993DFC0930297866E1CD0A319B6B1FD958
9429B9D40924DC059325D9D4CC0344F3F997A99E6CC0676735EBCD685AAC9142
08DAFEC78BB41AFC2F1C219910BDF41D6279284EF600B69776CA15BC8A34347C
30783C52AFA60FBE3E353E2AE354CF87B558776A22C776C7A0B5AB5CE1F941EF
C2D9CAC37294BF407A671F10E4743BF842143F4F7DFEE643BA3BBD8BB9E3F24A
BCCF7F0ADF8BA500620C81033EAE8C4EF2C1DEF13AC575F1B3BBB66F093D3B78
5412B82B67FFA087AF57182B2230F9F2137180CA58A7D9B2C822FF04BE6CD01D
43B2CA7058C7B953F6D9B5D6E91ECBAA5CDE1159B0E59C83DBAD96D6C8C8BAB1
374EF652D10C0F3EE7104472C98DD3572AAF2D45A70BF7061447E21EE3C3BF23
DF39C2D1B35B42CD5297BEBE6BC94F7C9DC6E61EC67E4F677256FED9064BD3E4
B51A71B1D27CA4E5AA9E1D8080E6DAB5310711EEF87C40859FA935B19524AE83
63B163FA8397BDFF443227FEDF7DB27DC35D89FB1C5E435DA0619A5C88AFC73B
89A2DF5E767C5B536BC7167A840A0C32BD57A14DE69A7D0D819AC36FF32F908A
5070F32983BB007437E3500799DF5E0AD3710A4C0000F0098D5BE99F2EB9C1C2
C444FD9552D0DCA098A94B3BF176F511CEE13DB7EFFAED7C47B5ADCF8D4700F5
7A5FD1B49560969BF5C44F3749370663A04776F749DDD7B50674D93254426C4B
EFE264BEE7810EC93784B7C01A7F29EFD92547E13A2C7851A2E709FBD5B87850
4A44F08F56A542DBE072D2FBC58D9E6468E1AB858DC35240E30D31C7AC13D6C5
7D2BB634BEE96FA0E10F842B11A789F72A333DD6DDCB1BC23227EBC406E50B40
30AF0C48E6359AB0C46898CDAF1118E46BFF8B00F54EACBC2AC262AB898C42B9
2E080C10DE923C18A9F0E954B2CDD2A47766760B18BA76463A1B03BA5974D6C6
B0B2A85803651BA403FDEC112BF35604F783099829C4D22A73654C00F407D36C
0C61487BA5E72FDD8D41F6CBFBC4D3B4AE631D6E4328AADE2536692822D2D91B
D5AA15530AB49F00D62A6FF719C22144227BB63A19D88D648CF92C5D40C3C8F6
BE67CF57CE549C05C79488F8C49692F8AD8F2B4E0CB5E6EF25BBD6F6EB99DD62
581FAD2AB1324A5998C5F510F9B94E625574153B1973219495C75C5AD324489D
25B8BDD66182F7A2408446393A21B1700CEE16214E0800D9FDC7A49CD5491798
EFC6DFAC756E3F4623B9EFE0C58CFE01CBCB54A212C39E84EFC05CF3419F6117
F136A26001586493B441B825C0CDB1F264A55CBA443BCDAF8BD24C65C41BA504
E8FF070C502998068714908443B79F864A5B18D5C3B97E0D7F3E9762FA2952F3
6FE89E81AE05666444FEA875BC79194552C79A7E76777A385BC7CA1227854AF1
189E05BA92036059F1DEEDCFD372F83F104252766EB583AA79C127254F190871
79E42714428063ABF47575C79E74C7F6A8BE3EA25ECBF8762B380576FA012162
15EE389236850B67235024FA77E0684B49C857E40A04F15B6E38334FFDBCB85D
E58E2BF343ADC3DE9F93B2366CA9C6F6C6BAE8A895A9FDD3B28B39865B223182
D14266AD9687F8C53A5DE67449A7467A30E28FE327CF8BB29E6E49844D55AFC7
59E4D510CBB3036A54666CA55F59AF1ABA280C3B3718E756F1CCBD5DB5B4D29E
CF666A95DD63DDDB4674825A1B1E0621929AFFA4A1C5E80E89B60C8ACF2233A7
393EA28344EE66F6F1265945DAB95531D7743F951636DABA81D096A65B3479BF
26E64F5B54CFB1D2A9C649482C997677E603B82659E8393F46CB71C30FDD5A01
B12A9A18FAEEE68928FE51AD5401CA760ADC4349657E102C114ABAC0E396D9C8
7EA1764B3C7DDAD73B4EEC0AB315517DF4CDD3593E2B4B69F371FD7AC5654C01
382D06680FE0BA9663EEB766B229E25F9F23B367ED5432F8895EF03830942D88
02F6B1F7CB27BEF68A56C444A4450E6CC210D921EB7FB070C8FE07B4FAD0E3E6
11E3D69F98F63F701E21B612424671AC79C7B8E423BCACC61778A5829E2F9D5C
4EF8E3D2EE3D98F3C284F01CD541C48F2496E144C73882378732F19EC4E02632
9E043CEB548A1377A28FC609A6B55CFC81C7B5F5F6A3EA1A174C5A50D5BAC0B8
EC8BA2D234D15E4310AB267A1856FA97F90CAADAD12C125ED65C9DA079132C70
188BC79058C8A36653035A48E140B8B1AA35DD004CA12A72D02120FBB5CC9C01
942B607049F9950EAD2F7445CA50A2A1D145E30FC73E86AEA55FB80B73BE75B9
FB413AE5859BB5275075BDD2882FDC1E4D85058C574648392D6CD13449C2913F
B0C8726A898D840AE68F7B444941A0727DACA168669A1826A566C8AB8A4E561E
80A434F3003C627B64E75609B5F8CC05049571573FFF298767F035C7580143CB
69C8DE4F52F6D6610588B27AFF794D50AFC6CBA0EE7928DB01FF2DAFDFBE0AF5
BE068E92A8D29FDA8D2D0383D215292F567C6F4BA7E9BA0E7BE3469186770B02
0B360986BBE0726A0BE8C121E92200B8C01CEDC24B6080913F17ACC0DDA342BB
183F59487E45102DC42FCF492774595E1F2FB6A5AF2E71AE0976BFB1D558CD6A
86AAC975962543E2CD977AB00F9AC742E8A70AA886B3511EA99BA61DBC15CDA7
4F1E85F26FF72107766A18621FA01DF36A7706302AC43677D59520B607234784
EA249126AB9CEA68B5F2EB82218047F783B49BB82EF2DE182C29CEA33AE841EA
0A9826D206E65E00A98451325113C8563C24E7003225460C37018FBAF8253F16
B7E5962DB5D31BD7AA758D9C0B74BEFD740FE04D12397B8C83DB55CC88D9DFDC
4827B6492D4AE67FA402C5BCC7AD5F60C8C37E038092CB79EB5C7C195ED57B0E
1788039EADFFD0FBBB3DC5BC4257F0056723700E47B40E818A4EB954A8C24DC7
57B2255437B89F3B0BC34C2E0096C3A660FE483D332F2FDD78AE51B3562C731C
D9B0AE2E0589C20E9071CB9DA9052A13F493E5D2FC7B3DA4F25E80DE9D917C59
67DD803E72EDBA97BCB5360DAF0BE68D31FB4F5B70B621D3E07E00A95B813D7F
5F39888738079370FB7EB5DF7DFAC38DD019997E368B83634D4B32F9C7DD6131
E70FCB84A361977066A87C2F0FEEDBF8AFE021C2EDDCD7102E21062BCF4303D2
E0858B762805DA107979EE84781B5D2EB9AE67E599431C2EDB1C834B397CD26D
6365A249D3CA70929B443DE027DAB5BBD9E9DC6B073D8E8225F5C3BEE7B189DF
14150F3B26324AB8D2487C6DC0A3B707B401DF7CB026DC95CEF9C2FC4B9B5ED3
D72D98F1A49EBB5848D485B469306F31AB582CD9B2806399A4440A87D1EAD458
24BB96332F6B01F8CED714EE8DE6FB0C36C0BE8C881AD9215B773F552ED344A4
553384F842B0D796AB2FA18C80611271136731B98D35736FBEF23D6B109B9C9F
19F0DA222B013365EE56D3018ABE530665BF403E76B94C1E514FEA27AE8B5A44
55CA0BDCDB2838B9C7938A14F733B2000AA4C0C2E7CAFD86F2EC23F991549127
BF197F900A0FA7A691E18F0CCB064C8E2B1258B48592896873A71E3F77430A59
C077EAFCB47B2847F980EDF4BE7D42F7485DEF63DF43F1D8276CAC0DFD400BC5
124DA4E28443DF89DA8E743222FFA045555705A2C9E8D0BC65BFC2AC49EC5D09
5A5BF031F227D4C448A9945795513C2D69F83364C544C26111123950ECDAF20B
981BEEADF7E43170A1977AFE3950163B0872723D1D3460027D2C847C3D6D629E
E3274F212345918038E3118B5FF097DB6CDD30544BDC0A11C059BF15C3B712E7
9E831FA7690FF4C10D2496BA6D3F217EAF61F4B7298867550C266DF821F5491B
4CBBC911390447BEE7C30EAE8FD8EDAD09DB7977B62E3955F04D00848647E877
EF771A4757C09DD2115F041CE322310AAD0C1F5FBEC8ABBCA81018531BFF7E3A
A19995CFE9FEC5220A9F486143F77D1FC340687F69E2760479712E4FFDFFDC6C
C7A9305272A81B9269533115648EF5B583A142F5C578CADDAD311ABD410FB75E
72757BB937BC92BD09BB1D5E256B71BFC3D3E47FFC4767C0E66EDC934D9F01E9
94F68B5DD56EE3A3D698C6D6C596ACBCDF8088F706DEF0A7648783D8D44EBE9F
FCFDA50A3087D2CF00C4635C648751B7688A2578E5946E72181D92BB1565DD85
CA7D809C32985B9BB591933E57BAC7C889EF6642108B1FFA550761E77E35A8A9
4E2016980200048564D5A4CA17F7603C3AFBDA7CC5DA042AC047281DAC2118F5
A5244F499C8EE13FEB0087D1F37B478388EF8E43AFC33CD06D66DEDBA387F298
29B3239DD4AE2230D9FE4C2A36DB7E56B0FB33ECE4BA44579E254D39331CCE1D
10004E96142DCA8A5651268193DE533B8BB98EB072C99B174885914E8C0D0AC3
FA3F5206BDE0A45D52FBE1B20C95D055647B8F0ECA4709185B870D059468355D
F7151D75A0B99C7EB7A2E663F56F92C74402B02372BDB58FDA1417F57311A33B
65A5D7E7A98397698C612E99C62DA43FC5A3DDD3BD8732B1B7509605511FC965
BB7FB9ABAB8196A595C7B9CA643C588BC5887C45C9316360410044A7CEB44025
7A3119E38E97CE78809F0164ED1CA315A424C7F634CF0C5693DD0E392E69FDE5
4B9E4CDC0C9F081108526A81AB3127B6E5919AA4F6756CA248E221BA3EC18A74
D84BA73E076B69F32B39F09ADEAD334BB2C66BBF2752DB34656CE9092D94707A
ABA67E48153776BBAF86FA2E9AC671EE9E1AA0873B0B25C5CE737EBC36872909
12C57D83BF26A445E8B5699FBB2F0EB8E898CCAC414F3AB41BE96C964CDCF422
051512D974D8BFD0774312A3009356DC7A36CDF7A4E785C398991AE5A6CC0F8A
4AFAD63CA90202B4254C3E79FB7558BF2CA032C3094103AEE0B69118B05D9F7A
C8642804A2A41F059C6D8AB6611E313B684939A37608A285FD8C23F9B450300D
5CC9B500B37261CF16F23AA761A65C5925AF88521CB805A3BD5EF454024DCBAC
64BD704EA0F455D49D5206746D1DD4662E46083CF3200842323F5683D7168942
E65BA2D4DA0C082D5B04693E166B353D55EE55B7524E2D6C6D2A038788DF2E97
2C279B04B25FBAE6AB0E1614ECD0EFD391AE5CACF709BFF7B54171A7BAC9C086
8E92FC76789D55F60630E735079E20991B2D601C5BF7DA054AED37522C6C1395
F9B2E37F15EEE0321A2A5278969712E76A944F539CB708F006926B582D7F682D
30E21521BEC47724DC5A9AABDA94AE66B79A05B017DBA87F8F50F764CEFA37B7
B5F113204E7495C3B59B3CAB0C3FE1165261F78391A4E4C7F30096095FFB6DEC
352A1E75F834E6F18672666FD8BAA66C3D6088136E26B3D22C557568D14A4976
37444BA1AA0143A9AF2C80E04C852999157289FD31B02B307B615F551A9A9FA4
828860E130345CB35ECE3029ECE50CC9BF98AE2365DF70AA5C760A296039ABED
D59ADB94C0F71038887C5C23B5BD9E6EC494E0F54647451D2F1E67ADEE9CE39E
D28A5EF8488F94E9D3D13C788E8CFEE8221E1607B25B6C426ACE110A9471A158
72352506183032EE559F33288F22E9D85BE1E8815ABB8FF33018597CB727AEB2
995871A2717D0922A7FE8EF55E4F82A541794E3245ED7E4E9398697680F9DED8
0B3AFF78885637FB309884E6693374E76543C9831CF968AD44319B9B96D1D88F
54D910A68A3EF3A353D0CC1C3583A724115C3BE4774F66FF7C6F1C52205FD5BF
4EF3F8670C28E1208D336131D313DA816BCA3CEC3DC52D672E6BF42748B2C20F
071766EDD1569261465C1176813D3EA9220A8A4E41D2F3170DA7FEB9B60156A8
CAD278B9FDCA1E8D91742BF591340F1610563BE5678A8C024F4290D4BE13B11D
55FFC8B9623404845209E97F24A62EF1412CB517031AEF1B90D18B305A337C97
D6FAB04012883D1B8D38CB3A407E451C301451930BA6A8D79414E58FA626C9DD
14B9AE31D99AA5591A31F08CCDD34C3013F544A3FAB7E6B0EC2A8A420A436651
33837EBDF638E5FCCF2BD47D27A8E75AC0BBA67913794F8856861933D605207A
C613CA03ABF1894FB01C97BC88F4ACFFC93E832A9C1DC6496203C5B965EB0422
C04955DEA7A6689821AAF0A489924EA07F80D2A511884B6A9F070BAA3F56DC4A
733DBEF4796C0053B4A3D9ECD45EA1BC941D9E1C16E3D0854481083A26FEFBD5
BB0DC639C03039ACC86A7345256ADAF7854F9EE4B9C0AAA5CF92897A9E3DF029
92F379B7B73156BE37A246970883CDEED03E350ABCD91E5919FB6B317D65D3DD
4D6B963C8DC138FE22EAAF18B88C5AE497342F40BBD6BB9CB8F3C88446ACB926
1AD8E1FCB7BF4A492AE55B7FF9B784EAE8A822F794DE4039220ADECC5A058A0A
2892E2933B25CF434BA39289DDD25B03F38923AE9C832DB2C690F1F055FE4BE9
08E66AEEE8E9C13735BC28DDA341CD71B615C3ECA4960B92D478F8B351850713
432695987E12B201599B70DE7E59C44451A0B693B0A4CBB63AE6FE42C8ECAEA3
9F60D60EF5DD8CF6B158370EE35487F5CFB54639094689CCFA806233D837FFEB
D9AA22F59FC5D11752BC8F933559AF0B87E5031A43B217A789963110428900BE
674614D1BC07BE56B8278397B8ACAB495567D168FC3F6F3CB0E0D0620137FAF4
71E2F836C4B7B4A57764E96752D432D76964FEFD9F7C2B987CCD0A4439C5DDB3
F41772E63F283F5648909B1CFD74D59D6C79FBDBBA86A1CD40AAE0519E3EB48D
1E873DFA91AC38C8E7AEFC6ECEE9E725C66F0E0191BC63C5B8F990297082DE04
96F2A6462DAB2D37F93722025EFD41FA7F7E8C1BD348A4E75B39B4A8416E3BEE
8C4D7A7E0A7590392B40C9DB1CF368C8B21122EA67F61EA311ACF68F229465F3
599189F597A47AE5E9BD71EED32CB197B8E55C01B68840E365B9E27C9D37686B
4EBAFF8C6EC48EAD141A43DF74FFF1E84EB3516AE564F6C4B7096A3934040E81
A464BE8EA9EBED5DAF152DE842DB0FE60DBBDEFB08BDC91481E1D1528F2409FA
08AB7494FBA23EB323B205C66F7D5E2B80AB17461414A0764AD31BB6B1450310
48628486E8365215826CBD1394BDBB9FBAFBDBD829FE453569120736A0D1F42C
90495591A800C8134589941A28ADCD06C9E5E081D2B0655F9B03ACBA305019CD
E37401E8EAB0328A56CA37735549A0329F50B2D19506CD596182BC8BCEC4693A
284FF66D68034C62514C6E9956E1980D65DD60D7E036BBD9629B3DE5A477F253
EFF41297DE0D21785ACEEDA56FDB62214B974D974998246E6A52B069E21F1411
690B6F1308815CD13A433ED8F063B6A7E9E2FBE556AF63EBA32657E769B09B98
3153EACA3773C63A340F1810A976D0946F05088FA7B785FE7BEE0ACDFEC82F59
A5123527C7CDA4468BDB2D5E26642EA897F59E3C849F07DDF9A81679DFC1EC51
64EB34519DF9910D256F65917A1322E026F2383C794097A440E54C94DC71F1B9
7DB369512B5F38E4C00E6067CE36B58797489B0E397D141C0C687C3A7B7AA622
80896D39BD755BD8F3102777DA6170F07B8902174DA4C8C1BF1ABEC509B96BAF
91F3C8AD8961DB8404907D602C515CFEA9E727291FF8AEA1FB8A5804D5E1EBDE
68C29BABF382A5AC17608CFAF4E4481421A88BE423027EADCE6C6029B63D07D3
8EC2815D88A5296A8416F6D92352104C44284377D3F26F2E5DAB747C017AAE15
9E704EE80FE27568264D6C8F6FE713ED5599D60AF9E2E2390054CF9EF2F20CAE
7AD35EE403E518A695A75EBB1EEC258CD01B7BA8DE747FAFDB0207D2C5E654B0
028FAFE787C8AA137267508AA292C15FF1AFA7E902E1C27A3BA82D0AEEAE20CF
02EB1B32517745B604DB88FB49948C50CCA6300AC22814C05629AFF55CE34C6B
A2F8E13E4CF2BD90D97CE5C0E9C78931353205B23A41C7E73FA740F66D1C9D20
C722160C7BED8C7EE8754AC8629182E0C76AF70073E2614A9E0B3302F11D7D19
5A795A4A318BD6C0A762B004F2AED4850663471C10DD756902C53904DF0E2794
2D329A8E8744E96F9D78071305A6A13A912187A7C7A8DA75888CE455880C2D0E
F565AF10B59B9489D7665512CDA7E717FA4F820BC48066DC566284059F38B560
9C94FD00197540B82667C5E8D86A82275A4B1D11CB28E0530B1347BEC54706E8
977B58FB00A8840D909E0E9D2FA7B92ED690B78AC4974C543CDE65BDDE37165F
E8AC9CC950070C1DD65453CCA27A292FFDAFAEB081A443A74CC8CB5395176CCA
65CC0033CE7A628D33B5766AF50FC5A9DCF1DA43A0B9BD8A123A0F596FA212A1
6DD44B29E203B03D6FC040579B7C7B68DC4B12B8488CDA75133F12CA9D095784
1541AD9DBE080EA86B939B452F179E149B9B7BE9984F0AEA78E1DD0A4F7D4D51
74B6372579196A4261823A4E62ACABB3056D216AA0C10B546F511C1BAD1D298D
417617DFBD5C6AD164F72B6E199BD9AC7DA5FA002902738F32CA4DF7D6825EDA
9B4698B5271D77AC0B7E03DBF20036E31DBBB3B239AF908C6233927A81E8F429
5737C31D7203660E68D9962424D7F0DF4811C66809382CD133FF045CCCC0BAB1
96EE7519EC91582F5B8B6817FD510918724F01084BB2DBAE94ED64718DE50A28
62497B88E0F15A9EE44CF924235C37B72CBE9A346E3D8A83F6B22CC432F116C7
D0E822254119B31FDFBC15BEC4B3F4407C4EC9A76978EFF2A6C454AE10A62A01
DF14C05476E4107674ED1F35743E46E53166F2DBEB4A4A6EECE8FC21B1908D03
1896C088135F68E34D2C3FE7B21290F53C31C038B605916E0F64E25718C56813
590D3A0D1FB4C666DA273AE0C58C594C0B3E62C8A65EE92E5BE6BC3B65DDE1EB
621496702FE78A22E66B58356B1B148F4EC4C7058BBE3F08D566D9CE7D0A053A
E62D3E3A00CC5E195F60A13552DD51C7E8792D18F6F34E8C06EA06684D2281B9
EDE27A504951A19D09F748F1EE97B632E80B735E41BDE266912A4FB59F14745E
EB30B2C480A183AED6450F3F94CE6865568C9C5D8CDB92669AD943A93684F1F2
C98F7C7A8FC0D6268EDE430E4A110D9319F89FE4A6776CF46D17A976BB9E3B4C
4A9348F189BC6653C10A45582AC99AADAAB9EFC72722BAEB79026E4EEEF14373
14DB7FE7A5ABBF3934D6DA4936D9CC3EB196C4AB43534EAE3FBA4EAD0BBDB95A
02EEE47E9E97394AA7F1C0D2D262D6305A3BE50AF503B3DBFA5AF3346B584479
1D8C57ACE0D91000A43B682195455F7F630553DA1302B4818A994E8F061E3735
2155C42B836174C4F81A8CF82C58A8BBEA5007FB7F524DFE4CBCA3A826426C96
136F1D8481834B10608B9F95BE0FE9A013175569255BA45C987B55EFFCE99DAA
F255A1D5B60CE1C5550BC3FF80B77AEEA238BB071EF7E688B94A23F05164DEF3
ED44410D9AE40F1A6722B59D9F5DFAFDB3DC7E5193197054F15FB77ABB62EF4C
5783F3090C0030D632285F81299735949703735CD0E1F535750D316CFEF6996D
0957EB49C5182D07CAF72C8D8D7B8C3FDE9256FD36BD2DB3FA25C5BDA4441C76
11FB28447222C2F47AB0E3DCB3DAD6071CC213696BBDC96BECD64157062E741D
1284C13E40D1D3AB214A28915A90CFD1DB7FD02AE3B63126FA815C9D54595821
FA9622D072CA354FC61A525487579910FE4A836753BAA76B95DD0F7FF0892D8A
3F6973AAB33A7ECA3B68A99DDDB80B8A4A11BFC372F80CBACC367E99C67EDC74
639C54ED6CA1E3487C213D5F9CD719744446A4426FEECE5BFECD2D131AB766F8
7035E91A1134CD00C935F21051220733C14604DD882A960346E7751948E5680B
1FA8C33D7376CB898D0D39E24319EE83C6A298AA9129BD9DD1EF1C8BD30A8C1E
5D5592B757FEA47D2F1FAEA523650C4B568BAA0A60A87560599F81A0F1C2FE28
CDD87F0135E23E68332BF544F04D74193540261B67ED1E30B370DC5B02A017F4
FCD8BEA2A685291286D4BB28D4755DE2D3CD949C4ADC0088D8EDC8F23CE0E7F9
507DEAB1B78AE36399266EE3AE8E1F17FF718D43FDA571204E8C4DC1257A3AA2
A07CB07B91BD864E6F48A86B48EF96C57F255671108F4A7591682DE6A0CD7E1D
284C960D5A59B982C2F4F47C76C15E21CE0BD909C690AE462F8A57FA67F03C5F
79CD9E918114367C95C645148A8C5FB642D90717730B019F2B4C89F1D09F701D
A0EEFA0F509E22E10EC5588066CD19C9E3C4440B1624FA368B51F0BB18A11329
933748C5A46F78BA27CFC4744DC3E481D31300381027A25C2D066A799A84071B
EFEE68673FE7EC418633D506741AB3F192F749F162C11BAE1EADA7DDE810E14B
7130E17CC7E13173D283F9B00B5BD4BCEB253C39B25D5B5E61E130E1BCF510B6
031429BC917BD9E6AB4E0291BF22B6DFB97409C95985CDF2CC035E33305446D9
440C7276F9921E2040E6FDC97D3D8391E191FB6397BF029875715955ACACFF8C
CDCD28DFBE2C76469E8FC53B7C21761284FA59B4EFF23448846BD5D76551FB44
3E52711F0BE0D1D5A0649BEEC9CE79FBE1379F18679AF18C6A39E3155383367F
B9500CFBDEBB0DFBD789E69891AA9A17071C3891D5F37FA0D208C042F5222089
6C1E7FA7C652E56CEA9F520023249D0A9417DDEE0CCCF9589B1459C09AE7DBE7
BCFA6841FD60D53BABB0DAC7A0D34F703481CC6B21812230BEEA4CF6BE379E5F
A2E7472A97407E340B4CD0A933936222EDF3F239E53542BB0450B7442657436E
F9B6EA424AE5CC6608AECC864F1A4CB8A53BBCBDED146B2379F2C7D190FF4BF3
F00D21CBE040EFF75C35B4D871E68D29FB6B35E9CD7A720B17B0D89AFE5922F3
86D865E4BC48BB8C630034CA106B66ED45EF6C8D973501428494AC3E4241B2DE
462C7EB9148CC4DF778A58A58A4534FC63D0DD1964873DF86DD854DC17B086B3
1287F8CFFFD80657463D7C06A3D6BCDF249C0EDFC70E048BD243068300DB8AAC
3C57A503BD4C263F6ED8661D67040A3A91782D9A1FB9FC4A1ACBD1E33EA87A68
2578D68C3CE4CFEF906E122D3B76B72285CB3D0DE5C60ACC1FA3D90A94C44AB7
D5140DFBCC0C6BFD572EEA526E90C885170AF9E0EBAB38368F0EF682BB277BF8
6B38EFC0C2FB669B4AFE65881D5148450E40B5F69884FFB2F4EBBE46520D1B50
E97AD4E7822F1BAE161AB5F23C25541F6AC883FE62CC7E82A67F09783CBA1DE7
FB5015C5362A81402697A0B05443437E45AE4BCEB1FDFE52FAB8BB054B7E5F35
5BD29857B7191B1DDC0C61EA92781B1E72E5AA14A8572B5B9C0B269F373187F2
E617206395E7F1B2C5BB934E34E8ACA4A9BD00829E92C85EB9BCACF290FEE863
E4AE35BDEB7BA67734904D29C6A7036551CA13E36FD66F53AC8C4AFEE3B8365B
E33353933CF395624FD152F9C89753CF9B229AF6F54439FDB93CBC198A80C0FA
4E14F6E8891F21C39C0CA650039B9694B1B706AC4D415D16040C7DEDBDE92062
D96A1799FBC52B9A260E2F50940B62ABE66782EFA2B52BABD46B535F0E51B3C5
344F39A0E5C3EEC57EF8D309C6151C49E40A4865F8042CA1F3B151768FA0858C
05747665EAA42DA2E0D32FE90570C12D3694ADC1E6D616CE643AC674D64B9829
7AC75473CDAE83B8ADAE03B5644E502F6A30F6EEC83E4E7C7CD0CF274458407E
AA19CB2992A9AD1C740DC91C64D734A05F83C78E07F34651136A0C59146F8679
EFF939254634CE5B524055EF6E512511AA524990463FCE80F92B339063A55BE9
D723BE0DFF0E3F1E2A3F8A2C1D45FFCCA590CC429E9076DBB12C49BA3E15FFCB
7685D536BB45834660410D6812CF2D98B7EA4DA2AFD43C8AFD11AD836CABBB61
4206227E056E147D984B2F5BD3C64EF03D766F7B8D54B20ADC7268F772997A6A
D9BB3385AC0C76BB47E1D844B386B3F4B5CA9184AA923093F0B35EA208F8227C
91C432A2CB158E9DF3F700DA93891CB62F9DDFE34F03902C29695B055BDB88AF
E8673BB1A6E5850E74FEEB69F0AC300D592EC10917DCB2459718F785F08D87AF
3B518B4804375E005F6018198A04B7A1DF452E79190931EA844ADAA6C5EB28B4
2D4E2CDD026C2660B4E8330293EED88AD05B7C43408B37FA67C1DCE55EB5026C
9829D61BDA7762723D2F12E04648141904D524365838ED42C6BF470F4A84F7CF
A9EDBEDA76E83D9111EAEF1AEADF3D6B4BC0656ECF83B1912AF4F50BAAB4855A
922E1941BB5C1F55608EB6F980315626D6BB1AEB601344587E9F89EC01D42A66
4D145749727E5557B8219DE14D067974BA9C101AB59D96CB935E3D3535FFA96E
4712574DE4AE9D62F2A89EB608DF3471CA8AEF6BA326A5143E55192C076AA66D
36C2C3DC3E6759AC52D1DFFF8C390F234221CBFA52EA5E8AC076616E70A3563F
2AD444D7E5A63D9E8F141DFB6EE320D36F5AAC599D442CD972AA3902C9E44938
285497AB7F387735386396DCD2DDB0C24285A5F13BFB0E822FD541AE3C2E9194
8ED8DA31D539A8134E21D467A2577F096A6851C4C101C43F52CDFB085E62739B
93261DD01216B48B0A3CA43FCD5EF298AFE02900503C9519AD656435B1654A1D
46EEF1FB48B129811C8443CEAB01AF95B96B2317E5D2814B6EC158FB8B66D8F1
63C074BCB0BC32479379C8EDF6D263910777C4FAEAE2
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
cleartomark
%%EndFont 
%%BeginFont: CMSS10
%!PS-AdobeFont-1.1: CMSS10 1.0
%%CreationDate: 1991 Aug 20 17:33:34
% Copyright (C) 1997 American Mathematical Society. All Rights Reserved.
11 dict begin
/FontInfo 7 dict dup begin
/version (1.0) readonly def
/Notice (Copyright (C) 1997 American Mathematical Society. All Rights Reserved) readonly def
/FullName (CMSS10) readonly def
/FamilyName (Computer Modern) readonly def
/Weight (Medium) readonly def
/ItalicAngle 0 def
/isFixedPitch false def
end readonly def
/FontName /CMSS10 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{-61 -250 999 759}readonly def
/UniqueID 5000803 def
currentdict end
currentfile eexec
D9D66F633B846A97B686A97E45A3D0AA052A014267B7904EB3C0D3BD0B83D891
016CA6CA4B712ADEB258FAAB9A130EE605E61F77FC1B738ABC7C51CD46EF8171
9098D5FEE67660E69A7AB91B58F29A4D79E57022F783EB0FBBB6D4F4EC35014F
D2DECBA99459A4C59DF0C6EBA150284454E707DC2100C15B76B4C19B84363758
469A6C558785B226332152109871A9883487DD7710949204DDCF837E6A8708B8
2BDBF16FBC7512FAA308A093FE5CF7158F1163BDCEEA888D07B439DBD4E8B4C9
D198C03874B5E6F8FBF4922065A92BC3E66D05DE53971CB1424510E892442858
D69CE1F76E4DA76C87C763A4B2FE36321E54B1328C9155B8ED6361855A151723
3386AEA3D042B8D89C8C0E9A33E5DF3B466F7BB8C2C8A4ED4CDAFF55FC6D3EE6
0AF2CEBFC1AC3A6E6692F8BB81F82D86BAE85016AD62FCB05467082C2E5AD348
44D1439C2B59F65590E57CA0DE481A7A34E79931B1513C4C30156170409A4BB8
46D412D1DAF88AD30722F12DBCA1CCC6B4BCC28D06B0D29149DDEC520C8FBA13
6B82E2E1790F00B216282FF122EF0D47B70A1B29514DDF7C0435ED238C14BDF5
6DA243117FBEF7398F97EB95597707ED63C6797EBA1B46EA19ABB1DABDA171B3
16CD500F5D64CBFBE4F9CBC3E66A34427D3C4D0C432710289381F9BFD91B4FF4
1E3A896C3EEA2F3105C218877D6C0C6B763760FA364D00065E1CAE9DCB5676ED
286A9ED0D1C946DCA6A2A670EE0936FB4706CC62E234CFEED34AA615C48D2872
A087F30990C85E64BA68F3D5C117123467DB411C9F2D6F6858CC70C1E352C477
713097321B4C4FD4C5CDE305415F998E7245908EEDE6E056A736EA77BD8C639C
3A79FFD0B74B3D28F0494A115F2841CF8A8827AB5608F96FD8998A5F40FB3DFE
3AA0C7696DE4E1D18DC0D6E84B943175FC38FFC42A9C0CBB13A908978C98BFE5
034F88480F32B9DEB2FD228FF6CB0B89B045AB02020C82E3F5716DC640613185
9F597CE262729BC52132F43922B9E28BB71A30AC8709634561B22D13C4FAFE0A
12C4451969226B220038AD8DDA990A4E2CAD53DBEAB698898BBD3046234EB4EA
901287E71CB41296C431383AB85F18882F65BE36923F6C0FD6FADAC5B42FDB68
64C06E047434FA7A659EF7F3D1AA8E547939FBF9C2ED7AC829F03CA59AFFBFA5
A7AD2E0FC7BBE619961AE1785D09444B333993199FFED007382B54DDAEBE21E0
1E75E0AB6D309DBE53BC7BB9F95D342F51798574D70B95021FA40163A86BE6C9
342536A5730837C522D5314B1289D9B7E4EDD108BE7F35A20AB2A16608F6F007
6DDD702A5A9BA1325CE2C1CD020DF677872135CF04F4E4F1E9AA6B494E2BC22F
107C331A7E80718B030A1103804D144802E3B03EF7CB083BCCDEAC7B43F1B4F5
C1BF6016741B741CF7E12B4BF95221A72CC9F4657264771AA69C73DA1DA29102
65D01A0E61F3024E672AFCCBE13CD0B7F54AE1418B72E357A0BABB4D03073B1D
F4EB54F899AD4A41A9F94DC200880A0DB99D67235A2451B25F710C29A882865B
A922E56E9FC16756014FA5CBDB1C32750BD6835A70EB715CEA19A8872041905E
8C660BACDCA26C8247D6B3C10FA5DC240E433E479AC6AFCF57CF96697FF46BE6
44748E
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
cleartomark
%%EndFont 
%%BeginFont: CMTT10
%!PS-AdobeFont-1.1: CMTT10 1.00B
%%CreationDate: 1992 Apr 26 10:42:42
% Copyright (C) 1997 American Mathematical Society. All Rights Reserved.
11 dict begin
/FontInfo 7 dict dup begin
/version (1.00B) readonly def
/Notice (Copyright (C) 1997 American Mathematical Society. All Rights Reserved) readonly def
/FullName (CMTT10) readonly def
/FamilyName (Computer Modern) readonly def
/Weight (Medium) readonly def
/ItalicAngle 0 def
/isFixedPitch true def
end readonly def
/FontName /CMTT10 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{-4 -235 731 800}readonly def
/UniqueID 5000832 def
currentdict end
currentfile eexec
D9D66F633B846A97B686A97E45A3D0AA052A014267B7904EB3C0D3BD0B83D891
016CA6CA4B712ADEB258FAAB9A130EE605E61F77FC1B738ABC7C51CD46EF8171
9098D5FEE67660E69A7AB91B58F29A4D79E57022F783EB0FBBB6D4F4EC35014F
D2DECBA99459A4C59DF0C6EBA150284454E707DC2100C15B76B4C19B84363758
469A6C558785B226332152109871A9883487DD7710949204DDCF837E6A8708B8
2BDBF16FBC7512FAA308A093FE5F00F963068B8232429ED8B7CF6A3D879A2D19
38DD5C4467F9DD8C5D1A2000B3A6BF2F25629BAEC199AE8BD4BA6ED9BBF7DABF
D0E153BAB1C17900D4FCE209622ACD19E7C74C2807D0397357ED07AB460D5204
EB3A45B7AC4D106B7303AD8348853032A745F417943F9B4FED652B835AA49727
A8B4117AFF1D4BCE831EB510B6851796D0BE6982B76620CB3CE0C22CACDD4593
F244C14EEC0E5A7C4AC42392F81C01BC4257FE12AF33F4BFEA9108FF11CF9714
4DD6EC70A2C4C1E4F328A1EB25E43525FB1E16C07E28CC359DF61F426B7D41EA
6A0C84DD63275395A503AAE908E1C82D389FD12A21E86999799E7F24A994472E
A10EAE77096709BE0D11AAD24A30D96E15A51D720AFB3B10D2E0AC8DC1A1204B
E8725E00D7E3A96F9978BC19377034D93D080C4391E579C34FF9FC2379CB119F
1E5BBEA91AE20F343C6420BE1E2BD0636B04FCCC0BEE0DC2D56D66F06DB22438
452822CBEAF03EE9EAA8398F276EC0D92A7FB978C17805DB2F4A7DFBA56FD6AF
8670EB364F01DE8FCAFBAF657D68C3A03112915736CEABAA8BA5C0AC25288369
5D49BD891FABEFE8699A0AE3ED85B48ACB22229E15623399C93DE7D935734ADA
DA7A1462C111D44AD53EA35B57E5D0B5FC0B481820E43222DB8EFCD5D30E15F9
BA304FA879392EE0BCC0E1A61E74B3A1FC3A3D170218D7244580C7AA0DC65D19
741FA5FE6F8CBF60250ACC27454BBF0897CA4B909C83A56672958752ED4B5E79
E18660764F155E86F09EFA9F7685F2F5027EC85A775287B30E2069DE4E4D5712
E7D033481A53A2702BA7542C71062173039030CF28D8B9C63B5596A9B42B33E7
D922944A38713383D3648A4AF160A3B0C8F3379BA4372BE5056B58A9D6BB1DF8
769A7F75476761E687A8C04FFC7C023F4A610B105CB4E2144C82181C70A2A97C
96E46DDB637486F5A5AE16B8B27E8909626114A5A14782944D1C0CAF1B916827
18E0762E3B88C957946E58BF74F9EB39B3EE15BBE771CC058A5CAE1327243C3D
00DA2631E3E83586547677F96327E8F49B3AD578C0D9FB003045884C89A31725
65C32B1D1632368D09A1FC23FE4C1AD48F8140573BFEA443EDECEA28FDF10B96
EE1FB793597F4E2CC092E2DF9B35F469A8B51ED4C842FFB59319762915DAD84F
33F73A5A139DBA47B733D58786C3F6CBF1A6FFA490B18E3D314D0F81829CF252
3414D6FD6F3D5BF5D3A4E30F8CB52414FF143F96C38F225495EA262713DA7EC6
AE644B331C25AA451691FD4FC6453F990B95A3B7EC5F4CC17A1C2FE905D2F36E
9A954D8AFDBAC7A28A8E6FAAB4F5F8A48ABC1E34F3EF0A58F330AE36366F37E5
48C6DE0FFDAFF0F4C3DA957C130A3936C4504264CD1D9AA781169DC6ECAF6EDF
4E2E45E5E8E54EF7FA1C42AF3E670E0FEF9C85E3365633ED40BE32D1492269FE
EAC9B2EBB288AB51CE23DED80B13306AB96360FEBF829410D65C4406EB08F5F6
670457E00E1DB0091BFD9EEC400EBA065CC7E904BC8BAE1E39432CCD10B22C17
391E8D53D5D294B48A4CC84E1471F7A62DE9A66C31B9C89E4E39EFBC4A51E35F
493DA12600759173358D8661650BAD0959D2F95FA6D2DE2B2343FEA2BD752B10
43BB9F869A604A2C1267EEE7235A1B584732DAF21371D4E2B8C3DC0072C46553
8EE9BEAB540BBE0ABF89A902EF916FB1477C796F575593472B8E25DB85D5D7E0
19DD2DEB414DFD0EC0884A884E0FE0BB79CE6C646E44A917BC1498D39F6D2ACF
89225E8DF1ACF4EA1F71550220B035B6AF47EE962104493CDF9DDDFFE6FEFCDC
0E7D527A023A317C122A6F4FC597D325BAF4404BDDCEADEFAE714A0A6FDBB0B2
3808EA4BAC252A603B4B98D6969C3E5A27CF3F037DFD723460B816789074F2D6
23721D38E3F5C55055A36CC105BCAE93B82CCA448EEE9EBC7129676CFFD08955
45E908778DBD3D4A764EF76A128CDB6043B9E685058910F2EFA60EEA24CAFCCF
B5D27894D0FAF70427018E44444432DA217576D9871ECC3D6004C0EC5F43B32C
9F1F08C2A9D21EA336CDB7BB4A5A437D2230E8B709068CE066960AC2C49A0F46
46788F984A5F6458A44EF166FF986A7D063C27C6A2A2ED9156A7EE4B34B024B2
778D7FE70460423FDD889886319E84BD5203D8DCE42B54DDBE7CA207B2B331CD
0C7DA5B2D0462B9C428DEC4DA9AC80F21ABF25BA97A93D3F2BC428BB4708AD27
81926594A4119F4E482790F67E37A2305CD35D821BA8DED6E76756AB42F41E53
30E7D96E58A9C8CD0413201E14AFC50EF52F87A36D22C4590FB6EEA9DE03A06B
B3B9CE2F312121C6D5DC0653C96FDA7F93F8C88CA69F468FBF029299CEDD6FAC
5938D32C45F216BA707C93024DFF0C0C54EA753C09F79C46043E8A6D8B6A2558
1BB3D38D9CBBB7633E7513532C7A8B2DD6BB6933E1F7B5F88485309F88582B8D
0FE83BF9C846786636B00A4C6DC92FF6FFD3382E230A033D4C8A3CFCDDCC725F
40632A66CA5A0EE73FABC80EB23BE44CC4496B6D4600013A767C89EBAAC29C4C
469CBE1ED529DBA8032E8BEEAD379133F4C1A4DB34AD0602FC4278BE9DD1B4BF
4FD05E0DB2AB659A953192CFFDE0C61980AE4C9CAD97CA33D9329DA73C748AB2
DF59081ABC4F41358EB3C78AA2679617B223CFC0E0208D2C0DCCCA5FFFEE7C05
CCDF79F43CBCC4D0DA203C2AF51B5407D07316C8FB7AA49CE57283AA76206461
7107C54AAEE825B3DD4AA96EF621A2D8D74369862CD3BD09C8B2F15976E6CB77
637DFC15B13FD3C5DE0E365067492E44D24B98A58A14DC6FCB9D81C861AF1761
F175304B25B1EAF3E1BAC49C2C8E5BB08F47CB9AE447952A6E467987EEB21EA8
05D336BE0F60ADD3FA1422152456A4DBCB82F76D67DF167EB24F53B0362371C0
4FA2254BC05924B1974A9C35C687214A9A8C9F0631F889212B10BE3EF9E6626D
A6F9433520CAF11AF8A92A72B0DDB3235928635FDD84C966016EF1DBB48E5128
4609F90B563AD6A4F0A4C90064AF3B79A02C597C8A714C318E3DAAAA188DC210
D10C6B973A7C9E6995C530694CD30676D6D49A5585B59B780163E1205BB67696
8BE110CB0598CDDC51CF1CD99A4A64FB15F904D43F883E720BF0A3100A91487A
5457549018BD7DB4EBC8E53C543866144BB7E4F4D9403445DF7B9783B17F05E6
22795D137FA3FD749E97256A555BEB391675E5D07AB4EDCD46DFFC6ED4FB8D6D
DD8AAEBAFD2A8F66FD487CC39B85EC446FC82B634515F89E231B8810C1ED00F1
3F81AC5CE6B36917AF46FAC2F7C6183C48EC3F1A5253DE5A3B091B8FCF03F2E9
8461E6206AE3A809EC8B34715C9D2D15C83D54BFC7837E443BFE5B85FAA9365B
0FA0B2629656369B226EAF89FA7612A97A3D3BB48B4045CC7FA5FEB1B97A1D1C
0F3E4A3A6F63F0FA3B7A55B525D5FB480D92081283C33E802F87C639AC4DD469
94F86AC8B01EA3B8437C3A66DE31E2EFC930967F3AFB983B4CBB12672FBC41F3
C04020F66D7847339FD10685B859F5FC0A317ABA2B9D2A322D6C7AC3B44DB449
E37CC18605F7D8E7A47EEED5E43283958CF3987C22F29F49925CF324E9FEE21E
FFF783DD57C0CC0ADCBA34B16D9D640D2D8CFDE98178247922446262006CFB91
72425329E91B3194D5C364AEE73C071FA73AE79E097E2F36EE42EBDC894C82DB
99DA0F4D38F9ABF56EFA06A574E75F49DCAF478F5095C34725B577AC936A99EC
E8586B46FBDB118E4E8EA6EC427120E34F31BDA887A7A9BE84A42B5071E89C00
1CF7DACB95EA4B12BF3E4E74C6B8632A5B05271588C04AC716D7D53A3F22176A
89C780167D1E395FEDB7FA3F320F3C725309DD96B8AC453827627A3BCA36F550
AF12EF426F696F7EAAB7441EF576F3EECA5065CE54585B1F928C4366FCFB39B0
8A26BF570D90950DE77D62951B5FA635EA4C474C96A3E02F2FC6A82334FC5E5E
E0E8CE5A7FD855A83045D53F63598EDBE8FB12BF2B4756F926AF21A69F9742CA
2A4D31C5C82AD742CC6E84B7894E96DDDCFCE252C4CF01ABBC4961239AE69E6B
9CFB2C66A1C336A5E6E99626ACBF0092831CA748254ED1BAC31883ACF7794F16
860EA61BB3E7CFBDC68CB0CC21C1D23189EF251CDF2EF3900376F45BA7EA815F
ED8235EB2ECA7F60BC35DD4C54153DB987C0A00BDE993E56D2474D06F998D431
E92FEEAB1848D8E12C7AE197ECC9DECC89E0F5B29455A59C3C2BB67EC207E6A4
19EE67307C710308665E56369ADFD9D28F858AB1356C82C1D85BA24C70FFF139
146F93DFC545FF204A77CE7C15513F786B5F0819FFECBDABE103DA156675B27C
48EBA9BD3D60F6B7F86DD2FD6BF32BCD75932D40379D75E0D4DEFB33D96A2607
DFE57DF2F8B187685CD003F242C97DBA3026222D8D1101FB198A6EB5CBA03B16
72F308201CED928A4CE46909B73D0BA7103A2C40A00D2A958575F953FE66D6E8
F93832B922EBA8B26798B23932CA67D264FDD54E16A853F5F5643E9E82618C24
4AD08B7B7D0C2B38990AC228FCC12890D20628BA24B44BA974BF584C865C6062
C8E89BDC224D0D4ACDD3D68C9AB628A8AD1EBD43A7472D9243597185D4914A1B
875032A0C828AD874F2F5D9795F31C98DD44A9DA68CFA2EF9E69363F0C5ECE8B
C15480228CC416E4DD4AC40C2333B2F2E468CF04D58AE511ADA9F46222A2B68A
37BCA2348586094A66EE4440B6B3301CA9C46563DB03F5FE36F0954FC81E2238
67D2379EB97A1189A435B2D0E8823BB05C627D8142CF90E0ECD8D8E026BBE8ED
1DC380E81225EF44C2483308B0E19640B72D5096A42680A6A0E550D095677F76
1A09CB173307DDA591CA84D65CCA9397FA7FF74760BC20651EB35FE90813B2DB
37D75A15AC56DF67750E7BB7BAC493266B6C2932E86BA407BE86D0731D66BB86
630779CFC2E021ABFC6B2A101CF419849CBAD036151E5223F164244B2E7F78E0
ABFB0107C2CD5A7BEBC1E06E74836A8C1461725DAB9383E508559235FD7D081D
879E29E0296F4A2C4ED061D360E53DE27C78CC142578AF4F45BDBA5A15912ED6
B6B26E522791BF36E9A9B91E0C8205FDFF62210228396DA50E6B1273D167FCE6
D750B61D532EF6A59BE698B92CCC3229F0B9215B4300AB8AD95CC0ACFEACCAF1
D4F9FC8F90D6E8D9FA2B8A8C2BAE7BEE1C93A4F160D397F4129CECD96331F3D5
68F691DCB840B45B118E420C1A378FFF14198703C021C9A3DA10E1FEEBD74B49
6FA10A7324325A4DD7564C9A63DEEA0EE1A7A64432D89AE8E36CE0694076A733
FBCF849A3924EF174AB63623369E4FE53C7846EF2300E38173F3D7A8C42E7B33
54D280A916BFDFE94896AE6DB4B05DF783613B9924635DDD3937196D0EDA7D30
06E007CA14CCA4701DE89F30A3637C3C296762C814257D0043E82BF196AEC92E
87B2BC45E4AFF73689B5B4CDE887B6DA6B38C385110379895FEA4547A7C6FDFB
88950F547EF5CF638145CCF88514461110C87A1955912167630591BEE8321F27
188D1B35E246CB05C11F366CAF668E071ACE72D3ADB42572882518FC20A80AE6
C8DA60BD614F1841030968281F2FEFED639729D1D10C60CF6FC66241C6418B31
0FF5666D6B89F5165C4B575DE6FE6615ACD9942C6F126AC0C179C2D7363C7D39
8BF85824A7DA149B6F7467EE6C7C99432A11DFF7315D9963E3AD202B604BB93A
B955ADE7FA1C4E709EEBFD25CF2205ED3D45C56B843E83FA7A1C44E73AE6933E
048EBC341E3D9007163E99F0078E15851FB63F87AB9CB083CE2BC9DA4610802A
077CDE49D801F017095BBBC52C5C829C63E6E96E73CD6D74AC21116BFA1CD9D6
8E971EF0139B30AE4E70B622CE9FF7E886BFD8FCD5DF5C6B8D539FDC5F055E18
167FE0BC00CBEE23D559E1CC0C36FE7BAB0318A665D5E0A2393D2BC9235FB29D
588AFE3A3174CA20CA2B78A9E5A6F37703A5F7FC3E0AC6E70205020C6ED53DA4
DC7FAC5176CA4E2304D27D25472877940F4EEEA3376D4FEF76F4C8A16B8F23FF
4146C736470C6EF10E905D8EB2E3735B05E7760EDF96AF9DB4516238EF129758
9693A70AF9DAFB479E9B76490FCC0EB5DCAE4B9BD2627E5C9EEE2D27F7513274
8387FCA829FB443E410B8522A03D4CD1907787D3F3D28430DB3CF6073269E336
404909C7DBEDDEA4E36BE1B5EE3FCB545E0567F34D6B9FA4A5F44B94F89DA1FE
E64E3012F6BB81D88F6960D96F1C4D732CA4FC6AFED77A79EFC2A62363316F0F
EB94106ADC51BB332B1B287F9FD8DA71F86D36AC03DA8B572AD6A519DF050AC5
7F8B07A5498CD8907713A7DED63BCE3ED4A1433B0EB4F1514C44EACB2D84C6C7
F2F7DBDEDAE6AA114CD7BFA6C678469168D320B1A5E5F12AC4020A5B7715CE80
F557C4D88B5BD36AE164D9AF9DB2B2D9670470ABDB7CA15FF735249BE4121ECB
921D17D784559C9177248E31BC87A3C48B4CAF1FB1C6B4FDF288E221DF36C2C0
7F5A2470697722ACD33751A73E49915BE3A21708D0CBC1A250DA06BE44052F0E
6862771B42D1404C5A9CCFE638C028B211282264CEC3A4C9F539C201139E9E21
32F2F3ABF2374B3D7949C97D1B57748E3742CA077B926A84404B5B0C39ED838E
BB361385694E0B7BF97FA50E7246E4D7E6570C69B7E6099B6B06E56B2311EF97
A99103CCD087478FC429B3114A39F937676125786DDC42E54810E35651709F46
0A97749A09DBED1EFE6638B9224AB103A67FE53046DB40E78005F84787D9AD2E
B6CAB5BC5C84D370AF41D7B3A1B06C8C9B154E2E3ED1D5E929A052EE75F21C4A
EC904ABC0EA93F87DEC10BF057BAD2E565B02B560CDC55F89E2C3ACFF474BE85
2FAD5EB9F288C7F44408633D08DBC7496836BCC79DE77D297E917A41ABC351A0
71A44FA46E06F2CE8B9E8F9DB9682958617524E93DCDC89E406F83EA47A94E8F
E52FCAAD6E3729D2FBD94CFEB2C8ADACBC8688DD8F049C541006BEC2EE408F48
0F4062760B7022EB7CE3AF667DC16BA2260BE04B5C7CDD3C69299DDC3F2BC853
56788E5637ED9540647DE4748E6D61FC54BE197809209DD6A3F472AA3271F91D
C09D8C64EE42B72BC1845145657E9D3C41A3C06B03F5C5D094274AD688990871
9DEC6555169250C15A0690D461D35F7E962E44CC6BB88F29766FEA1B0C2DF59A
7E793F38FA14BECA1DEB33C917006D2112D13A6D9E7BFD7A059CB5960680DD25
3919BAB349A5DB979B9E58A6527676A08E654C2DEF87CD44803D8F7CFB89BBBD
E4DF715D9C0AD589515A4955789E2F9E0F0B741510B272138AC0E88FC8A26AAD
F622D37B2B3C1B9AD4FCE9DC1FCAE999C8B3FE78DC0663AD8D0B7357917E6E58
3BDB824FCCC09A3A870D13CE823CE3D9D701C903EE00B9E29BBB90F7E521D7E4
E9D56698EFB7787FE47AD5F7C7FAA107C042D46C11411710B59A3D63AD0A3911
6C3B99857F55C2BBFC0C5888000CF19C58E6B5A93E0E39FE9B4FC9F80BADD8FC
6494209F8CB56A9A5E23C201BAF91A045A6196E58D3257FC9281F96970B1D7B7
9D2E181E408353BD2395513AB5A43464D9E687E7B755267B5ADD5D8F1274AA8A
8A2C050F1251365241EC5A4537C497742A6D740218ACB6BCEEB65D9F800AA19F
0CAD86CF2BC586F5CF07BB3686E5B4575F96ABD47DED0C084510894F7C24781A
1957029AD2AD97519B7ACAE24895B95F76EE922239E0316F988A5996E3B4FF76
BF60D81781B18894FF93A11EBD10D1373D41BC92004A1B9900A37CAFDD4DF543
93EF87313FF2429BB4C7872E589AD856C45B0164C07D0CA89794F964A3A11FB9
56034CCA30AE6984C8AA2D5F582C56BB290709223BD193D77E2F58D7D2C77553
08D36EC1B358E0BAED507686EE355C375C2059AA89FE1DE788BE916DE4F6DCBF
87DFAE4FE7670A48438163E4036CA82D90BC5ED55B9F6352B1F825670B331324
1CC94F4D2E804BF30F6B53C2F9668C797B677281EFB31751C6CD24D2FF35B6E4
5A63C4929499EA9C438C89EC8A69760D173A2AC63464A9C96EC9FC5C1A908A34
F60ECF28E37DAB9D1EFC7F04B362BF1261754B8E8964303B101F2B3D2516F2F3
677A83F9335243CDF091E681B6F9332C33CC1575D1B6DF0E5164E123915406F3
C5C198EAB46CB19135FB350D9BFC913CECB646B607CCEA5F6705A2F3518E5177
4A0DE296791A918338373432A23CE30558B3531674D6C80E1CD3E91F22BADAF3
9E607FEFF9A62962FD7820110C2F9B57847BE7D5423DFF6E4EB491540E843664
B6D26F3F5C86E4ECA2709B496889EE9CA84F08D9D58736E290094EBE0AD1D1EE
1AB15586A241918AF634C7BBA4E69086BC523F3ABD00347CC37FD61DDDB94263
89CC3E3D5E0A92C50B633C30FD446BF824B71A1C5F1287AECCEDB4A76E19A12B
A4703BEC33CA0F0FAF543131AAE5EE5DFC62F043DBAB28AF6B560052D12E59F9
6DA5A7FD570CC5C03249BEAC3F38A16B5F8BD31A3588E9C4E90F751B8F5FCF86
54351B3E883E2C4230F00A68141563564E3A93ED8512D1BF8AA250C453379704
709069A73E10DE42FD6B4863567027B4B3B0A531D593F070046F307636F6ABD8
1EE2CB549BF9DCDA801D67302110C70151343D5ECBF27956BE844937FD2165FD
91B2B47937230C39B054DBA086B9217B132D3C155AF2B31AEF8014F8D70E4034
3FA97DE401F7A651D78DE51ED0BD29FD79AFBBF73827D9AACC4E9591BC4AF5F3
F38B32923D9288B6247FF2D40329B623856F540BE99C0FB26F983239393B0523
FA2738DCE926BDE82F3F0656036F51D45B1490BA5F599EB432FEAE04691BA326
74558B998480293F26845717B284365B1AA2B895EDA9C46F238F1A621F061282
931EC77693E03AD9DF7D8EFD123488665796F8594F0359ABEF5F6A042C430787
1A2AA87486B1837C44C561A971BCB136C316C2FCD28D5A7B22DC8BC91A101798
1F5ABC1562B2BFE962CCA50D275742F4B1E1EC2789DF21948C9B7AD567361814
89659F8330AA7DDD30166353EB30A5F90AFD0F57A6FE6DBD3FD29C227DDDDEFB
242AB7E5FE0E6B18A0A1C5BDF34B132C61F357785BE5A0F3BBB6988143A3CB89
3540E0DB51CEB3068E098352102617C17A7AE9E72641B23860D5CB6C65D85B83
E4A4C6BC47B509F7562DAEC8D4172345B24CE356502C213957753D9A3EDB2B77
84E39FA189A90E9A65BB9131FC22C185DEBEAAC6A87A754927C28C6C2C3C78AD
4E8AA7F95A1AF810C7C64CF5DCF59B27C02D206437812FB55063D40BF4FA3CCD
013561BE542CD70E3E8D8D56FEA3AD43C0DE02E99CDEE4FA5087CF3ADEA6DB80
33315076948F9D28286EF1C2E41DB835A0E494111540AD56564D0EDFB1A4DC0B
3BD15D4A6107F8B039D37777CE6012030FF496A39BA401243A9590CEDEA200F9
4A88339DE3E3FFEBD0130A895AB76E10B2A41FF99375272D7D576C666B054E65
11882D5D4FF66C72274E32AD21AD7746027A232C277141C1BB076C05A289FB68
0ADD33A4344C63AE90B0DE698795DC941DAB787276BF19416D12B24339A216AB
DFADF1D4BB64128BC40394E142A812F40AC5F073556DE7EE199ACFE2DB53205E
D64154BAC4CB401CA1A1C589146A6EDC4337390DADBABBCD3A8790AB9DA3B339
BA89054C0C52EA86899210FABF873F5B6F10808237354C271FC612AF5BB39066
AD9B5C0866D9D50379DF4A260D882A56862E5984CD2FFCA2953A84538EDECF54
348B0DB9EEFA8F9548F487631174AD5866D7B2AB4622C372616733FE7346AF9F
E557F895C798ED59B700EE0C65D1996760D331ED3DDBAF0F53B9E10F63D0BE41
517C0FFA58C20FE5B10C4BA9D1BC082CDD991CF13B6C6D0ABC5AD4CA3F55C966
E4B14F176DB97F28A6EE72B72167FBFAB631B4E3DF34AEDBDC48DCC9173B0702
DE877053893792F6CAB43648292AAD3C5FE2785E7AFC1FA1CAC89D9AA26A3F06
37CADE97826F8BA63C3C390A94AA6AE5D0BF4E52D8384A290D64C552A4011981
8CF2B50C604BF2B780AE28A8AA5851F29FF44D124A1D64A7B5BD7A4C603A80DF
8EC03EBE26083353064F6B2BEF9477FDA6343FCD29FB9E8070760CB84BE5142F
3E8BBFBDF0268DD4B3037126CB8D5176C38B588D31B63094389650FA866D57D4
49CE8193727BC70DD253CB19EB65348DE5BC33304898946301ABB1F96177ED57
5C2447456BB7DC2F5B8BBDB830DBB44886C795E484F76853D91E3920B8D3E9E9
027F12E6322B0E41EE72E3F728AD90E2B9E41098002EC62B6095EE8AA8BDFC57
995E603A2E67786D752CD9F302FE342F8A02CA462DF39D585C3D73CC7CBAD1B3
C286822D265524D62D58E311FB845166460C83B656CD4B4E31743983DB6FFE38
5A07AA89685B20FCCAAE86255D44EB8B1B3D3E922A1FB574B5C8BDDCE5CDDEB2
D8BBE0C7EAC54540A40F254C2A90A507BF8B59725F5E36FC40261DF34D29243C
3BC9C65CE7E6D50E19E3C3421D2B5D84BE2D7CB1864843941528145A3A6E1F67
94ABB555D73CA6C45EE6C891AE96BF224D9FB3C9B0B47B21A699DC2A1B8DF8CB
DC7252FDA006C8FDD6F641948BA5B2D5F6FA454F2C4ECDEF1660ED33D1488797
6B2B8400928777E6B795E40CC17DCDD90220A507E72DCA1D893090916211D3F9
57B15C66E0DA69845BDE295346413C30CB1222EE4C1C6536C14040BD426788B2
D0B8F366BBBCD119D8736E26C11B9280122F6A1A06A33B133FD78A35186D10C9
7D3C2A18853AF7237690410448393FC1993915FA421C57BEF15422EAE58C84B9
4A03DCE4CB05208B0025879304F98B2E645036EA0E2A50703750503C414FD481
59ED89612409F61EE3E8794BF6120D19F66B876A7FF4ECFAE639ADBE17B2F1D4
5C4DA9258D707555836375F170B01A451EEAD81B9434041BC67D84673AD592F6
10740E221C48DE4166F13DE74F98E7F0A9825985AEC57C51BB8A58ABBD1DD2D8
2D31D9BC4EC992950E15C4F6909D58F8128DFC279E971FF27E07F4E7EED809E7
58C8253E4BDFA87F1086739D57A8D57DEC9ADC72C1FDCC1C5ADCA391C6AA1551
39EE932FD41A775C6BC80C5B47B9642446CE137A7D8E85492C229217AA90FE15
4F1CF1DB8894711BE82AC278EAC0E970C624C3EFE0F974E5203651C4487D0953
B7ED764FC803CE2220EED53A54769B046ED35DCB0A3BA31EA49FB26B67C606BA
912E7CFE29DF3A9E63DB2CAC989AE8BF9E24F61F09408D6C0EC279C3E502575B
34885F4182B1E48587A0F28BD9C37200B29EA57E0B2EF81D1703815867087127
244340E2C0AC28E1377247EE3424FDDBE111010A2084D243F5A6DDA37A983D29
3B6798690DFED6AE09ECC39D9C0EAAD55B1DECE5554D510E52B01271DB4E1421
BC767765C125A9CAE24418945C52D60D9C7AF61C3E2AED45798D4618351E3E4A
E0291C63829D55A28828B99444D49F70953B19535C069816076B29468C1719C8
FDAE1D38710D0EB2D2E965F75DE15431563FC843DB9FC5462367B1C15DB0A27A
79CF8D863F42496C03D7014725A3C14233BC2D800776A46858A5E3A026DFB90F
2EC843F94E1FD3FFAC8642E800ECC8C5866FF777EE010A4DA9EA2FDDF00DD0A3
D323FEBFD7FD089716FD44A66B5A7C92837D3C6963699F0007792999B361B007
73CD354739BA61FF60307CCCD2D20829C545E1C46336BDF2E321621BBDA8CC6C
4DA1B6359039D0B367172C2D6F03A09E4A0C6CB22D876882AD800B8F2EB42A80
FF637E0BA29B3DE49EBDFFE6B4B20E2FD0AB55042ACFCE5BFC7EEE08693FEA17
B161F226DB515948EFB62327F3D3319276790754B87945A92D1C6ECE7426CDD5
98F5182A9221373C64EBA95A09783A1E6986817F7C1B2A450A49F6C83C74721F
EF428DC7FFFEDFF46DE550FE5D5F224F04C39B22C5EBD956F3DA47C07E206270
5804F42211C513B100118A81A9B69D709B7F23173640B4E0002C7A37783ABC5F
8DF3CEAB740CF1F46C0751435CB6478CF952AA66DAD3A89FB2C20CD382A9621F
7FAA723891A1C7BDE39DEB1AF05D49D85B730B0CD9A8EA73AE53D0CFC48638E2
C58E11633573A602399031779688887D418403E8813CF28006C655488B58E51E
3FE78702416106FA78F8F4510CA2EDD76678D0738B4B90087AE541EE0F9D9B92
E0246483A64CB9E98555505F8154CE165CC5C1C5C53DBD4167A41B4E8BEF64D6
C02E8EA6F04BF247B7A4DDD7F15753A20955307A2A0DF8EF9F7259FB17BA4072
9BEBAA3B17300F127401FCB79A9EBF5745ECE0D928A77B6C981A4A679060B0BE
F2D2A6905CA4A90C37B7A91B8D24A052967B334CE50BA0A2217BFC64831E6EAD
EEDB56CDB42D87A3DB4282DCA71AF6AE97E05E60AEE094792ACA1B36B92170D0
D109086F0A022749590A98392761F56D14A2FE06D1C3F24A9971EA5E965C6E4F
8736880AD9EFF0F62B6A90D8D531D1EFD0524D273EAC1EF5EFB640BB3D985968
D22B870106950796612D485EFC2501703997480E5E4CB7FD4A10790B67CCEB22
F662C109923CC09B078CF5AB0EBC60C3F546CDC799D95516FFFDD9C1DF6EDB03
7C04D72C9050C7AAF14A86A10E839D7B2AE7BFEABBFD387858CBAC05FC72188A
805BDB5AFE3568EC326DA47083F41870F2EB62A934DCE65CEABDAF3D56F606AA
562E9953C3EC0E8D507A5045AE33743AF01007A5E4FC1B8E75181B5F35043BBC
F5EE392857E54D02910A8A6696A7E69B296498212232CDDBF408DE302986E937
FBE4A0BCEC1B45C50A5F5954A42F03A06EFEBB8950990154B7A12BCDAE5A7E79
815163E57E40775EF8C5070283906D6AA694740965D14784E3C6191C38A6790F
E506F098DF89D3E5BA88DBD521AA030D63CB714F63BC22BD8939253033BCB71E
67F5ED3B8489F7674AC747CB8751456C5DBCC90A62A541A2C64E423EB8F9874D
D1ADC64E79246DAC95CF4F4AC54B1520E56746F304F7237CF548564B9F19AF21
2575849200F71BDECF8458F1B704DA3022AEE342E1B58F5AC762583771E50603
02951198C2F13CBD9D5C9D712B65892B904F21AB2D12817F37A1EA094BD5228E
433A8B834FCB549A4AC827E3A354FBA436A8F9CD5C549308CD6C8511A4874069
C24250400DA5B4AF622585B192E215B522C24CBCC903BB5C6AF81823CBD021FC
D77A63DF63272264C0881A9CDF5C06863659E153B9B32C661C8E2C5518A1F0DB
F6703929E7A3F5F59489502D4A684BE823C3CD4C248E8FFAE9EB39709D0EF868
4EFC680E48EC87D258FD1BACD98049F7E2785AA8C632EB8529AEDB213CA3AEB8
F440E53A51D19D13FC0780F57A958F858EC97B3EB29119007C82137C429735A3
AD3C87C1F957B557AB80E2FC0B55F744B333FC1E49DD5B69DA98BF4118C8CF84
A4FA4EF636F797CA1258DB55C60864A09AA75E90C5672944E282552A3800AD7A
12A2990CEA5E60255C4D57F469F6C79FF6C7D902935AC62D9E078A2F786A926A
2063FACE68DAC7E39503C708E42097D1556B4B3F9C07CB81D2FA93D498E307C5
E83BEEE06B38A344CC332338E4E566C0BAE2A271E628ABDF8F0DFE2E4F2B3295
D13933C0DD6D045E9757FE536020F5D529D1A018D34561BCE245D9BF37B249D9
1455C7CDCB757EC8BD8B422D1E72A30CC2C3ABDF933E42B8B5C8608B4B66E45C
5F697CC7B6A540B83D74B5A3E2DB05F1696B2BFFEFB1C9DED89FF7B23B423D4E
BAF347483B1DB41E73B91665C5F236DC6D723C52E685CDDB87A89153EB875BA9
3013CCA734D0F953BB286F15CD350F0806E6693175024D6ED4716D7530D2CC61
4F18A7C8316BA9CEA2FA4370829DAD71ED13A7C64FD1D3EB614CAB3BCF49034C
54A748AB40CCC5F9C8EF1E7C674BB8D16C2CD98541621E921FAED15AFDF61844
8A4DE6F69E2E5A829B0B0E4652EDE1B39D5666700A6089131DBDAFBDC0216308
AE9477B3387EBA373A1D6922DCED787E9B387205990C0AD14F8987FF7F943E88
717046574563B81FDEC527D71E27A6930D9C7A80A731E87F625BF2FDEB3DC8C2
E4DABB309894441E2A9042F5BD0F873F110A2C4C3B6B656E4E32B4B50DEE998F
6A483A284FE3CE1E9568B3BFB5C594DAE1F6D8388DD57F7B997EC0283500634B
D8AB357DCA4BEF3EE15F90B5ECF129671C248ECE8AD54F0925D01B91BF2A6BE9
4DAA29A24FED710E98DB260E960347F4655118DEAF07444B6B357487FF4B1128
390DB70513704DA8AEB05270F8ADE1AF7864D3AD3CC5A6B998F8FE342D96C385
635E4D9D603B6CCEEED9B4564A96C34AFDCAABA0C5B89AD2A97E7576EB895DA5
E3E2C11B376C8A938D9F4C8D4B417CFD93F33467E9A0D8D5C9645A985A75FFBC
99F55E7F918D4F9EBC0D86DD42DC3ACDC785C4345DB9D41B04DDBDD99251EF9C
1B5EFECE31F81AEC5479E7CDA0CE66F6849EBDE2D5020B6724EF1F4E86A34328
A099BC8D3AC972A7227816D67847520572A897BE0F8C40A8E1BE23248A938BA6
E7E693062D0E3B08207C73D0DDF0B1D80D7D1B023375E68FD7DB8C430CE24643
589D7437AC26D90D302E327A352CB3700F360DC788720BE66BA728774242B8F2
5D09C3FA31BF50B20AACD292A73A00E71466BAAFC5D62A3308656BC000F63539
69D8716585B3B53044C9AFDC867BD2A84CF27C1CAEFC22E9DBCF85646D31D133
53A2E024E9B476FF1517BC724706F13656BFF89D8E2FEC269F8AC0E861FAA906
16D346483CC734D5A60FC0908AEFCA959AD94B0D95578214C363ECC752A88855
CC4122C827F07C9AF43E8D3767C744A5FE425D83029CD3A1F9692B9DBEE359C0
76AD3E9BEFEFBABB48C8E28FCF3005113F33CF35B47DBC7529AC0F1C6DE49D09
6CCB2E31B50345EEA24555F6B3DD8E0C8FBB4089DE5B922406EC4511820DFE06
85200EE1E4171461844FC866C9E8CE869F99D1647179A4C0E2F930DB66DAFB25
5868DBE7B7D4A8DC6000100B1D51787524BE58438D5EFBA81C21A189EB2D512B
601196068714204EEACF95D1059B88B1275B8584BC28A462DF8BCC41AEF514C0
41309C9485B15F5BB34057A5963F0C4F3CEAA7B9AB4B254C81439D3AF79123E0
F43126E76C8A547E751432ABF428D6E9649E5D2BD08DD18F75FBACFBE4CA3679
4FC557345493EA705E3AD9158820801AF324EF0F5F31AEA85086978595BD7DED
00074686999C025380634D66DA0AD60CB71A7535F065E8D60B1B266BCC303966
1898A1232BA1F41C5FA6F12C82DB90C01059EBA861F5DA515019D8F39589D20E
C6D20B1E018AE32C0A05A7C3F2210BD1FDA9E235B6C8BF690DB53624824B7787
593610563CB1BE4005DDAF12BBC662F0ED166456BB68C541B8725B3D24A1BE4D
A4241215771CC5175204B3E246558713A8BE62C8E9DED5D0EF82330FCA43B07D
38E5265389B47EEBBC4A54EF3578E8B27C61604D6D23E32C061D586C230D5543
BBD863585E6B7EDF6AD9204D7BACCA0FDDC35B8F7315C9FBF3B72E764E9A5DE6
DB7D999AB273C37BC6E3AFFB126C6D0B72DE2439D224879AA4B94D61A43DDFA8
76A9164BF74FFB8CCAF7BC1AAB2742F8C88E03E46135C0E743904B30E2666F4C
33E5201D39BFABF299BC1714FD5F019FDC26C87B4C36D6082183D510E41F9DF5
A85151153D2C08AA6B2A07FB04AF1DF373B543F33C37D04A522BA6CC3918C9D2
D794DC60366D622700C73712A3D18C9BEAC3DBFAB04039CC3F7FFF3AA33C63D4
B97686F209782809B8B691107EFDAC1A50ECBA2DC0C57C5EE625A0FFFC6E587D
B8D83AEB8910266DBD4F8AD6AFB3A79BB2DE6EE8026992F2BA4E1FAB49409E13
59C074095706474855803781875F6DF1BFECCCED1AAB006DC49BB307616AF322
6039748F8E9183078AD912154DDE6B6656AAE47A6E667EF2043F200779AE3B43
8CA13FCD07E34929647B421503AF311DE50D29E3B419C90E2B7EB4533B592C51
F029F3E02304FF4AC70B6798586BC422D49C6BACA5A1BB979B89B8985D83214A
2914EEA06C6DEC0F3B8875F6075403028199979A7501626708263453A8377E4E
8EC049FBD087E375E3034A2D224D507D1AF80D88B57DBCF3E172CD420C6B5F08
BDB576F29BD7619FD83618E4CF7A8EF06DD99C2653DF7883D308BEF9FFD29114
7FE92E461B5EE7B198B1CCC23A18407DCA12B2EF2D9A77C7548F59F8E8B4EB89
6BA07BF76AEBAC8A10D4C7EEE5C41B1E431D6CBCF186EDAF170F26ED80F06C56
9889AB624E9FD5D9FD8EEEE73FD5654FFC0BDD9A0056191ACC0C6768638E569A
C555019CE11C670EA6815679235EDD06510B9EC6B64C8CA4471ACF893AA895F3
812C0D7EE3817F0AE3865C7394F534881BC67664319EBF4CE1CAC61CCBB065EE
84FBC8D2962FDB6E4EC96BF4893C6441F87C0E7DF11A16DE9682CE21220951B3
56D3CCF5EFEAB2CA605879323C49D3FEF5CCF78192EA321AA8F6B9A4C6372083
3433944F5C45D7D81B74BFBBC715CF4B88D92FCD27341F88348FB6124B472F31
D4A29E3A45ED4F95F86CBCF36FAB540040EC6E1E43FFC406C09DDA8105ED5F0A
A09778F7371B591C386C3B3B366C404B8F06AF75FEC0A1788B2A87EF4C4F97D8
9F18F9F813329832E849A77CE449CA5822712E6A8E6BE012FA6022C65106643E
3A9453CE70344AA71AAC485AEF6363F55DB6B0F84BD8B8C1A322A5240B604E5D
63F850AD5E9E4E34C9B403C3F37C6C725BA23D0B84829288BFDC8C237079C009
E8B4965B30A14E381C4413C38DCAEB433E4267BDCD435A8150B4C6F02578DCC0
09538046A1E22CCE81ED17FA7692D2D801735638B9A45ACFC00E097B7A25323F
CCA89361DEEBABB082E01685212EBA99B0EA448F04E2AB80DE3E2AF93340EAD2
F01B12095AA1A27B6104ECC6F37AD8A7BBBF107C29D66ED684CEF63174DE287A
DDE42E48BC75F75CB60E42C07C100309B5E175A668B968F4F610E7B1A1303EE2
422E3A07D1CE7E6F6B178C9637384267F5E2036C5E931823F03E893E67CD6841
5930E0A3C95068FB600B00A24B7795CB87458CF9A3273F4D9F109A7ED6E8E7EB
F96062A5B917C07FAAE3F23C1C959F58CF0DE0A13DEA29BFC7C90A9CCDE3D863
E1F33AB6D2B0E4F0542F998BBA6CA65017A501557E3490635C6047991BEB7FAB
0BB7B21708DF55D4D72C6297534B5233DD995F4C139FE32BEA7B35FAA4C58EFD
6D0E5AB5B63406AED8B0DBC45EB3319FD0FF48BEA8AEDAF6AC9B2040B11DFE46
B8E2020BFA7DAAAA3E88219A5D708FA2E468E58BDDE1D5C34A86B3207C8797B9
22F3BBCE7A04AD47A5818E9D0E5D4208B69B399A2FC46D530D1F0B6E5A02D369
58AA32F3EB78BD731BFBFC629E1C66780F5BDE5A7AA9B3A0E8B8B4D9903049A7
3086701B5B8CC30C5FECDC10EE651649AFD6EA38352FD24A86BE537D3EEA4F78
DF1D7418152EE6BE44773B1E8D40722DBAE967018FBAC0D0924B978F5F0EF78B
0667351921F6B5C69E95ED3024AD6F7EA51456C0B0C6A507D5283A0C658E7794
115F4790CCE777B12C342A8D9FD424733AB87F6CD508EDCCEE7315FB2E35EB79
F5EFAC06821ACC757075B8F35DDE83B67DE3829FDC8D85EC7EBBCB40C919CF14
34841482FFAE2152EC762F03B85D2CBC989338248866FBDDA72520A4A290C73B
F325FDEA401E11AD0D6FF97B3C43FC734DCEBB822EDC7FB3FEFDC1DF266C2808
D59319BE47F906CFC42B0195425BEF65523A67AFEBE1023105379600358DF8EB
167B4D18985D7693A4A9D65362EA87AA15952E1A07C6EDF801540F51DB9ED625
9BAF06F1C86D3501B02FDFE58182648A606E117AB9B3A76F9172D35E49955634
61F39042A5C7833149728EDF03DEAFA96A0EF488A50326EC3B3D66EAE9AC7B40
1DE6E4D22B1FC2B2A1221AC31C4B7AC5E5DF5F4B08125F6833DBDAE183402A06
808EB11C4163EFFDEF76E60120FC6258A43FCC7AEF261F1D5D3716062643DE36
1C6B9059AA254C0B371E02B0D682DD0930195322873A4FF8451283B694B90F6B
5CB0C285DB88C29ED5ABB798F8ACD99F31C4DC38EC1A915BFBAF302FF8D0B9E9
4CA98E78F6418E5082CF09115B0670E8907031AE9D56D3626D1D851731D32216
35656561E3FA730A8FDEA875055D68131C036071694F237EA99B8D0BFED1F740
903C9A87FAB501B475A1513761E50B92E1858577EDE8FDCB519B2C25A5CD8EA1
B9A7BDCDB100235EA911B4B611422DA4F5F546099B0CA06349AF74C497908053
C0E16A196AD451DBE3BFA1C00408288BAB7F90A07D91E70D619647FE91534F40
89DD83A126878281E9C0735B86AC49C2B998D2CCD6C1538BA72EE028195B5768
4C3FB0378BF7277FA2E5F8320D5F125D1DED74BDB940E87E6626A207D368894D
D4F9CA9C5999C671670175D2FBEB3AF02A052FE64C56BE8AF131E77A9BE4CCD4
95DA08DC7382AB34654A5B8D4BC0CC795B17A15E8338EF32E073692CE7B8EE8C
4B99E8C071BCC02AE52E77F929A8A3ACF7DB34871AFB4F5415400FE3B70239E0
37B13043C93B94C566B13845D601B04D3715FB78FFBA8A37A7FE55BB6156CB93
246BBEE8CE5827F441BAC607618FF9EDA6E33A8A3BE2C212941B637712144242
8EDD10ADA0CDAE27B7184F4146A81B71D33228A74EABF6F50DF87652D3B3DAF5
1E56C7203A4FED366321CC356BE9762C24D89320F3F505876C61F6DAD664B387
BC33221F235BE6A85958B4DFDA82240C20D5A63331C3C0FB7749E14E9100D516
CF2CFF63C3D18D2FB522EF3FD51BECECCD678A22E71ECC8C543D01B2A6B4F526
254EF9E6ED575100C8882A19D3600C7B9CA3997509102159D06E4968A6C586F7
C9FFE27A5157EF0B5A8B53F5BD0731AFCF46744D919B303E46C0090E55D2010B
91424E9B5E691734773FC5158DC5E67D09B2E1C9F702730F6C94CF06D7E97834
1E5905CE5A61255B9F6886E5EBE4D4C0B213A22364440B2613AC4E9E35D6BD7E
BD96FEE8E15C45A650E9327BD3540DC329E841133F081438674E04E1B4FB06CF
F8A654960A1C4836F7C9C72988637230F0CCC6029E84CE6A76C7247ABDB0C735
963D94977C209B9DE09C1E9EED4B64579FF0AF2DC57C4146F25E93AC906F06A0
C0A3B0063F4A5B5B96181E3CFEFD724018F25FB3ECEBC73DEB61DB15236C229F
9527E48E136CEEADA2822C02030BA795A466351E5E45AF71956673F7D5D35D27
5AF7EF45352A3D0BA52E5599C30C54D5232BD9985FC581DC99FA6D6EA33116BF
12388D3A5271F165825B08B8575ECA7AB3332FC8150697EB7F389D3021B36E69
A37AE45229B600A6F1D0CA04D0FC950D5884E2ACB39332B24111D0F4B9D11DCA
C043645EF6CA812282608E991D4BEBDAAF63B85C046CFD0F2636D7EC2F56E429
774E01E08D5B5A1002E75200B12A72D39B592CD5738DC47165F2B920FC2C6886
BCD87569A396C864AE173A5BBF2726F7F4C6D506B23B8F20DC20314F40F1DF6C
4704765C8EA0BC21898E0CA8D908D0913EDEDBA892FAFF7A40A1B4A25DF02D1F
707DC35B2B46B7985D49891C41634F86153FD3ADA0758F627712BA940568191D
A64EE0F93BBD4DA10F6EC71E44BE92D46B31B937AF71FA3B50E644B30C25F9DC
C11EC4D286F0977A15E615BF2E72BEE4EECB76529BAD81FD420A4A0278A6142F
CC8FC27BBCF3726A41E13EC9F64A67B21390489B4834BEE73E77EA35BEDB069A
C1D791CD9476D8484F10DCCA690045F1577F8859EDD19A7B5FC5A2B2E78F47A0
86F292FDA42D783D10467A4DEA7767A351BBCFA5792555A4557030757B695D36
EED918EEC3772F132EAD28D998DDC99A7FCAC8854AD90A38B7A25A9270BF0EB8
70E452CB4026CC7C163A6DA5B5AAECD950C4593748542FD80FCB3E5A6253D0E0
18F692617E694539A25FDA688BF874EE4FB708054902567019A1F5C4DECFC561
10753B00A81004164A0DA0D124C58ECC52367BE5995082431B80AB76D2ED130D
04704AA8C25E92DBBA9552466ADC3B2DB8CA68B9C88EF017B09D48ED8DC37F52
A9C14C40EFDDFC0F725EF574B575E75D260A7926EABD120D8FC69512186BC598
13720A3D4502BAE525DA499582D59A67485573432B179E595381C13DDC012A39
AC702B68AA3A0C10BC3EC93B8598246BEEB279FAD0DED97341EF3C4563539B19
FD9C37DDDC01466C97DEB627783E12F82878579AB6ED8CD1E019633A07D9736F
41B43A22EB3FEFC329BA87316AC8722CD1BBBB32DB2A1C6A579B2DF85208F67A
41BFD2E0ED61336B1045EFC237E22DD1B6921537254A0A364681322D5AC4CABA
4E353AE59FFB06CC5C0F91DDD5CE97CA192647C93311486F986A8BB8C75AF6BE
4C2490EC3B518FC3D903E18637C71A5075D535D81C59A8CCC6FBAB9692E64470
AA868734B5EAF12C1399AAE7E48399516CE20D9CA2BCF3FE9BA0C99C6EADDAB6
06FB7C4164E1F801C22A350CE187171E9C62C55A50A11FB48FDA15BB68D98261
3D849E7D288CA8B341FF9DEF3F581221E998AD58FE7923DCADAAB6C9C26983B4
D6D833011B19C32B0C53735CF223D13ECC2F8BE42EFC6621918728B868D0C854
3BAD843A701FE1E791CF3A44DC467A08263CBD04F26A07BB3F508AE0423C46E0
12D19C569038C49B2DEE45F486EC52493824728C14B39918EEBD47C5397CB821
D634E4F4338F33B0F04BE30B2E221D1063D2256023297257FA1CDDC103F9FEB6
E8905C0FCDA28F0C6EF10C107C3B84607706F5945ACFCE13BAE0BE17279D41E2
AB4CD65C880C8A15F6A0E431E6F104A90E091A4265DDC746929E7871642786C4
690233D7B26B40E9A39D4369A9331B8812C3414B155312BCF45831E47BFA8F6E
B90AAB07B11CE98E6FEFB004D85A7718974E920946E51A10BDD246CF79C83A2D
44FFECFB76C1351951B80F6FC8D2A106BF0D8A12FC27E81D51444B95E40541A3
88CF04B9905851C5FD2598640CB0E8D8E9CE4EC244D788517F6E62D39231E3F3
2DBB2137788AB2AE9F97E56981708E61F49C561F679CD5DB030DB3CA2C042907
E18CCE15FBB0029FC98B122EAD5751C8C71F0D63B05F2111BC5755EEDC61B44F
14556F5E5486AE348886126EA7D666F4F5B1639BB00B6FB4B5D1AE78A8BE8976
C551AADB26C734DAFD7B93D69936FAF0D0C504D34B62F618F7250749F7780CA8
ABE7178066509E26112076B813D49F77320D3E0CB7174231BE6D0B8BEF004F62
D1ED971C9596B263640CF03530FB6AB8F47DC04A588DE1064D7C1179168BC8AA
A5E4FCAA0ED0AE38DD0A1CA92A522BC97066B7A64A40C69A6DB09F840D10AEEF
4ECE16253C85F258058E03962F9B61A3E3C9F59350734A2DC1B4DAF3AD1C34F9
C42818E94BFCB228FB6B41B92F1F9E52B36DE3F7272AB1559A18C937CB76F650
5ED72AC284008BFEBF601BFFBB2D1689CAAB81F98403ABC04B4A6FD3B5956C9B
15BF02E470D9C7BFCBE04DC00E75DF902314350EB8BE7BC6F21F0B6B2811EDB5
76E409CFC70412EE0C1F16611A82F89F6882921057C3D6764300C96DC0A0EAED
A1DB30C6E7439BC705A346EA1CA3B52459F4775AF3EE9A00CCD580ED27C1E2A1
4BF77C036D466F48F5F40EA39FBBB548354DBBD4D059D3C3CF2B1E9FAD1113F2
5255C3AC319C87E770332C0428B8ED1A10D00D5F5D1CD110C2765867F610BBE3
382AE901CFCC3F907D31D6594F50B6AE926F4064D4DEC6B0791EF0266B99E881
1F3C7056850A97893D2A00DD677EDF9BA3E12F977A1239E44FE5FACDEE92BEDD
A495DE8041554B6391A2808E9CB2FECB553FE7BF35CB659BBBE6B37918C862EC
446BA6A5F7A9B01F7554BA12B050C86B9220DFBB9008012AAFB56CDEB172E27C
6D5CF3C835E45D9B1B8C3C044090310880ADC36B2C056447B034C1D8AEF332AF
64B348C56A9A820AA3CB4D78AD5F423EC7E9F2844D7914FFEEDDF38F790E9518
9D1704CEFF9CDF736457D64FCCC8E0F7F9E1A4A321F36A554F3AC749CE6EE742
6D209C6CF009131C868C9887550F52115D0756DCA26E21B2399AE37F4FB20ECC
A35388ABC07CA8B6B60E3CAEB64E7FC1E054AE495CA80DBA6E97C999B3BDCEF8
282AC2433C5800B44799F055732ADD4BB6E5869BAFB3194217DD5DBCC864EBBE
3915FA3D4058BDDFA143F880671E3B5A9E9E3C0035686E6FC05250F08D2E26C6
91C95F62C3DE637A34A50A483F52FCF0BC54DC4400EB29721C337DFECB9085B4
354499A740AD101F63C6B129644D9328CA80295654983797F3EE6F5439679EA9
B320D777819CC341A2B24CEF879730413E13B6D067D5B0D3098032508ABDDAD5
20D39762408DCEACCD2C0E01628E3F8EEEE05A02D46D34F5FEBB18076DDAD189
DBDA369ED83F26DC39323E72D091DF89868137B668F7C04E3929F892C134E6EC
A1DD4B4F02CDDE4BEC28158D8AFE6D7BB80FC3926375CB6FF2F91B4B2ED211D1
165F57F05945B09C3A1DF23709BF809328B73C523416941F4DE20FC7B729193A
9774952BF00685E8E3264A9E6AECB785EDBD595900F4DC79FEDDDBA09E62B326
21242DB9201FA07FB6243FC522B67A44342CF64520206F3499D3C6516FD3A7C4
002160C36860A55F023D68618861A071E3EB7DEC409583A2E935DF2CA41D29B1
B99C395AFBF964627351D9D0B1F6D7441D2E95C5A2DFCE5194C3143CF55BB96F
4B25A30DD9322494D4CCB796F57811E956F515FC373846842DC50313D5A89FA3
58F69DFAEDDFBBF71D0A990ACDEED7580478DBAF4B3413C9
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
cleartomark
%%EndFont 
%%BeginFont: CMTI10
%!PS-AdobeFont-1.1: CMTI10 1.00B
%%CreationDate: 1992 Feb 19 19:56:16
% Copyright (C) 1997 American Mathematical Society. All Rights Reserved.
11 dict begin
/FontInfo 7 dict dup begin
/version (1.00B) readonly def
/Notice (Copyright (C) 1997 American Mathematical Society. All Rights Reserved) readonly def
/FullName (CMTI10) readonly def
/FamilyName (Computer Modern) readonly def
/Weight (Medium) readonly def
/ItalicAngle -14.04 def
/isFixedPitch false def
end readonly def
/FontName /CMTI10 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{-163 -250 1146 969}readonly def
/UniqueID 5000828 def
currentdict end
currentfile eexec
D9D66F633B846A97B686A97E45A3D0AA0529731C99A784CCBE85B4993B2EEBDE
3B12D472B7CF54651EF21185116A69AB1096ED4BAD2F646635E019B6417CC77B
532F85D811C70D1429A19A5307EF63EB5C5E02C89FC6C20F6D9D89E7D91FE470
B72BEFDA23F5DF76BE05AF4CE93137A219ED8A04A9D7D6FDF37E6B7FCDE0D90B
986423E5960A5D9FBB4C956556E8DF90CBFAEC476FA36FD9A5C8175C9AF513FE
D919C2DDD26BDC0D99398B9F4D03D5993DFC0930297866E1CD0A319B6B1FD958
9E3948FFB0B4E70F212EC976D65099D84E0D37A7A771C3101D6AD26A0513378F
21EC3643079EECE0C9AB54B4772E5DCA82D0D4ACC7F42FB493AA04A3BF4A1BD6
06ECE186315DBE9CFDCB1A0303E8D3E83027CD3AFA8F0BD466A8E8CA0E7164CF
55B332FAD43482748DD4A1CB3F40CB1F5E67192B8216A0D8FE30F9F05BF016F5
B5CC130A4B0796EE065495422FBA55BEE9BFD99D04464D987AC4D237C208FA86
0B112E55CE7B3782A34BC22E3DE31755D9AFF19E490C8E43B85E17ECE87FA8B9
1485831624D24F37C39BF9972D74E6EC4784727AC00B9C4A3AD3DA1C22BD6961
7E0ADAF55422F22ACA5E4DCD4DF9FCD187A566B7FB661D0530454D0DD6C6C50A
7A3875C6CBF8EC7769F32A1F3F7FC1C072BADEC97794D4E90E0035282A170402
356E5A9CD9ABD80AC4342A5283E458A7269252F4541CBB6452B39ED54D336D0B
19928E9CD1AB26AD83EB209E2EC75011A2643813053B5DBB0246097C4821B5F2
C92554E9140BE35B2DBFCD98809A8EC9FC910FDE9E0D86457C70ACB056EBF90F
244DC0A5BBD455E15D6E3180311D52CF50B0BF7D0A7F64F3A1821E0AEDBC2E7B
AEB549FE1D51088C153799C6E089B5D5D65E1C4E2D2B430CDF1FFA23CCB25D95
592943209E846E55B4CB54F6658CBA3C0B29796D69D0435D5431ABECF3448C15
98CA2F36F3659E29AEB79355EC2ADF835CF0886C21B766B9DEBC3950B5B3B496
2E06D980A8C60305B273232D4604F12632FB4F1B2F9703952C823C098543AED1
CFB4ECF259A11985F0C944A57B5AFD853374FCF12305601200C2A393E2FC77FD
F78C2BEC5282828B86F7CA8953099CE2E9195341F7004B6F0ABA704BA1269806
8476D7F3F487B6AF5AA8D8AB28846C41DE2D19919330302A2936E0ED9503F76B
34D765DBF9BE54677731614D3B9D9AE3C9EC8847BF61DFB88ABD71ACBA5AC5D3
351321586B810ABE1E8132B0BD816F3E55CBDD41F77DC42B2835A0B0907788B6
9762A9CB5A1C9B8E1FD641A29486FEAB36FA1A2FE1D2676A20E194EF289A0BE7
00D2DE636D7A24E3BD35682FF773DE41897A9AEE3F3F3F3BE0CD11A8453B3064
683E2F7ABE22C59658102CACBCA9976E1D76518C23DADC318113F5C1C53C3995
AE423634980DB4CD643034264532A9AFA72F05C270F5EC6CEB5194E0D5B5D6D4
343EDD6F907769D32E6EABCF836A8E6C4FE792218C8856FED910B26389AD1A99
74491018846A4688253A22B30A3CE8D967FF9D3BC1ECEC7DA6648AC94D7AE9A4
A66D9167082A760682BB3CC1EF0C5F4172DB6F6B5D997D9EDC235E0207E5D85F
6432326983FD47A57A25068B4299C2B087901E349D5B14E1670ED2C617996499
F7EEA866920364D98845C62CF4418936F3D66EF3655469800446E404FD7C8AA0
2381E23C1D22A4797A68D982900C75F2ADE55266C92E8F7F1C3EF63261B9505A
6F775C8619E358B1014C7E1B111267FFD7D94B0F6AB15E18DC1298443E68287F
EFD3D84202FBB8F17256BACA786EE100868610A01E43C208B7527B11C1CA388E
4B573CC7D53940AF270AEC40F54DEEC49DC6FCCD031BD10147984DB11798CDED
B6A7D81C9C0A2CAD0CBD48CA31F7A2FD19BEC751BB2D983CB0E1078B55887A42
469584AE9A44EE8DBA1C0DE4C5E0753BECFEADFE7E4E0FC177A7A6DF3E39C775
400CF95BD3132126D8FCD3556DB5492BA7D1AF617E9AAC82B617FB0ED5382189
8A8694A03769B9196F4F7863DFF7E567A69BFC1C4D1812AF680BFBD0DFB63CA1
E74B34C96483D7595A0011BD81EA38BFE6D015C66DA29836F89C
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
cleartomark
%%EndFont 
%%BeginFont: CMBXTI10
%!PS-AdobeFont-1.1: CMBXTI10 1.0
%%CreationDate: 1991 Aug 18 17:46:30
% 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 (CMBXTI10) readonly def
/FamilyName (Computer Modern) readonly def
/Weight (Bold) readonly def
/ItalicAngle -14.04 def
/isFixedPitch false def
end readonly def
/FontName /CMBXTI10 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 -250 1274 754}readonly def
/UniqueID 5000771 def
currentdict end
currentfile eexec
D9D66F633B846A97B686A97E45A3D0AA0529731C99A784CCBE85B4993B2EEBDE
3B12D472B7CF54651EF21185116A69AB1096ED4BAD2F646635E019B6417CC77B
532F85D811C70D1429A19A5307EF63EB5C5E02C89FC6C20F6D9D89E7D91FE470
B72BEFDA23F5DF76BE05AF4CE93137A219ED8A04A9D7D6FDF37E6B7FCDE0D90B
986423E5960A5D9FBB4C956556E8DF90CBFAEC476FA36FD9A5C8175C9AF513FE
D919C2DDD26BDC0D99398B9F4D004B836D34E88C20EEB527CE1124209388A2DF
E27A8DF298A2693A9D529916AA0B2176E6ED237F69D84A8FEEB36861D1847207
BE2BD61C6A412FFFEDFF13AFEC32AC7735BCCE5965F5966418A62ECB99112AB3
3BC938EC590FF6922659125EB67E260BF02885E49BA6019E696D33F0B53606A2
F515E0C45F323311613A94B838491BAB9FE230C5CC79D22925E3D882799F2707
C32975A494F0F9513E4D8332E7E54470D9721FBD345CDBB48286F2F19CC6D66E
BB631DD6476A509167A49CA525A72CA50E82C1D08C2B372DB54C5949C753B632
2009B761EB90492ACD3CBE6A35CE1B66F3BC4D8DC36827CE4261A703328451D1
879438479917C1647772999171DCCF1491A1C9086E0C6393506768F8757BD81D
141C46EB9BF507EEC29962A0072B6C5D8C8588F3D68886CD2606DD3BD2FECCEF
63245494E93EEA12AAFB06110E54ADC444C7E7619627A48A464394E5DE06EB46
4C76A2FF010318BBE48B3776C826A265C66515717F7F2E943C60EBAB23D96B5B
FD514A1C4E79BB3D3D2DEB936F90CD3FABF7B09FF7F564AB5CF4AF6A40E869FD
395885A88F4A138B3CA6943A2D430BBE43D91F7F17621CAF52FB7161DA3B2003
82244FB6EE792DCA1722C03392C296C029A2DCC5BAAB3EA03F8DEB039DC83AE1
763AAB84776A2CCFFAE9EAF0BFDAE417E8BE682D237FFEDAF224AC09C9665019
165CE32F5349E857177D94AD6396570932E1657ADE4D3FF57A3419946CCD210E
57E5A1D91CF708395942527D127606350924D71BC21C6F969288B1C8CA3404ED
E6219985F7301A20621368F74747EAD38990A4C9F2B62913B8FDB93657409FF5
178DAA7C97C35EAFA47778CE03E863303582D8A9900EF4F8DA879DED54BACD7A
4A50C18AA2ED906FC4DC073B1E6CA1E3855AD5B7698EF4A96B77DBE19A12382A
CFA8717DE230CB6182F2250885B8E90AC42A66484A7B527061B223A6D1CC72D4
890359E7E04690BFFA99FAB5CC9999F0873A9DBE49E33F79E483FAD72313DF9A
7B7D926461988C23CCE9F71AB7BB63BDB2B10B3F78176380AFFC154825C9BDCE
82303FBFC3B59E070438984C28D12E8655BBBF049125BF56DD2B0DE8C0450E55
82832DA59EBEB001AAD86F2317460DD7ED264611B9043614221ECF
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
253AB320C099669BFED2878A6C4038A5BCEB5B4C28040BB8B4AC2C167BB2C999
ED93E2F4AE3E4B44B7B6B469C36A24080D4BEDB5523D202E920D8898DEBD5EB0
CAC3C5D5F01A87F7B15BD1C197B344F7D94E965CBFE73E8A65A2AA6A6F93B878
03E30E60F1390C2FB671C8D36E7D6E516A20079B48CA9BE632F5A8D1250F01EE
6809D6C5B51AE3D1B4C244195E4AB5E68F2AF1D7556B9D03035E08B962A33B44
426A3B5BEF3BA86E4BFE8C823D42816B59DAE9EBD42C115A1E75B0E6427720BF
773EA85158709B4DF306511D5CC19D7395BEE5940DF97513CC36EDF468B80C01
476B0B89D1198F039E4A32FECF58E56F6B0A1D27E9E5FE6393AF613D11EE6185
26EDAB5CD87D6B6C9838DC76423000F9E0D094046832BDDDE6AFB7549561F742
F0B1AE278DB3355F8867D2CCF8BCC03AB7A7A8F9E51C4B2BD121F9D3B2477803
1A24BBD88C9C54A8E31B9CF66295B665495BE7ACC72E1A1F05413DFCB56D0749
49539F8F4706361CCBBEB69D135FF4B63C35408A38382C739EE8AF9F378CF061
C9754E8C7CEDD29E63D79C8AD5518244E4BFCB827E05F4EFCF03BB47CE67F43E
F29192EC2FA1026ACFAF2CB156124C88D860864BEBE81CBBDD60DB5C7DA2B6A7
B64E3DA907988FE60AF047DCEDF2D52D2D43E6C01FA7F84B598386FE03765B15
EE11E9DB0BA83469FC7FC5CECCA2E4D84F87D43811978975C96D9CB66BB87B02
579D63949B512A59123F039A1DAE2EFB897FFE82E8C6B0A30C570015B77B8318
9BB684151679A432E2E167F4E27B7E878A46C19969230B9604ADE2E6487203D0
DF06DF8F5E
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
cleartomark
%%EndFont 
TeXDict begin 39158280 55380996 1000 600 600 (libidn.dvi)
@start /Fa 140[42 9[27 5[54 1[56 97[{ TeX0ef0afcaEncoding ReEncodeFont }
4 90.9091 /CMCSC10 rf /Fb 134[39 1[39 39 39 39 39 39
2[39 39 39 39 2[39 39 39 39 39 39 1[39 39 12[39 16[39
20[39 6[39 39[{ TeX09fbbfacEncoding ReEncodeFont }23
74.7198 /CMSLTT10 rf /Fc 133[39 39 39 39 39 39 39 39
39 1[39 39 39 39 39 39 1[39 39 39 39 39 39 39 39 39 39
39 5[39 1[39 39 39 39 39 39 1[39 39 39 39 39 1[39 39
39 39 39 39 39 39 39 39 5[39 1[39 39 2[39 39 39 39 39
39 39 39 39 39 2[39 39 39 39[{ TeX09fbbfacEncoding ReEncodeFont }64
74.7198 /CMTT9 rf /Fd 209[24 46[{ TeX74afc74cEncoding ReEncodeFont }1
74.7198 /CMTI9 rf /Fe 134[41 41 55 41 43 30 30 30 1[43
38 43 64 21 41 1[21 1[38 23 34 43 34 43 38 8[58 79 1[58
55 43 57 1[52 60 58 70 48 2[28 58 60 50 52 59 55 54 58
7[38 38 38 38 38 38 38 38 38 38 2[26 21 31[43 12[{
 TeXf7b6d320Encoding ReEncodeFont }55 74.7198 /CMR9 rf
/Ff 134[65 1[89 1[68 48 48 50 2[61 68 102 3[34 68 1[37
56 68 55 1[60 11[94 85 1[92 3[96 116 74 96 1[46 96 96
77 81 94 89 1[93 6[34 4[61 61 61 61 61 2[34 46[{
 TeXf7b6d320Encoding ReEncodeFont }38 109.091 /CMBX12
rf /Fg 158[35 97[{ TeX09fbbfacEncoding ReEncodeFont }1
66.4176 /CMTT8 rf /Fh 162[28 1[28 91[{
 TeXf7b6d320Encoding ReEncodeFont }2 99.6264 /CMB10 rf
/Fi 134[62 3[62 62 62 62 1[62 62 62 1[62 2[62 62 62 1[62
62 62 1[62 39[62 6[62 3[62 46[{ TeX09fbbfacEncoding ReEncodeFont }19
119.552 /CMTT12 rf /Fj 167[62 2[62 60 46 2[57 1[62 76
52 1[43 1[62 65 54 1[63 60 67[{ TeXf7b6d320Encoding ReEncodeFont }14
83.022 /CMR10 rf /Fk 137[48 51 35 1[39 3[51 1[25 6[42
3[44 7[69 69 94 69 70 63 51 69 1[62 68 71 86 55 71 1[36
71 71 57 60 70 66 65 69 6[25 45 6[45 50[{
 TeXf7b6d320Encoding ReEncodeFont }34 90.9091 /CMB10
rf /Fl 135[52 52 52 52 52 52 52 52 52 52 52 52 52 2[52
52 52 52 52 52 52 52 52 1[52 42[52 52[{
 TeX09fbbfacEncoding ReEncodeFont }24 99.6264 /CMSLTT10
rf /Fm 133[40 48 48 66 48 51 35 36 36 48 51 45 51 76
25 2[25 51 45 28 40 51 40 51 45 12[66 51 67 1[62 3[57
2[33 68 2[62 1[66 1[68 7[45 4[45 45 45 4[30 25 1[45 28[51
51 12[{ TeXf7b6d320Encoding ReEncodeFont }43 90.9091
/CMSL10 rf /Fn 214[35 35 40[{ TeXf7b6d320Encoding ReEncodeFont }2
90.9091 /CMSS10 rf /Fo 133[52 52 52 1[52 52 52 52 52
1[52 52 52 52 52 52 1[52 52 52 52 52 52 52 52 52 1[52
6[52 52 1[52 52 52 52 1[52 52 52 1[52 52 1[52 1[52 52
52 52 52 52 52 7[52 52 3[52 52 52 4[52 2[52 6[52 35[{
 TeX09fbbfacEncoding ReEncodeFont }51 99.6264 /CMTT10
rf /Fp 128[48 48 48 48 48 48 48 48 48 48 48 48 48 48
48 48 48 48 48 48 48 48 48 48 48 48 48 48 48 48 48 48
48 48 48 48 48 48 48 48 48 48 48 48 48 48 48 48 48 48
48 48 48 48 48 48 48 48 48 48 48 48 48 48 48 48 48 48
48 48 48 48 48 48 48 48 48 48 48 48 48 48 48 48 48 48
48 48 48 48 48 48 48 48 48 4[48 1[48 48 1[48 23[{
 TeX09fbbfacEncoding ReEncodeFont }99 90.9091 /CMTT10
rf /Fq 140[37 13[42 24[57 29[28 46[{ TeX74afc74cEncoding ReEncodeFont }
4 90.9091 /CMTI10 rf /Fr 209[43 46[{ TeX74afc74cEncoding ReEncodeFont }
1 119.552 /CMBXTI10 rf /Fs 134[85 85 117 85 90 63 64
66 1[90 81 90 134 45 85 1[45 90 81 49 74 90 72 90 78
10[122 124 112 90 120 1[110 1[126 153 97 1[83 60 1[127
101 106 124 117 115 122 7[81 81 81 81 81 81 81 81 81
81 12[134 35[{ TeXf7b6d320Encoding ReEncodeFont }52 143.462
/CMBX12 rf /Ft 150[35 35 88[45 1[91 13[{
 TeXbbad153fEncoding ReEncodeFont }4 90.9091 /CMSY10
rf /Fu 133[60 71 71 97 71 75 52 53 55 1[75 67 75 112
37 71 1[37 75 67 41 61 75 60 75 65 7[102 1[139 102 103
94 75 100 1[92 101 105 128 81 1[69 50 105 106 85 88 103
97 96 102 7[67 67 67 67 67 67 67 67 67 67 1[37 45 37
8[112 22[75 12[{ TeXf7b6d320Encoding ReEncodeFont }61
119.552 /CMBX12 rf /Fv 131[91 45 40 48 48 66 48 51 35
36 36 48 51 45 51 76 25 48 28 25 51 45 28 40 51 40 51
45 25 2[25 45 25 56 68 68 93 68 68 66 51 67 71 62 71
68 83 57 71 47 33 68 71 59 62 69 66 64 68 1[43 1[71 1[25
25 45 45 45 45 45 45 45 45 45 45 45 25 30 25 1[45 35
35 25 3[76 45 25 18[76 51 51 53 11[{ TeXf7b6d320Encoding ReEncodeFont }
87 90.9091 /CMR10 rf /Fw 145[108 4[54 4[108 1[108 12[149
6[151 1[116 4[152 71[{ TeXf7b6d320Encoding ReEncodeFont }8
172.154 /CMBX12 rf end
%%EndProlog
%%BeginSetup
%%Feature: *Resolution 600dpi
TeXDict begin
%%PaperSize: A4
 end
%%EndSetup
%%Page: 1 1
TeXDict begin 1 0 bop 150 1318 a Fw(GNU)65 b(Libidn)p
150 1385 3600 34 v 1546 1481 a Fv(In)m(ternationalized)33
b(string)d(pro)s(cessing)g(for)g(the)h(GNU)g(system)2379
1589 y(for)f(v)m(ersion)h(0.6.0,)h(3)f(Decem)m(b)s(er)g(2005)150
5091 y Fu(Simon)45 b(Josefsson)p 150 5141 3600 17 v eop
end
%%Page: 2 2
TeXDict begin 2 1 bop 150 4523 a Fv(This)30 b(man)m(ual)g(is)h(last)g
(up)s(dated)e(3)i(Decem)m(b)s(er)g(2005)h(for)e(v)m(ersion)h(0.6.0)h
(of)f(GNU)g(Libidn.)150 4658 y(Cop)m(yrigh)m(t)602 4655
y(c)577 4658 y Ft(\015)f Fv(2002,)j(2003,)f(2004,)g(2005)g(Simon)e
(Josefsson.)390 4792 y(P)m(ermission)21 b(is)f(gran)m(ted)h(to)g(cop)m
(y)-8 b(,)24 b(distribute)c(and/or)h(mo)s(dify)e(this)i(do)s(cumen)m(t)
f(under)f(the)390 4902 y(terms)25 b(of)h(the)f(GNU)h(F)-8
b(ree)27 b(Do)s(cumen)m(tation)g(License,)g(V)-8 b(ersion)26
b(1.2)g(or)f(an)m(y)h(later)g(v)m(ersion)390 5011 y(published)31
b(b)m(y)j(the)f(F)-8 b(ree)34 b(Soft)m(w)m(are)h(F)-8
b(oundation;)35 b(with)e(the)g(In)m(v)-5 b(arian)m(t)34
b(Sections)g(b)s(eing)390 5121 y(\\Commercial)40 b(Supp)s(ort",)g(no)f
(F)-8 b(ron)m(t-Co)m(v)m(er)42 b(T)-8 b(exts,)42 b(and)c(no)h(Bac)m
(k-Co)m(v)m(er)j(T)-8 b(exts.)68 b(A)390 5230 y(cop)m(y)24
b(of)g(the)f(license)h(is)g(included)e(in)h(the)h(section)h(en)m
(titled)f(\\GNU)h(F)-8 b(ree)24 b(Do)s(cumen)m(tation)390
5340 y(License".)p eop end
%%Page: -1 3
TeXDict begin -1 2 bop 3725 -116 a Fv(i)150 299 y Fs(T)-13
b(able)53 b(of)h(Con)l(ten)l(ts)150 641 y Fu(1)135 b(In)l(tro)t
(duction)15 b Fr(.)20 b(.)f(.)h(.)f(.)g(.)h(.)f(.)h(.)f(.)h(.)f(.)g(.)h
(.)f(.)h(.)f(.)h(.)f(.)g(.)h(.)f(.)h(.)f(.)h(.)f(.)g(.)h(.)f(.)h(.)f(.)
60 b Fu(1)275 778 y Fv(1.1)92 b(Getting)32 b(Started)23
b Fq(.)14 b(.)h(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g
(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)
g(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)52 b Fv(1)275
888 y(1.2)92 b(F)-8 b(eatures)18 b Fq(.)e(.)f(.)g(.)g(.)g(.)g(.)g(.)g
(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)
g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g
(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)48 b Fv(2)275 997
y(1.3)92 b(Library)29 b(Ov)m(erview)8 b Fq(.)16 b(.)f(.)g(.)g(.)g(.)g
(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)
g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g
(.)g(.)g(.)38 b Fv(2)275 1107 y(1.4)92 b(Supp)s(orted)28
b(Platforms)h Fq(.)15 b(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g
(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)
h(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)58 b Fv(3)275 1216
y(1.5)92 b(Getting)32 b(help)21 b Fq(.)15 b(.)g(.)g(.)g(.)g(.)g(.)g(.)g
(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)
g(.)g(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g
(.)g(.)g(.)g(.)g(.)51 b Fv(5)275 1326 y(1.6)92 b(Commercial)31
b(Supp)s(ort)9 b Fq(.)k(.)i(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g
(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)
g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)39 b Fv(5)275
1435 y(1.7)92 b(Do)m(wnloading)31 b(and)f(Installing)c
Fq(.)15 b(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g
(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)
55 b Fv(6)275 1545 y(1.8)92 b(Bug)30 b(Rep)s(orts)20
b Fq(.)15 b(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g
(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)
g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)50
b Fv(6)275 1655 y(1.9)92 b(Con)m(tributing)15 b Fq(.)g(.)g(.)g(.)g(.)g
(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)
g(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g
(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)45 b Fv(7)150 1897 y Fu(2)135
b(Preparation)36 b Fr(.)20 b(.)f(.)h(.)f(.)g(.)h(.)f(.)h(.)f(.)h(.)f(.)
g(.)h(.)f(.)h(.)f(.)h(.)f(.)g(.)h(.)f(.)h(.)f(.)h(.)f(.)g(.)h(.)f(.)h
(.)f(.)80 b Fu(8)275 2034 y Fv(2.1)92 b(Header)24 b Fq(.)15
b(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g
(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)
g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)54
b Fv(8)275 2144 y(2.2)92 b(Initialization)18 b Fq(.)f(.)e(.)g(.)g(.)g
(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)
g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g
(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)48 b Fv(9)275 2253 y(2.3)92
b(V)-8 b(ersion)31 b(Chec)m(k)10 b Fq(.)15 b(.)g(.)g(.)g(.)g(.)g(.)g(.)
g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g
(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)
g(.)g(.)g(.)g(.)40 b Fv(9)275 2363 y(2.4)92 b(Building)30
b(the)h(source)15 b Fq(.)f(.)h(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g
(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)
g(.)g(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)44 b
Fv(9)275 2472 y(2.5)92 b(Auto)s(conf)30 b(tests)25 b
Fq(.)15 b(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g
(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)
g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)53 b Fv(10)150
2715 y Fu(3)135 b(Utilit)l(y)47 b(F)-11 b(unctions)38
b Fr(.)20 b(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)g(.)h(.)f(.)h(.)f(.)h(.)f(.)g
(.)h(.)f(.)h(.)f(.)h(.)f(.)g(.)h(.)84 b Fu(12)275 2852
y Fv(3.1)92 b(Header)30 b(\014le)h Fp(stringprep.h)14
b Fq(.)d(.)k(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)
g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g
(.)43 b Fv(12)275 2961 y(3.2)92 b(Unico)s(de)30 b(Enco)s(ding)g(T)-8
b(ransformation)16 b Fq(.)g(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g
(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)46
b Fv(12)275 3071 y(3.3)92 b(Unico)s(de)30 b(Normalization)g
Fq(.)15 b(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g
(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)
g(.)g(.)g(.)56 b Fv(13)275 3181 y(3.4)92 b(Character)30
b(Set)h(Con)m(v)m(ersion)19 b Fq(.)d(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)
g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g
(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)48 b Fv(13)150 3423 y
Fu(4)135 b(Stringprep)45 b(F)-11 b(unctions)13 b Fr(.)18
b(.)i(.)f(.)h(.)f(.)h(.)f(.)g(.)h(.)f(.)h(.)f(.)h(.)f(.)g(.)h(.)f(.)h
(.)f(.)h(.)f(.)58 b Fu(15)275 3560 y Fv(4.1)92 b(Header)30
b(\014le)h Fp(stringprep.h)14 b Fq(.)d(.)k(.)g(.)g(.)g(.)g(.)g(.)g(.)g
(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)
g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)43 b Fv(15)275 3670 y(4.2)92
b(De\014ning)30 b(A)g(Stringprep)f(Pro\014le)8 b Fq(.)16
b(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g
(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)37
b Fv(15)275 3779 y(4.3)92 b(Con)m(trol)31 b(Flags)21
b Fq(.)16 b(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g
(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)
g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)50 b
Fv(15)275 3889 y(4.4)92 b(Core)30 b(F)-8 b(unctions)12
b Fq(.)k(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)
g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)h(.)f
(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)41 b Fv(15)275
3998 y(4.5)92 b(Error)29 b(Handling)11 b Fq(.)k(.)g(.)g(.)g(.)g(.)g(.)g
(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)h(.)
f(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g
(.)g(.)g(.)40 b Fv(17)275 4108 y(4.6)92 b(Stringprep)29
b(Pro\014le)h(Macros)16 b Fq(.)g(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)
g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)g
(.)g(.)g(.)g(.)g(.)g(.)g(.)45 b Fv(18)150 4350 y Fu(5)135
b(Pun)l(yco)t(de)44 b(F)-11 b(unctions)38 b Fr(.)20 b(.)f(.)g(.)h(.)f
(.)h(.)f(.)h(.)f(.)h(.)f(.)g(.)h(.)f(.)h(.)f(.)h(.)f(.)g(.)h(.)f(.)84
b Fu(19)275 4487 y Fv(5.1)92 b(Header)30 b(\014le)h Fp(punycode.h)18
b Fq(.)12 b(.)k(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g
(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)
g(.)g(.)h(.)47 b Fv(19)275 4597 y(5.2)92 b(Unico)s(de)30
b(Co)s(de)g(P)m(oin)m(t)i(Data)g(T)m(yp)s(e)26 b Fq(.)15
b(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g
(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)56 b Fv(19)275
4707 y(5.3)92 b(Core)30 b(F)-8 b(unctions)12 b Fq(.)k(.)f(.)g(.)g(.)g
(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)
g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)g
(.)g(.)g(.)g(.)g(.)41 b Fv(19)275 4816 y(5.4)92 b(Error)29
b(Handling)11 b Fq(.)k(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g
(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)
g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)40
b Fv(21)p eop end
%%Page: -2 4
TeXDict begin -2 3 bop 3699 -116 a Fv(ii)150 83 y Fu(6)135
b(IDNA)44 b(F)-11 b(unctions)22 b Fr(.)d(.)g(.)h(.)f(.)h(.)f(.)h(.)f(.)
g(.)h(.)f(.)h(.)f(.)h(.)f(.)g(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)g(.)67
b Fu(22)275 220 y Fv(6.1)92 b(Header)30 b(\014le)h Fp(idna.h)26
b Fq(.)15 b(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g
(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)
g(.)g(.)g(.)g(.)g(.)g(.)g(.)57 b Fv(22)275 330 y(6.2)92
b(Con)m(trol)31 b(Flags)21 b Fq(.)16 b(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)g
(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)
h(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g
(.)g(.)50 b Fv(22)275 439 y(6.3)92 b(Pre\014x)29 b(String)16
b Fq(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)
g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g
(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)45
b Fv(22)275 549 y(6.4)92 b(Core)30 b(F)-8 b(unctions)12
b Fq(.)k(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)
g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)h(.)f
(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)41 b Fv(22)275
658 y(6.5)92 b(Simpli\014ed)29 b(T)-8 b(oASCI)s(I)29
b(In)m(terface)15 b Fq(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g
(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)
g(.)g(.)44 b Fv(24)275 768 y(6.6)92 b(Simpli\014ed)29
b(T)-8 b(oUnico)s(de)31 b(In)m(terface)22 b Fq(.)17 b(.)e(.)g(.)g(.)g
(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)
g(.)g(.)g(.)g(.)g(.)g(.)g(.)52 b Fv(25)275 878 y(6.7)92
b(Error)29 b(Handling)11 b Fq(.)k(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g
(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)
g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)40
b Fv(26)150 1120 y Fu(7)135 b(TLD)44 b(F)-11 b(unctions)31
b Fr(.)20 b(.)f(.)g(.)h(.)f(.)h(.)f(.)h(.)f(.)g(.)h(.)f(.)h(.)f(.)h(.)f
(.)g(.)h(.)f(.)h(.)f(.)h(.)f(.)g(.)h(.)f(.)77 b Fu(27)275
1257 y Fv(7.1)92 b(Header)30 b(\014le)h Fp(tld.h)8 b
Fq(.)14 b(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)h
(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)
g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)38 b Fv(27)275 1367
y(7.2)92 b(Core)30 b(F)-8 b(unctions)12 b Fq(.)k(.)f(.)g(.)g(.)g(.)g(.)
g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g
(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)
g(.)g(.)g(.)41 b Fv(27)275 1476 y(7.3)92 b(Utilit)m(y)32
b(F)-8 b(unctions)18 b Fq(.)e(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g
(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)
g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)48
b Fv(28)275 1586 y(7.4)92 b(High-Lev)m(el)32 b(W)-8 b(rapp)s(er)30
b(F)-8 b(unctions)26 b Fq(.)15 b(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)
g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g
(.)g(.)55 b Fv(29)275 1695 y(7.5)92 b(Error)29 b(Handling)11
b Fq(.)k(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)
g(.)g(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g
(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)40 b Fv(30)150
1938 y Fu(8)135 b(PR29)45 b(F)-11 b(unctions)38 b Fr(.)19
b(.)h(.)f(.)h(.)f(.)h(.)f(.)g(.)h(.)f(.)h(.)f(.)h(.)f(.)g(.)h(.)f(.)h
(.)f(.)h(.)f(.)g(.)h(.)f(.)h(.)83 b Fu(32)275 2075 y
Fv(8.1)92 b(Header)30 b(\014le)h Fp(pr29.h)26 b Fq(.)15
b(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g
(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)
g(.)g(.)g(.)g(.)g(.)57 b Fv(32)275 2184 y(8.2)92 b(Core)30
b(F)-8 b(unctions)12 b Fq(.)k(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g
(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)
g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)41
b Fv(32)275 2294 y(8.3)92 b(Utilit)m(y)32 b(F)-8 b(unctions)18
b Fq(.)e(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)
g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g
(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)48 b Fv(33)275 2403
y(8.4)92 b(Error)29 b(Handling)11 b Fq(.)k(.)g(.)g(.)g(.)g(.)g(.)g(.)g
(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)
g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g
(.)g(.)40 b Fv(33)150 2646 y Fu(9)135 b(Examples)40 b
Fr(.)19 b(.)h(.)f(.)h(.)f(.)h(.)f(.)g(.)h(.)f(.)h(.)f(.)h(.)f(.)g(.)h
(.)f(.)h(.)f(.)h(.)f(.)g(.)h(.)f(.)h(.)f(.)h(.)f(.)g(.)h(.)f(.)84
b Fu(34)275 2783 y Fv(9.1)92 b(Example)30 b(1)16 b Fq(.)f(.)h(.)f(.)g
(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)
g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g
(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)45 b Fv(34)275
2892 y(9.2)92 b(Example)30 b(2)16 b Fq(.)f(.)h(.)f(.)g(.)g(.)g(.)g(.)g
(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)
g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)g
(.)g(.)g(.)g(.)g(.)g(.)45 b Fv(36)275 3002 y(9.3)92 b(Example)30
b(3)16 b Fq(.)f(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g
(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)
g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)45
b Fv(41)275 3112 y(9.4)92 b(Example)30 b(4)16 b Fq(.)f(.)h(.)f(.)g(.)g
(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)
g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g
(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)45 b Fv(42)275 3221
y(9.5)92 b(Example)30 b(5)16 b Fq(.)f(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)g
(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)
g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)g
(.)g(.)g(.)g(.)g(.)45 b Fv(44)150 3464 y Fu(10)135 b(In)l(v)l(oking)46
b(idn)12 b Fr(.)19 b(.)g(.)h(.)f(.)g(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)
g(.)h(.)f(.)h(.)f(.)h(.)f(.)g(.)h(.)f(.)h(.)f(.)h(.)f(.)g(.)57
b Fu(48)275 3601 y Fv(10.1)92 b(Name)26 b Fq(.)15 b(.)g(.)g(.)g(.)g(.)g
(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)
g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g
(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)54 b Fv(48)275
3710 y(10.2)92 b(Description)21 b Fq(.)16 b(.)f(.)g(.)g(.)g(.)g(.)g(.)g
(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)
h(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g
(.)g(.)g(.)g(.)50 b Fv(48)275 3820 y(10.3)92 b(Options)26
b Fq(.)15 b(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g
(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)
g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)56
b Fv(48)275 3929 y(10.4)92 b(En)m(vironmen)m(t)31 b(V)-8
b(ariables)8 b Fq(.)16 b(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)
g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g
(.)g(.)g(.)g(.)g(.)g(.)g(.)38 b Fv(49)275 4039 y(10.5)92
b(Examples)13 b Fq(.)i(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g
(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)
g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g
(.)42 b Fv(49)275 4149 y(10.6)92 b(T)-8 b(roublesho)s(oting)13
b Fq(.)i(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)
g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g
(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)42 b Fv(49)150 4391
y Fu(11)135 b(Emacs)45 b(API)16 b Fr(.)j(.)h(.)f(.)h(.)f(.)g(.)h(.)f(.)
h(.)f(.)h(.)f(.)g(.)h(.)f(.)h(.)f(.)h(.)f(.)g(.)h(.)f(.)h(.)f(.)h(.)f
(.)g(.)h(.)f(.)61 b Fu(52)275 4528 y Fv(11.1)92 b(Pun)m(yco)s(de)30
b(Emacs)h(API)c Fq(.)15 b(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g
(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)
g(.)g(.)g(.)g(.)g(.)g(.)g(.)57 b Fv(52)275 4638 y(11.2)92
b(IDNA)31 b(Emacs)g(API)16 b Fq(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g
(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)
g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)45
b Fv(52)p eop end
%%Page: -3 5
TeXDict begin -3 4 bop 3674 -116 a Fv(iii)150 83 y Fu(12)135
b(Ja)l(v)-7 b(a)46 b(API)13 b Fr(.)19 b(.)g(.)g(.)h(.)f(.)h(.)f(.)h(.)f
(.)g(.)h(.)f(.)h(.)f(.)h(.)f(.)g(.)h(.)f(.)h(.)f(.)h(.)f(.)g(.)h(.)f(.)
h(.)f(.)h(.)f(.)g(.)58 b Fu(54)275 220 y Fv(12.1)92 b(Ov)m(erview)19
b Fq(.)c(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)
g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g
(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)48
b Fv(54)275 330 y(12.2)92 b(Miscellaneous)32 b(Programs)d
Fq(.)15 b(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g
(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)
g(.)57 b Fv(54)399 439 y(12.2.1)93 b(GenerateRF)m(C3454)21
b Fq(.)e(.)c(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)
g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g
(.)g(.)51 b Fv(54)399 549 y(12.2.2)93 b(GenerateNFK)m(C)12
b Fq(.)17 b(.)e(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g
(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)
g(.)g(.)g(.)g(.)g(.)41 b Fv(54)399 658 y(12.2.3)93 b(T)-8
b(estIDNA)10 b Fq(.)17 b(.)e(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)
g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g
(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)40
b Fv(55)399 768 y(12.2.4)93 b(T)-8 b(estNFK)m(C)21 b
Fq(.)16 b(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g
(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)
g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)50 b Fv(55)275 878
y(12.3)92 b(P)m(ossible)31 b(Problems)17 b Fq(.)e(.)g(.)g(.)g(.)g(.)g
(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)
g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)47
b Fv(55)275 987 y(12.4)92 b(A)31 b(Note)g(on)g(Ja)m(v)-5
b(a)31 b(and)f(Unico)s(de)16 b Fq(.)e(.)h(.)g(.)g(.)h(.)f(.)g(.)g(.)g
(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)
g(.)g(.)g(.)g(.)45 b Fv(55)150 1230 y Fu(13)135 b(C#)45
b(API)38 b Fr(.)19 b(.)h(.)f(.)g(.)h(.)f(.)h(.)f(.)h(.)f(.)g(.)h(.)f(.)
h(.)f(.)h(.)f(.)g(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)g(.)h(.)f(.)h(.)f
(.)83 b Fu(57)150 1499 y(14)135 b(Ac)l(kno)l(wledgemen)l(ts)43
b Fr(.)19 b(.)h(.)f(.)h(.)f(.)h(.)f(.)g(.)h(.)f(.)h(.)f(.)h(.)f(.)g(.)h
(.)f(.)h(.)f(.)h(.)f(.)86 b Fu(58)150 1769 y(15)135 b(Milestones)38
b Fr(.)19 b(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)g(.)h(.)f(.)h(.)f(.)h(.)f
(.)g(.)h(.)f(.)h(.)f(.)h(.)f(.)g(.)h(.)f(.)h(.)f(.)h(.)81
b Fu(59)150 2039 y(Concept)45 b(Index)21 b Fr(.)e(.)g(.)h(.)f(.)h(.)f
(.)h(.)f(.)h(.)f(.)g(.)h(.)f(.)h(.)f(.)h(.)f(.)g(.)h(.)f(.)h(.)f(.)h(.)
f(.)g(.)h(.)f(.)h(.)f(.)h(.)65 b Fu(60)150 2309 y(F)-11
b(unction)44 b(and)h(V)-11 b(ariable)45 b(Index)17 b
Fr(.)j(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)g(.)h(.)f(.)h(.)f(.)h(.)f(.)g(.)h
(.)62 b Fu(61)150 2579 y(App)t(endix)44 b(A)160 b(PR29)45
b(discussion)34 b Fr(.)19 b(.)h(.)f(.)h(.)f(.)g(.)h(.)f(.)h(.)f(.)h(.)f
(.)g(.)h(.)78 b Fu(62)150 2848 y(App)t(endix)44 b(B)166
b(GNU)45 b(LESSER)g(GENERAL)419 2981 y(PUBLIC)g(LICENSE)25
b Fr(.)20 b(.)f(.)g(.)h(.)f(.)h(.)f(.)h(.)f(.)g(.)h(.)f(.)h(.)f(.)h(.)f
(.)h(.)f(.)g(.)h(.)f(.)70 b Fu(65)275 3118 y Fv(B.1)92
b(Pream)m(ble)10 b Fq(.)15 b(.)g(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)
g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g
(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)
g(.)g(.)g(.)39 b Fv(65)275 3228 y(B.2)92 b(TERMS)29 b(AND)i(CONDITIONS)
e(F)m(OR)i(COPYING,)f(DISTRIBUTION)456 3337 y(AND)h(MODIFICA)-8
b(TION)25 b Fq(.)15 b(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g
(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)h(.)
f(.)g(.)g(.)g(.)g(.)g(.)53 b Fv(66)275 3447 y(B.3)92
b(Ho)m(w)31 b(to)g(Apply)e(These)i(T)-8 b(erms)30 b(to)h(Y)-8
b(our)30 b(New)h(Libraries)25 b Fq(.)16 b(.)f(.)g(.)g(.)g(.)g(.)g(.)g
(.)g(.)g(.)55 b Fv(73)150 3689 y Fu(App)t(endix)44 b(C)165
b(Cop)l(ying)45 b(This)g(Man)l(ual)30 b Fr(.)20 b(.)f(.)h(.)f(.)g(.)h
(.)f(.)h(.)f(.)75 b Fu(74)275 3826 y Fv(C.1)91 b(GNU)31
b(F)-8 b(ree)31 b(Do)s(cumen)m(tation)h(License)e Fq(.)15
b(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g
(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)58 b Fv(74)399 3936 y(C.1.1)92
b(ADDENDUM:)33 b(Ho)m(w)e(to)g(use)f(this)g(License)h(for)f(y)m(our)h
(do)s(cumen)m(ts)608 4046 y Fq(.)15 b(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g
(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)
g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g
(.)g(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)56 b Fv(80)p
eop end
%%Page: 1 6
TeXDict begin 1 5 bop 150 -116 a Fv(Chapter)30 b(1:)41
b(In)m(tro)s(duction)2592 b(1)150 299 y Fs(1)80 b(In)l(tro)t(duction)
150 562 y Fv(GNU)38 b(Libidn)f(is)h(an)f(implemen)m(tation)j(of)e(the)g
(Stringprep,)g(Pun)m(yco)s(de)g(and)f(IDNA)h(sp)s(eci\014cations)150
672 y(de\014ned)25 b(b)m(y)i(the)f(IETF)g(In)m(ternationalized)j
(Domain)e(Names)g(\(IDN\))g(w)m(orking)g(group,)g(used)f(for)g(in)m
(ter-)150 781 y(nationalized)h(domain)e(names.)39 b(The)25
b(pac)m(k)-5 b(age)27 b(is)e(a)m(v)-5 b(ailable)28 b(under)c(the)h(GNU)
h(Lesser)f(General)h(Public)150 891 y(License.)275 1035
y(The)i(library)h(con)m(tains)i(a)f(generic)g(Stringprep)e(implemen)m
(tation)j(that)f(do)s(es)g(Unico)s(de)f(3.2)i(NFK)m(C)150
1144 y(normalization,)40 b(mapping)c(and)g(prohibitation)h(of)g(c)m
(haracters,)j(and)c(bidirectional)i(c)m(haracter)g(han-)150
1254 y(dling.)i(Pro\014les)30 b(for)g(Nameprep,)g(iSCSI,)e(SASL)h(and)g
(XMPP)h(are)g(included.)40 b(Pun)m(yco)s(de)29 b(and)g(ASCI)s(I)150
1364 y(Compatible)35 b(Enco)s(ding)e(\(A)m(CE\))i(via)g(IDNA)f(are)h
(supp)s(orted.)50 b(A)34 b(mec)m(hanism)g(to)h(de\014ne)e(T)-8
b(op-Lev)m(el)150 1473 y(Domain)39 b(\(TLD\))f(sp)s(eci\014c)f(v)-5
b(alidation)39 b(tables,)i(and)c(to)h(compare)h(strings)e(against)i
(those)f(tables,)j(is)150 1583 y(included.)f(Default)31
b(tables)h(for)e(some)h(TLDs)f(are)g(also)i(included.)275
1727 y(The)37 b(Stringprep)f(API)h(consists)h(of)g(t)m(w)m(o)h(main)e
(functions,)i(one)f(for)f(con)m(v)m(erting)i(data)g(from)e(the)150
1837 y(system's)42 b(nativ)m(e)i(represen)m(tation)f(in)m(to)g(UTF-8,)j
(and)41 b(one)h(function)g(to)h(p)s(erform)d(the)i(Stringprep)150
1946 y(pro)s(cessing.)d(Adding)25 b(a)g(new)g(Stringprep)f(pro\014le)h
(for)g(y)m(our)h(application)g(within)f(the)h(API)f(is)g(straigh)m(t-)
150 2056 y(forw)m(ard.)43 b(The)31 b(Pun)m(yco)s(de)g(API)g(consists)h
(of)g(one)g(enco)s(ding)f(function)g(and)g(one)h(deco)s(ding)f
(function.)150 2165 y(The)f(IDNA)i(API)e(consists)i(of)e(the)h(T)-8
b(oASCI)s(I)30 b(and)g(T)-8 b(oUnico)s(de)32 b(functions,)f(as)g(w)m
(ell)g(as)h(an)e(high-lev)m(el)150 2275 y(in)m(terface)d(for)e(con)m(v)
m(erting)i(en)m(tire)f(domain)f(names)g(to)g(and)g(from)g(the)g(A)m(CE)
g(enco)s(ded)g(form.)38 b(The)25 b(TLD)150 2384 y(API)36
b(consists)g(of)g(one)g(set)g(of)g(functions)f(to)i(extract)g(the)f
(TLD)g(name)f(from)h(a)g(domain)f(string,)j(one)150 2494
y(set)c(of)g(functions)f(to)i(lo)s(cate)g(the)f(prop)s(er)e(TLD)i
(table)g(to)h(use)e(based)g(on)h(the)g(TLD)f(name,)i(and)e(core)150
2604 y(functions)h(to)i(v)-5 b(alidate)36 b(a)f(string)g(against)h(a)g
(TLD)e(table,)j(and)e(some)g(utilit)m(y)h(wrapp)s(ers)d(to)i(p)s
(erform)150 2713 y(all)c(the)g(steps)f(in)g(one)h(call.)275
2857 y(The)24 b(library)g(is)h(used)f(b)m(y)-8 b(,)27
b(e.g.,)g(GNU)f(SASL)e(and)g(Shishi)f(to)j(pro)s(cess)e(user)h(names)f
(and)h(passw)m(ords.)150 2967 y(Libidn)32 b(can)h(b)s(e)g(built)g(in)m
(to)h(GNU)f(Lib)s(c)g(to)h(enable)f(a)h(new)f(system-wide)g
(getaddrinfo)g(\015ag)h(for)f(IDN)150 3077 y(pro)s(cessing.)275
3221 y(Libidn)38 b(is)i(dev)m(elop)s(ed)h(for)f(the)g(GNU/Lin)m(ux)g
(system,)j(but)d(runs)e(on)i(o)m(v)m(er)h(20)g(Unix)f(platforms)150
3330 y(\(including)28 b(Solaris,)h(IRIX,)f(AIX,)h(and)e(T)-8
b(ru64\))29 b(and)e(Windo)m(ws.)40 b(Libidn)27 b(is)i(written)f(in)g(C)
f(and)h(\(parts)150 3440 y(of)7 b(\))35 b(the)f(API)g(is)g(accessible)i
(from)d(C,)h(C)p Fp(++)p Fv(,)g(Emacs)h(Lisp,)f(Python)g(and)f(Ja)m(v)
-5 b(a.)53 b(A)34 b(nativ)m(e)i(Ja)m(v)-5 b(a)35 b(and)150
3549 y(C#)30 b(p)s(ort)f(is)i(also)g(pro)m(vided.)150
3796 y Fu(1.1)68 b(Getting)46 b(Started)150 3956 y Fv(This)34
b(man)m(ual)i(do)s(cumen)m(ts)f(the)h(library)e(programming)h(in)m
(terface.)57 b(All)36 b(functions)f(and)g(data)h(t)m(yp)s(es)150
4065 y(pro)m(vided)c(b)m(y)g(the)g(library)g(are)g(explained.)46
b(Included)31 b(are)h(also)h(examples,)h(and)d(do)s(cumen)m(tation)i
(for)150 4175 y(the)e(command)g(line)g(to)s(ol)h(`)p
Fp(idn)p Fv(')e(that)h(pro)m(vide)g(a)h(quic)m(k)f(in)m(terface)h(to)g
(the)f(library)-8 b(.)42 b(The)30 b(Emacs)i(Lisp)150
4285 y(bindings)d(for)h(the)h(library)f(is)g(also)i(discussed.)275
4429 y(The)23 b(reader)h(is)h(assumed)e(to)i(p)s(ossess)e(basic)i
(familiarit)m(y)h(with)e(in)m(ternationalization)k(concepts)d(and)150
4538 y(net)m(w)m(ork)31 b(programming)f(in)g(C)g(or)h(C)p
Fp(++)p Fv(.)275 4682 y(This)c(man)m(ual)h(can)g(b)s(e)f(used)g(in)h
(sev)m(eral)h(w)m(a)m(ys.)41 b(If)27 b(read)h(from)f(the)h(b)s
(eginning)g(to)g(the)g(end,)g(it)h(giv)m(es)150 4792
y(a)38 b(go)s(o)s(d)g(in)m(tro)s(duction)f(in)m(to)i(the)f(library)f
(and)g(ho)m(w)h(it)g(can)g(b)s(e)f(used)g(in)h(an)f(application.)64
b(F)-8 b(orw)m(ard)150 4902 y(references)35 b(are)f(included)g(where)g
(necessary)-8 b(.)53 b(Later)35 b(on,)g(the)g(man)m(ual)f(can)h(b)s(e)f
(used)f(as)i(a)f(reference)150 5011 y(man)m(ual)40 b(to)g(get)h(just)e
(the)h(information)g(needed)f(ab)s(out)h(an)m(y)g(particular)g(in)m
(terface)h(of)f(the)g(library)-8 b(.)150 5121 y(Exp)s(erienced)35
b(programmers)g(migh)m(t)h(w)m(an)m(t)h(to)f(start)g(lo)s(oking)h(at)f
(the)g(examples)g(at)g(the)g(end)f(of)h(the)150 5230
y(man)m(ual)41 b(\(see)i(Chapter)d(9)i([Examples],)i(page)e(34\),)j
(and)c(then)g(only)g(read)g(up)f(those)i(parts)e(of)i(the)150
5340 y(in)m(terface)32 b(whic)m(h)e(are)h(unclear.)p
eop end
%%Page: 2 7
TeXDict begin 2 6 bop 150 -116 a Fv(Chapter)30 b(1:)41
b(In)m(tro)s(duction)2592 b(2)150 299 y Fu(1.2)68 b(F)-11
b(eatures)150 458 y Fv(This)30 b(library)g(migh)m(t)h(ha)m(v)m(e)g(a)g
(couple)g(of)f(adv)-5 b(an)m(tages)33 b(o)m(v)m(er)e(other)g(libraries)
f(doing)h(a)g(similar)f(job.)150 910 y(It's)h(F)-8 b(ree)31
b(Soft)m(w)m(are)630 1020 y(An)m(yb)s(o)s(dy)42 b(can)h(use,)j(mo)s
(dify)-8 b(,)47 b(and)42 b(redistribute)h(it)h(under)d(the)j(terms)f
(of)g(the)g(GNU)630 1130 y(Lesser)30 b(General)i(Public)e(License.)150
1484 y(It's)h(thread-safe)630 1594 y(No)g(global)h(state)f(is)g(k)m
(ept)g(in)f(the)g(library)-8 b(.)41 b(All)31 b(functions)f(are)h(reen)m
(tran)m(t.)150 1948 y(It's)g(p)s(ortable)630 2058 y(The)k(co)s(de)g(is)
g(in)m(tended)h(to)g(b)s(e)e(written)h(in)g(pure)g(ANSI)f(C89.)56
b(It)36 b(has)e(b)s(een)h(tested)h(on)630 2167 y(man)m(y)30
b(Unix)h(lik)m(e)g(op)s(erating)g(systems,)g(and)f(Windo)m(ws.)150
2522 y(It's)h(mo)s(dularized)630 2631 y(The)i(library)g(is)g(comp)s
(osed)g(of)h(sev)m(eral)h(mo)s(dules,)e(and)g(the)g(only)h(in)m
(teraction)h(b)s(et)m(w)m(een)630 2741 y(mo)s(dules)j(is)h(through)f
(eac)m(h)i(mo)s(dules')e(public)g(API.)h(If)f(y)m(ou)i(only)e(need)h
(one)g(piece)h(of)630 2851 y(functionalit)m(y)-8 b(,)31
b(it)d(is)g(p)s(ossible)f(to)i(tak)m(e)h(the)e(\014les)g(y)m(ou)g(need)
f(and)h(incorp)s(orate)g(them)g(in)m(to)630 2960 y(y)m(our)i(o)m(wn)h
(pro)5 b(ject.)150 3315 y(It's)31 b(not)f(bloated)630
3424 y(The)g(design)g(of)g(the)h(library)f(is)g(based)g(on)g(the)g
(smallest)i(API)e(necessary)g(to)h(implemen)m(t)630 3534
y(the)h(basic)g(functionalit)m(y)-8 b(.)47 b(It)32 b(has)f(b)s(een)g
(carefully)i(extended)e(with)h(a)g(small)g(n)m(um)m(b)s(er)f(of)630
3643 y(high-lev)m(el)f(wrapp)s(ers)c(to)j(mak)m(e)g(it)g(comfortable)g
(to)g(use)f(the)h(library)-8 b(.)40 b(Ho)m(w)m(ev)m(er,)31
b(it)d(do)s(es)630 3753 y(not)j(implemen)m(t)g(additional)g
(functionalit)m(y)h(just)e(for)g(the)g(sak)m(e)i(of)e(completeness.)150
4108 y(It's)h(do)s(cumen)m(ted)630 4217 y(Sadly)-8 b(,)31
b(not)f(all)i(soft)m(w)m(are)f(comes)h(with)e(do)s(cumen)m(tation)h
(these)g(da)m(ys.)41 b(This)29 b(one)i(do)s(es.)150 4742
y Fu(1.3)68 b(Library)45 b(Ov)l(erview)150 4902 y Fv(The)23
b(follo)m(wing)i(illustration)g(sho)m(w)f(the)g(comp)s(onen)m(ts)g
(that)g(mak)m(e)h(up)d(Libidn,)i(and)f(ho)m(w)h(y)m(our)g(applica-)150
5011 y(tion)29 b(relates)h(to)g(the)e(library)-8 b(.)41
b(In)27 b(the)i(illustration,)i(v)-5 b(arious)28 b(comp)s(onen)m(ts)h
(are)g(sho)m(wn)f(as)h(b)s(o)m(xes.)40 b(Y)-8 b(ou)150
5121 y(see)28 b(the)f(generic)h(StringPrep)e(comp)s(onen)m(t,)i(the)g
(v)-5 b(arious)27 b(StringPrep)f(pro\014les)g(including)h(Nameprep,)150
5230 y(the)39 b(Pun)m(yco)s(de)g(comp)s(onen)m(t,)i(the)f(IDNA)f(comp)s
(onen)m(t,)j(and)c(the)i(TLD)e(comp)s(onen)m(t.)67 b(The)39
b(arro)m(ws)150 5340 y(indicate)k(aggregation,)48 b(e.g.,)f(IDNA)c
(uses)e(Pun)m(yco)s(de)h(and)g(Nameprep,)j(and)c(in)h(turn)f(Nameprep)p
eop end
%%Page: 3 8
TeXDict begin 3 7 bop 150 -116 a Fv(Chapter)30 b(1:)41
b(In)m(tro)s(duction)2592 b(3)150 299 y(uses)38 b(the)h(generic)g
(StringPrep)e(in)m(terface.)67 b(The)38 b(in)m(terfaces)i(to)f(all)g
(comp)s(onen)m(ts)g(are)f(a)m(v)-5 b(ailable)41 b(for)150
408 y(applications,)32 b(no)e(comp)s(onen)m(t)h(within)f(the)g(library)
g(is)g(hidden)f(from)h(the)h(application.)358 3442 y
@beginspecial 0 @llx 0 @lly 382 @urx 350 @ury 3820 @rwi
@setspecial
%%BeginDocument: components.eps
%!PS-Adobe-2.0 EPSF-2.0
%%Title: components.fig
%%Creator: fig2dev Version 3.2 Patchlevel 5-alpha5
%%CreationDate: Sat Dec  3 11:36:35 2005
%%For: jas@latte (Simon Josefsson,,,)
%%BoundingBox: 0 0 382 350
%Magnification: 1.0000
%%EndComments
/$F2psDict 200 dict def
$F2psDict begin
$F2psDict /mtrx matrix put
/col-1 {0 setgray} bind def
/col0 {0.000 0.000 0.000 srgb} bind def
/col1 {0.000 0.000 1.000 srgb} bind def
/col2 {0.000 1.000 0.000 srgb} bind def
/col3 {0.000 1.000 1.000 srgb} bind def
/col4 {1.000 0.000 0.000 srgb} bind def
/col5 {1.000 0.000 1.000 srgb} bind def
/col6 {1.000 1.000 0.000 srgb} bind def
/col7 {1.000 1.000 1.000 srgb} bind def
/col8 {0.000 0.000 0.560 srgb} bind def
/col9 {0.000 0.000 0.690 srgb} bind def
/col10 {0.000 0.000 0.820 srgb} bind def
/col11 {0.530 0.810 1.000 srgb} bind def
/col12 {0.000 0.560 0.000 srgb} bind def
/col13 {0.000 0.690 0.000 srgb} bind def
/col14 {0.000 0.820 0.000 srgb} bind def
/col15 {0.000 0.560 0.560 srgb} bind def
/col16 {0.000 0.690 0.690 srgb} bind def
/col17 {0.000 0.820 0.820 srgb} bind def
/col18 {0.560 0.000 0.000 srgb} bind def
/col19 {0.690 0.000 0.000 srgb} bind def
/col20 {0.820 0.000 0.000 srgb} bind def
/col21 {0.560 0.000 0.560 srgb} bind def
/col22 {0.690 0.000 0.690 srgb} bind def
/col23 {0.820 0.000 0.820 srgb} bind def
/col24 {0.500 0.190 0.000 srgb} bind def
/col25 {0.630 0.250 0.000 srgb} bind def
/col26 {0.750 0.380 0.000 srgb} bind def
/col27 {1.000 0.500 0.500 srgb} bind def
/col28 {1.000 0.630 0.630 srgb} bind def
/col29 {1.000 0.750 0.750 srgb} bind def
/col30 {1.000 0.880 0.880 srgb} bind def
/col31 {1.000 0.840 0.000 srgb} bind def

end
save
newpath 0 350 moveto 0 0 lineto 382 0 lineto 382 350 lineto closepath clip newpath
-47.4 405.1 translate
1 -1 scale

/cp {closepath} bind def
/ef {eofill} bind def
/gr {grestore} bind def
/gs {gsave} bind def
/sa {save} bind def
/rs {restore} bind def
/l {lineto} bind def
/m {moveto} bind def
/rm {rmoveto} bind def
/n {newpath} bind def
/s {stroke} bind def
/sh {show} bind def
/slc {setlinecap} bind def
/slj {setlinejoin} bind def
/slw {setlinewidth} bind def
/srgb {setrgbcolor} bind def
/rot {rotate} bind def
/sc {scale} bind def
/sd {setdash} bind def
/ff {findfont} bind def
/sf {setfont} bind def
/scf {scalefont} bind def
/sw {stringwidth} bind def
/tr {translate} bind def
/tnt {dup dup currentrgbcolor
  4 -2 roll dup 1 exch sub 3 -1 roll mul add
  4 -2 roll dup 1 exch sub 3 -1 roll mul add
  4 -2 roll dup 1 exch sub 3 -1 roll mul add srgb}
  bind def
/shd {dup dup currentrgbcolor 4 -2 roll mul 4 -2 roll mul
  4 -2 roll mul srgb} bind def
/$F2psBegin {$F2psDict begin /$F2psEnteredState save def} def
/$F2psEnd {$F2psEnteredState restore end} def

$F2psBegin
10 setmiterlimit
0 slj 0 slc
 0.06299 0.06299 sc
%
% Fig objects follow
%
% 
% here starts figure with depth 50
% Polyline
0 slj
0 slc
7.500 slw
n 3355 1845 m 3295 1845 3295 2235 60 arcto 4 {pop} repeat
  3295 2295 4609 2295 60 arcto 4 {pop} repeat
  4669 2295 4669 1905 60 arcto 4 {pop} repeat
  4669 1845 3355 1845 60 arcto 4 {pop} repeat
 cp gs col0 s gr 
/Helvetica ff 165.00 scf sf
3600 2107 m
gs 1 -1 sc (Nameprep) col0 sh gr
% Polyline
n 2663 1845 m 2618 1845 2618 2250 45 arcto 4 {pop} repeat
  2618 2295 3141 2295 45 arcto 4 {pop} repeat
  3186 2295 3186 1890 45 arcto 4 {pop} repeat
  3186 1845 2663 1845 45 arcto 4 {pop} repeat
 cp gs col0 s gr 
/Helvetica ff 165.00 scf sf
2700 2130 m
gs 1 -1 sc (iSCSI) col0 sh gr
% Polyline
n 1988 1845 m 1943 1845 1943 2250 45 arcto 4 {pop} repeat
  1943 2295 2467 2295 45 arcto 4 {pop} repeat
  2512 2295 2512 1890 45 arcto 4 {pop} repeat
  2512 1845 1988 1845 45 arcto 4 {pop} repeat
 cp gs col0 s gr 
/Helvetica ff 165.00 scf sf
2025 2130 m
gs 1 -1 sc (SASL) col0 sh gr
% Polyline
n 1313 1845 m 1268 1845 1268 2250 45 arcto 4 {pop} repeat
  1268 2295 1792 2295 45 arcto 4 {pop} repeat
  1837 2295 1837 1890 45 arcto 4 {pop} repeat
  1837 1845 1313 1845 45 arcto 4 {pop} repeat
 cp gs col0 s gr 
/Helvetica ff 165.00 scf sf
1327 2130 m
gs 1 -1 sc (XMPP) col0 sh gr
% Polyline
n 870 4560 m 810 4560 810 5099 60 arcto 4 {pop} repeat
  810 5159 6735 5159 60 arcto 4 {pop} repeat
  6795 5159 6795 4620 60 arcto 4 {pop} repeat
  6795 4560 870 4560 60 arcto 4 {pop} repeat
 cp gs col0 s gr 
/Helvetica-Bold ff 165.00 scf sf
3150 4905 m
gs 1 -1 sc (GNU IDN Library) col0 sh gr
% Polyline
n 4065 2837 m 4005 2837 4005 3448 60 arcto 4 {pop} repeat
  4005 3508 5790 3508 60 arcto 4 {pop} repeat
  5850 3508 5850 2897 60 arcto 4 {pop} repeat
  5850 2837 4065 2837 60 arcto 4 {pop} repeat
 cp gs col0 s gr 
/Helvetica ff 150.00 scf sf
4751 3227 m
gs 1 -1 sc (IDNA) col0 sh gr
% Polyline
n 4110 900 m 4050 900 4050 1338 60 arcto 4 {pop} repeat
  4050 1398 5520 1398 60 arcto 4 {pop} repeat
  5580 1398 5580 960 60 arcto 4 {pop} repeat
  5580 900 4110 900 60 arcto 4 {pop} repeat
 cp gs col0 s gr 
/Helvetica ff 165.00 scf sf
4455 1215 m
gs 1 -1 sc (Punycode) col0 sh gr
% Polyline
gs  clippath
2864 1752 m 2864 1863 l 2895 1863 l 2895 1752 l 2895 1752 l 2880 1816 l 2864 1752 l cp
eoclip
n 2880 1398 m
 2880 1848 l gs col0 s gr gr

% arrowhead
n 2864 1752 m 2880 1816 l 2895 1752 l 2864 1752 l  cp gs 0.00 setgray ef gr  col0 s
% Polyline
gs  clippath
3674 1752 m 3674 1863 l 3705 1863 l 3705 1752 l 3705 1752 l 3690 1816 l 3674 1752 l cp
eoclip
n 3690 1395 m
 3690 1848 l gs col0 s gr gr

% arrowhead
n 3674 1752 m 3690 1816 l 3705 1752 l 3674 1752 l  cp gs 0.00 setgray ef gr  col0 s
% Polyline
gs  clippath
2864 4477 m 2864 4588 l 2895 4588 l 2895 4477 l 2895 4477 l 2880 4541 l 2864 4477 l cp
eoclip
n 2880 2298 m
 2880 4573 l gs col0 s gr gr

% arrowhead
n 2864 4477 m 2880 4541 l 2895 4477 l 2864 4477 l  cp gs 0.00 setgray ef gr  col0 s
% Polyline
gs  clippath
2144 4477 m 2144 4588 l 2175 4588 l 2175 4477 l 2175 4477 l 2160 4541 l 2144 4477 l cp
eoclip
n 2160 2298 m
 2160 4573 l gs col0 s gr gr

% arrowhead
n 2144 4477 m 2160 4541 l 2175 4477 l 2144 4477 l  cp gs 0.00 setgray ef gr  col0 s
% Polyline
gs  clippath
1514 4477 m 1514 4588 l 1545 4588 l 1545 4477 l 1545 4477 l 1530 4541 l 1514 4477 l cp
eoclip
n 1530 2298 m
 1530 4573 l gs col0 s gr gr

% arrowhead
n 1514 4477 m 1530 4541 l 1545 4477 l 1514 4477 l  cp gs 0.00 setgray ef gr  col0 s
% Polyline
gs  clippath
1019 4477 m 1019 4588 l 1050 4588 l 1050 4477 l 1050 4477 l 1035 4541 l 1019 4477 l cp
eoclip
n 1035 1398 m
 1035 4573 l gs col0 s gr gr

% arrowhead
n 1019 4477 m 1035 4541 l 1050 4477 l 1019 4477 l  cp gs 0.00 setgray ef gr  col0 s
% Polyline
gs  clippath
1514 1752 m 1514 1863 l 1545 1863 l 1545 1752 l 1545 1752 l 1530 1816 l 1514 1752 l cp
eoclip
n 1530 1398 m
 1530 1848 l gs col0 s gr gr

% arrowhead
n 1514 1752 m 1530 1816 l 1545 1752 l 1514 1752 l  cp gs 0.00 setgray ef gr  col0 s
% Polyline
gs  clippath
2189 1752 m 2189 1863 l 2220 1863 l 2220 1752 l 2220 1752 l 2205 1816 l 2189 1752 l cp
eoclip
n 2205 1398 m
 2205 1848 l gs col0 s gr gr

% arrowhead
n 2189 1752 m 2205 1816 l 2220 1752 l 2189 1752 l  cp gs 0.00 setgray ef gr  col0 s
% Polyline
gs  clippath
3539 4477 m 3539 4588 l 3570 4588 l 3570 4477 l 3570 4477 l 3555 4541 l 3539 4477 l cp
eoclip
n 3555 2298 m
 3555 4573 l gs col0 s gr gr

% arrowhead
n 3539 4477 m 3555 4541 l 3570 4477 l 3539 4477 l  cp gs 0.00 setgray ef gr  col0 s
% Polyline
gs  clippath
4889 4477 m 4889 4588 l 4920 4588 l 4920 4477 l 4920 4477 l 4905 4541 l 4889 4477 l cp
eoclip
n 4905 3506 m
 4905 4573 l gs col0 s gr gr

% arrowhead
n 4889 4477 m 4905 4541 l 4920 4477 l 4889 4477 l  cp gs 0.00 setgray ef gr  col0 s
% Polyline
 [15 45] 45 sd
n 870 5820 m 810 5820 810 6359 60 arcto 4 {pop} repeat
  810 6419 6735 6419 60 arcto 4 {pop} repeat
  6795 6419 6795 5880 60 arcto 4 {pop} repeat
  6795 5820 870 5820 60 arcto 4 {pop} repeat
 cp gs col0 s gr  [] 0 sd
% Polyline
 [15 45] 45 sd
gs  clippath
3705 5653 m 3705 5820 l 3765 5820 l 3765 5653 l 3765 5653 l 3735 5773 l 3705 5653 l cp
3765 5327 m 3765 5160 l 3705 5160 l 3705 5327 l 3705 5327 l 3735 5207 l 3765 5327 l cp
eoclip
n 3735 5175 m
 3735 5805 l gs col0 s gr gr
 [] 0 sd
% arrowhead
n 3765 5327 m 3735 5207 l 3705 5327 l 3765 5327 l  cp gs col7 1.00 shd ef gr  col0 s
% arrowhead
n 3705 5653 m 3735 5773 l 3765 5653 l 3705 5653 l  cp gs col7 1.00 shd ef gr  col0 s
% Polyline
n 840 900 m 765 900 765 1323 75 arcto 4 {pop} repeat
  765 1398 3841 1398 75 arcto 4 {pop} repeat
  3916 1398 3916 975 75 arcto 4 {pop} repeat
  3916 900 840 900 75 arcto 4 {pop} repeat
 cp gs col0 s gr 
% Polyline
gs  clippath
4349 2739 m 4349 2850 l 4380 2850 l 4380 2739 l 4380 2739 l 4365 2803 l 4349 2739 l cp
eoclip
n 4365 2277 m
 4365 2835 l gs col0 s gr gr

% arrowhead
n 4349 2739 m 4365 2803 l 4380 2739 l 4349 2739 l  cp gs 0.00 setgray ef gr  col0 s
% Polyline
gs  clippath
4844 2767 m 4844 2878 l 4875 2878 l 4875 2767 l 4875 2767 l 4860 2831 l 4844 2767 l cp
eoclip
n 4860 1395 m
 4860 2863 l gs col0 s gr gr

% arrowhead
n 4844 2767 m 4860 2831 l 4875 2767 l 4844 2767 l  cp gs 0.00 setgray ef gr  col0 s
% Polyline
n 5715 900 m 5670 900 5670 1350 45 arcto 4 {pop} repeat
  5670 1395 6750 1395 45 arcto 4 {pop} repeat
  6795 1395 6795 945 45 arcto 4 {pop} repeat
  6795 900 5715 900 45 arcto 4 {pop} repeat
 cp gs col0 s gr 
% Polyline
gs  clippath
6149 4477 m 6149 4588 l 6180 4588 l 6180 4477 l 6180 4477 l 6165 4541 l 6149 4477 l cp
eoclip
n 6165 1398 m
 6165 4573 l gs col0 s gr gr

% arrowhead
n 6149 4477 m 6165 4541 l 6180 4477 l 6149 4477 l  cp gs 0.00 setgray ef gr  col0 s
/Helvetica ff 165.00 scf sf
3345 6157 m
gs 1 -1 sc (Application) col0 sh gr
/Helvetica ff 165.00 scf sf
1935 1215 m
gs 1 -1 sc (StringPrep) col0 sh gr
/Helvetica ff 165.00 scf sf
6075 1170 m
gs 1 -1 sc (TLD) col0 sh gr
% here ends figure;
$F2psEnd
rs
showpage
%%Trailer
%EOF

%%EndDocument
 @endspecial 150 3647 a Fu(1.4)68 b(Supp)t(orted)44 b(Platforms)150
3807 y Fv(Libidn)29 b(has)h(at)h(some)g(p)s(oin)m(t)g(in)f(time)h(b)s
(een)e(tested)i(on)g(the)f(follo)m(wing)i(platforms.)199
3935 y(1.)61 b(Debian)31 b(GNU/Lin)m(ux)g(3.0)g(\(W)-8
b(o)s(o)s(dy\))330 4062 y(GCC)39 b(2.95.4)j(and)c(GNU)i(Mak)m(e.)69
b(This)39 b(is)g(the)h(main)f(dev)m(elopmen)m(t)i(platform.)68
b Fp(alphaev67-)330 4172 y(unknown-linux-gnu)p Fv(,)140
b Fp(alphaev6-unknown-linux-gnu)o Fv(,)f Fp(arm-unknown-linux-gnu)p
Fv(,)330 4281 y Fp(armv4l-unknown-linux-gnu)o Fv(,)81
b Fp(hppa-unknown-linux-gnu)p Fv(,)f Fp(hppa64-unknown-linux-)330
4391 y(gnu)p Fv(,)88 b Fp(i686-pc-linux-gnu)p Fv(,)83
b Fp(ia64-unknown-linux-gnu)p Fv(,)g Fp(m68k-unknown-linux-gnu)p
Fv(,)330 4501 y Fp(mips-unknown-linux-gnu)p Fv(,)56 b
Fp(mipsel-unknown-linux-gnu)p Fv(,)g Fp(powerpc-unknown-linux-)330
4610 y(gnu)p Fv(,)64 b Fp(s390-ibm-linux-gnu)p Fv(,)c
Fp(sparc-unknown-linux-gnu)p Fv(,)f Fp(sparc64-unknown-linux-)330
4720 y(gnu)p Fv(.)199 4847 y(2.)i(Debian)31 b(GNU/Lin)m(ux)g(2.1)330
4975 y(GCC)f(2.95.1)j(and)c(GNU)i(Mak)m(e.)43 b Fp
(armv4l-unknown-linux-gn)o(u)p Fv(.)199 5103 y(3.)61
b(T)-8 b(ru64)30 b(UNIX)330 5230 y(T)-8 b(ru64)32 b(UNIX)h(C)f
(compiler)h(and)f(T)-8 b(ru64)33 b(Mak)m(e.)48 b Fp
(alphaev67-dec-osf5.1)p Fv(,)28 b Fp(alphaev68-dec-)330
5340 y(osf5.1)p Fv(.)p eop end
%%Page: 4 9
TeXDict begin 4 8 bop 150 -116 a Fv(Chapter)30 b(1:)41
b(In)m(tro)s(duction)2592 b(4)199 299 y(4.)61 b(SuSE)29
b(Lin)m(ux)h(7.1)330 438 y(GCC)47 b(2.96)j(and)d(GNU)i(Mak)m(e.)95
b Fp(alphaev6-unknown-linux-)o(gnu)o Fv(,)47 b Fp(alphaev67-unknown-)
330 548 y(linux-gnu)p Fv(.)199 687 y(5.)61 b(SuSE)29
b(Lin)m(ux)h(7.2a)330 827 y(GCC)g(3.0)h(and)f(GNU)h(Mak)m(e.)42
b Fp(ia64-unknown-linux-gnu)p Fv(.)199 966 y(6.)61 b(SuSE)29
b(Lin)m(ux)330 1106 y(GCC)74 b(3.2.2)h(and)f(GNU)h(Mak)m(e.)173
b Fp(x86_64-unknown-linux-gnu)67 b Fv(\(AMD64)76 b(Opteron)330
1215 y(\\Melo)s(dy"\).)199 1355 y(7.)61 b(SuSE)29 b(En)m(terprise)h
(Serv)m(er)g(9)h(on)f(IBM)h(Op)s(enP)m(o)m(w)m(er)f(720)330
1494 y(GCC)g(3.3.3)i(and)e(GNU)h(Mak)m(e.)42 b Fp
(powerpc64-unknown-linux-g)o(nu)p Fv(.)199 1634 y(8.)61
b(RedHat)31 b(Lin)m(ux)f(7.2)330 1773 y(GCC)47 b(2.96)j(and)d(GNU)i
(Mak)m(e.)95 b Fp(alphaev6-unknown-linux-)o(gnu)o Fv(,)47
b Fp(alphaev67-unknown-)330 1883 y(linux-gnu)p Fv(,)28
b Fp(ia64-unknown-linux-gnu)p Fv(.)199 2022 y(9.)61 b(RedHat)31
b(Lin)m(ux)f(8.0)330 2162 y(GCC)g(3.2)h(and)f(GNU)h(Mak)m(e.)42
b Fp(i686-pc-linux-gnu)p Fv(.)154 2301 y(10.)61 b(RedHat)31
b(Adv)-5 b(anced)30 b(Serv)m(er)h(2.1)330 2441 y(GCC)f(2.96)i(and)e
(GNU)h(Mak)m(e.)42 b Fp(i686-pc-linux-gnu)p Fv(.)154
2580 y(11.)61 b(Slac)m(kw)m(are)32 b(Lin)m(ux)e(8.0.01)330
2720 y(GCC)g(2.95.3)j(and)c(GNU)i(Mak)m(e.)43 b Fp(i686-pc-linux-gnu)p
Fv(.)154 2859 y(12.)61 b(Mandrak)m(e)31 b(Lin)m(ux)f(9.0)330
2999 y(GCC)g(3.2)h(and)f(GNU)h(Mak)m(e.)42 b Fp(i686-pc-linux-gnu)p
Fv(.)154 3138 y(13.)61 b(IRIX)30 b(6.5)330 3278 y(MIPS)g(C)g(compiler,)
h(IRIX)f(Mak)m(e.)42 b Fp(mips-sgi-irix6.5)p Fv(.)154
3417 y(14.)61 b(AIX)30 b(4.3.2)330 3557 y(IBM)h(C)f(for)g(AIX)g
(compiler,)i(AIX)e(Mak)m(e.)42 b Fp(rs6000-ibm-aix4.3.2.0)p
Fv(.)154 3696 y(15.)61 b(Microsoft)32 b(Windo)m(ws)e(2000)i(\(Cygwin\))
330 3836 y(GCC)e(3.2,)i(GNU)f(mak)m(e.)41 b Fp(i686-pc-cygwin)p
Fv(.)154 3975 y(16.)61 b(HP-UX)31 b(11)330 4115 y(HP-UX)g(C)f(compiler)
h(and)f(HP)g(Mak)m(e.)42 b Fp(ia64-hp-hpux11.22)p Fv(,)26
b Fp(hppa2.0w-hp-hpux11.11)p Fv(.)154 4254 y(17.)61 b(SUN)30
b(Solaris)h(2.7)330 4394 y(GCC)f(3.0.4)i(and)e(GNU)h(Mak)m(e.)42
b Fp(sparc-sun-solaris2.7)p Fv(.)154 4533 y(18.)61 b(SUN)30
b(Solaris)h(2.8)330 4672 y(Sun)e(W)-8 b(orkShop)30 b(Compiler)g(C)g
(6.0)i(and)d(SUN)i(Mak)m(e.)42 b Fp(sparc-sun-solaris2.8)p
Fv(.)154 4812 y(19.)61 b(SUN)30 b(Solaris)h(2.9)330 4951
y(Sun)e(F)-8 b(orte)32 b(Dev)m(elop)s(er)f(7)g(C)f(compiler)h(and)f
(GNU)h(Mak)m(e.)42 b Fp(sparc-sun-solaris2.9)p Fv(.)154
5091 y(20.)61 b(NetBSD)32 b(1.6)330 5230 y(GCC)85 b(2.95.3)j(and)d(GNU)
h(Mak)m(e.)208 b Fp(alpha-unknown-netbsd1.6)p Fv(,)94
b Fp(i386-unknown-)330 5340 y(netbsdelf1.6)p Fv(.)p eop
end
%%Page: 5 10
TeXDict begin 5 9 bop 150 -116 a Fv(Chapter)30 b(1:)h(In)m(tro)s
(duction)2602 b(5)154 299 y(21.)61 b(Op)s(enBSD)29 b(3.1)j(and)e(3.2)
330 437 y(GCC)79 b(2.95.3)j(and)e(GNU)g(Mak)m(e.)191
b Fp(alpha-unknown-openbsd3.)o(1)p Fv(,)87 b Fp(i386-unknown-)330
547 y(openbsd3.1)p Fv(.)154 685 y(22.)61 b(F)-8 b(reeBSD)32
b(4.7)f(and)f(4.8)330 823 y(GCC)74 b(2.95.4)i(and)d(GNU)i(Mak)m(e.)173
b Fp(alpha-unknown-freebsd4.7)p Fv(,)79 b Fp(alpha-unknown-)330
933 y(freebsd4.8)p Fv(,)28 b Fp(i386-unknown-freebsd4.7)p
Fv(,)c Fp(i386-unknown-freebsd4.8)p Fv(.)154 1071 y(23.)61
b(MacOS)31 b(X)f(10.2)i(Serv)m(er)e(Edition)330 1209
y(GCC)g(3.1)h(and)f(GNU)h(Mak)m(e.)42 b Fp(powerpc-apple-darwin6.5)p
Fv(.)154 1347 y(24.)61 b(MacOS)31 b(X)f(10.4)i(\\Tiger")g(with)e(Xco)s
(de)h(2.0)330 1485 y(GCC)f(4.0)h(and)f(GNU)h(Mak)m(e.)42
b Fp(powerpc-apple-darwin8.0)p Fv(.)154 1623 y(25.)61
b(Cross)30 b(compiled)h(to)g(uClin)m(ux/uClib)s(c)e(on)h(Motorola)j
(Cold\014re)330 1762 y(GCC)d(3.4)h(and)f(GNU)h(Mak)m(e)h
Fp(m68k-uclinux-elf)p Fv(.)154 1900 y(26.)61 b(Cross)30
b(compiled)h(to)g(ARM)f(using)g(Glib)s(c)330 2038 y(GCC)g(2.95)i(and)e
(GNU)h(Mak)m(e)h Fp(arm-linux)p Fv(.)275 2208 y(If)d(y)m(ou)i(use)f
(Libidn)f(on,)i(or)f(p)s(ort)g(Libidn)f(to,)j(a)e(new)g(platform)h
(please)g(rep)s(ort)f(it)g(to)i(the)e(author.)150 2452
y Fu(1.5)68 b(Getting)46 b(help)150 2611 y Fv(A)e(mailing)g(list)g
(where)f(users)g(of)h(Libidn)e(ma)m(y)i(help)f(eac)m(h)i(other)f
(exists,)j(and)c(y)m(ou)h(can)g(reac)m(h)g(it)150 2721
y(b)m(y)49 b(sending)g(e-mail)i(to)f Fp(help-libidn@gnu.org)p
Fv(.)92 b(Arc)m(hiv)m(es)50 b(of)g(the)f(mailing)h(list)g(discussions,)
150 2831 y(and)41 b(an)g(in)m(terface)i(to)f(manage)g(subscriptions,)h
(is)f(a)m(v)-5 b(ailable)43 b(through)e(the)g(W)-8 b(orld)42
b(Wide)g(W)-8 b(eb)42 b(at)150 2940 y Fp(http://lists.gnu.org/mai)o
(lman)o(/lis)o(tin)o(fo/h)o(elp-)o(lib)o(idn)p Fv(.)150
3184 y Fu(1.6)68 b(Commercial)47 b(Supp)t(ort)150 3343
y Fv(Commercial)29 b(supp)s(ort)e(is)h(a)m(v)-5 b(ailable)31
b(for)d(users)f(of)i(GNU)g(Libidn.)39 b(The)27 b(kind)h(of)g(supp)s
(ort)f(that)i(can)g(b)s(e)150 3453 y(purc)m(hased)h(ma)m(y)g(include:)
225 3595 y Ft(\017)60 b Fv(Implemen)m(t)26 b(new)g(features.)40
b(Suc)m(h)26 b(as)g(coun)m(try)h(co)s(de)f(sp)s(eci\014c)g(pro\014ling)
g(to)h(supp)s(ort)e(a)h(restricted)330 3704 y(subset)k(of)g(Unico)s
(de.)225 3842 y Ft(\017)60 b Fv(P)m(ort)44 b(Libidn)d(to)j(new)e
(platforms.)78 b(This)42 b(could)h(include)g(p)s(orting)f(Libidn)g(to)h
(an)g(em)m(b)s(edded)330 3952 y(platforms)30 b(that)h(ma)m(y)g(need)f
(memory)h(or)f(size)h(optimization.)225 4090 y Ft(\017)60
b Fv(In)m(tegrating)32 b(IDN)f(supp)s(ort)d(in)i(y)m(our)h(existing)g
(pro)5 b(ject.)225 4228 y Ft(\017)60 b Fv(System)30 b(design)g(of)h
(comp)s(onen)m(ts)f(related)i(to)f(IDN.)275 4399 y(If)e(y)m(ou)i(are)g
(in)m(terested,)h(please)f(write)f(to:)150 4541 y Fp(Simon)46
b(Josefsson)g(Datakonsult)150 4650 y(Hagagatan)f(24)150
4760 y(113)i(47)g(Stockholm)150 4869 y(Sweden)150 5089
y(E-mail:)f(simon@josefsson.org)275 5230 y Fv(If)25 b(y)m(our)h(compan)
m(y)g(pro)m(vide)g(supp)s(ort)e(related)j(to)f(GNU)h(Libidn)e(and)g(w)m
(ould)g(lik)m(e)j(to)e(b)s(e)f(men)m(tioned)150 5340
y(here,)30 b(con)m(tact)j(the)e(author)f(\(see)h(Section)g(1.8)h([Bug)f
(Rep)s(orts],)f(page)h(6\).)p eop end
%%Page: 6 11
TeXDict begin 6 10 bop 150 -116 a Fv(Chapter)30 b(1:)41
b(In)m(tro)s(duction)2592 b(6)150 299 y Fu(1.7)68 b(Do)l(wnloading)46
b(and)f(Installing)150 458 y Fv(The)30 b(pac)m(k)-5 b(age)32
b(can)f(b)s(e)f(do)m(wnloaded)g(from)g(sev)m(eral)i(places,)f
(including:)275 592 y Fp(http://josefsson.org/li)o(bid)o(n/re)o(leas)o
(es/)275 726 y Fv(The)24 b(latest)k(v)m(ersion)d(is)h(stored)g(in)f(a)h
(\014le,)g(e.g.,)i(`)p Fp(gsasl-0.6.0.tar.gz)p Fv(')21
b(where)k(the)h(`)p Fp(0.6.0)p Fv(')e(v)-5 b(alue)150
836 y(is)30 b(the)h(highest)g(v)m(ersion)f(n)m(um)m(b)s(er)g(in)g(the)g
(directory)-8 b(.)275 969 y(The)33 b(pac)m(k)-5 b(age)35
b(is)f(then)f(extracted,)j(con\014gured)c(and)h(built)h(lik)m(e)g(man)m
(y)g(other)g(pac)m(k)-5 b(ages)35 b(that)f(use)150 1079
y(Auto)s(conf.)54 b(F)-8 b(or)36 b(detailed)g(information)f(on)g
(con\014guring)f(and)g(building)g(it,)j(refer)e(to)g(the)g(`)p
Fp(INSTALL)p Fv(')150 1189 y(\014le)30 b(that)h(is)g(part)f(of)h(the)f
(distribution)g(arc)m(hiv)m(e.)275 1322 y(Here)44 b(is)g(an)g(example)h
(terminal)g(session)f(that)h(do)m(wnload,)j(con\014gure,)f(build)c(and)
h(install)h(the)150 1432 y(pac)m(k)-5 b(age.)43 b(Y)-8
b(ou)31 b(will)f(need)g(a)h(few)f(basic)h(to)s(ols,)h(suc)m(h)e(as)g(`)
p Fp(sh)p Fv(',)h(`)p Fp(make)p Fv(')e(and)h(`)p Fp(cc)p
Fv('.)390 1566 y Fp($)47 b(wget)g(-q)g(http://josefsson.org/libi)o
(dn/r)o(elea)o(ses)o(/lib)o(idn-)o(0.6)o(.0.t)o(ar.g)o(z)390
1675 y($)g(tar)g(xfz)g(libidn-0.6.0.tar.gz)390 1785 y($)g(cd)h
(libidn-0.6.0/)390 1895 y($)f(./configure)390 2004 y(...)390
2114 y($)g(make)390 2223 y(...)390 2333 y($)g(make)g(install)390
2443 y(...)275 2576 y Fv(After)30 b(that)h(Libidn)e(should)h(b)s(e)f
(prop)s(erly)h(installed)h(and)e(ready)i(for)f(use.)275
2710 y(A)g(few)g Fp(configure)e Fv(options)j(ma)m(y)g(b)s(e)e(relev)-5
b(an)m(t,)32 b(summarized)e(in)g(the)h(table.)150 2868
y Fp(--enable-java)630 2978 y Fv(Build)f(the)h(Ja)m(v)-5
b(a)32 b(p)s(ort)e(in)m(to)h(a)g(*.JAR)g(\014le.)41 b(See)31
b(Chapter)f(12)i([Ja)m(v)-5 b(a)31 b(API],)g(page)g(54,)h(for)630
3087 y(more)f(information.)150 3245 y Fp(--disable-tld)630
3355 y Fv(Disable)24 b(the)f(TLD)f(mo)s(dule.)38 b(This)21
b(w)m(ould)i(t)m(ypically)h(only)f(b)s(e)f(useful)g(if)h(y)m(ou)g(are)g
(building)630 3465 y(on)37 b(a)g(memory)g(restricted)g(platforms.)60
b(See)37 b(Chapter)g(7)g([TLD)g(F)-8 b(unctions],)39
b(page)f(27,)630 3574 y(for)30 b(more)h(information.)150
3732 y Fp(--enable-csharp[=IMPL])630 3842 y Fv(Build)36
b(the)h(C3)g(p)s(ort)e(in)m(to)j(a)f(*.DLL)g(\014le.)59
b(See)37 b(Chapter)f(13)h([C#)f(API],)h(page)g(57,)i(for)630
3952 y(more)34 b(information.)51 b(Here,)35 b Fp(IMPL)e
Fv(is)h Fp(pnet)e Fv(or)i Fp(mono)p Fv(,)g(indicating)g(whether)f(the)h
(PNET)630 4061 y Fp(cscc)29 b Fv(compiler)i(or)g(the)f(Mono)h
Fp(mcs)f Fv(compiler)h(should)e(b)s(e)h(used,)g(resp)s(ectiv)m(ely)-8
b(.)275 4219 y(F)g(or)31 b(the)f(complete)i(list,)f(refer)f(to)i(the)e
(output)g(from)g Fp(configure)e(--help)p Fv(.)150 4450
y Fu(1.8)68 b(Bug)45 b(Rep)t(orts)150 4610 y Fv(If)30
b(y)m(ou)h(think)f(y)m(ou)g(ha)m(v)m(e)i(found)d(a)i(bug)e(in)h
(Libidn,)g(please)h(in)m(v)m(estigate)j(it)c(and)g(rep)s(ort)g(it.)225
4744 y Ft(\017)60 b Fv(Please)40 b(mak)m(e)g(sure)d(that)j(the)f(bug)f
(is)g(really)i(in)e(Libidn,)i(and)e(preferably)g(also)i(c)m(hec)m(k)g
(that)f(it)330 4853 y(hasn't)30 b(already)h(b)s(een)f(\014xed)g(in)g
(the)g(latest)i(v)m(ersion.)225 4987 y Ft(\017)60 b Fv(Y)-8
b(ou)31 b(ha)m(v)m(e)g(to)h(send)d(us)h(a)h(test)g(case)g(that)g(mak)m
(es)g(it)g(p)s(ossible)f(for)g(us)g(to)h(repro)s(duce)e(the)i(bug.)225
5121 y Ft(\017)60 b Fv(Y)-8 b(ou)29 b(also)h(ha)m(v)m(e)g(to)g(explain)
f(what)g(is)g(wrong;)g(if)g(y)m(ou)g(get)h(a)f(crash,)h(or)f(if)f(the)h
(results)g(prin)m(ted)g(are)330 5230 y(not)36 b(go)s(o)s(d)g(and)g(in)g
(that)g(case,)j(in)d(what)g(w)m(a)m(y)-8 b(.)59 b(Mak)m(e)38
b(sure)d(that)i(the)f(bug)g(rep)s(ort)f(includes)h(all)330
5340 y(information)31 b(y)m(ou)f(w)m(ould)h(need)f(to)h(\014x)f(this)g
(kind)f(of)i(bug)f(for)g(someone)h(else.)p eop end
%%Page: 7 12
TeXDict begin 7 11 bop 150 -116 a Fv(Chapter)30 b(1:)41
b(In)m(tro)s(duction)2592 b(7)275 299 y(Please)36 b(mak)m(e)f(an)g
(e\013ort)h(to)f(pro)s(duce)f(a)h(self-con)m(tained)i(rep)s(ort,)f
(with)e(something)i(de\014nite)e(that)150 408 y(can)29
b(b)s(e)g(tested)g(or)g(debugged.)40 b(V)-8 b(ague)31
b(queries)e(or)g(piecemeal)h(messages)g(are)g(di\016cult)f(to)h(act)g
(on)f(and)150 518 y(don't)h(help)g(the)h(dev)m(elopmen)m(t)h(e\013ort.)
275 653 y(If)e(y)m(our)g(bug)g(rep)s(ort)g(is)g(go)s(o)s(d,)h(w)m(e)g
(will)g(do)f(our)g(b)s(est)g(to)i(help)e(y)m(ou)g(to)i(get)f(a)g
(corrected)h(v)m(ersion)f(of)150 762 y(the)j(soft)m(w)m(are;)j(if)d
(the)g(bug)f(rep)s(ort)g(is)h(p)s(o)s(or,)g(w)m(e)g(w)m(on't)g(do)g(an)
m(ything)g(ab)s(out)g(it)g(\(apart)g(from)f(asking)150
872 y(y)m(ou)e(to)g(send)e(b)s(etter)i(bug)f(rep)s(orts\).)275
1006 y(If)19 b(y)m(ou)i(think)f(something)h(in)f(this)g(man)m(ual)h(is)
f(unclear,)j(or)d(do)m(wnrigh)m(t)h(incorrect,)i(or)e(if)f(the)h
(language)150 1116 y(needs)30 b(to)h(b)s(e)f(impro)m(v)m(ed,)h(please)g
(also)g(send)f(a)h(note.)275 1250 y(Send)e(y)m(our)h(bug)g(rep)s(ort)g
(to:)1495 1360 y(`)p Fp(bug-libidn@gnu.org)p Fv(')150
1592 y Fu(1.9)68 b(Con)l(tributing)150 1752 y Fv(If)25
b(y)m(ou)h(w)m(an)m(t)g(to)g(submit)f(a)h(patc)m(h)g(for)f(inclusion)h
({)f(from)h(solv)m(e)g(a)g(t)m(yp)s(o)g(y)m(ou)g(disco)m(v)m(ered,)i
(up)c(to)i(adding)150 1861 y(supp)s(ort)38 b(for)h(a)h(new)e(feature)i
({)g(y)m(ou)g(should)e(submit)h(it)h(as)f(a)h(bug)f(rep)s(ort)f(\(see)j
(Section)f(1.8)g([Bug)150 1971 y(Rep)s(orts],)32 b(page)g(6\).)44
b(There)30 b(are)i(some)g(things)f(that)h(y)m(ou)f(can)h(do)f(to)h
(increase)g(the)f(c)m(hances)h(for)f(it)h(to)150 2081
y(b)s(e)e(included)f(in)h(the)h(o\016cial)h(pac)m(k)-5
b(age.)275 2215 y(Unless)41 b(y)m(our)g(patc)m(h)h(is)f(v)m(ery)h
(small)g(\(sa)m(y)-8 b(,)46 b(under)40 b(10)i(lines\))g(w)m(e)f
(require)g(that)h(y)m(ou)g(assign)g(the)150 2325 y(cop)m(yrigh)m(t)d
(of)f(y)m(our)f(w)m(ork)h(to)g(the)g(F)-8 b(ree)39 b(Soft)m(w)m(are)f
(F)-8 b(oundation.)63 b(This)37 b(is)g(to)i(protect)f(the)g(freedom)150
2434 y(of)44 b(the)g(pro)5 b(ject.)81 b(If)43 b(y)m(ou)h(ha)m(v)m(e)h
(not)f(already)h(signed)e(pap)s(ers,)j(w)m(e)f(will)f(send)f(y)m(ou)h
(the)g(necessary)150 2544 y(information)31 b(when)e(y)m(ou)i(submit)e
(y)m(our)i(con)m(tribution.)275 2678 y(F)-8 b(or)33 b(con)m(tributions)
h(that)f(do)s(esn't)g(consist)g(of)g(actual)i(programming)d(co)s(de,)i
(the)g(only)f(guidelines)150 2788 y(are)e(common)f(sense.)41
b(Use)31 b(it.)275 2922 y(F)-8 b(or)31 b(co)s(de)f(con)m(tributions,)h
(a)g(n)m(um)m(b)s(er)e(of)i(st)m(yle)g(guides)g(will)f(help)g(y)m(ou:)
225 3057 y Ft(\017)60 b Fv(Co)s(ding)32 b(St)m(yle.)48
b(F)-8 b(ollo)m(w)34 b(the)f(GNU)g(Standards)e(do)s(cumen)m(t)i(\(see)g
Ft(h)p Fv(unde\014ned)p Ft(i)e Fv([top],)j(page)f Ft(h)p
Fv(un-)330 3166 y(de\014ned)p Ft(i)p Fv(\).)330 3301
y(If)42 b(y)m(ou)h(normally)f(co)s(de)h(using)f(another)g(co)s(ding)h
(standard,)i(there)d(is)h(no)f(problem,)j(but)d(y)m(ou)330
3411 y(should)h(use)g(`)p Fp(indent)p Fv(')g(to)i(reformat)f(the)g(co)s
(de)g(\(see)h Ft(h)p Fv(unde\014ned)p Ft(i)d Fv([top],)48
b(page)d Ft(h)p Fv(unde\014ned)p Ft(i)p Fv(\))330 3520
y(b)s(efore)30 b(submitting)g(y)m(our)g(w)m(ork.)225
3655 y Ft(\017)60 b Fv(Use)31 b(the)f(uni\014ed)f(di\013)h(format)h(`)p
Fp(diff)f(-u)p Fv('.)225 3789 y Ft(\017)60 b Fv(Return)32
b(errors.)47 b(No)33 b(reason)g(whatso)s(ev)m(er)g(should)f(ab)s(ort)h
(the)g(execution)g(of)g(the)g(library)-8 b(.)48 b(Ev)m(en)330
3899 y(memory)27 b(allo)s(cation)i(errors,)f(e.g.)41
b(when)26 b(mallo)s(c)i(return)e(NULL,)h(should)f(w)m(ork)h(although)h
(result)330 4008 y(in)i(an)g(error)g(co)s(de.)225 4143
y Ft(\017)60 b Fv(Design)31 b(with)f(thread)g(safet)m(y)i(in)e(mind.)40
b(Don't)31 b(use)f(global)i(v)-5 b(ariables)31 b(and)f(the)g(lik)m(e.)
225 4277 y Ft(\017)60 b Fv(Av)m(oid)38 b(using)f(the)g(C)g(math)g
(library)-8 b(.)61 b(It)37 b(causes)h(problems)e(for)h(em)m(b)s(edded)f
(implemen)m(tations,)330 4387 y(and)30 b(in)g(most)h(situations)g(it)g
(is)f(v)m(ery)h(easy)g(to)g(a)m(v)m(oid)h(using)e(it.)225
4521 y Ft(\017)60 b Fv(Do)s(cumen)m(t)23 b(y)m(our)f(functions.)37
b(Use)23 b(commen)m(ts)g(b)s(efore)f(eac)m(h)h(function)f(headers,)h
(that,)i(if)d(prop)s(erly)330 4631 y(formatted,)j(are)d(extracted)i(in)
m(to)f(GTK-DOC)e(w)m(eb)i(pages.)38 b(Don't)23 b(forget)g(to)g(up)s
(date)e(the)i(T)-8 b(exinfo)330 4741 y(man)m(ual)31 b(as)f(w)m(ell.)225
4875 y Ft(\017)60 b Fv(Supply)29 b(a)h(ChangeLog)h(and)f(NEWS)g(en)m
(tries,)i(where)e(appropriate.)p eop end
%%Page: 8 13
TeXDict begin 8 12 bop 150 -116 a Fv(Chapter)30 b(2:)41
b(Preparation)2619 b(8)150 299 y Fs(2)80 b(Preparation)150
497 y Fv(T)-8 b(o)34 b(use)f(`Libidn',)h(y)m(ou)g(ha)m(v)m(e)h(to)f(p)s
(erform)e(some)i(c)m(hanges)h(to)f(y)m(our)g(sources)f(and)g(the)h
(build)f(system.)150 607 y(The)39 b(necessary)h(c)m(hanges)h(are)f
(small)g(and)f(explained)g(in)h(the)f(follo)m(wing)i(sections.)70
b(A)m(t)40 b(the)g(end)f(of)150 716 y(this)31 b(c)m(hapter,)i(it)f(is)f
(describ)s(ed)f(ho)m(w)i(the)f(library)g(is)h(initialized,)h(and)e(ho)m
(w)g(the)h(requiremen)m(ts)f(of)h(the)150 826 y(library)e(are)h(v)m
(eri\014ed.)275 953 y(A)f(faster)i(w)m(a)m(y)f(to)h(\014nd)d(out)i(ho)m
(w)g(to)h(adapt)f(y)m(our)g(application)h(for)e(use)h(with)f(`Libidn')h
(ma)m(y)g(b)s(e)f(to)150 1063 y(lo)s(ok)h(at)g(the)g(examples)g(at)g
(the)f(end)g(of)g(this)h(man)m(ual)f(\(see)i(Chapter)e(9)g([Examples],)
h(page)h(34\).)150 1281 y Fu(2.1)68 b(Header)150 1440
y Fv(The)38 b(library)g(con)m(tains)i(a)e(few)h(indep)s(enden)m(t)e
(parts,)j(and)e(eac)m(h)i(part)e(exp)s(ort)g(the)h(in)m(terfaces)h
(\(data)150 1550 y(t)m(yp)s(es)33 b(and)g(functions\))g(in)g(a)h
(header)f(\014le.)49 b(Y)-8 b(ou)34 b(m)m(ust)f(include)g(the)h
(appropriate)f(header)g(\014les)g(in)g(all)150 1659 y(programs)d(using)
g(the)g(library)-8 b(,)31 b(either)g(directly)g(or)f(through)g(some)h
(other)f(header)h(\014le,)f(lik)m(e)i(this:)390 1787
y Fp(#include)46 b(<stringprep.h>)275 1914 y Fv(The)29
b(header)i(\014les)f(and)g(the)g(functions)g(they)h(de\014ne)e(are)i
(categorized)i(as)e(follo)m(ws:)150 2059 y(stringprep.h)630
2169 y(The)d(lo)m(w-lev)m(el)j(stringprep)c(API)h(en)m(try)h(p)s(oin)m
(t.)40 b(F)-8 b(or)29 b(IDN)g(applications,)h(this)e(is)g(usually)630
2278 y(in)m(v)m(ok)m(ed)33 b(via)e(IDNA.)h(Some)f(applications,)i(sp)s
(eci\014cally)f(non-IDN)f(ones,)h(ma)m(y)f(w)m(an)m(t)h(to)630
2388 y(prepare)e(strings)g(directly)h(though,)f(and)g(should)g(include)
g(this)g(header)g(\014le.)630 2515 y(The)k(name)h(space)g(of)g(the)f
(stringprep)g(part)h(of)f(Libidn)g(is)g Fp(stringprep*)e
Fv(for)i(function)630 2625 y(names,)i Fp(Stringprep*)31
b Fv(for)k(data)g(t)m(yp)s(es)g(and)f Fp(STRINGPREP_*)d
Fv(for)k(other)g(sym)m(b)s(ols.)53 b(In)630 2734 y(addition,)36
b Fp(_stringprep*)31 b Fv(is)k(reserv)m(ed)f(for)g(in)m(ternal)i(use)e
(and)g(should)f(nev)m(er)i(b)s(e)f(used)630 2844 y(b)m(y)c
(applications.)150 2989 y(pun)m(yco)s(de.h)630 3098 y(The)23
b(en)m(try)h(p)s(oin)m(t)f(to)i(Pun)m(yco)s(de)e(enco)s(ding)g(and)g
(deco)s(ding)g(functions.)38 b(Normally)25 b(pun)m(y-)630
3208 y(co)s(de)g(is)f(used)g(via)h(the)g(idna.h)f(in)m(terface,)k(but)c
(some)h(application)g(ma)m(y)h(w)m(an)m(t)f(to)g(p)s(erform)630
3318 y(ra)m(w)30 b(pun)m(yco)s(de)g(op)s(erations.)630
3445 y(The)40 b(name)i(space)f(of)g(the)g(pun)m(yco)s(de)g(part)f(of)i
(Libidn)d(is)i Fp(punycode_*)d Fv(for)j(function)630
3554 y(names,)e Fp(Punycode*)34 b Fv(for)j(data)g(t)m(yp)s(es)g(and)g
Fp(PUNYCODE_*)d Fv(for)i(other)i(sym)m(b)s(ols.)60 b(In)36
b(ad-)630 3664 y(dition,)42 b Fp(_punycode*)37 b Fv(is)i(reserv)m(ed)h
(for)f(in)m(ternal)h(use)g(and)e(should)h(nev)m(er)h(b)s(e)e(used)h(b)m
(y)630 3774 y(applications.)150 3919 y(idna.h)630 4046
y(The)h(en)m(try)g(p)s(oin)m(t)g(to)h(the)f(IDNA)h(functions.)70
b(This)39 b(is)h(the)h(normal)f(en)m(try)g(p)s(oin)m(t)g(for)630
4156 y(applications)32 b(that)f(need)f(IDN)g(functionalit)m(y)-8
b(.)630 4283 y(The)42 b(name)g(space)g(of)h(the)f(IDNA)h(part)f(of)g
(Libidn)f(is)h Fp(idna_*)e Fv(for)i(function)g(names,)630
4392 y Fp(Idna*)d Fv(for)g(data)i(t)m(yp)s(es)f(and)f
Fp(IDNA_*)g Fv(for)g(other)h(sym)m(b)s(ols.)70 b(In)39
b(addition,)k Fp(_idna*)38 b Fv(is)630 4502 y(reserv)m(ed)31
b(for)f(in)m(ternal)h(use)f(and)g(should)f(nev)m(er)i(b)s(e)e(used)h(b)
m(y)g(applications.)150 4647 y(tld.h)630 4774 y(The)k(en)m(try)g(p)s
(oin)m(t)g(to)h(the)f(TLD)g(functions.)51 b(Normal)35
b(applications)g(are)f(not)h(exp)s(ected)630 4884 y(to)k(need)f(this)h
(functionalit)m(y)-8 b(,)42 b(but)c(it)h(is)f(presen)m(t)h(for)f
(applications)i(that)f(are)f(used)g(b)m(y)630 4993 y(TLDs)30
b(to)h(v)-5 b(alidate)32 b(customer)f(input.)630 5121
y(The)d(name)h(space)g(of)g(the)g(TLD)g(part)g(of)f(Libidn)g(is)h
Fp(tld_*)e Fv(for)i(function)f(names,)h Fp(Tld_*)630
5230 y Fv(for)i(data)g(t)m(yp)s(es)g(and)f Fp(TLD_*)g
Fv(for)g(other)h(sym)m(b)s(ols.)42 b(In)30 b(addition,)i
Fp(_tld*)d Fv(is)i(reserv)m(ed)g(for)630 5340 y(in)m(ternal)g(use)f
(and)g(should)f(nev)m(er)i(b)s(e)f(used)f(b)m(y)i(applications.)p
eop end
%%Page: 9 14
TeXDict begin 9 13 bop 150 -116 a Fv(Chapter)30 b(2:)41
b(Preparation)2619 b(9)150 299 y(pr29.h)630 435 y(The)40
b(en)m(try)h(p)s(oin)m(t)g(to)g(the)g(PR29)h(functions.)71
b(These)41 b(functions)f(are)h(used)f(to)i(detect)630
544 y(\\problem)26 b(sequences")h(\(see)f(Chapter)g(8)g([PR29)h(F)-8
b(unctions],)28 b(page)f(32\),)h(mostly)e(for)g(use)630
654 y(in)k(securit)m(y)h(critical)h(applications.)630
789 y(The)23 b(name)g(space)h(of)f(the)h(PR29)g(part)f(of)g(Libidn)g
(is)g Fp(pr29_*)e Fv(for)j(function)e(names,)j Fp(Pr29_)630
899 y(*)j Fv(for)g(data)h(t)m(yp)s(es)f(and)f Fp(PR29_*)g
Fv(for)h(other)g(sym)m(b)s(ols.)40 b(In)27 b(addition,)i
Fp(_pr29*)e Fv(is)h(reserv)m(ed)630 1009 y(for)i(in)m(ternal)h(use)f
(and)g(should)f(nev)m(er)i(b)s(e)f(used)f(b)m(y)i(applications.)150
1245 y Fu(2.2)68 b(Initialization)150 1404 y Fv(Libidn)29
b(is)i(stateless)h(and)d(do)s(es)h(not)h(need)f(an)m(y)h
(initialization.)150 1640 y Fu(2.3)68 b(V)-11 b(ersion)45
b(Chec)l(k)150 1800 y Fv(It)35 b(is)g(often)g(desirable)g(to)h(c)m(hec)
m(k)h(that)e(the)g(v)m(ersion)h(of)f(`Libidn')f(used)g(is)h(indeed)g
(one)g(whic)m(h)f(\014ts)h(all)150 1909 y(requiremen)m(ts.)42
b(Ev)m(en)31 b(with)g(binary)f(compatibilit)m(y)j(new)d(features)h(ma)m
(y)g(ha)m(v)m(e)h(b)s(een)e(in)m(tro)s(duced)h(but)150
2019 y(due)g(to)i(problem)e(with)h(the)g(dynamic)f(link)m(er)i(an)e
(old)h(v)m(ersion)h(is)f(actually)h(used.)45 b(So)31
b(y)m(ou)i(ma)m(y)f(w)m(an)m(t)150 2128 y(to)f(c)m(hec)m(k)h(that)f
(the)g(v)m(ersion)f(is)h(ok)-5 b(a)m(y)31 b(righ)m(t)g(after)g(program)
f(startup.)3350 2317 y([F)-8 b(unction])-3599 b Fo(const)54
b(char)f(*)g(stringprep_check_versi)q(on)f Fn(\()p Fm(const)31
b(c)m(har)g(*)565 2427 y Fl(req_version)12 b Fn(\))390
2537 y Fm(req)p 520 2537 28 4 v 40 w(v)m(ersion)p Fv(:)41
b(Required)30 b(v)m(ersion)h(n)m(um)m(b)s(er,)e(or)i(NULL.)390
2674 y(Chec)m(k)c(that)h(the)f(the)g(v)m(ersion)g(of)g(the)g(library)g
(is)g(at)h(minim)m(um)e(the)h(requested)g(one)g(and)f(return)390
2783 y(the)j(v)m(ersion)g(string;)h(return)e(NULL)g(if)h(the)g
(condition)h(is)f(not)g(satis\014ed.)40 b(If)29 b(a)g(NULL)g(is)f
(passed)390 2893 y(to)j(this)f(function,)h(no)f(c)m(hec)m(k)i(is)e
(done,)h(but)e(the)i(v)m(ersion)g(string)f(is)h(simply)e(returned.)390
3030 y(See)i Fp(STRINGPREP_VERSION)25 b Fv(for)30 b(a)h(suitable)g
Fp(req_version)c Fv(string.)390 3167 y Fk(Return)d(v)-5
b(alue:)38 b Fv(V)-8 b(ersion)24 b(string)g(of)g(run-time)g(library)-8
b(,)26 b(or)e(NULL)g(if)g(the)g(run-time)g(library)f(do)s(es)390
3276 y(not)31 b(meet)g(the)f(required)g(v)m(ersion)h(n)m(um)m(b)s(er.)
275 3465 y(The)e(normal)h(w)m(a)m(y)i(to)f(use)e(the)i(function)f(is)g
(to)h(put)e(something)i(similar)g(to)g(the)f(follo)m(wing)i(\014rst)d
(in)150 3575 y(y)m(our)h Fp(main)p Fv(:)485 3712 y Fp(if)48
b(\(!stringprep_check_vers)o(ion)41 b(\(STRINGPREP_VERSION\)\))581
3821 y({)676 3931 y(printf)46 b(\("stringprep_check_version)o(\(\))c
(failed:\\n")1058 4040 y("Header)k(file)h(incompatible)d(with)j(shared)
f(library.\\n"\);)676 4150 y(exit\(1\);)581 4260 y(})150
4496 y Fu(2.4)68 b(Building)45 b(the)g(source)150 4655
y Fv(If)32 b(y)m(ou)i(w)m(an)m(t)f(to)h(compile)g(a)f(source)g(\014le)g
(including)f(e.g.)50 b(the)33 b(`idna.h')f(header)h(\014le,)h(y)m(ou)f
(m)m(ust)g(mak)m(e)150 4765 y(sure)24 b(that)i(the)f(compiler)g(can)h
(\014nd)d(it)j(in)e(the)h(directory)h(hierarc)m(h)m(y)-8
b(.)40 b(This)24 b(is)h(accomplished)g(b)m(y)g(adding)150
4874 y(the)37 b(path)g(to)h(the)f(directory)g(in)g(whic)m(h)g(the)g
(header)g(\014le)g(is)g(lo)s(cated)h(to)g(the)f(compilers)g(include)g
(\014le)150 4984 y(searc)m(h)31 b(path)f(\(via)h(the)g(`)p
Fp(-I)p Fv(')f(option\).)275 5121 y(Ho)m(w)m(ev)m(er,)h(the)f(path)f
(to)h(the)g(include)f(\014le)h(is)f(determined)g(at)h(the)g(time)g(the)
f(source)h(is)f(con\014gured.)150 5230 y(T)-8 b(o)30
b(solv)m(e)h(this)f(problem,)g(`Libidn')f(uses)g(the)h(external)h(pac)m
(k)-5 b(age)31 b Fp(pkg-config)c Fv(that)k(kno)m(ws)e(the)h(path)150
5340 y(to)k(the)g(include)g(\014le)f(and)g(other)h(con\014guration)g
(options.)51 b(The)33 b(options)h(that)g(need)g(to)g(b)s(e)f(added)g
(to)p eop end
%%Page: 10 15
TeXDict begin 10 14 bop 150 -116 a Fv(Chapter)30 b(2:)41
b(Preparation)2573 b(10)150 299 y(the)24 b(compiler)h(in)m(v)m(o)s
(cation)h(at)f(compile)f(time)h(are)g(output)e(b)m(y)h(the)g(`)p
Fp(--cflags)p Fv(')f(option)h(to)h Fp(pkg-config)150
408 y(libidn)p Fv(.)39 b(The)30 b(follo)m(wing)i(example)f(sho)m(ws)f
(ho)m(w)g(it)h(can)g(b)s(e)f(used)f(at)i(the)g(command)f(line:)390
541 y Fp(gcc)47 b(-c)g(foo.c)f(`pkg-config)f(libidn)h(--cflags`)275
673 y Fv(Adding)38 b(the)i(output)f(of)h(`)p Fp(pkg-config)27
b(libidn)i(--cflags)p Fv(')38 b(to)i(the)f(compilers)h(command)g(line)
150 783 y(will)31 b(ensure)e(that)i(the)g(compiler)g(can)f(\014nd)f
(e.g.)42 b(the)31 b(idna.h)e(header)i(\014le.)275 915
y(A)23 b(similar)g(problem)g(o)s(ccurs)g(when)f(linking)h(the)g
(program)g(with)g(the)g(library)-8 b(.)38 b(Again,)26
b(the)d(compiler)150 1025 y(has)j(to)g(\014nd)f(the)h(library)f
(\014les.)40 b(F)-8 b(or)26 b(this)g(to)h(w)m(ork,)g(the)f(path)g(to)h
(the)f(library)f(\014les)h(has)g(to)h(b)s(e)e(added)g(to)150
1135 y(the)32 b(library)g(searc)m(h)h(path)f(\(via)h(the)f(`)p
Fp(-L)p Fv(')g(option\).)47 b(F)-8 b(or)32 b(this,)h(the)f(option)h(`)p
Fp(--libs)p Fv(')e(to)i Fp(pkg-config)150 1244 y(libidn)h
Fv(can)i(b)s(e)f(used.)56 b(F)-8 b(or)37 b(con)m(v)m(enience,)i(this)d
(option)g(also)g(outputs)g(all)g(other)g(options)g(that)h(are)150
1354 y(required)h(to)i(link)f(the)g(program)g(with)f(the)i(`libidn')e
(libarary)-8 b(.)67 b(The)39 b(example)h(sho)m(ws)e(ho)m(w)h(to)h(link)
150 1463 y(`)p Fp(foo.o)p Fv(')29 b(with)i(the)f(`libidn')g(library)g
(to)h(a)g(program)f Fp(foo)p Fv(.)390 1596 y Fp(gcc)47
b(-o)g(foo)g(foo.o)f(`pkg-config)f(libidn)h(--libs`)275
1728 y Fv(Of)29 b(course)i(y)m(ou)f(can)h(also)g(com)m(bine)g(b)s(oth)e
(examples)i(to)g(a)g(single)f(command)g(b)m(y)h(sp)s(ecifying)f(b)s
(oth)150 1838 y(options)h(to)g Fp(pkg-config)p Fv(:)390
1970 y Fp(gcc)47 b(-o)g(foo)g(foo.c)f(`pkg-config)f(libidn)h(--cflags)g
(--libs`)150 2199 y Fu(2.5)68 b(Auto)t(conf)44 b(tests)150
2358 y Fv(If)25 b(y)m(our)g(pro)5 b(ject)26 b(uses)f(Auto)s(conf)g
(\(see)i Ft(h)p Fv(unde\014ned)p Ft(i)c Fv([top],)28
b(page)e Ft(h)p Fv(unde\014ned)p Ft(i)p Fv(\))e(to)i(c)m(hec)m(k)h(for)
e(installed)150 2468 y(libraries,)38 b(y)m(ou)e(migh)m(t)h(\014nd)d
(the)i(follo)m(wing)i(snipp)s(et)c(illustrativ)m(e.)60
b(It)36 b(add)f(a)h(new)g(`)p Fp(configure)p Fv(')e(pa-)150
2577 y(rameter)d Fp(--with-libidn)p Fv(,)d(and)i(c)m(hec)m(k)j(for)d(`)
p Fp(idna.h)p Fv(')g(and)g(`)p Fp(-lidn)p Fv(')g(\(p)s(ossibly)g(b)s
(elo)m(w)h(the)g(directory)150 2687 y(sp)s(eci\014ed)d(as)i(the)f
(optional)i(argumen)m(t)e(to)h Fp(--with-libidn)p Fv(\),)c(and)j
(de\014ne)f(the)i Fj(CPP)e Fv(sym)m(b)s(ol)h Fp(LIBIDN)150
2797 y Fv(if)37 b(the)f(library)h(is)f(found.)58 b(The)36
b(default)h(b)s(eha)m(viour)f(is)h(to)g(searc)m(h)g(for)g(the)g
(library)f(and)g(enable)h(the)150 2906 y(functionalit)m(y)28
b(\(that)g(is,)g(de\014ne)e(the)h(sym)m(b)s(ol\))f(when)g(the)h
(library)f(is)h(found,)g(but)f(if)g(y)m(ou)h(wish)f(to)i(mak)m(e)150
3016 y(the)k(default)g(b)s(eha)m(viour)g(of)g(y)m(our)g(pac)m(k)-5
b(age)34 b(b)s(e)e(that)g(Libidn)f(is)h(not)g(used)g(\(ev)m(en)h(if)f
(it)g(is)g(installed)h(on)150 3125 y(the)e(system\),)g(c)m(hange)g(`)p
Fp(libidn=yes)p Fv(')d(to)j(`)p Fp(libidn=no)p Fv(')e(on)h(the)h(third)
e(line.)390 3258 y Fp(AC_ARG_WITH\(libidn,)43 b
(AC_HELP_STRING\([--with-)o(lib)o(idn=)o([DIR)o(]],)1917
3367 y([Support)j(IDN)h(\(needs)f(GNU)h(Libidn\)]\),)485
3477 y(libidn=$withval,)d(libidn=yes\))390 3587 y(if)j(test)g
("$libidn")e(!=)i("no";)g(then)485 3696 y(if)h(test)e("$libidn")g(!=)h
("yes";)f(then)581 3806 y(LDFLAGS="${LDFLAGS})c(-L$libidn/lib")581
3915 y(CPPFLAGS="${CPPFLAGS})g(-I$libidn/include")485
4025 y(fi)485 4134 y(AC_CHECK_HEADER\(idna.h,)581 4244
y(AC_CHECK_LIB\(idn,)h(stringprep_check_version)o(,)676
4354 y([libidn=yes)i(LIBS="${LIBS})f(-lidn"],)i(libidn=no\),)581
4463 y(libidn=no\))390 4573 y(fi)390 4682 y(if)h(test)g("$libidn")e(!=)
i("no")g(;)g(then)485 4792 y(AC_DEFINE\(LIBIDN,)d(1,)j([Define)f(to)h
(1)g(if)g(you)g(want)g(IDN)g(support.]\))390 4902 y(else)485
5011 y(AC_MSG_WARN\([Libidn)c(not)k(found]\))390 5121
y(fi)390 5230 y(AC_MSG_CHECKING\([if)c(Libidn)j(should)g(be)h(used]\))
390 5340 y(AC_MSG_RESULT\($libidn\))p eop end
%%Page: 11 16
TeXDict begin 11 15 bop 150 -116 a Fv(Chapter)30 b(2:)41
b(Preparation)2573 b(11)275 299 y(If)36 b(y)m(ou)i(require)f(that)g(y)m
(our)g(users)g(ha)m(v)m(e)h(installed)g Fp(pkg-config)c
Fv(\(whic)m(h)k(I)e(cannot)i(recommend)150 408 y(generally\),)32
b(the)f(ab)s(o)m(v)m(e)g(can)g(b)s(e)f(done)g(more)g(easily)i(as)f
(follo)m(ws.)390 543 y Fp(AC_ARG_WITH\(libidn,)43 b
(AC_HELP_STRING\([--with-)o(lib)o(idn=)o([DIR)o(]],)1917
653 y([Support)j(IDN)h(\(needs)f(GNU)h(Libidn\)]\),)485
762 y(libidn=$withval,)d(libidn=yes\))390 872 y(if)j(test)g("$libidn")e
(!=)i("no")g(;)g(then)485 981 y(PKG_CHECK_MODULES\(LIBIDN,)41
b(libidn)46 b(>=)i(0.0.0,)e([libidn=yes],)e([libidn=no]\))485
1091 y(if)k(test)e("$libidn")g(!=)h("yes")f(;)i(then)581
1200 y(libidn=no)581 1310 y(AC_MSG_WARN\([Libidn)42 b(not)47
b(found]\))485 1420 y(else)581 1529 y(libidn=yes)581
1639 y(AC_DEFINE\(LIBIDN,)c(1,)k([Define)f(to)h(1)h(if)f(you)g(want)f
(Libidn.]\))485 1748 y(fi)390 1858 y(fi)390 1968 y
(AC_MSG_CHECKING\([if)d(Libidn)j(should)g(be)h(used]\))390
2077 y(AC_MSG_RESULT\($libidn\))p eop end
%%Page: 12 17
TeXDict begin 12 16 bop 150 -116 a Fv(Chapter)30 b(3:)41
b(Utilit)m(y)32 b(F)-8 b(unctions)2369 b(12)150 299 y
Fs(3)80 b(Utilit)l(y)53 b(F)-13 b(unctions)150 536 y
Fv(The)37 b(rest)g(of)h(this)f(library)g(mak)m(es)h(extensiv)m(e)g(use)
f(of)h(Unico)s(de)f(c)m(haracters.)63 b(In)37 b(order)f(to)i(in)m
(terface)150 646 y(this)g(library)g(with)g(the)h(outside)f(w)m(orld,)i
(y)m(our)f(application)g(ma)m(y)g(need)f(to)h(mak)m(e)g(v)-5
b(arious)39 b(Unico)s(de)150 755 y(transformations.)150
990 y Fu(3.1)68 b(Header)46 b(\014le)f Fi(stringprep.h)150
1149 y Fv(T)-8 b(o)30 b(use)f(the)g(functions)g(explained)h(in)f(this)g
(c)m(hapter,)h(y)m(ou)g(need)f(to)h(include)f(the)g(\014le)h(`)p
Fp(stringprep.h)p Fv(')150 1259 y(using:)390 1394 y Fp(#include)46
b(<stringprep.h>)150 1628 y Fu(3.2)68 b(Unico)t(de)45
b(Enco)t(ding)g(T)-11 b(ransformation)3350 1838 y Fv([F)j(unction])
-3599 b Fo(int)53 b(stringprep_unichar_to)q(_utf)q(8)f
Fn(\()p Fm(uin)m(t32)p 2055 1838 28 4 v 41 w(t)31 b Fl(c)p
Fm(,)f(c)m(har)h(*)g Fl(outbuf)12 b Fn(\))390 1948 y
Fm(c)6 b Fv(:)41 b(a)30 b(ISO10646)i(c)m(haracter)g(co)s(de)390
2084 y Fm(outbuf)17 b Fv(:)47 b(output)34 b(bu\013er,)g(m)m(ust)g(ha)m
(v)m(e)h(at)g(least)g(6)f(b)m(ytes)h(of)f(space.)52 b(If)33
b Fp(NULL)p Fv(,)h(the)g(length)h(will)390 2193 y(b)s(e)30
b(computed)g(and)g(returned)f(and)h(nothing)g(will)h(b)s(e)e(written)i
(to)g Fp(outbuf)p Fv(.)390 2329 y(Con)m(v)m(erts)g(a)g(single)g(c)m
(haracter)h(to)f(UTF-8.)390 2464 y Fk(Return)f(v)-5 b(alue:)41
b Fv(n)m(um)m(b)s(er)29 b(of)i(b)m(ytes)g(written.)3350
2651 y([F)-8 b(unction])-3599 b Fo(uint32_t)55 b
(stringprep_utf8_to_unic)q(har)d Fn(\()p Fm(const)31
b(c)m(har)g(*)g Fl(p)12 b Fn(\))390 2760 y Fm(p)s Fv(:)40
b(a)31 b(p)s(oin)m(ter)f(to)h(Unico)s(de)g(c)m(haracter)h(enco)s(ded)e
(as)g(UTF-8)390 2896 y(Con)m(v)m(erts)d(a)g(sequence)g(of)g(b)m(ytes)g
(enco)s(ded)f(as)g(UTF-8)i(to)f(a)g(Unico)s(de)f(c)m(haracter.)41
b(If)26 b Fp(p)h Fv(do)s(es)f(not)390 3006 y(p)s(oin)m(t)k(to)h(a)g(v)
-5 b(alid)31 b(UTF-8)g(enco)s(ded)f(c)m(haracter,)i(results)f(are)f
(unde\014ned.)390 3141 y Fk(Return)g(v)-5 b(alue:)41
b Fv(the)31 b(resulting)f(c)m(haracter.)3350 3328 y([F)-8
b(unction])-3599 b Fo(char)54 b(*)e(stringprep_ucs4_to_utf)q(8)g
Fn(\()p Fm(const)31 b(uin)m(t32)p 2293 3328 V 41 w(t)f(*)h
Fl(str)p Fm(,)h(ssize)p 2865 3328 V 40 w(t)f Fl(len)p
Fm(,)565 3437 y(size)p 712 3437 V 41 w(t)g(*)f Fl(items_read)p
Fm(,)k(size)p 1614 3437 V 41 w(t)d(*)f Fl(items_written)12
b Fn(\))390 3547 y Fm(str)7 b Fv(:)40 b(a)31 b(UCS-4)f(enco)s(ded)g
(string)390 3682 y Fm(len)p Fv(:)39 b(the)27 b(maxim)m(um)f(length)h
(of)g Fp(str)f Fv(to)h(use.)39 b(If)26 b Fp(len)g(<)g
Fv(0,)i(then)e(the)h(string)g(is)f(terminated)h(with)390
3792 y(a)k(0)g(c)m(haracter.)390 3928 y Fm(items)p 608
3928 V 41 w(read)t Fv(:)40 b(lo)s(cation)32 b(to)f(store)g(n)m(um)m(b)s
(er)e(of)h(c)m(haracters)i(read)f(read,)f(or)g Fp(NULL)p
Fv(.)390 4063 y Fm(items)p 608 4063 V 41 w(written)p
Fv(:)57 b(lo)s(cation)41 b(to)e(store)g(n)m(um)m(b)s(er)f(of)h(b)m
(ytes)g(written)g(or)g Fp(NULL)p Fv(.)65 b(The)38 b(v)-5
b(alue)39 b(here)390 4173 y(stored)30 b(do)s(es)h(not)f(include)g(the)h
(trailing)g(0)g(b)m(yte.)390 4308 y(Con)m(v)m(ert)h(a)g(string)f(from)g
(a)g(32-bit)i(\014xed)d(width)h(represen)m(tation)h(as)g(UCS-4.)43
b(to)32 b(UTF-8.)44 b(The)390 4418 y(result)30 b(will)h(b)s(e)f
(terminated)h(with)f(a)g(0)h(b)m(yte.)390 4554 y Fk(Return)d(v)-5
b(alue:)40 b Fv(a)28 b(p)s(oin)m(ter)g(to)h(a)f(newly)g(allo)s(cated)i
(UTF-8)f(string.)40 b(This)27 b(v)-5 b(alue)29 b(m)m(ust)f(b)s(e)f
(freed)390 4663 y(with)j Fp(free\(\))p Fv(.)39 b(If)30
b(an)g(error)g(o)s(ccurs,)h Fp(NULL)e Fv(will)h(b)s(e)g(returned)f(and)
h Fp(error)f Fv(set.)3350 4850 y([F)-8 b(unction])-3599
b Fo(uint32_t)55 b(*)d(stringprep_utf8_to_uc)q(s4)g Fn(\()p
Fm(const)31 b(c)m(har)g(*)f Fl(str)p Fm(,)i(ssize)p 2918
4850 V 41 w(t)e Fl(len)p Fm(,)565 4959 y(size)p 712 4959
V 41 w(t)h(*)f Fl(items_written)12 b Fn(\))390 5069 y
Fm(str)7 b Fv(:)40 b(a)31 b(UTF-8)g(enco)s(ded)f(string)390
5204 y Fm(len)p Fv(:)40 b(the)28 b(maxim)m(um)g(length)h(of)f
Fp(str)g Fv(to)g(use.)40 b(If)28 b Fp(len)f(<)h Fv(0,)h(then)f(the)h
(string)f(is)g(n)m(ul-terminated.)390 5340 y Fm(items)p
608 5340 V 41 w(written)p Fv(:)40 b(lo)s(cation)32 b(to)f(store)g(the)g
(n)m(um)m(b)s(er)e(of)i(c)m(haracters)g(in)g(the)f(result,)h(or)f
Fp(NULL)p Fv(.)p eop end
%%Page: 13 18
TeXDict begin 13 17 bop 150 -116 a Fv(Chapter)30 b(3:)41
b(Utilit)m(y)32 b(F)-8 b(unctions)2369 b(13)390 299 y(Con)m(v)m(ert)27
b(a)f(string)g(from)f(UTF-8)i(to)g(a)f(32-bit)i(\014xed)d(width)g
(represen)m(tation)i(as)f(UCS-4,)h(assum-)390 408 y(ing)k(v)-5
b(alid)30 b(UTF-8)h(input.)40 b(This)30 b(function)g(do)s(es)g(no)g
(error)g(c)m(hec)m(king)i(on)f(the)f(input.)390 543 y
Fk(Return)f(v)-5 b(alue:)40 b Fv(a)29 b(p)s(oin)m(ter)g(to)g(a)g(newly)
g(allo)s(cated)h(UCS-4)f(string.)40 b(This)28 b(v)-5
b(alue)30 b(m)m(ust)e(b)s(e)g(freed)390 652 y(with)i
Fp(free\(\))p Fv(.)150 885 y Fu(3.3)68 b(Unico)t(de)45
b(Normalization)3350 1094 y Fv([F)-8 b(unction])-3599
b Fo(uint32_t)55 b(*)d(stringprep_ucs4_nfkc_)q(nor)q(mal)q(ize)g
Fn(\()p Fm(uin)m(t32)p 2630 1094 28 4 v 41 w(t)31 b(*)g
Fl(str)p Fm(,)565 1203 y(ssize)p 748 1203 V 41 w(t)g
Fl(len)12 b Fn(\))390 1313 y Fm(str)7 b Fv(:)40 b(a)31
b(Unico)s(de)f(string.)390 1447 y Fm(len)p Fv(:)41 b(length)31
b(of)f Fp(str)g Fv(arra)m(y)-8 b(,)31 b(or)g(-1)g(if)f
Fp(str)f Fv(is)i(n)m(ul-terminated.)390 1582 y(Con)m(v)m(erts)g(UCS4)f
(string)h(in)m(to)g(UTF-8)g(and)f(runs)f Fp(stringprep_utf8_nfkc_no)o
(rmal)o(ize)o(\(\))p Fv(.)390 1716 y Fk(Return)j(v)-5
b(alue:)45 b Fv(a)33 b(newly)f(allo)s(cated)i(Unico)s(de)f(string,)g
(that)g(is)f(the)h(NFK)m(C)g(normalized)f(form)390 1826
y(of)f Fp(str)p Fv(.)3350 2010 y([F)-8 b(unction])-3599
b Fo(char)54 b(*)e(stringprep_utf8_nfkc_n)q(orm)q(ali)q(ze)g
Fn(\()p Fm(const)31 b(c)m(har)g(*)f Fl(str)p Fm(,)i(ssize)p
3075 2010 V 41 w(t)565 2120 y Fl(len)12 b Fn(\))390 2229
y Fm(str)7 b Fv(:)40 b(a)31 b(UTF-8)g(enco)s(ded)f(string.)390
2364 y Fm(len)p Fv(:)41 b(length)31 b(of)f Fp(str)p Fv(,)g(in)g(b)m
(ytes,)h(or)f(-1)h(if)g Fp(str)e Fv(is)i(n)m(ul-terminated.)390
2498 y(Con)m(v)m(erts)22 b(a)g(string)f(in)m(to)h(canonical)h(form,)g
(standardizing)e(suc)m(h)g(issues)g(as)g(whether)g(a)g(c)m(haracter)390
2608 y(with)28 b(an)g(accen)m(t)j(is)d(represen)m(ted)g(as)h(a)f(base)h
(c)m(haracter)h(and)e(com)m(bining)g(accen)m(t)j(or)d(as)h(a)f(single)
390 2717 y(precomp)s(osed)i(c)m(haracter.)390 2852 y(The)24
b(normalization)h(mo)s(de)f(is)g(NFK)m(C)g(\(ALL)g(COMPOSE\).)g(It)g
(standardizes)g(di\013erences)g(that)390 2961 y(do)38
b(not)h(a\013ect)h(the)e(text)i(con)m(ten)m(t,)i(suc)m(h)d(as)f(the)h
(ab)s(o)m(v)m(e-men)m(tioned)h(accen)m(t)h(represen)m(tation.)390
3071 y(It)35 b(standardizes)h(the)f Fp(")p Fv(compatibilit)m(y)p
Fp(")i Fv(c)m(haracters)g(in)e(Unico)s(de,)i(suc)m(h)e(as)g
(SUPERSCRIPT)390 3180 y(THREE)24 b(to)i(the)f(standard)f(forms)g(\(in)h
(this)g(case)h(DIGIT)f(THREE\).)g(F)-8 b(ormatting)27
b(information)390 3290 y(ma)m(y)38 b(b)s(e)e(lost)i(but)e(for)g(most)i
(text)g(op)s(erations)f(suc)m(h)f(c)m(haracters)j(should)d(b)s(e)g
(considered)h(the)390 3399 y(same.)k(It)30 b(returns)f(a)i(result)f
(with)f(comp)s(osed)h(forms)g(rather)g(than)g(a)g(maximally)h(decomp)s
(osed)390 3509 y(form.)390 3643 y Fk(Return)f(v)-5 b(alue:)41
b Fv(a)31 b(newly)f(allo)s(cated)i(string,)f(that)g(is)f(the)h(NFK)m(C)
g(normalized)f(form)g(of)h Fp(str)p Fv(.)150 3876 y Fu(3.4)68
b(Character)46 b(Set)f(Con)l(v)l(ersion)3350 4085 y Fv([F)-8
b(unction])-3599 b Fo(const)54 b(char)f(*)g(stringprep_locale_char)q
(set)f Fn(\()31 b Fl(void)12 b Fn(\))390 4194 y Fv(Find)37
b(out)g(curren)m(t)h(lo)s(cale)h(c)m(harset.)62 b(The)37
b(function)g(resp)s(ect)h(the)f(CHARSET)f(en)m(vironmen)m(t)390
4304 y(v)-5 b(ariable,)29 b(but)d(t)m(ypically)j(uses)e(nl)p
1557 4304 V 40 w(langinfo\(CODESET\))g(when)f(it)i(is)f(supp)s(orted.)
38 b(It)27 b(fall)h(bac)m(k)390 4414 y(on)23 b Fp(")p
Fv(ASCI)s(I)p Fp(")f Fv(if)h(CHARSET)g(isn't)h(set)g(and)f(nl)p
2011 4414 V 40 w(langinfo)h(isn't)f(supp)s(orted)f(or)i(return)e(an)m
(ything.)390 4548 y(Note)28 b(that)g(this)f(function)g(return)f(the)h
(application's)i(lo)s(cale's)g(preferred)d(c)m(harset)i(\(or)f
(thread's)390 4658 y(lo)s(cale's)32 b(pre\013ered)e(c)m(harset,)i(if)e
(y)m(our)h(system)f(supp)s(ort)f(thread-sp)s(eci\014c)h(lo)s(cales\).)
43 b(It)31 b(do)s(es)f(not)390 4767 y(return)24 b(what)i(the)g(system)f
(ma)m(y)h(b)s(e)f(using.)39 b(Th)m(us,)26 b(if)f(y)m(ou)h(receiv)m(e)h
(data)f(from)f(external)i(sources)390 4877 y(y)m(ou)35
b(cannot)g(in)g(general)g(use)g(this)f(function)h(to)g(guess)g(what)f
(c)m(harset)i(it)f(is)g(enco)s(ded)f(in.)54 b(Use)390
4986 y(stringprep)p 802 4986 V 39 w(con)m(v)m(ert)30
b(from)e(the)h(external)h(represen)m(tation)f(in)m(to)h(the)f(c)m
(harset)g(returned)f(b)m(y)g(this)390 5096 y(function,)i(to)h(ha)m(v)m
(e)h(data)f(in)f(the)h(lo)s(cale)h(enco)s(ding.)390 5230
y Fk(Return)23 b(v)-5 b(alue:)37 b Fv(Return)23 b(the)g(c)m(haracter)i
(set)f(used)f(b)m(y)g(the)g(curren)m(t)g(lo)s(cale.)40
b(It)24 b(will)f(nev)m(er)h(return)390 5340 y(NULL,)31
b(but)e(use)h Fp(")p Fv(ASCI)s(I)p Fp(")f Fv(as)h(a)h(fallbac)m(k.)p
eop end
%%Page: 14 19
TeXDict begin 14 18 bop 150 -116 a Fv(Chapter)30 b(3:)41
b(Utilit)m(y)32 b(F)-8 b(unctions)2369 b(14)3350 299
y([F)-8 b(unction])-3599 b Fo(char)54 b(*)e(stringprep_convert)f
Fn(\()p Fm(const)31 b(c)m(har)g(*)g Fl(str)p Fm(,)g(const)g(c)m(har)g
(*)565 408 y Fl(to_codeset)p Fm(,)j(const)d(c)m(har)f(*)h
Fl(from_codeset)12 b Fn(\))390 518 y Fm(str)7 b Fv(:)40
b(input)29 b(zero-terminated)j(string.)390 653 y Fm(to)p
476 653 28 4 v 41 w(co)s(deset)r Fv(:)41 b(name)31 b(of)f(destination)i
(c)m(haracter)f(set.)390 787 y Fm(from)p 581 787 V 40
w(co)s(deset)r Fv(:)41 b(name)31 b(of)f(origin)h(c)m(haracter)h(set,)f
(as)g(used)e(b)m(y)i Fp(str)p Fv(.)390 922 y(Con)m(v)m(ert)43
b(the)g(string)f(from)g(one)g(c)m(haracter)i(set)f(to)g(another)f
(using)g(the)g(system's)h Fp(iconv\(\))390 1031 y Fv(function.)390
1166 y Fk(Return)20 b(v)-5 b(alue:)36 b Fv(Returns)20
b(newly)g(allo)s(cated)j(zero-terminated)f(string)f(whic)m(h)f(is)h
Fp(str)e Fv(transco)s(ded)390 1275 y(in)m(to)31 b(to)p
660 1275 V 41 w(co)s(deset.)3350 1460 y([F)-8 b(unction])-3599
b Fo(char)54 b(*)e(stringprep_locale_to_u)q(tf8)g Fn(\()p
Fm(const)31 b(c)m(har)g(*)g Fl(str)12 b Fn(\))390 1569
y Fm(str)7 b Fv(:)40 b(input)29 b(zero)j(terminated)e(string.)390
1704 y(Con)m(v)m(ert)24 b(string)f(enco)s(ded)g(in)g(the)g(lo)s(cale's)
i(c)m(haracter)g(set)f(in)m(to)g(UTF-8)g(b)m(y)f(using)g
Fp(stringprep_)390 1813 y(convert\(\))p Fv(.)390 1948
y Fk(Return)d(v)-5 b(alue:)36 b Fv(Returns)20 b(newly)g(allo)s(cated)j
(zero-terminated)f(string)f(whic)m(h)f(is)h Fp(str)e
Fv(transco)s(ded)390 2057 y(in)m(to)31 b(UTF-8.)3350
2242 y([F)-8 b(unction])-3599 b Fo(char)54 b(*)e
(stringprep_utf8_to_loc)q(ale)g Fn(\()p Fm(const)31 b(c)m(har)g(*)g
Fl(str)12 b Fn(\))390 2351 y Fm(str)7 b Fv(:)40 b(input)29
b(zero)j(terminated)e(string.)390 2486 y(Con)m(v)m(ert)24
b(string)f(enco)s(ded)g(in)g(UTF-8)h(in)m(to)g(the)g(lo)s(cale's)h(c)m
(haracter)f(set)g(b)m(y)f(using)g Fp(stringprep_)390
2595 y(convert\(\))p Fv(.)390 2730 y Fk(Return)d(v)-5
b(alue:)36 b Fv(Returns)20 b(newly)g(allo)s(cated)j(zero-terminated)f
(string)f(whic)m(h)f(is)h Fp(str)e Fv(transco)s(ded)390
2839 y(in)m(to)31 b(the)g(lo)s(cale's)h(c)m(haracter)g(set.)p
eop end
%%Page: 15 20
TeXDict begin 15 19 bop 150 -116 a Fv(Chapter)30 b(4:)41
b(Stringprep)29 b(F)-8 b(unctions)2209 b(15)150 299 y
Fs(4)80 b(Stringprep)52 b(F)-13 b(unctions)150 532 y
Fv(Stringprep)23 b(describ)s(es)i(a)g(framew)m(ork)g(for)f(preparing)g
(Unico)s(de)h(text)h(strings)f(in)f(order)h(to)g(increase)h(the)150
641 y(lik)m(eliho)s(o)s(d)i(that)f(string)g(input)e(and)i(string)f
(comparison)h(w)m(ork)g(in)f(w)m(a)m(ys)i(that)f(mak)m(e)h(sense)f(for)
f(t)m(ypical)150 751 y(users)i(throughout)g(the)h(w)m(orld.)40
b(The)28 b(stringprep)g(proto)s(col)i(is)e(useful)g(for)h(proto)s(col)g
(iden)m(ti\014er)g(v)-5 b(alues,)150 860 y(compan)m(y)31
b(and)f(p)s(ersonal)f(names,)i(in)m(ternationalized)i(domain)d(names,)g
(and)g(other)h(text)g(strings.)150 1092 y Fu(4.1)68 b(Header)46
b(\014le)f Fi(stringprep.h)150 1252 y Fv(T)-8 b(o)30
b(use)f(the)g(functions)g(explained)h(in)f(this)g(c)m(hapter,)h(y)m(ou)
g(need)f(to)h(include)f(the)g(\014le)h(`)p Fp(stringprep.h)p
Fv(')150 1361 y(using:)390 1495 y Fp(#include)46 b(<stringprep.h>)150
1727 y Fu(4.2)68 b(De\014ning)45 b(A)g(Stringprep)f(Pro\014le)150
1887 y Fv(F)-8 b(urther)38 b(t)m(yp)s(es)h(and)g(structures)f(are)h
(de\014ned)e(for)i(applications)h(that)f(w)m(an)m(t)h(to)g(sp)s(ecify)e
(their)h(o)m(wn)150 1996 y(stringprep)e(pro\014le.)63
b(As)38 b(these)g(are)h(fairly)f(obscure,)i(and)d(b)m(y)h(necessit)m(y)
h(tied)g(to)f(the)h(implemen)m(ta-)150 2106 y(tion,)f(w)m(e)e(do)g(not)
g(do)s(cumen)m(t)g(them)g(here.)57 b(Lo)s(ok)36 b(in)m(to)h(the)f(`)p
Fp(stringprep.h)p Fv(')d(header)j(\014le,)h(and)f(the)150
2215 y(`)p Fp(profiles.c)p Fv(')28 b(source)j(co)s(de)f(for)g(the)h
(details.)150 2447 y Fu(4.3)68 b(Con)l(trol)46 b(Flags)3072
2656 y Fv([Stringprep)29 b(\015ags])-3599 b Fo(Stringprep_profile_fla)q
(gs)59 b(STRINGPREP_NO_NFKC)390 2766 y Fv(Disable)42
b(the)g(NFK)m(C)g(normalization,)k(as)41 b(w)m(ell)i(as)e(selecting)i
(the)f(non-NFK)m(C)f(case)i(folding)390 2875 y(tables.)d(Usually)25
b(the)h(pro\014le)f(sp)s(eci\014es)g(BIDI)g(and)g(NFK)m(C)g(settings,)j
(and)d(applications)h(should)390 2985 y(not)31 b(o)m(v)m(erride)g(it)g
(unless)f(in)g(sp)s(ecial)h(situations.)3072 3168 y([Stringprep)e
(\015ags])-3599 b Fo(Stringprep_profile_fla)q(gs)59 b
(STRINGPREP_NO_BIDI)390 3278 y Fv(Disable)39 b(the)f(BIDI)g(step.)62
b(Usually)38 b(the)g(pro\014le)f(sp)s(eci\014es)h(BIDI)g(and)f(NFK)m(C)
h(settings,)j(and)390 3387 y(applications)32 b(should)d(not)i(o)m(v)m
(erride)g(it)g(unless)f(in)g(sp)s(ecial)h(situations.)3072
3571 y([Stringprep)e(\015ags])-3599 b Fo(Stringprep_profile_fla)q(gs)59
b(STRINGPREP_NO_UNASSIGNE)q(D)390 3680 y Fv(Mak)m(e)28
b(the)e(library)g(return)e(with)i(an)g(error)g(if)g(string)g(con)m
(tains)h(unassigned)e(c)m(haracters)j(accord-)390 3790
y(ing)j(to)g(pro\014le.)150 4022 y Fu(4.4)68 b(Core)46
b(F)-11 b(unctions)3350 4231 y Fv([F)j(unction])-3599
b Fo(int)53 b(stringprep_4i)d Fn(\()p Fm(uin)m(t32)p
1375 4231 28 4 v 41 w(t)31 b(*)f Fl(ucs4)p Fm(,)i(size)p
1963 4231 V 41 w(t)f(*)f Fl(len)p Fm(,)i(size)p 2499
4231 V 41 w(t)f Fl(maxucs4len)p Fm(,)565 4340 y(Stringprep)p
992 4340 V 39 w(pro\014le)p 1279 4340 V 40 w(\015ags)f
Fl(flags)p Fm(,)i(const)f(Stringprep)p 2502 4340 V 39
w(pro\014le)f(*)h Fl(profile)12 b Fn(\))390 4450 y Fm(ucs4)7
b Fv(:)41 b(input/output)30 b(arra)m(y)h(with)f(string)g(to)h(prepare.)
390 4584 y Fm(len)p Fv(:)63 b(on)41 b(input,)i(length)f(of)f(input)g
(arra)m(y)h(with)f(Unico)s(de)g(co)s(de)h(p)s(oin)m(ts,)i(on)d(exit,)k
(length)d(of)390 4694 y(output)30 b(arra)m(y)h(with)f(Unico)s(de)g(co)s
(de)h(p)s(oin)m(ts.)390 4828 y Fm(maxucs4len)p Fv(:)41
b(maxim)m(um)30 b(length)h(of)g(input/output)e(arra)m(y)-8
b(.)390 4962 y Fm(\015ags)t Fv(:)41 b(a)30 b Fp
(Stringprep_profile_flags)24 b Fv(v)-5 b(alue,)31 b(or)g(0.)390
5096 y Fm(pro\014le)5 b Fv(:)40 b(p)s(oin)m(ter)31 b(to)g
Fp(Stringprep_profile)25 b Fv(to)31 b(use.)390 5230 y(Prepare)k(the)h
(input)f(UCS-4)h(string)g(according)g(to)h(the)f(stringprep)e
(pro\014le,)j(and)e(write)h(bac)m(k)390 5340 y(the)31
b(result)f(to)h(the)g(input)e(string.)p eop end
%%Page: 16 21
TeXDict begin 16 20 bop 150 -116 a Fv(Chapter)30 b(4:)41
b(Stringprep)29 b(F)-8 b(unctions)2209 b(16)390 299 y(The)36
b(input)g(is)h(not)h(required)e(to)h(b)s(e)g(zero)h(terminated)f(\()p
Fp(ucs4)p Fv([)p Fp(len)p Fv(])f(=)g(0\).)62 b(The)36
b(output)h(will)390 408 y(not)28 b(b)s(e)g(zero)h(terminated)f(unless)g
Fp(ucs4)p Fv([)p Fp(len)p Fv(])e(=)i(0.)40 b(Instead,)29
b(see)f Fp(stringprep_4zi\(\))c Fv(if)k(y)m(our)390 518
y(input)h(is)i(zero)g(terminated)g(or)f(if)h(y)m(ou)f(w)m(an)m(t)i(the)
e(output)g(to)h(b)s(e.)390 654 y(Since)c(the)h(stringprep)f(op)s
(eration)h(can)f(expand)g(the)h(string,)g Fp(maxucs4len)d
Fv(indicate)j(ho)m(w)g(large)390 764 y(the)35 b(bu\013er)e(holding)i
(the)g(string)f(is.)53 b(This)34 b(function)g(will)h(not)g(read)g(or)f
(write)h(to)g(co)s(de)g(p)s(oin)m(ts)390 873 y(outside)c(that)g(size.)
390 1009 y(The)f Fp(flags)f Fv(are)i(one)f(of)h Fp
(Stringprep_profile_flag)o(s)25 b Fv(v)-5 b(alues,)30
b(or)h(0.)390 1145 y(The)f Fp(profile)f Fv(con)m(tain)k(the)e
Fp(Stringprep_profile)26 b Fv(instructions)k(to)i(p)s(erform.)41
b(Y)-8 b(our)31 b(appli-)390 1255 y(cation)41 b(can)g(de\014ne)e(new)g
(pro\014les,)k(p)s(ossibly)c(re-using)g(the)i(generic)g(stringprep)e
(tables)h(that)390 1364 y(alw)m(a)m(ys)32 b(will)f(b)s(e)e(part)i(of)f
(the)h(library)-8 b(,)30 b(or)h(use)f(one)g(of)h(the)g(curren)m(tly)f
(supp)s(orted)e(pro\014les.)390 1500 y Fk(Return)21 b(v)-5
b(alue:)36 b Fv(Returns)20 b Fp(STRINGPREP_OK)e Fv(i\013)j(successful,)
i(or)e(an)f Fp(Stringprep_rc)e Fv(error)i(co)s(de.)3350
1688 y([F)-8 b(unction])-3599 b Fo(int)53 b(stringprep_4zi)d
Fn(\()p Fm(uin)m(t32)p 1427 1688 28 4 v 41 w(t)31 b(*)g
Fl(ucs4)p Fm(,)g(size)p 2015 1688 V 41 w(t)g Fl(maxucs4len)p
Fm(,)565 1797 y(Stringprep)p 992 1797 V 39 w(pro\014le)p
1279 1797 V 40 w(\015ags)f Fl(flags)p Fm(,)i(const)f(Stringprep)p
2502 1797 V 39 w(pro\014le)f(*)h Fl(profile)12 b Fn(\))390
1907 y Fm(ucs4)7 b Fv(:)41 b(input/output)30 b(arra)m(y)h(with)f(zero)h
(terminated)g(string)f(to)h(prepare.)390 2043 y Fm(maxucs4len)p
Fv(:)41 b(maxim)m(um)30 b(length)h(of)g(input/output)e(arra)m(y)-8
b(.)390 2179 y Fm(\015ags)t Fv(:)41 b(a)30 b Fp
(Stringprep_profile_flags)24 b Fv(v)-5 b(alue,)31 b(or)g(0.)390
2315 y Fm(pro\014le)5 b Fv(:)40 b(p)s(oin)m(ter)31 b(to)g
Fp(Stringprep_profile)25 b Fv(to)31 b(use.)390 2451 y(Prepare)i(the)g
(input)f(zero)i(terminated)g(UCS-4)f(string)g(according)h(to)g(the)f
(stringprep)f(pro\014le,)390 2561 y(and)e(write)g(bac)m(k)h(the)g
(result)f(to)h(the)g(input)e(string.)390 2697 y(Since)e(the)h
(stringprep)f(op)s(eration)h(can)f(expand)g(the)h(string,)g
Fp(maxucs4len)d Fv(indicate)j(ho)m(w)g(large)390 2806
y(the)35 b(bu\013er)e(holding)i(the)g(string)f(is.)53
b(This)34 b(function)g(will)h(not)g(read)g(or)f(write)h(to)g(co)s(de)g
(p)s(oin)m(ts)390 2916 y(outside)c(that)g(size.)390 3052
y(The)f Fp(flags)f Fv(are)i(one)f(of)h Fp(Stringprep_profile_flag)o(s)
25 b Fv(v)-5 b(alues,)30 b(or)h(0.)390 3188 y(The)f Fp(profile)f
Fv(con)m(tain)k(the)e Fp(Stringprep_profile)26 b Fv(instructions)k(to)i
(p)s(erform.)41 b(Y)-8 b(our)31 b(appli-)390 3297 y(cation)41
b(can)g(de\014ne)e(new)g(pro\014les,)k(p)s(ossibly)c(re-using)g(the)i
(generic)g(stringprep)e(tables)h(that)390 3407 y(alw)m(a)m(ys)32
b(will)f(b)s(e)e(part)i(of)f(the)h(library)-8 b(,)30
b(or)h(use)f(one)g(of)h(the)g(curren)m(tly)f(supp)s(orted)e
(pro\014les.)390 3543 y Fk(Return)21 b(v)-5 b(alue:)36
b Fv(Returns)20 b Fp(STRINGPREP_OK)e Fv(i\013)j(successful,)i(or)e(an)f
Fp(Stringprep_rc)e Fv(error)i(co)s(de.)3350 3730 y([F)-8
b(unction])-3599 b Fo(int)53 b(stringprep)c Fn(\()p Fm(c)m(har)31
b(*)g Fl(in)p Fm(,)g(size)p 1546 3730 V 41 w(t)f Fl(maxlen)p
Fm(,)j(Stringprep)p 2443 3730 V 38 w(pro\014le)p 2729
3730 V 40 w(\015ags)565 3840 y Fl(flags)p Fm(,)f(const)f(Stringprep)p
1547 3840 V 39 w(pro\014le)f(*)h Fl(profile)12 b Fn(\))390
3950 y Fm(in)p Fv(:)40 b(input/ouput)30 b(arra)m(y)g(with)h(string)f
(to)h(prepare.)390 4086 y Fm(maxlen)p Fv(:)41 b(maxim)m(um)30
b(length)h(of)g(input/output)e(arra)m(y)-8 b(.)390 4222
y Fm(\015ags)t Fv(:)41 b(a)30 b Fp(Stringprep_profile_flags)24
b Fv(v)-5 b(alue,)31 b(or)g(0.)390 4358 y Fm(pro\014le)5
b Fv(:)40 b(p)s(oin)m(ter)31 b(to)g Fp(Stringprep_profile)25
b Fv(to)31 b(use.)390 4494 y(Prepare)h(the)h(input)e(zero)i(terminated)
g(UTF-8)g(string)f(according)h(to)g(the)g(stringprep)e(pro\014le,)390
4603 y(and)f(write)g(bac)m(k)h(the)g(result)f(to)h(the)g(input)e
(string.)390 4739 y(Note)34 b(that)f(y)m(ou)g(m)m(ust)g(con)m(v)m(ert)h
(strings)e(en)m(tered)h(in)g(the)f(systems)h(lo)s(cale)h(in)m(to)g
(UTF-8)f(b)s(efore)390 4849 y(using)d(this)g(function,)g(see)h
Fp(stringprep_locale_to_utf8\()o(\))p Fv(.)390 4985 y(Since)g(the)f
(stringprep)g(op)s(eration)h(can)g(expand)f(the)h(string,)g
Fp(maxlen)e Fv(indicate)i(ho)m(w)g(large)h(the)390 5094
y(bu\013er)27 b(holding)g(the)h(string)g(is.)40 b(This)27
b(function)g(will)h(not)g(read)f(or)h(write)g(to)h(c)m(haracters)g
(outside)390 5204 y(that)i(size.)390 5340 y(The)f Fp(flags)f
Fv(are)i(one)f(of)h Fp(Stringprep_profile_flag)o(s)25
b Fv(v)-5 b(alues,)30 b(or)h(0.)p eop end
%%Page: 17 22
TeXDict begin 17 21 bop 150 -116 a Fv(Chapter)30 b(4:)41
b(Stringprep)29 b(F)-8 b(unctions)2209 b(17)390 299 y(The)30
b Fp(profile)f Fv(con)m(tain)k(the)e Fp(Stringprep_profile)26
b Fv(instructions)k(to)i(p)s(erform.)41 b(Y)-8 b(our)31
b(appli-)390 408 y(cation)41 b(can)g(de\014ne)e(new)g(pro\014les,)k(p)s
(ossibly)c(re-using)g(the)i(generic)g(stringprep)e(tables)h(that)390
518 y(alw)m(a)m(ys)32 b(will)f(b)s(e)e(part)i(of)f(the)h(library)-8
b(,)30 b(or)h(use)f(one)g(of)h(the)g(curren)m(tly)f(supp)s(orted)e
(pro\014les.)390 658 y Fk(Return)i(v)-5 b(alue:)41 b
Fv(Returns)30 b Fp(STRINGPREP_OK)c Fv(i\013)31 b(successful,)f(or)h(an)
f(error)g(co)s(de.)3350 854 y([F)-8 b(unction])-3599
b Fo(int)53 b(stringprep_profile)e Fn(\()p Fm(const)31
b(c)m(har)g(*)g Fl(in)p Fm(,)g(c)m(har)g(**)g Fl(out)p
Fm(,)g(const)g(c)m(har)g(*)565 964 y Fl(profile)p Fm(,)i(Stringprep)p
1414 964 28 4 v 38 w(pro\014le)p 1700 964 V 40 w(\015ags)e
Fl(flags)12 b Fn(\))390 1074 y Fm(in)p Fv(:)40 b(input)30
b(arra)m(y)h(with)f(UTF-8)h(string)f(to)h(prepare.)390
1214 y Fm(out)r Fv(:)41 b(output)30 b(v)-5 b(ariable)31
b(with)f(p)s(oin)m(ter)h(to)g(newly)f(allo)s(cate)j(string.)390
1354 y Fm(pro\014le)5 b Fv(:)40 b(name)31 b(of)f(stringprep)g
(pro\014le)g(to)h(use.)390 1495 y Fm(\015ags)t Fv(:)41
b(a)30 b Fp(Stringprep_profile_flags)24 b Fv(v)-5 b(alue,)31
b(or)g(0.)390 1635 y(Prepare)h(the)h(input)e(zero)i(terminated)g(UTF-8)
g(string)f(according)h(to)g(the)g(stringprep)e(pro\014le,)390
1744 y(and)f(return)f(the)i(result)f(in)g(a)h(newly)f(allo)s(cated)i(v)
-5 b(ariable.)390 1885 y(Note)34 b(that)f(y)m(ou)g(m)m(ust)g(con)m(v)m
(ert)h(strings)e(en)m(tered)h(in)g(the)f(systems)h(lo)s(cale)h(in)m(to)
g(UTF-8)f(b)s(efore)390 1994 y(using)d(this)g(function,)g(see)h
Fp(stringprep_locale_to_utf8\()o(\))p Fv(.)390 2135 y(The)f(output)g
Fp(out)f Fv(v)-5 b(ariable)31 b(m)m(ust)g(b)s(e)e(deallo)s(cated)k(b)m
(y)d(the)h(caller.)390 2275 y(The)f Fp(flags)f Fv(are)i(one)f(of)h
Fp(Stringprep_profile_flag)o(s)25 b Fv(v)-5 b(alues,)30
b(or)h(0.)390 2415 y(The)k Fp(profile)f Fv(sp)s(eci\014es)i(the)g(name)
g(of)g(the)g(stringprep)f(pro\014le)g(to)i(use.)57 b(It)36
b(m)m(ust)f(b)s(e)h(one)g(of)390 2525 y(the)31 b(in)m(ternally)g(supp)s
(orted)d(stringprep)i(pro\014les.)390 2665 y Fk(Return)g(v)-5
b(alue:)41 b Fv(Returns)30 b Fp(STRINGPREP_OK)c Fv(i\013)31
b(successful,)f(or)h(an)f(error)g(co)s(de.)150 2906 y
Fu(4.5)68 b(Error)45 b(Handling)3350 3121 y Fv([F)-8
b(unction])-3599 b Fo(const)54 b(char)f(*)g(stringprep_strerror)e
Fn(\()p Fm(Stringprep)p 2331 3121 V 39 w(rc)31 b Fl(rc)12
b Fn(\))390 3231 y Fm(rc)6 b Fv(:)40 b(a)31 b Fp(Stringprep_rc)c
Fv(return)i(co)s(de.)390 3371 y(Con)m(v)m(ert)35 b(a)f(return)e(co)s
(de)i(in)m(teger)i(to)e(a)g(text)h(string.)51 b(This)33
b(string)h(can)g(b)s(e)f(used)g(to)h(output)g(a)390 3481
y(diagnostic)e(message)f(to)g(the)g(user.)390 3621 y
Fk(STRINGPREP)p 1010 3621 28 5 v 40 w(OK:)23 b Fv(Successful)f(op)s
(eration.)39 b(This)22 b(v)-5 b(alue)23 b(is)f(guaran)m(teed)i(to)f
(alw)m(a)m(ys)h(b)s(e)e(zero,)390 3731 y(the)h(remaining)f(ones)h(are)g
(only)g(guaran)m(teed)g(to)g(hold)g(non-zero)g(v)-5 b(alues,)24
b(for)f(logical)i(comparison)390 3840 y(purp)s(oses.)390
3981 y Fk(STRINGPREP)p 1010 3981 V 40 w(CONT)-8 b(AINS)p
1537 3981 V 41 w(UNASSIGNED:)61 b Fv(String)g(con)m(tain)j(unassigned)d
(Unico)s(de)390 4090 y(co)s(de)31 b(p)s(oin)m(ts,)f(whic)m(h)g(is)h
(forbidden)d(b)m(y)j(the)f(pro\014le.)390 4231 y Fk(STRINGPREP)p
1010 4231 V 40 w(CONT)-8 b(AINS)p 1537 4231 V 41 w(PR)m(OHIBITED:)38
b Fv(String)g(con)m(tain)i(co)s(de)e(p)s(oin)m(ts)h(prohibited)390
4340 y(b)m(y)30 b(the)h(pro\014le.)390 4481 y Fk(STRINGPREP)p
1010 4481 V 40 w(BIDI)p 1257 4481 V 40 w(BOTH)p 1564
4481 V 40 w(L)p 1659 4481 V 40 w(AND)p 1909 4481 V 39
w(RAL:)23 b Fv(String)g(con)m(tain)i(co)s(de)e(p)s(oin)m(ts)h(with)f
(con\015ict-)390 4590 y(ing)31 b(bidirection)f(category)-8
b(.)390 4731 y Fk(STRINGPREP)p 1010 4731 V 40 w(BIDI)p
1257 4731 V 40 w(LEADTRAIL)p 1843 4731 V 38 w(NOT)p 2083
4731 V 41 w(RAL:)44 b Fv(Leading)h(and)f(trailing)i(c)m(haracter)g(in)
390 4840 y(string)30 b(not)h(of)f(prop)s(er)f(bidirectional)j(category)
-8 b(.)390 4980 y Fk(STRINGPREP)p 1010 4980 V 40 w(BIDI)p
1257 4980 V 40 w(CONT)g(AINS)p 1784 4980 V 40 w(PR)m(OHIBITED:)32
b Fv(Con)m(tains)g(prohibited)f(co)s(de)h(p)s(oin)m(ts)390
5090 y(detected)g(b)m(y)e(bidirectional)h(co)s(de.)390
5230 y Fk(STRINGPREP)p 1010 5230 V 40 w(TOO)p 1249 5230
V 41 w(SMALL)p 1606 5230 V 39 w(BUFFER:)37 b Fv(Bu\013er)h(handed)e(to)
j(function)e(w)m(as)i(to)s(o)f(small.)390 5340 y(This)30
b(usually)g(indicate)h(a)g(problem)f(in)g(the)g(calling)i(application.)
p eop end
%%Page: 18 23
TeXDict begin 18 22 bop 150 -116 a Fv(Chapter)30 b(4:)41
b(Stringprep)29 b(F)-8 b(unctions)2209 b(18)390 299 y
Fk(STRINGPREP)p 1010 299 28 5 v 40 w(PR)m(OFILE)p 1454
299 V 41 w(ERR)m(OR:)41 b Fv(The)g(stringprep)g(pro\014le)f(w)m(as)i
(inconsisten)m(t.)75 b(This)390 408 y(usually)30 b(indicate)i(an)e(in)m
(ternal)h(error)f(in)g(the)h(library)-8 b(.)390 540 y
Fk(STRINGPREP)p 1010 540 V 40 w(FLA)m(G)p 1299 540 V
41 w(ERR)m(OR:)31 b Fv(The)g(supplied)f(\015ag)h(con\015icted)h(with)e
(pro\014le.)43 b(This)30 b(usu-)390 650 y(ally)h(indicate)h(a)e
(problem)g(in)g(the)h(calling)h(application.)390 782
y Fk(STRINGPREP)p 1010 782 V 40 w(UNKNO)m(WN)p 1563 782
V 42 w(PR)m(OFILE:)j Fv(The)f(supplied)g(pro\014le)g(name)h(w)m(as)g
(not)g(kno)m(wn)390 891 y(to)c(the)g(library)-8 b(.)390
1023 y Fk(STRINGPREP)p 1010 1023 V 40 w(NFK)m(C)p 1312
1023 V 41 w(F)e(AILED:)30 b Fv(The)g(Unico)s(de)h(NFK)m(C)g(op)s
(eration)g(failed.)43 b(This)30 b(usually)390 1133 y(indicate)h(an)g
(in)m(ternal)g(error)f(in)g(the)g(library)-8 b(.)390
1265 y Fk(STRINGPREP)p 1010 1265 V 40 w(MALLOC)p 1449
1265 V 39 w(ERR)m(OR:)31 b Fv(The)e Fp(malloc\(\))f Fv(w)m(as)i(out)g
(of)g(memory)-8 b(.)41 b(This)29 b(is)h(usu-)390 1374
y(ally)h(a)g(fatal)h(error.)390 1506 y Fk(Return)d(v)-5
b(alue:)40 b Fv(Returns)29 b(a)g(p)s(oin)m(ter)h(to)g(a)f(statically)j
(allo)s(cated)f(string)f(con)m(taining)h(a)e(descrip-)390
1616 y(tion)i(of)f(the)h(error)f(with)g(the)h(return)e(co)s(de)h
Fp(rc)p Fv(.)150 1843 y Fu(4.6)68 b(Stringprep)45 b(Pro\014le)g(Macros)
3350 2047 y Fv([F)-8 b(unction])-3599 b Fo(int)53 b
(stringprep_nameprep_n)q(o_un)q(ass)q(ign)q(ed)f Fn(\()p
Fm(c)m(har)31 b(*)g Fl(in)p Fm(,)g(in)m(t)g Fl(maxlen)12
b Fn(\))390 2157 y Fm(in)p Fv(:)40 b(input/ouput)30 b(arra)m(y)g(with)h
(string)f(to)h(prepare.)390 2289 y Fm(maxlen)p Fv(:)41
b(maxim)m(um)30 b(length)h(of)g(input/output)e(arra)m(y)-8
b(.)390 2421 y(Prepare)31 b(the)g(input)f(UTF-8)i(string)f(according)h
(to)g(the)f(nameprep)f(pro\014le.)43 b(The)30 b(Allo)m(wUnas-)390
2530 y(signed)j(\015ag)g(is)g(false,)h(use)f Fp(stringprep_nameprep)28
b Fv(for)k(true)h(Allo)m(wUnassigned.)50 b(Returns)32
b(0)390 2640 y(i\013)f(successful,)f(or)g(an)h(error)f(co)s(de.)3350
2816 y([F)-8 b(unction])-3599 b Fo(int)53 b(stringprep_iscsi)e
Fn(\()p Fm(c)m(har)31 b(*)f Fl(in)p Fm(,)i(in)m(t)e Fl(maxlen)12
b Fn(\))390 2926 y Fm(in)p Fv(:)40 b(input/ouput)30 b(arra)m(y)g(with)h
(string)f(to)h(prepare.)390 3058 y Fm(maxlen)p Fv(:)41
b(maxim)m(um)30 b(length)h(of)g(input/output)e(arra)m(y)-8
b(.)390 3190 y(Prepare)32 b(the)g(input)e(UTF-8)j(string)f(according)h
(to)f(the)g(draft)f(iSCSI)g(stringprep)g(pro\014le.)44
b(Re-)390 3299 y(turns)29 b(0)i(i\013)f(successful,)h(or)f(an)g(error)g
(co)s(de.)3350 3476 y([F)-8 b(unction])-3599 b Fo(int)53
b(stringprep_plain)e Fn(\()p Fm(c)m(har)31 b(*)f Fl(in)p
Fm(,)i(in)m(t)e Fl(maxlen)12 b Fn(\))390 3585 y Fm(in)p
Fv(:)40 b(input/ouput)30 b(arra)m(y)g(with)h(string)f(to)h(prepare.)390
3717 y Fm(maxlen)p Fv(:)41 b(maxim)m(um)30 b(length)h(of)g
(input/output)e(arra)m(y)-8 b(.)390 3849 y(Prepare)29
b(the)g(input)f(UTF-8)i(string)f(according)h(to)g(the)f(draft)g(SASL)f
(ANONYMOUS)h(pro\014le.)390 3959 y(Returns)g(0)i(i\013)g(successful,)f
(or)h(an)f(error)g(co)s(de.)3350 4135 y([F)-8 b(unction])-3599
b Fo(int)53 b(stringprep_xmpp_nodep)q(rep)f Fn(\()p Fm(c)m(har)31
b(*)g Fl(in)p Fm(,)g(in)m(t)g Fl(maxlen)12 b Fn(\))390
4245 y Fm(in)p Fv(:)40 b(input/ouput)30 b(arra)m(y)g(with)h(string)f
(to)h(prepare.)390 4377 y Fm(maxlen)p Fv(:)41 b(maxim)m(um)30
b(length)h(of)g(input/output)e(arra)m(y)-8 b(.)390 4509
y(Prepare)29 b(the)g(input)f(UTF-8)h(string)g(according)h(to)f(the)g
(draft)g(XMPP)g(no)s(de)f(iden)m(ti\014er)h(pro\014le.)390
4618 y(Returns)g(0)i(i\013)g(successful,)f(or)h(an)f(error)g(co)s(de.)
3350 4795 y([F)-8 b(unction])-3599 b Fo(int)53 b(stringprep_xmpp_resou)
q(rcep)q(rep)f Fn(\()p Fm(c)m(har)31 b(*)g Fl(in)p Fm(,)g(in)m(t)g
Fl(maxlen)12 b Fn(\))390 4904 y Fm(in)p Fv(:)40 b(input/ouput)30
b(arra)m(y)g(with)h(string)f(to)h(prepare.)390 5036 y
Fm(maxlen)p Fv(:)41 b(maxim)m(um)30 b(length)h(of)g(input/output)e
(arra)m(y)-8 b(.)390 5168 y(Prepare)44 b(the)g(input)f(UTF-8)i(string)f
(according)h(to)g(the)f(draft)f(XMPP)i(resource)f(iden)m(ti\014er)390
5278 y(pro\014le.)c(Returns)30 b(0)h(i\013)f(successful,)h(or)f(an)g
(error)g(co)s(de.)p eop end
%%Page: 19 24
TeXDict begin 19 23 bop 150 -116 a Fv(Chapter)30 b(5:)41
b(Pun)m(yco)s(de)30 b(F)-8 b(unctions)2241 b(19)150 299
y Fs(5)80 b(Pun)l(yco)t(de)53 b(F)-13 b(unctions)150
529 y Fv(Pun)m(yco)s(de)31 b(is)h(a)g(simple)g(and)f(e\016cien)m(t)j
(transfer)d(enco)s(ding)h(syn)m(tax)g(designed)g(for)g(use)f(with)h(In)
m(terna-)150 639 y(tionalized)d(Domain)f(Names)g(in)f(Applications.)41
b(It)27 b(uniquely)g(and)g(rev)m(ersibly)g(transforms)g(a)h(Unico)s(de)
150 749 y(string)33 b(in)m(to)h(an)e(ASCI)s(I)g(string.)48
b(ASCI)s(I)31 b(c)m(haracters)j(in)f(the)g(Unico)s(de)g(string)g(are)g
(represen)m(ted)g(liter-)150 858 y(ally)-8 b(,)27 b(and)c(non-ASCI)s(I)
f(c)m(haracters)j(are)g(represen)m(ted)e(b)m(y)h(ASCI)s(I)f(c)m
(haracters)i(that)f(are)h(allo)m(w)m(ed)g(in)f(host)150
968 y(name)33 b(lab)s(els)g(\(letters,)i(digits,)g(and)d(h)m(yphens\).)
47 b(A)33 b(general)h(algorithm)g(called)g(Bo)s(otstring)g(allo)m(ws)h
(a)150 1077 y(string)i(of)h(basic)f(co)s(de)h(p)s(oin)m(ts)f(to)h
(uniquely)e(represen)m(t)i(an)m(y)f(string)g(of)h(co)s(de)f(p)s(oin)m
(ts)g(dra)m(wn)g(from)g(a)150 1187 y(larger)i(set.)65
b(Pun)m(yco)s(de)38 b(is)g(an)g(instance)h(of)f(Bo)s(otstring)i(that)e
(uses)g(particular)h(parameter)f(v)-5 b(alues,)150 1297
y(appropriate)30 b(for)h(IDNA.)150 1528 y Fu(5.1)68 b(Header)46
b(\014le)f Fi(punycode.h)150 1687 y Fv(T)-8 b(o)36 b(use)g(the)g
(functions)g(explained)g(in)g(this)g(c)m(hapter,)i(y)m(ou)f(need)e(to)i
(include)f(the)g(\014le)g(`)p Fp(punycode.h)p Fv(')150
1797 y(using:)390 1930 y Fp(#include)46 b(<punycode.h>)150
2161 y Fu(5.2)68 b(Unico)t(de)45 b(Co)t(de)g(P)l(oin)l(t)h(Data)g(T)l
(yp)t(e)150 2321 y Fv(The)28 b(pun)m(yco)s(de)g(function)h(uses)f(a)h
(sp)s(ecial)g(t)m(yp)s(e)g(to)h(denote)f(Unico)s(de)g(co)s(de)g(p)s
(oin)m(ts.)40 b(It)29 b(is)g(guaran)m(teed)150 2430 y(to)i(alw)m(a)m
(ys)h(b)s(e)e(a)h(32)g(bit)f(unsigned)f(in)m(teger.)2511
2613 y([Pun)m(yco)s(de)i(Unico)s(de)f(co)s(de)h(p)s(oin)m(t])-3600
b Fo(uint32_t)55 b(punycode_uint)390 2722 y Fv(A)30 b(unsigned)g(in)m
(teger)i(that)f(hold)f(Unico)s(de)g(co)s(de)h(p)s(oin)m(ts.)150
2953 y Fu(5.3)68 b(Core)46 b(F)-11 b(unctions)150 3113
y Fv(Note)45 b(that)g(the)f(curren)m(t)f(implemen)m(tation)j(will)e
(fail)g(if)g(the)g Fp(input_length)d Fv(exceed)j(4294967295)150
3222 y(\(the)37 b(size)g(of)f Fp(punycode_uint)p Fv(\).)55
b(This)35 b(restriction)j(ma)m(y)e(b)s(e)g(remo)m(v)m(ed)h(in)f(the)g
(future.)58 b(Mean)m(while)150 3332 y(applications)39
b(are)f(encouraged)g(to)h(not)f(dep)s(end)e(on)h(this)h(problem,)h(and)
e(use)g Fp(sizeof)f Fv(to)j(initialize)150 3441 y Fp(input_length)27
b Fv(and)j Fp(output_length)p Fv(.)275 3575 y(The)f(functions)h(pro)m
(vided)g(are)h(the)g(follo)m(wing)g(t)m(w)m(o)h(en)m(try)f(p)s(oin)m
(ts:)3350 3757 y([F)-8 b(unction])-3599 b Fo(int)53 b(punycode_encode)d
Fn(\()p Fm(size)p 1371 3757 28 4 v 41 w(t)31 b Fl(input_length)p
Fm(,)j(const)d(pun)m(yco)s(de)p 2776 3757 V 39 w(uin)m(t)g
Fh([])565 3867 y Fl(input)p Fm(,)h(const)f(unsigned)e(c)m(har)i
Fh([])f Fl(case_flags)p Fm(,)k(size)p 2511 3867 V 41
w(t)c(*)h Fl(output_length)p Fm(,)k(c)m(har)30 b Fh([])565
3977 y Fl(output)12 b Fn(\))390 4086 y Fm(input)p 609
4086 V 39 w(length)p Fv(:)40 b(The)28 b(n)m(um)m(b)s(er)g(of)g(co)s(de)
h(p)s(oin)m(ts)g(in)f(the)h Fp(input)e Fv(arra)m(y)i(and)f(the)h(n)m
(um)m(b)s(er)e(of)i(\015ags)390 4196 y(in)h(the)h Fp(case_flags)c
Fv(arra)m(y)-8 b(.)390 4329 y Fm(input)r Fv(:)66 b(An)43
b(arra)m(y)h(of)f(co)s(de)h(p)s(oin)m(ts.)80 b(They)43
b(are)h(presumed)e(to)i(b)s(e)f(Unico)s(de)g(co)s(de)h(p)s(oin)m(ts,)
390 4439 y(but)29 b(that)i(is)f(not)g(strictly)h(REQUIRED.)f(The)f
(arra)m(y)i(con)m(tains)g(co)s(de)f(p)s(oin)m(ts,)g(not)g(co)s(de)g
(units.)390 4549 y(UTF-16)g(uses)e(co)s(de)h(units)g(D800)h(through)e
(DFFF)i(to)g(refer)f(to)g(co)s(de)g(p)s(oin)m(ts)g(10000..10FFFF.)390
4658 y(The)37 b(co)s(de)h(p)s(oin)m(ts)g(D800..DFFF)k(do)37
b(not)i(o)s(ccur)e(in)h(an)m(y)g(v)-5 b(alid)38 b(Unico)s(de)g(string.)
63 b(The)38 b(co)s(de)390 4768 y(p)s(oin)m(ts)26 b(that)h(can)f(o)s
(ccur)g(in)g(Unico)s(de)g(strings)g(\(0..D7FF)i(and)e(E000..10FFFF\))k
(are)d(also)g(called)390 4877 y(Unico)s(de)k(scalar)g(v)-5
b(alues.)390 5011 y Fm(case)p 557 5011 V 41 w(\015ags)t
Fv(:)41 b(A)31 b Fp(NULL)f Fv(p)s(oin)m(ter)g(or)h(an)g(arra)m(y)g(of)g
(b)s(o)s(olean)f(v)-5 b(alues)31 b(parallel)h(to)g(the)f
Fp(input)e Fv(arra)m(y)-8 b(.)390 5121 y(Nonzero)31 b(\(true,)g
(\015agged\))h(suggests)f(that)g(the)f(corresp)s(onding)g(Unico)s(de)g
(c)m(haracter)i(b)s(e)e(forced)390 5230 y(to)39 b(upp)s(ercase)e(after)
i(b)s(eing)f(deco)s(ded)g(\(if)g(p)s(ossible\),)j(and)c(zero)i
(\(false,)j(un\015agged\))c(suggests)390 5340 y(that)f(it)h(b)s(e)e
(forced)h(to)g(lo)m(w)m(ercase)i(\(if)e(p)s(ossible\).)60
b(ASCI)s(I)35 b(co)s(de)i(p)s(oin)m(ts)g(\(0..7F\))i(are)e(enco)s(ded)p
eop end
%%Page: 20 25
TeXDict begin 20 24 bop 150 -116 a Fv(Chapter)30 b(5:)41
b(Pun)m(yco)s(de)30 b(F)-8 b(unctions)2241 b(20)390 299
y(literally)-8 b(,)33 b(except)f(that)g(ASCI)s(I)d(letters)j(are)f
(forced)g(to)g(upp)s(ercase)f(or)h(lo)m(w)m(ercase)i(according)f(to)390
408 y(the)e(corresp)s(onding)f(case)i(\015ags.)41 b(If)29
b Fp(case_flags)e Fv(is)j(a)g Fp(NULL)f Fv(p)s(oin)m(ter)h(then)f(ASCI)
s(I)g(letters)i(are)390 518 y(left)g(as)g(they)f(are,)h(and)f(other)h
(co)s(de)f(p)s(oin)m(ts)g(are)h(treated)h(as)e(un\015agged.)390
688 y Fm(output)p 664 688 28 4 v 40 w(length)p Fv(:)40
b(The)28 b(caller)i(passes)f(in)f(the)h(maxim)m(um)g(n)m(um)m(b)s(er)f
(of)g(ASCI)s(I)g(co)s(de)h(p)s(oin)m(ts)f(that)390 798
y(it)k(can)g(receiv)m(e.)45 b(On)31 b(successful)g(return)f(it)i(will)g
(con)m(tain)g(the)g(n)m(um)m(b)s(er)e(of)i(ASCI)s(I)d(co)s(de)j(p)s
(oin)m(ts)390 907 y(actually)g(output.)390 1077 y Fm(output)r
Fv(:)49 b(An)34 b(arra)m(y)h(of)f(ASCI)s(I)f(co)s(de)i(p)s(oin)m(ts.)53
b(It)35 b(is)f(*not*)i(n)m(ull-terminated;)i(it)d(will)g(con)m(tain)390
1187 y(zeros)29 b(if)f(and)g(only)g(if)g(the)g Fp(input)f
Fv(con)m(tains)i(zeros.)41 b(\(Of)28 b(course)g(the)h(caller)g(can)g
(lea)m(v)m(e)h(ro)s(om)e(for)390 1296 y(a)j(terminator)g(and)f(add)f
(one)i(if)f(needed.\))390 1466 y(Con)m(v)m(erts)k(a)g(sequence)f(of)h
(co)s(de)f(p)s(oin)m(ts)g(\(presumed)f(to)i(b)s(e)f(Unico)s(de)g(co)s
(de)h(p)s(oin)m(ts\))f(to)h(Pun)m(y-)390 1576 y(co)s(de.)390
1746 y Fk(Return)g(v)-5 b(alue:)49 b Fv(The)33 b(return)g(v)-5
b(alue)35 b(can)g(b)s(e)e(an)m(y)i(of)f(the)h Fp(Punycode_status)30
b Fv(v)-5 b(alues)34 b(de\014ned)390 1855 y(ab)s(o)m(v)m(e)41
b(except)g Fp(PUNYCODE_BAD_INPUT)p Fv(.)65 b(If)39 b(not)h
Fp(PUNYCODE_SUCCESS)p Fv(,)e(then)i Fp(output_size)390
1965 y Fv(and)30 b Fp(output)e Fv(migh)m(t)k(con)m(tain)f(garbage.)3350
2220 y([F)-8 b(unction])-3599 b Fo(int)53 b(punycode_decode)d
Fn(\()p Fm(size)p 1371 2220 V 41 w(t)29 b Fl(input_length)p
Fm(,)j(const)d(c)m(har)f Fh([])g Fl(input)p Fm(,)i(size)p
3130 2220 V 41 w(t)565 2330 y(*)h Fl(output_length)p
Fm(,)j(pun)m(yco)s(de)p 1759 2330 V 40 w(uin)m(t)c Fh([])g
Fl(output)p Fm(,)i(unsigned)e(c)m(har)h Fh([])f Fl(case_flags)12
b Fn(\))390 2439 y Fm(input)p 609 2439 V 39 w(length)p
Fv(:)41 b(The)30 b(n)m(um)m(b)s(er)f(of)i(ASCI)s(I)e(co)s(de)h(p)s(oin)
m(ts)g(in)g(the)h Fp(input)e Fv(arra)m(y)-8 b(.)390 2609
y Fm(input)r Fv(:)40 b(An)30 b(arra)m(y)h(of)f(ASCI)s(I)f(co)s(de)i(p)s
(oin)m(ts)f(\(0..7F\).)390 2779 y Fm(output)p 664 2779
V 40 w(length)p Fv(:)42 b(The)30 b(caller)i(passes)f(in)g(the)g(maxim)m
(um)f(n)m(um)m(b)s(er)g(of)h(co)s(de)g(p)s(oin)m(ts)g(that)g(it)h(can)
390 2889 y(receiv)m(e)41 b(in)m(to)e(the)g Fp(output)e
Fv(arra)m(y)i(\(whic)m(h)g(is)g(also)g(the)g(maxim)m(um)g(n)m(um)m(b)s
(er)e(of)i(\015ags)g(that)g(it)390 2999 y(can)h(receiv)m(e)i(in)m(to)f
(the)f Fp(case_flags)d Fv(arra)m(y)-8 b(,)43 b(if)d Fp(case_flags)d
Fv(is)j(not)g(a)g Fp(NULL)f Fv(p)s(oin)m(ter\).)70 b(On)390
3108 y(successful)39 b(return)e(it)j(will)f(con)m(tain)h(the)f(n)m(um)m
(b)s(er)f(of)h(co)s(de)g(p)s(oin)m(ts)g(actually)h(output)f(\(whic)m(h)
390 3218 y(is)c(also)h(the)f(n)m(um)m(b)s(er)e(of)i(\015ags)g(actually)
i(output,)e(if)g(case)p 2423 3218 V 41 w(\015ags)g(is)g(not)g(a)g(n)m
(ull)g(p)s(oin)m(ter\).)54 b(The)390 3327 y(deco)s(der)31
b(will)h(nev)m(er)f(need)g(to)h(output)f(more)h(co)s(de)f(p)s(oin)m(ts)
g(than)g(the)h(n)m(um)m(b)s(er)e(of)h(ASCI)s(I)f(co)s(de)390
3437 y(p)s(oin)m(ts)g(in)g(the)g(input,)g(b)s(ecause)g(of)g(the)h(w)m
(a)m(y)g(the)f(enco)s(ding)g(is)g(de\014ned.)40 b(The)30
b(n)m(um)m(b)s(er)e(of)j(co)s(de)390 3547 y(p)s(oin)m(ts)d(output)g
(cannot)g(exceed)h(the)g(maxim)m(um)e(p)s(ossible)h(v)-5
b(alue)29 b(of)f(a)g(pun)m(yco)s(de)p 3246 3547 V 39
w(uin)m(t,)h(ev)m(en)g(if)390 3656 y(the)i(supplied)e
Fp(output_length)d Fv(is)31 b(greater)g(than)g(that.)390
3826 y Fm(output)r Fv(:)40 b(An)28 b(arra)m(y)h(of)g(co)s(de)g(p)s(oin)
m(ts)g(lik)m(e)h(the)f(input)f(argumen)m(t)h(of)g Fp
(punycode_encode\(\))24 b Fv(\(see)390 3936 y(ab)s(o)m(v)m(e\).)390
4106 y Fm(case)p 557 4106 V 41 w(\015ags)t Fv(:)49 b(A)35
b Fp(NULL)e Fv(p)s(oin)m(ter)h(\(if)h(the)g(\015ags)f(are)h(not)g
(needed)f(b)m(y)g(the)h(caller\))h(or)e(an)h(arra)m(y)g(of)390
4215 y(b)s(o)s(olean)26 b(v)-5 b(alues)25 b(parallel)i(to)g(the)e
Fp(output)f Fv(arra)m(y)-8 b(.)40 b(Nonzero)27 b(\(true,)g(\015agged\))
f(suggests)h(that)f(the)390 4325 y(corresp)s(onding)37
b(Unico)s(de)h(c)m(haracter)h(b)s(e)e(forced)h(to)g(upp)s(ercase)f(b)m
(y)h(the)g(caller)h(\(if)f(p)s(ossible\),)390 4434 y(and)26
b(zero)h(\(false,)h(un\015agged\))e(suggests)h(that)g(it)f(b)s(e)g
(forced)g(to)h(lo)m(w)m(ercase)i(\(if)d(p)s(ossible\).)39
b(ASCI)s(I)390 4544 y(co)s(de)33 b(p)s(oin)m(ts)f(\(0..7F\))j(are)e
(output)g(already)g(in)f(the)h(prop)s(er)e(case,)k(but)d(their)h
(\015ags)f(will)h(b)s(e)f(set)390 4654 y(appropriately)f(so)f(that)h
(applying)f(the)h(\015ags)g(w)m(ould)f(b)s(e)f(harmless.)390
4824 y(Con)m(v)m(erts)47 b(Pun)m(yco)s(de)g(to)g(a)h(sequence)f(of)g
(co)s(de)g(p)s(oin)m(ts)f(\(presumed)g(to)i(b)s(e)e(Unico)s(de)h(co)s
(de)390 4933 y(p)s(oin)m(ts\).)390 5103 y Fk(Return)34
b(v)-5 b(alue:)49 b Fv(The)33 b(return)g(v)-5 b(alue)35
b(can)g(b)s(e)e(an)m(y)i(of)f(the)h Fp(Punycode_status)30
b Fv(v)-5 b(alues)34 b(de\014ned)390 5213 y(ab)s(o)m(v)m(e.)74
b(If)41 b(not)h Fp(PUNYCODE_SUCCESS)p Fv(,)d(then)i Fp(output_length)p
Fv(,)g Fp(output)p Fv(,)h(and)f Fp(case_flags)390 5322
y Fv(migh)m(t)31 b(con)m(tain)h(garbage.)p eop end
%%Page: 21 26
TeXDict begin 21 25 bop 150 -116 a Fv(Chapter)30 b(5:)41
b(Pun)m(yco)s(de)30 b(F)-8 b(unctions)2241 b(21)150 299
y Fu(5.4)68 b(Error)45 b(Handling)3350 508 y Fv([F)-8
b(unction])-3599 b Fo(const)54 b(char)f(*)g(punycode_strerror)e
Fn(\()p Fm(Pun)m(yco)s(de)p 2194 508 28 4 v 40 w(status)30
b Fl(rc)12 b Fn(\))390 618 y Fm(rc)6 b Fv(:)40 b(an)30
b Fp(Punycode_status)d Fv(return)i(co)s(de.)390 752 y(Con)m(v)m(ert)35
b(a)f(return)e(co)s(de)i(in)m(teger)i(to)e(a)g(text)h(string.)51
b(This)33 b(string)h(can)g(b)s(e)f(used)g(to)h(output)g(a)390
862 y(diagnostic)e(message)f(to)g(the)g(user.)390 996
y Fk(PUNYCODE)p 932 996 28 5 v 39 w(SUCCESS:)k Fv(Successful)j(op)s
(eration.)63 b(This)37 b(v)-5 b(alue)38 b(is)g(guaran)m(teed)h(to)f
(alw)m(a)m(ys)390 1106 y(b)s(e)33 b(zero,)j(the)e(remaining)g(ones)g
(are)g(only)g(guaran)m(teed)h(to)g(hold)e(non-zero)i(v)-5
b(alues,)35 b(for)e(logical)390 1215 y(comparison)e(purp)s(oses.)390
1350 y Fk(PUNYCODE)p 932 1350 V 39 w(BAD)p 1175 1350
V 39 w(INPUT:)g Fv(Input)e(is)i(in)m(v)-5 b(alid.)390
1484 y Fk(PUNYCODE)p 932 1484 V 39 w(BIG)p 1143 1484
V 40 w(OUTPUT:)31 b Fv(Output)f(w)m(ould)g(exceed)h(the)g(space)g(pro)m
(vided.)390 1619 y Fk(PUNYCODE)p 932 1619 V 39 w(O)m(VERFLO)m(W:)g
Fv(Input)e(needs)h(wider)g(in)m(tegers)h(to)g(pro)s(cess.)390
1753 y Fk(Return)e(v)-5 b(alue:)40 b Fv(Returns)29 b(a)g(p)s(oin)m(ter)
h(to)g(a)f(statically)j(allo)s(cated)f(string)f(con)m(taining)h(a)e
(descrip-)390 1863 y(tion)i(of)f(the)h(error)f(with)g(the)h(return)e
(co)s(de)h Fp(rc)p Fv(.)p eop end
%%Page: 22 27
TeXDict begin 22 26 bop 150 -116 a Fv(Chapter)30 b(6:)41
b(IDNA)31 b(F)-8 b(unctions)2390 b(22)150 299 y Fs(6)80
b(IDNA)54 b(F)-13 b(unctions)150 580 y Fv(Un)m(til)30
b(no)m(w,)g(there)f(has)g(b)s(een)f(no)h(standard)f(metho)s(d)h(for)g
(domain)g(names)g(to)g(use)g(c)m(haracters)i(outside)150
690 y(the)26 b(ASCI)s(I)f(rep)s(ertoire.)39 b(The)26
b(IDNA)h(do)s(cumen)m(t)f(de\014nes)f(in)m(ternationalized)k(domain)d
(names)g(\(IDNs\))150 799 y(and)d(a)g(mec)m(hanism)h(called)g(IDNA)g
(for)f(handling)f(them)h(in)g(a)h(standard)e(fashion.)38
b(IDNs)24 b(use)e(c)m(haracters)150 909 y(dra)m(wn)28
b(from)h(a)h(large)g(rep)s(ertoire)f(\(Unico)s(de\),)i(but)d(IDNA)i
(allo)m(ws)g(the)g(non-ASCI)s(I)d(c)m(haracters)k(to)f(b)s(e)150
1018 y(represen)m(ted)e(using)f(only)h(the)g(ASCI)s(I)e(c)m(haracters)k
(already)e(allo)m(w)m(ed)i(in)d(so-called)j(host)e(names)g(to)s(da)m(y)
-8 b(.)150 1128 y(This)26 b(bac)m(kw)m(ard-compatible)i(represen)m
(tation)f(is)g(required)e(in)h(existing)h(proto)s(cols)h(lik)m(e)f
(DNS,)g(so)f(that)150 1238 y(IDNs)f(can)h(b)s(e)e(in)m(tro)s(duced)h
(with)g(no)g(c)m(hanges)h(to)g(the)f(existing)h(infrastructure.)38
b(IDNA)26 b(is)f(only)g(mean)m(t)150 1347 y(for)30 b(pro)s(cessing)g
(domain)h(names,)f(not)h(free)f(text.)150 1603 y Fu(6.1)68
b(Header)46 b(\014le)f Fi(idna.h)150 1763 y Fv(T)-8 b(o)31
b(use)f(the)g(functions)g(explained)h(in)f(this)g(c)m(hapter,)i(y)m(ou)
e(need)g(to)i(include)e(the)g(\014le)h(`)p Fp(idna.h)p
Fv(')e(using:)390 1913 y Fp(#include)46 b(<idna.h>)150
2169 y Fu(6.2)68 b(Con)l(trol)46 b(Flags)150 2328 y Fv(The)32
b(IDNA)h Fp(flags)e Fv(parameter)j(can)f(tak)m(e)h(on)e(the)h(follo)m
(wing)h(v)-5 b(alues,)34 b(or)f(a)g(bit-wise)g(inclusiv)m(e)g(or)g(of)
150 2438 y(an)m(y)e(subset)f(of)g(the)h(parameters:)3211
2653 y([Return)e(co)s(de])-3599 b Fo(Idna_flags)55 b
(IDNA_ALLOW_UNASSIGNED)390 2763 y Fv(Allo)m(w)32 b(unassigned)d(Unico)s
(de)i(co)s(de)f(p)s(oin)m(ts.)3211 2979 y([Return)f(co)s(de])-3599
b Fo(Idna_flags)55 b(IDNA_USE_STD3_ASCII_R)q(ULE)q(S)390
3088 y Fv(Chec)m(k)31 b(output)f(to)h(mak)m(e)g(sure)f(it)h(is)f(a)h
(STD3)f(conforming)h(host)f(name.)150 3344 y Fu(6.3)68
b(Pre\014x)45 b(String)3449 3569 y Fv([Macro])-3598 b
Fo(#define)54 b(IDNA_ACE_PREFIX)390 3679 y Fv(String)30
b(with)g(the)h(o\016cial)g(IDNA)g(pre\014x,)f Fp(xn--)p
Fv(.)150 3935 y Fu(6.4)68 b(Core)46 b(F)-11 b(unctions)150
4094 y Fv(The)22 b(idea)g(b)s(ehind)f(the)h(IDNA)h(function)f(names)g
(are)g(as)h(follo)m(ws:)38 b(the)22 b Fp(idna_to_ascii_4i)c
Fv(and)j Fp(idna_)150 4204 y(to_unicode_44i)26 b Fv(functions)j(are)h
(the)g(core)g(IDNA)h(primitiv)m(es.)41 b(The)29 b Fp(4)g
Fv(indicate)i(that)f(the)g(function)150 4313 y(tak)m(es)e(UCS-4)f
(strings)g(\(i.e.,)i(Unico)s(de)e(co)s(de)g(p)s(oin)m(ts)f(enco)s(ded)h
(in)f(a)i(32-bit)g(unsigned)d(in)m(teger)j(t)m(yp)s(e\))g(of)150
4423 y(the)k(sp)s(eci\014ed)g(length.)46 b(The)32 b Fp(i)f
Fv(indicate)i(that)g(the)f(data)h(is)f(written)g(\\inline")i(in)m(to)f
(the)f(bu\013er.)45 b(This)150 4532 y(means)35 b(the)h(caller)g(is)g
(resp)s(onsible)e(for)h(allo)s(cating)j(\(and)d(deallo)s(cating\))j
(the)d(string,)i(and)e(pro)m(viding)150 4642 y(the)40
b(library)f(with)h(the)g(allo)s(cated)i(length)e(of)g(the)g(string.)69
b(The)40 b(output)f(length)h(is)g(written)g(in)g(the)150
4751 y(output)33 b(length)h(v)-5 b(ariable.)51 b(The)33
b(remaining)h(functions)f(all)i(con)m(tain)f(the)g Fp(z)f
Fv(indicator,)j(whic)m(h)d(means)150 4861 y(the)h(strings)g(are)g(zero)
h(terminated.)52 b(All)34 b(output)g(strings)g(are)g(allo)s(cated)i(b)m
(y)e(the)g(library)-8 b(,)35 b(and)e(m)m(ust)150 4971
y(b)s(e)k(deallo)s(cated)i(b)m(y)f(the)f(caller.)64 b(The)37
b Fp(4)g Fv(indicator)h(again)h(means)e(that)h(the)g(string)g(is)f
(UCS-4,)j(the)150 5080 y Fp(8)35 b Fv(means)h(the)f(strings)h(are)g
(UTF-8)g(and)f(the)h Fp(l)f Fv(indicator)h(means)f(the)h(strings)f(are)
h(enco)s(ded)g(in)f(the)150 5190 y(enco)s(ding)30 b(used)g(b)m(y)g(the)
h(curren)m(t)f(lo)s(cale.)275 5340 y(The)f(functions)h(pro)m(vided)g
(are)h(the)g(follo)m(wing)g(en)m(try)g(p)s(oin)m(ts:)p
eop end
%%Page: 23 28
TeXDict begin 23 27 bop 150 -116 a Fv(Chapter)30 b(6:)41
b(IDNA)31 b(F)-8 b(unctions)2390 b(23)3350 299 y([F)-8
b(unction])-3599 b Fo(int)53 b(idna_to_ascii_4i)e Fn(\()p
Fm(const)31 b(uin)m(t32)p 1770 299 28 4 v 41 w(t)f(*)h
Fl(in)p Fm(,)g(size)p 2253 299 V 41 w(t)g Fl(inlen)p
Fm(,)h(c)m(har)f(*)f Fl(out)p Fm(,)565 408 y(in)m(t)h
Fl(flags)12 b Fn(\))390 518 y Fm(in)p Fv(:)40 b(input)30
b(arra)m(y)h(with)f(unico)s(de)g(co)s(de)g(p)s(oin)m(ts.)390
658 y Fm(inlen)p Fv(:)41 b(length)30 b(of)h(input)e(arra)m(y)i(with)f
(unico)s(de)g(co)s(de)h(p)s(oin)m(ts.)390 799 y Fm(out)r
Fv(:)54 b(output)37 b(zero)h(terminated)g(string)f(that)g(m)m(ust)g(ha)
m(v)m(e)i(ro)s(om)d(for)h(at)h(least)h(63)e(c)m(haracters)390
908 y(plus)29 b(the)i(terminating)g(zero.)390 1049 y
Fm(\015ags)t Fv(:)91 b(an)56 b Fp(Idna_flags)d Fv(v)-5
b(alue,)63 b(e.g.,)g Fp(IDNA_ALLOW_UNASSIGNED)50 b Fv(or)56
b Fp(IDNA_USE_STD3_)390 1158 y(ASCII_RULES)p Fv(.)390
1299 y(The)34 b(T)-8 b(oASCI)s(I)33 b(op)s(eration)i(tak)m(es)h(a)f
(sequence)g(of)f(Unico)s(de)h(co)s(de)g(p)s(oin)m(ts)f(that)h(mak)m(e)g
(up)f(one)390 1408 y(lab)s(el)k(and)g(transforms)f(it)h(in)m(to)h(a)f
(sequence)h(of)f(co)s(de)g(p)s(oin)m(ts)g(in)f(the)i(ASCI)s(I)d(range)i
(\(0..7F\).)390 1518 y(If)29 b(T)-8 b(oASCI)s(I)29 b(succeeds,)h(the)g
(original)h(sequence)f(and)f(the)h(resulting)g(sequence)g(are)g(equiv)
-5 b(alen)m(t)390 1627 y(lab)s(els.)390 1768 y(It)26
b(is)f(imp)s(ortan)m(t)h(to)g(note)h(that)f(the)g(T)-8
b(oASCI)s(I)24 b(op)s(eration)i(can)g(fail.)40 b(T)-8
b(oASCI)s(I)24 b(fails)i(if)g(an)m(y)g(step)390 1877
y(of)j(it)h(fails.)41 b(If)29 b(an)m(y)h(step)f(of)g(the)h(T)-8
b(oASCI)s(I)28 b(op)s(eration)i(fails)g(on)f(an)m(y)g(lab)s(el)h(in)f
(a)g(domain)h(name,)390 1987 y(that)k(domain)f(name)h(MUST)f(NOT)g(b)s
(e)g(used)f(as)i(an)f(in)m(ternationalized)j(domain)d(name.)50
b(The)390 2097 y(metho)s(d)30 b(for)g(deadling)h(with)f(this)g(failure)
g(is)h(application-sp)s(eci\014c.)390 2237 y(The)d(inputs)f(to)j(T)-8
b(oASCI)s(I)27 b(are)i(a)g(sequence)g(of)f(co)s(de)h(p)s(oin)m(ts,)g
(the)f(Allo)m(wUnassigned)i(\015ag,)g(and)390 2346 y(the)f(UseSTD3ASCI)
s(IRules)f(\015ag.)41 b(The)29 b(output)g(of)g(T)-8 b(oASCI)s(I)28
b(is)h(either)h(a)g(sequence)f(of)g(ASCI)s(I)390 2456
y(co)s(de)i(p)s(oin)m(ts)f(or)g(a)h(failure)g(condition.)390
2596 y(T)-8 b(oASCI)s(I)36 b(nev)m(er)h(alters)g(a)g(sequence)g(of)g
(co)s(de)g(p)s(oin)m(ts)g(that)g(are)g(all)h(in)e(the)h(ASCI)s(I)e
(range)i(to)390 2706 y(b)s(egin)32 b(with)g(\(although)h(it)f(could)g
(fail\).)48 b(Applying)31 b(the)i(T)-8 b(oASCI)s(I)31
b(op)s(eration)i(m)m(ultiple)f(times)390 2816 y(has)e(exactly)i(the)f
(same)g(e\013ect)g(as)g(applying)f(it)h(just)f(once.)390
2956 y Fk(Return)g(v)-5 b(alue:)41 b Fv(Returns)30 b(0)g(on)h(success,)
f(or)h(an)f Fp(Idna_rc)e Fv(error)i(co)s(de.)3350 3152
y([F)-8 b(unction])-3599 b Fo(int)53 b(idna_to_unicode_44i)e
Fn(\()p Fm(const)32 b(uin)m(t32)p 1927 3152 V 41 w(t)e(*)h
Fl(in)p Fm(,)g(size)p 2410 3152 V 41 w(t)g Fl(inlen)p
Fm(,)h(uin)m(t32)p 3083 3152 V 41 w(t)565 3262 y(*)f
Fl(out)p Fm(,)g(size)p 1000 3262 V 41 w(t)g(*)g Fl(outlen)p
Fm(,)h(in)m(t)f Fl(flags)12 b Fn(\))390 3371 y Fm(in)p
Fv(:)40 b(input)30 b(arra)m(y)h(with)f(unico)s(de)g(co)s(de)g(p)s(oin)m
(ts.)390 3512 y Fm(inlen)p Fv(:)41 b(length)30 b(of)h(input)e(arra)m(y)
i(with)f(unico)s(de)g(co)s(de)h(p)s(oin)m(ts.)390 3652
y Fm(out)r Fv(:)41 b(output)30 b(arra)m(y)h(with)f(unico)s(de)g(co)s
(de)g(p)s(oin)m(ts.)390 3792 y Fm(outlen)p Fv(:)50 b(on)35
b(input,)g(maxim)m(um)g(size)h(of)f(output)f(arra)m(y)i(with)e(unico)s
(de)h(co)s(de)g(p)s(oin)m(ts,)h(on)f(exit,)390 3902 y(actual)d(size)f
(of)f(output)g(arra)m(y)h(with)f(unico)s(de)g(co)s(de)h(p)s(oin)m(ts.)
390 4042 y Fm(\015ags)t Fv(:)91 b(an)56 b Fp(Idna_flags)d
Fv(v)-5 b(alue,)63 b(e.g.,)g Fp(IDNA_ALLOW_UNASSIGNED)50
b Fv(or)56 b Fp(IDNA_USE_STD3_)390 4152 y(ASCII_RULES)p
Fv(.)390 4292 y(The)28 b(T)-8 b(oUnico)s(de)30 b(op)s(eration)g(tak)m
(es)g(a)f(sequence)h(of)f(Unico)s(de)g(co)s(de)g(p)s(oin)m(ts)g(that)h
(mak)m(e)g(up)e(one)390 4402 y(lab)s(el)j(and)e(returns)g(a)i(sequence)
g(of)f(Unico)s(de)g(co)s(de)h(p)s(oin)m(ts.)40 b(If)30
b(the)h(input)e(sequence)i(is)f(a)h(lab)s(el)390 4511
y(in)36 b(A)m(CE)g(form,)i(then)e(the)g(result)g(is)h(an)f(equiv)-5
b(alen)m(t)37 b(in)m(ternationalized)i(lab)s(el)e(that)f(is)h(not)f(in)
390 4621 y(A)m(CE)30 b(form,)h(otherwise)f(the)h(original)h(sequence)e
(is)h(returned)e(unaltered.)390 4761 y(T)-8 b(oUnico)s(de)33
b(nev)m(er)f(fails.)46 b(If)31 b(an)m(y)h(step)g(fails,)h(then)f(the)g
(original)h(input)e(sequence)h(is)g(returned)390 4871
y(immediately)g(in)e(that)h(step.)390 5011 y(The)51 b(Pun)m(yco)s(de)g
(deco)s(der)g(can)h(nev)m(er)g(output)f(more)g(co)s(de)h(p)s(oin)m(ts)f
(than)h(it)g(inputs,)k(but)390 5121 y(Nameprep)27 b(can,)i(and)e
(therefore)g(T)-8 b(oUnico)s(de)28 b(can.)41 b(Note)28
b(that)g(the)g(n)m(um)m(b)s(er)e(of)i(o)s(ctets)g(needed)390
5230 y(to)k(represen)m(t)g(a)g(sequence)g(of)g(co)s(de)g(p)s(oin)m(ts)f
(dep)s(ends)f(on)i(the)g(particular)g(c)m(haracter)h(enco)s(ding)390
5340 y(used.)p eop end
%%Page: 24 29
TeXDict begin 24 28 bop 150 -116 a Fv(Chapter)30 b(6:)41
b(IDNA)31 b(F)-8 b(unctions)2390 b(24)390 299 y(The)37
b(inputs)f(to)h(T)-8 b(oUnico)s(de)38 b(are)g(a)f(sequence)g(of)h(co)s
(de)f(p)s(oin)m(ts,)i(the)e(Allo)m(wUnassigned)h(\015ag,)390
408 y(and)29 b(the)g(UseSTD3ASCI)s(IRules)g(\015ag.)40
b(The)29 b(output)g(of)h(T)-8 b(oUnico)s(de)30 b(is)f(alw)m(a)m(ys)i(a)
f(sequence)g(of)390 518 y(Unico)s(de)h(co)s(de)f(p)s(oin)m(ts.)390
672 y Fk(Return)g(v)-5 b(alue:)40 b Fv(Returns)29 b Fp(Idna_rc)f
Fv(error)i(condition,)h(but)e(it)h(m)m(ust)g(only)g(b)s(e)g(used)f(for)
g(debug-)390 782 y(ging)37 b(purp)s(oses.)58 b(The)36
b(output)g(bu\013er)f(is)i(alw)m(a)m(ys)h(guaran)m(teed)g(to)f(con)m
(tain)h(the)f(correct)g(data)390 891 y(according)28 b(to)g(the)f(sp)s
(eci\014cation)g(\(sans)g(mallo)s(c)h(induced)e(errors\).)39
b(NB!)28 b(This)e(means)h(that)h(y)m(ou)390 1001 y(normally)e(ignore)h
(the)f(return)f(co)s(de)h(from)f(this)h(function,)h(as)f(c)m(hec)m
(king)h(it)g(means)f(breaking)g(the)390 1111 y(standard.)150
1372 y Fu(6.5)68 b(Simpli\014ed)45 b(T)-11 b(oASCI)t(I)44
b(In)l(terface)3350 1601 y Fv([F)-8 b(unction])-3599
b Fo(int)53 b(idna_to_ascii_4z)e Fn(\()p Fm(const)31
b(uin)m(t32)p 1770 1601 28 4 v 41 w(t)f(*)h Fl(input)p
Fm(,)h(c)m(har)f(**)g Fl(output)p Fm(,)i(in)m(t)565 1711
y Fl(flags)12 b Fn(\))390 1820 y Fm(input)r Fv(:)40 b(zero)31
b(terminated)g(input)e(Unico)s(de)i(string.)390 1975
y Fm(output)r Fv(:)40 b(p)s(oin)m(ter)31 b(to)g(newly)f(allo)s(cated)i
(output)e(string.)390 2129 y Fm(\015ags)t Fv(:)91 b(an)56
b Fp(Idna_flags)d Fv(v)-5 b(alue,)63 b(e.g.,)g Fp
(IDNA_ALLOW_UNASSIGNED)50 b Fv(or)56 b Fp(IDNA_USE_STD3_)390
2238 y(ASCII_RULES)p Fv(.)390 2392 y(Con)m(v)m(ert)25
b(UCS-4)g(domain)f(name)g(to)h(ASCI)s(I)e(string.)39
b(The)23 b(domain)i(name)f(ma)m(y)h(con)m(tain)h(sev)m(eral)390
2502 y(lab)s(els,)31 b(separated)g(b)m(y)f(dots.)41 b(The)30
b(output)g(bu\013er)f(m)m(ust)h(b)s(e)g(deallo)s(cated)i(b)m(y)e(the)h
(caller.)390 2656 y Fk(Return)f(v)-5 b(alue:)41 b Fv(Returns)30
b Fp(IDNA_SUCCESS)d Fv(on)j(success,)h(or)f(error)g(co)s(de.)3350
2880 y([F)-8 b(unction])-3599 b Fo(int)53 b(idna_to_ascii_8z)e
Fn(\()p Fm(const)31 b(c)m(har)g(*)f Fl(input)p Fm(,)i(c)m(har)f(**)g
Fl(output)p Fm(,)i(in)m(t)565 2989 y Fl(flags)12 b Fn(\))390
3099 y Fm(input)r Fv(:)40 b(zero)31 b(terminated)g(input)e(UTF-8)i
(string.)390 3253 y Fm(output)r Fv(:)40 b(p)s(oin)m(ter)31
b(to)g(newly)f(allo)s(cated)i(output)e(string.)390 3407
y Fm(\015ags)t Fv(:)91 b(an)56 b Fp(Idna_flags)d Fv(v)-5
b(alue,)63 b(e.g.,)g Fp(IDNA_ALLOW_UNASSIGNED)50 b Fv(or)56
b Fp(IDNA_USE_STD3_)390 3517 y(ASCII_RULES)p Fv(.)390
3671 y(Con)m(v)m(ert)24 b(UTF-8)h(domain)e(name)h(to)g(ASCI)s(I)e
(string.)38 b(The)24 b(domain)f(name)h(ma)m(y)g(con)m(tain)h(sev)m
(eral)390 3780 y(lab)s(els,)31 b(separated)g(b)m(y)f(dots.)41
b(The)30 b(output)g(bu\013er)f(m)m(ust)h(b)s(e)g(deallo)s(cated)i(b)m
(y)e(the)h(caller.)390 3934 y Fk(Return)f(v)-5 b(alue:)41
b Fv(Returns)30 b Fp(IDNA_SUCCESS)d Fv(on)j(success,)h(or)f(error)g(co)
s(de.)3350 4158 y([F)-8 b(unction])-3599 b Fo(int)53
b(idna_to_ascii_lz)e Fn(\()p Fm(const)31 b(c)m(har)g(*)f
Fl(input)p Fm(,)i(c)m(har)f(**)g Fl(output)p Fm(,)i(in)m(t)565
4267 y Fl(flags)12 b Fn(\))390 4377 y Fm(input)r Fv(:)40
b(zero)31 b(terminated)g(input)e(string)i(enco)s(ded)f(in)g(the)g
(curren)m(t)g(lo)s(cale's)j(c)m(haracter)f(set.)390 4531
y Fm(output)r Fv(:)40 b(p)s(oin)m(ter)31 b(to)g(newly)f(allo)s(cated)i
(output)e(string.)390 4685 y Fm(\015ags)t Fv(:)91 b(an)56
b Fp(Idna_flags)d Fv(v)-5 b(alue,)63 b(e.g.,)g Fp
(IDNA_ALLOW_UNASSIGNED)50 b Fv(or)56 b Fp(IDNA_USE_STD3_)390
4795 y(ASCII_RULES)p Fv(.)390 4949 y(Con)m(v)m(ert)37
b(domain)f(name)g(in)f(the)h(lo)s(cale's)i(enco)s(ding)e(to)h(ASCI)s(I)
d(string.)58 b(The)35 b(domain)h(name)390 5059 y(ma)m(y)27
b(con)m(tain)g(sev)m(eral)h(lab)s(els,)f(separated)g(b)m(y)f(dots.)39
b(The)26 b(output)f(bu\013er)h(m)m(ust)g(b)s(e)f(deallo)s(cated)390
5168 y(b)m(y)30 b(the)h(caller.)390 5322 y Fk(Return)f(v)-5
b(alue:)41 b Fv(Returns)30 b Fp(IDNA_SUCCESS)d Fv(on)j(success,)h(or)f
(error)g(co)s(de.)p eop end
%%Page: 25 30
TeXDict begin 25 29 bop 150 -116 a Fv(Chapter)30 b(6:)41
b(IDNA)31 b(F)-8 b(unctions)2390 b(25)150 299 y Fu(6.6)68
b(Simpli\014ed)45 b(T)-11 b(oUnico)t(de)45 b(In)l(terface)3350
495 y Fv([F)-8 b(unction])-3599 b Fo(int)53 b(idna_to_unicode_4z4z)f
Fn(\()p Fm(const)31 b(uin)m(t32)p 1979 495 28 4 v 41
w(t)g(*)f Fl(input)p Fm(,)i(uin)m(t32)p 2727 495 V 41
w(t)f(**)565 605 y Fl(output)p Fm(,)h(in)m(t)f Fl(flags)12
b Fn(\))390 714 y Fm(input)r Fv(:)40 b(zero-terminated)32
b(Unico)s(de)e(string.)390 842 y Fm(output)r Fv(:)40
b(p)s(oin)m(ter)31 b(to)g(newly)f(allo)s(cated)i(output)e(Unico)s(de)h
(string.)390 970 y Fm(\015ags)t Fv(:)91 b(an)56 b Fp(Idna_flags)d
Fv(v)-5 b(alue,)63 b(e.g.,)g Fp(IDNA_ALLOW_UNASSIGNED)50
b Fv(or)56 b Fp(IDNA_USE_STD3_)390 1080 y(ASCII_RULES)p
Fv(.)390 1208 y(Con)m(v)m(ert)34 b(p)s(ossibly)d(A)m(CE)i(enco)s(ded)g
(domain)f(name)h(in)f(UCS-4)h(format)g(in)m(to)h(a)f(UCS-4)g(string.)
390 1318 y(The)f(domain)g(name)g(ma)m(y)h(con)m(tain)g(sev)m(eral)h
(lab)s(els,)f(separated)g(b)m(y)f(dots.)46 b(The)32 b(output)g
(bu\013er)390 1427 y(m)m(ust)e(b)s(e)g(deallo)s(cated)i(b)m(y)f(the)f
(caller.)390 1555 y Fk(Return)g(v)-5 b(alue:)41 b Fv(Returns)30
b Fp(IDNA_SUCCESS)d Fv(on)j(success,)h(or)f(error)g(co)s(de.)3350
1720 y([F)-8 b(unction])-3599 b Fo(int)53 b(idna_to_unicode_8z4z)f
Fn(\()p Fm(const)31 b(c)m(har)g(*)f Fl(input)p Fm(,)j(uin)m(t32)p
2572 1720 V 41 w(t)d(**)h Fl(output)p Fm(,)565 1830 y(in)m(t)g
Fl(flags)12 b Fn(\))390 1939 y Fm(input)r Fv(:)40 b(zero-terminated)32
b(UTF-8)f(string.)390 2067 y Fm(output)r Fv(:)40 b(p)s(oin)m(ter)31
b(to)g(newly)f(allo)s(cated)i(output)e(Unico)s(de)h(string.)390
2195 y Fm(\015ags)t Fv(:)91 b(an)56 b Fp(Idna_flags)d
Fv(v)-5 b(alue,)63 b(e.g.,)g Fp(IDNA_ALLOW_UNASSIGNED)50
b Fv(or)56 b Fp(IDNA_USE_STD3_)390 2305 y(ASCII_RULES)p
Fv(.)390 2433 y(Con)m(v)m(ert)33 b(p)s(ossibly)e(A)m(CE)h(enco)s(ded)g
(domain)f(name)i(in)e(UTF-8)i(format)f(in)m(to)h(a)g(UCS-4)f(string.)
390 2543 y(The)g(domain)g(name)g(ma)m(y)h(con)m(tain)g(sev)m(eral)h
(lab)s(els,)f(separated)g(b)m(y)f(dots.)46 b(The)32 b(output)g
(bu\013er)390 2652 y(m)m(ust)e(b)s(e)g(deallo)s(cated)i(b)m(y)f(the)f
(caller.)390 2780 y Fk(Return)g(v)-5 b(alue:)41 b Fv(Returns)30
b Fp(IDNA_SUCCESS)d Fv(on)j(success,)h(or)f(error)g(co)s(de.)3350
2945 y([F)-8 b(unction])-3599 b Fo(int)53 b(idna_to_unicode_8z8z)f
Fn(\()p Fm(const)31 b(c)m(har)g(*)f Fl(input)p Fm(,)j(c)m(har)d(**)i
Fl(output)p Fm(,)g(in)m(t)565 3055 y Fl(flags)12 b Fn(\))390
3164 y Fm(input)r Fv(:)40 b(zero-terminated)32 b(UTF-8)f(string.)390
3292 y Fm(output)r Fv(:)40 b(p)s(oin)m(ter)31 b(to)g(newly)f(allo)s
(cated)i(output)e(UTF-8)h(string.)390 3421 y Fm(\015ags)t
Fv(:)91 b(an)56 b Fp(Idna_flags)d Fv(v)-5 b(alue,)63
b(e.g.,)g Fp(IDNA_ALLOW_UNASSIGNED)50 b Fv(or)56 b Fp(IDNA_USE_STD3_)
390 3530 y(ASCII_RULES)p Fv(.)390 3658 y(Con)m(v)m(ert)32
b(p)s(ossibly)e(A)m(CE)i(enco)s(ded)f(domain)g(name)g(in)g(UTF-8)h
(format)g(in)m(to)g(a)g(UTF-8)g(string.)390 3768 y(The)g(domain)g(name)
g(ma)m(y)h(con)m(tain)g(sev)m(eral)h(lab)s(els,)f(separated)g(b)m(y)f
(dots.)46 b(The)32 b(output)g(bu\013er)390 3877 y(m)m(ust)e(b)s(e)g
(deallo)s(cated)i(b)m(y)f(the)f(caller.)390 4005 y Fk(Return)g(v)-5
b(alue:)41 b Fv(Returns)30 b Fp(IDNA_SUCCESS)d Fv(on)j(success,)h(or)f
(error)g(co)s(de.)3350 4170 y([F)-8 b(unction])-3599
b Fo(int)53 b(idna_to_unicode_8zlz)f Fn(\()p Fm(const)31
b(c)m(har)g(*)f Fl(input)p Fm(,)j(c)m(har)d(**)i Fl(output)p
Fm(,)g(in)m(t)565 4280 y Fl(flags)12 b Fn(\))390 4389
y Fm(input)r Fv(:)40 b(zero-terminated)32 b(UTF-8)f(string.)390
4518 y Fm(output)r Fv(:)71 b(p)s(oin)m(ter)45 b(to)h(newly)g(allo)s
(cated)h(output)e(string)h(enco)s(ded)f(in)g(the)h(curren)m(t)f(lo)s
(cale's)390 4627 y(c)m(haracter)32 b(set.)390 4755 y
Fm(\015ags)t Fv(:)91 b(an)56 b Fp(Idna_flags)d Fv(v)-5
b(alue,)63 b(e.g.,)g Fp(IDNA_ALLOW_UNASSIGNED)50 b Fv(or)56
b Fp(IDNA_USE_STD3_)390 4865 y(ASCII_RULES)p Fv(.)390
4993 y(Con)m(v)m(ert)30 b(p)s(ossibly)e(A)m(CE)h(enco)s(ded)g(domain)g
(name)g(in)g(UTF-8)g(format)h(in)m(to)g(a)f(string)g(enco)s(ded)390
5102 y(in)35 b(the)h(curren)m(t)f(lo)s(cale's)i(c)m(haracter)g(set.)57
b(The)35 b(domain)g(name)h(ma)m(y)g(con)m(tain)h(sev)m(eral)f(lab)s
(els,)390 5212 y(separated)31 b(b)m(y)f(dots.)41 b(The)30
b(output)g(bu\013er)f(m)m(ust)h(b)s(e)g(deallo)s(cated)i(b)m(y)f(the)f
(caller.)390 5340 y Fk(Return)g(v)-5 b(alue:)41 b Fv(Returns)30
b Fp(IDNA_SUCCESS)d Fv(on)j(success,)h(or)f(error)g(co)s(de.)p
eop end
%%Page: 26 31
TeXDict begin 26 30 bop 150 -116 a Fv(Chapter)30 b(6:)41
b(IDNA)31 b(F)-8 b(unctions)2390 b(26)3350 299 y([F)-8
b(unction])-3599 b Fo(int)53 b(idna_to_unicode_lzlz)f
Fn(\()p Fm(const)31 b(c)m(har)g(*)f Fl(input)p Fm(,)j(c)m(har)d(**)i
Fl(output)p Fm(,)g(in)m(t)565 408 y Fl(flags)12 b Fn(\))390
518 y Fm(input)r Fv(:)40 b(zero-terminated)32 b(string)e(enco)s(ded)g
(in)g(the)h(curren)m(t)f(lo)s(cale's)i(c)m(haracter)g(set.)390
653 y Fm(output)r Fv(:)71 b(p)s(oin)m(ter)45 b(to)h(newly)g(allo)s
(cated)h(output)e(string)h(enco)s(ded)f(in)g(the)h(curren)m(t)f(lo)s
(cale's)390 762 y(c)m(haracter)32 b(set.)390 897 y Fm(\015ags)t
Fv(:)91 b(an)56 b Fp(Idna_flags)d Fv(v)-5 b(alue,)63
b(e.g.,)g Fp(IDNA_ALLOW_UNASSIGNED)50 b Fv(or)56 b Fp(IDNA_USE_STD3_)
390 1006 y(ASCII_RULES)p Fv(.)390 1141 y(Con)m(v)m(ert)25
b(p)s(ossibly)e(A)m(CE)h(enco)s(ded)g(domain)g(name)g(in)g(the)g(lo)s
(cale's)i(c)m(haracter)g(set)e(in)m(to)h(a)g(string)390
1250 y(enco)s(ded)30 b(in)g(the)h(curren)m(t)f(lo)s(cale's)i(c)m
(haracter)g(set.)42 b(The)30 b(domain)g(name)h(ma)m(y)g(con)m(tain)h
(sev)m(eral)390 1360 y(lab)s(els,)f(separated)g(b)m(y)f(dots.)41
b(The)30 b(output)g(bu\013er)f(m)m(ust)h(b)s(e)g(deallo)s(cated)i(b)m
(y)e(the)h(caller.)390 1494 y Fk(Return)f(v)-5 b(alue:)41
b Fv(Returns)30 b Fp(IDNA_SUCCESS)d Fv(on)j(success,)h(or)f(error)g(co)
s(de.)150 1727 y Fu(6.7)68 b(Error)45 b(Handling)3350
1936 y Fv([F)-8 b(unction])-3599 b Fo(const)54 b(char)f(*)g
(idna_strerror)c Fn(\()p Fm(Idna)p 1776 1936 28 4 v 40
w(rc)30 b Fl(rc)12 b Fn(\))390 2046 y Fm(rc)6 b Fv(:)40
b(an)30 b Fp(Idna_rc)f Fv(return)g(co)s(de.)390 2180
y(Con)m(v)m(ert)35 b(a)f(return)e(co)s(de)i(in)m(teger)i(to)e(a)g(text)
h(string.)51 b(This)33 b(string)h(can)g(b)s(e)f(used)g(to)h(output)g(a)
390 2290 y(diagnostic)e(message)f(to)g(the)g(user.)390
2424 y Fk(IDNA)p 642 2424 28 5 v 40 w(SUCCESS:)e Fv(Successful)j(op)s
(eration.)47 b(This)31 b(v)-5 b(alue)33 b(is)f(guaran)m(teed)i(to)f
(alw)m(a)m(ys)g(b)s(e)f(zero,)390 2534 y(the)23 b(remaining)f(ones)h
(are)g(only)g(guaran)m(teed)g(to)g(hold)g(non-zero)g(v)-5
b(alues,)24 b(for)f(logical)i(comparison)390 2643 y(purp)s(oses.)390
2778 y Fk(IDNA)p 642 2778 V 40 w(STRINGPREP)p 1296 2778
V 40 w(ERR)m(OR:)31 b Fv(Error)f(during)f(string)h(preparation.)390
2912 y Fk(IDNA)p 642 2912 V 40 w(PUNYCODE)p 1218 2912
V 39 w(ERR)m(OR:)h Fv(Error)e(during)g(pun)m(yco)s(de)h(op)s(eration.)
390 3047 y Fk(IDNA)p 642 3047 V 40 w(CONT)-8 b(AINS)p
1169 3047 V 40 w(NON)p 1419 3047 V 40 w(LDH:)80 b Fv(F)-8
b(or)81 b(IDNA)p 2211 3047 28 4 v 41 w(USE)p 2433 3047
V 39 w(STD3)p 2703 3047 V 40 w(ASCI)s(I)p 2997 3047 V
39 w(R)m(ULES,)f(indicate)390 3156 y(that)31 b(the)g(string)f(con)m
(tains)h(non-LDH)g(ASCI)s(I)e(c)m(haracters.)390 3291
y Fk(IDNA)p 642 3291 28 5 v 40 w(CONT)-8 b(AINS)p 1169
3291 V 40 w(MINUS:)52 b Fv(F)-8 b(or)52 b(IDNA)p 2022
3291 28 4 v 40 w(USE)p 2243 3291 V 40 w(STD3)p 2514 3291
V 40 w(ASCI)s(I)p 2808 3291 V 39 w(R)m(ULES,)f(indicate)h(that)390
3401 y(the)31 b(string)f(con)m(tains)h(a)g(leading)g(or)g(trailing)g(h)
m(yphen-min)m(us)e(\(U)p Fp(+)p Fv(002D\).)390 3535 y
Fk(IDNA)p 642 3535 28 5 v 40 w(INV)-10 b(ALID)p 1078
3535 V 39 w(LENGTH:)47 b Fv(The)f(\014nal)g(output)g(string)g(is)h(not)
g(within)f(the)g(\(inclusiv)m(e\))390 3645 y(range)31
b(1)f(to)i(63)f(c)m(haracters.)390 3779 y Fk(IDNA)p 642
3779 V 40 w(NO)p 821 3779 V 40 w(A)m(CE)p 1053 3779 V
40 w(PREFIX:)i Fv(The)h(string)f(do)s(es)h(not)g(con)m(tain)h(the)f(A)m
(CE)g(pre\014x)f(\(for)h(T)-8 b(oUni-)390 3889 y(co)s(de\).)390
4023 y Fk(IDNA)p 642 4023 V 40 w(R)m(OUNDTRIP)p 1257
4023 V 41 w(VERIFY)p 1658 4023 V 39 w(ERR)m(OR:)37 b
Fv(The)g(T)-8 b(oASCI)s(I)36 b(op)s(eration)h(on)g(output)f(string)390
4133 y(do)s(es)30 b(not)h(equal)g(the)f(input.)390 4267
y Fk(IDNA)p 642 4267 V 40 w(CONT)-8 b(AINS)p 1169 4267
V 40 w(A)m(CE)p 1401 4267 V 39 w(PREFIX:)79 b Fv(The)g(input)f(con)m
(tains)j(the)e(A)m(CE)h(pre\014x)e(\(for)390 4377 y(T)-8
b(oASCI)s(I\).)390 4511 y Fk(IDNA)p 642 4511 V 40 w(ICONV)p
992 4511 V 40 w(ERR)m(OR:)31 b Fv(Could)e(not)i(con)m(v)m(ert)h(string)
e(in)g(lo)s(cale)i(enco)s(ding.)390 4646 y Fk(IDNA)p
642 4646 V 40 w(MALLOC)p 1081 4646 V 39 w(ERR)m(OR:)f
Fv(Could)e(not)i(allo)s(cate)i(bu\013er)c(\(this)i(is)f(t)m(ypically)i
(a)f(fatal)h(error\).)390 4780 y Fk(IDNA)p 642 4780 V
40 w(DLOPEN)p 1068 4780 V 39 w(ERR)m(OR:)j Fv(Could)f(not)h(dlop)s(en)e
(the)i(lib)s(cidn)e(DSO)h(\(only)h(used)f(in)m(ternally)390
4890 y(in)c(lib)s(c\).)390 5024 y Fk(Return)f(v)-5 b(alue:)40
b Fv(Returns)29 b(a)g(p)s(oin)m(ter)h(to)g(a)f(statically)j(allo)s
(cated)f(string)f(con)m(taining)h(a)e(descrip-)390 5134
y(tion)i(of)f(the)h(error)f(with)g(the)h(return)e(co)s(de)h
Fp(rc)p Fv(.)p eop end
%%Page: 27 32
TeXDict begin 27 31 bop 150 -116 a Fv(Chapter)30 b(7:)41
b(TLD)30 b(F)-8 b(unctions)2437 b(27)150 299 y Fs(7)80
b(TLD)54 b(F)-13 b(unctions)150 538 y Fv(Organizations)40
b(that)f(manage)g(some)g(T)-8 b(op)38 b(Lev)m(el)i(Domains)f(\()p
Fj(TLD)p Fv(s\))g(ha)m(v)m(e)g(published)e(tables)i(with)150
648 y(c)m(haracters)d(they)f(accept)h(within)e(the)g(domain.)54
b(The)34 b(reason)g(ma)m(y)i(b)s(e)d(to)j(reduce)e(complexit)m(y)i
(that)150 757 y(come)30 b(from)f(using)f(the)h(full)g(Unico)s(de)g
(range,)h(and)f(to)g(protect)h(themselv)m(es)h(from)d(future)g(\(bac)m
(kw)m(ards)150 867 y(incompatible\))36 b(c)m(hanges)g(in)e(the)h(IDN)g
(or)g(Unico)s(de)g(sp)s(eci\014cations.)55 b(Libidn)33
b(implemen)m(t)j(an)e(infras-)150 977 y(tructure)29 b(for)g(de\014ning)
f(and)g(c)m(hec)m(king)j(strings)e(against)i(suc)m(h)d(tables.)42
b(Libidn)27 b(also)j(ship)f(some)g(tables)150 1086 y(from)d
Fj(TLD)p Fv(s)g(that)h(w)m(e)f(ha)m(v)m(e)i(managed)e(to)h(get)g(p)s
(ermission)e(to)i(use)f(them)g(from.)39 b(Because)28
b(these)e(tables)150 1196 y(are)i(ev)m(en)g(less)g(static)h(than)e
(Unico)s(de)h(or)f(StringPrep)f(tables,)k(it)e(is)f(lik)m(ely)i(that)f
(they)g(will)f(b)s(e)g(up)s(dated)150 1305 y(from)33
b(time)h(to)g(time)g(\(ev)m(en)h(in)e(bac)m(kw)m(ards)h(incompatib)s(e)
g(w)m(a)m(ys\).)51 b(The)33 b(Libidn)f(in)m(terface)j(pro)m(vide)f(a)
150 1415 y(\\v)m(ersion")39 b(\014eld)d(for)h(eac)m(h)i
Fj(TLD)e Fv(table,)j(whic)m(h)d(can)h(b)s(e)e(compared)h(for)g(equalit)
m(y)i(to)f(guaran)m(tee)h(the)150 1525 y(same)31 b(op)s(eration)g(o)m
(v)m(er)g(time.)275 1661 y(F)-8 b(rom)25 b(a)g(design)f(p)s(oin)m(t)h
(of)g(view,)h(y)m(ou)f(can)g(regard)f(the)h Fj(TLD)g
Fv(tables)g(for)f(IDN)h(as)g(the)g(\\lo)s(calization")150
1770 y(step)30 b(that)h(come)h(after)f(the)f(\\in)m
(ternationalization")35 b(step)30 b(pro)m(vided)g(b)m(y)h(the)f(IETF)g
(standards.)275 1907 y(The)35 b(TLD)i(functionalit)m(y)h(rely)e(on)h
(up-to-date)g(tables.)60 b(The)36 b(latest)i(v)m(ersion)f(of)f(Libidn)f
(aim)i(to)150 2016 y(pro)m(vide)28 b(these,)h(but)d(tables)j(with)e
(unclear)h(cop)m(ying)g(conditions,)h(or)f(generally)h(exp)s(erimen)m
(tal)f(tables,)150 2126 y(are)j(not)f(included.)40 b(Some)31
b(suc)m(h)f(tables)h(can)g(b)s(e)e(found)g(at)j Fp
(http://tldchk.berlios.d)o(e)p Fv(.)150 2361 y Fu(7.1)68
b(Header)46 b(\014le)f Fi(tld.h)150 2520 y Fv(T)-8 b(o)31
b(use)f(the)g(functions)g(explained)h(in)f(this)g(c)m(hapter,)i(y)m(ou)
e(need)g(to)i(include)e(the)g(\014le)h(`)p Fp(tld.h)p
Fv(')e(using:)390 2657 y Fp(#include)46 b(<tld.h>)150
2892 y Fu(7.2)68 b(Core)46 b(F)-11 b(unctions)3350 3103
y Fv([F)j(unction])-3599 b Fo(int)53 b(tld_check_4t)c
Fn(\()p Fm(const)32 b(uin)m(t32)p 1561 3103 28 4 v 41
w(t)e(*)h Fl(in)p Fm(,)g(size)p 2044 3103 V 41 w(t)g
Fl(inlen)p Fm(,)h(size)p 2609 3103 V 41 w(t)e(*)h Fl(errpos)p
Fm(,)565 3212 y(const)g(Tld)p 951 3212 V 39 w(table)h(*)e
Fl(tld)12 b Fn(\))390 3322 y Fm(in)p Fv(:)40 b(Arra)m(y)31
b(of)g(unico)s(de)e(co)s(de)i(p)s(oin)m(ts)f(to)h(pro)s(cess.)41
b(Do)s(es)31 b(not)f(need)g(to)h(b)s(e)f(zero)h(terminated.)390
3458 y Fm(inlen)p Fv(:)41 b(Num)m(b)s(er)29 b(of)h(unico)s(de)g(co)s
(de)h(p)s(oin)m(ts.)390 3594 y Fm(errp)s(os)t Fv(:)39
b(P)m(osition)32 b(of)f(o\013ending)f(c)m(haracter)i(is)e(returned)g
(here.)390 3730 y Fm(tld)t Fv(:)60 b(A)40 b Fp(Tld_table)d
Fv(data)k(structure)e(represen)m(ting)h(the)h(restrictions)f(for)g
(whic)m(h)g(the)g(input)390 3840 y(should)29 b(b)s(e)h(tested.)390
3976 y(T)-8 b(est)36 b(eac)m(h)g(of)f(the)h(co)s(de)f(p)s(oin)m(ts)g
(in)g Fp(in)f Fv(for)h(whether)g(or)g(not)g(they)g(are)h(allo)m(w)m(ed)
h(b)m(y)e(the)g(data)390 4086 y(structure)g(in)h Fp(tld)p
Fv(,)g(return)f(the)h(p)s(osition)g(of)g(the)g(\014rst)f(c)m(haracter)j
(for)d(whic)m(h)h(this)g(is)g(not)g(the)390 4195 y(case)31
b(in)f Fp(errpos)p Fv(.)390 4332 y Fk(Return)h(v)-5 b(alue:)44
b Fv(Returns)31 b(the)h Fp(Tld_rc)e Fv(v)-5 b(alue)32
b Fp(TLD_SUCCESS)c Fv(if)k(all)g(co)s(de)g(p)s(oin)m(ts)g(are)g(v)-5
b(alid)32 b(or)390 4441 y(when)27 b Fp(tld)f Fv(is)i(n)m(ull,)g
Fp(TLD_INVALID)d Fv(if)i(a)h(c)m(haracter)h(is)f(not)f(allo)m(w)m(ed,)k
(or)c(additional)i(error)e(co)s(des)390 4551 y(on)j(general)i(failure)e
(conditions.)3350 4739 y([F)-8 b(unction])-3599 b Fo(int)53
b(tld_check_4tz)d Fn(\()p Fm(const)31 b(uin)m(t32)p 1613
4739 V 41 w(t)g(*)f Fl(in)p Fm(,)h(size)p 2096 4739 V
41 w(t)g(*)g Fl(errpos)p Fm(,)h(const)565 4848 y(Tld)p
713 4848 V 40 w(table)f(*)g Fl(tld)12 b Fn(\))390 4958
y Fm(in)p Fv(:)40 b(Zero)31 b(terminated)g(arra)m(y)g(of)f(unico)s(de)g
(co)s(de)h(p)s(oin)m(ts)f(to)h(pro)s(cess.)390 5094 y
Fm(errp)s(os)t Fv(:)39 b(P)m(osition)32 b(of)f(o\013ending)f(c)m
(haracter)i(is)e(returned)g(here.)390 5230 y Fm(tld)t
Fv(:)60 b(A)40 b Fp(Tld_table)d Fv(data)k(structure)e(represen)m(ting)h
(the)h(restrictions)f(for)g(whic)m(h)g(the)g(input)390
5340 y(should)29 b(b)s(e)h(tested.)p eop end
%%Page: 28 33
TeXDict begin 28 32 bop 150 -116 a Fv(Chapter)30 b(7:)41
b(TLD)30 b(F)-8 b(unctions)2437 b(28)390 299 y(T)-8 b(est)36
b(eac)m(h)g(of)f(the)h(co)s(de)f(p)s(oin)m(ts)g(in)g
Fp(in)f Fv(for)h(whether)g(or)g(not)g(they)g(are)h(allo)m(w)m(ed)h(b)m
(y)e(the)g(data)390 408 y(structure)g(in)h Fp(tld)p Fv(,)g(return)f
(the)h(p)s(osition)g(of)g(the)g(\014rst)f(c)m(haracter)j(for)d(whic)m
(h)h(this)g(is)g(not)g(the)390 518 y(case)31 b(in)f Fp(errpos)p
Fv(.)390 652 y Fk(Return)h(v)-5 b(alue:)44 b Fv(Returns)31
b(the)h Fp(Tld_rc)e Fv(v)-5 b(alue)32 b Fp(TLD_SUCCESS)c
Fv(if)k(all)g(co)s(de)g(p)s(oin)m(ts)g(are)g(v)-5 b(alid)32
b(or)390 762 y(when)27 b Fp(tld)f Fv(is)i(n)m(ull,)g
Fp(TLD_INVALID)d Fv(if)i(a)h(c)m(haracter)h(is)f(not)f(allo)m(w)m(ed,)k
(or)c(additional)i(error)e(co)s(des)390 871 y(on)j(general)i(failure)e
(conditions.)150 1102 y Fu(7.3)68 b(Utilit)l(y)47 b(F)-11
b(unctions)3350 1310 y Fv([F)j(unction])-3599 b Fo(int)53
b(tld_get_4)48 b Fn(\()p Fm(const)32 b(uin)m(t32)p 1404
1310 28 4 v 41 w(t)e(*)h Fl(in)p Fm(,)g(size)p 1887 1310
V 41 w(t)g Fl(inlen)p Fm(,)h(c)m(har)f(**)g Fl(out)12
b Fn(\))390 1420 y Fm(in)p Fv(:)40 b(Arra)m(y)31 b(of)g(unico)s(de)e
(co)s(de)i(p)s(oin)m(ts)f(to)h(pro)s(cess.)41 b(Do)s(es)31
b(not)f(need)g(to)h(b)s(e)f(zero)h(terminated.)390 1554
y Fm(inlen)p Fv(:)41 b(Num)m(b)s(er)29 b(of)h(unico)s(de)g(co)s(de)h(p)
s(oin)m(ts.)390 1688 y Fm(out)r Fv(:)41 b(Zero)30 b(terminated)h(ascii)
h(result)e(string)g(p)s(oin)m(ter.)390 1822 y(Isolate)i(the)e(top-lev)m
(el)j(domain)d(of)h Fp(in)f Fv(and)f(return)h(it)h(as)f(an)h(ASCI)s(I)d
(string)j(in)f Fp(out)p Fv(.)390 1956 y Fk(Return)38
b(v)-5 b(alue:)56 b Fv(Return)37 b Fp(TLD_SUCCESS)d Fv(on)k(success,)i
(or)e(the)g(corresp)s(onding)f Fp(Tld_rc)f Fv(error)390
2065 y(co)s(de)31 b(otherwise.)3350 2248 y([F)-8 b(unction])-3599
b Fo(int)53 b(tld_get_4z)c Fn(\()p Fm(const)31 b(uin)m(t32)p
1456 2248 V 41 w(t)g(*)f Fl(in)p Fm(,)i(c)m(har)e(**)h
Fl(out)12 b Fn(\))390 2357 y Fm(in)p Fv(:)40 b(Zero)31
b(terminated)g(arra)m(y)g(of)f(unico)s(de)g(co)s(de)h(p)s(oin)m(ts)f
(to)h(pro)s(cess.)390 2491 y Fm(out)r Fv(:)41 b(Zero)30
b(terminated)h(ascii)h(result)e(string)g(p)s(oin)m(ter.)390
2625 y(Isolate)i(the)e(top-lev)m(el)j(domain)d(of)h Fp(in)f
Fv(and)f(return)h(it)h(as)f(an)h(ASCI)s(I)d(string)j(in)f
Fp(out)p Fv(.)390 2759 y Fk(Return)38 b(v)-5 b(alue:)56
b Fv(Return)37 b Fp(TLD_SUCCESS)d Fv(on)k(success,)i(or)e(the)g
(corresp)s(onding)f Fp(Tld_rc)f Fv(error)390 2869 y(co)s(de)31
b(otherwise.)3350 3051 y([F)-8 b(unction])-3599 b Fo(int)53
b(tld_get_z)48 b Fn(\()p Fm(const)32 b(c)m(har)e(*)h
Fl(in)p Fm(,)g(c)m(har)g(**)g Fl(out)12 b Fn(\))390 3161
y Fm(in)p Fv(:)40 b(Zero)31 b(terminated)g(c)m(haracter)h(arra)m(y)e
(to)i(pro)s(cess.)390 3295 y Fm(out)r Fv(:)41 b(Zero)30
b(terminated)h(ascii)h(result)e(string)g(p)s(oin)m(ter.)390
3429 y(Isolate)f(the)e(top-lev)m(el)j(domain)d(of)g Fp(in)g
Fv(and)g(return)f(it)i(as)f(an)g(ASCI)s(I)f(string)h(in)g
Fp(out)p Fv(.)39 b(The)27 b(input)390 3538 y(string)j
Fp(in)g Fv(ma)m(y)h(b)s(e)f(UTF-8,)h(ISO-8859-1)i(or)d(an)m(y)h(ASCI)s
(I)d(compatible)k(c)m(haracter)g(enco)s(ding.)390 3672
y Fk(Return)38 b(v)-5 b(alue:)56 b Fv(Return)37 b Fp(TLD_SUCCESS)d
Fv(on)k(success,)i(or)e(the)g(corresp)s(onding)f Fp(Tld_rc)f
Fv(error)390 3782 y(co)s(de)31 b(otherwise.)3350 3964
y([F)-8 b(unction])-3599 b Fo(const)54 b(Tld_table)h(*)d(tld_get_table)
e Fn(\()p Fm(const)31 b(c)m(har)g(*)g Fl(tld)p Fm(,)g(const)g(Tld)p
2964 3964 V 39 w(table)565 4074 y(**)g Fl(tables)12 b
Fn(\))390 4183 y Fm(tld)t Fv(:)40 b(TLD)31 b(name)f(\(e.g.)42
b Fp(")p Fv(com)p Fp(")p Fv(\))31 b(as)f(zero)i(terminated)f(ASCI)s(I)d
(b)m(yte)j(string.)390 4317 y Fm(tables)t Fv(:)41 b(Zero)31
b(terminated)f(arra)m(y)h(of)g Fp(Tld_table)d Fv(info-structures)i(for)
g(TLDs.)390 4451 y(Get)25 b(the)g(TLD)f(table)i(for)e(a)h(named)f(TLD)g
(b)m(y)g(searc)m(hing)h(through)f(the)h(giv)m(en)g(TLD)f(table)i(arra)m
(y)-8 b(.)390 4585 y Fk(Return)29 b(v)-5 b(alue:)40 b
Fv(Return)29 b(structure)g(corresp)s(onding)f(to)i(TLD)f
Fp(tld)f Fv(b)m(y)h(going)i(thru)d Fp(tables)p Fv(,)g(or)390
4695 y(return)h Fp(NULL)g Fv(if)i(no)f(suc)m(h)g(structure)g(is)g
(found.)3350 4877 y([F)-8 b(unction])-3599 b Fo(const)54
b(Tld_table)h(*)d(tld_default_table)f Fn(\()p Fm(const)31
b(c)m(har)g(*)g Fl(tld)p Fm(,)g(const)565 4987 y(Tld)p
713 4987 V 40 w(table)g(**)g Fl(overrides)12 b Fn(\))390
5096 y Fm(tld)t Fv(:)40 b(TLD)31 b(name)f(\(e.g.)42 b
Fp(")p Fv(com)p Fp(")p Fv(\))31 b(as)f(zero)i(terminated)f(ASCI)s(I)d
(b)m(yte)j(string.)390 5230 y Fm(o)m(v)m(errides)t Fv(:)48
b(Additional)34 b(zero)g(terminated)g(arra)m(y)g(of)g
Fp(Tld_table)d Fv(info-structures)i(for)g(TLDs,)390 5340
y(or)d Fp(NULL)g Fv(to)h(only)f(use)g(library)g(deault)h(tables.)p
eop end
%%Page: 29 34
TeXDict begin 29 33 bop 150 -116 a Fv(Chapter)30 b(7:)41
b(TLD)30 b(F)-8 b(unctions)2437 b(29)390 299 y(Get)32
b(the)f(TLD)g(table)h(for)f(a)g(named)f(TLD,)i(using)e(the)h(in)m
(ternal)h(defaults,)f(p)s(ossibly)f(o)m(v)m(errided)390
408 y(b)m(y)g(the)h(\(optional\))h(supplied)d(tables.)390
550 y Fk(Return)24 b(v)-5 b(alue:)38 b Fv(Return)24 b(structure)g
(corresp)s(onding)g(to)h(TLD)f Fp(tld_str)p Fv(,)g(\014rst)g(lo)s
(oking)i(through)390 659 y Fp(overrides)i Fv(then)i(thru)f(built-in)h
(list,)i(or)e Fp(NULL)f Fv(if)i(no)f(suc)m(h)g(structure)g(found.)150
902 y Fu(7.4)68 b(High-Lev)l(el)46 b(W)-11 b(rapp)t(er)45
b(F)-11 b(unctions)3350 1118 y Fv([F)j(unction])-3599
b Fo(int)53 b(tld_check_4)c Fn(\()p Fm(const)31 b(uin)m(t32)p
1508 1118 28 4 v 41 w(t)g(*)g Fl(in)p Fm(,)g(size)p 1992
1118 V 41 w(t)f Fl(inlen)p Fm(,)i(size)p 2556 1118 V
41 w(t)f(*)g Fl(errpos)p Fm(,)565 1228 y(const)g(Tld)p
951 1228 V 39 w(table)h(**)f Fl(overrides)12 b Fn(\))390
1338 y Fm(in)p Fv(:)40 b(Arra)m(y)31 b(of)g(unico)s(de)e(co)s(de)i(p)s
(oin)m(ts)f(to)h(pro)s(cess.)41 b(Do)s(es)31 b(not)f(need)g(to)h(b)s(e)
f(zero)h(terminated.)390 1479 y Fm(inlen)p Fv(:)41 b(Num)m(b)s(er)29
b(of)h(unico)s(de)g(co)s(de)h(p)s(oin)m(ts.)390 1620
y Fm(errp)s(os)t Fv(:)39 b(P)m(osition)32 b(of)f(o\013ending)f(c)m
(haracter)i(is)e(returned)g(here.)390 1762 y Fm(o)m(v)m(errides)t
Fv(:)48 b(A)34 b Fp(Tld_table)d Fv(arra)m(y)j(of)g(additional)h(domain)
e(restriction)i(structures)e(that)h(com-)390 1872 y(plemen)m(t)d(and)f
(sup)s(ersede)f(the)h(built-in)g(information.)390 2013
y(T)-8 b(est)26 b(eac)m(h)h(of)f(the)g(co)s(de)g(p)s(oin)m(ts)g(in)f
Fp(in)g Fv(for)h(whether)f(or)h(not)g(they)g(are)g(allo)m(w)m(ed)h(b)m
(y)f(the)g(informa-)390 2123 y(tion)32 b(in)g Fp(overrides)d
Fv(or)j(b)m(y)g(the)g(built-in)g(TLD)g(restriction)g(data.)46
b(When)32 b(data)h(for)e(the)i(same)390 2232 y(TLD)39
b(is)g(a)m(v)-5 b(ailable)41 b(b)s(oth)d(in)m(ternally)i(and)e(in)h
Fp(overrides)p Fv(,)g(the)g(information)g(in)f Fp(overrides)390
2342 y Fv(tak)m(es)29 b(precedence.)40 b(If)27 b(sev)m(eral)i(en)m
(tries)g(for)e(a)h(sp)s(eci\014c)g(TLD)f(are)h(found,)f(the)h(\014rst)f
(one)h(is)f(used.)390 2451 y(If)k Fp(overrides)e Fv(is)i
Fp(NULL)p Fv(,)f(only)i(the)f(built-in)g(information)h(is)f(used.)43
b(The)30 b(p)s(osition)i(of)f(the)h(\014rst)390 2561
y(o\013ending)e(c)m(haracter)i(is)f(returned)e(in)h Fp(errpos)p
Fv(.)390 2702 y Fk(Return)h(v)-5 b(alue:)44 b Fv(Returns)31
b(the)h Fp(Tld_rc)e Fv(v)-5 b(alue)32 b Fp(TLD_SUCCESS)c
Fv(if)k(all)g(co)s(de)g(p)s(oin)m(ts)g(are)g(v)-5 b(alid)32
b(or)390 2812 y(when)27 b Fp(tld)f Fv(is)i(n)m(ull,)g
Fp(TLD_INVALID)d Fv(if)i(a)h(c)m(haracter)h(is)f(not)f(allo)m(w)m(ed,)k
(or)c(additional)i(error)e(co)s(des)390 2921 y(on)j(general)i(failure)e
(conditions.)3350 3120 y([F)-8 b(unction])-3599 b Fo(int)53
b(tld_check_4z)c Fn(\()p Fm(const)31 b(uin)m(t32)p 1560
3120 V 41 w(t)f(*)g Fl(in)p Fm(,)g(size)p 2041 3120 V
41 w(t)g(*)g Fl(errpos)p Fm(,)i(const)e(Tld)p 2970 3120
V 39 w(table)565 3229 y(**)h Fl(overrides)12 b Fn(\))390
3339 y Fm(in)p Fv(:)40 b(Zero-terminated)32 b(arra)m(y)f(of)f(unico)s
(de)g(co)s(de)h(p)s(oin)m(ts)f(to)h(pro)s(cess.)390 3480
y Fm(errp)s(os)t Fv(:)39 b(P)m(osition)32 b(of)f(o\013ending)f(c)m
(haracter)i(is)e(returned)g(here.)390 3622 y Fm(o)m(v)m(errides)t
Fv(:)48 b(A)34 b Fp(Tld_table)d Fv(arra)m(y)j(of)g(additional)h(domain)
e(restriction)i(structures)e(that)h(com-)390 3731 y(plemen)m(t)d(and)f
(sup)s(ersede)f(the)h(built-in)g(information.)390 3873
y(T)-8 b(est)26 b(eac)m(h)h(of)f(the)g(co)s(de)g(p)s(oin)m(ts)g(in)f
Fp(in)g Fv(for)h(whether)f(or)h(not)g(they)g(are)g(allo)m(w)m(ed)h(b)m
(y)f(the)g(informa-)390 3982 y(tion)32 b(in)g Fp(overrides)d
Fv(or)j(b)m(y)g(the)g(built-in)g(TLD)g(restriction)g(data.)46
b(When)32 b(data)h(for)e(the)i(same)390 4092 y(TLD)39
b(is)g(a)m(v)-5 b(ailable)41 b(b)s(oth)d(in)m(ternally)i(and)e(in)h
Fp(overrides)p Fv(,)g(the)g(information)g(in)f Fp(overrides)390
4201 y Fv(tak)m(es)29 b(precedence.)40 b(If)27 b(sev)m(eral)i(en)m
(tries)g(for)e(a)h(sp)s(eci\014c)g(TLD)f(are)h(found,)f(the)h(\014rst)f
(one)h(is)f(used.)390 4311 y(If)k Fp(overrides)e Fv(is)i
Fp(NULL)p Fv(,)f(only)i(the)f(built-in)g(information)h(is)f(used.)43
b(The)30 b(p)s(osition)i(of)f(the)h(\014rst)390 4421
y(o\013ending)e(c)m(haracter)i(is)f(returned)e(in)h Fp(errpos)p
Fv(.)390 4562 y Fk(Return)h(v)-5 b(alue:)44 b Fv(Returns)31
b(the)h Fp(Tld_rc)e Fv(v)-5 b(alue)32 b Fp(TLD_SUCCESS)c
Fv(if)k(all)g(co)s(de)g(p)s(oin)m(ts)g(are)g(v)-5 b(alid)32
b(or)390 4672 y(when)27 b Fp(tld)f Fv(is)i(n)m(ull,)g
Fp(TLD_INVALID)d Fv(if)i(a)h(c)m(haracter)h(is)f(not)f(allo)m(w)m(ed,)k
(or)c(additional)i(error)e(co)s(des)390 4781 y(on)j(general)i(failure)e
(conditions.)3350 4979 y([F)-8 b(unction])-3599 b Fo(int)53
b(tld_check_8z)c Fn(\()p Fm(const)32 b(c)m(har)e(*)h
Fl(in)p Fm(,)g(size)p 1888 4979 V 41 w(t)g(*)g Fl(errpos)p
Fm(,)h(const)f(Tld)p 2820 4979 V 39 w(table)g(**)565
5089 y Fl(overrides)12 b Fn(\))390 5199 y Fm(in)p Fv(:)40
b(Zero-terminated)32 b(UTF8)f(string)f(to)h(pro)s(cess.)390
5340 y Fm(errp)s(os)t Fv(:)39 b(P)m(osition)32 b(of)f(o\013ending)f(c)m
(haracter)i(is)e(returned)g(here.)p eop end
%%Page: 30 35
TeXDict begin 30 34 bop 150 -116 a Fv(Chapter)30 b(7:)41
b(TLD)30 b(F)-8 b(unctions)2437 b(30)390 299 y Fm(o)m(v)m(errides)t
Fv(:)48 b(A)34 b Fp(Tld_table)d Fv(arra)m(y)j(of)g(additional)h(domain)
e(restriction)i(structures)e(that)h(com-)390 408 y(plemen)m(t)d(and)f
(sup)s(ersede)f(the)h(built-in)g(information.)390 545
y(T)-8 b(est)21 b(eac)m(h)h(of)f(the)g(c)m(haracters)h(in)e
Fp(in)h Fv(for)f(whether)g(or)h(not)g(they)g(are)g(allo)m(w)m(ed)h(b)m
(y)f(the)g(information)390 655 y(in)29 b Fp(overrides)e
Fv(or)j(b)m(y)f(the)h(built-in)f(TLD)h(restriction)g(data.)41
b(When)30 b(data)g(for)f(the)h(same)g(TLD)390 764 y(is)38
b(a)m(v)-5 b(ailable)40 b(b)s(oth)e(in)m(ternally)g(and)g(in)f
Fp(overrides)p Fv(,)h(the)g(information)g(in)g Fp(overrides)d
Fv(tak)m(es)390 874 y(precedence.)56 b(If)34 b(sev)m(eral)j(en)m(tries)
f(for)f(a)g(sp)s(eci\014c)g(TLD)h(are)f(found,)g(the)h(\014rst)e(one)i
(is)f(used.)54 b(If)390 983 y Fp(overrides)35 b Fv(is)i
Fp(NULL)p Fv(,)h(only)g(the)f(built-in)g(information)h(is)f(used.)61
b(The)36 b(p)s(osition)i(of)f(the)h(\014rst)390 1093
y(o\013ending)32 b(c)m(haracter)i(is)e(returned)f(in)h
Fp(errpos)p Fv(.)44 b(Note)34 b(that)f(the)f(error)g(p)s(osition)g
(refers)g(to)h(the)390 1203 y(deco)s(ded)d(c)m(haracter)i(o\013set)f
(rather)g(than)f(the)g(b)m(yte)h(p)s(osition)g(in)f(the)g(string.)390
1339 y Fk(Return)35 b(v)-5 b(alue:)52 b Fv(Returns)35
b(the)g Fp(Tld_rc)f Fv(v)-5 b(alue)36 b Fp(TLD_SUCCESS)d
Fv(if)i(all)i(c)m(haracters)g(are)f(v)-5 b(alid)36 b(or)390
1449 y(when)27 b Fp(tld)f Fv(is)i(n)m(ull,)g Fp(TLD_INVALID)d
Fv(if)i(a)h(c)m(haracter)h(is)f(not)f(allo)m(w)m(ed,)k(or)c(additional)
i(error)e(co)s(des)390 1558 y(on)j(general)i(failure)e(conditions.)3350
1747 y([F)-8 b(unction])-3599 b Fo(int)53 b(tld_check_lz)c
Fn(\()p Fm(const)32 b(c)m(har)e(*)h Fl(in)p Fm(,)g(size)p
1888 1747 28 4 v 41 w(t)g(*)g Fl(errpos)p Fm(,)h(const)f(Tld)p
2820 1747 V 39 w(table)g(**)565 1856 y Fl(overrides)12
b Fn(\))390 1966 y Fm(in)p Fv(:)40 b(Zero-terminated)32
b(string)e(in)g(the)h(curren)m(t)f(lo)s(cales)i(enco)s(ding)e(to)h(pro)
s(cess.)390 2103 y Fm(errp)s(os)t Fv(:)39 b(P)m(osition)32
b(of)f(o\013ending)f(c)m(haracter)i(is)e(returned)g(here.)390
2239 y Fm(o)m(v)m(errides)t Fv(:)48 b(A)34 b Fp(Tld_table)d
Fv(arra)m(y)j(of)g(additional)h(domain)e(restriction)i(structures)e
(that)h(com-)390 2349 y(plemen)m(t)d(and)f(sup)s(ersede)f(the)h
(built-in)g(information.)390 2485 y(T)-8 b(est)21 b(eac)m(h)h(of)f(the)
g(c)m(haracters)h(in)e Fp(in)h Fv(for)f(whether)g(or)h(not)g(they)g
(are)g(allo)m(w)m(ed)h(b)m(y)f(the)g(information)390
2595 y(in)29 b Fp(overrides)e Fv(or)j(b)m(y)f(the)h(built-in)f(TLD)h
(restriction)g(data.)41 b(When)30 b(data)g(for)f(the)h(same)g(TLD)390
2705 y(is)38 b(a)m(v)-5 b(ailable)40 b(b)s(oth)e(in)m(ternally)g(and)g
(in)f Fp(overrides)p Fv(,)h(the)g(information)g(in)g
Fp(overrides)d Fv(tak)m(es)390 2814 y(precedence.)56
b(If)34 b(sev)m(eral)j(en)m(tries)f(for)f(a)g(sp)s(eci\014c)g(TLD)h
(are)f(found,)g(the)h(\014rst)e(one)i(is)f(used.)54 b(If)390
2924 y Fp(overrides)35 b Fv(is)i Fp(NULL)p Fv(,)h(only)g(the)f
(built-in)g(information)h(is)f(used.)61 b(The)36 b(p)s(osition)i(of)f
(the)h(\014rst)390 3033 y(o\013ending)32 b(c)m(haracter)i(is)e
(returned)f(in)h Fp(errpos)p Fv(.)44 b(Note)34 b(that)f(the)f(error)g
(p)s(osition)g(refers)g(to)h(the)390 3143 y(deco)s(ded)d(c)m(haracter)i
(o\013set)f(rather)g(than)f(the)g(b)m(yte)h(p)s(osition)g(in)f(the)g
(string.)390 3279 y Fk(Return)35 b(v)-5 b(alue:)52 b
Fv(Returns)35 b(the)g Fp(Tld_rc)f Fv(v)-5 b(alue)36 b
Fp(TLD_SUCCESS)d Fv(if)i(all)i(c)m(haracters)g(are)f(v)-5
b(alid)36 b(or)390 3389 y(when)27 b Fp(tld)f Fv(is)i(n)m(ull,)g
Fp(TLD_INVALID)d Fv(if)i(a)h(c)m(haracter)h(is)f(not)f(allo)m(w)m(ed,)k
(or)c(additional)i(error)e(co)s(des)390 3499 y(on)j(general)i(failure)e
(conditions.)150 3734 y Fu(7.5)68 b(Error)45 b(Handling)3350
3946 y Fv([F)-8 b(unction])-3599 b Fo(const)54 b(char)f(*)g
(tld_strerror)c Fn(\()p Fm(Tld)p 1686 3946 V 40 w(rc)30
b Fl(rc)12 b Fn(\))390 4055 y Fm(rc)6 b Fv(:)40 b(tld)31
b(return)e(co)s(de)390 4192 y(Con)m(v)m(ert)35 b(a)f(return)e(co)s(de)i
(in)m(teger)i(to)e(a)g(text)h(string.)51 b(This)33 b(string)h(can)g(b)s
(e)f(used)g(to)h(output)g(a)390 4301 y(diagnostic)e(message)f(to)g(the)
g(user.)390 4438 y Fk(TLD)p 584 4438 28 5 v 39 w(SUCCESS:)21
b Fv(Successful)h(op)s(eration.)39 b(This)22 b(v)-5 b(alue)23
b(is)g(guaran)m(teed)h(to)g(alw)m(a)m(ys)g(b)s(e)e(zero,)k(the)390
4547 y(remaining)36 b(ones)g(are)h(only)f(guaran)m(teed)h(to)g(hold)f
(non-zero)g(v)-5 b(alues,)38 b(for)e(logical)j(comparison)390
4657 y(purp)s(oses.)390 4794 y Fk(TLD)p 584 4794 V 39
w(INV)-10 b(ALID:)30 b Fv(In)m(v)-5 b(alid)30 b(c)m(haracter)i(found.)
390 4930 y Fk(TLD)p 584 4930 V 39 w(NOD)m(A)-8 b(T)g(A:)32
b Fv(No)f(input)e(data)i(w)m(as)g(pro)m(vided.)390 5067
y Fk(TLD)p 584 5067 V 39 w(MALLOC)p 1022 5067 V 39 w(ERR)m(OR:)g
Fv(Error)f(during)f(memory)h(allo)s(cation.)390 5203
y Fk(TLD)p 584 5203 V 39 w(ICONV)p 933 5203 V 40 w(ERR)m(OR:)h
Fv(Error)f(during)f(icon)m(v)i(string)g(con)m(v)m(ersion.)390
5340 y Fk(TLD)p 584 5340 V 39 w(NO)p 762 5340 V 41 w(TLD:)f
Fv(No)h(top-lev)m(el)h(domain)f(found)e(in)h(domain)g(string.)p
eop end
%%Page: 31 36
TeXDict begin 31 35 bop 150 -116 a Fv(Chapter)30 b(7:)41
b(TLD)30 b(F)-8 b(unctions)2437 b(31)390 299 y Fk(Return)29
b(v)-5 b(alue:)40 b Fv(Returns)29 b(a)g(p)s(oin)m(ter)h(to)g(a)f
(statically)j(allo)s(cated)f(string)f(con)m(taining)h(a)e(descrip-)390
408 y(tion)i(of)f(the)h(error)f(with)g(the)h(return)e(co)s(de)h
Fp(rc)p Fv(.)p eop end
%%Page: 32 37
TeXDict begin 32 36 bop 150 -116 a Fv(Chapter)30 b(8:)41
b(PR29)31 b(F)-8 b(unctions)2409 b(32)150 299 y Fs(8)80
b(PR29)54 b(F)-13 b(unctions)150 604 y Fv(A)42 b(de\014ciency)f(in)g
(the)h(sp)s(eci\014cation)g(of)g(Unico)s(de)f(Normalization)j(F)-8
b(orms)42 b(has)f(b)s(een)g(found.)72 b(The)150 713 y(consequence)36
b(is)g(that)g(some)g(strings)f(can)h(b)s(e)f(normalized)h(in)m(to)h
(di\013eren)m(t)f(strings)f(b)m(y)h(di\013eren)m(t)g(im-)150
823 y(plemen)m(tations.)49 b(In)31 b(other)i(w)m(ords,)g(t)m(w)m(o)h
(di\013eren)m(t)f(implemen)m(tations)h(ma)m(y)f(return)e(di\013eren)m
(t)i(output)150 933 y(for)e(the)g(same)g(input)g(\(b)s(ecause)g(the)g
(in)m(terpretation)i(of)e(the)g(sp)s(eci\014cation)h(is)f(am)m
(biguous\).)43 b(F)-8 b(urther,)150 1042 y(an)35 b(implemen)m(tation)i
(in)m(v)m(ok)m(ed)g(again)g(on)e(the)g(one)h(of)g(the)f(output)g
(strings)g(ma)m(y)h(return)f(a)g(di\013eren)m(t)150 1152
y(string)26 b(\(b)s(ecause)g(one)g(of)g(the)g(in)m(terpretation)i(of)e
(the)g(am)m(biguous)g(sp)s(eci\014cation)g(mak)m(e)h(normalization)150
1261 y(non-idemp)s(oten)m(t\).)58 b(F)-8 b(ortunately)g(,)40
b(only)c(a)g(select)i(few)d(c)m(haracter)j(sequence)e(exhibit)g(this)g
(problem,)150 1371 y(and)h(none)h(of)h(them)f(are)g(exp)s(ected)h(to)g
(o)s(ccur)e(in)h(natural)g(languages)i(\(due)e(to)g(di\013eren)m(t)h
(linguistic)150 1481 y(uses)30 b(of)g(the)h(in)m(v)m(olv)m(ed)h(c)m
(haracters\).)275 1639 y(A)e(full)g(discussion)g(of)g(the)h(problem)f
(ma)m(y)h(b)s(e)e(found)h(at:)275 1797 y Fp(http://www.unicode.org/)o
(rev)o(iew/)o(pr-2)o(9.h)o(tml)275 1955 y Fv(The)35 b(PR29)h(functions)
f(b)s(elo)m(w)h(allo)m(w)h(y)m(ou)f(to)g(detect)h(the)f(problem)e
(sequence.)57 b(So)36 b(when)e(w)m(ould)150 2064 y(y)m(ou)40
b(w)m(an)m(t)h(to)f(use)g(these)g(functions?)69 b(F)-8
b(or)40 b(most)g(applications,)k(suc)m(h)39 b(as)i(those)f(using)f
(Nameprep)150 2174 y(for)33 b(IDN,)g(this)g(is)g(lik)m(ely)h(only)f(to)
h(b)s(e)e(an)h(in)m(terop)s(erabilit)m(y)h(problem.)48
b(Th)m(us,)33 b(y)m(ou)g(ma)m(y)g(not)g(w)m(an)m(t)h(to)150
2284 y(care)j(ab)s(out)e(it,)j(as)e(the)g(c)m(haracter)h(sequences)f
(will)g(rarely)g(o)s(ccur)g(naturally)-8 b(.)57 b(Ho)m(w)m(ev)m(er,)40
b(if)35 b(y)m(ou)i(are)150 2393 y(using)31 b(a)h(pro\014le,)h(suc)m(h)e
(as)h(SASLPrep,)f(to)h(pro)s(cess)g(authen)m(tication)i(tok)m(ens;)f
(authorization)h(tok)m(ens;)150 2503 y(or)c(passw)m(ords,)f(there)h(is)
f(a)h(real)g(danger)g(that)g(attac)m(k)m(ers)i(ma)m(y)f(try)e(to)i(use)
e(the)h(p)s(eculiarities)g(in)f(these)150 2612 y(strings)f(to)h(attac)m
(k)i(parts)d(of)h(y)m(our)f(system.)40 b(As)29 b(only)f(a)h(small)g(n)m
(um)m(b)s(er)e(of)i(strings,)g(and)e(no)i(naturally)150
2722 y(o)s(ccurring)e(strings,)i(exhibit)e(this)h(problem,)g(the)g
(conserv)-5 b(ativ)m(e)29 b(approac)m(h)f(of)g(rejecting)h(the)e
(strings)h(is)150 2832 y(recommended.)40 b(If)28 b(this)h(approac)m(h)g
(is)g(not)h(used,)e(y)m(ou)h(should)f(instead)i(v)m(erify)f(that)g(all)
h(parts)f(of)g(y)m(our)150 2941 y(system,)i(that)g(pro)s(cess)f(the)h
(tok)m(ens)h(and)e(passw)m(ords,)g(use)g(a)h(NFK)m(C)g(implemen)m
(tation)h(that)f(pro)s(duce)150 3051 y(the)g(same)f(output)g(for)g(the)
h(same)g(input.)275 3209 y(T)-8 b(ec)m(hnically)32 b(inclined)f
(readers)g(ma)m(y)h(b)s(e)e(in)m(terested)i(in)f(kno)m(wing)g(more)g
(ab)s(out)f(the)i(implemen)m(ta-)150 3318 y(tion)f(asp)s(ects)g(of)f
(the)h(PR29)g(\015a)m(w.)40 b(See)31 b(App)s(endix)e(A)h([PR29)h
(discussion],)g(page)g(62.)150 3586 y Fu(8.1)68 b(Header)46
b(\014le)f Fi(pr29.h)150 3746 y Fv(T)-8 b(o)31 b(use)f(the)g(functions)
g(explained)h(in)f(this)g(c)m(hapter,)i(y)m(ou)e(need)g(to)i(include)e
(the)g(\014le)h(`)p Fp(pr29.h)p Fv(')e(using:)390 3904
y Fp(#include)46 b(<pr29.h>)150 4172 y Fu(8.2)68 b(Core)46
b(F)-11 b(unctions)3350 4405 y Fv([F)j(unction])-3599
b Fo(int)53 b(pr29_4)47 b Fn(\()p Fm(const)32 b(uin)m(t32)p
1247 4405 28 4 v 41 w(t)e(*)h Fl(in)p Fm(,)g(size)p 1730
4405 V 41 w(t)g Fl(len)12 b Fn(\))390 4514 y Fm(in)p
Fv(:)40 b(input)30 b(arra)m(y)h(with)f(unico)s(de)g(co)s(de)g(p)s(oin)m
(ts.)390 4672 y Fm(len)p Fv(:)41 b(length)31 b(of)f(input)g(arra)m(y)g
(with)h(unico)s(de)e(co)s(de)i(p)s(oin)m(ts.)390 4830
y(Chec)m(k)23 b(the)g(input)f(to)i(see)f(if)g(it)g(ma)m(y)g(b)s(e)g
(normalized)g(in)m(to)h(di\013eren)m(t)f(strings)g(b)m(y)f(di\013eren)m
(t)i(NFK)m(C)390 4940 y(implemen)m(tations,)32 b(due)e(to)h(an)f
(anomaly)h(in)f(the)h(NFK)m(C)g(sp)s(eci\014cations.)390
5098 y Fk(Return)47 b(v)-5 b(alue:)75 b Fv(Returns)47
b(the)g Fp(Pr29_rc)e Fv(v)-5 b(alue)48 b Fp(PR29_SUCCESS)c
Fv(on)k(success,)k(and)46 b Fp(PR29_)390 5208 y(PROBLEM)28
b Fv(if)i(the)g(input)g(sequence)g(is)g(a)h Fp(")p Fv(problem)e
(sequence)p Fp(")h Fv(\(i.e.,)i(ma)m(y)f(b)s(e)e(normalized)i(in)m(to)
390 5317 y(di\013eren)m(t)g(strings)f(b)m(y)g(di\013eren)m(t)h
(implemen)m(tations\).)p eop end
%%Page: 33 38
TeXDict begin 33 37 bop 150 -116 a Fv(Chapter)30 b(8:)41
b(PR29)31 b(F)-8 b(unctions)2409 b(33)150 299 y Fu(8.3)68
b(Utilit)l(y)47 b(F)-11 b(unctions)3350 508 y Fv([F)j(unction])-3599
b Fo(int)53 b(pr29_4z)48 b Fn(\()p Fm(const)31 b(uin)m(t32)p
1299 508 28 4 v 41 w(t)g(*)f Fl(in)12 b Fn(\))390 618
y Fm(in)p Fv(:)40 b(zero)32 b(terminated)e(arra)m(y)h(of)g(Unico)s(de)f
(co)s(de)h(p)s(oin)m(ts.)390 752 y(Chec)m(k)23 b(the)g(input)f(to)i
(see)f(if)g(it)g(ma)m(y)g(b)s(e)g(normalized)g(in)m(to)h(di\013eren)m
(t)f(strings)g(b)m(y)f(di\013eren)m(t)i(NFK)m(C)390 862
y(implemen)m(tations,)32 b(due)e(to)h(an)f(anomaly)h(in)f(the)h(NFK)m
(C)g(sp)s(eci\014cations.)390 996 y Fk(Return)47 b(v)-5
b(alue:)75 b Fv(Returns)47 b(the)g Fp(Pr29_rc)e Fv(v)-5
b(alue)48 b Fp(PR29_SUCCESS)c Fv(on)k(success,)k(and)46
b Fp(PR29_)390 1106 y(PROBLEM)28 b Fv(if)i(the)g(input)g(sequence)g(is)
g(a)h Fp(")p Fv(problem)e(sequence)p Fp(")h Fv(\(i.e.,)i(ma)m(y)f(b)s
(e)e(normalized)i(in)m(to)390 1215 y(di\013eren)m(t)g(strings)f(b)m(y)g
(di\013eren)m(t)h(implemen)m(tations\).)3350 1400 y([F)-8
b(unction])-3599 b Fo(int)53 b(pr29_8z)48 b Fn(\()p Fm(const)31
b(c)m(har)g(*)g Fl(in)12 b Fn(\))390 1509 y Fm(in)p Fv(:)40
b(zero)32 b(terminated)e(input)g(UTF-8)h(string.)390
1644 y(Chec)m(k)23 b(the)g(input)f(to)i(see)f(if)g(it)g(ma)m(y)g(b)s(e)
g(normalized)g(in)m(to)h(di\013eren)m(t)f(strings)g(b)m(y)f(di\013eren)
m(t)i(NFK)m(C)390 1753 y(implemen)m(tations,)32 b(due)e(to)h(an)f
(anomaly)h(in)f(the)h(NFK)m(C)g(sp)s(eci\014cations.)390
1888 y Fk(Return)47 b(v)-5 b(alue:)75 b Fv(Returns)47
b(the)g Fp(Pr29_rc)e Fv(v)-5 b(alue)48 b Fp(PR29_SUCCESS)c
Fv(on)k(success,)k(and)46 b Fp(PR29_)390 1998 y(PROBLEM)28
b Fv(if)i(the)g(input)g(sequence)g(is)g(a)h Fp(")p Fv(problem)e
(sequence)p Fp(")h Fv(\(i.e.,)i(ma)m(y)f(b)s(e)e(normalized)i(in)m(to)
390 2107 y(di\013eren)m(t)37 b(strings)e(b)m(y)h(di\013eren)m(t)h
(implemen)m(tations\),)i(or)d Fp(PR29_STRINGPREP_ERROR)31
b Fv(if)36 b(there)390 2217 y(w)m(as)31 b(a)g(problem)e(con)m(v)m
(erting)j(the)f(string)f(from)g(UTF-8)i(to)f(UCS-4.)150
2449 y Fu(8.4)68 b(Error)45 b(Handling)3350 2658 y Fv([F)-8
b(unction])-3599 b Fo(const)54 b(char)f(*)g(pr29_strerror)c
Fn(\()p Fm(Pr29)p 1784 2658 V 41 w(rc)30 b Fl(rc)12 b
Fn(\))390 2768 y Fm(rc)6 b Fv(:)40 b(an)30 b Fp(Pr29_rc)f
Fv(return)g(co)s(de.)390 2902 y(Con)m(v)m(ert)35 b(a)f(return)e(co)s
(de)i(in)m(teger)i(to)e(a)g(text)h(string.)51 b(This)33
b(string)h(can)g(b)s(e)f(used)g(to)h(output)g(a)390 3012
y(diagnostic)e(message)f(to)g(the)g(user.)390 3147 y
Fk(PR29)p 617 3147 28 5 v 41 w(SUCCESS:)h Fv(Successful)h(op)s
(eration.)53 b(This)33 b(v)-5 b(alue)35 b(is)f(guaran)m(teed)i(to)f
(alw)m(a)m(ys)g(b)s(e)f(zero,)390 3256 y(the)23 b(remaining)f(ones)h
(are)g(only)g(guaran)m(teed)g(to)g(hold)g(non-zero)g(v)-5
b(alues,)24 b(for)f(logical)i(comparison)390 3366 y(purp)s(oses.)390
3500 y Fk(PR29)p 617 3500 V 41 w(PR)m(OBLEM:)31 b Fv(A)f(problem)g
(sequence)h(w)m(as)f(encoun)m(tered.)390 3635 y Fk(PR29)p
617 3635 V 41 w(STRINGPREP)p 1272 3635 V 40 w(ERR)m(OR:)35
b Fv(The)f(c)m(haracter)h(set)g(con)m(v)m(ersion)g(failed)g(\(only)g
(for)e Fp(pr29_)390 3744 y(8\(\))c Fv(and)h Fp(pr29_8z\(\))p
Fv(\).)390 3879 y Fk(Return)f(v)-5 b(alue:)40 b Fv(Returns)29
b(a)g(p)s(oin)m(ter)h(to)g(a)f(statically)j(allo)s(cated)f(string)f
(con)m(taining)h(a)e(descrip-)390 3988 y(tion)i(of)f(the)h(error)f
(with)g(the)h(return)e(co)s(de)h Fp(rc)p Fv(.)p eop end
%%Page: 34 39
TeXDict begin 34 38 bop 150 -116 a Fv(Chapter)30 b(9:)41
b(Examples)2661 b(34)150 299 y Fs(9)80 b(Examples)150
537 y Fv(This)26 b(c)m(hapter)h(con)m(tains)h(example)f(co)s(de)g(whic)
m(h)g(illustrate)h(ho)m(w)e(`Libidn')g(can)h(b)s(e)f(used)g(when)g
(writing)150 646 y(y)m(our)k(o)m(wn)h(application.)150
880 y Fu(9.1)68 b(Example)46 b(1)150 1040 y Fv(This)30
b(example)h(demonstrates)f(ho)m(w)h(the)f(stringprep)g(functions)g(are)
g(used.)150 1176 y Fp(/*)47 b(example.c)e(---)i(Example)f(code)h
(showing)f(how)h(to)g(use)g(stringprep\(\).)198 1285
y(*)g(Copyright)e(\(C\))i(2002,)g(2003,)f(2004)94 b(Simon)47
b(Josefsson)198 1395 y(*)198 1504 y(*)g(This)g(file)f(is)i(part)e(of)h
(GNU)g(Libidn.)198 1614 y(*)198 1724 y(*)g(GNU)g(Libidn)f(is)h(free)g
(software;)e(you)i(can)g(redistribute)e(it)i(and/or)198
1833 y(*)g(modify)f(it)h(under)g(the)g(terms)f(of)h(the)g(GNU)g(Lesser)
f(General)g(Public)198 1943 y(*)h(License)f(as)h(published)e(by)j(the)f
(Free)f(Software)g(Foundation;)e(either)198 2052 y(*)j(version)f(2.1)h
(of)g(the)g(License,)f(or)h(\(at)g(your)f(option\))g(any)h(later)f
(version.)198 2162 y(*)198 2271 y(*)h(GNU)g(Libidn)f(is)h(distributed)e
(in)i(the)g(hope)g(that)f(it)i(will)e(be)h(useful,)198
2381 y(*)g(but)g(WITHOUT)f(ANY)h(WARRANTY;)e(without)h(even)h(the)f
(implied)g(warranty)g(of)198 2491 y(*)h(MERCHANTABILITY)d(or)j(FITNESS)
f(FOR)h(A)g(PARTICULAR)e(PURPOSE.)93 b(See)47 b(the)g(GNU)198
2600 y(*)g(Lesser)f(General)g(Public)g(License)g(for)h(more)g(details.)
198 2710 y(*)198 2819 y(*)g(You)g(should)f(have)h(received)e(a)j(copy)e
(of)i(the)f(GNU)f(Lesser)h(General)e(Public)198 2929
y(*)i(License)f(along)g(with)h(GNU)g(Libidn;)f(if)h(not,)g(write)f(to)h
(the)g(Free)g(Software)198 3039 y(*)g(Foundation,)e(Inc.,)h(51)h
(Franklin)f(Street,)g(Fifth)g(Floor,)g(Boston,)g(MA)h(02110-1301,)e
(USA)198 3148 y(*)198 3258 y(*/)150 3477 y(#include)h(<stdio.h>)150
3587 y(#include)g(<stdlib.h>)150 3696 y(#include)g(<string.h>)150
3806 y(#include)g(<locale.h>)617 b(/*)47 b(setlocale\(\))e(*/)150
3915 y(#include)h(<stringprep.h>)150 4134 y(/*)198 4244
y(*)h(Compiling)e(using)i(libtool)f(and)h(pkg-config)e(is)i
(recommended:)198 4354 y(*)198 4463 y(*)g($)h(libtool)d(cc)j(-o)f
(example)f(example.c)f(`pkg-config)g(--cflags)g(--libs)h(libidn`)198
4573 y(*)h($)h(./example)198 4682 y(*)f(Input)g(string)f(encoded)f(as)j
(`ISO-8859-1':)2107 4643 y Fg(a)p 2107 4656 36 4 v 198
4792 a Fp(*)f(Before)f(locale2utf8)f(\(length)h(2\):)h(aa)g(0a)198
4902 y(*)g(Before)f(stringprep)f(\(length)h(3\):)h(c2)g(aa)g(0a)198
5011 y(*)g(After)g(stringprep)e(\(length)g(2\):)i(61)g(0a)198
5121 y(*)g($)198 5230 y(*)198 5340 y(*/)p eop end
%%Page: 35 40
TeXDict begin 35 39 bop 150 -116 a Fv(Chapter)30 b(9:)41
b(Examples)2661 b(35)150 408 y Fp(int)150 518 y(main)47
b(\(int)f(argc,)h(char)f(*argv[]\))150 628 y({)245 737
y(char)h(buf[BUFSIZ];)245 847 y(char)g(*p;)245 956 y(int)g(rc;)245
1066 y(size_t)g(i;)245 1285 y(setlocale)f(\(LC_ALL,)f(""\);)245
1504 y(printf)i(\("Input)e(string)h(encoded)g(as)h(`\045s':)g(",)g
(stringprep_locale_charse)o(t)42 b(\(\)\);)245 1614 y(fflush)47
b(\(stdout\);)245 1724 y(fgets)g(\(buf,)f(BUFSIZ,)g(stdin\);)245
1943 y(printf)h(\("Before)e(locale2utf8)g(\(length)h(\045d\):)g(",)h
(strlen)g(\(buf\)\);)245 2052 y(for)g(\(i)h(=)f(0;)g(i)h(<)f(strlen)f
(\(buf\);)g(i++\))341 2162 y(printf)g(\("\04502x)g(",)h(buf[i])f(&)i
(0xFF\);)245 2271 y(printf)f(\("\\n"\);)245 2491 y(p)h(=)f
(stringprep_locale_to_utf8)41 b(\(buf\);)245 2600 y(if)48
b(\(p\))341 2710 y({)436 2819 y(strcpy)e(\(buf,)h(p\);)436
2929 y(free)g(\(p\);)341 3039 y(})245 3148 y(else)341
3258 y(printf)f(\("Could)g(not)h(convert)f(string)g(to)h(UTF-8,)f
(continuing)f(anyway...\\n"\);)245 3477 y(printf)i(\("Before)e
(stringprep)g(\(length)h(\045d\):)h(",)g(strlen)f(\(buf\)\);)245
3587 y(for)h(\(i)h(=)f(0;)g(i)h(<)f(strlen)f(\(buf\);)g(i++\))341
3696 y(printf)g(\("\04502x)g(",)h(buf[i])f(&)i(0xFF\);)245
3806 y(printf)f(\("\\n"\);)245 4025 y(rc)h(=)f(stringprep)e(\(buf,)h
(BUFSIZ,)g(0,)h(stringprep_nameprep\);)245 4134 y(if)h(\(rc)f(!=)g
(STRINGPREP_OK\))341 4244 y(printf)f(\("Stringprep)e(failed)j
(\(\045d\):)f(\045s\\n",)g(rc,)h(stringprep_strerror)42
b(\(rc\)\);)245 4354 y(else)341 4463 y({)436 4573 y(printf)k(\("After)g
(stringprep)f(\(length)h(\045d\):)h(",)g(strlen)f(\(buf\)\);)436
4682 y(for)h(\(i)g(=)h(0;)f(i)h(<)f(strlen)f(\(buf\);)g(i++\))532
4792 y(printf)g(\("\04502x)g(",)h(buf[i])f(&)i(0xFF\);)436
4902 y(printf)e(\("\\n"\);)341 5011 y(})245 5230 y(return)h(0;)150
5340 y(})p eop end
%%Page: 36 41
TeXDict begin 36 40 bop 150 -116 a Fv(Chapter)30 b(9:)41
b(Examples)2661 b(36)150 299 y Fu(9.2)68 b(Example)46
b(2)150 458 y Fv(This)30 b(example)h(demonstrates)f(ho)m(w)h(the)f(pun)
m(yco)s(de)g(functions)g(are)h(used.)150 628 y Fp(/*)47
b(example2.c)e(---)i(Example)f(code)h(showing)e(how)i(to)g(use)g
(punycode.)198 737 y(*)g(Copyright)e(\(C\))i(2002,)g(2003,)f(2004)94
b(Simon)47 b(Josefsson)198 847 y(*)g(Copyright)e(\(C\))i(2002)95
b(Adam)46 b(M.)i(Costello)198 956 y(*)198 1066 y(*)f(This)g(file)f(is)i
(part)e(of)h(GNU)g(Libidn.)198 1176 y(*)198 1285 y(*)g(GNU)g(Libidn)f
(is)h(free)g(software;)e(you)i(can)g(redistribute)e(it)i(and/or)198
1395 y(*)g(modify)f(it)h(under)g(the)g(terms)f(of)h(the)g(GNU)g(Lesser)
f(General)g(Public)198 1504 y(*)h(License)f(as)h(published)e(by)j(the)f
(Free)f(Software)g(Foundation;)e(either)198 1614 y(*)j(version)f(2.1)h
(of)g(the)g(License,)f(or)h(\(at)g(your)f(option\))g(any)h(later)f
(version.)198 1724 y(*)198 1833 y(*)h(GNU)g(Libidn)f(is)h(distributed)e
(in)i(the)g(hope)g(that)f(it)i(will)e(be)h(useful,)198
1943 y(*)g(but)g(WITHOUT)f(ANY)h(WARRANTY;)e(without)h(even)h(the)f
(implied)g(warranty)g(of)198 2052 y(*)h(MERCHANTABILITY)d(or)j(FITNESS)
f(FOR)h(A)g(PARTICULAR)e(PURPOSE.)93 b(See)47 b(the)g(GNU)198
2162 y(*)g(Lesser)f(General)g(Public)g(License)g(for)h(more)g(details.)
198 2271 y(*)198 2381 y(*)g(You)g(should)f(have)h(received)e(a)j(copy)e
(of)i(the)f(GNU)f(Lesser)h(General)e(Public)198 2491
y(*)i(License)f(along)g(with)h(GNU)g(Libidn;)f(if)h(not,)g(write)f(to)h
(the)g(Free)g(Software)198 2600 y(*)g(Foundation,)e(Inc.,)h(51)h
(Franklin)f(Street,)g(Fifth)g(Floor,)g(Boston,)g(MA)h(02110-1301,)e
(USA)198 2710 y(*)198 2819 y(*/)150 3039 y(#include)h(<locale.h>)617
b(/*)47 b(setlocale\(\))e(*/)150 3258 y(/*)198 3367 y(*)i(This)g(file)f
(is)i(derived)d(from)i(RFC)g(3492)g(written)e(by)j(Adam)e(M.)h
(Costello.)198 3477 y(*)198 3587 y(*)g(Disclaimer)e(and)i(license:)f
(Regarding)f(this)i(entire)f(document)f(or)i(any)198
3696 y(*)g(portion)f(of)h(it)g(\(including)e(the)i(pseudocode)e(and)i
(C)h(code\),)e(the)h(author)198 3806 y(*)g(makes)g(no)g(guarantees)e
(and)i(is)g(not)g(responsible)d(for)j(any)g(damage)f(resulting)198
3915 y(*)h(from)g(its)g(use.)94 b(The)47 b(author)f(grants)g
(irrevocable)f(permission)g(to)i(anyone)198 4025 y(*)g(to)g(use,)g
(modify,)f(and)h(distribute)e(it)i(in)g(any)g(way)g(that)g(does)f(not)h
(diminish)198 4134 y(*)g(the)g(rights)f(of)h(anyone)f(else)h(to)g(use,)
g(modify,)f(and)h(distribute)e(it,)198 4244 y(*)i(provided)f(that)g
(redistributed)f(derivative)g(works)h(do)h(not)g(contain)198
4354 y(*)g(misleading)e(author)h(or)h(version)f(information.)92
b(Derivative)45 b(works)i(need)198 4463 y(*)g(not)g(be)g(licensed)f
(under)g(similar)g(terms.)198 4573 y(*)198 4682 y(*/)150
4902 y(#include)g(<assert.h>)150 5011 y(#include)g(<stdio.h>)150
5121 y(#include)g(<stdlib.h>)150 5230 y(#include)g(<string.h>)p
eop end
%%Page: 37 42
TeXDict begin 37 41 bop 150 -116 a Fv(Chapter)30 b(9:)41
b(Examples)2661 b(37)150 299 y Fp(#include)46 b(<punycode.h>)150
518 y(/*)h(For)g(testing,)f(we'll)g(just)h(set)g(some)f(compile-time)f
(limits)h(rather)g(than)g(*/)150 628 y(/*)h(use)g(malloc\(\),)e(and)i
(set)g(a)h(compile-time)c(option)i(rather)g(than)h(using)f(a)95
b(*/)150 737 y(/*)47 b(command-line)e(option.)2145 b(*/)150
956 y(enum)150 1066 y({)245 1176 y(unicode_max_length)43
b(=)48 b(256,)245 1285 y(ace_max_length)c(=)k(256)150
1395 y(};)150 1614 y(static)e(void)150 1724 y(usage)g(\(char)h
(**argv\))150 1833 y({)245 1943 y(fprintf)f(\(stderr,)675
2052 y("\\n")675 2162 y("\045s)h(-e)g(reads)f(code)h(points)f(and)h
(writes)f(a)i(Punycode)d(string.\\n")675 2271 y("\045s)i(-d)g(reads)f
(a)i(Punycode)d(string)i(and)f(writes)h(code)f(points.\\n")675
2381 y("\\n")675 2491 y("Input)g(and)h(output)f(are)h(plain)f(text)h
(in)g(the)g(native)f(character)f(set.\\n")675 2600 y("Code)h(points)g
(are)h(in)h(the)e(form)h(u+hex)f(separated)g(by)h(whitespace.\\n")675
2710 y("Although)e(the)i(specification)d(allows)i(Punycode)g(strings)g
(to)h(contain\\n")675 2819 y("any)g(characters)e(from)h(the)h(ASCII)g
(repertoire,)d(this)j(test)g(code\\n")675 2929 y("supports)e(only)i
(the)g(printable)e(characters,)g(and)i(needs)f(the)h(Punycode\\n")675
3039 y("string)f(to)h(be)g(followed)f(by)h(a)g(newline.\\n")675
3148 y("The)g(case)f(of)h(the)g(u)h(in)f(u+hex)f(is)i(the)e
(force-to-uppercase)d(flag.\\n",)675 3258 y(argv[0],)j(argv[0]\);)245
3367 y(exit)h(\(EXIT_FAILURE\);)150 3477 y(})150 3696
y(static)f(void)150 3806 y(fail)h(\(const)f(char)g(*msg\))150
3915 y({)245 4025 y(fputs)h(\(msg,)f(stderr\);)245 4134
y(exit)h(\(EXIT_FAILURE\);)150 4244 y(})150 4463 y(static)f(const)g
(char)h(too_big[])e(=)245 4573 y("input)i(or)g(output)f(is)h(too)g
(large,)f(recompile)f(with)i(larger)f(limits\\n";)150
4682 y(static)g(const)g(char)h(invalid_input[])d(=)j("invalid)f
(input\\n";)150 4792 y(static)g(const)g(char)h(overflow[])e(=)j
("arithmetic)c(overflow\\n";)150 4902 y(static)i(const)g(char)h
(io_error[])e(=)j("I/O)e(error\\n";)150 5121 y(/*)h(The)g(following)e
(string)h(is)i(used)e(to)h(convert)f(printable)g(*/)150
5230 y(/*)h(characters)e(between)h(ASCII)g(and)h(the)g(native)f
(charset:)94 b(*/)p eop end
%%Page: 38 43
TeXDict begin 38 42 bop 150 -116 a Fv(Chapter)30 b(9:)41
b(Examples)2661 b(38)150 299 y Fp(static)46 b(const)g(char)h
(print_ascii[])d(=)k("\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n)o(\\n\\n)o
(\\n\\n)o(\\n")41 b("\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n)o(\\n\\)o
(n\\n\\)o(n")h(")47 b(!\\"#$\045&'\(\)*+,-./")c("0123456789:;<=>?")g
("\\0x40")93 b(/*)48 b(at)f(sign)f(*/)245 408 y("ABCDEFGHIJKLMNO")245
518 y("PQRSTUVWXYZ[\\\\]^_")d("`abcdefghijklmno")g
("pqrstuvwxyz{|}~\\n";)150 737 y(int)150 847 y(main)k(\(int)f(argc,)h
(char)f(**argv\))150 956 y({)245 1066 y(enum)h(punycode_status)d
(status;)245 1176 y(int)j(r;)245 1285 y(size_t)g(input_length,)d
(output_length,)g(j;)245 1395 y(unsigned)i(char)h
(case_flags[unicode_max_)o(leng)o(th])o(;)245 1614 y(setlocale)f
(\(LC_ALL,)f(""\);)245 1833 y(if)j(\(argc)e(!=)h(2\))341
1943 y(usage)f(\(argv\);)245 2052 y(if)i(\(argv[1][0])c(!=)k('-'\))341
2162 y(usage)e(\(argv\);)245 2271 y(if)i(\(argv[1][2])c(!=)k(0\))341
2381 y(usage)e(\(argv\);)245 2600 y(if)i(\(argv[1][1])c(==)k('e'\))341
2710 y({)436 2819 y(uint32_t)e(input[unicode_max_length)o(];)436
2929 y(unsigned)g(long)h(codept;)436 3039 y(char)g
(output[ace_max_length)42 b(+)47 b(1],)g(uplus[3];)436
3148 y(int)g(c;)436 3367 y(/*)h(Read)e(the)h(input)f(code)h(points:)f
(*/)436 3587 y(input_length)f(=)i(0;)436 3806 y(for)g(\(;;\))532
3915 y({)627 4025 y(r)h(=)f(scanf)g(\("\0452s\045lx",)e(uplus,)h
(&codept\);)627 4134 y(if)h(\(ferror)f(\(stdin\)\))723
4244 y(fail)g(\(io_error\);)627 4354 y(if)h(\(r)h(==)f(EOF)g(||)g(r)g
(==)h(0\))723 4463 y(break;)627 4682 y(if)f(\(r)h(!=)f(2)g(||)g
(uplus[1])f(!=)h('+')g(||)g(codept)f(>)i(\(uint32_t\))d(-)i(1\))723
4792 y({)818 4902 y(fail)g(\(invalid_input\);)723 5011
y(})627 5230 y(if)g(\(input_length)e(==)i(unicode_max_length\))723
5340 y(fail)f(\(too_big\);)p eop end
%%Page: 39 44
TeXDict begin 39 43 bop 150 -116 a Fv(Chapter)30 b(9:)41
b(Examples)2661 b(39)627 408 y Fp(if)47 b(\(uplus[0])f(==)h('u'\))723
518 y(case_flags[input_length)o(])42 b(=)47 b(0;)627
628 y(else)g(if)g(\(uplus[0])e(==)j('U'\))723 737 y
(case_flags[input_length)o(])42 b(=)47 b(1;)627 847 y(else)723
956 y(fail)f(\(invalid_input\);)627 1176 y(input[input_length++])c(=)48
b(codept;)532 1285 y(})436 1504 y(/*)g(Encode:)d(*/)436
1724 y(output_length)g(=)i(ace_max_length;)436 1833 y(status)f(=)i
(punycode_encode)c(\(input_length,)f(input,)k(case_flags,)1677
1943 y(&output_length,)d(output\);)436 2052 y(if)k(\(status)d(==)j
(punycode_bad_input\))532 2162 y(fail)e(\(invalid_input\);)436
2271 y(if)i(\(status)d(==)j(punycode_big_output\))532
2381 y(fail)e(\(too_big\);)436 2491 y(if)i(\(status)d(==)j
(punycode_overflow\))532 2600 y(fail)e(\(overflow\);)436
2710 y(assert)g(\(status)g(==)h(punycode_success\);)436
2929 y(/*)h(Convert)d(to)j(native)e(charset)f(and)i(output:)f(*/)436
3148 y(for)h(\(j)g(=)h(0;)f(j)h(<)f(output_length;)d(++j\))532
3258 y({)627 3367 y(c)k(=)f(output[j];)627 3477 y(assert)f(\(c)i(>=)f
(0)g(&&)g(c)h(<=)f(127\);)627 3587 y(if)g(\(print_ascii[c])d(==)j(0\))
723 3696 y(fail)f(\(invalid_input\);)627 3806 y(output[j])g(=)h
(print_ascii[c];)532 3915 y(})436 4134 y(output[j])f(=)h(0;)436
4244 y(r)h(=)f(puts)g(\(output\);)436 4354 y(if)h(\(r)f(==)g(EOF\))532
4463 y(fail)f(\(io_error\);)436 4573 y(return)g(EXIT_SUCCESS;)341
4682 y(})245 4902 y(if)i(\(argv[1][1])c(==)k('d'\))341
5011 y({)436 5121 y(char)f(input[ace_max_length)42 b(+)48
b(2],)f(*p,)g(*pp;)436 5230 y(uint32_t)f(output[unicode_max_lengt)o
(h];)p eop end
%%Page: 40 45
TeXDict begin 40 44 bop 150 -116 a Fv(Chapter)30 b(9:)41
b(Examples)2661 b(40)436 299 y Fp(/*)48 b(Read)e(the)h(Punycode)f
(input)g(string)g(and)h(convert)f(to)h(ASCII:)f(*/)436
518 y(fgets)h(\(input,)f(ace_max_length)d(+)48 b(2,)f(stdin\);)436
628 y(if)h(\(ferror)d(\(stdin\)\))532 737 y(fail)h(\(io_error\);)436
847 y(if)i(\(feof)e(\(stdin\)\))532 956 y(fail)g(\(invalid_input\);)436
1066 y(input_length)f(=)i(strlen)f(\(input\))g(-)i(1;)436
1176 y(if)g(\(input[input_length])42 b(!=)47 b('\\n'\))532
1285 y(fail)f(\(too_big\);)436 1395 y(input[input_length])d(=)k(0;)436
1614 y(for)g(\(p)g(=)h(input;)e(*p)h(!=)g(0;)h(++p\))532
1724 y({)627 1833 y(pp)f(=)h(strchr)e(\(print_ascii,)e(*p\);)627
1943 y(if)j(\(pp)g(==)h(0\))723 2052 y(fail)e(\(invalid_input\);)627
2162 y(*p)h(=)h(pp)f(-)h(print_ascii;)532 2271 y(})436
2491 y(/*)g(Decode:)d(*/)436 2710 y(output_length)g(=)i
(unicode_max_length;)436 2819 y(status)f(=)i(punycode_decode)c
(\(input_length,)f(input,)k(&output_length,)1677 2929
y(output,)f(case_flags\);)436 3039 y(if)i(\(status)d(==)j
(punycode_bad_input\))532 3148 y(fail)e(\(invalid_input\);)436
3258 y(if)i(\(status)d(==)j(punycode_big_output\))532
3367 y(fail)e(\(too_big\);)436 3477 y(if)i(\(status)d(==)j
(punycode_overflow\))532 3587 y(fail)e(\(overflow\);)436
3696 y(assert)g(\(status)g(==)h(punycode_success\);)436
3915 y(/*)h(Output)e(the)h(result:)e(*/)436 4134 y(for)i(\(j)g(=)h(0;)f
(j)h(<)f(output_length;)d(++j\))532 4244 y({)627 4354
y(r)k(=)f(printf)f(\("\045s+\04504lX\\n",)1200 4463 y(case_flags[j])e
(?)k("U")f(:)g("u",)g(\(unsigned)e(long\))h(output[j]\);)627
4573 y(if)h(\(r)h(<)f(0\))723 4682 y(fail)f(\(io_error\);)532
4792 y(})436 5011 y(return)g(EXIT_SUCCESS;)341 5121 y(})245
5340 y(usage)h(\(argv\);)p eop end
%%Page: 41 46
TeXDict begin 41 45 bop 150 -116 a Fv(Chapter)30 b(9:)41
b(Examples)2661 b(41)245 299 y Fp(return)47 b(EXIT_SUCCESS;)473
b(/*)47 b(not)g(reached,)f(but)h(quiets)f(compiler)f(warning)h(*/)150
408 y(})150 654 y Fu(9.3)68 b(Example)46 b(3)150 813
y Fv(This)40 b(example)i(demonstrates)g(ho)m(w)f(the)g(library)g(is)g
(used)g(to)h(con)m(v)m(ert)h(in)m(ternationalized)g(domain)150
923 y(names)30 b(in)m(to)i(ASCI)s(I)c(compatible)k(names.)150
1066 y Fp(/*)47 b(example3.c)e(---)i(Example)f(ToASCII\(\))f(code)i
(showing)f(how)h(to)g(use)g(Libidn.)198 1176 y(*)g(Copyright)e(\(C\))i
(2002,)g(2003,)f(2004)94 b(Simon)47 b(Josefsson)198 1285
y(*)198 1395 y(*)g(This)g(file)f(is)i(part)e(of)h(GNU)g(Libidn.)198
1504 y(*)198 1614 y(*)g(GNU)g(Libidn)f(is)h(free)g(software;)e(you)i
(can)g(redistribute)e(it)i(and/or)198 1724 y(*)g(modify)f(it)h(under)g
(the)g(terms)f(of)h(the)g(GNU)g(Lesser)f(General)g(Public)198
1833 y(*)h(License)f(as)h(published)e(by)j(the)f(Free)f(Software)g
(Foundation;)e(either)198 1943 y(*)j(version)f(2.1)h(of)g(the)g
(License,)f(or)h(\(at)g(your)f(option\))g(any)h(later)f(version.)198
2052 y(*)198 2162 y(*)h(GNU)g(Libidn)f(is)h(distributed)e(in)i(the)g
(hope)g(that)f(it)i(will)e(be)h(useful,)198 2271 y(*)g(but)g(WITHOUT)f
(ANY)h(WARRANTY;)e(without)h(even)h(the)f(implied)g(warranty)g(of)198
2381 y(*)h(MERCHANTABILITY)d(or)j(FITNESS)f(FOR)h(A)g(PARTICULAR)e
(PURPOSE.)93 b(See)47 b(the)g(GNU)198 2491 y(*)g(Lesser)f(General)g
(Public)g(License)g(for)h(more)g(details.)198 2600 y(*)198
2710 y(*)g(You)g(should)f(have)h(received)e(a)j(copy)e(of)i(the)f(GNU)f
(Lesser)h(General)e(Public)198 2819 y(*)i(License)f(along)g(with)h(GNU)
g(Libidn;)f(if)h(not,)g(write)f(to)h(the)g(Free)g(Software)198
2929 y(*)g(Foundation,)e(Inc.,)h(51)h(Franklin)f(Street,)g(Fifth)g
(Floor,)g(Boston,)g(MA)h(02110-1301,)e(USA)198 3039 y(*)198
3148 y(*/)150 3367 y(#include)h(<stdio.h>)150 3477 y(#include)g
(<stdlib.h>)150 3587 y(#include)g(<string.h>)150 3696
y(#include)g(<locale.h>)617 b(/*)47 b(setlocale\(\))e(*/)150
3806 y(#include)h(<stringprep.h>)425 b(/*)47 b
(stringprep_locale_charset\()o(\))42 b(*/)150 3915 y(#include)k
(<idna.h>)713 b(/*)47 b(idna_to_ascii_lz\(\))c(*/)150
4134 y(/*)198 4244 y(*)k(Compiling)e(using)i(libtool)f(and)h
(pkg-config)e(is)i(recommended:)198 4354 y(*)198 4463
y(*)g($)h(libtool)d(cc)j(-o)f(example3)e(example3.c)g(`pkg-config)g
(--cflags)h(--libs)g(libidn`)198 4573 y(*)h($)h(./example3)198
4682 y(*)f(Input)g(domain)f(encoded)f(as)j(`ISO-8859-1':)c(www.r\177)
-48 b(aksm\177)g(org\027)g(as)2779 4643 y Fg(a)p 2779
4656 36 4 v 2810 4682 a Fp(.example)198 4792 y(*)47 b(Read)g(string)f
(\(length)g(23\):)g(77)i(77)f(77)g(2e)g(72)g(e4)g(6b)h(73)f(6d)g(f6)g
(72)g(67)h(e5)f(73)g(aa)g(2e)g(65)g(78)h(61)f(6d)g(70)g(6c)g(65)198
4902 y(*)g(ACE)g(label)f(\(length)g(33\):)h('www.xn--rksmrgsa-0zap8p)o
(.exa)o(mpl)o(e')198 5011 y(*)g(77)g(77)h(77)f(2e)g(78)g(6e)g(2d)g(2d)h
(72)f(6b)g(73)g(6d)g(72)h(67)f(73)g(61)g(2d)g(30)g(7a)h(61)f(70)g(38)g
(70)g(2e)h(65)f(78)g(61)g(6d)g(70)g(6c)h(65)198 5121
y(*)f($)198 5230 y(*)198 5340 y(*/)p eop end
%%Page: 42 47
TeXDict begin 42 46 bop 150 -116 a Fv(Chapter)30 b(9:)41
b(Examples)2661 b(42)150 408 y Fp(int)150 518 y(main)47
b(\(int)f(argc,)h(char)f(*argv[]\))150 628 y({)245 737
y(char)h(buf[BUFSIZ];)245 847 y(char)g(*p;)245 956 y(int)g(rc;)245
1066 y(size_t)g(i;)245 1285 y(setlocale)f(\(LC_ALL,)f(""\);)245
1504 y(printf)i(\("Input)e(domain)h(encoded)g(as)h(`\045s':)g(",)g
(stringprep_locale_charse)o(t)42 b(\(\)\);)245 1614 y(fflush)47
b(\(stdout\);)245 1724 y(fgets)g(\(buf,)f(BUFSIZ,)g(stdin\);)245
1833 y(buf[strlen)f(\(buf\))i(-)g(1])g(=)h('\\0';)245
2052 y(printf)f(\("Read)f(string)g(\(length)g(\045d\):)g(",)h(strlen)f
(\(buf\)\);)245 2162 y(for)h(\(i)h(=)f(0;)g(i)h(<)f(strlen)f(\(buf\);)g
(i++\))341 2271 y(printf)g(\("\04502x)g(",)h(buf[i])f(&)i(0xFF\);)245
2381 y(printf)f(\("\\n"\);)245 2600 y(rc)h(=)f(idna_to_ascii_lz)c
(\(buf,)k(&p,)g(0\);)245 2710 y(if)h(\(rc)f(!=)g(IDNA_SUCCESS\))341
2819 y({)436 2929 y(printf)f(\("ToASCII\(\))f(failed)h(\(\045d\):)h
(\045s\\n",)f(rc,)h(idna_strerror)d(\(rc\)\);)436 3039
y(exit)j(\(1\);)341 3148 y(})245 3367 y(printf)g(\("ACE)f(label)g
(\(length)g(\045d\):)h('\045s'\\n",)e(strlen)h(\(p\),)h(p\);)245
3477 y(for)g(\(i)h(=)f(0;)g(i)h(<)f(strlen)f(\(p\);)h(i++\))341
3587 y(printf)f(\("\04502x)g(",)h(p[i])g(&)g(0xFF\);)245
3696 y(printf)g(\("\\n"\);)245 3915 y(free)g(\(p\);)245
4134 y(return)g(0;)150 4244 y(})150 4489 y Fu(9.4)68
b(Example)46 b(4)150 4649 y Fv(This)30 b(example)h(demonstrates)f(ho)m
(w)h(the)f(library)g(is)h(used)e(to)i(con)m(v)m(ert)h(ASCI)s(I)d
(compatible)j(names)e(to)150 4758 y(in)m(ternationalized)j(domain)d
(names.)150 4902 y Fp(/*)47 b(example4.c)e(---)i(Example)f
(ToUnicode\(\))f(code)h(showing)g(how)h(to)g(use)g(Libidn.)198
5011 y(*)g(Copyright)e(\(C\))i(2002,)g(2003,)f(2004)94
b(Simon)47 b(Josefsson)198 5121 y(*)198 5230 y(*)g(This)g(file)f(is)i
(part)e(of)h(GNU)g(Libidn.)198 5340 y(*)p eop end
%%Page: 43 48
TeXDict begin 43 47 bop 150 -116 a Fv(Chapter)30 b(9:)41
b(Examples)2661 b(43)198 299 y Fp(*)47 b(GNU)g(Libidn)f(is)h(free)g
(software;)e(you)i(can)g(redistribute)e(it)i(and/or)198
408 y(*)g(modify)f(it)h(under)g(the)g(terms)f(of)h(the)g(GNU)g(Lesser)f
(General)g(Public)198 518 y(*)h(License)f(as)h(published)e(by)j(the)f
(Free)f(Software)g(Foundation;)e(either)198 628 y(*)j(version)f(2.1)h
(of)g(the)g(License,)f(or)h(\(at)g(your)f(option\))g(any)h(later)f
(version.)198 737 y(*)198 847 y(*)h(GNU)g(Libidn)f(is)h(distributed)e
(in)i(the)g(hope)g(that)f(it)i(will)e(be)h(useful,)198
956 y(*)g(but)g(WITHOUT)f(ANY)h(WARRANTY;)e(without)h(even)h(the)f
(implied)g(warranty)g(of)198 1066 y(*)h(MERCHANTABILITY)d(or)j(FITNESS)
f(FOR)h(A)g(PARTICULAR)e(PURPOSE.)93 b(See)47 b(the)g(GNU)198
1176 y(*)g(Lesser)f(General)g(Public)g(License)g(for)h(more)g(details.)
198 1285 y(*)198 1395 y(*)g(You)g(should)f(have)h(received)e(a)j(copy)e
(of)i(the)f(GNU)f(Lesser)h(General)e(Public)198 1504
y(*)i(License)f(along)g(with)h(GNU)g(Libidn;)f(if)h(not,)g(write)f(to)h
(the)g(Free)g(Software)198 1614 y(*)g(Foundation,)e(Inc.,)h(51)h
(Franklin)f(Street,)g(Fifth)g(Floor,)g(Boston,)g(MA)h(02110-1301,)e
(USA)198 1724 y(*)198 1833 y(*/)150 2052 y(#include)h(<stdio.h>)150
2162 y(#include)g(<stdlib.h>)150 2271 y(#include)g(<string.h>)150
2381 y(#include)g(<locale.h>)617 b(/*)47 b(setlocale\(\))e(*/)150
2491 y(#include)h(<stringprep.h>)425 b(/*)47 b
(stringprep_locale_charset\()o(\))42 b(*/)150 2600 y(#include)k
(<idna.h>)713 b(/*)47 b(idna_to_unicode_lzlz\(\))42 b(*/)150
2819 y(/*)198 2929 y(*)47 b(Compiling)e(using)i(libtool)f(and)h
(pkg-config)e(is)i(recommended:)198 3039 y(*)198 3148
y(*)g($)h(libtool)d(cc)j(-o)f(example4)e(example4.c)g(`pkg-config)g
(--cflags)h(--libs)g(libidn`)198 3258 y(*)h($)h(./example4)198
3367 y(*)f(Input)g(domain)f(encoded)f(as)j(`ISO-8859-1':)c
(www.xn--rksmrgsa-0zap8p.)o(exa)o(mple)198 3477 y(*)j(Read)g(string)f
(\(length)g(33\):)g(77)i(77)f(77)g(2e)g(78)g(6e)g(2d)h(2d)f(72)g(6b)g
(73)g(6d)h(72)f(67)g(73)g(61)g(2d)g(30)h(7a)f(61)g(70)g(38)g(70)g(2e)h
(65)f(78)g(61)g(6d)g(70)h(6c)f(65)198 3587 y(*)g(ACE)g(label)f
(\(length)g(23\):)h('www.r\177)-48 b(aksm\177)g(org\027)g(asa.example)o
(')198 3696 y(*)47 b(77)g(77)h(77)f(2e)g(72)g(e4)g(6b)g(73)h(6d)f(f6)g
(72)g(67)g(e5)h(73)f(61)g(2e)g(65)g(78)g(61)h(6d)f(70)g(6c)g(65)198
3806 y(*)g($)198 3915 y(*)198 4025 y(*/)150 4244 y(int)150
4354 y(main)g(\(int)f(argc,)h(char)f(*argv[]\))150 4463
y({)245 4573 y(char)h(buf[BUFSIZ];)245 4682 y(char)g(*p;)245
4792 y(int)g(rc;)245 4902 y(size_t)g(i;)245 5121 y(setlocale)f
(\(LC_ALL,)f(""\);)245 5340 y(printf)i(\("Input)e(domain)h(encoded)g
(as)h(`\045s':)g(",)g(stringprep_locale_charse)o(t)42
b(\(\)\);)p eop end
%%Page: 44 49
TeXDict begin 44 48 bop 150 -116 a Fv(Chapter)30 b(9:)41
b(Examples)2661 b(44)245 299 y Fp(fflush)47 b(\(stdout\);)245
408 y(fgets)g(\(buf,)f(BUFSIZ,)g(stdin\);)245 518 y(buf[strlen)f
(\(buf\))i(-)g(1])g(=)h('\\0';)245 737 y(printf)f(\("Read)f(string)g
(\(length)g(\045d\):)g(",)h(strlen)f(\(buf\)\);)245 847
y(for)h(\(i)h(=)f(0;)g(i)h(<)f(strlen)f(\(buf\);)g(i++\))341
956 y(printf)g(\("\04502x)g(",)h(buf[i])f(&)i(0xFF\);)245
1066 y(printf)f(\("\\n"\);)245 1285 y(rc)h(=)f(idna_to_unicode_lzlz)42
b(\(buf,)47 b(&p,)g(0\);)245 1395 y(if)h(\(rc)f(!=)g(IDNA_SUCCESS\))341
1504 y({)436 1614 y(printf)f(\("ToUnicode\(\))f(failed)h(\(\045d\):)g
(\045s\\n",)g(rc,)h(idna_strerror)d(\(rc\)\);)436 1724
y(exit)j(\(1\);)341 1833 y(})245 2052 y(printf)g(\("ACE)f(label)g
(\(length)g(\045d\):)h('\045s'\\n",)e(strlen)h(\(p\),)h(p\);)245
2162 y(for)g(\(i)h(=)f(0;)g(i)h(<)f(strlen)f(\(p\);)h(i++\))341
2271 y(printf)f(\("\04502x)g(",)h(p[i])g(&)g(0xFF\);)245
2381 y(printf)g(\("\\n"\);)245 2600 y(free)g(\(p\);)245
2819 y(return)g(0;)150 2929 y(})150 3174 y Fu(9.5)68
b(Example)46 b(5)150 3334 y Fv(This)31 b(example)h(demonstrates)f(ho)m
(w)h(the)f(library)g(is)h(used)e(to)i(c)m(hec)m(k)h(a)f(string)f(for)h
(in)m(v)-5 b(alid)31 b(c)m(haracters)150 3443 y(within)f(a)h(sp)s
(eci\014c)f(TLD.)150 3587 y Fp(/*)47 b(example5.c)e(---)i(Example)f
(TLD)h(checking.)198 3696 y(*)g(Copyright)e(\(C\))i(2004)95
b(Simon)46 b(Josefsson)198 3806 y(*)198 3915 y(*)h(This)g(file)f(is)i
(part)e(of)h(GNU)g(Libidn.)198 4025 y(*)198 4134 y(*)g(GNU)g(Libidn)f
(is)h(free)g(software;)e(you)i(can)g(redistribute)e(it)i(and/or)198
4244 y(*)g(modify)f(it)h(under)g(the)g(terms)f(of)h(the)g(GNU)g(Lesser)
f(General)g(Public)198 4354 y(*)h(License)f(as)h(published)e(by)j(the)f
(Free)f(Software)g(Foundation;)e(either)198 4463 y(*)j(version)f(2.1)h
(of)g(the)g(License,)f(or)h(\(at)g(your)f(option\))g(any)h(later)f
(version.)198 4573 y(*)198 4682 y(*)h(GNU)g(Libidn)f(is)h(distributed)e
(in)i(the)g(hope)g(that)f(it)i(will)e(be)h(useful,)198
4792 y(*)g(but)g(WITHOUT)f(ANY)h(WARRANTY;)e(without)h(even)h(the)f
(implied)g(warranty)g(of)198 4902 y(*)h(MERCHANTABILITY)d(or)j(FITNESS)
f(FOR)h(A)g(PARTICULAR)e(PURPOSE.)93 b(See)47 b(the)g(GNU)198
5011 y(*)g(Lesser)f(General)g(Public)g(License)g(for)h(more)g(details.)
198 5121 y(*)198 5230 y(*)g(You)g(should)f(have)h(received)e(a)j(copy)e
(of)i(the)f(GNU)f(Lesser)h(General)e(Public)198 5340
y(*)i(License)f(along)g(with)h(GNU)g(Libidn;)f(if)h(not,)g(write)f(to)h
(the)g(Free)g(Software)p eop end
%%Page: 45 50
TeXDict begin 45 49 bop 150 -116 a Fv(Chapter)30 b(9:)41
b(Examples)2661 b(45)198 299 y Fp(*)47 b(Foundation,)e(Inc.,)h(51)h
(Franklin)f(Street,)g(Fifth)g(Floor,)g(Boston,)g(MA)h(02110-1301,)e
(USA)198 408 y(*)198 518 y(*/)150 737 y(#include)h(<stdio.h>)150
847 y(#include)g(<stdlib.h>)150 956 y(#include)g(<string.h>)150
1176 y(/*)h(Get)g(stringprep_locale_charset)o(,)42 b(etc.)k(*/)150
1285 y(#include)g(<stringprep.h>)150 1504 y(/*)h(Get)g
(idna_to_ascii_8z,)c(etc.)k(*/)150 1614 y(#include)f(<idna.h>)150
1833 y(/*)h(Get)g(tld_check_4z.)d(*/)150 1943 y(#include)i(<tld.h>)150
2162 y(/*)198 2271 y(*)h(Compiling)e(using)i(libtool)f(and)h
(pkg-config)e(is)i(recommended:)198 2381 y(*)198 2491
y(*)g($)h(libtool)d(cc)j(-o)f(example5)e(example5.c)g(`pkg-config)g
(--cflags)h(--libs)g(libidn`)198 2600 y(*)h($)h(./example5)198
2710 y(*)f(Input)g(domain)f(encoded)f(as)j(`UTF-8':)d(foo)2012
2693 y(~)2012 2710 y(A.no)198 2819 y(*)i(Read)g(string)f(\(length)g
(8\):)h(66)g(6f)g(6f)g(c3)g(9f)h(2e)f(6e)g(6f)198 2929
y(*)g(ToASCII)f(string)g(\(length)g(8\):)h(fooss.no)198
3039 y(*)g(ToUnicode)e(string:)h(U+0066)g(U+006f)g(U+006f)h(U+0073)f
(U+0073)g(U+002e)g(U+006e)g(U+006f)198 3148 y(*)h(Domain)f(accepted)g
(by)h(TLD)g(check)198 3258 y(*)198 3367 y(*)g($)h(./example5)198
3477 y(*)f(Input)g(domain)f(encoded)f(as)j(`UTF-8':)d(gr^)-48
b(a^)g(an.no)198 3587 y(*)47 b(Read)g(string)f(\(length)g(12\):)g(67)i
(72)f(e2)g(82)g(ac)g(e2)g(82)h(ac)f(6e)g(2e)g(6e)g(6f)198
3696 y(*)g(ToASCII)f(string)g(\(length)g(16\):)h(xn--grn-l50aa.no)198
3806 y(*)g(ToUnicode)e(string:)h(U+0067)g(U+0072)g(U+20ac)h(U+20ac)f
(U+006e)g(U+002e)g(U+006e)g(U+006f)198 3915 y(*)h(Domain)f(rejected)g
(by)h(TLD)g(check,)f(Unicode)g(position)f(2)198 4025
y(*)198 4134 y(*/)150 4354 y(int)150 4463 y(main)i(\(int)f(argc,)h
(char)f(*argv[]\))150 4573 y({)245 4682 y(char)h(buf[BUFSIZ];)245
4792 y(char)g(*p;)245 4902 y(uint32_t)f(*r;)245 5011
y(int)h(rc;)245 5121 y(size_t)g(errpos,)e(i;)245 5340
y(printf)i(\("Input)e(domain)h(encoded)g(as)h(`\045s':)g(",)g
(stringprep_locale_charse)o(t)42 b(\(\)\);)p eop end
%%Page: 46 51
TeXDict begin 46 50 bop 150 -116 a Fv(Chapter)30 b(9:)41
b(Examples)2661 b(46)245 299 y Fp(fflush)47 b(\(stdout\);)245
408 y(fgets)g(\(buf,)f(BUFSIZ,)g(stdin\);)245 518 y(buf[strlen)f
(\(buf\))i(-)g(1])g(=)h('\\0';)245 737 y(printf)f(\("Read)f(string)g
(\(length)g(\045d\):)g(",)h(strlen)f(\(buf\)\);)245 847
y(for)h(\(i)h(=)f(0;)g(i)h(<)f(strlen)f(\(buf\);)g(i++\))341
956 y(printf)g(\("\04502x)g(",)h(buf[i])f(&)i(0xFF\);)245
1066 y(printf)f(\("\\n"\);)245 1285 y(p)h(=)f
(stringprep_locale_to_utf8)41 b(\(buf\);)245 1395 y(if)48
b(\(p\))341 1504 y({)436 1614 y(strcpy)e(\(buf,)h(p\);)436
1724 y(free)g(\(p\);)341 1833 y(})245 1943 y(else)341
2052 y(printf)f(\("Could)g(not)h(convert)f(string)g(to)h(UTF-8,)f
(continuing)f(anyway...\\n"\);)245 2271 y(rc)j(=)f(idna_to_ascii_8z)c
(\(buf,)k(&p,)g(0\);)245 2381 y(if)h(\(rc)f(!=)g(IDNA_SUCCESS\))341
2491 y({)436 2600 y(printf)f(\("idna_to_ascii_8z)d(failed)j(\(\045d\):)
h(\045s\\n",)f(rc,)h(idna_strerror)d(\(rc\)\);)436 2710
y(return)i(2;)341 2819 y(})245 3039 y(printf)h(\("ToASCII)e(string)h
(\(length)g(\045d\):)g(\045s\\n",)g(strlen)h(\(p\),)f(p\);)245
3258 y(rc)i(=)f(idna_to_unicode_8z4z)42 b(\(p,)47 b(&r,)g(0\);)245
3367 y(free)g(\(p\);)245 3477 y(if)h(\(rc)f(!=)g(IDNA_SUCCESS\))341
3587 y({)436 3696 y(printf)f(\("idna_to_unicode_8z4z)c(failed)k
(\(\045d\):)h(\045s\\n",)818 3806 y(rc,)g(idna_strerror)d(\(rc\)\);)436
3915 y(return)i(2;)341 4025 y(})245 4244 y(printf)h(\("ToUnicode)d
(string:)i("\);)245 4354 y(for)h(\(i)h(=)f(0;)g(r[i];)g(i++\))341
4463 y(printf)f(\("U+\04504x)g(",)h(r[i]\);)245 4573
y(printf)g(\("\\n"\);)245 4792 y(rc)h(=)f(tld_check_4z)e(\(r,)h
(&errpos,)g(NULL\);)245 4902 y(free)h(\(r\);)245 5011
y(if)h(\(rc)f(==)g(TLD_INVALID\))341 5121 y({)436 5230
y(printf)f(\("Domain)g(rejected)g(by)h(TLD)g(check,)f(Unicode)g
(position)f(\045d\\n",)h(errpos\);)436 5340 y(return)g(1;)p
eop end
%%Page: 47 52
TeXDict begin 47 51 bop 150 -116 a Fv(Chapter)30 b(9:)41
b(Examples)2661 b(47)341 299 y Fp(})245 408 y(else)47
b(if)g(\(rc)g(!=)g(TLD_SUCCESS\))341 518 y({)436 628
y(printf)f(\("tld_check_4z\(\))e(failed)i(\(\045d\):)g(\045s\\n",)g
(rc,)h(tld_strerror)e(\(rc\)\);)436 737 y(return)h(2;)341
847 y(})245 1066 y(printf)h(\("Domain)e(accepted)h(by)h(TLD)g
(check\\n"\);)245 1285 y(return)g(0;)150 1395 y(})p eop
end
%%Page: 48 53
TeXDict begin 48 52 bop 150 -116 a Fv(Chapter)30 b(10:)41
b(In)m(v)m(oking)32 b(idn)2500 b(48)150 299 y Fs(10)80
b(In)l(v)l(oking)52 b(idn)150 648 y Fu(10.1)68 b(Name)150
807 y Fv(GNU)31 b(Libidn)e(\(idn\))h({)h(In)m(ternationalized)h(Domain)
g(Names)f(command)f(line)g(to)s(ol)150 1047 y Fu(10.2)68
b(Description)150 1206 y Fp(idn)34 b Fv(allo)m(ws)j(in)m
(ternationalized)h(string)d(preparation)g(\(`)p Fp(stringprep)p
Fv('\),)h(enco)s(ding)f(and)g(deco)s(ding)g(of)150 1316
y(pun)m(yco)s(de)h(data,)j(and)d(IDNA)h(T)-8 b(oASCI)s(I/T)g(oUnico)s
(de)37 b(op)s(erations)g(to)g(b)s(e)f(p)s(erformed)f(on)h(the)h(com-)
150 1425 y(mand)30 b(line.)275 1564 y(If)i(strings)h(are)g(sp)s
(eci\014ed)f(on)h(the)g(command)f(line,)i(they)g(are)f(used)f(as)h
(input)f(and)g(the)h(computed)150 1674 y(output)h(is)g(prin)m(ted)f(to)
i(standard)e(output)h Fp(stdout)p Fv(.)49 b(If)34 b(no)g(strings)g(are)
g(sp)s(eci\014ed)f(on)h(the)g(command)150 1784 y(line,)42
b(the)d(program)g(read)f(data,)k(line)e(b)m(y)f(line,)i(from)e(the)g
(standard)f(input)g Fp(stdin)p Fv(,)i(and)e(prin)m(t)h(the)150
1893 y(computed)g(output)g(to)h(standard)f(output.)67
b(What)40 b(pro)s(cessing)f(is)h(p)s(erformed)e(\(e.g.,)43
b(T)-8 b(oASCI)s(I,)39 b(or)150 2003 y(Pun)m(yco)s(de)32
b(enco)s(de\))i(is)f(indicated)g(b)m(y)g(options.)48
b(If)33 b(an)m(y)g(errors)f(are)h(encoun)m(tered,)i(the)e(execution)h
(of)150 2112 y(the)d(applications)g(is)g(ab)s(orted.)275
2252 y(All)e(strings)g(are)g(exp)s(ected)g(to)h(b)s(e)e(enco)s(ded)h
(in)f(the)h(preferred)f(c)m(harset)i(used)e(b)m(y)h(y)m(our)g(lo)s
(cale.)42 b(Use)150 2361 y Fp(--debug)c Fv(to)j(\014nd)e(out)i(what)f
(this)g(c)m(harset)h(is.)71 b(Y)-8 b(ou)40 b(can)h(o)m(v)m(erride)g
(the)g(c)m(harset)g(used)f(b)m(y)g(setting)150 2471 y(en)m(vironmen)m
(t)31 b(v)-5 b(ariable)31 b Fp(CHARSET)p Fv(.)275 2610
y(T)-8 b(o)38 b(pro)s(cess)g(a)g(string)g(that)h(starts)f(with)g
Fp(-)p Fv(,)i(for)e(example)g Fp(-foo)p Fv(,)h(use)f
Fp(--)g Fv(to)g(signal)h(the)f(end)g(of)150 2720 y(parameters,)31
b(as)g(in)f Fp(idn)f(--quiet)g(-a)g(--)h(-foo)p Fv(.)150
2959 y Fu(10.3)68 b(Options)150 3119 y Fp(idn)29 b Fv(recognizes)k
(these)d(commands:)245 3258 y Fp(-h,)47 b(--help)715
b(Print)46 b(help)h(and)g(exit)245 3477 y(-V,)g(--version)571
b(Print)46 b(version)g(and)h(exit)245 3696 y(-s,)g(--stringprep)427
b(Prepare)45 b(string)i(according)e(to)i(nameprep)f(profile)245
3915 y(-d,)h(--punycode-decode)187 b(Decode)46 b(Punycode)245
4134 y(-e,)h(--punycode-encode)187 b(Encode)46 b(Punycode)245
4354 y(-a,)h(--idna-to-ascii)283 b(Convert)45 b(to)j(ACE)f(according)e
(to)i(IDNA)g(\(default\))245 4573 y(-u,)g(--idna-to-unicode)187
b(Convert)45 b(from)i(ACE)g(according)e(to)i(IDNA)436
4792 y(--allow-unassigned)139 b(Toggle)46 b(IDNA)g(AllowUnassigned)e
(flag)94 b(\(default=off\))436 5011 y(--usestd3asciirules)d(Toggle)46
b(IDNA)g(UseSTD3ASCIIRules)d(flag)95 b(\(default=off\))245
5230 y(-t,)47 b(--tld)763 b(Check)46 b(string)g(for)h(TLD)g(specific)e
(rules)1534 5340 y(Only)i(for)g(--idna-to-ascii)c(and)k
(--idna-to-unicode)p eop end
%%Page: 49 54
TeXDict begin 49 53 bop 150 -116 a Fv(Chapter)30 b(10:)41
b(In)m(v)m(oking)32 b(idn)2500 b(49)1534 299 y Fp(\(default=on\))245
518 y(-p,)47 b(--profile=STRING)235 b(Use)47 b(specified)e(stringprep)g
(profile)h(instead)1534 628 y(Valid)g(stringprep)f(profiles)h(are)h
(`Nameprep',)1534 737 y(`iSCSI',)f(`Nodeprep',)e(`Resourceprep',)g
(`trace',)i(and)1534 847 y(`SASLprep'.)436 1066 y(--debug)667
b(Print)46 b(debugging)f(information)93 b(\(default=off\))436
1285 y(--quiet)667 b(Silent)46 b(operation)93 b(\(default=off\))150
1555 y Fu(10.4)68 b(En)l(vironmen)l(t)46 b(V)-11 b(ariables)150
1714 y Fv(The)25 b Fm(CHARSET)31 b Fv(en)m(vironmen)m(t)26
b(v)-5 b(ariable)26 b(can)g(b)s(e)f(used)f(to)j(o)m(v)m(erride)f(what)g
(c)m(haracter)h(set)f(to)g(b)s(e)f(used)150 1824 y(for)35
b(deco)s(ding)f(incoming)i(data)f(\(i.e.,)j(on)c(the)h(command)g(line)g
(or)g(on)f(the)h(standard)f(input)g(stream\),)150 1934
y(and)27 b(to)i(enco)s(de)f(data)h(to)g(the)f(standard)f(output.)40
b(If)27 b(y)m(our)h(system)g(is)h(set)f(up)f(correctly)-8
b(,)31 b(ho)m(w)m(ev)m(er,)f(the)150 2043 y(application)i(will)e(guess)
h(whic)m(h)f(c)m(haracter)i(set)f(is)f(used)g(automatically)-8
b(.)44 b(Example)30 b(usage:)390 2203 y Fp($)47 b(CHARSET=ISO-8859-1)c
(idn)k(--punycode-encode)390 2312 y(...)150 2582 y Fu(10.5)68
b(Examples)150 2742 y Fv(Standard)29 b(usage,)i(reading)g(input)e(from)
h(standard)g(input:)390 2901 y Fp(jas@latte:~$)44 b(idn)390
3011 y(libidn)i(0.3.5)390 3120 y(Copyright)f(2002,)i(2003)f(Simon)h
(Josefsson.)390 3230 y(GNU)g(Libidn)f(comes)g(with)h(NO)g(WARRANTY,)e
(to)j(the)f(extent)f(permitted)f(by)i(law.)390 3339 y(You)g(may)g
(redistribute)d(copies)i(of)i(GNU)e(Libidn)h(under)f(the)h(terms)f(of)
390 3449 y(the)h(GNU)g(Lesser)f(General)g(Public)g(License.)93
b(For)47 b(more)g(information)390 3559 y(about)f(these)h(matters,)e
(see)i(the)g(file)g(named)f(COPYING.LIB.)390 3668 y(Type)h(each)f
(input)h(string)f(on)h(a)g(line)g(by)g(itself,)f(terminated)f(by)i(a)h
(newline)d(character.)390 3778 y(r\177)-48 b(aksm\177)g(org\027)g
(as.se)390 3887 y(xn--rksmrgs-5wao1o.se)390 3997 y(jas@latte:~$)275
4156 y Fv(Reading)30 b(input)g(from)g(command)g(line,)h(and)f
(disabling)g(cop)m(yrigh)m(t)i(and)d(license)j(information:)390
4316 y Fp(jas@latte:~$)44 b(idn)j(--quiet)f(r\177)-48
b(aksm\177)g(org\027)g(as.se)44 b(bl\027)-48 b(ab\032rgr\034d.no)390
4425 y(xn--rksmrgs-5wao1o.se)390 4535 y(xn--blbrgrd-fxak7p.no)390
4645 y(jas@latte:~$)275 4804 y Fv(Accessing)31 b(a)g(sp)s(eci\014c)f
(StringPrep)f(pro\014le)h(directly:)390 4964 y Fp(jas@latte:~$)44
b(idn)j(--quiet)f(--profile=SASLprep)d(--stringprep)h(te\031t)3302
4924 y Fg(a)p 3302 4937 36 4 v 390 5073 a Fp(te\031ta)390
5183 y(jas@latte:~$)p eop end
%%Page: 50 55
TeXDict begin 50 54 bop 150 -116 a Fv(Chapter)30 b(10:)41
b(In)m(v)m(oking)32 b(idn)2500 b(50)150 299 y Fu(10.6)68
b(T)-11 b(roublesho)t(oting)150 458 y Fv(Getting)32 b(c)m(haracter)g
(data)f(enco)s(ded)g(righ)m(t,)g(and)f(making)h(sure)f(Libidn)f(use)h
(the)h(same)g(enco)s(ding,)g(can)150 568 y(b)s(e)i(di\016cult.)50
b(The)33 b(reason)g(for)h(this)f(is)g(that)h(most)g(systems)g(enco)s
(de)f(c)m(haracter)i(data)f(in)g(more)f(than)150 677
y(one)e(c)m(haracter)g(enco)s(ding,)g(i.e.,)g(using)f
Fp(UTF-8)f Fv(together)j(with)d Fp(ISO-8859-1)f Fv(or)i
Fp(ISO-2022-JP)p Fv(.)38 b(This)150 787 y(problem)g(is)h(lik)m(ely)h
(to)f(con)m(tin)m(ue)h(to)f(exist)h(un)m(til)e(only)h(one)g(c)m
(haracter)h(enco)s(ding)f(come)g(out)g(as)g(the)150 897
y(ev)m(olutionary)32 b(winner,)d(or)i(\(more)g(lik)m(ely)-8
b(,)32 b(at)f(least)h(to)f(some)g(exten)m(ts\))h(forev)m(er.)275
1027 y(The)d(\014rst)h(step)g(to)h(troublesho)s(oting)f(c)m(haracter)i
(enco)s(ding)e(problems)g(with)g(Libidn)f(is)h(to)h(use)f(the)150
1137 y(`)p Fp(--debug)p Fv(')24 b(parameter)j(to)f(\014nd)e(out)i(whic)
m(h)g(c)m(haracter)h(set)g(enco)s(ding)f(`)p Fp(idn)p
Fv(')f(b)s(eliev)m(e)i(y)m(our)f(lo)s(cale)h(uses.)390
1268 y Fp(jas@latte:~$)44 b(idn)j(--debug)f(--quiet)g("")390
1377 y(system)g(locale)g(uses)h(charset)f(`UTF-8'.)390
1597 y(jas@latte:~$)275 1727 y Fv(If)27 b(it)i(prin)m(ts)f
Fp(ANSI_X3.4-1968)c Fv(\(i.e.,)30 b Fp(US-ASCII)p Fv(\),)d(this)h
(indicate)h(y)m(ou)g(ha)m(v)m(e)g(not)g(con\014gured)e(y)m(our)150
1837 y(lo)s(cale)40 b(prop)s(erly)-8 b(.)66 b(T)-8 b(o)39
b(con\014gure)f(the)h(lo)s(cale,)k(y)m(ou)c(can,)j(for)c(example,)k
(use)c(`)p Fp(LANG=sv_SE.UTF-8;)150 1946 y(export)29
b(LANG)p Fv(')g(at)i(a)g Fp(/bin/sh)d Fv(prompt,)i(to)g(set)h(up)e(y)m
(our)i(lo)s(cale)h(for)e(a)g(Sw)m(edish)g(en)m(vironmen)m(t)g(using)150
2056 y Fp(UTF-8)f Fv(as)i(the)f(enco)s(ding.)275 2187
y(Sometimes)36 b(`)p Fp(idn)p Fv(')g(app)s(ear)g(to)h(b)s(e)e(unable)h
(to)h(translate)g(from)f(y)m(our)g(system)g(lo)s(cale)i(in)m(to)f
Fp(UTF-8)150 2296 y Fv(\(whic)m(h)30 b(is)h(used)e(in)m(ternally\),)j
(and)e(y)m(ou)h(get)g(an)g(error)f(lik)m(e)h(the)g(follo)m(wing:)390
2427 y Fp(jas@latte:~$)44 b(idn)j(--quiet)f(foo)390 2537
y(idn:)h(could)f(not)h(convert)f(from)g(ISO-8859-1)f(to)j(UTF-8.)390
2646 y(jas@latte:~$)275 2777 y Fv(The)95 b(simplest)h(explanation)h(is)
e(that)i(y)m(ou)f(ha)m(v)m(en't)h(installed)g(the)e(`)p
Fp(iconv)p Fv(')g(con-)150 2887 y(v)m(ersion)88 b(to)s(ols.)214
b(Y)-8 b(ou)89 b(can)f(\014nd)e(it)j(as)f(a)g(standalone)h(library)e
(in)h Fj(GNU)g Fv(Libicon)m(v)150 2996 y(\()p Fp
(http://www.gnu.org/softwar)o(e/l)o(ibic)o(onv/)o Fv(\).)271
b(On)109 b(man)m(y)g Fj(GNU)p Fv(/Lin)m(ux)h(systems,)150
3106 y(this)38 b(library)g(is)h(part)f(of)g(the)h(system,)h(but)e(y)m
(ou)h(ma)m(y)g(ha)m(v)m(e)g(to)g(install)h(additional)f(pac)m(k)-5
b(ages)40 b(\(e.g.,)150 3215 y(`)p Fp(glibc-locale)p
Fv(')28 b(for)i(Debian\))h(to)g(b)s(e)f(able)h(to)g(use)f(it.)275
3346 y(Another)i(explanation)i(is)f(that)g(the)g(error)g(is)g(correct)h
(and)e(y)m(ou)h(are)g(feeding)g(`)p Fp(idn)p Fv(')g(in)m(v)-5
b(alid)33 b(data.)150 3456 y(This)e(can)i(happ)s(en)d(inadv)m(erten)m
(tly)k(if)e(y)m(ou)g(are)h(not)f(careful)g(with)g(the)g(c)m(haracter)i
(set)f(enco)s(dings)f(y)m(ou)150 3565 y(use.)65 b(F)-8
b(or)40 b(example,)i(if)c(y)m(our)h(shell)g(run)e(in)i(a)g
Fp(ISO-8859-1)d Fv(en)m(vironmen)m(t,)41 b(and)e(y)m(ou)g(in)m(v)m(ok)m
(e)h(`)p Fp(idn)p Fv(')150 3675 y(with)29 b(the)h(`)p
Fp(CHARSET)p Fv(')e(en)m(vironmen)m(t)h(v)-5 b(ariable)31
b(as)e(follo)m(ws,)i(y)m(ou)f(will)g(feed)f(it)h Fp(ISO-8859-1)c
Fv(c)m(haracters)150 3785 y(but)42 b(force)h(it)g(to)g(b)s(eliev)m(e)g
(they)g(are)g Fp(UTF-8)p Fv(.)75 b(Naturally)43 b(this)g(will)f(lead)h
(to)g(an)g(error,)i(unless)d(the)150 3894 y(b)m(yte)33
b(sequences)g(happ)s(en)e(to)j(b)s(e)e(parsable)h(as)g
Fp(UTF-8)p Fv(.)46 b(Note)34 b(that)g(ev)m(en)f(if)g(y)m(ou)g(don't)g
(get)g(an)g(error,)150 4004 y(the)f(output)g(ma)m(y)h(b)s(e)e
(incorrect)i(in)f(this)g(situation,)i(b)s(ecause)e Fp(ISO-8859-1)e
Fv(and)h Fp(UTF-8)g Fv(do)s(es)h(not)g(in)150 4113 y(general)f(enco)s
(de)g(the)f(same)h(c)m(haracters)h(as)f(the)f(same)h(b)m(yte)g
(sequences.)390 4244 y Fp(jas@latte:~$)44 b(idn)j(--quiet)f(--debug)g
("")390 4354 y(system)g(locale)g(uses)h(charset)f(`ISO-8859-1'.)390
4573 y(jas@latte:~$)e(CHARSET=UTF-8)h(idn)i(--quiet)e(--debug)h(r\177)
-48 b(aksm\177)g(org\027)g(as)390 4682 y(system)46 b(locale)g(uses)h
(charset)f(`UTF-8'.)390 4792 y(input[0])g(=)h(U+0072)390
4902 y(input[1])f(=)h(U+4af3)390 5011 y(input[2])f(=)h(U+006d)390
5121 y(input[3])f(=)h(U+1b29e5)390 5230 y(input[4])f(=)h(U+0073)390
5340 y(output[0])e(=)j(U+0078)p eop end
%%Page: 51 56
TeXDict begin 51 55 bop 150 -116 a Fv(Chapter)30 b(10:)41
b(In)m(v)m(oking)32 b(idn)2500 b(51)390 299 y Fp(output[1])45
b(=)j(U+006e)390 408 y(output[2])d(=)j(U+002d)390 518
y(output[3])d(=)j(U+002d)390 628 y(output[4])d(=)j(U+0072)390
737 y(output[5])d(=)j(U+006d)390 847 y(output[6])d(=)j(U+0073)390
956 y(output[7])d(=)j(U+002d)390 1066 y(output[8])d(=)j(U+0068)390
1176 y(output[9])d(=)j(U+0069)390 1285 y(output[10])d(=)i(U+0036)390
1395 y(output[11])e(=)i(U+0064)390 1504 y(output[12])e(=)i(U+0035)390
1614 y(output[13])e(=)i(U+0039)390 1724 y(output[14])e(=)i(U+0037)390
1833 y(output[15])e(=)i(U+0035)390 1943 y(output[16])e(=)i(U+0035)390
2052 y(output[17])e(=)i(U+0032)390 2162 y(output[18])e(=)i(U+0061)390
2271 y(xn--rms-hi6d597552a)390 2381 y(jas@latte:~$)275
2516 y Fv(The)35 b(sense)g(moral)i(here)e(is)h(to)g(forget)h(ab)s(out)e
(`)p Fp(CHARSET)p Fv(')g(\(con\014gure)h(y)m(our)f(lo)s(cales)i(prop)s
(erly)e(in-)150 2625 y(stead\))c(unless)f(y)m(ou)g(kno)m(w)h(what)f(y)m
(ou)h(are)f(doing,)h(and)f(if)g(y)m(ou)h(w)m(an)m(t)g(to)g(use)f(it,)h
(do)f(it)h(carefully)-8 b(,)31 b(after)150 2735 y(v)m(erifying)g(with)f
(`)p Fp(--debug)p Fv(')f(that)i(y)m(ou)g(get)g(the)g(desired)f
(results.)p eop end
%%Page: 52 57
TeXDict begin 52 56 bop 150 -116 a Fv(Chapter)30 b(11:)41
b(Emacs)31 b(API)2546 b(52)150 299 y Fs(11)80 b(Emacs)54
b(API)150 563 y Fv(Included)32 b(in)h(Libidn)g(are)g(`)p
Fp(punycode.el)p Fv(')e(and)i(`)p Fp(idna.el)p Fv(')f(that)i(pro)m
(vides)f(an)h(Emacs)f(Lisp)g(API)g(to)150 673 y(\(a)28
b(limited)g(set)g(of)7 b(\))27 b(the)h(Libidn)e(API.)h(This)f(section)j
(describ)s(es)d(the)h(API.)h(Curren)m(tly)e(the)h(IDNA)h(API)150
783 y(alw)m(a)m(ys)k(set)f(the)g Fp(UseSTD3ASCIIRules)25
b Fv(\015ag)31 b(and)f(clear)h(the)g Fp(AllowUnassigned)26
b Fv(\015ag,)31 b(in)f(the)h(future)150 892 y(there)g(ma)m(y)g(b)s(e)e
(functionalit)m(y)j(to)f(sp)s(ecify)f(these)h(\015ags)g(via)g(the)f
(API.)150 1140 y Fu(11.1)68 b(Pun)l(yco)t(de)45 b(Emacs)g(API)3371
1359 y Fv([V)-8 b(ariable])-3598 b Fo(punycode-program)390
1469 y Fv(Name)34 b(of)g(the)g(GNU)g(Libidn)f(`)p Fp(idn)p
Fv(')g(application.)52 b(The)33 b(default)h(is)f(`)p
Fp(idn)p Fv('.)50 b(This)33 b(v)-5 b(ariable)35 b(can)390
1578 y(b)s(e)30 b(customized.)3371 1783 y([V)-8 b(ariable])-3598
b Fo(punycode-environment)390 1892 y Fv(List)34 b(of)g(en)m(vironmen)m
(t)h(v)-5 b(ariable)35 b(de\014nitions)e(prep)s(ended)f(to)j(`)p
Fp(process-environment)p Fv('.)46 b(The)390 2002 y(default)31
b(is)f(`)p Fp(\("CHARSET=UTF-8"\))p Fv('.)36 b(This)30
b(v)-5 b(ariable)31 b(can)g(b)s(e)f(customized.)3371
2206 y([V)-8 b(ariable])-3598 b Fo(punycode-encode-parame)q(ter)q(s)390
2316 y Fv(List)62 b(of)g(parameters)g(passed)f(to)i Fm(pun)m(yco)s
(de-program)e Fv(to)h(in)m(v)m(ok)m(e)i(pun)m(yco)s(de)d(enco)s(ding)
390 2426 y(mo)s(de.)67 b(The)39 b(default)h(is)g(`)p
Fp(\("--quiet")27 b("--punycode-encode"\))p Fv('.)63
b(This)39 b(v)-5 b(ariable)40 b(can)g(b)s(e)390 2535
y(customized.)3371 2740 y([V)-8 b(ariable])-3598 b Fo
(punycode-decode-parame)q(ter)q(s)390 2849 y Fv(P)m(arameters)40
b(passed)e(to)i Fm(pun)m(yco)s(de-program)e Fv(to)i(in)m(v)m(ok)m(e)h
(pun)m(yco)s(de)d(deco)s(ding)h(mo)s(de.)65 b(The)390
2959 y(default)31 b(is)f(`)p Fp(\("--quiet")e("--punycode-decode"\))p
Fv('.)35 b(This)30 b(v)-5 b(ariable)31 b(can)g(b)s(e)e(customized.)3350
3164 y([F)-8 b(unction])-3599 b Fo(punycode-encode)50
b Fm(string)390 3273 y Fv(Returns)29 b(a)i(Pun)m(yco)s(de)f(enco)s
(ding)g(of)h(the)g Fm(string)p Fv(,)f(after)h(con)m(v)m(erting)h(the)f
(input)e(in)m(to)j(UTF-8.)3350 3478 y([F)-8 b(unction])-3599
b Fo(punycode-decode)50 b Fm(string)390 3587 y Fv(Returns)37
b(a)h(p)s(ossibly)g(m)m(ultib)m(yte)h(string)f(whic)m(h)g(is)g(the)g
(deco)s(ding)g(of)g(the)g Fm(string)46 b Fv(whic)m(h)38
b(is)g(a)390 3697 y(pun)m(yco)s(de)30 b(enco)s(ded)g(string.)150
3944 y Fu(11.2)68 b(IDNA)45 b(Emacs)g(API)3371 4164 y
Fv([V)-8 b(ariable])-3598 b Fo(idna-program)390 4273
y Fv(Name)34 b(of)g(the)g(GNU)g(Libidn)f(`)p Fp(idn)p
Fv(')g(application.)52 b(The)33 b(default)h(is)f(`)p
Fp(idn)p Fv('.)50 b(This)33 b(v)-5 b(ariable)35 b(can)390
4383 y(b)s(e)30 b(customized.)3371 4587 y([V)-8 b(ariable])-3598
b Fo(idna-environment)390 4697 y Fv(List)34 b(of)g(en)m(vironmen)m(t)h
(v)-5 b(ariable)35 b(de\014nitions)e(prep)s(ended)f(to)j(`)p
Fp(process-environment)p Fv('.)46 b(The)390 4807 y(default)31
b(is)f(`)p Fp(\("CHARSET=UTF-8"\))p Fv('.)36 b(This)30
b(v)-5 b(ariable)31 b(can)g(b)s(e)f(customized.)3371
5011 y([V)-8 b(ariable])-3598 b Fo(idna-to-ascii-paramete)q(rs)390
5121 y Fv(List)31 b(of)f(parameters)h(passed)f(to)h Fm(idna-program)f
Fv(to)i(in)m(v)m(ok)m(e)g(IDNA)f(T)-8 b(oASCI)s(I)29
b(mo)s(de.)41 b(The)30 b(de-)390 5230 y(fault)k(is)g(`)p
Fp(\("--quiet")28 b("--idna-to-ascii")d("--usestd3asciirules"\))p
Fv('.)45 b(This)33 b(v)-5 b(ariable)390 5340 y(can)31
b(b)s(e)e(customized.)p eop end
%%Page: 53 58
TeXDict begin 53 57 bop 150 -116 a Fv(Chapter)30 b(11:)41
b(Emacs)31 b(API)2546 b(53)3371 299 y([V)-8 b(ariable])-3598
b Fo(idna-to-unicode-parame)q(ter)q(s)390 408 y Fv(P)m(arameters)38
b(passed)e Fm(idna-program)g Fv(to)h(in)m(v)m(ok)m(e)i(IDNA)e(T)-8
b(oUnico)s(de)37 b(mo)s(de.)59 b(The)36 b(default)h(is)390
518 y(`)p Fp(\("--quiet")28 b("--idna-to-unicode")d
("--usestd3asciirules"\))p Fv('.)73 b(This)43 b(v)-5
b(ariable)44 b(can)390 628 y(b)s(e)30 b(customized.)3350
812 y([F)-8 b(unction])-3599 b Fo(idna-to-ascii)49 b
Fm(string)390 922 y Fv(Returns)26 b(an)h(ASCI)s(I)e(Compatible)j(Enco)s
(ding)e(\(A)m(CE\))i(of)f(the)h(string)e(computed)h(b)m(y)g(the)g(IDNA)
390 1031 y(T)-8 b(oASCI)s(I)29 b(op)s(eration)i(on)f(the)h(input)e
Fm(string)p Fv(,)i(after)g(con)m(v)m(erting)h(the)f(input)e(to)i
(UTF-8.)3350 1215 y([F)-8 b(unction])-3599 b Fo(idna-to-unicode)50
b Fm(string)390 1325 y Fv(Returns)43 b(a)g(p)s(ossibly)g(m)m(ultib)m
(yte)i(string)e(whic)m(h)g(is)h(the)g(output)f(of)g(the)h(IDNA)g(T)-8
b(oUnico)s(de)390 1435 y(op)s(eration)31 b(computed)f(on)g(the)h(input)
e Fm(string)p Fv(.)p eop end
%%Page: 54 59
TeXDict begin 54 58 bop 150 -116 a Fv(Chapter)30 b(12:)41
b(Ja)m(v)-5 b(a)32 b(API)2627 b(54)150 299 y Fs(12)80
b(Ja)l(v)-9 b(a)55 b(API)150 559 y Fv(Libidn)31 b(has)h(b)s(een)g(p)s
(orted)g(to)h(the)f(Ja)m(v)-5 b(a)34 b(programming)e(language,)j(and)c
(as)i(a)g(consequence)g(most)g(of)150 669 y(the)27 b(API)f(is)g(a)m(v)
-5 b(ailable)29 b(to)e(nativ)m(e)h(Ja)m(v)-5 b(a)27 b(applications.)41
b(This)26 b(section)h(con)m(tain)h(notes)f(on)f(this)g(supp)s(ort,)150
778 y(complete)32 b(do)s(cumen)m(tation)f(is)f(p)s(ending.)275
921 y(The)38 b(Ja)m(v)-5 b(a)39 b(library)-8 b(,)41 b(if)e(Libidn)e
(has)h(b)s(een)g(built)h(with)f(Ja)m(v)-5 b(a)39 b(supp)s(ort)e(\(see)j
(Section)f(1.7)h([Do)m(wn-)150 1031 y(loading)35 b(and)e(Installing],)i
(page)g(6\),)g(will)f(b)s(e)f(placed)h(in)g(`)p Fp(java/libidn.jar)p
Fv('.)47 b(The)33 b(source)h(co)s(de)g(is)150 1141 y(lo)s(cated)e(in)e
(`)p Fp(java/gnu/inet/encoding/)p Fv('.)150 1386 y Fu(12.1)68
b(Ov)l(erview)150 1546 y Fv(This)37 b(pac)m(k)-5 b(age)40
b(pro)m(vides)f(a)f(Ja)m(v)-5 b(a)39 b(implemen)m(tation)h(of)e(the)h
(In)m(ternationalized)h(Domain)f(Names)f(in)150 1655
y(Applications)43 b(\(IDNA\))g(standard.)75 b(It)42 b(is)g(written)g
(en)m(tirely)i(in)d(Ja)m(v)-5 b(a)43 b(and)f(do)s(es)g(not)g(require)g
(an)m(y)150 1765 y(additional)31 b(libraries)g(to)g(b)s(e)f(set)h(up.)
275 1908 y(The)i(gn)m(u.inet.enco)s(ding.IDNA)k(class)e(o\013ers)g(t)m
(w)m(o)g(public)f(functions,)h(toASCI)s(I)f(and)g(toUnico)s(de)150
2017 y(whic)m(h)c(can)h(b)s(e)f(used)f(as)i(follo)m(ws:)390
2161 y Fp(gnu.inet.encoding.IDNA.t)o(oASC)o(II\(")o(bl\177)-49
b(ods.z)o(\177)h(ug"\))o(;)390 2270 y(gnu.inet.encoding.IDNA.t)o(oUni)o
(code)o(\("x)o(n--b)o(lds-)o(6qa)o(.xn-)o(-zg-)o(xka)o("\);)150
2516 y Fu(12.2)68 b(Miscellaneous)47 b(Programs)150 2675
y Fv(The)31 b(`)p Fp(misc/)p Fv(')f(directory)i(con)m(tains)h(sev)m
(eral)g(programs)e(that)h(are)g(related)g(to)g(the)g(Ja)m(v)-5
b(a)32 b(part)g(of)f(GNU)150 2785 y(Libidn,)e(but)h(that)h(don't)f
(need)h(to)g(b)s(e)e(included)h(in)g(the)h(main)f(source)g(tree.)150
2993 y Ff(12.2.1)63 b(GenerateRF)m(C3454)150 3140 y Fv(This)43
b(program)h(parses)g(RF)m(C3454)i(and)e(creates)h(the)f(RF)m(C3454.ja)m
(v)-5 b(a)48 b(program)c(that)h(is)f(required)150 3249
y(during)29 b(the)i(StringPrep)e(phase.)275 3392 y(The)19
b(RF)m(C)i(can)f(b)s(e)g(found)f(at)i(v)-5 b(arious)20
b(lo)s(cations,)k(for)c(example)h(at)g Fp(http://www.ietf.org/rfc/r)o
(fc34)o(54.t)o(xt)p Fv(.)275 3536 y(In)m(v)m(ok)m(e)31
b(the)g(program)f(as)h(follo)m(ws:)390 3679 y Fp($)47
b(java)g(GenerateRFC3454)390 3788 y(Creating)f(RFC3454.java...)d(Ok.)
150 3996 y Ff(12.2.2)63 b(GenerateNFK)m(C)150 4143 y
Fv(The)44 b(GenerateNFK)m(C)j(program)e(parses)f(the)h(Unico)s(de)g(c)m
(haracter)i(database)e(\014le)g(and)g(generates)150 4253
y(all)f(the)g(tables)g(required)e(for)h(NFK)m(C.)h(This)e(program)h
(requires)g(the)g(t)m(w)m(o)i(\014les)e(Unico)s(deData.txt)150
4362 y(and)e(Comp)s(ositionExclusions.txt)i(of)f(v)m(ersion)g(3.2)h(of)
f(the)g(Unico)s(de)g(\014les.)75 b(Note)43 b(that)g(RF)m(C3454)150
4472 y(\(Stringprep\))30 b(de\014nes)f(that)i(Unico)s(de)g(v)m(ersion)g
(3.2)g(is)f(to)i(b)s(e)d(used,)h(not)h(the)f(latest)i(v)m(ersion.)275
4615 y(The)d(Unico)s(de)i(data)g(\014les)f(can)h(b)s(e)f(found)f(at)i
Fp(http://www.unicode.org/P)o(ubli)o(c/)p Fv(.)275 4758
y(In)m(v)m(ok)m(e)g(the)g(program)f(as)h(follo)m(ws:)390
4902 y Fp($)47 b(java)g(GenerateNFKC)390 5011 y(Creating)f
(CombiningClass.java...)41 b(Ok.)390 5121 y(Creating)46
b(DecompositionKeys.java.)o(..)41 b(Ok.)390 5230 y(Creating)46
b(DecompositionMappings.j)o(ava)o(...)41 b(Ok.)390 5340
y(Creating)46 b(Composition.java...)c(Ok.)p eop end
%%Page: 55 60
TeXDict begin 55 59 bop 150 -116 a Fv(Chapter)30 b(12:)41
b(Ja)m(v)-5 b(a)32 b(API)2627 b(55)150 299 y Ff(12.2.3)63
b(T)-10 b(estIDNA)150 446 y Fv(The)22 b(T)-8 b(estIDNA)25
b(program)d(allo)m(ws)i(to)g(test)g(the)f(IDNA)g(implemen)m(tation)i
(man)m(ually)e(or)g(against)i(Simon)150 555 y(Josefsson's)30
b(test)i(v)m(ectors.)275 689 y(The)19 b(test)i(v)m(ectors)h(can)f(b)s
(e)e(found)g(at)i(the)g(Libidn)e(homepage,)k Fp
(http://www.gnu.org/softwa)o(re/l)o(ibid)o(n/)p Fv(.)275
822 y(T)-8 b(o)30 b(test)i(the)e(tranformation)h(man)m(ually)-8
b(,)32 b(use:)390 956 y Fp($)47 b(java)g(-cp)g(.:../libidn.jar)d
(TestIDNA)h(-a)i(<string)f(to)h(test>)390 1066 y(Input:)f(<string)g(to)
h(test>)390 1175 y(Output:)f(<toASCII\(string)d(to)48
b(test\)>)390 1285 y($)f(java)g(-cp)g(.:../libidn.jar)d(TestIDNA)h(-u)i
(<string)f(to)h(test>)390 1394 y(Input:)f(<string)g(to)h(test>)390
1504 y(Output:)f(<toUnicode\(string)d(to)k(test\)>)275
1637 y Fv(T)-8 b(o)30 b(test)i(against)f(draft-josefsson-idn-test-v)m
(ectors.h)m(tml,)j(use:)390 1771 y Fp($)47 b(java)g(-cp)g
(.:../libidn.jar)d(TestIDNA)h(-t)390 1881 y(No)i(errors)f(detected!)150
2078 y Ff(12.2.4)63 b(T)-10 b(estNFK)m(C)150 2225 y Fv(The)29
b(T)-8 b(estNFK)m(C)30 b(program)f(allo)m(ws)h(to)g(test)h(the)e(NFK)m
(C)g(implemen)m(tation)i(man)m(ually)f(or)f(against)i(the)150
2334 y(NormalizationT)-8 b(est.txt)34 b(\014le)d(from)f(the)g(Unico)s
(de)h(data)g(\014les.)275 2468 y(T)-8 b(o)30 b(test)i(the)e
(normalization)i(man)m(ually)-8 b(,)32 b(use:)390 2601
y Fp($)47 b(java)g(-cp)g(.:../libidn.jar)d(TestNFKC)h(<string)h(to)h
(test>)390 2711 y(Input:)f(<string)g(to)h(test>)390 2821
y(Output:)f(<nfkc)g(version)g(of)h(the)g(string)f(to)h(test>)275
2954 y Fv(T)-8 b(o)30 b(test)i(against)f(NormalizationT)-8
b(est.txt:)390 3088 y Fp($)47 b(java)g(-cp)g(.:../libidn.jar)d
(TestNFKC)390 3197 y(No)j(errors)f(detected!)150 3428
y Fu(12.3)68 b(P)l(ossible)46 b(Problems)150 3587 y Fv(Bew)m(are)28
b(of)f(Bugs:)39 b(This)26 b(Ja)m(v)-5 b(a)27 b(API)g(needs)f(a)h(lot)h
(more)e(testing,)j(esp)s(ecially)f(with)e Fp(")p Fv(exotic)p
Fp(")i Fv(c)m(haracter)150 3697 y(sets.)41 b(While)31
b(it)g(w)m(orks)g(for)f(me,)g(it)h(ma)m(y)g(not)g(w)m(ork)f(for)g(y)m
(ou.)275 3830 y(Enco)s(ding)21 b(of)h(y)m(our)h(Ja)m(v)-5
b(a)23 b(sources:)36 b(If)22 b(y)m(ou)g(are)h(using)f(non-ASCI)s(I)e(c)
m(haracters)k(in)e(y)m(our)g(Ja)m(v)-5 b(a)23 b(source)150
3940 y(co)s(de,)g(mak)m(e)f(sure)d(ja)m(v)-5 b(ac)22
b(compiles)g(y)m(our)e(programs)g(with)g(the)h(correct)h(enco)s(ding.)
37 b(If)20 b(necessary)h(sp)s(ecify)150 4049 y(the)31
b(enco)s(ding)f(using)g(the)g(-enco)s(ding)h(parameter.)275
4183 y(Ja)m(v)-5 b(a)24 b(Unico)s(de)g(handling:)37 b(Ja)m(v)-5
b(a)25 b(1.4)f(only)g(handles)f(16-bit)i(Unico)s(de)f(co)s(de)g(p)s
(oin)m(ts)g(\(i.e.)39 b(c)m(haracters)150 4293 y(in)28
b(the)h(Basic)h(Multilingual)g(Plane\),)g(this)f(implemen)m(tation)h
(therefore)f(ignores)g(all)h(references)f(to)g(so-)150
4402 y(called)36 b(Supplemen)m(tary)f(Characters)g(\(U)p
Fp(+)p Fv(10000)j(to)e(U)p Fp(+)p Fv(10FFFF\).)h(Starting)f(from)f(Ja)m
(v)-5 b(a)36 b(1.5,)h(these)150 4512 y(c)m(haracters)32
b(will)f(also)g(b)s(e)f(supp)s(orted)e(b)m(y)j(Ja)m(v)-5
b(a,)31 b(but)f(this)g(will)h(require)f(c)m(hanges)h(to)h(this)e
(library)-8 b(.)41 b(See)150 4621 y(also)31 b(the)g(next)f(section.)150
4852 y Fu(12.4)68 b(A)45 b(Note)h(on)e(Ja)l(v)-7 b(a)46
b(and)f(Unico)t(de)150 5011 y Fv(This)25 b(library)f(uses)h(Ja)m(v)-5
b(a's)27 b(builtin)e('c)m(har')h(datat)m(yp)s(e.)40 b(Up)25
b(to)h(Ja)m(v)-5 b(a)26 b(1.4,)i(this)d(datat)m(yp)s(e)h(only)g(supp)s
(orts)150 5121 y(16-bit)46 b(Unico)s(de)g(co)s(de)f(p)s(oin)m(ts,)k
(also)e(called)f(the)f(Basic)i(Multilingual)g(Plane.)85
b(F)-8 b(or)46 b(this)f(reason,)150 5230 y(this)35 b(library)h(do)s
(esn't)f(w)m(ork)h(for)f(Supplemen)m(tary)g(Characters)h(\(i.e.)57
b(c)m(haracters)37 b(from)e(U)p Fp(+)p Fv(10000)j(to)150
5340 y(U)p Fp(+)p Fv(10FFFF\).)33 b(All)e(references)g(to)g(suc)m(h)f
(c)m(haracters)i(are)f(silen)m(tly)g(ignored.)p eop end
%%Page: 56 61
TeXDict begin 56 60 bop 150 -116 a Fv(Chapter)30 b(12:)41
b(Ja)m(v)-5 b(a)32 b(API)2627 b(56)275 299 y(Starting)26
b(from)g(Ja)m(v)-5 b(a)28 b(1.5,)g(also)f(Supplemen)m(tary)f
(Characters)h(will)f(b)s(e)g(supp)s(orted.)38 b(Ho)m(w)m(ev)m(er,)29
b(this)150 408 y(will)24 b(require)g(c)m(hanges)h(in)f(the)h(presen)m
(t)f(v)m(ersion)g(of)h(the)f(library)-8 b(.)39 b(Ja)m(v)-5
b(a)25 b(1.5)g(is)f(curren)m(tly)g(in)g(b)s(eta)g(status.)275
543 y(F)-8 b(or)24 b(more)g(information)g(refer)g(to)g(the)g(do)s
(cumen)m(tation)h(of)f(ja)m(v)-5 b(a.lang.Character)26
b(in)d(the)h(JDK)g(API.)p eop end
%%Page: 57 62
TeXDict begin 57 61 bop 150 -116 a Fv(Chapter)30 b(13:)41
b(C#)30 b(API)2664 b(57)150 299 y Fs(13)80 b(C#)54 b(API)150
533 y Fv(The)33 b(Libidn)g(library)h(has)f(b)s(een)h(p)s(orted)f(to)i
(the)f(C#)f(language.)53 b(The)34 b(p)s(ort)f(reside)h(in)f(the)i
(top-lev)m(el)150 643 y(`)p Fp(csharp/)p Fv(')27 b(directory)-8
b(.)41 b(Curren)m(tly)-8 b(,)29 b(no)f(further)f(do)s(cumen)m(tation)i
(ab)s(out)f(the)g(implemen)m(tation)i(or)f(the)150 752
y(API)h(is)h(a)m(v)-5 b(ailable.)p eop end
%%Page: 58 63
TeXDict begin 58 62 bop 150 -116 a Fv(Chapter)30 b(14:)41
b(Ac)m(kno)m(wledgemen)m(ts)2251 b(58)150 299 y Fs(14)80
b(Ac)l(kno)l(wledgemen)l(ts)150 533 y Fv(The)35 b(pun)m(yco)s(de)f
(implemen)m(tation)j(w)m(as)f(tak)m(en)g(from)f(the)h(IETF)f(IDN)h(Pun)
m(yco)s(de)e(sp)s(eci\014cation,)k(b)m(y)150 643 y(Adam)f(M.)g
(Costello.)63 b(The)36 b(TLD)h(co)s(de)g(w)m(as)h(con)m(tributed)f(b)m
(y)g(Thomas)g(Jacob.)61 b(The)37 b(Ja)m(v)-5 b(a)38 b(imple-)150
752 y(men)m(tation)i(w)m(as)f(con)m(tributed)g(b)m(y)f(Oliv)m(er)h
(Hitz.)66 b(The)38 b(C#)g(implemen)m(tation)i(w)m(as)f(con)m(tributed)g
(b)m(y)150 862 y(Alexander)28 b(Gnauc)m(k.)40 b(The)27
b(Unico)s(de)h(tables)g(w)m(ere)h(pro)m(vided)e(b)m(y)g(Unico)s(de,)i
(Inc.)39 b(Some)28 b(functions)f(for)150 971 y(dealing)i(with)f(Unico)s
(de)g(\(see)h(nfk)m(c.c)g(and)e(toutf8.c\))j(w)m(ere)e(b)s(orro)m(w)m
(ed)g(from)g(GLib,)g(do)m(wnloaded)g(from)150 1081 y
Fp(http://www.gtk.org/)p Fv(.)35 b(The)30 b(man)m(ual)h(b)s(orro)m(w)m
(ed)f(text)h(from)f(Libgcrypt)g(b)m(y)h(W)-8 b(erner)30
b(Ko)s(c)m(h.)275 1215 y(Inspiration)g(for)g(man)m(y)h(things)g(that,)g
(consciously)h(or)e(not,)i(ha)m(v)m(e)f(gone)h(in)m(to)g(this)e(pac)m
(k)-5 b(age)33 b(is)e(due)150 1325 y(to)40 b(a)f(n)m(um)m(b)s(er)f(of)h
(free)g(soft)m(w)m(are)h(pac)m(k)-5 b(age)41 b(that)e(the)h(author)e
(has)h(b)s(een)f(exp)s(osed)h(to.)67 b(The)38 b(author)150
1435 y(wishes)f(to)h(ac)m(kno)m(wledge)h(the)e(free)h(soft)m(w)m(are)g
(comm)m(unit)m(y)g(in)f(general,)j(for)d(giving)h(an)f(example)h(on)150
1544 y(what)30 b(role)h(soft)m(w)m(are)h(dev)m(elopmen)m(t)g(can)f(pla)
m(y)g(in)f(the)g(mo)s(dern)f(so)s(ciet)m(y)-8 b(.)275
1679 y(Sev)m(eral)49 b(p)s(eople)f(rep)s(orted)g(bugs,)53
b(sen)m(t)c(patc)m(hes)g(or)f(suggested)i(impro)m(v)m(emen)m(ts,)k(see)
49 b(the)g(\014le)150 1788 y(THANKS)30 b(in)g(the)g(top-lev)m(el)j
(directory)e(of)f(the)h(source)g(co)s(de.)p eop end
%%Page: 59 64
TeXDict begin 59 63 bop 150 -116 a Fv(Chapter)30 b(15:)41
b(Milestones)2583 b(59)150 299 y Fs(15)80 b(Milestones)150
533 y Fv(The)41 b(complete)h(history)g(of)f(user)g(visible)g(c)m
(hanges)h(is)g(stored)f(in)g(the)g(\014le)h(`)p Fp(NEWS)p
Fv(')e(in)h(the)h(top-lev)m(el)150 643 y(directory)g(of)h(the)f(source)
g(co)s(de)g(tree.)76 b(The)42 b(complete)h(history)f(of)g(mo)s
(di\014cations)g(to)h(eac)m(h)g(\014le)f(is)150 752 y(stored)h(in)g
(the)g(\014le)g(`)p Fp(ChangeLog)p Fv(')e(in)i(the)g(same)h(directory)
-8 b(.)79 b(This)42 b(section)j(con)m(tain)f(a)f(condensed)150
862 y(v)m(ersion)31 b(of)f(that)h(information,)g(in)f(the)h(form)f(of)g
(\\milestones")j(for)d(the)g(pro)5 b(ject.)150 1021 y(Stringprep)29
b(implemen)m(tation.)630 1131 y(V)-8 b(ersion)31 b(0.0.0)h(released)f
(on)g(2002-11-05.)150 1290 y(IDNA)g(and)f(Pun)m(yco)s(de)g(implemen)m
(tations,)i(part)e(of)g(the)h(GNU)g(pro)5 b(ject.)630
1400 y(V)-8 b(ersion)31 b(0.1.0)h(released)f(on)g(2003-01-05.)150
1559 y(Uses)g(o\016cial)g(IDNA)g(A)m(CE)g(pre\014x)e('xn{'.)630
1669 y(V)-8 b(ersion)31 b(0.1.7)h(released)f(on)g(2003-02-12.)150
1828 y(Command)e(line)i(in)m(terface.)630 1938 y(V)-8
b(ersion)31 b(0.1.11)i(released)e(on)f(2003-02-26.)150
2097 y(GNU)h(Lib)s(c)f(add-on)g(prop)s(osed.)630 2207
y(V)-8 b(ersion)31 b(0.1.12)i(released)e(on)f(2003-03-06.)150
2366 y(In)m(terop)s(erabilit)m(y)h(testing)h(during)d(IDNConnect.)630
2476 y(V)-8 b(ersion)31 b(0.3.1)h(released)f(on)g(2003-10-02.)150
2635 y(TLD)f(restriction)i(testing.)630 2745 y(V)-8 b(ersion)31
b(0.4.0)h(released)f(on)g(2004-02-28.)150 2904 y(GNU)g(Lib)s(c)f
(add-on)g(in)m(tegrated.)630 3014 y(V)-8 b(ersion)31
b(0.4.1)h(released)f(on)g(2004-03-08.)150 3173 y(Nativ)m(e)h(Ja)m(v)-5
b(a)32 b(implemen)m(tation.)630 3283 y(V)-8 b(ersion)31
b(0.4.2-0.4.9)j(released)e(b)s(et)m(w)m(een)f(2004-03-20)j(and)c
(2004-06-11.)150 3442 y(PR-29)h(functions)f(for)g(\\problem)h
(sequences".)630 3552 y(V)-8 b(ersion)31 b(0.5.0)h(released)f(on)g
(2004-06-26.)150 3711 y(Man)m(y)g(small)g(p)s(ortabilit)m(y)g(\014xes)f
(and)g(wider)g(use.)630 3821 y(V)-8 b(ersion)31 b(0.5.1)h(through)e
(0.5.20,)j(released)e(b)s(et)m(w)m(een)g(2004-07-09)j(and)c
(2005-10-23.)150 3980 y(Nativ)m(e)i(C#)e(implemen)m(tation.)630
4090 y(V)-8 b(ersion)31 b(0.6.0)h(released)f(on)g(2005-12-03.)p
eop end
%%Page: 60 65
TeXDict begin 60 64 bop 150 -116 a Fv(Concept)31 b(Index)2927
b(60)150 299 y Fs(Concept)52 b(Index)150 638 y Fu(A)150
754 y Fe(AIX)19 b Fd(.)13 b(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g
(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)
f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)47 b Fe(4)150
841 y(ARM)18 b Fd(.)12 b(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)
h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f
(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)44 b Fe(5)150
929 y(Auto)r(conf)26 b(tests)10 b Fd(.)i(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)
f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g
(.)h(.)f(.)g(.)h(.)35 b Fe(10)150 1162 y Fu(C)150 1278
y Fe(command)26 b(line)20 b Fd(.)12 b(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f
(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)
h(.)f(.)g(.)h(.)45 b Fe(48)150 1365 y(Compiling)27 b(y)n(our)e
(application)15 b Fd(.)e(.)g(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)
g(.)h(.)f(.)g(.)h(.)f(.)g(.)41 b Fe(9)150 1453 y(Con\014gure)26
b(tests)21 b Fd(.)12 b(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f
(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)46
b Fe(10)150 1540 y(Con)n(tributing)21 b Fd(.)12 b(.)h(.)f(.)g(.)h(.)f
(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)
h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)47 b Fe(7)150 1790
y Fu(D)150 1906 y Fe(Debian)9 b Fd(.)k(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g
(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)
f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)35 b
Fe(3)150 1993 y(Do)n(wnload)16 b Fd(.)d(.)f(.)h(.)f(.)g(.)h(.)f(.)g(.)h
(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)
g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)42 b Fe(6)150 2226
y Fu(E)150 2342 y Fe(Examples)21 b Fd(.)12 b(.)g(.)h(.)f(.)g(.)h(.)f(.)
g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h
(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)45 b Fe(34)150
2592 y Fu(F)150 2708 y Fe(FDL,)26 b(GNU)f(F)-6 b(ree)25
b(Do)r(cumen)n(tation)h(License)11 b Fd(.)j(.)e(.)g(.)h(.)f(.)g(.)37
b Fe(74)150 2796 y(F)-6 b(reeBSD)16 b Fd(.)c(.)g(.)h(.)f(.)g(.)g(.)h(.)
f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h
(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)42 b Fe(5)150
3029 y Fu(H)150 3145 y Fe(Hac)n(king)11 b Fd(.)h(.)h(.)f(.)g(.)h(.)f(.)
g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h
(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)37
b Fe(7)150 3232 y(HP-UX)20 b Fd(.)12 b(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h
(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)
h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)47 b Fe(4)150
3466 y Fu(I)150 3582 y Fc(idn)14 b Fd(.)f(.)f(.)h(.)f(.)g(.)h(.)f(.)g
(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)
f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)39
b Fe(48)150 3669 y(IDNA)24 b(F)-6 b(unctions)14 b Fd(.)f(.)f(.)g(.)g(.)
h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g
(.)h(.)f(.)g(.)h(.)f(.)g(.)40 b Fe(22)150 3756 y(Installation)10
b Fd(.)j(.)g(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)
h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f
(.)36 b Fe(6)150 3843 y(in)n(v)n(oking)25 b Fc(idn)g
Fd(.)12 b(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f
(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)49
b Fe(48)150 3931 y(IRIX)7 b Fd(.)k(.)h(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f
(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)
h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)33
b Fe(4)150 4164 y Fu(L)150 4280 y Fe(LGPL,)26 b(Lesser)h(General)g
(Public)f(License)6 b Fd(.)13 b(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)32
b Fe(65)150 4530 y Fu(M)150 4646 y Fe(MacOS)26 b(X)18
b Fd(.)12 b(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g
(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)
f(.)g(.)45 b Fe(5)2025 638 y(Mandrak)n(e)15 b Fd(.)d(.)h(.)f(.)g(.)h(.)
f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h
(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)42
b Fe(4)2025 728 y(Motorola)28 b(Cold\014re)12 b Fd(.)h(.)f(.)g(.)h(.)f
(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)
f(.)g(.)h(.)f(.)g(.)g(.)39 b Fe(5)2025 975 y Fu(N)2025
1097 y Fe(NetBSD)8 b Fd(.)j(.)i(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h
(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)
h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)34 b Fe(4)2025 1344 y
Fu(O)2025 1466 y Fe(Op)r(enBSD)14 b Fd(.)d(.)i(.)f(.)g(.)h(.)f(.)g(.)h
(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)
g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)41 b Fe(5)2025
1556 y(Op)r(enP)n(o)n(w)n(er)26 b(720)11 b Fd(.)i(.)f(.)g(.)h(.)f(.)g
(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)
g(.)g(.)h(.)f(.)g(.)h(.)f(.)37 b Fe(4)2025 1820 y Fu(P)2025
1942 y Fe(PR29)26 b(F)-6 b(unctions)22 b Fd(.)12 b(.)h(.)f(.)g(.)h(.)f
(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)
h(.)f(.)g(.)h(.)f(.)48 b Fe(32)2025 2032 y(Pun)n(yco)r(de)25
b(F)-6 b(unctions)24 b Fd(.)12 b(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)
f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)50
b Fe(19)2025 2296 y Fu(R)2025 2417 y Fe(RedHat)17 b Fd(.)11
b(.)i(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h
(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)
g(.)h(.)43 b Fe(4)2025 2507 y(RedHat)25 b(Adv)l(anced)f(Serv)n(er)13
b Fd(.)e(.)i(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)
h(.)f(.)g(.)g(.)h(.)39 b Fe(4)2025 2597 y(Rep)r(orting)26
b(Bugs)10 b Fd(.)i(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h
(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)36
b Fe(6)2025 2861 y Fu(S)2025 2983 y Fe(Solaris)17 b Fd(.)d(.)e(.)g(.)h
(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)
g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)43
b Fe(4)2025 3073 y(Stringprep)25 b(F)-6 b(unctions)10
b Fd(.)i(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)
h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)36 b Fe(15)2025 3163
y(SuSE)19 b Fd(.)12 b(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g
(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)
f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)46 b Fe(4)2025 3253
y(SuSE)25 b(Lin)n(ux)18 b Fd(.)13 b(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h
(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)
g(.)h(.)f(.)g(.)h(.)f(.)46 b Fe(4)2025 3500 y Fu(T)2025
3622 y Fe(TLD)25 b(F)-6 b(unctions)16 b Fd(.)c(.)h(.)f(.)g(.)h(.)f(.)g
(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)
f(.)g(.)h(.)f(.)g(.)42 b Fe(27)2025 3711 y(T)-6 b(ru64)11
b Fd(.)i(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)
h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g
(.)g(.)h(.)f(.)g(.)h(.)37 b Fe(3)2025 3959 y Fu(U)2025
4080 y Fe(uClib)r(c)19 b Fd(.)12 b(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g
(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)
f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)45 b Fe(5)2025
4170 y(uClin)n(ux)14 b Fd(.)e(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f
(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)
f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)41 b Fe(5)2025 4260
y(Utilit)n(y)25 b(F)-6 b(unctions)23 b Fd(.)13 b(.)f(.)g(.)g(.)h(.)f(.)
g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f
(.)g(.)h(.)f(.)49 b Fe(12)2025 4524 y Fu(W)2025 4646
y Fe(Windo)n(ws)11 b Fd(.)i(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f
(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)
f(.)g(.)h(.)f(.)g(.)h(.)f(.)37 b Fe(4)p eop end
%%Page: 61 66
TeXDict begin 61 65 bop 150 -116 a Fv(F)-8 b(unction)31
b(and)f(V)-8 b(ariable)32 b(Index)2370 b(61)150 299 y
Fs(F)-13 b(unction)52 b(and)h(V)-13 b(ariable)53 b(Index)150
610 y Fu(I)150 729 y Fc(idna-to-ascii)18 b Fd(.)d(.)d(.)h(.)f(.)g(.)g
(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)
g(.)h(.)f(.)g(.)h(.)f(.)43 b Fe(53)150 817 y Fc(idna-to-unicode)15
b Fd(.)g(.)e(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)
h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)40 b Fe(53)150
906 y Fc(idna_strerror)18 b Fd(.)d(.)d(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h
(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)
h(.)f(.)43 b Fe(26)150 994 y Fc(idna_to_ascii_4i)13 b
Fd(.)j(.)d(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g
(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)39 b Fe(23)150
1083 y Fc(idna_to_ascii_4z)13 b Fd(.)j(.)d(.)f(.)g(.)h(.)f(.)g(.)g(.)h
(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)
39 b Fe(24)150 1171 y Fc(idna_to_ascii_8z)13 b Fd(.)j(.)d(.)f(.)g(.)h
(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)
g(.)h(.)f(.)g(.)39 b Fe(24)150 1259 y Fc(idna_to_ascii_lz)13
b Fd(.)j(.)d(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)
g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)39 b Fe(24)150
1348 y Fc(idna_to_unicode_44i)9 b Fd(.)17 b(.)12 b(.)g(.)h(.)f(.)g(.)g
(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)34
b Fe(23)150 1436 y Fc(idna_to_unicode_4z4z)7 b Fd(.)17
b(.)c(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h
(.)f(.)g(.)h(.)f(.)33 b Fe(25)150 1525 y Fc(idna_to_unicode_8z4z)7
b Fd(.)17 b(.)c(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g
(.)g(.)h(.)f(.)g(.)h(.)f(.)33 b Fe(25)150 1613 y Fc
(idna_to_unicode_8z8z)7 b Fd(.)17 b(.)c(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g
(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)33
b Fe(25)150 1702 y Fc(idna_to_unicode_8zlz)7 b Fd(.)17
b(.)c(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h
(.)f(.)g(.)h(.)f(.)33 b Fe(25)150 1790 y Fc(idna_to_unicode_lzlz)7
b Fd(.)17 b(.)c(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g
(.)g(.)h(.)f(.)g(.)h(.)f(.)33 b Fe(26)150 2039 y Fu(P)150
2158 y Fc(pr29_4)10 b Fd(.)j(.)g(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)
f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g
(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)35 b Fe(32)150 2246
y Fc(pr29_4z)8 b Fd(.)14 b(.)e(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h
(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)
g(.)h(.)f(.)g(.)h(.)f(.)g(.)34 b Fe(33)150 2335 y Fc(pr29_8z)8
b Fd(.)14 b(.)e(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f
(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)
h(.)f(.)g(.)34 b Fe(33)150 2423 y Fc(pr29_strerror)18
b Fd(.)d(.)d(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)
f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)43
b Fe(33)150 2511 y Fc(punycode-decode)15 b Fd(.)g(.)e(.)f(.)g(.)h(.)f
(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)
f(.)g(.)g(.)h(.)40 b Fe(52)150 2600 y Fc(punycode-encode)15
b Fd(.)g(.)e(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)
h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)40 b Fe(52)150
2688 y Fc(punycode_decode)15 b Fd(.)g(.)e(.)f(.)g(.)h(.)f(.)g(.)h(.)f
(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)
h(.)40 b Fe(20)150 2777 y Fc(punycode_encode)15 b Fd(.)g(.)e(.)f(.)g(.)
h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g
(.)h(.)f(.)g(.)g(.)h(.)40 b Fe(19)150 2865 y Fc(punycode_strerror)12
b Fd(.)k(.)c(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)
g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)37 b Fe(21)150 3123
y Fu(S)150 3242 y Fc(stringprep)24 b Fd(.)13 b(.)f(.)g(.)h(.)f(.)g(.)g
(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)
g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)47 b Fe(16)150 3330 y
Fc(stringprep_4i)18 b Fd(.)d(.)d(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)
g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f
(.)43 b Fe(15)150 3419 y Fc(stringprep_4zi)16 b Fd(.)g(.)c(.)g(.)h(.)f
(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)
h(.)f(.)g(.)h(.)f(.)g(.)42 b Fe(16)2025 610 y Fc
(stringprep_check_version)26 b Fd(.)12 b(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)
f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)47 b Fe(9)2025
697 y Fc(stringprep_convert)10 b Fd(.)17 b(.)12 b(.)g(.)g(.)h(.)f(.)g
(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)
36 b Fe(14)2025 785 y Fc(stringprep_iscsi)13 b Fd(.)j(.)c(.)h(.)f(.)g
(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)
f(.)g(.)h(.)f(.)39 b Fe(18)2025 872 y Fc(stringprep_locale_charset)18
b Fd(.)g(.)12 b(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f
(.)44 b Fe(13)2025 959 y Fc(stringprep_locale_to_utf8)18
b Fd(.)g(.)12 b(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f
(.)44 b Fe(14)2025 1046 y Fc(stringprep_nameprep_no_unassig)q(ned)7
b Fd(.)18 b(.)13 b(.)f(.)g(.)h(.)f(.)g(.)h(.)32 b Fe(18)2025
1133 y Fc(stringprep_plain)13 b Fd(.)j(.)c(.)h(.)f(.)g(.)h(.)f(.)g(.)h
(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)
39 b Fe(18)2025 1221 y Fc(stringprep_profile)10 b Fd(.)17
b(.)12 b(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)
f(.)g(.)h(.)f(.)g(.)h(.)f(.)36 b Fe(17)2025 1308 y Fc
(stringprep_strerror)9 b Fd(.)16 b(.)d(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g
(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)35
b Fe(17)2025 1395 y Fc(stringprep_ucs4_nfkc_normalize)12
b Fd(.)18 b(.)12 b(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)37
b Fe(13)2025 1482 y Fc(stringprep_ucs4_to_utf8)26 b Fd(.)13
b(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f
(.)47 b Fe(12)2025 1569 y Fc(stringprep_unichar_to_utf8)17
b Fd(.)h(.)12 b(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)
43 b Fe(12)2025 1656 y Fc(stringprep_utf8_nfkc_normalize)12
b Fd(.)18 b(.)12 b(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)37
b Fe(13)2025 1744 y Fc(stringprep_utf8_to_locale)18 b
Fd(.)g(.)12 b(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f
(.)44 b Fe(14)2025 1831 y Fc(stringprep_utf8_to_ucs4)26
b Fd(.)13 b(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g
(.)h(.)f(.)47 b Fe(12)2025 1918 y Fc(stringprep_utf8_to_unichar)17
b Fd(.)h(.)12 b(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)
43 b Fe(12)2025 2005 y Fc(stringprep_xmpp_nodeprep)25
b Fd(.)12 b(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g
(.)g(.)46 b Fe(18)2025 2092 y Fc(stringprep_xmpp_resourceprep)15
b Fd(.)i(.)c(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)40
b Fe(18)2025 2344 y Fu(T)2025 2460 y Fc(tld_check_4)23
b Fd(.)12 b(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f
(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)46
b Fe(29)2025 2547 y Fc(tld_check_4t)22 b Fd(.)12 b(.)g(.)h(.)f(.)g(.)g
(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)
g(.)h(.)f(.)g(.)h(.)f(.)g(.)45 b Fe(27)2025 2634 y Fc(tld_check_4tz)18
b Fd(.)d(.)d(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)
h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)43
b Fe(27)2025 2721 y Fc(tld_check_4z)22 b Fd(.)12 b(.)g(.)h(.)f(.)g(.)g
(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)
g(.)h(.)f(.)g(.)h(.)f(.)g(.)45 b Fe(29)2025 2809 y Fc(tld_check_8z)22
b Fd(.)12 b(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h
(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)45
b Fe(29)2025 2896 y Fc(tld_check_lz)22 b Fd(.)12 b(.)g(.)h(.)f(.)g(.)g
(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)
g(.)h(.)f(.)g(.)h(.)f(.)g(.)45 b Fe(30)2025 2983 y Fc
(tld_default_table)12 b Fd(.)k(.)c(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f
(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)38
b Fe(28)2025 3070 y Fc(tld_get_4)25 b Fd(.)13 b(.)f(.)g(.)h(.)f(.)g(.)g
(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)
g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)49 b Fe(28)2025 3157
y Fc(tld_get_4z)24 b Fd(.)12 b(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h
(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)
g(.)h(.)f(.)g(.)48 b Fe(28)2025 3245 y Fc(tld_get_table)18
b Fd(.)d(.)d(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)
h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)43
b Fe(28)2025 3332 y Fc(tld_get_z)25 b Fd(.)13 b(.)f(.)g(.)h(.)f(.)g(.)g
(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)
g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)49 b Fe(28)2025 3419
y Fc(tld_strerror)22 b Fd(.)12 b(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)
f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)h
(.)f(.)g(.)45 b Fe(30)p eop end
%%Page: 62 67
TeXDict begin 62 66 bop 150 -116 a Fv(App)s(endix)29
b(A:)h(PR29)h(discussion)2323 b(62)150 299 y Fs(App)t(endix)52
b(A)81 b(PR29)54 b(discussion)150 500 y Fv(If)26 b(y)m(ou)h(wish)f(to)h
(exp)s(erimen)m(t)g(with)f(a)h(mo)s(di\014ed)f(Unico)s(de)h(NFK)m(C)g
(implemen)m(tation)h(according)f(to)h(the)150 609 y(PR29)j(prop)s
(osal,)g(y)m(ou)g(ma)m(y)g(\014nd)e(the)i(follo)m(wing)h(bug)e(rep)s
(ort)g(useful.)41 b(Ho)m(w)m(ev)m(er,)33 b(I)d(ha)m(v)m(e)i(not)f(v)m
(eri\014ed)150 719 y(that)k(the)g(suggested)g(mo)s(di\014cations)g(are)
g(correct.)54 b(F)-8 b(or)35 b(reference,)i(I'm)d(including)g(m)m(y)h
(resp)s(onse)e(to)150 829 y(the)e(rep)s(ort)e(as)i(w)m(ell.)150
956 y Fp(From:)46 b(Rick)h(McGowan)f(<rick@unicode.org>)150
1066 y(Subject:)g(Possible)f(bug)i(and)g(status)f(of)h(PR)g(29)h
(change\(s\))150 1176 y(To:)f(bug-libidn@gnu.org)150
1285 y(Date:)f(Wed,)h(27)g(Oct)g(2004)g(14:49:17)e(-0700)150
1504 y(Hello.)h(On)h(behalf)f(of)i(the)e(Unicode)g(Consortium)f
(editorial)h(committee,)f(I)i(would)150 1614 y(like)g(to)g(find)f(out)h
(more)g(information)e(about)h(the)h(PR)g(29)g(fixes,)f(if)i(any,)e(and)
150 1724 y(functions)f(in)i(Libidn.)f(Your)h(implementation)d(was)j
(listed)f(in)h(the)g(text)g(of)g(PR29)f(as)150 1833 y(needing)g
(investigation,)e(so)j(I)g(am)h(following)d(up)i(on)g(several)f
(implementations.)150 2052 y(The)h(UTC)g(has)g(accepted)e(the)i
(proposed)f(fix)h(to)g(D2)g(as)g(outlined)f(in)h(PR29,)f(and)h(a)h(new)
150 2162 y(draft)e(of)i(UAX)e(#15)h(has)g(been)g(issued.)150
2381 y(I)g(have)g(looked)f(at)h(Libidn)f(0.5.8)h(\(today\),)e(and)i
(there)g(may)g(still)f(be)h(a)h(possible)150 2491 y(bug)f(in)g
(NFKC.java)e(and)i(nfkc.c.)150 2710 y(------------------------)o(----)o
(----)o(---)o(----)o(----)o(---)o(----)o(----)150 2929
y(1.)g(In)g(NFKC.java,)e(this)i(line)g(in)g(canonicalOrdering\(\):)436
3148 y(if)h(\(i)f(>)g(0)h(&&)f(\(last_cc)e(==)j(0)f(||)g(last_cc)f(!=)h
(cc\)\))g({)150 3367 y(should)f(perhaps)g(be)h(changed)f(to:)436
3587 y(if)i(\(i)f(>)g(0)h(&&)f(\(last_cc)e(==)j(0)f(||)g(last_cc)f(<)h
(cc\)\))g({)150 3806 y(but)g(I'm)g(not)g(sure)f(of)i(the)e(sense)h(of)g
(this)g(comparison.)150 4025 y(------------------------)o(----)o(----)o
(---)o(----)o(----)o(---)o(----)o(----)150 4244 y(2.)g(In)g(nfkc.c,)f
(function)g(_g_utf8_normalize_wc\(\))41 b(has)47 b(this)g(code:)627
4463 y(if)g(\(i)h(>)f(0)h(&&)818 4573 y(\(last_cc)e(==)h(0)g(||)h
(last_cc)d(!=)j(cc\))e(&&)818 4682 y(combine)g
(\(wc_buffer[last_start],)41 b(wc_buffer[i],)1248 4792
y(&wc_buffer[last_start]\))o(\))723 4902 y({)150 5121
y(This)47 b(appears)e(to)j(have)e(the)h(same)g(bug)g(as)g(the)g
(current)f(Python)g(implementation)e(\(in)150 5230 y(Python)i(2.3.4\).)
g(The)h(code)f(should)h(be)g(checking,)e(as)i(per)g(new)g(rule)g(D2)g
(UAX)g(#15)150 5340 y(update,)f(that)g(the)h(next)g(combining)e
(character)h(is)h(the)g(same)f(or)h(HIGHER)g(than)f(the)p
eop end
%%Page: 63 68
TeXDict begin 63 67 bop 150 -116 a Fv(App)s(endix)29
b(A:)h(PR29)h(discussion)2323 b(63)150 299 y Fp(current)46
b(one.)g(It)i(now)f(checks)f(to)h(see)g(if)g(it's)g(non-zero)e(and)i
(not)g(equal.)150 518 y(The)g(above)f(line\(s\))g(should)g(perhaps)g
(be)h(changed)f(to:)627 737 y(if)h(\(i)h(>)f(0)h(&&)818
847 y(\(last_cc)e(==)h(0)g(||)h(last_cc)d(<)j(cc\))f(&&)818
956 y(combine)f(\(wc_buffer[last_start],)41 b(wc_buffer[i],)1248
1066 y(&wc_buffer[last_start]\))o(\))723 1176 y({)150
1395 y(but)47 b(I'm)g(not)g(sure)f(of)i(the)e(sense)h(of)g(the)g
(comparison)e(\(<)i(or)g(>)h(or)f(<=?\))g(here.)150 1614
y(In)g(the)g(text)g(of)g(PR29,)f(I)i(will)e(be)i(marking)d(Libidn)h(as)
i("needs)e(change")g(and)g(adding)150 1724 y(the)h(version)f(number)g
(that)g(I)i(checked.)d(If)j(any)f(further)e(change)h(is)i(made,)e
(please)150 1833 y(let)h(me)g(know)g(the)g(release)e(version,)h(and)h
(I'll)g(update)f(again.)150 2052 y(Regards,)532 2162
y(Rick)g(McGowan)150 2381 y(From:)g(Simon)h(Josefsson)e
(<jas@extundo.com>)150 2491 y(Subject:)h(Re:)g(Possible)g(bug)h(and)g
(status)f(of)h(PR)g(29)g(change\(s\))150 2600 y(To:)g(Rick)g(McGowan)e
(<rick@unicode.org>)150 2710 y(Cc:)i(bug-libidn@gnu.org)150
2819 y(Date:)f(Thu,)h(28)g(Oct)g(2004)g(09:47:47)e(+0200)150
3039 y(Rick)i(McGowan)e(<rick@unicode.org>)e(writes:)150
3258 y(>)k(Hello.)g(On)g(behalf)f(of)h(the)g(Unicode)f(Consortium)f
(editorial)g(committee,)g(I)i(would)150 3367 y(>)g(like)g(to)g(find)g
(out)g(more)f(information)f(about)i(the)f(PR)i(29)f(fixes,)f(if)h(any,)
g(and)150 3477 y(>)g(functions)f(in)h(Libidn.)f(Your)g(implementation)e
(was)j(listed)f(in)h(the)g(text)g(of)g(PR29)g(as)150
3587 y(>)g(needing)f(investigation,)e(so)j(I)h(am)f(following)e(up)i
(on)h(several)d(implementations.)150 3696 y(>)150 3806
y(>)i(The)g(UTC)g(has)g(accepted)f(the)h(proposed)e(fix)i(to)g(D2)g(as)
h(outlined)d(in)i(PR29,)g(and)g(a)g(new)150 3915 y(>)g(draft)g(of)g
(UAX)g(#15)g(has)g(been)f(issued.)150 4025 y(>)150 4134
y(>)h(I)h(have)f(looked)f(at)h(Libidn)f(0.5.8)g(\(today\),)g(and)h
(there)f(may)h(still)f(be)i(a)f(possible)150 4244 y(>)g(bug)g(in)h
(NFKC.java)d(and)i(nfkc.c.)150 4463 y(Hello)f(Rick.)150
4682 y(I)h(believe)f(the)h(current)f(behavior)g(is)h(intentional.)92
b(Libidn)46 b(do)h(not)g(aim)g(to)150 4792 y(implement)e
(latest-and-greatest)e(NFKC,)j(it)h(aim)g(to)g(implement)f(the)h(NFKC)
150 4902 y(functionality)d(required)i(for)h(StringPrep)e(and)i(IDN.)94
b(As)47 b(you)g(may)g(know,)150 5011 y(StringPrep/IDN)d(reference)h
(Unicode)h(3.2.0,)g(and)h(explicitly)e(says)i(any)g(later)150
5121 y(changes)f(\(which)g(I)h(consider)f(PR29)h(as\))f(do)i(not)f
(apply.)150 5340 y(In)g(fact,)g(I)g(believe)f(that)g(would)h(I)g
(incorporate)e(the)i(changes)f(suggested)f(in)p eop end
%%Page: 64 69
TeXDict begin 64 68 bop 150 -116 a Fv(App)s(endix)29
b(A:)h(PR29)h(discussion)2323 b(64)150 299 y Fp(PR29,)46
b(I)i(would)e(in)h(fact)g(be)g(violating)e(the)i(IDN)g(specifications.)
150 518 y(Thanks)f(for)h(looking)f(into)g(the)h(code)g(and)g(finding)f
(the)h(place)f(where)g(the)150 628 y(change)g(could)g(be)i(made.)94
b(I'll)46 b(see)h(if)g(I)h(can)f(mention)f(this)g(in)h(the)g(manual)150
737 y(somewhere,)e(for)i(technically)e(interested)g(readers.)150
956 y(Regards,)150 1066 y(Simon)p eop end
%%Page: 65 70
TeXDict begin 65 69 bop 150 -116 a Fv(App)s(endix)29
b(B:)i(GNU)g(LESSER)d(GENERAL)j(PUBLIC)f(LICENSE)1091
b(65)150 141 y Fs(App)t(endix)59 b(B)81 b(GNU)54 b(LESSER)f(GENERAL)h
(PUBLIC)1088 299 y(LICENSE)1417 499 y Fv(V)-8 b(ersion)31
b(2.1,)h(F)-8 b(ebruary)30 b(1999)390 631 y(Cop)m(yrigh)m(t)842
628 y(c)817 631 y Ft(\015)g Fv(1991,)j(1999)f(F)-8 b(ree)31
b(Soft)m(w)m(are)h(F)-8 b(oundation,)31 b(Inc.)390 740
y(51)g(F)-8 b(ranklin)31 b(St)f({)h(Fifth)f(Flo)s(or,)h(Boston,)h(MA)f
(02110-1301,)k(USA)390 959 y(Ev)m(ery)m(one)c(is)g(p)s(ermitted)f(to)h
(cop)m(y)g(and)f(distribute)g(v)m(erbatim)h(copies)390
1069 y(of)g(this)f(license)h(do)s(cumen)m(t,)g(but)e(c)m(hanging)j(it)f
(is)f(not)h(allo)m(w)m(ed.)390 1288 y([This)f(is)g(the)h(\014rst)e
(released)j(v)m(ersion)e(of)h(the)g(Lesser)f(GPL.)61
b(It)30 b(also)i(coun)m(ts)390 1398 y(as)f(the)f(successor)h(of)f(the)h
(GNU)g(Library)e(Public)i(License,)g(v)m(ersion)g(2,)g(hence)f(the)390
1507 y(v)m(ersion)h(n)m(um)m(b)s(er)e(2.1.])150 1735
y Fu(B.1)67 b(Pream)l(ble)150 1895 y Fv(The)27 b(licenses)i(for)f(most)
g(soft)m(w)m(are)i(are)e(designed)g(to)h(tak)m(e)g(a)m(w)m(a)m(y)h(y)m
(our)e(freedom)g(to)h(share)e(and)h(c)m(hange)150 2004
y(it.)42 b(By)32 b(con)m(trast,)g(the)f(GNU)g(General)h(Public)f
(Licenses)g(are)g(in)m(tended)g(to)g(guaran)m(tee)h(y)m(our)f(freedom)
150 2114 y(to)g(share)f(and)g(c)m(hange)i(free)e(soft)m(w)m(are|to)j
(mak)m(e)e(sure)f(the)g(soft)m(w)m(are)i(is)e(free)h(for)f(all)h(its)g
(users.)275 2246 y(This)40 b(license,)45 b(the)c(Lesser)g(General)h
(Public)f(License,)j(applies)d(to)h(some)f(sp)s(ecially)h(designated)
150 2355 y(soft)m(w)m(are|t)m(ypically)24 b(libraries|of)e(the)f(F)-8
b(ree)22 b(Soft)m(w)m(are)g(F)-8 b(oundation)22 b(and)f(other)g
(authors)g(who)g(decide)150 2465 y(to)35 b(use)f(it.)53
b(Y)-8 b(ou)35 b(can)g(use)f(it)g(to)s(o,)j(but)c(w)m(e)i(suggest)g(y)m
(ou)g(\014rst)f(think)f(carefully)i(ab)s(out)f(whether)g(this)150
2575 y(license)27 b(or)e(the)h(ordinary)f(General)h(Public)g(License)g
(is)f(the)h(b)s(etter)g(strategy)h(to)f(use)f(in)h(an)m(y)g(particular)
150 2684 y(case,)32 b(based)e(on)g(the)h(explanations)g(b)s(elo)m(w.)
275 2816 y(When)41 b(w)m(e)g(sp)s(eak)g(of)h(free)f(soft)m(w)m(are,)46
b(w)m(e)c(are)f(referring)g(to)h(freedom)g(of)f(use,)j(not)e(price.)73
b(Our)150 2926 y(General)30 b(Public)f(Licenses)g(are)h(designed)f(to)g
(mak)m(e)i(sure)d(that)i(y)m(ou)f(ha)m(v)m(e)h(the)g(freedom)f(to)g
(distribute)150 3036 y(copies)e(of)g(free)f(soft)m(w)m(are)i(\(and)f(c)
m(harge)g(for)f(this)h(service)g(if)g(y)m(ou)f(wish\);)i(that)f(y)m(ou)
g(receiv)m(e)h(source)f(co)s(de)150 3145 y(or)34 b(can)h(get)h(it)f(if)
f(y)m(ou)h(w)m(an)m(t)g(it;)i(that)e(y)m(ou)g(can)g(c)m(hange)g(the)g
(soft)m(w)m(are)h(and)e(use)g(pieces)h(of)f(it)h(in)f(new)150
3255 y(free)c(programs;)h(and)f(that)g(y)m(ou)h(are)g(informed)f(that)h
(y)m(ou)f(can)h(do)f(these)h(things.)275 3387 y(T)-8
b(o)27 b(protect)h(y)m(our)e(righ)m(ts,)j(w)m(e)e(need)f(to)i(mak)m(e)g
(restrictions)f(that)h(forbid)e(distributors)f(to)j(den)m(y)f(y)m(ou)
150 3496 y(these)32 b(righ)m(ts)g(or)g(to)g(ask)g(y)m(ou)g(to)g
(surrender)d(these)j(righ)m(ts.)45 b(These)32 b(restrictions)g
(translate)h(to)f(certain)150 3606 y(resp)s(onsibilities)e(for)h(y)m
(ou)f(if)h(y)m(ou)f(distribute)g(copies)h(of)g(the)f(library)g(or)h(if)
f(y)m(ou)h(mo)s(dify)e(it.)275 3738 y(F)-8 b(or)28 b(example,)h(if)f(y)
m(ou)g(distribute)f(copies)i(of)f(the)g(library)-8 b(,)29
b(whether)e(gratis)h(or)g(for)g(a)g(fee,)h(y)m(ou)f(m)m(ust)150
3848 y(giv)m(e)40 b(the)f(recipien)m(ts)h(all)g(the)e(righ)m(ts)i(that)
f(w)m(e)g(ga)m(v)m(e)i(y)m(ou.)66 b(Y)-8 b(ou)40 b(m)m(ust)e(mak)m(e)i
(sure)e(that)h(they)-8 b(,)42 b(to)s(o,)150 3957 y(receiv)m(e)28
b(or)f(can)f(get)i(the)e(source)h(co)s(de.)40 b(If)25
b(y)m(ou)i(link)f(other)h(co)s(de)g(with)f(the)g(library)-8
b(,)28 b(y)m(ou)f(m)m(ust)f(pro)m(vide)150 4067 y(complete)35
b(ob)5 b(ject)34 b(\014les)g(to)g(the)f(recipien)m(ts,)j(so)d(that)i
(they)e(can)h(relink)f(them)h(with)f(the)g(library)g(after)150
4176 y(making)28 b(c)m(hanges)h(to)g(the)f(library)f(and)h(recompiling)
g(it.)41 b(And)27 b(y)m(ou)h(m)m(ust)g(sho)m(w)g(them)g(these)g(terms)g
(so)150 4286 y(they)j(kno)m(w)f(their)g(righ)m(ts.)275
4418 y(W)-8 b(e)28 b(protect)g(y)m(our)e(righ)m(ts)i(with)e(a)i(t)m(w)m
(o-step)g(metho)s(d:)39 b(\(1\))28 b(w)m(e)f(cop)m(yrigh)m(t)h(the)f
(library)-8 b(,)28 b(and)e(\(2\))i(w)m(e)150 4528 y(o\013er)37
b(y)m(ou)f(this)g(license,)j(whic)m(h)d(giv)m(es)h(y)m(ou)g(legal)h(p)s
(ermission)d(to)i(cop)m(y)-8 b(,)39 b(distribute)d(and/or)g(mo)s(dify)
150 4637 y(the)31 b(library)-8 b(.)275 4769 y(T)g(o)30
b(protect)g(eac)m(h)h(distributor,)f(w)m(e)g(w)m(an)m(t)g(to)h(mak)m(e)
g(it)f(v)m(ery)g(clear)h(that)f(there)g(is)g(no)f(w)m(arran)m(t)m(y)i
(for)150 4879 y(the)24 b(free)g(library)-8 b(.)39 b(Also,)26
b(if)e(the)g(library)f(is)h(mo)s(di\014ed)f(b)m(y)h(someone)g(else)h
(and)e(passed)h(on,)h(the)f(recipien)m(ts)150 4989 y(should)32
b(kno)m(w)i(that)g(what)f(they)h(ha)m(v)m(e)g(is)g(not)f(the)h
(original)g(v)m(ersion,)h(so)f(that)g(the)f(original)i(author's)150
5098 y(reputation)c(will)f(not)h(b)s(e)f(a\013ected)i(b)m(y)e(problems)
g(that)h(migh)m(t)g(b)s(e)e(in)m(tro)s(duced)h(b)m(y)g(others.)275
5230 y(Finally)-8 b(,)40 b(soft)m(w)m(are)e(paten)m(ts)g(p)s(ose)e(a)i
(constan)m(t)g(threat)f(to)h(the)f(existence)i(of)e(an)m(y)g(free)g
(program.)150 5340 y(W)-8 b(e)27 b(wish)e(to)i(mak)m(e)g(sure)e(that)i
(a)f(compan)m(y)g(cannot)h(e\013ectiv)m(ely)i(restrict)d(the)h(users)e
(of)h(a)g(free)g(program)p eop end
%%Page: 66 71
TeXDict begin 66 70 bop 150 -116 a Fv(App)s(endix)29
b(B:)i(GNU)g(LESSER)d(GENERAL)j(PUBLIC)f(LICENSE)1091
b(66)150 299 y(b)m(y)27 b(obtaining)h(a)f(restrictiv)m(e)i(license)g
(from)d(a)i(paten)m(t)g(holder.)39 b(Therefore,)28 b(w)m(e)g(insist)f
(that)g(an)m(y)h(paten)m(t)150 408 y(license)j(obtained)f(for)f(a)h(v)m
(ersion)g(of)g(the)f(library)g(m)m(ust)h(b)s(e)f(consisten)m(t)i(with)e
(the)h(full)f(freedom)h(of)f(use)150 518 y(sp)s(eci\014ed)h(in)g(this)g
(license.)275 648 y(Most)i(GNU)g(soft)m(w)m(are,)i(including)d(some)h
(libraries,)g(is)g(co)m(v)m(ered)h(b)m(y)e(the)h(ordinary)f(GNU)h
(General)150 758 y(Public)38 b(License.)65 b(This)37
b(license,)k(the)e(GNU)g(Lesser)f(General)h(Public)f(License,)j
(applies)d(to)h(certain)150 867 y(designated)d(libraries,)i(and)d(is)g
(quite)h(di\013eren)m(t)h(from)e(the)h(ordinary)f(General)h(Public)g
(License.)57 b(W)-8 b(e)150 977 y(use)33 b(this)g(license)i(for)e
(certain)h(libraries)f(in)g(order)g(to)h(p)s(ermit)f(linking)g(those)h
(libraries)g(in)m(to)g(non-free)150 1086 y(programs.)275
1217 y(When)h(a)h(program)g(is)g(link)m(ed)g(with)f(a)h(library)-8
b(,)38 b(whether)d(statically)j(or)e(using)f(a)i(shared)e(library)-8
b(,)150 1326 y(the)28 b(com)m(bination)h(of)f(the)g(t)m(w)m(o)h(is)f
(legally)i(sp)s(eaking)d(a)i(com)m(bined)f(w)m(ork,)g(a)g(deriv)-5
b(ativ)m(e)30 b(of)e(the)g(original)150 1436 y(library)-8
b(.)73 b(The)41 b(ordinary)f(General)i(Public)f(License)h(therefore)g
(p)s(ermits)e(suc)m(h)h(linking)g(only)h(if)f(the)150
1545 y(en)m(tire)34 b(com)m(bination)h(\014ts)e(its)h(criteria)h(of)e
(freedom.)50 b(The)33 b(Lesser)g(General)i(Public)e(License)h(p)s
(ermits)150 1655 y(more)d(lax)g(criteria)g(for)f(linking)h(other)f(co)s
(de)h(with)f(the)h(library)-8 b(.)275 1785 y(W)g(e)25
b(call)i(this)d(license)i(the)f Fm(Lesser)31 b Fv(General)26
b(Public)e(License)h(b)s(ecause)g(it)g(do)s(es)g Fq(L)-5
b(ess)33 b Fv(to)25 b(protect)h(the)150 1895 y(user's)c(freedom)h(than)
g(the)g(ordinary)f(General)h(Public)g(License.)39 b(It)23
b(also)h(pro)m(vides)e(other)i(free)e(soft)m(w)m(are)150
2004 y(dev)m(elop)s(ers)36 b(Less)g(of)g(an)g(adv)-5
b(an)m(tage)38 b(o)m(v)m(er)f(comp)s(eting)f(non-free)g(programs.)57
b(These)36 b(disadv)-5 b(an)m(tages)150 2114 y(are)28
b(the)f(reason)h(w)m(e)g(use)f(the)h(ordinary)e(General)j(Public)e
(License)h(for)f(man)m(y)h(libraries.)39 b(Ho)m(w)m(ev)m(er,)31
b(the)150 2223 y(Lesser)f(license)i(pro)m(vides)e(adv)-5
b(an)m(tages)32 b(in)e(certain)h(sp)s(ecial)g(circumstances.)275
2353 y(F)-8 b(or)38 b(example,)j(on)d(rare)h(o)s(ccasions,)i(there)d
(ma)m(y)h(b)s(e)e(a)i(sp)s(ecial)g(need)f(to)g(encourage)i(the)e
(widest)150 2463 y(p)s(ossible)d(use)g(of)g(a)h(certain)g(library)-8
b(,)37 b(so)f(that)g(it)f(b)s(ecomes)h(a)g(de-facto)h(standard.)54
b(T)-8 b(o)36 b(ac)m(hiev)m(e)i(this,)150 2573 y(non-free)33
b(programs)f(m)m(ust)h(b)s(e)f(allo)m(w)m(ed)j(to)f(use)e(the)h
(library)-8 b(.)48 b(A)33 b(more)g(frequen)m(t)g(case)h(is)f(that)h(a)f
(free)150 2682 y(library)i(do)s(es)g(the)g(same)h(job)f(as)g(widely)h
(used)e(non-free)h(libraries.)56 b(In)34 b(this)i(case,)h(there)f(is)f
(little)i(to)150 2792 y(gain)32 b(b)m(y)g(limiting)h(the)f(free)g
(library)g(to)g(free)g(soft)m(w)m(are)i(only)-8 b(,)33
b(so)f(w)m(e)g(use)g(the)g(Lesser)f(General)i(Public)150
2901 y(License.)275 3031 y(In)39 b(other)i(cases,)k(p)s(ermission)39
b(to)j(use)e(a)h(particular)g(library)f(in)h(non-free)f(programs)h
(enables)g(a)150 3141 y(greater)33 b(n)m(um)m(b)s(er)e(of)h(p)s(eople)g
(to)g(use)g(a)g(large)h(b)s(o)s(dy)e(of)h(free)g(soft)m(w)m(are.)46
b(F)-8 b(or)33 b(example,)g(p)s(ermission)e(to)150 3251
y(use)i(the)g(GNU)g(C)f(Library)g(in)h(non-free)f(programs)h(enables)g
(man)m(y)g(more)g(p)s(eople)g(to)g(use)g(the)g(whole)150
3360 y(GNU)e(op)s(erating)g(system,)g(as)f(w)m(ell)i(as)e(its)h(v)-5
b(arian)m(t,)32 b(the)e(GNU/Lin)m(ux)h(op)s(erating)g(system.)275
3490 y(Although)i(the)g(Lesser)g(General)i(Public)d(License)i(is)g
(Less)f(protectiv)m(e)i(of)e(the)h(users')e(freedom,)i(it)150
3600 y(do)s(es)28 b(ensure)f(that)i(the)f(user)g(of)g(a)h(program)f
(that)h(is)f(link)m(ed)g(with)g(the)h(Library)e(has)h(the)g(freedom)h
(and)150 3709 y(the)i(wherewithal)f(to)h(run)e(that)i(program)f(using)g
(a)h(mo)s(di\014ed)e(v)m(ersion)i(of)f(the)h(Library)-8
b(.)275 3839 y(The)28 b(precise)h(terms)g(and)f(conditions)h(for)g(cop)
m(ying,)h(distribution)e(and)g(mo)s(di\014cation)h(follo)m(w.)42
b(P)m(a)m(y)150 3949 y(close)35 b(atten)m(tion)i(to)e(the)f
(di\013erence)h(b)s(et)m(w)m(een)g(a)f(\\w)m(ork)h(based)f(on)g(the)g
(library")g(and)g(a)h(\\w)m(ork)f(that)150 4059 y(uses)j(the)h
(library".)62 b(The)37 b(former)g(con)m(tains)h(co)s(de)g(deriv)m(ed)g
(from)e(the)i(library)-8 b(,)40 b(whereas)d(the)h(latter)150
4168 y(m)m(ust)30 b(b)s(e)g(com)m(bined)h(with)f(the)g(library)g(in)g
(order)g(to)h(run.)150 4370 y Fu(B.2)67 b(TERMS)45 b(AND)f(CONDITIONS)h
(F)l(OR)g(COPYING,)417 4503 y(DISTRIBUTION)g(AND)g(MODIFICA)-11
b(TION)199 4662 y Fv(0.)61 b(This)21 b(License)h(Agreemen)m(t)h
(applies)f(to)g(an)m(y)g(soft)m(w)m(are)h(library)e(or)g(other)h
(program)f(whic)m(h)h(con)m(tains)330 4772 y(a)40 b(notice)h(placed)f
(b)m(y)g(the)g(cop)m(yrigh)m(t)h(holder)e(or)h(other)g(authorized)g
(part)m(y)g(sa)m(ying)g(it)g(ma)m(y)h(b)s(e)330 4881
y(distributed)e(under)g(the)i(terms)f(of)h(this)f(Lesser)g(General)h
(Public)f(License)h(\(also)h(called)g(\\this)330 4991
y(License"\).)g(Eac)m(h)31 b(licensee)h(is)e(addressed)g(as)g(\\y)m
(ou".)330 5121 y(A)h(\\library")g(means)g(a)g(collection)j(of)d(soft)m
(w)m(are)h(functions)f(and/or)f(data)i(prepared)e(so)h(as)g(to)h(b)s(e)
330 5230 y(con)m(v)m(enien)m(tly)g(link)m(ed)e(with)f(application)j
(programs)d(\(whic)m(h)h(use)f(some)h(of)g(those)g(functions)g(and)330
5340 y(data\))h(to)h(form)d(executables.)p eop end
%%Page: 67 72
TeXDict begin 67 71 bop 150 -116 a Fv(App)s(endix)29
b(B:)i(GNU)g(LESSER)d(GENERAL)j(PUBLIC)f(LICENSE)1091
b(67)330 299 y(The)43 b(\\Library",)k(b)s(elo)m(w,)h(refers)43
b(to)i(an)m(y)f(suc)m(h)f(soft)m(w)m(are)i(library)e(or)h(w)m(ork)g
(whic)m(h)f(has)h(b)s(een)330 408 y(distributed)22 b(under)g(these)h
(terms.)38 b(A)24 b(\\w)m(ork)f(based)g(on)g(the)g(Library")g(means)g
(either)g(the)h(Library)330 518 y(or)43 b(an)m(y)h(deriv)-5
b(ativ)m(e)45 b(w)m(ork)e(under)f(cop)m(yrigh)m(t)j(la)m(w:)67
b(that)44 b(is)g(to)g(sa)m(y)-8 b(,)48 b(a)43 b(w)m(ork)h(con)m
(taining)h(the)330 628 y(Library)c(or)h(a)h(p)s(ortion)e(of)h(it,)k
(either)d(v)m(erbatim)f(or)g(with)g(mo)s(di\014cations)g(and/or)g
(translated)330 737 y(straigh)m(tforw)m(ardly)33 b(in)m(to)g(another)f
(language.)46 b(\(Hereinafter,)34 b(translation)f(is)f(included)f
(without)330 847 y(limitation)h(in)e(the)h(term)f(\\mo)s
(di\014cation".\))330 975 y(\\Source)22 b(co)s(de")h(for)e(a)i(w)m(ork)
f(means)f(the)i(preferred)d(form)i(of)g(the)g(w)m(ork)g(for)f(making)i
(mo)s(di\014cations)330 1084 y(to)33 b(it.)45 b(F)-8
b(or)33 b(a)f(library)-8 b(,)32 b(complete)i(source)e(co)s(de)g(means)f
(all)i(the)f(source)g(co)s(de)g(for)g(all)g(mo)s(dules)f(it)330
1194 y(con)m(tains,)k(plus)c(an)m(y)i(asso)s(ciated)h(in)m(terface)h
(de\014nition)d(\014les,)h(plus)f(the)h(scripts)f(used)g(to)h(con)m
(trol)330 1303 y(compilation)f(and)e(installation)i(of)f(the)f(library)
-8 b(.)330 1431 y(Activities)41 b(other)e(than)f(cop)m(ying,)43
b(distribution)38 b(and)g(mo)s(di\014cation)h(are)g(not)g(co)m(v)m
(ered)h(b)m(y)f(this)330 1541 y(License;)31 b(they)f(are)g(outside)h
(its)f(scop)s(e.)40 b(The)30 b(act)h(of)f(running)e(a)j(program)e
(using)h(the)g(Library)f(is)330 1650 y(not)24 b(restricted,)j(and)c
(output)h(from)f(suc)m(h)h(a)g(program)g(is)g(co)m(v)m(ered)i(only)e
(if)g(its)h(con)m(ten)m(ts)h(constitute)330 1760 y(a)g(w)m(ork)f(based)
g(on)g(the)h(Library)f(\(indep)s(enden)m(t)f(of)i(the)f(use)g(of)h(the)
f(Library)g(in)g(a)g(to)s(ol)i(for)e(writing)330 1870
y(it\).)63 b(Whether)37 b(that)h(is)g(true)f(dep)s(ends)f(on)h(what)g
(the)h(Library)e(do)s(es)h(and)g(what)h(the)f(program)330
1979 y(that)31 b(uses)f(the)g(Library)g(do)s(es.)199
2107 y(1.)61 b(Y)-8 b(ou)38 b(ma)m(y)h(cop)m(y)f(and)g(distribute)f(v)m
(erbatim)i(copies)f(of)g(the)g(Library's)f(complete)j(source)e(co)s(de)
330 2217 y(as)c(y)m(ou)g(receiv)m(e)i(it,)g(in)d(an)m(y)h(medium,)g
(pro)m(vided)g(that)g(y)m(ou)h(conspicuously)e(and)h(appropriately)330
2326 y(publish)27 b(on)h(eac)m(h)h(cop)m(y)g(an)f(appropriate)h(cop)m
(yrigh)m(t)g(notice)h(and)e(disclaimer)h(of)f(w)m(arran)m(t)m(y;)i(k)m
(eep)330 2436 y(in)m(tact)f(all)f(the)f(notices)h(that)g(refer)f(to)h
(this)f(License)g(and)g(to)h(the)f(absence)g(of)h(an)m(y)f(w)m(arran)m
(t)m(y;)j(and)330 2545 y(distribute)g(a)h(cop)m(y)g(of)f(this)h
(License)g(along)g(with)f(the)h(Library)-8 b(.)330 2673
y(Y)g(ou)31 b(ma)m(y)g(c)m(harge)h(a)f(fee)g(for)f(the)h(ph)m(ysical)g
(act)h(of)f(transferring)f(a)h(cop)m(y)-8 b(,)32 b(and)e(y)m(ou)h(ma)m
(y)g(at)g(y)m(our)330 2783 y(option)g(o\013er)g(w)m(arran)m(t)m(y)g
(protection)h(in)e(exc)m(hange)i(for)e(a)g(fee.)199 2911
y(2.)61 b(Y)-8 b(ou)27 b(ma)m(y)h(mo)s(dify)d(y)m(our)i(cop)m(y)h(or)e
(copies)i(of)f(the)g(Library)f(or)g(an)m(y)h(p)s(ortion)g(of)f(it,)j
(th)m(us)d(forming)h(a)330 3020 y(w)m(ork)k(based)g(on)g(the)h(Library)
-8 b(,)31 b(and)f(cop)m(y)i(and)f(distribute)g(suc)m(h)g(mo)s
(di\014cations)g(or)g(w)m(ork)g(under)330 3130 y(the)g(terms)f(of)g
(Section)i(1)e(ab)s(o)m(v)m(e,)i(pro)m(vided)e(that)h(y)m(ou)g(also)g
(meet)g(all)h(of)e(these)h(conditions:)379 3258 y(a.)61
b(The)30 b(mo)s(di\014ed)f(w)m(ork)i(m)m(ust)f(itself)h(b)s(e)f(a)h
(soft)m(w)m(are)g(library)-8 b(.)374 3386 y(b.)60 b(Y)-8
b(ou)43 b(m)m(ust)f(cause)i(the)e(\014les)h(mo)s(di\014ed)e(to)i(carry)
g(prominen)m(t)f(notices)i(stating)f(that)h(y)m(ou)510
3495 y(c)m(hanged)31 b(the)g(\014les)f(and)g(the)g(date)h(of)g(an)m(y)g
(c)m(hange.)384 3623 y(c.)61 b(Y)-8 b(ou)41 b(m)m(ust)f(cause)g(the)h
(whole)f(of)h(the)f(w)m(ork)g(to)h(b)s(e)f(licensed)g(at)h(no)f(c)m
(harge)i(to)f(all)g(third)510 3733 y(parties)31 b(under)e(the)h(terms)g
(of)h(this)f(License.)374 3861 y(d.)60 b(If)43 b(a)i(facilit)m(y)h(in)d
(the)i(mo)s(di\014ed)d(Library)h(refers)h(to)h(a)f(function)f(or)h(a)h
(table)f(of)h(data)f(to)510 3970 y(b)s(e)d(supplied)f(b)m(y)i(an)f
(application)i(program)f(that)g(uses)f(the)h(facilit)m(y)-8
b(,)47 b(other)42 b(than)f(as)h(an)510 4080 y(argumen)m(t)37
b(passed)f(when)f(the)h(facilit)m(y)j(is)d(in)m(v)m(ok)m(ed,)k(then)c
(y)m(ou)g(m)m(ust)g(mak)m(e)i(a)e(go)s(o)s(d)h(faith)510
4189 y(e\013ort)30 b(to)g(ensure)f(that,)h(in)f(the)g(ev)m(en)m(t)i(an)
e(application)i(do)s(es)e(not)g(supply)f(suc)m(h)h(function)g(or)510
4299 y(table,)f(the)d(facilit)m(y)j(still)e(op)s(erates,)h(and)e(p)s
(erforms)f(whatev)m(er)i(part)f(of)h(its)f(purp)s(ose)f(remains)510
4408 y(meaningful.)510 4536 y(\(F)-8 b(or)32 b(example,)g(a)f(function)
g(in)g(a)g(library)f(to)i(compute)f(square)g(ro)s(ots)g(has)g(a)g(purp)
s(ose)e(that)510 4646 y(is)35 b(en)m(tirely)i(w)m(ell-de\014ned)e
(indep)s(enden)m(t)f(of)h(the)g(application.)57 b(Therefore,)36
b(Subsection)f(2d)510 4755 y(requires)25 b(that)h(an)m(y)f
(application-supplied)h(function)f(or)g(table)h(used)f(b)m(y)g(this)g
(function)g(m)m(ust)510 4865 y(b)s(e)34 b(optional:)49
b(if)35 b(the)f(application)i(do)s(es)e(not)g(supply)f(it,)j(the)e
(square)g(ro)s(ot)h(function)f(m)m(ust)510 4975 y(still)d(compute)g
(square)f(ro)s(ots.\))330 5121 y(These)k(requiremen)m(ts)g(apply)f(to)i
(the)f(mo)s(di\014ed)f(w)m(ork)h(as)g(a)g(whole.)52 b(If)33
b(iden)m(ti\014able)i(sections)g(of)330 5230 y(that)27
b(w)m(ork)f(are)h(not)f(deriv)m(ed)g(from)g(the)g(Library)-8
b(,)27 b(and)f(can)g(b)s(e)g(reasonably)g(considered)g(indep)s(en-)330
5340 y(den)m(t)32 b(and)e(separate)j(w)m(orks)e(in)g(themselv)m(es,)i
(then)e(this)h(License,)g(and)f(its)h(terms,)f(do)h(not)f(apply)p
eop end
%%Page: 68 73
TeXDict begin 68 72 bop 150 -116 a Fv(App)s(endix)29
b(B:)i(GNU)g(LESSER)d(GENERAL)j(PUBLIC)f(LICENSE)1091
b(68)330 299 y(to)26 b(those)g(sections)g(when)e(y)m(ou)i(distribute)e
(them)i(as)f(separate)h(w)m(orks.)39 b(But)26 b(when)e(y)m(ou)h
(distribute)330 408 y(the)32 b(same)g(sections)h(as)f(part)g(of)g(a)g
(whole)g(whic)m(h)g(is)f(a)i(w)m(ork)f(based)f(on)h(the)g(Library)-8
b(,)32 b(the)g(distri-)330 518 y(bution)e(of)g(the)h(whole)f(m)m(ust)h
(b)s(e)e(on)i(the)f(terms)g(of)h(this)f(License,)h(whose)f(p)s
(ermissions)g(for)g(other)330 628 y(licensees)f(extend)f(to)g(the)g(en)
m(tire)h(whole,)g(and)e(th)m(us)g(to)i(eac)m(h)g(and)e(ev)m(ery)i(part)
e(regardless)h(of)g(who)330 737 y(wrote)j(it.)330 880
y(Th)m(us,)48 b(it)e(is)f(not)h(the)f(in)m(ten)m(t)h(of)g(this)f
(section)h(to)g(claim)h(righ)m(ts)e(or)g(con)m(test)i(y)m(our)f(righ)m
(ts)f(to)330 989 y(w)m(ork)34 b(written)f(en)m(tirely)i(b)m(y)f(y)m
(ou;)h(rather,)g(the)f(in)m(ten)m(t)h(is)e(to)i(exercise)f(the)g(righ)m
(t)g(to)h(con)m(trol)g(the)330 1099 y(distribution)30
b(of)g(deriv)-5 b(ativ)m(e)32 b(or)f(collectiv)m(e)i(w)m(orks)e(based)f
(on)g(the)h(Library)-8 b(.)330 1241 y(In)44 b(addition,)49
b(mere)c(aggregation)j(of)d(another)g(w)m(ork)g(not)g(based)f(on)h(the)
g(Library)f(with)h(the)330 1351 y(Library)27 b(\(or)h(with)f(a)h(w)m
(ork)g(based)f(on)h(the)g(Library\))f(on)g(a)h(v)m(olume)h(of)f(a)g
(storage)h(or)f(distribution)330 1461 y(medium)h(do)s(es)i(not)f(bring)
g(the)g(other)h(w)m(ork)f(under)f(the)i(scop)s(e)f(of)h(this)f
(License.)199 1603 y(3.)61 b(Y)-8 b(ou)32 b(ma)m(y)g(opt)f(to)h(apply)f
(the)g(terms)h(of)f(the)g(ordinary)g(GNU)h(General)g(Public)f(License)h
(instead)330 1713 y(of)27 b(this)g(License)g(to)h(a)f(giv)m(en)h(cop)m
(y)f(of)g(the)g(Library)-8 b(.)40 b(T)-8 b(o)27 b(do)g(this,)g(y)m(ou)g
(m)m(ust)g(alter)h(all)g(the)f(notices)330 1822 y(that)44
b(refer)g(to)g(this)g(License,)k(so)c(that)g(they)g(refer)g(to)g(the)g
(ordinary)f(GNU)i(General)f(Public)330 1932 y(License,)32
b(v)m(ersion)f(2,)g(instead)g(of)g(to)h(this)e(License.)43
b(\(If)30 b(a)h(new)m(er)g(v)m(ersion)g(than)g(v)m(ersion)g(2)g(of)g
(the)330 2041 y(ordinary)c(GNU)i(General)g(Public)e(License)i(has)e
(app)s(eared,)h(then)g(y)m(ou)g(can)g(sp)s(ecify)g(that)g(v)m(ersion)
330 2151 y(instead)j(if)f(y)m(ou)h(wish.\))40 b(Do)31
b(not)g(mak)m(e)g(an)m(y)g(other)g(c)m(hange)g(in)f(these)h(notices.)
330 2293 y(Once)25 b(this)g(c)m(hange)h(is)e(made)h(in)g(a)g(giv)m(en)h
(cop)m(y)-8 b(,)27 b(it)f(is)f(irrev)m(ersible)g(for)g(that)g(cop)m(y)
-8 b(,)27 b(so)f(the)f(ordinary)330 2403 y(GNU)e(General)g(Public)e
(License)i(applies)f(to)h(all)g(subsequen)m(t)e(copies)i(and)e(deriv)-5
b(ativ)m(e)24 b(w)m(orks)e(made)330 2513 y(from)30 b(that)h(cop)m(y)-8
b(.)330 2655 y(This)39 b(option)g(is)h(useful)f(when)f(y)m(ou)i(wish)e
(to)i(cop)m(y)h(part)e(of)g(the)h(co)s(de)f(of)h(the)g(Library)e(in)m
(to)j(a)330 2765 y(program)30 b(that)h(is)g(not)f(a)h(library)-8
b(.)199 2907 y(4.)61 b(Y)-8 b(ou)25 b(ma)m(y)g(cop)m(y)g(and)f
(distribute)g(the)g(Library)g(\(or)g(a)h(p)s(ortion)f(or)g(deriv)-5
b(ativ)m(e)26 b(of)f(it,)h(under)d(Section)330 3017 y(2\))h(in)f(ob)5
b(ject)25 b(co)s(de)f(or)f(executable)i(form)e(under)f(the)i(terms)f
(of)h(Sections)g(1)g(and)f(2)h(ab)s(o)m(v)m(e)g(pro)m(vided)330
3126 y(that)j(y)m(ou)f(accompan)m(y)h(it)g(with)e(the)h(complete)i
(corresp)s(onding)d(mac)m(hine-readable)i(source)f(co)s(de,)330
3236 y(whic)m(h)38 b(m)m(ust)g(b)s(e)f(distributed)g(under)f(the)j
(terms)e(of)i(Sections)f(1)h(and)e(2)h(ab)s(o)m(v)m(e)i(on)d(a)i
(medium)330 3345 y(customarily)31 b(used)f(for)g(soft)m(w)m(are)i(in)m
(terc)m(hange.)330 3488 y(If)23 b(distribution)g(of)h(ob)5
b(ject)24 b(co)s(de)g(is)g(made)g(b)m(y)f(o\013ering)i(access)f(to)h
(cop)m(y)f(from)f(a)h(designated)h(place,)330 3598 y(then)g(o\013ering)
g(equiv)-5 b(alen)m(t)27 b(access)f(to)g(cop)m(y)g(the)f(source)h(co)s
(de)f(from)f(the)i(same)f(place)h(satis\014es)g(the)330
3707 y(requiremen)m(t)i(to)g(distribute)f(the)h(source)g(co)s(de,)g(ev)
m(en)h(though)e(third)g(parties)h(are)g(not)g(comp)s(elled)330
3817 y(to)j(cop)m(y)g(the)g(source)f(along)i(with)e(the)g(ob)5
b(ject)32 b(co)s(de.)199 3959 y(5.)61 b(A)35 b(program)f(that)i(con)m
(tains)g(no)e(deriv)-5 b(ativ)m(e)37 b(of)d(an)m(y)h(p)s(ortion)g(of)g
(the)g(Library)-8 b(,)35 b(but)f(is)h(designed)330 4069
y(to)h(w)m(ork)f(with)g(the)h(Library)e(b)m(y)h(b)s(eing)g(compiled)g
(or)h(link)m(ed)f(with)g(it,)i(is)f(called)g(a)g(\\w)m(ork)f(that)330
4178 y(uses)g(the)g(Library".)54 b(Suc)m(h)34 b(a)h(w)m(ork,)i(in)e
(isolation,)j(is)d(not)g(a)g(deriv)-5 b(ativ)m(e)37 b(w)m(ork)e(of)g
(the)g(Library)-8 b(,)330 4288 y(and)30 b(therefore)h(falls)f(outside)h
(the)g(scop)s(e)f(of)h(this)f(License.)330 4430 y(Ho)m(w)m(ev)m(er,)e
(linking)d(a)g(\\w)m(ork)g(that)g(uses)g(the)f(Library")h(with)f(the)h
(Library)f(creates)i(an)e(executable)330 4540 y(that)30
b(is)f(a)h(deriv)-5 b(ativ)m(e)30 b(of)g(the)f(Library)g(\(b)s(ecause)g
(it)h(con)m(tains)g(p)s(ortions)f(of)g(the)h(Library\),)f(rather)330
4650 y(than)22 b(a)g(\\w)m(ork)h(that)g(uses)e(the)i(library".)38
b(The)21 b(executable)j(is)e(therefore)g(co)m(v)m(ered)i(b)m(y)e(this)g
(License.)330 4759 y(Section)31 b(6)g(states)h(terms)e(for)g
(distribution)g(of)g(suc)m(h)g(executables.)330 4902
y(When)j(a)h(\\w)m(ork)g(that)h(uses)e(the)g(Library")h(uses)f
(material)i(from)e(a)h(header)f(\014le)h(that)g(is)f(part)h(of)330
5011 y(the)28 b(Library)-8 b(,)28 b(the)g(ob)5 b(ject)29
b(co)s(de)f(for)f(the)h(w)m(ork)g(ma)m(y)g(b)s(e)f(a)h(deriv)-5
b(ativ)m(e)30 b(w)m(ork)e(of)f(the)h(Library)f(ev)m(en)330
5121 y(though)h(the)h(source)g(co)s(de)g(is)g(not.)40
b(Whether)29 b(this)g(is)f(true)h(is)g(esp)s(ecially)h(signi\014can)m
(t)f(if)g(the)g(w)m(ork)330 5230 y(can)k(b)s(e)f(link)m(ed)h(without)g
(the)f(Library)-8 b(,)33 b(or)g(if)g(the)g(w)m(ork)f(is)h(itself)g(a)g
(library)-8 b(.)48 b(The)32 b(threshold)g(for)330 5340
y(this)e(to)h(b)s(e)f(true)g(is)h(not)f(precisely)h(de\014ned)e(b)m(y)i
(la)m(w.)p eop end
%%Page: 69 74
TeXDict begin 69 73 bop 150 -116 a Fv(App)s(endix)29
b(B:)i(GNU)g(LESSER)d(GENERAL)j(PUBLIC)f(LICENSE)1091
b(69)330 299 y(If)35 b(suc)m(h)g(an)h(ob)5 b(ject)37
b(\014le)e(uses)g(only)h(n)m(umerical)g(parameters,)i(data)e(structure)
f(la)m(y)m(outs)j(and)d(ac-)330 408 y(cessors,)e(and)e(small)h(macros)g
(and)f(small)h(inline)f(functions)h(\(ten)g(lines)g(or)f(less)h(in)f
(length\),)i(then)330 518 y(the)d(use)g(of)h(the)f(ob)5
b(ject)32 b(\014le)e(is)g(unrestricted,)h(regardless)f(of)h(whether)e
(it)i(is)f(legally)j(a)d(deriv)-5 b(ativ)m(e)330 628
y(w)m(ork.)54 b(\(Executables)36 b(con)m(taining)h(this)e(ob)5
b(ject)35 b(co)s(de)g(plus)f(p)s(ortions)h(of)g(the)g(Library)f(will)h
(still)330 737 y(fall)c(under)e(Section)i(6.\))330 869
y(Otherwise,)26 b(if)f(the)g(w)m(ork)f(is)h(a)g(deriv)-5
b(ativ)m(e)27 b(of)e(the)g(Library)-8 b(,)25 b(y)m(ou)g(ma)m(y)h
(distribute)e(the)h(ob)5 b(ject)26 b(co)s(de)330 978
y(for)31 b(the)g(w)m(ork)g(under)f(the)h(terms)g(of)g(Section)h(6.)43
b(An)m(y)31 b(executables)i(con)m(taining)f(that)g(w)m(ork)f(also)330
1088 y(fall)g(under)e(Section)i(6,)g(whether)f(or)g(not)h(they)f(are)h
(link)m(ed)g(directly)g(with)f(the)g(Library)g(itself.)199
1219 y(6.)61 b(As)40 b(an)f(exception)i(to)f(the)g(Sections)g(ab)s(o)m
(v)m(e,)j(y)m(ou)d(ma)m(y)g(also)h(com)m(bine)f(or)g(link)f(a)h(\\w)m
(ork)g(that)330 1329 y(uses)c(the)g(Library")g(with)f(the)i(Library)e
(to)i(pro)s(duce)d(a)j(w)m(ork)f(con)m(taining)i(p)s(ortions)d(of)h
(the)h(Li-)330 1439 y(brary)-8 b(,)37 b(and)f(distribute)g(that)g(w)m
(ork)h(under)d(terms)i(of)g(y)m(our)h(c)m(hoice,)i(pro)m(vided)d(that)h
(the)f(terms)330 1548 y(p)s(ermit)26 b(mo)s(di\014cation)i(of)f(the)g
(w)m(ork)g(for)g(the)g(customer's)h(o)m(wn)f(use)f(and)h(rev)m(erse)g
(engineering)h(for)330 1658 y(debugging)i(suc)m(h)g(mo)s
(di\014cations.)330 1789 y(Y)-8 b(ou)35 b(m)m(ust)f(giv)m(e)i(prominen)
m(t)e(notice)i(with)e(eac)m(h)h(cop)m(y)h(of)e(the)h(w)m(ork)f(that)h
(the)g(Library)e(is)i(used)330 1899 y(in)g(it)i(and)e(that)h(the)g
(Library)f(and)g(its)h(use)f(are)h(co)m(v)m(ered)h(b)m(y)f(this)g
(License.)57 b(Y)-8 b(ou)36 b(m)m(ust)f(supply)330 2008
y(a)j(cop)m(y)h(of)f(this)g(License.)64 b(If)37 b(the)h(w)m(ork)g
(during)f(execution)i(displa)m(ys)f(cop)m(yrigh)m(t)h(notices,)j(y)m
(ou)330 2118 y(m)m(ust)34 b(include)f(the)h(cop)m(yrigh)m(t)h(notice)g
(for)e(the)h(Library)f(among)h(them,)h(as)f(w)m(ell)h(as)e(a)h
(reference)330 2228 y(directing)d(the)g(user)e(to)i(the)g(cop)m(y)g(of)
g(this)f(License.)41 b(Also,)31 b(y)m(ou)g(m)m(ust)f(do)h(one)f(of)h
(these)g(things:)379 2359 y(a.)61 b(Accompan)m(y)40 b(the)f(w)m(ork)g
(with)g(the)g(complete)h(corresp)s(onding)e(mac)m(hine-readable)j
(source)510 2469 y(co)s(de)23 b(for)f(the)g(Library)f(including)h
(whatev)m(er)h(c)m(hanges)h(w)m(ere)e(used)g(in)g(the)g(w)m(ork)h
(\(whic)m(h)f(m)m(ust)510 2578 y(b)s(e)36 b(distributed)g(under)f
(Sections)i(1)h(and)e(2)h(ab)s(o)m(v)m(e\);)42 b(and,)37
b(if)g(the)g(w)m(ork)g(is)g(an)f(executable)510 2688
y(link)m(ed)c(with)f(the)h(Library)-8 b(,)31 b(with)g(the)h(complete)h
(mac)m(hine-readable)g(\\w)m(ork)f(that)g(uses)f(the)510
2798 y(Library",)46 b(as)e(ob)5 b(ject)44 b(co)s(de)f(and/or)g(source)g
(co)s(de,)k(so)c(that)h(the)g(user)e(can)h(mo)s(dify)g(the)510
2907 y(Library)28 b(and)g(then)h(relink)f(to)i(pro)s(duce)e(a)h(mo)s
(di\014ed)e(executable)k(con)m(taining)f(the)f(mo)s(di\014ed)510
3017 y(Library)-8 b(.)58 b(\(It)36 b(is)g(understo)s(o)s(d)f(that)h
(the)h(user)e(who)h(c)m(hanges)h(the)f(con)m(ten)m(ts)i(of)e
(de\014nitions)510 3126 y(\014les)29 b(in)g(the)g(Library)f(will)h(not)
h(necessarily)f(b)s(e)g(able)g(to)h(recompile)g(the)f(application)i(to)
e(use)510 3236 y(the)i(mo)s(di\014ed)e(de\014nitions.\))374
3367 y(b.)60 b(Use)33 b(a)g(suitable)g(shared)f(library)h(mec)m(hanism)
g(for)f(linking)h(with)f(the)h(Library)-8 b(.)48 b(A)32
b(suitable)510 3477 y(mec)m(hanism)h(is)h(one)f(that)h(\(1\))g(uses)f
(at)h(run)d(time)j(a)g(cop)m(y)g(of)f(the)g(library)g(already)h(presen)
m(t)510 3587 y(on)44 b(the)g(user's)g(computer)g(system,)k(rather)c
(than)g(cop)m(ying)h(library)f(functions)g(in)m(to)h(the)510
3696 y(executable,)32 b(and)d(\(2\))i(will)f(op)s(erate)h(prop)s(erly)d
(with)i(a)g(mo)s(di\014ed)e(v)m(ersion)j(of)f(the)g(library)-8
b(,)30 b(if)510 3806 y(the)j(user)f(installs)i(one,)g(as)f(long)h(as)f
(the)g(mo)s(di\014ed)f(v)m(ersion)h(is)g(in)m(terface-compatible)j
(with)510 3915 y(the)31 b(v)m(ersion)f(that)h(the)g(w)m(ork)f(w)m(as)h
(made)g(with.)384 4047 y(c.)61 b(Accompan)m(y)27 b(the)g(w)m(ork)f
(with)g(a)h(written)f(o\013er,)i(v)-5 b(alid)26 b(for)g(at)h(least)h
(three)e(y)m(ears,)i(to)f(giv)m(e)h(the)510 4156 y(same)37
b(user)f(the)h(materials)i(sp)s(eci\014ed)d(in)g(Subsection)h(6a,)i(ab)
s(o)m(v)m(e,)h(for)d(a)g(c)m(harge)h(no)f(more)510 4266
y(than)30 b(the)h(cost)g(of)g(p)s(erforming)e(this)h(distribution.)374
4398 y(d.)60 b(If)36 b(distribution)f(of)i(the)f(w)m(ork)h(is)f(made)g
(b)m(y)g(o\013ering)h(access)h(to)f(cop)m(y)g(from)f(a)g(designated)510
4507 y(place,)d(o\013er)e(equiv)-5 b(alen)m(t)33 b(access)f(to)g(cop)m
(y)g(the)f(ab)s(o)m(v)m(e)i(sp)s(eci\014ed)d(materials)j(from)d(the)i
(same)510 4617 y(place.)384 4748 y(e.)61 b(V)-8 b(erify)25
b(that)h(the)f(user)f(has)g(already)i(receiv)m(ed)g(a)f(cop)m(y)g(of)g
(these)g(materials)i(or)d(that)i(y)m(ou)f(ha)m(v)m(e)510
4858 y(already)31 b(sen)m(t)g(this)f(user)g(a)h(cop)m(y)-8
b(.)330 5011 y(F)g(or)29 b(an)g(executable,)i(the)d(required)g(form)g
(of)h(the)g(\\w)m(ork)g(that)g(uses)f(the)h(Library")f(m)m(ust)g
(include)330 5121 y(an)m(y)d(data)h(and)f(utilit)m(y)h(programs)f
(needed)g(for)g(repro)s(ducing)e(the)j(executable)g(from)f(it.)40
b(Ho)m(w)m(ev)m(er,)330 5230 y(as)32 b(a)h(sp)s(ecial)f(exception,)i
(the)e(materials)h(to)g(b)s(e)e(distributed)g(need)h(not)g(include)g
(an)m(ything)g(that)330 5340 y(is)j(normally)h(distributed)e(\(in)h
(either)h(source)f(or)g(binary)f(form\))h(with)g(the)h(ma)5
b(jor)35 b(comp)s(onen)m(ts)p eop end
%%Page: 70 75
TeXDict begin 70 74 bop 150 -116 a Fv(App)s(endix)29
b(B:)i(GNU)g(LESSER)d(GENERAL)j(PUBLIC)f(LICENSE)1091
b(70)330 299 y(\(compiler,)40 b(k)m(ernel,)g(and)c(so)i(on\))f(of)g
(the)h(op)s(erating)f(system)g(on)g(whic)m(h)g(the)h(executable)g
(runs,)330 408 y(unless)30 b(that)h(comp)s(onen)m(t)f(itself)i
(accompanies)f(the)g(executable.)330 559 y(It)j(ma)m(y)g(happ)s(en)d
(that)j(this)g(requiremen)m(t)f(con)m(tradicts)i(the)f(license)h
(restrictions)f(of)f(other)h(pro-)330 669 y(prietary)e(libraries)h
(that)f(do)g(not)h(normally)f(accompan)m(y)i(the)e(op)s(erating)h
(system.)46 b(Suc)m(h)32 b(a)g(con-)330 778 y(tradiction)e(means)f(y)m
(ou)g(cannot)g(use)g(b)s(oth)f(them)h(and)f(the)h(Library)f(together)i
(in)f(an)f(executable)330 888 y(that)j(y)m(ou)g(distribute.)199
1039 y(7.)61 b(Y)-8 b(ou)36 b(ma)m(y)g(place)h(library)e(facilities)j
(that)e(are)h(a)f(w)m(ork)f(based)h(on)f(the)h(Library)f(side-b)m
(y-side)h(in)330 1148 y(a)f(single)g(library)g(together)h(with)e(other)
h(library)f(facilities)j(not)e(co)m(v)m(ered)h(b)m(y)e(this)h(License,)
i(and)330 1258 y(distribute)27 b(suc)m(h)h(a)g(com)m(bined)g(library)-8
b(,)28 b(pro)m(vided)g(that)g(the)g(separate)h(distribution)e(of)h(the)
g(w)m(ork)330 1367 y(based)41 b(on)f(the)h(Library)g(and)f(of)h(the)g
(other)g(library)g(facilities)i(is)e(otherwise)g(p)s(ermitted,)j(and)
330 1477 y(pro)m(vided)30 b(that)h(y)m(ou)g(do)f(these)h(t)m(w)m(o)g
(things:)379 1628 y(a.)61 b(Accompan)m(y)45 b(the)f(com)m(bined)h
(library)e(with)h(a)g(cop)m(y)h(of)f(the)h(same)f(w)m(ork)g(based)g(on)
g(the)510 1737 y(Library)-8 b(,)40 b(uncom)m(bined)d(with)g(an)m(y)h
(other)g(library)g(facilities.)65 b(This)37 b(m)m(ust)h(b)s(e)f
(distributed)510 1847 y(under)29 b(the)h(terms)h(of)f(the)h(Sections)g
(ab)s(o)m(v)m(e.)374 1998 y(b.)60 b(Giv)m(e)24 b(prominen)m(t)d(notice)
j(with)e(the)g(com)m(bined)h(library)e(of)i(the)f(fact)h(that)g(part)f
(of)g(it)h(is)f(a)h(w)m(ork)510 2107 y(based)k(on)g(the)g(Library)-8
b(,)28 b(and)e(explaining)i(where)e(to)i(\014nd)e(the)h(accompan)m
(ying)i(uncom)m(bined)510 2217 y(form)h(of)g(the)h(same)g(w)m(ork.)199
2367 y(8.)61 b(Y)-8 b(ou)46 b(ma)m(y)g(not)f(cop)m(y)-8
b(,)51 b(mo)s(dify)-8 b(,)49 b(sublicense,)g(link)c(with,)k(or)c
(distribute)g(the)h(Library)e(except)330 2477 y(as)g(expressly)f(pro)m
(vided)g(under)f(this)h(License.)80 b(An)m(y)44 b(attempt)g(otherwise)g
(to)g(cop)m(y)-8 b(,)48 b(mo)s(dify)-8 b(,)330 2587 y(sublicense,)25
b(link)f(with,)i(or)e(distribute)f(the)i(Library)e(is)h(v)m(oid,)i(and)
e(will)g(automatically)j(terminate)330 2696 y(y)m(our)35
b(righ)m(ts)h(under)d(this)j(License.)55 b(Ho)m(w)m(ev)m(er,)39
b(parties)d(who)f(ha)m(v)m(e)h(receiv)m(ed)h(copies,)g(or)e(righ)m(ts,)
330 2806 y(from)k(y)m(ou)i(under)d(this)i(License)g(will)h(not)f(ha)m
(v)m(e)h(their)f(licenses)h(terminated)f(so)h(long)f(as)g(suc)m(h)330
2915 y(parties)31 b(remain)f(in)g(full)g(compliance.)199
3066 y(9.)61 b(Y)-8 b(ou)38 b(are)g(not)g(required)e(to)i(accept)h
(this)f(License,)i(since)e(y)m(ou)f(ha)m(v)m(e)i(not)f(signed)f(it.)63
b(Ho)m(w)m(ev)m(er,)330 3176 y(nothing)27 b(else)i(gran)m(ts)f(y)m(ou)f
(p)s(ermission)g(to)h(mo)s(dify)f(or)g(distribute)g(the)h(Library)e(or)
i(its)f(deriv)-5 b(ativ)m(e)330 3285 y(w)m(orks.)38 b(These)23
b(actions)h(are)g(prohibited)e(b)m(y)h(la)m(w)h(if)f(y)m(ou)g(do)g(not)
h(accept)g(this)f(License.)39 b(Therefore,)330 3395 y(b)m(y)k(mo)s
(difying)g(or)g(distributing)f(the)i(Library)e(\(or)h(an)m(y)h(w)m(ork)
f(based)g(on)g(the)g(Library\),)k(y)m(ou)330 3504 y(indicate)33
b(y)m(our)g(acceptance)h(of)f(this)f(License)h(to)h(do)e(so,)h(and)f
(all)h(its)g(terms)f(and)g(conditions)h(for)330 3614
y(cop)m(ying,)f(distributing)d(or)i(mo)s(difying)e(the)i(Library)f(or)g
(w)m(orks)g(based)g(on)h(it.)154 3765 y(10.)61 b(Eac)m(h)22
b(time)g(y)m(ou)g(redistribute)f(the)h(Library)f(\(or)g(an)m(y)h(w)m
(ork)g(based)f(on)g(the)h(Library\),)h(the)f(recipien)m(t)330
3874 y(automatically)32 b(receiv)m(es)e(a)g(license)f(from)g(the)g
(original)h(licensor)f(to)h(cop)m(y)-8 b(,)31 b(distribute,)d(link)h
(with)330 3984 y(or)f(mo)s(dify)f(the)h(Library)f(sub)5
b(ject)27 b(to)i(these)f(terms)g(and)f(conditions.)40
b(Y)-8 b(ou)29 b(ma)m(y)f(not)g(imp)s(ose)g(an)m(y)330
4093 y(further)e(restrictions)j(on)e(the)h(recipien)m(ts')h(exercise)f
(of)g(the)g(righ)m(ts)g(gran)m(ted)g(herein.)40 b(Y)-8
b(ou)28 b(are)g(not)330 4203 y(resp)s(onsible)h(for)i(enforcing)f
(compliance)i(b)m(y)e(third)g(parties)g(with)h(this)f(License.)154
4354 y(11.)61 b(If,)27 b(as)g(a)g(consequence)h(of)f(a)g(court)g
(judgmen)m(t)f(or)h(allegation)i(of)e(paten)m(t)h(infringemen)m(t)e(or)
h(for)g(an)m(y)330 4463 y(other)h(reason)f(\(not)h(limited)g(to)g
(paten)m(t)h(issues\),)f(conditions)g(are)f(imp)s(osed)g(on)g(y)m(ou)h
(\(whether)f(b)m(y)330 4573 y(court)c(order,)h(agreemen)m(t)g(or)f
(otherwise\))g(that)g(con)m(tradict)i(the)d(conditions)h(of)g(this)g
(License,)i(they)330 4682 y(do)34 b(not)g(excuse)h(y)m(ou)f(from)g(the)
g(conditions)h(of)f(this)g(License.)53 b(If)33 b(y)m(ou)i(cannot)g
(distribute)e(so)i(as)330 4792 y(to)f(satisfy)g(sim)m(ultaneously)h(y)m
(our)e(obligations)j(under)c(this)h(License)h(and)f(an)m(y)h(other)g(p)
s(ertinen)m(t)330 4902 y(obligations,)48 b(then)43 b(as)g(a)g
(consequence)h(y)m(ou)f(ma)m(y)h(not)f(distribute)g(the)g(Library)f(at)
i(all.)79 b(F)-8 b(or)330 5011 y(example,)30 b(if)e(a)g(paten)m(t)h
(license)h(w)m(ould)e(not)g(p)s(ermit)f(ro)m(y)m(alt)m(y-free)32
b(redistribution)27 b(of)h(the)h(Library)330 5121 y(b)m(y)35
b(all)h(those)f(who)f(receiv)m(e)j(copies)f(directly)f(or)g(indirectly)
h(through)e(y)m(ou,)i(then)f(the)g(only)g(w)m(a)m(y)330
5230 y(y)m(ou)27 b(could)f(satisfy)h(b)s(oth)e(it)i(and)f(this)g
(License)h(w)m(ould)f(b)s(e)g(to)h(refrain)e(en)m(tirely)j(from)e
(distribution)330 5340 y(of)31 b(the)f(Library)-8 b(.)p
eop end
%%Page: 71 76
TeXDict begin 71 75 bop 150 -116 a Fv(App)s(endix)29
b(B:)i(GNU)g(LESSER)d(GENERAL)j(PUBLIC)f(LICENSE)1091
b(71)330 299 y(If)43 b(an)m(y)g(p)s(ortion)g(of)g(this)h(section)g(is)f
(held)g(in)m(v)-5 b(alid)44 b(or)f(unenforceable)g(under)f(an)m(y)i
(particular)330 408 y(circumstance,)i(the)c(balance)g(of)g(the)g
(section)h(is)f(in)m(tended)f(to)i(apply)-8 b(,)45 b(and)c(the)h
(section)h(as)f(a)330 518 y(whole)31 b(is)f(in)m(tended)g(to)h(apply)f
(in)g(other)h(circumstances.)330 653 y(It)41 b(is)f(not)h(the)f(purp)s
(ose)f(of)i(this)f(section)i(to)f(induce)f(y)m(ou)h(to)g(infringe)f(an)
m(y)h(paten)m(ts)g(or)g(other)330 763 y(prop)s(ert)m(y)e(righ)m(t)i
(claims)f(or)g(to)h(con)m(test)h(v)-5 b(alidit)m(y)41
b(of)f(an)m(y)g(suc)m(h)g(claims;)45 b(this)40 b(section)h(has)f(the)
330 872 y(sole)33 b(purp)s(ose)e(of)h(protecting)h(the)g(in)m(tegrit)m
(y)h(of)e(the)g(free)h(soft)m(w)m(are)g(distribution)f(system)g(whic)m
(h)330 982 y(is)j(implemen)m(ted)h(b)m(y)f(public)f(license)i
(practices.)56 b(Man)m(y)36 b(p)s(eople)f(ha)m(v)m(e)h(made)f(generous)
h(con)m(tri-)330 1092 y(butions)f(to)h(the)f(wide)h(range)f(of)h(soft)m
(w)m(are)h(distributed)d(through)h(that)h(system)f(in)g(reliance)i(on)
330 1201 y(consisten)m(t)g(application)g(of)e(that)h(system;)i(it)e(is)
g(up)e(to)i(the)g(author/donor)f(to)h(decide)g(if)g(he)f(or)330
1311 y(she)i(is)h(willing)g(to)g(distribute)f(soft)m(w)m(are)i(through)
e(an)m(y)g(other)h(system)g(and)f(a)g(licensee)i(cannot)330
1420 y(imp)s(ose)30 b(that)h(c)m(hoice.)330 1556 y(This)26
b(section)j(is)e(in)m(tended)g(to)h(mak)m(e)g(thoroughly)f(clear)h
(what)f(is)g(b)s(eliev)m(ed)h(to)g(b)s(e)f(a)g(consequence)330
1665 y(of)k(the)f(rest)h(of)f(this)g(License.)154 1800
y(12.)61 b(If)38 b(the)h(distribution)f(and/or)h(use)f(of)h(the)g
(Library)f(is)h(restricted)g(in)f(certain)i(coun)m(tries)f(either)330
1910 y(b)m(y)c(paten)m(ts)h(or)g(b)m(y)f(cop)m(yrigh)m(ted)i(in)m
(terfaces,)h(the)d(original)i(cop)m(yrigh)m(t)g(holder)e(who)g(places)h
(the)330 2020 y(Library)k(under)g(this)h(License)g(ma)m(y)h(add)e(an)h
(explicit)i(geographical)g(distribution)d(limitation)330
2129 y(excluding)29 b(those)g(coun)m(tries,)h(so)f(that)g(distribution)
f(is)g(p)s(ermitted)h(only)f(in)g(or)h(among)g(coun)m(tries)330
2239 y(not)k(th)m(us)f(excluded.)48 b(In)32 b(suc)m(h)g(case,)j(this)d
(License)i(incorp)s(orates)f(the)g(limitation)h(as)f(if)g(written)330
2348 y(in)d(the)h(b)s(o)s(dy)d(of)j(this)f(License.)154
2484 y(13.)61 b(The)32 b(F)-8 b(ree)33 b(Soft)m(w)m(are)g(F)-8
b(oundation)33 b(ma)m(y)f(publish)f(revised)h(and/or)g(new)f(v)m
(ersions)i(of)f(the)g(Lesser)330 2593 y(General)i(Public)f(License)g
(from)g(time)g(to)h(time.)49 b(Suc)m(h)33 b(new)f(v)m(ersions)h(will)h
(b)s(e)e(similar)h(in)g(spirit)330 2703 y(to)e(the)g(presen)m(t)f(v)m
(ersion,)h(but)f(ma)m(y)h(di\013er)f(in)g(detail)i(to)f(address)e(new)h
(problems)g(or)g(concerns.)330 2838 y(Eac)m(h)c(v)m(ersion)g(is)g(giv)m
(en)h(a)f(distinguishing)f(v)m(ersion)h(n)m(um)m(b)s(er.)38
b(If)25 b(the)h(Library)f(sp)s(eci\014es)g(a)h(v)m(ersion)330
2948 y(n)m(um)m(b)s(er)19 b(of)i(this)f(License)h(whic)m(h)f(applies)h
(to)g(it)g(and)f(\\an)m(y)h(later)g(v)m(ersion",)j(y)m(ou)d(ha)m(v)m(e)
g(the)g(option)g(of)330 3057 y(follo)m(wing)h(the)e(terms)h(and)f
(conditions)g(either)h(of)g(that)g(v)m(ersion)g(or)f(of)h(an)m(y)f
(later)i(v)m(ersion)f(published)330 3167 y(b)m(y)41 b(the)h(F)-8
b(ree)42 b(Soft)m(w)m(are)h(F)-8 b(oundation.)74 b(If)41
b(the)h(Library)e(do)s(es)i(not)f(sp)s(ecify)g(a)h(license)g(v)m
(ersion)330 3276 y(n)m(um)m(b)s(er,)29 b(y)m(ou)h(ma)m(y)h(c)m(ho)s
(ose)g(an)m(y)f(v)m(ersion)h(ev)m(er)g(published)d(b)m(y)i(the)g(F)-8
b(ree)31 b(Soft)m(w)m(are)g(F)-8 b(oundation.)154 3412
y(14.)61 b(If)25 b(y)m(ou)h(wish)e(to)j(incorp)s(orate)f(parts)f(of)g
(the)h(Library)f(in)m(to)h(other)g(free)f(programs)h(whose)f(distribu-)
330 3521 y(tion)30 b(conditions)g(are)g(incompatible)h(with)e(these,)h
(write)g(to)g(the)g(author)f(to)i(ask)e(for)h(p)s(ermission.)330
3631 y(F)-8 b(or)33 b(soft)m(w)m(are)h(whic)m(h)e(is)h(cop)m(yrigh)m
(ted)h(b)m(y)e(the)h(F)-8 b(ree)34 b(Soft)m(w)m(are)f(F)-8
b(oundation,)34 b(write)f(to)g(the)g(F)-8 b(ree)330 3740
y(Soft)m(w)m(are)42 b(F)-8 b(oundation;)47 b(w)m(e)41
b(sometimes)h(mak)m(e)g(exceptions)f(for)g(this.)72 b(Our)39
b(decision)i(will)h(b)s(e)330 3850 y(guided)30 b(b)m(y)h(the)g(t)m(w)m
(o)h(goals)g(of)f(preserving)f(the)h(free)g(status)g(of)g(all)h(deriv)
-5 b(ativ)m(es)32 b(of)f(our)f(free)h(soft-)330 3960
y(w)m(are)g(and)f(of)g(promoting)h(the)f(sharing)g(and)g(reuse)g(of)h
(soft)m(w)m(are)h(generally)-8 b(.)330 4194 y Fu(NO)45
b(W)-15 b(ARRANTY)154 4354 y Fv(15.)61 b(BECA)m(USE)47
b(THE)f(LIBRAR)-8 b(Y)48 b(IS)e(LICENSED)g(FREE)g(OF)h(CHAR)m(GE,)h
(THERE)e(IS)g(NO)330 4463 y(W)-10 b(ARRANTY)33 b(F)m(OR)h(THE)e(LIBRAR)
-8 b(Y,)34 b(TO)e(THE)g(EXTENT)h(PERMITTED)f(BY)h(APPLI-)330
4573 y(CABLE)27 b(LA)-10 b(W.)27 b(EX)m(CEPT)g(WHEN)h(OTHER)-10
b(WISE)25 b(ST)-8 b(A)g(TED)28 b(IN)e(WRITING)i(THE)e(COPY-)330
4682 y(RIGHT)f(HOLDERS)f(AND/OR)i(OTHER)e(P)-8 b(AR)g(TIES)25
b(PR)m(O)m(VIDE)g(THE)g(LIBRAR)-8 b(Y)25 b(\\AS)g(IS")330
4792 y(WITHOUT)40 b(W)-10 b(ARRANTY)42 b(OF)f(ANY)g(KIND,)g(EITHER)f
(EXPRESSED)g(OR)h(IMPLIED,)330 4902 y(INCLUDING,)33 b(BUT)g(NOT)g
(LIMITED)f(TO,)g(THE)h(IMPLIED)g(W)-10 b(ARRANTIES)32
b(OF)h(MER-)330 5011 y(CHANT)-8 b(ABILITY)28 b(AND)g(FITNESS)e(F)m(OR)i
(A)g(P)-8 b(AR)g(TICULAR)27 b(PURPOSE.)g(THE)g(ENTIRE)330
5121 y(RISK)f(AS)g(TO)g(THE)h(QUALITY)f(AND)h(PERF)m(ORMANCE)g(OF)g
(THE)f(LIBRAR)-8 b(Y)28 b(IS)e(WITH)330 5230 y(YOU.)j(SHOULD)f(THE)h
(LIBRAR)-8 b(Y)29 b(PR)m(O)m(VE)g(DEFECTIVE,)f(YOU)h(ASSUME)f(THE)g
(COST)330 5340 y(OF)i(ALL)g(NECESSAR)-8 b(Y)30 b(SER)-10
b(VICING,)30 b(REP)-8 b(AIR)30 b(OR)g(CORRECTION.)p eop
end
%%Page: 72 77
TeXDict begin 72 76 bop 150 -116 a Fv(App)s(endix)29
b(B:)i(GNU)g(LESSER)d(GENERAL)j(PUBLIC)f(LICENSE)1091
b(72)154 299 y(16.)61 b(IN)26 b(NO)g(EVENT)g(UNLESS)f(REQUIRED)h(BY)h
(APPLICABLE)f(LA)-10 b(W)26 b(OR)g(A)m(GREED)h(TO)f(IN)330
408 y(WRITING)37 b(WILL)f(ANY)i(COPYRIGHT)e(HOLDER,)h(OR)f(ANY)h(OTHER)
f(P)-8 b(AR)g(TY)38 b(WHO)330 518 y(MA)-8 b(Y)62 b(MODIFY)g(AND/OR)g
(REDISTRIBUTE)e(THE)h(LIBRAR)-8 b(Y)62 b(AS)f(PERMITTED)330
628 y(ABO)m(VE,)40 b(BE)f(LIABLE)f(TO)g(YOU)h(F)m(OR)g(D)m(AMA)m(GES,)h
(INCLUDING)f(ANY)h(GENERAL,)330 737 y(SPECIAL,)e(INCIDENT)-8
b(AL)40 b(OR)e(CONSEQUENTIAL)g(D)m(AMA)m(GES)j(ARISING)e(OUT)g(OF)330
847 y(THE)51 b(USE)g(OR)g(INABILITY)h(TO)f(USE)g(THE)g(LIBRAR)-8
b(Y)52 b(\(INCLUDING)h(BUT)e(NOT)330 956 y(LIMITED)29
b(TO)g(LOSS)f(OF)h(D)m(A)-8 b(T)g(A)31 b(OR)e(D)m(A)-8
b(T)g(A)31 b(BEING)f(RENDERED)g(INA)m(CCURA)-8 b(TE)29
b(OR)330 1066 y(LOSSES)38 b(SUST)-8 b(AINED)40 b(BY)h(YOU)f(OR)g(THIRD)
g(P)-8 b(AR)g(TIES)40 b(OR)g(A)h(F)-10 b(AILURE)40 b(OF)g(THE)330
1176 y(LIBRAR)-8 b(Y)48 b(TO)f(OPERA)-8 b(TE)47 b(WITH)h(ANY)g(OTHER)f
(SOFTW)-10 b(ARE\),)47 b(EVEN)h(IF)f(SUCH)330 1285 y(HOLDER)33
b(OR)h(OTHER)f(P)-8 b(AR)g(TY)34 b(HAS)f(BEEN)h(AD)m(VISED)g(OF)g(THE)f
(POSSIBILITY)f(OF)330 1395 y(SUCH)e(D)m(AMA)m(GES.)150
1627 y Fu(END)45 b(OF)g(TERMS)f(AND)h(CONDITIONS)p eop
end
%%Page: 73 78
TeXDict begin 73 77 bop 150 -116 a Fv(App)s(endix)29
b(B:)i(GNU)g(LESSER)d(GENERAL)j(PUBLIC)f(LICENSE)1091
b(73)150 299 y Fu(B.3)67 b(Ho)l(w)46 b(to)f(Apply)g(These)g(T)-11
b(erms)44 b(to)h(Y)-11 b(our)45 b(New)g(Libraries)150
458 y Fv(If)24 b(y)m(ou)i(dev)m(elop)g(a)f(new)f(library)-8
b(,)27 b(and)d(y)m(ou)h(w)m(an)m(t)h(it)f(to)h(b)s(e)e(of)i(the)f
(greatest)h(p)s(ossible)f(use)g(to)g(the)g(public,)150
568 y(w)m(e)k(recommend)f(making)g(it)h(free)f(soft)m(w)m(are)i(that)f
(ev)m(ery)m(one)h(can)e(redistribute)g(and)g(c)m(hange.)41
b(Y)-8 b(ou)29 b(can)150 677 y(do)i(so)g(b)m(y)g(p)s(ermitting)g
(redistribution)g(under)e(these)j(terms)f(\(or,)g(alternativ)m(ely)-8
b(,)35 b(under)30 b(the)h(terms)g(of)150 787 y(the)g(ordinary)e
(General)j(Public)e(License\).)275 922 y(T)-8 b(o)34
b(apply)g(these)g(terms,)h(attac)m(h)h(the)e(follo)m(wing)i(notices)f
(to)g(the)f(library)-8 b(.)51 b(It)35 b(is)f(safest)g(to)h(attac)m(h)
150 1031 y(them)f(to)i(the)e(start)h(of)g(eac)m(h)h(source)e(\014le)h
(to)g(most)g(e\013ectiv)m(ely)i(con)m(v)m(ey)f(the)f(exclusion)g(of)g
(w)m(arran)m(t)m(y;)150 1141 y(and)26 b(eac)m(h)i(\014le)f(should)e(ha)
m(v)m(e)j(at)f(least)h(the)f(\\cop)m(yrigh)m(t")i(line)e(and)f(a)h(p)s
(oin)m(ter)g(to)g(where)f(the)h(full)g(notice)150 1250
y(is)j(found.)390 1362 y Fb(one)40 b(line)g(to)g(give)g(the)g
(library's)h(name)f(and)g(an)g(idea)g(of)g(what)g(it)f(does.)390
1450 y Fc(Copyright)i(\(C\))f Fb(year)88 b(name)40 b(of)g(author)390
1624 y Fc(This)g(library)h(is)f(free)g(software;)h(you)f(can)g
(redistribute)i(it)e(and/or)g(modify)h(it)390 1711 y(under)f(the)g
(terms)h(of)e(the)h(GNU)g(Lesser)h(General)g(Public)f(License)h(as)f
(published)h(by)390 1798 y(the)f(Free)g(Software)h(Foundation;)h
(either)e(version)h(2.1)f(of)g(the)g(License,)h(or)e(\(at)390
1885 y(your)h(option\))h(any)f(later)g(version.)390 2060
y(This)g(library)h(is)f(distributed)h(in)f(the)g(hope)g(that)g(it)g
(will)g(be)g(useful,)h(but)390 2147 y(WITHOUT)g(ANY)f(WARRANTY;)h
(without)g(even)f(the)g(implied)h(warranty)g(of)390 2234
y(MERCHANTABILITY)i(or)c(FITNESS)i(FOR)f(A)g(PARTICULAR)h(PURPOSE.)80
b(See)40 b(the)g(GNU)390 2321 y(Lesser)h(General)f(Public)h(License)g
(for)f(more)g(details.)390 2496 y(You)g(should)g(have)h(received)g(a)e
(copy)h(of)g(the)g(GNU)g(Lesser)g(General)h(Public)390
2583 y(License)g(along)f(with)g(this)g(library;)i(if)d(not,)h(write)h
(to)e(the)h(Free)g(Software)390 2670 y(Foundation,)i(Inc.,)e(51)g
(Franklin)h(Street,)g(Fifth)f(Floor,)h(Boston,)f(MA)g(02110-1301,)390
2757 y(USA.)275 2892 y Fv(Also)31 b(add)e(information)i(on)f(ho)m(w)h
(to)g(con)m(tact)i(y)m(ou)d(b)m(y)g(electronic)j(and)d(pap)s(er)f
(mail.)275 3026 y(Y)-8 b(ou)28 b(should)f(also)i(get)g(y)m(our)f(emplo)
m(y)m(er)h(\(if)f(y)m(ou)g(w)m(ork)g(as)h(a)f(programmer\))g(or)g(y)m
(our)f(sc)m(ho)s(ol,)j(if)e(an)m(y)-8 b(,)150 3136 y(to)38
b(sign)g(a)g(\\cop)m(yrigh)m(t)i(disclaimer")f(for)e(the)h(library)-8
b(,)40 b(if)e(necessary)-8 b(.)63 b(Here)38 b(is)g(a)g(sample;)k(alter)
d(the)150 3245 y(names:)390 3357 y Fc(Yoyodyne,)i(Inc.,)g(hereby)f
(disclaims)i(all)d(copyright)j(interest)f(in)e(the)h(library)390
3445 y(`Frob')h(\(a)e(library)i(for)f(tweaking)h(knobs\))g(written)f
(by)g(James)h(Random)f(Hacker.)390 3619 y Fb(signature)h(of)f(Ty)g
(Coon)p Fc(,)g(1)f(April)i(1990)390 3706 y(Ty)f(Coon,)g(President)h(of)
f(Vice)275 3841 y Fv(That's)30 b(all)h(there)g(is)f(to)h(it!)p
eop end
%%Page: 74 79
TeXDict begin 74 78 bop 150 -116 a Fv(App)s(endix)29
b(C:)h(Cop)m(ying)g(This)g(Man)m(ual)2108 b(74)150 299
y Fs(App)t(endix)52 b(C)81 b(Cop)l(ying)51 b(This)j(Man)l(ual)150
617 y Fu(C.1)68 b(GNU)45 b(F)-11 b(ree)45 b(Do)t(cumen)l(tation)h
(License)1396 754 y Fv(V)-8 b(ersion)31 b(1.2,)h(No)m(v)m(em)m(b)s(er)g
(2002)390 886 y(Cop)m(yrigh)m(t)842 883 y(c)817 886 y
Ft(\015)e Fv(2000,2001,2002)36 b(F)-8 b(ree)32 b(Soft)m(w)m(are)f(F)-8
b(oundation,)32 b(Inc.)390 995 y(51)f(F)-8 b(ranklin)31
b(Street,)g(Fifth)g(Flo)s(or,)g(Boston,)g(MA)g(02110-1301,)k(USA)390
1214 y(Ev)m(ery)m(one)c(is)g(p)s(ermitted)f(to)h(cop)m(y)g(and)f
(distribute)g(v)m(erbatim)h(copies)390 1324 y(of)g(this)f(license)h(do)
s(cumen)m(t,)g(but)e(c)m(hanging)j(it)f(is)f(not)h(allo)m(w)m(ed.)199
1456 y(0.)61 b(PREAMBLE)330 1588 y(The)37 b(purp)s(ose)e(of)i(this)g
(License)h(is)f(to)h(mak)m(e)g(a)g(man)m(ual,)h(textb)s(o)s(ok,)h(or)d
(other)g(functional)h(and)330 1698 y(useful)29 b(do)s(cumen)m(t)h
Fm(free)36 b Fv(in)29 b(the)i(sense)f(of)g(freedom:)41
b(to)31 b(assure)e(ev)m(ery)m(one)j(the)e(e\013ectiv)m(e)j(freedom)330
1808 y(to)f(cop)m(y)g(and)f(redistribute)g(it,)h(with)g(or)f(without)g
(mo)s(difying)g(it,)i(either)f(commercially)h(or)e(non-)330
1917 y(commercially)-8 b(.)56 b(Secondarily)-8 b(,)36
b(this)f(License)g(preserv)m(es)g(for)f(the)h(author)f(and)g(publisher)
f(a)i(w)m(a)m(y)330 2027 y(to)i(get)g(credit)g(for)f(their)g(w)m(ork,)i
(while)e(not)g(b)s(eing)g(considered)g(resp)s(onsible)f(for)h(mo)s
(di\014cations)330 2136 y(made)30 b(b)m(y)h(others.)330
2268 y(This)22 b(License)i(is)f(a)h(kind)e(of)i(\\cop)m(yleft",)j(whic)
m(h)c(means)g(that)h(deriv)-5 b(ativ)m(e)24 b(w)m(orks)f(of)h(the)f(do)
s(cumen)m(t)330 2378 y(m)m(ust)34 b(themselv)m(es)h(b)s(e)e(free)h(in)g
(the)g(same)g(sense.)51 b(It)34 b(complemen)m(ts)h(the)f(GNU)g(General)
h(Public)330 2488 y(License,)c(whic)m(h)f(is)h(a)f(cop)m(yleft)i
(license)g(designed)e(for)g(free)h(soft)m(w)m(are.)330
2620 y(W)-8 b(e)31 b(ha)m(v)m(e)f(designed)g(this)f(License)h(in)f
(order)g(to)i(use)e(it)h(for)f(man)m(uals)h(for)f(free)h(soft)m(w)m
(are,)h(b)s(ecause)330 2729 y(free)42 b(soft)m(w)m(are)i(needs)e(free)g
(do)s(cumen)m(tation:)65 b(a)42 b(free)h(program)f(should)f(come)i
(with)f(man)m(uals)330 2839 y(pro)m(viding)29 b(the)g(same)g(freedoms)f
(that)i(the)f(soft)m(w)m(are)h(do)s(es.)40 b(But)29 b(this)f(License)i
(is)f(not)g(limited)g(to)330 2948 y(soft)m(w)m(are)j(man)m(uals;)f(it)g
(can)g(b)s(e)f(used)g(for)g(an)m(y)h(textual)h(w)m(ork,)f(regardless)g
(of)g(sub)5 b(ject)30 b(matter)i(or)330 3058 y(whether)f(it)h(is)f
(published)f(as)i(a)f(prin)m(ted)g(b)s(o)s(ok.)44 b(W)-8
b(e)32 b(recommend)f(this)h(License)g(principally)f(for)330
3168 y(w)m(orks)f(whose)h(purp)s(ose)d(is)j(instruction)f(or)g
(reference.)199 3300 y(1.)61 b(APPLICABILITY)29 b(AND)j(DEFINITIONS)330
3432 y(This)39 b(License)i(applies)f(to)g(an)m(y)h(man)m(ual)f(or)g
(other)g(w)m(ork,)i(in)e(an)m(y)g(medium,)i(that)e(con)m(tains)i(a)330
3541 y(notice)h(placed)f(b)m(y)f(the)h(cop)m(yrigh)m(t)h(holder)e(sa)m
(ying)h(it)g(can)g(b)s(e)f(distributed)f(under)g(the)i(terms)330
3651 y(of)c(this)f(License.)62 b(Suc)m(h)37 b(a)h(notice)h(gran)m(ts)f
(a)g(w)m(orld-wide,)h(ro)m(y)m(alt)m(y-free)i(license,)f(unlimited)d
(in)330 3761 y(duration,)49 b(to)d(use)f(that)g(w)m(ork)h(under)d(the)j
(conditions)f(stated)h(herein.)85 b(The)45 b(\\Do)s(cumen)m(t",)330
3870 y(b)s(elo)m(w,)29 b(refers)f(to)h(an)m(y)g(suc)m(h)f(man)m(ual)h
(or)f(w)m(ork.)40 b(An)m(y)29 b(mem)m(b)s(er)e(of)i(the)f(public)g(is)g
(a)h(licensee,)i(and)330 3980 y(is)25 b(addressed)f(as)h(\\y)m(ou".)40
b(Y)-8 b(ou)26 b(accept)g(the)f(license)h(if)f(y)m(ou)h(cop)m(y)-8
b(,)27 b(mo)s(dify)d(or)h(distribute)g(the)g(w)m(ork)330
4089 y(in)30 b(a)h(w)m(a)m(y)g(requiring)f(p)s(ermission)f(under)g(cop)
m(yrigh)m(t)j(la)m(w.)330 4222 y(A)i(\\Mo)s(di\014ed)f(V)-8
b(ersion")35 b(of)f(the)g(Do)s(cumen)m(t)g(means)g(an)m(y)g(w)m(ork)f
(con)m(taining)j(the)e(Do)s(cumen)m(t)g(or)330 4331 y(a)k(p)s(ortion)f
(of)h(it,)i(either)e(copied)g(v)m(erbatim,)i(or)d(with)h(mo)s
(di\014cations)f(and/or)h(translated)g(in)m(to)330 4441
y(another)31 b(language.)330 4573 y(A)26 b(\\Secondary)g(Section")h(is)
f(a)h(named)e(app)s(endix)f(or)i(a)h(fron)m(t-matter)g(section)g(of)f
(the)g(Do)s(cumen)m(t)330 4682 y(that)c(deals)g(exclusiv)m(ely)h(with)e
(the)g(relationship)h(of)f(the)h(publishers)d(or)i(authors)g(of)h(the)f
(Do)s(cumen)m(t)330 4792 y(to)38 b(the)f(Do)s(cumen)m(t's)i(o)m(v)m
(erall)g(sub)5 b(ject)37 b(\(or)h(to)g(related)g(matters\))g(and)f(con)
m(tains)h(nothing)f(that)330 4902 y(could)j(fall)h(directly)g(within)f
(that)h(o)m(v)m(erall)i(sub)5 b(ject.)70 b(\(Th)m(us,)42
b(if)e(the)h(Do)s(cumen)m(t)g(is)f(in)g(part)h(a)330
5011 y(textb)s(o)s(ok)24 b(of)g(mathematics,)j(a)d(Secondary)f(Section)
h(ma)m(y)g(not)g(explain)g(an)m(y)g(mathematics.\))40
b(The)330 5121 y(relationship)28 b(could)f(b)s(e)g(a)g(matter)i(of)e
(historical)i(connection)f(with)f(the)h(sub)5 b(ject)27
b(or)g(with)g(related)330 5230 y(matters,)38 b(or)d(of)h(legal,)i
(commercial,)h(philosophical,)f(ethical)f(or)e(p)s(olitical)i(p)s
(osition)f(regarding)330 5340 y(them.)p eop end
%%Page: 75 80
TeXDict begin 75 79 bop 150 -116 a Fv(App)s(endix)29
b(C:)h(Cop)m(ying)g(This)g(Man)m(ual)2108 b(75)330 299
y(The)25 b(\\In)m(v)-5 b(arian)m(t)27 b(Sections")g(are)f(certain)g
(Secondary)g(Sections)g(whose)f(titles)i(are)f(designated,)i(as)330
408 y(b)s(eing)e(those)h(of)g(In)m(v)-5 b(arian)m(t)27
b(Sections,)i(in)d(the)h(notice)h(that)f(sa)m(ys)g(that)g(the)g(Do)s
(cumen)m(t)g(is)g(released)330 518 y(under)f(this)i(License.)40
b(If)27 b(a)h(section)h(do)s(es)f(not)f(\014t)h(the)g(ab)s(o)m(v)m(e)h
(de\014nition)e(of)h(Secondary)f(then)h(it)g(is)330 628
y(not)k(allo)m(w)m(ed)i(to)e(b)s(e)g(designated)g(as)g(In)m(v)-5
b(arian)m(t.)46 b(The)31 b(Do)s(cumen)m(t)i(ma)m(y)f(con)m(tain)i(zero)
e(In)m(v)-5 b(arian)m(t)330 737 y(Sections.)39 b(If)25
b(the)f(Do)s(cumen)m(t)i(do)s(es)e(not)h(iden)m(tify)g(an)m(y)g(In)m(v)
-5 b(arian)m(t)25 b(Sections)h(then)e(there)h(are)g(none.)330
894 y(The)36 b(\\Co)m(v)m(er)i(T)-8 b(exts")38 b(are)f(certain)g(short)
g(passages)g(of)g(text)g(that)h(are)f(listed,)i(as)d(F)-8
b(ron)m(t-Co)m(v)m(er)330 1003 y(T)g(exts)26 b(or)f(Bac)m(k-Co)m(v)m
(er)j(T)-8 b(exts,)27 b(in)d(the)h(notice)i(that)e(sa)m(ys)h(that)g
(the)f(Do)s(cumen)m(t)h(is)f(released)g(under)330 1113
y(this)h(License.)40 b(A)25 b(F)-8 b(ron)m(t-Co)m(v)m(er)29
b(T)-8 b(ext)26 b(ma)m(y)h(b)s(e)e(at)i(most)f(5)g(w)m(ords,)g(and)g(a)
g(Bac)m(k-Co)m(v)m(er)j(T)-8 b(ext)26 b(ma)m(y)330 1223
y(b)s(e)k(at)h(most)g(25)g(w)m(ords.)330 1379 y(A)36
b(\\T)-8 b(ransparen)m(t")36 b(cop)m(y)g(of)g(the)f(Do)s(cumen)m(t)h
(means)g(a)g(mac)m(hine-readable)h(cop)m(y)-8 b(,)38
b(represen)m(ted)330 1489 y(in)d(a)h(format)g(whose)g(sp)s
(eci\014cation)g(is)g(a)m(v)-5 b(ailable)38 b(to)f(the)f(general)g
(public,)h(that)f(is)g(suitable)g(for)330 1598 y(revising)c(the)g(do)s
(cumen)m(t)f(straigh)m(tforw)m(ardly)i(with)e(generic)i(text)g(editors)
f(or)f(\(for)h(images)h(com-)330 1708 y(p)s(osed)23 b(of)h(pixels\))g
(generic)h(pain)m(t)f(programs)g(or)f(\(for)h(dra)m(wings\))g(some)g
(widely)g(a)m(v)-5 b(ailable)26 b(dra)m(wing)330 1817
y(editor,)k(and)f(that)g(is)g(suitable)h(for)f(input)f(to)i(text)g
(formatters)f(or)g(for)g(automatic)i(translation)f(to)330
1927 y(a)d(v)-5 b(ariet)m(y)28 b(of)f(formats)g(suitable)h(for)e(input)
g(to)i(text)g(formatters.)40 b(A)27 b(cop)m(y)g(made)g(in)g(an)g
(otherwise)330 2037 y(T)-8 b(ransparen)m(t)37 b(\014le)h(format)g
(whose)f(markup,)i(or)e(absence)h(of)g(markup,)g(has)g(b)s(een)f
(arranged)g(to)330 2146 y(th)m(w)m(art)27 b(or)g(discourage)g
(subsequen)m(t)f(mo)s(di\014cation)h(b)m(y)g(readers)f(is)g(not)h(T)-8
b(ransparen)m(t.)39 b(An)27 b(image)330 2256 y(format)35
b(is)f(not)h(T)-8 b(ransparen)m(t)34 b(if)g(used)g(for)g(an)m(y)g
(substan)m(tial)h(amoun)m(t)g(of)g(text.)53 b(A)35 b(cop)m(y)g(that)g
(is)330 2365 y(not)c(\\T)-8 b(ransparen)m(t")31 b(is)f(called)i
(\\Opaque".)330 2522 y(Examples)53 b(of)g(suitable)h(formats)f(for)g(T)
-8 b(ransparen)m(t)53 b(copies)h(include)f(plain)g Fa(asci)r(i)g
Fv(without)330 2632 y(markup,)37 b(T)-8 b(exinfo)36 b(input)f(format,)j
(LaT)1759 2651 y(E)1810 2632 y(X)e(input)f(format,)j
Fj(SGML)f Fv(or)f Fj(XML)g Fv(using)g(a)g(publicly)330
2741 y(a)m(v)-5 b(ailable)42 b Fj(DTD)p Fv(,)g(and)d
(standard-conforming)h(simple)g Fj(HTML)p Fv(,)g(P)m(ostScript)h(or)f
Fj(PDF)g Fv(designed)330 2851 y(for)e(h)m(uman)g(mo)s(di\014cation.)65
b(Examples)38 b(of)h(transparen)m(t)f(image)i(formats)e(include)g
Fj(PNG)p Fv(,)h Fj(X)n(CF)330 2960 y Fv(and)h Fj(JPG)p
Fv(.)g(Opaque)h(formats)g(include)f(proprietary)g(formats)h(that)h(can)
f(b)s(e)f(read)g(and)h(edited)330 3070 y(only)54 b(b)m(y)f(proprietary)
h(w)m(ord)f(pro)s(cessors,)59 b Fj(SGML)54 b Fv(or)f
Fj(XML)h Fv(for)g(whic)m(h)f(the)h Fj(DTD)g Fv(and/or)330
3180 y(pro)s(cessing)61 b(to)s(ols)h(are)f(not)g(generally)i(a)m(v)-5
b(ailable,)71 b(and)60 b(the)h(mac)m(hine-generated)j
Fj(HTML)p Fv(,)330 3289 y(P)m(ostScript)31 b(or)f Fj(PDF)h
Fv(pro)s(duced)d(b)m(y)j(some)f(w)m(ord)g(pro)s(cessors)g(for)g(output)
g(purp)s(oses)f(only)-8 b(.)330 3446 y(The)34 b(\\Title)h(P)m(age")i
(means,)e(for)f(a)h(prin)m(ted)f(b)s(o)s(ok,)h(the)f(title)i(page)f
(itself,)h(plus)e(suc)m(h)f(follo)m(wing)330 3555 y(pages)28
b(as)g(are)g(needed)g(to)g(hold,)g(legibly)-8 b(,)30
b(the)e(material)h(this)f(License)g(requires)f(to)h(app)s(ear)f(in)h
(the)330 3665 y(title)g(page.)40 b(F)-8 b(or)28 b(w)m(orks)e(in)g
(formats)h(whic)m(h)g(do)f(not)h(ha)m(v)m(e)h(an)m(y)e(title)j(page)e
(as)g(suc)m(h,)g(\\Title)h(P)m(age")330 3774 y(means)j(the)f(text)i
(near)e(the)h(most)g(prominen)m(t)g(app)s(earance)f(of)h(the)g(w)m
(ork's)g(title,)h(preceding)f(the)330 3884 y(b)s(eginning)f(of)g(the)h
(b)s(o)s(dy)e(of)h(the)h(text.)330 4041 y(A)f(section)h(\\En)m(titled)g
(XYZ")f(means)f(a)h(named)g(subunit)e(of)h(the)h(Do)s(cumen)m(t)h
(whose)e(title)i(either)330 4150 y(is)d(precisely)g(XYZ)g(or)f(con)m
(tains)i(XYZ)f(in)f(paren)m(theses)i(follo)m(wing)g(text)g(that)f
(translates)h(XYZ)e(in)330 4260 y(another)e(language.)40
b(\(Here)26 b(XYZ)f(stands)f(for)h(a)g(sp)s(eci\014c)g(section)h(name)f
(men)m(tioned)h(b)s(elo)m(w,)g(suc)m(h)330 4369 y(as)i(\\Ac)m(kno)m
(wledgemen)m(ts",)33 b(\\Dedications",)e(\\Endorsemen)m(ts",)e(or)f
(\\History".\))42 b(T)-8 b(o)29 b(\\Preserv)m(e)330 4479
y(the)34 b(Title")h(of)e(suc)m(h)h(a)g(section)g(when)f(y)m(ou)h(mo)s
(dify)e(the)i(Do)s(cumen)m(t)h(means)e(that)h(it)g(remains)g(a)330
4589 y(section)e(\\En)m(titled)f(XYZ")g(according)g(to)g(this)g
(de\014nition.)330 4745 y(The)c(Do)s(cumen)m(t)i(ma)m(y)f(include)f(W)
-8 b(arran)m(t)m(y)30 b(Disclaimers)f(next)f(to)g(the)g(notice)h(whic)m
(h)e(states)i(that)330 4855 y(this)34 b(License)g(applies)g(to)h(the)f
(Do)s(cumen)m(t.)52 b(These)33 b(W)-8 b(arran)m(t)m(y)36
b(Disclaimers)f(are)g(considered)e(to)330 4964 y(b)s(e)k(included)g(b)m
(y)g(reference)h(in)g(this)f(License,)j(but)d(only)h(as)g(regards)f
(disclaiming)i(w)m(arran)m(ties:)330 5074 y(an)m(y)e(other)g
(implication)i(that)e(these)g(W)-8 b(arran)m(t)m(y)39
b(Disclaimers)f(ma)m(y)g(ha)m(v)m(e)g(is)f(v)m(oid)g(and)f(has)h(no)330
5183 y(e\013ect)32 b(on)e(the)h(meaning)f(of)h(this)f(License.)199
5340 y(2.)61 b(VERBA)-8 b(TIM)31 b(COPYING)p eop end
%%Page: 76 81
TeXDict begin 76 80 bop 150 -116 a Fv(App)s(endix)29
b(C:)h(Cop)m(ying)g(This)g(Man)m(ual)2108 b(76)330 299
y(Y)-8 b(ou)39 b(ma)m(y)f(cop)m(y)h(and)e(distribute)h(the)g(Do)s
(cumen)m(t)h(in)f(an)m(y)g(medium,)h(either)g(commercially)h(or)330
408 y(noncommercially)-8 b(,)48 b(pro)m(vided)42 b(that)h(this)f
(License,)47 b(the)42 b(cop)m(yrigh)m(t)i(notices,)j(and)42
b(the)h(license)330 518 y(notice)37 b(sa)m(ying)g(this)e(License)i
(applies)e(to)i(the)f(Do)s(cumen)m(t)g(are)g(repro)s(duced)e(in)i(all)g
(copies,)j(and)330 628 y(that)27 b(y)m(ou)g(add)f(no)h(other)f
(conditions)h(whatso)s(ev)m(er)h(to)f(those)g(of)g(this)f(License.)40
b(Y)-8 b(ou)27 b(ma)m(y)g(not)g(use)330 737 y(tec)m(hnical)35
b(measures)d(to)i(obstruct)f(or)g(con)m(trol)h(the)f(reading)g(or)g
(further)e(cop)m(ying)j(of)f(the)g(copies)330 847 y(y)m(ou)25
b(mak)m(e)g(or)g(distribute.)38 b(Ho)m(w)m(ev)m(er,)28
b(y)m(ou)d(ma)m(y)g(accept)h(comp)s(ensation)f(in)f(exc)m(hange)j(for)d
(copies.)330 956 y(If)32 b(y)m(ou)g(distribute)g(a)h(large)g(enough)f
(n)m(um)m(b)s(er)f(of)h(copies)h(y)m(ou)f(m)m(ust)h(also)g(follo)m(w)g
(the)f(conditions)330 1066 y(in)e(section)i(3.)330 1200
y(Y)-8 b(ou)21 b(ma)m(y)h(also)f(lend)g(copies,)i(under)d(the)h(same)g
(conditions)g(stated)h(ab)s(o)m(v)m(e,)i(and)c(y)m(ou)h(ma)m(y)g
(publicly)330 1310 y(displa)m(y)31 b(copies.)199 1443
y(3.)61 b(COPYING)30 b(IN)g(QUANTITY)330 1577 y(If)25
b(y)m(ou)g(publish)f(prin)m(ted)g(copies)i(\(or)g(copies)g(in)f(media)g
(that)h(commonly)g(ha)m(v)m(e)g(prin)m(ted)f(co)m(v)m(ers\))i(of)330
1687 y(the)32 b(Do)s(cumen)m(t,)h(n)m(um)m(b)s(ering)e(more)h(than)f
(100,)j(and)d(the)h(Do)s(cumen)m(t's)h(license)f(notice)h(requires)330
1797 y(Co)m(v)m(er)i(T)-8 b(exts,)36 b(y)m(ou)f(m)m(ust)f(enclose)i
(the)e(copies)h(in)f(co)m(v)m(ers)i(that)f(carry)-8 b(,)36
b(clearly)f(and)f(legibly)-8 b(,)37 b(all)330 1906 y(these)j(Co)m(v)m
(er)g(T)-8 b(exts:)59 b(F)-8 b(ron)m(t-Co)m(v)m(er)41
b(T)-8 b(exts)40 b(on)f(the)g(fron)m(t)g(co)m(v)m(er,)44
b(and)38 b(Bac)m(k-Co)m(v)m(er)k(T)-8 b(exts)40 b(on)330
2016 y(the)29 b(bac)m(k)h(co)m(v)m(er.)42 b(Both)30 b(co)m(v)m(ers)h(m)
m(ust)e(also)h(clearly)g(and)f(legibly)h(iden)m(tify)f(y)m(ou)h(as)f
(the)h(publisher)330 2125 y(of)k(these)h(copies.)53 b(The)34
b(fron)m(t)h(co)m(v)m(er)h(m)m(ust)e(presen)m(t)g(the)h(full)f(title)i
(with)d(all)j(w)m(ords)d(of)i(the)f(title)330 2235 y(equally)e
(prominen)m(t)e(and)g(visible.)43 b(Y)-8 b(ou)31 b(ma)m(y)g(add)g
(other)g(material)h(on)f(the)g(co)m(v)m(ers)h(in)e(addition.)330
2345 y(Cop)m(ying)36 b(with)g(c)m(hanges)h(limited)g(to)g(the)g(co)m(v)
m(ers,)i(as)d(long)h(as)g(they)f(preserv)m(e)g(the)h(title)g(of)g(the)
330 2454 y(Do)s(cumen)m(t)h(and)e(satisfy)i(these)f(conditions,)j(can)d
(b)s(e)g(treated)h(as)f(v)m(erbatim)h(cop)m(ying)g(in)f(other)330
2564 y(resp)s(ects.)330 2698 y(If)32 b(the)h(required)f(texts)i(for)e
(either)h(co)m(v)m(er)i(are)e(to)s(o)g(v)m(oluminous)g(to)g(\014t)g
(legibly)-8 b(,)35 b(y)m(ou)e(should)f(put)330 2807 y(the)h(\014rst)f
(ones)h(listed)g(\(as)h(man)m(y)f(as)g(\014t)g(reasonably\))g(on)g(the)
g(actual)h(co)m(v)m(er,)h(and)e(con)m(tin)m(ue)h(the)330
2917 y(rest)d(on)m(to)g(adjacen)m(t)h(pages.)330 3051
y(If)27 b(y)m(ou)g(publish)e(or)i(distribute)g(Opaque)f(copies)i(of)f
(the)h(Do)s(cumen)m(t)f(n)m(um)m(b)s(ering)f(more)i(than)e(100,)330
3160 y(y)m(ou)i(m)m(ust)g(either)h(include)e(a)i(mac)m(hine-readable)g
(T)-8 b(ransparen)m(t)28 b(cop)m(y)h(along)g(with)e(eac)m(h)i(Opaque)
330 3270 y(cop)m(y)-8 b(,)38 b(or)d(state)h(in)f(or)g(with)g(eac)m(h)h
(Opaque)e(cop)m(y)i(a)g(computer-net)m(w)m(ork)g(lo)s(cation)h(from)d
(whic)m(h)330 3380 y(the)24 b(general)i(net)m(w)m(ork-using)f(public)e
(has)h(access)i(to)f(do)m(wnload)f(using)g(public-standard)f(net)m(w)m
(ork)330 3489 y(proto)s(cols)40 b(a)f(complete)h(T)-8
b(ransparen)m(t)39 b(cop)m(y)g(of)g(the)h(Do)s(cumen)m(t,)i(free)d(of)g
(added)f(material.)67 b(If)330 3599 y(y)m(ou)39 b(use)g(the)g(latter)h
(option,)h(y)m(ou)f(m)m(ust)e(tak)m(e)j(reasonably)e(pruden)m(t)e
(steps,)k(when)d(y)m(ou)h(b)s(egin)330 3708 y(distribution)f(of)g
(Opaque)g(copies)h(in)e(quan)m(tit)m(y)-8 b(,)43 b(to)38
b(ensure)g(that)h(this)f(T)-8 b(ransparen)m(t)38 b(cop)m(y)h(will)330
3818 y(remain)30 b(th)m(us)g(accessible)i(at)f(the)f(stated)h(lo)s
(cation)h(un)m(til)e(at)h(least)h(one)e(y)m(ear)h(after)g(the)f(last)h
(time)330 3927 y(y)m(ou)37 b(distribute)f(an)h(Opaque)f(cop)m(y)i
(\(directly)g(or)e(through)g(y)m(our)h(agen)m(ts)h(or)f(retailers\))h
(of)f(that)330 4037 y(edition)31 b(to)g(the)g(public.)330
4171 y(It)k(is)f(requested,)i(but)e(not)h(required,)g(that)g(y)m(ou)g
(con)m(tact)h(the)f(authors)f(of)h(the)g(Do)s(cumen)m(t)g(w)m(ell)330
4281 y(b)s(efore)28 b(redistributing)g(an)m(y)h(large)h(n)m(um)m(b)s
(er)d(of)i(copies,)h(to)f(giv)m(e)h(them)f(a)g(c)m(hance)h(to)f(pro)m
(vide)g(y)m(ou)330 4390 y(with)h(an)g(up)s(dated)f(v)m(ersion)i(of)g
(the)f(Do)s(cumen)m(t.)199 4524 y(4.)61 b(MODIFICA)-8
b(TIONS)330 4658 y(Y)g(ou)26 b(ma)m(y)g(cop)m(y)g(and)f(distribute)g(a)
h(Mo)s(di\014ed)f(V)-8 b(ersion)26 b(of)g(the)g(Do)s(cumen)m(t)g(under)
e(the)h(conditions)330 4768 y(of)c(sections)h(2)g(and)e(3)h(ab)s(o)m(v)
m(e,)k(pro)m(vided)20 b(that)i(y)m(ou)f(release)i(the)e(Mo)s(di\014ed)f
(V)-8 b(ersion)22 b(under)d(precisely)330 4877 y(this)29
b(License,)h(with)f(the)g(Mo)s(di\014ed)f(V)-8 b(ersion)30
b(\014lling)f(the)g(role)h(of)f(the)g(Do)s(cumen)m(t,)h(th)m(us)f
(licensing)330 4987 y(distribution)k(and)h(mo)s(di\014cation)g(of)h
(the)f(Mo)s(di\014ed)f(V)-8 b(ersion)35 b(to)g(who)s(ev)m(er)f(p)s
(ossesses)f(a)i(cop)m(y)g(of)330 5096 y(it.)41 b(In)30
b(addition,)h(y)m(ou)f(m)m(ust)h(do)f(these)h(things)f(in)g(the)h(Mo)s
(di\014ed)e(V)-8 b(ersion:)357 5230 y(A.)60 b(Use)33
b(in)f(the)h(Title)h(P)m(age)g(\(and)f(on)f(the)h(co)m(v)m(ers,)i(if)e
(an)m(y\))g(a)g(title)h(distinct)f(from)g(that)g(of)g(the)510
5340 y(Do)s(cumen)m(t,)j(and)d(from)g(those)i(of)f(previous)f(v)m
(ersions)h(\(whic)m(h)g(should,)g(if)g(there)g(w)m(ere)g(an)m(y)-8
b(,)p eop end
%%Page: 77 82
TeXDict begin 77 81 bop 150 -116 a Fv(App)s(endix)29
b(C:)h(Cop)m(ying)g(This)g(Man)m(ual)2108 b(77)510 299
y(b)s(e)31 b(listed)h(in)f(the)g(History)h(section)g(of)g(the)f(Do)s
(cumen)m(t\).)45 b(Y)-8 b(ou)32 b(ma)m(y)g(use)f(the)g(same)h(title)h
(as)510 408 y(a)e(previous)f(v)m(ersion)g(if)h(the)f(original)i
(publisher)d(of)h(that)h(v)m(ersion)g(giv)m(es)h(p)s(ermission.)360
545 y(B.)61 b(List)31 b(on)f(the)h(Title)g(P)m(age,)i(as)d(authors,)h
(one)g(or)f(more)h(p)s(ersons)e(or)h(en)m(tities)j(resp)s(onsible)c
(for)510 655 y(authorship)c(of)h(the)h(mo)s(di\014cations)f(in)g(the)g
(Mo)s(di\014ed)f(V)-8 b(ersion,)28 b(together)g(with)d(at)i(least)h
(\014v)m(e)510 765 y(of)c(the)g(principal)g(authors)f(of)i(the)f(Do)s
(cumen)m(t)g(\(all)h(of)g(its)f(principal)g(authors,)h(if)f(it)g(has)g
(few)m(er)510 874 y(than)30 b(\014v)m(e\),)h(unless)f(they)h(release)g
(y)m(ou)g(from)f(this)g(requiremen)m(t.)359 1011 y(C.)60
b(State)32 b(on)e(the)h(Title)h(page)f(the)g(name)g(of)g(the)g
(publisher)e(of)i(the)g(Mo)s(di\014ed)f(V)-8 b(ersion,)32
b(as)f(the)510 1121 y(publisher.)355 1258 y(D.)61 b(Preserv)m(e)31
b(all)g(the)g(cop)m(yrigh)m(t)h(notices)f(of)g(the)f(Do)s(cumen)m(t.)
363 1395 y(E.)60 b(Add)30 b(an)i(appropriate)f(cop)m(yrigh)m(t)i
(notice)f(for)g(y)m(our)f(mo)s(di\014cations)g(adjacen)m(t)i(to)f(the)g
(other)510 1504 y(cop)m(yrigh)m(t)g(notices.)365 1641
y(F.)61 b(Include,)28 b(immediately)h(after)f(the)h(cop)m(yrigh)m(t)g
(notices,)h(a)e(license)h(notice)g(giving)g(the)f(public)510
1751 y(p)s(ermission)23 b(to)j(use)e(the)g(Mo)s(di\014ed)g(V)-8
b(ersion)25 b(under)e(the)i(terms)f(of)h(this)f(License,)j(in)d(the)g
(form)510 1861 y(sho)m(wn)30 b(in)g(the)g(Addendum)f(b)s(elo)m(w.)353
1998 y(G.)61 b(Preserv)m(e)23 b(in)g(that)g(license)h(notice)g(the)f
(full)g(lists)g(of)g(In)m(v)-5 b(arian)m(t)23 b(Sections)h(and)e
(required)g(Co)m(v)m(er)510 2107 y(T)-8 b(exts)31 b(giv)m(en)g(in)f
(the)h(Do)s(cumen)m(t's)g(license)h(notice.)357 2244
y(H.)60 b(Include)30 b(an)g(unaltered)g(cop)m(y)h(of)g(this)f(License.)
392 2381 y(I.)60 b(Preserv)m(e)33 b(the)f(section)h(En)m(titled)g
(\\History",)h(Preserv)m(e)f(its)f(Title,)i(and)d(add)h(to)h(it)f(an)g
(item)510 2491 y(stating)d(at)g(least)g(the)g(title,)h(y)m(ear,)g(new)d
(authors,)i(and)e(publisher)f(of)j(the)f(Mo)s(di\014ed)f(V)-8
b(ersion)510 2600 y(as)32 b(giv)m(en)g(on)f(the)h(Title)g(P)m(age.)45
b(If)31 b(there)h(is)f(no)g(section)i(En)m(titled)f(\\History")h(in)e
(the)g(Do)s(cu-)510 2710 y(men)m(t,)37 b(create)f(one)f(stating)h(the)f
(title,)i(y)m(ear,)g(authors,)f(and)e(publisher)f(of)i(the)g(Do)s
(cumen)m(t)510 2819 y(as)h(giv)m(en)h(on)f(its)h(Title)g(P)m(age,)i
(then)d(add)g(an)g(item)g(describing)g(the)g(Mo)s(di\014ed)g(V)-8
b(ersion)37 b(as)510 2929 y(stated)31 b(in)f(the)h(previous)f(sen)m
(tence.)378 3066 y(J.)60 b(Preserv)m(e)33 b(the)g(net)m(w)m(ork)g(lo)s
(cation,)i(if)d(an)m(y)-8 b(,)34 b(giv)m(en)f(in)g(the)f(Do)s(cumen)m
(t)h(for)g(public)e(access)j(to)510 3176 y(a)e(T)-8 b(ransparen)m(t)30
b(cop)m(y)i(of)g(the)f(Do)s(cumen)m(t,)h(and)f(lik)m(ewise)h(the)g(net)
m(w)m(ork)g(lo)s(cations)g(giv)m(en)g(in)510 3285 y(the)g(Do)s(cumen)m
(t)g(for)g(previous)f(v)m(ersions)h(it)g(w)m(as)g(based)f(on.)45
b(These)31 b(ma)m(y)h(b)s(e)f(placed)h(in)g(the)510 3395
y(\\History")27 b(section.)40 b(Y)-8 b(ou)25 b(ma)m(y)h(omit)g(a)f(net)
m(w)m(ork)h(lo)s(cation)g(for)f(a)h(w)m(ork)f(that)g(w)m(as)h
(published)510 3504 y(at)36 b(least)h(four)e(y)m(ears)i(b)s(efore)e
(the)h(Do)s(cumen)m(t)h(itself,)h(or)d(if)h(the)g(original)h(publisher)
d(of)i(the)510 3614 y(v)m(ersion)31 b(it)g(refers)f(to)h(giv)m(es)h(p)s
(ermission.)354 3751 y(K.)60 b(F)-8 b(or)24 b(an)m(y)h(section)f(En)m
(titled)h(\\Ac)m(kno)m(wledgemen)m(ts")i(or)d(\\Dedications",)k
(Preserv)m(e)c(the)g(Title)510 3861 y(of)j(the)f(section,)j(and)d
(preserv)m(e)h(in)f(the)h(section)g(all)h(the)e(substance)h(and)f(tone)
h(of)f(eac)m(h)i(of)f(the)510 3970 y(con)m(tributor)k(ac)m(kno)m
(wledgemen)m(ts)i(and/or)d(dedications)h(giv)m(en)h(therein.)368
4107 y(L.)60 b(Preserv)m(e)36 b(all)g(the)g(In)m(v)-5
b(arian)m(t)36 b(Sections)g(of)f(the)h(Do)s(cumen)m(t,)h(unaltered)f
(in)f(their)g(text)i(and)510 4217 y(in)f(their)g(titles.)58
b(Section)37 b(n)m(um)m(b)s(ers)d(or)i(the)g(equiv)-5
b(alen)m(t)38 b(are)e(not)g(considered)g(part)g(of)g(the)510
4326 y(section)c(titles.)341 4463 y(M.)61 b(Delete)33
b(an)m(y)e(section)h(En)m(titled)f(\\Endorsemen)m(ts".)42
b(Suc)m(h)30 b(a)i(section)f(ma)m(y)h(not)f(b)s(e)f(included)510
4573 y(in)g(the)h(Mo)s(di\014ed)e(V)-8 b(ersion.)357
4710 y(N.)60 b(Do)29 b(not)g(retitle)h(an)m(y)e(existing)i(section)f
(to)g(b)s(e)f(En)m(titled)h(\\Endorsemen)m(ts")g(or)f(to)h(con\015ict)g
(in)510 4819 y(title)j(with)e(an)m(y)h(In)m(v)-5 b(arian)m(t)31
b(Section.)354 4956 y(O.)60 b(Preserv)m(e)31 b(an)m(y)g(W)-8
b(arran)m(t)m(y)32 b(Disclaimers.)330 5121 y(If)h(the)g(Mo)s(di\014ed)g
(V)-8 b(ersion)34 b(includes)f(new)g(fron)m(t-matter)i(sections)f(or)f
(app)s(endices)g(that)h(qualify)330 5230 y(as)28 b(Secondary)g
(Sections)g(and)f(con)m(tain)j(no)d(material)j(copied)e(from)f(the)h
(Do)s(cumen)m(t,)i(y)m(ou)e(ma)m(y)g(at)330 5340 y(y)m(our)k(option)h
(designate)h(some)e(or)h(all)g(of)f(these)h(sections)h(as)e(in)m(v)-5
b(arian)m(t.)48 b(T)-8 b(o)33 b(do)f(this,)h(add)f(their)p
eop end
%%Page: 78 83
TeXDict begin 78 82 bop 150 -116 a Fv(App)s(endix)29
b(C:)h(Cop)m(ying)g(This)g(Man)m(ual)2108 b(78)330 299
y(titles)37 b(to)f(the)f(list)h(of)g(In)m(v)-5 b(arian)m(t)36
b(Sections)g(in)f(the)h(Mo)s(di\014ed)f(V)-8 b(ersion's)36
b(license)g(notice.)57 b(These)330 408 y(titles)32 b(m)m(ust)e(b)s(e)g
(distinct)h(from)e(an)m(y)i(other)g(section)g(titles.)330
551 y(Y)-8 b(ou)43 b(ma)m(y)g(add)f(a)g(section)i(En)m(titled)f
(\\Endorsemen)m(ts",)j(pro)m(vided)c(it)h(con)m(tains)g(nothing)g(but)
330 661 y(endorsemen)m(ts)30 b(of)g(y)m(our)f(Mo)s(di\014ed)g(V)-8
b(ersion)31 b(b)m(y)e(v)-5 b(arious)30 b(parties|for)g(example,)g
(statemen)m(ts)i(of)330 770 y(p)s(eer)27 b(review)g(or)g(that)h(the)f
(text)i(has)d(b)s(een)h(appro)m(v)m(ed)g(b)m(y)g(an)h(organization)h
(as)e(the)h(authoritativ)m(e)330 880 y(de\014nition)i(of)h(a)f
(standard.)330 1022 y(Y)-8 b(ou)29 b(ma)m(y)g(add)e(a)i(passage)g(of)g
(up)e(to)i(\014v)m(e)g(w)m(ords)e(as)i(a)g(F)-8 b(ron)m(t-Co)m(v)m(er)
30 b(T)-8 b(ext,)30 b(and)e(a)g(passage)i(of)e(up)330
1132 y(to)g(25)g(w)m(ords)e(as)i(a)f(Bac)m(k-Co)m(v)m(er)j(T)-8
b(ext,)29 b(to)f(the)f(end)f(of)i(the)f(list)h(of)f(Co)m(v)m(er)h(T)-8
b(exts)27 b(in)g(the)h(Mo)s(di\014ed)330 1241 y(V)-8
b(ersion.)58 b(Only)35 b(one)h(passage)h(of)f(F)-8 b(ron)m(t-Co)m(v)m
(er)38 b(T)-8 b(ext)36 b(and)g(one)g(of)g(Bac)m(k-Co)m(v)m(er)j(T)-8
b(ext)36 b(ma)m(y)h(b)s(e)330 1351 y(added)27 b(b)m(y)g(\(or)h(through)
f(arrangemen)m(ts)h(made)g(b)m(y\))g(an)m(y)g(one)f(en)m(tit)m(y)-8
b(.)42 b(If)27 b(the)h(Do)s(cumen)m(t)g(already)330 1461
y(includes)34 b(a)g(co)m(v)m(er)h(text)g(for)f(the)g(same)h(co)m(v)m
(er,)h(previously)e(added)f(b)m(y)h(y)m(ou)g(or)g(b)m(y)g(arrangemen)m
(t)330 1570 y(made)h(b)m(y)g(the)h(same)f(en)m(tit)m(y)i(y)m(ou)f(are)f
(acting)i(on)e(b)s(ehalf)f(of,)j(y)m(ou)f(ma)m(y)g(not)f(add)g
(another;)j(but)330 1680 y(y)m(ou)c(ma)m(y)h(replace)g(the)f(old)g
(one,)i(on)e(explicit)h(p)s(ermission)e(from)g(the)i(previous)e
(publisher)f(that)330 1789 y(added)e(the)g(old)h(one.)330
1932 y(The)25 b(author\(s\))h(and)f(publisher\(s\))f(of)i(the)f(Do)s
(cumen)m(t)h(do)g(not)f(b)m(y)h(this)f(License)h(giv)m(e)h(p)s
(ermission)330 2041 y(to)k(use)f(their)g(names)h(for)f(publicit)m(y)g
(for)h(or)f(to)h(assert)g(or)f(imply)g(endorsemen)m(t)g(of)h(an)m(y)g
(Mo)s(di\014ed)330 2151 y(V)-8 b(ersion.)199 2293 y(5.)61
b(COMBINING)31 b(DOCUMENTS)330 2436 y(Y)-8 b(ou)39 b(ma)m(y)g(com)m
(bine)h(the)f(Do)s(cumen)m(t)g(with)g(other)f(do)s(cumen)m(ts)h
(released)g(under)f(this)g(License,)330 2545 y(under)f(the)h(terms)g
(de\014ned)f(in)h(section)h(4)g(ab)s(o)m(v)m(e)g(for)f(mo)s(di\014ed)f
(v)m(ersions,)k(pro)m(vided)d(that)h(y)m(ou)330 2655
y(include)25 b(in)g(the)g(com)m(bination)i(all)f(of)g(the)f(In)m(v)-5
b(arian)m(t)26 b(Sections)g(of)g(all)g(of)f(the)h(original)g(do)s
(cumen)m(ts,)330 2765 y(unmo)s(di\014ed,)g(and)g(list)h(them)g(all)g
(as)g(In)m(v)-5 b(arian)m(t)28 b(Sections)f(of)g(y)m(our)g(com)m(bined)
g(w)m(ork)f(in)h(its)g(license)330 2874 y(notice,)32
b(and)e(that)h(y)m(ou)f(preserv)m(e)h(all)g(their)g(W)-8
b(arran)m(t)m(y)32 b(Disclaimers.)330 3017 y(The)e(com)m(bined)g(w)m
(ork)h(need)e(only)i(con)m(tain)g(one)g(cop)m(y)g(of)f(this)g(License,)
i(and)d(m)m(ultiple)i(iden)m(tical)330 3126 y(In)m(v)-5
b(arian)m(t)33 b(Sections)g(ma)m(y)g(b)s(e)f(replaced)h(with)f(a)h
(single)g(cop)m(y)-8 b(.)48 b(If)32 b(there)h(are)g(m)m(ultiple)g(In)m
(v)-5 b(arian)m(t)330 3236 y(Sections)27 b(with)g(the)g(same)g(name)g
(but)f(di\013eren)m(t)h(con)m(ten)m(ts,)i(mak)m(e)f(the)f(title)h(of)f
(eac)m(h)h(suc)m(h)f(section)330 3345 y(unique)33 b(b)m(y)h(adding)f
(at)i(the)f(end)g(of)g(it,)h(in)f(paren)m(theses,)i(the)e(name)g(of)g
(the)g(original)h(author)f(or)330 3455 y(publisher)23
b(of)i(that)h(section)g(if)f(kno)m(wn,)h(or)f(else)h(a)f(unique)f(n)m
(um)m(b)s(er.)38 b(Mak)m(e)26 b(the)g(same)f(adjustmen)m(t)330
3565 y(to)g(the)g(section)g(titles)h(in)e(the)h(list)g(of)f(In)m(v)-5
b(arian)m(t)26 b(Sections)f(in)f(the)g(license)i(notice)g(of)e(the)h
(com)m(bined)330 3674 y(w)m(ork.)330 3817 y(In)41 b(the)g(com)m
(bination,)46 b(y)m(ou)41 b(m)m(ust)g(com)m(bine)h(an)m(y)g(sections)g
(En)m(titled)g(\\History")h(in)e(the)g(v)-5 b(ari-)330
3926 y(ous)32 b(original)h(do)s(cumen)m(ts,)g(forming)f(one)g(section)h
(En)m(titled)g(\\History";)i(lik)m(ewise)f(com)m(bine)f(an)m(y)330
4036 y(sections)g(En)m(titled)f(\\Ac)m(kno)m(wledgemen)m(ts",)k(and)31
b(an)m(y)h(sections)h(En)m(titled)g(\\Dedications".)47
b(Y)-8 b(ou)330 4145 y(m)m(ust)30 b(delete)i(all)f(sections)h(En)m
(titled)f(\\Endorsemen)m(ts.")199 4288 y(6.)61 b(COLLECTIONS)28
b(OF)i(DOCUMENTS)330 4430 y(Y)-8 b(ou)32 b(ma)m(y)h(mak)m(e)g(a)f
(collection)i(consisting)f(of)f(the)g(Do)s(cumen)m(t)g(and)g(other)g
(do)s(cumen)m(ts)f(released)330 4540 y(under)41 b(this)h(License,)k
(and)c(replace)h(the)g(individual)f(copies)h(of)f(this)g(License)h(in)f
(the)h(v)-5 b(arious)330 4650 y(do)s(cumen)m(ts)42 b(with)g(a)h(single)
g(cop)m(y)h(that)f(is)f(included)g(in)g(the)h(collection,)48
b(pro)m(vided)42 b(that)i(y)m(ou)330 4759 y(follo)m(w)38
b(the)g(rules)e(of)h(this)g(License)h(for)f(v)m(erbatim)h(cop)m(ying)g
(of)f(eac)m(h)h(of)f(the)h(do)s(cumen)m(ts)e(in)h(all)330
4869 y(other)31 b(resp)s(ects.)330 5011 y(Y)-8 b(ou)32
b(ma)m(y)g(extract)h(a)f(single)g(do)s(cumen)m(t)f(from)g(suc)m(h)g(a)h
(collection,)i(and)d(distribute)g(it)h(individu-)330
5121 y(ally)k(under)d(this)i(License,)i(pro)m(vided)e(y)m(ou)g(insert)g
(a)g(cop)m(y)h(of)f(this)g(License)g(in)m(to)h(the)g(extracted)330
5230 y(do)s(cumen)m(t,)d(and)f(follo)m(w)i(this)e(License)h(in)g(all)g
(other)g(resp)s(ects)f(regarding)h(v)m(erbatim)g(cop)m(ying)h(of)330
5340 y(that)d(do)s(cumen)m(t.)p eop end
%%Page: 79 84
TeXDict begin 79 83 bop 150 -116 a Fv(App)s(endix)29
b(C:)h(Cop)m(ying)g(This)g(Man)m(ual)2108 b(79)199 299
y(7.)61 b(A)m(GGREGA)-8 b(TION)32 b(WITH)e(INDEPENDENT)h(W)m(ORKS)330
428 y(A)d(compilation)i(of)e(the)g(Do)s(cumen)m(t)h(or)f(its)g(deriv)-5
b(ativ)m(es)30 b(with)d(other)i(separate)g(and)e(indep)s(enden)m(t)330
538 y(do)s(cumen)m(ts)33 b(or)g(w)m(orks,)h(in)f(or)h(on)f(a)g(v)m
(olume)h(of)g(a)f(storage)i(or)e(distribution)g(medium,)g(is)h(called)
330 648 y(an)c(\\aggregate")k(if)c(the)g(cop)m(yrigh)m(t)i(resulting)e
(from)f(the)i(compilation)g(is)f(not)h(used)e(to)i(limit)g(the)330
757 y(legal)d(righ)m(ts)f(of)g(the)g(compilation's)h(users)e(b)s(ey)m
(ond)g(what)g(the)h(individual)f(w)m(orks)g(p)s(ermit.)39
b(When)330 867 y(the)g(Do)s(cumen)m(t)g(is)f(included)g(in)g(an)g
(aggregate,)44 b(this)38 b(License)h(do)s(es)f(not)h(apply)f(to)h(the)g
(other)330 976 y(w)m(orks)30 b(in)g(the)h(aggregate)i(whic)m(h)d(are)h
(not)g(themselv)m(es)g(deriv)-5 b(ativ)m(e)32 b(w)m(orks)f(of)f(the)h
(Do)s(cumen)m(t.)330 1106 y(If)22 b(the)h(Co)m(v)m(er)h(T)-8
b(ext)23 b(requiremen)m(t)g(of)g(section)h(3)f(is)g(applicable)h(to)f
(these)h(copies)f(of)g(the)g(Do)s(cumen)m(t,)330 1215
y(then)f(if)g(the)h(Do)s(cumen)m(t)g(is)g(less)f(than)g(one)h(half)f
(of)h(the)g(en)m(tire)g(aggregate,)k(the)c(Do)s(cumen)m(t's)g(Co)m(v)m
(er)330 1325 y(T)-8 b(exts)27 b(ma)m(y)g(b)s(e)f(placed)h(on)g(co)m(v)m
(ers)h(that)f(brac)m(k)m(et)h(the)f(Do)s(cumen)m(t)g(within)f(the)h
(aggregate,)j(or)d(the)330 1435 y(electronic)37 b(equiv)-5
b(alen)m(t)36 b(of)g(co)m(v)m(ers)g(if)f(the)g(Do)s(cumen)m(t)h(is)f
(in)g(electronic)i(form.)54 b(Otherwise)35 b(they)330
1544 y(m)m(ust)30 b(app)s(ear)g(on)g(prin)m(ted)g(co)m(v)m(ers)i(that)f
(brac)m(k)m(et)h(the)f(whole)f(aggregate.)199 1674 y(8.)61
b(TRANSLA)-8 b(TION)330 1803 y(T)g(ranslation)41 b(is)f(considered)f(a)
i(kind)e(of)h(mo)s(di\014cation,)j(so)d(y)m(ou)g(ma)m(y)h(distribute)e
(translations)330 1913 y(of)45 b(the)f(Do)s(cumen)m(t)h(under)e(the)h
(terms)h(of)f(section)i(4.)83 b(Replacing)45 b(In)m(v)-5
b(arian)m(t)45 b(Sections)g(with)330 2022 y(translations)h(requires)f
(sp)s(ecial)h(p)s(ermission)f(from)g(their)g(cop)m(yrigh)m(t)i
(holders,)i(but)c(y)m(ou)g(ma)m(y)330 2132 y(include)24
b(translations)i(of)e(some)h(or)g(all)g(In)m(v)-5 b(arian)m(t)25
b(Sections)g(in)f(addition)h(to)g(the)g(original)h(v)m(ersions)330
2242 y(of)32 b(these)f(In)m(v)-5 b(arian)m(t)33 b(Sections.)44
b(Y)-8 b(ou)32 b(ma)m(y)g(include)f(a)h(translation)g(of)g(this)f
(License,)i(and)d(all)j(the)330 2351 y(license)42 b(notices)g(in)f(the)
h(Do)s(cumen)m(t,)j(and)40 b(an)m(y)i(W)-8 b(arran)m(t)m(y)42
b(Disclaimers,)k(pro)m(vided)41 b(that)h(y)m(ou)330 2461
y(also)f(include)f(the)g(original)h(English)f(v)m(ersion)g(of)g(this)g
(License)h(and)e(the)h(original)h(v)m(ersions)g(of)330
2570 y(those)35 b(notices)g(and)e(disclaimers.)53 b(In)33
b(case)i(of)g(a)f(disagreemen)m(t)h(b)s(et)m(w)m(een)g(the)f
(translation)i(and)330 2680 y(the)f(original)i(v)m(ersion)e(of)h(this)f
(License)h(or)f(a)g(notice)i(or)e(disclaimer,)i(the)f(original)g(v)m
(ersion)g(will)330 2790 y(prev)-5 b(ail.)330 2919 y(If)28
b(a)h(section)h(in)e(the)h(Do)s(cumen)m(t)h(is)e(En)m(titled)i(\\Ac)m
(kno)m(wledgemen)m(ts",)i(\\Dedications",)g(or)d(\\His-)330
3029 y(tory",)f(the)f(requiremen)m(t)f(\(section)i(4\))f(to)g(Preserv)m
(e)g(its)f(Title)i(\(section)f(1\))g(will)g(t)m(ypically)h(require)330
3138 y(c)m(hanging)j(the)g(actual)h(title.)199 3268 y(9.)61
b(TERMINA)-8 b(TION)330 3397 y(Y)g(ou)30 b(ma)m(y)h(not)f(cop)m(y)-8
b(,)31 b(mo)s(dify)-8 b(,)30 b(sublicense,)g(or)g(distribute)f(the)h
(Do)s(cumen)m(t)g(except)h(as)f(expressly)330 3507 y(pro)m(vided)41
b(for)h(under)e(this)i(License.)75 b(An)m(y)42 b(other)g(attempt)h(to)g
(cop)m(y)-8 b(,)46 b(mo)s(dify)-8 b(,)44 b(sublicense)e(or)330
3616 y(distribute)36 b(the)h(Do)s(cumen)m(t)g(is)g(v)m(oid,)i(and)d
(will)h(automatically)i(terminate)f(y)m(our)e(righ)m(ts)h(under)330
3726 y(this)28 b(License.)40 b(Ho)m(w)m(ev)m(er,)31 b(parties)d(who)f
(ha)m(v)m(e)i(receiv)m(ed)g(copies,)h(or)d(righ)m(ts,)i(from)f(y)m(ou)g
(under)e(this)330 3836 y(License)37 b(will)g(not)g(ha)m(v)m(e)h(their)f
(licenses)g(terminated)h(so)f(long)g(as)g(suc)m(h)f(parties)h(remain)g
(in)f(full)330 3945 y(compliance.)154 4075 y(10.)61 b(FUTURE)30
b(REVISIONS)f(OF)i(THIS)e(LICENSE)330 4204 y(The)41 b(F)-8
b(ree)43 b(Soft)m(w)m(are)f(F)-8 b(oundation)43 b(ma)m(y)f(publish)e
(new,)k(revised)d(v)m(ersions)h(of)g(the)g(GNU)g(F)-8
b(ree)330 4314 y(Do)s(cumen)m(tation)34 b(License)e(from)g(time)h(to)g
(time.)46 b(Suc)m(h)31 b(new)h(v)m(ersions)g(will)h(b)s(e)e(similar)h
(in)g(spirit)330 4423 y(to)j(the)g(presen)m(t)f(v)m(ersion,)i(but)e(ma)
m(y)h(di\013er)f(in)g(detail)h(to)g(address)f(new)g(problems)f(or)i
(concerns.)330 4533 y(See)c Fp(http://www.gnu.org/copy)o(left)o(/)p
Fv(.)330 4663 y(Eac)m(h)f(v)m(ersion)g(of)g(the)f(License)h(is)g(giv)m
(en)g(a)g(distinguishing)f(v)m(ersion)h(n)m(um)m(b)s(er.)39
b(If)29 b(the)g(Do)s(cumen)m(t)330 4772 y(sp)s(eci\014es)45
b(that)h(a)g(particular)f(n)m(um)m(b)s(ered)f(v)m(ersion)i(of)f(this)g
(License)h(\\or)g(an)m(y)g(later)g(v)m(ersion")330 4882
y(applies)33 b(to)g(it,)h(y)m(ou)e(ha)m(v)m(e)i(the)f(option)g(of)f
(follo)m(wing)i(the)f(terms)f(and)g(conditions)h(either)g(of)f(that)330
4991 y(sp)s(eci\014ed)37 b(v)m(ersion)i(or)e(of)h(an)m(y)h(later)g(v)m
(ersion)f(that)g(has)g(b)s(een)f(published)f(\(not)j(as)f(a)g(draft\))g
(b)m(y)330 5101 y(the)33 b(F)-8 b(ree)34 b(Soft)m(w)m(are)f(F)-8
b(oundation.)49 b(If)32 b(the)h(Do)s(cumen)m(t)g(do)s(es)g(not)g(sp)s
(ecify)f(a)h(v)m(ersion)g(n)m(um)m(b)s(er)f(of)330 5210
y(this)i(License,)j(y)m(ou)d(ma)m(y)i(c)m(ho)s(ose)f(an)m(y)g(v)m
(ersion)g(ev)m(er)g(published)e(\(not)i(as)g(a)f(draft\))h(b)m(y)f(the)
h(F)-8 b(ree)330 5320 y(Soft)m(w)m(are)31 b(F)-8 b(oundation.)p
eop end
%%Page: 80 85
TeXDict begin 80 84 bop 150 -116 a Fv(App)s(endix)29
b(C:)h(Cop)m(ying)g(This)g(Man)m(ual)2108 b(80)150 299
y Ff(C.1.1)62 b(ADDENDUM:)41 b(Ho)m(w)f(to)h(use)h(this)f(License)g
(for)h(y)m(our)f(do)s(cumen)m(ts)150 446 y Fv(T)-8 b(o)35
b(use)f(this)h(License)g(in)f(a)h(do)s(cumen)m(t)g(y)m(ou)f(ha)m(v)m(e)
i(written,)g(include)f(a)f(cop)m(y)i(of)f(the)f(License)h(in)g(the)150
555 y(do)s(cumen)m(t)30 b(and)g(put)g(the)g(follo)m(wing)i(cop)m(yrigh)
m(t)g(and)e(license)h(notices)g(just)f(after)h(the)g(title)h(page:)468
667 y Fc(Copyright)42 b(\(C\))79 b Fb(year)88 b(your)40
b(name)p Fc(.)468 755 y(Permission)i(is)e(granted)g(to)g(copy,)h
(distribute)g(and/or)g(modify)f(this)g(document)468 842
y(under)h(the)f(terms)g(of)g(the)g(GNU)g(Free)g(Documentation)i
(License,)f(Version)g(1.2)468 929 y(or)f(any)g(later)g(version)h
(published)h(by)d(the)h(Free)g(Software)h(Foundation;)468
1016 y(with)g(no)e(Invariant)j(Sections,)f(no)f(Front-Cover)h(Texts,)g
(and)f(no)f(Back-Cover)468 1103 y(Texts.)80 b(A)40 b(copy)g(of)g(the)f
(license)i(is)f(included)h(in)f(the)g(section)g(entitled)h(``GNU)468
1191 y(Free)g(Documentation)h(License''.)275 1325 y Fv(If)d(y)m(ou)h
(ha)m(v)m(e)h(In)m(v)-5 b(arian)m(t)41 b(Sections,)i(F)-8
b(ron)m(t-Co)m(v)m(er)42 b(T)-8 b(exts)41 b(and)e(Bac)m(k-Co)m(v)m(er)k
(T)-8 b(exts,)43 b(replace)e(the)150 1435 y(\\with...T)-8
b(exts.")43 b(line)30 b(with)h(this:)547 1547 y Fc(with)40
b(the)g(Invariant)h(Sections)g(being)g Fb(list)f(their)g(titles)p
Fc(,)h(with)547 1634 y(the)f(Front-Cover)i(Texts)e(being)g
Fb(list)p Fc(,)h(and)f(with)g(the)g(Back-Cover)h(Texts)547
1721 y(being)f Fb(list)p Fc(.)275 1856 y Fv(If)34 b(y)m(ou)i(ha)m(v)m
(e)g(In)m(v)-5 b(arian)m(t)36 b(Sections)g(without)f(Co)m(v)m(er)h(T)-8
b(exts,)38 b(or)d(some)g(other)h(com)m(bination)g(of)g(the)150
1965 y(three,)31 b(merge)g(those)g(t)m(w)m(o)g(alternativ)m(es)i(to)e
(suit)f(the)h(situation.)275 2100 y(If)23 b(y)m(our)h(do)s(cumen)m(t)f
(con)m(tains)i(non)m(trivial)g(examples)g(of)f(program)f(co)s(de,)j(w)m
(e)e(recommend)g(releasing)150 2209 y(these)44 b(examples)f(in)g
(parallel)h(under)e(y)m(our)h(c)m(hoice)i(of)e(free)g(soft)m(w)m(are)h
(license,)k(suc)m(h)43 b(as)g(the)g(GNU)150 2319 y(General)31
b(Public)f(License,)i(to)f(p)s(ermit)e(their)i(use)f(in)g(free)g(soft)m
(w)m(are.)p eop end
%%Trailer

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