diff options
Diffstat (limited to 'system/doc/design_principles')
-rw-r--r-- | system/doc/design_principles/clientserver.ps | 199 | ||||
-rw-r--r-- | system/doc/design_principles/dist1.ps | 131 | ||||
-rw-r--r-- | system/doc/design_principles/dist2.ps | 160 | ||||
-rw-r--r-- | system/doc/design_principles/dist3.ps | 148 | ||||
-rw-r--r-- | system/doc/design_principles/dist4.ps | 125 | ||||
-rw-r--r-- | system/doc/design_principles/dist5.ps | 165 | ||||
-rw-r--r-- | system/doc/design_principles/fsm.xml | 13 | ||||
-rw-r--r-- | system/doc/design_principles/inclappls.ps | 808 | ||||
-rw-r--r-- | system/doc/design_principles/sup4.ps | 153 | ||||
-rw-r--r-- | system/doc/design_principles/sup5.ps | 168 | ||||
-rw-r--r-- | system/doc/design_principles/sup6.ps | 163 |
11 files changed, 7 insertions, 2226 deletions
diff --git a/system/doc/design_principles/clientserver.ps b/system/doc/design_principles/clientserver.ps deleted file mode 100644 index 7e4e98152e..0000000000 --- a/system/doc/design_principles/clientserver.ps +++ /dev/null @@ -1,199 +0,0 @@ -%!PS-Adobe-2.0 EPSF-2.0 -%%Title: clientserver.fig -%%Creator: fig2dev Version 3.1 Patchlevel 2 -%%CreationDate: Thu May 15 12:48:28 1997 -%%For: jocke@akvavit (Joakim Greben|,ETX/B/DUP) -%Magnification: 1.00 -%%Orientation: Portrait -%%BoundingBox: 0 0 370 264 -%%Pages: 0 -%%BeginSetup -%%IncludeFeature: *PageSize A4 -%%EndSetup -%%EndComments -/$F2psDict 200 dict def -$F2psDict begin -$F2psDict /mtrx matrix put -/col-1 {0 setgray} bind def -/col0 {0.000 0.000 0.000 srgb} bind def -/col1 {0.000 0.000 1.000 srgb} bind def -/col2 {0.000 1.000 0.000 srgb} bind def -/col3 {0.000 1.000 1.000 srgb} bind def -/col4 {1.000 0.000 0.000 srgb} bind def -/col5 {1.000 0.000 1.000 srgb} bind def -/col6 {1.000 1.000 0.000 srgb} bind def -/col7 {1.000 1.000 1.000 srgb} bind def -/col8 {0.000 0.000 0.560 srgb} bind def -/col9 {0.000 0.000 0.690 srgb} bind def -/col10 {0.000 0.000 0.820 srgb} bind def -/col11 {0.530 0.810 1.000 srgb} bind def -/col12 {0.000 0.560 0.000 srgb} bind def -/col13 {0.000 0.690 0.000 srgb} bind def -/col14 {0.000 0.820 0.000 srgb} bind def -/col15 {0.000 0.560 0.560 srgb} bind def -/col16 {0.000 0.690 0.690 srgb} bind def -/col17 {0.000 0.820 0.820 srgb} bind def -/col18 {0.560 0.000 0.000 srgb} bind def -/col19 {0.690 0.000 0.000 srgb} bind def -/col20 {0.820 0.000 0.000 srgb} bind def -/col21 {0.560 0.000 0.560 srgb} bind def -/col22 {0.690 0.000 0.690 srgb} bind def -/col23 {0.820 0.000 0.820 srgb} bind def -/col24 {0.500 0.190 0.000 srgb} bind def -/col25 {0.630 0.250 0.000 srgb} bind def -/col26 {0.750 0.380 0.000 srgb} bind def -/col27 {1.000 0.500 0.500 srgb} bind def -/col28 {1.000 0.630 0.630 srgb} bind def -/col29 {1.000 0.750 0.750 srgb} bind def -/col30 {1.000 0.880 0.880 srgb} bind def -/col31 {1.000 0.840 0.000 srgb} bind def - -end -save --54.0 272.0 translate -1 -1 scale - -/cp {closepath} bind def -/ef {eofill} bind def -/gr {grestore} bind def -/gs {gsave} bind def -/sa {save} bind def -/rs {restore} bind def -/l {lineto} bind def -/m {moveto} bind def -/rm {rmoveto} bind def -/n {newpath} bind def -/s {stroke} bind def -/sh {show} bind def -/slc {setlinecap} bind def -/slj {setlinejoin} bind def -/slw {setlinewidth} bind def -/srgb {setrgbcolor} bind def -/rot {rotate} bind def -/sc {scale} bind def -/sd {setdash} bind def -/ff {findfont} bind def -/sf {setfont} bind def -/scf {scalefont} bind def -/sw {stringwidth} bind def -/tr {translate} bind def -/tnt {dup dup currentrgbcolor - 4 -2 roll dup 1 exch sub 3 -1 roll mul add - 4 -2 roll dup 1 exch sub 3 -1 roll mul add - 4 -2 roll dup 1 exch sub 3 -1 roll mul add srgb} - bind def -/shd {dup dup currentrgbcolor 4 -2 roll mul 4 -2 roll mul - 4 -2 roll mul srgb} bind def - /DrawEllipse { - /endangle exch def - /startangle exch def - /yrad exch def - /xrad exch def - /y exch def - /x exch def - /savematrix mtrx currentmatrix def - x y tr xrad yrad sc 0 0 1 startangle endangle arc - closepath - savematrix setmatrix - } def - -/$F2psBegin {$F2psDict begin /$F2psEnteredState save def} def -/$F2psEnd {$F2psEnteredState restore end} def -%%EndProlog - -$F2psBegin -10 setmiterlimit -n 0 842 m 0 0 l 595 0 l 595 842 l cp clip - 0.06000 0.06000 sc -7.500 slw -% Ellipse -n 3150 750 404 404 0 360 DrawEllipse gs col-1 s gr - -% Ellipse -n 2175 2025 404 404 0 360 DrawEllipse gs col-1 s gr - -% Ellipse -n 1650 3525 404 404 0 360 DrawEllipse gs col-1 s gr - -% Ellipse -n 5025 2925 404 404 0 360 DrawEllipse gs col-1 s gr - -% Polyline -gs clippath -4496 2422 m 4556 2530 l 4452 2464 l 4563 2581 l 4607 2540 l cp clip -n 3375 1275 m 4575 2550 l gs col-1 s gr gr - -% arrowhead -n 4496 2422 m 4556 2530 l 4452 2464 l 4474 2443 l 4496 2422 l cp gs 0.00 setgray ef gr col-1 s -% Polyline - [66.7] 0 sd -gs clippath -3679 1253 m 3618 1144 l 3722 1212 l 3612 1094 l 3568 1135 l cp clip -n 4725 2325 m 3600 1125 l gs col-1 s gr gr - [] 0 sd -% arrowhead -n 3679 1253 m 3618 1144 l 3722 1212 l 3701 1232 l 3679 1253 l cp gs 0.00 setgray ef gr col-1 s -% Polyline -gs clippath -4143 2853 m 4249 2917 l 4126 2911 l 4281 2958 l 4298 2901 l cp clip -n 2550 2400 m 4275 2925 l gs col-1 s gr gr - -% arrowhead -n 4143 2853 m 4249 2917 l 4126 2911 l 4134 2882 l 4143 2853 l cp gs 0.00 setgray ef gr col-1 s -% Polyline - [66.7] 0 sd -gs clippath -2830 2250 m 2725 2183 l 2849 2193 l 2695 2142 l 2676 2199 l cp clip -n 4275 2700 m 2700 2175 l gs col-1 s gr gr - [] 0 sd -% arrowhead -n 2830 2250 m 2725 2183 l 2849 2193 l 2839 2221 l 2830 2250 l cp gs 0.00 setgray ef gr col-1 s -% Polyline -gs clippath -3976 3131 m 4098 3152 l 3981 3191 l 4142 3179 l 4138 3119 l cp clip -n 2175 3300 m 4125 3150 l gs col-1 s gr gr - -% arrowhead -n 3976 3131 m 4098 3152 l 3981 3191 l 3978 3161 l 3976 3131 l cp gs 0.00 setgray ef gr col-1 s -% Polyline -n 3975 3300 m 3975 3300 l gs col-1 s gr -% Polyline - [66.7] 0 sd -gs clippath -2399 3468 m 2276 3447 l 2394 3408 l 2233 3421 l 2238 3481 l cp clip -n 4050 3300 m 2250 3450 l gs col-1 s gr gr - [] 0 sd -% arrowhead -n 2399 3468 m 2276 3447 l 2394 3408 l 2396 3438 l 2399 3468 l cp gs 0.00 setgray ef gr col-1 s -% Polyline -gs clippath -6903 495 m 7023 525 l 6903 555 l 7065 555 l 7065 495 l cp clip -n 5475 525 m 7050 525 l gs col-1 s gr gr - -% arrowhead -n 6903 495 m 7023 525 l 6903 555 l 6903 525 l 6903 495 l cp gs 0.00 setgray ef gr col-1 s -% Polyline - [66.7] 0 sd -gs clippath -5697 1155 m 5577 1125 l 5697 1095 l 5535 1095 l 5535 1155 l cp clip -n 6975 1125 m 5550 1125 l gs col-1 s gr gr - [] 0 sd -% arrowhead -n 5697 1155 m 5577 1125 l 5697 1095 l 5697 1125 l 5697 1155 l cp gs 0.00 setgray ef gr col-1 s -/Times-Bold ff 210.00 scf sf -5700 3075 m -gs 1 -1 sc (Server) col-1 sh gr -/Times-Bold ff 210.00 scf sf -900 1200 m -gs 1 -1 sc (Clients) col-1 sh gr -/Times-Bold ff 210.00 scf sf -5850 300 m -gs 1 -1 sc (Query) col-1 sh gr -/Times-Bold ff 210.00 scf sf -5850 975 m -gs 1 -1 sc (Reply) col-1 sh gr -/Times-Bold ff 210.00 scf sf -2400 4500 m -gs 1 -1 sc (The Client-server model) col-1 sh gr -$F2psEnd -rs diff --git a/system/doc/design_principles/dist1.ps b/system/doc/design_principles/dist1.ps deleted file mode 100644 index 3b841d2cd4..0000000000 --- a/system/doc/design_principles/dist1.ps +++ /dev/null @@ -1,131 +0,0 @@ -%!PS-Adobe-2.0 EPSF-2.0 -%%Title: dist1.fig -%%Creator: fig2dev Version 3.1 Patchlevel 2 -%%CreationDate: Thu May 15 13:13:44 1997 -%%For: jocke@akvavit (Joakim Greben|,ETX/B/DUP) -%Magnification: 1.00 -%%Orientation: Portrait -%%BoundingBox: 0 0 202 58 -%%Pages: 0 -%%BeginSetup -%%IncludeFeature: *PageSize A4 -%%EndSetup -%%EndComments -/$F2psDict 200 dict def -$F2psDict begin -$F2psDict /mtrx matrix put -/col-1 {0 setgray} bind def -/col0 {0.000 0.000 0.000 srgb} bind def -/col1 {0.000 0.000 1.000 srgb} bind def -/col2 {0.000 1.000 0.000 srgb} bind def -/col3 {0.000 1.000 1.000 srgb} bind def -/col4 {1.000 0.000 0.000 srgb} bind def -/col5 {1.000 0.000 1.000 srgb} bind def -/col6 {1.000 1.000 0.000 srgb} bind def -/col7 {1.000 1.000 1.000 srgb} bind def -/col8 {0.000 0.000 0.560 srgb} bind def -/col9 {0.000 0.000 0.690 srgb} bind def -/col10 {0.000 0.000 0.820 srgb} bind def -/col11 {0.530 0.810 1.000 srgb} bind def -/col12 {0.000 0.560 0.000 srgb} bind def -/col13 {0.000 0.690 0.000 srgb} bind def -/col14 {0.000 0.820 0.000 srgb} bind def -/col15 {0.000 0.560 0.560 srgb} bind def -/col16 {0.000 0.690 0.690 srgb} bind def -/col17 {0.000 0.820 0.820 srgb} bind def -/col18 {0.560 0.000 0.000 srgb} bind def -/col19 {0.690 0.000 0.000 srgb} bind def -/col20 {0.820 0.000 0.000 srgb} bind def -/col21 {0.560 0.000 0.560 srgb} bind def -/col22 {0.690 0.000 0.690 srgb} bind def -/col23 {0.820 0.000 0.820 srgb} bind def -/col24 {0.500 0.190 0.000 srgb} bind def -/col25 {0.630 0.250 0.000 srgb} bind def -/col26 {0.750 0.380 0.000 srgb} bind def -/col27 {1.000 0.500 0.500 srgb} bind def -/col28 {1.000 0.630 0.630 srgb} bind def -/col29 {1.000 0.750 0.750 srgb} bind def -/col30 {1.000 0.880 0.880 srgb} bind def -/col31 {1.000 0.840 0.000 srgb} bind def - -end -save --43.0 92.0 translate -1 -1 scale - -/cp {closepath} bind def -/ef {eofill} bind def -/gr {grestore} bind def -/gs {gsave} bind def -/sa {save} bind def -/rs {restore} bind def -/l {lineto} bind def -/m {moveto} bind def -/rm {rmoveto} bind def -/n {newpath} bind def -/s {stroke} bind def -/sh {show} bind def -/slc {setlinecap} bind def -/slj {setlinejoin} bind def -/slw {setlinewidth} bind def -/srgb {setrgbcolor} bind def -/rot {rotate} bind def -/sc {scale} bind def -/sd {setdash} bind def -/ff {findfont} bind def -/sf {setfont} bind def -/scf {scalefont} bind def -/sw {stringwidth} bind def -/tr {translate} bind def -/tnt {dup dup currentrgbcolor - 4 -2 roll dup 1 exch sub 3 -1 roll mul add - 4 -2 roll dup 1 exch sub 3 -1 roll mul add - 4 -2 roll dup 1 exch sub 3 -1 roll mul add srgb} - bind def -/shd {dup dup currentrgbcolor 4 -2 roll mul 4 -2 roll mul - 4 -2 roll mul srgb} bind def - /DrawEllipse { - /endangle exch def - /startangle exch def - /yrad exch def - /xrad exch def - /y exch def - /x exch def - /savematrix mtrx currentmatrix def - x y tr xrad yrad sc 0 0 1 startangle endangle arc - closepath - savematrix setmatrix - } def - -/$F2psBegin {$F2psDict begin /$F2psEnteredState save def} def -/$F2psEnd {$F2psEnteredState restore end} def -%%EndProlog - -$F2psBegin -10 setmiterlimit -n 0 842 m 0 0 l 595 0 l 595 842 l cp clip - 0.06000 0.06000 sc -7.500 slw -% Ellipse -n 2400 900 318 318 0 360 DrawEllipse gs col-1 s gr - -/Times-Roman ff 180.00 scf sf -2272 945 m -gs 1 -1 sc (cp2) col-1 sh gr -% Ellipse -n 3750 900 318 318 0 360 DrawEllipse gs col-1 s gr - -/Times-Roman ff 180.00 scf sf -3622 945 m -gs 1 -1 sc (cp3) col-1 sh gr -% Ellipse -n 1050 900 318 318 0 360 DrawEllipse gs col-1 s gr - -/Times-Roman ff 180.00 scf sf -922 945 m -gs 1 -1 sc (cp1) col-1 sh gr -/Times-Roman ff 180.00 scf sf -810 1500 m -gs 1 -1 sc (myapp) col-1 sh gr -$F2psEnd -rs diff --git a/system/doc/design_principles/dist2.ps b/system/doc/design_principles/dist2.ps deleted file mode 100644 index 6fe592a4fc..0000000000 --- a/system/doc/design_principles/dist2.ps +++ /dev/null @@ -1,160 +0,0 @@ -%!PS-Adobe-2.0 EPSF-2.0 -%%Title: dist2.fig -%%Creator: fig2dev Version 3.1 Patchlevel 2 -%%CreationDate: Thu May 15 13:13:55 1997 -%%For: jocke@akvavit (Joakim Greben|,ETX/B/DUP) -%Magnification: 1.00 -%%Orientation: Portrait -%%BoundingBox: 0 0 215 233 -%%Pages: 0 -%%BeginSetup -%%IncludeFeature: *PageSize A4 -%%EndSetup -%%EndComments -/$F2psDict 200 dict def -$F2psDict begin -$F2psDict /mtrx matrix put -/col-1 {0 setgray} bind def -/col0 {0.000 0.000 0.000 srgb} bind def -/col1 {0.000 0.000 1.000 srgb} bind def -/col2 {0.000 1.000 0.000 srgb} bind def -/col3 {0.000 1.000 1.000 srgb} bind def -/col4 {1.000 0.000 0.000 srgb} bind def -/col5 {1.000 0.000 1.000 srgb} bind def -/col6 {1.000 1.000 0.000 srgb} bind def -/col7 {1.000 1.000 1.000 srgb} bind def -/col8 {0.000 0.000 0.560 srgb} bind def -/col9 {0.000 0.000 0.690 srgb} bind def -/col10 {0.000 0.000 0.820 srgb} bind def -/col11 {0.530 0.810 1.000 srgb} bind def -/col12 {0.000 0.560 0.000 srgb} bind def -/col13 {0.000 0.690 0.000 srgb} bind def -/col14 {0.000 0.820 0.000 srgb} bind def -/col15 {0.000 0.560 0.560 srgb} bind def -/col16 {0.000 0.690 0.690 srgb} bind def -/col17 {0.000 0.820 0.820 srgb} bind def -/col18 {0.560 0.000 0.000 srgb} bind def -/col19 {0.690 0.000 0.000 srgb} bind def -/col20 {0.820 0.000 0.000 srgb} bind def -/col21 {0.560 0.000 0.560 srgb} bind def -/col22 {0.690 0.000 0.690 srgb} bind def -/col23 {0.820 0.000 0.820 srgb} bind def -/col24 {0.500 0.190 0.000 srgb} bind def -/col25 {0.630 0.250 0.000 srgb} bind def -/col26 {0.750 0.380 0.000 srgb} bind def -/col27 {1.000 0.500 0.500 srgb} bind def -/col28 {1.000 0.630 0.630 srgb} bind def -/col29 {1.000 0.750 0.750 srgb} bind def -/col30 {1.000 0.880 0.880 srgb} bind def -/col31 {1.000 0.840 0.000 srgb} bind def - -end -save --30.0 263.0 translate -1 -1 scale - -/cp {closepath} bind def -/ef {eofill} bind def -/gr {grestore} bind def -/gs {gsave} bind def -/sa {save} bind def -/rs {restore} bind def -/l {lineto} bind def -/m {moveto} bind def -/rm {rmoveto} bind def -/n {newpath} bind def -/s {stroke} bind def -/sh {show} bind def -/slc {setlinecap} bind def -/slj {setlinejoin} bind def -/slw {setlinewidth} bind def -/srgb {setrgbcolor} bind def -/rot {rotate} bind def -/sc {scale} bind def -/sd {setdash} bind def -/ff {findfont} bind def -/sf {setfont} bind def -/scf {scalefont} bind def -/sw {stringwidth} bind def -/tr {translate} bind def -/tnt {dup dup currentrgbcolor - 4 -2 roll dup 1 exch sub 3 -1 roll mul add - 4 -2 roll dup 1 exch sub 3 -1 roll mul add - 4 -2 roll dup 1 exch sub 3 -1 roll mul add srgb} - bind def -/shd {dup dup currentrgbcolor 4 -2 roll mul 4 -2 roll mul - 4 -2 roll mul srgb} bind def - /DrawEllipse { - /endangle exch def - /startangle exch def - /yrad exch def - /xrad exch def - /y exch def - /x exch def - /savematrix mtrx currentmatrix def - x y tr xrad yrad sc 0 0 1 startangle endangle arc - closepath - savematrix setmatrix - } def - -/$F2psBegin {$F2psDict begin /$F2psEnteredState save def} def -/$F2psEnd {$F2psEnteredState restore end} def -%%EndProlog - -$F2psBegin -10 setmiterlimit -n 0 842 m 0 0 l 595 0 l 595 842 l cp clip - 0.06000 0.06000 sc -7.500 slw -% Ellipse -n 1050 900 318 318 0 360 DrawEllipse gs col-1 s gr - -/Times-Roman ff 180.00 scf sf -922 945 m -gs 1 -1 sc (cp1) col-1 sh gr -/Times-Roman ff 180.00 scf sf -810 1500 m -gs 1 -1 sc (myapp) col-1 sh gr -% Ellipse -n 2400 900 318 318 0 360 DrawEllipse gs col-1 s gr - -/Times-Roman ff 180.00 scf sf -2272 945 m -gs 1 -1 sc (cp2) col-1 sh gr -% Ellipse -n 3750 900 318 318 0 360 DrawEllipse gs col-1 s gr - -/Times-Roman ff 180.00 scf sf -3622 945 m -gs 1 -1 sc (cp3) col-1 sh gr -% Ellipse -n 3075 3675 318 318 0 360 DrawEllipse gs col-1 s gr - -/Times-Roman ff 180.00 scf sf -2947 3720 m -gs 1 -1 sc (cp3) col-1 sh gr -% Ellipse -n 1725 3675 318 318 0 360 DrawEllipse gs col-1 s gr - -/Times-Roman ff 180.00 scf sf -1597 3720 m -gs 1 -1 sc (cp2) col-1 sh gr -/Times-Roman ff 180.00 scf sf -1485 4350 m -gs 1 -1 sc (myapp) col-1 sh gr -% Polyline -n 525 1200 m 1500 525 l gs col-1 s gr -% Polyline -n 600 525 m 1575 1350 l gs col-1 s gr -% Polyline -gs clippath -2355 2703 m 2325 2823 l 2295 2703 l 2295 2865 l 2355 2865 l cp clip -n 2325 1725 m 2325 2850 l gs col-1 s gr gr - -% arrowhead -n 2355 2703 m 2325 2823 l 2295 2703 l col-1 s -/Times-Roman ff 180.00 scf sf -2550 2325 m -gs 1 -1 sc (5 secs.) col-1 sh gr -$F2psEnd -rs diff --git a/system/doc/design_principles/dist3.ps b/system/doc/design_principles/dist3.ps deleted file mode 100644 index 3e0e93f5db..0000000000 --- a/system/doc/design_principles/dist3.ps +++ /dev/null @@ -1,148 +0,0 @@ -%!PS-Adobe-2.0 EPSF-2.0 -%%Title: dist3.fig -%%Creator: fig2dev Version 3.1 Patchlevel 2 -%%CreationDate: Thu May 15 13:14:01 1997 -%%For: jocke@akvavit (Joakim Greben|,ETX/B/DUP) -%Magnification: 1.00 -%%Orientation: Portrait -%%BoundingBox: 0 0 134 242 -%%Pages: 0 -%%BeginSetup -%%IncludeFeature: *PageSize A4 -%%EndSetup -%%EndComments -/$F2psDict 200 dict def -$F2psDict begin -$F2psDict /mtrx matrix put -/col-1 {0 setgray} bind def -/col0 {0.000 0.000 0.000 srgb} bind def -/col1 {0.000 0.000 1.000 srgb} bind def -/col2 {0.000 1.000 0.000 srgb} bind def -/col3 {0.000 1.000 1.000 srgb} bind def -/col4 {1.000 0.000 0.000 srgb} bind def -/col5 {1.000 0.000 1.000 srgb} bind def -/col6 {1.000 1.000 0.000 srgb} bind def -/col7 {1.000 1.000 1.000 srgb} bind def -/col8 {0.000 0.000 0.560 srgb} bind def -/col9 {0.000 0.000 0.690 srgb} bind def -/col10 {0.000 0.000 0.820 srgb} bind def -/col11 {0.530 0.810 1.000 srgb} bind def -/col12 {0.000 0.560 0.000 srgb} bind def -/col13 {0.000 0.690 0.000 srgb} bind def -/col14 {0.000 0.820 0.000 srgb} bind def -/col15 {0.000 0.560 0.560 srgb} bind def -/col16 {0.000 0.690 0.690 srgb} bind def -/col17 {0.000 0.820 0.820 srgb} bind def -/col18 {0.560 0.000 0.000 srgb} bind def -/col19 {0.690 0.000 0.000 srgb} bind def -/col20 {0.820 0.000 0.000 srgb} bind def -/col21 {0.560 0.000 0.560 srgb} bind def -/col22 {0.690 0.000 0.690 srgb} bind def -/col23 {0.820 0.000 0.820 srgb} bind def -/col24 {0.500 0.190 0.000 srgb} bind def -/col25 {0.630 0.250 0.000 srgb} bind def -/col26 {0.750 0.380 0.000 srgb} bind def -/col27 {1.000 0.500 0.500 srgb} bind def -/col28 {1.000 0.630 0.630 srgb} bind def -/col29 {1.000 0.750 0.750 srgb} bind def -/col30 {1.000 0.880 0.880 srgb} bind def -/col31 {1.000 0.840 0.000 srgb} bind def - -end -save --75.0 259.0 translate -1 -1 scale - -/cp {closepath} bind def -/ef {eofill} bind def -/gr {grestore} bind def -/gs {gsave} bind def -/sa {save} bind def -/rs {restore} bind def -/l {lineto} bind def -/m {moveto} bind def -/rm {rmoveto} bind def -/n {newpath} bind def -/s {stroke} bind def -/sh {show} bind def -/slc {setlinecap} bind def -/slj {setlinejoin} bind def -/slw {setlinewidth} bind def -/srgb {setrgbcolor} bind def -/rot {rotate} bind def -/sc {scale} bind def -/sd {setdash} bind def -/ff {findfont} bind def -/sf {setfont} bind def -/scf {scalefont} bind def -/sw {stringwidth} bind def -/tr {translate} bind def -/tnt {dup dup currentrgbcolor - 4 -2 roll dup 1 exch sub 3 -1 roll mul add - 4 -2 roll dup 1 exch sub 3 -1 roll mul add - 4 -2 roll dup 1 exch sub 3 -1 roll mul add srgb} - bind def -/shd {dup dup currentrgbcolor 4 -2 roll mul 4 -2 roll mul - 4 -2 roll mul srgb} bind def - /DrawEllipse { - /endangle exch def - /startangle exch def - /yrad exch def - /xrad exch def - /y exch def - /x exch def - /savematrix mtrx currentmatrix def - x y tr xrad yrad sc 0 0 1 startangle endangle arc - closepath - savematrix setmatrix - } def - -/$F2psBegin {$F2psDict begin /$F2psEnteredState save def} def -/$F2psEnd {$F2psEnteredState restore end} def -%%EndProlog - -$F2psBegin -10 setmiterlimit -n 0 842 m 0 0 l 595 0 l 595 842 l cp clip - 0.06000 0.06000 sc -7.500 slw -% Polyline -n 1275 975 m 2250 300 l gs col-1 s gr -% Polyline -n 1350 300 m 2325 1125 l gs col-1 s gr -% Ellipse -n 3150 675 318 318 0 360 DrawEllipse gs col-1 s gr - -/Times-Roman ff 180.00 scf sf -3022 720 m -gs 1 -1 sc (cp3) col-1 sh gr -% Ellipse -n 1800 675 318 318 0 360 DrawEllipse gs col-1 s gr - -/Times-Roman ff 180.00 scf sf -1672 720 m -gs 1 -1 sc (cp2) col-1 sh gr -/Times-Roman ff 180.00 scf sf -1560 1350 m -gs 1 -1 sc (myapp) col-1 sh gr -% Ellipse -n 2325 3600 318 318 0 360 DrawEllipse gs col-1 s gr - -/Times-Roman ff 180.00 scf sf -2197 3645 m -gs 1 -1 sc (cp3) col-1 sh gr -/Times-Roman ff 180.00 scf sf -2085 4275 m -gs 1 -1 sc (myapp) col-1 sh gr -% Polyline -gs clippath -2355 2703 m 2325 2823 l 2295 2703 l 2295 2865 l 2355 2865 l cp clip -n 2325 1725 m 2325 2850 l gs col-1 s gr gr - -% arrowhead -n 2355 2703 m 2325 2823 l 2295 2703 l col-1 s -/Times-Roman ff 180.00 scf sf -2550 2325 m -gs 1 -1 sc (5 secs.) col-1 sh gr -$F2psEnd -rs diff --git a/system/doc/design_principles/dist4.ps b/system/doc/design_principles/dist4.ps deleted file mode 100644 index 9bcf3dd880..0000000000 --- a/system/doc/design_principles/dist4.ps +++ /dev/null @@ -1,125 +0,0 @@ -%!PS-Adobe-2.0 EPSF-2.0 -%%Title: dist4.fig -%%Creator: fig2dev Version 3.1 Patchlevel 2 -%%CreationDate: Thu May 15 13:14:06 1997 -%%For: jocke@akvavit (Joakim Greben|,ETX/B/DUP) -%Magnification: 1.00 -%%Orientation: Portrait -%%BoundingBox: 0 0 121 67 -%%Pages: 0 -%%BeginSetup -%%IncludeFeature: *PageSize A4 -%%EndSetup -%%EndComments -/$F2psDict 200 dict def -$F2psDict begin -$F2psDict /mtrx matrix put -/col-1 {0 setgray} bind def -/col0 {0.000 0.000 0.000 srgb} bind def -/col1 {0.000 0.000 1.000 srgb} bind def -/col2 {0.000 1.000 0.000 srgb} bind def -/col3 {0.000 1.000 1.000 srgb} bind def -/col4 {1.000 0.000 0.000 srgb} bind def -/col5 {1.000 0.000 1.000 srgb} bind def -/col6 {1.000 1.000 0.000 srgb} bind def -/col7 {1.000 1.000 1.000 srgb} bind def -/col8 {0.000 0.000 0.560 srgb} bind def -/col9 {0.000 0.000 0.690 srgb} bind def -/col10 {0.000 0.000 0.820 srgb} bind def -/col11 {0.530 0.810 1.000 srgb} bind def -/col12 {0.000 0.560 0.000 srgb} bind def -/col13 {0.000 0.690 0.000 srgb} bind def -/col14 {0.000 0.820 0.000 srgb} bind def -/col15 {0.000 0.560 0.560 srgb} bind def -/col16 {0.000 0.690 0.690 srgb} bind def -/col17 {0.000 0.820 0.820 srgb} bind def -/col18 {0.560 0.000 0.000 srgb} bind def -/col19 {0.690 0.000 0.000 srgb} bind def -/col20 {0.820 0.000 0.000 srgb} bind def -/col21 {0.560 0.000 0.560 srgb} bind def -/col22 {0.690 0.000 0.690 srgb} bind def -/col23 {0.820 0.000 0.820 srgb} bind def -/col24 {0.500 0.190 0.000 srgb} bind def -/col25 {0.630 0.250 0.000 srgb} bind def -/col26 {0.750 0.380 0.000 srgb} bind def -/col27 {1.000 0.500 0.500 srgb} bind def -/col28 {1.000 0.630 0.630 srgb} bind def -/col29 {1.000 0.750 0.750 srgb} bind def -/col30 {1.000 0.880 0.880 srgb} bind def -/col31 {1.000 0.840 0.000 srgb} bind def - -end -save --88.0 88.0 translate -1 -1 scale - -/cp {closepath} bind def -/ef {eofill} bind def -/gr {grestore} bind def -/gs {gsave} bind def -/sa {save} bind def -/rs {restore} bind def -/l {lineto} bind def -/m {moveto} bind def -/rm {rmoveto} bind def -/n {newpath} bind def -/s {stroke} bind def -/sh {show} bind def -/slc {setlinecap} bind def -/slj {setlinejoin} bind def -/slw {setlinewidth} bind def -/srgb {setrgbcolor} bind def -/rot {rotate} bind def -/sc {scale} bind def -/sd {setdash} bind def -/ff {findfont} bind def -/sf {setfont} bind def -/scf {scalefont} bind def -/sw {stringwidth} bind def -/tr {translate} bind def -/tnt {dup dup currentrgbcolor - 4 -2 roll dup 1 exch sub 3 -1 roll mul add - 4 -2 roll dup 1 exch sub 3 -1 roll mul add - 4 -2 roll dup 1 exch sub 3 -1 roll mul add srgb} - bind def -/shd {dup dup currentrgbcolor 4 -2 roll mul 4 -2 roll mul - 4 -2 roll mul srgb} bind def - /DrawEllipse { - /endangle exch def - /startangle exch def - /yrad exch def - /xrad exch def - /y exch def - /x exch def - /savematrix mtrx currentmatrix def - x y tr xrad yrad sc 0 0 1 startangle endangle arc - closepath - savematrix setmatrix - } def - -/$F2psBegin {$F2psDict begin /$F2psEnteredState save def} def -/$F2psEnd {$F2psEnteredState restore end} def -%%EndProlog - -$F2psBegin -10 setmiterlimit -n 0 842 m 0 0 l 595 0 l 595 842 l cp clip - 0.06000 0.06000 sc -7.500 slw -% Ellipse -n 1800 675 318 318 0 360 DrawEllipse gs col-1 s gr - -/Times-Roman ff 180.00 scf sf -1672 720 m -gs 1 -1 sc (cp2) col-1 sh gr -% Ellipse -n 3150 675 318 318 0 360 DrawEllipse gs col-1 s gr - -/Times-Roman ff 180.00 scf sf -3022 720 m -gs 1 -1 sc (cp3) col-1 sh gr -/Times-Roman ff 180.00 scf sf -2910 1425 m -gs 1 -1 sc (myapp) col-1 sh gr -$F2psEnd -rs diff --git a/system/doc/design_principles/dist5.ps b/system/doc/design_principles/dist5.ps deleted file mode 100644 index daeb56b2b7..0000000000 --- a/system/doc/design_principles/dist5.ps +++ /dev/null @@ -1,165 +0,0 @@ -%!PS-Adobe-2.0 -%%Title: dist5.fig -%%Creator: fig2dev Version 3.1 Patchlevel 2 -%%CreationDate: Mon Feb 15 08:40:37 1999 -%%For: nibe@gundor (Bengt Nilsson, ETX/DN/SP) -%Magnification: 1.00 -%%Orientation: Portrait -%%BoundingBox: 203 286 408 506 -%%Pages: 1 -%%BeginSetup -%%IncludeFeature: *PageSize Letter -%%EndSetup -%%EndComments -/$F2psDict 200 dict def -$F2psDict begin -$F2psDict /mtrx matrix put -/col-1 {0 setgray} bind def -/col0 {0.000 0.000 0.000 srgb} bind def -/col1 {0.000 0.000 1.000 srgb} bind def -/col2 {0.000 1.000 0.000 srgb} bind def -/col3 {0.000 1.000 1.000 srgb} bind def -/col4 {1.000 0.000 0.000 srgb} bind def -/col5 {1.000 0.000 1.000 srgb} bind def -/col6 {1.000 1.000 0.000 srgb} bind def -/col7 {1.000 1.000 1.000 srgb} bind def -/col8 {0.000 0.000 0.560 srgb} bind def -/col9 {0.000 0.000 0.690 srgb} bind def -/col10 {0.000 0.000 0.820 srgb} bind def -/col11 {0.530 0.810 1.000 srgb} bind def -/col12 {0.000 0.560 0.000 srgb} bind def -/col13 {0.000 0.690 0.000 srgb} bind def -/col14 {0.000 0.820 0.000 srgb} bind def -/col15 {0.000 0.560 0.560 srgb} bind def -/col16 {0.000 0.690 0.690 srgb} bind def -/col17 {0.000 0.820 0.820 srgb} bind def -/col18 {0.560 0.000 0.000 srgb} bind def -/col19 {0.690 0.000 0.000 srgb} bind def -/col20 {0.820 0.000 0.000 srgb} bind def -/col21 {0.560 0.000 0.560 srgb} bind def -/col22 {0.690 0.000 0.690 srgb} bind def -/col23 {0.820 0.000 0.820 srgb} bind def -/col24 {0.500 0.190 0.000 srgb} bind def -/col25 {0.630 0.250 0.000 srgb} bind def -/col26 {0.750 0.380 0.000 srgb} bind def -/col27 {1.000 0.500 0.500 srgb} bind def -/col28 {1.000 0.630 0.630 srgb} bind def -/col29 {1.000 0.750 0.750 srgb} bind def -/col30 {1.000 0.880 0.880 srgb} bind def -/col31 {1.000 0.840 0.000 srgb} bind def - -end -save -158.5 527.0 translate -1 -1 scale - -/cp {closepath} bind def -/ef {eofill} bind def -/gr {grestore} bind def -/gs {gsave} bind def -/sa {save} bind def -/rs {restore} bind def -/l {lineto} bind def -/m {moveto} bind def -/rm {rmoveto} bind def -/n {newpath} bind def -/s {stroke} bind def -/sh {show} bind def -/slc {setlinecap} bind def -/slj {setlinejoin} bind def -/slw {setlinewidth} bind def -/srgb {setrgbcolor} bind def -/rot {rotate} bind def -/sc {scale} bind def -/sd {setdash} bind def -/ff {findfont} bind def -/sf {setfont} bind def -/scf {scalefont} bind def -/sw {stringwidth} bind def -/tr {translate} bind def -/tnt {dup dup currentrgbcolor - 4 -2 roll dup 1 exch sub 3 -1 roll mul add - 4 -2 roll dup 1 exch sub 3 -1 roll mul add - 4 -2 roll dup 1 exch sub 3 -1 roll mul add srgb} - bind def -/shd {dup dup currentrgbcolor 4 -2 roll mul 4 -2 roll mul - 4 -2 roll mul srgb} bind def - /DrawEllipse { - /endangle exch def - /startangle exch def - /yrad exch def - /xrad exch def - /y exch def - /x exch def - /savematrix mtrx currentmatrix def - x y tr xrad yrad sc 0 0 1 startangle endangle arc - closepath - savematrix setmatrix - } def - -/$F2psBegin {$F2psDict begin /$F2psEnteredState save def} def -/$F2psEnd {$F2psEnteredState restore end} def -%%EndProlog - -$F2psBegin -10 setmiterlimit -n 0 792 m 0 0 l 612 0 l 612 792 l cp clip - 0.06000 0.06000 sc -%%Page: 1 1 -7.500 slw -% Ellipse -n 2475 3375 318 318 0 360 DrawEllipse gs col-1 s gr - -/Times-Roman ff 180.00 scf sf -2347 3420 m -gs 1 -1 sc (cp2) col-1 sh gr -% Ellipse -n 3825 3375 318 318 0 360 DrawEllipse gs col-1 s gr - -/Times-Roman ff 180.00 scf sf -3697 3420 m -gs 1 -1 sc (cp3) col-1 sh gr -% Ellipse -n 1125 3375 318 318 0 360 DrawEllipse gs col-1 s gr - -/Times-Roman ff 180.00 scf sf -997 3420 m -gs 1 -1 sc (cp1) col-1 sh gr -/Times-Roman ff 180.00 scf sf -885 3975 m -gs 1 -1 sc (myapp) col-1 sh gr -% Ellipse -n 2475 675 318 318 0 360 DrawEllipse gs col-1 s gr - -/Times-Roman ff 180.00 scf sf -2347 720 m -gs 1 -1 sc (cp2) col-1 sh gr -% Ellipse -n 3825 675 318 318 0 360 DrawEllipse gs col-1 s gr - -/Times-Roman ff 180.00 scf sf -3697 720 m -gs 1 -1 sc (cp3) col-1 sh gr -/Times-Roman ff 180.00 scf sf -3585 1350 m -gs 1 -1 sc (myapp) col-1 sh gr -% Polyline -gs clippath -1559 2857 m 1446 2908 l 1521 2810 l 1395 2911 l 1432 2958 l cp clip -n 2175 2325 m 1425 2925 l gs col-1 s gr gr - -% arrowhead -n 1559 2857 m 1446 2908 l 1521 2810 l col-1 s -% Polyline -gs clippath -2912 1888 m 2796 1934 l 2876 1839 l 2745 1935 l 2781 1983 l cp clip -n 3600 1350 m 2775 1950 l gs col-1 s gr gr - -% arrowhead -n 2912 1888 m 2796 1934 l 2876 1839 l col-1 s -/Times-Roman ff 180.00 scf sf -750 2175 m -gs 1 -1 sc (cp1: application:takeover\(myapp, permanent\)) col-1 sh gr -showpage -$F2psEnd -rs diff --git a/system/doc/design_principles/fsm.xml b/system/doc/design_principles/fsm.xml index edb2e20605..7decbb48cd 100644 --- a/system/doc/design_principles/fsm.xml +++ b/system/doc/design_principles/fsm.xml @@ -75,7 +75,7 @@ StateName(Event, StateData) -> -export([init/1, locked/2, open/2]). start_link(Code) -> - gen_fsm:start_link({local, code_lock}, code_lock, Code, []). + gen_fsm:start_link({local, code_lock}, code_lock, lists:reverse(Code, []). button(Digit) -> gen_fsm:send_event(code_lock, {button, Digit}). @@ -87,7 +87,7 @@ locked({button, Digit}, {SoFar, Code}) -> case [Digit|SoFar] of Code -> do_unlock(), - {next_state, open, {[], Code}, 3000}; + {next_state, open, {[], Code}, 30000}; Incomplete when length(Incomplete)<length(Code) -> {next_state, locked, {Incomplete, Code}}; _Wrong -> @@ -106,7 +106,8 @@ open(timeout, State) -> calling <c>code_lock:start_link(Code)</c>:</p> <code type="none"> start_link(Code) -> - gen_fsm:start_link({local, code_lock}, code_lock, Code, []).</code> + gen_fsm:start_link({local, code_lock}, code_lock, lists:reverse(Code), []). + </code> <p><c>start_link</c> calls the function <c>gen_fsm:start_link/4</c>. This function spawns and links to a new process, a gen_fsm.</p> <list type="bulleted"> @@ -130,8 +131,8 @@ start_link(Code) -> corresponding to one process contained in one module.</p> </item> <item> - <p>The third argument, <c>Code</c>, is a term which is passed - as-is to the callback function <c>init</c>. Here, <c>init</c> + <p>The third argument, <c>Code</c>, is a list of digits which is passed + reversed to the callback function <c>init</c>. Here, <c>init</c> gets the correct code for the lock as indata.</p> </item> <item> @@ -203,7 +204,7 @@ open(timeout, State) -> <section> <title>Timeouts</title> - <p>When a correct code has been givened, the door is unlocked and + <p>When a correct code has been given, the door is unlocked and the following tuple is returned from <c>locked/2</c>:</p> <code type="none"> {next_state, open, {[], Code}, 30000};</code> diff --git a/system/doc/design_principles/inclappls.ps b/system/doc/design_principles/inclappls.ps deleted file mode 100644 index 239be1b3b3..0000000000 --- a/system/doc/design_principles/inclappls.ps +++ /dev/null @@ -1,808 +0,0 @@ -%!PS-Adobe-3.0 EPSF-3.0 -%%Creator: (ImageMagick) -%%Title: (./inclappls.tmp.eps) -%%CreationDate: (Tue Jun 12 17:22:15 2001) -%%BoundingBox: 0 20 377 197 -%%DocumentData: Clean7Bit -%%LanguageLevel: 1 -%%Pages: 0 -%%EndComments - -%%BeginDefaults -%%PageOrientation: Portrait -%%EndDefaults - -%%BeginProlog -% -% Display a color image. The image is displayed in color on -% Postscript viewers or printers that support color, otherwise -% it is displayed as grayscale. -% -/buffer 512 string def -/byte 1 string def -/color_packet 3 string def -/pixels 768 string def - -/DirectClassPacket -{ - % - % Get a DirectClass packet. - % - % Parameters: - % red. - % green. - % blue. - % length: number of pixels minus one of this color (optional). - % - currentfile color_packet readhexstring pop pop - compression 0 gt - { - /number_pixels 3 def - } - { - currentfile byte readhexstring pop 0 get - /number_pixels exch 1 add 3 mul def - } ifelse - 0 3 number_pixels 1 sub - { - pixels exch color_packet putinterval - } for - pixels 0 number_pixels getinterval -} bind def - -/DirectClassImage -{ - % - % Display a DirectClass image. - % - systemdict /colorimage known - { - columns rows 8 - [ - columns 0 0 - rows neg 0 rows - ] - { DirectClassPacket } false 3 colorimage - } - { - % - % No colorimage operator; convert to grayscale. - % - columns rows 8 - [ - columns 0 0 - rows neg 0 rows - ] - { GrayDirectClassPacket } image - } ifelse -} bind def - -/GrayDirectClassPacket -{ - % - % Get a DirectClass packet; convert to grayscale. - % - % Parameters: - % red - % green - % blue - % length: number of pixels minus one of this color (optional). - % - currentfile color_packet readhexstring pop pop - color_packet 0 get 0.299 mul - color_packet 1 get 0.587 mul add - color_packet 2 get 0.114 mul add - cvi - /gray_packet exch def - compression 0 gt - { - /number_pixels 1 def - } - { - currentfile byte readhexstring pop 0 get - /number_pixels exch 1 add def - } ifelse - 0 1 number_pixels 1 sub - { - pixels exch gray_packet put - } for - pixels 0 number_pixels getinterval -} bind def - -/GrayPseudoClassPacket -{ - % - % Get a PseudoClass packet; convert to grayscale. - % - % Parameters: - % index: index into the colormap. - % length: number of pixels minus one of this color (optional). - % - currentfile byte readhexstring pop 0 get - /offset exch 3 mul def - /color_packet colormap offset 3 getinterval def - color_packet 0 get 0.299 mul - color_packet 1 get 0.587 mul add - color_packet 2 get 0.114 mul add - cvi - /gray_packet exch def - compression 0 gt - { - /number_pixels 1 def - } - { - currentfile byte readhexstring pop 0 get - /number_pixels exch 1 add def - } ifelse - 0 1 number_pixels 1 sub - { - pixels exch gray_packet put - } for - pixels 0 number_pixels getinterval -} bind def - -/PseudoClassPacket -{ - % - % Get a PseudoClass packet. - % - % Parameters: - % index: index into the colormap. - % length: number of pixels minus one of this color (optional). - % - currentfile byte readhexstring pop 0 get - /offset exch 3 mul def - /color_packet colormap offset 3 getinterval def - compression 0 gt - { - /number_pixels 3 def - } - { - currentfile byte readhexstring pop 0 get - /number_pixels exch 1 add 3 mul def - } ifelse - 0 3 number_pixels 1 sub - { - pixels exch color_packet putinterval - } for - pixels 0 number_pixels getinterval -} bind def - -/PseudoClassImage -{ - % - % Display a PseudoClass image. - % - % Parameters: - % class: 0-PseudoClass or 1-Grayscale. - % - currentfile buffer readline pop - token pop /class exch def pop - class 0 gt - { - currentfile buffer readline pop - token pop /depth exch def pop - /grays columns 8 add depth sub depth mul 8 idiv string def - columns rows depth - [ - columns 0 0 - rows neg 0 rows - ] - { currentfile grays readhexstring pop } image - } - { - % - % Parameters: - % colors: number of colors in the colormap. - % colormap: red, green, blue color packets. - % - currentfile buffer readline pop - token pop /colors exch def pop - /colors colors 3 mul def - /colormap colors string def - currentfile colormap readhexstring pop pop - systemdict /colorimage known - { - columns rows 8 - [ - columns 0 0 - rows neg 0 rows - ] - { PseudoClassPacket } false 3 colorimage - } - { - % - % No colorimage operator; convert to grayscale. - % - columns rows 8 - [ - columns 0 0 - rows neg 0 rows - ] - { GrayPseudoClassPacket } image - } ifelse - } ifelse -} bind def - -/DisplayImage -{ - % - % Display a DirectClass or PseudoClass image. - % - % Parameters: - % x & y translation. - % x & y scale. - % label pointsize. - % image label. - % image columns & rows. - % class: 0-DirectClass or 1-PseudoClass. - % compression: 0-RunlengthEncodedCompression or 1-NoCompression. - % hex color packets. - % - gsave - currentfile buffer readline pop - token pop /x exch def - token pop /y exch def pop - x y translate - currentfile buffer readline pop - token pop /x exch def - token pop /y exch def pop - currentfile buffer readline pop - token pop /pointsize exch def pop - /Helvetica findfont pointsize scalefont setfont - x y scale - currentfile buffer readline pop - token pop /columns exch def - token pop /rows exch def pop - currentfile buffer readline pop - token pop /class exch def pop - currentfile buffer readline pop - token pop /compression exch def pop - class 0 gt { PseudoClassImage } { DirectClassImage } ifelse - grestore -} bind def -%%EndProlog -%%Page: 1 1 -%%PageBoundingBox: 0 20 377 197 -userdict begin -%%BeginData: -DisplayImage -0 20 -377.000000 177.000000 -12 -566 266 -1 -1 -1 -1 -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffcff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffcffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffcffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffcffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffcffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffcffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -fffffffffffffffffffffffffffffffffffffffffffffffffffffffffcffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -fffffffffffffffffffffffffffffffffffffffffffffffffffffffcffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -fffffffffffffffffffffffffffffffffffffffffffffffffffffcffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -fffffffffffffffffffffffffffffffffffffffffffffffffffcffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -fffffffffffffffffffffffffffffffffffffffffffffffffcffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -fffffffffffffffffffffffffffffffffffffffffffffffcffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -fffffffffffffffffffffffffffffffffffffffffffffcffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -fffffffffffffffffffffffffffffffffffffffffffcffffffffffffffffffffffffffff -fffffffffffff000ffffffffffffffffffffffffffffffffffffffffffffffffffffffff -fffffffffffffffffffffffffffffffffffffffffcffffffffffffffffffffffffffffff -ffffffffff0fff0fffffffffffffffffffffffffffffffffffffffffffffffffffffffff -fffffffffffffffffffffffffffffffffffffffcffffffffffffffffffffffffffffffff -fffffff8fffff1ffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -fffffffffffffffffffffffffffffffffffffcffffffffffffffffffffffffffffffffff -ffffe7fffffe7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -fffffffffffffffffffffffffffffffffffcffffffffffffffffffffffffffffffffffff -ff9fffffff9fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -fffffffffffffffffffffffffffffffffcfffffffffffffffffffffffffffffffffffffe -7fffffffe7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -fffffffffffffffffffffffffffffffcfffffffffffffffffffffffffffffffffffffdff -fffffffbffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -fffffffffffffffffffffffffffffcfffffffffffffffffffffffffffffffffffff3ffff -fffffcffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -fffffffffffffffffffffffffffcffffffffffffffffffffffffffffffffffffefffffff -ffff7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -fffffffffffffffffffffffffcffffffffffffffffffffffffffffffffffffdfffffffff -ffbfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -fffffffffffffffffffffffcffffffffffffffffffffffffffffffffffffbfffffffffff -dfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -fffffffffffffffffffffcffffffffffffffffffffffffffffffffffff7fffffffffffef -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -fffffffffffffffffffcfffffffffffffffffffffffffffffffffffefffffffffffff7ff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -fffffffffffffffffcfffffffffffffffffffffffffffffffffffdfffffffffffffbffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -fffffffffffffffcfffffffffffffffffffffffffffffffffffbfffffffffffffdffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -fffffffffffffcfffffffffffffffffffffffffffffffffffbfffffffffffffdffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -fffffffffffcfffffffffffffffffffffffffffffffffff7fffffffffffffeffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -fffffffffcffffffffffffffffffffffffffffffffffefffffffffffffff7fffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -fffffffcffffffffffffffffffffffffffffffffffefffffffffffffff7fffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -fffffcffffffffffffffffffffffffffffffffffdfffffffffffffffbfffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -fffcffffffffffffffffffffffffffffffffffdfffffffffffffffbfffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -fcffffffffffffffffffffffffffffffffffbfffffffffffffffdfffffffffffffffffff -fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc -ffffffffffffffffffffffffffffffffffbfffffffffffffffdfffffffffffffffffffff -fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffcff -ffffffffffffffffffffffffffffffff7fffffffffffffffefffffffffffffffffffffff -fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffcffff -ffffffffffffffffffffffffffffff7fffffffffffffffefffffffffffffffffffffffff -fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffcffffff -ffffffffffffffffffffffffffff7fffffffffffffffefffffffffffffffffffffffffff -fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffcffffffff -fffffffffffffffffffffffffefffffffffffffffff7ffffffffffffffffffffffffffff -fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffcffffffffff -fffffffffffffffffffffffefffffffffffffffff7ffffffffffffffffffffffffffffff -fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffcffffffffffff -fffffffffffffffffffffefffffffffffffffff7ffffffffffffffffffffffffffffffff -fffffffffffffffffffffffffffffffffffffffffffffffffffffffffcffffffffffffff -fffffffffffffffffffefffffffffffffffff7ffffffffffffffffffffffffffffffffff -fffffffffffffffffffffffffffffffffffffffffffffffffffffffcffffffffffffffff -fffffffffffffffffdfffffffffffffffffbffff01fe7ffffffffffffffc4fffff3fffff -fffffffffffffffffffffffffffffffffffffffffffffffffffffcffffffffffffffffff -fffffffffffffffdfffffffffffffffffbffff9cfe7ffffffffffffffe4ffffb3fffffff -fffffffffffffffffffffffffffffffffffffffffffffffffffcffffffffffffffffffff -fffffffffffffdfffffffffffffffffbffff9cfffffffffffffffffe7ffff3ffffffffff -fffffffffffffffffffffffffffffffffffffffffffffffffcffffffffffffffffffffff -fffffffffffdfffffffffffffffffbffff9c9062230c813f0c8c8e0f086038623fffffff -fffffffffffffffffffffffffffffffffffffffffffffffcffffffffffffffffffffffff -fffffffffdfffffffffffffffffbffff9cc871126649be6666664e433333313fffffffff -fffffffffffffffffffffffffffffffffffffffffffffcffffffffffffffffffffffffff -fffffffdfffffffffffffffffbffff81ce73326679be6666664e733333333fffffffffff -fffffffffffffffffffffffffffffffffffffffffffcffffffffffffffffffffffffffff -fffffdfffffffffffffffffbffff9fce7333867d7f8666664e7c3333333fffffffffffff -fffffffffffffffffffffffffffffffffffffffffcffffffffffffffffffffffffffffff -fffdfffffffffffffffffbffff9fce7332667c7e6666664e733333333fffffffffffffff -fffffffffffffffffffffffffffffffffffffffcffffffffffffffffffffffffffffffff -fdfffffffffffffffffbffff9fce7332667c7e6626264e233233333fffffffffffffffff -fffffffffffffffffffffffffffffffffffffcfffffffffffffffffffffffffffffffffd -fffffffffffffffffbffff0f842110103efe124e4c07109018611fffffffffffffffffff -fffffffffffffffffffffffffffffffffffcfffffffffffffffffffffffffffffffffdff -fffffffffffffffbfffffffffffffffefffe7e7fffffffffffffffffffffffffffffffff -fffffffffffffffffffffffffffffffffcfffffffffffffffffffffffffffffffffdffff -fffffffffffffbfffffffffffffff2fffe7e7fffffffffffffffffffffffffffffffffff -fffffffffffffffffffffffffffffffcfffffffffffffffffffffffffffffffffeffffff -fffffffffff7fffffffffffffff1fffc3c3fffffffffffffffffffffffffffffffffffff -fffffffffffffffffffffffffffffcfffffffffffffffffffffffffffffffffeffffffff -fffffffff7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -fffffffffffffffffffffffffffcfffffffffffffffffffffffffffffffffeffffffffff -fffffff7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -fffffffffffffffffffffffffcfffffffffffffffffffffffffffffffffeffffffffffff -fffff7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -fffffffffffffffffffffffcffffffffffffffffffffffffffffffffff7fffffffffffff -ffe9ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -fffffffffffffffffffffcffffffffffffffffffffffffffffffffff7fffffffffffffff -ee7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -fffffffffffffffffffcffffffffffffffffffffffffffffffffff7fffffffffffffffef -9fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -fffffffffffffffffcffffffffffffffffffffffffffffffffffbfffffffffffffffdfe7 -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -fffffffffffffffcffffffffffffffffffffffffffffffffffbfffffffffffffffdffbff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -fffffffffffffcffffffffffffffffffffffffffffffffffdfffffffffffffffbffcffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -fffffffffffcffffffffffffffffffffffffffffffffffdfffffffffffffffbfff3fffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -fffffffffcffffffffffffffffffffffffffffffffffefffffffffffffff7fffcfffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -fffffffcffffffffffffffffffffffffffffffffffefffffffffffffff7ffff3ffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -fffffcffffffffffffffffffffffffffffffffffe7fffffffffffffefffffcffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -fffcffffffffffffffffffffffffffffffffff9bfffffffffffffdffffff7fffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -fcffffffffffffffffffffffffffffffffff7bfffffffffffffdffffff9fffffffffffff -fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc -fffffffffffffffffffffffffffffffffefdfffffffffffffbffffffe7ffffffffffffff -fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffcff -fffffffffffffffffffffffffffffff9fefffffffffffff7fffffff9ffffffffffffffff -fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffcffff -fffffffffffffffffffffffffffff7ff7fffffffffffeefffffffe7fffffffffffffffff -fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffcffffff -ffffffffffffffffffffffffffcfffbfffffffffffdf7fffffffbfffffffffffffffffff -fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffcffffffff -ffffffffffffffffffffffffbfffdfffffffffffbfbfffffffcfffffffffffffffffffff -fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffcffffffffff -fffffffffffffffffffffe7fffefffffffffff7fdffffffff3ffffffffffffffffffffff -fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffcffffffffffff -fffffffffffffffffffdfffff3fffffffffcffeffffffffcffffffffffffffffffffffff -fffffffffffffffffffffffffffffffffffffffffffffffffffffffffcffffffffffffff -fffffffffffffffffbfffffdfffffffffbfff7ffffffff3fffffffffffffffffffffffff -fffffffffffffffffffffffffffffffffffffffffffffffffffffffcffffffffffffffff -ffffffffffffffe7fffffe7fffffffe7fffbffffffffdfffffffffffffffffffffffffff -fffffffffffffffffffffffffffffffffffffffffffffffffffffcffffffffffffffffff -ffffffffffffdfffffff9fffffff9ffffdffffffffe7ffffffffffffffffffffffffffff -fffffffffffffffffffffffffffffffffffffffffffffffffffcffffffffffffffffffff -ffffffffff3fffffffe7fffffe7ffffefffffffff9ffffffffffffffffffffffffffffff -fffffffffffffffffffffffffffffffffffffffffffffffffcffffffffffffffffffffff -fffffffefffffffff8fffff1ffffff7ffffffffe7fffffffffffffffffffffffffffffff -fffffffffffffffffffffffffffffffffffffffffffffffcffffffffffffffffffffffff -fffffdffffffffdf0fff0fffffffbfffffffff9fffffffffffffffffffffffffffffffff -fffffffffffffffffffffffffffffffffffffffffffffcffffffffffffffffffffffffff -fff3ffffffffbff000efffffffdfffffffffe7ffffffffffffffffffffffffffffffffff -fffffffffffffffffffffffffffffffffffffffffffcffffffffffffffffffffffffffff -efffffffffbfffffefffffffeffffffffffbffffffffffffffffffffffffffffffffffff -fffffffffffffffffffffffffffffffffffffffffcffffffffffffffffffffffffffff9f -ffffffff7ffffff7fffffff7fffffffffcffffffffffffffffffffffffffffffffffffff -fffffffffffffffffffffffffffffffffffffffcffffffffffffffffffffffffffff7fff -fffffefffffff7fffffffbffffffffff3fffffffffffffffffffffffffffffffffffffff -fffffffffffffffffffffffffffffffffffffcfffffffffffffffffffffffffffcffffff -fffdfffffff7fffffffdffffffffffcfffffffffffffffffffffffffffffffffffffffff -fffffffffffffffffffffffffffffffffffcfffffffffffffffffffffffffffbffffffff -fdfffffff7fffffffefffffffffff3ffffffffffffffffffffffffffffffffffffffffff -fffffffffffffffffffffffffffffffffcfffffffffffffffffffffffffff7fffffffffb -fffffffbffffffff7ffffffffffdffffffffffffffffffffffffffffffffffffffffffff -fffffffffffffffffffffffffffffffcffffffffffffffffffffffffffcffffffffff7ff -fffffbffffffffbffffffffffe7fffffffffffffffffffffffffffffffffffffffffffff -fffffffffffffffffffffffffffffcffffffffffffffffffffffffffbfffffffffefffff -fffbffffffffdfffffffffff9fffffffffffffffffffffffffffffffffffffffffffffff -fffffffffffffffffffffffffffcfffffffffffffffffffffffffe7fffffffffefffffff -fbffffffffefffffffffffe7ffffffffffffffffffffffffffffffffffffffffffffffff -fffffffffffffffffffffffffcfffffffffffffffffffffffffdffffffffffdffffffffb -fffffffff7fffffffffff9ffffffffffffffffffffffffffffffffffffffffffffffffff -fffffffffffffffffffffffcfffffffffffffffffffffffffbffffffffffbffffffffdff -fffffffbfffffffffffeffffffffffffffffffffffffffffffffffffffffffffffffffff -fffffffffffffffffffffcffffffffffffffffffffffffe7ffffffffff7ffffffffdffff -fffffdffffffffffff3fffffffffffffffffffffffffffffffffffffffffffffffffffff -fffffffffffffffffffcffffffffffffffffffffffffdfffffffffff7ffffffffdffffff -fffeffffffffffffcfffffffffffffffffffffffffffffffffffffffffffffffffffffff -fffffffffffffffffcffffffffffffffffffffffff3ffffffffffefffffffffdffffffff -ff7ffffffffffff3ffffffffffffffffffffffffffffffffffffffffffffffffffffffff -fffffffffffffffcfffffffffffffffffffffffefffffffffffdfffffffffeffffffffff -bffffffffffffcffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -fffffffffffffcfffffffffffffffffffffff9fffffffffffbfffffffffeffffffffffdf -ffffffffffff3fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -fffffffffffcfffffffffffffffffffffff7fffffffffffbfffffffffeffffffffffefff -ffffffffffdfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -fffffffffcffffffffffffffffffffffeffffffffffff7fffffffffefffffffffff7ffff -ffffffffe7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -fffffffcffffffffffffffffffffff9fffffffffffeffffffffffefffffffffffbffffff -fffffff9ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -fffffcffffffffffffffffffffff7fffffffffffdfffffffffff7ffffffffffdffffffff -fffffe7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -fffcfffffffffffffffffffffcffffffffffffdfffffffffff7ffffffffffeffffffffff -ffff9fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -fcfffffffffffffffffffffbffffffffffffbfffffffffff7fffffffffff7fffffffffff -ffeffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc -fffffffffffffffffffff7ffffffffffff7fffffffffff7fffffffffffbfffffffffffff -f3fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffcff -ffffffffffffffffffcffffffffffffeffffffffffffbfffffffffffdffffffffffffffc -fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffcffff -ffffffffffffffffbffffffffffffeffffffffffffbfffffffffffefffffffffffffff3f -fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffcffffff -fffffffffffffe7ffffffffffffdffffffffffffbffffffffffff7ffffffffffffffcfff -fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffcffffffff -fffffffffffdfffffffffffffbffffffffffffbffffffffffffbfffffffffffffff7ffff -fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffcffffffffff -fffffffff3fffffffffffff7ffffffffffffbffffffffffffdfffffffffffffff9ffffff -fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffcffffffffffff -ffffffeffffffffffffff7ffffffffffffdffffffffffffefffffffffffffffe7fffffff -fffffffffffffffffffffffffffffffffffffffffffffffffffffffffcffffffffffffff -ffffdfffffffffffffefffffffffffffdfffffffffffff7fffffffffffffff9fffffffff -fffffffffffffffffffffffffffffffffffffffffffffffffffffffcffffffffffffffff -ff3fffffffffffffdfffffffffffffdfffffffffffffbfffffffffffffffe7ffffffffff -fffffffffffffffffffffffffffffffffffffffffffffffffffffcfffffffffffffffffe -ffffffffffffffbfffffffffffffdfffffffffffffdffffffffffffffff9ffffffffffff -fffffffffffffffffffffffffffffffffffffffffffffffffffcfffffffffffffffff9ff -ffffffffffffbfffffffffffffefffffffffffffeffffffffffffffffeffffffffffffff -fffffffffffffffffffffffffffffffffffffffffffffffffcfffffffffffffffff7ffff -ffffffffff7fffffffffffffeffffffffffffff7ffffffffffffffff3fffffffffffffff -fffffffffffffffffffffffffffffffffffffffffffffffcffffffffffffffffefffffff -fffffffeffffffffffffffeffffffffffffffbffffffffffffffffcfffffffffffffffff -fffffffffffffffffffffffffffffffffffffffffffffcffffffffffffffff9fffffffff -fffffdffffffffffffffeffffffffffffffdfffffffffffffffff3ffffffffffffffffff -fffffffffffffffffffffffffffffffffffffffffffcffffffffffffffff7fffffffffff -fffdffffffffffffffeffffffffffffffefffffffffffffffffcffffffffffffffffffff -fffffffffffffffffffffffffffffffffffffffffcfffffffffffffffcffffffffffffff -fbfffffffffffffff7ffffffffffffff7fffffffffffffffff7fffffffffffffffffffff -fffffffffffffffffffffffffffffffffffffffcffffffffe00ffffbffffffffffffe007 -fffffffffffffff7ffffffffffffffbfffffffffffffffff9fffffffffffffffffffffff -fffffffffffffffffffffffffffffffffffffcfffffffe1ff0ffe7fffffffffffe1ff0ff -fffffffffffff7ffffffffffffffdfffffffffffffffffe7ffffffffffffffffffffffff -fffffffffffffffffffffffffffffffffffcfffffff9ffff3fdffffffffffff9ffff3fff -fffffffffff7ffffffffffffffeffffffffffffffffff9ffffffffffffffffffffffffff -fffffffffffffffffffffffffffffffffcffffffe7ffffcfbfffffffffffe7ffffcfffff -fffffffffbfffffffffffffff7fffffffffffffffffe7fffffffffffffffffffffffffff -fffffffffffffffffffffffffffffffcffffff9ffffff27fffffffffff9ffffff3ffffff -fffffffbfffffffffffffffbffffffffffffffffffbfffffffffffffffffffffffffffff -fffffffffffffffffffffffffffffcffffff7ffffffdffffffffffff7ffffffdffffffff -fffffbe00ffffffffffffdffffff007fffffffffcffffffff803ffffffffffffffffffff -fffffffffffffffffffffffffffcfffffefffffffefffffffffffefffffffeffffffffff -fffe1ff0fffffffffffefffff0ff87fffffffff3ffffff87fc3fffffffffffffffffffff -fffffffffffffffffffffffffcfffffdffffffff7ffffffffffdffffffff7fffffffffff -f9ffff3fffffffffff7fffcffff9fffffffffcfffffe7fffcfffffffffffffffffffffff -fffffffffffffffffffffffcfffffbffffffffbffffffffffbffffffffbfffffffffffe7 -ffffcfffffffffffbfff3ffffe7fffffffff3ffff9fffff3ffffffffffffffffffffffff -fffffffffffffffffffffcfffff7ffffffffdffffffffff7ffffffffdfffffffffff9fff -fff3ffffffffffdffcffffff9fffffffffcfffe7fffffcffffffffffffffffffffffffff -fffffffffffffffffffcffffefffffffffefffffffffefffffffffefffffffffff7fffff -fdffffffffffeffbffffffeffffffffff7ffdfffffff7fffffffffffffffffffffffffff -fffffffffffffffffcffffdffffffffff7ffffffffdffffffffff7fffffffffefffffffe -fffffffffff7f7fffffff7fffffffff9ffbfffffffbfffffffffffffffffffffffffffff -fffffffffffffffcffffdffffffffff7ffffffffdffffffffff7fffffffffdffffffff7f -fffffffffbeffffffffbfffffffffe7f7fffffffdfffffffffffffffffffffffffffffff -fffffffffffffcffffbffffffffffbffffffffbffffffffffbfffffffffbffffffffbfff -fffffffddffffffffdffffffffff9effffffffefffffffffffffffffffffffffffffffff -fffffffffffcffffbffffffffffbffffffffbffffffffffbfffffffff7ffffffffdfffff -fffffebffffffffeffffffffffe5fffffffff7ffffffffffffffffffffffffffffffffff -fffffffffcffff7ffffffffffdffffffff7ffffffffffdffffffffefffffffffefffffff -ffff7fffffffff7ffffffffffbfffffffffbffffffffffffffffffffffffffffffffffff -fffffffcffff7ffffffffffdffffffff7ffffffffffdffffffffdffffffffff7ffffffff -feffffffffffbffffffffff7fffffffffdffffffffffffffffffffffffffffffffffffff -fffffcfffefffffffffffefffffffefffffffffffeffffffffdffffffffff7fffffffffe -ffffffffffbffffffffff7fffffffffdffffffffffffffffffffffffffffffffffffffff -fffcfffefffffffffffefffffffefffffffffffeffffffffbffffffffffbfffffffffdff -ffffffffdfffffffffeffffffffffeffffffffffffffffffffffffffffffffffffffffff -fcfffefffffffffffefffffffefffffffffffeffffffffbffffffffffbfffffffffdffff -ffffffdfffffffffeffffffffffefffffffffffffffffffffffffffffffffffffffffffc -fffefffffffffffefffffffefffffffffffeffffffff7ffffffffffdfffffffffbffffff -ffffefffffffffdfffffffffff7ffffffffffffffffffffffffffffffffffffffffffcff -fdffffffffffff7ffffffdffffffffffff7fffffff7ffffffffffdfffffffffbffffffff -ffefffffffffdfffffffffff7ffffffffffffffffffffffffffffffffffffffffffcfffd -ffffffffffff7ffffffdffffffffffff7ffffffefffffffffffefffffffff7ffffffffff -f7ffffffffbfffffffffffbffffffffffffffffffffffffffffffffffffffffffcfffdff -ffffffffff7ffffffdffffffffffff7ffffffefffffffffffefffffffff7fffffffffff7 -ffffffffbfffffffffffbffffffffffffffffffffffffffffffffffffffffffcfffdffff -ffffffff7ffffffdffffffffffff7ffffffefffffffffffefffffffff7fffffffffff7ff -ffffffbfffffffffffbffffffffffffffffffffffffffffffffffffffffffcfffdffffff -ffffff7ffffffdffffffffffff7ffffffefffffffffffefffffffff7fffffffffff7ffff -ffffbfffffffffffbfffffff87ffe3ffc7ff1fffffff13ffffcffffffffcfffdffffffff -ffff7ffffffdffffffffffff7ffffffdffffffffffff7fffffffeffffffffffffbffffff -ff7fffffffffffdfffffffcffff3ffe7ff9fffffff93fffecffffffffcfffdffffffffff -ff7ffffffdffffffffffff7ffffffdffffffffffff7fffffffeffffffffffffbffffffff -7fffffffffffdfffffffcffff3ffe7ff9fffffff9ffffcfffffffffcfffdffffffffffff -7ffffffdffffffffffff7ffffffdffffffffffff7fffffffeffffffffffffbffffffff7f -ffffffffffdfffffffc88e1223270c9fc3232383c2180e188c3ffcfffdffffffffffff7f -fffffdffffffffffff7ffffffdffffffffffff7fffffffeffffffffffffbffffffff7fff -ffffffffdfffffffcc4c933246611f9999999390cccccc49bffcfffefffffffffffeffff -fffefffffffffffefffffffdffffffffffff7fffffffeffffffffffffbffffffff7fffff -ffffffdfffffffccccf33266619f999999939cccccccc8fffcfffefffffffffffeffffff -fefffffffffffefffffffdffffffffffff7fffffffeffffffffffffbffffffff7fffffff -ffffdfffffffccccf33266019fe19999939f0ccccccc3ffcfffefffffffffffefffffffe -fffffffffffefffffffdffffffffffff7fffffffeffffffffffffbffffffff7fffffffff -ffdfffffffccccf33266799f999999939ccccccccf3ffcfffefffffffffffefffffffeff -fffffffffefffffffdffffffffffff7fffffffeffffffffffffbffffffff7fffffffffff -dfffffffcccc532266719f9989899388cc8ccccbbffcffff7ffffffffffdffffffff7fff -fffffffdfffffffdffffffffffff7fffffffeffffffffffffbffffffff7fffffffffffdf -ffffff80462111130c4f84939301c4240618407ffcffff7ffffffffffdffffffff7fffff -fffffdfffffffefffffffffffefffffffff7fffffffffff7ffffffffbfffffffffffbfff -ffffffffffffffffffff9f9ffffffffffffffffcffffbffffffffffbffffffffbfffffff -fffbfffffffefffffffffffefffffffff7fffffffffff7ffffffffbfffffffffffbfffff -ffffffffffffffffff9f9ffffffffffffffffcffffbffffffffffbffffffffbfffffffff -fbfffffffefffffffffffefffffffff7fffffffffff7ffffffffbfffffffffffbfffffff -ffffffffffffffff0f0ffffffffffffffffcffffdffffffffff7ffffffffdffffffffff7 -fffffffefffffffffffefffffffff7fffffffffff7ffffffffbfffffffffffbfffffffff -fffffffffffffffffffffffffffffffffcffffdffffffffff7ffffffffdffffffffff7ff -ffffff7ffffffffffdfffffffffbffffffffffefffffffffdfffffffffff7fffffffffff -fffffffffffffffffffffffffffffffcffffefffffffffefffffffffefffffffffefffff -ffff7ffffffffffdfffffffffbffffffffffefffffffffdfffffffffff7fffffffffffff -fffffffffffffffffffffffffffffcfffff7ffffffffdffffffffff7ffffffffdfffffff -ffbffffffffffbfffffffffdffffffffffdfffffffffeffffffffffeffffffffffffffff -fffffffffffffffffffffffffffcfffffbffffffffbffffffffffbffffffffbfffffffff -bffffffffffbfffffffffdffffffffffdfffffffffeffffffffffeffffffffffffffffff -fffffffffffffffffffffffffcfffffdffffffff7ffffffffffdffffffff7fffffffffdf -fffffffff7fffffffffeffffffffffbffffffffff7fffffffffdffffffffffffffffffff -fffffffffffffffffffffffcfffffefffffffefffffffffffefffffffeffffffffffdfff -fffffff7fffffffffeffffffffffbffffffffff7fffffffffdffffffffffffffffffffff -fffffffffffffffffffffcffffff7ffffffdffffffffffff7ffffffdffffffffffefffff -ffffefffffffffff7fffffffff7ffffffffffbfffffffffbffffffffffffffffffffffff -fffffffffffffffffffcffffff9ffffff3ffffffffffff9ffffff3fffffffffff7ffffff -ffdfffffffffffbffffffffefffffffffffdfffffffff7ffffffffffffffffffffffffff -fffffffffffffffffcffffffe7ffffcfffffffffffffe7ffffcffffffffffffbffffffff -bfffffffffffdffffffffdfffffffffffeffffffffefffffffffffffffffffffffffffff -fffffffffffffffcfffffff9ffff3ffffffffffffff9ffff3ffffffffffffdffffffff7f -ffffffffffeffffffffbffffffffffff7fffffffdfffffffffffffffffffffffffffffff -fffffffffffffcfffffffe1ff0fffffffffffffffe1ff0fffffffffffffefffffffeffff -fffffffff7fffffff7ffffffffffffbfffffffbfffffffffffffffffffffffffffffffff -fffffffffffcffffffffc00fffffffffffffffffe00fffffffffffffff7ffffffdffffff -fffffffbffffffefffffffffffffdfffffff7fffffffffffffffffffffffffffffffffff -fffffffffcffffffffdfffffffffffffffffffffffffffffffffffff9ffffff3ffffffff -fffffcffffff9fffffffffffffe7fffffcffffffffffffffffffffffffffffffffffffff -fffffffcffffffffdfffffffffffffffffffffffffffffffffffffe7ffffcfffffffffff -ffff3ffffe7ffffffffffffff9fffff3ffffffffffffffffffffffffffffffffffffffff -fffffcffffffffdffffffffffffffffffffffffffffffffffffff9ffff3fffffffffffff -ffcffff9fffffffffffffffe7fffcfffffffffffffffffffffffffffffffffffffffffff -fffcffffffffdffffffffffffffffffffffffffffffffffffffe1ff0ffffffffffffffff -f0ff87ffffffffffffffff87fc3fffffffffffffffffffffffffffffffffffffffffffff -fcffffffffdfffffffffffffffffffffffffffffffffffffffc007ffffffffffffffffff -007ffffffffffffffffff803fffffffffffffffffffffffffffffffffffffffffffffffc -ffffffffdfffffffffffffffffffffffffffffffffffffffbffbffffffffffffffffffff -fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffcff -ffffffdfffffffffffffffffffffffffffffffffffffff7ffdffffffffffffffffffffff -fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffcffff -ffffdffffffffffffffffffffffffffffffffffffffefffdffffffffffffffffffffffff -fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffcffffff -ffdffffffffffffffffffffffffffffffffffffffdfffeffffffffffffffffffffffffff -fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffcffffffff -dffffffffffffffffffffffffffffffffffffffbffff7fffffffffffffffffffffffffff -fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffcffffffffdf -fffffffffffffffffffffffffffffffffffff7ffffbfffffffffffffffffffffffffffff -fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffcffffffffdfff -ffffffffffffffffffffffffffffffffffefffffdfffffffffffffffffffffffffffffff -fffffffffffffffffffffffffffffffffffffffffffffffffffffffffcffffffffdfffff -ffffffffffffffffffffffffffffffffdfffffdfffffffffffffffffffffffffffffffff -fffffffffffffffffffffffffffffffffffffffffffffffffffffffcffffffffdfffffff -ffffffffffffffffffffffffffffffbfffffefffffffffffffffffffffffffffffffffff -fffffffffffffffffffffffffffffffffffffffffffffffffffffcffffffffdfffffffff -ffffffffffffffffffffffffffff7ffffff7ffffffffffffffffffffffffffffffffffff -fffffffffffffffffffffffffffffffffffffffffffffffffffcffffffffdfffffffffff -fffffffffffffffffffffffffefffffffbffffffffffffffffffffffffffffffffffffff -fffffffffffffffffffffffffffffffffffffffffffffffffcffffffffdfffffffffffff -fffffffffffffffffffffffdfffffffdffffffffffffffffffffffffffffffffffffffff -fffffffffffffffffffffffffffffffffffffffffffffffcffffffffdfffffffffffffff -fffffffffffffffffffffbfffffffdffffffffffffffffffffffffffffffffffffffffff -fffffffffffffffffffffffffffffffffffffffffffffcffffffffdfffffffffffffffff -fffffffffffffffffff7fffffffeffffffffffffffffffffffffffffffffffffffffffff -fffffffffffffffffffffffffffffffffffffffffffcffffffffdfffffffffffffffffff -ffffffffffffffffefffffffff7fffffffffffffffffffffffffffffffffffffffffffff -fffffffffffffffffffffffffffffffffffffffffcffffffffdfffffffffffffffffffff -ffffffffffffffdfffffffffbfffffffffffffffffffffffffffffffffffffffffffffff -fffffffffffffffffffffffffffffffffffffffcffffffffdfffffffffffffffffffffff -ffffffffffffbfffffffffdfffffffffffffffffffffffffffffffffffffffffffffffff -fffffffffffffffffffffffffffffffffffffcffffffffdfffffffffffffffffffffffff -ffffffffff7fffffffffdfffffffffffffffffffffffffffffffffffffffffffffffffff -fffffffffffffffffffffffffffffffffffcffffffffdfffffffffffffffffffffffffff -fffffffeffffffffffefffffffffffffffffffffffffffffffffffffffffffffffffffff -fffffffffffffffffffffffffffffffffcffffffffdfffffffffffffffffffffffffffff -fffffdfffffffffff7ffffffffffffffffffffffffffffffffffffffffffffffffffffff -fffffffffffffffffffffffffffffffcffffffffdfffffffffffffffffffffffffffffff -fffbfffffffffffbffffffffffffffffffffffffffffffffffffffffffffffffffffffff -fffffffffffffffffffffffffffffcffffffffdfffffffffffffffffffffffffffffffff -f7fffffffffffdffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -fffffffffffffffffffffffffffcffffffffdfffffffffffffffffffffffffffffffffef -fffffffffffdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -fffffffffffffffffffffffffcffffffffdfffffffffffffffffffffffffffffffffdfff -fffffffffeffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -fffffffffffffffffffffffcfffffffc01ffffffffffffffffffffffffffffff003fffff -ffffffff003fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -fffffffffffffffffffffcffffffc3fe1ffffffffffffffffffffffffffff0ff87ffffff -fffff87fc3ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -fffffffffffffffffffcffffff3fffe7ffffffffffffffffffffffffffcffff9ffffffff -ffe7fffcffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -fffffffffffffffffcfffffcfffff9ffffffffffffffffffffffffff3ffffe7fffffffff -9fffff3fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -fffffffffffffffcfffff3fffffe7ffffffffffffffffffffffffcffffff9ffffffffe7f -ffffcfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -fffffffffffffcffffefffffffbffffffffffffffffffffffffbffffffeffffffffdffff -fff7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -fffffffffffcffffdfffffffdffffffffffffffffffffffff7fffffff7fffffffbffffff -fbffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -fffffffffcffffbfffffffefffffffffffffffffffffffeffffffffbfffffff7fffffffd -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -fffffffcffff7ffffffff7ffffffffffffffffffffffdffffffffdffffffeffffffffeff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -fffffcfffefffffffffbffffffffffffffffffffffbffffffffeffffffdfffffffff7fff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -fffcfffdfffffffffdffffffffffffffffffffff7fffffffff7fffffbfffffffffbfffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -fcfffbfffffffffefffffffffffffffffffffeffffffffffbfffff7fffffffffdfffffff -fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc -fffbfffffffffefffffffffffffffffffffeffffffffffbfffff7fffffffffdfffffffff -fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffcff -f7ffffffffff7ffffffffffffffffffffdffffffffffdffffeffffffffffefffffffffff -fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffcfff7 -ffffffffff7ffffffffffffffffffffdffffffffffdffffeffffffffffefffffffffffff -fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffcffefff -ffffffffbffffffffffffffffffffbffffffffffeffffdfffffffffff7ffffffffffffff -fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffcffefffff -ffffffbffffffffffffffffffffbffffffffffeffffdfffffffffff7ffffffffffffffff -fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffcffdfffffff -ffffdffffffffffffffffffff7fffffffffff7fffbfffffffffffbffffffffffffffffff -fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffcffdfffffffff -ffdffffffffffffffffffff7fffffffffff7fffbfffffffffffbffffffffffffffffffff -fffffffffffffffffffffffffffffffffffffffffffffffffffffffffcffdfffffffffff -dffffffffffffffffffff7fffffffffff7fffbfffffffffffbffffffffffffffffffffff -fffffffffffffffffffffffffffffffffffffffffffffffffffffffcffdfffffffffffdf -fffffffffffffffffff7fffffffffff7fffbfffffffffffbffffffffffffffffffffffff -ffffffffffffffffff87ffe3ffc7ff1fffffff13ffffcffffffffcffbfffffffffffefff -ffffffffffffffffeffffffffffffbfff7fffffffffffdffffffffffffffffffffffffff -ffffffffffffffffcffff3ffe7ff9fffffff93fffecffffffffcffbfffffffffffefffff -ffffffffffffffeffffffffffffbfff7fffffffffffdffffffffffffffffffffffffffff -ffffffffffffffcffff3ffe7ff9fffffff9ffffcfffffffffcffbfffffffffffefffffff -ffffffffffffeffffffffffffbfff7fffffffffffdffffffffffffffffffffffffffffff -ffffffffffffc88e1223270c9fc3232383c2180e188c3ffcffbfffffffffffefffffffff -ffffffffffeffffffffffffbfff7fffffffffffdffffffffffffffffffffffffffffffff -ffffffffffcc4c933246611f9999999390cccccc49bffcffbfffffffffffefffffffffff -ffffffffeffffffffffffbfff7fffffffffffdffffffffffffffffffffffffffffffffff -ffffffffccccf33266619f999999939cccccccc8fffcffbfffffffffffefffffffffffff -ffffffeffffffffffffbfff7fffffffffffdffffffffffffffffffffffffffffffffffff -ffffffccccf33266019fe19999939f0ccccccc3ffcffbfffffffffffefffffffffffffff -ffffeffffffffffffbfff7fffffffffffdffffffffffffffffffffffffffffffffffffff -ffffccccf33266799f999999939ccccccccf3ffcffbfffffffffffefffffffffffffffff -ffeffffffffffffbfff7fffffffffffdffffffffffffffffffffffffffffffffffffffff -ffcccc532266719f9989899388cc8ccccbbffcffbfffffffffffefffffffffffffffffff -effffffffffffbfff7fffffffffffdffffffffffffffffffffffffffffffffffffffffff -80462111130c4f84939301c4240618407ffcffdfffffffffffdffffffffffffffffffff7 -fffffffffff7fffbfffffffffffbffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffff9f9ffffffffffffffffcffdfffffffffffdffffffffffffffffffff7ff -fffffffff7fffbfffffffffffbffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffff9f9ffffffffffffffffcffdfffffffffffdffffffffffffffffffff7ffff -fffffff7fffbfffffffffffbffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffff0f0ffffffffffffffffcffdfffffffffffdffffffffffffffffffff7ffffff -fffff7fffbfffffffffffbffffffffffffffffffffffffffffffffffffffffffffffffff -fffffffffffffffffffffffffffcffefffffffffffbffffffffffffffffffffbffffffff -ffeffffdfffffffffff7ffffffffffffffffffffffffffffffffffffffffffffffffffff -fffffffffffffffffffffffffcffefffffffffffbffffffffffffffffffffbffffffffff -effffdfffffffffff7ffffffffffffffffffffffffffffffffffffffffffffffffffffff -fffffffffffffffffffffffcfff7ffffffffff7ffffffffffffffffffffdffffffffffdf -fffeffffffffffefffffffffffffffffffffffffffffffffffffffffffffffffffffffff -fffffffffffffffffffffcfff7ffffffffff7ffffffffffffffffffffdffffffffffdfff -feffffffffffefffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -fffffffffffffffffffcfffbfffffffffefffffffffffffffffffffeffffffffffbfffff -7fffffffffdfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -fffffffffffffffffcfffbfffffffffefffffffffffffffffffffeffffffffffbfffff7f -ffffffffdfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -fffffffffffffffcfffdfffffffffdffffffffffffffffffffff7fffffffff7fffffbfff -ffffffbfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -fffffffffffffcfffefffffffffbffffffffffffffffffffffbffffffffeffffffdfffff -ffff7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -fffffffffffcffff7ffffffff7ffffffffffffffffffffffdffffffffdffffffefffffff -feffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -fffffffffcffffbfffffffefffffffffffffffffffffffeffffffffbfffffff7fffffffd -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -fffffffcffffdfffffffdffffffffffffffffffffffff7fffffff7fffffffbfffffffbff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -fffffcffffefffffffbffffffffffffffffffffffffbffffffeffffffffdfffffff7ffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -fffcfffff3fffffe7ffffffffffffffffffffffffcffffff9ffffffffe7fffffcfffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -fcfffffcfffff9ffffffffffffffffffffffffff3ffffe7fffffffff9fffff3fffffffff -fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc -ffffff3fffe7ffffffffffffffffffffffffffcffff9ffffffffffe7fffcffffffffffff -fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffcff -ffffc3fe1ffffffffffffffffffffffffffff0ff87fffffffffff87fc3ffffffffffffff -fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffcffff -fffc01ffffffffffffffffffffffffffffff007fffffffffffff803fffffffffffffffff -fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffcffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffcffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffcffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffcffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -fffffffffffffffffffffffffffffffffffffffffffffffffffffffffcffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -fffffffffffffffffffffffffffffffffffffffffffffffffffffffcffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -fffffffffffffffffffffffffffffffffffffffffffffffffffffcffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -fffffffffffffffffffffffffffffffffffffffffffffffffffcffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -fffffffffffffffffffffffffffffffffffffffffffffffffcffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -fffffffffffffffffffffffffffffffffffffffffffffffcffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -fffffffffffffffffffffffffffffffffffffffffffffcffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -fffffffffffffffffffffffffffffffffffffffffffc -%%EndData -end -%%PageTrailer -%%Trailer -%%BoundingBox: 0 20 377 197 -%%EOF diff --git a/system/doc/design_principles/sup4.ps b/system/doc/design_principles/sup4.ps deleted file mode 100644 index 2507fcc36e..0000000000 --- a/system/doc/design_principles/sup4.ps +++ /dev/null @@ -1,153 +0,0 @@ -%!PS-Adobe-2.0 EPSF-2.0 -%%Title: sup4.fig -%%Creator: fig2dev Version 3.1 Patchlevel 2 -%%CreationDate: Thu May 15 12:49:21 1997 -%%For: jocke@akvavit (Joakim Greben|,ETX/B/DUP) -%Magnification: 1.00 -%%Orientation: Portrait -%%BoundingBox: 0 0 322 151 -%%Pages: 0 -%%BeginSetup -%%IncludeFeature: *PageSize A4 -%%EndSetup -%%EndComments -/$F2psDict 200 dict def -$F2psDict begin -$F2psDict /mtrx matrix put -/col-1 {0 setgray} bind def -/col0 {0.000 0.000 0.000 srgb} bind def -/col1 {0.000 0.000 1.000 srgb} bind def -/col2 {0.000 1.000 0.000 srgb} bind def -/col3 {0.000 1.000 1.000 srgb} bind def -/col4 {1.000 0.000 0.000 srgb} bind def -/col5 {1.000 0.000 1.000 srgb} bind def -/col6 {1.000 1.000 0.000 srgb} bind def -/col7 {1.000 1.000 1.000 srgb} bind def -/col8 {0.000 0.000 0.560 srgb} bind def -/col9 {0.000 0.000 0.690 srgb} bind def -/col10 {0.000 0.000 0.820 srgb} bind def -/col11 {0.530 0.810 1.000 srgb} bind def -/col12 {0.000 0.560 0.000 srgb} bind def -/col13 {0.000 0.690 0.000 srgb} bind def -/col14 {0.000 0.820 0.000 srgb} bind def -/col15 {0.000 0.560 0.560 srgb} bind def -/col16 {0.000 0.690 0.690 srgb} bind def -/col17 {0.000 0.820 0.820 srgb} bind def -/col18 {0.560 0.000 0.000 srgb} bind def -/col19 {0.690 0.000 0.000 srgb} bind def -/col20 {0.820 0.000 0.000 srgb} bind def -/col21 {0.560 0.000 0.560 srgb} bind def -/col22 {0.690 0.000 0.690 srgb} bind def -/col23 {0.820 0.000 0.820 srgb} bind def -/col24 {0.500 0.190 0.000 srgb} bind def -/col25 {0.630 0.250 0.000 srgb} bind def -/col26 {0.750 0.380 0.000 srgb} bind def -/col27 {1.000 0.500 0.500 srgb} bind def -/col28 {1.000 0.630 0.630 srgb} bind def -/col29 {1.000 0.750 0.750 srgb} bind def -/col30 {1.000 0.880 0.880 srgb} bind def -/col31 {1.000 0.840 0.000 srgb} bind def - -end -save --39.0 195.0 translate -1 -1 scale - -/cp {closepath} bind def -/ef {eofill} bind def -/gr {grestore} bind def -/gs {gsave} bind def -/sa {save} bind def -/rs {restore} bind def -/l {lineto} bind def -/m {moveto} bind def -/rm {rmoveto} bind def -/n {newpath} bind def -/s {stroke} bind def -/sh {show} bind def -/slc {setlinecap} bind def -/slj {setlinejoin} bind def -/slw {setlinewidth} bind def -/srgb {setrgbcolor} bind def -/rot {rotate} bind def -/sc {scale} bind def -/sd {setdash} bind def -/ff {findfont} bind def -/sf {setfont} bind def -/scf {scalefont} bind def -/sw {stringwidth} bind def -/tr {translate} bind def -/tnt {dup dup currentrgbcolor - 4 -2 roll dup 1 exch sub 3 -1 roll mul add - 4 -2 roll dup 1 exch sub 3 -1 roll mul add - 4 -2 roll dup 1 exch sub 3 -1 roll mul add srgb} - bind def -/shd {dup dup currentrgbcolor 4 -2 roll mul 4 -2 roll mul - 4 -2 roll mul srgb} bind def - /DrawEllipse { - /endangle exch def - /startangle exch def - /yrad exch def - /xrad exch def - /y exch def - /x exch def - /savematrix mtrx currentmatrix def - x y tr xrad yrad sc 0 0 1 startangle endangle arc - closepath - savematrix setmatrix - } def - -/$F2psBegin {$F2psDict begin /$F2psEnteredState save def} def -/$F2psEnd {$F2psEnteredState restore end} def -%%EndProlog - -$F2psBegin -10 setmiterlimit -n 0 842 m 0 0 l 595 0 l 595 842 l cp clip - 0.06000 0.06000 sc -7.500 slw -% Polyline -n 2100 750 m 2550 750 l 2550 1200 l 2100 1200 l cp gs col-1 s gr -/Times-Bold ff 210.00 scf sf -2250 1050 m -gs 1 -1 sc (1) col-1 sh gr -% Ellipse -n 4762 2700 293 293 0 360 DrawEllipse gs col-1 s gr - -% Ellipse -n 3112 2775 293 293 0 360 DrawEllipse gs col-1 s gr - -% Ellipse -n 1987 2775 293 293 0 360 DrawEllipse gs col-1 s gr - -% Polyline -n 675 2550 m 1125 2550 l 1125 3000 l 675 3000 l cp gs col-1 s gr -% Polyline -n 900 2550 m 2250 1200 l gs col-1 s gr -% Polyline -n 1950 2475 m 2325 1200 l gs col-1 s gr -% Polyline -n 2400 1200 m 3000 2475 l gs col-1 s gr -% Polyline -n 2475 1200 m 4500 2550 l gs col-1 s gr -% Polyline -n 2625 2325 m 3450 3150 l gs col-1 s gr -% Polyline -n 2625 3225 m 3525 2325 l gs col-1 s gr -/Times-Bold ff 210.00 scf sf -1875 2850 m -gs 1 -1 sc (P1) col-1 sh gr -/Times-Bold ff 210.00 scf sf -3000 2850 m -gs 1 -1 sc (P2) col-1 sh gr -/Times-Bold ff 210.00 scf sf -4650 2775 m -gs 1 -1 sc (Pn) col-1 sh gr -/Times-Roman ff 210.00 scf sf -3450 975 m -gs 1 -1 sc (One for one supervision) col-1 sh gr -/Times-Roman ff 210.00 scf sf -3450 1200 m -gs 1 -1 sc (If any child dies it is restarted) col-1 sh gr -$F2psEnd -rs diff --git a/system/doc/design_principles/sup5.ps b/system/doc/design_principles/sup5.ps deleted file mode 100644 index 40eb07a132..0000000000 --- a/system/doc/design_principles/sup5.ps +++ /dev/null @@ -1,168 +0,0 @@ -%!PS-Adobe-2.0 EPSF-2.0 -%%Title: sup5.fig -%%Creator: fig2dev Version 3.1 Patchlevel 2 -%%CreationDate: Thu May 15 12:49:29 1997 -%%For: jocke@akvavit (Joakim Greben|,ETX/B/DUP) -%Magnification: 1.00 -%%Orientation: Portrait -%%BoundingBox: 0 0 368 160 -%%Pages: 0 -%%BeginSetup -%%IncludeFeature: *PageSize A4 -%%EndSetup -%%EndComments -/$F2psDict 200 dict def -$F2psDict begin -$F2psDict /mtrx matrix put -/col-1 {0 setgray} bind def -/col0 {0.000 0.000 0.000 srgb} bind def -/col1 {0.000 0.000 1.000 srgb} bind def -/col2 {0.000 1.000 0.000 srgb} bind def -/col3 {0.000 1.000 1.000 srgb} bind def -/col4 {1.000 0.000 0.000 srgb} bind def -/col5 {1.000 0.000 1.000 srgb} bind def -/col6 {1.000 1.000 0.000 srgb} bind def -/col7 {1.000 1.000 1.000 srgb} bind def -/col8 {0.000 0.000 0.560 srgb} bind def -/col9 {0.000 0.000 0.690 srgb} bind def -/col10 {0.000 0.000 0.820 srgb} bind def -/col11 {0.530 0.810 1.000 srgb} bind def -/col12 {0.000 0.560 0.000 srgb} bind def -/col13 {0.000 0.690 0.000 srgb} bind def -/col14 {0.000 0.820 0.000 srgb} bind def -/col15 {0.000 0.560 0.560 srgb} bind def -/col16 {0.000 0.690 0.690 srgb} bind def -/col17 {0.000 0.820 0.820 srgb} bind def -/col18 {0.560 0.000 0.000 srgb} bind def -/col19 {0.690 0.000 0.000 srgb} bind def -/col20 {0.820 0.000 0.000 srgb} bind def -/col21 {0.560 0.000 0.560 srgb} bind def -/col22 {0.690 0.000 0.690 srgb} bind def -/col23 {0.820 0.000 0.820 srgb} bind def -/col24 {0.500 0.190 0.000 srgb} bind def -/col25 {0.630 0.250 0.000 srgb} bind def -/col26 {0.750 0.380 0.000 srgb} bind def -/col27 {1.000 0.500 0.500 srgb} bind def -/col28 {1.000 0.630 0.630 srgb} bind def -/col29 {1.000 0.750 0.750 srgb} bind def -/col30 {1.000 0.880 0.880 srgb} bind def -/col31 {1.000 0.840 0.000 srgb} bind def - -end -save --30.0 195.0 translate -1 -1 scale - -/cp {closepath} bind def -/ef {eofill} bind def -/gr {grestore} bind def -/gs {gsave} bind def -/sa {save} bind def -/rs {restore} bind def -/l {lineto} bind def -/m {moveto} bind def -/rm {rmoveto} bind def -/n {newpath} bind def -/s {stroke} bind def -/sh {show} bind def -/slc {setlinecap} bind def -/slj {setlinejoin} bind def -/slw {setlinewidth} bind def -/srgb {setrgbcolor} bind def -/rot {rotate} bind def -/sc {scale} bind def -/sd {setdash} bind def -/ff {findfont} bind def -/sf {setfont} bind def -/scf {scalefont} bind def -/sw {stringwidth} bind def -/tr {translate} bind def -/tnt {dup dup currentrgbcolor - 4 -2 roll dup 1 exch sub 3 -1 roll mul add - 4 -2 roll dup 1 exch sub 3 -1 roll mul add - 4 -2 roll dup 1 exch sub 3 -1 roll mul add srgb} - bind def -/shd {dup dup currentrgbcolor 4 -2 roll mul 4 -2 roll mul - 4 -2 roll mul srgb} bind def - /DrawEllipse { - /endangle exch def - /startangle exch def - /yrad exch def - /xrad exch def - /y exch def - /x exch def - /savematrix mtrx currentmatrix def - x y tr xrad yrad sc 0 0 1 startangle endangle arc - closepath - savematrix setmatrix - } def - -/$F2psBegin {$F2psDict begin /$F2psEnteredState save def} def -/$F2psEnd {$F2psEnteredState restore end} def -%%EndProlog - -$F2psBegin -10 setmiterlimit -n 0 842 m 0 0 l 595 0 l 595 842 l cp clip - 0.06000 0.06000 sc -7.500 slw -% Ellipse -n 4762 2700 293 293 0 360 DrawEllipse gs col-1 s gr - -% Ellipse -n 3112 2775 293 293 0 360 DrawEllipse gs col-1 s gr - -% Ellipse -n 1987 2775 293 293 0 360 DrawEllipse gs col-1 s gr - -% Polyline -n 675 2550 m 1125 2550 l 1125 3000 l 675 3000 l cp gs col-1 s gr -% Polyline -n 900 2550 m 2250 1200 l gs col-1 s gr -% Polyline -n 1950 2475 m 2325 1200 l gs col-1 s gr -% Polyline -n 2400 1200 m 3000 2475 l gs col-1 s gr -% Polyline -n 2475 1200 m 4500 2550 l gs col-1 s gr -% Polyline -n 2100 750 m 2550 750 l 2550 1200 l 2100 1200 l cp gs col-1 s gr -% Polyline -n 2775 2325 m 3450 3225 l gs col-1 s gr -% Polyline -n 2775 3150 m 3525 2400 l gs col-1 s gr -% Polyline -n 4350 3075 m 5100 2250 l gs col-1 s gr -% Polyline -n 4425 2175 m 5100 3150 l gs col-1 s gr -% Polyline -n 1650 2325 m 2325 3150 l gs col-1 s gr -% Polyline -n 1650 3150 m 2325 2400 l gs col-1 s gr -% Polyline -n 525 2325 m 1350 3150 l gs col-1 s gr -% Polyline -n 525 3150 m 1350 2325 l gs col-1 s gr -/Times-Bold ff 210.00 scf sf -1875 2850 m -gs 1 -1 sc (P1) col-1 sh gr -/Times-Bold ff 210.00 scf sf -3000 2850 m -gs 1 -1 sc (P2) col-1 sh gr -/Times-Bold ff 210.00 scf sf -4650 2775 m -gs 1 -1 sc (Pn) col-1 sh gr -/Times-Roman ff 210.00 scf sf -3525 1005 m -gs 1 -1 sc (If any child dies all children) col-1 sh gr -/Times-Roman ff 210.00 scf sf -3525 1260 m -gs 1 -1 sc (are terminated and all are restarted) col-1 sh gr -/Times-Bold ff 210.00 scf sf -2250 1050 m -gs 1 -1 sc (a) col-1 sh gr -/Times-Roman ff 210.00 scf sf -3525 750 m -gs 1 -1 sc (all-for-one supervision) col-1 sh gr -$F2psEnd -rs diff --git a/system/doc/design_principles/sup6.ps b/system/doc/design_principles/sup6.ps deleted file mode 100644 index 3e8a8d2ed4..0000000000 --- a/system/doc/design_principles/sup6.ps +++ /dev/null @@ -1,163 +0,0 @@ -%!PS-Adobe-2.0 EPSF-2.0 -%%Title: sup6.fig -%%Creator: fig2dev Version 3.1 Patchlevel 2 -%%CreationDate: Thu May 15 12:49:34 1997 -%%For: jocke@akvavit (Joakim Greben|,ETX/B/DUP) -%Magnification: 1.00 -%%Orientation: Portrait -%%BoundingBox: 0 0 251 221 -%%Pages: 0 -%%BeginSetup -%%IncludeFeature: *PageSize A4 -%%EndSetup -%%EndComments -/$F2psDict 200 dict def -$F2psDict begin -$F2psDict /mtrx matrix put -/col-1 {0 setgray} bind def -/col0 {0.000 0.000 0.000 srgb} bind def -/col1 {0.000 0.000 1.000 srgb} bind def -/col2 {0.000 1.000 0.000 srgb} bind def -/col3 {0.000 1.000 1.000 srgb} bind def -/col4 {1.000 0.000 0.000 srgb} bind def -/col5 {1.000 0.000 1.000 srgb} bind def -/col6 {1.000 1.000 0.000 srgb} bind def -/col7 {1.000 1.000 1.000 srgb} bind def -/col8 {0.000 0.000 0.560 srgb} bind def -/col9 {0.000 0.000 0.690 srgb} bind def -/col10 {0.000 0.000 0.820 srgb} bind def -/col11 {0.530 0.810 1.000 srgb} bind def -/col12 {0.000 0.560 0.000 srgb} bind def -/col13 {0.000 0.690 0.000 srgb} bind def -/col14 {0.000 0.820 0.000 srgb} bind def -/col15 {0.000 0.560 0.560 srgb} bind def -/col16 {0.000 0.690 0.690 srgb} bind def -/col17 {0.000 0.820 0.820 srgb} bind def -/col18 {0.560 0.000 0.000 srgb} bind def -/col19 {0.690 0.000 0.000 srgb} bind def -/col20 {0.820 0.000 0.000 srgb} bind def -/col21 {0.560 0.000 0.560 srgb} bind def -/col22 {0.690 0.000 0.690 srgb} bind def -/col23 {0.820 0.000 0.820 srgb} bind def -/col24 {0.500 0.190 0.000 srgb} bind def -/col25 {0.630 0.250 0.000 srgb} bind def -/col26 {0.750 0.380 0.000 srgb} bind def -/col27 {1.000 0.500 0.500 srgb} bind def -/col28 {1.000 0.630 0.630 srgb} bind def -/col29 {1.000 0.750 0.750 srgb} bind def -/col30 {1.000 0.880 0.880 srgb} bind def -/col31 {1.000 0.840 0.000 srgb} bind def - -end -save --68.0 265.0 translate -1 -1 scale - -/cp {closepath} bind def -/ef {eofill} bind def -/gr {grestore} bind def -/gs {gsave} bind def -/sa {save} bind def -/rs {restore} bind def -/l {lineto} bind def -/m {moveto} bind def -/rm {rmoveto} bind def -/n {newpath} bind def -/s {stroke} bind def -/sh {show} bind def -/slc {setlinecap} bind def -/slj {setlinejoin} bind def -/slw {setlinewidth} bind def -/srgb {setrgbcolor} bind def -/rot {rotate} bind def -/sc {scale} bind def -/sd {setdash} bind def -/ff {findfont} bind def -/sf {setfont} bind def -/scf {scalefont} bind def -/sw {stringwidth} bind def -/tr {translate} bind def -/tnt {dup dup currentrgbcolor - 4 -2 roll dup 1 exch sub 3 -1 roll mul add - 4 -2 roll dup 1 exch sub 3 -1 roll mul add - 4 -2 roll dup 1 exch sub 3 -1 roll mul add srgb} - bind def -/shd {dup dup currentrgbcolor 4 -2 roll mul 4 -2 roll mul - 4 -2 roll mul srgb} bind def - /DrawEllipse { - /endangle exch def - /startangle exch def - /yrad exch def - /xrad exch def - /y exch def - /x exch def - /savematrix mtrx currentmatrix def - x y tr xrad yrad sc 0 0 1 startangle endangle arc - closepath - savematrix setmatrix - } def - -/$F2psBegin {$F2psDict begin /$F2psEnteredState save def} def -/$F2psEnd {$F2psEnteredState restore end} def -%%EndProlog - -$F2psBegin -10 setmiterlimit -n 0 842 m 0 0 l 595 0 l 595 842 l cp clip - 0.06000 0.06000 sc -7.500 slw -% Polyline -n 2100 750 m 2550 750 l 2550 1200 l 2100 1200 l cp gs col-1 s gr -/Times-Bold ff 210.00 scf sf -2250 1050 m -gs 1 -1 sc (1) col-1 sh gr -% Polyline -n 1200 1650 m 1650 1650 l 1650 2100 l 1200 2100 l cp gs col-1 s gr -/Times-Bold ff 210.00 scf sf -1350 1950 m -gs 1 -1 sc (1) col-1 sh gr -% Polyline -n 3975 2850 m 4425 2850 l 4425 3300 l 3975 3300 l cp gs col-1 s gr -/Times-Bold ff 210.00 scf sf -4125 3150 m -gs 1 -1 sc (1) col-1 sh gr -% Ellipse -n 5025 4125 270 270 0 360 DrawEllipse gs col-1 s gr - -% Ellipse -n 1425 3075 270 270 0 360 DrawEllipse gs col-1 s gr - -% Ellipse -n 2250 4125 270 270 0 360 DrawEllipse gs col-1 s gr - -% Ellipse -n 3900 4125 270 270 0 360 DrawEllipse gs col-1 s gr - -% Polyline -n 2325 1200 m 1425 1650 l gs col-1 s gr -% Polyline -n 2400 1200 m 3300 1650 l gs col-1 s gr -% Polyline -n 3300 2100 m 2550 2850 l gs col-1 s gr -% Polyline -n 3375 2100 m 4125 2850 l gs col-1 s gr -% Polyline -n 2475 3300 m 2325 3825 l gs col-1 s gr -% Polyline -n 4200 3300 m 3900 3825 l gs col-1 s gr -% Polyline -n 4275 3300 m 4875 3900 l gs col-1 s gr -% Polyline -n 1425 2775 m 1425 2100 l gs col-1 s gr -% Polyline -n 3075 1650 m 3525 1650 l 3525 2100 l 3075 2100 l cp gs col-1 s gr -% Polyline -n 2325 2850 m 2775 2850 l 2775 3300 l 2325 3300 l cp gs col-1 s gr -/Times-Bold ff 210.00 scf sf -3225 1950 m -gs 1 -1 sc (a) col-1 sh gr -/Times-Bold ff 210.00 scf sf -2475 3150 m -gs 1 -1 sc (a) col-1 sh gr -$F2psEnd -rs |