%!PS-Adobe-2.0
%%Creator: dvips(k) 5.92b Copyright 2002 Radical Eye Software
%%Title: ssdxml.dvi
%%Pages: 32 0
%%PageOrder: Ascend
%%BoundingBox: 0 0 596 842
%%DocumentFonts: Helvetica-Bold Helvetica CMSY10 Helvetica-Oblique CMR7
%%+ CMTT10 CMMI10 CMR10 CMSY7 CMMI7 CMMI5 CMTT9 LASY7 CMSY9 CMITT10
%%EndComments
%%BeginProcSet: PStoPS 1 15
userdict begin
[/showpage/erasepage/copypage]{dup where{pop dup load
type/operatortype eq{1 array cvx dup 0 3 index cvx put
bind def}{pop}ifelse}{pop}ifelse}forall
[/letter/legal/executivepage/a4/a4small/b5/com10envelope
/monarchenvelope/c5envelope/dlenvelope/lettersmall/note
/folio/quarto/a5]{dup where{dup wcheck{exch{}put}
{pop{}def}ifelse}{pop}ifelse}forall
/setpagedevice {pop}bind 1 index where{dup wcheck{3 1 roll put}
{pop def}ifelse}{def}ifelse
/PStoPSmatrix matrix currentmatrix def
/PStoPSxform matrix def/PStoPSclip{clippath}def
/defaultmatrix{PStoPSmatrix exch PStoPSxform exch concatmatrix}bind def
/initmatrix{matrix defaultmatrix setmatrix}bind def
/initclip[{matrix currentmatrix PStoPSmatrix setmatrix
[{currentpoint}stopped{$error/newerror false put{newpath}}
{/newpath cvx 3 1 roll/moveto cvx 4 array astore cvx}ifelse]
{[/newpath cvx{/moveto cvx}{/lineto cvx}
{/curveto cvx}{/closepath cvx}pathforall]cvx exch pop}
stopped{$error/errorname get/invalidaccess eq{cleartomark
$error/newerror false put cvx exec}{stop}ifelse}if}bind aload pop
/initclip dup load dup type dup/operatortype eq{pop exch pop}
{dup/arraytype eq exch/packedarraytype eq or
{dup xcheck{exch pop aload pop}{pop cvx}ifelse}
{pop cvx}ifelse}ifelse
{newpath PStoPSclip clip newpath exec setmatrix} bind aload pop]cvx def
/initgraphics{initmatrix newpath initclip 1 setlinewidth
0 setlinecap 0 setlinejoin []0 setdash 0 setgray
10 setmiterlimit}bind def
end
%%EndProcSet
%DVIPSWebPage: (www.radicaleye.com)
%DVIPSCommandLine: dvips -p216 -l278 ssdxml
%DVIPSParameters: dpi=600, compressed
%DVIPSSource: TeX output 2005.10.04:1550
%%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: pstricks.pro
%!
% PostScript prologue for pstricks.tex.
% Version 97 patch 3, 98/06/01
% For distribution, see pstricks.tex.
%
/tx@Dict 200 dict def tx@Dict begin
/ADict 25 dict def
/CM { matrix currentmatrix } bind def
/SLW /setlinewidth load def
/CLW /currentlinewidth load def
/CP /currentpoint load def
/ED { exch def } bind def
/L /lineto load def
/T /translate load def
/TMatrix { } def
/RAngle { 0 } def
/Atan { /atan load stopped { pop pop 0 } if } def
/Div { dup 0 eq { pop } { div } ifelse } def
/NET { neg exch neg exch T } def
/Pyth { dup mul exch dup mul add sqrt } def
/PtoC { 2 copy cos mul 3 1 roll sin mul } def
/PathLength@ { /z z y y1 sub x x1 sub Pyth add def /y1 y def /x1 x def }
def
/PathLength { flattenpath /z 0 def { /y1 ED /x1 ED /y2 y1 def /x2 x1 def
} { /y ED /x ED PathLength@ } {} { /y y2 def /x x2 def PathLength@ }
/pathforall load stopped { pop pop pop pop } if z } def
/STP { .996264 dup scale } def
/STV { SDict begin normalscale end STP } def
/DashLine { dup 0 gt { /a .5 def PathLength exch div } { pop /a 1 def
PathLength } ifelse /b ED /x ED /y ED /z y x add def b a .5 sub 2 mul y
mul sub z Div round z mul a .5 sub 2 mul y mul add b exch Div dup y mul
/y ED x mul /x ED x 0 gt y 0 gt and { [ y x ] 1 a sub y mul } { [ 1 0 ]
0 } ifelse setdash stroke } def
/DotLine { /b PathLength def /a ED /z ED /y CLW def /z y z add def a 0 gt
{ /b b a div def } { a 0 eq { /b b y sub def } { a -3 eq { /b b y add
def } if } ifelse } ifelse [ 0 b b z Div round Div dup 0 le { pop 1 } if
] a 0 gt { 0 } { y 2 div a -2 gt { neg } if } ifelse setdash 1
setlinecap stroke } def
/LineFill { gsave abs CLW add /a ED a 0 dtransform round exch round exch
2 copy idtransform exch Atan rotate idtransform pop /a ED .25 .25
% DG/SR modification begin - Dec. 12, 1997 - Patch 2
%itransform translate pathbbox /y2 ED a Div ceiling cvi /x2 ED /y1 ED a
itransform pathbbox /y2 ED a Div ceiling cvi /x2 ED /y1 ED a
% DG/SR modification end
Div cvi /x1 ED /y2 y2 y1 sub def clip newpath 2 setlinecap systemdict
/setstrokeadjust known { true setstrokeadjust } if x2 x1 sub 1 add { x1
% DG/SR modification begin - Jun. 1, 1998 - Patch 3 (from Michael Vulis)
% a mul y1 moveto 0 y2 rlineto stroke /x1 x1 1 add def } repeat grestore }
% def
a mul y1 moveto 0 y2 rlineto stroke /x1 x1 1 add def } repeat grestore
pop pop } def
% DG/SR modification end
/BeginArrow { ADict begin /@mtrx CM def gsave 2 copy T 2 index sub neg
exch 3 index sub exch Atan rotate newpath } def
/EndArrow { @mtrx setmatrix CP grestore end } def
/Arrow { CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 h T 1 -1
scale } if w neg h moveto 0 0 L w h L w neg a neg rlineto gsave fill
grestore } def
/Tbar { CLW mul add /z ED z -2 div CLW 2 div moveto z 0 rlineto stroke 0
CLW moveto } def
/Bracket { CLW mul add dup CLW sub 2 div /x ED mul CLW add /y ED /z CLW 2
div def x neg y moveto x neg CLW 2 div L x CLW 2 div L x y L stroke 0
CLW moveto } def
/RoundBracket { CLW mul add dup 2 div /x ED mul /y ED /mtrx CM def 0 CLW
2 div T x y mul 0 ne { x y scale } if 1 1 moveto .85 .5 .35 0 0 0
curveto -.35 0 -.85 .5 -1 1 curveto mtrx setmatrix stroke 0 CLW moveto }
def
/SD { 0 360 arc fill } def
/EndDot { { /z DS def } { /z 0 def } ifelse /b ED 0 z DS SD b { 0 z DS
CLW sub SD } if 0 DS z add CLW 4 div sub moveto } def
/Shadow { [ { /moveto load } { /lineto load } { /curveto load } {
/closepath load } /pathforall load stopped { pop pop pop pop CP /moveto
load } if ] cvx newpath 3 1 roll T exec } def
/NArray { aload length 2 div dup dup cvi eq not { exch pop } if /n exch
cvi def } def
/NArray { /f ED counttomark 2 div dup cvi /n ED n eq not { exch pop } if
f { ] aload /Points ED } { n 2 mul 1 add -1 roll pop } ifelse } def
/Line { NArray n 0 eq not { n 1 eq { 0 0 /n 2 def } if ArrowA /n n 2 sub
def n { Lineto } repeat CP 4 2 roll ArrowB L pop pop } if } def
/Arcto { /a [ 6 -2 roll ] cvx def a r /arcto load stopped { 5 } { 4 }
ifelse { pop } repeat a } def
/CheckClosed { dup n 2 mul 1 sub index eq 2 index n 2 mul 1 add index eq
and { pop pop /n n 1 sub def } if } def
/Polygon { NArray n 2 eq { 0 0 /n 3 def } if n 3 lt { n { pop pop }
repeat } { n 3 gt { CheckClosed } if n 2 mul -2 roll /y0 ED /x0 ED /y1
ED /x1 ED x1 y1 /x1 x0 x1 add 2 div def /y1 y0 y1 add 2 div def x1 y1
moveto /n n 2 sub def n { Lineto } repeat x1 y1 x0 y0 6 4 roll Lineto
Lineto pop pop closepath } ifelse } def
/Diamond { /mtrx CM def T rotate /h ED /w ED dup 0 eq { pop } { CLW mul
neg /d ED /a w h Atan def /h d a sin Div h add def /w d a cos Div w add
def } ifelse mark w 2 div h 2 div w 0 0 h neg w neg 0 0 h w 2 div h 2
div /ArrowA { moveto } def /ArrowB { } def false Line closepath mtrx
setmatrix } def
% DG modification begin - Jan. 15, 1997
%/Triangle { /mtrx CM def translate rotate /h ED 2 div /w ED dup 0 eq {
%pop } { CLW mul /d ED /h h d w h Atan sin Div sub def /w w d h w Atan 2
%div dup cos exch sin Div mul sub def } ifelse mark 0 d w neg d 0 h w d 0
%d /ArrowA { moveto } def /ArrowB { } def false Line closepath mtrx
%setmatrix } def
/Triangle { /mtrx CM def translate rotate /h ED 2 div /w ED dup
CLW mul /d ED /h h d w h Atan sin Div sub def /w w d h w Atan 2
div dup cos exch sin Div mul sub def mark 0 d w neg d 0 h w d 0
d /ArrowA { moveto } def /ArrowB { } def false Line closepath mtrx
% DG/SR modification begin - Jun. 1, 1998 - Patch 3 (from Michael Vulis)
% setmatrix } def
setmatrix pop } def
% DG/SR modification end
/CCA { /y ED /x ED 2 copy y sub /dy1 ED x sub /dx1 ED /l1 dx1 dy1 Pyth
def } def
/CCA { /y ED /x ED 2 copy y sub /dy1 ED x sub /dx1 ED /l1 dx1 dy1 Pyth
def } def
/CC { /l0 l1 def /x1 x dx sub def /y1 y dy sub def /dx0 dx1 def /dy0 dy1
def CCA /dx dx0 l1 c exp mul dx1 l0 c exp mul add def /dy dy0 l1 c exp
mul dy1 l0 c exp mul add def /m dx0 dy0 Atan dx1 dy1 Atan sub 2 div cos
abs b exp a mul dx dy Pyth Div 2 div def /x2 x l0 dx mul m mul sub def
/y2 y l0 dy mul m mul sub def /dx l1 dx mul m mul neg def /dy l1 dy mul
m mul neg def } def
/IC { /c c 1 add def c 0 lt { /c 0 def } { c 3 gt { /c 3 def } if }
ifelse /a a 2 mul 3 div 45 cos b exp div def CCA /dx 0 def /dy 0 def }
def
/BOC { IC CC x2 y2 x1 y1 ArrowA CP 4 2 roll x y curveto } def
/NC { CC x1 y1 x2 y2 x y curveto } def
/EOC { x dx sub y dy sub 4 2 roll ArrowB 2 copy curveto } def
/BAC { IC CC x y moveto CC x1 y1 CP ArrowA } def
/NAC { x2 y2 x y curveto CC x1 y1 } def
/EAC { x2 y2 x y ArrowB curveto pop pop } def
/OpenCurve { NArray n 3 lt { n { pop pop } repeat } { BOC /n n 3 sub def
n { NC } repeat EOC } ifelse } def
/AltCurve { { false NArray n 2 mul 2 roll [ n 2 mul 3 sub 1 roll ] aload
/Points ED n 2 mul -2 roll } { false NArray } ifelse n 4 lt { n { pop
pop } repeat } { BAC /n n 4 sub def n { NAC } repeat EAC } ifelse } def
/ClosedCurve { NArray n 3 lt { n { pop pop } repeat } { n 3 gt {
CheckClosed } if 6 copy n 2 mul 6 add 6 roll IC CC x y moveto n { NC }
repeat closepath pop pop } ifelse } def
/SQ { /r ED r r moveto r r neg L r neg r neg L r neg r L fill } def
/ST { /y ED /x ED x y moveto x neg y L 0 x L fill } def
/SP { /r ED gsave 0 r moveto 4 { 72 rotate 0 r L } repeat fill grestore }
def
/FontDot { DS 2 mul dup matrix scale matrix concatmatrix exch matrix
rotate matrix concatmatrix exch findfont exch makefont setfont } def
/Rect { x1 y1 y2 add 2 div moveto x1 y2 lineto x2 y2 lineto x2 y1 lineto
x1 y1 lineto closepath } def
/OvalFrame { x1 x2 eq y1 y2 eq or { pop pop x1 y1 moveto x2 y2 L } { y1
y2 sub abs x1 x2 sub abs 2 copy gt { exch pop } { pop } ifelse 2 div
exch { dup 3 1 roll mul exch } if 2 copy lt { pop } { exch pop } ifelse
/b ED x1 y1 y2 add 2 div moveto x1 y2 x2 y2 b arcto x2 y2 x2 y1 b arcto
x2 y1 x1 y1 b arcto x1 y1 x1 y2 b arcto 16 { pop } repeat closepath }
ifelse } def
/Frame { CLW mul /a ED 3 -1 roll 2 copy gt { exch } if a sub /y2 ED a add
/y1 ED 2 copy gt { exch } if a sub /x2 ED a add /x1 ED 1 index 0 eq {
pop pop Rect } { OvalFrame } ifelse } def
/BezierNArray { /f ED counttomark 2 div dup cvi /n ED n eq not { exch pop
} if n 1 sub neg 3 mod 3 add 3 mod { 0 0 /n n 1 add def } repeat f { ]
aload /Points ED } { n 2 mul 1 add -1 roll pop } ifelse } def
/OpenBezier { BezierNArray n 1 eq { pop pop } { ArrowA n 4 sub 3 idiv { 6
2 roll 4 2 roll curveto } repeat 6 2 roll 4 2 roll ArrowB curveto }
ifelse } def
/ClosedBezier { BezierNArray n 1 eq { pop pop } { moveto n 1 sub 3 idiv {
6 2 roll 4 2 roll curveto } repeat closepath } ifelse } def
/BezierShowPoints { gsave Points aload length 2 div cvi /n ED moveto n 1
sub { lineto } repeat CLW 2 div SLW [ 4 4 ] 0 setdash stroke grestore }
def
/Parab { /y0 exch def /x0 exch def /y1 exch def /x1 exch def /dx x0 x1
sub 3 div def /dy y0 y1 sub 3 div def x0 dx sub y0 dy add x1 y1 ArrowA
x0 dx add y0 dy add x0 2 mul x1 sub y1 ArrowB curveto /Points [ x1 y1 x0
y0 x0 2 mul x1 sub y1 ] def } def
/Grid { newpath /a 4 string def /b ED /c ED /n ED cvi dup 1 lt { pop 1 }
if /s ED s div dup 0 eq { pop 1 } if /dy ED s div dup 0 eq { pop 1 } if
/dx ED dy div round dy mul /y0 ED dx div round dx mul /x0 ED dy div
round cvi /y2 ED dx div round cvi /x2 ED dy div round cvi /y1 ED dx div
round cvi /x1 ED /h y2 y1 sub 0 gt { 1 } { -1 } ifelse def /w x2 x1 sub
0 gt { 1 } { -1 } ifelse def b 0 gt { /z1 b 4 div CLW 2 div add def
/Helvetica findfont b scalefont setfont /b b .95 mul CLW 2 div add def }
if systemdict /setstrokeadjust known { true setstrokeadjust /t { } def }
{ /t { transform 0.25 sub round 0.25 add exch 0.25 sub round 0.25 add
exch itransform } bind def } ifelse gsave n 0 gt { 1 setlinecap [ 0 dy n
div ] dy n div 2 div setdash } { 2 setlinecap } ifelse /i x1 def /f y1
dy mul n 0 gt { dy n div 2 div h mul sub } if def /g y2 dy mul n 0 gt {
dy n div 2 div h mul add } if def x2 x1 sub w mul 1 add dup 1000 gt {
pop 1000 } if { i dx mul dup y0 moveto b 0 gt { gsave c i a cvs dup
stringwidth pop /z2 ED w 0 gt {z1} {z1 z2 add neg} ifelse h 0 gt {b neg}
{z1} ifelse rmoveto show grestore } if dup t f moveto g t L stroke /i i
w add def } repeat grestore gsave n 0 gt
% DG/SR modification begin - Nov. 7, 1997 - Patch 1
%{ 1 setlinecap [ 0 dx n div ] dy n div 2 div setdash }
{ 1 setlinecap [ 0 dx n div ] dx n div 2 div setdash }
% DG/SR modification end
{ 2 setlinecap } ifelse /i y1 def /f x1 dx mul
n 0 gt { dx n div 2 div w mul sub } if def /g x2 dx mul n 0 gt { dx n
div 2 div w mul add } if def y2 y1 sub h mul 1 add dup 1000 gt { pop
1000 } if { newpath i dy mul dup x0 exch moveto b 0 gt { gsave c i a cvs
dup stringwidth pop /z2 ED w 0 gt {z1 z2 add neg} {z1} ifelse h 0 gt
{z1} {b neg} ifelse rmoveto show grestore } if dup f exch t moveto g
exch t L stroke /i i h add def } repeat grestore } def
/ArcArrow { /d ED /b ED /a ED gsave newpath 0 -1000 moveto clip newpath 0
1 0 0 b grestore c mul /e ED pop pop pop r a e d PtoC y add exch x add
exch r a PtoC y add exch x add exch b pop pop pop pop a e d CLW 8 div c
mul neg d } def
/Ellipse { /mtrx CM def T scale 0 0 1 5 3 roll arc mtrx setmatrix } def
/Rot { CP CP translate 3 -1 roll neg rotate NET } def
/RotBegin { tx@Dict /TMatrix known not { /TMatrix { } def /RAngle { 0 }
def } if /TMatrix [ TMatrix CM ] cvx def /a ED a Rot /RAngle [ RAngle
dup a add ] cvx def } def
/RotEnd { /TMatrix [ TMatrix setmatrix ] cvx def /RAngle [ RAngle pop ]
cvx def } def
/PutCoor { gsave CP T CM STV exch exec moveto setmatrix CP grestore } def
/PutBegin { /TMatrix [ TMatrix CM ] cvx def CP 4 2 roll T moveto } def
/PutEnd { CP /TMatrix [ TMatrix setmatrix ] cvx def moveto } def
/Uput { /a ED add 2 div /h ED 2 div /w ED /s a sin def /c a cos def /b s
abs c abs 2 copy gt dup /q ED { pop } { exch pop } ifelse def /w1 c b
div w mul def /h1 s b div h mul def q { w1 abs w sub dup c mul abs } {
h1 abs h sub dup s mul abs } ifelse } def
/UUput { /z ED abs /y ED /x ED q { x s div c mul abs y gt } { x c div s
mul abs y gt } ifelse { x x mul y y mul sub z z mul add sqrt z add } { q
{ x s div } { x c div } ifelse abs } ifelse a PtoC h1 add exch w1 add
exch } def
/BeginOL { dup (all) eq exch TheOL eq or { IfVisible not { Visible
/IfVisible true def } if } { IfVisible { Invisible /IfVisible false def
} if } ifelse } def
/InitOL { /OLUnit [ 3000 3000 matrix defaultmatrix dtransform ] cvx def
/Visible { CP OLUnit idtransform T moveto } def /Invisible { CP OLUnit
neg exch neg exch idtransform T moveto } def /BOL { BeginOL } def
/IfVisible true def } def
end
% END pstricks.pro
%%EndProcSet
%%BeginProcSet: pst-dots.pro
%!PS-Adobe-2.0
%%Title: Dot Font for PSTricks
%%Creator: Timothy Van Zandt
%%Creation Date: May 7, 1993
%% Version 97 patch 1, 99/12/16
%% Modified by Etienne Riga - Dec. 16, 1999
%% to add /Diamond, /SolidDiamond and /BoldDiamond
10 dict dup begin
/FontType 3 def
/FontMatrix [ .001 0 0 .001 0 0 ] def
/FontBBox [ 0 0 0 0 ] def
/Encoding 256 array def
0 1 255 { Encoding exch /.notdef put } for
Encoding
dup (b) 0 get /Bullet put
dup (c) 0 get /Circle put
dup (C) 0 get /BoldCircle put
dup (u) 0 get /SolidTriangle put
dup (t) 0 get /Triangle put
dup (T) 0 get /BoldTriangle put
dup (r) 0 get /SolidSquare put
dup (s) 0 get /Square put
dup (S) 0 get /BoldSquare put
dup (q) 0 get /SolidPentagon put
dup (p) 0 get /Pentagon put
dup (P) 0 get /BoldPentagon put
% DG/SR modification begin - Dec. 16, 1999 - From Etienne Riga
dup (l) 0 get /SolidDiamond put
dup (d) 0 get /Diamond put
(D) 0 get /BoldDiamond put
% DG/SR modification end
/Metrics 13 dict def
Metrics begin
/Bullet 1000 def
/Circle 1000 def
/BoldCircle 1000 def
/SolidTriangle 1344 def
/Triangle 1344 def
/BoldTriangle 1344 def
/SolidSquare 886 def
/Square 886 def
/BoldSquare 886 def
/SolidPentagon 1093.2 def
/Pentagon 1093.2 def
/BoldPentagon 1093.2 def
% DG/SR modification begin - Dec. 16, 1999 - From Etienne Riga
/SolidDiamond 1008 def
/Diamond 1008 def
/BoldDiamond 1008 def
% DG/SR modification end
/.notdef 0 def
end
/BBoxes 13 dict def
BBoxes begin
/Circle { -550 -550 550 550 } def
/BoldCircle /Circle load def
/Bullet /Circle load def
/Triangle { -571.5 -330 571.5 660 } def
/BoldTriangle /Triangle load def
/SolidTriangle /Triangle load def
/Square { -450 -450 450 450 } def
/BoldSquare /Square load def
/SolidSquare /Square load def
/Pentagon { -546.6 -465 546.6 574.7 } def
/BoldPentagon /Pentagon load def
/SolidPentagon /Pentagon load def
% DG/SR modification begin - Dec. 16, 1999 - From Etienne Riga
/Diamond { -428.5 -742.5 428.5 742.5 } def
/BoldDiamond /Diamond load def
/SolidDiamond /Diamond load def
% DG/SR modification end
/.notdef { 0 0 0 0 } def
end
/CharProcs 20 dict def
CharProcs begin
/Adjust {
2 copy dtransform floor .5 add exch floor .5 add exch idtransform
3 -1 roll div 3 1 roll exch div exch scale
} def
/CirclePath { 0 0 500 0 360 arc closepath } def
/Bullet { 500 500 Adjust CirclePath fill } def
/Circle { 500 500 Adjust CirclePath .9 .9 scale CirclePath
eofill } def
/BoldCircle { 500 500 Adjust CirclePath .8 .8 scale CirclePath
eofill } def
/BoldCircle { CirclePath .8 .8 scale CirclePath eofill } def
/TrianglePath { 0 660 moveto -571.5 -330 lineto 571.5 -330 lineto
closepath } def
/SolidTriangle { TrianglePath fill } def
/Triangle { TrianglePath .85 .85 scale TrianglePath eofill } def
/BoldTriangle { TrianglePath .7 .7 scale TrianglePath eofill } def
/SquarePath { -450 450 moveto 450 450 lineto 450 -450 lineto
-450 -450 lineto closepath } def
/SolidSquare { SquarePath fill } def
/Square { SquarePath .89 .89 scale SquarePath eofill } def
/BoldSquare { SquarePath .78 .78 scale SquarePath eofill } def
/PentagonPath {
-337.8 -465 moveto
337.8 -465 lineto
546.6 177.6 lineto
0 574.7 lineto
-546.6 177.6 lineto
closepath
} def
/SolidPentagon { PentagonPath fill } def
/Pentagon { PentagonPath .89 .89 scale PentagonPath eofill } def
/BoldPentagon { PentagonPath .78 .78 scale PentagonPath eofill } def
% DG/SR modification begin - Dec. 16, 1999 - From Etienne Riga
/DiamondPath { 0 742.5 moveto -428.5 0 lineto 0 -742.5 lineto
428.5 0 lineto closepath } def
/SolidDiamond { DiamondPath fill } def
/Diamond { DiamondPath .85 .85 scale DiamondPath eofill } def
/BoldDiamond { DiamondPath .7 .7 scale DiamondPath eofill } def
% DG/SR modification end
/.notdef { } def
end
/BuildGlyph {
exch
begin
Metrics 1 index get exec 0
BBoxes 3 index get exec
setcachedevice
CharProcs begin load exec end
end
} def
/BuildChar {
1 index /Encoding get exch get
1 index /BuildGlyph get exec
} bind def
end
/PSTricksDotFont exch definefont pop
%END pst-dots.pro
%%EndProcSet
%%BeginProcSet: pst-node.pro
%!
% PostScript prologue for pst-node.tex.
% Version 97 patch 1, 97/05/09.
% For distribution, see pstricks.tex.
%
/tx@NodeDict 400 dict def tx@NodeDict begin
tx@Dict begin /T /translate load def end
/NewNode { gsave /next ED dict dup 3 1 roll def exch { dup 3 1 roll def }
if begin tx@Dict begin STV CP T exec end /NodeMtrx CM def next end
grestore } def
/InitPnode { /Y ED /X ED /NodePos { NodeSep Cos mul NodeSep Sin mul } def
} def
/InitCnode { /r ED /Y ED /X ED /NodePos { NodeSep r add dup Cos mul exch
Sin mul } def } def
/GetRnodePos { Cos 0 gt { /dx r NodeSep add def } { /dx l NodeSep sub def
} ifelse Sin 0 gt { /dy u NodeSep add def } { /dy d NodeSep sub def }
ifelse dx Sin mul abs dy Cos mul abs gt { dy Cos mul Sin div dy } { dx
dup Sin mul Cos Div } ifelse } def
/InitRnode { /Y ED /X ED X sub /r ED /l X neg def Y add neg /d ED Y sub
/u ED /NodePos { GetRnodePos } def } def
/DiaNodePos { w h mul w Sin mul abs h Cos mul abs add Div NodeSep add dup
Cos mul exch Sin mul } def
/TriNodePos { Sin s lt { d NodeSep sub dup Cos mul Sin Div exch } { w h
mul w Sin mul h Cos abs mul add Div NodeSep add dup Cos mul exch Sin mul
} ifelse } def
/InitTriNode { sub 2 div exch 2 div exch 2 copy T 2 copy 4 index index /d
ED pop pop pop pop -90 mul rotate /NodeMtrx CM def /X 0 def /Y 0 def d
sub abs neg /d ED d add /h ED 2 div h mul h d sub Div /w ED /s d w Atan
sin def /NodePos { TriNodePos } def } def
/OvalNodePos { /ww w NodeSep add def /hh h NodeSep add def Sin ww mul Cos
hh mul Atan dup cos ww mul exch sin hh mul } def
/GetCenter { begin X Y NodeMtrx transform CM itransform end } def
/XYPos { dup sin exch cos Do /Cos ED /Sin ED /Dist ED Cos 0 gt { Dist
Dist Sin mul Cos div } { Cos 0 lt { Dist neg Dist Sin mul Cos div neg }
{ 0 Dist Sin mul } ifelse } ifelse Do } def
/GetEdge { dup 0 eq { pop begin 1 0 NodeMtrx dtransform CM idtransform
exch atan sub dup sin /Sin ED cos /Cos ED /NodeSep ED NodePos NodeMtrx
dtransform CM idtransform end } { 1 eq {{exch}} {{}} ifelse /Do ED pop
XYPos } ifelse } def
/AddOffset { 1 index 0 eq { pop pop } { 2 copy 5 2 roll cos mul add 4 1
roll sin mul sub exch } ifelse } def
/GetEdgeA { NodeSepA AngleA NodeA NodeSepTypeA GetEdge OffsetA AngleA
AddOffset yA add /yA1 ED xA add /xA1 ED } def
/GetEdgeB { NodeSepB AngleB NodeB NodeSepTypeB GetEdge OffsetB AngleB
AddOffset yB add /yB1 ED xB add /xB1 ED } def
/GetArmA { ArmTypeA 0 eq { /xA2 ArmA AngleA cos mul xA1 add def /yA2 ArmA
AngleA sin mul yA1 add def } { ArmTypeA 1 eq {{exch}} {{}} ifelse /Do ED
ArmA AngleA XYPos OffsetA AngleA AddOffset yA add /yA2 ED xA add /xA2 ED
} ifelse } def
/GetArmB { ArmTypeB 0 eq { /xB2 ArmB AngleB cos mul xB1 add def /yB2 ArmB
AngleB sin mul yB1 add def } { ArmTypeB 1 eq {{exch}} {{}} ifelse /Do ED
ArmB AngleB XYPos OffsetB AngleB AddOffset yB add /yB2 ED xB add /xB2 ED
} ifelse } def
/InitNC { /b ED /a ED /NodeSepTypeB ED /NodeSepTypeA ED /NodeSepB ED
/NodeSepA ED /OffsetB ED /OffsetA ED tx@NodeDict a known tx@NodeDict b
known and dup { /NodeA a load def /NodeB b load def NodeA GetCenter /yA
ED /xA ED NodeB GetCenter /yB ED /xB ED } if } def
/LPutLine { 4 copy 3 -1 roll sub neg 3 1 roll sub Atan /NAngle ED 1 t sub
mul 3 1 roll 1 t sub mul 4 1 roll t mul add /Y ED t mul add /X ED } def
/LPutLines { mark LPutVar counttomark 2 div 1 sub /n ED t floor dup n gt
{ pop n 1 sub /t 1 def } { dup t sub neg /t ED } ifelse cvi 2 mul { pop
} repeat LPutLine cleartomark } def
/BezierMidpoint { /y3 ED /x3 ED /y2 ED /x2 ED /y1 ED /x1 ED /y0 ED /x0 ED
/t ED /cx x1 x0 sub 3 mul def /cy y1 y0 sub 3 mul def /bx x2 x1 sub 3
mul cx sub def /by y2 y1 sub 3 mul cy sub def /ax x3 x0 sub cx sub bx
sub def /ay y3 y0 sub cy sub by sub def ax t 3 exp mul bx t t mul mul
add cx t mul add x0 add ay t 3 exp mul by t t mul mul add cy t mul add
y0 add 3 ay t t mul mul mul 2 by t mul mul add cy add 3 ax t t mul mul
mul 2 bx t mul mul add cx add atan /NAngle ED /Y ED /X ED } def
/HPosBegin { yB yA ge { /t 1 t sub def } if /Y yB yA sub t mul yA add def
} def
/HPosEnd { /X Y yyA sub yyB yyA sub Div xxB xxA sub mul xxA add def
/NAngle yyB yyA sub xxB xxA sub Atan def } def
/HPutLine { HPosBegin /yyA ED /xxA ED /yyB ED /xxB ED HPosEnd } def
/HPutLines { HPosBegin yB yA ge { /check { le } def } { /check { ge } def
} ifelse /xxA xA def /yyA yA def mark xB yB LPutVar { dup Y check { exit
} { /yyA ED /xxA ED } ifelse } loop /yyB ED /xxB ED cleartomark HPosEnd
} def
/VPosBegin { xB xA lt { /t 1 t sub def } if /X xB xA sub t mul xA add def
} def
/VPosEnd { /Y X xxA sub xxB xxA sub Div yyB yyA sub mul yyA add def
/NAngle yyB yyA sub xxB xxA sub Atan def } def
/VPutLine { VPosBegin /yyA ED /xxA ED /yyB ED /xxB ED VPosEnd } def
/VPutLines { VPosBegin xB xA ge { /check { le } def } { /check { ge } def
} ifelse /xxA xA def /yyA yA def mark xB yB LPutVar { 1 index X check {
exit } { /yyA ED /xxA ED } ifelse } loop /yyB ED /xxB ED cleartomark
VPosEnd } def
/HPutCurve { gsave newpath /SaveLPutVar /LPutVar load def LPutVar 8 -2
roll moveto curveto flattenpath /LPutVar [ {} {} {} {} pathforall ] cvx
def grestore exec /LPutVar /SaveLPutVar load def } def
/NCCoor { /AngleA yB yA sub xB xA sub Atan def /AngleB AngleA 180 add def
GetEdgeA GetEdgeB /LPutVar [ xB1 yB1 xA1 yA1 ] cvx def /LPutPos {
LPutVar LPutLine } def /HPutPos { LPutVar HPutLine } def /VPutPos {
LPutVar VPutLine } def LPutVar } def
/NCLine { NCCoor tx@Dict begin ArrowA CP 4 2 roll ArrowB lineto pop pop
end } def
/NCLines { false NArray n 0 eq { NCLine } { 2 copy yA sub exch xA sub
Atan /AngleA ED n 2 mul dup index exch index yB sub exch xB sub Atan
/AngleB ED GetEdgeA GetEdgeB /LPutVar [ xB1 yB1 n 2 mul 4 add 4 roll xA1
yA1 ] cvx def mark LPutVar tx@Dict begin false Line end /LPutPos {
LPutLines } def /HPutPos { HPutLines } def /VPutPos { VPutLines } def }
ifelse } def
/NCCurve { GetEdgeA GetEdgeB xA1 xB1 sub yA1 yB1 sub Pyth 2 div dup 3 -1
roll mul /ArmA ED mul /ArmB ED /ArmTypeA 0 def /ArmTypeB 0 def GetArmA
GetArmB xA2 yA2 xA1 yA1 tx@Dict begin ArrowA end xB2 yB2 xB1 yB1 tx@Dict
begin ArrowB end curveto /LPutVar [ xA1 yA1 xA2 yA2 xB2 yB2 xB1 yB1 ]
cvx def /LPutPos { t LPutVar BezierMidpoint } def /HPutPos { { HPutLines
} HPutCurve } def /VPutPos { { VPutLines } HPutCurve } def } def
/NCAngles { GetEdgeA GetEdgeB GetArmA GetArmB /mtrx AngleA matrix rotate
def xA2 yA2 mtrx transform pop xB2 yB2 mtrx transform exch pop mtrx
itransform /y0 ED /x0 ED mark ArmB 0 ne { xB1 yB1 } if xB2 yB2 x0 y0 xA2
yA2 ArmA 0 ne { xA1 yA1 } if tx@Dict begin false Line end /LPutVar [ xB1
yB1 xB2 yB2 x0 y0 xA2 yA2 xA1 yA1 ] cvx def /LPutPos { LPutLines } def
/HPutPos { HPutLines } def /VPutPos { VPutLines } def } def
/NCAngle { GetEdgeA GetEdgeB GetArmB /mtrx AngleA matrix rotate def xB2
yB2 mtrx itransform pop xA1 yA1 mtrx itransform exch pop mtrx transform
/y0 ED /x0 ED mark ArmB 0 ne { xB1 yB1 } if xB2 yB2 x0 y0 xA1 yA1
tx@Dict begin false Line end /LPutVar [ xB1 yB1 xB2 yB2 x0 y0 xA1 yA1 ]
cvx def /LPutPos { LPutLines } def /HPutPos { HPutLines } def /VPutPos {
VPutLines } def } def
/NCBar { GetEdgeA GetEdgeB GetArmA GetArmB /mtrx AngleA matrix rotate def
xA2 yA2 mtrx itransform pop xB2 yB2 mtrx itransform pop sub dup 0 mtrx
transform 3 -1 roll 0 gt { /yB2 exch yB2 add def /xB2 exch xB2 add def }
{ /yA2 exch neg yA2 add def /xA2 exch neg xA2 add def } ifelse mark ArmB
0 ne { xB1 yB1 } if xB2 yB2 xA2 yA2 ArmA 0 ne { xA1 yA1 } if tx@Dict
begin false Line end /LPutVar [ xB1 yB1 xB2 yB2 xA2 yA2 xA1 yA1 ] cvx
def /LPutPos { LPutLines } def /HPutPos { HPutLines } def /VPutPos {
VPutLines } def } def
/NCDiag { GetEdgeA GetEdgeB GetArmA GetArmB mark ArmB 0 ne { xB1 yB1 } if
xB2 yB2 xA2 yA2 ArmA 0 ne { xA1 yA1 } if tx@Dict begin false Line end
/LPutVar [ xB1 yB1 xB2 yB2 xA2 yA2 xA1 yA1 ] cvx def /LPutPos {
LPutLines } def /HPutPos { HPutLines } def /VPutPos { VPutLines } def }
def
/NCDiagg { GetEdgeA GetArmA yB yA2 sub xB xA2 sub Atan 180 add /AngleB ED
GetEdgeB mark xB1 yB1 xA2 yA2 ArmA 0 ne { xA1 yA1 } if tx@Dict begin
false Line end /LPutVar [ xB1 yB1 xA2 yA2 xA1 yA1 ] cvx def /LPutPos {
LPutLines } def /HPutPos { HPutLines } def /VPutPos { VPutLines } def }
def
/NCLoop { GetEdgeA GetEdgeB GetArmA GetArmB /mtrx AngleA matrix rotate
def xA2 yA2 mtrx transform loopsize add /yA3 ED /xA3 ED /xB3 xB2 yB2
mtrx transform pop def xB3 yA3 mtrx itransform /yB3 ED /xB3 ED xA3 yA3
mtrx itransform /yA3 ED /xA3 ED mark ArmB 0 ne { xB1 yB1 } if xB2 yB2
xB3 yB3 xA3 yA3 xA2 yA2 ArmA 0 ne { xA1 yA1 } if tx@Dict begin false
Line end /LPutVar [ xB1 yB1 xB2 yB2 xB3 yB3 xA3 yA3 xA2 yA2 xA1 yA1 ]
cvx def /LPutPos { LPutLines } def /HPutPos { HPutLines } def /VPutPos {
VPutLines } def } def
% DG/SR modification begin - May 9, 1997 - Patch 1
%/NCCircle { 0 0 NodesepA nodeA \tx@GetEdge pop xA sub 2 div dup 2 exp r
%r mul sub abs sqrt atan 2 mul /a ED r AngleA 90 add PtoC yA add exch xA add
%exch 2 copy /LPutVar [ 4 2 roll r AngleA ] cvx def /LPutPos { LPutVar t 360
%mul add dup 5 1 roll 90 sub \tx@PtoC 3 -1 roll add /Y ED add /X ED /NAngle ED
/NCCircle { NodeSepA 0 NodeA 0 GetEdge pop 2 div dup 2 exp r
r mul sub abs sqrt atan 2 mul /a ED r AngleA 90 add PtoC yA add exch xA add
exch 2 copy /LPutVar [ 4 2 roll r AngleA ] cvx def /LPutPos { LPutVar t 360
mul add dup 5 1 roll 90 sub PtoC 3 -1 roll add /Y ED add /X ED /NAngle ED
% DG/SR modification end
} def /HPutPos { LPutPos } def /VPutPos { LPutPos } def r AngleA 90 sub a add
AngleA 270 add a sub tx@Dict begin /angleB ED /angleA ED /r ED /c 57.2957 r
Div def /y ED /x ED } def
/NCBox { /d ED /h ED /AngleB yB yA sub xB xA sub Atan def /AngleA AngleB
180 add def GetEdgeA GetEdgeB /dx d AngleB sin mul def /dy d AngleB cos
mul neg def /hx h AngleB sin mul neg def /hy h AngleB cos mul def
/LPutVar [ xA1 hx add yA1 hy add xB1 hx add yB1 hy add xB1 dx add yB1 dy
add xA1 dx add yA1 dy add ] cvx def /LPutPos { LPutLines } def /HPutPos
{ xB yB xA yA LPutLine } def /VPutPos { HPutPos } def mark LPutVar
tx@Dict begin false Polygon end } def
/NCArcBox { /l ED neg /d ED /h ED /a ED /AngleA yB yA sub xB xA sub Atan
def /AngleB AngleA 180 add def /tA AngleA a sub 90 add def /tB tA a 2
mul add def /r xB xA sub tA cos tB cos sub Div dup 0 eq { pop 1 } if def
/x0 xA r tA cos mul add def /y0 yA r tA sin mul add def /c 57.2958 r div
def /AngleA AngleA a sub 180 add def /AngleB AngleB a add 180 add def
GetEdgeA GetEdgeB /AngleA tA 180 add yA yA1 sub xA xA1 sub Pyth c mul
sub def /AngleB tB 180 add yB yB1 sub xB xB1 sub Pyth c mul add def l 0
eq { x0 y0 r h add AngleA AngleB arc x0 y0 r d add AngleB AngleA arcn }
{ x0 y0 translate /tA AngleA l c mul add def /tB AngleB l c mul sub def
0 0 r h add tA tB arc r h add AngleB PtoC r d add AngleB PtoC 2 copy 6 2
roll l arcto 4 { pop } repeat r d add tB PtoC l arcto 4 { pop } repeat 0
0 r d add tB tA arcn r d add AngleA PtoC r h add AngleA PtoC 2 copy 6 2
roll l arcto 4 { pop } repeat r h add tA PtoC l arcto 4 { pop } repeat }
ifelse closepath /LPutVar [ x0 y0 r AngleA AngleB h d ] cvx def /LPutPos
{ LPutVar /d ED /h ED /AngleB ED /AngleA ED /r ED /y0 ED /x0 ED t 1 le {
r h add AngleA 1 t sub mul AngleB t mul add dup 90 add /NAngle ED PtoC }
{ t 2 lt { /NAngle AngleB 180 add def r 2 t sub h mul t 1 sub d mul add
add AngleB PtoC } { t 3 lt { r d add AngleB 3 t sub mul AngleA 2 t sub
mul add dup 90 sub /NAngle ED PtoC } { /NAngle AngleA 180 add def r 4 t
sub d mul t 3 sub h mul add add AngleA PtoC } ifelse } ifelse } ifelse
y0 add /Y ED x0 add /X ED } def /HPutPos { LPutPos } def /VPutPos {
LPutPos } def } def
/Tfan { /AngleA yB yA sub xB xA sub Atan def GetEdgeA w xA1 xB sub yA1 yB
sub Pyth Pyth w Div CLW 2 div mul 2 div dup AngleA sin mul yA1 add /yA1
ED AngleA cos mul xA1 add /xA1 ED /LPutVar [ xA1 yA1 m { xB w add yB xB
w sub yB } { xB yB w sub xB yB w add } ifelse xA1 yA1 ] cvx def /LPutPos
{ LPutLines } def /VPutPos@ { LPutVar flag { 8 4 roll pop pop pop pop }
{ pop pop pop pop 4 2 roll } ifelse } def /VPutPos { VPutPos@ VPutLine }
def /HPutPos { VPutPos@ HPutLine } def mark LPutVar tx@Dict begin
/ArrowA { moveto } def /ArrowB { } def false Line closepath end } def
/LPutCoor { NAngle tx@Dict begin /NAngle ED end gsave CM STV CP Y sub neg
exch X sub neg exch moveto setmatrix CP grestore } def
/LPut { tx@NodeDict /LPutPos known { LPutPos } { CP /Y ED /X ED /NAngle 0
def } ifelse LPutCoor } def
/HPutAdjust { Sin Cos mul 0 eq { 0 } { d Cos mul Sin div flag not { neg }
if h Cos mul Sin div flag { neg } if 2 copy gt { pop } { exch pop }
ifelse } ifelse s add flag { r add neg } { l add } ifelse X add /X ED }
def
/VPutAdjust { Sin Cos mul 0 eq { 0 } { l Sin mul Cos div flag { neg } if
r Sin mul Cos div flag not { neg } if 2 copy gt { pop } { exch pop }
ifelse } ifelse s add flag { d add } { h add neg } ifelse Y add /Y ED }
def
end
% END pst-node.pro
%%EndProcSet
%%BeginProcSet: pst-coil.pro
%!
% PostScript prologue for pst-coil.tex.
% Version 97 patch 1, 98/06/02
% For distribution, see pstricks.tex.
%
/tx@CoilDict 40 dict def tx@CoilDict begin
/CoilLoop { /t ED t sin AspectSin mul t 180 div AspectCos mul add t cos
lineto } def
/Coil { /Inc ED dup sin /AspectSin ED cos /AspectCos ED /ArmB ED /ArmA ED
/h ED /w ED /y1 ED /x1 ED /y0 ED /x0 ED x0 y0 translate y1 y0 sub x1 x0
sub 2 copy Pyth /TotalLength ED Atan rotate /BeginAngle ArmA AspectCos
Div w h mul Div 360 mul def /EndAngle TotalLength ArmB sub AspectCos Div
w h mul Div 360 mul def 1 0 0 0 ArrowA ArmA 0 lineto /mtrx CM def w h
mul 2 Div w 2 Div scale BeginAngle Inc EndAngle { CoilLoop } for
EndAngle CoilLoop mtrx setmatrix TotalLength ArmB sub 0 lineto CP
% DG/SR modification begin - Jun. 2, 1998 - Patch 1 (from Michael Vulis)
% TotalLength 0 ArrowB lineto } def
TotalLength 0 ArrowB lineto
pop pop pop pop } def
% DG/SR modification end
/AltCoil { /Inc ED dup sin /AspectSin ED cos /AspectCos ED /h ED /w ED
/EndAngle ED /BeginAngle ED /mtrx CM def w h mul 2 Div w 2 Div scale
BeginAngle sin AspectSin mul BeginAngle 180 div AspectCos mul add
BeginAngle cos /lineto load stopped { moveto } if BeginAngle Inc
EndAngle { CoilLoop } for EndAngle CoilLoop mtrx setmatrix } def
/ZigZag { /ArmB ED /ArmA ED 2 div /w ED w mul /h ED /y1 ED /x1 ED /y0 ED
/x0 ED x1 y1 translate y0 y1 sub x0 x1 sub 2 copy Pyth /TotalLength ED
Atan rotate TotalLength ArmA sub ArmB sub dup h div cvi /n ED n h mul
sub 2 div dup ArmA add /ArmA ED ArmB add /ArmB ED /x ArmB h 2 div add
def mark 0 0 ArmB 0 n { x w /w w neg def /x x h add def } repeat
TotalLength ArmA sub 0 TotalLength 0 } def
end
% END pst-coil.pro
%%EndProcSet
%%BeginProcSet: 8r.enc
% File 8r.enc as of 2002-03-12 for PSNFSS 9
%
% This is the encoding vector for Type1 and TrueType fonts to be used
% with TeX. This file is part of the PSNFSS bundle, version 9
%
% Authors: S. Rahtz, P. MacKay, Alan Jeffrey, B. Horn, K. Berry, W. Schmidt
%
% Idea is to have all the characters normally included in Type 1 fonts
% available for typesetting. This is effectively the characters in Adobe
% Standard Encoding + ISO Latin 1 + extra characters from Lucida + Euro.
%
% Character code assignments were made as follows:
%
% (1) the Windows ANSI characters are almost all in their Windows ANSI
% positions, because some Windows users cannot easily reencode the
% fonts, and it makes no difference on other systems. The only Windows
% ANSI characters not available are those that make no sense for
% typesetting -- rubout (127 decimal), nobreakspace (160), softhyphen
% (173). quotesingle and grave are moved just because it's such an
% irritation not having them in TeX positions.
%
% (2) Remaining characters are assigned arbitrarily to the lower part
% of the range, avoiding 0, 10 and 13 in case we meet dumb software.
%
% (3) Y&Y Lucida Bright includes some extra text characters; in the
% hopes that other PostScript fonts, perhaps created for public
% consumption, will include them, they are included starting at 0x12.
%
% (4) Remaining positions left undefined are for use in (hopefully)
% upward-compatible revisions, if someday more characters are generally
% available.
%
% (5) hyphen appears twice for compatibility with both ASCII and Windows.
%
% (6) /Euro is assigned to 128, as in Windows ANSI
%
/TeXBase1Encoding [
% 0x00 (encoded characters from Adobe Standard not in Windows 3.1)
/.notdef /dotaccent /fi /fl
/fraction /hungarumlaut /Lslash /lslash
/ogonek /ring /.notdef
/breve /minus /.notdef
% These are the only two remaining unencoded characters, so may as
% well include them.
/Zcaron /zcaron
% 0x10
/caron /dotlessi
% (unusual TeX characters available in, e.g., Lucida Bright)
/dotlessj /ff /ffi /ffl
/.notdef /.notdef /.notdef /.notdef
/.notdef /.notdef /.notdef /.notdef
% very contentious; it's so painful not having quoteleft and quoteright
% at 96 and 145 that we move the things normally found there down to here.
/grave /quotesingle
% 0x20 (ASCII begins)
/space /exclam /quotedbl /numbersign
/dollar /percent /ampersand /quoteright
/parenleft /parenright /asterisk /plus /comma /hyphen /period /slash
% 0x30
/zero /one /two /three /four /five /six /seven
/eight /nine /colon /semicolon /less /equal /greater /question
% 0x40
/at /A /B /C /D /E /F /G /H /I /J /K /L /M /N /O
% 0x50
/P /Q /R /S /T /U /V /W
/X /Y /Z /bracketleft /backslash /bracketright /asciicircum /underscore
% 0x60
/quoteleft /a /b /c /d /e /f /g /h /i /j /k /l /m /n /o
% 0x70
/p /q /r /s /t /u /v /w
/x /y /z /braceleft /bar /braceright /asciitilde
/.notdef % rubout; ASCII ends
% 0x80
/Euro /.notdef /quotesinglbase /florin
/quotedblbase /ellipsis /dagger /daggerdbl
/circumflex /perthousand /Scaron /guilsinglleft
/OE /.notdef /.notdef /.notdef
% 0x90
/.notdef /.notdef /.notdef /quotedblleft
/quotedblright /bullet /endash /emdash
/tilde /trademark /scaron /guilsinglright
/oe /.notdef /.notdef /Ydieresis
% 0xA0
/.notdef % nobreakspace
/exclamdown /cent /sterling
/currency /yen /brokenbar /section
/dieresis /copyright /ordfeminine /guillemotleft
/logicalnot
/hyphen % Y&Y (also at 45); Windows' softhyphen
/registered
/macron
% 0xD0
/degree /plusminus /twosuperior /threesuperior
/acute /mu /paragraph /periodcentered
/cedilla /onesuperior /ordmasculine /guillemotright
/onequarter /onehalf /threequarters /questiondown
% 0xC0
/Agrave /Aacute /Acircumflex /Atilde /Adieresis /Aring /AE /Ccedilla
/Egrave /Eacute /Ecircumflex /Edieresis
/Igrave /Iacute /Icircumflex /Idieresis
% 0xD0
/Eth /Ntilde /Ograve /Oacute
/Ocircumflex /Otilde /Odieresis /multiply
/Oslash /Ugrave /Uacute /Ucircumflex
/Udieresis /Yacute /Thorn /germandbls
% 0xE0
/agrave /aacute /acircumflex /atilde
/adieresis /aring /ae /ccedilla
/egrave /eacute /ecircumflex /edieresis
/igrave /iacute /icircumflex /idieresis
% 0xF0
/eth /ntilde /ograve /oacute
/ocircumflex /otilde /odieresis /divide
/oslash /ugrave /uacute /ucircumflex
/udieresis /yacute /thorn /ydieresis
] def
%%EndProcSet
%%BeginProcSet: 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: CMITT10
%!PS-AdobeFont-1.1: CMITT10 1.0
%%CreationDate: 1991 Aug 18 17:48:50
% 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 (CMITT10) readonly def
/FamilyName (Computer Modern) readonly def
/Weight (Medium) readonly def
/ItalicAngle -14.04 def
/isFixedPitch true def
end readonly def
/FontName /CMITT10 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 97 /a put
dup 98 /b put
dup 100 /d put
dup 101 /e put
dup 104 /h put
dup 105 /i put
dup 108 /l put
dup 111 /o put
dup 112 /p put
dup 114 /r put
dup 115 /s put
dup 116 /t put
dup 117 /u put
dup 118 /v put
dup 119 /w put
dup 120 /x put
readonly def
/FontBBox{11 -233 669 696}readonly def
/UniqueID 5000779 def
currentdict end
currentfile eexec
D9D66F633B846A97B686A97E45A3D0AA0529731C99A784CCBE85B4993B2EEBDE
3B12D472B7CF54651EF21185116A69AB1096ED4BAD2F646635E019B6417CC77B
532F85D811C70D1429A19A5307EF63EB5C5E02C89FC6C20F6D9D89E7D91FE470
B72BEFDA23F5DF76BE05AF4CE93137A219ED8A04A9D7D6FDF37E6B7FCDE0D90B
986423E5960A5D9FBB4C956556E8DF90CBFAEC476FA36FD9A5C8175C9AF513FE
D919C2DDD26BDC0D99398B9F4D004D606918A40B8D7BFA821B73E118040992A4
E1BF99740F8FAA47E4349853C8149C0F8BE2F23C6F332BC0373C867D0715E8FA
FF163A60AFD0FED665D5829739975C5DE12EB30895604D211F645D4E13330DB7
64B6E35463C93B752F691FDDC44595B0A0E9E57C6F649809C4DBC7DB58102A60
46349E9A5740893A1BD4536B99ECE72B147B713619037400669C07291022F84F
4F3302F8244D2F0F1380466E81E0B5E00AF33E021A55620A7A93F3BD49C7040A
67C096167F502EF2051B526405B9391B4340A3FFEC103E317E315A88D31661E1
7E4104A2B925D1DDA9586861904FF6FFCE6A8E808385E4C4014F5A494874E2FB
C3758D6989AB68C4CEF82F92B9439794FC404A29D086ED6B27997735BC3A24F0
473FFD74BAECF5282E2EBFCB92D69B81C568D394055E2E30A7E3F448796E4EB8
019AC2E075377F777183BD87FDD194E855ABFA35AFA73304DBB181C267431B16
70456FD8470B525011891C1E140B8FF24A474B89F1CEAAB509F91FCAF512E16D
8413BAC0C664FDCD31245C5996F4883305D3EDF1C8D1E6F0B1E79A06028BBDDF
6AA5B515DF33BA8FFF2394262F3FE1DF95AD661322BFA5179E325BD1B1EECE49
69F64789FF1BE8DE5CD7485571A07471BD6CAB4891BAB122BE4C4A1B7176F33E
A1A434F745811B71EA8AF73407F32E9F4EAAE1C1FAA979523C18A24F754C307C
CE056DCB71B20292D4FBCBF9AB9E9B81DADAB90E60BE926315049E5BF0F50315
66D82E4963CB556F19461F43EF80302912AC1168884A1692AC59BFBC431B14AC
A5FC06C4AB595F9DF66CE5EB69568038445A9EDDE20CF92BA308A23178D8555C
78CCCF09E4E648AF4BE995779BDC661F16D3E69392546A9D38B8717311B5B462
58B8443E29A9C5BE561822F1926EF38E12C13783D5E2DBEA6748AABAE81C0FC4
23B7B71B1663174A0C0745DEBCE7B323C745D8F625E0D90DC1B4007F50E2C9EC
3142369959B85265B8DD67727CC63CB67A8CCCF700ABE8D064D6EC3F3BF303E4
58D669D49BC5C51D19FBDE1CF945CB1F75A89AFABCE0866D036A39DCA68AF1C8
60C89C52327B0311A09667EF5FC39E36C61D1AA61F9A5CA8A6D6D1048DC80FCA
6064CEBE764226AFF010622C69D5BB332E85B97E40591422D64D42CA97E22102
BD21ACAD1436F5D26A8663A854D3105DC0A4D9FF621F0CB870AF0F4D6820A17C
02353C90EDC6D0397F33575A0DFD9044D1F125A9CD41D200D1B601440357DD21
4B53C0B6B1111345C1919D7A26C8DDEA74C8F6709CF7401B94C5E56855D8224B
818BCDC6C768225C06C29579BFDBC94AC42F66FE6FF677DA6C862B501CE97AED
6CBDA212B1E4AA2EB928719758D50767D530B6737737825D1AB574A01204E6EB
59874BE32E5C827A582D50E053740FB0FEA07485089E0FB3675D6BAB2761A3C0
2465228002C424E27B990BD6F57BD9FEC5FA4A871225A3701F480144412BD923
D7B2650B50263CC4B02F43B59BA2A9A11EDCAD026FB93F3CD293F9421FB21A6B
3B44B629F6B81DB0891A529BA177B1383EEBE5CF50D2F415EEC78F7345E43F11
6BF307EC964A3AC7C1A557B1051BE5638BFDD18D2BDD5F76501491EFE603899B
D2F5B4AD087F536FBEE9E9957AC38D49C08B8A3B44A8243233E1C16B77571344
0FB006377234E1DA392FCCC93904EDBF2A19B94B1D3AB471F4518EE04DF5AF03
A08AE58A652E683C09432A0D190635A26DEA18960C791BAF82E8ABD9F382457C
A3C708318F97C85F7DFEC6A5163A71D8F6871DE42AC5C37F77168E891250FAE0
C39F2AF6040A6962C635E2C2E5FC4D3EE73F9ABCC973738AADED9F34977881F6
E685E482039DE4514696DCAA6A23A767198C127714D1138505557663B0A6B1CD
887058509C5757C1971B8E6994793D9CC0E7DD22F9B338B10AFED54128D88396
9E0B2DB221048627936ADC523AC2902061756C608E9134BAEFE417BFEF6E4C97
B8B4CC7D6E0518CABE53C0FBCC5560101A895F3DEF212A139DBE705DE520B3D7
7895FE95C33C6E472C16AA2237D414C7EDF780D08E4458A1F2CD856CCD1908E0
B88366AFBFB55FAAEBF5849CD2AD4ADBF571E9CAD4170610EAD4744BC8678974
D808267C9181672E807687FBE201E2CC3C29A836801F8722BE7D0910F878F962
F904445DA568DBE59735DF8E129487C0A217805BF69E7A565C18E9EAF3DF5030
A260825B958515DB6A1E45E07A7CC29F5D0B19F370D2A9F3DE275C8DB8C3909A
8DBCBDA79F7C631B36A5FBF1A952A03AD322E5CBA9085424EEC85529A0AF296C
25A568292EA43C3AC91205A9EAB8E45B0982FAECA807B25C2D52B6DF3B276D02
8A4D86FC0127199DFD0CF2E3306A81ABA119DA4D27B53AD0F524A88E45F89F7E
9AEF9EA349CB572D96C8190F66BB23756443BAED81F423742B4647C2A152756D
14B6EBEA56A5FA8C91DDBD1932291082137F7A2BBAB84F76F142C57F7935C04C
F8552EEA6AF846CE52D6E47FF5465A09F7F3E081393C83200139DC5760646220
40D6B81043B3C99921CAD7A8A556FCBC51D51A46E9CAEA7BAF861F3A672F83E0
509F608DC113AAC9657E4181AC02647DCE3BD0DCD65C6A9C9A3D5C2B849F8093
8A9473644FE38B64D41DD653FF4BF67C59D9F026E53FFF506ED65EB3B010A066
AD98F8D995E6D7ECC2E91987A4BE9860469B24642FB3557F31C5999FA16CC989
D6AC83A8B30D87657E292083147C6BD328E36177D57571F7649BB23CABE00A97
8B9E35DD8767187B67D5452EBD7CB5155ED1D86F9216AD86C010CEFC3B5910F7
71CB73CFBD0F4BF6121B5B5586723B79EFD91CFE588C4B340631BD1AF0FB1716
0F4907737F6B85A6B46924CDCDE5F09F86AA2209A038643112FA3203516A6EBE
EA170A1490620B672E624622815BBF221356EB5DF55383B611367BD226EA5287
0C211D2E20178522EEFD6595CFE8F3F980340425F42BC87AE2C26AEDBBC0D67A
BA1D80517A0EC783A2C631886679CF5330A309FE110B9D2854DA03C8B708FACC
046867DB62B7038A07EC56978453B92FA49F6F82532CBD5E8FC4CD1BA2B6ADC5
3CB89C14728B5D48B728E494B1D6DCEFFAE9583BCA0647F7C59301C4ED5FF5B1
A6F76869E8C5B5064C2380BD65CC7940A90A6CB6056A3AD7480AD9BCA3FB7D4A
C9285CFDD66AD4E03E9AB4629ECC7643B6524EE4A2162C8A9E96B8B520AAC27F
EBA3FDAA78AE87B75C57AB59FC8252E4415343D3A87AD7F8A3B9DC4879EC3C93
8F0224944B3D6E266B995CF7A63F3664C2E430DEFD7357F03D8F1116FBEFB431
EED8C1DA23C3513D9F236375834ACA302AA49B2567FB0EE614A1707B6E93BB53
F163FF6D5E118B88886A8D99AADAA9F0E306D1BD47B8C62726FFEB70638539E0
B1B62D12B85638D43AF60155FC5972B3287F7ABB0E26366064542C6F6E6B710B
9C185E647A0330EEEE22C39041C91522AF228B07C93C4ACC3049BA9B9B75A02F
2C41BF78EB854C8FD4F592104C2BC984CAE3A4852A8832BE2A7E2C513A1397E4
26817FFBEF1D2A8B8A666A1183433EA4A563FCEF207B4E8F4AAEA241EB9E3AB8
7182AC6FAF4EC677BBCAFA42E956D7CBB8DD1F57A5A13C2463ACB88662C67011
AB3ECFAC5C7B4E62B24BB744EBF51BEF15290DD12609DFC7B54A34D06A86AA43
ED92DBD1D1A420EE22C6B3B14FBA32F46788B9F8512235EAE2345B461ACC0B2F
A2F3CE00716C23EE7304878F7F5DB3F0E8BF6C1577D0C2892F3533BF00140C56
9343DA6AC73079395B134068A8062D3ABC1785978A9CFEFC52D8DD0A506FCC0A
2867FF3305B6F23D2C3A0134367E3F40EEC0DC205F210776CDFC5867AF4A781C
3C0E70B69626CFC0CA855C94FC8DAC2635CD9B31A267F8345B7DF471004115C2
B380A67363F9DFE8D7FACEBBFAB9A48194D1549527C5EAE3B298395CBC8B6091
90347ACA986CA132E6659673982D27624E535B5F67E681418C8CABCC231573F3
E2BEFBDE820279CA1D9C658F2F7570F0155DCCDEE172ED8063F92EB704A3F149
609FDD2E45E24565A123164A8EF1A1320DDAEF7267EDD14423AA3CF8D618D1BE
9EFD37A9375185764F596151B0BF31F11656E31CD6F39BCA9C812E55E83931D9
A2163DBCF0B10C62408117C2B3BB0B043B2FF0430B5D010401EDC358DAF3E8C9
E499B29ECD08702DB69C90995C6FAB19560D4F0A8DA69A9D47EB4E1E0D32E7FF
57034254B30B90B06EADF24C926FBBEE3929A5C21FA0E2620C05A0FED621A18F
ADB965D1F4CDE67EA1AA351E2517E973C7A7EDAFDD30FA65363067FC46373929
F8F116E9152BC4FB8CA35D0257E7715CEE4150FD93CBFA36C38ECAA7BEFE5EF9
3C106A098A5AC5C9DB5162B388E65009A0AB05452A2575A4D3A09AC6D27AA451
17876B851D57745A5CC68A164EAC5F9BD1CB2E917CC3EA416876AEA818F6CD13
5A92FA8AB06DC4918D3947941F94A081DB8FF5A0C1C633EDADED7DB8EB34A0B2
48C7900883A4DD407358851658171E25DD574147962ABCD2ECC2C3BD3C5E0399
A52456CA733834D6A03591101ABD5D78549AD667EADD62F43D26FF3C575BA716
E24BD93856810760B35690B8E812BAD2EB7A94F378733843FC7A217C70A92614
566EC54FFA02A401670D767472226667C608C23BD8824C4C5A8BB059B5BB339A
76DF87F3375208659C1316BD3559858C815E4716EDC90159D785839724B5C056
F9CF0621BA4C617D380EED8461A2F31F45B094B6A56EE784C85718146B8C607A
719C52E86D4B10EDADF53972903F59611B1530F88600CDBC4454609C00E7B268
D9C8173291502C3B9973F6B1AC8C846923F6E7AAC7D40E3FD6EB5765A612C5F6
BF675035BC7E084A905E4F2B5CE64E3318DD1C3562EB3284574F61DE1E7ECF60
0FF967451CE3F62F1729
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
cleartomark
%%EndFont
%%BeginFont: CMSY9
%!PS-AdobeFont-1.1: CMSY9 1.0
%%CreationDate: 1991 Aug 15 07:22:27
% Copyright (C) 1997 American Mathematical Society. All Rights Reserved.
11 dict begin
/FontInfo 7 dict dup begin
/version (1.0) readonly def
/Notice (Copyright (C) 1997 American Mathematical Society. All Rights Reserved) readonly def
/FullName (CMSY9) readonly def
/FamilyName (Computer Modern) readonly def
/Weight (Medium) readonly def
/ItalicAngle -14.035 def
/isFixedPitch false def
end readonly def
/FontName /CMSY9 def
/PaintType 0 def
/FontType 1 def
/FontMatrix [0.001 0 0 0.001 0 0] readonly def
/Encoding 256 array
0 1 255 {1 index exch /.notdef put} for
dup 15 /bullet put
readonly def
/FontBBox{-30 -958 1146 777}readonly def
/UniqueID 5000819 def
currentdict end
currentfile eexec
D9D66F633B846A97B686A97E45A3D0AA052F09F9C8ADE9D907C058B87E9B6964
7D53359E51216774A4EAA1E2B58EC3176BD1184A633B951372B4198D4E8C5EF4
A213ACB58AA0A658908035BF2ED8531779838A960DFE2B27EA49C37156989C85
E21B3ABF72E39A89232CD9F4237FC80C9E64E8425AA3BEF7DED60B122A52922A
221A37D9A807DD01161779DDE7D31FF2B87F97C73D63EECDDA4C49501773468A
27D1663E0B62F461F6E40A5D6676D0037D33F24E2FAC2B0009AD3C8350CDF8CC
65BCA87979C36D14CB552E9A985E48BE4E88ECA16DF418749AF04FDD2B0E1380
D281BB2476BB45FF30946B247DFD7F57305FA87E50CA338121C71CDFDF927A9C
77FF14CB4A1D6D80356FB1171ED38C37702350497B44E42CE31DB2F493807DAA
15B887C671199A54C4C1294BC520F5538C15556BC43C9F62342B121C6DCD6C5F
491DA47FF360201EE21C08A781ED0589A6DF91B99FE118B9B29E4F068672E52F
1A06C514D91C4C937D4E642503392B1CD1BE8C2F499A1AD3753691F4D1DAB520
BDD769BBD915603E1046B31412DEA252E4078BE8F1EC3A9A3258255B42357330
3ED92EF62F3BF5BDA25D821AC468EB1ECCBDCC3555DBE7D3A521D45C6D9E25E1
67C6ADCA1B3A0990441EA2F1445681DBB732FBBB8797634CE7C56351C3F05371
3274F087BD1B07128A8049503591C35B7A7A16D9C25A6174DB685922BD975D94
0C25E001A342E8FB763DC0CBB36FCA00A7932D61218C5D3E2229EDE4C9FC4578
CDDBC04484C54B8F8E8E817070763063C7E8B4C8A7373913EAB41A5ACD8528F2
9E7FF55B2C91C139B712
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
cleartomark
%%EndFont
%%BeginFont: CMSY7
%!PS-AdobeFont-1.1: CMSY7 1.0
%%CreationDate: 1991 Aug 15 07:21:52
% 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 (CMSY7) readonly def
/FamilyName (Computer Modern) readonly def
/Weight (Medium) readonly def
/ItalicAngle -14.035 def
/isFixedPitch false def
end readonly def
/FontName /CMSY7 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 48 /prime put
readonly def
/FontBBox{-15 -951 1252 782}readonly def
/UniqueID 5000817 def
currentdict end
currentfile eexec
D9D66F633B846A97B686A97E45A3D0AA052F09F9C8ADE9D907C058B87E9B6964
7D53359E51216774A4EAA1E2B58EC3176BD1184A633B951372B4198D4E8C5EF4
A213ACB58AA0A658908035BF2ED8531779838A960DFE2B27EA49C37156989C85
E21B3ABF72E39A89232CD9F4237FC80C9E64E8425AA3BEF7DED60B122A52922A
221A37D9A807DD01161779DDE7D251491EBF65A98C9FE2B1CF8D725A70281949
8F4AFFE638BBA6B12386C7F32BA350D62EA218D5B24EE612C2C20F43CD3BFD0D
F02B185B692D7B27BEC7290EEFDCF92F95DDEB507068DE0B0B0351E3ECB8E443
E611BE0A41A1F8C89C3BC16B352C3443AB6F665EAC5E0CC4229DECFC58E15765
424C919C273E7FA240BE7B2E951AB789D127625BBCB7033E005050EB2E12B1C8
E5F3AD1F44A71957AD2CC53D917BFD09235601155886EE36D0C3DD6E7AA2EF9C
C402C77FF1549E609A711FC3C211E64E8F263D60A57E9F2B47E3480B978AAF63
868AEA25DA3D5413467B76D2F02F8097D2841EDA6677731A6ACFEC0BABF1016A
089B2D24E941E5E7649642B5280D22A2A1499CA9708C88490B456D647364C957
D289912A4360E31002BEB15135CC9FEBE452F9F6C627968ABD65EC4D987AC218
E4C5427189CFB260E8321817639C61C05B19DD9035A4CDB46FCC415633BB924E
C508609EF6EA51685FD6E4EB10FB915414DBB3022D3733CBEB1BAFD628ACB64A
661042A600224B084B612B557596A01D1F1F5CB77E3E63E93510A79E0D131271
3F35F8C34F36C30A593689DD275BDB0054C56527EE372B33BB5673041EE004DA
002AD9C278B0CBA7F111CF641C05FC33AD07591C6FE59CA12B0E2D
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
cleartomark
%%EndFont
%%BeginFont: CMMI7
%!PS-AdobeFont-1.1: CMMI7 1.100
%%CreationDate: 1996 Jul 23 07:53:53
% Copyright (C) 1997 American Mathematical Society. All Rights Reserved.
11 dict begin
/FontInfo 7 dict dup begin
/version (1.100) readonly def
/Notice (Copyright (C) 1997 American Mathematical Society. All Rights Reserved) readonly def
/FullName (CMMI7) readonly def
/FamilyName (Computer Modern) readonly def
/Weight (Medium) readonly def
/ItalicAngle -14.04 def
/isFixedPitch false def
end readonly def
/FontName /CMMI7 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 105 /i put
dup 110 /n put
readonly def
/FontBBox{0 -250 1171 750}readonly def
/UniqueID 5087382 def
currentdict end
currentfile eexec
D9D66F633B846A97B686A97E45A3D0AA0529731C99A784CCBE85B4993B2EEBDE
3B12D472B7CF54651EF21185116A69AB1096ED4BAD2F646635E019B6417CC77B
532F85D811C70D1429A19A5307EF63EB5C5E02C89FC6C20F6D9D89E7D91FE470
B72BEFDA23F5DF76BE05AF4CE93137A219ED8A04A9D7D6FDF37E6B7FCDE0D90B
986423E5960A5D9FBB4C956556E8DF90CBFAEC476FA36FD9A5C8175C9AF513FE
D919C2DDD26BDC0D99398B9F4D03D77639DF1232A4D6233A9CAF69B151DFD33F
C0962EAC6E3EBFB8AD256A3C654EAAF9A50C51BC6FA90B61B60401C235AFAB7B
B078D20B4B8A6D7F0300CF694E6956FF9C29C84FCC5C9E8890AA56B1BC60E868
DA8488AC4435E6B5CE34EA88E904D5C978514D7E476BF8971D419363125D4811
4D886EDDDCDDA8A6B0FDA5CF0603EA9FA5D4393BEBB26E1AB11C2D74FFA6FEE3
FAFBC6F05B801C1C3276B11080F5023902B56593F3F6B1F37997038F36B9E3AB
76C2E97E1F492D27A8E99F3E947A47166D0D0D063E4E6A9B535DC9F1BED129C5
123775D5D68787A58C93009FD5DA55B19511B95168C83429BD2D878207C39770
012318EA7AA39900C97B9D3859E3D0B04750B8390BF1F1BC29DC22BCAD50ECC6
A3C633D0937A59E859E5185AF9F56704708D5F1C50F78F43DFAC43C4E7DC9413
44CEFE43279AFD3C167C942889A352F2FF806C2FF8B3EB4908D50778AA58CFFC
4D1B14597A06A994ED8414BBE8B26E74D49F6CF54176B7297CDA112A69518050
01337CBA5478EB984CDD22020DAED9CA8311C33FBCC84177F5CE870E709FC608
D28B3A7208EFF72988C136142CE79B4E9C7B3FE588E9824ABC6F04D141E589B3
914A73A42801305439862414F893D5B6C327A7EE2730DEDE6A1597B09C258F05
261BC634F64C9F8477CD51634BA648FC70F659C90DC042C0D6B68CD1DF36D615
24F362B85A58D65A8E6DFD583EF9A79A428F2390A0B5398EEB78F4B5A89D9AD2
A517E0361749554ABD6547072398FFDD863E40501C316F28FDDF8B550FF8D663
9843D0BEA42289F85BD844891DB42EC7C51229D33EE7E83B1290404C799B8E8C
889787CDC0C51802EA1E0C63E6DE20980D3DD206F05360F78906FF0132D5F4EB
8B2384EBF991DF6A99488477067F4A8C0FCE0CDE8FDEDE80EE0E087271DCB088
9A0B2ED6FCA29399FF34CAAD2F4ADE9979E7B1F46EBCF7EAAA9C1BD7D5A7C901
C4F56769AB3279B88B453CAD4F980D5776CBAFA7A5E45EA940A80018FF8A1060
649DBA8BECEB5FB18938F7E69FDCC37A64DA9FE7336ED1BBE2609B8752409617
6D0C56A0CA33A91D7D34AC34703DD12E031D0EEDDC326DB3C7D69E2EEEF2103E
0207D54FCA89E72DF619FDA6021550754A0D030D6EAD60F32A4889A025703DE5
A8CDED50E5F7F6F06CB9A29BD7A5FA653CB399D3B21A2B4BF37F51C31C165D68
01F36ED6F31DB77CA973CF6B83D22495487E1B6024F5E3102FF2C81D6BBFEE37
EDF7922ED0D015B44F48A5D9D038D9831EF172D0346456F4B9845DC2E57D2DF0
566DC8DD79D13BF83B380CB195F7619E0F6B2578A36C3EBAF45E775F06CB33DA
90630DA177E741F5E86D6C2CCD285CE0C39070FE3BB5C5AC5EAD82753A521F6D
E159B9CC589E1DA082437A1E0CF115B3B88DE31461153596734DFC910E7D2A64
2CFE5D5BE313E4CB2B7665893A51B263E664094A94078AD2F3D7A189168D95B0
029D54A6CF6D85773F314ED03B0D43A5602416F30BC1A9B44D7AA2EE12034AB5
B2C7DE0B9F15DC55C6C808C5AECEF16F70453F209BFF0D5E9038A6603946D9D4
FA1FB5435EBFB48DBDF1521A1AA595DB64FA37D36CFD73675F18C1601CE2D5C8
92764CC093EB43726671E23A6953368F4C31CE413326629E87264D1B0D1855AB
E20AEF4B8030F0
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 36 /dollar put
dup 39 /quoteright put
dup 40 /parenleft put
dup 41 /parenright put
dup 46 /period put
dup 47 /slash put
dup 48 /zero put
dup 49 /one put
dup 50 /two put
dup 58 /colon put
dup 60 /less put
dup 61 /equal put
dup 62 /greater put
dup 64 /at put
dup 67 /C put
dup 68 /D put
dup 69 /E put
dup 70 /F put
dup 72 /H put
dup 76 /L put
dup 77 /M put
dup 79 /O put
dup 82 /R put
dup 83 /S put
dup 84 /T put
dup 87 /W put
dup 91 /bracketleft put
dup 93 /bracketright put
dup 95 /underscore put
dup 97 /a put
dup 98 /b put
dup 99 /c put
dup 100 /d put
dup 101 /e put
dup 102 /f put
dup 103 /g put
dup 104 /h put
dup 105 /i put
dup 108 /l put
dup 109 /m put
dup 110 /n put
dup 111 /o put
dup 112 /p put
dup 114 /r put
dup 115 /s put
dup 116 /t put
dup 117 /u put
dup 119 /w put
dup 121 /y put
dup 123 /braceleft put
dup 125 /braceright 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
A2C69F817061D6C60B121EEE844CA5008F23DF0AB872BF42A2C9FE9FD1C7F27B
0D76E4CF123D78F023275AD09A3E6CFFA363411D953D10D1FFB61DFF4E64C402
523B7935DC742FD4C279065019ADE7F20A44EF951CB72FEE22602EE03A0415AC
2387B695C09FF0C3C2787FE4ECB50CDD7CFCE5C3E7E430FBDFC31275E440EA26
E460F4C15C39F3FE1DE89C77BC0BCF6998243F364AD73073024D291576F0D898
86372BF24A3354CDC94C60B5BF91170FD17A07AC15EB6F8D7A1C7474A1011926
8BAF21D2A65086F199B581C9B82C2664E95112F1E4840132BEC14847913F215E
094438D88EB24B9C9507A8D0103B65B825025A96954D30E4E8BC51182E4B3155
A044B7D0EF213C8570DAD9776031D7500946B6A8A8A45E9A4C63A66F6774FD7B
32A94FF7F37EDB7E5C956867AE59AE6F64D6E8B2F13D7AE43AC49ACE659680DD
058570A31DA26FA0E3A0CEF06E735CFFF42E1D3E01BDD0C56675E4D2AEC98EE6
C32702F3DFBF6657D9AE10072AD8222BA3ABFC859C8B365FCA06BA04CF80C618
C1E008CBF02557A6620D1A5DC6EDECAAB62327179FFA199A0DFDEA6D526A0A3B
A460FD353F80EE2DAEB3D686673B8AC3D02768F88574E6E50E792B0169F1D63D
64115186C3018A71E685A1ABC8894F96825317FBC48224F1B9A4C3D035A9A96A
62693AFFC6A420D8DEA35E15118A3DAB4BD4292DF579CAE2CACF4C3FD4B2CAB6
4ACC997E9BBA91DCD6870D5D232E0834CD4997033FA67CFE298A655A3B21633A
599D5AD64B70DB6284329272D213DA324F08E1C50BCA48144C858ECD584ADEAA
1D1720A3BD281101C9958CFF7B2B76BBFB9A921EB7C6743190DB65E806C6023D
A64DA261BB00D9DEAF958DA9A2F2B64D18C9BADBC272462B0ED25101CA22093E
A8A29FA7BA9488D02EE279506C0C6F02EEB5BF5E3ACD0F890377E74A1AF8A51C
97ECA986F17E925469497DCE85805519974470EC826ADB8921E37B74121D4647
1005585390DA31436E2AEB55B6A0E3364E528F96DA9A82CF2D6B9982C07721CF
A0E10ACE4AD76D4B23AA36848CC0076FD9CD253C4D4039B23546DBA8BC63563B
7789141C954CE2F7C10E6CCB3717568F43E0E625D6C88D31ECD7BE543BA667C6
F9BC7C8A438EF65986711CDAEB6603FACE6827FDAFE0452D18910FE45A5815E0
77CA4D74C5640A532E0CA0CE74925BE3F278B32CF513EA64300DEB6F75E658A1
723E7D332129EEA3ED89C3A681DCEB390E5E80F454BC5B6297CD950C7358D822
52EA0D20477D5DF2B9A4F089FAAADDB1056FACB321BF0A1C560D6060FCCF3BA1
015F268EE95D788FFF7E5E775674DD99701B0C70E819F97ACE01A0C961174166
92B698F69D8325B1F6060B2620B87D6DF646949A8476FEC8A7DB4D6D881754D4
61B21A7D078D82A477B805A107F62E859C5CEC44301948AB57FA947A339558C9
32E695E4748C414387CCAC7682FDB6DE282CF9AA991A90B11FA186F2A50E1229
D207B1989D33E06E172490E47A37B6D7939CE7375F443169C24E8EB013F1129E
82191F39E4F0C0A815D4A6EDC4EB97257F73FFC2B538665AA53B563C56CE16F3
9A68A5E5A0D2E57B0951BC191FBC87F668F46223BDA2E99BF586A814220C991C
24930318A0E98D046C741608CF9793624C4488CDCE7BEFFE6BDFBD438F035737
A21EDC5D075ACA04DC5AF0C966C2D40A04D0E5951A84EA5691B4AF97FAB21758
2612609CFB36D848BF0FAB91AAC80F914221B6BEF3EF1002D10CC62CAA367C9A
EF853413F18C33B8FDEE3368C7D3BCD188BC91537D993B91F15BBAA13C06F640
4B1037A53E0D881D43E9F69A32B7206887708655AFB4C2F2A9DC4D7DA8AEB2B9
4F941858C08A752047788549E98B8A03FEB206CBDE40541A79AB5B593B676AB7
487AD3F4ECA1C59AE2875BB6DEFEA4E4F2D4656C68A87DF12D76092E3DEA180A
DB54D721F3FB9CB4271732CEFE36D1CC0A7087C4945BA7C5EAF814BB6F971993
06B3785BF8541327E191F2BC601FBDFE5BA51E8F9F1075829A4A06AE17E013B0
B28E95FDF4D311CD204B792FCEFDD1290960503F1542C67DBC2FA0BD202B7619
9E8E1B507718950583236EAF6DBDE20517E23087F17BEFFDA98CD0D937967048
F55DEC86DC1AB3BB3DBD43D2E6EFACAF1E9F6F66BC8717C1C816F847A26DEB70
B4F9F3E38CBFCCEFDC74DE02FB639C850D98C7DDB183654837F1A6049AE3E4A7
7225045D16663294D445C9E1DFB53C5A68FE230D02DAF4AC1B9E28437F582E68
049D519FB7E5098376F460EF66BAC59CAAE60A9605A7233EA64FC9DA3814B3BF
4ED17DB02C77768969F0D4454DA18F91F97EFFC5EC3C002E6CC2A20CF66A2A53
F4B51614A02372B94368AFDE338C3A4704A4AA48EEBED9D0A8B217048B5C0B41
8124681161DB83E00C31A0D4ADBC36C053825705FEB7FC10069BCD5FDAC40621
BD24DE8CDA15E16D2761EC755F56CDDEF5A6754F12FDE99FB9FACAA5FDBF6E1B
ECF5B8D97FE3E530AF189E183FC3CE339D7346ADB2D6A59004F4C9924E1FCDA9
18524F99A50C2E26D6913AD6F2C69479C8AEEBBCFC84A6946B81C40F014C3B64
74E25E0E903129D717945F43BBF6A6464C3E8288865DE76879223FE5DB0B0BF5
E3AD64C68720F5EA6DE6BC150EBC6B7CD1CB8F3BA33ABA5B194E6264E0EA1D70
6475CAA242C981BF44ABD26342E908AFE6A938E3DBB418FD18D777B1A4C3F760
EB5470B0CFA42443A1AF9AC32F8879EDCFCE80F4003CF9D8991946A39E88117B
58109D44696218CE1E88DCF6B0CE375DF221DE290D421D2CD46079F4F9F50041
1BDC15B5A7771A8627D863C6621E63AB10EC9FAE42D4E4B2E5285DBFF0D15FAF
39B3EF194B8E4D2A2E8047DB9822BF2F6B6CC46E7BAE6B2531D6B3639DF40EE5
1AA7A84A2E3D080F43A124FF423BBCF22A4EA35F17D3D498A24D33C5CF918B23
B424248579043F2FAD00C6941044AD17228AC5230DC66E821FA714AFFE96061D
330F9A758D8F334166E3272F475363EED6423004C224B02B650E620BB71F82EA
73EF2347C318109EAFDC56DC63813AA12FF49DF694EC302BD00B01450178F740
38266B055C7399CFDFEE6A822FE99F5A693E98BC70C28F3F086E73804E1C9D72
A76F10E23C659743D6A12093D89841F43FF22D422C1DC39DBC2DA69AC2DF78ED
13770FA9443A3B2DDEEC069BE5243FFAE03B641F5FCA6673254A5AA65A334542
29C7166803877F94FD70450AE69AB90CC14385ED006519449CC8692A7CFE1650
D364861DBB1DAA5F530C5F2B27BC1227E31B4865330FE50721E38068766F191F
84A4AAB292AE132651FCE5AB7859EBCD70A8CC3D0265A896A3DD5A24A8FD1D3D
0F04F306010E34D907FD465891B6916F3B5799B4F5E5765A241417353AA41C37
A18C78D6386E6AD010E1A3781243C32084D47E75C797955234B89D74D0C9F955
4F605AC9298E666AADDFB254D11EBB278ACA1551A4371213E740F993E51E9A73
C96CC0BD45FFEFAC0DE406E4C4208568CCC6DD030CE0C523892C8A0BD3024ADB
5CD5144E652876AADC4572DF3ABB68AD8D3E5F8B558BE4CBD3381BB9DD898042
13F5037FEC537CCDF0A0E0B71C36BFEE95F6CBF5F5605487328A320AEB90FFF0
CD0870434481FA2326A35A72EDC937DF75997B484FB0D1C6DFC40369FC802F54
30572472722404B8B907941FD8FB2457A9F68DD0CF6558E87EA35CEF3B38AA01
A11DC9B59A0549480FB3832627B2DAF4627B49A91F0FA86B23D480FFA38414CF
1E63434C01580A9A25A97B95C840BEC9B6D0C658DF679814FBABF7A5FE350E11
68416DD639D5B031A4D6F09394A1E814F462E2FDDE20BF069833A09A7B106F84
ED1CCA24321E6676A1DD980CB8E433B3CD787D864DAF8BDA70194483F29FA1F1
7D331152B881D56F486B44D0B42DB05DA67CFC77AA638E19E1B52EE5B335BD8E
653374C891BB05C3C32A43531FB0ABE0C238AC0102039B787B2260F2D130B6B9
E646D5577214CFEC1CC1FFC69BC807B0C76E170444BAE7282F859E3EFC37E7A3
C496280CBD31239D2E3C993762407BE1C0827F4C36242F72BA085CE371C60D10
02B8E25CBFA3D4F007E4656E359F4D3524E61387DB9736B56A228D81D8FF6FCF
37D439978D74666E3C30F7CB92BEA58479DA5B1F863709402DDA8321021F279D
C3E94E00CF753F5FF27261F9567FC0478F51B57BC490AF906AC52F1C6F45FCD9
6C9BFBB372E0ED07C8EAC16132CB380F86B69C6DE911C8A378C1A33445F76800
2A3DB00826ECDFA25069B2061F432527B499B366BF51C3A272AA3334DD675029
F494AA7D1FD4021F322FC59769C3C59640A3B1096B6EA536C66D79E1A9118556
821D36516F6C3364DDF55BEABC4D58BA66ED00539B630692E3B35788E382D0D9
61AFB7D5B55F7C5AB1231F4286BB9803E2F1CB7A5BBFF74BAAB34830A9EDC45E
0BCE37D7CE96CA69F5F22236CAB3464461EFDD3E102DAF16A511F9900D924A89
151FB2939E10C30996AC4C8A49B6D71CCD2D1E4F1E5E46299F6B16632B2A36A5
EF2BCD944810B1134B2C2AEFF0391427AD67238960B906C510CC03196D0D7209
43E7D57D41111A0C0E6F6502E658400B0B26C586520ADD0DBD81A5068C65A2E9
5AD5387E5944A39D5AB2EE3E0DF64D545F44479C9942D442C26CCF1D3198EFE0
E3EB2E76C9289A9CFB14A6CF29646DA3FBFC4577D775C23825E2A5734E9AB48B
8A9FB937C4A72A58BE7131A69C6107E1E127EE6C2EDCB1CE215E56964A0EB840
1F943B67819AFFB2872197FB6927C123090E4CA970992CC98CAFED877D6277D0
4D6156AD31C313DCD7EB62126D4A3FFA68168E0C697E44A23E051C0A7C339E34
23AB4552CD9692048323AA46BF71547A68301F3057E2707A70DE6323C892B6DB
17D934E18FBB0952EF9AE8D8F7EE9DCEEEAF5E2CA5F5E50AD14CA0B422B0B9CB
8A424A78A98FD8C2E514EFC0319FF885B5C3FDBB5EC553E1FCDD5636A26B51F8
A8B4BF2A6DF848BF40E8042FF3FE83AF274B72061F2ED2ADC437E7A8DAF3B13E
E8A26D137402C045EAF7A4CD5684B72BE303420CC75F333D0FAFA00B72975BA1
E3C274803CEEEF147140BC4596E8D6C5808D0DA830CDE778977F5ABF8CB8F0F1
5D8A243454ECB1A315504C761A2A71D903CF25B5CE6C9412212831F93539D64C
FC6BDC1F7B9B73BAE9FDE1F6BDB66020B2502D35EF82A1A818A8B38B830E7893
5D3936F081726E8FC185058303B27EAF9631A97F439C7E38F41432E1276D7CFE
EE1CE370624E06F00C060D6484ACA52573569210EBC487C1996E139F8EBEEFCA
13A63B4DDE0E4E9C35BE9C8A5C6526AD02AEE2ECEF3893B3DCA8EA7AFA438282
7AD019B84777F1B49B1A001345993D109F6C3346C574F36C79C93DFBB07DB7CA
8A73CBE817F8DC60A5BB1ECF86CBADBFCF363C89CC8B4823581A74AE0967E8CF
7E7ED261766FAA48D39A7159E629AC6FFD93616D70720A2ED76C5F05D7CD12D2
05F6147A25AE6F2B4D2EB942C96B44829E95F59BFB6F9CED7030C1C14B304620
281419011D9D1D8B27B738FD6948FAA402D1647D991BF541AD79924DF07C72A0
9579FA6C23E8B505D55538A5915D375AFB64E4922803CF39ECE8B7CBE856DA11
00FAC0207A607CCB604C85EC224DF1ED5FB77828F85C124C134091CAD5B4D3CA
0097A4D7F46034592AD27C3D1E401791D288AB4376B381A9B2374567C7511F53
78964C0EA2B0C9E95E3D3CE2C059432C4BDB801A15672C764CDB376467A24D9B
144CF0958E121988896E72856C2DE278369146152952390A3653F25A79A94F13
7986450F9189EE483A7359D95428882EAC87CEB4695DD9392C8046C33916736D
2BF8D4FF7C7D5EE5E3708920CA06C4630B4C2BD6830E8166A3DF02CB2DFD2BDA
54A65B89022B6612BCBDB6E2CC3D710F91464E79E893703D07D1E4B6AB93FDA3
EC9C73BCDD81D5F1E8571A645C33E25F6F574C14D06D118A3CA0C046D92278D0
7A8D6666A95035CC512BF1B16798873DE4AC7B8106D6EED0A37FEA630E1DC9A7
16B194333A2C5B46CB200E41409C28503FCBE7A1171F6D2D5C31C146C59C3766
D8FB2D030C155D7815809731456820BE69053036DDBF6E05D641058755DFA2EC
D3A52DAD0DAAB6087B32BD080E1D74ABEB87C2A186418CAA6035DF92D016FB36
EF88F741A073844C94B6ADB55B16EBB23F6B5A15948C1D7DA15DAAA62D68F440
4E22FE8B9D9EA352BB04A05A5DCDB8583D6A9F87B487A92BACF1882F1CC671DB
8CF9F87528CD9D8E7251362E00FE5246C07B89EFB3CB22BCE6AC1B6FB3D97696
8F1EBA1B3B59A116AE8304C734C3EEA00843AA5D2E4C898897C4BF1D0E47D123
118A99529985B7C9D629031E63B3FCD3E69A2828D4ABDCE725FF517AFC54500E
64EB6E1DEA8948DBC61CBF2ECF58B3470D252F9C57AADF5F29F0032319A7BAFE
A6A4D33454580405CCC3F47353053B045F8A80419053607919DF559BFDD03842
05E3BBC2AF1DBDD0AD1FDB2505B8EE70A1722052CA3270951EE177331FF8D684
FD6D35B110E3F889E2BCC0DA6B037393016F88F040F9AF0DF5078BDB453BF9C6
354AF8F4D8B64E094A5A986BCA1381F08C4082DED9F75A21A1762E1E8D978175
6C44209AE85CB7DBE35F302958C1B4B5451678A969A5FCA4D39FA74912C4E772
8BB81D62C5475D2AFFCC389B895F7A6C1BEE56786825F86A9CA0A9D399DC593F
D7CA791CB9ADC9ABECCF19F86C1A3D901A6AC63888C15B73EDA505A5D56C9927
DE373AAA9E75CFE93E4F350BD3732C9F7626B8FB68CA2FDED42716E5EA7D5240
F37022BE36DF265FBE3B4FD80183611C8E03E036440D4F23D65C1623B40FBE97
DA7D19F91701156F56802487E68B6320023A6AC3FD5AEAF7997883F0AB28A19C
4D796CBFF0E53A32176F769DF3BE8EF726206A0F55AF12F0A97F0A2A5BC095BB
33B010F0C277DC248BFF34FE0C44CE1521DEA30D86E569A428F26FEB89982425
44C2A62B2F1208623163850D2E7EEFE14B59AF62EF17A52663139D30E3EA2153
FCDF486ED1AA5A0F6F9519B0B6A70FC65E0D761EB722688BD4B48715E23F075E
7C45311707707A34D8003AE88F5C664A916B580A1E498A2B24CE54B89677FB30
2E8BBA0EF38E888BD39FDE59EABDBB97C02354789913BEC7D9EF294070ABFD10
72CF1B833941844E7917217A811DD3B4C0BACF779439540C93D9DB984BD035F0
87620B521EE0C55F8AF491AD5BC6688F6ADB43DCD42ECD607CB5EE8C19664934
9DC3407EACEF5C800D0FEE5394AAF9751B9B74E55A9CD591F28C5C04885C641C
22724FABFE55793EAADD50476F14EBD9BD757E877B8E4406FB7658A28A8875AE
46B13E780604FBC56708902D27627365BF7A3A8CED94F84FDCFE0D47ADEBD5EB
D9CBBC6EA51858DC70D743D0383EB10D025D7A96006949230BA533BDD30614BF
CA7913EF0E17BB598F0663AF4DFAB68E9CEDBFD6983B8D284437290A8BB9C77D
FA1DB7AABA84720E9D145C540DC2E635EBB64683F638DBE9C6E0926E728A452F
2D8B070CECDF7F130477A23FB5AFDE818B7BCE10798D8B04EC20CCDE73A78580
29E54B0D48DBF8848D56342585EEB215EC65DAAC725ECDE74C0D1B180814598D
16B214EB068DCB8E39A297F9119EE30272DA0A17D384917E198171390C063566
72267A9E071D7CF7B4DC97287425D178782C1BD11B132A96BA7618F8F9A4401B
7628E596462C07273FE3242A2AA89573886F08507C50D7F3DC3270D996B74B8A
B0A4B48FB3C48B5A089DE8BDFF6F597BBB18D4966BAF5FAA49D3162B592730A0
38EE576325D6B0A97210C307C8BCE260CC456404F908173303868B8F3BD23FEC
EA8F057222C95AFA381D6E16655F0411700A44BF2225C7C5D8FCC83799F6E717
F1A27298A46F2D344A607B078FB936058B00A8AD42C4EDA33836D0D6B122E276
3D00A8CC2E65DE3981153F46E8213371ADBB156E7F91DA185D752DD2E67EE6AA
FA6C0BC28693A464FD2267DE7248EBCEC893125B3383EA25CB36B74B1DCBC807
E48299293103F36C81FE86D57400D3F7B63437CB560DC6C00DB3529C8B6E9322
A2B3F1FFE1905FAD09B5DF4FE9F6EDBF85F6F72DE16E1768A273DA5F3D244852
9F3C2B6436D5D564A6F2D711405C8101DAD61F853A87A9A40C1799C94FF54957
A0990BDEF3BAFBAF9C1EA8EA6505098601A67068DCB081A741A434CE2E7ADC8E
36EC2B630CAF2B52018DA1452D26F81849903F5A69A676C04798480BAEADDB63
53FE90FAD0D5B2ADED47D6C779F39D9E36EAD1481C3C764341F8447A6FEA70E8
1D0482A872F854FB59A7A4BBB21F19B4A049E239F617B0FEF3F2D79E508A53A9
9CB8548D27493ED15C9CF4D622311B407CB069F3B2A10328F08F049888C51730
8E1E12A3BED78D34019150C36591A7140FA4B35C8F29CF8CCC738450FBAE1067
5C6EAB14157865646AE789B59E9B819878C6BBA20A1C52A652437BDF16CBDE39
6ACE0A7DF2883F8E5911B3C606B8B76C8FEC365662C1B147225BFB1F39633170
8C515BF58BD3A315EADA6908DC087C9B3B882942B2F743F9DF5E289618802B90
D46D0D69CCA2C9E763778E45DED2E8229F663C815669A1CF555270F3B3280CEF
F01F980256B58FA207B5E2BB256EC89A20C313C782ADA5B83B7E86CFDD71B051
CFF5B55AC96F8FBFEDCBC612607778B5E038A410829487D899367319BE18F254
AC5EB2F5070971AF9AB96D9F6EB2007EFAD5ADA8B23D65060369783879422478
753EF07BF3DE343B0E7DE10CE5B416DB4EF98894C683194BDAD8AAD002C8D077
952DA33A9F7F2EEEF80A6087268C1CF55599297CA2796C0E6EA67C85FBD8EF36
A2FD904D70642E779FAC15E75C9932FF201596FBF97376EED4206E0E0AF051D3
60B7F619360B589ED7F0EDFCB0B8A7A972ABBD7DEC1C7FBFB7189C7AE30A1918
EA6C36BCBF6F54AA0D402DDBCF90E4E729788D2208F901644D77BAF73B9A85D8
8A6D3AF7B87C035E0EBDC9620276AE09406DD06463C8178CBC422B51472CCD20
C90D4F42371BCF0556D3D637909E939834011775B1254B17D34808CA416C78E4
53A547CC65097EE13D426C7C14BCE22062B1418D828F8954884C25C26E09DA86
F7DD79760B8D299C43CDC2BDA851E90A9AB4D7334D3074C4EFB19E919155EC9D
12933024075CA39B35C99B026504D393679C55AF4FA7019793F3FB860026ADDF
6455C6D6663161812DF0F0BBC1B5392EA32628C7294BC9CD1EE6817F1EC107AC
FB99BB1F894FA1BDE7339F4AB241CAA2481DE9F0456B6DC9319FE553480BE522
7B23C8F50C42AF9FCB5932B18BA1B61A1081CF5A740ADA3B34C3552456CF7509
3559500504B8EBBF32198C626DE82FCBC9B30AA4FBCC57B615A2F85E86ED2F82
D5E759E841B28E69A37DC9268E073825E849FDDCEB0C90EC41CD7F3BCDF15C90
6334D387B7C9C86CAA5BEFD88C4EE3D3C3F51B022F8CB7FB9D0CB4A18711ECD2
2F5FE17C65D6E75AC0949B10A59C202577887E633447FC1218928D0E5A47972A
FF7C5745C3B773227AE80BD9B584BDDEBD68C4BDE5EB6FF8F4FAF655709D5975
256DE97D31A9EB9BF5F2B2438ED1DE36891062747B0C7D8F4432B2443307646E
A3E98D42CF2FF67E99CC0A2BE72BE0CBE6E0A887134B81AF75AEA5AF66B2BB9C
418D504D7F7416F28337C30352D3E9348B1904EFE015666A099398FBA82427BC
73762CB58163CB9128D64D49F48440FE4D469DA81C1B5A2CFAFEBBA7AA0389F7
832E1549D6EB97503E68EA6869A0FA3C10120BA8DC92DCF76332839CA93C14EA
8B4E7F6E414C6FC07E0FFA4EA7204BA4D38144B39FFC988A6EC07C8170C868BE
A0FBF881B59578339A8B4151FD87751068FC7A2E4C1208C2D8CB9AB9C1E179E7
2D31ABEBF7C8269174C77E16A7BE7059733A44C0C43A64DF500FEFCF24141A39
F1B39C6B0F69884D0A27D4AAE80FD3118101A0558DE4826F2B497FDC9BF07F54
8DE4ECB38FAFD8EEFE3BAF1B123A7B40BCAA2C72A0F1160DD33CAEAAEA8D6D3E
B00FF1F46174B5026C79FD311871CB7D4F8C5413C055C4189F05DA6FDF561D15
105FF917A7275EE3DA1EBF8D209630F4C7E6C60C3A956B88BF899B74289C8B2B
EAF7D346EC4440B7B011BC131ACC58A29C61CC8C0DC99AB2279BAF1C3BAD41B1
F8F91EEE977D7621407C0089EE3B923A0D09AF3C0EAE14554D8A231C4B627279
13D7F795771517F6B0AAFD8137A005683790610D7B37704C205DC0255C80FDF0
9BF3C88CE074CBA4213300F8C772397813C5F16EB5210F31E44DF38A679321B0
69D62E6D482F71DEE4B7BE3E34186CB0C2465375DFDEBD37FA1F6A
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
cleartomark
%%EndFont
%%BeginFont: CMMI5
%!PS-AdobeFont-1.1: CMMI5 1.100
%%CreationDate: 1996 Aug 02 08:21:10
% Copyright (C) 1997 American Mathematical Society. All Rights Reserved.
11 dict begin
/FontInfo 7 dict dup begin
/version (1.100) readonly def
/Notice (Copyright (C) 1997 American Mathematical Society. All Rights Reserved) readonly def
/FullName (CMMI5) readonly def
/FamilyName (Computer Modern) readonly def
/Weight (Medium) readonly def
/ItalicAngle -14.04 def
/isFixedPitch false def
end readonly def
/FontName /CMMI5 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 60 /less put
dup 62 /greater put
readonly def
/FontBBox{37 -250 1349 750}readonly def
/UniqueID 5087380 def
currentdict end
currentfile eexec
D9D66F633B846A97B686A97E45A3D0AA06DA87FC7163A5A2A756A598FAB07633
89DE8BB201D5DB4627484A80A431B6AFDBBBF23D4157D4AFE17E6B1C853DD417
25F84CD55402AB88AB7EEFDEDBF2C2C731BD25567C53B474CCF739188A930039
098A197F9C4BE7594D79442B2C8A67447DE44698321145D7689B91EF235EA80E
B600AA8E238064F154284096C4C2554EFE8DDF13AFF8D3CE30E0999375C0FEE6
F992DEA5FC3897E2CC8B7A90238E61E41622DE80F438DD994C73275CC52249D9
F6686F87F394FB7BB668138B210BEC9E46415A1B58C990B81E7D7DD301143517
4C2A259D2A0A1E200F8101469C10D7D537B0D4D39296A9AB3F132DA9A3B459B0
F850E2B3A03BDCB35AEF82285D19C38F474FB414F8EC971B994D1C7DD753B271
2B71549DF497C665DF0F266988209D9EB616E4D9BA229FF984E7A886DB01FD21
48ED2E4859FD6416C2CE52537464EA884C8C9C2D1083E2B83BE4B766474C23B6
6E8EC5003200AB10514BB44D14CA700416AB6B2683E80862E7D5B49A05526A32
554BB23AB8B0824BBA198E3825CE82380CC0FECF46651E3E5D77F09465E73164
20342822F29572BC7F73F2C3BF95ED3BB6FDEADC20C6AC866C4F2C679594D7E8
8D944704A3C5D771DC39503BECAB89F34D8CDB8FDB91AFE21F3F0260D05E90C5
73E2C13DFA022C4522E5918EE25038A0498FBB530DA33B0AE238B1C6ED03FC04
2BFED8236E07820C5BAB411EAE1B31D93A2FA7C374B1725FEC359ABCB88E2C89
214529A263D795AACB0B95A3AB2F4E08EF350C282CE521716DBB06E5B8291B3F
5D4ACA230FA192F64BC902A4C8842C0F916F92FBD002ADD408BF0401D0284FBB
F05D4C6DB631420747CC902C5E1617E6573612FB26C8378DF41FFB5048D3CF06
4893DBA48EF4B043D760F60C75712169D16C83EE020C45369E443E853E1809DD
F395B812067D6FDBD26111B34F42C21036AF952D0D767FD17F6959D9FDD46005
D64FFF54772B50BB9B173AE79702981F58F9F235C591F476A31852174DF0619C
A470359153DC32610E782B204E7945515464DACE9099B81EEECC7EBD4B5126AF
C3FD9DDFB329AF1C95C41FA4A5F6958869509A23BD7210386329771FA46FF926
0E54AC35106253EE140449425A8670E1F92B178A02A58EB57540F4BD8110E548
BB584EA6D625C5F5FE0124A98E49915F1A1B95D2125874360EED1C4379FEF3C6
90E5780C20309F11F2F23FAD635C44BA030B39EFF083A3ECCDD2641DCD35B24D
59A1A8D05205EE919E493B61A71A6094495FB548138663E5A5502C030DBE36CB
DE41888F3DAB30D4AAAB7AAC1DCB5A962388B744FBC56F80DA3C5BDB587DB825
602078D33F666EDFE5A13C498CADAFA26219A6DBE0841F38229158BE544304A1
55DDF025F255FE43CF617924D01661324B69801830FFB4DB7A2B3DB969312A8F
F23DA3283566E2C86D0365E3078A787FF1BD15096EA53567D7BEBF6F81909ACA
0FF21ECC2394991B8FB4906C4FE8944AFB9723E8B41B6D136AC07A77E0C86DE2
34999D037E8ACC61D106BEF9119062DE01B3CA6E9B28029092EE369D3E3F4702
04A474047939BCB2721F5DF37A27F2701801C7EEF1E0AA7A3725EC2FD6C44EAF
56ED90365FD343B6CF59E5CA7B549B55258F21BFF3E5CCB2BFEECA22D1612959
B414CDAF8316F642F229A91827FD046DEE93957A192632DCD62F7138D32D5825
61D426BC5387DE69C1E5B96605838A7141F261BBAADB755D3F3735B33C8E66AA
A4ED5CB3B56202974E4674AC8354F8E913AA8FC827649018B636D6
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 40 /parenleft put
dup 41 /parenright put
dup 91 /bracketleft put
dup 93 /bracketright 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
7D1888B284904301450CE0BC15EEEA00E48CCD6388F3FC3C8578EF9A20A0E06E
4F7ADDAF0E7D1E182D115BF1AD931977325AD391E72E2B13CC108E3726C11099
E2000623188AAAC9F3E233EB253BDD8B0A4759A66A113E066238B0086AC1B634
5ABFF90E4B5ED3FA69C22541981B2BFC9710AEF6B50A8BB53431C7B4D380D721
639E005D6B4688EE16BFF48443E7C9E5FB5BC5883E271CB03428948F9221D912
2E2F3750D1A1AE5FF546535E1DEBF69B458DF49EA3817D9612E5C9A0B7A698E7
5F576FB653DE1297A8C417599917F9D75D42234E54B4B1E99669BA5A40B4AA21
43CE5634719D8F3536694F15E4F8E5B7D9CFE15B68A7D53FF47B923F0AB3CD4F
FEC1BAA7036B5936213BB109CA9425C69A28B7221E68FC79848CD6AFB220F45A
A0D21EC1020DA99816247E6B49FE263926782D00E5B3A57151761303FEA24487
F85FB9B6E6C83B05B38B3BA7F81776B082204C032D467B91767AAD865BBF0F1C
271649C2ED9F8111C5637017470B3F6C3DAA3AF1705DF2B7838968B4EA7F9E62
BE7DA1AD8D81D3608EE86352BEA38DB87A0D57A5DD28829D8728077ED4C16931
59E158F9155CFCD1CE098395826D7D29C56EE27BF71132F6F4BF467EA6B120D1
E0F831D75C9A66FE8B0BC0BE434C439878A75A2A7E8C4F395C26AEEE8FCFCFCD
1DA8117D1DCD5FE02F4C1367DC3A31D289A6E900F0E75EC4E0F350BB84070E1C
3D7FE3D3C7E79415189A7ABAB7F243D687C762779FF8BE2C8538A1BC20AA1EB7
CA06BD220E64DD5481B450CB954B9C5FB64021E299CFEF9FEC04BCF715539CCC
B95E46AAF9EEC67291A8862DEDCE21ACEBFF891E73816C9D419B5A63F37474D6
014017F33414DD969812F96D66E8A31159DF56015A2E810C22B1509C6FBC14EA
CEB252F1E51E30426E5093EA63BA3F8E19194EC7533D5194900F1822D0561936
0A773EB7F22C14DB9260C99EC161B30A5753949340C8972530A7941D43BFA63C
44253D72913F2BBC4902
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
cleartomark
%%EndFont
%%BeginFont: CMR7
%!PS-AdobeFont-1.1: CMR7 1.0
%%CreationDate: 1991 Aug 20 16:39:21
% 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 (CMR7) readonly def
/FamilyName (Computer Modern) readonly def
/Weight (Medium) readonly def
/ItalicAngle 0 def
/isFixedPitch false def
end readonly def
/FontName /CMR7 def
/PaintType 0 def
/FontType 1 def
/FontMatrix [0.001 0 0 0.001 0 0] readonly def
/Encoding 256 array
0 1 255 {1 index exch /.notdef put} for
dup 49 /one put
dup 50 /two put
readonly def
/FontBBox{-27 -250 1122 750}readonly def
/UniqueID 5000790 def
currentdict end
currentfile eexec
D9D66F633B846A97B686A97E45A3D0AA052A014267B7904EB3C0D3BD0B83D891
016CA6CA4B712ADEB258FAAB9A130EE605E61F77FC1B738ABC7C51CD46EF8171
9098D5FEE67660E69A7AB91B58F29A4D79E57022F783EB0FBBB6D4F4EC35014F
D2DECBA99459A4C59DF0C6EBA150284454E707DC2100C15B76B4C19B84363758
469A6C558785B226332152109871A9883487DD7710949204DDCF837E6A8708B8
2BDBF16FBC7512FAA308A093FE5CF5B8CABB9FFC6CC3F1E9AE32F234EB60FE7D
E34995B1ACFF52428EA20C8ED4FD73E3935CEBD40E0EAD70C0887A451E1B1AC8
47AEDE4191CCDB8B61345FD070FD30C4F375D8418DDD454729A251B3F61DAE7C
8882384282FDD6102AE8EEFEDE6447576AFA181F27A48216A9CAD730561469E4
78B286F22328F2AE84EF183DE4119C402771A249AAC1FA5435690A28D1B47486
1060C8000D3FE1BF45133CF847A24B4F8464A63CEA01EC84AA22FD005E74847E
01426B6890951A7DD1F50A5F3285E1F958F11FC7F00EE26FEE7C63998EA1328B
C9841C57C80946D2C2FC81346249A664ECFB08A2CE075036CEA7359FCA1E90C0
F686C3BB27EEFA45D548F7BD074CE60E626A4F83C69FE93A5324133A78362F30
8E8DCC80DD0C49E137CDC9AC08BAE39282E26A7A4D8C159B95F227BDA2A281AF
A9DAEBF31F504380B20812A211CF9FEB112EC29A3FB3BD3E81809FC6293487A7
455EB3B879D2B4BD46942BB1243896264722CB59146C3F65BD59B96A74B12BB2
9A1354AF174932210C6E19FE584B1B14C00E746089CBB17E68845D7B3EA05105
EEE461E3697FCF835CBE6D46C75523478E766832751CF6D96EC338BDAD57D53B
52F5340FAC9FE0456AD13101824234B262AC0CABA43B62EBDA39795BAE6CFE97
563A50AAE1F195888739F2676086A9811E5C9A4A7E0BF34F3E25568930ADF80F
0BDDAC3B634AD4BA6A59720EA4749236CF0F79ABA4716C340F98517F6F06D9AB
7ED8F46FC1868B5F3D3678DF71AA772CF1F7DD222C6BF19D8EF0CFB7A76FC6D1
0AD323C176134907AB375F20CFCD667AB094E2C7CB2179C4283329C9E435E7A4
1E042AD0BAA059B3F862236180B34D3FCED833472577BACD472A4CD5C7347D2E
1D0D6630F446F3708FCB29A85F40B4DAB4D60AA8F5B2DBD67F2E45D80C7A7E86
144669F75F8FA14609F8E4246FEC475ED262E03D30393C78C7828206842B565A
DBE20EA52EE9C4C3862B2F5F12CF89D935B89B84A45CEFCEAEE8EC8806339364
56FF1FE2E5112803E3E40162D5188D2210A54816AA9960611721C23A292AE80A
8F8C0FB114D71C111700B0FEA8804F37C5D31ECD7006603C53F4BDF7208286AF
3A25CEE58E88BF81A4800B68C2A19EBDADF9B1074702E779A7DD915EFE09D35E
BD176D7346D859D0944520171C4E97696AE0502C43C391FCE5E8FB1789065E18
BE3AF62200D57912360411CE848B4550D1B0A3BA576F9B41CED3A23E753631A7
25375ABE8A4B55BC65AE2EAFAE452766961965093084D218637FB447795CC991
EB1EF26BF82B7A81FA847ABD3B559D35828AD7DDC5FC7B43C6C14E6ADEDD7663
F272AA9A121630C5263D58773BCB1437EC2FC54C4AF90E677A8E7D1738D003D4
18998C03CC9AE182E7758767FEB5E1B03C6CC32AD30D0ABAE6552290771E2CB1
A23F469A8447C1868C6DEC2C3C2BCFC691867E
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
cleartomark
%%EndFont
%%BeginFont: LASY7
%!PS-AdobeFont-1.1: LASY7 1.001
%%CreationDate: 1992 Oct 23 20:19:18
%%RevisionDate: 2001 Jun 05 20:19:18
% Copyright (C) 1997, 2001 American Mathematical Society. All Rights Reserved.
11 dict begin
/FontInfo 7 dict dup begin
/version (1.001) readonly def
/Notice (Copyright (C) 1997, 2001 American Mathematical Society. All Rights Reserved) readonly def
/FullName (LASY7) readonly def
/FamilyName (LaTeX) readonly def
/Weight (Medium) readonly def
/ItalicAngle -14.035 def
/isFixedPitch false def
end readonly def
/FontName /LASY7 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 50 /a50 put
readonly def
/FontBBox{-23 -206 1077 685}readonly def
/UniqueID 5011946 def
currentdict end
currentfile eexec
D9D66F637A9E5292A4933615152D29EEC26E1BED2E48CAB7AC058698EA30B07E
F8BDB66981B14445E1107420FDAF32EDBD5C26E35B334E3AF24373B2A13984D9
1D56801ACCF98612DE2C19685E0F4D52369AD642D169AB57DAB10665C6C01538
4E7DF30628B47D6551F93A50553E592B5E1540B411A313F39E4149341C981D3C
705F8AD7782F59531404B3C001D8B882E0C5468D00B26040A352ED823D7C8DF4
B632A37A034C6304A39F28739AC3D634CDC707B53474E63135975E7F0FFF2458
99878B3A6D8D7AC6F2A2728768B8C2226075299B8CB08B76AED9A00BF448A646
87014E8B1C1723204BCBB97BF0F735E436F1805B4026CA792A2464E1FEA5F6FE
DB9D0AC1A487281E2A1B534501CCF5B67ADEF8A2C129B199CF24D46D7212A046
CBBFAE80486200C6037B3F9E995C34C97AC775B527E2557CD1956CB28CFE63AC
781572153003A49D0913ED58C88D0F946570FD9BEA98F7FEF6D5F7E05F69595C
2E6FC1480027F2EB1FBBFDADB6D6DAB4C2AFEC00F2E996D8AC8B25C2C0F59D23
C99F2767325EBA7F568C2F6C191F4ED92BB5A9B8681BB4C100C442465CB0B4DC
6F99D91DEAC92D071470EC3E39A664CFBDF9A25B8147C9272AEAC2BDECF5F9CF
4456450CD3958BE859995D22DCBDF4B291F1B149091DAFF47D5AEFA9496FA24C
565554AF04D35E66B806C5E658A9406E215A8504858E744AC67FDBC2B68CFB12
9CDB40F754A806D7FA078B911831FA2BB52F58C00DF6D43DC004780026BFACFA
6488683940E88290FEC54CF5C92D9D07093F70736336F56C1723B3AEB01C18FE
8021435F3744DC38CCB5706BCD226653750F9CEE0BBD15A0580678F2AA58D58F
6578DB30979BA9BD10EB02BB37F2E4CB7F083B2C699C39F179820FB8C2DBD7A4
E7EDF03E83F7536946A3F532650AC5CD48C10BA3AB8F67915EAC0053592CA317
E0A8EFD1322398DB7D9B32ECE97791A00B49839C58E426531833D30F153863E9
2A79516C2878AEE6916F0FA78F94714ED709C10DB24955FC0DE6769D34E4E1DB
2ADED1775C5A5A6313C93B6A0195311B4A334B4D9B914EA59194239AAD1358BC
269B8CBD35A7685ACB29282D46440A38083B9CB2258BB81E2489B5FBF551AEA1
330D4DF70E9E650964A369CA2F77DEBD0CDBCECDD2DFE4EE609FBBCDF40F1331
636EC76ACD1DEB43CB2F3F0EFB6C4E3D4E0D9C2280BC554B8069E12D0EABDBB3
BB21317625BBF133833F49E85EB7DA56BBC7230E0662842B2D09C5DA7801EA05
D1E539A4D5B0C86CC7677CE10A59416480CA2890D500CBFC8810EA18C3CE91C3
D77C9085218BF5A6E903C578CAEAD2C13DE98CCDC83FD58DD86AE9435F800899
6DEB7F8CECDDF9A2DEC084AF662484CF7C41B2174021593C89593CAF8F04F0C9
0A3C0E7DEB5EA5F9FF293D7CC9787FA3580A5D3D3B10A5831E8A2977FA12EA03
9469C2B9F2954F3F3F7F0D9A2DEC31646AC2DDB19900D1F51E70871C7FEF1BF3
0A80DD408596D3C7B0B661
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
cleartomark
%%EndFont
%%BeginFont: CMMI10
%!PS-AdobeFont-1.1: CMMI10 1.100
%%CreationDate: 1996 Jul 23 07:53:57
% Copyright (C) 1997 American Mathematical Society. All Rights Reserved.
11 dict begin
/FontInfo 7 dict dup begin
/version (1.100) readonly def
/Notice (Copyright (C) 1997 American Mathematical Society. All Rights Reserved) readonly def
/FullName (CMMI10) readonly def
/FamilyName (Computer Modern) readonly def
/Weight (Medium) readonly def
/ItalicAngle -14.04 def
/isFixedPitch false def
end readonly def
/FontName /CMMI10 def
/PaintType 0 def
/FontType 1 def
/FontMatrix [0.001 0 0 0.001 0 0] readonly def
/Encoding 256 array
0 1 255 {1 index exch /.notdef put} for
dup 25 /pi put
dup 46 /triangleright put
dup 47 /triangleleft put
dup 59 /comma put
dup 62 /greater put
dup 65 /A put
dup 97 /a put
dup 98 /b put
dup 99 /c put
dup 100 /d put
dup 101 /e put
dup 104 /h put
dup 105 /i put
dup 108 /l put
dup 109 /m put
dup 110 /n put
dup 111 /o put
dup 112 /p put
dup 114 /r put
dup 115 /s put
dup 116 /t put
dup 117 /u put
dup 118 /v put
dup 120 /x put
readonly def
/FontBBox{-32 -250 1048 750}readonly def
/UniqueID 5087385 def
currentdict end
currentfile eexec
D9D66F633B846A97B686A97E45A3D0AA0529731C99A784CCBE85B4993B2EEBDE
3B12D472B7CF54651EF21185116A69AB1096ED4BAD2F646635E019B6417CC77B
532F85D811C70D1429A19A5307EF63EB5C5E02C89FC6C20F6D9D89E7D91FE470
B72BEFDA23F5DF76BE05AF4CE93137A219ED8A04A9D7D6FDF37E6B7FCDE0D90B
986423E5960A5D9FBB4C956556E8DF90CBFAEC476FA36FD9A5C8175C9AF513FE
D919C2DDD26BDC0D99398B9F4D03D5993DFC0930297866E1CD0A319B6B1FD958
9E394A533A081C36D456A09920001A3D2199583EB9B84B4DEE08E3D12939E321
990CD249827D9648574955F61BAAA11263A91B6C3D47A5190165B0C25ABF6D3E
6EC187E4B05182126BB0D0323D943170B795255260F9FD25F2248D04F45DFBFB
DEF7FF8B19BFEF637B210018AE02572B389B3F76282BEB29CC301905D388C721
59616893E774413F48DE0B408BC66DCE3FE17CB9F84D205839D58014D6A88823
D9320AE93AF96D97A02C4D5A2BB2B8C7925C4578003959C46E3CE1A2F0EAC4BF
8B9B325E46435BDE60BC54D72BC8ACB5C0A34413AC87045DC7B84646A324B808
6FD8E34217213E131C3B1510415CE45420688ED9C1D27890EC68BD7C1235FAF9
1DAB3A369DD2FC3BE5CF9655C7B7EDA7361D7E05E5831B6B8E2EEC542A7B38EE
03BE4BAC6079D038ACB3C7C916279764547C2D51976BABA94BA9866D79F13909
95AA39B0F03103A07CBDF441B8C5669F729020AF284B7FF52A29C6255FCAACF1
74109050FBA2602E72593FBCBFC26E726EE4AEF97B7632BC4F5F353B5C67FED2
3EA752A4A57B8F7FEFF1D7341D895F0A3A0BE1D8E3391970457A967EFF84F6D8
47750B1145B8CC5BD96EE7AA99DDC9E06939E383BDA41175233D58AD263EBF19
AFC0E2F840512D321166547B306C592B8A01E1FA2564B9A26DAC14256414E4C8
42616728D918C74D13C349F4186EC7B9708B86467425A6FDB3A396562F7EE4D8
40B43621744CF8A23A6E532649B66C2A0002DD04F8F39618E4F572819DD34837
B5A08E643FDCA1505AF6A1FA3DDFD1FA758013CAED8ACDDBBB334D664DFF5B53
9560176676BE05041EFE060F63E40701FB6BEDD98B47FCD8454AB391EE747B0D
D7673DBB0828167D9D5A368EE6B44A55DB55AF79CBD4B7EAFCE0DF7CDD16F174
7820A2766511FE2419CB6EAFEBB423137546335BEA3DFDE52519F984754691D7
6B5A89CC50D5D890F7E7E8B5FFE672658F6C6B0EA370558E4D7389B28C990F26
D203B83BC1F78CF401C28309588F43DED5BE64EFB3BABBC6DABA7D4BCC08ABDF
BCC7337D29EC2A23373BD84AC5990BA457C772A01C351248282400947E5084E7
AC8C4126A69E33584829733E1231DE32AAC3B5498E0B73807A53EFBE35FFB5EF
3EB9277A2291118C24CFE7ADD4792FE075EA8F6B2682658C1ACD0AD25CA38C11
C62CE364BF9C3A372625A9ECD7FE95610FDB56AF3D13351BBD1E7C1097FFAC6D
5B2685A219524B33305899416AA56492F7182D2D7793C1AADC06E093266346D5
0FC8EBB15CB46AA57E9C5AACE7AF59B578EFDC590756F615AD758A7ED5EC9847
74B42DA455B9DD1C176E18E23858D72DE073E1816194E6783EBEF4F3EF70DECF
B47EC1D84B617120FA059FFB18A7FAC1B670E37906826CCA6BA557965D7A4533
F10224F49013CC875C71B182A9B1CAE43C23F180A3D78A34BDDFE22372F7574E
97A1B48B5308CA9F658D5AD74007FE5810F2C021400FA16FD2BB883B4CDC0C36
64D33899B635929656FFD146C659DB6FEA46899B7B9D0101B81729B07294E66E
AFE05332F0F1D6FEB7FF0251AD5C22BB733EE0C93114BDD3CBDF1A49EF23504E
A1F958F8BA57EBA80070F022BF8B09AC3B7A1025DC434C3F2BD24E00FAE76C12
D4B3A9B7E209808E08605C900641A1F789C104D05FC3C28D3FD272FA500E9673
A51981B651C891E9BD9EF2812EFAC22A8BF65A9733933E76FD1709F3AF14C119
909F4287BB88050177EB08EF9CD26F4685B48DF4AC78CB45F23C900ADA978E54
98D45A1D0AF846F1BA43C66D2FB610C030A7B4851812388F9CF46C24F1D639F4
80104EA14027D2A8B444BB39424295D37C0BCD2D630267654E9D131322861D70
E0B80FD9748A5EA253D6B968FDED29A0B859540BDD9CF0BB191BD3A7420ED0F4
32740F9AA14A67AA6843609CA8F49C9B161CBAE81CB5A2D21B1A81C85E145B4E
282F776AA43962587250CB7FC1FF1F6FE7323B947EC204E2029E16D084A8EA35
CF9F1942D0AA0EC6E816C06EBAECCB61976060A64682B299E0E17729080E2459
22833BD52F7C8C32A75FE0443696E246D9695A64F0407BABA44ABFB64A9605CA
7BE87F3174A118F2F88D7691243CE333851E44D8E13CFFC4ED3F13C42BB08655
0F61CD6CD689E91B83E3ED36B039A6455BA1B94700EBDD793C7FC391677AE2FC
1139A2DC429ADC06B8128F21F2392DA84F96210E7B5D82DC8C5A2F6650E2CF91
9454A412DD28EBCA7BE078C60FC9962E44C130D536FF584F7D276F839E341C64
986928CC91A95B474AA41A6FDE15EFA3915AFE921556F45B0E96E56020F9DF86
586AACC7BDB8E2A345A011838B1A025084230F1F8E22E48D4F90702EF9B99C2F
2EC5EE376248C9715D3BED361573452000F4DC5BB6D5F4548E8FC7F73D44FBFE
60809EE998B680BA6A27AEDF00EF1FAAA7DA0C47B4394770D6FBBF76C0ABE82D
1CAC15E18C862ABC02ACA9AAF514C4A92FA5CEAC6621D09F5D92CCDCD45F649F
D769F64A08751B3D2FDFA8FE39978C910AE7C2562EC8D5E73F7366DA034E857B
E08DAA3040DFE591678A1F1395D6CAC2F2F397BA9839BBF5182BDB3BFC7DDF1E
6A5426397C7F87D0617922AD57556CEEB61810BE1AF8F946E1A9A0C80BFCF193
C9A539DB674719BE8CA72773D637012519836264D116C56F18F6F61DB9EAC490
AC950E01C73E74515620CA619CC39C894A93E2735EEEEA5DC130281F161A56A0
99D8E64EB8D05101D72574A91445B4AEB21D10C54100C88DB8F19B40CBD6B209
D541C88874C7B3FD7110CC92264051407B2FC4932888E1B1434928D2DA21057B
0E8258F700C9E6EE7951C3C92408EE2A70B9D16849443369705FABE1EBD22A35
2A5B937B1662C555964C024A79B2944E1F7974B938C466C2745C6B0C7A93FD86
03128BC34E2BFD28FB340BED7002752E8D0167056C82CC2EE87C78F54ED0F924
88957653EFCC7F34B19FCBC4E048063A63034F8C68D035096C5F33A2CD456CCD
C436B9237C472E760A0FD0C40100AE2F3072A3B210409BA12027C206BEDC7247
CD743E41D9BB0E49809D23E48638CDBD583573A0E5A2DEE0B342A5EB5BBBA645
6FE71E1E0A0B44EEAF27FB6085104CD80D02281F12EB0C31B31AE0A2D31CE058
91B6DD7241C439DF5657A6226575ECD9008978EF07251409610EE08D8770474D
339CBCA99E384380B686F97BF2ACAF0A96ABE155F9A4BC7EFFF58A463759A44E
E15D55FBECADEE74634C863D7D953ABE408F2AF9542D6C197D5C24DF04C5DAF3
52073D9187653A39BE33AE9C7EEC36B62AC4336CE9490FD3D8D26AEE9F104E91
56ED2DB632AE8832191FB369FBF037A945A5D751269B62C69FB06E413EEBD36D
726941E02EFC1A50FAE364CCB66C187B29451ED71C0F3B23B3E85B39D87D35CB
FCE63F204C21978F1F71208BF27AF805AC2C868938B927866143BF9EA20F58B7
AC2D92C07F8AC98FDE09E9F4113A8D4CB4FA9E4CA9DE339A33ECA5A0B27BA381
5F332FA97F6AFFBCD560C5B85893747C6E5C49D1CAA8E313A6F41FA9EF97DD23
E0938A648B424990CBB79F0C41B4FDF6D9AAA502E61603C2A2214B318701D3B8
2B8EFAD259B797D1E56A5A460E3872857BDDC137850CAE94203B9D802D857890
389D816737801F290BCF3D6169C1C70E7B0DB4C8B7AC33CBD220E141251A2689
42231BAB212D32A4288FECC1CF240780A4DA9542133615D12CB7F8E09F27B6BE
56C0B055186352E86A33776116684DDF07C856DD0174D4E8F0B369C17C2EED55
184228730134465943C972AD89EA97B8CB0D7CABEEDD33DE1FDB0DF651EB503F
A408848583DB975C2BABB4E01EE6DF98A300F96C71A8E179CA7C05CBB6DAA0A2
7B5BA5D638BFD139738B366C21BD6528DB4145E86082DD5C448E2411732160C1
DEEE0215B6275113F24AC2F30F1EB459A57EDE8BCFF28FE72D1AFEC5417FE6DB
9DA0710BC57753658CB103F74D2F63D887352EBCB9554466FFBD45CEEAC7B289
157D7315D8CCCBADFC8769D1AAE3B2801F71CA0F1DD1E4FDEF19260463AA6E64
5A3780277B6CB229CBF577E1A7784529DEC01C392195B8DC9511A5214EC7C71D
C91B90C1751CB96198240594FB448473CA530077DC611BCEF354E9BE8D3B01C0
A23D065EF135D83F1627F9ABB313C858638A2A2D9DCAC9FAD8756BDA63F5733C
0F125EB9644C849AB4225CDB9AC78595E401093FD36AC852AC897F55A10B2138
A9A28023BD40F0DBA638FBCDD354339AF8353B5CABC46E606345D38B1D499C29
C4A1ED615A341AE9157F1428C063891D6620C58F3F0FB7EF316D383615B5D05E
9E1F287FF4E9688DF0D01193DCC92DAA0D5013E7A0DC0C0F8A0119A14174D445
6BB1FBCCA03D0EACAEB57D06BD7F89515141B2214D72F0FA19D7A01627611FB2
9CB64FB3A05FC6D130AA7E4610F805017BD086F3256F8CB1DE5837A8B94B8C8C
D58DDD470B4D1A43458C16ADE37C67C5F271F3B05E123EB4D30A2B572EA09BF2
42F5E3AC26FBCBD05508202AD8DF19FDAFA111CCF0639C81B9C948DB8F8B4C48
BEDAC1F61209B4C915DF68AED9024C666E09FC59D8914725BE7E41E1EC619F38
54448C003BB86DEDD604CCA049DFAEE690CD84F999A3DA5B3CB2BCA1346EC465
2E8F26983590A20A578898FE8D8F831CEF738C8430E059A140EFE9985716FF5D
D6C4F1E3008FE9E9F15E70D443C1B7B60901C5F0A81E8163B9D09AD4085F3564
10B7A344DFE10748C9DAAEAB24C72D0800DCDFA0149F441008D29B755DA43797
05ACAAF82A647D0376673C1C3939324E6ADDBFD27923C16D81BC340E317C3911
6DC291F922689B5B1EC263E9E4601BC5DAECE3040676C56776C44BD95B39B9C0
C912875DB7452D2D6C03AFEABA112C399A13C09B12B2673583132851F79F5A22
DFC23149ADCC29685375D765620A32A2E6819CE97919C1137C83B21A2E9771E5
052F4DBCF152FDF1BE23C9E8638B7EADE6991937F68F4D4E9AC5A192302DD411
D06643E057BE602E71DB280598A6BEEFBD73CE58A844519E38462D9CE9E99E37
1B70D73FD09091C460FD603E84B57B22363A35C9E68B2E593B8A6F8543C4597C
385D9DB62A671DFC8F6EB6FFA0E326DAE4DCDDE339D093B59DD4401DCCC3B024
17BC178C2548EAF61AFFBBC0523C1DD5D43E7E129C16B8CEBBA8F29DC2098FCC
C57533468A13F2B14AD03FEC51C3B1ABF5C59382FB11D28E119DC72B9A6F38CE
098B58EB59334E3E5E87EF5DCE61C85F4CFB4F5A6278B44AE3C1E6069DA32B7A
935FB04B0808C78ABC7B0C99AD509DFD16CC5B93B2047BFC4191B0F0336E67D7
07008C08E640C051D86D65E44F9489E527FD6CDCEAD2439E89BD93C89F829D23
3CCF7C84AB38092B6FEFFD6D2780ABE03C026356A28A97C79807BBEB66BE490B
CB06F932AFF0162663CDC4B57D04069DA6C224217A237A3F2BA1C4DAF9C44775
E0417B812228B54C65A064661F314E73268162FB0F328D8A67F5676D085DEBB3
479E47017E95AFC4BEF3A8E8631A5191B6E93B149ACF0AD76236B1ED1E6D92D0
E6155AC4B69F6798BCEB64558C1F18A84507FF5D9F35BA3C2DA84A91815C2C87
91762227A8C394A82D6530D89CED8B85117B7BC8A6FC0A6E5E16686094A9B282
D949521E3462B85BC61F92E02676095D189B5198DCD7A71074FBC12D8CB970A1
A0C2EFF4A1900F8E44F0BDAF9F2CAEE26F16FFF243589138F49649A4085E3B65
BC607117AE53E4BFDFFD727FC1F94086EC15677D06E7043D4140E16B7CA33AEC
4508462410C563A0C4DA14D25128D214693FE2C79D7E4F95DF3FB19520961C59
6C9CE76021699BDA54A80296E12DDADDACB145ECDBFCB68EBA3937FC4FA3E2FC
B47B20F0E56FF3BFDEA0EB586408A6BE41BBF7C0A7DE09C7815F3B056329565F
854F263ADC02D21327D615515DFAE9835A799BF50E5AD3E0AC8515CDDC33C89D
81BE70FEF39B2BB546E64DB50EBF2045502270C7ED000431E614FAE7450D8F40
73CCE8BFB88ECB64A2EC60E49506BEB653886615B061173AA6AAAF08C4C9E67F
61B302C577186954D8F4B253789AD7A002FA2F8B1D7F56777C3ED6FDABBDF5FC
4CEC8007F0EC8452849C58CFB78F406BDBC44E92DA062B37E632FE6DF0D7AC1C
93663DBEA17418E997377174CE3E40C6518C3D13C65BD67FB2B32704BF80A1D4
D0FC2C0AE3CC2D1022B6905A42BEF54CFBD564FF568F364AA5D70CC5D515C765
474FB713FB8E0560A02CB62D2660850CF682377BA5E213CC0AA0D90C62315135
1AA3D1EBBB88495B3B1C896EF4E54EF1943BE97B3A3FDAAB323DD6E0E31B0148
071B02BD7E910152E11E31E506E0F3752E4FF0D7DAE4370744B7532914B0DED0
C6568031C2360FF939002FB89F8A4757C1E30FC40EAD0881B435BA326C2A04FF
41694987A073773C0E998FC76D2F96721A1EDB2F3C2B8094D080C8F3150166C3
54A6BCDE7A10337A468756C8012A24A11F92B04AEEB61856AC171D05A1352ECA
C315C0EB2AD44089F9CF17FD5C1E50CA36D62F2A0C2EB3B83A8E1D90FAD06F7A
3BF8AAD8E96C37A81E5C468B6B9F7E6657C9016F7E7561A4A06645E36C368D6D
AC77303F0389B7EEA0ED680E08FCDE1EFC594E44FFA7F62D9B29928415DE259A
3912C483AE0A98A3989174B667E711FD6F89A31448CD92E9BAFC01C2375D4BAB
1F5EEC5FA96315EB9A31D102CA9E45012CDD4A94954AAE5ACACFECA8D8811385
8C07783F1322D558E8FEA1F69F1B2FB469BD87BC59632E3F753D4D2453B68D5A
E0D6E317EF97E4070539FD21764849652C363D6F99E95BFE44A98C193227B60D
A762DB24328755FE96015539349AD4612AF52433F0941035FE87D3C6D9847FC7
2A073897F777A4C4D5DF72AD3492C324BE31629C795167290E690DBA565049C1
03A0C9087102C8433C3FBF24A71D5B3286D8F939B09D11FC93D3221A78C8EE0D
41D01B54AA75C2C4F7F99563BC92A8757D2D65CF837A68D4383C50228CF3FAC9
877B19C62D8612FE4AAA8D29CE79BBE1A5F6040E20300E45B07361CC4CA31A9F
E75384FEC73B5E431C5D3ED93E42B090C5C722253DC8ED5331559F7D014F14C5
2AC257408EA2AA1F0AF1121BC444CEAF2DDA00F0E74C216B6A2FF72BBC38AF2F
4D86958C0104F0A8F6E0326FE05461B3
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 3 /asteriskmath put
dup 15 /bullet put
dup 24 /similar put
dup 26 /propersubset put
dup 33 /arrowright put
dup 41 /arrowdblright put
dup 102 /braceleft put
dup 103 /braceright put
dup 106 /bar 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
515DB70A8D4F6146FE068DC1E5DE8BC57034F6B6A67AB666E15104577F342F68
CDE6AB4EF9E279BCCE3CE5B500C937FA1EA1DB00738285C89E7C556D9AD60AAF
542B8D98D0F7A164A899A4CEDABD294DDBF913E5CBD0F2C74919B834E3A5342F
18BCC29FF644DDFF1524151E67A7399284B9AB2258AB3D3287A54E5F8BC0BFC5
1153DBEE7890590606FDC077F270BC5D4A86550B5CA2C4000DDDB86F24B506AB
CC7EE5E08BCE2D154B886C0B8240271331B33C29A0BFB0040A0547ED93CE1EBF
CD1B5022BB87601A2E2DA0AA3CEA730FE294F512648BAA7460F1194F0B6AF5C6
6568451D509FB310434890834316419D6419B2CB48453A115F33C9677DE18C26
A1877C5DA1A95D9C2BA50FA1870477E82F547510DC7388C6FF9FC618AD7366DA
9851E9BD988C694F0E8DD35C7DDEBB66FADD1AFB18D2AE504FCAADBE73CA1D19
BEEEF9AEEE1319CA336F83CE4D8CE5166F4EB5F1FADCBD3E412BDFB94B372783
ECF783FD5E28305D84E97BCFAD4CD34F9696FB22A900D4AE455E5AB0E04C0EB8
4A6AC332C26B58051A9A9B19CBDA41BD12BA1EB4CAAE6C357C0EE8928F5F4707
3A106B098CC03B309B933D6A5722743D5E891EB076134AD180B7B5B537F8211E
E34448CA8BC0A912AC3A7A2EEE5E053DBA6DCB779A1DECF92F91C02AD7FEDCA1
FE01BB6F6A3A209688D1ED25ECF76B5550EDE819770792A1FE974408733720C6
9E01F33F276FFCDE125B24481C178913497DD474D354689687461D2F2F036179
E96418E9E234140CEEEC80D6FFC1B900412C11085AC34A8BD920D5861D01A4D9
5816E855667727D8A0FB2ABAB22ECB5E69600884F0BD0CE13B652523CC0942FB
6201B07C057B6483DFA5408117B17C1F5D907E524ACA6209D4AC8A08366857AB
FB3C61BBE17B3F096E9115AF08557F06DE06AF713356BC4697213BBFC391F6D9
1AC109A9C2FE204BFF2D19CC43C81D0751098A3F6CD19DDF5CECD2001F149AE0
8781975651D02172395CE9C2D28C34C8C39998DD613CADA0226B81CEC5269865
4F6A2A69DA5223647F92C8764401DE309A3D1491D71732ECC0C4160B1A0B3995
DA4DFBE6A5876B38A3B42A21F12648A88D7E1CDDEE691505F2BF8C711055CC5A
7186C9036498D967CDCC6248B33CECF005ABD312F643E634F2E199DB658E7EDB
F038685DC556D2BB27DAC1EAE8B1C81D9CD6EC39D9CA60EED5866435990A6D20
5A9941F48B1B4E4315778BD3F8D06D3801A0ED633C33C8EEC087E8A442741458
493E46A38EA955C27D34B2D0A01FB3AA88C71A193C136A3B14309904703E7672
116BA1D20ACE69E72DFB9BBDA008997FA217902CF1AF4675185B35339188A2A1
C250490FA4306BE4247FC127561396F8FF271810455CC56DA0B96949A79B5AB8
5DCB9ED733D534031997FAAED2383DCECE8106FF37E76542EF892EBF91433344
3E57F82FA4035100E4156B286787754DBD49D96C09FC4276B1D89B222D1BF8C9
C8B6601B41161FB197471B67A490E113B512DDF1AC53C9810D21CF6418D066A6
7563E38A562C52F5BA21EE5E2A29DFC10E36251878393E48423C5D7D476261FF
DE689FF4894850C35237F341882AE1F4EBD36C51C5B231EEB2C13D0E36A3A2E0
9A656026CB50C7A2111D5EF1DDE859DF62021A8D2EB20127EA0DE5565A30D9D3
852EF7241B2A45EE4FE65978F1C6A4976BCF69698A319B47B9EB0E9B9B38FAD7
6D1E6252D69A8855CBAEC8039DF0F976CDF5AB4CB61F550561032B1C6A692D99
D8AE22DCF70CB05D382CCDFFEDA05C2645A10DF0894B075D5CD0F623C38D789D
404AAAC528FD6D9A8573991CACD636F3ACB21FEAD8AD5FA7D886538A9B368F74
82E49FA7B23A480E4466B71EDF8125F092D27B8CA9B4CA66B9DD81F69C113B24
730A74BC67DCCCA5C6D540E9A5E4D9CCC6067FBCDAA6DCF63C268B0642B591D9
0FC211FECFA175295AAC62640779C62203D8D6C91577E1D8C34925DF2702A273
77FA7B5EE61258FD25A627E7BACF1536C689E06221830F69E8104A7E8FAAB264
73385618
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 34 /quotedbl put
dup 36 /dollar put
dup 37 /percent put
dup 39 /quoteright put
dup 40 /parenleft put
dup 41 /parenright put
dup 42 /asterisk put
dup 43 /plus put
dup 44 /comma put
dup 45 /hyphen put
dup 46 /period put
dup 47 /slash put
dup 48 /zero put
dup 49 /one put
dup 50 /two put
dup 51 /three put
dup 56 /eight put
dup 57 /nine put
dup 58 /colon put
dup 59 /semicolon put
dup 60 /less put
dup 61 /equal put
dup 62 /greater put
dup 63 /question put
dup 64 /at put
dup 65 /A put
dup 66 /B put
dup 67 /C put
dup 68 /D put
dup 69 /E put
dup 70 /F put
dup 71 /G put
dup 72 /H put
dup 73 /I put
dup 75 /K put
dup 76 /L put
dup 77 /M put
dup 78 /N put
dup 79 /O put
dup 80 /P put
dup 82 /R put
dup 83 /S put
dup 84 /T put
dup 85 /U put
dup 86 /V put
dup 87 /W put
dup 88 /X put
dup 89 /Y put
dup 90 /Z put
dup 91 /bracketleft put
dup 93 /bracketright put
dup 95 /underscore put
dup 97 /a put
dup 98 /b put
dup 99 /c put
dup 100 /d put
dup 101 /e put
dup 102 /f put
dup 103 /g put
dup 104 /h put
dup 105 /i put
dup 108 /l put
dup 109 /m put
dup 110 /n put
dup 111 /o put
dup 112 /p put
dup 113 /q put
dup 114 /r put
dup 115 /s put
dup 116 /t put
dup 117 /u put
dup 118 /v put
dup 119 /w put
dup 120 /x put
dup 121 /y put
dup 122 /z put
dup 123 /braceleft put
dup 125 /braceright 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
D922944A38713383D3648A4AF160A3B0C8F3379BA4372BE2E7EA49AABA75AEEE
C5DDE1D8BF68483C3D21271280ABB91D54CC819680322EAB72E1250A760BC8DA
726405EFE420635B5B7F0B48752C06083E92BDE06401C42A2C528C8A60381227
CEBEF0C9440DC034DAD9C19FB27DB399BDAEE22053591D6538587C768C1B7B0B
7D1E222D2D8AF3A6473CC4C0D6C3E0DB49068CEB8BFAA3D4CB5E17327404D6A8
35514F62BD91BFC544B7C5E0DCD6D6D2C4E3CF6589E9D3E6301F8D9F0BE230E7
CE59D2E092C715D0B604C34C085EB2D33965A88680F56773200501F41CB97FA4
ACCE1DB88B720933F198CEB4F5AC209307E3DAAACD471613F115E08F7076846C
AC5FDDF999DC291B0F002A0A87A0B43500E456F6CC64243354A8B443ACC1FB8F
5119815FD01EDCAA8EEE49D6C3542638D3F24C63EFD772D0C93BF88CD62A83D2
0E1C4635ED159C7FF313E2B6949C11C51261BFCCB92804E5372F54B764A8DEC9
316BCADD75BE27F9165569569A381F8E6C5E54C882A7F9BE037A3B5AD3A4233F
640DC7B11829BDCA334CD6902D2D25D1FD11B81BB4068F36513881F56C0928B0
FC52025687033FCE839887ED7ED5C68690A2B50E739854F698CAD89A965124AF
E2403FAD3C4C6A541437529FF06E35E0335D7AC66AA7F5E3299C87A64A288493
EDB9C23A046C46E6D3A2277F679A0C87F29E3F4C0B03D5F662BF16E0C4874A6B
16A8E5B1AF945D19B7AC7E6591BEF7CEED4ADAC25DB3CD4CA351B5D6A8DC1ED1
FBEC78604DFCC2AAE3C9DAB7CDC2BB83AD770F5EEB03B7DF692745543A29362E
6F52A1F3673F2BD0D8D6BF1CC984E555FDC1F94BC95B4DC29766224DAD21AF88
30382F0E27C33A4CE2CC8B23741210833ED5F75997D9BB8B3D411424AA27BFD6
032037E618BB8999D23712AF8D54455293A89B14DCD60B56D12310BE7D22DAE8
8F2C7547249332D8E641A267BD076682DDBC8118D9EF07FC3A6FCA1100152728
A0DC17F52681B55EA0FA550FB2C2445E926C46D6254B17478E4B63AB17418838
0EA574CD7CED307D4AAA9B0461C77EDBC699E4E8DD0559746B990DE0187EA310
FAB737E69A5BF653BB07A4596E04B66C376AB87F69C0CD4570DC537863F72CDE
F8A05476ADD9779FEE9208993B7603C32DCDFB2695E1E4A910EC06D486A82279
76390C161203873D839D103BC2051857423CDDB0B7F16E89E7034C04E08D1989
EB1C7DD32FDA43C0735D4816D44B894E49F4B8A39D4342A1D575BE5DCE906A03
5FD69E3FEB6B687D8F53C1D60CD9AEB2D194C91D8E29636A871344D230FE5B59
74FF95A6C12F933E2A9F415DA73A59D8E851FB09F6737F2069E9E4224F533812
5771965A6D588A87CF4F3BD89F52E223893273386ADE7450BAD6236E77FAA07B
55E95BD02EEEDAC66E274083F90F7DA6F77AAE2A1C49E198C47ED88C2ADC8A70
025220D4A4A2A9D1A217613DE4D7ADA192619898B296FFEC633B39DECB87233C
2BED130263F3BA5AB6A8894CC040F473FE61B77116172819085EB428BA99993B
5D7897D07DA5C9AFC43FFDF2E09B6F1D432A62F72B700F93F8CDBE0E68AB761B
523586F45EC14EA04FAF3DEF72140E6EFEF35EBC2E6DC3C700A3E47CA7877133
E941A0670C5251677AD4F444DFD106FCBCD172FF8989A5AF6850C18CF746E401
2FCF13BF3DB1ECC0DD22F7EE2C84B36FCF8E512D67C31B90D5BF239F8D74C4D3
7665F19961D03BB1508C1EA729E56B6FC105AEBD4093BEC8ADCFC93E68860BEA
904AFCE10F593BFE8C9B42985919E5C9FD05AAD03C49E3B0D3605318B2F53094
4772C5A9AC5904F05393E7C700CD31332196C45253F0E1BFD1F9999EC0578CAB
01E639BA6DF086F222547AD258C3662733699AC97B9EB5951DBAC2A6809866CD
A08AFD249ABCA9F364CAD2AA01CFE284D34D447A7DFE9662EA6758ECB29BD52E
DC08387A82357CE31FDF4087BA2E8F8784F1D65F81590CD1C4E738E6AAEDA4D4
9050AD8FD2868B849E94E33A94CF9BCECF771D14B8F5E052251E21B161E8E83B
0031DD6CA084D73CC6FCB33C8B8E36A97FD57677754E2918D2B6B07267F9F9C1
01ACA4BED9E5383FED1653292348A83473B933EF51AC9CCB857EAC7202D18B39
A6F639890196325F90242CD28F39245130DD758E7146D490259DF292832C4945
969AF83C1D13C65CFCCE0946BF1E046494C2B414C61E06EE22198FD36FC07028
B14488D4DB83C02F9ED8D84910F4B571F1F2945201BA96B0DB495FCAFC20B772
63680A43B227FCAA604168BDAE7F686406283AB883A6BA861EC3E023AAADFAD8
F53437E136C26428D06FA8814A74BDDE1211408A7172422A410EDDF513D31CEF
5898999B6EC0DBB6341DD5AA88C7F50CA779F011B553E06362849F824C32CE72
72F258064B6CDC2D094DC212330815FF7CF78714770F4180378569CF405E12F7
3265E553B6A4556613BC4C6F3CD3CBC3F5D98EAE64FD47516683A203A4A2F7DD
932538CF4A75E0DAB712F9EC9003DABCF4AE630DCD14CF38781FF98A1715494D
8727A0A372DE8321D4B69392A40C328C6A02D511A8D2F72BD0656D69DCB1CFAF
6844914BBAC77799A7C80B2DD62023F0A325AACE17F0F7E11324B721651063EB
84BB9CCD982B18E5AE6F3F6C7E3DD5A7E62882FB3BD6BDE507A1554548B21C89
C3EA1A75750A8C150DF49C73D11B07DFF860C452EAED30F4AD5505EAD363C64E
3CF28EFF6135963FEF9D34DB4243AB150F6A93DF0E68516F5E3699B33AE3EEA1
88D18C8391A6A178F971685AED229CFC9E6F1FAEA41958C0473416F4902A443A
30CEF49DC69A69F098BBF546F8F87C232E6B45DA1830EC35C9B293A305A91645
AC178565D1F824CAD3E9CCC7DD155499FE7AF9A82D8CA97E1D3D7EB5BB48E114
C525966E7181675D265587829091870DB32AD7962341A2FA6BCA8A4DF64C23E3
8F230D41218A984A8F0B2DCFD438BC8FA488320C4A130FFCBA6C05570630E49A
B4A4F5B43901906D94B03C0D0A48CC9CA6FDE0D6E6A721D55A76BF4467440623
35C5D1576DFECABDBE9190DDB0400A735C0514839E2CDF2FB84EB6B51D4B0F93
83EA1812303D1196C085934E727C961CD25F83654A2BA8B6D6C86614C26E07F9
9A09ED5E6C3FF849E29A9DD40A302C6D66F4BA5F55278B3D229A18871C283719
B8457CE945ACAB0439A013AFEECD1AA837E25550AE7C51FB714D2AD16DA1A425
64CBB31D4F49A54FA9359FC2CB9F4D13EC27B6AD51695BE6D5244302386B5909
4D60994BEAA232B27912E888D0CAAB80A2DA05087F42CFF15FD3F4B91262A79A
B2D377FC0DE8A161E128E1D5FF746519946EA8308AE41D72CC7DCCF1EAFD48E1
F37963DE3A957220F539A675589CDD41BA2C2A9B2E34FAE2975894C8F62D9FCD
1131B9515A6E821155EBE0A3D91225CF6E6DF206432AC5DA822C2EAB39927C35
F9F272FCF9824AB9E3A1FE47C70FF714A7C10223AF36FA4E7A644B253D1F1EE2
488CFA24A65E8F54A6F59681F90CE8F0724288BFA6DCFB3B4BC22B866033837F
76827C362E4CEEC6705FDB703E3FDCD4F0EB6856037E04F7361619BB9F2F460E
ED45C8E479FF8CF33592F1299E0053EE4462401C298A81C6FECA0E9EB627F26A
5A138C1B6F678041F1B2569C8A5EDF77F2F895DA239DB5FE618C4D06C1CEA675
1744D908A98B44EA6A2DAD5728BD496B7DAB41F1700B2F456C05BB3373693787
F66C89C7E2CD5224F2BAA2DFE1363D4B5F513D9270605740FB64BAA7CC5CAC40
46A1FA8290068949DC91ACDF8AD4E0FDC9A90A3DA056A826EDE0748DC91DF472
3E11E73FD3C688021AD81619276528A70ABFE15AD830C0B9DA76F31A13D052F6
45172F8D0E20855F7964E6E02CE15C28DEFA2122817A7427966C45734CCD0324
618477A935C5FF2EE8FDF1DC109FD384EE7DD654B208B7BF670579C259B40930
0BA8E0EECF67AC9CFBAB48203888E9654CE34DE9894EA655827A2E1E7A8A11F0
98ED980C1E05BF27DE74A2D8835542C37CD5AE9C06D1FBE6FDBF75CE4A101DFC
4FB31520705867066BC034D6A7556622B0E826B4D1C68F586C47D529D6AAA1B4
88CB8437FFE964B766B59C83EDD4F7799C0B9E6D7A0F42BD4CBDF39826913AC4
23AF54620DCFB6600F1D1B1956F18BDB11E8EE9F5B1B3DB09B3B8F40666A5E60
19A7AB1639357C910D195C2942E7340D007B6D84734E9333A651F9849B8DB710
D73BC42F6D777768308AF7F6406006325B66B3C020F58FAC11337AD3FD882419
1699372B859A76F243096325AC721B59AEA480BD6E8A3E5F95F5EFE1CB26ECCB
5FF37B7E20F31202AF4CA55DDB984BC07B40D6D96E7F922114168B074FD9B611
631249C841A8630414FA6ACFD9A09358C722D21E4EFA8B445DD975A46285312A
1B726297A939ADA87E992C0B4D40DA9A2F289D4D1F54234B3228E038F3C222C1
F4A3D82BE1B05470FF7B4F40E4740221C8C226DB3336E2D0711BA58B94CBF616
CDA9849450E1FC1ADC2D5D0F7761BADF87A68DEF49DC165A7B4A1DA647EBF58C
A3035346EB12961F79AB4A8F2F2694A110DCAD5189DC847F7E3A4C49FD6EB35A
185EC2BE33E190FBDEB9743E5D77D5C5C6A1E5511EC296FB8338D3542B068976
43B20A27FD525BA6B4AD4DCC2805D6B49A24A555F6CD71FF759F2BED4F1F2CCF
C5EA91926986DDA61DCA7FE3F83B4166986CC10D84F1236080BF69C9F77FE36D
3F05CA68B13D90743F664F51E8699F53B830A68F4CBBA799119B39502EB6B948
6EB0024373688BE680713BBC3D36C7B405E08288D4599CF019E96306B88DDD3B
6D1C3BE665486C4D685D73B9FF129278F56C7FD4D9279C3985BD4C7C5924BFF3
94446726515FD521108CA5CDDD225E4238023CC3B8C65F4092C88FE5D25BC231
BDCCD17AD49EE31239D6B4449BAC378D365C60F91CB3E1D3419872FA956FB592
32D8E307EBF08B2620C0305677CDD468C598A6D966D8E46D3B8898F358E8F40A
A9EF353FE7EE65DE398E11BCB56D2AD0AB55042AC52CB19F45E40860345E6AF3
640518D8FD695AD18E5085D2753406480C5401D4E92B35DA379B80DC0F3E91F4
565C133300E66C5EB8C6C5A83FDCEF5FDCB60387F5270DDCDD973090BDA990D2
475F782D9D9C60C0EF403B70E6E16596726BA5371BA7B11EE624873D74F097A9
AC079B08E10C97830172A32AD044FE591E308CB6BD17EFFB2CDCCBDF9BD6EE3A
47CF10082B8A990FBF68E10471F5C04E8B5F98DC89EC647FC68D7FFE008BC0E5
DC385E67E7BC1FB999A0291AE85AA621EF0CB9AE53F5869E81F24640D6CD6819
FE361F812A5B7CA48D280CF815DCC972FA2AE78ED6E47EC50149BA1D4C157B52
76A87690D8D3F066B4D09185C033D7AF63DE2B1BB1EDA3B575E15EF0B71EC406
4D05C033D385B8D5ECCF88A24463C1663D6A44BA0CE5B5788F07548D14698C16
E7941B9773D3FB9E7D5B1576F3022BC88BCB33A87181520C683DF2CA56F5DFC1
90B23053F4EE2B560EB95FB6FAEBEBE8EFCA8AB48F4D812D5B170F7B77399634
D1BDC196D0434C1C76BE202A9367C77ACFDAD23BD4EE85B2580F1E8AF548C420
3F92360EA1594DAB2A2F74B6E84798D66C1211583BE0729FC6105E2C5906CC42
376E4BD3FB48CF5EB87C6DAD35F5E218A9A660737294627149BF31478D178C84
BB63A6DAB077F0CB4C1C75B1226481B1C59645ABF8BE7ED8E1BA2E7E30DAAC4C
A1BA1D06ECCD34D174617686312DD5E246CA00EC954515AB21CBDC98F2A6ABC7
6536B67E2C70BA74B7BCAA113F6DA6BCA4B4BF0051BFDC67F58A76E23F3534D6
677A75730913FCACD111B330A78DDFEBB9EC54E32E77455EACAF8008B692ACC8
5D4576BDACB83A43EE448558FCAA3A0B7A13FC76776D55CC0473160B3DD9F1AA
94C8589AC3E82F9AF9A36AAC9E95AAC6CDE470FD2C204A65CA973312962B0498
E8B894289EBD6498512B48645F0F5BACF80AE1DE3790175D8E732F49657E88EA
F9E2FC814DD8415CD4457FBEB9ADF4B8C168B05E6AE04EFEE696B547D1F2CEE5
CBFF25626FEEC388DDF81DEFF6F1693B8D42C3F299E288F4860524659715A98E
CBC70E03B4D05FEA14F91A3A29A7DE57636A34FC2E8C2E6CFC72043E3E6E948B
43B5612D07214698383F46C0F39DE8B020EEF571E3F3BB859B0CA4E64696530D
986FC042FC057A1319D923BC5A1D83A274CB86940B49CD36E230C695E2655CD8
DFE3BD53E111B2EF1A9ED1A78B504439454033812AC6F07FB003764103227913
96BBB48653BB5885890F8D5FE4CC7B3D9B3B33B9DBDAB894B291921193FCA40F
3F92DB3232675CEC2EF7AFA06F8A95BEACAB65DADA83C7B8860F75253A7D05FA
6EE07EAF9DB555F037659F52766D808B2561DA59DA2616BE5F538F16A69F7F51
05CF66EA519A32027986C4C00C99ACB582C6A88E1B87EFF2CC06B65C59FB1FC2
4D600302343ECC80D75CE3783B0588593390919A2462946EAFC092A01C4ED020
FD1F5C3BBA27EA0202F5D0816504C59CA4D13B9083E771A143D8FA63013E1BA6
A25CCFDE82FB74888A727ECD76CB6C5B5984ECAAD33627ABE21C2BBED3049CF0
C4C7916192430EA44613C6E8595723528D89ABFA1830A199F87A68FBBFA7A1E1
3719A2C318ED16B73A1FDD28BA2EA33BFEBADB4AAA7683A6E8473548DD781F95
7EEFDDECF3DD22414DBC28F28EB29A5C424BDD7E1C546E62A10F0B87798BD0C8
A572DBAA022B0353F6F3060C4BBE728AAB00FA902E38094A294F7EE7814A3CD6
80537D8DAA2AD9E90DEAF662F0BF8574D778B5B2288FD758EDAE65CE87F890AD
1466A8B61038EC05396A303C79A7EFF6398CAEEB5B1D7C5BC1365501488D8801
A3595B54FE5FD9BE89732C63DA82CA1597A3537AF8C9F2C179B90E5E171DC231
54F07722FCA80E6551E641A5BEAC0B344A363B592EE6BAB39BD22B6977762FF4
17A05FCBADC97142F9497DDBD6CB46D3A924E8783DA3470D95CA9AB3FFD39F80
9F74AB119570A5DD0A7610E704FA50EE85506D5D9C88390D72EB12E00CCB84F9
9DDEB63C3AA7955E155A5872D63C641ABBC42E304948A7EEA090313D0F2D2EC1
84C43C7393429267013B512062787505FA3D9B9EFFD7615BC38C96F1B45AEFEA
2FD363522E509B038109B41F7EE05690DB9A84B1E414AF71CD64AFE31BBAE993
F5BE20C63B3246BE298113AB66D1C82B126C4676DF52085822EDE54242F386EE
E0DFFBA310D2D8395F03F16E5F9EA30B87D496355DC46451B04321054DDDAE10
80CB80A3FB8807BE5473E65825FACA49654D041BC99B4B5BCAF84A5A66544BAB
1E66C491AC980C0CDA0C70F137F5B19D71A15928E4ADA71D85B914C4D397899B
89DD3DE38C939176CB2BF4C3B521A05EE7B905B730BD1703DAA840EC315D60F5
A32534458BF5745EE082F6884A7B5C0B77CD9DDC02AEC6842D8554312A59A85E
A70DBCAA51716B68701BE9E769DF119A86257FEBAD3380964EF99EBDA3C620C8
2C64125BD052B724CE776779E9A2341375787D0E60068900514AC8AB55F4F7A8
0A44428E812EC67A7D07FE736D469689565844E4AE3FD5682A395FD9782CD839
3DEE4C9F503852C535629AF76B0D391151AC1D9AC6B1BE225FADAEA3A48010DE
78F418A3AC780A2BD85B72192F6C09674BF7F400E6A815FE2CD1417AB811F959
EF9A74AB654250FFAA75F36C77D955DA60B70F58F09A20813ADC59074FF59076
1DBD2CE1C1613B96393057F019195CFD36D8B7D45D7D8F29E8BD8F5566620AEB
AD3CD71CFB40854F52FBA6239A5449B5B66EB253CD4FACEF81825E8E4E727F5D
94FB855CD79D0EF46CCB7017ED9641F4ACD63619DEB1195253C50B9AB7C74973
A4CB9395DB13730A7484297B43B1A5E7CD80C16AD9C13CF39523C82D26E9C8D2
0CBA2EF87BE0E5A44078022DDAB81F9356999CA48C033095C64BE91D96272CBF
91E44FE1DB58EB1AE934E4FAEA5E44C1863BB179A72813FE61351538AEBB1D73
3EAD6C8ADA3C83D730B977F00194C1BA08A9B24C02C30EB4C83036E9DC9637EF
2F8FA81D73BFB6C4C5694410F2E61F3AEA2C95BC6BA39189A8631B38D3ECB2E3
9129974BC441E2D8BD173F8D4E8FEFDFEA63747699BAB351594CCCFA3F95B458
F7768E480A545E1B4153E4C4503A4B4B7EF7E82591D2D538C2F1D31260E87507
721BACDDDB6C561D345DAE737C2D3E721D8426DC17047A8B74F993EFCE8E75B7
3E548B93B3028BD05A69B3E6A44AF04B406FFFDC61A1924DA5FEB7972487D30E
EAAD99C475561BCD558FFA7CE6BCC7FF60FB8A84FF295E7C7BCAF552BDB21DFC
CDF78D59D59B22E85963F122E70958A3EB013E3B7F0D9F212C8385683F7A6263
096611C6AB602471FC855DCC905F60E09ABDA468D7C1DFDEF2D340DA858C35B1
3C02F991BA2EF8D81A273C843B80ED76B8185E4516BC298DF19BD0B303F436C4
CB751B1C0B42D04E843EBCB2642A7183E5E13C5331E0C66E40EDDE674B510C09
82E95AE90FD91E68BC22A260AB4E3804C59C4DA538D97BAEAE953423A0DED204
08AB43126452DD559D2BCCCD2FE77FFA7CD81D346B0BA798F513BE84DF9C3FF3
DC752A3C9F059E730A6171FDCF676B73EA3A23A65B45EBC22867E3EA4BBED12B
2E0D157631CC7C247DC06362B2B8F05AB2C4AE1547F19B2C64F569AB6C8208EA
A3E513368E3882B91B0123D7FF7678AE4E2B0051C2E72D8CB02AED61C93B1E0E
C276FDE0D31C7921721F753B0F9BEF7FB05B6098BC57134AEB5A129AD917EE0B
2610B6505100BDA7DA184A6ACEAD6379EC38E449CE3FA459A7FED0E309A245C6
F6B43A0CC6FEC651563ECF568ADA478C524C10B1E559E78CF5A8AB587AFE9819
71843B531620B1C966DE2FCC96FA20049402BCB6C01D63B69BF9F4951F7BB15A
47D4EC2FBDA712EED00BEC6FA7A52D405AE2FC6080675430E3375181D09C40F0
8BB50FAB1DE0B88EFF272B39A63394385CCA70CE48B2974134ABFEECE07AC5C1
0B3194BF487FC6652EEA08075EC9F7A324C29DEFD687D6BE81A65B3FF98916E8
48FE70A8C227E479A857DC8B2E104758D5A6D5716603D8FD30DAD8383E88B7B5
25EDD624ED5381913D7387190CBB168F942FBF466A88767C2E6360F22D06CB19
2D80FCD5E5C29EDB02286FFFAC5B95D83E3F9BBBBF6725F3F02548758883351D
3800889025BAE887238DF1012E9C14CD02073962CBE38B8537C1CD45D26BAD9F
5F46A5A98616E9DFC4ECEBC5C541384E45583B395F404116FAD4E7699E1EFFA8
2302CE67CD3E5946D27CD405F82283C77AA5BB06D95156EF6617D9C3D6D27965
49B0E03C757D064B66B08F29B07802A283C6F623ADB331535352D48A307A8332
344AF2DBD696FCA10370B40B801905810A14E7E450E1A4E3E0B6F7A9B391C5E0
528684676E4AD60AA6D946A9E1980C8FDD7D618DDA0C7D5DC0E792DAE4AD42CA
914E5B65B68969690631FCC65F34011FE0D3277078447AFA25E2F9F18D65F4FD
BAE81CA7C896192987300732E0B197215950606C8A44D94298C474F31F43EF20
EC9D6C7EF01DAB2AEB78D2DAAF0F8D8D2C070C704ABE46669323E0BAB0260C2D
DE1505E10EE8C8ECF3B0C0814E888074BAD7AEC9C0A28D244B80A7880C806358
C04C36ABF02D21DC63BDA31410136414BF5BDAFC0BDE25738EA8FE503AE9D035
B42641EC49EE8A0DA44B599122ED8B66FE934269128B8B22D9BBBFAD3C29FC1D
AF43DC03009B4B80E9BBCFE441312EB5C9F6691D803DCDEDAA7618A640C27445
732431C2C2873DDC7A4E00A24050E3792A504241DDBB3142E39F2009498A42D3
63E9C462320B769E95F95941236D7F0892D65321E09201F95719586C53D34639
F95C6E71F2C8D9D1C03B92B8F1EA0E58F4265BD1AB783D7CBD2C2F4857BA4A45
3151E27BFF4B06AF6D20B4E764A5C2F5B3D637FC4E3C86836D07E08002B9454C
F369115018735A9FAECFCD835209B094C8BE96EC2A630325028AD149E8580A45
C151816F31DBECB85A846A8B0C68792F2FC3C387DDAE5B511BFC7148327A6C16
3BE26D9D3C4838263A493C7295009E148311E390DF5C36D73946C08B626B4E43
755CF5FE079687D3AF1188275C0652B9553C3A08942918B4B99BC1596A49F71F
B9DB5ECC600612FE4040F48579F8010972B455B2784134D2E49672135D7A92E0
0B03F85511D0048E23DF6C83AFB4458F6003CC478449906FA452B84D9527B3E8
80D4C569B0C0B0ABF1C7276A55BD7DEF3F0D868620297C7088FA6346CA57AE5E
C95259BE9B3ECCC36A6EB809714FD75A9CBC50C3962A7659B30893394E70ECA0
7A900C2819980FB2ED2FE69317FE17ACDA4B90C3217F90F1EFEB10369BBC22D7
5C3210E6B86288CA038DBCD829525FCE100E86A51EC48F24F04665A870C60B63
145F03387B5FF1550072B1316AC589B036964B6AFA77C9976650B7756A00E0B8
C07532252DF32502DE3A05657C666AE17947FEEEC1B678884E77FECBA399DC1F
1B490B4541BDE13C2C7629845F727918EF7F21B55606D4B9F5AB92433CE8C5E4
E998C979E51F0B44DCD32267D25C7729981F9EA2C9FDE9EEA642CEF3917AB221
15A0DD27B1B31C2555B82751EAA03CF5C78EF0520833F89A6AC698C644783B34
01D53A31E5764BCE06B9AE1E285D41841615CF3FC0BC0BD840423D5B09839C3D
F98CB55B172F4C31FF67608743AEF3748C1680DCA456E1B800E3EC0E606781B4
A1ACE861AAEF95B556E35E6DFC4E01D1D4645533D7CF1004F169C03A64B1801D
FD283F4E33F2B09ED41A43AA0CB19AD6A11DF4F816B878ADDD4E0E0C08642997
BA4E0ADF8D35716B9D8028BAA72F5AB666B60A4EE11426ECCDAED8ADEC33EB3D
143D8E552A67FBD758DAF4FC861AE663A06174E8880036C439119F10FCB7F671
B02C8CC03F7CAAF9E5A22C7A9CDF886E566F57EE6C19DEFCED9B81D099B302C2
817C2A484471E720152419B5B7F922EDFA043A87CBC8F926E012984D77AE738F
64245D1F5131E720C0DC75482FFDC5FE2E488FF5177035FAE2DE402E1CD5034A
8485B194992C3F6BC1911F31BF0D459EEB8EFA06BF0532E54C544F3061D2EA70
8E9CAEE7F997D41264CA6ADF5A3E80E6866E6C8614C815C4029C8DAB290AEECE
7BD4DE909FB6E7E9E6C4097E1DB426528EE7559882AA4A37D09A83FF48438667
0AD9D9DA44DC50E06503D950D87F5762C2214C81C0C58004B722CA4344D6C178
0FF60AF2E62AE72F4D14655053434F7D26142ABD68F8A42C90A7899F708887B2
D8D294816461CFC02FD0BFEB10B652666F422EE5E048F348AFBCA5125B1F82FA
05C93F184C4F5F6EC2AF9DE7C3DA05BB3F0A5128EEAFC9C6E003B1FCEC99E3E6
8457569E81EBDF09CB7B67A09953948947C7F8A186EE675E02FD66D89C586ECA
114EEF33FA098DD96EFF8AC41E1CB590120D42F9C7528A92A287F5369B578F88
8EB9BA60957F1BFA2C6DD02A2464307D24D1C5968889B5400C9178FD2CF0C17B
E992E2C6CC255DB6136D24C20C2174FBCF3E5E342B780B5DD5661FF6A0C98BA2
97BC0AEF0ED142FC22E7A550D2F80F13319D4056BFAAD68DDD24CBDB8EBEABC6
201D8B8F5F201E148886F5CF7E31D6E917E4AEA60549DDB6BFA329A92F31F938
C9F0415D0AD3EDB0DD2D8D76DB770E7807A7FD1CFCD7299322F2B746DDDFD80E
8D8011EC0DBC0E752BCA2BFC1AEC02D379270B4E9D49214E4BDAF7389F6C2485
CEFACBF05290C394FCB5FB9A4630AA26433432C93C5D1A5D30051187A9C412ED
783CEA202A9672DE867A87B1BB5B0B4742EFA760637A6B7FC81BE2394241D2FE
2A7F854796E69DB3D201E6896AB1CC88D8B739C9075192896E619EF941492DD8
317B77ABE8F8F87430261FA42D7B6C2E033260C350C542A8346D9C9F836E83C0
E17807E3993DB26692A38A2B49015B5189FC7EC633CA0417072451591DD6DA02
5E76F88E5ACBA94550A033E489A41A5DE87C434730536141691EEAA0DA3545F5
00B594D3A6CD0477110849CC99DCA2DAEFEBC0C080915291444F5111DAEEE303
66DC5B83CAAAADFEF2F8F03CB93D113A01FC8152A89A861AB9B4066362A8D26A
802B6C4116EB5BBEA0EF63E0AA377663AD662F9ADAFE4C97BAA2C25B302B9307
B52AC1B04DAD85505496B45211BF2F8E482E2F832819F84AF9C77B66BB36BE64
CD1113D9F2BDE3A612462FD283833659A92A64D47F863CBB84163187298DCB94
1E14216A4CC95247C168EA2EA5A70CB775A7EFF55EEF8F1D466347A1581970F8
E7B607F2B7534B7D91FA235892585A3E3F8540717AEF3EAE217F26859A52ABE3
39B531E649C7DED965AD33942AEFAEFC659C92699E1E31BDDBB067ACFE93825D
2286AF7F6A987335EF69368D3FE645E376757AF4CF6462B8512FBC1296946E2A
943B168F5B4235EE05DC84FE50C3D6136C16C27F805A40DBD84176EE8125424A
4FE87C967EADA99299963C7B1D3FCBB066B720DE54A23AD915708FA4292319C2
0A697BA455AFAFFC6152D9175D61264B2DCABC33B7F8A582251543FAA44322B7
8A4C527A7A0C7BB53D2FBB0938F6DA467B7630AF736825CE6BAEA4A9E70B0FD1
5523F605E479D5E02C02C9C9288B8A299D3B15CD7424D0F3602661A63AB1FBDD
4D4A2EFA2AC7FE1A60EF894F9D01F847B34275CA382C176B7AB5B95CE9570714
5E4B17B320CC291F9B55BEFEDD763F09B93CE77B0B67913A41F90D9ED3968FAD
9C9464A826C1EC6B0E5F15C39FC9312D76FF5A48651B72624D7152D5870A49FA
AB40E5381B4EC7AE8FC6D2B2C785EB2DCC692507E7DAD5F47531A6FDFB8C0D68
7B3EACE36649A4FF30B745469955479921F90D2E8B50F154541044869EB68DF7
C504A63A748721C25DC16A557408C74EACAFFBD321A26BFBB94BBD406BA61A59
B17D2A01FE4F0A25141393B59AE838F8768E7610457A419140B71B950F796219
677BC9D9093F343C85AFEC64D8FD4686CC3EF9C48FD8A7E78308BF3FA741E4FD
C3C01282F13E6EF87F704181C139949750E51E9BF7F5833EFE06B2CEB91E458A
1E6964E8FDBBFDC64BDD9E5262A1E0C3B41BA38A053DE19ABC3882EB2D7BCD20
3C6A478FC049D523B6CE7C7D79B4E24A43C5DC9FF717F5D77AD87A9653E48C71
4B2E6CC72DB6C73A901ABF5EAD254097176A62A3D69937039DB4DBC8E81547B5
8F5D2D2377ADCF411925D5E7934626DED97CB0BC4121144AB69BE97C252D548E
6F87A9D191A8652EC907D5F93B285C4A38AA0FDF2D7B07B159853EBB09FC24B9
1F5344E81C422775BFADF7BFC9217DAEC1712B87C9AB7780AA73A99320F4C6A2
304600B8304A5F3AF5C70110C0E4901FAF5F892D60DCBB9C1CB012AD38B88988
2C878B578B43D60CBE44E3EF6AA9F7F201E47ECC80673C26590B2E9D729B7B7B
3B0A5C94FFF03393AC036EDB749470922C3546A3D3E32EFD3745BC5AD172D50C
AB0D724F894FD5DE7EF08A6531B829CAD84EC810B4D892CCF412315A5E40CC13
8149BD6815DBBA45F30E4E68A970531FBB163A248FBAA48F40C2200BEAB6941C
C2FC772D657ED6AC9CCF1C4899D684214FBD52AE155355646A657F2B448702E2
8C0C17DA42FB9F624E2A14AD1BB618F2EF18DB5626754C83E95D59809B8D324F
54FDFD2B047FED58BA298AC2FACCCAEEB3839750FB6E53D697DCEDC90D3DE64C
867E5A043E708A37F3BD0B75328A1CF133954CEF4541531645ECC767B053D82F
53F716A8C561B7CE61DFAB4CC05578A5A0234BA25E5B8AA25B7E652FD11D4238
F9D5D9737E33944F628ABAEE245BA444CF16EB49AE5FFB6F8DF48517E5167B52
7EAA05E7E59FF682AC3BB6BF322FFF07FB75AABE6EB22AACFBFD592E5144453F
372984230C99AA4243701DD7FAABB4E8FD96979EE506A02DE01DF8551EB647C0
3DEEE2442832FCFB6884EF2F1BE3C7C77E223FB3C32CCC3700041573D0E5461B
3F02EF718FFB3B58B543067794AA4016386C16C6DC6DCA8B9BC965F6EBDC510E
74D1AED8E8345CD54762D992FDF4A5131437853983A39E41B005DE952531484C
8271022E751335816C8FF432981A1774206A472FA2AACAE4C3E93E98103CF6D2
FB62D0644F9E3AFCD31906763420DCD4917393DE36800642DAA76277A647F0B7
F663BE5D634B7FCF4BA6A9FC6E9B63E7807746F7F09AC9C32E9B687DCBC82DCD
84BA3C3F45D649058C243E07FEAC9BFC10CE45B85129747D36F2D21BAB79A25B
092F7DA9C57CFCA70CBF4AEF70993F0B343117BC1E16E003D64C6BD0B8A7A8CE
B3FC74FBE4BC97B57EC22737D2722647383FF616BA8AE1D9A0FA41A8C6AE49F4
4068D0CADA17D8F71F7ED2FE472A7D16DD0BF57E183FC1110C91177713247DF8
FE0F00B6CF46B1195F2937BC2F9083B48FC159ACDB11B74DE6530B2304D5D2F7
DC1C0CAC579507A7BFF8C80E7CCDBE5E47F372FB08B1D732096A548FF60B419B
490353445B9D4C4D449E1327060D6E36F583589746602EE664E00EEB5B02718A
972F60C07AA97453D29F6B944322F4B9751877D3692AB6486D401A872498CEB7
A189203D253C0A3C0705E5E0B053EF2A7E4A09C5C68153B4E95476D7E0835425
A9F380C4B6437DB2EF4590E61E055ADB9356AC43FD901FA978D71BFA256F35A5
52471352A46FE554F3C56DFE0E6BA0F36B2547DAC93BB08CBF9A4003ED109DAB
D3F5CDECE333C7C9776EBB71736A08F67D48165BE5F5DFEEA7E7A70A69881115
D0FD9D5CAD5BB6C127EAB276577CCD1E0D1F90B5341BE9AB45D49BB8E32DD314
42DB5D4F160C990D9E4DAE96F70C5CE1050DDF3FF08D53D22175DD20DFEB8EDA
FA769C011411852FCE51FB076AFF5330876C35C60D602105988E5B3E3128889E
2D2FB2B1608BA2F439C1D142AFC4F2798342EF45BB4A4E914D80F96719D552A6
127FCEE0582AEC0E0725FFFE17E061AC6FBA021DAE5E86755F0D49C51E093FFA
672D9C2526331CF1B8C9420D373BE9C639B714AE5BA7F5B816FC7028904D00BE
D18E03050735BF2CFE27934D8EC24E26EF89AF65B3813864DA134C076A39CAD2
8F8DC797163248320B8BC08BCD804C3EA694C2456561695E87BEB8442383EA3D
609463DE027A3B1BD219C5B3BD3B1D7CBB8DD1E1AD74B90E852064759892A608
A8D0336415A6E572B346A179309396AFA603BE556E010A8BEE3B5A2655FD7FEA
80E4BDDBDE7F85C0B0169FFF124966C4106E75D07F461F7DC10D1A3417EE40C4
A15B21D7FDF78C683F9AAE5D2097F020972532536B866EB0D801FEAB6342D383
CE9F14E46C8B2C9E74B01D30E085962BFC9B43244F09EB0B28E86349DDBD6387
E7E51D3742849E0276B41F663C7880829F7E9F7090A2E5B5BB11887309BB70A3
6042FC29C2BA0537E48F04F94C351293DCC3E7328B5DCD23482626DA3D6D8ADD
ED673FB06D26F87B5605F528B594CA2CA1DF49531891197A2F27A1B15AC0A22B
050CBA7324625C300726BE7A5F761AE98DB490CC427DEDB28C3E31315819A247
49B431F935683AEA37A64EA8CE925CAFBB137568CB2BA3DA2088044923C3C750
C227E03016C3732600A08AF48C75C8A3A82311EB2164E9C2C986F2A13C233B76
11FF2B2818367DE159620F232FC15483342D3707236B390617DA838A0D95CA4C
D7415078535B5AFC3A2AC9FD021AF5C2404767622DFDFF0FD5DA20E051E05D36
1559D27B38508D23813006583364DF18B772E2A25ECDE123258DC3D4292B36DE
093A9681450C4875F4C4A58443F9C7709C396952938168F14CC89BD35370A646
D1DCAEA8D3076A4FBF57212627FD77B163D5B51B01FCCE457369C3996243A5E0
01D2D7A5E81BC02009FFA37B6CAF73E7CB7DA5F18B395A382794470C69DEADF1
2B94E7FFF50693D378CFDA9D5A0EF398716F6B920D332BBE1BDFC839DE46BBBE
908F4C36B592CA6C3C603A62B00B1FBC0E051A9B2F1DE8D55921532435EB0231
C6907CB653F623B8CC39EF4CA4099ED2B06ED6335EC1BAE11655DA405EEEFABA
C676DA25F0D65F9F518D0D2ADD1E3BEF6933162ADEB8867554BE7B4B1A0375EB
74AAF6DEADDECCB0CC3DDA025D5C5F7C8876CB67D551E08A3A33FF131F6F51A3
4488106336292722602E87C7F428F69350A1E7D13167E921A33ABEB1A1D85151
54CCC562D6A7612449C8E57FFF89DC7DD6A0B8DA82B00A4571CF855F5B67688C
CF45E3721A70C1141D211F6DFF85BFEB886AF668E6416A9D80629AEDFFAEC574
A05B5A7D499FDA4AEEEF3204CD7B687EF31066DDB4BF1CA2DC8CFAB52B4D4FE4
893D433B49C53383B673B1E04DA90897E3154F08388F2D27BCAFB445DD9C7BFD
7CA64CC29E400AC2654CC9B83FF649D49A8AAED3DF02D76AC2D244A1CB59A566
D2C8153D94CAFC3AC6DED8AAAE11E768BF9C6BA1AC1462A20BD44A7D56C00CA5
426759EE74D7C491ED62488E16C81504975DFC34305C0BF2CD70FE6367EF765F
F17145CA1891C0E24C9CF6C53867CBB31383948DAB18CC937B76E502DF5959D9
B80E9030230CDE950313837F886081EC573346DADF9C77122C1B6E9EA145031F
CD013C7ABEFD6D50761220D9C8B255CEDC0AB5BCE25C3A07EB4307DC870DFD40
572987E631D3B4ED8F75E5AF899D6D9EA13C202197DDA3389FEC81F290CB53C8
25DBA2959C181DBA01288E7F6373293E6A01F18D57072CDF30D1B5C71B035DB8
682323C7DE38DF2F26F82F7AA3828C1F370F485CA81482C4FBF0A84681D99B18
898934898A376E145B5C73D2077226413A954A2C2DA401AD98601C3DF0D7F876
1C0377DF109D2A356B140B95A304D3D175845374DEFC30A69D5D08B4B5899797
440DC8330CC142914B33AB05E1B6770FFE791FD3770C6C5316EBA8E2F9DEDF97
91B13CF171B933CB0AC3157BDAB41DC9392B5D923CB38BA82A31FAA9E40F9464
577B0F660AB14A20D538000967F0837EE2F9637B27AB221286DF025C9CE08B9A
1C0A17C3DC083D714C13E71A197F21D7479D8C76E9C72B107A23F3812DA4B491
3C698A878111CEBB6DE34207F4E1E560690290F1CD2737E6EA9E1E0BE7F950A1
472ACA17CE034D3B90D421189DEA600B868A5C01A7586586ED424B91D61CDA9F
2710839833C3CE89F67C15BD29E3E0DAA2DAED720C9C8BCAFE9633D6A51DFB76
5408360CDC96920747FAD35C9D4836
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
cleartomark
%%EndFont
TeXDict begin 39158280 55380996 1728 600 600 (ssdxml.dvi)
@start /Fa 135[75 75 75 75 75 75 75 1[75 75 2[75 2[75
75 2[75 75 1[75 75 97[{}16 143.462 /CMITT10 rf /Fb 134[65
65 93 65 72 36 65 43 1[72 72 72 108 29 1[29 29 72 72
36 72 72 65 72 72 8[86 122 3[86 93 100 86 100 1[108 72
1[65 1[93 1[79 86 1[93 8[36 2[72 1[72 72 72 1[72 72 36
36 43 1[75 1[43 43 36[65 65 2[{ TeXBase1Encoding ReEncodeFont }52
129.116 /Helvetica rf /Fc 134[72 72 104 72 80 40 72 48
80 80 80 80 120 32 1[32 32 80 80 40 80 80 72 80 80 12[88
22[84 2[40 10[40 40 48 40 2[48 48 3[80 33[72 2[{
TeXBase1Encoding ReEncodeFont }35 143.462 /Helvetica-Oblique
rf /Fd 134[198 3[218 119 198 139 1[218 1[218 1[99 2[99
1[218 1[198 3[198 8[238 6[278 3[297 218 7[258 68[{
TeXBase1Encoding ReEncodeFont }17 356.934 /Helvetica-Bold
rf /Fe 139[99 1[116 1[182 7[182 2[165 3[165 29[215 11[165
165 54[{ TeXBase1Encoding ReEncodeFont }9 297.54 /Helvetica-Bold
rf /Ff 105[96 61[115 163 1[124 105 115 124 134 115 134
124 143 105 1[96 48 124 134 105 115 124 124 124 124 6[57
10[48 1[57 3[57 57 48 39[{ TeXBase1Encoding ReEncodeFont }29
172.154 /Helvetica-Bold rf /Fg 166[92 92 130 92 99 84
92 99 1[92 107 99 115 84 1[77 38 99 107 84 92 99 99 99
99 65[{ TeXBase1Encoding ReEncodeFont }23 137.723 /Helvetica-Bold
rf /Fh 198[56 56 56 56 56 56 56 56 56 56 48[{
TeXBase1Encoding ReEncodeFont }10 100.423 /Helvetica
rf /Fi 105[80 29[80 4[80 56 8[40 3[80 1[80 29[96 14[80
4[80 2[40 46[{ TeXBase1Encoding ReEncodeFont }11 143.462
/Helvetica-Bold rf /Fj 87[48 17[80 1[48 48 24[72 72 72
104 72 80 40 72 48 80 80 80 80 120 32 72 32 32 80 80
40 80 80 72 80 80 3[40 1[40 1[96 96 135 96 104 88 96
104 112 96 112 104 120 80 96 72 40 104 112 88 96 104
104 96 96 146 80 1[84 1[40 40 80 80 2[80 80 80 80 80
80 40 40 48 40 84 56 48 48 32 2[80 2[40 29[72 72 2[{
TeXBase1Encoding ReEncodeFont }83 143.462 /Helvetica
rf /Fk 134[115 1[161 115 126 69 115 80 126 126 126 126
184 57 2[57 126 126 1[115 126 115 1[115 8[138 2[149 1[138
149 161 138 161 1[172 126 2[57 4[149 149 149 7[69 2[115
115 115 115 115 115 115 115 1[57 69 57 2[69 69 57 39[{
TeXBase1Encoding ReEncodeFont }48 206.585 /Helvetica-Bold
rf /Fl 240[66 15[{}1 129.116 /CMSY9 rf /Fm 207[33 48[{}1
100.423 /CMSY7 rf /Fn 145[71 4[41 105[{}2 100.423 /CMMI7
rf /Fo 130[68 1[68 1[68 1[68 1[68 68 68 68 1[68 68 68
68 68 2[68 68 68 68 68 68 68 68 68 1[68 1[68 1[68 3[68
2[68 68 68 2[68 1[68 68 3[68 1[68 68 68 68 2[68 1[68
68 68 1[68 7[68 68 68 68 68 4[68 68 68 2[68 36[{}51 129.116
/CMTT9 rf /Fp 193[78 1[78 60[{}2 71.731 /CMMI5 rf /Fq
162[40 1[40 49[56 56 40[{}4 143.462 /CMR10 rf /Fr 205[57
57 49[{}2 100.423 /CMR7 rf /Fs 205[81 50[{}1 100.423
/LASY7 rf /Ft 135[82 1[70 82 52 67 65 1[72 70 86 126
43 2[49 83 2[67 75 62 62 76 31[108 2[112 2[40 11[72 72
20[82 25[{}24 143.462 /CMMI10 rf /Fu 149[40 2[72 72 60[143
7[143 6[112 1[112 8[72 11[72 3[{}9 143.462 /CMSY10 rf
/Fv 130[75 1[75 75 75 75 75 75 75 75 75 75 75 75 75 75
75 75 2[75 75 75 75 75 75 75 75 75 1[75 1[75 1[75 75
75 75 75 75 75 75 75 75 1[75 75 75 75 75 75 1[75 75 75
75 75 75 75 75 75 75 75 75 75 75 75 75 75 75 4[75 75
75 75 75 75 75 75 75 75 75 75 75 1[75 75 1[75 34[{}78
143.462 /CMTT10 rf end
%%EndProlog
%%BeginSetup
%%Feature: *Resolution 600dpi
TeXDict begin
%%PaperSize: A4
end
userdict/PStoPSxform PStoPSmatrix matrix currentmatrix
matrix invertmatrix matrix concatmatrix
matrix invertmatrix put
%%EndSetup
%%Page: (0,1) 1
userdict/PStoPSsaved save put
PStoPSmatrix setmatrix
595.000000 0.271378 translate
90 rotate
0.706651 dup scale
userdict/PStoPSmatrix matrix currentmatrix put
userdict/PStoPSclip{0 0 moveto
595.000000 0 rlineto 0 842.000000 rlineto -595.000000 0 rlineto
closepath}put initclip
/showpage{}def/copypage{}def/erasepage{}def
PStoPSxform concat
TeXDict begin 216 0 bop 4500 6000 a
tx@Dict begin 90 Rot end
4500 6000 a 4707
5482 a @beginspecial @setspecial
tx@Dict begin STP newpath 0.57869 SLW 0. 0. 0. setrgbcolor 0.0 false
13.12538 neg 13.12538 neg 426.24008 293.06874 .5 Frame gsave 1. 1.
1. setrgbcolor fill grestore gsave 0.57869 SLW 0. 0. 0. setrgbcolor
0 setlinecap stroke grestore end
@endspecial 4761 1876
a @beginspecial @setspecial
tx@Dict begin STP newpath 0.8 SLW 1.00 0. 0. setrgbcolor 0. true
3.8 neg 3.8 neg 411.43053 28.56505 .5 Frame gsave 1.00 0.71 0.76 setrgbcolor
fill grestore gsave 0.8 SLW 1.00 0. 0. setrgbcolor 0 setlinecap stroke
grestore end
@endspecial 4801 1789 a
Fk(5.3)207 b(XP)-6 b(ath:)70 b(Conc)l(lusion)4761 2153
y @beginspecial @setspecial
tx@Dict begin STP newpath 0.8 SLW 0.80 1. 0.80 setrgbcolor 0. true
3.8 neg 4.9949 neg 411.43053 9.99492 .5 Frame gsave 0.80 1. 0.80 setrgbcolor
fill grestore gsave 0.8 SLW 0.80 1. 0.80 setrgbcolor 0 setlinecap stroke
grestore end
@endspecial 4801 2168 a
Fj(What)40 b(can)f(XP)-6 b(ath)39 b(do?)4707 2385 y(Compar)r(ison)e
(with)i(relational)f(oper)o(ators)4821 2644 y Fu(\017)72
b Fj(selection:)47 b(y)m(es)39 b(\(selection)f(of)i(v)l(alues)f(and)g
(of)g(\(sub\)str)r(uctures\))4821 2918 y Fu(\017)72 b
Fj(projection/reduction:)45 b(no)-6 b(.)49 b(Only)39
b(complete)f(nodes)g(can)h(be)h(selected)4821 3193 y
Fu(\017)72 b Fj(join/combination:)46 b(no)-6 b(.)49 b(Only)38
b(semi-joins)g(can)h(be)g(e)l(xpressed)f(in)h(the)h(conditions)4707
3468 y(Other)e(functionality:)4821 3742 y Fu(\017)72
b Fj(correlated)38 b(subquer)r(ies:)47 b(inside)38 b(the)h(conditions)f
(as)i(semijoins)4821 4017 y Fu(\017)72 b Fj(restr)r(uctur)r(ing)37
b(of)j(the)f(results:)48 b(no)4821 4292 y Fu(\017)72
b Fj(only)39 b(f)l(ollo)n(wing)e(a)j(\223main)e(path\224)h(f)l(or)g(na)
m(vigating)f(to)i(nodes)e(\(including)g(semijoins\))4750
4566 y
1. 0. 0. setrgbcolor
4750 4566 a Fu(\))4893 4566 y
0 setgray
4893 4566 a 72 w
Fj(only)h(a)g(fr)o(agment)f(of)i(a)f(quer)t(y)g(language)f(f)l(or)h
(addressing)f(nodes)n(.)5014 4802 y Fi(\226)72 b Fj(compared)37
b(with)i(SQL,)g(XP)-6 b(ath)39 b(is)h(only)f(a)g(unar)t(y)g(\223FR)m
(OM\224)f(clause!)5014 5039 y Fi(\226)72 b Fj(XQL)39
b(\(Softw)n(are)e(A)l(G,)i(1998/1999\))f(f)l(or)h(some)f(time)h(f)l
(ollo)n(w)o(ed)e(\(as)i(one)h(of)f(the)g(predecessors)e(of)5166
5237 y(XP)-6 b(ath\))38 b(an)i(approach)e(to)h(add)g(join)h(v)l(ar)r
(iab)m(les)e(and)h(constr)r(ucts)f(f)l(or)h(projection)f(and)5166
5434 y(restr)r(uctur)r(ing/g)o(rouping)d(to)k(the)h(path)f(language)n
(.)10633 5482 y
0 setgray
10633 5482 a 7586 5768 a Fh(216)4500
6000 y
tx@Dict begin -90 Rot end
4500 6000 a eop end
PStoPSsaved restore
userdict/PStoPSsaved save put
PStoPSmatrix setmatrix
595.000000 421.271378 translate
90 rotate
0.706651 dup scale
userdict/PStoPSmatrix matrix currentmatrix put
userdict/PStoPSclip{0 0 moveto
595.000000 0 rlineto 0 842.000000 rlineto -595.000000 0 rlineto
closepath}put initclip
PStoPSxform concat
TeXDict begin 217 1 bop 4500 6000 a
tx@Dict begin 90 Rot end
4500 6000 a 4707
5482 a @beginspecial @setspecial
tx@Dict begin STP newpath 0.57869 SLW 0. 0. 0. setrgbcolor 0.0 false
13.12538 neg 13.12538 neg 426.24008 293.06874 .5 Frame gsave 1. 1.
1. setrgbcolor fill grestore gsave 0.57869 SLW 0. 0. 0. setrgbcolor
0 setlinecap stroke grestore end
@endspecial 4761 2339
a @beginspecial @setspecial
tx@Dict begin STP newpath 0.8 SLW 1.00 0. 0. setrgbcolor 0. true
3.8 neg 11.38539 neg 411.43053 16.38539 .5 Frame gsave 1.00 0.71 0.76
setrgbcolor fill grestore gsave 0.8 SLW 1.00 0. 0. setrgbcolor 0 setlinecap
stroke grestore end
@endspecial 5991 2364 a
Ff(I)8 b Fg(M)g(P)g(O)g(R)d(T)l(A)j(N)g(C)g(E)62 b(O)8
b(F)58 b Ff(X)8 b(P)-7 b Fg(A)l(T)8 b(H)58 b(I)8 b(N)58
b(T)8 b(H)g(E)57 b Ff(X)8 b(M)g(L)g(-)g(W)d Fg(O)j(R)g(L)g(D)4821
2957 y Fu(\017)72 b Fj(adressing)38 b(mechanism)f(f)l(or)i(nodes)g(in)g
(XML)g(documents)4821 3258 y Fu(\017)72 b Fj(na)m(vigation)38
b(in)h(the)g(tree)h(str)r(ucture)4821 3559 y Fu(\017)72
b Fj(ser)t(v)l(es)39 b(as)g(base)g(f)l(or)g(diff)l(erent)f(concepts:)
5014 3811 y Fi(\226)72 b Fj(XQuer)t(y)5014 4063 y Fi(\226)g
Fj(XSL/XSL)-16 b(T)m(:)38 b(stylesheets)n(,)f(tr)o(ansf)l(or)t(mation)e
(language)5014 4314 y Fi(\226)72 b Fj(other)38 b(quer)t(y)h(languages)
5014 4566 y Fi(\226)72 b Fj(XML)38 b(Schema)5014 4818
y Fi(\226)72 b Fj(XP)-7 b(ointer/XLink)10633 5482 y
0 setgray
10633
5482 a 7586 5768 a Fh(217)4500 6000 y
tx@Dict begin -90 Rot end
4500 6000 a eop
end
PStoPSsaved restore
%%Page: (2,3) 2
userdict/PStoPSsaved save put
PStoPSmatrix setmatrix
595.000000 0.271378 translate
90 rotate
0.706651 dup scale
userdict/PStoPSmatrix matrix currentmatrix put
userdict/PStoPSclip{0 0 moveto
595.000000 0 rlineto 0 842.000000 rlineto -595.000000 0 rlineto
closepath}put initclip
/showpage{}def/copypage{}def/erasepage{}def
PStoPSxform concat
TeXDict begin 218 2 bop 4500 6000 a
tx@Dict begin 90 Rot end
4500 6000 a 4707
5482 a @beginspecial @setspecial
tx@Dict begin STP newpath 0.57869 SLW 0. 0. 0. setrgbcolor 0.0 false
13.12538 neg 13.12538 neg 426.24008 293.06874 .5 Frame gsave 1. 1.
1. setrgbcolor fill grestore gsave 0.57869 SLW 0. 0. 0. setrgbcolor
0 setlinecap stroke grestore end
@endspecial 4761 2559
a @beginspecial @setspecial
tx@Dict begin STP newpath 0.8 SLW 1.00 0. 0. setrgbcolor 0. true
3.8 neg 3.8 neg 411.43053 76.2004 .5 Frame gsave 1.00 0.71 0.76 setrgbcolor
fill grestore gsave 0.8 SLW 1.00 0. 0. setrgbcolor 0 setlinecap stroke
grestore end
@endspecial 4801 1899 a
Fe(Chapter)83 b(6)4801 2338 y Fd(XML)100 b(Quer)t(y)f(Langua)l(g)t(es)
4821 2831 y Fu(\017)72 b Fj(XP)-6 b(ath)39 b(is)g(not)g(a)h(quer)t(y)f
(language:)4965 3033 y(selects)f(only)h(sets)g(of)h(nodes)4821
3326 y Fu(\017)72 b Fj(additional)38 b(functionality)f(of)j(quer)t(y)f
(languages:)5014 3573 y Fi(\226)72 b Fj(composition)37
b(of)i(tuples/str)r(uctures)e(from)i(se)l(v)l(er)o(al)f(nodes)g(of)i(a)
f(path)5014 3820 y Fi(\226)72 b Fj(joins)5014 4067 y
Fi(\226)g Fj(deref)l(erencing)5166 4287 y Fu(\003)f Fj(via)39
b(joins)5166 4488 y Fu(\003)71 b Fj(via)39 b(direct)g(resolving)f(of)h
(IDs)g(\(seen)g(as)h(v)l(alues\))5166 4690 y Fu(\003)71
b Fj(via)39 b(deref)l(erencing)e(of)j(ID)f(attr)r(ib)m(utes)5014
4937 y Fi(\226)72 b Fj(agg)o(regations)5014 5184 y Fi(\226)g
Fj(f)l(or)t(matting)37 b(and)i(restr)r(uctur)r(ing)e(of)j(results)5014
5431 y Fi(\226)72 b Fj(oper)o(ations)37 b(on)i(the)h(order)e(of)i
(nodes!)10633 5482 y
0 setgray
10633 5482 a 7586 5768 a Fh(218)4500
6000 y
tx@Dict begin -90 Rot end
4500 6000 a eop end
PStoPSsaved restore
userdict/PStoPSsaved save put
PStoPSmatrix setmatrix
595.000000 421.271378 translate
90 rotate
0.706651 dup scale
userdict/PStoPSmatrix matrix currentmatrix put
userdict/PStoPSclip{0 0 moveto
595.000000 0 rlineto 0 842.000000 rlineto -595.000000 0 rlineto
closepath}put initclip
PStoPSxform concat
TeXDict begin 219 3 bop 4500 6000 a
tx@Dict begin 90 Rot end
4500 6000 a 4707
5482 a @beginspecial @setspecial
tx@Dict begin STP newpath 0.57869 SLW 0. 0. 0. setrgbcolor 0.0 false
13.12538 neg 13.12538 neg 426.24008 293.06874 .5 Frame gsave 1. 1.
1. setrgbcolor fill grestore gsave 0.57869 SLW 0. 0. 0. setrgbcolor
0 setlinecap stroke grestore end
@endspecial 4761 1884
a @beginspecial @setspecial
tx@Dict begin STP newpath 0.8 SLW 1.00 0. 0. setrgbcolor 0. true
3.8 neg 11.69437 neg 411.43053 16.69438 .5 Frame gsave 1.00 0.71 0.76
setrgbcolor fill grestore gsave 0.8 SLW 1.00 0. 0. setrgbcolor 0 setlinecap
stroke grestore end
@endspecial 6733 1907 a
Ff(X)8 b(M)g(L)58 b(Q)6 b Fg(U)i(E)g(R)q(Y)60 b Ff(L)8
b Fg(A)g(N)g(G)g(U)q(A)q(G)g(E)h(S)4707 2583 y Fj(Collected)37
b(e)l(xper)r(iences)h(from)g(SQL,)h(OQL,)g(OEM/WSL/MSL,)e(F-Logic)h
(and)h(some)g(more)g(...)4821 2883 y Fu(\017)72 b Fj(predecessors)37
b(of)i(XP)-6 b(ath:)49 b(XSL)39 b(P)-6 b(atter)t(ns/XP)f(ointer/XQL)34
b(\(1998\))4821 3184 y Fu(\017)72 b Fj(XQL)39 b(e)l(xtended)f(the)h
(ear)r(ly)g(\223basic)f(f)l(or)t(m\224)g(to)i(a)f(quer)t(y)g(language)
5014 3436 y Fi(\226)72 b Fj(adding)38 b(se)l(v)l(er)o(al)g(constr)r
(ucts)g(to)h(the)h(path)f(e)l(xpressions)5014 3688 y
Fi(\226)72 b Fj(increasingly)37 b(complicated)5014 3940
y Fi(\226)72 b Fj(still)39 b(not)g(suf\002ciently)f(e)l(xpressiv)l(e)
5014 4192 y Fi(\226)72 b Fj(sho)n(w)o(ed)37 b(the)j(limits)e(and)h
(requirements)4821 4492 y Fu(\017)72 b Fj(XML-QL)38 b(\(1998\):)48
b(patter)t(n-matching-based)34 b(\223e)l(xtr)o(action)j(language\224)
5014 4744 y Fi(\226)72 b Fj(not)39 b(path-based,)e(b)m(ut)j(XML-patter)
t(n/template-based)33 b(binding)39 b(of)g(v)l(ar)r(iab)m(les)5014
4996 y Fi(\226)72 b Fj(semantics)37 b(b)m(y)j(a)f(clause-constr)r(uct)
5014 5248 y Fi(\226)72 b Fj(gener)o(ation)37 b(and)i(str)r(uctur)r(ing)
f(of)i(the)f(result)f(b)m(y)i(an)f(XML)g(patter)t(n)f(with)h(v)l(ar)r
(iab)m(les)10633 5482 y
0 setgray
10633 5482 a 7586 5768 a Fh(219)4500
6000 y
tx@Dict begin -90 Rot end
4500 6000 a eop end
PStoPSsaved restore
%%Page: (4,5) 3
userdict/PStoPSsaved save put
PStoPSmatrix setmatrix
595.000000 0.271378 translate
90 rotate
0.706651 dup scale
userdict/PStoPSmatrix matrix currentmatrix put
userdict/PStoPSclip{0 0 moveto
595.000000 0 rlineto 0 842.000000 rlineto -595.000000 0 rlineto
closepath}put initclip
/showpage{}def/copypage{}def/erasepage{}def
PStoPSxform concat
TeXDict begin 220 4 bop 4500 6000 a
tx@Dict begin 90 Rot end
4500 6000 a 4707
5482 a @beginspecial @setspecial
tx@Dict begin STP newpath 0.57869 SLW 0. 0. 0. setrgbcolor 0.0 false
13.12538 neg 13.12538 neg 426.24008 293.06874 .5 Frame gsave 1. 1.
1. setrgbcolor fill grestore gsave 0.57869 SLW 0. 0. 0. setrgbcolor
0 setlinecap stroke grestore end
@endspecial 4761 2224
a @beginspecial @setspecial
tx@Dict begin STP newpath 0.8 SLW 1.00 0. 0. setrgbcolor 0. true
3.8 neg 12.6304 neg 411.43053 17.63042 .5 Frame gsave 1.00 0.71 0.76
setrgbcolor fill grestore gsave 0.8 SLW 1.00 0. 0. setrgbcolor 0 setlinecap
stroke grestore end
@endspecial 6349 2233 a
Ff(X)8 b(M)g(L)58 b(Q)6 b Fg(U)i(E)g(R)q(Y)60 b Ff(L)8
b Fg(A)g(N)g(G)g(U)q(A)q(G)g(E)g(S)62 b Ff(\()8 b Fg(C)g(O)g(N)g(T)g
Ff(')g Fg(D)g Ff(\))4821 2860 y Fu(\017)72 b Fj(Quilt)39
b(\(2000\):)47 b(SQL-style)38 b(e)l(xtension)g(of)h(XP)-6
b(ath)5014 3112 y Fi(\226)72 b Fj(binding)38 b(of)i(v)l(ar)r(iab)m(les)
e(b)m(y)i(XP)-6 b(ath)39 b(e)l(xpressions)5014 3364 y
Fi(\226)72 b Fj(nested)38 b(loops)h(b)m(y)g(\223f)l(or\224-clauses)5014
3616 y Fi(\226)72 b Fj(additional)38 b(conditions)f(in)j(a)f
(\223where\224-clause)5014 3868 y Fi(\226)72 b Fj(str)r(uctur)r(ing)38
b(of)h(the)g(result)g(b)m(y)g(a)h(\223retur)t(n\224-clause)4821
4169 y Fu(\017)72 b Fj(XQuer)t(y)38 b(\(2001\):)48 b
(\223of\002cial\224)38 b(v)l(ersion)h(of)g(Quilt)5014
4421 y Fi(\226)72 b Fj(no)n(w)38 b(integ)o(r)o(ated)f(in)j(the)f
(W3C-Dr)o(aft)f(XP)-6 b(ath/XQuer)t(y)4821 4721 y Fu(\017)72
b Fj(Remar)r(k:)47 b(XQuer)t(y)39 b(is)g(case-sensitiv)l(e)n(.)4965
4924 y(ALL)g(KEYW)m(ORDS)f(MUST)g(BE)h(WRITTEN)g(WITH)7911
4924 y
1. 0. 0. setrgbcolor
7911 4924 a Fj(non-capital)8615 4924 y
0 setgray
8615 4924
a 38 w Fj(LETTERS!)10633 5482 y
0 setgray
10633 5482 a 7586 5768
a Fh(220)4500 6000 y
tx@Dict begin -90 Rot end
4500 6000 a eop end
PStoPSsaved restore
userdict/PStoPSsaved save put
PStoPSmatrix setmatrix
595.000000 421.271378 translate
90 rotate
0.706651 dup scale
userdict/PStoPSmatrix matrix currentmatrix put
userdict/PStoPSclip{0 0 moveto
595.000000 0 rlineto 0 842.000000 rlineto -595.000000 0 rlineto
closepath}put initclip
PStoPSxform concat
TeXDict begin 221 5 bop 4500 6000 a
tx@Dict begin 90 Rot end
4500 6000 a 4707
5482 a @beginspecial @setspecial
tx@Dict begin STP newpath 0.57869 SLW 0. 0. 0. setrgbcolor 0.0 false
13.12538 neg 13.12538 neg 426.24008 293.06874 .5 Frame gsave 1. 1.
1. setrgbcolor fill grestore gsave 0.57869 SLW 0. 0. 0. setrgbcolor
0 setlinecap stroke grestore end
@endspecial 4761 2632
a @beginspecial @setspecial
tx@Dict begin STP newpath 0.8 SLW 1.00 0. 0. setrgbcolor 0. true
3.8 neg 3.8 neg 411.43053 29.04741 .5 Frame gsave 1.00 0.71 0.76 setrgbcolor
fill grestore gsave 0.8 SLW 1.00 0. 0. setrgbcolor 0 setlinecap stroke
grestore end
@endspecial 4801 2539 a
Fk(6.1)207 b(XQL)4707 2910 y Fj(XQL)39 b(\(XML)f(Quer)t(y)h(Language;)f
(1998\))h(is)g(a)h(simple)e(quer)t(y)h(language)f(based)h(on)g(ear)r
(ly)g(constr)r(ucts)f(of)4707 3114 y(XP)-6 b(ath:)4821
3392 y Fu(\017)72 b Fj(all)39 b(XP)-6 b(ath)39 b(e)l(xpressions)e(that)
i(can)g(be)h(e)l(xpressed)d(without)h(the)i(use)f(of)g(\223)p
Fc(axis)t Fj(::\224)48 b(\(cf)l(.)39 b(Slide)g(192)g(-)4965
3595 y(ax)l(es)f(ha)m(v)l(e)i(only)f(been)g(added)f(later\).)4821
3896 y Fu(\017)72 b Fj(te)l(xt\(\))38 b(w)n(as)h(a)h(function,)4821
4196 y Fu(\017)72 b Fj(function)38 b(applications)f(ha)m(v)l(e)j(been)f
(e)l(xpressed)e(b)m(y)j(\223!\224)48 b(at)40 b(the)f(end)g(of)h(the)f
(path)g(e)l(xpression:)4965 4399 y
0. 0. 1. setrgbcolor
4965 4399 a Fj(//countr)t(y/name!te)
l(xt\(\))6285 4399 y
0 setgray
6285 4399 a 4707 4700 a Fj(Fur)6
b(ther)38 b(quer)t(ying)g(functionality)f(w)n(as)i(integ)o(r)o(ated)e
(syntactically)g(into)i(the)h(path)f(e)l(xpressions)n(.)10633
5482 y
0 setgray
10633 5482 a 7586 5768 a Fh(221)4500 6000 y
tx@Dict begin -90 Rot end
4500
6000 a eop end
PStoPSsaved restore
%%Page: (6,7) 4
userdict/PStoPSsaved save put
PStoPSmatrix setmatrix
595.000000 0.271378 translate
90 rotate
0.706651 dup scale
userdict/PStoPSmatrix matrix currentmatrix put
userdict/PStoPSclip{0 0 moveto
595.000000 0 rlineto 0 842.000000 rlineto -595.000000 0 rlineto
closepath}put initclip
/showpage{}def/copypage{}def/erasepage{}def
PStoPSxform concat
TeXDict begin 222 6 bop 4500 6000 a
tx@Dict begin 90 Rot end
4500 6000 a 4707
5482 a @beginspecial @setspecial
tx@Dict begin STP newpath 0.57869 SLW 0. 0. 0. setrgbcolor 0.0 false
13.12538 neg 13.12538 neg 426.24008 293.06874 .5 Frame gsave 1. 1.
1. setrgbcolor fill grestore gsave 0.57869 SLW 0. 0. 0. setrgbcolor
0 setlinecap stroke grestore end
@endspecial 4761 2653
a @beginspecial @setspecial
tx@Dict begin STP newpath 0.8 SLW 1.00 0. 0. setrgbcolor 0. true
3.8 neg 11.69437 neg 411.43053 16.69438 .5 Frame gsave 1.00 0.71 0.76
setrgbcolor fill grestore gsave 0.8 SLW 1.00 0. 0. setrgbcolor 0 setlinecap
stroke grestore end
@endspecial 5674 2676 a
Ff(X)8 b(Q)g(L)g(:)58 b(B)8 b Fg(O)g(O)g(L)g(E)g(A)g(N)61
b Ff(O)8 b Fg(P)g(E)g(R)g(A)l(T)g(I)g(O)g(N)g(S)62 b(A)8
b(N)g(D)59 b Ff(S)8 b Fg(E)g(T)57 b Ff(O)8 b Fg(P)g(E)g(R)g(A)l(T)g(I)g
(O)g(N)g(S)4821 3279 y Fu(\017)72 b Fj(q)5045 3300 y
Fr(1)5149 3279 y Fj(union)39 b(q)5620 3300 y Fr(2)5684
3279 y Fj(,)119 b(q)5923 3300 y Fr(1)6027 3279 y Fu(j)40
b Fj(q)6187 3300 y Fr(2)4821 3579 y Fu(\017)72 b Fj(q)5045
3601 y Fr(1)5149 3579 y Fj(intersect)38 b(q)5811 3601
y Fr(2)4821 3880 y Fu(\017)72 b Fj(q)5045 3901 y Fr(1)5149
3880 y Fu(\030)39 b Fj(q)5380 3901 y Fr(2)5484 3880 y
Fj(\(union,)g(in)g(case)g(that)g(both)g(are)g(non-empty\))4821
4181 y Fu(\017)72 b Fj(q)5045 4202 y Fr(1)5149 4181 y
Fj(or)39 b(q)5396 4202 y Fr(2)4821 4481 y Fu(\017)72
b Fj(q)5045 4503 y Fr(1)5149 4481 y Fj(and)39 b(q)5508
4503 y Fr(2)10633 5482 y
0 setgray
10633 5482 a 7586 5768 a Fh(222)4500
6000 y
tx@Dict begin -90 Rot end
4500 6000 a eop end
PStoPSsaved restore
userdict/PStoPSsaved save put
PStoPSmatrix setmatrix
595.000000 421.271378 translate
90 rotate
0.706651 dup scale
userdict/PStoPSmatrix matrix currentmatrix put
userdict/PStoPSclip{0 0 moveto
595.000000 0 rlineto 0 842.000000 rlineto -595.000000 0 rlineto
closepath}put initclip
PStoPSxform concat
TeXDict begin 223 7 bop 4500 6000 a
tx@Dict begin 90 Rot end
4500 6000 a 4707
5482 a @beginspecial @setspecial
tx@Dict begin STP newpath 0.57869 SLW 0. 0. 0. setrgbcolor 0.0 false
13.12538 neg 13.12538 neg 426.24008 293.06874 .5 Frame gsave 1. 1.
1. setrgbcolor fill grestore gsave 0.57869 SLW 0. 0. 0. setrgbcolor
0 setlinecap stroke grestore end
@endspecial 4761 1719
a @beginspecial @setspecial
tx@Dict begin STP newpath 0.8 SLW 1.00 0. 0. setrgbcolor 0. true
3.8 neg 12.6304 neg 411.43053 17.63042 .5 Frame gsave 1.00 0.71 0.76
setrgbcolor fill grestore gsave 0.8 SLW 1.00 0. 0. setrgbcolor 0 setlinecap
stroke grestore end
@endspecial 5493 1728 a
Ff(X)8 b(Q)g(L)g(:)58 b(R)8 b Fg(E)g(T)g(U)g(R)g(N)61
b Ff(O)8 b Fg(P)g(E)g(R)g(A)l(T)r(O)g(R)g(S)62 b Ff(\()8
b(P)g Fg(R)d(O)j(J)g(E)g(C)g(T)g(I)g(O)h(N)g(S)61 b(O)8
b(N)58 b(T)8 b(H)g(E)58 b(P)-6 b(A)l(T)8 b(H)g Ff(\))4707
2083 y Fj(Oper)o(ators)37 b(that)i(output)g(the)g(node)g(that)g(is)h
(addressed)d(at)j(the)f(giv)l(en)g(position:)4694 2355
y(??:)71 b(the)39 b(complete)f(node)h(is)g(output)g(\(including)f(attr)
r(ib)m(utes)g(and)h(subelements\))4773 2628 y(?:)72 b(only)39
b(the)g(direct)g(content)f(is)i(output)4707 2673 y
0. 0. 1. setrgbcolor
4707
2673 a 4821 2915 a Fu(\017)72 b Fj(countr)t(y/city[@isCountr)t
(yCap]/nam)o(e)4965 3157 y Fv(Berlin)4965
3355 y(Rome)4821 3627 y Fu(\017)g Fj(countr)t
(y?/city[@isCountr)t(yCap]/na)o(me)4965 3869 y Fv()78
b(Berlin)j()4965 4067 y()d
(Rome)j()4821 4339 y Fu(\017)72
b Fj(countr)t(y?[@car)p 5916 4339 44 6 v 49 w(code?]/city[@isCountr)t
(yCap]/na)o(me)4965 4582 y Fv()h
(Berlin)i()4965 4779 y()
h(Rome)i()4821 5051 y Fu(\017)72
b Fj(countr)t(y?[@car)p 5916 5051 V 49 w(code?]/city?[@isCountr)t
(yCap]/n)o(ame)o(!te)l(x)o(t\(\))4965 5294 y Fv()h(Berlin)i()4965
5491 y()h(Rome)i()10633
5482 y
0 setgray
10633 5482 a 7586 5768 a Fh(223)4500 6000 y
tx@Dict begin -90 Rot end
4500
6000 a eop end
PStoPSsaved restore
%%Page: (8,9) 5
userdict/PStoPSsaved save put
PStoPSmatrix setmatrix
595.000000 0.271378 translate
90 rotate
0.706651 dup scale
userdict/PStoPSmatrix matrix currentmatrix put
userdict/PStoPSclip{0 0 moveto
595.000000 0 rlineto 0 842.000000 rlineto -595.000000 0 rlineto
closepath}put initclip
/showpage{}def/copypage{}def/erasepage{}def
PStoPSxform concat
TeXDict begin 224 8 bop 4500 6000 a
tx@Dict begin 90 Rot end
4500 6000 a 4707
5482 a @beginspecial @setspecial
tx@Dict begin STP newpath 0.57869 SLW 0. 0. 0. setrgbcolor 0.0 false
13.12538 neg 13.12538 neg 426.24008 293.06874 .5 Frame gsave 1. 1.
1. setrgbcolor fill grestore gsave 0.57869 SLW 0. 0. 0. setrgbcolor
0 setlinecap stroke grestore end
@endspecial 4707 1538
a
0 setgray
4707 1538 a 4761 1777 a @beginspecial @setspecial
tx@Dict begin STP newpath 0.8 SLW 1.00 0. 0. setrgbcolor 0. true
3.8 neg 11.69437 neg 411.43053 16.69438 .5 Frame gsave 1.00 0.71 0.76
setrgbcolor fill grestore gsave 0.8 SLW 1.00 0. 0. setrgbcolor 0 setlinecap
stroke grestore end
@endspecial
7065 1800 a Ff(X)8 b(Q)g(L)g(:)59 b(G)8 b Fg(R)d(O)j(U)g(P)g(I)g(N)g(G)
4821 2400 y Fu(\017)72 b Fj(cop)l(y)38 b(a)i(par)6 b(t)39
b(of)g(the)h(or)r(iginal)e(document)g(str)r(ucture:)4965
2603 y Ft(path)5248 2624 y Fr(1)5352 2603 y Fu(f)h Ft(path)5746
2624 y Fr(2)5850 2603 y Fu(g)4821 2903 y(\017)72 b Fj(without)38
b(g)o(rouping:)4965 3106 y
0. 0. 1. setrgbcolor
4965 3106 a Fj(countr)t(y?[@car)p
5916 3106 44 6 v 49 w(code?]/city?/name!te)l(xt\(\))7488
3106 y
0 setgray
7488 3106 a 4965 3370 a Fv()h
(Berlin)i()4965 3573 y()
h(Hamburg)j()4965 3776 y()h(Munich)i()4821
4077 y Fu(\017)72 b Fj(with)39 b(g)o(rouping:)4965 4280
y
0. 0. 1. setrgbcolor
4965 4280 a Fj(countr)t(y?[@car)p 5916 4280 44 6 v
49 w(code?])48 b Fu(f)p Fj(/city?/name!te)l(xt\(\))p
Fu(g)7680 4280 y
0 setgray
7680 4280 a 4965 4543 a Fv()5115 4746 y(Berlin)5115
4949 y(Hamburg)5115 5152 y(Munich)4965
5355 y()10633 5482 y
0 setgray
10633 5482 a 7586 5768
a Fh(224)4500 6000 y
tx@Dict begin -90 Rot end
4500 6000 a eop end
PStoPSsaved restore
userdict/PStoPSsaved save put
PStoPSmatrix setmatrix
595.000000 421.271378 translate
90 rotate
0.706651 dup scale
userdict/PStoPSmatrix matrix currentmatrix put
userdict/PStoPSclip{0 0 moveto
595.000000 0 rlineto 0 842.000000 rlineto -595.000000 0 rlineto
closepath}put initclip
PStoPSxform concat
TeXDict begin 225 9 bop 4500 6000 a
tx@Dict begin 90 Rot end
4500 6000 a 4707
5482 a @beginspecial @setspecial
tx@Dict begin STP newpath 0.57869 SLW 0. 0. 0. setrgbcolor 0.0 false
13.12538 neg 13.12538 neg 426.24008 293.06874 .5 Frame gsave 1. 1.
1. setrgbcolor fill grestore gsave 0.57869 SLW 0. 0. 0. setrgbcolor
0 setlinecap stroke grestore end
@endspecial 4761 1987
a @beginspecial @setspecial
tx@Dict begin STP newpath 0.8 SLW 1.00 0. 0. setrgbcolor 0. true
3.8 neg 11.69437 neg 411.43053 16.69438 .5 Frame gsave 1.00 0.71 0.76
setrgbcolor fill grestore gsave 0.8 SLW 1.00 0. 0. setrgbcolor 0 setlinecap
stroke grestore end
@endspecial 7061 2010 a
Ff(X)8 b(Q)g(L)g(:)59 b(S)8 b Fg(E)g(M)g(I)g(J)g(O)g(I)g(N)g(S)4821
2610 y Fu(\017)72 b Fj(Semi-joins)37 b(via)i(subquer)r(ies)f(in)i(the)f
(condition:)7004 2945 y Ft(\031)5 b Fq([)p Ft(A)p Fq(]\()p
Ft(r)42 b(.)-24 b(/)40 b(s)p Fq(\))f Ft(;)104 b(A)39
b Fu(\032)h Fj(attr)o Fq(\()p Ft(r)t Fq(\))4707 3317
y Fj(Quer)t(y:)48 b(name)38 b(of)i(the)f(continent)f(where)h(Ger)t(man)
n(y)e(is)i(located:)4707 3445 y
0 setgray
4707 3445 a 4707 3445
a
0 setgray
4707 3445 a 4707 3617 a
0. 0. 1. setrgbcolor
4707 3617 a Fj(/mondial/continent)5875
3617 y
0. 0. 1. setrgbcolor
5875 3617 a Fj([@id)c(=)4707 3678 y
0 setgray
4707 3678
a 4707 3678 a
0 setgray
4707 3678 a 5871 3820 a
0. 0. 1. setrgbcolor
5871 3820 a 40
w Fj(/mondial/countr)t(y)6971 3820 y
0. 0. 1. setrgbcolor
6971 3820 a Fj([@car)p
7366 3820 44 6 v 47 w(code=\223D\224])4707 3881 y
0 setgray
4707
3881 a 6967 4024 a
0. 0. 1. setrgbcolor
6967 4024 a Fj(/encompassed/@continent])4707
4085 y
0 setgray
4707 4085 a 4707 4085 a
0 setgray
4707 4085 a 5871 4227
a
0. 0. 1. setrgbcolor
5871 4227 a Fj(/name!te)l(xt\(\))6635 4227 y
0. setgray
6635 4227
a 4761 4552 a @beginspecial @setspecial
tx@Dict begin STP newpath 0.8 SLW 0.80 1. 0.80 setrgbcolor 0. true
3.8 neg 4.9949 neg 411.43053 9.99492 .5 Frame gsave 0.80 1. 0.80 setrgbcolor
fill grestore gsave 0.8 SLW 0.80 1. 0.80 setrgbcolor 0 setlinecap stroke
grestore end
@endspecial
4801 4567 a Fj(Prob)m(lems)4821 4845 y Fu(\017)72 b Fj(full)39
b(joins)g(with)g(join)g(conditions)f(not)h(possib)m(le)4821
5146 y Fu(\017)72 b Fj(no)39 b(restr)r(uctur)r(ing/gener)o(ation)c(of)k
(ans)l(w)o(er)f(str)r(ucture)10633 5482 y
0 setgray
10633 5482
a 7586 5768 a Fh(225)4500 6000 y
tx@Dict begin -90 Rot end
4500 6000 a eop end
PStoPSsaved restore
%%Page: (10,11) 6
userdict/PStoPSsaved save put
PStoPSmatrix setmatrix
595.000000 0.271378 translate
90 rotate
0.706651 dup scale
userdict/PStoPSmatrix matrix currentmatrix put
userdict/PStoPSclip{0 0 moveto
595.000000 0 rlineto 0 842.000000 rlineto -595.000000 0 rlineto
closepath}put initclip
/showpage{}def/copypage{}def/erasepage{}def
PStoPSxform concat
TeXDict begin 226 10 bop 4500 6000 a
tx@Dict begin 90 Rot end
4500 6000 a 4707
5482 a @beginspecial @setspecial
tx@Dict begin STP newpath 0.57869 SLW 0. 0. 0. setrgbcolor 0.0 false
13.12538 neg 13.12538 neg 426.24008 293.06874 .5 Frame gsave 1. 1.
1. setrgbcolor fill grestore gsave 0.57869 SLW 0. 0. 0. setrgbcolor
0 setlinecap stroke grestore end
@endspecial 4761 1796
a @beginspecial @setspecial
tx@Dict begin STP newpath 0.8 SLW 1.00 0. 0. setrgbcolor 0. true
3.8 neg 11.69437 neg 411.43053 16.69438 .5 Frame gsave 1.00 0.71 0.76
setrgbcolor fill grestore gsave 0.8 SLW 1.00 0. 0. setrgbcolor 0 setlinecap
stroke grestore end
@endspecial 7249 1819 a
Ff(X)8 b(Q)g(L)g(:)58 b(J)8 b Fg(O)g(I)g(N)g(S)4821 2418
y Fu(\017)72 b Fj(Asymmetr)r(ic)37 b(full)i(joins)g(e)l(xpressed)e(b)m
(y)j Fc(correlating)d(v)l(ar)r(iab)m(les)43 b Fj(and)c(\223alter)t
(nativ)l(e\224-constr)r(uct:)4965 2621 y(Filters)f(ma)l(y)h(contain)f
(v)l(ar)r(iab)m(le)h(assignments)e(of)j(the)f(f)l(or)t(m)5166
2873 y
0. 0. 1. setrgbcolor
5166 2873 a Fj([$)p Ft(v)5 b(ar)42 b Fj(:=)e Ft(expr)t
Fj(])4707 2913 y
0 setgray
4707 2913 a 4965 3125 a Fj(that)f(are)g(the)g(used)g
(in)h(another)e(condition)5166 3377 y
0. 0. 1. setrgbcolor
5166 3377 a Fj([)p
Ft(expr)5496 3325 y Fm(0)5575 3377 y Fj(=)i($)p Ft(v)5
b(ar)t Fj(])4707 3417 y
0 setgray
4707 3417 a 4707 3477 a
0 setgray
4707
3477 a 4707 3477 a
0 setgray
4707 3477 a 4707 3477 a
0 setgray
4707 3477
a 4965 3652 a
0. 0. 1. setrgbcolor
4965 3652 a Fj(//organization?)5909 3652
y
0. 0. 1. setrgbcolor
5909 3652 a Fj([$s)36 b(:=)k(@headq])e Fu(f)6997 3652
y
0. 0. 1. setrgbcolor
6997 3652 a Fj(name??)47 b Fu(j)40 b Fj(ab)o(bre)l(v??)47
b Fu(j)39 b Fj(member??)47 b Fu(j)40 b Fj(//city[@id=$s]??)46
b Fu(g)4965 3915 y Fv()5040 4118 y(European)80
b(Union)5040 4321 y(EU)5040 4524
y()5040 4727 y()5040 5134 y()h
(Brussels)k(...)c()4965 5337 y()
10633 5482 y
0 setgray
10633 5482 a 7586 5768 a Fh(226)4500 6000
y
tx@Dict begin -90 Rot end
4500 6000 a eop end
PStoPSsaved restore
userdict/PStoPSsaved save put
PStoPSmatrix setmatrix
595.000000 421.271378 translate
90 rotate
0.706651 dup scale
userdict/PStoPSmatrix matrix currentmatrix put
userdict/PStoPSclip{0 0 moveto
595.000000 0 rlineto 0 842.000000 rlineto -595.000000 0 rlineto
closepath}put initclip
PStoPSxform concat
TeXDict begin 227 11 bop 4500 6000 a
tx@Dict begin 90 Rot end
4500 6000 a 4707
5482 a @beginspecial @setspecial
tx@Dict begin STP newpath 0.57869 SLW 0. 0. 0. setrgbcolor 0.0 false
13.12538 neg 13.12538 neg 426.24008 293.06874 .5 Frame gsave 1. 1.
1. setrgbcolor fill grestore gsave 0.57869 SLW 0. 0. 0. setrgbcolor
0 setlinecap stroke grestore end
@endspecial 4761 2126
a @beginspecial @setspecial
tx@Dict begin STP newpath 0.8 SLW 1.00 0. 0. setrgbcolor 0. true
3.8 neg 11.69437 neg 411.43053 16.69438 .5 Frame gsave 1.00 0.71 0.76
setrgbcolor fill grestore gsave 0.8 SLW 1.00 0. 0. setrgbcolor 0 setlinecap
stroke grestore end
@endspecial 6968 2149 a
Ff(X)8 b(Q)g(L)g(:)59 b(C)8 b Fg(O)g(N)g(C)g(L)g(U)g(S)g(I)g(O)h(N)4821
2749 y Fu(\017)72 b Fj(Ad-hoc-constr)r(ucts)36 b(\(in)j(diff)l(erent)f
(v)l(ersions\))4821 3049 y Fu(\017)72 b Fj(insuf\002cient)37
b(restr)r(uctur)r(ing)h(functionality)5014 3301 y Fi(\226)72
b Fj(tree)39 b(str)r(ucture)f(of)h(the)h(input)f(is)g(in)g(pr)r
(inciple)g(retained)4821 3602 y Fu(\017)72 b Fj(insuf\002cient)37
b(join)j(functionality)4821 3902 y Fu(\017)72 b Fj(no)39
b(clear)g(semantics)f(f)l(or)h(the)g(result)g(f)l(or)t(mat)4821
4203 y Fu(\017)72 b Fj(quer)r(ies)38 b(cannot)h(be)g(nested)g(\(cf)l(.)
g(SQL,)f(OQL:)h(results)g(are)g(again)g(relations\);)4965
4406 y(here)g(is)g(e)l(v)l(en)g(no)h(notion)e(of)i(a)f(subquer)t(y)4821
4707 y Fu(\017)72 b Fj(one)39 b(of)h(the)f(reasons:)47
b(no)40 b(v)l(ar)r(iab)m(le)f(concept)4821 5008 y Fu(\017)72
b Fj(implemented)37 b(and)i(used)g(up)g(to)h(2002)f(in)g(the)h(\223T)
-17 b(amino\224)37 b(system)h(of)i(Softw)n(are)e(A)l(G.)10633
5482 y
0 setgray
10633 5482 a 7586 5768 a Fh(227)4500 6000 y
tx@Dict begin -90 Rot end
4500
6000 a eop end
PStoPSsaved restore
%%Page: (12,13) 7
userdict/PStoPSsaved save put
PStoPSmatrix setmatrix
595.000000 0.271378 translate
90 rotate
0.706651 dup scale
userdict/PStoPSmatrix matrix currentmatrix put
userdict/PStoPSclip{0 0 moveto
595.000000 0 rlineto 0 842.000000 rlineto -595.000000 0 rlineto
closepath}put initclip
/showpage{}def/copypage{}def/erasepage{}def
PStoPSxform concat
TeXDict begin 228 12 bop 4500 6000 a
tx@Dict begin 90 Rot end
4500 6000 a 4707
5482 a @beginspecial @setspecial
tx@Dict begin STP newpath 0.57869 SLW 0. 0. 0. setrgbcolor 0.0 false
13.12538 neg 13.12538 neg 426.24008 293.06874 .5 Frame gsave 1. 1.
1. setrgbcolor fill grestore gsave 0.57869 SLW 0. 0. 0. setrgbcolor
0 setlinecap stroke grestore end
@endspecial 4761 2024
a @beginspecial @setspecial
tx@Dict begin STP newpath 0.8 SLW 1.00 0. 0. setrgbcolor 0. true
3.8 neg 3.8 neg 411.43053 31.42343 .5 Frame gsave 1.00 0.71 0.76 setrgbcolor
fill grestore gsave 0.8 SLW 1.00 0. 0. setrgbcolor 0 setlinecap stroke
grestore end
@endspecial 4801 1896 a
Fk(6.2)207 b(Quer)r(y)57 b(Langua)n(g)r(es:)72 b(Requirements)4761
2336 y @beginspecial @setspecial
tx@Dict begin STP newpath 0.8 SLW 0.80 1. 0.80 setrgbcolor 0. true
3.8 neg 6.09749 neg 411.43053 11.09749 .5 Frame gsave 0.80 1. 0.80
setrgbcolor fill grestore gsave 0.8 SLW 0.80 1. 0.80 setrgbcolor 0
setlinecap stroke grestore end
@endspecial 4801 2337
a Fj(Requirements)34 b(on)j(XML)g(Quer)t(y)f(Languages)g([Da)m(vid)g
(Maier)g(and)h(W3C)g(XML)g(Quer)t(y)f(Requirements])4821
2606 y Fu(\017)72 b Fj(closedness:)47 b(output)38 b(m)o(ust)h(be)g(XML)
4821 2907 y Fu(\017)72 b Fj(or)6 b(thogonality/composability:)43
b(e)l(v)l(er)t(ywhere)38 b(where)g(a)i(set)f(of)h(XML)e(elements)g(is)i
(required,)e(also)h(a)4965 3110 y(quer)t(y)g(is)g(allo)n(w)o(ed.)4821
3411 y Fu(\017)72 b Fj(clean)39 b(de\002nition)f(and)h(nesting)f(of)i
(oper)o(ations:)46 b(selection,)38 b(e)l(xtr)o(action/projection,)d
(restr)r(uctur)r(ing,)4965 3614 y(combination/join,)h(fusion)j(of)g
(elements)n(,)4821 3914 y Fu(\017)72 b Fj(applicab)m(le)38
b(without)g(presence)g(of)i(schema,)e(b)m(ut)h(can)g(use)g(a)h(schema,)
4821 4215 y Fu(\017)72 b Fj(retaining)38 b(the)h(order)g(of)g(nodes)n
(,)4821 4516 y Fu(\017)72 b Fj([quer)r(ies)38 b(should)h(ha)m(v)l(e)g
(an)h(XML)e(representation,)f(especially)-14 b(,)37 b(XML)i(documents)f
(should)g(be)i(ab)m(le)4965 4719 y(to)f(contain)g(embedded)e(quer)r
(ies])4821 5020 y Fu(\017)72 b Fj(resolving)38 b(of)h(XP)-7
b(ointer)38 b(and)h(XLink)4821 5320 y Fu(\017)72 b Fj(f)l(or)t(mal)38
b(semantics:)46 b(der)r(iving)39 b(str)r(ucture)f(of)h(the)h(result,)e
(equiv)l(alence)g(and)h(quer)t(y)g(containment)10633
5482 y
0 setgray
10633 5482 a 7586 5768 a Fh(228)4500 6000 y
tx@Dict begin -90 Rot end
4500
6000 a eop end
PStoPSsaved restore
userdict/PStoPSsaved save put
PStoPSmatrix setmatrix
595.000000 421.271378 translate
90 rotate
0.706651 dup scale
userdict/PStoPSmatrix matrix currentmatrix put
userdict/PStoPSclip{0 0 moveto
595.000000 0 rlineto 0 842.000000 rlineto -595.000000 0 rlineto
closepath}put initclip
PStoPSxform concat
TeXDict begin 229 13 bop 4500 6000 a
tx@Dict begin 90 Rot end
4500 6000 a 4707
5482 a @beginspecial @setspecial
tx@Dict begin STP newpath 0.57869 SLW 0. 0. 0. setrgbcolor 0.0 false
13.12538 neg 13.12538 neg 426.24008 293.06874 .5 Frame gsave 1. 1.
1. setrgbcolor fill grestore gsave 0.57869 SLW 0. 0. 0. setrgbcolor
0 setlinecap stroke grestore end
@endspecial 4761 1974
a @beginspecial @setspecial
tx@Dict begin STP newpath 0.8 SLW 1.00 0. 0. setrgbcolor 0. true
3.8 neg 3.8 neg 411.43053 29.04741 .5 Frame gsave 1.00 0.71 0.76 setrgbcolor
fill grestore gsave 0.8 SLW 1.00 0. 0. setrgbcolor 0 setlinecap stroke
grestore end
@endspecial 4801 1881 a
Fk(6.3)207 b(XML-QL)4821 2253 y Fu(\017)72 b Fv(http://www.w3.org/TR/1)
q(998)q(/NO)q(TE-)8 b(xml)q(-)f(q)q(l-)g(1)q(998)q(081)q(9/)4821
2553 y Fu(\017)72 b Fj(simple)n(,)38 b(patter)t(n-based)e(XML)j(quer)t
(y)g(language:)4965 2816 y(WHERE)g Ft(xml)s Fj(-)p Ft(patter)t(n)f
Fj(IN)h Ft(ur)t(l)k Fj(CONSTR)-6 b(UCT)36 b Ft(r)t(esul)s(t)4821
3117 y Fu(\017)72 b Fj(usage)38 b(of)i(v)l(ar)r(iab)m(le)f(bindings:)
4965 3320 y Ft(xml)s Fj(-)p Ft(patter)t(n)f Fj(contains)g(v)l(ar)r(iab)
m(les)h(that)g(can)g(be)h(used)f(in)g Ft(r)t(esul)s(t)p
Fj(,)4821 3621 y Fu(\017)72 b Fj(declar)o(ativ)l(e)n(,)4821
3922 y Fu(\017)g Fj(\223relationally)37 b(complete\224,)h(i.e)n(.,)h
(joins)f(can)i(be)f(e)l(xpressed.)4707 4222 y(Example:)5354
4222 y
0. 0. 1. setrgbcolor
5354 4222 a 5008 4523 a Fv(WHERE)77 b()
5610 4726 y($name)5460 4929 y()5008
5132 y(IN)e("http://www.../mondial)q(.xm)q(l")5008 5335
y(CONSTRUCT)i()4707
5390 y
0 setgray
4707 5390 a 10633 5482 a
0 setgray
10633 5482 a 7586 5768
a Fh(229)4500 6000 y
tx@Dict begin -90 Rot end
4500 6000 a eop end
PStoPSsaved restore
%%Page: (14,15) 8
userdict/PStoPSsaved save put
PStoPSmatrix setmatrix
595.000000 0.271378 translate
90 rotate
0.706651 dup scale
userdict/PStoPSmatrix matrix currentmatrix put
userdict/PStoPSclip{0 0 moveto
595.000000 0 rlineto 0 842.000000 rlineto -595.000000 0 rlineto
closepath}put initclip
/showpage{}def/copypage{}def/erasepage{}def
PStoPSxform concat
TeXDict begin 230 14 bop 4500 6000 a
tx@Dict begin 90 Rot end
4500 6000 a 4707
5482 a @beginspecial @setspecial
tx@Dict begin STP newpath 0.57869 SLW 0. 0. 0. setrgbcolor 0.0 false
13.12538 neg 13.12538 neg 426.24008 293.06874 .5 Frame gsave 1. 1.
1. setrgbcolor fill grestore gsave 0.57869 SLW 0. 0. 0. setrgbcolor
0 setlinecap stroke grestore end
@endspecial 4761 2128
a @beginspecial @setspecial
tx@Dict begin STP newpath 0.8 SLW 1.00 0. 0. setrgbcolor 0. true
3.8 neg 11.69437 neg 411.43053 16.69438 .5 Frame gsave 1.00 0.71 0.76
setrgbcolor fill grestore gsave 0.8 SLW 1.00 0. 0. setrgbcolor 0 setlinecap
stroke grestore end
@endspecial 7083 2150 a
Ff(X)8 b(M)g(L)g(-)g(Q)g(L)g(:)61 b(J)8 b Fg(O)g(I)g(N)g(S)4707
2825 y Fj(Joins)38 b(are)h(e)l(xpressed)f(as)h(a)h(list)f(of)4707
3028 y(WHERE)f(\()p Ft(expr)5614 3050 y Fr(1)5718 3028
y Fj(IN)h Ft(doc)6108 3050 y Fr(1)6172 3028 y Fj(,)h(...)49
b(,)40 b Ft(expr)6787 3050 y Fn(n)6904 3028 y Fj(IN)g
Ft(doc)7295 3050 y Fn(n)7372 3028 y Fj(\)-clauses:)4821
3329 y Fu(\017)72 b Fj(equijoin)38 b(inside)h(a)g(document:)6752
3329 y
0. 0. 1. setrgbcolor
6752 3329 a 5040 3592 a Fv(WHERE)5191 3795 y()5191 3998 y(IN)e(mondial.xml,)5191
4202 y()5341 4405 y()5191 4608 y()5191
4811 y(IN)d(mondial.xml,)5040 5014 y(CONSTRUCT)i(...)4707
5037 y
0 setgray
4707 5037 a 10633 5482 a
0 setgray
10633 5482 a 7586 5768
a Fh(230)4500 6000 y
tx@Dict begin -90 Rot end
4500 6000 a eop end
PStoPSsaved restore
userdict/PStoPSsaved save put
PStoPSmatrix setmatrix
595.000000 421.271378 translate
90 rotate
0.706651 dup scale
userdict/PStoPSmatrix matrix currentmatrix put
userdict/PStoPSclip{0 0 moveto
595.000000 0 rlineto 0 842.000000 rlineto -595.000000 0 rlineto
closepath}put initclip
PStoPSxform concat
TeXDict begin 231 15 bop 4500 6000 a
tx@Dict begin 90 Rot end
4500 6000 a 4707
5482 a @beginspecial @setspecial
tx@Dict begin STP newpath 0.57869 SLW 0. 0. 0. setrgbcolor 0.0 false
13.12538 neg 13.12538 neg 426.24008 293.06874 .5 Frame gsave 1. 1.
1. setrgbcolor fill grestore gsave 0.57869 SLW 0. 0. 0. setrgbcolor
0 setlinecap stroke grestore end
@endspecial 4761 1910
a @beginspecial @setspecial
tx@Dict begin STP newpath 0.8 SLW 1.00 0. 0. setrgbcolor 0. true
3.8 neg 11.69437 neg 411.43053 16.69438 .5 Frame gsave 1.00 0.71 0.76
setrgbcolor fill grestore gsave 0.8 SLW 1.00 0. 0. setrgbcolor 0 setlinecap
stroke grestore end
@endspecial 7083 1933 a
Ff(X)8 b(M)g(L)g(-)g(Q)g(L)g(:)61 b(J)8 b Fg(O)g(I)g(N)g(S)4821
2531 y Fu(\017)72 b Fj(Joins)39 b(that)g(combine)f(m)o(ultiple)f
(documents:)4707 2561 y
0. 0. 1. setrgbcolor
4707 2561 a 5040 2794 a Fv(WHERE)5191
2997 y()5191 3201 y(IN)f(http://www.../europe.x)
q(ml,)5191 3404 y()5191 3607 y(IN)f
(http://www.../america.)q(xml)q(,)5191 3810 y()5191 4013 y(IN)e(http://www.../lufthans)q
(a.x)q(ml)5040 4216 y(CONSTRUCT)5115 4419 y()5266
4623 y()5266
4826 y()5115
5029 y()4707 5255 y
0 setgray
4707 5255 a 10633 5482
a
0 setgray
10633 5482 a 7586 5768 a Fh(231)4500 6000 y
tx@Dict begin -90 Rot end
4500 6000
a eop end
PStoPSsaved restore
%%Page: (16,17) 9
userdict/PStoPSsaved save put
PStoPSmatrix setmatrix
595.000000 0.271378 translate
90 rotate
0.706651 dup scale
userdict/PStoPSmatrix matrix currentmatrix put
userdict/PStoPSclip{0 0 moveto
595.000000 0 rlineto 0 842.000000 rlineto -595.000000 0 rlineto
closepath}put initclip
/showpage{}def/copypage{}def/erasepage{}def
PStoPSxform concat
TeXDict begin 232 16 bop 4500 6000 a
tx@Dict begin 90 Rot end
4500 6000 a 4707
5482 a @beginspecial @setspecial
tx@Dict begin STP newpath 0.57869 SLW 0. 0. 0. setrgbcolor 0.0 false
13.12538 neg 13.12538 neg 426.24008 293.06874 .5 Frame gsave 1. 1.
1. setrgbcolor fill grestore gsave 0.57869 SLW 0. 0. 0. setrgbcolor
0 setlinecap stroke grestore end
@endspecial 4761 1705
a @beginspecial @setspecial
tx@Dict begin STP newpath 0.8 SLW 1.00 0. 0. setrgbcolor 0. true
3.8 neg 11.69437 neg 411.43053 16.69438 .5 Frame gsave 1.00 0.71 0.76
setrgbcolor fill grestore gsave 0.8 SLW 1.00 0. 0. setrgbcolor 0 setlinecap
stroke grestore end
@endspecial 6627 1728 a
Ff(X)8 b(M)g(L)g(-)g(Q)g(L)g(:)61 b(N)8 b Fg(E)g(S)g(T)g(E)g(D)59
b Ff(Q)6 b Fg(U)i(E)g(R)g(I)g(E)g(S)4707 2164 y Fj(WHERE)38
b Ft(xml)s Fj(-)p Ft(patter)t(n)h Fj(IN)g Ft(ur)t(l)k
Fj(CONSTR)-6 b(UCT)36 b Ft(r)t(esul)s(t)4821 2440 y Fu(\017)72
b Ft(r)t(esul)s(t)39 b Fj(can)g(contain)g(nested)f(WHERE)h(...)49
b(IN)39 b(...)49 b(CONSTR)-6 b(UCT)37 b(statements)n(.)4761
2896 y @beginspecial @setspecial
tx@Dict begin STP newpath 0.8 SLW 1.00 0. 0. setrgbcolor 0. true
3.8 neg 11.38539 neg 411.43053 16.38539 .5 Frame gsave 1.00 0.71 0.76
setrgbcolor fill grestore gsave 0.8 SLW 1.00 0. 0. setrgbcolor 0 setlinecap
stroke grestore end
@endspecial 6721 2920
a Ff(F)8 b Fg(U)g(R)d(T)j(H)g(E)g(R)61 b Ff(F)8 b Fg(U)g(N)g(C)g(T)g(I)
g(O)g(N)h(A)g(L)g(I)g(T)f(Y)4821 3337 y Fu(\017)72 b
Fj(tag-v)l(ar)r(iab)m(les:)47 b(WHERE)6445 3317 y Fp(<)6522
3337 y Fj($tag)6802 3317 y Fp(>)6919 3337 y Fj(...)7088
3317 y Fp(<)7166 3337 y Fj(/)7206 3317 y Fp(>)4821 3613
y Fu(\017)72 b Fj(regular)38 b(path)h(e)l(xpressions:)46
b(instead)39 b(of)g(XP)-6 b(ath')f(s)39 b(\223//\224,)8139
3597 y Fp(<)8216 3613 y Fv(*)8291 3597 y Fp(>)8445 3613
y Fv(...)8821 3597 y Fp(<)8899 3613 y Fv(/)8974 3597
y Fp(>)9172 3613 y Fj(is)g(used.)4761 3976 y @beginspecial
@setspecial
tx@Dict begin STP newpath 0.8 SLW 1.00 0. 0. setrgbcolor 0. true
3.8 neg 11.38539 neg 411.43053 16.38539 .5 Frame gsave 1.00 0.71 0.76
setrgbcolor fill grestore gsave 0.8 SLW 1.00 0. 0. setrgbcolor 0 setlinecap
stroke grestore end
@endspecial 7219 4001 a Ff(D)r Fg(A)l(T)l(A)59
b Ff(M)8 b Fg(O)g(D)g(E)g(L)4821 4413 y Fu(\017)72 b
Fj(Gr)o(aph-based:)46 b(XML-tree)38 b(with)h(IDREF)f(edges:)4707
4444 y
0. 0. 1. setrgbcolor
4707 4444 a 5191 4658 a Fv(WHERE)5341 4856 y()5492 5054 y($name<)q(/na)q(me>)q($)q(pop)q(
)q()
5341 5252 y()5191 5450 y(IN)e(...)g(CONSTRUCT)i(...)4707
5466 y
0 setgray
4707 5466 a 10633 5482 a
0 setgray
10633 5482 a 7586 5768
a Fh(232)4500 6000 y
tx@Dict begin -90 Rot end
4500 6000 a eop end
PStoPSsaved restore
userdict/PStoPSsaved save put
PStoPSmatrix setmatrix
595.000000 421.271378 translate
90 rotate
0.706651 dup scale
userdict/PStoPSmatrix matrix currentmatrix put
userdict/PStoPSclip{0 0 moveto
595.000000 0 rlineto 0 842.000000 rlineto -595.000000 0 rlineto
closepath}put initclip
PStoPSxform concat
TeXDict begin 233 17 bop 4500 6000 a
tx@Dict begin 90 Rot end
4500 6000 a 4707
5482 a @beginspecial @setspecial
tx@Dict begin STP newpath 0.57869 SLW 0. 0. 0. setrgbcolor 0.0 false
13.12538 neg 13.12538 neg 426.24008 293.06874 .5 Frame gsave 1. 1.
1. setrgbcolor fill grestore gsave 0.57869 SLW 0. 0. 0. setrgbcolor
0 setlinecap stroke grestore end
@endspecial 4761 2176
a @beginspecial @setspecial
tx@Dict begin STP newpath 0.8 SLW 1.00 0. 0. setrgbcolor 0. true
3.8 neg 11.69437 neg 411.43053 16.69438 .5 Frame gsave 1.00 0.71 0.76
setrgbcolor fill grestore gsave 0.8 SLW 1.00 0. 0. setrgbcolor 0 setlinecap
stroke grestore end
@endspecial 6802 2198 a
Ff(X)8 b(M)g(L)g(-)g(Q)g(L)g(:)62 b(C)8 b Fg(O)g(N)g(C)g(L)g(U)g(S)g(I)
g(O)h(N)4821 2797 y Fu(\017)72 b Fj(clause-based)37 b(high-le)l(v)l(el)
h(language)4821 3097 y Fu(\017)72 b Fj(selection)38 b(and)h(constr)r
(uction)e(patter)t(n-based)g(\(b)m(y)i(binding)g(v)l(ar)r(iab)m(les)f
(in)i(the)f(patter)t(ns;)f(similar)g(to)4965 3301 y(Logic)h(Prog)o(r)o
(amming\))4821 3601 y Fu(\017)72 b Fj(join)39 b(conditions:)47
b(not)39 b(in)h(a)f(WHERE)g(clause)n(,)f(b)m(ut)i(implicitly)e(e)l
(xpressed)f(b)m(y)j Fc(join)f(v)l(ar)r(iab)m(les)j Fj(\(lik)m(e)d(in)
4965 3804 y(Logic)g(Prog)o(r)o(amming\))4821 4105 y Fu(\017)72
b Fj(g)o(r)o(aph)38 b(data)h(model;)f(no)i(diff)l(erence)d(betw)o(een)h
(tree)h(edges)f(and)i(ref)l(erence)d(edges)4821 4406
y Fu(\017)72 b Fj(has)39 b(been)g(implemented)4821 4706
y Fu(\017)72 b Fj(used)39 b(in)g(diff)l(erent)f(projects)g(\(e)n(.g.)h
(MIX)g(\226)h(Mediation)d(in)j(XML;)f(UC)g(San)g(Diego\))5014
4958 y Fi(\226)72 b Fj(allo)n(ws)38 b(f)l(or)h(access)f(and)h
(combination)f(of)h(diff)l(erent)f(HTML/XML-sources)d(in)40
b(a)g(quer)t(y)-14 b(.)10633 5482 y
0 setgray
10633 5482 a 7586
5768 a Fh(233)4500 6000 y
tx@Dict begin -90 Rot end
4500 6000 a eop end
PStoPSsaved restore
%%Page: (18,19) 10
userdict/PStoPSsaved save put
PStoPSmatrix setmatrix
595.000000 0.271378 translate
90 rotate
0.706651 dup scale
userdict/PStoPSmatrix matrix currentmatrix put
userdict/PStoPSclip{0 0 moveto
595.000000 0 rlineto 0 842.000000 rlineto -595.000000 0 rlineto
closepath}put initclip
/showpage{}def/copypage{}def/erasepage{}def
PStoPSxform concat
TeXDict begin 234 18 bop 4500 6000 a
tx@Dict begin 90 Rot end
4500 6000 a 4707
5482 a @beginspecial @setspecial
tx@Dict begin STP newpath 0.57869 SLW 0. 0. 0. setrgbcolor 0.0 false
13.12538 neg 13.12538 neg 426.24008 293.06874 .5 Frame gsave 1. 1.
1. setrgbcolor fill grestore gsave 0.57869 SLW 0. 0. 0. setrgbcolor
0 setlinecap stroke grestore end
@endspecial 4761 1906
a @beginspecial @setspecial
tx@Dict begin STP newpath 0.8 SLW 1.00 0. 0. setrgbcolor 0. true
3.8 neg 3.8 neg 411.43053 30.71783 .5 Frame gsave 1.00 0.71 0.76 setrgbcolor
fill grestore gsave 0.8 SLW 1.00 0. 0. setrgbcolor 0 setlinecap stroke
grestore end
@endspecial 4801 1789 a
Fk(6.4)207 b(SQL,)57 b(OQL)g(etc.)4821 2178 y Fu(\017)72
b Fj(set-or)r(iented)37 b(\(sets)i(of)h(tuples)e(or)i(objects\))e
(language)4821 2471 y Fu(\017)72 b Fj(implicit)38 b(iter)o(ation)g(o)n
(v)l(er)h(sets:)5166 2718 y(SELECT)f(...)49 b(FR)m(OM)38
b Fc(relation-or-e)l(xtent)7525 2718 y
1. 0. 0. setrgbcolor
7525 2718 a Fj(c)7597
2718 y
0 setgray
7597 2718 a 4821 3010 a Fu(\017)72 b Fj(v)l(ar)r(iab)m(le)5503
3010 y
1. 0. 0. setrgbcolor
5503 3010 a Fj(c)5575 3010 y
0 setgray
5575 3010 a 39 w
Fj(r)o(anges)38 b(o)n(v)l(er)6404 3010 y
0. 0. 1. setrgbcolor
6404 3010 a
Fc(data)h(items)7067 3010 y
0 setgray
7067 3010 a 4821 3302 a Fu(\017)72
b Fj(join:)48 b(use)39 b(se)l(v)l(er)o(al)f(such)h(v)l(ar)r(iab)m(les)g
(and)g(correlate)f(them)4821 3594 y Fu(\017)72 b Fj(WHERE)39
b(and)g(SELECT)f(par)6 b(t:)48 b(use)39 b(these)g(v)l(ar)r(iab)m(les)
4761 3887 y @beginspecial @setspecial
tx@Dict begin STP newpath 0.8 SLW 0.80 1. 0.80 setrgbcolor 0. true
3.8 neg 5.06746 neg 411.43053 10.06746 .5 Frame gsave 0.80 1. 0.80
setrgbcolor fill grestore gsave 0.8 SLW 0.80 1. 0.80 setrgbcolor 0
setlinecap stroke grestore end
@endspecial 4801
3903 a(Similar)f(constr)r(ucts)g(f)l(or)h(XML?)4821 4165
y Fu(\017)72 b Fj(v)l(ar)r(iab)m(les)38 b(r)o(ange)h(o)n(v)l(er)g(sets)
g(of)g(nodes)4821 4458 y Fu(\017)72 b Fj(...)49 b(sets)39
b(of)g(nodes)g(can)g(be)h(addresses)d(b)m(y)j(XP)-6 b(ath)4821
4750 y Fu(\017)72 b Fj(str)o(aightf)l(orw)n(ard)36 b(and)j(intuitiv)l
(e:)4965 5042 y(f)l(or)5168 5042 y
1. 0. 0. setrgbcolor
5168 5042 a Fj($c)5320
5042 y
0 setgray
5320 5042 a 39 w Fj(in)5511 5042 y
0. 0. 1. setrgbcolor
5511 5042 a
Fj(//countr)t(y)6067 5042 y
0 setgray
6067 5042 a 4965 5244 a Fj(where)5395
5244 y
1. 0. 0. setrgbcolor
5395 5244 a Fj($c)5547 5244 y
0 setgray
5547 5244 a Fj(.population)f
Ft(>)h Fj(1000000)4965 5445 y(retur)t(n)5383 5445 y
1. 0. 0. setrgbcolor
5383
5445 a Fj($c)5535 5445 y
0 setgray
5535 5445 a Fj(.name)10633 5482
y
0 setgray
10633 5482 a 7586 5768 a Fh(234)4500 6000 y
tx@Dict begin -90 Rot end
4500 6000
a eop end
PStoPSsaved restore
userdict/PStoPSsaved save put
PStoPSmatrix setmatrix
595.000000 421.271378 translate
90 rotate
0.706651 dup scale
userdict/PStoPSmatrix matrix currentmatrix put
userdict/PStoPSclip{0 0 moveto
595.000000 0 rlineto 0 842.000000 rlineto -595.000000 0 rlineto
closepath}put initclip
PStoPSxform concat
TeXDict begin 235 19 bop 4500 6000 a
tx@Dict begin 90 Rot end
4500 6000 a 4707
5482 a @beginspecial @setspecial
tx@Dict begin STP newpath 0.57869 SLW 0. 0. 0. setrgbcolor 0.0 false
13.12538 neg 13.12538 neg 426.24008 293.06874 .5 Frame gsave 1. 1.
1. setrgbcolor fill grestore gsave 0.57869 SLW 0. 0. 0. setrgbcolor
0 setlinecap stroke grestore end
@endspecial 4761 1915
a @beginspecial @setspecial
tx@Dict begin STP newpath 0.8 SLW 1.00 0. 0. setrgbcolor 0. true
3.8 neg 3.8 neg 411.43053 31.32983 .5 Frame gsave 1.00 0.71 0.76 setrgbcolor
fill grestore gsave 0.8 SLW 1.00 0. 0. setrgbcolor 0 setlinecap stroke
grestore end
@endspecial 4801 1789 a
Fk(6.5)207 b(Quilt)58 b(and)f(XQuer)r(y)4821 2182 y Fu(\017)72
b Fj(a)39 b(Quilt)g(is)h(a)5682 2182 y
0. 0. 1. setrgbcolor
5682 2182 a Fj(\223Flic)m(k)m
(enteppich\224)6692 2182 y
0 setgray
6692 2182 a 37 w Fj(...)4821
2467 y Fu(\017)72 b Fj(IBM,)39 b(Softw)n(are)e(A)l(G,)i(INRIA)4821
2753 y Fu(\017)72 b Fj(Liter)o(ature:)47 b(W)l(ebDB2000-W)l(or)r(kshop)
4821 3038 y Fu(\017)72 b Fj(Str)r(ucture)38 b(similar)g(to)6203
3038 y
0. 0. 1. setrgbcolor
6203 3038 a Fj(SQL/OQL:)f(clause-based,)g(functional)h(language)
9091 3038 y
0 setgray
9091 3038 a 4965 3238 a Fj(\(arbitr)o(ar)t(y)f(nesting)i
(of)g(FL)-10 b(WR)40 b(e)l(xpressions)d(allo)n(w)o(ed\),)4821
3523 y Fu(\017)72 b Fj(Use)39 b(of)g(v)l(ar)r(iab)m(les)g(similar)f(to)
i(SQL/OQL,)4821 3809 y Fu(\017)72 b Fj(based)38 b(upon)5754
3809 y
0. 0. 1. setrgbcolor
5754 3809 a Fj(XP)-6 b(ath)39 b(\(pre)l(viously)e(XQL/XSL)h(P)-6
b(atter)t(ns\))8128 3809 y
0 setgray
8128 3809 a 38 w Fj(in)40
b(the)8557 3809 y
0. 0. 1. setrgbcolor
8557 3809 a Fj(selection)e(par)6 b(t)9417
3809 y
0 setgray
9417 3809 a 39 w Fj(and)39 b(upon)10094 3809 y
0. 0. 1. setrgbcolor
10094 3809 a Fj(XML-QL)10630 3809 y
0 setgray
10630 3809 a 4965
4009 a Fj(\(XML)f(patter)t(ns\))g(in)h(the)6348 4009
y
0. 0. 1. setrgbcolor
6348 4009 a Fj(constr)r(uction)e(par)6 b(t)7417 4009
y
0 setgray
7417 4009 a Fj(:)4821 4294 y Fu(\017)4965 4294 y
1. 0. 0. setrgbcolor
4965
4294 a Fj(F)5053 4294 y
0 setgray
5053 4294 a Fj(or)5220 4294 y
1. 0. 0. setrgbcolor
5220 4294 a Fj(L)5300 4294 y
0 setgray
5300 4294 a Fj(et)5459 4294
y
1. 0. 0. setrgbcolor
5459 4294 a Fj(W)5594 4294 y
0 setgray
5594 4294 a Fj(here)5922
4294 y
1. 0. 0. setrgbcolor
5922 4294 a Fj(R)6026 4294 y
0 setgray
6026 4294 a Fj(etur)t(n-clauses)
5166 4537 y(f)l(or)39 b Ft(v)5 b(ar)t(iabl)s(e)38 b Fj(in)i
Ft(xpath)p Fj(-)p Ft(expr)202 b Fj(//)39 b(from)g(XQL/XP)-6
b(ath)38 b(and)h(XML-QL)5166 4740 y(let)g Ft(additional)p
6019 4740 44 6 v 54 w(v)5 b(ar)t(iabl)s(e)38 b Fj(:=)i
Ft(xpath)p Fj(-)p Ft(expr)5166 4943 y Fj(where)e Ft(condition)5166
5146 y Fj(retur)t(n)g Ft(xml)s Fj(-)p Ft(expr)808 b Fj(//)39
b(from)g(XML-QL)4821 5431 y Fu(\017)72 b Fj(has)39 b(been)g(mo)n(v)l
(ed)g(into)g(W3C')-7 b(s)39 b(\223XML)f(Quer)t(y\224)h(in)g(2001)g
(with)g(only)g(small)g(changes)n(.)10633 5482 y
0 setgray
10633
5482 a 7586 5768 a Fh(235)4500 6000 y
tx@Dict begin -90 Rot end
4500 6000 a eop
end
PStoPSsaved restore
%%Page: (20,21) 11
userdict/PStoPSsaved save put
PStoPSmatrix setmatrix
595.000000 0.271378 translate
90 rotate
0.706651 dup scale
userdict/PStoPSmatrix matrix currentmatrix put
userdict/PStoPSclip{0 0 moveto
595.000000 0 rlineto 0 842.000000 rlineto -595.000000 0 rlineto
closepath}put initclip
/showpage{}def/copypage{}def/erasepage{}def
PStoPSxform concat
TeXDict begin 236 20 bop 4500 6000 a
tx@Dict begin 90 Rot end
4500 6000 a 4707
5482 a @beginspecial @setspecial
tx@Dict begin STP newpath 0.57869 SLW 0. 0. 0. setrgbcolor 0.0 false
13.12538 neg 13.12538 neg 426.24008 293.06874 .5 Frame gsave 1. 1.
1. setrgbcolor fill grestore gsave 0.57869 SLW 0. 0. 0. setrgbcolor
0 setlinecap stroke grestore end
@endspecial 4761 1705
a @beginspecial @setspecial
tx@Dict begin STP newpath 0.8 SLW 1.00 0. 0. setrgbcolor 0. true
3.8 neg 11.69437 neg 411.43053 16.69438 .5 Frame gsave 1.00 0.71 0.76
setrgbcolor fill grestore gsave 0.8 SLW 1.00 0. 0. setrgbcolor 0 setlinecap
stroke grestore end
@endspecial 6963 1728 a
Ff(X)8 b(Q)e Fg(U)i(E)g(R)q(Y)p Ff(:)73 b(E)8 b Fg(X)g(A)g(M)g(P)g(L)g
(E)4821 2050 y Fu(\017)72 b Fj(f)l(or-clause:)47 b(binding)38
b(of)h(v)l(ar)r(iab)m(les)g(\(cf)l(.)g(SQL:)g(FR)m(OM\))4821
2324 y Fu(\017)72 b Fj(where-clause:)46 b(e)l(v)l(aluation)38
b(of)h(conditions)4821 2599 y Fu(\017)72 b Fj(retur)t(n-clause:)46
b(gener)o(ation)37 b(of)j(the)f(result)f(\(cf)l(.)h(SQL:)g(SELECT\))
4707 2647 y
0. 0. 1. setrgbcolor
4707 2647 a 4761 3509 a @beginspecial @setspecial
tx@Dict begin STP newpath 0.8 SLW 0. setgray 0. true 3.8 neg 50.1047
neg 411.15254 54.6047 .5 Frame gsave 1. setgray fill grestore gsave
0.8 SLW 0. setgray 0 setlinecap stroke grestore end
@endspecial 4829 2859 a Fo()4897 3046 y({)67
b(for)g($c)h(in)f(/mondial/country)5032 3232 y(where)g($c/population)e
(>)j(10000000)5032 3418 y(return)f()5710
3604 y({)h($c/name)e(})5710 3790 y()h({)g(string\($c/@area\))d(})
k()5507 3977 y()4897 4163 y(})f()10660
3509 y
0 setgray
10660 3509 a 4707 4351 a Fj([Filename:)47 b(\002rst-e)l(xample)n
(.xq])6511 4351 y
0. setgray
6511 4351 a 4707 4593 a Fj(gener)o(ates)5383
4593 y
0. 0. 1. setrgbcolor
5383 4593 a 4707 4833 a Fp(<)4784 4852 y Fb(result)5101
4833 y Fp(>)o(<)5255 4852 y Fb(bigcountr)t(y)5857 4833
y Fp(>)n(<)6010 4852 y Fb(name)6334 4833 y Fp(>)6411
4852 y Fb(F)-6 b(r)o(ance)6807 4833 y Fp(<)6883 4852
y Fb(/name)7243 4833 y Fp(>)o(<)7398 4852 y Fb(area)7657
4833 y Fp(>)7734 4852 y Fb(547030)8166 4833 y Fp(<)8242
4852 y Fb(/area)8537 4833 y Fp(>)o(<)8692 4852 y Fb(/bigcountr)t(y)9330
4833 y Fp(>)5178 5020 y(<)5255 5038 y Fb(bigcountr)t(y)5857
5020 y Fp(>)n(<)6010 5038 y Fb(name)6334 5020 y Fp(>)6411
5038 y Fb(Spain)6742 5020 y Fp(<)6819 5038 y Fb(/name)7179
5020 y Fp(>)n(<)7333 5038 y Fb(area)7592 5020 y Fp(>)7669
5038 y Fb(504750)8101 5020 y Fp(<)8177 5038 y Fb(/area)8472
5020 y Fp(>)o(<)8627 5038 y Fb(/bigcountr)t(y)9265 5020
y Fp(>)5178 5224 y Fb(:)4707 5392 y Fp(<)4784 5410 y
Fb(result)5101 5392 y Fp(>)4707 5482 y
0. setgray
4707 5482 a 10633
5482 a
0 setgray
10633 5482 a 7586 5768 a Fh(236)4500 6000 y
tx@Dict begin -90 Rot end
4500
6000 a eop end
PStoPSsaved restore
userdict/PStoPSsaved save put
PStoPSmatrix setmatrix
595.000000 421.271378 translate
90 rotate
0.706651 dup scale
userdict/PStoPSmatrix matrix currentmatrix put
userdict/PStoPSclip{0 0 moveto
595.000000 0 rlineto 0 842.000000 rlineto -595.000000 0 rlineto
closepath}put initclip
PStoPSxform concat
TeXDict begin 237 21 bop 4500 6000 a
tx@Dict begin 90 Rot end
4500 6000 a 4707
5482 a @beginspecial @setspecial
tx@Dict begin STP newpath 0.57869 SLW 0. 0. 0. setrgbcolor 0.0 false
13.12538 neg 13.12538 neg 426.24008 293.06874 .5 Frame gsave 1. 1.
1. setrgbcolor fill grestore gsave 0.57869 SLW 0. 0. 0. setrgbcolor
0 setlinecap stroke grestore end
@endspecial 4707 1466
a
0 setgray
4707 1466 a 4761 1705 a @beginspecial @setspecial
tx@Dict begin STP newpath 0.8 SLW 1.00 0. 0. setrgbcolor 0. true
3.8 neg 11.69437 neg 411.43053 16.69438 .5 Frame gsave 1.00 0.71 0.76
setrgbcolor fill grestore gsave 0.8 SLW 1.00 0. 0. setrgbcolor 0 setlinecap
stroke grestore end
@endspecial
4927 1728 a Ff(A)8 b Fg(S)g(I)g(D)g(E)g Ff(:)72 b(T)r
Fg(O)8 b(O)g(L)g(S)59 b Ff(\226)d(X)8 b(Q)e Fg(U)i(E)g(R)q(Y)60
b(A)8 b(S)57 b(A)g Ff(D)r Fg(A)l(T)l(A)8 b(B)t(A)g(S)g(E)61
b(A)8 b(N)g(D)58 b Ff(W)8 b Fg(E)g(B)57 b Ff(Q)6 b Fg(U)i(E)g(R)q(Y)60
b Ff(L)8 b Fg(A)g(N)g(G)g(U)q(A)q(G)h(E)4761 2105 y @beginspecial
@setspecial
tx@Dict begin STP newpath 0.8 SLW 0.80 1. 0.80 setrgbcolor 0. true
3.8 neg 4.9949 neg 411.43053 9.99492 .5 Frame gsave 0.80 1. 0.80 setrgbcolor
fill grestore gsave 0.8 SLW 0.80 1. 0.80 setrgbcolor 0 setlinecap stroke
grestore end
@endspecial 4801 2120 a Fj(XML)39 b(Databases)4821
2351 y Fu(\017)72 b Fj(local)39 b(repositor)t(y)f(of)h(XML)g(documents)
4821 2625 y Fu(\017)72 b Fj(adding)38 b(documents)g(to)h(the)h
(Database)4821 2899 y Fu(\017)72 b Fj(access)38 b(only)h(against)g
(locally)f(stored)h(documents)4821 3172 y Fu(\017)72
b Fj(presence)38 b(of)h(access)g(paths)f(lik)m(e)i(inde)l(x)l(es)d(etc)
4821 3446 y Fu(\017)72 b Fj(manipulation)37 b(of)i(documents)4707
3720 y(T)-17 b(ool:)48 b(a)39 b(local)g(eXist)g(repositor)t(y;)f(see)h
(W)l(eb)g(page)4707 3918 y(paths:)5147 3918 y
0. 0. 1. setrgbcolor
5147 3918
a Fj(/mondial//countr)t(y/name)6647 3918 y
0 setgray
6647 3918
a 35 w Fj(or)6849 3918 y
0. 0. 1. setrgbcolor
6849 3918 a Fj(doc\('/db/xmlcourse/mondial.xm)
o(l'\)/m)o(ond)o(ial/co)o(untr)s(y/nam)o(e)10399 3918
y
0 setgray
10399 3918 a 4761 4186 a @beginspecial @setspecial
tx@Dict begin STP newpath 0.8 SLW 0.80 1. 0.80 setrgbcolor 0. true
3.8 neg 6.09749 neg 411.43053 11.09749 .5 Frame gsave 0.80 1. 0.80
setrgbcolor fill grestore gsave 0.8 SLW 0.80 1. 0.80 setrgbcolor 0
setlinecap stroke grestore end
@endspecial 4801 4187 a Fj(Quer)r(ies)f(against)h(the)g(W)l(eb)4821
4432 y Fu(\017)72 b Fj(quer)t(ying)38 b(the)h(whole)g(W)l(eb)4821
4706 y Fu(\017)72 b Fj(documents)37 b(not)j(locally)e(stored;)h(only)f
(on-the-\003y-inde)l(xing)e(possib)m(le)4821 4980 y Fu(\017)72
b Fj(access)38 b(to)i(remote)e(documents)g(b)m(y)h(their)g(ur)r(l)4707
5254 y(T)-17 b(ool:)48 b(saxonXP;)38 b(see)h(W)l(eb)g(page)4707
5451 y
0. 0. 1. setrgbcolor
4707 5451 a Fj(paths:)48 b(doc\(')p Fc(\002lename)37
b(or)i(ur)r(l)12 b Fj('\)//countr)t(y/name)7417 5451
y
0 setgray
7417 5451 a 10633 5482 a
0 setgray
10633 5482 a 7586 5768 a Fh(237)4500
6000 y
tx@Dict begin -90 Rot end
4500 6000 a eop end
PStoPSsaved restore
%%Page: (22,23) 12
userdict/PStoPSsaved save put
PStoPSmatrix setmatrix
595.000000 0.271378 translate
90 rotate
0.706651 dup scale
userdict/PStoPSmatrix matrix currentmatrix put
userdict/PStoPSclip{0 0 moveto
595.000000 0 rlineto 0 842.000000 rlineto -595.000000 0 rlineto
closepath}put initclip
/showpage{}def/copypage{}def/erasepage{}def
PStoPSxform concat
TeXDict begin 238 22 bop 4500 6000 a
tx@Dict begin 90 Rot end
4500 6000 a 4707
5482 a @beginspecial @setspecial
tx@Dict begin STP newpath 0.57869 SLW 0. 0. 0. setrgbcolor 0.0 false
13.12538 neg 13.12538 neg 426.24008 293.06874 .5 Frame gsave 1. 1.
1. setrgbcolor fill grestore gsave 0.57869 SLW 0. 0. 0. setrgbcolor
0 setlinecap stroke grestore end
@endspecial 4761 1705
a @beginspecial @setspecial
tx@Dict begin STP newpath 0.8 SLW 1.00 0. 0. setrgbcolor 0. true
3.8 neg 11.69437 neg 411.43053 16.69438 .5 Frame gsave 1.00 0.71 0.76
setrgbcolor fill grestore gsave 0.8 SLW 1.00 0. 0. setrgbcolor 0 setlinecap
stroke grestore end
@endspecial 6153 1728 a
Ff(X)8 b(Q)e Fg(U)i(E)g(R)q(Y)p Ff(:)73 b(O)p Fg(V)8
b(E)g(R)q(V)g(I)g(E)g(W)60 b(O)8 b(F)58 b Ff(F)8 b Fg(U)g(N)g(C)g(T)g
(I)g(O)g(N)h(A)f(L)h(I)g(T)g(Y)4821 2118 y Fu(\017)72
b Fj(f)l(or-clause:)47 b(de\002nes)38 b(nested)g(loops)h(where)g(each)g
(of)g(the)g(v)l(ar)r(iab)m(les)g(r)r(uns)g(o)n(v)l(er)g(the)h(set)f(of)
g(selected)4965 2315 y(v)l(alues)4821 2587 y Fu(\017)72
b Fj(v)l(ar)r(iab)m(les)38 b(in)i(XP)-6 b(ath)39 b(e)l(xpressions:)46
b(bound)39 b(in)g(f)l(or/let)g(\(or)g(b)m(y)g(surrounding)f
(statements\),)f(the)m(y)i(are)4965 2785 y(used)g(as)g(star)6
b(ting)38 b(points)h(f)l(or)g(paths)g(and)g(in)g(conditions)4821
3057 y Fu(\017)72 b Fj(joins:)5014 3292 y Fi(\226)g Fj(m)o(ultiple)37
b(v)l(ar)r(iab)m(les)i(in)g(a)h(f)l(or-clause:)5166 3489
y(f)l(or)f Fc($v)l(ar)5645 3511 y Fr(1)5748 3489 y Fj(in)h
Fc(doc)6132 3511 y Fr(1)6195 3489 y Fc(/path)6515 3511
y Fr(1)6579 3489 y Fj(,)g(.)24 b(.)g(.)g(,)38 b Fc($v)l(ar)7205
3511 y Fn(n)7323 3489 y Fj(in)h Fc(doc)7706 3511 y Fn(n)7784
3489 y Fc(/path)8104 3511 y Fn(n)5014 3724 y Fi(\226)72
b Fj(correlated)37 b(de\002nition)h(of)i(the)f(v)l(ar)r(iab)m(les)g(in)
g(the)h(f)l(or-clause:)5166 3921 y(f)l(or)f Fc($v)l(ar)5645
3943 y Fr(1)5748 3921 y Fj(in)h Fc(doc)6132 3943 y Fr(1)6195
3921 y Fc(/path)6515 3943 y Fr(1)6579 3921 y Fj(,)g Fc($v)l(ar)6935
3943 y Fr(2)7038 3921 y Fj(in)g Fc($v)l(ar)7466 3943
y Fr(1)7530 3921 y Fc(/path)7850 3943 y Fr(2)7913 3921
y Fj(,)g(.)24 b(.)g(.)4821 4194 y Fu(\017)72 b Fj(let-clause)38
b(f)l(or)h(de\002nition)f(of)h(\223constants\224:)4965
4391 y(let)g Fc($v)l(ar)h(:=)f(e)l(xpr)4965 4588 y Fj(binds)g
Fc($v)l(ar)55 b Fj(to)40 b(the)f Fc(whole)g(result)51
b Fj(of)40 b Fc(e)l(xpr)54 b Fj(\(in)40 b(gener)o(al,)d(a)j(node)f
(set\).)4821 4861 y Fu(\017)72 b Fj(nested/iter)o(ated)36
b(f)l(or-let-f)l(or-let-clauses)f(allo)n(w)o(ed)4821
5133 y Fu(\017)72 b Fj(gener)o(ation)37 b(of)j(nested)e(and)h(g)o
(rouped)f(str)r(uctures:)4965 5330 y(the)h(retur)t(n-clause)e(ma)l(y)h
(contain)h(fur)6 b(ther)38 b(FL)-10 b(WR-clauses)37 b(\(which)i(can)g
(contain)f(v)l(ar)r(iab)m(les)h(from)4965 5528 y(the)g(outer)g
(clause\).)10633 5482 y
0 setgray
10633 5482 a 7586 5768 a Fh(238)4500
6000 y
tx@Dict begin -90 Rot end
4500 6000 a eop end
PStoPSsaved restore
userdict/PStoPSsaved save put
PStoPSmatrix setmatrix
595.000000 421.271378 translate
90 rotate
0.706651 dup scale
userdict/PStoPSmatrix matrix currentmatrix put
userdict/PStoPSclip{0 0 moveto
595.000000 0 rlineto 0 842.000000 rlineto -595.000000 0 rlineto
closepath}put initclip
PStoPSxform concat
TeXDict begin 239 23 bop 4500 6000 a
tx@Dict begin 90 Rot end
4500 6000 a 4707
5482 a @beginspecial @setspecial
tx@Dict begin STP newpath 0.57869 SLW 0. 0. 0. setrgbcolor 0.0 false
13.12538 neg 13.12538 neg 426.24008 293.06874 .5 Frame gsave 1. 1.
1. setrgbcolor fill grestore gsave 0.57869 SLW 0. 0. 0. setrgbcolor
0 setlinecap stroke grestore end
@endspecial 4761 1705
a @beginspecial @setspecial
tx@Dict begin STP newpath 0.8 SLW 1.00 0. 0. setrgbcolor 0. true
3.8 neg 11.69437 neg 411.43053 16.69438 .5 Frame gsave 1.00 0.71 0.76
setrgbcolor fill grestore gsave 0.8 SLW 1.00 0. 0. setrgbcolor 0 setlinecap
stroke grestore end
@endspecial 6279 1728 a
Ff(S)8 b Fg(I)g(M)g(P)g(L)g(E)g(S)g(T)60 b Ff(X)8 b(Q)e
Fg(U)i(E)g(R)q(Y)60 b Ff(Q)6 b Fg(U)i(E)g(R)g(I)g(E)g(S)g
Ff(:)73 b(X)8 b(P)-7 b Fg(A)l(T)8 b(H)4821 2312 y Fu(\017)72
b Fj(Each)39 b(XP)-6 b(ath)39 b(quer)t(y)g(is)g(also)g(an)g(XQuer)t(y)g
(quer)t(y)4965 2515 y(result:)48 b(a)39 b(sequence)f(of)i(nodes)f(or)g
(liter)o(al)f(v)l(alues)7776 2515 y
0. 0. 1. setrgbcolor
7776 2515 a 5266
2776 a Fv(doc\('mondial.xml'\)//c)q(oun)q(try)q(/na)q(me)4707
2830 y
0 setgray
4707 2830 a 4965 3038 a Fj(Note:)48 b(diff)l(erent)38
b(beha)m(vior)g(when)h(retur)t(ning)e(attr)r(ib)m(ute)i(nodes!)8528
3038 y
0. 0. 1. setrgbcolor
8528 3038 a 5266 3299 a Fv(doc\('mondial.xml'\)//c)q(oun)q(try)q
(/@a)q(rea)4707 3353 y
0 setgray
4707 3353 a 4761 3879 a @beginspecial
@setspecial
tx@Dict begin STP newpath 0.8 SLW 1.00 0. 0. setrgbcolor 0. true
3.8 neg 11.69437 neg 411.43053 16.69438 .5 Frame gsave 1.00 0.71 0.76
setrgbcolor fill grestore gsave 0.8 SLW 1.00 0. 0. setrgbcolor 0 setlinecap
stroke grestore end
@endspecial 6830 3901 a Ff(X)8 b(Q)e Fg(U)i(E)g(R)q(Y)p
Ff(:)73 b(F)8 b Fg(O)g(R)g Ff(-)g Fg(C)g(L)g(A)q(U)h(S)f(E)6996
4491 y Fj(f)l(or)39 b($)p Fc(v)l(ar)56 b Fj(=)39 b Fc(xpath-e)l(xpr)
4821 4789 y Fu(\017)72 b Fj(iter)o(ates)38 b(o)n(v)l(er)h(the)g(result)
g(of)g Fc(xpath-e)l(xpr)4707 4819 y
0. 0. 1. setrgbcolor
4707 4819 a 5019
5126 a @beginspecial @setspecial
tx@Dict begin STP newpath 0.8 SLW 0. setgray 0. true 3.8 neg 12.26884
neg 393.79057 17.26884 .5 Frame gsave 1. setgray fill grestore gsave
0.8 SLW 0. setgray 0 setlinecap stroke grestore end
@endspecial -93 x Fv(for)77
b($c)f(in)f(/mondial//country/n)q(ame)5019 5236 y(return)j($c)4965
5430 y
0. setgray
4965 5430 a Fj([Filename:)47 b(f)l(or-e)l(xample)n(.xq])4707
5482 y
0 setgray
4707 5482 a 4707 5482 a
0 setgray
4707 5482 a 10633 5482
a
0 setgray
10633 5482 a 7586 5768 a Fh(239)4500 6000 y
tx@Dict begin -90 Rot end
4500 6000
a eop end
PStoPSsaved restore
%%Page: (24,25) 13
userdict/PStoPSsaved save put
PStoPSmatrix setmatrix
595.000000 0.271378 translate
90 rotate
0.706651 dup scale
userdict/PStoPSmatrix matrix currentmatrix put
userdict/PStoPSclip{0 0 moveto
595.000000 0 rlineto 0 842.000000 rlineto -595.000000 0 rlineto
closepath}put initclip
/showpage{}def/copypage{}def/erasepage{}def
PStoPSxform concat
TeXDict begin 240 24 bop 4500 6000 a
tx@Dict begin 90 Rot end
4500 6000 a 4707
5482 a @beginspecial @setspecial
tx@Dict begin STP newpath 0.57869 SLW 0. 0. 0. setrgbcolor 0.0 false
13.12538 neg 13.12538 neg 426.24008 293.06874 .5 Frame gsave 1. 1.
1. setrgbcolor fill grestore gsave 0.57869 SLW 0. 0. 0. setrgbcolor
0 setlinecap stroke grestore end
@endspecial 4761 1705
a @beginspecial @setspecial
tx@Dict begin STP newpath 0.8 SLW 1.00 0. 0. setrgbcolor 0. true
3.8 neg 11.69437 neg 411.43053 16.69438 .5 Frame gsave 1.00 0.71 0.76
setrgbcolor fill grestore gsave 0.8 SLW 1.00 0. 0. setrgbcolor 0 setlinecap
stroke grestore end
@endspecial 6674 1728 a
Ff(X)8 b(Q)e Fg(U)i(E)g(R)q(Y)p Ff(:)73 b(R)8 b Fg(E)g(T)g(U)g(R)g(N)g
Ff(-)g Fg(C)h(L)f(A)r(U)h(S)g(E)4707 2327 y Fj(Output)38
b(of)i(all)f(statements)f(m)o(ust)g(be)h(XML.)4821 2618
y Fu(\017)72 b Fj(simple)38 b(case:)48 b(content)39 b(of)g(a)h(v)l(ar)r
(iab)m(le)4707 2648 y
0. 0. 1. setrgbcolor
4707 2648 a 5019 2952 a @beginspecial
@setspecial
tx@Dict begin STP newpath 0.8 SLW 0. setgray 0. true 3.8 neg 12.26884
neg 393.79057 17.26884 .5 Frame gsave 1. setgray fill grestore gsave
0.8 SLW 0. setgray 0 setlinecap stroke grestore end
@endspecial -94 x Fv(for)77 b($c)f(in)f
(/mondial//country/n)q(ame)5019 3061 y(return)j($c)4965
3153 y
0. setgray
4965 3153 a 4821 3444 a Fu(\017)72 b Fj(and)39
b(gener)o(ation)e(of)j(str)r(uctured)e(results)g(\(cf)l(.)h(OQL\))4707
3496 y
0 setgray
4707 3496 a 4707 3496 a
0 setgray
4707 3496 a 4761 3735
a @beginspecial @setspecial
tx@Dict begin STP newpath 0.8 SLW 0.80 1. 0.80 setrgbcolor 0. true
3.8 neg 5.06746 neg 411.43053 10.06746 .5 Frame gsave 0.80 1. 0.80
setrgbcolor fill grestore gsave 0.8 SLW 0.80 1. 0.80 setrgbcolor 0
setlinecap stroke grestore end
@endspecial 4801 3750 a
Fj(Gener)o(ation)e(of)j(Str)r(uctures)4821 4011 y Fu(\017)72
b Fj(liter)o(al)38 b(XML)4821 4302 y Fu(\017)72 b Fj(computed)38
b(element-)g(and)h(attr)r(ib)m(ute)f(constr)r(uctors)g(\(later\))4761
4601 y @beginspecial @setspecial
tx@Dict begin STP newpath 0.8 SLW 0.80 1. 0.80 setrgbcolor 0. true
3.8 neg 6.02748 neg 411.43053 11.02748 .5 Frame gsave 0.80 1. 0.80
setrgbcolor fill grestore gsave 0.8 SLW 0.80 1. 0.80 setrgbcolor 0
setlinecap stroke grestore end
@endspecial 4801 4603
a(Use)h(of)g(Computed)f(V)-10 b(alues/Str)r(uctures)4821
4878 y Fu(\017)72 b Fj(enclosed)38 b(betw)o(een)g(\223)p
Fu(f)p Fj(\224)h(.)24 b(.)g(.)63 b(\223)p Fu(g)p Fj(\224)4821
5169 y Fu(\017)72 b Fj(e)l(v)l(aluation)38 b(of)h(v)l(ar)r(iab)m(les)g
(and)g(XP)-6 b(ath)39 b(e)l(xpressions)4821 5460 y Fu(\017)72
b Fj(nested)38 b(FL)-10 b(WR-clauses)10633 5482 y
0 setgray
10633
5482 a 7586 5768 a Fh(240)4500 6000 y
tx@Dict begin -90 Rot end
4500 6000 a eop
end
PStoPSsaved restore
userdict/PStoPSsaved save put
PStoPSmatrix setmatrix
595.000000 421.271378 translate
90 rotate
0.706651 dup scale
userdict/PStoPSmatrix matrix currentmatrix put
userdict/PStoPSclip{0 0 moveto
595.000000 0 rlineto 0 842.000000 rlineto -595.000000 0 rlineto
closepath}put initclip
PStoPSxform concat
TeXDict begin 241 25 bop 4500 6000 a
tx@Dict begin 90 Rot end
4500 6000 a 4707
5482 a @beginspecial @setspecial
tx@Dict begin STP newpath 0.57869 SLW 0. 0. 0. setrgbcolor 0.0 false
13.12538 neg 13.12538 neg 426.24008 293.06874 .5 Frame gsave 1. 1.
1. setrgbcolor fill grestore gsave 0.57869 SLW 0. 0. 0. setrgbcolor
0 setlinecap stroke grestore end
@endspecial 4761 2008
a @beginspecial @setspecial
tx@Dict begin STP newpath 0.8 SLW 1.00 0. 0. setrgbcolor 0. true
3.8 neg 11.48137 neg 411.43053 16.48138 .5 Frame gsave 1.00 0.71 0.76
setrgbcolor fill grestore gsave 0.8 SLW 1.00 0. 0. setrgbcolor 0 setlinecap
stroke grestore end
@endspecial 5474 2034 a
Ff(R)8 b Fg(E)g(T)g(U)g(R)g(N)g Ff(-)g(C)h Fg(L)g(A)r(U)g(S)f(E)h
Ff(:)74 b(C)8 b Fg(O)g(N)g(S)g(T)g(R)d(U)j(C)g(T)h(I)g(O)g(N)62
b(O)8 b(F)57 b Ff(R)8 b Fg(E)g(S)g(U)g(L)l(T)59 b Ff(E)8
b Fg(L)g(E)g(M)g(E)g(N)g(T)g(S)4821 2627 y Fu(\017)72
b Fj(liter)o(al)38 b(XML,)h(v)l(alues)g(of)g(v)l(ar)r(iab)m(les)g(and)g
(results)f(of)i(XP)-6 b(ath)39 b(e)l(xpressions)4707
2657 y
0. 0. 1. setrgbcolor
4707 2657 a 5019 3772 a @beginspecial @setspecial
tx@Dict begin STP newpath 0.8 SLW 0. setgray 0. true 3.8 neg 68.4918
neg 393.79057 73.49182 .5 Frame gsave 1. setgray fill grestore gsave
0.8 SLW 0. setgray 0 setlinecap stroke grestore end
@endspecial -912 x Fv()5019 3063 y(Name | Ar)q(ea<)q(/th)q(> | Po)q(pul)q(ati)q(on<)q(/th)q(>)5019
3267 y({)76 b(for)g($c)g(in)g(/mondial/country)5170 3470
y(return)5321 3673 y( |
---|
{$c/name/text\()q(\)}<)q(/td>)5622
3876 y( | {string\($c/@area\))q(})5622 4079
y( | {$c/population/te)q(xt\(\))q(})q(td>)5321 4282
y( |
)5019 4485 y(})5019 4689 y(
)10669
3772 y
0 setgray
10669 3772 a 4965 4882 a Fj([Filename:)47 b(tab)m(le-e)l(xample)
n(.xq])4965 5123 y(retur)t(ns)38 b(one)h(tab)m(le)g(ro)n(w)g(f)l(or)g
(each)g(countr)t(y)-14 b(.)10633 5482 y
0 setgray
10633 5482 a
7586 5768 a Fh(241)4500 6000 y
tx@Dict begin -90 Rot end
4500 6000 a eop end
PStoPSsaved restore
%%Page: (26,27) 14
userdict/PStoPSsaved save put
PStoPSmatrix setmatrix
595.000000 0.271378 translate
90 rotate
0.706651 dup scale
userdict/PStoPSmatrix matrix currentmatrix put
userdict/PStoPSclip{0 0 moveto
595.000000 0 rlineto 0 842.000000 rlineto -595.000000 0 rlineto
closepath}put initclip
/showpage{}def/copypage{}def/erasepage{}def
PStoPSxform concat
TeXDict begin 242 26 bop 4500 6000 a
tx@Dict begin 90 Rot end
4500 6000 a 4707
5482 a @beginspecial @setspecial
tx@Dict begin STP newpath 0.57869 SLW 0. 0. 0. setrgbcolor 0.0 false
13.12538 neg 13.12538 neg 426.24008 293.06874 .5 Frame gsave 1. 1.
1. setrgbcolor fill grestore gsave 0.57869 SLW 0. 0. 0. setrgbcolor
0 setlinecap stroke grestore end
@endspecial 4761 2014
a @beginspecial @setspecial
tx@Dict begin STP newpath 0.8 SLW 1.00 0. 0. setrgbcolor 0. true
3.8 neg 11.69437 neg 411.43053 16.69438 .5 Frame gsave 1.00 0.71 0.76
setrgbcolor fill grestore gsave 0.8 SLW 1.00 0. 0. setrgbcolor 0 setlinecap
stroke grestore end
@endspecial 6818 2036 a
Ff(X)8 b(Q)e Fg(U)i(E)g(R)q(Y)p Ff(:)72 b(F)8 b Fg(O)g(R)g
Ff(-)g(C)g Fg(L)g(A)r(U)h(S)f(E)4761 2764 y @beginspecial
@setspecial
tx@Dict begin STP newpath 0.8 SLW 0.80 1. 0.80 setrgbcolor 0. true
3.8 neg 6.02748 neg 411.43053 11.02748 .5 Frame gsave 0.80 1. 0.80
setrgbcolor fill grestore gsave 0.8 SLW 0.80 1. 0.80 setrgbcolor 0
setlinecap stroke grestore end
@endspecial 4801 2766 a Fj(Multiple)38 b(V)-10
b(ar)r(iab)m(les)38 b(in)i(a)f(F)l(or-Clause)4821 3058
y Fu(\017)72 b Fj(car)6 b(tesian)37 b(product)4965 3261
y(\(cf)l(.)i(FR)m(OM-clause)d(in)k(SQL\))4707 3291 y
0. 0. 1. setrgbcolor
4707 3291 a 5019 4209 a @beginspecial @setspecial
tx@Dict begin STP newpath 0.8 SLW 0. setgray 0. true 3.8 neg 54.74857
neg 393.79057 59.74857 .5 Frame gsave 1. setgray fill grestore gsave
0.8 SLW 0. setgray 0 setlinecap stroke grestore end
@endspecial
5170 3506 a Fv(for)76 b($c)g(in)g(/mondial//country,)5471
3709 y($o)g(in)g(/mondial//organizatio)q(n)5170 3912
y(where)h($c/@capital)i(=)c($o/@headq)5170 4115 y(return)5321
4318 y()5547 4521 y({$c/name/text)q(\(\)}<)q(/co)q
(unt)q(ry>)5547 4724 y({$o/name)q(/tex)q(t\(\))q(})q
(org)q(ani)q(zat)q(ion>)5321 4928 y()10669 4209
y
0 setgray
10669 4209 a 4965 5121 a Fj([Filename:)47 b(car)6 b(tesian-e)l
(xample)n(.xq])10633 5482 y
0 setgray
10633 5482 a 7586 5768 a
Fh(242)4500 6000 y
tx@Dict begin -90 Rot end
4500 6000 a eop end
PStoPSsaved restore
userdict/PStoPSsaved save put
PStoPSmatrix setmatrix
595.000000 421.271378 translate
90 rotate
0.706651 dup scale
userdict/PStoPSmatrix matrix currentmatrix put
userdict/PStoPSclip{0 0 moveto
595.000000 0 rlineto 0 842.000000 rlineto -595.000000 0 rlineto
closepath}put initclip
PStoPSxform concat
TeXDict begin 243 27 bop 4500 6000 a
tx@Dict begin 90 Rot end
4500 6000 a 4707
5482 a @beginspecial @setspecial
tx@Dict begin STP newpath 0.57869 SLW 0. 0. 0. setrgbcolor 0.0 false
13.12538 neg 13.12538 neg 426.24008 293.06874 .5 Frame gsave 1. 1.
1. setrgbcolor fill grestore gsave 0.57869 SLW 0. 0. 0. setrgbcolor
0 setlinecap stroke grestore end
@endspecial 4761 1984
a @beginspecial @setspecial
tx@Dict begin STP newpath 0.8 SLW 1.00 0. 0. setrgbcolor 0. true
3.8 neg 11.69437 neg 411.43053 16.69438 .5 Frame gsave 1.00 0.71 0.76
setrgbcolor fill grestore gsave 0.8 SLW 1.00 0. 0. setrgbcolor 0 setlinecap
stroke grestore end
@endspecial 6818 2006 a
Ff(X)8 b(Q)e Fg(U)i(E)g(R)q(Y)p Ff(:)72 b(F)8 b Fg(O)g(R)g
Ff(-)g(C)g Fg(L)g(A)r(U)h(S)f(E)4761 2734 y @beginspecial
@setspecial
tx@Dict begin STP newpath 0.8 SLW 0.80 1. 0.80 setrgbcolor 0. true
3.8 neg 6.02748 neg 411.43053 11.02748 .5 Frame gsave 0.80 1. 0.80
setrgbcolor fill grestore gsave 0.8 SLW 0.80 1. 0.80 setrgbcolor 0
setlinecap stroke grestore end
@endspecial 4801 2736 a Fj(Multiple)38 b(V)-10
b(ar)r(iab)m(les)38 b(in)i(a)f(F)l(or-Clause)4821 3028
y Fu(\017)72 b Fj(\223correlated\224)37 b(Join)4965 3231
y(\(cf)l(.)i(FR)m(OM-clause)d(in)k(Schema-SQL)d(and)i(OQL\))4821
3531 y Fu(\017)72 b Fj(subset)38 b(of)i(the)f(car)6 b(tesian)38
b(product)4965 4340 y
0. 0. 1. setrgbcolor
4965 4340 a 54 w @beginspecial
@setspecial
tx@Dict begin STP newpath 0.8 SLW 0. setgray 0. true 3.8 neg 47.66861
neg 393.79057 52.66861 .5 Frame gsave 1. setgray fill grestore gsave
0.8 SLW 0. setgray 0 setlinecap stroke grestore end
@endspecial 5170 3739 a Fv(for)76 b($c)g(in)g
(/mondial/country,)5471 3942 y($p)g(in)g($c/province)5170
4145 y(return)5321 4348 y()5547 4551 y({$c/name/text)q
(\(\)}<)q(/co)q(unt)q(ry>)5547 4754 y({$p/name/text\(\)})q()5321 4958 y()10669 4340 y
0 setgray
10669 4340 a
4965 5151 a Fj([Filename:)47 b(correlated-join-e)l(xample)n(.xq)o(])
10633 5482 y
0 setgray
10633 5482 a 7586 5768 a Fh(243)4500 6000
y
tx@Dict begin -90 Rot end
4500 6000 a eop end
PStoPSsaved restore
%%Page: (28,29) 15
userdict/PStoPSsaved save put
PStoPSmatrix setmatrix
595.000000 0.271378 translate
90 rotate
0.706651 dup scale
userdict/PStoPSmatrix matrix currentmatrix put
userdict/PStoPSclip{0 0 moveto
595.000000 0 rlineto 0 842.000000 rlineto -595.000000 0 rlineto
closepath}put initclip
/showpage{}def/copypage{}def/erasepage{}def
PStoPSxform concat
TeXDict begin 244 28 bop 4500 6000 a
tx@Dict begin 90 Rot end
4500 6000 a 4707
5482 a @beginspecial @setspecial
tx@Dict begin STP newpath 0.57869 SLW 0. 0. 0. setrgbcolor 0.0 false
13.12538 neg 13.12538 neg 426.24008 293.06874 .5 Frame gsave 1. 1.
1. setrgbcolor fill grestore gsave 0.57869 SLW 0. 0. 0. setrgbcolor
0 setlinecap stroke grestore end
@endspecial 4761 1900
a @beginspecial @setspecial
tx@Dict begin STP newpath 0.8 SLW 1.00 0. 0. setrgbcolor 0. true
3.8 neg 11.48137 neg 411.43053 16.48138 .5 Frame gsave 1.00 0.71 0.76
setrgbcolor fill grestore gsave 0.8 SLW 1.00 0. 0. setrgbcolor 0 setlinecap
stroke grestore end
@endspecial 5866 1925 a
Ff(R)8 b Fg(E)g(T)g(U)g(R)g(N)g Ff(-)g(C)h Fg(L)f(A)r(U)h(S)g(E)62
b(W)8 b(I)g(T)g(H)59 b Ff(N)8 b Fg(E)g(S)g(T)g(E)g(D)59
b Ff(F)8 b(L)-6 b(W)8 b(R)g(-)g(C)g Fg(L)g(A)r(U)h(S)f(E)4821
2520 y Fu(\017)72 b Fj(inner)39 b(quer)t(y)g(used)f(in)i(the)f(outer)g
(retur)t(n-clause)e(\(cf)l(.)h(OQL\))4707 2551 y
0. 0. 1. setrgbcolor
4707
2551 a 5019 3672 a @beginspecial @setspecial
tx@Dict begin STP newpath 0.8 SLW 0. setgray 0. true 3.8 neg 68.90848
neg 393.79057 73.90848 .5 Frame gsave 1. setgray fill grestore gsave
0.8 SLW 0. setgray 0 setlinecap stroke grestore end
@endspecial
5170 2765 a Fv(for)76 b($c)g(in)g(/mondial/country)5170
2969 y(where)h($c/province)5170 3172 y(return)5321 3375
y()5547 3578 y({$c/name})5547 3781 y({)e(for)h($p)g(in)g
($c/province)5697 3984 y(return)5697 4187 y({$p/name/text\()q
(\)})q(pro)q(v>)5547 4391 y(})5321 4594 y()10669
3672 y
0 setgray
10669 3672 a 4965 4788 a Fj([Filename:)47 b(nested-\003wr-e)l
(xample)n(.xq])4707 4818 y
0. setgray
4707 4818 a 4965 5029 a Fj(gener)o(ates)37
b(f)l(or)i(each)g(countr)t(y)g(that)g(has)g(pro)n(vinces)f(an)8111
5009 y Fp(<)8189 5029 y Fj(ans)l(w)o(er)8648 5009 y Fp(>)8763
5029 y Fj(element)g(that)h(contains)f(a)4965 5212 y Fp(<)5043
5232 y Fj(name)5403 5212 y Fp(>)5519 5232 y Fj(element)g(and)h(a)h
(sequence)e(of)7289 5212 y Fp(<)7367 5232 y Fj(pro)n(v)7645
5212 y Fp(>)7762 5232 y Fj(elements)n(.)4707 5284 y
0 setgray
4707
5284 a 10633 5482 a
0 setgray
10633 5482 a 7586 5768 a Fh(244)4500
6000 y
tx@Dict begin -90 Rot end
4500 6000 a eop end
PStoPSsaved restore
userdict/PStoPSsaved save put
PStoPSmatrix setmatrix
595.000000 421.271378 translate
90 rotate
0.706651 dup scale
userdict/PStoPSmatrix matrix currentmatrix put
userdict/PStoPSclip{0 0 moveto
595.000000 0 rlineto 0 842.000000 rlineto -595.000000 0 rlineto
closepath}put initclip
PStoPSxform concat
TeXDict begin 245 29 bop 4500 6000 a
tx@Dict begin 90 Rot end
4500 6000 a 4707
5482 a @beginspecial @setspecial
tx@Dict begin STP newpath 0.57869 SLW 0. 0. 0. setrgbcolor 0.0 false
13.12538 neg 13.12538 neg 426.24008 293.06874 .5 Frame gsave 1. 1.
1. setrgbcolor fill grestore gsave 0.57869 SLW 0. 0. 0. setrgbcolor
0 setlinecap stroke grestore end
@endspecial 4761 1962
a @beginspecial @setspecial
tx@Dict begin STP newpath 0.8 SLW 1.00 0. 0. setrgbcolor 0. true
3.8 neg 11.48137 neg 411.43053 16.48138 .5 Frame gsave 1.00 0.71 0.76
setrgbcolor fill grestore gsave 0.8 SLW 1.00 0. 0. setrgbcolor 0 setlinecap
stroke grestore end
@endspecial 7238 1988 a
Ff(L)8 b Fg(E)g(T)-11 b Ff(-)8 b(C)g Fg(L)g(A)q(U)h(S)g(E)6982
2588 y Fj(let)39 b($)p Fc(v)l(ar)56 b Fj(:=)39 b Fc(xpath-e)l(xpr)4821
2889 y Fu(\017)72 b Fj(does)39 b(not)g(iter)o(ate)f(o)n(v)l(er)h(the)h
(result)e(of)i Fc(xpath-e)l(xpr)4821 3189 y Fu(\017)72
b Fj(b)m(ut)39 b(binds)g(the)g(complete)f(result)h(of)g
Fc(xpath-e)l(xpr)54 b Fj(as)39 b(sequence)f(of)i(nodes)e(to)i(the)f(v)l
(ar)r(iab)m(le:)4707 3219 y
0. 0. 1. setrgbcolor
4707 3219 a 5019 4046 a @beginspecial
@setspecial
tx@Dict begin STP newpath 0.8 SLW 0. setgray 0. true 3.8 neg 48.36307
neg 393.79057 53.36308 .5 Frame gsave 1. setgray fill grestore gsave
0.8 SLW 0. setgray 0 setlinecap stroke grestore end
@endspecial 5170 3434 a Fv(for)76 b($c)g(in)g
(/mondial/country)5170 3637 y(let)g($cities)i(:=)e($c//city/name)5170
3841 y(return)5321 4044 y()5547 4247 y({$c/name})5547
4450 y({$cities})5321 4653 y()10669 4046 y
0 setgray
10669 4046 a 4965 4866 a Fj([Filename:)47 b(let-e)l(xample)n(.xq])4821
5167 y Fu(\017)72 b Fj(useful)38 b(f)l(or)h(k)m(eeping)g(inter)t
(mediate)e(results)h(f)l(or)h(reuse)g(\(often)f(missed)h(in)g(SQL\))
10633 5482 y
0 setgray
10633 5482 a 7586 5768 a Fh(245)4500 6000
y
tx@Dict begin -90 Rot end
4500 6000 a eop end
PStoPSsaved restore
%%Page: (30,31) 16
userdict/PStoPSsaved save put
PStoPSmatrix setmatrix
595.000000 0.271378 translate
90 rotate
0.706651 dup scale
userdict/PStoPSmatrix matrix currentmatrix put
userdict/PStoPSclip{0 0 moveto
595.000000 0 rlineto 0 842.000000 rlineto -595.000000 0 rlineto
closepath}put initclip
/showpage{}def/copypage{}def/erasepage{}def
PStoPSxform concat
TeXDict begin 246 30 bop 4500 6000 a
tx@Dict begin 90 Rot end
4500 6000 a 4707
5482 a @beginspecial @setspecial
tx@Dict begin STP newpath 0.57869 SLW 0. 0. 0. setrgbcolor 0.0 false
13.12538 neg 13.12538 neg 426.24008 293.06874 .5 Frame gsave 1. 1.
1. setrgbcolor fill grestore gsave 0.57869 SLW 0. 0. 0. setrgbcolor
0 setlinecap stroke grestore end
@endspecial 4761 1765
a @beginspecial @setspecial
tx@Dict begin STP newpath 0.8 SLW 1.00 0. 0. setrgbcolor 0. true
3.8 neg 11.48137 neg 411.43053 16.48138 .5 Frame gsave 1.00 0.71 0.76
setrgbcolor fill grestore gsave 0.8 SLW 1.00 0. 0. setrgbcolor 0 setlinecap
stroke grestore end
@endspecial 6491 1790 a
Ff(W)8 b(H)g(E)g(R)g(E)g(-)g(C)g Fg(L)g(A)q(U)h(S)f(E)h
Ff(:)74 b(C)8 b Fg(O)g(N)g(D)g(I)g(T)g(I)g(O)g(N)h(S)4707
2460 y Fj(Similar)38 b(to)h(XP)-6 b(ath')f(s)39 b(conditions)e(\(same)i
(predicates)e(etc\):)4821 2760 y Fu(\017)72 b Fj(logical)38
b(\223and\224)h(and)g(\223or\224)4821 3061 y Fu(\017)72
b Fj(\223not\(...\)\224)47 b(as)40 b(a)f(boolean)g(function)4821
3362 y Fu(\017)72 b Fj(Compar)r(isons:)46 b(\223==\224)39
b(f)l(or)g(node)g(identity)-14 b(,)38 b(\223)7334 3342
y Fp(<)o(<)7489 3362 y Fj(\224)i(and)f(\223)7904 3342
y Fp(>)o(>)8059 3362 y Fj(\224)h(f)l(or)f(document)f(order)-7
b(,)38 b(\223f)l(ollo)n(ws\224)f(and)4965 3565 y(\223precedes\224)4821
3866 y Fu(\017)72 b Fj(Quanti\002ers:)5827 3866 y
0. 0. 1. setrgbcolor
5827
3866 a Fj(where)39 b(some)p Fu(j)p Fj(e)l(v)l(er)t(y)f($)p
Fc(v)l(ar)55 b Fj(in)40 b Fc(e)l(xpr)54 b Fj(satis\002es)39
b Fc(condition)8986 3866 y
0 setgray
8986 3866 a 4707 3902 a
0. 0. 1. setrgbcolor
4707
3902 a 5019 4312 a @beginspecial @setspecial
tx@Dict begin STP newpath 0.8 SLW 0. setgray 0. true 3.8 neg 19.3488
neg 393.79057 24.3488 .5 Frame gsave 1. setgray fill grestore gsave
0.8 SLW 0. setgray 0 setlinecap stroke grestore end
@endspecial
5245 4116 a Fv(for)77 b($c)e(in)h(/mondial/country)5245
4320 y(where)h(some)g($city)g(in)f($c//city)h(satisfies)i
($city/population)h(>)c(1000000)5245 4523 y(return)h($c/name)5019
4962 y @beginspecial @setspecial
tx@Dict begin STP newpath 0.8 SLW 0. setgray 0. true 3.8 neg 19.3488
neg 393.79057 24.3488 .5 Frame gsave 1. setgray fill grestore gsave
0.8 SLW 0. setgray 0 setlinecap stroke grestore end
@endspecial 5245 4767
a(for)g($c)e(in)h(/mondial/country)5245 4970 y(where)h(every)g($city)g
(in)f($c//city)i(satisfies)g($city/population)i(>)c(1000000)5245
5173 y(return)h($c/name)10669 4962 y
0 setgray
10669 4962 a 4965
5366 a Fj([Filenames:)47 b(some-e)l(xample)n(.xq)35 b(and)k(e)l(v)l(er)
t(y-e)l(xample)n(.xq])10633 5482 y
0 setgray
10633 5482 a 7586
5768 a Fh(246)4500 6000 y
tx@Dict begin -90 Rot end
4500 6000 a eop end
PStoPSsaved restore
userdict/PStoPSsaved save put
PStoPSmatrix setmatrix
595.000000 421.271378 translate
90 rotate
0.706651 dup scale
userdict/PStoPSmatrix matrix currentmatrix put
userdict/PStoPSclip{0 0 moveto
595.000000 0 rlineto 0 842.000000 rlineto -595.000000 0 rlineto
closepath}put initclip
PStoPSxform concat
TeXDict begin 247 31 bop 4500 6000 a
tx@Dict begin 90 Rot end
4500 6000 a 4707
5482 a @beginspecial @setspecial
tx@Dict begin STP newpath 0.57869 SLW 0. 0. 0. setrgbcolor 0.0 false
13.12538 neg 13.12538 neg 426.24008 293.06874 .5 Frame gsave 1. 1.
1. setrgbcolor fill grestore gsave 0.57869 SLW 0. 0. 0. setrgbcolor
0 setlinecap stroke grestore end
@endspecial 4761 2128
a @beginspecial @setspecial
tx@Dict begin STP newpath 0.8 SLW 1.00 0. 0. setrgbcolor 0. true
3.8 neg 11.48137 neg 411.43053 16.48138 .5 Frame gsave 1.00 0.71 0.76
setrgbcolor fill grestore gsave 0.8 SLW 1.00 0. 0. setrgbcolor 0 setlinecap
stroke grestore end
@endspecial 5896 2154 a
Ff(C)8 b Fg(O)g(N)g(D)g(I)g(T)g(I)g(O)h(N)g(A)g(L)62
b Ff(E)8 b Fg(V)m(A)g(L)g(U)q(A)l(T)g(I)g(O)g(N)63 b(A)8
b(N)g(D)59 b Ff(A)8 b Fg(L)l(T)g(E)g(R)g(N)g(A)l(T)g(I)g(V)g(E)h(S)4821
2748 y Fu(\017)72 b Fj(if-then:)48 b(alter)t(nativ)l(e)37
b(choice)i(of)g(subelements)4965 2951 y
0. 0. 1. setrgbcolor
4965 2951 a Fj(if)g(\()p
Fc(e)l(xpr)16 b Fj(\))39 b(then)g Fc(e)l(xpr)55 b Fj(else)39
b Fc(e)l(xpr)6748 2951 y
0 setgray
6748 2951 a 4707 2981 a
0. 0. 1. setrgbcolor
4707
2981 a 5019 3994 a @beginspecial @setspecial
tx@Dict begin STP newpath 0.8 SLW 0. setgray 0. true 3.8 neg 61.41185
neg 393.79057 66.41187 .5 Frame gsave 1. setgray fill grestore gsave
0.8 SLW 0. setgray 0 setlinecap stroke grestore end
@endspecial
-810 x Fv()5095 3387 y({)75 b(for)i($c)e(in)h(/mondial/country)
5245 3590 y(return)5396 3793 y()5547 3996 y({$c/name})5547
4199 y({if)g(\($c/province\))j(then)e($c/province/city)j(else)d
($c/city})5396 4402 y()5170 4606 y(})5019 4809
y()10669 3994 y
0 setgray
10669 3994 a 4965 5003 a Fj([Filename:)47
b(if-else-e)l(xample)n(.xq])10633 5482 y
0 setgray
10633 5482 a
7586 5768 a Fh(247)4500 6000 y
tx@Dict begin -90 Rot end
4500 6000 a eop end
PStoPSsaved restore
%%Page: (32,33) 17
userdict/PStoPSsaved save put
PStoPSmatrix setmatrix
595.000000 0.271378 translate
90 rotate
0.706651 dup scale
userdict/PStoPSmatrix matrix currentmatrix put
userdict/PStoPSclip{0 0 moveto
595.000000 0 rlineto 0 842.000000 rlineto -595.000000 0 rlineto
closepath}put initclip
/showpage{}def/copypage{}def/erasepage{}def
PStoPSxform concat
TeXDict begin 248 32 bop 4500 6000 a
tx@Dict begin 90 Rot end
4500 6000 a 4707
5482 a @beginspecial @setspecial
tx@Dict begin STP newpath 0.57869 SLW 0. 0. 0. setrgbcolor 0.0 false
13.12538 neg 13.12538 neg 426.24008 293.06874 .5 Frame gsave 1. 1.
1. setrgbcolor fill grestore gsave 0.57869 SLW 0. 0. 0. setrgbcolor
0 setlinecap stroke grestore end
@endspecial 4761 1702
a @beginspecial @setspecial
tx@Dict begin STP newpath 0.8 SLW 1.00 0. 0. setrgbcolor 0. true
3.8 neg 11.48137 neg 411.43053 16.48138 .5 Frame gsave 1.00 0.71 0.76
setrgbcolor fill grestore gsave 0.8 SLW 1.00 0. 0. setrgbcolor 0 setlinecap
stroke grestore end
@endspecial 6808 1728 a
Ff(O)8 b Fg(R)g(D)g(E)g(R)60 b(O)8 b(F)57 b Ff(R)8 b
Fg(E)g(S)g(U)g(L)l(T)59 b Ff(S)8 b Fg(E)g(T)4707 2181
y Fj(XP)-6 b(ath:)48 b(the)39 b(result)g(is)g Fc(alw)n(a)l(ys)j
Fj(retur)t(ned)c(in)h Fc(document)f(order)16 b Fj(:)4821
2454 y Fu(\017)72 b Fj(purely)38 b(na)m(vigational)g(access:)6734
2454 y
0. 0. 1. setrgbcolor
6734 2454 a 5191 2698 a Fv(//country/city/name)4707
2745 y
0 setgray
4707 2745 a 4821 2987 a Fu(\017)72 b Fj(e)l(v)l(en)39
b(when)g(a)g(bac)m(kw)n(ard)f(axis)h(is)g(used)g(dur)r(ing)g(na)m
(vigation,)f(the)h(nodes)g(are)g(en)o(umer)o(ated)d(in)4965
3184 y(document)i(order)t(:)6063 3184 y
0. 0. 1. setrgbcolor
6063 3184 a 5115
3428 a Fv(//country[name='Germ)q(any)q(']/)q(pro)q(vin)q(ce[)q(last)q
(\(\)])q(/pr)q(ece)q(din)q(g-s)q(ibl)q(ing:)q(:*/)q(nam)q(e)4707
3475 y
0 setgray
4707 3475 a 4965 3671 a Fj(\(bac)m(kw)n(ard)f(axis)i(is)h(only)f
(rele)l(v)l(ant)f(f)l(or)h(conte)l(xt)f(functions)g(in)i(immediate)d
(conditions\))4821 3945 y Fu(\017)72 b Fj(or)39 b(when)g(id-ref)l
(erencing)e(is)i(used:)6971 3945 y
0. 0. 1. setrgbcolor
6971 3945 a 5115 4188
a Fv(id\(//organization/@h)q(ead)q(q\)/)q(nam)q(e)4707
4235 y
0 setgray
4707 4235 a 4965 4431 a Fj(\(note:)48 b(cities)39
b(are)g Fc(not)52 b Fj(ordered)38 b(according)g(to)i(the)f(order)g(of)g
(the)g(organizations!\))4707 4705 y(XQuer)t(y:)47 b(result)39
b(set)g(is)h(ordered)e(according)g(to)h(f)l(or-clause:)8122
4705 y
0. 0. 1. setrgbcolor
8122 4705 a 5083 4979 a Fv(for)76 b($c)g(in)g(//organization)
5083 5176 y(return)h(id\($c/@headq\)/name)4707 5223 y
0 setgray
4707 5223 a 227 x Fj(let-clause:)47 b(binds)38 b(the)i(result)e(set)i
(according)d(to)j(the)f(respectiv)l(e)f(order)-7 b(.)10633
5482 y
0 setgray
10633 5482 a 7586 5768 a Fh(248)4500 6000 y
tx@Dict begin -90 Rot end
4500
6000 a eop end
PStoPSsaved restore
userdict/PStoPSsaved save put
PStoPSmatrix setmatrix
595.000000 421.271378 translate
90 rotate
0.706651 dup scale
userdict/PStoPSmatrix matrix currentmatrix put
userdict/PStoPSclip{0 0 moveto
595.000000 0 rlineto 0 842.000000 rlineto -595.000000 0 rlineto
closepath}put initclip
PStoPSxform concat
TeXDict begin 249 33 bop 4500 6000 a
tx@Dict begin 90 Rot end
4500 6000 a 4707
5482 a @beginspecial @setspecial
tx@Dict begin STP newpath 0.57869 SLW 0. 0. 0. setrgbcolor 0.0 false
13.12538 neg 13.12538 neg 426.24008 293.06874 .5 Frame gsave 1. 1.
1. setrgbcolor fill grestore gsave 0.57869 SLW 0. 0. 0. setrgbcolor
0 setlinecap stroke grestore end
@endspecial 4761 1702
a @beginspecial @setspecial
tx@Dict begin STP newpath 0.8 SLW 1.00 0. 0. setrgbcolor 0. true
3.8 neg 11.48137 neg 411.43053 16.48138 .5 Frame gsave 1.00 0.71 0.76
setrgbcolor fill grestore gsave 0.8 SLW 1.00 0. 0. setrgbcolor 0 setlinecap
stroke grestore end
@endspecial 7379 1728 a
Ff(S)8 b Fg(O)g(R)d(T)j(I)g(N)g(G)4821 2260 y Fu(\017)72
b Fj(order)39 b(b)m(y:)5657 2260 y
0. 0. 1. setrgbcolor
5657 2260 a Fc(e)l(xpr)55
b Fj(order)39 b(b)m(y)g(\()p Fc(e)l(xpr)55 b Fj([ascending)p
Fu(j)p Fj(descending]\))8490 2260 y
0 setgray
8490 2260 a 4707
2296 a
0. 0. 1. setrgbcolor
4707 2296 a 5019 2899 a @beginspecial @setspecial
tx@Dict begin STP newpath 0.8 SLW 0. setgray 0. true 3.8 neg 33.09203
neg 393.79057 38.09204 .5 Frame gsave 1. setgray fill grestore gsave
0.8 SLW 0. setgray 0 setlinecap stroke grestore end
@endspecial 5095 2495 a Fv()5245 2698 y({)76
b(for)g($c)g(in)g(//country)5396 2901 y(order)h(by)f($c/name)5396
3105 y(return)h($c/name)h(})5095 3308 y()10669
2899 y
0 setgray
10669 2899 a 4965 3499 a Fj([Filename:)47 b(orderb)m(y-e)l
(xample)n(.xq])4821 3791 y Fu(\017)72 b Fj(note)39 b(that)g(the)g
(inter)t(preter)f(m)o(ust)h(be)g(told)g(whether)f(the)i(v)l(alues)e
(should)h(be)g(regarded)f(as)i(n)o(umbers)4965 3993 y(or)f(as)h(str)r
(ings)e(\(def)l(ault:)47 b(alphan)o(umer)r(ical\))4707
4025 y
0. 0. 1. setrgbcolor
4707 4025 a 5019 4729 a @beginspecial @setspecial
tx@Dict begin STP newpath 0.8 SLW 0. setgray 0. true 3.8 neg 40.17198
neg 393.79057 45.172 .5 Frame gsave 1. setgray fill grestore gsave
0.8 SLW 0. setgray 0 setlinecap stroke grestore end
@endspecial 5095 4224 a Fv()5245 4427 y({)76
b(for)g($c)g(in)g(//country)5396 4630 y(where)h($c/population)i(>)d(0)
5396 4833 y(order)h(by)f(number\($c/population\))5396
5036 y(return)h($c/name)228 b(})5095 5239 y()10669
4729 y
0 setgray
10669 4729 a 4965 5431 a Fj([Filename:)47 b(orderb)m(y-n)o(um-e)
l(xample)n(.xq)o(])10633 5482 y
0 setgray
10633 5482 a 7586 5768
a Fh(249)4500 6000 y
tx@Dict begin -90 Rot end
4500 6000 a eop end
PStoPSsaved restore
%%Page: (34,35) 18
userdict/PStoPSsaved save put
PStoPSmatrix setmatrix
595.000000 0.271378 translate
90 rotate
0.706651 dup scale
userdict/PStoPSmatrix matrix currentmatrix put
userdict/PStoPSclip{0 0 moveto
595.000000 0 rlineto 0 842.000000 rlineto -595.000000 0 rlineto
closepath}put initclip
/showpage{}def/copypage{}def/erasepage{}def
PStoPSxform concat
TeXDict begin 250 34 bop 4500 6000 a
tx@Dict begin 90 Rot end
4500 6000 a 4707
5482 a @beginspecial @setspecial
tx@Dict begin STP newpath 0.57869 SLW 0. 0. 0. setrgbcolor 0.0 false
13.12538 neg 13.12538 neg 426.24008 293.06874 .5 Frame gsave 1. 1.
1. setrgbcolor fill grestore gsave 0.57869 SLW 0. 0. 0. setrgbcolor
0 setlinecap stroke grestore end
@endspecial 4761 1702
a @beginspecial @setspecial
tx@Dict begin STP newpath 0.8 SLW 1.00 0. 0. setrgbcolor 0. true
3.8 neg 11.48137 neg 411.43053 16.48138 .5 Frame gsave 1.00 0.71 0.76
setrgbcolor fill grestore gsave 0.8 SLW 1.00 0. 0. setrgbcolor 0 setlinecap
stroke grestore end
@endspecial 6533 1728 a
Ff(G)8 b Fg(R)d(O)j(U)g(P)g(I)g(N)g(G)62 b(A)8 b(N)g(D)58
b Ff(A)p Fg(G)8 b(G)g(R)g(E)g(G)g(A)l(T)g(I)h(O)g(N)4821
2154 y Fu(\017)72 b Fj(agg)o(regate)37 b(functions)h(o)n(v)l(er)h
(result)g(sets)g(\(a)m(vg,)g(sum\))4821 2433 y Fu(\017)72
b Fj(bind)39 b(v)l(ar)r(iab)m(le)g(with)g(\223f)l(or\224-clause)4821
2711 y Fu(\017)72 b Fj(assign)38 b(g)o(roup)h(with)g(\223let\224)f
(\(dependent)g(on)h(the)h(current)e(v)l(alue)h(in)h(the)f(f)l
(or-clause\))e(to)j(a)f(v)l(ar)r(iab)m(le)4821 2989 y
Fu(\017)72 b Fj(apply)39 b(agg)o(regate)e(function)h(to)i(a)f(nodeset)
4707 3021 y
0. 0. 1. setrgbcolor
4707 3021 a 5019 4227 a @beginspecial @setspecial
tx@Dict begin STP newpath 0.8 SLW 0. setgray 0. true 3.8 neg 75.57176
neg 393.79057 80.57178 .5 Frame gsave 1. setgray fill grestore gsave
0.8 SLW 0. setgray 0 setlinecap stroke grestore end
@endspecial -1014 x Fv()5019 3416 y({)76 b(for)g($c)g(in)g
(/mondial/country)5170 3619 y(let)g($cities)i(:=)e($c//city)5170
3823 y(where)h(sum\($cities/populatio)q(n\))k(>)76 b(10000000)5170
4026 y(return)5321 4229 y()5547 4432 y({$c/name})5547
4635 y({sum\($cities/populatio)q(n\)})5321 4838 y()5019
5041 y(})5019 5245 y()10669 4227 y
0 setgray
10669 4227
a 4965 5433 a Fj([Filename:)47 b(agg)o(r-1-e)l(xample)n(.xq])10633
5482 y
0 setgray
10633 5482 a 7586 5768 a Fh(250)4500 6000 y
tx@Dict begin -90 Rot end
4500
6000 a eop end
PStoPSsaved restore
userdict/PStoPSsaved save put
PStoPSmatrix setmatrix
595.000000 421.271378 translate
90 rotate
0.706651 dup scale
userdict/PStoPSmatrix matrix currentmatrix put
userdict/PStoPSclip{0 0 moveto
595.000000 0 rlineto 0 842.000000 rlineto -595.000000 0 rlineto
closepath}put initclip
PStoPSxform concat
TeXDict begin 251 35 bop 4500 6000 a
tx@Dict begin 90 Rot end
4500 6000 a 4707
5482 a @beginspecial @setspecial
tx@Dict begin STP newpath 0.57869 SLW 0. 0. 0. setrgbcolor 0.0 false
13.12538 neg 13.12538 neg 426.24008 293.06874 .5 Frame gsave 1. 1.
1. setrgbcolor fill grestore gsave 0.57869 SLW 0. 0. 0. setrgbcolor
0 setlinecap stroke grestore end
@endspecial 4761 2026
a @beginspecial @setspecial
tx@Dict begin STP newpath 0.8 SLW 1.00 0. 0. setrgbcolor 0. true
3.8 neg 11.48137 neg 411.43053 16.48138 .5 Frame gsave 1.00 0.71 0.76
setrgbcolor fill grestore gsave 0.8 SLW 1.00 0. 0. setrgbcolor 0 setlinecap
stroke grestore end
@endspecial 6533 2052 a
Ff(G)8 b Fg(R)d(O)j(U)g(P)g(I)g(N)g(G)62 b(A)8 b(N)g(D)58
b Ff(A)p Fg(G)8 b(G)g(R)g(E)g(G)g(A)l(T)g(I)h(O)g(N)4821
2646 y Fu(\017)72 b Fj(computation)37 b(of)j(a)f(maxim)o(um:)4707
2676 y
0. 0. 1. setrgbcolor
4707 2676 a 5019 3892 a @beginspecial @setspecial
tx@Dict begin STP newpath 0.8 SLW 0. setgray 0. true 3.8 neg 75.57176
neg 393.79057 80.57178 .5 Frame gsave 1. setgray fill grestore gsave
0.8 SLW 0. setgray 0 setlinecap stroke grestore end
@endspecial -1014 x Fv()5019 3082 y({)76 b(for)g($c)g(in)g
(/mondial/country)5170 3285 y(let)g($maxpop)i(:=)e(max\()g(for)h
($citypop)g(in)f($c//city/population/)q(tex)q(t\(\))6676
3488 y(return)i($citypop\))5170 3691 y(return)5321 3894
y()5547 4097 y({$c/name})5547 4300 y({$maxpop})5321
4504 y()5019 4707 y(})5019 4910 y()10669
3892 y
0 setgray
10669 3892 a 4965 5103 a Fj([Filename:)47 b(agg)o(r-2-e)l
(xample)n(.xq])10633 5482 y
0 setgray
10633 5482 a 7586 5768 a
Fh(251)4500 6000 y
tx@Dict begin -90 Rot end
4500 6000 a eop end
PStoPSsaved restore
%%Page: (36,37) 19
userdict/PStoPSsaved save put
PStoPSmatrix setmatrix
595.000000 0.271378 translate
90 rotate
0.706651 dup scale
userdict/PStoPSmatrix matrix currentmatrix put
userdict/PStoPSclip{0 0 moveto
595.000000 0 rlineto 0 842.000000 rlineto -595.000000 0 rlineto
closepath}put initclip
/showpage{}def/copypage{}def/erasepage{}def
PStoPSxform concat
TeXDict begin 252 36 bop 4500 6000 a
tx@Dict begin 90 Rot end
4500 6000 a 4707
5482 a @beginspecial @setspecial
tx@Dict begin STP newpath 0.57869 SLW 0. 0. 0. setrgbcolor 0.0 false
13.12538 neg 13.12538 neg 426.24008 293.06874 .5 Frame gsave 1. 1.
1. setrgbcolor fill grestore gsave 0.57869 SLW 0. 0. 0. setrgbcolor
0 setlinecap stroke grestore end
@endspecial 4761 1701
a @beginspecial @setspecial
tx@Dict begin STP newpath 0.8 SLW 1.00 0. 0. setrgbcolor 0. true
3.8 neg 11.38539 neg 411.43053 16.38539 .5 Frame gsave 1.00 0.71 0.76
setrgbcolor fill grestore gsave 0.8 SLW 1.00 0. 0. setrgbcolor 0 setlinecap
stroke grestore end
@endspecial 6227 1725 a
Ff(A)-6 b Fg(T)8 b(T)g(R)g(I)g(B)f(U)h(T)h(E)f(S)62 b(I)8
b(N)58 b(T)8 b(H)g(E)57 b Ff(R)8 b(E)g(T)g(U)g(R)g(N)g(-)h
Fg(C)f(L)h(A)r(U)g(S)f(E)4821 2238 y Fu(\017)72 b Fj(note)39
b(that)g(e)l(xpressions)e(the)i(f)l(or)t(m)f(\223@b)m(la\224)h(retur)t
(n)f Fc(attr)r(ib)m(ute)h(nodes)j Fj(-)e(these)f(are)4965
2438 y(\(AttrName)n(,v)l(alue\)-pairs:)4707 2468 y
0. 0. 1. setrgbcolor
4707
2468 a 5115 2693 a Fv()5266 2894 y({//country[name='Germ)q(any)
q(']/)q(@ca)q(r_c)q(ode})5115 3095 y()4707 3127
y
0 setgray
4707 3127 a 4965 3350 a Fj(gener)o(ates)5681 3350 y
0. 0. 1. setrgbcolor
5681 3350 a -20 x Fp(<)5759 3350 y Fj(result)f(car)p
6358 3350 44 6 v 51 w(code=\223D\224/)7036 3330 y Fp(>)7112
3350 y
0 setgray
7112 3350 a Fj(.)4821 3640 y Fu(\017)72 b Fj(attr)r(ib)m(ute)38
b(nodes)h(are)g(alw)n(a)l(ys)f(added)h(to)g(the)h(surrounding)d
(element.)4821 3929 y Fu(\017)72 b Fj(if)39 b(only)g(their)g(v)l(alue)g
(is)h(needed,)e(apply)h(str)r(ing\(\).)4707 3981 y
0. 0. 1. setrgbcolor
4707
3981 a 4761 4735 a @beginspecial @setspecial
tx@Dict begin STP newpath 0.8 SLW 0. setgray 0. true 3.8 neg 41.28311
neg 411.43053 46.28313 .5 Frame gsave 1. setgray fill grestore gsave
0.8 SLW 0. setgray 0 setlinecap stroke grestore end
@endspecial
4987 4225 a Fv(for)76 b($c)g(in)g(/mondial/country)4987
4428 y(return)5138 4631 y()5288 4835 y({$c/@area})5288
5038 y({string\($c/@car_code)q(\)})5138 5241 y()10664
4735 y
0 setgray
10664 4735 a 4707 5452 a Fj([Filename:)47 b(attr)r(ib)m(ute-e)l
(xample)n(.xq])10633 5482 y
0 setgray
10633 5482 a 7586 5768 a
Fh(252)4500 6000 y
tx@Dict begin -90 Rot end
4500 6000 a eop end
PStoPSsaved restore
userdict/PStoPSsaved save put
PStoPSmatrix setmatrix
595.000000 421.271378 translate
90 rotate
0.706651 dup scale
userdict/PStoPSmatrix matrix currentmatrix put
userdict/PStoPSclip{0 0 moveto
595.000000 0 rlineto 0 842.000000 rlineto -595.000000 0 rlineto
closepath}put initclip
PStoPSxform concat
TeXDict begin 253 37 bop 4500 6000 a
tx@Dict begin 90 Rot end
4500 6000 a 4707
5482 a @beginspecial @setspecial
tx@Dict begin STP newpath 0.57869 SLW 0. 0. 0. setrgbcolor 0.0 false
13.12538 neg 13.12538 neg 426.24008 293.06874 .5 Frame gsave 1. 1.
1. setrgbcolor fill grestore gsave 0.57869 SLW 0. 0. 0. setrgbcolor
0 setlinecap stroke grestore end
@endspecial 4761 1858
a @beginspecial @setspecial
tx@Dict begin STP newpath 0.8 SLW 1.00 0. 0. setrgbcolor 0. true
3.8 neg 11.48137 neg 411.43053 16.48138 .5 Frame gsave 1.00 0.71 0.76
setrgbcolor fill grestore gsave 0.8 SLW 1.00 0. 0. setrgbcolor 0 setlinecap
stroke grestore end
@endspecial 5925 1884 a
Ff(C)8 b Fg(O)g(M)g(P)g(U)g(T)g(E)g(D)61 b Ff(E)8 b Fg(L)g(E)g(M)g(E)g
(N)g(T)-11 b Ff(-)61 b Fg(A)8 b(N)g(D)59 b Ff(A)-6 b
Fg(T)8 b(T)g(R)g(I)g(B)f(U)h(T)g(E)62 b Ff(N)8 b Fg(A)g(M)g(E)g(S)4821
2477 y Fu(\017)72 b Fj(e)l(xplicit)38 b(constr)r(uctors)5014
2728 y Fi(\226)72 b Fj(element)38 b Fc(e)l(xpr)55 b(attrs-and-content)
5166 2932 y Fj(the)38 b(e)l(v)l(aluation)f(of)i Fc(e)l(xpr)54
b Fj(yields)38 b(the)g(name)g(of)h(the)f(element,)f(the)i(result)f(of)g
Fc(attrs-and-content)49 b Fj(is)5166 3135 y(then)39 b(inser)6
b(ted)38 b(as)h(attr)r(ib)m(utes)f(and)h(content)5014
3387 y Fi(\226)72 b Fj(attr)r(ib)m(ute)38 b Fc(e)l(xpr)55
b(e)l(xpr-v)l(alue)5166 3590 y Fj(the)39 b(e)l(v)l(aluation)f(of)h
Fc(e)l(xpr)55 b Fj(yields)39 b(the)g(name)g(of)g(the)h(attr)r(ib)m(ute)
n(,)e Fc(e)l(xpr-v)l(alue)i Fj(yields)f(its)g(v)l(alue)n(.)4707
3643 y
0. 0. 1. setrgbcolor
4707 3643 a 4761 4491 a @beginspecial @setspecial
tx@Dict begin STP newpath 0.8 SLW 0. setgray 0. true 3.8 neg 47.25194
neg 411.43053 52.25195 .5 Frame gsave 1. setgray fill grestore gsave
0.8 SLW 0. setgray 0 setlinecap stroke grestore end
@endspecial 4836 3883 a Fv()4912 4087 y({)75
b(for)i($c)f(in)g(doc\('mondial.xml'\)//co)q(untr)q(y)5062
4290 y(where)h($c/encompassed)5062 4493 y(return)5062
4696 y(element)h({)e($c/@car_code)j(})5665 4899 y({)d(attribute)i
({$c/encompassed[1]/@co)q(nti)q(nen)q(t})k({"yes"}})4912
5102 y(})75 b()10664 4491 y
0 setgray
10664 4491 a 4707
5296 a Fj([Filename:)47 b(computed-constr)r(uctors-e)l(xa)o(mple)m
(.xq])10633 5482 y
0 setgray
10633 5482 a 7586 5768 a Fh(253)4500
6000 y
tx@Dict begin -90 Rot end
4500 6000 a eop end
PStoPSsaved restore
%%Page: (38,39) 20
userdict/PStoPSsaved save put
PStoPSmatrix setmatrix
595.000000 0.271378 translate
90 rotate
0.706651 dup scale
userdict/PStoPSmatrix matrix currentmatrix put
userdict/PStoPSclip{0 0 moveto
595.000000 0 rlineto 0 842.000000 rlineto -595.000000 0 rlineto
closepath}put initclip
/showpage{}def/copypage{}def/erasepage{}def
PStoPSxform concat
TeXDict begin 254 38 bop 4500 6000 a
tx@Dict begin 90 Rot end
4500 6000 a 4707
5482 a @beginspecial @setspecial
tx@Dict begin STP newpath 0.57869 SLW 0. 0. 0. setrgbcolor 0.0 false
13.12538 neg 13.12538 neg 426.24008 293.06874 .5 Frame gsave 1. 1.
1. setrgbcolor fill grestore gsave 0.57869 SLW 0. 0. 0. setrgbcolor
0 setlinecap stroke grestore end
@endspecial 4761 1780
a @beginspecial @setspecial
tx@Dict begin STP newpath 0.8 SLW 1.00 0. 0. setrgbcolor 0. true
3.8 neg 11.48137 neg 411.43053 16.48138 .5 Frame gsave 1.00 0.71 0.76
setrgbcolor fill grestore gsave 0.8 SLW 1.00 0. 0. setrgbcolor 0 setlinecap
stroke grestore end
@endspecial 6594 1806 a
Ff(F)8 b Fg(U)g(N)g(C)g(T)g(I)g(O)g(N)h(S)62 b(A)8 b(N)g(D)58
b Ff(O)8 b Fg(P)g(E)g(R)g(A)l(T)r(O)g(R)g(S)4821 2400
y Fu(\017)72 b Fj(Recall)38 b(Slide)h(205\))g(f)l(or)g(str)r(ing\(\))f
(and)h(name\(\),)g(and)g(Slide)g(202)g(f)l(or)g(id\(\).)4821
2701 y Fu(\017)72 b Fj(See)39 b(\223XML)g(Quer)t(y)f(Functions)g(and)h
(Oper)o(ators\224)e(f)l(or)i(prede\002ned)f(functions)4821
3002 y Fu(\017)72 b Fj(e)n(.g.)48 b(remo)n(v)l(al)39
b(of)g(duplicate)f(v)l(alues:)48 b(distinct-v)l(alues\(...\))8239
3002 y
0. 0. 1. setrgbcolor
8239 3002 a 5191 3265 a Fv(distinct-values\(doc\('.)q(..')q
(\)//)q(SPE)q(AKE)q(R\))4707 3299 y
0 setgray
4707 3299 a 4965
3528 a Fj(Ho)n(w)38 b(man)n(y)h(speeches)f(has)h(each)g(of)g(the)h
(speak)m(ers)e(in)h(\223Hamlet\224?)4965 4439 y
0. 0. 1. setrgbcolor
4965
4439 a 54 w @beginspecial @setspecial
tx@Dict begin STP newpath 0.8 SLW 0. setgray 0. true 3.8 neg 54.74857
neg 393.79057 59.74857 .5 Frame gsave 1. setgray fill grestore gsave
0.8 SLW 0. setgray 0 setlinecap stroke grestore end
@endspecial 5095
3736 a Fv(for)76 b($a)g(in)g(distinct-values\(doc\('/)q(db/)q(xml)q
(cou)q(rse)q(/ha)q(mlet)q(.xm)q(l'\))q(//S)q(PEA)q(KER)q(\))5095
3939 y(let)g($n)g(:=)g(count\(//SPEECH[SPEAKER)82 b(=)76
b($a]\))5095 4142 y(order)h(by)e($n)h(descending)5095
4346 y(return)5245 4549 y()5396 4752 y({$a})5396
4955 y({$n})5245 5158 y()10669 4439 y
0 setgray
10669
4439 a 4965 5351 a Fj([Filename:)47 b(distinct-v)l(alues)n(.xq])10633
5482 y
0 setgray
10633 5482 a 7586 5768 a Fh(254)4500 6000 y
tx@Dict begin -90 Rot end
4500
6000 a eop end
PStoPSsaved restore
userdict/PStoPSsaved save put
PStoPSmatrix setmatrix
595.000000 421.271378 translate
90 rotate
0.706651 dup scale
userdict/PStoPSmatrix matrix currentmatrix put
userdict/PStoPSclip{0 0 moveto
595.000000 0 rlineto 0 842.000000 rlineto -595.000000 0 rlineto
closepath}put initclip
PStoPSxform concat
TeXDict begin 255 39 bop 4500 6000 a
tx@Dict begin 90 Rot end
4500 6000 a 4707
5482 a @beginspecial @setspecial
tx@Dict begin STP newpath 0.57869 SLW 0. 0. 0. setrgbcolor 0.0 false
13.12538 neg 13.12538 neg 426.24008 293.06874 .5 Frame gsave 1. 1.
1. setrgbcolor fill grestore gsave 0.57869 SLW 0. 0. 0. setrgbcolor
0 setlinecap stroke grestore end
@endspecial 4761 2297
a @beginspecial @setspecial
tx@Dict begin STP newpath 0.8 SLW 1.00 0. 0. setrgbcolor 0. true
3.8 neg 11.38539 neg 411.43053 16.38539 .5 Frame gsave 1.00 0.71 0.76
setrgbcolor fill grestore gsave 0.8 SLW 1.00 0. 0. setrgbcolor 0 setlinecap
stroke grestore end
@endspecial 6665 2321 a
Ff(U)8 b Fg(S)g(E)g(R)g Ff(-)g(D)g Fg(E)g(FI)g(N)g(E)h(D)62
b Ff(F)8 b Fg(U)g(N)g(C)g(T)g(I)g(O)g(N)h(S)4821 2915
y Fu(\017)72 b Fj(User)39 b(de\002ned)f(functions)g(are)h(declared)f
(in)i(the)f(prolog:)4965 3118 y
0. 0. 1. setrgbcolor
4965 3118 a Fj(declare)f(function)g
Fc(func)p 6298 3118 44 6 v 51 w(name)k Fj(\([)p Fc($v)l(ar)7106
3139 y Fr(1)7169 3118 y Fj(,)e(.)24 b(.)g(.)g(,)39 b
Fc($v)l(ar)7796 3139 y Fn(n)7874 3118 y Fj(]\))g([as)g
Fc(retur)t(nT)-17 b(ype)s Fj(])4965 3321 y Fu(f)5209
3524 y Fc(e)l(xpr)38 b(that)i(uses)e($v)l(ar)6421 3546
y Fr(1)6485 3524 y Fc(,)i(.)24 b(.)g(.)g(,)39 b($v)l(ar)7112
3546 y Fn(n)4965 3727 y Fu(g)5076 3727 y
0 setgray
5076 3727 a
4821 4028 a Fu(\017)72 b Fj(P)-6 b(ar)o(ameters:)5788
4028 y
0. 0. 1. setrgbcolor
5788 4028 a Fj($)p Fc(v)l(ar)6064 4050 y Fn(i)6151
4028 y Fj([as)40 b Fc(par)o(amT)-17 b(ype)s Fj(])7136
4028 y
0 setgray
7136 4028 a Fj(,)36 b(def)l(ault)i(f)l(or)h(par)o(ameter)f(and)h
(retur)t(n)f(types)h(is)g(item\(\)*)4965 4231 y(\(i.e)n(.)g(a)g
(sequence)f(of)i(nodes)n(,)e(liter)o(als)g(etc.\),)4821
4532 y Fu(\017)72 b Fj(An)n(y)39 b(sequence)f(type)h(ma)l(y)f(be)i
(used)f(f)l(or)7283 4532 y
0. 0. 1. setrgbcolor
7283 4532 a Fc(par)o(amT)-17
b(ype)7996 4532 y
0 setgray
7996 4532 a 36 w Fj(and)8312 4532 y
0. 0. 1. setrgbcolor
8312 4532 a Fc(retur)t(nT)g(ype)8998 4532 y
0 setgray
8998 4532
a 36 w Fj(\(cf)l(.)39 b(XML)g(Schema\),)4821 4833 y Fu(\017)72
b Fj(An)n(y)39 b(XQuer)t(y)f(e)l(xpression)f(is)j(allo)n(w)o(ed)e(in)h
(the)g(function)g(body)-14 b(.)10633 5482 y
0 setgray
10633 5482
a 7586 5768 a Fh(255)4500 6000 y
tx@Dict begin -90 Rot end
4500 6000 a eop end
PStoPSsaved restore
%%Page: (40,41) 21
userdict/PStoPSsaved save put
PStoPSmatrix setmatrix
595.000000 0.271378 translate
90 rotate
0.706651 dup scale
userdict/PStoPSmatrix matrix currentmatrix put
userdict/PStoPSclip{0 0 moveto
595.000000 0 rlineto 0 842.000000 rlineto -595.000000 0 rlineto
closepath}put initclip
/showpage{}def/copypage{}def/erasepage{}def
PStoPSxform concat
TeXDict begin 256 40 bop 4500 6000 a
tx@Dict begin 90 Rot end
4500 6000 a 4707
5482 a @beginspecial @setspecial
tx@Dict begin STP newpath 0.57869 SLW 0. 0. 0. setrgbcolor 0.0 false
13.12538 neg 13.12538 neg 426.24008 293.06874 .5 Frame gsave 1. 1.
1. setrgbcolor fill grestore gsave 0.57869 SLW 0. 0. 0. setrgbcolor
0 setlinecap stroke grestore end
@endspecial 4761 1701
a @beginspecial @setspecial
tx@Dict begin STP newpath 0.8 SLW 1.00 0. 0. setrgbcolor 0. true
3.8 neg 11.38539 neg 411.43053 16.38539 .5 Frame gsave 1.00 0.71 0.76
setrgbcolor fill grestore gsave 0.8 SLW 1.00 0. 0. setrgbcolor 0 setlinecap
stroke grestore end
@endspecial 6178 1725 a
Ff(U)8 b Fg(S)g(E)g(R)g Ff(-)g(D)g Fg(E)g(FI)g(N)g(E)h(D)62
b Ff(F)8 b Fg(U)g(N)g(C)g(T)g(I)g(O)g(N)h(S)g Ff(:)74
b(E)8 b Fg(X)g(A)g(M)g(P)g(L)g(E)g(S)4821 2109 y Fu(\017)72
b Fj(A)39 b(function)g(computing)e(the)j(population)d(density)i(f)l(or)
g(a)g(giv)l(en)h(countr)t(y:)4965 2924 y
0. 0. 1. setrgbcolor
4965 2924 a
54 w @beginspecial @setspecial
tx@Dict begin STP newpath 0.8 SLW 0. setgray 0. true 3.8 neg 48.36307
neg 393.79057 53.36308 .5 Frame gsave 1. setgray fill grestore gsave
0.8 SLW 0. setgray 0 setlinecap stroke grestore end
@endspecial -612 x Fv(declare)78
b(function)g(local:density)h(\($name)e(as)f(xs:string\))j(as)d
(element\(density\))5019 2515 y({)5170 2719 y(for)g($c)g(in)g
(doc\('/db/xmlcourse/mo)q(ndi)q(al.)q(xml)q('\)/)q(/co)q(untr)q(y[n)q
(ame)q(=$n)q(ame)q(])5170 2922 y(let)g($density)i(:=)e(if)g(\($c/@area)
i(>)e(0\))g(then)g($c/population)k(div)c($c/@area)i(else)e(0)5170
3125 y(return)h({$density}<)q(/den)q(sit)q(y>)5019
3328 y(};)5019 3531 y(local:density\('Germa)q(ny')q(\))10669
2924 y
0 setgray
10669 2924 a 4965 3740 a Fj([Filename:)47 b(function-density)-14
b(.xq])4821 4012 y Fu(\017)72 b Fj(Example)38 b(f)l(or)h(a)g(recursiv)l
(e)g(function:)4965 4723 y
0. 0. 1. setrgbcolor
4965 4723 a 54 w @beginspecial
@setspecial
tx@Dict begin STP newpath 0.8 SLW 0. setgray 0. true 3.8 neg 41.28311
neg 393.79057 46.28313 .5 Frame gsave 1. setgray fill grestore gsave
0.8 SLW 0. setgray 0 setlinecap stroke grestore end
@endspecial -509 x Fv(declare)78 b(function)g
(local:depth\($e)h(as)d(node\(\)\))i(as)e(xs:integer)5019
4417 y({)5245 4620 y(if)g(\(fn:empty\($e/*\)\))81 b(then)76
b(1)5245 4823 y(else)h(fn:max\(for)h($c)e(in)g($e/*)h(return)g
(local:depth\($c\)\))j(+)c(1)5019 5026 y(};)5019 5229
y(local:depth\(doc\('/db)q(/xm)q(lco)q(urs)q(e/mo)q(ndi)q(al.)q(xml)q
('\)\))10669 4723 y
0 setgray
10669 4723 a 4965 5438 a Fj([Filename:)47
b(function-depth.xq])10633 5482 y
0 setgray
10633 5482 a 7586 5768
a Fh(256)4500 6000 y
tx@Dict begin -90 Rot end
4500 6000 a eop end
PStoPSsaved restore
userdict/PStoPSsaved save put
PStoPSmatrix setmatrix
595.000000 421.271378 translate
90 rotate
0.706651 dup scale
userdict/PStoPSmatrix matrix currentmatrix put
userdict/PStoPSclip{0 0 moveto
595.000000 0 rlineto 0 842.000000 rlineto -595.000000 0 rlineto
closepath}put initclip
PStoPSxform concat
TeXDict begin 257 41 bop 4500 6000 a
tx@Dict begin 90 Rot end
4500 6000 a 4707
5482 a @beginspecial @setspecial
tx@Dict begin STP newpath 0.57869 SLW 0. 0. 0. setrgbcolor 0.0 false
13.12538 neg 13.12538 neg 426.24008 293.06874 .5 Frame gsave 1. 1.
1. setrgbcolor fill grestore gsave 0.57869 SLW 0. 0. 0. setrgbcolor
0 setlinecap stroke grestore end
@endspecial 4761 1702
a @beginspecial @setspecial
tx@Dict begin STP newpath 0.8 SLW 1.00 0. 0. setrgbcolor 0. true
3.8 neg 11.48137 neg 411.43053 16.48138 .5 Frame gsave 1.00 0.71 0.76
setrgbcolor fill grestore gsave 0.8 SLW 1.00 0. 0. setrgbcolor 0 setlinecap
stroke grestore end
@endspecial 6279 1728 a
Ff(O)8 b Fg(P)g(E)g(R)g(A)l(T)g(I)g(O)g(N)g(S)62 b(O)8
b(N)57 b Ff(S)8 b Fg(E)g(T)g(S)g Ff(/)g(C)g Fg(O)g(L)g(L)g(E)g(C)h(T)g
(I)f(O)h(N)g(S)4707 2173 y Fj(Compar)r(isons)37 b(are)i
(instance-based:)46 b(if)39 b(one)h(oper)o(and)d(is)j(a)g(set,)f(each)g
(v)l(alue)g(is)g(compared)4821 2445 y Fu(\017)72 b Fj(...)49
b(as)39 b(w)o(e)g(ha)m(v)l(e)g(seen)g(f)l(or)g(XP)-6
b(ath:)6920 2445 y
0. 0. 1. setrgbcolor
6920 2445 a Fj(countr)t(y[)7436 2445
y
1. 0. 1. setrgbcolor
7436 2445 a Fj(.//city/name)8172 2445 y
0. 0. 1. setrgbcolor
8172 2445 a
36 w Fj(=)39 b(\223Cordoba\224]/name)9455 2445 y
0 setgray
9455
2445 a 4965 2642 a
0. 0. 1. setrgbcolor
4965 2642 a Fj(countr)t(y[)5481 2642
y
1. 0. 1. setrgbcolor
5481 2642 a Fj(.//city/population)6521 2642 y
0. 0. 1. setrgbcolor
6521
2642 a 35 w Ft(>)g Fj(1000000]/name)7744 2642 y
0 setgray
7744
2642 a 4821 2915 a Fu(\017)72 b Fj(b)m(ut)39 b(some)m(what)f(sur)t(pr)r
(ising)g(when)h(using)g(a)g(\223let\224-vie)m(w:)4707
2946 y
0. 0. 1. setrgbcolor
4707 2946 a 5019 3455 a @beginspecial @setspecial
tx@Dict begin STP newpath 0.8 SLW 0. setgray 0. true 3.8 neg 27.1232
neg 393.79057 32.12321 .5 Frame gsave 1. setgray fill grestore gsave
0.8 SLW 0. setgray 0 setlinecap stroke grestore end
@endspecial -307 x Fv(let)77 b($europcountries)j(:=)c
(//country[encompassed/)q(@co)q(ntin)q(ent)q(="e)q(uro)q(pe")q(])5019
3351 y(for)h($country)g(in)f(//country)5019 3554 y(where)h(not)f
(\($country)j(=)c($europcountries\))5019 3757 y(return)j($country/name)
10669 3455 y
0 setgray
10669 3455 a 4965 3965 a Fj([Filename:)47
b(set-compar)r(ison-e)l(xample)n(.xq)o(])4965 4192 y(outputs)38
b(all)i(names)e(of)i(non-european)d(countr)r(ies)n(.)4965
4390 y(\(note)i(that)g(\223where)f(not)h(\($countr)t(y/name)e(=)j
($europcountr)r(ies/name\)\224)35 b(w)o(ould)j(ha)m(v)l(e)h(the)h(same)
4965 4587 y(eff)l(ect\))4821 4859 y Fu(\017)72 b Fj(selection)38
b(from)h(let-collections)d(is)k(also)f(instance-based:)4965
5137 y
0. 0. 1. setrgbcolor
4965 5137 a 54 w @beginspecial @setspecial
tx@Dict begin STP newpath 0.8 SLW 0. setgray 0. true 3.8 neg 12.96329
neg 393.79057 17.9633 .5 Frame gsave 1. setgray fill grestore gsave
0.8 SLW 0. setgray 0 setlinecap stroke grestore end
@endspecial
-104 x Fv(let)77 b($europcountries)j(:=)c(//country[encompassed/)q(@co)
q(ntin)q(ent)q(="e)q(uro)q(pe")q(])5019 5236 y(return)i
($europcountries[@area>)q(3000)q(00])q(/na)q(me)10669
5137 y
0 setgray
10669 5137 a 4965 5444 a Fj([Filename:)47 b(set-selection-e)l
(xample)n(.xq])10633 5482 y
0 setgray
10633 5482 a 7586 5768 a
Fh(257)4500 6000 y
tx@Dict begin -90 Rot end
4500 6000 a eop end
PStoPSsaved restore
%%Page: (42,43) 22
userdict/PStoPSsaved save put
PStoPSmatrix setmatrix
595.000000 0.271378 translate
90 rotate
0.706651 dup scale
userdict/PStoPSmatrix matrix currentmatrix put
userdict/PStoPSclip{0 0 moveto
595.000000 0 rlineto 0 842.000000 rlineto -595.000000 0 rlineto
closepath}put initclip
/showpage{}def/copypage{}def/erasepage{}def
PStoPSxform concat
TeXDict begin 258 42 bop 4500 6000 a
tx@Dict begin 90 Rot end
4500 6000 a 4707
5482 a @beginspecial @setspecial
tx@Dict begin STP newpath 0.57869 SLW 0. 0. 0. setrgbcolor 0.0 false
13.12538 neg 13.12538 neg 426.24008 293.06874 .5 Frame gsave 1. 1.
1. setrgbcolor fill grestore gsave 0.57869 SLW 0. 0. 0. setrgbcolor
0 setlinecap stroke grestore end
@endspecial 4761 1699
a @beginspecial @setspecial
tx@Dict begin STP newpath 0.8 SLW 1.00 0. 0. setrgbcolor 0. true
3.8 neg 11.28644 neg 411.43053 16.28645 .5 Frame gsave 1.00 0.71 0.76
setrgbcolor fill grestore gsave 0.8 SLW 1.00 0. 0. setrgbcolor 0 setlinecap
stroke grestore end
@endspecial 7262 1725 a
Ff(F)8 b Fg(L)g(E)g(X)g(I)g(B)g(I)g(L)g(I)h(T)f(Y)4707
2166 y Fj(F)l(or)38 b(each)h(task,)g(there)g(is)g(a)h(m)o(ultitude)e
(of)h(possib)m(le)f(solutions)g(...)4761 2432 y @beginspecial
@setspecial
tx@Dict begin STP newpath 0.8 SLW 0.80 1. 0.80 setrgbcolor 0. true
3.8 neg 6.02748 neg 411.43053 11.02748 .5 Frame gsave 0.80 1. 0.80
setrgbcolor fill grestore gsave 0.8 SLW 0.80 1. 0.80 setrgbcolor 0
setlinecap stroke grestore end
@endspecial 4801 2434 a(Example:)47 b(Uncorrelated)37
b(Subquer)r(ies)4707 2661 y(Names)h(of)h(all)h(countr)r(ies)e(that)h
(are)g(larger)g(than)g(Ger)t(man)n(y:)4821 2916 y Fu(\017)72
b Fj(XP)-6 b(ath:)5439 2916 y
0. 0. 1. setrgbcolor
5439 2916 a 5168 3142 a
Fo(//country[@area)65 b(>)i(number\(//country[@car_code='D']/)o(@area)o
(\)]/n)o(ame)4707 3186 y
0 setgray
4707 3186 a 4821 3430 a Fu(\017)72
b Fj(XQuer)t(y)38 b(and)h(SQL:)g(correlated)f(subquer)t(y)4965
3627 y
0. 0. 1. setrgbcolor
4965 3627 a 90 x Fo(for)67 b($c)g(in)h(//country)4965
3903 y(where)f($c/@area)f(>)5033 4089 y(number\(//country[@car_code='D)
o(']/@a)o(rea\))4965 4275 y(return)g($c/name)4965 4309
y
0 setgray
4965 4309 a 7968 3627 a
0. 0. 1. setrgbcolor
7968 3627 a 79 x Fo(SELECT)h(c.name)7968
3892 y(FROM)g(country)f(c)7968 4078 y(WHERE)h(c.area)f(>)i(\(SELECT)e
(c2.area)9053 4265 y(FROM)g(country)h(c2)9053 4451 y(WHERE)f(c2.code)h
(=)g('D'\))7968 4484 y
0 setgray
7968 4484 a 4821 4679 a Fu(\017)72
b Fj(binding)38 b(the)h(uncorrelated)f(subquer)t(y)g(to)h(a)h(v)l(ar)r
(iab)m(le:)8044 4679 y
0. 0. 1. setrgbcolor
8044 4679 a 5168 4905 a Fo(let)67
b($germanyarea)f(:=)h(number\(//country[@car_code='D')o(]/@ar)o(ea\))
5168 5086 y(for)g($c)h(in)f(//country)5168 5266 y(where)g($c/@area)f(>)
i($germanyarea)5168 5447 y(return)f($c/name)4707 5473
y
0 setgray
4707 5473 a 10633 5482 a
0 setgray
10633 5482 a 7586 5768 a Fh(258)4500
6000 y
tx@Dict begin -90 Rot end
4500 6000 a eop end
PStoPSsaved restore
userdict/PStoPSsaved save put
PStoPSmatrix setmatrix
595.000000 421.271378 translate
90 rotate
0.706651 dup scale
userdict/PStoPSmatrix matrix currentmatrix put
userdict/PStoPSclip{0 0 moveto
595.000000 0 rlineto 0 842.000000 rlineto -595.000000 0 rlineto
closepath}put initclip
PStoPSxform concat
TeXDict begin 259 43 bop 4500 6000 a
tx@Dict begin 90 Rot end
4500 6000 a 4707
5482 a @beginspecial @setspecial
tx@Dict begin STP newpath 0.57869 SLW 0. 0. 0. setrgbcolor 0.0 false
13.12538 neg 13.12538 neg 426.24008 293.06874 .5 Frame gsave 1. 1.
1. setrgbcolor fill grestore gsave 0.57869 SLW 0. 0. 0. setrgbcolor
0 setlinecap stroke grestore end
@endspecial 4761 2673
a @beginspecial @setspecial
tx@Dict begin STP newpath 0.8 SLW 1.00 0. 0. setrgbcolor 0. true
3.8 neg 11.38539 neg 411.43053 16.38539 .5 Frame gsave 1.00 0.71 0.76
setrgbcolor fill grestore gsave 0.8 SLW 1.00 0. 0. setrgbcolor 0 setlinecap
stroke grestore end
@endspecial 7289 2697 a
Ff(E)8 b Fg(X)g(E)g(R)g(C)g(I)g(S)g(E)g(S)4707 3364 y
Fj(...)49 b(see)39 b(W)l(eb)-6 b(.)4707 3680 y Fi(Ex)o(er)m(cise)37
b(6.1)4707 3883 y Fj(Deter)t(mine)g(the)i(lo)n(w)o(est)f(mountain)g
(that)h(is)g(the)h(highest)e(mountain)g(of)i(the)f(continent)f(where)g
(it)i(is)4707 4086 y(located.)4707 4364 y(Solv)l(e)f(the)g(prob)m(lem)f
(f)l(or)h(the)g(relational)f(Mondial-DB)g(in)h(SQL,)g(and)g(f)l(or)g
(XML)g(in)g(XQuer)t(y)-14 b(.)10545 4386 y Fs(2)10633
5482 y
0 setgray
10633 5482 a 7586 5768 a Fh(259)4500 6000 y
tx@Dict begin -90 Rot end
4500
6000 a eop end
PStoPSsaved restore
%%Page: (44,45) 23
userdict/PStoPSsaved save put
PStoPSmatrix setmatrix
595.000000 0.271378 translate
90 rotate
0.706651 dup scale
userdict/PStoPSmatrix matrix currentmatrix put
userdict/PStoPSclip{0 0 moveto
595.000000 0 rlineto 0 842.000000 rlineto -595.000000 0 rlineto
closepath}put initclip
/showpage{}def/copypage{}def/erasepage{}def
PStoPSxform concat
TeXDict begin 260 44 bop 4500 6000 a
tx@Dict begin 90 Rot end
4500 6000 a 4707
5482 a @beginspecial @setspecial
tx@Dict begin STP newpath 0.57869 SLW 0. 0. 0. setrgbcolor 0.0 false
13.12538 neg 13.12538 neg 426.24008 293.06874 .5 Frame gsave 1. 1.
1. setrgbcolor fill grestore gsave 0.57869 SLW 0. 0. 0. setrgbcolor
0 setlinecap stroke grestore end
@endspecial 4761 1705
a @beginspecial @setspecial
tx@Dict begin STP newpath 0.8 SLW 1.00 0. 0. setrgbcolor 0. true
3.8 neg 11.69437 neg 411.43053 16.69438 .5 Frame gsave 1.00 0.71 0.76
setrgbcolor fill grestore gsave 0.8 SLW 1.00 0. 0. setrgbcolor 0 setlinecap
stroke grestore end
@endspecial 6819 1728 a
Ff(X)8 b(Q)e Fg(U)i(E)g(R)q(Y)p Ff(:)73 b(C)8 b Fg(O)g(N)g(C)g(L)g(U)g
(S)g(I)g(O)h(N)4761 2122 y @beginspecial @setspecial
tx@Dict begin STP newpath 0.8 SLW 0.80 1. 0.80 setrgbcolor 0. true
3.8 neg 6.02493 neg 411.43053 11.02495 .5 Frame gsave 0.80 1. 0.80
setrgbcolor fill grestore gsave 0.8 SLW 0.80 1. 0.80 setrgbcolor 0
setlinecap stroke grestore end
@endspecial 40 w Fj(Design)38 b(and)h(Functionality)4821
2369 y Fu(\017)72 b Fj(combines)38 b(the)h(positiv)l(e)f(e)l(xper)r
(iences)g(of)h(pre)l(vious)f(approaches)4821 2643 y Fu(\017)72
b Fj(a)m(v)l(oids)39 b(their)g(dr)o(a)m(wbac)m(ks)4821
2917 y Fu(\017)72 b Fj(intuitiv)l(ely)38 b(clear)h(syntax)f(and)h
(semantics)4821 3191 y Fu(\017)72 b Fj(declar)o(ativ)l(e)n(,)37
b(or)6 b(thogonal,)37 b(functional)h(style:)48 b(e)l(v)l(er)t(y)40
b(e)l(xpression)d(is)i(a)h(function)e(on)i(nodesets)e(that)4965
3388 y(also)h(retur)t(ns)f(a)h(nodeset)5014 3624 y Fi(\226)72
b Fj(e)l(xplicit,)38 b(v)l(ar)r(iab)m(le-based)f(iter)o(ation:)47
b(\223f)l(or)39 b Fc(v)l(ar)56 b Fj(in)39 b Fc(e)l(xpression)r
Fj(\224)5014 3860 y Fi(\226)72 b Fj(implicit)38 b(iter)o(ation:)47
b(\223)p Fc(collection)r Fj([)p Fc(condition)r Fj(]\224)36
b(or)j(\223)p Fc(collection)r Fj(/)p Fc(path)r Fj(\224)4821
4134 y Fu(\017)72 b Fj(Theoretical)37 b(bac)m(kg)o(round)g(\(see)i(W3C)
h(XML)f(Quer)t(y)g(F)l(or)t(mal)e(Semantics;)h(datatypes)f(of)j(the)f
(XML)4965 4332 y(Schema)f(and)h(XML)g(Quer)t(y)g(Data)g(Model\))5014
4567 y Fi(\226)72 b Fj(f)l(or)38 b(each)g(e)l(xpression)e(\(and)i(thus)
h(also)f(f)l(or)g(its)g(result\),)g(the)g(f)l(or)t(mal)f(type)h
(\(according)f(to)i(the)f(XML)5166 4765 y(Schema)g(datatypes\))f(can)j
(be)f(deter)t(mined.)5014 5001 y Fi(\226)72 b Fj(the)39
b(type)g(of)g(each)g(v)l(ar)r(iab)m(le)g(is)h(deter)t(mined)d(in)i(the)
h(same)e(w)n(a)l(y)-14 b(.)5014 5237 y Fi(\226)72 b Fj(f)l(or)t(mal,)37
b(denotational)h(semantics)f(of)j(quer)r(ies:)5166 5434
y(\223what)e(is)i(the)f(ans)l(w)o(er)f(set)h(of)g(a)h(giv)l(en)f(e)l
(xpression?\224)10633 5482 y
0 setgray
10633 5482 a 7586 5768 a
Fh(260)4500 6000 y
tx@Dict begin -90 Rot end
4500 6000 a eop end
PStoPSsaved restore
userdict/PStoPSsaved save put
PStoPSmatrix setmatrix
595.000000 421.271378 translate
90 rotate
0.706651 dup scale
userdict/PStoPSmatrix matrix currentmatrix put
userdict/PStoPSclip{0 0 moveto
595.000000 0 rlineto 0 842.000000 rlineto -595.000000 0 rlineto
closepath}put initclip
PStoPSxform concat
TeXDict begin 261 45 bop 4500 6000 a
tx@Dict begin 90 Rot end
4500 6000 a 4707
5482 a @beginspecial @setspecial
tx@Dict begin STP newpath 0.57869 SLW 0. 0. 0. setrgbcolor 0.0 false
13.12538 neg 13.12538 neg 426.24008 293.06874 .5 Frame gsave 1. 1.
1. setrgbcolor fill grestore gsave 0.57869 SLW 0. 0. 0. setrgbcolor
0 setlinecap stroke grestore end
@endspecial 4761 2108
a @beginspecial @setspecial
tx@Dict begin STP newpath 0.8 SLW 1.00 0. 0. setrgbcolor 0. true
3.8 neg 12.6304 neg 411.43053 17.63042 .5 Frame gsave 1.00 0.71 0.76
setrgbcolor fill grestore gsave 0.8 SLW 1.00 0. 0. setrgbcolor 0 setlinecap
stroke grestore end
@endspecial 6423 2117 a
Ff(X)8 b(Q)e Fg(U)i(E)g(R)q(Y)p Ff(:)72 b(C)8 b Fg(O)g(N)g(C)g(L)g(U)g
(S)g(I)h(O)f(N)63 b Ff(\()8 b(C)g Fg(O)g(N)g(T)g Ff(')g
Fg(D)g Ff(\))4707 2820 y Fj(W3C)39 b(XML)g(Quer)t(y)g(F)l(or)t(mal)e
(Semantics:)4821 3120 y Fu(\017)72 b Fj(XP)-6 b(ath/XQuer)t(y)37
b(is)j(a)f(functional)f(language)n(.)4821 3421 y Fu(\017)72
b Fj(is)39 b(b)m(uilt)g(from)g(e)l(xpressions)n(,)e(r)o(ather)h(than)h
(statements)n(.)47 b(Ev)l(er)t(y)39 b(constr)r(uct)f(in)i(the)f
(language)f(\(e)l(xcept)4965 3624 y(f)l(or)h(the)g(XQuer)t(y)g(quer)t
(y)g(prolog\))f(is)h(an)h(e)l(xpression)d(and)i(e)l(xpressions)e(can)i
(be)h(composed)4965 3827 y(arbitr)o(ar)r(ily)-14 b(.)4821
4128 y Fu(\017)72 b Fj(The)39 b(result)g(of)g(one)g(e)l(xpression)e
(can)j(be)f(used)g(as)g(the)h(input)e(to)i(an)n(y)f(other)g(e)l
(xpression,)e(as)i(long)g(as)4965 4331 y(the)g(type)g(of)h(the)f
(result)g(of)g(the)g(f)l(or)t(mer)f(e)l(xpression)f(is)j(compatib)m(le)
d(with)i(the)h(input)e(type)h(of)h(the)4965 4534 y(latter)f(e)l
(xpression)e(with)i(which)f(it)i(is)f(composed.)4821
4835 y Fu(\017)72 b Fj(Another)38 b(char)o(acter)r(istic)f(of)i(a)h
(functional)e(language)g(is)h(that)g(v)l(ar)r(iab)m(les)g(are)g(alw)n
(a)l(ys)f(passed)g(b)m(y)4965 5038 y(v)l(alue)n(,)h(and)g(a)h(v)l(ar)r
(iab)m(le')-7 b(s)38 b(v)l(alue)h(cannot)f(be)i(modi\002ed)e(through)g
(side)h(eff)l(ects)n(.)10633 5482 y
0 setgray
10633 5482 a 7586
5768 a Fh(261)4500 6000 y
tx@Dict begin -90 Rot end
4500 6000 a eop end
PStoPSsaved restore
%%Page: (46,47) 24
userdict/PStoPSsaved save put
PStoPSmatrix setmatrix
595.000000 0.271378 translate
90 rotate
0.706651 dup scale
userdict/PStoPSmatrix matrix currentmatrix put
userdict/PStoPSclip{0 0 moveto
595.000000 0 rlineto 0 842.000000 rlineto -595.000000 0 rlineto
closepath}put initclip
/showpage{}def/copypage{}def/erasepage{}def
PStoPSxform concat
TeXDict begin 262 46 bop 4500 6000 a
tx@Dict begin 90 Rot end
4500 6000 a 4707
5482 a @beginspecial @setspecial
tx@Dict begin STP newpath 0.57869 SLW 0. 0. 0. setrgbcolor 0.0 false
13.12538 neg 13.12538 neg 426.24008 293.06874 .5 Frame gsave 1. 1.
1. setrgbcolor fill grestore gsave 0.57869 SLW 0. 0. 0. setrgbcolor
0 setlinecap stroke grestore end
@endspecial 4761 2315
a @beginspecial @setspecial
tx@Dict begin STP newpath 0.8 SLW 1.00 0. 0. setrgbcolor 0. true
3.8 neg 12.6304 neg 411.43053 17.63042 .5 Frame gsave 1.00 0.71 0.76
setrgbcolor fill grestore gsave 0.8 SLW 1.00 0. 0. setrgbcolor 0 setlinecap
stroke grestore end
@endspecial 6423 2324 a
Ff(X)8 b(Q)e Fg(U)i(E)g(R)q(Y)p Ff(:)72 b(C)8 b Fg(O)g(N)g(C)g(L)g(U)g
(S)g(I)h(O)f(N)63 b Ff(\()8 b(C)g Fg(O)g(N)g(T)g Ff(')g
Fg(D)g Ff(\))4821 2952 y Fu(\017)72 b Fj(Note:)48 b(XQuer)t(yX)38
b(pro)n(vides)g(a)i(syntax)e(that)h(is)h(f)l(or)t(m)o(ulated)c(in)k
(XML)4761 3425 y @beginspecial @setspecial
tx@Dict begin STP newpath 0.8 SLW 0.80 1. 0.80 setrgbcolor 0. true
3.8 neg 4.9949 neg 411.43053 9.99492 .5 Frame gsave 0.80 1. 0.80 setrgbcolor
fill grestore gsave 0.8 SLW 0.80 1. 0.80 setrgbcolor 0 setlinecap stroke
grestore end
@endspecial
4801 3440 a(Restr)r(ictions)4821 3718 y Fu(\017)72 b
Fj(up)39 b(to)h(no)n(w)f(no)g(resolving)f(of)h(XLink/XP)-7
b(ointer)4965 3921 y(\(see)39 b(also)g(the)g(prob)m(lems)f(with)h(the)g
(id\(.\)-function;)e(no)j(na)m(vigation)d(along)i(ref)l(erence)f(attr)r
(ib)m(utes\))4821 4222 y Fu(\017)72 b Fj(only)39 b(a)5387
4222 y
1. 0. 0. setrgbcolor
5387 4222 a Fc(quer)t(y)g(language)6382 4222 y
0 setgray
6382 4222 a Fj(:)4965 4425 y(decision)f(of)h(the)h(W3C:)f(\002rst)g
(complete)f(XQuer)t(y)h(1.0)g(as)g(a)h(quer)t(y)f(language)f(and)h(mak)
m(e)g(it)4965 4628 y(consistent)f(with)h(XML)f(Schema)g(and)i(XML)e
(Quer)t(y)h(Data)g(Model)g(as)g(a)h(\223Recommendation\224,)35
b(and)4965 4831 y(then)k(star)6 b(t)39 b(of\002cial)f(thoughts)g(about)
h(updates)f(in)i(XQuer)t(y)e(2.0.)10633 5482 y
0 setgray
10633
5482 a 7586 5768 a Fh(262)4500 6000 y
tx@Dict begin -90 Rot end
4500 6000 a eop
end
PStoPSsaved restore
userdict/PStoPSsaved save put
PStoPSmatrix setmatrix
595.000000 421.271378 translate
90 rotate
0.706651 dup scale
userdict/PStoPSmatrix matrix currentmatrix put
userdict/PStoPSclip{0 0 moveto
595.000000 0 rlineto 0 842.000000 rlineto -595.000000 0 rlineto
closepath}put initclip
PStoPSxform concat
TeXDict begin 263 47 bop 4500 6000 a
tx@Dict begin 90 Rot end
4500 6000 a 4707
5482 a @beginspecial @setspecial
tx@Dict begin STP newpath 0.57869 SLW 0. 0. 0. setrgbcolor 0.0 false
13.12538 neg 13.12538 neg 426.24008 293.06874 .5 Frame gsave 1. 1.
1. setrgbcolor fill grestore gsave 0.57869 SLW 0. 0. 0. setrgbcolor
0 setlinecap stroke grestore end
@endspecial 4761 2176
a @beginspecial @setspecial
tx@Dict begin STP newpath 0.8 SLW 1.00 0. 0. setrgbcolor 0. true
3.8 neg 11.69437 neg 411.43053 16.69438 .5 Frame gsave 1.00 0.71 0.76
setrgbcolor fill grestore gsave 0.8 SLW 1.00 0. 0. setrgbcolor 0 setlinecap
stroke grestore end
@endspecial 5178 2199 a
Ff(G)8 b Fg(E)g(N)g(E)g(R)g(A)g(L)61 b Ff(D)8 b Fg(E)g(S)g(I)g(G)g(N)59
b Ff(P)-7 b Fg(A)l(T)8 b(T)g(E)g(R)g(N)g(S)61 b(F)8 b(O)g(R)58
b Ff(D)r Fg(A)l(T)l(A)8 b(B)t(A)g(S)g(E)60 b Ff(Q)6 b
Fg(U)i(E)g(R)q(Y)60 b Ff(L)8 b Fg(A)g(N)g(G)g(U)q(A)q(G)h(E)f(S)4707
2874 y Fj(SQL,)38 b(OQL,)h(XML-QL,)f(XQuer)t(y)h(\(and)f(man)n(y)h
(others\))f(use)h(the)h(same)e(under)r(lying)g(pr)r(inciple:)4821
3175 y Fu(\017)72 b Fj(binding)38 b(v)l(ar)r(iab)m(les)4821
3476 y Fu(\017)72 b Fj(e)l(v)l(aluating)38 b(a)h(condition)4821
3776 y Fu(\017)72 b Fj(gener)o(ating)37 b(a)j(result)e(\(which)h(is)g
(a)h(set)f(of)h(data)f(items)f(of)i(the)f(under)r(lying)f(data)h
(model\))4707 4077 y(Note:)48 b(XQL)39 b(did)g(not)g(f)l(ollo)n(w)f
(this)i(idea)f Fu(!)h Fj(restr)r(icted)e(e)l(xpressiv)l(eness)e(and)k
(clar)r(ity)4707 4355 y(...)49 b(let')-7 b(s)38 b(no)n(w)h(ha)m(v)l(e)h
(a)f(look)g(on)h(one)f(more)g(XML)f(quer)t(y)h(language)4821
4656 y Fu(\017)72 b Fj(the)39 b(under)r(lying)f(pr)r(inciple)g(is)i
(the)f(same)4821 4957 y Fu(\017)72 b(!)40 b Fj(e)l(v)l(er)t(ything)e
(else)h(is)h(\223just)f(syntax\224!)10633 5482 y
0 setgray
10633
5482 a 7586 5768 a Fh(263)4500 6000 y
tx@Dict begin -90 Rot end
4500 6000 a eop
end
PStoPSsaved restore
%%Page: (48,49) 25
userdict/PStoPSsaved save put
PStoPSmatrix setmatrix
595.000000 0.271378 translate
90 rotate
0.706651 dup scale
userdict/PStoPSmatrix matrix currentmatrix put
userdict/PStoPSclip{0 0 moveto
595.000000 0 rlineto 0 842.000000 rlineto -595.000000 0 rlineto
closepath}put initclip
/showpage{}def/copypage{}def/erasepage{}def
PStoPSxform concat
TeXDict begin 264 48 bop 4500 6000 a
tx@Dict begin 90 Rot end
4500 6000 a 4707
5482 a @beginspecial @setspecial
tx@Dict begin STP newpath 0.57869 SLW 0. 0. 0. setrgbcolor 0.0 false
13.12538 neg 13.12538 neg 426.24008 293.06874 .5 Frame gsave 1. 1.
1. setrgbcolor fill grestore gsave 0.57869 SLW 0. 0. 0. setrgbcolor
0 setlinecap stroke grestore end
@endspecial 4761 2624
a @beginspecial @setspecial
tx@Dict begin STP newpath 0.8 SLW 1.00 0. 0. setrgbcolor 0. true
3.8 neg 3.8 neg 411.43053 31.06343 .5 Frame gsave 1.00 0.71 0.76 setrgbcolor
fill grestore gsave 0.8 SLW 1.00 0. 0. setrgbcolor 0 setlinecap stroke
grestore end
@endspecial 4801 2497 a
Fk(6.6)207 b(XP)-6 b(athLog)4821 2902 y Fu(\017)72 b
Fj(Prolog-/Datalog-style)n(,)35 b(based)j(on)i(F-Logic)4965
3106 y(\(Ma)l(y)-14 b(,)38 b(DBPL)g(and)h(VLDB)g(2001;)g(TPLP)g(2004\))
5014 3357 y Fi(\226)72 b Fj(path)39 b(syntax)f(changed)g(from)h
Fc(step)p Fj(.)p Fc(step)p Fj(.)p Fc(step)i Fj(to)f Fc(step)t
Fj(/)p Fc(step)t Fj(/)p Fc(step)5014 3609 y Fi(\226)72
b Fj(same)38 b(syntax)h(f)l(or)g(conditions)f(as)h(f)l(or)g(F-Logic:)47
b(\223[...]\224)i(could)38 b(be)i(reused)5014 3861 y
Fi(\226)72 b Fj(F-Logic)38 b(semantics)f(\(1989\))i(closely)f(related)h
(with)g(XP)-6 b(ath)39 b(semantics)5014 4113 y Fi(\226)72
b Fj(ne)m(w:)48 b(distinction)38 b(betw)o(een)g(attr)r(ib)m
(utes/subelements)4821 4414 y Fu(\017)72 b Fj(Binding)38
b(of)i(v)l(ar)r(iab)m(les)e(at)6412 4414 y
1. 0. 0. setrgbcolor
6412 4414
a Fc(arbitr)o(ar)t(y)6943 4414 y
0 setgray
6943 4414 a 38 w Fj(positions)g(of)h
(an)g(e)l(xpression)4821 4715 y Fu(\017)72 b Fj(joins)39
b(as)g(conjunction)f(\(as)h(in)g(Prolog/Datalog\))10633
5482 y
0 setgray
10633 5482 a 7586 5768 a Fh(264)4500 6000 y
tx@Dict begin -90 Rot end
4500
6000 a eop end
PStoPSsaved restore
userdict/PStoPSsaved save put
PStoPSmatrix setmatrix
595.000000 421.271378 translate
90 rotate
0.706651 dup scale
userdict/PStoPSmatrix matrix currentmatrix put
userdict/PStoPSclip{0 0 moveto
595.000000 0 rlineto 0 842.000000 rlineto -595.000000 0 rlineto
closepath}put initclip
PStoPSxform concat
TeXDict begin 265 49 bop 4500 6000 a
tx@Dict begin 90 Rot end
4500 6000 a 4707
5482 a @beginspecial @setspecial
tx@Dict begin STP newpath 0.57869 SLW 0. 0. 0. setrgbcolor 0.0 false
13.12538 neg 13.12538 neg 426.24008 293.06874 .5 Frame gsave 1. 1.
1. setrgbcolor fill grestore gsave 0.57869 SLW 0. 0. 0. setrgbcolor
0 setlinecap stroke grestore end
@endspecial 4761 1997
a @beginspecial @setspecial
tx@Dict begin STP newpath 0.8 SLW 1.00 0. 0. setrgbcolor 0. true
3.8 neg 11.38539 neg 411.43053 16.38539 .5 Frame gsave 1.00 0.71 0.76
setrgbcolor fill grestore gsave 0.8 SLW 1.00 0. 0. setrgbcolor 0 setlinecap
stroke grestore end
@endspecial 7297 2021 a
Ff(X)8 b(P)-7 b Fg(A)l(T)8 b(H)g Ff(L)g Fg(O)g(G)4821
2614 y Fu(\017)72 b Fj(implicit)38 b(resolving)g(of)h(m)o(ulti-v)l
(alued)e(attr)r(ib)m(utes)4821 2915 y Fu(\017)72 b Fj(implicit)38
b(resolving)g(of)h(ref)l(erence)f(attr)r(ib)m(utes)7487
2915 y
0. 0. 1. setrgbcolor
7487 2915 a 5191 3178 a Fv(?-)76 b(//country->C[name->N)81
b(and)c(@membership->O/name->A)q(].)4707 3233 y
0. setgray
4707
3233 a 4821 3501 a Fu(\017)72 b Fj(access)38 b(to)i(signature/metadata)
6879 3501 y
0. 0. 1. setrgbcolor
6879 3501 a 5191 3765 a Fv(?-)76 b(//country[name="German)q
(y"])q(/M.)5191 3968 y(?-)g(//country[name="German)q(y"])q(/@A)q(.)4707
4022 y
0. setgray
4707 4022 a 4821 4291 a Fu(\017)c Fj(class)38
b(membership)g(and)h(-hier)o(arch)l(y)7075 4291 y
0. 0. 1. setrgbcolor
7075
4291 a 5191 4554 a Fv(?-)76 b(C)f(isa)i(country[name->N]/M.)5191
4757 y(?-)f(_C)g(isa)g(country/@A->_O,)k(_O)c(isa)g(X.)5191
4960 y(?-)g(country[@M=>C].)381 b(\045)76 b(from)g(DTD)4707
5186 y
0 setgray
4707 5186 a 4707 5186 a
0 setgray
4707 5186 a 4707 5186
a
0 setgray
4707 5186 a 4707 5186 a
0 setgray
4707 5186 a 4707 5186 a
0 setgray
4707
5186 a 10633 5482 a
0 setgray
10633 5482 a 7586 5768 a Fh(265)4500
6000 y
tx@Dict begin -90 Rot end
4500 6000 a eop end
PStoPSsaved restore
%%Page: (50,51) 26
userdict/PStoPSsaved save put
PStoPSmatrix setmatrix
595.000000 0.271378 translate
90 rotate
0.706651 dup scale
userdict/PStoPSmatrix matrix currentmatrix put
userdict/PStoPSclip{0 0 moveto
595.000000 0 rlineto 0 842.000000 rlineto -595.000000 0 rlineto
closepath}put initclip
/showpage{}def/copypage{}def/erasepage{}def
PStoPSxform concat
TeXDict begin 266 50 bop 4500 6000 a
tx@Dict begin 90 Rot end
4500 6000 a 4707
5482 a @beginspecial @setspecial
tx@Dict begin STP newpath 0.57869 SLW 0. 0. 0. setrgbcolor 0.0 false
13.12538 neg 13.12538 neg 426.24008 293.06874 .5 Frame gsave 1. 1.
1. setrgbcolor fill grestore gsave 0.57869 SLW 0. 0. 0. setrgbcolor
0 setlinecap stroke grestore end
@endspecial 4761 2355
a @beginspecial @setspecial
tx@Dict begin STP newpath 0.8 SLW 1.00 0. 0. setrgbcolor 0. true
3.8 neg 11.48137 neg 411.43053 16.48138 .5 Frame gsave 1.00 0.71 0.76
setrgbcolor fill grestore gsave 0.8 SLW 1.00 0. 0. setrgbcolor 0 setlinecap
stroke grestore end
@endspecial 6823 2380 a
Ff(X)8 b(P)-7 b Fg(A)l(T)8 b(H)g Ff(L)g Fg(O)g(G)g Ff(:)72
b(O)p Fg(V)8 b(E)g(R)q(V)g(I)g(E)g(W)4821 2973 y Fu(\017)72
b Fj(declar)o(ativ)l(e)37 b(language)4821 3273 y Fu(\017)72
b Fj(implicit)38 b(iter)o(ation)g(\(\002xpoint)g(semantics\))4821
3574 y Fu(\017)72 b Fj(\(equi-\)join)37 b(v)l(ar)r(iab)m(les)4821
3875 y Fu(\017)72 b Fj(XP)-6 b(ath-style)37 b(semantics)h(in)i(r)r(ule)
f(heads)f(f)l(or)7484 3875 y
1. 0. 0. setrgbcolor
7484 3875 a Fc(gener)o(ation)8163
3875 y
0 setgray
8163 3875 a 38 w Fj(and)8480 3875 y
1. 0. 0. setrgbcolor
8480 3875
a Fc(manipulation)9296 3875 y
0 setgray
9296 3875 a 37 w Fj(of)i(XML)e(data)4821
4176 y Fu(\017)72 b Fj(\002rst)39 b(implementation)d(of)k(an)f(update)g
(language)f(f)l(or)h(XML)g(\(Demo)f(VLDB)h(2001\))4821
4476 y Fu(\017)72 b Fj(\002xpoint)38 b(semantics)g(f)l(or)h(e)l(x)l
(ecution)4821 4777 y Fu(\017)72 b Fj(can)39 b(compute)f(tr)o(ansitiv)l
(e)g(closure)g(etc.)10633 5482 y
0 setgray
10633 5482 a 7586 5768
a Fh(266)4500 6000 y
tx@Dict begin -90 Rot end
4500 6000 a eop end
PStoPSsaved restore
userdict/PStoPSsaved save put
PStoPSmatrix setmatrix
595.000000 421.271378 translate
90 rotate
0.706651 dup scale
userdict/PStoPSmatrix matrix currentmatrix put
userdict/PStoPSclip{0 0 moveto
595.000000 0 rlineto 0 842.000000 rlineto -595.000000 0 rlineto
closepath}put initclip
PStoPSxform concat
TeXDict begin 267 51 bop 4500 6000 a
tx@Dict begin 90 Rot end
4500 6000 a 4707
5480 a @beginspecial @setspecial
tx@Dict begin STP newpath 0.57869 SLW 0. 0. 0. setrgbcolor 0.0 false
13.12538 neg 13.12538 neg 426.24008 293.06874 .5 Frame gsave 1. 1.
1. setrgbcolor fill grestore gsave 0.57869 SLW 0. 0. 0. setrgbcolor
0 setlinecap stroke grestore end
@endspecial 4761 1704
a @beginspecial @setspecial
tx@Dict begin STP newpath 0.8 SLW 1.00 0. 0. setrgbcolor 0. true
3.8 neg 11.69437 neg 411.43053 16.69438 .5 Frame gsave 1.00 0.71 0.76
setrgbcolor fill grestore gsave 0.8 SLW 1.00 0. 0. setrgbcolor 0 setlinecap
stroke grestore end
@endspecial 5113 1726 a
Ff(G)8 b Fg(E)g(N)g(E)g(R)g(A)g(L)61 b Ff(D)8 b Fg(E)g(S)g(I)g(G)g(N)60
b Ff(P)8 b Fg(R)g(I)g(N)g(C)g(I)g(P)g(L)g(E)g(S)62 b(F)8
b(O)g(R)58 b Ff(D)r Fg(A)l(T)l(A)8 b(B)t(A)g(S)g(E)61
b Ff(Q)6 b Fg(U)i(E)g(R)q(Y)60 b Ff(L)8 b Fg(A)g(N)g(G)g(U)q(A)q(G)g(E)
h(S)4707 2230 y Fj(SQL,)38 b(OQL,)h(XML-QL,)f(XQuer)t(y)h(\(and)f(man)n
(y)h(others\))f(use)h(the)h(same)e(under)r(lying)g(pr)r(inciple:)4821
2509 y Fu(\017)72 b Fj(binding)38 b(v)l(ar)r(iab)m(les)4821
2788 y Fu(\017)72 b Fj(e)l(v)l(aluating)38 b(a)h(condition)4821
3068 y Fu(\017)72 b Fj(gener)o(ating)37 b(a)j(result)e(\(which)h(is)g
(a)h(set)f(of)h(data)f(items)f(of)i(the)f(under)r(lying)f(data)h
(model\))5582 3353 y Fb(SQL/OQL)783 b(XML-QL)897 b(XQuer)t(y)890
b(XP)-5 b(athLog)p 4707 3426 6182 6 v 4793 3583 a(v)m(ar)r(iab)m(les:)
238 b(1-step-na)m(vig.)603 b(XML)35 b(patter)s(ns)606
b(XP)-5 b(ath)35 b(na)m(vig.)607 b(XP)-5 b(ath)36 b(na)m(vig.+)5582
3806 y(SQL:)g(\003at)f(data)g(model)2881 b(XP)-5 b(ath)36
b(P)-5 b(atter)s(ns)5582 4030 y(OQL:)36 b(+)h(path)e(na)m(vig.)p
4707 4102 V 4793 4259 a(conditions:)169 b(WHERE)36 b(clause)458
b(XP)-5 b(ath)36 b(fr)o(agment)485 b(P)-5 b(atter)s(ns)34
b(+)743 b(XP)-5 b(ath)36 b(\002lters)6931 4482 y(\(only)f
(non-join-conds\))169 b(\(Join)34 b(conds\))628 b(\(Join)35
b(conds\))6931 4706 y(WHERE)i(clause)486 b(WHERE)36 b(Clause)413
b(separ)o(ate)34 b(conjuncts)6931 4929 y(\(all)h(v)m(ars\))885
b(\(compar)r(isons+joins\))167 b(\(compar)r(isons+joins\))4827
5183 y Fl(\017)72 b Fb(the)35 b(under)r(lying)f(Logic)g(Prog)o(r)o
(amming)f(\002xpoint)h(semantics)f(enab)m(les)i(XP)-5
b(ath)35 b(to)h(compute)e(tr)o(ansitiv)m(e)f(closure)4827
5441 y Fl(\017)72 b Fb(...)44 b(b)m(ut)36 b(it)f(does)g(not)g(allo)n(w)
g(f)l(or)h(syntactically)c(nested)i(statements)10633
5480 y
0 setgray
10633 5480 a 7586 5765 a Fh(267)4500 6000 y
tx@Dict begin -90 Rot end
4500
6000 a eop end
PStoPSsaved restore
%%Page: (52,53) 27
userdict/PStoPSsaved save put
PStoPSmatrix setmatrix
595.000000 0.271378 translate
90 rotate
0.706651 dup scale
userdict/PStoPSmatrix matrix currentmatrix put
userdict/PStoPSclip{0 0 moveto
595.000000 0 rlineto 0 842.000000 rlineto -595.000000 0 rlineto
closepath}put initclip
/showpage{}def/copypage{}def/erasepage{}def
PStoPSxform concat
TeXDict begin 268 52 bop 4500 6000 a
tx@Dict begin 90 Rot end
4500 6000 a 4707
5482 a @beginspecial @setspecial
tx@Dict begin STP newpath 0.57869 SLW 0. 0. 0. setrgbcolor 0.0 false
13.12538 neg 13.12538 neg 426.24008 293.06874 .5 Frame gsave 1. 1.
1. setrgbcolor fill grestore gsave 0.57869 SLW 0. 0. 0. setrgbcolor
0 setlinecap stroke grestore end
@endspecial 4761 2312
a @beginspecial @setspecial
tx@Dict begin STP newpath 0.8 SLW 1.00 0. 0. setrgbcolor 0. true
3.8 neg 12.6304 neg 411.43053 17.63042 .5 Frame gsave 1.00 0.71 0.76
setrgbcolor fill grestore gsave 0.8 SLW 1.00 0. 0. setrgbcolor 0 setlinecap
stroke grestore end
@endspecial 6056 2321 a
Ff(F)8 b Fg(U)g(R)d(T)j(H)g(E)g(R)61 b Ff(\()8 b(A)r
Fg(C)g(A)g(D)g(E)g(M)g(I)g(C)h Ff(\))63 b(Q)6 b Fg(U)i(E)g(R)q(Y)59
b Ff(L)8 b Fg(A)g(N)g(G)g(U)q(A)q(G)h(E)f(S)4821 2948
y Fu(\017)72 b Fj(XML-GL)38 b(\(Comai,)g(P)-7 b(olitecnico)37
b(Milano)-6 b(,)39 b(1999\):)48 b(g)o(r)o(aphical)37
b(\223language\224)4821 3249 y Fu(\017)72 b Fj(Lorel-XML)37
b(\(Stanf)l(ord)h(Univ)-11 b(.,)38 b(1999\):)48 b(OQL-style)38
b(language)n(,)g(mig)o(r)o(ation)e(of)k(Lorel)4821 3550
y Fu(\017)72 b Fj(Y)-16 b(A)f(TL-XML)37 b(\(Cluet,)i(INRIA,)f(2000\):)
48 b(ter)t(m-based)37 b(language)n(,)h(mig)o(r)o(ation)f(of)i(Y)-16
b(A)f(TL)4821 3850 y Fu(\017)72 b Fj(Lixto/Elog)38 b(\(Gottlob)-6
b(,)38 b(TU)h(Wien,)h(2001\):)48 b(g)o(r)o(aphical)37
b(tool)i(f)l(or)g(data)g(e)l(xtr)o(action)e(from)i(the)g(W)l(eb)-6
b(,)4965 4054 y(Datalog-based)37 b(inter)t(nals)4821
4354 y Fu(\017)72 b Fj(Xcer)t(pt,)38 b(XChange)g(\(Br)t(y)i(et)f(al,)g
(LMU)g(M)16 b(\250)-64 b(unchen,)38 b(2002\):)48 b(ter)t(m-)38
b(and)h(uni\002cation-based)e(language)4707 4655 y(...)49
b(man)n(y)38 b(diff)l(erent)g(approaches)f(to)j(the)f(same)g(goal)g
(\(mainly)f(in)i(Europe\).)4707 4858 y(Ov)l(er)t(vie)m(w)e(in)i(\(Ma)l
(y)-14 b(,)37 b(TPLP)i(2004\).)10633 5482 y
0 setgray
10633 5482
a 7586 5768 a Fh(268)4500 6000 y
tx@Dict begin -90 Rot end
4500 6000 a eop end
PStoPSsaved restore
userdict/PStoPSsaved save put
PStoPSmatrix setmatrix
595.000000 421.271378 translate
90 rotate
0.706651 dup scale
userdict/PStoPSmatrix matrix currentmatrix put
userdict/PStoPSclip{0 0 moveto
595.000000 0 rlineto 0 842.000000 rlineto -595.000000 0 rlineto
closepath}put initclip
PStoPSxform concat
TeXDict begin 269 53 bop 4500 6000 a
tx@Dict begin 90 Rot end
4500 6000 a 4707
5482 a @beginspecial @setspecial
tx@Dict begin STP newpath 0.57869 SLW 0. 0. 0. setrgbcolor 0.0 false
13.12538 neg 13.12538 neg 426.24008 293.06874 .5 Frame gsave 1. 1.
1. setrgbcolor fill grestore gsave 0.57869 SLW 0. 0. 0. setrgbcolor
0 setlinecap stroke grestore end
@endspecial 4761 2477
a @beginspecial @setspecial
tx@Dict begin STP newpath 0.8 SLW 1.00 0. 0. setrgbcolor 0. true
3.8 neg 3.8 neg 411.43053 70.50993 .5 Frame gsave 1.00 0.71 0.76 setrgbcolor
fill grestore gsave 0.8 SLW 1.00 0. 0. setrgbcolor 0 setlinecap stroke
grestore end
@endspecial 4801 1899 a
Fe(Chapter)83 b(7)4801 2338 y Fd(Manipulating)101 b(XML)f(Data)4821
2735 y Fu(\017)72 b Fj(XML)39 b(data)g(in)g(\002les:)5014
2969 y Fi(\226)72 b Fj(usually)38 b(no)h(changes)g(\(e)l(xcept)f(man)o
(ually)f(or)i(b)m(y)h(scr)r(ipts\))5014 3204 y Fi(\226)72
b Fj(tr)o(ansf)l(or)t(mations)35 b(XML)k Fu(!)h Fj(HTML)f(etc:)48
b(XSL)-16 b(T)4821 3477 y Fu(\017)72 b Fj(XML)39 b(data)g(in)g
(application)f(systems)5014 3712 y Fi(\226)72 b Fj(inside)38
b(the)i(application)d(prog)o(r)o(amming)f(language;)i(mostly)g(b)m(y)i
(the)f(DOM-API)5014 3946 y Fi(\226)72 b Fj(no)39 b(special)f(data)h
(manipulation)f(language)g(necessar)t(y)g(\(cf)l(.)g(OQL\)?)4821
4219 y Fu(\017)72 b Fj(diff)l(erent)38 b(proposals)5014
4454 y Fi(\226)72 b Fj(pre-XQuer)t(y)37 b(commercial)g(area:)5166
4666 y Fu(\003)71 b Fj(XMLDB:)38 b(XUpdate)g(\(1999\))5166
4863 y Fu(\003)71 b Fj(eXcelon)38 b(\(2000;)h(XUL)g(as)g(e)l(xtension)f
(of)h(XSL)-16 b(T\))5014 5098 y Fi(\226)72 b Fj(academic)37
b(area:)5166 5310 y Fu(\003)71 b Fj(\223Updating)38 b(XML)-23
b(\224)39 b(\(Hale)l(vy)e(et)j(al,)f(SIGMOD)f(2001\))h(as)g(an)g(e)l
(xtension)f(to)i(XQuer)t(y)5166 5508 y Fu(\003)71 b Fj(XP)-6
b(athLog)38 b(\(Ma)l(y)-14 b(,)38 b(VLDB)h(2001\):)48
b(Prolog-style)37 b(quer)t(y-)i(and)g(manipulation)e(language)10633
5482 y
0 setgray
10633 5482 a 7586 5768 a Fh(269)4500 6000 y
tx@Dict begin -90 Rot end
4500
6000 a eop end
PStoPSsaved restore
%%Page: (54,55) 28
userdict/PStoPSsaved save put
PStoPSmatrix setmatrix
595.000000 0.271378 translate
90 rotate
0.706651 dup scale
userdict/PStoPSmatrix matrix currentmatrix put
userdict/PStoPSclip{0 0 moveto
595.000000 0 rlineto 0 842.000000 rlineto -595.000000 0 rlineto
closepath}put initclip
/showpage{}def/copypage{}def/erasepage{}def
PStoPSxform concat
TeXDict begin 270 54 bop 4500 6000 a
tx@Dict begin 90 Rot end
4500 6000 a 4707
5482 a @beginspecial @setspecial
tx@Dict begin STP newpath 0.57869 SLW 0. 0. 0. setrgbcolor 0.0 false
13.12538 neg 13.12538 neg 426.24008 293.06874 .5 Frame gsave 1. 1.
1. setrgbcolor fill grestore gsave 0.57869 SLW 0. 0. 0. setrgbcolor
0 setlinecap stroke grestore end
@endspecial 4761 2134
a @beginspecial @setspecial
tx@Dict begin STP newpath 0.8 SLW 1.00 0. 0. setrgbcolor 0. true
3.8 neg 11.69437 neg 411.43053 16.69438 .5 Frame gsave 1.00 0.71 0.76
setrgbcolor fill grestore gsave 0.8 SLW 1.00 0. 0. setrgbcolor 0 setlinecap
stroke grestore end
@endspecial 5792 2157 a
Ff(E)8 b Fg(X)g(T)g(E)g(N)g(S)g(I)g(O)g(N)61 b Ff(X)8
b(Q)e Fg(U)i(E)g(R)q(Y)60 b(W)8 b(I)g(T)g(H)59 b Ff(U)8
b Fg(P)g(D)r(A)l(T)g(E)g(S)61 b Ff(\226)56 b(C)8 b Fg(O)g(N)g(C)g(E)g
(P)g(T)g(S)4707 2833 y Fj(In)39 b(the)g(meantime)f(consensus)g(about)h
(which)f(oper)o(ations)f(is)j(reached.)47 b(Syntax)39
b(is)g(still)g(open.)4821 3133 y Fu(\017)72 b Fj(alw)n(a)l(ys)38
b(wr)6 b(t.)38 b(a)i(conte)l(xt)e(node)4821 3434 y Fu(\017)72
b Fj(base)39 b(oper)o(ations:)5014 3686 y Fi(\226)72
b Fj(delete)38 b Fc(node)5014 3938 y Fi(\226)72 b Fj(rename)38
b Fc(node)k Fj(as)d Fc(name)5014 4190 y Fi(\226)72 b
Fj(inser)6 b(t)38 b Fc(node/nodes)k Fj(bef)l(ore)p Fu(j)p
Fj(after)p Fu(j)p Fj(into)36 b Fc(node)4821 4490 y Fu(\017)72
b Fj(combined)38 b(oper)o(ations:)5014 4742 y Fi(\226)72
b Fj(replace)38 b Fc(node)k Fj(with)d Fc(node)5014 4994
y Fi(\226)72 b Fj(mo)n(v)l(e)39 b Fc(node)j Fj(bef)l(ore)p
Fu(j)p Fj(after)p Fu(j)p Fj(into)36 b Fc(node)10633 5482
y
0 setgray
10633 5482 a 7586 5768 a Fh(270)4500 6000 y
tx@Dict begin -90 Rot end
4500 6000
a eop end
PStoPSsaved restore
userdict/PStoPSsaved save put
PStoPSmatrix setmatrix
595.000000 421.271378 translate
90 rotate
0.706651 dup scale
userdict/PStoPSmatrix matrix currentmatrix put
userdict/PStoPSclip{0 0 moveto
595.000000 0 rlineto 0 842.000000 rlineto -595.000000 0 rlineto
closepath}put initclip
PStoPSxform concat
TeXDict begin 271 55 bop 4500 6000 a
tx@Dict begin 90 Rot end
4500 6000 a 4707
5482 a @beginspecial @setspecial
tx@Dict begin STP newpath 0.57869 SLW 0. 0. 0. setrgbcolor 0.0 false
13.12538 neg 13.12538 neg 426.24008 293.06874 .5 Frame gsave 1. 1.
1. setrgbcolor fill grestore gsave 0.57869 SLW 0. 0. 0. setrgbcolor
0 setlinecap stroke grestore end
@endspecial 4761 2031
a @beginspecial @setspecial
tx@Dict begin STP newpath 0.8 SLW 1.00 0. 0. setrgbcolor 0. true
3.8 neg 3.8 neg 411.43053 31.16426 .5 Frame gsave 1.00 0.71 0.76 setrgbcolor
fill grestore gsave 0.8 SLW 1.00 0. 0. setrgbcolor 0 setlinecap stroke
grestore end
@endspecial 4801 1905 a
Fk(7.1)207 b(XML:DB)57 b(Initiative')-12 b(s)59 b(XUpdate)4821
2310 y Fu(\017)72 b Fj(XML:DB)38 b(Initiativ)l(e)g(f)l(ounded)g(in)i
(late)f(1999)4965 2513 y(Goal:)48 b(interf)l(ace)38 b(f)l(or)h(stor)r
(ing)f(XML)h(in)h(databases)4821 2813 y Fu(\017)72 b
Fj(Lo)n(w-le)l(v)l(el)37 b(API)j(\(J)m(a)m(v)l(a)f(etc.,)g(using)g(DOM)
f(+)i(XP)-6 b(ath)39 b(...\))4821 3114 y Fu(\017)72 b
Fj(an)39 b(update)g(concept:)47 b(XUpdate)4821 3415 y
Fu(\017)72 b Fj(Implementation:)4965 3618 y(dbXML)38
b(Core)h(XML)g(Database)f(released)g(as)h(Open)g(Source)f(softw)n(are)g
(in)i(Sept.)48 b(2000)4965 3821 y(tr)o(ansf)l(erred)37
b(to)i(the)g(Apache)g(Softw)n(are)f(F)l(oundation)f
(\(\223Xindice\224\))4821 4122 y Fu(\017)72 b Fv(http://xmldb-)7
b(org.sour)q(cef)q(org)q(e.ne)q(t/)4965 4325 y Fj(\(inactiv)l(e?\))4821
4626 y Fu(\017)72 b Fj(The)39 b(XML:DB)f(database)g(API)h(is)h
(implemented)d(in)i(se)l(v)l(er)o(al)f(systems:)4965
4829 y(eXist,)g(X-Hiv)l(e)n(,)h(T)-17 b(amino)-6 b(,)38
b(XML:DB)g(Le)l(xus)n(,)g(...)4707 5129 y(...)49 b(b)m(ut)39
b(here)g(w)o(e)g(are)g(mainly)f(interested)g(in)i(XUpdate)e(...)4707
5333 y(\(note)g(that)i(XUpdate)e(\(1999\))g(is)i(not)f(related)f(with)h
(XQuer)t(y)g(\(2001\)\))10633 5482 y
0 setgray
10633 5482 a 7586
5768 a Fh(271)4500 6000 y
tx@Dict begin -90 Rot end
4500 6000 a eop end
PStoPSsaved restore
%%Page: (56,57) 29
userdict/PStoPSsaved save put
PStoPSmatrix setmatrix
595.000000 0.271378 translate
90 rotate
0.706651 dup scale
userdict/PStoPSmatrix matrix currentmatrix put
userdict/PStoPSclip{0 0 moveto
595.000000 0 rlineto 0 842.000000 rlineto -595.000000 0 rlineto
closepath}put initclip
/showpage{}def/copypage{}def/erasepage{}def
PStoPSxform concat
TeXDict begin 272 56 bop 4500 6000 a
tx@Dict begin 90 Rot end
4500 6000 a 4707
5482 a @beginspecial @setspecial
tx@Dict begin STP newpath 0.57869 SLW 0. 0. 0. setrgbcolor 0.0 false
13.12538 neg 13.12538 neg 426.24008 293.06874 .5 Frame gsave 1. 1.
1. setrgbcolor fill grestore gsave 0.57869 SLW 0. 0. 0. setrgbcolor
0 setlinecap stroke grestore end
@endspecial 4761 1701
a @beginspecial @setspecial
tx@Dict begin STP newpath 0.8 SLW 1.00 0. 0. setrgbcolor 0. true
3.8 neg 11.38539 neg 411.43053 16.38539 .5 Frame gsave 1.00 0.71 0.76
setrgbcolor fill grestore gsave 0.8 SLW 1.00 0. 0. setrgbcolor 0 setlinecap
stroke grestore end
@endspecial 6975 1725 a
Ff(X)8 b(M)g(L)g(:)g(D)g(B)61 b(X)8 b(U)g Fg(P)g(D)r(A)l(T)g(E)4707
2278 y Fj(Situation)38 b(in)h(1999:)48 b(XML,)39 b(XP)-6
b(ath,)39 b(XSL)-16 b(T)39 b([see)g(later],)g(lo)n(w-le)l(v)l(el)e
(APIs)4821 2564 y Fu(\017)72 b Fj(Requirement:)5875 2564
y
1. 0. 0. setrgbcolor
5875 2564 a Fj(\223The)39 b(XML)g(Update)f(speci\002cation)f(MUST)i
(be)g(an)h(XML)e(element\224)9616 2564 y
0 setgray
9616 2564 a
4965 2764 a Fj(i.e)n(.,)h(the)g(language)f(is)i(itself)e(in)i(XML)f
(syntax)f(\(lik)m(e)h(XSL)-16 b(T)39 b(and)g(XML)g(Schema\))4821
3050 y Fu(\017)72 b Fj(XUpdate:)47 b(a)40 b(v)l(er)t(y)f(basic)g(descr)
r(iption)f(of)h(update)g(oper)o(ations:)5014 3293 y Fi(\226)72
b Fj(which)38 b(node)h(\(elements)n(,)f(attr)r(ib)m(utes\))5014
3536 y Fi(\226)72 b Fj(which)38 b(oper)o(ation)g(\(delete)n(,)g(update)
h(v)l(alue)n(,)f(append/inser)6 b(t)37 b(to)j(contents\))5014
3779 y Fi(\226)72 b Fj(ne)m(w)39 b(v)l(alue)g(\(in)g(case)g(of)h
(update/append/inser)6 b(t\))4707 4065 y(Basic)38 b(str)r(ucture:)5747
4065 y
0. 0. 1. setrgbcolor
5747 4065 a 4874 4331 a Fp(<)4952 4351 y Fj(xu:modi\002cations)e
(xmlns:xu=)i(\223http://www)-9 b(.xmldb)j(.org/xupdate\224)8687
4331 y Fp(>)5042 4534 y(<)5119 4554 y Fj(xu:)p Fc(oper)o(ation)40
b Fj(select=)e(\223)p Fc(xpath-e)l(xpression)r Fj(\224)7638
4534 y Fp(>)5209 4758 y Fc(contents)g(\(e)n(.g.)49 b(ne)m(w)39
b(v)l(alue\))5042 4941 y Fp(<)5119 4961 y Fj(/xu:)p Fc(oper)o(ation)
5952 4941 y Fp(>)4874 5144 y(<)4952 5164 y Fj(/xu:modi\002cations)6024
5144 y Fp(>)4707 5243 y
0 setgray
4707 5243 a 207 x Fj(...)49 b(submit)38
b(such)h(an)g(element)f(as)i(a)f(kind)g(of)h(a)g(\223message\224)d(to)j
(the)f(DB)g(and)g(get)g(the)h(update)n(.)10633 5482 y
0 setgray
10633 5482 a 7586 5768 a Fh(272)4500 6000 y
tx@Dict begin -90 Rot end
4500 6000
a eop end
PStoPSsaved restore
userdict/PStoPSsaved save put
PStoPSmatrix setmatrix
595.000000 421.271378 translate
90 rotate
0.706651 dup scale
userdict/PStoPSmatrix matrix currentmatrix put
userdict/PStoPSclip{0 0 moveto
595.000000 0 rlineto 0 842.000000 rlineto -595.000000 0 rlineto
closepath}put initclip
PStoPSxform concat
TeXDict begin 273 57 bop 4500 6000 a
tx@Dict begin 90 Rot end
4500 6000 a 4707
5482 a @beginspecial @setspecial
tx@Dict begin STP newpath 0.57869 SLW 0. 0. 0. setrgbcolor 0.0 false
13.12538 neg 13.12538 neg 426.24008 293.06874 .5 Frame gsave 1. 1.
1. setrgbcolor fill grestore gsave 0.57869 SLW 0. 0. 0. setrgbcolor
0 setlinecap stroke grestore end
@endspecial 4761 1630
a @beginspecial @setspecial
tx@Dict begin STP newpath 0.8 SLW 0.80 1. 0.80 setrgbcolor 0. true
3.8 neg 5.95493 neg 411.43053 10.95494 .5 Frame gsave 0.80 1. 0.80
setrgbcolor fill grestore gsave 0.8 SLW 0.80 1. 0.80 setrgbcolor 0
setlinecap stroke grestore end
@endspecial 4801 1631 a
Fj(XUpdate:)47 b(Example)4707 1622 y
0. 0. 1. setrgbcolor
4707 1622 a 4761
2369 a @beginspecial @setspecial
tx@Dict begin STP newpath 0.8 SLW 0. setgray 0. true 3.8 neg 40.17198
neg 411.43053 45.172 .5 Frame gsave 1. setgray fill grestore gsave
0.8 SLW 0. setgray 0 setlinecap stroke grestore end
@endspecial -506 x
Fv()4761 2066 y()4912 2269 y()5062 2472 y(Deu)q(tsch)q(lan)q(d)q(xu:)q(ele)q(men)q(t>)4912
2676 y()4761 2879 y()4707
3074 y
0 setgray
4707 3074 a 39 w Fj([Filename:)47 b(XUpdate/append.xu])4707
3352 y(Calling)38 b(eXist)h(with)g(\(see)g Fv(client.sh)78
b(-h)p Fj(\))4707 3631 y Fv(/bin/gen)p 5316 3631 46 6
v 56 w(client.sh)h(-u)c Fa(user)102 b Fv(-P)76 b Fa(password)103
b Fv(-c)76 b(/db/may)h(-f)f(mondial.xml)j(-X)d(append.xu)4707
3909 y Fj(e)l(x)l(ecutes)37 b(the)i(update)n(.)4821 4209
y Fu(\017)72 b Fv(select=)77 b(")p Fa(xpath)27 b Fv(")40
b Fj(is)g(the)f(same)g(as)g(in)h(XSL)-16 b(T)39 b(\(see)f(later\),)h
(XML)g(Schema)f(etc.)49 b(\226)39 b(a)h(widely)e(used)4965
4412 y(concept)g(in)i(the)f(XML)g(w)o(or)r(ld.)4965 4616
y(\(if)g(m)o(ultiple)f(nodes)h(are)g(addressed,)e(each)i(one)g(is)h
(modi\002ed\))4821 4916 y Fu(\017)4965 4900 y Fp(<)5043
4916 y Fv(xu:element)5793 4900 y Fp(>)5913 4916 y Fj(constr)r(uctor)e
(is)h(the)h(same)e(as)i(in)f(XSL)-16 b(T)39 b(\(1998\))g(and)g(later)g
(in)g(XQuer)t(y')-7 b(s)38 b(RETURN)4965 5119 y(clause)4821
5420 y Fu(\017)72 b Fj(analogously)37 b(inser)6 b(t-bef)l(ore)37
b(and)i(inser)6 b(t-after)-7 b(.)10633 5482 y
0 setgray
10633 5482
a 7586 5768 a Fh(273)4500 6000 y
tx@Dict begin -90 Rot end
4500 6000 a eop end
PStoPSsaved restore
%%Page: (58,59) 30
userdict/PStoPSsaved save put
PStoPSmatrix setmatrix
595.000000 0.271378 translate
90 rotate
0.706651 dup scale
userdict/PStoPSmatrix matrix currentmatrix put
userdict/PStoPSclip{0 0 moveto
595.000000 0 rlineto 0 842.000000 rlineto -595.000000 0 rlineto
closepath}put initclip
/showpage{}def/copypage{}def/erasepage{}def
PStoPSxform concat
TeXDict begin 274 58 bop 4500 6000 a
tx@Dict begin 90 Rot end
4500 6000 a 4707
5482 a @beginspecial @setspecial
tx@Dict begin STP newpath 0.57869 SLW 0. 0. 0. setrgbcolor 0.0 false
13.12538 neg 13.12538 neg 426.24008 293.06874 .5 Frame gsave 1. 1.
1. setrgbcolor fill grestore gsave 0.57869 SLW 0. 0. 0. setrgbcolor
0 setlinecap stroke grestore end
@endspecial 4761 2235
a @beginspecial @setspecial
tx@Dict begin STP newpath 0.8 SLW 0.80 1. 0.80 setrgbcolor 0. true
3.8 neg 6.02748 neg 411.43053 11.02748 .5 Frame gsave 0.80 1. 0.80
setrgbcolor fill grestore gsave 0.8 SLW 0.80 1. 0.80 setrgbcolor 0
setlinecap stroke grestore end
@endspecial 4801 2237 a
Fj(XUpdate:)47 b(Examples)38 b(\(Cont')-7 b(d\))4707
2314 y
0. 0. 1. setrgbcolor
4707 2314 a 4761 2857 a @beginspecial @setspecial
tx@Dict begin STP newpath 0.8 SLW 0. setgray 0. true 3.8 neg 26.01207
neg 411.43053 31.01208 .5 Frame gsave 1. setgray fill grestore gsave
0.8 SLW 0. setgray 0 setlinecap stroke grestore end
@endspecial -303 x Fv()4761
2757 y()4912 2960 y()4761 3164 y()4707
3359 y
0 setgray
4707 3359 a 39 w Fj([Filename:)47 b(XUpdate/remo)n(v)l(e)n(.xu])
4707 3389 y
0. 0. 1. setrgbcolor
4707 3389 a 4761 4135 a @beginspecial @setspecial
tx@Dict begin STP newpath 0.8 SLW 0. setgray 0. true 3.8 neg 40.17198
neg 411.43053 45.172 .5 Frame gsave 1. setgray fill grestore gsave
0.8 SLW 0. setgray 0 setlinecap stroke grestore end
@endspecial -506 x Fv()4761
3833 y()4912 4036 y()5138 4239 y(80000000)4912 4442
y()4761 4645 y()4707 4841
y
0 setgray
4707 4841 a 39 w Fj([Filename:)47 b(XUpdate/update)n(.xu])10633
5482 y
0 setgray
10633 5482 a 7586 5768 a Fh(274)4500 6000 y
tx@Dict begin -90 Rot end
4500
6000 a eop end
PStoPSsaved restore
userdict/PStoPSsaved save put
PStoPSmatrix setmatrix
595.000000 421.271378 translate
90 rotate
0.706651 dup scale
userdict/PStoPSmatrix matrix currentmatrix put
userdict/PStoPSclip{0 0 moveto
595.000000 0 rlineto 0 842.000000 rlineto -595.000000 0 rlineto
closepath}put initclip
PStoPSxform concat
TeXDict begin 275 59 bop 4500 6000 a
tx@Dict begin 90 Rot end
4500 6000 a 4707
5482 a @beginspecial @setspecial
tx@Dict begin STP newpath 0.57869 SLW 0. 0. 0. setrgbcolor 0.0 false
13.12538 neg 13.12538 neg 426.24008 293.06874 .5 Frame gsave 1. 1.
1. setrgbcolor fill grestore gsave 0.57869 SLW 0. 0. 0. setrgbcolor
0 setlinecap stroke grestore end
@endspecial 4761 1624
a @beginspecial @setspecial
tx@Dict begin STP newpath 0.8 SLW 0.80 1. 0.80 setrgbcolor 0. true
3.8 neg 6.02748 neg 411.43053 11.02748 .5 Frame gsave 0.80 1. 0.80
setrgbcolor fill grestore gsave 0.8 SLW 0.80 1. 0.80 setrgbcolor 0
setlinecap stroke grestore end
@endspecial 4801 1626 a
Fj(XUpdate:)47 b(Examples)38 b(\(Cont')-7 b(d\))4821
1868 y Fu(\017)72 b Fj(get)39 b(the)g(ne)m(w)h(v)l(alue)f(from)f(the)i
(database:)4707 1915 y
0. 0. 1. setrgbcolor
4707 1915 a 4761 2640 a @beginspecial
@setspecial
tx@Dict begin STP newpath 0.8 SLW 0. setgray 0. true 3.8 neg 40.17198
neg 411.43053 45.172 .5 Frame gsave 1. setgray fill grestore gsave
0.8 SLW 0. setgray 0 setlinecap stroke grestore end
@endspecial -506 x Fv()4761
2338 y()4912 2541 y()5138 2744 y()4912 2947 y()4761 3150 y()4707
3340 y
0 setgray
4707 3340 a 39 w Fj([Filename:)47 b(XUpdate/update-select.xu])
4707 3597 y(note:)h(the)39 b(inner)79 b Fv(select)j Fj(cannot)38
b(depend)h(on)g(the)g(current)g(node)n(.)4707 3627 y
0. 0. 1. setrgbcolor
4707 3627 a 4761 4556 a @beginspecial @setspecial
tx@Dict begin STP newpath 0.8 SLW 0. setgray 0. true 3.8 neg 54.3319
neg 411.43053 59.33191 .5 Frame gsave 1. setgray fill grestore gsave
0.8 SLW 0. setgray 0 setlinecap stroke grestore end
@endspecial
-709 x Fv()4761 4050 y()4912 4253 y()4912 4659 y()5138 4862 y()4912 5066 y()4761 5269 y
()4707 5458 y
0 setgray
4707 5458 a 39 w Fj([Filename:)47
b(XUpdate/update-v)l(ar)r(iab)m(le)n(.xu])10633 5482
y
0 setgray
10633 5482 a 7586 5768 a Fh(275)4500 6000 y
tx@Dict begin -90 Rot end
4500 6000
a eop end
PStoPSsaved restore
%%Page: (60,61) 31
userdict/PStoPSsaved save put
PStoPSmatrix setmatrix
595.000000 0.271378 translate
90 rotate
0.706651 dup scale
userdict/PStoPSmatrix matrix currentmatrix put
userdict/PStoPSclip{0 0 moveto
595.000000 0 rlineto 0 842.000000 rlineto -595.000000 0 rlineto
closepath}put initclip
/showpage{}def/copypage{}def/erasepage{}def
PStoPSxform concat
TeXDict begin 276 60 bop 4500 6000 a
tx@Dict begin 90 Rot end
4500 6000 a 4707
5482 a @beginspecial @setspecial
tx@Dict begin STP newpath 0.57869 SLW 0. 0. 0. setrgbcolor 0.0 false
13.12538 neg 13.12538 neg 426.24008 293.06874 .5 Frame gsave 1. 1.
1. setrgbcolor fill grestore gsave 0.57869 SLW 0. 0. 0. setrgbcolor
0 setlinecap stroke grestore end
@endspecial 4761 1869
a @beginspecial @setspecial
tx@Dict begin STP newpath 0.8 SLW 1.00 0. 0. setrgbcolor 0. true
3.8 neg 11.48137 neg 411.43053 16.48138 .5 Frame gsave 1.00 0.71 0.76
setrgbcolor fill grestore gsave 0.8 SLW 1.00 0. 0. setrgbcolor 0 setlinecap
stroke grestore end
@endspecial 6121 1895 a
Ff(X)8 b(U)g Fg(P)g(D)r(A)l(T)g(E)g Ff(:)72 b(C)8 b Fg(O)g(N)g(C)g(L)g
(U)g(S)g(I)h(O)g(N)62 b(A)8 b(N)g(D)59 b Ff(C)8 b Fg(O)g(M)g(M)g(E)g(N)
g(T)g(S)4821 2489 y Fu(\017)72 b Fj(XML-syntax)37 b(of)j(the)f
(language)f(strongly)g(in\003uenced)g(b)m(y)h(XSL)-16
b(T)39 b(\(1998\))5014 2741 y Fi(\226)72 b Fj(elements)38
b(as)h(commands)5014 2993 y Fi(\226)72 b Fv(select="...")43
b Fj(selects)c(nodes)f(to)i(which)e(the)i(command)d(is)j(applied)5014
3245 y Fi(\226)72 b Fj(use)39 b(of)g(v)l(ar)r(iab)m(les)g
Fv(select="$)p Fa(variable)30 b Fv(")40 b Fj(as)g(in)f(XSL)-16
b(T)f(,)39 b(and)g(later)g(also)g(in)g(XQuer)t(y)5014
3497 y Fi(\226)72 b Fj(element/command)36 b(contents)i(speci\002es)g
(what)g(is)i(to)f(be)h(done)5014 3749 y Fi(\226)72 b
Fj(element)38 b(gener)o(ation)f(b)m(y)j(liter)o(al)e(XML)h(\(also)f(in)
i(XSL)-16 b(T)39 b(and)g(later)g(XQuer)t(y\))4821 4050
y Fu(\017)72 b Fj(only)39 b(v)l(er)t(y)g(simple)g(functionality)5014
4302 y Fi(\226)72 b Fj(no)39 b(w)n(a)l(y)g(to)g(compute)f(the)h(inner)g
(v)l(alue)n(,)5014 4553 y Fi(\226)72 b Fj(no)39 b(iter)o(ation)f(etc.)
4821 4854 y Fu(\017)72 b Fj(same)38 b(time:)49 b(combination)37
b(with)i(XSL)-16 b(T)39 b(and)g(XUpdate)f(to)i(XUL)e(\(XML)h(Update)
4965 5057 y(Language/Updateg)o(r)o(ams)34 b([Excelon]\):)4965
5260 y(XSL)-16 b(T)39 b(prog)o(r)o(am)e(str)r(uctures)h(+)h(XUpdate)f
(oper)o(ations)n(,)f(applied)i(to)g(\223current)f(node\224)h(of)h(XSL)
-16 b(T)f(.)10633 5482 y
0 setgray
10633 5482 a 7586 5768 a Fh(276)4500
6000 y
tx@Dict begin -90 Rot end
4500 6000 a eop end
PStoPSsaved restore
userdict/PStoPSsaved save put
PStoPSmatrix setmatrix
595.000000 421.271378 translate
90 rotate
0.706651 dup scale
userdict/PStoPSmatrix matrix currentmatrix put
userdict/PStoPSclip{0 0 moveto
595.000000 0 rlineto 0 842.000000 rlineto -595.000000 0 rlineto
closepath}put initclip
PStoPSxform concat
TeXDict begin 277 61 bop 4500 6000 a
tx@Dict begin 90 Rot end
4500 6000 a 4707
5482 a @beginspecial @setspecial
tx@Dict begin STP newpath 0.57869 SLW 0. 0. 0. setrgbcolor 0.0 false
13.12538 neg 13.12538 neg 426.24008 293.06874 .5 Frame gsave 1. 1.
1. setrgbcolor fill grestore gsave 0.57869 SLW 0. 0. 0. setrgbcolor
0 setlinecap stroke grestore end
@endspecial 4761 2477
a @beginspecial @setspecial
tx@Dict begin STP newpath 0.8 SLW 1.00 0. 0. setrgbcolor 0. true
3.8 neg 3.8 neg 411.43053 31.32983 .5 Frame gsave 1.00 0.71 0.76 setrgbcolor
fill grestore gsave 0.8 SLW 1.00 0. 0. setrgbcolor 0 setlinecap stroke
grestore end
@endspecial 4801 2351 a
Fk(7.2)207 b(XQuer)r(y)57 b(with)h(Updates)f(\(2001\))4821
2755 y Fu(\017)72 b Fj(e)l(xtend)38 b(a)5551 2755 y
0. 0. 1. setrgbcolor
5551
2755 a Fc(declar)o(ativ)l(e)f(quer)t(y)i(language)7274
2755 y
0 setgray
7274 2755 a 38 w Fj(with)g(updates)4821 3056 y
Fu(\017)72 b Fj(based)38 b(on)i Fc(v)l(ar)r(iab)m(le)f(bindings)4821
3356 y Fu(\017)72 b Fj(SQL:)39 b(FR)m(OM-WHERE)e(f)l(or)i(selecting)f
(nodes)g(...)4965 3559 y(...)49 b(that)39 b(are)g(then)g(modi\002ed.)
4821 3860 y Fu(\017)72 b Fj(XQuer)t(y:)48 b(FOR-LET)-20
b(-WHERE)36 b(f)l(or)j(selecting)f(nodes)h(...)4965 4063
y(...)49 b(that)39 b(are)g(then)g(modi\002ed.)4821 4364
y Fu(\017)72 b Fj(update)38 b(instead)h(of)g(the)h(retur)t(n-clause)c
(\(cf)l(.)j(SQL:)g(UPD)-6 b(A)-17 b(TE)38 b(vs)n(.)h(SELECT\))4821
4665 y Fu(\017)72 b Fj(XQuer)t(y)38 b(e)l(xpected)g(to)i(reach)e
(recommendation)e(state)j(in)h(2005)f(...)49 b(as)39
b(a)h(quer)t(y)f(language)f(still)4965 4868 y(without)g(updates)n(.)
10633 5482 y
0 setgray
10633 5482 a 7586 5768 a Fh(277)4500 6000
y
tx@Dict begin -90 Rot end
4500 6000 a eop end
PStoPSsaved restore
%%Page: (62,63) 32
userdict/PStoPSsaved save put
PStoPSmatrix setmatrix
595.000000 0.271378 translate
90 rotate
0.706651 dup scale
userdict/PStoPSmatrix matrix currentmatrix put
userdict/PStoPSclip{0 0 moveto
595.000000 0 rlineto 0 842.000000 rlineto -595.000000 0 rlineto
closepath}put initclip
/showpage{}def/copypage{}def/erasepage{}def
PStoPSxform concat
TeXDict begin 278 62 bop 4500 6000 a
tx@Dict begin 90 Rot end
4500 6000 a 4707
5482 a @beginspecial @setspecial
tx@Dict begin STP newpath 0.57869 SLW 0. 0. 0. setrgbcolor 0.0 false
13.12538 neg 13.12538 neg 426.24008 293.06874 .5 Frame gsave 1. 1.
1. setrgbcolor fill grestore gsave 0.57869 SLW 0. 0. 0. setrgbcolor
0 setlinecap stroke grestore end
@endspecial 4761 1705
a @beginspecial @setspecial
tx@Dict begin STP newpath 0.8 SLW 1.00 0. 0. setrgbcolor 0. true
3.8 neg 11.69437 neg 411.43053 16.69438 .5 Frame gsave 1.00 0.71 0.76
setrgbcolor fill grestore gsave 0.8 SLW 1.00 0. 0. setrgbcolor 0 setlinecap
stroke grestore end
@endspecial 6046 1728 a
Ff(X)8 b(Q)e Fg(U)i(E)g(R)q(Y)60 b(W)8 b(I)g(T)g(H)59
b Ff(U)8 b Fg(P)g(D)r(A)l(T)g(E)g(S)61 b Ff(\226)56 b(E)8
b Fg(X)g(A)g(M)g(P)g(L)g(E)g Ff(:)71 b(Q)6 b Fg(U)i(I)g
Ff(P)4821 2119 y Fu(\017)72 b Fj(QuiP:)38 b(the)i(2001/02)e(XQuer)t(y)h
(prototype)f(of)h(Softw)n(are)f(A)l(G)h([D)-6 b(A)39
b(Lehti)g(2001],)4965 2316 y(later)g(integ)o(r)o(ated)e(into)i(the)g(T)
-17 b(amino)38 b(system)g(\(bef)l(ore:)48 b(XQL\).)4821
2588 y Fu(\017)72 b Fj(calling)38 b Fv(quip)77 b(filename.xq)6692
2572 y Fp(>)6845 2588 y Fv(bla.xml)42 b Fj(wr)r(ites)c(the)i
(modi\002ed)e(XML)h(to)g(a)h(\002le)n(.)4707 2635 y
0. 0. 1. setrgbcolor
4707
2635 a 4761 4082 a @beginspecial @setspecial
tx@Dict begin STP newpath 0.8 SLW 0. setgray 0. true 3.8 neg 90.42615
neg 411.43053 95.42615 .5 Frame gsave 1. setgray fill grestore gsave
0.8 SLW 0. setgray 0 setlinecap stroke grestore end
@endspecial
-1227 x Fv(update)4761 3058 y(for)76 b($c)g(in)g(document\("twocountri)
q(es.)q(xml)q("\)//)q(cou)q(ntr)q(y)4761 3261 y(let)g($area)h(:=)f
(string\($c/@area\))4761 3464 y(delete)h($c/@area)4761
3667 y(insert)g({$area})82 b(after)77 b($c/name)4761
3871 y(rename)g($c//city[@id=$c/@cap)q(ita)q(l])82 b(as)76
b(capital)4761 4074 y(replace)i($c/@car_code)h(with)5062
4277 y(attribute)g(code)d({concat\($c/name/text\()q(\),)82
b(":",)76 b(string\($c/@car_code\))q(\)})4761 4480 y(replace)i
($c/population/text\(\))j(with)4987 4683 y($c/population/text\(\))h(*)
75 b(\(1)h(+)g($c/population_growth)82 b(div)76 b(100\))4761
4886 y(insert)h("biggest)h(city")f(into)4987 5089 y
($c//city[population)k(=)76 b(max\(for)i($citypop)f(in)f
($c//city/population/)q(tex)q(t\(\))6945 5293 y(return)i
(int\($citypop\)\)])4707 5502 y
0 setgray
4707 5502 a 39 w Fj([Filename:)47
b(XQuer)t(y/update)n(.quip])10633 5482 y
0 setgray
10633 5482 a
7586 5768 a Fh(278)4500 6000 y
tx@Dict begin -90 Rot end
4500 6000 a eop end
PStoPSsaved restore
userdict/PStoPSsaved save put
PStoPSmatrix setmatrix
595.000000 421.271378 translate
90 rotate
0.706651 dup scale
userdict/PStoPSmatrix matrix currentmatrix put
userdict/PStoPSclip{0 0 moveto
595.000000 0 rlineto 0 842.000000 rlineto -595.000000 0 rlineto
closepath}put initclip
PStoPSxform concat
showpage
PStoPSsaved restore
%%Trailer
userdict /end-hook known{end-hook}if
%%EOF