This commit was manufactured by cvs2svn to create branch
authortomo <tomo>
Sun, 23 Aug 1998 01:37:40 +0000 (01:37 +0000)
committertomo <tomo>
Sun, 23 Aug 1998 01:37:40 +0000 (01:37 +0000)
'unlabeled-1.7.2.37.2.25.2'.

51 files changed:
COLORS [deleted file]
DOODLE-TIPS [deleted file]
DOODLE-VERSION [deleted file]
FLIM-CFG [deleted file]
FLIM-ELS [deleted file]
FLIM-MK [deleted file]
FLIM-VERSION [deleted file]
Makefile [deleted file]
README.en [deleted file]
TESTPAT [deleted file]
automata.el [deleted file]
closure.el [deleted file]
digraph.el [deleted file]
ew-data.el [deleted file]
ew-dec.el [deleted file]
ew-line.el [deleted file]
ew-parse.el [deleted file]
ew-parse.scm [deleted file]
ew-quote.el [deleted file]
ew-scan-m.el [deleted file]
ew-scan-s.el [deleted file]
ew-scan-u.el [deleted file]
ew-unit.el [deleted file]
ew-util.el [deleted file]
ew-var.el [deleted file]
eword-decode.el [deleted file]
eword-encode.el [deleted file]
ftp.in [deleted file]
lalr-el.scm [deleted file]
lex.el [deleted file]
lr-driver.el [deleted file]
mailcap.el [deleted file]
mel-b.el [deleted file]
mel-dl.el [deleted file]
mel-g.el [deleted file]
mel-q.el [deleted file]
mel-u.el [deleted file]
mel.el [deleted file]
mime-def.el [deleted file]
mime-en.sgml [deleted file]
mime-en.texi [deleted file]
mime-ja.sgml [deleted file]
mime-ja.texi [deleted file]
mime-lib.el [deleted file]
mime-parse.el [deleted file]
mime.el [deleted file]
mmbuffer.el [deleted file]
mmcooked.el [deleted file]
natset.el [deleted file]
rx.el [deleted file]
std11.el [deleted file]

diff --git a/COLORS b/COLORS
deleted file mode 100644 (file)
index 909f80b..0000000
--- a/COLORS
+++ /dev/null
@@ -1,3179 +0,0 @@
-#V C  H    HVC       xyY
-9  6  97.5 2.5R9/6   CIExyY:0.3665/0.3183/0.7866
-9  6  0    5R9/6     CIExyY:0.3734/0.3256/0.7866
-9  6  2.5  7.5R9/6   CIExyY:0.3812/0.3348/0.7866
-9  6  5    10R9/6    CIExyY:0.388/0.3439/0.7866
-9  4  97.5 2.5R9/4   CIExyY:0.3445/0.3179/0.7866
-9  4  0    5R9/4     CIExyY:0.3495/0.3226/0.7866
-9  4  2.5  7.5R9/4   CIExyY:0.3551/0.3283/0.7866
-9  4  5    10R9/4    CIExyY:0.36/0.3348/0.7866
-9  2  97.5 2.5R9/2   CIExyY:0.322/0.3168/0.7866
-9  2  0    5R9/2     CIExyY:0.324/0.3188/0.7866
-9  2  2.5  7.5R9/2   CIExyY:0.3263/0.321/0.7866
-9  2  5    10R9/2    CIExyY:0.3284/0.3233/0.7866
-9  1  0    5R9/1     CIExyY:0.3148/0.3173/0.7866
-9  1  5    10R9/1    CIExyY:0.3165/0.3188/0.7866
-8  10 97.5 2.5R8/10  CIExyY:0.4125/0.316/0.591
-8  10 0    5R8/10    CIExyY:0.4249/0.327/0.591
-8  10 2.5  7.5R8/10  CIExyY:0.4388/0.3419/0.591
-8  10 5    10R8/10   CIExyY:0.449/0.3589/0.591
-8  8  97.5 2.5R8/8   CIExyY:0.39/0.3171/0.591
-8  8  0    5R8/8     CIExyY:0.4001/0.3263/0.591
-8  8  2.5  7.5R8/8   CIExyY:0.4118/0.3385/0.591
-8  8  5    10R8/8    CIExyY:0.4212/0.3526/0.591
-8  6  97.5 2.5R8/6   CIExyY:0.3671/0.3175/0.591
-8  6  0    5R8/6     CIExyY:0.3743/0.3248/0.591
-8  6  2.5  7.5R8/6   CIExyY:0.383/0.3335/0.591
-8  6  5    10R8/6    CIExyY:0.391/0.3442/0.591
-8  4  97.5 2.5R8/4   CIExyY:0.346/0.3177/0.591
-8  4  0    5R8/4     CIExyY:0.351/0.3224/0.591
-8  4  2.5  7.5R8/4   CIExyY:0.3564/0.3279/0.591
-8  4  5    10R8/4    CIExyY:0.3621/0.3349/0.591
-8  3  97.5 2.5R8/3   CIExyY:0.3343/0.3174/0.591
-8  3  0    5R8/3     CIExyY:0.3377/0.3205/0.591
-8  3  2.5  7.5R8/3   CIExyY:0.3415/0.3244/0.591
-8  3  5    10R8/3    CIExyY:0.3455/0.3292/0.591
-8  2  97.5 2.5R8/2   CIExyY:0.3236/0.3169/0.591
-8  2  0    5R8/2     CIExyY:0.3254/0.3186/0.591
-8  2  2.5  7.5R8/2   CIExyY:0.3277/0.3211/0.591
-8  2  5    10R8/2    CIExyY:0.3301/0.3237/0.591
-8  1  0    5R8/1     CIExyY:0.3157/0.3171/0.591
-8  1  5    10R8/1    CIExyY:0.3177/0.3192/0.591
-7  16 97.5 2.5R7/16  CIExyY:0.4885/0.3039/0.4306
-7  16 2.5  7.5R7/16  CIExyY:0.5341/0.3452/0.4306
-7  16 5    10R7/16   CIExyY:0.5519/0.3729/0.4306
-7  14 97.5 2.5R7/14  CIExyY:0.466/0.3082/0.4306
-7  14 0    5R7/14    CIExyY:0.4848/0.3238/0.4306
-7  14 2.5  7.5R7/14  CIExyY:0.5059/0.345/0.4306
-7  14 5    10R7/14   CIExyY:0.5234/0.37/0.4306
-7  12 97.5 2.5R7/12  CIExyY:0.4435/0.3119/0.4306
-7  12 0    5R7/12    CIExyY:0.4595/0.3252/0.4306
-7  12 2.5  7.5R7/12  CIExyY:0.4777/0.3435/0.4306
-7  12 5    10R7/12   CIExyY:0.493/0.3659/0.4306
-7  10 97.5 2.5R7/10  CIExyY:0.4183/0.3144/0.4306
-7  10 0    5R7/10    CIExyY:0.432/0.326/0.4306
-7  10 2.5  7.5R7/10  CIExyY:0.447/0.3413/0.4306
-7  10 5    10R7/10   CIExyY:0.46/0.3596/0.4306
-7  8  97.5 2.5R7/8   CIExyY:0.3961/0.316/0.4306
-7  8  0    5R7/8     CIExyY:0.4067/0.3256/0.4306
-7  8  2.5  7.5R7/8   CIExyY:0.4196/0.3382/0.4306
-7  8  5    10R7/8    CIExyY:0.4308/0.3533/0.4306
-7  6  97.5 2.5R7/6   CIExyY:0.3728/0.317/0.4306
-7  6  0    5R7/6     CIExyY:0.3805/0.3244/0.4306
-7  6  2.5  7.5R7/6   CIExyY:0.3888/0.3336/0.4306
-7  6  5    10R7/6    CIExyY:0.3984/0.3452/0.4306
-7  4  97.5 2.5R7/4   CIExyY:0.3499/0.3171/0.4306
-7  4  0    5R7/4     CIExyY:0.3552/0.3222/0.4306
-7  4  2.5  7.5R7/4   CIExyY:0.3611/0.3282/0.4306
-7  4  5    10R7/4    CIExyY:0.3671/0.336/0.4306
-7  3  97.5 2.5R7/3   CIExyY:0.3389/0.3171/0.4306
-7  3  0    5R7/3     CIExyY:0.3426/0.3206/0.4306
-7  3  2.5  7.5R7/3   CIExyY:0.347/0.3251/0.4306
-7  3  5    10R7/3    CIExyY:0.3512/0.3306/0.4306
-7  2  97.5 2.5R7/2   CIExyY:0.3284/0.317/0.4306
-7  2  0    5R7/2     CIExyY:0.3306/0.319/0.4306
-7  2  2.5  7.5R7/2   CIExyY:0.3335/0.322/0.4306
-7  2  5    10R7/2    CIExyY:0.336/0.3253/0.4306
-7  1  0    5R7/1     CIExyY:0.3196/0.3175/0.4306
-7  1  5    10R7/1    CIExyY:0.3221/0.3204/0.4306
-6  18 97.5 2.5R6/18  CIExyY:0.5262/0.2928/0.3005
-6  18 0    5R6/18    CIExyY:0.5552/0.3138/0.3005
-6  18 2.5  7.5R6/18  CIExyY:0.5829/0.3396/0.3005
-6  18 5    10R6/18   CIExyY:0.6009/0.372/0.3005
-6  16 97.5 2.5R6/16  CIExyY:0.5041/0.2983/0.3005
-6  16 0    5R6/16    CIExyY:0.5297/0.3179/0.3005
-6  16 2.5  7.5R6/16  CIExyY:0.556/0.342/0.3005
-6  16 5    10R6/16   CIExyY:0.5741/0.3713/0.3005
-6  14 97.5 2.5R6/14  CIExyY:0.479/0.3041/0.3005
-6  14 0    5R6/14    CIExyY:0.502/0.3212/0.3005
-6  14 2.5  7.5R6/14  CIExyY:0.5265/0.3431/0.3005
-6  14 5    10R6/14   CIExyY:0.5468/0.3697/0.3005
-6  12 97.5 2.5R6/12  CIExyY:0.4568/0.3082/0.3005
-6  12 0    5R6/12    CIExyY:0.476/0.3234/0.3005
-6  12 2.5  7.5R6/12  CIExyY:0.4961/0.3428/0.3005
-6  12 5    10R6/12   CIExyY:0.515/0.3667/0.3005
-6  10 97.5 2.5R6/10  CIExyY:0.432/0.3118/0.3005
-6  10 0    5R6/10    CIExyY:0.448/0.325/0.3005
-6  10 2.5  7.5R6/10  CIExyY:0.4655/0.3412/0.3005
-6  10 5    10R6/10   CIExyY:0.4812/0.3619/0.3005
-6  8  97.5 2.5R6/8   CIExyY:0.4065/0.3144/0.3005
-6  8  0    5R6/8     CIExyY:0.4187/0.3251/0.3005
-6  8  2.5  7.5R6/8   CIExyY:0.4318/0.3383/0.3005
-6  8  5    10R6/8    CIExyY:0.4449/0.355/0.3005
-6  6  97.5 2.5R6/6   CIExyY:0.3832/0.3158/0.3005
-6  6  0    5R6/6     CIExyY:0.3921/0.3244/0.3005
-6  6  2.5  7.5R6/6   CIExyY:0.4/0.334/0.3005
-6  6  5    10R6/6    CIExyY:0.4103/0.3473/0.3005
-6  4  97.5 2.5R6/4   CIExyY:0.3566/0.3163/0.3005
-6  4  0    5R6/4     CIExyY:0.3628/0.3221/0.3005
-6  4  2.5  7.5R6/4   CIExyY:0.3692/0.3291/0.3005
-6  4  5    10R6/4    CIExyY:0.3768/0.3381/0.3005
-6  3  97.5 2.5R6/3   CIExyY:0.3439/0.3165/0.3005
-6  3  0    5R6/3     CIExyY:0.3482/0.3206/0.3005
-6  3  2.5  7.5R6/3   CIExyY:0.3535/0.3261/0.3005
-6  3  5    10R6/3    CIExyY:0.3591/0.3325/0.3005
-6  2  97.5 2.5R6/2   CIExyY:0.3318/0.3166/0.3005
-6  2  0    5R6/2     CIExyY:0.3343/0.319/0.3005
-6  2  2.5  7.5R6/2   CIExyY:0.3381/0.3228/0.3005
-6  2  5    10R6/2    CIExyY:0.3417/0.3268/0.3005
-6  1  0    5R6/1     CIExyY:0.3214/0.3175/0.3005
-6  1  5    10R6/1    CIExyY:0.3251/0.3213/0.3005
-5  20 97.5 2.5R5/20  CIExyY:0.5784/0.2719/0.1977
-5  20 0    5R5/20    CIExyY:0.6142/0.297/0.1977
-5  20 2.5  7.5R5/20  CIExyY:0.6388/0.3216/0.1977
-5  18 97.5 2.5R5/18  CIExyY:0.554/0.2804/0.1977
-5  18 0    5R5/18    CIExyY:0.5918/0.3033/0.1977
-5  18 2.5  7.5R5/18  CIExyY:0.6161/0.3277/0.1977
-5  18 5    10R5/18   CIExyY:0.6297/0.3642/0.1977
-5  16 97.5 2.5R5/16  CIExyY:0.53/0.288/0.1977
-5  16 0    5R5/16    CIExyY:0.5637/0.3102/0.1977
-5  16 2.5  7.5R5/16  CIExyY:0.5901/0.3331/0.1977
-5  16 5    10R5/16   CIExyY:0.6037/0.3657/0.1977
-5  14 97.5 2.5R5/14  CIExyY:0.5047/0.295/0.1977
-5  14 0    5R5/14    CIExyY:0.5341/0.3158/0.1977
-5  14 2.5  7.5R5/14  CIExyY:0.559/0.337/0.1977
-5  14 5    10R5/14   CIExyY:0.5771/0.3664/0.1977
-5  12 97.5 2.5R5/12  CIExyY:0.482/0.3002/0.1977
-5  12 0    5R5/12    CIExyY:0.5071/0.3194/0.1977
-5  12 2.5  7.5R5/12  CIExyY:0.528/0.3389/0.1977
-5  12 5    10R5/12   CIExyY:0.5481/0.366/0.1977
-5  10 97.5 2.5R5/10  CIExyY:0.4533/0.3058/0.1977
-5  10 0    5R5/10    CIExyY:0.4747/0.3227/0.1977
-5  10 2.5  7.5R5/10  CIExyY:0.4927/0.3399/0.1977
-5  10 5    10R5/10   CIExyY:0.5113/0.363/0.1977
-5  8  97.5 2.5R5/8   CIExyY:0.4252/0.3101/0.1977
-5  8  0    5R5/8     CIExyY:0.4413/0.324/0.1977
-5  8  2.5  7.5R5/8   CIExyY:0.4563/0.3387/0.1977
-5  8  5    10R5/8    CIExyY:0.4713/0.3575/0.1977
-5  6  97.5 2.5R5/6   CIExyY:0.396/0.313/0.1977
-5  6  0    5R5/6     CIExyY:0.4078/0.3238/0.1977
-5  6  2.5  7.5R5/6   CIExyY:0.418/0.3348/0.1977
-5  6  5    10R5/6    CIExyY:0.4299/0.3499/0.1977
-5  4  97.5 2.5R5/4   CIExyY:0.366/0.3148/0.1977
-5  4  0    5R5/4     CIExyY:0.374/0.322/0.1977
-5  4  2.5  7.5R5/4   CIExyY:0.3806/0.3294/0.1977
-5  4  5    10R5/4    CIExyY:0.3879/0.3398/0.1977
-5  3  97.5 2.5R5/3   CIExyY:0.3507/0.3154/0.1977
-5  3  0    5R5/3     CIExyY:0.3563/0.3207/0.1977
-5  3  2.5  7.5R5/3   CIExyY:0.3612/0.3262/0.1977
-5  3  5    10R5/3    CIExyY:0.3668/0.3339/0.1977
-5  2  97.5 2.5R5/2   CIExyY:0.336/0.3158/0.1977
-5  2  0    5R5/2     CIExyY:0.3392/0.3192/0.1977
-5  2  2.5  7.5R5/2   CIExyY:0.3425/0.3229/0.1977
-5  2  5    10R5/2    CIExyY:0.3465/0.3278/0.1977
-5  1  0    5R5/1     CIExyY:0.3235/0.3177/0.1977
-5  1  5    10R5/1    CIExyY:0.3274/0.3218/0.1977
-4  20 2.5  7.5R4/20  CIExyY:0.6806/0.2988/0.12
-4  18 97.5 2.5R4/18  CIExyY:0.5898/0.2622/0.12
-4  18 0    5R4/18    CIExyY:0.6329/0.2881/0.12
-4  18 2.5  7.5R4/18  CIExyY:0.6538/0.31/0.12
-4  16 97.5 2.5R4/16  CIExyY:0.562/0.2724/0.12
-4  16 0    5R4/16    CIExyY:0.6039/0.2978/0.12
-4  16 2.5  7.5R4/16  CIExyY:0.626/0.3192/0.12
-4  16 5    10R4/16   CIExyY:0.6409/0.3533/0.12
-4  14 97.5 2.5R4/14  CIExyY:0.5369/0.281/0.12
-4  14 0    5R4/14    CIExyY:0.5734/0.3057/0.12
-4  14 2.5  7.5R4/14  CIExyY:0.5959/0.3269/0.12
-4  14 5    10R4/14   CIExyY:0.6154/0.3568/0.12
-4  12 97.5 2.5R4/12  CIExyY:0.5072/0.2897/0.12
-4  12 0    5R4/12    CIExyY:0.5385/0.3129/0.12
-4  12 2.5  7.5R4/12  CIExyY:0.5603/0.3321/0.12
-4  12 5    10R4/12   CIExyY:0.5801/0.3588/0.12
-4  10 97.5 2.5R4/10  CIExyY:0.4774/0.2969/0.12
-4  10 0    5R4/10    CIExyY:0.5043/0.3176/0.12
-4  10 2.5  7.5R4/10  CIExyY:0.5235/0.3351/0.12
-4  10 5    10R4/10   CIExyY:0.5418/0.358/0.12
-4  8  97.5 2.5R4/8   CIExyY:0.4472/0.3031/0.12
-4  8  0    5R4/8     CIExyY:0.469/0.3209/0.12
-4  8  2.5  7.5R4/8   CIExyY:0.485/0.3359/0.12
-4  8  5    10R4/8    CIExyY:0.4995/0.3557/0.12
-4  6  97.5 2.5R4/6   CIExyY:0.4141/0.3085/0.12
-4  6  0    5R4/6     CIExyY:0.4299/0.3226/0.12
-4  6  2.5  7.5R4/6   CIExyY:0.4415/0.334/0.12
-4  6  5    10R4/6    CIExyY:0.4535/0.35/0.12
-4  4  97.5 2.5R4/4   CIExyY:0.3806/0.3125/0.12
-4  4  0    5R4/4     CIExyY:0.3916/0.3223/0.12
-4  4  2.5  7.5R4/4   CIExyY:0.399/0.33/0.12
-4  4  5    10R4/4    CIExyY:0.4078/0.3412/0.12
-4  3  97.5 2.5R4/3   CIExyY:0.3635/0.3139/0.12
-4  3  0    5R4/3     CIExyY:0.3713/0.3214/0.12
-4  3  2.5  7.5R4/3   CIExyY:0.3765/0.327/0.12
-4  3  5    10R4/3    CIExyY:0.3832/0.3356/0.12
-4  2  97.5 2.5R4/2   CIExyY:0.3461/0.315/0.12
-4  2  0    5R4/2     CIExyY:0.3508/0.32/0.12
-4  2  2.5  7.5R4/2   CIExyY:0.3538/0.3236/0.12
-4  2  5    10R4/2    CIExyY:0.3582/0.3294/0.12
-4  1  0    5R4/1     CIExyY:0.3303/0.3183/0.12
-4  1  5    10R4/1    CIExyY:0.3336/0.3229/0.12
-3  16 97.5 2.5R3/16  CIExyY:0.6116/0.2456/0.06555
-3  16 0    5R3/16    CIExyY:0.652/0.266/0.06555
-3  16 2.5  7.5R3/16  CIExyY:0.6817/0.2872/0.06555
-3  14 97.5 2.5R3/14  CIExyY:0.5828/0.2579/0.06555
-3  14 0    5R3/14    CIExyY:0.6204/0.2789/0.06555
-3  14 2.5  7.5R3/14  CIExyY:0.6492/0.3012/0.06555
-3  14 5    10R3/14   CIExyY:0.6703/0.3249/0.06555
-3  12 97.5 2.5R3/12  CIExyY:0.5536/0.2691/0.06555
-3  12 0    5R3/12    CIExyY:0.5884/0.2904/0.06555
-3  12 2.5  7.5R3/12  CIExyY:0.6158/0.3129/0.06555
-3  12 5    10R3/12   CIExyY:0.6322/0.3361/0.06555
-3  10 97.5 2.5R3/10  CIExyY:0.5191/0.2811/0.06555
-3  10 0    5R3/10    CIExyY:0.55/0.3024/0.06555
-3  10 2.5  7.5R3/10  CIExyY:0.573/0.324/0.06555
-3  10 5    10R3/10   CIExyY:0.5871/0.344/0.06555
-3  8  97.5 2.5R3/8   CIExyY:0.4821/0.2918/0.06555
-3  8  0    5R3/8     CIExyY:0.5064/0.3114/0.06555
-3  8  2.5  7.5R3/8   CIExyY:0.5251/0.3297/0.06555
-3  8  5    10R3/8    CIExyY:0.5393/0.3477/0.06555
-3  6  97.5 2.5R3/6   CIExyY:0.4409/0.3009/0.06555
-3  6  0    5R3/6     CIExyY:0.4592/0.3168/0.06555
-3  6  2.5  7.5R3/6   CIExyY:0.4738/0.3316/0.06555
-3  6  5    10R3/6    CIExyY:0.4854/0.3467/0.06555
-3  4  97.5 2.5R3/4   CIExyY:0.4021/0.3076/0.06555
-3  4  0    5R3/4     CIExyY:0.4148/0.319/0.06555
-3  4  2.5  7.5R3/4   CIExyY:0.424/0.3302/0.06555
-3  4  5    10R3/4    CIExyY:0.4308/0.3412/0.06555
-3  3  97.5 2.5R3/3   CIExyY:0.3812/0.3105/0.06555
-3  3  0    5R3/3     CIExyY:0.3903/0.3193/0.06555
-3  3  2.5  7.5R3/3   CIExyY:0.3971/0.3279/0.06555
-3  3  5    10R3/3    CIExyY:0.4023/0.3369/0.06555
-3  2  97.5 2.5R3/2   CIExyY:0.3591/0.313/0.06555
-3  2  0    5R3/2     CIExyY:0.3645/0.319/0.06555
-3  2  2.5  7.5R3/2   CIExyY:0.369/0.3248/0.06555
-3  2  5    10R3/2    CIExyY:0.3728/0.3314/0.06555
-3  1  0    5R3/1     CIExyY:0.3377/0.318/0.06555
-3  1  5    10R3/1    CIExyY:0.3421/0.3246/0.06555
-2  14 97.5 2.5R2/14  CIExyY:0.5734/0.2083/0.03126
-2  14 0    5R2/14    CIExyY:0.6302/0.2287/0.03126
-2  14 2.5  7.5R2/14  CIExyY:0.6791/0.252/0.03126
-2  14 5    10R2/14   CIExyY:0.7165/0.2734/0.03126
-2  12 97.5 2.5R2/12  CIExyY:0.5438/0.2254/0.03126
-2  12 0    5R2/12    CIExyY:0.593/0.2465/0.03126
-2  12 2.5  7.5R2/12  CIExyY:0.6392/0.2704/0.03126
-2  12 5    10R2/12   CIExyY:0.6732/0.2937/0.03126
-2  10 97.5 2.5R2/10  CIExyY:0.5122/0.2428/0.03126
-2  10 0    5R2/10    CIExyY:0.5557/0.2633/0.03126
-2  10 2.5  7.5R2/10  CIExyY:0.5952/0.2874/0.03126
-2  10 5    10R2/10   CIExyY:0.6247/0.312/0.03126
-2  8  97.5 2.5R2/8   CIExyY:0.4776/0.2593/0.03126
-2  8  0    5R2/8     CIExyY:0.5143/0.28/0.03126
-2  8  2.5  7.5R2/8   CIExyY:0.5433/0.3027/0.03126
-2  8  5    10R2/8    CIExyY:0.5713/0.3259/0.03126
-2  6  97.5 2.5R2/6   CIExyY:0.439/0.276/0.03126
-2  6  0    5R2/6     CIExyY:0.4642/0.2934/0.03126
-2  6  2.5  7.5R2/6   CIExyY:0.4875/0.3123/0.03126
-2  6  5    10R2/6    CIExyY:0.5095/0.3331/0.03126
-2  4  97.5 2.5R2/4   CIExyY:0.4021/0.29/0.03126
-2  4  0    5R2/4     CIExyY:0.4184/0.3032/0.03126
-2  4  2.5  7.5R2/4   CIExyY:0.4335/0.3169/0.03126
-2  4  5    10R2/4    CIExyY:0.4481/0.333/0.03126
-2  3  97.5 2.5R2/3   CIExyY:0.3827/0.2967/0.03126
-2  3  0    5R2/3     CIExyY:0.3946/0.3074/0.03126
-2  3  2.5  7.5R2/3   CIExyY:0.405/0.3179/0.03126
-2  3  5    10R2/3    CIExyY:0.4152/0.3309/0.03126
-2  2  97.5 2.5R2/2   CIExyY:0.3614/0.3033/0.03126
-2  2  0    5R2/2     CIExyY:0.3692/0.3111/0.03126
-2  2  2.5  7.5R2/2   CIExyY:0.3751/0.3181/0.03126
-2  2  5    10R2/2    CIExyY:0.3811/0.3274/0.03126
-2  1  0    5R2/1     CIExyY:0.3413/0.3141/0.03126
-2  1  5    10R2/1    CIExyY:0.346/0.3225/0.03126
-1  10 97.5 2.5R1/10  CIExyY:0.5058/0.19/0.0121
-1  10 0    5R1/10    CIExyY:0.5604/0.21/0.0121
-1  10 2.5  7.5R1/10  CIExyY:0.6111/0.229/0.0121
-1  10 5    10R1/10   CIExyY:0.6661/0.2499/0.0121
-1  8  97.5 2.5R1/8   CIExyY:0.4812/0.2103/0.0121
-1  8  0    5R1/8     CIExyY:0.5282/0.2297/0.0121
-1  8  2.5  7.5R1/8   CIExyY:0.5722/0.2487/0.0121
-1  8  5    10R1/8    CIExyY:0.6178/0.2713/0.0121
-1  6  97.5 2.5R1/6   CIExyY:0.4515/0.2329/0.0121
-1  6  0    5R1/6     CIExyY:0.4885/0.2515/0.0121
-1  6  2.5  7.5R1/6   CIExyY:0.5235/0.2698/0.0121
-1  6  5    10R1/6    CIExyY:0.5584/0.2921/0.0121
-1  4  97.5 2.5R1/4   CIExyY:0.4166/0.2569/0.0121
-1  4  0    5R1/4     CIExyY:0.442/0.2728/0.0121
-1  4  2.5  7.5R1/4   CIExyY:0.466/0.2888/0.0121
-1  4  5    10R1/4    CIExyY:0.4933/0.3068/0.0121
-1  2  97.5 2.5R1/2   CIExyY:0.3768/0.2816/0.0121
-1  2  0    5R1/2     CIExyY:0.3908/0.2929/0.0121
-1  2  2.5  7.5R1/2   CIExyY:0.402/0.3034/0.0121
-1  2  5    10R1/2    CIExyY:0.4128/0.3154/0.0121
-9  8  12.5 7.5YR9/8  CIExyY:0.422/0.393/0.7866
-9  8  15   10YR9/8   CIExyY:0.4199/0.4069/0.7866
-9  6  7.5  2.5YR9/6  CIExyY:0.3927/0.355/0.7866
-9  6  10   5YR9/6    CIExyY:0.3948/0.3659/0.7866
-9  6  12.5 7.5YR9/6  CIExyY:0.395/0.3763/0.7866
-9  6  15   10YR9/6   CIExyY:0.3941/0.3877/0.7866
-9  4  7.5  2.5YR9/4  CIExyY:0.3641/0.3422/0.7866
-9  4  10   5YR9/4    CIExyY:0.3668/0.3509/0.7866
-9  4  12.5 7.5YR9/4  CIExyY:0.3679/0.3585/0.7866
-9  4  15   10YR9/4   CIExyY:0.3677/0.3668/0.7866
-9  3  15   10YR9/3   CIExyY:0.3536/0.3553/0.7866
-9  2  7.5  2.5YR9/2  CIExyY:0.332/0.3273/0.7866
-9  2  10   5YR9/2    CIExyY:0.3353/0.3325/0.7866
-9  2  12.5 7.5YR9/2  CIExyY:0.338/0.3377/0.7866
-9  2  15   10YR9/2   CIExyY:0.3392/0.343/0.7866
-9  1  10   5YR9/1    CIExyY:0.3213/0.3238/0.7866
-9  1  15   10YR9/1   CIExyY:0.3246/0.33/0.7866
-8  20 12.5 7.5YR8/20 CIExyY:0.5391/0.4518/0.591
-8  20 15   10YR8/20  CIExyY:0.5245/0.4709/0.591
-8  18 12.5 7.5YR8/18 CIExyY:0.5316/0.448/0.591
-8  18 15   10YR8/18  CIExyY:0.5179/0.467/0.591
-8  16 12.5 7.5YR8/16 CIExyY:0.5195/0.4424/0.591
-8  16 15   10YR8/16  CIExyY:0.5079/0.4613/0.591
-8  14 10   5YR8/14   CIExyY:0.5088/0.4145/0.591
-8  14 12.5 7.5YR8/14 CIExyY:0.5025/0.4338/0.591
-8  14 15   10YR8/14  CIExyY:0.494/0.453/0.591
-8  12 7.5  2.5YR8/12 CIExyY:0.4852/0.3847/0.591
-8  12 10   5YR8/12   CIExyY:0.4849/0.405/0.591
-8  12 12.5 7.5YR8/12 CIExyY:0.4816/0.4232/0.591
-8  12 15   10YR8/12  CIExyY:0.4753/0.4414/0.591
-8  10 7.5  2.5YR8/10 CIExyY:0.4552/0.3761/0.591
-8  10 10   5YR8/10   CIExyY:0.4576/0.3938/0.591
-8  10 12.5 7.5YR8/10 CIExyY:0.4568/0.41/0.591
-8  10 15   10YR8/10  CIExyY:0.4527/0.4268/0.591
-8  8  7.5  2.5YR8/8  CIExyY:0.4275/0.3662/0.591
-8  8  10   5YR8/8    CIExyY:0.431/0.382/0.591
-8  8  12.5 7.5YR8/8  CIExyY:0.4306/0.3952/0.591
-8  8  15   10YR8/8   CIExyY:0.428/0.4102/0.591
-8  6  7.5  2.5YR8/6  CIExyY:0.396/0.3547/0.591
-8  6  10   5YR8/6    CIExyY:0.3988/0.3663/0.591
-8  6  12.5 7.5YR8/6  CIExyY:0.4/0.377/0.591
-8  6  15   10YR8/6   CIExyY:0.3994/0.3896/0.591
-8  4  7.5  2.5YR8/4  CIExyY:0.3667/0.3429/0.591
-8  4  10   5YR8/4    CIExyY:0.369/0.351/0.591
-8  4  12.5 7.5YR8/4  CIExyY:0.3699/0.3586/0.591
-8  4  15   10YR8/4   CIExyY:0.3701/0.3674/0.591
-8  3  7.5  2.5YR8/3  CIExyY:0.3497/0.3352/0.591
-8  3  10   5YR8/3    CIExyY:0.353/0.3421/0.591
-8  3  12.5 7.5YR8/3  CIExyY:0.3547/0.3484/0.591
-8  3  15   10YR8/3   CIExyY:0.3555/0.3557/0.591
-8  2  7.5  2.5YR8/2  CIExyY:0.3334/0.3276/0.591
-8  2  10   5YR8/2    CIExyY:0.3373/0.333/0.591
-8  2  12.5 7.5YR8/2  CIExyY:0.3395/0.3379/0.591
-8  2  15   10YR8/2   CIExyY:0.3407/0.3434/0.591
-8  1  10   5YR8/1    CIExyY:0.3227/0.3242/0.591
-8  1  15   10YR8/1   CIExyY:0.3256/0.3303/0.591
-7  20 7.5  2.5YR7/20 CIExyY:0.5824/0.4046/0.4306
-7  20 10   5YR7/20   CIExyY:0.5657/0.4298/0.4306
-7  18 7.5  2.5YR7/18 CIExyY:0.5695/0.4024/0.4306
-7  18 10   5YR7/18   CIExyY:0.5564/0.4267/0.4306
-7  18 12.5 7.5YR7/18 CIExyY:0.5417/0.4492/0.4306
-7  18 15   10YR7/18  CIExyY:0.5276/0.47/0.4306
-7  16 7.5  2.5YR7/16 CIExyY:0.5522/0.3989/0.4306
-7  16 10   5YR7/16   CIExyY:0.5437/0.4228/0.4306
-7  16 12.5 7.5YR7/16 CIExyY:0.5319/0.4449/0.4306
-7  16 15   10YR7/16  CIExyY:0.5188/0.465/0.4306
-7  14 7.5  2.5YR7/14 CIExyY:0.5297/0.3938/0.4306
-7  14 10   5YR7/14   CIExyY:0.5252/0.4168/0.4306
-7  14 12.5 7.5YR7/14 CIExyY:0.5174/0.4381/0.4306
-7  14 15   10YR7/14  CIExyY:0.5074/0.4581/0.4306
-7  12 7.5  2.5YR7/12 CIExyY:0.5001/0.3861/0.4306
-7  12 10   5YR7/12   CIExyY:0.5007/0.4081/0.4306
-7  12 12.5 7.5YR7/12 CIExyY:0.497/0.4282/0.4306
-7  12 15   10YR7/12  CIExyY:0.49/0.448/0.4306
-7  10 7.5  2.5YR7/10 CIExyY:0.4671/0.3768/0.4306
-7  10 10   5YR7/10   CIExyY:0.4711/0.3972/0.4306
-7  10 12.5 7.5YR7/10 CIExyY:0.4704/0.4151/0.4306
-7  10 15   10YR7/10  CIExyY:0.4667/0.4335/0.4306
-7  8  7.5  2.5YR7/8  CIExyY:0.4371/0.3679/0.4306
-7  8  10   5YR7/8    CIExyY:0.4402/0.3842/0.4306
-7  8  12.5 7.5YR7/8  CIExyY:0.4415/0.3996/0.4306
-7  8  15   10YR7/8   CIExyY:0.4399/0.4164/0.4306
-7  6  7.5  2.5YR7/6  CIExyY:0.4053/0.357/0.4306
-7  6  10   5YR7/6    CIExyY:0.4091/0.3701/0.4306
-7  6  12.5 7.5YR7/6  CIExyY:0.4107/0.382/0.4306
-7  6  15   10YR7/6   CIExyY:0.4102/0.396/0.4306
-7  4  7.5  2.5YR7/4  CIExyY:0.3715/0.3439/0.4306
-7  4  10   5YR7/4    CIExyY:0.375/0.353/0.4306
-7  4  12.5 7.5YR7/4  CIExyY:0.3772/0.3613/0.4306
-7  4  15   10YR7/4   CIExyY:0.3778/0.3719/0.4306
-7  3  7.5  2.5YR7/3  CIExyY:0.3551/0.3369/0.4306
-7  3  10   5YR7/3    CIExyY:0.3584/0.344/0.4306
-7  3  12.5 7.5YR7/3  CIExyY:0.3605/0.3507/0.4306
-7  3  15   10YR7/3   CIExyY:0.3612/0.359/0.4306
-7  2  7.5  2.5YR7/2  CIExyY:0.3392/0.3298/0.4306
-7  2  10   5YR7/2    CIExyY:0.3421/0.3349/0.4306
-7  2  12.5 7.5YR7/2  CIExyY:0.3437/0.3397/0.4306
-7  2  15   10YR7/2   CIExyY:0.3443/0.3454/0.4306
-7  1  10   5YR7/1    CIExyY:0.326/0.3256/0.4306
-7  1  15   10YR7/1   CIExyY:0.3273/0.3312/0.4306
-6  18 7.5  2.5YR6/18 CIExyY:0.5879/0.4021/0.3005
-6  18 10   5YR6/18   CIExyY:0.5715/0.427/0.3005
-6  16 7.5  2.5YR6/16 CIExyY:0.5698/0.399/0.3005
-6  16 10   5YR6/16   CIExyY:0.5597/0.4239/0.3005
-6  16 12.5 7.5YR6/16 CIExyY:0.5468/0.4478/0.3005
-6  14 7.5  2.5YR6/14 CIExyY:0.5488/0.3947/0.3005
-6  14 10   5YR6/14   CIExyY:0.5423/0.4188/0.3005
-6  14 12.5 7.5YR6/14 CIExyY:0.532/0.4412/0.3005
-6  14 15   10YR6/14  CIExyY:0.52/0.4623/0.3005
-6  12 7.5  2.5YR6/12 CIExyY:0.5215/0.3887/0.3005
-6  12 10   5YR6/12   CIExyY:0.5199/0.4119/0.3005
-6  12 12.5 7.5YR6/12 CIExyY:0.5145/0.4331/0.3005
-6  12 15   10YR6/12  CIExyY:0.505/0.4536/0.3005
-6  10 7.5  2.5YR6/10 CIExyY:0.4891/0.3806/0.3005
-6  10 10   5YR6/10   CIExyY:0.4921/0.4022/0.3005
-6  10 12.5 7.5YR6/10 CIExyY:0.4904/0.422/0.3005
-6  10 15   10YR6/10  CIExyY:0.4843/0.4416/0.3005
-6  8  7.5  2.5YR6/8  CIExyY:0.4533/0.3708/0.3005
-6  8  10   5YR6/8    CIExyY:0.4592/0.39/0.3005
-6  8  12.5 7.5YR6/8  CIExyY:0.4596/0.4064/0.3005
-6  8  15   10YR6/8   CIExyY:0.457/0.4249/0.3005
-6  6  7.5  2.5YR6/6  CIExyY:0.418/0.36/0.3005
-6  6  10   5YR6/6    CIExyY:0.4229/0.375/0.3005
-6  6  12.5 7.5YR6/6  CIExyY:0.4242/0.3876/0.3005
-6  6  15   10YR6/6   CIExyY:0.424/0.403/0.3005
-6  4  7.5  2.5YR6/4  CIExyY:0.3806/0.3467/0.3005
-6  4  10   5YR6/4    CIExyY:0.384/0.3564/0.3005
-6  4  12.5 7.5YR6/4  CIExyY:0.386/0.3652/0.3005
-6  4  15   10YR6/4   CIExyY:0.3861/0.3767/0.3005
-6  3  7.5  2.5YR6/3  CIExyY:0.3628/0.3396/0.3005
-6  3  10   5YR6/3    CIExyY:0.3656/0.347/0.3005
-6  3  12.5 7.5YR6/3  CIExyY:0.3674/0.3539/0.3005
-6  3  15   10YR6/3   CIExyY:0.3677/0.3629/0.3005
-6  2  7.5  2.5YR6/2  CIExyY:0.3453/0.3321/0.3005
-6  2  10   5YR6/2    CIExyY:0.3474/0.3373/0.3005
-6  2  12.5 7.5YR6/2  CIExyY:0.3487/0.3421/0.3005
-6  2  15   10YR6/2   CIExyY:0.3491/0.3483/0.3005
-6  1  10   5YR6/1    CIExyY:0.329/0.3271/0.3005
-6  1  15   10YR6/1   CIExyY:0.33/0.3328/0.3005
-5  16 7.5  2.5YR5/16 CIExyY:0.5933/0.3989/0.1977
-5  14 7.5  2.5YR5/14 CIExyY:0.5731/0.3953/0.1977
-5  14 10   5YR5/14   CIExyY:0.5642/0.4201/0.1977
-5  14 12.5 7.5YR5/14 CIExyY:0.5506/0.445/0.1977
-5  12 7.5  2.5YR5/12 CIExyY:0.5482/0.3909/0.1977
-5  12 10   5YR5/12   CIExyY:0.5422/0.4141/0.1977
-5  12 12.5 7.5YR5/12 CIExyY:0.5335/0.4373/0.1977
-5  12 15   10YR5/12  CIExyY:0.5211/0.46/0.1977
-5  10 7.5  2.5YR5/10 CIExyY:0.5175/0.3844/0.1977
-5  10 10   5YR5/10   CIExyY:0.5161/0.4064/0.1977
-5  10 12.5 7.5YR5/10 CIExyY:0.5108/0.4276/0.1977
-5  10 15   10YR5/10  CIExyY:0.5025/0.4489/0.1977
-5  8  7.5  2.5YR5/8  CIExyY:0.4795/0.3758/0.1977
-5  8  10   5YR5/8    CIExyY:0.483/0.396/0.1977
-5  8  12.5 7.5YR5/8  CIExyY:0.482/0.4141/0.1977
-5  8  15   10YR5/8   CIExyY:0.477/0.4338/0.1977
-5  6  7.5  2.5YR5/6  CIExyY:0.4365/0.364/0.1977
-5  6  10   5YR5/6    CIExyY:0.442/0.3808/0.1977
-5  6  12.5 7.5YR5/6  CIExyY:0.444/0.3954/0.1977
-5  6  15   10YR5/6   CIExyY:0.4428/0.4128/0.1977
-5  4  7.5  2.5YR5/4  CIExyY:0.3925/0.3494/0.1977
-5  4  10   5YR5/4    CIExyY:0.3968/0.3614/0.1977
-5  4  12.5 7.5YR5/4  CIExyY:0.3991/0.3714/0.1977
-5  4  15   10YR5/4   CIExyY:0.3995/0.384/0.1977
-5  3  7.5  2.5YR5/3  CIExyY:0.3713/0.3417/0.1977
-5  3  10   5YR5/3    CIExyY:0.3748/0.3507/0.1977
-5  3  12.5 7.5YR5/3  CIExyY:0.3765/0.3582/0.1977
-5  3  15   10YR5/3   CIExyY:0.3771/0.3681/0.1977
-5  2  7.5  2.5YR5/2  CIExyY:0.3506/0.3337/0.1977
-5  2  10   5YR5/2    CIExyY:0.353/0.3395/0.1977
-5  2  12.5 7.5YR5/2  CIExyY:0.354/0.3445/0.1977
-5  2  15   10YR5/2   CIExyY:0.3546/0.3514/0.1977
-5  1  10   5YR5/1    CIExyY:0.3315/0.328/0.1977
-5  1  15   10YR5/1   CIExyY:0.3322/0.3341/0.1977
-4  12 7.5  2.5YR4/12 CIExyY:0.5809/0.391/0.12
-4  12 10   5YR4/12   CIExyY:0.5729/0.4169/0.12
-4  10 7.5  2.5YR4/10 CIExyY:0.5475/0.3856/0.12
-4  10 10   5YR4/10   CIExyY:0.5432/0.4097/0.12
-4  10 12.5 7.5YR4/10 CIExyY:0.5356/0.4342/0.12
-4  10 15   10YR4/10  CIExyY:0.525/0.4573/0.12
-4  8  7.5  2.5YR4/8  CIExyY:0.5071/0.3777/0.12
-4  8  10   5YR4/8    CIExyY:0.507/0.3994/0.12
-4  8  12.5 7.5YR4/8  CIExyY:0.5038/0.4204/0.12
-4  8  15   10YR4/8   CIExyY:0.4965/0.4414/0.12
-4  6  7.5  2.5YR4/6  CIExyY:0.4612/0.3674/0.12
-4  6  10   5YR4/6    CIExyY:0.4651/0.3859/0.12
-4  6  12.5 7.5YR4/6  CIExyY:0.4655/0.4029/0.12
-4  6  15   10YR4/6   CIExyY:0.4618/0.4213/0.12
-4  4  7.5  2.5YR4/4  CIExyY:0.4141/0.3539/0.12
-4  4  10   5YR4/4    CIExyY:0.4187/0.3679/0.12
-4  4  12.5 7.5YR4/4  CIExyY:0.4208/0.3809/0.12
-4  4  15   10YR4/4   CIExyY:0.4189/0.3948/0.12
-4  3  7.5  2.5YR4/3  CIExyY:0.3886/0.3457/0.12
-4  3  10   5YR4/3    CIExyY:0.3924/0.3567/0.12
-4  3  12.5 7.5YR4/3  CIExyY:0.3942/0.3664/0.12
-4  3  15   10YR4/3   CIExyY:0.3933/0.3779/0.12
-4  2  7.5  2.5YR4/2  CIExyY:0.3624/0.3367/0.12
-4  2  10   5YR4/2    CIExyY:0.3651/0.3442/0.12
-4  2  12.5 7.5YR4/2  CIExyY:0.3662/0.3504/0.12
-4  2  15   10YR4/2   CIExyY:0.366/0.359/0.12
-4  1  10   5YR4/1    CIExyY:0.3374/0.3307/0.12
-4  1  15   10YR4/1   CIExyY:0.338/0.3384/0.12
-3  10 7.5  2.5YR3/10 CIExyY:0.5941/0.3818/0.06555
-3  8  7.5  2.5YR3/8  CIExyY:0.5475/0.3771/0.06555
-3  8  10   5YR3/8    CIExyY:0.5456/0.404/0.06555
-3  8  12.5 7.5YR3/8  CIExyY:0.539/0.4306/0.06555
-3  8  15   10YR3/8   CIExyY:0.5305/0.4559/0.06555
-3  6  7.5  2.5YR3/6  CIExyY:0.4954/0.3692/0.06555
-3  6  10   5YR3/6    CIExyY:0.4966/0.3908/0.06555
-3  6  12.5 7.5YR3/6  CIExyY:0.493/0.4116/0.06555
-3  6  15   10YR3/6   CIExyY:0.4872/0.4326/0.06555
-3  4  7.5  2.5YR3/4  CIExyY:0.436/0.3563/0.06555
-3  4  10   5YR3/4    CIExyY:0.4376/0.3715/0.06555
-3  4  12.5 7.5YR3/4  CIExyY:0.4378/0.3865/0.06555
-3  4  15   10YR3/4   CIExyY:0.4341/0.4018/0.06555
-3  3  7.5  2.5YR3/3  CIExyY:0.4062/0.3483/0.06555
-3  3  10   5YR3/3    CIExyY:0.4079/0.3603/0.06555
-3  3  12.5 7.5YR3/3  CIExyY:0.4082/0.3715/0.06555
-3  3  15   10YR3/3   CIExyY:0.4051/0.3834/0.06555
-3  2  7.5  2.5YR3/2  CIExyY:0.3757/0.3391/0.06555
-3  2  10   5YR3/2    CIExyY:0.3771/0.3476/0.06555
-3  2  12.5 7.5YR3/2  CIExyY:0.3771/0.3549/0.06555
-3  2  15   10YR3/2   CIExyY:0.3747/0.363/0.06555
-3  1  10   5YR3/1    CIExyY:0.3447/0.333/0.06555
-3  1  15   10YR3/1   CIExyY:0.343/0.3406/0.06555
-2  8  7.5  2.5YR2/8  CIExyY:0.5995/0.359/0.03126
-2  6  7.5  2.5YR2/6  CIExyY:0.528/0.3581/0.03126
-2  6  10   5YR2/6    CIExyY:0.5426/0.3925/0.03126
-2  6  12.5 7.5YR2/6  CIExyY:0.5475/0.4271/0.03126
-2  4  7.5  2.5YR2/4  CIExyY:0.4598/0.3508/0.03126
-2  4  10   5YR2/4    CIExyY:0.4674/0.3738/0.03126
-2  4  12.5 7.5YR2/4  CIExyY:0.469/0.3964/0.03126
-2  4  15   10YR2/4   CIExyY:0.4676/0.4168/0.03126
-2  3  10   5YR2/3    CIExyY:0.4279/0.3615/0.03126
-2  3  12.5 7.5YR2/3  CIExyY:0.429/0.3785/0.03126
-2  2  7.5  2.5YR2/2  CIExyY:0.3852/0.3365/0.03126
-2  2  10   5YR2/2    CIExyY:0.388/0.3476/0.03126
-2  2  12.5 7.5YR2/2  CIExyY:0.3889/0.359/0.03126
-2  2  15   10YR2/2   CIExyY:0.3872/0.3688/0.03126
-2  1  10   5YR2/1    CIExyY:0.3485/0.3324/0.03126
-2  1  15   10YR2/1   CIExyY:0.3482/0.3431/0.03126
-1  8  7.5  2.5YR1/8  CIExyY:0.6721/0.3058/0.0121
-1  6  7.5  2.5YR1/6  CIExyY:0.6048/0.327/0.0121
-1  4  7.5  2.5YR1/4  CIExyY:0.5311/0.3371/0.0121
-1  4  10   5YR1/4    CIExyY:0.566/0.3795/0.0121
-1  2  7.5  2.5YR1/2  CIExyY:0.4258/0.3344/0.0121
-1  2  10   5YR1/2    CIExyY:0.4377/0.358/0.0121
-1  2  12.5 7.5YR1/2  CIExyY:0.443/0.3775/0.0121
-1  2  15   10YR1/2   CIExyY:0.4446/0.3982/0.0121
-9  20 20   5Y9/20    CIExyY:0.483/0.5092/0.7866
-9  18 20   5Y9/18    CIExyY:0.4782/0.5049/0.7866
-9  18 22.5 7.5Y9/18  CIExyY:0.4663/0.5188/0.7866
-9  18 25   10Y9/18   CIExyY:0.454/0.532/0.7866
-9  16 20   5Y9/16    CIExyY:0.4711/0.4977/0.7866
-9  16 22.5 7.5Y9/16  CIExyY:0.4595/0.5104/0.7866
-9  16 25   10Y9/16   CIExyY:0.4477/0.5225/0.7866
-9  14 20   5Y9/14    CIExyY:0.4602/0.4869/0.7866
-9  14 22.5 7.5Y9/14  CIExyY:0.4503/0.4993/0.7866
-9  14 25   10Y9/14   CIExyY:0.4393/0.5101/0.7866
-9  12 17.5 2.5Y9/12  CIExyY:0.4569/0.4527/0.7866
-9  12 20   5Y9/12    CIExyY:0.4455/0.4719/0.7866
-9  12 22.5 7.5Y9/12  CIExyY:0.4369/0.4829/0.7866
-9  12 25   10Y9/12   CIExyY:0.4271/0.492/0.7866
-9  10 17.5 2.5Y9/10  CIExyY:0.437/0.4369/0.7866
-9  10 20   5Y9/10    CIExyY:0.4275/0.4529/0.7866
-9  10 22.5 7.5Y9/10  CIExyY:0.4201/0.4622/0.7866
-9  10 25   10Y9/10   CIExyY:0.412/0.4694/0.7866
-9  8  17.5 2.5Y9/8   CIExyY:0.4154/0.4186/0.7866
-9  8  20   5Y9/8     CIExyY:0.408/0.4319/0.7866
-9  8  22.5 7.5Y9/8   CIExyY:0.4019/0.4392/0.7866
-9  8  25   10Y9/8    CIExyY:0.3957/0.445/0.7866
-9  6  17.5 2.5Y9/6   CIExyY:0.391/0.3972/0.7866
-9  6  20   5Y9/6     CIExyY:0.3858/0.4071/0.7866
-9  6  22.5 7.5Y9/6   CIExyY:0.3811/0.4123/0.7866
-9  6  25   10Y9/6    CIExyY:0.3761/0.4155/0.7866
-9  4  17.5 2.5Y9/4   CIExyY:0.3655/0.3738/0.7866
-9  4  20   5Y9/4     CIExyY:0.3621/0.3799/0.7866
-9  4  22.5 7.5Y9/4   CIExyY:0.3591/0.3832/0.7866
-9  4  25   10Y9/4    CIExyY:0.3558/0.3852/0.7866
-9  3  17.5 2.5Y9/3   CIExyY:0.3525/0.361/0.7866
-9  3  20   5Y9/3     CIExyY:0.3502/0.3656/0.7866
-9  3  22.5 7.5Y9/3   CIExyY:0.3481/0.3684/0.7866
-9  3  25   10Y9/3    CIExyY:0.3456/0.3699/0.7866
-9  2  17.5 2.5Y9/2   CIExyY:0.339/0.3472/0.7866
-9  2  20   5Y9/2     CIExyY:0.3378/0.3504/0.7866
-9  2  22.5 7.5Y9/2   CIExyY:0.3365/0.3527/0.7866
-9  2  25   10Y9/2    CIExyY:0.3349/0.3537/0.7866
-9  1  20   5Y9/1     CIExyY:0.3245/0.3341/0.7866
-9  1  25   10Y9/1    CIExyY:0.3232/0.336/0.7866
-8  20 17.5 2.5Y8/20  CIExyY:0.5091/0.49/0.591
-8  18 17.5 2.5Y8/18  CIExyY:0.5033/0.4855/0.591
-8  18 20   5Y8/18    CIExyY:0.4847/0.5069/0.591
-8  18 22.5 7.5Y8/18  CIExyY:0.4709/0.522/0.591
-8  18 25   10Y8/18   CIExyY:0.457/0.5366/0.591
-8  16 17.5 2.5Y8/16  CIExyY:0.4957/0.48/0.591
-8  16 20   5Y8/16    CIExyY:0.4791/0.5012/0.591
-8  16 22.5 7.5Y8/16  CIExyY:0.4658/0.5158/0.591
-8  16 25   10Y8/16   CIExyY:0.4525/0.5295/0.591
-8  14 17.5 2.5Y8/14  CIExyY:0.4842/0.4712/0.591
-8  14 20   5Y8/14    CIExyY:0.4699/0.492/0.591
-8  14 22.5 7.5Y8/14  CIExyY:0.4574/0.5062/0.591
-8  14 25   10Y8/14   CIExyY:0.445/0.5181/0.591
-8  12 17.5 2.5Y8/12  CIExyY:0.4678/0.4589/0.591
-8  12 20   5Y8/12    CIExyY:0.4562/0.4788/0.591
-8  12 22.5 7.5Y8/12  CIExyY:0.4455/0.4917/0.591
-8  12 25   10Y8/12   CIExyY:0.4341/0.502/0.591
-8  10 17.5 2.5Y8/10  CIExyY:0.4469/0.4423/0.591
-8  10 20   5Y8/10    CIExyY:0.4376/0.4601/0.591
-8  10 22.5 7.5Y8/10  CIExyY:0.4283/0.4712/0.591
-8  10 25   10Y8/10   CIExyY:0.419/0.4791/0.591
-8  8  17.5 2.5Y8/8   CIExyY:0.4231/0.4231/0.591
-8  8  20   5Y8/8     CIExyY:0.4158/0.4378/0.591
-8  8  22.5 7.5Y8/8   CIExyY:0.4088/0.4466/0.591
-8  8  25   10Y8/8    CIExyY:0.4008/0.452/0.591
-8  6  17.5 2.5Y8/6   CIExyY:0.3969/0.4009/0.591
-8  6  20   5Y8/6     CIExyY:0.3913/0.4117/0.591
-8  6  22.5 7.5Y8/6   CIExyY:0.3862/0.4175/0.591
-8  6  25   10Y8/6    CIExyY:0.3803/0.4216/0.591
-8  4  17.5 2.5Y8/4   CIExyY:0.3684/0.3751/0.591
-8  4  20   5Y8/4     CIExyY:0.365/0.3826/0.591
-8  4  22.5 7.5Y8/4   CIExyY:0.3622/0.3861/0.591
-8  4  25   10Y8/4    CIExyY:0.3581/0.3883/0.591
-8  3  17.5 2.5Y8/3   CIExyY:0.3546/0.3621/0.591
-8  3  20   5Y8/3     CIExyY:0.3524/0.3676/0.591
-8  3  22.5 7.5Y8/3   CIExyY:0.3503/0.3704/0.591
-8  3  25   10Y8/3    CIExyY:0.3472/0.3721/0.591
-8  2  17.5 2.5Y8/2   CIExyY:0.3406/0.3484/0.591
-8  2  20   5Y8/2     CIExyY:0.3394/0.3518/0.591
-8  2  22.5 7.5Y8/2   CIExyY:0.3379/0.354/0.591
-8  2  25   10Y8/2    CIExyY:0.3359/0.3552/0.591
-8  1  20   5Y8/1     CIExyY:0.3255/0.3348/0.591
-8  1  25   10Y8/1    CIExyY:0.3237/0.3369/0.591
-7  16 17.5 2.5Y7/16  CIExyY:0.5049/0.4843/0.4306
-7  16 20   5Y7/16    CIExyY:0.4875/0.5047/0.4306
-7  16 22.5 7.5Y7/16  CIExyY:0.4728/0.5215/0.4306
-7  16 25   10Y7/16   CIExyY:0.4582/0.5375/0.4306
-7  14 17.5 2.5Y7/14  CIExyY:0.495/0.4773/0.4306
-7  14 20   5Y7/14    CIExyY:0.4791/0.4965/0.4306
-7  14 22.5 7.5Y7/14  CIExyY:0.4652/0.5128/0.4306
-7  14 25   10Y7/14   CIExyY:0.4516/0.5277/0.4306
-7  12 17.5 2.5Y7/12  CIExyY:0.4806/0.4666/0.4306
-7  12 20   5Y7/12    CIExyY:0.4677/0.4857/0.4306
-7  12 22.5 7.5Y7/12  CIExyY:0.4547/0.5005/0.4306
-7  12 25   10Y7/12   CIExyY:0.442/0.5131/0.4306
-7  10 17.5 2.5Y7/10  CIExyY:0.4606/0.4516/0.4306
-7  10 20   5Y7/10    CIExyY:0.4509/0.4696/0.4306
-7  10 22.5 7.5Y7/10  CIExyY:0.44/0.483/0.4306
-7  10 25   10Y7/10   CIExyY:0.4289/0.4937/0.4306
-7  8  17.5 2.5Y7/8   CIExyY:0.4353/0.4312/0.4306
-7  8  20   5Y7/8     CIExyY:0.4271/0.4462/0.4306
-7  8  22.5 7.5Y7/8   CIExyY:0.4184/0.4568/0.4306
-7  8  25   10Y7/8    CIExyY:0.409/0.4641/0.4306
-7  6  17.5 2.5Y7/6   CIExyY:0.4073/0.4073/0.4306
-7  6  20   5Y7/6     CIExyY:0.4009/0.4198/0.4306
-7  6  22.5 7.5Y7/6   CIExyY:0.3943/0.4264/0.4306
-7  6  25   10Y7/6    CIExyY:0.3864/0.4305/0.4306
-7  4  17.5 2.5Y7/4   CIExyY:0.3761/0.38/0.4306
-7  4  20   5Y7/4     CIExyY:0.3718/0.3885/0.4306
-7  4  22.5 7.5Y7/4   CIExyY:0.3677/0.3925/0.4306
-7  4  25   10Y7/4    CIExyY:0.3624/0.3951/0.4306
-7  3  17.5 2.5Y7/3   CIExyY:0.36/0.3658/0.4306
-7  3  20   5Y7/3     CIExyY:0.357/0.3717/0.4306
-7  3  22.5 7.5Y7/3   CIExyY:0.3538/0.3745/0.4306
-7  3  25   10Y7/3    CIExyY:0.3498/0.3763/0.4306
-7  2  17.5 2.5Y7/2   CIExyY:0.3436/0.3507/0.4306
-7  2  20   5Y7/2     CIExyY:0.3419/0.354/0.4306
-7  2  22.5 7.5Y7/2   CIExyY:0.3396/0.3558/0.4306
-7  2  25   10Y7/2    CIExyY:0.3369/0.3569/0.4306
-7  1  20   5Y7/1     CIExyY:0.3263/0.3356/0.4306
-7  1  25   10Y7/1    CIExyY:0.3237/0.3369/0.4306
-6  14 17.5 2.5Y6/14  CIExyY:0.5061/0.4829/0.3005
-6  14 20   5Y6/14    CIExyY:0.4905/0.5038/0.3005
-6  14 22.5 7.5Y6/14  CIExyY:0.4754/0.522/0.3005
-6  14 25   10Y6/14   CIExyY:0.4593/0.5392/0.3005
-6  12 17.5 2.5Y6/12  CIExyY:0.4928/0.473/0.3005
-6  12 20   5Y6/12    CIExyY:0.478/0.492/0.3005
-6  12 22.5 7.5Y6/12  CIExyY:0.4638/0.5087/0.3005
-6  12 25   10Y6/12   CIExyY:0.4488/0.5237/0.3005
-6  10 17.5 2.5Y6/10  CIExyY:0.476/0.4607/0.3005
-6  10 20   5Y6/10    CIExyY:0.4639/0.479/0.3005
-6  10 22.5 7.5Y6/10  CIExyY:0.4512/0.4943/0.3005
-6  10 25   10Y6/10   CIExyY:0.4372/0.5068/0.3005
-6  8  17.5 2.5Y6/8   CIExyY:0.4517/0.4421/0.3005
-6  8  20   5Y6/8     CIExyY:0.4426/0.4588/0.3005
-6  8  22.5 7.5Y6/8   CIExyY:0.4321/0.4719/0.3005
-6  8  25   10Y6/8    CIExyY:0.4201/0.4812/0.3005
-6  6  17.5 2.5Y6/6   CIExyY:0.4203/0.4176/0.3005
-6  6  20   5Y6/6     CIExyY:0.414/0.4305/0.3005
-6  6  22.5 7.5Y6/6   CIExyY:0.406/0.44/0.3005
-6  6  25   10Y6/6    CIExyY:0.396/0.4452/0.3005
-6  4  17.5 2.5Y6/4   CIExyY:0.384/0.3867/0.3005
-6  4  20   5Y6/4     CIExyY:0.3794/0.3955/0.3005
-6  4  22.5 7.5Y6/4   CIExyY:0.3745/0.4004/0.3005
-6  4  25   10Y6/4    CIExyY:0.3679/0.4033/0.3005
-6  3  17.5 2.5Y6/3   CIExyY:0.3661/0.3708/0.3005
-6  3  20   5Y6/3     CIExyY:0.3626/0.3772/0.3005
-6  3  22.5 7.5Y6/3   CIExyY:0.3589/0.3805/0.3005
-6  3  25   10Y6/3    CIExyY:0.354/0.3824/0.3005
-6  2  17.5 2.5Y6/2   CIExyY:0.348/0.354/0.3005
-6  2  20   5Y6/2     CIExyY:0.3457/0.358/0.3005
-6  2  22.5 7.5Y6/2   CIExyY:0.3431/0.3601/0.3005
-6  2  25   10Y6/2    CIExyY:0.3398/0.3611/0.3005
-6  1  20   5Y6/1     CIExyY:0.3283/0.3378/0.3005
-6  1  25   10Y6/1    CIExyY:0.3252/0.3392/0.3005
-5  12 17.5 2.5Y5/12  CIExyY:0.5082/0.4812/0.1977
-5  12 20   5Y5/12    CIExyY:0.4931/0.5019/0.1977
-5  12 22.5 7.5Y5/12  CIExyY:0.4767/0.5208/0.1977
-5  12 25   10Y5/12   CIExyY:0.459/0.539/0.1977
-5  10 17.5 2.5Y5/10  CIExyY:0.4905/0.4683/0.1977
-5  10 20   5Y5/10    CIExyY:0.4777/0.4876/0.1977
-5  10 22.5 7.5Y5/10  CIExyY:0.4632/0.5057/0.1977
-5  10 25   10Y5/10   CIExyY:0.4468/0.5209/0.1977
-5  8  17.5 2.5Y5/8   CIExyY:0.4685/0.4524/0.1977
-5  8  20   5Y5/8     CIExyY:0.4579/0.4692/0.1977
-5  8  22.5 7.5Y5/8   CIExyY:0.445/0.485/0.1977
-5  8  25   10Y5/8    CIExyY:0.4307/0.4967/0.1977
-5  6  17.5 2.5Y5/6   CIExyY:0.438/0.4292/0.1977
-5  6  20   5Y5/6     CIExyY:0.4302/0.4435/0.1977
-5  6  22.5 7.5Y5/6   CIExyY:0.4199/0.4551/0.1977
-5  6  25   10Y5/6    CIExyY:0.4072/0.4621/0.1977
-5  4  17.5 2.5Y5/4   CIExyY:0.3968/0.3954/0.1977
-5  4  20   5Y5/4     CIExyY:0.3915/0.4057/0.1977
-5  4  22.5 7.5Y5/4   CIExyY:0.385/0.412/0.1977
-5  4  25   10Y5/4    CIExyY:0.3762/0.4158/0.1977
-5  3  17.5 2.5Y5/3   CIExyY:0.3752/0.3766/0.1977
-5  3  20   5Y5/3     CIExyY:0.3708/0.3843/0.1977
-5  3  22.5 7.5Y5/3   CIExyY:0.3661/0.3883/0.1977
-5  3  25   10Y5/3    CIExyY:0.3593/0.3904/0.1977
-5  2  17.5 2.5Y5/2   CIExyY:0.3534/0.357/0.1977
-5  2  20   5Y5/2     CIExyY:0.35/0.362/0.1977
-5  2  22.5 7.5Y5/2   CIExyY:0.347/0.364/0.1977
-5  2  25   10Y5/2    CIExyY:0.3422/0.3648/0.1977
-5  1  20   5Y5/1     CIExyY:0.3296/0.3392/0.1977
-5  1  25   10Y5/1    CIExyY:0.3256/0.3398/0.1977
-4  10 17.5 2.5Y4/10  CIExyY:0.512/0.48/0.12
-4  8  17.5 2.5Y4/8   CIExyY:0.4865/0.4625/0.12
-4  8  20   5Y4/8     CIExyY:0.4745/0.481/0.12
-4  8  22.5 7.5Y4/8   CIExyY:0.4595/0.499/0.12
-4  8  25   10Y4/8    CIExyY:0.443/0.5153/0.12
-4  6  17.5 2.5Y4/6   CIExyY:0.4542/0.4391/0.12
-4  6  20   5Y4/6     CIExyY:0.4451/0.455/0.12
-4  6  22.5 7.5Y4/6   CIExyY:0.4331/0.4688/0.12
-4  6  25   10Y4/6    CIExyY:0.419/0.4795/0.12
-4  4  17.5 2.5Y4/4   CIExyY:0.4138/0.4076/0.12
-4  4  20   5Y4/4     CIExyY:0.4069/0.4188/0.12
-4  4  22.5 7.5Y4/4   CIExyY:0.3982/0.4272/0.12
-4  4  25   10Y4/4    CIExyY:0.3871/0.4321/0.12
-4  3  17.5 2.5Y4/3   CIExyY:0.3893/0.3876/0.12
-4  3  20   5Y4/3     CIExyY:0.3836/0.3955/0.12
-4  3  22.5 7.5Y4/3   CIExyY:0.3768/0.4009/0.12
-4  3  25   10Y4/3    CIExyY:0.3677/0.4032/0.12
-4  2  17.5 2.5Y4/2   CIExyY:0.3633/0.3654/0.12
-4  2  20   5Y4/2     CIExyY:0.359/0.3701/0.12
-4  2  22.5 7.5Y4/2   CIExyY:0.3542/0.3727/0.12
-4  2  25   10Y4/2    CIExyY:0.3476/0.3731/0.12
-4  1  20   5Y4/1     CIExyY:0.3341/0.3434/0.12
-4  1  25   10Y4/1    CIExyY:0.328/0.3437/0.12
-3  6  17.5 2.5Y3/6   CIExyY:0.4784/0.4531/0.06555
-3  6  20   5Y3/6     CIExyY:0.467/0.4711/0.06555
-3  6  22.5 7.5Y3/6   CIExyY:0.4526/0.4889/0.06555
-3  6  25   10Y3/6    CIExyY:0.4345/0.5026/0.06555
-3  4  17.5 2.5Y3/4   CIExyY:0.4277/0.4166/0.06555
-3  4  20   5Y3/4     CIExyY:0.4191/0.4283/0.06555
-3  4  22.5 7.5Y3/4   CIExyY:0.4086/0.4379/0.06555
-3  4  25   10Y3/4    CIExyY:0.3961/0.4452/0.06555
-3  3  17.5 2.5Y3/3   CIExyY:0.3996/0.3944/0.06555
-3  3  20   5Y3/3     CIExyY:0.3923/0.4025/0.06555
-3  3  22.5 7.5Y3/3   CIExyY:0.3841/0.4085/0.06555
-3  3  25   10Y3/3    CIExyY:0.3739/0.4124/0.06555
-3  2  17.5 2.5Y3/2   CIExyY:0.3703/0.37/0.06555
-3  2  20   5Y3/2     CIExyY:0.3646/0.3748/0.06555
-3  2  22.5 7.5Y3/2   CIExyY:0.3589/0.3778/0.06555
-3  2  25   10Y3/2    CIExyY:0.3513/0.3789/0.06555
-3  1  20   5Y3/1     CIExyY:0.3369/0.3458/0.06555
-3  1  25   10Y3/1    CIExyY:0.3296/0.3464/0.06555
-2  4  17.5 2.5Y2/4   CIExyY:0.4627/0.4392/0.03126
-2  4  20   5Y2/4     CIExyY:0.4543/0.4573/0.03126
-2  4  22.5 7.5Y2/4   CIExyY:0.4401/0.4723/0.03126
-2  4  25   10Y2/4    CIExyY:0.4188/0.4789/0.03126
-2  2  17.5 2.5Y2/2   CIExyY:0.3825/0.3785/0.03126
-2  2  20   5Y2/2     CIExyY:0.3757/0.3839/0.03126
-2  2  22.5 7.5Y2/2   CIExyY:0.366/0.3858/0.03126
-2  2  25   10Y2/2    CIExyY:0.3556/0.3848/0.03126
-2  1  20   5Y2/1     CIExyY:0.3413/0.3494/0.03126
-2  1  25   10Y2/1    CIExyY:0.3306/0.3474/0.03126
-1  2  17.5 2.5Y1/2   CIExyY:0.4362/0.4177/0.0121
-1  2  20   5Y1/2     CIExyY:0.423/0.4265/0.0121
-1  2  22.5 7.5Y1/2   CIExyY:0.4042/0.4287/0.0121
-1  2  25   10Y1/2    CIExyY:0.3802/0.4212/0.0121
-9  18 27.5 2.5GY9/18 CIExyY:0.4354/0.5508/0.7866
-9  18 30   5GY9/18   CIExyY:0.4108/0.5699/0.7866
-9  18 32.5 7.5GY9/18 CIExyY:0.3602/0.592/0.7866
-9  18 35   10GY9/18  CIExyY:0.3032/0.5748/0.7866
-9  16 27.5 2.5GY9/16 CIExyY:0.4288/0.5383/0.7866
-9  16 30   5GY9/16   CIExyY:0.4058/0.5541/0.7866
-9  16 32.5 7.5GY9/16 CIExyY:0.3581/0.5654/0.7866
-9  16 35   10GY9/16  CIExyY:0.3079/0.544/0.7866
-9  14 27.5 2.5GY9/14 CIExyY:0.4212/0.5237/0.7866
-9  14 30   5GY9/14   CIExyY:0.3993/0.5329/0.7866
-9  14 32.5 7.5GY9/14 CIExyY:0.3551/0.5339/0.7866
-9  14 35   10GY9/14  CIExyY:0.3115/0.5129/0.7866
-9  12 27.5 2.5GY9/12 CIExyY:0.4108/0.5028/0.7866
-9  12 30   5GY9/12   CIExyY:0.3911/0.5082/0.7866
-9  12 32.5 7.5GY9/12 CIExyY:0.3518/0.5042/0.7866
-9  12 35   10GY9/12  CIExyY:0.3139/0.4829/0.7866
-9  10 27.5 2.5GY9/10 CIExyY:0.3973/0.4761/0.7866
-9  10 30   5GY9/10   CIExyY:0.381/0.4791/0.7866
-9  10 32.5 7.5GY9/10 CIExyY:0.3471/0.4735/0.7866
-9  10 35   10GY9/10  CIExyY:0.3155/0.4558/0.7866
-9  8  27.5 2.5GY9/8  CIExyY:0.3834/0.449/0.7866
-9  8  30   5GY9/8    CIExyY:0.3698/0.4497/0.7866
-9  8  32.5 7.5GY9/8  CIExyY:0.3414/0.4415/0.7866
-9  8  35   10GY9/8   CIExyY:0.3157/0.4259/0.7866
-9  6  27.5 2.5GY9/6  CIExyY:0.367/0.4178/0.7866
-9  6  30   5GY9/6    CIExyY:0.3572/0.4179/0.7866
-9  6  32.5 7.5GY9/6  CIExyY:0.3351/0.4111/0.7866
-9  6  35   10GY9/6   CIExyY:0.3153/0.4008/0.7866
-9  4  27.5 2.5GY9/4  CIExyY:0.3499/0.3866/0.7866
-9  4  30   5GY9/4    CIExyY:0.3437/0.3861/0.7866
-9  4  32.5 7.5GY9/4  CIExyY:0.3274/0.3791/0.7866
-9  4  35   10GY9/4   CIExyY:0.3144/0.3711/0.7866
-9  3  27.5 2.5GY9/3  CIExyY:0.3413/0.3707/0.7866
-9  3  30   5GY9/3    CIExyY:0.3364/0.3701/0.7866
-9  3  32.5 7.5GY9/3  CIExyY:0.3237/0.3648/0.7866
-9  3  35   10GY9/3   CIExyY:0.3135/0.3582/0.7866
-9  2  27.5 2.5GY9/2  CIExyY:0.3321/0.3539/0.7866
-9  2  30   5GY9/2    CIExyY:0.3284/0.3534/0.7866
-9  2  32.5 7.5GY9/2  CIExyY:0.3193/0.35/0.7866
-9  2  35   10GY9/2   CIExyY:0.3124/0.3454/0.7866
-9  1  30   5GY9/1    CIExyY:0.3197/0.3356/0.7866
-9  1  35   10GY9/1   CIExyY:0.3112/0.3317/0.7866
-8  24 35   10GY8/24  CIExyY:0.2781/0.684/0.591
-8  22 35   10GY8/22  CIExyY:0.2846/0.6564/0.591
-8  20 30   5GY8/20   CIExyY:0.4127/0.5855/0.591
-8  20 32.5 7.5GY8/20 CIExyY:0.3592/0.6235/0.591
-8  20 35   10GY8/20  CIExyY:0.2918/0.6255/0.591
-8  18 27.5 2.5GY8/18 CIExyY:0.4371/0.5557/0.591
-8  18 30   5GY8/18   CIExyY:0.4104/0.5785/0.591
-8  18 32.5 7.5GY8/18 CIExyY:0.3585/0.6063/0.591
-8  18 35   10GY8/18  CIExyY:0.2987/0.5919/0.591
-8  16 27.5 2.5GY8/16 CIExyY:0.4327/0.5475/0.591
-8  16 30   5GY8/16   CIExyY:0.4061/0.5641/0.591
-8  16 32.5 7.5GY8/16 CIExyY:0.3569/0.5798/0.591
-8  16 35   10GY8/16  CIExyY:0.3043/0.5578/0.591
-8  14 27.5 2.5GY8/14 CIExyY:0.4261/0.5344/0.591
-8  14 30   5GY8/14   CIExyY:0.4011/0.5468/0.591
-8  14 32.5 7.5GY8/14 CIExyY:0.3546/0.549/0.591
-8  14 35   10GY8/14  CIExyY:0.3091/0.5247/0.591
-8  12 27.5 2.5GY8/12 CIExyY:0.4154/0.5133/0.591
-8  12 30   5GY8/12   CIExyY:0.3924/0.5199/0.591
-8  12 32.5 7.5GY8/12 CIExyY:0.3511/0.5144/0.591
-8  12 35   10GY8/12  CIExyY:0.3124/0.4926/0.591
-8  10 27.5 2.5GY8/10 CIExyY:0.4021/0.4869/0.591
-8  10 30   5GY8/10   CIExyY:0.3816/0.4879/0.591
-8  10 32.5 7.5GY8/10 CIExyY:0.3463/0.4791/0.591
-8  10 35   10GY8/10  CIExyY:0.314/0.4601/0.591
-8  8  27.5 2.5GY8/8  CIExyY:0.3858/0.455/0.591
-8  8  30   5GY8/8    CIExyY:0.3696/0.4542/0.591
-8  8  32.5 7.5GY8/8  CIExyY:0.3408/0.4452/0.591
-8  8  35   10GY8/8   CIExyY:0.3149/0.4284/0.591
-8  6  27.5 2.5GY8/6  CIExyY:0.369/0.423/0.591
-8  6  30   5GY8/6    CIExyY:0.3573/0.4214/0.591
-8  6  32.5 7.5GY8/6  CIExyY:0.3339/0.4129/0.591
-8  6  35   10GY8/6   CIExyY:0.315/0.4014/0.591
-8  4  27.5 2.5GY8/4  CIExyY:0.3504/0.3887/0.591
-8  4  30   5GY8/4    CIExyY:0.3433/0.3872/0.591
-8  4  32.5 7.5GY8/4  CIExyY:0.3266/0.3809/0.591
-8  4  35   10GY8/4   CIExyY:0.314/0.3727/0.591
-8  3  27.5 2.5GY8/3  CIExyY:0.3418/0.3724/0.591
-8  3  30   5GY8/3    CIExyY:0.3361/0.3709/0.591
-8  3  32.5 7.5GY8/3  CIExyY:0.3231/0.3657/0.591
-8  3  35   10GY8/3   CIExyY:0.3131/0.3594/0.591
-8  2  27.5 2.5GY8/2  CIExyY:0.3327/0.3555/0.591
-8  2  30   5GY8/2    CIExyY:0.3284/0.3542/0.591
-8  2  32.5 7.5GY8/2  CIExyY:0.3194/0.3502/0.591
-8  2  35   10GY8/2   CIExyY:0.3121/0.3459/0.591
-8  1  30   5GY8/1    CIExyY:0.3193/0.3362/0.591
-8  1  35   10GY8/1   CIExyY:0.3111/0.3317/0.591
-7  22 35   10GY7/22  CIExyY:0.2728/0.6893/0.4306
-7  20 35   10GY7/20  CIExyY:0.2816/0.6563/0.4306
-7  18 32.5 7.5GY7/18 CIExyY:0.3555/0.6242/0.4306
-7  18 35   10GY7/18  CIExyY:0.2905/0.6186/0.4306
-7  16 27.5 2.5GY7/16 CIExyY:0.4366/0.5573/0.4306
-7  16 30   5GY7/16   CIExyY:0.4076/0.5783/0.4306
-7  16 32.5 7.5GY7/16 CIExyY:0.3549/0.6/0.4306
-7  16 35   10GY7/16  CIExyY:0.2981/0.5835/0.4306
-7  14 27.5 2.5GY7/14 CIExyY:0.4309/0.5459/0.4306
-7  14 30   5GY7/14   CIExyY:0.4027/0.5615/0.4306
-7  14 32.5 7.5GY7/14 CIExyY:0.3532/0.57/0.4306
-7  14 35   10GY7/14  CIExyY:0.3047/0.5458/0.4306
-7  12 27.5 2.5GY7/12 CIExyY:0.4213/0.527/0.4306
-7  12 30   5GY7/12   CIExyY:0.3949/0.5367/0.4306
-7  12 32.5 7.5GY7/12 CIExyY:0.3502/0.5328/0.4306
-7  12 35   10GY7/12  CIExyY:0.3092/0.5095/0.4306
-7  10 27.5 2.5GY7/10 CIExyY:0.4091/0.503/0.4306
-7  10 30   5GY7/10   CIExyY:0.3852/0.5051/0.4306
-7  10 32.5 7.5GY7/10 CIExyY:0.3461/0.495/0.4306
-7  10 35   10GY7/10  CIExyY:0.3123/0.4732/0.4306
-7  8  27.5 2.5GY7/8  CIExyY:0.3919/0.4681/0.4306
-7  8  30   5GY7/8    CIExyY:0.3722/0.4669/0.4306
-7  8  32.5 7.5GY7/8  CIExyY:0.3406/0.4558/0.4306
-7  8  35   10GY7/8   CIExyY:0.314/0.4387/0.4306
-7  6  27.5 2.5GY7/6  CIExyY:0.3728/0.4316/0.4306
-7  6  30   5GY7/6    CIExyY:0.3581/0.4291/0.4306
-7  6  32.5 7.5GY7/6  CIExyY:0.3341/0.4191/0.4306
-7  6  35   10GY7/6   CIExyY:0.3142/0.4058/0.4306
-7  4  27.5 2.5GY7/4  CIExyY:0.3534/0.3953/0.4306
-7  4  30   5GY7/4    CIExyY:0.3437/0.3929/0.4306
-7  4  32.5 7.5GY7/4  CIExyY:0.3267/0.3848/0.4306
-7  4  35   10GY7/4   CIExyY:0.3133/0.3764/0.4306
-7  3  27.5 2.5GY7/3  CIExyY:0.3433/0.3764/0.4306
-7  3  30   5GY7/3    CIExyY:0.3363/0.3746/0.4306
-7  3  32.5 7.5GY7/3  CIExyY:0.3229/0.3683/0.4306
-7  3  35   10GY7/3   CIExyY:0.3125/0.3617/0.4306
-7  2  27.5 2.5GY7/2  CIExyY:0.3328/0.3569/0.4306
-7  2  30   5GY7/2    CIExyY:0.3284/0.3559/0.4306
-7  2  32.5 7.5GY7/2  CIExyY:0.319/0.3516/0.4306
-7  2  35   10GY7/2   CIExyY:0.3117/0.3469/0.4306
-7  1  30   5GY7/1    CIExyY:0.3198/0.3365/0.4306
-7  1  35   10GY7/1   CIExyY:0.3109/0.3318/0.4306
-6  20 35   10GY6/20  CIExyY:0.2648/0.7004/0.3005
-6  18 35   10GY6/18  CIExyY:0.2763/0.6616/0.3005
-6  16 32.5 7.5GY6/16 CIExyY:0.3493/0.6282/0.3005
-6  16 35   10GY6/16  CIExyY:0.2872/0.6199/0.3005
-6  14 27.5 2.5GY6/14 CIExyY:0.4354/0.5594/0.3005
-6  14 30   5GY6/14   CIExyY:0.4042/0.5788/0.3005
-6  14 32.5 7.5GY6/14 CIExyY:0.3498/0.5985/0.3005
-6  14 35   10GY6/14  CIExyY:0.2962/0.5802/0.3005
-6  12 27.5 2.5GY6/12 CIExyY:0.4269/0.5414/0.3005
-6  12 30   5GY6/12   CIExyY:0.398/0.5564/0.3005
-6  12 32.5 7.5GY6/12 CIExyY:0.3488/0.5596/0.3005
-6  12 35   10GY6/12  CIExyY:0.3037/0.5358/0.3005
-6  10 27.5 2.5GY6/10 CIExyY:0.4159/0.519/0.3005
-6  10 30   5GY6/10   CIExyY:0.3891/0.5264/0.3005
-6  10 32.5 7.5GY6/10 CIExyY:0.3463/0.5196/0.3005
-6  10 35   10GY6/10  CIExyY:0.3086/0.4949/0.3005
-6  8  27.5 2.5GY6/8  CIExyY:0.4006/0.4885/0.3005
-6  8  30   5GY6/8    CIExyY:0.3772/0.488/0.3005
-6  8  32.5 7.5GY6/8  CIExyY:0.3418/0.4768/0.3005
-6  8  35   10GY6/8   CIExyY:0.3116/0.4563/0.3005
-6  6  27.5 2.5GY6/6  CIExyY:0.3799/0.447/0.3005
-6  6  30   5GY6/6    CIExyY:0.3622/0.4438/0.3005
-6  6  32.5 7.5GY6/6  CIExyY:0.3351/0.4321/0.3005
-6  6  35   10GY6/6   CIExyY:0.3128/0.4175/0.3005
-6  4  27.5 2.5GY6/4  CIExyY:0.3572/0.4038/0.3005
-6  4  30   5GY6/4    CIExyY:0.3461/0.4008/0.3005
-6  4  32.5 7.5GY6/4  CIExyY:0.3275/0.3922/0.3005
-6  4  35   10GY6/4   CIExyY:0.3124/0.3822/0.3005
-6  3  27.5 2.5GY6/3  CIExyY:0.3458/0.3823/0.3005
-6  3  30   5GY6/3    CIExyY:0.3376/0.38/0.3005
-6  3  32.5 7.5GY6/3  CIExyY:0.3235/0.3735/0.3005
-6  3  35   10GY6/3   CIExyY:0.3118/0.3658/0.3005
-6  2  27.5 2.5GY6/2  CIExyY:0.3342/0.3607/0.3005
-6  2  30   5GY6/2    CIExyY:0.3288/0.3592/0.3005
-6  2  32.5 7.5GY6/2  CIExyY:0.3193/0.355/0.3005
-6  2  35   10GY6/2   CIExyY:0.3112/0.3496/0.3005
-6  1  30   5GY6/1    CIExyY:0.3196/0.3381/0.3005
-6  1  35   10GY6/1   CIExyY:0.3106/0.3332/0.3005
-5  18 35   10GY5/18  CIExyY:0.2549/0.7179/0.1977
-5  16 35   10GY5/16  CIExyY:0.2702/0.67/0.1977
-5  14 32.5 7.5GY5/14 CIExyY:0.3429/0.6335/0.1977
-5  14 35   10GY5/14  CIExyY:0.2838/0.6208/0.1977
-5  12 27.5 2.5GY5/12 CIExyY:0.4333/0.5602/0.1977
-5  12 30   5GY5/12   CIExyY:0.4011/0.5802/0.1977
-5  12 32.5 7.5GY5/12 CIExyY:0.345/0.5949/0.1977
-5  12 35   10GY5/12  CIExyY:0.294/0.5751/0.1977
-5  10 27.5 2.5GY5/10 CIExyY:0.4224/0.5369/0.1977
-5  10 30   5GY5/10   CIExyY:0.3928/0.5485/0.1977
-5  10 32.5 7.5GY5/10 CIExyY:0.3451/0.549/0.1977
-5  10 35   10GY5/10  CIExyY:0.3028/0.5237/0.1977
-5  8  27.5 2.5GY5/8  CIExyY:0.4088/0.5068/0.1977
-5  8  30   5GY5/8    CIExyY:0.3815/0.5093/0.1977
-5  8  32.5 7.5GY5/8  CIExyY:0.3412/0.4976/0.1977
-5  8  35   10GY5/8   CIExyY:0.308/0.4759/0.1977
-5  6  27.5 2.5GY5/6  CIExyY:0.3879/0.4646/0.1977
-5  6  30   5GY5/6    CIExyY:0.3663/0.4614/0.1977
-5  6  32.5 7.5GY5/6  CIExyY:0.3354/0.4483/0.1977
-5  6  35   10GY5/6   CIExyY:0.3108/0.4301/0.1977
-5  4  27.5 2.5GY5/4  CIExyY:0.3621/0.4143/0.1977
-5  4  30   5GY5/4    CIExyY:0.3482/0.4097/0.1977
-5  4  32.5 7.5GY5/4  CIExyY:0.3274/0.3994/0.1977
-5  4  35   10GY5/4   CIExyY:0.3111/0.3881/0.1977
-5  3  27.5 2.5GY5/3  CIExyY:0.3486/0.3888/0.1977
-5  3  30   5GY5/3    CIExyY:0.3386/0.385/0.1977
-5  3  32.5 7.5GY5/3  CIExyY:0.3231/0.3771/0.1977
-5  3  35   10GY5/3   CIExyY:0.3111/0.369/0.1977
-5  2  27.5 2.5GY5/2  CIExyY:0.3352/0.3636/0.1977
-5  2  30   5GY5/2    CIExyY:0.3289/0.3612/0.1977
-5  2  32.5 7.5GY5/2  CIExyY:0.3188/0.356/0.1977
-5  2  35   10GY5/2   CIExyY:0.311/0.3508/0.1977
-5  1  30   5GY5/1    CIExyY:0.3193/0.3383/0.1977
-5  1  35   10GY5/1   CIExyY:0.3107/0.3333/0.1977
-4  16 35   10GY4/16  CIExyY:0.2422/0.736/0.12
-4  14 35   10GY4/14  CIExyY:0.259/0.6858/0.12
-4  12 32.5 7.5GY4/12 CIExyY:0.3348/0.6468/0.12
-4  12 35   10GY4/12  CIExyY:0.2758/0.6282/0.12
-4  10 30   5GY4/10   CIExyY:0.3983/0.585/0.12
-4  10 32.5 7.5GY4/10 CIExyY:0.3395/0.5913/0.12
-4  10 35   10GY4/10  CIExyY:0.2908/0.5672/0.12
-4  8  27.5 2.5GY4/8  CIExyY:0.4174/0.53/0.12
-4  8  30   5GY4/8    CIExyY:0.3868/0.5384/0.12
-4  8  32.5 7.5GY4/8  CIExyY:0.34/0.5348/0.12
-4  8  35   10GY4/8   CIExyY:0.3008/0.5095/0.12
-4  6  27.5 2.5GY4/6  CIExyY:0.3968/0.4857/0.12
-4  6  30   5GY4/6    CIExyY:0.3718/0.4852/0.12
-4  6  32.5 7.5GY4/6  CIExyY:0.3355/0.4739/0.12
-4  6  35   10GY4/6   CIExyY:0.3069/0.455/0.12
-4  4  27.5 2.5GY4/4  CIExyY:0.3708/0.4329/0.12
-4  4  30   5GY4/4    CIExyY:0.3538/0.4284/0.12
-4  4  32.5 7.5GY4/4  CIExyY:0.3281/0.4157/0.12
-4  4  35   10GY4/4   CIExyY:0.31/0.4018/0.12
-4  3  27.5 2.5GY4/3  CIExyY:0.3546/0.4018/0.12
-4  3  30   5GY4/3    CIExyY:0.3427/0.3978/0.12
-4  3  32.5 7.5GY4/3  CIExyY:0.3234/0.3872/0.12
-4  3  35   10GY4/3   CIExyY:0.3107/0.3775/0.12
-4  2  27.5 2.5GY4/2  CIExyY:0.3382/0.3706/0.12
-4  2  30   5GY4/2    CIExyY:0.3312/0.3678/0.12
-4  2  32.5 7.5GY4/2  CIExyY:0.3185/0.3604/0.12
-4  2  35   10GY4/2   CIExyY:0.3109/0.355/0.12
-4  1  30   5GY4/1    CIExyY:0.3201/0.3401/0.12
-4  1  35   10GY4/1   CIExyY:0.3107/0.3345/0.12
-3  14 35   10GY3/14  CIExyY:0.2283/0.7423/0.06555
-3  12 35   10GY3/12  CIExyY:0.2531/0.67/0.06555
-3  10 32.5 7.5GY3/10 CIExyY:0.3266/0.6448/0.06555
-3  10 35   10GY3/10  CIExyY:0.2724/0.6026/0.06555
-3  8  30   5GY3/8    CIExyY:0.3924/0.5832/0.06555
-3  8  32.5 7.5GY3/8  CIExyY:0.3341/0.57/0.06555
-3  8  35   10GY3/8   CIExyY:0.2887/0.5361/0.06555
-3  6  27.5 2.5GY3/6  CIExyY:0.4069/0.511/0.06555
-3  6  30   5GY3/6    CIExyY:0.375/0.5109/0.06555
-3  6  32.5 7.5GY3/6  CIExyY:0.3333/0.4967/0.06555
-3  6  35   10GY3/6   CIExyY:0.2992/0.4717/0.06555
-3  4  27.5 2.5GY3/4  CIExyY:0.3772/0.4484/0.06555
-3  4  30   5GY3/4    CIExyY:0.3554/0.4429/0.06555
-3  4  32.5 7.5GY3/4  CIExyY:0.327/0.4288/0.06555
-3  4  35   10GY3/4   CIExyY:0.3053/0.4123/0.06555
-3  3  27.5 2.5GY3/3  CIExyY:0.3593/0.4125/0.06555
-3  3  30   5GY3/3    CIExyY:0.3438/0.4072/0.06555
-3  3  32.5 7.5GY3/3  CIExyY:0.3226/0.3954/0.06555
-3  3  35   10GY3/3   CIExyY:0.3073/0.3839/0.06555
-3  2  27.5 2.5GY3/2  CIExyY:0.3412/0.3768/0.06555
-3  2  30   5GY3/2    CIExyY:0.3319/0.3729/0.06555
-3  2  32.5 7.5GY3/2  CIExyY:0.318/0.3644/0.06555
-3  2  35   10GY3/2   CIExyY:0.3088/0.3578/0.06555
-3  1  30   5GY3/1    CIExyY:0.3204/0.342/0.06555
-3  1  35   10GY3/1   CIExyY:0.3097/0.3349/0.06555
-2  12 35   10GY2/12  CIExyY:0.1907/0.7798/0.03126
-2  10 35   10GY2/10  CIExyY:0.2307/0.6814/0.03126
-2  8  32.5 7.5GY2/8  CIExyY:0.316/0.6509/0.03126
-2  8  35   10GY2/8   CIExyY:0.2628/0.5837/0.03126
-2  6  30   5GY2/6    CIExyY:0.3839/0.5748/0.03126
-2  6  32.5 7.5GY2/6  CIExyY:0.326/0.5379/0.03126
-2  6  35   10GY2/6   CIExyY:0.2852/0.4972/0.03126
-2  4  27.5 2.5GY2/4  CIExyY:0.3881/0.4752/0.03126
-2  4  30   5GY2/4    CIExyY:0.3582/0.465/0.03126
-2  4  32.5 7.5GY2/4  CIExyY:0.3248/0.4457/0.03126
-2  4  35   10GY2/4   CIExyY:0.2986/0.424/0.03126
-2  3  27.5 2.5GY2/3  CIExyY:0.3636/0.4239/0.03126
-2  3  30   5GY2/3    CIExyY:0.3442/0.4164/0.03126
-2  3  32.5 7.5GY2/3  CIExyY:0.321/0.4026/0.03126
-2  3  35   10GY2/3   CIExyY:0.3034/0.389/0.03126
-2  2  27.5 2.5GY2/2  CIExyY:0.3421/0.3803/0.03126
-2  2  30   5GY2/2    CIExyY:0.3309/0.3743/0.03126
-2  2  32.5 7.5GY2/2  CIExyY:0.3165/0.365/0.03126
-2  2  35   10GY2/2   CIExyY:0.3069/0.358/0.03126
-2  1  30   5GY2/1    CIExyY:0.3192/0.3404/0.03126
-2  1  35   10GY2/1   CIExyY:0.3091/0.333/0.03126
-1  6  35   10GY1/6   CIExyY:0.2232/0.6392/0.0121
-1  4  30   5GY1/4    CIExyY:0.3765/0.5942/0.0121
-1  4  32.5 7.5GY1/4  CIExyY:0.3133/0.538/0.0121
-1  4  35   10GY1/4   CIExyY:0.2722/0.4903/0.0121
-1  2  27.5 2.5GY1/2  CIExyY:0.354/0.4088/0.0121
-1  2  30   5GY1/2    CIExyY:0.3359/0.3982/0.0121
-1  2  32.5 7.5GY1/2  CIExyY:0.3154/0.384/0.0121
-1  2  35   10GY1/2   CIExyY:0.3006/0.372/0.0121
-9  16 37.5 2.5G9/16  CIExyY:0.263/0.4966/0.7866
-9  14 37.5 2.5G9/14  CIExyY:0.2711/0.4726/0.7866
-9  12 37.5 2.5G9/12  CIExyY:0.2786/0.4491/0.7866
-9  12 40   5G9/12    CIExyY:0.2528/0.416/0.7866
-9  12 42.5 7.5G9/12  CIExyY:0.2419/0.3985/0.7866
-9  12 45   10G9/12   CIExyY:0.2325/0.3796/0.7866
-9  10 37.5 2.5G9/10  CIExyY:0.2851/0.4275/0.7866
-9  10 40   5G9/10    CIExyY:0.2639/0.4001/0.7866
-9  10 42.5 7.5G9/10  CIExyY:0.2545/0.3855/0.7866
-9  10 45   10G9/10   CIExyY:0.2457/0.3702/0.7866
-9  8  37.5 2.5G9/8   CIExyY:0.2912/0.4054/0.7866
-9  8  40   5G9/8     CIExyY:0.2735/0.3854/0.7866
-9  8  42.5 7.5G9/8   CIExyY:0.2652/0.3738/0.7866
-9  8  45   10G9/8    CIExyY:0.2574/0.3618/0.7866
-9  6  37.5 2.5G9/6   CIExyY:0.2966/0.3846/0.7866
-9  6  40   5G9/6     CIExyY:0.2832/0.3697/0.7866
-9  6  42.5 7.5G9/6   CIExyY:0.2763/0.3607/0.7866
-9  6  45   10G9/6    CIExyY:0.2703/0.3513/0.7866
-9  4  37.5 2.5G9/4   CIExyY:0.3018/0.3606/0.7866
-9  4  40   5G9/4     CIExyY:0.2933/0.3519/0.7866
-9  4  42.5 7.5G9/4   CIExyY:0.2882/0.3461/0.7866
-9  4  45   10G9/4    CIExyY:0.284/0.3402/0.7866
-9  3  37.5 2.5G9/3   CIExyY:0.3039/0.3503/0.7866
-9  2  37.5 2.5G9/2   CIExyY:0.3058/0.34/0.7866
-9  2  40   5G9/2     CIExyY:0.3017/0.3357/0.7866
-9  2  42.5 7.5G9/2   CIExyY:0.2987/0.3323/0.7866
-9  2  45   10G9/2    CIExyY:0.2965/0.3293/0.7866
-9  1  40   5G9/1     CIExyY:0.3058/0.3267/0.7866
-9  1  45   10G9/1    CIExyY:0.303/0.3232/0.7866
-8  24 37.5 2.5G8/24  CIExyY:0.2091/0.6033/0.591
-8  22 37.5 2.5G8/22  CIExyY:0.2221/0.5799/0.591
-8  22 40   5G8/22    CIExyY:0.1821/0.494/0.591
-8  20 37.5 2.5G8/20  CIExyY:0.2339/0.5561/0.591
-8  20 40   5G8/20    CIExyY:0.1956/0.4806/0.591
-8  20 42.5 7.5G8/20  CIExyY:0.1845/0.4492/0.591
-8  20 45   10G8/20   CIExyY:0.1734/0.4164/0.591
-8  18 37.5 2.5G8/18  CIExyY:0.2451/0.5309/0.591
-8  18 40   5G8/18    CIExyY:0.2103/0.4652/0.591
-8  18 42.5 7.5G8/18  CIExyY:0.198/0.4372/0.591
-8  18 45   10G8/18   CIExyY:0.1866/0.4086/0.591
-8  16 37.5 2.5G8/16  CIExyY:0.2563/0.5045/0.591
-8  16 40   5G8/16    CIExyY:0.224/0.45/0.591
-8  16 42.5 7.5G8/16  CIExyY:0.212/0.4252/0.591
-8  16 45   10G8/16   CIExyY:0.2012/0.3992/0.591
-8  14 37.5 2.5G8/14  CIExyY:0.2661/0.478/0.591
-8  14 40   5G8/14    CIExyY:0.2368/0.4348/0.591
-8  14 42.5 7.5G8/14  CIExyY:0.2254/0.4125/0.591
-8  14 45   10G8/14   CIExyY:0.2148/0.3903/0.591
-8  12 37.5 2.5G8/12  CIExyY:0.2743/0.4554/0.591
-8  12 40   5G8/12    CIExyY:0.2489/0.4191/0.591
-8  12 42.5 7.5G8/12  CIExyY:0.238/0.4002/0.591
-8  12 45   10G8/12   CIExyY:0.2282/0.3811/0.591
-8  10 37.5 2.5G8/10  CIExyY:0.2829/0.4301/0.591
-8  10 40   5G8/10    CIExyY:0.2613/0.4026/0.591
-8  10 42.5 7.5G8/10  CIExyY:0.2515/0.3867/0.591
-8  10 45   10G8/10   CIExyY:0.243/0.371/0.591
-8  8  37.5 2.5G8/8   CIExyY:0.2896/0.4065/0.591
-8  8  40   5G8/8     CIExyY:0.2723/0.3865/0.591
-8  8  42.5 7.5G8/8   CIExyY:0.2639/0.3733/0.591
-8  8  45   10G8/8    CIExyY:0.2564/0.3611/0.591
-8  6  37.5 2.5G8/6   CIExyY:0.2952/0.3851/0.591
-8  6  40   5G8/6     CIExyY:0.2822/0.3702/0.591
-8  6  42.5 7.5G8/6   CIExyY:0.2754/0.3608/0.591
-8  6  45   10G8/6    CIExyY:0.2693/0.3512/0.591
-8  4  37.5 2.5G8/4   CIExyY:0.3009/0.3614/0.591
-8  4  40   5G8/4     CIExyY:0.2924/0.3523/0.591
-8  4  42.5 7.5G8/4   CIExyY:0.2874/0.3464/0.591
-8  4  45   10G8/4    CIExyY:0.2828/0.3403/0.591
-8  3  37.5 2.5G8/3   CIExyY:0.3032/0.3509/0.591
-8  3  40   5G8/3     CIExyY:0.2967/0.3442/0.591
-8  3  42.5 7.5G8/3   CIExyY:0.2927/0.3396/0.591
-8  3  45   10G8/3    CIExyY:0.2892/0.3349/0.591
-8  2  37.5 2.5G8/2   CIExyY:0.3053/0.3404/0.591
-8  2  40   5G8/2     CIExyY:0.3009/0.3359/0.591
-8  2  42.5 7.5G8/2   CIExyY:0.2981/0.3326/0.591
-8  2  45   10G8/2    CIExyY:0.2957/0.3293/0.591
-8  1  40   5G8/1     CIExyY:0.3053/0.3268/0.591
-8  1  45   10G8/1    CIExyY:0.3026/0.3232/0.591
-7  26 37.5 2.5G7/26  CIExyY:0.1689/0.6549/0.4306
-7  26 40   5G7/26    CIExyY:0.1397/0.5312/0.4306
-7  26 42.5 7.5G7/26  CIExyY:0.1303/0.4858/0.4306
-7  24 37.5 2.5G7/24  CIExyY:0.1875/0.6265/0.4306
-7  24 40   5G7/24    CIExyY:0.1521/0.52/0.4306
-7  24 42.5 7.5G7/24  CIExyY:0.1415/0.4778/0.4306
-7  24 45   10G7/24   CIExyY:0.131/0.4377/0.4306
-7  22 37.5 2.5G7/22  CIExyY:0.2029/0.6017/0.4306
-7  22 40   5G7/22    CIExyY:0.1659/0.5074/0.4306
-7  22 42.5 7.5G7/22  CIExyY:0.1539/0.4683/0.4306
-7  22 45   10G7/22   CIExyY:0.1434/0.4306/0.4306
-7  20 37.5 2.5G7/20  CIExyY:0.2181/0.5744/0.4306
-7  20 40   5G7/20    CIExyY:0.1805/0.4933/0.4306
-7  20 42.5 7.5G7/20  CIExyY:0.1688/0.457/0.4306
-7  20 45   10G7/20   CIExyY:0.1589/0.422/0.4306
-7  18 37.5 2.5G7/18  CIExyY:0.2328/0.5467/0.4306
-7  18 40   5G7/18    CIExyY:0.1967/0.4771/0.4306
-7  18 42.5 7.5G7/18  CIExyY:0.1841/0.4448/0.4306
-7  18 45   10G7/18   CIExyY:0.1734/0.4135/0.4306
-7  16 37.5 2.5G7/16  CIExyY:0.2448/0.5203/0.4306
-7  16 40   5G7/16    CIExyY:0.2111/0.4616/0.4306
-7  16 42.5 7.5G7/16  CIExyY:0.1982/0.433/0.4306
-7  16 45   10G7/16   CIExyY:0.1881/0.4049/0.4306
-7  14 37.5 2.5G7/14  CIExyY:0.2568/0.4931/0.4306
-7  14 40   5G7/14    CIExyY:0.2262/0.445/0.4306
-7  14 42.5 7.5G7/14  CIExyY:0.2139/0.4199/0.4306
-7  14 45   10G7/14   CIExyY:0.2033/0.3956/0.4306
-7  12 37.5 2.5G7/12  CIExyY:0.2672/0.4667/0.4306
-7  12 40   5G7/12    CIExyY:0.2416/0.4267/0.4306
-7  12 42.5 7.5G7/12  CIExyY:0.2295/0.4058/0.4306
-7  12 45   10G7/12   CIExyY:0.2195/0.3854/0.4306
-7  10 37.5 2.5G7/10  CIExyY:0.2775/0.4395/0.4306
-7  10 40   5G7/10    CIExyY:0.2554/0.4087/0.4306
-7  10 42.5 7.5G7/10  CIExyY:0.2445/0.3914/0.4306
-7  10 45   10G7/10   CIExyY:0.2352/0.3748/0.4306
-7  8  37.5 2.5G7/8   CIExyY:0.2861/0.4129/0.4306
-7  8  40   5G7/8     CIExyY:0.2687/0.3901/0.4306
-7  8  42.5 7.5G7/8   CIExyY:0.2595/0.3764/0.4306
-7  8  45   10G7/8    CIExyY:0.2513/0.3635/0.4306
-7  6  37.5 2.5G7/6   CIExyY:0.2933/0.3873/0.4306
-7  6  40   5G7/6     CIExyY:0.2801/0.3721/0.4306
-7  6  42.5 7.5G7/6   CIExyY:0.2728/0.3622/0.4306
-7  6  45   10G7/6    CIExyY:0.2662/0.3526/0.4306
-7  4  37.5 2.5G7/4   CIExyY:0.2992/0.3644/0.4306
-7  4  40   5G7/4     CIExyY:0.2902/0.3548/0.4306
-7  4  42.5 7.5G7/4   CIExyY:0.285/0.3482/0.4306
-7  4  45   10G7/4    CIExyY:0.2803/0.3415/0.4306
-7  3  37.5 2.5G7/3   CIExyY:0.302/0.353/0.4306
-7  3  40   5G7/3     CIExyY:0.2952/0.3459/0.4306
-7  3  42.5 7.5G7/3   CIExyY:0.2911/0.3409/0.4306
-7  3  45   10G7/3    CIExyY:0.2873/0.3357/0.4306
-7  2  37.5 2.5G7/2   CIExyY:0.3047/0.3413/0.4306
-7  2  40   5G7/2     CIExyY:0.3001/0.3366/0.4306
-7  2  42.5 7.5G7/2   CIExyY:0.2972/0.3333/0.4306
-7  2  45   10G7/2    CIExyY:0.2945/0.3297/0.4306
-7  1  40   5G7/1     CIExyY:0.3051/0.3268/0.4306
-7  1  45   10G7/1    CIExyY:0.302/0.3233/0.4306
-6  28 37.5 2.5G6/28  CIExyY:0.1145/0.7122/0.3005
-6  28 40   5G6/28    CIExyY:0.0908/0.5695/0.3005
-6  28 42.5 7.5G6/28  CIExyY:0.0858/0.5127/0.3005
-6  26 37.5 2.5G6/26  CIExyY:0.134/0.6871/0.3005
-6  26 40   5G6/26    CIExyY:0.1079/0.556/0.3005
-6  26 42.5 7.5G6/26  CIExyY:0.101/0.5018/0.3005
-6  26 45   10G6/26   CIExyY:0.0941/0.452/0.3005
-6  24 37.5 2.5G6/24  CIExyY:0.1536/0.6605/0.3005
-6  24 40   5G6/24    CIExyY:0.1252/0.5408/0.3005
-6  24 42.5 7.5G6/24  CIExyY:0.1159/0.491/0.3005
-6  24 45   10G6/24   CIExyY:0.107/0.4458/0.3005
-6  22 37.5 2.5G6/22  CIExyY:0.1739/0.6318/0.3005
-6  22 40   5G6/22    CIExyY:0.1432/0.5252/0.3005
-6  22 42.5 7.5G6/22  CIExyY:0.1325/0.4795/0.3005
-6  22 45   10G6/22   CIExyY:0.123/0.4378/0.3005
-6  20 37.5 2.5G6/20  CIExyY:0.1922/0.6035/0.3005
-6  20 40   5G6/20    CIExyY:0.1609/0.5091/0.3005
-6  20 42.5 7.5G6/20  CIExyY:0.1485/0.4677/0.3005
-6  20 45   10G6/20   CIExyY:0.1382/0.4299/0.3005
-6  18 37.5 2.5G6/18  CIExyY:0.2102/0.5737/0.3005
-6  18 40   5G6/18    CIExyY:0.1785/0.4924/0.3005
-6  18 42.5 7.5G6/18  CIExyY:0.1654/0.4551/0.3005
-6  18 45   10G6/18   CIExyY:0.1551/0.4208/0.3005
-6  16 37.5 2.5G6/16  CIExyY:0.2278/0.543/0.3005
-6  16 40   5G6/16    CIExyY:0.196/0.4751/0.3005
-6  16 42.5 7.5G6/16  CIExyY:0.1832/0.4414/0.3005
-6  16 45   10G6/16   CIExyY:0.1722/0.4113/0.3005
-6  14 37.5 2.5G6/14  CIExyY:0.2426/0.5133/0.3005
-6  14 40   5G6/14    CIExyY:0.213/0.4571/0.3005
-6  14 42.5 7.5G6/14  CIExyY:0.2001/0.4278/0.3005
-6  14 45   10G6/14   CIExyY:0.1895/0.4015/0.3005
-6  12 37.5 2.5G6/12  CIExyY:0.2574/0.4814/0.3005
-6  12 40   5G6/12    CIExyY:0.2293/0.439/0.3005
-6  12 42.5 7.5G6/12  CIExyY:0.2171/0.4138/0.3005
-6  12 45   10G6/12   CIExyY:0.206/0.3914/0.3005
-6  10 37.5 2.5G6/10  CIExyY:0.269/0.453/0.3005
-6  10 40   5G6/10    CIExyY:0.2466/0.4181/0.3005
-6  10 42.5 7.5G6/10  CIExyY:0.235/0.3979/0.3005
-6  10 45   10G6/10   CIExyY:0.2247/0.3796/0.3005
-6  8  37.5 2.5G6/8   CIExyY:0.2799/0.4239/0.3005
-6  8  40   5G6/8     CIExyY:0.2612/0.399/0.3005
-6  8  42.5 7.5G6/8   CIExyY:0.251/0.3829/0.3005
-6  8  45   10G6/8    CIExyY:0.242/0.3679/0.3005
-6  6  37.5 2.5G6/6   CIExyY:0.2892/0.3963/0.3005
-6  6  40   5G6/6     CIExyY:0.2748/0.3795/0.3005
-6  6  42.5 7.5G6/6   CIExyY:0.2662/0.3672/0.3005
-6  6  45   10G6/6    CIExyY:0.2591/0.3558/0.3005
-6  4  37.5 2.5G6/4   CIExyY:0.2967/0.3695/0.3005
-6  4  40   5G6/4     CIExyY:0.2868/0.3595/0.3005
-6  4  42.5 7.5G6/4   CIExyY:0.2807/0.3522/0.3005
-6  4  45   10G6/4    CIExyY:0.2749/0.3443/0.3005
-6  3  37.5 2.5G6/3   CIExyY:0.3004/0.3566/0.3005
-6  3  40   5G6/3     CIExyY:0.2928/0.349/0.3005
-6  3  42.5 7.5G6/3   CIExyY:0.2883/0.3435/0.3005
-6  3  45   10G6/3    CIExyY:0.2838/0.3375/0.3005
-6  2  37.5 2.5G6/2   CIExyY:0.3039/0.3437/0.3005
-6  2  40   5G6/2     CIExyY:0.2988/0.3382/0.3005
-6  2  42.5 7.5G6/2   CIExyY:0.2958/0.3344/0.3005
-6  2  45   10G6/2    CIExyY:0.2929/0.3303/0.3005
-6  1  40   5G6/1     CIExyY:0.3046/0.3273/0.3005
-6  1  45   10G6/1    CIExyY:0.3018/0.3231/0.3005
-5  28 37.5 2.5G5/28  CIExyY:0.0794/0.7385/0.1977
-5  28 40   5G5/28    CIExyY:0.0609/0.5898/0.1977
-5  28 42.5 7.5G5/28  CIExyY:0.0585/0.5224/0.1977
-5  28 45   10G5/28   CIExyY:0.0572/0.459/0.1977
-5  26 37.5 2.5G5/26  CIExyY:0.0992/0.7155/0.1977
-5  26 40   5G5/26    CIExyY:0.0784/0.5761/0.1977
-5  26 42.5 7.5G5/26  CIExyY:0.073/0.5131/0.1977
-5  26 45   10G5/26   CIExyY:0.069/0.4542/0.1977
-5  24 37.5 2.5G5/24  CIExyY:0.1188/0.6918/0.1977
-5  24 40   5G5/24    CIExyY:0.0953/0.5628/0.1977
-5  24 42.5 7.5G5/24  CIExyY:0.0878/0.5039/0.1977
-5  24 45   10G5/24   CIExyY:0.0811/0.4491/0.1977
-5  22 37.5 2.5G5/22  CIExyY:0.1377/0.6674/0.1977
-5  22 40   5G5/22    CIExyY:0.1144/0.5463/0.1977
-5  22 42.5 7.5G5/22  CIExyY:0.105/0.4927/0.1977
-5  22 45   10G5/22   CIExyY:0.0958/0.4428/0.1977
-5  20 37.5 2.5G5/20  CIExyY:0.1579/0.6392/0.1977
-5  20 40   5G5/20    CIExyY:0.1318/0.5321/0.1977
-5  20 42.5 7.5G5/20  CIExyY:0.1212/0.4817/0.1977
-5  20 45   10G5/20   CIExyY:0.112/0.436/0.1977
-5  18 37.5 2.5G5/18  CIExyY:0.1782/0.6095/0.1977
-5  18 40   5G5/18    CIExyY:0.1489/0.5171/0.1977
-5  18 42.5 7.5G5/18  CIExyY:0.1372/0.4705/0.1977
-5  18 45   10G5/18   CIExyY:0.1275/0.4288/0.1977
-5  16 37.5 2.5G5/16  CIExyY:0.2005/0.5759/0.1977
-5  16 40   5G5/16    CIExyY:0.1695/0.4981/0.1977
-5  16 42.5 7.5G5/16  CIExyY:0.1571/0.4561/0.1977
-5  16 45   10G5/16   CIExyY:0.1469/0.4192/0.1977
-5  14 37.5 2.5G5/14  CIExyY:0.2211/0.5411/0.1977
-5  14 40   5G5/14    CIExyY:0.1912/0.4773/0.1977
-5  14 42.5 7.5G5/14  CIExyY:0.1776/0.4415/0.1977
-5  14 45   10G5/14   CIExyY:0.1671/0.4089/0.1977
-5  12 37.5 2.5G5/12  CIExyY:0.2385/0.5071/0.1977
-5  12 40   5G5/12    CIExyY:0.2104/0.4578/0.1977
-5  12 42.5 7.5G5/12  CIExyY:0.1964/0.4271/0.1977
-5  12 45   10G5/12   CIExyY:0.1852/0.3992/0.1977
-5  10 37.5 2.5G5/10  CIExyY:0.2565/0.4705/0.1977
-5  10 40   5G5/10    CIExyY:0.2329/0.4331/0.1977
-5  10 42.5 7.5G5/10  CIExyY:0.22/0.4082/0.1977
-5  10 45   10G5/10   CIExyY:0.2095/0.3853/0.1977
-5  8  37.5 2.5G5/8   CIExyY:0.271/0.438/0.1977
-5  8  40   5G5/8     CIExyY:0.2511/0.4107/0.1977
-5  8  42.5 7.5G5/8   CIExyY:0.2395/0.3915/0.1977
-5  8  45   10G5/8    CIExyY:0.2297/0.373/0.1977
-5  6  37.5 2.5G5/6   CIExyY:0.2841/0.4045/0.1977
-5  6  40   5G5/6     CIExyY:0.269/0.386/0.1977
-5  6  42.5 7.5G5/6   CIExyY:0.2598/0.3724/0.1977
-5  6  45   10G5/6    CIExyY:0.2519/0.3587/0.1977
-5  4  37.5 2.5G5/4   CIExyY:0.2943/0.3735/0.1977
-5  4  40   5G5/4     CIExyY:0.2841/0.3628/0.1977
-5  4  42.5 7.5G5/4   CIExyY:0.2775/0.3545/0.1977
-5  4  45   10G5/4    CIExyY:0.2711/0.3455/0.1977
-5  3  37.5 2.5G5/3   CIExyY:0.2988/0.3588/0.1977
-5  3  40   5G5/3     CIExyY:0.2911/0.351/0.1977
-5  3  42.5 7.5G5/3   CIExyY:0.2861/0.3451/0.1977
-5  3  45   10G5/3    CIExyY:0.2811/0.3383/0.1977
-5  2  37.5 2.5G5/2   CIExyY:0.303/0.3445/0.1977
-5  2  40   5G5/2     CIExyY:0.2978/0.3392/0.1977
-5  2  42.5 7.5G5/2   CIExyY:0.2945/0.3355/0.1977
-5  2  45   10G5/2    CIExyY:0.291/0.331/0.1977
-5  1  40   5G5/1     CIExyY:0.3041/0.3276/0.1977
-5  1  45   10G5/1    CIExyY:0.3007/0.3236/0.1977
-4  26 37.5 2.5G4/26  CIExyY:0.0528/0.7502/0.12
-4  26 40   5G4/26    CIExyY:0.0407/0.601/0.12
-4  26 42.5 7.5G4/26  CIExyY:0.0392/0.5258/0.12
-4  26 45   10G4/26   CIExyY:0.04/0.4545/0.12
-4  24 37.5 2.5G4/24  CIExyY:0.076/0.725/0.12
-4  24 40   5G4/24    CIExyY:0.0614/0.5857/0.12
-4  24 42.5 7.5G4/24  CIExyY:0.0581/0.5151/0.12
-4  24 45   10G4/24   CIExyY:0.0553/0.4492/0.12
-4  22 37.5 2.5G4/22  CIExyY:0.1009/0.6975/0.12
-4  22 40   5G4/22    CIExyY:0.0841/0.5684/0.12
-4  22 42.5 7.5G4/22  CIExyY:0.077/0.504/0.12
-4  22 45   10G4/22   CIExyY:0.0702/0.444/0.12
-4  20 37.5 2.5G4/20  CIExyY:0.123/0.6706/0.12
-4  20 40   5G4/20    CIExyY:0.1018/0.5543/0.12
-4  20 42.5 7.5G4/20  CIExyY:0.0928/0.4942/0.12
-4  20 45   10G4/20   CIExyY:0.085/0.4388/0.12
-4  18 37.5 2.5G4/18  CIExyY:0.1446/0.6431/0.12
-4  18 40   5G4/18    CIExyY:0.1188/0.54/0.12
-4  18 42.5 7.5G4/18  CIExyY:0.1086/0.4842/0.12
-4  18 45   10G4/18   CIExyY:0.1006/0.433/0.12
-4  16 37.5 2.5G4/16  CIExyY:0.1682/0.6111/0.12
-4  16 40   5G4/16    CIExyY:0.1402/0.5214/0.12
-4  16 42.5 7.5G4/16  CIExyY:0.1293/0.4703/0.12
-4  16 45   10G4/16   CIExyY:0.1212/0.4245/0.12
-4  14 37.5 2.5G4/14  CIExyY:0.1909/0.5779/0.12
-4  14 40   5G4/14    CIExyY:0.1627/0.5015/0.12
-4  14 42.5 7.5G4/14  CIExyY:0.15/0.4562/0.12
-4  14 45   10G4/14   CIExyY:0.1398/0.4168/0.12
-4  12 37.5 2.5G4/12  CIExyY:0.2128/0.5425/0.12
-4  12 40   5G4/12    CIExyY:0.1843/0.4807/0.12
-4  12 42.5 7.5G4/12  CIExyY:0.1706/0.4419/0.12
-4  12 45   10G4/12   CIExyY:0.1602/0.407/0.12
-4  10 37.5 2.5G4/10  CIExyY:0.2355/0.5006/0.12
-4  10 40   5G4/10    CIExyY:0.2115/0.4532/0.12
-4  10 42.5 7.5G4/10  CIExyY:0.1989/0.4219/0.12
-4  10 45   10G4/10   CIExyY:0.1876/0.3933/0.12
-4  8  37.5 2.5G4/8   CIExyY:0.2561/0.4597/0.12
-4  8  40   5G4/8     CIExyY:0.2359/0.4266/0.12
-4  8  42.5 7.5G4/8   CIExyY:0.2232/0.4022/0.12
-4  8  45   10G4/8    CIExyY:0.2124/0.3799/0.12
-4  6  37.5 2.5G4/6   CIExyY:0.2735/0.4215/0.12
-4  6  40   5G4/6     CIExyY:0.2581/0.3992/0.12
-4  6  42.5 7.5G4/6   CIExyY:0.2467/0.3822/0.12
-4  6  45   10G4/6    CIExyY:0.2374/0.3655/0.12
-4  4  37.5 2.5G4/4   CIExyY:0.2891/0.3821/0.12
-4  4  40   5G4/4     CIExyY:0.2781/0.3704/0.12
-4  4  42.5 7.5G4/4   CIExyY:0.2702/0.3602/0.12
-4  4  45   10G4/4    CIExyY:0.2628/0.3498/0.12
-4  3  37.5 2.5G4/3   CIExyY:0.2956/0.364/0.12
-4  3  40   5G4/3     CIExyY:0.2874/0.3558/0.12
-4  3  42.5 7.5G4/3   CIExyY:0.2814/0.3486/0.12
-4  3  45   10G4/3    CIExyY:0.2756/0.3413/0.12
-4  2  37.5 2.5G4/2   CIExyY:0.3012/0.347/0.12
-4  2  40   5G4/2     CIExyY:0.2959/0.3417/0.12
-4  2  42.5 7.5G4/2   CIExyY:0.2919/0.3371/0.12
-4  2  45   10G4/2    CIExyY:0.288/0.3327/0.12
-4  1  40   5G4/1     CIExyY:0.3035/0.3284/0.12
-4  1  45   10G4/1    CIExyY:0.2996/0.3243/0.12
-3  22 37.5 2.5G3/22  CIExyY:0.039/0.7468/0.06555
-3  22 40   5G3/22    CIExyY:0.034/0.6011/0.06555
-3  22 42.5 7.5G3/22  CIExyY:0.0332/0.5206/0.06555
-3  22 45   10G3/22   CIExyY:0.0333/0.4444/0.06555
-3  20 37.5 2.5G3/20  CIExyY:0.072/0.7127/0.06555
-3  20 40   5G3/20    CIExyY:0.062/0.5802/0.06555
-3  20 42.5 7.5G3/20  CIExyY:0.0568/0.5082/0.06555
-3  20 45   10G3/20   CIExyY:0.0528/0.4393/0.06555
-3  18 37.5 2.5G3/18  CIExyY:0.1049/0.6766/0.06555
-3  18 40   5G3/18    CIExyY:0.0882/0.5605/0.06555
-3  18 42.5 7.5G3/18  CIExyY:0.0798/0.4954/0.06555
-3  18 45   10G3/18   CIExyY:0.0718/0.434/0.06555
-3  16 37.5 2.5G3/16  CIExyY:0.1341/0.642/0.06555
-3  16 40   5G3/16    CIExyY:0.112/0.5414/0.06555
-3  16 42.5 7.5G3/16  CIExyY:0.1023/0.4818/0.06555
-3  16 45   10G3/16   CIExyY:0.0925/0.4275/0.06555
-3  14 37.5 2.5G3/14  CIExyY:0.1626/0.6052/0.06555
-3  14 40   5G3/14    CIExyY:0.1382/0.5197/0.06555
-3  14 42.5 7.5G3/14  CIExyY:0.1262/0.4667/0.06555
-3  14 45   10G3/14   CIExyY:0.1161/0.4192/0.06555
-3  12 37.5 2.5G3/12  CIExyY:0.1902/0.5642/0.06555
-3  12 40   5G3/12    CIExyY:0.166/0.4948/0.06555
-3  12 42.5 7.5G3/12  CIExyY:0.1516/0.4505/0.06555
-3  12 45   10G3/12   CIExyY:0.1411/0.4095/0.06555
-3  10 37.5 2.5G3/10  CIExyY:0.217/0.5211/0.06555
-3  10 40   5G3/10    CIExyY:0.1935/0.4682/0.06555
-3  10 42.5 7.5G3/10  CIExyY:0.18/0.431/0.06555
-3  10 45   10G3/10   CIExyY:0.1688/0.3974/0.06555
-3  8  37.5 2.5G3/8   CIExyY:0.2435/0.4752/0.06555
-3  8  40   5G3/8     CIExyY:0.2228/0.438/0.06555
-3  8  42.5 7.5G3/8   CIExyY:0.2088/0.4101/0.06555
-3  8  45   10G3/8    CIExyY:0.197/0.3841/0.06555
-3  6  37.5 2.5G3/6   CIExyY:0.2642/0.4342/0.06555
-3  6  40   5G3/6     CIExyY:0.2471/0.41/0.06555
-3  6  42.5 7.5G3/6   CIExyY:0.2346/0.3901/0.06555
-3  6  45   10G3/6    CIExyY:0.224/0.3699/0.06555
-3  4  37.5 2.5G3/4   CIExyY:0.2836/0.3915/0.06555
-3  4  40   5G3/4     CIExyY:0.2711/0.378/0.06555
-3  4  42.5 7.5G3/4   CIExyY:0.2618/0.3667/0.06555
-3  4  45   10G3/4    CIExyY:0.2525/0.3537/0.06555
-3  3  37.5 2.5G3/3   CIExyY:0.2923/0.3702/0.06555
-3  3  40   5G3/3     CIExyY:0.2828/0.3607/0.06555
-3  3  42.5 7.5G3/3   CIExyY:0.2758/0.3529/0.06555
-3  3  45   10G3/3    CIExyY:0.2686/0.3438/0.06555
-3  2  37.5 2.5G3/2   CIExyY:0.2999/0.35/0.06555
-3  2  40   5G3/2     CIExyY:0.2935/0.3439/0.06555
-3  2  42.5 7.5G3/2   CIExyY:0.289/0.3391/0.06555
-3  2  45   10G3/2    CIExyY:0.2844/0.3337/0.06555
-3  1  40   5G3/1     CIExyY:0.3028/0.3288/0.06555
-3  1  45   10G3/1    CIExyY:0.2986/0.3243/0.06555
-2  16 37.5 2.5G2/16  CIExyY:0.0329/0.7358/0.03126
-2  16 40   5G2/16    CIExyY:0.0277/0.5986/0.03126
-2  16 42.5 7.5G2/16  CIExyY:0.0276/0.5153/0.03126
-2  16 45   10G2/16   CIExyY:0.0285/0.4327/0.03126
-2  14 37.5 2.5G2/14  CIExyY:0.082/0.686/0.03126
-2  14 40   5G2/14    CIExyY:0.0688/0.5691/0.03126
-2  14 42.5 7.5G2/14  CIExyY:0.0629/0.4973/0.03126
-2  14 45   10G2/14   CIExyY:0.0599/0.427/0.03126
-2  12 37.5 2.5G2/12  CIExyY:0.1307/0.6308/0.03126
-2  12 40   5G2/12    CIExyY:0.112/0.5358/0.03126
-2  12 42.5 7.5G2/12  CIExyY:0.1022/0.4759/0.03126
-2  12 45   10G2/12   CIExyY:0.0934/0.4183/0.03126
-2  10 37.5 2.5G2/10  CIExyY:0.1773/0.5698/0.03126
-2  10 40   5G2/10    CIExyY:0.156/0.4981/0.03126
-2  10 42.5 7.5G2/10  CIExyY:0.1442/0.4505/0.03126
-2  10 45   10G2/10   CIExyY:0.1321/0.4059/0.03126
-2  8  37.5 2.5G2/8   CIExyY:0.2192/0.5042/0.03126
-2  8  40   5G2/8     CIExyY:0.1979/0.4583/0.03126
-2  8  42.5 7.5G2/8   CIExyY:0.1842/0.4244/0.03126
-2  8  45   10G2/8    CIExyY:0.1705/0.3911/0.03126
-2  6  37.5 2.5G2/6   CIExyY:0.2493/0.4522/0.03126
-2  6  40   5G2/6     CIExyY:0.2318/0.4231/0.03126
-2  6  42.5 7.5G2/6   CIExyY:0.22/0.3983/0.03126
-2  6  45   10G2/6    CIExyY:0.2092/0.3739/0.03126
-2  4  37.5 2.5G2/4   CIExyY:0.2763/0.3998/0.03126
-2  4  40   5G2/4     CIExyY:0.264/0.3845/0.03126
-2  4  42.5 7.5G2/4   CIExyY:0.254/0.3705/0.03126
-2  4  45   10G2/4    CIExyY:0.2442/0.3559/0.03126
-2  3  37.5 2.5G2/3   CIExyY:0.288/0.3741/0.03126
-2  3  40   5G2/3     CIExyY:0.2788/0.3641/0.03126
-2  3  42.5 7.5G2/3   CIExyY:0.2711/0.355/0.03126
-2  3  45   10G2/3    CIExyY:0.2635/0.345/0.03126
-2  2  37.5 2.5G2/2   CIExyY:0.2978/0.3507/0.03126
-2  2  40   5G2/2     CIExyY:0.2918/0.345/0.03126
-2  2  42.5 7.5G2/2   CIExyY:0.2869/0.34/0.03126
-2  2  45   10G2/2    CIExyY:0.282/0.3341/0.03126
-2  1  40   5G2/1     CIExyY:0.3025/0.3286/0.03126
-2  1  45   10G2/1    CIExyY:0.298/0.3242/0.03126
-1  8  37.5 2.5G1/8   CIExyY:0.062/0.6896/0.0121
-1  8  40   5G1/8     CIExyY:0.0559/0.571/0.0121
-1  8  42.5 7.5G1/8   CIExyY:0.053/0.4943/0.0121
-1  8  45   10G1/8    CIExyY:0.0511/0.4158/0.0121
-1  6  37.5 2.5G1/6   CIExyY:0.1711/0.5619/0.0121
-1  6  40   5G1/6     CIExyY:0.1468/0.4996/0.0121
-1  6  42.5 7.5G1/6   CIExyY:0.1344/0.4505/0.0121
-1  6  45   10G1/6    CIExyY:0.1249/0.4019/0.0121
-1  4  37.5 2.5G1/4   CIExyY:0.2454/0.4489/0.0121
-1  4  40   5G1/4     CIExyY:0.229/0.4218/0.0121
-1  4  42.5 7.5G1/4   CIExyY:0.2159/0.3967/0.0121
-1  4  45   10G1/4    CIExyY:0.204/0.3724/0.0121
-1  2  37.5 2.5G1/2   CIExyY:0.291/0.3634/0.0121
-1  2  40   5G1/2     CIExyY:0.2833/0.3564/0.0121
-1  2  42.5 7.5G1/2   CIExyY:0.2758/0.3484/0.0121
-1  2  45   10G1/2    CIExyY:0.2689/0.3407/0.0121
-9  10 47.5 2.5BG9/10 CIExyY:0.2382/0.3568/0.7866
-9  10 50   5BG9/10   CIExyY:0.2301/0.3405/0.7866
-9  10 52.5 7.5BG9/10 CIExyY:0.2215/0.3226/0.7866
-9  8  47.5 2.5BG9/8  CIExyY:0.2509/0.3507/0.7866
-9  8  50   5BG9/8    CIExyY:0.2437/0.3378/0.7866
-9  8  52.5 7.5BG9/8  CIExyY:0.2361/0.3225/0.7866
-9  6  47.5 2.5BG9/6  CIExyY:0.2652/0.3433/0.7866
-9  6  50   5BG9/6    CIExyY:0.2599/0.3338/0.7866
-9  6  52.5 7.5BG9/6  CIExyY:0.2543/0.322/0.7866
-9  6  55   10BG9/6   CIExyY:0.2501/0.3118/0.7866
-9  4  47.5 2.5BG9/4  CIExyY:0.2805/0.3349/0.7866
-9  4  50   5BG9/4    CIExyY:0.2768/0.3287/0.7866
-9  4  52.5 7.5BG9/4  CIExyY:0.2728/0.3208/0.7866
-9  4  55   10BG9/4   CIExyY:0.27/0.314/0.7866
-9  2  47.5 2.5BG9/2  CIExyY:0.2947/0.3267/0.7866
-9  2  50   5BG9/2    CIExyY:0.293/0.3232/0.7866
-9  2  52.5 7.5BG9/2  CIExyY:0.2911/0.3188/0.7866
-9  2  55   10BG9/2   CIExyY:0.2907/0.3159/0.7866
-9  1  50   5BG9/1    CIExyY:0.3013/0.32/0.7866
-9  1  55   10BG9/1   CIExyY:0.3007/0.3164/0.7866
-8  18 47.5 2.5BG8/18 CIExyY:0.1759/0.3782/0.591
-8  16 47.5 2.5BG8/16 CIExyY:0.1915/0.3732/0.591
-8  16 50   5BG8/16   CIExyY:0.1814/0.345/0.591
-8  16 52.5 7.5BG8/16 CIExyY:0.1721/0.3168/0.591
-8  14 47.5 2.5BG8/14 CIExyY:0.2057/0.3681/0.591
-8  14 50   5BG8/14   CIExyY:0.1958/0.3432/0.591
-8  14 52.5 7.5BG8/14 CIExyY:0.1868/0.3179/0.591
-8  14 55   10BG8/14  CIExyY:0.1788/0.2936/0.591
-8  12 47.5 2.5BG8/12 CIExyY:0.2196/0.363/0.591
-8  12 50   5BG8/12   CIExyY:0.2101/0.3412/0.591
-8  12 52.5 7.5BG8/12 CIExyY:0.201/0.3188/0.591
-8  12 55   10BG8/12  CIExyY:0.1937/0.2978/0.591
-8  10 47.5 2.5BG8/10 CIExyY:0.2352/0.3566/0.591
-8  10 50   5BG8/10   CIExyY:0.2264/0.3383/0.591
-8  10 52.5 7.5BG8/10 CIExyY:0.2184/0.3196/0.591
-8  10 55   10BG8/10  CIExyY:0.212/0.3025/0.591
-8  8  47.5 2.5BG8/8  CIExyY:0.25/0.35/0.591
-8  8  50   5BG8/8    CIExyY:0.2419/0.3352/0.591
-8  8  52.5 7.5BG8/8  CIExyY:0.2352/0.3198/0.591
-8  8  55   10BG8/8   CIExyY:0.2302/0.3063/0.591
-8  6  47.5 2.5BG8/6  CIExyY:0.2647/0.3429/0.591
-8  6  50   5BG8/6    CIExyY:0.2588/0.3318/0.591
-8  6  52.5 7.5BG8/6  CIExyY:0.2525/0.3198/0.591
-8  6  55   10BG8/6   CIExyY:0.2489/0.3099/0.591
-8  4  47.5 2.5BG8/4  CIExyY:0.2791/0.3351/0.591
-8  4  50   5BG8/4    CIExyY:0.2752/0.3278/0.591
-8  4  52.5 7.5BG8/4  CIExyY:0.2718/0.32/0.591
-8  4  55   10BG8/4   CIExyY:0.2686/0.313/0.591
-8  3  47.5 2.5BG8/3  CIExyY:0.2864/0.3311/0.591
-8  3  50   5BG8/3    CIExyY:0.2834/0.3255/0.591
-8  3  52.5 7.5BG8/3  CIExyY:0.2809/0.3193/0.591
-8  3  55   10BG8/3   CIExyY:0.2789/0.3142/0.591
-8  2  47.5 2.5BG8/2  CIExyY:0.294/0.3268/0.591
-8  2  50   5BG8/2    CIExyY:0.2919/0.3228/0.591
-8  2  52.5 7.5BG8/2  CIExyY:0.29/0.3183/0.591
-8  2  55   10BG8/2   CIExyY:0.2894/0.3152/0.591
-8  1  50   5BG8/1    CIExyY:0.3007/0.3198/0.591
-8  1  55   10BG8/1   CIExyY:0.2998/0.3159/0.591
-7  22 47.5 2.5BG7/22 CIExyY:0.1334/0.387/0.4306
-7  20 47.5 2.5BG7/20 CIExyY:0.149/0.3827/0.4306
-7  20 50   5BG7/20   CIExyY:0.138/0.3412/0.4306
-7  18 47.5 2.5BG7/18 CIExyY:0.1626/0.3788/0.4306
-7  18 50   5BG7/18   CIExyY:0.1515/0.341/0.4306
-7  18 52.5 7.5BG7/18 CIExyY:0.1427/0.3076/0.4306
-7  16 47.5 2.5BG7/16 CIExyY:0.1788/0.3739/0.4306
-7  16 50   5BG7/16   CIExyY:0.1675/0.3401/0.4306
-7  16 52.5 7.5BG7/16 CIExyY:0.1584/0.3101/0.4306
-7  16 55   10BG7/16  CIExyY:0.1489/0.2768/0.4306
-7  14 47.5 2.5BG7/14 CIExyY:0.1932/0.3694/0.4306
-7  14 50   5BG7/14   CIExyY:0.1838/0.339/0.4306
-7  14 52.5 7.5BG7/14 CIExyY:0.1751/0.3129/0.4306
-7  14 55   10BG7/14  CIExyY:0.1671/0.2832/0.4306
-7  12 47.5 2.5BG7/12 CIExyY:0.2102/0.3636/0.4306
-7  12 50   5BG7/12   CIExyY:0.1997/0.3379/0.4306
-7  12 52.5 7.5BG7/12 CIExyY:0.1914/0.3148/0.4306
-7  12 55   10BG7/12  CIExyY:0.1841/0.2892/0.4306
-7  10 47.5 2.5BG7/10 CIExyY:0.2264/0.3576/0.4306
-7  10 50   5BG7/10   CIExyY:0.2163/0.3361/0.4306
-7  10 52.5 7.5BG7/10 CIExyY:0.2094/0.3165/0.4306
-7  10 55   10BG7/10  CIExyY:0.2035/0.2956/0.4306
-7  8  47.5 2.5BG7/8  CIExyY:0.2439/0.3508/0.4306
-7  8  50   5BG7/8    CIExyY:0.2354/0.3335/0.4306
-7  8  52.5 7.5BG7/8  CIExyY:0.2292/0.3178/0.4306
-7  8  55   10BG7/8   CIExyY:0.2235/0.3014/0.4306
-7  6  47.5 2.5BG7/6  CIExyY:0.2608/0.343/0.4306
-7  6  50   5BG7/6    CIExyY:0.2543/0.3302/0.4306
-7  6  52.5 7.5BG7/6  CIExyY:0.249/0.3186/0.4306
-7  6  55   10BG7/6   CIExyY:0.2448/0.3069/0.4306
-7  4  47.5 2.5BG7/4  CIExyY:0.2764/0.3354/0.4306
-7  4  50   5BG7/4    CIExyY:0.2712/0.3269/0.4306
-7  4  52.5 7.5BG7/4  CIExyY:0.2671/0.3189/0.4306
-7  4  55   10BG7/4   CIExyY:0.2642/0.3109/0.4306
-7  3  47.5 2.5BG7/3  CIExyY:0.2844/0.3313/0.4306
-7  3  50   5BG7/3    CIExyY:0.2803/0.3249/0.4306
-7  3  52.5 7.5BG7/3  CIExyY:0.2772/0.3187/0.4306
-7  3  55   10BG7/3   CIExyY:0.2753/0.3127/0.4306
-7  2  47.5 2.5BG7/2  CIExyY:0.2927/0.3269/0.4306
-7  2  50   5BG7/2    CIExyY:0.2898/0.3225/0.4306
-7  2  52.5 7.5BG7/2  CIExyY:0.2878/0.3182/0.4306
-7  2  55   10BG7/2   CIExyY:0.2869/0.3143/0.4306
-7  1  50   5BG7/1    CIExyY:0.2997/0.3197/0.4306
-7  1  55   10BG7/1   CIExyY:0.2986/0.3155/0.4306
-6  22 47.5 2.5BG6/22 CIExyY:0.112/0.386/0.3005
-6  20 47.5 2.5BG6/20 CIExyY:0.1269/0.3829/0.3005
-6  20 50   5BG6/20   CIExyY:0.1168/0.3344/0.3005
-6  18 47.5 2.5BG6/18 CIExyY:0.1423/0.379/0.3005
-6  18 50   5BG6/18   CIExyY:0.1325/0.3345/0.3005
-6  18 52.5 7.5BG6/18 CIExyY:0.1248/0.2981/0.3005
-6  18 55   10BG6/18  CIExyY:0.1181/0.2581/0.3005
-6  16 47.5 2.5BG6/16 CIExyY:0.16/0.3748/0.3005
-6  16 50   5BG6/16   CIExyY:0.1491/0.3345/0.3005
-6  16 52.5 7.5BG6/16 CIExyY:0.1408/0.3017/0.3005
-6  16 55   10BG6/16  CIExyY:0.1337/0.2651/0.3005
-6  14 47.5 2.5BG6/14 CIExyY:0.1779/0.3699/0.3005
-6  14 50   5BG6/14   CIExyY:0.1662/0.3343/0.3005
-6  14 52.5 7.5BG6/14 CIExyY:0.1585/0.3052/0.3005
-6  14 55   10BG6/14  CIExyY:0.1518/0.2729/0.3005
-6  12 47.5 2.5BG6/12 CIExyY:0.1954/0.3645/0.3005
-6  12 50   5BG6/12   CIExyY:0.1844/0.3337/0.3005
-6  12 52.5 7.5BG6/12 CIExyY:0.1762/0.3081/0.3005
-6  12 55   10BG6/12  CIExyY:0.1698/0.2802/0.3005
-6  10 47.5 2.5BG6/10 CIExyY:0.2148/0.3584/0.3005
-6  10 50   5BG6/10   CIExyY:0.2037/0.3329/0.3005
-6  10 52.5 7.5BG6/10 CIExyY:0.1961/0.311/0.3005
-6  10 55   10BG6/10  CIExyY:0.1909/0.2881/0.3005
-6  8  47.5 2.5BG6/8  CIExyY:0.2332/0.3522/0.3005
-6  8  50   5BG6/8    CIExyY:0.2236/0.3311/0.3005
-6  8  52.5 7.5BG6/8  CIExyY:0.2171/0.3138/0.3005
-6  8  55   10BG6/8   CIExyY:0.2116/0.295/0.3005
-6  6  47.5 2.5BG6/6  CIExyY:0.2526/0.3448/0.3005
-6  6  50   5BG6/6    CIExyY:0.2441/0.329/0.3005
-6  6  52.5 7.5BG6/6  CIExyY:0.2384/0.3155/0.3005
-6  6  55   10BG6/6   CIExyY:0.2335/0.3015/0.3005
-6  4  47.5 2.5BG6/4  CIExyY:0.2702/0.3369/0.3005
-6  4  50   5BG6/4    CIExyY:0.2648/0.3262/0.3005
-6  4  52.5 7.5BG6/4  CIExyY:0.2604/0.3169/0.3005
-6  4  55   10BG6/4   CIExyY:0.2578/0.3078/0.3005
-6  3  47.5 2.5BG6/3  CIExyY:0.2801/0.332/0.3005
-6  3  50   5BG6/3    CIExyY:0.2759/0.3242/0.3005
-6  3  52.5 7.5BG6/3  CIExyY:0.2725/0.3172/0.3005
-6  3  55   10BG6/3   CIExyY:0.2706/0.3107/0.3005
-6  2  47.5 2.5BG6/2  CIExyY:0.2902/0.3268/0.3005
-6  2  50   5BG6/2    CIExyY:0.2872/0.3219/0.3005
-6  2  52.5 7.5BG6/2  CIExyY:0.2849/0.3172/0.3005
-6  2  55   10BG6/2   CIExyY:0.2837/0.3132/0.3005
-6  1  50   5BG6/1    CIExyY:0.2987/0.3193/0.3005
-6  1  55   10BG6/1   CIExyY:0.2969/0.3151/0.3005
-5  24 47.5 2.5BG5/24 CIExyY:0.0738/0.3851/0.1977
-5  22 47.5 2.5BG5/22 CIExyY:0.0861/0.3832/0.1977
-5  22 50   5BG5/22   CIExyY:0.0781/0.3211/0.1977
-5  20 47.5 2.5BG5/20 CIExyY:0.1005/0.3814/0.1977
-5  20 50   5BG5/20   CIExyY:0.0904/0.3231/0.1977
-5  18 47.5 2.5BG5/18 CIExyY:0.1165/0.3785/0.1977
-5  18 50   5BG5/18   CIExyY:0.1046/0.3244/0.1977
-5  18 52.5 7.5BG5/18 CIExyY:0.0982/0.2828/0.1977
-5  16 47.5 2.5BG5/16 CIExyY:0.1348/0.375/0.1977
-5  16 50   5BG5/16   CIExyY:0.1243/0.3261/0.1977
-5  16 52.5 7.5BG5/16 CIExyY:0.1167/0.288/0.1977
-5  16 55   10BG5/16  CIExyY:0.1108/0.2489/0.1977
-5  14 47.5 2.5BG5/14 CIExyY:0.1559/0.3708/0.1977
-5  14 50   5BG5/14   CIExyY:0.1448/0.3275/0.1977
-5  14 52.5 7.5BG5/14 CIExyY:0.1364/0.2932/0.1977
-5  14 55   10BG5/14  CIExyY:0.1308/0.2582/0.1977
-5  12 47.5 2.5BG5/12 CIExyY:0.1735/0.3668/0.1977
-5  12 50   5BG5/12   CIExyY:0.1614/0.328/0.1977
-5  12 52.5 7.5BG5/12 CIExyY:0.1537/0.2976/0.1977
-5  12 55   10BG5/12  CIExyY:0.1485/0.2662/0.1977
-5  10 47.5 2.5BG5/10 CIExyY:0.198/0.3606/0.1977
-5  10 50   5BG5/10   CIExyY:0.185/0.328/0.1977
-5  10 52.5 7.5BG5/10 CIExyY:0.1776/0.3032/0.1977
-5  10 55   10BG5/10  CIExyY:0.1716/0.276/0.1977
-5  8  47.5 2.5BG5/8  CIExyY:0.2205/0.3537/0.1977
-5  8  50   5BG5/8    CIExyY:0.21/0.328/0.1977
-5  8  52.5 7.5BG5/8  CIExyY:0.203/0.3082/0.1977
-5  8  55   10BG5/8   CIExyY:0.197/0.286/0.1977
-5  6  47.5 2.5BG5/6  CIExyY:0.2448/0.3452/0.1977
-5  6  50   5BG5/6    CIExyY:0.236/0.327/0.1977
-5  6  52.5 7.5BG5/6  CIExyY:0.2292/0.3125/0.1977
-5  6  55   10BG5/6   CIExyY:0.2234/0.2952/0.1977
-5  4  47.5 2.5BG5/4  CIExyY:0.2659/0.3369/0.1977
-5  4  50   5BG5/4    CIExyY:0.2591/0.3246/0.1977
-5  4  52.5 7.5BG5/4  CIExyY:0.255/0.315/0.1977
-5  4  55   10BG5/4   CIExyY:0.2512/0.304/0.1977
-5  3  47.5 2.5BG5/3  CIExyY:0.2769/0.3321/0.1977
-5  3  50   5BG5/3    CIExyY:0.2714/0.3229/0.1977
-5  3  52.5 7.5BG5/3  CIExyY:0.2679/0.3157/0.1977
-5  3  55   10BG5/3   CIExyY:0.2652/0.3078/0.1977
-5  2  47.5 2.5BG5/2  CIExyY:0.288/0.327/0.1977
-5  2  50   5BG5/2    CIExyY:0.2841/0.321/0.1977
-5  2  52.5 7.5BG5/2  CIExyY:0.2812/0.3161/0.1977
-5  2  55   10BG5/2   CIExyY:0.2796/0.3111/0.1977
-5  1  50   5BG5/1    CIExyY:0.297/0.3188/0.1977
-5  1  55   10BG5/1   CIExyY:0.2945/0.3139/0.1977
-4  24 47.5 2.5BG4/24 CIExyY:0.051/0.38/0.12
-4  22 47.5 2.5BG4/22 CIExyY:0.0636/0.3788/0.12
-4  20 47.5 2.5BG4/20 CIExyY:0.0768/0.3773/0.12
-4  20 50   5BG4/20   CIExyY:0.0675/0.3075/0.12
-4  18 47.5 2.5BG4/18 CIExyY:0.0915/0.3754/0.12
-4  18 50   5BG4/18   CIExyY:0.0828/0.3108/0.12
-4  18 52.5 7.5BG4/18 CIExyY:0.0768/0.2667/0.12
-4  16 47.5 2.5BG4/16 CIExyY:0.1102/0.372/0.12
-4  16 50   5BG4/16   CIExyY:0.0992/0.3141/0.12
-4  16 52.5 7.5BG4/16 CIExyY:0.0922/0.2718/0.12
-4  16 55   10BG4/16  CIExyY:0.0888/0.2298/0.12
-4  14 47.5 2.5BG4/14 CIExyY:0.1283/0.3688/0.12
-4  14 50   5BG4/14   CIExyY:0.117/0.317/0.12
-4  14 52.5 7.5BG4/14 CIExyY:0.1092/0.2774/0.12
-4  14 55   10BG4/14  CIExyY:0.1033/0.2376/0.12
-4  12 47.5 2.5BG4/12 CIExyY:0.1492/0.3649/0.12
-4  12 50   5BG4/12   CIExyY:0.1379/0.3193/0.12
-4  12 52.5 7.5BG4/12 CIExyY:0.1298/0.284/0.12
-4  12 55   10BG4/12  CIExyY:0.1248/0.2484/0.12
-4  10 47.5 2.5BG4/10 CIExyY:0.1738/0.36/0.12
-4  10 50   5BG4/10   CIExyY:0.1618/0.3219/0.12
-4  10 52.5 7.5BG4/10 CIExyY:0.154/0.291/0.12
-4  10 55   10BG4/10  CIExyY:0.148/0.26/0.12
-4  8  47.5 2.5BG4/8  CIExyY:0.2006/0.354/0.12
-4  8  50   5BG4/8    CIExyY:0.189/0.3234/0.12
-4  8  52.5 7.5BG4/8  CIExyY:0.1815/0.2985/0.12
-4  8  55   10BG4/8   CIExyY:0.176/0.273/0.12
-4  6  47.5 2.5BG4/6  CIExyY:0.2278/0.3463/0.12
-4  6  50   5BG4/6    CIExyY:0.2182/0.324/0.12
-4  6  52.5 7.5BG4/6  CIExyY:0.2113/0.3052/0.12
-4  6  55   10BG4/6   CIExyY:0.2063/0.2863/0.12
-4  4  47.5 2.5BG4/4  CIExyY:0.2552/0.3375/0.12
-4  4  50   5BG4/4    CIExyY:0.248/0.3232/0.12
-4  4  52.5 7.5BG4/4  CIExyY:0.2429/0.3108/0.12
-4  4  55   10BG4/4   CIExyY:0.2384/0.2984/0.12
-4  3  47.5 2.5BG4/3  CIExyY:0.2697/0.3324/0.12
-4  3  50   5BG4/3    CIExyY:0.2639/0.3222/0.12
-4  3  52.5 7.5BG4/3  CIExyY:0.2595/0.3131/0.12
-4  3  55   10BG4/3   CIExyY:0.2559/0.3041/0.12
-4  2  47.5 2.5BG4/2  CIExyY:0.284/0.327/0.12
-4  2  50   5BG4/2    CIExyY:0.2799/0.3208/0.12
-4  2  52.5 7.5BG4/2  CIExyY:0.2764/0.3148/0.12
-4  2  55   10BG4/2   CIExyY:0.274/0.3091/0.12
-4  1  50   5BG4/1    CIExyY:0.2954/0.3188/0.12
-4  1  55   10BG4/1   CIExyY:0.2922/0.3133/0.12
-3  20 47.5 2.5BG3/20 CIExyY:0.0482/0.3695/0.06555
-3  18 47.5 2.5BG3/18 CIExyY:0.0648/0.3682/0.06555
-3  18 50   5BG3/18   CIExyY:0.058/0.294/0.06555
-3  16 47.5 2.5BG3/16 CIExyY:0.0843/0.3667/0.06555
-3  16 50   5BG3/16   CIExyY:0.0735/0.2979/0.06555
-3  16 52.5 7.5BG3/16 CIExyY:0.0691/0.2559/0.06555
-3  14 47.5 2.5BG3/14 CIExyY:0.1051/0.3648/0.06555
-3  14 50   5BG3/14   CIExyY:0.094/0.3027/0.06555
-3  14 52.5 7.5BG3/14 CIExyY:0.0874/0.2627/0.06555
-3  14 55   10BG3/14  CIExyY:0.0798/0.2151/0.06555
-3  12 47.5 2.5BG3/12 CIExyY:0.1288/0.362/0.06555
-3  12 50   5BG3/12   CIExyY:0.1158/0.3071/0.06555
-3  12 52.5 7.5BG3/12 CIExyY:0.1086/0.2706/0.06555
-3  12 55   10BG3/12  CIExyY:0.1018/0.2281/0.06555
-3  10 47.5 2.5BG3/10 CIExyY:0.1552/0.358/0.06555
-3  10 50   5BG3/10   CIExyY:0.141/0.3118/0.06555
-3  10 52.5 7.5BG3/10 CIExyY:0.1326/0.2784/0.06555
-3  10 55   10BG3/10  CIExyY:0.125/0.2411/0.06555
-3  8  47.5 2.5BG3/8  CIExyY:0.1845/0.3531/0.06555
-3  8  50   5BG3/8    CIExyY:0.1703/0.3159/0.06555
-3  8  52.5 7.5BG3/8  CIExyY:0.162/0.2872/0.06555
-3  8  55   10BG3/8   CIExyY:0.1551/0.2571/0.06555
-3  6  47.5 2.5BG3/6  CIExyY:0.2132/0.3468/0.06555
-3  6  50   5BG3/6    CIExyY:0.202/0.3188/0.06555
-3  6  52.5 7.5BG3/6  CIExyY:0.1928/0.2958/0.06555
-3  6  55   10BG3/6   CIExyY:0.1861/0.2722/0.06555
-3  4  47.5 2.5BG3/4  CIExyY:0.2437/0.3386/0.06555
-3  4  50   5BG3/4    CIExyY:0.2343/0.32/0.06555
-3  4  52.5 7.5BG3/4  CIExyY:0.2272/0.3041/0.06555
-3  4  55   10BG3/4   CIExyY:0.2221/0.2886/0.06555
-3  3  47.5 2.5BG3/3  CIExyY:0.2618/0.333/0.06555
-3  3  50   5BG3/3    CIExyY:0.254/0.3199/0.06555
-3  3  52.5 7.5BG3/3  CIExyY:0.2482/0.3083/0.06555
-3  3  55   10BG3/3   CIExyY:0.2435/0.2971/0.06555
-3  2  47.5 2.5BG3/2  CIExyY:0.2799/0.3271/0.06555
-3  2  50   5BG3/2    CIExyY:0.2742/0.3192/0.06555
-3  2  52.5 7.5BG3/2  CIExyY:0.2699/0.312/0.06555
-3  2  55   10BG3/2   CIExyY:0.266/0.305/0.06555
-3  1  50   5BG3/1    CIExyY:0.2934/0.318/0.06555
-3  1  55   10BG3/1   CIExyY:0.2885/0.3116/0.06555
-2  14 47.5 2.5BG2/14 CIExyY:0.0555/0.3588/0.03126
-2  12 47.5 2.5BG2/12 CIExyY:0.0851/0.3576/0.03126
-2  12 50   5BG2/12   CIExyY:0.0769/0.288/0.03126
-2  12 52.5 7.5BG2/12 CIExyY:0.0724/0.2478/0.03126
-2  10 47.5 2.5BG2/10 CIExyY:0.119/0.3551/0.03126
-2  10 50   5BG2/10   CIExyY:0.105/0.2956/0.03126
-2  10 52.5 7.5BG2/10 CIExyY:0.0991/0.2582/0.03126
-2  10 55   10BG2/10  CIExyY:0.0929/0.2133/0.03126
-2  8  47.5 2.5BG2/8  CIExyY:0.1557/0.3517/0.03126
-2  8  50   5BG2/8    CIExyY:0.1405/0.3037/0.03126
-2  8  52.5 7.5BG2/8  CIExyY:0.1325/0.271/0.03126
-2  8  55   10BG2/8   CIExyY:0.1258/0.2331/0.03126
-2  6  47.5 2.5BG2/6  CIExyY:0.1971/0.3452/0.03126
-2  6  50   5BG2/6    CIExyY:0.1843/0.311/0.03126
-2  6  52.5 7.5BG2/6  CIExyY:0.1747/0.2853/0.03126
-2  6  55   10BG2/6   CIExyY:0.1669/0.257/0.03126
-2  4  47.5 2.5BG2/4  CIExyY:0.2343/0.3378/0.03126
-2  4  50   5BG2/4    CIExyY:0.2234/0.315/0.03126
-2  4  52.5 7.5BG2/4  CIExyY:0.2162/0.2981/0.03126
-2  4  55   10BG2/4   CIExyY:0.2096/0.279/0.03126
-2  3  47.5 2.5BG2/3  CIExyY:0.2556/0.3327/0.03126
-2  3  50   5BG2/3    CIExyY:0.2465/0.3166/0.03126
-2  3  52.5 7.5BG2/3  CIExyY:0.2404/0.3043/0.03126
-2  3  55   10BG2/3   CIExyY:0.2347/0.2904/0.03126
-2  2  47.5 2.5BG2/2  CIExyY:0.2765/0.3271/0.03126
-2  2  50   5BG2/2    CIExyY:0.2697/0.3175/0.03126
-2  2  52.5 7.5BG2/2  CIExyY:0.2651/0.3098/0.03126
-2  2  55   10BG2/2   CIExyY:0.2606/0.301/0.03126
-2  1  50   5BG2/1    CIExyY:0.2915/0.3175/0.03126
-2  1  55   10BG2/1   CIExyY:0.2861/0.3099/0.03126
-1  8  47.5 2.5BG1/8  CIExyY:0.0476/0.3458/0.0121
-1  6  47.5 2.5BG1/6  CIExyY:0.1169/0.3452/0.0121
-1  6  50   5BG1/6    CIExyY:0.1093/0.286/0.0121
-1  6  52.5 7.5BG1/6  CIExyY:0.1059/0.2485/0.0121
-1  6  55   10BG1/6   CIExyY:0.1074/0.2129/0.0121
-1  4  47.5 2.5BG1/4  CIExyY:0.1883/0.3406/0.0121
-1  4  50   5BG1/4    CIExyY:0.1753/0.3021/0.0121
-1  4  52.5 7.5BG1/4  CIExyY:0.1702/0.2768/0.0121
-1  4  55   10BG1/4   CIExyY:0.1658/0.2496/0.0121
-1  2  47.5 2.5BG1/2  CIExyY:0.26/0.3289/0.0121
-1  2  50   5BG1/2    CIExyY:0.25/0.3141/0.0121
-1  2  52.5 7.5BG1/2  CIExyY:0.243/0.3023/0.0121
-1  2  55   10BG1/2   CIExyY:0.2362/0.2882/0.0121
-9  4  57.5 2.5B9/4   CIExyY:0.268/0.3073/0.7866
-9  4  60   5B9/4     CIExyY:0.2675/0.3005/0.7866
-9  4  62.5 7.5B9/4   CIExyY:0.2688/0.2961/0.7866
-9  4  65   10B9/4    CIExyY:0.2712/0.2924/0.7866
-9  2  57.5 2.5B9/2   CIExyY:0.2909/0.3125/0.7866
-9  2  60   5B9/2     CIExyY:0.2919/0.3102/0.7866
-9  2  62.5 7.5B9/2   CIExyY:0.2937/0.3087/0.7866
-9  2  65   10B9/2    CIExyY:0.2949/0.3076/0.7866
-9  1  60   5B9/1     CIExyY:0.3018/0.3137/0.7866
-9  1  65   10B9/1    CIExyY:0.3036/0.3128/0.7866
-8  12 57.5 2.5B8/12  CIExyY:0.1877/0.2752/0.591
-8  10 57.5 2.5B8/10  CIExyY:0.2066/0.2839/0.591
-8  8  57.5 2.5B8/8   CIExyY:0.2264/0.2923/0.591
-8  8  60   5B8/8     CIExyY:0.2237/0.2761/0.591
-8  8  62.5 7.5B8/8   CIExyY:0.2252/0.2668/0.591
-8  8  65   10B8/8    CIExyY:0.2294/0.2587/0.591
-8  6  57.5 2.5B8/6   CIExyY:0.2462/0.3/0.591
-8  6  60   5B8/6     CIExyY:0.2457/0.2888/0.591
-8  6  62.5 7.5B8/6   CIExyY:0.2472/0.2821/0.591
-8  6  65   10B8/6    CIExyY:0.2512/0.276/0.591
-8  4  57.5 2.5B8/4   CIExyY:0.2668/0.3067/0.591
-8  4  60   5B8/4     CIExyY:0.2671/0.2998/0.591
-8  4  62.5 7.5B8/4   CIExyY:0.2688/0.2956/0.591
-8  4  65   10B8/4    CIExyY:0.2718/0.2911/0.591
-8  3  57.5 2.5B8/3   CIExyY:0.2783/0.3097/0.591
-8  3  60   5B8/3     CIExyY:0.2791/0.305/0.591
-8  3  62.5 7.5B8/3   CIExyY:0.2807/0.302/0.591
-8  3  65   10B8/3    CIExyY:0.2829/0.299/0.591
-8  2  57.5 2.5B8/2   CIExyY:0.2897/0.3124/0.591
-8  2  60   5B8/2     CIExyY:0.2908/0.3096/0.591
-8  2  62.5 7.5B8/2   CIExyY:0.2922/0.3077/0.591
-8  2  65   10B8/2    CIExyY:0.2935/0.3062/0.591
-8  1  60   5B8/1     CIExyY:0.3014/0.3135/0.591
-8  1  65   10B8/1    CIExyY:0.3028/0.3122/0.591
-7  16 57.5 2.5B7/16  CIExyY:0.1435/0.2472/0.4306
-7  14 57.5 2.5B7/14  CIExyY:0.1624/0.2581/0.4306
-7  14 60   5B7/14    CIExyY:0.1615/0.2307/0.4306
-7  12 57.5 2.5B7/12  CIExyY:0.1797/0.2672/0.4306
-7  12 60   5B7/12    CIExyY:0.1778/0.243/0.4306
-7  12 62.5 7.5B7/12  CIExyY:0.1818/0.2303/0.4306
-7  12 65   10B7/12   CIExyY:0.1883/0.2203/0.4306
-7  10 57.5 2.5B7/10  CIExyY:0.1994/0.2775/0.4306
-7  10 60   5B7/10    CIExyY:0.1986/0.2579/0.4306
-7  10 62.5 7.5B7/10  CIExyY:0.2016/0.2466/0.4306
-7  10 65   10B7/10   CIExyY:0.2078/0.2382/0.4306
-7  8  57.5 2.5B7/8   CIExyY:0.2208/0.2871/0.4306
-7  8  60   5B7/8     CIExyY:0.2204/0.2729/0.4306
-7  8  62.5 7.5B7/8   CIExyY:0.2225/0.2631/0.4306
-7  8  65   10B7/8    CIExyY:0.2277/0.2559/0.4306
-7  6  57.5 2.5B7/6   CIExyY:0.2418/0.296/0.4306
-7  6  60   5B7/6     CIExyY:0.241/0.2854/0.4306
-7  6  62.5 7.5B7/6   CIExyY:0.2436/0.2787/0.4306
-7  6  65   10B7/6    CIExyY:0.2478/0.2728/0.4306
-7  4  57.5 2.5B7/4   CIExyY:0.2629/0.3038/0.4306
-7  4  60   5B7/4     CIExyY:0.2633/0.2972/0.4306
-7  4  62.5 7.5B7/4   CIExyY:0.2651/0.2927/0.4306
-7  4  65   10B7/4    CIExyY:0.2685/0.2886/0.4306
-7  3  57.5 2.5B7/3   CIExyY:0.2747/0.3076/0.4306
-7  3  60   5B7/3     CIExyY:0.2754/0.3027/0.4306
-7  3  62.5 7.5B7/3   CIExyY:0.277/0.2995/0.4306
-7  3  65   10B7/3    CIExyY:0.2797/0.2965/0.4306
-7  2  57.5 2.5B7/2   CIExyY:0.2867/0.311/0.4306
-7  2  60   5B7/2     CIExyY:0.2875/0.3078/0.4306
-7  2  62.5 7.5B7/2   CIExyY:0.2888/0.3058/0.4306
-7  2  65   10B7/2    CIExyY:0.2908/0.3039/0.4306
-7  1  60   5B7/1     CIExyY:0.2992/0.3124/0.4306
-7  1  65   10B7/1    CIExyY:0.3011/0.3106/0.4306
-6  16 57.5 2.5B6/16  CIExyY:0.1294/0.2348/0.3005
-6  16 60   5B6/16    CIExyY:0.131/0.2048/0.3005
-6  16 62.5 7.5B6/16  CIExyY:0.1376/0.1879/0.3005
-6  16 65   10B6/16   CIExyY:0.1454/0.1778/0.3005
-6  14 57.5 2.5B6/14  CIExyY:0.148/0.2459/0.3005
-6  14 60   5B6/14    CIExyY:0.1496/0.2193/0.3005
-6  14 62.5 7.5B6/14  CIExyY:0.1556/0.2043/0.3005
-6  14 65   10B6/14   CIExyY:0.1629/0.1947/0.3005
-6  12 57.5 2.5B6/12  CIExyY:0.166/0.2561/0.3005
-6  12 60   5B6/12    CIExyY:0.1685/0.2339/0.3005
-6  12 62.5 7.5B6/12  CIExyY:0.1734/0.2203/0.3005
-6  12 65   10B6/12   CIExyY:0.1803/0.2114/0.3005
-6  10 57.5 2.5B6/10  CIExyY:0.1879/0.2682/0.3005
-6  10 60   5B6/10    CIExyY:0.1883/0.2487/0.3005
-6  10 62.5 7.5B6/10  CIExyY:0.1934/0.2374/0.3005
-6  10 65   10B6/10   CIExyY:0.2/0.2298/0.3005
-6  8  57.5 2.5B6/8   CIExyY:0.208/0.2789/0.3005
-6  8  60   5B6/8     CIExyY:0.2088/0.2635/0.3005
-6  8  62.5 7.5B6/8   CIExyY:0.2132/0.2537/0.3005
-6  8  65   10B6/8    CIExyY:0.2189/0.2468/0.3005
-6  6  57.5 2.5B6/6   CIExyY:0.2312/0.2899/0.3005
-6  6  60   5B6/6     CIExyY:0.232/0.2789/0.3005
-6  6  62.5 7.5B6/6   CIExyY:0.2352/0.2708/0.3005
-6  6  65   10B6/6    CIExyY:0.2399/0.265/0.3005
-6  4  57.5 2.5B6/4   CIExyY:0.2571/0.3008/0.3005
-6  4  60   5B6/4     CIExyY:0.2579/0.2938/0.3005
-6  4  62.5 7.5B6/4   CIExyY:0.2602/0.2881/0.3005
-6  4  65   10B6/4    CIExyY:0.2637/0.284/0.3005
-6  3  57.5 2.5B6/3   CIExyY:0.2703/0.3055/0.3005
-6  3  60   5B6/3     CIExyY:0.2711/0.3004/0.3005
-6  3  62.5 7.5B6/3   CIExyY:0.2728/0.2962/0.3005
-6  3  65   10B6/3    CIExyY:0.2755/0.2928/0.3005
-6  2  57.5 2.5B6/2   CIExyY:0.2835/0.3097/0.3005
-6  2  60   5B6/2     CIExyY:0.2842/0.3063/0.3005
-6  2  62.5 7.5B6/2   CIExyY:0.2854/0.3037/0.3005
-6  2  65   10B6/2    CIExyY:0.2871/0.3012/0.3005
-6  1  60   5B6/1     CIExyY:0.2972/0.3116/0.3005
-6  1  65   10B6/1    CIExyY:0.2987/0.309/0.3005
-5  18 65   10B5/18   CIExyY:0.1203/0.1505/0.1977
-5  16 57.5 2.5B5/16  CIExyY:0.109/0.2166/0.1977
-5  16 60   5B5/16    CIExyY:0.1132/0.1863/0.1977
-5  16 62.5 7.5B5/16  CIExyY:0.123/0.1711/0.1977
-5  16 65   10B5/16   CIExyY:0.1326/0.1632/0.1977
-5  14 57.5 2.5B5/14  CIExyY:0.1283/0.2292/0.1977
-5  14 60   5B5/14    CIExyY:0.132/0.2021/0.1977
-5  14 62.5 7.5B5/14  CIExyY:0.1404/0.1878/0.1977
-5  14 65   10B5/14   CIExyY:0.1492/0.1797/0.1977
-5  12 57.5 2.5B5/12  CIExyY:0.1461/0.2406/0.1977
-5  12 60   5B5/12    CIExyY:0.1505/0.2172/0.1977
-5  12 62.5 7.5B5/12  CIExyY:0.1584/0.2042/0.1977
-5  12 65   10B5/12   CIExyY:0.1666/0.1964/0.1977
-5  10 57.5 2.5B5/10  CIExyY:0.1697/0.2549/0.1977
-5  10 60   5B5/10    CIExyY:0.1729/0.2347/0.1977
-5  10 62.5 7.5B5/10  CIExyY:0.1792/0.223/0.1977
-5  10 65   10B5/10   CIExyY:0.186/0.2149/0.1977
-5  8  57.5 2.5B5/8   CIExyY:0.1947/0.2687/0.1977
-5  8  60   5B5/8     CIExyY:0.1958/0.2519/0.1977
-5  8  62.5 7.5B5/8   CIExyY:0.2007/0.2417/0.1977
-5  8  65   10B5/8    CIExyY:0.2067/0.2344/0.1977
-5  6  57.5 2.5B5/6   CIExyY:0.221/0.2823/0.1977
-5  6  60   5B5/6     CIExyY:0.2215/0.2701/0.1977
-5  6  62.5 7.5B5/6   CIExyY:0.2248/0.2612/0.1977
-5  6  65   10B5/6    CIExyY:0.2299/0.2548/0.1977
-5  4  57.5 2.5B5/4   CIExyY:0.2492/0.2954/0.1977
-5  4  60   5B5/4     CIExyY:0.2493/0.2879/0.1977
-5  4  62.5 7.5B5/4   CIExyY:0.2511/0.2808/0.1977
-5  4  65   10B5/4    CIExyY:0.2547/0.2757/0.1977
-5  3  57.5 2.5B5/3   CIExyY:0.264/0.3015/0.1977
-5  3  60   5B5/3     CIExyY:0.2642/0.2958/0.1977
-5  3  62.5 7.5B5/3   CIExyY:0.2655/0.2906/0.1977
-5  3  65   10B5/3    CIExyY:0.2682/0.2862/0.1977
-5  2  57.5 2.5B5/2   CIExyY:0.2791/0.3071/0.1977
-5  2  60   5B5/2     CIExyY:0.2794/0.3032/0.1977
-5  2  62.5 7.5B5/2   CIExyY:0.2803/0.3/0.1977
-5  2  65   10B5/2    CIExyY:0.2821/0.2966/0.1977
-5  1  60   5B5/1     CIExyY:0.2948/0.31/0.1977
-5  1  65   10B5/1    CIExyY:0.2961/0.3067/0.1977
-4  16 57.5 2.5B4/16  CIExyY:0.09/0.1973/0.12
-4  16 65   10B4/16   CIExyY:0.1155/0.1416/0.12
-4  14 57.5 2.5B4/14  CIExyY:0.1027/0.2057/0.12
-4  14 60   5B4/14    CIExyY:0.1098/0.1785/0.12
-4  14 62.5 7.5B4/14  CIExyY:0.1204/0.1655/0.12
-4  14 65   10B4/14   CIExyY:0.131/0.158/0.12
-4  12 57.5 2.5B4/12  CIExyY:0.1247/0.2209/0.12
-4  12 60   5B4/12    CIExyY:0.1299/0.1963/0.12
-4  12 62.5 7.5B4/12  CIExyY:0.1393/0.1837/0.12
-4  12 65   10B4/12   CIExyY:0.1487/0.176/0.12
-4  10 57.5 2.5B4/10  CIExyY:0.1463/0.2354/0.12
-4  10 60   5B4/10    CIExyY:0.1512/0.2148/0.12
-4  10 62.5 7.5B4/10  CIExyY:0.1601/0.2028/0.12
-4  10 65   10B4/10   CIExyY:0.1681/0.1954/0.12
-4  8  57.5 2.5B4/8   CIExyY:0.1737/0.2524/0.12
-4  8  60   5B4/8     CIExyY:0.1759/0.2345/0.12
-4  8  62.5 7.5B4/8   CIExyY:0.1821/0.2232/0.12
-4  8  65   10B4/8    CIExyY:0.1893/0.216/0.12
-4  6  57.5 2.5B4/6   CIExyY:0.2048/0.2708/0.12
-4  6  60   5B4/6     CIExyY:0.206/0.2572/0.12
-4  6  62.5 7.5B4/6   CIExyY:0.2102/0.247/0.12
-4  6  65   10B4/6    CIExyY:0.2157/0.2407/0.12
-4  4  57.5 2.5B4/4   CIExyY:0.236/0.2872/0.12
-4  4  60   5B4/4     CIExyY:0.2363/0.2782/0.12
-4  4  62.5 7.5B4/4   CIExyY:0.2388/0.2704/0.12
-4  4  65   10B4/4    CIExyY:0.2429/0.2648/0.12
-4  3  57.5 2.5B4/3   CIExyY:0.254/0.2957/0.12
-4  3  60   5B4/3     CIExyY:0.2538/0.2889/0.12
-4  3  62.5 7.5B4/3   CIExyY:0.2555/0.2827/0.12
-4  3  65   10B4/3    CIExyY:0.2586/0.2778/0.12
-4  2  57.5 2.5B4/2   CIExyY:0.2727/0.3038/0.12
-4  2  60   5B4/2     CIExyY:0.2723/0.2992/0.12
-4  2  62.5 7.5B4/2   CIExyY:0.2733/0.2947/0.12
-4  2  65   10B4/2    CIExyY:0.2753/0.291/0.12
-4  1  60   5B4/1     CIExyY:0.2912/0.3085/0.12
-4  1  65   10B4/1    CIExyY:0.2926/0.304/0.12
-3  14 65   10B3/14   CIExyY:0.1065/0.1285/0.06555
-3  12 57.5 2.5B3/12  CIExyY:0.0989/0.1963/0.06555
-3  12 60   5B3/12    CIExyY:0.1042/0.1681/0.06555
-3  12 62.5 7.5B3/12  CIExyY:0.1131/0.1542/0.06555
-3  12 65   10B3/12   CIExyY:0.1228/0.146/0.06555
-3  10 57.5 2.5B3/10  CIExyY:0.122/0.2132/0.06555
-3  10 60   5B3/10    CIExyY:0.1259/0.1879/0.06555
-3  10 62.5 7.5B3/10  CIExyY:0.1343/0.1756/0.06555
-3  10 65   10B3/10   CIExyY:0.1432/0.1675/0.06555
-3  8  57.5 2.5B3/8   CIExyY:0.1511/0.2331/0.06555
-3  8  60   5B3/8     CIExyY:0.1527/0.2119/0.06555
-3  8  62.5 7.5B3/8   CIExyY:0.1583/0.1987/0.06555
-3  8  65   10B3/8    CIExyY:0.1658/0.1905/0.06555
-3  6  57.5 2.5B3/6   CIExyY:0.1826/0.2536/0.06555
-3  6  60   5B3/6     CIExyY:0.1835/0.2375/0.06555
-3  6  62.5 7.5B3/6   CIExyY:0.1875/0.2258/0.06555
-3  6  65   10B3/6    CIExyY:0.1933/0.2173/0.06555
-3  4  57.5 2.5B3/4   CIExyY:0.2183/0.2748/0.06555
-3  4  60   5B3/4     CIExyY:0.2176/0.2632/0.06555
-3  4  62.5 7.5B3/4   CIExyY:0.22/0.2536/0.06555
-3  4  65   10B3/4    CIExyY:0.2246/0.2467/0.06555
-3  3  57.5 2.5B3/3   CIExyY:0.2403/0.2868/0.06555
-3  3  60   5B3/3     CIExyY:0.2388/0.2777/0.06555
-3  3  62.5 7.5B3/3   CIExyY:0.2398/0.2695/0.06555
-3  3  65   10B3/3    CIExyY:0.2429/0.263/0.06555
-3  2  57.5 2.5B3/2   CIExyY:0.2636/0.2983/0.06555
-3  2  60   5B3/2     CIExyY:0.2617/0.2921/0.06555
-3  2  62.5 7.5B3/2   CIExyY:0.2616/0.2857/0.06555
-3  2  65   10B3/2    CIExyY:0.2631/0.2801/0.06555
-3  1  60   5B3/1     CIExyY:0.2857/0.3053/0.06555
-3  1  65   10B3/1    CIExyY:0.2855/0.2979/0.06555
-2  10 57.5 2.5B2/10  CIExyY:0.0911/0.1828/0.03126
-2  10 60   5B2/10    CIExyY:0.0965/0.1558/0.03126
-2  10 62.5 7.5B2/10  CIExyY:0.1051/0.1422/0.03126
-2  10 65   10B2/10   CIExyY:0.1157/0.1346/0.03126
-2  8  57.5 2.5B2/8   CIExyY:0.123/0.2076/0.03126
-2  8  60   5B2/8     CIExyY:0.1245/0.1827/0.03126
-2  8  62.5 7.5B2/8   CIExyY:0.1313/0.1692/0.03126
-2  8  65   10B2/8    CIExyY:0.1396/0.1603/0.03126
-2  6  57.5 2.5B2/6   CIExyY:0.1621/0.2358/0.03126
-2  6  60   5B2/6     CIExyY:0.1617/0.2162/0.03126
-2  6  62.5 7.5B2/6   CIExyY:0.1658/0.2026/0.03126
-2  6  65   10B2/6    CIExyY:0.1716/0.1937/0.03126
-2  4  57.5 2.5B2/4   CIExyY:0.206/0.2649/0.03126
-2  4  60   5B2/4     CIExyY:0.2048/0.2518/0.03126
-2  4  62.5 7.5B2/4   CIExyY:0.2063/0.24/0.03126
-2  4  65   10B2/4    CIExyY:0.2102/0.2313/0.03126
-2  3  57.5 2.5B2/3   CIExyY:0.2314/0.2799/0.03126
-2  3  60   5B2/3     CIExyY:0.2297/0.27/0.03126
-2  3  62.5 7.5B2/3   CIExyY:0.2295/0.26/0.03126
-2  3  65   10B2/3    CIExyY:0.232/0.2515/0.03126
-2  2  57.5 2.5B2/2   CIExyY:0.2578/0.294/0.03126
-2  2  60   5B2/2     CIExyY:0.2559/0.2874/0.03126
-2  2  62.5 7.5B2/2   CIExyY:0.2545/0.2799/0.03126
-2  2  65   10B2/2    CIExyY:0.2558/0.2725/0.03126
-2  1  60   5B2/1     CIExyY:0.2829/0.3031/0.03126
-2  1  65   10B2/1    CIExyY:0.2818/0.2941/0.03126
-1  8  62.5 7.5B1/8   CIExyY:0.0968/0.128/0.0121
-1  8  65   10B1/8    CIExyY:0.1077/0.1218/0.0121
-1  6  57.5 2.5B1/6   CIExyY:0.1118/0.1908/0.0121
-1  6  60   5B1/6     CIExyY:0.1212/0.1745/0.0121
-1  6  62.5 7.5B1/6   CIExyY:0.1303/0.1639/0.0121
-1  6  65   10B1/6    CIExyY:0.1392/0.1563/0.0121
-1  4  57.5 2.5B1/4   CIExyY:0.1649/0.2324/0.0121
-1  4  60   5B1/4     CIExyY:0.1667/0.2168/0.0121
-1  4  62.5 7.5B1/4   CIExyY:0.1716/0.2048/0.0121
-1  4  65   10B1/4    CIExyY:0.1783/0.1974/0.0121
-1  2  57.5 2.5B1/2   CIExyY:0.2322/0.2781/0.0121
-1  2  60   5B1/2     CIExyY:0.2291/0.2677/0.0121
-1  2  62.5 7.5B1/2   CIExyY:0.2291/0.2579/0.0121
-1  2  65   10B1/2    CIExyY:0.2309/0.2491/0.0121
-9  4  75   10PB9/4   CIExyY:0.291/0.285/0.7866
-9  2  67.5 2.5PB9/2  CIExyY:0.2975/0.3063/0.7866
-9  2  70   5PB9/2    CIExyY:0.2991/0.3057/0.7866
-9  2  72.5 7.5PB9/2  CIExyY:0.3015/0.3052/0.7866
-9  2  75   10PB9/2   CIExyY:0.3038/0.3054/0.7866
-9  1  70   5PB9/1    CIExyY:0.3046/0.311/0.7866
-9  1  75   10PB9/1   CIExyY:0.3078/0.312/0.7866
-8  8  75   10PB8/8   CIExyY:0.2677/0.2443/0.591
-8  6  67.5 2.5PB8/6  CIExyY:0.2562/0.2709/0.591
-8  6  70   5PB8/6    CIExyY:0.2614/0.267/0.591
-8  6  72.5 7.5PB8/6  CIExyY:0.2702/0.2648/0.591
-8  6  75   10PB8/6   CIExyY:0.2792/0.2649/0.591
-8  4  67.5 2.5PB8/4  CIExyY:0.2758/0.2879/0.591
-8  4  70   5PB8/4    CIExyY:0.2798/0.2861/0.591
-8  4  72.5 7.5PB8/4  CIExyY:0.2856/0.2846/0.591
-8  4  75   10PB8/4   CIExyY:0.2911/0.2848/0.591
-8  3  67.5 2.5PB8/3  CIExyY:0.2861/0.2966/0.591
-8  3  70   5PB8/3    CIExyY:0.289/0.2954/0.591
-8  3  72.5 7.5PB8/3  CIExyY:0.2933/0.2944/0.591
-8  3  75   10PB8/3   CIExyY:0.2972/0.2946/0.591
-8  2  67.5 2.5PB8/2  CIExyY:0.2957/0.3047/0.591
-8  2  70   5PB8/2    CIExyY:0.2974/0.3039/0.591
-8  2  72.5 7.5PB8/2  CIExyY:0.3003/0.3034/0.591
-8  2  75   10PB8/2   CIExyY:0.3027/0.3035/0.591
-8  1  70   5PB8/1    CIExyY:0.3046/0.311/0.591
-8  1  75   10PB8/1   CIExyY:0.3072/0.3109/0.591
-7  12 75   10PB7/12  CIExyY:0.2465/0.2058/0.4306
-7  10 67.5 2.5PB7/10 CIExyY:0.2162/0.2309/0.4306
-7  10 70   5PB7/10   CIExyY:0.2254/0.2267/0.4306
-7  10 72.5 7.5PB7/10 CIExyY:0.241/0.2224/0.4306
-7  10 75   10PB7/10  CIExyY:0.2563/0.224/0.4306
-7  8  67.5 2.5PB7/8  CIExyY:0.2352/0.2498/0.4306
-7  8  70   5PB7/8    CIExyY:0.2427/0.2458/0.4306
-7  8  72.5 7.5PB7/8  CIExyY:0.2546/0.2418/0.4306
-7  8  75   10PB7/8   CIExyY:0.267/0.2425/0.4306
-7  6  67.5 2.5PB7/6  CIExyY:0.2538/0.2677/0.4306
-7  6  70   5PB7/6    CIExyY:0.2596/0.2643/0.4306
-7  6  72.5 7.5PB7/6  CIExyY:0.2687/0.2612/0.4306
-7  6  75   10PB7/6   CIExyY:0.2776/0.2612/0.4306
-7  4  67.5 2.5PB7/4  CIExyY:0.2729/0.2848/0.4306
-7  4  70   5PB7/4    CIExyY:0.2773/0.2828/0.4306
-7  4  72.5 7.5PB7/4  CIExyY:0.2833/0.2809/0.4306
-7  4  75   10PB7/4   CIExyY:0.2886/0.2801/0.4306
-7  3  67.5 2.5PB7/3  CIExyY:0.2832/0.2939/0.4306
-7  3  70   5PB7/3    CIExyY:0.2864/0.2922/0.4306
-7  3  72.5 7.5PB7/3  CIExyY:0.2909/0.2908/0.4306
-7  3  75   10PB7/3   CIExyY:0.2946/0.2902/0.4306
-7  2  67.5 2.5PB7/2  CIExyY:0.2932/0.3025/0.4306
-7  2  70   5PB7/2    CIExyY:0.2952/0.3011/0.4306
-7  2  72.5 7.5PB7/2  CIExyY:0.2982/0.3003/0.4306
-7  2  75   10PB7/2   CIExyY:0.3005/0.3/0.4306
-7  1  70   5PB7/1    CIExyY:0.3032/0.3093/0.4306
-7  1  75   10PB7/1   CIExyY:0.3058/0.3089/0.4306
-6  16 75   10PB6/16  CIExyY:0.2265/0.1671/0.3005
-6  14 67.5 2.5PB6/14 CIExyY:0.1754/0.1868/0.3005
-6  14 70   5PB6/14   CIExyY:0.1873/0.1822/0.3005
-6  14 72.5 7.5PB6/14 CIExyY:0.2119/0.1799/0.3005
-6  14 75   10PB6/14  CIExyY:0.2352/0.1839/0.3005
-6  12 67.5 2.5PB6/12 CIExyY:0.1913/0.2038/0.3005
-6  12 70   5PB6/12   CIExyY:0.2026/0.1999/0.3005
-6  12 72.5 7.5PB6/12 CIExyY:0.2241/0.1975/0.3005
-6  12 75   10PB6/12  CIExyY:0.244/0.1998/0.3005
-6  10 67.5 2.5PB6/10 CIExyY:0.2095/0.2225/0.3005
-6  10 70   5PB6/10   CIExyY:0.2197/0.2188/0.3005
-6  10 72.5 7.5PB6/10 CIExyY:0.2378/0.2168/0.3005
-6  10 75   10PB6/10  CIExyY:0.254/0.2176/0.3005
-6  8  67.5 2.5PB6/8  CIExyY:0.2274/0.2406/0.3005
-6  8  70   5PB6/8    CIExyY:0.236/0.2365/0.3005
-6  8  72.5 7.5PB6/8  CIExyY:0.2505/0.2347/0.3005
-6  8  75   10PB6/8   CIExyY:0.2637/0.2352/0.3005
-6  6  67.5 2.5PB6/6  CIExyY:0.2465/0.2599/0.3005
-6  6  70   5PB6/6    CIExyY:0.2533/0.2558/0.3005
-6  6  72.5 7.5PB6/6  CIExyY:0.2638/0.2531/0.3005
-6  6  75   10PB6/6   CIExyY:0.274/0.2533/0.3005
-6  4  67.5 2.5PB6/4  CIExyY:0.2684/0.2804/0.3005
-6  4  70   5PB6/4    CIExyY:0.2734/0.2778/0.3005
-6  4  72.5 7.5PB6/4  CIExyY:0.2798/0.2752/0.3005
-6  4  75   10PB6/4   CIExyY:0.2863/0.2747/0.3005
-6  3  67.5 2.5PB6/3  CIExyY:0.2791/0.29/0.3005
-6  3  70   5PB6/3    CIExyY:0.283/0.288/0.3005
-6  3  72.5 7.5PB6/3  CIExyY:0.2877/0.2859/0.3005
-6  3  75   10PB6/3   CIExyY:0.2926/0.2855/0.3005
-6  2  67.5 2.5PB6/2  CIExyY:0.2897/0.2991/0.3005
-6  2  70   5PB6/2    CIExyY:0.2923/0.2978/0.3005
-6  2  72.5 7.5PB6/2  CIExyY:0.2955/0.2963/0.3005
-6  2  75   10PB6/2   CIExyY:0.2988/0.2961/0.3005
-6  1  70   5PB6/1    CIExyY:0.3013/0.3072/0.3005
-6  1  75   10PB6/1   CIExyY:0.3047/0.3064/0.3005
-5  22 75   10PB5/22  CIExyY:0.2082/0.1225/0.1977
-5  20 72.5 7.5PB5/20 CIExyY:0.1794/0.1239/0.1977
-5  20 75   10PB5/20  CIExyY:0.2121/0.1329/0.1977
-5  18 67.5 2.5PB5/18 CIExyY:0.1363/0.141/0.1977
-5  18 70   5PB5/18   CIExyY:0.1518/0.1365/0.1977
-5  18 72.5 7.5PB5/18 CIExyY:0.1862/0.1365/0.1977
-5  18 75   10PB5/18  CIExyY:0.2174/0.1444/0.1977
-5  16 67.5 2.5PB5/16 CIExyY:0.1495/0.1559/0.1977
-5  16 70   5PB5/16   CIExyY:0.1638/0.1521/0.1977
-5  16 72.5 7.5PB5/16 CIExyY:0.1945/0.1511/0.1977
-5  16 75   10PB5/16  CIExyY:0.2224/0.1555/0.1977
-5  14 67.5 2.5PB5/14 CIExyY:0.1642/0.1723/0.1977
-5  14 70   5PB5/14   CIExyY:0.1773/0.1689/0.1977
-5  14 72.5 7.5PB5/14 CIExyY:0.2042/0.1661/0.1977
-5  14 75   10PB5/14  CIExyY:0.2299/0.1698/0.1977
-5  12 67.5 2.5PB5/12 CIExyY:0.1793/0.1894/0.1977
-5  12 70   5PB5/12   CIExyY:0.1918/0.1858/0.1977
-5  12 72.5 7.5PB5/12 CIExyY:0.2157/0.183/0.1977
-5  12 75   10PB5/12  CIExyY:0.2384/0.1857/0.1977
-5  10 67.5 2.5PB5/10 CIExyY:0.1968/0.2078/0.1977
-5  10 70   5PB5/10   CIExyY:0.208/0.2041/0.1977
-5  10 72.5 7.5PB5/10 CIExyY:0.2285/0.202/0.1977
-5  10 75   10PB5/10  CIExyY:0.2478/0.203/0.1977
-5  8  67.5 2.5PB5/8  CIExyY:0.2157/0.2278/0.1977
-5  8  70   5PB5/8    CIExyY:0.2255/0.2239/0.1977
-5  8  72.5 7.5PB5/8  CIExyY:0.2417/0.2204/0.1977
-5  8  75   10PB5/8   CIExyY:0.2572/0.2211/0.1977
-5  6  67.5 2.5PB5/6  CIExyY:0.2365/0.2488/0.1977
-5  6  70   5PB5/6    CIExyY:0.2447/0.2449/0.1977
-5  6  72.5 7.5PB5/6  CIExyY:0.2563/0.2417/0.1977
-5  6  75   10PB5/6   CIExyY:0.2686/0.2412/0.1977
-5  4  67.5 2.5PB5/4  CIExyY:0.26/0.272/0.1977
-5  4  70   5PB5/4    CIExyY:0.2662/0.2687/0.1977
-5  4  72.5 7.5PB5/4  CIExyY:0.2739/0.2666/0.1977
-5  4  75   10PB5/4   CIExyY:0.2821/0.2659/0.1977
-5  3  67.5 2.5PB5/3  CIExyY:0.2722/0.2832/0.1977
-5  3  70   5PB5/3    CIExyY:0.2772/0.2805/0.1977
-5  3  72.5 7.5PB5/3  CIExyY:0.2828/0.2787/0.1977
-5  3  75   10PB5/3   CIExyY:0.289/0.2781/0.1977
-5  2  67.5 2.5PB5/2  CIExyY:0.2847/0.2942/0.1977
-5  2  70   5PB5/2    CIExyY:0.2882/0.2923/0.1977
-5  2  72.5 7.5PB5/2  CIExyY:0.2918/0.2908/0.1977
-5  2  75   10PB5/2   CIExyY:0.2959/0.2905/0.1977
-5  1  70   5PB5/1    CIExyY:0.2992/0.3042/0.1977
-5  1  75   10PB5/1   CIExyY:0.3029/0.3032/0.1977
-4  30 75   10PB4/30  CIExyY:0.1952/0.0778/0.12
-4  28 75   10PB4/28  CIExyY:0.1971/0.084/0.12
-4  26 72.5 7.5PB4/26 CIExyY:0.1659/0.0825/0.12
-4  26 75   10PB4/26  CIExyY:0.1994/0.0904/0.12
-4  24 72.5 7.5PB4/24 CIExyY:0.1684/0.0899/0.12
-4  24 75   10PB4/24  CIExyY:0.202/0.0985/0.12
-4  22 72.5 7.5PB4/22 CIExyY:0.1713/0.098/0.12
-4  22 75   10PB4/22  CIExyY:0.2048/0.1064/0.12
-4  20 70   5PB4/20   CIExyY:0.1288/0.1027/0.12
-4  20 72.5 7.5PB4/20 CIExyY:0.1742/0.1058/0.12
-4  20 75   10PB4/20  CIExyY:0.2075/0.114/0.12
-4  18 67.5 2.5PB4/18 CIExyY:0.1218/0.1203/0.12
-4  18 70   5PB4/18   CIExyY:0.1392/0.1167/0.12
-4  18 72.5 7.5PB4/18 CIExyY:0.1798/0.1185/0.12
-4  18 75   10PB4/18  CIExyY:0.212/0.1256/0.12
-4  16 67.5 2.5PB4/16 CIExyY:0.1336/0.1349/0.12
-4  16 70   5PB4/16   CIExyY:0.1504/0.1317/0.12
-4  16 72.5 7.5PB4/16 CIExyY:0.1861/0.1316/0.12
-4  16 75   10PB4/16  CIExyY:0.217/0.1373/0.12
-4  14 67.5 2.5PB4/14 CIExyY:0.1473/0.1513/0.12
-4  14 70   5PB4/14   CIExyY:0.1627/0.1479/0.12
-4  14 72.5 7.5PB4/14 CIExyY:0.1941/0.1468/0.12
-4  14 75   10PB4/14  CIExyY:0.222/0.1503/0.12
-4  12 67.5 2.5PB4/12 CIExyY:0.1634/0.1698/0.12
-4  12 70   5PB4/12   CIExyY:0.1773/0.1659/0.12
-4  12 72.5 7.5PB4/12 CIExyY:0.2037/0.1629/0.12
-4  12 75   10PB4/12  CIExyY:0.2298/0.1659/0.12
-4  10 67.5 2.5PB4/10 CIExyY:0.1805/0.1888/0.12
-4  10 70   5PB4/10   CIExyY:0.1925/0.1843/0.12
-4  10 72.5 7.5PB4/10 CIExyY:0.2158/0.1811/0.12
-4  10 75   10PB4/10  CIExyY:0.2388/0.1837/0.12
-4  8  67.5 2.5PB4/8  CIExyY:0.1995/0.2094/0.12
-4  8  70   5PB4/8    CIExyY:0.2103/0.205/0.12
-4  8  72.5 7.5PB4/8  CIExyY:0.2304/0.2023/0.12
-4  8  75   10PB4/8   CIExyY:0.2497/0.2038/0.12
-4  6  67.5 2.5PB4/6  CIExyY:0.2235/0.2343/0.12
-4  6  70   5PB4/6    CIExyY:0.2325/0.23/0.12
-4  6  72.5 7.5PB4/6  CIExyY:0.2471/0.2266/0.12
-4  6  75   10PB4/6   CIExyY:0.2618/0.2263/0.12
-4  4  67.5 2.5PB4/4  CIExyY:0.2487/0.2597/0.12
-4  4  70   5PB4/4    CIExyY:0.2562/0.256/0.12
-4  4  72.5 7.5PB4/4  CIExyY:0.2657/0.2528/0.12
-4  4  75   10PB4/4   CIExyY:0.2759/0.2522/0.12
-4  3  67.5 2.5PB4/3  CIExyY:0.263/0.2734/0.12
-4  3  70   5PB4/3    CIExyY:0.2686/0.2697/0.12
-4  3  72.5 7.5PB4/3  CIExyY:0.2756/0.2668/0.12
-4  3  75   10PB4/3   CIExyY:0.2832/0.2657/0.12
-4  2  67.5 2.5PB4/2  CIExyY:0.2782/0.2876/0.12
-4  2  70   5PB4/2    CIExyY:0.2816/0.2842/0.12
-4  2  72.5 7.5PB4/2  CIExyY:0.2861/0.2819/0.12
-4  2  75   10PB4/2   CIExyY:0.2911/0.2804/0.12
-4  1  70   5PB4/1    CIExyY:0.2954/0.2997/0.12
-4  1  75   10PB4/1   CIExyY:0.3/0.2971/0.12
-3  34 72.5 7.5PB3/34 CIExyY:0.1608/0.048/0.06555
-3  34 75   10PB3/34  CIExyY:0.1918/0.0503/0.06555
-3  32 72.5 7.5PB3/32 CIExyY:0.1612/0.0511/0.06555
-3  32 75   10PB3/32  CIExyY:0.1926/0.0542/0.06555
-3  30 72.5 7.5PB3/30 CIExyY:0.1621/0.0556/0.06555
-3  30 75   10PB3/30  CIExyY:0.1938/0.0599/0.06555
-3  28 72.5 7.5PB3/28 CIExyY:0.1632/0.0609/0.06555
-3  28 75   10PB3/28  CIExyY:0.195/0.065/0.06555
-3  26 72.5 7.5PB3/26 CIExyY:0.1642/0.0655/0.06555
-3  26 75   10PB3/26  CIExyY:0.1963/0.0708/0.06555
-3  24 72.5 7.5PB3/24 CIExyY:0.1658/0.0711/0.06555
-3  24 75   10PB3/24  CIExyY:0.1982/0.0772/0.06555
-3  22 72.5 7.5PB3/22 CIExyY:0.1677/0.0782/0.06555
-3  22 75   10PB3/22  CIExyY:0.2004/0.0847/0.06555
-3  20 72.5 7.5PB3/20 CIExyY:0.1702/0.0867/0.06555
-3  20 75   10PB3/20  CIExyY:0.203/0.093/0.06555
-3  18 70   5PB3/18   CIExyY:0.1228/0.0895/0.06555
-3  18 72.5 7.5PB3/18 CIExyY:0.173/0.0948/0.06555
-3  18 75   10PB3/18  CIExyY:0.206/0.102/0.06555
-3  16 70   5PB3/16   CIExyY:0.1318/0.1024/0.06555
-3  16 72.5 7.5PB3/16 CIExyY:0.1765/0.1048/0.06555
-3  16 75   10PB3/16  CIExyY:0.2092/0.1118/0.06555
-3  14 67.5 2.5PB3/14 CIExyY:0.1251/0.1218/0.06555
-3  14 70   5PB3/14   CIExyY:0.1431/0.1184/0.06555
-3  14 72.5 7.5PB3/14 CIExyY:0.1824/0.1188/0.06555
-3  14 75   10PB3/14  CIExyY:0.2142/0.125/0.06555
-3  12 67.5 2.5PB3/12 CIExyY:0.1398/0.1395/0.06555
-3  12 70   5PB3/12   CIExyY:0.1557/0.1356/0.06555
-3  12 72.5 7.5PB3/12 CIExyY:0.1903/0.1353/0.06555
-3  12 75   10PB3/12  CIExyY:0.2206/0.1407/0.06555
-3  10 67.5 2.5PB3/10 CIExyY:0.1576/0.16/0.06555
-3  10 70   5PB3/10   CIExyY:0.1718/0.1562/0.06555
-3  10 72.5 7.5PB3/10 CIExyY:0.2005/0.1536/0.06555
-3  10 75   10PB3/10  CIExyY:0.2278/0.1565/0.06555
-3  8  67.5 2.5PB3/8  CIExyY:0.178/0.1833/0.06555
-3  8  70   5PB3/8    CIExyY:0.1908/0.1799/0.06555
-3  8  72.5 7.5PB3/8  CIExyY:0.2149/0.1761/0.06555
-3  8  75   10PB3/8   CIExyY:0.2387/0.1786/0.06555
-3  6  67.5 2.5PB3/6  CIExyY:0.2022/0.2101/0.06555
-3  6  70   5PB3/6    CIExyY:0.2122/0.2052/0.06555
-3  6  72.5 7.5PB3/6  CIExyY:0.2311/0.201/0.06555
-3  6  75   10PB3/6   CIExyY:0.2511/0.2031/0.06555
-3  4  67.5 2.5PB3/4  CIExyY:0.2312/0.2405/0.06555
-3  4  70   5PB3/4    CIExyY:0.2393/0.2361/0.06555
-3  4  72.5 7.5PB3/4  CIExyY:0.252/0.2319/0.06555
-3  4  75   10PB3/4   CIExyY:0.266/0.2319/0.06555
-3  3  67.5 2.5PB3/3  CIExyY:0.2478/0.2574/0.06555
-3  3  70   5PB3/3    CIExyY:0.2543/0.2532/0.06555
-3  3  72.5 7.5PB3/3  CIExyY:0.2641/0.2493/0.06555
-3  3  75   10PB3/3   CIExyY:0.2747/0.2482/0.06555
-3  2  67.5 2.5PB3/2  CIExyY:0.2663/0.2756/0.06555
-3  2  70   5PB3/2    CIExyY:0.2708/0.2719/0.06555
-3  2  72.5 7.5PB3/2  CIExyY:0.2777/0.2687/0.06555
-3  2  75   10PB3/2   CIExyY:0.2847/0.267/0.06555
-3  1  70   5PB3/1    CIExyY:0.2893/0.2928/0.06555
-3  1  75   10PB3/1   CIExyY:0.2964/0.2894/0.06555
-2  38 72.5 7.5PB2/38 CIExyY:0.1623/0.028/0.03126
-2  36 72.5 7.5PB2/36 CIExyY:0.1628/0.031/0.03126
-2  34 72.5 7.5PB2/34 CIExyY:0.163/0.034/0.03126
-2  34 75   10PB2/34  CIExyY:0.1911/0.0344/0.03126
-2  32 72.5 7.5PB2/32 CIExyY:0.1635/0.0373/0.03126
-2  32 75   10PB2/32  CIExyY:0.1918/0.0379/0.03126
-2  30 72.5 7.5PB2/30 CIExyY:0.164/0.0409/0.03126
-2  30 75   10PB2/30  CIExyY:0.1925/0.042/0.03126
-2  28 72.5 7.5PB2/28 CIExyY:0.1647/0.0451/0.03126
-2  28 75   10PB2/28  CIExyY:0.1937/0.0471/0.03126
-2  26 72.5 7.5PB2/26 CIExyY:0.1653/0.0492/0.03126
-2  26 75   10PB2/26  CIExyY:0.1949/0.052/0.03126
-2  24 72.5 7.5PB2/24 CIExyY:0.166/0.0538/0.03126
-2  24 75   10PB2/24  CIExyY:0.1962/0.0578/0.03126
-2  22 72.5 7.5PB2/22 CIExyY:0.167/0.0594/0.03126
-2  22 75   10PB2/22  CIExyY:0.1978/0.0643/0.03126
-2  20 72.5 7.5PB2/20 CIExyY:0.1685/0.0666/0.03126
-2  20 75   10PB2/20  CIExyY:0.1998/0.0718/0.03126
-2  18 72.5 7.5PB2/18 CIExyY:0.1701/0.0742/0.03126
-2  18 75   10PB2/18  CIExyY:0.2021/0.0808/0.03126
-2  16 72.5 7.5PB2/16 CIExyY:0.1728/0.0839/0.03126
-2  16 75   10PB2/16  CIExyY:0.2052/0.091/0.03126
-2  14 70   5PB2/14   CIExyY:0.1253/0.0873/0.03126
-2  14 72.5 7.5PB2/14 CIExyY:0.1762/0.0955/0.03126
-2  14 75   10PB2/14  CIExyY:0.2087/0.1026/0.03126
-2  12 67.5 2.5PB2/12 CIExyY:0.1166/0.1076/0.03126
-2  12 70   5PB2/12   CIExyY:0.1363/0.1048/0.03126
-2  12 72.5 7.5PB2/12 CIExyY:0.1813/0.1094/0.03126
-2  12 75   10PB2/12  CIExyY:0.2139/0.117/0.03126
-2  10 67.5 2.5PB2/10 CIExyY:0.1332/0.1278/0.03126
-2  10 70   5PB2/10   CIExyY:0.15/0.124/0.03126
-2  10 72.5 7.5PB2/10 CIExyY:0.1882/0.1258/0.03126
-2  10 75   10PB2/10  CIExyY:0.22/0.133/0.03126
-2  8  67.5 2.5PB2/8  CIExyY:0.154/0.153/0.03126
-2  8  70   5PB2/8    CIExyY:0.1685/0.1491/0.03126
-2  8  72.5 7.5PB2/8  CIExyY:0.2005/0.1495/0.03126
-2  8  75   10PB2/8   CIExyY:0.2294/0.1551/0.03126
-2  6  67.5 2.5PB2/6  CIExyY:0.1825/0.1857/0.03126
-2  6  70   5PB2/6    CIExyY:0.1942/0.1811/0.03126
-2  6  72.5 7.5PB2/6  CIExyY:0.2189/0.179/0.03126
-2  6  75   10PB2/6   CIExyY:0.244/0.184/0.03126
-2  4  67.5 2.5PB2/4  CIExyY:0.2175/0.2245/0.03126
-2  4  70   5PB2/4    CIExyY:0.2263/0.2192/0.03126
-2  4  72.5 7.5PB2/4  CIExyY:0.242/0.2148/0.03126
-2  4  75   10PB2/4   CIExyY:0.26/0.2162/0.03126
-2  3  67.5 2.5PB2/3  CIExyY:0.2374/0.2454/0.03126
-2  3  70   5PB2/3    CIExyY:0.2442/0.2398/0.03126
-2  3  72.5 7.5PB2/3  CIExyY:0.2556/0.2351/0.03126
-2  3  75   10PB2/3   CIExyY:0.2693/0.2347/0.03126
-2  2  67.5 2.5PB2/2  CIExyY:0.2592/0.2675/0.03126
-2  2  70   5PB2/2    CIExyY:0.2638/0.2624/0.03126
-2  2  72.5 7.5PB2/2  CIExyY:0.2712/0.2582/0.03126
-2  2  75   10PB2/2   CIExyY:0.2803/0.2567/0.03126
-2  1  70   5PB2/1    CIExyY:0.2856/0.2877/0.03126
-2  1  75   10PB2/1   CIExyY:0.2937/0.2834/0.03126
-1  38 72.5 7.5PB1/38 CIExyY:0.168/0.014/0.0121
-1  36 72.5 7.5PB1/36 CIExyY:0.1681/0.016/0.0121
-1  34 72.5 7.5PB1/34 CIExyY:0.1682/0.018/0.0121
-1  32 72.5 7.5PB1/32 CIExyY:0.1682/0.0202/0.0121
-1  30 72.5 7.5PB1/30 CIExyY:0.1684/0.0234/0.0121
-1  30 75   10PB1/30  CIExyY:0.1928/0.024/0.0121
-1  28 72.5 7.5PB1/28 CIExyY:0.1686/0.027/0.0121
-1  28 75   10PB1/28  CIExyY:0.1936/0.0281/0.0121
-1  26 72.5 7.5PB1/26 CIExyY:0.1689/0.0309/0.0121
-1  26 75   10PB1/26  CIExyY:0.1942/0.0326/0.0121
-1  24 72.5 7.5PB1/24 CIExyY:0.1691/0.0352/0.0121
-1  24 75   10PB1/24  CIExyY:0.1952/0.038/0.0121
-1  22 72.5 7.5PB1/22 CIExyY:0.1696/0.0402/0.0121
-1  22 75   10PB1/22  CIExyY:0.1965/0.0436/0.0121
-1  20 72.5 7.5PB1/20 CIExyY:0.1701/0.0454/0.0121
-1  20 75   10PB1/20  CIExyY:0.1976/0.0493/0.0121
-1  18 72.5 7.5PB1/18 CIExyY:0.1709/0.0518/0.0121
-1  18 75   10PB1/18  CIExyY:0.1991/0.0564/0.0121
-1  16 72.5 7.5PB1/16 CIExyY:0.172/0.0583/0.0121
-1  16 75   10PB1/16  CIExyY:0.2003/0.0638/0.0121
-1  14 72.5 7.5PB1/14 CIExyY:0.1738/0.0688/0.0121
-1  14 75   10PB1/14  CIExyY:0.2038/0.0745/0.0121
-1  12 72.5 7.5PB1/12 CIExyY:0.1763/0.0804/0.0121
-1  12 75   10PB1/12  CIExyY:0.207/0.0869/0.0121
-1  10 70   5PB1/10   CIExyY:0.1285/0.087/0.0121
-1  10 72.5 7.5PB1/10 CIExyY:0.1804/0.095/0.0121
-1  10 75   10PB1/10  CIExyY:0.212/0.1029/0.0121
-1  8  67.5 2.5PB1/8  CIExyY:0.1273/0.1157/0.0121
-1  8  70   5PB1/8    CIExyY:0.1447/0.1124/0.0121
-1  8  72.5 7.5PB1/8  CIExyY:0.1872/0.1141/0.0121
-1  8  75   10PB1/8   CIExyY:0.219/0.1228/0.0121
-1  6  67.5 2.5PB1/6  CIExyY:0.1539/0.1491/0.0121
-1  6  70   5PB1/6    CIExyY:0.1678/0.1447/0.0121
-1  6  72.5 7.5PB1/6  CIExyY:0.2/0.1422/0.0121
-1  6  75   10PB1/6   CIExyY:0.229/0.147/0.0121
-1  4  67.5 2.5PB1/4  CIExyY:0.1895/0.1911/0.0121
-1  4  70   5PB1/4    CIExyY:0.2012/0.1867/0.0121
-1  4  72.5 7.5PB1/4  CIExyY:0.2232/0.1821/0.0121
-1  4  75   10PB1/4   CIExyY:0.2459/0.1828/0.0121
-1  2  67.5 2.5PB1/2  CIExyY:0.236/0.242/0.0121
-1  2  70   5PB1/2    CIExyY:0.2427/0.2368/0.0121
-1  2  72.5 7.5PB1/2  CIExyY:0.2547/0.231/0.0121
-1  2  75   10PB1/2   CIExyY:0.2677/0.228/0.0121
-9  6  82.5 7.5P9/6   CIExyY:0.312/0.2788/0.7866
-9  6  85   10P9/6    CIExyY:0.3218/0.2845/0.7866
-9  4  77.5 2.5P9/4   CIExyY:0.2963/0.2865/0.7866
-9  4  80   5P9/4     CIExyY:0.3003/0.287/0.7866
-9  4  82.5 7.5P9/4   CIExyY:0.3117/0.2928/0.7866
-9  4  85   10P9/4    CIExyY:0.3176/0.2966/0.7866
-9  2  77.5 2.5P9/2   CIExyY:0.305/0.3051/0.7866
-9  2  80   5P9/2     CIExyY:0.3067/0.306/0.7866
-9  2  82.5 7.5P9/2   CIExyY:0.3107/0.3081/0.7866
-9  2  85   10P9/2    CIExyY:0.3128/0.3094/0.7866
-9  1  80   5P9/1     CIExyY:0.3088/0.3122/0.7866
-9  1  85   10P9/1    CIExyY:0.311/0.314/0.7866
-8  14 85   10P8/14   CIExyY:0.3342/0.2349/0.591
-8  12 82.5 7.5P8/12  CIExyY:0.3117/0.237/0.591
-8  12 85   10P8/12   CIExyY:0.3312/0.247/0.591
-8  10 80   5P8/10    CIExyY:0.287/0.238/0.591
-8  10 82.5 7.5P8/10  CIExyY:0.3116/0.2497/0.591
-8  10 85   10P8/10   CIExyY:0.3282/0.2582/0.591
-8  8  77.5 2.5P8/8   CIExyY:0.28/0.2488/0.591
-8  8  80   5P8/8     CIExyY:0.2914/0.2534/0.591
-8  8  82.5 7.5P8/8   CIExyY:0.3116/0.2626/0.591
-8  8  85   10P8/8    CIExyY:0.325/0.27/0.591
-8  6  77.5 2.5P8/6   CIExyY:0.2881/0.2671/0.591
-8  6  80   5P8/6     CIExyY:0.2963/0.2704/0.591
-8  6  82.5 7.5P8/6   CIExyY:0.3114/0.2785/0.591
-8  6  85   10P8/6    CIExyY:0.3213/0.2829/0.591
-8  4  77.5 2.5P8/4   CIExyY:0.2962/0.285/0.591
-8  4  80   5P8/4     CIExyY:0.3012/0.2868/0.591
-8  4  82.5 7.5P8/4   CIExyY:0.3114/0.2915/0.591
-8  4  85   10P8/4    CIExyY:0.3175/0.2955/0.591
-8  3  77.5 2.5P8/3   CIExyY:0.3007/0.2949/0.591
-8  3  80   5P8/3     CIExyY:0.3039/0.2961/0.591
-8  3  82.5 7.5P8/3   CIExyY:0.3111/0.2995/0.591
-8  3  85   10P8/3    CIExyY:0.3152/0.3022/0.591
-8  2  77.5 2.5P8/2   CIExyY:0.3048/0.304/0.591
-8  2  80   5P8/2     CIExyY:0.3065/0.3047/0.591
-8  2  82.5 7.5P8/2   CIExyY:0.3107/0.307/0.591
-8  2  85   10P8/2    CIExyY:0.3131/0.3084/0.591
-8  1  80   5P8/1     CIExyY:0.3086/0.3118/0.591
-8  1  85   10P8/1    CIExyY:0.3113/0.3133/0.591
-7  22 85   10P7/22   CIExyY:0.343/0.1883/0.4306
-7  20 85   10P7/20   CIExyY:0.341/0.1988/0.4306
-7  18 82.5 7.5P7/18  CIExyY:0.3093/0.1962/0.4306
-7  18 85   10P7/18   CIExyY:0.3391/0.2088/0.4306
-7  16 82.5 7.5P7/16  CIExyY:0.3099/0.2074/0.4306
-7  16 85   10P7/16   CIExyY:0.3368/0.2192/0.4306
-7  14 80   5P7/14    CIExyY:0.2801/0.2068/0.4306
-7  14 82.5 7.5P7/14  CIExyY:0.3101/0.2192/0.4306
-7  14 85   10P7/14   CIExyY:0.3341/0.2308/0.4306
-7  12 77.5 2.5P7/12  CIExyY:0.2664/0.2127/0.4306
-7  12 80   5P7/12    CIExyY:0.2833/0.2197/0.4306
-7  12 82.5 7.5P7/12  CIExyY:0.3104/0.232/0.4306
-7  12 85   10P7/12   CIExyY:0.3314/0.2423/0.4306
-7  10 77.5 2.5P7/10  CIExyY:0.2729/0.2289/0.4306
-7  10 80   5P7/10    CIExyY:0.2872/0.2343/0.4306
-7  10 82.5 7.5P7/10  CIExyY:0.3108/0.2442/0.4306
-7  10 85   10P7/10   CIExyY:0.3288/0.2531/0.4306
-7  8  77.5 2.5P7/8   CIExyY:0.2799/0.2459/0.4306
-7  8  80   5P7/8     CIExyY:0.2918/0.2504/0.4306
-7  8  82.5 7.5P7/8   CIExyY:0.3109/0.2584/0.4306
-7  8  85   10P7/8    CIExyY:0.3256/0.2654/0.4306
-7  6  77.5 2.5P7/6   CIExyY:0.2873/0.2633/0.4306
-7  6  80   5P7/6     CIExyY:0.2961/0.2663/0.4306
-7  6  82.5 7.5P7/6   CIExyY:0.3111/0.273/0.4306
-7  6  85   10P7/6    CIExyY:0.3221/0.2786/0.4306
-7  4  77.5 2.5P7/4   CIExyY:0.295/0.281/0.4306
-7  4  80   5P7/4     CIExyY:0.3009/0.2831/0.4306
-7  4  82.5 7.5P7/4   CIExyY:0.3111/0.288/0.4306
-7  4  85   10P7/4    CIExyY:0.3181/0.292/0.4306
-7  3  77.5 2.5P7/3   CIExyY:0.2991/0.2906/0.4306
-7  3  80   5P7/3     CIExyY:0.3034/0.2921/0.4306
-7  3  82.5 7.5P7/3   CIExyY:0.3111/0.296/0.4306
-7  3  85   10P7/3    CIExyY:0.3159/0.2989/0.4306
-7  2  77.5 2.5P7/2   CIExyY:0.3031/0.3/0.4306
-7  2  80   5P7/2     CIExyY:0.3059/0.301/0.4306
-7  2  82.5 7.5P7/2   CIExyY:0.3109/0.3037/0.4306
-7  2  85   10P7/2    CIExyY:0.3138/0.3054/0.4306
-7  1  80   5P7/1     CIExyY:0.3082/0.3092/0.4306
-7  1  85   10P7/1    CIExyY:0.3118/0.3113/0.4306
-6  26 85   10P6/26   CIExyY:0.3457/0.1604/0.3005
-6  24 82.5 7.5P6/24  CIExyY:0.3058/0.1547/0.3005
-6  24 85   10P6/24   CIExyY:0.3441/0.1698/0.3005
-6  22 82.5 7.5P6/22  CIExyY:0.3062/0.1638/0.3005
-6  22 85   10P6/22   CIExyY:0.3426/0.1785/0.3005
-6  20 80   5P6/20    CIExyY:0.2702/0.1621/0.3005
-6  20 82.5 7.5P6/20  CIExyY:0.3069/0.1745/0.3005
-6  20 85   10P6/20   CIExyY:0.3409/0.1882/0.3005
-6  18 77.5 2.5P6/18  CIExyY:0.2504/0.1658/0.3005
-6  18 80   5P6/18    CIExyY:0.2731/0.1738/0.3005
-6  18 82.5 7.5P6/18  CIExyY:0.3075/0.187/0.3005
-6  18 85   10P6/18   CIExyY:0.3388/0.1995/0.3005
-6  16 77.5 2.5P6/16  CIExyY:0.2548/0.1768/0.3005
-6  16 80   5P6/16    CIExyY:0.2761/0.1852/0.3005
-6  16 82.5 7.5P6/16  CIExyY:0.308/0.1976/0.3005
-6  16 85   10P6/16   CIExyY:0.337/0.2095/0.3005
-6  14 77.5 2.5P6/14  CIExyY:0.2593/0.1909/0.3005
-6  14 80   5P6/14    CIExyY:0.2794/0.1979/0.3005
-6  14 82.5 7.5P6/14  CIExyY:0.3084/0.2095/0.3005
-6  14 85   10P6/14   CIExyY:0.3349/0.2203/0.3005
-6  12 77.5 2.5P6/12  CIExyY:0.2647/0.2052/0.3005
-6  12 80   5P6/12    CIExyY:0.2829/0.2121/0.3005
-6  12 82.5 7.5P6/12  CIExyY:0.309/0.2222/0.3005
-6  12 85   10P6/12   CIExyY:0.3321/0.2329/0.3005
-6  10 77.5 2.5P6/10  CIExyY:0.2703/0.2204/0.3005
-6  10 80   5P6/10    CIExyY:0.2862/0.226/0.3005
-6  10 82.5 7.5P6/10  CIExyY:0.3092/0.235/0.3005
-6  10 85   10P6/10   CIExyY:0.3293/0.245/0.3005
-6  8  77.5 2.5P6/8   CIExyY:0.277/0.2372/0.3005
-6  8  80   5P6/8     CIExyY:0.2905/0.2421/0.3005
-6  8  82.5 7.5P6/8   CIExyY:0.3099/0.2502/0.3005
-6  8  85   10P6/8    CIExyY:0.3259/0.2584/0.3005
-6  6  77.5 2.5P6/6   CIExyY:0.2842/0.255/0.3005
-6  6  80   5P6/6     CIExyY:0.295/0.2585/0.3005
-6  6  82.5 7.5P6/6   CIExyY:0.3101/0.265/0.3005
-6  6  85   10P6/6    CIExyY:0.3226/0.2716/0.3005
-6  4  77.5 2.5P6/4   CIExyY:0.2932/0.2759/0.3005
-6  4  80   5P6/4     CIExyY:0.3001/0.2778/0.3005
-6  4  82.5 7.5P6/4   CIExyY:0.3107/0.2831/0.3005
-6  4  85   10P6/4    CIExyY:0.3181/0.2871/0.3005
-6  3  77.5 2.5P6/3   CIExyY:0.2974/0.286/0.3005
-6  3  80   5P6/3     CIExyY:0.3025/0.2872/0.3005
-6  3  82.5 7.5P6/3   CIExyY:0.3108/0.2913/0.3005
-6  3  85   10P6/3    CIExyY:0.3164/0.2945/0.3005
-6  2  77.5 2.5P6/2   CIExyY:0.3016/0.296/0.3005
-6  2  80   5P6/2     CIExyY:0.305/0.2967/0.3005
-6  2  82.5 7.5P6/2   CIExyY:0.3107/0.2993/0.3005
-6  2  85   10P6/2    CIExyY:0.3146/0.3018/0.3005
-6  1  80   5P6/1     CIExyY:0.3075/0.3063/0.3005
-6  1  85   10P6/1    CIExyY:0.3126/0.309/0.3005
-5  30 82.5 7.5P5/30  CIExyY:0.301/0.117/0.1977
-5  30 85   10P5/30   CIExyY:0.349/0.1308/0.1977
-5  28 80   5P5/28    CIExyY:0.2618/0.1135/0.1977
-5  28 82.5 7.5P5/28  CIExyY:0.3018/0.1253/0.1977
-5  28 85   10P5/28   CIExyY:0.3478/0.1388/0.1977
-5  26 77.5 2.5P5/26  CIExyY:0.2348/0.114/0.1977
-5  26 80   5P5/26    CIExyY:0.2635/0.1224/0.1977
-5  26 82.5 7.5P5/26  CIExyY:0.3022/0.1331/0.1977
-5  26 85   10P5/26   CIExyY:0.3468/0.146/0.1977
-5  24 77.5 2.5P5/24  CIExyY:0.2372/0.1223/0.1977
-5  24 80   5P5/24    CIExyY:0.2652/0.1304/0.1977
-5  24 82.5 7.5P5/24  CIExyY:0.303/0.1423/0.1977
-5  24 85   10P5/24   CIExyY:0.345/0.1555/0.1977
-5  22 77.5 2.5P5/22  CIExyY:0.2402/0.1315/0.1977
-5  22 80   5P5/22    CIExyY:0.2673/0.1398/0.1977
-5  22 82.5 7.5P5/22  CIExyY:0.3038/0.15/0.1977
-5  22 85   10P5/22   CIExyY:0.3437/0.1644/0.1977
-5  20 77.5 2.5P5/20  CIExyY:0.2438/0.1419/0.1977
-5  20 80   5P5/20    CIExyY:0.2694/0.1499/0.1977
-5  20 82.5 7.5P5/20  CIExyY:0.3042/0.1606/0.1977
-5  20 85   10P5/20   CIExyY:0.3422/0.1735/0.1977
-5  18 77.5 2.5P5/18  CIExyY:0.2476/0.1532/0.1977
-5  18 80   5P5/18    CIExyY:0.2718/0.1604/0.1977
-5  18 82.5 7.5P5/18  CIExyY:0.3052/0.1711/0.1977
-5  18 85   10P5/18   CIExyY:0.3401/0.184/0.1977
-5  16 77.5 2.5P5/16  CIExyY:0.2515/0.1644/0.1977
-5  16 80   5P5/16    CIExyY:0.2744/0.1718/0.1977
-5  16 82.5 7.5P5/16  CIExyY:0.306/0.183/0.1977
-5  16 85   10P5/16   CIExyY:0.3382/0.1951/0.1977
-5  14 77.5 2.5P5/14  CIExyY:0.256/0.1774/0.1977
-5  14 80   5P5/14    CIExyY:0.2775/0.1847/0.1977
-5  14 82.5 7.5P5/14  CIExyY:0.3068/0.1951/0.1977
-5  14 85   10P5/14   CIExyY:0.336/0.2067/0.1977
-5  12 77.5 2.5P5/12  CIExyY:0.2608/0.1913/0.1977
-5  12 80   5P5/12    CIExyY:0.2806/0.1977/0.1977
-5  12 82.5 7.5P5/12  CIExyY:0.3071/0.208/0.1977
-5  12 85   10P5/12   CIExyY:0.3338/0.2186/0.1977
-5  10 77.5 2.5P5/10  CIExyY:0.2665/0.2075/0.1977
-5  10 80   5P5/10    CIExyY:0.2845/0.2137/0.1977
-5  10 82.5 7.5P5/10  CIExyY:0.308/0.223/0.1977
-5  10 85   10P5/10   CIExyY:0.3308/0.2328/0.1977
-5  8  77.5 2.5P5/8   CIExyY:0.2728/0.224/0.1977
-5  8  80   5P5/8     CIExyY:0.2885/0.2296/0.1977
-5  8  82.5 7.5P5/8   CIExyY:0.3087/0.2375/0.1977
-5  8  85   10P5/8    CIExyY:0.328/0.2464/0.1977
-5  6  77.5 2.5P5/6   CIExyY:0.2806/0.2444/0.1977
-5  6  80   5P5/6     CIExyY:0.2932/0.2487/0.1977
-5  6  82.5 7.5P5/6   CIExyY:0.3093/0.2555/0.1977
-5  6  85   10P5/6    CIExyY:0.3243/0.263/0.1977
-5  4  77.5 2.5P5/4   CIExyY:0.2898/0.2667/0.1977
-5  4  80   5P5/4     CIExyY:0.2986/0.2699/0.1977
-5  4  82.5 7.5P5/4   CIExyY:0.31/0.275/0.1977
-5  4  85   10P5/4    CIExyY:0.3193/0.2807/0.1977
-5  3  77.5 2.5P5/3   CIExyY:0.2948/0.2788/0.1977
-5  3  80   5P5/3     CIExyY:0.3015/0.2812/0.1977
-5  3  82.5 7.5P5/3   CIExyY:0.3102/0.2854/0.1977
-5  3  85   10P5/3    CIExyY:0.3173/0.2897/0.1977
-5  2  77.5 2.5P5/2   CIExyY:0.3/0.2912/0.1977
-5  2  80   5P5/2     CIExyY:0.3045/0.2928/0.1977
-5  2  82.5 7.5P5/2   CIExyY:0.3103/0.2959/0.1977
-5  2  85   10P5/2    CIExyY:0.3148/0.2986/0.1977
-5  1  80   5P5/1     CIExyY:0.3074/0.3045/0.1977
-5  1  85   10P5/1    CIExyY:0.3124/0.3075/0.1977
-4  32 77.5 2.5P4/32  CIExyY:0.2265/0.0774/0.12
-4  32 80   5P4/32    CIExyY:0.2574/0.0833/0.12
-4  32 82.5 7.5P4/32  CIExyY:0.2962/0.0906/0.12
-4  30 77.5 2.5P4/30  CIExyY:0.2285/0.0847/0.12
-4  30 80   5P4/30    CIExyY:0.2588/0.0907/0.12
-4  30 82.5 7.5P4/30  CIExyY:0.2969/0.0979/0.12
-4  30 85   10P4/30   CIExyY:0.344/0.108/0.12
-4  28 77.5 2.5P4/28  CIExyY:0.2302/0.0909/0.12
-4  28 80   5P4/28    CIExyY:0.26/0.0971/0.12
-4  28 82.5 7.5P4/28  CIExyY:0.2979/0.1062/0.12
-4  28 85   10P4/28   CIExyY:0.3432/0.1172/0.12
-4  26 77.5 2.5P4/26  CIExyY:0.2322/0.0978/0.12
-4  26 80   5P4/26    CIExyY:0.2618/0.1052/0.12
-4  26 82.5 7.5P4/26  CIExyY:0.2986/0.1135/0.12
-4  26 85   10P4/26   CIExyY:0.3428/0.1248/0.12
-4  24 77.5 2.5P4/24  CIExyY:0.2348/0.1062/0.12
-4  24 80   5P4/24    CIExyY:0.2635/0.1132/0.12
-4  24 82.5 7.5P4/24  CIExyY:0.2993/0.1225/0.12
-4  24 85   10P4/24   CIExyY:0.3421/0.1337/0.12
-4  22 77.5 2.5P4/22  CIExyY:0.2371/0.1143/0.12
-4  22 80   5P4/22    CIExyY:0.2652/0.1218/0.12
-4  22 82.5 7.5P4/22  CIExyY:0.3001/0.1306/0.12
-4  22 85   10P4/22   CIExyY:0.3411/0.1424/0.12
-4  20 77.5 2.5P4/20  CIExyY:0.2394/0.1221/0.12
-4  20 80   5P4/20    CIExyY:0.267/0.13/0.12
-4  20 82.5 7.5P4/20  CIExyY:0.301/0.1396/0.12
-4  20 85   10P4/20   CIExyY:0.34/0.15/0.12
-4  18 77.5 2.5P4/18  CIExyY:0.243/0.1332/0.12
-4  18 80   5P4/18    CIExyY:0.2693/0.1408/0.12
-4  18 82.5 7.5P4/18  CIExyY:0.3016/0.15/0.12
-4  18 85   10P4/18   CIExyY:0.3386/0.1626/0.12
-4  16 77.5 2.5P4/16  CIExyY:0.2467/0.1452/0.12
-4  16 80   5P4/16    CIExyY:0.2718/0.152/0.12
-4  16 82.5 7.5P4/16  CIExyY:0.3028/0.1621/0.12
-4  16 85   10P4/16   CIExyY:0.337/0.1756/0.12
-4  14 77.5 2.5P4/14  CIExyY:0.2509/0.1585/0.12
-4  14 80   5P4/14    CIExyY:0.2747/0.166/0.12
-4  14 82.5 7.5P4/14  CIExyY:0.3035/0.1755/0.12
-4  14 85   10P4/14   CIExyY:0.3351/0.1875/0.12
-4  12 77.5 2.5P4/12  CIExyY:0.2559/0.173/0.12
-4  12 80   5P4/12    CIExyY:0.2778/0.1808/0.12
-4  12 82.5 7.5P4/12  CIExyY:0.3048/0.1905/0.12
-4  12 85   10P4/12   CIExyY:0.3331/0.2014/0.12
-4  10 77.5 2.5P4/10  CIExyY:0.2619/0.1903/0.12
-4  10 80   5P4/10    CIExyY:0.2814/0.1967/0.12
-4  10 82.5 7.5P4/10  CIExyY:0.3056/0.206/0.12
-4  10 85   10P4/10   CIExyY:0.3306/0.2162/0.12
-4  8  77.5 2.5P4/8   CIExyY:0.2685/0.2089/0.12
-4  8  80   5P4/8     CIExyY:0.2855/0.215/0.12
-4  8  82.5 7.5P4/8   CIExyY:0.3066/0.2228/0.12
-4  8  85   10P4/8    CIExyY:0.328/0.2318/0.12
-4  6  77.5 2.5P4/6   CIExyY:0.2763/0.23/0.12
-4  6  80   5P4/6     CIExyY:0.2903/0.2347/0.12
-4  6  82.5 7.5P4/6   CIExyY:0.3076/0.2416/0.12
-4  6  85   10P4/6    CIExyY:0.3248/0.2493/0.12
-4  4  77.5 2.5P4/4   CIExyY:0.2855/0.2531/0.12
-4  4  80   5P4/4     CIExyY:0.2958/0.2565/0.12
-4  4  82.5 7.5P4/4   CIExyY:0.3084/0.2622/0.12
-4  4  85   10P4/4    CIExyY:0.321/0.2686/0.12
-4  3  77.5 2.5P4/3   CIExyY:0.2906/0.2661/0.12
-4  3  80   5P4/3     CIExyY:0.2989/0.2688/0.12
-4  3  82.5 7.5P4/3   CIExyY:0.3089/0.2734/0.12
-4  3  85   10P4/3    CIExyY:0.3187/0.279/0.12
-4  2  77.5 2.5P4/2   CIExyY:0.2962/0.2807/0.12
-4  2  80   5P4/2     CIExyY:0.3022/0.2825/0.12
-4  2  82.5 7.5P4/2   CIExyY:0.3093/0.2859/0.12
-4  2  85   10P4/2    CIExyY:0.3162/0.2902/0.12
-4  1  80   5P4/1     CIExyY:0.3059/0.2982/0.12
-4  1  85   10P4/1    CIExyY:0.3133/0.3026/0.12
-3  34 77.5 2.5P3/34  CIExyY:0.223/0.0543/0.06555
-3  32 77.5 2.5P3/32  CIExyY:0.2242/0.0587/0.06555
-3  32 80   5P3/32    CIExyY:0.2557/0.063/0.06555
-3  30 77.5 2.5P3/30  CIExyY:0.2252/0.0638/0.06555
-3  30 80   5P3/30    CIExyY:0.2568/0.069/0.06555
-3  30 82.5 7.5P3/30  CIExyY:0.2922/0.075/0.06555
-3  28 77.5 2.5P3/28  CIExyY:0.2268/0.0698/0.06555
-3  28 80   5P3/28    CIExyY:0.2579/0.075/0.06555
-3  28 82.5 7.5P3/28  CIExyY:0.293/0.0812/0.06555
-3  26 77.5 2.5P3/26  CIExyY:0.2286/0.0765/0.06555
-3  26 80   5P3/26    CIExyY:0.259/0.0822/0.06555
-3  26 82.5 7.5P3/26  CIExyY:0.2938/0.0892/0.06555
-3  26 85   10P3/26   CIExyY:0.3343/0.0978/0.06555
-3  24 77.5 2.5P3/24  CIExyY:0.2305/0.0832/0.06555
-3  24 80   5P3/24    CIExyY:0.2602/0.0891/0.06555
-3  24 82.5 7.5P3/24  CIExyY:0.2944/0.0967/0.06555
-3  24 85   10P3/24   CIExyY:0.3341/0.1055/0.06555
-3  22 77.5 2.5P3/22  CIExyY:0.2329/0.0911/0.06555
-3  22 80   5P3/22    CIExyY:0.262/0.0978/0.06555
-3  22 82.5 7.5P3/22  CIExyY:0.2953/0.1057/0.06555
-3  22 85   10P3/22   CIExyY:0.334/0.1146/0.06555
-3  20 77.5 2.5P3/20  CIExyY:0.2354/0.1003/0.06555
-3  20 80   5P3/20    CIExyY:0.2639/0.1074/0.06555
-3  20 82.5 7.5P3/20  CIExyY:0.2961/0.1151/0.06555
-3  20 85   10P3/20   CIExyY:0.3332/0.124/0.06555
-3  18 77.5 2.5P3/18  CIExyY:0.238/0.1094/0.06555
-3  18 80   5P3/18    CIExyY:0.2657/0.1163/0.06555
-3  18 82.5 7.5P3/18  CIExyY:0.2969/0.1239/0.06555
-3  18 85   10P3/18   CIExyY:0.3329/0.1332/0.06555
-3  16 77.5 2.5P3/16  CIExyY:0.241/0.1198/0.06555
-3  16 80   5P3/16    CIExyY:0.268/0.1272/0.06555
-3  16 82.5 7.5P3/16  CIExyY:0.2981/0.1356/0.06555
-3  16 85   10P3/16   CIExyY:0.332/0.1456/0.06555
-3  14 77.5 2.5P3/14  CIExyY:0.2449/0.1325/0.06555
-3  14 80   5P3/14    CIExyY:0.2707/0.1397/0.06555
-3  14 82.5 7.5P3/14  CIExyY:0.2992/0.1475/0.06555
-3  14 85   10P3/14   CIExyY:0.3309/0.1572/0.06555
-3  12 77.5 2.5P3/12  CIExyY:0.2498/0.148/0.06555
-3  12 80   5P3/12    CIExyY:0.2739/0.1539/0.06555
-3  12 82.5 7.5P3/12  CIExyY:0.3003/0.1618/0.06555
-3  12 85   10P3/12   CIExyY:0.3301/0.1715/0.06555
-3  10 77.5 2.5P3/10  CIExyY:0.2548/0.1638/0.06555
-3  10 80   5P3/10    CIExyY:0.2772/0.1707/0.06555
-3  10 82.5 7.5P3/10  CIExyY:0.302/0.1794/0.06555
-3  10 85   10P3/10   CIExyY:0.3286/0.1889/0.06555
-3  8  77.5 2.5P3/8   CIExyY:0.2615/0.1845/0.06555
-3  8  80   5P3/8     CIExyY:0.2819/0.191/0.06555
-3  8  82.5 7.5P3/8   CIExyY:0.3037/0.1981/0.06555
-3  8  85   10P3/8    CIExyY:0.3269/0.2075/0.06555
-3  6  77.5 2.5P3/6   CIExyY:0.2691/0.2072/0.06555
-3  6  80   5P3/6     CIExyY:0.287/0.2135/0.06555
-3  6  82.5 7.5P3/6   CIExyY:0.3057/0.2208/0.06555
-3  6  85   10P3/6    CIExyY:0.3243/0.2293/0.06555
-3  4  77.5 2.5P3/4   CIExyY:0.2792/0.2342/0.06555
-3  4  80   5P3/4     CIExyY:0.2928/0.2386/0.06555
-3  4  82.5 7.5P3/4   CIExyY:0.3072/0.2448/0.06555
-3  4  85   10P3/4    CIExyY:0.3214/0.2517/0.06555
-3  3  77.5 2.5P3/3   CIExyY:0.2852/0.2498/0.06555
-3  3  80   5P3/3     CIExyY:0.296/0.253/0.06555
-3  3  82.5 7.5P3/3   CIExyY:0.308/0.2583/0.06555
-3  3  85   10P3/3    CIExyY:0.3195/0.2644/0.06555
-3  2  77.5 2.5P3/2   CIExyY:0.2922/0.268/0.06555
-3  2  80   5P3/2     CIExyY:0.2997/0.27/0.06555
-3  2  82.5 7.5P3/2   CIExyY:0.3088/0.274/0.06555
-3  2  85   10P3/2    CIExyY:0.317/0.279/0.06555
-3  1  80   5P3/1     CIExyY:0.3043/0.2908/0.06555
-3  1  85   10P3/1    CIExyY:0.3139/0.2961/0.06555
-2  30 77.5 2.5P2/30  CIExyY:0.2231/0.0432/0.03126
-2  28 77.5 2.5P2/28  CIExyY:0.2245/0.0491/0.03126
-2  28 80   5P2/28    CIExyY:0.2559/0.0525/0.03126
-2  26 77.5 2.5P2/26  CIExyY:0.226/0.0555/0.03126
-2  26 80   5P2/26    CIExyY:0.2569/0.0594/0.03126
-2  24 77.5 2.5P2/24  CIExyY:0.2277/0.0621/0.03126
-2  24 80   5P2/24    CIExyY:0.2582/0.0669/0.03126
-2  24 82.5 7.5P2/24  CIExyY:0.2882/0.0719/0.03126
-2  22 77.5 2.5P2/22  CIExyY:0.2298/0.0696/0.03126
-2  22 80   5P2/22    CIExyY:0.2597/0.075/0.03126
-2  22 82.5 7.5P2/22  CIExyY:0.289/0.0799/0.03126
-2  22 85   10P2/22   CIExyY:0.323/0.0861/0.03126
-2  20 77.5 2.5P2/20  CIExyY:0.232/0.0779/0.03126
-2  20 80   5P2/20    CIExyY:0.2612/0.0838/0.03126
-2  20 82.5 7.5P2/20  CIExyY:0.2902/0.0901/0.03126
-2  20 85   10P2/20   CIExyY:0.3231/0.0962/0.03126
-2  18 77.5 2.5P2/18  CIExyY:0.2345/0.0873/0.03126
-2  18 80   5P2/18    CIExyY:0.2632/0.0935/0.03126
-2  18 82.5 7.5P2/18  CIExyY:0.2912/0.0995/0.03126
-2  18 85   10P2/18   CIExyY:0.3233/0.1063/0.03126
-2  16 77.5 2.5P2/16  CIExyY:0.2372/0.098/0.03126
-2  16 80   5P2/16    CIExyY:0.2652/0.1045/0.03126
-2  16 82.5 7.5P2/16  CIExyY:0.2922/0.1106/0.03126
-2  16 85   10P2/16   CIExyY:0.3235/0.1181/0.03126
-2  14 77.5 2.5P2/14  CIExyY:0.2406/0.11/0.03126
-2  14 80   5P2/14    CIExyY:0.2676/0.1163/0.03126
-2  14 82.5 7.5P2/14  CIExyY:0.2938/0.1235/0.03126
-2  14 85   10P2/14   CIExyY:0.3235/0.1317/0.03126
-2  12 77.5 2.5P2/12  CIExyY:0.2449/0.1245/0.03126
-2  12 80   5P2/12    CIExyY:0.2709/0.132/0.03126
-2  12 82.5 7.5P2/12  CIExyY:0.2956/0.1392/0.03126
-2  12 85   10P2/12   CIExyY:0.3233/0.1477/0.03126
-2  10 77.5 2.5P2/10  CIExyY:0.2501/0.1422/0.03126
-2  10 80   5P2/10    CIExyY:0.2743/0.15/0.03126
-2  10 82.5 7.5P2/10  CIExyY:0.2979/0.1569/0.03126
-2  10 85   10P2/10   CIExyY:0.323/0.1659/0.03126
-2  8  77.5 2.5P2/8   CIExyY:0.257/0.1635/0.03126
-2  8  80   5P2/8     CIExyY:0.2791/0.1707/0.03126
-2  8  82.5 7.5P2/8   CIExyY:0.3/0.1781/0.03126
-2  8  85   10P2/8    CIExyY:0.3219/0.1862/0.03126
-2  6  77.5 2.5P2/6   CIExyY:0.2661/0.1921/0.03126
-2  6  80   5P2/6     CIExyY:0.285/0.1992/0.03126
-2  6  82.5 7.5P2/6   CIExyY:0.3025/0.2058/0.03126
-2  6  85   10P2/6    CIExyY:0.3207/0.2132/0.03126
-2  4  77.5 2.5P2/4   CIExyY:0.2758/0.2208/0.03126
-2  4  80   5P2/4     CIExyY:0.2908/0.2261/0.03126
-2  4  82.5 7.5P2/4   CIExyY:0.3048/0.2321/0.03126
-2  4  85   10P2/4    CIExyY:0.3189/0.239/0.03126
-2  3  77.5 2.5P2/3   CIExyY:0.2818/0.2377/0.03126
-2  3  80   5P2/3     CIExyY:0.2942/0.2419/0.03126
-2  3  82.5 7.5P2/3   CIExyY:0.3059/0.2468/0.03126
-2  3  85   10P2/3    CIExyY:0.3178/0.2527/0.03126
-2  2  77.5 2.5P2/2   CIExyY:0.2892/0.2583/0.03126
-2  2  80   5P2/2     CIExyY:0.2984/0.2612/0.03126
-2  2  82.5 7.5P2/2   CIExyY:0.3071/0.2647/0.03126
-2  2  85   10P2/2    CIExyY:0.3161/0.2691/0.03126
-2  1  80   5P2/1     CIExyY:0.3036/0.2855/0.03126
-2  1  85   10P2/1    CIExyY:0.3136/0.2893/0.03126
-1  26 77.5 2.5P1/26  CIExyY:0.2251/0.0355/0.0121
-1  24 77.5 2.5P1/24  CIExyY:0.2266/0.0418/0.0121
-1  22 77.5 2.5P1/22  CIExyY:0.2279/0.0473/0.0121
-1  22 80   5P1/22    CIExyY:0.259/0.0509/0.0121
-1  20 77.5 2.5P1/20  CIExyY:0.2295/0.0542/0.0121
-1  20 80   5P1/20    CIExyY:0.2601/0.0586/0.0121
-1  20 82.5 7.5P1/20  CIExyY:0.2831/0.0625/0.0121
-1  18 77.5 2.5P1/18  CIExyY:0.2312/0.0618/0.0121
-1  18 80   5P1/18    CIExyY:0.2612/0.0667/0.0121
-1  18 82.5 7.5P1/18  CIExyY:0.2841/0.0706/0.0121
-1  18 85   10P1/18   CIExyY:0.3069/0.0748/0.0121
-1  16 77.5 2.5P1/16  CIExyY:0.2331/0.0696/0.0121
-1  16 80   5P1/16    CIExyY:0.2625/0.0746/0.0121
-1  16 82.5 7.5P1/16  CIExyY:0.2852/0.079/0.0121
-1  16 85   10P1/16   CIExyY:0.3078/0.0839/0.0121
-1  14 77.5 2.5P1/14  CIExyY:0.2361/0.081/0.0121
-1  14 80   5P1/14    CIExyY:0.2645/0.0863/0.0121
-1  14 82.5 7.5P1/14  CIExyY:0.2868/0.0903/0.0121
-1  14 85   10P1/14   CIExyY:0.3084/0.0952/0.0121
-1  12 77.5 2.5P1/12  CIExyY:0.2394/0.094/0.0121
-1  12 80   5P1/12    CIExyY:0.267/0.1006/0.0121
-1  12 82.5 7.5P1/12  CIExyY:0.2884/0.1059/0.0121
-1  12 85   10P1/12   CIExyY:0.3094/0.111/0.0121
-1  10 77.5 2.5P1/10  CIExyY:0.2441/0.1112/0.0121
-1  10 80   5P1/10    CIExyY:0.2701/0.1173/0.0121
-1  10 82.5 7.5P1/10  CIExyY:0.2905/0.1229/0.0121
-1  10 85   10P1/10   CIExyY:0.3102/0.1282/0.0121
-1  8  77.5 2.5P1/8   CIExyY:0.2496/0.1303/0.0121
-1  8  80   5P1/8     CIExyY:0.2742/0.1375/0.0121
-1  8  82.5 7.5P1/8   CIExyY:0.2932/0.1429/0.0121
-1  8  85   10P1/8    CIExyY:0.3114/0.1481/0.0121
-1  6  77.5 2.5P1/6   CIExyY:0.257/0.1559/0.0121
-1  6  80   5P1/6     CIExyY:0.2794/0.1628/0.0121
-1  6  82.5 7.5P1/6   CIExyY:0.296/0.1682/0.0121
-1  6  85   10P1/6    CIExyY:0.3126/0.1737/0.0121
-1  4  77.5 2.5P1/4   CIExyY:0.2668/0.1874/0.0121
-1  4  80   5P1/4     CIExyY:0.2854/0.1927/0.0121
-1  4  82.5 7.5P1/4   CIExyY:0.2991/0.1974/0.0121
-1  4  85   10P1/4    CIExyY:0.3132/0.2032/0.0121
-1  2  77.5 2.5P1/2   CIExyY:0.2808/0.2296/0.0121
-1  2  80   5P1/2     CIExyY:0.2936/0.233/0.0121
-1  2  82.5 7.5P1/2   CIExyY:0.303/0.2361/0.0121
-1  2  85   10P1/2    CIExyY:0.3132/0.2404/0.0121
-9  6  87.5 2.5RP9/6  CIExyY:0.3322/0.291/0.7866
-9  6  90   5RP9/6    CIExyY:0.3431/0.2988/0.7866
-9  6  92.5 7.5RP9/6  CIExyY:0.3512/0.3052/0.7866
-9  6  95   10RP9/6   CIExyY:0.359/0.3118/0.7866
-9  4  87.5 2.5RP9/4  CIExyY:0.3234/0.301/0.7866
-9  4  90   5RP9/4    CIExyY:0.3301/0.306/0.7866
-9  4  92.5 7.5RP9/4  CIExyY:0.335/0.3099/0.7866
-9  4  95   10RP9/4   CIExyY:0.34/0.314/0.7866
-9  2  87.5 2.5RP9/2  CIExyY:0.3149/0.3108/0.7866
-9  2  90   5RP9/2    CIExyY:0.3172/0.3126/0.7866
-9  2  92.5 7.5RP9/2  CIExyY:0.319/0.3141/0.7866
-9  2  95   10RP9/2   CIExyY:0.3205/0.3155/0.7866
-9  1  90   5RP9/1    CIExyY:0.3126/0.315/0.7866
-9  1  95   10RP9/1   CIExyY:0.3136/0.316/0.7866
-8  14 87.5 2.5RP8/14 CIExyY:0.3621/0.2496/0.591
-8  12 87.5 2.5RP8/12 CIExyY:0.3552/0.2594/0.591
-8  12 90   5RP8/12   CIExyY:0.3818/0.2742/0.591
-8  12 92.5 7.5RP8/12 CIExyY:0.4002/0.2859/0.591
-8  10 87.5 2.5RP8/10 CIExyY:0.3479/0.2699/0.591
-8  10 90   5RP8/10   CIExyY:0.3685/0.2828/0.591
-8  10 92.5 7.5RP8/10 CIExyY:0.383/0.293/0.591
-8  10 95   10RP8/10  CIExyY:0.3983/0.3049/0.591
-8  8  87.5 2.5RP8/8  CIExyY:0.3406/0.2793/0.591
-8  8  90   5RP8/8    CIExyY:0.357/0.29/0.591
-8  8  92.5 7.5RP8/8  CIExyY:0.3682/0.2983/0.591
-8  8  95   10RP8/8   CIExyY:0.38/0.3082/0.591
-8  6  87.5 2.5RP8/6  CIExyY:0.3327/0.2898/0.591
-8  6  90   5RP8/6    CIExyY:0.344/0.2978/0.591
-8  6  92.5 7.5RP8/6  CIExyY:0.3521/0.3042/0.591
-8  6  95   10RP8/6   CIExyY:0.36/0.3112/0.591
-8  4  87.5 2.5RP8/4  CIExyY:0.3239/0.3/0.591
-8  4  90   5RP8/4    CIExyY:0.3303/0.3052/0.591
-8  4  92.5 7.5RP8/4  CIExyY:0.336/0.3092/0.591
-8  4  95   10RP8/4   CIExyY:0.3412/0.3135/0.591
-8  3  87.5 2.5RP8/3  CIExyY:0.3194/0.3052/0.591
-8  3  90   5RP8/3    CIExyY:0.3241/0.3088/0.591
-8  3  92.5 7.5RP8/3  CIExyY:0.3276/0.3115/0.591
-8  3  95   10RP8/3   CIExyY:0.3311/0.3144/0.591
-8  2  87.5 2.5RP8/2  CIExyY:0.3154/0.31/0.591
-8  2  90   5RP8/2    CIExyY:0.318/0.312/0.591
-8  2  92.5 7.5RP8/2  CIExyY:0.32/0.3136/0.591
-8  2  95   10RP8/2   CIExyY:0.3218/0.3152/0.591
-8  1  90   5RP8/1    CIExyY:0.3132/0.3146/0.591
-8  1  95   10RP8/1   CIExyY:0.3145/0.3158/0.591
-7  20 87.5 2.5RP7/20 CIExyY:0.3811/0.2143/0.4306
-7  18 87.5 2.5RP7/18 CIExyY:0.3751/0.2241/0.4306
-7  18 90   5RP7/18   CIExyY:0.4186/0.2459/0.4306
-7  16 87.5 2.5RP7/16 CIExyY:0.3688/0.2342/0.4306
-7  16 90   5RP7/16   CIExyY:0.4076/0.254/0.4306
-7  16 92.5 7.5RP7/16 CIExyY:0.4346/0.2689/0.4306
-7  16 95   10RP7/16  CIExyY:0.4648/0.2878/0.4306
-7  14 87.5 2.5RP7/14 CIExyY:0.362/0.2448/0.4306
-7  14 90   5RP7/14   CIExyY:0.3958/0.2628/0.4306
-7  14 92.5 7.5RP7/14 CIExyY:0.4195/0.2762/0.4306
-7  14 95   10RP7/14  CIExyY:0.4456/0.2931/0.4306
-7  12 87.5 2.5RP7/12 CIExyY:0.3555/0.2545/0.4306
-7  12 90   5RP7/12   CIExyY:0.3841/0.271/0.4306
-7  12 92.5 7.5RP7/12 CIExyY:0.404/0.2834/0.4306
-7  12 95   10RP7/12  CIExyY:0.426/0.298/0.4306
-7  10 87.5 2.5RP7/10 CIExyY:0.3487/0.2648/0.4306
-7  10 90   5RP7/10   CIExyY:0.3713/0.2798/0.4306
-7  10 92.5 7.5RP7/10 CIExyY:0.3871/0.2906/0.4306
-7  10 95   10RP7/10  CIExyY:0.404/0.303/0.4306
-7  8  87.5 2.5RP7/8  CIExyY:0.3417/0.2745/0.4306
-7  8  90   5RP7/8    CIExyY:0.3603/0.2869/0.4306
-7  8  92.5 7.5RP7/8  CIExyY:0.3722/0.2963/0.4306
-7  8  95   10RP7/8   CIExyY:0.3851/0.3067/0.4306
-7  6  87.5 2.5RP7/6  CIExyY:0.3338/0.2854/0.4306
-7  6  90   5RP7/6    CIExyY:0.347/0.2949/0.4306
-7  6  92.5 7.5RP7/6  CIExyY:0.3562/0.3022/0.4306
-7  6  95   10RP7/6   CIExyY:0.3648/0.3098/0.4306
-7  4  87.5 2.5RP7/4  CIExyY:0.3254/0.2971/0.4306
-7  4  90   5RP7/4    CIExyY:0.3332/0.3032/0.4306
-7  4  92.5 7.5RP7/4  CIExyY:0.3389/0.3079/0.4306
-7  4  95   10RP7/4   CIExyY:0.3446/0.3125/0.4306
-7  3  87.5 2.5RP7/3  CIExyY:0.3211/0.3025/0.4306
-7  3  90   5RP7/3    CIExyY:0.3267/0.307/0.4306
-7  3  92.5 7.5RP7/3  CIExyY:0.3308/0.3103/0.4306
-7  3  95   10RP7/3   CIExyY:0.3349/0.3137/0.4306
-7  2  87.5 2.5RP7/2  CIExyY:0.317/0.3076/0.4306
-7  2  90   5RP7/2    CIExyY:0.3206/0.3104/0.4306
-7  2  92.5 7.5RP7/2  CIExyY:0.3232/0.3125/0.4306
-7  2  95   10RP7/2   CIExyY:0.3258/0.3148/0.4306
-7  1  90   5RP7/1    CIExyY:0.315/0.3135/0.4306
-7  1  95   10RP7/1   CIExyY:0.3175/0.3157/0.4306
-6  24 87.5 2.5RP6/24 CIExyY:0.3927/0.1892/0.3005
-6  22 87.5 2.5RP6/22 CIExyY:0.3877/0.1978/0.3005
-6  22 90   5RP6/22   CIExyY:0.4449/0.2219/0.3005
-6  20 87.5 2.5RP6/20 CIExyY:0.3833/0.2056/0.3005
-6  20 90   5RP6/20   CIExyY:0.4368/0.2283/0.3005
-6  20 92.5 7.5RP6/20 CIExyY:0.4735/0.2464/0.3005
-6  18 87.5 2.5RP6/18 CIExyY:0.3773/0.2158/0.3005
-6  18 90   5RP6/18   CIExyY:0.4245/0.2382/0.3005
-6  18 92.5 7.5RP6/18 CIExyY:0.4581/0.2549/0.3005
-6  18 95   10RP6/18  CIExyY:0.4961/0.2751/0.3005
-6  16 87.5 2.5RP6/16 CIExyY:0.3718/0.2251/0.3005
-6  16 90   5RP6/16   CIExyY:0.4136/0.2467/0.3005
-6  16 92.5 7.5RP6/16 CIExyY:0.4448/0.2622/0.3005
-6  16 95   10RP6/16  CIExyY:0.4781/0.2812/0.3005
-6  14 87.5 2.5RP6/14 CIExyY:0.3652/0.2355/0.3005
-6  14 90   5RP6/14   CIExyY:0.4023/0.2552/0.3005
-6  14 92.5 7.5RP6/14 CIExyY:0.4285/0.2702/0.3005
-6  14 95   10RP6/14  CIExyY:0.4552/0.2881/0.3005
-6  12 87.5 2.5RP6/12 CIExyY:0.3582/0.2462/0.3005
-6  12 90   5RP6/12   CIExyY:0.39/0.2646/0.3005
-6  12 92.5 7.5RP6/12 CIExyY:0.4125/0.2784/0.3005
-6  12 95   10RP6/12  CIExyY:0.436/0.2936/0.3005
-6  10 87.5 2.5RP6/10 CIExyY:0.3509/0.2578/0.3005
-6  10 90   5RP6/10   CIExyY:0.3769/0.2738/0.3005
-6  10 92.5 7.5RP6/10 CIExyY:0.396/0.286/0.3005
-6  10 95   10RP6/10  CIExyY:0.415/0.2989/0.3005
-6  8  87.5 2.5RP6/8  CIExyY:0.3437/0.2688/0.3005
-6  8  90   5RP6/8    CIExyY:0.3648/0.282/0.3005
-6  8  92.5 7.5RP6/8  CIExyY:0.3791/0.2929/0.3005
-6  8  95   10RP6/8   CIExyY:0.393/0.3038/0.3005
-6  6  87.5 2.5RP6/6  CIExyY:0.3362/0.2799/0.3005
-6  6  90   5RP6/6    CIExyY:0.352/0.2904/0.3005
-6  6  92.5 7.5RP6/6  CIExyY:0.3635/0.2987/0.3005
-6  6  95   10RP6/6   CIExyY:0.374/0.3074/0.3005
-6  4  87.5 2.5RP6/4  CIExyY:0.3272/0.2929/0.3005
-6  4  90   5RP6/4    CIExyY:0.3371/0.3001/0.3005
-6  4  92.5 7.5RP6/4  CIExyY:0.3439/0.3056/0.3005
-6  4  95   10RP6/4   CIExyY:0.3503/0.3112/0.3005
-6  3  87.5 2.5RP6/3  CIExyY:0.323/0.2989/0.3005
-6  3  90   5RP6/3    CIExyY:0.33/0.3044/0.3005
-6  3  92.5 7.5RP6/3  CIExyY:0.3348/0.3086/0.3005
-6  3  95   10RP6/3   CIExyY:0.3397/0.3127/0.3005
-6  2  87.5 2.5RP6/2  CIExyY:0.3188/0.3048/0.3005
-6  2  90   5RP6/2    CIExyY:0.3232/0.3085/0.3005
-6  2  92.5 7.5RP6/2  CIExyY:0.3261/0.3113/0.3005
-6  2  95   10RP6/2   CIExyY:0.3292/0.3141/0.3005
-6  1  90   5RP6/1    CIExyY:0.3166/0.3124/0.3005
-6  1  95   10RP6/1   CIExyY:0.3193/0.3153/0.3005
-5  26 87.5 2.5RP5/26 CIExyY:0.4011/0.1652/0.1977
-5  24 87.5 2.5RP5/24 CIExyY:0.3965/0.1738/0.1977
-5  24 90   5RP5/24   CIExyY:0.4683/0.1978/0.1977
-5  22 87.5 2.5RP5/22 CIExyY:0.3924/0.1814/0.1977
-5  22 90   5RP5/22   CIExyY:0.4581/0.2068/0.1977
-5  22 92.5 7.5RP5/22 CIExyY:0.5045/0.2248/0.1977
-5  20 87.5 2.5RP5/20 CIExyY:0.3873/0.1909/0.1977
-5  20 90   5RP5/20   CIExyY:0.4484/0.215/0.1977
-5  20 92.5 7.5RP5/20 CIExyY:0.4915/0.233/0.1977
-5  20 95   10RP5/20  CIExyY:0.5396/0.2535/0.1977
-5  18 87.5 2.5RP5/18 CIExyY:0.3821/0.2007/0.1977
-5  18 90   5RP5/18   CIExyY:0.4372/0.2242/0.1977
-5  18 92.5 7.5RP5/18 CIExyY:0.4761/0.2421/0.1977
-5  18 95   10RP5/18  CIExyY:0.5185/0.262/0.1977
-5  16 87.5 2.5RP5/16 CIExyY:0.3763/0.2108/0.1977
-5  16 90   5RP5/16   CIExyY:0.4261/0.2331/0.1977
-5  16 92.5 7.5RP5/16 CIExyY:0.4617/0.2506/0.1977
-5  16 95   10RP5/16  CIExyY:0.4986/0.2685/0.1977
-5  14 87.5 2.5RP5/14 CIExyY:0.3703/0.2211/0.1977
-5  14 90   5RP5/14   CIExyY:0.4142/0.2428/0.1977
-5  14 92.5 7.5RP5/14 CIExyY:0.4454/0.2596/0.1977
-5  14 95   10RP5/14  CIExyY:0.4767/0.2776/0.1977
-5  12 87.5 2.5RP5/12 CIExyY:0.3635/0.2325/0.1977
-5  12 90   5RP5/12   CIExyY:0.4022/0.2523/0.1977
-5  12 92.5 7.5RP5/12 CIExyY:0.4303/0.2675/0.1977
-5  12 95   10RP5/12  CIExyY:0.4579/0.2841/0.1977
-5  10 87.5 2.5RP5/10 CIExyY:0.356/0.2452/0.1977
-5  10 90   5RP5/10   CIExyY:0.388/0.263/0.1977
-5  10 92.5 7.5RP5/10 CIExyY:0.4108/0.2773/0.1977
-5  10 95   10RP5/10  CIExyY:0.4332/0.2918/0.1977
-5  8  87.5 2.5RP5/8  CIExyY:0.349/0.257/0.1977
-5  8  90   5RP5/8    CIExyY:0.3748/0.2729/0.1977
-5  8  92.5 7.5RP5/8  CIExyY:0.3932/0.2852/0.1977
-5  8  95   10RP5/8   CIExyY:0.4105/0.298/0.1977
-5  6  87.5 2.5RP5/6  CIExyY:0.3396/0.2718/0.1977
-5  6  90   5RP5/6    CIExyY:0.3585/0.2842/0.1977
-5  6  92.5 7.5RP5/6  CIExyY:0.3726/0.2941/0.1977
-5  6  95   10RP5/6   CIExyY:0.3851/0.3039/0.1977
-5  4  87.5 2.5RP5/4  CIExyY:0.3298/0.2869/0.1977
-5  4  90   5RP5/4    CIExyY:0.3421/0.2954/0.1977
-5  4  92.5 7.5RP5/4  CIExyY:0.3515/0.3024/0.1977
-5  4  95   10RP5/4   CIExyY:0.3594/0.309/0.1977
-5  3  87.5 2.5RP5/3  CIExyY:0.3248/0.2944/0.1977
-5  3  90   5RP5/3    CIExyY:0.3338/0.301/0.1977
-5  3  92.5 7.5RP5/3  CIExyY:0.3404/0.3062/0.1977
-5  3  95   10RP5/3   CIExyY:0.3461/0.3112/0.1977
-5  2  87.5 2.5RP5/2  CIExyY:0.3199/0.3019/0.1977
-5  2  90   5RP5/2    CIExyY:0.3256/0.3065/0.1977
-5  2  92.5 7.5RP5/2  CIExyY:0.3296/0.3098/0.1977
-5  2  95   10RP5/2   CIExyY:0.3332/0.3131/0.1977
-5  1  90   5RP5/1    CIExyY:0.3177/0.3116/0.1977
-5  1  95   10RP5/1   CIExyY:0.321/0.3148/0.1977
-4  26 87.5 2.5RP4/26 CIExyY:0.4048/0.1428/0.12
-4  24 87.5 2.5RP4/24 CIExyY:0.4011/0.1504/0.12
-4  22 87.5 2.5RP4/22 CIExyY:0.3967/0.1593/0.12
-4  22 90   5RP4/22   CIExyY:0.4656/0.1821/0.12
-4  20 87.5 2.5RP4/20 CIExyY:0.3926/0.1679/0.12
-4  20 90   5RP4/20   CIExyY:0.4571/0.1906/0.12
-4  20 92.5 7.5RP4/20 CIExyY:0.513/0.2101/0.12
-4  20 95   10RP4/20  CIExyY:0.5674/0.2319/0.12
-4  18 87.5 2.5RP4/18 CIExyY:0.3865/0.1802/0.12
-4  18 90   5RP4/18   CIExyY:0.4455/0.2023/0.12
-4  18 92.5 7.5RP4/18 CIExyY:0.4965/0.2217/0.12
-4  18 95   10RP4/18  CIExyY:0.5466/0.2424/0.12
-4  16 87.5 2.5RP4/16 CIExyY:0.3807/0.1923/0.12
-4  16 90   5RP4/16   CIExyY:0.4339/0.2139/0.12
-4  16 92.5 7.5RP4/16 CIExyY:0.4799/0.2329/0.12
-4  16 95   10RP4/16  CIExyY:0.5234/0.253/0.12
-4  14 87.5 2.5RP4/14 CIExyY:0.3748/0.2039/0.12
-4  14 90   5RP4/14   CIExyY:0.4225/0.2249/0.12
-4  14 92.5 7.5RP4/14 CIExyY:0.4629/0.2437/0.12
-4  14 95   10RP4/14  CIExyY:0.502/0.2623/0.12
-4  12 87.5 2.5RP4/12 CIExyY:0.3683/0.2162/0.12
-4  12 90   5RP4/12   CIExyY:0.4104/0.2361/0.12
-4  12 92.5 7.5RP4/12 CIExyY:0.445/0.2541/0.12
-4  12 95   10RP4/12  CIExyY:0.4789/0.2717/0.12
-4  10 87.5 2.5RP4/10 CIExyY:0.3608/0.2301/0.12
-4  10 90   5RP4/10   CIExyY:0.396/0.2489/0.12
-4  10 92.5 7.5RP4/10 CIExyY:0.4259/0.2651/0.12
-4  10 95   10RP4/10  CIExyY:0.4528/0.2811/0.12
-4  8  87.5 2.5RP4/8  CIExyY:0.3533/0.2438/0.12
-4  8  90   5RP4/8    CIExyY:0.3833/0.26/0.12
-4  8  92.5 7.5RP4/8  CIExyY:0.4072/0.275/0.12
-4  8  95   10RP4/8   CIExyY:0.4282/0.289/0.12
-4  6  87.5 2.5RP4/6  CIExyY:0.3442/0.2595/0.12
-4  6  90   5RP4/6    CIExyY:0.3671/0.2733/0.12
-4  6  92.5 7.5RP4/6  CIExyY:0.385/0.2859/0.12
-4  6  95   10RP4/6   CIExyY:0.3999/0.2972/0.12
-4  4  87.5 2.5RP4/4  CIExyY:0.334/0.277/0.12
-4  4  90   5RP4/4    CIExyY:0.3491/0.2872/0.12
-4  4  92.5 7.5RP4/4  CIExyY:0.3612/0.2963/0.12
-4  4  95   10RP4/4   CIExyY:0.3715/0.3042/0.12
-4  3  87.5 2.5RP4/3  CIExyY:0.3287/0.2858/0.12
-4  3  90   5RP4/3    CIExyY:0.3402/0.294/0.12
-4  3  92.5 7.5RP4/3  CIExyY:0.3494/0.3012/0.12
-4  3  95   10RP4/3   CIExyY:0.3568/0.3075/0.12
-4  2  87.5 2.5RP4/2  CIExyY:0.3231/0.2951/0.12
-4  2  90   5RP4/2    CIExyY:0.331/0.301/0.12
-4  2  92.5 7.5RP4/2  CIExyY:0.3371/0.3061/0.12
-4  2  95   10RP4/2   CIExyY:0.3417/0.3106/0.12
-4  1  90   5RP4/1    CIExyY:0.3211/0.3084/0.12
-4  1  95   10RP4/1   CIExyY:0.3261/0.3135/0.12
-3  22 87.5 2.5RP3/22 CIExyY:0.4018/0.1304/0.06555
-3  20 87.5 2.5RP3/20 CIExyY:0.3969/0.1413/0.06555
-3  20 90   5RP3/20   CIExyY:0.4577/0.1593/0.06555
-3  18 87.5 2.5RP3/18 CIExyY:0.3929/0.1506/0.06555
-3  18 90   5RP3/18   CIExyY:0.4503/0.1695/0.06555
-3  18 92.5 7.5RP3/18 CIExyY:0.513/0.1893/0.06555
-3  16 87.5 2.5RP3/16 CIExyY:0.3876/0.1629/0.06555
-3  16 90   5RP3/16   CIExyY:0.4418/0.1809/0.06555
-3  16 92.5 7.5RP3/16 CIExyY:0.4991/0.2011/0.06555
-3  16 95   10RP3/16  CIExyY:0.5628/0.2241/0.06555
-3  14 87.5 2.5RP3/14 CIExyY:0.3818/0.1758/0.06555
-3  14 90   5RP3/14   CIExyY:0.4313/0.1944/0.06555
-3  14 92.5 7.5RP3/14 CIExyY:0.4831/0.214/0.06555
-3  14 95   10RP3/14  CIExyY:0.538/0.2369/0.06555
-3  12 87.5 2.5RP3/12 CIExyY:0.3754/0.1898/0.06555
-3  12 90   5RP3/12   CIExyY:0.4199/0.2089/0.06555
-3  12 92.5 7.5RP3/12 CIExyY:0.4654/0.2273/0.06555
-3  12 95   10RP3/12  CIExyY:0.5139/0.2489/0.06555
-3  10 87.5 2.5RP3/10 CIExyY:0.3681/0.2054/0.06555
-3  10 90   5RP3/10   CIExyY:0.4073/0.2235/0.06555
-3  10 92.5 7.5RP3/10 CIExyY:0.4445/0.2419/0.06555
-3  10 95   10RP3/10  CIExyY:0.4851/0.2618/0.06555
-3  8  87.5 2.5RP3/8  CIExyY:0.3598/0.2233/0.06555
-3  8  90   5RP3/8    CIExyY:0.393/0.2395/0.06555
-3  8  92.5 7.5RP3/8  CIExyY:0.4234/0.2556/0.06555
-3  8  95   10RP3/8   CIExyY:0.4552/0.2741/0.06555
-3  6  87.5 2.5RP3/6  CIExyY:0.3501/0.2425/0.06555
-3  6  90   5RP3/6    CIExyY:0.3765/0.2569/0.06555
-3  6  92.5 7.5RP3/6  CIExyY:0.399/0.2708/0.06555
-3  6  95   10RP3/6   CIExyY:0.4218/0.2864/0.06555
-3  4  87.5 2.5RP3/4  CIExyY:0.34/0.2624/0.06555
-3  4  90   5RP3/4    CIExyY:0.3586/0.2742/0.06555
-3  4  92.5 7.5RP3/4  CIExyY:0.3739/0.2851/0.06555
-3  4  95   10RP3/4   CIExyY:0.3889/0.2969/0.06555
-3  3  87.5 2.5RP3/3  CIExyY:0.334/0.2736/0.06555
-3  3  90   5RP3/3    CIExyY:0.3484/0.2838/0.06555
-3  3  92.5 7.5RP3/3  CIExyY:0.3601/0.2925/0.06555
-3  3  95   10RP3/3   CIExyY:0.3714/0.3019/0.06555
-3  2  87.5 2.5RP3/2  CIExyY:0.3272/0.2861/0.06555
-3  2  90   5RP3/2    CIExyY:0.337/0.294/0.06555
-3  2  92.5 7.5RP3/2  CIExyY:0.345/0.3001/0.06555
-3  2  95   10RP3/2   CIExyY:0.3526/0.3068/0.06555
-3  1  90   5RP3/1    CIExyY:0.3243/0.3048/0.06555
-3  1  95   10RP3/1   CIExyY:0.3323/0.3116/0.06555
-2  20 87.5 2.5RP2/20 CIExyY:0.3802/0.108/0.03126
-2  18 87.5 2.5RP2/18 CIExyY:0.3778/0.1188/0.03126
-2  18 90   5RP2/18   CIExyY:0.4338/0.134/0.03126
-2  16 87.5 2.5RP2/16 CIExyY:0.3748/0.131/0.03126
-2  16 90   5RP2/16   CIExyY:0.4269/0.1454/0.03126
-2  16 92.5 7.5RP2/16 CIExyY:0.4744/0.1595/0.03126
-2  14 87.5 2.5RP2/14 CIExyY:0.3711/0.1449/0.03126
-2  14 90   5RP2/14   CIExyY:0.418/0.1598/0.03126
-2  14 92.5 7.5RP2/14 CIExyY:0.4624/0.1737/0.03126
-2  14 95   10RP2/14  CIExyY:0.5129/0.1888/0.03126
-2  12 87.5 2.5RP2/12 CIExyY:0.3668/0.1618/0.03126
-2  12 90   5RP2/12   CIExyY:0.408/0.1764/0.03126
-2  12 92.5 7.5RP2/12 CIExyY:0.4481/0.1903/0.03126
-2  12 95   10RP2/12  CIExyY:0.4911/0.206/0.03126
-2  10 87.5 2.5RP2/10 CIExyY:0.3617/0.18/0.03126
-2  10 90   5RP2/10   CIExyY:0.3971/0.1939/0.03126
-2  10 92.5 7.5RP2/10 CIExyY:0.4321/0.2082/0.03126
-2  10 95   10RP2/10  CIExyY:0.4678/0.2237/0.03126
-2  8  87.5 2.5RP2/8  CIExyY:0.3555/0.2003/0.03126
-2  8  90   5RP2/8    CIExyY:0.3858/0.214/0.03126
-2  8  92.5 7.5RP2/8  CIExyY:0.4137/0.2276/0.03126
-2  8  95   10RP2/8   CIExyY:0.4428/0.2419/0.03126
-2  6  87.5 2.5RP2/6  CIExyY:0.347/0.2259/0.03126
-2  6  90   5RP2/6    CIExyY:0.3708/0.238/0.03126
-2  6  92.5 7.5RP2/6  CIExyY:0.3918/0.249/0.03126
-2  6  95   10RP2/6   CIExyY:0.4139/0.2608/0.03126
-2  4  87.5 2.5RP2/4  CIExyY:0.3382/0.2496/0.03126
-2  4  90   5RP2/4    CIExyY:0.3558/0.2597/0.03126
-2  4  92.5 7.5RP2/4  CIExyY:0.3702/0.2683/0.03126
-2  4  95   10RP2/4   CIExyY:0.385/0.2778/0.03126
-2  3  87.5 2.5RP2/3  CIExyY:0.3336/0.2614/0.03126
-2  3  90   5RP2/3    CIExyY:0.3479/0.2706/0.03126
-2  3  92.5 7.5RP2/3  CIExyY:0.3589/0.2783/0.03126
-2  3  95   10RP2/3   CIExyY:0.37/0.2865/0.03126
-2  2  87.5 2.5RP2/2  CIExyY:0.3279/0.2754/0.03126
-2  2  90   5RP2/2    CIExyY:0.3383/0.2829/0.03126
-2  2  92.5 7.5RP2/2  CIExyY:0.3459/0.2892/0.03126
-2  2  95   10RP2/2   CIExyY:0.3532/0.2957/0.03126
-2  1  90   5RP2/1    CIExyY:0.326/0.2978/0.03126
-2  1  95   10RP2/1   CIExyY:0.3336/0.3056/0.03126
-1  16 87.5 2.5RP1/16 CIExyY:0.3368/0.0902/0.0121
-1  14 87.5 2.5RP1/14 CIExyY:0.3368/0.102/0.0121
-1  14 90   5RP1/14   CIExyY:0.3811/0.1138/0.0121
-1  12 87.5 2.5RP1/12 CIExyY:0.3361/0.1181/0.0121
-1  12 90   5RP1/12   CIExyY:0.3772/0.1283/0.0121
-1  12 92.5 7.5RP1/12 CIExyY:0.424/0.14/0.0121
-1  12 95   10RP1/12  CIExyY:0.4668/0.1514/0.0121
-1  10 87.5 2.5RP1/10 CIExyY:0.3354/0.1351/0.0121
-1  10 90   5RP1/10   CIExyY:0.3727/0.1458/0.0121
-1  10 92.5 7.5RP1/10 CIExyY:0.4132/0.158/0.0121
-1  10 95   10RP1/10  CIExyY:0.4521/0.171/0.0121
-1  8  87.5 2.5RP1/8  CIExyY:0.3342/0.1551/0.0121
-1  8  90   5RP1/8    CIExyY:0.366/0.1662/0.0121
-1  8  92.5 7.5RP1/8  CIExyY:0.4005/0.1793/0.0121
-1  8  95   10RP1/8   CIExyY:0.4357/0.1921/0.0121
-1  6  87.5 2.5RP1/6  CIExyY:0.3321/0.1811/0.0121
-1  6  90   5RP1/6    CIExyY:0.3588/0.192/0.0121
-1  6  92.5 7.5RP1/6  CIExyY:0.3865/0.2036/0.0121
-1  6  95   10RP1/6   CIExyY:0.4151/0.2169/0.0121
-1  4  87.5 2.5RP1/4  CIExyY:0.329/0.2095/0.0121
-1  4  90   5RP1/4    CIExyY:0.3503/0.2196/0.0121
-1  4  92.5 7.5RP1/4  CIExyY:0.3705/0.23/0.0121
-1  4  95   10RP1/4   CIExyY:0.392/0.2423/0.0121
-1  2  87.5 2.5RP1/2  CIExyY:0.324/0.2459/0.0121
-1  2  90   5RP1/2    CIExyY:0.3378/0.2542/0.0121
-1  2  92.5 7.5RP1/2  CIExyY:0.3498/0.2617/0.0121
-1  2  95   10RP1/2   CIExyY:0.3629/0.271/0.0121
diff --git a/DOODLE-TIPS b/DOODLE-TIPS
deleted file mode 100644 (file)
index 4491261..0000000
+++ /dev/null
@@ -1,28 +0,0 @@
-* You should byte-compile(make).
-Because DOODLE uses very complex macro.
-
-Especialy ew-line.el, ew-scan-m.el, ew-scan-s.el and ew-scan-u.el that are require 'lex.
-(lex is scanner generator.)
-
-* Multiline field-bodies fetched from XOVER is already concatinated,
-you should set ew-ignore-76bytes-limit to true.
-Currentry Gnus use these variables to decode and "Subject" and "From",
-tell it here. Unless doing it, DOODLE does not decode atoms in phrase
-because DOODLE cannot decide whether an atom is in phrase or not without
-field name information.
-
-(setq gnus-unstructured-field-decoder
-   (lambda (string)
-     (if (fboundp 'ew-decode-field)
-         (let ((ew-ignore-76bytes-limit t))
-           (ew-cut-cr-lf (ew-decode-field "Subject" (ew-lf-crlf-to-crlf string))))
-       (eword-decode-and-unfold-structured-field string))))
-
-(setq gnus-structured-field-decoder
-   (lambda (string)
-     (if (fboundp 'ew-decode-field)
-         (let ((ew-ignore-76bytes-limit t))
-           (ew-cut-cr-lf (ew-decode-field "From" (ew-lf-crlf-to-crlf string))))
-       (eword-decode-unstructured-field-body (std11-unfold-string string) 'must-unfold))))
-
-* Ignore warnings about args-eword-* when byte-compiling.
diff --git a/DOODLE-VERSION b/DOODLE-VERSION
deleted file mode 100644 (file)
index 8d0333a..0000000
+++ /dev/null
@@ -1,88 +0,0 @@
-FLIM: Faithful Library about Internet Message
-FLAM: Faithful Library About MIME
-DOODLE: Definition Oriented Obsessive Decoding Library for Encoded-word
-
-Order is not significant.
-
-     1 \e$BAIK'\e(B              \e$B$9$[$&\e(B                    2.5R3.0/3.0     FLIM-FLAM 1.0.0 
-     2 \e$B9HG_\e(B              \e$B$3$&$P$$\e(B          2.5R7.0/8.0     FLIM-FLAM 1.0.1
-     3 \e$B4Z9H2V\e(B            \e$B$+$i$/$l$J$p\e(B              4.0R4.0/14.0    FLIM-FLAM 1.1.0
-     4 \e$BEm2V\e(B              \e$B$b$b\e(B                      2.5R6.0/10.0    FLIM-FLAM 1.2.0
-     5 \e$B:y\e(B                \e$B$5$/$i\e(B                    2.5R7.0/7.0     FLIM-FLAM 1.2.1
-     6 \e$BFy\e(B                \e$B$K$/\e(B                      2.5YR8.0/4.0    FLIM-FLAM 1.3.0 
-     7 \e$B@VAIK'\e(B            \e$B$"$+$9$[$&\e(B                7.5R4.0/14.0    FLIM-FLAM 1.8.0
-     8 \e$B6d<k\e(B              \e$B$.$s$7$e\e(B          5.0R4.5/13.0    FLIM-FLAM 1.9.0
-     9 \e$B`O!9Hl\e(B            \e$B$7$g$&$8$g$&$R\e(B            7.5R4.5/14.0    FLIM-FLAM 1.9.1
-    10 \e$B9HHl\e(B              \e$B$Y$K$R\e(B                    7.5R5.0/13.0    FLAM-DOODLE 1.9.0
-    11 \e$B2+C0\e(B              \e$B$o$&$?$s\e(B          10R5.5/14.0     FLAM-DOODLE 1.9.1
-    12 \e$B??Hl\e(B              \e$B$^$R\e(B                      10R6.0/11.0
-    13 \e$(DT`\e(B               \e$B$=$R\e(B                      2.5YR7.0/11.0
-    14 \e$B3A\e(B                \e$B$+$-\e(B                      10R6.5/10.0
-    15 \e$B?<;Y;R\e(B            \e$B$3$-$/$A$J$7\e(B              10YR7.5/8.0
-    16 \e$B4;;R\e(B              \e$B$3$&$8\e(B                    7.5YR7.0/11.0
-    17 \e$B5`MU\e(B              \e$B$/$A$P\e(B                    10YR7.5/10.0
-    18 \e$B@VGrFK\e(B            \e$B$"$+$7$m$D$k$P$_\e(B  5.0YR8.0/6.0
-    19 \e$B>.F&\e(B              \e$B$"$:$-\e(B                    2.5R3.5/5.0
-    20 \e$BIrF:Cc\e(B            \e$B$($S$A$c\e(B          5.0R4.0/11.0
-    21 \e$B??<k\e(B              \e$B$7$s$7$e\e(B          2.5R4.5/10.0
-    22 \e$B[XHi\e(B              \e$B$R$O$@\e(B                    2.0YR3.5/4.0
-    23 \e$B%Y%s%,%i\e(B  \e$B$Y$s$,$i\e(B          7.5R4.0/7.0
-    24 \e$BBel`\e(B              \e$B$?$$$7$c\e(B          10R4.5/8.0
-    25 \e$B>GCc\e(B              \e$B$3$2$A$c\e(B          10R3.0/2.0
-    26 \e$B7*Hi\e(B              \e$B$/$j$+$O\e(B          10R3.0/4.0
-    27 \e$BFP\e(B                \e$B$H$S\e(B                      10R4.0/7.0
-    28 \e$B3w\e(B                \e$B$+$P\e(B                      10R4.0/5.0
-    29 \e$B2+H'@w\e(B            \e$B$3$&$m$;$s\e(B                2.5Y5.0/4.0
-    30 \e$BCz;RCc\e(B            \e$B$A$g$&$8$A$c\e(B              5.0YR4.0/4.0
-    31 \e$B<F\e(B                \e$B$U$7\e(B                      10YR4.0/4.0
-    32 \e$BCz;z\e(B              \e$B$A$g$&$8\e(B          7.5YR6.0/6.0
-    33 \e$BDS2+\e(B              \e$B$7$c$*$&\e(B          7.5YR5.5/6.0
-    34 \e$B%+!<%-!<\e(B  \e$B$+!<$-!<\e(B          10YR6.0/7.0
-    35 \e$B7,\e(B                \e$B$/$o\e(B                      7.5YR6.0/5.0
-    36 \e$B2+FK\e(B              \e$B$-$D$k$P$_\e(B                2.5Y6.5/7.0
-    37 \e$B9a\e(B                \e$B$3$&\e(B                      10YR7.5/6.0
-    38 \e$B2+EZ\e(B              \e$B$*$&$I\e(B                    10YR7.0/7.0
-    39 \e$B;3?a\e(B              \e$B$d$^$V$-\e(B          3.5Y8.0/12.0
-    40 \e$BF#2+\e(B              \e$B$H$&$*$&\e(B          3.0Y8.0/14.0
-    41 \e$B]56b\e(B              \e$B$&$3$s\e(B                    4.5Y8.0/12.0
-    42 \e$B4"0B\e(B              \e$B$+$j$d$9\e(B          5.0Y8.0/10.0
-    43 \e$B2+\e(B[\e$Bi-\e(B/\e$BLZ\e(B]     \e$B$-$O$@\e(B                    4.5Y8.0/8.0
-    44 \e$B;Y;R\e(B              \e$B$/$A$J$7\e(B          3.0Y8.0/7.0
-    45 \e$B6L;R\e(B              \e$B$?$^$4\e(B                    4.0Y8.0/8.0
-    46 \e$Bs4\e(B                \e$B$R$o\e(B                      10Y8.0/10.0
-    47 \e$Bs4K(2+\e(B            \e$B$R$o$b$($.\e(B                5.0GY7.0/8.0
-    48 \e$Brt\e(B                \e$B$&$0$$$9\e(B          7.5GY5.5/5.0
-    49 \e$BK(2+\e(B              \e$B$b$($.\e(B                    10GY5.5/9.0
-    50 \e$BNP\e(B                \e$B$_$I$j\e(B                    10GY4.0/6.0
-    51 \e$BNP@D\e(B              \e$B$m$/$7$g$&\e(B                5.0G6.0/8.0
-    52 \e$BGrNP\e(B              \e$B$S$c$/$m$/\e(B                2.5G8.0/2.0
-    53 \e$B>>MU\e(B              \e$B$^$D$P\e(B                    7.5G5.0/5.0
-    54 \e$B;3Mu@"\e(B            \e$B$d$^$"$$$:$j\e(B              5.0BG/4.0/4.0
-    55 \e$B3$>>\e(B              \e$B$_$k\e(B                      2.5GY3.5/2.0
-    56 \e$BU;Cc\e(B              \e$B$3$S$A$c\e(B          10Y4.0/2.0
-    57 \e$B@DGrFK\e(B            \e$B$"$*$7$m$D$k$P$_\e(B  5.0GY7.5/3.0
-    58 \e$B2X;R:0\e(B            \e$B$J$9$3$s\e(B          7.5PB/2.3/3.0
-    59 \e$B:0\e(B                \e$B$3$s\e(B                      7.5PB3.0/3.0
-    60 \e$BG<8M\e(B              \e$B$J$s$I\e(B                    5.0PB3.0/4.0
-    61 \e$B:0@D\e(B              \e$B$3$s$8$g$&\e(B                8.5PB3.0/12.0
-    62 \e$BN0M~\e(B              \e$B$k$j\e(B                      7.5PB3.0/12.0
-    63 \e$B72@D\e(B              \e$B$0$s$8$g$&\e(B                6.0PB3.5/12.0
-    64 \e$BGr72\e(B              \e$B$S$c$/$0$s\e(B                7.5B6.0/4.0
-    65 \e$Be]\e(B                \e$B$O$J$@\e(B                    10B3.5/5.0
-    66 \e$B@u2+\e(B              \e$B$"$5$.\e(B                    10BG6.0/3.0
-    67 \e$BLG;g\e(B              \e$B$a$C$7\e(B                    5.0P2.5/4.0
-    68 \e$B?<;g\e(B              \e$B$3$`$i$5$-\e(B                5.0P2.5/4.0
-    69 \e$BFsMu\e(B              \e$B$U$?$"$$\e(B          5.0P4.0/3.0
-    70 \e$B;g\e(B                \e$B$`$i$5$-\e(B          7.5P3.5/4.0
-    71 \e$BIrF:\e(B              \e$B$($S\e(B                      7.5P3.5/6.0
-    72 \e$B?<Hl\e(B              \e$B$3$-$R\e(B                    8.5R4.5/4.0
-    73 \e$B5K9<\e(B              \e$B$-$-$g$&\e(B          10PB3.5/10
-    74 \e$BF#\e(B                \e$B$U$8\e(B                      7.5P5.0/8.0
-    75 \e$B24C0\e(B              \e$B$\$?$s\e(B                    5.0RP4.5/14
-    76 \e$BKO\e(B                \e$B$9$_\e(B                      N1.5/0
-    77 \e$BKOFK\e(B              \e$B$/$m$D$k$P$_\e(B              5.0YR3.0/0.5
-    78 \e$Bb%\e(B                \e$B$/$j\e(B                      2.5YR3.0/0.5
-    79 \e$BF_\e(B                \e$B$K$S\e(B                      7.5R4.0/0.5
-    80 \e$B@DF_\e(B              \e$B$"$*$K$S\e(B          5.0B4.0/0.5
-    81 \e$BMx5WAM\e(B            \e$B$j$-$e$&$M$:$_\e(B            5.0G4.5/0.5
-    82 \e$B3%\e(B                \e$B$O$$\e(B                      5.0GY5.0/0.5
diff --git a/FLIM-CFG b/FLIM-CFG
deleted file mode 100644 (file)
index 0e81588..0000000
--- a/FLIM-CFG
+++ /dev/null
@@ -1,52 +0,0 @@
-;;; -*-Emacs-Lisp-*-
-
-;; FLIM-CFG: installation setting about FLIM.
-
-;;; Code:
-
-(defvar default-load-path load-path)
-
-(add-to-list 'load-path
-            (expand-file-name "../../site-lisp/apel" data-directory))
-
-(if (boundp 'LISPDIR)
-    (progn
-      (add-to-list 'default-load-path LISPDIR)
-      (add-to-list 'load-path LISPDIR)
-      (add-to-list 'load-path (expand-file-name "apel" LISPDIR))
-      ))
-
-(require 'install)
-
-(add-path default-directory)
-
-(or (fboundp 'write-region-as-binary)
-    (error "Please install latest APEL 7.3 or later."))
-(or (fboundp 'insert-file-contents-as-binary)
-    (error "Please install latest APEL 7.3 or later."))
-
-
-;;; @ Please specify prefix of install directory.
-;;;
-
-;; Please specify install path prefix.
-;; If it is omitted, shared directory (maybe /usr/local is used).
-(defvar PREFIX install-prefix)
-;;(setq PREFIX "~/")
-
-;; Please specify prefix for ``FLIM'' [optional]
-(setq FLIM_PREFIX "flim")
-
-\f
-
-;;; @ optional settings
-;;;
-
-;; It is generated by automatically. Please set variable `PREFIX'.
-;; If you don't like default directory tree, please set it.
-(defvar LISPDIR (install-detect-elisp-directory PREFIX))
-;; (setq install-default-elisp-directory "~/lib/emacs/lisp")
-
-(setq FLIM_DIR (expand-file-name FLIM_PREFIX LISPDIR))
-
-;;; FLIM-CFG ends here
diff --git a/FLIM-ELS b/FLIM-ELS
deleted file mode 100644 (file)
index f3160b2..0000000
--- a/FLIM-ELS
+++ /dev/null
@@ -1,36 +0,0 @@
-;;; -*-Emacs-Lisp-*-
-
-;; FLIM-ELS: list of FLIM modules to install
-
-;;; Code:
-
-(setq flim-modules '(mime-def
-                    mel mel-dl mel-b mel-q mel-u mel-g
-                     closure
-                     natset
-                     digraph
-                     automata rx lex
-                     lr-driver
-                     ew-var
-                     ew-util
-                     ew-line
-                     ew-quote
-                     ew-unit
-                     ew-data
-                     ew-parse
-                     ew-scan-s
-                     ew-scan-m
-                     ew-scan-u
-                     ew-dec
-                    std11
-                    eword-decode eword-encode
-                    mime mime-parse mmbuffer mmcooked
-                    ;; mime-lib
-                    mailcap
-                     ))
-
-(if (fboundp 'dynamic-link)
-    (setq flim-modules (cons 'mel-dl flim-modules))
-  )
-
-;;; FLIM-ELS ends here
diff --git a/FLIM-MK b/FLIM-MK
deleted file mode 100644 (file)
index b76594e..0000000
--- a/FLIM-MK
+++ /dev/null
@@ -1,34 +0,0 @@
-;;; -*-Emacs-Lisp-*-
-;;;
-;;; $Id: FLIM-MK,v 1.1 1998-04-13 13:08:14 morioka Exp $
-;;;
-
-(defun config-flim ()
-  (let (prefix lisp-dir)
-    (and (setq prefix (car command-line-args-left))
-        (or (string-equal "NONE" prefix)
-            (defvar PREFIX prefix)
-            ))
-    (setq command-line-args-left (cdr command-line-args-left))
-    (and (setq lisp-dir (car command-line-args-left))
-        (or (string-equal "NONE" lisp-dir)
-            (defvar LISPDIR lisp-dir)
-            ))
-    (setq command-line-args-left (cdr command-line-args-left))
-    (load-file "FLIM-CFG")
-    (load-file "FLIM-ELS")
-    (princ (format "PREFIX=%s
-LISPDIR=%s\n" PREFIX LISPDIR))
-    ))
-
-(defun compile-flim ()
-  (config-flim)
-  (compile-elisp-modules flim-modules ".")
-  )
-
-(defun install-flim ()
-  (config-flim)
-  (install-elisp-modules flim-modules "./" FLIM_DIR)
-  )
-
-;;; FLIM-MK ends here
diff --git a/FLIM-VERSION b/FLIM-VERSION
deleted file mode 100644 (file)
index c5eee0f..0000000
+++ /dev/null
@@ -1,39 +0,0 @@
-[FLIM Version names]
-
-1.0.0  -----
-
-;;-------------------------------------------------------------------------
-;;     Kinki Nippon Railway    \e$(B6a5&F|K\E4F;\e(B     http://www.kintetsu.co.jp/
-;;     Ky\e-Dòto\e-A Line                \e$(B5~ET@~\e(B
-;;-------------------------------------------------------------------------
-1.0.1  Ky\e-Dòto\e-A                     \e$(B5~ET\e(B             ; <=> JR, \e$(B5~ET;T8rDL6I\e(B
-1.1.0  T\e-Dòji\e-A                      \e$(BEl;{\e(B
-1.2.0  J\e-Dþjò\e-A                      \e$(B==>r\e(B
-1.2.1  Kamitobaguchi           \e$(B>eD;1)8}\e(B
-1.2.2  Takeda                  \e$(BC]ED\e(B             ; = \e$(B5~ET;T8rDL6I\e(B \e$(B1(4]@~\e(B
-1.3.0  Fushimi                 \e$(BIz8+\e(B
-1.4.0  Kintetsu-Tanbabashi     \e$(B6aE4C0GH66\e(B       ; <=> \e$(B5~:e\e(B \e$(BC0GH66\e(B
-1.4.1  Momoyama-Gory\e-Dòmae\e-A \e$(BEm;38fNMA0\e(B
-1.5.0  Mukaijima               \e$(B8~Eg\e(B
-1.6.0  Ogura                   \e$(B>.AR\e(B
-1.7.0  Iseda                   \e$(B0K@*ED\e(B
-1.8.0  \e-DÃ’kubo\e-A                     \e$(BBg5WJ]\e(B
-1.8.1  Kutsukawa               \e$(B5WDE@n\e(B
-1.9.0  Terada                  \e$(B;{ED\e(B
-
-
-[Chao Version names]
-
-;;-------------------------------------------------------------------------
-;;     Kyoto Municipal Transfer Bureau
-;;                             \e$(B5~ET;T8rDL6I\e(B
-;;             http://www.city.kyoto.jp/kotsu/main.htm
-;;     Karasuma Line           \e$(B1(4]@~\e(B
-;;-------------------------------------------------------------------------
-1.2.0  Takeda                  \e$(BC]ED\e(B             ; = \e$(B6aE4\e(B \e$(B5~ET@~\e(B
-1.3.0  Kuinabashi              \e$(B$/$$$J66\e(B
-1.4.0  J\e-Dþjò\e-A                      \e$(B==>r\e(B
-1.6.0  Kuj\e-Dò\e-A                      \e$(B6e>r\e(B
-1.6.1  Ky\e-Dòto\e-A                     \e$(B5~ET\e(B             ; <=> JR, \e$(B6aE4\e(B
-1.7.0  Goj\e-Dò\e-A                      \e$(B8^>r\e(B
-1.8.0  Shij\e-Dò\e-A                     \e$(B;M>r\e(B
diff --git a/Makefile b/Makefile
deleted file mode 100644 (file)
index beba984..0000000
--- a/Makefile
+++ /dev/null
@@ -1,54 +0,0 @@
-#
-# Makefile for FLIM.
-#
-
-PACKAGE = flim
-VERSION = 1.9.0
-
-TAR    = tar
-RM     = /bin/rm -f
-CP     = /bin/cp -p
-
-EMACS  = emacs
-FLAGS   = -batch -q -no-site-file -l FLIM-MK
-
-PREFIX = NONE
-LISPDIR = NONE
-
-GOMI   = *.elc
-FILES  = README.?? Makefile FLIM-MK FLIM-CFG FLIM-ELS *.el ChangeLog
-
-
-elc: ew-parse.el
-       $(EMACS) $(FLAGS) -f compile-flim $(PREFIX) $(LISPDIR)
-
-install:       elc
-       $(EMACS) $(FLAGS) -f install-flim $(PREFIX) $(LISPDIR)
-
-clean:
-       -$(RM) $(GOMI)
-       cd ../tl && make clean
-
-
-tar:
-       cvs commit
-       sh -c 'cvs tag -RF $(PACKAGE)-`echo $(VERSION) \
-                               | sed s/\\\\./_/ | sed s/\\\\./_/`; \
-       cd /tmp; \
-       cvs -d :pserver:anonymous@chamonix.jaist.ac.jp:/hare/cvs/root \
-               export -d $(PACKAGE)-$(VERSION) \
-               -r $(PACKAGE)-`echo $(VERSION) | sed s/\\\\./_/ | sed s/\\\\./_/` \
-               flim'
-       cd /tmp; $(RM) $(PACKAGE)-$(VERSION)/ftp.in ; \
-               $(TAR) cvzf $(PACKAGE)-$(VERSION).tar.gz $(PACKAGE)-$(VERSION)
-       cd /tmp; $(RM) -r $(PACKAGE)-$(VERSION)
-       sed "s/VERSION/$(VERSION)/" < ftp.in > ftp
-
-release:
-       -$(RM) /pub/GNU/elisp/apel/$(PACKAGE)-$(VERSION).tar.gz
-       mv /tmp/$(PACKAGE)-$(VERSION).tar.gz /pub/GNU/elisp/flim/
-       cd /pub/GNU/elisp/semi/ ; \
-               ln -s ../flim/$(PACKAGE)-$(VERSION).tar.gz .
-
-ew-parse.el: ew-parse.scm lalr-el.scm
-       -scm -f lalr-el.scm -f ew-parse.scm > ew-parse.out
diff --git a/README.en b/README.en
deleted file mode 100644 (file)
index 74bf582..0000000
--- a/README.en
+++ /dev/null
@@ -1,120 +0,0 @@
-[README for FLIM (English Version)]
-
-What's FLIM
-===========
-
-  FLIM is a library to provide basic features about message
-  representation or encoding.  It consists of following
-  modules:
-
-    std11.el   --- STD 11 (RFC 822) parser and utility
-
-    mime.el    --- MIME library
-
-        mime-def.el --- Definitions about MIME format
-
-       mime-parse.el --- MIME parser
-
-       mel.el --- MIME encoder/decoder
-           mel-dl.el --- base64 (b-encoding) encoder/decoder
-                         (for Emacs 20 with dynamic loading support)
-           mel-b.el  --- base64 (b-encoding) encoder/decoder
-                         (for other emacsen)
-           mel-q.el  --- quoted-printable and q-encoding encoder/decoder
-           mel-u.el  --- unofficial module for uuencode
-           mel-g.el  --- unofficial module for gzip64
-
-       eword-decode.el --- encoded-word decoder
-       eword-encode.el --- encoded-word encoder
-
-    mailcap.el --- mailcap parser and utility
-
-
-Installation
-============
-
-(0) before installing it, please install APEL package.  APEL package
-    is available at:
-
-       ftp://ftp.jaist.ac.jp/pub/GNU/elisp/apel/
-
-(1-a) run in expanded place
-
-  If you don't want to install other directories, please do only
-  following:
-
-       % make
-
-  You can specify the emacs command name, for example
-
-       % make install EMACS=xemacs
-
-  If `EMACS=...' is omitted, EMACS=emacs is used.
-
-(1-b) make install
-
-  If you want to install other directories, please do following:
-
-       % make install
-
-  You can specify the emacs command name, for example
-
-       % make install EMACS=xemacs
-
-  If `EMACS=...' is omitted, EMACS=emacs is used.
-
-  You can specify the prefix of the directory tree for Emacs Lisp
-  programs and shell scripts, for example:
-
-       % make install PREFIX=~/
-
-  If `PREFIX=...' is omitted, the prefix of the directory tree of the
-  specified emacs command is used (perhaps /usr/local).
-
-  For example, if PREFIX=/usr/local and EMACS 19.34 is specified, it
-  will create the following directory tree:
-
-       /usr/local/share/emacs/site-lisp/flim/   --- FLIM
-
-  You can specify site-lisp directory, for example
-
-       % make install LISPDIR=~/share/emacs/lisp
-
-  If `LISPDIR=...' is omitted, site-lisp directory of the specified
-  emacs command is used (perhaps /usr/local/share/emacs/site-lisp or
-  /usr/local/lib/xemacs/site-lisp).
-
-  You can specify other optional settings by editing the file
-  FLIM-CFG.  Please read comments in it.
-
-
-load-path (for Emacs or MULE)
-=============================
-
-  If you are using Emacs or Mule, please add directory of FLIM to
-  load-path.  If you install by default setting, you can write
-  subdirs.el for example:
-
-  --------------------------------------------------------------------
-  (normal-top-level-add-to-load-path '("apel" "flim"))
-  --------------------------------------------------------------------
-
-  If you are using XEmacs, there are no need of setting about
-  load-path.
-
-
-Bug reports
-===========
-
-  If you write bug-reports and/or suggestions for improvement, please
-  send them to the tm Mailing List:
-
-       bug-tm-en@chamonix.jaist.ac.jp  (English)
-       bug-tm-ja@chamonix.jaist.ac.jp  (Japanese)
-
-  Via the tm ML, you can report FLIM bugs, obtain the latest release
-  of FLIM, and discuss future enhancements to FLIM. To join the tm ML,
-  send an empty e-mail to
-
-       tm-en-help@chamonix.jaist.ac.jp (English)
-       tm-ja-help@chamonix.jaist.ac.jp (Japanese)
diff --git a/TESTPAT b/TESTPAT
deleted file mode 100644 (file)
index 1290c99..0000000
--- a/TESTPAT
+++ /dev/null
@@ -1,1341 +0,0 @@
-;;; -*- mode: emacs-lisp; coding: iso-2022-7bit-ss2 -*-
-;----------------------------------------------------------------------------
-;-------- This sequece of HYPHEN-MINUS is 76 bytes long. --------------------
-;----------------------------------------------------------------------------
-
-;;; options:
-;;encode-sticked-comment-as-atom    ; violate the policy preserving structures
-;;ignore-75bytes-limit              ; violate RFC2047
-;;ignore-76bytes-limit              ; violate RFC2047
-;;permit-sticked-comment            ; violate RFC2047
-;;permit-sticked-special            ; violate RFC2047
-;;separate-sticked-comment          ; violate the policy preserving absence of space
-;;separate-sticked-special          ; violate the policy preserving absence of space
-;;zero-characters-encoded-word-hack ; violate common sense (very tricky)
-;;embedded-encoded-word                    ; violate character sequence semantics
-;;separate-sticked-tokens-for-fold  ; violate the policy preserving absence of space
-;;encode-long-ascii-string-for-fold ; violate the policy preserving US-ASCII string
-;;divide-atom-for-fold             ; violate tne policy preserving absence of space
-
-;;; test driver
-
-;;; FLIM or FLAM
-'(progn
-(require 'mime)
-(require 'ew-line)
-
-(if (< max-specpdl-size 1000)
-  (setq max-specpdl-size 1000))
-
-(defun decode-test (src dsts &rest opts)
-  (setq src (ew-crlf-to-lf src))
-  (setq eword-lexical-analyze-cache nil)
-  (setq eword-decode-sticked-encoded-word
-    (or (memq 'permit-sticked-comment opts)
-       (memq 'permit-sticked-special opts)))
-  (setq eword-decode-quoted-encoded-word nil)
-  (with-temp-buffer
-    (insert src "\n" mail-header-separator)
-    (eword-decode-header 'us-ascii mail-header-separator)
-    (goto-char (point-min))
-    (std11-narrow-to-header mail-header-separator)
-    (std11-field-end)
-    (let ((result (std11-unfold-string
-                  (buffer-substring (point-min) (point)))))
-      (if (member result dsts) t result))))
-
-(defun encode-test (src dsts &rest opts)
-  (setq eword-lexical-analyze-cache nil)
-  (setq eword-decode-sticked-encoded-word nil)
-  (setq eword-decode-quoted-encoded-word nil)
-  (with-temp-buffer
-    (insert src "\n" mail-header-separator)
-    (goto-char (point-min))
-    (eword-encode-header 'us-ascii)
-    (goto-char (point-min))
-    (std11-narrow-to-header mail-header-separator)
-    (std11-field-end)
-    (let ((result (buffer-substring (point-min) (point))))
-      (if (member result dsts) t result))))
-)
-
-;;; EW
-(progn
-(require 'ew-dec)
-(require 'ew-line)
-
-(defun decode-test (src dsts &rest opts)
-  (setq ew-decode-field-cache-buf nil)
-  (let ((ew-decode-sticked-encoded-word nil)
-       (ew-decode-quoted-encoded-word nil)
-       (ew-ignore-75bytes-limit (memq 'ignore-75bytes-limit opts))
-       (ew-ignore-76bytes-limit (memq 'ignore-76bytes-limit opts))
-       (ew-permit-sticked-comment (memq 'permit-sticked-comment opts))
-       (ew-permit-sticked-special (memq 'permit-sticked-special opts)))
-    (string-match "\\`[^:]*:" src)
-    (let* ((field-name (substring src
-                                 (match-beginning 0)
-                                 (1- (match-end 0))))
-          (field-body (substring src (match-end 0)))
-          (result (ew-crlf-unfold
-                   (concat field-name ":"
-                           (ew-decode-field field-name field-body)))))
-      (if (member result dsts) t result))))
-
-(defun encode-test (src dsts &rest opts)
-  nil)
-)
-
-;;;
-
-(setq decode-succ-count 0)
-(setq decode-all-count 0)
-(defun decode (src dsts &rest opts)
-  (if (stringp dsts) (setq dsts (list dsts)))
-  (setq decode-all-count (1+ decode-all-count))
-  (let ((res (condition-case nil
-              (apply 'decode-test src dsts opts)
-              (error nil))))
-    (if (eq res t)
-      (progn
-       (setq decode-succ-count (1+ decode-succ-count))
-       (insert "\n'dsucc"))
-      (insert (format "\n%S\n'dfail" res)))
-    res))
-
-(setq encode-succ-count 0)
-(setq encode-all-count 0)
-(defun encode (src dsts &rest opts)
-  (if (stringp dsts) (setq dsts (list dsts)))
-  (setq encode-all-count (1+ encode-all-count))
-  (let ((res (condition-case nil
-              (apply 'encode-test src dsts opts)
-              (error nil))))
-    (if (eq res t)
-      (progn
-       (setq encode-succ-count (1+ encode-succ-count))
-       (insert "\n'esucc"))
-      (insert (format "\n%S\n'efail" res)))
-    res))
-
-(defun report ()
-  (insert
-    (format "\n\"Decode: %d/%d  Encode: %d/%d  Total: %d/%d\""
-      decode-succ-count decode-all-count
-      encode-succ-count encode-all-count
-      (+ decode-succ-count encode-succ-count)
-      (+ decode-all-count encode-all-count))))
-
-;;;start-test
-
-;;; Section 1: Decoding examples from RFC2047
-
-(decode
-"From: =?US-ASCII?Q?Keith_Moore?= <moore@cs.utk.edu>"
-"From: Keith Moore <moore@cs.utk.edu>")
-
-(decode
-"To: =?ISO-8859-1?Q?Keld_J=F8rn_Simonsen?= <keld@dkuug.dk>"
-"To: Keld J\e.A\eNxrn Simonsen <keld@dkuug.dk>")\e*B
-
-(decode
-"CC: =?ISO-8859-1?Q?Andr=E9?= Pirard <PIRARD@vm1.ulg.ac.be>"
-"CC: Andr\e.A\eNi Pirard <PIRARD@vm1.ulg.ac.be>")\e*B
-
-(decode
-"Subject: =?ISO-8859-1?B?SWYgeW91IGNhbiByZWFkIHRoaXMgeW8=?=\r
- =?ISO-8859-2?B?dSB1bmRlcnN0YW5kIHRoZSBleGFtcGxlLg==?="
-"Subject: If you can read this you understand the example.")
-
-(decode
-"From: =?ISO-8859-1?Q?Olle_J=E4rnefors?= <ojarnef@admin.kth.se>"
-"From: Olle J\e.A\eNdrnefors <ojarnef@admin.kth.se>")\e*B
-
-(decode
-"From: =?ISO-8859-1?Q?Patrik_F=E4ltstr=F6m?= <paf@nada.kth.se>"
-"From: Patrik F\e.A\eNdltstr\eNvm <paf@nada.kth.se>")\e*B
-
-(decode
-"From: Nathaniel Borenstein <nsb@thumper.bellcore.com>\r
-\t(=?iso-8859-8?b?7eXs+SDv4SDp7Oj08A==?=)"
-"From: Nathaniel Borenstein <nsb@thumper.bellcore.com>\t(\e.H\eNm\eNe\eNl\eNy \eNo\eNa \eNi\eNl\eNh\eNt\eNp)")\e*B
-
-(decode
-"From: foo@bar.baz (=?ISO-8859-1?Q?a?=)"
-"From: foo@bar.baz (a)")
-
-(decode
-"From: foo@bar.baz (=?ISO-8859-1?Q?a?= b)"
-"From: foo@bar.baz (a b)")
-
-(decode
-"From: foo@bar.baz (=?ISO-8859-1?Q?a?= =?ISO-8859-1?Q?b?=)"
-"From: foo@bar.baz (ab)")
-
-(decode
-"From: foo@bar.baz (=?ISO-8859-1?Q?a?=  =?ISO-8859-1?Q?b?=)"
-"From: foo@bar.baz (ab)")
-
-(decode
-"From: foo@bar.baz (=?ISO-8859-1?Q?a?=\r
-\t=?ISO-8859-1?Q?b?=)"
-"From: foo@bar.baz (ab)")
-
-(decode
-"From: foo@bar.baz (=?ISO-8859-1?Q?a_b?=)"
-"From: foo@bar.baz (a b)")
-
-(decode
-"From: foo@bar.baz (=?ISO-8859-1?Q?a?= =?ISO-8859-2?Q?_b?=)"
-"From: foo@bar.baz (a b)")
-
-(decode
-"Subject: (=?ISO-8859-1?Q?a?=)"
-"Subject: (=?ISO-8859-1?Q?a?=)")
-
-(decode
-"Subject: (=?ISO-8859-1?Q?a?= b)"
-"Subject: (=?ISO-8859-1?Q?a?= b)")
-
-(decode
-"Subject: (=?ISO-8859-1?Q?a?= =?ISO-8859-1?Q?b?=)"
-"Subject: (=?ISO-8859-1?Q?a?= =?ISO-8859-1?Q?b?=)")
-
-(decode
-"Subject: (=?ISO-8859-1?Q?a?=  =?ISO-8859-1?Q?b?=)"
-"Subject: (=?ISO-8859-1?Q?a?=  =?ISO-8859-1?Q?b?=)")
-
-(decode
-"Subject: (=?ISO-8859-1?Q?a?=\r
-\t=?ISO-8859-1?Q?b?=)"
-"Subject: (=?ISO-8859-1?Q?a?=\t=?ISO-8859-1?Q?b?=)")
-
-(decode
-"Subject: (=?ISO-8859-1?Q?a_b?=)"
-"Subject: (=?ISO-8859-1?Q?a_b?=)")
-
-(decode
-"Subject: (=?ISO-8859-1?Q?a?= =?ISO-8859-2?Q?_b?=)"
-"Subject: (=?ISO-8859-1?Q?a?= =?ISO-8859-2?Q?_b?=)")
-
-;;; Section 2: Decoding proper inputs.
-
-(decode
-"From: =?ISO-2022-JP?B?GyRCJCIbKEI=?= <akr@jaist.ac.jp>"
-"From: \e$B$"\e(B <akr@jaist.ac.jp>")
-
-(decode
-"From: =?ISO-2022-JP?B?GyRCJCIbKEI=?= =?ISO-2022-JP?B?GyRCJCQbKEI=?=\r
- <akr@jaist.ac.jp>"
-"From: \e$B$"$$\e(B <akr@jaist.ac.jp>")
-
-(decode
-"From: =?ISO-2022-JP?B?GyRCJCIbKEI=?=\r
- =?ISO-2022-JP?B?GyRCJCQbKEI=?=\r
- <akr@jaist.ac.jp>"
-"From: \e$B$"$$\e(B <akr@jaist.ac.jp>")
-
-(decode
-"From: =?ISO-2022-JP?B?GyRCJCIbKEI=?=\r
-\t=?ISO-2022-JP?B?GyRCJCQbKEI=?=\r
- <akr@jaist.ac.jp>"
-"From: \e$B$"$$\e(B <akr@jaist.ac.jp>")
-
-(decode
-"From: =?ISO-2022-JP?B?GyRCJCIbKEI=?= \"ja \\\"a\\\"\" <akr@jaist.ac.jp>"
-"From: \e$B$"\e(B \"ja \\\"a\\\"\" <akr@jaist.ac.jp>")
-
-(decode
-"From: akr@jaist.ac.jp (=?ISO-2022-JP?B?GyRCJCIbKEI=?=\r
- =?ISO-2022-JP?B?GyhC?=(=?ISO-2022-JP?B?GyRCJCQbKEI=?=\r
- =?ISO-2022-JP?B?GyhC?=)=?ISO-2022-JP?B?GyRCJCYbKEI=?=)"
-"From: akr@jaist.ac.jp (\e$B$"\e(B(\e$B$$\e(B)\e$B$&\e(B)")
-
-(decode
-"From: a=?ISO-2022-JP?B?GyRCJCIbKEI=?= <akr@jaist.ac.jp>"
-"From: a=?ISO-2022-JP?B?GyRCJCIbKEI=?= <akr@jaist.ac.jp>")
-
-(decode
-"From: =?ISO-2022-JP?B?GyRCJCIbKEI=?=b <akr@jaist.ac.jp>"
-"From: =?ISO-2022-JP?B?GyRCJCIbKEI=?=b <akr@jaist.ac.jp>")
-
-(decode
-"From: a=?ISO-2022-JP?B?GyRCJCIbKEI=?=b <akr@jaist.ac.jp>"
-"From: a=?ISO-2022-JP?B?GyRCJCIbKEI=?=b <akr@jaist.ac.jp>")
-
-(decode
-"From: \"=?ISO-2022-JP?B?GyRCJCIbKEI=?=\" <akr@jaist.ac.jp>"
-"From: \"=?ISO-2022-JP?B?GyRCJCIbKEI=?=\" <akr@jaist.ac.jp>")
-
-(decode
-"From: \"\\\"\\\\\" =?ISO-2022-JP?B?GyRCJCIbKEI=?= \"\\\"\\\\\" <akr@jaist.ac.jp>"
-"From: \"\\\"\\\\\" \e$B$"\e(B \"\\\"\\\\\" <akr@jaist.ac.jp>")
-
-(decode
-"From: < =?ISO-2022-JP?B?GyRCJCIbKEI=?= @jaist.ac.jp>"
-"From: < =?ISO-2022-JP?B?GyRCJCIbKEI=?= @jaist.ac.jp>")
-
-(decode
-"From: =?ISO-2022-JP?Q?=1B=24BAA=1B=28B?= <akr@jaist.ac.jp>"
-"From: \e$BAA\e(B <akr@jaist.ac.jp>")
-
-(decode
-"From: =?ISO-2022-JP?Q?=1B$BAA=1B(B?= ) <akr@jaist.ac.jp>"
-"From: =?ISO-2022-JP?Q?=1B$BAA=1B(B?= ) <akr@jaist.ac.jp>")
-
-(decode
-"From: (=?US-ASCII?Q?(?=)foo@bar.baz(=?US-ASCII?Q?))baz@bar.foo(?=)"
-"From: (=?US-ASCII?Q?(?=)foo@bar.baz(=?US-ASCII?Q?))baz@bar.foo(?=)")
-
-(decode
-"From: =?ISO-2022-JP?B?GyRCJCIbKEIoGyRCJCIbKEIp?= <akr@jaist.ac.jp>"
-"From: \"\e$B$"\e(B(\e$B$"\e(B)\" <akr@jaist.ac.jp>")
-
-(decode
-"From: =?US-ASCII?Q?=28?= <akr@jaist.ac.jp>, =?US-ASCII?Q?=29?= <akr@jaist.ac.jp>"
-"From: \"(\" <akr@jaist.ac.jp>, \")\" <akr@jaist.ac.jp>"
-'ignore-76bytes-limit)
-
-(decode
-"From: =?ISO-2022-JP?B?YSJiGyRCJCIbKEJjXA==?= <akr@jaist.ac.jp>"
-"From: \"a\\\"b\e$B$"\e(Bc\\\\\" <akr@jaist.ac.jp>")
-
-(decode
-"Subject: =?ISO-2022-JP?B?GyRCJCIbKEI=?="
-"Subject: \e$B$"\e(B")
-
-(decode
-"Subject: a=?ISO-2022-JP?B?GyRCJCIbKEI=?="
-"Subject: a=?ISO-2022-JP?B?GyRCJCIbKEI=?=")
-
-(decode
-"Subject: =?ISO-2022-JP?B?GyRCJCIbKEI=?=b"
-"Subject: =?ISO-2022-JP?B?GyRCJCIbKEI=?=b")
-
-(decode
-"Subject: a=?ISO-2022-JP?B?GyRCJCIbKEI=?=b"
-"Subject: a=?ISO-2022-JP?B?GyRCJCIbKEI=?=b")
-
-(decode
-"Subject: (a)=?ISO-2022-JP?B?GyRCJCIbKEI=?="
-"Subject: (a)=?ISO-2022-JP?B?GyRCJCIbKEI=?=")
-
-(decode
-"Subject: =?ISO-2022-JP?B?GyRCJCIbKEI=?=(b)"
-"Subject: =?ISO-2022-JP?B?GyRCJCIbKEI=?=(b)")
-
-(decode
-"Subject: (a)=?ISO-2022-JP?B?GyRCJCIbKEI=?=(b)"
-"Subject: (a)=?ISO-2022-JP?B?GyRCJCIbKEI=?=(b)")
-
-(decode
-"Subject: \"a\"=?ISO-2022-JP?B?GyRCJCIbKEI=?="
-"Subject: \"a\"=?ISO-2022-JP?B?GyRCJCIbKEI=?=")
-
-(decode
-"Subject: =?ISO-2022-JP?B?GyRCJCIbKEI=?=\"b\""
-"Subject: =?ISO-2022-JP?B?GyRCJCIbKEI=?=\"b\"")
-
-(decode
-"Subject: \"a\"=?ISO-2022-JP?B?GyRCJCIbKEI=?=\"b\""
-"Subject: \"a\"=?ISO-2022-JP?B?GyRCJCIbKEI=?=\"b\"")
-
-(decode
-"Subject: (Re: =?ISO-2022-JP?B?GyRCJCIbKEI=?=)"
-"Subject: (Re: =?ISO-2022-JP?B?GyRCJCIbKEI=?=)")
-
-(decode
-"Subject: =?ISO-2022-JP?B?GyRCJCIbKEI=?=:"
-"Subject: =?ISO-2022-JP?B?GyRCJCIbKEI=?=:")
-
-(decode
-"Subject: =?ISO-2022-JP?B??="
-"Subject: =?ISO-2022-JP?B??=")
-
-(decode
-"Subject: =?ISO-2022-JP?B?GyRCJCIbKEI=?= a\r
- =?ISO-2022-JP?B?GyRCJCQbKEI=?="
-"Subject: \e$B$"\e(B a \e$B$$\e(B")
-
-(decode
-"Subject: =?ISO-2022-JP?B?GyRCMCQbKEIgICAgICAgICAgICAgICAgICAgICAgICAgICAg?=\r
- =?US-ASCII?Q?____________________________________________________________?=\r
- =?ISO-2022-JP?B?ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIBskQlJfGyhC?="
-"Subject: \e$B0$\e(B                                                                                                                          \e$BR_\e(B")
-
-(decode
-"From: =?ISO-8859-1?Q?abcdefghijklmnopqrst=A1=28=29=22=5C?= <akr@jaist.ac.jp>"
-"From: \"abcdefghijklmnopqrst\e.A\eN!()\\\"\\\\\" <akr@jaist.ac.jp>")\e*B
-
-(decode
-"Subject: ?= =?"
-"Subject: ?= =?")
-
-(decode
-"Subject: \" =?ISO-2022-JP?B?GyRCJCIbKEI=?= \""
-"Subject: \" \e$B$"\e(B \"")
-
-(decode
-"From: \"\\\\\" =?ISO-2022-JP?B?GyRCJCIbKEI=?= \"\" <akr@jaist.ac.jp>"
-"From: \"\\\\\" \e$B$"\e(B \"\" <akr@jaist.ac.jp>")
-
-(decode
-"Subject: =?ISO-2022-JP?Q?=1B$B$\"=1B(B_=1B$B$\"=1B(B?="
-"Subject: \e$B$"\e(B \e$B$"\e(B")
-
-(decode
-"Subject: =?ISO-2022-JP?Q?=1B$B$\"=1B(B =1B$B$\"=1B(B?="
-"Subject: =?ISO-2022-JP?Q?=1B$B$\"=1B(B =1B$B$\"=1B(B?=")
-
-(decode
-"Subject: =?ISO-2022-JP?B?GyRCJCIbKEI=?= a =?ISO-8859-8?Q?=E0?="
-"Subject: \e$B$"\e(B a \e.H\eN`")\e*B
-
-(decode
-"Subject: =?ISO-8859-8?Q?=E0?= =?ISO-2022-JP?B?GyRCTm0bKEI=?="
-"Subject: \e.H\eN`\e$BNm\e(B")\e*B
-
-(decode
-"Subject: =?ISO-8859-8?Q?=E0_?= =?ISO-2022-JP?B?GyRCTm0bKEI=?="
-"Subject: \e.H\eN` \e$BNm\e(B")\e*B
-
-(decode
-"Subject: =?ISO-2022-JP-2?B?Gy5GG05DGyRCNFg/dBsoQg==?="
-"Subject: \e.F\eNC\e$B4X?t\e(B")\e*B
-
-(decode
-"Subject: =?ISO-8859-7?Q?=C3?= =?ISO-2022-JP?B?GyRCNFg/dBsoQg==?="
-"Subject: \e.F\eNC\e$B4X?t\e(B")\e*B
-
-(decode
-"Subject: =?Shift_JIS?B?gqA=?="
-"Subject: \e$B$"\e(B")
-
-(decode
-"Subject: =?EUC-JP?B?pKI=?="
-"Subject: \e$B$"\e(B")
-
-(decode
-"Subject: = =?ISO-2022-JP?B?GyRCJCIbKEI=?="
-"Subject: = \e$B$"\e(B")
-
-(decode
-"Subject: =? =?ISO-2022-JP?B?GyRCJCIbKEI=?="
-"Subject: =? \e$B$"\e(B")
-
-(decode
-"Subject: =?ISO-2022-JP =?ISO-2022-JP?B?GyRCJCIbKEI=?="
-"Subject: =?ISO-2022-JP \e$B$"\e(B")
-
-(decode
-"Subject: =?ISO-2022-JP? =?ISO-2022-JP?B?GyRCJCIbKEI=?="
-"Subject: =?ISO-2022-JP? \e$B$"\e(B")
-
-(decode
-"Subject: =?ISO-2022-JP?B =?ISO-2022-JP?B?GyRCJCIbKEI=?="
-"Subject: =?ISO-2022-JP?B \e$B$"\e(B")
-
-(decode
-"Subject: =?ISO-2022-JP?B? =?ISO-2022-JP?B?GyRCJCIbKEI=?="
-"Subject: =?ISO-2022-JP?B? \e$B$"\e(B")
-
-(decode
-"Subject: =?ISO-2022-JP?B?GyRCJCIbKEI =?ISO-2022-JP?B?GyRCJCIbKEI=?="
-"Subject: =?ISO-2022-JP?B?GyRCJCIbKEI \e$B$"\e(B")
-
-(decode
-"Subject: =?ISO-2022-JP?B?GyRCJCIbKEI= =?ISO-2022-JP?B?GyRCJCIbKEI=?="
-"Subject: =?ISO-2022-JP?B?GyRCJCIbKEI= \e$B$"\e(B")
-
-(decode
-"Subject: =?ISO-2022-JP?B?GyRCJCIbKEI=? =?ISO-2022-JP?B?GyRCJCIbKEI=?="
-"Subject: =?ISO-2022-JP?B?GyRCJCIbKEI=? \e$B$"\e(B")
-
-(decode
-"Subject: =?ISO-2022-JP?B?GyRCJCIbKEI=?= =?ISO-2022-JP?B?GyRCJCIbKEI=?="
-"Subject: \e$B$"$"\e(B")
-
-(decode
-"Subject: ==?ISO-2022-JP?B?GyRCJCIbKEI=?="
-"Subject: ==?ISO-2022-JP?B?GyRCJCIbKEI=?=")
-
-(decode
-"Subject: =?ISO-2022-JP?B?GyRCJCIbKEI=?=="
-"Subject: =?ISO-2022-JP?B?GyRCJCIbKEI=?==")
-
-(decode
-"From: akr@jaist.ac.jp (\\=?ISO-2022-JP?B?GyRCJCIbKEI=?=)"
-"From: akr@jaist.ac.jp (\\=?ISO-2022-JP?B?GyRCJCIbKEI=?=)")
-
-(decode
-"=?ISO-2022-JP?B?GyRCJCIbKEI=?=: test"
-"=?ISO-2022-JP?B?GyRCJCIbKEI=?=: test")
-
-(decode
-"=?ISO-2022-JP?B?GyRCJCIbKEI=?=: test"
-"=?ISO-2022-JP?B?GyRCJCIbKEI=?=: test"
-'permit-sticked-special)
-
-;;; Section 3: Decoding melancholic inputs.
-
-(decode
-"From:=?ISO-2022-JP?B?GyRCJCIbKEI=?= <akr@jaist.ac.jp>"
-"From:\e$B$"\e(B <akr@jaist.ac.jp>")
-
-(decode
-"From: akr@jaist.ac.jp\r
- (=?ISO-2022-JP?B?GyRCJCIbKEI=?=\\a=?ISO-2022-JP?B?GyRCJCQbKEI=?=)"
-"From: akr@jaist.ac.jp (\e$B$"\e(B\\a\e$B$$\e(B)")
-
-(decode
-"From: (a)=?ISO-2022-JP?B?GyRCJCIbKEI=?= <akr@jaist.ac.jp>"
-"From: (a)=?ISO-2022-JP?B?GyRCJCIbKEI=?= <akr@jaist.ac.jp>")
-
-(decode
-"From: =?ISO-2022-JP?B?GyRCJCIbKEI=?=(b) <akr@jaist.ac.jp>"
-"From: =?ISO-2022-JP?B?GyRCJCIbKEI=?=(b) <akr@jaist.ac.jp>")
-
-(decode
-"From: (a)=?ISO-2022-JP?B?GyRCJCIbKEI=?=(b) <akr@jaist.ac.jp>"
-"From: (a)=?ISO-2022-JP?B?GyRCJCIbKEI=?=(b) <akr@jaist.ac.jp>")
-
-(decode
-"From: (a)=?ISO-2022-JP?B?GyRCJCIbKEI=?= <akr@jaist.ac.jp>"
-"From: (a)\e$B$"\e(B <akr@jaist.ac.jp>"
-'permit-sticked-comment)
-
-(decode
-"From: =?ISO-2022-JP?B?GyRCJCIbKEI=?=(b) <akr@jaist.ac.jp>"
-"From: \e$B$"\e(B(b) <akr@jaist.ac.jp>"
-'permit-sticked-comment)
-
-(decode
-"From: (a)=?ISO-2022-JP?B?GyRCJCIbKEI=?=(b) <akr@jaist.ac.jp>"
-"From: (a)\e$B$"\e(B(b) <akr@jaist.ac.jp>"
-'permit-sticked-comment)
-
-(decode
-"From: \"a\"=?ISO-2022-JP?B?GyRCJCIbKEI=?= <akr@jaist.ac.jp>"
-"From: \"a\"=?ISO-2022-JP?B?GyRCJCIbKEI=?= <akr@jaist.ac.jp>")
-
-(decode
-"From: =?ISO-2022-JP?B?GyRCJCIbKEI=?=\"b\" <akr@jaist.ac.jp>"
-"From: =?ISO-2022-JP?B?GyRCJCIbKEI=?=\"b\" <akr@jaist.ac.jp>")
-
-(decode
-"From: \"a\"=?ISO-2022-JP?B?GyRCJCIbKEI=?=\"b\" <akr@jaist.ac.jp>"
-"From: \"a\"=?ISO-2022-JP?B?GyRCJCIbKEI=?=\"b\" <akr@jaist.ac.jp>")
-
-(decode
-"From: =?ISO-2022-JP?B?GyRCJCIbKEI=?=(=?ISO-2022-JP?B?GyRCJCIbKEI=?=)\r
- <akr@jaist.ac.jp>"
-"From: \e$B$"\e(B(\e$B$"\e(B) <akr@jaist.ac.jp>"
-'permit-sticked-comment)
-
-(decode
-"To: =?ISO-2022-JP?B?GyRCJCIbKEI=?=<akr@jaist.ac.jp>"
-"To: =?ISO-2022-JP?B?GyRCJCIbKEI=?=<akr@jaist.ac.jp>")
-
-(decode
-"To: =?ISO-2022-JP?B?GyRCJCIbKEI=?=<akr@jaist.ac.jp>"
-"To: \e$B$"\e(B<akr@jaist.ac.jp>"
-'permit-sticked-special)
-
-(decode
-"To: <akr@jaist.ac.jp>,=?ISO-2022-JP?B?GyRCJCIbKEI=?=<akr@jaist.ac.jp>"
-"To: <akr@jaist.ac.jp>,=?ISO-2022-JP?B?GyRCJCIbKEI=?=<akr@jaist.ac.jp>")
-
-(decode
-"To: <akr@jaist.ac.jp>,=?ISO-2022-JP?B?GyRCJCIbKEI=?=<akr@jaist.ac.jp>"
-"To: <akr@jaist.ac.jp>,\e$B$"\e(B<akr@jaist.ac.jp>"
-'permit-sticked-special)
-
-(decode
-"To: akr@jaist.ac.jp,=?ISO-2022-JP?B?GyRCJCIbKEI=?=<akr@jaist.ac.jp>"
-"To: akr@jaist.ac.jp,=?ISO-2022-JP?B?GyRCJCIbKEI=?=<akr@jaist.ac.jp>")
-
-(decode
-"To: akr@jaist.ac.jp,=?ISO-2022-JP?B?GyRCJCIbKEI=?=<akr@jaist.ac.jp>"
-"To: akr@jaist.ac.jp,\e$B$"\e(B<akr@jaist.ac.jp>"
-'permit-sticked-special)
-
-(decode
-"To: =?ISO-2022-JP?B?GyRCJCIbKEI=?=:akr@jaist.ac.jp;"
-"To: =?ISO-2022-JP?B?GyRCJCIbKEI=?=:akr@jaist.ac.jp;")
-
-(decode
-"To: =?ISO-2022-JP?B?GyRCJCIbKEI=?=:akr@jaist.ac.jp;"
-"To: \e$B$"\e(B:akr@jaist.ac.jp;"
-'permit-sticked-special)
-
-(decode
-"To: =?ISO-2022-JP?B?GyRCJCIbKEI=?=:=?ISO-2022-JP?B?GyRCJCQbKEI=?=<akr@jaist.ac.jp>;"
-"To: =?ISO-2022-JP?B?GyRCJCIbKEI=?=:=?ISO-2022-JP?B?GyRCJCQbKEI=?=<akr@jaist.ac.jp>;")
-
-(decode
-"To: =?ISO-2022-JP?B?GyRCJCIbKEI=?=:=?ISO-2022-JP?B?GyRCJCQbKEI=?=<akr@jaist.ac.jp>;"
-"To: \e$B$"\e(B:\e$B$$\e(B<akr@jaist.ac.jp>;"
-'ignore-76bytes-limit 'permit-sticked-special)
-
-(decode
-"To: =?ISO-2022-JP?B?GyRCJCIbKEI=?=:=?ISO-2022-JP?B?GyRCJCQbKEI=?=<foo@bar>,=?ISO-2022-JP?B?GyRCJCYbKEI=?=<foo@bar>;,=?ISO-2022-JP?B?GyRCJCgbKEI=?=<foo@bar>"
-"To: =?ISO-2022-JP?B?GyRCJCIbKEI=?=:=?ISO-2022-JP?B?GyRCJCQbKEI=?=<foo@bar>,=?ISO-2022-JP?B?GyRCJCYbKEI=?=<foo@bar>;,=?ISO-2022-JP?B?GyRCJCgbKEI=?=<foo@bar>")
-
-(decode
-"To: =?ISO-2022-JP?B?GyRCJCIbKEI=?=:=?ISO-2022-JP?B?GyRCJCQbKEI=?=<foo@bar>,=?ISO-2022-JP?B?GyRCJCYbKEI=?=<foo@bar>;,=?ISO-2022-JP?B?GyRCJCgbKEI=?=<foo@bar>"
-"To: \e$B$"\e(B:\e$B$$\e(B<foo@bar>,\e$B$&\e(B<foo@bar>;,\e$B$(\e(B<foo@bar>"
-'ignore-76bytes-limit 'permit-sticked-special)
-
-(decode
-"Subject:=?ISO-2022-JP?B?GyRCJCIbKEI=?="
-"Subject:\e$B$"\e(B")
-
-;;; Section 4: Decoding invalid inputs.
-
-(decode
-"From: =?ISO-2022-JP?B?GyRCJCIbKEI=?==?ISO-2022-JP?B?GyRCJCQbKEI=?=\r
- <akr@jaist.ac.jp>"
-"From: =?ISO-2022-JP?B?GyRCJCIbKEI=?==?ISO-2022-JP?B?GyRCJCQbKEI=?= <akr@jaist.ac.jp>")
-
-(decode
-"From: akr@jaist.ac.jp\r
- (=?ISO-2022-JP?B?GyRCJCIbKEI=?=a=?ISO-2022-JP?B?GyRCJCQbKEI=?=)"
-"From: akr@jaist.ac.jp (=?ISO-2022-JP?B?GyRCJCIbKEI=?=a=?ISO-2022-JP?B?GyRCJCQbKEI=?=)")
-
-(decode
-"From: akr@jaist.ac.jp\r
- (=?ISO-2022-JP?B?GyRCJCIbKEI=?=(=?ISO-2022-JP?B?GyRCJCQbKEI=?=)=?ISO-2022-JP?B?GyRCJCYbKEI=?=)"
-"From: akr@jaist.ac.jp (=?ISO-2022-JP?B?GyRCJCIbKEI=?=(=?ISO-2022-JP?B?GyRCJCQbKEI=?=)=?ISO-2022-JP?B?GyRCJCYbKEI=?=)")
-
-(decode
-"From: akr@jaist.ac.jp\r
- (=?ISO-2022-JP?B?GyRCJCIbKEI=?=(=?ISO-2022-JP?B?GyRCJCQbKEI=?=)=?ISO-2022-JP?B?GyRCJCYbKEI=?=)"
-"From: akr@jaist.ac.jp (\e$B$"\e(B(\e$B$$\e(B)\e$B$&\e(B)"
-'ignore-76bytes-limit)
-
-(decode
-"Subject: =?=?ISO-2022-JP?B?GyRCJCIbKEI=?="
-"Subject: =?=?ISO-2022-JP?B?GyRCJCIbKEI=?=")
-
-(decode
-"Subject: =?ISO-2022-JP=?ISO-2022-JP?B?GyRCJCIbKEI=?="
-"Subject: =?ISO-2022-JP=?ISO-2022-JP?B?GyRCJCIbKEI=?=")
-
-(decode
-"Subject: =?ISO-2022-JP?=?ISO-2022-JP?B?GyRCJCIbKEI=?="
-"Subject: =?ISO-2022-JP?=?ISO-2022-JP?B?GyRCJCIbKEI=?=")
-
-(decode
-"Subject: =?ISO-2022-JP?B=?ISO-2022-JP?B?GyRCJCIbKEI=?="
-"Subject: =?ISO-2022-JP?B=?ISO-2022-JP?B?GyRCJCIbKEI=?=")
-
-(decode
-"Subject: =?ISO-2022-JP?B?=?ISO-2022-JP?B?GyRCJCIbKEI=?="
-"Subject: =?ISO-2022-JP?B?=?ISO-2022-JP?B?GyRCJCIbKEI=?=")
-
-(decode
-"Subject: =?ISO-2022-JP?B?GyRCJCIbKEI=?ISO-2022-JP?B?GyRCJCIbKEI=?="
-"Subject: =?ISO-2022-JP?B?GyRCJCIbKEI=?ISO-2022-JP?B?GyRCJCIbKEI=?=")
-
-(decode
-"Subject: =?ISO-2022-JP?B?GyRCJCIbKEI==?ISO-2022-JP?B?GyRCJCIbKEI=?="
-"Subject: =?ISO-2022-JP?B?GyRCJCIbKEI==?ISO-2022-JP?B?GyRCJCIbKEI=?=")
-
-(decode
-"Subject: =?ISO-2022-JP?B?GyRCJCIbKEI=?=?ISO-2022-JP?B?GyRCJCIbKEI=?="
-"Subject: =?ISO-2022-JP?B?GyRCJCIbKEI=?=?ISO-2022-JP?B?GyRCJCIbKEI=?=")
-
-(decode
-"Subject: =?ISO-2022-JP?B?GyRCJCIbKEI=?==?ISO-2022-JP?B?GyRCJCIbKEI=?="
-"Subject: =?ISO-2022-JP?B?GyRCJCIbKEI=?==?ISO-2022-JP?B?GyRCJCIbKEI=?=")
-
-(decode
-"Subject: =?ISO-2022-JP?B?GyRCJCIbKEI?="
-"Subject: =?ISO-2022-JP?B?GyRCJCIbKEI?=")
-
-(decode
-"Subject: =?ISO-2022-JP?B?GyRCNFg-dBsoQg==?="
-"Subject: =?ISO-2022-JP?B?GyRCNFg-dBsoQg==?=")
-
-(decode
-"Subject: =?ISO-2022-JP?B?GyRCJCIbKEI=?= =?= =?ISO-2022-JP?B?GyRCJCIbKEI=?="
-"Subject: \e$B$"\e(B=?=\e$B$"\e(B")
-
-;;; Section 5: Encoding proper inputs.
-
-(encode
-"From: \e$B$"\e(B <akr@jaist.ac.jp>"
-"From: =?ISO-2022-JP?B?GyRCJCIbKEI=?= <akr@jaist.ac.jp>")
-
-(encode
-"From: \e$B$"$$\e(B <akr@jaist.ac.jp>"
-"From: =?ISO-2022-JP?B?GyRCJCIkJBsoQg==?= <akr@jaist.ac.jp>")
-
-(encode
-"From: \e$B$"\e(B \e$B$$\e(B <akr@jaist.ac.jp>"
-"From: =?ISO-2022-JP?B?GyRCJCIbKEIgGyRCJCQbKEI=?= <akr@jaist.ac.jp>")
-
-(encode
-"From: \e.A\eN! \eN! <akr@jaist.ac.jp>"\e*B
-"From: =?ISO-8859-1?Q?=A1_=A1?= <akr@jaist.ac.jp>")
-
-(encode
-"From: \"\e$B$"\e(B(\e$B$"\e(B)\" <akr@jaist.ac.jp>"
-"From: =?ISO-2022-JP?B?GyRCJCIbKEIoGyRCJCIbKEIp?= <akr@jaist.ac.jp>")
-
-(encode
-"From: \"a\\\"b\e$B$"\e(Bc\\\\\" <akr@jaist.ac.jp>"
-"From: =?ISO-2022-JP?B?YSJiGyRCJCIbKEJjXA==?= <akr@jaist.ac.jp>")
-
-(encode
-"Subject: \e$B0$\e(B                                                                                                                          \e$BR_\e(B"
-"Subject: =?ISO-2022-JP?B?GyRCMCQbKEIgICAgICAgICAgICAgICAgICAgICAgICAgICAg?=\r
- =?US-ASCII?Q?____________________________________________________________?=\r
- =?ISO-2022-JP?B?ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIBskQlJfGyhC?=")
-
-(encode
-"Subject: \e$B0$\e(B                                                                                                                          \e$BR_\e(B"
-"Subject: =?ISO-2022-JP?B?GyQpQrCkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICDS3w=="
-'ignore-76bytes-limit 'ignore-75bytes-limit)
-
-(encode
-"From: \e.A\eN! <akr@jaist.ac.jp>"\e*B
-"From: =?ISO-8859-1?Q?=A1?= <akr@jaist.ac.jp>")
-
-(encode
-"From: \"abcdefghijklmnopqrst\e.A\eN!()\\\"\\\\\" <akr@jaist.ac.jp>"\e*B
-"From: =?ISO-8859-1?Q?abcdefghijklmnopqrst=A1=28=29=22=5C?= <akr@jaist.ac.jp>")
-
-(encode
-"From: akr@jaist.ac.jp (abcdefghijklmnopqrst\e.A\eN!\\(\\)\"\\\\)"\e*B
-"From: akr@jaist.ac.jp (=?ISO-8859-1?Q?abcdefghijklmnopqrst=A1=28=29\"=5C?=)")
-
-(encode
-"Subject: \e$B$"\e(B a \e.H\eN`"\e*B
-"Subject: =?ISO-2022-JP?B?GyRCJCIbKEI=?= a =?ISO-8859-8?Q?=E0?=")
-
-(encode
-"Subject: \e.H\eN`\e$BNm\e(B"\e*B
-"Subject: =?ISO-8859-8?Q?=E0?= =?ISO-2022-JP?B?GyRCTm0bKEI=?=")
-
-(encode
-"Subject: \e.H\eN` \e$BNm\e(B"\e*B
-'("Subject: =?ISO-8859-8?Q?=E0_?= =?ISO-2022-JP?B?GyRCTm0bKEI=?="
-  "Subject: =?ISO-8859-8?Q?=E0?= =?ISO-2022-JP?B?IBskQk5tGyhC?="))
-
-(encode
-"Subject: \e.F\eNC\e$B4X?t\e(B"\e*B
-'("Subject: =?ISO-8859-7?Q?=C3?= =?ISO-2022-JP?B?GyRCNFg/dBsoQg==?="
-  "Subject: =?ISO-2022-JP-2?B?Gy5GG05DGyRCNFg/dBsoQg==?="))
-
-(encode
-"From: aaaaaaaaaaaaaaaaaaaaa(\e$B$"$$\e(B)aaaaaaaaaaaaaaaaaaaa <akr@jaist.ac.jp>"
-"From: aaaaaaaaaaaaaaaaaaaaa(=?ISO-2022-JP?B?GyRCJCIbKEI=?=\r
- =?ISO-2022-JP?B?GyRCJCQbKEI=?=)aaaaaaaaaaaaaaaaaaaa <akr@jaist.ac.jp>")
-
-(encode
-"From: aaaaaaaaaaaaaaaaaaaaa (\e$B$"$$\e(B)aaaaaaaaaaaaaaaaaaaa <akr@jaist.ac.jp>"
-'("From: aaaaaaaaaaaaaaaaaaaaa
- (=?ISO-2022-JP?B?GyRCJCIkJBsoQg==?=)aaaaaaaaaaaaaaaaaaaa <akr@jaist.ac.jp>"
-  "From: aaaaaaaaaaaaaaaaaaaaa (=?ISO-2022-JP?B?GyRCJCIbKEI=?=
- =?ISO-2022-JP?B?GyRCJCQbKEI=?=)aaaaaaaaaaaaaaaaaaaa <akr@jaist.ac.jp>"))
-
-(encode
-"From: aaaaaaaaaaaaaaaaaaaaa( \e$B$"$$\e(B)aaaaaaaaaaaaaaaaaaaa <akr@jaist.ac.jp>"
-'("From: aaaaaaaaaaaaaaaaaaaaa(
- =?ISO-2022-JP?B?GyRCJCIkJBsoQg==?=)aaaaaaaaaaaaaaaaaaaa <akr@jaist.ac.jp>"
-  "From: aaaaaaaaaaaaaaaaaaaaa( =?ISO-2022-JP?B?GyRCJCIbKEI=?=
- =?ISO-2022-JP?B?GyRCJCQbKEI=?=)aaaaaaaaaaaaaaaaaaaa <akr@jaist.ac.jp>"))
-
-(encode
-"From: aaaaaaaaaaaaaaaaaaaaa(\e$B$"$$\e(B )aaaaaaaaaaaaaaaaaaaa <akr@jaist.ac.jp>"
-'("From: aaaaaaaaaaaaaaaaaaaaa(=?ISO-2022-JP?B?GyRCJCIkJBsoQg==?=
- )aaaaaaaaaaaaaaaaaaaa <akr@jaist.ac.jp>"
-  "From: aaaaaaaaaaaaaaaaaaaaa(=?ISO-2022-JP?B?GyRCJCIbKEI=?=
- =?ISO-2022-JP?B?GyRCJCQbKEI=?= )aaaaaaaaaaaaaaaaaaaa <akr@jaist.ac.jp>"))
-
-(encode
-"From: aaaaaaaaaaaaaaaaaaaaa(\e$B$"$$\e(B) aaaaaaaaaaaaaaaaaaaa <akr@jaist.ac.jp>"
-"From: aaaaaaaaaaaaaaaaaaaaa(=?ISO-2022-JP?B?GyRCJCIkJBsoQg==?=)\r
- aaaaaaaaaaaaaaaaaaaa <akr@jaist.ac.jp>")
-
-(encode
-"From: aaaaaaaaaaaaaaaaaaaaa(\e$B$"\e(B \e$B$$\e(B)aaaaaaaaaaaaaaaaaaaa <akr@jaist.ac.jp>"
-"From: aaaaaaaaaaaaaaaaaaaaa(=?ISO-2022-JP?B?GyRCJCIbKEIgCg==?=\r
- =?ISO-2022-JP?B?GyRCJCQbKEI=?=)aaaaaaaaaaaaaaaaaaaa <akr@jaist.ac.jp>")
-
-(encode
-"From: (\e$B$"\e(B)aaaaaaaaaaaaaaaaaaaa <akr@jaist.ac.jp>"
-"From: (=?ISO-2022-JP?B?GyRCJCIbKEI=?=)aaaaaaaaaaaaaaaaaaaa <akr@jaist.ac.jp>")
-
-(encode
-"From: (\e$B$"\e(B)aaaaaaaaaaaaaaaaaaaaa <akr@jaist.ac.jp>"
-"From: (=?ISO-2022-JP?B?GyRCJCIbKEI=?=)aaaaaaaaaaaaaaaaaaaaa\r
- <akr@jaist.ac.jp>")
-
-(encode
-"From: (\e$B$"\e(B)aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa <akr@jaist.ac.jp>"
-"From: (=?ISO-2022-JP?B?GyRCJCIbKEI=?=)aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa\r
- <akr@jaist.ac.jp>")
-
-(encode
-"From: (\e$B$"\e(B)aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa <akr@jaist.ac.jp>"
-"From:\r
- (=?ISO-2022-JP?B?GyRCJCIbKEI=?=)aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa\r
- <akr@jaist.ac.jp>")
-
-(encode
-"From: (\e$B$"\e(B)aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa <akr@jaist.ac.jp>"
-"From:\r
- (=?ISO-2022-JP?B?GyRCJCIbKEI=?=)aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa\r
- <akr@jaist.ac.jp>")
-
-(encode
-"From: (\e$B$"\e(B)aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa <akr@jaist.ac.jp>"
-"From: (=?ISO-2022-JP?B?GyRCJCIbKEI=?=\r
- =?ISO-2022-JP?B?GyhC?=)aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa\r
- <akr@jaist.ac.jp>"
-'zero-characters-encoded-word-hack)
-
-(encode
-"From: (\e$B$"\e(B)aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa <akr@jaist.ac.jp>"
-"From: (=?ISO-2022-JP?B?GyRCJCIbKEI=?=\r
- =?ISO-2022-JP?B?GyhC?=)aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa\r
- <akr@jaist.ac.jp>"
-'zero-characters-encoded-word-hack)
-
-(encode
-"From: (\e$B$"\e(B)aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa <akr@jaist.ac.jp>"
-"From: (=?ISO-2022-JP?B?GyRCJCIbKEI=?=)\r
- aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa <akr@jaist.ac.jp>"
-'separate-sticked-tokens-for-fold)
-
-(encode
-"From: (\e$B$"\e(B)aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa <akr@jaist.ac.jp>"
-"From: (=?ISO-2022-JP?B?GyRCJCIbKEI=?=)=?US-ASCII?Q?aaaaaaaaaaaaaaaaaaaaaaa?=\r
- =?US-ASCII?Q?aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa?= <akr@jaist.ac.jp>"
-'encode-long-ascii-string-for-fold 'permit-sticked-special)
-
-(encode
-"From: (\e$B$"\e(B)aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa <akr@jaist.ac.jp>"
-"From: (=?ISO-2022-JP?B?GyRCJCIbKEI=?=)aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa\r
- aaaaaaaaaaaaaaaa <akr@jaist.ac.jp>"
-'divide-atom-for-fold)
-
-(encode
-"From: (\e$B$"\e(B)aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa <akr@jaist.ac.jp>"
-'("From: (=?ISO-2022-JP?B?GyRCJCIbKEI=?=)aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa <akr@jaist.ac.jp>"
-  "From: (=?ISO-2022-JP?B?GyRCJCIbKEI=?=)aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
- <akr@jaist.ac.jp>")
-'ignore-76bytes-limit)
-
-(encode
-"From: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa(\e$B$"\e(B)aa <akr@jaist.ac.jp>"
-"From: =?US-ASCII?Q?aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa?=\r
- =?US-ASCII?Q?a?=(=?ISO-2022-JP?B?GyRCJCIbKEI=?=)aa <akr@jaist.ac.jp>"
-'encode-long-ascii-string-for-fold)
-
-(encode
-"From: \e$B$"\e(B aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa(\e$B$"\e(B)aa <akr@jaist.ac.jp>"
-"From: =?ISO-2022-JP?B?GyRCJCIbKEIgYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYQ==?=\r
- =?US-ASCII?Q?aaaaaaaaaaaaaaa?=(=?ISO-2022-JP?B?GyRCJCIbKEI=?=)aa"
-'encode-long-ascii-string-for-fold)
-
-(encode
-"From: (\e$B$"\e(B) <akr@jaist.ac.jp>"
-"From: (=?ISO-2022-JP?B?GyRCJCIbKEI=?=) <akr@jaist.ac.jp>")
-
-(encode
-"From: ((((((((((((((((((((((((((((((((((((((((\e$B$"\e(B)))))))))))))))))))))))))))))))))))))))) <akr@jaist.ac.jp>"
-"From: ((((((((((((((((((((((((((((((((((((((((=?ISO-2022-JP?B?GyRCJCIbKEI=?=\r
- =?ISO-2022-JP?B?GyhC?=))))))))))))))))))))))))))))))))))))))))\r
- <akr@jaist.ac.jp>"
-'zero-characters-encoded-word-hack)
-
-(encode
-"From: (((((((((((((((((((((((((((((((((((((((((\e$B$"\e(B))))))))))))))))))))))))))))))))))))))))) <akr@jaist.ac.jp>"
-"From: (((((((((((((((((((((((((((((((((((((((((=?ISO-2022-JP?B?GyhC?=\r
- =?ISO-2022-JP?B?GyRCJCIbKEI=?=)))))))))))))))))))))))))))))))))))))))))\r
- <akr@jaist.ac.jp>"
-'zero-characters-encoded-word-hack)
-
-(encode
-"From: ((((((((((((((((((((((((((((((((((((((((((((((\e$B$"\e(B)))))))))))))))))))))))))))))))))))))))))))))) <akr@jaist.ac.jp>"
-"From: ((((((((((((((((((((((((((((((((((((((((((((((=?ISO-2022-JP?B?GyhC?=\r
- =?ISO-2022-JP?B?GyRCJCIbKEI=?=))))))))))))))))))))))))))))))))))))))))))))))\r
- <akr@jaist.ac.jp>"
-'zero-characters-encoded-word-hack)
-
-(encode
-"From: (((((((((((((((((((((((((((((((((((((((((((((((\e$B$"\e(B))))))))))))))))))))))))))))))))))))))))))))))) <akr@jaist.ac.jp>"
-"From: (((((((((((((((((((((((((((((((((((((((((((((((=?ISO-2022-JP?B?GyhC?=\r
- =?ISO-2022-JP?B?GyRCJCIbKEI=?=\r
- =?ISO-2022-JP?B?GyhC?=)))))))))))))))))))))))))))))))))))))))))))))))\r
- <akr@jaist.ac.jp>"
-'zero-characters-encoded-word-hack)
-
-(encode
-"From: ((((((((((((((((((((((((((((((((((((((((((((((((\e$B$"\e(B)))))))))))))))))))))))))))))))))))))))))))))))) <akr@jaist.ac.jp>"
-"From:\r
- ((((((((((((((((((((((((((((((((((((((((((((((((=?ISO-2022-JP?B?GyhC?=\r
- =?ISO-2022-JP?B?GyRCJCIbKEI=?=\r
- =?ISO-2022-JP?B?GyhC?=))))))))))))))))))))))))))))))))))))))))))))))))\r
- <akr@jaist.ac.jp>"
-'zero-characters-encoded-word-hack)
-
-(encode
-"From: ((((((((((((((((((((((((((((((((((((((((((((((((((((((\e$B$"\e(B)))))))))))))))))))))))))))))))))))))))))))))))))))))) <akr@jaist.ac.jp>"
-"From:\r
- ((((((((((((((((((((((((((((((((((((((((((((((((((((((=?ISO-2022-JP?B?GyhC?=\r
- =?ISO-2022-JP?B?GyRCJCIbKEI=?=\r
- =?ISO-2022-JP?B?GyhC?=))))))))))))))))))))))))))))))))))))))))))))))))))))))\r
- <akr@jaist.ac.jp>"
-'zero-characters-encoded-word-hack)
-
-(encode
-"From: (((((((((((((((((((((((((((((((((((((((((((\e$B$"\e(B))))))))))))))))))))))))))))))))))))))))))) <akr@jaist.ac.jp>"
-"From:\r
- ((((((((((((((((((((((((((((((((((((((((((((((((((((((=?ISO-2022-JP?B?GyhC?=\r
- =?ISO-2022-JP?B?GyRCJCIbKEI=?=\r
- =?ISO-2022-JP?B?GyhC?=))))))))))))))))))))))))))))))))))))))))))))))))))))))\r
- <akr@jaist.ac.jp>"
-'zero-characters-encoded-word-hack)
-
-(encode
-"From: (((((((((((((((((((((((((((((((((((((((((((((((((((((((\e$B$"\e(B))))))))))))))))))))))))))))))))))))))))))))))))))))))) <akr@jaist.ac.jp>"
-"From:\r
- ((((((((((((((((((((((((((((((((((((((((((((((((((((((=?ISO-2022-JP?B?GyhC?=\r
- =?ISO-2022-JP?B?GyhC?=(=?ISO-2022-JP?B?GyRCJCIbKEI=?=)=?ISO-2022-JP?B?GyhC?=\r
- =?ISO-2022-JP?B?GyhC?=))))))))))))))))))))))))))))))))))))))))))))))))))))))\r
- <akr@jaist.ac.jp>"
-'zero-characters-encoded-word-hack)
-
-(encode
-"From: ((((((((((((((((((((((((((((((((((((((((((((((((((((((((\e$B$"\e(B)))))))))))))))))))))))))))))))))))))))))))))))))))))))) <akr@jaist.ac.jp>"
-"From:\r
- ((((((((((((((((((((((((((((((((((((((((((((((((((((((=?ISO-2022-JP?B?GyhC?=\r
- =?ISO-2022-JP?B?GyhC?=((=?ISO-2022-JP?B?GyRCJCIbKEI=?=\r
- =?ISO-2022-JP?B?GyhC?=))))))))))))))))))))))))))))))))=?ISO-2022-JP?B?GyhC?=\r
- =?ISO-2022-JP?B?GyhC?=))))))))))))))))))))))))\r
- <akr@jaist.ac.jp>"
-'zero-characters-encoded-word-hack)
-
-(encode
-"From: ()(\e$B$"\e(B)() <akr@jaist.ac.jp>"
-"From: ()(=?ISO-2022-JP?B?GyRCJCIbKEI=?=)() <akr@jaist.ac.jp>")
-
-(encode
-"From: (\e$B$"\e(B)()()()()()()()()()()()()()()()()()()() <akr@jaist.ac.jp>"
-"From: (=?ISO-2022-JP?B?GyRCJCIbKEI=?=)()()()()()()()()()()()()()()()()()()()\r
-  <akr@jaist.ac.jp>")
-
-(encode
-"From: (\e$B$"\e(B)()()()()()()()()()()()()()()()()()()()()()() <akr@jaist.ac.jp>"
-"From:\r
- (=?ISO-2022-JP?B?GyRCJCIbKEI=?=)()()()()()()()()()()()()()()()()()()()()()()\r
-  <akr@jaist.ac.jp>")
-
-(encode
-"From: (\e$B$"\e(B)()()()()()()()()()()()()()()()()()()()()()()() <akr@jaist.ac.jp>"
-"From: (=?ISO-2022-JP?B?GyRCJCIbKEI=?=\r
- =?ISO-2022-JP?B?GyhC?=)()()()()()()()()()()()()()()()()()()()()()()()\r
-  <akr@jaist.ac.jp>"
-'zero-characters-encoded-word-hack)
-
-(encode
-"From: (\e$B$"\e(B)()()()()()()()()()()()()()()()()()()()()()()()()()()() <akr@jaist.ac.jp>"
-"From: (=?ISO-2022-JP?B?GyRCJCIbKEI=?=\r
- =?ISO-2022-JP?B?GyhC?=)()()()()()()()()()()()()()()()(=?ISO-2022-JP?B?GyhC?=\r
- =?ISO-2022-JP?B?GyhC?=)()()()()()()()()()()() <akr@jaist.ac.jp>"
-'zero-characters-encoded-word-hack)
-
-(encode
-"To: l@d (\e$B$"\e(B aaa)(\e$B$"\e(B)"
-"To: l@d (=?ISO-2022-JP?B?GyRCJCIbKEI=?= aaa)(=?ISO-2022-JP?B?GyRCJCIbKEI=?=)")
-
-(encode
-"To: l@d (\e$B$"\e(B aaaa)(\e$B$"\e(B)"
-"To: l@d (=?ISO-2022-JP?B?GyRCJCIbKEI=?=\r
- aaaa)(=?ISO-2022-JP?B?GyRCJCIbKEI=?=)")
-
-(encode
-"To: l@d (\e$B$"\e(B aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa)(\e$B$"\e(B)"
-"To: l@d (=?ISO-2022-JP?B?GyRCJCIbKEI=?=\r
- aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa)(=?ISO-2022-JP?B?GyRCJCIbKEI=?=)")
-
-(encode
-"To: l@d (\e$B$"\e(B aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa)(\e$B$"\e(B)"
-"To: l@d (=?ISO-2022-JP?B?GyRCJCIbKEIgYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWE=?=\r
- =?US-ASCII?Q?aaaaaaaaaaaaaaaaaa?=)(=?ISO-2022-JP?B?GyRCJCIbKEI=?=)"
-'encode-long-ascii-string-for-fold)
-
-(encode
-"To: l@d (\e$B$"\e(B aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa()\e$B$"\e(B)"
-"To: l@d (=?ISO-2022-JP?B?GyRCJCIbKEIgYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWE=?=\r
- =?US-ASCII?Q?aaaaaaaaaaaaaaaaaa?=()=?ISO-2022-JP?B?GyRCJCIbKEI=?=)"
-'encode-long-ascii-string-for-fold)
-
-(encode
-"To: l@d (\e$B$"\e(B aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa \e$B$"\e(B)(\e$B$"\e(B)"
-"To: l@d (=?ISO-2022-JP?B?GyRCJCIbKEI=?= aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa\r
- =?ISO-2022-JP?B?GyRCJCIbKEI=?=)(=?ISO-2022-JP?B?GyRCJCIbKEI=?=)")
-
-(encode
-"To: l@d (\e$B$"\e(B aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa \e$B$"\e(B)(\e$B$"\e(B)"
-"To: l@d (=?ISO-2022-JP?B?GyRCJCIbKEI=?=\r
- aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa\r
- =?ISO-2022-JP?B?GyRCJCIbKEI=?=)(=?ISO-2022-JP?B?GyRCJCIbKEI=?=)")
-
-;----------------------------------------------------------------------------
-
-;;; Section 6: Encoding melancholic inputs.
-
-(encode
-"From: akr@jaist.ac.jp (\e$B$"\e(B(\e$B$$\e(B)\e$B$&\e(B)"
-"From: akr@jaist.ac.jp\r
- (=?ISO-2022-JP?B?GyRCJCIbKEI=?=(=?ISO-2022-JP?B?GyRCJCQbKEI=?=)=?ISO-2022-JP?B?GyRCJCYbKEI=?=)"
-'ignore-76bytes-limit)
-
-(encode
-"From: akr@jaist.ac.jp (\e$B$"\e(B(\e$B$$\e(B)\e$B$&\e(B)"
-"From: akr@jaist.ac.jp (=?ISO-2022-JP?B?GyRCJCIbKEI=?=\r
- =?ISO-2022-JP?B?GyhC?=(=?ISO-2022-JP?B?GyRCJCQbKEI=?=\r
- =?ISO-2022-JP?B?GyhC?=)=?ISO-2022-JP?B?GyRCJCYbKEI=?=)"
-'zero-characters-encoded-word-hack)
-
-(encode
-"From: \e$B$"\e(B(\e$B$"\e(B) <akr@jaist.ac.jp>"
-"From: =?ISO-2022-JP?B?GyRCJCIbKEIoGyRCJCIbKEIp?= <akr@jaist.ac.jp>"
-'encode-sticked-comment-as-atom)
-
-(encode
-"From: \e$B$"\e(B(\e$B$"\e(B) <akr@jaist.ac.jp>"
-"From: =?ISO-2022-JP?B?GyRCJCIbKEI=?=(=?ISO-2022-JP?B?GyRCJCIbKEI=?=)\r
- <akr@jaist.ac.jp>"
-'permit-sticked-comment)
-
-(encode
-"From: \e$B$"\e(B(\e$B$"\e(B) <akr@jaist.ac.jp>"
-"From: =?ISO-2022-JP?B?GyRCJCIbKEI=?= (=?ISO-2022-JP?B?GyRCJCIbKEI=?=)\r
- <akr@jaist.ac.jp>"
-'separate-sticked-comment)
-
-(encode
-"To: \e$B$"\e(B<akr@jaist.ac.jp>"
-"To: =?ISO-2022-JP?B?GyRCJCIbKEI=?=<akr@jaist.ac.jp>"
-'permit-sticked-special)
-
-(encode
-"To: \e$B$"\e(B<akr@jaist.ac.jp>"
-"To: =?ISO-2022-JP?B?GyRCJCIbKEI=?= <akr@jaist.ac.jp>"
-'separate-sticked-special)
-
-(encode
-"To: <akr@jaist.ac.jp>,\e$B$"\e(B<akr@jaist.ac.jp>"
-"To: <akr@jaist.ac.jp>,=?ISO-2022-JP?B?GyRCJCIbKEI=?=<akr@jaist.ac.jp>"
-'permit-sticked-special)
-
-(encode
-"To: <akr@jaist.ac.jp>,\e$B$"\e(B<akr@jaist.ac.jp>"
-"To: <akr@jaist.ac.jp>, =?ISO-2022-JP?B?GyRCJCIbKEI=?= <akr@jaist.ac.jp>"
-'separate-sticked-special)
-
-(encode
-"To: akr@jaist.ac.jp,\e$B$"\e(B<akr@jaist.ac.jp>"
-"To: akr@jaist.ac.jp,=?ISO-2022-JP?B?GyRCJCIbKEI=?=<akr@jaist.ac.jp>"
-'permit-sticked-special)
-
-(encode
-"To: akr@jaist.ac.jp,\e$B$"\e(B<akr@jaist.ac.jp>"
-"To: akr@jaist.ac.jp, =?ISO-2022-JP?B?GyRCJCIbKEI=?= <akr@jaist.ac.jp>"
-'separate-sticked-special)
-
-(encode
-"To: \e$B$"\e(B:akr@jaist.ac.jp;"
-"To: =?ISO-2022-JP?B?GyRCJCIbKEI=?=:akr@jaist.ac.jp;"
-'permit-sticked-special)
-
-(encode
-"To: \e$B$"\e(B:akr@jaist.ac.jp;"
-"To: =?ISO-2022-JP?B?GyRCJCIbKEI=?= :akr@jaist.ac.jp;"
-'separate-sticked-special)
-
-(encode
-"To: \e$B$"\e(B:\e$B$$\e(B<akr@jaist.ac.jp>;"
-"To: =?ISO-2022-JP?B?GyRCJCIbKEI=?=:=?ISO-2022-JP?B?GyRCJCQbKEI=?=<akr@jaist.ac.jp>;"
-'ignore-76bytes-limit 'permit-sticked-special)
-
-(encode
-"To: \e$B$"\e(B:\e$B$$\e(B<akr@jaist.ac.jp>;"
-"To: =?ISO-2022-JP?B?GyRCJCIbKEI=?=:=?ISO-2022-JP?B?GyRCJCQbKEI=?=\r
- =?ISO-2022-JP?B?GyhC?=<akr@jaist.ac.jp>;"
-'zero-characters-encoded-word-hack 'permit-sticked-special)
-
-(encode
-"To: \e$B$"\e(B:\e$B$$\e(B<akr@jaist.ac.jp>;"
-"To: =?ISO-2022-JP?B?GyRCJCIbKEI=?= : =?ISO-2022-JP?B?GyRCJCQbKEI=?=\r
- <akr@jaist.ac.jp>;"
-'separate-sticked-special)
-
-(encode
-"To: \e$B$"\e(B:\e$B$$\e(B<foo@bar>,\e$B$&\e(B<foo@bar>;,\e$B$(\e(B<foo@bar>"
-"To: =?ISO-2022-JP?B?GyRCJCIbKEI=?=:=?ISO-2022-JP?B?GyRCJCQbKEI=?=<foo@bar>,=?ISO-2022-JP?B?GyRCJCYbKEI=?=<foo@bar>;,=?ISO-2022-JP?B?GyRCJCgbKEI=?=<foo@bar>"
-'ignore-76bytes-limit 'permit-sticked-special)
-
-(encode
-"To: \e$B$"\e(B:\e$B$$\e(B<foo@bar>,\e$B$&\e(B<foo@bar>;,\e$B$(\e(B<foo@bar>"
-"To: =?ISO-2022-JP?B?GyRCJCIbKEI=?=:=?ISO-2022-JP?B?GyRCJCQbKEI=?=\r
- =?ISO-2022-JP?B?GyhC?=<foo@bar>,=?ISO-2022-JP?B?GyRCJCYbKEI=?=\r
- =?ISO-2022-JP?B?GyhC?=<foo@bar>;,=?ISO-2022-JP?B?GyRCJCgbKEI=?=<foo@bar>"
-'zero-characters-encoded-word-hack 'permit-sticked-special)
-
-(encode
-"To: \e$B$"\e(B:\e$B$$\e(B<foo@bar>,\e$B$&\e(B<foo@bar>;,\e$B$(\e(B<foo@bar>"
-"To: =?ISO-2022-JP?B?GyRCJCIbKEI=?= : =?ISO-2022-JP?B?GyRCJCQbKEI=?=\r
- <foo@bar>, =?ISO-2022-JP?B?GyRCJCYbKEI=?= <foo@bar>;,\r
- =?ISO-2022-JP?B?GyRCJCgbKEI=?= <foo@bar>"
-'separate-sticked-special)
-
-;;; Section 7: Using embedded-encoded-words.
-;;
-;; embedded-encoded-word \e$BI=8=\e(B
-;; 
-;; RFC2047 \e$B$N%G%3!<%@$O@x:_E*$K\e(B(\e$B%G%3!<%I7k2L$G$J$/\e(B) encoded-word \e$B$=$N$b$N$r\e(B
-;; \e$B=PNO$7$J$1$l$P$J$i$J$$$3$H$,$"$k!#\e(B
-;;
-;; 1. \e$BCN$i$J$$\e(B charset \e$B$b$7$/$O\e(B encoding \e$B$,;XDj$5$l$F$$$?$H$-!#\e(B
-;;  =?unknown-charset?known-encoding?some-encoded-text?=
-;;  =?known-charset?unknown-encoding?some-encoded-text?=
-;;  =?unknown-charset?unknown-encoding?some-encoded-text?=
-;;
-;; 2. \e$B%G%3!<%I$G$-$F$bFbMF$,7uF]$9$.$k$H$-!#\e(B
-;;  Non ASCII \e$B3HD%\e(B RFC822 \e$B$NCf$K\e(B =?US-ASCII?Q?=0D=0A=0D=0A?= \e$B$N%G%3!<%I\e(B
-;; \e$B7k2L$rKd$a9~$`$N$O4m81$9$.$k!#\e(B
-;;
-;; \e$B$^$?!"%G%3!<%@$O\e(B encoded-word \e$B$N$h$&$K$_$($k%G%3!<%I7k2L$r=PNO$7$J$1\e(B
-;; \e$B$l$P$J$i$J$$$3$H$b$"$k!#\e(B
-;;
-;;  =?US-ASCII?Q?=3D=3FUS-ASCII=3FQ=3Ftext=3F=3D?=
-;;
-;; \e$B%G%3!<%@$,C1$J$kJ8;zNs$r=PNO$9$k>l9g!"C1=c$K$O\e(B encoded-word \e$B$=$N$b$N$H\e(B
-;; encoded-word \e$B$N$h$&$K$_$($kJ8;zNs$r6hJL$G$-$J$$!#\e(B
-;; \e$B$3$3$G$OJ8;zNsCf$G$=$l$i$r3N<B$K6hJL$7$FI=8=$9$kJ}K!$r<($9!#\e(B
-;;
-;; rule 1: \e$BJ8;zNsCf$G\e(B =?charset?encoding?text?= \e$B$H$$$&%Q%?!<%s$K\e(B
-;;  \e$B%^%C%A$7$J$$ItJ,$O$=$NItJ,$N$^$^$NFbMF$rI=$9!#\e(B
-;; 
-;; rule 2: \e$BJ8;zNsCf$G\e(B =?charset?encoding?text?= \e$B$H$$$&%Q%?!<%s$K\e(B
-;;  \e$B%^%C%A$9$kItJ,$O\e(B charset \e$B$N@hF,$K\e(B + \e$B$,$$$/$DIU$$$F$$$k$+$GFbMF$N\e(B
-;;  \e$B2r<a$rJQ$($k!#\e(B
-;;
-;;  3\e$B$rK!$H$7$F\e(B0\e$B$HEy$7$$>l9g\e(B(0, 3, 6, ...): charset \e$B$N@hF,$N\e(B + \e$B$N?t$r\e(B
-;;    1/3 \e$B$K$7$?J8;zNs\e(B
-;;  3\e$B$rK!$H$7$F\e(B1\e$B$HEy$7$$>l9g\e(B(1, 4, 7, ...): charset \e$B$N@hF,$N\e(B + \e$B$N?t$r\e(B
-;;    1/3 (\e$B>.?tE@0J2<@Z<N$F\e(B)\e$B$K$7$F!"$=$l$r\e(B encoded-word \e$B$H;W$C$F%G\e(B
-;;    \e$B%3!<%I$7$?J8;zNs!#\e(B
-;;  3\e$B$rK!$H$7$F\e(B2\e$B$HEy$7$$>l9g\e(B(2, 5, 8, ...): charset \e$B$N@hF,$N\e(B + \e$B$N?t$r\e(B
-;;    1/3 (\e$B>.?tE@0J2<@Z<N$F\e(B)\e$B$K$7$F!":G8e$N\e(B = \e$B$r<h$j=|$$$?J8;zNs\e(B
-;;
-;;  =?c?e?t?=?c?e?t?=... \e$B$H$$$&$h$&$K!"%Q%?!<%s$N@hF,$N\e(B = \e$B$H\e(B \e$BKvHx$N\e(B = 
-;;  \e$B=E$J$k>l9g!"4q?tHVL\$N$b$N$KBP$7$F>e5-$N%k!<%k$rE,MQ$9$k!#\e(B
-;;
-;; NOTE: + \e$B$r\e(B embedded-encoded-word \e$BI=8=$N\e(B quote \e$BJ8;z$H8F$V!#\e(B
-;;
-;; NOTE: \e$B8=;~E@\e(B(1998/07/19)\e$B$G\e(B IANA \e$B$K$O\e(B + \e$B$r4^$`\e(B charset \e$B$O\e(B
-;;  \e$BEPO?$5$l$F$$$J$$$N$G!"$=$l$i$N\e(B charset \e$B$r;H$C$?\e(B
-;;  encoded-word \e$B$rI=8=$9$k$K$O\e(B + \e$B$r\e(B 1\e$B$D$D$1$k$3$H$K$J$k!#\e(B
-;;
-;;  =?US-ASCII?Q?abcdef?= \e$B$H$$$&\e(Bencoded-word : =?+US-ASCII?Q?abcdef?=
-;;
-;;  =?US-ASCII?Q?abcdef?= \e$B$H$$$&J8;zNs\e(B       : =?US-ASCII?Q?abcdef?=
-;;  =?+US-ASCII?Q?abcdef?= \e$B$H$$$&J8;zNs\e(B      : =?+++US-ASCII?Q?abcdef?=
-;;  =?++US-ASCII?Q?abcdef?= \e$B$H$$$&J8;zNs\e(B     : =?++++++US-ASCII?Q?abcdef?=
-;;  =?+++US-ASCII?Q?abcdef?= \e$B$H$$$&J8;zNs\e(B    : =?+++++++++US-ASCII?Q?abcdef?=
-;;  =?US-ASCII+?Q?abcdef?= \e$B$H$$$&J8;zNs\e(B      : =?US-ASCII+?Q?abcdef?=
-;;  =?U+S-ASCII?Q?abcdef?= \e$B$H$$$&J8;zNs\e(B      : =?U+S-ASCII?Q?abcdef?=
-;;
-;;  =?US-ASCII?Q?abcdef? \e$B$H$$$&J8;zNs\e(B        : =?++US-ASCII?Q?abcdef?=
-;;  =?+US-ASCII?Q?abcdef? \e$B$H$$$&J8;zNs\e(B       : =?+++++US-ASCII?Q?abcdef?=
-;;  =?++US-ASCII?Q?abcdef? \e$B$H$$$&J8;zNs\e(B     : =?++++++++US-ASCII?Q?abcdef?=
-;;  =?+++US-ASCII?Q?abcdef? \e$B$H$$$&J8;zNs\e(B    : =?+++++++++++US-ASCII?Q?abcdef?=
-;;
-;; NOTE: encoded-word \e$B$K8+$($kJ8;zNs$G\e(B + \e$B$,\e(B 3\e$BG\A}$5$l$k$N$O\e(B charset \e$B$N\e(B
-;;  \e$B@hF,$@$1$G$"$j!"\e(Bencoding \e$B$d\e(B encoded-text \e$B$O$?$H$(\e(B + \e$B$,F~$C$F$$$F$b\e(B
-;;  \e$BJQ2=$7$J$$!#$^$?!"\e(Bcharset \e$BCf$G$b\e(B \e$B@hF,0J30$N\e(B + \e$B$OJQ2=$7$J$$!#\e(B
-;;
-;; NOTE: charset \e$B$H\e(B encoding \e$B$K$O\e(B = \e$B$O4^$^$l$J$$$N$G\e(B 1\e$BJ8;z0J>e=E$J$k$3\e(B
-;;  \e$B$H$O$J$$!#\e(B
-;;
-;; rule 3: \e$BJ8;zNsA4BN$NFbMF$O!"\e(Brule 1 \e$B$H\e(B rule 2 \e$B$G2r<a$7$?3FItJ,$N\e(B
-;;   \e$BJ8;zNs$rC1=c$KO"7k$7$?J8;zNs$H$9$k!#\e(B
-;;
-;; NOTE: RFC2047 \e$B$G$O\e(B encoded-word \e$B$,6uGr$G6h@Z$i$l$J$1$l$P$J$i$J$$$H$+!"\e(B
-;;  encoded-word \e$B$O\e(B 75bytes \e$B0J2<$G$J$1$l$P$J$i$J$$$H$+!"\e(B
-;;  encoded-word \e$B$,4^$^$l$k9T$O\e(B 76bytes \e$B0J2<$G$J$1$l$P$J$i$J$$$J$I$H$$$&\e(B
-;;  \e$B5,Ls$,$"$k$,!"\e(Bembedded-encoded-word \e$BI=8=$G$O$=$l$i$O:NMQ$7$J$$!#\e(B
-;;  \e$BC1=c$K\e(B encoded-word \e$BFbIt$NJ8K!$@$1$rMxMQ$9$k!#\e(B
-;;  (\e$BK\<AE*$K$O0[$J$kJ8K!$r:NMQ$9$k$3$H$b2DG=$G$"$k$,!"\e(BRFC2047 \e$B$K7I0U$r\e(B
-;;  \e$BI=$7$F\e(B encoded-word \e$B$NJ8K!$r:NMQ$9$k!#\e(B)
-;;
-;; NOTE: embedded-encoded-word \e$BI=8=$7$?J8;zNs$NO"7k$O0BA4$G$O$J$$!#\e(B
-;;  =?+US-ASCII?Q?ab \e$B$H\e(B cd?= \e$B$H$$$&\e(B embedded-encoded-word \e$BI=8=$7$?J8;zNs$O\e(B
-;;  \e$B$=$l$>$l$=$NJ8;zNs$=$N$b$N$rI=8=$9$k$,!"$=$l$i$rO"7k$7$?J8;zNs\e(B
-;;  =?+US-ASCII?Q?abcd?= \e$B$O\e(B abcd \e$B$H$$$&J8;zNs$rI=8=$9$k$3$H$K$J$j!"\e(B
-;;  \e$B$=$l$>$l$NFbMF$NO"7k$H$O$J$i$J$$!#\e(B
-;;
-;;  \e$B$3$l$O$H$/$K\e(B Non ASCII \e$B3HD%\e(B RFC822 \e$B$NCf$K\e(B embedded-encoded-word \e$BI=8=$r\e(B
-;;  \e$BKd$a9~$`$H$-$K5$$rIU$1$J$1$l$P$J$i$J$$!#\e(B(\e$BKd$a9~$s$@7k2L$O@5$7$$\e(B
-;;  embedded-encoded-word \e$BI=8=$H$O$J$i$J$$$+$bCN$l$J$$!#\e(B)
-
-(decode
-"Subject: =?Unknown-Charset?B?gqA=?="
-"Subject: =?+Unknown-Charset?B?gqA=?="
-'embedded-encoded-word)
-
-(decode
-"Subject: =?US-ASCII?G?H4sIACqUszUAA8tIzcnJBwCGphA2BQAAAA==?="
-"Subject: =?+US-ASCII?G?H4sIACqUszUAA8tIzcnJBwCGphA2BQAAAA==?="
-'embedded-encoded-word)
-
-(decode
-"Subject: =?US-ASCII?Unknown-Encoding?H4sIAGOUszUAAwtyczYyMDEHAEpvqpIHAAAA?="
-"Subject: =?+US-ASCII?Unknown-Encoding?H4sIAGOUszUAAwtyczYyMDEHAEpvqpIHAAAA?="
-'embedded-encoded-word)
-
-(decode
-"Subject: =?ISO-2022-JP?G?H4sIAGiTszUAA5NWcVIBAhMtaQ0nAGLSaeEMAAAA?=\r
- =?ISO-2022-JP?G?H4sIAH6TszUAA5NWcVIxV3FTyVbxldZwAgAuIikKDgAAAA==?="
-"Subject: =?+ISO-2022-JP?G?H4sIAGiTszUAA5NWcVIBAhMtaQ0nAGLSaeEMAAAA?==?+ISO-2022-JP?G?H4sIAH6TszUAA5NWcVIxV3FTyVbxldZwAgAuIikKDgAAAA==?="
-'embedded-encoded-word)
-
-(decode
-"Subject: =?Unknown-Charset?B?gqA=?= =?Unknown-Charset?B?gqA=?="
-"Subject: =?+Unknown-Charset?B?gqA=?==?+Unknown-Charset?B?gqA=?="
-'embedded-encoded-word)
-
-(decode
-"Subject: =?Unknown-Charset?B?gqA=?=  =?Unknown-Charset?B?gqA=?="
-"Subject: =?+Unknown-Charset?B?gqA=?==?+Unknown-Charset?B?gqA=?="
-'embedded-encoded-word)
-
-(decode
-"Subject: =?Unknown-Charset?B?gqA=?=\r
- =?Unknown-Charset?B?gqA=?="
-"Subject: =?+Unknown-Charset?B?gqA=?==?+Unknown-Charset?B?gqA=?="
-'embedded-encoded-word)
-
-(decode
-"Subject: =?Unknown-Charset?B?gqA=?=\r
-\t=?Unknown-Charset?B?gqA=?="
-"Subject: =?+Unknown-Charset?B?gqA=?==?+Unknown-Charset?B?gqA=?="
-'embedded-encoded-word)
-
-(decode
-"Subject: a=?Unknown-Charset?B?gqA=?="
-"Subject: a=?Unknown-Charset?B?gqA=?="
-'embedded-encoded-word)
-
-(decode
-"Subject: =?Unknown-Charset?B?gqA=?=b"
-"Subject: =?Unknown-Charset?B?gqA=?=b"
-'embedded-encoded-word)
-
-(decode
-"Subject: a=?Unknown-Charset?B?gqA=?=b"
-"Subject: a=?Unknown-Charset?B?gqA=?=b"
-'embedded-encoded-word)
-
-(decode
-"Subject: a =?Unknown-Charset?B?gqA=?= b"
-"Subject: a =?+Unknown-Charset?B?gqA=?= b"
-'embedded-encoded-word)
-
-(decode
-"Subject: =?ISO-2022-JP?B?DQoNCg==?="
-"Subject: =?+US-ASCII?Q?=0D=0A=0D=0A?="
-'embedded-encoded-word)
-
-(decode
-"Subject: =?US-ASCII?Q?a=0D=0A_b?="
-"Subject: a b"
-'embedded-encoded-word)
-
-(decode
-"Subject: =?US-ASCII?Q?a=0D=0Ab?="
-"Subject: a=?+US-ASCII?Q?=0D=0A?=b"
-'embedded-encoded-word)
-
-;;; Section 8: CR and LF.
-
-(decode
-"From: akr@jaist.ac.jp (\r\\\n)"
-"From: akr@jaist.ac.jp (\r\\\n)")
-
-(decode
-"From: akr@jaist.ac.jp (\r=?US-ASCII?Q?=0A?= =?US-ASCII?Q?a?=)"
-"From: akr@jaist.ac.jp (\r=?US-ASCII?Q?=0A?= a)")
-
-(decode
-"From: akr@jaist.ac.jp (\r=?US-ASCII?Q?=0A_?=)"
-"From: akr@jaist.ac.jp (\r=?US-ASCII?Q?=0A_?=)")
-
-(decode
-"From: akr@jaist.ac.jp (\r=?US-ASCII?Q?=0A=09?=)"
-"From: akr@jaist.ac.jp (\r=?US-ASCII?Q?=0A=09?=)")
-
-(decode
-"From: akr@jaist.ac.jp (\r=?US-ASCII?Q?=0A?= )"
-"From: akr@jaist.ac.jp (\r=?US-ASCII?Q?=0A?= )")
-
-(decode
-"From: akr@jaist.ac.jp (\r=?US-ASCII?Q?=0A?=\t)"
-"From: akr@jaist.ac.jp (\r=?US-ASCII?Q?=0A?=\t)")
-
-(decode
-"From: akr@jaist.ac.jp (\\\r\\\n)"
-"From: akr@jaist.ac.jp (\\\r\\\n)")
-
-(decode
-"From: akr@jaist.ac.jp (\\\r=?US-ASCII?Q?=0A?= =?US-ASCII?Q?a?=)"
-"From: akr@jaist.ac.jp (=?+US-ASCII?Q?=0D=0A?=a)"
-'embedded-encoded-word)
-
-(decode
-"From: akr@jaist.ac.jp (\\\r=?US-ASCII?Q?=0Aa?=)"
-"From: akr@jaist.ac.jp (=?+US-ASCII?Q?=0D=0A?=a)"
-'embedded-encoded-word)
-
-(decode
-"From: akr@jaist.ac.jp (\\\r=?US-ASCII?Q?=0A_?=)"
-"From: akr@jaist.ac.jp (\\ )")
-
-(decode
-"From: akr@jaist.ac.jp (\\\r=?US-ASCII?Q?=0A=09?=)"
-"From: akr@jaist.ac.jp (\\\t)")
-
-(decode
-"From: akr@jaist.ac.jp (\\\r=?US-ASCII?Q?=0A?= )"
-"From: akr@jaist.ac.jp (\\ )")
-
-(decode
-"From: akr@jaist.ac.jp (\\\r=?US-ASCII?Q?=0A?=\t)"
-"From: akr@jaist.ac.jp (\\\t)")
-
-(decode
-"From: akr@jaist.ac.jp (\\\r=?US-ASCII?Q?=0A?=\r
- =?US-ASCII?Q?=0D=0A?= =?US-ASCII?Q?a?=)"
-"From: akr@jaist.ac.jp (=?+US-ASCII?Q?=0D=0A=0D=0A?=a)"
-'embedded-encoded-word)
-
-(decode
-"From: akr@jaist.ac.jp (\\\r=?US-ASCII?Q?=0A?=\r
- =?US-ASCII?Q?=0D?=\\\n =?US-ASCII?Q?a?=)"
-"From: akr@jaist.ac.jp (=?+US-ASCII?Q?=0D=0A?=\r\\
- a)"
-'embedded-encoded-word)
-
-;;;end-test
-
-(report)
-
-;----------------------------------------------------------------------------
diff --git a/automata.el b/automata.el
deleted file mode 100644 (file)
index eac194f..0000000
+++ /dev/null
@@ -1,499 +0,0 @@
-
-(require 'digraph)
-(require 'natset)
-(provide 'automata)
-
-(defvar automata-never-fail (make-symbol "automata-never-fail"))
-(defvar automata-state-var (make-symbol "automata-state"))
-
-(defmacro automata (in-var start-tag &rest clauses)
-  (let* ((org-len (length clauses))
-        (org-graph (make-vector org-len nil))
-        (tag-to-org-alist nil)
-        forest org-to-forest forest-to-org
-        i j tmp trans)
-    (setq tmp clauses
-         i 0)
-    (while tmp
-      (setq tag-to-org-alist (cons (cons (caar tmp) i) tag-to-org-alist)
-           i (1+ i)
-           tmp (cdr tmp)))
-    (setq tmp clauses
-         i 0)
-    (while tmp
-      (setq trans (cddr (cdar tmp)))
-      (while trans
-       (setq j (cdr (assoc (cadr (car trans)) tag-to-org-alist)))
-       (if (not (member j (aref org-graph i)))
-           (aset org-graph i (cons j (aref org-graph i))))
-       (setq trans (cdr trans)))
-      (setq i (1+ i)
-           tmp (cdr tmp)))
-    ;;(error "%s" org-graph)
-    (setq tmp (digraph-split-as-forest org-graph)
-         forest (aref tmp 0)
-         org-to-forest (aref tmp 1)
-         forest-to-org (aref tmp 2))
-    (setq clauses
-         (mapcar
-          (lambda (c)
-            (let ((tag (car c))
-                  (action (cadr c))
-                  (fail (nth 2 c))
-                  (trs (nthcdr 3 c)))
-              (setq trs
-                    (mapcar
-                     (lambda (next)
-                       (list
-                        (apply
-                         'natset-union
-                         (mapcar
-                          (lambda (tr) (if (equal (cadr tr) next) (car tr) (natset-empty)))
-                          trs))
-                        next))
-                     (natset-enum (apply 'natset-single (mapcar 'cadr trs)))))
-              (cons tag (cons action (cons fail trs)))))
-          clauses))
-    `(let ((,automata-state-var ,(cdr (assoc start-tag tag-to-org-alist))))
-       ,@(automata-exp-seq
-         (automata-gen-state
-          in-var clauses
-          org-len
-          (list (cdr (assoc start-tag tag-to-org-alist)))
-          tag-to-org-alist
-          (aref org-to-forest (cdr (assoc start-tag tag-to-org-alist)))
-          forest org-to-forest forest-to-org)))))
-
-(defun automata-gen-state (in-var clauses
-                                 org-len
-                                 start-states
-                                 tag-to-org-alist
-                                 forest-state forest org-to-forest forest-to-org)
-  (let* ((org-states (aref forest-to-org forest-state))
-        (forest-states (digraph-descents forest forest-state))
-        (branch-length (+ (length org-states) (length forest-states)))
-        (branch-to-org
-         (vconcat
-          (mapcar 'list org-states)
-          (mapcar (lambda (forest-state)
-                    (aref forest-to-org forest-state))
-                  forest-states)))
-        (org-to-branch
-         (let ((org-to-branch (make-vector org-len nil))
-               (i 0) tmp)
-           (while (< i branch-length)
-             (setq tmp (aref branch-to-org i))
-             (while tmp
-               (aset org-to-branch (car tmp) i)
-               (setq tmp (cdr tmp)))
-             (setq i (1+ i)))
-           org-to-branch))
-        (branch-to-forest
-         (vconcat
-          (make-list (length org-states) nil)
-          forest-states))
-        (branch-state-range
-         (vconcat
-          (mapcar 'natset-single org-states)
-          (mapcar (lambda (forest-state)
-                    (apply 'natset-single
-                           (aref forest-to-org forest-state)))
-                  forest-states)))
-        (branch-descents
-         (vconcat
-          (mapcar (lambda (org-state)
-                    (let* ((c (nth org-state clauses))
-                           (trs (nthcdr 3 c)))
-                      (apply 'natset-union
-                             (mapcar (lambda (tr)
-                                       (natset-single
-                                        (cdr (assoc (cadr tr) tag-to-org-alist))))
-                                     trs))))
-                  org-states)
-          (mapcar (lambda (forest-state) ())
-                  forest-states)))
-        (all-descents (apply 'natset-union (append branch-descents ())))
-        (branch-ascents
-         (let* ((branch-ascents (make-vector branch-length 0))
-                (i 0) j)
-           (while (< i branch-length)
-             (setq j 0)
-             (while (< j branch-length)
-               (if (natset-has-intersection-p (aref branch-state-range i)
-                                              (aref branch-descents j))
-                   (aset branch-ascents i
-                         (1+ (aref branch-ascents i))))
-               (setq j (1+ j)))
-             (setq i (1+ i)))
-           branch-ascents))
-        (start-inline nil)
-        (branch-inline
-         (let* ((branch-inline (make-vector branch-length nil))
-                (start-ns (apply 'natset-single start-states))
-                (i 0))
-           (while (< i branch-length)
-             (if (natset-has-intersection-p (aref branch-state-range i) start-ns)
-                 (if (and (= (length start-states) 1)
-                          (= (aref branch-ascents i) 0))
-                     (progn
-                       (setq start-inline i)
-                       (aset branch-inline i t))
-                   nil)
-               (if (= (aref branch-ascents i) 1)
-                   (aset branch-inline i t)))
-             (setq i (1+ i)))
-           branch-inline))
-        (branch-gen nil)
-        (_
-         (setq branch-gen
-               (vconcat
-                (mapcar
-                 (lambda (org-state)
-                   (cons
-                    (lambda (org-state)
-                      `(,(natset-single org-state)
-                        nil ; don't duplicate.
-                        ,@(let* ((c (nth org-state clauses)))
-                            (automata-exp-seq
-                             (nth 1 c) ; action
-                             (if (null (nthcdr 3 c))
-                                 (nth 2 c)
-                               `(automata-branch
-                                 ,in-var ; input variable
-                                 ,(natset-full) ; input is unpredictable.
-                                 ,(nth 2 c) ; fail action
-                                 ,@(let ((trs (nthcdr 3 c)))
-                                     (mapcar
-                                      (lambda (next-branch)
-                                        (let ((input-range 
-                                               (apply 'natset-union
-                                                      (mapcar
-                                                       (lambda (tr)
-                                                         (if (member (cdr (assoc (cadr tr) tag-to-org-alist))
-                                                                     (aref branch-to-org next-branch))
-                                                             (car tr)
-                                                           (natset-empty)))
-                                                       trs))))
-                                          `(,input-range ; input range
-                                            ,(not (aref branch-inline next-branch)) ; duplicatable unless inlining.
-                                            ,(let ((goto-list (apply
-                                                               'append
-                                                               (mapcar
-                                                                (lambda (tr)
-                                                                  (let ((range (natset-intersection (car tr) input-range)))
-                                                                    (if range
-                                                                        `((,range
-                                                                           t
-                                                                           (automata-goto
-                                                                            ,automata-state-var
-                                                                            ,org-state
-                                                                            ,(cdr (assoc (cadr tr) tag-to-org-alist)))))
-                                                                      ())))
-                                                                trs))))
-                                               (if (= (length goto-list) 1)
-                                                   (car (cddr (car goto-list)))
-                                                 `(automata-branch
-                                                   ,in-var
-                                                   ,input-range
-                                                   ,automata-never-fail
-                                                   ,@goto-list)))
-                                            ,@(if (aref branch-inline next-branch)
-                                                  (automata-exp-seq
-                                                   `(progn ,@(cddr (funcall (car (aref branch-gen next-branch))
-                                                                            (cdr (aref branch-gen next-branch))))))
-                                                ()))))
-                                      (natset-enum
-                                       (apply 'natset-union
-                                              (mapcar
-                                               (lambda (tr)
-                                                 (natset-single
-                                                  (aref org-to-branch
-                                                        (cdr (assoc (cadr tr) tag-to-org-alist)))))
-                                               trs))))
-                                     )))))))
-                    org-state))
-                 org-states)
-                (mapcar
-                 (lambda (forest-state)
-                   (cons
-                    (lambda (forest-state)
-                      `(,(natset-intersection
-                          (apply 'natset-single (aref forest-to-org forest-state))
-                          all-descents) ; state range
-                        nil ; don't duplicate.
-                        ,@(automata-exp-seq
-                           (automata-gen-state
-                            in-var clauses
-                            org-len
-                            (aref forest-to-org forest-state)
-                            tag-to-org-alist
-                            forest-state forest org-to-forest forest-to-org))))
-                    forest-state))
-                 forest-states))))
-        (branches
-         (let* ((branches ())
-                (i branch-length))
-           (while (< 0 i)
-             (setq i (1- i))
-             (if (not (aref branch-inline i))
-                 (setq branches
-                       (cons
-                        (funcall (car (aref branch-gen i))
-                                 (cdr (aref branch-gen i)))
-                        branches))))
-           branches))
-        )
-    ;;(error "err")
-    (if start-inline
-       (apply
-        'automata-seq-exp
-        `(progn ,@(cddr (funcall (car (aref branch-gen start-inline))
-                                 (cdr (aref branch-gen start-inline)))))
-        (cond
-         ((null branches) ())
-         ((null (cdr branches))
-          (cddr (car branches)))
-         (t
-          `((while t 
-              (automata-branch
-               ,automata-state-var ,(natset-full) ,automata-never-fail
-               ,@branches))))))
-      (if (= (length branches) 1)
-         `(while t ,@(cddr (car branches)))
-       `(while t ; ,branch-inline ,branch-state-range ,branch-descents ,branch-ascents
-               (automata-branch
-                ,automata-state-var ,(natset-full) ,automata-never-fail
-                ,@branches))))))
-
-(defun automata-seq-exp (&rest seq)
-  (cond
-   ((null seq) nil)
-   ((null (cdr seq))
-    (car seq))
-   (t
-    (setq seq
-         (apply
-          'append
-          (mapcar
-           (lambda (exp) (if (and (consp exp) (eq (car exp) 'progn))
-                             (cdr exp)
-                           (list exp)))
-           seq)))
-    (let ((rseq (reverse seq)))
-      (cons 'progn
-           (apply
-            'append
-            (apply
-             'append
-             (mapcar
-              (lambda (exp) (if (null exp) () (list exp)))
-              (nreverse (cdr rseq))))
-            (list (list (car rseq)))))))))
-
-(defun automata-exp-seq (&rest seq)
-  (let ((exp (apply 'automata-seq-exp seq)))
-    (if (and (consp exp) (eq (car exp) 'progn))
-       (cdr exp)
-      (list exp))))
-
-(defmacro automata-goto (var curr next)
-  (if (eq curr next)
-      nil
-    `(setq ,var ,next)))
-
-(defmacro automata-branch (var range fail &rest clauses)
-  (when (eq fail automata-never-fail)
-    (setq range (natset-intersection
-                (apply 'natset-union (mapcar 'car clauses))
-                range)))
-  (let ((len (length clauses))
-       ns-list dup-list body-list tmp ns)
-    (setq tmp clauses
-         ns (natset-negate range))
-    (while tmp
-      (setq ns-list (cons (natset-sub (caar tmp) ns) ns-list)
-           dup-list (cons (cadr (car tmp)) dup-list)
-           body-list (cons (cddr (car tmp)) body-list)
-           ns (natset-union ns (caar tmp))
-           tmp (cdr tmp))
-      (if (natset-empty-p (car ns-list))
-         (setq ns-list (cdr ns-list)
-               dup-list (cdr dup-list)
-               body-list (cdr body-list))))
-    (setq ns-list (nreverse ns-list)
-         dup-list (nreverse dup-list)
-         body-list (nreverse body-list))
-    (automata-branch-i var range fail ns-list dup-list body-list)))
-
-(defun automata-branch-i (var range fail ns-list dup-list body-list)
-  (cond
-   ((null ns-list) fail)
-   ((null (cdr ns-list))
-    (if (natset-include-p (car ns-list) range)
-       (apply 'automata-seq-exp (car body-list))
-      `(if ,(natset-gen-pred-exp (car ns-list) var range)
-          ,(apply 'automata-seq-exp (car body-list))
-        ,fail)))
-   (t
-    (let (tmp tmpn tmpd cut)
-      (setq tmpn ns-list
-           cut (natset-empty))
-      (while tmpn
-       (setq cut (natset-union cut (natset-boundary-set (car tmpn)))
-             tmpn (cdr tmpn)))
-      (setq tmpn ns-list
-           tmpd dup-list)
-      (while tmpn
-       (if (not (car tmpd))
-           (setq tmp (natset-minmax (car tmpn))
-                 tmp (natset-sub tmp (natset-start-set tmp))
-                 cut (natset-sub cut tmp)))
-       (setq tmpn (cdr tmpn)
-             tmpd (cdr tmpd)))
-      (setq cut (natset-sub cut (natset-boundary-set (natset-minmax range))))
-      (if (null (setq cut (natset-enum cut)))
-         `(if ,(natset-gen-pred-exp (car ns-list) var range)
-              ,(apply 'automata-seq-exp (car body-list))
-            ,(automata-branch-i var
-                                (natset-sub range (car ns-list))
-                                fail
-                                (cdr ns-list)
-                                (cdr dup-list)
-                                (cdr body-list)))
-       (let* ((mid (nth (/ (length cut) 2) cut))
-              (lower (natset-seg 0 (1- mid)))
-              (higher (natset-seg mid))
-              ns-list1 dup-list1 body-list1
-              ns-list2 dup-list2 body-list2
-              )
-         (while ns-list
-           (if (natset-has-intersection-p lower (car ns-list))
-               (setq ns-list1 (cons (natset-intersection (car ns-list) lower) ns-list1)
-                     dup-list1 (cons (car dup-list) dup-list1)
-                     body-list1 (cons (car body-list) body-list1)))
-           (if (natset-has-intersection-p higher (car ns-list))
-               (setq ns-list2 (cons (natset-intersection (car ns-list) higher) ns-list2)
-                     dup-list2 (cons (car dup-list) dup-list2)
-                     body-list2 (cons (car body-list) body-list2)))
-           (setq ns-list (cdr ns-list)
-                 dup-list (cdr dup-list)
-                 body-list (cdr body-list)))
-         ;;(if (or (null ns-list1) (null ns-list2)) (error "divide fail"))
-         `(if (< ,var ,mid)
-              ,(automata-branch-i var
-                                  (natset-intersection range lower)
-                                  fail ns-list1 dup-list1 body-list1)
-            ,(automata-branch-i var
-                                (natset-intersection range higher)
-                                fail ns-list2 dup-list2 body-list2))))))))
-
-
-'(
-(npp (macroexpand '
-(automata pc 0
-               (1
-                (progn
-                  (lex-match 1)
-                  (lex-scan-unibyte-save))
-                (lex-fail))
-               (5
-                (progn
-                  (lex-match 2)
-                  (lex-scan-unibyte-save))
-                (lex-fail))
-               (4
-                (progn
-                  (lex-scan-unibyte-read pc))
-                (lex-fail)
-                ((9 10) 5) ((32 33) 5))
-               (2
-                (progn
-                  (lex-match 3)
-                  (lex-scan-unibyte-save)
-                  (lex-scan-unibyte-read pc))
-                (lex-fail)
-                ((13 14) 2)
-                ((0 9) 3) ((11 13) 3) ((14 32) 3) ((33) 3)
-                ((10 11) 4))
-               (3
-                (progn
-                  (lex-match 3)
-                  (lex-scan-unibyte-save)
-                  (lex-scan-unibyte-read pc))
-                (lex-fail)
-                ((0 9) 3) ((10 11) 3) ((11 13) 3) ((14 32) 3) ((33) 3)
-                ((13 14) 2)
-                )
-               (0
-                (progn
-                  (lex-match 3)
-                  (lex-scan-unibyte-save)
-                  (lex-scan-unibyte-read pc))
-                (lex-fail)
-                ((0 9) 3) ((10 11) 3) ((11 13) 3) ((14 32) 3) ((33) 3)
-                ((13 14) 2)
-                ((9 10) 1) ((32 33) 1)))))
-
-(npp (macroexpand '
-(automata pc 0
-               (0
-                (progn
-                  (lex-match 3)
-                  (lex-scan-unibyte-save)
-                  (lex-scan-unibyte-read pc))
-                (lex-fail)
-                ((0 9) 3) ((10 11) 3) ((11 13) 3) ((14 32) 3) ((33) 3)
-                ((13 14) 2)
-                ((9 10) 1) ((32 33) 1))
-               (1
-                (progn
-                  (lex-match 1)
-                  (lex-scan-unibyte-save))
-                (lex-fail))
-               (2
-                (progn
-                  (lex-match 3)
-                  (lex-scan-unibyte-save)
-                  (lex-scan-unibyte-read pc))
-                (lex-fail)
-                ((13 14) 2)
-                ((0 9) 3) ((11 13) 3) ((14 32) 3) ((33) 3)
-                ((10 11) 4))
-               (3
-                (progn
-                  (lex-match 3)
-                  (lex-scan-unibyte-save)
-                  (lex-scan-unibyte-read pc))
-                (lex-fail)
-                ((0 9) 3) ((10 11) 3) ((11 13) 3) ((14 32) 3) ((33) 3)
-                ((13 14) 2)
-                )
-               (4
-                (progn
-                  (lex-scan-unibyte-read pc))
-                (lex-fail)
-                ((9 10) 5) ((32 33) 5))
-               (5
-                (progn
-                  (lex-match 2)
-                  (lex-scan-unibyte-save))
-                (lex-fail))
-)))
-
-(npp
-(automata-gen-state
-'pc
-'((0 (progn (lex-match 3) (lex-scan-unibyte-save) (lex-scan-unibyte-read pc)) (lex-fail) ((9 10 32 33) 1) ((13 14) 2) ((0 9 10 13 14 32 33) 3))
-  (1 (progn (lex-match 1) (lex-scan-unibyte-save)) (lex-fail))
-  (2 (progn (lex-match 3) (lex-scan-unibyte-save) (lex-scan-unibyte-read pc)) (lex-fail) ((13 14) 2) ((0 9 11 13 14 32 33) 3) ((10 11) 4))
-  (3 (progn (lex-match 3) (lex-scan-unibyte-save) (lex-scan-unibyte-read pc)) (lex-fail) ((13 14) 2) ((0 9 10 13 14 32 33) 3))
-  (4 (progn (lex-scan-unibyte-read pc)) (lex-fail) ((9 10 32 33) 5))
-  (5 (progn (lex-match 2) (lex-scan-unibyte-save)) (lex-fail)))
-6
-'(0)
-'((5 . 5) (4 . 4) (3 . 3) (2 . 2) (1 . 1) (0 . 0))
-0
-[(4 1) (2) (3) nil nil]
-[0 4 1 1 2 3]
-[(0) (3 2) (4) (5) (1)]))
-)
\ No newline at end of file
diff --git a/closure.el b/closure.el
deleted file mode 100644 (file)
index 8220628..0000000
+++ /dev/null
@@ -1,66 +0,0 @@
-(provide 'closure)
-
-;; closure is one of following forms.
-;;  FUNCTION
-;;  (WRAPPER FUNCTION FV1 . FVS)
-;;  (PARTIAL-ARGS CLOSURE)
-
-(defmacro closure-make (fun &rest fvs)
-  "Make a closure from a function FUN and free variables FVS.
-CAUTION: Do not assign to free variables."
-  (if (null fvs)
-      fun
-    (let* ((funv (make-symbol "funv"))
-          (args (make-symbol "args")))
-      `(list
-       (lambda (,funv ,args ,@fvs)
-         (apply ,funv ,args))
-       ,fun
-       ,@fvs))))
-
-(defmacro closure-partial-call (clo &rest args)
-  "Call partially."
-  `(list (list ,@args) ,clo))
-
-(defun closure-call (clo &rest args)
-  "Call closure."
-  (while
-      (and
-       (not (functionp clo))
-       (if (cddr clo)
-          (progn
-            (setq args (cons (cadr clo) (cons args (cddr clo)))
-                  clo (car clo))
-            nil)
-        t))
-    (setq args (append (car clo) args)
-         clo (cadr clo)))
-  (apply clo args))
-
-(defun closure-compose (c1 c2)
-  "Compose C1 and C2.
-
-If either C1 or C2 is nil, another one is returned.
-If C1 and C2 is non-nil, C1 must be closure with one argument."
-  (cond
-   ((null c1) c2)
-   ((null c2) c1)
-   (t
-    (closure-make
-     (lambda (&rest args)
-       (closure-call c1 (apply 'closure-call c2 args)))
-     c1 c2))))
-
-'(
-
-(setq c1 (let ((a 1)) (closure-make (lambda (b) (+ a b)) a)))
-(closure-call c1 2) ; => 3
-
-(let ((a 1)) (setq plus1 (closure-make (lambda (b) (+ a b)) a)))
-(let ((a 2)) (setq plus2 (closure-make (lambda (b) (+ a b)) a)))
-(setq plus3 (closure-compose plus1 plus2))
-(closure-call plus3 4) ; => 7
-
-(closure-call (closure-partial-call (closure-partial-call '+ 1 2 3) 4 5 6) 7 8 9) ;=> 45
-
-)
\ No newline at end of file
diff --git a/digraph.el b/digraph.el
deleted file mode 100644 (file)
index 2a463d1..0000000
+++ /dev/null
@@ -1,347 +0,0 @@
-;;; directed graph package.
-(provide 'digraph)
-
-;; A directed graph is represented as vector of lists of integers.
-;; The number of nodes in the graph is length of the vector.
-;;
-;; i'th list of the vector contains j <=> there is the edge from i to j.
-
-(defalias 'digraph-descents 'aref)
-
-(defun digraph-split-as-dag (g)
-  "Returns 3 element vector of follows.
-
-0. Directed acyclic graph generated by mergeing each strongly connected
-components in G as new nodes.
-
-1. Map from a node in g to a node in result.
-
-2. Map from a node in result to nodes in g."
-  (let* ((old-len (length g))
-        (new-to-olds (vconcat (digraph-tsort g)))
-        (new-len (length new-to-olds))
-        (old-to-new (make-vector old-len ()))
-        (i 0)
-        js res)
-    (while (< i new-len)
-      (setq js (aref new-to-olds i))
-      (while js
-       (aset old-to-new (car js) i)
-       (setq js (cdr js)))
-      (setq i (1+ i)))
-    (setq i (1- new-len))
-    (while (<= 0 i)
-      (setq res (cons
-                (digraph-list-uniq
-                 (apply
-                  'nconc
-                  (mapcar
-                   (lambda (old)
-                     (apply
-                      'nconc
-                      (mapcar 
-                       (lambda (old)
-                         (if (= i (aref old-to-new old))
-                             ()
-                           (list (aref old-to-new old))))
-                       (aref g old))))
-                   (aref new-to-olds i))))
-                res)
-           i (1- i)))
-    (vector 
-     (vconcat res)
-     old-to-new
-     new-to-olds)))
-
-(defun digraph-split-as-forest (g)
-  "Returns 3 element vector of follows.
-
-0. Tree generated by merging nodes which have common descent node.
-
-1. Map from a node in g to a node in result.
-
-2. Map from a node in result to nodes in g."
-  (let* ((tmp (digraph-split-as-dag g))
-        (d (aref tmp 0))
-        (g-to-d (aref tmp 1))
-        (d-to-g (aref tmp 2))
-        ;;(_ (error "%s" tmp))
-        (tmp (digraph-dag-to-forest d))
-        (f (aref tmp 0))
-        (d-to-f (aref tmp 1))
-        (f-to-d (aref tmp 2))
-        old-indices
-        new-indices
-        i)
-    (setq i (1- (length g)))
-    (while (<= 0 i)
-      (setq old-indices (cons i old-indices)
-           i (1- i)))
-    (setq i (1- (length f)))
-    (while (<= 0 i)
-      (setq new-indices (cons i new-indices)
-           i (1- i)))
-    (vector
-     f
-     (vconcat
-      (mapcar
-       (lambda (gi) (aref d-to-f (aref g-to-d gi)))
-       old-indices))
-     (vconcat
-      (mapcar
-       (lambda (fi)
-        (apply
-         'nconc
-         (mapcar
-          (lambda (di) (aref d-to-g di))
-          (aref f-to-d fi))))
-       new-indices)))))
-
-(defun digraph-tsort (dep)
-  "Sort nodes in a graph toporogicaly.
-
-DEP is a vector of lists of integers and
-digraph-tsort returns list of lists of integers.
-
-The graph has (length DEP) nodes.
-
-Dependency for i'th node is represented by i'th element of DEP.
-If (aref DEP i) is a list (j1 j2 ... jn), it represents that i'th node
-depends to j1, j2, ... and jn'th nodes of the graph.
-
-A result of digraph-tsort is a sequence of sets of indexes for each
-strongly connected nodes ordered by indepenedent to dependent as list
-of lists of integers.
-
-If (nth n result) contains an integer i, it represents the fact as
-follows.
-
-1. For all j in (nth n result) and j != i, i'th node depends to j'th
-node and vice versa.
-
-2. For all m < n and j in (nth m result), i'th nodes does not depend
-to j'th node."
-  (let* ((len (length dep))
-        (ord (make-vector len nil))
-        (i 0)
-        (res ()))
-    (while (< i len)
-      (if (not (aref ord i))
-         (setq res (nth 3 (digraph-tsort-visit dep len ord i 0 () res))))
-      (setq i (1+ i)))
-    res))
-
-(defun digraph-tsort-visit (dep len ord i id stk res)
-  (aset ord i id)
-  (let ((js (aref dep i))
-       (m id)
-       (nid (1+ id))
-       (stk (cons i stk))
-       (res res))
-    (while js
-      (let* ((j (car js)) (jo (aref ord j)))
-       (if jo
-           (setq m (if (< m jo) m jo))
-         (let* ((tmp (digraph-tsort-visit dep len ord j nid stk res))
-                (m0 (nth 0 tmp)))
-           (setq m (if (< m m0) m m0)
-                 nid (nth 1 tmp)
-                 stk (nth 2 tmp)
-                 res (nth 3 tmp)))))
-      (setq js (cdr js)))
-    (if (= m id)
-       (let* ((p (member i stk))
-              (nstk (cdr p))
-              (tmp stk))
-         (setcdr p ())
-         (while tmp
-           (aset ord (car tmp) len)
-           (setq tmp (cdr tmp)))
-         (list m nid nstk (cons stk res)))
-      (list m nid stk res))))
-
-(defun digraph-reverse (g)
-  "Return graph with reversed edge."
-  (let* ((len (length g))
-        (rev (make-vector len nil))
-        (i 0))
-    (while (< i len)
-      (let ((links (aref g i)))
-       (while links
-         (if (not (member i (aref rev (car links))))
-             (aset rev (car links) (cons i (aref rev (car links)))))
-         (setq links (cdr links))))
-      (setq i (1+ i)))
-    rev))
-
-(defun digraph-leaves (g)
-  "Return list of leaves of G."
-  (let* ((i (length g))
-       (res ()))
-    (while (< 0 i)
-      (setq i (1- i))
-      (if (null (aref g i))
-         (setq res (cons i res))))
-    res))
-
-(defun digraph-roots (g)
-  "Return list of roots of G."
-  (digraph-leaves (digraph-reverse g)))
-
-;;; forest
-
-(defun digraph-dag-to-forest (dag)
-  "Convert a DAG(directed acyclic graph) to forest(set of trees)."
-  (let* ((len (length dag))
-        (rev (digraph-reverse dag))
-        (forest (digraph-forest-make len))
-        (i 0))
-    (while (< i len)
-      (digraph-dag-forest-add-node forest i (aref rev i))
-      (setq i (1+ i)))
-    ;;(error "%s" forest)
-    (digraph-forest-to-graph forest)))
-
-(defun digraph-dag-forest-add-node (forest node links)
-  (if (null links)
-      (digraph-forest-add-tree forest node)
-    (let ((parent (car links)))
-      (setq links (cdr links))
-      (digraph-forest-add-node forest parent node)
-      (while links
-       (digraph-forest-merge-node forest parent (car links))
-       (setq links (cdr links)))))
-  forest)
-
-;; forest = [last-tree-id node-merge-map node-parent-map]
-(defun digraph-forest-make (num)
-  (vector 0 (make-vector num nil) (make-vector num nil)))
-(defsubst digraph-forest-merge-map (forest) (aref forest 1))
-(defsubst digraph-forest-parent-map (forest) (aref forest 2))
-
-(defun digraph-forest-add-tree (forest node)
-  (aset (digraph-forest-parent-map forest)
-       node
-       (aset forest 0 (1- (aref forest 0)))))
-
-(defun digraph-forest-add-node (forest parent node)
-  (aset (digraph-forest-parent-map forest) node parent))
-
-(defun digraph-forest-node-id (forest node)
-  (let ((merge-map (digraph-forest-merge-map forest)) tmp)
-    (while (setq tmp (aref merge-map node))
-      (setq node tmp))
-    node))
-
-(defun digraph-forest-tree-id (forest node)
-  (setq node (digraph-forest-node-id forest node))
-  (let ((parent-map (digraph-forest-parent-map forest))
-       tmp)
-    (while (<= 0 (setq tmp (aref parent-map node)))
-      (setq node (digraph-forest-node-id forest tmp)))
-    tmp))
-  
-(defun digraph-forest-root-p (forest node)
-  (setq node (digraph-forest-node-id forest node))
-  (< (aref (digraph-forest-parent-map forest) node) 0))
-
-(defun digraph-forest-path-to-root (forest node)
-  (setq node (digraph-forest-node-id forest node))
-  (let ((parent-map (digraph-forest-parent-map forest))
-       (path (list node)))
-    (while (not (digraph-forest-root-p forest node))
-      (setq node (digraph-forest-node-id forest (aref parent-map node))
-           path (cons node path)))
-    path))
-
-(defun digraph-forest-merge-node (forest n1 n2)
-  (setq n1 (digraph-forest-node-id forest n1)
-       n2 (digraph-forest-node-id forest n2))
-  (let ((t1 (digraph-forest-tree-id forest n1))
-       (t2 (digraph-forest-tree-id forest n2)))
-    (if (= t1 t2)
-       (let ((merge-map (digraph-forest-merge-map forest))
-             (p1 (digraph-forest-path-to-root forest n1))
-             (p2 (digraph-forest-path-to-root forest n2))
-             top)
-         (while (and p1 p2
-                     (= (car p1) (car p2)))
-           (setq top (car p1)
-                 p1 (cdr p1)
-                 p2 (cdr p2)))
-         (setq p1 (nreverse p1))
-         (setq p2 (nreverse p2))
-         (while (and p1 p2)
-           (aset merge-map (car p2) (car p1))
-           (setq p1 (cdr p1)
-                 p2 (cdr p2)))
-         (if (or p1 p2)
-             (let ((ns (nconc p1 p2)) n)
-               (while ns
-                 (aset merge-map (car ns) top)
-                 (setq ns (cdr ns))))))
-      (let ((merge-map (digraph-forest-merge-map forest))
-           (parent-map (digraph-forest-parent-map forest)))
-       (while (and (not (digraph-forest-root-p forest n1))
-                   (not (digraph-forest-root-p forest n2)))
-         (aset merge-map n2 n1)
-         (setq n1 (digraph-forest-node-id forest (aref parent-map n1))
-               n2 (digraph-forest-node-id forest (aref parent-map n2))))
-       (if (digraph-forest-root-p forest n2)
-           (aset merge-map n2 n1)
-         (aset merge-map n1 n2)))))
-  forest)
-
-(defun digraph-forest-to-graph (forest)
-  (let* ((merge-map (digraph-forest-merge-map forest))
-        (parent-map (digraph-forest-parent-map forest))
-        (old-len (length merge-map))
-        (old-to-new (make-vector old-len nil))
-        new-to-olds
-        (new-len 0)
-        (i 0)
-        j
-        graph
-        )
-    (while (< i old-len)
-      (setq j (digraph-forest-node-id forest i))
-      (if (aref old-to-new j)
-         (aset old-to-new i (aref old-to-new j))
-       (progn
-         (aset old-to-new j new-len)
-         (aset old-to-new i new-len)
-         (setq new-len (1+ new-len))))
-      (setq i (1+ i)))
-    (setq new-to-olds (make-vector new-len nil)
-         graph (make-vector new-len nil))
-    (setq i (1- old-len))
-    (while (<= 0 i)
-      (setq j (aref old-to-new i))
-      (aset new-to-olds j
-           (cons i (aref new-to-olds j)))
-      (setq i (1- i)))
-    (setq i 0)
-    (while (< i new-len)
-      (setq j (aref parent-map (digraph-forest-node-id forest (car (aref new-to-olds i)))))
-      (if (<= 0 j) (aset graph (aref old-to-new j)
-                        (cons i (aref graph (aref old-to-new j)))))
-      (setq i (1+ i)))
-    (vector graph old-to-new new-to-olds)))
-
-;;; utilities
-
-(defun digraph-list-uniq (il)
-  (if (null il)
-      ()
-    (if (member (car il) (cdr il))
-       (digraph-list-uniq (cdr il))
-      (cons (car il) (digraph-list-uniq (cdr il))))))
-
-'(
-(digraph-split-as-forest [nil nil nil nil nil nil nil nil nil nil (10) nil nil (12) (13) (0 1 2 3 4 5 6 7 8 9 10 11 13 14)])
-[
- [(14 13 12 11 10 9 8 7 6 5 4 3 1) (2) nil nil nil nil nil nil nil nil nil nil nil nil nil]
- [14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 0]
- [(15) (14) (13) (12) (11) (10) (9) (8) (7) (6) (5) (4) (3) (2) (1) (0)]]
-
-)
\ No newline at end of file
diff --git a/ew-data.el b/ew-data.el
deleted file mode 100644 (file)
index 436b014..0000000
+++ /dev/null
@@ -1,171 +0,0 @@
-(require 'ew-var)
-(require 'ew-util)
-(provide 'ew-data)
-
-(defun ew-make-anchor (column str)
-  (let ((anchor (make-symbol str)))
-    (put anchor 'anchor anchor)
-    (put anchor 'type 'ew:*anchor*)
-    (put anchor 'prev-frag anchor)
-    (put anchor 'next-frag anchor)
-    (put anchor 'column column)
-    (put anchor 'line-length 0)
-    anchor))
-
-(defun ew-terminate (anchor)
-  (let ((frag (get anchor 'prev-frag))
-       (line-length (get anchor 'column)))
-    (while (null (get frag 'line-length))
-      (put frag 'line-length line-length)
-      (setq frag (get frag 'prev-frag)))))
-
-(defsubst ew-add-frag (anchor start end type)
-  (let ((frag (make-symbol (substring (symbol-name anchor) start end))))
-    (put frag 'anchor anchor)
-    (put frag 'type type)
-    (put frag 'prev-frag (get anchor 'prev-frag))
-    (put frag 'next-frag anchor)
-    (put (get anchor 'prev-frag) 'next-frag frag)
-    (put anchor 'prev-frag frag)
-    (put frag 'decode (or (get type 'decode) 'ew-decode-none))
-    (if (string-match "\r\n\\(.*\r\n\\)*" (symbol-name frag))
-       (let ((prev-line-length (+ (get anchor 'column) (match-beginning 0)))
-             (next-line-column (- (length (symbol-name frag)) (match-end 0)))
-             (tmp frag))
-         (while (null (get tmp 'line-length))
-           (put tmp 'line-length prev-line-length)
-           (setq tmp (get tmp 'prev-frag)))
-         (put anchor 'column next-line-column))
-      (put anchor 'column (+ (get anchor 'column) (length (symbol-name frag)))))
-    frag))
-
-;;; listup
-
-(defun ew-frag-list (anchor)
-  (let ((res ())
-       (tmp (get anchor 'prev-frag)))
-    (while (not (eq anchor tmp))
-      (setq res (cons tmp res)
-           tmp (get tmp 'prev-frag)))
-    res))
-
-(defun ew-pair-list (anchor)
-  (mapcar
-   (lambda (frag)
-     (cons (symbol-value (get frag 'type))
-           frag))
-   (ew-frag-list anchor)))
-
-(defun ew-separate-eword (frag1 frag2 targets)
-  (while (not (eq frag1 frag2))
-    (when (and (memq (get frag1 'type) targets)
-              (string-match ew-encoded-word-regexp
-                            (symbol-name frag1))
-              (or (< 0 (match-beginning 0))
-                  (< (match-end 0) (length (symbol-name frag1)))))
-      (let ((atom (symbol-name frag1))
-           (start (match-end 0))
-           result
-           frag)
-       (when (< 0 (match-beginning 0))
-         (setq frag (make-symbol (substring atom 0 (match-beginning 0)))
-               result (ew-rcons* result frag)))
-       (setq frag (make-symbol (substring atom (match-beginning 0) (match-end 0)))
-             result (ew-rcons* result frag))
-       (when (cdr result)
-         (put frag 'prev-frag (cadr result))
-         (put (cadr result) 'next-frag frag)
-         (setq frag (cadr result)))
-       (put frag 'prev-frag (get frag1 'prev-frag))
-       (put (get frag1 'prev-frag) 'next-frag frag)
-       (while (string-match ew-encoded-word-regexp atom start)
-         (when (< start (match-beginning 0))
-           (setq frag (make-symbol (substring atom start (match-beginning 0)))
-                 result (ew-rcons* result frag))
-           (put frag 'prev-frag (cadr result))
-           (put (cadr result) 'next-frag frag))
-         (setq frag (make-symbol (substring atom (match-beginning 0) (match-end 0)))
-               result (ew-rcons* result frag)
-               start (match-end 0))
-         (put frag 'prev-frag (cadr result))
-         (put (cadr result) 'next-frag frag))
-       (when (< start (length (symbol-name frag1)))
-         (setq frag (make-symbol (substring atom start))
-               result (ew-rcons* result frag))
-         (put frag 'prev-frag (cadr result))
-         (put (cadr result) 'next-frag frag))
-       (setq frag (car result))
-       (put frag 'next-frag (get frag1 'next-frag))
-       (put (get frag1 'next-frag) 'prev-frag frag)
-       (while result
-         (setq frag (car result)
-               result (cdr result))
-         (put frag 'anchor (get frag1 'anchor))
-         (put frag 'type (get frag1 'type))
-         (put frag 'decode (get frag1 'decode))
-         (put frag 'line-length (get frag1 'line-length)))))
-    (setq frag1 (get frag1 'next-frag))))
-
-;;; phrase marking
-
-(defun ew-mark-phrase (frag1 frag2)
-  (when ew-decode-sticked-encoded-word
-    (ew-separate-eword
-     frag1 frag2
-     (if ew-decode-quoted-encoded-word
-        '(ew:atom
-          ew:qs-texts)
-       '(ew:atom)))
-    (setq frag1 (get (get frag1 'prev-frag) 'next-frag)))
-  (while (not (eq frag1 frag2))
-    (setq frag2 (get frag2 'prev-frag))
-    (unless (ew-comment-frag-p frag2)
-      (put frag2 'decode 'ew-decode-phrase)))
-  (while (not (ew-token-last-frag-p
-              (setq frag2 (get frag2 'prev-frag))))
-    (unless (ew-comment-frag-p frag2)
-      (put frag2 'decode 'ew-decode-phrase))))
-
-;;; frag predicate
-
-(defun ew-token-last-frag-p (frag)
-  (member (get frag 'type)
-         '(ew:*anchor*
-           ew:lt
-           ew:gt
-           ew:at
-           ew:comma
-           ew:semicolon
-           ew:colon
-           ew:dot
-           ew:atom
-           ew:qs-end
-           ew:dl-end)))
-
-(defun ew-comment-frag-p (frag)
-  (member (get frag 'type)
-         '(ew:cm-begin
-           ew:cm-end
-           ew:cm-nested-begin
-           ew:cm-nested-end
-           ew:cm-texts
-           ew:cm-wsp
-           ew:cm-fold
-           ew:cm-qfold
-           ew:cm-qpair)))
-
-(defun ew-special-frag-p (frag)
-  (member (get frag 'type)
-         '(ew:lt
-           ew:gt
-           ew:at
-           ew:comma
-           ew:semicolon
-           ew:colon
-           ew:dot
-           ew:qs-begin
-           ew:qs-end
-           ew:dl-begin
-           ew:dl-end
-           ew:cm-begin
-           ew:cm-end)))
diff --git a/ew-dec.el b/ew-dec.el
deleted file mode 100644 (file)
index fa80a83..0000000
--- a/ew-dec.el
+++ /dev/null
@@ -1,480 +0,0 @@
-(require 'emu)
-(require 'ew-var)
-(require 'ew-unit)
-(require 'ew-scan-s)
-(require 'ew-scan-m)
-(require 'ew-scan-u)
-(require 'ew-parse)
-(provide 'ew-dec)
-
-(defvar ew-decode-field-cache-buf '())
-(defvar ew-decode-field-cache-num 300)
-
-(defun ew-decode-field (field-name field-body)
-  "Decode MIME RFC2047 encoded-words in a field.
-FIELD-NAME is a name of the field such as \"To\", \"Subject\" etc. and
-used to selecting syntax of body of the field and deciding first
-column of body of the field.
-FIELD-BODY is a body of the field.
-
-If FIELD-BODY has multiple lines, each line is separated by CRLF as
-pure network representation. Also if the result has multiple lines,
-each line is separated by CRLF."
-  (let* ((key (ew-cons* field-name field-body
-                       (ew-dynamic-options)))
-        (tmp (assoc key ew-decode-field-cache-buf)))
-    (if tmp
-       (cdr tmp)
-      (progn
-       (setq tmp (nthcdr ew-decode-field-cache-num
-                         ew-decode-field-cache-buf))
-       (if (cdr tmp)
-           (progn
-             (setcdr (cdr tmp) ew-decode-field-cache-buf)
-             (setq ew-decode-field-cache-buf (cdr tmp))
-             (setcdr tmp nil))
-         (setq ew-decode-field-cache-buf
-               (cons (cons nil nil)
-                     ew-decode-field-cache-buf)))
-       (setcar (car ew-decode-field-cache-buf) key)
-       (setcdr (car ew-decode-field-cache-buf)
-               (ew-decode-field-no-cache
-                field-name field-body))
-       (cdar ew-decode-field-cache-buf)))))
-
-(defun ew-analyze-field-to-decode (field-name field-body)
-  "Analyze FIELD-BODY to decode."
-  (let ((tmp (assq (intern (downcase field-name)) ew-decode-field-syntax-alist))
-       anchor)
-    (if tmp
-       (setq tmp (cdr tmp))
-      (setq tmp ew-decode-field-default-syntax))
-    (setq anchor (funcall (car tmp) (1+ (length field-name)) field-body))
-    (put anchor 'field-name field-name)
-    (put anchor 'scanner (car tmp))
-    (put anchor 'marker (cdr tmp))
-    anchor))
-
-(defun ew-decode-analyzed-field (anchor)
-  "Decode analyzed field."
-  (or (get anchor 'decoded)
-      (let (tmp frag1 frag2 decode)
-       (when ew-decode-sticked-encoded-word
-         (ew-separate-eword
-          (get anchor 'next-frag)
-          anchor
-          (if (eq (get anchor 'scanner) 'ew-scan-unibyte-unstructured)
-              '(ew:us-texts)
-            '(ew:cm-texts))))
-       (when (get anchor 'marker)
-         (ew-mark (get anchor 'marker) anchor))
-       (setq frag1 (get anchor 'next-frag))
-       (while (not (eq frag1 anchor))
-         (setq decode (get frag1 'decode))
-         (setq frag2 (get frag1 'next-frag))
-         (while (and (not (eq frag2 anchor))
-                     (eq decode (get frag2 'decode)))
-           (setq frag2 (get frag2 'next-frag)))
-         (funcall decode anchor frag1 frag2)
-         (setq frag1 frag2))
-       (setq frag1 (get anchor 'prev-frag)
-             tmp ())
-       (while (not (eq frag1 anchor))
-         (setq tmp (cons (or (get frag1 'decoded) (symbol-name frag1)) tmp)
-               frag1 (get frag1 'prev-frag)))
-       (put anchor 'decoded (apply 'concat tmp)))))
-
-(defun ew-decode-field-no-cache (field-name field-body)
-  "No caching version of ew-decode-field."
-  (ew-decode-analyzed-field
-   (ew-analyze-field-to-decode field-name field-body)))
-
-(defun ew-mark (tag anchor)
-  (let ((tlist (cons (list (symbol-value tag)) (ew-pair-list anchor))))
-    ;;(insert (format "%s" tlist))
-    (ew-parse
-     (lambda ()
-       (if (null tlist)
-           (cons 0 anchor)
-         (prog1 (car tlist) (setq tlist (cdr tlist)))))
-     (lambda (msg tok)
-       (message "%s%s : %s" msg tok anchor)
-       (when (< 0 ew-parse-error-sit-for-seconds)
-        (sit-for ew-parse-error-sit-for-seconds))))))
-
-(defsubst ew-decode-us-ascii (str)
-  (decode-mime-charset-string str ew-default-mime-charset 'LF))
-
-(defun ew-decode-none (anchor frag end)
-  (while (not (eq frag end))
-    (put frag 'decoded (ew-decode-us-ascii (symbol-name frag)))
-    (setq frag (get frag 'next-frag))))
-
-(defsubst ew-proper-eword-p (frag)
-  (and
-   (or ew-ignore-75bytes-limit
-       (<= (length (symbol-name frag)) 75))
-   (or ew-ignore-76bytes-limit
-       (<= (get frag 'line-length) 76))
-   (cond
-    ((eq (get frag 'type) 'ew:cm-texts)
-     (ew-eword-p (symbol-name frag)))
-    ((eq (get frag 'type) 'ew:qs-texts)
-     (ew-eword-p (symbol-name frag)))
-    ((eq (get frag 'type) 'ew:atom)
-     (and
-      (or ew-permit-sticked-comment
-         (and
-          (not (ew-comment-frag-p (get frag 'prev-frag)))
-          (not (ew-comment-frag-p (get frag 'next-frag)))))
-      (or ew-permit-sticked-special
-         (and
-          (or (ew-comment-frag-p (get frag 'prev-frag))
-              (not (ew-special-frag-p (get frag 'prev-frag))))
-          (or (ew-comment-frag-p (get frag 'next-frag))
-              (not (ew-special-frag-p (get frag 'next-frag))))))
-      (ew-eword-p (symbol-name frag))))
-    ((eq (get frag 'type) 'ew:us-texts)
-     (and
-      (or ew-permit-sticked-special
-         (not (ew-special-frag-p (get frag 'prev-frag))))
-      (ew-eword-p (symbol-name frag))))
-    (t
-     nil))))
-
-(defun ew-decode-generic (anchor start end
-                         decode-ewords
-                         decode-others
-                         eword gap all)
-  (let ((frag start) (start-others start) type f)
-    (while (not (eq frag end))
-      (setq type (get frag 'type))
-      (cond
-       ((and (memq type eword)
-            (ew-proper-eword-p frag))
-       (when (not (eq start-others frag))
-         (funcall decode-others start-others frag))
-       (let ((first frag) (ewords (list frag)))
-         (while (progn
-                  (setq f (get frag 'next-frag))
-                  (while (and (not (eq f end))
-                              (memq (get f 'type) gap))
-                    (setq f (get f 'next-frag)))
-                  (and (not (eq f end))
-                       (ew-proper-eword-p f)))
-           (setq frag (get frag 'next-frag))
-           (while (not (eq frag f))
-             (put frag 'decoded "")
-             (setq frag (get frag 'next-frag)))
-           (setq ewords (ew-rcons* ewords f)
-                 frag f))
-         (funcall decode-ewords
-                  (nreverse ewords)))
-       (setq start-others (get frag 'next-frag)))
-       ((memq type all)
-       nil)
-       (t
-       (error "unexpected token: %s (%s)" frag type)))
-      (setq frag (get frag 'next-frag)))
-    (when (not (eq start-others end))
-      (funcall decode-others start-others end))))
-
-(defun ew-decode-generic-others (start end puncts quotes targets)
-  (let ((frag start) (start-nonpunct start) type buff tmp)
-    (while (not (eq frag end))
-      (setq type (get frag 'type))
-      (cond
-       ((memq type puncts)
-       (when buff
-         (setq buff (apply 'concat (nreverse buff))
-               tmp (ew-decode-us-ascii buff))
-         (if (equal buff tmp)
-             (while (not (eq start-nonpunct frag))
-               (put start-nonpunct 'decoded (symbol-name start-nonpunct))
-               (setq start-nonpunct (get start-nonpunct 'next-frag)))
-           (progn
-             (put start-nonpunct 'decoded tmp)
-             (setq start-nonpunct (get start-nonpunct 'next-frag))
-             (while (not (eq start-nonpunct frag))
-               (put start-nonpunct 'decoded "")
-               (setq start-nonpunct (get start-nonpunct 'next-frag)))))
-         (setq buff ()))
-       (put frag 'decoded (symbol-name frag))
-       (setq start-nonpunct (get frag 'next-frag)))
-       ((memq type quotes)
-       (setq buff (ew-rcons* buff
-                             (substring (symbol-name frag) 1))))
-       ((memq type targets)
-       (setq buff (ew-rcons* buff
-                             (symbol-name frag))))
-       (t (error "something wrong: unexpected token: %s (%s)" frag type)))
-      (setq frag (get frag 'next-frag)))
-    (when buff
-      (setq buff (apply 'concat (nreverse buff))
-           tmp (ew-decode-us-ascii buff))
-      (if (equal buff tmp)
-         (while (not (eq start-nonpunct frag))
-           (put start-nonpunct 'decoded (symbol-name start-nonpunct))
-           (setq start-nonpunct (get start-nonpunct 'next-frag)))
-       (progn
-         (put start-nonpunct 'decoded tmp)
-         (setq start-nonpunct (get start-nonpunct 'next-frag))
-         (while (not (eq start-nonpunct frag))
-           (put start-nonpunct 'decoded "")
-           (setq start-nonpunct (get start-nonpunct 'next-frag))))))))
-
-(defun ew-decode-unstructured-ewords (ewords)
-  (while ewords
-    (put (car ewords)
-        'decoded
-        (list (ew-decode-eword (symbol-name (car ewords)))))
-    (setq ewords (cdr ewords))))
-
-(defun ew-decode-unstructured-others (start end)
-  (let (strs)
-    (while (not (eq start end))
-      (put start 'decoded "")
-      (setq strs (ew-rcons* strs
-                           (symbol-name start))
-           start (get start 'next-frag)))
-    (put (get end 'prev-frag)
-        'decoded
-        (ew-decode-us-ascii
-         (apply 'concat (nreverse strs))))))
-
-(defun ew-decode-unstructured (anchor start end)
-  (ew-decode-generic
-   anchor start end
-   'ew-decode-unstructured-ewords
-   'ew-decode-unstructured-others
-   '(ew:us-texts)
-   '(ew:us-wsp
-     ew:us-fold)
-   '(ew:us-texts
-     ew:us-wsp
-     ew:us-fold))
-  (let ((frag end) tmp)
-    (while (not (eq frag start))
-      (setq frag (get frag 'prev-frag)
-           tmp (cons (get frag 'decoded) tmp))
-      (put frag 'decoded ""))
-    (put start 'decoded (ew-encode-crlf (apply 'ew-quote-concat tmp)))))
-
-(defun ew-decode-phrase-ewords (ewords)
-  (let* ((qs (eq (get (car ewords) 'type) 'ew:qs-texts))
-        (regexp (if qs "[\\\\\\\"]" "[][()<>@,;:\\\\\\\".\000-\037]"))
-        has-dangerous-char
-        tmp decoded)
-    (setq tmp ewords)
-    (while tmp
-      (put (car tmp)
-          'decoded
-          (list (setq decoded (ew-decode-eword (symbol-name (car tmp))))))
-      (setq tmp (cdr tmp)
-           has-dangerous-char (or has-dangerous-char
-                                  (string-match regexp decoded))))
-    (when has-dangerous-char
-      (setq tmp ewords)
-      (while tmp
-       (setq decoded (get (car tmp) 'decoded))
-       (setcar decoded (ew-embed-in-quoted-string (car decoded)))
-       (setq tmp (cdr tmp)))
-      (when (not qs)
-       (setq decoded (get (car ewords) 'decoded))
-       (setcar decoded (concat "\"" (car decoded)))
-       (setq decoded (get (car (last ewords)) 'decoded))
-       (setcar decoded (concat (car decoded) "\""))))))
-
-(defun ew-decode-phrase-others (start end)
-  (ew-decode-generic-others
-   start end
-   '(ew:qs-begin
-     ew:qs-end)
-   '(ew:qs-qfold
-     ew:qs-qpair)
-   '(ew:atom
-     ew:wsp
-     ew:fold
-     ew:qs-texts
-     ew:qs-wsp
-     ew:qs-fold)))
-
-(defmacro ew-rotate (var val len)
-  (let ((tmp (make-symbol "tmp")))
-    `(let ((,tmp (nthcdr ,(- len 2) ,var)))
-       (if (cdr ,tmp)
-          (progn
-            (setcdr (cdr ,tmp) ,var)
-            (setq ,var (cdr ,tmp))
-            (setcdr ,tmp nil))
-        (setq ,var (cons nil ,var)))
-       (setcar ,var ,val))))
-
-(defun ew-decode-phrase (anchor start end)
-  (ew-decode-generic
-   anchor start end
-   'ew-decode-phrase-ewords
-   'ew-decode-phrase-others
-   (if ew-decode-quoted-encoded-word
-       '(ew:atom ew:qs-texts)
-     '(ew:atom))
-   '(ew:wsp
-     ew:fold
-     ew:qs-wsp
-     ew:qs-fold)
-   '(ew:atom
-     ew:wsp
-     ew:fold
-     ew:qs-begin
-     ew:qs-end
-     ew:qs-texts
-     ew:qs-wsp
-     ew:qs-fold
-     ew:qs-qfold
-     ew:qs-qpair))
-  (let ((frag start) decoded str len idx char
-       chars frags
-       tmp)
-    (while (not (eq frag end))
-      (setq decoded (get frag 'decoded)
-           str (or (car-safe decoded) decoded)
-           len (length str)
-           idx 0)
-      (while (< idx len)
-       (setq char (sref str idx))
-       (ew-rotate chars char 3)
-       (ew-rotate frags frag 3)
-       (when (and (not (memq char '(?\t ?\ )))
-                  (equal (cdr chars) '(?\n ?\r))
-                  (eq (get (setq tmp (nth 2 frags)) 'type) 'ew:qs-qpair)
-                  (eq (symbol-name tmp) (get tmp 'decoded)))
-         (put tmp 'decoded "\r"))
-       (setq idx (char-next-index char idx)))
-      (setq frag (get frag 'next-frag)))
-    (setq frag end
-         tmp ())
-    (while (not (eq frag start))
-      (setq frag (get frag 'prev-frag)
-           tmp (cons (get frag 'decoded) tmp))
-      (put frag 'decoded ""))
-    (put start 'decoded (ew-encode-crlf (apply 'ew-quote-concat tmp)))))
-
-(defun ew-decode-comment-ewords (ewords)
-  (let* ((regexp "[()\\\\]")
-        has-dangerous-char
-        tmp decoded)
-    (setq tmp ewords)
-    (while tmp
-      (put (car tmp)
-          'decoded
-          (list (setq decoded (ew-decode-eword (symbol-name (car tmp))))))
-      (setq tmp (cdr tmp)
-           has-dangerous-char (or has-dangerous-char
-                                  (string-match regexp decoded))))
-    (when has-dangerous-char
-      (setq tmp ewords)
-      (while tmp
-       (setq decoded (get (car tmp) 'decoded))
-       (setcar decoded (ew-embed-in-comment (car decoded)))
-       (setq tmp (cdr tmp))))))
-
-(defun ew-decode-comment-others (start end)
-  (ew-decode-generic-others
-   start end
-   '()
-   '(ew:cm-qfold
-     ew:cm-qpair)
-   '(ew:cm-texts
-     ew:cm-wsp
-     ew:cm-fold)))
-
-(defun ew-decode-comment (anchor start end)
-  (ew-decode-generic
-   anchor start end
-   'ew-decode-comment-ewords
-   'ew-decode-comment-others
-   '(ew:cm-texts)
-   '(ew:cm-wsp
-     ew:cm-fold)
-   '(ew:cm-texts
-     ew:cm-wsp
-     ew:cm-fold
-     ew:cm-qfold
-     ew:cm-qpair))
-  (let ((frag start) decoded str len idx char
-       chars frags tmp)
-    (while (not (eq frag end))
-      (setq decoded (get frag 'decoded)
-           str (or (car-safe decoded) decoded)
-           len (length str)
-           idx 0)
-      (while (< idx len)
-       (setq char (sref str idx))
-       (ew-rotate chars char 3)
-       (ew-rotate frags frag 3)
-       (when (and (not (memq char '(?\t ?\ )))
-                  (equal (cdr chars) '(?\n ?\r))
-                  (eq (get (setq tmp (nth 2 frags)) 'type) 'ew:cm-qpair)
-                  (eq (symbol-name tmp) (get tmp 'decoded)))
-         (put tmp 'decoded "\r"))
-       (setq idx (char-next-index char idx)))
-      (setq frag (get frag 'next-frag)))
-    (setq frag end
-         tmp ())
-    (while (not (eq frag start))
-      (setq frag (get frag 'prev-frag)
-           tmp (cons (get frag 'decoded) tmp))
-      (put frag 'decoded ""))
-    (put start 'decoded (ew-encode-crlf (apply 'ew-quote-concat tmp)))))
-
-;;;
-
-(defun ew-embed-in-phrase (str)
-  (concat "\"" (ew-embed-in-quoted-string str) "\""))
-
-(defun ew-embed-in-quoted-string (str)
-  (ew-quote-as-quoted-pair str '(?\\ ?\")))
-
-(defun ew-embed-in-comment (str)
-  (ew-quote-as-quoted-pair str '(?\\ ?\( ?\))))
-
-(defun ew-quote-as-quoted-pair (str specials)
-  (let ((i 0) (j 0) (l (length str)) result)
-    (while (< j l)
-      (when (member (aref str j) specials)
-       (setq result (ew-rcons*
-                     result
-                     (substring str i j)
-                     "\\")
-             i j))
-      (setq j (1+ j)))
-    (when (< i l)
-      (setq result (ew-rcons*
-                   result
-                   (substring str i))))
-    (apply 'concat (nreverse result))))
-
-;;;
-
-(defun ew-contain-non-ascii-p (str)
-  (not (eq (charsets-to-mime-charset (find-charset-string str)) 'us-ascii)))
-
-'(
-
-(ew-decode-field "To" " =?US-ASCII?Q?phrase?= <akr@jaist.ac.jp>")
-(ew-decode-field "To" " =?US-ASCII?Q?phrase?= < =?US-ASCII?Q?akr?= @jaist.ac.jp>")
-(ew-decode-field "To" " =?US-ASCII?Q?akr?= @jaist.ac.jp")
-(ew-decode-field "Subject" " =?ISO-2022-JP?B?GyRCJCIbKEI=?=")
-(ew-decode-field "Content-Type" " text/vnd.latex-z(=?US-ASCII?Q?What=3F?=);charset=ISO-2022-JP")
-
-(ew-decode-field "To" " =?US-ASCII?Q?A=22B=5CC?= <akr@jaist.ac.jp>")
-(let ((ew-decode-quoted-encoded-word t))
-  (ew-decode-field "To" " \"=?US-ASCII?Q?A=22B=5CC?=\" <akr@jaist.ac.jp>"))
-
-(ew-decode-field "To" " akr@jaist.ac.jp (=?US-ASCII?Q?=28A=29B=5C?=)")
-
-(ew-decode-field "To" "\"A\\BC\e$B\\\"\\\\\e(B\" <foo@bar>")
-(ew-decode-field "To" "\"A\\BC\" <foo@bar>")
-(ew-decode-field "To" "\"\e\\$\\B\\$\\\"\e\\(\\B\" <foo@bar>")
-
-)
diff --git a/ew-line.el b/ew-line.el
deleted file mode 100644 (file)
index 226935a..0000000
+++ /dev/null
@@ -1,334 +0,0 @@
-(require 'lex)
-(require 'ew-util)
-(provide 'ew-line)
-
-(put 'ew-crlf-line-generic 'lisp-indent-function 1)
-(put 'ew-crlf-line-convert 'lisp-indent-function 1)
-(put 'ew-lf-line-generic 'lisp-indent-function 1)
-(put 'ew-lf-line-convert 'lisp-indent-function 1)
-
-(defun ew-tab-to-space (str)
-  (let ((i 0) (j 0) (l (length str)) result)
-    (while (< j l)
-      (when (equal (aref str j) ?\t)
-        (setq result (ew-rcons*
-                      result
-                      (substring str i j)
-                      " ")
-              i j))
-      (setq j (1+ j)))
-    (when (< i l)
-      (setq result (ew-rcons*
-                    result
-                    (substring str i))))
-    (apply 'concat (nreverse result))))
-
-(defun ew-lf-to-crlf (str)
-  (let ((i 0) (j 0) (l (length str)) result)
-    (while (< j l)
-      (when (equal (aref str j) ?\n)
-        (setq result (ew-rcons*
-                      result
-                      (substring str i j)
-                      "\r")
-              i j))
-      (setq j (1+ j)))
-    (when (< i l)
-      (setq result (ew-rcons*
-                    result
-                    (substring str i))))
-    (apply 'concat (nreverse result))))
-
-(defun ew-crlf-to-lf (str)
-  (let* ((i 0) (j 0) (l (length str)) (l- (1- l)) result)
-    (while (< j l-)
-      (when (and (equal (aref str j) ?\r)
-                (equal (aref str (1+ j)) ?\n))
-        (setq result (ew-rcons*
-                      result
-                      (substring str i j))
-             j (1+ j)
-              i j))
-      (setq j (1+ j)))
-    (when (< i l)
-      (setq result (ew-rcons*
-                    result
-                    (substring str i))))
-    (apply 'concat (nreverse result))))
-
-(defun ew-lf-crlf-to-crlf (str)
-  (let* ((i 0) (j 0) (l (length str)) (l- (1- l)) result)
-    (while (< j l)
-      (cond
-       ((and (< j l-)
-            (equal (aref str j) ?\r)
-            (equal (aref str (1+ j)) ?\n))
-       (setq j (1+ j)))
-       ((equal (aref str j) ?\n)
-        (setq result (ew-rcons*
-                      result
-                      (substring str i j)
-                     "\r")
-              i j)))
-      (setq j (1+ j)))
-    (when (< i l)
-      (setq result (ew-rcons*
-                    result
-                    (substring str i))))
-    (apply 'concat (nreverse result))))
-
-(defun ew-crlf-unfold (str)
-  (let* ((i 0) (j 0) (l (length str)) (l- (- l 2)) result)
-    (while (< j l-)
-      (when (and (equal (aref str j) ?\r)
-                (equal (aref str (1+ j)) ?\n)
-                (member (aref str (+ j 2)) '(?\t ?\ )))
-        (setq result (ew-rcons*
-                      result
-                      (substring str i j))
-             j (+ j 2)
-              i j))
-      (setq j (1+ j)))
-    (when (< i l)
-      (setq result (ew-rcons*
-                    result
-                    (substring str i))))
-    (apply 'concat (nreverse result))))
-
-(defun ew-lf-unfold (str)
-  (let* ((i 0) (j 0) (l (length str)) (l- (- l 1)) result)
-    (while (< j l-)
-      (when (and (equal (aref str j) ?\n)
-                (member (aref str (+ j 1)) '(?\t ?\ )))
-        (setq result (ew-rcons*
-                      result
-                      (substring str i j))
-             j (+ j 1)
-              i j))
-      (setq j (1+ j)))
-    (when (< i l)
-      (setq result (ew-rcons*
-                    result
-                    (substring str i))))
-    (apply 'concat (nreverse result))))
-
-(defun ew-cut-generic (str chars)
-  (let ((i 0) (j 0) (l (length str)) result)
-    (while (< j l)
-      (when (member (aref str j) chars)
-        (setq result (ew-rcons*
-                      result
-                      (substring str i j))
-              i (1+ j)))
-      (setq j (1+ j)))
-    (when (< i l)
-      (setq result (ew-rcons*
-                    result
-                    (substring str i))))
-    (apply 'concat (nreverse result))))
-
-(defun ew-cut-cr-lf (str)  (ew-cut-generic str '(?\r ?\n)))
-(defun ew-cut-cr (str) (ew-cut-generic str '(?\r)))
-(defun ew-cut-lf (str) (ew-cut-generic str '(?\n)))
-
-(defmacro ew-crlf-generic-define ()
-  (let ((str (make-symbol "str"))
-       (others-fun (make-symbol "others-fun"))
-       (fold-fun (make-symbol "fold-fun"))
-       (nl-fun (make-symbol "nl-fun"))
-       (cr-fun (make-symbol "cr-fun"))
-       (lf-fun (make-symbol "lf-fun"))
-       (p (make-symbol "p"))
-       (q (make-symbol "q"))
-       (r (make-symbol "r")))
-    `(defun ew-crlf-generic
-       (,str ,others-fun ,fold-fun ,nl-fun ,cr-fun ,lf-fun)
-       (let ((,p 0) (,q (length ,str)) ,r)
-        (while (< ,p ,q)
-          (setq ,r ,p)
-          (lex-scan-unibyte ,str ,p ,q
-            ((+ [^ "\r\n"]) (when ,others-fun (funcall ,others-fun ,r ,p)))
-            ((?\r ?\n [" \t"]) (when ,fold-fun (funcall ,fold-fun ,r ,p)))
-            ((?\r ?\n) (when ,nl-fun (funcall ,nl-fun ,r ,p)))
-            ((?\r) (when ,cr-fun (funcall ,cr-fun ,r ,p)))
-            ((?\n) (when ,lf-fun (funcall ,lf-fun ,r ,p)))
-            (() (error "something wrong"))))
-        ,q))))
-(ew-crlf-generic-define)
-
-(defmacro ew-crlf-line-generic-define ()
-  (let ((str (make-symbol "str"))
-       (others-fun (make-symbol "others-fun"))
-       (fold-fun (make-symbol "fold-fun"))
-       (nl-fun (make-symbol "nl-fun"))
-       (p (make-symbol "p"))
-       (q (make-symbol "q"))
-       (r (make-symbol "r")))
-    `(defun ew-crlf-line-generic
-       (,str ,others-fun ,fold-fun ,nl-fun)
-       (let ((,p 0) (,q (length ,str)) ,r)
-        (while (< ,p ,q)
-          (setq ,r ,p)
-          (lex-scan-unibyte ,str ,p ,q
-            (() (error "something wrong"))
-            (((* [^ "\r"])
-              (* (+ ?\r) [^ "\r\n"] (* [^ "\r"]))
-              (* ?\r)
-              (?\r ?\n [" \t"]))
-             (when (and ,others-fun (< ,r (- ,p 3))) (funcall ,others-fun ,r (- ,p 3)))
-             (when ,fold-fun (funcall ,fold-fun (- ,p 3) ,p)))
-            (((* [^ "\r"])
-              (* (+ ?\r) [^ "\r\n"] (* [^ "\r"]))
-              (* ?\r)
-              (?\r ?\n))
-             (when (and ,others-fun (< ,r (- ,p 2))) (funcall ,others-fun ,r (- ,p 2)))
-             (when ,nl-fun (funcall ,nl-fun (- ,p 2) ,p)))
-            (((* [^ "\r"])
-              (* (+ ?\r) [^ "\r\n"] (* [^ "\r"]))
-              (* ?\r))
-             (when ,others-fun (funcall ,others-fun ,r ,p)))))
-        ,q))))
-(ew-crlf-line-generic-define)
-
-(defmacro ew-lf-generic-define ()
-  (let ((str (make-symbol "str"))
-       (others-fun (make-symbol "others-fun"))
-       (fold-fun (make-symbol "fold-fun"))
-       (nl-fun (make-symbol "nl-fun"))
-       (cr-fun (make-symbol "cr-fun"))
-       (p (make-symbol "p"))
-       (q (make-symbol "q"))
-       (r (make-symbol "r")))
-    `(defun ew-lf-generic
-       (,str ,others-fun ,fold-fun ,nl-fun ,cr-fun)
-       (let ((,p 0) (,q (length ,str)) ,r)
-        (while (< ,p ,q)
-          (setq ,r ,p)
-          (lex-scan-unibyte ,str ,p ,q
-            ((+ [^ "\r\n"]) (when ,others-fun (funcall ,others-fun ,r ,p)))
-            ((?\n [" \t"]) (when ,fold-fun (funcall ,fold-fun ,r ,p)))
-            ((?\n) (when ,nl-fun (funcall ,nl-fun ,r ,p)))
-            ((?\r) (when ,cr-fun (funcall ,cr-fun ,r ,p)))
-            (() (error "something wrong"))))
-        ,q))))
-(ew-lf-generic-define)
-
-(defmacro ew-lf-line-generic-define ()
-  (let ((str (make-symbol "str"))
-       (others-fun (make-symbol "others-fun"))
-       (fold-fun (make-symbol "fold-fun"))
-       (nl-fun (make-symbol "nl-fun"))
-       (p (make-symbol "p"))
-       (q (make-symbol "q"))
-       (r (make-symbol "r")))
-    `(defun ew-lf-line-generic
-       (,str ,others-fun ,fold-fun ,nl-fun)
-       (let ((,p 0) (,q (length ,str)) ,r)
-        (while (< ,p ,q)
-          (setq ,r ,p)
-          (lex-scan-unibyte ,str ,p ,q
-            (() (error "something wrong"))
-            ((+ [^ "\n"])
-             (when ,others-fun (funcall ,others-fun ,r ,p)))
-            ((?\n [" \t"])
-             (when ,fold-fun (funcall ,fold-fun ,r ,p)))
-            (?\n
-             (when ,nl-fun (funcall ,nl-fun ,r ,p)))))
-        ,q))))
-(ew-lf-line-generic-define)
-
-(defmacro ew-generic-convert-define (name generic &rest funcs)
-  (let ((str (make-symbol "str"))
-       (funcs-vars (mapcar (lambda (func) (make-symbol (symbol-name func))) funcs))
-       (index (make-symbol "index"))
-       (result (make-symbol "result"))
-       (tmp (make-symbol "tmp"))
-       (start (make-symbol "starx"))
-       (end (make-symbol "end")))
-    `(defun ,name
-       (,str ,@funcs-vars)
-       (let ((,index 0) ,result ,tmp)
-        (when (> (,generic
-                  ,str
-                  ,@(mapcar
-                     (lambda (fun)
-                       `(when ,fun
-                          (lambda (,start ,end)
-                            (setq ,tmp (funcall ,fun (substring ,str ,start ,end)))
-                            (when ,tmp
-                              (when (< ,index ,start)
-                                (setq ,result
-                                      (ew-rcons* ,result
-                                                 (substring ,str ,index ,start))))
-                              (setq ,result (ew-rcons* ,result ,tmp)
-                                    ,index ,end)))))
-                     funcs-vars))
-                 ,index)
-          (setq ,result
-                (ew-rcons* ,result
-                           (substring ,str ,index))))
-        (apply 'concat (nreverse ,result))))))
-(ew-generic-convert-define ew-crlf-convert ew-crlf-generic others-fun fold-fun nl-fun cr-fun lf-fun)
-(ew-generic-convert-define ew-crlf-line-convert ew-crlf-line-generic others-fun fold-fun nl-fun)
-(ew-generic-convert-define ew-lf-convert ew-lf-generic others-fun fold-fun nl-fun cr-fun)
-(ew-generic-convert-define ew-lf-line-convert ew-lf-line-generic others-fun fold-fun nl-fun)
-
-(defmacro ew-fold-define (name convert nl)
-  `(defun ,name (str start-column line-length)
-     (let ((column start-column))
-       (,convert str
-         (lambda (line)
-          (let ((start 0)
-                (end (length line))
-                result tmp fold width)
-            (while (and (< start end)
-                        (progn
-                          (when (<= column 1)
-                            (setq tmp (sref line start)
-                                  result (ew-rcons* result (char-to-string tmp))
-                                  column (+ column (char-width tmp))
-                                  start (char-next-index tmp start)))
-                          (string-match "[ \t]" line start)))
-              (setq tmp (substring line start (match-beginning 0))
-                    width (string-width tmp)
-                    result (ew-rcons* result tmp)
-                    column (+ column width)
-                    start (match-beginning 0))
-              (if (<= line-length column)
-                  (progn
-                    (when (and fold (not (= line-length column)))
-                      (setcdr fold (cons (car fold) (cdr fold)))
-                      (setcar fold ,nl)
-                      (setq column (+ width
-                                      (if (eq (cdr result) fold)
-                                          0
-                                        (string-width (cadr result))))))
-                    (if (<= line-length column)
-                        (setq result (ew-rcons* result ,nl)
-                              column 0
-                              fold nil)
-                      (setq fold result)))
-                (setq fold result))
-              (setq tmp (sref line (match-beginning 0))
-                    result (ew-rcons* result (char-to-string tmp))
-                    column (+ column (char-width tmp))
-                    start (match-end 0)))
-            (when (< start end)
-              (setq tmp (substring line start)
-                    result (ew-rcons* result tmp)
-                    column (+ column (string-width tmp))))
-            (when (and (< line-length column) fold)
-              (setcdr fold (cons (car fold) (cdr fold)))
-              (setcar fold ,nl))
-            (apply 'concat (nreverse result))))
-        (lambda (fold) (setq column 1) nil)
-        (lambda (nl) (setq column 0) nil)))))
-
-(ew-fold-define ew-crlf-fold ew-crlf-line-convert "\r\n")
-(ew-fold-define ew-lf-fold ew-crlf-line-convert "\n")
-
-(defun ew-crlf-refold (string start-column line-length)
-  (ew-crlf-fold (ew-crlf-unfold string) start-column line-length))
-
-(defun ew-lf-refold (string start-column line-length)
-  (ew-lf-fold (ew-lf-unfold string) start-column line-length))
diff --git a/ew-parse.el b/ew-parse.el
deleted file mode 100644 (file)
index b439926..0000000
+++ /dev/null
@@ -1,796 +0,0 @@
-; *** Header ***
-(provide 'ew-parse)
-(require 'ew-data)
-(require 'lr-driver)
-
-; *** Token Definitions ***
-(defconst ew:*eoi*     0)
-(defconst ew:*anchor*  1)
-(defconst ew:*err*     2)
-(defconst ew:tag-mailbox       3)
-(defconst ew:tag-mailbox*      4)
-(defconst ew:tag-mailbox+      5)
-(defconst ew:tag-address*      6)
-(defconst ew:tag-address+      7)
-(defconst ew:tag-phrase*       8)
-(defconst ew:tag-phrase-msg-id*        9)
-(defconst ew:lt        10)
-(defconst ew:gt        11)
-(defconst ew:at        12)
-(defconst ew:comma     13)
-(defconst ew:semicolon 14)
-(defconst ew:colon     15)
-(defconst ew:dot       16)
-(defconst ew:atom      17)
-(defconst ew:slash     18)
-(defconst ew:question  19)
-(defconst ew:equal     20)
-(defconst ew:token     21)
-(defconst ew:qs-begin  22)
-(defconst ew:qs-end    23)
-(defconst ew:qs-texts  24)
-(defconst ew:qs-wsp    25)
-(defconst ew:qs-fold   26)
-(defconst ew:qs-qfold  27)
-(defconst ew:qs-qpair  28)
-(defconst ew:dl-begin  29)
-(defconst ew:dl-end    30)
-(defconst ew:dl-texts  31)
-(defconst ew:dl-wsp    32)
-(defconst ew:dl-fold   33)
-(defconst ew:dl-qfold  34)
-(defconst ew:dl-qpair  35)
-(defconst ew:cm-begin  36)
-(defconst ew:cm-end    37)
-(defconst ew:cm-nested-begin   38)
-(defconst ew:cm-nested-end     39)
-(defconst ew:cm-texts  40)
-(defconst ew:cm-wsp    41)
-(defconst ew:cm-fold   42)
-(defconst ew:cm-qfold  43)
-(defconst ew:cm-qpair  44)
-(defconst ew:wsp       45)
-(defconst ew:fold      46)
-(defconst ew:us-texts  47)
-(defconst ew:us-wsp    48)
-(defconst ew:us-fold   49)
-
-(defconst ew:token-defs
-  (list 
-   (cons 0 "*eoi*")
-   (cons 1 "*anchor*")
-   (cons 2 "*err*")
-   (cons 3 "tag-mailbox")
-   (cons 4 "tag-mailbox*")
-   (cons 5 "tag-mailbox+")
-   (cons 6 "tag-address*")
-   (cons 7 "tag-address+")
-   (cons 8 "tag-phrase*")
-   (cons 9 "tag-phrase-msg-id*")
-   (cons 10 "lt")
-   (cons 11 "gt")
-   (cons 12 "at")
-   (cons 13 "comma")
-   (cons 14 "semicolon")
-   (cons 15 "colon")
-   (cons 16 "dot")
-   (cons 17 "atom")
-   (cons 18 "slash")
-   (cons 19 "question")
-   (cons 20 "equal")
-   (cons 21 "token")
-   (cons 22 "qs-begin")
-   (cons 23 "qs-end")
-   (cons 24 "qs-texts")
-   (cons 25 "qs-wsp")
-   (cons 26 "qs-fold")
-   (cons 27 "qs-qfold")
-   (cons 28 "qs-qpair")
-   (cons 29 "dl-begin")
-   (cons 30 "dl-end")
-   (cons 31 "dl-texts")
-   (cons 32 "dl-wsp")
-   (cons 33 "dl-fold")
-   (cons 34 "dl-qfold")
-   (cons 35 "dl-qpair")
-   (cons 36 "cm-begin")
-   (cons 37 "cm-end")
-   (cons 38 "cm-nested-begin")
-   (cons 39 "cm-nested-end")
-   (cons 40 "cm-texts")
-   (cons 41 "cm-wsp")
-   (cons 42 "cm-fold")
-   (cons 43 "cm-qfold")
-   (cons 44 "cm-qpair")
-   (cons 45 "wsp")
-   (cons 46 "fold")
-   (cons 47 "us-texts")
-   (cons 48 "us-wsp")
-   (cons 49 "us-fold")
-  ))
-
-; *** Action Table ***
-(defconst ew:action-table
-  [
-     ((default . *error*) (3 . 7) (4 . 6) (5 . 5) (6 . 4) (7 . 3) (8 . 2) (9 . 1))
-     ((default . -61))
-     ((default . -61))
-     ((default . -61))
-     ((default . -61))
-     ((default . -61))
-     ((default . -61))
-     ((default . -61))
-     ((default . *error*) (0 . 16))
-     ((default . -51) (17 . 21) (22 . 20) (36 . 19) (45 . 18) (46 . 17))
-     ((default . -53) (17 . 21) (22 . 20) (36 . 19) (45 . 18) (46 . 17))
-     ((default . *error*) (10 . 34) (17 . 21) (22 . 20) (36 . 19) (45 . 18) (46 . 17))
-     ((default . -9) (10 . 34) (17 . 21) (22 . 20) (36 . 19) (45 . 18) (46 . 17))
-     ((default . *error*) (10 . 34) (17 . 21) (22 . 20) (36 . 19) (45 . 18) (46 . 17))
-     ((default . -30) (10 . 34) (17 . 21) (22 . 20) (36 . 19) (45 . 18) (46 . 17))
-     ((default . *error*) (10 . 34) (17 . 21) (22 . 20) (36 . 19) (45 . 18) (46 . 17))
-     ((default . -1) (0 . accept))
-     ((default . -63))
-     ((default . -62))
-     ((default . -90))
-     ((default . -76))
-     ((default . -61))
-     ((default . -64))
-     ((default . -61))
-     ((default . -48))
-     ((default . -49))
-     ((default . -8) (10 . 34))
-     ((default . -57))
-     ((default . -37))
-     ((default . -36) (17 . 21) (22 . 20))
-     ((default . -52))
-     ((default . -54) (13 . 60))
-     ((default . -7))
-     ((default . -55))
-     ((default . -61))
-     ((default . -43) (12 . 63))
-     ((default . -37) (16 . -25) (12 . -25))
-     ((default . -29))
-     ((default . *error*) (10 . 34) (15 . 68))
-     ((default . -13))
-     ((default . *error*) (12 . 63) (16 . 71))
-     ((default . -14))
-     ((default . -27))
-     ((default . -11))
-     ((default . -6) (13 . 60))
-     ((default . -10) (13 . 60))
-     ((default . -5))
-     ((default . *error*) (10 . 34))
-     ((default . -4) (13 . 60))
-     ((default . -32))
-     ((default . -31) (13 . 60))
-     ((default . -3))
-     ((default . -2))
-     ((default . *error*) (37 . 83) (38 . 82) (39 . 81) (40 . 80) (41 . 79) (42 . 78) (43 . 77) (44 . 76))
-     ((default . *error*) (23 . 89) (24 . 88) (25 . 87) (26 . 86) (27 . 85) (28 . 84))
-     ((default . -74) (36 . 19) (45 . 18) (46 . 17))
-     ((default . -72) (36 . 19) (45 . 18) (46 . 17))
-     ((default . *error*) (17 . 21) (22 . 20))
-     ((default . -51) (17 . 21) (22 . 20))
-     ((default . -38))
-     ((default . -61))
-     ((default . *error*) (17 . 21) (22 . 20))
-     ((default . -65) (36 . 19) (45 . 18) (46 . 17))
-     ((default . -61))
-     ((default . *error*) (17 . 21) (29 . 96))
-     ((default . *error*) (17 . 21) (22 . 20))
-     ((default . *error*) (13 . 60) (15 . 68))
-     ((default . -44))
-     ((default . -61))
-     ((default . -30) (10 . 34) (17 . 21) (22 . 20))
-     ((default . -28))
-     ((default . -61))
-     ((default . *error*) (17 . 21) (22 . 20))
-     ((default . *error*) (17 . 21) (29 . 96))
-     ((default . *error*) (10 . 34) (17 . 21) (22 . 20))
-     ((default . *error*) (10 . 34) (17 . 21) (22 . 20))
-     ((default . -97))
-     ((default . -96))
-     ((default . -95))
-     ((default . -94))
-     ((default . -93))
-     ((default . -92))
-     ((default . -91))
-     ((default . -89))
-     ((default . -81))
-     ((default . -80))
-     ((default . -79))
-     ((default . -78))
-     ((default . -77))
-     ((default . -75))
-     ((default . -25))
-     ((default . *error*) (11 . 113))
-     ((default . -58))
-     ((default . -68) (36 . 19) (45 . 18) (46 . 17))
-     ((default . -56))
-     ((default . -67) (36 . 19) (45 . 18) (46 . 17))
-     ((default . -83))
-     ((default . -61))
-     ((default . -21))
-     ((default . -46))
-     ((default . -19))
-     ((default . -45))
-     ((default . -40) (16 . 71))
-     ((default . *error*) (11 . 113))
-     ((default . -39))
-     ((default . *error*) (12 . 63))
-     ((default . -70) (36 . 19) (45 . 18) (46 . 17))
-     ((default . *error*) (14 . 120))
-     ((default . -71) (36 . 19) (45 . 18) (46 . 17))
-     ((default . -26))
-     ((default . -15) (16 . 71))
-     ((default . -12))
-     ((default . -33))
-     ((default . -61))
-     ((default . -35))
-     ((default . *error*) (30 . 128) (31 . 127) (32 . 126) (33 . 125) (34 . 124) (35 . 123))
-     ((default . -73) (36 . 19) (45 . 18) (46 . 17))
-     ((default . *error*) (17 . 21) (29 . 96))
-     ((default . -42))
-     ((default . *error*) (17 . 21) (29 . 96))
-     ((default . -61))
-     ((default . -22))
-     ((default . -66) (36 . 19) (45 . 18) (46 . 17))
-     ((default . -88))
-     ((default . -87))
-     ((default . -86))
-     ((default . -85))
-     ((default . -84))
-     ((default . -82))
-     ((default . -20))
-     ((default . -41) (16 . 71))
-     ((default . -69) (36 . 19) (45 . 18) (46 . 17))
-    ])
-
-; *** Goto Table ***
-(defconst ew:goto-table
-  [
-     ((1 . 8))
-     ((33 . 9))
-     ((33 . 10))
-     ((33 . 11))
-     ((33 . 12))
-     ((33 . 13))
-     ((33 . 14))
-     ((33 . 15))
-     ()
-     ((48 . 22)(44 . 23)(43 . 24)(41 . 25)(31 . 26)(28 . 27)(26 . 28)(19 . 29)(18 . 30))
-     ((48 . 22)(44 . 23)(43 . 24)(41 . 25)(30 . 31)(29 . 32)(26 . 28)(19 . 29)(18 . 33))
-     ((48 . 22)(44 . 23)(43 . 24)(41 . 25)(34 . 35)(26 . 36)(22 . 37)(19 . 29)(18 . 38)(13 . 39)(12 . 40)(10 . 41)(5 . 42)(4 . 43)(3 . 44))
-     ((48 . 22)(44 . 23)(43 . 24)(41 . 25)(34 . 35)(26 . 36)(22 . 37)(19 . 29)(18 . 38)(13 . 39)(12 . 40)(10 . 41)(5 . 42)(4 . 43)(3 . 45)(2 . 46))
-     ((48 . 22)(44 . 23)(43 . 24)(41 . 25)(34 . 35)(26 . 36)(22 . 37)(19 . 29)(18 . 47)(15 . 48)(13 . 49)(12 . 40)(5 . 42))
-     ((48 . 22)(44 . 23)(43 . 24)(41 . 25)(34 . 35)(26 . 36)(22 . 37)(19 . 29)(18 . 47)(15 . 50)(14 . 51)(13 . 49)(12 . 40)(5 . 42))
-     ((48 . 22)(44 . 23)(43 . 24)(41 . 25)(34 . 35)(26 . 36)(22 . 37)(19 . 29)(18 . 47)(13 . 52)(12 . 40)(5 . 42))
-     ()
-     ()
-     ()
-     ((49 . 53))
-     ((45 . 54))
-     ((33 . 55))
-     ()
-     ((33 . 56))
-     ()
-     ()
-     ((34 . 57)(17 . 58))
-     ()
-     ()
-     ((44 . 23)(43 . 24)(41 . 25)(26 . 59))
-     ()
-     ((37 . 61))
-     ()
-     ()
-     ((33 . 62))
-     ((36 . 64)(23 . 65)(21 . 66)(20 . 67))
-     ()
-     ()
-     ((39 . 69)(34 . 35)(22 . 70))
-     ()
-     ((40 . 72)(36 . 73))
-     ()
-     ()
-     ()
-     ((37 . 74))
-     ((37 . 74))
-     ()
-     ((34 . 35)(22 . 70))
-     ((37 . 75))
-     ()
-     ((37 . 75))
-     ()
-     ()
-     ()
-     ()
-     ((48 . 22))
-     ((48 . 22))
-     ((44 . 23)(43 . 24)(41 . 25)(26 . 90)(12 . 40)(5 . 91))
-     ((44 . 23)(43 . 24)(41 . 25)(28 . 92)(26 . 28)(19 . 29)(18 . 30))
-     ()
-     ((33 . 93))
-     ((44 . 23)(43 . 24)(41 . 25)(26 . 28)(19 . 29)(18 . 94))
-     ((48 . 22))
-     ((33 . 95))
-     ((46 . 97)(43 . 98)(42 . 99)(24 . 100)(9 . 101)(8 . 102))
-     ((44 . 23)(43 . 24)(41 . 25)(26 . 90)(12 . 40)(5 . 103))
-     ((39 . 104)(37 . 105))
-     ()
-     ((33 . 106))
-     ((44 . 23)(43 . 24)(41 . 25)(34 . 35)(26 . 36)(22 . 37)(19 . 29)(18 . 47)(15 . 50)(14 . 107)(13 . 49)(12 . 40)(5 . 42))
-     ()
-     ((33 . 108))
-     ((44 . 23)(43 . 24)(41 . 25)(26 . 109))
-     ((46 . 97)(43 . 98)(42 . 99)(24 . 100)(9 . 101)(8 . 110))
-     ((44 . 23)(43 . 24)(41 . 25)(34 . 35)(26 . 36)(22 . 37)(19 . 29)(18 . 38)(13 . 39)(12 . 40)(10 . 41)(5 . 42)(4 . 111))
-     ((44 . 23)(43 . 24)(41 . 25)(34 . 35)(26 . 36)(22 . 37)(19 . 29)(18 . 47)(13 . 112)(12 . 40)(5 . 42))
-     ()
-     ()
-     ()
-     ()
-     ()
-     ()
-     ()
-     ()
-     ()
-     ()
-     ()
-     ()
-     ()
-     ()
-     ()
-     ((35 . 114))
-     ()
-     ((48 . 22))
-     ()
-     ((48 . 22))
-     ((47 . 115))
-     ((33 . 116))
-     ()
-     ()
-     ()
-     ()
-     ((40 . 117))
-     ((35 . 118))
-     ()
-     ((36 . 119))
-     ((48 . 22))
-     ((38 . 121))
-     ((48 . 22))
-     ()
-     ((40 . 117))
-     ()
-     ()
-     ((33 . 122))
-     ()
-     ()
-     ((48 . 22))
-     ((46 . 97)(43 . 98)(42 . 99)(24 . 129)(9 . 101))
-     ()
-     ((46 . 97)(43 . 98)(42 . 99)(24 . 100)(9 . 101)(8 . 130))
-     ((33 . 131))
-     ()
-     ((48 . 22))
-     ()
-     ()
-     ()
-     ()
-     ()
-     ()
-     ()
-     ((40 . 117))
-     ((48 . 22))
-    ])
-
-; *** Reduction Table ***
-(defconst ew:reduction-table
-  (vector
-    '()
-    (lambda (stack sp goto-table $look)
-      (let* (($2 (aref stack (- sp 1)))
-             ($1 (aref stack (- sp 3))))
-          (accept $1)))
-    (lambda (stack sp goto-table $look)
-      (let* (($3 (aref stack (- sp 1)))
-             ($2 (aref stack (- sp 3)))
-             ($1 (aref stack (- sp 5))))
-          (lr-push stack (- sp 6) 1 goto-table ())))
-    (lambda (stack sp goto-table $look)
-      (let* (($3 (aref stack (- sp 1)))
-             ($2 (aref stack (- sp 3)))
-             ($1 (aref stack (- sp 5))))
-          (lr-push stack (- sp 6) 1 goto-table ())))
-    (lambda (stack sp goto-table $look)
-      (let* (($3 (aref stack (- sp 1)))
-             ($2 (aref stack (- sp 3)))
-             ($1 (aref stack (- sp 5))))
-          (lr-push stack (- sp 6) 1 goto-table ())))
-    (lambda (stack sp goto-table $look)
-      (let* (($3 (aref stack (- sp 1)))
-             ($2 (aref stack (- sp 3)))
-             ($1 (aref stack (- sp 5))))
-          (lr-push stack (- sp 6) 1 goto-table ())))
-    (lambda (stack sp goto-table $look)
-      (let* (($3 (aref stack (- sp 1)))
-             ($2 (aref stack (- sp 3)))
-             ($1 (aref stack (- sp 5))))
-          (lr-push stack (- sp 6) 1 goto-table ())))
-    (lambda (stack sp goto-table $look)
-      (let* (($3 (aref stack (- sp 1)))
-             ($2 (aref stack (- sp 3)))
-             ($1 (aref stack (- sp 5))))
-          (lr-push stack (- sp 6) 1 goto-table ())))
-    (lambda (stack sp goto-table $look)
-      (let* (($3 (aref stack (- sp 1)))
-             ($2 (aref stack (- sp 3)))
-             ($1 (aref stack (- sp 5))))
-          (lr-push stack (- sp 6) 1 goto-table ())))
-    (lambda (stack sp goto-table $look)
-      (let* ()
-          (lr-push stack (- sp 0) 2 goto-table ())))
-    (lambda (stack sp goto-table $look)
-      (let* (($1 (aref stack (- sp 1))))
-          (lr-push stack (- sp 2) 2 goto-table ())))
-    (lambda (stack sp goto-table $look)
-      (let* (($1 (aref stack (- sp 1))))
-          (lr-push stack (- sp 2) 3 goto-table ())))
-    (lambda (stack sp goto-table $look)
-      (let* (($3 (aref stack (- sp 1)))
-             ($2 (aref stack (- sp 3)))
-             ($1 (aref stack (- sp 5))))
-          (lr-push stack (- sp 6) 3 goto-table ())))
-    (lambda (stack sp goto-table $look)
-      (let* (($1 (aref stack (- sp 1))))
-          (lr-push stack (- sp 2) 4 goto-table ())))
-    (lambda (stack sp goto-table $look)
-      (let* (($1 (aref stack (- sp 1))))
-          (lr-push stack (- sp 2) 4 goto-table ())))
-    (lambda (stack sp goto-table $look)
-      (let* (($3 (aref stack (- sp 1)))
-             ($2 (aref stack (- sp 3)))
-             ($1 (aref stack (- sp 5))))
-          (lr-push stack (- sp 6) 5 goto-table ())))
-    (lambda (stack sp goto-table $look)
-      (let* (($3 (aref stack (- sp 1)))
-             ($2 (aref stack (- sp 3)))
-             ($1 (aref stack (- sp 5))))
-          (lr-push stack (- sp 6) 6 goto-table ())))
-    (lambda (stack sp goto-table $look)
-      (let* (($4 (aref stack (- sp 1)))
-             ($3 (aref stack (- sp 3)))
-             ($2 (aref stack (- sp 5)))
-             ($1 (aref stack (- sp 7))))
-          (lr-push stack (- sp 8) 7 goto-table ())))
-    (lambda (stack sp goto-table $look)
-      (let* (($2 (aref stack (- sp 1)))
-             ($1 (aref stack (- sp 3))))
-          (lr-push stack (- sp 4) 7 goto-table ())))
-    (lambda (stack sp goto-table $look)
-      (let* (($1 (aref stack (- sp 1))))
-          (lr-push stack (- sp 2) 8 goto-table ())))
-    (lambda (stack sp goto-table $look)
-      (let* (($3 (aref stack (- sp 1)))
-             ($2 (aref stack (- sp 3)))
-             ($1 (aref stack (- sp 5))))
-          (lr-push stack (- sp 6) 8 goto-table ())))
-    (lambda (stack sp goto-table $look)
-      (let* (($1 (aref stack (- sp 1))))
-          (lr-push stack (- sp 2) 9 goto-table ())))
-    (lambda (stack sp goto-table $look)
-      (let* (($4 (aref stack (- sp 1)))
-             ($3 (aref stack (- sp 3)))
-             ($2 (aref stack (- sp 5)))
-             ($1 (aref stack (- sp 7))))
-          (lr-push stack (- sp 8) 10 goto-table ())))
-    (lambda (stack sp goto-table $look)
-      (let* (($3 (aref stack (- sp 1)))
-             ($2 (aref stack (- sp 3)))
-             ($1 (aref stack (- sp 5))))
-          (lr-push stack (- sp 6) 11 goto-table ())))
-    (lambda (stack sp goto-table $look)
-      (let* (($5 (aref stack (- sp 1)))
-             ($4 (aref stack (- sp 3)))
-             ($3 (aref stack (- sp 5)))
-             ($2 (aref stack (- sp 7)))
-             ($1 (aref stack (- sp 9))))
-          (lr-push stack (- sp 10) 11 goto-table ())))
-    (lambda (stack sp goto-table $look)
-      (let* (($1 (aref stack (- sp 1))))
-          (lr-push stack (- sp 2) 12 goto-table ())))
-    (lambda (stack sp goto-table $look)
-      (let* (($3 (aref stack (- sp 1)))
-             ($2 (aref stack (- sp 3)))
-             ($1 (aref stack (- sp 5))))
-          (lr-push stack (- sp 6) 12 goto-table ())))
-    (lambda (stack sp goto-table $look)
-      (let* (($1 (aref stack (- sp 1))))
-          (lr-push stack (- sp 2) 13 goto-table ())))
-    (lambda (stack sp goto-table $look)
-      (let* (($2 (aref stack (- sp 1)))
-             ($1 (aref stack (- sp 3))))
-          (lr-push stack (- sp 4) 13 goto-table ())))
-    (lambda (stack sp goto-table $look)
-      (let* (($1 (aref stack (- sp 1))))
-          (lr-push stack (- sp 2) 13 goto-table ())))
-    (lambda (stack sp goto-table $look)
-      (let* ()
-          (lr-push stack (- sp 0) 14 goto-table ())))
-    (lambda (stack sp goto-table $look)
-      (let* (($1 (aref stack (- sp 1))))
-          (lr-push stack (- sp 2) 14 goto-table ())))
-    (lambda (stack sp goto-table $look)
-      (let* (($1 (aref stack (- sp 1))))
-          (lr-push stack (- sp 2) 15 goto-table ())))
-    (lambda (stack sp goto-table $look)
-      (let* (($3 (aref stack (- sp 1)))
-             ($2 (aref stack (- sp 3)))
-             ($1 (aref stack (- sp 5))))
-          (lr-push stack (- sp 6) 15 goto-table ())))
-    (lambda (stack sp goto-table $look)
-      (let* (($1 (aref stack (- sp 1))))
-          (lr-push stack (- sp 2) 16 goto-table ())))
-    (lambda (stack sp goto-table $look)
-      (let* (($3 (aref stack (- sp 1)))
-             ($2 (aref stack (- sp 3)))
-             ($1 (aref stack (- sp 5))))
-          (lr-push stack (- sp 6) 17 goto-table ())))
-    (lambda (stack sp goto-table $look)
-      (let* (($1 (aref stack (- sp 1))))
-          (lr-push stack (- sp 2) 18 goto-table (ew-mark-phrase $1 $look))))
-    (lambda (stack sp goto-table $look)
-      (let* (($1 (aref stack (- sp 1))))
-          (lr-push stack (- sp 2) 19 goto-table $1)))
-    (lambda (stack sp goto-table $look)
-      (let* (($2 (aref stack (- sp 1)))
-             ($1 (aref stack (- sp 3))))
-          (lr-push stack (- sp 4) 19 goto-table $1)))
-    (lambda (stack sp goto-table $look)
-      (let* (($2 (aref stack (- sp 1)))
-             ($1 (aref stack (- sp 3))))
-          (lr-push stack (- sp 4) 20 goto-table ())))
-    (lambda (stack sp goto-table $look)
-      (let* (($2 (aref stack (- sp 1)))
-             ($1 (aref stack (- sp 3))))
-          (lr-push stack (- sp 4) 21 goto-table ())))
-    (lambda (stack sp goto-table $look)
-      (let* (($4 (aref stack (- sp 1)))
-             ($3 (aref stack (- sp 3)))
-             ($2 (aref stack (- sp 5)))
-             ($1 (aref stack (- sp 7))))
-          (lr-push stack (- sp 8) 21 goto-table ())))
-    (lambda (stack sp goto-table $look)
-      (let* (($4 (aref stack (- sp 1)))
-             ($3 (aref stack (- sp 3)))
-             ($2 (aref stack (- sp 5)))
-             ($1 (aref stack (- sp 7))))
-          (lr-push stack (- sp 8) 22 goto-table ())))
-    (lambda (stack sp goto-table $look)
-      (let* ()
-          (lr-push stack (- sp 0) 23 goto-table ())))
-    (lambda (stack sp goto-table $look)
-      (let* (($1 (aref stack (- sp 1))))
-          (lr-push stack (- sp 2) 23 goto-table ())))
-    (lambda (stack sp goto-table $look)
-      (let* (($1 (aref stack (- sp 1))))
-          (lr-push stack (- sp 2) 24 goto-table ())))
-    (lambda (stack sp goto-table $look)
-      (let* (($1 (aref stack (- sp 1))))
-          (lr-push stack (- sp 2) 24 goto-table ())))
-    (lambda (stack sp goto-table $look)
-      (let* (($2 (aref stack (- sp 1)))
-             ($1 (aref stack (- sp 3))))
-          (lr-push stack (- sp 4) 25 goto-table ())))
-    (lambda (stack sp goto-table $look)
-      (let* (($1 (aref stack (- sp 1))))
-          (lr-push stack (- sp 2) 26 goto-table $1)))
-    (lambda (stack sp goto-table $look)
-      (let* (($1 (aref stack (- sp 1))))
-          (lr-push stack (- sp 2) 26 goto-table $1)))
-    (lambda (stack sp goto-table $look)
-      (let* (($1 (aref stack (- sp 1))))
-          (lr-push stack (- sp 2) 27 goto-table ())))
-    (lambda (stack sp goto-table $look)
-      (let* ()
-          (lr-push stack (- sp 0) 28 goto-table ())))
-    (lambda (stack sp goto-table $look)
-      (let* (($1 (aref stack (- sp 1))))
-          (lr-push stack (- sp 2) 28 goto-table ())))
-    (lambda (stack sp goto-table $look)
-      (let* ()
-          (lr-push stack (- sp 0) 29 goto-table ())))
-    (lambda (stack sp goto-table $look)
-      (let* (($1 (aref stack (- sp 1))))
-          (lr-push stack (- sp 2) 29 goto-table ())))
-    (lambda (stack sp goto-table $look)
-      (let* (($1 (aref stack (- sp 1))))
-          (lr-push stack (- sp 2) 30 goto-table ())))
-    (lambda (stack sp goto-table $look)
-      (let* (($3 (aref stack (- sp 1)))
-             ($2 (aref stack (- sp 3)))
-             ($1 (aref stack (- sp 5))))
-          (lr-push stack (- sp 6) 30 goto-table ())))
-    (lambda (stack sp goto-table $look)
-      (let* (($1 (aref stack (- sp 1))))
-          (lr-push stack (- sp 2) 31 goto-table ())))
-    (lambda (stack sp goto-table $look)
-      (let* (($3 (aref stack (- sp 1)))
-             ($2 (aref stack (- sp 3)))
-             ($1 (aref stack (- sp 5))))
-          (lr-push stack (- sp 6) 31 goto-table ())))
-    (lambda (stack sp goto-table $look)
-      (let* (($1 (aref stack (- sp 1))))
-          (lr-push stack (- sp 2) 32 goto-table ())))
-    (lambda (stack sp goto-table $look)
-      (let* (($3 (aref stack (- sp 1)))
-             ($2 (aref stack (- sp 3)))
-             ($1 (aref stack (- sp 5))))
-          (lr-push stack (- sp 6) 32 goto-table ())))
-    (lambda (stack sp goto-table $look)
-      (let* ()
-          (lr-push stack (- sp 0) 33 goto-table ())))
-    (lambda (stack sp goto-table $look)
-      (let* (($2 (aref stack (- sp 1)))
-             ($1 (aref stack (- sp 3))))
-          (lr-push stack (- sp 4) 33 goto-table ())))
-    (lambda (stack sp goto-table $look)
-      (let* (($2 (aref stack (- sp 1)))
-             ($1 (aref stack (- sp 3))))
-          (lr-push stack (- sp 4) 33 goto-table ())))
-    (lambda (stack sp goto-table $look)
-      (let* (($2 (aref stack (- sp 1)))
-             ($1 (aref stack (- sp 3))))
-          (lr-push stack (- sp 4) 33 goto-table ())))
-    (lambda (stack sp goto-table $look)
-      (let* (($2 (aref stack (- sp 1)))
-             ($1 (aref stack (- sp 3))))
-          (lr-push stack (- sp 4) 34 goto-table ())))
-    (lambda (stack sp goto-table $look)
-      (let* (($2 (aref stack (- sp 1)))
-             ($1 (aref stack (- sp 3))))
-          (lr-push stack (- sp 4) 35 goto-table ())))
-    (lambda (stack sp goto-table $look)
-      (let* (($2 (aref stack (- sp 1)))
-             ($1 (aref stack (- sp 3))))
-          (lr-push stack (- sp 4) 36 goto-table ())))
-    (lambda (stack sp goto-table $look)
-      (let* (($2 (aref stack (- sp 1)))
-             ($1 (aref stack (- sp 3))))
-          (lr-push stack (- sp 4) 37 goto-table ())))
-    (lambda (stack sp goto-table $look)
-      (let* (($2 (aref stack (- sp 1)))
-             ($1 (aref stack (- sp 3))))
-          (lr-push stack (- sp 4) 38 goto-table ())))
-    (lambda (stack sp goto-table $look)
-      (let* (($2 (aref stack (- sp 1)))
-             ($1 (aref stack (- sp 3))))
-          (lr-push stack (- sp 4) 39 goto-table ())))
-    (lambda (stack sp goto-table $look)
-      (let* (($2 (aref stack (- sp 1)))
-             ($1 (aref stack (- sp 3))))
-          (lr-push stack (- sp 4) 40 goto-table ())))
-    (lambda (stack sp goto-table $look)
-      (let* (($2 (aref stack (- sp 1)))
-             ($1 (aref stack (- sp 3))))
-          (lr-push stack (- sp 4) 41 goto-table $1)))
-    (lambda (stack sp goto-table $look)
-      (let* (($2 (aref stack (- sp 1)))
-             ($1 (aref stack (- sp 3))))
-          (lr-push stack (- sp 4) 42 goto-table ())))
-    (lambda (stack sp goto-table $look)
-      (let* (($2 (aref stack (- sp 1)))
-             ($1 (aref stack (- sp 3))))
-          (lr-push stack (- sp 4) 43 goto-table $1)))
-    (lambda (stack sp goto-table $look)
-      (let* (($3 (aref stack (- sp 1)))
-             ($2 (aref stack (- sp 3)))
-             ($1 (aref stack (- sp 5))))
-          (lr-push stack (- sp 6) 44 goto-table $1)))
-    (lambda (stack sp goto-table $look)
-      (let* ()
-          (lr-push stack (- sp 0) 45 goto-table ())))
-    (lambda (stack sp goto-table $look)
-      (let* (($2 (aref stack (- sp 1)))
-             ($1 (aref stack (- sp 3))))
-          (lr-push stack (- sp 4) 45 goto-table ())))
-    (lambda (stack sp goto-table $look)
-      (let* (($2 (aref stack (- sp 1)))
-             ($1 (aref stack (- sp 3))))
-          (lr-push stack (- sp 4) 45 goto-table ())))
-    (lambda (stack sp goto-table $look)
-      (let* (($2 (aref stack (- sp 1)))
-             ($1 (aref stack (- sp 3))))
-          (lr-push stack (- sp 4) 45 goto-table ())))
-    (lambda (stack sp goto-table $look)
-      (let* (($2 (aref stack (- sp 1)))
-             ($1 (aref stack (- sp 3))))
-          (lr-push stack (- sp 4) 45 goto-table ())))
-    (lambda (stack sp goto-table $look)
-      (let* (($2 (aref stack (- sp 1)))
-             ($1 (aref stack (- sp 3))))
-          (lr-push stack (- sp 4) 45 goto-table ())))
-    (lambda (stack sp goto-table $look)
-      (let* (($3 (aref stack (- sp 1)))
-             ($2 (aref stack (- sp 3)))
-             ($1 (aref stack (- sp 5))))
-          (lr-push stack (- sp 6) 46 goto-table ())))
-    (lambda (stack sp goto-table $look)
-      (let* ()
-          (lr-push stack (- sp 0) 47 goto-table ())))
-    (lambda (stack sp goto-table $look)
-      (let* (($2 (aref stack (- sp 1)))
-             ($1 (aref stack (- sp 3))))
-          (lr-push stack (- sp 4) 47 goto-table ())))
-    (lambda (stack sp goto-table $look)
-      (let* (($2 (aref stack (- sp 1)))
-             ($1 (aref stack (- sp 3))))
-          (lr-push stack (- sp 4) 47 goto-table ())))
-    (lambda (stack sp goto-table $look)
-      (let* (($2 (aref stack (- sp 1)))
-             ($1 (aref stack (- sp 3))))
-          (lr-push stack (- sp 4) 47 goto-table ())))
-    (lambda (stack sp goto-table $look)
-      (let* (($2 (aref stack (- sp 1)))
-             ($1 (aref stack (- sp 3))))
-          (lr-push stack (- sp 4) 47 goto-table ())))
-    (lambda (stack sp goto-table $look)
-      (let* (($2 (aref stack (- sp 1)))
-             ($1 (aref stack (- sp 3))))
-          (lr-push stack (- sp 4) 47 goto-table ())))
-    (lambda (stack sp goto-table $look)
-      (let* (($3 (aref stack (- sp 1)))
-             ($2 (aref stack (- sp 3)))
-             ($1 (aref stack (- sp 5))))
-          (lr-push stack (- sp 6) 48 goto-table ())))
-    (lambda (stack sp goto-table $look)
-      (let* ()
-          (lr-push stack (- sp 0) 49 goto-table ())))
-    (lambda (stack sp goto-table $look)
-      (let* (($2 (aref stack (- sp 1)))
-             ($1 (aref stack (- sp 3))))
-          (lr-push stack (- sp 4) 49 goto-table ())))
-    (lambda (stack sp goto-table $look)
-      (let* (($2 (aref stack (- sp 1)))
-             ($1 (aref stack (- sp 3))))
-          (lr-push stack (- sp 4) 49 goto-table ())))
-    (lambda (stack sp goto-table $look)
-      (let* (($2 (aref stack (- sp 1)))
-             ($1 (aref stack (- sp 3))))
-          (lr-push stack (- sp 4) 49 goto-table ())))
-    (lambda (stack sp goto-table $look)
-      (let* (($2 (aref stack (- sp 1)))
-             ($1 (aref stack (- sp 3))))
-          (lr-push stack (- sp 4) 49 goto-table ())))
-    (lambda (stack sp goto-table $look)
-      (let* (($2 (aref stack (- sp 1)))
-             ($1 (aref stack (- sp 3))))
-          (lr-push stack (- sp 4) 49 goto-table ())))
-    (lambda (stack sp goto-table $look)
-      (let* (($2 (aref stack (- sp 1)))
-             ($1 (aref stack (- sp 3))))
-          (lr-push stack (- sp 4) 49 goto-table ())))
-    (lambda (stack sp goto-table $look)
-      (let* (($2 (aref stack (- sp 1)))
-             ($1 (aref stack (- sp 3))))
-          (lr-push stack (- sp 4) 49 goto-table ())))
-  ))
-
-; *** Parser Definition ***
-(defun ew-parse(scanner errorhandler)
-  (lr-parse scanner errorhandler 
-    ew:action-table
-    ew:goto-table
-    ew:reduction-table
-    ew:token-defs))
-
-; *** Footer ***
-(put 'ew:cm-texts 'decode 'ew-decode-comment)
-(put 'ew:cm-wsp 'decode 'ew-decode-comment)
-(put 'ew:cm-fold 'decode 'ew-decode-comment)
-(put 'ew:cm-qfold 'decode 'ew-decode-comment)
-(put 'ew:cm-qpair 'decode 'ew-decode-comment)
-(put 'ew:us-texts 'decode 'ew-decode-unstructured)
-(put 'ew:us-wsp 'decode 'ew-decode-unstructured)
-(put 'ew:us-fold 'decode 'ew-decode-unstructured)
-
-
diff --git a/ew-parse.scm b/ew-parse.scm
deleted file mode 100644 (file)
index ddb0074..0000000
+++ /dev/null
@@ -1,182 +0,0 @@
-(define field-grammar
-'(
-; Terminal symbols
-*anchor*
-*err*
-
-tag-mailbox
-tag-mailbox*
-tag-mailbox+
-tag-address*
-tag-address+
-tag-phrase*
-tag-phrase-msg-id*
-
-;; S : STD11 structured field
-;; M : MIME structured field
-;; U : Unstructured field
-
-lt              ; S/M
-gt              ; S/M
-at              ; S/M
-comma           ; S/M
-semicolon       ; S/M
-colon           ; S/M
-
-dot             ; S
-atom            ; S
-
-slash           ; M
-question        ; M
-equal           ; M
-token           ; M
-
-qs-begin        ; S/M
-qs-end          ; S/M
-qs-texts        ; S/M
-qs-wsp          ; S/M
-qs-fold         ; S/M
-qs-qfold        ; S/M
-qs-qpair        ; S/M
-
-dl-begin        ; S/M
-dl-end          ; S/M
-dl-texts        ; S/M
-dl-wsp          ; S/M
-dl-fold         ; S/M
-dl-qfold        ; S/M
-dl-qpair        ; S/M
-
-cm-begin        ; S/M
-cm-end          ; S/M
-cm-nested-begin ; S/M
-cm-nested-end   ; S/M
-cm-texts        ; S/M
-cm-wsp          ; S/M
-cm-fold         ; S/M
-cm-qfold        ; S/M
-cm-qpair        ; S/M
-
-wsp             ; S/M
-fold            ; S/M
-
-us-texts        ; U
-us-wsp          ; U
-us-fold         ; U
-
-; Productions
-(start (tag-mailbox gap mailbox)                  : ()
-  (tag-mailbox* gap mailbox*)                     : ()
-  (tag-mailbox+ gap mailbox+)                     : ()
-  (tag-address* gap address*)                     : ()
-  (tag-address+ gap address+)                     : ()
-  (tag-phrase* gap phrase*)                       : ()
-  (tag-phrase-msg-id* gap phrase-msg-id*)         : ())
-(address* ()                                      : ()
-  (address+)                                      : ())
-(address+ (address)                               : ()
-  (address+ comma-gap address)                    : ())
-(address (mailbox)                                : ()
-  (group)                                         : ())
-(addr-spec (local-part at-gap domain)             : ())
-(date (atom-gap atom-gap atom-gap)                : ())
-(date-time (atom-gap comma-gap date time)         : ()
-  (date time)                                     : ())
-(domain (sub-domain)                              : ()
-  (domain dot-gap sub-domain)                     : ())
-(domain-ref (atom-gap)                            : ())
-(group (phrase colon-gap mailbox* semicolon-gap)  : ())
-(hour (atom-gap colon-gap atom-gap)               : ()
-  (atom-gap colon-gap atom-gap colon-gap atom-gap): ())
-(local-part (word)                                : ()
-  (local-part dot-gap word)                       : ())
-(mailbox (addr-spec)                              : ()
-  (phrase route-addr)                             : ()
-  (route-addr)                                    : ())
-(mailbox* ()                                      : ()
-  (mailbox+)                                      : ())
-(mailbox+ (mailbox)                               : ()
-  (mailbox+ comma-gap mailbox)                    : ())
-(month (atom-gap)                                 : ())
-(msg-id (lt-gap addr-spec gt-gap)                 : ())
-(phrase (phrase-c)                                : (ew-mark-phrase $1 $look))
-(phrase-c (word)                                  : $1
-  (phrase-c word)                                 : $1)
-(route (at-domain+ colon-gap)                     : ())
-(at-domain+ (at-gap domain)                       : ()
-  (at-domain+ comma-gap at-gap domain)            : ())
-(route-addr (lt-gap route/ addr-spec gt-gap)      : ())
-(route/ ()                                        : ()
-  (route)                                         : ())
-(sub-domain (domain-ref)                          : ()
-  (domain-literal-gap)                            : ())
-(time (hour zone)                                 : ())
-(word (atom-gap)                                  : $1
-  (quoted-string-gap)                             : $1)
-(zone (atom-gap)                                  : ())
-(phrase/ ()                                       : ()
-  (phrase)                                        : ())
-(phrase* ()                                       : ()
-  (phrase+)                                       : ())
-(phrase+ (phrase)                                 : ()
-  (phrase+ comma-gap phrase)                      : ())
-(phrase-msg-id* (phrase/)                         : ()
-  (phrase-msg-id* msg-id phrase/)                 : ())
-(word1or2 (word)                                  : ()
-  (word comma-gap word)                           : ())
-(gap ()                                           : ()
-  (gap wsp)                                       : ()
-  (gap fold)                                      : ()
-  (gap comment)                                   : ())
-(lt-gap (lt gap)                                  : ())
-(gt-gap (gt gap)                                  : ())
-(at-gap (at gap)                                  : ())
-(comma-gap (comma gap)                            : ())
-(semicolon-gap (semicolon gap)                    : ())
-(colon-gap (colon gap)                            : ())
-(dot-gap (dot gap)                                : ())
-(quoted-string-gap (quoted-string gap)            : $1)
-(domain-literal-gap (domain-literal gap)          : ())
-(atom-gap (atom gap)                              : $1)
-(quoted-string (qs-begin qs qs-end)               : $1)
-(qs ()                                            : ()
-  (qs qs-texts)                                   : ()
-  (qs qs-wsp)                                     : ()
-  (qs qs-fold)                                    : ()
-  (qs qs-qfold)                                   : ()
-  (qs qs-qpair)                                   : ())
-(domain-literal (dl-begin dl dl-end)              : ())
-(dl ()                                            : ()
-  (dl dl-texts)                                   : ()
-  (dl dl-wsp)                                     : ()
-  (dl dl-fold)                                    : ()
-  (dl dl-qfold)                                   : ()
-  (dl dl-qpair)                                   : ())
-(comment (cm-begin cm cm-end)                     : ())
-(cm ()                                            : ()
-  (cm cm-nested-begin)                            : ()
-  (cm cm-nested-end)                              : ()
-  (cm cm-texts)                                   : ()
-  (cm cm-wsp)                                     : ()
-  (cm cm-fold)                                    : ()
-  (cm cm-qfold)                                   : ()
-  (cm cm-qpair)                                   : ())
-
-))
-
-(gen-lalr1 field-grammar "ew-parse.el"
-"(provide 'ew-parse)
-(require 'ew-data)
-"
-"(put 'ew:cm-texts 'decode 'ew-decode-comment)
-(put 'ew:cm-wsp 'decode 'ew-decode-comment)
-(put 'ew:cm-fold 'decode 'ew-decode-comment)
-(put 'ew:cm-qfold 'decode 'ew-decode-comment)
-(put 'ew:cm-qpair 'decode 'ew-decode-comment)
-(put 'ew:us-texts 'decode 'ew-decode-unstructured)
-(put 'ew:us-wsp 'decode 'ew-decode-unstructured)
-(put 'ew:us-fold 'decode 'ew-decode-unstructured)
-"
-'ew)
-
-(print-states)
diff --git a/ew-quote.el b/ew-quote.el
deleted file mode 100644 (file)
index 583d060..0000000
+++ /dev/null
@@ -1,193 +0,0 @@
-;;; quoted encoded word library
-
-(require 'ew-var)
-(require 'ew-util)
-(require 'ew-line)
-(provide 'ew-quote)
-
-;; This library provides functions operating strings embedding
-;; unencodable encoded words.
-
-;;;type   embedded-pattern     denoted-pattern
-;; Type-0 =?(QQQ)*A?B?C?=      =?(Q)*A?B?C?=
-;; Type-1 =?(QQQ)*QA?B?C?=     Decode =?(Q)*A?B?C?= as encoded-word
-;; Type-2 =?(QQQ)*QQA?B?C?=    =?(Q)*A?B?C?
-
-;; Q : quoting character '+'.
-;; A : token. But it does not start with quoting character.
-;; B : token.
-;; C : encoded-text.
-
-(eval-and-compile
-  (defconst ew-quoting-char ?+))
-(defconst ew-quoting-chars-regexp
-  (eval-when-compile
-    (concat (regexp-quote (char-to-string ew-quoting-char)) "*")))
-
-(defconst ew-type2-regexp
-  (eval-when-compile
-    (require 'ew-var)
-    (concat (regexp-quote "=?")
-            "\\(" ew-token-regexp "\\)"
-            (regexp-quote "?")
-            "\\(" ew-token-regexp "\\)"
-            (regexp-quote "?")
-            "\\(" ew-encoded-text-regexp "\\)"
-            (regexp-quote "?")
-            "\\'")))
-
-;;;
-
-(defun ew-quoting-char-seq (num)
-  (make-string num ew-quoting-char))
-
-(defun ew-quote (str)
-  (ew-quote-concat str))
-
-(defun ew-concat (&rest args)
-  (apply 'ew-quote-concat (mapcar 'list args)))
-
-(defun ew-quote-concat (&rest args)
-  (let (result raws tmp)
-    (while args
-      (setq tmp (car args))
-      (cond
-       ((stringp tmp)
-       ;; raw string
-       (setq raws (cons tmp raws)))
-       ((listp tmp)
-       ;; quoted encoded word embedding strings
-       (let (str start eword-start charset-start quoting-end eword-end l q r)
-         (while tmp
-           (setq str (car tmp)
-                 start 0)
-           (while (string-match ew-encoded-word-regexp str start)
-             (setq eword-start (match-beginning 0)
-                   charset-start (match-beginning 1)
-                   eword-end (match-end 0))
-             (string-match ew-quoting-chars-regexp str charset-start)
-             (setq quoting-end (match-end 0)
-                   l (- quoting-end charset-start)
-                   q (/ l 3)
-                   r (% l 3))
-             (cond
-              ((= r 0) ; Type-0
-               (setq raws
-                     (ew-rcons*
-                      raws
-                      (substring str start charset-start)
-                      (ew-quoting-char-seq q)
-                      (substring str quoting-end eword-end))))
-              ((= r 2) ; Type-2
-               (setq raws
-                     (ew-rcons*
-                      raws
-                      (substring str start charset-start)
-                      (ew-quoting-char-seq q)
-                      (substring str quoting-end (1- eword-end)))))
-              ((= r 1) ; Type-1
-               (setq raws
-                     (ew-rcons*
-                      raws
-                      (substring str start eword-start))
-                     result
-                     (ew-rcons*
-                      result
-                      (ew-quote-sole (apply 'concat (nreverse raws)) t)
-                      (substring str eword-start eword-end))
-                     raws ())))
-             (setq start eword-end))
-           (setq raws (ew-rcons* raws (substring str start))
-                 tmp (cdr tmp)))))
-       (t
-       (error "ew-quote-concat: %s" tmp)))
-      (setq args (cdr args)))
-    (setq result
-         (ew-rcons*
-          result
-          (ew-quote-sole (apply 'concat (nreverse raws)) nil)))
-    (apply 'concat (nreverse result))))
-
-(defun ew-quote-sole (str gen-type2)
-  (let (result (start 0) charset-start quoting-end eword-end l)
-    (while (string-match ew-encoded-word-regexp str start)
-      (setq charset-start (match-beginning 1)
-           eword-end (match-end 0))
-      (string-match ew-quoting-chars-regexp str charset-start)
-      (setq quoting-end (match-end 0)
-           l (* (- quoting-end charset-start) 3)
-           result
-           (ew-rcons*
-            result
-            (substring str start charset-start)
-            (ew-quoting-char-seq l)
-            (substring str quoting-end eword-end))
-           start eword-end))
-    (if (and gen-type2
-            (string-match ew-type2-regexp str start))
-       (progn
-         (setq charset-start (match-beginning 1)
-               eword-end (match-end 0))
-         (string-match ew-quoting-chars-regexp str charset-start)
-         (setq quoting-end (match-end 0)
-               l (* (- quoting-end charset-start) 3)
-               result
-               (ew-rcons*
-                result
-                (substring str start charset-start)
-                (ew-quoting-char-seq (+ l 2))
-                (substring str quoting-end eword-end)
-                "=")))
-      (setq result (ew-rcons* result (substring str start))))
-    (apply 'concat (nreverse result))))
-
-(defun ew-quote-eword (charset encoding encoded-text)
-  (string-match ew-quoting-chars-regexp charset)
-  (concat
-   "=?+" ; Type-1
-   (ew-quoting-char-seq (* (- (match-end 0) (match-beginning 0)) 3))
-   (substring charset (match-end 0))
-   "?"
-   encoding
-   "?"
-   encoded-text
-   "?="))
-
-(defun ew-encode-crlf (str)
-  (if ew-remove-bare-crlf
-      (ew-crlf-line-convert str nil nil (lambda (nl) ""))
-    (let ((sstart 0)
-         (mstart 0)
-         (end (length str)) result ms me)
-      (while (string-match "\\(\r\n\\)+" str mstart)
-       (setq ms (match-beginning 0)
-             me (match-end 0))
-       (setq mstart me)
-       (when (and (< me end)
-                  (member (aref str me) '(?\t ?\ )))
-         (setq me (- me 2)))
-       (when (< ms me)
-         (setq result (ew-rcons* result
-                                 (substring str sstart ms)
-                                 "=?+US-ASCII?Q?")
-               sstart me)
-         (while (< ms me)
-           (setq result (ew-rcons* result "=0D=0A")
-                 ms (+ ms 2)))
-         (setq result (ew-rcons* result "?="))))
-      (when (< sstart end)
-       (setq result (ew-rcons* result
-                               (substring str sstart))))
-      (apply 'concat (nreverse result)))))
-
-'(
-(ew-quote-concat "aaa=?A?B?C?=ccc") ;"aaa=?A?B?C?=ccc"
-(ew-quote-concat "aaa=?+A?B?C?=ccc") ;"aaa=?+++A?B?C?=ccc"
-(ew-quote-concat '("aaa=?A?B?C?=ccc")) ;"aaa=?A?B?C?=ccc"
-(ew-quote-concat '("aaa=?+++A?B?C?=ccc")) ;"aaa=?+++A?B?C?=ccc"
-(ew-quote-concat "aaa=?+A?B" "?C?=ccc") ;"aaa=?+++A?B?C?=ccc"
-(ew-quote-concat "a=?+A?B?C?" '("=?+US-ASCII?Q?z?=")) ;"a=?+++++A?B?C?==?+US-ASCII?Q?z?="
-(ew-quote-concat "a=?+A?B?C?=?+D?E?F?" '("=?+US-ASCII?Q?z?=")) ;"a=?+++A?B?C?=?+D?E?F?=?+US-ASCII?Q?z?="
-(ew-quote-concat "a=?+A?B?C?=?+D?E?F?=?+G?H?I?" '("=?+US-ASCII?Q?z?=")) ;"a=?+++A?B?C?=?+D?E?F?=?+++++G?H?I?==?+US-ASCII?Q?z?="
-(ew-quote-concat '("a=?++A?B?C?==?+++A?B?C?=c")) ;"a=?A?B?C?=?+A?B?C?=c"
-)
diff --git a/ew-scan-m.el b/ew-scan-m.el
deleted file mode 100644 (file)
index d8dbf85..0000000
+++ /dev/null
@@ -1,174 +0,0 @@
-(require 'lex)
-(require 'automata)
-(require 'ew-data)
-(require 'ew-parse)
-(provide 'ew-scan-m)
-
-(defmacro ew-scan-mime (scan col str)
-  `(let ((res (ew-make-anchor col str))
-        (mode 'token)
-        (p 0)
-        (q (length str))
-        r
-        type
-        nest)
-     (while (< p q)
-       (setq r p)
-       (cond
-       ((eq mode 'token)
-        (setq
-         type
-         (,scan
-          str p q
-          ([" \t"] 'ew:wsp)
-          (?< 'ew:lt)
-          (?> 'ew:gt)
-          (?@ 'ew:at)
-          (?, 'ew:comma)
-          (?\; 'ew:semicolon)
-          (?: 'ew:colon)
-          (?/ 'ew:slash)
-          (?? 'ew:question)
-          (?= 'ew:equal)
-          ((?\r ?\n [" \t"]) 'ew:fold)
-          ((?\r ?\n [^ " \t"])
-           (setq p q) 'ew:*err*)
-          ((+ [(?a ?z) (?A ?Z) (?0 ?9) "!#$%&'*+-.^_`{|}~" non-ascii])
-           'ew:token)
-          (?\" (setq mode 'quoted-string) 'ew:qs-begin)
-          (?\[ (setq mode 'domain-literal) 'ew:dl-begin)
-          (?\( (setq mode 'comment
-                     nest 1)
-               'ew:cm-begin)
-          (() (setq p q) 'ew:*err*)))
-        (ew-add-frag res r p type))
-       ((eq mode 'quoted-string)
-        (setq
-         type
-         (,scan
-          str p q
-          (?\" (setq mode 'token) 'ew:qs-end)
-          ((?\\ ?\r ?\n [" \t"]) 'ew:qs-qfold)
-          ((?\\ ?\r ?\n [^ " \t"])
-           (setq p q) 'ew:*err*)
-          (((* [^ "\"\\ \t\r"])
-            (* (+ ?\r) [^ "\"\\ \t\r\n"] (* [^ "\"\\ \t\r"]))
-            (* ?\r)
-            (?\r ?\n [" \t"]))
-           (when (< r (- p 3))
-             (ew-add-frag res r (- p 3) 'ew:qs-texts)
-             (setq r (- p 3)))
-           'ew:qs-fold)
-          (((* [^ "\"\\ \t\r"])
-            (* (+ ?\r) [^ "\"\\ \t\r\n"] (* [^ "\"\\ \t\r"]))
-            (* ?\r)
-            (?\r ?\n [^ " \t"]))
-           (when (< r (- p 3))
-             (ew-add-frag res r (- p 3) 'ew:qs-texts)
-             (setq r (- p 3)))
-           (setq p q) 'ew:*err*)
-          ((?\\ (any))
-           'ew:qs-qpair)
-          ([" \t"]
-           'ew:qs-wsp)
-          (((* [^ "\"\\ \t\r"])
-            (* (+ ?\r) [^ "\"\\ \t\r\n"] (* [^ "\"\\ \t\r"]))
-            (* ?\r))
-           (if (< r p)
-               'ew:qs-texts
-             (progn (setq p q) 'ew:*err*)))))
-        (ew-add-frag res r p type))
-       ((eq mode 'domain-literal)
-        (setq
-         type
-         (,scan
-          str p q
-          (?\] (setq mode 'token) 'ew:dl-end)
-          ((?\\ ?\r ?\n [" \t"])
-           'ew:dl-qfold)
-          ((?\\ ?\r ?\n [^ " \t"])
-           (setq p q) 'ew:*err*)
-          (((* [^ "[]\\ \t\r"])
-            (* (+ ?\r) [^ "[]\\ \t\r\n"] (* [^ "[]\\ \t\r"]))
-            (* ?\r)
-            (?\r ?\n [" \t"]))
-           (when (< r (- p 3))
-             (ew-add-frag res r (- p 3) 'ew:dl-texts)
-             (setq r (- p 3)))
-           'ew:dl-fold)
-          (((* [^ "[]\\ \t\r"])
-            (* (+ ?\r) [^ "[]\\ \t\r\n"] (* [^ "[]\\ \t\r"]))
-            (* ?\r)
-            (?\r ?\n [^ " \t"]))
-           (when (< r (- p 3))
-             (ew-add-frag res r (- p 3) 'ew:dl-texts)
-             (setq r (- p 3)))
-           (setq p q) 'ew:*err*)
-          ((?\\ (any))
-           'ew:dl-qpair)
-          ([" \t"]
-           'ew:dl-wsp)
-          (((* [^ "[]\\ \t\r"])
-            (* (+ ?\r) [^ "[]\\ \t\r\n"] (* [^ "[]\\ \t\r"]))
-            (* ?\r))
-           (if (< r p)
-               'ew:dl-texts
-             (progn (setq p q) 'ew:*err*)))))
-        (ew-add-frag res r p type))
-       ((eq mode 'comment)
-        (setq
-         type
-         (,scan
-          str p q
-          (?\( (setq nest (1+ nest)) 'ew:cm-nested-begin)
-          (?\) (setq nest (1- nest))
-               (if (zerop nest)
-                   (progn (setq mode 'token) 'ew:cm-end)
-                 'ew:cm-nested-end))
-          ((?\\ ?\r ?\n [" \t"])
-           'ew:cm-qfold)
-          ((?\\ ?\r ?\n [^ " \t"])
-           (setq p q) 'ew:*err*)
-          (((* [^ "()\\ \t\r"])
-            (* (+ ?\r) [^ "()\\ \t\r\n"] (* [^ "()\\ \t\r"]))
-            (* ?\r)
-            (?\r ?\n [" \t"]))
-           (when (< r (- p 3))
-             (ew-add-frag res r (- p 3) 'ew:cm-texts)
-             (setq r (- p 3)))
-           'ew:cm-fold)
-          (((* [^ "()\\ \t\r"])
-            (* (+ ?\r) [^ "()\\ \t\r\n"] (* [^ "()\\ \t\r"]))
-            (* ?\r)
-            (?\r ?\n [^ " \t"]))
-           (when (< r (- p 3))
-             (ew-add-frag res r (- p 3) 'ew:cm-texts)
-             (setq r (- p 3)))
-           (setq p q) 'ew:*err*)
-          ((?\\ (any))
-           'ew:cm-qpair)
-          ([" \t"]
-           'ew:cm-wsp)
-          (((* [^ "()\\ \t\r"])
-            (* (+ ?\r) [^ "()\\ \t\r\n"] (* [^ "()\\ \t\r"]))
-            (* ?\r))
-           (if (< r p)
-               'ew:cm-texts
-             (progn (setq p q) 'ew:*err*)))))
-        (ew-add-frag res r p type))))
-     (ew-terminate res)
-     res))
-
-(defun ew-scan-unibyte-mime (col str)
-  (ew-scan-mime lex-scan-unibyte col str))
-(defun ew-scan-multibyte-mime (col str)
-  (ew-scan-mime lex-scan-multibyte col str))
-
-'(     
-(npp
- (mapcar
-  (lambda (frag) (cons (get frag 'type) (symbol-name frag)))
-  (ew-frag-list
-   (ew-scan-unibyte-mime
-    0 " text/vnd.latex-z; charset=ISO-2022-JP"))))
-)
diff --git a/ew-scan-s.el b/ew-scan-s.el
deleted file mode 100644 (file)
index 3c07044..0000000
+++ /dev/null
@@ -1,179 +0,0 @@
-(require 'lex)
-(require 'automata)
-(require 'ew-data)
-(require 'ew-parse)
-(provide 'ew-scan-s)
-
-(defmacro ew-scan-std11 (scan col str)
-  `(let ((res (ew-make-anchor col str))
-        (mode 'token)
-        (p 0)
-        (q (length str))
-        r
-        type
-        nest)
-     (while (< p q)
-       (setq r p)
-       (cond
-       ((eq mode 'token)
-        (setq
-         type
-         (,scan
-          str p q
-          ([" \t"] 'ew:wsp)
-          (?< 'ew:lt)
-          (?> 'ew:gt)
-          (?@ 'ew:at)
-          (?, 'ew:comma)
-          (?\; 'ew:semicolon)
-          (?: 'ew:colon)
-          (?. 'ew:dot)
-          ((?\r ?\n [" \t"]) 'ew:fold)
-          ((?\r ?\n [^ " \t"])
-           (setq p q) 'ew:*err*)
-          ((+ [(?a ?z) (?A ?Z) (?0 ?9) "!#$%&'*+-/=?^_`{|}~" non-ascii])
-           'ew:atom)
-          (?\" (setq mode 'quoted-string) 'ew:qs-begin)
-          (?\[ (setq mode 'domain-literal) 'ew:dl-begin)
-          (?\( (setq mode 'comment
-                     nest 1)
-               'ew:cm-begin)
-          (() (setq p q) 'ew:*err*)))
-        (ew-add-frag res r p type))
-       ((eq mode 'quoted-string)
-        (setq
-         type
-         (,scan
-          str p q
-          (?\" (setq mode 'token) 'ew:qs-end)
-          ((?\\ ?\r ?\n [" \t"]) 'ew:qs-qfold)
-          ((?\\ ?\r ?\n [^ " \t"])
-           (setq p q) 'ew:*err*)
-          (((* [^ "\"\\ \t\r"])
-            (* (+ ?\r) [^ "\"\\ \t\r\n"] (* [^ "\"\\ \t\r"]))
-            (* ?\r)
-            (?\r ?\n [" \t"]))
-           (when (< r (- p 3))
-             (ew-add-frag res r (- p 3) 'ew:qs-texts)
-             (setq r (- p 3)))
-           'ew:qs-fold)
-          (((* [^ "\"\\ \t\r"])
-            (* (+ ?\r) [^ "\"\\ \t\r\n"] (* [^ "\"\\ \t\r"]))
-            (* ?\r)
-            (?\r ?\n [^ " \t"]))
-           (when (< r (- p 3))
-             (ew-add-frag res r (- p 3) 'ew:qs-texts)
-             (setq r (- p 3)))
-           (setq p q) 'ew:*err*)
-          ((?\\ (any))
-           'ew:qs-qpair)
-          ([" \t"]
-           'ew:qs-wsp)
-          (((* [^ "\"\\ \t\r"])
-            (* (+ ?\r) [^ "\"\\ \t\r\n"] (* [^ "\"\\ \t\r"]))
-            (* ?\r))
-           (if (< r p)
-               'ew:qs-texts
-             (progn (setq p q) 'ew:*err*)))))
-        (ew-add-frag res r p type))
-       ((eq mode 'domain-literal)
-        (setq
-         type
-         (,scan
-          str p q
-          (?\] (setq mode 'token) 'ew:dl-end)
-          ((?\\ ?\r ?\n [" \t"])
-           'ew:dl-qfold)
-          ((?\\ ?\r ?\n [^ " \t"])
-           (setq p q) 'ew:*err*)
-          (((* [^ "[]\\ \t\r"])
-            (* (+ ?\r) [^ "[]\\ \t\r\n"] (* [^ "[]\\ \t\r"]))
-            (* ?\r)
-            (?\r ?\n [" \t"]))
-           (when (< r (- p 3))
-             (ew-add-frag res r (- p 3) 'ew:dl-texts)
-             (setq r (- p 3)))
-           'ew:dl-fold)
-          (((* [^ "[]\\ \t\r"])
-            (* (+ ?\r) [^ "[]\\ \t\r\n"] (* [^ "[]\\ \t\r"]))
-            (* ?\r)
-            (?\r ?\n [^ " \t"]))
-           (when (< r (- p 3))
-             (ew-add-frag res r (- p 3) 'ew:dl-texts)
-             (setq r (- p 3)))
-           (setq p q) 'ew:*err*)
-          ((?\\ (any))
-           'ew:dl-qpair)
-          ([" \t"]
-           'ew:dl-wsp)
-          (((* [^ "[]\\ \t\r"])
-            (* (+ ?\r) [^ "[]\\ \t\r\n"] (* [^ "[]\\ \t\r"]))
-            (* ?\r))
-           (if (< r p)
-               'ew:dl-texts
-             (progn (setq p q) 'ew:*err*)))))
-        (ew-add-frag res r p type))
-       ((eq mode 'comment)
-        (setq
-         type
-         (,scan
-          str p q
-          (?\( (setq nest (1+ nest)) 'ew:cm-nested-begin)
-          (?\) (setq nest (1- nest))
-               (if (zerop nest)
-                   (progn (setq mode 'token) 'ew:cm-end)
-                 'ew:cm-nested-end))
-          ((?\\ ?\r ?\n [" \t"])
-           'ew:cm-qfold)
-          ((?\\ ?\r ?\n [^ " \t"])
-           (setq p q) 'ew:*err*)
-          (((* [^ "()\\ \t\r"])
-            (* (+ ?\r) [^ "()\\ \t\r\n"] (* [^ "()\\ \t\r"]))
-            (* ?\r)
-            (?\r ?\n [" \t"]))
-           (when (< r (- p 3))
-             (ew-add-frag res r (- p 3) 'ew:cm-texts)
-             (setq r (- p 3)))
-           'ew:cm-fold)
-          (((* [^ "()\\ \t\r"])
-            (* (+ ?\r) [^ "()\\ \t\r\n"] (* [^ "()\\ \t\r"]))
-            (* ?\r)
-            (?\r ?\n [^ " \t"]))
-           (when (< r (- p 3))
-             (ew-add-frag res r (- p 3) 'ew:cm-texts)
-             (setq r (- p 3)))
-           (setq p q) 'ew:*err*)
-          ((?\\ (any))
-           'ew:cm-qpair)
-          ([" \t"]
-           'ew:cm-wsp)
-          (((* [^ "()\\ \t\r"])
-            (* (+ ?\r) [^ "()\\ \t\r\n"] (* [^ "()\\ \t\r"]))
-            (* ?\r))
-           (if (< r p)
-               'ew:cm-texts
-             (progn (setq p q) 'ew:*err*)))))
-        (ew-add-frag res r p type))))
-     (ew-terminate res)
-     res))
-
-(defun ew-scan-unibyte-std11 (col str)
-  (ew-scan-std11 lex-scan-unibyte col str))
-(defun ew-scan-multibyte-std11 (col str)
-  (ew-scan-std11 lex-scan-multibyte col str))
-
-'(     
-(npp
- (mapcar
-  'symbol-plist
-  (ew-frag-list
-   (ew-scan-unibyte-std11
-    0 " Tanaka Akira <akr@jaist.ac.jp> (Tanaka Akira)"))))
-
-(npp
- (mapcar
-  (lambda (frag) (cons (get frag 'type) (symbol-name frag)))
-  (ew-frag-list
-   (ew-scan-unibyte-std11
-    0 " Tanaka Akira <akr@jaist.ac.jp> (Tanaka Akira)"))))
-)
diff --git a/ew-scan-u.el b/ew-scan-u.el
deleted file mode 100644 (file)
index 92c240f..0000000
+++ /dev/null
@@ -1,66 +0,0 @@
-(require 'lex)
-(require 'automata)
-(require 'ew-data)
-(require 'ew-parse)
-(provide 'ew-scan-u)
-
-(defmacro ew-scan-unstructured (scan col str)
-  `(let ((res (ew-make-anchor col str))
-        (p 0)
-        (q (length str))
-        r
-        type)
-     (while (< p q)
-       (setq r p)
-       (setq
-       type
-       (,scan
-        str p q
-        ([" \t"] 'ew:us-wsp)
-        (((* [^ " \t\r"])
-          (* (+ ?\r) [^ " \t\r\n"] (* [^ " \t\r"]))
-          (* ?\r)
-          (?\r ?\n [" \t"]))
-         (when (< r (- p 3))
-           (ew-add-frag res r (- p 3) 'ew:us-texts)
-           (setq r (- p 3)))
-         'ew:us-fold)
-        (((* [^ " \t\r"])
-          (* (+ ?\r) [^ " \t\r\n"] (* [^ " \t\r"]))
-          (* ?\r)
-          (?\r ?\n [^ " \t"]))
-         (when (< r (- p 3))
-           (ew-add-frag res r (- p 3) 'ew:us-texts)
-           (setq r (- p 3)))
-         (setq p q) 'ew:*err*)
-        (((* [^ " \t\r"])
-          (* (+ ?\r) [^ " \t\r\n"] (* [^ " \t\r"]))
-          (* ?\r))
-         (if (< r p)
-             'ew:us-texts
-           (progn (setq p q) 'ew:*err*)))))
-       (ew-add-frag res r p type))
-     (ew-terminate res)
-     res))
-
-(defun ew-scan-unibyte-unstructured (col str)
-  (ew-scan-unstructured lex-scan-unibyte col str))
-(defun ew-scan-multibyte-unstructured (col str)
-  (ew-scan-unstructured lex-scan-multibyte col str))
-
-'(     
-(npp
- (mapcar
-  (lambda (frag) (cons (get frag 'type) (symbol-name frag)))
-  (ew-frag-list
-   (ew-scan-unibyte-unstructured
-    0 " Hello! =?US-ASCII?Q?Hello!?="))))
-
-(npp
- (mapcar
-  (lambda (frag) (cons (get frag 'type) (symbol-name frag)))
-  (ew-frag-list
-   (ew-scan-unibyte-unstructured
-    0 " \r\na"))))
-
-)
diff --git a/ew-unit.el b/ew-unit.el
deleted file mode 100644 (file)
index ab4af48..0000000
+++ /dev/null
@@ -1,81 +0,0 @@
-(require 'closure)
-(require 'ew-line)
-(require 'ew-quote)
-(require 'mel)
-
-(provide 'ew-unit)
-
-(defconst ew-anchored-encoded-word-regexp
-  (eval-when-compile
-    (require 'ew-var)
-    (concat "\\`" ew-encoded-word-regexp "\\'")))
-
-(defconst ew-b-regexp
-  (eval-when-compile
-    (concat "\\`\\("
-            "[A-Za-z0-9+/]"
-            "[A-Za-z0-9+/]"
-            "[A-Za-z0-9+/]"
-            "[A-Za-z0-9+/]"
-            "\\)*"
-            "[A-Za-z0-9+/]"
-            "[A-Za-z0-9+/]"
-            "\\(==\\|"
-            "[A-Za-z0-9+/]"
-            "[A-Za-z0-9+/=]"
-            "\\)\\'")))
-
-(defconst ew-q-regexp "\\`\\([^=?]\\|=[0-9A-Fa-f][0-9A-Fa-f]\\)*\\'")
-
-(defconst ew-byte-decoder-alist
-  '(("B" . ew-b-decode)
-    ("Q" . ew-q-decode)))
-
-(defconst ew-byte-checker-alist
-  '(("B" . ew-b-check)
-    ("Q" . ew-q-check)))
-
-(defun ew-b-check (encoding encoded-text) (string-match ew-b-regexp encoded-text))
-(defun ew-q-check (encoding encoded-text) (string-match ew-q-regexp encoded-text))
-
-(defsubst ew-eword-p (str)
-  (let ((len (length str)))
-    (and
-     (<= 3 len)
-     (eq (aref str 0) ?=)
-     (eq (aref str 1) ??)
-     (eq (aref str (- len 2)) ??)
-     (eq (aref str (1- len)) ?=))))
-
-(defun ew-decode-eword (str)
-  (if (string-match ew-anchored-encoded-word-regexp str)
-      (let ((charset (match-string 1 str))
-           (encoding (match-string 2 str))
-           (encoded-text (match-string 3 str))
-           bdec cdec
-           bcheck
-           tmp)
-       (if (and (setq bdec (ew-byte-decoder encoding))
-                (setq cdec (ew-char-decoder charset)))
-           (if (or (null (setq bcheck (ew-byte-checker encoding)))
-                   (funcall bcheck encoding encoded-text))
-               (ew-quote (closure-call cdec (funcall bdec encoded-text)))
-             (ew-quote str))
-         (ew-quote-eword charset encoding encoded-text)))
-    (ew-quote str)))
-
-(defun ew-byte-decoder (encoding)
-  (cdr (assoc (upcase encoding) ew-byte-decoder-alist)))
-
-(defun ew-byte-checker (encoding)
-  (cdr (assoc (upcase encoding) ew-byte-checker-alist)))
-
-(defalias 'ew-b-decode 'base64-decode-string)
-(defalias 'ew-q-decode 'q-encoding-decode-string)
-
-(defun ew-char-decoder (charset)
-  (let ((sym (intern (downcase charset))))
-    (when (mime-charset-to-coding-system sym 'LF)
-      (closure-make
-       (lambda (str) (decode-mime-charset-string str sym 'LF))
-       sym))))
diff --git a/ew-util.el b/ew-util.el
deleted file mode 100644 (file)
index fb1b373..0000000
+++ /dev/null
@@ -1,19 +0,0 @@
-(provide 'ew-util)
-
-(defmacro ew-cons* (seed &rest rest)
-  (setq rest (nreverse (cons seed rest))
-       seed (car rest)
-       rest (cdr rest))
-  (while rest
-    (setq seed `(cons ,(car rest) ,seed)
-         rest (cdr rest)))
-  seed)
-    
-(defmacro ew-rcons* (seed &rest rest)
-  (while rest
-    (setq seed `(cons ,(car rest) ,seed)
-         rest (cdr rest)))
-  seed)
-
-(defmacro ew-rappend (a b)
-  `(append (reverse ,b) ,a))
diff --git a/ew-var.el b/ew-var.el
deleted file mode 100644 (file)
index 9ac619b..0000000
--- a/ew-var.el
+++ /dev/null
@@ -1,83 +0,0 @@
-(provide 'ew-var)
-
-;;; user customizable variables.
-
-(defvar ew-decode-sticked-encoded-word nil)
-(defvar ew-decode-quoted-encoded-word nil)
-(defvar ew-ignore-75bytes-limit nil)
-(defvar ew-ignore-76bytes-limit nil)
-(defvar ew-permit-sticked-comment nil)
-(defvar ew-permit-sticked-special nil)
-
-(defvar ew-remove-bare-crlf nil)
-(defvar ew-default-mime-charset 'x-ctext)
-
-;;;
-(defvar ew-decode-field-syntax-alist
-'((from                 ew-scan-unibyte-std11 . ew:tag-mailbox+)
-  (sender               ew-scan-unibyte-std11 . ew:tag-mailbox)
-  (to                   ew-scan-unibyte-std11 . ew:tag-address+)
-  (resent-to            ew-scan-unibyte-std11 . ew:tag-address+)
-  (cc                   ew-scan-unibyte-std11 . ew:tag-address+)
-  (resent-cc            ew-scan-unibyte-std11 . ew:tag-address+)
-  (bcc                  ew-scan-unibyte-std11 . ew:tag-address*)
-  (resent-bcc           ew-scan-unibyte-std11 . ew:tag-address*)
-  (message-id           ew-scan-unibyte-std11)
-  (resent-message-id    ew-scan-unibyte-std11)
-  (in-reply-to          ew-scan-unibyte-std11 . ew:tag-phrase-msg-id*)
-  (references           ew-scan-unibyte-std11 . ew:tag-phrase-msg-id*)
-  (keywords             ew-scan-unibyte-std11 . ew:tag-phrase*)
-  (subject              ew-scan-unibyte-unstructured)
-  (comments             ew-scan-unibyte-unstructured)
-  (encrypted            ew-scan-unibyte-std11)
-  (date                 ew-scan-unibyte-std11)
-  (reply-to             ew-scan-unibyte-std11 . ew:tag-address+)
-  (received             ew-scan-unibyte-std11)
-  (resent-reply-to      ew-scan-unibyte-std11 . ew:tag-address+)
-  (resent-from          ew-scan-unibyte-std11 . ew:tag-mailbox+)
-  (resent-sender        ew-scan-unibyte-std11 . ew:tag-mailbox)
-  (resent-date          ew-scan-unibyte-std11)
-  (return-path          ew-scan-unibyte-std11)
-  (mime-version         ew-scan-unibyte-std11)
-  (content-type         ew-scan-unibyte-mime)
-  (content-transfer-encoding    ew-scan-unibyte-mime)
-  (content-id           ew-scan-unibyte-std11)
-  (content-description  ew-scan-unibyte-unstructured)
-  (content-disposition  ew-scan-unibyte-mime)
-  (approved             ew-scan-unibyte-std11 . ew:tag-address+)
-))
-
-(defvar ew-decode-field-default-syntax '(ew-scan-unibyte-unstructured))
-
-(defvar ew-parse-error-sit-for-seconds 0)
-
-;;; constants.
-
-(eval-and-compile
-  (defconst ew-token-regexp "[-!#-'*+0-9A-Z^-~]+")
-  (defconst ew-encoded-text-regexp "[!->@-~]+")
-)
-(defconst ew-encoded-word-regexp
-  (eval-when-compile
-    (concat (regexp-quote "=?")
-            "\\(" ew-token-regexp "\\)"
-            (regexp-quote "?")
-            "\\(" ew-token-regexp "\\)"
-            (regexp-quote "?")
-            "\\(" ew-encoded-text-regexp "\\)"
-            (regexp-quote "?="))))
-
-;;; utilities for variables.
-
-(defun ew-dynamic-options ()
-  (cons
-   ew-default-mime-charset
-   (logior
-    (if ew-decode-sticked-encoded-word 1 0)
-    (if ew-decode-quoted-encoded-word 2 0)
-    (if ew-ignore-75bytes-limit 4 0)
-    (if ew-ignore-76bytes-limit 8 0)
-    (if ew-permit-sticked-comment 16 0)
-    (if ew-permit-sticked-special 32 0)
-    (if ew-remove-bare-crlf 64 0)
-    )))
diff --git a/eword-decode.el b/eword-decode.el
deleted file mode 100644 (file)
index 49e2761..0000000
+++ /dev/null
@@ -1,813 +0,0 @@
-;;; eword-decode.el --- RFC 2047 based encoded-word decoder for GNU Emacs
-
-;; Copyright (C) 1995,1996,1997,1998 Free Software Foundation, Inc.
-
-;; Author: ENAMI Tsugutomo <enami@sys.ptg.sony.co.jp>
-;;         MORIOKA Tomohiko <morioka@jaist.ac.jp>
-;;         Tanaka Akira <akr@jaist.ac.jp>
-;; Maintainer: Tanaka Akira <akr@jaist.ac.jp>
-;; Created: 1995/10/03
-;; Original: 1992/07/20 ENAMI Tsugutomo's `mime.el'.
-;;     Renamed: 1993/06/03 to tiny-mime.el
-;;     Renamed: 1995/10/03 from tiny-mime.el (split off encoder)
-;;     Renamed: 1997/02/22 from tm-ew-d.el
-;; Keywords: encoded-word, MIME, multilingual, header, mail, news
-
-;; This file is part of FLAM (Faithful Library About MIME).
-
-;; This program is free software; you can redistribute it and/or
-;; modify it under the terms of the GNU General Public License as
-;; published by the Free Software Foundation; either version 2, or (at
-;; your option) any later version.
-
-;; This program is distributed in the hope that it will be useful, but
-;; WITHOUT ANY WARRANTY; without even the implied warranty of
-;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-;; General Public License for more details.
-
-;; You should have received a copy of the GNU General Public License
-;; along with GNU Emacs; see the file COPYING.  If not, write to the
-;; Free Software Foundation, Inc., 59 Temple Place - Suite 330,
-;; Boston, MA 02111-1307, USA.
-
-;;; Code:
-
-(require 'std11)
-(require 'mel)
-(require 'mime-def)
-
-(require 'ew-dec)
-
-(defgroup eword-decode nil
-  "Encoded-word decoding"
-  :group 'mime)
-
-;;; TEST
-
-(defvar rotate-memo nil)
-(defmacro rotate-memo (var val)
-  `(when rotate-memo
-     (unless (boundp ',var) (setq ,var ()))
-     (setq ,var (cons ,val ,var))
-     (let ((tmp (last ,var (- (length ,var) 100))))
-       (when tmp (setcdr tmp nil)))
-     ,var))
-
-;;; @ variables
-;;;
-
-(defcustom eword-decode-sticked-encoded-word nil
-  "*If non-nil, decode encoded-words sticked on atoms,
-other encoded-words, etc.
-however this behaviour violates RFC2047."
-  :group 'eword-decode
-  :type 'boolean)
-
-(defcustom eword-decode-quoted-encoded-word nil
-  "*If non-nil, decode encoded-words in quoted-string
-however this behaviour violates RFC2047."
-  :group 'eword-decode
-  :type 'boolean)
-
-
-;;; @ MIME encoded-word definition
-;;;
-
-(defconst eword-encoded-word-prefix-regexp
-  (concat (regexp-quote "=?")
-         "\\(" mime-charset-regexp "\\)"
-         (regexp-quote "?")
-         "\\(B\\|Q\\)"
-         (regexp-quote "?")))
-(defconst eword-encoded-word-suffix-regexp
-  (regexp-quote "?="))
-
-(defconst eword-encoded-text-in-unstructured-regexp "[!->@-~]+")
-(defconst eword-encoded-word-in-unstructured-regexp
-  (concat eword-encoded-word-prefix-regexp
-         "\\(" eword-encoded-text-in-unstructured-regexp "\\)"
-         eword-encoded-word-suffix-regexp))
-(defconst eword-after-encoded-word-in-unstructured-regexp "\\([ \t]\\|$\\)")
-
-(defconst eword-encoded-text-in-phrase-regexp "[-A-Za-z0-9!*+/=_]+")
-(defconst eword-encoded-word-in-phrase-regexp
-  (concat eword-encoded-word-prefix-regexp
-         "\\(" eword-encoded-text-in-phrase-regexp "\\)"
-         eword-encoded-word-suffix-regexp))
-(defconst eword-after-encoded-word-in-phrase-regexp "\\([ \t]\\|$\\)")
-
-(defconst eword-encoded-text-in-comment-regexp "[]!-'*->@-[^-~]+")
-(defconst eword-encoded-word-in-comment-regexp
-  (concat eword-encoded-word-prefix-regexp
-         "\\(" eword-encoded-text-in-comment-regexp "\\)"
-         eword-encoded-word-suffix-regexp))
-(defconst eword-after-encoded-word-in-comment-regexp "\\([ \t()\\\\]\\|$\\)")
-
-(defconst eword-encoded-text-in-quoted-string-regexp "[]!#->@-[^-~]+")
-(defconst eword-encoded-word-in-quoted-string-regexp
-  (concat eword-encoded-word-prefix-regexp
-         "\\(" eword-encoded-text-in-quoted-string-regexp "\\)"
-         eword-encoded-word-suffix-regexp))
-(defconst eword-after-encoded-word-in-quoted-string-regexp "\\([ \t\"\\\\]\\|$\\)")
-
-; obsolete
-(defconst eword-encoded-text-regexp eword-encoded-text-in-unstructured-regexp)
-(defconst eword-encoded-word-regexp eword-encoded-word-in-unstructured-regexp)
-
-
-;;; @@ Base64
-;;;
-
-(defconst base64-token-regexp "[A-Za-z0-9+/]")
-(defconst base64-token-padding-regexp "[A-Za-z0-9+/=]")
-
-(defconst eword-B-encoded-text-regexp
-  (concat "\\(\\("
-         base64-token-regexp
-         base64-token-regexp
-         base64-token-regexp
-         base64-token-regexp
-         "\\)*"
-         base64-token-regexp
-         base64-token-regexp
-         base64-token-padding-regexp
-         base64-token-padding-regexp
-          "\\)"))
-
-;; (defconst eword-B-encoding-and-encoded-text-regexp
-;;   (concat "\\(B\\)\\?" eword-B-encoded-text-regexp))
-
-
-;;; @@ Quoted-Printable
-;;;
-
-(defconst eword-Q-encoded-text-regexp
-  (concat "\\([^=?]\\|" quoted-printable-octet-regexp "\\)+"))
-;; (defconst eword-Q-encoding-and-encoded-text-regexp
-;;   (concat "\\(Q\\)\\?" eword-Q-encoded-text-regexp))
-
-
-;;; @ internal utilities
-;;;
-
-(defun eword-decode-first-encoded-words (string
-                                        eword-regexp
-                                        after-regexp
-                                        &optional must-unfold)
-  "Decode MIME encoded-words in beginning of STRING.
-
-EWORD-REGEXP is the regexp that matches a encoded-word.
-Usual value is
-eword-encoded-word-in-unstructured-regexp, 
-eword-encoded-text-in-phrase-regexp,
-eword-encoded-word-in-comment-regexp or
-eword-encoded-word-in-quoted-string-regexp.
-
-AFTER-REGEXP is the regexp that matches a after encoded-word.
-Usual value is
-eword-after-encoded-word-in-unstructured-regexp, 
-eword-after-encoded-text-in-phrase-regexp,
-eword-after-encoded-word-in-comment-regexp or
-eword-after-encoded-word-in-quoted-string-regexp.
-
-If beginning of STRING matches EWORD-REGEXP with AFTER-REGEXP,
-returns a cons cell of decoded string(sequence of characters) and 
-the rest(sequence of octets).
-
-If beginning of STRING does not matches EWORD-REGEXP and AFTER-REGEXP,
-returns nil.
-
-If an encoded-word is broken or your emacs implementation can not
-decode the charset included in it, it is returned in decoded part
-as encoded-word form.
-
-If MUST-UNFOLD is non-nil, it unfolds and eliminates line-breaks even
-if there are in decoded encoded-words (generated by bad manner MUA
-such as a version of Net$cape)."
-  (if eword-decode-sticked-encoded-word (setq after-regexp ""))
-  (let* ((between-ewords-regexp
-          (if eword-decode-sticked-encoded-word
-            "\\(\n?[ \t]\\)*"
-            "\\(\n?[ \t]\\)+"))
-        (between-ewords-eword-after-regexp
-          (concat "\\`\\(" between-ewords-regexp "\\)"
-                     "\\(" eword-regexp "\\)"
-                     after-regexp))
-        (eword-after-regexp
-          (concat "\\`\\(" eword-regexp "\\)" after-regexp))
-        (src string)   ; sequence of octets.
-        (dst ""))      ; sequence of characters.
-    (if (string-match eword-after-regexp src)
-      (let* (p
-            (q (match-end 1))
-            (ew (substring src 0 q))
-            (dw (eword-decode-encoded-word ew must-unfold)))
-        (setq dst (concat dst dw)
-             src (substring src q))
-       (if (not (string= ew dw))
-         (progn
-           (while
-             (and
-               (string-match between-ewords-eword-after-regexp src)
-               (progn
-                 (setq p (match-end 1)
-                       q (match-end 3)
-                       ew (substring src p q)
-                       dw (eword-decode-encoded-word ew must-unfold))
-                 (if (string= ew dw)
-                   (progn
-                     (setq dst (concat dst (substring src 0 q))
-                           src (substring src q))
-                     nil)
-                   t)))
-             (setq dst (concat dst dw)
-                   src (substring src q)))))
-       (cons dst src))
-      nil)))
-
-(defun eword-decode-entire-string (string
-                                  eword-regexp
-                                  after-regexp
-                                  safe-regexp
-                                  escape ; ?\\ or nil.
-                                  delimiters ; list of chars.
-                                   chars-must-be-quote
-                                  must-unfold
-                                  code-conversion)
-  (if (and code-conversion
-          (not (mime-charset-to-coding-system code-conversion)))
-      (setq code-conversion default-mime-charset))
-  (let ((equal-safe-regexp (concat "\\`=?" safe-regexp))
-       (dst "")
-       (buf "")
-       (src string)
-       (ew-enable t))
-    (while (< 0 (length src))
-      (let ((ch (aref src 0))
-           (decoded (and
-                       ew-enable
-                       (eword-decode-first-encoded-words src
-                         eword-regexp after-regexp must-unfold))))
-       (if (and (not (string= buf ""))
-                (or decoded (memq ch delimiters)))
-         (setq dst (concat dst
-                     (std11-wrap-as-quoted-pairs
-                       (decode-mime-charset-string buf code-conversion)
-                       chars-must-be-quote))
-               buf ""))
-       (cond
-         (decoded
-           (setq dst (concat dst
-                       (std11-wrap-as-quoted-pairs
-                         (car decoded)
-                         chars-must-be-quote))
-                 src (cdr decoded)))
-         ((memq ch delimiters)
-           (setq dst (concat dst (list ch))
-                 src (substring src 1)
-                 ew-enable t))
-         ((eq ch escape)
-           (setq buf (concat buf (list (aref src 1)))
-                 src (substring src 2)
-                 ew-enable t))
-         ((string-match "\\`[ \t\n]+" src)
-           (setq buf (concat buf (substring src 0 (match-end 0)))
-                 src (substring src (match-end 0))
-                 ew-enable t))
-         ((and (string-match equal-safe-regexp src)
-               (< 0 (match-end 0)))
-           (setq buf (concat buf (substring src 0 (match-end 0)))
-                 src (substring src (match-end 0))
-                 ew-enable eword-decode-sticked-encoded-word))
-         (t (error "something wrong")))))
-    (if (not (string= buf ""))
-      (setq dst (concat dst
-                 (std11-wrap-as-quoted-pairs
-                   (decode-mime-charset-string buf code-conversion)
-                   chars-must-be-quote))))
-    dst))
-
-
-;;; @ for string
-;;;
-
-(defun eword-decode-unstructured (string code-conversion &optional must-unfold)
-  (eword-decode-entire-string
-    string
-    eword-encoded-word-in-unstructured-regexp
-    eword-after-encoded-word-in-unstructured-regexp
-    "[^ \t\n=]*"
-    nil
-    nil
-    nil
-    must-unfold
-    code-conversion))
-
-(defun eword-decode-comment (string code-conversion &optional must-unfold)
-  (eword-decode-entire-string
-    string
-    eword-encoded-word-in-comment-regexp
-    eword-after-encoded-word-in-comment-regexp
-    "[^ \t\n()\\\\=]*"
-    ?\\
-    '(?\( ?\))
-    '(?\( ?\) ?\\ ?\r ?\n)
-    must-unfold
-    code-conversion))
-
-(defun eword-decode-quoted-string (string code-conversion &optional must-unfold)
-  (eword-decode-entire-string
-    string
-    eword-encoded-word-in-quoted-string-regexp
-    eword-after-encoded-word-in-quoted-string-regexp
-    "[^ \t\n\"\\\\=]*"
-    ?\\
-    '(?\")
-    '(?\" ?\\ ?\r ?\n)
-    must-unfold
-    code-conversion))
-
-(defun eword-decode-string (string &optional must-unfold code-conversion)
-  "Decode MIME encoded-words in STRING.
-
-STRING is unfolded before decoding.
-
-If an encoded-word is broken or your emacs implementation can not
-decode the charset included in it, it is not decoded.
-
-If MUST-UNFOLD is non-nil, it unfolds and eliminates line-breaks even
-if there are in decoded encoded-words (generated by bad manner MUA
-such as a version of Net$cape).
-
-If CODE-CONVERSION is nil, it decodes only encoded-words.  If it is
-mime-charset, it decodes non-ASCII bit patterns as the mime-charset.
-Otherwise it decodes non-ASCII bit patterns as the
-default-mime-charset."
-  (eword-decode-unstructured
-    (std11-unfold-string string)
-    code-conversion
-    must-unfold))
-
-
-;;; @ for region
-;;;
-
-(defun eword-decode-region (start end &optional unfolding must-unfold
-                                               code-conversion)
-  "Decode MIME encoded-words in region between START and END.
-
-If UNFOLDING is not nil, it unfolds before decoding.
-
-If MUST-UNFOLD is non-nil, it unfolds and eliminates line-breaks even
-if there are in decoded encoded-words (generated by bad manner MUA
-such as a version of Net$cape).
-
-If CODE-CONVERSION is nil, it decodes only encoded-words.  If it is
-mime-charset, it decodes non-ASCII bit patterns as the mime-charset.
-Otherwise it decodes non-ASCII bit patterns as the
-default-mime-charset."
-  (interactive "*r")
-  (rotate-memo args-eword-decode-region
-              (list start end (buffer-substring start end) unfolding must-unfold code-conversion))
-  (save-excursion
-    (save-restriction
-      (narrow-to-region start end)
-      (if unfolding
-         (eword-decode-unfold)
-       )
-      (let ((str (eword-decode-unstructured
-                  (buffer-substring (point-min) (point-max))
-                  code-conversion
-                  must-unfold)))
-       (delete-region (point-min) (point-max))
-       (insert str)))))
-
-
-;;; @ for message header
-;;;
-
-(defcustom eword-decode-ignored-field-list
-  '(Newsgroups Path Lines Nntp-Posting-Host Received Message-Id Date)
-  "*List of field-names to be ignored when decoding.
-Each field name must be symbol."
-  :group 'eword-decode
-  :type '(repeat symbol))
-
-(defcustom eword-decode-structured-field-list
-  '(Reply-To Resent-Reply-To From Resent-From Sender Resent-Sender
-            To Resent-To Cc Resent-Cc Bcc Resent-Bcc Dcc
-            Mime-Version Content-Type Content-Transfer-Encoding
-            Content-Disposition)
-  "*List of field-names to decode as structured field.
-Each field name must be symbol."
-  :group 'eword-decode
-  :type '(repeat symbol))
-
-(defun eword-decode-header (&optional code-conversion separator)
-  "Decode MIME encoded-words in header fields.
-If CODE-CONVERSION is nil, it decodes only encoded-words.  If it is
-mime-charset, it decodes non-ASCII bit patterns as the mime-charset.
-Otherwise it decodes non-ASCII bit patterns as the
-default-mime-charset.
-If SEPARATOR is not nil, it is used as header separator."
-  (interactive "*")
-  (rotate-memo args-eword-decode-header (list code-conversion))
-  (unless code-conversion
-    (message "eword-decode-header is called with no code-conversion")
-    (sit-for 2))
-  (if (and code-conversion
-          (not (mime-charset-to-coding-system code-conversion)))
-      (setq code-conversion default-mime-charset))
-  (save-excursion
-    (save-restriction
-      (std11-narrow-to-header separator)
-      (rotate-memo args-h-eword-decode-header (buffer-substring (point-min) (point-max)))
-      (if code-conversion
-         (let (beg p end field-name field-body decoded)
-           (goto-char (point-min))
-           (while (re-search-forward std11-field-head-regexp nil t)
-             (setq beg (match-beginning 0)
-                   p (match-end 0)
-                   field-name (buffer-substring beg (1- p))
-                   end (std11-field-end)
-                   field-body (buffer-substring p end)
-                   decoded (ew-decode-field
-                            field-name
-                            (ew-lf-crlf-to-crlf field-body)))
-             (unless (equal field-body decoded)
-               (setq decoded (ew-crlf-refold
-                              decoded
-                              (1+ (string-width field-name))
-                              fill-column)))
-             (delete-region p end)
-             (insert (ew-crlf-to-lf decoded))))
-       (eword-decode-region (point-min) (point-max) t nil nil)
-       ))))
-
-(defun eword-decode-unfold ()
-  (goto-char (point-min))
-  (let (field beg end)
-    (while (re-search-forward std11-field-head-regexp nil t)
-      (setq beg (match-beginning 0)
-            end (std11-field-end))
-      (setq field (buffer-substring beg end))
-      (if (string-match eword-encoded-word-regexp field)
-          (save-restriction
-            (narrow-to-region (goto-char beg) end)
-            (while (re-search-forward "\n\\([ \t]\\)" nil t)
-              (replace-match (match-string 1))
-              )
-           (goto-char (point-max))
-           ))
-      )))
-
-
-;;; @ encoded-word decoder
-;;;
-
-(defvar eword-decode-encoded-word-error-handler
-  'eword-decode-encoded-word-default-error-handler)
-
-(defvar eword-warning-face nil
-  "Face used for invalid encoded-word.")
-
-(defun eword-decode-encoded-word-default-error-handler (word signal)
-  (and (add-text-properties 0 (length word)
-                           (and eword-warning-face
-                                (list 'face eword-warning-face))
-                           word)
-       word))
-
-(defun eword-decode-encoded-word (word &optional must-unfold)
-  "Decode WORD if it is an encoded-word.
-
-If your emacs implementation can not decode the charset of WORD, it
-returns WORD.  Similarly the encoded-word is broken, it returns WORD.
-
-If MUST-UNFOLD is non-nil, it unfolds and eliminates line-breaks even
-if there are in decoded encoded-word (generated by bad manner MUA such
-as a version of Net$cape)."
-  (or (if (string-match eword-encoded-word-regexp word)
-         (let ((charset
-                (substring word (match-beginning 1) (match-end 1))
-                )
-               (encoding
-                (upcase
-                 (substring word (match-beginning 2) (match-end 2))
-                 ))
-               (text
-                (substring word (match-beginning 3) (match-end 3))
-                ))
-            (condition-case err
-                (eword-decode-encoded-text charset encoding text must-unfold)
-              (error
-              (funcall eword-decode-encoded-word-error-handler word err)
-               ))
-            ))
-      word))
-
-
-;;; @ encoded-text decoder
-;;;
-
-(defun eword-decode-encoded-text (charset encoding string
-                                         &optional must-unfold)
-  "Decode STRING as an encoded-text.
-
-If your emacs implementation can not decode CHARSET, it returns nil.
-
-If ENCODING is not \"B\" or \"Q\", it occurs error.
-So you should write error-handling code if you don't want break by errors.
-
-If MUST-UNFOLD is non-nil, it unfolds and eliminates line-breaks even
-if there are in decoded encoded-text (generated by bad manner MUA such
-as a version of Net$cape)."
-  (let ((cs (mime-charset-to-coding-system charset)))
-    (if cs
-       (let ((dest
-               (cond
-                ((string-equal "B" encoding)
-                 (if (and (string-match eword-B-encoded-text-regexp string)
-                          (string-equal string (match-string 0 string)))
-                     (base64-decode-string string)
-                   (error "Invalid encoded-text %s" string)))
-                ((string-equal "Q" encoding)
-                 (if (and (string-match eword-Q-encoded-text-regexp string)
-                          (string-equal string (match-string 0 string)))
-                     (q-encoding-decode-string string)
-                   (error "Invalid encoded-text %s" string)))
-                (t
-                 (error "Invalid encoding %s" encoding)
-                 )))
-              )
-         (when dest
-           (setq dest (decode-mime-charset-string dest charset))
-           (if must-unfold
-               (mapconcat (function
-                           (lambda (chr)
-                             (cond ((eq chr ?\n) "")
-                                   ((eq chr ?\t) " ")
-                                   (t (char-to-string chr)))
-                             ))
-                          (std11-unfold-string dest)
-                          "")
-             dest))))))
-
-
-;;; @ lexical analyze
-;;;
-
-(defvar eword-lexical-analyze-cache nil)
-(defvar eword-lexical-analyze-cache-max 299
-  "*Max position of eword-lexical-analyze-cache.
-It is max size of eword-lexical-analyze-cache - 1.")
-
-(defcustom eword-lexical-analyzers
-  '(eword-analyze-quoted-string
-    eword-analyze-domain-literal
-    eword-analyze-comment
-    eword-analyze-spaces
-    eword-analyze-special
-    eword-analyze-encoded-word
-    eword-analyze-atom)
-  "*List of functions to return result of lexical analyze.
-Each function must have two arguments: STRING and MUST-UNFOLD.
-STRING is the target string to be analyzed.
-If MUST-UNFOLD is not nil, each function must unfold and eliminate
-bare-CR and bare-LF from the result even if they are included in
-content of the encoded-word.
-Each function must return nil if it can not analyze STRING as its
-format.
-
-Previous function is preferred to next function.  If a function
-returns nil, next function is used.  Otherwise the return value will
-be the result."
-  :group 'eword-decode
-  :type '(repeat function))
-
-(defun eword-analyze-quoted-string (string &optional must-unfold)
-  (let ((p (std11-check-enclosure string ?\" ?\")))
-    (if p
-        (cons (cons 'quoted-string
-                    (if eword-decode-quoted-encoded-word
-                        (eword-decode-quoted-string
-                          (substring string 0 p)
-                          default-mime-charset)
-                      (std11-wrap-as-quoted-string
-                       (decode-mime-charset-string
-                        (std11-strip-quoted-pair (substring string 1 (1- p)))
-                        default-mime-charset))))
-              (substring string p)))
-    ))
-
-(defun eword-analyze-domain-literal (string &optional must-unfold)
-  (std11-analyze-domain-literal string))
-
-(defun eword-analyze-comment (string &optional must-unfold)
-  (let ((len (length string)))
-    (if (and (< 0 len) (eq (aref string 0) ?\())
-       (let ((p 0))
-         (while (and p (< p len) (eq (aref string p) ?\())
-           (setq p (std11-check-enclosure string ?\( ?\) t p)))
-         (setq p (or p len))
-         (cons (cons 'comment
-                     (eword-decode-comment
-                       (std11-unfold-string (substring string 0 p))
-                       default-mime-charset))
-               (substring string p)))
-      nil)))
-
-(defun eword-analyze-spaces (string &optional must-unfold)
-  (std11-analyze-spaces string))
-
-(defun eword-analyze-special (string &optional must-unfold)
-  (std11-analyze-special string))
-
-(defun eword-analyze-encoded-word (string &optional must-unfold)
-  (let ((decoded (eword-decode-first-encoded-words
-                  string
-                  eword-encoded-word-in-phrase-regexp
-                  eword-after-encoded-word-in-phrase-regexp
-                  must-unfold)))
-    (if decoded
-        (let ((s (car decoded)))
-          (while (or (string-match std11-atom-regexp s)
-                     (string-match std11-spaces-regexp s))
-            (setq s (substring s (match-end 0))))
-          (if (= (length s) 0)
-              (cons (cons 'atom (car decoded)) (cdr decoded))
-            (cons (cons 'quoted-string
-                        (std11-wrap-as-quoted-string (car decoded)))
-                  (cdr decoded)))))))
-
-(defun eword-analyze-atom (string &optional must-unfold)
-  (if (let ((enable-multibyte-characters nil))
-        (string-match std11-atom-regexp string))
-      (let ((end (match-end 0)))
-       (if (and eword-decode-sticked-encoded-word
-                (string-match eword-encoded-word-in-phrase-regexp
-                              (substring string 0 end))
-                (< 0 (match-beginning 0)))
-           (setq end (match-beginning 0)))
-       (cons (cons 'atom (decode-mime-charset-string
-                          (substring string 0 end)
-                          default-mime-charset))
-             (substring string end)
-             ))))
-
-(defun eword-lexical-analyze-internal (string must-unfold)
-  (let ((last 'eword-analyze-spaces)
-        dest ret)
-    (while (not (string-equal string ""))
-      (setq ret
-            (let ((rest eword-lexical-analyzers)
-                  func r)
-              (while (and (setq func (car rest))
-                          (or
-                           (and
-                            (not eword-decode-sticked-encoded-word)
-                            (not (eq last 'eword-analyze-spaces))
-                            (eq func 'eword-analyze-encoded-word))
-                           (null (setq r (funcall func string must-unfold))))
-                          )
-                (setq rest (cdr rest)))
-              (setq last func)
-              (or r `((error . ,string) . ""))
-              ))
-      (setq dest (cons (car ret) dest))
-      (setq string (cdr ret))
-      )
-    (nreverse dest)
-    ))
-
-(defun eword-lexical-analyze (string &optional must-unfold)
-  "Return lexical analyzed list corresponding STRING.
-It is like std11-lexical-analyze, but it decodes non us-ascii
-characters encoded as encoded-words or invalid \"raw\" format.
-\"Raw\" non us-ascii characters are regarded as variable
-`default-mime-charset'."
-  (let* ((str (copy-sequence string))
-        (key (cons str (cons default-mime-charset must-unfold)))
-        ret)
-    (set-text-properties 0 (length str) nil str)
-    (if (setq ret (assoc key eword-lexical-analyze-cache))
-       (cdr ret)
-      (setq ret (eword-lexical-analyze-internal str must-unfold))
-      (setq eword-lexical-analyze-cache
-           (cons (cons key ret)
-                 (last eword-lexical-analyze-cache
-                       eword-lexical-analyze-cache-max)))
-      ret)))
-
-(defun eword-decode-token (token)
-  (cdr token))
-
-(defun eword-decode-and-fold-structured-field
-  (string start-column &optional max-column must-unfold)
-  "Decode and fold (fill) STRING as structured field body.
-It decodes non us-ascii characters in FULL-NAME encoded as
-encoded-words or invalid \"raw\" string.  \"Raw\" non us-ascii
-characters are regarded as variable `default-mime-charset'.
-
-If an encoded-word is broken or your emacs implementation can not
-decode the charset included in it, it is not decoded.
-
-If MAX-COLUMN is omitted, `fill-column' is used.
-
-If MUST-UNFOLD is non-nil, it unfolds and eliminates line-breaks even
-if there are in decoded encoded-words (generated by bad manner MUA
-such as a version of Net$cape)."
-  (rotate-memo args-eword-decode-and-fold-structured-field
-              (list string start-column max-column must-unfold))
-  (or max-column
-      (setq max-column fill-column))
-  (let* ((field-name (make-string (1- start-column) ?X))
-        (field-body (ew-lf-crlf-to-crlf string))
-        (ew-decode-field-default-syntax '(ew-scan-unibyte-std11))
-        (decoded (ew-decode-field field-name field-body)))
-    (unless (equal field-body decoded)
-      (setq decoded (ew-crlf-refold decoded start-column max-column)))
-    (ew-crlf-to-lf decoded)))
-
-(defun eword-decode-and-unfold-structured-field (string)
-  "Decode and unfold STRING as structured field body.
-It decodes non us-ascii characters in FULL-NAME encoded as
-encoded-words or invalid \"raw\" string.  \"Raw\" non us-ascii
-characters are regarded as variable `default-mime-charset'.
-
-If an encoded-word is broken or your emacs implementation can not
-decode the charset included in it, it is not decoded."
-  (rotate-memo args-eword-decode-and-unfold-structured-field (list string))
-  (let* ((ew-decode-field-default-syntax '(ew-scan-unibyte-std11))
-        (decoded (ew-decode-field "" (ew-lf-crlf-to-crlf string))))
-    (ew-crlf-to-lf (ew-crlf-unfold decoded))))
-
-(defun eword-decode-structured-field-body (string &optional must-unfold
-                                                 start-column max-column)
-  "Decode non us-ascii characters in STRING as structured field body.
-STRING is unfolded before decoding.
-
-It decodes non us-ascii characters in FULL-NAME encoded as
-encoded-words or invalid \"raw\" string.  \"Raw\" non us-ascii
-characters are regarded as variable `default-mime-charset'.
-
-If an encoded-word is broken or your emacs implementation can not
-decode the charset included in it, it is not decoded.
-
-If MUST-UNFOLD is non-nil, it unfolds and eliminates line-breaks even
-if there are in decoded encoded-words (generated by bad manner MUA
-such as a version of Net$cape)."
-  (rotate-memo args-eword-decode-structured-field-body
-              (list string must-unfold start-column max-column))
-  (if start-column
-      ;; fold with max-column
-      (eword-decode-and-fold-structured-field
-       string start-column max-column must-unfold)
-    ;; Don't fold
-    (let* ((ew-decode-field-default-syntax '(ew-scan-unibyte-std11))
-          (decoded (ew-decode-field "" (ew-lf-crlf-to-crlf string))))
-      (ew-crlf-to-lf decoded))))
-
-(defun eword-decode-unstructured-field-body (string &optional must-unfold)
-  "Decode non us-ascii characters in STRING as unstructured field body.
-STRING is unfolded before decoding.
-
-It decodes non us-ascii characters in FULL-NAME encoded as
-encoded-words or invalid \"raw\" string.  \"Raw\" non us-ascii
-characters are regarded as variable `default-mime-charset'.
-
-If an encoded-word is broken or your emacs implementation can not
-decode the charset included in it, it is not decoded.
-
-If MUST-UNFOLD is non-nil, it unfolds and eliminates line-breaks even
-if there are in decoded encoded-words (generated by bad manner MUA
-such as a version of Net$cape)."
-  (rotate-memo args-eword-decode-unstructured-field-body
-              (list string must-unfold))
-  (let ((decoded (ew-decode-field "" (ew-lf-crlf-to-crlf string))))
-    (ew-crlf-to-lf (ew-crlf-unfold decoded))))
-
-(defun eword-extract-address-components (string)
-  "Extract full name and canonical address from STRING.
-Returns a list of the form (FULL-NAME CANONICAL-ADDRESS).
-If no name can be extracted, FULL-NAME will be nil.
-It decodes non us-ascii characters in FULL-NAME encoded as
-encoded-words or invalid \"raw\" string.  \"Raw\" non us-ascii
-characters are regarded as variable `default-mime-charset'."
-  (rotate-memo args-eword-extract-address-components (list string))
-  (let* ((structure (car (std11-parse-address
-                         (eword-lexical-analyze
-                          (std11-unfold-string string) 'must-unfold))))
-         (phrase  (std11-full-name-string structure))
-         (address (std11-address-string structure))
-         )
-    (list phrase address)
-    ))
-
-
-;;; @ end
-;;;
-
-(provide 'eword-decode)
-
-;;; eword-decode.el ends here
diff --git a/eword-encode.el b/eword-encode.el
deleted file mode 100644 (file)
index 41bb25f..0000000
+++ /dev/null
@@ -1,635 +0,0 @@
-;;; eword-encode.el --- RFC 2047 based encoded-word encoder for GNU Emacs
-
-;; Copyright (C) 1995,1996,1997,1998 Free Software Foundation, Inc.
-
-;; Author: MORIOKA Tomohiko <morioka@jaist.ac.jp>
-;; Keywords: encoded-word, MIME, multilingual, header, mail, news
-
-;; This file is part of SEMI (Spadework for Emacs MIME Interfaces).
-
-;; This program is free software; you can redistribute it and/or
-;; modify it under the terms of the GNU General Public License as
-;; published by the Free Software Foundation; either version 2, or (at
-;; your option) any later version.
-
-;; This program is distributed in the hope that it will be useful, but
-;; WITHOUT ANY WARRANTY; without even the implied warranty of
-;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-;; General Public License for more details.
-
-;; You should have received a copy of the GNU General Public License
-;; along with GNU Emacs; see the file COPYING.  If not, write to the
-;; Free Software Foundation, Inc., 59 Temple Place - Suite 330,
-;; Boston, MA 02111-1307, USA.
-
-;;; Code:
-
-(require 'emu)
-(require 'mel)
-(require 'std11)
-(require 'mime-def)
-(require 'eword-decode)
-
-
-;;; @ variables
-;;;
-
-(defvar eword-field-encoding-method-alist
-  '(("X-Nsubject" . iso-2022-jp-2)
-    ("Newsgroups" . nil)
-    ("Message-ID" . nil)
-    (t            . mime)
-    )
-  "*Alist to specify field encoding method.
-Its key is field-name, value is encoding method.
-
-If method is `mime', this field will be encoded into MIME format.
-
-If method is a MIME-charset, this field will be encoded as the charset
-when it must be convert into network-code.
-
-If method is `default-mime-charset', this field will be encoded as
-variable `default-mime-charset' when it must be convert into
-network-code.
-
-If method is nil, this field will not be encoded.")
-
-(defvar eword-charset-encoding-alist
-  '((us-ascii          . nil)
-    (iso-8859-1                . "Q")
-    (iso-8859-2                . "Q")
-    (iso-8859-3                . "Q")
-    (iso-8859-4                . "Q")
-    (iso-8859-5                . "Q")
-    (koi8-r            . "Q")
-    (iso-8859-7                . "Q")
-    (iso-8859-8                . "Q")
-    (iso-8859-9                . "Q")
-    (iso-2022-jp       . "B")
-    (iso-2022-kr       . "B")
-    (gb2312            . "B")
-    (cn-gb             . "B")
-    (cn-gb-2312                . "B")
-    (euc-kr            . "B")
-    (iso-2022-jp-2     . "B")
-    (iso-2022-int-1    . "B")
-    ))
-
-
-;;; @ encoded-text encoder
-;;;
-
-(defun eword-encode-text (charset encoding string &optional mode)
-  "Encode STRING as an encoded-word, and return the result.
-CHARSET is a symbol to indicate MIME charset of the encoded-word.
-ENCODING allows \"B\" or \"Q\".
-MODE is allows `text', `comment', `phrase' or nil.  Default value is
-`phrase'."
-  (let ((text
-        (cond ((string= encoding "B")
-               (base64-encode-string string))
-              ((string= encoding "Q")
-               (q-encoding-encode-string string mode))
-              )
-        ))
-    (if text
-       (concat "=?" (upcase (symbol-name charset)) "?"
-               encoding "?" text "?=")
-      )))
-
-
-;;; @ charset word
-;;;
-
-(defsubst eword-encode-char-type (character)
-  (if (or (eq character ? )(eq character ?\t))
-      nil
-    (char-charset character)
-    ))
-
-(defun eword-encode-divide-into-charset-words (string)
-  (let ((len (length string))
-       dest)
-    (while (> len 0)
-      (let* ((chr (sref string 0))
-            (charset (eword-encode-char-type chr))
-            (i (char-length chr)))
-       (while (and (< i len)
-                   (setq chr (sref string i))
-                   (eq charset (eword-encode-char-type chr))
-                   )
-         (setq i (char-next-index chr i))
-         )
-       (setq dest (cons (cons charset (substring string 0 i)) dest)
-             string (substring string i)
-             len (- len i)
-             )))
-    (nreverse dest)
-    ))
-
-
-;;; @ word
-;;;
-
-(defun eword-encode-charset-words-to-words (charset-words)
-  (let (dest)
-    (while charset-words
-      (let* ((charset-word (car charset-words))
-            (charset (car charset-word))
-            )
-       (if charset
-           (let ((charsets (list charset))
-                 (str (cdr charset-word))
-                 )
-             (catch 'tag
-               (while (setq charset-words (cdr charset-words))
-                 (setq charset-word (car charset-words)
-                       charset (car charset-word))
-                 (if (null charset)
-                     (throw 'tag nil)
-                   )
-                 (or (memq charset charsets)
-                     (setq charsets (cons charset charsets))
-                     )
-                 (setq str (concat str (cdr charset-word)))
-                 ))
-             (setq dest (cons (cons charsets str) dest))
-             )
-         (setq dest (cons charset-word dest)
-               charset-words (cdr charset-words)
-               ))))
-    (nreverse dest)
-    ))
-
-
-;;; @ rule
-;;;
-
-(defmacro tm-eword::make-rword (text charset encoding type)
-  (` (list (, text)(, charset)(, encoding)(, type))))
-(defmacro tm-eword::rword-text (rword)
-  (` (car (, rword))))
-(defmacro tm-eword::rword-charset (rword)
-  (` (car (cdr (, rword)))))
-(defmacro tm-eword::rword-encoding (rword)
-  (` (car (cdr (cdr (, rword))))))
-(defmacro tm-eword::rword-type (rword)
-  (` (car (cdr (cdr (cdr (, rword)))))))
-
-(defun tm-eword::find-charset-rule (charsets)
-  (if charsets
-      (let* ((charset (charsets-to-mime-charset charsets))
-            (encoding (cdr (assq charset eword-charset-encoding-alist)))
-            )
-       (list charset encoding)
-       )))
-
-(defun tm-eword::words-to-ruled-words (wl &optional mode)
-  (mapcar (function
-          (lambda (word)
-            (let ((ret (tm-eword::find-charset-rule (car word))))
-              (tm-eword::make-rword (cdr word) (car ret)(nth 1 ret) mode)
-              )))
-         wl))
-
-(defun tm-eword::space-process (seq)
-  (let (prev a ac b c cc)
-    (while seq
-      (setq b (car seq))
-      (setq seq (cdr seq))
-      (setq c (car seq))
-      (setq cc (tm-eword::rword-charset c))
-      (if (null (tm-eword::rword-charset b))
-         (progn
-           (setq a (car prev))
-           (setq ac (tm-eword::rword-charset a))
-           (if (and (tm-eword::rword-encoding a)
-                    (tm-eword::rword-encoding c))
-               (cond ((eq ac cc)
-                      (setq prev (cons
-                                  (cons (concat (car a)(car b)(car c))
-                                        (cdr a))
-                                  (cdr prev)
-                                  ))
-                      (setq seq (cdr seq))
-                      )
-                     (t
-                      (setq prev (cons
-                                  (cons (concat (car a)(car b))
-                                        (cdr a))
-                                  (cdr prev)
-                                  ))
-                      ))
-             (setq prev (cons b prev))
-             ))
-       (setq prev (cons b prev))
-       ))
-    (reverse prev)
-    ))
-
-(defun tm-eword::split-string (str &optional mode)
-  (tm-eword::space-process
-   (tm-eword::words-to-ruled-words
-    (eword-encode-charset-words-to-words
-     (eword-encode-divide-into-charset-words str))
-    mode)))
-
-
-;;; @ length
-;;;
-
-(defun tm-eword::encoded-word-length (rword)
-  (let ((string   (tm-eword::rword-text     rword))
-       (charset  (tm-eword::rword-charset  rword))
-       (encoding (tm-eword::rword-encoding rword))
-       ret)
-    (setq ret
-         (cond ((string-equal encoding "B")
-                (setq string (encode-mime-charset-string string charset))
-                (base64-encoded-length string)
-                )
-               ((string-equal encoding "Q")
-                (setq string (encode-mime-charset-string string charset))
-                (q-encoding-encoded-length string
-                                           (tm-eword::rword-type rword))
-                )))
-    (if ret
-       (cons (+ 7 (length (symbol-name charset)) ret) string)
-      )))
-
-
-;;; @ encode-string
-;;;
-
-(defun tm-eword::encode-string-1 (column rwl)
-  (let* ((rword (car rwl))
-        (ret (tm-eword::encoded-word-length rword))
-        string len)
-    (if (null ret)
-       (cond ((and (setq string (car rword))
-                   (or (<= (setq len (+ (length string) column)) 76)
-                       (<= column 1))
-                   )
-              (setq rwl (cdr rwl))
-              )
-             (t
-              (setq string "\n ")
-              (setq len 1)
-              ))
-      (cond ((and (setq len (car ret))
-                 (<= (+ column len) 76)
-                 )
-            (setq string
-                  (eword-encode-text
-                   (tm-eword::rword-charset rword)
-                   (tm-eword::rword-encoding rword)
-                   (cdr ret)
-                   (tm-eword::rword-type rword)
-                   ))
-            (setq len (+ (length string) column))
-            (setq rwl (cdr rwl))
-            )
-           (t
-            (setq string (car rword))
-            (let* ((p 0) np
-                   (str "") nstr)
-              (while (and (< p len)
-                          (progn
-                            (setq np (char-next-index (sref string p) p))
-                            (setq nstr (substring string 0 np))
-                            (setq ret (tm-eword::encoded-word-length
-                                       (cons nstr (cdr rword))
-                                       ))
-                            (setq nstr (cdr ret))
-                            (setq len (+ (car ret) column))
-                            (<= len 76)
-                            ))
-                (setq str nstr
-                      p np))
-              (if (string-equal str "")
-                  (setq string "\n "
-                        len 1)
-                (setq rwl (cons (cons (substring string p) (cdr rword))
-                                (cdr rwl)))
-                (setq string
-                      (eword-encode-text
-                       (tm-eword::rword-charset rword)
-                       (tm-eword::rword-encoding rword)
-                       str
-                       (tm-eword::rword-type rword)))
-                (setq len (+ (length string) column))
-                )
-              )))
-      )
-    (list string len rwl)
-    ))
-
-(defun tm-eword::encode-rwl (column rwl)
-  (let (ret dest ps special str ew-f pew-f)
-    (while rwl
-      (setq ew-f (nth 2 (car rwl)))
-      (if (and pew-f ew-f)
-         (setq rwl (cons '(" ") rwl)
-               pew-f nil)
-       (setq pew-f ew-f)
-       )
-      (setq ret (tm-eword::encode-string-1 column rwl))
-      (setq str (car ret))
-      (if (eq (elt str 0) ?\n)
-         (if (eq special ?\()
-             (progn
-               (setq dest (concat dest "\n ("))
-               (setq ret (tm-eword::encode-string-1 2 rwl))
-               (setq str (car ret))
-               ))
-       (cond ((eq special ? )
-              (if (string= str "(")
-                  (setq ps t)
-                (setq dest (concat dest " "))
-                (setq ps nil)
-                ))
-             ((eq special ?\()
-              (if ps
-                  (progn
-                    (setq dest (concat dest " ("))
-                    (setq ps nil)
-                    )
-                (setq dest (concat dest "("))
-                )
-              )))
-      (cond ((string= str " ")
-            (setq special ? )
-            )
-           ((string= str "(")
-            (setq special ?\()
-            )
-           (t
-            (setq special nil)
-            (setq dest (concat dest str))
-            ))
-      (setq column (nth 1 ret)
-           rwl (nth 2 ret))
-      )
-    (list dest column)
-    ))
-
-(defun tm-eword::encode-string (column str &optional mode)
-  (tm-eword::encode-rwl column (tm-eword::split-string str mode))
-  )
-
-
-;;; @ converter
-;;;
-
-(defun tm-eword::phrase-to-rwl (phrase)
-  (let (token type dest str)
-    (while phrase
-      (setq token (car phrase))
-      (setq type (car token))
-      (cond ((eq type 'quoted-string)
-            (setq str (concat "\"" (cdr token) "\""))
-            (setq dest
-                  (append dest
-                          (list
-                           (let ((ret (tm-eword::find-charset-rule
-                                       (find-non-ascii-charset-string str))))
-                             (tm-eword::make-rword
-                              str (car ret)(nth 1 ret) 'phrase)
-                             )
-                           )))
-            )
-           ((eq type 'comment)
-            (setq dest
-                  (append dest
-                          '(("(" nil nil))
-                          (tm-eword::words-to-ruled-words
-                           (eword-encode-charset-words-to-words
-                            (eword-encode-divide-into-charset-words
-                             (cdr token)))
-                           'comment)
-                          '((")" nil nil))
-                          ))
-            )
-           (t
-            (setq dest
-                  (append dest
-                          (tm-eword::words-to-ruled-words
-                           (eword-encode-charset-words-to-words
-                            (eword-encode-divide-into-charset-words
-                             (cdr token))
-                            ) 'phrase)))
-            ))
-      (setq phrase (cdr phrase))
-      )
-    (tm-eword::space-process dest)
-    ))
-
-(defun eword-addr-seq-to-rwl (seq)
-  (let (dest pname)
-    (while seq
-      (let* ((token (car seq))
-            (name (car token))
-            )
-       (cond ((eq name 'spaces)
-              (setq dest (nconc dest (list (list (cdr token) nil nil))))
-              )
-             ((eq name 'comment)
-              (setq dest
-                    (nconc
-                     dest
-                     (list (list "(" nil nil))
-                     (tm-eword::split-string (cdr token) 'comment)
-                     (list (list ")" nil nil))
-                     ))
-              )
-             ((eq name 'quoted-string)
-              (setq dest
-                    (nconc
-                     dest
-                     (list
-                      (list (concat "\"" (cdr token) "\"") nil nil)
-                      )))
-              )
-             (t
-              (setq dest
-                    (if (or (eq pname 'spaces)
-                            (eq pname 'comment))
-                        (nconc dest (list (list (cdr token) nil nil)))
-                      (nconc (butlast dest)
-                             (list
-                              (list (concat (car (car (last dest)))
-                                            (cdr token))
-                                    nil nil)))))
-              ))
-       (setq seq (cdr seq)
-             pname name))
-      )
-    dest))
-
-(defun eword-phrase-route-addr-to-rwl (phrase-route-addr)
-  (if (eq (car phrase-route-addr) 'phrase-route-addr)
-      (let ((phrase (nth 1 phrase-route-addr))
-           (route (nth 2 phrase-route-addr))
-           dest)
-       (if (eq (car (car phrase)) 'spaces)
-           (setq phrase (cdr phrase))
-         )
-       (setq dest (tm-eword::phrase-to-rwl phrase))
-       (if dest
-           (setq dest (append dest '((" " nil nil))))
-         )
-       (append
-        dest
-        (eword-addr-seq-to-rwl
-         (append '((specials . "<"))
-                 route
-                 '((specials . ">"))))
-        ))))
-
-(defun eword-addr-spec-to-rwl (addr-spec)
-  (if (eq (car addr-spec) 'addr-spec)
-      (eword-addr-seq-to-rwl (cdr addr-spec))
-    ))
-
-(defun tm-eword::mailbox-to-rwl (mbox)
-  (let ((addr (nth 1 mbox))
-       (comment (nth 2 mbox))
-       dest)
-    (setq dest (or (eword-phrase-route-addr-to-rwl addr)
-                  (eword-addr-spec-to-rwl addr)
-                  ))
-    (if comment
-       (setq dest
-             (append dest
-                     '((" " nil nil)
-                       ("(" nil nil))
-                     (tm-eword::split-string comment 'comment)
-                     '((")" nil nil))
-                     )))
-    dest))
-
-(defun tm-eword::addresses-to-rwl (addresses)
-  (let ((dest (tm-eword::mailbox-to-rwl (car addresses))))
-    (if dest
-       (while (setq addresses (cdr addresses))
-         (setq dest (append dest
-                            '(("," nil nil))
-                            '((" " nil nil))
-                            (tm-eword::mailbox-to-rwl (car addresses))
-                            ))
-         ))
-    dest))
-
-(defun tm-eword::encode-address-list (column str)
-  (tm-eword::encode-rwl
-   column
-   (tm-eword::addresses-to-rwl (std11-parse-addresses-string str))
-   ))
-
-
-;;; @ application interfaces
-;;;
-
-(defun eword-encode-field (string)
-  "Encode header field STRING, and return the result.
-A lexical token includes non-ASCII character is encoded as MIME
-encoded-word.  ASCII token is not encoded."
-  (setq string (std11-unfold-string string))
-  (let ((ret (string-match std11-field-head-regexp string)))
-    (or (if ret
-           (let ((field-name (substring string 0 (1- (match-end 0))))
-                 (field-body (eliminate-top-spaces
-                              (substring string (match-end 0))))
-                 )
-             (if (setq ret
-                       (cond ((string-equal field-body "") "")
-                             ((memq (intern (downcase field-name))
-                                    '(reply-to
-                                      from sender
-                                      resent-reply-to resent-from
-                                      resent-sender to resent-to
-                                      cc resent-cc
-                                      bcc resent-bcc dcc
-                                      mime-version)
-                                    )
-                              (car (tm-eword::encode-address-list
-                                    (+ (length field-name) 2) field-body))
-                              )
-                             (t
-                              (car (tm-eword::encode-string
-                                    (1+ (length field-name))
-                                    field-body 'text))
-                              ))
-                       )
-                 (concat field-name ": " ret)
-               )))
-       (car (tm-eword::encode-string 0 string))
-       )))
-
-(defun eword-in-subject-p ()
-  (let ((str (std11-field-body "Subject")))
-    (if (and str (string-match eword-encoded-word-regexp str))
-       str)))
-
-(defsubst eword-find-field-encoding-method (field-name)
-  (setq field-name (downcase field-name))
-  (let ((alist eword-field-encoding-method-alist))
-    (catch 'found
-      (while alist
-       (let* ((pair (car alist))
-              (str (car pair)))
-         (if (and (stringp str)
-                  (string= field-name (downcase str)))
-             (throw 'found (cdr pair))
-           ))
-       (setq alist (cdr alist)))
-      (cdr (assq t eword-field-encoding-method-alist))
-      )))
-
-(defun eword-encode-header (&optional code-conversion)
-  "Encode header fields to network representation, such as MIME encoded-word.
-
-It refer variable `eword-field-encoding-method-alist'."
-  (interactive "*")
-  (save-excursion
-    (save-restriction
-      (std11-narrow-to-header mail-header-separator)
-      (goto-char (point-min))
-      (let ((default-cs (mime-charset-to-coding-system default-mime-charset))
-           beg end field-name)
-       (while (re-search-forward std11-field-head-regexp nil t)
-         (setq beg (match-beginning 0))
-         (setq field-name (buffer-substring beg (1- (match-end 0))))
-         (setq end (std11-field-end))
-         (and (find-non-ascii-charset-region beg end)
-              (let ((method (eword-find-field-encoding-method
-                             (downcase field-name))))
-                (cond ((eq method 'mime)
-                       (let ((field
-                              (buffer-substring-no-properties beg end)
-                              ))
-                         (delete-region beg end)
-                         (insert (eword-encode-field field))
-                         ))
-                      (code-conversion
-                       (let ((cs
-                              (or (mime-charset-to-coding-system
-                                   method)
-                                  default-cs)))
-                         (encode-coding-region beg end cs)
-                         )))
-                ))
-         ))
-      )))
-
-(defun eword-encode-string (str &optional column mode)
-  (car (tm-eword::encode-rwl (or column 0) (tm-eword::split-string str mode)))
-  )
-
-
-;;; @ end
-;;;
-
-(provide 'eword-encode)
-
-;;; eword-encode.el ends here
diff --git a/ftp.in b/ftp.in
deleted file mode 100644 (file)
index 80b8381..0000000
--- a/ftp.in
+++ /dev/null
@@ -1,17 +0,0 @@
---<<alternative>>-{
-
-  It is available from
-
-    ftp://ftp.jaist.ac.jp/pub/GNU/elisp/flim/
-
---[[message/external-body;
-       access-type=anon-ftp;
-       site="ftp.jaist.ac.jp";
-       directory="/pub/GNU/elisp/flim";
-       name="flim-VERSION.tar.gz";
-       mode=image]]
-Content-Type: application/octet-stream;
-       name="flim-VERSION.tar.gz";
-       type=tar;
-       conversions=gzip
---}-<<alternative>>
diff --git a/lalr-el.scm b/lalr-el.scm
deleted file mode 100644 (file)
index be9392a..0000000
+++ /dev/null
@@ -1,1623 +0,0 @@
-;; ---------------------------------------------------------------------- ;;
-;; FICHIER               : lalr.scm                                       ;;
-;; DATE DE CREATION      : Mon Jan 22 15:42:32 1996                       ;;
-;; DERNIERE MODIFICATION : Mon Jun  3 10:24:43 1996                       ;;
-;; ---------------------------------------------------------------------- ;;
-;; Copyright (C) 1984, 1989, 1990 Free Software Foundation, Inc.          ;;
-;;   (for the Bison source code translated in Scheme)                     ;;
-;; Copyright (C) 1996 Dominique Boucher                                   ;;
-;;   (for the translation in Scheme)                                      ;;
-;; ---------------------------------------------------------------------- ;;
-;; An efficient Scheme LALR(1) Parser Generator  -- lalr.scm              ;;
-;; ---------------------------------------------------------------------- ;;
-;; This file contains yet another LALR(1) parser generator written in     ;;
-;; Scheme. In contrast to other such parser generators, this one          ;;
-;; implements a more efficient algorithm for computing the lookahead sets.;;
-;; The algorithm is the same as used in Bison (GNU yacc) and is described ;;
-;; in the following paper:                                                ;;
-;;                                                                        ;;
-;; "Efficient Computation of LALR(1) Look-Ahead Set", F. DeRemer and      ;;
-;; T. Pennello, TOPLAS, vol. 4, no. 4, october 1982.                      ;;
-;;                                                                        ;;
-;; As a consequence, it is not written in a fully functional style.       ;;
-;; The program has been successfully tested on several Scheme             ;;
-;; interpreters and compilers, including scm4d3, Gambit v2.2, and         ;;
-;; MIT-Scheme 7.2.0 (microcode 11.127, runtime 14.160).                   ;;
-;; ---------------------------------------------------------------------- ;;
-;; HOW TO USE THE PROGRAM                                                 ;;
-;;                                                                        ;;
-;; To generate a parser for a given grammar, the latter must be first     ;;
-;; written down in scheme. The next section will describe the syntax      ;;
-;; of the grammar. Now suppose your grammar is defined like this:         ;;
-;;                                                                        ;;
-;;    (define my-grammar { grammar })                                     ;;
-;;                                                                        ;;
-;; All you need to do is evaluate the expression:                         ;;
-;;                                                                        ;;
-;;    (gen-lalr1 my-grammar "file" [prefix])                              ;;
-;;                                                                        ;;
-;; where "file" is the name of the file (a string) that will contain the  ;;
-;; tables for LR-parsing. The last argument must be supplied if you want  ;;
-;; multiple parsers coexist in the same application. It must be a symbol, ;;
-;; otherwise it will be ignored.                                          ;;
-;;                                                                        ;;
-;; To run the parser, you must first load the LR parsing driver(also part ;;
-;; of this distribution):                                                 ;;
-;;                                                                        ;;
-;;      (load "lr-dvr.scm")                                               ;;
-;;                                                                        ;;
-;; The interface to the generated parser will be the function             ;;
-;;                                                                        ;;
-;;     ([prefix-]parse lexer errorp)                                      ;;
-;;                                                                        ;;
-;; where lexer is the name of the scanner feeding the parser with pairs   ;;
-;; (token . lval) and errorp is the name of a user-defined error          ;;
-;; function (the standard error function can be used as well).            ;;
-;;                                                                        ;;
-;;                                                                        ;;
-;; Here are some notes about the lexer and the error function:            ;;
-;;                                                                        ;;
-;;   - the tokens (which are the first components of the pairs returned   ;;
-;;     by the lexer) must agree with the tokens defined in the grammar.   ;;
-;;                                                                        ;;
-;;   - when the lexer wants to signal the end of the input, it must       ;;
-;;     return the pair '(0) each time it's invoked.                       ;;
-;;                                                                        ;;
-;;   - the error function must accept two parameters (the standard error  ;;
-;;     function accepts a variable number of parameters, so it accepts    ;;
-;;     two).                                                              ;;
-;;                                                                        ;;
-;; ---------------------------------------------------------------------- ;;
-;; THE GRAMMAR FORMAT                                                     ;;
-;;                                                                        ;;
-;; The grammar is specified by first giving the list of terminals and the ;;
-;; list of non-terminal definitions. Each non-terminal definition         ;;
-;; is a list where the first element is the non-terminal and the other    ;;
-;; elements are the right-hand sides (lists of grammar symbols). In       ;;
-;; addition to this, each rhs can be followed by a semantic action.       ;;
-;; By convention, use strings for tokens and atoms for non-terminals.     ;;
-;;                                                                        ;;
-;; For example, consider the following (yacc) grammar:                    ;;
-;;                                                                        ;;
-;;   e : e '+' t                                                          ;;
-;;     | t                                                                ;;
-;;     ;                                                                  ;;
-;;                                                                        ;;
-;;   t : t '*' f                                                          ;;
-;;     | f                                                                ;;
-;;     ;                                                                  ;;
-;;                                                                        ;;
-;;   f : ID                                                               ;;
-;;     ;                                                                  ;;
-;;                                                                        ;;
-;; The same grammar, written for the scheme parser generator, would look  ;;
-;; like this (with semantic actions)                                      ;;
-;;                                                                        ;;
-;; (define my-grammar                                                     ;;
-;;   '(                                                                   ;;
-;;     ; Terminal symbols                                                 ;;
-;;     ID ADD MULT                                                        ;;
-;;     ; Productions                                                      ;;
-;;     (e (e ADD t)  : (+ $1 $3)                                          ;;
-;;        (t)        : $1                                                 ;;
-;;        )                                                               ;;
-;;     (t (t MULT f) : (* $1 $3)                                          ;;
-;;        (f)        : $1                                                 ;;
-;;        )                                                               ;;
-;;     (f (ID)       : $1)                                                ;;
-;;    ))                                                                  ;;
-;;                                                                        ;;
-;; In semantic actions, the symbol $<n> refers to the synthesized         ;;
-;; attribute value of the nth symbol in the production. The value         ;;
-;; associated with the non-terminal on the left is the result of          ;;
-;; evaluating the semantic action (it defaults to #f).                    ;;
-;;                                                                        ;;
-;; If you evaluate                                                        ;;
-;;                                                                        ;;
-;;    (gen-lalr1 my-grammar "foo.scm" 'my)                                ;;
-;;                                                                        ;;
-;; then the generated parser will be named 'my-parser'.                   ;;
-;;                                                                        ;;
-;; NOTE ON CONFLICT RESOLUTION                                            ;;
-;;                                                                        ;;
-;; Conflicts in the grammar are handled in a conventional way.            ;;
-;; Shift/Reduce conflicts are resolved by shifting, and Reduce/Reduce     ;;
-;; conflicts are resolved by choosing the rule listed first in the        ;;
-;; grammar definition.                                                    ;;
-;;                                                                        ;;
-;; You can print the states of the generated parser by evaluating         ;;
-;; `(print-states)'. The format of the output is similar to the one       ;;
-;; produced by bison when given the -v command-line option.               ;;
-;; ---------------------------------------------------------------------- ;;
-;; lalr.scm is free software; you can redistribute it and/or modify       ;;
-;; it under the terms of the GNU General Public License as published by   ;;
-;; the Free Software Foundation; either version 2, or (at your option)    ;;
-;; any later version.                                                     ;;
-;;                                                                        ;;
-;; lalr.scm is distributed in the hope that it will be useful,            ;;
-;; but WITHOUT ANY WARRANTY; without even the implied warranty of         ;;
-;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the          ;;
-;; GNU General Public License for more details.                           ;;
-;;                                                                        ;;
-;; You should have received a copy of the GNU General Public License      ;;
-;; along with lalr.scm; see the file COPYING.  If not, write to           ;;
-;; the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.  ;;
-;;                                                                        ;;
-;; Dominique Boucher -- Universite de Montreal                            ;;
-;;                                                                        ;;
-;; Send questions, comments or suggestions to boucherd@iro.umontreal.ca   ;;
-;; ---------------------------------------------------------------------- ;;
-
-;; 1998/08/16: Tanaka Akira <akr@jaist.ac.jp> transplants generating code from Scheme to Emacs-Lisp.
-
-;;; ---------- SYSTEM DEPENDENT SECTION -----------------
-
-;; -------- SCM
-(begin
-  (defmacro def-macro (args body)
-    `(defmacro ,(car args) ,(cdr args) ,body))
-  
-  (def-macro (BITS-PER-WORD) 24)
-  (def-macro (logical-or x . y) `(logior ,x ,@y))
-  )
-
-;; -------- MIT-Scheme 
-'(begin
-  (declare (usual-integrations))
-  
-  (define-macro (def-macro form . body)
-    `(DEFINE-MACRO ,form (LET () ,@body)))
-    
-  (def-macro (BITS-PER-WORD) 24)
-  (def-macro (logical-or x . y) `(fix:or ,x ,@y))
-  )
-
-;; -------- Gambit
-'(begin
-   
- (declare 
-  (standard-bindings)
-  (fixnum)
-  (block)
-  (not safe))
-
- (define-macro (def-macro form . body)
-    `(DEFINE-MACRO ,form (LET () ,@body)))
-    
-  (def-macro (BITS-PER-WORD) 28)
-  (def-macro (logical-or x . y) `(,(string->symbol "##logior") ,x ,@y))
-  )
-
-;; -------- Bigloo 
-'(begin            
-  
- (define-macro (def-macro form . body)
-    `(DEFINE-MACRO ,form (LET () ,@body)))
- (def-macro (BITS-PER-WORD) 16)
- (def-macro (logical-or x . y) `(bit-or ,x ,@y))
- )
-
-;;; ---------- END OF SYSTEM DEPENDENT SECTION ------------
-
-;; - Macros pour la gestion des vecteurs de bits
-
-(def-macro (set-bit v b)
-  `(let ((x (quotient ,b (BITS-PER-WORD)))
-        (y (expt 2 (remainder ,b (BITS-PER-WORD)))))
-     (vector-set! ,v x (logical-or (vector-ref ,v x) y))))
-
-(def-macro (bit-union v1 v2 n)
-  `(do ((i 0 (+ i 1)))
-       ((= i ,n))
-     (vector-set! ,v1 i (logical-or (vector-ref ,v1 i) 
-                                   (vector-ref ,v2 i)))))
-
-;; - Macro pour les structures de donnees
-
-(def-macro (new-core)              `(make-vector 4 0))
-(def-macro (set-core-number! c n)  `(vector-set! ,c 0 ,n))
-(def-macro (set-core-acc-sym! c s) `(vector-set! ,c 1 ,s))
-(def-macro (set-core-nitems! c n)  `(vector-set! ,c 2 ,n))
-(def-macro (set-core-items! c i)   `(vector-set! ,c 3 ,i))
-(def-macro (core-number c)         `(vector-ref ,c 0))
-(def-macro (core-acc-sym c)        `(vector-ref ,c 1))
-(def-macro (core-nitems c)         `(vector-ref ,c 2))
-(def-macro (core-items c)          `(vector-ref ,c 3))
-
-(def-macro (new-shift)              `(make-vector 3 0))
-(def-macro (set-shift-number! c x)  `(vector-set! ,c 0 ,x))
-(def-macro (set-shift-nshifts! c x) `(vector-set! ,c 1 ,x))
-(def-macro (set-shift-shifts! c x)  `(vector-set! ,c 2 ,x))
-(def-macro (shift-number s)         `(vector-ref ,s 0))
-(def-macro (shift-nshifts s)        `(vector-ref ,s 1))
-(def-macro (shift-shifts s)         `(vector-ref ,s 2))
-
-(def-macro (new-red)                `(make-vector 3 0))
-(def-macro (set-red-number! c x)    `(vector-set! ,c 0 ,x))
-(def-macro (set-red-nreds! c x)     `(vector-set! ,c 1 ,x))
-(def-macro (set-red-rules! c x)     `(vector-set! ,c 2 ,x))
-(def-macro (red-number c)           `(vector-ref ,c 0))
-(def-macro (red-nreds c)            `(vector-ref ,c 1))
-(def-macro (red-rules c)            `(vector-ref ,c 2))
-
-
-
-(def-macro (new-set nelem)
-  `(make-vector ,nelem 0))
-
-
-(def-macro (vector-map f v)
-  `(let ((vm-n (- (vector-length ,v) 1)))
-    (let loop ((vm-low 0) (vm-high vm-n))
-      (if (= vm-low vm-high)
-         (vector-set! ,v vm-low (,f (vector-ref ,v vm-low) vm-low))
-         (let ((vm-middle (quotient (+ vm-low vm-high) 2)))
-           (loop vm-low vm-middle)
-           (loop (+ vm-middle 1) vm-high))))))
-
-
-;; - Constantes
-(define STATE-TABLE-SIZE 1009)
-
-
-;; - Tableaux 
-(define rrhs         #f)
-(define rlhs         #f)
-(define ritem        #f)
-(define nullable     #f)
-(define derives      #f)
-(define fderives     #f)
-(define firsts       #f)
-(define kernel-base  #f)
-(define kernel-end   #f)
-(define shift-symbol #f)
-(define shift-set    #f)
-(define red-set      #f)
-(define state-table  #f)
-(define acces-symbol #f)
-(define reduction-table #f)
-(define shift-table  #f)
-(define consistent   #f)
-(define lookaheads   #f)
-(define LA           #f)
-(define LAruleno     #f)
-(define lookback     #f)
-(define goto-map     #f)
-(define from-state   #f)
-(define to-state     #f)
-(define includes     #f)
-(define F            #f)
-(define action-table #f)
-
-;; - Variables
-(define nitems          #f)
-(define nrules          #f)
-(define nvars           #f)
-(define nterms          #f)
-(define nsyms           #f)
-(define nstates         #f)
-(define first-state     #f)
-(define last-state      #f)
-(define final-state     #f)
-(define first-shift     #f)
-(define last-shift      #f)
-(define first-reduction #f)
-(define last-reduction  #f)
-(define nshifts         #f)
-(define maxrhs          #f)
-(define ngotos          #f)
-(define token-set-size  #f)
-
-(define (gen-larl1 gram output-file header footer . opt)
-  (define (conv-rule-right rr)
-    (if (null? rr)
-      '()
-      (cons (reverse (car rr))
-        (cons (cadr rr)
-          (cons (caddr rr)
-            (conv-rule-right (cdddr rr)))))))
-  (apply gen-lalr1
-    (map
-      (lambda (elt)
-        (if (symbol? elt)
-          elt
-          (cons (car elt) (conv-rule-right (cdr elt)))))
-      gram)
-    output-file
-    header
-    footer
-    opt))
-
-(define (gen-lalr1 gram output-file header footer . opt)
-  (initialize-all)
-  (rewrite-grammar 
-   gram
-   (lambda (terms vars gram gram/actions)
-     (set! the-terminals (list->vector terms))
-     (set! the-nonterminals (list->vector vars))
-     (set! nterms (length terms))
-     (set! nvars  (length vars))
-     (set! nsyms  (+ nterms nvars))
-     (let ((no-of-rules (length gram/actions))
-          (no-of-items (let loop ((l gram/actions) (count 0))
-                         (if (null? l) 
-                             count
-                             (loop (cdr l) (+ count (length (caar l))))))))
-       (pack-grammar no-of-rules no-of-items gram)
-       (set-derives)
-       (set-nullable)
-       (generate-states)
-       (lalr)
-       (build-tables)
-       (compact-action-table)
-       (let* ((parser-name (if (and (pair? opt) (symbol? (car opt))) (car opt) #f))
-             (prefix      (if parser-name 
-                              (string-append
-                               (symbol->string parser-name)
-                               ":")
-                              ""))
-             (parser-prefix (if parser-name
-                                 (string-append (symbol->string parser-name) "-")
-                                "")))
-        (with-output-to-file output-file
-          (lambda ()
-            (display "; *** Header ***")
-            (newline)
-            (output-header header parser-prefix)
-            (display "; *** Token Definitions ***")
-            (newline)
-            (output-token-defs terms prefix)
-            (display "; *** Action Table ***")
-            (newline)
-            (output-action-table prefix)
-            (display "; *** Goto Table ***")
-            (newline)
-            (output-goto-table prefix)
-            (display "; *** Reduction Table ***")
-            (newline)
-            (output-reduction-table gram/actions prefix)
-            (display "; *** Parser Definition ***")
-            (newline)
-            (output-parser-def parser-prefix prefix)
-            (display "; *** Footer ***")
-            (newline)
-             (output-footer footer)
-            )))))))
-
-
-(define (initialize-all)
-  (set! rrhs         #f)
-  (set! rlhs         #f)
-  (set! ritem        #f)
-  (set! nullable     #f)
-  (set! derives      #f)
-  (set! fderives     #f)
-  (set! firsts       #f)
-  (set! kernel-base  #f)
-  (set! kernel-end   #f)
-  (set! shift-symbol #f)
-  (set! shift-set    #f)
-  (set! red-set      #f)
-  (set! state-table  (make-vector STATE-TABLE-SIZE '()))
-  (set! acces-symbol #f)
-  (set! reduction-table #f)
-  (set! shift-table  #f)
-  (set! consistent   #f)
-  (set! lookaheads   #f)
-  (set! LA           #f)
-  (set! LAruleno     #f)
-  (set! lookback     #f)
-  (set! goto-map     #f)
-  (set! from-state   #f)
-  (set! to-state     #f)
-  (set! includes     #f)
-  (set! F            #f)
-  (set! action-table #f)
-  (set! nstates         #f)
-  (set! first-state     #f)
-  (set! last-state      #f)
-  (set! final-state     #f)
-  (set! first-shift     #f)
-  (set! last-shift      #f)
-  (set! first-reduction #f)
-  (set! last-reduction  #f)
-  (set! nshifts         #f)
-  (set! maxrhs          #f)
-  (set! ngotos          #f)
-  (set! token-set-size  #f))
-
-
-(define (pack-grammar no-of-rules no-of-items gram)
-  (set! nrules (+  no-of-rules 1))
-  (set! nitems no-of-items)
-  (set! rlhs (make-vector nrules #f))
-  (set! rrhs (make-vector nrules #f))
-  (set! ritem (make-vector (+ 1 nitems) #f))
-
-  (let loop ((p gram) (item-no 0) (rule-no 1))
-       (if (not (null? p))
-       (let ((nt (caar p)))
-         (let loop2 ((prods (cdar p)) (it-no2 item-no) (rl-no2 rule-no))
-               (if (null? prods)
-               (loop (cdr p) it-no2 rl-no2)
-               (begin
-                 (vector-set! rlhs rl-no2 nt)
-                 (vector-set! rrhs rl-no2 it-no2)
-                 (let loop3 ((rhs (car prods)) (it-no3 it-no2))
-                       (if (null? rhs)
-                       (begin
-                         (vector-set! ritem it-no3 (- rl-no2))
-                         (loop2 (cdr prods) (+ it-no3 1) (+ rl-no2 1)))
-                       (begin
-                         (vector-set! ritem it-no3 (car rhs))
-                         (loop3 (cdr rhs) (+ it-no3 1))))))))))))
-
-
-;; Fonction set-derives
-;; --------------------
-(define (set-derives)
-  (define delts (make-vector (+ nrules 1) 0))
-  (define dset  (make-vector nvars -1))
-
-  (let loop ((i 1) (j 0))              ; i = 0
-    (if (< i nrules)
-       (let ((lhs (vector-ref rlhs i)))
-         (if (>= lhs 0)
-             (begin
-               (vector-set! delts j (cons i (vector-ref dset lhs)))
-               (vector-set! dset lhs j)
-               (loop (+ i 1) (+ j 1)))
-             (loop (+ i 1) j)))))
-  
-  (set! derives (make-vector nvars 0))
-  
-  (let loop ((i 0))
-    (if (< i nvars)
-       (let ((q (let loop2 ((j (vector-ref dset i)) (s '()))
-                  (if (< j 0)
-                      s
-                      (let ((x (vector-ref delts j)))
-                        (loop2 (cdr x) (cons (car x) s)))))))
-         (vector-set! derives i q)
-         (loop (+ i 1))))))
-
-
-
-(define (set-nullable)
-  (set! nullable (make-vector nvars #f))
-  (let ((squeue (make-vector nvars #f))
-       (rcount (make-vector (+ nrules 1) 0))
-       (rsets  (make-vector nvars #f))
-       (relts  (make-vector (+ nitems nvars 1) #f)))
-    (let loop ((r 0) (s2 0) (p 0))
-      (let ((*r (vector-ref ritem r)))
-       (if *r
-           (if (< *r 0)
-               (let ((symbol (vector-ref rlhs (- *r))))
-                 (if (and (>= symbol 0)
-                          (not (vector-ref nullable symbol)))
-                     (begin
-                       (vector-set! nullable symbol #t)
-                       (vector-set! squeue s2 symbol)
-                       (loop (+ r 1) (+ s2 1) p))))
-               (let loop2 ((r1 r) (any-tokens #f))
-                 (let* ((symbol (vector-ref ritem r1)))
-                   (if (> symbol 0)
-                       (loop2 (+ r1 1) (or any-tokens (>= symbol nvars)))
-                       (if (not any-tokens)
-                           (let ((ruleno (- symbol)))
-                             (let loop3 ((r2 r) (p2 p))
-                               (let ((symbol (vector-ref ritem r2)))
-                                 (if (> symbol 0)
-                                     (begin
-                                       (vector-set! rcount ruleno
-                                                    (+ (vector-ref rcount ruleno) 1))
-                                       (vector-set! relts p2
-                                                    (cons (vector-ref rsets symbol)
-                                                          ruleno))
-                                       (vector-set! rsets symbol p2)
-                                       (loop3 (+ r2 1) (+ p2 1)))
-                                     (loop (+ r2 1) s2 p2)))))
-                           (loop (+ r1 1) s2 p))))))
-           (let loop ((s1 0) (s3 s2))
-             (if (< s1 s3)
-                 (let loop2 ((p (vector-ref rsets (vector-ref squeue s1))) (s4 s3))
-                   (if p 
-                       (let* ((x (vector-ref relts p))
-                              (ruleno (cdr x))
-                              (y (- (vector-ref rcount ruleno) 1)))
-                         (vector-set! rcount ruleno y)
-                         (if (= y 0)
-                             (let ((symbol (vector-ref rlhs ruleno)))
-                               (if (and (>= symbol 0)
-                                        (not (vector-ref nullable symbol)))
-                                   (begin
-                                     (vector-set! nullable symbol #t)
-                                     (vector-set! squeue s4 symbol)
-                                     (loop2 (car x) (+ s4 1)))
-                                   (loop2 (car x) s4)))
-                             (loop2 (car x) s4))))
-                   (loop (+ s1 1) s4)))))))))
-                 
-
-
-; Fonction set-firsts qui calcule un tableau de taille
-; nvars et qui donne, pour chaque non-terminal X, une liste des
-; non-terminaux pouvant apparaitre au debut d'une derivation a
-; partir de X.
-
-(define (set-firsts)
-  (set! firsts (make-vector nvars '()))
-  
-  ;; -- initialization
-  (let loop ((i 0))
-    (if (< i nvars)
-       (let loop2 ((sp (vector-ref derives i)))
-         (if (null? sp)
-             (loop (+ i 1))
-             (let ((sym (vector-ref ritem (vector-ref rrhs (car sp)))))
-               (if (< -1 sym nvars)
-                   (vector-set! firsts i (sinsert sym (vector-ref firsts i))))
-               (loop2 (cdr sp)))))))
-
-  ;; -- reflexive and transitive closure
-  (let loop ((continue #t))
-    (if continue
-       (let loop2 ((i 0) (cont #f))
-         (if (>= i nvars)
-             (loop cont)
-             (let* ((x (vector-ref firsts i))
-                    (y (let loop3 ((l x) (z x))
-                         (if (null? l)
-                             z
-                             (loop3 (cdr l)
-                                    (sunion (vector-ref firsts (car l)) z))))))
-               (if (equal? x y)
-                   (loop2 (+ i 1) cont)
-                   (begin
-                     (vector-set! firsts i y)
-                     (loop2 (+ i 1) #t))))))))
-  
-  (let loop ((i 0))
-    (if (< i nvars)
-       (begin
-         (vector-set! firsts i (sinsert i (vector-ref firsts i)))
-         (loop (+ i 1))))))
-
-
-
-
-; Fonction set-fderives qui calcule un tableau de taille
-; nvars et qui donne, pour chaque non-terminal, une liste des regles pouvant
-; etre derivees a partir de ce non-terminal. (se sert de firsts)
-
-(define (set-fderives)
-  (set! fderives (make-vector nvars #f))
-
-  (set-firsts)
-
-  (let loop ((i 0))
-    (if (< i nvars)
-       (let ((x (let loop2 ((l (vector-ref firsts i)) (fd '()))
-                  (if (null? l) 
-                      fd
-                      (loop2 (cdr l) 
-                             (sunion (vector-ref derives (car l)) fd))))))
-         (vector-set! fderives i x)
-         (loop (+ i 1))))))
-
-
-; Fonction calculant la fermeture d'un ensemble d'items LR0
-; ou core est une liste d'items
-
-(define (closure core)
-  ;; Initialization
-  (define ruleset (make-vector nrules #f))
-
-  (let loop ((csp core))
-    (if (not (null? csp))
-       (let ((sym (vector-ref ritem (car csp))))
-         (if (< -1 sym nvars)
-             (let loop2 ((dsp (vector-ref fderives sym)))
-               (if (not (null? dsp))
-                   (begin
-                     (vector-set! ruleset (car dsp) #t)
-                     (loop2 (cdr dsp))))))
-         (loop (cdr csp)))))
-
-  (let loop ((ruleno 1) (csp core) (itemsetv '())) ; ruleno = 0
-    (if (< ruleno nrules)
-       (if (vector-ref ruleset ruleno)
-           (let ((itemno (vector-ref rrhs ruleno)))
-             (let loop2 ((c csp) (itemsetv2 itemsetv))
-               (if (and (pair? c)
-                        (< (car c) itemno))
-                   (loop2 (cdr c) (cons (car c) itemsetv2))
-                   (loop (+ ruleno 1) c (cons itemno itemsetv2)))))
-           (loop (+ ruleno 1) csp itemsetv))
-       (let loop2 ((c csp) (itemsetv2 itemsetv))
-         (if (pair? c)
-             (loop2 (cdr c) (cons (car c) itemsetv2))
-             (reverse itemsetv2))))))
-
-
-
-(define (allocate-item-sets)
-  (set! kernel-base (make-vector nsyms 0))
-  (set! kernel-end  (make-vector nsyms #f)))
-
-
-(define (allocate-storage)
-  (allocate-item-sets)
-  (set! red-set (make-vector (+ nrules 1) 0)))
-
-;; --
-
-
-(define (initialize-states)
-  (let ((p (new-core)))
-    (set-core-number! p 0)
-    (set-core-acc-sym! p #f)
-    (set-core-nitems! p 1)
-    (set-core-items! p '(0))
-
-    (set! first-state (list p))
-    (set! last-state first-state)
-    (set! nstates 1)))
-
-
-
-(define (generate-states)
-  (allocate-storage)
-  (set-fderives)
-  (initialize-states)
-  (let loop ((this-state first-state))
-    (if (pair? this-state)
-       (let* ((x (car this-state))
-              (is (closure (core-items x))))
-         (save-reductions x is)
-         (new-itemsets is)
-         (append-states)
-         (if (> nshifts 0)
-             (save-shifts x))
-         (loop (cdr this-state))))))
-
-
-;; Fonction calculant les symboles sur lesquels il faut "shifter" 
-;; et regroupe les items en fonction de ces symboles
-
-(define (new-itemsets itemset)
-  ;; - Initialization
-  (set! shift-symbol '())
-  (let loop ((i 0))
-    (if (< i nsyms)
-       (begin
-         (vector-set! kernel-end i '())
-         (loop (+ i 1)))))
-
-  (let loop ((isp itemset))
-    (if (pair? isp)
-       (let* ((i (car isp))
-              (sym (vector-ref ritem i)))
-         (if (>= sym 0)
-             (begin
-               (set! shift-symbol (sinsert sym shift-symbol))
-               (let ((x (vector-ref kernel-end sym)))
-                 (if (null? x)
-                     (begin
-                       (vector-set! kernel-base sym (cons (+ i 1) x))
-                       (vector-set! kernel-end sym (vector-ref kernel-base sym)))
-                     (begin
-                       (set-cdr! x (list (+ i 1)))
-                       (vector-set! kernel-end sym (cdr x)))))))
-         (loop (cdr isp)))))
-
-  (set! nshifts (length shift-symbol)))
-
-
-
-(define (get-state sym)
-  (let* ((isp  (vector-ref kernel-base sym))
-        (n    (length isp))
-        (key  (let loop ((isp1 isp) (k 0))
-                (if (null? isp1)
-                    (modulo k STATE-TABLE-SIZE)
-                    (loop (cdr isp1) (+ k (car isp1))))))
-        (sp   (vector-ref state-table key)))
-    (if (null? sp)
-       (let ((x (new-state sym)))
-         (vector-set! state-table key (list x))
-         (core-number x))
-       (let loop ((sp1 sp))
-         (if (and (= n (core-nitems (car sp1)))
-                  (let loop2 ((i1 isp) (t (core-items (car sp1)))) 
-                    (if (and (pair? i1) 
-                             (= (car i1)
-                                (car t)))
-                        (loop2 (cdr i1) (cdr t))
-                        (null? i1))))
-             (core-number (car sp1))
-             (if (null? (cdr sp1))
-                 (let ((x (new-state sym)))
-                   (set-cdr! sp1 (list x))
-                   (core-number x))
-                 (loop (cdr sp1))))))))
-
-
-(define (new-state sym)
-  (let* ((isp  (vector-ref kernel-base sym))
-        (n    (length isp))
-        (p    (new-core)))
-    (set-core-number! p nstates)
-    (set-core-acc-sym! p sym)
-    (if (= sym nvars) (set! final-state nstates))
-    (set-core-nitems! p n)
-    (set-core-items! p isp)
-    (set-cdr! last-state (list p))
-    (set! last-state (cdr last-state))
-    (set! nstates (+ nstates 1))
-    p))
-
-
-;; --
-
-(define (append-states)
-  (set! shift-set
-       (let loop ((l (reverse shift-symbol)))
-         (if (null? l)
-             '()
-             (cons (get-state (car l)) (loop (cdr l)))))))
-
-;; --
-
-(define (save-shifts core)
-  (let ((p (new-shift)))
-       (set-shift-number! p (core-number core))
-       (set-shift-nshifts! p nshifts)
-       (set-shift-shifts! p shift-set)
-       (if last-shift
-       (begin
-         (set-cdr! last-shift (list p))
-         (set! last-shift (cdr last-shift)))
-       (begin
-         (set! first-shift (list p))
-         (set! last-shift first-shift)))))
-
-(define (save-reductions core itemset)
-  (let ((rs (let loop ((l itemset))
-             (if (null? l)
-                 '()
-                 (let ((item (vector-ref ritem (car l))))
-                   (if (< item 0)
-                       (cons (- item) (loop (cdr l)))
-                       (loop (cdr l))))))))
-    (if (pair? rs)
-       (let ((p (new-red)))
-         (set-red-number! p (core-number core))
-         (set-red-nreds!  p (length rs))
-         (set-red-rules!  p rs)
-         (if last-reduction
-             (begin
-               (set-cdr! last-reduction (list p))
-               (set! last-reduction (cdr last-reduction)))
-             (begin
-               (set! first-reduction (list p))
-               (set! last-reduction first-reduction)))))))
-
-
-;; --
-
-(define (lalr)
-  (set! token-set-size (+ 1 (quotient nterms (BITS-PER-WORD))))
-  (set-accessing-symbol)
-  (set-shift-table)
-  (set-reduction-table)
-  (set-max-rhs)
-  (initialize-LA)
-  (set-goto-map)
-  (initialize-F)
-  (build-relations)
-  (digraph includes)
-  (compute-lookaheads))
-
-(define (set-accessing-symbol)
-  (set! acces-symbol (make-vector nstates #f))
-  (let loop ((l first-state))
-    (if (pair? l)
-       (let ((x (car l)))
-         (vector-set! acces-symbol (core-number x) (core-acc-sym x))
-         (loop (cdr l))))))
-
-(define (set-shift-table)
-  (set! shift-table (make-vector nstates #f))
-  (let loop ((l first-shift))
-    (if (pair? l)
-       (let ((x (car l)))
-         (vector-set! shift-table (shift-number x) x)
-         (loop (cdr l))))))
-
-(define (set-reduction-table)
-  (set! reduction-table (make-vector nstates #f))
-  (let loop ((l first-reduction))
-    (if (pair? l)
-       (let ((x (car l)))
-         (vector-set! reduction-table (red-number x) x)
-         (loop (cdr l))))))
-
-(define (set-max-rhs)
-  (let loop ((p 0) (curmax 0) (length 0))
-    (let ((x (vector-ref ritem p)))
-      (if x
-         (if (>= x 0)
-             (loop (+ p 1) curmax (+ length 1))
-             (loop (+ p 1) (max curmax length) 0))
-         (set! maxrhs curmax)))))
-
-(define (initialize-LA)
-  (define (last l)
-    (if (null? (cdr l))
-       (car l)
-       (last (cdr l))))
-
-  (set! consistent (make-vector nstates #f))
-  (set! lookaheads (make-vector (+ nstates 1) #f))
-
-  (let loop ((count 0) (i 0))
-    (if (< i nstates)
-       (begin
-         (vector-set! lookaheads i count)
-         (let ((rp (vector-ref reduction-table i))
-               (sp (vector-ref shift-table i)))
-           (if (and rp
-                    (or (> (red-nreds rp) 1)
-                        (and sp
-                             (not
-                              (< (vector-ref acces-symbol
-                                             (last (shift-shifts sp)))
-                                 nvars)))))
-               (loop (+ count (red-nreds rp)) (+ i 1))
-               (begin
-                 (vector-set! consistent i #t)
-                 (loop count (+ i 1))))))
-
-       (begin
-         (vector-set! lookaheads nstates count)
-         (let ((c (max count 1)))
-           (set! LA (make-vector c #f))
-           (do ((j 0 (+ j 1))) ((= j c)) (vector-set! LA j (new-set token-set-size)))
-           (set! LAruleno (make-vector c -1))
-           (set! lookback (make-vector c #f)))
-         (let loop ((i 0) (np 0))
-           (if (< i nstates)
-               (if (vector-ref consistent i)
-                   (loop (+ i 1) np)
-                   (let ((rp (vector-ref reduction-table i)))
-                     (if rp
-                         (let loop2 ((j (red-rules rp)) (np2 np))
-                           (if (null? j)
-                               (loop (+ i 1) np2)
-                               (begin
-                                 (vector-set! LAruleno np2 (car j))
-                                 (loop2 (cdr j) (+ np2 1)))))
-                         (loop (+ i 1) np))))))))))
-
-
-(define (set-goto-map)
-  (set! goto-map (make-vector (+ nvars 1) 0))
-  (let ((temp-map (make-vector (+ nvars 1) 0)))
-    (let loop ((ng 0) (sp first-shift))
-      (if (pair? sp)
-         (let loop2 ((i (reverse (shift-shifts (car sp)))) (ng2 ng))
-           (if (pair? i)
-               (let ((symbol (vector-ref acces-symbol (car i))))
-                 (if (< symbol nvars)
-                     (begin
-                       (vector-set! goto-map symbol 
-                                    (+ 1 (vector-ref goto-map symbol)))
-                       (loop2 (cdr i) (+ ng2 1)))
-                     (loop2 (cdr i) ng2)))
-               (loop ng2 (cdr sp))))
-
-         (let loop ((k 0) (i 0))
-           (if (< i nvars)
-               (begin
-                 (vector-set! temp-map i k)
-                 (loop (+ k (vector-ref goto-map i)) (+ i 1)))
-
-               (begin
-                 (do ((i 0 (+ i 1)))
-                     ((>= i nvars))
-                   (vector-set! goto-map i (vector-ref temp-map i)))
-
-                 (set! ngotos ng)
-                 (vector-set! goto-map nvars ngotos)
-                 (vector-set! temp-map nvars ngotos)
-                 (set! from-state (make-vector ngotos #f))
-                 (set! to-state (make-vector ngotos #f))
-                 
-                 (do ((sp first-shift (cdr sp)))
-                     ((null? sp))
-                   (let* ((x (car sp))
-                          (state1 (shift-number x)))
-                     (do ((i (shift-shifts x) (cdr i)))
-                         ((null? i))
-                       (let* ((state2 (car i))
-                              (symbol (vector-ref acces-symbol state2)))
-                         (if (< symbol nvars)
-                             (let ((k (vector-ref temp-map symbol)))
-                               (vector-set! temp-map symbol (+ k 1))
-                               (vector-set! from-state k state1)
-                               (vector-set! to-state k state2))))))))))))))
-
-
-(define (map-goto state symbol)
-  (let loop ((low (vector-ref goto-map symbol))
-            (high (- (vector-ref goto-map (+ symbol 1)) 1)))
-    (if (> low high)
-       (begin
-         (display (list "Error in map-goto" state symbol)) (newline)
-         0)
-       (let* ((middle (quotient (+ low high) 2))
-              (s (vector-ref from-state middle)))
-         (cond
-          ((= s state)
-           middle)
-          ((< s state)
-           (loop (+ middle 1) high))
-          (else
-           (loop low (- middle 1))))))))
-
-
-(define (initialize-F)
-  (set! F (make-vector ngotos #f))
-  (do ((i 0 (+ i 1))) ((= i ngotos)) (vector-set! F i (new-set token-set-size)))
-
-  (let ((reads (make-vector ngotos #f)))
-
-    (let loop ((i 0) (rowp 0))
-      (if (< i ngotos)
-         (let* ((rowf (vector-ref F rowp))
-                (stateno (vector-ref to-state i))
-                (sp (vector-ref shift-table stateno)))
-           (if sp
-               (let loop2 ((j (shift-shifts sp)) (edges '()))
-                 (if (pair? j)
-                     (let ((symbol (vector-ref acces-symbol (car j))))
-                       (if (< symbol nvars)
-                           (if (vector-ref nullable symbol)
-                               (loop2 (cdr j) (cons (map-goto stateno symbol) 
-                                                    edges))
-                               (loop2 (cdr j) edges))
-                           (begin
-                             (set-bit rowf (- symbol nvars))
-                             (loop2 (cdr j) edges))))
-                     (if (pair? edges)
-                         (vector-set! reads i (reverse edges))))))
-             (loop (+ i 1) (+ rowp 1)))))
-    (digraph reads)))
-
-(define (add-lookback-edge stateno ruleno gotono)
-  (let ((k (vector-ref lookaheads (+ stateno 1))))
-    (let loop ((found #f) (i (vector-ref lookaheads stateno)))
-      (if (and (not found) (< i k))
-         (if (= (vector-ref LAruleno i) ruleno)
-             (loop #t i)
-             (loop found (+ i 1)))
-
-         (if (not found)
-             (begin (display "Error in add-lookback-edge : ")
-                    (display (list stateno ruleno gotono)) (newline))
-             (vector-set! lookback i
-                          (cons gotono (vector-ref lookback i))))))))
-
-
-(define (transpose r-arg n)
-  (let ((new-end (make-vector n #f))
-       (new-R  (make-vector n #f)))
-    (do ((i 0 (+ i 1))) 
-       ((= i n))
-      (let ((x (list 'bidon)))
-       (vector-set! new-R i x)
-       (vector-set! new-end i x)))
-    (do ((i 0 (+ i 1)))
-       ((= i n))
-      (let ((sp (vector-ref r-arg i)))
-       (if (pair? sp)
-           (let loop ((sp2 sp))
-             (if (pair? sp2)
-                 (let* ((x (car sp2))
-                        (y (vector-ref new-end x)))
-                   (set-cdr! y (cons i (cdr y)))
-                   (vector-set! new-end x (cdr y))
-                   (loop (cdr sp2))))))))
-    (do ((i 0 (+ i 1)))
-       ((= i n))
-      (vector-set! new-R i (cdr (vector-ref new-R i))))
-    
-    new-R))
-
-
-
-(define (build-relations)
-
-  (define (get-state stateno symbol)
-    (let loop ((j (shift-shifts (vector-ref shift-table stateno)))
-              (stno stateno))
-      (if (null? j)
-         stno
-         (let ((st2 (car j)))
-           (if (= (vector-ref acces-symbol st2) symbol)
-               st2
-               (loop (cdr j) st2))))))
-
-  (set! includes (make-vector ngotos #f))
-  (do ((i 0 (+ i 1)))
-      ((= i ngotos))
-    (let ((state1 (vector-ref from-state i))
-         (symbol1 (vector-ref acces-symbol (vector-ref to-state i))))
-      (let loop ((rulep (vector-ref derives symbol1))
-                (edges '()))
-       (if (pair? rulep)
-           (let ((*rulep (car rulep)))
-             (let loop2 ((rp (vector-ref rrhs *rulep))
-                         (stateno state1)
-                         (states (list state1)))
-               (let ((*rp (vector-ref ritem rp)))
-                 (if (> *rp 0)
-                     (let ((st (get-state stateno *rp)))
-                       (loop2 (+ rp 1) st (cons st states)))
-                     (begin
-
-                       (if (not (vector-ref consistent stateno))
-                           (add-lookback-edge stateno *rulep i))
-                       
-                       (let loop2 ((done #f) 
-                                   (stp (cdr states))
-                                   (rp2 (- rp 1))
-                                   (edgp edges))
-                         (if (not done)
-                             (let ((*rp (vector-ref ritem rp2)))
-                               (if (< -1 *rp nvars)
-                                 (loop2 (not (vector-ref nullable *rp))
-                                        (cdr stp)
-                                        (- rp2 1)
-                                        (cons (map-goto (car stp) *rp) edgp))
-                                 (loop2 #t stp rp2 edgp)))
-
-                             (loop (cdr rulep) edgp))))))))
-           (vector-set! includes i edges)))))
-  (set! includes (transpose includes ngotos)))
-                       
-
-
-(define (compute-lookaheads)
-  (let ((n (vector-ref lookaheads nstates)))
-    (let loop ((i 0))
-      (if (< i n)
-         (let loop2 ((sp (vector-ref lookback i)))
-           (if (pair? sp)
-               (let ((LA-i (vector-ref LA i))
-                     (F-j  (vector-ref F (car sp))))
-                 (bit-union LA-i F-j token-set-size)
-                 (loop2 (cdr sp)))
-               (loop (+ i 1))))))))
-
-
-
-(define (digraph relation)
-  (define infinity (+ ngotos 2))
-  (define INDEX (make-vector (+ ngotos 1) 0))
-  (define VERTICES (make-vector (+ ngotos 1) 0))
-  (define top 0)
-  (define R relation)
-
-  (define (traverse i)
-    (set! top (+ 1 top))
-    (vector-set! VERTICES top i)
-    (let ((height top))
-      (vector-set! INDEX i height)
-      (let ((rp (vector-ref R i)))
-       (if (pair? rp)
-           (let loop ((rp2 rp))
-             (if (pair? rp2)
-                 (let ((j (car rp2)))
-                   (if (= 0 (vector-ref INDEX j))
-                       (traverse j))
-                   (if (> (vector-ref INDEX i) 
-                          (vector-ref INDEX j))
-                       (vector-set! INDEX i (vector-ref INDEX j)))
-                   (let ((F-i (vector-ref F i))
-                         (F-j (vector-ref F j)))
-                     (bit-union F-i F-j token-set-size))
-                   (loop (cdr rp2))))))
-       (if (= (vector-ref INDEX i) height)
-           (let loop ()
-             (let ((j (vector-ref VERTICES top)))
-               (set! top (- top 1))
-               (vector-set! INDEX j infinity)
-               (if (not (= i j))
-                   (begin
-                     (bit-union (vector-ref F i) 
-                                (vector-ref F j)
-                                token-set-size)
-                     (loop)))))))))
-
-  (let loop ((i 0))
-    (if (< i ngotos)
-       (begin
-         (if (and (= 0 (vector-ref INDEX i))
-                  (pair? (vector-ref R i)))
-             (traverse i))
-         (loop (+ i 1))))))
-
-
-;; --
-
-(define (build-tables)
-  (define (add-action St Sym Act)
-    (let* ((x (vector-ref ACTION-TABLE St))
-          (y (assv Sym x)))
-      (if y
-         (if (not (= Act (cdr y)))
-             ;; -- there is a conflict 
-             (begin
-               (if (and (<= (cdr y) 0)
-                        (<= Act 0))
-                   (begin
-                     (display "%% Reduce/Reduce conflict ")
-                     (display "(reduce ") (display (- Act))
-                     (display ", reduce ") (display (- (cdr y)))
-                     (display ") on ") (print-symbol (+ Sym nvars))
-                     (display " in state ") (display St)
-                     (newline)
-                     (set-cdr! y (max (cdr y) Act)))
-                   (begin
-                     (display "%% Shift/Reduce conflict ")
-                     (display "(shift ") (display Act)
-                     (display ", reduce ") (display (- (cdr y)))
-                     (display ") on ") (print-symbol (+ Sym nvars))
-                     (display " in state ") (display St)
-                     (newline)
-                     (set-cdr! y Act)))))
-         (vector-set! ACTION-TABLE St
-                      (cons (cons Sym Act) x)))))
-       
-  (set! action-table (make-vector nstates '()))
-
-  (do ((i 0 (+ i 1)))  ; i = state
-      ((= i nstates))
-    (let ((red (vector-ref reduction-table i)))
-      (if (and red (>= (red-nreds red) 1))
-         (if (and (= (red-nreds red) 1) (vector-ref consistent i))
-             (add-action i 'default (- (car (red-rules red))))
-             (let ((k (vector-ref lookaheads (+ i 1))))
-               (let loop ((j (vector-ref lookaheads i)))
-                 (if (< j k)
-                     (let ((rule (- (vector-ref LAruleno j)))
-                           (lav  (vector-ref LA j)))
-                       (let loop2 ((token 0) (x (vector-ref lav 0)) (y 1) (z 0))
-                         (if (< token nterms)
-                             (begin
-                               (let ((in-la-set? (modulo x 2)))
-                                 (if (= in-la-set? 1)
-                                     (add-action i token rule)))
-                               (if (= y (BITS-PER-WORD))
-                                   (loop2 (+ token 1) 
-                                          (vector-ref lav (+ z 1))
-                                          1
-                                          (+ z 1))
-                                   (loop2 (+ token 1) (quotient x 2) (+ y 1) z)))))
-                       (loop (+ j 1)))))))))
-
-    (let ((shiftp (vector-ref shift-table i)))
-      (if shiftp
-         (let loop ((k (shift-shifts shiftp)))
-           (if (pair? k)
-               (let* ((state (car k))
-                      (symbol (vector-ref acces-symbol state)))
-                 (if (>= symbol nvars)
-                     (add-action i (- symbol nvars) state))
-                 (loop (cdr k))))))))
-
-  (add-action final-state 0 'accept))
-
-(define (compact-action-table)
-  (define (most-common-action acts)
-    (let ((accums '()))
-      (let loop ((l acts))
-       (if (pair? l)
-           (let* ((x (cdar l))
-                  (y (assv x accums)))
-             (if (and (number? x) (< x 0))
-                 (if y
-                     (set-cdr! y (+ 1 (cdr y)))
-                     (set! accums (cons `(,x . 1) accums))))
-             (loop (cdr l)))))
-
-      (let loop ((l accums) (max 0) (sym #f))
-       (if (null? l)
-           sym
-           (let ((x (car l)))
-             (if (> (cdr x) max)
-                 (loop (cdr l) (cdr x) (car x))
-                 (loop (cdr l) max sym)))))))
-
-  (do ((i 0 (+ i 1)))
-      ((= i nstates))
-    (let ((acts (vector-ref action-table i)))
-      (if (vector? (vector-ref reduction-table i))
-         (let ((act (most-common-action acts)))
-           (vector-set! action-table i
-                        (cons `(default . ,(if act act 'error))
-                              (filter (lambda (x) 
-                                        (not (eq? (cdr x) act)))
-                                      acts))))
-         (vector-set! action-table i 
-                      (cons `(default . *error*) acts))))))
-
-
-(define (output-action-table prefix)
-  (display "(defconst ") (display prefix) (display "action-table") (newline)
-  (display "  [") (newline)
-  (do ((i 0 (+ i 1)))
-      ((= i nstates))
-    (display "     ")
-    (write (vector-ref action-table i))
-    (newline))
-  (display "    ])") (newline)
-  (newline))
-
-(define (output-goto-table prefix)
-  (display "(defconst ") (display prefix) (display "goto-table") (newline)
-  (display "  [") (newline)
-  (do ((i 0 (+ i 1)))
-      ((= i nstates))
-    (display "     ") 
-    (let ((shifts (vector-ref shift-table i)))
-      (if shifts
-         (begin
-           (display "(")
-           (let loop ((l (shift-shifts shifts)))
-             (if (null? l)
-                 (display ")")
-                 (let* ((state (car l))
-                        (symbol (vector-ref acces-symbol state)))
-                   (if (< symbol nvars)
-                       (display `(,symbol . ,state)))
-                   (loop (cdr l))))))
-         (display '())))
-    (newline))
-  (display "    ])") (newline)
-  (newline))
-
-(define (output-reduction-table gram/actions prefix)
-  (display "(defconst ") (display prefix) (display "reduction-table") (newline)
-  (display "  (vector") (newline)
-  (display "    '()") (newline)
-  (for-each
-   (lambda (p)
-     (let ((act (cdr p)))
-       (display "    (lambda (stack sp goto-table $look)") (newline)
-       (let* ((nt (caar p)) (rhs (cdar p)) (n (length rhs)))
-        (display "      (let* (")
-        (if act
-            (let loop ((i 1) (l rhs))
-              (if (not (null? l))
-                  (let ((rest (cdr l)))
-                    (if (> i 1) (begin (newline) (display "             ")))
-                    (display "($") (display (+ (- n i) 1)) (display " ")
-                    (display "(aref stack (- sp ")
-                    (display (- (* i 2) 1))
-                    (display ")))")
-                    (loop (+ i 1) rest)))))
-        (display ")")
-        (newline)
-        (display "          ")
-        (if (= nt 0)
-            (display "(accept $1)")
-            (begin
-              (display "(lr-push stack (- sp ")
-              (display (* 2 n))
-              (display ") ")
-              (display nt)
-              (display " goto-table ")
-              (write (cdr p))
-              (display ")")))
-        (display "))") (newline))))
-   gram/Actions)
-  (display "  ))") (newline)
-  (newline))
-
-(define (output-header header parser-prefix)
-  (display header)
-  (display "(require 'lr-driver)") (newline)
-  (newline))
-
-(define (output-footer footer)
-  (display footer) (newline)
-  (newline))
-
-(define (output-parser-def parser-prefix prefix)
-  (display "(defun ") (display parser-prefix) (display "parse") (display "(scanner errorhandler)") (newline)
-  (display "  (lr-parse scanner errorhandler ") (newline)
-  (display "    ") (display prefix) (display "action-table") (newline)
-  (display "    ") (display prefix) (display "goto-table") (newline)
-  (display "    ") (display prefix) (display "reduction-table") (newline)
-  (display "    ") (display prefix) (display "token-defs))") (newline)
-  (newline))
-
-(define (output-token-defs terms prefix)
-  (let loop ((i 0) (l terms))
-    (if (pair? l)
-       (let ((x (car l)))
-         (display "(defconst ") (display prefix)
-         (write x)
-         (display #\tab)
-         (display i)
-         (display ")")
-         (newline)
-         (loop (+ i 1) (cdr l)))))
-  (newline)
-  (display "(defconst ") (display prefix) (display "token-defs") (newline)
-  (display "  (list ") (newline)
-  (let loop ((i 0) (l terms))
-    (if (pair? l)
-       (begin
-         (display "   (cons ")
-         (display i)
-         (display " \"") (display (car l)) (display "\")")
-         (newline)
-         (loop (+ i 1) (cdr l)))))
-  (display "  ))") (newline)
-  (newline))
-
-;; --
-
-(define (rewrite-grammar grammar proc) 
-
-  (define eoi '*EOI*)
-
-  (if (not (pair? grammar))
-      (error "Grammar definition must be a non-empty list")
-      (let loop1 ((lst grammar) (rev-terms '()))
-       (if (and (pair? lst) (not (pair? (car lst)))) ; definition d'un terminal?
-           (let ((term (car lst)))
-             (cond ((not (valid-terminal? term))
-                    (error "Invalid terminal:" term))
-                   ((member term rev-terms)
-                    (error "Terminal previously defined:" term))
-                   (else
-                    (loop1 (cdr lst) (cons term rev-terms)))))
-           (let loop2 ((lst lst) (rev-nonterm-defs '()))
-             (if (pair? lst)
-                 (let ((def (car lst)))
-                   (if (not (pair? def))
-                       (error "Nonterminal definition must be a non-empty list")
-                       (let ((nonterm (car def)))
-                         (cond ((not (valid-nonterminal? nonterm))
-                                (error "Invalid nonterminal:" nonterm))
-                               ((or (member nonterm rev-terms)
-                                    (assoc nonterm rev-nonterm-defs))
-                                (error "Nonterminal previously defined:" nonterm))
-                               (else
-                                (loop2 (cdr lst)
-                                       (cons def rev-nonterm-defs)))))))
-                 (let* ((terms (cons eoi (reverse rev-terms)))
-                        (nonterm-defs (reverse rev-nonterm-defs))
-                        (nonterms (cons '*start* (map car nonterm-defs))))
-                   (if (= (length nonterms) 1)
-                       (error "Grammar must contain at least one nonterminal")
-                       (let ((compiled-nonterminals
-                              (map (lambda (nonterm-def)
-                                     (rewrite-nonterm-def nonterm-def
-                                                          terms
-                                                          nonterms))
-                                   (cons `(*start* (,(cadr nonterms) ,eoi) : $1)
-                                         nonterm-defs))))
-                         (proc terms
-                               nonterms
-                               (map (lambda (x) (cons (caaar x) (map cdar x)))
-                                    compiled-nonterminals)
-                               (apply append compiled-nonterminals)))))))))))
-
-
-(define (rewrite-nonterm-def nonterm-def terms nonterms)
-
-  (define No-NT (length nonterms))
-
-  (define (encode x) 
-    (let ((PosInNT (pos-in-list x nonterms)))
-      (if PosInNT
-         PosInNT
-         (let ((PosInT (pos-in-list x terms)))
-           (if PosInT
-               (+ No-NT PosInT)
-               (error "undefined symbol : " x))))))
-
-  (if (not (pair? (cdr nonterm-def)))
-      (error "At least one production needed for nonterminal" (car nonterm-def))
-      (let ((name (symbol->string (car nonterm-def))))
-       (let loop1 ((lst (cdr nonterm-def))
-                   (i 1)
-                   (rev-productions-and-actions '()))
-         (if (not (pair? lst))
-             (reverse rev-productions-and-actions)
-             (let* ((rhs (car lst))
-                    (rest (cdr lst))
-                    (prod (map encode (cons (car nonterm-def) rhs))))
-               (for-each (lambda (x)
-                           (if (not (or (member x terms) (member x nonterms)))
-                               (error "Invalid terminal or nonterminal" x)))
-                         rhs)
-               (if (and (pair? rest)
-                        (eq? (car rest) ':)
-                        (pair? (cdr rest)))
-                   (loop1 (cddr rest)
-                          (+ i 1)
-                          (cons (cons prod (cadr rest)) 
-                                rev-productions-and-actions))
-                   (let* ((rhs-length (length rhs))
-                          (action
-                           (cons 'VECTOR
-                                (cons (list 'QUOTE (string->symbol
-                                                    (string-append
-                                                     name
-                                                     "-"
-                                                     (number->string i))))
-                                      (let loop-j ((j 1))
-                                        (if (> j rhs-length)
-                                            '()
-                                            (cons (string->symbol
-                                                   (string-append
-                                                    "$"
-                                                    (number->string j)))
-                                                  (loop-j (+ j 1)))))))))
-                     (loop1 rest
-                            (+ i 1)
-                            (cons (cons prod action) 
-                                  rev-productions-and-actions))))))))))
-
-(define (valid-nonterminal? x)
-  (symbol? x))
-
-(define (valid-terminal? x)
-  (symbol? x))              ; DB 
-
-;; ---------------------------------------------------------------------- ;;
-;; Miscellaneous                                                          ;;
-;; ---------------------------------------------------------------------- ;;
-(define (pos-in-list x lst)
-  (let loop ((lst lst) (i 0))
-    (cond ((not (pair? lst))    #f)
-         ((equal? (car lst) x) i)
-         (else                 (loop (cdr lst) (+ i 1))))))
-
-(define (sunion lst1 lst2)             ; union of sorted lists
-  (let loop ((L1 lst1)
-            (L2 lst2))
-    (cond ((null? L1)    L2)
-         ((null? L2)    L1)
-         (else 
-          (let ((x (car L1)) (y (car L2)))
-            (cond
-             ((> x y)
-              (cons y (loop L1 (cdr L2))))
-             ((< x y)
-              (cons x (loop (cdr L1) L2)))
-             (else
-              (loop (cdr L1) L2))
-             ))))))
-
-(define (sinsert elem lst)
-  (let loop ((l1 lst))
-    (if (null? l1) 
-       (cons elem l1)
-       (let ((x (car l1)))
-         (cond ((< elem x)
-                (cons elem l1))
-               ((> elem x)
-                (cons x (loop (cdr l1))))
-               (else 
-                l1))))))
-
-(define (filter p lst)
-  (let loop ((l lst))
-    (if (null? l)
-       '()
-       (let ((x (car l)) (y (cdr l)))
-       (if (p x)
-           (cons x (loop y))
-           (loop y))))))
-
-;; ---------------------------------------------------------------------- ;;
-;; Debugging tools ...                                                    ;;
-;; ---------------------------------------------------------------------- ;;
-(define the-terminals #f)
-(define the-nonterminals #f)
-
-(define (print-item item-no)
-  (let loop ((i item-no))
-    (let ((v (vector-ref ritem i)))
-      (if (>= v 0)
-         (loop (+ i 1))
-         (let* ((rlno    (- v))
-                (nt      (vector-ref rlhs rlno)))
-           (display (vector-ref the-nonterminals nt)) (display " --> ")
-           (let loop ((i (vector-ref rrhs rlno)))
-             (let ((v (vector-ref ritem i)))
-               (if (= i item-no)
-                   (display ". "))
-               (if (>= v 0)
-                   (begin
-                     (print-symbol v)
-                     (display " ")
-                     (loop (+ i 1)))
-                   (begin 
-                     (display "   (rule ")
-                     (display (- v))
-                     (display ")")
-                     (newline))))))))))
-  
-(define (print-symbol n)
-  (display (if (>= n nvars)
-              (vector-ref the-terminals (- n nvars))
-              (vector-ref the-nonterminals n))))
-  
-(define (print-states)
-  (define (print-action act)
-    (cond
-     ((eq? act '*error*)
-      (display " : Error"))
-     ((eq? act 'accept)
-      (display " : Accept input"))
-     ((< act 0)
-      (display " : reduce using rule ")
-      (display (- act)))
-     (else
-      (display " : shift and goto state ")
-      (display act)))
-    (newline)
-    #t)
-  
-  (define (print-actions acts)
-    (let loop ((l acts))
-      (if (null? l)
-         #t
-         (let ((sym (caar l))
-               (act (cdar l)))
-           (display "   ")
-           (cond
-            ((eq? sym 'default)
-             (display "default action"))
-            (else
-             (print-symbol (+ sym nvars))))
-           (print-action act)
-           (loop (cdr l))))))
-  
-  (if (not action-table)
-      (begin
-       (display "No generated parser available!")
-       (newline)
-       #f)
-      (begin
-       (display "State table") (newline)
-       (display "-----------") (newline) (newline)
-  
-       (let loop ((l first-state))
-         (if (null? l)
-             #t
-             (let* ((core  (car l))
-                    (i     (core-number core))
-                    (items (core-items core))
-                    (actions (vector-ref action-table i)))
-               (display "state ") (display i) (newline)
-               (newline)
-               (for-each (lambda (x) (display "   ") (print-item x))
-                         items)
-               (newline)
-               (print-actions actions)
-               (newline)
-               (loop (cdr l))))))))
-
-
-         
diff --git a/lex.el b/lex.el
deleted file mode 100644 (file)
index 2ba926b..0000000
--- a/lex.el
+++ /dev/null
@@ -1,315 +0,0 @@
-(require 'emu)
-(require 'rx)
-(require 'automata)
-(provide 'lex)
-
-(put 'lex-scan-multibyte 'lisp-indent-function 3)
-(put 'lex-scan-unibyte 'lisp-indent-function 3)
-
-;;;
-
-(eval-and-compile
-;; CCL is not so fast for this library.
-;; Because it requires quadratic time for skipping string prefix.
-;; However, it is bit faster than emacs-lisp on average for common case,
-;; it is default if available.
-(defvar lex-use-ccl (fboundp 'ccl-execute-on-string))
-(when lex-use-ccl
-  (require 'ccl))
-)
-
-;;; user interface macro
-
-;;; multibyte
-
-(defvar lex-scan-multibyte-str-var (make-symbol "str"))
-(defvar lex-scan-multibyte-ptr-var (make-symbol "ptr"))
-(defvar lex-scan-multibyte-end-var (make-symbol "end"))
-(defvar lex-scan-multibyte-mch-var (make-symbol "mch"))
-
-(defmacro lex-scan-multibyte-read (pc)
-  `(if (< ,lex-scan-multibyte-ptr-var ,lex-scan-multibyte-end-var)
-       (setq ,pc (sref ,lex-scan-multibyte-str-var ,lex-scan-multibyte-ptr-var)
-            ,lex-scan-multibyte-ptr-var (char-next-index ,pc ,lex-scan-multibyte-ptr-var)
-            ,pc (char-int ,pc))
-     (lex-fail)))
-
-(defmacro lex-scan-multibyte-save ()
-  `(setq ,lex-scan-multibyte-mch-var ,lex-scan-multibyte-ptr-var))
-
-(defmacro lex-scan-multibyte (str start end &rest clauses)
-  (if (not start) (setq start 0))
-  (if (not end) (setq end `(length ,lex-scan-multibyte-str-var)))
-  (let ((id 1) (rx ()) (acts ()) tmp code
-       (restore-code (if (symbolp start) `(setq ,start ,lex-scan-multibyte-mch-var))))
-    (while (consp clauses)
-      (setq rx (cons (rx-con (caar clauses) (rx-act id)) rx)
-           acts (cons (cons id (cons restore-code (cdar clauses))) acts)
-           id (1+ id)
-           clauses (cdr clauses)))
-    (setq rx (rx-alt rx)
-         tmp (rx-categolize-char (rx-desugar rx)))
-    `(let* ((,lex-scan-multibyte-str-var ,str)
-           (,lex-scan-multibyte-ptr-var ,start)
-           (,lex-scan-multibyte-end-var ,end)
-           ,lex-scan-multibyte-mch-var)
-       ,(lex-gen-machine (lex-automata (car tmp)) (cdr tmp) acts 'lex-scan-multibyte-read 'lex-scan-multibyte-save))))
-
-;;; unibyte
-
-(defvar lex-scan-unibyte-str-var (make-symbol "str"))
-(defvar lex-scan-unibyte-ptr-var (make-symbol "ptr"))
-(defvar lex-scan-unibyte-end-var (make-symbol "end"))
-(defvar lex-scan-unibyte-mch-var (make-symbol "mch"))
-
-(defmacro lex-scan-unibyte-read (pc)
-  `(if (< ,lex-scan-unibyte-ptr-var ,lex-scan-unibyte-end-var)
-       (setq ,pc (aref ,lex-scan-unibyte-str-var ,lex-scan-unibyte-ptr-var)
-            ,lex-scan-unibyte-ptr-var (1+ ,lex-scan-unibyte-ptr-var)
-            ,pc (char-int ,pc))
-     (lex-fail)))
-
-(defmacro lex-scan-unibyte-save ()
-  `(setq ,lex-scan-unibyte-mch-var ,lex-scan-unibyte-ptr-var))
-
-(defmacro lex-scan-unibyte (str start end &rest clauses)
-  (if (not start) (setq start 0))
-  (if (not end) (setq end `(length ,lex-scan-unibyte-str-var)))
-  (let ((id 1) (rx ()) (acts ()) tmp code
-       (restore-code (if (symbolp start) `(setq ,start ,lex-scan-unibyte-mch-var))))
-    (while (consp clauses)
-      (setq rx (cons (rx-con (caar clauses) (rx-act id)) rx)
-           acts (cons (cons id (cons restore-code (cdar clauses))) acts)
-           id (1+ id)
-           clauses (cdr clauses)))
-    (setq rx (rx-alt rx)
-         tmp (rx-categolize-char (rx-desugar rx)))
-    `(let* ((,lex-scan-unibyte-str-var ,str)
-           (,lex-scan-unibyte-ptr-var ,start)
-           (,lex-scan-unibyte-end-var ,end)
-           ,lex-scan-unibyte-mch-var)
-       ,(lex-gen-machine (lex-automata (car tmp)) (cdr tmp) acts 'lex-scan-unibyte-read 'lex-scan-unibyte-save))))
-
-;;; automata generation
-
-(defun lex-automata (rx)
-  (let* ((rx (rx-simplify rx))
-        (stack (list rx))              ; list of rx
-        (table (list (rx-cons* rx 0 (lex-make-box (list 'd1 'd2)))))
-                                       ; list of (rx id . box-for-reverse-links)
-        (states ())                    ; list of (id act trans . box-for-reverse-links)
-                                       ;   where trans = list of (pc id . box-for-reverse-links)
-        (next-id 1)
-        tbl-ent box id pcs act pc trans  rx-stepped p)
-    (while (consp stack)
-      (setq rx (car stack)
-           stack (cdr stack)
-           tbl-ent (assoc rx table)
-           id (cadr tbl-ent)
-           box (cddr tbl-ent)
-           pcs (rx-head-pcs rx)
-           act (rx-head-act rx)
-           trans ())
-      (while (consp pcs)
-       (setq pc (car pcs)
-             pcs (cdr pcs)
-             rx-stepped (rx-step rx pc)
-             p (assoc rx-stepped table))
-       (if p
-           (progn
-             (setq trans (cons (cons pc (cdr p)) trans))
-             (lex-add-box (cddr p) id))
-         (setq p (rx-cons* rx-stepped next-id (lex-make-box (list id)))
-               trans (cons (cons pc (cdr p)) trans)
-               table (cons p table)
-               next-id (1+ next-id)
-               stack (cons rx-stepped stack))))
-      (setq states
-           (cons (rx-cons* id act trans box)
-                 states)))
-    states))
-
-;;; automata coding
-
-(defvar lex-pc-var (make-symbol "pc"))
-(defvar lex-act-var (make-symbol "act"))
-(defvar lex-escape-tag (make-symbol "esc"))
-
-(defun lex-gen-machine (states cs acts read-macro save-macro)
-  `(let (,lex-pc-var ,lex-act-var)
-     ,(if (and lex-use-ccl
-              (eq read-macro 'lex-scan-unibyte-read)
-              (eq save-macro 'lex-scan-unibyte-save))
-         (lex-gen-ccl-unibyte-automata states cs)
-       (lex-gen-automata states cs read-macro save-macro))
-     ,(lex-gen-action acts)))
-
-(defun lex-gen-automata (states cs read-macro save-macro)
-  `(catch ',lex-escape-tag
-     (automata
-      ,lex-pc-var 0
-      ,@(mapcar
-        (lambda (s) (lex-gen-state s cs read-macro save-macro))
-        states))))
-
-(defun lex-gen-state (s cs read-macro save-macro)
-  (let ((id (nth 0 s))
-       (act (nth 1 s))
-       (trans (nth 2 s)))
-    `(,id
-      (progn
-       ,@(if act
-             `((lex-match ,(cdr act)) (,save-macro))
-           ())
-       ,@(if (consp trans) `((,read-macro ,lex-pc-var))))
-      (lex-fail)
-      ,@(mapcar
-        (lambda (tr) `(,(let ((l (member (car tr) cs)))
-                          (if (null (cdr l))
-                              (natset-seg (car l))
-                            (natset-seg (car l) (1- (cadr l)))))
-                       ,(cadr tr)))
-        trans))))
-
-(defun lex-gen-action (acts)
-  `(automata-branch
-    ,lex-act-var ,(apply 'natset-single (mapcar 'car acts)) automata-never-fail
-    ,@(mapcar
-       (lambda (act) `(,(natset-single (car act)) nil ,@(cdr act)))
-       acts)))
-
-;;; CCL version automata generation
-
-(defun lex-gen-ccl-unibyte-automata (states cs)
-  ;; read-macro is lex-scan-unibyte-read
-  ;; save-macro is lex-scan-unibyte-save
-  `(let ((status [nil nil nil nil nil nil nil nil nil]))
-     (aset status 0 nil)                       ; r0: pc
-     (aset status 1 0)                         ; r1: state
-     (aset status 2 ,lex-scan-unibyte-ptr-var) ; r2: ptr
-     (aset status 3 ,lex-scan-unibyte-ptr-var) ; r3: start
-     (aset status 4 ,lex-scan-unibyte-end-var) ; r4: end
-     (aset status 5 nil)                       ; r5: mch
-     (aset status 6 0)                         ; r6: act
-     (aset status 7 nil)                       ; r7
-     (aset status 8 nil)                       ; ic
-     (ccl-execute-on-string
-      (eval-when-compile
-       (ccl-compile
-        ',(lex-gen-ccl-unibyte-automata-program states cs)))
-      status
-      ,lex-scan-unibyte-str-var)
-     (setq ,lex-scan-unibyte-ptr-var (aref status 2))
-     (when (< 0 (aref status 6))
-       (setq ,lex-act-var (aref status 6)
-            ,lex-scan-unibyte-mch-var (aref status 5)))))
-
-(defun lex-gen-ccl-unibyte-automata-program (states cs)
-  `(0
-    ((loop
-      (if (r3 > 0)
-         ((r3 -= 1)
-          (read r0)
-          (repeat))
-       (break)))
-     (loop
-      (branch r1
-        ,@(mapcar
-          (lambda (s) (lex-gen-ccl-unibyte-automata-state 
-                       (nth 0 s) (cdr (nth 1 s)) (nth 2 s)
-                       cs))
-          (sort states
-                (lambda (a b) (< (car a) (car b))))))))))
-
-(defun lex-gen-ccl-unibyte-automata-state (id act trans cs)
-  `(,@(when act
-       `((r5 = r2)
-         (r6 = ,act)))
-    ,@(if (consp trans)
-         `((if (r4 <= r2)
-               (end)
-             ((read r0)
-              (r2 += 1)
-              ,(apply
-                'natset-gen-ccl-branch
-                'r0
-                '(end)
-                (mapcar
-                 (lambda (tr) (cons
-                               (let ((l (member (car tr) cs)))
-                                 (if (null (cdr l))
-                                     (natset-seg (car l))
-                                   (natset-seg (car l) (1- (cadr l)))))
-                               `((r1 = ,(cadr tr))
-                                 (repeat))))
-                 trans))
-              (repeat))))
-       '((end)))))
-
-;;; internal macros
-
-(defmacro lex-match (id)
-  `(setq ,lex-act-var ',id))
-(defmacro lex-fail ()
-  `(throw ',lex-escape-tag nil))
-
-;;; utilities
-
-(defun lex-make-box (val)
-  (list val))
-(defalias 'lex-box-ref 'car)
-
-(defun lex-add-box (box val)
-  (if (not (member val (car box)))
-      (setcar box (cons val (car box)))))
-
-;;; testing
-'(
-  
-  (mapcar (lambda (v) (set v (intern (symbol-name (symbol-value v)))))
-         '(lex-pc-var
-            lex-act-var
-            lex-escape-tag
-            lex-scan-multibyte-str-var
-            lex-scan-multibyte-ptr-var
-            lex-scan-multibyte-end-var
-            lex-scan-multibyte-mch-var
-            lex-scan-unibyte-str-var
-            lex-scan-unibyte-ptr-var
-            lex-scan-unibyte-end-var
-            lex-scan-unibyte-mch-var))
-
-  (lex-scan-multibyte
-   "aaa" 0 3
-   (?a 'a))
-
-(let* ((str "abcdef\ndeefx\r\n jfdks\r")
-       (p 15))
-  (cons
-   (lex-scan-unibyte str p nil
-     (()
-      'error)
-     (((* [^ "\r\n"])
-       (* (+ ?\r) [^ "\r\n"] (* [^ "\r"]))
-       (* ?\r)
-       (?\r ?\n [" \t"]))
-      'line-fold)
-     (((* [^ "\r\n"])
-       (* (+ ?\r) [^ "\r\n"] (* [^ "\r"]))
-       (* ?\r)
-       (?\r ?\n))
-      'line-crlf)
-     (((* [^ "\r\n"])
-       (* (+ ?\r) [^ "\r\n"] (* [^ "\r"]))
-       (* ?\r))
-      'line))
-   p))
-
-(ew-crlf-line-convert "abcdef\ndeefx\r\n jfdks\r"
-  (lambda (a) (format "[L:%s]" a))
-  (lambda (a) (format "[F:%s]" a))
-  (lambda (a) (format "[N:%s]" a)))
-
-
-)
-
diff --git a/lr-driver.el b/lr-driver.el
deleted file mode 100644 (file)
index 32fe294..0000000
+++ /dev/null
@@ -1,72 +0,0 @@
-;; ---------------------------------------------------------------------- ;;
-;; FICHIER               : lr-dvr.scm                                     ;;
-;; DATE DE CREATION      : Fri May 31 15:47:05 1996                       ;;
-;; DERNIERE MODIFICATION : Fri May 31 15:51:13 1996                       ;;
-;; ---------------------------------------------------------------------- ;;
-;; Copyright (c) 1996 Dominique Boucher                                   ;;
-;; ---------------------------------------------------------------------- ;;
-;; The LR parser driver                                                   ;;
-;;                                                                        ;;
-;; lr-dvr.scm is part of the lalr.scm distribution which is free          ;;
-;; software; you can redistribute it and/or modify                        ;;
-;; it under the terms of the GNU General Public License as published by   ;;
-;; the Free Software Foundation; either version 2, or (at your option)    ;;
-;; any later version.                                                     ;;
-;;                                                                        ;;
-;; lalr.scm is distributed in the hope that it will be useful,            ;;
-;; but WITHOUT ANY WARRANTY; without even the implied warranty of         ;;
-;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the          ;;
-;; GNU General Public License for more details.                           ;;
-;;                                                                        ;;
-;; You should have received a copy of the GNU General Public License      ;;
-;; along with lalr.scm; see the file COPYING.  If not, write to           ;;
-;; the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.  ;;
-;; ---------------------------------------------------------------------- ;;
-
-;; 1998/08/16: Tanaka Akira <akr@jaist.ac.jp> transplants from Scheme to Emacs-Lisp.
-
-(provide 'lr-driver)
-
-(defconst lr-max-stack-size 500)
-
-(defsubst lr-push (stack sp new-cat goto-table lval)
-  (let* ((state     (aref stack sp))
-        (new-state (cdr (assq new-cat (aref goto-table state))))
-        (new-sp    (+ sp 2)))
-    (if (>= new-sp lr-max-stack-size)
-       (error "PARSE ERROR : stack overflow")
-       (progn
-         (aset stack new-sp new-state)
-         (aset stack (- new-sp 1) lval)
-         new-sp))))
-
-(defun lr-parse (lexerp errorp action-table goto-table reduction-table token-defs)
-  (let ((stack (make-vector lr-max-stack-size 0)) (sp 0) (input (funcall lexerp)))
-    (catch 'parser
-      (while t
-        (let* ((state (aref stack sp))
-               (i     (car input))
-               (act   (let* ((l (aref action-table state)) (y (assq i l))) (if y (cdr y) (cdar l)))))
-
-          (cond
-
-           ;; Input succesfully parsed
-           ((eq act 'accept)
-            (throw 'parser (aref stack 1)))
-
-           ;; Syntax error in input
-           ((eq act '*error*)
-            (throw 'parser
-              (funcall errorp "PARSE ERROR : unexpected token : " 
-                       (cdr (assq i token-defs)))))
-
-           ;; Shift current token on top of the stack
-           ((>= act 0)
-            (aset stack (+ sp 1) (cdr input))
-            (aset stack (+ sp 2) act)
-            (setq sp (+ sp 2))
-            (setq input (funcall lexerp)))
-
-           ;; Reduce by rule (- act)
-           (t 
-            (setq sp (funcall (aref reduction-table (- act)) stack sp goto-table (cdr input))))))))))
diff --git a/mailcap.el b/mailcap.el
deleted file mode 100644 (file)
index 12eee88..0000000
+++ /dev/null
@@ -1,269 +0,0 @@
-;;; mailcap.el --- mailcap parser
-
-;; Copyright (C) 1997,1998 Free Software Foundation, Inc.
-
-;; Author: MORIOKA Tomohiko <morioka@jaist.ac.jp>
-;; Created: 1997/6/27
-;; Keywords: mailcap, setting, configuration, MIME, multimedia
-
-;; This file is part of SEMI (Spadework for Emacs MIME Interfaces).
-
-;; This program is free software; you can redistribute it and/or
-;; modify it under the terms of the GNU General Public License as
-;; published by the Free Software Foundation; either version 2, or (at
-;; your option) any later version.
-
-;; This program is distributed in the hope that it will be useful, but
-;; WITHOUT ANY WARRANTY; without even the implied warranty of
-;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-;; General Public License for more details.
-
-;; You should have received a copy of the GNU General Public License
-;; along with GNU Emacs; see the file COPYING.  If not, write to the
-;; Free Software Foundation, Inc., 59 Temple Place - Suite 330,
-;; Boston, MA 02111-1307, USA.
-
-;;; Code:
-
-(require 'mime-def)
-
-
-;;; @ comment
-;;;
-
-(defsubst mailcap-skip-comment ()
-  (let ((chr (char-after (point))))
-    (when (and chr
-              (or (= chr ?\n)
-                  (= chr ?#)))
-      (forward-line)
-      t)))
-
-
-;;; @ token
-;;;
-
-(defsubst mailcap-look-at-token ()
-  (if (looking-at mime-token-regexp)
-      (let ((beg (match-beginning 0))
-           (end (match-end 0)))
-       (goto-char end)
-       (buffer-substring beg end)
-       )))
-
-
-;;; @ typefield
-;;;
-
-(defsubst mailcap-look-at-type-field ()
-  (let ((type (mailcap-look-at-token)))
-    (if type
-       (if (eq (char-after (point)) ?/)
-           (progn
-             (forward-char)
-             (let ((subtype (mailcap-look-at-token)))
-               (if subtype
-                   (cons (cons 'type (intern type))
-                         (unless (string= subtype "*")
-                           (list (cons 'subtype (intern subtype)))
-                           )))))
-         (list (cons 'type (intern type)))
-         ))))
-
-
-;;; @ field separator
-;;;
-
-(defsubst mailcap-skip-field-separator ()
-  (let ((ret (looking-at "\\([ \t]\\|\\\\\n\\)*;\\([ \t]\\|\\\\\n\\)*")))
-    (when ret
-      (goto-char (match-end 0))
-      t)))
-
-
-;;; @ mtext
-;;;
-
-(defsubst mailcap-look-at-schar ()
-  (let ((chr (char-after (point))))
-    (if (and (>= chr ? )
-            (/= chr ?\;)
-            (/= chr ?\\)
-            )
-       (prog1
-           chr
-         (forward-char)))))
-
-(defsubst mailcap-look-at-qchar ()
-  (let ((chr (char-after (point))))
-    (when (eq chr ?\\)
-      (forward-char 2)
-      (char-before (point))
-      )))
-
-(defsubst mailcap-look-at-mtext ()
-  (let ((beg (point)))
-    (while (or (mailcap-look-at-qchar)
-              (mailcap-look-at-schar)))
-    (buffer-substring beg (point))
-    ))
-
-
-;;; @ field
-;;;
-
-(defsubst mailcap-look-at-field ()
-  (let ((token (mailcap-look-at-token)))
-    (if token
-       (if (looking-at "[ \t]*=[ \t]*")
-           (let ((value (progn
-                          (goto-char (match-end 0))
-                          (mailcap-look-at-mtext))))
-             (if value
-                 (cons (intern token) value)
-               ))
-         (list (intern token))
-         ))))
-
-
-;;; @ mailcap entry
-;;;
-
-(defun mailcap-look-at-entry ()
-  (let ((type (mailcap-look-at-type-field)))
-    (if (and type (mailcap-skip-field-separator))
-       (let ((view (mailcap-look-at-mtext))
-             fields field)
-         (when view
-           (while (and (mailcap-skip-field-separator)
-                       (setq field (mailcap-look-at-field))
-                       )
-             (setq fields (cons field fields))
-             )
-           (nconc type
-                  (list (cons 'view view))
-                  fields))))))
-
-
-;;; @ main
-;;;
-
-(defun mailcap-parse-buffer (&optional buffer order)
-  "Parse BUFFER as a mailcap, and return the result.
-If optional argument ORDER is a function, result is sorted by it.
-If optional argument ORDER is not specified, result is sorted original
-order.  Otherwise result is not sorted."
-  (save-excursion
-    (if buffer
-       (set-buffer buffer))
-    (goto-char (point-min))
-    (let (entries entry)
-      (while (progn
-              (while (mailcap-skip-comment))
-              (setq entry (mailcap-look-at-entry))
-              )
-       (setq entries (cons entry entries))
-       (forward-line)
-       )
-      (cond ((functionp order) (sort entries order))
-           ((null order) (nreverse entries))
-           (t entries)
-           ))))
-
-
-(defcustom mailcap-file "~/.mailcap"
-  "*File name of user's mailcap file."
-  :group 'mime
-  :type 'file)
-
-(defun mailcap-parse-file (&optional filename order)
-  "Parse FILENAME as a mailcap, and return the result.
-If optional argument ORDER is a function, result is sorted by it.
-If optional argument ORDER is not specified, result is sorted original
-order.  Otherwise result is not sorted."
-  (or filename
-      (setq filename mailcap-file))
-  (with-temp-buffer
-    (insert-file-contents filename)
-    (mailcap-parse-buffer (current-buffer) order)
-    ))
-
-(defun mailcap-format-command (mtext situation)
-  "Return formated command string from MTEXT and SITUATION.
-
-MTEXT is a command text of mailcap specification, such as
-view-command.
-
-SITUATION is an association-list about information of entity.  Its key
-may be:
-
-       'type           primary media-type
-       'subtype        media-subtype
-       'filename       filename
-       STRING          parameter of Content-Type field"
-  (let ((i 0)
-       (len (length mtext))
-       (p 0)
-       dest)
-    (while (< i len)
-      (let ((chr (aref mtext i)))
-       (cond ((eq chr ?%)
-              (setq i (1+ i)
-                    chr (aref mtext i))
-              (cond ((eq chr ?s)
-                     (let ((file (cdr (assq 'filename situation))))
-                       (if (null file)
-                           (error "'filename is not specified in situation.")
-                         (setq dest (concat dest
-                                            (substring mtext p (1- i))
-                                            file)
-                               i (1+ i)
-                               p i)
-                         )))
-                    ((eq chr ?t)
-                     (let ((type (or (mime-type/subtype-string
-                                      (cdr (assq 'type situation))
-                                      (cdr (assq 'subtype situation)))
-                                     "text/plain")))
-                       (setq dest (concat dest
-                                          (substring mtext p (1- i))
-                                          type)
-                             i (1+ i)
-                             p i)
-                       ))
-                    ((eq chr ?\{)
-                     (setq i (1+ i))
-                     (if (not (string-match "}" mtext i))
-                         (error "parse error!!!")
-                       (let* ((me (match-end 0))
-                              (attribute (substring mtext i (1- me)))
-                              (parameter (cdr (assoc attribute situation))))
-                         (if (null parameter)
-                             (error "\"%s\" is not specified in situation."
-                                    attribute)
-                           (setq dest (concat dest
-                                              (substring mtext p (- i 2))
-                                              parameter)
-                                 i me
-                                 p i)
-                           )
-                         )))
-                    (t (error "Invalid sequence `%%%c'." chr))
-                    ))
-             ((eq chr ?\\)
-              (setq dest (concat dest (substring mtext p i))
-                    p (1+ i)
-                    i (+ i 2))
-              )
-             (t (setq i (1+ i)))
-             )))
-    (concat dest (substring mtext p))
-    ))
-
-
-;;; @ end
-;;;
-
-(provide 'mailcap)
-
-;;; mailcap.el ends here
diff --git a/mel-b.el b/mel-b.el
deleted file mode 100644 (file)
index e9a382a..0000000
--- a/mel-b.el
+++ /dev/null
@@ -1,362 +0,0 @@
-;;; mel-b.el: Base64 encoder/decoder for GNU Emacs
-
-;; Copyright (C) 1992,1995,1996,1997,1998 Free Software Foundation, Inc.
-
-;; Author: ENAMI Tsugutomo <enami@sys.ptg.sony.co.jp>
-;;         MORIOKA Tomohiko <morioka@jaist.ac.jp>
-;; Created: 1995/6/24
-;; Keywords: MIME, Base64
-
-;; This file is part of MEL (MIME Encoding Library).
-
-;; This program is free software; you can redistribute it and/or
-;; modify it under the terms of the GNU General Public License as
-;; published by the Free Software Foundation; either version 2, or (at
-;; your option) any later version.
-
-;; This program is distributed in the hope that it will be useful, but
-;; WITHOUT ANY WARRANTY; without even the implied warranty of
-;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-;; General Public License for more details.
-
-;; You should have received a copy of the GNU General Public License
-;; along with GNU Emacs; see the file COPYING.  If not, write to the
-;; Free Software Foundation, Inc., 59 Temple Place - Suite 330,
-;; Boston, MA 02111-1307, USA.
-
-;;; Code:
-
-(require 'emu)
-
-
-;;; @ variables
-;;;
-
-(defvar base64-external-encoder '("mmencode")
-  "*list of base64 encoder program name and its arguments.")
-
-(defvar base64-external-decoder '("mmencode" "-u")
-  "*list of base64 decoder program name and its arguments.")
-
-(defvar base64-external-decoder-option-to-specify-file '("-o")
-  "*list of options of base64 decoder program to specify file.")
-
-(defvar base64-internal-encoding-limit 1000
-  "*limit size to use internal base64 encoder.
-If size of input to encode is larger than this limit,
-external encoder is called.")
-
-(defvar base64-internal-decoding-limit 1000
-  "*limit size to use internal base64 decoder.
-If size of input to decode is larger than this limit,
-external decoder is called.")
-
-
-;;; @ internal base64 decoder/encoder
-;;;    based on base64 decoder by Enami Tsugutomo
-
-;;; @@ convert from/to base64 char
-;;;
-
-(defun base64-num-to-char (n)
-  (cond ((eq n nil) ?=)
-       ((< n 26) (+ ?A n))
-       ((< n 52) (+ ?a (- n 26)))
-       ((< n 62) (+ ?0 (- n 52)))
-       ((= n 62) ?+)
-       ((= n 63) ?/)
-       (t (error "not a base64 integer %d" n))))
-
-(defun base64-char-to-num (c)
-  (cond ((and (<= ?A c) (<= c ?Z)) (- c ?A))
-       ((and (<= ?a c) (<= c ?z)) (+ (- c ?a) 26))
-       ((and (<= ?0 c) (<= c ?9)) (+ (- c ?0) 52))
-       ((= c ?+) 62)
-       ((= c ?/) 63)
-       ((= c ?=) nil)
-       (t (error "not a base64 character %c" c))))
-
-
-;;; @@ encode/decode one base64 unit
-;;;
-
-(defun base64-encode-1 (pack)
-  (let ((a (car pack))
-       (b (nth 1 pack))
-       (c (nth 2 pack)))
-    (concat
-     (char-to-string (base64-num-to-char (ash a -2)))
-     (if b
-        (concat
-         (char-to-string
-          (base64-num-to-char (logior (ash (logand a 3) 4) (ash b -4))))
-         (if c
-             (concat
-              (char-to-string
-               (base64-num-to-char (logior (ash (logand b 15) 2) (ash c -6))))
-              (char-to-string (base64-num-to-char (logand c 63)))
-              )
-           (concat (char-to-string
-                    (base64-num-to-char (ash (logand b 15) 2))) "=")
-           ))
-       (concat (char-to-string
-               (base64-num-to-char (ash (logand a 3) 4))) "==")
-       ))))
-
-(defun base64-decode-unit (a b &optional c d)
-  (condition-case err
-      (concat
-       (char-to-string (logior (ash (base64-char-to-num a) 2)
-                              (ash (setq b (base64-char-to-num b)) -4)))
-       (if (and c (setq c (base64-char-to-num c)))
-          (concat (char-to-string
-                   (logior (ash (logand b 15) 4) (ash c -2)))
-                  (if (and d (setq d (base64-char-to-num d)))
-                      (char-to-string (logior (ash (logand c 3) 6) d))
-                    ))))
-    (error (message (nth 1 err))
-          "")))
-
-
-;;; @@ base64 encoder/decoder for string
-;;;
-
-(defun base64-encode-string (string)
-  "Encode STRING to base64, and return the result."
-  (let ((len (length string))
-       (b 0)(e 57)
-       dest)
-    (while (< e len)
-      (setq dest
-           (concat dest
-                   (mapconcat
-                    (function base64-encode-1)
-                    (pack-sequence (substring string b e) 3)
-                    "")
-                   "\n"))
-      (setq b e
-           e (+ e 57)
-           )
-      )
-    (let* ((es (mapconcat
-               (function base64-encode-1)
-               (pack-sequence (substring string b) 3)
-               ""))
-          (m (mod (length es) 4))
-          )
-      (concat dest es (cond ((= m 3) "=")
-                           ((= m 2) "==")
-                           ))
-      )))
-
-(defun base64-internal-decode-string (string)
-  (let ((len (length string))
-       (i 0)
-       dest)
-    (while (< i len)
-      (let ((a (aref string i)))
-       (setq i (1+ i))
-       (unless (eq a ?\n)
-         (let ((b (aref string i)))
-           (setq i (1+ i))
-           (cond
-            ((eq b ?\n)
-             ;; invalid
-             )
-            ((>= i len)
-             (setq dest (concat dest (base64-decode-unit a b) ))
-             )
-            (t
-             (let ((c (aref string i)))
-               (setq i (1+ i))
-               (cond
-                ((eq c ?\n)
-                 (setq dest (concat dest (base64-decode-unit a b)))
-                 )
-                ((>= i len)
-                 (setq dest (concat dest (base64-decode-unit a b c)))
-                 )
-                (t
-                 (let ((d (aref string i)))
-                   (setq i (1+ i))
-                   (setq dest
-                         (concat dest
-                                 (if (eq c ?\n)
-                                     (base64-decode-unit a b c)
-                                   (base64-decode-unit a b c d))))
-                   ))))))))))
-    dest))
-
-
-;;; @ base64 encoder/decoder for region
-;;;
-
-(defun base64-internal-encode-region (beg end)
-  (save-excursion
-    (save-restriction
-      (narrow-to-region beg end)
-      (let ((str (buffer-substring beg end)))
-       (delete-region beg end)
-       (insert (base64-encode-string str))
-       )
-      (or (bolp)
-         (insert "\n")
-         )
-      )))
-
-(defun base64-internal-decode-region (beg end)
-  (save-excursion
-    (let ((str (buffer-substring beg end)))
-      (delete-region beg end)
-      (goto-char beg)
-      (insert (base64-internal-decode-string str)))))
-
-(defun base64-external-encode-region (beg end)
-  (save-excursion
-    (save-restriction
-      (narrow-to-region beg end)
-      (as-binary-process (apply (function call-process-region)
-                               beg end (car base64-external-encoder)
-                               t t nil (cdr base64-external-encoder))
-                        )
-      ;; for OS/2
-      ;;   regularize line break code
-      (goto-char (point-min))
-      (while (re-search-forward "\r$" nil t)
-       (replace-match "")
-       )
-      )))
-
-(defun base64-external-decode-region (beg end)
-  (save-excursion
-    (as-binary-process (apply (function call-process-region)
-                             beg end (car base64-external-decoder)
-                             t t nil (cdr base64-external-decoder))
-                      )))
-
-(defun base64-external-decode-string (string)
-  (with-temp-buffer
-    (insert string)
-    (as-binary-process (apply (function call-process-region)
-                             (point-min) (point-max)
-                             (car base64-external-decoder)
-                             t t nil (cdr base64-external-decoder))
-                      )
-    (buffer-string)))
-
-
-(defun base64-encode-region (start end)
-  "Encode current region by base64.
-START and END are buffer positions.
-This function calls internal base64 encoder if size of region is
-smaller than `base64-internal-encoding-limit', otherwise it calls
-external base64 encoder specified by `base64-external-encoder'.  In
-this case, you must install the program (maybe mmencode included in
-metamail or XEmacs package)."
-  (interactive "r")
-  (if (and base64-internal-encoding-limit
-          (> (- end start) base64-internal-encoding-limit))
-      (base64-external-encode-region start end)
-    (base64-internal-encode-region start end)
-    ))
-
-(defun base64-decode-region (start end)
-  "Decode current region by base64.
-START and END are buffer positions.
-This function calls internal base64 decoder if size of region is
-smaller than `base64-internal-decoding-limit', otherwise it calls
-external base64 decoder specified by `base64-external-decoder'.  In
-this case, you must install the program (maybe mmencode included in
-metamail or XEmacs package)."
-  (interactive "r")
-  (if (and base64-internal-decoding-limit
-          (> (- end start) base64-internal-decoding-limit))
-      (base64-external-decode-region start end)
-    (base64-internal-decode-region start end)
-    ))
-
-(defun base64-decode-string (string)
-  "Decode STRING which is encoded in base64, and return the result.
-This function calls internal base64 decoder if size of STRING is
-smaller than `base64-internal-decoding-limit', otherwise it calls
-external base64 decoder specified by `base64-external-decoder'.  In
-this case, you must install the program (maybe mmencode included in
-metamail or XEmacs package)."
-  (interactive "r")
-  (if (and base64-internal-decoding-limit
-          (> (length string) base64-internal-decoding-limit))
-      (base64-external-decode-string string)
-    (base64-internal-decode-string string)
-    ))
-
-
-;;; @ base64 encoder/decoder for file
-;;;
-
-(defun base64-insert-encoded-file (filename)
-  "Encode contents of file FILENAME to base64, and insert the result.
-It calls external base64 encoder specified by
-`base64-external-encoder'.  So you must install the program (maybe
-mmencode included in metamail or XEmacs package)."
-  (interactive (list (read-file-name "Insert encoded file: ")))
-  (apply (function call-process) (car base64-external-encoder)
-        filename t nil (cdr base64-external-encoder))
-  )
-
-(defun base64-write-decoded-region (start end filename)
-  "Decode and write current region encoded by base64 into FILENAME.
-START and END are buffer positions."
-  (interactive
-   (list (region-beginning) (region-end)
-        (read-file-name "Write decoded region to file: ")))
-  (as-binary-process
-   (apply (function call-process-region)
-         start end (car base64-external-decoder)
-         nil nil nil
-         (append (cdr base64-external-decoder)
-                 base64-external-decoder-option-to-specify-file
-                 (list filename))
-         )))
-
-
-;;; @ etc
-;;;
-
-(defun base64-encoded-length (string)
-  (let ((len (length string)))
-    (* (+ (/ len 3)
-         (if (= (mod len 3) 0) 0 1)
-         ) 4)
-    ))
-
-(defun pack-sequence (seq size)
-  "Split sequence SEQ into SIZE elements packs,
-and return list of packs. [mel-b; tl-seq function]"
-  (let ((len (length seq)) (p 0) obj
-       unit (i 0)
-       dest)
-    (while (< p len)
-      (setq obj (elt seq p))
-      (setq unit (cons obj unit))
-      (setq i (1+ i))
-      (if (= i size)
-         (progn
-           (setq dest (cons (reverse unit) dest))
-           (setq unit nil)
-           (setq i 0)
-           ))
-      (setq p (1+ p))
-      )
-    (if unit
-       (setq dest (cons (reverse unit) dest))
-      )
-    (reverse dest)
-    ))
-
-
-;;; @ end
-;;;
-
-(provide 'mel-b)
-
-;;; mel-b.el ends here.
diff --git a/mel-dl.el b/mel-dl.el
deleted file mode 100644 (file)
index 0e79cca..0000000
--- a/mel-dl.el
+++ /dev/null
@@ -1,143 +0,0 @@
-;;; mel-dl.el: Base64 encoder/decoder using DL module
-
-;; Copyright (C) 1998 Free Software Foundation, Inc.
-
-;; Author: MORIOKA Tomohiko <morioka@jaist.ac.jp>
-;; Keywords: MIME, Base64
-
-;; This file is part of MEL (MIME Encoding Library).
-
-;; This program is free software; you can redistribute it and/or
-;; modify it under the terms of the GNU General Public License as
-;; published by the Free Software Foundation; either version 2, or (at
-;; your option) any later version.
-
-;; This program is distributed in the hope that it will be useful, but
-;; WITHOUT ANY WARRANTY; without even the implied warranty of
-;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-;; General Public License for more details.
-
-;; You should have received a copy of the GNU General Public License
-;; along with GNU Emacs; see the file COPYING.  If not, write to the
-;; Free Software Foundation, Inc., 59 Temple Place - Suite 330,
-;; Boston, MA 02111-1307, USA.
-
-;;; Code:
-
-(require 'emu)
-
-(defvar base64-dl-module
-  (expand-file-name "base64.so" exec-directory))
-
-(defvar base64-dl-handle
-  (and (file-exists-p base64-dl-module)
-       (dynamic-link base64-dl-module)))
-
-(dynamic-call "emacs_base64_init" base64-dl-handle)
-
-(defalias 'base64-encode-string 'encode-base64-string)
-(defalias 'base64-decode-string 'decode-base64-string)
-
-(defun base64-encode-region (start end)
-  "Encode current region by base64.
-START and END are buffer positions."
-  (interactive "r")
-  (save-excursion
-    (save-restriction
-      (narrow-to-region start end)
-      (let ((str (buffer-substring start end)))
-       (delete-region start end)
-       (insert (encode-base64-string str))
-       )
-      (or (bolp)
-         (insert "\n")
-         )
-      )))
-
-(defun base64-decode-region (start end)
-  "Decode current region by base64.
-START and END are buffer positions."
-  (interactive "r")
-  (save-excursion
-    (save-restriction
-      (narrow-to-region start end)
-      (goto-char (point-min))
-      (while (looking-at ".*\n")
-       (condition-case err
-           (replace-match
-            (decode-base64-string
-             (buffer-substring (match-beginning 0) (1- (match-end 0))))
-            t t)
-         (error
-          (prog1
-              (message (nth 1 err))
-            (replace-match "")))))
-      (if (looking-at ".*$")
-         (condition-case err
-             (replace-match
-              (decode-base64-string
-               (buffer-substring (match-beginning 0) (match-end 0)))
-              t t)
-           (error
-            (prog1
-                (message (nth 1 err))
-              (replace-match "")))
-           ))
-      )))
-
-
-;;; @ base64 encoder/decoder for file
-;;;
-
-(defvar base64-external-encoder '("mmencode")
-  "*list of base64 encoder program name and its arguments.")
-
-(defvar base64-external-decoder '("mmencode" "-u")
-  "*list of base64 decoder program name and its arguments.")
-
-(defvar base64-external-decoder-option-to-specify-file '("-o")
-  "*list of options of base64 decoder program to specify file.")
-
-(defun base64-insert-encoded-file (filename)
-  "Encode contents of file FILENAME to base64, and insert the result.
-It calls external base64 encoder specified by
-`base64-external-encoder'.  So you must install the program (maybe
-mmencode included in metamail or XEmacs package)."
-  (interactive (list (read-file-name "Insert encoded file: ")))
-  (apply (function call-process) (car base64-external-encoder)
-        filename t nil (cdr base64-external-encoder))
-  )
-
-(defun base64-write-decoded-region (start end filename)
-  "Decode and write current region encoded by base64 into FILENAME.
-START and END are buffer positions."
-  (interactive
-   (list (region-beginning) (region-end)
-        (read-file-name "Write decoded region to file: ")))
-  (as-binary-process
-   (apply (function call-process-region)
-         start end (car base64-external-decoder)
-         nil nil nil
-         (append (cdr base64-external-decoder)
-                 base64-external-decoder-option-to-specify-file
-                 (list filename))
-         )))
-
-
-;;; @ etc
-;;;
-
-(defun base64-encoded-length (string)
-  (let ((len (length string)))
-    (* (+ (/ len 3)
-         (if (= (mod len 3) 0) 0 1)
-         ) 4)
-    ))
-
-
-;;; @ end
-;;;
-
-(provide 'mel-dl)
-
-;;; mel-dl.el ends here.
diff --git a/mel-g.el b/mel-g.el
deleted file mode 100644 (file)
index 73db30f..0000000
--- a/mel-g.el
+++ /dev/null
@@ -1,120 +0,0 @@
-;;; mel-g.el: Gzip64 encoder/decoder for GNU Emacs
-
-;; Copyright (C) 1995,1996,1997,1998 MORIOKA Tomohiko
-;; Copyright (C) 1996,1997 Shuhei KOBAYASHI
-
-;; Author: Shuhei KOBAYASHI <shuhei-k@jaist.ac.jp>
-;;     modified by MORIOKA Tomohiko <morioka@jaist.ac.jp>
-;; Maintainer: Shuhei KOBAYASHI <shuhei-k@jaist.ac.jp>
-;; Created: 1995/10/25
-;; Keywords: Gzip64, base64, gzip, MIME
-
-;; This file is part of MEL (MIME Encoding Library).
-
-;; This program is free software; you can redistribute it and/or
-;; modify it under the terms of the GNU General Public License as
-;; published by the Free Software Foundation; either version 2, or (at
-;; your option) any later version.
-
-;; This program is distributed in the hope that it will be useful, but
-;; WITHOUT ANY WARRANTY; without even the implied warranty of
-;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-;; General Public License for more details.
-
-;; You should have received a copy of the GNU General Public License
-;; along with GNU Emacs; see the file COPYING.  If not, write to the
-;; Free Software Foundation, Inc., 59 Temple Place - Suite 330,
-;; Boston, MA 02111-1307, USA.
-
-;;; Commentary:
-
-;;; NOTE: Gzip64 is an experimental Content-Transfer-Encoding and its
-;;; use is STRONGLY DISCOURAGED except for private communication.
-
-;;; Code:
-
-(require 'emu)
-(require 'path-util)
-
-
-;;; @ variables
-;;;
-
-(defvar gzip64-external-encoder
-  (let ((file (exec-installed-p "mmencode")))
-    (and file
-        (` ("sh" "-c" (, (concat "gzip -c | " file))))
-        ))
-  "*list of gzip64 encoder program name and its arguments.")
-
-(defvar gzip64-external-decoder
-  (let ((file (exec-installed-p "mmencode")))
-    (and file
-        (` ("sh" "-c" (, (concat file " -u | gzip -dc"))))
-        ))
-  "*list of gzip64 decoder program name and its arguments.")
-
-
-;;; @ encoder/decoder for region
-;;;
-
-(defun gzip64-external-encode-region (beg end)
-  (interactive "*r")
-  (save-excursion
-    (as-binary-process (apply (function call-process-region)
-                             beg end (car gzip64-external-encoder)
-                             t t nil (cdr gzip64-external-encoder))
-                      )
-    ;; for OS/2
-    ;;   regularize line break code
-    (goto-char (point-min))
-    (while (re-search-forward "\r$" nil t)
-      (replace-match "")
-      )
-    ))
-
-(defun gzip64-external-decode-region (beg end)
-  (interactive "*r")
-  (save-excursion
-    (as-binary-process (apply (function call-process-region)
-                             beg end (car gzip64-external-decoder)
-                             t t nil (cdr gzip64-external-decoder))
-                      )
-    ))
-
-(defalias 'gzip64-encode-region 'gzip64-external-encode-region)
-(defalias 'gzip64-decode-region 'gzip64-external-decode-region)
-
-
-;;; @ encoder/decoder for file
-;;;
-
-(defun gzip64-insert-encoded-file (filename)
-  (interactive (list (read-file-name "Insert encoded file: ")))
-  (apply (function call-process) (car gzip64-external-encoder)
-        filename t nil
-        (cdr gzip64-external-encoder))
-  )
-
-(defun gzip64-write-decoded-region (start end filename)
-  "Decode and write current region encoded by gzip64 into FILENAME.
-START and END are buffer positions."
-  (interactive
-   (list (region-beginning) (region-end)
-        (read-file-name "Write decoded region to file: ")))
-  (as-binary-process
-   (apply (function call-process-region)
-         start end (car gzip64-external-decoder)
-         nil nil nil
-         (let ((args (cdr gzip64-external-decoder)))
-           (append (butlast args)
-                   (list (concat (car (last args)) ">" filename))))
-         )))
-
-
-;;; @ end
-;;;
-
-(provide 'mel-g)
-
-;;; mel-g.el ends here.
diff --git a/mel-q.el b/mel-q.el
deleted file mode 100644 (file)
index 47a7a2b..0000000
--- a/mel-q.el
+++ /dev/null
@@ -1,338 +0,0 @@
-;;; mel-q.el: Quoted-Printable and Q-encoding encoder/decoder for GNU Emacs
-
-;; Copyright (C) 1995,1996,1997,1998 Free Software Foundation, Inc.
-
-;; Author: MORIOKA Tomohiko <morioka@jaist.ac.jp>
-;; Created: 1995/6/25
-;; Keywords: MIME, Quoted-Printable, Q-encoding
-
-;; This file is part of MEL (MIME Encoding Library).
-
-;; This program is free software; you can redistribute it and/or
-;; modify it under the terms of the GNU General Public License as
-;; published by the Free Software Foundation; either version 2, or (at
-;; your option) any later version.
-
-;; This program is distributed in the hope that it will be useful, but
-;; WITHOUT ANY WARRANTY; without even the implied warranty of
-;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-;; General Public License for more details.
-
-;; You should have received a copy of the GNU General Public License
-;; along with GNU Emacs; see the file COPYING.  If not, write to the
-;; Free Software Foundation, Inc., 59 Temple Place - Suite 330,
-;; Boston, MA 02111-1307, USA.
-
-;;; Code:
-
-(require 'emu)
-(require 'mime-def)
-
-
-;;; @ Quoted-Printable encoder
-;;;
-
-(defsubst quoted-printable-quote-char (character)
-  (concat
-   "="
-   (char-to-string (aref quoted-printable-hex-chars (ash character -4)))
-   (char-to-string (aref quoted-printable-hex-chars (logand character 15)))
-   ))
-
-(defun quoted-printable-internal-encode-region (start end)
-  (save-excursion
-    (save-restriction
-      (narrow-to-region start end)
-      (goto-char start)
-      (let ((col 0))
-       (while (< (point)(point-max))
-         (cond ((>= col 75)
-                (insert "=\n")
-                (setq col 0)
-                )
-               ((looking-at-as-unibyte "^From ")
-                (replace-match "=46rom ")
-                (backward-char 1)
-                (setq col (+ col 6))
-                )
-               ((looking-at-as-unibyte "[ \t]\n")
-                (forward-char 1)
-                (insert "=\n")
-                (forward-char 1)
-                (setq col 0)
-                )
-               (t
-                (let ((chr (char-after (point))))
-                  (cond ((= chr ?\n)
-                         (forward-char 1)
-                         (setq col 0)
-                         )
-                        ((or (= chr ?\t)
-                             (and (<= 32 chr)(/= chr ?=)(< chr 127))
-                             )
-                         (forward-char 1)
-                         (setq col (1+ col))
-                         )
-                        ((>= col 73)
-                         (insert "=\n")
-                         (setq col 0)
-                         )
-                        (t
-                         (delete-char 1)
-                         (insert (quoted-printable-quote-char chr))
-                         (setq col (+ col 3))
-                         ))
-                  )))
-         )))))
-
-
-(defvar quoted-printable-external-encoder '("mmencode" "-q")
-  "*list of quoted-printable encoder program name and its arguments.")
-
-(defun quoted-printable-external-encode-region (start end)
-  (save-excursion
-    (save-restriction
-      (narrow-to-region start end)
-      (as-binary-process
-       (apply (function call-process-region)
-             start end (car quoted-printable-external-encoder)
-             t t nil (cdr quoted-printable-external-encoder))
-       )
-      ;; for OS/2
-      ;;   regularize line break code
-      (goto-char (point-min))
-      (while (re-search-forward "\r$" nil t)
-       (replace-match "")
-       )
-      )))
-
-
-(defvar quoted-printable-internal-encoding-limit
-  (if (and (featurep 'xemacs)(featurep 'mule))
-      0
-    (require 'path-util)
-    (if (exec-installed-p "mmencode")
-       1000
-      (message "Don't found external encoder for Quoted-Printable!")
-      nil))
-  "*limit size to use internal quoted-printable encoder.
-If size of input to encode is larger than this limit,
-external encoder is called.")
-
-(defun quoted-printable-encode-region (start end)
-  "Encode current region by quoted-printable.
-START and END are buffer positions.
-This function calls internal quoted-printable encoder if size of
-region is smaller than `quoted-printable-internal-encoding-limit',
-otherwise it calls external quoted-printable encoder specified by
-`quoted-printable-external-encoder'.  In this case, you must install
-the program (maybe mmencode included in metamail or XEmacs package)."
-  (interactive "r")
-  (if (and quoted-printable-internal-encoding-limit
-          (> (- end start) quoted-printable-internal-encoding-limit))
-      (quoted-printable-external-encode-region start end)
-    (quoted-printable-internal-encode-region start end)
-    ))
-
-
-(defun quoted-printable-encode-string (string)
-  "Encode STRING to quoted-printable, and return the result."
-  (with-temp-buffer
-    (insert string)
-    (quoted-printable-encode-region (point-min)(point-max))
-    (buffer-string)
-    ))
-
-
-(defun quoted-printable-insert-encoded-file (filename)
-  "Encode contents of file FILENAME to quoted-printable, and insert the result.
-It calls external quoted-printable encoder specified by
-`quoted-printable-external-encoder'.  So you must install the program
-\(maybe mmencode included in metamail or XEmacs package)."
-  (interactive (list (read-file-name "Insert encoded file: ")))
-  (apply (function call-process) (car quoted-printable-external-encoder)
-        filename t nil (cdr quoted-printable-external-encoder))
-  )
-
-
-;;; @ Quoted-Printable decoder
-;;;
-
-(defsubst quoted-printable-hex-char-to-num (chr)
-  (cond ((<= ?a chr) (+ (- chr ?a) 10))
-       ((<= ?A chr) (+ (- chr ?A) 10))
-       ((<= ?0 chr) (- chr ?0))
-       ))
-
-(defun quoted-printable-internal-decode-region (start end)
-  (save-excursion
-    (save-restriction
-      (narrow-to-region start end)
-      (goto-char (point-min))
-      (while (search-forward "=" nil t)
-       (let ((beg (match-beginning 0)))
-         (cond ((looking-at "\n")
-                (delete-region beg (match-end 0))
-                )
-               ((looking-at
-                 `,(concat "[" quoted-printable-hex-chars
-                           "][" quoted-printable-hex-chars "]"))
-                (let* ((end (match-end 0))
-                       (hex (buffer-substring (match-beginning 0) end)))
-                  (delete-region beg end)
-                  (insert
-                   (logior
-                    (ash (quoted-printable-hex-char-to-num (aref hex 0)) 4)
-                    (quoted-printable-hex-char-to-num (aref hex 1))))
-                  ))
-               (t
-                ;; invalid
-                ))
-         )))))
-
-(defvar quoted-printable-external-decoder '("mmencode" "-q" "-u")
-  "*list of quoted-printable decoder program name and its arguments.")
-
-(defun quoted-printable-external-decode-region (start end)
-  (save-excursion
-    (as-binary-process
-     (apply (function call-process-region)
-           start end (car quoted-printable-external-decoder)
-           t t nil (cdr quoted-printable-external-decoder))
-     )))
-
-
-(defvar quoted-printable-internal-decoding-limit nil
-  "*limit size to use internal quoted-printable decoder.
-If size of input to decode is larger than this limit,
-external decoder is called.")
-
-(defun quoted-printable-decode-region (start end)
-  "Decode current region by quoted-printable.
-START and END are buffer positions.
-This function calls internal quoted-printable decoder if size of
-region is smaller than `quoted-printable-internal-decoding-limit',
-otherwise it calls external quoted-printable decoder specified by
-`quoted-printable-external-decoder'.  In this case, you must install
-the program (maybe mmencode included in metamail or XEmacs package)."
-  (interactive "r")
-  (if (and quoted-printable-internal-decoding-limit
-          (> (- end start) quoted-printable-internal-decoding-limit))
-      (quoted-printable-external-decode-region start end)
-    (quoted-printable-internal-decode-region start end)
-    ))
-
-(defun quoted-printable-decode-string (string)
-  "Decode STRING which is encoded in quoted-printable, and return the result."
-  (with-temp-buffer
-    (insert string)
-    (quoted-printable-decode-region (point-min)(point-max))
-    (buffer-string)))
-
-
-(defvar quoted-printable-external-decoder-option-to-specify-file '("-o")
-  "*list of options of quoted-printable decoder program to specify file.")
-
-(defun quoted-printable-write-decoded-region (start end filename)
-  "Decode and write current region encoded by quoted-printable into FILENAME.
-START and END are buffer positions."
-  (interactive
-   (list (region-beginning) (region-end)
-        (read-file-name "Write decoded region to file: ")))
-  (as-binary-process
-   (apply (function call-process-region)
-         start end (car quoted-printable-external-decoder)
-         nil nil nil
-         (append (cdr quoted-printable-external-decoder)
-                 quoted-printable-external-decoder-option-to-specify-file
-                 (list filename))
-         )))
-
-\f
-;;; @ Q-encoding encode/decode string
-;;;
-
-(defconst q-encoding-special-chars-alist
-  '((text      ?= ?? ?_)
-    (comment   ?= ?? ?_ ?\( ?\) ?\\)
-    (phrase    ?= ?? ?_ ?\( ?\) ?\\ ?\" ?# ?$ ?% ?& ?' ?, ?. ?/
-               ?: ?\; ?< ?> ?@ ?\[ ?\] ?^ ?` ?{ ?| ?} ?~)
-    ))
-
-(defun q-encoding-encode-string (string &optional mode)
-  "Encode STRING to Q-encoding of encoded-word, and return the result.
-MODE allows `text', `comment', `phrase' or nil.  Default value is
-`phrase'."
-  (let ((specials (cdr (or (assq mode q-encoding-special-chars-alist)
-                          (assq 'phrase q-encoding-special-chars-alist)
-                          ))))
-    (mapconcat (function
-               (lambda (chr)
-                 (cond ((eq chr ? ) "_")
-                       ((or (< chr 32) (< 126 chr)
-                            (memq chr specials)
-                            )
-                        (quoted-printable-quote-char chr)
-                        )
-                       (t
-                        (char-to-string chr)
-                        ))
-                 ))
-              string "")
-    ))
-
-(defun q-encoding-decode-string (string)
-  "Decode STRING which is encoded in Q-encoding and return the result."
-  (let (q h l)
-    (mapconcat (function
-               (lambda (chr)
-                 (cond ((eq chr ?_) " ")
-                       ((eq chr ?=)
-                        (setq q t)
-                        "")
-                       (q (setq h (quoted-printable-hex-char-to-num chr))
-                          (setq q nil)
-                          "")
-                       (h (setq l (quoted-printable-hex-char-to-num chr))
-                          (prog1
-                              (char-to-string (logior (ash h 4) l))
-                            (setq h nil)
-                            )
-                          )
-                       (t (char-to-string chr))
-                       )))
-              string "")))
-
-
-;;; @@ etc
-;;;
-
-(defun q-encoding-printable-char-p (chr mode)
-  (and (not (memq chr '(?= ?? ?_)))
-       (<= ?\   chr)(<= chr ?~)
-       (cond ((eq mode 'text) t)
-            ((eq mode 'comment)
-             (not (memq chr '(?\( ?\) ?\\)))
-             )
-            (t
-             (string-match "[A-Za-z0-9!*+/=_---]" (char-to-string chr))
-             ))))
-
-(defun q-encoding-encoded-length (string &optional mode)
-  (let ((l 0)(i 0)(len (length string)) chr)
-    (while (< i len)
-      (setq chr (elt string i))
-      (if (q-encoding-printable-char-p chr mode)
-         (setq l (+ l 1))
-       (setq l (+ l 3))
-       )
-      (setq i (+ i 1)) )
-    l))
-
-
-;;; @ end
-;;;
-
-(provide 'mel-q)
-
-;;; mel-q.el ends here
diff --git a/mel-u.el b/mel-u.el
deleted file mode 100644 (file)
index d004d60..0000000
--- a/mel-u.el
+++ /dev/null
@@ -1,143 +0,0 @@
-;;; mel-u.el: uuencode encoder/decoder for GNU Emacs
-
-;; Copyright (C) 1995,1996,1997,1998 Free Software Foundation, Inc.
-
-;; Author: MORIOKA Tomohiko <morioka@jaist.ac.jp>
-;; Created: 1995/10/25
-;; Keywords: uuencode
-
-;; This file is part of MEL (MIME Encoding Library).
-
-;; This program is free software; you can redistribute it and/or
-;; modify it under the terms of the GNU General Public License as
-;; published by the Free Software Foundation; either version 2, or (at
-;; your option) any later version.
-
-;; This program is distributed in the hope that it will be useful, but
-;; WITHOUT ANY WARRANTY; without even the implied warranty of
-;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-;; General Public License for more details.
-
-;; You should have received a copy of the GNU General Public License
-;; along with GNU Emacs; see the file COPYING.  If not, write to the
-;; Free Software Foundation, Inc., 59 Temple Place - Suite 330,
-;; Boston, MA 02111-1307, USA.
-
-;;; Code:
-
-(require 'emu)
-(require 'mime-def)
-
-
-;;; @ variables
-;;;
-
-(defvar uuencode-external-encoder '("uuencode" "-")
-  "*list of uuencode encoder program name and its arguments.")
-
-(defvar uuencode-external-decoder '("sh" "-c" "uudecode")
-  "*list of uuencode decoder program name and its arguments.")
-
-
-;;; @ uuencode encoder/decoder for region
-;;;
-
-(defun uuencode-external-encode-region (start end)
-  "Encode current region by unofficial uuencode format.
-This function uses external uuencode encoder which is specified by
-variable `uuencode-external-encoder'."
-  (interactive "*r")
-  (save-excursion
-    (as-binary-process (apply (function call-process-region)
-                             start end (car uuencode-external-encoder)
-                             t t nil (cdr uuencode-external-encoder))
-                      )
-    ;; for OS/2
-    ;;   regularize line break code
-    (goto-char (point-min))
-    (while (re-search-forward "\r$" nil t)
-      (replace-match "")
-      )
-    ))
-
-(defun uuencode-external-decode-region (start end)
-  "Decode current region by unofficial uuencode format.
-This function uses external uuencode decoder which is specified by
-variable `uuencode-external-decoder'."
-  (interactive "*r")
-  (save-excursion
-    (let ((filename (save-excursion
-                     (save-restriction
-                       (narrow-to-region start end)
-                       (goto-char start)
-                       (if (re-search-forward "^begin [0-9]+ " nil t)
-                           (if (looking-at ".+$")
-                               (buffer-substring (match-beginning 0)
-                                                 (match-end 0))
-                             )))))
-         (default-directory mime-temp-directory))
-      (if filename
-         (as-binary-process
-          (apply (function call-process-region)
-                 start end (car uuencode-external-decoder)
-                 t nil nil (cdr uuencode-external-decoder))
-          (as-binary-input-file (insert-file-contents filename))
-          ;; The previous line causes the buffer to be made read-only, I
-          ;; do not pretend to understand the control flow leading to this
-          ;; but suspect it has something to do with image-mode. -slb
-          ;;   Use `inhibit-read-only' to avoid to force
-          ;;   buffer-read-only nil. - tomo.
-          (let ((inhibit-read-only t))
-            (delete-file filename)
-            )
-          ))
-      )))
-
-(defalias 'uuencode-encode-region 'uuencode-external-encode-region)
-(defalias 'uuencode-decode-region 'uuencode-external-decode-region)
-
-
-;;; @ uuencode encoder/decoder for file
-;;;
-
-(defun uuencode-insert-encoded-file (filename)
-  "Insert file encoded by unofficial uuencode format.
-This function uses external uuencode encoder which is specified by
-variable `uuencode-external-encoder'."
-  (interactive (list (read-file-name "Insert encoded file: ")))
-  (call-process (car uuencode-external-encoder) filename t nil
-               (file-name-nondirectory filename))
-  )
-
-(defun uuencode-write-decoded-region (start end filename)
-  "Decode and write current region encoded by uuencode into FILENAME.
-START and END are buffer positions."
-  (interactive
-   (list (region-beginning) (region-end)
-        (read-file-name "Write decoded region to file: ")))
-  (save-excursion
-    (let ((file (save-excursion
-                 (save-restriction
-                   (narrow-to-region start end)
-                   (goto-char start)
-                   (if (re-search-forward "^begin [0-9]+ " nil t)
-                       (if (looking-at ".+$")
-                           (buffer-substring (match-beginning 0)
-                                             (match-end 0))
-                         )))))
-         (default-directory mime-temp-directory))
-      (if file
-         (as-binary-process
-          (apply (function call-process-region)
-                 start end (car uuencode-external-decoder)
-                 nil nil nil (cdr uuencode-external-decoder))
-          (rename-file file filename 'overwrites)
-          )))))
-
-
-;;; @ end
-;;;
-
-(provide 'mel-u)
-
-;;; mel-u.el ends here
diff --git a/mel.el b/mel.el
deleted file mode 100644 (file)
index 2ed43a4..0000000
--- a/mel.el
+++ /dev/null
@@ -1,285 +0,0 @@
-;;; mel.el : a MIME encoding/decoding library
-
-;; Copyright (C) 1995,1996,1997,1998 Free Software Foundation, Inc.
-
-;; Author: MORIOKA Tomohiko <morioka@jaist.ac.jp>
-;; modified by Shuhei KOBAYASHI <shuhei-k@jaist.ac.jp>
-;; Created: 1995/6/25
-;; Keywords: MIME, Base64, Quoted-Printable, uuencode, gzip64
-
-;; This file is part of MEL (MIME Encoding Library).
-
-;; This program is free software; you can redistribute it and/or
-;; modify it under the terms of the GNU General Public License as
-;; published by the Free Software Foundation; either version 2, or (at
-;; your option) any later version.
-
-;; This program is distributed in the hope that it will be useful, but
-;; WITHOUT ANY WARRANTY; without even the implied warranty of
-;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-;; General Public License for more details.
-
-;; You should have received a copy of the GNU General Public License
-;; along with GNU Emacs; see the file COPYING.  If not, write to the
-;; Free Software Foundation, Inc., 59 Temple Place - Suite 330,
-;; Boston, MA 02111-1307, USA.
-
-;;; Code:
-
-(require 'emu)
-
-
-;;; @ variable
-;;;
-
-(defvar base64-dl-module
-  (and (fboundp 'dynamic-link)
-       (let ((path (expand-file-name "base64.so" exec-directory)))
-        (and (file-exists-p path)
-             path))))
-
-
-;;; @ autoload
-;;;
-
-(cond (base64-dl-module
-       (autoload 'base64-encode-string "mel-dl"
-        "Encode STRING to base64, and return the result.")
-       (autoload 'base64-decode-string "mel-dl"
-        "Decode STRING which is encoded in base64, and return the result.")
-       (autoload 'base64-encode-region "mel-dl"
-        "Encode current region by base64." t)
-       (autoload 'base64-decode-region "mel-dl"
-        "Decode current region by base64." t)
-       (autoload 'base64-insert-encoded-file "mel-dl"
-        "Encode contents of file to base64, and insert the result." t)
-       (autoload 'base64-write-decoded-region "mel-dl"
-        "Decode and write current region encoded by base64 into FILENAME." t)
-       ;; for encoded-word
-       (autoload 'base64-encoded-length "mel-dl")
-       )
-      (t
-       (autoload 'base64-encode-string "mel-b"
-        "Encode STRING to base64, and return the result.")
-       (autoload 'base64-decode-string "mel-b"
-        "Decode STRING which is encoded in base64, and return the result.")
-       (autoload 'base64-encode-region "mel-b"
-        "Encode current region by base64." t)
-       (autoload 'base64-decode-region "mel-b"
-        "Decode current region by base64." t)
-       (autoload 'base64-insert-encoded-file "mel-b"
-        "Encode contents of file to base64, and insert the result." t)
-       (autoload 'base64-write-decoded-region "mel-b"
-        "Decode and write current region encoded by base64 into FILENAME." t)
-       ;; for encoded-word
-       (autoload 'base64-encoded-length "mel-b")
-       ))
-
-(autoload 'quoted-printable-encode-string "mel-q"
-  "Encode STRING to quoted-printable, and return the result.")
-(autoload 'quoted-printable-decode-string "mel-q"
-  "Decode STRING which is encoded in quoted-printable, and return the result.")
-(autoload 'quoted-printable-encode-region "mel-q"
-  "Encode current region by Quoted-Printable." t)
-(autoload 'quoted-printable-decode-region "mel-q"
-  "Decode current region by Quoted-Printable." t)
-(autoload 'quoted-printable-insert-encoded-file "mel-q"
-  "Encode contents of file to quoted-printable, and insert the result." t)
-(autoload 'quoted-printable-write-decoded-region "mel-q"
-  "Decode and write current region encoded by quoted-printable into FILENAME."
-  t)
-;; for encoded-word
-(autoload 'q-encoding-encode-string "mel-q"
-  "Encode STRING to Q-encoding of encoded-word, and return the result.")
-(autoload 'q-encoding-decode-string "mel-q"
-  "Decode STRING which is encoded in Q-encoding and return the result.")
-(autoload 'q-encoding-encoded-length "mel-q")
-
-(autoload 'uuencode-encode-region "mel-u"
-  "Encode current region by unofficial uuencode format." t)
-(autoload 'uuencode-decode-region "mel-u"
-  "Decode current region by unofficial uuencode format." t)
-(autoload 'uuencode-insert-encoded-file "mel-u"
-  "Insert file encoded by unofficial uuencode format." t)
-(autoload 'uuencode-write-decoded-region "mel-u"
-  "Decode and write current region encoded by uuencode into FILENAME." t)
-
-(autoload 'gzip64-encode-region "mel-g"
-  "Encode current region by unofficial x-gzip64 format." t)
-(autoload 'gzip64-decode-region "mel-g"
-  "Decode current region by unofficial x-gzip64 format." t)
-(autoload 'gzip64-insert-encoded-file "mel-g"
-  "Insert file encoded by unofficial gzip64 format." t)
-(autoload 'gzip64-write-decoded-region "mel-g"
-  "Decode and write current region encoded by gzip64 into FILENAME." t)
-
-
-;;; @ region
-;;;
-
-;;;###autoload
-(defvar mime-encoding-method-alist
-  '(("base64"           . base64-encode-region)
-    ("quoted-printable" . quoted-printable-encode-region)
-    ;; Not standard, their use is DISCOURAGED.
-    ;; ("x-uue"            . uuencode-encode-region)
-    ;; ("x-gzip64"         . gzip64-encode-region)
-    ("7bit")
-    ("8bit")
-    ("binary")
-    )
-  "Alist of encoding vs. corresponding method to encode region.
-Each element looks like (STRING . FUNCTION) or (STRING . nil).
-STRING is content-transfer-encoding.
-FUNCTION is region encoder and nil means not to encode.")
-
-;;;###autoload
-(defvar mime-decoding-method-alist
-  '(("base64"           . base64-decode-region)
-    ("quoted-printable" . quoted-printable-decode-region)
-    ("x-uue"            . uuencode-decode-region)
-    ("x-uuencode"       . uuencode-decode-region)
-    ("x-gzip64"         . gzip64-decode-region)
-    )
-  "Alist of encoding vs. corresponding method to decode region.
-Each element looks like (STRING . FUNCTION).
-STRING is content-transfer-encoding.
-FUNCTION is region decoder.")
-
-;;;###autoload
-(defun mime-encode-region (start end encoding)
-  "Encode region START to END of current buffer using ENCODING.
-ENCODING must be string.  If ENCODING is found in
-`mime-encoding-method-alist' as its key, this function encodes the
-region by its value."
-  (interactive
-   (list (region-beginning) (region-end)
-        (completing-read "encoding: "
-                         mime-encoding-method-alist
-                         nil t "base64"))
-   )
-  (let ((f (cdr (assoc encoding mime-encoding-method-alist))))
-    (if f
-       (funcall f start end)
-      )))
-
-;;;###autoload
-(defun mime-decode-region (start end encoding)
-  "Decode region START to END of current buffer using ENCODING.
-ENCODING must be string.  If ENCODING is found in
-`mime-decoding-method-alist' as its key, this function decodes the
-region by its value."
-  (interactive
-   (list (region-beginning) (region-end)
-        (completing-read "encoding: "
-                         mime-decoding-method-alist
-                         nil t "base64"))
-   )
-  (let ((f (cdr (assoc encoding mime-decoding-method-alist))))
-    (if f
-       (funcall f start end)
-      )))
-
-
-;;; @ string
-;;;
-
-;;;###autoload
-(defvar mime-string-decoding-method-alist
-  '(("base64"           . base64-decode-string)
-    ("quoted-printable" . quoted-printable-decode-string)
-    ("7bit"            . identity)
-    ("8bit"            . identity)
-    ("binary"          . identity)
-    )
-  "Alist of encoding vs. corresponding method to decode string.
-Each element looks like (STRING . FUNCTION).
-STRING is content-transfer-encoding.
-FUNCTION is string decoder.")
-
-;;;###autoload
-(defun mime-decode-string (string encoding)
-  "Decode STRING using ENCODING.
-ENCODING must be string.  If ENCODING is found in
-`mime-string-decoding-method-alist' as its key, this function decodes
-the STRING by its value."
-  (let ((f (cdr (assoc encoding mime-string-decoding-method-alist))))
-    (if f
-       (funcall f string)
-      (with-temp-buffer
-       (insert string)
-       (mime-decode-region (point-min)(point-max) encoding)
-       (buffer-string)
-       ))))
-
-
-;;; @ file
-;;;
-
-;;;###autoload
-(defvar mime-file-encoding-method-alist
-  '(("base64"           . base64-insert-encoded-file)
-    ("quoted-printable" . quoted-printable-insert-encoded-file)
-    ;; Not standard, their use is DISCOURAGED.
-    ;; ("x-uue"            . uuencode-insert-encoded-file)
-    ;; ("x-gzip64"         . gzip64-insert-encoded-file)
-    ("7bit"            . insert-file-contents-as-binary)
-    ("8bit"            . insert-file-contents-as-binary)
-    ("binary"          . insert-file-contents-as-binary)
-    )
-  "Alist of encoding vs. corresponding method to insert encoded file.
-Each element looks like (STRING . FUNCTION).
-STRING is content-transfer-encoding.
-FUNCTION is function to insert encoded file.")
-
-;;;###autoload
-(defvar mime-file-decoding-method-alist
-  '(("base64"           . base64-write-decoded-region)
-    ("quoted-printable" . quoted-printable-write-decoded-region)
-    ("x-uue"            . uuencode-write-decoded-region)
-    ("x-gzip64"         . gzip64-write-decoded-region)
-    ("7bit"            . write-region-as-binary)
-    ("8bit"            . write-region-as-binary)
-    ("binary"          . write-region-as-binary)
-    )
-  "Alist of encoding vs. corresponding method to write decoded region to file.
-Each element looks like (STRING . FUNCTION).
-STRING is content-transfer-encoding.
-FUNCTION is function to write decoded region to file.")
-
-;;;###autoload
-(defun mime-insert-encoded-file (filename encoding)
-  "Insert file FILENAME encoded by ENCODING format."
-  (interactive
-   (list (read-file-name "Insert encoded file: ")
-        (completing-read "encoding: "
-                         mime-encoding-method-alist
-                         nil t "base64"))
-   )
-  (let ((f (cdr (assoc encoding mime-file-encoding-method-alist))))
-    (if f
-       (funcall f filename)
-      )))
-
-;;;###autoload
-(defun mime-write-decoded-region (start end filename encoding)
-  "Decode and write current region encoded by ENCODING into FILENAME.
-START and END are buffer positions."
-  (interactive
-   (list (region-beginning) (region-end)
-        (read-file-name "Write decoded region to file: ")
-        (completing-read "encoding: "
-                         mime-file-decoding-method-alist
-                         nil t "base64")))
-  (let ((f (cdr (assoc encoding mime-file-decoding-method-alist))))
-    (if f
-       (funcall f start end filename)
-      )))
-
-
-;;; @ end
-;;;
-
-(provide 'mel)
-
-;;; mel.el ends here.
diff --git a/mime-def.el b/mime-def.el
deleted file mode 100644 (file)
index f362130..0000000
+++ /dev/null
@@ -1,326 +0,0 @@
-;;; mime-def.el --- definition module about MIME
-
-;; Copyright (C) 1995,1996,1997,1998 Free Software Foundation, Inc.
-
-;; Author: MORIOKA Tomohiko <morioka@jaist.ac.jp>
-;; Keywords: definition, MIME, multimedia, mail, news
-
-;; This file is part of FLAM (Faithful Library About MIME).
-
-;; This program is free software; you can redistribute it and/or
-;; modify it under the terms of the GNU General Public License as
-;; published by the Free Software Foundation; either version 2, or (at
-;; your option) any later version.
-
-;; This program is distributed in the hope that it will be useful, but
-;; WITHOUT ANY WARRANTY; without even the implied warranty of
-;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-;; General Public License for more details.
-
-;; You should have received a copy of the GNU General Public License
-;; along with GNU Emacs; see the file COPYING.  If not, write to the
-;; Free Software Foundation, Inc., 59 Temple Place - Suite 330,
-;; Boston, MA 02111-1307, USA.
-
-;;; Code:
-
-(defconst mime-library-version-string
-  "FLAM-DOODLE 1.9.1 - \"\e$B2+C0\e(B\" 10R5.5/14.0")
-
-
-;;; @ variables
-;;;
-
-(require 'custom)
-
-(eval-when-compile (require 'cl))
-
-(defgroup mime nil
-  "Emacs MIME Interfaces"
-  :group 'news
-  :group 'mail)
-
-(custom-handle-keyword 'default-mime-charset :group 'mime
-                      'custom-variable)
-
-(defcustom mime-temp-directory (or (getenv "MIME_TMP_DIR")
-                                  (getenv "TM_TMP_DIR")
-                                  (getenv "TMPDIR")
-                                  (getenv "TMP")
-                                  (getenv "TEMP")
-                                  "/tmp/")
-  "*Directory for temporary files."
-  :group 'mime
-  :type 'directory)
-
-(defcustom mime-uuencode-encoding-name-list '("x-uue" "x-uuencode")
-  "*List of encoding names for uuencode format."
-  :group 'mime
-  :type '(repeat string))
-
-
-;;; @ required functions
-;;;
-
-(unless (fboundp 'butlast)
-  (defun butlast (x &optional n)
-    "Returns a copy of LIST with the last N elements removed."
-    (if (and n (<= n 0)) x
-      (nbutlast (copy-sequence x) n)))
-  
-  (defun nbutlast (x &optional n)
-    "Modifies LIST to remove the last N elements."
-    (let ((m (length x)))
-      (or n (setq n 1))
-      (and (< n m)
-          (progn
-            (if (> n 0) (setcdr (nthcdr (- (1- m) n) x) nil))
-            x))))
-  )
-
-(defsubst eliminate-top-spaces (string)
-  "Eliminate top sequence of space or tab in STRING."
-  (if (string-match "^[ \t]+" string)
-      (substring string (match-end 0))
-    string))
-
-(defsubst regexp-* (regexp)
-  (concat regexp "*"))
-
-(defsubst regexp-or (&rest args)
-  (concat "\\(" (mapconcat (function identity) args "\\|") "\\)"))
-
-
-;;; @ about STD 11
-;;;
-
-(defconst std11-quoted-pair-regexp "\\\\.")
-(defconst std11-non-qtext-char-list '(?\" ?\\ ?\r ?\n))
-(defconst std11-qtext-regexp
-  (concat "[^" (char-list-to-string std11-non-qtext-char-list) "]"))
-(defconst std11-quoted-string-regexp
-  (concat "\""
-         (regexp-*
-          (regexp-or std11-qtext-regexp std11-quoted-pair-regexp))
-         "\""))
-
-
-;;; @ about MIME
-;;;
-
-(defconst mime-tspecials "][()<>@,\;:\\\"/?=")
-(defconst mime-token-regexp (concat "[^" mime-tspecials "\000-\040]+"))
-(defconst mime-charset-regexp mime-token-regexp)
-
-(defconst mime-media-type/subtype-regexp
-  (concat mime-token-regexp "/" mime-token-regexp))
-
-
-;;; @@ Quoted-Printable
-;;;
-
-(defconst quoted-printable-hex-chars "0123456789ABCDEF")
-
-(defconst quoted-printable-octet-regexp
-  (concat "=[" quoted-printable-hex-chars
-         "][" quoted-printable-hex-chars "]"))
-
-
-;;; @ Content-Type
-;;;
-
-(defsubst make-mime-content-type (type subtype &optional parameters)
-  (list* (cons 'type type)
-        (cons 'subtype subtype)
-        (nreverse parameters))
-  )
-
-(defsubst mime-content-type-primary-type (content-type)
-  "Return primary-type of CONTENT-TYPE."
-  (cdr (car content-type)))
-
-(defsubst mime-content-type-subtype (content-type)
-  "Return primary-type of CONTENT-TYPE."
-  (cdr (cadr content-type)))
-
-(defsubst mime-content-type-parameters (content-type)
-  "Return primary-type of CONTENT-TYPE."
-  (cddr content-type))
-
-(defsubst mime-content-type-parameter (content-type parameter)
-  "Return PARAMETER value of CONTENT-TYPE."
-  (cdr (assoc parameter (mime-content-type-parameters content-type))))
-
-
-(defsubst mime-type/subtype-string (type &optional subtype)
-  "Return type/subtype string from TYPE and SUBTYPE."
-  (if type
-      (if subtype
-         (format "%s/%s" type subtype)
-       (format "%s" type))))
-
-
-;;; @ Content-Disposition
-;;;
-
-(defsubst mime-content-disposition-type (content-disposition)
-  "Return disposition-type of CONTENT-DISPOSITION."
-  (cdr (car content-disposition)))
-
-(defsubst mime-content-disposition-parameters (content-disposition)
-  "Return disposition-parameters of CONTENT-DISPOSITION."
-  (cdr content-disposition))
-
-(defsubst mime-content-disposition-parameter (content-disposition parameter)
-  "Return PARAMETER value of CONTENT-DISPOSITION."
-  (cdr (assoc parameter (cdr content-disposition))))
-
-(defsubst mime-content-disposition-filename (content-disposition)
-  "Return filename of CONTENT-DISPOSITION."
-  (mime-content-disposition-parameter content-disposition "filename"))
-
-
-;;; @ MIME entity
-;;;
-
-(defsubst make-mime-entity-internal (representation-type location
-                                    &optional content-type
-                                    children parent node-id
-                                    buffer
-                                    header-start header-end
-                                    body-start body-end)
-  (vector representation-type location
-         content-type nil nil children parent node-id
-         buffer header-start header-end body-start body-end
-         nil nil))
-
-(defsubst mime-entity-representation-type-internal (entity)
-  (aref entity 0))
-(defsubst mime-entity-set-representation-type-internal (entity type)
-  (aset entity 0 type))
-(defsubst mime-entity-location-internal (entity)
-  (aref entity 1))
-
-(defsubst mime-entity-content-type-internal (entity)
-  (aref entity 2))
-(defsubst mime-entity-set-content-type-internal (entity type)
-  (aset entity 2 type))
-(defsubst mime-entity-content-disposition-internal (entity)
-  (aref entity 3))
-(defsubst mime-entity-set-content-disposition-internal (entity disposition)
-  (aset entity 3 disposition))
-(defsubst mime-entity-encoding-internal (entity)
-  (aref entity 4))
-(defsubst mime-entity-set-encoding-internal (entity encoding)
-  (aset entity 4 encoding))
-
-(defsubst mime-entity-children-internal (entity)
-  (aref entity 5))
-(defsubst mime-entity-set-children-internal (entity children)
-  (aset entity 5 children))
-(defsubst mime-entity-parent-internal (entity)
-  (aref entity 6))
-(defsubst mime-entity-node-id-internal (entity)
-  (aref entity 7))
-
-(defsubst mime-entity-buffer-internal (entity)
-  (aref entity 8))
-(defsubst mime-entity-set-buffer-internal (entity buffer)
-  (aset entity 8 buffer))
-(defsubst mime-entity-header-start-internal (entity)
-  (aref entity 9))
-(defsubst mime-entity-set-header-start-internal (entity point)
-  (aset entity 9 point))
-(defsubst mime-entity-header-end-internal (entity)
-  (aref entity 10))
-(defsubst mime-entity-set-header-end-internal (entity point)
-  (aset entity 10 point))
-(defsubst mime-entity-body-start-internal (entity)
-  (aref entity 11))
-(defsubst mime-entity-set-body-start-internal (entity point)
-  (aset entity 11 point))
-(defsubst mime-entity-body-end-internal (entity)
-  (aref entity 12))
-(defsubst mime-entity-set-body-end-internal (entity point)
-  (aset entity 12 point))
-
-(defsubst mime-entity-original-header-internal (entity)
-  (aref entity 13))
-(defsubst mime-entity-set-original-header-internal (entity header)
-  (aset entity 13 header))
-(defsubst mime-entity-parsed-header-internal (entity)
-  (aref entity 14))
-(defsubst mime-entity-set-parsed-header-internal (entity header)
-  (aset entity 14 header))
-
-
-;;; @ message structure
-;;;
-
-(defvar mime-message-structure nil
-  "Information about structure of message.
-Please use reference function `mime-entity-SLOT' to get value of SLOT.
-
-Following is a list of slots of the structure:
-
-buffer                 buffer includes this entity (buffer).
-node-id                        node-id (list of integers)
-header-start           minimum point of header in raw-buffer
-header-end             maximum point of header in raw-buffer
-body-start             minimum point of body in raw-buffer
-body-end               maximum point of body in raw-buffer
-content-type           content-type (content-type)
-content-disposition    content-disposition (content-disposition)
-encoding               Content-Transfer-Encoding (string or nil)
-children               entities included in this entity (list of entity)
-
-If an entity includes other entities in its body, such as multipart or
-message/rfc822, `mime-entity' structures of them are included in
-`children', so the `mime-entity' structure become a tree.")
-
-(make-variable-buffer-local 'mime-message-structure)
-
-
-;;; @ for mm-backend
-;;;
-
-(defvar mime-entity-implementation-alist nil)
-
-(defmacro mm-define-backend (type &optional parents)
-  (if parents
-      `(let ((rest ',(reverse parents)))
-        (while rest
-          (set-alist 'mime-entity-implementation-alist
-                     ',type
-                     (copy-alist
-                      (cdr (assq (car rest)
-                                 mime-entity-implementation-alist))))
-          (setq rest (cdr rest))
-          ))))
-
-(defmacro mm-define-method (name args &rest body)
-  (let* ((specializer (car args))
-        (class (nth 1 specializer))
-        (self (car specializer)))
-    `(let ((imps (cdr (assq ',class mime-entity-implementation-alist)))
-          (func (lambda ,(if self
-                             (cons self (cdr args))
-                           (cdr args))
-                  ,@body)))
-       (if imps
-          (set-alist 'mime-entity-implementation-alist
-                     ',class (put-alist ',name func imps))
-        (set-alist 'mime-entity-implementation-alist
-                   ',class
-                   (list (cons ',name func)))
-        ))))
-
-(put 'mm-define-method 'lisp-indent-function 'defun)
-
-
-;;; @ end
-;;;
-
-(provide 'mime-def)
-
-;;; mime-def.el ends here
diff --git a/mime-en.sgml b/mime-en.sgml
deleted file mode 100644 (file)
index f9d5d4e..0000000
+++ /dev/null
@@ -1,1267 +0,0 @@
-<!doctype sinfo system>
-<head>
-<title>FLIM 1.9 Manual about MIME Features
-<author>MORIOKA Tomohiko <mail>morioka@jaist.ac.jp</mail>
-<date>1998/07/01
-
-<toc>
-</head>
-
-<body>
-
-<abstract>
-<p>
-This file documents MIME features of FLIM, a Internet message
-parsing/encoding library for GNU Emacs.
-</abstract>
-
-
-<h1> What is FLIM?
-<node> Introduction
-<p>
-FLIM is a library to provide basic features about message
-representation or encoding.
-
-
-<h1> How to use MIME features
-<node> How to use
-<p>
-Please eval following to use MIME features provided by FLIM:
-
-<lisp>
-(require 'mime)
-</lisp>
-
-
-<h1> Message and Entity
-<node> Entity
-<p>
-According to <dref>RFC 2045</dref>, `The term ``entity'', refers
-specifically to the MIME-defined header fields and contents of either
-a message or one of the parts in the body of a multipart entity.'  In
-this document, the term <concept>entity</concept> indicates all of
-header fields and body.
-<p>
-The definition of RFC 2045 indicates that a MIME message is a tree.
-An message is a tree, each node is an entity, like following figure.
-Namely MIME extends message to tree structure.
-<p>
-FLIM uses <concept>mime-entity</concept> structure to represent
-information of entity.  In this document, it is called simply
-`mime-entity'.
-<p>
-\e$BA0=R$N$h$&$K!"\e(Bmessage \e$BCf$N3F\e(B entity \e$B$OLZ$N@a$KEv$?$j$^$9$,!"$3$NLZ$K$O\e(B
-\e$B?<$5$HF1$8?<$5$NCf$N=gHV$K=>$C$FHV9f$,IU$1$k$3$H$,$G$-$^$9!#B($A!"\e(B
-<verb>
-
-                              \e$B(#(!(!(!($\e(B
-                              \e$B("\e(B  nil \e$B("\e(B
-                              \e$B(&(!(((!(%\e(B
-              \e$B(#(!(!(!(!(!(!(!(!(!(+(!(!(!(!(!(!(!(!(!($\e(B
-            \e$B(#(*($\e(B              \e$B(#(*($\e(B              \e$B(#(*($\e(B
-            \e$B("#0("\e(B              \e$B("#1("\e(B              \e$B("#2("\e(B
-            \e$B(&(((%\e(B              \e$B(&(((%\e(B              \e$B(&(((%\e(B
-              \e$B("\e(B        \e$B(#(!(!(!(!(+(!(!(!(!($\e(B        \e$B("\e(B
-          \e$B(#(!(*(!($(#(!(*(!($(#(!(*(!($(#(!(*(!($(#(!(*(!($\e(B
-          \e$B("\e(B \e$B#0\e(B.\e$B#0("("\e(B \e$B#1\e(B.\e$B#0("("\e(B \e$B#1\e(B.\e$B#1("("\e(B \e$B#1\e(B.\e$B#2("("\e(B \e$B#2\e(B.\e$B#0("\e(B
-          \e$B(&(!(!(!(%(&(!(!(!(%(&(!(!(!(%(&(!(!(!(%(&(!(!(!(%\e(B
-
-</verb>
-<p>
-<noindent>\e$B$N$h$&$K?<$5\e(B n \e$B$N@a$K$OD9$5\e(B n \e$B$N@0?tNs$N@aHV9f$,?6$l$^$9!#$3$l\e(B
-\e$B$r\e(B <concept>entity-number</concept> \e$B$H8F$S$^$9!#\e(Bentity-number \e$B$O\e(B S \e$B<0$H\e(B
-\e$B$7$F$O\e(B <code>(1 2 3)</code> \e$B$N$h$&$J@0?t$N%j%9%H$H$7$FI=8=$5$l$^$9!#\e(B
-<p>
-mime-entity \e$B$G$O!"$3$l$HF1MM$N\e(B <concept>node-id</concept> \e$B$rMQ$$$^$9!#\e(B
-node-id \e$B$O$A$g$&$I\e(B entity-number \e$B$r5U$K$7$?%j%9%H$G!"\e(Bentity-number
-1.2.3 \e$B$KBP1~$9$k\e(B node-id \e$B$O\e(B <code>(3 2 1)</code> \e$B$G$9!#\e(B
-<p>
-\e$BA0=R$N$h$&$K!"\e(BMIME message \e$B$O\e(B entity \e$B$rC10L$H$7$?LZ9=B$$K$J$C$F$$$k$N$G!"\e(B
-\e$B$3$N:,$G$"$k\e(B message \e$BA4BN$b\e(B mime-entity \e$B$GI=8=$9$k$3$H$,$G$-!"\e(Bbuffer
-local \e$BJQ?t\e(B <code>mime-message-structure</code> \e$B$K3JG<$9$k$3$H$K$7$^$9!#\e(B
-\e$B$=$7$F!"\e(Bentity-number \e$B$d\e(B node-id \e$B$rMQ$$$k$3$H$G\e(B 
-<code>mime-message-structure</code> \e$B$K$*$1$k\e(B entity \e$B$NAjBPE*$J0LCV4X78$r\e(B
-\e$B07$&$3$H$,$G$-$^$9!#\e(B
-
-
-<h2> Functions to create mime-entity
-<node> Entity creation
-<p>
-<defun name="mime-open-entity">
-         <opts> type location
-<p>
-Open an entity and return it.
-<p>
-<var>type</var> is representation-type. <cf node="mm-backend">
-<p>
-<var>location</var> is location of entity.  Specification of it is
-depended on representation-type.
-</defun>
-
-<defun name="mime-parse-buffer">
-         <opts> buffer type
-<p>
-Parse <var>buffer</var> as message, and set the result to buffer local
-variable <code>mime-message-structure</code> of <var>buffer</var> as
-mime-entity.
-<p>
-If <var>buffer</var> is omitted, current buffer is used.
-<p>
-<var>type</var> is representation-type of created mime-entity. <cf
-node="mm-backend"> Default value is <var>buffer</var>.
-</defun>
-
-
-<h2> Features about message tree
-<node> Entity hierarchy
-<p>
-<defvar name="mime-message-structure">
-<p>
-Buffer local variable to store mime-entity structure of message.
-</defvar>
-
-<defun name="mime-entity-children">
-         <args> entity
-<p>
-Return list of entities included in the <var>entity</var>.
-</defun>
-
-<defun name="mime-entity-parent">
-         <args> entity <opts> message
-<p>
-Return parent entity of the <var>entity</var>.
-<p>
-If <var>message</var> is specified, it is regarded as root instead of
-<code>mime-message-structure</code>.
-</defun>
-
-<defun name="mime-root-entity-p">
-         <args> entity
-<p>
-Return non-<code>nil</code> if <var>entity</var> is root entity
-(message).
-</defun>
-
-<defun name="mime-entity-node-id">
-         <args> entity
-<p>
-Return node-id of <var>entity</var>.
-</defun>
-
-<defun name="mime-entity-number">
-         <args> entity
-<p>
-Return entity-number of <var>entity</var>.
-</defun>
-
-<defun name="mime-find-entity-from-number">
-           <args> entity-number <opts> message
-<p>
-Return entity from <var>entity-number</var> in <var>message</var>.
-<p>
-If <var>message</var> is not specified,
-<code>mime-message-structure</code> is used.
-</defun>
-
-<defun name="mime-find-entity-from-node-id">
-           <args> entity-node-id <opts> message
-<p>
-Return entity from <var>entity-node-id</var> in <var>message</var>.
-<p>
-If <var>message</var> is not specified,
-<code>mime-message-structure</code> is used.
-</defun>
-
-
-<h2> Functions about attributes of mime-entity
-<node> Entity Attributes
-<p>
-<defun name="mime-entity-content-type">
-           <args> entity
-<p>
-Return content-type of <var>entity</var>.
-<cf node="mime-content-type">
-</defun>
-
-<defun name="mime-entity-content-disposition">
-           <args> entity
-<p>
-Return content-disposition of <var>entity</var>. <cf
-node="mime-content-disposition">
-</defun>
-
-<defun name="mime-entity-filename">
-           <args> entity
-<p>
-Return file name of <var>entity</var>.
-</defun>
-
-<defun name="mime-entity-encoding">
-           <args> entity <opts> default-encoding
-<p>
-Return content-transfer-encoding of <var>entity</var>.
-<cf node="Content-Transfer-Encoding">
-<p>
-If the <var>entity</var> does not have Content-Transfer-Encoding
-field, this function returns <var>default-encoding</var>.  If it is
-nil, <code>"7bit"</code> is used as default value.
-</defun>
-
-<defun name="mime-entity-cooked-p">
-           <args> entity
-<p>
-Return non-nil if contents of <var>entity</var> has been already
-code-converted.
-</defun>
-
-
-<h2> Information of entity header
-<node> Entity-header
-<p>
-<defun name="mime-fetch-field">
-           <args> field-name <opts> entity
-<p>
-Return field-body of <var>field-name</var> field in header of
-<var>entity</var>.
-<p>
-The results is network representation.
-<p>
-If <var>entity</var> is omitted, <code>mime-message-structure</code>
-is used as default value.
-<p>
-If <var>field-name</var> field is not found, this function returns
-<code>nil</code>.
-</defun>
-
-<defun name="mime-read-field">
-           <args> field-name <opts> entity
-<p>
-Parse <var>field-name</var> field in header of <var>entity</var>, and
-return the result.
-<p>
-Format of result is depended on kind of field.  For non-structured
-field, this function returns string.  For structured field, it returns
-list corresponding with structure of the field.
-<p>
-Strings in the result will be converted to internal representation of
-Emacs.
-<p>
-If <var>entity</var> is omitted, <code>mime-message-structure</code>
-is used as default value.
-<p>
-If <var>field-name</var> field is not found, this function returns
-<code>nil</code>.
-</defun>
-
-<defun name="mime-insert-decoded-header">
-           <args> entity <opts> invisible-fields visible-fields
-<p>
-Insert before point a decoded contents of header of <var>entity</var>.
-<p>
-<var>invisible-fields</var> is list of regexps to match field-name to
-hide.  <var>visible-fields</var> is list of regexps to match
-field-name to hide.
-<p>
-If a field-name is matched with some elements of
-<var>invisible-fields</var> and matched with none of
-<var>visible-fields</var>, this function don't insert the field.
-</defun>
-
-
-<h2> Contents of Entity
-<node> Entity-content
-<p>
-<defun name="mime-entity-content">
-           <args> entity
-<p>
-Return content of <var>entity</var> as byte sequence.
-</defun>
-
-<defun name="mime-write-entity-content">
-           <args> entity filename
-<p>
-Write content of <var>entity</var> into <var>filename</var>.
-</defun>
-
-<defun name="mime-write-entity">
-           <args> entity filename
-<p>
-Write representation of <var>entity</var> into <var>filename</var>.
-</defun>
-
-<defun name="mime-write-entity-body">
-           <args> entity filename
-<p>
-Write body of <var>entity</var> into <var>filename</var>.
-</defun>
-
-
-<h2> Entity as buffer representation
-<node> Entity buffer
-<p>
-<defun name="mime-entity-buffer">
-           <args> entity
-<p>
-Return buffer, which contains <var>entity</var>.
-</defun>
-
-<defun name="mime-entity-point-min">
-           <args> entity
-<p>
-Return the start point of <var>entity</var> in the buffer which
-contains <var>entity</var>.
-</defun>
-
-<defun name="mime-entity-point-max">
-           <args> entity
-<p>
-Return the end point of <var>entity</var> in the buffer which
-contains <var>entity</var>.
-</defun>
-
-<defun name="mime-entity-header-start">
-           <args> entity
-<p>
-Return the start point of header of <var>entity</var> in the buffer
-which contains <var>entity</var>.
-</defun>
-
-<defun name="mime-entity-header-end">
-           <args> entity
-<p>
-Return the end point of header of <var>entity</var> in the buffer
-which contains <var>entity</var>.
-</defun>
-
-<defun name="mime-entity-body-start">
-           <args> entity
-<p>
-Return the start point of body of <var>entity</var> in the buffer
-which contains <var>entity</var>.
-</defun>
-
-<defun name="mime-entity-body-end">
-           <args> entity
-<p>
-Return the end point of body of <var>entity</var> in the buffer which
-contains <var>entity</var>.
-</defun>
-
-
-<h2> Entity representations and implementations
-<node> mm-backend
-<p>
-Entity \e$B$OCj>]2=$5$l$?%G!<%?I=8=$G!"<B:]$N%G!<%?I=8=$H$7$F$OMQES$K1~$8$F\e(B
-\e$B$5$^$6$^$J$b$N$,MxMQ$G$-$k$h$&$K@_7W$5$l$F$$$^$9!#\e(B
-<p>
-\e$B$3$3$G!"\e(Bentity \e$B$,$I$&$$$&<oN`$NI=8=$r9T$C$F$$$k$+$r<($9$N$,\e(B
-<concept>representation-type</concept> \e$B$G!"\e(Bentity \e$B$r@8@.$9$k;~$K$O$3$l$r\e(B
-\e$B;XDj$7$^$9!#\e(B<cf node="Entity Creation">
-<p>
-\e$BA0@a$^$G$K=R$Y$FMh$?\e(B entity \e$B$KBP$9$k=hM}$O!"\e(Bentity \e$B$KBP$7$F$=$N=hM}$r0M\e(B
-\e$BMj$9$k$3$H$K$h$C$F<B8=$5$l$F$$$^$9!#\e(BEntity \e$B$O<+J,$N\e(B 
-representation-type \e$B$rCN$C$F$*$j!"$=$N\e(B representation-type \e$B$K1~$8$F<B:]\e(B
-\e$B$N=hM}$r9T$&4X?t$r8F$S=P$7$^$9!#$3$N$h$&$J4X?t$r\e(B <concept>entity \e$B=hM}\e(B
-method</concept> \e$B$H8F$S$^$9!#$^$?!"\e(Brepresentation-type \e$BKh$K$3$N$h$&$J4X\e(B
-\e$B?t$r$^$H$a$?$b$N$r\e(B <concept>mm-backend</concept> \e$B$H8F$S$^$9!#\e(B
-<p>
-mm-backend \e$B$O\e(B representation-type \e$B$NL>A0$N@hF,$K\e(B <code>mm</code> \e$B$H$$$&\e(B
-\e$B@\F,<-$rIU$1$?4X?tL>$+$i$J$k\e(B module \e$B$G!"$=$N\e(B module \e$BL>$OF1MM$K\e(B
-representation-type \e$B$NL>A0$N@hF,$K\e(B <code>mm</code> \e$B$rIU$1$?$b$N$K$J$C$F\e(B
-\e$B$$$^$9!#$3$N\e(B module \e$B$O\e(B representation-type \e$B$N\e(B entity \e$B$,:G=i$K@8@.$5$l$k\e(B
-\e$B;~$K<+F0E*$K\e(B require \e$B$5$l$^$9!#\e(B
-
-
-<h3> Message-passing for entity
-<node> Request for entity
-<p>
-<defun name="mime-entity-send">
-             <args> entity message <rest> args
-<p>
-<var>entity</var> \e$B$K\e(B <var>message</var> \e$B$rAw$k!#\e(B
-<p>
-<var>args</var> \e$B$O\e(B <var>message</var> \e$B$N0z?t$G$"$k!#\e(B
-</defun>
-
-
-<h3> How to make mm-backend
-<node> mm-backend module
-<p>
-\e$B!J$9$_$^$;$s!#$=$N$&$A=q$-$^$9\e(B (^_^;\e$B!K\e(B
-<p>
-\e$B!J$H$j$"$($:!"\e(Bmm*.el \e$B$r;29M$K$7$F$/$@$5$$!K\e(B
-
-
-<h1> Information of Content-Type field
-<node> Content-Type
-<p>
-<concept>Content-Type field</concept> is a field to indicate kind of
-contents or data format, such as <dref>media-type</dref> and MIME
-charset.  It is defined in <dref>RFC 2045</dref>.
-
-<memo>
-<p>
-Historically, Content-Type field was proposed in RFC 1049.  In it,
-Content-Type did not distinguish type and subtype, and there are no
-mechanism to represent kind of character code like MIME charset.
-</memo>
-
-<p>
-FLIM provides parser for Content-Type field and structure
-<concept>mime-content-type</concept> to store information of
-Content-Type field.
-
-
-<h2> Format of Content-Type field
-<node> Content-Type field
-<p>
-Content-Type \e$BMs$N7A<0$O0J2<$N$h$&$KDj5A$5$l$F$$$^$9!'\e(B
-
-<quote>
-``Content-Type'' ``:'' <concept>type</concept> ``/''
-<concept>subtype</concept> *( ``;'' <concept>parameter</concept> )
-</quote>
-<p>
-\e$BNc$($P!"\e(B
-
-<quote>
-<verb>
-Content-Type: image/jpeg
-</verb>
-</quote>
-
-<noindent>
-\e$B$d\e(B
-
-<quote>
-<verb>
-Content-Type: text/plain; charset=iso-2022-jp
-</verb>
-</quote>
-
-<noindent>
-\e$B$J$I$N$h$&$KMQ$$$i$l$^$9!#\e(B
-<p>
-\e$B$3$3$G!"\e(B`type' \e$B$H\e(B `subtype' \e$B$O\e(B entity \e$B$N7A<0$r<($9$b$N$G!"N><T$rAm>N$7\e(B
-\e$B$F!"\e(B`media-type' \e$B$H8F$V$3$H$K$7$^$9!#>e5-$NNc$K$*$1$k\e(B `image/jpeg' \e$B$d\e(B
-`text/plain' \e$B$O\e(B media-type \e$B$N#1$D$G$9!#\e(B
-
-<memo>
-<p>
-Content-Type \e$BMs$N$J$$\e(B entity \e$B$O\e(B
-
-<quote>
-<verb>
-Content-Type: text/plain; charset=us-ascii
-</verb>
-</quote>
-
-<noindent>
-\e$B$H$7$F2r<a$5$l$k!#\e(B<cf node="us-ascii">
-</memo>
-
-
-<h2> mime-content-type structure
-<node> mime-content-type
-<p>
-<define type="Structure" name="mime-content-type">
-<p>
-Content-Type \e$BMs$N>pJs$r3JG<$9$k$?$a$N9=B$BN!#\e(B
-<p>
-\e$B$3$N9=B$BN$r;2>H$9$k$K$O\e(B <code>mime-content-type-\e$BMWAGL>\e(B</code> \e$B$H$$$&L>\e(B
-\e$BA0$N;2>H4X?t$rMQ$$$k!#\e(B
-<p>
-\e$B$3$N9=B$BN$NMWAG$O0J2<$NDL$j$G$"$k!'\e(B
-
-<vl>
-<dt>primary-type<dd>media-type \e$B$N<g7?\e(B (symbol).
-</dd>
-<dt>subtype<dd>media-type \e$B$NI{7?\e(B (symbol).
-</dd>
-<dt>parameters<dd>Content-Type \e$BMs$N\e(B parameter (\e$BO"A[\e(B list).
-</dd>
-</vl>
-</define>
-
-<defun name="make-mime-content-type">
-         <args> type subtype
-         <opts> parameters
-<p>content-type \e$B$N@8@.;R!#\e(B
-</defun>
-
-<defun name="mime-content-type-parameter">
-<args> content-type parameter
-<p>
-<var>content-type</var> \e$B$N\e(B <var>parameter</var> \e$B$NCM$rJV$9!#\e(B
-</defun>
-
-
-<h2> Parser
-<node> Content-Type parser
-<p>
-<defun name="mime-parse-Content-Type">
-         <args> string
-<p>
-<var>string</var> \e$B$r\e(B content-type \e$B$H$7$F2r@O$7$?7k2L$rJV$9!#\e(B
-</defun>
-
-<defun name="mime-read-Content-Type">
-<p>
-\e$B8=:_$N\e(B buffer \e$B$N\e(B Content-Type \e$BMs$rFI$_<h$j!"2r@O$7$?7k2L$rJV$9!#\e(B
-<p>
-Content-Type \e$BMs$,B8:_$7$J$$>l9g$O\e(B nil \e$B$rJV$9!#\e(B
-</defun>
-
-
-<h2> Utility functions
-<node> Content-Type utility
-<p>
-<defun name="mime-type/subtype-string">
-         <args> type <opts> subtype
-<p>
-Return type/subtype string from <var>type</var> and
-<var>subtype</var>.
-</defun>
-
-
-<h1> Information of Content-Disposition field
-<node> Content-Disposition
-<p>
-<concept>Content-Disposition \e$BMs\e(B</concept> \e$B$O\e(B entity \e$B$NI=<($d\e(B file \e$BL>$J$I\e(B
-\e$B$NB0@-$K$J$I$K4X$9$k>pJs$r5-=R$9$k$?$a$N$b$N$G$9!#\e(B
-
-<rfc number="2183" type="Standards Track"
-             author="S. Dorner, K. Moore and R. Troost"
-             title="Communicating Presentation Information in
-             Internet Messages: The Content-Disposition Header"
-             date="August 1997">
-<p>
-FLIM \e$B$O\e(B Content-Disposition \e$BMs$r9=J82r@O$9$k4X?t$H\e(B Content-Disposition 
-\e$BMs$N2r@O7k2L$r3JG<$9$k9=B$BN\e(B 
-<concept>mime-content-disposition</concept> \e$B$rDs6!$7$^$9!#\e(B
-
-
-<h2> mime-content-disposition structure
-<node> mime-content-disposition
-<p>
-<define type="Structure" name="mime-content-disposition">
-<p>
-Content-Disposition \e$BMs$N2r@O7k2L$r<}$a$k$?$a$N9=B$BN!#\e(B
-<p>
-\e$B$3$N9=B$BN$r;2>H$9$k$K$O\e(B <code>mime-content-disposition-\e$BMWAGL>\e(B</code> \e$B$H\e(B
-\e$B$$$&L>A0$N;2>H4X?t$rMQ$$$k!#\e(B
-<p>
-\e$B$3$N9=B$BN$NMWAG$O0J2<$NDL$j$G$"$k!'\e(B
-
-<vl>
-<dt>disposition-type<dd>disposition-type (symbol).
-</dd>
-<dt>parameters<dd>Content-Disposition \e$BMs$N\e(B parameter (\e$BO"A[\e(B list).
-</dd>
-</vl>
-</define>
-
-<defun name="mime-content-disposition-parameter">
-<args> content-disposition parameter
-<p>
-<var>content-disposition</var> \e$B$N\e(B <var>parameter</var> \e$B$NCM$rJV$9!#\e(B
-</defun>
-
-<defun name="mime-content-disposition-filename">
-<args> content-disposition
-<p>
-<var>content-disposition</var> \e$B$N\e(B filename \e$B$NCM$rJV$9!#\e(B
-</defun>
-
-
-<h2> Parser for Content-Disposition field
-<node> Content-Disposition parser
-<p>
-<defun name="mime-parse-Content-Disposition">
-           <args> string
-<p>
-<var>string</var> \e$B$r\e(B content-disposition \e$B$H$7$F2r@O$7$?7k2L$rJV$9!#\e(B
-</defun>
-
-<defun name="mime-read-Content-Disposition">
-<p>
-\e$B8=:_$N\e(B buffer \e$B$N\e(B Content-Disposition \e$BMs$rFI$_<h$j!"2r@O$7$?7k2L$rJV$9!#\e(B
-<p>
-Content-Disposition \e$BMs$,B8:_$7$J$$>l9g$O\e(B nil \e$B$rJV$9!#\e(B
-</defun>
-
-
-<h1> Encoding Method
-<node> Content-Transfer-Encoding
-<p>
-<concept>Content-Transfer-Encoding \e$BMs\e(B</concept> \e$B$O\e(B entity \e$B$NId9f2=K!$r5-\e(B
-\e$B=R$9$k$?$a$N$b$N$G$9!#\e(B
-<p>
-FLIM \e$B$G$O\e(B Content-Transfer-Encoding \e$BMs$r9=J82r@O$9$k4X?t$rDs6!$7$^$9!#$3\e(B
-\e$B$l$i$N4X?t$O\e(B Content-Transfer-Encoding \e$BMs$N>pJs$OJ8;zNs$GI=8=$7$^$9!#\e(B
-<p>
-\e$B$^$?!"\e(BContent-Transfer-Encoding \e$B$K4p$E$$$FId9f2=!&I|9f2=$r9T$&4X?t$bDs\e(B
-\e$B6!$5$l$^$9!#\e(B
-
-
-<h2> Parser
-<node> Content-Transfer-Encoding parser
-<p>
-<defun name="mime-parse-Content-Transfer-Encoding">
-         <args> string
-<p>
-<var>string</var> \e$B$r\e(B content-transfer-encoding \e$B$H$7$F2r@O$7$?7k2L$rJV$9!#\e(B
-</defun>
-
-<defun name="mime-read-Content-Transfer-Encoding">
-         <opts>default-encoding
-<p>
-\e$B8=:_$N\e(B buffer \e$B$N\e(B Content-Transfer-Encoding \e$BMs$rFI$_<h$j!"2r@O$7$?7k2L$r\e(B
-\e$BJV$9!#\e(B
-<p>
-Content-Transfer-Encoding \e$BMs$,B8:_$7$J$$>l9g$O\e(B
-<var>default-encoding</var> \e$B$rJV$9!#\e(B
-</defun>
-
-
-<h2> Region encoding/decoding
-<node> Region encoder/decoder
-<p>
-<defun name="mime-encode-region">
-           <args> start end encoding
-<p>
-Encode region <var>start</var> to <var>end</var> of current buffer
-using <var>encoding</var>.
-</defun>
-
-<defun name="mime-decode-region">
-           <args> start end encoding
-<p>
-Decode region <var>start</var> to <var>end</var> of current buffer
-using <var>encoding</var>.
-</defun>
-
-<defvar name="mime-encoding-method-alist">
-<p>
-Alist of encoding vs. corresponding method to encode region.
-<p>
-Each element looks like <code>(STRING . FUNCTION)</code> or
-<code>(STRING . nil)</code>.  <var>string</var> is
-content-transfer-encoding.  <code>function</code> is region encoder
-and <code>nil</code> means not to encode.
-</defvar>
-
-<defvar name="mime-decoding-method-alist">
-<p>
-Alist of encoding vs. corresponding method to decode region.
-<p>
-Each element looks like <code>(STRING . FUNCTION)</code> or
-<code>(STRING . nil)</code>.  <var>string</var> is
-content-transfer-encoding.  <code>function</code> is region decoder
-and <code>nil</code> means not to decode.
-</defvar>
-
-
-<h2> String encoding/decoding
-<node> String encoder/decoder
-<p>
-<defun name="mime-decode-string">
-             <args> string encoding
-<p>
-<var>string</var> \e$B$r\e(B <var>encoding</var> \e$B$H$7$FI|9f$7$?7k2L$rJV$7$^$9!#\e(B
-</defun>
-
-<defvar name="mime-string-decoding-method-alist">
-<p>
-Alist of encoding vs. corresponding method to decode string.
-<p>
-Each element looks like <code>(STRING . FUNCTION)</code>.
-STRING is content-transfer-encoding.
-FUNCTION is string decoder.
-</defvar>
-
-
-<h2> File encoding/decoding
-<node> File encoder/decoder
-<p>
-<defun name="mime-insert-encoded-file">
-           <args> filename encoding
-<p>
-Insert file <var>FILENAME</var> encoded by <var>ENCODING</var> format.
-</defun>
-
-<defun name="mime-write-decoded-region">
-             <args> start end filename encoding
-<p>
-Decode and write current region encoded by <var>encoding</var> into
-<var>filename</var>.
-<p>
-<var>start</var> and <var>end</var> are buffer positions.
-</defun>
-
-<defvar name="mime-file-encoding-method-alist">
-<p>
-Alist of encoding vs. corresponding method to insert encoded file.
-<p>
-Each element looks like <code>(STRING . FUNCTION)</code>.  STRING is
-content-transfer-encoding.  FUNCTION is function to insert encoded
-file.
-</defvar>
-
-<defvar name="mime-file-decoding-method-alist">
-<p>
-Alist of encoding vs. corresponding method to write decoded region to
-file.
-<p>
-Each element looks like <code>(STRING . FUNCTION)</code>.  STRING is
-content-transfer-encoding.  FUNCTION is function to write decoded
-region to file.
-</defvar>
-
-
-<h1> Network representation of header
-<node> encoded-word
-<p>
-encoded-word \e$B$O\e(B header \e$B$GHs\e(B <dref>ASCII</dref> \e$BJ8;z$rI=8=$9$k$?$a$N7A\e(B
-\e$B<0$G!"\e(B<concept>RFC 2047</concept> \e$B$GDj5A$5$l$F$$$^$9!#\e(B
-<p>
-<rfc number="2047" type="Standards Track" author="K. Moore"
-             title="MIME (Multipurpose Internet Mail Extensions) Part
-             Three: Message Header Extensions for Non-ASCII Text"
-             date="November 1996" obsolete="1521,1522,1590">
-<p>
-\e$B$^$?!"9T57$N0-$$$3$H$@$H8@$($^$9$,!"\e(Bencoded-word \e$B$rMQ$$$:$KHs\e(B 
-<dref>ASCII</dref> \e$BJ8;z$r\e(B header \e$B$KF~$l$?5-;v$bB8:_$7$^$9!#\e(B
-<p>
-FLIM \e$B$O$3$l$i$rId9f2=!&I|9f2=$9$k5!G=$rDs6!$7$^$9!#\e(B
-
-
-<h2> Header encoding/decoding
-<node> Header encoder/decoder
-<p>
-<defun name="eword-encode-header">
-             <opts> code-conversion separator
-<p>
-Decode MIME encoded-words in header fields.
-<p>
-If <var>code-conversion</var> is <code>nil</code>, it decodes only
-encoded-words.  If it is mime-charset, it decodes non-ASCII bit
-patterns as the mime-charset.  Otherwise it decodes non-ASCII bit
-patterns as the default-mime-charset.
-<p>
-If <var>separator</var> is not nil, it is used as header separator.
-</defun>
-
-<defun name="eword-encode-header">
-             <opts> code-conversion
-<p>
-Encode header fields to network representation, such as MIME
-encoded-word.
-<p>
-It refer variable <code>eword-field-encoding-method-alist</code>.
-</defun>
-
-
-<h1> Various Customization
-<node> custom
-<p>
-<define type="group" name="mime">
-<p>
-MIME \e$B4XO"5!G=$K4X$9$k\e(B group.
-<p>
-<code>mail</code> \e$B$H\e(B <code>news</code> \e$B$KB0$9$k!#\e(B
-</define>
-
-<defvar name="default-mime-charset">
-<p>
-\e$BE,@Z$J\e(B <dref>MIME charset</dref> \e$B$,8+$D$+$i$J$+$C$?>l9g$KMQ$$$i$l$k\e(B
-MIME charset.
-<p>
-\e$BK\Mh$O\e(B APEL \e$B$NJQ?t$G$"$k!#\e(B
-</defvar>
-
-<defvar name="mime-temp-directory">
-<p>
-MIME \e$B5!G=$K4X$9$k<BAu$,0l;~E*$K;HMQ$9$k\e(B file \e$B$r:n@.$9$k\e(B directory.
-<p>
-\e$B4D6-JQ?t\e(B <code>MIME_TMP_DIR</code>, <code>TM_TMP_DIR</code>,
-<code>TMPDIR</code>, <code>TMP</code> \e$B$b$7$/$O\e(B <code>TEMP</code> \e$B$,@_Dj\e(B
-\e$B$5$l$F$$$?>l9g!"$=$l$r=i4|CM$H$7$FMQ$$$k!#2?$b@_Dj$5$l$F$$$J$$>l9g!"\e(B
-<code>"/tmp/"</code> \e$B$rMQ$$$k!#\e(B
-</defvar>
-
-
-<h1> Appendix
-<node> Appendix
-
-<h2> Glossary
-<node> Glossary
-
-<h3> 7bit
-<node> 7bit
-<p>
-<concept>7bit</concept> means any integer between 0 .. 127.
-<p>
-Any data represented by 7bit integers is called <concept>7bit
-data</concept>.
-<p>
-Textual string consisted of Control characters between 0 .. 31 and
-127, and space represented by 32, and graphic characters between 33
-.. 236 are called <concept>7bit (textual) string</concept>.
-<p>
-Conventional Internet <a node="MTA">MTA</a> can translate 7bit data,
-so it is no need to translate by <a
-node="Quoted-Printable">Quoted-Printable</a> or <a
-node="Base64">Base64</a> for 7bit data.
-<p>
-However if there are too long lines, it can not translate by 7bit MTA
-even if it is 7bit data.  <dref>RFC 821</dref> and <dref>RFC
-2045</dref> require lines in 7bit data must be less than 998 bytes.
-So if a ``7bit data'' has a line more than 999 bytes, it is regarded
-as <dref>binary</dref>.  For example, Postscript file should be
-encoded by Quoted-Printable.
-
-
-<h3> 8bit
-<node> 8bit
-<p>
-<concept>8bit</concept> means any integer between 0 .. 255.
-<p>
-Any data represented by 8bit integers is called <concept>8bit
-data</concept>.
-<p>
-Textual string consisted of Control characters between 0 .. 31, 127,
-and 128 .. 159, and space represented by 32, and graphic characters
-between 33 .. 236 and 160 .. 255 are called <concept>8bit (textual)
-string</concept>.
-<p>
-For example, <dref>iso-8859-1</dref> or <dref>euc-kr</dref> are
-coded-character-set represented by 8bit textual string.
-<p>
-Traditional Internet <a node="MTA">MTA</a> can translate only
-<dref>7bit</dref> data, so if a 8bit data will be translated such MTA,
-it must be encoded by <dref>Quoted-Printable</dref> or
-<dref>Base64</dref>.
-<p>
-However 8bit MTA are increasing today.
-<p>
-However if there are too long lines, it can not translate by 8bit MTA
-even if it is 8bit data.  <dref>RFC 2045</dref> require lines in 8bit
-data must be less than 998 bytes.  So if a ``8bit data'' has a line
-more than 999 bytes, it is regarded as <dref>binary</dref>, so it must
-be encoded by Base64 or Quoted-Printable.
-
-
-<h3> ASCII
-<node> ASCII
-<p>
-<concept>ASCII</concept> is a 94-character set contains primary latin
-characters (A-Z, a-z), numbers and some characters.  It is a standard
-of the United States of America.  It is a variant of <a node="ISO
-646">ISO 646</a>.
-
-<standard abbrev="ASCII" title-en="Coded Character Set -- 7-Bit
-             American Standard Code for Information Interchange"
-             number="ANSI X3.4" year="1986">
-
-
-<h3> Base64
-<node> Base64
-<p>
-<concept>Base64</concept> is a transfer encoding method of
-<dref>MIME</dref> defined in <dref>RFC 2045</dref>.
-<p>
-The encoding process represents 24-bit groups of input bits as output
-strings of 4 encoded characters.  Encoded characters represent integer
-0 .. 63 or <concept>pad</concept>.  Base64 data must be 4 * n bytes,
-so pad is used to adjust size.
-<p>
-These 65 characters are subset of all versions of ISO 646, including
-US-ASCII, and all versions of EBCDIC.  So it is safe even if it is
-translated by non-Internet gateways.
-
-
-<h3> binary
-<node> binary
-<p>
-Any byte stream is called <concept>binary</concept>.
-<p>
-It does not require structureof lines.  It differs from from <a
-node="8bit">8bit</a>.
-<p>
-In addition, if line structured data contain too long line (more than
-998 bytes), it is regarded as binary.
-
-
-<h3> Coded character set, Character code
-<node> coded character set
-<p>
-A set of unambiguous rules that establishes a character set and the
-one-to-one relationship between the characters of the set and their
-bit combinations.
-
-
-<h3> media-type
-<node> media-type
-<p>
-<concept>media-type</concept> specifies the nature of the data in the
-body of <dref>MIME</dref> <dref>entity</dref>.  It consists of
-<concept>type</concept> and <concept>subtype</concept>.  It is defined
-in <dref>RFC 2046</dref>.
-<p>
-Currently there are following standard primary-types:
-
-<ul>
-<li><concept>text</concept>
-</li>
-<li><concept>image</concept>
-</li>
-<li><concept>audio</concept>
-</li>
-<li><concept>video</concept>
-</li>
-<li><concept>application</concept>
-</li>
-<li><a node="multipart"><concept>multipart</concept></a>
-</li>
-<li><concept>message</concept>
-</ul>
-
-<p>
-And there are various subtypes, for example, application/octet-stream,
-audio/basic, image/jpeg, <dref>multipart/mixed</dref>,
-<dref>text/plain</dref>, video/mpeg...
-
-<p>
-You can refer registered media types at <a
-href="ftp://ftp.isi.edu/in-notes/iana/assignments/media-types">MEDIA
-TYPES</a>.
-<p>
-In addition, you can use private type or subtype using
-<concept>x-token</concept>, which as the prefix `x-'.  However you can
-not use them in public.
-<p>
-<cf node="Content-Type field">
-
-
-<h3> message
-<node> message
-<p>
-In this document, it means mail defined in <dref>RFC 822</dref> and
-news message defined in <dref>RFC 1036</dref>.
-
-
-<h3> MIME
-<node> MIME
-<p>
-MIME stands for <concept>Multipurpose Internet Mail
-Extensions</concept>, it is an extension for <dref>RFC 822</dref>.
-<p>
-According to RFC 2045:
-<p>
-STD 11, RFC 822, defines a message representation protocol specifying
-considerable detail about US-ASCII message headers, and leaves the
-message content, or message body, as flat US-ASCII text.  This set of
-documents, collectively called the Multipurpose Internet Mail
-Extensions, or MIME, redefines the format of messages to allow for
-
-<ol>
-<li>textual message bodies in character sets other than US-ASCII,
-</li>
-<li>an extensible set of different formats for non-textual message
-bodies,
-</li>
-<li>multi-part message bodies, and
-</li>
-<li>textual header information in character sets other than US-ASCII.
-</ol>
-
-<p>
-It is defined in <dref>RFC 2045</dref>, <dref>RFC 2046</dref>, <a
-node="encoded-word">RFC 2047</a>, <dref>RFC 2048</dref> and <dref>RFC
-2049</dref>.
-
-
-<h3> MIME charset
-<node> MIME charset
-<p>
-<a node="coded character set">Coded character set</a> used in
-<dref>Content-Type field</dref> or charset parameter of <a
-node="encoded-word">encoded-word</a>.
-<p>
-It is defined in <dref>RFC 2045</dref>.
-<p>
-<dref>iso-2022-jp</dref> or <dref>euc-kr</dref> are kinds of it.  (In
-this document, MIME charsets are written by small letters to
-distinguish <dref>graphic character set</dref>.  For example, ISO
-8859-1 is a graphic character set, and iso-8859-1 is a MIME charset)
-
-
-<h3> MTA
-<node> MTA
-<p>
-<concept>Message Transfer Agent</concept>.  It means mail transfer
-programs (ex. sendmail) and news servers.
-<p>
-<cf node="MUA">
-
-
-<h3> MUA
-<node> MUA
-<p>
-<concept>Message User Agent</concept>.  It means mail readers and news
-readers.
-<p>
-<cf node="MTA">
-
-
-<h3> Quoted-Printable
-<node> Quoted-Printable
-<p>
-<concept>Quoted-Printable</concept> is a transfer encoding method of
-<dref>MIME</dref> defined in <dref>RFC 2045</dref>.
-<p>
-If the data being encoded are mostly US-ASCII text, the encoded form
-of the data remains largely recognizable by humans.
-<p>
-<cf node="Base64">
-
-
-<h3> RFC 822
-<node> RFC 822
-<p>
-A RFC defines format of Internet mail message, mainly <concept>message
-header</concept>.
-
-<memo>
-<p>
-news message is based on RFC 822, so <concept>Internet
-message</concept> may be more suitable than <concept>Internet
-mail</concept> .
-</memo>
-
-<rfc number="822" type="STD 11" author="D. Crocker" title="Standard
-             for the Format of ARPA Internet Text Messages"
-             date="August 1982">
-
-
-<h3> RFC 1036
-<node> RFC 1036
-<p>
-A RFC defines format of USENET message.  It is a subset of <dref>RFC
-822</dref>.  It is not Internet standard, but a lot of netnews
-excepting Usenet uses it.
-
-<rfc name="USENET" number="1036" author="M. Horton and R. Adams"
-             title="Standard for Interchange of USENET Messages"
-             date="December 1987" obsolete="850">
-
-
-<h3> RFC 2045
-<node> RFC 2045
-<p>
-<rfc number="2045" type="Standards Track" author="N. Freed and
-             N. Borenstein" title="Multipurpose Internet Mail
-             Extensions (MIME) Part One: Format of Internet Message
-             Bodies" date="November 1996" obsolete="1521, 1522,
-             1590">
-
-
-<h3> RFC 2046
-<node> RFC 2046
-<p>
-<rfc number="2046" type="Standards Track" author="N. Freed and
-             N. Borenstein" title="Multipurpose Internet Mail
-                 Extensions (MIME) Part Two: Media Types"
-                 date="November 1996" obsolete="1521, 1522, 1590">
-
-
-<h3> RFC 2048
-<node> RFC 2048
-<p>
-<rfc number="2048" type="Standards Track" author="N. Freed, J. Klensin
-             and J. Postel" title="Multipurpose Internet Mail
-             Extensions (MIME) Part Four: Registration Procedures"
-             date="November 1996" obsolete="1521, 1522, 1590">
-
-
-<h3> RFC 2049
-<node> RFC 2049
-<p>
-<rfc number="2049" type="Standards Track" author="N. Freed and
-             N. Borenstein" title="Multipurpose Internet Mail
-             Extensions (MIME) Part Five: Conformance Criteria and
-             Examples" date="November 1996" obsolete="1521, 1522,
-             1590">
-
-
-<h3> plain text
-<node> plain text
-<p>
-A textual data represented by only <dref>coded character set</dref>.
-It does not have information about font or typesetting.
-<cf node="text/plain">
-
-
-<h3> us-ascii
-<node> us-ascii
-<p>
-A <a node="MIME charset">MIME charset</a> for primary Latin script
-mainly written by English or other languages.
-<p>
-It is a 7bit <dref>coded character set</dref> based on <dref>ISO
-2022</dref>, it contains only
-<dref>ASCII</dref> and <dref>code extension</dref> is not allowed.
-<p>
-It is standard coded character set of Internet mail.  If MIME charset
-is not specified, <concept>us-ascii</concept> is used as default.
-<p>
-In addition, <concept>ASCII</concept> of <dref>RFC 822</dref> should
-be interpreted as us-ascii.
-
-
-<h2> How to report bugs
-<node> Bug report
-<p>
-If you write bug-reports and/or suggestions for improvement, please
-send them to the tm Mailing List:
-
-<ul>
-<li> Japanese <mail>bug-tm-ja@chamonix.jaist.ac.jp</mail>
-<li> English <mail>bug-tm-en@chamonix.jaist.ac.jp</mail>
-</ul>
-
-<p>
-Notice that, we do not welcome bug reports about too old version.
-Bugs in old version might be fixed.  So please try latest version at
-first.
-<p>
-You should write <concept>good bug report</concept>.  If you write
-only ``FLIM does not work'', we can not find such situations.  At
-least, you should write name, type, variants and version of OS, emacs,
-APEL, FLIM, SEMI and MUA, and setting.  In addition, if error occurs,
-to send backtrace is very important. <cf file="emacs" node="Bugs">
-<p>
-Bug may not appear only your environment, but also in a lot of
-environment (otherwise it might not bug).  Therefor if you send mail
-to author directly, we must write a lot of mails.  So please send mail
-to address for tm bugs instead of author.
-
-<p>
-Via the tm ML, you can report FLIM bugs, obtain the latest release of
-FLIM, and discuss future enhancements to FLIM.  To join the tm ML,
-send empty e-mail to:
-
-<ul>
-<li> Japanese <mail>tm-ja-help@chamonix.jaist.ac.jp</mail>
-<li> English  <mail>tm-en-help@chamonix.jaist.ac.jp</mail>
-</ul>
-
-
-<h2> CVS based development
-<node> CVS
-<p>
-FLIM \e$B$N\e(B file \e$B$O\e(B CVS \e$B$r;H$C$F4IM}$5$l$F$$$^$9!#$3$N$?$a!"0J2<$NJ}K!$G:G\e(B
-\e$B?7$N\e(B FLIM \e$B$rF~<j$9$k$3$H$,$G$-$^$9!'\e(B
-
-<verb>
-(0) cvs login
-
-    % cvs -d :pserver:anonymous@chamonix.jaist.ac.jp:/hare/cvs/root \
-       login
-
-    CVS password: [CR] # NULL string
-
-(1) checkout
-
-    % cvs -d :pserver:anonymous@chamonix.jaist.ac.jp:/hare/cvs/root \
-       checkout [-r TAG] flim
-</verb>
-
-<p>
-CVS \e$B$rMQ$$$?3+H/$K;22C$7$?$$J}$O\e(B
-
-<ul>
-<li> <mail>cvs@chamonix.jaist.ac.jp</mail>
-</ul>
-
-<noindent>
-\e$B$^$G!"\e(Baccount \e$BL>$H\e(B UNIX \e$B$N\e(B passwd \e$B$HF1$87A<0$N\e(B crypt \e$B2=$5$l$?\e(B password
-\e$B$r1h$($F8fO"Mm$/$@$5$$!#\e(B
-
-
-<h2> History of FLIM
-<node> History
-<p>
-FLIM \e$B$N\e(B code \e$B$N:G8E$NItJ,$O\e(B \e$B1]JB\e(B \e$B;LCR\e(B \e$B;a$,=q$$$?\e(B <file>mime.el</file>
-\e$B$K5/8;$7$^$9!#$3$N>.$5$J\e(B program \e$B$O\e(B Nemacs \e$B$GF0:n$9$k\e(B iso-2022-jp \e$B$N\e(B 
-B-encoding \e$B@lMQ$N\e(B encoded-word \e$B$NI|9f2=%W%m%0%i%`$G$7$?!#\e(B
-<p>
-\e$B$=$N8e!"<i2,\e(B \e$BCNI'\e(B \e$B$O\e(B <file>mime.el</file> \e$B$r85$K\e(B
-<file>tiny-mime.el</file> \e$B$H$$$&%W%m%0%i%`$r=q$-$^$9!#$3$l$O!"\e(BNemacs 
-\e$B$H\e(B Mule \e$B$GF0:n$9$k\e(B encoded-word \e$B$NId9f2=!&I|9f2=%W%m%0%i%`$G$7$?!#\e(B
-<file>tiny-mime.el</file> \e$B$O\e(B B-encoding \e$B$@$1$G$J$/\e(B Q-encoding \e$B$b\e(B
-support \e$B$7!"$^$?!"\e(BMULE \e$B$G07$&$3$H$,$G$-$k$5$^$6$^$J\e(B <dref>MIME
-charset</dref> \e$B$rF1;~$K;H$&$3$H$,$G$-$^$7$?!#$3$N;~!"\e(BNemacs \e$B$H\e(B Mule \e$B$N\e(B
-\e$BAPJ}$r\e(B support \e$B$9$k$?$a$KMQ$$$i$l$?%F%/%K%C%/$O8e$K\e(B emu package \e$B$K$^$H\e(B
-\e$B$a$i$l$^$9!#\e(B
-<p>
-\e$B$3$N:"!"<i2,\e(B \e$BCNI'\e(B \e$B$O\e(B <file>tiny-mime.el</file> \e$B$r$5$^$6$^$J\e(B MUA \e$B$G;H$&\e(B
-\e$B$?$a$N@_Dj=8$bG[I[$7$F$$$^$7$?$,!"$=$l$i$O8e$K\e(B
-<file>tiny-mime.el</file> \e$B$H$H$b$K#1$D$N\e(B package \e$B$K$^$H$a$i$l!"\e(Btm \e$B$H$$\e(B
-\e$B$&L>A0$GG[I[$5$l$^$9!#\e(B
-<p>
-\e$B<i2,\e(B \e$BCNI'\e(B \e$B$O$d$,$F!"\e(BMIME message \e$B$r1\Mw$9$k$?$a$N%W%m%0%i%`$G$"$k\e(B
-<file>tm-body.el</file> \e$B$r=q$-$^$9!#$3$l$O!"$9$0$K\e(B
-<file>tm-view.el</file> \e$B$H$$$&L>A0$KJQ$o$j$^$7$?$,!"$d$,$F!"$3$l$,\e(B
-<file>tiny-mime.el</file> \e$B$KBe$o$C$F!"\e(Btm \e$B$NCf3K$H$J$j$^$9!#\e(B
-<p>
-<file>tm-view.el</file> \e$B$OEvA3!"\e(BContent-Transfer-Encoding \e$B$r07$&I,MW$,\e(B
-\e$B$"$j$^$9!#$3$NL\E*$N$?$a$K!"\e(BMEL \e$B$,@0Hw$5$l$O$8$a$^$7$?!#\e(BBase64 \e$B$K4X$7\e(B
-\e$B$F$O\e(B <file>tiny-mime.el</file> \e$B$N\e(B code \e$B$,0\$5$l!"$^$?!"?7$?$K\e(B
-Quoted-Printable \e$B$N\e(B code \e$B$,DI2C$5$l$^$7$?!#$3$l$i$,\e(B
-<file>mel-b.el</file> \e$B$H\e(B <file>mel-q.el</file> \e$B$K$J$j$^$7$?!#\e(B
-<p>
-\e$B$^$?!"8e$K!"<i2,\e(B \e$BCNI'\e(B \e$B$K$h$C$F\e(B uuencode \e$BMQ$N\e(B <file>mel-u.el</file> \e$B$,\e(B
-\e$BDI2C$5$l!"$=$N8e$K!">.NS\e(B \e$B=$J?\e(B \e$B;a$K$h$C$F\e(B x-gzip64 \e$BMQ$N\e(B
-<file>mel-g.el</file> \e$B$,DI2C$5$l$^$7$?!#\e(B
-<p>
-tm \e$B$G$O8e$K!"<i2,\e(B \e$BCNI'\e(B \e$B$K$h$C$F\e(B <file>tiny-mime.el</file> \e$B$N:F<BAu$,9T\e(B
-\e$B$o$l!"$3$N2aDx$G!"\e(BSTD 11 \e$B$N\e(B parser \e$B$,=q$+$l$^$7$?!#$3$l$O!"8=:_$N\e(B 
-<file>std11.el</file> \e$B$KEv$?$j$^$9!#$^$?!"$3$N2aDx$G\e(B 
-<file>tiny-mime.el</file> \e$B$OI|9f2=$r9T$&\e(B <file>tm-ew-d.el</file> \e$B$HId\e(B
-\e$B9f2=$r9T$&\e(B <file>tm-ew-e.el</file> \e$B$KJ,$1$i$l$^$7$?!#$3$NN><T$,8=:_$N\e(B 
-<file>eword-decode.el</file> \e$B$H\e(B <file>eword-encode.el</file> \e$B$N@hAD$K\e(B
-\e$BEv$?$j$^$9!#\e(B
-<p>
-\e$B8e$K!"<i2,\e(B \e$BCNI'\e(B \e$B$i$K$h$C$F\e(B tm \e$B$NA4LL=q$-49$(:n6H$,9T$o$l!"$3$N2aDx$G!"\e(B
-tm \e$B$O\e(B APEL, MEL, SEMI, EMH, RMAIL-MIME, Gnus-MIME \e$B$J$I$KJ,$1$i$l$^$7$?!#\e(B
-\e$B$3$N$&$A$N\e(B MEL \e$B$,\e(B FLIM \e$B$ND>@\$N@hAD$KEv$?$j$^$9!#\e(B
-<p>
-\e$B8e$K!"\e(BAPEL \e$B$+$i\e(B <file>std11.el</file> \e$B$,0\$5$l!"$^$?!"\e(B
-<file>mailcap.el</file>, <file>eword-decode.el</file> \e$B$*$h$S\e(B 
-<file>eword-encode.el</file> \e$B$,\e(B SEMI \e$B$+$i0\$5$l!"\e(Bpackage \e$B$NL>A0$,\e(B FLIM
-\e$B$H$J$j$^$9!#\e(B
-<p>
-\e$B$3$ND>A0$+$iEDCf\e(B \e$BE/\e(B \e$B;a$,$h$j\e(B RFC \e$B$KCi<B$J<BAu$r=q$-;O$a!"$3$l$O!"8=:_!"\e(B
-FLIM \e$B$N;^$G$"$k\e(B ``FLIM-FLAM'' \e$B$H$J$C$F$$$^$9!#\e(B
-
-
-<h1> Concept Index
-<node> Concept Index
-
-<cindex>
-
-
-<h1> Function Index
-<node> Function Index
-
-<findex>
-
-
-<h1> Variable Index
-<node> Variable Index
-
-<vindex>
-
-</body>
diff --git a/mime-en.texi b/mime-en.texi
deleted file mode 100644 (file)
index a95ec3d..0000000
+++ /dev/null
@@ -1,1474 +0,0 @@
-\input texinfo.tex
-@setfilename mime-en.info
-@settitle{FLIM 1.9 Manual about MIME Features}
-@titlepage
-@title FLIM 1.9 Manual about MIME Features
-@author MORIOKA Tomohiko <morioka@@jaist.ac.jp>
-@subtitle 1998/07/01
-@end titlepage
-@node Top, Introduction, (dir), (dir)
-@top FLIM 1.9 Manual about MIME Features
-
-@ifinfo
-
-This file documents MIME features of FLIM, a Internet message
-parsing/encoding library for GNU Emacs.
-@end ifinfo
-
-@menu
-* Introduction::                What is FLIM?
-* How to use::                  How to use MIME features
-* Entity::                      Message and Entity
-* Content-Type::                Information of Content-Type field
-* Content-Disposition::         Information of Content-Disposition field
-* Content-Transfer-Encoding::   Encoding Method
-* encoded-word::                Network representation of header
-* custom::                      Various Customization
-* Appendix::                    
-* Concept Index::               
-* Function Index::              
-* Variable Index::              
-@end menu
-
-@node Introduction, How to use, Top, Top
-@chapter What is FLIM?
-
-FLIM is a library to provide basic features about message
-representation or encoding.
-
-
-@node How to use, Entity, Introduction, Top
-@chapter How to use MIME features
-
-Please eval following to use MIME features provided by FLIM:
-
-@lisp
-(require 'mime)
-@end lisp
-
-
-
-@node Entity, Content-Type, How to use, Top
-@chapter Message and Entity
-@cindex node-id
-@cindex entity-number
-@cindex mime-entity
-@cindex entity
-
-According to RFC 2045 (@ref{RFC 2045}), `The term ``entity'', refers
-specifically to the MIME-defined header fields and contents of either a
-message or one of the parts in the body of a multipart entity.'  In this
-document, the term @strong{entity} indicates all of header fields and
-body.@refill
-
-The definition of RFC 2045 indicates that a MIME message is a tree.  An
-message is a tree, each node is an entity, like following figure.
-Namely MIME extends message to tree structure.@refill
-
-FLIM uses @strong{mime-entity} structure to represent information of
-entity.  In this document, it is called simply `mime-entity'.@refill
-
-\e$BA0=R$N$h$&$K!"\e(Bmessage \e$BCf$N3F\e(B entity \e$B$OLZ$N@a$KEv$?$j$^$9$,!"$3$NLZ$K$O\e(B
-\e$B?<$5$HF1$8?<$5$NCf$N=gHV$K=>$C$FHV9f$,IU$1$k$3$H$,$G$-$^$9!#B($A!"\e(B
-@example
-
-                              \e$B(#(!(!(!($\e(B
-                              \e$B("\e(B  nil \e$B("\e(B
-                              \e$B(&(!(((!(%\e(B
-              \e$B(#(!(!(!(!(!(!(!(!(!(+(!(!(!(!(!(!(!(!(!($\e(B
-            \e$B(#(*($\e(B              \e$B(#(*($\e(B              \e$B(#(*($\e(B
-            \e$B("#0("\e(B              \e$B("#1("\e(B              \e$B("#2("\e(B
-            \e$B(&(((%\e(B              \e$B(&(((%\e(B              \e$B(&(((%\e(B
-              \e$B("\e(B        \e$B(#(!(!(!(!(+(!(!(!(!($\e(B        \e$B("\e(B
-          \e$B(#(!(*(!($(#(!(*(!($(#(!(*(!($(#(!(*(!($(#(!(*(!($\e(B
-          \e$B("\e(B \e$B#0\e(B.\e$B#0("("\e(B \e$B#1\e(B.\e$B#0("("\e(B \e$B#1\e(B.\e$B#1("("\e(B \e$B#1\e(B.\e$B#2("("\e(B \e$B#2\e(B.\e$B#0("\e(B
-          \e$B(&(!(!(!(%(&(!(!(!(%(&(!(!(!(%(&(!(!(!(%(&(!(!(!(%\e(B
-@end example
-
-@noindent
-\e$B$N$h$&$K?<$5\e(B n \e$B$N@a$K$OD9$5\e(B n \e$B$N@0?tNs$N@aHV9f$,?6$l$^$9!#$3$l\e(B
-\e$B$r\e(B @strong{entity-number} \e$B$H8F$S$^$9!#\e(Bentity-number \e$B$O\e(B S \e$B<0$H\e(B
-\e$B$7$F$O\e(B @code{(1 2 3)} \e$B$N$h$&$J@0?t$N%j%9%H$H$7$FI=8=$5$l$^$9!#\e(B
-
-mime-entity \e$B$G$O!"$3$l$HF1MM$N\e(B @strong{node-id} \e$B$rMQ$$$^$9!#\e(Bnode-id \e$B$O$A$g\e(B
-\e$B$&$I\e(B entity-number \e$B$r5U$K$7$?%j%9%H$G!"\e(Bentity-number 1.2.3 \e$B$KBP1~$9$k\e(B 
-node-id \e$B$O\e(B @code{(3 2 1)} \e$B$G$9!#\e(B@refill
-
-\e$BA0=R$N$h$&$K!"\e(BMIME message \e$B$O\e(B entity \e$B$rC10L$H$7$?LZ9=B$$K$J$C$F$$$k$N$G!"\e(B
-\e$B$3$N:,$G$"$k\e(B message \e$BA4BN$b\e(B mime-entity \e$B$GI=8=$9$k$3$H$,$G$-!"\e(Bbuffer
-local \e$BJQ?t\e(B @code{mime-message-structure} \e$B$K3JG<$9$k$3$H$K$7$^$9!#\e(B
-\e$B$=$7$F!"\e(Bentity-number \e$B$d\e(B node-id \e$B$rMQ$$$k$3$H$G\e(B 
-@code{mime-message-structure} \e$B$K$*$1$k\e(B entity \e$B$NAjBPE*$J0LCV4X78$r\e(B
-\e$B07$&$3$H$,$G$-$^$9!#\e(B
-
-
-@menu
-* Entity creation::             Functions to create mime-entity
-* Entity hierarchy::            Features about message tree
-* Entity Attributes::           Functions about attributes of mime-entity
-* Entity-header::               Information of entity header
-* Entity-content::              Contents of Entity
-* Entity buffer::               Entity as buffer representation
-* mm-backend::                  Entity representations and implementations
-@end menu
-
-@node Entity creation, Entity hierarchy, Entity, Entity
-@section Functions to create mime-entity
-
-@defun mime-open-entity &optional  type location
-
-Open an entity and return it.@refill
-
-@var{type} is representation-type. (cf. @ref{mm-backend}) @refill
-
-@var{location} is location of entity.  Specification of it is depended
-on representation-type.
-@end defun
-
-
-@defun mime-parse-buffer &optional  buffer type
-
-Parse @var{buffer} as message, and set the result to buffer local
-variable @code{mime-message-structure} of @var{buffer} as
-mime-entity.@refill
-
-If @var{buffer} is omitted, current buffer is used.@refill
-
-@var{type} is representation-type of created
-mime-entity. (cf. @ref{mm-backend}) Default value is @var{buffer}.
-@end defun
-
-
-
-@node Entity hierarchy, Entity Attributes, Entity creation, Entity
-@section Features about message tree
-
-@defvar mime-message-structure
-
-Buffer local variable to store mime-entity structure of message.
-@end defvar
-
-
-@defun mime-entity-children entity
-
-Return list of entities included in the @var{entity}.
-@end defun
-
-
-@defun mime-entity-parent entity  &optional  message
-
-Return parent entity of the @var{entity}.@refill
-
-If @var{message} is specified, it is regarded as root instead of
-@code{mime-message-structure}.
-@end defun
-
-
-@defun mime-root-entity-p entity
-
-Return non-@code{nil} if @var{entity} is root entity (message).
-@end defun
-
-
-@defun mime-entity-node-id entity
-
-Return node-id of @var{entity}.
-@end defun
-
-
-@defun mime-entity-number entity
-
-Return entity-number of @var{entity}.
-@end defun
-
-
-@defun mime-find-entity-from-number entity-number  &optional  message
-
-Return entity from @var{entity-number} in @var{message}.@refill
-
-If @var{message} is not specified, @code{mime-message-structure} is
-used.
-@end defun
-
-
-@defun mime-find-entity-from-node-id entity-node-id  &optional  message
-
-Return entity from @var{entity-node-id} in @var{message}.@refill
-
-If @var{message} is not specified, @code{mime-message-structure} is
-used.
-@end defun
-
-
-
-@node Entity Attributes, Entity-header, Entity hierarchy, Entity
-@section Functions about attributes of mime-entity
-
-@defun mime-entity-content-type entity
-
-Return content-type of @var{entity}.  (cf. @ref{mime-content-type})
-@end defun
-
-
-@defun mime-entity-content-disposition entity
-
-Return content-disposition of
-@var{entity}. (cf. @ref{mime-content-disposition})
-@end defun
-
-
-@defun mime-entity-filename entity
-
-Return file name of @var{entity}.
-@end defun
-
-
-@defun mime-entity-encoding entity  &optional  default-encoding
-
-Return content-transfer-encoding of @var{entity}.
-(cf. @ref{Content-Transfer-Encoding}) @refill
-
-If the @var{entity} does not have Content-Transfer-Encoding field, this
-function returns @var{default-encoding}.  If it is nil, @code{"7bit"} is
-used as default value.
-@end defun
-
-
-@defun mime-entity-cooked-p entity
-
-Return non-nil if contents of @var{entity} has been already
-code-converted.
-@end defun
-
-
-
-@node Entity-header, Entity-content, Entity Attributes, Entity
-@section Information of entity header
-
-@defun mime-fetch-field field-name  &optional  entity
-
-Return field-body of @var{field-name} field in header of
-@var{entity}.@refill
-
-The results is network representation.@refill
-
-If @var{entity} is omitted, @code{mime-message-structure} is used as
-default value.@refill
-
-If @var{field-name} field is not found, this function returns
-@code{nil}.
-@end defun
-
-
-@defun mime-read-field field-name  &optional  entity
-
-Parse @var{field-name} field in header of @var{entity}, and return the
-result.@refill
-
-Format of result is depended on kind of field.  For non-structured
-field, this function returns string.  For structured field, it returns
-list corresponding with structure of the field.@refill
-
-Strings in the result will be converted to internal representation of
-Emacs.@refill
-
-If @var{entity} is omitted, @code{mime-message-structure} is used as
-default value.@refill
-
-If @var{field-name} field is not found, this function returns
-@code{nil}.
-@end defun
-
-
-@defun mime-insert-decoded-header entity  &optional  invisible-fields visible-fields
-
-Insert before point a decoded contents of header of @var{entity}.@refill
-
-@var{invisible-fields} is list of regexps to match field-name to hide.
-@var{visible-fields} is list of regexps to match field-name to
-hide.@refill
-
-If a field-name is matched with some elements of @var{invisible-fields}
-and matched with none of @var{visible-fields}, this function don't
-insert the field.
-@end defun
-
-
-
-@node Entity-content, Entity buffer, Entity-header, Entity
-@section Contents of Entity
-
-@defun mime-entity-content entity
-
-Return content of @var{entity} as byte sequence.
-@end defun
-
-
-@defun mime-write-entity-content entity filename
-
-Write content of @var{entity} into @var{filename}.
-@end defun
-
-
-@defun mime-write-entity entity filename
-
-Write representation of @var{entity} into @var{filename}.
-@end defun
-
-
-@defun mime-write-entity-body entity filename
-
-Write body of @var{entity} into @var{filename}.
-@end defun
-
-
-
-@node Entity buffer, mm-backend, Entity-content, Entity
-@section Entity as buffer representation
-
-@defun mime-entity-buffer entity
-
-Return buffer, which contains @var{entity}.
-@end defun
-
-
-@defun mime-entity-point-min entity
-
-Return the start point of @var{entity} in the buffer which contains
-@var{entity}.
-@end defun
-
-
-@defun mime-entity-point-max entity
-
-Return the end point of @var{entity} in the buffer which contains
-@var{entity}.
-@end defun
-
-
-@defun mime-entity-header-start entity
-
-Return the start point of header of @var{entity} in the buffer which
-contains @var{entity}.
-@end defun
-
-
-@defun mime-entity-header-end entity
-
-Return the end point of header of @var{entity} in the buffer which
-contains @var{entity}.
-@end defun
-
-
-@defun mime-entity-body-start entity
-
-Return the start point of body of @var{entity} in the buffer which
-contains @var{entity}.
-@end defun
-
-
-@defun mime-entity-body-end entity
-
-Return the end point of body of @var{entity} in the buffer which
-contains @var{entity}.
-@end defun
-
-
-
-@node mm-backend,  , Entity buffer, Entity
-@section Entity representations and implementations
-@cindex mm-backend
-@cindex entity \e$B=hM}\e(B method
-@cindex representation-type
-
-Entity \e$B$OCj>]2=$5$l$?%G!<%?I=8=$G!"<B:]$N%G!<%?I=8=$H$7$F$OMQES$K1~$8$F\e(B
-\e$B$5$^$6$^$J$b$N$,MxMQ$G$-$k$h$&$K@_7W$5$l$F$$$^$9!#\e(B@refill
-
-\e$B$3$3$G!"\e(Bentity \e$B$,$I$&$$$&<oN`$NI=8=$r9T$C$F$$$k$+$r<($9$N$,\e(B
-@strong{representation-type} \e$B$G!"\e(Bentity \e$B$r@8@.$9$k;~$K$O$3$l$r;XDj$7$^$9!#\e(B
-(cf. @ref{Entity Creation}) @refill
-
-\e$BA0@a$^$G$K=R$Y$FMh$?\e(B entity \e$B$KBP$9$k=hM}$O!"\e(Bentity \e$B$KBP$7$F$=$N=hM}$r0M\e(B
-\e$BMj$9$k$3$H$K$h$C$F<B8=$5$l$F$$$^$9!#\e(BEntity \e$B$O<+J,$N\e(B representation-type 
-\e$B$rCN$C$F$*$j!"$=$N\e(B representation-type \e$B$K1~$8$F<B:]$N=hM}$r9T$&4X?t$r8F\e(B
-\e$B$S=P$7$^$9!#$3$N$h$&$J4X?t$r\e(B @strong{entity \e$B=hM}\e(Bmethod} \e$B$H8F$S$^$9!#$^$?!"\e(B
-representation-type \e$BKh$K$3$N$h$&$J4X?t$r$^$H$a$?$b$N$r\e(B 
-@strong{mm-backend} \e$B$H8F$S$^$9!#\e(B@refill
-
-mm-backend \e$B$O\e(B representation-type \e$B$NL>A0$N@hF,$K\e(B @code{mm} \e$B$H$$$&\e(B
-\e$B@\F,<-$rIU$1$?4X?tL>$+$i$J$k\e(B module \e$B$G!"$=$N\e(B module \e$BL>$OF1MM$K\e(B
-representation-type \e$B$NL>A0$N@hF,$K\e(B @code{mm} \e$B$rIU$1$?$b$N$K$J$C$F\e(B
-\e$B$$$^$9!#$3$N\e(B module \e$B$O\e(B representation-type \e$B$N\e(B entity \e$B$,:G=i$K@8@.$5$l$k\e(B
-\e$B;~$K<+F0E*$K\e(B require \e$B$5$l$^$9!#\e(B
-
-
-@menu
-* Request for entity::          Message-passing for entity
-* mm-backend module::           How to make mm-backend
-@end menu
-
-@node Request for entity, mm-backend module, mm-backend, mm-backend
-@subsection Message-passing for entity
-
-@defun mime-entity-send entity message  &rest  args
-
-@var{entity} \e$B$K\e(B @var{message} \e$B$rAw$k!#\e(B@refill
-
-@var{args} \e$B$O\e(B @var{message} \e$B$N0z?t$G$"$k!#\e(B
-@end defun
-
-
-
-@node mm-backend module,  , Request for entity, mm-backend
-@subsection How to make mm-backend
-
-\e$B!J$9$_$^$;$s!#$=$N$&$A=q$-$^$9\e(B (^_^;\e$B!K\e(B@refill
-
-\e$B!J$H$j$"$($:!"\e(Bmm*.el \e$B$r;29M$K$7$F$/$@$5$$!K\e(B
-
-
-@node Content-Type, Content-Disposition, Entity, Top
-@chapter Information of Content-Type field
-@cindex mime-content-type
-@cindex Content-Type field
-
-@strong{Content-Type field} is a field to indicate kind of contents or
-data format, such as media-type (@ref{media-type}) and MIME charset.  It
-is defined in RFC 2045 (@ref{RFC 2045}).
-
-@noindent
-@strong{[Memo]}
-@quotation
-
-Historically, Content-Type field was proposed in RFC 1049.  In it,
-Content-Type did not distinguish type and subtype, and there are no
-mechanism to represent kind of character code like MIME charset.
-@end quotation
-
-
-FLIM provides parser for Content-Type field and structure
-@strong{mime-content-type} to store information of
-Content-Type field.
-
-
-@menu
-* Content-Type field::          Format of Content-Type field
-* mime-content-type::           mime-content-type structure
-* Content-Type parser::         Parser
-* Content-Type utility::        Utility functions
-@end menu
-
-@node Content-Type field, mime-content-type, Content-Type, Content-Type
-@section Format of Content-Type field
-@cindex parameter
-@cindex subtype
-@cindex type
-
-Content-Type \e$BMs$N7A<0$O0J2<$N$h$&$KDj5A$5$l$F$$$^$9!'\e(B
-
-@quotation
-``Content-Type'' ``:'' @strong{type} ``/''
-@strong{subtype} *( ``;'' @strong{parameter} )
-@end quotation
-
-\e$BNc$($P!"\e(B
-
-@quotation
-@example
-Content-Type: image/jpeg
-@end example
-@end quotation
-
-@noindent
-\e$B$d\e(B
-
-@quotation
-@example
-Content-Type: text/plain; charset=iso-2022-jp
-@end example
-@end quotation
-
-@noindent
-\e$B$J$I$N$h$&$KMQ$$$i$l$^$9!#\e(B
-
-\e$B$3$3$G!"\e(B`type' \e$B$H\e(B `subtype' \e$B$O\e(B entity \e$B$N7A<0$r<($9$b$N$G!"N><T$rAm>N$7\e(B
-\e$B$F!"\e(B`media-type' \e$B$H8F$V$3$H$K$7$^$9!#>e5-$NNc$K$*$1$k\e(B `image/jpeg' \e$B$d\e(B
-`text/plain' \e$B$O\e(B media-type \e$B$N#1$D$G$9!#\e(B
-
-@noindent
-@strong{[Memo]}
-@quotation
-
-Content-Type \e$BMs$N$J$$\e(B entity \e$B$O\e(B
-
-@quotation
-@example
-Content-Type: text/plain; charset=us-ascii
-@end example
-@end quotation
-
-@noindent
-\e$B$H$7$F2r<a$5$l$k!#\e(B(cf. @ref{us-ascii})
-@end quotation
-
-
-
-@node mime-content-type, Content-Type parser, Content-Type field, Content-Type
-@section mime-content-type structure
-
-@deffn{Structure} mime-content-type
-
-Content-Type \e$BMs$N>pJs$r3JG<$9$k$?$a$N9=B$BN!#\e(B@refill
-
-\e$B$3$N9=B$BN$r;2>H$9$k$K$O\e(B @code{mime-content-type-\e$BMWAGL>\e(B} \e$B$H$$$&L>A0$N;2\e(B
-\e$B>H4X?t$rMQ$$$k!#\e(B@refill
-
-\e$B$3$N9=B$BN$NMWAG$O0J2<$NDL$j$G$"$k!'\e(B
-
-@table @var
-@item primary-type
-media-type \e$B$N<g7?\e(B (symbol).
-
-@item subtype
-media-type \e$B$NI{7?\e(B (symbol).
-
-@item parameters
-Content-Type \e$BMs$N\e(B parameter (\e$BO"A[\e(B list).
-
-@end table
-@end deffn
-
-
-@defun make-mime-content-type type subtype
-          &optional  parameters
-
-content-type \e$B$N@8@.;R!#\e(B
-@end defun
-
-
-@defun mime-content-type-parameter content-type parameter
-
-@var{content-type} \e$B$N\e(B @var{parameter} \e$B$NCM$rJV$9!#\e(B
-@end defun
-
-
-
-@node Content-Type parser, Content-Type utility, mime-content-type, Content-Type
-@section Parser
-
-@defun mime-parse-Content-Type string
-
-@var{string} \e$B$r\e(B content-type \e$B$H$7$F2r@O$7$?7k2L$rJV$9!#\e(B
-@end defun
-
-
-@defun mime-read-Content-Type
-
-\e$B8=:_$N\e(B buffer \e$B$N\e(B Content-Type \e$BMs$rFI$_<h$j!"2r@O$7$?7k2L$rJV$9!#\e(B@refill
-
-Content-Type \e$BMs$,B8:_$7$J$$>l9g$O\e(B nil \e$B$rJV$9!#\e(B
-@end defun
-
-
-
-@node Content-Type utility,  , Content-Type parser, Content-Type
-@section Utility functions
-
-@defun mime-type/subtype-string type  &optional  subtype
-
-Return type/subtype string from @var{type} and @var{subtype}.
-@end defun
-
-
-
-@node Content-Disposition, Content-Transfer-Encoding, Content-Type, Top
-@chapter Information of Content-Disposition field
-@cindex mime-content-disposition
-@cindex RFC 2183
-@cindex Standards Track
-@cindex Content-Disposition \e$BMs\e(B
-
-@strong{Content-Disposition \e$BMs\e(B} \e$B$O\e(B entity \e$B$NI=<($d\e(B file \e$BL>$J$I\e(B
-\e$B$NB0@-$K$J$I$K4X$9$k>pJs$r5-=R$9$k$?$a$N$b$N$G$9!#\e(B
-
-
-@noindent
-[RFC 2183]
-@quotation
-S. Dorner, K. Moore and R. Troost, ``Communicating Presentation
-Information in Internet Messages: The Content-Disposition Header'',
-August 1997, Standards Track.
-@end quotation
-
-FLIM \e$B$O\e(B Content-Disposition \e$BMs$r9=J82r@O$9$k4X?t$H\e(B Content-Disposition 
-\e$BMs$N2r@O7k2L$r3JG<$9$k9=B$BN\e(B 
-@strong{mime-content-disposition} \e$B$rDs6!$7$^$9!#\e(B
-
-
-@menu
-* mime-content-disposition::    mime-content-disposition structure
-* Content-Disposition parser::  Parser for Content-Disposition field
-@end menu
-
-@node mime-content-disposition, Content-Disposition parser, Content-Disposition, Content-Disposition
-@section mime-content-disposition structure
-
-@deffn{Structure} mime-content-disposition
-
-Content-Disposition \e$BMs$N2r@O7k2L$r<}$a$k$?$a$N9=B$BN!#\e(B@refill
-
-\e$B$3$N9=B$BN$r;2>H$9$k$K$O\e(B @code{mime-content-disposition-\e$BMWAGL>\e(B} \e$B$H$$$&L>\e(B
-\e$BA0$N;2>H4X?t$rMQ$$$k!#\e(B@refill
-
-\e$B$3$N9=B$BN$NMWAG$O0J2<$NDL$j$G$"$k!'\e(B
-
-@table @var
-@item disposition-type
-disposition-type (symbol).
-
-@item parameters
-Content-Disposition \e$BMs$N\e(B parameter (\e$BO"A[\e(B list).
-
-@end table
-@end deffn
-
-
-@defun mime-content-disposition-parameter content-disposition parameter
-
-@var{content-disposition} \e$B$N\e(B @var{parameter} \e$B$NCM$rJV$9!#\e(B
-@end defun
-
-
-@defun mime-content-disposition-filename content-disposition
-
-@var{content-disposition} \e$B$N\e(B filename \e$B$NCM$rJV$9!#\e(B
-@end defun
-
-
-
-@node Content-Disposition parser,  , mime-content-disposition, Content-Disposition
-@section Parser for Content-Disposition field
-
-@defun mime-parse-Content-Disposition string
-
-@var{string} \e$B$r\e(B content-disposition \e$B$H$7$F2r@O$7$?7k2L$rJV$9!#\e(B
-@end defun
-
-
-@defun mime-read-Content-Disposition
-
-\e$B8=:_$N\e(B buffer \e$B$N\e(B Content-Disposition \e$BMs$rFI$_<h$j!"2r@O$7$?7k2L$rJV$9!#\e(B
-@refill
-
-Content-Disposition \e$BMs$,B8:_$7$J$$>l9g$O\e(B nil \e$B$rJV$9!#\e(B
-@end defun
-
-
-
-@node Content-Transfer-Encoding, encoded-word, Content-Disposition, Top
-@chapter Encoding Method
-@cindex Content-Transfer-Encoding \e$BMs\e(B
-
-@strong{Content-Transfer-Encoding \e$BMs\e(B} \e$B$O\e(B entity \e$B$NId9f2=K!$r5-=R$9$k$?$a\e(B
-\e$B$N$b$N$G$9!#\e(B@refill
-
-FLIM \e$B$G$O\e(B Content-Transfer-Encoding \e$BMs$r9=J82r@O$9$k4X?t$rDs6!$7$^$9!#$3\e(B
-\e$B$l$i$N4X?t$O\e(B Content-Transfer-Encoding \e$BMs$N>pJs$OJ8;zNs$GI=8=$7$^$9!#\e(B
-@refill
-
-\e$B$^$?!"\e(BContent-Transfer-Encoding \e$B$K4p$E$$$FId9f2=!&I|9f2=$r9T$&4X?t$bDs\e(B
-\e$B6!$5$l$^$9!#\e(B
-
-
-@menu
-* Content-Transfer-Encoding parser::  Parser
-* Region encoder/decoder::      Region encoding/decoding
-* String encoder/decoder::      String encoding/decoding
-* File encoder/decoder::        File encoding/decoding
-@end menu
-
-@node Content-Transfer-Encoding parser, Region encoder/decoder, Content-Transfer-Encoding, Content-Transfer-Encoding
-@section Parser
-
-@defun mime-parse-Content-Transfer-Encoding string
-
-@var{string} \e$B$r\e(B content-transfer-encoding \e$B$H$7$F2r@O$7$?7k2L$rJV$9!#\e(B
-@end defun
-
-
-@defun mime-read-Content-Transfer-Encoding &optional default-encoding
-
-\e$B8=:_$N\e(B buffer \e$B$N\e(B Content-Transfer-Encoding \e$BMs$rFI$_<h$j!"2r@O$7$?7k2L$r\e(B
-\e$BJV$9!#\e(B@refill
-
-Content-Transfer-Encoding \e$BMs$,B8:_$7$J$$>l9g$O\e(B@var{default-encoding} \e$B$r\e(B
-\e$BJV$9!#\e(B
-@end defun
-
-
-
-@node Region encoder/decoder, String encoder/decoder, Content-Transfer-Encoding parser, Content-Transfer-Encoding
-@section Region encoding/decoding
-
-@defun mime-encode-region start end encoding
-
-Encode region @var{start} to @var{end} of current buffer using
-@var{encoding}.
-@end defun
-
-
-@defun mime-decode-region start end encoding
-
-Decode region @var{start} to @var{end} of current buffer using
-@var{encoding}.
-@end defun
-
-
-@defvar mime-encoding-method-alist
-
-Alist of encoding vs. corresponding method to encode region.@refill
-
-Each element looks like @code{(STRING . FUNCTION)} or @code{(STRING
-. nil)}.  @var{string} is content-transfer-encoding.  @code{function} is
-region encoder and @code{nil} means not to encode.
-@end defvar
-
-
-@defvar mime-decoding-method-alist
-
-Alist of encoding vs. corresponding method to decode region.@refill
-
-Each element looks like @code{(STRING . FUNCTION)} or @code{(STRING
-. nil)}.  @var{string} is content-transfer-encoding.  @code{function} is
-region decoder and @code{nil} means not to decode.
-@end defvar
-
-
-
-@node String encoder/decoder, File encoder/decoder, Region encoder/decoder, Content-Transfer-Encoding
-@section String encoding/decoding
-
-@defun mime-decode-string string encoding
-
-@var{string} \e$B$r\e(B @var{encoding} \e$B$H$7$FI|9f$7$?7k2L$rJV$7$^$9!#\e(B
-@end defun
-
-
-@defvar mime-string-decoding-method-alist
-
-Alist of encoding vs. corresponding method to decode string.@refill
-
-Each element looks like @code{(STRING . FUNCTION)}.  STRING is
-content-transfer-encoding.  FUNCTION is string decoder.
-@end defvar
-
-
-
-@node File encoder/decoder,  , String encoder/decoder, Content-Transfer-Encoding
-@section File encoding/decoding
-
-@defun mime-insert-encoded-file filename encoding
-
-Insert file @var{FILENAME} encoded by @var{ENCODING} format.
-@end defun
-
-
-@defun mime-write-decoded-region start end filename encoding
-
-Decode and write current region encoded by @var{encoding} into
-@var{filename}.@refill
-
-@var{start} and @var{end} are buffer positions.
-@end defun
-
-
-@defvar mime-file-encoding-method-alist
-
-Alist of encoding vs. corresponding method to insert encoded
-file.@refill
-
-Each element looks like @code{(STRING . FUNCTION)}.  STRING is
-content-transfer-encoding.  FUNCTION is function to insert encoded file.
-@end defvar
-
-
-@defvar mime-file-decoding-method-alist
-
-Alist of encoding vs. corresponding method to write decoded region to
-file.@refill
-
-Each element looks like @code{(STRING . FUNCTION)}.  STRING is
-content-transfer-encoding.  FUNCTION is function to write decoded region
-to file.
-@end defvar
-
-
-
-@node encoded-word, custom, Content-Transfer-Encoding, Top
-@chapter Network representation of header
-@cindex RFC 2047
-@cindex Standards Track
-@cindex RFC 2047
-
-encoded-word \e$B$O\e(B header \e$B$GHs\e(B ASCII (@ref{ASCII}) \e$BJ8;z$rI=8=$9$k$?$a$N7A<0\e(B
-\e$B$G!"\e(B@strong{RFC 2047} \e$B$GDj5A$5$l$F$$$^$9!#\e(B@refill
-
-
-@noindent
-[RFC 2047]
-@quotation
-K. Moore, ``MIME (Multipurpose Internet Mail Extensions) Part Three:
-Message Header Extensions for Non-ASCII Text'', November 1996, Standards
-Track (obsolete RFC 1521,1522,1590).
-@end quotation
-
-\e$B$^$?!"9T57$N0-$$$3$H$@$H8@$($^$9$,!"\e(Bencoded-word \e$B$rMQ$$$:$KHs\e(B ASCII
-(@ref{ASCII}) \e$BJ8;z$r\e(B header \e$B$KF~$l$?5-;v$bB8:_$7$^$9!#\e(B@refill
-
-FLIM \e$B$O$3$l$i$rId9f2=!&I|9f2=$9$k5!G=$rDs6!$7$^$9!#\e(B
-
-
-@menu
-* Header encoder/decoder::      Header encoding/decoding
-@end menu
-
-@node Header encoder/decoder,  , encoded-word, encoded-word
-@section Header encoding/decoding
-
-@defun eword-encode-header &optional  code-conversion separator
-
-Decode MIME encoded-words in header fields.@refill
-
-If @var{code-conversion} is @code{nil}, it decodes only encoded-words.
-If it is mime-charset, it decodes non-ASCII bit patterns as the
-mime-charset.  Otherwise it decodes non-ASCII bit patterns as the
-default-mime-charset.@refill
-
-If @var{separator} is not nil, it is used as header separator.
-@end defun
-
-
-@defun eword-encode-header &optional  code-conversion
-
-Encode header fields to network representation, such as MIME
-encoded-word.@refill
-
-It refer variable @code{eword-field-encoding-method-alist}.
-@end defun
-
-
-
-@node custom, Appendix, encoded-word, Top
-@chapter Various Customization
-
-@deffn{group} mime
-
-MIME \e$B4XO"5!G=$K4X$9$k\e(B group.@refill
-
-@code{mail} \e$B$H\e(B @code{news} \e$B$KB0$9$k!#\e(B
-@end deffn
-
-
-@defvar default-mime-charset
-
-\e$BE,@Z$J\e(B MIME charset (@ref{MIME charset}) \e$B$,8+$D$+$i$J$+$C$?>l9g$KMQ$$$i\e(B
-\e$B$l$k\e(BMIME charset.@refill
-
-\e$BK\Mh$O\e(B APEL \e$B$NJQ?t$G$"$k!#\e(B
-@end defvar
-
-
-@defvar mime-temp-directory
-
-MIME \e$B5!G=$K4X$9$k<BAu$,0l;~E*$K;HMQ$9$k\e(B file \e$B$r:n@.$9$k\e(B 
-directory.@refill
-
-\e$B4D6-JQ?t\e(B @code{MIME_TMP_DIR}, @code{TM_TMP_DIR}, @code{TMPDIR},
-@code{TMP} \e$B$b$7$/$O\e(B @code{TEMP} \e$B$,@_Dj$5$l$F$$$?>l9g!"$=$l$r=i4|CM$H$7$F\e(B
-\e$BMQ$$$k!#2?$b@_Dj$5$l$F$$$J$$>l9g!"\e(B@code{"/tmp/"} \e$B$rMQ$$$k!#\e(B
-@end defvar
-
-
-
-@node Appendix, Concept Index, custom, Top
-@chapter Appendix
-
-
-@menu
-* Glossary::                    
-* Bug report::                  How to report bugs
-* CVS::                         CVS based development
-* History::                     History of FLIM
-@end menu
-
-@node Glossary, Bug report, Appendix, Appendix
-@section Glossary
-
-
-@menu
-* 7bit::                        
-* 8bit::                        
-* ASCII::                       
-* Base64::                      
-* binary::                      
-* coded character set::         Coded character set, Character code
-* media-type::                  
-* message::                     
-* MIME::                        
-* MIME charset::                
-* MTA::                         
-* MUA::                         
-* Quoted-Printable::            
-* RFC 822::                     
-* RFC 1036::                    
-* RFC 2045::                    
-* RFC 2046::                    
-* RFC 2048::                    
-* RFC 2049::                    
-* plain text::                  
-* us-ascii::                    
-@end menu
-
-@node 7bit, 8bit, Glossary, Glossary
-@subsection 7bit
-@cindex 7bit (textual) string
-@cindex 7bit data
-@cindex 7bit
-
-@strong{7bit} means any integer between 0 .. 127.@refill
-
-Any data represented by 7bit integers is called @strong{7bit data}.@refill
-
-Textual string consisted of Control characters between 0 .. 31 and 127,
-and space represented by 32, and graphic characters between 33 .. 236
-are called @strong{7bit (textual) string}.@refill
-
-Conventional Internet MTA (@ref{MTA}) can translate 7bit data, so it is
-no need to translate by Quoted-Printable (@ref{Quoted-Printable}) or
-Base64 (@ref{Base64}) for 7bit data.@refill
-
-However if there are too long lines, it can not translate by 7bit MTA
-even if it is 7bit data.  RFC 821 (@ref{RFC 821}) and RFC 2045 (@ref{RFC 2045}) require lines in 7bit data must be less than 998 bytes.  So if a
-``7bit data'' has a line more than 999 bytes, it is regarded as binary
-(@ref{binary}).  For example, Postscript file should be encoded by
-Quoted-Printable.
-
-
-@node 8bit, ASCII, 7bit, Glossary
-@subsection 8bit
-@cindex 8bit (textual) string
-@cindex 8bit data
-@cindex 8bit
-
-@strong{8bit} means any integer between 0 .. 255.@refill
-
-Any data represented by 8bit integers is called @strong{8bit data}.@refill
-
-Textual string consisted of Control characters between 0 .. 31, 127, and
-128 .. 159, and space represented by 32, and graphic characters between
-33 .. 236 and 160 .. 255 are called @strong{8bit (textual) string}.@refill
-
-For example, iso-8859-1 (@ref{iso-8859-1}) or euc-kr (@ref{euc-kr}) are
-coded-character-set represented by 8bit textual string.@refill
-
-Traditional Internet MTA (@ref{MTA}) can translate only 7bit
-(@ref{7bit}) data, so if a 8bit data will be translated such MTA, it
-must be encoded by Quoted-Printable (@ref{Quoted-Printable}) or Base64
-(@ref{Base64}).@refill
-
-However 8bit MTA are increasing today.@refill
-
-However if there are too long lines, it can not translate by 8bit MTA
-even if it is 8bit data.  RFC 2045 (@ref{RFC 2045}) require lines in
-8bit data must be less than 998 bytes.  So if a ``8bit data'' has a line
-more than 999 bytes, it is regarded as binary (@ref{binary}), so it must
-be encoded by Base64 or Quoted-Printable.
-
-
-@node ASCII, Base64, 8bit, Glossary
-@subsection ASCII
-@cindex ANSI X3.4:1986
-@cindex ASCII
-@cindex ASCII
-
-@strong{ASCII} is a 94-character set contains primary latin characters
-(A-Z, a-z), numbers and some characters.  It is a standard of the United
-States of America.  It is a variant of ISO 646 (@ref{ISO 646}).
-
-
-@noindent
-[ASCII]
-@quotation
-``Coded Character Set -- 7-Bit American Standard Code for Information
-Interchange'', ANSI X3.4:1986.
-@end quotation
-
-
-
-@node Base64, binary, ASCII, Glossary
-@subsection Base64
-@cindex pad
-@cindex Base64
-
-@strong{Base64} is a transfer encoding method of MIME (@ref{MIME})
-defined in RFC 2045 (@ref{RFC 2045}).@refill
-
-The encoding process represents 24-bit groups of input bits as output
-strings of 4 encoded characters.  Encoded characters represent integer 0
-.. 63 or @strong{pad}.  Base64 data must be 4 * n bytes, so pad is used
-to adjust size.@refill
-
-These 65 characters are subset of all versions of ISO 646, including
-US-ASCII, and all versions of EBCDIC.  So it is safe even if it is
-translated by non-Internet gateways.
-
-
-@node binary, coded character set, Base64, Glossary
-@subsection binary
-@cindex binary
-
-Any byte stream is called @strong{binary}.@refill
-
-It does not require structureof lines.  It differs from from 8bit
-(@ref{8bit}).@refill
-
-In addition, if line structured data contain too long line (more than
-998 bytes), it is regarded as binary.
-
-
-@node coded character set, media-type, binary, Glossary
-@subsection Coded character set, Character code
-
-A set of unambiguous rules that establishes a character set and the
-one-to-one relationship between the characters of the set and their
-bit combinations.
-
-
-@node media-type, message, coded character set, Glossary
-@subsection media-type
-@cindex x-token
-@cindex message
-@cindex multipart
-@cindex application
-@cindex video
-@cindex audio
-@cindex image
-@cindex text
-@cindex subtype
-@cindex type
-@cindex media-type
-
-@strong{media-type} specifies the nature of the data in the body of MIME
-(@ref{MIME}) entity (@ref{entity}).  It consists of @strong{type} and
-@strong{subtype}.  It is defined in RFC 2046 (@ref{RFC 2046}).@refill
-
-Currently there are following standard primary-types:
-
-@itemize @bullet
-@item
-@strong{text}
-@item
-@strong{image}
-@item
-@strong{audio}
-@item
-@strong{video}
-@item
-@strong{application}
-@item
-@strong{multipart} (@ref{multipart})
-@item
-@strong{message}
-@end itemize
-
-
-And there are various subtypes, for example, application/octet-stream,
-audio/basic, image/jpeg, multipart/mixed (@ref{multipart/mixed}),
-text/plain (@ref{text/plain}), video/mpeg...  @refill
-
-You can refer registered media types at MEDIA TYPES
-(ftp://ftp.isi.edu/in-notes/iana/assignments/media-types).@refill
-
-In addition, you can use private type or subtype using @strong{x-token},
-which as the prefix `x-'.  However you can not use them in
-public.@refill
-
-(cf. @ref{Content-Type field})
-
-
-
-@node message, MIME, media-type, Glossary
-@subsection message
-
-In this document, it means mail defined in RFC 822 (@ref{RFC 822}) and
-news message defined in RFC 1036 (@ref{RFC 1036}).
-
-
-@node MIME, MIME charset, message, Glossary
-@subsection MIME
-@cindex Multipurpose Internet Mail Extensions
-
-MIME stands for @strong{Multipurpose Internet Mail Extensions}, it is an
-extension for RFC 822 (@ref{RFC 822}).@refill
-
-According to RFC 2045:@refill
-
-STD 11, RFC 822, defines a message representation protocol specifying
-considerable detail about US-ASCII message headers, and leaves the
-message content, or message body, as flat US-ASCII text.  This set of
-documents, collectively called the Multipurpose Internet Mail
-Extensions, or MIME, redefines the format of messages to allow for
-
-@enumerate
-@item
-textual message bodies in character sets other than US-ASCII,
-@item
-an extensible set of different formats for non-textual message
-bodies,
-@item
-multi-part message bodies, and
-@item
-textual header information in character sets other than US-ASCII.
-@end enumerate
-
-
-It is defined in RFC 2045 (@ref{RFC 2045}), RFC 2046 (@ref{RFC 2046}),
-RFC 2047 (@ref{encoded-word}), RFC 2048 (@ref{RFC 2048}) and RFC 2049
-(@ref{RFC 2049}).
-
-
-@node MIME charset, MTA, MIME, Glossary
-@subsection MIME charset
-
-Coded character set (@ref{coded character set}) used in Content-Type
-field (@ref{Content-Type field}) or charset parameter of encoded-word
-(@ref{encoded-word}).@refill
-
-It is defined in RFC 2045 (@ref{RFC 2045}).@refill
-
-iso-2022-jp (@ref{iso-2022-jp}) or euc-kr (@ref{euc-kr}) are kinds of
-it.  (In this document, MIME charsets are written by small letters to
-distinguish graphic character set (@ref{graphic character set}).  For
-example, ISO 8859-1 is a graphic character set, and iso-8859-1 is a MIME
-charset)
-
-
-@node MTA, MUA, MIME charset, Glossary
-@subsection MTA
-@cindex Message Transfer Agent
-
-@strong{Message Transfer Agent}.  It means mail transfer programs
-(ex. sendmail) and news servers.@refill
-
-(cf. @ref{MUA})
-
-
-
-@node MUA, Quoted-Printable, MTA, Glossary
-@subsection MUA
-@cindex Message User Agent
-
-@strong{Message User Agent}.  It means mail readers and news
-readers.@refill
-
-(cf. @ref{MTA})
-
-
-
-@node Quoted-Printable, RFC 822, MUA, Glossary
-@subsection Quoted-Printable
-@cindex Quoted-Printable
-
-@strong{Quoted-Printable} is a transfer encoding method of MIME
-(@ref{MIME}) defined in RFC 2045 (@ref{RFC 2045}).@refill
-
-If the data being encoded are mostly US-ASCII text, the encoded form of
-the data remains largely recognizable by humans.@refill
-
-(cf. @ref{Base64})
-
-
-
-@node RFC 822, RFC 1036, Quoted-Printable, Glossary
-@subsection RFC 822
-@cindex RFC 822
-@cindex STD 11
-@cindex Internet mail
-@cindex Internet message
-@cindex message header
-
-A RFC defines format of Internet mail message, mainly @strong{message header}.
-
-@noindent
-@strong{[Memo]}
-@quotation
-
-news message is based on RFC 822, so @strong{Internet message} may be
-more suitable than @strong{Internet mail} .
-@end quotation
-
-
-
-@noindent
-[RFC 822]
-@quotation
-D. Crocker, ``Standard for the Format of ARPA Internet Text Messages'',
-August 1982, STD 11.
-@end quotation
-
-
-
-@node RFC 1036, RFC 2045, RFC 822, Glossary
-@subsection RFC 1036
-@cindex RFC 1036
-@cindex USENET
-
-A RFC defines format of USENET message.  It is a subset of RFC 822
-(@ref{RFC 822}).  It is not Internet standard, but a lot of netnews
-excepting Usenet uses it.
-
-
-@noindent
-[USENET: RFC 1036]
-@quotation
-M. Horton and R. Adams, ``Standard for Interchange of USENET Messages'',
-December 1987, (obsolete RFC 850).
-@end quotation
-
-
-
-@node RFC 2045, RFC 2046, RFC 1036, Glossary
-@subsection RFC 2045
-@cindex RFC 2045
-@cindex Standards Track
-
-
-@noindent
-[RFC 2045]
-@quotation
-N. Freed and N. Borenstein, ``Multipurpose Internet Mail Extensions
-(MIME) Part One: Format of Internet Message Bodies'', November 1996,
-Standards Track (obsolete RFC 1521, 1522, 1590).
-@end quotation
-
-
-
-@node RFC 2046, RFC 2048, RFC 2045, Glossary
-@subsection RFC 2046
-@cindex RFC 2046
-@cindex Standards Track
-
-
-@noindent
-[RFC 2046]
-@quotation
-N. Freed and N. Borenstein, ``Multipurpose Internet Mail Extensions
-(MIME) Part Two: Media Types'', November 1996, Standards Track (obsolete
-RFC 1521, 1522, 1590).
-@end quotation
-
-
-
-@node RFC 2048, RFC 2049, RFC 2046, Glossary
-@subsection RFC 2048
-@cindex RFC 2048
-@cindex Standards Track
-
-
-@noindent
-[RFC 2048]
-@quotation
-N. Freed, J. Klensin and J. Postel, ``Multipurpose Internet Mail
-Extensions (MIME) Part Four: Registration Procedures'', November 1996,
-Standards Track (obsolete RFC 1521, 1522, 1590).
-@end quotation
-
-
-
-@node RFC 2049, plain text, RFC 2048, Glossary
-@subsection RFC 2049
-@cindex RFC 2049
-@cindex Standards Track
-
-
-@noindent
-[RFC 2049]
-@quotation
-N. Freed and N. Borenstein, ``Multipurpose Internet Mail Extensions
-(MIME) Part Five: Conformance Criteria and Examples'', November 1996,
-Standards Track (obsolete RFC 1521, 1522, 1590).
-@end quotation
-
-
-
-@node plain text, us-ascii, RFC 2049, Glossary
-@subsection plain text
-
-A textual data represented by only coded character set (@ref{coded character set}).  It does not have information about font or
-typesetting.  (cf. @ref{text/plain})
-
-
-
-@node us-ascii,  , plain text, Glossary
-@subsection us-ascii
-@cindex ASCII
-@cindex us-ascii
-
-A MIME charset (@ref{MIME charset}) for primary Latin script mainly
-written by English or other languages.@refill
-
-It is a 7bit coded character set (@ref{coded character set}) based on
-ISO 2022 (@ref{ISO 2022}), it contains only ASCII (@ref{ASCII}) and code
-extension (@ref{code extension}) is not allowed.@refill
-
-It is standard coded character set of Internet mail.  If MIME charset is
-not specified, @strong{us-ascii} is used as default.@refill
-
-In addition, @strong{ASCII} of RFC 822 (@ref{RFC 822}) should be
-interpreted as us-ascii.
-
-
-@node Bug report, CVS, Glossary, Appendix
-@section How to report bugs
-@cindex good bug report
-
-If you write bug-reports and/or suggestions for improvement, please
-send them to the tm Mailing List:
-
-@itemize @bullet
-@item
- Japanese <bug-tm-ja@@chamonix.jaist.ac.jp>
-@item
- English <bug-tm-en@@chamonix.jaist.ac.jp>
-@end itemize
-
-
-Notice that, we do not welcome bug reports about too old version.  Bugs
-in old version might be fixed.  So please try latest version at
-first.@refill
-
-You should write @strong{good bug report}.  If you write only ``FLIM
-does not work'', we can not find such situations.  At least, you should
-write name, type, variants and version of OS, emacs, APEL, FLIM, SEMI
-and MUA, and setting.  In addition, if error occurs, to send backtrace
-is very important. (cf. @ref{(emacs)Bugs}) @refill
-
-Bug may not appear only your environment, but also in a lot of
-environment (otherwise it might not bug).  Therefor if you send mail
-to author directly, we must write a lot of mails.  So please send mail
-to address for tm bugs instead of author.
-
-Via the tm ML, you can report FLIM bugs, obtain the latest release of
-FLIM, and discuss future enhancements to FLIM.  To join the tm ML,
-send empty e-mail to:
-
-@itemize @bullet
-@item
- Japanese <tm-ja-help@@chamonix.jaist.ac.jp>
-@item
- English  <tm-en-help@@chamonix.jaist.ac.jp>
-@end itemize
-
-
-
-@node CVS, History, Bug report, Appendix
-@section CVS based development
-
-FLIM \e$B$N\e(B file \e$B$O\e(B CVS \e$B$r;H$C$F4IM}$5$l$F$$$^$9!#$3$N$?$a!"0J2<$NJ}K!$G:G\e(B
-\e$B?7$N\e(B FLIM \e$B$rF~<j$9$k$3$H$,$G$-$^$9!'\e(B
-
-@example
-(0) cvs login
-
-    % cvs -d :pserver:anonymous@@chamonix.jaist.ac.jp:/hare/cvs/root \
-       login
-
-    CVS password: [CR] # NULL string
-
-(1) checkout
-
-    % cvs -d :pserver:anonymous@@chamonix.jaist.ac.jp:/hare/cvs/root \
-       checkout [-r TAG] flim
-@end example
-
-
-CVS \e$B$rMQ$$$?3+H/$K;22C$7$?$$J}$O\e(B
-
-@itemize @bullet
-@item
- <cvs@@chamonix.jaist.ac.jp>
-@end itemize
-
-@noindent
-\e$B$^$G!"\e(Baccount \e$BL>$H\e(B UNIX \e$B$N\e(B passwd \e$B$HF1$87A<0$N\e(B crypt \e$B2=$5$l$?\e(B password
-\e$B$r1h$($F8fO"Mm$/$@$5$$!#\e(B
-
-
-@node History,  , CVS, Appendix
-@section History of FLIM
-
-FLIM \e$B$N\e(B code \e$B$N:G8E$NItJ,$O\e(B \e$B1]JB\e(B \e$B;LCR\e(B \e$B;a$,=q$$$?\e(B @file{mime.el}\e$B$K5/8;$7\e(B
-\e$B$^$9!#$3$N>.$5$J\e(B program \e$B$O\e(B Nemacs \e$B$GF0:n$9$k\e(B iso-2022-jp \e$B$N\e(B B-encoding 
-\e$B@lMQ$N\e(B encoded-word \e$B$NI|9f2=%W%m%0%i%`$G$7$?!#\e(B@refill
-
-\e$B$=$N8e!"<i2,\e(B \e$BCNI'\e(B \e$B$O\e(B @file{mime.el} \e$B$r85$K\e(B@file{tiny-mime.el} \e$B$H$$$&%W%m\e(B
-\e$B%0%i%`$r=q$-$^$9!#$3$l$O!"\e(BNemacs \e$B$H\e(B Mule \e$B$GF0:n$9$k\e(B encoded-word \e$B$NId9f\e(B
-\e$B2=!&I|9f2=%W%m%0%i%`$G$7$?!#\e(B@file{tiny-mime.el} \e$B$O\e(B B-encoding \e$B$@$1$G$J$/\e(B 
-Q-encoding \e$B$b\e(Bsupport \e$B$7!"$^$?!"\e(BMULE \e$B$G07$&$3$H$,$G$-$k$5$^$6$^$J\e(B MIME
-charset (@ref{MIME charset}) \e$B$rF1;~$K;H$&$3$H$,$G$-$^$7$?!#$3$N;~!"\e(B
-Nemacs \e$B$H\e(B Mule \e$B$NAPJ}$r\e(B support \e$B$9$k$?$a$KMQ$$$i$l$?%F%/%K%C%/$O8e$K\e(B emu
-package \e$B$K$^$H$a$i$l$^$9!#\e(B@refill
-
-\e$B$3$N:"!"<i2,\e(B \e$BCNI'\e(B \e$B$O\e(B @file{tiny-mime.el} \e$B$r$5$^$6$^$J\e(B MUA \e$B$G;H$&$?$a$N@_\e(B
-\e$BDj=8$bG[I[$7$F$$$^$7$?$,!"$=$l$i$O8e$K\e(B@file{tiny-mime.el} \e$B$H$H$b$K#1$D$N\e(B 
-package \e$B$K$^$H$a$i$l!"\e(Btm \e$B$H$$$&L>A0$GG[I[$5$l$^$9!#\e(B@refill
-
-\e$B<i2,\e(B \e$BCNI'\e(B \e$B$O$d$,$F!"\e(BMIME message \e$B$r1\Mw$9$k$?$a$N%W%m%0%i%`$G$"$k\e(B
-@file{tm-body.el} \e$B$r=q$-$^$9!#$3$l$O!"$9$0$K\e(B@file{tm-view.el} \e$B$H$$$&L>A0\e(B
-\e$B$KJQ$o$j$^$7$?$,!"$d$,$F!"$3$l$,\e(B@file{tiny-mime.el} \e$B$KBe$o$C$F!"\e(Btm \e$B$NCf\e(B
-\e$B3K$H$J$j$^$9!#\e(B@refill
-
-@file{tm-view.el} \e$B$OEvA3!"\e(BContent-Transfer-Encoding \e$B$r07$&I,MW$,$"$j$^$9!#\e(B
-\e$B$3$NL\E*$N$?$a$K!"\e(BMEL \e$B$,@0Hw$5$l$O$8$a$^$7$?!#\e(BBase64 \e$B$K4X$7$F$O\e(B 
-@file{tiny-mime.el} \e$B$N\e(B code \e$B$,0\$5$l!"$^$?!"?7$?$K\e(BQuoted-Printable \e$B$N\e(B 
-code \e$B$,DI2C$5$l$^$7$?!#$3$l$i$,\e(B@file{mel-b.el} \e$B$H\e(B @file{mel-q.el} \e$B$K$J$j\e(B
-\e$B$^$7$?!#\e(B@refill
-
-\e$B$^$?!"8e$K!"<i2,\e(B \e$BCNI'\e(B \e$B$K$h$C$F\e(B uuencode \e$BMQ$N\e(B @file{mel-u.el} \e$B$,DI2C$5$l!"\e(B
-\e$B$=$N8e$K!">.NS\e(B \e$B=$J?\e(B \e$B;a$K$h$C$F\e(B x-gzip64 \e$BMQ$N\e(B@file{mel-g.el} \e$B$,DI2C$5$l$^\e(B
-\e$B$7$?!#\e(B@refill
-
-tm \e$B$G$O8e$K!"<i2,\e(B \e$BCNI'\e(B \e$B$K$h$C$F\e(B @file{tiny-mime.el} \e$B$N:F<BAu$,9T$o$l!"$3\e(B
-\e$B$N2aDx$G!"\e(BSTD 11 \e$B$N\e(B parser \e$B$,=q$+$l$^$7$?!#$3$l$O!"8=:_$N\e(B 
-@file{std11.el} \e$B$KEv$?$j$^$9!#$^$?!"$3$N2aDx$G\e(B @file{tiny-mime.el} \e$B$OI|\e(B
-\e$B9f2=$r9T$&\e(B @file{tm-ew-d.el} \e$B$HId9f2=$r9T$&\e(B @file{tm-ew-e.el} \e$B$KJ,$1$i$l\e(B
-\e$B$^$7$?!#$3$NN><T$,8=:_$N\e(B @file{eword-decode.el} \e$B$H\e(B 
-@file{eword-encode.el} \e$B$N@hAD$KEv$?$j$^$9!#\e(B@refill
-
-\e$B8e$K!"<i2,\e(B \e$BCNI'\e(B \e$B$i$K$h$C$F\e(B tm \e$B$NA4LL=q$-49$(:n6H$,9T$o$l!"$3$N2aDx$G!"\e(Btm 
-\e$B$O\e(B APEL, MEL, SEMI, EMH, RMAIL-MIME, Gnus-MIME \e$B$J$I$KJ,$1$i$l$^$7$?!#$3\e(B
-\e$B$N$&$A$N\e(B MEL \e$B$,\e(B FLIM \e$B$ND>@\$N@hAD$KEv$?$j$^$9!#\e(B@refill
-
-\e$B8e$K!"\e(BAPEL \e$B$+$i\e(B @file{std11.el} \e$B$,0\$5$l!"$^$?!"\e(B@file{mailcap.el},
-@file{eword-decode.el} \e$B$*$h$S\e(B @file{eword-encode.el} \e$B$,\e(B SEMI \e$B$+$i0\$5$l!"\e(B
-package \e$B$NL>A0$,\e(B FLIM\e$B$H$J$j$^$9!#\e(B@refill
-
-\e$B$3$ND>A0$+$iEDCf\e(B \e$BE/\e(B \e$B;a$,$h$j\e(B RFC \e$B$KCi<B$J<BAu$r=q$-;O$a!"$3$l$O!"8=:_!"\e(B
-FLIM \e$B$N;^$G$"$k\e(B ``FLIM-FLAM'' \e$B$H$J$C$F$$$^$9!#\e(B
-
-
-@node Concept Index, Function Index, Appendix, Top
-@chapter Concept Index
-
-@printindex cp
-
-@node Function Index, Variable Index, Concept Index, Top
-@chapter Function Index
-
-@printindex fn
-
-@node Variable Index,  , Function Index, Top
-@chapter Variable Index
-
-@printindex vr
-@bye
diff --git a/mime-ja.sgml b/mime-ja.sgml
deleted file mode 100644 (file)
index c3cfb08..0000000
+++ /dev/null
@@ -1,1278 +0,0 @@
-<!doctype sinfo system>
-<head>
-<title>FLIM 1.9 MIME \e$B5!G=@bL@=q\e(B
-<author>\e$B<i2,\e(B \e$BCNI'\e(B <mail>morioka@jaist.ac.jp</mail>
-<date>1998/07/01
-
-<toc>
-</head>
-
-<body>
-
-<abstract>
-<p>
-This file documents MIME features of FLIM, a Internet message
-parsing/encoding library for GNU Emacs.
-<p>
-GNU Emacs \e$BMQ$N\e(B Internet Message \e$B$N2r@O$dId9f2=$K4X$9$k\e(B library \e$B$G$"$k\e(B 
-FLIM \e$B$N\e(B MIME \e$B5!G=$K4X$7$F@bL@$7$^$9!#\e(B
-</abstract>
-
-
-<h1> FLIM \e$B$C$F2?!)\e(B
-<node> Introduction
-<p>
-FLIM \e$B$O\e(B Internet Message \e$B$NI=8=$dId9f2=$K4X$9$k4pACE*$J5!G=$rDs6!$9$k\e(B
-\e$B$?$a$N\e(B library \e$B$G$9!#\e(B
-
-
-<h1> FLIM \e$B$N\e(B MIME \e$B5!G=$N;H$$J}\e(B
-<node> How to use
-<p>
-FLIM \e$B$NDs6!$9$k\e(B MIME \e$B5!G=$r;H$&$?$a$K$O\e(B
-
-<lisp>
-(require 'mime)
-</lisp>
-
-<noindent>\e$B$rI>2A$7$F$/$@$5$$!#\e(B
-
-
-<h1> Message \e$B$H\e(B Entity
-<node> Entity
-<p>
-<dref>RFC 2045</dref> \e$B$K$h$l$P!"!V\e(BEntity \e$B$H$$$&8l$O!"\e(Bmessage, \e$B$b$7$/$O!"\e(B
-multipart entity \e$B$N\e(B body \e$BCf$N#1$D$NItJ,$N!"\e(BMIME \e$B$GDj5A$5$l$?\e(B header
-field \e$B$HFbMF$r;X$9!W$H$J$C$F$$$^$9!#$3$3$G$O!"\e(BMIME \e$B$GDj5A$5$l$?\e(B header
-field \e$B0J30$NA4$F$N\e(B header \e$B$H\e(B body \e$B$r;X$98l$H$7$F\e(B 
-<concept>entity</concept>\e$B$rMQ$$$k$3$H$K$7$^$9!#\e(B
-<p>
-RFC 2045 \e$B$NDj5A$O!"\e(BMIME message \e$B$,\e(B entity \e$B$rC10L$H$9$kLZ9=B$$G$"$k$3$H$r\e(B
-\e$B<($7$F$$$^$9!#\e(Bmessage \e$B$O2<?^$G<($9$h$&$JLZ$H$J$j!"\e(Bentity \e$B$O$3$NLZ$K$*$1\e(B
-\e$B$k@a$H$J$j$^$9!#$D$^$j!"\e(BMIME \e$B$O\e(B message \e$B$rLZ9=B$$K3HD%$7$?Lu$G$9!#\e(B
-<p>
-FLIM \e$B$O\e(B entity \e$B$N>pJs$rI=8=$9$k$?$a$K\e(B<concept>mime-entity</concept> \e$B9=\e(B
-\e$BB$BN$rMQ$$$^$9!#0J2<$G$OC1$K\e(B mime-entity \e$B$H8F$V$3$H$K$7$^$9!#\e(B
-<p>
-\e$BA0=R$N$h$&$K!"\e(Bmessage \e$BCf$N3F\e(B entity \e$B$OLZ$N@a$KEv$?$j$^$9$,!"$3$NLZ$K$O\e(B
-\e$B?<$5$HF1$8?<$5$NCf$N=gHV$K=>$C$FHV9f$,IU$1$k$3$H$,$G$-$^$9!#B($A!"\e(B
-<verb>
-
-                              \e$B(#(!(!(!($\e(B
-                              \e$B("\e(B  nil \e$B("\e(B
-                              \e$B(&(!(((!(%\e(B
-              \e$B(#(!(!(!(!(!(!(!(!(!(+(!(!(!(!(!(!(!(!(!($\e(B
-            \e$B(#(*($\e(B              \e$B(#(*($\e(B              \e$B(#(*($\e(B
-            \e$B("#0("\e(B              \e$B("#1("\e(B              \e$B("#2("\e(B
-            \e$B(&(((%\e(B              \e$B(&(((%\e(B              \e$B(&(((%\e(B
-              \e$B("\e(B        \e$B(#(!(!(!(!(+(!(!(!(!($\e(B        \e$B("\e(B
-          \e$B(#(!(*(!($(#(!(*(!($(#(!(*(!($(#(!(*(!($(#(!(*(!($\e(B
-          \e$B("\e(B \e$B#0\e(B.\e$B#0("("\e(B \e$B#1\e(B.\e$B#0("("\e(B \e$B#1\e(B.\e$B#1("("\e(B \e$B#1\e(B.\e$B#2("("\e(B \e$B#2\e(B.\e$B#0("\e(B
-          \e$B(&(!(!(!(%(&(!(!(!(%(&(!(!(!(%(&(!(!(!(%(&(!(!(!(%\e(B
-
-</verb>
-<p>
-<noindent>\e$B$N$h$&$K?<$5\e(B n \e$B$N@a$K$OD9$5\e(B n \e$B$N@0?tNs$N@aHV9f$,?6$l$^$9!#$3$l\e(B
-\e$B$r\e(B <concept>entity-number</concept> \e$B$H8F$S$^$9!#\e(Bentity-number \e$B$O\e(B S \e$B<0$H\e(B
-\e$B$7$F$O\e(B <code>(1 2 3)</code> \e$B$N$h$&$J@0?t$N%j%9%H$H$7$FI=8=$5$l$^$9!#\e(B
-<p>
-mime-entity \e$B$G$O!"$3$l$HF1MM$N\e(B <concept>node-id</concept> \e$B$rMQ$$$^$9!#\e(B
-node-id \e$B$O$A$g$&$I\e(B entity-number \e$B$r5U$K$7$?%j%9%H$G!"\e(Bentity-number
-1.2.3 \e$B$KBP1~$9$k\e(B node-id \e$B$O\e(B <code>(3 2 1)</code> \e$B$G$9!#\e(B
-<p>
-\e$BA0=R$N$h$&$K!"\e(BMIME message \e$B$O\e(B entity \e$B$rC10L$H$7$?LZ9=B$$K$J$C$F$$$k$N$G!"\e(B
-\e$B$3$N:,$G$"$k\e(B message \e$BA4BN$b\e(B mime-entity \e$B$GI=8=$9$k$3$H$,$G$-!"\e(Bbuffer
-local \e$BJQ?t\e(B <code>mime-message-structure</code> \e$B$K3JG<$9$k$3$H$K$7$^$9!#\e(B
-\e$B$=$7$F!"\e(Bentity-number \e$B$d\e(B node-id \e$B$rMQ$$$k$3$H$G\e(B 
-<code>mime-message-structure</code> \e$B$K$*$1$k\e(B entity \e$B$NAjBPE*$J0LCV4X78$r\e(B
-\e$B07$&$3$H$,$G$-$^$9!#\e(B
-
-
-<h2> Entity \e$B$N@8@.\e(B
-<node> Entity creation
-<p>
-<defun name="mime-open-entity">
-         <opts> type location
-<p>
-Open an entity and return it.
-<p>
-<var>type</var> is representation-type. <cf node="mm-backend">
-<p>
-<var>location</var> is location of entity.  Specification of it is
-depended on representation-type.
-</defun>
-
-<defun name="mime-parse-buffer">
-         <opts> buffer type
-<p>
-<var>buffer</var> \e$B$r\e(B message \e$B$H$7$F9=J82r@O$7!"$=$N7k2L$N\e(B mime-entity 
-\e$B$r\e(B <var>buffer</var> \e$B$N\e(B<code>mime-message-structure</code> \e$B$K3JG<$9$k!#\e(B
-<p>
-<var>buffer</var> \e$B$,>JN,$5$l$?>l9g!"8=:_$N\e(B buffer \e$B$r9=J82r@O$9$k!#\e(B
-<p>
-<var>type</var> \e$B$,;XDj$5$l$?>l9g!"$=$NCM$r@8@.$5$l$k\e(B mime-entity \e$B$NI=\e(B
-\e$B>]7?$H$7$FMQ$$$k!#>JN,$5$l$?>l9g$O\e(B <var>buffer</var> \e$B$H$J$k!#\e(B<cf
-node="mm-backend">
-</defun>
-
-
-<h2> Entity \e$B3,AX\e(B
-<node> Entity hierarchy
-<p>
-<defvar name="mime-message-structure">
-<p>
-\e$B8=:_$N\e(B buffer \e$B$K$*$1$k\e(B message \e$BA4BN$N\e(B mime-entity \e$B9=B$BN$r3JG<$9$k\e(B
-buffer local \e$BJQ?t!#\e(B
-</defvar>
-
-<defun name="mime-entity-children">
-         <args> entity
-<p>
-<var>entity</var> \e$B$K4^$^$l$k\e(B entity \e$B$N\e(B list \e$B$rJV$9!#\e(B
-</defun>
-
-<defun name="mime-entity-parent">
-         <args> entity <opts> message
-<p>
-<var>entity</var> \e$B$N?F$N\e(B entity \e$B$rJV$9!#\e(B
-<p>
-<var>message</var> \e$B$,;XDj$5$l$?>l9g!"$3$l$r:,$H8+Jo$9!#\e(B
-</defun>
-
-<defun name="mime-root-entity-p">
-         <args> entity
-<p>
-<var>entity</var> \e$B$,:,!JB($A!"\e(Bmessage \e$BA4BN!K$G$"$k>l9g$K!"\e(B
-\e$BHs\e(B-<code>nil</code> \e$B$rJV$9!#\e(B
-</defun>
-
-<defun name="mime-entity-node-id">
-         <args> entity
-<p>
-<var>entity</var> \e$B$N\e(B node-id \e$B$rJV$9!#\e(B
-</defun>
-
-<defun name="mime-entity-number">
-         <args> entity
-<p>
-<var>entity</var> \e$B$N\e(B entity-number \e$B$rJV$9!#\e(B
-</defun>
-
-<defun name="mime-find-entity-from-number">
-           <args> entity-number <opts> message
-<p>
-Return entity from <var>entity-number</var> in <var>message</var>.
-<p>
-If <var>message</var> is not specified,
-<code>mime-message-structure</code> is used.
-</defun>
-
-<defun name="mime-find-entity-from-node-id">
-           <args> entity-node-id <opts> message
-<p>
-Return entity from <var>entity-node-id</var> in <var>message</var>.
-<p>
-If <var>message</var> is not specified,
-<code>mime-message-structure</code> is used.
-</defun>
-
-
-<h2> Entity \e$B$NB0@-\e(B
-<node> Entity Attributes
-<p>
-<defun name="mime-entity-content-type">
-           <args> entity
-<p>
-<var>entity</var> \e$B$N\e(B content-type \e$B$rJV$9!#\e(B<cf
-node="mime-content-type">
-</defun>
-
-<defun name="mime-entity-content-disposition">
-           <args> entity
-<p>
-<var>entity</var> \e$B$N\e(B content-disposition \e$B$rJV$9!#\e(B<cf
-node="mime-content-disposition">
-</defun>
-
-<defun name="mime-entity-filename">
-           <args> entity
-<p>
-<var>entity</var> \e$B$N\e(B file \e$BL>$rJV$9!#\e(B
-</defun>
-
-<defun name="mime-entity-encoding">
-           <args> entity <opts> default-encoding
-<p>
-<var>entity</var> \e$B$N\e(B content-transfer-encoding \e$B$rJV$9!#\e(B<cf
-node="Content-Transfer-Encoding">
-<p>
-\e$B$b$7!"\e(B<var>entity</var> \e$B$K\e(B Content-Transfer-Encoding \e$BMs$,B8:_$7$J$$>l\e(B
-\e$B9g$O!"\e(B<var>default-encoding</var> \e$B$rJV$9!#$3$l$,;XDj$5$l$J$$>l9g$O!"\e(B
-<code>"7bit"</code> \e$B$rMQ$$$k!#\e(B
-</defun>
-
-<defun name="mime-entity-cooked-p">
-           <args> entity
-<p>
-Return non-nil if contents of <var>entity</var> has been already
-code-converted.
-</defun>
-
-
-<h2> Entity header \e$B$N>pJs\e(B
-<node> Entity-header
-<p>
-<defun name="mime-fetch-field">
-           <args> field-name <opts> entity
-<p>
-<var>entity</var> \e$B$N\e(B header \e$BCf$N\e(B <var>field-name</var> \e$BMs$N\e(B body \e$B$rJV$9!#\e(B
-<p>
-\e$B7k2L$NJ8;zNs$O\e(B network \e$BI=8=$N$^$^$G$"$k!#\e(B
-<p>
-<var>entity</var> \e$B$,>JN,$5$l$?>l9g$O!"\e(B
-<code>mime-message-structure</code> \e$B$NCM$rMQ$$$k!#\e(B
-<p>
-<var>field-name</var> \e$BMs$,B8:_$7$J$$>l9g$O\e(B <code>nil</code> \e$B$rJV$9!#\e(B
-</defun>
-
-<defun name="mime-read-field">
-           <args> field-name <opts> entity
-<p>
-<var>entity</var> \e$B$N\e(B header \e$BCf$N\e(B <var>field-name</var> \e$BMs$r9=J82r@O$7$?\e(B
-\e$B7k2L$rJV$9!#\e(B
-<p>
-\e$B7k2L$N7A<0$OMsKh$K0[$J$k!#Hs9=B$2=Ms$N>l9g$OJ8;zNs$rJV$7!"9=B$2=Ms$N>l9g\e(B
-\e$B$O$=$N7A<0$K=>$C$?\e(B list \e$B$rJV$9!#\e(B
-<p>
-\e$B7k2LCf$NJ8;zNs$O\e(B Emacs \e$B$NFbItI=8=$KJQ49$5$l$k!#\e(B
-<p>
-<var>entity</var> \e$B$,>JN,$5$l$?>l9g$O!"\e(B
-<code>mime-message-structure</code> \e$B$NCM$rMQ$$$k!#\e(B
-<p>
-<var>field-name</var> \e$BMs$,B8:_$7$J$$>l9g$O\e(B nil \e$B$rJV$9!#\e(B
-</defun>
-
-<defun name="mime-insert-decoded-header">
-           <args> entity <opts> invisible-fields visible-fields
-<p>
-\e$B8=:_0LCV$K\e(B <var>entity</var> \e$B$NI|9f$7$?\e(B header \e$B$rA^F~$9$k!#\e(B
-<p>
-<var>invisible-fields</var> \e$B$H\e(B <var>visible-fields</var> \e$B$O@55,I=8=$N\e(B
-list \e$B$G!"$=$l$>$l!"I=<($7$?$/$J$$\e(B field \e$BL>$HI=<($7$?$$MsL>$rI=8=$7$?$b$N\e(B
-\e$B$G$"$k!#\e(B
-<p>
-<var>invisible-fields</var> \e$B$NMWAG$N$I$l$+$K\e(B match \e$B$7!"$+$D!"\e(B
-<var>visible-fields</var> \e$B$NMWAG$N$I$l$K$b\e(B match \e$B$7$J$$Ms$OI=<($5$l$J$$!#\e(B
-</defun>
-
-
-<h2> Entity \e$B$NFbMF\e(B
-<node> Entity-content
-<p>
-<defun name="mime-entity-content">
-           <args> entity
-<p>
-<var>entity</var> \e$B$NFbMF$N\e(B byte \e$BNs$rJV$9!#\e(B
-</defun>
-
-<defun name="mime-write-entity-content">
-           <args> entity filename
-<p>
-Write content of <var>entity</var> into <var>filename</var>.
-</defun>
-
-<defun name="mime-write-entity">
-           <args> entity filename
-<p>
-Write representation of <var>entity</var> into <var>filename</var>.
-</defun>
-
-<defun name="mime-write-entity-body">
-           <args> entity filename
-<p>
-Write body of <var>entity</var> into <var>filename</var>.
-</defun>
-
-
-<h2> Entity \e$B$N\e(B buffer \e$B$K$h$kI=8=\e(B
-<node> Entity buffer
-<p>
-<defun name="mime-entity-buffer">
-           <args> entity
-<p>
-<var>entity</var> \e$B$,B8:_$9$k\e(B buffer \e$B$rJV$9!#\e(B
-</defun>
-
-<defun name="mime-entity-point-min">
-           <args> entity
-<p>
-<var>entity</var> \e$B$,B8:_$9$k\e(B buffer \e$B$K$*$1$k!"\e(B<var>entity</var> \e$B$,@j$a$k\e(B
-\e$BNN0h$N@hF,0LCV$rJV$9!#\e(B
-</defun>
-
-<defun name="mime-entity-point-max">
-           <args> entity
-<p>
-<var>entity</var> \e$B$,B8:_$9$k\e(B buffer \e$B$K$*$1$k!"\e(B<var>entity</var> \e$B$,@j$a$k\e(B
-\e$BNN0h$NKvHx0LCV$rJV$9!#\e(B
-</defun>
-
-<defun name="mime-entity-header-start">
-           <args> entity
-<p>
-<var>entity</var> \e$B$,B8:_$9$k\e(B buffer \e$B$K$*$1$k!"\e(Bheader \e$B$,@j$a$kNN0h$N@hF,\e(B
-\e$B0LCV$rJV$9!#\e(B
-</defun>
-
-<defun name="mime-entity-header-end">
-           <args> entity
-<p>
-<var>entity</var> \e$B$,B8:_$9$k\e(B buffer \e$B$K$*$1$k!"\e(Bheader \e$B$,@j$a$kNN0h$NKvHx\e(B
-\e$B0LCV$rJV$9!#\e(B
-</defun>
-
-<defun name="mime-entity-body-start">
-           <args> entity
-<p>
-<var>entity</var> \e$B$,B8:_$9$k\e(B buffer \e$B$K$*$1$k!"\e(Bbody \e$B$,@j$a$kNN0h$N@hF,0L\e(B
-\e$BCV$rJV$9!#\e(B
-</defun>
-
-<defun name="mime-entity-body-end">
-           <args> entity
-<p>
-<var>entity</var> \e$B$,B8:_$9$k\e(B buffer \e$B$K$*$1$k!"\e(Bbody \e$B$,@j$a$kNN0h$NKvHx0L\e(B
-\e$BCV$rJV$9!#\e(B
-</defun>
-
-
-<h2> Entity \e$B$NI=8=$H<B8=\e(B
-<node> mm-backend
-<p>
-Entity \e$B$OCj>]2=$5$l$?%G!<%?I=8=$G!"<B:]$N%G!<%?I=8=$H$7$F$OMQES$K1~$8$F\e(B
-\e$B$5$^$6$^$J$b$N$,MxMQ$G$-$k$h$&$K@_7W$5$l$F$$$^$9!#\e(B
-<p>
-\e$B$3$3$G!"\e(Bentity \e$B$,$I$&$$$&<oN`$NI=8=$r9T$C$F$$$k$+$r<($9$N$,\e(B
-<concept>representation-type</concept> \e$B$G!"\e(Bentity \e$B$r@8@.$9$k;~$K$O$3$l$r\e(B
-\e$B;XDj$7$^$9!#\e(B<cf node="Entity Creation">
-<p>
-\e$BA0@a$^$G$K=R$Y$FMh$?\e(B entity \e$B$KBP$9$k=hM}$O!"\e(Bentity \e$B$KBP$7$F$=$N=hM}$r0M\e(B
-\e$BMj$9$k$3$H$K$h$C$F<B8=$5$l$F$$$^$9!#\e(BEntity \e$B$O<+J,$N\e(B 
-representation-type \e$B$rCN$C$F$*$j!"$=$N\e(B representation-type \e$B$K1~$8$F<B:]\e(B
-\e$B$N=hM}$r9T$&4X?t$r8F$S=P$7$^$9!#$3$N$h$&$J4X?t$r\e(B <concept>entity \e$B=hM}\e(B
-method</concept> \e$B$H8F$S$^$9!#$^$?!"\e(Brepresentation-type \e$BKh$K$3$N$h$&$J4X\e(B
-\e$B?t$r$^$H$a$?$b$N$r\e(B <concept>mm-backend</concept> \e$B$H8F$S$^$9!#\e(B
-<p>
-mm-backend \e$B$O\e(B representation-type \e$B$NL>A0$N@hF,$K\e(B <code>mm</code> \e$B$H$$$&\e(B
-\e$B@\F,<-$rIU$1$?4X?tL>$+$i$J$k\e(B module \e$B$G!"$=$N\e(B module \e$BL>$OF1MM$K\e(B
-representation-type \e$B$NL>A0$N@hF,$K\e(B <code>mm</code> \e$B$rIU$1$?$b$N$K$J$C$F\e(B
-\e$B$$$^$9!#$3$N\e(B module \e$B$O\e(B representation-type \e$B$N\e(B entity \e$B$,:G=i$K@8@.$5$l$k\e(B
-\e$B;~$K<+F0E*$K\e(B require \e$B$5$l$^$9!#\e(B
-
-
-<h3> Entity \e$B$X$NJX$j\e(B
-<node> Request for entity
-<p>
-<defun name="mime-entity-send">
-             <args> entity message <rest> args
-<p>
-<var>entity</var> \e$B$K\e(B <var>message</var> \e$B$rAw$k!#\e(B
-<p>
-<var>args</var> \e$B$O\e(B <var>message</var> \e$B$N0z?t$G$"$k!#\e(B
-</defun>
-
-
-<h3> mm-backend \e$B$N:n$jJ}\e(B
-<node> mm-backend module
-<p>
-\e$B!J$9$_$^$;$s!#$=$N$&$A=q$-$^$9\e(B (^_^;\e$B!K\e(B
-<p>
-\e$B!J$H$j$"$($:!"\e(Bmm*.el \e$B$r;29M$K$7$F$/$@$5$$!K\e(B
-
-
-<h1> Content-Type \e$BMs$N>pJs\e(B
-<node> Content-Type
-<p>
-<concept>Content-Type \e$BMs\e(B</concept> \e$B$O\e(B <dref>media-type</dref> \e$B$d\e(B MIME
-charset \e$B$H$$$C$?\e(B <dref>entity</dref> \e$B$NFbMF$N<oN`$dI=8=7A<0$J$I$r5-=R\e(B
-\e$B$9$k$?$a$N$b$N$G!"\e(B<dref>RFC 2045</dref> \e$B$GDj5A$5$l$F$$$^$9!#\e(B
-
-<memo>
-<p>
-\e$BNr;KE*$K$O\e(B RFC 1049 \e$B$G\e(B Content-Type \e$BMs$,Ds0F$5$l$F$$$k!#C"$7!"\e(BMIME \e$B$N\e(B
-media-type \e$B$N$h$&$J\e(B type \e$B$H\e(B subtype \e$B$N6hJL$O$J$/!"\e(BMIME charset \e$B$N$h$&\e(B
-\e$B$JJ8;zId9f$N<oN`$rI=8=$9$k$3$H$b$G$-$J$$!#\e(B
-</memo>
-
-<p>
-FLIM \e$B$O\e(B Content-Type \e$BMs$r9=J82r@O$9$k4X?t$H\e(B Content-Type \e$BMs$N2r@O7k2L$r\e(B
-\e$B3JG<$9$k9=B$BN\e(B <concept>mime-content-type</concept> \e$B$rDs6!$7$^$9!#\e(B
-
-
-<h2> Content-Type \e$BMs$N7A<0\e(B
-<node> Content-Type field
-<p>
-Content-Type \e$BMs$N7A<0$O0J2<$N$h$&$KDj5A$5$l$F$$$^$9!'\e(B
-
-<quote>
-``Content-Type'' ``:'' <concept>type</concept> ``/''
-<concept>subtype</concept> *( ``;'' <concept>parameter</concept> )
-</quote>
-<p>
-\e$BNc$($P!"\e(B
-
-<quote>
-<verb>
-Content-Type: image/jpeg
-</verb>
-</quote>
-
-<noindent>
-\e$B$d\e(B
-
-<quote>
-<verb>
-Content-Type: text/plain; charset=iso-2022-jp
-</verb>
-</quote>
-
-<noindent>
-\e$B$J$I$N$h$&$KMQ$$$i$l$^$9!#\e(B
-<p>
-\e$B$3$3$G!"\e(B`type' \e$B$H\e(B `subtype' \e$B$O\e(B entity \e$B$N7A<0$r<($9$b$N$G!"N><T$rAm>N$7\e(B
-\e$B$F!"\e(B`media-type' \e$B$H8F$V$3$H$K$7$^$9!#>e5-$NNc$K$*$1$k\e(B `image/jpeg' \e$B$d\e(B
-`text/plain' \e$B$O\e(B media-type \e$B$N#1$D$G$9!#\e(B
-
-<memo>
-<p>
-Content-Type \e$BMs$N$J$$\e(B entity \e$B$O\e(B
-
-<quote>
-<verb>
-Content-Type: text/plain; charset=us-ascii
-</verb>
-</quote>
-
-<noindent>
-\e$B$H$7$F2r<a$5$l$k!#\e(B<cf node="us-ascii">
-</memo>
-
-
-<h2> mime-content-type \e$B9=B$BN\e(B
-<node> mime-content-type
-<p>
-<define type="Structure" name="mime-content-type">
-<p>
-Content-Type \e$BMs$N>pJs$r3JG<$9$k$?$a$N9=B$BN!#\e(B
-<p>
-\e$B$3$N9=B$BN$r;2>H$9$k$K$O\e(B <code>mime-content-type-\e$BMWAGL>\e(B</code> \e$B$H$$$&L>\e(B
-\e$BA0$N;2>H4X?t$rMQ$$$k!#\e(B
-<p>
-\e$B$3$N9=B$BN$NMWAG$O0J2<$NDL$j$G$"$k!'\e(B
-
-<vl>
-<dt>primary-type<dd>media-type \e$B$N<g7?\e(B (symbol).
-</dd>
-<dt>subtype<dd>media-type \e$B$NI{7?\e(B (symbol).
-</dd>
-<dt>parameters<dd>Content-Type \e$BMs$N\e(B parameter (\e$BO"A[\e(B list).
-</dd>
-</vl>
-</define>
-
-<defun name="make-mime-content-type">
-         <args> type subtype
-         <opts> parameters
-<p>content-type \e$B$N@8@.;R!#\e(B
-</defun>
-
-<defun name="mime-content-type-parameter">
-<args> content-type parameter
-<p>
-<var>content-type</var> \e$B$N\e(B <var>parameter</var> \e$B$NCM$rJV$9!#\e(B
-</defun>
-
-
-<h2> Content-Type \e$BMs$N2r@O4o\e(B
-<node> Content-Type parser
-<p>
-<defun name="mime-parse-Content-Type">
-         <args> string
-<p>
-<var>string</var> \e$B$r\e(B content-type \e$B$H$7$F2r@O$7$?7k2L$rJV$9!#\e(B
-</defun>
-
-<defun name="mime-read-Content-Type">
-<p>
-\e$B8=:_$N\e(B buffer \e$B$N\e(B Content-Type \e$BMs$rFI$_<h$j!"2r@O$7$?7k2L$rJV$9!#\e(B
-<p>
-Content-Type \e$BMs$,B8:_$7$J$$>l9g$O\e(B nil \e$B$rJV$9!#\e(B
-</defun>
-
-
-<h2> Content-Type \e$B$K4X$9$kM-MQ$J4X?t\e(B
-<node> Content-Type utility
-<p>
-<defun name="mime-type/subtype-string">
-         <args> type <opts> subtype
-<p>
-<var>type</var> \e$B$H\e(B <var>subtype</var> \e$B$+$i\e(B type/subtype \e$B7A<0$NJ8;zNs$rJV\e(B
-\e$B$9!#\e(B
-</defun>
-
-
-<h1> Content-Disposition \e$BMs$N>pJs\e(B
-<node> Content-Disposition
-<p>
-<concept>Content-Disposition \e$BMs\e(B</concept> \e$B$O\e(B entity \e$B$NI=<($d\e(B file \e$BL>$J$I\e(B
-\e$B$NB0@-$K$J$I$K4X$9$k>pJs$r5-=R$9$k$?$a$N$b$N$G$9!#\e(B
-
-<rfc number="2183" type="Standards Track"
-             author="S. Dorner, K. Moore and R. Troost"
-             title="Communicating Presentation Information in
-             Internet Messages: The Content-Disposition Header"
-             date="August 1997">
-<p>
-FLIM \e$B$O\e(B Content-Disposition \e$BMs$r9=J82r@O$9$k4X?t$H\e(B Content-Disposition 
-\e$BMs$N2r@O7k2L$r3JG<$9$k9=B$BN\e(B 
-<concept>mime-content-disposition</concept> \e$B$rDs6!$7$^$9!#\e(B
-
-
-<h2> mime-content-disposition \e$B9=B$BN\e(B
-<node> mime-content-disposition
-<p>
-<define type="Structure" name="mime-content-disposition">
-<p>
-Content-Disposition \e$BMs$N2r@O7k2L$r<}$a$k$?$a$N9=B$BN!#\e(B
-<p>
-\e$B$3$N9=B$BN$r;2>H$9$k$K$O\e(B <code>mime-content-disposition-\e$BMWAGL>\e(B</code> \e$B$H\e(B
-\e$B$$$&L>A0$N;2>H4X?t$rMQ$$$k!#\e(B
-<p>
-\e$B$3$N9=B$BN$NMWAG$O0J2<$NDL$j$G$"$k!'\e(B
-
-<vl>
-<dt>disposition-type<dd>disposition-type (symbol).
-</dd>
-<dt>parameters<dd>Content-Disposition \e$BMs$N\e(B parameter (\e$BO"A[\e(B list).
-</dd>
-</vl>
-</define>
-
-<defun name="mime-content-disposition-parameter">
-<args> content-disposition parameter
-<p>
-<var>content-disposition</var> \e$B$N\e(B <var>parameter</var> \e$B$NCM$rJV$9!#\e(B
-</defun>
-
-<defun name="mime-content-disposition-filename">
-<args> content-disposition
-<p>
-<var>content-disposition</var> \e$B$N\e(B filename \e$B$NCM$rJV$9!#\e(B
-</defun>
-
-
-<h2> Content-Disposition \e$BMs$N2r@O4o\e(B
-<node> Content-Disposition parser
-<p>
-<defun name="mime-parse-Content-Disposition">
-           <args> string
-<p>
-<var>string</var> \e$B$r\e(B content-disposition \e$B$H$7$F2r@O$7$?7k2L$rJV$9!#\e(B
-</defun>
-
-<defun name="mime-read-Content-Disposition">
-<p>
-\e$B8=:_$N\e(B buffer \e$B$N\e(B Content-Disposition \e$BMs$rFI$_<h$j!"2r@O$7$?7k2L$rJV$9!#\e(B
-<p>
-Content-Disposition \e$BMs$,B8:_$7$J$$>l9g$O\e(B nil \e$B$rJV$9!#\e(B
-</defun>
-
-
-<h1> \e$BId9f2=K!\e(B
-<node> Content-Transfer-Encoding
-<p>
-<concept>Content-Transfer-Encoding \e$BMs\e(B</concept> \e$B$O\e(B entity \e$B$NId9f2=K!$r5-\e(B
-\e$B=R$9$k$?$a$N$b$N$G$9!#\e(B
-<p>
-FLIM \e$B$G$O\e(B Content-Transfer-Encoding \e$BMs$r9=J82r@O$9$k4X?t$rDs6!$7$^$9!#$3\e(B
-\e$B$l$i$N4X?t$O\e(B Content-Transfer-Encoding \e$BMs$N>pJs$OJ8;zNs$GI=8=$7$^$9!#\e(B
-<p>
-\e$B$^$?!"\e(BContent-Transfer-Encoding \e$B$K4p$E$$$FId9f2=!&I|9f2=$r9T$&4X?t$bDs\e(B
-\e$B6!$5$l$^$9!#\e(B
-
-
-<h2> Content-Transfer-Encoding \e$BMs$N2r@O4o\e(B
-<node> Content-Transfer-Encoding parser
-<p>
-<defun name="mime-parse-Content-Transfer-Encoding">
-         <args> string
-<p>
-<var>string</var> \e$B$r\e(B content-transfer-encoding \e$B$H$7$F2r@O$7$?7k2L$rJV$9!#\e(B
-</defun>
-
-<defun name="mime-read-Content-Transfer-Encoding">
-         <opts>default-encoding
-<p>
-\e$B8=:_$N\e(B buffer \e$B$N\e(B Content-Transfer-Encoding \e$BMs$rFI$_<h$j!"2r@O$7$?7k2L$r\e(B
-\e$BJV$9!#\e(B
-<p>
-Content-Transfer-Encoding \e$BMs$,B8:_$7$J$$>l9g$O\e(B
-<var>default-encoding</var> \e$B$rJV$9!#\e(B
-</defun>
-
-
-<h2> \e$BNN0h$NId9f2=!&I|9f2=\e(B
-<node> Region encoder/decoder
-<p>
-<defun name="mime-encode-region">
-           <args> start end encoding
-<p>
-Encode region <var>start</var> to <var>end</var> of current buffer
-using <var>encoding</var>.
-</defun>
-
-<defun name="mime-decode-region">
-           <args> start end encoding
-<p>
-Decode region <var>start</var> to <var>end</var> of current buffer
-using <var>encoding</var>.
-</defun>
-
-<defvar name="mime-encoding-method-alist">
-<p>
-Alist of encoding vs. corresponding method to encode region.
-<p>
-Each element looks like <code>(STRING . FUNCTION)</code> or
-<code>(STRING . nil)</code>.  <var>string</var> is
-content-transfer-encoding.  <code>function</code> is region encoder
-and <code>nil</code> means not to encode.
-</defvar>
-
-<defvar name="mime-decoding-method-alist">
-<p>
-Alist of encoding vs. corresponding method to decode region.
-<p>
-Each element looks like <code>(STRING . FUNCTION)</code> or
-<code>(STRING . nil)</code>.  <var>string</var> is
-content-transfer-encoding.  <code>function</code> is region decoder
-and <code>nil</code> means not to decode.
-</defvar>
-
-
-<h2> \e$BJ8;zNs$NId9f2=!&I|9f2=\e(B
-<node> String encoder/decoder
-<p>
-<defun name="mime-decode-string">
-             <args> string encoding
-<p>
-<var>string</var> \e$B$r\e(B <var>encoding</var> \e$B$H$7$FI|9f$7$?7k2L$rJV$7$^$9!#\e(B
-</defun>
-
-<defvar name="mime-string-decoding-method-alist">
-<p>
-Alist of encoding vs. corresponding method to decode string.
-<p>
-Each element looks like <code>(STRING . FUNCTION)</code>.
-STRING is content-transfer-encoding.
-FUNCTION is string decoder.
-</defvar>
-
-
-<h2> File \e$B$NId9f2=!&I|9f2=\e(B
-<node> File encoder/decoder
-<p>
-<defun name="mime-insert-encoded-file">
-           <args> filename encoding
-<p>
-Insert file <var>FILENAME</var> encoded by <var>ENCODING</var> format.
-</defun>
-
-<defun name="mime-write-decoded-region">
-             <args> start end filename encoding
-<p>
-Decode and write current region encoded by <var>encoding</var> into
-<var>filename</var>.
-<p>
-<var>start</var> and <var>end</var> are buffer positions.
-</defun>
-
-<defvar name="mime-file-encoding-method-alist">
-<p>
-Alist of encoding vs. corresponding method to insert encoded file.
-<p>
-Each element looks like <code>(STRING . FUNCTION)</code>.  STRING is
-content-transfer-encoding.  FUNCTION is function to insert encoded
-file.
-</defvar>
-
-<defvar name="mime-file-decoding-method-alist">
-<p>
-Alist of encoding vs. corresponding method to write decoded region to
-file.
-<p>
-Each element looks like <code>(STRING . FUNCTION)</code>.  STRING is
-content-transfer-encoding.  FUNCTION is function to write decoded
-region to file.
-</defvar>
-
-
-<h1> Header \e$B$N\e(B network \e$BI=8=\e(B
-<node> encoded-word
-<p>
-encoded-word \e$B$O\e(B header \e$B$GHs\e(B <dref>ASCII</dref> \e$BJ8;z$rI=8=$9$k$?$a$N7A\e(B
-\e$B<0$G!"\e(B<concept>RFC 2047</concept> \e$B$GDj5A$5$l$F$$$^$9!#\e(B
-<p>
-<rfc number="2047" type="Standards Track" author="K. Moore"
-             title="MIME (Multipurpose Internet Mail Extensions) Part
-             Three: Message Header Extensions for Non-ASCII Text"
-             date="November 1996" obsolete="1521,1522,1590">
-<p>
-\e$B$^$?!"9T57$N0-$$$3$H$@$H8@$($^$9$,!"\e(Bencoded-word \e$B$rMQ$$$:$KHs\e(B 
-<dref>ASCII</dref> \e$BJ8;z$r\e(B header \e$B$KF~$l$?5-;v$bB8:_$7$^$9!#\e(B
-<p>
-FLIM \e$B$O$3$l$i$rId9f2=!&I|9f2=$9$k5!G=$rDs6!$7$^$9!#\e(B
-
-
-<h2> Header \e$B$NId9f2=!&I|9f2=\e(B
-<node> Header encoder/decoder
-<p>
-<defun name="eword-encode-header">
-             <opts> code-conversion separator
-<p>
-Decode MIME encoded-words in header fields.
-<p>
-If <var>code-conversion</var> is <code>nil</code>, it decodes only
-encoded-words.  If it is mime-charset, it decodes non-ASCII bit
-patterns as the mime-charset.  Otherwise it decodes non-ASCII bit
-patterns as the default-mime-charset.
-<p>
-If <var>separator</var> is not nil, it is used as header separator.
-</defun>
-
-<defun name="eword-encode-header">
-             <opts> code-conversion
-<p>
-Encode header fields to network representation, such as MIME
-encoded-word.
-<p>
-It refer variable <code>eword-field-encoding-method-alist</code>.
-</defun>
-
-
-<h1> \e$B0lHL@_Dj\e(B
-<node> custom
-<p>
-<define type="group" name="mime">
-<p>
-MIME \e$B4XO"5!G=$K4X$9$k\e(B group.
-<p>
-<code>mail</code> \e$B$H\e(B <code>news</code> \e$B$KB0$9$k!#\e(B
-</define>
-
-<defvar name="default-mime-charset">
-<p>
-\e$BE,@Z$J\e(B <dref>MIME charset</dref> \e$B$,8+$D$+$i$J$+$C$?>l9g$KMQ$$$i$l$k\e(B
-MIME charset.
-<p>
-\e$BK\Mh$O\e(B APEL \e$B$NJQ?t$G$"$k!#\e(B
-</defvar>
-
-<defvar name="mime-temp-directory">
-<p>
-MIME \e$B5!G=$K4X$9$k<BAu$,0l;~E*$K;HMQ$9$k\e(B file \e$B$r:n@.$9$k\e(B directory.
-<p>
-\e$B4D6-JQ?t\e(B <code>MIME_TMP_DIR</code>, <code>TM_TMP_DIR</code>,
-<code>TMPDIR</code>, <code>TMP</code> \e$B$b$7$/$O\e(B <code>TEMP</code> \e$B$,@_Dj\e(B
-\e$B$5$l$F$$$?>l9g!"$=$l$r=i4|CM$H$7$FMQ$$$k!#2?$b@_Dj$5$l$F$$$J$$>l9g!"\e(B
-<code>"/tmp/"</code> \e$B$rMQ$$$k!#\e(B
-</defvar>
-
-
-<h1> \e$BIUO?\e(B
-<node> Appendix
-
-<h2> \e$BMQ8l\e(B
-<node> Glossary
-
-<h3> 7bit
-<node> 7bit
-<p>
-\e$B$3$3$G$O\e(B 0 \e$B$+$i\e(B 127 \e$B$N@0?t$r;X$9!#\e(B
-<p>
-0 \e$B$+$i\e(B 127 \e$B$N@0?t$NNs$GI=8=$G$-$k$h$&$J\e(B data \e$B$r\e(B ``7bit \e$B$N\e(B data'' \e$B$H8F\e(B
-\e$B$V!#\e(B
-<p>
-\e$B$^$?!"\e(B0 \e$B$+$i\e(B 31 \e$B$*$h$S\e(B 127 \e$B$GI=8=$5$l$k@)8fJ8;z$H\e(B 32 \e$B$GI=8=$5$l$k6uGr\e(B
-\e$B$H\e(B 33 \e$B$+$i\e(B 126 \e$B$GI=8=$5$l$k?^7AJ8;z$+$i$J$kJ8;zNs$N$3$H$r\e(B ``7bit \e$B$NJ8\e(B
-\e$B;zNs\e(B'' \e$B$H8F$V!J$3$l$O\e(B <dref>ISO 2022</dref> \e$B$N!V\e(B7 \e$BC10L7O!W$HF1MM!K!#\e(B
-<p>
-\e$BEAE}E*$J\e(B Internet \e$B$N\e(B <dref>MTA</dref> \e$B$O\e(B 7bit \e$B$N\e(B data \e$B$rE>Aw$G$-$k$N$G!"\e(B
-7bit \e$B$N\e(B data \e$B$O\e(B <dref>Quoted-Printable</dref> \e$B$d\e(B <dref>Base64</dref> 
-\e$B$H$$$C$?JQ49$r9T$o$J$/$F$b$=$N$^$^E>Aw$G$-$k!#\e(B
-<p>
-\e$B$7$+$7!"\e(B7bit \e$B$G$"$l$P$I$s$J\e(B data \e$B$G$bNI$$$H$O$$$($J$$!#$J$<$J$i!"#19T\e(B
-\e$B$ND9$5$,$"$^$j$KD9$$$H!"\e(BMTA \e$B$O$=$N\e(B message \e$B$rE>Aw$9$k$3$H$,$G$-$J$$$+\e(B
-\e$B$i$G$"$k!#$A$J$_$K!"\e(B<dref>RFC 821</dref> \e$B$O#19T$O2~9TJ8;z$r=|$$$F\e(B 998
-byte \e$B0JFb$G$"$k$3$H$r5a$a$F$$$k!#$h$C$F!"$3$l0J>e$N9T$,4^$^$l$k2DG=@-\e(B
-\e$B$N$"$k\e(B data, \e$BNc$($P!"\e(BPostscript \e$B$N\e(B data \e$B$J$I$O\e(B Quoted-Printable \e$BEy$G\e(B 
-encode\e$B$9$kI,MQ$,$"$k!#\e(B
-
-
-<h3> 8bit
-<node> 8bit
-<p>
-\e$B$3$3$G$O\e(B 0 \e$B$+$i\e(B 255 \e$B$N@0?t$r;X$9!#\e(B
-<p>
-0 \e$B$+$i\e(B 255 \e$B$N@0?t$NNs$GI=8=$G$-$k$h$&$J\e(B data \e$B$r\e(B ``8bit \e$B$N\e(B data'' \e$B$H8F\e(B
-\e$B$V!#\e(B
-<p>
-\e$B$^$?!"\e(B0 \e$B$+$i\e(B 31, 127 \e$B$*$h$S\e(B 128 \e$B$+$i\e(B 159 \e$B$GI=8=$5$l$k@)8fJ8;z$H\e(B 32 \e$B$G\e(B
-\e$BI=8=$5$l$k6uGr$H\e(B 33 \e$B$+$i\e(B 126 \e$B$H\e(B 160 \e$B$+$i\e(B 255 \e$B$GI=8=$5$l$k?^7AJ8;z$+$i\e(B
-\e$B$J$kJ8;zNs$N$3$H$r\e(B ``8bit \e$B$NJ8;zNs\e(B'' \e$B$H8F$V!J$3$l$O\e(B <dref>ISO
-2022</dref> \e$B$N!V\e(B8 \e$BC10L7O!W$HF1MM!K!#\e(B
-<p>
-<dref>iso-8859-1</dref> \e$B$d\e(B <dref>euc-kr</dref> \e$B$H$$$C$?Id9f2=J8;z=89g\e(B
-\e$B$O\e(B 8bit \e$B$NJ8;zNs$G$"$k!#\e(B
-<p>
-\e$BEAE}E*$J\e(B Internet \e$B$N\e(B <dref>MTA</dref> \e$B$O\e(B <dref>7bit</dref> \e$B$N\e(B data \e$B$7\e(B
-\e$B$+E>Aw$G$-$J$$$N$G!"$=$&$7$?\e(B MTA \e$B$r7PM3$9$k>l9g!"\e(B
-<dref>Quoted-Printable</dref> \e$B$d\e(B <dref>Base64</dref> \e$B$H$$$C$?JQ49$r9T\e(B
-\e$B$o$J$/$F$O$J$i$J$$!#\e(B
-<p>
-\e$B$7$+$7!":G6a$G$O\e(B 8bit \e$B$NJ8;zNs$r$=$N$^$^DL$9$3$H$,$G$-$k\e(B MTA \e$B$bEP>l$7\e(B
-\e$B$F$-$?$N$G!"$=$N$^$^Aw$k$3$H$,$G$-$k>l9g$bA}$($F$-$?!#\e(B
-<p>
-\e$B$7$+$7!"\e(B8bit \e$B$G$"$l$P$I$s$J\e(B data \e$B$G$bNI$$$H$O$$$($J$$!#$J$<$J$i!"#19T\e(B
-\e$B$ND9$5$,$"$^$j$KD9$$$H!"\e(BMTA \e$B$O$=$N\e(B message \e$B$rE>Aw$9$k$3$H$,$G$-$J$$$+\e(B
-\e$B$i$G$"$k!#$A$J$_$K!"\e(B<dref>RFC 821</dref> \e$B$O#19T$O2~9TJ8;z$r=|$$$F\e(B 998
-byte \e$B0JFb$G$"$k$3$H$r5a$a$F$$$k!#$h$C$F!"$3$l0J>e$N9T$,4^$^$l$k2DG=@-\e(B
-\e$B$N$"$k\e(B data, \e$BNc$($P!"\e(BPostscript \e$B$N\e(B data \e$B$J$I$O\e(B Quoted-Printable \e$BEy$G\e(B 
-encode\e$B$9$kI,MQ$,$"$k!#\e(B
-<p>
-\e$B$^$?!"$3$&$7$?M}M3$+$i!"#19T$,\e(B 999 byte \e$B0J>e$N9T$,B8:_$9$k2DG=@-$N$"$k\e(B
-data \e$B$O\e(B <a node="binary"><concept>binary</concept></a> \e$B$H8F$V$3$H$K$9\e(B
-\e$B$k!#\e(B
-<p>
-\e$B$A$J$_$K!"\e(B7bit \e$B$GI=8=$G$-$k\e(B data \e$B$O\e(B 8bit \e$B$G$bI=8=$G$-$k!#$h$C$F!"\e(B
-``8bit'' \e$B$H8@$C$?>l9g!"#19T$,\e(B 998 byte \e$B0J2<$NG$0U$N\e(B data \e$B$r;X$9$3$H$,\e(B
-\e$B$"$k!#\e(B
-
-
-<h3> ASCII
-<node> ASCII
-<p>
-\e$B%"%a%j%+O"K.$G;H$o$l$kJ8;z$rId9f2=$7$?\e(B<dref>\e$BId9f2=J8;z=89g\e(B</dref>\e$B!#\e(B
-A-Z, a-z \e$B$N\e(B Latin \e$BJ8;z$H?t;z!"4v$D$+$N5-9f$+$i$J$k!#\e(BISO 646 \e$B$N0l$D$G!"\e(B
-\e$B8=:_$O9q:]4p=`HG\e(B (IRV) \e$B$K$J$C$F$$$k!#\e(B
-
-<standard abbrev="ASCII" title-en="Coded Character Set -- 7-Bit
-             American Standard Code for Information Interchange"
-             number="ANSI X3.4" year="1986">
-
-
-<h3> Base64
-<node> Base64
-<p>
-<dref>RFC 2045</dref> \e$B$GDj5A$5$l$F$$$k\e(B <dref>MIME</dref> \e$B$K$*$1$k\e(B <a
-node="binary">binary data</a> \e$B$N\e(B network \e$B$G$NJQ49K!$N#1$D!#\e(B
-<p>
-\e$B!X\e(B64 \e$B?J?t!Y$H$$$&0UL#$G!"\e(B3 byte \e$B$N\e(B data \e$B$r\e(B 0 \e$B$+$i\e(B 63 \e$B$N?t$rI=$9\e(B 
-<dref>ASCII</dref> 4 \e$BJ8;z$KJQ49$9$kJ}K!!#!J$b$7!"\e(B4 \e$BJ8;z$K$J$i$J$1$l$P\e(B 
-<concept>pad</concept> \e$B$H8F$P$l$k5M$aJ*$r$7$FD9$5$rD4@0$9$k!K\e(B
-<p>
-\e$B$3$N\e(B 65 \e$B<oN`$NJ8;z$O\e(B ASCII \e$B$H\e(B EBCDIC \e$B$N6&DLItJ,$+$iA*$P$l$F$*$j!"\e(B
-Internet \e$B0J30$N\e(B network \e$B$r7PM3$9$k>l9g$G$b0BA4$KE>Aw$G$-$k$h$&$K@_7W$5\e(B
-\e$B$l$F$$$k!#\e(B
-
-
-<h3> binary
-<node> binary
-<p>
-\e$BG$0U$N\e(B byte \e$BNs$r\e(B <concept>binary</concept> \e$B$H8F$V!#\e(B
-<p>
-<dref>8bit</dref> \e$B$H0[$J$k$N$O\e(B data \e$B$K9T$N9=B$$r2>Dj$7$J$$$3$H$G$"$k!#\e(B
-<p>
-\e$B$^$?!"9T$N9=B$$,$"$C$F$b!"\e(B999 byte \e$B0J>e$+$i$J$k9T$,$"$k>l9g$b\e(B binary 
-\e$B$H8F$V$3$H$K$9$k!#\e(B
-<p>
-\e$B$A$J$_$K!"\e(B<dref>7bit</dref> \e$B$d\e(B 8bit \e$B$GI=8=$G$-$k\e(B data \e$B$O\e(B binary \e$B$G$bI=\e(B
-\e$B8=$G$-$k!#$h$C$F!"\e(B<concept>binary data</concept> \e$B$H8@$C$?>l9g!"G$0U$N\e(B 
-data \e$B$r;X$9$3$H$,$"$k!#\e(B
-
-
-<h3> Coded character set\e$B!JId9f2=J8;z=89g!K\e(B, Character code\e$B!JJ8;zId9f!K\e(B
-<node> Coded character set
-<p>
-\e$BJ8;z$H\e(B byte \e$BNs$H#1BP#1$KBP1~IU$1$k[#Kf$G$J$$5,B'$N=89g!#\e(B
-
-
-<h3> media-type
-<node> media-type
-<p>
-<dref>MIME</dref> \e$B$K$*$1$k\e(B <dref>entity</dref> \e$B$N<oN`!#\e(B
-<concept>primary-type</concept> \e$B$H\e(B <concept>subtype</concept> \e$B$+$i$J$k!#\e(B
-<dref>RFC 2046</dref> \e$B$GDj5A$5$l$F$$$k!#\e(B
-<p>
-primary-type \e$B$OI8=`$G$O\e(B
-
-<ul>
-<li><concept>text</concept>
-</li>
-<li><concept>image</concept>
-</li>
-<li><concept>audio</concept>
-</li>
-<li><concept>video</concept>
-</li>
-<li><concept>application</concept>
-</li>
-<li><a node="multipart"><concept>multipart</concept></a>
-</li>
-<li><concept>message</concept>
-</ul>
-
-<noindent>
-\e$B$,Dj5A$5$l!"$=$l$>$l$K$O\e(B application/octet-stream, audio/basic,
-image/jpeg, <dref>multipart/mixed</dref>, <dref>text/plain</dref>,
-video/mpeg \e$B$J$I$N$5$^$6$^$J\e(B subtype \e$B$,Dj5A$5$l$F$$$k!#\e(B
-
-<memo title="\e$BCm0U\e(B">
-<p>
-\e$B$3$3$G$O!"\e(Btext/plain \e$B$J$I$N\e(B type/subtype \e$B$NAH$r$7$P$7$P\e(B 
-<concept>primary-type/subtype</concept> \e$B$H=q$/!#\e(B
-</memo>
-
-<p>
-media-type \e$B$O!"\e(BRFC 2046 \e$B$GDj5A$5$l$F$$$k$b$N$K2C$($F!"EPO?$9$k$3$H$b$G\e(B
-\e$B$-$k!#8=:_!"EPO?$5$l$F$$$k$b$N$O\e(B <a
-href="ftp://ftp.isi.edu/in-notes/iana/assignments/media-types">MEDIA
-TYPES</a> \e$B$G;2>H$G$-$k!#\e(B
-<p>
-\e$B$^$?!"\e(Btype \e$B$b$7$/$O\e(B subtype \e$B$K!"A0$K\e(B `x-' \e$B$rIU$1$?\e(B 
-<concept>x-token</concept> \e$B$rMQ$$$k$3$H$K$h$j!"EPO?$5$l$F$$$J$$$b$N$r\e(B
-\e$B;dE*$KMQ$$$k$3$H$b$G$-$k!#$7$+$7!"EvA3$N$3$H$J$,$i!"$3$&$7$?;dE*$J\e(B 
-media-type \e$B$ONJ2r$rF@$?<T$N4V$G$7$+2r<a$G$-$J$$$N$GMxMQ$K$OCm0U$9$k$3\e(B
-\e$B$H!#\e(B
-<p>
-<cf node="Content-Type">
-
-
-<h3> message
-<node> message
-<p>
-\e$B$3$3$G$O\e(B mail \e$B$H\e(B news \e$B5-;v$NAm>N$H$7$FMQ$$$k!#\e(B
-
-
-<h3> MIME
-<node> MIME
-<p>
-<concept>Multipurpose Internet Mail Extensions</concept> \e$B$NN,$G!"\e(B
-Internet \e$B$N\e(B mail \e$B$d\e(B news \e$B$G\e(B <a node="us-ascii">us-ascii plain text</a> 
-\e$B0J30$NJ8;z$r;H$&$?$a$N\e(B <dref>RFC 822</dref> \e$B$KBP$9$k3HD%!#\e(B
-<p>
-RFC 2045 \e$B$OKAF,$G<!$N$h$&$K=R$Y$F$$$k!'\e(B
-<p>
-STD 11, RFC 822 \e$B$O!"\e(BUS-ASCII message header \e$B$K4X$7$FHs>o$K>\:Y$K5,Dj$7\e(B
-\e$B$?\e(B message \e$BI=8=\e(B protocol \e$B$rDj5A$7$F$$$k!#$7$+$7!"$=$l$OC1$K\e(B flat \e$B$J\e(B 
-US-ASCII text \e$B$N$_$KN1$^$j!"\e(Bmessage \e$B$NFbMF$d\e(B message body \e$B$K4X$9$k5,Dj\e(B
-\e$B$O$J$5$l$F$$$J$$!#\e(BMultipurpose Internet Mail Extensions, \e$B$"$k$$$O\e(B MIME 
-\e$B$HAm>N$5$l$k!"$3$N0lO"$NJ8=q$O!"0J2<$N;v$r2DG=$H$9$k$?$a$K\e(B message \e$B$N\e(B
-\e$B7A<0$r:FDj5A$7$?!'\e(B
-
-<ol>
-<li>\e$BJ8=q\e(B message body \e$B$K$*$1$k\e(B US-ASCII \e$B0J30$NJ8;z=89g\e(B
-</li>
-<li>\e$BHsJ8=q\e(B message body
-</li>
-<li>\e$BJ#?t$NItJ,$+$i$J$k\e(B message body
-</li>
-<li>US-ASCII \e$B0J30$NJ8;z=89g$+$i$J$kJ8=q\e(B header \e$B>pJs\e(B
-</ol>
-
-<p>
-<dref>RFC 2045</dref>, <dref>RFC 2046</dref>, <a
-node="encoded-word">RFC 2047</a>, <dref>RFC 2048</dref>, <dref>RFC
-2049</dref> \e$B$GDj5A$5$l$F$$$k!#\e(B
-
-
-<h3> MIME charset
-<node> MIME charset
-<p>
-<dref>Content-Type</dref> \e$BMs$d\e(B <dref>encoded-word</dref> \e$B$N\e(B charset
-parameter \e$B$GMQ$$$i$l$kEPO?$5$l$?\e(B<a node="Coded character set">\e$BId9f2=J8\e(B
-\e$B;z=89g\e(B</a>\e$B!#\e(B
-<p>
-<dref>RFC 2045</dref> \e$B$GDj5A$5$l$F$$$k!#\e(B
-<p>
-iso-2022-jp \e$B$d\e(B euc-kr \e$B$O$=$N#1$D!#\e(B
-
-
-<h3> MTA
-<node> MTA
-<p>
-<concept>Message Transfer Agent</concept> \e$B$NN,$G!"\e(Bqmail \e$B$d\e(B sendmail \e$B$J\e(B
-\e$B$I$N\e(B mail \e$BG[Aw\e(B program \e$B$H\e(B inn \e$B$J$I$N\e(B news server \e$B$NAm>N!#\e(B
-<p>
-<cf node="MUA">
-
-
-<h3> MUA
-<node> MUA
-<p>
-<concept>Message User Agent</concept> \e$B$NN,$G!"\e(Bmail reader \e$B$H\e(B news
-reader \e$B$NAm>N!#\e(B
-<p>
-<cf node="MTA">
-
-
-<h3> Quoted-Printable
-<node> Quoted-Printable
-<p>
-<dref>RFC 2045</dref> \e$B$GDj5A$5$l$F$$$k\e(B <dref>MIME</dref> \e$B$K$*$1$k\e(B 
-<dref>binary data</dref> \e$B$N\e(B network \e$B$G$NJQ49K!$N#1$D!#\e(B
-<p>
-`=' \e$B$d@)8fJ8;z$d\e(B 128 \e$B0J>e$NJ8;z$J$I$O\e(B `=AF' \e$B$N$h$&$K\e(B `=' \e$B$N8e$KB3$/\e(B 16 
-\e$B?J?t$GI=8=$9$k!#$3$N$?$a!"\e(B<dref>ASCII</dref> \e$BJ8;zCf?4$N\e(B data \e$B$G$O\e(B 
-<dref>Base64</dref> \e$B$KHf$Y$k$H2DFI@-$,9b$/$J$k2DG=@-$,$"$k!#\e(B
-<p>
-\e$B$7$+$7$J$,$i!"\e(BEBCDIC \e$B$K$OB8:_$7$J$$J8;z$rMxMQ$9$k>l9g!"\e(BEBCDIC \e$B$rMxMQ$7\e(B
-\e$B$F$$$k\e(B network \e$B$G$O0BA4$KE>Aw$9$k$3$H$,$G$-$:!"\e(BBase64 \e$B$KHf$Y$F0BA4@-$O\e(B
-\e$BDc$$!#\e(B
-
-
-<h3> RFC 822
-<node> RFC 822
-<p>
-Internet mail \e$B$N<g$K\e(B <concept>message header</concept> \e$B$K4X$9$k7A<0$K\e(B
-\e$B4X$9$kI8=`$rDj$a$F$$$k\e(B RFC.
-
-<memo>
-<p>
-news message \e$B$b$3$l$K=`$8$F$$$k$N$G!"\e(B<concept>Internet mail</concept> 
-\e$B$H=q$/$h$j$b!"\e(B<concept>Internet message</concept> \e$B$H=q$$$?J}$,NI$$$+$b\e(B
-\e$B$7$l$J$$!#\e(B
-</memo>
-
-<rfc number="822" type="STD 11" author="D. Crocker" title="Standard
-             for the Format of ARPA Internet Text Messages"
-             date="August 1982">
-
-
-<h3> RFC 1036
-<node> RFC 1036
-<p>
-USENET \e$B$G$N\e(B message \e$B$N7A<0$rDj$a$?\e(B RFC.  <dref>RFC 822</dref> \e$B$N\e(B 
-subset \e$B$K$J$C$F$$$k!#\e(BInternet \e$B$NI8=`$G$O$J$$$,!"\e(BUSENET \e$B0J30$N\e(B netnews 
-\e$B$G$b$3$l$K=`$8$F$$$k$b$N$,B?$$!#\e(B
-
-<rfc name="USENET" number="1036" author="M. Horton and R. Adams"
-             title="Standard for Interchange of USENET Messages"
-             date="December 1987" obsolete="850">
-
-
-<h3> RFC 2045
-<node> RFC 2045
-<p>
-<rfc number="2045" type="Standards Track" author="N. Freed and
-             N. Borenstein" title="Multipurpose Internet Mail
-             Extensions (MIME) Part One: Format of Internet Message
-             Bodies" date="November 1996" obsolete="1521, 1522,
-             1590">
-
-
-<h3> RFC 2046
-<node> RFC 2046
-<p>
-<rfc number="2046" type="Standards Track" author="N. Freed and
-             N. Borenstein" title="Multipurpose Internet Mail
-                 Extensions (MIME) Part Two: Media Types"
-                 date="November 1996" obsolete="1521, 1522, 1590">
-
-
-<h3> RFC 2048
-<node> RFC 2048
-<p>
-<rfc number="2048" type="Standards Track" author="N. Freed, J. Klensin
-             and J. Postel" title="Multipurpose Internet Mail
-             Extensions (MIME) Part Four: Registration Procedures"
-             date="November 1996" obsolete="1521, 1522, 1590">
-
-
-<h3> RFC 2049
-<node> RFC 2049
-<p>
-<rfc number="2049" type="Standards Track" author="N. Freed and
-             N. Borenstein" title="Multipurpose Internet Mail
-             Extensions (MIME) Part Five: Conformance Criteria and
-             Examples" date="November 1996" obsolete="1521, 1522,
-             1590">
-
-
-<h3> plain text
-<node> plain text
-<p>
-\e$B=qBN$dAHHG$K4X$9$k>pJs$r;}$?$J$$\e(B<a node="Coded character set">\e$BJ8;zId9f\e(B
-</a>\e$B$N$_$GI=8=$5$l$k\e(B text \e$B>pJs!#\e(B<cf node="text/plain">
-
-
-<h3> us-ascii
-<node> us-ascii
-<p>
-\e$B%"%a%j%+O"K.$J$I$G;H$o$l$k1Q8l$J$I$rI=8=$9$k$?$a$N\e(B <dref>MIME
-charset</dref> \e$B$N#1$D!#\e(B
-<p>
-<dref>ASCII</dref> \e$B$N$_$+$i$J$j\e(B ISO 2022 \e$B$K$h$kId9f3HD%$O5v$5$l$J$$!#\e(B
-<p>
-Internet message \e$B$K$*$1$kI8=`$N\e(B<a node="Coded character set">\e$BId9f2=J8\e(B
-\e$B;z=89g\e(B</a>\e$B$G$"$j!"L@<(E*$K\e(B MIME charset \e$B$,<($5$l$J$$>l9g$O86B'$H$7$F\e(B 
-<concept>us-ascii</concept> \e$B$,;H$o$l$k!#\e(B
-<p>
-\e$B$^$?!"\e(B<dref>RFC 822</dref> \e$B$K$*$1$k\e(B <concept>ASCII</concept> 
-\e$B$O\e(B us-ascii \e$B$G$"$k!#\e(B
-
-
-<h2> bug \e$BJs9p$N;EJ}\e(B
-<node> Bug report
-<p>
-FLIM \e$B$N%P%0$r8+$D$1$?$i!"0J2<$N\e(B address \e$B$K\e(B mail \e$B$rAw$C$F$/$@$5$$!'\e(B
-
-<ul>
-<li> \e$BF|K\8l\e(B <mail>bug-tm-ja@chamonix.jaist.ac.jp</mail>
-<li> \e$B1Q8l\e(B <mail>bug-tm-en@chamonix.jaist.ac.jp</mail>
-</ul>
-
-<p>
-\e$BC"$7!"$"$^$j$K$b8E$$HG$K4X$9$kJs9p$O4?7^$5$l$^$;$s!#8E$$HG$N\e(B bug \e$B$O!"\e(B
-\e$B?7$7$$HG$G$O<#$C$F$$$k$+$b$7$l$^$;$s!#$^$:!":G?7HG$G3NG'$7$F$_$^$7$g$&!#\e(B
-<p>
-\e$B$=$l$+$i!"E,@Z$JJs9p$r$7$^$7$g$&!#C1$K!V$&$^$/F0$+$J$$!W$H8@$o$l$F$b$I\e(B
-\e$B$&$$$&>u67$J$N$+$O$5$C$Q$jH=$j$^$;$s!#:GDc8B!"\e(BOS, emacs, APEL, FLIM,
-SEMI, \e$B;H$C$F$$$k\e(B MUA \e$B$N<oN`$*$h$SHG!"@_Dj$r=q$/I,MW$,$"$j$^$9!#$^$?!"\e(B
-error \e$B$,5/$C$F$$$k>l9g$O\e(B backtrace \e$B$rAw$k$3$H$b=EMW$G$9!#\e(B<cf
-file="emacs" node="Bugs">
-<p>
-\e$B$^$?!"\e(Bbug \e$B$OBgDqJ#?t$N?M$,Ax6x$9$k$b$N$G$9!J$=$&$G$J$1$l$P!"\e(Bbug \e$B$G$O$J\e(B
-\e$B$$2DG=@-$,$"$j$^$9!K!#$@$+$i!":n<T$KD>@\\e(B mail \e$B$rAw$k$H:n<T$OF1$8\e(B mail
-\e$B$r2?DL$b=q$/1)L\$K$J$j$^$9!#$@$+$i!"I,$:\e(B bug \e$BJs9p$O>e5-$N\e(B address \e$B$KAw$C\e(B
-\e$B$F$/$@$5$$!#\e(B
-
-<p>
-tm ML \e$B$G$O\e(B FLIM \e$B$N%P%0>pJs$N8r49$d:G?7HG$NG[I[!"\e(BFLIM \e$B$N2~NI$K4X$9$k5D\e(B
-\e$BO@$r9T$J$C$F$$$^$9!#\e(Btm ML \e$B$K;22C$7$?$$J}$O\e(B
-
-<ul>
-<li> \e$BF|K\8l\e(B <mail>tm-ja-help@chamonix.jaist.ac.jp</mail>
-<li> \e$B1Q8l\e(B <mail>tm-en-help@chamonix.jaist.ac.jp</mail>
-</ul>
-
-<noindent>
-\e$B$K6u$N\e(B mail \e$B$rAw$C$F2<$5$$!#\e(B
-
-
-<h2> CVS \e$B$K$h$k3+H/\e(B
-<node> CVS
-<p>
-FLIM \e$B$N\e(B file \e$B$O\e(B CVS \e$B$r;H$C$F4IM}$5$l$F$$$^$9!#$3$N$?$a!"0J2<$NJ}K!$G:G\e(B
-\e$B?7$N\e(B FLIM \e$B$rF~<j$9$k$3$H$,$G$-$^$9!'\e(B
-
-<verb>
-(0) cvs login
-
-    % cvs -d :pserver:anonymous@chamonix.jaist.ac.jp:/hare/cvs/root \
-       login
-
-    CVS password: [CR] # NULL string
-
-(1) checkout
-
-    % cvs -d :pserver:anonymous@chamonix.jaist.ac.jp:/hare/cvs/root \
-       checkout [-r TAG] flim
-</verb>
-
-<p>
-CVS \e$B$rMQ$$$?3+H/$K;22C$7$?$$J}$O\e(B
-
-<ul>
-<li> <mail>cvs@chamonix.jaist.ac.jp</mail>
-</ul>
-
-<noindent>
-\e$B$^$G!"\e(Baccount \e$BL>$H\e(B UNIX \e$B$N\e(B passwd \e$B$HF1$87A<0$N\e(B crypt \e$B2=$5$l$?\e(B password
-\e$B$r1h$($F8fO"Mm$/$@$5$$!#\e(B
-
-
-<h2> \e$BNr;K\e(B
-<node> History
-<p>
-FLIM \e$B$N\e(B code \e$B$N:G8E$NItJ,$O\e(B \e$B1]JB\e(B \e$B;LCR\e(B \e$B;a$,=q$$$?\e(B <file>mime.el</file>
-\e$B$K5/8;$7$^$9!#$3$N>.$5$J\e(B program \e$B$O\e(B Nemacs \e$B$GF0:n$9$k\e(B iso-2022-jp \e$B$N\e(B 
-B-encoding \e$B@lMQ$N\e(B encoded-word \e$B$NI|9f2=%W%m%0%i%`$G$7$?!#\e(B
-<p>
-\e$B$=$N8e!"<i2,\e(B \e$BCNI'\e(B \e$B$O\e(B <file>mime.el</file> \e$B$r85$K\e(B
-<file>tiny-mime.el</file> \e$B$H$$$&%W%m%0%i%`$r=q$-$^$9!#$3$l$O!"\e(BNemacs 
-\e$B$H\e(B Mule \e$B$GF0:n$9$k\e(B encoded-word \e$B$NId9f2=!&I|9f2=%W%m%0%i%`$G$7$?!#\e(B
-<file>tiny-mime.el</file> \e$B$O\e(B B-encoding \e$B$@$1$G$J$/\e(B Q-encoding \e$B$b\e(B
-support \e$B$7!"$^$?!"\e(BMULE \e$B$G07$&$3$H$,$G$-$k$5$^$6$^$J\e(B <dref>MIME
-charset</dref> \e$B$rF1;~$K;H$&$3$H$,$G$-$^$7$?!#$3$N;~!"\e(BNemacs \e$B$H\e(B Mule \e$B$N\e(B
-\e$BAPJ}$r\e(B support \e$B$9$k$?$a$KMQ$$$i$l$?%F%/%K%C%/$O8e$K\e(B emu package \e$B$K$^$H\e(B
-\e$B$a$i$l$^$9!#\e(B
-<p>
-\e$B$3$N:"!"<i2,\e(B \e$BCNI'\e(B \e$B$O\e(B <file>tiny-mime.el</file> \e$B$r$5$^$6$^$J\e(B MUA \e$B$G;H$&\e(B
-\e$B$?$a$N@_Dj=8$bG[I[$7$F$$$^$7$?$,!"$=$l$i$O8e$K\e(B
-<file>tiny-mime.el</file> \e$B$H$H$b$K#1$D$N\e(B package \e$B$K$^$H$a$i$l!"\e(Btm \e$B$H$$\e(B
-\e$B$&L>A0$GG[I[$5$l$^$9!#\e(B
-<p>
-\e$B<i2,\e(B \e$BCNI'\e(B \e$B$O$d$,$F!"\e(BMIME message \e$B$r1\Mw$9$k$?$a$N%W%m%0%i%`$G$"$k\e(B
-<file>tm-body.el</file> \e$B$r=q$-$^$9!#$3$l$O!"$9$0$K\e(B
-<file>tm-view.el</file> \e$B$H$$$&L>A0$KJQ$o$j$^$7$?$,!"$d$,$F!"$3$l$,\e(B
-<file>tiny-mime.el</file> \e$B$KBe$o$C$F!"\e(Btm \e$B$NCf3K$H$J$j$^$9!#\e(B
-<p>
-<file>tm-view.el</file> \e$B$OEvA3!"\e(BContent-Transfer-Encoding \e$B$r07$&I,MW$,\e(B
-\e$B$"$j$^$9!#$3$NL\E*$N$?$a$K!"\e(BMEL \e$B$,@0Hw$5$l$O$8$a$^$7$?!#\e(BBase64 \e$B$K4X$7\e(B
-\e$B$F$O\e(B <file>tiny-mime.el</file> \e$B$N\e(B code \e$B$,0\$5$l!"$^$?!"?7$?$K\e(B
-Quoted-Printable \e$B$N\e(B code \e$B$,DI2C$5$l$^$7$?!#$3$l$i$,\e(B
-<file>mel-b.el</file> \e$B$H\e(B <file>mel-q.el</file> \e$B$K$J$j$^$7$?!#\e(B
-<p>
-\e$B$^$?!"8e$K!"<i2,\e(B \e$BCNI'\e(B \e$B$K$h$C$F\e(B uuencode \e$BMQ$N\e(B <file>mel-u.el</file> \e$B$,\e(B
-\e$BDI2C$5$l!"$=$N8e$K!">.NS\e(B \e$B=$J?\e(B \e$B;a$K$h$C$F\e(B x-gzip64 \e$BMQ$N\e(B
-<file>mel-g.el</file> \e$B$,DI2C$5$l$^$7$?!#\e(B
-<p>
-tm \e$B$G$O8e$K!"<i2,\e(B \e$BCNI'\e(B \e$B$K$h$C$F\e(B <file>tiny-mime.el</file> \e$B$N:F<BAu$,9T\e(B
-\e$B$o$l!"$3$N2aDx$G!"\e(BSTD 11 \e$B$N\e(B parser \e$B$,=q$+$l$^$7$?!#$3$l$O!"8=:_$N\e(B 
-<file>std11.el</file> \e$B$KEv$?$j$^$9!#$^$?!"$3$N2aDx$G\e(B 
-<file>tiny-mime.el</file> \e$B$OI|9f2=$r9T$&\e(B <file>tm-ew-d.el</file> \e$B$HId\e(B
-\e$B9f2=$r9T$&\e(B <file>tm-ew-e.el</file> \e$B$KJ,$1$i$l$^$7$?!#$3$NN><T$,8=:_$N\e(B 
-<file>eword-decode.el</file> \e$B$H\e(B <file>eword-encode.el</file> \e$B$N@hAD$K\e(B
-\e$BEv$?$j$^$9!#\e(B
-<p>
-\e$B8e$K!"<i2,\e(B \e$BCNI'\e(B \e$B$i$K$h$C$F\e(B tm \e$B$NA4LL=q$-49$(:n6H$,9T$o$l!"$3$N2aDx$G!"\e(B
-tm \e$B$O\e(B APEL, MEL, SEMI, EMH, RMAIL-MIME, Gnus-MIME \e$B$J$I$KJ,$1$i$l$^$7$?!#\e(B
-\e$B$3$N$&$A$N\e(B MEL \e$B$,\e(B FLIM \e$B$ND>@\$N@hAD$KEv$?$j$^$9!#\e(B
-<p>
-\e$B8e$K!"\e(BAPEL \e$B$+$i\e(B <file>std11.el</file> \e$B$,0\$5$l!"$^$?!"\e(B
-<file>mailcap.el</file>, <file>eword-decode.el</file> \e$B$*$h$S\e(B 
-<file>eword-encode.el</file> \e$B$,\e(B SEMI \e$B$+$i0\$5$l!"\e(Bpackage \e$B$NL>A0$,\e(B FLIM
-\e$B$H$J$j$^$9!#\e(B
-<p>
-\e$B$3$ND>A0$+$iEDCf\e(B \e$BE/\e(B \e$B;a$,$h$j\e(B RFC \e$B$KCi<B$J<BAu$r=q$-;O$a!"$3$l$O!"8=:_!"\e(B
-FLIM \e$B$N;^$G$"$k\e(B ``FLIM-FLAM'' \e$B$H$J$C$F$$$^$9!#\e(B
-
-
-<h1> \e$B35G0:w0z\e(B
-<node> Concept Index
-
-<cindex>
-
-
-<h1> \e$B4X?t:w0z\e(B
-<node> Function Index
-
-<findex>
-
-
-<h1> \e$BJQ?t:w0z\e(B
-<node> Variable Index
-
-<vindex>
-
-</body>
diff --git a/mime-ja.texi b/mime-ja.texi
deleted file mode 100644 (file)
index 7474bc2..0000000
+++ /dev/null
@@ -1,1480 +0,0 @@
-\input texinfo.tex
-@setfilename mime-ja.info
-@settitle{FLIM 1.9 MIME \e$B5!G=@bL@=q\e(B}
-@titlepage
-@title FLIM 1.9 MIME \e$B5!G=@bL@=q\e(B
-@author \e$B<i2,\e(B \e$BCNI'\e(B <morioka@@jaist.ac.jp>
-@subtitle 1998/07/01
-@end titlepage
-@node Top, Introduction, (dir), (dir)
-@top FLIM 1.9 MIME \e$B5!G=@bL@=q\e(B
-
-@ifinfo
-
-This file documents MIME features of FLIM, a Internet message
-parsing/encoding library for GNU Emacs.@refill
-
-GNU Emacs \e$BMQ$N\e(B Internet Message \e$B$N2r@O$dId9f2=$K4X$9$k\e(B library \e$B$G$"$k\e(B 
-FLIM \e$B$N\e(B MIME \e$B5!G=$K4X$7$F@bL@$7$^$9!#\e(B
-@end ifinfo
-
-@menu
-* Introduction::                FLIM \e$B$C$F2?!)\e(B
-* How to use::                  FLIM \e$B$N\e(B MIME \e$B5!G=$N;H$$J}\e(B
-* Entity::                      Message \e$B$H\e(B Entity
-* Content-Type::                Content-Type \e$BMs$N>pJs\e(B
-* Content-Disposition::         Content-Disposition \e$BMs$N>pJs\e(B
-* Content-Transfer-Encoding::   \e$BId9f2=K!\e(B
-* encoded-word::                Header \e$B$N\e(B network \e$BI=8=\e(B
-* custom::                      \e$B0lHL@_Dj\e(B
-* Appendix::                    \e$BIUO?\e(B
-* Concept Index::               \e$B35G0:w0z\e(B
-* Function Index::              \e$B4X?t:w0z\e(B
-* Variable Index::              \e$BJQ?t:w0z\e(B
-@end menu
-
-@node Introduction, How to use, Top, Top
-@chapter FLIM \e$B$C$F2?!)\e(B
-
-FLIM \e$B$O\e(B Internet Message \e$B$NI=8=$dId9f2=$K4X$9$k4pACE*$J5!G=$rDs6!$9$k\e(B
-\e$B$?$a$N\e(B library \e$B$G$9!#\e(B
-
-
-@node How to use, Entity, Introduction, Top
-@chapter FLIM \e$B$N\e(B MIME \e$B5!G=$N;H$$J}\e(B
-
-FLIM \e$B$NDs6!$9$k\e(B MIME \e$B5!G=$r;H$&$?$a$K$O\e(B
-
-@lisp
-(require 'mime)
-@end lisp
-
-@noindent
-\e$B$rI>2A$7$F$/$@$5$$!#\e(B
-
-
-@node Entity, Content-Type, How to use, Top
-@chapter Message \e$B$H\e(B Entity
-@cindex node-id
-@cindex entity-number
-@cindex mime-entity
-@cindex entity
-
-RFC 2045 (@ref{RFC 2045}) \e$B$K$h$l$P!"!V\e(BEntity \e$B$H$$$&8l$O!"\e(Bmessage, \e$B$b$7$/\e(B
-\e$B$O!"\e(Bmultipart entity \e$B$N\e(B body \e$BCf$N#1$D$NItJ,$N!"\e(BMIME \e$B$GDj5A$5$l$?\e(B header
-field \e$B$HFbMF$r;X$9!W$H$J$C$F$$$^$9!#$3$3$G$O!"\e(BMIME \e$B$GDj5A$5$l$?\e(B header
-field \e$B0J30$NA4$F$N\e(B header \e$B$H\e(B body \e$B$r;X$98l$H$7$F\e(B @strong{entity}\e$B$rMQ$$$k\e(B
-\e$B$3$H$K$7$^$9!#\e(B@refill
-
-RFC 2045 \e$B$NDj5A$O!"\e(BMIME message \e$B$,\e(B entity \e$B$rC10L$H$9$kLZ9=B$$G$"$k$3$H$r\e(B
-\e$B<($7$F$$$^$9!#\e(Bmessage \e$B$O2<?^$G<($9$h$&$JLZ$H$J$j!"\e(Bentity \e$B$O$3$NLZ$K$*$1\e(B
-\e$B$k@a$H$J$j$^$9!#$D$^$j!"\e(BMIME \e$B$O\e(B message \e$B$rLZ9=B$$K3HD%$7$?Lu$G$9!#\e(B
-@refill
-
-FLIM \e$B$O\e(B entity \e$B$N>pJs$rI=8=$9$k$?$a$K\e(B@strong{mime-entity} \e$B9=B$BN$rMQ$$$^\e(B
-\e$B$9!#0J2<$G$OC1$K\e(B mime-entity \e$B$H8F$V$3$H$K$7$^$9!#\e(B@refill
-
-\e$BA0=R$N$h$&$K!"\e(Bmessage \e$BCf$N3F\e(B entity \e$B$OLZ$N@a$KEv$?$j$^$9$,!"$3$NLZ$K$O\e(B
-\e$B?<$5$HF1$8?<$5$NCf$N=gHV$K=>$C$FHV9f$,IU$1$k$3$H$,$G$-$^$9!#B($A!"\e(B
-@example
-
-                              \e$B(#(!(!(!($\e(B
-                              \e$B("\e(B  nil \e$B("\e(B
-                              \e$B(&(!(((!(%\e(B
-              \e$B(#(!(!(!(!(!(!(!(!(!(+(!(!(!(!(!(!(!(!(!($\e(B
-            \e$B(#(*($\e(B              \e$B(#(*($\e(B              \e$B(#(*($\e(B
-            \e$B("#0("\e(B              \e$B("#1("\e(B              \e$B("#2("\e(B
-            \e$B(&(((%\e(B              \e$B(&(((%\e(B              \e$B(&(((%\e(B
-              \e$B("\e(B        \e$B(#(!(!(!(!(+(!(!(!(!($\e(B        \e$B("\e(B
-          \e$B(#(!(*(!($(#(!(*(!($(#(!(*(!($(#(!(*(!($(#(!(*(!($\e(B
-          \e$B("\e(B \e$B#0\e(B.\e$B#0("("\e(B \e$B#1\e(B.\e$B#0("("\e(B \e$B#1\e(B.\e$B#1("("\e(B \e$B#1\e(B.\e$B#2("("\e(B \e$B#2\e(B.\e$B#0("\e(B
-          \e$B(&(!(!(!(%(&(!(!(!(%(&(!(!(!(%(&(!(!(!(%(&(!(!(!(%\e(B
-@end example
-
-@noindent
-\e$B$N$h$&$K?<$5\e(B n \e$B$N@a$K$OD9$5\e(B n \e$B$N@0?tNs$N@aHV9f$,?6$l$^$9!#$3$l\e(B
-\e$B$r\e(B @strong{entity-number} \e$B$H8F$S$^$9!#\e(Bentity-number \e$B$O\e(B S \e$B<0$H\e(B
-\e$B$7$F$O\e(B @code{(1 2 3)} \e$B$N$h$&$J@0?t$N%j%9%H$H$7$FI=8=$5$l$^$9!#\e(B
-
-mime-entity \e$B$G$O!"$3$l$HF1MM$N\e(B @strong{node-id} \e$B$rMQ$$$^$9!#\e(Bnode-id \e$B$O$A$g\e(B
-\e$B$&$I\e(B entity-number \e$B$r5U$K$7$?%j%9%H$G!"\e(Bentity-number 1.2.3 \e$B$KBP1~$9$k\e(B 
-node-id \e$B$O\e(B @code{(3 2 1)} \e$B$G$9!#\e(B@refill
-
-\e$BA0=R$N$h$&$K!"\e(BMIME message \e$B$O\e(B entity \e$B$rC10L$H$7$?LZ9=B$$K$J$C$F$$$k$N$G!"\e(B
-\e$B$3$N:,$G$"$k\e(B message \e$BA4BN$b\e(B mime-entity \e$B$GI=8=$9$k$3$H$,$G$-!"\e(Bbuffer
-local \e$BJQ?t\e(B @code{mime-message-structure} \e$B$K3JG<$9$k$3$H$K$7$^$9!#\e(B
-\e$B$=$7$F!"\e(Bentity-number \e$B$d\e(B node-id \e$B$rMQ$$$k$3$H$G\e(B 
-@code{mime-message-structure} \e$B$K$*$1$k\e(B entity \e$B$NAjBPE*$J0LCV4X78$r\e(B
-\e$B07$&$3$H$,$G$-$^$9!#\e(B
-
-
-@menu
-* Entity creation::             Entity \e$B$N@8@.\e(B
-* Entity hierarchy::            Entity \e$B3,AX\e(B
-* Entity Attributes::           Entity \e$B$NB0@-\e(B
-* Entity-header::               Entity header \e$B$N>pJs\e(B
-* Entity-content::              Entity \e$B$NFbMF\e(B
-* Entity buffer::               Entity \e$B$N\e(B buffer \e$B$K$h$kI=8=\e(B
-* mm-backend::                  Entity \e$B$NI=8=$H<B8=\e(B
-@end menu
-
-@node Entity creation, Entity hierarchy, Entity, Entity
-@section Entity \e$B$N@8@.\e(B
-
-@defun mime-open-entity &optional  type location
-
-Open an entity and return it.@refill
-
-@var{type} is representation-type. (cf. @ref{mm-backend}) @refill
-
-@var{location} is location of entity.  Specification of it is depended
-on representation-type.
-@end defun
-
-
-@defun mime-parse-buffer &optional  buffer type
-
-@var{buffer} \e$B$r\e(B message \e$B$H$7$F9=J82r@O$7!"$=$N7k2L$N\e(B mime-entity \e$B$r\e(B 
-@var{buffer} \e$B$N\e(B@code{mime-message-structure} \e$B$K3JG<$9$k!#\e(B@refill
-
-@var{buffer} \e$B$,>JN,$5$l$?>l9g!"8=:_$N\e(B buffer \e$B$r9=J82r@O$9$k!#\e(B@refill
-
-@var{type} \e$B$,;XDj$5$l$?>l9g!"$=$NCM$r@8@.$5$l$k\e(B mime-entity \e$B$NI=>]7?$H$7\e(B
-\e$B$FMQ$$$k!#>JN,$5$l$?>l9g$O\e(B @var{buffer} \e$B$H$J$k!#\e(B(cf. @ref{mm-backend})
-@end defun
-
-
-
-@node Entity hierarchy, Entity Attributes, Entity creation, Entity
-@section Entity \e$B3,AX\e(B
-
-@defvar mime-message-structure
-
-\e$B8=:_$N\e(B buffer \e$B$K$*$1$k\e(B message \e$BA4BN$N\e(B mime-entity \e$B9=B$BN$r3JG<$9$k\e(Bbuffer
-local \e$BJQ?t!#\e(B
-@end defvar
-
-
-@defun mime-entity-children entity
-
-@var{entity} \e$B$K4^$^$l$k\e(B entity \e$B$N\e(B list \e$B$rJV$9!#\e(B
-@end defun
-
-
-@defun mime-entity-parent entity  &optional  message
-
-@var{entity} \e$B$N?F$N\e(B entity \e$B$rJV$9!#\e(B@refill
-
-@var{message} \e$B$,;XDj$5$l$?>l9g!"$3$l$r:,$H8+Jo$9!#\e(B
-@end defun
-
-
-@defun mime-root-entity-p entity
-
-@var{entity} \e$B$,:,!JB($A!"\e(Bmessage \e$BA4BN!K$G$"$k>l9g$K!"Hs\e(B-@code{nil} \e$B$rJV\e(B
-\e$B$9!#\e(B
-@end defun
-
-
-@defun mime-entity-node-id entity
-
-@var{entity} \e$B$N\e(B node-id \e$B$rJV$9!#\e(B
-@end defun
-
-
-@defun mime-entity-number entity
-
-@var{entity} \e$B$N\e(B entity-number \e$B$rJV$9!#\e(B
-@end defun
-
-
-@defun mime-find-entity-from-number entity-number  &optional  message
-
-Return entity from @var{entity-number} in @var{message}.@refill
-
-If @var{message} is not specified, @code{mime-message-structure} is
-used.
-@end defun
-
-
-@defun mime-find-entity-from-node-id entity-node-id  &optional  message
-
-Return entity from @var{entity-node-id} in @var{message}.@refill
-
-If @var{message} is not specified, @code{mime-message-structure} is
-used.
-@end defun
-
-
-
-@node Entity Attributes, Entity-header, Entity hierarchy, Entity
-@section Entity \e$B$NB0@-\e(B
-
-@defun mime-entity-content-type entity
-
-@var{entity} \e$B$N\e(B content-type \e$B$rJV$9!#\e(B(cf. @ref{mime-content-type})
-@end defun
-
-
-@defun mime-entity-content-disposition entity
-
-@var{entity} \e$B$N\e(B content-disposition \e$B$rJV$9!#\e(B
-(cf. @ref{mime-content-disposition})
-@end defun
-
-
-@defun mime-entity-filename entity
-
-@var{entity} \e$B$N\e(B file \e$BL>$rJV$9!#\e(B
-@end defun
-
-
-@defun mime-entity-encoding entity  &optional  default-encoding
-
-@var{entity} \e$B$N\e(B content-transfer-encoding \e$B$rJV$9!#\e(B
-(cf. @ref{Content-Transfer-Encoding}) @refill
-
-\e$B$b$7!"\e(B@var{entity} \e$B$K\e(B Content-Transfer-Encoding \e$BMs$,B8:_$7$J$$>l9g$O!"\e(B
-@var{default-encoding} \e$B$rJV$9!#$3$l$,;XDj$5$l$J$$>l9g$O!"\e(B@code{"7bit"} 
-\e$B$rMQ$$$k!#\e(B
-@end defun
-
-
-@defun mime-entity-cooked-p entity
-
-Return non-nil if contents of @var{entity} has been already
-code-converted.
-@end defun
-
-
-
-@node Entity-header, Entity-content, Entity Attributes, Entity
-@section Entity header \e$B$N>pJs\e(B
-
-@defun mime-fetch-field field-name  &optional  entity
-
-@var{entity} \e$B$N\e(B header \e$BCf$N\e(B @var{field-name} \e$BMs$N\e(B body \e$B$rJV$9!#\e(B@refill
-
-\e$B7k2L$NJ8;zNs$O\e(B network \e$BI=8=$N$^$^$G$"$k!#\e(B@refill
-
-@var{entity} \e$B$,>JN,$5$l$?>l9g$O!"\e(B@code{mime-message-structure} \e$B$NCM$rMQ\e(B
-\e$B$$$k!#\e(B@refill
-
-@var{field-name} \e$BMs$,B8:_$7$J$$>l9g$O\e(B @code{nil} \e$B$rJV$9!#\e(B
-@end defun
-
-
-@defun mime-read-field field-name  &optional  entity
-
-@var{entity} \e$B$N\e(B header \e$BCf$N\e(B @var{field-name} \e$BMs$r9=J82r@O$7$?7k2L$rJV$9!#\e(B
-@refill
-
-\e$B7k2L$N7A<0$OMsKh$K0[$J$k!#Hs9=B$2=Ms$N>l9g$OJ8;zNs$rJV$7!"9=B$2=Ms$N>l9g\e(B
-\e$B$O$=$N7A<0$K=>$C$?\e(B list \e$B$rJV$9!#\e(B@refill
-
-\e$B7k2LCf$NJ8;zNs$O\e(B Emacs \e$B$NFbItI=8=$KJQ49$5$l$k!#\e(B@refill
-
-@var{entity} \e$B$,>JN,$5$l$?>l9g$O!"\e(B@code{mime-message-structure} \e$B$NCM$rMQ\e(B
-\e$B$$$k!#\e(B@refill
-
-@var{field-name} \e$BMs$,B8:_$7$J$$>l9g$O\e(B nil \e$B$rJV$9!#\e(B
-@end defun
-
-
-@defun mime-insert-decoded-header entity  &optional  invisible-fields visible-fields
-
-\e$B8=:_0LCV$K\e(B @var{entity} \e$B$NI|9f$7$?\e(B header \e$B$rA^F~$9$k!#\e(B@refill
-
-@var{invisible-fields} \e$B$H\e(B @var{visible-fields} \e$B$O@55,I=8=$N\e(Blist \e$B$G!"$=$l\e(B
-\e$B$>$l!"I=<($7$?$/$J$$\e(B field \e$BL>$HI=<($7$?$$MsL>$rI=8=$7$?$b$N$G$"$k!#\e(B
-@refill
-
-@var{invisible-fields} \e$B$NMWAG$N$I$l$+$K\e(B match \e$B$7!"$+$D!"\e(B
-@var{visible-fields} \e$B$NMWAG$N$I$l$K$b\e(B match \e$B$7$J$$Ms$OI=<($5$l$J$$!#\e(B
-@end defun
-
-
-
-@node Entity-content, Entity buffer, Entity-header, Entity
-@section Entity \e$B$NFbMF\e(B
-
-@defun mime-entity-content entity
-
-@var{entity} \e$B$NFbMF$N\e(B byte \e$BNs$rJV$9!#\e(B
-@end defun
-
-
-@defun mime-write-entity-content entity filename
-
-Write content of @var{entity} into @var{filename}.
-@end defun
-
-
-@defun mime-write-entity entity filename
-
-Write representation of @var{entity} into @var{filename}.
-@end defun
-
-
-@defun mime-write-entity-body entity filename
-
-Write body of @var{entity} into @var{filename}.
-@end defun
-
-
-
-@node Entity buffer, mm-backend, Entity-content, Entity
-@section Entity \e$B$N\e(B buffer \e$B$K$h$kI=8=\e(B
-
-@defun mime-entity-buffer entity
-
-@var{entity} \e$B$,B8:_$9$k\e(B buffer \e$B$rJV$9!#\e(B
-@end defun
-
-
-@defun mime-entity-point-min entity
-
-@var{entity} \e$B$,B8:_$9$k\e(B buffer \e$B$K$*$1$k!"\e(B@var{entity} \e$B$,@j$a$kNN0h$N@hF,\e(B
-\e$B0LCV$rJV$9!#\e(B
-@end defun
-
-
-@defun mime-entity-point-max entity
-
-@var{entity} \e$B$,B8:_$9$k\e(B buffer \e$B$K$*$1$k!"\e(B@var{entity} \e$B$,@j$a$kNN0h$NKvHx\e(B
-\e$B0LCV$rJV$9!#\e(B
-@end defun
-
-
-@defun mime-entity-header-start entity
-
-@var{entity} \e$B$,B8:_$9$k\e(B buffer \e$B$K$*$1$k!"\e(Bheader \e$B$,@j$a$kNN0h$N@hF,0LCV$r\e(B
-\e$BJV$9!#\e(B
-@end defun
-
-
-@defun mime-entity-header-end entity
-
-@var{entity} \e$B$,B8:_$9$k\e(B buffer \e$B$K$*$1$k!"\e(Bheader \e$B$,@j$a$kNN0h$NKvHx0LCV$r\e(B
-\e$BJV$9!#\e(B
-@end defun
-
-
-@defun mime-entity-body-start entity
-
-@var{entity} \e$B$,B8:_$9$k\e(B buffer \e$B$K$*$1$k!"\e(Bbody \e$B$,@j$a$kNN0h$N@hF,0LCV$rJV\e(B
-\e$B$9!#\e(B
-@end defun
-
-
-@defun mime-entity-body-end entity
-
-@var{entity} \e$B$,B8:_$9$k\e(B buffer \e$B$K$*$1$k!"\e(Bbody \e$B$,@j$a$kNN0h$NKvHx0LCV$rJV\e(B
-\e$B$9!#\e(B
-@end defun
-
-
-
-@node mm-backend,  , Entity buffer, Entity
-@section Entity \e$B$NI=8=$H<B8=\e(B
-@cindex mm-backend
-@cindex entity \e$B=hM}\e(B method
-@cindex representation-type
-
-Entity \e$B$OCj>]2=$5$l$?%G!<%?I=8=$G!"<B:]$N%G!<%?I=8=$H$7$F$OMQES$K1~$8$F\e(B
-\e$B$5$^$6$^$J$b$N$,MxMQ$G$-$k$h$&$K@_7W$5$l$F$$$^$9!#\e(B@refill
-
-\e$B$3$3$G!"\e(Bentity \e$B$,$I$&$$$&<oN`$NI=8=$r9T$C$F$$$k$+$r<($9$N$,\e(B
-@strong{representation-type} \e$B$G!"\e(Bentity \e$B$r@8@.$9$k;~$K$O$3$l$r;XDj$7$^$9!#\e(B
-(cf. @ref{Entity Creation}) @refill
-
-\e$BA0@a$^$G$K=R$Y$FMh$?\e(B entity \e$B$KBP$9$k=hM}$O!"\e(Bentity \e$B$KBP$7$F$=$N=hM}$r0M\e(B
-\e$BMj$9$k$3$H$K$h$C$F<B8=$5$l$F$$$^$9!#\e(BEntity \e$B$O<+J,$N\e(B representation-type 
-\e$B$rCN$C$F$*$j!"$=$N\e(B representation-type \e$B$K1~$8$F<B:]$N=hM}$r9T$&4X?t$r8F\e(B
-\e$B$S=P$7$^$9!#$3$N$h$&$J4X?t$r\e(B @strong{entity \e$B=hM}\e(Bmethod} \e$B$H8F$S$^$9!#$^$?!"\e(B
-representation-type \e$BKh$K$3$N$h$&$J4X?t$r$^$H$a$?$b$N$r\e(B 
-@strong{mm-backend} \e$B$H8F$S$^$9!#\e(B@refill
-
-mm-backend \e$B$O\e(B representation-type \e$B$NL>A0$N@hF,$K\e(B @code{mm} \e$B$H$$$&\e(B
-\e$B@\F,<-$rIU$1$?4X?tL>$+$i$J$k\e(B module \e$B$G!"$=$N\e(B module \e$BL>$OF1MM$K\e(B
-representation-type \e$B$NL>A0$N@hF,$K\e(B @code{mm} \e$B$rIU$1$?$b$N$K$J$C$F\e(B
-\e$B$$$^$9!#$3$N\e(B module \e$B$O\e(B representation-type \e$B$N\e(B entity \e$B$,:G=i$K@8@.$5$l$k\e(B
-\e$B;~$K<+F0E*$K\e(B require \e$B$5$l$^$9!#\e(B
-
-
-@menu
-* Request for entity::          Entity \e$B$X$NJX$j\e(B
-* mm-backend module::           mm-backend \e$B$N:n$jJ}\e(B
-@end menu
-
-@node Request for entity, mm-backend module, mm-backend, mm-backend
-@subsection Entity \e$B$X$NJX$j\e(B
-
-@defun mime-entity-send entity message  &rest  args
-
-@var{entity} \e$B$K\e(B @var{message} \e$B$rAw$k!#\e(B@refill
-
-@var{args} \e$B$O\e(B @var{message} \e$B$N0z?t$G$"$k!#\e(B
-@end defun
-
-
-
-@node mm-backend module,  , Request for entity, mm-backend
-@subsection mm-backend \e$B$N:n$jJ}\e(B
-
-\e$B!J$9$_$^$;$s!#$=$N$&$A=q$-$^$9\e(B (^_^;\e$B!K\e(B@refill
-
-\e$B!J$H$j$"$($:!"\e(Bmm*.el \e$B$r;29M$K$7$F$/$@$5$$!K\e(B
-
-
-@node Content-Type, Content-Disposition, Entity, Top
-@chapter Content-Type \e$BMs$N>pJs\e(B
-@cindex mime-content-type
-@cindex Content-Type \e$BMs\e(B
-
-@strong{Content-Type \e$BMs\e(B} \e$B$O\e(B media-type (@ref{media-type}) \e$B$d\e(B MIME
-charset \e$B$H$$$C$?\e(B entity (@ref{entity}) \e$B$NFbMF$N<oN`$dI=8=7A<0$J$I$r5-=R\e(B
-\e$B$9$k$?$a$N$b$N$G!"\e(BRFC 2045 (@ref{RFC 2045}) \e$B$GDj5A$5$l$F$$$^$9!#\e(B
-
-@noindent
-@strong{[Memo]}
-@quotation
-
-\e$BNr;KE*$K$O\e(B RFC 1049 \e$B$G\e(B Content-Type \e$BMs$,Ds0F$5$l$F$$$k!#C"$7!"\e(BMIME \e$B$N\e(B
-media-type \e$B$N$h$&$J\e(B type \e$B$H\e(B subtype \e$B$N6hJL$O$J$/!"\e(BMIME charset \e$B$N$h$&$J\e(B
-\e$BJ8;zId9f$N<oN`$rI=8=$9$k$3$H$b$G$-$J$$!#\e(B
-@end quotation
-
-
-FLIM \e$B$O\e(B Content-Type \e$BMs$r9=J82r@O$9$k4X?t$H\e(B Content-Type \e$BMs$N2r@O7k2L$r\e(B
-\e$B3JG<$9$k9=B$BN\e(B @strong{mime-content-type} \e$B$rDs6!$7$^$9!#\e(B
-
-
-@menu
-* Content-Type field::          Content-Type \e$BMs$N7A<0\e(B
-* mime-content-type::           mime-content-type \e$B9=B$BN\e(B
-* Content-Type parser::         Content-Type \e$BMs$N2r@O4o\e(B
-* Content-Type utility::        Content-Type \e$B$K4X$9$kM-MQ$J4X?t\e(B
-@end menu
-
-@node Content-Type field, mime-content-type, Content-Type, Content-Type
-@section Content-Type \e$BMs$N7A<0\e(B
-@cindex parameter
-@cindex subtype
-@cindex type
-
-Content-Type \e$BMs$N7A<0$O0J2<$N$h$&$KDj5A$5$l$F$$$^$9!'\e(B
-
-@quotation
-``Content-Type'' ``:'' @strong{type} ``/''
-@strong{subtype} *( ``;'' @strong{parameter} )
-@end quotation
-
-\e$BNc$($P!"\e(B
-
-@quotation
-@example
-Content-Type: image/jpeg
-@end example
-@end quotation
-
-@noindent
-\e$B$d\e(B
-
-@quotation
-@example
-Content-Type: text/plain; charset=iso-2022-jp
-@end example
-@end quotation
-
-@noindent
-\e$B$J$I$N$h$&$KMQ$$$i$l$^$9!#\e(B
-
-\e$B$3$3$G!"\e(B`type' \e$B$H\e(B `subtype' \e$B$O\e(B entity \e$B$N7A<0$r<($9$b$N$G!"N><T$rAm>N$7\e(B
-\e$B$F!"\e(B`media-type' \e$B$H8F$V$3$H$K$7$^$9!#>e5-$NNc$K$*$1$k\e(B `image/jpeg' \e$B$d\e(B
-`text/plain' \e$B$O\e(B media-type \e$B$N#1$D$G$9!#\e(B
-
-@noindent
-@strong{[Memo]}
-@quotation
-
-Content-Type \e$BMs$N$J$$\e(B entity \e$B$O\e(B
-
-@quotation
-@example
-Content-Type: text/plain; charset=us-ascii
-@end example
-@end quotation
-
-@noindent
-\e$B$H$7$F2r<a$5$l$k!#\e(B(cf. @ref{us-ascii})
-@end quotation
-
-
-
-@node mime-content-type, Content-Type parser, Content-Type field, Content-Type
-@section mime-content-type \e$B9=B$BN\e(B
-
-@deffn{Structure} mime-content-type
-
-Content-Type \e$BMs$N>pJs$r3JG<$9$k$?$a$N9=B$BN!#\e(B@refill
-
-\e$B$3$N9=B$BN$r;2>H$9$k$K$O\e(B @code{mime-content-type-\e$BMWAGL>\e(B} \e$B$H$$$&L>A0$N;2\e(B
-\e$B>H4X?t$rMQ$$$k!#\e(B@refill
-
-\e$B$3$N9=B$BN$NMWAG$O0J2<$NDL$j$G$"$k!'\e(B
-
-@table @var
-@item primary-type
-media-type \e$B$N<g7?\e(B (symbol).
-
-@item subtype
-media-type \e$B$NI{7?\e(B (symbol).
-
-@item parameters
-Content-Type \e$BMs$N\e(B parameter (\e$BO"A[\e(B list).
-
-@end table
-@end deffn
-
-
-@defun make-mime-content-type type subtype
-          &optional  parameters
-
-content-type \e$B$N@8@.;R!#\e(B
-@end defun
-
-
-@defun mime-content-type-parameter content-type parameter
-
-@var{content-type} \e$B$N\e(B @var{parameter} \e$B$NCM$rJV$9!#\e(B
-@end defun
-
-
-
-@node Content-Type parser, Content-Type utility, mime-content-type, Content-Type
-@section Content-Type \e$BMs$N2r@O4o\e(B
-
-@defun mime-parse-Content-Type string
-
-@var{string} \e$B$r\e(B content-type \e$B$H$7$F2r@O$7$?7k2L$rJV$9!#\e(B
-@end defun
-
-
-@defun mime-read-Content-Type
-
-\e$B8=:_$N\e(B buffer \e$B$N\e(B Content-Type \e$BMs$rFI$_<h$j!"2r@O$7$?7k2L$rJV$9!#\e(B@refill
-
-Content-Type \e$BMs$,B8:_$7$J$$>l9g$O\e(B nil \e$B$rJV$9!#\e(B
-@end defun
-
-
-
-@node Content-Type utility,  , Content-Type parser, Content-Type
-@section Content-Type \e$B$K4X$9$kM-MQ$J4X?t\e(B
-
-@defun mime-type/subtype-string type  &optional  subtype
-
-@var{type} \e$B$H\e(B @var{subtype} \e$B$+$i\e(B type/subtype \e$B7A<0$NJ8;zNs$rJV$9!#\e(B
-@end defun
-
-
-
-@node Content-Disposition, Content-Transfer-Encoding, Content-Type, Top
-@chapter Content-Disposition \e$BMs$N>pJs\e(B
-@cindex mime-content-disposition
-@cindex RFC 2183
-@cindex Standards Track
-@cindex Content-Disposition \e$BMs\e(B
-
-@strong{Content-Disposition \e$BMs\e(B} \e$B$O\e(B entity \e$B$NI=<($d\e(B file \e$BL>$J$I\e(B
-\e$B$NB0@-$K$J$I$K4X$9$k>pJs$r5-=R$9$k$?$a$N$b$N$G$9!#\e(B
-
-
-@noindent
-[RFC 2183]
-@quotation
-S. Dorner, K. Moore and R. Troost, ``Communicating Presentation
-Information in Internet Messages: The Content-Disposition Header'',
-August 1997, Standards Track.
-@end quotation
-
-FLIM \e$B$O\e(B Content-Disposition \e$BMs$r9=J82r@O$9$k4X?t$H\e(B Content-Disposition 
-\e$BMs$N2r@O7k2L$r3JG<$9$k9=B$BN\e(B 
-@strong{mime-content-disposition} \e$B$rDs6!$7$^$9!#\e(B
-
-
-@menu
-* mime-content-disposition::    mime-content-disposition \e$B9=B$BN\e(B
-* Content-Disposition parser::  Content-Disposition \e$BMs$N2r@O4o\e(B
-@end menu
-
-@node mime-content-disposition, Content-Disposition parser, Content-Disposition, Content-Disposition
-@section mime-content-disposition \e$B9=B$BN\e(B
-
-@deffn{Structure} mime-content-disposition
-
-Content-Disposition \e$BMs$N2r@O7k2L$r<}$a$k$?$a$N9=B$BN!#\e(B@refill
-
-\e$B$3$N9=B$BN$r;2>H$9$k$K$O\e(B @code{mime-content-disposition-\e$BMWAGL>\e(B} \e$B$H$$$&L>\e(B
-\e$BA0$N;2>H4X?t$rMQ$$$k!#\e(B@refill
-
-\e$B$3$N9=B$BN$NMWAG$O0J2<$NDL$j$G$"$k!'\e(B
-
-@table @var
-@item disposition-type
-disposition-type (symbol).
-
-@item parameters
-Content-Disposition \e$BMs$N\e(B parameter (\e$BO"A[\e(B list).
-
-@end table
-@end deffn
-
-
-@defun mime-content-disposition-parameter content-disposition parameter
-
-@var{content-disposition} \e$B$N\e(B @var{parameter} \e$B$NCM$rJV$9!#\e(B
-@end defun
-
-
-@defun mime-content-disposition-filename content-disposition
-
-@var{content-disposition} \e$B$N\e(B filename \e$B$NCM$rJV$9!#\e(B
-@end defun
-
-
-
-@node Content-Disposition parser,  , mime-content-disposition, Content-Disposition
-@section Content-Disposition \e$BMs$N2r@O4o\e(B
-
-@defun mime-parse-Content-Disposition string
-
-@var{string} \e$B$r\e(B content-disposition \e$B$H$7$F2r@O$7$?7k2L$rJV$9!#\e(B
-@end defun
-
-
-@defun mime-read-Content-Disposition
-
-\e$B8=:_$N\e(B buffer \e$B$N\e(B Content-Disposition \e$BMs$rFI$_<h$j!"2r@O$7$?7k2L$rJV$9!#\e(B
-@refill
-
-Content-Disposition \e$BMs$,B8:_$7$J$$>l9g$O\e(B nil \e$B$rJV$9!#\e(B
-@end defun
-
-
-
-@node Content-Transfer-Encoding, encoded-word, Content-Disposition, Top
-@chapter \e$BId9f2=K!\e(B
-@cindex Content-Transfer-Encoding \e$BMs\e(B
-
-@strong{Content-Transfer-Encoding \e$BMs\e(B} \e$B$O\e(B entity \e$B$NId9f2=K!$r5-=R$9$k$?$a\e(B
-\e$B$N$b$N$G$9!#\e(B@refill
-
-FLIM \e$B$G$O\e(B Content-Transfer-Encoding \e$BMs$r9=J82r@O$9$k4X?t$rDs6!$7$^$9!#$3\e(B
-\e$B$l$i$N4X?t$O\e(B Content-Transfer-Encoding \e$BMs$N>pJs$OJ8;zNs$GI=8=$7$^$9!#\e(B
-@refill
-
-\e$B$^$?!"\e(BContent-Transfer-Encoding \e$B$K4p$E$$$FId9f2=!&I|9f2=$r9T$&4X?t$bDs\e(B
-\e$B6!$5$l$^$9!#\e(B
-
-
-@menu
-* Content-Transfer-Encoding parser::  Content-Transfer-Encoding \e$BMs$N2r@O4o\e(B
-* Region encoder/decoder::      \e$BNN0h$NId9f2=!&I|9f2=\e(B
-* String encoder/decoder::      \e$BJ8;zNs$NId9f2=!&I|9f2=\e(B
-* File encoder/decoder::        File \e$B$NId9f2=!&I|9f2=\e(B
-@end menu
-
-@node Content-Transfer-Encoding parser, Region encoder/decoder, Content-Transfer-Encoding, Content-Transfer-Encoding
-@section Content-Transfer-Encoding \e$BMs$N2r@O4o\e(B
-
-@defun mime-parse-Content-Transfer-Encoding string
-
-@var{string} \e$B$r\e(B content-transfer-encoding \e$B$H$7$F2r@O$7$?7k2L$rJV$9!#\e(B
-@end defun
-
-
-@defun mime-read-Content-Transfer-Encoding &optional default-encoding
-
-\e$B8=:_$N\e(B buffer \e$B$N\e(B Content-Transfer-Encoding \e$BMs$rFI$_<h$j!"2r@O$7$?7k2L$r\e(B
-\e$BJV$9!#\e(B@refill
-
-Content-Transfer-Encoding \e$BMs$,B8:_$7$J$$>l9g$O\e(B@var{default-encoding} \e$B$r\e(B
-\e$BJV$9!#\e(B
-@end defun
-
-
-
-@node Region encoder/decoder, String encoder/decoder, Content-Transfer-Encoding parser, Content-Transfer-Encoding
-@section \e$BNN0h$NId9f2=!&I|9f2=\e(B
-
-@defun mime-encode-region start end encoding
-
-Encode region @var{start} to @var{end} of current buffer using
-@var{encoding}.
-@end defun
-
-
-@defun mime-decode-region start end encoding
-
-Decode region @var{start} to @var{end} of current buffer using
-@var{encoding}.
-@end defun
-
-
-@defvar mime-encoding-method-alist
-
-Alist of encoding vs. corresponding method to encode region.@refill
-
-Each element looks like @code{(STRING . FUNCTION)} or @code{(STRING
-. nil)}.  @var{string} is content-transfer-encoding.  @code{function} is
-region encoder and @code{nil} means not to encode.
-@end defvar
-
-
-@defvar mime-decoding-method-alist
-
-Alist of encoding vs. corresponding method to decode region.@refill
-
-Each element looks like @code{(STRING . FUNCTION)} or @code{(STRING
-. nil)}.  @var{string} is content-transfer-encoding.  @code{function} is
-region decoder and @code{nil} means not to decode.
-@end defvar
-
-
-
-@node String encoder/decoder, File encoder/decoder, Region encoder/decoder, Content-Transfer-Encoding
-@section \e$BJ8;zNs$NId9f2=!&I|9f2=\e(B
-
-@defun mime-decode-string string encoding
-
-@var{string} \e$B$r\e(B @var{encoding} \e$B$H$7$FI|9f$7$?7k2L$rJV$7$^$9!#\e(B
-@end defun
-
-
-@defvar mime-string-decoding-method-alist
-
-Alist of encoding vs. corresponding method to decode string.@refill
-
-Each element looks like @code{(STRING . FUNCTION)}.  STRING is
-content-transfer-encoding.  FUNCTION is string decoder.
-@end defvar
-
-
-
-@node File encoder/decoder,  , String encoder/decoder, Content-Transfer-Encoding
-@section File \e$B$NId9f2=!&I|9f2=\e(B
-
-@defun mime-insert-encoded-file filename encoding
-
-Insert file @var{FILENAME} encoded by @var{ENCODING} format.
-@end defun
-
-
-@defun mime-write-decoded-region start end filename encoding
-
-Decode and write current region encoded by @var{encoding} into
-@var{filename}.@refill
-
-@var{start} and @var{end} are buffer positions.
-@end defun
-
-
-@defvar mime-file-encoding-method-alist
-
-Alist of encoding vs. corresponding method to insert encoded
-file.@refill
-
-Each element looks like @code{(STRING . FUNCTION)}.  STRING is
-content-transfer-encoding.  FUNCTION is function to insert encoded file.
-@end defvar
-
-
-@defvar mime-file-decoding-method-alist
-
-Alist of encoding vs. corresponding method to write decoded region to
-file.@refill
-
-Each element looks like @code{(STRING . FUNCTION)}.  STRING is
-content-transfer-encoding.  FUNCTION is function to write decoded region
-to file.
-@end defvar
-
-
-
-@node encoded-word, custom, Content-Transfer-Encoding, Top
-@chapter Header \e$B$N\e(B network \e$BI=8=\e(B
-@cindex RFC 2047
-@cindex Standards Track
-@cindex RFC 2047
-
-encoded-word \e$B$O\e(B header \e$B$GHs\e(B ASCII (@ref{ASCII}) \e$BJ8;z$rI=8=$9$k$?$a$N7A<0\e(B
-\e$B$G!"\e(B@strong{RFC 2047} \e$B$GDj5A$5$l$F$$$^$9!#\e(B@refill
-
-
-@noindent
-[RFC 2047]
-@quotation
-K. Moore, ``MIME (Multipurpose Internet Mail Extensions) Part Three:
-Message Header Extensions for Non-ASCII Text'', November 1996, Standards
-Track (obsolete RFC 1521,1522,1590).
-@end quotation
-
-\e$B$^$?!"9T57$N0-$$$3$H$@$H8@$($^$9$,!"\e(Bencoded-word \e$B$rMQ$$$:$KHs\e(B ASCII
-(@ref{ASCII}) \e$BJ8;z$r\e(B header \e$B$KF~$l$?5-;v$bB8:_$7$^$9!#\e(B@refill
-
-FLIM \e$B$O$3$l$i$rId9f2=!&I|9f2=$9$k5!G=$rDs6!$7$^$9!#\e(B
-
-
-@menu
-* Header encoder/decoder::      Header \e$B$NId9f2=!&I|9f2=\e(B
-@end menu
-
-@node Header encoder/decoder,  , encoded-word, encoded-word
-@section Header \e$B$NId9f2=!&I|9f2=\e(B
-
-@defun eword-encode-header &optional  code-conversion separator
-
-Decode MIME encoded-words in header fields.@refill
-
-If @var{code-conversion} is @code{nil}, it decodes only encoded-words.
-If it is mime-charset, it decodes non-ASCII bit patterns as the
-mime-charset.  Otherwise it decodes non-ASCII bit patterns as the
-default-mime-charset.@refill
-
-If @var{separator} is not nil, it is used as header separator.
-@end defun
-
-
-@defun eword-encode-header &optional  code-conversion
-
-Encode header fields to network representation, such as MIME
-encoded-word.@refill
-
-It refer variable @code{eword-field-encoding-method-alist}.
-@end defun
-
-
-
-@node custom, Appendix, encoded-word, Top
-@chapter \e$B0lHL@_Dj\e(B
-
-@deffn{group} mime
-
-MIME \e$B4XO"5!G=$K4X$9$k\e(B group.@refill
-
-@code{mail} \e$B$H\e(B @code{news} \e$B$KB0$9$k!#\e(B
-@end deffn
-
-
-@defvar default-mime-charset
-
-\e$BE,@Z$J\e(B MIME charset (@ref{MIME charset}) \e$B$,8+$D$+$i$J$+$C$?>l9g$KMQ$$$i\e(B
-\e$B$l$k\e(BMIME charset.@refill
-
-\e$BK\Mh$O\e(B APEL \e$B$NJQ?t$G$"$k!#\e(B
-@end defvar
-
-
-@defvar mime-temp-directory
-
-MIME \e$B5!G=$K4X$9$k<BAu$,0l;~E*$K;HMQ$9$k\e(B file \e$B$r:n@.$9$k\e(B 
-directory.@refill
-
-\e$B4D6-JQ?t\e(B @code{MIME_TMP_DIR}, @code{TM_TMP_DIR}, @code{TMPDIR},
-@code{TMP} \e$B$b$7$/$O\e(B @code{TEMP} \e$B$,@_Dj$5$l$F$$$?>l9g!"$=$l$r=i4|CM$H$7$F\e(B
-\e$BMQ$$$k!#2?$b@_Dj$5$l$F$$$J$$>l9g!"\e(B@code{"/tmp/"} \e$B$rMQ$$$k!#\e(B
-@end defvar
-
-
-
-@node Appendix, Concept Index, custom, Top
-@chapter \e$BIUO?\e(B
-
-
-@menu
-* Glossary::                    \e$BMQ8l\e(B
-* Bug report::                  bug \e$BJs9p$N;EJ}\e(B
-* CVS::                         CVS \e$B$K$h$k3+H/\e(B
-* History::                     \e$BNr;K\e(B
-@end menu
-
-@node Glossary, Bug report, Appendix, Appendix
-@section \e$BMQ8l\e(B
-
-
-@menu
-* 7bit::                        
-* 8bit::                        
-* ASCII::                       
-* Base64::                      
-* binary::                      
-* Coded character set::         Coded character set\e$B!JId9f2=J8;z=89g!K\e(B, Character code\e$B!JJ8;zId9f!K\e(B
-* media-type::                  
-* message::                     
-* MIME::                        
-* MIME charset::                
-* MTA::                         
-* MUA::                         
-* Quoted-Printable::            
-* RFC 822::                     
-* RFC 1036::                    
-* RFC 2045::                    
-* RFC 2046::                    
-* RFC 2048::                    
-* RFC 2049::                    
-* plain text::                  
-* us-ascii::                    
-@end menu
-
-@node 7bit, 8bit, Glossary, Glossary
-@subsection 7bit
-
-\e$B$3$3$G$O\e(B 0 \e$B$+$i\e(B 127 \e$B$N@0?t$r;X$9!#\e(B@refill
-
-0 \e$B$+$i\e(B 127 \e$B$N@0?t$NNs$GI=8=$G$-$k$h$&$J\e(B data \e$B$r\e(B ``7bit \e$B$N\e(B data'' \e$B$H8F$V!#\e(B
-@refill
-
-\e$B$^$?!"\e(B0 \e$B$+$i\e(B 31 \e$B$*$h$S\e(B 127 \e$B$GI=8=$5$l$k@)8fJ8;z$H\e(B 32 \e$B$GI=8=$5$l$k6uGr$H\e(B 
-33 \e$B$+$i\e(B 126 \e$B$GI=8=$5$l$k?^7AJ8;z$+$i$J$kJ8;zNs$N$3$H$r\e(B ``7bit \e$B$NJ8;zNs\e(B'' 
-\e$B$H8F$V!J$3$l$O\e(B ISO 2022 (@ref{ISO 2022}) \e$B$N!V\e(B7 \e$BC10L7O!W$HF1MM!K!#\e(B
-
-\e$BEAE}E*$J\e(B Internet \e$B$N\e(B MTA (@ref{MTA}) \e$B$O\e(B 7bit \e$B$N\e(B data \e$B$rE>Aw$G$-$k$N$G!"\e(B
-7bit \e$B$N\e(B data \e$B$O\e(B Quoted-Printable (@ref{Quoted-Printable}) \e$B$d\e(B Base64
-(@ref{Base64}) \e$B$H$$$C$?JQ49$r9T$o$J$/$F$b$=$N$^$^E>Aw$G$-$k!#\e(B@refill
-
-\e$B$7$+$7!"\e(B7bit \e$B$G$"$l$P$I$s$J\e(B data \e$B$G$bNI$$$H$O$$$($J$$!#$J$<$J$i!"#19T$N\e(B
-\e$BD9$5$,$"$^$j$KD9$$$H!"\e(BMTA \e$B$O$=$N\e(B message \e$B$rE>Aw$9$k$3$H$,$G$-$J$$$+$i$G\e(B
-\e$B$"$k!#$A$J$_$K!"\e(BRFC 821 (@ref{RFC 821}) \e$B$O#19T$O2~9TJ8;z$r=|$$$F\e(B 998
-byte \e$B0JFb$G$"$k$3$H$r5a$a$F$$$k!#$h$C$F!"$3$l0J>e$N9T$,4^$^$l$k2DG=@-$N\e(B
-\e$B$"$k\e(B data, \e$BNc$($P!"\e(BPostscript \e$B$N\e(B data \e$B$J$I$O\e(B Quoted-Printable \e$BEy$G\e(B 
-encode\e$B$9$kI,MQ$,$"$k!#\e(B
-
-
-@node 8bit, ASCII, 7bit, Glossary
-@subsection 8bit
-@cindex binary
-
-\e$B$3$3$G$O\e(B 0 \e$B$+$i\e(B 255 \e$B$N@0?t$r;X$9!#\e(B@refill
-
-0 \e$B$+$i\e(B 255 \e$B$N@0?t$NNs$GI=8=$G$-$k$h$&$J\e(B data \e$B$r\e(B ``8bit \e$B$N\e(B data'' \e$B$H8F$V!#\e(B
-@refill
-
-\e$B$^$?!"\e(B0 \e$B$+$i\e(B 31, 127 \e$B$*$h$S\e(B 128 \e$B$+$i\e(B 159 \e$B$GI=8=$5$l$k@)8fJ8;z$H\e(B 32 \e$B$GI=\e(B
-\e$B8=$5$l$k6uGr$H\e(B 33 \e$B$+$i\e(B 126 \e$B$H\e(B 160 \e$B$+$i\e(B 255 \e$B$GI=8=$5$l$k?^7AJ8;z$+$i$J$k\e(B
-\e$BJ8;zNs$N$3$H$r\e(B ``8bit \e$B$NJ8;zNs\e(B'' \e$B$H8F$V!J$3$l$O\e(B ISO 2022 (@ref{ISO 2022}) \e$B$N!V\e(B8 \e$BC10L7O!W$HF1MM!K!#\e(B@refill
-
-iso-8859-1 (@ref{iso-8859-1}) \e$B$d\e(B euc-kr (@ref{euc-kr}) \e$B$H$$$C$?Id9f2=J8\e(B
-\e$B;z=89g$O\e(B 8bit \e$B$NJ8;zNs$G$"$k!#\e(B@refill
-
-\e$BEAE}E*$J\e(B Internet \e$B$N\e(B MTA (@ref{MTA}) \e$B$O\e(B 7bit (@ref{7bit}) \e$B$N\e(B data \e$B$7$+E>\e(B
-\e$BAw$G$-$J$$$N$G!"$=$&$7$?\e(B MTA \e$B$r7PM3$9$k>l9g!"\e(BQuoted-Printable
-(@ref{Quoted-Printable}) \e$B$d\e(B Base64 (@ref{Base64}) \e$B$H$$$C$?JQ49$r9T$o$J$/\e(B
-\e$B$F$O$J$i$J$$!#\e(B@refill
-
-\e$B$7$+$7!":G6a$G$O\e(B 8bit \e$B$NJ8;zNs$r$=$N$^$^DL$9$3$H$,$G$-$k\e(B MTA \e$B$bEP>l$7$F\e(B
-\e$B$-$?$N$G!"$=$N$^$^Aw$k$3$H$,$G$-$k>l9g$bA}$($F$-$?!#\e(B@refill
-
-\e$B$7$+$7!"\e(B8bit \e$B$G$"$l$P$I$s$J\e(B data \e$B$G$bNI$$$H$O$$$($J$$!#$J$<$J$i!"#19T$N\e(B
-\e$BD9$5$,$"$^$j$KD9$$$H!"\e(BMTA \e$B$O$=$N\e(B message \e$B$rE>Aw$9$k$3$H$,$G$-$J$$$+$i$G\e(B
-\e$B$"$k!#$A$J$_$K!"\e(BRFC 821 (@ref{RFC 821}) \e$B$O#19T$O2~9TJ8;z$r=|$$$F\e(B 998
-byte \e$B0JFb$G$"$k$3$H$r5a$a$F$$$k!#$h$C$F!"$3$l0J>e$N9T$,4^$^$l$k2DG=@-$N\e(B
-\e$B$"$k\e(B data, \e$BNc$($P!"\e(BPostscript \e$B$N\e(B data \e$B$J$I$O\e(B Quoted-Printable \e$BEy$G\e(B 
-encode\e$B$9$kI,MQ$,$"$k!#\e(B@refill
-
-\e$B$^$?!"$3$&$7$?M}M3$+$i!"#19T$,\e(B 999 byte \e$B0J>e$N9T$,B8:_$9$k2DG=@-$N$"$k\e(B
-data \e$B$O\e(B @strong{binary} (@ref{binary}) \e$B$H8F$V$3$H$K$9$k!#\e(B@refill
-
-\e$B$A$J$_$K!"\e(B7bit \e$B$GI=8=$G$-$k\e(B data \e$B$O\e(B 8bit \e$B$G$bI=8=$G$-$k!#$h$C$F!"\e(B
-``8bit'' \e$B$H8@$C$?>l9g!"#19T$,\e(B 998 byte \e$B0J2<$NG$0U$N\e(B data \e$B$r;X$9$3$H$,\e(B
-\e$B$"$k!#\e(B
-
-
-@node ASCII, Base64, 8bit, Glossary
-@subsection ASCII
-@cindex ANSI X3.4:1986
-@cindex ASCII
-
-\e$B%"%a%j%+O"K.$G;H$o$l$kJ8;z$rId9f2=$7$?Id9f2=J8;z=89g\e(B (@ref{\e$BId9f2=J8;z=8\e(B \e$B9g\e(B})\e$B!#\e(BA-Z, a-z \e$B$N\e(B Latin \e$BJ8;z$H?t;z!"4v$D$+$N5-9f$+$i$J$k!#\e(BISO 646 \e$B$N0l$D\e(B
-\e$B$G!"8=:_$O9q:]4p=`HG\e(B (IRV) \e$B$K$J$C$F$$$k!#\e(B
-
-
-@noindent
-[ASCII]
-@quotation
-``Coded Character Set -- 7-Bit American Standard Code for Information
-Interchange'', ANSI X3.4:1986.
-@end quotation
-
-
-
-@node Base64, binary, ASCII, Glossary
-@subsection Base64
-@cindex pad
-
-RFC 2045 (@ref{RFC 2045}) \e$B$GDj5A$5$l$F$$$k\e(B MIME (@ref{MIME}) \e$B$K$*$1$k\e(B 
-binary data (@ref{binary}) \e$B$N\e(B network \e$B$G$NJQ49K!$N#1$D!#\e(B@refill
-
-\e$B!X\e(B64 \e$B?J?t!Y$H$$$&0UL#$G!"\e(B3 byte \e$B$N\e(B data \e$B$r\e(B 0 \e$B$+$i\e(B 63 \e$B$N?t$rI=$9\e(B ASCII
-(@ref{ASCII}) 4 \e$BJ8;z$KJQ49$9$kJ}K!!#!J$b$7!"\e(B4 \e$BJ8;z$K$J$i$J$1$l$P\e(B 
-@strong{pad} \e$B$H8F$P$l$k5M$aJ*$r$7$FD9$5$rD4@0$9$k!K\e(B@refill
-
-\e$B$3$N\e(B 65 \e$B<oN`$NJ8;z$O\e(B ASCII \e$B$H\e(B EBCDIC \e$B$N6&DLItJ,$+$iA*$P$l$F$*$j!"\e(B
-Internet \e$B0J30$N\e(B network \e$B$r7PM3$9$k>l9g$G$b0BA4$KE>Aw$G$-$k$h$&$K@_7W$5\e(B
-\e$B$l$F$$$k!#\e(B
-
-
-@node binary, Coded character set, Base64, Glossary
-@subsection binary
-@cindex binary data
-@cindex binary
-
-\e$BG$0U$N\e(B byte \e$BNs$r\e(B @strong{binary} \e$B$H8F$V!#\e(B@refill
-
-8bit (@ref{8bit}) \e$B$H0[$J$k$N$O\e(B data \e$B$K9T$N9=B$$r2>Dj$7$J$$$3$H$G$"$k!#\e(B
-
-\e$B$^$?!"9T$N9=B$$,$"$C$F$b!"\e(B999 byte \e$B0J>e$+$i$J$k9T$,$"$k>l9g$b\e(B binary \e$B$H\e(B
-\e$B8F$V$3$H$K$9$k!#\e(B@refill
-
-\e$B$A$J$_$K!"\e(B7bit (@ref{7bit}) \e$B$d\e(B 8bit \e$B$GI=8=$G$-$k\e(B data \e$B$O\e(B binary \e$B$G$bI=8=\e(B
-\e$B$G$-$k!#$h$C$F!"\e(B@strong{binary data} \e$B$H8@$C$?>l9g!"G$0U$N\e(B data \e$B$r;X$9$3\e(B
-\e$B$H$,$"$k!#\e(B
-
-
-@node Coded character set, media-type, binary, Glossary
-@subsection Coded character set\e$B!JId9f2=J8;z=89g!K\e(B, Character code\e$B!JJ8;zId9f!K\e(B
-
-\e$BJ8;z$H\e(B byte \e$BNs$H#1BP#1$KBP1~IU$1$k[#Kf$G$J$$5,B'$N=89g!#\e(B
-
-
-@node media-type, message, Coded character set, Glossary
-@subsection media-type
-@cindex x-token
-@cindex primary-type/subtype
-@cindex message
-@cindex multipart
-@cindex application
-@cindex video
-@cindex audio
-@cindex image
-@cindex text
-@cindex subtype
-@cindex primary-type
-
-MIME (@ref{MIME}) \e$B$K$*$1$k\e(B entity (@ref{entity}) \e$B$N<oN`!#\e(B
-@strong{primary-type} \e$B$H\e(B @strong{subtype} \e$B$+$i$J$k!#\e(BRFC 2046 (@ref{RFC 2046}) \e$B$GDj5A$5$l$F$$$k!#\e(B@refill
-
-primary-type \e$B$OI8=`$G$O\e(B
-
-@itemize @bullet
-@item
-@strong{text}
-@item
-@strong{image}
-@item
-@strong{audio}
-@item
-@strong{video}
-@item
-@strong{application}
-@item
-@strong{multipart} (@ref{multipart})
-@item
-@strong{message}
-@end itemize
-
-@noindent
-\e$B$,Dj5A$5$l!"$=$l$>$l$K$O\e(B application/octet-stream, audio/basic,
-image/jpeg, multipart/mixed (@ref{multipart/mixed}), text/plain
-(@ref{text/plain}), video/mpeg \e$B$J$I$N$5$^$6$^$J\e(B subtype \e$B$,Dj5A$5$l$F$$$k!#\e(B
-
-@noindent
-@strong{[\e$BCm0U\e(B]}
-@quotation
-
-\e$B$3$3$G$O!"\e(Btext/plain \e$B$J$I$N\e(B type/subtype \e$B$NAH$r$7$P$7$P\e(B 
-@strong{primary-type/subtype} \e$B$H=q$/!#\e(B
-@end quotation
-
-
-media-type \e$B$O!"\e(BRFC 2046 \e$B$GDj5A$5$l$F$$$k$b$N$K2C$($F!"EPO?$9$k$3$H$b$G$-\e(B
-\e$B$k!#8=:_!"EPO?$5$l$F$$$k$b$N$O\e(B MEDIA TYPES
-(ftp://ftp.isi.edu/in-notes/iana/assignments/media-types) \e$B$G;2>H$G$-$k!#\e(B
-
-\e$B$^$?!"\e(Btype \e$B$b$7$/$O\e(B subtype \e$B$K!"A0$K\e(B `x-' \e$B$rIU$1$?\e(B @strong{x-token} \e$B$rMQ\e(B
-\e$B$$$k$3$H$K$h$j!"EPO?$5$l$F$$$J$$$b$N$r;dE*$KMQ$$$k$3$H$b$G$-$k!#$7$+$7!"\e(B
-\e$BEvA3$N$3$H$J$,$i!"$3$&$7$?;dE*$J\e(B media-type \e$B$ONJ2r$rF@$?<T$N4V$G$7$+2r<a\e(B
-\e$B$G$-$J$$$N$GMxMQ$K$OCm0U$9$k$3$H!#\e(B@refill
-
-(cf. @ref{Content-Type})
-
-
-
-@node message, MIME, media-type, Glossary
-@subsection message
-
-\e$B$3$3$G$O\e(B mail \e$B$H\e(B news \e$B5-;v$NAm>N$H$7$FMQ$$$k!#\e(B
-
-
-@node MIME, MIME charset, message, Glossary
-@subsection MIME
-@cindex Multipurpose Internet Mail Extensions
-
-@strong{Multipurpose Internet Mail Extensions} \e$B$NN,$G!"\e(BInternet \e$B$N\e(B mail 
-\e$B$d\e(B news \e$B$G\e(B us-ascii plain text (@ref{us-ascii}) \e$B0J30$NJ8;z$r;H$&$?$a$N\e(B 
-RFC 822 (@ref{RFC 822}) \e$B$KBP$9$k3HD%!#\e(B@refill
-
-RFC 2045 \e$B$OKAF,$G<!$N$h$&$K=R$Y$F$$$k!'\e(B@refill
-
-STD 11, RFC 822 \e$B$O!"\e(BUS-ASCII message header \e$B$K4X$7$FHs>o$K>\:Y$K5,Dj$7\e(B
-\e$B$?\e(B message \e$BI=8=\e(B protocol \e$B$rDj5A$7$F$$$k!#$7$+$7!"$=$l$OC1$K\e(B flat \e$B$J\e(B 
-US-ASCII text \e$B$N$_$KN1$^$j!"\e(Bmessage \e$B$NFbMF$d\e(B message body \e$B$K4X$9$k5,Dj\e(B
-\e$B$O$J$5$l$F$$$J$$!#\e(BMultipurpose Internet Mail Extensions, \e$B$"$k$$$O\e(B MIME 
-\e$B$HAm>N$5$l$k!"$3$N0lO"$NJ8=q$O!"0J2<$N;v$r2DG=$H$9$k$?$a$K\e(B message \e$B$N\e(B
-\e$B7A<0$r:FDj5A$7$?!'\e(B
-
-@enumerate
-@item
-\e$BJ8=q\e(B message body \e$B$K$*$1$k\e(B US-ASCII \e$B0J30$NJ8;z=89g\e(B
-@item
-\e$BHsJ8=q\e(B message body
-@item
-\e$BJ#?t$NItJ,$+$i$J$k\e(B message body
-@item
-US-ASCII \e$B0J30$NJ8;z=89g$+$i$J$kJ8=q\e(B header \e$B>pJs\e(B
-@end enumerate
-
-
-RFC 2045 (@ref{RFC 2045}), RFC 2046 (@ref{RFC 2046}), RFC 2047
-(@ref{encoded-word}), RFC 2048 (@ref{RFC 2048}), RFC 2049 (@ref{RFC 2049}) \e$B$GDj5A$5$l$F$$$k!#\e(B
-
-
-@node MIME charset, MTA, MIME, Glossary
-@subsection MIME charset
-
-Content-Type (@ref{Content-Type}) \e$BMs$d\e(B encoded-word (@ref{encoded-word}) 
-\e$B$N\e(B charset parameter \e$B$GMQ$$$i$l$kEPO?$5$l$?Id9f2=J8;z=89g\e(B(@ref{Coded character set})\e$B!#\e(B@refill
-
-RFC 2045 (@ref{RFC 2045}) \e$B$GDj5A$5$l$F$$$k!#\e(B@refill
-
-iso-2022-jp \e$B$d\e(B euc-kr \e$B$O$=$N#1$D!#\e(B
-
-
-@node MTA, MUA, MIME charset, Glossary
-@subsection MTA
-@cindex Message Transfer Agent
-
-@strong{Message Transfer Agent} \e$B$NN,$G!"\e(Bqmail \e$B$d\e(B sendmail \e$B$J$I$N\e(B mail \e$BG[\e(B
-\e$BAw\e(B program \e$B$H\e(B inn \e$B$J$I$N\e(B news server \e$B$NAm>N!#\e(B@refill
-
-(cf. @ref{MUA})
-
-
-
-@node MUA, Quoted-Printable, MTA, Glossary
-@subsection MUA
-@cindex Message User Agent
-
-@strong{Message User Agent} \e$B$NN,$G!"\e(Bmail reader \e$B$H\e(B news reader \e$B$NAm>N!#\e(B
-@refill
-
-(cf. @ref{MTA})
-
-
-
-@node Quoted-Printable, RFC 822, MUA, Glossary
-@subsection Quoted-Printable
-
-RFC 2045 (@ref{RFC 2045}) \e$B$GDj5A$5$l$F$$$k\e(B MIME (@ref{MIME}) \e$B$K$*$1$k\e(B 
-binary data (@ref{binary data}) \e$B$N\e(B network \e$B$G$NJQ49K!$N#1$D!#\e(B@refill
-
-`=' \e$B$d@)8fJ8;z$d\e(B 128 \e$B0J>e$NJ8;z$J$I$O\e(B `=AF' \e$B$N$h$&$K\e(B `=' \e$B$N8e$KB3$/\e(B 16 
-\e$B?J?t$GI=8=$9$k!#$3$N$?$a!"\e(BASCII (@ref{ASCII}) \e$BJ8;zCf?4$N\e(B data \e$B$G$O\e(B 
-Base64 (@ref{Base64}) \e$B$KHf$Y$k$H2DFI@-$,9b$/$J$k2DG=@-$,$"$k!#\e(B@refill
-
-\e$B$7$+$7$J$,$i!"\e(BEBCDIC \e$B$K$OB8:_$7$J$$J8;z$rMxMQ$9$k>l9g!"\e(BEBCDIC \e$B$rMxMQ$7\e(B
-\e$B$F$$$k\e(B network \e$B$G$O0BA4$KE>Aw$9$k$3$H$,$G$-$:!"\e(BBase64 \e$B$KHf$Y$F0BA4@-$O\e(B
-\e$BDc$$!#\e(B
-
-
-@node RFC 822, RFC 1036, Quoted-Printable, Glossary
-@subsection RFC 822
-@cindex RFC 822
-@cindex STD 11
-@cindex Internet message
-@cindex Internet mail
-@cindex message header
-
-Internet mail \e$B$N<g$K\e(B @strong{message header} \e$B$K4X$9$k7A<0$K\e(B
-\e$B4X$9$kI8=`$rDj$a$F$$$k\e(B RFC.
-
-@noindent
-@strong{[Memo]}
-@quotation
-
-news message \e$B$b$3$l$K=`$8$F$$$k$N$G!"\e(B@strong{Internet mail} \e$B$H=q$/$h$j$b!"\e(B
-@strong{Internet message} \e$B$H=q$$$?J}$,NI$$$+$b$7$l$J$$!#\e(B
-@end quotation
-
-
-
-@noindent
-[RFC 822]
-@quotation
-D. Crocker, ``Standard for the Format of ARPA Internet Text Messages'',
-August 1982, STD 11.
-@end quotation
-
-
-
-@node RFC 1036, RFC 2045, RFC 822, Glossary
-@subsection RFC 1036
-@cindex RFC 1036
-@cindex USENET
-
-USENET \e$B$G$N\e(B message \e$B$N7A<0$rDj$a$?\e(B RFC.  RFC 822 (@ref{RFC 822}) \e$B$N\e(B 
-subset \e$B$K$J$C$F$$$k!#\e(BInternet \e$B$NI8=`$G$O$J$$$,!"\e(BUSENET \e$B0J30$N\e(B netnews \e$B$G\e(B
-\e$B$b$3$l$K=`$8$F$$$k$b$N$,B?$$!#\e(B
-
-
-@noindent
-[USENET: RFC 1036]
-@quotation
-M. Horton and R. Adams, ``Standard for Interchange of USENET Messages'',
-December 1987, (obsolete RFC 850).
-@end quotation
-
-
-
-@node RFC 2045, RFC 2046, RFC 1036, Glossary
-@subsection RFC 2045
-@cindex RFC 2045
-@cindex Standards Track
-
-
-@noindent
-[RFC 2045]
-@quotation
-N. Freed and N. Borenstein, ``Multipurpose Internet Mail Extensions
-(MIME) Part One: Format of Internet Message Bodies'', November 1996,
-Standards Track (obsolete RFC 1521, 1522, 1590).
-@end quotation
-
-
-
-@node RFC 2046, RFC 2048, RFC 2045, Glossary
-@subsection RFC 2046
-@cindex RFC 2046
-@cindex Standards Track
-
-
-@noindent
-[RFC 2046]
-@quotation
-N. Freed and N. Borenstein, ``Multipurpose Internet Mail Extensions
-(MIME) Part Two: Media Types'', November 1996, Standards Track (obsolete
-RFC 1521, 1522, 1590).
-@end quotation
-
-
-
-@node RFC 2048, RFC 2049, RFC 2046, Glossary
-@subsection RFC 2048
-@cindex RFC 2048
-@cindex Standards Track
-
-
-@noindent
-[RFC 2048]
-@quotation
-N. Freed, J. Klensin and J. Postel, ``Multipurpose Internet Mail
-Extensions (MIME) Part Four: Registration Procedures'', November 1996,
-Standards Track (obsolete RFC 1521, 1522, 1590).
-@end quotation
-
-
-
-@node RFC 2049, plain text, RFC 2048, Glossary
-@subsection RFC 2049
-@cindex RFC 2049
-@cindex Standards Track
-
-
-@noindent
-[RFC 2049]
-@quotation
-N. Freed and N. Borenstein, ``Multipurpose Internet Mail Extensions
-(MIME) Part Five: Conformance Criteria and Examples'', November 1996,
-Standards Track (obsolete RFC 1521, 1522, 1590).
-@end quotation
-
-
-
-@node plain text, us-ascii, RFC 2049, Glossary
-@subsection plain text
-
-\e$B=qBN$dAHHG$K4X$9$k>pJs$r;}$?$J$$J8;zId9f\e(B(@ref{Coded character set})\e$B$N$_\e(B
-\e$B$GI=8=$5$l$k\e(B text \e$B>pJs!#\e(B(cf. @ref{text/plain})
-
-
-
-@node us-ascii,  , plain text, Glossary
-@subsection us-ascii
-@cindex ASCII
-@cindex us-ascii
-
-\e$B%"%a%j%+O"K.$J$I$G;H$o$l$k1Q8l$J$I$rI=8=$9$k$?$a$N\e(B MIME charset
-(@ref{MIME charset}) \e$B$N#1$D!#\e(B@refill
-
-ASCII (@ref{ASCII}) \e$B$N$_$+$i$J$j\e(B ISO 2022 \e$B$K$h$kId9f3HD%$O5v$5$l$J$$!#\e(B
-
-Internet message \e$B$K$*$1$kI8=`$NId9f2=J8;z=89g\e(B(@ref{Coded character set})
-\e$B$G$"$j!"L@<(E*$K\e(B MIME charset \e$B$,<($5$l$J$$>l9g$O86B'$H$7$F\e(B 
-@strong{us-ascii} \e$B$,;H$o$l$k!#\e(B@refill
-
-\e$B$^$?!"\e(BRFC 822 (@ref{RFC 822}) \e$B$K$*$1$k\e(B @strong{ASCII} \e$B$O\e(B us-ascii \e$B$G$"$k!#\e(B
-
-
-@node Bug report, CVS, Glossary, Appendix
-@section bug \e$BJs9p$N;EJ}\e(B
-
-FLIM \e$B$N%P%0$r8+$D$1$?$i!"0J2<$N\e(B address \e$B$K\e(B mail \e$B$rAw$C$F$/$@$5$$!'\e(B
-
-@itemize @bullet
-@item
\e$BF|K\8l\e(B <bug-tm-ja@@chamonix.jaist.ac.jp>
-@item
\e$B1Q8l\e(B <bug-tm-en@@chamonix.jaist.ac.jp>
-@end itemize
-
-
-\e$BC"$7!"$"$^$j$K$b8E$$HG$K4X$9$kJs9p$O4?7^$5$l$^$;$s!#8E$$HG$N\e(B bug \e$B$O!"?7\e(B
-\e$B$7$$HG$G$O<#$C$F$$$k$+$b$7$l$^$;$s!#$^$:!":G?7HG$G3NG'$7$F$_$^$7$g$&!#\e(B
-@refill
-
-\e$B$=$l$+$i!"E,@Z$JJs9p$r$7$^$7$g$&!#C1$K!V$&$^$/F0$+$J$$!W$H8@$o$l$F$b$I$&\e(B
-\e$B$$$&>u67$J$N$+$O$5$C$Q$jH=$j$^$;$s!#:GDc8B!"\e(BOS, emacs, APEL, FLIM, SEMI, 
-\e$B;H$C$F$$$k\e(B MUA \e$B$N<oN`$*$h$SHG!"@_Dj$r=q$/I,MW$,$"$j$^$9!#$^$?!"\e(Berror \e$B$,\e(B
-\e$B5/$C$F$$$k>l9g$O\e(B backtrace \e$B$rAw$k$3$H$b=EMW$G$9!#\e(B(cf. @ref{(emacs)Bugs})
-
-\e$B$^$?!"\e(Bbug \e$B$OBgDqJ#?t$N?M$,Ax6x$9$k$b$N$G$9!J$=$&$G$J$1$l$P!"\e(Bbug \e$B$G$O$J\e(B
-\e$B$$2DG=@-$,$"$j$^$9!K!#$@$+$i!":n<T$KD>@\\e(B mail \e$B$rAw$k$H:n<T$OF1$8\e(B mail
-\e$B$r2?DL$b=q$/1)L\$K$J$j$^$9!#$@$+$i!"I,$:\e(B bug \e$BJs9p$O>e5-$N\e(B address \e$B$KAw$C\e(B
-\e$B$F$/$@$5$$!#\e(B
-
-tm ML \e$B$G$O\e(B FLIM \e$B$N%P%0>pJs$N8r49$d:G?7HG$NG[I[!"\e(BFLIM \e$B$N2~NI$K4X$9$k5D\e(B
-\e$BO@$r9T$J$C$F$$$^$9!#\e(Btm ML \e$B$K;22C$7$?$$J}$O\e(B
-
-@itemize @bullet
-@item
\e$BF|K\8l\e(B <tm-ja-help@@chamonix.jaist.ac.jp>
-@item
\e$B1Q8l\e(B <tm-en-help@@chamonix.jaist.ac.jp>
-@end itemize
-
-@noindent
-\e$B$K6u$N\e(B mail \e$B$rAw$C$F2<$5$$!#\e(B
-
-
-@node CVS, History, Bug report, Appendix
-@section CVS \e$B$K$h$k3+H/\e(B
-
-FLIM \e$B$N\e(B file \e$B$O\e(B CVS \e$B$r;H$C$F4IM}$5$l$F$$$^$9!#$3$N$?$a!"0J2<$NJ}K!$G:G\e(B
-\e$B?7$N\e(B FLIM \e$B$rF~<j$9$k$3$H$,$G$-$^$9!'\e(B
-
-@example
-(0) cvs login
-
-    % cvs -d :pserver:anonymous@@chamonix.jaist.ac.jp:/hare/cvs/root \
-       login
-
-    CVS password: [CR] # NULL string
-
-(1) checkout
-
-    % cvs -d :pserver:anonymous@@chamonix.jaist.ac.jp:/hare/cvs/root \
-       checkout [-r TAG] flim
-@end example
-
-
-CVS \e$B$rMQ$$$?3+H/$K;22C$7$?$$J}$O\e(B
-
-@itemize @bullet
-@item
- <cvs@@chamonix.jaist.ac.jp>
-@end itemize
-
-@noindent
-\e$B$^$G!"\e(Baccount \e$BL>$H\e(B UNIX \e$B$N\e(B passwd \e$B$HF1$87A<0$N\e(B crypt \e$B2=$5$l$?\e(B password
-\e$B$r1h$($F8fO"Mm$/$@$5$$!#\e(B
-
-
-@node History,  , CVS, Appendix
-@section \e$BNr;K\e(B
-
-FLIM \e$B$N\e(B code \e$B$N:G8E$NItJ,$O\e(B \e$B1]JB\e(B \e$B;LCR\e(B \e$B;a$,=q$$$?\e(B @file{mime.el}\e$B$K5/8;$7\e(B
-\e$B$^$9!#$3$N>.$5$J\e(B program \e$B$O\e(B Nemacs \e$B$GF0:n$9$k\e(B iso-2022-jp \e$B$N\e(B B-encoding 
-\e$B@lMQ$N\e(B encoded-word \e$B$NI|9f2=%W%m%0%i%`$G$7$?!#\e(B@refill
-
-\e$B$=$N8e!"<i2,\e(B \e$BCNI'\e(B \e$B$O\e(B @file{mime.el} \e$B$r85$K\e(B@file{tiny-mime.el} \e$B$H$$$&%W%m\e(B
-\e$B%0%i%`$r=q$-$^$9!#$3$l$O!"\e(BNemacs \e$B$H\e(B Mule \e$B$GF0:n$9$k\e(B encoded-word \e$B$NId9f\e(B
-\e$B2=!&I|9f2=%W%m%0%i%`$G$7$?!#\e(B@file{tiny-mime.el} \e$B$O\e(B B-encoding \e$B$@$1$G$J$/\e(B 
-Q-encoding \e$B$b\e(Bsupport \e$B$7!"$^$?!"\e(BMULE \e$B$G07$&$3$H$,$G$-$k$5$^$6$^$J\e(B MIME
-charset (@ref{MIME charset}) \e$B$rF1;~$K;H$&$3$H$,$G$-$^$7$?!#$3$N;~!"\e(B
-Nemacs \e$B$H\e(B Mule \e$B$NAPJ}$r\e(B support \e$B$9$k$?$a$KMQ$$$i$l$?%F%/%K%C%/$O8e$K\e(B emu
-package \e$B$K$^$H$a$i$l$^$9!#\e(B@refill
-
-\e$B$3$N:"!"<i2,\e(B \e$BCNI'\e(B \e$B$O\e(B @file{tiny-mime.el} \e$B$r$5$^$6$^$J\e(B MUA \e$B$G;H$&$?$a$N@_\e(B
-\e$BDj=8$bG[I[$7$F$$$^$7$?$,!"$=$l$i$O8e$K\e(B@file{tiny-mime.el} \e$B$H$H$b$K#1$D$N\e(B 
-package \e$B$K$^$H$a$i$l!"\e(Btm \e$B$H$$$&L>A0$GG[I[$5$l$^$9!#\e(B@refill
-
-\e$B<i2,\e(B \e$BCNI'\e(B \e$B$O$d$,$F!"\e(BMIME message \e$B$r1\Mw$9$k$?$a$N%W%m%0%i%`$G$"$k\e(B
-@file{tm-body.el} \e$B$r=q$-$^$9!#$3$l$O!"$9$0$K\e(B@file{tm-view.el} \e$B$H$$$&L>A0\e(B
-\e$B$KJQ$o$j$^$7$?$,!"$d$,$F!"$3$l$,\e(B@file{tiny-mime.el} \e$B$KBe$o$C$F!"\e(Btm \e$B$NCf\e(B
-\e$B3K$H$J$j$^$9!#\e(B@refill
-
-@file{tm-view.el} \e$B$OEvA3!"\e(BContent-Transfer-Encoding \e$B$r07$&I,MW$,$"$j$^$9!#\e(B
-\e$B$3$NL\E*$N$?$a$K!"\e(BMEL \e$B$,@0Hw$5$l$O$8$a$^$7$?!#\e(BBase64 \e$B$K4X$7$F$O\e(B 
-@file{tiny-mime.el} \e$B$N\e(B code \e$B$,0\$5$l!"$^$?!"?7$?$K\e(BQuoted-Printable \e$B$N\e(B 
-code \e$B$,DI2C$5$l$^$7$?!#$3$l$i$,\e(B@file{mel-b.el} \e$B$H\e(B @file{mel-q.el} \e$B$K$J$j\e(B
-\e$B$^$7$?!#\e(B@refill
-
-\e$B$^$?!"8e$K!"<i2,\e(B \e$BCNI'\e(B \e$B$K$h$C$F\e(B uuencode \e$BMQ$N\e(B @file{mel-u.el} \e$B$,DI2C$5$l!"\e(B
-\e$B$=$N8e$K!">.NS\e(B \e$B=$J?\e(B \e$B;a$K$h$C$F\e(B x-gzip64 \e$BMQ$N\e(B@file{mel-g.el} \e$B$,DI2C$5$l$^\e(B
-\e$B$7$?!#\e(B@refill
-
-tm \e$B$G$O8e$K!"<i2,\e(B \e$BCNI'\e(B \e$B$K$h$C$F\e(B @file{tiny-mime.el} \e$B$N:F<BAu$,9T$o$l!"$3\e(B
-\e$B$N2aDx$G!"\e(BSTD 11 \e$B$N\e(B parser \e$B$,=q$+$l$^$7$?!#$3$l$O!"8=:_$N\e(B 
-@file{std11.el} \e$B$KEv$?$j$^$9!#$^$?!"$3$N2aDx$G\e(B @file{tiny-mime.el} \e$B$OI|\e(B
-\e$B9f2=$r9T$&\e(B @file{tm-ew-d.el} \e$B$HId9f2=$r9T$&\e(B @file{tm-ew-e.el} \e$B$KJ,$1$i$l\e(B
-\e$B$^$7$?!#$3$NN><T$,8=:_$N\e(B @file{eword-decode.el} \e$B$H\e(B 
-@file{eword-encode.el} \e$B$N@hAD$KEv$?$j$^$9!#\e(B@refill
-
-\e$B8e$K!"<i2,\e(B \e$BCNI'\e(B \e$B$i$K$h$C$F\e(B tm \e$B$NA4LL=q$-49$(:n6H$,9T$o$l!"$3$N2aDx$G!"\e(Btm 
-\e$B$O\e(B APEL, MEL, SEMI, EMH, RMAIL-MIME, Gnus-MIME \e$B$J$I$KJ,$1$i$l$^$7$?!#$3\e(B
-\e$B$N$&$A$N\e(B MEL \e$B$,\e(B FLIM \e$B$ND>@\$N@hAD$KEv$?$j$^$9!#\e(B@refill
-
-\e$B8e$K!"\e(BAPEL \e$B$+$i\e(B @file{std11.el} \e$B$,0\$5$l!"$^$?!"\e(B@file{mailcap.el},
-@file{eword-decode.el} \e$B$*$h$S\e(B @file{eword-encode.el} \e$B$,\e(B SEMI \e$B$+$i0\$5$l!"\e(B
-package \e$B$NL>A0$,\e(B FLIM\e$B$H$J$j$^$9!#\e(B@refill
-
-\e$B$3$ND>A0$+$iEDCf\e(B \e$BE/\e(B \e$B;a$,$h$j\e(B RFC \e$B$KCi<B$J<BAu$r=q$-;O$a!"$3$l$O!"8=:_!"\e(B
-FLIM \e$B$N;^$G$"$k\e(B ``FLIM-FLAM'' \e$B$H$J$C$F$$$^$9!#\e(B
-
-
-@node Concept Index, Function Index, Appendix, Top
-@chapter \e$B35G0:w0z\e(B
-
-@printindex cp
-
-@node Function Index, Variable Index, Concept Index, Top
-@chapter \e$B4X?t:w0z\e(B
-
-@printindex fn
-
-@node Variable Index,  , Function Index, Top
-@chapter \e$BJQ?t:w0z\e(B
-
-@printindex vr
-@bye
diff --git a/mime-lib.el b/mime-lib.el
deleted file mode 100644 (file)
index bdee3ec..0000000
+++ /dev/null
@@ -1,31 +0,0 @@
-;;; mime-lib.el --- MIME library module
-
-;; Copyright (C) 1998 Free Software Foundation, Inc.
-
-;; Author: MORIOKA Tomohiko <morioka@jaist.ac.jp>
-;; Keywords: MIME, multimedia, mail, news
-
-;; This file is part of FLIM (Faithful Library about Internet Message).
-
-;; This program is free software; you can redistribute it and/or
-;; modify it under the terms of the GNU General Public License as
-;; published by the Free Software Foundation; either version 2, or (at
-;; your option) any later version.
-
-;; This program is distributed in the hope that it will be useful, but
-;; WITHOUT ANY WARRANTY; without even the implied warranty of
-;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-;; General Public License for more details.
-
-;; You should have received a copy of the GNU General Public License
-;; along with GNU Emacs; see the file COPYING.  If not, write to the
-;; Free Software Foundation, Inc., 59 Temple Place - Suite 330,
-;; Boston, MA 02111-1307, USA.
-
-;;; Code:
-
-(require 'mime)
-
-(provide 'mime-lib)
-
-;;; mime-lib.el ends here
diff --git a/mime-parse.el b/mime-parse.el
deleted file mode 100644 (file)
index fa20a85..0000000
+++ /dev/null
@@ -1,270 +0,0 @@
-;;; mime-parse.el --- MIME message parser
-
-;; Copyright (C) 1994,1995,1996,1997,1998 Free Software Foundation, Inc.
-
-;; Author: MORIOKA Tomohiko <morioka@jaist.ac.jp>
-;; Keywords: parse, MIME, multimedia, mail, news
-
-;; This file is part of SEMI (Spadework for Emacs MIME Interfaces).
-
-;; This program is free software; you can redistribute it and/or
-;; modify it under the terms of the GNU General Public License as
-;; published by the Free Software Foundation; either version 2, or (at
-;; your option) any later version.
-
-;; This program is distributed in the hope that it will be useful, but
-;; WITHOUT ANY WARRANTY; without even the implied warranty of
-;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-;; General Public License for more details.
-
-;; You should have received a copy of the GNU General Public License
-;; along with GNU Emacs; see the file COPYING.  If not, write to the
-;; Free Software Foundation, Inc., 59 Temple Place - Suite 330,
-;; Boston, MA 02111-1307, USA.
-
-;;; Code:
-
-(require 'emu)
-(require 'std11)
-(require 'mime-def)
-
-(eval-when-compile (require 'cl))
-
-
-;;; @ field parser
-;;;
-
-(defconst mime/content-parameter-value-regexp
-  (concat "\\("
-         std11-quoted-string-regexp
-         "\\|[^; \t\n]*\\)"))
-
-(defconst mime::parameter-regexp
-  (concat "^[ \t]*\;[ \t]*\\(" mime-token-regexp "\\)"
-         "[ \t]*=[ \t]*\\(" mime/content-parameter-value-regexp "\\)"))
-
-(defun mime-parse-parameter (str)
-  (if (string-match mime::parameter-regexp str)
-      (let ((e (match-end 2)))
-       (cons
-        (cons (downcase (substring str (match-beginning 1) (match-end 1)))
-              (std11-strip-quoted-string
-               (substring str (match-beginning 2) e))
-              )
-        (substring str e)
-        ))))
-
-
-;;; @ Content-Type
-;;;
-
-;;;###autoload
-(defun mime-parse-Content-Type (string)
-  "Parse STRING as field-body of Content-Type field.
-Return value is
-    (PRIMARY-TYPE SUBTYPE (NAME1 . VALUE1)(NAME2 . VALUE2) ...)
-or nil.  PRIMARY-TYPE and SUBTYPE are symbol and NAME_n and VALUE_n
-are string."
-  (setq string (std11-unfold-string string))
-  (if (string-match `,(concat "^\\(" mime-token-regexp
-                             "\\)/\\(" mime-token-regexp "\\)") string)
-      (let* ((type (downcase
-                   (substring string (match-beginning 1) (match-end 1))))
-            (subtype (downcase
-                      (substring string (match-beginning 2) (match-end 2))))
-            ret dest)
-       (setq string (substring string (match-end 0)))
-       (while (setq ret (mime-parse-parameter string))
-         (setq dest (cons (car ret) dest)
-               string (cdr ret))
-         )
-       (make-mime-content-type (intern type)(intern subtype)
-                               (nreverse dest))
-       )))
-
-;;;###autoload
-(defun mime-read-Content-Type ()
-  "Read field-body of Content-Type field from current-buffer,
-and return parsed it.  Format of return value is as same as
-`mime-parse-Content-Type'."
-  (let ((str (std11-field-body "Content-Type")))
-    (if str
-       (mime-parse-Content-Type str)
-      )))
-
-
-;;; @ Content-Disposition
-;;;
-
-(defconst mime-disposition-type-regexp mime-token-regexp)
-
-;;;###autoload
-(defun mime-parse-Content-Disposition (string)
-  "Parse STRING as field-body of Content-Disposition field."
-  (setq string (std11-unfold-string string))
-  (if (string-match `,(concat "^" mime-disposition-type-regexp) string)
-      (let* ((e (match-end 0))
-            (type (downcase (substring string 0 e)))
-            ret dest)
-       (setq string (substring string e))
-       (while (setq ret (mime-parse-parameter string))
-         (setq dest (cons (car ret) dest)
-               string (cdr ret))
-         )
-       (cons (cons 'type (intern type))
-             (nreverse dest))
-       )))
-
-;;;###autoload
-(defun mime-read-Content-Disposition ()
-  "Read field-body of Content-Disposition field from current-buffer,
-and return parsed it."
-  (let ((str (std11-field-body "Content-Disposition")))
-    (if str
-       (mime-parse-Content-Disposition str)
-      )))
-
-
-;;; @ Content-Transfer-Encoding
-;;;
-
-;;;###autoload
-(defun mime-parse-Content-Transfer-Encoding (string)
-  "Parse STRING as field-body of Content-Transfer-Encoding field."
-  (if (string-match "[ \t\n\r]+$" string)
-      (setq string (match-string 0 string))
-    )
-  (downcase string))
-
-;;;###autoload
-(defun mime-read-Content-Transfer-Encoding (&optional default-encoding)
-  "Read field-body of Content-Transfer-Encoding field from
-current-buffer, and return it.
-If is is not found, return DEFAULT-ENCODING."
-  (let ((str (std11-field-body "Content-Transfer-Encoding")))
-    (if str
-       (mime-parse-Content-Transfer-Encoding str)
-      default-encoding)))
-
-
-;;; @ message parser
-;;;
-
-(defun mime-parse-multipart (entity)
-  (goto-char (point-min))
-  (let* ((representation-type
-         (mime-entity-representation-type-internal entity))
-        (content-type (mime-entity-content-type-internal entity))
-        (dash-boundary
-         (concat "--" (mime-content-type-parameter content-type "boundary")))
-        (delimiter       (concat "\n" (regexp-quote dash-boundary)))
-        (close-delimiter (concat delimiter "--[ \t]*$"))
-        (rsep (concat delimiter "[ \t]*\n"))
-        (dc-ctl
-         (if (eq (mime-content-type-subtype content-type) 'digest)
-             (make-mime-content-type 'message 'rfc822)
-           (make-mime-content-type 'text 'plain)
-           ))
-        (header-end (mime-entity-header-end-internal entity))
-        (body-end (mime-entity-body-end-internal entity)))
-    (save-restriction
-      (goto-char body-end)
-      (narrow-to-region header-end
-                       (if (re-search-backward close-delimiter nil t)
-                           (match-beginning 0)
-                         body-end))
-      (goto-char header-end)
-      (if (re-search-forward rsep nil t)
-         (let ((cb (match-end 0))
-               ce ncb ret children
-               (node-id (mime-entity-node-id-internal entity))
-               (i 0))
-           (while (re-search-forward rsep nil t)
-             (setq ce (match-beginning 0))
-             (setq ncb (match-end 0))
-             (save-restriction
-               (narrow-to-region cb ce)
-               (setq ret (mime-parse-message representation-type dc-ctl
-                                             entity (cons i node-id)))
-               )
-             (setq children (cons ret children))
-             (goto-char (setq cb ncb))
-             (setq i (1+ i))
-             )
-           (setq ce (point-max))
-           (save-restriction
-             (narrow-to-region cb ce)
-             (setq ret (mime-parse-message representation-type dc-ctl
-                                           entity (cons i node-id)))
-             )
-           (setq children (cons ret children))
-           (mime-entity-set-children-internal entity (nreverse children))
-           )
-       (mime-entity-set-content-type-internal
-        entity (make-mime-content-type 'message 'x-broken))
-       nil)
-      )))
-
-(defun mime-parse-encapsulated (entity)
-  (mime-entity-set-children-internal
-   entity
-   (save-restriction
-     (narrow-to-region (mime-entity-body-start-internal entity)
-                      (mime-entity-body-end-internal entity))
-     (list (mime-parse-message
-           (mime-entity-representation-type-internal entity) nil
-           entity (cons 0 (mime-entity-node-id-internal entity))))
-     )))
-
-(defun mime-parse-message (representation-type &optional default-ctl 
-                                              parent node-id)
-  (let ((header-start (point-min))
-       header-end
-       body-start
-       (body-end (point-max))
-       content-type)
-    (goto-char header-start)
-    (if (re-search-forward "^$" nil t)
-       (setq header-end (match-end 0)
-             body-start (if (= header-end body-end)
-                            body-end
-                          (1+ header-end)))
-      (setq header-end (point-min)
-           body-start (point-min)))
-    (save-restriction
-      (narrow-to-region header-start header-end)
-      (setq content-type (or (let ((str (std11-fetch-field "Content-Type")))
-                              (if str
-                                  (mime-parse-Content-Type str)
-                                ))
-                            default-ctl))
-      )
-    (make-mime-entity-internal representation-type
-                              (current-buffer)
-                              content-type nil parent node-id
-                              (current-buffer)
-                              header-start header-end
-                              body-start body-end)
-    ))
-
-
-;;; @ for buffer
-;;;
-
-;;;###autoload
-(defun mime-parse-buffer (&optional buffer representation-type)
-  "Parse BUFFER as a MIME message.
-If buffer is omitted, it parses current-buffer."
-  (save-excursion
-    (if buffer (set-buffer buffer))
-    (setq mime-message-structure
-         (mime-parse-message (or representation-type 'buffer) nil))
-    ))
-
-
-;;; @ end
-;;;
-
-(provide 'mime-parse)
-
-;;; mime-parse.el ends here
diff --git a/mime.el b/mime.el
deleted file mode 100644 (file)
index 9200173..0000000
--- a/mime.el
+++ /dev/null
@@ -1,344 +0,0 @@
-;;; mime.el --- MIME library module
-
-;; Copyright (C) 1998 Free Software Foundation, Inc.
-
-;; Author: MORIOKA Tomohiko <morioka@jaist.ac.jp>
-;; Keywords: MIME, multimedia, mail, news
-
-;; This file is part of FLIM (Faithful Library about Internet Message).
-
-;; This program is free software; you can redistribute it and/or
-;; modify it under the terms of the GNU General Public License as
-;; published by the Free Software Foundation; either version 2, or (at
-;; your option) any later version.
-
-;; This program is distributed in the hope that it will be useful, but
-;; WITHOUT ANY WARRANTY; without even the implied warranty of
-;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-;; General Public License for more details.
-
-;; You should have received a copy of the GNU General Public License
-;; along with GNU Emacs; see the file COPYING.  If not, write to the
-;; Free Software Foundation, Inc., 59 Temple Place - Suite 330,
-;; Boston, MA 02111-1307, USA.
-
-;;; Code:
-
-(require 'alist)
-(require 'std11)
-(require 'mime-def)
-(require 'eword-decode)
-
-(autoload 'eword-encode-field "eword-encode"
-  "Encode header field STRING, and return the result.")
-(autoload 'eword-encode-header "eword-encode"
-  "Encode header fields to network representation, such as MIME encoded-word.")
-
-
-(autoload 'mime-parse-Content-Type "mime-parse"
-  "Parse STRING as field-body of Content-Type field.")
-(autoload 'mime-read-Content-Type "mime-parse"
-  "Read field-body of Content-Type field from current-buffer,
-and return parsed it.")
-
-(autoload 'mime-parse-Content-Disposition "mime-parse"
-  "Parse STRING as field-body of Content-Disposition field.")
-(autoload 'mime-read-Content-Disposition "mime-parse"
-  "Read field-body of Content-Disposition field from current-buffer,
-and return parsed it.")
-
-(autoload 'mime-parse-Content-Transfer-Encoding "mime-parse"
-  "Parse STRING as field-body of Content-Transfer-Encoding field.")
-(autoload 'mime-read-Content-Transfer-Encoding "mime-parse"
-  "Read field-body of Content-Transfer-Encoding field from
-current-buffer, and return it.")
-
-(autoload 'mime-parse-buffer "mime-parse"
-  "Parse BUFFER as a MIME message.")
-
-
-;;; @ Entity Representation and Implementation
-;;;
-
-(defsubst mime-find-function (service type)
-  (let ((imps (cdr (assq type mime-entity-implementation-alist))))
-    (if imps
-       (cdr (assq service imps))
-      (require (intern (format "mm%s" type)))
-      (cdr (assq service
-                (cdr (assq type mime-entity-implementation-alist))))
-      )))
-
-(defsubst mime-entity-function (entity service)
-  (mime-find-function service
-                     (mime-entity-representation-type-internal entity)))
-
-(defsubst mime-entity-send (entity service &rest args)
-  (apply (mime-find-function
-         service (mime-entity-representation-type-internal entity))
-        entity
-        args))
-
-(defsubst mm-arglist-to-arguments (arglist)
-  (let (dest)
-    (while arglist
-      (let ((arg (car arglist)))
-       (or (memq arg '(&optional &rest))
-           (setq dest (cons arg dest)))
-       )
-      (setq arglist (cdr arglist)))
-    (nreverse dest)))
-
-(defmacro mm-define-generic (name args &optional doc)
-  (if doc
-      `(defun ,(intern (format "mime-%s" name)) ,args
-        ,doc
-        (mime-entity-send ,(car args) ',name
-                          ,@(mm-arglist-to-arguments (cdr args)))
-        )
-    `(defun ,(intern (format "mime-%s" name)) ,args
-       (mime-entity-send ,(car args) ',name
-                        ,@(mm-arglist-to-arguments (cdr args)))
-       )))
-
-(put 'mm-define-generic 'lisp-indent-function 'defun)
-
-(defun mime-open-entity (type location)
-  "Open an entity and return it.
-TYPE is representation-type.
-LOCATION is location of entity.  Specification of it is depended on
-representation-type."
-  (let ((entity (make-mime-entity-internal type location)))
-    (mime-entity-send entity 'initialize-instance)
-    entity))
-
-(mm-define-generic entity-cooked-p (entity)
-  "Return non-nil if contents of ENTITY has been already code-converted.")
-
-
-;;; @ Entity as node of message
-;;;
-
-(defun mime-entity-children (entity)
-  (or (mime-entity-children-internal entity)
-      (mime-entity-send entity 'entity-children)))
-
-(defalias 'mime-entity-node-id 'mime-entity-node-id-internal)
-
-(defun mime-entity-number (entity)
-  "Return entity-number of ENTITY."
-  (reverse (mime-entity-node-id-internal entity)))
-
-(defun mime-find-entity-from-number (entity-number &optional message)
-  "Return entity from ENTITY-NUMBER in MESSAGE.
-If MESSAGE is not specified, `mime-message-structure' is used."
-  (or message
-      (setq message mime-message-structure))
-  (let ((sn (car entity-number)))
-    (if (null sn)
-       message
-      (let ((rc (nth sn (mime-entity-children message))))
-       (if rc
-           (mime-find-entity-from-number (cdr entity-number) rc)
-         ))
-      )))
-
-(defun mime-find-entity-from-node-id (entity-node-id &optional message)
-  "Return entity from ENTITY-NODE-ID in MESSAGE.
-If MESSAGE is not specified, `mime-message-structure' is used."
-  (mime-find-entity-from-number (reverse entity-node-id) message))
-
-(defun mime-entity-parent (entity &optional message)
-  "Return mother entity of ENTITY.
-If MESSAGE is specified, it is regarded as root entity."
-  (if (equal entity message)
-      nil
-    (mime-entity-parent-internal entity)))
-
-(defun mime-root-entity-p (entity &optional message)
-  "Return t if ENTITY is root-entity (message).
-If MESSAGE is specified, it is regarded as root entity."
-  (null (mime-entity-parent entity message)))
-
-
-;;; @ Entity Buffer
-;;;
-
-(defun mime-entity-buffer (entity)
-  (or (mime-entity-buffer-internal entity)
-      (mime-entity-send entity 'entity-buffer)))
-
-(mm-define-generic entity-point-min (entity)
-  "Return the start point of ENTITY in the buffer which contains ENTITY.")
-
-(mm-define-generic entity-point-max (entity)
-  "Return the end point of ENTITY in the buffer which contains ENTITY.")
-
-(defun mime-entity-header-start (entity)
-  (or (mime-entity-header-start-internal entity)
-      (mime-entity-send entity 'entity-header-start)))
-
-(defun mime-entity-header-end (entity)
-  (or (mime-entity-header-end-internal entity)
-      (mime-entity-send entity 'entity-header-end)))
-
-(defun mime-entity-body-start (entity)
-  (or (mime-entity-body-start-internal entity)
-      (mime-entity-send entity 'entity-body-start)))
-
-(defun mime-entity-body-end (entity)
-  (or (mime-entity-body-end-internal entity)
-      (mime-entity-send entity 'entity-body-end)))
-
-
-;;; @ Entity Header
-;;;
-
-(defun mime-fetch-field (field-name &optional entity)
-  (or (symbolp field-name)
-      (setq field-name (intern (capitalize (capitalize field-name)))))
-  (or entity
-      (setq entity mime-message-structure))
-  (let* ((header (mime-entity-original-header-internal entity))
-        (field-body (cdr (assq field-name header))))
-    (or field-body
-       (progn
-         (if (setq field-body
-                   (mime-entity-send entity 'fetch-field
-                                     (symbol-name field-name)))
-             (mime-entity-set-original-header-internal
-              entity (put-alist field-name field-body header))
-           )
-         field-body))))
-
-(defalias 'mime-entity-content-type 'mime-entity-content-type-internal)
-
-(defun mime-entity-content-disposition (entity)
-  (or (mime-entity-content-disposition-internal entity)
-      (let ((ret (mime-fetch-field 'Content-Disposition entity)))
-       (if ret
-           (let ((disposition (mime-parse-Content-Disposition ret)))
-             (when disposition
-               (mime-entity-set-content-disposition-internal
-                entity disposition)
-               disposition))))))
-
-(defun mime-entity-encoding (entity &optional default-encoding)
-  (or (mime-entity-encoding-internal entity)
-      (let ((encoding
-            (or (let ((ret (mime-fetch-field
-                            'Content-Transfer-Encoding entity)))
-                  (and ret (mime-parse-Content-Transfer-Encoding ret)))
-                default-encoding "7bit")))
-       (mime-entity-set-encoding-internal entity encoding)
-       encoding)))
-
-(defun mime-read-field (field-name &optional entity)
-  (or (symbolp field-name)
-      (setq field-name (capitalize (capitalize field-name))))
-  (or entity
-      (setq entity mime-message-structure))
-  (cond ((eq field-name 'Content-Type)
-        (mime-entity-content-type entity)
-        )
-       ((eq field-name 'Content-Disposition)
-        (mime-entity-content-disposition entity)
-        )
-       ((eq field-name 'Content-Transfer-Encoding)
-        (mime-entity-encoding entity)
-        )
-       (t
-        (let* ((header (mime-entity-parsed-header-internal entity))
-               (field (cdr (assq field-name header))))
-          (or field
-              (let ((field-body (mime-fetch-field field-name entity)))
-                (when field-body
-                  (cond ((memq field-name '(From Resent-From
-                                            To Resent-To
-                                            Cc Resent-Cc
-                                            Bcc Resent-Bcc
-                                            Reply-To Resent-Reply-To))
-                         (setq field (std11-parse-addresses
-                                      (eword-lexical-analyze field-body)))
-                         )
-                        ((memq field-name '(Sender Resent-Sender))
-                         (setq field (std11-parse-address
-                                      (eword-lexical-analyze field-body)))
-                         )
-                        ((memq field-name eword-decode-ignored-field-list)
-                         (setq field field-body))
-                        ((memq field-name eword-decode-structured-field-list)
-                         (setq field (eword-decode-structured-field-body
-                                      field-body)))
-                        (t
-                         (setq field (ew-decode-field (symbol-name field-name)
-                                                      field-body))
-                         ))
-                  (mime-entity-set-parsed-header-internal
-                   entity (put-alist field-name field header))
-                  field)))))))
-
-(mm-define-generic insert-decoded-header (entity &optional invisible-fields
-                                         visible-fields)
-  "Insert before point a decoded header of ENTITY.")
-
-
-;;; @ Entity Attributes
-;;;
-
-(defun mime-entity-uu-filename (entity)
-  (if (member (mime-entity-encoding entity) mime-uuencode-encoding-name-list)
-      (save-excursion
-       (set-buffer (mime-entity-buffer entity))
-       (goto-char (mime-entity-body-start entity))
-       (if (re-search-forward "^begin [0-9]+ "
-                              (mime-entity-body-end entity) t)
-           (if (looking-at ".+$")
-               (buffer-substring (match-beginning 0)(match-end 0))
-             )))))
-
-(defun mime-entity-filename (entity)
-  "Return filename of ENTITY."
-  (or (mime-entity-uu-filename entity)
-      (mime-content-disposition-filename
-       (mime-entity-content-disposition entity))
-      (cdr (let ((param (mime-content-type-parameters
-                        (mime-entity-content-type entity))))
-            (or (assoc "name" param)
-                (assoc "x-name" param))
-            ))))
-
-
-(defsubst mime-entity-media-type (entity)
-  (mime-content-type-primary-type (mime-entity-content-type entity)))
-(defsubst mime-entity-media-subtype (entity)
-  (mime-content-type-subtype (mime-entity-content-type entity)))
-(defsubst mime-entity-parameters (entity)
-  (mime-content-type-parameters (mime-entity-content-type entity)))
-(defsubst mime-entity-type/subtype (entity-info)
-  (mime-type/subtype-string (mime-entity-media-type entity-info)
-                           (mime-entity-media-subtype entity-info)))
-
-
-;;; @ Entity Content
-;;;
-
-(mm-define-generic entity-content (entity)
-  "Return content of ENTITY as byte sequence (string).")
-
-(mm-define-generic write-entity-content (entity filename)
-  "Write content of ENTITY into FILENAME.")
-
-(mm-define-generic write-entity (entity filename)
-  "Write header and body of ENTITY into FILENAME.")
-
-(mm-define-generic write-entity-body (entity filename)
-  "Write body of ENTITY into FILENAME.")
-
-
-;;; @ end
-;;;
-
-(provide 'mime)
-
-;;; mime.el ends here
diff --git a/mmbuffer.el b/mmbuffer.el
deleted file mode 100644 (file)
index 5913265..0000000
+++ /dev/null
@@ -1,194 +0,0 @@
-;;; mmbuffer.el --- MIME entity module for binary buffer
-
-;; Copyright (C) 1998 Free Software Foundation, Inc.
-
-;; Author: MORIOKA Tomohiko <morioka@jaist.ac.jp>
-;; Keywords: MIME, multimedia, mail, news
-
-;; This file is part of FLIM (Faithful Library about Internet Message).
-
-;; This program is free software; you can redistribute it and/or
-;; modify it under the terms of the GNU General Public License as
-;; published by the Free Software Foundation; either version 2, or (at
-;; your option) any later version.
-
-;; This program is distributed in the hope that it will be useful, but
-;; WITHOUT ANY WARRANTY; without even the implied warranty of
-;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-;; General Public License for more details.
-
-;; You should have received a copy of the GNU General Public License
-;; along with GNU Emacs; see the file COPYING.  If not, write to the
-;; Free Software Foundation, Inc., 59 Temple Place - Suite 330,
-;; Boston, MA 02111-1307, USA.
-
-;;; Code:
-
-(require 'mime)
-(require 'mime-parse)
-
-(mm-define-backend buffer)
-
-(mm-define-method initialize-instance ((entity buffer))
-  (mime-entity-set-buffer-internal
-   entity (mime-entity-location-internal entity))
-  (save-excursion
-    (set-buffer (mime-entity-buffer-internal entity))
-    (setq mime-message-structure entity)
-    (let ((header-start (point-min))
-         header-end
-         body-start
-         (body-end (point-max)))
-      (goto-char header-start)
-      (if (re-search-forward "^$" nil t)
-         (setq header-end (match-end 0)
-               body-start (if (= header-end body-end)
-                              body-end
-                            (1+ header-end)))
-       (setq header-end (point-min)
-             body-start (point-min)))
-      (save-restriction
-       (narrow-to-region header-start header-end)
-       (mime-entity-set-content-type-internal
-        entity
-        (let ((str (std11-fetch-field "Content-Type")))
-          (if str
-              (mime-parse-Content-Type str)
-            )))
-       )
-      (mime-entity-set-header-start-internal entity header-start)
-      (mime-entity-set-header-end-internal entity header-end)
-      (mime-entity-set-body-start-internal entity body-start)
-      (mime-entity-set-body-end-internal entity body-end)
-      )))
-
-(mm-define-method entity-point-min ((entity buffer))
-  (mime-entity-header-start-internal entity))
-
-(mm-define-method entity-point-max ((entity buffer))
-  (mime-entity-body-end-internal entity))
-
-(mm-define-method fetch-field ((entity buffer) field-name)
-  (save-excursion
-    (set-buffer (mime-entity-buffer-internal entity))
-    (save-restriction
-      (narrow-to-region (mime-entity-header-start-internal entity)
-                       (mime-entity-header-end-internal entity))
-      (std11-fetch-field field-name)
-      )))
-
-(mm-define-method entity-cooked-p ((entity buffer)) nil)
-
-(mm-define-method entity-children ((entity buffer))
-  (let* ((content-type (mime-entity-content-type entity))
-        (primary-type (mime-content-type-primary-type content-type)))
-    (cond ((eq primary-type 'multipart)
-          (mime-parse-multipart entity)
-          )
-         ((and (eq primary-type 'message)
-               (memq (mime-content-type-subtype content-type)
-                     '(rfc822 news external-body)
-                     ))
-          (mime-parse-encapsulated entity)
-          ))
-    ))
-
-(mm-define-method entity-content ((entity buffer))
-  (save-excursion
-    (set-buffer (mime-entity-buffer-internal entity))
-    (mime-decode-string
-     (buffer-substring (mime-entity-body-start-internal entity)
-                      (mime-entity-body-end-internal entity))
-     (mime-entity-encoding entity))))
-
-(mm-define-method write-entity-content ((entity buffer) filename)
-  (save-excursion
-    (set-buffer (mime-entity-buffer-internal entity))
-    (mime-write-decoded-region (mime-entity-body-start-internal entity)
-                              (mime-entity-body-end-internal entity)
-                              filename
-                              (or (mime-entity-encoding entity) "7bit"))
-    ))
-
-(mm-define-method write-entity ((entity buffer) filename)
-  (save-excursion
-    (set-buffer (mime-entity-buffer-internal entity))
-    (write-region-as-binary (mime-entity-header-start-internal entity)
-                           (mime-entity-body-end-internal entity)
-                           filename)
-    ))
-
-(mm-define-method write-entity-body ((entity buffer) filename)
-  (save-excursion
-    (set-buffer (mime-entity-buffer-internal entity))
-    (write-region-as-binary (mime-entity-body-start-internal entity)
-                           (mime-entity-body-end-internal entity)
-                           filename)
-    ))
-
-(defun mime-visible-field-p (field-name visible-fields invisible-fields)
-  (or (catch 'found
-       (while visible-fields
-         (let ((regexp (car visible-fields)))
-           (if (string-match regexp field-name)
-               (throw 'found t)
-             ))
-         (setq visible-fields (cdr visible-fields))
-         ))
-      (catch 'found
-       (while invisible-fields
-         (let ((regexp (car invisible-fields)))
-           (if (string-match regexp field-name)
-               (throw 'found nil)
-             ))
-         (setq invisible-fields (cdr invisible-fields))
-         )
-       t)))
-
-(mm-define-method insert-decoded-header ((entity buffer)
-                                        &optional invisible-fields
-                                        visible-fields)
-  (save-restriction
-    (narrow-to-region (point)(point))
-    (let ((the-buf (current-buffer))
-         (src-buf (mime-entity-buffer-internal entity))
-         (h-end (mime-entity-header-end-internal entity))
-         beg p end field-name len field-body decoded)
-      (save-excursion
-       (set-buffer src-buf)
-       (goto-char (mime-entity-header-start-internal entity))
-       (save-restriction
-         (narrow-to-region (point) h-end)
-         (while (re-search-forward std11-field-head-regexp nil t)
-           (setq beg (match-beginning 0)
-                 p (match-end 0)
-                 field-name (buffer-substring beg (1- p))
-                 len (string-width field-name)
-                 end (std11-field-end))
-           (when (mime-visible-field-p field-name
-                                       visible-fields invisible-fields)
-             (save-excursion
-               (set-buffer the-buf)
-               (setq field-body (ew-lf-crlf-to-crlf
-                                 (save-excursion
-                                   (set-buffer src-buf)
-                                   (buffer-substring p end))))
-               (setq decoded (ew-decode-field field-name field-body))
-               (unless (equal field-body decoded)
-                 (setq decoded (ew-crlf-refold
-                                decoded
-                                (1+ (string-width field-name))
-                                fill-column)))
-               (insert field-name)
-               (insert ":")
-               (insert (ew-crlf-to-lf decoded))
-               (insert "\n")
-               ))))))))
-
-
-;;; @ end
-;;;
-
-(provide 'mmbuffer)
-
-;;; mmbuffer.el ends here
diff --git a/mmcooked.el b/mmcooked.el
deleted file mode 100644 (file)
index cd261f4..0000000
+++ /dev/null
@@ -1,75 +0,0 @@
-;;; mmcooked.el --- MIME entity implementation for binary buffer
-
-;; Copyright (C) 1998 Free Software Foundation, Inc.
-
-;; Author: MORIOKA Tomohiko <morioka@jaist.ac.jp>
-;; Keywords: MIME, multimedia, mail, news
-
-;; This file is part of FLIM (Faithful Library about Internet Message).
-
-;; This program is free software; you can redistribute it and/or
-;; modify it under the terms of the GNU General Public License as
-;; published by the Free Software Foundation; either version 2, or (at
-;; your option) any later version.
-
-;; This program is distributed in the hope that it will be useful, but
-;; WITHOUT ANY WARRANTY; without even the implied warranty of
-;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-;; General Public License for more details.
-
-;; You should have received a copy of the GNU General Public License
-;; along with GNU Emacs; see the file COPYING.  If not, write to the
-;; Free Software Foundation, Inc., 59 Temple Place - Suite 330,
-;; Boston, MA 02111-1307, USA.
-
-;;; Code:
-
-(require 'mmbuffer)
-
-(mm-define-backend cooked (buffer))
-
-(mm-define-method entity-cooked-p ((entity cooked)) t)
-
-(mm-define-method write-entity-content ((entity cooked) filename)
-  (save-excursion
-    (set-buffer (mime-entity-buffer-internal entity))
-    (let ((encoding (or (mime-entity-encoding entity) "7bit")))
-      (if (member encoding '("7bit" "8bit" "binary"))
-         (write-region (mime-entity-body-start-internal entity)
-                       (mime-entity-body-end-internal entity) filename)
-       (mime-write-decoded-region (mime-entity-body-start-internal entity)
-                                  (mime-entity-body-end-internal entity)
-                                  filename encoding)
-       ))))
-
-(mm-define-method write-entity ((entity cooked) filename)
-  (save-excursion
-    (set-buffer (mime-entity-buffer-internal entity))
-    (write-region (mime-entity-header-start-internal entity)
-                 (mime-entity-body-end-internal entity)
-                 filename)
-    ))
-
-(mm-define-method write-entity-body ((entity cooked) filename)
-  (save-excursion
-    (set-buffer (mime-entity-buffer-internal entity))
-    (write-region (mime-entity-body-start-internal entity)
-                 (mime-entity-body-end-internal entity)
-                 filename)
-    ))
-
-(mm-define-method insert-decoded-header ((entity cooked)
-                                        &optional invisible-fields
-                                        visible-fields)
-  (let (default-mime-charset)
-    (funcall (mime-find-function 'insert-decoded-header 'buffer)
-            entity invisible-fields visible-fields)
-    ))
-
-
-;;; @ end
-;;;
-
-(provide 'mmcooked)
-
-;;; mmcooked.el ends here
diff --git a/natset.el b/natset.el
deleted file mode 100644 (file)
index 2a09041..0000000
--- a/natset.el
+++ /dev/null
@@ -1,296 +0,0 @@
-(provide 'natset)
-
-;;; pacage for set of natural number.
-;; (natural number includes zero.)
-
-;;; predicates
-
-(defun natset-empty-p (ns)
-  "Returns t if NS is empty."
-  (equal ns ()))
-
-(defun natset-full-p (ns)
-  "Returns t if NS is full."
-  (equal ns '(0)))
-
-(defun natset-closed-p (ns)
-  "Returns t if NS is closed."
-  (= (logand (length ns) 1) 0))
-
-(defun natset-open-p (ns)
-  "Returns t if NS is open."
-  (= (logand (length ns) 1) 1))
-
-(defun natset-has-p (ns i)
-  "Returns t if I is in NS."
-  (not (natset-empty-p (natset-intersection (natset-single i) ns))))
-
-(defun natset-has-intersection-p (ns1 ns2)
-  "Returns t if the intersection of NS1 and NS2 is not empty."
-  (not (natset-empty-p (natset-intersection ns1 ns2))))
-
-(defun natset-include-p (ns1 ns2)
-  "Returns t if NS1 includes NS2."
-  (equal ns1 (natset-union ns1 ns2)))
-
-;;; accessor
-
-(defun natset-start (ns)
-  "Returns start element in NS."
-  (if (natset-empty-p ns)
-      (error "natset empty" ns))
-  (car ns))
-
-;;; primitive constructor
-
-(defun natset-empty ()
-  "Returns a empty set.
-{}"
-  ())
-
-(defun natset-full ()
-  "Returns a full set.
-{i | 0 <= i}"
-  '(0))
-
-(defun natset-single (&rest elts)
-  "Returns a set contains singleton elements.
-{i | i in ELTS}"
-  (let ((ns (natset-empty)))
-    (while elts
-      (setq ns (natset-union ns (natset-seg (car elts) (car elts)))
-           elts (cdr elts)))
-    ns))
-
-(defun natset-seg (start &optional end)
-  "Returns a set contains one segment.
-{i | START <= i and i <= END}
-
-If END is nil, Return the set {i | START <= i}"
-  (if end
-      (list start (1+ end))
-    (list start)))
-
-;;; complex constructor
-
-(defun natset-start-set (ns)
-  "Returns a set contains start boundaries for NS.
-{i | NS does not contains i-1 and NS contains i}"
-  (let ((res ()))
-    (while ns
-      (setq res (cons (1+ (car ns)) (cons (car ns) res))
-           ns (cddr ns)))
-    (nreverse res)))
-
-(defun natset-end-set (ns)
-  "Returns a set contains end boundaries for NS.
-{i | NS contains i-1 and NS does not contains i}"
-  (let ((res ()))
-    (setq ns (cdr ns))
-    (while ns
-      (setq res (cons (1+ (car ns)) (cons (car ns) res))
-           ns (cddr ns)))
-    (nreverse res)))
-
-(defun natset-boundary-set (ns)
-  "Returns a set contains start and end boundaries for NS.
-{i | NS contains i-1 xor NS does not contains i}"
-  (natset-union (natset-start-set ns) (natset-end-set ns)))
-
-(defun natset-minmax (ns)
-  "Returns a set contains a range from minimum to maximam of NS.
-{i | There exists j, k in NS, j <= i <= k}"
-  (cond
-   ((null ns) ())
-   ((natset-open-p ns) (list (car ns)))
-   (t
-    (list (car ns) (nth (1- (length ns)) ns)))))
-
-;;; set operation
-
-(defun natset-negate (ns)
-  "Returns negated set.
-{i | 0 <= i and NS does not contains i}"
-  (if (and (consp ns) (= (car ns) 0))
-      (cdr ns)
-    (cons 0 ns)))
-
-(defun natset-union (&rest nss)
-  "Returns unioned set.
-{i | There exists ns in NSS s.t ns contains i}"
-  (let ((ns (natset-empty)))
-    (while nss
-      (setq ns (natset-union2 ns (car nss))
-           nss (cdr nss)))
-    ns))
-
-(defun natset-intersection (&rest nss)
-  "Returns intersectioned set.
-{i | For all ns in NSS, ns contains i}"
-  (natset-negate (apply 'natset-union (mapcar 'natset-negate nss))))
-
-(defun natset-sub (ns &rest nss)
-  "Returns subtracted set.
-{i | NS contains i and for all ns in NSS, ns does not contains i}"
-  (setq ns (natset-intersection ns (natset-negate (apply 'natset-union nss)))))
-
-;;; enumeration
-
-(defun natset-enum (ns)
-  (if (natset-open-p ns)
-      (error "natset open" ns))
-  (let ((res ()) i j)
-    (while ns
-      (setq i (car ns)
-           j (cadr ns)
-           ns (cddr ns))
-      (while (< i j)
-       (setq res (cons i res)
-             i (1+ i))))
-    (nreverse res)))
-
-;;; code generation
-
-(defun natset-take-seg (ns)
-  (cond
-   ((null ns) (error "NS empty" ns))
-   ((null (cdr ns)) (cons ns ()))
-   (t (cons (list (car ns) (cadr ns)) (cddr ns)))))
-
-(defun natset-valid-filter (ns valid)
-  "Returns a filtered set R.
-R includes intersection between VALID and NS.
-R does not include intersecton between VALID and negated NS.
-Element does not contained in VALID is unspecified."
-  (let* ((res (natset-intersection valid ns))
-        (len (length res))
-        (u-set (natset-negate valid))
-        tmp1 tmp2 tmpl)
-    (while u-set
-      (setq tmp1 (natset-take-seg u-set))
-      (setq tmp2 (natset-union (car tmp1) res)
-           tmpl (length tmp2))
-      (if (or (< tmpl len) (and (= tmpl len) (equal 0 (car tmp2))))
-         (setq res tmp2
-               len (length tmp2)))
-      (setq u-set (cdr tmp1)))
-    res))
-
-(defun natset-gen-pred-exp (ns var &optional valid)
-  "Returns a expression to test value of variable VAR is in NS or not.
-
-If VALID is not nil, the condition value of VAR is in VALID is assumed.
-It is impossible to set VALID to empty set because empty set is represented as nil."
-  (if valid (setq ns (natset-valid-filter ns valid)))
-  (cond
-   ((null ns) nil)
-   ((= (car ns) 0) (natset-gen-pred-exp-internal (cdr ns) var nil 0))
-   (t (natset-gen-pred-exp-internal ns var t 0))))
-
-(defun natset-gen-ccl-branch (reg fail &rest clauses)
-  (let* ((natsets (mapcar 'car clauses)))
-    (let ((range (apply 'natset-union natsets)) tmp)
-      (unless (natset-empty-p range)
-       (setq natsets (cons (natset-negate range)
-                           natsets)
-             clauses (cons (cons (car natsets)
-                                 fail)
-                           clauses)))
-      (setq range (natset-full)
-           tmp natsets)
-      (while tmp
-       (setcar tmp
-               (natset-intersection
-                (car tmp)
-                range))
-       (setq range (natset-sub range (car tmp))
-             tmp (cdr tmp))))
-    (let ((b (natset-enum
-             (natset-sub
-              (apply
-               'natset-union
-               (mapcar
-                'natset-boundary-set
-                natsets))
-              (natset-single 0)))))
-      (natset-gen-ccl-branch-internal reg 0 b clauses))))
-
-(defun natset-gen-ccl-branch-internal (reg s b clauses)
-  (cond
-   ((null b)
-    (cdr (natset-assoc s clauses)))
-   ((null (cdr b))
-    `(if (,reg < ,(car b))
-        ,(cdr (natset-assoc s clauses))
-       ,(cdr (natset-assoc (car b) clauses))))
-   (t
-    (let* ((div (natset-divide (length b)))
-          (l (append b ()))
-          (g (nthcdr (1- div) l))
-          (m (cadr g)))
-      (setq g (prog1 (cddr g) (setcdr g ())))
-      `(if (,reg < ,m)
-          ,(natset-gen-ccl-branch-internal reg s l clauses)
-        ,(natset-gen-ccl-branch-internal reg m g clauses))))))
-
-(defun natset-assoc (key alist)
-  (catch 'return
-    (while alist
-      (when (natset-has-p (caar alist) key)
-       (throw 'return (car alist)))
-      (setq alist (cdr alist)))
-    nil))
-
-;;; internal primitive
-
-(defun natset-union2 (ns1 ns2)
-  (let (res start (end t))
-    (while (and end (or (consp ns1) (consp ns2)))
-      (if (and (consp ns1) (or (null ns2) (<= (car ns1) (car ns2))))
-          (setq start (car ns1)
-                end (cadr ns1)
-                ns1 (cddr ns1))
-        (setq start (car ns2)
-              end (cadr ns2)
-              ns2 (cddr ns2)))
-      (while (and end
-                  (or (and (consp ns1) (<= (car ns1) end))
-                      (and (consp ns2) (<= (car ns2) end))))
-        (if (and (consp ns1) (<= (car ns1) end))
-           (progn
-             (if (or (null (cadr ns1)) (< end (cadr ns1))) (setq end (cadr ns1)))
-             (setq ns1 (cddr ns1)))
-         (progn
-           (if (or (null (cadr ns2)) (< end (cadr ns2))) (setq end (cadr ns2)))
-           (setq ns2 (cddr ns2)))))
-      (setq res (cons start res))
-      (if end (setq res (cons end res))))
-    (nreverse res)))
-
-; n is greater or equal 2.
-; returns one of 1 .. n-1
-; (In reality, returns greatest 2^i - 1)
-(defun natset-divide (n)
-  (let ((l 2) tmp)
-    (while (< (setq tmp (lsh l 1)) n)
-      (setq l tmp))
-    (1- l)))
-
-(defun natset-gen-pred-exp-internal (ns var bool base)
-  (cond
-   ((null ns) (not bool))
-   ((null (cdr ns))
-    (if (<= (car ns) base)
-       bool
-      (if bool `(<= ,(car ns) ,var) `(< ,var ,(car ns)))))
-   (t
-    (let* ((div (natset-divide (length ns)))
-          (l (append ns ()))
-          (g (nthcdr (1- div) l))
-          (m (cadr g))
-          )
-      (setq g (prog1 (cddr g) (setcdr g ())))
-      `(if (< ,var ,m)
-          ,(natset-gen-pred-exp-internal l var bool base)
-        ,(natset-gen-pred-exp-internal
-          g var (if (= (logand div 1) 1) bool (not bool)) m))))))
diff --git a/rx.el b/rx.el
deleted file mode 100644 (file)
index 08c60d0..0000000
--- a/rx.el
+++ /dev/null
@@ -1,394 +0,0 @@
-;;; regular expression
-
-;;; core
-;; rx ::= []                  {}
-;;      | ()                  {""}
-;;      | (* . rx)            closure
-;;      | (| . rxs)           alternative
-;;      | (rx . rx)           concatination
-;;      | (cc c1 c2 c3 ...)   character class (natset)
-;;; sugar
-;;      | (+ . rx)            positive closure
-;;      | "..."               string
-;;      | c                   character
-;;      | (non-ascii)         (cc 128)
-;;      | [ range ... ]
-;;      | [ ^ range ... ]
-;;; internal
-;;      | pc                  primitive character class
-;;      | (act . int)         action
-
-;; range ::= c
-;;        | "..."
-;;        | (c1 c2)           [c1 c2]
-;;        | (c1 . c2)         [c1 c2)
-;;        | (c)               [c1 inf)
-;;        | non-ascii
-
-(require 'natset)
-(require 'automata)
-(provide 'rx)
-
-(defun rx-empty-p (rx) (equal rx []))
-(defun rx-null-p (rx) (equal rx ()))
-(defun rx-act-p (rx) (and (consp rx) (eq (car rx) 'act)))
-(defun rx-cc-p (rx) (and (consp rx) (eq (car rx) 'cc)))
-(defalias 'rx-pc-p 'integerp)
-
-(defun rx-clo-p (rx) (and (consp rx) (eq (car rx) '*)))
-(defun rx-alt-p (rx) (and (consp rx) (eq (car rx) '|)))
-(defun rx-con-p (rx) (and (consp rx) (or (null (car rx)) (not (symbolp (car rx))))))
-
-(defun rx-clo (rx)
-  (cond
-   ((rx-empty-p rx) ())
-   ((rx-null-p rx) rx)
-   ((rx-act-p rx) rx)
-   ((rx-clo-p rx) rx)
-   (t (cons '* rx))))
-(defun rx-alt (rxs)
-  (cond
-   ((null rxs) [])
-   ((null (cdr rxs)) (car rxs))
-   (t (cons '| rxs))))
-(defun rx-alt2 (r1 r2)
-  (cond
-   ((rx-empty-p r1) r2)
-   ((rx-empty-p r2) r1)
-   ((equal r1 r2) r1)
-   (t (list '| r1 r2))))
-(defun rx-con (r1 r2)
-  (cond
-   ((rx-empty-p r1) [])
-   ((rx-empty-p r2) [])
-   ((rx-null-p r1) r2)
-   ((rx-null-p r2) r1)
-   ((and (rx-act-p r1) (rx-act-p r2)) r2)
-   (t (cons r1 r2))))
-(defun rx-act (obj) (cons 'act obj))
-(defun rx-cc (cs) (cons 'cc cs))
-
-;;; regular expression preprocessing
-
-(defun rx-range-to-ns (range)
-  (cond
-   ((char-or-char-int-p range)
-    (natset-single (char-int range)))
-   ((stringp range)
-    (let ((ns (natset-empty)) (chars (string-to-int-list range)))
-      (while chars
-       (setq ns (natset-union ns (natset-single (car chars)))
-             chars (cdr chars)))
-      ns))
-   ((eq range 'non-ascii)
-    (natset-seg 128))
-   ((and (consp range)
-        (null (cdr range))
-        (char-or-char-int-p (car range)))
-    (natset-seg (car range)))
-   ((and (consp range)
-        (consp (cdr range))
-        (null (cddr range))
-        (char-or-char-int-p (car range))
-        (char-or-char-int-p (cadr range)))
-    (natset-seg (char-int (car range)) (char-int (cadr range))))
-   ((and (consp range)
-        (char-or-char-int-p (car range))
-        (char-or-char-int-p (cdr range)))
-    (natset-seg (char-int (car range)) (1- (char-int (cdr range)))))
-   (t (error "not range %s" range))))
-
-(defun rx-vcc-to-rx (vcc)
-  (let ((l (append vcc ())) neg ns)
-    (if (eq (car l) '^)
-       (setq l (cdr l)
-             neg t))
-    (setq l (mapcar 'rx-range-to-ns l))
-    (setq ns (natset-empty))
-    (while l
-      (setq ns (natset-union ns (car l))
-           l (cdr l)))
-    (if neg (setq ns (natset-negate ns)))
-    (if (natset-empty-p ns)
-       []
-      (rx-cc ns))))
-
-(defun rx-desugar (rx)
-  (cond
-   ((stringp rx) (rx-desugar (string-to-int-list rx)))
-   ((vectorp rx) (rx-vcc-to-rx rx))
-   ((char-or-char-int-p rx) (rx-cc (natset-single (char-int rx))))
-   ((and (consp rx) (eq (car rx) '+)) (let ((r (rx-desugar (cdr rx)))) (rx-con r (rx-clo r))))
-   ((and (consp rx) (eq (car rx) 'non-ascii)) (rx-cc (natset-seg 128)))
-   ((and (consp rx) (eq (car rx) 'any)) (rx-cc (natset-full)))
-   ((rx-empty-p rx) rx)
-   ((rx-null-p rx) rx)
-   ((rx-act-p rx) rx)
-   ((rx-cc-p rx) rx)
-   ((rx-clo-p rx) (rx-clo (rx-desugar (cdr rx))))
-   ((rx-alt-p rx) (rx-alt (mapcar 'rx-desugar (cdr rx))))
-   ((rx-con-p rx) (rx-con (rx-desugar (car rx)) (rx-desugar (cdr rx))))
-   (t (error "not rx %s" rx))))
-
-(defun rx-collect-cc (rx &optional cs)
-  (cond
-   ((rx-empty-p rx) cs)
-   ((rx-null-p rx) cs)
-   ((rx-act-p rx) cs)
-   ((rx-cc-p rx) (append (cdr rx) cs))
-   ((rx-clo-p rx) (rx-collect-cc (cdr rx) cs))
-   ((rx-alt-p rx)
-    (setq rx (cdr rx))
-    (while (consp rx)
-      (setq cs (rx-collect-cc (car rx) cs)
-           rx (cdr rx)))
-    cs)
-   ((rx-con-p rx) (rx-collect-cc (car rx) (rx-collect-cc (cdr rx) cs)))
-   (t (error "not rx %s" rx))))
-
-(defun rx-cc-to-pc (rx cs)
-  (cond
-   ((rx-empty-p rx) rx)
-   ((rx-null-p rx) rx)
-   ((rx-act-p rx) rx)
-   ((rx-cc-p rx)
-    (setq rx (cdr rx))
-    (let (res)
-      (while (and (consp rx) (consp (cdr rx)))
-       (let ((start (car rx)) (end (cadr rx)))
-         (setq res (rx-filter (lambda (c) (and (<= start c) (< c end))) cs res)
-               rx (cddr rx))))
-      (if (consp rx)
-         (let ((start (car rx)))
-           (setq res (rx-filter (lambda (c) (<= start c)) cs res))))
-      (rx-alt (rx-sort-int res))))
-   ((rx-clo-p rx) (rx-clo (rx-cc-to-pc (cdr rx) cs)))
-   ((rx-alt-p rx) (rx-alt (mapcar (lambda (r) (rx-cc-to-pc r cs)) (cdr rx))))
-   ((rx-con-p rx) (rx-con (rx-cc-to-pc (car rx) cs) (rx-cc-to-pc (cdr rx) cs)))
-   (t (error "not rx %s" rx))))
-
-(defun rx-categolize-char (rx)
-  (let ((cs (rx-sort-int (rx-collect-cc rx))))
-    (cons
-     (rx-cc-to-pc rx cs)
-     cs)))
-
-;;; simplification
-
-(defun rx-nullable-p (rx)
-  (cond
-   ((rx-empty-p rx) nil)
-   ((rx-null-p rx) t)
-   ((rx-act-p rx) t)
-   ((rx-pc-p rx) nil)
-   ((rx-clo-p rx) t)
-   ((rx-alt-p rx)
-    (setq rx (cdr rx))
-    (while (and (consp rx) (not (rx-nullable-p (car rx))))
-      (setq rx (cdr rx)))
-    (consp rx))
-   ((rx-con-p rx)
-    (and (rx-nullable-p (car rx)) (rx-nullable-p (cdr rx))))
-   (t (error "not rx %s" rx))))
-
-(defun rx-simplify (rx)
-  (cond
-   ((rx-empty-p rx) rx)
-   ((rx-null-p rx) rx)
-   ((rx-act-p rx) rx)
-   ((rx-pc-p rx) rx)
-   ((rx-clo-p rx)
-    (rx-clo (rx-simplify (cdr rx))))
-   ((rx-alt-p rx)
-    (let ((in (cdr rx)) (out ())
-         already-simplified-list already-simplified)
-      (while (consp in)
-       (setq rx (car in)
-             in (cdr in)
-             already-simplified (car already-simplified-list)
-             already-simplified-list (cdr already-simplified-list))
-       (if (rx-alt-p rx)
-           (setq in (append (cdr rx) in))
-         (progn
-           (setq rx (if already-simplified rx (rx-simplify rx)))
-           (cond
-            ((rx-empty-p rx)) ; [] is identity element for alternation.
-            ((rx-alt-p rx)
-             (setq in (append (cdr rx) in)
-                   already-simplified-list (append (make-list (length (cdr rx)) nil) already-simplified-list)))
-            ((not (member rx out))
-             (setq out (cons rx out)))))))
-      (rx-alt (rx-sort-rx (reverse out)))))
-   ((rx-con-p rx)
-    (catch 'return
-      (let ((in (list (car rx) (cdr rx))) (out ())
-           already-simplified-list already-simplified)
-       (while (consp in)
-         (setq rx (car in)
-               in (cdr in)
-               already-simplified (car already-simplified-list)
-               already-simplified-list (cdr already-simplified-list))
-         (if (rx-con-p rx)
-             (setq in (rx-cons* (car rx) (cdr rx) in))
-           (progn
-             (setq rx (if already-simplified rx (rx-simplify rx)))
-             (cond
-              ((rx-empty-p rx) ; [] is zero element for concatination.
-               (throw 'return []))
-              ((rx-null-p rx)) ; () is identity element for concatination.
-              ((rx-con-p rx)
-               (setq in (rx-cons* (car rx) (cdr rx) in))
-                     already-simplified-list (rx-cons* t t already-simplified-list))
-              (t
-               (setq out (cons rx out)))))))
-       (if (= (length out) 1)
-           (car out)
-         (nreverse out)))))
-   (t (error "not rx %s" rx))))
-
-;;; head property
-
-(defun rx-head-pcs (rx &optional res)
-  (cond
-   ((rx-empty-p rx) res)
-   ((rx-null-p rx) res)
-   ((rx-act-p rx) res)
-   ((rx-pc-p rx) (if (member rx res) res (cons rx res)))
-   ((rx-clo-p rx) (rx-head-pcs (cdr rx) res))
-   ((rx-alt-p rx)
-    (setq rx (cdr rx))
-    (while (consp rx)
-      (setq res (rx-head-pcs (car rx) res)
-           rx (cdr rx)))
-    res)
-   ((rx-con-p rx)
-    (setq res (rx-head-pcs (car rx) res))
-    (if (rx-nullable-p (car rx))
-       (setq res (rx-head-pcs (cdr rx) res)))
-    res)
-   (t (error "not rx %s" rx))))
-
-(defun rx-head-act (rx &optional res)
-  (cond
-   ((rx-empty-p rx) res)
-   ((rx-null-p rx) res)
-   ((rx-act-p rx) (rx-better-act rx res))
-   ((rx-pc-p rx) res)
-   ((rx-clo-p rx) (rx-head-act (cdr rx) res))
-   ((rx-alt-p rx)
-    (setq rx (cdr rx))
-    (while (consp rx)
-      (setq res (rx-head-act (car rx) res)
-           rx (cdr rx)))
-    res)
-   ((rx-con-p rx)
-    (setq res (rx-head-act (car rx) res))
-    (if (rx-nullable-p (car rx))
-       (setq res (rx-head-act (cdr rx) res)))
-    res)
-   (t (error "not rx %s" rx))))
-
-;;; stepping
-
-(defun rx-step-internal (rx pc)
-  (cond
-   ((rx-empty-p rx) [])
-   ((rx-null-p rx) [])
-   ((rx-act-p rx) [])
-   ((rx-pc-p rx) (if (= rx pc) () []))
-   ((rx-clo-p rx) (rx-con (rx-step-internal (cdr rx) pc) rx))
-   ((rx-alt-p rx) (rx-alt (mapcar (lambda (r) (rx-step-internal r pc)) (cdr rx))))
-   ((rx-con-p rx)
-    (if (rx-nullable-p (car rx))
-       (rx-alt2
-        (rx-con (rx-step-internal (car rx) pc) (cdr rx))
-        (rx-step-internal (cdr rx) pc))
-      (rx-con (rx-step-internal (car rx) pc) (cdr rx))))
-   (t (error "not rx %s" rx))))
-
-(defun rx-step (rx &rest pcs)
-  (while (consp pcs)
-    (setq rx (rx-simplify (rx-step-internal rx (car pcs)))
-         pcs (cdr pcs)))
-  rx)
-
-;;; utilities    
-
-(defun rx-better-act (a1 a2)
-  (cond
-   ((null a2) a1)
-   ((< (cdr a1) (cdr a2)) a1)
-   (t a2)))
-
-(defun rx-cons* (elt &rest lst)
-  (if (null lst)
-      elt
-    (cons elt (apply 'rx-cons* (car lst) (cdr lst)))))
-
-(defun rx-filter (fun lst &optional rest)
-  (if (null lst)
-      rest
-    (if (funcall fun (car lst))
-       (cons (car lst) (rx-filter fun (cdr lst) rest))
-      (rx-filter fun (cdr lst) rest))))
-
-(defun rx-cmp-index (rx)
-  (cond
-   ((rx-null-p rx) (list 0))
-   ((rx-act-p rx) (list 1 (cdr rx)))
-   ((rx-empty-p rx) (list 2))
-   ((rx-clo-p rx) (list 3 (cdr rx)))
-   ((rx-alt-p rx) (cons 4 (cdr rx)))
-   ((rx-con-p rx) (list 5 (car rx) (cdr rx)))
-   ((rx-pc-p rx) (list 6 rx))
-   (t (error "not rx %s" rx))))
-
-(defun rx-cmp-int (i1 i2)
-  (cond
-   ((< i1 i2) -1)
-   ((> i1 i2) 1)
-   (t 0)))
-
-(defun rx-cmp-rx (r1 r2)
-  (let ((i1 (rx-cmp-index r1)) (i2 (rx-cmp-index r2)))
-     (cond
-      ((< (car i1) (car i2)) -1)
-      ((> (car i1) (car i2)) 1)
-      (t (setq i1 (cdr i1)
-              i2 (cdr i2))
-        (catch 'result
-          (while (and (consp i1) (consp i2))
-            (let ((r (if (and (integerp (car i1)) (integerp (car i2)))
-                         (rx-cmp-int (car i1) (car i2))
-                       (rx-cmp-rx (car i1) (car i2)))))
-              (if (not (zerop r))
-                  (throw 'result r)
-                (setq i1 (cdr i1)
-                      i2 (cdr i2)))))
-          (if (null i1) (if (null i2) 0 -1) 1))))))
-
-(defun rx-sort-rx (l &optional res)
-  (if (null l)
-      res
-    (let ((e (car l)) lt gt cmp)
-      (setq l (cdr l))
-      (while (consp l)
-       (setq cmp (rx-cmp-rx (car l) e))
-       (cond
-        ((< cmp 0) (setq lt (cons (car l) lt)))
-        ((< 0 cmp) (setq gt (cons (car l) gt))))
-       (setq l (cdr l)))
-      (rx-sort-rx lt (cons e (rx-sort-rx gt res))))))
-
-(defun rx-sort-int (l &optional res)
-  (if (null l)
-      res
-    (let ((e (car l)) lt gt)
-      (setq l (cdr l))
-      (while (consp l)
-       (cond
-        ((< (car l) e) (setq lt (cons (car l) lt)))
-        ((< e (car l)) (setq gt (cons (car l) gt))))
-       (setq l (cdr l)))
-      (rx-sort-int lt (cons e (rx-sort-int gt res))))))
-
diff --git a/std11.el b/std11.el
deleted file mode 100644 (file)
index 080cae2..0000000
--- a/std11.el
+++ /dev/null
@@ -1,836 +0,0 @@
-;;; std11.el --- STD 11 functions for GNU Emacs
-
-;; Copyright (C) 1995,1996,1997,1998 Free Software Foundation, Inc.
-
-;; Author:   MORIOKA Tomohiko <morioka@jaist.ac.jp>
-;; Keywords: mail, news, RFC 822, STD 11
-
-;; This file is part of MU (Message Utilities).
-
-;; This program is free software; you can redistribute it and/or
-;; modify it under the terms of the GNU General Public License as
-;; published by the Free Software Foundation; either version 2, or (at
-;; your option) any later version.
-
-;; This program is distributed in the hope that it will be useful, but
-;; WITHOUT ANY WARRANTY; without even the implied warranty of
-;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-;; General Public License for more details.
-
-;; You should have received a copy of the GNU General Public License
-;; along with GNU Emacs; see the file COPYING.  If not, write to the
-;; Free Software Foundation, Inc., 59 Temple Place - Suite 330,
-;; Boston, MA 02111-1307, USA.
-
-;;; Code:
-
-(autoload 'buffer-substring-no-properties "emu")
-(autoload 'member "emu")
-
-
-;;; @ field
-;;;
-
-(defconst std11-field-name-regexp "[!-9;-~]+")
-(defconst std11-field-head-regexp
-  (concat "^" std11-field-name-regexp ":"))
-(defconst std11-next-field-head-regexp
-  (concat "\n" std11-field-name-regexp ":"))
-
-(defun std11-field-end ()
-  "Move to end of field and return this point. [std11.el]"
-  (if (re-search-forward std11-next-field-head-regexp nil t)
-      (goto-char (match-beginning 0))
-    (if (re-search-forward "^$" nil t)
-       (goto-char (1- (match-beginning 0)))
-      (end-of-line)
-      ))
-  (point)
-  )
-
-(defsubst std11-fetch-field (name)
-  "Return the value of the header field NAME.
-The buffer is expected to be narrowed to just the headers of the message."
-  (save-excursion
-    (goto-char (point-min))
-    (let ((case-fold-search t))
-      (if (re-search-forward (concat "^" name ":[ \t]*") nil t)
-         (buffer-substring-no-properties (match-end 0) (std11-field-end))
-       ))))
-
-(defun std11-field-body (name &optional boundary)
-  "Return the value of the header field NAME.
-If BOUNDARY is not nil, it is used as message header separator."
-  (save-excursion
-    (save-restriction
-      (std11-narrow-to-header boundary)
-      (std11-fetch-field name)
-      )))
-
-(defun std11-find-field-body (field-names &optional boundary)
-  "Return the first found field-body specified by FIELD-NAMES
-of the message header in current buffer. If BOUNDARY is not nil, it is
-used as message header separator. [std11.el]"
-  (save-excursion
-    (save-restriction
-      (std11-narrow-to-header boundary)
-      (let ((case-fold-search t)
-           field-name)
-       (catch 'tag
-         (while (setq field-name (car field-names))
-           (goto-char (point-min))
-           (if (re-search-forward (concat "^" field-name ":[ \t]*") nil t)
-               (throw 'tag
-                      (buffer-substring-no-properties
-                       (match-end 0) (std11-field-end)))
-             )
-           (setq field-names (cdr field-names))
-           ))))))
-
-(defun std11-field-bodies (field-names &optional default-value boundary)
-  "Return list of each field-bodies of FIELD-NAMES of the message header
-in current buffer. If BOUNDARY is not nil, it is used as message
-header separator. [std11.el]"
-  (save-excursion
-    (save-restriction
-      (std11-narrow-to-header boundary)
-      (let* ((case-fold-search t)
-            (dest (make-list (length field-names) default-value))
-            (s-rest field-names)
-            (d-rest dest)
-            field-name)
-       (while (setq field-name (car s-rest))
-         (goto-char (point-min))
-         (if (re-search-forward (concat "^" field-name ":[ \t]*") nil t)
-             (setcar d-rest
-                     (buffer-substring-no-properties
-                      (match-end 0) (std11-field-end)))
-           )
-         (setq s-rest (cdr s-rest)
-               d-rest (cdr d-rest))
-         )
-       dest))))
-
-
-;;; @ unfolding
-;;;
-
-(defun std11-unfold-string (string)
-  "Unfold STRING as message header field. [std11.el]"
-  (let ((dest ""))
-    (while (string-match "\n\\([ \t]\\)" string)
-      (setq dest (concat dest
-                         (substring string 0 (match-beginning 0))
-                         (match-string 1 string)
-                         ))
-      (setq string (substring string (match-end 0)))
-      )
-    (concat dest string)
-    ))
-
-
-;;; @ header
-;;;
-
-(defun std11-narrow-to-header (&optional boundary)
-  "Narrow to the message header.
-If BOUNDARY is not nil, it is used as message header separator.
-\[std11.el]"
-  (narrow-to-region
-   (goto-char (point-min))
-   (if (re-search-forward
-       (concat "^\\(" (regexp-quote (or boundary "")) "\\)?$")
-       nil t)
-       (match-beginning 0)
-     (point-max)
-     )))
-
-(defun std11-header-string (regexp &optional boundary)
-  "Return string of message header fields matched by REGEXP.
-If BOUNDARY is not nil, it is used as message header separator.
-\[std11.el]"
-  (let ((case-fold-search t))
-    (save-excursion
-      (save-restriction
-       (std11-narrow-to-header boundary)
-       (goto-char (point-min))
-       (let (field header)
-         (while (re-search-forward std11-field-head-regexp nil t)
-           (setq field
-                 (buffer-substring (match-beginning 0) (std11-field-end)))
-           (if (string-match regexp field)
-               (setq header (concat header field "\n"))
-             ))
-         header)
-       ))))
-
-(defun std11-header-string-except (regexp &optional boundary)
-  "Return string of message header fields not matched by REGEXP.
-If BOUNDARY is not nil, it is used as message header separator.
-\[std11.el]"
-  (let ((case-fold-search t))
-    (save-excursion
-      (save-restriction
-       (std11-narrow-to-header boundary)
-       (goto-char (point-min))
-       (let (field header)
-         (while (re-search-forward std11-field-head-regexp nil t)
-           (setq field
-                 (buffer-substring (match-beginning 0) (std11-field-end)))
-           (if (not (string-match regexp field))
-               (setq header (concat header field "\n"))
-             ))
-         header)
-       ))))
-
-(defun std11-collect-field-names (&optional boundary)
-  "Return list of all field-names of the message header in current buffer.
-If BOUNDARY is not nil, it is used as message header separator.
-\[std11.el]"
-  (save-excursion
-    (save-restriction
-      (std11-narrow-to-header boundary)
-      (goto-char (point-min))
-      (let (dest name)
-       (while (re-search-forward std11-field-head-regexp nil t)
-         (setq name (buffer-substring-no-properties
-                     (match-beginning 0)(1- (match-end 0))))
-         (or (member name dest)
-             (setq dest (cons name dest))
-             )
-         )
-       dest))))
-
-
-;;; @ quoted-string
-;;;
-
-(defun std11-wrap-as-quoted-pairs (string specials)
-  (let (dest
-       (i 0)
-       (b 0)
-       (len (length string))
-       )
-    (while (< i len)
-      (let ((chr (aref string i)))
-       (if (memq chr specials)
-           (setq dest (concat dest (substring string b i) "\\")
-                 b i)
-         ))
-      (setq i (1+ i))
-      )
-    (concat dest (substring string b))
-    ))
-
-(defconst std11-non-qtext-char-list '(?\" ?\\ ?\r ?\n))
-
-(defun std11-wrap-as-quoted-string (string)
-  "Wrap STRING as RFC 822 quoted-string. [std11.el]"
-  (concat "\""
-         (std11-wrap-as-quoted-pairs string std11-non-qtext-char-list)
-         "\""))
-
-(defun std11-strip-quoted-pair (string)
-  "Strip quoted-pairs in STRING. [std11.el]"
-  (let (dest
-       (b 0)
-       (i 0)
-       (len (length string))
-       )
-    (while (< i len)
-      (let ((chr (aref string i)))
-       (if (eq chr ?\\)
-           (setq dest (concat dest (substring string b i))
-                 b (1+ i)
-                 i (+ i 2))
-         (setq i (1+ i))
-         )))
-    (concat dest (substring string b))
-    ))
-
-(defun std11-strip-quoted-string (string)
-  "Strip quoted-string STRING. [std11.el]"
-  (let ((len (length string)))
-    (or (and (>= len 2)
-            (let ((max (1- len)))
-              (and (eq (aref string 0) ?\")
-                   (eq (aref string max) ?\")
-                   (std11-strip-quoted-pair (substring string 1 max))
-                   )))
-       string)))
-
-
-;;; @ lexical analyze
-;;;
-
-(defconst std11-space-chars " \t\n")
-(defconst std11-spaces-regexp (` (, (concat "[" std11-space-chars "]+"))))
-(defconst std11-special-char-list '(?\] ?\[
-                                       ?\( ?\) ?< ?> ?@
-                                       ?, ?\; ?: ?\\ ?\"
-                                       ?.))
-(defconst std11-atom-regexp
-  (` (, (concat "^[^" std11-special-char-list std11-space-chars "]+"))))
-
-(defun std11-analyze-spaces (string)
-  (if (and (string-match std11-spaces-regexp string)
-          (= (match-beginning 0) 0))
-      (let ((end (match-end 0)))
-       (cons (cons 'spaces (substring string 0 end))
-             (substring string end)
-             ))))
-
-(defun std11-analyze-special (str)
-  (if (and (> (length str) 0)
-          (memq (aref str 0) std11-special-char-list))
-      (cons (cons 'specials (substring str 0 1))
-           (substring str 1)
-           )))
-
-(defun std11-analyze-atom (str)
-  (if (string-match std11-atom-regexp str)
-      (let ((end (match-end 0)))
-       (cons (cons 'atom (substring str 0 end))
-             (substring str end)
-             ))))
-
-(defun std11-check-enclosure (str open close &optional recursive from)
-  (let ((len (length str))
-       (i (or from 0))
-       )
-    (if (and (> len i)
-            (eq (aref str i) open))
-       (let (p chr)
-         (setq i (1+ i))
-         (catch 'tag
-           (while (< i len)
-             (setq chr (aref str i))
-             (cond ((eq chr ?\\)
-                    (setq i (1+ i))
-                    (if (>= i len)
-                        (throw 'tag nil)
-                      )
-                    (setq i (1+ i))
-                    )
-                   ((eq chr close)
-                    (throw 'tag (1+ i))
-                    )
-                   ((eq chr open)
-                    (if (and recursive
-                             (setq p (std11-check-enclosure
-                                      str open close recursive i))
-                             )
-                        (setq i p)
-                      (throw 'tag nil)
-                      ))
-                   (t
-                    (setq i (1+ i))
-                    ))
-             ))))))
-
-(defun std11-analyze-quoted-string (str)
-  (let ((p (std11-check-enclosure str ?\" ?\")))
-    (if p
-       (cons (cons 'quoted-string (substring str 1 (1- p)))
-             (substring str p))
-      )))
-
-(defun std11-analyze-domain-literal (str)
-  (let ((p (std11-check-enclosure str ?\[ ?\])))
-    (if p
-       (cons (cons 'domain-literal (substring str 1 (1- p)))
-             (substring str p))
-      )))
-
-(defun std11-analyze-comment (str)
-  (let ((p (std11-check-enclosure str ?\( ?\) t)))
-    (if p
-       (cons (cons 'comment (substring str 1 (1- p)))
-             (substring str p))
-      )))
-
-(defun std11-lexical-analyze (str)
-  (let (dest ret)
-    (while (not (string-equal str ""))
-      (setq ret
-           (or (std11-analyze-quoted-string str)
-               (std11-analyze-domain-literal str)
-               (std11-analyze-comment str)
-               (std11-analyze-spaces str)
-               (std11-analyze-special str)
-               (std11-analyze-atom str)
-               '((error) . "")
-               ))
-      (setq dest (cons (car ret) dest))
-      (setq str (cdr ret))
-      )
-    (nreverse dest)
-    ))
-
-
-;;; @ parser
-;;;
-
-(defun std11-ignored-token-p (token)
-  (let ((type (car token)))
-    (or (eq type 'spaces)(eq type 'comment))
-    ))
-
-(defun std11-parse-token (lal)
-  (let (token itl)
-    (while (and lal
-               (progn
-                 (setq token (car lal))
-                 (std11-ignored-token-p token)
-                 ))
-      (setq lal (cdr lal))
-      (setq itl (cons token itl))
-      )
-    (cons (nreverse (cons token itl))
-         (cdr lal))
-    ))
-
-(defun std11-parse-ascii-token (lal)
-  (let (token itl parsed token-value)
-    (while (and lal
-               (setq token (car lal))
-               (or (std11-ignored-token-p token)
-                   (if (and (setq token-value (cdr token))
-                            (find-non-ascii-charset-string token-value)
-                            )
-                       (setq token nil)
-                     )))
-      (setq lal (cdr lal))
-      (setq itl (cons token itl))
-      )
-    (if (and token
-            (setq parsed (nreverse (cons token itl)))
-            )
-       (cons parsed (cdr lal))
-      )))
-
-(defun std11-parse-token-or-comment (lal)
-  (let (token itl)
-    (while (and lal
-               (progn
-                 (setq token (car lal))
-                 (eq (car token) 'spaces)
-                 ))
-      (setq lal (cdr lal))
-      (setq itl (cons token itl))
-      )
-    (cons (nreverse (cons token itl))
-         (cdr lal))
-    ))
-
-(defun std11-parse-word (lal)
-  (let ((ret (std11-parse-ascii-token lal)))
-    (if ret
-       (let ((elt (car ret))
-             (rest (cdr ret))
-             )
-         (if (or (assq 'atom elt)
-                 (assq 'quoted-string elt))
-             (cons (cons 'word elt) rest)
-           )))))
-
-(defun std11-parse-word-or-comment (lal)
-  (let ((ret (std11-parse-token-or-comment lal)))
-    (if ret
-       (let ((elt (car ret))
-             (rest (cdr ret))
-             )
-         (cond ((or (assq 'atom elt)
-                    (assq 'quoted-string elt))
-                (cons (cons 'word elt) rest)
-                )
-               ((assq 'comment elt)
-                (cons (cons 'comment-word elt) rest)
-                ))
-         ))))
-
-(defun std11-parse-phrase (lal)
-  (let (ret phrase)
-    (while (setq ret (std11-parse-word-or-comment lal))
-      (setq phrase (append phrase (cdr (car ret))))
-      (setq lal (cdr ret))
-      )
-    (if phrase
-       (cons (cons 'phrase phrase) lal)
-      )))
-
-(defun std11-parse-local-part (lal)
-  (let ((ret (std11-parse-word lal)))
-    (if ret
-       (let ((local-part (cdr (car ret))) dot)
-         (setq lal (cdr ret))
-         (while (and (setq ret (std11-parse-ascii-token lal))
-                     (setq dot (car ret))
-                     (string-equal (cdr (assq 'specials dot)) ".")
-                     (setq ret (std11-parse-word (cdr ret)))
-                     (setq local-part
-                           (append local-part dot (cdr (car ret)))
-                           )
-                     (setq lal (cdr ret))
-                     ))
-         (cons (cons 'local-part local-part) lal)
-         ))))
-
-(defun std11-parse-sub-domain (lal)
-  (let ((ret (std11-parse-ascii-token lal)))
-    (if ret
-       (let ((sub-domain (car ret)))
-         (if (or (assq 'atom sub-domain)
-                 (assq 'domain-literal sub-domain)
-                 )
-             (cons (cons 'sub-domain sub-domain)
-                   (cdr ret)
-                   )
-           )))))
-
-(defun std11-parse-domain (lal)
-  (let ((ret (std11-parse-sub-domain lal)))
-    (if ret
-       (let ((domain (cdr (car ret))) dot)
-         (setq lal (cdr ret))
-         (while (and (setq ret (std11-parse-ascii-token lal))
-                     (setq dot (car ret))
-                     (string-equal (cdr (assq 'specials dot)) ".")
-                     (setq ret (std11-parse-sub-domain (cdr ret)))
-                     (setq domain
-                           (append domain dot (cdr (car ret)))
-                           )
-                     (setq lal (cdr ret))
-                     ))
-         (cons (cons 'domain domain) lal)
-         ))))
-
-(defun std11-parse-at-domain (lal)
-  (let ((ret (std11-parse-ascii-token lal)) at-sign)
-    (if (and ret
-            (setq at-sign (car ret))
-            (string-equal (cdr (assq 'specials at-sign)) "@")
-            (setq ret (std11-parse-domain (cdr ret)))
-            )
-       (cons (cons 'at-domain (append at-sign (cdr (car ret))))
-             (cdr ret))
-      )))
-
-(defun std11-parse-addr-spec (lal)
-  (let ((ret (std11-parse-local-part lal))
-       addr)
-    (if (and ret
-            (prog1
-                (setq addr (cdr (car ret)))
-              (setq lal (cdr ret))
-              (and (setq ret (std11-parse-at-domain lal))
-                   (setq addr (append addr (cdr (car ret))))
-                   (setq lal (cdr ret))
-                   )))
-       (cons (cons 'addr-spec addr) lal)
-      )))
-
-(defun std11-parse-route (lal)
-  (let ((ret (std11-parse-at-domain lal))
-       route comma colon)
-    (if (and ret
-            (progn
-              (setq route (cdr (car ret)))
-              (setq lal (cdr ret))
-              (while (and (setq ret (std11-parse-ascii-token lal))
-                          (setq comma (car ret))
-                          (string-equal (cdr (assq 'specials comma)) ",")
-                          (setq ret (std11-parse-at-domain (cdr ret)))
-                          )
-                (setq route (append route comma (cdr (car ret))))
-                (setq lal (cdr ret))
-                )
-              (and (setq ret (std11-parse-ascii-token lal))
-                   (setq colon (car ret))
-                   (string-equal (cdr (assq 'specials colon)) ":")
-                   (setq route (append route colon))
-                   )
-              ))
-       (cons (cons 'route route)
-             (cdr ret)
-             )
-      )))
-
-(defun std11-parse-route-addr (lal)
-  (let ((ret (std11-parse-ascii-token lal))
-       < route addr-spec >)
-    (if (and ret
-            (setq < (car ret))
-            (string-equal (cdr (assq 'specials <)) "<")
-            (setq lal (cdr ret))
-            (progn (and (setq ret (std11-parse-route lal))
-                        (setq route (cdr (car ret)))
-                        (setq lal (cdr ret))
-                        )
-                   (setq ret (std11-parse-addr-spec lal))
-                   )
-            (setq addr-spec (cdr (car ret)))
-            (setq lal (cdr ret))
-            (setq ret (std11-parse-ascii-token lal))
-            (setq > (car ret))
-            (string-equal (cdr (assq 'specials >)) ">")
-            )
-       (cons (cons 'route-addr (append route addr-spec))
-             (cdr ret)
-             )
-      )))
-
-(defun std11-parse-phrase-route-addr (lal)
-  (let ((ret (std11-parse-phrase lal)) phrase)
-    (if ret
-       (progn
-         (setq phrase (cdr (car ret)))
-         (setq lal (cdr ret))
-         ))
-    (if (setq ret (std11-parse-route-addr lal))
-       (cons (list 'phrase-route-addr
-                   phrase
-                   (cdr (car ret)))
-             (cdr ret))
-      )))
-
-(defun std11-parse-mailbox (lal)
-  (let ((ret (or (std11-parse-phrase-route-addr lal)
-                (std11-parse-addr-spec lal)))
-       mbox comment)
-    (if (and ret
-            (prog1
-                (setq mbox (car ret))
-              (setq lal (cdr ret))
-              (if (and (setq ret (std11-parse-token-or-comment lal))
-                       (setq comment (cdr (assq 'comment (car ret))))
-                       )
-                  (setq lal (cdr ret))
-                )))
-       (cons (list 'mailbox mbox comment)
-             lal)
-      )))
-
-(defun std11-parse-group (lal)
-  (let ((ret (std11-parse-phrase lal))
-       phrase colon comma mbox semicolon)
-    (if (and ret
-            (setq phrase (cdr (car ret)))
-            (setq lal (cdr ret))
-            (setq ret (std11-parse-ascii-token lal))
-            (setq colon (car ret))
-            (string-equal (cdr (assq 'specials colon)) ":")
-            (setq lal (cdr ret))
-            (progn
-              (and (setq ret (std11-parse-mailbox lal))
-                   (setq mbox (list (car ret)))
-                   (setq lal (cdr ret))
-                   (progn
-                     (while (and (setq ret (std11-parse-ascii-token lal))
-                                 (setq comma (car ret))
-                                 (string-equal
-                                  (cdr (assq 'specials comma)) ",")
-                                 (setq lal (cdr ret))
-                                 (setq ret (std11-parse-mailbox lal))
-                                 (setq mbox (cons (car ret) mbox))
-                                 (setq lal (cdr ret))
-                                 )
-                       )))
-              (and (setq ret (std11-parse-ascii-token lal))
-                   (setq semicolon (car ret))
-                   (string-equal (cdr (assq 'specials semicolon)) ";")
-                   )))
-       (cons (list 'group phrase (nreverse mbox))
-             (cdr ret)
-             )
-      )))
-
-(defun std11-parse-address (lal)
-  (or (std11-parse-group lal)
-      (std11-parse-mailbox lal)
-      ))
-
-(defun std11-parse-addresses (lal)
-  (let ((ret (std11-parse-address lal)))
-    (if ret
-       (let ((dest (list (car ret))))
-         (setq lal (cdr ret))
-         (while (and (setq ret (std11-parse-ascii-token lal))
-                     (string-equal (cdr (assq 'specials (car ret))) ",")
-                     (setq ret (std11-parse-address (cdr ret)))
-                     )
-           (setq dest (cons (car ret) dest))
-           (setq lal (cdr ret))
-           )
-         (nreverse dest)
-         ))))
-
-(defun std11-parse-msg-id (lal)
-  (let ((ret (std11-parse-ascii-token lal))
-       < addr-spec >)
-    (if (and ret
-            (setq < (car ret))
-            (string-equal (cdr (assq 'specials <)) "<")
-            (setq lal (cdr ret))
-            (setq ret (std11-parse-addr-spec lal))
-            (setq addr-spec (car ret))
-            (setq lal (cdr ret))
-            (setq ret (std11-parse-ascii-token lal))
-            (setq > (car ret))
-            (string-equal (cdr (assq 'specials >)) ">")
-            )
-       (cons (cons 'msg-id (cdr addr-spec))
-             (cdr ret))
-      )))
-
-
-;;; @ composer
-;;;
-
-(defun std11-addr-to-string (seq)
-  "Return string from lexical analyzed list SEQ
-represents addr-spec of RFC 822. [std11.el]"
-  (mapconcat (function
-             (lambda (token)
-               (let ((name (car token)))
-                  (cond
-                   ((eq name 'spaces) "")
-                   ((eq name 'comment) "")
-                   ((eq name 'quoted-string)
-                    (concat "\"" (cdr token) "\""))
-                   (t (cdr token)))
-                  )))
-            seq "")
-  )
-
-(defun std11-address-string (address)
-  "Return string of address part from parsed ADDRESS of RFC 822.
-\[std11.el]"
-  (cond ((eq (car address) 'group)
-        (mapconcat (function std11-address-string)
-                   (car (cdr address))
-                   ", ")
-        )
-       ((eq (car address) 'mailbox)
-        (let ((addr (nth 1 address)))
-          (std11-addr-to-string
-           (if (eq (car addr) 'phrase-route-addr)
-               (nth 2 addr)
-             (cdr addr)
-             )
-           )))))
-
-(defun std11-full-name-string (address)
-  "Return string of full-name part from parsed ADDRESS of RFC 822.
-\[std11.el]"
-  (cond ((eq (car address) 'group)
-        (mapconcat (function
-                    (lambda (token)
-                      (cdr token)
-                      ))
-                   (nth 1 address) "")
-        )
-       ((eq (car address) 'mailbox)
-        (let ((addr (nth 1 address))
-              (comment (nth 2 address))
-              phrase)
-          (if (eq (car addr) 'phrase-route-addr)
-              (setq phrase
-                    (mapconcat
-                     (function
-                      (lambda (token)
-                        (let ((type (car token)))
-                          (cond ((eq type 'quoted-string)
-                                 (std11-strip-quoted-pair (cdr token))
-                                 )
-                                ((eq type 'comment)
-                                 (concat
-                                  "("
-                                  (std11-strip-quoted-pair (cdr token))
-                                  ")")
-                                 )
-                                (t
-                                 (cdr token)
-                                 )))))
-                     (nth 1 addr) ""))
-            )
-          (cond ((> (length phrase) 0) phrase)
-                (comment (std11-strip-quoted-pair comment))
-                )
-          ))))
-
-(defun std11-msg-id-string (msg-id)
-  "Return string from parsed MSG-ID of RFC 822."
-  (concat "<" (std11-addr-to-string (cdr msg-id)) ">")
-  )
-
-(defun std11-fill-msg-id-list-string (string &optional column)
-  "Fill list of msg-id in STRING, and return the result."
-  (or column
-      (setq column 12))
-  (let ((lal (std11-lexical-analyze string))
-       dest)
-    (let ((ret (std11-parse-msg-id lal)))
-      (if ret
-         (let* ((str (std11-msg-id-string (car ret)))
-                (len (length str)))
-           (setq lal (cdr ret))
-           (if (> (+ len column) 76)
-               (setq dest (concat dest "\n " str)
-                     column (1+ len))
-             (setq dest str
-                   column (+ column len))
-             ))
-       (setq dest (concat dest (cdr (car lal)))
-             lal (cdr lal))
-       ))
-    (while lal
-      (let ((ret (std11-parse-msg-id lal)))
-       (if ret
-           (let* ((str (std11-msg-id-string (car ret)))
-                  (len (1+ (length str))))
-             (setq lal (cdr ret))
-             (if (> (+ len column) 76)
-                 (setq dest (concat dest "\n " str)
-                       column len)
-               (setq dest (concat dest " " str)
-                     column (+ column len))
-               ))
-         (setq dest (concat dest (cdr (car lal)))
-               lal (cdr lal))
-         )))
-    dest))
-
-
-;;; @ parser with lexical analyzer
-;;;
-
-(defun std11-parse-address-string (string)
-  "Parse STRING as mail address. [std11.el]"
-  (std11-parse-address (std11-lexical-analyze string))
-  )
-
-(defun std11-parse-addresses-string (string)
-  "Parse STRING as mail address list. [std11.el]"
-  (std11-parse-addresses (std11-lexical-analyze string))
-  )
-
-(defun std11-extract-address-components (string)
-  "Extract full name and canonical address from STRING.
-Returns a list of the form (FULL-NAME CANONICAL-ADDRESS).
-If no name can be extracted, FULL-NAME will be nil. [std11.el]"
-  (let* ((structure (car (std11-parse-address-string
-                         (std11-unfold-string string))))
-         (phrase  (std11-full-name-string structure))
-         (address (std11-address-string structure))
-         )
-    (list phrase address)
-    ))
-
-
-;;; @ end
-;;;
-
-(provide 'std11)
-
-;;; std11.el ends here