summaryrefslogtreecommitdiff
path: root/.localrepo/xterm-color-20230321.3.tar
blob: 5e049e0164f37ab956ef66789787298827dfdb9f (plain)
ofshex dumpascii
0000 78 74 65 72 6d 2d 63 6f 6c 6f 72 2d 32 30 32 33 30 33 32 31 2e 33 2f 00 00 00 00 00 00 00 00 00 xterm-color-20230321.3/.........
0020 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0040 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0060 00 00 00 00 30 30 30 30 37 35 35 00 30 30 30 30 30 30 30 00 30 30 30 30 30 30 30 00 30 30 30 30 ....0000755.0000000.0000000.0000
0080 30 30 30 30 30 30 30 00 30 30 30 30 30 30 30 30 30 30 30 00 30 31 33 30 32 33 00 20 35 00 00 00 0000000.00000000000.013023..5...
00a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
00c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
00e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0100 00 75 73 74 61 72 20 20 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .ustar...root...................
0120 00 00 00 00 00 00 00 00 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .........root...................
0140 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0160 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0180 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
01a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
01c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
01e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0200 78 74 65 72 6d 2d 63 6f 6c 6f 72 2d 32 30 32 33 30 33 32 31 2e 33 2f 78 74 65 72 6d 2d 63 6f 6c xterm-color-20230321.3/xterm-col
0220 6f 72 2d 70 6b 67 2e 65 6c 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 or-pkg.el.......................
0240 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0260 00 00 00 00 30 30 30 30 36 34 34 00 30 30 30 30 30 30 30 00 30 30 30 30 30 30 30 00 30 30 30 30 ....0000644.0000000.0000000.0000
0280 30 30 30 30 36 33 30 00 30 30 30 30 30 30 30 30 30 30 30 00 30 31 36 33 37 36 00 20 30 00 00 00 0000630.00000000000.016376..0...
02a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
02c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
02e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0300 00 75 73 74 61 72 20 20 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .ustar...root...................
0320 00 00 00 00 00 00 00 00 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .........root...................
0340 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0360 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0380 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
03a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
03c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
03e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0400 3b 3b 20 2d 2a 2d 20 6e 6f 2d 62 79 74 65 2d 63 6f 6d 70 69 6c 65 3a 20 74 3b 20 6c 65 78 69 63 ;;.-*-.no-byte-compile:.t;.lexic
0420 61 6c 2d 62 69 6e 64 69 6e 67 3a 20 6e 69 6c 20 2d 2a 2d 0a 28 64 65 66 69 6e 65 2d 70 61 63 6b al-binding:.nil.-*-.(define-pack
0440 61 67 65 20 22 78 74 65 72 6d 2d 63 6f 6c 6f 72 22 20 22 32 30 32 33 30 33 32 31 2e 33 22 0a 20 age."xterm-color"."20230321.3"..
0460 20 22 41 4e 53 49 2c 20 58 54 45 52 4d 20 32 35 36 20 61 6e 64 20 54 72 75 65 63 6f 6c 6f 72 20 ."ANSI,.XTERM.256.and.Truecolor.
0480 73 75 70 70 6f 72 74 2e 22 0a 20 20 27 28 28 65 6d 61 63 73 20 22 32 34 2e 34 22 29 29 0a 20 20 support."...'((emacs."24.4"))...
04a0 3a 75 72 6c 20 22 68 74 74 70 73 3a 2f 2f 67 69 74 68 75 62 2e 63 6f 6d 2f 61 74 6f 6d 6f 6e 74 :url."https://github.com/atomont
04c0 61 67 65 2f 78 74 65 72 6d 2d 63 6f 6c 6f 72 22 0a 20 20 3a 63 6f 6d 6d 69 74 20 22 32 61 64 34 age/xterm-color"...:commit."2ad4
04e0 30 37 63 36 35 31 65 39 30 66 66 66 32 65 61 38 35 64 31 37 62 66 30 37 34 63 65 65 32 63 30 32 07c651e90fff2ea85d17bf074cee2c02
0500 32 39 31 32 22 0a 20 20 3a 72 65 76 64 65 73 63 20 22 32 61 64 34 30 37 63 36 35 31 65 39 22 0a 2912"...:revdesc."2ad407c651e9".
0520 20 20 3a 6b 65 79 77 6f 72 64 73 20 27 28 22 66 61 63 65 73 22 29 0a 20 20 3a 61 75 74 68 6f 72 ..:keywords.'("faces")...:author
0540 73 20 27 28 28 22 78 72 69 73 74 6f 73 22 20 2e 20 22 78 72 69 73 74 6f 73 40 73 64 66 2e 6f 72 s.'(("xristos"..."xristos@sdf.or
0560 67 22 29 29 0a 20 20 3a 6d 61 69 6e 74 61 69 6e 65 72 73 20 27 28 28 22 78 72 69 73 74 6f 73 22 g"))...:maintainers.'(("xristos"
0580 20 2e 20 22 78 72 69 73 74 6f 73 40 73 64 66 2e 6f 72 67 22 29 29 29 0a 00 00 00 00 00 00 00 00 ..."xristos@sdf.org"))).........
05a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
05c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
05e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0600 78 74 65 72 6d 2d 63 6f 6c 6f 72 2d 32 30 32 33 30 33 32 31 2e 33 2f 78 74 65 72 6d 2d 63 6f 6c xterm-color-20230321.3/xterm-col
0620 6f 72 2e 65 6c 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 or.el...........................
0640 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0660 00 00 00 00 30 30 30 30 36 34 34 00 30 30 30 30 30 30 30 00 30 30 30 30 30 30 30 00 30 30 30 30 ....0000644.0000000.0000000.0000
0680 30 31 31 32 30 30 36 00 30 30 30 30 30 30 30 30 30 30 30 00 30 31 35 36 32 30 00 20 30 00 00 00 0112006.00000000000.015620..0...
06a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
06c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
06e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0700 00 75 73 74 61 72 20 20 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .ustar...root...................
0720 00 00 00 00 00 00 00 00 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .........root...................
0740 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0760 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0780 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
07a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
07c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
07e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0800 3b 3b 3b 20 78 74 65 72 6d 2d 63 6f 6c 6f 72 2e 65 6c 20 2d 2d 2d 20 41 4e 53 49 2c 20 58 54 45 ;;;.xterm-color.el.---.ANSI,.XTE
0820 52 4d 20 32 35 36 20 61 6e 64 20 54 72 75 65 63 6f 6c 6f 72 20 73 75 70 70 6f 72 74 20 2d 2a 2d RM.256.and.Truecolor.support.-*-
0840 20 6c 65 78 69 63 61 6c 2d 62 69 6e 64 69 6e 67 3a 20 74 20 2d 2a 2d 0a 0a 3b 3b 20 43 6f 70 79 .lexical-binding:.t.-*-..;;.Copy
0860 72 69 67 68 74 20 28 43 29 20 32 30 31 30 2d 32 30 32 30 20 78 72 69 73 74 6f 73 40 73 64 66 2e right.(C).2010-2020.xristos@sdf.
0880 6f 72 67 0a 3b 3b 20 41 6c 6c 20 72 69 67 68 74 73 20 72 65 73 65 72 76 65 64 0a 0a 3b 3b 20 4d org.;;.All.rights.reserved..;;.M
08a0 6f 64 69 66 69 65 64 3a 20 32 30 32 30 2d 30 35 2d 31 30 0a 3b 3b 20 50 61 63 6b 61 67 65 2d 56 odified:.2020-05-10.;;.Package-V
08c0 65 72 73 69 6f 6e 3a 20 32 30 32 33 30 33 32 31 2e 33 0a 3b 3b 20 50 61 63 6b 61 67 65 2d 52 65 ersion:.20230321.3.;;.Package-Re
08e0 76 69 73 69 6f 6e 3a 20 32 61 64 34 30 37 63 36 35 31 65 39 0a 3b 3b 20 41 75 74 68 6f 72 3a 20 vision:.2ad407c651e9.;;.Author:.
0900 78 72 69 73 74 6f 73 20 3c 78 72 69 73 74 6f 73 40 73 64 66 2e 6f 72 67 3e 0a 3b 3b 20 55 52 4c xristos.<xristos@sdf.org>.;;.URL
0920 3a 20 68 74 74 70 73 3a 2f 2f 67 69 74 68 75 62 2e 63 6f 6d 2f 61 74 6f 6d 6f 6e 74 61 67 65 2f :.https://github.com/atomontage/
0940 78 74 65 72 6d 2d 63 6f 6c 6f 72 0a 3b 3b 20 50 61 63 6b 61 67 65 2d 52 65 71 75 69 72 65 73 3a xterm-color.;;.Package-Requires:
0960 20 28 28 65 6d 61 63 73 20 22 32 34 2e 34 22 29 29 0a 3b 3b 20 4b 65 79 77 6f 72 64 73 3a 20 66 .((emacs."24.4")).;;.Keywords:.f
0980 61 63 65 73 0a 0a 3b 3b 20 52 65 64 69 73 74 72 69 62 75 74 69 6f 6e 20 61 6e 64 20 75 73 65 20 aces..;;.Redistribution.and.use.
09a0 69 6e 20 73 6f 75 72 63 65 20 61 6e 64 20 62 69 6e 61 72 79 20 66 6f 72 6d 73 2c 20 77 69 74 68 in.source.and.binary.forms,.with
09c0 20 6f 72 20 77 69 74 68 6f 75 74 0a 3b 3b 20 6d 6f 64 69 66 69 63 61 74 69 6f 6e 2c 20 61 72 65 .or.without.;;.modification,.are
09e0 20 70 65 72 6d 69 74 74 65 64 20 70 72 6f 76 69 64 65 64 20 74 68 61 74 20 74 68 65 20 66 6f 6c .permitted.provided.that.the.fol
0a00 6c 6f 77 69 6e 67 20 63 6f 6e 64 69 74 69 6f 6e 73 0a 3b 3b 20 61 72 65 20 6d 65 74 3a 0a 3b 3b lowing.conditions.;;.are.met:.;;
0a20 0a 3b 3b 20 20 20 2a 20 52 65 64 69 73 74 72 69 62 75 74 69 6f 6e 73 20 6f 66 20 73 6f 75 72 63 .;;...*.Redistributions.of.sourc
0a40 65 20 63 6f 64 65 20 6d 75 73 74 20 72 65 74 61 69 6e 20 74 68 65 20 61 62 6f 76 65 20 63 6f 70 e.code.must.retain.the.above.cop
0a60 79 72 69 67 68 74 0a 3b 3b 20 20 20 20 20 6e 6f 74 69 63 65 2c 20 74 68 69 73 20 6c 69 73 74 20 yright.;;.....notice,.this.list.
0a80 6f 66 20 63 6f 6e 64 69 74 69 6f 6e 73 20 61 6e 64 20 74 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 of.conditions.and.the.following.
0aa0 64 69 73 63 6c 61 69 6d 65 72 2e 0a 3b 3b 0a 3b 3b 20 20 20 2a 20 52 65 64 69 73 74 72 69 62 75 disclaimer..;;.;;...*.Redistribu
0ac0 74 69 6f 6e 73 20 69 6e 20 62 69 6e 61 72 79 20 66 6f 72 6d 20 6d 75 73 74 20 72 65 70 72 6f 64 tions.in.binary.form.must.reprod
0ae0 75 63 65 20 74 68 65 20 61 62 6f 76 65 0a 3b 3b 20 20 20 20 20 63 6f 70 79 72 69 67 68 74 20 6e uce.the.above.;;.....copyright.n
0b00 6f 74 69 63 65 2c 20 74 68 69 73 20 6c 69 73 74 20 6f 66 20 63 6f 6e 64 69 74 69 6f 6e 73 20 61 otice,.this.list.of.conditions.a
0b20 6e 64 20 74 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 0a 3b 3b 20 20 20 20 20 64 69 73 63 6c 61 69 6d nd.the.following.;;.....disclaim
0b40 65 72 20 69 6e 20 74 68 65 20 64 6f 63 75 6d 65 6e 74 61 74 69 6f 6e 20 61 6e 64 2f 6f 72 20 6f er.in.the.documentation.and/or.o
0b60 74 68 65 72 20 6d 61 74 65 72 69 61 6c 73 0a 3b 3b 20 20 20 20 20 70 72 6f 76 69 64 65 64 20 77 ther.materials.;;.....provided.w
0b80 69 74 68 20 74 68 65 20 64 69 73 74 72 69 62 75 74 69 6f 6e 2e 0a 3b 3b 0a 3b 3b 20 54 48 49 53 ith.the.distribution..;;.;;.THIS
0ba0 20 53 4f 46 54 57 41 52 45 20 49 53 20 50 52 4f 56 49 44 45 44 20 42 59 20 54 48 45 20 43 4f 50 .SOFTWARE.IS.PROVIDED.BY.THE.COP
0bc0 59 52 49 47 48 54 20 48 4f 4c 44 45 52 53 20 41 4e 44 20 43 4f 4e 54 52 49 42 55 54 4f 52 53 20 YRIGHT.HOLDERS.AND.CONTRIBUTORS.
0be0 22 41 53 20 49 53 22 0a 3b 3b 20 41 4e 44 20 41 4e 59 20 45 58 50 52 45 53 53 20 4f 52 20 49 4d "AS.IS".;;.AND.ANY.EXPRESS.OR.IM
0c00 50 4c 49 45 44 20 57 41 52 52 41 4e 54 49 45 53 2c 20 49 4e 43 4c 55 44 49 4e 47 2c 20 42 55 54 PLIED.WARRANTIES,.INCLUDING,.BUT
0c20 20 4e 4f 54 20 4c 49 4d 49 54 45 44 20 54 4f 2c 20 54 48 45 0a 3b 3b 20 49 4d 50 4c 49 45 44 20 .NOT.LIMITED.TO,.THE.;;.IMPLIED.
0c40 57 41 52 52 41 4e 54 49 45 53 20 4f 46 20 4d 45 52 43 48 41 4e 54 41 42 49 4c 49 54 59 20 41 4e WARRANTIES.OF.MERCHANTABILITY.AN
0c60 44 20 46 49 54 4e 45 53 53 20 46 4f 52 20 41 20 50 41 52 54 49 43 55 4c 41 52 20 50 55 52 50 4f D.FITNESS.FOR.A.PARTICULAR.PURPO
0c80 53 45 0a 3b 3b 20 41 52 45 20 44 49 53 43 4c 41 49 4d 45 44 2e 20 49 4e 20 4e 4f 20 45 56 45 4e SE.;;.ARE.DISCLAIMED..IN.NO.EVEN
0ca0 54 20 53 48 41 4c 4c 20 54 48 45 20 43 4f 50 59 52 49 47 48 54 20 48 4f 4c 44 45 52 20 4f 52 20 T.SHALL.THE.COPYRIGHT.HOLDER.OR.
0cc0 43 4f 4e 54 52 49 42 55 54 4f 52 53 20 42 45 0a 3b 3b 20 4c 49 41 42 4c 45 20 46 4f 52 20 41 4e CONTRIBUTORS.BE.;;.LIABLE.FOR.AN
0ce0 59 20 44 49 52 45 43 54 2c 20 49 4e 44 49 52 45 43 54 2c 20 49 4e 43 49 44 45 4e 54 41 4c 2c 20 Y.DIRECT,.INDIRECT,.INCIDENTAL,.
0d00 53 50 45 43 49 41 4c 2c 20 45 58 45 4d 50 4c 41 52 59 2c 20 4f 52 0a 3b 3b 20 43 4f 4e 53 45 51 SPECIAL,.EXEMPLARY,.OR.;;.CONSEQ
0d20 55 45 4e 54 49 41 4c 20 44 41 4d 41 47 45 53 20 28 49 4e 43 4c 55 44 49 4e 47 2c 20 42 55 54 20 UENTIAL.DAMAGES.(INCLUDING,.BUT.
0d40 4e 4f 54 20 4c 49 4d 49 54 45 44 20 54 4f 2c 20 50 52 4f 43 55 52 45 4d 45 4e 54 20 4f 46 0a 3b NOT.LIMITED.TO,.PROCUREMENT.OF.;
0d60 3b 20 53 55 42 53 54 49 54 55 54 45 20 47 4f 4f 44 53 20 4f 52 20 53 45 52 56 49 43 45 53 3b 20 ;.SUBSTITUTE.GOODS.OR.SERVICES;.
0d80 4c 4f 53 53 20 4f 46 20 55 53 45 2c 20 44 41 54 41 2c 20 4f 52 20 50 52 4f 46 49 54 53 3b 20 4f LOSS.OF.USE,.DATA,.OR.PROFITS;.O
0da0 52 20 42 55 53 49 4e 45 53 53 0a 3b 3b 20 49 4e 54 45 52 52 55 50 54 49 4f 4e 29 20 48 4f 57 45 R.BUSINESS.;;.INTERRUPTION).HOWE
0dc0 56 45 52 20 43 41 55 53 45 44 20 41 4e 44 20 4f 4e 20 41 4e 59 20 54 48 45 4f 52 59 20 4f 46 20 VER.CAUSED.AND.ON.ANY.THEORY.OF.
0de0 4c 49 41 42 49 4c 49 54 59 2c 20 57 48 45 54 48 45 52 20 49 4e 0a 3b 3b 20 43 4f 4e 54 52 41 43 LIABILITY,.WHETHER.IN.;;.CONTRAC
0e00 54 2c 20 53 54 52 49 43 54 20 4c 49 41 42 49 4c 49 54 59 2c 20 4f 52 20 54 4f 52 54 20 28 49 4e T,.STRICT.LIABILITY,.OR.TORT.(IN
0e20 43 4c 55 44 49 4e 47 20 4e 45 47 4c 49 47 45 4e 43 45 20 4f 52 20 4f 54 48 45 52 57 49 53 45 29 CLUDING.NEGLIGENCE.OR.OTHERWISE)
0e40 0a 3b 3b 20 41 52 49 53 49 4e 47 20 49 4e 20 41 4e 59 20 57 41 59 20 4f 55 54 20 4f 46 20 54 48 .;;.ARISING.IN.ANY.WAY.OUT.OF.TH
0e60 45 20 55 53 45 20 4f 46 20 54 48 49 53 20 53 4f 46 54 57 41 52 45 2c 20 45 56 45 4e 20 49 46 20 E.USE.OF.THIS.SOFTWARE,.EVEN.IF.
0e80 41 44 56 49 53 45 44 20 4f 46 20 54 48 45 0a 3b 3b 20 50 4f 53 53 49 42 49 4c 49 54 59 20 4f 46 ADVISED.OF.THE.;;.POSSIBILITY.OF
0ea0 20 53 55 43 48 20 44 41 4d 41 47 45 2e 0a 0a 3b 3b 3b 20 43 6f 6d 6d 65 6e 74 61 72 79 3a 0a 3b .SUCH.DAMAGE...;;;.Commentary:.;
0ec0 3b 0a 3b 3b 20 54 72 61 6e 73 6c 61 74 65 20 41 4e 53 49 20 63 6f 6e 74 72 6f 6c 20 73 65 71 75 ;.;;.Translate.ANSI.control.sequ
0ee0 65 6e 63 65 73 20 69 6e 74 6f 20 74 65 78 74 20 70 72 6f 70 65 72 74 69 65 73 20 74 68 72 6f 75 ences.into.text.properties.throu
0f00 67 68 20 73 74 61 74 65 20 6d 61 63 68 69 6e 65 0a 3b 3b 20 65 6d 75 6c 61 74 69 6f 6e 2e 20 54 gh.state.machine.;;.emulation..T
0f20 68 69 73 20 70 72 6f 76 69 64 65 73 20 61 20 66 61 72 20 6d 6f 72 65 20 61 63 63 75 72 61 74 65 his.provides.a.far.more.accurate
0f40 2c 20 63 6f 6d 70 72 65 68 65 6e 73 69 76 65 20 72 65 73 75 6c 74 20 74 68 61 6e 0a 3b 3b 20 60 ,.comprehensive.result.than.;;.`
0f60 61 6e 73 69 2d 63 6f 6c 6f 72 2e 65 6c 27 20 74 68 61 74 20 69 73 20 62 75 69 6c 74 2d 69 6e 74 ansi-color.el'.that.is.built-int
0f80 6f 20 45 6d 61 63 73 2c 20 77 69 74 68 6f 75 74 20 63 6f 6d 70 72 6f 6d 69 73 69 6e 67 20 6f 6e o.Emacs,.without.compromising.on
0fa0 20 70 65 72 66 6f 72 6d 61 6e 63 65 2e 0a 3b 3b 0a 3b 3b 20 50 6c 65 61 73 65 20 73 65 65 20 52 .performance..;;.;;.Please.see.R
0fc0 45 41 44 4d 45 2e 6f 72 67 20 66 6f 72 20 64 6f 63 75 6d 65 6e 74 61 74 69 6f 6e 20 69 6e 63 6c EADME.org.for.documentation.incl
0fe0 75 64 69 6e 67 20 65 78 61 6d 70 6c 65 20 63 6f 6e 66 69 67 75 72 61 74 69 6f 6e 73 2e 0a 3b 3b uding.example.configurations..;;
1000 0a 3b 3b 3b 20 4e 6f 74 65 73 3a 0a 3b 3b 0a 3b 3b 20 55 6e 73 75 70 70 6f 72 74 65 64 20 53 47 .;;;.Notes:.;;.;;.Unsupported.SG
1020 52 20 61 74 74 72 69 62 75 74 65 73 3a 20 35 20 28 73 6c 6f 77 20 62 6c 69 6e 6b 29 2c 20 36 20 R.attributes:.5.(slow.blink),.6.
1040 28 72 61 70 69 64 20 62 6c 69 6e 6b 29 2c 20 38 20 28 63 6f 6e 63 65 61 6c 29 2c 0a 3b 3b 20 31 (rapid.blink),.8.(conceal),.;;.1
1060 30 20 28 70 72 69 6d 61 72 79 20 66 6f 6e 74 29 2c 20 31 31 2d 31 39 20 28 61 6c 74 65 72 6e 61 0.(primary.font),.11-19.(alterna
1080 74 69 76 65 20 66 6f 6e 74 29 2c 20 32 30 20 28 66 72 61 6b 74 75 72 29 2c 20 32 31 20 28 64 6f tive.font),.20.(fraktur),.21.(do
10a0 75 62 6c 65 20 75 6e 64 65 72 6c 69 6e 65 29 2c 0a 3b 3b 20 32 35 20 28 62 6c 69 6e 6b 20 6f 66 uble.underline),.;;.25.(blink.of
10c0 66 29 2c 20 32 39 20 28 72 65 76 65 61 6c 29 2c 20 35 32 20 28 65 6e 63 69 72 63 6c 65 64 29 2c f),.29.(reveal),.52.(encircled),
10e0 20 36 30 2d 36 35 20 28 69 64 65 6f 67 72 61 6d 29 0a 3b 3b 0a 3b 3b 20 4d 6f 73 74 20 6f 66 20 .60-65.(ideogram).;;.;;.Most.of.
1100 74 68 65 73 65 20 63 61 6e 20 6e 6f 74 20 62 65 20 6d 61 70 70 65 64 20 74 6f 20 45 6d 61 63 73 these.can.not.be.mapped.to.Emacs
1120 20 66 61 63 65 20 70 72 6f 70 65 72 74 69 65 73 2e 20 54 68 65 20 72 65 73 74 20 6d 61 79 20 62 .face.properties..The.rest.may.b
1140 65 0a 3b 3b 20 73 75 70 70 6f 72 74 65 64 20 69 6e 20 61 20 66 75 74 75 72 65 20 72 65 6c 65 61 e.;;.supported.in.a.future.relea
1160 73 65 2e 0a 3b 3b 0a 3b 3b 20 53 75 70 70 6f 72 74 65 64 20 53 47 52 20 61 74 74 72 69 62 75 74 se..;;.;;.Supported.SGR.attribut
1180 65 73 3a 20 4c 6f 6f 6b 20 61 74 20 60 78 74 65 72 6d 2d 63 6f 6c 6f 72 2d 2d 64 69 73 70 61 74 es:.Look.at.`xterm-color--dispat
11a0 63 68 2d 53 47 52 27 2e 0a 3b 3b 20 53 47 52 20 61 74 74 72 69 62 75 74 65 20 31 20 69 73 20 72 ch-SGR'..;;.SGR.attribute.1.is.r
11c0 65 6e 64 65 72 65 64 20 61 73 20 62 72 69 67 68 74 20 75 6e 6c 65 73 73 20 60 78 74 65 72 6d 2d endered.as.bright.unless.`xterm-
11e0 63 6f 6c 6f 72 2d 75 73 65 2d 62 6f 6c 64 2d 66 6f 72 2d 62 72 69 67 68 74 27 0a 3b 3b 20 69 73 color-use-bold-for-bright'.;;.is
1200 20 6e 6f 6e 2d 6e 69 6c 20 77 68 69 63 68 20 77 69 6c 6c 2c 20 69 66 20 63 75 72 72 65 6e 74 20 .non-nil.which.will,.if.current.
1220 66 6f 6e 74 20 68 61 73 20 61 20 62 6f 6c 64 20 76 61 72 69 61 6e 74 2c 20 73 77 69 74 63 68 20 font.has.a.bold.variant,.switch.
1240 74 6f 20 62 6f 6c 64 2e 0a 3b 3b 20 53 47 52 20 61 74 74 72 69 62 75 74 65 73 20 33 38 20 61 6e to.bold..;;.SGR.attributes.38.an
1260 64 20 34 38 20 61 72 65 20 73 75 70 70 6f 72 74 65 64 20 69 6e 20 62 6f 74 68 20 74 68 65 69 72 d.48.are.supported.in.both.their
1280 20 32 35 36 20 63 6f 6c 6f 72 20 61 6e 64 20 74 72 75 65 63 6f 6c 6f 72 0a 3b 3b 20 28 32 34 2d .256.color.and.truecolor.;;.(24-
12a0 62 69 74 29 20 76 61 72 69 61 6e 74 73 2e 0a 0a 3b 3b 3b 20 54 65 73 74 3a 0a 3b 3b 0a 3b 3b 20 bit).variants...;;;.Test:.;;.;;.
12c0 4d 2d 78 20 78 74 65 72 6d 2d 63 6f 6c 6f 72 2d 74 65 73 74 0a 3b 3b 0a 3b 3b 20 49 6e 20 73 68 M-x.xterm-color-test.;;.;;.In.sh
12e0 65 6c 6c 20 6f 72 20 65 73 68 65 6c 6c 3a 0a 3b 3b 0a 3b 3b 20 70 65 72 6c 20 74 65 73 74 73 2f ell.or.eshell:.;;.;;.perl.tests/
1300 78 74 65 72 6d 2d 63 6f 6c 6f 72 74 65 73 74 20 26 26 20 70 65 72 6c 20 74 65 73 74 73 2f 32 35 xterm-colortest.&&.perl.tests/25
1320 36 63 6f 6c 6f 72 73 32 2e 70 6c 0a 3b 3b 0a 3b 3b 20 70 72 69 6e 74 66 20 22 5c 78 31 62 5b 30 6colors2.pl.;;.;;.printf."\x1b[0
1340 3b 31 3b 33 3b 34 3b 33 35 3b 35 31 6d 54 68 69 73 20 69 73 20 6f 6e 6c 79 20 61 20 74 65 73 74 ;1;3;4;35;51mThis.is.only.a.test
1360 5c 78 31 62 5b 30 6d 5c 6e 22 0a 3b 3b 0a 3b 3b 20 43 6f 6d 70 61 72 69 73 6f 6e 20 77 69 74 68 \x1b[0m\n".;;.;;.Comparison.with
1380 20 61 6e 73 69 2d 63 6f 6c 6f 72 2e 65 6c 3a 0a 3b 3b 0a 3b 3b 20 4d 2d 78 20 78 74 65 72 6d 2d .ansi-color.el:.;;.;;.M-x.xterm-
13a0 63 6f 6c 6f 72 2d 74 65 73 74 2d 72 61 77 20 74 68 65 6e 20 4d 2d 78 20 78 74 65 72 6d 2d 63 6f color-test-raw.then.M-x.xterm-co
13c0 6c 6f 72 2d 63 6f 6c 6f 72 69 7a 65 2d 62 75 66 66 65 72 0a 3b 3b 0a 3b 3b 20 61 6e 64 20 63 6f lor-colorize-buffer.;;.;;.and.co
13e0 6e 74 72 61 73 74 20 77 69 74 68 0a 3b 3b 0a 3b 3b 20 4d 2d 78 20 78 74 65 72 6d 2d 63 6f 6c 6f ntrast.with.;;.;;.M-x.xterm-colo
1400 72 2d 74 65 73 74 2d 72 61 77 20 74 68 65 6e 20 4d 2d 3a 20 28 61 6e 73 69 2d 63 6f 6c 6f 72 2d r-test-raw.then.M-:.(ansi-color-
1420 61 70 70 6c 79 2d 6f 6e 2d 72 65 67 69 6f 6e 20 28 70 6f 69 6e 74 2d 6d 69 6e 29 20 28 70 6f 69 apply-on-region.(point-min).(poi
1440 6e 74 2d 6d 61 78 29 29 0a 3b 3b 0a 3b 3b 20 55 73 65 20 60 78 74 65 72 6d 2d 63 6f 6c 6f 72 2d nt-max)).;;.;;.Use.`xterm-color-
1460 2d 62 65 6e 63 68 27 20 66 6f 72 20 62 65 6e 63 68 6d 61 72 6b 73 20 64 75 72 69 6e 67 20 64 65 -bench'.for.benchmarks.during.de
1480 76 65 6c 6f 70 6d 65 6e 74 2e 0a 0a 3b 3b 3b 20 43 6f 64 65 3a 0a 0a 28 72 65 71 75 69 72 65 20 velopment...;;;.Code:..(require.
14a0 27 73 75 62 72 2d 78 29 0a 28 72 65 71 75 69 72 65 20 27 63 6c 2d 6c 69 62 29 0a 0a 28 64 65 66 'subr-x).(require.'cl-lib)..(def
14c0 67 72 6f 75 70 20 78 74 65 72 6d 2d 63 6f 6c 6f 72 20 6e 69 6c 0a 20 20 22 54 72 61 6e 73 6c 61 group.xterm-color.nil..."Transla
14e0 74 65 20 41 4e 53 49 20 63 6f 6e 74 72 6f 6c 20 73 65 71 75 65 6e 63 65 73 20 74 6f 20 74 65 78 te.ANSI.control.sequences.to.tex
1500 74 20 70 72 6f 70 65 72 74 69 65 73 2e 22 0a 20 20 3a 70 72 65 66 69 78 20 22 78 74 65 72 6d 2d t.properties."...:prefix."xterm-
1520 63 6f 6c 6f 72 2d 22 0a 20 20 3a 67 72 6f 75 70 20 27 70 72 6f 63 65 73 73 65 73 29 0a 0a 0a 3b color-"...:group.'processes)...;
1540 3b 3b 0a 3b 3b 3b 20 43 55 53 54 4f 4d 0a 3b 3b 3b 0a 0a 0a 28 64 65 66 63 75 73 74 6f 6d 20 78 ;;.;;;.CUSTOM.;;;...(defcustom.x
1560 74 65 72 6d 2d 63 6f 6c 6f 72 2d 64 65 62 75 67 20 6e 69 6c 0a 20 20 22 49 66 20 6e 6f 6e 2d 6e term-color-debug.nil..."If.non-n
1580 69 6c 2c 20 70 72 69 6e 74 20 41 4e 53 49 20 73 74 61 74 65 20 6d 61 63 68 69 6e 65 20 64 65 62 il,.print.ANSI.state.machine.deb
15a0 75 67 20 69 6e 66 6f 72 6d 61 74 69 6f 6e 20 69 6e 20 2a 4d 65 73 73 61 67 65 73 2a 2e 22 0a 20 ug.information.in.*Messages*."..
15c0 20 3a 74 79 70 65 20 27 62 6f 6f 6c 65 61 6e 0a 20 20 3a 67 72 6f 75 70 20 27 78 74 65 72 6d 2d .:type.'boolean...:group.'xterm-
15e0 63 6f 6c 6f 72 29 0a 0a 28 64 65 66 63 75 73 74 6f 6d 20 78 74 65 72 6d 2d 63 6f 6c 6f 72 2d 75 color)..(defcustom.xterm-color-u
1600 73 65 2d 62 6f 6c 64 2d 66 6f 72 2d 62 72 69 67 68 74 20 6e 69 6c 0a 20 20 22 49 66 20 6e 6f 6e se-bold-for-bright.nil..."If.non
1620 2d 6e 69 6c 2c 20 72 65 6e 64 65 72 20 62 72 69 67 68 74 20 66 6f 72 65 67 72 6f 75 6e 64 20 61 -nil,.render.bright.foreground.a
1640 74 74 72 69 62 75 74 65 20 61 73 20 62 6f 6c 64 2e 22 0a 20 20 3a 74 79 70 65 20 27 62 6f 6f 6c ttribute.as.bold."...:type.'bool
1660 65 61 6e 0a 20 20 3a 67 72 6f 75 70 20 27 78 74 65 72 6d 2d 63 6f 6c 6f 72 29 0a 0a 28 64 65 66 ean...:group.'xterm-color)..(def
1680 63 75 73 74 6f 6d 20 78 74 65 72 6d 2d 63 6f 6c 6f 72 2d 6e 61 6d 65 73 0a 20 20 5b 22 23 31 39 custom.xterm-color-names...["#19
16a0 32 30 33 33 22 20 20 20 20 3b 20 62 6c 61 63 6b 0a 20 20 20 22 23 41 39 33 46 34 33 22 20 20 20 2033"....;.black...."#A93F43"...
16c0 20 3b 20 72 65 64 0a 20 20 20 22 23 35 39 39 36 33 41 22 20 20 20 20 3b 20 67 72 65 65 6e 0a 20 .;.red...."#59963A"....;.green..
16e0 20 20 22 23 42 45 38 41 32 44 22 20 20 20 20 3b 20 79 65 6c 6c 6f 77 0a 20 20 20 22 23 34 30 36 .."#BE8A2D"....;.yellow...."#406
1700 38 41 33 22 20 20 20 20 3b 20 62 6c 75 65 0a 20 20 20 22 23 37 46 36 30 41 37 22 20 20 20 20 3b 8A3"....;.blue...."#7F60A7"....;
1720 20 6d 61 67 65 6e 74 61 0a 20 20 20 22 23 34 45 39 42 39 42 22 20 20 20 20 3b 20 63 79 61 6e 0a .magenta...."#4E9B9B"....;.cyan.
1740 20 20 20 22 23 37 45 38 41 39 30 22 5d 20 20 20 3b 20 77 68 69 74 65 0a 20 20 22 44 65 66 61 75 ..."#7E8A90"]...;.white..."Defau
1760 6c 74 20 63 6f 6c 6f 72 73 20 74 6f 20 75 73 65 20 61 73 20 72 65 67 75 6c 61 72 20 41 4e 53 49 lt.colors.to.use.as.regular.ANSI
1780 20 63 6f 6c 6f 72 73 2e 22 0a 20 20 3a 74 79 70 65 20 27 28 76 65 63 74 6f 72 20 73 74 72 69 6e .colors."...:type.'(vector.strin
17a0 67 20 73 74 72 69 6e 67 20 73 74 72 69 6e 67 20 73 74 72 69 6e 67 20 73 74 72 69 6e 67 20 73 74 g.string.string.string.string.st
17c0 72 69 6e 67 20 73 74 72 69 6e 67 20 73 74 72 69 6e 67 29 0a 20 20 3a 67 72 6f 75 70 20 27 78 74 ring.string.string)...:group.'xt
17e0 65 72 6d 2d 63 6f 6c 6f 72 29 0a 0a 28 64 65 66 63 75 73 74 6f 6d 20 78 74 65 72 6d 2d 63 6f 6c erm-color)..(defcustom.xterm-col
1800 6f 72 2d 6e 61 6d 65 73 2d 62 72 69 67 68 74 0a 20 20 5b 22 23 36 36 36 36 36 36 22 20 20 20 20 or-names-bright...["#666666"....
1820 3b 20 62 6c 61 63 6b 0a 20 20 20 22 23 45 43 36 32 36 31 22 20 20 20 20 3b 20 72 65 64 0a 20 20 ;.black...."#EC6261"....;.red...
1840 20 22 23 41 44 43 46 34 34 22 20 20 20 20 3b 20 67 72 65 65 6e 0a 20 20 20 22 23 46 30 43 36 34 ."#ADCF44"....;.green...."#F0C64
1860 39 22 20 20 20 20 3b 20 79 65 6c 6c 6f 77 0a 20 20 20 22 23 36 33 42 34 46 36 22 20 20 20 20 3b 9"....;.yellow...."#63B4F6"....;
1880 20 62 6c 75 65 0a 20 20 20 22 23 43 42 37 37 46 39 22 20 20 20 20 3b 20 6d 61 67 65 6e 74 61 0a .blue...."#CB77F9"....;.magenta.
18a0 20 20 20 22 23 38 36 44 37 44 42 22 20 20 20 20 3b 20 63 79 61 6e 0a 20 20 20 22 23 44 33 44 32 ..."#86D7DB"....;.cyan...."#D3D2
18c0 44 31 22 5d 20 20 20 3b 20 77 68 69 74 65 0a 20 20 22 44 65 66 61 75 6c 74 20 63 6f 6c 6f 72 73 D1"]...;.white..."Default.colors
18e0 20 74 6f 20 75 73 65 20 61 73 20 62 72 69 67 68 74 20 41 4e 53 49 20 63 6f 6c 6f 72 73 2e 22 0a .to.use.as.bright.ANSI.colors.".
1900 20 20 3a 74 79 70 65 20 27 28 76 65 63 74 6f 72 20 73 74 72 69 6e 67 20 73 74 72 69 6e 67 20 73 ..:type.'(vector.string.string.s
1920 74 72 69 6e 67 20 73 74 72 69 6e 67 20 73 74 72 69 6e 67 20 73 74 72 69 6e 67 20 73 74 72 69 6e tring.string.string.string.strin
1940 67 20 73 74 72 69 6e 67 29 0a 20 20 3a 67 72 6f 75 70 20 27 78 74 65 72 6d 2d 63 6f 6c 6f 72 29 g.string)...:group.'xterm-color)
1960 0a 0a 0a 3b 3b 3b 0a 3b 3b 3b 20 42 75 66 66 65 72 20 6c 6f 63 61 6c 73 2c 20 75 73 65 64 20 62 ...;;;.;;;.Buffer.locals,.used.b
1980 79 20 73 74 61 74 65 20 6d 61 63 68 69 6e 65 0a 3b 3b 3b 0a 0a 0a 28 64 65 66 76 61 72 2d 6c 6f y.state.machine.;;;...(defvar-lo
19a0 63 61 6c 20 78 74 65 72 6d 2d 63 6f 6c 6f 72 2d 70 72 65 73 65 72 76 65 2d 70 72 6f 70 65 72 74 cal.xterm-color-preserve-propert
19c0 69 65 73 20 6e 69 6c 0a 20 20 22 49 66 20 6e 6f 6e 2d 6e 69 6c 2c 20 70 72 65 73 65 72 76 65 20 ies.nil..."If.non-nil,.preserve.
19e0 65 78 69 73 74 69 6e 67 20 74 65 78 74 20 70 72 6f 70 65 72 74 69 65 73 20 6f 6e 20 69 6e 70 75 existing.text.properties.on.inpu
1a00 74 20 61 62 6f 75 74 20 74 6f 20 62 65 20 66 69 6c 74 65 72 65 64 2e 0a 45 66 66 65 63 74 69 76 t.about.to.be.filtered..Effectiv
1a20 65 6c 79 20 74 68 69 73 20 73 6b 69 70 73 20 41 4e 53 49 20 63 6f 6e 74 72 6f 6c 20 73 65 71 75 ely.this.skips.ANSI.control.sequ
1a40 65 6e 63 65 20 70 72 6f 63 65 73 73 69 6e 67 20 66 6f 72 20 69 6e 70 75 74 20 70 61 72 74 73 0a ence.processing.for.input.parts.
1a60 74 68 61 74 20 68 61 76 65 20 74 65 78 74 20 70 72 6f 70 65 72 74 69 65 73 20 61 70 70 6c 69 65 that.have.text.properties.applie
1a80 64 2e 20 54 68 69 73 20 73 68 6f 75 6c 64 20 62 65 20 6e 69 6c 20 6d 6f 73 74 20 6f 66 20 74 68 d..This.should.be.nil.most.of.th
1aa0 65 20 74 69 6d 65 2e 0a 49 74 20 69 73 20 72 65 61 6c 6c 79 20 6d 65 61 6e 74 20 66 6f 72 20 61 e.time..It.is.really.meant.for.a
1ac0 6e 64 20 77 6f 72 6b 73 20 6f 6b 20 77 69 74 68 20 65 73 68 65 6c 6c 2e 22 29 0a 0a 28 64 65 66 nd.works.ok.with.eshell.")..(def
1ae0 76 61 72 2d 6c 6f 63 61 6c 20 78 74 65 72 6d 2d 63 6f 6c 6f 72 2d 72 65 6e 64 65 72 20 74 0a 20 var-local.xterm-color-render.t..
1b00 20 22 49 66 20 6e 6f 6e 2d 6e 69 6c 2c 20 72 65 6e 64 65 72 20 53 47 52 20 61 74 74 72 69 62 75 ."If.non-nil,.render.SGR.attribu
1b20 74 65 73 2e 20 4f 74 68 65 72 77 69 73 65 2c 20 64 69 73 63 61 72 64 20 74 68 65 6d 2e 0a 54 68 tes..Otherwise,.discard.them..Th
1b40 65 20 6c 61 74 74 65 72 20 65 6e 61 62 6c 65 73 20 70 72 6f 63 65 73 73 69 6e 67 20 61 6e 64 20 e.latter.enables.processing.and.
1b60 66 69 6c 74 65 72 69 6e 67 20 6f 75 74 20 41 4e 53 49 20 63 6f 6e 74 72 6f 6c 20 73 65 71 75 65 filtering.out.ANSI.control.seque
1b80 6e 63 65 73 2c 0a 77 69 74 68 6f 75 74 20 61 70 70 6c 79 69 6e 67 20 74 68 65 6d 20 74 6f 20 74 nces,.without.applying.them.to.t
1ba0 68 65 20 74 65 78 74 2e 22 29 0a 0a 28 64 65 66 76 61 72 2d 6c 6f 63 61 6c 20 78 74 65 72 6d 2d he.text.")..(defvar-local.xterm-
1bc0 63 6f 6c 6f 72 2d 2d 63 75 72 72 65 6e 74 2d 66 67 20 6e 69 6c 29 0a 0a 28 64 65 66 76 61 72 2d color--current-fg.nil)..(defvar-
1be0 6c 6f 63 61 6c 20 78 74 65 72 6d 2d 63 6f 6c 6f 72 2d 2d 63 75 72 72 65 6e 74 2d 62 67 20 6e 69 local.xterm-color--current-bg.ni
1c00 6c 29 0a 0a 28 64 65 66 76 61 72 2d 6c 6f 63 61 6c 20 78 74 65 72 6d 2d 63 6f 6c 6f 72 2d 2d 63 l)..(defvar-local.xterm-color--c
1c20 68 61 72 2d 6c 69 73 74 20 6e 69 6c 0a 20 20 22 4c 69 73 74 20 6f 66 20 63 68 61 72 61 63 74 65 har-list.nil..."List.of.characte
1c40 72 73 20 74 68 61 74 20 74 68 65 20 63 75 72 72 65 6e 74 20 41 4e 53 49 20 63 6f 6c 6f 72 20 61 rs.that.the.current.ANSI.color.a
1c60 70 70 6c 69 65 73 20 74 6f 2e 0a 41 6c 6c 20 63 68 61 72 61 63 74 65 72 73 20 61 72 65 20 73 74 pplies.to..All.characters.are.st
1c80 6f 72 65 64 20 69 6e 20 72 65 76 65 72 73 65 2c 20 4c 49 46 4f 2c 20 6f 72 64 65 72 2e 22 29 0a ored.in.reverse,.LIFO,.order.").
1ca0 0a 28 64 65 66 76 61 72 2d 6c 6f 63 61 6c 20 78 74 65 72 6d 2d 63 6f 6c 6f 72 2d 2d 43 53 49 2d .(defvar-local.xterm-color--CSI-
1cc0 6c 69 73 74 20 6e 69 6c 0a 20 20 22 4c 69 73 74 20 6f 66 20 63 75 72 72 65 6e 74 20 41 4e 53 49 list.nil..."List.of.current.ANSI
1ce0 20 43 53 49 20 73 65 71 75 65 6e 63 65 20 62 79 74 65 73 20 28 63 68 61 72 61 63 74 65 72 73 29 .CSI.sequence.bytes.(characters)
1d00 2e 0a 41 6c 6c 20 63 68 61 72 61 63 74 65 72 73 20 61 72 65 20 73 74 6f 72 65 64 20 69 6e 20 72 ..All.characters.are.stored.in.r
1d20 65 76 65 72 73 65 2c 20 4c 49 46 4f 2c 20 6f 72 64 65 72 2e 22 29 0a 0a 28 64 65 66 76 61 72 2d everse,.LIFO,.order.")..(defvar-
1d40 6c 6f 63 61 6c 20 78 74 65 72 6d 2d 63 6f 6c 6f 72 2d 2d 73 74 61 74 65 20 3a 63 68 61 72 0a 20 local.xterm-color--state.:char..
1d60 20 22 43 75 72 72 65 6e 74 20 73 74 61 74 65 20 6f 66 20 41 4e 53 49 20 73 74 61 74 65 20 6d 61 ."Current.state.of.ANSI.state.ma
1d80 63 68 69 6e 65 2e 0a 0a 43 61 6e 20 62 65 20 6f 6e 65 20 6f 66 20 3a 63 68 61 72 2c 20 3a 73 65 chine...Can.be.one.of.:char,.:se
1da0 74 2d 63 68 61 72 2c 20 3a 61 6e 73 69 2d 65 73 63 2c 20 3a 61 6e 73 69 2d 63 73 69 2c 20 3a 61 t-char,.:ansi-esc,.:ansi-csi,.:a
1dc0 6e 73 69 2d 6f 73 63 2c 0a 3a 61 6e 73 69 2d 6f 73 63 2d 65 73 63 2e 22 29 0a 0a 28 64 65 66 76 nsi-osc,.:ansi-osc-esc.")..(defv
1de0 61 72 2d 6c 6f 63 61 6c 20 78 74 65 72 6d 2d 63 6f 6c 6f 72 2d 2d 61 74 74 72 69 62 75 74 65 73 ar-local.xterm-color--attributes
1e00 20 30 0a 20 20 22 42 69 74 76 65 63 74 6f 72 20 74 68 61 74 20 6b 65 65 70 73 20 74 72 61 63 6b .0..."Bitvector.that.keeps.track
1e20 20 6f 66 20 73 74 61 74 65 20 6d 61 63 68 69 6e 65 20 61 74 74 72 69 62 75 74 65 73 2e 0a 0a 54 .of.state.machine.attributes...T
1e40 68 65 73 65 20 61 72 65 3a 20 62 72 69 67 68 74 2c 20 69 74 61 6c 69 63 2c 20 75 6e 64 65 72 6c hese.are:.bright,.italic,.underl
1e60 69 6e 65 2c 20 73 74 72 69 6b 65 2d 74 68 72 6f 75 67 68 2c 20 69 6e 76 65 72 73 65 2d 63 6f 6c ine,.strike-through,.inverse-col
1e80 6f 72 2c 0a 66 72 61 6d 65 2c 20 6f 76 65 72 6c 69 6e 65 2e 22 29 0a 0a 28 64 65 66 76 61 72 2d or,.frame,.overline.")..(defvar-
1ea0 6c 6f 63 61 6c 20 78 74 65 72 6d 2d 63 6f 6c 6f 72 2d 2d 66 61 63 65 2d 63 61 63 68 65 20 6e 69 local.xterm-color--face-cache.ni
1ec0 6c 0a 20 20 22 43 61 63 68 65 20 66 6f 72 20 61 75 74 6f 2d 67 65 6e 65 72 61 74 65 64 20 66 61 l..."Cache.for.auto-generated.fa
1ee0 63 65 20 61 74 74 72 69 62 75 74 65 73 2e 22 29 0a 0a 28 64 65 66 76 61 72 2d 6c 6f 63 61 6c 20 ce.attributes.")..(defvar-local.
1f00 78 74 65 72 6d 2d 63 6f 6c 6f 72 2d 2d 74 72 75 65 63 6f 6c 6f 72 2d 66 61 63 65 2d 63 61 63 68 xterm-color--truecolor-face-cach
1f20 65 20 6e 69 6c 0a 20 20 22 43 61 63 68 65 20 66 6f 72 20 61 75 74 6f 2d 67 65 6e 65 72 61 74 65 e.nil..."Cache.for.auto-generate
1f40 64 20 66 61 63 65 20 61 74 74 72 69 62 75 74 65 73 2e 22 29 0a 0a 0a 3b 3b 3b 0a 3b 3b 3b 20 43 d.face.attributes.")...;;;.;;;.C
1f60 6f 6e 73 74 61 6e 74 73 0a 3b 3b 3b 0a 0a 0a 28 64 65 66 63 6f 6e 73 74 20 2b 78 74 65 72 6d 2d onstants.;;;...(defconst.+xterm-
1f80 63 6f 6c 6f 72 2d 2d 74 61 62 6c 65 2d 32 35 36 2b 20 5b 30 20 23 78 35 66 20 23 78 38 37 20 23 color--table-256+.[0.#x5f.#x87.#
1fa0 78 61 66 20 23 78 64 37 20 23 78 66 66 5d 29 0a 0a 0a 3b 3b 3b 0a 3b 3b 3b 20 49 6e 74 65 72 6e xaf.#xd7.#xff])...;;;.;;;.Intern
1fc0 61 6c 20 41 50 49 0a 3b 3b 3b 0a 0a 3b 3b 20 54 68 65 20 66 61 63 65 20 63 61 63 68 69 6e 67 20 al.API.;;;..;;.The.face.caching.
1fe0 73 63 68 65 6d 65 20 72 65 71 75 69 72 65 73 20 61 6e 20 69 6e 74 65 67 65 72 20 77 69 64 74 68 scheme.requires.an.integer.width
2000 20 6f 66 20 61 74 20 6c 65 61 73 74 20 35 36 20 62 69 74 73 0a 3b 3b 20 74 6f 20 63 61 63 68 65 .of.at.least.56.bits.;;.to.cache
2020 20 66 61 63 65 73 20 64 65 72 69 76 65 64 20 66 72 6f 6d 20 74 72 75 65 63 6f 6c 6f 72 20 28 32 .faces.derived.from.truecolor.(2
2040 34 2d 62 69 74 29 20 41 4e 53 49 20 73 65 71 75 65 6e 63 65 73 2e 20 54 72 75 65 63 6f 6c 6f 72 4-bit).ANSI.sequences..Truecolor
2060 0a 3b 3b 20 73 75 70 70 6f 72 74 20 69 73 20 74 68 65 72 65 66 6f 72 65 20 64 69 73 61 62 6c 65 .;;.support.is.therefore.disable
2080 64 20 6f 6e 20 65 2e 67 2e 20 6d 61 63 68 69 6e 65 73 20 77 69 74 68 20 33 32 2d 62 69 74 20 69 d.on.e.g..machines.with.32-bit.i
20a0 6e 74 65 67 65 72 73 2e 0a 28 64 65 66 76 61 72 20 78 74 65 72 6d 2d 63 6f 6c 6f 72 2d 2d 73 75 ntegers..(defvar.xterm-color--su
20c0 70 70 6f 72 74 2d 74 72 75 65 63 6f 6c 6f 72 20 28 3e 3d 20 28 31 2b 20 28 66 6c 6f 6f 72 20 28 pport-truecolor.(>=.(1+.(floor.(
20e0 6c 6f 67 20 6d 6f 73 74 2d 70 6f 73 69 74 69 76 65 2d 66 69 78 6e 75 6d 20 32 29 29 29 0a 20 20 log.most-positive-fixnum.2)))...
2100 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
2120 20 20 20 20 20 20 20 20 20 35 39 29 29 0a 0a 28 63 6c 2d 64 65 66 75 6e 20 78 74 65 72 6d 2d 63 .........59))..(cl-defun.xterm-c
2140 6f 6c 6f 72 2d 2d 73 74 72 69 6e 67 2d 70 72 6f 70 65 72 74 69 65 73 20 28 73 74 72 69 6e 67 29 olor--string-properties.(string)
2160 0a 20 20 28 63 6c 2d 6c 6f 6f 70 0a 20 20 20 77 69 74 68 20 70 6f 73 20 3d 20 30 20 61 6e 64 20 ...(cl-loop....with.pos.=.0.and.
2180 72 65 73 75 6c 74 20 64 6f 0a 20 20 20 28 6c 65 74 20 28 28 6e 65 78 74 2d 70 6f 73 20 28 6e 65 result.do....(let.((next-pos.(ne
21a0 78 74 2d 70 72 6f 70 65 72 74 79 2d 63 68 61 6e 67 65 20 70 6f 73 20 73 74 72 69 6e 67 29 29 29 xt-property-change.pos.string)))
21c0 0a 20 20 20 20 20 28 69 66 20 6e 65 78 74 2d 70 6f 73 0a 20 20 20 20 20 20 20 20 20 28 70 72 6f ......(if.next-pos..........(pro
21e0 67 6e 0a 20 20 20 20 20 20 20 20 20 20 20 28 70 75 73 68 20 28 6c 69 73 74 20 70 6f 73 20 28 74 gn............(push.(list.pos.(t
2200 65 78 74 2d 70 72 6f 70 65 72 74 69 65 73 2d 61 74 20 70 6f 73 20 73 74 72 69 6e 67 29 20 28 73 ext-properties-at.pos.string).(s
2220 75 62 73 74 72 69 6e 67 20 73 74 72 69 6e 67 20 70 6f 73 20 6e 65 78 74 2d 70 6f 73 29 29 20 72 ubstring.string.pos.next-pos)).r
2240 65 73 75 6c 74 29 0a 20 20 20 20 20 20 20 20 20 20 20 28 73 65 74 71 20 70 6f 73 20 6e 65 78 74 esult)............(setq.pos.next
2260 2d 70 6f 73 29 29 0a 20 20 20 20 20 20 20 28 70 75 73 68 20 28 6c 69 73 74 20 70 6f 73 20 28 74 -pos))........(push.(list.pos.(t
2280 65 78 74 2d 70 72 6f 70 65 72 74 69 65 73 2d 61 74 20 70 6f 73 20 73 74 72 69 6e 67 29 20 28 73 ext-properties-at.pos.string).(s
22a0 75 62 73 74 72 69 6e 67 20 73 74 72 69 6e 67 20 70 6f 73 29 29 20 72 65 73 75 6c 74 29 0a 20 20 ubstring.string.pos)).result)...
22c0 20 20 20 20 20 28 63 6c 2d 72 65 74 75 72 6e 2d 66 72 6f 6d 20 78 74 65 72 6d 2d 63 6f 6c 6f 72 .....(cl-return-from.xterm-color
22e0 2d 2d 73 74 72 69 6e 67 2d 70 72 6f 70 65 72 74 69 65 73 20 28 6e 72 65 76 65 72 73 65 20 72 65 --string-properties.(nreverse.re
2300 73 75 6c 74 29 29 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 78 74 65 72 6d 2d 63 6f 6c 6f 72 2d 2d sult))))))..(defun.xterm-color--
2320 63 6f 6e 76 65 72 74 2d 74 65 78 74 2d 70 72 6f 70 65 72 74 69 65 73 2d 74 6f 2d 6f 76 65 72 6c convert-text-properties-to-overl
2340 61 79 73 20 28 62 65 67 20 65 6e 64 29 0a 20 20 22 54 72 61 6e 73 66 6f 72 6d 20 66 61 63 65 20 ays.(beg.end)..."Transform.face.
2360 74 65 78 74 20 70 72 6f 70 65 72 74 69 65 73 20 62 65 74 77 65 65 6e 20 42 45 47 20 61 6e 64 20 text.properties.between.BEG.and.
2380 45 4e 44 2c 20 74 6f 20 65 71 75 69 76 61 6c 65 6e 74 20 6f 76 65 72 6c 61 79 73 2e 22 0a 20 20 END,.to.equivalent.overlays."...
23a0 28 73 61 76 65 2d 65 78 63 75 72 73 69 6f 6e 0a 20 20 20 20 28 67 6f 74 6f 2d 63 68 61 72 20 62 (save-excursion.....(goto-char.b
23c0 65 67 29 0a 20 20 20 20 28 6c 65 74 20 28 28 66 61 63 65 2d 70 72 6f 70 20 28 69 66 20 28 6f 72 eg).....(let.((face-prop.(if.(or
23e0 20 28 67 65 74 2d 74 65 78 74 2d 70 72 6f 70 65 72 74 79 20 28 70 6f 69 6e 74 29 20 27 66 6f 6e .(get-text-property.(point).'fon
2400 74 2d 6c 6f 63 6b 2d 66 61 63 65 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 t-lock-face)....................
2420 20 20 20 20 20 20 20 20 20 20 28 6e 65 78 74 2d 73 69 6e 67 6c 65 2d 70 72 6f 70 65 72 74 79 2d ..........(next-single-property-
2440 63 68 61 6e 67 65 20 28 70 6f 69 6e 74 29 20 27 66 6f 6e 74 2d 6c 6f 63 6b 2d 66 61 63 65 29 29 change.(point).'font-lock-face))
2460 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 27 66 6f 6e 74 2d ..........................'font-
2480 6c 6f 63 6b 2d 66 61 63 65 20 27 66 61 63 65 29 29 29 0a 20 20 20 20 20 20 28 77 68 69 6c 65 20 lock-face.'face))).......(while.
24a0 28 3c 20 28 70 6f 69 6e 74 29 20 65 6e 64 29 0a 20 20 20 20 20 20 20 20 28 6c 65 74 2a 20 28 28 (<.(point).end).........(let*.((
24c0 70 6f 73 20 28 70 6f 69 6e 74 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 63 75 72 pos.(point))................(cur
24e0 72 65 6e 74 2d 76 61 6c 75 65 20 28 67 65 74 2d 74 65 78 74 2d 70 72 6f 70 65 72 74 79 20 70 6f rent-value.(get-text-property.po
2500 73 20 66 61 63 65 2d 70 72 6f 70 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6e 65 s.face-prop))................(ne
2520 78 74 2d 63 68 61 6e 67 65 20 28 6e 65 78 74 2d 73 69 6e 67 6c 65 2d 70 72 6f 70 65 72 74 79 2d xt-change.(next-single-property-
2540 63 68 61 6e 67 65 20 70 6f 73 20 66 61 63 65 2d 70 72 6f 70 20 6e 69 6c 20 65 6e 64 29 29 29 0a change.pos.face-prop.nil.end))).
2560 20 20 20 20 20 20 20 20 20 20 28 77 68 65 6e 20 63 75 72 72 65 6e 74 2d 76 61 6c 75 65 0a 20 20 ..........(when.current-value...
2580 20 20 20 20 20 20 20 20 20 20 28 6c 65 74 20 28 28 6f 76 20 28 6d 61 6b 65 2d 6f 76 65 72 6c 61 ..........(let.((ov.(make-overla
25a0 79 20 70 6f 73 20 6e 65 78 74 2d 63 68 61 6e 67 65 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 y.pos.next-change)))............
25c0 20 20 20 28 6f 76 65 72 6c 61 79 2d 70 75 74 20 6f 76 20 66 61 63 65 2d 70 72 6f 70 20 63 75 72 ...(overlay-put.ov.face-prop.cur
25e0 72 65 6e 74 2d 76 61 6c 75 65 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6f 76 65 72 6c rent-value)...............(overl
2600 61 79 2d 70 75 74 20 6f 76 20 27 78 74 65 72 6d 2d 63 6f 6c 6f 72 20 74 29 29 29 0a 20 20 20 20 ay-put.ov.'xterm-color.t))).....
2620 20 20 20 20 20 20 28 67 6f 74 6f 2d 63 68 61 72 20 6e 65 78 74 2d 63 68 61 6e 67 65 29 29 29 0a ......(goto-char.next-change))).
2640 20 20 20 20 20 20 28 72 65 6d 6f 76 65 2d 74 65 78 74 2d 70 72 6f 70 65 72 74 69 65 73 20 62 65 ......(remove-text-properties.be
2660 67 20 65 6e 64 20 28 6c 69 73 74 20 27 78 74 65 72 6d 2d 63 6f 6c 6f 72 20 6e 69 6c 20 66 61 63 g.end.(list.'xterm-color.nil.fac
2680 65 2d 70 72 6f 70 20 6e 69 6c 29 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 78 74 65 72 6d 2d 63 6f e-prop.nil)))))..(defun.xterm-co
26a0 6c 6f 72 2d 2d 6d 65 73 73 61 67 65 20 28 66 6f 72 6d 61 74 2d 73 74 72 69 6e 67 20 26 72 65 73 lor--message.(format-string.&res
26c0 74 20 61 72 67 73 29 0a 20 20 22 43 61 6c 6c 20 60 6d 65 73 73 61 67 65 27 20 77 69 74 68 20 46 t.args)..."Call.`message'.with.F
26e0 4f 52 4d 41 54 2d 53 54 52 49 4e 47 20 61 6e 64 20 41 52 47 53 2e 0a 41 6c 73 6f 20 73 65 65 20 ORMAT-STRING.and.ARGS..Also.see.
2700 60 78 74 65 72 6d 2d 63 6f 6c 6f 72 2d 64 65 62 75 67 27 2e 22 0a 20 20 28 77 68 65 6e 20 78 74 `xterm-color-debug'."...(when.xt
2720 65 72 6d 2d 63 6f 6c 6f 72 2d 64 65 62 75 67 0a 20 20 20 20 28 6c 65 74 20 28 28 6d 65 73 73 61 erm-color-debug.....(let.((messa
2740 67 65 2d 74 72 75 6e 63 61 74 65 2d 6c 69 6e 65 73 20 74 29 29 0a 20 20 20 20 20 20 28 6d 65 73 ge-truncate-lines.t)).......(mes
2760 73 61 67 65 20 22 78 74 65 72 6d 2d 63 6f 6c 6f 72 3a 20 25 73 22 20 28 61 70 70 6c 79 20 23 27 sage."xterm-color:.%s".(apply.#'
2780 66 6f 72 6d 61 74 20 66 6f 72 6d 61 74 2d 73 74 72 69 6e 67 20 61 72 67 73 29 29 0a 20 20 20 20 format.format-string.args)).....
27a0 20 20 28 6d 65 73 73 61 67 65 20 6e 69 6c 29 29 29 29 0a 0a 0a 3b 3b 3b 0a 3b 3b 3b 20 53 47 52 ..(message.nil))))...;;;.;;;.SGR
27c0 20 73 74 61 74 65 20 6d 61 63 68 69 6e 65 0a 3b 3b 3b 0a 0a 0a 28 63 6c 2d 64 65 66 6d 61 63 72 .state.machine.;;;...(cl-defmacr
27e0 6f 20 78 74 65 72 6d 2d 63 6f 6c 6f 72 2d 2d 77 69 74 68 2d 53 47 52 2d 63 6f 6e 73 74 61 6e 74 o.xterm-color--with-SGR-constant
2800 73 20 28 26 62 6f 64 79 20 62 6f 64 79 29 0a 20 20 28 64 65 63 6c 61 72 65 20 28 69 6e 64 65 6e s.(&body.body)...(declare.(inden
2820 74 20 64 65 66 75 6e 29 29 0a 20 20 60 28 63 6c 2d 73 79 6d 62 6f 6c 2d 6d 61 63 72 6f 6c 65 74 t.defun))...`(cl-symbol-macrolet
2840 0a 20 20 20 20 20 20 20 28 28 2b 62 72 69 67 68 74 2b 20 20 20 20 20 20 20 20 20 20 20 31 29 0a ........((+bright+...........1).
2860 20 20 20 20 20 20 20 20 28 2b 69 74 61 6c 69 63 2b 20 20 20 20 20 20 20 20 20 20 20 32 29 0a 20 ........(+italic+...........2)..
2880 20 20 20 20 20 20 20 28 2b 75 6e 64 65 72 6c 69 6e 65 2b 20 20 20 20 20 20 20 20 34 29 0a 20 20 .......(+underline+........4)...
28a0 20 20 20 20 20 20 28 2b 73 74 72 69 6b 65 2d 74 68 72 6f 75 67 68 2b 20 20 20 38 29 0a 20 20 20 ......(+strike-through+...8)....
28c0 20 20 20 20 20 28 2b 6e 65 67 61 74 69 76 65 2b 20 20 20 20 20 20 20 20 31 36 29 0a 20 20 20 20 .....(+negative+........16).....
28e0 20 20 20 20 28 2b 66 72 61 6d 65 2b 20 20 20 20 20 20 20 20 20 20 20 33 32 29 0a 20 20 20 20 20 ....(+frame+...........32)......
2900 20 20 20 28 2b 6f 76 65 72 6c 69 6e 65 2b 20 20 20 20 20 20 20 20 36 34 29 29 0a 20 20 20 20 20 ...(+overline+........64))......
2920 2c 40 62 6f 64 79 29 29 0a 0a 28 63 6c 2d 64 65 66 6d 61 63 72 6f 20 78 74 65 72 6d 2d 63 6f 6c ,@body))..(cl-defmacro.xterm-col
2940 6f 72 2d 2d 63 72 65 61 74 65 2d 53 47 52 2d 74 61 62 6c 65 20 28 28 61 74 74 72 69 62 20 53 47 or--create-SGR-table.((attrib.SG
2960 52 2d 6c 69 73 74 29 20 26 62 6f 64 79 20 62 6f 64 79 29 0a 20 20 22 43 72 65 61 74 65 20 61 6e R-list).&body.body)..."Create.an
2980 20 69 74 65 72 61 74 69 6f 6e 2f 64 69 73 70 61 74 63 68 20 74 61 62 6c 65 20 62 61 73 65 64 20 .iteration/dispatch.table.based.
29a0 6f 6e 20 70 72 6f 76 69 64 65 64 20 72 75 6c 65 73 20 74 68 61 74 0a 6d 61 74 63 68 20 53 47 52 on.provided.rules.that.match.SGR
29c0 20 61 74 74 72 69 62 75 74 65 73 2e 0a 46 6f 72 20 65 61 63 68 20 61 74 74 72 69 62 75 74 65 20 .attributes..For.each.attribute.
29e0 69 6e 20 53 47 52 2d 4c 49 53 54 2c 20 63 68 65 63 6b 20 74 6f 20 73 65 65 20 69 66 20 69 74 20 in.SGR-LIST,.check.to.see.if.it.
2a00 6d 61 74 63 68 65 73 20 61 20 72 75 6c 65 20 69 6e 20 42 4f 44 59 20 61 6e 64 0a 65 76 61 6c 75 matches.a.rule.in.BODY.and.evalu
2a20 61 74 65 20 74 68 65 20 72 75 6c 65 20 62 6f 64 79 20 69 66 20 74 68 61 74 20 69 73 20 74 68 65 ate.the.rule.body.if.that.is.the
2a40 20 63 61 73 65 2e 0a 0a 41 54 54 52 49 42 20 6d 75 73 74 20 62 65 20 61 20 73 79 6d 62 6f 6c 20 .case...ATTRIB.must.be.a.symbol.
2a60 74 68 61 74 20 69 73 20 62 6f 75 6e 64 20 74 6f 20 53 47 52 2d 4c 49 53 54 20 61 74 74 72 69 62 that.is.bound.to.SGR-LIST.attrib
2a80 75 74 65 73 20 69 6e 20 42 4f 44 59 2e 0a 53 47 52 2d 4c 49 53 54 20 6d 75 73 74 20 62 65 20 61 utes.in.BODY..SGR-LIST.must.be.a
2aa0 20 6c 69 73 74 20 6f 66 20 53 47 52 20 61 74 74 72 69 62 75 74 65 73 20 28 69 6e 74 65 67 65 72 .list.of.SGR.attributes.(integer
2ac0 73 29 20 69 6e 20 4c 49 46 4f 20 6f 72 64 65 72 2e 0a 42 4f 44 59 20 6d 75 73 74 20 63 6f 6e 74 s).in.LIFO.order..BODY.must.cont
2ae0 61 69 6e 20 72 75 6c 65 73 20 77 69 74 68 20 65 61 63 68 20 72 75 6c 65 20 62 65 69 6e 67 20 61 ain.rules.with.each.rule.being.a
2b00 20 6c 69 73 74 20 6f 66 20 66 6f 72 6d 3a 0a 0a 20 28 3a 6d 61 74 63 68 20 28 63 6f 6e 64 69 74 .list.of.form:...(:match.(condit
2b20 69 6f 6e 20 26 6b 65 79 20 28 73 6b 69 70 20 31 29 29 20 72 75 6c 65 2d 62 6f 64 79 2d 66 6f 72 ion.&key.(skip.1)).rule-body-for
2b40 6d 2e 2e 29 0a 0a 43 4f 4e 44 49 54 49 4f 4e 20 6d 75 73 74 20 62 65 20 61 20 4c 69 73 70 20 66 m..)..CONDITION.must.be.a.Lisp.f
2b60 6f 72 6d 20 77 68 69 63 68 20 69 73 20 65 76 61 6c 75 61 74 65 64 20 61 73 20 70 61 72 74 20 6f orm.which.is.evaluated.as.part.o
2b80 66 20 61 20 43 4f 4e 44 0a 63 6f 6e 64 69 74 69 6f 6e 20 63 6c 61 75 73 65 2e 20 49 66 20 69 74 f.a.COND.condition.clause..If.it
2ba0 20 69 73 20 61 6e 20 61 74 6f 6d 2c 20 69 74 20 69 73 20 72 65 77 72 69 74 74 65 6e 20 74 6f 20 .is.an.atom,.it.is.rewritten.to.
2bc0 28 65 71 20 43 4f 4e 44 49 54 49 4f 4e 20 41 54 54 52 49 42 29 2e 0a 4f 74 68 65 72 77 69 73 65 (eq.CONDITION.ATTRIB)..Otherwise
2be0 20 69 74 20 69 73 20 75 73 65 64 20 61 73 20 69 73 2e 20 41 73 20 70 65 72 20 43 4f 4e 44 20 73 .it.is.used.as.is..As.per.COND.s
2c00 74 61 74 65 6d 65 6e 74 2c 20 69 66 20 43 4f 4e 44 49 54 49 4f 4e 20 65 76 61 6c 75 61 74 65 73 tatement,.if.CONDITION.evaluates
2c20 0a 74 6f 20 6e 6f 6e 2d 6e 69 6c 2c 20 72 75 6c 65 20 62 6f 64 79 20 66 6f 72 6d 73 20 61 72 65 .to.non-nil,.rule.body.forms.are
2c40 20 65 76 61 6c 75 61 74 65 64 20 61 73 20 70 61 72 74 20 6f 66 20 74 68 65 20 62 6f 64 79 20 6f .evaluated.as.part.of.the.body.o
2c60 66 20 74 68 65 20 43 4f 4e 44 0a 63 6c 61 75 73 65 2e 0a 0a 53 4b 49 50 2c 20 69 66 20 67 69 76 f.the.COND.clause...SKIP,.if.giv
2c80 65 6e 2c 20 6d 75 73 74 20 62 65 20 61 6e 20 69 6e 74 65 67 65 72 20 73 70 65 63 69 66 79 69 6e en,.must.be.an.integer.specifyin
2ca0 67 20 74 68 65 20 6e 75 6d 62 65 72 20 6f 66 20 65 6c 65 6d 65 6e 74 73 20 74 68 61 74 0a 73 68 g.the.number.of.elements.that.sh
2cc0 6f 75 6c 64 20 62 65 20 73 6b 69 70 70 65 64 20 62 65 66 6f 72 65 20 74 68 65 20 6e 65 78 74 20 ould.be.skipped.before.the.next.
2ce0 69 74 65 72 61 74 69 6f 6e 2e 20 54 68 65 20 64 65 66 61 75 6c 74 20 69 73 20 31 2c 0a 67 6f 69 iteration..The.default.is.1,.goi
2d00 6e 67 20 64 6f 77 6e 20 53 47 52 2d 4c 49 53 54 20 6f 6e 65 20 65 6c 65 6d 65 6e 74 20 61 74 20 ng.down.SGR-LIST.one.element.at.
2d20 61 20 74 69 6d 65 2e 22 0a 20 20 28 64 65 63 6c 61 72 65 20 28 69 6e 64 65 6e 74 20 64 65 66 75 a.time."...(declare.(indent.defu
2d40 6e 29 29 0a 20 20 60 28 78 74 65 72 6d 2d 63 6f 6c 6f 72 2d 2d 77 69 74 68 2d 53 47 52 2d 63 6f n))...`(xterm-color--with-SGR-co
2d60 6e 73 74 61 6e 74 73 0a 20 20 20 20 20 28 63 6c 2d 6d 61 63 72 6f 6c 65 74 0a 20 20 20 20 20 20 nstants......(cl-macrolet.......
2d80 20 20 20 3b 3b 20 54 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 6d 61 63 72 6f 73 20 73 68 6f 75 6c ...;;.The.following.macros.shoul
2da0 64 20 62 65 20 75 73 65 64 20 69 6e 20 72 75 6c 65 20 62 6f 64 69 65 73 0a 20 20 20 20 20 20 20 d.be.used.in.rule.bodies........
2dc0 20 20 28 28 73 65 74 2d 61 21 20 28 61 74 74 72 29 20 20 20 60 28 73 65 74 71 20 78 74 65 72 6d ..((set-a!.(attr)...`(setq.xterm
2de0 2d 63 6f 6c 6f 72 2d 2d 61 74 74 72 69 62 75 74 65 73 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 -color--attributes..............
2e00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6c 6f 67 69 6f 72 20 78 74 65 .....................(logior.xte
2e20 72 6d 2d 63 6f 6c 6f 72 2d 2d 61 74 74 72 69 62 75 74 65 73 20 2c 61 74 74 72 29 29 29 0a 20 20 rm-color--attributes.,attr)))...
2e40 20 20 20 20 20 20 20 20 28 75 6e 73 65 74 2d 61 21 20 28 61 74 74 72 29 20 60 28 73 65 74 71 20 ........(unset-a!.(attr).`(setq.
2e60 78 74 65 72 6d 2d 63 6f 6c 6f 72 2d 2d 61 74 74 72 69 62 75 74 65 73 0a 20 20 20 20 20 20 20 20 xterm-color--attributes.........
2e80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6c 6f 67 61 6e ..........................(logan
2ea0 64 20 78 74 65 72 6d 2d 63 6f 6c 6f 72 2d 2d 61 74 74 72 69 62 75 74 65 73 0a 20 20 20 20 20 20 d.xterm-color--attributes.......
2ec0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
2ee0 20 20 20 20 28 6c 6f 67 61 6e 64 20 23 78 66 66 20 28 6c 6f 67 6e 6f 74 20 2c 61 74 74 72 29 29 ....(logand.#xff.(lognot.,attr))
2f00 29 29 29 0a 0a 20 20 20 20 20 20 20 20 20 20 28 73 65 74 2d 66 21 20 28 66 67 2d 63 6f 6c 6f 72 )))............(set-f!.(fg-color
2f20 29 20 60 28 73 65 74 71 20 78 74 65 72 6d 2d 63 6f 6c 6f 72 2d 2d 63 75 72 72 65 6e 74 2d 66 67 ).`(setq.xterm-color--current-fg
2f40 20 2c 66 67 2d 63 6f 6c 6f 72 29 29 0a 20 20 20 20 20 20 20 20 20 20 28 73 65 74 2d 62 21 20 28 .,fg-color))...........(set-b!.(
2f60 62 67 2d 63 6f 6c 6f 72 29 20 60 28 73 65 74 71 20 78 74 65 72 6d 2d 63 6f 6c 6f 72 2d 2d 63 75 bg-color).`(setq.xterm-color--cu
2f80 72 72 65 6e 74 2d 62 67 20 2c 62 67 2d 63 6f 6c 6f 72 29 29 0a 0a 20 20 20 20 20 20 20 20 20 20 rrent-bg.,bg-color))............
2fa0 28 73 65 74 2d 74 72 75 65 63 6f 6c 6f 72 21 20 28 72 20 67 20 62 20 63 75 72 72 65 6e 74 2d 63 (set-truecolor!.(r.g.b.current-c
2fc0 6f 6c 6f 72 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 olor)...........................
2fe0 3b 3b 20 41 20 73 69 6e 67 6c 65 20 69 6e 74 65 67 65 72 20 6d 75 73 74 20 62 65 20 61 62 6c 65 ;;.A.single.integer.must.be.able
3000 20 74 6f 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3b 3b .to...........................;;
3020 20 68 6f 6c 64 20 61 6e 64 20 64 69 73 74 69 6e 67 75 69 73 68 20 62 65 74 77 65 65 6e 3a 0a 20 .hold.and.distinguish.between:..
3040 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3b 3b 0a 20 20 20 20 .........................;;.....
3060 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3b 3b 20 2d 20 32 34 62 69 74 ......................;;.-.24bit
3080 20 74 72 75 65 63 6f 6c 6f 72 20 76 61 6c 75 65 73 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .truecolor.values...............
30a0 20 20 20 20 20 20 20 20 20 20 20 20 3b 3b 20 2d 20 41 4e 53 49 20 63 6f 6c 6f 72 73 0a 20 20 20 ............;;.-.ANSI.colors....
30c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3b 3b 20 2d 20 58 54 65 72 .......................;;.-.XTer
30e0 6d 20 32 35 36 20 63 6f 6c 6f 72 73 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 m.256.colors....................
3100 20 20 20 20 20 20 20 3b 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .......;;.......................
3120 20 20 20 20 3b 3b 20 54 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 70 61 63 6b 69 6e 67 20 73 63 68 ....;;.The.following.packing.sch
3140 65 6d 65 20 61 63 68 69 65 76 65 73 20 74 68 61 74 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 eme.achieves.that...............
3160 20 20 20 20 20 20 20 20 20 20 20 20 20 60 28 73 65 74 71 20 2c 63 75 72 72 65 6e 74 2d 63 6f 6c .............`(setq.,current-col
3180 6f 72 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 or..............................
31a0 20 20 20 20 28 6c 6f 67 69 6f 72 20 28 61 73 68 20 72 20 32 35 29 20 28 61 73 68 20 67 20 31 37 ....(logior.(ash.r.25).(ash.g.17
31c0 29 20 28 61 73 68 20 62 20 39 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ).(ash.b.9).....................
31e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 23 78 31 30 30 29 29 29 0a 0a 20 .....................#x100)))...
3200 20 20 20 20 20 20 20 20 20 28 72 65 73 65 74 21 20 28 29 20 20 20 20 20 20 60 28 73 65 74 71 20 .........(reset!.()......`(setq.
3220 78 74 65 72 6d 2d 63 6f 6c 6f 72 2d 2d 63 75 72 72 65 6e 74 2d 66 67 20 6e 69 6c 0a 20 20 20 20 xterm-color--current-fg.nil.....
3240 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 78 74 65 .............................xte
3260 72 6d 2d 63 6f 6c 6f 72 2d 2d 63 75 72 72 65 6e 74 2d 62 67 20 6e 69 6c 0a 20 20 20 20 20 20 20 rm-color--current-bg.nil........
3280 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 78 74 65 72 6d 2d ..........................xterm-
32a0 63 6f 6c 6f 72 2d 2d 61 74 74 72 69 62 75 74 65 73 20 30 29 29 29 0a 20 20 20 20 20 20 20 28 63 color--attributes.0)))........(c
32c0 6c 2d 6c 6f 6f 70 0a 20 20 20 20 20 20 20 20 66 6f 72 20 2c 61 74 74 72 69 62 20 3d 20 28 63 6c l-loop.........for.,attrib.=.(cl
32e0 2d 66 69 72 73 74 20 2c 53 47 52 2d 6c 69 73 74 29 0a 20 20 20 20 20 20 20 20 77 68 69 6c 65 20 -first.,SGR-list).........while.
3300 2c 53 47 52 2d 6c 69 73 74 20 64 6f 0a 20 20 20 20 20 20 20 20 28 63 6f 6e 64 0a 20 20 20 20 20 ,SGR-list.do.........(cond......
3320 20 20 20 20 2c 40 28 63 6c 2d 6c 6f 6f 70 0a 20 20 20 20 20 20 20 20 20 20 20 20 66 6f 72 20 73 ....,@(cl-loop.............for.s
3340 6b 69 70 20 3d 20 31 0a 20 20 20 20 20 20 20 20 20 20 20 20 66 6f 72 20 28 74 61 67 20 28 63 20 kip.=.1.............for.(tag.(c.
3360 2e 20 72 65 73 74 29 20 2e 20 72 75 6c 65 2d 62 6f 64 79 29 20 69 6e 20 62 6f 64 79 0a 20 20 20 ..rest)...rule-body).in.body....
3380 20 20 20 20 20 20 20 20 20 77 68 65 6e 20 28 6e 6f 74 20 28 65 71 20 74 61 67 20 3a 6d 61 74 63 .........when.(not.(eq.tag.:matc
33a0 68 29 29 20 64 6f 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 65 72 72 6f 72 20 22 52 75 6c 65 20 h)).do.............(error."Rule.
33c0 28 25 73 20 28 25 73 2e 2e 29 2e 2e 29 20 64 6f 65 73 20 6e 6f 74 20 73 74 61 72 74 20 77 69 74 (%s.(%s..)..).does.not.start.wit
33e0 68 20 3a 6d 61 74 63 68 22 20 74 61 67 20 63 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 77 68 65 h.:match".tag.c).............whe
3400 6e 20 72 65 73 74 20 64 6f 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 73 65 74 71 20 73 6b 69 70 n.rest.do.............(setq.skip
3420 20 28 70 6c 69 73 74 2d 67 65 74 20 72 65 73 74 20 3a 73 6b 69 70 29 29 0a 20 20 20 20 20 20 20 .(plist-get.rest.:skip))........
3440 20 20 20 20 20 28 77 68 65 6e 20 28 6f 72 20 28 6e 75 6c 6c 20 73 6b 69 70 29 20 28 63 64 64 72 .....(when.(or.(null.skip).(cddr
3460 20 72 65 73 74 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 65 72 72 6f 72 20 22 52 75 .rest))...............(error."Ru
3480 6c 65 20 28 25 73 20 28 25 73 2e 2e 29 2e 2e 29 20 68 61 73 20 6d 61 6c 66 6f 72 6d 65 64 20 61 le.(%s.(%s..)..).has.malformed.a
34a0 72 67 75 6d 65 6e 74 73 3a 20 25 73 22 20 74 61 67 20 63 20 72 65 73 74 29 29 0a 20 20 20 20 20 rguments:.%s".tag.c.rest))......
34c0 20 20 20 20 20 20 20 3b 3b 20 43 6f 6e 64 69 74 69 6f 6e 20 70 61 72 74 20 6f 66 20 43 4f 4e 44 .......;;.Condition.part.of.COND
34e0 0a 20 20 20 20 20 20 20 20 20 20 20 20 63 6f 6c 6c 65 63 74 20 60 28 2c 28 69 66 20 28 61 74 6f .............collect.`(,(if.(ato
3500 6d 20 63 29 20 60 28 65 71 20 2c 63 20 2c 61 74 74 72 69 62 29 20 63 29 0a 20 20 20 20 20 20 20 m.c).`(eq.,c.,attrib).c)........
3520 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3b 3b 20 42 6f 64 79 20 6f 66 20 43 4f 4e 44 0a 20 ...............;;.Body.of.COND..
3540 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2c 40 72 75 6c 65 2d 62 6f 64 79 .....................,@rule-body
3560 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 73 65 74 71 20 2c 53 47 .......................(setq.,SG
3580 52 2d 6c 69 73 74 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 R-list..........................
35a0 20 20 20 2c 28 69 66 20 28 3e 20 73 6b 69 70 20 31 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 ...,(if.(>.skip.1)..............
35c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 60 28 6e 74 68 63 64 72 20 2c 73 6b ....................`(nthcdr.,sk
35e0 69 70 20 2c 53 47 52 2d 6c 69 73 74 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ip.,SGR-list)...................
3600 20 20 20 20 20 20 20 20 20 20 20 20 20 60 28 63 64 72 20 2c 53 47 52 2d 6c 69 73 74 29 29 29 29 .............`(cdr.,SGR-list))))
3620 29 0a 20 20 20 20 20 20 20 20 20 28 74 20 28 78 74 65 72 6d 2d 63 6f 6c 6f 72 2d 2d 6d 65 73 73 )..........(t.(xterm-color--mess
3640 61 67 65 20 22 4e 6f 74 20 69 6d 70 6c 65 6d 65 6e 74 65 64 20 53 47 52 20 61 74 74 72 69 62 75 age."Not.implemented.SGR.attribu
3660 74 65 20 25 73 22 20 2c 61 74 74 72 69 62 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 73 65 74 te.%s".,attrib).............(set
3680 71 20 2c 53 47 52 2d 6c 69 73 74 20 28 63 64 72 20 2c 53 47 52 2d 6c 69 73 74 29 29 29 29 29 29 q.,SGR-list.(cdr.,SGR-list))))))
36a0 29 29 0a 0a 28 64 65 66 73 75 62 73 74 20 78 74 65 72 6d 2d 63 6f 6c 6f 72 2d 2d 64 69 73 70 61 ))..(defsubst.xterm-color--dispa
36c0 74 63 68 2d 53 47 52 20 28 53 47 52 2d 6c 69 73 74 29 0a 20 20 22 55 70 64 61 74 65 20 73 74 61 tch-SGR.(SGR-list)..."Update.sta
36e0 74 65 20 6d 61 63 68 69 6e 65 20 62 61 73 65 64 20 6f 6e 20 53 47 52 2d 4c 49 53 54 20 28 6c 69 te.machine.based.on.SGR-LIST.(li
3700 73 74 20 6f 66 20 53 47 52 20 61 74 74 72 69 62 75 74 65 73 20 2f 69 6e 74 65 67 65 72 73 29 2e st.of.SGR.attributes./integers).
3720 22 0a 20 20 28 78 74 65 72 6d 2d 63 6f 6c 6f 72 2d 2d 63 72 65 61 74 65 2d 53 47 52 2d 74 61 62 "...(xterm-color--create-SGR-tab
3740 6c 65 20 28 65 6c 65 6d 20 53 47 52 2d 6c 69 73 74 29 0a 20 20 20 20 28 3a 6d 61 74 63 68 20 28 le.(elem.SGR-list).....(:match.(
3760 30 29 20 20 28 72 65 73 65 74 21 29 29 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 0)..(reset!))...................
3780 20 20 20 20 20 20 20 20 20 20 20 3b 20 52 45 53 45 54 20 65 76 65 72 79 74 68 69 6e 67 0a 20 20 ...........;.RESET.everything...
37a0 20 20 28 3a 6d 61 74 63 68 20 28 28 3c 3d 20 33 30 20 65 6c 65 6d 20 33 37 29 29 20 28 73 65 74 ..(:match.((<=.30.elem.37)).(set
37c0 2d 66 21 20 28 2d 20 65 6c 65 6d 20 33 30 29 29 29 20 20 20 20 20 3b 20 41 4e 53 49 20 46 47 20 -f!.(-.elem.30))).....;.ANSI.FG.
37e0 63 6f 6c 6f 72 0a 20 20 20 20 28 3a 6d 61 74 63 68 20 28 28 3c 3d 20 34 30 20 65 6c 65 6d 20 34 color.....(:match.((<=.40.elem.4
3800 37 29 29 20 28 73 65 74 2d 62 21 20 28 2d 20 65 6c 65 6d 20 34 30 29 29 29 20 20 20 20 20 3b 20 7)).(set-b!.(-.elem.40))).....;.
3820 41 4e 53 49 20 42 47 20 63 6f 6c 6f 72 0a 20 20 20 20 28 3a 6d 61 74 63 68 20 28 33 39 29 20 28 ANSI.BG.color.....(:match.(39).(
3840 73 65 74 2d 66 21 20 20 20 6e 69 6c 29 29 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 set-f!...nil))..................
3860 20 20 20 20 20 20 3b 20 52 45 53 45 54 20 46 47 20 63 6f 6c 6f 72 20 28 73 77 69 74 63 68 20 74 ......;.RESET.FG.color.(switch.t
3880 6f 20 64 65 66 61 75 6c 74 29 0a 20 20 20 20 28 3a 6d 61 74 63 68 20 28 34 39 29 20 28 73 65 74 o.default).....(:match.(49).(set
38a0 2d 62 21 20 20 20 6e 69 6c 29 29 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 -b!...nil)).....................
38c0 20 20 20 3b 20 52 45 53 45 54 20 42 47 20 63 6f 6c 6f 72 20 28 73 77 69 74 63 68 20 74 6f 20 64 ...;.RESET.BG.color.(switch.to.d
38e0 65 66 61 75 6c 74 29 0a 20 20 20 20 28 3a 6d 61 74 63 68 20 28 31 29 20 20 28 73 65 74 2d 61 21 efault).....(:match.(1)..(set-a!
3900 20 20 20 2b 62 72 69 67 68 74 2b 29 29 0a 20 20 20 20 28 3a 6d 61 74 63 68 20 28 32 29 20 20 28 ...+bright+)).....(:match.(2)..(
3920 75 6e 73 65 74 2d 61 21 20 2b 62 72 69 67 68 74 2b 29 29 0a 20 20 20 20 28 3a 6d 61 74 63 68 20 unset-a!.+bright+)).....(:match.
3940 28 32 32 29 20 28 75 6e 73 65 74 2d 61 21 20 2b 62 72 69 67 68 74 2b 29 29 0a 0a 20 20 20 20 28 (22).(unset-a!.+bright+))......(
3960 3a 6d 61 74 63 68 20 28 28 61 6e 64 20 28 65 71 20 33 38 20 28 63 6c 2d 66 69 72 73 74 20 53 47 :match.((and.(eq.38.(cl-first.SG
3980 52 2d 6c 69 73 74 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 65 71 20 32 R-list))...................(eq.2
39a0 20 28 63 6c 2d 73 65 63 6f 6e 64 20 53 47 52 2d 6c 69 73 74 29 29 29 20 20 20 20 20 20 20 20 20 .(cl-second.SGR-list))).........
39c0 20 3b 20 54 72 75 65 63 6f 6c 6f 72 20 28 32 34 2d 62 69 74 29 20 46 47 20 63 6f 6c 6f 72 0a 20 .;.Truecolor.(24-bit).FG.color..
39e0 20 20 20 20 20 20 20 20 20 20 20 20 3a 73 6b 69 70 20 35 29 0a 20 20 20 20 20 20 20 20 20 20 20 ............:skip.5)............
3a00 20 28 77 68 65 6e 20 78 74 65 72 6d 2d 63 6f 6c 6f 72 2d 2d 73 75 70 70 6f 72 74 2d 74 72 75 65 .(when.xterm-color--support-true
3a20 63 6f 6c 6f 72 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 69 66 2d 6c 65 74 20 28 28 72 20 color...............(if-let.((r.
3a40 28 63 6c 2d 74 68 69 72 64 20 53 47 52 2d 6c 69 73 74 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 (cl-third.SGR-list))............
3a60 20 20 20 20 20 20 20 20 20 20 20 20 28 67 20 28 63 6c 2d 66 6f 75 72 74 68 20 53 47 52 2d 6c 69 ............(g.(cl-fourth.SGR-li
3a80 73 74 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 62 20 28 st))........................(b.(
3aa0 63 6c 2d 66 69 66 74 68 20 53 47 52 2d 6c 69 73 74 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 cl-fifth.SGR-list)))............
3ac0 20 20 20 20 20 20 20 28 69 66 20 28 6f 72 20 28 3e 20 72 20 32 35 35 29 20 28 3e 20 67 20 32 35 .......(if.(or.(>.r.255).(>.g.25
3ae0 35 29 20 28 3e 20 62 20 32 35 35 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 5).(>.b.255))...................
3b00 20 20 20 20 28 78 74 65 72 6d 2d 63 6f 6c 6f 72 2d 2d 6d 65 73 73 61 67 65 20 22 53 47 52 20 33 ....(xterm-color--message."SGR.3
3b20 38 3b 32 3b 25 73 3b 25 73 3b 25 73 20 65 78 63 65 65 64 73 20 72 61 6e 67 65 22 0a 20 20 20 20 8;2;%s;%s;%s.exceeds.range".....
3b40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
3b60 20 20 20 20 20 20 20 20 72 20 67 20 62 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ........r.g.b)..................
3b80 20 20 20 28 73 65 74 2d 74 72 75 65 63 6f 6c 6f 72 21 20 72 20 67 20 62 20 78 74 65 72 6d 2d 63 ...(set-truecolor!.r.g.b.xterm-c
3ba0 6f 6c 6f 72 2d 2d 63 75 72 72 65 6e 74 2d 66 67 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 olor--current-fg))..............
3bc0 20 20 20 28 78 74 65 72 6d 2d 63 6f 6c 6f 72 2d 2d 6d 65 73 73 61 67 65 20 22 53 47 52 20 33 38 ...(xterm-color--message."SGR.38
3be0 3b 32 3b 25 73 3b 25 73 3b 25 73 20 65 72 72 6f 72 2c 20 65 78 70 65 63 74 65 64 20 33 38 3b 32 ;2;%s;%s;%s.error,.expected.38;2
3c00 3b 52 3b 47 3b 42 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ;R;G;B".........................
3c20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 72 20 67 20 62 29 29 29 29 0a 20 20 20 20 28 3a 6d 61 ..............r.g.b)))).....(:ma
3c40 74 63 68 20 28 28 61 6e 64 20 28 65 71 20 33 38 20 28 63 6c 2d 66 69 72 73 74 20 53 47 52 2d 6c tch.((and.(eq.38.(cl-first.SGR-l
3c60 69 73 74 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 65 71 20 35 20 28 63 ist))...................(eq.5.(c
3c80 6c 2d 73 65 63 6f 6e 64 20 53 47 52 2d 6c 69 73 74 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 l-second.SGR-list)))............
3ca0 20 20 3a 73 6b 69 70 20 33 29 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ..:skip.3)......................
3cc0 20 20 20 20 20 20 20 20 20 20 20 20 20 3b 20 58 54 45 52 4d 20 32 35 36 20 46 47 20 63 6f 6c 6f .............;.XTERM.256.FG.colo
3ce0 72 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 69 66 2d 6c 65 74 20 28 28 63 6f 6c 6f 72 20 28 63 r.............(if-let.((color.(c
3d00 6c 2d 74 68 69 72 64 20 53 47 52 2d 6c 69 73 74 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 l-third.SGR-list))).............
3d20 20 20 20 20 28 69 66 20 28 3e 20 63 6f 6c 6f 72 20 32 35 35 29 0a 20 20 20 20 20 20 20 20 20 20 ....(if.(>.color.255)...........
3d40 20 20 20 20 20 20 20 20 20 20 28 78 74 65 72 6d 2d 63 6f 6c 6f 72 2d 2d 6d 65 73 73 61 67 65 20 ..........(xterm-color--message.
3d60 22 53 47 52 20 33 38 3b 35 3b 25 73 20 65 78 63 65 65 64 73 20 72 61 6e 67 65 22 20 63 6f 6c 6f "SGR.38;5;%s.exceeds.range".colo
3d80 72 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 73 65 74 2d 66 21 20 63 6f 6c r)...................(set-f!.col
3da0 6f 72 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 78 74 65 72 6d 2d 63 6f 6c 6f 72 2d or))...............(xterm-color-
3dc0 2d 6d 65 73 73 61 67 65 20 22 53 47 52 20 33 38 3b 35 3b 25 73 20 65 72 72 6f 72 2c 20 65 78 70 -message."SGR.38;5;%s.error,.exp
3de0 65 63 74 65 64 20 33 38 3b 35 3b 43 4f 4c 4f 52 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ected.38;5;COLOR"...............
3e00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 63 6f 6c 6f 72 29 29 29 0a 0a ......................color)))..
3e20 20 20 20 20 28 3a 6d 61 74 63 68 20 28 28 61 6e 64 20 28 65 71 20 34 38 20 28 63 6c 2d 66 69 72 ....(:match.((and.(eq.48.(cl-fir
3e40 73 74 20 53 47 52 2d 6c 69 73 74 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 st.SGR-list))...................
3e60 28 65 71 20 32 20 28 63 6c 2d 73 65 63 6f 6e 64 20 53 47 52 2d 6c 69 73 74 29 29 29 20 20 20 20 (eq.2.(cl-second.SGR-list)))....
3e80 20 20 20 20 20 20 3b 20 54 72 75 65 63 6f 6c 6f 72 20 28 32 34 2d 62 69 74 29 20 42 47 20 63 6f ......;.Truecolor.(24-bit).BG.co
3ea0 6c 6f 72 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 3a 73 6b 69 70 20 35 29 0a 20 20 20 20 20 20 lor..............:skip.5).......
3ec0 20 20 20 20 20 20 28 77 68 65 6e 20 78 74 65 72 6d 2d 63 6f 6c 6f 72 2d 2d 73 75 70 70 6f 72 74 ......(when.xterm-color--support
3ee0 2d 74 72 75 65 63 6f 6c 6f 72 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 69 66 2d 6c 65 74 -truecolor...............(if-let
3f00 20 28 28 72 20 28 63 6c 2d 74 68 69 72 64 20 53 47 52 2d 6c 69 73 74 29 29 0a 20 20 20 20 20 20 .((r.(cl-third.SGR-list)).......
3f20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 67 20 28 63 6c 2d 66 6f 75 72 74 68 20 53 .................(g.(cl-fourth.S
3f40 47 52 2d 6c 69 73 74 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 GR-list)).......................
3f60 20 28 62 20 28 63 6c 2d 66 69 66 74 68 20 53 47 52 2d 6c 69 73 74 29 29 29 0a 20 20 20 20 20 20 .(b.(cl-fifth.SGR-list))).......
3f80 20 20 20 20 20 20 20 20 20 20 20 20 28 69 66 20 28 6f 72 20 28 3e 20 72 20 32 35 35 29 20 28 3e ............(if.(or.(>.r.255).(>
3fa0 20 67 20 32 35 35 29 20 28 3e 20 62 20 32 35 35 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 .g.255).(>.b.255))..............
3fc0 20 20 20 20 20 20 20 20 20 28 78 74 65 72 6d 2d 63 6f 6c 6f 72 2d 2d 6d 65 73 73 61 67 65 20 22 .........(xterm-color--message."
3fe0 53 47 52 20 34 38 3b 32 3b 25 73 3b 25 73 3b 25 73 20 65 78 63 65 65 64 73 20 72 61 6e 67 65 22 SGR.48;2;%s;%s;%s.exceeds.range"
4000 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
4020 20 20 20 20 20 20 20 20 20 20 20 20 20 72 20 67 20 62 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 .............r.g.b).............
4040 20 20 20 20 20 20 20 20 28 73 65 74 2d 74 72 75 65 63 6f 6c 6f 72 21 20 72 20 67 20 62 20 78 74 ........(set-truecolor!.r.g.b.xt
4060 65 72 6d 2d 63 6f 6c 6f 72 2d 2d 63 75 72 72 65 6e 74 2d 62 67 29 29 0a 20 20 20 20 20 20 20 20 erm-color--current-bg)).........
4080 20 20 20 20 20 20 20 20 28 78 74 65 72 6d 2d 63 6f 6c 6f 72 2d 2d 6d 65 73 73 61 67 65 20 22 53 ........(xterm-color--message."S
40a0 47 52 20 34 38 3b 32 3b 25 73 3b 25 73 3b 25 73 20 65 72 72 6f 72 2c 20 65 78 70 65 63 74 65 64 GR.48;2;%s;%s;%s.error,.expected
40c0 20 34 38 3b 32 3b 52 3b 47 3b 42 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .48;2;R;G;B"....................
40e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 72 20 67 20 62 29 29 29 29 0a 0a 20 20 ...................r.g.b))))....
4100 20 20 28 3a 6d 61 74 63 68 20 28 28 61 6e 64 20 28 65 71 20 34 38 20 28 63 6c 2d 66 69 72 73 74 ..(:match.((and.(eq.48.(cl-first
4120 20 53 47 52 2d 6c 69 73 74 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 65 .SGR-list))...................(e
4140 71 20 35 20 28 63 6c 2d 73 65 63 6f 6e 64 20 53 47 52 2d 6c 69 73 74 29 29 29 0a 20 20 20 20 20 q.5.(cl-second.SGR-list)))......
4160 20 20 20 20 20 20 20 20 3a 73 6b 69 70 20 33 29 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ........:skip.3)................
4180 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3b 20 58 54 45 52 4d 20 32 35 36 20 42 ...................;.XTERM.256.B
41a0 47 20 63 6f 6c 6f 72 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 69 66 2d 6c 65 74 20 28 28 63 6f G.color.............(if-let.((co
41c0 6c 6f 72 20 28 63 6c 2d 74 68 69 72 64 20 53 47 52 2d 6c 69 73 74 29 29 29 0a 20 20 20 20 20 20 lor.(cl-third.SGR-list))).......
41e0 20 20 20 20 20 20 20 20 20 20 28 69 66 20 28 3e 20 63 6f 6c 6f 72 20 32 35 35 29 0a 20 20 20 20 ..........(if.(>.color.255).....
4200 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 78 74 65 72 6d 2d 63 6f 6c 6f 72 2d 2d 6d 65 ................(xterm-color--me
4220 73 73 61 67 65 20 22 53 47 52 20 34 38 3b 35 3b 25 73 20 65 78 63 65 65 64 73 20 72 61 6e 67 65 ssage."SGR.48;5;%s.exceeds.range
4240 22 20 63 6f 6c 6f 72 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 73 65 74 2d ".color)...................(set-
4260 62 21 20 63 6f 6c 6f 72 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 78 74 65 72 6d 2d b!.color))...............(xterm-
4280 63 6f 6c 6f 72 2d 2d 6d 65 73 73 61 67 65 20 22 53 47 52 20 34 38 3b 35 3b 25 73 20 65 72 72 6f color--message."SGR.48;5;%s.erro
42a0 72 2c 20 65 78 70 65 63 74 65 64 20 34 38 3b 35 3b 43 4f 4c 4f 52 22 0a 20 20 20 20 20 20 20 20 r,.expected.48;5;COLOR".........
42c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 63 6f 6c 6f ............................colo
42e0 72 29 29 29 0a 20 20 20 20 28 3a 6d 61 74 63 68 20 28 28 3c 3d 20 39 30 20 65 6c 65 6d 20 39 37 r))).....(:match.((<=.90.elem.97
4300 29 29 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3b 20 41 ))...........................;.A
4320 49 58 54 45 52 4d 20 68 69 2d 69 6e 74 65 6e 73 69 74 79 20 46 47 0a 20 20 20 20 20 20 20 20 20 IXTERM.hi-intensity.FG..........
4340 20 20 20 3b 3b 20 52 61 74 68 65 72 20 74 68 61 6e 20 73 65 74 74 69 6e 67 20 62 72 69 67 68 74 ...;;.Rather.than.setting.bright
4360 2c 20 77 68 69 63 68 20 77 6f 75 6c 64 20 62 65 20 77 72 6f 6e 67 2c 0a 20 20 20 20 20 20 20 20 ,.which.would.be.wrong,.........
4380 20 20 20 20 3b 3b 20 72 65 73 63 61 6c 65 20 63 6f 6c 6f 72 20 74 6f 20 66 61 6c 6c 20 77 69 74 ....;;.rescale.color.to.fall.wit
43a0 68 69 6e 20 38 2d 31 35 20 73 6f 20 74 68 61 74 20 69 74 20 67 65 74 73 0a 20 20 20 20 20 20 20 hin.8-15.so.that.it.gets........
43c0 20 20 20 20 20 3b 3b 20 6d 61 70 70 65 64 20 74 6f 20 78 74 65 72 6d 2d 63 6f 6c 6f 72 2d 6e 61 .....;;.mapped.to.xterm-color-na
43e0 6d 65 73 2d 62 72 69 67 68 74 20 62 79 20 78 74 65 72 6d 2d 63 6f 6c 6f 72 2d 32 35 36 0a 20 20 mes-bright.by.xterm-color-256...
4400 20 20 20 20 20 20 20 20 20 20 28 73 65 74 2d 66 21 20 28 2d 20 65 6c 65 6d 20 38 32 29 29 29 0a ..........(set-f!.(-.elem.82))).
4420 20 20 20 20 3b 3b 20 53 61 6d 65 20 66 6f 72 20 42 47 2c 20 72 65 73 63 61 6c 65 20 74 6f 20 38 ....;;.Same.for.BG,.rescale.to.8
4440 2d 31 35 0a 20 20 20 20 28 3a 6d 61 74 63 68 20 28 28 3c 3d 20 31 30 30 20 65 6c 65 6d 20 31 30 -15.....(:match.((<=.100.elem.10
4460 37 29 29 20 28 73 65 74 2d 62 21 20 28 2d 20 65 6c 65 6d 20 39 32 29 29 29 20 20 20 3b 20 41 49 7)).(set-b!.(-.elem.92)))...;.AI
4480 58 54 45 52 4d 20 68 69 2d 69 6e 74 65 6e 73 69 74 79 20 42 47 0a 0a 20 20 20 20 28 3a 6d 61 74 XTERM.hi-intensity.BG......(:mat
44a0 63 68 20 28 35 31 29 20 28 73 65 74 2d 61 21 20 20 20 2b 66 72 61 6d 65 2b 29 29 0a 20 20 20 20 ch.(51).(set-a!...+frame+)).....
44c0 28 3a 6d 61 74 63 68 20 28 35 33 29 20 28 73 65 74 2d 61 21 20 20 20 2b 6f 76 65 72 6c 69 6e 65 (:match.(53).(set-a!...+overline
44e0 2b 29 29 0a 20 20 20 20 28 3a 6d 61 74 63 68 20 28 35 34 29 20 28 75 6e 73 65 74 2d 61 21 20 2b +)).....(:match.(54).(unset-a!.+
4500 66 72 61 6d 65 2b 29 29 0a 20 20 20 20 28 3a 6d 61 74 63 68 20 28 35 35 29 20 28 75 6e 73 65 74 frame+)).....(:match.(55).(unset
4520 2d 61 21 20 2b 6f 76 65 72 6c 69 6e 65 2b 29 29 0a 20 20 20 20 28 3a 6d 61 74 63 68 20 28 34 29 -a!.+overline+)).....(:match.(4)
4540 20 20 28 73 65 74 2d 61 21 20 20 20 2b 75 6e 64 65 72 6c 69 6e 65 2b 29 29 0a 20 20 20 20 28 3a ..(set-a!...+underline+)).....(:
4560 6d 61 74 63 68 20 28 32 34 29 20 28 75 6e 73 65 74 2d 61 21 20 2b 75 6e 64 65 72 6c 69 6e 65 2b match.(24).(unset-a!.+underline+
4580 29 29 0a 20 20 20 20 28 3a 6d 61 74 63 68 20 28 33 29 20 20 28 73 65 74 2d 61 21 20 20 20 2b 69 )).....(:match.(3)..(set-a!...+i
45a0 74 61 6c 69 63 2b 29 29 0a 20 20 20 20 28 3a 6d 61 74 63 68 20 28 32 33 29 20 28 75 6e 73 65 74 talic+)).....(:match.(23).(unset
45c0 2d 61 21 20 2b 69 74 61 6c 69 63 2b 29 29 0a 20 20 20 20 28 3a 6d 61 74 63 68 20 28 39 29 20 20 -a!.+italic+)).....(:match.(9)..
45e0 28 73 65 74 2d 61 21 20 20 20 2b 73 74 72 69 6b 65 2d 74 68 72 6f 75 67 68 2b 29 29 0a 20 20 20 (set-a!...+strike-through+))....
4600 20 28 3a 6d 61 74 63 68 20 28 32 39 29 20 28 75 6e 73 65 74 2d 61 21 20 2b 73 74 72 69 6b 65 2d .(:match.(29).(unset-a!.+strike-
4620 74 68 72 6f 75 67 68 2b 29 29 0a 20 20 20 20 28 3a 6d 61 74 63 68 20 28 37 29 20 20 28 73 65 74 through+)).....(:match.(7)..(set
4640 2d 61 21 20 20 20 2b 6e 65 67 61 74 69 76 65 2b 29 29 0a 20 20 20 20 28 3a 6d 61 74 63 68 20 28 -a!...+negative+)).....(:match.(
4660 32 37 29 20 28 75 6e 73 65 74 2d 61 21 20 2b 6e 65 67 61 74 69 76 65 2b 29 29 29 29 0a 0a 28 64 27).(unset-a!.+negative+))))..(d
4680 65 66 73 75 62 73 74 20 78 74 65 72 6d 2d 63 6f 6c 6f 72 2d 2d 53 47 52 2d 61 74 74 72 69 62 75 efsubst.xterm-color--SGR-attribu
46a0 74 65 73 20 28 6c 69 73 74 29 0a 20 20 22 43 6f 6e 76 65 72 74 20 4c 49 46 4f 20 6c 69 73 74 20 tes.(list)..."Convert.LIFO.list.
46c0 6f 66 20 53 47 52 20 63 68 61 72 61 63 74 65 72 73 20 74 6f 20 46 49 46 4f 20 6c 69 73 74 20 6f of.SGR.characters.to.FIFO.list.o
46e0 66 20 53 47 52 20 61 74 74 72 69 62 75 74 65 73 20 28 69 6e 74 65 67 65 72 73 29 2e 0a 0a 52 65 f.SGR.attributes.(integers)...Re
4700 74 75 72 6e 73 20 46 49 46 4f 20 6c 69 73 74 20 6f 66 20 53 47 52 20 61 74 74 72 69 62 75 74 65 turns.FIFO.list.of.SGR.attribute
4720 73 20 6f 72 20 6e 69 6c 20 6f 6e 20 65 72 72 6f 72 73 2e 0a 0a 43 68 61 72 61 63 74 65 72 73 20 s.or.nil.on.errors...Characters.
4740 6d 75 73 74 20 62 65 20 69 6e 20 74 68 65 20 41 53 43 49 49 20 73 65 74 20 30 2d 39 20 28 64 65 must.be.in.the.ASCII.set.0-9.(de
4760 63 69 6d 61 6c 20 34 38 20 74 6f 20 35 37 29 20 61 6e 64 20 61 72 65 20 63 6f 6e 76 65 72 74 65 cimal.48.to.57).and.are.converte
4780 64 0a 74 6f 20 69 6e 74 65 67 65 72 20 64 69 67 69 74 73 20 62 79 20 73 75 62 74 72 61 63 74 69 d.to.integer.digits.by.subtracti
47a0 6e 67 20 34 38 20 66 72 6f 6d 20 65 61 63 68 20 63 68 61 72 61 63 74 65 72 2e 20 45 2e 67 2e 20 ng.48.from.each.character..E.g..
47c0 43 68 61 72 61 63 74 65 72 20 34 38 0a 69 73 20 63 6f 6e 76 65 72 74 65 64 20 74 6f 20 69 6e 74 Character.48.is.converted.to.int
47e0 65 67 65 72 20 64 69 67 69 74 20 30 2c 20 63 68 61 72 61 63 74 65 72 20 34 39 20 74 6f 20 69 6e eger.digit.0,.character.49.to.in
4800 74 65 67 65 72 20 64 69 67 69 74 31 2e 2e 0a 43 68 61 72 61 63 74 65 72 20 35 39 20 28 3b 29 20 teger.digit1...Character.59.(;).
4820 69 73 20 6e 6f 74 20 63 6f 6e 76 65 72 74 65 64 20 62 75 74 20 73 69 67 6e 69 66 69 65 73 20 74 is.not.converted.but.signifies.t
4840 68 61 74 20 61 6c 6c 20 61 63 63 75 6d 75 6c 61 74 65 64 20 69 6e 74 65 67 65 72 0a 64 69 67 69 hat.all.accumulated.integer.digi
4860 74 73 20 73 68 6f 75 6c 64 20 62 65 20 72 65 76 65 72 73 65 64 20 61 6e 64 20 63 6f 6d 62 69 6e ts.should.be.reversed.and.combin
4880 65 64 20 69 6e 74 6f 20 61 20 73 69 6e 67 6c 65 20 69 6e 74 65 67 65 72 20 28 53 47 52 20 61 74 ed.into.a.single.integer.(SGR.at
48a0 74 72 69 62 75 74 65 29 2e 0a 0a 45 78 61 6d 70 6c 65 73 3a 0a 0a 47 69 76 65 6e 20 28 34 38 29 tribute)...Examples:..Given.(48)
48c0 20 72 65 74 75 72 6e 20 28 30 29 0a 47 69 76 65 6e 20 28 35 39 29 20 72 65 74 75 72 6e 20 28 30 .return.(0).Given.(59).return.(0
48e0 20 30 29 0a 47 69 76 65 6e 20 28 34 38 20 34 39 20 35 30 29 20 72 65 74 75 72 6e 20 28 32 31 30 .0).Given.(48.49.50).return.(210
4900 29 0a 47 69 76 65 6e 20 28 34 38 20 34 39 20 35 30 20 35 39 20 35 30 20 35 30 20 35 39 20 34 38 ).Given.(48.49.50.59.50.50.59.48
4920 20 34 39 29 20 72 65 74 75 72 6e 20 28 31 30 20 32 32 20 32 31 30 29 22 0a 20 20 28 63 6c 2d 6c .49).return.(10.22.210)"...(cl-l
4940 6f 6f 70 0a 20 20 20 77 69 74 68 20 6d 75 6c 20 3d 20 31 20 61 6e 64 20 6e 20 3d 20 30 20 61 6e oop....with.mul.=.1.and.n.=.0.an
4960 64 20 72 65 74 0a 20 20 20 66 6f 72 20 63 20 69 6e 20 6c 69 73 74 20 64 6f 0a 20 20 20 28 69 66 d.ret....for.c.in.list.do....(if
4980 20 28 2f 3d 20 35 39 20 63 29 0a 20 20 20 20 20 20 20 28 6c 65 74 20 28 28 65 20 28 2d 20 63 20 .(/=.59.c)........(let.((e.(-.c.
49a0 34 38 29 29 29 0a 20 20 20 20 20 20 20 20 20 28 75 6e 6c 65 73 73 20 28 3c 3d 20 30 20 65 20 39 48)))..........(unless.(<=.0.e.9
49c0 29 0a 20 20 20 20 20 20 20 20 20 20 20 28 78 74 65 72 6d 2d 63 6f 6c 6f 72 2d 2d 6d 65 73 73 61 )............(xterm-color--messa
49e0 67 65 20 22 49 6e 76 61 6c 69 64 20 53 47 52 20 61 74 74 72 69 62 75 74 65 20 25 73 22 20 63 29 ge."Invalid.SGR.attribute.%s".c)
4a00 0a 20 20 20 20 20 20 20 20 20 20 20 28 63 6c 2d 72 65 74 75 72 6e 29 29 0a 20 20 20 20 20 20 20 ............(cl-return))........
4a20 20 20 28 63 6c 2d 69 6e 63 66 20 6e 20 28 2a 20 6d 75 6c 20 65 29 29 0a 20 20 20 20 20 20 20 20 ..(cl-incf.n.(*.mul.e)).........
4a40 20 28 73 65 74 71 20 6d 75 6c 20 28 2a 20 6d 75 6c 20 31 30 29 29 29 0a 20 20 20 20 20 28 70 75 .(setq.mul.(*.mul.10)))......(pu
4a60 73 68 20 6e 20 72 65 74 29 0a 20 20 20 20 20 28 73 65 74 71 20 6e 20 30 20 6d 75 6c 20 31 29 29 sh.n.ret)......(setq.n.0.mul.1))
4a80 0a 20 20 20 66 69 6e 61 6c 6c 79 20 72 65 74 75 72 6e 20 28 70 75 73 68 20 6e 20 72 65 74 29 29 ....finally.return.(push.n.ret))
4aa0 29 0a 0a 0a 3b 3b 3b 0a 3b 3b 3b 20 43 53 49 20 73 74 61 74 65 20 6d 61 63 68 69 6e 65 0a 3b 3b )...;;;.;;;.CSI.state.machine.;;
4ac0 3b 0a 0a 0a 28 64 65 66 73 75 62 73 74 20 78 74 65 72 6d 2d 63 6f 6c 6f 72 2d 2d 64 69 73 70 61 ;...(defsubst.xterm-color--dispa
4ae0 74 63 68 2d 43 53 49 20 28 29 0a 20 20 22 55 70 64 61 74 65 20 73 74 61 74 65 20 6d 61 63 68 69 tch-CSI.()..."Update.state.machi
4b00 6e 65 20 62 61 73 65 64 20 6f 6e 20 43 53 49 20 70 61 72 61 6d 65 74 65 72 73 20 63 6f 6c 6c 65 ne.based.on.CSI.parameters.colle
4b20 63 74 65 64 20 73 6f 20 66 61 72 2e 0a 50 61 72 61 6d 65 74 65 72 73 20 61 72 65 20 74 61 6b 65 cted.so.far..Parameters.are.take
4b40 6e 20 66 72 6f 6d 20 60 78 74 65 72 6d 2d 63 6f 6c 6f 72 2d 2d 43 53 49 2d 6c 69 73 74 27 20 77 n.from.`xterm-color--CSI-list'.w
4b60 68 69 63 68 20 73 74 6f 72 65 73 20 74 68 65 6d 0a 69 6e 20 4c 49 46 4f 20 6f 72 64 65 72 2e 22 hich.stores.them.in.LIFO.order."
4b80 0a 20 20 28 6c 65 74 2a 20 28 28 63 73 69 20 20 20 20 78 74 65 72 6d 2d 63 6f 6c 6f 72 2d 2d 43 ...(let*.((csi....xterm-color--C
4ba0 53 49 2d 6c 69 73 74 29 0a 20 20 20 20 20 20 20 20 20 28 74 65 72 6d 20 20 20 28 63 61 72 20 63 SI-list)..........(term...(car.c
4bc0 73 69 29 29 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3b 20 66 69 6e 61 6c 20 70 61 72 61 6d si))...............;.final.param
4be0 65 74 65 72 2c 20 74 65 72 6d 69 6e 61 74 6f 72 0a 20 20 20 20 20 20 20 20 20 28 70 61 72 61 6d eter,.terminator..........(param
4c00 73 20 28 63 64 72 20 63 73 69 29 29 29 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3b 20 72 65 73 s.(cdr.csi)))..............;.res
4c20 74 20 6f 66 20 70 61 72 61 6d 65 74 65 72 73 2c 20 4c 49 46 4f 20 6f 72 64 65 72 0a 20 20 20 20 t.of.parameters,.LIFO.order.....
4c40 28 73 65 74 71 20 78 74 65 72 6d 2d 63 6f 6c 6f 72 2d 2d 43 53 49 2d 6c 69 73 74 20 6e 69 6c 29 (setq.xterm-color--CSI-list.nil)
4c60 0a 20 20 20 20 28 63 6f 6e 64 20 28 28 65 71 20 3f 6d 20 74 65 72 6d 29 0a 20 20 20 20 20 20 20 .....(cond.((eq.?m.term)........
4c80 20 20 20 20 3b 3b 20 53 47 52 0a 20 20 20 20 20 20 20 20 20 20 20 28 6c 65 74 20 28 28 53 47 52 ....;;.SGR............(let.((SGR
4ca0 2d 6c 69 73 74 20 28 69 66 20 28 6e 75 6c 6c 20 70 61 72 61 6d 73 29 20 27 28 30 29 0a 20 20 20 -list.(if.(null.params).'(0)....
4cc0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 78 74 65 72 6d ..........................(xterm
4ce0 2d 63 6f 6c 6f 72 2d 2d 53 47 52 2d 61 74 74 72 69 62 75 74 65 73 20 70 61 72 61 6d 73 29 29 29 -color--SGR-attributes.params)))
4d00 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 28 77 68 65 6e 20 53 47 52 2d 6c 69 73 74 0a 20 20 )..............(when.SGR-list...
4d20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 78 74 65 72 6d 2d 63 6f 6c 6f 72 2d 2d 64 69 73 70 61 .............(xterm-color--dispa
4d40 74 63 68 2d 53 47 52 20 53 47 52 2d 6c 69 73 74 29 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 28 tch-SGR.SGR-list))))...........(
4d60 74 0a 20 20 20 20 20 20 20 20 20 20 20 28 78 74 65 72 6d 2d 63 6f 6c 6f 72 2d 2d 6d 65 73 73 61 t............(xterm-color--messa
4d80 67 65 20 22 25 73 20 43 53 49 20 6e 6f 74 20 69 6d 70 6c 65 6d 65 6e 74 65 64 22 20 63 73 69 29 ge."%s.CSI.not.implemented".csi)
4da0 29 29 29 29 0a 0a 28 64 65 66 6d 61 63 72 6f 20 78 74 65 72 6d 2d 63 6f 6c 6f 72 2d 2d 77 69 74 ))))..(defmacro.xterm-color--wit
4dc0 68 2d 41 4e 53 49 2d 6d 61 63 72 6f 2d 68 65 6c 70 65 72 73 20 28 26 72 65 73 74 20 62 6f 64 79 h-ANSI-macro-helpers.(&rest.body
4de0 29 0a 20 20 28 64 65 63 6c 61 72 65 20 28 69 6e 64 65 6e 74 20 64 65 66 75 6e 29 29 0a 20 20 60 )...(declare.(indent.defun))...`
4e00 28 78 74 65 72 6d 2d 63 6f 6c 6f 72 2d 2d 77 69 74 68 2d 53 47 52 2d 63 6f 6e 73 74 61 6e 74 73 (xterm-color--with-SGR-constants
4e20 0a 20 20 20 20 20 28 63 6c 2d 73 79 6d 62 6f 6c 2d 6d 61 63 72 6f 6c 65 74 20 28 28 66 67 20 20 ......(cl-symbol-macrolet.((fg..
4e40 20 20 20 20 20 20 20 20 20 78 74 65 72 6d 2d 63 6f 6c 6f 72 2d 2d 63 75 72 72 65 6e 74 2d 66 67 .........xterm-color--current-fg
4e60 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 62 67 20 )...........................(bg.
4e80 20 20 20 20 20 20 20 20 20 20 78 74 65 72 6d 2d 63 6f 6c 6f 72 2d 2d 63 75 72 72 65 6e 74 2d 62 ..........xterm-color--current-b
4ea0 67 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 61 74 g)...........................(at
4ec0 74 72 73 20 20 20 20 20 20 20 20 78 74 65 72 6d 2d 63 6f 6c 6f 72 2d 2d 61 74 74 72 69 62 75 74 trs........xterm-color--attribut
4ee0 65 73 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 62 es)...........................(b
4f00 6f 6c 64 2d 62 72 69 67 68 74 20 20 78 74 65 72 6d 2d 63 6f 6c 6f 72 2d 75 73 65 2d 62 6f 6c 64 old-bright..xterm-color-use-bold
4f20 2d 66 6f 72 2d 62 72 69 67 68 74 29 29 0a 20 20 20 20 20 20 20 28 63 6c 2d 6d 61 63 72 6f 6c 65 -for-bright))........(cl-macrole
4f40 74 0a 20 20 20 20 20 20 20 20 20 20 20 28 28 6f 75 74 21 20 28 78 29 20 20 20 20 20 20 20 20 20 t............((out!.(x).........
4f60 20 20 20 60 28 70 75 73 68 20 2c 78 20 72 65 73 75 6c 74 29 29 0a 20 20 20 20 20 20 20 20 20 20 ...`(push.,x.result))...........
4f80 20 20 28 70 75 73 68 2d 63 68 61 72 21 20 28 63 29 20 20 20 20 20 20 60 28 70 75 73 68 20 2c 63 ..(push-char!.(c)......`(push.,c
4fa0 20 78 74 65 72 6d 2d 63 6f 6c 6f 72 2d 2d 63 68 61 72 2d 6c 69 73 74 29 29 0a 20 20 20 20 20 20 .xterm-color--char-list)).......
4fc0 20 20 20 20 20 20 28 70 75 73 68 2d 63 73 69 21 20 28 63 29 20 20 20 20 20 20 20 60 28 70 75 73 ......(push-csi!.(c).......`(pus
4fe0 68 20 2c 63 20 78 74 65 72 6d 2d 63 6f 6c 6f 72 2d 2d 43 53 49 2d 6c 69 73 74 29 29 0a 20 20 20 h.,c.xterm-color--CSI-list))....
5000 20 20 20 20 20 20 20 20 20 28 73 74 61 74 65 21 20 28 73 29 20 20 20 20 20 20 20 20 20 20 60 28 .........(state!.(s)..........`(
5020 73 65 74 71 20 73 74 61 74 65 20 2c 73 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 67 72 61 setq.state.,s)).............(gra
5040 70 68 69 63 73 3f 20 28 29 20 20 20 20 20 20 20 20 60 28 6f 72 20 66 67 20 62 67 20 28 2f 3d 20 phics?.()........`(or.fg.bg.(/=.
5060 61 74 74 72 73 20 30 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 68 61 73 3f 20 28 61 74 attrs.0))).............(has?.(at
5080 74 72 29 20 20 20 20 20 20 20 20 20 60 28 2f 3d 20 28 6c 6f 67 61 6e 64 20 2c 61 74 74 72 20 61 tr).........`(/=.(logand.,attr.a
50a0 74 74 72 73 29 20 30 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 66 6d 74 2d 32 34 62 69 74 ttrs).0)).............(fmt-24bit
50c0 20 28 63 6f 6c 6f 72 29 20 20 20 60 28 66 6f 72 6d 61 74 20 22 23 25 30 36 78 22 20 2c 63 6f 6c .(color)...`(format."#%06x".,col
50e0 6f 72 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 66 6d 74 2d 32 35 36 20 28 63 6f 6c 6f 72 or)).............(fmt-256.(color
5100 29 20 20 20 20 20 60 28 78 74 65 72 6d 2d 63 6f 6c 6f 72 2d 32 35 36 20 2c 63 6f 6c 6f 72 29 29 ).....`(xterm-color-256.,color))
5120 0a 0a 20 20 20 20 20 20 20 20 20 20 20 20 3b 3b 20 55 6e 70 61 63 6b 73 20 61 20 70 61 63 6b 65 ..............;;.Unpacks.a.packe
5140 64 20 74 72 75 65 63 6f 6c 6f 72 20 76 61 6c 75 65 20 28 61 73 20 73 74 6f 72 65 64 20 69 6e 0a d.truecolor.value.(as.stored.in.
5160 20 20 20 20 20 20 20 20 20 20 20 20 3b 3b 20 60 78 74 65 72 6d 2d 63 6f 6c 6f 72 2d 2d 63 75 72 ............;;.`xterm-color--cur
5180 72 65 6e 74 2d 66 67 27 20 61 6e 64 20 60 78 74 65 72 6d 2d 63 6f 6c 6f 72 2d 2d 63 75 72 72 65 rent-fg'.and.`xterm-color--curre
51a0 6e 74 2d 66 67 27 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 75 6e 70 61 63 6b 20 28 63 6f 6c nt-fg'..............(unpack.(col
51c0 6f 72 29 20 20 20 20 20 20 60 28 61 73 68 20 2c 63 6f 6c 6f 72 20 2d 39 29 29 0a 0a 20 20 20 20 or)......`(ash.,color.-9))......
51e0 20 20 20 20 20 20 20 20 3b 3b 20 54 6f 20 61 76 6f 69 64 20 68 61 73 68 20 63 6f 6c 6c 69 73 69 ........;;.To.avoid.hash.collisi
5200 6f 6e 73 2c 20 61 20 64 69 66 66 65 72 65 6e 74 20 70 61 63 6b 69 6e 67 20 73 63 68 65 6d 65 20 ons,.a.different.packing.scheme.
5220 69 73 20 75 73 65 64 0a 20 20 20 20 20 20 20 20 20 20 20 20 3b 3b 20 66 6f 72 20 68 61 73 68 20 is.used.............;;.for.hash.
5240 74 61 62 6c 65 20 6b 65 79 73 2e 20 49 74 20 63 61 6e 20 65 6e 63 6f 64 65 20 74 77 6f 20 63 6f table.keys..It.can.encode.two.co
5260 6c 6f 72 73 20 28 66 6f 72 65 67 72 6f 75 6e 64 0a 20 20 20 20 20 20 20 20 20 20 20 20 3b 3b 20 lors.(foreground.............;;.
5280 61 6e 64 20 62 61 63 6b 67 72 6f 75 6e 64 29 20 74 68 61 74 20 63 61 6e 20 65 69 74 68 65 72 20 and.background).that.can.either.
52a0 62 65 20 74 72 75 65 63 6f 6c 6f 72 20 32 34 62 69 74 20 6f 72 20 58 54 65 72 6d 20 32 35 36 0a be.truecolor.24bit.or.XTerm.256.
52c0 20 20 20 20 20 20 20 20 20 20 20 20 3b 3b 20 63 6f 6c 6f 72 20 38 62 69 74 2e 20 58 54 65 72 6d ............;;.color.8bit..XTerm
52e0 20 32 35 36 20 63 6f 6c 6f 72 20 76 61 6c 75 65 73 20 73 75 62 73 75 6d 65 20 41 4e 53 49 20 63 .256.color.values.subsume.ANSI.c
5300 6f 6c 6f 72 73 2c 20 61 0a 20 20 20 20 20 20 20 20 20 20 20 20 3b 3b 20 73 65 70 61 72 61 74 65 olors,.a.............;;.separate
5320 20 65 6e 63 6f 64 69 6e 67 20 73 63 68 65 6d 65 20 69 73 20 6e 6f 74 20 6e 65 65 64 65 64 2e 0a .encoding.scheme.is.not.needed..
5340 20 20 20 20 20 20 20 20 20 20 20 20 3b 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 3b 3b 20 54 68 ............;;.............;;.Th
5360 65 20 73 63 68 65 6d 65 20 75 73 65 64 20 61 6c 73 6f 20 61 63 63 6f 75 6e 74 73 20 66 6f 72 20 e.scheme.used.also.accounts.for.
5380 74 68 65 20 63 6f 6d 62 69 6e 61 74 69 6f 6e 20 6f 66 20 61 20 74 72 75 65 63 6f 6c 6f 72 0a 20 the.combination.of.a.truecolor..
53a0 20 20 20 20 20 20 20 20 20 20 20 3b 3b 20 77 69 74 68 20 61 6e 20 58 54 65 72 6d 20 32 35 36 20 ...........;;.with.an.XTerm.256.
53c0 63 6f 6c 6f 72 20 61 73 20 70 61 72 74 20 6f 66 20 74 68 65 20 73 61 6d 65 20 68 61 73 68 65 64 color.as.part.of.the.same.hashed
53e0 20 65 6e 74 72 79 2e 20 53 69 6e 63 65 0a 20 20 20 20 20 20 20 20 20 20 20 20 3b 3b 20 74 77 6f .entry..Since.............;;.two
5400 20 64 69 66 66 65 72 65 6e 74 20 68 61 73 68 20 74 61 62 6c 65 73 20 61 72 65 20 75 73 65 64 20 .different.hash.tables.are.used.
5420 74 6f 20 77 6f 72 6b 20 61 72 6f 75 6e 64 20 33 32 62 69 74 20 45 6d 61 63 73 0a 20 20 20 20 20 to.work.around.32bit.Emacs......
5440 20 20 20 20 20 20 20 3b 3b 20 6c 69 6d 69 74 65 64 20 69 6e 74 65 67 65 72 20 72 61 6e 67 65 2c .......;;.limited.integer.range,
5460 20 74 77 6f 20 70 61 63 6b 69 6e 67 20 73 63 68 65 6d 65 73 20 61 72 65 20 6e 65 65 64 65 64 3a .two.packing.schemes.are.needed:
5480 0a 20 20 20 20 20 20 20 20 20 20 20 20 3b 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 3b 3b 20 48 .............;;.............;;.H
54a0 69 67 68 3c 20 20 20 20 20 20 20 20 20 32 35 20 62 69 74 73 20 20 20 20 20 20 20 3e 4c 6f 77 0a igh<.........25.bits.......>Low.
54c0 20 20 20 20 20 20 20 20 20 20 20 20 3b 3b 20 41 54 54 52 5b 37 20 62 69 74 73 5d 42 47 5b 39 20 ............;;.ATTR[7.bits]BG[9.
54e0 62 69 74 73 5d 46 47 5b 39 20 62 69 74 73 5d 20 77 68 65 72 65 20 42 47 20 61 6e 64 20 46 47 20 bits]FG[9.bits].where.BG.and.FG.
5500 61 72 65 20 65 61 63 68 0a 20 20 20 20 20 20 20 20 20 20 20 20 3b 3b 20 65 6e 63 6f 64 65 64 20 are.each.............;;.encoded.
5520 61 73 20 74 68 65 20 38 62 69 74 20 63 6f 6c 6f 72 20 76 61 6c 75 65 20 73 68 69 66 74 65 64 20 as.the.8bit.color.value.shifted.
5540 6c 65 66 74 20 62 79 20 31 20 61 6e 64 20 63 6f 6d 62 69 6e 65 64 0a 20 20 20 20 20 20 20 20 20 left.by.1.and.combined..........
5560 20 20 20 3b 3b 20 77 69 74 68 20 61 20 66 6c 61 67 20 62 69 74 20 77 68 69 63 68 20 69 73 20 73 ...;;.with.a.flag.bit.which.is.s
5580 65 74 20 77 68 65 6e 20 74 68 65 20 63 6f 6c 6f 72 20 69 73 20 70 72 65 73 65 6e 74 2e 0a 20 20 et.when.the.color.is.present....
55a0 20 20 20 20 20 20 20 20 20 20 3b 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 3b 3b 20 48 69 67 68 ..........;;.............;;.High
55c0 3c 20 20 20 20 20 20 20 20 20 35 39 20 62 69 74 73 20 20 20 20 20 20 20 3e 4c 6f 77 0a 20 20 20 <.........59.bits.......>Low....
55e0 20 20 20 20 20 20 20 20 20 3b 3b 20 41 54 54 52 5b 37 20 62 69 74 73 5d 42 47 5b 32 36 20 62 69 .........;;.ATTR[7.bits]BG[26.bi
5600 74 73 5d 46 47 5b 32 36 20 62 69 74 73 5d 20 77 68 65 72 65 20 42 47 20 61 6e 64 20 46 47 20 61 ts]FG[26.bits].where.BG.and.FG.a
5620 72 65 20 65 61 63 68 0a 20 20 20 20 20 20 20 20 20 20 20 20 3b 3b 20 65 6e 63 6f 64 65 64 20 61 re.each.............;;.encoded.a
5640 73 20 74 68 65 20 32 34 62 69 74 20 28 52 47 42 29 20 6f 72 20 38 62 69 74 20 63 6f 6c 6f 72 20 s.the.24bit.(RGB).or.8bit.color.
5660 76 61 6c 75 65 20 73 68 69 66 74 65 64 20 6c 65 66 74 20 62 79 0a 20 20 20 20 20 20 20 20 20 20 value.shifted.left.by...........
5680 20 20 3b 3b 20 32 20 61 6e 64 20 63 6f 6d 62 69 6e 65 64 20 77 69 74 68 20 32 20 66 6c 61 67 20 ..;;.2.and.combined.with.2.flag.
56a0 62 69 74 73 20 74 68 61 74 20 61 72 65 20 73 65 74 20 77 68 65 6e 20 74 68 65 20 76 61 6c 75 65 bits.that.are.set.when.the.value
56c0 0a 20 20 20 20 20 20 20 20 20 20 20 20 3b 3b 20 69 73 20 32 34 62 69 74 20 28 68 69 67 68 20 62 .............;;.is.24bit.(high.b
56e0 69 74 29 20 61 6e 64 20 77 68 65 6e 20 74 68 65 20 63 6f 6c 6f 72 20 69 73 20 70 72 65 73 65 6e it).and.when.the.color.is.presen
5700 74 20 28 6c 6f 77 20 62 69 74 29 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 70 61 63 6b 2d 32 t.(low.bit)..............(pack-2
5720 35 36 20 28 63 6f 6c 6f 72 29 20 20 20 20 60 28 69 66 20 2c 63 6f 6c 6f 72 20 28 6c 6f 67 69 6f 56.(color)....`(if.,color.(logio
5740 72 20 28 61 73 68 20 2c 63 6f 6c 6f 72 20 31 29 20 31 29 20 30 29 29 0a 20 20 20 20 20 20 20 20 r.(ash.,color.1).1).0)).........
5760 20 20 20 20 28 70 61 63 6b 2d 32 34 62 69 74 20 28 63 6f 6c 6f 72 29 20 20 60 28 69 66 20 2c 63 ....(pack-24bit.(color)..`(if.,c
5780 6f 6c 6f 72 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 olor............................
57a0 20 20 20 20 20 20 20 20 20 20 20 28 69 66 20 28 3e 20 2c 63 6f 6c 6f 72 20 32 35 35 29 0a 20 20 ...........(if.(>.,color.255)...
57c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
57e0 20 20 20 20 20 20 20 20 28 6c 6f 67 69 6f 72 20 28 61 73 68 20 28 75 6e 70 61 63 6b 20 2c 63 6f ........(logior.(ash.(unpack.,co
5800 6c 6f 72 29 20 32 29 20 33 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 lor).2).3)......................
5820 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6c 6f 67 69 6f 72 20 28 61 73 68 20 ...................(logior.(ash.
5840 2c 63 6f 6c 6f 72 20 32 29 20 31 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ,color.2).1))...................
5860 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 30 29 29 0a 20 20 20 20 20 20 20 20 20 20 ..................0))...........
5880 20 20 3b 3b 20 49 66 20 61 74 20 6c 65 61 73 74 20 6f 6e 65 20 6f 66 20 66 6f 72 65 67 72 6f 75 ..;;.If.at.least.one.of.foregrou
58a0 6e 64 20 2f 20 62 61 63 6b 67 72 6f 75 6e 64 20 63 6f 6c 6f 72 20 69 73 20 61 20 32 34 62 69 74 nd./.background.color.is.a.24bit
58c0 0a 20 20 20 20 20 20 20 20 20 20 20 20 3b 3b 20 74 72 75 65 63 6f 6c 6f 72 20 76 61 6c 75 65 3a .............;;.truecolor.value:
58e0 20 53 65 63 6f 6e 64 20 70 61 63 6b 69 6e 67 20 73 63 68 65 6d 65 20 77 69 74 68 0a 20 20 20 20 .Second.packing.scheme.with.....
5900 20 20 20 20 20 20 20 20 3b 3b 20 60 78 74 65 72 6d 2d 63 6f 6c 6f 72 2d 2d 74 72 75 65 63 6f 6c ........;;.`xterm-color--truecol
5920 6f 72 2d 66 61 63 65 2d 63 61 63 68 65 27 20 69 73 20 75 73 65 64 2e 0a 20 20 20 20 20 20 20 20 or-face-cache'.is.used..........
5940 20 20 20 20 3b 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 3b 3b 20 45 76 65 72 79 20 6f 74 68 65 ....;;.............;;.Every.othe
5960 72 20 63 61 73 65 2c 20 69 6e 63 6c 75 64 69 6e 67 20 77 68 65 6e 20 6e 6f 20 63 6f 6c 6f 72 73 r.case,.including.when.no.colors
5980 20 61 72 65 20 70 72 65 73 65 6e 74 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 3b 3b 20 46 69 72 .are.present:.............;;.Fir
59a0 73 74 20 70 61 63 6b 69 6e 67 20 73 63 68 65 6d 65 20 77 69 74 68 20 60 78 74 65 72 6d 2d 63 6f st.packing.scheme.with.`xterm-co
59c0 6c 6f 72 2d 2d 66 61 63 65 2d 63 61 63 68 65 27 20 69 73 20 75 73 65 64 2e 0a 20 20 20 20 20 20 lor--face-cache'.is.used........
59e0 20 20 20 20 20 20 28 70 61 63 6b 2d 6b 65 79 2d 69 6e 74 6f 20 28 6b 29 20 20 20 60 28 63 6f 6e ......(pack-key-into.(k)...`(con
5a00 64 20 28 28 6f 72 20 28 61 6e 64 20 66 67 20 28 3e 20 66 67 20 32 35 35 29 29 0a 20 20 20 20 20 d.((or.(and.fg.(>.fg.255))......
5a20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
5a40 20 20 20 20 20 20 20 20 28 61 6e 64 20 62 67 20 28 3e 20 62 67 20 32 35 35 29 29 29 0a 20 20 20 ........(and.bg.(>.bg.255)))....
5a60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
5a80 20 20 20 20 20 20 3b 3b 20 41 74 20 6c 65 61 73 74 20 6f 6e 65 20 74 72 75 65 63 6f 6c 6f 72 20 ......;;.At.least.one.truecolor.
5aa0 32 34 62 69 74 20 76 61 6c 75 65 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24bit.value.....................
5ac0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 73 65 74 71 20 2c 6b 20 28 6c .....................(setq.,k.(l
5ae0 6f 67 69 6f 72 20 28 61 73 68 20 61 74 74 72 73 20 35 32 29 0a 20 20 20 20 20 20 20 20 20 20 20 ogior.(ash.attrs.52)............
5b00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
5b20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 61 73 68 20 28 70 61 63 6b 2d 32 34 62 69 74 20 ...............(ash.(pack-24bit.
5b40 62 67 29 20 32 36 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 bg).26).........................
5b60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
5b80 20 20 28 70 61 63 6b 2d 32 34 62 69 74 20 66 67 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 ..(pack-24bit.fg))).............
5ba0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 78 74 65 .............................xte
5bc0 72 6d 2d 63 6f 6c 6f 72 2d 2d 74 72 75 65 63 6f 6c 6f 72 2d 66 61 63 65 2d 63 61 63 68 65 29 0a rm-color--truecolor-face-cache).
5be0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
5c00 20 20 20 20 20 20 20 20 28 74 20 3b 3b 20 4e 6f 20 74 72 75 65 63 6f 6c 6f 72 20 32 34 62 69 74 ........(t.;;.No.truecolor.24bit
5c20 20 76 61 6c 75 65 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .value..........................
5c40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 73 65 74 71 20 2c 6b 20 28 6c 6f 67 69 6f 72 ................(setq.,k.(logior
5c60 20 28 61 73 68 20 61 74 74 72 73 20 31 38 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .(ash.attrs.18).................
5c80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
5ca0 20 20 20 20 20 20 20 20 20 20 28 61 73 68 20 28 70 61 63 6b 2d 32 35 36 20 62 67 29 20 39 29 0a ..........(ash.(pack-256.bg).9).
5cc0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
5ce0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 70 61 63 6b 2d ..........................(pack-
5d00 32 35 36 20 66 67 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 256.fg))).......................
5d20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 78 74 65 72 6d 2d 63 6f 6c 6f 72 2d 2d ...................xterm-color--
5d40 66 61 63 65 2d 63 61 63 68 65 29 29 29 0a 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 66 61 63 65 face-cache)))..............(face
5d60 21 20 28 6b 20 76 29 20 20 20 20 20 20 20 20 20 60 28 73 65 74 71 20 70 6c 69 73 74 66 20 28 70 !.(k.v).........`(setq.plistf.(p
5d80 6c 69 73 74 2d 70 75 74 20 70 6c 69 73 74 66 20 2c 6b 20 2c 76 29 29 29 0a 20 20 20 20 20 20 20 list-put.plistf.,k.,v)))........
5da0 20 20 20 20 20 28 6d 61 6b 65 2d 63 6f 6c 6f 72 2d 66 67 20 28 29 20 20 20 20 60 28 69 66 20 28 .....(make-color-fg.()....`(if.(
5dc0 61 6e 64 20 62 6f 6c 64 2d 62 72 69 67 68 74 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 and.bold-bright.................
5de0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 3c 20 66 67 ...........................(<.fg
5e00 20 32 35 36 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .256)...........................
5e20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6f 72 20 28 68 61 73 3f 20 2b 62 72 69 67 .................(or.(has?.+brig
5e40 68 74 2b 29 20 28 3c 3d 20 38 20 66 67 20 31 35 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 ht+).(<=.8.fg.15))).............
5e60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 70 72 6f 67 6e ..........................(progn
5e80 20 28 66 61 63 65 21 20 3a 77 65 69 67 68 74 20 27 62 6f 6c 64 29 0a 20 20 20 20 20 20 20 20 20 .(face!.:weight.'bold)..........
5ea0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
5ec0 20 20 20 20 28 66 61 63 65 21 20 3a 66 6f 72 65 67 72 6f 75 6e 64 0a 20 20 20 20 20 20 20 20 20 ....(face!.:foreground..........
5ee0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
5f00 20 20 20 20 20 20 20 20 20 20 20 28 66 6d 74 2d 32 35 36 20 28 69 66 20 28 3c 3d 20 38 20 66 67 ...........(fmt-256.(if.(<=.8.fg
5f20 29 20 28 2d 20 66 67 20 38 29 20 66 67 29 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ).(-.fg.8).fg))))...............
5f40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 66 61 63 65 21 20 3a 66 6f ......................(face!.:fo
5f60 72 65 67 72 6f 75 6e 64 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 reground........................
5f80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 69 66 20 28 3e 20 66 67 20 32 35 ....................(if.(>.fg.25
5fa0 35 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 5)..............................
5fc0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 66 6d 74 2d 32 34 62 69 74 20 28 75 6e ..................(fmt-24bit.(un
5fe0 70 61 63 6b 20 66 67 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 pack.fg)).......................
6000 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 66 6d 74 2d 32 35 36 20 .......................(fmt-256.
6020 28 69 66 20 28 61 6e 64 20 28 3c 3d 20 66 67 20 37 29 20 28 68 61 73 3f 20 2b 62 72 69 67 68 74 (if.(and.(<=.fg.7).(has?.+bright
6040 2b 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 +)).............................
6060 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 2b ..............................(+
6080 20 66 67 20 38 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .fg.8)..........................
60a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 66 ...............................f
60c0 67 29 29 29 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 6d 61 6b 65 2d 63 6f 6c 6f 72 2d g)))))).............(make-color-
60e0 62 67 20 28 29 20 20 20 20 60 28 66 61 63 65 21 20 3a 62 61 63 6b 67 72 6f 75 6e 64 20 28 63 6f bg.()....`(face!.:background.(co
6100 6e 64 20 28 28 3e 20 62 67 20 32 35 35 29 20 28 66 6d 74 2d 32 34 62 69 74 20 28 75 6e 70 61 63 nd.((>.bg.255).(fmt-24bit.(unpac
6120 6b 20 62 67 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 k.bg))).........................
6140 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
6160 20 20 20 28 74 20 28 66 6d 74 2d 32 35 36 20 62 67 29 29 29 29 29 0a 20 20 20 20 20 20 20 20 20 ...(t.(fmt-256.bg)))))..........
6180 20 20 20 28 6d 61 6b 65 2d 66 61 63 65 20 28 29 20 20 20 20 20 20 20 20 60 28 6c 65 74 2a 20 28 ...(make-face.()........`(let*.(
61a0 6b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 k...............................
61c0 20 20 20 20 20 20 20 20 20 20 20 28 74 61 62 6c 65 20 28 70 61 63 6b 2d 6b 65 79 2d 69 6e 74 6f ...........(table.(pack-key-into
61e0 20 6b 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .k)))...........................
6200 20 20 20 20 20 20 20 20 20 20 28 6f 72 20 28 67 65 74 68 61 73 68 20 6b 20 74 61 62 6c 65 29 0a ..........(or.(gethash.k.table).
6220 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
6240 20 20 20 20 20 20 20 20 28 6c 65 74 20 28 70 6c 69 73 74 66 29 0a 20 20 20 20 20 20 20 20 20 20 ........(let.(plistf)...........
6260 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
6280 28 77 68 65 6e 20 28 68 61 73 3f 20 2b 69 74 61 6c 69 63 2b 29 20 20 20 20 20 20 20 20 20 28 66 (when.(has?.+italic+).........(f
62a0 61 63 65 21 20 3a 73 6c 61 6e 74 20 27 69 74 61 6c 69 63 29 29 0a 20 20 20 20 20 20 20 20 20 20 ace!.:slant.'italic))...........
62c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
62e0 28 77 68 65 6e 20 28 68 61 73 3f 20 2b 75 6e 64 65 72 6c 69 6e 65 2b 29 20 20 20 20 20 20 28 66 (when.(has?.+underline+)......(f
6300 61 63 65 21 20 3a 75 6e 64 65 72 6c 69 6e 65 20 74 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 ace!.:underline.t)).............
6320 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 77 ..............................(w
6340 68 65 6e 20 28 68 61 73 3f 20 2b 73 74 72 69 6b 65 2d 74 68 72 6f 75 67 68 2b 29 20 28 66 61 63 hen.(has?.+strike-through+).(fac
6360 65 21 20 3a 73 74 72 69 6b 65 2d 74 68 72 6f 75 67 68 20 74 29 29 0a 20 20 20 20 20 20 20 20 20 e!.:strike-through.t))..........
6380 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
63a0 20 28 77 68 65 6e 20 28 68 61 73 3f 20 2b 6e 65 67 61 74 69 76 65 2b 29 20 20 20 20 20 20 20 28 .(when.(has?.+negative+).......(
63c0 66 61 63 65 21 20 3a 69 6e 76 65 72 73 65 2d 76 69 64 65 6f 20 74 29 29 0a 20 20 20 20 20 20 20 face!.:inverse-video.t))........
63e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
6400 20 20 20 28 77 68 65 6e 20 28 68 61 73 3f 20 2b 6f 76 65 72 6c 69 6e 65 2b 29 20 20 20 20 20 20 ...(when.(has?.+overline+)......
6420 20 28 66 61 63 65 21 20 3a 6f 76 65 72 6c 69 6e 65 20 74 29 29 0a 20 20 20 20 20 20 20 20 20 20 .(face!.:overline.t))...........
6440 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
6460 28 77 68 65 6e 20 28 68 61 73 3f 20 2b 66 72 61 6d 65 2b 29 20 20 20 20 20 20 20 20 20 20 28 66 (when.(has?.+frame+)..........(f
6480 61 63 65 21 20 3a 62 6f 78 20 74 29 29 0a 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ace!.:box.t))...................
64a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 63 6f 6e 64 20 28 .........................(cond.(
64c0 66 67 20 28 6d 61 6b 65 2d 63 6f 6c 6f 72 2d 66 67 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 fg.(make-color-fg)).............
64e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
6500 20 20 20 20 28 74 20 28 77 68 65 6e 20 28 61 6e 64 20 62 6f 6c 64 2d 62 72 69 67 68 74 20 28 68 ....(t.(when.(and.bold-bright.(h
6520 61 73 3f 20 2b 62 72 69 67 68 74 2b 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 as?.+bright+))..................
6540 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
6560 20 20 20 20 28 66 61 63 65 21 20 3a 77 65 69 67 68 74 20 27 62 6f 6c 64 29 29 29 29 0a 0a 20 20 ....(face!.:weight.'bold))))....
6580 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
65a0 20 20 20 20 20 20 20 20 28 77 68 65 6e 20 62 67 20 28 6d 61 6b 65 2d 63 6f 6c 6f 72 2d 62 67 29 ........(when.bg.(make-color-bg)
65c0 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 )...............................
65e0 20 20 20 20 20 20 20 20 20 20 20 20 28 70 75 74 68 61 73 68 20 6b 20 70 6c 69 73 74 66 20 74 61 ............(puthash.k.plistf.ta
6600 62 6c 65 29 29 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 6d 61 79 62 65 2d 66 6f 6e 74 ble))))).............(maybe-font
6620 69 66 79 20 28 29 20 20 20 20 27 28 77 68 65 6e 20 78 74 65 72 6d 2d 63 6f 6c 6f 72 2d 2d 63 68 ify.()....'(when.xterm-color--ch
6640 61 72 2d 6c 69 73 74 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ar-list.........................
6660 20 20 20 20 20 20 20 20 20 20 20 20 28 6c 65 74 20 28 28 73 20 28 63 6f 6e 63 61 74 20 28 6e 72 ............(let.((s.(concat.(nr
6680 65 76 65 72 73 65 20 78 74 65 72 6d 2d 63 6f 6c 6f 72 2d 2d 63 68 61 72 2d 6c 69 73 74 29 29 29 everse.xterm-color--char-list)))
66a0 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 )...............................
66c0 20 20 20 20 20 20 20 20 28 77 68 65 6e 20 28 61 6e 64 20 78 74 65 72 6d 2d 63 6f 6c 6f 72 2d 72 ........(when.(and.xterm-color-r
66e0 65 6e 64 65 72 20 28 67 72 61 70 68 69 63 73 3f 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 ender.(graphics?))..............
6700 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 61 64 64 2d ...........................(add-
6720 74 65 78 74 2d 70 72 6f 70 65 72 74 69 65 73 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 text-properties.................
6740 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 30 20 28 6c 65 6e 67 .........................0.(leng
6760 74 68 20 73 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 th.s)...........................
6780 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6c 69 73 74 20 27 78 74 65 72 6d 2d 63 6f 6c 6f ...............(list.'xterm-colo
67a0 72 20 74 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 r.t.............................
67c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 69 66 20 66 6f 6e 74 2d 6c 6f 63 6b ...................(if.font-lock
67e0 2d 6d 6f 64 65 20 27 66 6f 6e 74 2d 6c 6f 63 6b 2d 66 61 63 65 20 27 66 61 63 65 29 0a 20 20 20 -mode.'font-lock-face.'face)....
6800 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
6820 20 20 20 20 20 20 20 20 20 20 20 20 28 6d 61 6b 65 2d 66 61 63 65 29 29 0a 20 20 20 20 20 20 20 ............(make-face))........
6840 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
6860 20 20 73 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ..s))...........................
6880 20 20 20 20 20 20 20 20 20 20 20 20 28 6f 75 74 21 20 73 29 29 0a 20 20 20 20 20 20 20 20 20 20 ............(out!.s))...........
68a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 73 65 74 71 20 ..........................(setq.
68c0 78 74 65 72 6d 2d 63 6f 6c 6f 72 2d 2d 63 68 61 72 2d 6c 69 73 74 20 6e 69 6c 29 29 29 29 0a 20 xterm-color--char-list.nil))))..
68e0 20 20 20 20 20 20 20 20 2c 40 62 6f 64 79 29 29 29 29 0a 0a 0a 3b 3b 3b 0a 3b 3b 3b 20 45 78 70 ........,@body))))...;;;.;;;.Exp
6900 6f 72 74 73 0a 3b 3b 3b 0a 0a 0a 3b 3b 3b 23 23 23 61 75 74 6f 6c 6f 61 64 0a 28 64 65 66 75 6e orts.;;;...;;;###autoload.(defun
6920 20 78 74 65 72 6d 2d 63 6f 6c 6f 72 2d 66 69 6c 74 65 72 2d 73 74 72 69 70 20 28 73 74 72 69 6e .xterm-color-filter-strip.(strin
6940 67 29 0a 20 20 22 54 72 61 6e 73 6c 61 74 65 20 41 4e 53 49 20 63 6f 6c 6f 72 20 73 65 71 75 65 g)..."Translate.ANSI.color.seque
6960 6e 63 65 73 20 69 6e 20 53 54 52 49 4e 47 20 69 6e 74 6f 20 74 65 78 74 20 70 72 6f 70 65 72 74 nces.in.STRING.into.text.propert
6980 69 65 73 2e 0a 52 65 74 75 72 6e 20 6e 65 77 20 53 54 52 49 4e 47 20 77 69 74 68 20 74 65 78 74 ies..Return.new.STRING.with.text
69a0 20 70 72 6f 70 65 72 74 69 65 73 20 61 70 70 6c 69 65 64 2e 0a 0a 49 6e 20 6f 72 64 65 72 20 74 .properties.applied...In.order.t
69c0 6f 20 67 65 74 20 6d 61 78 69 6d 75 6d 20 70 65 72 66 6f 72 6d 61 6e 63 65 2c 20 74 68 69 73 20 o.get.maximum.performance,.this.
69e0 66 75 6e 63 74 69 6f 6e 20 73 74 72 69 70 73 20 74 65 78 74 20 70 72 6f 70 65 72 74 69 65 73 0a function.strips.text.properties.
6a00 69 66 20 74 68 65 79 20 61 72 65 20 70 72 65 73 65 6e 74 20 69 6e 20 53 54 52 49 4e 47 2e 22 0a if.they.are.present.in.STRING.".
6a20 20 20 28 75 6e 6c 65 73 73 20 78 74 65 72 6d 2d 63 6f 6c 6f 72 2d 2d 66 61 63 65 2d 63 61 63 68 ..(unless.xterm-color--face-cach
6a40 65 0a 20 20 20 20 28 73 65 74 71 20 78 74 65 72 6d 2d 63 6f 6c 6f 72 2d 2d 66 61 63 65 2d 63 61 e.....(setq.xterm-color--face-ca
6a60 63 68 65 0a 20 20 20 20 20 20 20 20 20 20 28 6d 61 6b 65 2d 68 61 73 68 2d 74 61 62 6c 65 20 3a che...........(make-hash-table.:
6a80 77 65 61 6b 6e 65 73 73 20 27 76 61 6c 75 65 29 29 29 0a 20 20 28 75 6e 6c 65 73 73 20 78 74 65 weakness.'value)))...(unless.xte
6aa0 72 6d 2d 63 6f 6c 6f 72 2d 2d 74 72 75 65 63 6f 6c 6f 72 2d 66 61 63 65 2d 63 61 63 68 65 0a 20 rm-color--truecolor-face-cache..
6ac0 20 20 20 28 73 65 74 71 20 78 74 65 72 6d 2d 63 6f 6c 6f 72 2d 2d 74 72 75 65 63 6f 6c 6f 72 2d ...(setq.xterm-color--truecolor-
6ae0 66 61 63 65 2d 63 61 63 68 65 0a 20 20 20 20 20 20 20 20 20 20 28 6d 61 6b 65 2d 68 61 73 68 2d face-cache...........(make-hash-
6b00 74 61 62 6c 65 20 3a 77 65 61 6b 6e 65 73 73 20 27 76 61 6c 75 65 29 29 29 0a 20 20 28 78 74 65 table.:weakness.'value)))...(xte
6b20 72 6d 2d 63 6f 6c 6f 72 2d 2d 77 69 74 68 2d 41 4e 53 49 2d 6d 61 63 72 6f 2d 68 65 6c 70 65 72 rm-color--with-ANSI-macro-helper
6b40 73 0a 20 20 20 20 28 63 6c 2d 6c 6f 6f 70 0a 20 20 20 20 20 77 69 74 68 20 73 74 61 74 65 20 3d s.....(cl-loop......with.state.=
6b60 20 78 74 65 72 6d 2d 63 6f 6c 6f 72 2d 2d 73 74 61 74 65 20 61 6e 64 20 72 65 73 75 6c 74 0a 20 .xterm-color--state.and.result..
6b80 20 20 20 20 66 6f 72 20 63 68 61 72 20 61 63 72 6f 73 73 20 73 74 72 69 6e 67 20 64 6f 0a 20 20 ....for.char.across.string.do...
6ba0 20 20 20 28 63 6f 6e 64 0a 20 20 20 20 20 20 28 28 65 71 20 73 74 61 74 65 20 3a 63 68 61 72 29 ...(cond.......((eq.state.:char)
6bc0 0a 20 20 20 20 20 20 20 28 63 6f 6e 64 0a 20 20 20 20 20 20 20 20 28 28 65 71 20 63 68 61 72 20 ........(cond.........((eq.char.
6be0 32 37 29 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3b 20 45 53 43 0a 20 20 20 27)....................;.ESC....
6c00 20 20 20 20 20 20 28 6d 61 79 62 65 2d 66 6f 6e 74 69 66 79 29 0a 20 20 20 20 20 20 20 20 20 28 ......(maybe-fontify)..........(
6c20 73 74 61 74 65 21 20 3a 61 6e 73 69 2d 65 73 63 29 29 0a 20 20 20 20 20 20 20 20 28 74 0a 20 20 state!.:ansi-esc)).........(t...
6c40 20 20 20 20 20 20 20 28 69 66 20 28 67 72 61 70 68 69 63 73 3f 29 0a 20 20 20 20 20 20 20 20 20 .......(if.(graphics?)..........
6c60 20 20 20 20 28 70 75 73 68 2d 63 68 61 72 21 20 63 68 61 72 29 0a 20 20 20 20 20 20 20 20 20 20 ....(push-char!.char)...........
6c80 20 28 6f 75 74 21 20 28 6c 69 73 74 20 63 68 61 72 29 29 29 29 29 29 0a 20 20 20 20 20 20 28 28 .(out!.(list.char)))))).......((
6ca0 65 71 20 73 74 61 74 65 20 3a 61 6e 73 69 2d 65 73 63 29 0a 20 20 20 20 20 20 20 28 63 6f 6e 64 eq.state.:ansi-esc)........(cond
6cc0 20 28 28 65 71 20 63 68 61 72 20 3f 5c 5b 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 73 .((eq.char.?\[)...............(s
6ce0 74 61 74 65 21 20 3a 61 6e 73 69 2d 63 73 69 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 28 tate!.:ansi-csi))..............(
6d00 28 65 71 20 63 68 61 72 20 3f 5c 5d 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 73 74 61 (eq.char.?\])...............(sta
6d20 74 65 21 20 3a 61 6e 73 69 2d 6f 73 63 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 28 28 6f te!.:ansi-osc))..............((o
6d40 72 20 28 65 71 20 63 68 61 72 20 3f 5c 28 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 r.(eq.char.?\().................
6d60 20 20 28 65 71 20 63 68 61 72 20 3f 5c 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 ..(eq.char.?\)))...............(
6d80 73 74 61 74 65 21 20 3a 73 65 74 2d 63 68 61 72 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 state!.:set-char))..............
6da0 28 74 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 70 75 73 68 2d 63 68 61 72 21 20 63 68 61 (t...............(push-char!.cha
6dc0 72 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 73 74 61 74 65 21 20 3a 63 68 61 72 29 29 r)...............(state!.:char))
6de0 29 29 0a 20 20 20 20 20 20 28 28 65 71 20 73 74 61 74 65 20 3a 61 6e 73 69 2d 63 73 69 29 0a 20 )).......((eq.state.:ansi-csi)..
6e00 20 20 20 20 20 20 28 70 75 73 68 2d 63 73 69 21 20 63 68 61 72 29 0a 20 20 20 20 20 20 20 28 77 ......(push-csi!.char)........(w
6e20 68 65 6e 20 28 61 6e 64 20 28 3e 3d 20 63 68 61 72 20 23 78 34 30 29 0a 20 20 20 20 20 20 20 20 hen.(and.(>=.char.#x40).........
6e40 20 20 20 20 20 20 20 20 20 20 28 3c 3d 20 63 68 61 72 20 23 78 37 65 29 29 0a 20 20 20 20 20 20 ..........(<=.char.#x7e)).......
6e60 20 20 20 28 78 74 65 72 6d 2d 63 6f 6c 6f 72 2d 2d 64 69 73 70 61 74 63 68 2d 43 53 49 29 0a 20 ...(xterm-color--dispatch-CSI)..
6e80 20 20 20 20 20 20 20 20 28 73 74 61 74 65 21 20 3a 63 68 61 72 29 29 29 0a 20 20 20 20 20 20 28 ........(state!.:char))).......(
6ea0 28 65 71 20 73 74 61 74 65 20 3a 61 6e 73 69 2d 6f 73 63 29 0a 20 20 20 20 20 20 20 3b 3b 20 4f (eq.state.:ansi-osc)........;;.O
6ec0 53 43 20 73 65 71 75 65 6e 63 65 73 20 61 72 65 20 73 6b 69 70 70 65 64 0a 20 20 20 20 20 20 20 SC.sequences.are.skipped........
6ee0 28 63 6f 6e 64 20 28 28 65 71 20 63 68 61 72 20 37 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 (cond.((eq.char.7)..............
6f00 20 28 73 74 61 74 65 21 20 3a 63 68 61 72 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 28 28 .(state!.:char))..............((
6f20 65 71 20 63 68 61 72 20 32 37 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3b 3b 20 45 53 43 eq.char.27)...............;;.ESC
6f40 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 73 74 61 74 65 21 20 3a 61 6e 73 69 2d 6f 73 63 ...............(state!.:ansi-osc
6f60 2d 65 73 63 29 29 29 29 0a 20 20 20 20 20 20 28 28 65 71 20 73 74 61 74 65 20 3a 61 6e 73 69 2d -esc)))).......((eq.state.:ansi-
6f80 6f 73 63 2d 65 73 63 29 0a 20 20 20 20 20 20 20 28 63 6f 6e 64 20 28 28 65 71 20 63 68 61 72 20 osc-esc)........(cond.((eq.char.
6fa0 3f 5c 5c 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 73 74 61 74 65 21 20 3a 63 68 61 72 ?\\)...............(state!.:char
6fc0 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 28 74 20 28 73 74 61 74 65 21 20 3a 61 6e 73 69 ))..............(t.(state!.:ansi
6fe0 2d 6f 73 63 29 29 29 29 0a 20 20 20 20 20 20 28 28 65 71 20 73 74 61 74 65 20 3a 73 65 74 2d 63 -osc)))).......((eq.state.:set-c
7000 68 61 72 29 0a 20 20 20 20 20 20 20 28 78 74 65 72 6d 2d 63 6f 6c 6f 72 2d 2d 6d 65 73 73 61 67 har)........(xterm-color--messag
7020 65 20 22 25 73 20 53 45 54 2d 43 48 41 52 20 6e 6f 74 20 69 6d 70 6c 65 6d 65 6e 74 65 64 22 20 e."%s.SET-CHAR.not.implemented".
7040 63 68 61 72 29 0a 20 20 20 20 20 20 20 28 73 74 61 74 65 21 20 3a 63 68 61 72 29 29 29 0a 20 20 char)........(state!.:char)))...
7060 20 20 20 66 69 6e 61 6c 6c 79 20 72 65 74 75 72 6e 0a 20 20 20 20 20 28 70 72 6f 67 6e 20 28 77 ...finally.return......(progn.(w
7080 68 65 6e 20 28 65 71 20 73 74 61 74 65 20 3a 63 68 61 72 29 20 28 6d 61 79 62 65 2d 66 6f 6e 74 hen.(eq.state.:char).(maybe-font
70a0 69 66 79 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 73 65 74 71 20 78 74 65 72 6d 2d 63 6f ify)).............(setq.xterm-co
70c0 6c 6f 72 2d 2d 73 74 61 74 65 20 73 74 61 74 65 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 61 lor--state.state).............(a
70e0 70 70 6c 79 20 27 63 6f 6e 63 61 74 20 28 6e 72 65 76 65 72 73 65 20 72 65 73 75 6c 74 29 29 29 pply.'concat.(nreverse.result)))
7100 29 29 29 0a 0a 3b 3b 3b 23 23 23 61 75 74 6f 6c 6f 61 64 0a 28 64 65 66 75 6e 20 78 74 65 72 6d )))..;;;###autoload.(defun.xterm
7120 2d 63 6f 6c 6f 72 2d 66 69 6c 74 65 72 20 28 73 74 72 69 6e 67 29 0a 20 20 22 54 72 61 6e 73 6c -color-filter.(string)..."Transl
7140 61 74 65 20 41 4e 53 49 20 63 6f 6c 6f 72 20 73 65 71 75 65 6e 63 65 73 20 69 6e 20 53 54 52 49 ate.ANSI.color.sequences.in.STRI
7160 4e 47 20 69 6e 74 6f 20 74 65 78 74 20 70 72 6f 70 65 72 74 69 65 73 2e 0a 52 65 74 75 72 6e 20 NG.into.text.properties..Return.
7180 6e 65 77 20 53 54 52 49 4e 47 20 77 69 74 68 20 74 65 78 74 20 70 72 6f 70 65 72 74 69 65 73 20 new.STRING.with.text.properties.
71a0 61 70 70 6c 69 65 64 2e 0a 0a 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 63 68 65 63 6b 73 20 69 applied...This.function.checks.i
71c0 66 20 60 78 74 65 72 6d 2d 63 6f 6c 6f 72 2d 70 72 65 73 65 72 76 65 2d 70 72 6f 70 65 72 74 69 f.`xterm-color-preserve-properti
71e0 65 73 27 20 69 73 20 6e 6f 6e 2d 6e 69 6c 0a 61 6e 64 20 6f 6e 6c 79 20 63 61 6c 6c 73 20 60 78 es'.is.non-nil.and.only.calls.`x
7200 74 65 72 6d 2d 63 6f 6c 6f 72 2d 66 69 6c 74 65 72 2d 73 74 72 69 70 27 20 6f 6e 20 73 75 62 73 term-color-filter-strip'.on.subs
7220 74 72 69 6e 67 73 20 74 68 61 74 20 64 6f 20 6e 6f 74 0a 68 61 76 65 20 74 65 78 74 20 70 72 6f trings.that.do.not.have.text.pro
7240 70 65 72 74 69 65 73 20 61 70 70 6c 69 65 64 20 28 70 61 73 73 69 6e 67 20 74 68 72 6f 75 67 68 perties.applied.(passing.through
7260 20 74 68 65 20 72 65 73 74 20 75 6e 6d 6f 64 69 66 69 65 64 29 2e 0a 50 72 65 73 65 72 76 69 6e .the.rest.unmodified)..Preservin
7280 67 20 70 72 6f 70 65 72 74 69 65 73 20 69 6e 20 74 68 69 73 20 66 61 73 68 69 6f 6e 20 69 73 20 g.properties.in.this.fashion.is.
72a0 6e 6f 74 20 76 65 72 79 20 72 6f 62 75 73 74 20 61 73 20 74 68 65 72 65 20 6d 61 79 0a 62 65 20 not.very.robust.as.there.may.be.
72c0 73 69 74 75 61 74 69 6f 6e 73 20 77 68 65 72 65 20 74 65 78 74 20 70 72 6f 70 65 72 74 69 65 73 situations.where.text.properties
72e0 20 61 72 65 20 61 70 70 6c 69 65 64 20 6f 6e 20 41 4e 53 49 20 64 61 74 61 2c 20 77 68 69 63 68 .are.applied.on.ANSI.data,.which
7300 0a 77 69 6c 6c 20 64 65 73 79 6e 63 20 74 68 65 20 73 74 61 74 65 20 6d 61 63 68 69 6e 65 2e 0a .will.desync.the.state.machine..
7320 0a 50 72 65 73 65 72 76 69 6e 67 20 70 72 6f 70 65 72 74 69 65 73 20 77 6f 72 6b 73 20 6f 6b 20 .Preserving.properties.works.ok.
7340 77 69 74 68 20 61 6e 64 20 69 73 20 72 65 61 6c 6c 79 20 6d 65 61 6e 74 20 66 6f 72 20 65 73 68 with.and.is.really.meant.for.esh
7360 65 6c 6c 2e 0a 0a 54 68 69 73 20 63 61 6e 20 62 65 20 69 6e 73 65 72 74 65 64 20 69 6e 74 6f 20 ell...This.can.be.inserted.into.
7380 60 63 6f 6d 69 6e 74 2d 70 72 65 6f 75 74 70 75 74 2d 66 69 6c 74 65 72 2d 66 75 6e 63 74 69 6f `comint-preoutput-filter-functio
73a0 6e 73 27 2e 22 0a 20 20 28 69 66 20 28 6e 6f 74 20 78 74 65 72 6d 2d 63 6f 6c 6f 72 2d 70 72 65 ns'."...(if.(not.xterm-color-pre
73c0 73 65 72 76 65 2d 70 72 6f 70 65 72 74 69 65 73 29 0a 20 20 20 20 20 20 28 78 74 65 72 6d 2d 63 serve-properties).......(xterm-c
73e0 6f 6c 6f 72 2d 66 69 6c 74 65 72 2d 73 74 72 69 70 20 73 74 72 69 6e 67 29 0a 20 20 20 20 28 63 olor-filter-strip.string).....(c
7400 6c 2d 6c 6f 6f 70 0a 20 20 20 20 20 77 69 74 68 20 72 65 73 75 6c 74 0a 20 20 20 20 20 66 6f 72 l-loop......with.result......for
7420 20 28 5f 20 70 72 6f 70 73 20 73 75 62 73 74 72 69 6e 67 29 20 69 6e 20 28 78 74 65 72 6d 2d 63 .(_.props.substring).in.(xterm-c
7440 6f 6c 6f 72 2d 2d 73 74 72 69 6e 67 2d 70 72 6f 70 65 72 74 69 65 73 20 73 74 72 69 6e 67 29 20 olor--string-properties.string).
7460 64 6f 0a 20 20 20 20 20 28 70 75 73 68 20 28 69 66 20 70 72 6f 70 73 20 73 75 62 73 74 72 69 6e do......(push.(if.props.substrin
7480 67 20 28 78 74 65 72 6d 2d 63 6f 6c 6f 72 2d 66 69 6c 74 65 72 2d 73 74 72 69 70 20 73 75 62 73 g.(xterm-color-filter-strip.subs
74a0 74 72 69 6e 67 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 72 65 73 75 6c 74 29 0a 20 20 20 20 20 tring))............result)......
74c0 66 69 6e 61 6c 6c 79 20 72 65 74 75 72 6e 20 28 61 70 70 6c 79 20 27 63 6f 6e 63 61 74 20 28 6e finally.return.(apply.'concat.(n
74e0 72 65 76 65 72 73 65 20 72 65 73 75 6c 74 29 29 29 29 29 0a 0a 3b 3b 3b 23 23 23 61 75 74 6f 6c reverse.result)))))..;;;###autol
7500 6f 61 64 0a 28 64 65 66 75 6e 20 78 74 65 72 6d 2d 63 6f 6c 6f 72 2d 32 35 36 20 28 63 6f 6c 6f oad.(defun.xterm-color-256.(colo
7520 72 29 0a 20 20 28 63 6f 6e 64 20 28 28 61 6e 64 20 28 3e 3d 20 63 6f 6c 6f 72 20 32 33 32 29 0a r)...(cond.((and.(>=.color.232).
7540 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 3c 3d 20 63 6f 6c 6f 72 20 32 35 35 29 29 0a 20 20 ..............(<=.color.255))...
7560 20 20 20 20 20 20 20 3b 3b 20 47 72 61 79 73 63 61 6c 65 0a 20 20 20 20 20 20 20 20 20 28 6c 65 .......;;.Grayscale..........(le
7580 74 20 28 28 76 61 6c 20 28 2b 20 38 20 28 2a 20 28 2d 20 63 6f 6c 6f 72 20 32 33 32 29 20 31 30 t.((val.(+.8.(*.(-.color.232).10
75a0 29 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 28 66 6f 72 6d 61 74 20 22 23 25 30 32 78 25 30 ))))............(format."#%02x%0
75c0 32 78 25 30 32 78 22 20 76 61 6c 20 76 61 6c 20 76 61 6c 29 29 29 0a 20 20 20 20 20 20 20 20 28 2x%02x".val.val.val))).........(
75e0 28 3c 3d 20 63 6f 6c 6f 72 20 37 29 0a 20 20 20 20 20 20 20 20 20 3b 3b 20 4e 6f 72 6d 61 6c 20 (<=.color.7)..........;;.Normal.
7600 41 4e 53 49 20 63 6f 6c 6f 72 0a 20 20 20 20 20 20 20 20 20 28 61 72 65 66 20 78 74 65 72 6d 2d ANSI.color..........(aref.xterm-
7620 63 6f 6c 6f 72 2d 6e 61 6d 65 73 20 63 6f 6c 6f 72 29 29 0a 20 20 20 20 20 20 20 20 28 28 61 6e color-names.color)).........((an
7640 64 20 28 3e 3d 20 63 6f 6c 6f 72 20 38 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 3c 3d d.(>=.color.8)...............(<=
7660 20 63 6f 6c 6f 72 20 31 35 29 29 0a 20 20 20 20 20 20 20 20 20 3b 3b 20 42 72 69 67 68 74 20 41 .color.15))..........;;.Bright.A
7680 4e 53 49 20 63 6f 6c 6f 72 0a 20 20 20 20 20 20 20 20 20 28 61 72 65 66 20 78 74 65 72 6d 2d 63 NSI.color..........(aref.xterm-c
76a0 6f 6c 6f 72 2d 6e 61 6d 65 73 2d 62 72 69 67 68 74 20 28 2d 20 63 6f 6c 6f 72 20 38 29 29 29 0a olor-names-bright.(-.color.8))).
76c0 20 20 20 20 20 20 20 20 28 74 20 28 6c 65 74 2a 20 28 28 63 6f 6c 6f 72 20 20 28 2d 20 63 6f 6c ........(t.(let*.((color..(-.col
76e0 6f 72 20 31 36 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 72 65 64 20 20 or.16))...................(red..
7700 20 20 28 2f 20 63 6f 6c 6f 72 20 33 36 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ..(/.color.36)).................
7720 20 20 28 63 6f 6c 6f 72 20 20 28 6d 6f 64 20 63 6f 6c 6f 72 20 33 36 29 29 0a 20 20 20 20 20 20 ..(color..(mod.color.36)).......
7740 20 20 20 20 20 20 20 20 20 20 20 20 28 67 72 65 65 6e 20 20 28 2f 20 63 6f 6c 6f 72 20 36 29 29 ............(green..(/.color.6))
7760 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 63 6f 6c 6f 72 20 20 28 6d 6f 64 20 ...................(color..(mod.
7780 63 6f 6c 6f 72 20 36 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 62 6c 75 color.6))...................(blu
77a0 65 20 20 20 63 6f 6c 6f 72 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 3b 3b 20 58 54 45 52 e...color))..............;;.XTER
77c0 4d 20 32 35 36 20 63 6f 6c 6f 72 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 28 66 6f 72 6d 61 74 M.256.color..............(format
77e0 20 22 23 25 30 32 78 25 30 32 78 25 30 32 78 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ."#%02x%02x%02x"................
7800 20 20 20 20 20 20 28 61 72 65 66 20 2b 78 74 65 72 6d 2d 63 6f 6c 6f 72 2d 2d 74 61 62 6c 65 2d ......(aref.+xterm-color--table-
7820 32 35 36 2b 20 72 65 64 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 256+.red)......................(
7840 61 72 65 66 20 2b 78 74 65 72 6d 2d 63 6f 6c 6f 72 2d 2d 74 61 62 6c 65 2d 32 35 36 2b 20 67 72 aref.+xterm-color--table-256+.gr
7860 65 65 6e 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 61 72 65 66 20 een)......................(aref.
7880 2b 78 74 65 72 6d 2d 63 6f 6c 6f 72 2d 2d 74 61 62 6c 65 2d 32 35 36 2b 20 62 6c 75 65 29 29 29 +xterm-color--table-256+.blue)))
78a0 29 29 29 0a 0a 0a 3b 3b 3b 0a 3b 3b 3b 20 49 6e 74 65 72 61 63 74 69 76 65 0a 3b 3b 3b 0a 0a 0a )))...;;;.;;;.Interactive.;;;...
78c0 3b 3b 3b 23 23 23 61 75 74 6f 6c 6f 61 64 0a 28 63 6c 2d 64 65 66 75 6e 20 78 74 65 72 6d 2d 63 ;;;###autoload.(cl-defun.xterm-c
78e0 6f 6c 6f 72 2d 63 6f 6c 6f 72 69 7a 65 2d 62 75 66 66 65 72 20 28 26 6f 70 74 69 6f 6e 61 6c 20 olor-colorize-buffer.(&optional.
7900 75 73 65 2d 6f 76 65 72 6c 61 79 73 29 0a 20 20 22 41 70 70 6c 79 20 60 78 74 65 72 6d 2d 63 6f use-overlays)..."Apply.`xterm-co
7920 6c 6f 72 2d 66 69 6c 74 65 72 27 20 74 6f 20 63 75 72 72 65 6e 74 20 62 75 66 66 65 72 2c 20 61 lor-filter'.to.current.buffer,.a
7940 6e 64 20 72 65 70 6c 61 63 65 20 69 74 73 20 63 6f 6e 74 65 6e 74 73 2e 0a 43 6f 6c 6f 72 73 20 nd.replace.its.contents..Colors.
7960 61 72 65 20 61 70 70 6c 69 65 64 20 75 73 69 6e 67 20 5c 5c 3d 27 66 61 63 65 2c 20 75 6e 6c 65 are.applied.using.\\='face,.unle
7980 73 73 20 66 6f 6e 74 2d 6c 6f 63 6b 2d 6d 6f 64 65 20 69 73 20 61 63 74 69 76 65 2c 20 69 6e 0a ss.font-lock-mode.is.active,.in.
79a0 77 68 69 63 68 20 63 61 73 65 20 5c 5c 3d 27 66 6f 6e 74 2d 6c 6f 63 6b 2d 66 61 63 65 20 69 73 which.case.\\='font-lock-face.is
79c0 20 75 73 65 64 2e 20 4f 70 65 72 61 74 69 6f 6e 20 77 69 74 68 20 66 6f 6e 74 2d 6c 6f 63 6b 20 .used..Operation.with.font-lock.
79e0 6d 6f 64 65 20 61 63 74 69 76 65 0a 69 73 20 6e 6f 74 20 72 65 63 6f 6d 6d 65 6e 64 65 64 2e 0a mode.active.is.not.recommended..
7a00 0a 49 66 20 55 53 45 2d 4f 56 45 52 4c 41 59 53 20 69 73 20 6e 6f 6e 2d 6e 69 6c 2c 20 63 6f 6c .If.USE-OVERLAYS.is.non-nil,.col
7a20 6f 72 73 20 61 72 65 20 61 70 70 6c 69 65 64 20 74 6f 20 74 68 65 20 62 75 66 66 65 72 20 75 73 ors.are.applied.to.the.buffer.us
7a40 69 6e 67 20 6f 76 65 72 6c 61 79 73 0a 69 6e 73 74 65 61 64 20 6f 66 20 74 65 78 74 20 70 72 6f ing.overlays.instead.of.text.pro
7a60 70 65 72 74 69 65 73 2e 20 41 20 43 2d 75 20 70 72 65 66 69 78 20 61 72 67 20 63 61 75 73 65 73 perties..A.C-u.prefix.arg.causes
7a80 20 6f 76 65 72 6c 61 79 73 20 74 6f 20 62 65 20 75 73 65 64 2e 22 0a 20 20 28 69 6e 74 65 72 61 .overlays.to.be.used."...(intera
7aa0 63 74 69 76 65 20 22 50 22 29 0a 20 20 28 6c 65 74 20 28 28 72 65 61 64 2d 6f 6e 6c 79 2d 70 20 ctive."P")...(let.((read-only-p.
7ac0 62 75 66 66 65 72 2d 72 65 61 64 2d 6f 6e 6c 79 29 29 0a 20 20 20 20 28 77 68 65 6e 20 72 65 61 buffer-read-only)).....(when.rea
7ae0 64 2d 6f 6e 6c 79 2d 70 0a 20 20 20 20 20 20 28 75 6e 6c 65 73 73 20 28 79 2d 6f 72 2d 6e 2d 70 d-only-p.......(unless.(y-or-n-p
7b00 20 22 42 75 66 66 65 72 20 69 73 20 72 65 61 64 20 6f 6e 6c 79 2c 20 63 6f 6e 74 69 6e 75 65 20 ."Buffer.is.read.only,.continue.
7b20 63 6f 6c 6f 72 69 7a 69 6e 67 3f 20 22 29 0a 20 20 20 20 20 20 20 20 28 63 6c 2d 72 65 74 75 72 colorizing?.").........(cl-retur
7b40 6e 2d 66 72 6f 6d 20 78 74 65 72 6d 2d 63 6f 6c 6f 72 2d 63 6f 6c 6f 72 69 7a 65 2d 62 75 66 66 n-from.xterm-color-colorize-buff
7b60 65 72 29 29 0a 20 20 20 20 20 20 28 72 65 61 64 2d 6f 6e 6c 79 2d 6d 6f 64 65 20 2d 31 29 29 0a er)).......(read-only-mode.-1)).
7b80 20 20 20 20 28 69 6e 73 65 72 74 20 28 78 74 65 72 6d 2d 63 6f 6c 6f 72 2d 66 69 6c 74 65 72 20 ....(insert.(xterm-color-filter.
7ba0 28 64 65 6c 65 74 65 2d 61 6e 64 2d 65 78 74 72 61 63 74 2d 72 65 67 69 6f 6e 20 28 70 6f 69 6e (delete-and-extract-region.(poin
7bc0 74 2d 6d 69 6e 29 20 28 70 6f 69 6e 74 2d 6d 61 78 29 29 29 29 0a 20 20 20 20 28 77 68 65 6e 20 t-min).(point-max)))).....(when.
7be0 28 61 6e 64 20 78 74 65 72 6d 2d 63 6f 6c 6f 72 2d 72 65 6e 64 65 72 20 75 73 65 2d 6f 76 65 72 (and.xterm-color-render.use-over
7c00 6c 61 79 73 29 0a 20 20 20 20 20 20 28 78 74 65 72 6d 2d 63 6f 6c 6f 72 2d 2d 63 6f 6e 76 65 72 lays).......(xterm-color--conver
7c20 74 2d 74 65 78 74 2d 70 72 6f 70 65 72 74 69 65 73 2d 74 6f 2d 6f 76 65 72 6c 61 79 73 20 28 70 t-text-properties-to-overlays.(p
7c40 6f 69 6e 74 2d 6d 69 6e 29 20 28 70 6f 69 6e 74 2d 6d 61 78 29 29 29 0a 20 20 20 20 28 67 6f 74 oint-min).(point-max))).....(got
7c60 6f 2d 63 68 61 72 20 28 70 6f 69 6e 74 2d 6d 69 6e 29 29 0a 20 20 20 20 28 77 68 65 6e 20 72 65 o-char.(point-min)).....(when.re
7c80 61 64 2d 6f 6e 6c 79 2d 70 20 28 72 65 61 64 2d 6f 6e 6c 79 2d 6d 6f 64 65 20 31 29 29 29 29 0a ad-only-p.(read-only-mode.1)))).
7ca0 0a 3b 3b 3b 23 23 23 61 75 74 6f 6c 6f 61 64 0a 28 64 65 66 75 6e 20 78 74 65 72 6d 2d 63 6f 6c .;;;###autoload.(defun.xterm-col
7cc0 6f 72 2d 63 6c 65 61 72 2d 63 61 63 68 65 20 28 29 0a 20 20 22 43 6c 65 61 72 20 78 74 65 72 6d or-clear-cache.()..."Clear.xterm
7ce0 20 63 6f 6c 6f 72 20 66 61 63 65 20 61 74 74 72 69 62 75 74 65 20 63 61 63 68 65 2e 0a 59 6f 75 .color.face.attribute.cache..You
7d00 20 6d 61 79 20 77 61 6e 74 20 74 6f 20 63 61 6c 6c 20 74 68 69 73 20 69 66 20 79 6f 75 20 63 68 .may.want.to.call.this.if.you.ch
7d20 61 6e 67 65 20 60 78 74 65 72 6d 2d 63 6f 6c 6f 72 2d 6e 61 6d 65 73 27 20 6f 72 0a 60 78 74 65 ange.`xterm-color-names'.or.`xte
7d40 72 6d 2d 63 6f 6c 6f 72 2d 6e 61 6d 65 73 2d 62 72 69 67 68 74 27 20 61 74 20 72 75 6e 74 69 6d rm-color-names-bright'.at.runtim
7d60 65 20 61 6e 64 20 79 6f 75 20 77 61 6e 74 20 74 6f 20 73 65 65 20 74 68 65 20 63 68 61 6e 67 65 e.and.you.want.to.see.the.change
7d80 73 0a 74 61 6b 65 20 70 6c 61 63 65 20 69 6e 20 61 20 70 72 65 2d 65 78 69 73 74 69 6e 67 20 62 s.take.place.in.a.pre-existing.b
7da0 75 66 66 65 72 20 74 68 61 74 20 68 61 73 20 68 61 64 20 78 74 65 72 6d 2d 63 6f 6c 6f 72 20 69 uffer.that.has.had.xterm-color.i
7dc0 6e 69 74 69 61 6c 69 7a 65 64 2e 0a 0a 53 69 6e 63 65 20 74 68 65 20 63 61 63 68 65 20 69 73 20 nitialized...Since.the.cache.is.
7de0 62 75 66 66 65 72 2d 6c 6f 63 61 6c 20 61 6e 64 20 63 72 65 61 74 65 64 20 6f 6e 2d 64 65 6d 61 buffer-local.and.created.on-dema
7e00 6e 64 20 77 68 65 6e 20 6e 65 65 64 65 64 2c 20 74 68 69 73 20 68 61 73 20 6e 6f 0a 65 66 66 65 nd.when.needed,.this.has.no.effe
7e20 63 74 20 77 68 65 6e 20 63 61 6c 6c 65 64 20 66 72 6f 6d 20 61 20 62 75 66 66 65 72 20 74 68 61 ct.when.called.from.a.buffer.tha
7e40 74 20 64 6f 65 73 20 6e 6f 74 20 68 61 76 65 20 61 20 63 61 63 68 65 2e 22 0a 20 20 28 69 6e 74 t.does.not.have.a.cache."...(int
7e60 65 72 61 63 74 69 76 65 29 0a 20 20 28 61 6e 64 20 78 74 65 72 6d 2d 63 6f 6c 6f 72 2d 2d 66 61 eractive)...(and.xterm-color--fa
7e80 63 65 2d 63 61 63 68 65 0a 20 20 20 20 20 20 20 28 63 6c 72 68 61 73 68 20 78 74 65 72 6d 2d 63 ce-cache........(clrhash.xterm-c
7ea0 6f 6c 6f 72 2d 2d 66 61 63 65 2d 63 61 63 68 65 29 0a 20 20 20 20 20 20 20 28 78 74 65 72 6d 2d olor--face-cache)........(xterm-
7ec0 63 6f 6c 6f 72 2d 2d 6d 65 73 73 61 67 65 20 22 43 6c 65 61 72 65 64 20 66 61 63 65 20 61 74 74 color--message."Cleared.face.att
7ee0 72 69 62 75 74 65 20 63 61 63 68 65 22 29 29 0a 20 20 28 61 6e 64 20 78 74 65 72 6d 2d 63 6f 6c ribute.cache"))...(and.xterm-col
7f00 6f 72 2d 2d 74 72 75 65 63 6f 6c 6f 72 2d 66 61 63 65 2d 63 61 63 68 65 0a 20 20 20 20 20 20 20 or--truecolor-face-cache........
7f20 28 63 6c 72 68 61 73 68 20 78 74 65 72 6d 2d 63 6f 6c 6f 72 2d 2d 74 72 75 65 63 6f 6c 6f 72 2d (clrhash.xterm-color--truecolor-
7f40 66 61 63 65 2d 63 61 63 68 65 29 0a 20 20 20 20 20 20 20 28 78 74 65 72 6d 2d 63 6f 6c 6f 72 2d face-cache)........(xterm-color-
7f60 2d 6d 65 73 73 61 67 65 20 22 43 6c 65 61 72 65 64 20 74 72 75 65 63 6f 6c 6f 72 20 66 61 63 65 -message."Cleared.truecolor.face
7f80 20 61 74 74 72 69 62 75 74 65 20 63 61 63 68 65 22 29 29 29 0a 0a 0a 3b 3b 3b 0a 3b 3b 3b 20 54 .attribute.cache")))...;;;.;;;.T
7fa0 65 73 74 73 0a 3b 3b 3b 0a 0a 0a 28 64 65 66 6d 61 63 72 6f 20 78 74 65 72 6d 2d 63 6f 6c 6f 72 ests.;;;...(defmacro.xterm-color
7fc0 2d 2d 62 65 6e 63 68 20 28 70 61 74 68 20 26 6f 70 74 69 6f 6e 61 6c 20 72 65 70 65 74 69 74 69 --bench.(path.&optional.repetiti
7fe0 6f 6e 73 29 0a 20 20 60 28 62 65 6e 63 68 6d 61 72 6b 2d 72 75 6e 2d 63 6f 6d 70 69 6c 65 64 20 ons)...`(benchmark-run-compiled.
8000 2c 72 65 70 65 74 69 74 69 6f 6e 73 0a 20 20 20 20 20 28 77 69 74 68 2d 74 65 6d 70 2d 62 75 66 ,repetitions......(with-temp-buf
8020 66 65 72 0a 20 20 20 20 20 20 20 28 69 6e 73 65 72 74 2d 66 69 6c 65 2d 63 6f 6e 74 65 6e 74 73 fer........(insert-file-contents
8040 2d 6c 69 74 65 72 61 6c 6c 79 20 2c 70 61 74 68 29 0a 20 20 20 20 20 20 20 28 78 74 65 72 6d 2d -literally.,path)........(xterm-
8060 63 6f 6c 6f 72 2d 63 6f 6c 6f 72 69 7a 65 2d 62 75 66 66 65 72 29 29 29 29 0a 0a 28 64 65 66 76 color-colorize-buffer))))..(defv
8080 61 72 20 78 74 65 72 6d 2d 63 6f 6c 6f 72 2d 2d 74 65 73 74 2d 64 6f 2d 66 69 6c 74 65 72 20 74 ar.xterm-color--test-do-filter.t
80a0 29 0a 0a 28 63 6c 2d 64 65 66 6d 61 63 72 6f 20 78 74 65 72 6d 2d 63 6f 6c 6f 72 2d 2d 77 69 74 )..(cl-defmacro.xterm-color--wit
80c0 68 2d 74 65 73 74 73 20 28 26 62 6f 64 79 20 62 6f 64 79 29 0a 20 20 60 28 63 6c 2d 6c 61 62 65 h-tests.(&body.body)...`(cl-labe
80e0 6c 73 20 28 28 61 6e 73 69 2d 66 69 6c 74 65 72 20 28 6d 73 67 20 26 72 65 73 74 20 61 72 67 73 ls.((ansi-filter.(msg.&rest.args
8100 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 69 ).............................(i
8120 6e 73 65 72 74 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 nsert...........................
8140 20 20 20 28 69 66 20 78 74 65 72 6d 2d 63 6f 6c 6f 72 2d 2d 74 65 73 74 2d 64 6f 2d 66 69 6c 74 ...(if.xterm-color--test-do-filt
8160 65 72 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 er..............................
8180 20 20 20 20 28 78 74 65 72 6d 2d 63 6f 6c 6f 72 2d 66 69 6c 74 65 72 0a 20 20 20 20 20 20 20 20 ....(xterm-color-filter.........
81a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 61 70 70 6c 79 ..........................(apply
81c0 20 23 27 66 6f 72 6d 61 74 20 6d 73 67 20 61 72 67 73 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 .#'format.msg.args))............
81e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 61 70 70 6c 79 20 23 27 66 6f 72 ....................(apply.#'for
8200 6d 61 74 20 6d 73 67 20 61 72 67 73 29 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 mat.msg.args))))................
8220 28 74 65 73 74 20 28 6e 61 6d 65 20 26 72 65 73 74 20 61 74 74 72 69 62 73 29 0a 20 20 20 20 20 (test.(name.&rest.attribs)......
8240 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 61 6e 73 69 2d 66 69 6c 74 65 72 20 22 5c 78 ................(ansi-filter."\x
8260 31 62 5b 30 3b 25 73 6d 54 68 69 73 20 69 73 20 6f 6e 6c 79 20 61 20 74 65 73 74 21 5c 78 31 62 1b[0;%smThis.is.only.a.test!\x1b
8280 5b 30 6d 5c 74 20 2d 2d 5b 20 25 73 5c 6e 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 [0m\t.--[.%s\n".................
82a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6d 61 70 63 6f 6e 63 61 74 20 23 27 69 ..................(mapconcat.#'i
82c0 64 65 6e 74 69 74 79 20 61 74 74 72 69 62 73 20 22 3b 22 29 0a 20 20 20 20 20 20 20 20 20 20 20 dentity.attribs.";")............
82e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 6e 61 6d 65 29 29 29 0a 20 .......................name)))..
8300 20 20 20 20 2c 40 62 6f 64 79 29 29 0a 0a 28 64 65 66 75 6e 20 78 74 65 72 6d 2d 63 6f 6c 6f 72 ....,@body))..(defun.xterm-color
8320 2d 2d 74 65 73 74 2d 61 6e 73 69 20 28 29 0a 20 20 28 78 74 65 72 6d 2d 63 6f 6c 6f 72 2d 2d 77 --test-ansi.()...(xterm-color--w
8340 69 74 68 2d 74 65 73 74 73 0a 20 20 20 28 6c 65 74 20 28 28 74 65 73 74 2d 61 74 74 72 69 62 75 ith-tests....(let.((test-attribu
8360 74 65 73 0a 20 20 20 20 20 20 20 20 20 20 27 28 28 22 31 22 20 20 20 20 2e 20 22 62 72 69 67 68 tes...........'(("1"......"brigh
8380 74 22 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 22 35 31 22 20 20 20 2e 20 22 66 72 61 6d 65 t").............("51"....."frame
83a0 22 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 22 33 22 20 20 20 20 2e 20 22 69 74 61 6c 69 63 ").............("3"......"italic
83c0 22 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 22 34 22 20 20 20 20 2e 20 22 75 6e 64 65 72 6c ").............("4"......"underl
83e0 69 6e 65 22 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 22 37 22 20 20 20 20 2e 20 22 6e 65 67 ine").............("7"......"neg
8400 61 74 69 76 65 22 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 22 39 22 20 20 20 20 2e 20 22 73 ative").............("9"......"s
8420 74 72 69 6b 65 20 74 68 72 6f 75 67 68 22 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 22 35 33 trike.through").............("53
8440 22 20 20 20 2e 20 22 6f 76 65 72 6c 69 6e 65 22 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 22 "....."overline").............("
8460 31 3b 35 31 22 20 2e 20 22 62 72 69 67 68 74 20 2b 20 66 72 61 6d 65 22 29 0a 20 20 20 20 20 20 1;51"..."bright.+.frame").......
8480 20 20 20 20 20 20 28 22 31 3b 33 22 20 20 2e 20 22 62 72 69 67 68 74 20 2b 20 69 74 61 6c 69 63 ......("1;3"...."bright.+.italic
84a0 22 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 22 31 3b 34 22 20 20 2e 20 22 62 72 69 67 68 74 ").............("1;4"...."bright
84c0 20 2b 20 75 6e 64 65 72 6c 69 6e 65 22 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 22 31 3b 37 .+.underline").............("1;7
84e0 22 20 20 2e 20 22 62 72 69 67 68 74 20 2b 20 6e 65 67 61 74 69 76 65 22 29 0a 20 20 20 20 20 20 "...."bright.+.negative").......
8500 20 20 20 20 20 20 28 22 31 3b 39 22 20 20 2e 20 22 62 72 69 67 68 74 20 2b 20 73 74 72 69 6b 65 ......("1;9"...."bright.+.strike
8520 20 74 68 72 6f 75 67 68 22 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 22 31 3b 35 33 22 20 2e .through").............("1;53"..
8540 20 22 62 72 69 67 68 74 20 2b 20 6f 76 65 72 6c 69 6e 65 22 29 29 29 29 0a 0a 20 20 20 20 20 3b ."bright.+.overline")))).......;
8560 3b 20 41 74 74 72 69 62 75 74 65 73 20 28 6e 6f 20 63 6f 6c 6f 72 29 0a 20 20 20 20 20 28 69 6e ;.Attributes.(no.color)......(in
8580 73 65 72 74 20 22 2a 20 41 4e 53 49 20 61 74 74 72 69 62 75 74 65 73 20 28 64 65 66 61 75 6c 74 sert."*.ANSI.attributes.(default
85a0 20 63 6f 6c 6f 72 73 29 5c 6e 22 29 0a 0a 20 20 20 20 20 28 69 66 20 78 74 65 72 6d 2d 63 6f 6c .colors)\n").......(if.xterm-col
85c0 6f 72 2d 75 73 65 2d 62 6f 6c 64 2d 66 6f 72 2d 62 72 69 67 68 74 0a 20 20 20 20 20 20 20 20 20 or-use-bold-for-bright..........
85e0 28 69 6e 73 65 72 74 20 22 20 20 45 78 70 65 63 74 3a 20 42 6f 6c 64 20 69 6e 73 74 65 61 64 20 (insert."..Expect:.Bold.instead.
8600 6f 66 20 62 72 69 67 68 74 22 29 0a 20 20 20 20 20 20 20 28 69 6e 73 65 72 74 20 22 20 20 45 78 of.bright")........(insert."..Ex
8620 70 65 63 74 3a 20 42 72 69 67 68 74 20 6e 6f 74 20 74 6f 20 62 65 20 72 65 6e 64 65 72 65 64 20 pect:.Bright.not.to.be.rendered.
8640 73 69 6e 63 65 20 6e 6f 20 66 6f 72 65 67 72 6f 75 6e 64 20 63 6f 6c 6f 72 20 69 73 20 73 65 74 since.no.foreground.color.is.set
8660 22 29 29 0a 20 20 20 20 20 28 69 6e 73 65 72 74 20 22 5c 6e 5c 6e 22 29 0a 0a 20 20 20 20 20 28 "))......(insert."\n\n").......(
8680 63 6c 2d 6c 6f 6f 70 20 66 6f 72 20 28 61 74 74 72 69 62 20 2e 20 6e 61 6d 65 29 20 69 6e 20 74 cl-loop.for.(attrib...name).in.t
86a0 65 73 74 2d 61 74 74 72 69 62 75 74 65 73 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 64 6f 20 est-attributes...............do.
86c0 28 74 65 73 74 20 6e 61 6d 65 20 61 74 74 72 69 62 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 (test.name.attrib)..............
86e0 20 66 69 6e 61 6c 6c 79 20 28 69 6e 73 65 72 74 20 22 5c 6e 22 29 29 0a 0a 20 20 20 20 20 28 69 .finally.(insert."\n")).......(i
8700 6e 73 65 72 74 20 22 2a 20 41 4e 53 49 20 61 74 74 72 69 62 75 74 65 73 20 28 62 6c 75 65 20 66 nsert."*.ANSI.attributes.(blue.f
8720 6f 72 65 67 72 6f 75 6e 64 29 5c 6e 22 29 0a 0a 20 20 20 20 20 28 69 66 20 78 74 65 72 6d 2d 63 oreground)\n").......(if.xterm-c
8740 6f 6c 6f 72 2d 75 73 65 2d 62 6f 6c 64 2d 66 6f 72 2d 62 72 69 67 68 74 0a 20 20 20 20 20 20 20 olor-use-bold-for-bright........
8760 20 20 28 69 6e 73 65 72 74 20 22 20 20 45 78 70 65 63 74 3a 20 42 6f 6c 64 20 69 6e 73 74 65 61 ..(insert."..Expect:.Bold.instea
8780 64 20 6f 66 20 62 72 69 67 68 74 22 29 0a 20 20 20 20 20 20 20 28 69 6e 73 65 72 74 20 22 20 20 d.of.bright")........(insert."..
87a0 45 78 70 65 63 74 3a 20 42 72 69 67 68 74 20 72 65 6e 64 65 72 65 64 20 61 73 20 62 72 69 67 68 Expect:.Bright.rendered.as.brigh
87c0 74 20 63 6f 6c 6f 72 22 29 29 0a 20 20 20 20 20 28 69 6e 73 65 72 74 20 22 5c 6e 5c 6e 22 29 0a t.color"))......(insert."\n\n").
87e0 0a 20 20 20 20 20 28 63 6c 2d 6c 6f 6f 70 20 66 6f 72 20 28 61 74 74 72 69 62 20 2e 20 6e 61 6d ......(cl-loop.for.(attrib...nam
8800 65 29 20 69 6e 20 74 65 73 74 2d 61 74 74 72 69 62 75 74 65 73 0a 20 20 20 20 20 20 20 20 20 20 e).in.test-attributes...........
8820 20 20 20 20 64 6f 20 28 74 65 73 74 20 6e 61 6d 65 20 22 33 34 22 20 61 74 74 72 69 62 29 0a 20 ....do.(test.name."34".attrib)..
8840 20 20 20 20 20 20 20 20 20 20 20 20 20 66 69 6e 61 6c 6c 79 20 28 69 6e 73 65 72 74 20 22 5c 6e .............finally.(insert."\n
8860 22 29 29 0a 0a 20 20 20 20 20 28 69 6e 73 65 72 74 20 22 2a 20 41 4e 53 49 20 61 74 74 72 69 62 ")).......(insert."*.ANSI.attrib
8880 75 74 65 73 20 28 62 6c 75 65 20 62 61 63 6b 67 72 6f 75 6e 64 29 5c 6e 22 29 0a 0a 20 20 20 20 utes.(blue.background)\n")......
88a0 20 28 69 66 20 78 74 65 72 6d 2d 63 6f 6c 6f 72 2d 75 73 65 2d 62 6f 6c 64 2d 66 6f 72 2d 62 72 .(if.xterm-color-use-bold-for-br
88c0 69 67 68 74 0a 20 20 20 20 20 20 20 20 20 28 69 6e 73 65 72 74 20 22 20 20 45 78 70 65 63 74 3a ight..........(insert."..Expect:
88e0 20 42 6f 6c 64 20 69 6e 73 74 65 61 64 20 6f 66 20 62 72 69 67 68 74 22 29 0a 20 20 20 20 20 20 .Bold.instead.of.bright").......
8900 20 28 69 6e 73 65 72 74 20 22 20 20 45 78 70 65 63 74 3a 20 42 72 69 67 68 74 20 6e 6f 74 20 74 .(insert."..Expect:.Bright.not.t
8920 6f 20 62 65 20 72 65 6e 64 65 72 65 64 20 73 69 6e 63 65 20 6e 6f 20 66 6f 72 65 67 72 6f 75 6e o.be.rendered.since.no.foregroun
8940 64 20 63 6f 6c 6f 72 20 69 73 20 73 65 74 22 29 29 0a 20 20 20 20 20 28 69 6e 73 65 72 74 20 22 d.color.is.set"))......(insert."
8960 5c 6e 5c 6e 22 29 0a 0a 20 20 20 20 20 28 63 6c 2d 6c 6f 6f 70 20 66 6f 72 20 28 61 74 74 72 69 \n\n").......(cl-loop.for.(attri
8980 62 20 2e 20 6e 61 6d 65 29 20 69 6e 20 74 65 73 74 2d 61 74 74 72 69 62 75 74 65 73 0a 20 20 20 b...name).in.test-attributes....
89a0 20 20 20 20 20 20 20 20 20 20 20 64 6f 20 28 74 65 73 74 20 6e 61 6d 65 20 22 34 34 22 20 61 74 ...........do.(test.name."44".at
89c0 74 72 69 62 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 66 69 6e 61 6c 6c 79 20 28 69 6e 73 trib)...............finally.(ins
89e0 65 72 74 20 22 5c 6e 22 29 29 0a 0a 20 20 20 20 20 28 69 6e 73 65 72 74 20 22 2a 20 41 4e 53 49 ert."\n")).......(insert."*.ANSI
8a00 20 61 74 74 72 69 62 75 74 65 73 20 28 41 49 58 54 45 52 4d 20 62 6c 75 65 20 66 6f 72 65 67 72 .attributes.(AIXTERM.blue.foregr
8a20 6f 75 6e 64 29 5c 6e 22 29 0a 0a 20 20 20 20 20 28 69 66 20 78 74 65 72 6d 2d 63 6f 6c 6f 72 2d ound)\n").......(if.xterm-color-
8a40 75 73 65 2d 62 6f 6c 64 2d 66 6f 72 2d 62 72 69 67 68 74 0a 20 20 20 20 20 20 20 20 20 28 69 6e use-bold-for-bright..........(in
8a60 73 65 72 74 20 22 20 20 45 78 70 65 63 74 3a 20 42 6f 6c 64 20 69 6e 73 74 65 61 64 20 6f 66 20 sert."..Expect:.Bold.instead.of.
8a80 62 72 69 67 68 74 22 29 0a 20 20 20 20 20 20 20 28 69 6e 73 65 72 74 20 22 20 20 45 78 70 65 63 bright")........(insert."..Expec
8aa0 74 3a 20 42 72 69 67 68 74 20 63 6f 6c 6f 72 20 65 76 65 72 79 77 68 65 72 65 20 64 75 65 20 74 t:.Bright.color.everywhere.due.t
8ac0 6f 20 41 49 58 54 45 52 4d 22 29 29 0a 20 20 20 20 20 28 69 6e 73 65 72 74 20 22 5c 6e 5c 6e 22 o.AIXTERM"))......(insert."\n\n"
8ae0 29 0a 0a 20 20 20 20 20 28 63 6c 2d 6c 6f 6f 70 20 66 6f 72 20 28 61 74 74 72 69 62 20 2e 20 6e ).......(cl-loop.for.(attrib...n
8b00 61 6d 65 29 20 69 6e 20 74 65 73 74 2d 61 74 74 72 69 62 75 74 65 73 0a 20 20 20 20 20 20 20 20 ame).in.test-attributes.........
8b20 20 20 20 20 20 20 64 6f 20 28 74 65 73 74 20 6e 61 6d 65 20 22 39 34 22 20 61 74 74 72 69 62 29 ......do.(test.name."94".attrib)
8b40 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 66 69 6e 61 6c 6c 79 20 28 69 6e 73 65 72 74 20 22 ...............finally.(insert."
8b60 5c 6e 22 29 29 0a 0a 20 20 20 20 20 28 69 6e 73 65 72 74 20 22 2a 20 41 4e 53 49 20 61 74 74 72 \n")).......(insert."*.ANSI.attr
8b80 69 62 75 74 65 73 20 28 41 49 58 54 45 52 4d 20 72 65 64 20 62 61 63 6b 67 72 6f 75 6e 64 29 5c ibutes.(AIXTERM.red.background)\
8ba0 6e 22 29 0a 20 20 20 20 20 28 69 6e 73 65 72 74 20 22 20 20 45 78 70 65 63 74 3a 20 42 72 69 67 n")......(insert."..Expect:.Brig
8bc0 68 74 20 62 61 63 6b 67 72 6f 75 6e 64 20 63 6f 6c 6f 72 20 64 75 65 20 74 6f 20 41 49 58 54 45 ht.background.color.due.to.AIXTE
8be0 52 4d 5c 6e 22 29 0a 20 20 20 20 20 28 69 66 20 78 74 65 72 6d 2d 63 6f 6c 6f 72 2d 75 73 65 2d RM\n")......(if.xterm-color-use-
8c00 62 6f 6c 64 2d 66 6f 72 2d 62 72 69 67 68 74 0a 20 20 20 20 20 20 20 20 20 28 69 6e 73 65 72 74 bold-for-bright..........(insert
8c20 20 22 20 20 45 78 70 65 63 74 3a 20 42 6f 6c 64 20 69 6e 73 74 65 61 64 20 6f 66 20 62 72 69 67 ."..Expect:.Bold.instead.of.brig
8c40 68 74 20 66 6f 72 20 66 6f 72 65 67 72 6f 75 6e 64 5c 6e 5c 6e 22 29 0a 20 20 20 20 20 20 20 28 ht.for.foreground\n\n")........(
8c60 69 6e 73 65 72 74 20 22 5c 6e 22 29 29 0a 0a 20 20 20 20 20 28 63 6c 2d 6c 6f 6f 70 20 66 6f 72 insert."\n")).......(cl-loop.for
8c80 20 28 61 74 74 72 69 62 20 2e 20 6e 61 6d 65 29 20 69 6e 20 74 65 73 74 2d 61 74 74 72 69 62 75 .(attrib...name).in.test-attribu
8ca0 74 65 73 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 64 6f 20 28 74 65 73 74 20 6e 61 6d 65 20 tes...............do.(test.name.
8cc0 22 31 30 31 22 20 61 74 74 72 69 62 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 66 69 6e 61 "101".attrib)...............fina
8ce0 6c 6c 79 20 28 69 6e 73 65 72 74 20 22 5c 6e 22 29 29 0a 0a 20 20 20 20 20 28 69 6e 73 65 72 74 lly.(insert."\n")).......(insert
8d00 20 22 2a 20 4d 69 73 63 5c 6e 22 29 0a 20 20 20 20 20 28 69 66 20 78 74 65 72 6d 2d 63 6f 6c 6f ."*.Misc\n")......(if.xterm-colo
8d20 72 2d 75 73 65 2d 62 6f 6c 64 2d 66 6f 72 2d 62 72 69 67 68 74 0a 20 20 20 20 20 20 20 20 20 28 r-use-bold-for-bright..........(
8d40 70 72 6f 67 6e 0a 20 20 20 20 20 20 20 20 20 20 20 28 69 6e 73 65 72 74 20 22 20 20 45 78 70 65 progn............(insert."..Expe
8d60 63 74 3a 20 42 6f 6c 64 20 69 6e 73 74 65 61 64 20 6f 66 20 62 72 69 67 68 74 5c 6e 22 29 0a 20 ct:.Bold.instead.of.bright\n")..
8d80 20 20 20 20 20 20 20 20 20 20 28 69 6e 73 65 72 74 20 22 20 20 20 20 20 20 20 20 20 20 4f 74 68 ..........(insert."..........Oth
8da0 65 72 77 69 73 65 20 62 72 69 67 68 74 20 72 65 6e 64 65 72 65 64 20 61 73 20 6e 6f 72 6d 61 6c erwise.bright.rendered.as.normal
8dc0 20 69 6e 74 65 6e 73 69 74 79 5c 6e 5c 6e 22 29 29 0a 20 20 20 20 20 20 20 28 69 6e 73 65 72 74 .intensity\n\n"))........(insert
8de0 20 22 5c 6e 22 29 29 0a 0a 20 20 20 20 20 28 69 6e 73 65 72 74 20 22 3b 20 52 65 73 65 74 74 69 ."\n")).......(insert.";.Resetti
8e00 6e 67 20 46 47 20 63 6f 6c 6f 72 20 73 68 6f 75 6c 64 20 6e 6f 74 20 61 66 66 65 63 74 20 6f 74 ng.FG.color.should.not.affect.ot
8e20 68 65 72 20 53 47 52 20 62 69 74 73 5c 6e 22 29 0a 20 20 20 20 20 28 61 6e 73 69 2d 66 69 6c 74 her.SGR.bits\n")......(ansi-filt
8e40 65 72 20 22 44 65 66 61 75 6c 74 20 5c 78 31 62 5b 33 34 3b 31 6d 42 72 69 67 68 74 20 62 6c 75 er."Default.\x1b[34;1mBright.blu
8e60 65 5c 78 31 62 5b 33 39 6d 20 52 65 73 65 74 2d 66 67 2d 63 6f 6c 6f 72 20 5c 78 31 62 5b 33 34 e\x1b[39m.Reset-fg-color.\x1b[34
8e80 6d 42 6c 75 65 20 28 62 72 69 67 68 74 29 5c 78 31 62 5b 30 6d 5c 6e 5c 6e 22 29 0a 20 20 20 20 mBlue.(bright)\x1b[0m\n\n").....
8ea0 20 28 69 6e 73 65 72 74 20 22 3b 20 41 49 58 54 45 52 4d 20 62 72 69 67 68 74 20 63 6f 6c 6f 72 .(insert.";.AIXTERM.bright.color
8ec0 20 73 68 6f 75 6c 64 20 6e 6f 74 20 73 65 74 20 62 72 69 67 68 74 20 53 47 52 20 62 69 74 5c 6e .should.not.set.bright.SGR.bit\n
8ee0 22 29 0a 20 20 20 20 20 28 61 6e 73 69 2d 66 69 6c 74 65 72 20 22 44 65 66 61 75 6c 74 20 5c 78 ")......(ansi-filter."Default.\x
8f00 31 62 5b 39 34 6d 42 72 69 67 68 74 20 62 6c 75 65 5c 78 31 62 5b 33 34 6d 20 53 77 69 74 63 68 1b[94mBright.blue\x1b[34m.Switch
8f20 2d 74 6f 2d 62 6c 75 65 20 28 6e 6f 72 6d 61 6c 29 5c 78 31 62 5b 30 6d 5c 6e 22 29 0a 20 20 20 -to-blue.(normal)\x1b[0m\n")....
8f40 20 20 28 69 6e 73 65 72 74 20 22 5c 6e 22 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 78 74 65 72 6d ..(insert."\n"))))..(defun.xterm
8f60 2d 63 6f 6c 6f 72 2d 2d 74 65 73 74 2d 78 74 65 72 6d 20 28 29 0a 20 20 28 78 74 65 72 6d 2d 63 -color--test-xterm.()...(xterm-c
8f80 6f 6c 6f 72 2d 2d 77 69 74 68 2d 74 65 73 74 73 0a 20 20 20 3b 3b 20 53 79 73 74 65 6d 20 63 6f olor--with-tests....;;.System.co
8fa0 6c 6f 72 73 0a 20 20 20 28 63 6c 2d 6c 6f 6f 70 20 66 6f 72 20 63 6f 6c 6f 72 20 66 72 6f 6d 20 lors....(cl-loop.for.color.from.
8fc0 34 30 20 74 6f 20 34 37 0a 20 20 20 20 20 20 20 20 20 20 20 20 64 6f 20 28 61 6e 73 69 2d 66 69 40.to.47.............do.(ansi-fi
8fe0 6c 74 65 72 20 22 5c 78 31 62 5b 30 3b 25 73 6d 20 20 22 20 63 6f 6c 6f 72 29 0a 20 20 20 20 20 lter."\x1b[0;%sm..".color)......
9000 20 20 20 20 20 20 20 66 69 6e 61 6c 6c 79 20 28 61 6e 73 69 2d 66 69 6c 74 65 72 20 22 5c 78 31 .......finally.(ansi-filter."\x1
9020 62 5b 30 6d 20 2a 20 41 4e 53 49 20 73 79 73 74 65 6d 20 63 6f 6c 6f 72 73 5c 6e 22 29 29 0a 0a b[0m.*.ANSI.system.colors\n"))..
9040 20 20 20 3b 3b 20 4e 6f 72 6d 61 6c 20 41 4e 53 49 20 63 6f 6c 6f 72 73 20 6d 61 70 70 65 64 20 ...;;.Normal.ANSI.colors.mapped.
9060 74 6f 20 58 54 45 52 4d 0a 20 20 20 28 63 6c 2d 6c 6f 6f 70 20 66 6f 72 20 63 6f 6c 6f 72 20 66 to.XTERM....(cl-loop.for.color.f
9080 72 6f 6d 20 30 20 74 6f 20 37 0a 20 20 20 20 20 20 20 20 20 20 20 20 64 6f 20 28 61 6e 73 69 2d rom.0.to.7.............do.(ansi-
90a0 66 69 6c 74 65 72 20 22 5c 78 31 62 5b 34 38 3b 35 3b 25 73 6d 20 20 22 20 63 6f 6c 6f 72 29 0a filter."\x1b[48;5;%sm..".color).
90c0 20 20 20 20 20 20 20 20 20 20 20 20 66 69 6e 61 6c 6c 79 20 28 61 6e 73 69 2d 66 69 6c 74 65 72 ............finally.(ansi-filter
90e0 20 22 5c 78 31 62 5b 30 6d 20 2a 20 41 4e 53 49 20 63 6f 6c 6f 72 73 20 6d 61 70 70 65 64 20 74 ."\x1b[0m.*.ANSI.colors.mapped.t
9100 6f 20 58 54 45 52 4d 5c 6e 22 29 29 0a 0a 20 20 20 3b 3b 20 42 72 69 67 68 74 20 41 4e 53 49 20 o.XTERM\n")).....;;.Bright.ANSI.
9120 63 6f 6c 6f 72 73 20 6d 61 70 70 65 64 20 74 6f 20 58 54 45 52 4d 0a 20 20 20 28 63 6c 2d 6c 6f colors.mapped.to.XTERM....(cl-lo
9140 6f 70 20 66 6f 72 20 63 6f 6c 6f 72 20 66 72 6f 6d 20 38 20 74 6f 20 31 35 0a 20 20 20 20 20 20 op.for.color.from.8.to.15.......
9160 20 20 20 20 20 20 64 6f 20 28 61 6e 73 69 2d 66 69 6c 74 65 72 20 22 5c 78 31 62 5b 34 38 3b 35 ......do.(ansi-filter."\x1b[48;5
9180 3b 25 73 6d 20 20 22 20 63 6f 6c 6f 72 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 66 69 6e 61 6c ;%sm..".color).............final
91a0 6c 79 20 28 61 6e 73 69 2d 66 69 6c 74 65 72 20 22 5c 78 31 62 5b 30 6d 20 2a 20 41 4e 53 49 20 ly.(ansi-filter."\x1b[0m.*.ANSI.
91c0 62 72 69 67 68 74 20 63 6f 6c 6f 72 73 20 6d 61 70 70 65 64 20 74 6f 20 58 54 45 52 4d 5c 6e 5c bright.colors.mapped.to.XTERM\n\
91e0 6e 22 29 29 0a 0a 20 20 20 3b 3b 20 58 54 45 52 4d 20 32 35 36 20 63 6f 6c 6f 72 20 63 75 62 65 n")).....;;.XTERM.256.color.cube
9200 73 0a 20 20 20 28 69 6e 73 65 72 74 20 22 2a 20 20 58 54 45 52 4d 20 32 35 36 20 63 6f 6c 6f 72 s....(insert."*..XTERM.256.color
9220 20 63 75 62 65 73 5c 6e 5c 6e 22 29 0a 0a 20 20 20 28 63 6c 2d 6c 6f 6f 70 20 66 6f 72 20 67 72 .cubes\n\n").....(cl-loop.for.gr
9240 65 65 6e 20 66 72 6f 6d 20 30 20 74 6f 20 35 20 64 6f 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 een.from.0.to.5.do.............(
9260 63 6c 2d 6c 6f 6f 70 20 66 6f 72 20 72 65 64 20 66 72 6f 6d 20 30 20 74 6f 20 35 20 64 6f 0a 20 cl-loop.for.red.from.0.to.5.do..
9280 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 63 6c 2d 6c 6f 6f 70 20 66 6f 72 ....................(cl-loop.for
92a0 20 62 6c 75 65 20 66 72 6f 6d 20 30 20 74 6f 20 35 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .blue.from.0.to.5...............
92c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 66 6f 72 20 63 6f 6c 6f 72 20 3d 20 28 2b 20 31 ................for.color.=.(+.1
92e0 36 20 28 2a 20 33 36 20 72 65 64 29 20 28 2a 20 67 72 65 65 6e 20 36 29 20 62 6c 75 65 29 0a 20 6.(*.36.red).(*.green.6).blue)..
9300 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 64 6f 20 .............................do.
9320 28 61 6e 73 69 2d 66 69 6c 74 65 72 20 22 5c 78 31 62 5b 34 38 3b 35 3b 25 73 6d 20 20 5c 78 31 (ansi-filter."\x1b[48;5;%sm..\x1
9340 62 5b 30 6d 22 20 63 6f 6c 6f 72 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 b[0m".color))...................
9360 20 20 20 28 61 6e 73 69 2d 66 69 6c 74 65 72 20 22 5c 78 31 62 5b 30 6d 20 22 29 29 0a 20 20 20 ...(ansi-filter."\x1b[0m."))....
9380 20 20 20 20 20 20 20 20 20 28 69 6e 73 65 72 74 20 22 5c 6e 22 29 29 0a 0a 20 20 20 3b 3b 20 54 .........(insert."\n")).....;;.T
93a0 72 75 65 63 6f 6c 6f 72 20 63 6f 6c 6f 72 20 72 61 6d 70 73 0a 20 20 20 28 69 6e 73 65 72 74 20 ruecolor.color.ramps....(insert.
93c0 22 5c 6e 22 29 0a 20 20 20 28 69 6e 73 65 72 74 20 22 2a 20 20 54 72 75 65 63 6f 6c 6f 72 5c 6e "\n")....(insert."*..Truecolor\n
93e0 5c 6e 22 29 0a 20 20 20 28 63 6f 6e 64 20 28 78 74 65 72 6d 2d 63 6f 6c 6f 72 2d 2d 73 75 70 70 \n")....(cond.(xterm-color--supp
9400 6f 72 74 2d 74 72 75 65 63 6f 6c 6f 72 0a 20 20 20 20 20 20 20 20 20 20 3b 3b 20 41 64 61 70 74 ort-truecolor...........;;.Adapt
9420 65 64 20 66 72 6f 6d 3a 20 68 74 74 70 73 3a 2f 2f 67 69 73 74 2e 67 69 74 68 75 62 2e 63 6f 6d ed.from:.https://gist.github.com
9440 2f 58 56 69 6c 6b 61 2f 38 33 34 36 37 32 38 0a 20 20 20 20 20 20 20 20 20 20 28 63 6c 2d 6c 6f /XVilka/8346728...........(cl-lo
9460 6f 70 0a 20 20 20 20 20 20 20 20 20 20 20 77 69 74 68 20 73 74 65 70 73 20 3d 20 37 37 0a 20 20 op............with.steps.=.77...
9480 20 20 20 20 20 20 20 20 20 66 6f 72 20 63 20 66 72 6f 6d 20 30 20 62 65 6c 6f 77 20 73 74 65 70 .........for.c.from.0.below.step
94a0 73 0a 20 20 20 20 20 20 20 20 20 20 20 66 6f 72 20 72 20 3d 20 28 2d 20 32 35 35 20 28 2a 20 63 s............for.r.=.(-.255.(*.c
94c0 20 28 2f 20 32 35 35 20 73 74 65 70 73 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 66 6f 72 20 .(/.255.steps)))............for.
94e0 67 20 3d 20 28 2a 20 63 20 28 2f 20 35 31 30 20 73 74 65 70 73 29 29 0a 20 20 20 20 20 20 20 20 g.=.(*.c.(/.510.steps)).........
9500 20 20 20 66 6f 72 20 62 20 3d 20 28 2a 20 63 20 28 2f 20 32 35 35 20 73 74 65 70 73 29 29 20 64 ...for.b.=.(*.c.(/.255.steps)).d
9520 6f 0a 20 20 20 20 20 20 20 20 20 20 20 28 77 68 65 6e 20 28 3e 20 67 20 32 35 35 29 20 28 73 65 o............(when.(>.g.255).(se
9540 74 71 20 67 20 28 2d 20 35 31 30 20 67 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 28 61 6e 73 tq.g.(-.510.g)))............(ans
9560 69 2d 66 69 6c 74 65 72 20 22 5c 78 31 62 5b 34 38 3b 32 3b 25 73 3b 25 73 3b 25 73 6d 20 5c 78 i-filter."\x1b[48;2;%s;%s;%sm.\x
9580 31 62 5b 6d 22 20 72 20 67 20 62 29 29 29 0a 20 20 20 20 20 20 20 20 20 28 74 0a 20 20 20 20 20 1b[m".r.g.b)))..........(t......
95a0 20 20 20 20 20 28 69 6e 73 65 72 74 20 22 54 72 75 65 63 6f 6c 6f 72 20 69 73 20 6e 6f 74 20 73 .....(insert."Truecolor.is.not.s
95c0 75 70 70 6f 72 74 65 64 20 6f 6e 20 45 6d 61 63 73 20 33 32 62 69 74 22 29 29 29 0a 0a 20 20 20 upported.on.Emacs.32bit"))).....
95e0 28 69 6e 73 65 72 74 20 22 5c 6e 5c 6e 22 29 0a 20 20 20 28 69 6e 73 65 72 74 20 22 2a 20 20 58 (insert."\n\n")....(insert."*..X
9600 54 45 52 4d 20 63 6f 6c 6f 72 20 67 72 61 79 73 63 61 6c 65 20 72 61 6d 70 5c 6e 5c 6e 22 29 0a TERM.color.grayscale.ramp\n\n").
9620 0a 20 20 20 28 63 6c 2d 6c 6f 6f 70 20 66 6f 72 20 63 6f 6c 6f 72 20 66 72 6f 6d 20 32 33 32 20 ....(cl-loop.for.color.from.232.
9640 74 6f 20 32 35 35 0a 20 20 20 20 20 20 20 20 20 20 20 20 64 6f 20 28 61 6e 73 69 2d 66 69 6c 74 to.255.............do.(ansi-filt
9660 65 72 20 22 5c 78 31 62 5b 34 38 3b 35 3b 25 73 6d 20 20 22 20 63 6f 6c 6f 72 29 0a 20 20 20 20 er."\x1b[48;5;%sm..".color).....
9680 20 20 20 20 20 20 20 20 66 69 6e 61 6c 6c 79 20 28 61 6e 73 69 2d 66 69 6c 74 65 72 20 22 5c 78 ........finally.(ansi-filter."\x
96a0 31 62 5b 30 6d 5c 6e 5c 6e 22 29 29 29 29 0a 0a 3b 3b 3b 23 23 23 61 75 74 6f 6c 6f 61 64 0a 28 1b[0m\n\n"))))..;;;###autoload.(
96c0 64 65 66 75 6e 20 78 74 65 72 6d 2d 63 6f 6c 6f 72 2d 74 65 73 74 20 28 29 0a 20 20 22 43 72 65 defun.xterm-color-test.()..."Cre
96e0 61 74 65 2c 20 64 69 73 70 6c 61 79 20 61 6e 64 20 72 65 6e 64 65 72 20 61 20 6e 65 77 20 62 75 ate,.display.and.render.a.new.bu
9700 66 66 65 72 20 63 6f 6e 74 61 69 6e 69 6e 67 20 41 4e 53 49 20 63 6f 6e 74 72 6f 6c 20 73 65 71 ffer.containing.ANSI.control.seq
9720 75 65 6e 63 65 73 2e 22 0a 20 20 28 69 6e 74 65 72 61 63 74 69 76 65 29 0a 20 20 28 6c 65 74 2a uences."...(interactive)...(let*
9740 20 28 28 6e 61 6d 65 20 28 67 65 6e 65 72 61 74 65 2d 6e 65 77 2d 62 75 66 66 65 72 2d 6e 61 6d .((name.(generate-new-buffer-nam
9760 65 20 22 2a 78 74 65 72 6d 2d 63 6f 6c 6f 72 2d 74 65 73 74 2a 22 29 29 0a 20 20 20 20 20 20 20 e."*xterm-color-test*"))........
9780 20 20 28 62 75 66 20 28 67 65 74 2d 62 75 66 66 65 72 2d 63 72 65 61 74 65 20 6e 61 6d 65 29 29 ..(buf.(get-buffer-create.name))
97a0 29 0a 20 20 20 20 28 73 77 69 74 63 68 2d 74 6f 2d 62 75 66 66 65 72 20 62 75 66 29 29 0a 0a 20 ).....(switch-to-buffer.buf))...
97c0 20 28 78 74 65 72 6d 2d 63 6f 6c 6f 72 2d 2d 74 65 73 74 2d 78 74 65 72 6d 29 0a 0a 20 20 28 6c .(xterm-color--test-xterm)....(l
97e0 65 74 20 28 28 78 74 65 72 6d 2d 63 6f 6c 6f 72 2d 75 73 65 2d 62 6f 6c 64 2d 66 6f 72 2d 62 72 et.((xterm-color-use-bold-for-br
9800 69 67 68 74 20 6e 69 6c 29 29 0a 20 20 20 20 28 78 74 65 72 6d 2d 63 6f 6c 6f 72 2d 2d 74 65 73 ight.nil)).....(xterm-color--tes
9820 74 2d 61 6e 73 69 29 29 0a 20 20 28 78 74 65 72 6d 2d 63 6f 6c 6f 72 2d 63 6c 65 61 72 2d 63 61 t-ansi))...(xterm-color-clear-ca
9840 63 68 65 29 0a 0a 20 20 28 69 6e 73 65 72 74 20 22 3b 20 54 65 6d 70 6f 72 61 72 69 6c 79 20 73 che)....(insert.";.Temporarily.s
9860 65 74 74 69 6e 67 20 60 78 74 65 72 6d 2d 63 6f 6c 6f 72 2d 75 73 65 2d 62 6f 6c 64 2d 66 6f 72 etting.`xterm-color-use-bold-for
9880 2d 62 72 69 67 68 74 27 20 74 6f 20 54 5c 6e 22 29 0a 20 20 28 69 6e 73 65 72 74 20 22 3b 20 43 -bright'.to.T\n")...(insert.";.C
98a0 75 72 72 65 6e 74 20 66 6f 6e 74 20 6e 65 65 64 73 20 74 6f 20 68 61 76 65 20 61 20 62 6f 6c 64 urrent.font.needs.to.have.a.bold
98c0 20 76 61 72 69 61 6e 74 20 66 6f 72 20 66 6f 6c 6c 6f 77 69 6e 67 20 74 65 73 74 73 5c 6e 5c 6e .variant.for.following.tests\n\n
98e0 22 29 0a 0a 20 20 28 6c 65 74 20 28 28 78 74 65 72 6d 2d 63 6f 6c 6f 72 2d 75 73 65 2d 62 6f 6c ")....(let.((xterm-color-use-bol
9900 64 2d 66 6f 72 2d 62 72 69 67 68 74 20 74 29 29 0a 20 20 20 20 28 78 74 65 72 6d 2d 63 6f 6c 6f d-for-bright.t)).....(xterm-colo
9920 72 2d 2d 74 65 73 74 2d 61 6e 73 69 29 29 0a 0a 20 20 28 73 65 74 71 20 62 75 66 66 65 72 2d 72 r--test-ansi))....(setq.buffer-r
9940 65 61 64 2d 6f 6e 6c 79 20 74 29 0a 20 20 28 67 6f 74 6f 2d 63 68 61 72 20 28 70 6f 69 6e 74 2d ead-only.t)...(goto-char.(point-
9960 6d 69 6e 29 29 29 0a 0a 3b 3b 3b 23 23 23 61 75 74 6f 6c 6f 61 64 0a 28 64 65 66 75 6e 20 78 74 min)))..;;;###autoload.(defun.xt
9980 65 72 6d 2d 63 6f 6c 6f 72 2d 74 65 73 74 2d 72 61 77 20 28 29 0a 20 20 22 43 72 65 61 74 65 20 erm-color-test-raw.()..."Create.
99a0 61 6e 64 20 64 69 73 70 6c 61 79 20 61 20 6e 65 77 20 62 75 66 66 65 72 20 63 6f 6e 74 61 69 6e and.display.a.new.buffer.contain
99c0 69 6e 67 20 41 4e 53 49 20 53 47 52 20 63 6f 6e 74 72 6f 6c 20 73 65 71 75 65 6e 63 65 73 2e 0a ing.ANSI.SGR.control.sequences..
99e0 41 4e 53 49 20 73 65 71 75 65 6e 63 65 73 20 61 72 65 20 6e 6f 74 20 70 72 6f 63 65 73 73 65 64 ANSI.sequences.are.not.processed
9a00 2e 20 4f 6e 65 20 63 61 6e 20 75 73 65 20 61 20 64 69 66 66 65 72 65 6e 74 20 45 6d 61 63 73 20 ..One.can.use.a.different.Emacs.
9a20 70 61 63 6b 61 67 65 2c 0a 73 75 63 68 20 61 73 20 61 6e 73 69 2d 63 6f 6c 6f 72 2e 65 6c 20 74 package,.such.as.ansi-color.el.t
9a40 6f 20 64 6f 20 73 6f 2e 20 54 68 69 73 20 69 73 20 72 65 61 6c 6c 79 20 6d 65 61 6e 74 20 74 6f o.do.so..This.is.really.meant.to
9a60 20 62 65 20 75 73 65 64 20 66 6f 72 20 65 61 73 79 0a 63 6f 6d 70 61 72 69 73 6f 6e 73 2f 62 65 .be.used.for.easy.comparisons/be
9a80 6e 63 68 6d 61 72 6b 73 20 77 69 74 68 20 6c 69 62 72 61 72 69 65 73 20 74 68 61 74 20 6f 66 66 nchmarks.with.libraries.that.off
9aa0 65 72 20 73 69 6d 69 6c 61 72 20 66 75 6e 63 74 69 6f 6e 61 6c 69 74 79 2e 22 0a 20 20 28 69 6e er.similar.functionality."...(in
9ac0 74 65 72 61 63 74 69 76 65 29 0a 20 20 28 6c 65 74 2a 20 28 28 6e 61 6d 65 20 28 67 65 6e 65 72 teractive)...(let*.((name.(gener
9ae0 61 74 65 2d 6e 65 77 2d 62 75 66 66 65 72 2d 6e 61 6d 65 20 22 2a 78 74 65 72 6d 2d 63 6f 6c 6f ate-new-buffer-name."*xterm-colo
9b00 72 2d 74 65 73 74 2d 72 61 77 2a 22 29 29 0a 20 20 20 20 20 20 20 20 20 28 62 75 66 20 28 67 65 r-test-raw*"))..........(buf.(ge
9b20 74 2d 62 75 66 66 65 72 2d 63 72 65 61 74 65 20 6e 61 6d 65 29 29 29 0a 20 20 20 20 28 73 77 69 t-buffer-create.name))).....(swi
9b40 74 63 68 2d 74 6f 2d 62 75 66 66 65 72 20 62 75 66 29 29 0a 0a 20 20 28 6c 65 74 20 28 78 74 65 tch-to-buffer.buf))....(let.(xte
9b60 72 6d 2d 63 6f 6c 6f 72 2d 2d 74 65 73 74 2d 64 6f 2d 66 69 6c 74 65 72 29 0a 20 20 20 20 28 78 rm-color--test-do-filter).....(x
9b80 74 65 72 6d 2d 63 6f 6c 6f 72 2d 2d 74 65 73 74 2d 78 74 65 72 6d 29 0a 20 20 20 20 28 78 74 65 term-color--test-xterm).....(xte
9ba0 72 6d 2d 63 6f 6c 6f 72 2d 2d 74 65 73 74 2d 61 6e 73 69 29 29 0a 20 20 28 67 6f 74 6f 2d 63 68 rm-color--test-ansi))...(goto-ch
9bc0 61 72 20 28 70 6f 69 6e 74 2d 6d 69 6e 29 29 29 0a 0a 28 70 72 6f 76 69 64 65 20 27 78 74 65 72 ar.(point-min)))..(provide.'xter
9be0 6d 2d 63 6f 6c 6f 72 29 0a 3b 3b 3b 20 78 74 65 72 6d 2d 63 6f 6c 6f 72 2e 65 6c 20 65 6e 64 73 m-color).;;;.xterm-color.el.ends
9c00 20 68 65 72 65 0a 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .here...........................
9c20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
9c40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
9c60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
9c80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
9ca0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
9cc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
9ce0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
9d00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
9d20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
9d40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
9d60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
9d80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
9da0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
9dc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
9de0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
9e00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
9e20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
9e40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
9e60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
9e80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
9ea0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
9ec0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
9ee0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
9f00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
9f20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
9f40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
9f60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
9f80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
9fa0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
9fc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
9fe0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a000 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a020 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a040 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a060 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a080 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a0a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a0c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a0e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a100 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a120 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a140 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a160 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a180 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a1a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a1c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a1e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a200 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a220 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a240 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a260 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a280 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a2a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a2c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a2e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a300 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a320 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a340 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a360 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a380 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a3a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a3c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a3e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a400 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a420 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a440 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a460 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a480 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a4a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a4c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a4e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a500 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a520 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a540 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a560 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a580 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a5a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a5c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a5e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a600 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a620 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a640 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a660 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a680 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a6a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a6c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a6e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a700 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a720 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a740 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a760 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a780 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a7a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a7c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a7e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a800 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a820 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a840 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a860 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a880 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a8a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a8c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a8e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a900 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a920 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a940 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a960 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a980 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a9a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a9c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a9e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
aa00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
aa20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
aa40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
aa60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
aa80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
aaa0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
aac0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
aae0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
ab00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
ab20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
ab40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
ab60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
ab80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
aba0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
abc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
abe0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
ac00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
ac20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
ac40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
ac60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
ac80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
aca0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
acc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
ace0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
ad00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
ad20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
ad40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
ad60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
ad80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
ada0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
adc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
ade0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
ae00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
ae20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
ae40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
ae60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
ae80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
aea0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
aec0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
aee0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
af00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
af20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
af40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
af60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
af80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
afa0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
afc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
afe0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b000 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b020 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b040 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b060 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b080 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b0a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b0c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b0e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b100 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b120 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b140 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b160 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b180 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b1a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b1c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b1e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b200 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b220 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b240 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b260 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b280 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b2a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b2c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b2e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b300 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b320 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b340 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b360 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b380 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b3a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b3c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b3e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b400 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b420 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b440 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b460 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b480 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b4a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b4c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b4e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b500 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b520 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b540 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b560 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b580 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b5a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b5c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b5e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b600 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b620 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b640 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b660 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b680 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b6a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b6c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b6e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b700 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b720 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b740 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b760 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b780 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b7a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b7c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b7e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b800 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b820 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b840 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b860 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b880 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b8a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b8c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b8e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b900 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b920 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b940 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b960 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b980 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b9a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b9c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b9e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
ba00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
ba20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
ba40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
ba60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
ba80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
baa0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
bac0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
bae0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
bb00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
bb20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
bb40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
bb60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
bb80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
bba0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
bbc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
bbe0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
bc00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
bc20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
bc40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
bc60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
bc80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
bca0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
bcc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
bce0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
bd00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
bd20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
bd40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
bd60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
bd80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
bda0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
bdc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
bde0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
be00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
be20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
be40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
be60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
be80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
bea0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
bec0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
bee0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
bf00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
bf20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
bf40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
bf60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
bf80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
bfa0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
bfc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
bfe0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
c000 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
c020 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
c040 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
c060 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
c080 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
c0a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
c0c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
c0e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
c100 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
c120 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
c140 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
c160 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
c180 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
c1a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
c1c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
c1e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
c200 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
c220 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
c240 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
c260 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
c280 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
c2a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
c2c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
c2e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
c300 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
c320 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
c340 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
c360 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
c380 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
c3a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
c3c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
c3e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
c400 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
c420 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
c440 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
c460 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
c480 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
c4a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
c4c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
c4e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
c500 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
c520 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
c540 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
c560 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
c580 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
c5a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
c5c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
c5e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
c600 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
c620 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
c640 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
c660 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
c680 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
c6a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
c6c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
c6e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
c700 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
c720 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
c740 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
c760 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
c780 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
c7a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
c7c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
c7e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................