summaryrefslogtreecommitdiff
path: root/macros/latex/contrib/prosper/img
diff options
context:
space:
mode:
authorNorbert Preining <norbert@preining.info>2019-09-02 13:46:59 +0900
committerNorbert Preining <norbert@preining.info>2019-09-02 13:46:59 +0900
commite0c6872cf40896c7be36b11dcc744620f10adf1d (patch)
tree60335e10d2f4354b0674ec22d7b53f0f8abee672 /macros/latex/contrib/prosper/img
Initial commit
Diffstat (limited to 'macros/latex/contrib/prosper/img')
-rw-r--r--macros/latex/contrib/prosper/img/arrow-glow.ps189
-rw-r--r--macros/latex/contrib/prosper/img/bullet-glow.ps197
-rw-r--r--macros/latex/contrib/prosper/img/green-bullet-on-blue.gifbin0 -> 2256 bytes
-rw-r--r--macros/latex/contrib/prosper/img/green-bullet-on-blue.ps253
-rw-r--r--macros/latex/contrib/prosper/img/green-bullet-on-white.gifbin0 -> 2254 bytes
-rw-r--r--macros/latex/contrib/prosper/img/green-bullet-on-white.ps251
-rw-r--r--macros/latex/contrib/prosper/img/red-bullet-on-blue.gifbin0 -> 2090 bytes
-rw-r--r--macros/latex/contrib/prosper/img/red-bullet-on-blue.ps252
-rw-r--r--macros/latex/contrib/prosper/img/red-bullet-on-white.gifbin0 -> 2258 bytes
-rw-r--r--macros/latex/contrib/prosper/img/red-bullet-on-white.ps252
-rw-r--r--macros/latex/contrib/prosper/img/rule-glow.ps219
-rw-r--r--macros/latex/contrib/prosper/img/yellow-bullet-on-blue.gifbin0 -> 2690 bytes
-rw-r--r--macros/latex/contrib/prosper/img/yellow-bullet-on-blue.ps256
-rw-r--r--macros/latex/contrib/prosper/img/yellow-bullet-on-white.gifbin0 -> 2212 bytes
-rw-r--r--macros/latex/contrib/prosper/img/yellow-bullet-on-white.ps249
15 files changed, 2118 insertions, 0 deletions
diff --git a/macros/latex/contrib/prosper/img/arrow-glow.ps b/macros/latex/contrib/prosper/img/arrow-glow.ps
new file mode 100644
index 0000000000..b0d0afc317
--- /dev/null
+++ b/macros/latex/contrib/prosper/img/arrow-glow.ps
@@ -0,0 +1,189 @@
+%!PS-Adobe-2.0 EPSF-2.0
+%%Title: /home/fred/TEMP/arrow.ps
+%%Creator: XV Version 3.10a+FLmask Rev: 12/29/94 - by John Bradley
+%%BoundingBox: 290 380 322 412
+%%Pages: 1
+%%DocumentFonts:
+%%EndComments
+%%EndProlog
+
+%%Page: 1 1
+
+% remember original state
+/origstate save def
+
+% build a temporary dictionary
+20 dict begin
+
+% define space for color conversions
+/grays 32 string def % space for gray scale line
+/npixls 0 def
+/rgbindx 0 def
+
+% lower left corner
+290 380 translate
+
+% size of image (on paper, in 1/72inch coords)
+31.96800 31.96800 scale
+
+% define 'colorimage' if it isn't defined
+% ('colortogray' and 'mergeprocs' come from xwd2ps
+% via xgrab)
+/colorimage where % do we know about 'colorimage'?
+ { pop } % yes: pop off the 'dict' returned
+ { % no: define one
+ /colortogray { % define an RGB->I function
+ /rgbdata exch store % call input 'rgbdata'
+ rgbdata length 3 idiv
+ /npixls exch store
+ /rgbindx 0 store
+ 0 1 npixls 1 sub {
+ grays exch
+ rgbdata rgbindx get 20 mul % Red
+ rgbdata rgbindx 1 add get 32 mul % Green
+ rgbdata rgbindx 2 add get 12 mul % Blue
+ add add 64 idiv % I = .5G + .31R + .18B
+ put
+ /rgbindx rgbindx 3 add store
+ } for
+ grays 0 npixls getinterval
+ } bind def
+
+ % Utility procedure for colorimage operator.
+ % This procedure takes two procedures off the
+ % stack and merges them into a single procedure.
+
+ /mergeprocs { % def
+ dup length
+ 3 -1 roll
+ dup
+ length
+ dup
+ 5 1 roll
+ 3 -1 roll
+ add
+ array cvx
+ dup
+ 3 -1 roll
+ 0 exch
+ putinterval
+ dup
+ 4 2 roll
+ putinterval
+ } bind def
+
+ /colorimage { % def
+ pop pop % remove 'false 3' operands
+ {colortogray} mergeprocs
+ image
+ } bind def
+ } ifelse % end of 'false' case
+
+
+
+% define the colormap
+/cmap 234 string def
+
+
+% load up the colormap
+currentfile cmap readhexstring
+040204 145604 0c2e04 1c8204 343234 041a04 545654 1c6e04 0c4204 1c1a1c
+146204 249604 444644 042604 144e04 040e04 245a0c 2c2e2c 145e04 0c3a04
+248e04 1c4214 1c2a14 3c3e3c 042204 646264 1c7a04 144a04 1c6a04 24a204
+1c560c 1c3214 248a04 144204 1c6204 4c4e4c 142a14 041604 040a04 0c3604
+248604 3c3a3c 5c5e5c 1c7604 242224 249e04 0c2604 0c0e0c 2c2a2c 0c2204
+040604 145a04 0c3204 1c8604 343634 041e04 5c5a5c 1c7204 0c4604 1c1e1c
+146604 249a04 4c4a4c 145204 041204 1c5e04 0c3e04 249204 242624 444244
+646664 1c7e04 24a604 1c5a0c 144604 1c6604 545254 0c2a04
+pop pop % lose return values from readhexstring
+
+
+% rlecmapimage expects to have 'w h bits matrix' on stack
+/rlecmapimage {
+ /buffer 1 string def
+ /rgbval 3 string def
+ /block 384 string def
+
+ % proc to read a block from file, and return RGB data
+ { currentfile buffer readhexstring pop
+ /bcount exch 0 get store
+ bcount 128 ge
+ { % it's a non-run block
+ 0 1 bcount 128 sub
+ { currentfile buffer readhexstring pop pop
+
+ % look up value in color map
+ /rgbval cmap buffer 0 get 3 mul 3 getinterval store
+
+ % and put it in position i*3 in block
+ block exch 3 mul rgbval putinterval
+ } for
+ block 0 bcount 127 sub 3 mul getinterval
+ }
+
+ { % else it's a run block
+ currentfile buffer readhexstring pop pop
+
+ % look up value in colormap
+ /rgbval cmap buffer 0 get 3 mul 3 getinterval store
+
+ 0 1 bcount { block exch 3 mul rgbval putinterval } for
+
+ block 0 bcount 1 add 3 mul getinterval
+ } ifelse
+ } % end of proc
+ false 3 colorimage
+} bind def
+
+
+32 32 8 % dimensions of data
+[32 0 0 -32 0 32] % mapping matrix
+rlecmapimage
+
+0126820f40258125058205254082400f268126328132000e00
+822640058505372e0d2e188118058405400f26328132000d00
+854025182e3427022787024d183705400f26822632000b00
+8725184d27423a0e1b8a1b3a4227020d3705400f26822632000900
+86374d273a3f120a010a8b33011b4227020d3705400f268126000800
+97313408014b3122471a2b1c0a331b42274d0d3725400f26328132000500
+984d130e0a2b2f091f0314351a073c011b42274d183725400f328132000400
+9802213307032f092c091e140b201a070a011b42274d1805250f810f328132000200
+87343a121a142f094495442c091e430b351a070a3f3a42340d1805400f2632000100
+9e270e4b470b2f09440411443b091e430b351a1c0a3f4a13020d37250f2632000000
+9f270e3c352d2f092c04293611303b094b1d43351a1c120e08342e37250f263200
+9f273f07282d2f0944361745290411442c164b2d14033922013a274d37250f2632
+9f133f3c201d2f092c0445230c45290430442c16223d351a3c013a270d05402632
+9f133f07201d2f094436173e06230c45360430443b1641202b223f420218250f26
+8b133f0735482f092c04452338933806230c17290430443b1f1c07334a270d254032
+9f273f07201d2f0944361723384619384c3e0c173604112c3b243f3a272e054026
+99133f0735482f092c044523382a384c230c45293611442c3b240e850e130d054026
+91133f07201d2f0944041723064c230c1729048d04304409154b07333a342e050f26
+8a130e0735482f094404452386230c45290411448d44094928352b0a0e420218250f26
+9f133f3c202d2f094404450c17290430442c3b101443352b220108272e05402632
+9f270e3c352d2f092c0417290430443b091e140b35471c123f08344d37250f2632
+88270e3c280b2f094404960411443b161c1d0b3547394b011b42342e37250f263200
+9d343a122b142f094430443b164b1d43201a393c013a0827020d37250f2632813200
+9d02213339032f092c3b164b2d43281a070a011b0813022e3725400f2632000100
+9a4d130e0a2b2f091f1c4314031a070a011b0827022e3705400f26328132000200
+9818343a013c163c47031a391c123f1b42270d2e3725400f263201320400
+95374d274a0112223c4b0a333f3a4227020d3125400f268126328132000500
+8625310d27213a0e010e8a1b0813344d180525400f26822632000800
+864005310d34271301138834020d2e3725400f26822632000a00
+8d26402537182e0d2e0d183705250f810f268126328132000b00
+0126830f402505010501250140820f26328132000e00
+01320126020f81400f810f268126328132001000
+
+%
+% Compression made this file 31.80% of the uncompressed size.
+%
+
+
+showpage
+
+% stop using temporary dictionary
+end
+
+% restore original state
+origstate restore
+
+%%Trailer
diff --git a/macros/latex/contrib/prosper/img/bullet-glow.ps b/macros/latex/contrib/prosper/img/bullet-glow.ps
new file mode 100644
index 0000000000..9ab2213044
--- /dev/null
+++ b/macros/latex/contrib/prosper/img/bullet-glow.ps
@@ -0,0 +1,197 @@
+%!PS-Adobe-2.0 EPSF-2.0
+%%Title: /home/fred/TEMP/bullet.ps
+%%Creator: XV Version 3.10a+FLmask Rev: 12/29/94 - by John Bradley
+%%BoundingBox: 290 380 322 412
+%%Pages: 1
+%%DocumentFonts:
+%%EndComments
+%%EndProlog
+
+%%Page: 1 1
+
+% remember original state
+/origstate save def
+
+% build a temporary dictionary
+20 dict begin
+
+% define space for color conversions
+/grays 32 string def % space for gray scale line
+/npixls 0 def
+/rgbindx 0 def
+
+% lower left corner
+290 380 translate
+
+% size of image (on paper, in 1/72inch coords)
+31.96800 31.96800 scale
+
+% define 'colorimage' if it isn't defined
+% ('colortogray' and 'mergeprocs' come from xwd2ps
+% via xgrab)
+/colorimage where % do we know about 'colorimage'?
+ { pop } % yes: pop off the 'dict' returned
+ { % no: define one
+ /colortogray { % define an RGB->I function
+ /rgbdata exch store % call input 'rgbdata'
+ rgbdata length 3 idiv
+ /npixls exch store
+ /rgbindx 0 store
+ 0 1 npixls 1 sub {
+ grays exch
+ rgbdata rgbindx get 20 mul % Red
+ rgbdata rgbindx 1 add get 32 mul % Green
+ rgbdata rgbindx 2 add get 12 mul % Blue
+ add add 64 idiv % I = .5G + .31R + .18B
+ put
+ /rgbindx rgbindx 3 add store
+ } for
+ grays 0 npixls getinterval
+ } bind def
+
+ % Utility procedure for colorimage operator.
+ % This procedure takes two procedures off the
+ % stack and merges them into a single procedure.
+
+ /mergeprocs { % def
+ dup length
+ 3 -1 roll
+ dup
+ length
+ dup
+ 5 1 roll
+ 3 -1 roll
+ add
+ array cvx
+ dup
+ 3 -1 roll
+ 0 exch
+ putinterval
+ dup
+ 4 2 roll
+ putinterval
+ } bind def
+
+ /colorimage { % def
+ pop pop % remove 'false 3' operands
+ {colortogray} mergeprocs
+ image
+ } bind def
+ } ifelse % end of 'false' case
+
+
+
+% define the colormap
+/cmap 480 string def
+
+
+% load up the colormap
+currentfile cmap readhexstring
+020d00 021000 031100 031300 041400 041600 051700 051800 051c00 051d00
+061c00 061d00 061f00 072100 072300 072400 082000 082200 082400 082600
+082700 082800 092900 092a00 092b00 092c00 0a2c00 0a2d00 0a2e00 0a2f00
+0a3000 0a3100 0b3000 0b3200 0b3400 0c3200 0c3500 0c3600 0c3700 0c3800
+0c3900 0d3900 0d3a00 0d3b00 0d3c00 0e3d00 0e3e00 0e3f00 0e4000 0f4100
+0f4200 0f4300 0f4600 104200 104500 104700 104800 114900 114a00 114b00
+114c00 124d00 125000 125100 135100 135200 135300 145400 145500 145600
+145700 155a00 155b00 155d00 165d00 165e00 165f00 166000 17310f 183e0d
+186400 186500 186600 186700 186800 186900 191919 192715 193e0d 195f04
+196a00 196b00 196c00 196d00 1a1a1a 1a5f04 1a7000 1a7100 1b1c1a 1b6206
+1b7200 1b7300 1c1c1c 1c6206 1d1d1d 1d1e1c 1d2b19 1d4312 1e1e1e 1f650a
+202020 204615 20650a 212121 222222 232323 242424 246a0e 252525 253f1d
+254b1a 272727 292929 294f1e 2a2a2a 2c2c2c 2d2d2d 2e2e2e 2f2f2f 303030
+313131 333333 33412f 335928 343434 363636 365c2b 383838 393939 3a3a3a
+3a3c39 3b3b3b 3c4a38 3d3d3d 3e3e3e 3e403d 3e5836 3f3f3f 424242 434343
+444444 464646 494949 4a4a4a 4b4b4b 4e4e4e 4f4f4f 525252 545454 5a5a5a
+pop pop % lose return values from readhexstring
+
+
+% rlecmapimage expects to have 'w h bits matrix' on stack
+/rlecmapimage {
+ /buffer 1 string def
+ /rgbval 3 string def
+ /block 384 string def
+
+ % proc to read a block from file, and return RGB data
+ { currentfile buffer readhexstring pop
+ /bcount exch 0 get store
+ bcount 128 ge
+ { % it's a non-run block
+ 0 1 bcount 128 sub
+ { currentfile buffer readhexstring pop pop
+
+ % look up value in color map
+ /rgbval cmap buffer 0 get 3 mul 3 getinterval store
+
+ % and put it in position i*3 in block
+ block exch 3 mul rgbval putinterval
+ } for
+ block 0 bcount 127 sub 3 mul getinterval
+ }
+
+ { % else it's a run block
+ currentfile buffer readhexstring pop pop
+
+ % look up value in colormap
+ /rgbval cmap buffer 0 get 3 mul 3 getinterval store
+
+ 0 1 bcount { block exch 3 mul rgbval putinterval } for
+
+ block 0 bcount 1 add 3 mul getinterval
+ } ifelse
+ } % end of proc
+ false 3 colorimage
+} bind def
+
+
+32 32 8 % dimensions of data
+[32 0 0 -32 0 32] % mapping matrix
+rlecmapimage
+
+8f0001020406080c110f1418191c1f21238f23211f1c1918140f110c080604020100
+8f01030507090c0e15171c2322252728298f2928272522231c17150e0c0907050301
+8f0205070a1013161b2324282c2e3035328f3235302e2c2824231b1613100a070502
+8f04070a1114171d222a2d3134373a3b3c8f3c3b3a3734312d2a221d1714110a0704
+8f060b11141920262b3036393d3f4344458f4544433f3d3936302b26201914110b06
+8f080c13171e252c35383d414547494c4d8f4d4c494745413d38352c251e17130c08
+8f0c0e161d262c33393e44484c505254558f555452504c48443e39332c261d160e0c
+8f0d141b222b35393e464a50545c6064658f6564605c54504a463e39352b221b140d
+9f1219232930383e464b515b6175858e918c847b6d615b514b463e383029231912
+9f141c242d363d444a515c658899989795938d878278655c514a443d362d241c14
+9f172329313a4148505b65929b9c9b9a97948f89837f77655b5048413a31292317
+9f1a222c363d464d5461889b9d9e9d9b9896908a86807a6f61544d463d362c221a
+9f1c252f384047505d75999c9e9f9e9c9996938b86807c74675d504740382f251c
+9f1e27313a424a536085989b9d9e9d9b9896908a86807a746b60534a423a31271e
+9f2329353b444c54648e979a9b9c9b9a97948f89837f7a736a64544c443b352923
+9f232a333c454d5a659195979899989795938d87827d797269655a4d453c332a23
+8b232a333c454d5a658c93949601969194938d8983807c766e62655a4d453c332a23
+9f2329353b444c5464848d8f9093908f8d8986817d79736c5764544c443b352923
+9f1e27313a424a53607b87898a8b8a898783817e7a746e665860534a423a31271e
+8b1c252f384047505d708283860186918382807d7a767168565f5d504740382f251c
+8b1a222c363d464d5461787f800180917f7d7c797471685e4f61544d463d362c221a
+8d172329313a4148505b65777a7c7a917a7976736e685e4e655b5048413a31292317
+8c141c242d363d444a515c656f74927473726e6c66564f655c514a443d362d241c14
+9f1219232930383e464b515b61636b6a6962575859615b514b463e383029231912
+8f0d141b222b35393e464a50545c6064658f6564605c54504a463e39352b221b140d
+8f0c0e161d262c33393e44484c505254558f555452504c48443e39332c261d160e0c
+8f080c13171e252c35383d414547494c4d8f4d4c494745413d38352c251e17130c08
+8f060b11141920262b3036393d3f4344458f4544433f3d3936302b26201914110b06
+8f04070a1114171d222a2d3134373a3b3c8f3c3b3a3734312d2a221d1714110a0704
+8f0205070a1013161b2324282c2e3035328f3235302e2c2824231b1613100a070502
+8f01030507090c0e15171c2322252728298f2928272522231c17150e0c0907050301
+8f0001020406080c110f1418191c1f21238f23211f1c1918140f110c080604020100
+
+%
+% Compression made this file 35.06% of the uncompressed size.
+%
+
+
+showpage
+
+% stop using temporary dictionary
+end
+
+% restore original state
+origstate restore
+
+%%Trailer
diff --git a/macros/latex/contrib/prosper/img/green-bullet-on-blue.gif b/macros/latex/contrib/prosper/img/green-bullet-on-blue.gif
new file mode 100644
index 0000000000..dc3a3a9c1f
--- /dev/null
+++ b/macros/latex/contrib/prosper/img/green-bullet-on-blue.gif
Binary files differ
diff --git a/macros/latex/contrib/prosper/img/green-bullet-on-blue.ps b/macros/latex/contrib/prosper/img/green-bullet-on-blue.ps
new file mode 100644
index 0000000000..2f0f7b84a9
--- /dev/null
+++ b/macros/latex/contrib/prosper/img/green-bullet-on-blue.ps
@@ -0,0 +1,253 @@
+%!PS-Adobe-2.0 EPSF-2.0
+%%Title: /export/home/goualard/TEMP/green-bullet-on-blue.ps
+%%Creator: XV Version 3.10 Rev: 12/16/94 - by John Bradley
+%%BoundingBox: 276 376 336 416
+%%Pages: 1
+%%DocumentFonts:
+%%EndComments
+%%EndProlog
+
+%%Page: 1 1
+
+% remember original state
+/origstate save def
+
+% build a temporary dictionary
+20 dict begin
+
+% define space for color conversions
+/grays 60 string def % space for gray scale line
+/npixls 0 def
+/rgbindx 0 def
+
+% lower left corner
+276 376 translate
+
+% size of image (on paper, in 1/72inch coords)
+59.97600 40.03200 scale
+
+% define 'colorimage' if it isn't defined
+% ('colortogray' and 'mergeprocs' come from xwd2ps
+% via xgrab)
+/colorimage where % do we know about 'colorimage'?
+ { pop } % yes: pop off the 'dict' returned
+ { % no: define one
+ /colortogray { % define an RGB->I function
+ /rgbdata exch store % call input 'rgbdata'
+ rgbdata length 3 idiv
+ /npixls exch store
+ /rgbindx 0 store
+ 0 1 npixls 1 sub {
+ grays exch
+ rgbdata rgbindx get 20 mul % Red
+ rgbdata rgbindx 1 add get 32 mul % Green
+ rgbdata rgbindx 2 add get 12 mul % Blue
+ add add 64 idiv % I = .5G + .31R + .18B
+ put
+ /rgbindx rgbindx 3 add store
+ } for
+ grays 0 npixls getinterval
+ } bind def
+
+ % Utility procedure for colorimage operator.
+ % This procedure takes two procedures off the
+ % stack and merges them into a single procedure.
+
+ /mergeprocs { % def
+ dup length
+ 3 -1 roll
+ dup
+ length
+ dup
+ 5 1 roll
+ 3 -1 roll
+ add
+ array cvx
+ dup
+ 3 -1 roll
+ 0 exch
+ putinterval
+ dup
+ 4 2 roll
+ putinterval
+ } bind def
+
+ /colorimage { % def
+ pop pop % remove 'false 3' operands
+ {colortogray} mergeprocs
+ image
+ } bind def
+ } ifelse % end of 'false' case
+
+
+
+% define the colormap
+/cmap 687 string def
+
+
+% load up the colormap
+currentfile cmap readhexstring
+040e24 248a0c 1c4e14 2c5074 142e15 2cc80c 1c6f0c 24ab0c 1c2e61 2c6a6c
+0c2024 2c4ea3 1c4e44 143e21 0c1e44 2ce804 2cba0c 243e78 345a9c 1c5e0d
+1c7e0c 0c1e2c 249a0c 0c3244 2cd60a 34ae47 345abb 2c669c 0c1622 24428d
+24626c 24b20c 1c3574 2c9a44 1c6224 1c770c 34f60a 1c5612 14264c 248a2c
+143617 34be2c 0c2634 34ca24 247278 2c54b4 1c4613 247e3c 3c5aa4 345e8f
+142618 348a6c 2cee04 1c660c 041a3c 2cce08 1c3660 1c466c 247e2c 2ca62c
+2cde08 3462b5 2cb22c 24920d 2cc20c 143834 247628 1c5628 142a5e 0c0e24
+2c56ac 1c5844 24860d 24a20d 3c5eb4 2c66a8 2c4a99 2cb210 245e54 1c3614
+144627 246e0c 1c316c 141e19 3452a8 2c964c 247254 2c62ac 141e30 345ec4
+0c172c 144634 2c5c8c 1c3a7c 24760c 142634 246a17 2cd214 2c4678 1c4e2c
+1c3214 2caa0c 2c668c 2c8c54 141e44 34e60c 34b63c 34a45c 1c682c 1c5a1c
+1c461c 2c7e64 3c62a9 34ee07 248a1c 1c521c 2c4e8c 2c945c 246664 1c2e4c
+245064 1c4854 1c3e54 2c3a64 246a3c 2c863c 349e5c 24467c 248664 34be3c
+1c4014 24800c 2c5e7c 24664c 2c824c 34a23c 2ca61c 34926c 34fe0c 2cc219
+2c628c 2c7264 243a7b 34669c 2c4694 3456b8 3c5c94 0c1837 34688c 345294
+143224 2c52ac 1c5254 24724c 2cbe14 345eac 1c5e34 142654 34c634 24921c
+143944 0c122c 1c5654 24721c 141f3c 24761c 14263c 142254 1c2a54 1c2a5c
+3466a4 3462aa 34d21c 243e84 0c1e3c 24861c 2c4aa4 2c4684 34b64c 243a84
+041229 248e0d 1c5210 143214 1c3261 2c52a4 2c8e48 247644 2cbe0a 345ea4
+1c620f 249e0d 2cda07 34b24c 345eba 2c6a96 0c1a20 244694 34fa0c 1c5a0e
+142a44 143a1c 0c2a2c 247678 1c4a13 3c5eab 142a15 1c6a0f 2cd20a 1c4a64
+248224 2ce208 2cb624 24960c 1c5a2c 0c1222 24a60c 2cb60c 1c3a15 24720d
+142219 247a0d 142a30 2cae0d 2c6a84 14224b 34ea09 34f207 2c6274
+pop pop % lose return values from readhexstring
+
+
+% rlecmapimage expects to have 'w h bits matrix' on stack
+/rlecmapimage {
+ /buffer 1 string def
+ /rgbval 3 string def
+ /block 384 string def
+
+ % proc to read a block from file, and return RGB data
+ { currentfile buffer readhexstring pop
+ /bcount exch 0 get store
+ bcount 128 ge
+ { % it's a non-run block
+ 0 1 bcount 128 sub
+ { currentfile buffer readhexstring pop pop
+
+ % look up value in color map
+ /rgbval cmap buffer 0 get 3 mul 3 getinterval store
+
+ % and put it in position i*3 in block
+ block exch 3 mul rgbval putinterval
+ } for
+ block 0 bcount 127 sub 3 mul getinterval
+ }
+
+ { % else it's a run block
+ currentfile buffer readhexstring pop pop
+
+ % look up value in colormap
+ /rgbval cmap buffer 0 get 3 mul 3 getinterval store
+
+ 0 1 bcount { block exch 3 mul rgbval putinterval } for
+
+ block 0 bcount 1 add 3 mul getinterval
+ } ifelse
+ } % end of proc
+ false 3 colorimage
+} bind def
+
+
+60 40 8 % dimensions of data
+[60 0 0 -40 0 40] % mapping matrix
+rlecmapimage
+
+84591a591a5982591a5982591a5982591a5982591a5982591a5982591a5982591a598259
+1a5982591a5982591a5982591a5982591a5982591a5982591a5982591a5982591a598259
+1a5982591a590059
+3a59001a
+015981915989591a591a591a591a591a011a90591a591a591a591a591a591a591a591a59
+82592d5982591a5992591a591a591a591a591a591a591a591a591a590159
+8191590159891a591a591a591a591a590259811a5982591a59015982573d5786571b4b1b
+4b1b4b824b57590159871a591a591a591a598c591a591a591a591a591a591a59
+0159811a590859831a591a5982591a598b591a5957947656bb2f7d27ba87ba676f2cc357
+1a590559811a590859811a590059
+8c591a591a591a591a591a591a590159831a591a598c59c2ab8c1e85423aaf3f16bf4989
+493b877e33cb4b57591a831a591a598a591a591a591a591a591a5982591a59
+0159811a590159812d590159812d5982591a5901598e1a59c21b4e9c6ca53a48b5d5bf88
+df89df1fd43ed419752c575982591a5982592d590159812d590159812d5982591a590059
+
+82591a59825991590159812d590159812d5995591a591ac25ca2d6a35e1448b5d5bf6507
+1f10bc400586058b6a6bcb4b5982592d590159812d590159812d590359811a59
+82591a590659811a590159812d599159c2840cd622512383013f1649071f10bc05890537
+d0376181c1804b590159811a590159811a590159832d592d5981591a
+82591a5984592d592d5982592d5982591a59015985c25c5b4313068e068348b5d5bfd84d
+1fbc0537d018c089c018612bc1cb57591a5982591a590159811a590259811a590059
+82591a590759812d5981591a901a8f7963c7be605e1448b51649df4dbc05830518c0d38b
+d369d33cac9e6b2c57591a5984592d592d5982591a590159811a59
+811a590159812d5984592d59915901598f1a59cdd15073c7be062383013fbf491f901fbc
+05d0c0d30fe234e269d3618175c35982591a590359812d5984591a591a59
+82591a590759991a591a595ca06eb6c760065e83013fbf6507104037d03c0fe2248d2434
+71d3182bb2cb57591a591a590359812d590159001a
+811a5988591a5991591a592d5993591a59cd390dccb6c7be51238301d5bfd80710059105
+183ce234c68a240f69c0d02989c3591a590159832d592d590259811a59
+82591a590259832d591a59a7591a591a31170dccb61335065e8301d5bf6507104005183c
+0f7124c6e334d3c0378b6bcb57591a590459842d591a591a
+82591a5982592d590359811a599759c262410dccb6c735062383013f16d81f104005d0c0
+6934013489e20f6918378b19804b5986592d591a5991590459
+82591a590259832d591a59a7591a591a7a96822eb6c7be512383013f1649df1fbc053718
+c0690fe20f3cc0d0058b3e67c3591a590459842d591a591a
+811a590159812d5902599b1a591a59cda0b7822e02c7becfdb1448b5d5bf071f104005d0
+18c03c813cc089c0d037059adf554b1a590159832d592d590259811a59
+82591a590359811a590159991a5930c8b7c92e0225136006dd83b5d516d8071fbc400537
+d0188118d081d0058805bcd90721c3591a590459812d5982591a59
+811a5982592d5982592d5996591a591a59cdca642882ccb6133506231401b5d5bf071f83
+1fbc400581053781370501058d40101f07214b1a591a591a5991590259811a59
+82591a590459812d590159011a910a04da82cc02c7be605edd83013f1649651f831f10bc
+40034081bc1f851f076527c35982591a590359812d590159001a
+82591a59845991592d590259851a59cd2ace288e282e0225133506238348b53fbf490781
+071f811f10021081d91f881fdfd8bfba4b591a5984592d592d590259811a59
+0159811a590259831a591a5996591ac2c832642882ccb6c7be60db238301b53f16bf6507
+0107831f071f0787076549169f861b5982591a590359842d591a591a
+811a590159821a591a811a590159871a59cd38dcce28828b8202251335065edd8348b5d5
+83d516bfd801d88165d801d886bf16d527564b1a811a590259812d590459
+84591a591a590259812d5981591a011a926215ce044f82cc022513355106dd144801b5d5
+81d5168116bf01bf011686d53f722f8d4b5984591a592d5901598491591a591a
+82591a590159021a8b591a2d59914a9236dc04b782898202b625be355106dd83828348b5
+85b53fd53fd53f813fb586b501d299e0571a811a590259812d590259811a59
+84591a592d1a821a2d1a831a2d912d882d9154b80a32044f8289820225c7be3551062383
+018301480301024885834209aac2590159812d590259812d5982591a59
+041a842d912d912d972d912d975462c4dcceb728822e02b6c71335cfdb0623dd14831483
+1483028385dda57c66575982591a5902598191590259811a59
+81592d042d03b094c590c54cb1770adcceb728822e02b62513be35510681065e815e238c
+23dd235e23067c76abc2591a5982592d590259812d590159001a
+842d912d97b081b0c58ac51dad5dad5db3208e7b538e5332ceb728822ecc0225c713be35
+cf83cf06db06820651cf89cf6c4e94c2591a591a590259812d590259811a59
+87912db0c51d5db35201528ea9440844a944a8261c5332ce6428828482cc02b625812513
+8113be81be35023586be22478cabc25982591a5982592d590259842d591a591a
+840bb0c55d5281529d8b9da7e10e68ae68aea493585301538332ce64288528822ecc02b6
+82b625c703c7866dd60ce4ab1a5984591a591a5902598191590459
+880b1db35244a7680e93019383b4a1b4a182a15aa189a1d71c53dc3264b7da82018201cc
+020201b68673639831abc2590159811a590159812d590259842d591a591a
+864c1d2044a70e938793a1b400d70045000100824500d701d78853dc32ce046428da8281
+822e012e866e635b78319b590259811a5982592d590259812d590259811a59
+8b4c1d2044a70e93b4a1b4d70084004500450083004500d785d71cc453dcce85ceb74f28
+4fc987c941a0d15cab3d5982591a590159811a590159812d590259812d5982591a59
+88b0c55d529da7680e930193875aa1b4a1d7a1d71c861c5a931558a65f835fde32ca88ca
+96a0790331cdc2590559811a5982591a5902598191590259811a59
+880bb01db32052449de188e10e68ae68ae0eae0e830e680e9d8d9d44b8208e7f74951230
+cdbd70c201c282591a5984591a591a5982591a5982592d590259812d590159001a
+86542db0c51d5d208820520844a944a944a901a98c4408b852205d8e1dc5b00b2d1a011a
+0159831a591a590259811a5982591a5982592d590259812d590259811a59
+831a2d540b830b4cc51d811dad81ad5d845d8e5d8e5d885d115dad1d901d4c0b830b9791
+1a811a590759011a82591a5904598191590259842d591a591a
+011a0191832d97540b810b4c014c82907490839074904c024c890bb99746912d1a592d59
+82592d590159831a591a590159811a5984592d592d5984591a5991590459
+
+%
+% Compression made this file 35.35% of the uncompressed size.
+%
+
+
+showpage
+
+% stop using temporary dictionary
+end
+
+% restore original state
+origstate restore
+
+%%Trailer
diff --git a/macros/latex/contrib/prosper/img/green-bullet-on-white.gif b/macros/latex/contrib/prosper/img/green-bullet-on-white.gif
new file mode 100644
index 0000000000..37b0ad1718
--- /dev/null
+++ b/macros/latex/contrib/prosper/img/green-bullet-on-white.gif
Binary files differ
diff --git a/macros/latex/contrib/prosper/img/green-bullet-on-white.ps b/macros/latex/contrib/prosper/img/green-bullet-on-white.ps
new file mode 100644
index 0000000000..3d834f21a2
--- /dev/null
+++ b/macros/latex/contrib/prosper/img/green-bullet-on-white.ps
@@ -0,0 +1,251 @@
+%!PS-Adobe-2.0 EPSF-2.0
+%%Title: /home/fred/TeX/STYLES/Prosper/img/green-bullet-on-white.ps
+%%Creator: XV Version 3.10a+FLmask Rev: 12/29/94 - by John Bradley
+%%BoundingBox: 276 376 336 416
+%%Pages: 1
+%%DocumentFonts:
+%%EndComments
+%%EndProlog
+
+%%Page: 1 1
+
+% remember original state
+/origstate save def
+
+% build a temporary dictionary
+20 dict begin
+
+% define space for color conversions
+/grays 60 string def % space for gray scale line
+/npixls 0 def
+/rgbindx 0 def
+
+% lower left corner
+276 376 translate
+
+% size of image (on paper, in 1/72inch coords)
+59.97600 40.03200 scale
+
+% define 'colorimage' if it isn't defined
+% ('colortogray' and 'mergeprocs' come from xwd2ps
+% via xgrab)
+/colorimage where % do we know about 'colorimage'?
+ { pop } % yes: pop off the 'dict' returned
+ { % no: define one
+ /colortogray { % define an RGB->I function
+ /rgbdata exch store % call input 'rgbdata'
+ rgbdata length 3 idiv
+ /npixls exch store
+ /rgbindx 0 store
+ 0 1 npixls 1 sub {
+ grays exch
+ rgbdata rgbindx get 20 mul % Red
+ rgbdata rgbindx 1 add get 32 mul % Green
+ rgbdata rgbindx 2 add get 12 mul % Blue
+ add add 64 idiv % I = .5G + .31R + .18B
+ put
+ /rgbindx rgbindx 3 add store
+ } for
+ grays 0 npixls getinterval
+ } bind def
+
+ % Utility procedure for colorimage operator.
+ % This procedure takes two procedures off the
+ % stack and merges them into a single procedure.
+
+ /mergeprocs { % def
+ dup length
+ 3 -1 roll
+ dup
+ length
+ dup
+ 5 1 roll
+ 3 -1 roll
+ add
+ array cvx
+ dup
+ 3 -1 roll
+ 0 exch
+ putinterval
+ dup
+ 4 2 roll
+ putinterval
+ } bind def
+
+ /colorimage { % def
+ pop pop % remove 'false 3' operands
+ {colortogray} mergeprocs
+ image
+ } bind def
+ } ifelse % end of 'false' case
+
+
+
+% define the colormap
+/cmap 723 string def
+
+
+% load up the colormap
+currentfile cmap readhexstring
+041808 049008 8c948c 045204 4c544c 04c804 84e284 449644 c4cbc4 0c380e
+04ac07 cce6cc 345e2c e4e7e4 046604 2c3a2c 347234 e4fee2 048208 64cc60
+34922c 24b224 04e404 044604 647264 242623 049f07 8cae8c 04bc06 24c61c
+f4f8f3 1c541c 04d804 1c621c 1c7220 0c280d 14910f 045e04 047c04 ccdcd0
+14ac18 1c481c 747473 04d105 0c6c0b 24852a 1c381c f4f1f3 acafac f4fef5
+0c310c acc6ac 049708 a4a4a3 3c4a44 148314 144812 9cea94 04b405 149e14
+1cbc1c 044004 e4fef4 dcdddd 748274 5c5959 4cba54 145b11 145413 147412
+c4fec4 e4f1e7 146411 088a0a 243028 09c207 fcf8f3 147c13 14c80e acceac
+3c3939 04f405 044e07 07a608 14d00f 0c1f10 0c900b d4d3d4 ecfee3 1c291d
+0c6e14 bcbfbd d4f6d4 909a94 4c5a50 0cac08 24ba24 547e54 0cbc0a 0c5c16
+0c7c0b fcf1fb acb8ac 1c311c aca7a9 e2e2e2 a4e2a4 0cc80a 6c9a6c 143715
+0c650a 0c840b 07de06 14970c 0c980a 0cb40a 848583 ecf0f0 c3c6c3 0c540d
+0c740c cccccc 74ce6c 30a02c 04ec05 54aa5c 6cb66c 9cfa9c 2c862c 5c926c
+6ca674 b4deac 9cda9c 34aa2c 6c7e6c acfeac 448244 34d22c 7d7d7c 6c6d6c
+445644 4c4d4c 1c7a19 1c3e1c 3c3f3c 2c422c 7c9a84 54c254 dceadc 144014
+343231 bccebc bcbabc 447244 6c6664 9c9d9c 7caa7c 349a38 6c7a74 84b69c
+1c4e18 898a89 ccfadc 1c6c2c b8e2c0 1c8a24 a1aaa1 3c4e3c 5f5e5c d8fed8
+24be24 78d670 688668 148a14 14a618 145624 0c480e 2c292b 142916 1c921c
+d4dad9 243828 143017 b4d2bc b4b7b5 1c961c 8c868c 247e24 144e13 04fa04
+246224 fcfefc 0c4e0c ace2b4 3caa3c 244e24 0c180c 949394 545454 ece9ec
+343634 2cb127 6c736c 0ca00c 0cda08 0c5c0b 0ccf06 146a0c b4b2b4 646464
+b4c2b4 0c3f0c ecfdf9 e4dedc ccfdcc 2c2f2b 142214 146b16 c4c2c2 545b54
+2cb62c 74ba74 346634 b4fcb0 244224 444242 246a24 e4feec 0ce204 f4f9fc
+f4eefc 444744 54b654 fcf9fc 0c9114 dcd6d4 ecfeec 0c7b14 0cc614 0c6314
+0c8414
+pop pop % lose return values from readhexstring
+
+
+% rlecmapimage expects to have 'w h bits matrix' on stack
+/rlecmapimage {
+ /buffer 1 string def
+ /rgbval 3 string def
+ /block 384 string def
+
+ % proc to read a block from file, and return RGB data
+ { currentfile buffer readhexstring pop
+ /bcount exch 0 get store
+ bcount 128 ge
+ { % it's a non-run block
+ 0 1 bcount 128 sub
+ { currentfile buffer readhexstring pop pop
+
+ % look up value in color map
+ /rgbval cmap buffer 0 get 3 mul 3 getinterval store
+
+ % and put it in position i*3 in block
+ block exch 3 mul rgbval putinterval
+ } for
+ block 0 bcount 127 sub 3 mul getinterval
+ }
+
+ { % else it's a run block
+ currentfile buffer readhexstring pop pop
+
+ % look up value in colormap
+ /rgbval cmap buffer 0 get 3 mul 3 getinterval store
+
+ 0 1 bcount { block exch 3 mul rgbval putinterval } for
+
+ block 0 bcount 1 add 3 mul getinterval
+ } ifelse
+ } % end of proc
+ false 3 colorimage
+} bind def
+
+
+60 40 8 % dimensions of data
+[60 0 0 -40 0 40] % mapping matrix
+rlecmapimage
+
+10bf8131bf05bf03e98165e902e9046587bf3158ec31bfe9658265e9bf09bf
+10bf8131bf04bf81e9bf01bf02e98265bfe982e965e901e981bf318131ec82ecbfe982e9
+65bf0abf
+12bf82751ebf83bf1ebf318231ec3102318111318131bf81bfe901e981bf318131bf01bf
+01e90bbf
+0fbf02e901bf023101ec021101a981d6a981a9118111318131bf14bf
+0fbf8165e901e988e5bfd4ecd66add07808c80149dc2137f46a911d431bfe981e9bf0fbf
+
+0fbf01e982bfe9318331a49ce28fe2454d37562456dc71567bab87a9d4bf81bfe981e9bf
+81bf318131bf0abf
+10bf8ac775bf311bde43224d37568656cb535f1a733c893cae8506a91131bfe9bf01bf81
+58bf0abf
+0fbf911ebf31b761a0442245ed56721a530a3a4e3a813a4e864e73c94246e3bf10bf
+07bf81e9bf82bfe9bf92bf1ebf31ec4f0c38e2ef8e4d49561a530a3a6283624b052b8a2b
+ce4e60c2dfe331bf4cbf0cbf
+0abf81e9bf82bfe9ec8eec83de1f21778e786f01341a0a3a1c851c4b052b20168b162054
+aa93df11312fe965bf0abf
+0ebf8d3111883d77cdcf78646f0134530a810a1c911c4ece20167c517c16542893a9ec31
+e965bf0abf
+08bf01e999bfe91ebf316cc07743cd45786f49561a530a3a624b6b2b707c510151877c70
+4edcaba9bfe981e9bf0abf
+0bbf01e985bf27d34352cf90cf0e4d2656011a530a1c62ee2b20167c5102518816cc1db9
+d611bfe9bf0abf
+07bf81e9bf01bf90e9bf4c86d3445277d92c786f49721a0a3a853a4b0520167c827c51bd
+88bd5116e44b157a11bf0cbf
+0dbf8d3f0fc33d4403cfbb0e3756011a0a860a624b2b20167c817c5102510116854b897b
+a911bf0bbf
+08bf82e9e5bf97bf75dab209bcc021ef254d2649561a533a1c4b052b70167c037c811620
+85203a853911bf0bbf
+0bbf0131869eb6d3b0bc7748884845646f561acb0a7382734b2b812b1683167c16cc01cc
+012b844b2813d4bf0bbf
+0abf0231955e236db0c04463cf45646f5634cb533a73624b2b2016821670548854ce2b20
+4b28e831bf0bbf
+0abf023183b5b6d3b089b044436e45786f49341a871a0a733a626b2b200120896b4e6b05
+2b1c5f9decbf0bbf
+09bf8131bf97bf31d82e09d3b044cd485a786f1201cb1a530a73621c052b852b054e4b1c
+0585053a282d58bf0bbf
+0bbf9431bf556709b03844cd482c7864125634cb1a5f0a7382734b0501050162011c854b
+0aae2d58bf0bbf
+0bbf0131934a236dd3b0bc7743485a786f1201341acb535f3a813a1c011c0173023a8453
+3b1458bf0bbf
+0bbf8431bf0455098309d338778277ef2c852c266f1201348134cb83cb530a3a013a810a
+5f815f0a850a1ab37d58bf0bbf
+08bf81e9bf93bf31bf18d83209d338c044cd6e0e2c64126f0172837271cb5382530a5383
+53ae531a851a01a57e58bf0bbf
+0bbf01e5837600230901098138c082c0482c862c7864126f49568156728272341a811a72
+0272864912bb841131bf0abf
+03bf94e9bfe9bfe9bf1ebf1ebf275923b632099538c044ef81ef7881786481646f816fad
+84adea01ea560156882449ad2da3115831bf0abf
+04bf02e992654ce61e75bf0d185523b66d0995bcc043cd2c812c7881786483646f64f001
+f08b6f496f49642d6382e3314cbf0abf
+01bf85e9e5e9652fc784c7693fc7698a69c7d2b200232eb60929bc84bc6343ef2c862c78
+45784d78ed82ed6f6489644d45a3afa2114c31bf0abf
+01e58175c783c769d5eb8ceb797679dab87908db67c4b66d876d9538b0447743ef84ef6e
+2c78458e455a457864788ecfbe9fd4315831bf0abf
+88e5750d3f5779da98d083d0689b3501358d5d0236c45567b6320995b04477cd92cdef6e
+2c6e5ad95acf782c4517813e31bf2fbf0bbf
+887569575bd0689bc5ba83ba8a2a8a878aca2a74db5955b284b23209d3b081b077017701
+cd016e02ef876e2c6e4810a4d4bf01bf814cbf0abf
+873f79b835c5ba2a9a829aa8410141868de1d104c690d881d85583552e6d958b9538b0c0
+77cd03cd6377afcd84cd4321c1d483d4e9654c814cbf0abf
+88575b9b742ad1418de181e15081509603968450c8d759d881d8b283b2326d0981099585
+9538bcb0381f871f95c3995ca931bf81bfe981e9bf0bbf
+8779b8c58ad1c6e750855096d7b119b104b184d7b119d855845523b2b66d016d83952995
+2987296de09211d431bf01bf01e90cbf
+8979d0c52aa88de15096b181b119041901b18796c80fd74a59b2b602b6016d86326d328f
+ac0b318331bf31bf01bf81e9bf0cbf
+88575b9b742ad1c68de186e1c850c850c850865096c850e1e70487045e8ca7912e672e85
+2e8cac33473101318158bf02bf82e9bfe981e9bf0abf
+8b3f799835c5742a8bd1a8dbc683c68dc68d818dc601c68cdbd1ca40a15da66697274711
+31863158bf31bf31bf82bf4ce985e9bfe9bfe9bf0abf
+8bc76957dab8359bc5a1748a2a052a018a01748b029ba6665b279447ec311ebf83bf581e
+bf82bf4cbf02bf82e9bfe981e9bf0abf
+881e75693f57795bb8d082d068350135029b0135013088b8985b7608b40d751e811ebf83
+bf1e75bf81bf4c814cbf05bf81e9bf0bbf
+83e9e52fc782c7693f823f5779817976027681da760276827957b482b4c7750175822fe5
+bf82bf4cbf01bf814cbf81bfe981e9bf01bf01e90dbf
+
+%
+% Compression made this file 26.36% of the uncompressed size.
+%
+
+
+showpage
+
+% stop using temporary dictionary
+end
+
+% restore original state
+origstate restore
+
+%%Trailer
diff --git a/macros/latex/contrib/prosper/img/red-bullet-on-blue.gif b/macros/latex/contrib/prosper/img/red-bullet-on-blue.gif
new file mode 100644
index 0000000000..1cdb1c2f55
--- /dev/null
+++ b/macros/latex/contrib/prosper/img/red-bullet-on-blue.gif
Binary files differ
diff --git a/macros/latex/contrib/prosper/img/red-bullet-on-blue.ps b/macros/latex/contrib/prosper/img/red-bullet-on-blue.ps
new file mode 100644
index 0000000000..6bbfe37fe6
--- /dev/null
+++ b/macros/latex/contrib/prosper/img/red-bullet-on-blue.ps
@@ -0,0 +1,252 @@
+%!PS-Adobe-2.0 EPSF-2.0
+%%Title: /export/home/goualard/TEMP/bullet-one.ps
+%%Creator: XV Version 3.10 Rev: 12/16/94 - by John Bradley
+%%BoundingBox: 276 376 336 416
+%%Pages: 1
+%%DocumentFonts:
+%%EndComments
+%%EndProlog
+
+%%Page: 1 1
+
+% remember original state
+/origstate save def
+
+% build a temporary dictionary
+20 dict begin
+
+% define space for color conversions
+/grays 60 string def % space for gray scale line
+/npixls 0 def
+/rgbindx 0 def
+
+% lower left corner
+276 376 translate
+
+% size of image (on paper, in 1/72inch coords)
+59.97600 40.03200 scale
+
+% define 'colorimage' if it isn't defined
+% ('colortogray' and 'mergeprocs' come from xwd2ps
+% via xgrab)
+/colorimage where % do we know about 'colorimage'?
+ { pop } % yes: pop off the 'dict' returned
+ { % no: define one
+ /colortogray { % define an RGB->I function
+ /rgbdata exch store % call input 'rgbdata'
+ rgbdata length 3 idiv
+ /npixls exch store
+ /rgbindx 0 store
+ 0 1 npixls 1 sub {
+ grays exch
+ rgbdata rgbindx get 20 mul % Red
+ rgbdata rgbindx 1 add get 32 mul % Green
+ rgbdata rgbindx 2 add get 12 mul % Blue
+ add add 64 idiv % I = .5G + .31R + .18B
+ put
+ /rgbindx rgbindx 3 add store
+ } for
+ grays 0 npixls getinterval
+ } bind def
+
+ % Utility procedure for colorimage operator.
+ % This procedure takes two procedures off the
+ % stack and merges them into a single procedure.
+
+ /mergeprocs { % def
+ dup length
+ 3 -1 roll
+ dup
+ length
+ dup
+ 5 1 roll
+ 3 -1 roll
+ add
+ array cvx
+ dup
+ 3 -1 roll
+ 0 exch
+ putinterval
+ dup
+ 4 2 roll
+ putinterval
+ } bind def
+
+ /colorimage { % def
+ pop pop % remove 'false 3' operands
+ {colortogray} mergeprocs
+ image
+ } bind def
+ } ifelse % end of 'false' case
+
+
+
+% define the colormap
+/cmap 687 string def
+
+
+% load up the colormap
+currentfile cmap readhexstring
+040e24 840a0c 1c3674 440e0c 5c3a6c 241214 2c4e9c 44224c c40604 640e0c
+841e3c a40604 445694 0c1a34 3c3e74 540e0c 24122c 3c5aac 6c1634 b40604
+841634 544a8c 14121c 24428c 740a0c 142a5c 44163c 940a04 340e14 2c4eac
+4456ac 244284 44121c e40204 74366c 642a54 1c1a34 34122c 345abc 6c4a8c
+14122c 0c123c 1c2a4c 34121c d40204 ac0604 242e5c 0c1a3c 541634 b40a1c
+54529c 1c3264 0c162c 2c3a64 4c0e0c 14224c 445aac 0c0e24 8c0a0c 243e84
+3c4e94 741634 94122c 1c1214 2c4a99 9c0608 742a54 3c5abd 1c3a7c 6c0a0c
+4c5a9c bc0604 7c0a0c 1c2a5c 3c0e10 a4122c 6c4284 342e58 5c52a0 54467c
+2c1214 c40a14 4c5294 444a94 441a3c 4c52ac 344274 7c1229 ac0a14 9c0a14
+441211 3452a4 4c2e64 cc0204 1c223f a40a06 5c0e0d 2c1230 3c5eb1 2c4694
+740e1c 4c122c 3452ac 4c1220 345ec4 1c122c 3c1220 dc0204 ac0a0a 5452ac
+4c120f 142653 3456b7 0c122c 8c0e10 741e44 842e5c 34224c 644284 841a44
+4c427c 641e44 541a3c 941a3c 742e64 f40204 3c56a0 7c1a44 2c1e44 3c3264
+24366c 8c122c 5c4e90 7c366c 3c122c 5c122c bc0a1c 9c122c 84224c 24163c
+2c4284 741234 1c1224 6c0e1c 1c2e6c 4c56a4 344684 543264 4c163c 6c2e64
+141a30 2c2e64 243a7e 5c1224 4c4a8c 7c2e5c 643a6c 443e74 ec0204 1c3274
+2c4aa4 342e64 3c1a3c 3c224c 6c1e44 041229 2c52a4 141624 244694 740e0f
+2c52ae 1c1e3c 341634 0c1634 0c1e42 b40e24 54569c 0c1223 9c0a0b 3c5ebc
+6c0e0d bc0a0c 1c2e62 3c1212 6c4688 141e42 ac0e20 4c56ad cc0605 1c2644
+1c1632 64468c 243a74 341214 d40604 7c0e0c 4c3264 dc0604 2c4684 1c1624
+840a14 440e14 24121c 2c4ea4 640e14 a4060c 540e14 3c5ab4 b4060c 141224
+244294 142a64 940a0c a40e24 4456b4 441224 345ac4 1c2a54 341224 ac060c
+5452a4 1c326c 4c0e14 6c122c 142254 2c56b4 445ab4 8c0a14 1c121c
+pop pop % lose return values from readhexstring
+
+
+% rlecmapimage expects to have 'w h bits matrix' on stack
+/rlecmapimage {
+ /buffer 1 string def
+ /rgbval 3 string def
+ /block 384 string def
+
+ % proc to read a block from file, and return RGB data
+ { currentfile buffer readhexstring pop
+ /bcount exch 0 get store
+ bcount 128 ge
+ { % it's a non-run block
+ 0 1 bcount 128 sub
+ { currentfile buffer readhexstring pop pop
+
+ % look up value in color map
+ /rgbval cmap buffer 0 get 3 mul 3 getinterval store
+
+ % and put it in position i*3 in block
+ block exch 3 mul rgbval putinterval
+ } for
+ block 0 bcount 127 sub 3 mul getinterval
+ }
+
+ { % else it's a run block
+ currentfile buffer readhexstring pop pop
+
+ % look up value in colormap
+ /rgbval cmap buffer 0 get 3 mul 3 getinterval store
+
+ 0 1 bcount { block exch 3 mul rgbval putinterval } for
+
+ block 0 bcount 1 add 3 mul getinterval
+ } ifelse
+ } % end of proc
+ false 3 colorimage
+} bind def
+
+
+60 40 8 % dimensions of data
+[60 0 0 -40 0 40] % mapping matrix
+rlecmapimage
+
+8e68d868d868d868d868d868d868d868016881d8688568d868d868d891d868d868d868d8
+68d868d868d868d868d86801688ed868d868d868d868d868d868d868d8
+8e68d868d868d868d868d868d868d8688268d8688668d868d868d8688868d868d868d868
+d8688868d868d868d868d8689068d868d868d868d868d868d868d868d868
+88d868d868d868d868d887d868d868d868d868016895d868d868d868d868d868d868d868
+d868d868d868d8689268d868d868d868d868d868d868d868d868d868
+88d868d868d868d868d888d868d868d868d868d888d868d868d843e2d6bb81bbdc03dc84
+6dbbd643d881d868026890d868d868d868d868d868d868d868d868d8
+a868d868d868d868d868d868d868d868d868d868d868d8cf918404237912df8d3d734222
+b8dcd6d868d801d89068d868d868d868d868d868d868d868d868
+a868d868d868d868d868d868d868d868d868d868d8cfbb9a5c94878fc3e3d4b25f59d414
+7f95764ed6d892d868d868d868d868d868d868d868d868d868d8
+9fd868d868d868d868d868d868d868d868d868d8e232c465878f64c8e3d441cddb9bdb31
+db58d5839b27bbd868d868d868d868d868d868d868d868d868d8
+9f68d868d868d868d868d868d868d868d868d8e29aa365cca948013ab2410b2d13821347
+0801088688898a4c6d43d88fd868d868d868d868d868d868d868d868
+8dd868d868d868d868d868d868d8689168d868e278a26560b44801721b415f2d13478247
+085d985dc2bc51ba77856dd868d868d868d868d868d868d868d868d8
+9ed868d868d868d868d868d868d868d8684353ac67604518c3013a1bb20bdb478647085d
+2cc52c6b956bbc887b4c55d868d868d868d868d868d868d868d868
+016888d868d868d868d868d899d868d868434675d7cecc451848013a410b2dd047085d2c
+c26b2196216bc5bcaf8a27d6d868d868d868d868d868d868d868d8
+81d8688868d868d868d868d8688c68d868d8388125de6009b4180181011b881bcd2dd047
+082cc22181219e019e86216b514b746dd88dd868d868d868d868d868d868d868
+9768d868d868d868d868d868d868d8b35361c9ce600918a90184011b415f138713085d2c
+6b219e7d817d9e879e21c2513e76d6d88cd868d868d868d868d868d868d8
+a468d868d868d868d868d868d868263897dadece6009a918013ad45f0bdb4708bcc2c521
+9e7d017d949e216b5dba7c4e4368d868d868d868d868d868d868
+87d868d868d868d8688168d881d8689068269169da6e0f6009b448013a1bb20b13871308
+bc2c6b219e7d017d819e6b926bbc317f4cd6d868d868d868d868d868d868d8
+89d868d868d868d868d8689968d868cf0e106a03de6009a918483a1bb20b6c1347085dc5
+219e849e7d9e216b926bbcb53e85d668d868d868d868d868d868d868
+8868d868d868d868d8688968d868d8cf97506a360f850f094518483a853a410b2d130884
+08c22c6b210221946bc55dbc47898adcd868d868d868d868d868d868d8
+8868d868d868d868d8689468d868d8628050b703360f09b41848013a41b2db13861308bc
+5d2cc56b016b94c52c5d08475f0a5568d868d868d868d868d868d868
+85d868d868d86801688bd868d868d811242bc15ade608c600918c3013a1bb20b2d134708
+8408c22cc22c812cbc93bc0847d0db144ed868d868d868d868d868d868d8
+87d868d868d868d8689968d868d8681169504a03360f6009b41848013a41b22ddb134708
+010802bc0108014790d0db57dc68d868d868d868d868d868d868
+9e68d868d868d868d868d868d868116950c1b7030f6009451848013a1bb2412d812d1382
+1347080208024791d0db5f57dcd868d868d868d868d868d868d8
+a168d868d868d868d868d868d868cfbe05c14a5a360f6009b41848013a1b415f0bdb1303
+13834713d02d912dcdd43d5568d868d868d868d868d868d868
+9ad868d868d868d868d868d868d8cf5eca50c103de36600945a948018c013a1b41cd0bcd
+2dd02d13db2d892dcd5fb272a46d68e1688968d868d868d868d868d8
+9968d868d868d868d868d868d868622e8e50c1b75a360f6009b4188218013a813ad488d4
+b25f0bcd0bcd2d0b870bb2413a5723bb68016889d868d868d868d868d868
+9bd868d868d868d868d868d868d8265628ca504a5a03360f600945a9488248013a833a1b
+d4b204b2011b91d4c8879cbbd868d868d868d868d868d868d8
+8bd868d868d868d868d868e1d88cd8260c293f50c14a5ade366009830945a9488248013a
+013a871bd41bd41bd41b3a913a647abf4368d868d868d868d868d868d868
+8168d889d868d8e1d8e168e1d8e18de1707eb68e0550c14a5a36ce0f0984094518a94881
+48010101033a0301908f939143d868d868d868d868d868d868d8
+01d88168e103e182aae1aa01aa01a68392b13f508650c14a03360f6084600945b4188118
+480248820148018201481891183015cfd868d868d868d868d868d868d868
+01d882e1d8e182e1aa1d811da08aa0a8a04063c62aa70550c184c1b703360f820f600983
+0945b41801188348a94818011892b4875c5543d868d868d868d868d868d868d868
+01e182aa1da087a0a8d2171f443b448144c08bc03596160550c14ab703de0f810f608160
+0901098145b498b4a9b4a945cc99074e43d868d868d868d868d868d868d868d8
+86701da0a8d244028e02ddd3b619491949192abd163f05508550b74a5a033681360f820f
+6009060993ce1a9ae22668d868d868d868d868d868d868d868
+87aaa0d2449f90d36f846f37aeb9ae89aeb92fb996c7163f05508750c1b74a5a366e0f03
+0f026095ce67544f38d868d868d868d868d868d868d868d868d8
+87a0a844dd1937ae2f812fad83ad34a5718371a5713481341682163f05880550c11c4a5a
+035a3683360f360f970fde86759ad64368d868d868d868d868d868d868d868d868
+85403b02d3e02f832fad34a583a500390082003900010002b1013f8105508550c11cb74a
+5a9b5ac9204a6aac81b0cfd868d868d868d868d868d868d868d868d868d8
+8640d202d3e0aead84ad71a5b10086003900390039008100b181b1d184d116e405508150
+c101c18b2bda618ba15338cf4368d8688f68d868d868d868d868d868d868d868d8
+87a06344dd19e0b92f862f34ad34b171b101b181a5340134010d82b95eab83ab24be698e
+698b804d9d52384368d868d868d8688e68d868d868d868d868d868d868d868
+87aa40d2980233196f826f37ae04ae84b9aeb9ae378c37d919b682c08c923c0c7e1e1188
+11cf432668d868d8688168d88ed868d868d868d868d868d868d868d8
+86701da0a81744028202ddb601b68119498549d9194919b68bb6dd0244981fa84066e126
+d89bd868d868d868d868d868d868d868d868d868d868d868d868d868d868
+8826e1661dcb40a8d23b813b44824498448544984498443b813b17831763a8cb81cbaa83
+aad8e1d88dd868d868d868d868d868d868d8688d68d868d868d868d868d868d868d8
+0126017001aa835bcb0640034002638240634001408106aa89aa66e17026d868d868d899
+d868d868d868d868d868d868d868d868d868d868d868d868d868
+
+%
+% Compression made this file 35.89% of the uncompressed size.
+%
+
+
+showpage
+
+% stop using temporary dictionary
+end
+
+% restore original state
+origstate restore
+
+%%Trailer
diff --git a/macros/latex/contrib/prosper/img/red-bullet-on-white.gif b/macros/latex/contrib/prosper/img/red-bullet-on-white.gif
new file mode 100644
index 0000000000..9d7364ca51
--- /dev/null
+++ b/macros/latex/contrib/prosper/img/red-bullet-on-white.gif
Binary files differ
diff --git a/macros/latex/contrib/prosper/img/red-bullet-on-white.ps b/macros/latex/contrib/prosper/img/red-bullet-on-white.ps
new file mode 100644
index 0000000000..031ca0aa79
--- /dev/null
+++ b/macros/latex/contrib/prosper/img/red-bullet-on-white.ps
@@ -0,0 +1,252 @@
+%!PS-Adobe-2.0 EPSF-2.0
+%%Title: /home/fred/TeX/STYLES/Prosper/img/red-bullet-on-white.ps
+%%Creator: XV Version 3.10a+FLmask Rev: 12/29/94 - by John Bradley
+%%BoundingBox: 276 376 336 416
+%%Pages: 1
+%%DocumentFonts:
+%%EndComments
+%%EndProlog
+
+%%Page: 1 1
+
+% remember original state
+/origstate save def
+
+% build a temporary dictionary
+20 dict begin
+
+% define space for color conversions
+/grays 60 string def % space for gray scale line
+/npixls 0 def
+/rgbindx 0 def
+
+% lower left corner
+276 376 translate
+
+% size of image (on paper, in 1/72inch coords)
+59.97600 40.03200 scale
+
+% define 'colorimage' if it isn't defined
+% ('colortogray' and 'mergeprocs' come from xwd2ps
+% via xgrab)
+/colorimage where % do we know about 'colorimage'?
+ { pop } % yes: pop off the 'dict' returned
+ { % no: define one
+ /colortogray { % define an RGB->I function
+ /rgbdata exch store % call input 'rgbdata'
+ rgbdata length 3 idiv
+ /npixls exch store
+ /rgbindx 0 store
+ 0 1 npixls 1 sub {
+ grays exch
+ rgbdata rgbindx get 20 mul % Red
+ rgbdata rgbindx 1 add get 32 mul % Green
+ rgbdata rgbindx 2 add get 12 mul % Blue
+ add add 64 idiv % I = .5G + .31R + .18B
+ put
+ /rgbindx rgbindx 3 add store
+ } for
+ grays 0 npixls getinterval
+ } bind def
+
+ % Utility procedure for colorimage operator.
+ % This procedure takes two procedures off the
+ % stack and merges them into a single procedure.
+
+ /mergeprocs { % def
+ dup length
+ 3 -1 roll
+ dup
+ length
+ dup
+ 5 1 roll
+ 3 -1 roll
+ add
+ array cvx
+ dup
+ 3 -1 roll
+ 0 exch
+ putinterval
+ dup
+ 4 2 roll
+ putinterval
+ } bind def
+
+ /colorimage { % def
+ pop pop % remove 'false 3' operands
+ {colortogray} mergeprocs
+ image
+ } bind def
+ } ifelse % end of 'false' case
+
+
+
+% define the colormap
+/cmap 735 string def
+
+
+% load up the colormap
+currentfile cmap readhexstring
+140a09 748284 8c050b 3c4244 540408 bcc4c4 8c4a44 c40507 542220 242422
+740404 dce2e4 9c2a24 ac0506 340204 bc8e8c ecf3f0 541517 5c6264 9ca3a1
+e40306 741311 341312 9c0508 f4c2c4 640304 f4f4ec ac1314 6c4244 343533
+d40307 4c534f ac0a04 f4fdfb 740b0b fce4e2 ccd2cc 240a0c 949393 641412
+6c7370 9c0b08 d44a54 44020c acb4b4 441211 840b0b 540c0a 4c261c bc0506
+c4aaa4 741c24 640d0b dcc2c4 9c6264 242a24 d40a04 f4eae4 c40e04 f4f5f4
+4c5a54 241011 8c0a0a 544d4c bccacc a4aba8 443e3c 7c0b0b 5c0d0b 6c0c0b
+8c8e84 b40606 746a6c f40204 341a16 a40508 e4d6d4 fcfcf3 641c1c cc0406
+340b0b 541a1c e40a04 343a3c dc0208 949c98 747e7c 444a4c 342321 e4eae7
+ec0404 841516 bc0b05 6c1311 a40a06 440e0f c46664 f4eef4 2c1111 3c0c0b
+140e0c 848584 842e34 e4fef4 3c1313 2c1e1e d4dedc 441a14 fcf6f7 940a09
+f4d6d4 5c1416 aca6ac 9c1418 5c5254 740d14 b4bebc 841b1e 5c5d5b cccdcb
+5c0c14 ecbab4 6c0d14 fcfefc a49e9c cc6a6c b44644 dca2a4 fc7e84 947674
+dcbabc 64363c ac3634 b47878 bcbdbc a47e7c 7c4a4c fcaaac cc5a64 ac1a1c
+6c6c6c dc7674 843e3c 84625c fcdedf fcb6b4 8c1e1c dccecc 9c4a54 ccc2bc
+840509 342c2c bc1e24 442e2c 9c1a24 a43e44 ac6264 fccac4 848a8c 644a44
+8c9690 94060c 7c141c b40c05 d4d4d4 dc0a0c fcece0 7c6868 9c9c9e 4c0d0b
+843634 fcbeb4 1c0808 7c8381 444443 5c0207 2c2624 7c060c e4e4e3 a4a4a4
+fcc6cc fcf5ec 2c1717 3c3534 545453 2c0907 747574 b4b4b2 4c1212 7c1a1f
+2c2b2c 5c4a54 c4cbce acabac 3c3b3b 7c7d7b 4c4c4a ececec 1c110e ecfef9
+4c1e1c fcd5cf a41214 bc424c c4bec4 c4c5c4 54262c ac0214 646464 34161c
+9c0614 6c0204 b41614 fce5ec ccd6dc 64161c 840a14 540e14 640c14 d40c14
+c40a14 7c0b14 ecaeac b40414 a40614 cc0614 340e14 5c1c1c 34222c ec0614
+6c121c 3c0e14 dcdddc 940e14 fcecec 7c6a74 4c0e14 4c0204 545a57 3c1a1c
+fceef5 ac7e84 ac0a14 4c3e3c 8c8a8c
+pop pop % lose return values from readhexstring
+
+
+% rlecmapimage expects to have 'w h bits matrix' on stack
+/rlecmapimage {
+ /buffer 1 string def
+ /rgbval 3 string def
+ /block 384 string def
+
+ % proc to read a block from file, and return RGB data
+ { currentfile buffer readhexstring pop
+ /bcount exch 0 get store
+ bcount 128 ge
+ { % it's a non-run block
+ 0 1 bcount 128 sub
+ { currentfile buffer readhexstring pop pop
+
+ % look up value in color map
+ /rgbval cmap buffer 0 get 3 mul 3 getinterval store
+
+ % and put it in position i*3 in block
+ block exch 3 mul rgbval putinterval
+ } for
+ block 0 bcount 127 sub 3 mul getinterval
+ }
+
+ { % else it's a run block
+ currentfile buffer readhexstring pop pop
+
+ % look up value in colormap
+ /rgbval cmap buffer 0 get 3 mul 3 getinterval store
+
+ 0 1 bcount { block exch 3 mul rgbval putinterval } for
+
+ block 0 bcount 1 add 3 mul getinterval
+ } ifelse
+ } % end of proc
+ false 3 colorimage
+} bind def
+
+
+60 40 8 % dimensions of data
+[60 0 0 -40 0 40] % mapping matrix
+rlecmapimage
+
+0f7b824d7b6c816c4d824d6c7b817b218421c721c721822167c782c7214d844d6c4d6c7b
+117b
+107b816c4d864df06c4d6c3b2181217b017b814d218821c7217b4d6cf06c4d814d7b027b
+814d7b0b7b
+0f7b814d7b897bd5f06c4d6c7b4d6c4d814d6c016c85ea4d6c4d6c7b817b4d024d037b81
+4d7b0a7b
+0f7b81217b017b834d6cd56c016c82f06cf081f0ea01ea84a6d5b54d7b027b014d107b
+0f7b8221c77b827bf06c906cd590de858e33e6a2759b7d8990ea6cb581b57b127b
+0f7b01218b7bb54d6c18f14e6f34a25be982e971e987e92e92609da6b54d844d217b214d
+814d7b0b7b
+107b8d216c4d6cf1112f3445435b6d294b834bca291b861b17718d23b54d814d2182214d
+6c816c7b0a7b
+0f7b9d3b7b6c3588a92f5d15432e6d4b0d475ca32047dc07cfd47ec9a64d217b4d824d6c
+7b0a7b
+0c7b914d3b7bb56c82ce2b4e4415432e6d294b473181315c835c4f1e548654071b0cabb5
+4d824d614d014d0a7b
+0a7b814d7b817b6c016c8d8283116faf5b22433e6d4b0d470701078e4f1e145a14544fd4
+8491b56c7b4d7b0b7b
+0e7b924d6c880ed9277ad3432e6d294b0d31074f1e548354145a14851454db172a908490
+4d10217b0a7b
+087b014d017b8b3b7b4d875fed6fda73d32e3e833e295e478447074f54140214025a88e5
+1edf80d56c10217b0a7b
+0b7b816c7b897b935011edd77a195b2e852e6d295e203182314f140314035a871407e0b4
+d57bc77b0a7b
+077b816c7b817b4d894d7b4deb5051ec047a2282222e3e883e295e0d475c1e5414011401
+528a5a495a54e1d28af07b217b0a7b
+077b814d7b017b8b4d7be8b0305fe3ed34bdd32e892e6d295e0d31074f5414011481525a
+025a861407985bf0d57b0b7b
+097b974d7b4db5cc3db95fa9275d19a22e963e6d4b0d4731071e5481541481145a015a87
+54a507cf9a89ea7b0b7b
+087b024d8b6c4deb62685fbc443445222e822e6d298529204731071e821e541482145a54
+8954384f1ee1f28ab54d7b0a7b
+087b834d7b4d6c946cbf62632dbc2f44450ab12e026d295e0d5c314f1e821e54148b1454
+383a071e4fdfcb6c4d7b0a7b
+097b014d016c96e4b9685fecd9dad37343963e6d294b0d473107e14f1e5481544f894f5c
+314f07cf0cb54d7b0a7b
+097b034d9225d11668a9d944da0a43b12e3ea1294b47a3318431074f1e4f894f5ca35c07
+31e05b6c7b0b7b
+097b944d7b4d6c25b6e2685f2f78197a22b12e026d174b0d830da34731813107820731a3
+01a38647cfd2bd6c4d7b0a7b
+0b7b016c94e43d16632dec2f784522b1432e3ea1174b0d5e0d478147318231472087205e
+0d4b02666c7b0b7b
+0b7b8c6c4d3f2562162dec2f78197a228b222e023ea1174b295e4b0d4782470d5e875e17
+4b17d894b57b0b7b
+087b814d7b817b4d874d483d6216685f2f852fda7a452243834302a16d816d2985295e4b
+cf0d5e885eca1729e9dd9c6c7b0b7b
+097b826c7b6c8d6ccc003dd1e2e711d904277a452281222e862e026d3e6d294b8c4b1729
+6d028b96b1337f6c4d7b0a7b
+077b944d7b6c4d6c4da469c6b6e2505fbc2f7844da457a4381432e012e823ea1178c17a1
+6d3ea16d2e5b27ead54d7b0a7b
+047b864d6c4d3b6c103b843b4dc58cc687c66216635fd9ec788178348134738173438143
+2e832e3ea13e8b3ed82e3e0a5baf366cf04d7b0a7b
+017b814d6c826c3bc501c501b281c5b201b28c8669643dd150e7bceca911783482344522
+01228143968196d881d84386432e0a456f9d6c826c4d7b0a7b
+964d3b61c559b20be8a477cd77cc8677cd7609006216505f875feca92f1134da4586455d
+2243962273017388dd152f0f4d7b6c4d7b0a7b
+886c10b2e8a477cc86bb83bb70a8b38bb313a846ae00acd168e7635f855fec2f78443402
+340122877a452734450406b583b57b4d7b0b7b
+8cc5b29305bb70a826659ec3bac381c3288928adee69c6d11650635f015f93a92f784434
+4434450a34446f4434aa794d21c77b0c7b
+9ae877bbb32665ba8cd076eeb8765703d01feec2693d25b9efe2635f835fa9d92f022f81
+af448144118911bc4edeb54d21c7217b0b7b
+8ca486a89ebad072c4ae42c2531d031d85c2b797693d628262d168016881635f815fbc01
+bc8aa911bc63081cc9ea6c4d7b0e7b
+8a77bba8bad0b8aec2531dbe86beb0be37be37be84be1de4b03d853dac25621668016882
+2d08638263c868856881eaf06c4d014d0e7b
+8977bb26bad0c4aeb71dbe81be0902098137098209be1d841db79758b601b6831662b916
+8216b96b866b168f6e4db54d014d827b4d7b0d7b
+8fa4867c6548d0eec4ae0353b7531dc21d811d53015301ae913fb8723ff39958694ab69f
+a732a64db5f04d824d7b4d814d7b0e7b
+88e87786b32665ba8cd082d072b801b891c41f3c1f3c1fee1228c346267cbb954c39b581
+b54d824db54d844d7b6c7b4d814d7b0f7b
+87c5b2d6cdbbb3a8f483f465c3ba02ba01288e5601ad019ea055b3bbcd4cb210b54d014d
+027b826c4d7b017b81217b817b2181217b0b7b
+863bc5b2e8a477868286bbc181c1b383b37ca81301130141012c877486c0246a59101a85
+1a4d7b213b7b017b81217b057b81217b0b7b
+864d3b61c559b2e882e8a4778677cdc0cdc0cd408740054024d66a0b598559c5101a217b
+867b217b217b217b067b81217b0c7b
+
+%
+% Compression made this file 26.46% of the uncompressed size.
+%
+
+
+showpage
+
+% stop using temporary dictionary
+end
+
+% restore original state
+origstate restore
+
+%%Trailer
diff --git a/macros/latex/contrib/prosper/img/rule-glow.ps b/macros/latex/contrib/prosper/img/rule-glow.ps
new file mode 100644
index 0000000000..944cbd49d4
--- /dev/null
+++ b/macros/latex/contrib/prosper/img/rule-glow.ps
@@ -0,0 +1,219 @@
+%!PS-Adobe-2.0 EPSF-2.0
+%%Title: /home/fred/TEMP/rule.ps
+%%Creator: XV Version 3.10a+FLmask Rev: 12/29/94 - by John Bradley
+%%BoundingBox: 290 380 786 412
+%%Pages: 1
+%%DocumentFonts:
+%%EndComments
+%%EndProlog
+
+%%Page: 1 1
+
+% remember original state
+/origstate save def
+
+% build a temporary dictionary
+20 dict begin
+
+% define space for color conversions
+/grays 496 string def % space for gray scale line
+/npixls 0 def
+/rgbindx 0 def
+
+% lower left corner
+290 380 translate
+
+% size of image (on paper, in 1/72inch coords)
+496.00800 31.96800 scale
+
+% define 'colorimage' if it isn't defined
+% ('colortogray' and 'mergeprocs' come from xwd2ps
+% via xgrab)
+/colorimage where % do we know about 'colorimage'?
+ { pop } % yes: pop off the 'dict' returned
+ { % no: define one
+ /colortogray { % define an RGB->I function
+ /rgbdata exch store % call input 'rgbdata'
+ rgbdata length 3 idiv
+ /npixls exch store
+ /rgbindx 0 store
+ 0 1 npixls 1 sub {
+ grays exch
+ rgbdata rgbindx get 20 mul % Red
+ rgbdata rgbindx 1 add get 32 mul % Green
+ rgbdata rgbindx 2 add get 12 mul % Blue
+ add add 64 idiv % I = .5G + .31R + .18B
+ put
+ /rgbindx rgbindx 3 add store
+ } for
+ grays 0 npixls getinterval
+ } bind def
+
+ % Utility procedure for colorimage operator.
+ % This procedure takes two procedures off the
+ % stack and merges them into a single procedure.
+
+ /mergeprocs { % def
+ dup length
+ 3 -1 roll
+ dup
+ length
+ dup
+ 5 1 roll
+ 3 -1 roll
+ add
+ array cvx
+ dup
+ 3 -1 roll
+ 0 exch
+ putinterval
+ dup
+ 4 2 roll
+ putinterval
+ } bind def
+
+ /colorimage { % def
+ pop pop % remove 'false 3' operands
+ {colortogray} mergeprocs
+ image
+ } bind def
+ } ifelse % end of 'false' case
+
+
+
+% define the colormap
+/cmap 438 string def
+
+
+% load up the colormap
+currentfile cmap readhexstring
+041600 051800 061c00 061d00 072100 080808 082000 082200 082400 082500
+082700 092800 092a00 092b00 092c00 0a2c00 0a2e00 0b3000 0b3300 0c3400
+0c3500 0c3600 0c3700 0d3800 0d3a00 0d3b00 0d3c00 0e3c00 0e3d00 0e3e00
+0e3f00 0f4000 0f4100 0f4300 0f4400 104200 104400 104500 104600 104800
+111111 114800 114900 114a00 114b00 114c00 124c00 124d00 124e00 124f00
+125000 135000 135200 145300 145400 145600 145700 145800 155800 155900
+155a00 155b00 155c00 165c00 165d00 165e00 165f00 166000 176000 176100
+176200 176400 176500 186400 186500 186600 186700 186800 196900 196a00
+196b00 196c00 1a1a1a 1a6d00 1a6e00 1a6f00 1a7100 1b7100 1b7200 1b7300
+1c7400 1c7500 1c7600 1c7700 1c7800 1c7900 1d7a00 1d7b00 1d7c00 1d7d00
+1e7d00 1e7e00 1e7f00 1e8000 1e8100 1e8200 1f8200 1f8300 1f8400 1f8500
+208500 208700 208800 208900 208a00 218a00 218b00 218c00 218d00 218e00
+228c00 228e00 228f00 229000 229200 232323 239400 239600 249700 249800
+249900 249a00 259b00 259e00 26a000 26a100 27a300 27a400 27a500 27a600
+28a800 2b2b2b 343434 3d3d3d 464646 4f4f4f
+pop pop % lose return values from readhexstring
+
+
+% rlecmapimage expects to have 'w h bits matrix' on stack
+/rlecmapimage {
+ /buffer 1 string def
+ /rgbval 3 string def
+ /block 384 string def
+
+ % proc to read a block from file, and return RGB data
+ { currentfile buffer readhexstring pop
+ /bcount exch 0 get store
+ bcount 128 ge
+ { % it's a non-run block
+ 0 1 bcount 128 sub
+ { currentfile buffer readhexstring pop pop
+
+ % look up value in color map
+ /rgbval cmap buffer 0 get 3 mul 3 getinterval store
+
+ % and put it in position i*3 in block
+ block exch 3 mul rgbval putinterval
+ } for
+ block 0 bcount 127 sub 3 mul getinterval
+ }
+
+ { % else it's a run block
+ currentfile buffer readhexstring pop pop
+
+ % look up value in colormap
+ /rgbval cmap buffer 0 get 3 mul 3 getinterval store
+
+ 0 1 bcount { block exch 3 mul rgbval putinterval } for
+
+ block 0 bcount 1 add 3 mul getinterval
+ } ifelse
+ } % end of proc
+ false 3 colorimage
+} bind def
+
+
+496 32 8 % dimensions of data
+[496 0 0 -32 0 32] % mapping matrix
+rlecmapimage
+
+9300010206080b0f111316191d202126292a2c2e2f812f3081303108317f337f337f332d
+3309310130012f922e2c2a292621201d191613110f0b0806020100
+8f010207090c1012171b1f24292c303336853637383a3b3c813c3d083d7f3f7f3f7f3f2d
+3f093d013c843b3a3837368f3633302c29241f1b1712100c09070201
+9503070a0e11141a1f252b3034373b3e414546494a4b4c814c4d084d7f4e7f4e7f4e2d4e
+094d014c944b4a494645413e3b3734302b251f1a14110e0a0703
+9404090e11151b23292f36393f44494c4f515455575881585981595a075a7f5b7f5b7f5b
+2d5b085a0159015893575554514f4c49443f39362f29231b15110e0904
+96090d11151c222b32383e464c5055595c5e60626365666781676807687f6a7f6a7f6a2d
+6a086801679566656362605e5c5955504c463e38322b221c15110d09
+960b10141b222c343b434b51565c6165696c6f707274757681767707777f7a7f7a7f7a2d
+7a0877017695757472706f6c6965615c56514b433b342c221b14100b
+960f1218232b343c454d555c61686d71767b7c7e7f80818281828307837f847f847f842d
+84088301829581807f7e7c7b76716d68615c554d453c342b2318120f
+9611161e27323b454e565e666e747b7e818485868788898a818a8b078b7f8c7f8c7f8c2d
+8c088b018a95898887868584817e7b746e665e564e453b32271e1611
+88131b242f37424d57057f057f057f055d058828574d42372f241b13
+89161e29343d48545d05287f287f287f285b288952285d54483d34291e16
+8a18212d37434f5a630528527f527f527f5259528a7d5228635a4f43372d2118
+8b1b26323c47555f6b0528527d7f7d7f7d7f7d577d8b8d7d52286b5f55473c32261b
+8c1e2935404d58646f0528527d8d7f8d7f8d7f8d558d8c8e8d7d52286f64584d4035291e
+
+8d1f2b36424f5b67730528527d8d8e7f8e7f8e7f8e538e8d8f8e8d7d522873675b4f4236
+2b1f
+8e202c3745515d6a780528527d8d8e8f7f8f7f8f7f8f518f8e908f8e8d7d5228786a5d51
+45372c20
+8f232e3846535e6b790528527d8d8e8f907f907f907f904f908f91908f8e8d7d5228796b
+5e5346382e23
+8f232e3846535e6b790528527d8d8e8f917f917f917f9150918e908f8e8d7d5228796b5e
+5346382e23
+8e202c3745515d6a780528527d8d8e907f907f907f9052908d8f8e8d7d5228786a5d5145
+372c20
+8d1f2b36424f5b67730528527d8d8f7f8f7f8f7f8f548f8c8e8d7d522873675b4f42362b
+1f
+8c1e2935404d58646f0528527d8e7f8e7f8e7f8e568e8b8d7d52286f64584d4035291e
+8b1b26323c47555f6b0528528d7f8d7f8d7f8d588d8a7d52286b5f55473c32261b
+8a18212d37434f5a6305287d7f7d7f7d7f7d5a7d895228635a4f43372d2118
+89161e29343d48545d05527f527f527f525c5288285d54483d34291e16
+88131b242f37424d57287f287f287f285e2887574d42372f241b13
+9611161e27323b454e565e666e747b7e818485868788898a818a8b078b7f8c7f8c7f8c2d
+8c088b018a95898887868584817e7b746e665e564e453b32271e1611
+960f1218232b343c454d555c61686d71767b7c7e7f80818281828307837f847f847f842d
+84088301829581807f7e7c7b76716d68615c554d453c342b2318120f
+960b10141b222c343b434b51565c6165696c6f707274757681767707777f7a7f7a7f7a2d
+7a0877017695757472706f6c6965615c56514b433b342c221b14100b
+96090d11151c222b32383e464c5055595c5e60626365666781676807687f6a7f6a7f6a2d
+6a086801679566656362605e5c5955504c463e38322b221c15110d09
+9404090e11151b23292f36393f44494c4f515455575881585981595a075a7f5b7f5b7f5b
+2d5b085a0159015893575554514f4c49443f39362f29231b15110e0904
+9503070a0e11141a1f252b3034373b3e414546494a4b4c814c4d084d7f4e7f4e7f4e2d4e
+094d014c944b4a494645413e3b3734302b251f1a14110e0a0703
+8f010207090c1012171b1f24292c303336853637383a3b3c813c3d083d7f3f7f3f7f3f2d
+3f093d013c843b3a3837368f3633302c29241f1b1712100c09070201
+9300010206080b0f111316191d202126292a2c2e2f812f3081303108317f337f337f332d
+3309310130012f922e2c2a292621201d191613110f0b0806020100
+
+%
+% Compression made this file 3.30% of the uncompressed size.
+%
+
+
+showpage
+
+% stop using temporary dictionary
+end
+
+% restore original state
+origstate restore
+
+%%Trailer
diff --git a/macros/latex/contrib/prosper/img/yellow-bullet-on-blue.gif b/macros/latex/contrib/prosper/img/yellow-bullet-on-blue.gif
new file mode 100644
index 0000000000..1f0060eaaf
--- /dev/null
+++ b/macros/latex/contrib/prosper/img/yellow-bullet-on-blue.gif
Binary files differ
diff --git a/macros/latex/contrib/prosper/img/yellow-bullet-on-blue.ps b/macros/latex/contrib/prosper/img/yellow-bullet-on-blue.ps
new file mode 100644
index 0000000000..0318f3556e
--- /dev/null
+++ b/macros/latex/contrib/prosper/img/yellow-bullet-on-blue.ps
@@ -0,0 +1,256 @@
+%!PS-Adobe-2.0 EPSF-2.0
+%%Title: /home/fred/TeX/STYLES/Prosper/img/yellow-bullet-on-blue.ps
+%%Creator: XV Version 3.10a+FLmask Rev: 12/29/94 - by John Bradley
+%%BoundingBox: 276 376 336 416
+%%Pages: 1
+%%DocumentFonts:
+%%EndComments
+%%EndProlog
+
+%%Page: 1 1
+
+% remember original state
+/origstate save def
+
+% build a temporary dictionary
+20 dict begin
+
+% define space for color conversions
+/grays 60 string def % space for gray scale line
+/npixls 0 def
+/rgbindx 0 def
+
+% lower left corner
+276 376 translate
+
+% size of image (on paper, in 1/72inch coords)
+59.97600 40.03200 scale
+
+% define 'colorimage' if it isn't defined
+% ('colortogray' and 'mergeprocs' come from xwd2ps
+% via xgrab)
+/colorimage where % do we know about 'colorimage'?
+ { pop } % yes: pop off the 'dict' returned
+ { % no: define one
+ /colortogray { % define an RGB->I function
+ /rgbdata exch store % call input 'rgbdata'
+ rgbdata length 3 idiv
+ /npixls exch store
+ /rgbindx 0 store
+ 0 1 npixls 1 sub {
+ grays exch
+ rgbdata rgbindx get 20 mul % Red
+ rgbdata rgbindx 1 add get 32 mul % Green
+ rgbdata rgbindx 2 add get 12 mul % Blue
+ add add 64 idiv % I = .5G + .31R + .18B
+ put
+ /rgbindx rgbindx 3 add store
+ } for
+ grays 0 npixls getinterval
+ } bind def
+
+ % Utility procedure for colorimage operator.
+ % This procedure takes two procedures off the
+ % stack and merges them into a single procedure.
+
+ /mergeprocs { % def
+ dup length
+ 3 -1 roll
+ dup
+ length
+ dup
+ 5 1 roll
+ 3 -1 roll
+ add
+ array cvx
+ dup
+ 3 -1 roll
+ 0 exch
+ putinterval
+ dup
+ 4 2 roll
+ putinterval
+ } bind def
+
+ /colorimage { % def
+ pop pop % remove 'false 3' operands
+ {colortogray} mergeprocs
+ image
+ } bind def
+ } ifelse % end of 'false' case
+
+
+
+% define the colormap
+/cmap 759 string def
+
+
+% load up the colormap
+currentfile cmap readhexstring
+040e29 748614 444a0c 2c4b81 acc214 212a11 306aa4 3451b7 6b6c0b a49e0c
+0c2e5c d4e407 9aa406 445993 245ec4 74720b 343111 ccc409 6f864c 3c4a58
+0c1644 303c70 abaf06 8c8a07 2f5aac 1f3c71 0c1a24 5b5c0b 3e54c1 5c6a44
+3a4036 354c8b 3c5fba ccd306 909705 747c04 acba64 bdb508 c4d408 ece40c
+496385 1c2c3e 3c400e 1c2d5e 1c1e1e 315ad6 dcd408 4c4a34 b0c734 6c7a0c
+315ece 546248 a6a508 64620d 857e0e 244492 3d56d1 14141f 2b4da2 4758a0
+0f244d acba04 909009 f2f309 3f4527 849208 54510e 24360c 3259b9 626b30
+354da5 b4aa07 607644 0b1223 c1c405 84a24c 345ec3 234380 9c9907 1c1a2c
+a9aa07 7c9b4f 2c458e b4af07 515d31 3c5fd4 4c460f 1f3481 345ac8 2c2c13
+dfe407 d2db08 bebc06 76741e cecd07 3e516e 2c64a8 787e1e 486298 243834
+44460d 112561 9c8f19 748634 6c7304 143261 373810 213c7e 3d5abe a5a517
+c2cc07 5c6210 3f66bc 1e3462 2b53a5 445ea1 081430 4c5211 788878 304270
+3c5d92 14243c 516d67 788204 bcd33c 44410d 232419 dfde08 4a606a 687a84
+9cb040 4c6a84 9cb020 7f8f54 7c9238 243234 84967c 6c8034 161b46 485448
+444654 bcce34 94aa54 687438 617967 b4bc08 84860d efeb09 4c5224 e2ec04
+344050 fcf809 5c6f6c 282a54 74924c 3a5490 3454a6 1f2536 141d27 3c4674
+74827c a49a20 b4b51f cce224 b4c84c 4c461c ccbe11 dcce14 546294 bcce24
+9aae56 2c5294 24320c 9caa14 475e81 acb604 5c7244 c4da14 2c3e0c 546224
+1c3e44 748e64 849a24 a4ba1e 4c4e54 3c62ac 3c5ca9 9c9e07 2c321b 9cb634
+848e04 2c66bc 78760d 384640 3466dc 65660a 85820e 3c5ace 55560e 647e54
+415674 7c8e2c 647e5c 2b4c91 222c22 696d16 94a61c acae19 8d8815 0b1b38
+585b17 c1d517 182c50 687c24 181430 929016 bcc218 e4e21c ccde1c 1c364c
+343922 1d3572 2f4582 e4dc18 445458 efeb19 495339 0b1e4a 949e07 2c324c
+546a58 2c3624 3466b4 b4b607 485e92 243e24 1c2a74 546559 84961c 9c981a
+2c459f 14336e 94a66c 0c0e22 7c8709 4c4c0d b4c306 142b62 2c60c0 d4c614
+4460b8 d4d508 7c7b0b
+pop pop % lose return values from readhexstring
+
+
+% rlecmapimage expects to have 'w h bits matrix' on stack
+/rlecmapimage {
+ /buffer 1 string def
+ /rgbval 3 string def
+ /block 384 string def
+
+ % proc to read a block from file, and return RGB data
+ { currentfile buffer readhexstring pop
+ /bcount exch 0 get store
+ bcount 128 ge
+ { % it's a non-run block
+ 0 1 bcount 128 sub
+ { currentfile buffer readhexstring pop pop
+
+ % look up value in color map
+ /rgbval cmap buffer 0 get 3 mul 3 getinterval store
+
+ % and put it in position i*3 in block
+ block exch 3 mul rgbval putinterval
+ } for
+ block 0 bcount 127 sub 3 mul getinterval
+ }
+
+ { % else it's a run block
+ currentfile buffer readhexstring pop pop
+
+ % look up value in colormap
+ /rgbval cmap buffer 0 get 3 mul 3 getinterval store
+
+ 0 1 bcount { block exch 3 mul rgbval putinterval } for
+
+ block 0 bcount 1 add 3 mul getinterval
+ } ifelse
+ } % end of proc
+ false 3 colorimage
+} bind def
+
+
+60 40 8 % dimensions of data
+[60 0 0 -40 0 40] % mapping matrix
+rlecmapimage
+
+84c56c586c5883584c584c054c815838013881584c014c81bff881f83283320e32f885f8
+4c182d4c0681066083600e32f883f84c58c58cc5584c584c584c584c584c584c
+886c58c5584c6c4c444c024c88f84cf8326c38581c4c014c82320e3202328d4c3220706c
+444c18f860bf0e32f881f84c834c584c588a584c584c584c584c584c58
+8458c5586c5883584c584c024c81444c054c0158862d582d58c5581c041c85bab932582d
+328132f885f84ce818204c014c89584c584c584c584c584c
+836c586c5885586c4c584c5881584c864c58f84cf8604c834cc5581c011c813b628562ea
+28ae623b813b2882281c3883382df84c014c8218e84c014c8a584c584c584c584c584c58
+
+0358812058025884444c58f8588158f88ef860f8324c6c3b28801d488967c9858b85b576
+907a289b1cc538444c824c32f88df84cf8584c58f8584c58f8584c58
+83205820580258854c58325832588558324c0ef84c894cba7828ed48d50141e483e4ad6d
+aa87aa8e4b8581280d6c816c5881582d012d85f8584c584c588258f85883584c584c
+86584c58326c32580558863258f858f8e8788e7880338f61923e22e40c50163d04300130
+8782857aea1cc5382d882d0e32f858f8584c5885584c584c58f8
+84444c584c588758c53258c558325884584c584c189018aec833455dfcc41722bb3416af
+3d914a894aa9d330aaeda81c382d842d0e32f85883584c584c854c58f8584c58
+024c0158814c588258c558905832c54c584cfaeac8e05445cdc036d06681666d876da291
+4a266e5e218921268d24a00d076c70f801f884584c58f85882584c5882584c58
+824c444c814c580258812d5891586c4c584cba0dc8e0e2b3cdc0fc36d066a186a1cfa24a
+6e5efb8afb5b0b5b268daa810dbae885e8184c584c5881584c854c4458f8584c
+024c81584c834c5855588f5832584c6c4c73c8b8e2d26f08c0fcd09ed0660950e9f66e5e
+fb2e7fdfd95a5bda8df29878ba20f858f8584c584c584c814c5881584c
+81f84c014c825832580258835520444c894cba8c2f94c6c30ffc36863666a134163d6e85
+6e212e7fd9e196e1935a0ba3a4b528ba204c44584c584c58f8584c584c58
+014c83f8584c58035897204420ba189b1ea542c6c368c036d066a10953914a26215a825a
+e1978f97e1935a5b7caa819c1c55584c58f8580158844c58f8584c
+87f84c584c584c32588358204c448c44b9189f1ef5421bc368fcc43e893eef6d165c4a5e
+5b5a9381939701978993955bb1a4882846c55883584c584c834c584c5882584c58
+844cf84cf858835832584c834c6c44b997b9721940a5421bc36823f4be22bb345325a65e
+a70b953f9701979493277fd37c8e903bc5584c584c5844f8584c584c58
+894cf84c58322d4c32e84c9c4c4420b903db40a5426fc36823f4be3e0c345325a6d8a75b
+5a9593979390937f5e6ea9bd12621c44584c58f8584c588358f8584c
+81f83282322d328132f802f88e2d556cbab4eb2a6442c66f6823fc3e8b3e4e3416255c11
+fb2e7f5a950195897fdfa75ef6bd5178444c874c584c584c584c5882584c58
+8af80e320e2d32f80ebff82d892d1c7363b22a6442c6c389c3c0fc923e220950e95c815c
+5e825efb0b010b955a7fa7f9115cb75183444c584c584c584c58f84c584c
+83f832582d822d32f899f8bff82dc5380d63436a7df5c61bc368fcc4173e093416e95c11
+84115efb215b925b21f9a65c91b74b8344584c58f8584c584c5882584c58
+024c0258014c94604c2d381c3b87acdc7df5c61bc30823fcd03e2234863416255ca64a6e
+026e825e1125892516b74b626c44584c58015881f8588358f8584c
+014c84584c2d584c964ce84c58381c3b29056a2aa542d235080f61c4d0d74e3482341625
+81254a814ad881d84a894aa65325cf845162384c824c584c814c5882584c5882584c58
+81444c854c586cc5444c014c9407381c3b297edc6a64f542d2cd08c0fcc43ed74e348534
+1653af91a282a25c2581254786470cce9a621c5882584c588458f84c584c824c584c
+854cf84458c55885584ce84c583896383b2b9dbc6a7da5751b35c35dc061c4d022ef0934
+50168116cf81cf53825350348a34e4b6120dc56c4c58f8580158844c58f8584c
+8232584c814c580158014c98442dc5386c2b79bc102a02f5421bc3080ffcc4d0174e2234
+0c810c6d016d0134010986bb2286caea6c5882584c5881584c014c8344584c58
+013281f8580158823258f89ef8325838faded1cc59102a0275c66fc3085dc03692d03e22
+e44ee4efbb094e8d4e3e22ee12983b6c2058f8584c588558f8584c584c
+8232f84c824c325882584cf881f85895581c6c1fd47e59dc2a64f575c635c3080ffc3617
+be228122d781d72283223e663e893e41c9c783786c584c58015886f84c584c584c58
+013283f84c44588258f8188f180e72076c1f719e7ebc6a2a6402c61b871bc3080fc0fc7b
+f481f49281923e813e178c17c4920189e628ba6c444c584c814c5885584c58f8584c
+820e581886184458074418729072183a9c9b779e2c7ebc6a2a027542c6358535c3080f23
+7b827b61c401c401368161d583d54828ba8aba20444c584c584c584c5882584c58
+832d44189c819c3a013a8172ab88ab3a373a1f9f9d2c7e847ebc6a2af58cf542c61b35c3
+080f68315dc0fc81fcc086c05d8fb0e6786c816c4c014c8958f8584c58f8584c584c
+8507189cab46f081f0378637f1194d6b57158315e59d2c872c59106a2a7df54281421b83
+1b35c3cd01cd8b080fc008cd451ded28ba584c014c82584c588258f85884584c584c58
+84073a46de6b816b578257f10a850af10a652b9982999d4f814f058205106a846a7d56f5
+4286421bc66fb36fc302c38735d2ed80786c58328532584c584c5886584c444c58f858
+01f084de6b57ec6581650a810a3c833ce3148a828a4fd686d62c397e59106a826a7d5683
+56f542c601c6841b351b35d292d28b80eaba6c2d322df858f8584c584c584c5881584c
+8b465257dd2b658ae314741a748174f301f383d6f3d63983392c7e598359106a7d817d56
+8256f54201428c75942f8b5faeeaba446c582d580258874c58f8584c58f8580058
+89524d57f78ae314741a4901498200f300010002f30239017e015986106a2a7d64566486
+6440c1135f9bba87ba4c6c32586c584c834c584c5884584c584c5881584c
+875237ddf765e3d174017408008cf30049392c057eacbc59bce7dc01dc871e96135f78b9
+ba4c034c8b324c584c58f8584c58f8584c814c58
+863a376bf1f765e381e3d186d17414740014008100740274011a8379d13c790179022901
+96845fc8ea78b981b94c014c01f88958f84cf84c584c444c5882584c5881584c
+88723a376b57f1f7653c813ce384e38ae314e302e3013c810af786f7711977de1f9b889b
+0d9b0dea73b920448144f884f832f832f882f84c588a584c584c58f858444cf858
+81723a813a3785376b1971dd2b012b01f78565ecf70a69f102f1026b833752469c8c9c6c
+3bba204c445832f82d0e3201328af84cf858f8584c584c584c814c5881584c
+834418723a813acb83cb4dde6b036b81576b026b014d0237883a72074407445844580258
+82442dc281c232023281f84c024c015886f8584c584c584c814c58
+824c58188618729cab9bcb1f011f01de0152014d03cb863a723a074407588658c558c532
+552d822d0e2d882d0e2d0e58f84cf84c834c584c588758f8584c58f8584c
+
+%
+% Compression made this file 37.18% of the uncompressed size.
+%
+
+
+showpage
+
+% stop using temporary dictionary
+end
+
+% restore original state
+origstate restore
+
+%%Trailer
diff --git a/macros/latex/contrib/prosper/img/yellow-bullet-on-white.gif b/macros/latex/contrib/prosper/img/yellow-bullet-on-white.gif
new file mode 100644
index 0000000000..df549f8581
--- /dev/null
+++ b/macros/latex/contrib/prosper/img/yellow-bullet-on-white.gif
Binary files differ
diff --git a/macros/latex/contrib/prosper/img/yellow-bullet-on-white.ps b/macros/latex/contrib/prosper/img/yellow-bullet-on-white.ps
new file mode 100644
index 0000000000..39a26d10f9
--- /dev/null
+++ b/macros/latex/contrib/prosper/img/yellow-bullet-on-white.ps
@@ -0,0 +1,249 @@
+%!PS-Adobe-2.0 EPSF-2.0
+%%Title: /home/fred/TeX/STYLES/Prosper/img/yellow-bullet-on-white.ps
+%%Creator: XV Version 3.10a+FLmask Rev: 12/29/94 - by John Bradley
+%%BoundingBox: 276 376 336 416
+%%Pages: 1
+%%DocumentFonts:
+%%EndComments
+%%EndProlog
+
+%%Page: 1 1
+
+% remember original state
+/origstate save def
+
+% build a temporary dictionary
+20 dict begin
+
+% define space for color conversions
+/grays 60 string def % space for gray scale line
+/npixls 0 def
+/rgbindx 0 def
+
+% lower left corner
+276 376 translate
+
+% size of image (on paper, in 1/72inch coords)
+59.97600 40.03200 scale
+
+% define 'colorimage' if it isn't defined
+% ('colortogray' and 'mergeprocs' come from xwd2ps
+% via xgrab)
+/colorimage where % do we know about 'colorimage'?
+ { pop } % yes: pop off the 'dict' returned
+ { % no: define one
+ /colortogray { % define an RGB->I function
+ /rgbdata exch store % call input 'rgbdata'
+ rgbdata length 3 idiv
+ /npixls exch store
+ /rgbindx 0 store
+ 0 1 npixls 1 sub {
+ grays exch
+ rgbdata rgbindx get 20 mul % Red
+ rgbdata rgbindx 1 add get 32 mul % Green
+ rgbdata rgbindx 2 add get 12 mul % Blue
+ add add 64 idiv % I = .5G + .31R + .18B
+ put
+ /rgbindx rgbindx 3 add store
+ } for
+ grays 0 npixls getinterval
+ } bind def
+
+ % Utility procedure for colorimage operator.
+ % This procedure takes two procedures off the
+ % stack and merges them into a single procedure.
+
+ /mergeprocs { % def
+ dup length
+ 3 -1 roll
+ dup
+ length
+ dup
+ 5 1 roll
+ 3 -1 roll
+ add
+ array cvx
+ dup
+ 3 -1 roll
+ 0 exch
+ putinterval
+ dup
+ 4 2 roll
+ putinterval
+ } bind def
+
+ /colorimage { % def
+ pop pop % remove 'false 3' operands
+ {colortogray} mergeprocs
+ image
+ } bind def
+ } ifelse % end of 'false' case
+
+
+
+% define the colormap
+/cmap 741 string def
+
+
+% load up the colormap
+currentfile cmap readhexstring
+14180c 8c8e0a c4cb07 44521c 949c78 6c7208 c4caa4 acb006 2c3614 f4f2a8
+74784c e4e604 64620b 444209 acae3c e4e6e2 a4a108 b4be04 7c8204 acae78
+f4f9d7 ccca64 242809 949254 d4db04 505628 747329 3c4311 444234 242725
+9c9c08 bcb906 5c5f0b 646a09 c4ca2c c4cabc 343632 84886c a4a26c f4f7f2
+54540a 444b0f f4edf9 c4c107 acaeb0 7c7a0a 646364 a4a62c acb608 e4e664
+94920b 2c300a d4d106 f4f208 a4a608 848428 c0c2a8 747475 5b5a0a 3c3c10
+f4f69c 5c5c5c 646424 dcdecc fcfefb c4c609 ecf0e0 8c890b 746d10 b4aa0c
+9c9d9f 747a06 afb217 64660d 2c3028 a7aa1f ccd306 343e14 545a44 45460b
+747c28 949e34 a4a4a3 fcf9f2 544e11 949634 7c7c7f 34381e f4ee06 848a0c
+242816 e4da04 bcb917 6c6e24 545415 969608 bcbebd 1c210a 747218 b4af07
+545457 bcbe3c fcfede d4da54 444a3c 9ca21c 6c6d0b 3c3e38 f4f2e8 7c7e09
+2c3016 aca808 fcf9c1 acaaad 848e24 ecee09 bcbf24 949a14 d4d4d5 848686
+4c4c11 c4bf18 b4b6b3 b4b620 fcfa1c ccc6cc d4d694 9c9c40 e4e6cc bcbe74
+8c928c 5c602c ccc65c 6c6d6c dcdc78 747468 acae5c dcdaac 847e24 4c4d4f
+ccd224 e4e2e4 c4c64c d4d6b4 eceff6 dce204 d5d606 e4e294 c4c6c6 848316
+545a3c cccccd a4a644 f4f214 fcf6b4 bcbe54 bcc604 8c8a8c eceec8 b4b654
+5b5a1a 444615 949618 f5f2f7 fcfec7 8c8f18 444116 5c5f15 dcdddd 4c5315
+6c6212 fcfada d4ce5c dcdc06 7c7624 3c393c b4b2b6 8c8634 343231 847e84
+dcda64 bcbabc 949395 746e74 e4e206 e4e67c 747a1c 545a5c ccc60a 6c6608
+847e0e 8c8e34 dcd6a4 1c1a0f cccd05 74740a 34380f 545349 ece708 eceae4
+bcbf07 84840b b4b27c 2c2a2a c4ba04 ccce24 5c5604 acaa34 b4b707 fcf60c
+645e64 a49ea4 7c7a24 9c9a2c 2c2a1c c4ba14 5c5614 c4c2c1 343214 9c9e17
+eceaed ccce38 fcf617 f4eeb4 7c7a4c 646114 948e64 747234 444444 34363c
+84867c a4a67c f4f6fc 7c7814 948e14 d4d214 848234 747684 fcfa9c eceeec
+ccd214 a4a4ac fcfafc 7c7e8c 1c2214 c4c23c d4d664
+pop pop % lose return values from readhexstring
+
+
+% rlecmapimage expects to have 'w h bits matrix' on stack
+/rlecmapimage {
+ /buffer 1 string def
+ /rgbval 3 string def
+ /block 384 string def
+
+ % proc to read a block from file, and return RGB data
+ { currentfile buffer readhexstring pop
+ /bcount exch 0 get store
+ bcount 128 ge
+ { % it's a non-run block
+ 0 1 bcount 128 sub
+ { currentfile buffer readhexstring pop pop
+
+ % look up value in color map
+ /rgbval cmap buffer 0 get 3 mul 3 getinterval store
+
+ % and put it in position i*3 in block
+ block exch 3 mul rgbval putinterval
+ } for
+ block 0 bcount 127 sub 3 mul getinterval
+ }
+
+ { % else it's a run block
+ currentfile buffer readhexstring pop pop
+
+ % look up value in colormap
+ /rgbval cmap buffer 0 get 3 mul 3 getinterval store
+
+ 0 1 bcount { block exch 3 mul rgbval putinterval } for
+
+ block 0 bcount 1 add 3 mul getinterval
+ } ifelse
+ } % end of proc
+ false 3 colorimage
+} bind def
+
+
+60 40 8 % dimensions of data
+[60 0 0 -40 0 40] % mapping matrix
+rlecmapimage
+
+1340815340014082f240f202f2014002f203408166401240
+10400153014084665340f2408240f2408140f282f22af284f2405327401440
+0f40812a4081405381534082406c4081405382534066016682406653815340014081f240
+1240
+104081f240014082664066056681a4708270a46601661640
+104084f2a3f2406601668eab89ca17b1bf7f989f15939aa466401440
+0f4081a340024095668926e31ad437eaa2db104b2fcf9b869aa46640f2401040
+104001f28b40dfe7e01aae8a95a5321e3684364b7b5c488648f5b9a46640f281f2400e40
+
+0f408ef240668fe283a062aebeea32106f6383635cd7410241842284a466400340816640
+0a40
+0c4082f227408840663883a05d6abac985c9321e106f1f8e1fbc79f0c24c92f022ac9366
+4053400d40
+0e4094536606e083a7496ae9beea5f1e6f451f2bbcc2341887189118eb8cb40966816640
+0d40
+0e408953abe00da74921e9474389435f1045631f2bc234ad81ad0b010b881892cd67eea4
+66f2400b40
+0b4001f201408c04a94fa74905c96d43321e106387632bbc349291c6738b73c60bad4ccd
+31a466a3f2400a40
+0c4086e8403fa678a92094206a476d4332106f631f2bc292ad0b5899de357391879102dd
+3c6640f2400a40
+074081f24003408627e6c47828206a016a91c901321e3607d02bc2ad91c699de7cd1730b
+870b4c7486a440f2400a40
+074083f240f2400140a1a81ca678283a6a05c359435f1e6f071f41021891c67399de3558
+b8adc27484df66400b40
+094081f240a34027d9d6a64f783a0c6a2dc959321e3607d041c234adb8c6733558c6b892
+4c74659366400b40
+0c4099668757a64f5e3a0c6a476d43011e1007d0c82b4c18ad0bc60bb889b8ad34c24107
+f66653400a40
+0b409a66404eda3ba65428206ac36dc932a2106f631fc8c23492ad91b85b885bebc2029c
+308e66400b40
+0c4093666b333ba678a02049c32dc943321e3607d01f418241c29201928934eb79bcc811
+300e66400b40
+084081f2409840664016b23b0d78283a496ac312c9325f103663d01fc82bc201c201bc88
+792b1f3048d566f2400a40
+084081f240024095166ec4a6a1283a0c6ac36dc9435f1e103607d01fc82b8b2bbc2bccd7
+5c63074b5566400b40
+0b4095664057d6da3ba1782820216a476dc901321e103607638263d01f841fcc7b630785
+0736697f66400b40
+0d408ac561dac4a678a93a0c6ac381c3c983c9015f1e851e1036076f6381634582456f10
+85101e728866400b40
+0d409385d66eda3b29782820496ac32dc943015f1edb1083106f366f816f1081101e851e
+757281ab400b40
+0b4089536c38005adac43ba928892821496ac32d6dc901328232a21e021e895f1ea232db
+12377e14400b40
+0940885340534076cbf46ec482c44fa987a93a200c6ac32dc984c943a5013281325f8a5f
+32ea435f6d5150a466400b40
+044002f28ba3f2a327a340c787c1f4d6c48cc44fa9783a20e16a44c32dbec982c9594303
+4385c943c3ba13668166400b40
+014002f28227efdc81dc8d828d90a886a80fb51dc15ac48ac43b29785e28a0e1bd44c384
+c3ba6d12c981c9be01be87c92dba3e702766400b40
+86f2272adc0f8da88da87697d997d9b597943d5ac16ec48bc40d297854d820e1496a44c3
+01c3012d87e9c362be6a621340824053400b40
+8df2ef0fa87697d9b52cb0524652f181f1b685b6e4006133c48bc43b4f29545ece3a0ce1
+bd6a846ac344bd4489446a2817ab40f240e8400a40
+8cef8d76607a7146b6e69d5639568856398577bbcbc116338533c43b0d4f548154ce83ce
+20a70c830c49bdaa01aa880cecc066f22a4090400a40
+89a897b552b6b387852e3d813d6488648be4d28b646b5a618561163bc43b0d830d4f7828
+82285e3a823a0ca002a084e1c06640f281f2400c40
+8e76b546773985648be41cafe524e5b286b2e5af244a5a61836116dac482c43b1b811b29
+8229a929892920a9a1960a9eab66408240f2400c40
+8b977ab6562ec5e4afe5b24acb03cb821dcb4a814ad682d6166186611633084d3b1b811b
+29892903191ba104ab536640014081f2400c40
+87977ab6873d64e42482244a1d051d01cb87b224b2da6e5a163301338c08c44dc44dc41b
+2580664066401140
+8a76604677392e648be46baf85afe5b2afe5af86af24e51ce48bc501c58a686b576ec457
+962538144083406653401240
+8ba897b552b6b339852ed2bb6481648b018b04648e2e855682b6527a233f422766532740
+1740
+8bc78d76d97a5246829d77b339033982b7edf38ef3b377b64671b0237680dc2753e84001
+408153408240f240054081f2400a40
+8b27dc0fa8769760b5b02c7152015283d346d3f182f171b081b0b58ab5d99776c790a3e8
+f240a381a3408140f281f2401340
+86f2272aef0f8da882a876978197948294d9940194857d947d9776a881a8dc85dc2a902a
+f2408340f240f201f2014081f240024081f2400d40
+
+%
+% Compression made this file 24.57% of the uncompressed size.
+%
+
+
+showpage
+
+% stop using temporary dictionary
+end
+
+% restore original state
+origstate restore
+
+%%Trailer