aboutsummaryrefslogtreecommitdiff
path: root/lzip-1.22.tar
blob: e809e473720d03f830a4b0cae715d97f60e03884 (plain)
ofshex dumpascii
0000 6c 7a 69 70 2d 31 2e 32 32 2f 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 lzip-1.22/......................
0020 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0040 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0060 00 00 00 00 30 30 30 30 37 35 35 00 30 30 30 30 30 30 30 00 30 30 30 30 30 30 30 00 30 30 30 30 ....0000755.0000000.0000000.0000
0080 30 30 30 30 30 30 30 00 31 34 31 32 36 34 31 33 33 34 34 00 30 31 32 34 31 34 00 20 35 00 00 00 0000000.14126413344.012414..5...
00a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
00c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
00e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0100 00 75 73 74 61 72 00 30 30 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .ustar.00root...................
0120 00 00 00 00 00 00 00 00 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .........root...................
0140 00 00 00 00 00 00 00 00 00 30 30 30 30 30 30 30 00 30 30 30 30 30 30 30 00 00 00 00 00 00 00 00 .........0000000.0000000........
0160 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0180 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
01a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
01c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
01e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0200 6c 7a 69 70 2d 31 2e 32 32 2f 61 72 67 5f 70 61 72 73 65 72 2e 63 63 00 00 00 00 00 00 00 00 00 lzip-1.22/arg_parser.cc.........
0220 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0240 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0260 00 00 00 00 30 30 30 30 36 34 34 00 30 30 30 30 30 30 30 00 30 30 30 30 30 30 30 00 30 30 30 30 ....0000644.0000000.0000000.0000
0280 30 30 31 33 32 35 34 00 31 33 37 37 33 34 37 37 30 33 32 00 30 31 35 30 37 30 00 20 30 00 00 00 0013254.13773477032.015070..0...
02a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
02c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
02e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0300 00 75 73 74 61 72 00 30 30 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .ustar.00root...................
0320 00 00 00 00 00 00 00 00 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .........root...................
0340 00 00 00 00 00 00 00 00 00 30 30 30 30 30 30 30 00 30 30 30 30 30 30 30 00 00 00 00 00 00 00 00 .........0000000.0000000........
0360 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0380 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
03a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
03c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
03e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0400 2f 2a 20 41 72 67 5f 70 61 72 73 65 72 20 2d 20 50 4f 53 49 58 2f 47 4e 55 20 63 6f 6d 6d 61 6e /*.Arg_parser.-.POSIX/GNU.comman
0420 64 20 6c 69 6e 65 20 61 72 67 75 6d 65 6e 74 20 70 61 72 73 65 72 2e 20 28 43 2b 2b 20 76 65 72 d.line.argument.parser..(C++.ver
0440 73 69 6f 6e 29 0a 20 20 20 43 6f 70 79 72 69 67 68 74 20 28 43 29 20 32 30 30 36 2d 32 30 32 31 sion)....Copyright.(C).2006-2021
0460 20 41 6e 74 6f 6e 69 6f 20 44 69 61 7a 20 44 69 61 7a 2e 0a 0a 20 20 20 54 68 69 73 20 6c 69 62 .Antonio.Diaz.Diaz......This.lib
0480 72 61 72 79 20 69 73 20 66 72 65 65 20 73 6f 66 74 77 61 72 65 2e 20 52 65 64 69 73 74 72 69 62 rary.is.free.software..Redistrib
04a0 75 74 69 6f 6e 20 61 6e 64 20 75 73 65 20 69 6e 20 73 6f 75 72 63 65 20 61 6e 64 0a 20 20 20 62 ution.and.use.in.source.and....b
04c0 69 6e 61 72 79 20 66 6f 72 6d 73 2c 20 77 69 74 68 20 6f 72 20 77 69 74 68 6f 75 74 20 6d 6f 64 inary.forms,.with.or.without.mod
04e0 69 66 69 63 61 74 69 6f 6e 2c 20 61 72 65 20 70 65 72 6d 69 74 74 65 64 20 70 72 6f 76 69 64 65 ification,.are.permitted.provide
0500 64 0a 20 20 20 74 68 61 74 20 74 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 63 6f 6e 64 69 74 69 6f d....that.the.following.conditio
0520 6e 73 20 61 72 65 20 6d 65 74 3a 0a 0a 20 20 20 31 2e 20 52 65 64 69 73 74 72 69 62 75 74 69 6f ns.are.met:.....1..Redistributio
0540 6e 73 20 6f 66 20 73 6f 75 72 63 65 20 63 6f 64 65 20 6d 75 73 74 20 72 65 74 61 69 6e 20 74 68 ns.of.source.code.must.retain.th
0560 65 20 61 62 6f 76 65 20 63 6f 70 79 72 69 67 68 74 0a 20 20 20 6e 6f 74 69 63 65 2c 20 74 68 69 e.above.copyright....notice,.thi
0580 73 20 6c 69 73 74 20 6f 66 20 63 6f 6e 64 69 74 69 6f 6e 73 2c 20 61 6e 64 20 74 68 65 20 66 6f s.list.of.conditions,.and.the.fo
05a0 6c 6c 6f 77 69 6e 67 20 64 69 73 63 6c 61 69 6d 65 72 2e 0a 0a 20 20 20 32 2e 20 52 65 64 69 73 llowing.disclaimer......2..Redis
05c0 74 72 69 62 75 74 69 6f 6e 73 20 69 6e 20 62 69 6e 61 72 79 20 66 6f 72 6d 20 6d 75 73 74 20 72 tributions.in.binary.form.must.r
05e0 65 70 72 6f 64 75 63 65 20 74 68 65 20 61 62 6f 76 65 20 63 6f 70 79 72 69 67 68 74 0a 20 20 20 eproduce.the.above.copyright....
0600 6e 6f 74 69 63 65 2c 20 74 68 69 73 20 6c 69 73 74 20 6f 66 20 63 6f 6e 64 69 74 69 6f 6e 73 2c notice,.this.list.of.conditions,
0620 20 61 6e 64 20 74 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 64 69 73 63 6c 61 69 6d 65 72 20 69 6e .and.the.following.disclaimer.in
0640 20 74 68 65 0a 20 20 20 64 6f 63 75 6d 65 6e 74 61 74 69 6f 6e 20 61 6e 64 2f 6f 72 20 6f 74 68 .the....documentation.and/or.oth
0660 65 72 20 6d 61 74 65 72 69 61 6c 73 20 70 72 6f 76 69 64 65 64 20 77 69 74 68 20 74 68 65 20 64 er.materials.provided.with.the.d
0680 69 73 74 72 69 62 75 74 69 6f 6e 2e 0a 0a 20 20 20 54 68 69 73 20 6c 69 62 72 61 72 79 20 69 73 istribution......This.library.is
06a0 20 64 69 73 74 72 69 62 75 74 65 64 20 69 6e 20 74 68 65 20 68 6f 70 65 20 74 68 61 74 20 69 74 .distributed.in.the.hope.that.it
06c0 20 77 69 6c 6c 20 62 65 20 75 73 65 66 75 6c 2c 0a 20 20 20 62 75 74 20 57 49 54 48 4f 55 54 20 .will.be.useful,....but.WITHOUT.
06e0 41 4e 59 20 57 41 52 52 41 4e 54 59 3b 20 77 69 74 68 6f 75 74 20 65 76 65 6e 20 74 68 65 20 69 ANY.WARRANTY;.without.even.the.i
0700 6d 70 6c 69 65 64 20 77 61 72 72 61 6e 74 79 20 6f 66 0a 20 20 20 4d 45 52 43 48 41 4e 54 41 42 mplied.warranty.of....MERCHANTAB
0720 49 4c 49 54 59 20 6f 72 20 46 49 54 4e 45 53 53 20 46 4f 52 20 41 20 50 41 52 54 49 43 55 4c 41 ILITY.or.FITNESS.FOR.A.PARTICULA
0740 52 20 50 55 52 50 4f 53 45 2e 0a 2a 2f 0a 0a 23 69 6e 63 6c 75 64 65 20 3c 63 73 74 72 69 6e 67 R.PURPOSE..*/..#include.<cstring
0760 3e 0a 23 69 6e 63 6c 75 64 65 20 3c 73 74 72 69 6e 67 3e 0a 23 69 6e 63 6c 75 64 65 20 3c 76 65 >.#include.<string>.#include.<ve
0780 63 74 6f 72 3e 0a 0a 23 69 6e 63 6c 75 64 65 20 22 61 72 67 5f 70 61 72 73 65 72 2e 68 22 0a 0a ctor>..#include."arg_parser.h"..
07a0 0a 62 6f 6f 6c 20 41 72 67 5f 70 61 72 73 65 72 3a 3a 70 61 72 73 65 5f 6c 6f 6e 67 5f 6f 70 74 .bool.Arg_parser::parse_long_opt
07c0 69 6f 6e 28 20 63 6f 6e 73 74 20 63 68 61 72 20 2a 20 63 6f 6e 73 74 20 6f 70 74 2c 20 63 6f 6e ion(.const.char.*.const.opt,.con
07e0 73 74 20 63 68 61 72 20 2a 20 63 6f 6e 73 74 20 61 72 67 2c 0a 20 20 20 20 20 20 20 20 20 20 20 st.char.*.const.arg,............
0800 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 63 6f 6e 73 74 20 4f .........................const.O
0820 70 74 69 6f 6e 20 6f 70 74 69 6f 6e 73 5b 5d 2c 20 69 6e 74 20 26 20 61 72 67 69 6e 64 20 29 0a ption.options[],.int.&.argind.).
0840 20 20 7b 0a 20 20 75 6e 73 69 67 6e 65 64 20 6c 65 6e 3b 0a 20 20 69 6e 74 20 69 6e 64 65 78 20 ..{...unsigned.len;...int.index.
0860 3d 20 2d 31 3b 0a 20 20 62 6f 6f 6c 20 65 78 61 63 74 20 3d 20 66 61 6c 73 65 2c 20 61 6d 62 69 =.-1;...bool.exact.=.false,.ambi
0880 67 20 3d 20 66 61 6c 73 65 3b 0a 0a 20 20 66 6f 72 28 20 6c 65 6e 20 3d 20 30 3b 20 6f 70 74 5b g.=.false;....for(.len.=.0;.opt[
08a0 6c 65 6e 2b 32 5d 20 26 26 20 6f 70 74 5b 6c 65 6e 2b 32 5d 20 21 3d 20 27 3d 27 3b 20 2b 2b 6c len+2].&&.opt[len+2].!=.'=';.++l
08c0 65 6e 20 29 20 3b 0a 0a 20 20 2f 2f 20 54 65 73 74 20 61 6c 6c 20 6c 6f 6e 67 20 6f 70 74 69 6f en.).;....//.Test.all.long.optio
08e0 6e 73 20 66 6f 72 20 65 69 74 68 65 72 20 65 78 61 63 74 20 6d 61 74 63 68 20 6f 72 20 61 62 62 ns.for.either.exact.match.or.abb
0900 72 65 76 69 61 74 65 64 20 6d 61 74 63 68 65 73 2e 0a 20 20 66 6f 72 28 20 69 6e 74 20 69 20 3d reviated.matches....for(.int.i.=
0920 20 30 3b 20 6f 70 74 69 6f 6e 73 5b 69 5d 2e 63 6f 64 65 20 21 3d 20 30 3b 20 2b 2b 69 20 29 0a .0;.options[i].code.!=.0;.++i.).
0940 20 20 20 20 69 66 28 20 6f 70 74 69 6f 6e 73 5b 69 5d 2e 6e 61 6d 65 20 26 26 20 73 74 64 3a 3a ....if(.options[i].name.&&.std::
0960 73 74 72 6e 63 6d 70 28 20 6f 70 74 69 6f 6e 73 5b 69 5d 2e 6e 61 6d 65 2c 20 26 6f 70 74 5b 32 strncmp(.options[i].name,.&opt[2
0980 5d 2c 20 6c 65 6e 20 29 20 3d 3d 20 30 20 29 0a 20 20 20 20 20 20 7b 0a 20 20 20 20 20 20 69 66 ],.len.).==.0.).......{.......if
09a0 28 20 73 74 64 3a 3a 73 74 72 6c 65 6e 28 20 6f 70 74 69 6f 6e 73 5b 69 5d 2e 6e 61 6d 65 20 29 (.std::strlen(.options[i].name.)
09c0 20 3d 3d 20 6c 65 6e 20 29 09 2f 2f 20 45 78 61 63 74 20 6d 61 74 63 68 20 66 6f 75 6e 64 0a 20 .==.len.).//.Exact.match.found..
09e0 20 20 20 20 20 20 20 7b 20 69 6e 64 65 78 20 3d 20 69 3b 20 65 78 61 63 74 20 3d 20 74 72 75 65 .......{.index.=.i;.exact.=.true
0a00 3b 20 62 72 65 61 6b 3b 20 7d 0a 20 20 20 20 20 20 65 6c 73 65 20 69 66 28 20 69 6e 64 65 78 20 ;.break;.}.......else.if(.index.
0a20 3c 20 30 20 29 20 69 6e 64 65 78 20 3d 20 69 3b 09 09 2f 2f 20 46 69 72 73 74 20 6e 6f 6e 65 78 <.0.).index.=.i;..//.First.nonex
0a40 61 63 74 20 6d 61 74 63 68 20 66 6f 75 6e 64 0a 20 20 20 20 20 20 65 6c 73 65 20 69 66 28 20 6f act.match.found.......else.if(.o
0a60 70 74 69 6f 6e 73 5b 69 6e 64 65 78 5d 2e 63 6f 64 65 20 21 3d 20 6f 70 74 69 6f 6e 73 5b 69 5d ptions[index].code.!=.options[i]
0a80 2e 63 6f 64 65 20 7c 7c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 6f 70 74 69 6f 6e 73 5b .code.||................options[
0aa0 69 6e 64 65 78 5d 2e 68 61 73 5f 61 72 67 20 21 3d 20 6f 70 74 69 6f 6e 73 5b 69 5d 2e 68 61 73 index].has_arg.!=.options[i].has
0ac0 5f 61 72 67 20 29 0a 20 20 20 20 20 20 20 20 61 6d 62 69 67 20 3d 20 74 72 75 65 3b 09 09 2f 2f _arg.).........ambig.=.true;..//
0ae0 20 53 65 63 6f 6e 64 20 6f 72 20 6c 61 74 65 72 20 6e 6f 6e 65 78 61 63 74 20 6d 61 74 63 68 20 .Second.or.later.nonexact.match.
0b00 66 6f 75 6e 64 0a 20 20 20 20 20 20 7d 0a 0a 20 20 69 66 28 20 61 6d 62 69 67 20 26 26 20 21 65 found.......}....if(.ambig.&&.!e
0b20 78 61 63 74 20 29 0a 20 20 20 20 7b 0a 20 20 20 20 65 72 72 6f 72 5f 20 3d 20 22 6f 70 74 69 6f xact.).....{.....error_.=."optio
0b40 6e 20 27 22 3b 20 65 72 72 6f 72 5f 20 2b 3d 20 6f 70 74 3b 20 65 72 72 6f 72 5f 20 2b 3d 20 22 n.'";.error_.+=.opt;.error_.+=."
0b60 27 20 69 73 20 61 6d 62 69 67 75 6f 75 73 22 3b 0a 20 20 20 20 72 65 74 75 72 6e 20 66 61 6c 73 '.is.ambiguous";.....return.fals
0b80 65 3b 0a 20 20 20 20 7d 0a 0a 20 20 69 66 28 20 69 6e 64 65 78 20 3c 20 30 20 29 09 09 2f 2f 20 e;.....}....if(.index.<.0.)..//.
0ba0 6e 6f 74 68 69 6e 67 20 66 6f 75 6e 64 0a 20 20 20 20 7b 0a 20 20 20 20 65 72 72 6f 72 5f 20 3d nothing.found.....{.....error_.=
0bc0 20 22 75 6e 72 65 63 6f 67 6e 69 7a 65 64 20 6f 70 74 69 6f 6e 20 27 22 3b 20 65 72 72 6f 72 5f ."unrecognized.option.'";.error_
0be0 20 2b 3d 20 6f 70 74 3b 20 65 72 72 6f 72 5f 20 2b 3d 20 27 5c 27 27 3b 0a 20 20 20 20 72 65 74 .+=.opt;.error_.+=.'\'';.....ret
0c00 75 72 6e 20 66 61 6c 73 65 3b 0a 20 20 20 20 7d 0a 0a 20 20 2b 2b 61 72 67 69 6e 64 3b 0a 20 20 urn.false;.....}....++argind;...
0c20 64 61 74 61 2e 70 75 73 68 5f 62 61 63 6b 28 20 52 65 63 6f 72 64 28 20 6f 70 74 69 6f 6e 73 5b data.push_back(.Record(.options[
0c40 69 6e 64 65 78 5d 2e 63 6f 64 65 20 29 20 29 3b 0a 0a 20 20 69 66 28 20 6f 70 74 5b 6c 65 6e 2b index].code.).);....if(.opt[len+
0c60 32 5d 20 29 09 09 2f 2f 20 27 2d 2d 3c 6c 6f 6e 67 5f 6f 70 74 69 6f 6e 3e 3d 3c 61 72 67 75 6d 2].)..//.'--<long_option>=<argum
0c80 65 6e 74 3e 27 20 73 79 6e 74 61 78 0a 20 20 20 20 7b 0a 20 20 20 20 69 66 28 20 6f 70 74 69 6f ent>'.syntax.....{.....if(.optio
0ca0 6e 73 5b 69 6e 64 65 78 5d 2e 68 61 73 5f 61 72 67 20 3d 3d 20 6e 6f 20 29 0a 20 20 20 20 20 20 ns[index].has_arg.==.no.).......
0cc0 7b 0a 20 20 20 20 20 20 65 72 72 6f 72 5f 20 3d 20 22 6f 70 74 69 6f 6e 20 27 2d 2d 22 3b 20 65 {.......error_.=."option.'--";.e
0ce0 72 72 6f 72 5f 20 2b 3d 20 6f 70 74 69 6f 6e 73 5b 69 6e 64 65 78 5d 2e 6e 61 6d 65 3b 0a 20 20 rror_.+=.options[index].name;...
0d00 20 20 20 20 65 72 72 6f 72 5f 20 2b 3d 20 22 27 20 64 6f 65 73 6e 27 74 20 61 6c 6c 6f 77 20 61 ....error_.+=."'.doesn't.allow.a
0d20 6e 20 61 72 67 75 6d 65 6e 74 22 3b 0a 20 20 20 20 20 20 72 65 74 75 72 6e 20 66 61 6c 73 65 3b n.argument";.......return.false;
0d40 0a 20 20 20 20 20 20 7d 0a 20 20 20 20 69 66 28 20 6f 70 74 69 6f 6e 73 5b 69 6e 64 65 78 5d 2e .......}.....if(.options[index].
0d60 68 61 73 5f 61 72 67 20 3d 3d 20 79 65 73 20 26 26 20 21 6f 70 74 5b 6c 65 6e 2b 33 5d 20 29 0a has_arg.==.yes.&&.!opt[len+3].).
0d80 20 20 20 20 20 20 7b 0a 20 20 20 20 20 20 65 72 72 6f 72 5f 20 3d 20 22 6f 70 74 69 6f 6e 20 27 ......{.......error_.=."option.'
0da0 2d 2d 22 3b 20 65 72 72 6f 72 5f 20 2b 3d 20 6f 70 74 69 6f 6e 73 5b 69 6e 64 65 78 5d 2e 6e 61 --";.error_.+=.options[index].na
0dc0 6d 65 3b 0a 20 20 20 20 20 20 65 72 72 6f 72 5f 20 2b 3d 20 22 27 20 72 65 71 75 69 72 65 73 20 me;.......error_.+=."'.requires.
0de0 61 6e 20 61 72 67 75 6d 65 6e 74 22 3b 0a 20 20 20 20 20 20 72 65 74 75 72 6e 20 66 61 6c 73 65 an.argument";.......return.false
0e00 3b 0a 20 20 20 20 20 20 7d 0a 20 20 20 20 64 61 74 61 2e 62 61 63 6b 28 29 2e 61 72 67 75 6d 65 ;.......}.....data.back().argume
0e20 6e 74 20 3d 20 26 6f 70 74 5b 6c 65 6e 2b 33 5d 3b 0a 20 20 20 20 72 65 74 75 72 6e 20 74 72 75 nt.=.&opt[len+3];.....return.tru
0e40 65 3b 0a 20 20 20 20 7d 0a 0a 20 20 69 66 28 20 6f 70 74 69 6f 6e 73 5b 69 6e 64 65 78 5d 2e 68 e;.....}....if(.options[index].h
0e60 61 73 5f 61 72 67 20 3d 3d 20 79 65 73 20 29 0a 20 20 20 20 7b 0a 20 20 20 20 69 66 28 20 21 61 as_arg.==.yes.).....{.....if(.!a
0e80 72 67 20 7c 7c 20 21 61 72 67 5b 30 5d 20 29 0a 20 20 20 20 20 20 7b 0a 20 20 20 20 20 20 65 72 rg.||.!arg[0].).......{.......er
0ea0 72 6f 72 5f 20 3d 20 22 6f 70 74 69 6f 6e 20 27 2d 2d 22 3b 20 65 72 72 6f 72 5f 20 2b 3d 20 6f ror_.=."option.'--";.error_.+=.o
0ec0 70 74 69 6f 6e 73 5b 69 6e 64 65 78 5d 2e 6e 61 6d 65 3b 0a 20 20 20 20 20 20 65 72 72 6f 72 5f ptions[index].name;.......error_
0ee0 20 2b 3d 20 22 27 20 72 65 71 75 69 72 65 73 20 61 6e 20 61 72 67 75 6d 65 6e 74 22 3b 0a 20 20 .+=."'.requires.an.argument";...
0f00 20 20 20 20 72 65 74 75 72 6e 20 66 61 6c 73 65 3b 0a 20 20 20 20 20 20 7d 0a 20 20 20 20 2b 2b ....return.false;.......}.....++
0f20 61 72 67 69 6e 64 3b 20 64 61 74 61 2e 62 61 63 6b 28 29 2e 61 72 67 75 6d 65 6e 74 20 3d 20 61 argind;.data.back().argument.=.a
0f40 72 67 3b 0a 20 20 20 20 72 65 74 75 72 6e 20 74 72 75 65 3b 0a 20 20 20 20 7d 0a 0a 20 20 72 65 rg;.....return.true;.....}....re
0f60 74 75 72 6e 20 74 72 75 65 3b 0a 20 20 7d 0a 0a 0a 62 6f 6f 6c 20 41 72 67 5f 70 61 72 73 65 72 turn.true;...}...bool.Arg_parser
0f80 3a 3a 70 61 72 73 65 5f 73 68 6f 72 74 5f 6f 70 74 69 6f 6e 28 20 63 6f 6e 73 74 20 63 68 61 72 ::parse_short_option(.const.char
0fa0 20 2a 20 63 6f 6e 73 74 20 6f 70 74 2c 20 63 6f 6e 73 74 20 63 68 61 72 20 2a 20 63 6f 6e 73 74 .*.const.opt,.const.char.*.const
0fc0 20 61 72 67 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .arg,...........................
0fe0 20 20 20 20 20 20 20 20 20 20 20 63 6f 6e 73 74 20 4f 70 74 69 6f 6e 20 6f 70 74 69 6f 6e 73 5b ...........const.Option.options[
1000 5d 2c 20 69 6e 74 20 26 20 61 72 67 69 6e 64 20 29 0a 20 20 7b 0a 20 20 69 6e 74 20 63 69 6e 64 ],.int.&.argind.)...{...int.cind
1020 20 3d 20 31 3b 09 09 09 2f 2f 20 63 68 61 72 61 63 74 65 72 20 69 6e 64 65 78 20 69 6e 20 6f 70 .=.1;...//.character.index.in.op
1040 74 0a 0a 20 20 77 68 69 6c 65 28 20 63 69 6e 64 20 3e 20 30 20 29 0a 20 20 20 20 7b 0a 20 20 20 t....while(.cind.>.0.).....{....
1060 20 69 6e 74 20 69 6e 64 65 78 20 3d 20 2d 31 3b 0a 20 20 20 20 63 6f 6e 73 74 20 75 6e 73 69 67 .int.index.=.-1;.....const.unsig
1080 6e 65 64 20 63 68 61 72 20 63 20 3d 20 6f 70 74 5b 63 69 6e 64 5d 3b 0a 0a 20 20 20 20 69 66 28 ned.char.c.=.opt[cind];......if(
10a0 20 63 20 21 3d 20 30 20 29 0a 20 20 20 20 20 20 66 6f 72 28 20 69 6e 74 20 69 20 3d 20 30 3b 20 .c.!=.0.).......for(.int.i.=.0;.
10c0 6f 70 74 69 6f 6e 73 5b 69 5d 2e 63 6f 64 65 3b 20 2b 2b 69 20 29 0a 20 20 20 20 20 20 20 20 69 options[i].code;.++i.).........i
10e0 66 28 20 63 20 3d 3d 20 6f 70 74 69 6f 6e 73 5b 69 5d 2e 63 6f 64 65 20 29 0a 20 20 20 20 20 20 f(.c.==.options[i].code.).......
1100 20 20 20 20 7b 20 69 6e 64 65 78 20 3d 20 69 3b 20 62 72 65 61 6b 3b 20 7d 0a 0a 20 20 20 20 69 ....{.index.=.i;.break;.}......i
1120 66 28 20 69 6e 64 65 78 20 3c 20 30 20 29 0a 20 20 20 20 20 20 7b 0a 20 20 20 20 20 20 65 72 72 f(.index.<.0.).......{.......err
1140 6f 72 5f 20 3d 20 22 69 6e 76 61 6c 69 64 20 6f 70 74 69 6f 6e 20 2d 2d 20 27 22 3b 20 65 72 72 or_.=."invalid.option.--.'";.err
1160 6f 72 5f 20 2b 3d 20 63 3b 20 65 72 72 6f 72 5f 20 2b 3d 20 27 5c 27 27 3b 0a 20 20 20 20 20 20 or_.+=.c;.error_.+=.'\'';.......
1180 72 65 74 75 72 6e 20 66 61 6c 73 65 3b 0a 20 20 20 20 20 20 7d 0a 0a 20 20 20 20 64 61 74 61 2e return.false;.......}......data.
11a0 70 75 73 68 5f 62 61 63 6b 28 20 52 65 63 6f 72 64 28 20 63 20 29 20 29 3b 0a 20 20 20 20 69 66 push_back(.Record(.c.).);.....if
11c0 28 20 6f 70 74 5b 2b 2b 63 69 6e 64 5d 20 3d 3d 20 30 20 29 20 7b 20 2b 2b 61 72 67 69 6e 64 3b (.opt[++cind].==.0.).{.++argind;
11e0 20 63 69 6e 64 20 3d 20 30 3b 20 7d 09 2f 2f 20 6f 70 74 20 66 69 6e 69 73 68 65 64 0a 0a 20 20 .cind.=.0;.}.//.opt.finished....
1200 20 20 69 66 28 20 6f 70 74 69 6f 6e 73 5b 69 6e 64 65 78 5d 2e 68 61 73 5f 61 72 67 20 21 3d 20 ..if(.options[index].has_arg.!=.
1220 6e 6f 20 26 26 20 63 69 6e 64 20 3e 20 30 20 26 26 20 6f 70 74 5b 63 69 6e 64 5d 20 29 0a 20 20 no.&&.cind.>.0.&&.opt[cind].)...
1240 20 20 20 20 7b 0a 20 20 20 20 20 20 64 61 74 61 2e 62 61 63 6b 28 29 2e 61 72 67 75 6d 65 6e 74 ....{.......data.back().argument
1260 20 3d 20 26 6f 70 74 5b 63 69 6e 64 5d 3b 20 2b 2b 61 72 67 69 6e 64 3b 20 63 69 6e 64 20 3d 20 .=.&opt[cind];.++argind;.cind.=.
1280 30 3b 0a 20 20 20 20 20 20 7d 0a 20 20 20 20 65 6c 73 65 20 69 66 28 20 6f 70 74 69 6f 6e 73 5b 0;.......}.....else.if(.options[
12a0 69 6e 64 65 78 5d 2e 68 61 73 5f 61 72 67 20 3d 3d 20 79 65 73 20 29 0a 20 20 20 20 20 20 7b 0a index].has_arg.==.yes.).......{.
12c0 20 20 20 20 20 20 69 66 28 20 21 61 72 67 20 7c 7c 20 21 61 72 67 5b 30 5d 20 29 0a 20 20 20 20 ......if(.!arg.||.!arg[0].).....
12e0 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 65 72 72 6f 72 5f 20 3d 20 22 6f 70 74 69 6f 6e 20 72 ....{.........error_.=."option.r
1300 65 71 75 69 72 65 73 20 61 6e 20 61 72 67 75 6d 65 6e 74 20 2d 2d 20 27 22 3b 20 65 72 72 6f 72 equires.an.argument.--.'";.error
1320 5f 20 2b 3d 20 63 3b 0a 20 20 20 20 20 20 20 20 65 72 72 6f 72 5f 20 2b 3d 20 27 5c 27 27 3b 0a _.+=.c;.........error_.+=.'\'';.
1340 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 66 61 6c 73 65 3b 0a 20 20 20 20 20 20 20 20 7d 0a ........return.false;.........}.
1360 20 20 20 20 20 20 64 61 74 61 2e 62 61 63 6b 28 29 2e 61 72 67 75 6d 65 6e 74 20 3d 20 61 72 67 ......data.back().argument.=.arg
1380 3b 20 2b 2b 61 72 67 69 6e 64 3b 20 63 69 6e 64 20 3d 20 30 3b 0a 20 20 20 20 20 20 7d 0a 20 20 ;.++argind;.cind.=.0;.......}...
13a0 20 20 7d 0a 20 20 72 65 74 75 72 6e 20 74 72 75 65 3b 0a 20 20 7d 0a 0a 0a 41 72 67 5f 70 61 72 ..}...return.true;...}...Arg_par
13c0 73 65 72 3a 3a 41 72 67 5f 70 61 72 73 65 72 28 20 63 6f 6e 73 74 20 69 6e 74 20 61 72 67 63 2c ser::Arg_parser(.const.int.argc,
13e0 20 63 6f 6e 73 74 20 63 68 61 72 20 2a 20 63 6f 6e 73 74 20 61 72 67 76 5b 5d 2c 0a 20 20 20 20 .const.char.*.const.argv[],.....
1400 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 63 6f 6e 73 74 20 4f 70 74 69 6f 6e ....................const.Option
1420 20 6f 70 74 69 6f 6e 73 5b 5d 2c 20 63 6f 6e 73 74 20 62 6f 6f 6c 20 69 6e 5f 6f 72 64 65 72 20 .options[],.const.bool.in_order.
1440 29 0a 20 20 7b 0a 20 20 69 66 28 20 61 72 67 63 20 3c 20 32 20 7c 7c 20 21 61 72 67 76 20 7c 7c )...{...if(.argc.<.2.||.!argv.||
1460 20 21 6f 70 74 69 6f 6e 73 20 29 20 72 65 74 75 72 6e 3b 0a 0a 20 20 73 74 64 3a 3a 76 65 63 74 .!options.).return;....std::vect
1480 6f 72 3c 20 63 6f 6e 73 74 20 63 68 61 72 20 2a 20 3e 20 6e 6f 6e 5f 6f 70 74 69 6f 6e 73 3b 09 or<.const.char.*.>.non_options;.
14a0 2f 2f 20 73 6b 69 70 70 65 64 20 6e 6f 6e 2d 6f 70 74 69 6f 6e 73 0a 20 20 69 6e 74 20 61 72 67 //.skipped.non-options...int.arg
14c0 69 6e 64 20 3d 20 31 3b 09 09 09 09 2f 2f 20 69 6e 64 65 78 20 69 6e 20 61 72 67 76 0a 0a 20 20 ind.=.1;....//.index.in.argv....
14e0 77 68 69 6c 65 28 20 61 72 67 69 6e 64 20 3c 20 61 72 67 63 20 29 0a 20 20 20 20 7b 0a 20 20 20 while(.argind.<.argc.).....{....
1500 20 63 6f 6e 73 74 20 75 6e 73 69 67 6e 65 64 20 63 68 61 72 20 63 68 31 20 3d 20 61 72 67 76 5b .const.unsigned.char.ch1.=.argv[
1520 61 72 67 69 6e 64 5d 5b 30 5d 3b 0a 20 20 20 20 63 6f 6e 73 74 20 75 6e 73 69 67 6e 65 64 20 63 argind][0];.....const.unsigned.c
1540 68 61 72 20 63 68 32 20 3d 20 63 68 31 20 3f 20 61 72 67 76 5b 61 72 67 69 6e 64 5d 5b 31 5d 20 har.ch2.=.ch1.?.argv[argind][1].
1560 3a 20 30 3b 0a 0a 20 20 20 20 69 66 28 20 63 68 31 20 3d 3d 20 27 2d 27 20 26 26 20 63 68 32 20 :.0;......if(.ch1.==.'-'.&&.ch2.
1580 29 09 09 2f 2f 20 77 65 20 66 6f 75 6e 64 20 61 6e 20 6f 70 74 69 6f 6e 0a 20 20 20 20 20 20 7b )..//.we.found.an.option.......{
15a0 0a 20 20 20 20 20 20 63 6f 6e 73 74 20 63 68 61 72 20 2a 20 63 6f 6e 73 74 20 6f 70 74 20 3d 20 .......const.char.*.const.opt.=.
15c0 61 72 67 76 5b 61 72 67 69 6e 64 5d 3b 0a 20 20 20 20 20 20 63 6f 6e 73 74 20 63 68 61 72 20 2a argv[argind];.......const.char.*
15e0 20 63 6f 6e 73 74 20 61 72 67 20 3d 20 28 20 61 72 67 69 6e 64 20 2b 20 31 20 3c 20 61 72 67 63 .const.arg.=.(.argind.+.1.<.argc
1600 20 29 20 3f 20 61 72 67 76 5b 61 72 67 69 6e 64 2b 31 5d 20 3a 20 30 3b 0a 20 20 20 20 20 20 69 .).?.argv[argind+1].:.0;.......i
1620 66 28 20 63 68 32 20 3d 3d 20 27 2d 27 20 29 0a 20 20 20 20 20 20 20 20 7b 0a 20 20 20 20 20 20 f(.ch2.==.'-'.).........{.......
1640 20 20 69 66 28 20 21 61 72 67 76 5b 61 72 67 69 6e 64 5d 5b 32 5d 20 29 20 7b 20 2b 2b 61 72 67 ..if(.!argv[argind][2].).{.++arg
1660 69 6e 64 3b 20 62 72 65 61 6b 3b 20 7d 09 2f 2f 20 77 65 20 66 6f 75 6e 64 20 22 2d 2d 22 0a 20 ind;.break;.}.//.we.found."--"..
1680 20 20 20 20 20 20 20 65 6c 73 65 20 69 66 28 20 21 70 61 72 73 65 5f 6c 6f 6e 67 5f 6f 70 74 69 .......else.if(.!parse_long_opti
16a0 6f 6e 28 20 6f 70 74 2c 20 61 72 67 2c 20 6f 70 74 69 6f 6e 73 2c 20 61 72 67 69 6e 64 20 29 20 on(.opt,.arg,.options,.argind.).
16c0 29 20 62 72 65 61 6b 3b 0a 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 65 6c 73 65 20 69 66 ).break;.........}.......else.if
16e0 28 20 21 70 61 72 73 65 5f 73 68 6f 72 74 5f 6f 70 74 69 6f 6e 28 20 6f 70 74 2c 20 61 72 67 2c (.!parse_short_option(.opt,.arg,
1700 20 6f 70 74 69 6f 6e 73 2c 20 61 72 67 69 6e 64 20 29 20 29 20 62 72 65 61 6b 3b 0a 20 20 20 20 .options,.argind.).).break;.....
1720 20 20 7d 0a 20 20 20 20 65 6c 73 65 0a 20 20 20 20 20 20 7b 0a 20 20 20 20 20 20 69 66 28 20 69 ..}.....else.......{.......if(.i
1740 6e 5f 6f 72 64 65 72 20 29 20 64 61 74 61 2e 70 75 73 68 5f 62 61 63 6b 28 20 52 65 63 6f 72 64 n_order.).data.push_back(.Record
1760 28 20 61 72 67 76 5b 61 72 67 69 6e 64 2b 2b 5d 20 29 20 29 3b 0a 20 20 20 20 20 20 65 6c 73 65 (.argv[argind++].).);.......else
1780 20 6e 6f 6e 5f 6f 70 74 69 6f 6e 73 2e 70 75 73 68 5f 62 61 63 6b 28 20 61 72 67 76 5b 61 72 67 .non_options.push_back(.argv[arg
17a0 69 6e 64 2b 2b 5d 20 29 3b 0a 20 20 20 20 20 20 7d 0a 20 20 20 20 7d 0a 20 20 69 66 28 20 21 65 ind++].);.......}.....}...if(.!e
17c0 72 72 6f 72 5f 2e 65 6d 70 74 79 28 29 20 29 20 64 61 74 61 2e 63 6c 65 61 72 28 29 3b 0a 20 20 rror_.empty().).data.clear();...
17e0 65 6c 73 65 0a 20 20 20 20 7b 0a 20 20 20 20 66 6f 72 28 20 75 6e 73 69 67 6e 65 64 20 69 20 3d else.....{.....for(.unsigned.i.=
1800 20 30 3b 20 69 20 3c 20 6e 6f 6e 5f 6f 70 74 69 6f 6e 73 2e 73 69 7a 65 28 29 3b 20 2b 2b 69 20 .0;.i.<.non_options.size();.++i.
1820 29 0a 20 20 20 20 20 20 64 61 74 61 2e 70 75 73 68 5f 62 61 63 6b 28 20 52 65 63 6f 72 64 28 20 ).......data.push_back(.Record(.
1840 6e 6f 6e 5f 6f 70 74 69 6f 6e 73 5b 69 5d 20 29 20 29 3b 0a 20 20 20 20 77 68 69 6c 65 28 20 61 non_options[i].).);.....while(.a
1860 72 67 69 6e 64 20 3c 20 61 72 67 63 20 29 0a 20 20 20 20 20 20 64 61 74 61 2e 70 75 73 68 5f 62 rgind.<.argc.).......data.push_b
1880 61 63 6b 28 20 52 65 63 6f 72 64 28 20 61 72 67 76 5b 61 72 67 69 6e 64 2b 2b 5d 20 29 20 29 3b ack(.Record(.argv[argind++].).);
18a0 0a 20 20 20 20 7d 0a 20 20 7d 0a 0a 0a 41 72 67 5f 70 61 72 73 65 72 3a 3a 41 72 67 5f 70 61 72 .....}...}...Arg_parser::Arg_par
18c0 73 65 72 28 20 63 6f 6e 73 74 20 63 68 61 72 20 2a 20 63 6f 6e 73 74 20 6f 70 74 2c 20 63 6f 6e ser(.const.char.*.const.opt,.con
18e0 73 74 20 63 68 61 72 20 2a 20 63 6f 6e 73 74 20 61 72 67 2c 0a 20 20 20 20 20 20 20 20 20 20 20 st.char.*.const.arg,............
1900 20 20 20 20 20 20 20 20 20 20 20 20 20 63 6f 6e 73 74 20 4f 70 74 69 6f 6e 20 6f 70 74 69 6f 6e .............const.Option.option
1920 73 5b 5d 20 29 0a 20 20 7b 0a 20 20 69 66 28 20 21 6f 70 74 20 7c 7c 20 21 6f 70 74 5b 30 5d 20 s[].)...{...if(.!opt.||.!opt[0].
1940 7c 7c 20 21 6f 70 74 69 6f 6e 73 20 29 20 72 65 74 75 72 6e 3b 0a 0a 20 20 69 66 28 20 6f 70 74 ||.!options.).return;....if(.opt
1960 5b 30 5d 20 3d 3d 20 27 2d 27 20 26 26 20 6f 70 74 5b 31 5d 20 29 09 09 2f 2f 20 77 65 20 66 6f [0].==.'-'.&&.opt[1].)..//.we.fo
1980 75 6e 64 20 61 6e 20 6f 70 74 69 6f 6e 0a 20 20 20 20 7b 0a 20 20 20 20 69 6e 74 20 61 72 67 69 und.an.option.....{.....int.argi
19a0 6e 64 20 3d 20 31 3b 09 09 09 2f 2f 20 64 75 6d 6d 79 0a 20 20 20 20 69 66 28 20 6f 70 74 5b 31 nd.=.1;...//.dummy.....if(.opt[1
19c0 5d 20 3d 3d 20 27 2d 27 20 29 0a 20 20 20 20 20 20 7b 20 69 66 28 20 6f 70 74 5b 32 5d 20 29 20 ].==.'-'.).......{.if(.opt[2].).
19e0 70 61 72 73 65 5f 6c 6f 6e 67 5f 6f 70 74 69 6f 6e 28 20 6f 70 74 2c 20 61 72 67 2c 20 6f 70 74 parse_long_option(.opt,.arg,.opt
1a00 69 6f 6e 73 2c 20 61 72 67 69 6e 64 20 29 3b 20 7d 0a 20 20 20 20 65 6c 73 65 0a 20 20 20 20 20 ions,.argind.);.}.....else......
1a20 20 70 61 72 73 65 5f 73 68 6f 72 74 5f 6f 70 74 69 6f 6e 28 20 6f 70 74 2c 20 61 72 67 2c 20 6f .parse_short_option(.opt,.arg,.o
1a40 70 74 69 6f 6e 73 2c 20 61 72 67 69 6e 64 20 29 3b 0a 20 20 20 20 69 66 28 20 21 65 72 72 6f 72 ptions,.argind.);.....if(.!error
1a60 5f 2e 65 6d 70 74 79 28 29 20 29 20 64 61 74 61 2e 63 6c 65 61 72 28 29 3b 0a 20 20 20 20 7d 0a _.empty().).data.clear();.....}.
1a80 20 20 65 6c 73 65 20 64 61 74 61 2e 70 75 73 68 5f 62 61 63 6b 28 20 52 65 63 6f 72 64 28 20 6f ..else.data.push_back(.Record(.o
1aa0 70 74 20 29 20 29 3b 0a 20 20 7d 0a 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 pt.).);...}.....................
1ac0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1ae0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1b00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1b20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1b40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1b60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1b80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1ba0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1bc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1be0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1c00 6c 7a 69 70 2d 31 2e 32 32 2f 6d 61 69 6e 2e 63 63 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 lzip-1.22/main.cc...............
1c20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1c40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1c60 00 00 00 00 30 30 30 30 36 34 34 00 30 30 30 30 30 30 30 00 30 30 30 30 30 30 30 00 30 30 30 30 ....0000644.0000000.0000000.0000
1c80 30 31 30 37 37 33 31 00 31 33 37 37 33 36 33 31 30 32 36 00 30 31 33 36 36 36 00 20 30 00 00 00 0107731.13773631026.013666..0...
1ca0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1cc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1ce0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1d00 00 75 73 74 61 72 00 30 30 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .ustar.00root...................
1d20 00 00 00 00 00 00 00 00 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .........root...................
1d40 00 00 00 00 00 00 00 00 00 30 30 30 30 30 30 30 00 30 30 30 30 30 30 30 00 00 00 00 00 00 00 00 .........0000000.0000000........
1d60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1d80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1da0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1dc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1de0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1e00 2f 2a 20 4c 7a 69 70 20 2d 20 4c 5a 4d 41 20 6c 6f 73 73 6c 65 73 73 20 64 61 74 61 20 63 6f 6d /*.Lzip.-.LZMA.lossless.data.com
1e20 70 72 65 73 73 6f 72 0a 20 20 20 43 6f 70 79 72 69 67 68 74 20 28 43 29 20 32 30 30 38 2d 32 30 pressor....Copyright.(C).2008-20
1e40 32 31 20 41 6e 74 6f 6e 69 6f 20 44 69 61 7a 20 44 69 61 7a 2e 0a 0a 20 20 20 54 68 69 73 20 70 21.Antonio.Diaz.Diaz......This.p
1e60 72 6f 67 72 61 6d 20 69 73 20 66 72 65 65 20 73 6f 66 74 77 61 72 65 3a 20 79 6f 75 20 63 61 6e rogram.is.free.software:.you.can
1e80 20 72 65 64 69 73 74 72 69 62 75 74 65 20 69 74 20 61 6e 64 2f 6f 72 20 6d 6f 64 69 66 79 0a 20 .redistribute.it.and/or.modify..
1ea0 20 20 69 74 20 75 6e 64 65 72 20 74 68 65 20 74 65 72 6d 73 20 6f 66 20 74 68 65 20 47 4e 55 20 ..it.under.the.terms.of.the.GNU.
1ec0 47 65 6e 65 72 61 6c 20 50 75 62 6c 69 63 20 4c 69 63 65 6e 73 65 20 61 73 20 70 75 62 6c 69 73 General.Public.License.as.publis
1ee0 68 65 64 20 62 79 0a 20 20 20 74 68 65 20 46 72 65 65 20 53 6f 66 74 77 61 72 65 20 46 6f 75 6e hed.by....the.Free.Software.Foun
1f00 64 61 74 69 6f 6e 2c 20 65 69 74 68 65 72 20 76 65 72 73 69 6f 6e 20 32 20 6f 66 20 74 68 65 20 dation,.either.version.2.of.the.
1f20 4c 69 63 65 6e 73 65 2c 20 6f 72 0a 20 20 20 28 61 74 20 79 6f 75 72 20 6f 70 74 69 6f 6e 29 20 License,.or....(at.your.option).
1f40 61 6e 79 20 6c 61 74 65 72 20 76 65 72 73 69 6f 6e 2e 0a 0a 20 20 20 54 68 69 73 20 70 72 6f 67 any.later.version......This.prog
1f60 72 61 6d 20 69 73 20 64 69 73 74 72 69 62 75 74 65 64 20 69 6e 20 74 68 65 20 68 6f 70 65 20 74 ram.is.distributed.in.the.hope.t
1f80 68 61 74 20 69 74 20 77 69 6c 6c 20 62 65 20 75 73 65 66 75 6c 2c 0a 20 20 20 62 75 74 20 57 49 hat.it.will.be.useful,....but.WI
1fa0 54 48 4f 55 54 20 41 4e 59 20 57 41 52 52 41 4e 54 59 3b 20 77 69 74 68 6f 75 74 20 65 76 65 6e THOUT.ANY.WARRANTY;.without.even
1fc0 20 74 68 65 20 69 6d 70 6c 69 65 64 20 77 61 72 72 61 6e 74 79 20 6f 66 0a 20 20 20 4d 45 52 43 .the.implied.warranty.of....MERC
1fe0 48 41 4e 54 41 42 49 4c 49 54 59 20 6f 72 20 46 49 54 4e 45 53 53 20 46 4f 52 20 41 20 50 41 52 HANTABILITY.or.FITNESS.FOR.A.PAR
2000 54 49 43 55 4c 41 52 20 50 55 52 50 4f 53 45 2e 20 20 53 65 65 20 74 68 65 0a 20 20 20 47 4e 55 TICULAR.PURPOSE...See.the....GNU
2020 20 47 65 6e 65 72 61 6c 20 50 75 62 6c 69 63 20 4c 69 63 65 6e 73 65 20 66 6f 72 20 6d 6f 72 65 .General.Public.License.for.more
2040 20 64 65 74 61 69 6c 73 2e 0a 0a 20 20 20 59 6f 75 20 73 68 6f 75 6c 64 20 68 61 76 65 20 72 65 .details......You.should.have.re
2060 63 65 69 76 65 64 20 61 20 63 6f 70 79 20 6f 66 20 74 68 65 20 47 4e 55 20 47 65 6e 65 72 61 6c ceived.a.copy.of.the.GNU.General
2080 20 50 75 62 6c 69 63 20 4c 69 63 65 6e 73 65 0a 20 20 20 61 6c 6f 6e 67 20 77 69 74 68 20 74 68 .Public.License....along.with.th
20a0 69 73 20 70 72 6f 67 72 61 6d 2e 20 20 49 66 20 6e 6f 74 2c 20 73 65 65 20 3c 68 74 74 70 3a 2f is.program...If.not,.see.<http:/
20c0 2f 77 77 77 2e 67 6e 75 2e 6f 72 67 2f 6c 69 63 65 6e 73 65 73 2f 3e 2e 0a 2a 2f 0a 2f 2a 0a 20 /www.gnu.org/licenses/>..*/./*..
20e0 20 20 45 78 69 74 20 73 74 61 74 75 73 3a 20 30 20 66 6f 72 20 61 20 6e 6f 72 6d 61 6c 20 65 78 ..Exit.status:.0.for.a.normal.ex
2100 69 74 2c 20 31 20 66 6f 72 20 65 6e 76 69 72 6f 6e 6d 65 6e 74 61 6c 20 70 72 6f 62 6c 65 6d 73 it,.1.for.environmental.problems
2120 0a 20 20 20 28 66 69 6c 65 20 6e 6f 74 20 66 6f 75 6e 64 2c 20 69 6e 76 61 6c 69 64 20 66 6c 61 ....(file.not.found,.invalid.fla
2140 67 73 2c 20 49 2f 4f 20 65 72 72 6f 72 73 2c 20 65 74 63 29 2c 20 32 20 74 6f 20 69 6e 64 69 63 gs,.I/O.errors,.etc),.2.to.indic
2160 61 74 65 20 61 0a 20 20 20 63 6f 72 72 75 70 74 20 6f 72 20 69 6e 76 61 6c 69 64 20 69 6e 70 75 ate.a....corrupt.or.invalid.inpu
2180 74 20 66 69 6c 65 2c 20 33 20 66 6f 72 20 61 6e 20 69 6e 74 65 72 6e 61 6c 20 63 6f 6e 73 69 73 t.file,.3.for.an.internal.consis
21a0 74 65 6e 63 79 20 65 72 72 6f 72 0a 20 20 20 28 65 67 2c 20 62 75 67 29 20 77 68 69 63 68 20 63 tency.error....(eg,.bug).which.c
21c0 61 75 73 65 64 20 6c 7a 69 70 20 74 6f 20 70 61 6e 69 63 2e 0a 2a 2f 0a 0a 23 64 65 66 69 6e 65 aused.lzip.to.panic..*/..#define
21e0 20 5f 46 49 4c 45 5f 4f 46 46 53 45 54 5f 42 49 54 53 20 36 34 0a 0a 23 69 6e 63 6c 75 64 65 20 ._FILE_OFFSET_BITS.64..#include.
2200 3c 61 6c 67 6f 72 69 74 68 6d 3e 0a 23 69 6e 63 6c 75 64 65 20 3c 63 63 74 79 70 65 3e 0a 23 69 <algorithm>.#include.<cctype>.#i
2220 6e 63 6c 75 64 65 20 3c 63 65 72 72 6e 6f 3e 0a 23 69 6e 63 6c 75 64 65 20 3c 63 6c 69 6d 69 74 nclude.<cerrno>.#include.<climit
2240 73 3e 0a 23 69 6e 63 6c 75 64 65 20 3c 63 73 69 67 6e 61 6c 3e 0a 23 69 6e 63 6c 75 64 65 20 3c s>.#include.<csignal>.#include.<
2260 63 73 74 64 69 6f 3e 0a 23 69 6e 63 6c 75 64 65 20 3c 63 73 74 64 6c 69 62 3e 0a 23 69 6e 63 6c cstdio>.#include.<cstdlib>.#incl
2280 75 64 65 20 3c 63 73 74 72 69 6e 67 3e 0a 23 69 6e 63 6c 75 64 65 20 3c 6e 65 77 3e 0a 23 69 6e ude.<cstring>.#include.<new>.#in
22a0 63 6c 75 64 65 20 3c 73 74 72 69 6e 67 3e 0a 23 69 6e 63 6c 75 64 65 20 3c 76 65 63 74 6f 72 3e clude.<string>.#include.<vector>
22c0 0a 23 69 6e 63 6c 75 64 65 20 3c 66 63 6e 74 6c 2e 68 3e 0a 23 69 6e 63 6c 75 64 65 20 3c 73 74 .#include.<fcntl.h>.#include.<st
22e0 64 69 6e 74 2e 68 3e 0a 23 69 6e 63 6c 75 64 65 20 3c 75 6e 69 73 74 64 2e 68 3e 0a 23 69 6e 63 dint.h>.#include.<unistd.h>.#inc
2300 6c 75 64 65 20 3c 75 74 69 6d 65 2e 68 3e 0a 23 69 6e 63 6c 75 64 65 20 3c 73 79 73 2f 73 74 61 lude.<utime.h>.#include.<sys/sta
2320 74 2e 68 3e 0a 23 69 66 20 64 65 66 69 6e 65 64 28 5f 5f 4d 53 56 43 52 54 5f 5f 29 20 7c 7c 20 t.h>.#if.defined(__MSVCRT__).||.
2340 64 65 66 69 6e 65 64 28 5f 5f 4f 53 32 5f 5f 29 20 7c 7c 20 64 65 66 69 6e 65 64 28 5f 5f 44 4a defined(__OS2__).||.defined(__DJ
2360 47 50 50 5f 5f 29 0a 23 69 6e 63 6c 75 64 65 20 3c 69 6f 2e 68 3e 0a 23 69 66 20 64 65 66 69 6e GPP__).#include.<io.h>.#if.defin
2380 65 64 28 5f 5f 4d 53 56 43 52 54 5f 5f 29 0a 23 64 65 66 69 6e 65 20 66 63 68 6d 6f 64 28 78 2c ed(__MSVCRT__).#define.fchmod(x,
23a0 79 29 20 30 0a 23 64 65 66 69 6e 65 20 66 63 68 6f 77 6e 28 78 2c 79 2c 7a 29 20 30 0a 23 64 65 y).0.#define.fchown(x,y,z).0.#de
23c0 66 69 6e 65 20 73 74 72 74 6f 75 6c 6c 20 73 74 64 3a 3a 73 74 72 74 6f 75 6c 0a 23 64 65 66 69 fine.strtoull.std::strtoul.#defi
23e0 6e 65 20 53 49 47 48 55 50 20 53 49 47 54 45 52 4d 0a 23 64 65 66 69 6e 65 20 53 5f 49 53 53 4f ne.SIGHUP.SIGTERM.#define.S_ISSO
2400 43 4b 28 78 29 20 30 0a 23 69 66 6e 64 65 66 20 53 5f 49 52 47 52 50 0a 23 64 65 66 69 6e 65 20 CK(x).0.#ifndef.S_IRGRP.#define.
2420 53 5f 49 52 47 52 50 20 30 0a 23 64 65 66 69 6e 65 20 53 5f 49 57 47 52 50 20 30 0a 23 64 65 66 S_IRGRP.0.#define.S_IWGRP.0.#def
2440 69 6e 65 20 53 5f 49 52 4f 54 48 20 30 0a 23 64 65 66 69 6e 65 20 53 5f 49 57 4f 54 48 20 30 0a ine.S_IROTH.0.#define.S_IWOTH.0.
2460 23 65 6e 64 69 66 0a 23 65 6e 64 69 66 0a 23 69 66 20 64 65 66 69 6e 65 64 28 5f 5f 44 4a 47 50 #endif.#endif.#if.defined(__DJGP
2480 50 5f 5f 29 0a 23 64 65 66 69 6e 65 20 53 5f 49 53 53 4f 43 4b 28 78 29 20 30 0a 23 64 65 66 69 P__).#define.S_ISSOCK(x).0.#defi
24a0 6e 65 20 53 5f 49 53 56 54 58 20 30 0a 23 65 6e 64 69 66 0a 23 65 6e 64 69 66 0a 0a 23 69 6e 63 ne.S_ISVTX.0.#endif.#endif..#inc
24c0 6c 75 64 65 20 22 61 72 67 5f 70 61 72 73 65 72 2e 68 22 0a 23 69 6e 63 6c 75 64 65 20 22 6c 7a lude."arg_parser.h".#include."lz
24e0 69 70 2e 68 22 0a 23 69 6e 63 6c 75 64 65 20 22 64 65 63 6f 64 65 72 2e 68 22 0a 23 69 6e 63 6c ip.h".#include."decoder.h".#incl
2500 75 64 65 20 22 65 6e 63 6f 64 65 72 5f 62 61 73 65 2e 68 22 0a 23 69 6e 63 6c 75 64 65 20 22 65 ude."encoder_base.h".#include."e
2520 6e 63 6f 64 65 72 2e 68 22 0a 23 69 6e 63 6c 75 64 65 20 22 66 61 73 74 5f 65 6e 63 6f 64 65 72 ncoder.h".#include."fast_encoder
2540 2e 68 22 0a 0a 23 69 66 6e 64 65 66 20 4f 5f 42 49 4e 41 52 59 0a 23 64 65 66 69 6e 65 20 4f 5f .h"..#ifndef.O_BINARY.#define.O_
2560 42 49 4e 41 52 59 20 30 0a 23 65 6e 64 69 66 0a 0a 23 69 66 20 43 48 41 52 5f 42 49 54 20 21 3d BINARY.0.#endif..#if.CHAR_BIT.!=
2580 20 38 0a 23 65 72 72 6f 72 20 22 45 6e 76 69 72 6f 6e 6d 65 6e 74 73 20 77 68 65 72 65 20 43 48 .8.#error."Environments.where.CH
25a0 41 52 5f 42 49 54 20 21 3d 20 38 20 61 72 65 20 6e 6f 74 20 73 75 70 70 6f 72 74 65 64 2e 22 0a AR_BIT.!=.8.are.not.supported.".
25c0 23 65 6e 64 69 66 0a 0a 69 6e 74 20 76 65 72 62 6f 73 69 74 79 20 3d 20 30 3b 0a 0a 6e 61 6d 65 #endif..int.verbosity.=.0;..name
25e0 73 70 61 63 65 20 7b 0a 0a 63 6f 6e 73 74 20 63 68 61 72 20 2a 20 63 6f 6e 73 74 20 70 72 6f 67 space.{..const.char.*.const.prog
2600 72 61 6d 5f 6e 61 6d 65 20 3d 20 22 6c 7a 69 70 22 3b 0a 63 6f 6e 73 74 20 63 68 61 72 20 2a 20 ram_name.=."lzip";.const.char.*.
2620 63 6f 6e 73 74 20 70 72 6f 67 72 61 6d 5f 79 65 61 72 20 3d 20 22 32 30 32 31 22 3b 0a 63 6f 6e const.program_year.=."2021";.con
2640 73 74 20 63 68 61 72 20 2a 20 69 6e 76 6f 63 61 74 69 6f 6e 5f 6e 61 6d 65 20 3d 20 70 72 6f 67 st.char.*.invocation_name.=.prog
2660 72 61 6d 5f 6e 61 6d 65 3b 09 09 2f 2f 20 64 65 66 61 75 6c 74 20 76 61 6c 75 65 0a 0a 63 6f 6e ram_name;..//.default.value..con
2680 73 74 20 73 74 72 75 63 74 20 7b 20 63 6f 6e 73 74 20 63 68 61 72 20 2a 20 66 72 6f 6d 3b 20 63 st.struct.{.const.char.*.from;.c
26a0 6f 6e 73 74 20 63 68 61 72 20 2a 20 74 6f 3b 20 7d 20 6b 6e 6f 77 6e 5f 65 78 74 65 6e 73 69 6f onst.char.*.to;.}.known_extensio
26c0 6e 73 5b 5d 20 3d 20 7b 0a 20 20 7b 20 22 2e 6c 7a 22 2c 20 20 22 22 20 20 20 20 20 7d 2c 0a 20 ns[].=.{...{.".lz",.."".....},..
26e0 20 7b 20 22 2e 74 6c 7a 22 2c 20 22 2e 74 61 72 22 20 7d 2c 0a 20 20 7b 20 30 2c 20 20 20 20 20 .{.".tlz",.".tar".},...{.0,.....
2700 20 30 20 20 20 20 20 20 7d 20 7d 3b 0a 0a 73 74 72 75 63 74 20 4c 7a 6d 61 5f 6f 70 74 69 6f 6e .0......}.};..struct.Lzma_option
2720 73 0a 20 20 7b 0a 20 20 69 6e 74 20 64 69 63 74 69 6f 6e 61 72 79 5f 73 69 7a 65 3b 09 09 2f 2f s...{...int.dictionary_size;..//
2740 20 34 20 4b 69 42 20 2e 2e 20 35 31 32 20 4d 69 42 0a 20 20 69 6e 74 20 6d 61 74 63 68 5f 6c 65 .4.KiB....512.MiB...int.match_le
2760 6e 5f 6c 69 6d 69 74 3b 09 09 2f 2f 20 35 20 2e 2e 20 32 37 33 0a 20 20 7d 3b 0a 0a 65 6e 75 6d n_limit;..//.5....273...};..enum
2780 20 4d 6f 64 65 20 7b 20 6d 5f 63 6f 6d 70 72 65 73 73 2c 20 6d 5f 64 65 63 6f 6d 70 72 65 73 73 .Mode.{.m_compress,.m_decompress
27a0 2c 20 6d 5f 6c 69 73 74 2c 20 6d 5f 74 65 73 74 20 7d 3b 0a 0a 2f 2a 20 56 61 72 69 61 62 6c 65 ,.m_list,.m_test.};../*.Variable
27c0 73 20 75 73 65 64 20 69 6e 20 73 69 67 6e 61 6c 20 68 61 6e 64 6c 65 72 20 63 6f 6e 74 65 78 74 s.used.in.signal.handler.context
27e0 2e 0a 20 20 20 54 68 65 79 20 61 72 65 20 6e 6f 74 20 64 65 63 6c 61 72 65 64 20 76 6f 6c 61 74 .....They.are.not.declared.volat
2800 69 6c 65 20 62 65 63 61 75 73 65 20 74 68 65 20 68 61 6e 64 6c 65 72 20 6e 65 76 65 72 20 72 65 ile.because.the.handler.never.re
2820 74 75 72 6e 73 2e 20 2a 2f 0a 73 74 64 3a 3a 73 74 72 69 6e 67 20 6f 75 74 70 75 74 5f 66 69 6c turns..*/.std::string.output_fil
2840 65 6e 61 6d 65 3b 0a 69 6e 74 20 6f 75 74 66 64 20 3d 20 2d 31 3b 0a 62 6f 6f 6c 20 64 65 6c 65 ename;.int.outfd.=.-1;.bool.dele
2860 74 65 5f 6f 75 74 70 75 74 5f 6f 6e 5f 69 6e 74 65 72 72 75 70 74 20 3d 20 66 61 6c 73 65 3b 0a te_output_on_interrupt.=.false;.
2880 0a 0a 76 6f 69 64 20 73 68 6f 77 5f 68 65 6c 70 28 29 0a 20 20 7b 0a 20 20 73 74 64 3a 3a 70 72 ..void.show_help()...{...std::pr
28a0 69 6e 74 66 28 20 22 4c 7a 69 70 20 69 73 20 61 20 6c 6f 73 73 6c 65 73 73 20 64 61 74 61 20 63 intf(."Lzip.is.a.lossless.data.c
28c0 6f 6d 70 72 65 73 73 6f 72 20 77 69 74 68 20 61 20 75 73 65 72 20 69 6e 74 65 72 66 61 63 65 20 ompressor.with.a.user.interface.
28e0 73 69 6d 69 6c 61 72 20 74 6f 20 74 68 65 20 6f 6e 65 5c 6e 22 0a 20 20 20 20 20 20 20 20 20 20 similar.to.the.one\n"...........
2900 20 20 20 20 20 22 6f 66 20 67 7a 69 70 20 6f 72 20 62 7a 69 70 32 2e 20 4c 7a 69 70 20 75 73 65 ....."of.gzip.or.bzip2..Lzip.use
2920 73 20 61 20 73 69 6d 70 6c 69 66 69 65 64 20 66 6f 72 6d 20 6f 66 20 74 68 65 20 27 4c 65 6d 70 s.a.simplified.form.of.the.'Lemp
2940 65 6c 2d 5a 69 76 2d 4d 61 72 6b 6f 76 5c 6e 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 el-Ziv-Markov\n"................
2960 22 63 68 61 69 6e 2d 41 6c 67 6f 72 69 74 68 6d 27 20 28 4c 5a 4d 41 29 20 73 74 72 65 61 6d 20 "chain-Algorithm'.(LZMA).stream.
2980 66 6f 72 6d 61 74 2c 20 63 68 6f 73 65 6e 20 74 6f 20 6d 61 78 69 6d 69 7a 65 20 73 61 66 65 74 format,.chosen.to.maximize.safet
29a0 79 20 61 6e 64 5c 6e 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 69 6e 74 65 72 6f 70 y.and\n"................"interop
29c0 65 72 61 62 69 6c 69 74 79 2e 20 4c 7a 69 70 20 63 61 6e 20 63 6f 6d 70 72 65 73 73 20 61 62 6f erability..Lzip.can.compress.abo
29e0 75 74 20 61 73 20 66 61 73 74 20 61 73 20 67 7a 69 70 20 28 6c 7a 69 70 20 2d 30 29 20 6f 72 5c ut.as.fast.as.gzip.(lzip.-0).or\
2a00 6e 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 63 6f 6d 70 72 65 73 73 20 6d 6f 73 74 n"................"compress.most
2a20 20 66 69 6c 65 73 20 6d 6f 72 65 20 74 68 61 6e 20 62 7a 69 70 32 20 28 6c 7a 69 70 20 2d 39 29 .files.more.than.bzip2.(lzip.-9)
2a40 2e 20 44 65 63 6f 6d 70 72 65 73 73 69 6f 6e 20 73 70 65 65 64 20 69 73 5c 6e 22 0a 20 20 20 20 ..Decompression.speed.is\n".....
2a60 20 20 20 20 20 20 20 20 20 20 20 22 69 6e 74 65 72 6d 65 64 69 61 74 65 20 62 65 74 77 65 65 6e ..........."intermediate.between
2a80 20 67 7a 69 70 20 61 6e 64 20 62 7a 69 70 32 2e 20 4c 7a 69 70 20 69 73 20 62 65 74 74 65 72 20 .gzip.and.bzip2..Lzip.is.better.
2aa0 74 68 61 6e 20 67 7a 69 70 20 61 6e 64 20 62 7a 69 70 32 20 66 72 6f 6d 5c 6e 22 0a 20 20 20 20 than.gzip.and.bzip2.from\n".....
2ac0 20 20 20 20 20 20 20 20 20 20 20 22 61 20 64 61 74 61 20 72 65 63 6f 76 65 72 79 20 70 65 72 73 ..........."a.data.recovery.pers
2ae0 70 65 63 74 69 76 65 2e 20 4c 7a 69 70 20 68 61 73 20 62 65 65 6e 20 64 65 73 69 67 6e 65 64 2c pective..Lzip.has.been.designed,
2b00 20 77 72 69 74 74 65 6e 2c 20 61 6e 64 20 74 65 73 74 65 64 5c 6e 22 0a 20 20 20 20 20 20 20 20 .written,.and.tested\n".........
2b20 20 20 20 20 20 20 20 22 77 69 74 68 20 67 72 65 61 74 20 63 61 72 65 20 74 6f 20 72 65 70 6c 61 ......."with.great.care.to.repla
2b40 63 65 20 67 7a 69 70 20 61 6e 64 20 62 7a 69 70 32 20 61 73 20 74 68 65 20 73 74 61 6e 64 61 72 ce.gzip.and.bzip2.as.the.standar
2b60 64 20 67 65 6e 65 72 61 6c 2d 70 75 72 70 6f 73 65 5c 6e 22 0a 20 20 20 20 20 20 20 20 20 20 20 d.general-purpose\n"............
2b80 20 20 20 20 22 63 6f 6d 70 72 65 73 73 65 64 20 66 6f 72 6d 61 74 20 66 6f 72 20 75 6e 69 78 2d ...."compressed.format.for.unix-
2ba0 6c 69 6b 65 20 73 79 73 74 65 6d 73 2e 5c 6e 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 like.systems.\n"................
2bc0 22 5c 6e 55 73 61 67 65 3a 20 25 73 20 5b 6f 70 74 69 6f 6e 73 5d 20 5b 66 69 6c 65 73 5d 5c 6e "\nUsage:.%s.[options].[files]\n
2be0 22 2c 20 69 6e 76 6f 63 61 74 69 6f 6e 5f 6e 61 6d 65 20 29 3b 0a 20 20 73 74 64 3a 3a 70 72 69 ",.invocation_name.);...std::pri
2c00 6e 74 66 28 20 22 5c 6e 4f 70 74 69 6f 6e 73 3a 5c 6e 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 ntf(."\nOptions:\n".............
2c20 20 20 20 22 20 20 2d 68 2c 20 2d 2d 68 65 6c 70 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ..."..-h,.--help................
2c40 20 20 20 20 20 64 69 73 70 6c 61 79 20 74 68 69 73 20 68 65 6c 70 20 61 6e 64 20 65 78 69 74 5c .....display.this.help.and.exit\
2c60 6e 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 20 20 2d 56 2c 20 2d 2d 76 65 72 73 69 n"................"..-V,.--versi
2c80 6f 6e 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 6f 75 74 70 75 74 20 76 65 72 73 69 on..................output.versi
2ca0 6f 6e 20 69 6e 66 6f 72 6d 61 74 69 6f 6e 20 61 6e 64 20 65 78 69 74 5c 6e 22 0a 20 20 20 20 20 on.information.and.exit\n"......
2cc0 20 20 20 20 20 20 20 20 20 20 22 20 20 2d 61 2c 20 2d 2d 74 72 61 69 6c 69 6e 67 2d 65 72 72 6f .........."..-a,.--trailing-erro
2ce0 72 20 20 20 20 20 20 20 20 20 20 20 65 78 69 74 20 77 69 74 68 20 65 72 72 6f 72 20 73 74 61 74 r...........exit.with.error.stat
2d00 75 73 20 69 66 20 74 72 61 69 6c 69 6e 67 20 64 61 74 61 5c 6e 22 0a 20 20 20 20 20 20 20 20 20 us.if.trailing.data\n"..........
2d20 20 20 20 20 20 20 22 20 20 2d 62 2c 20 2d 2d 6d 65 6d 62 65 72 2d 73 69 7a 65 3d 3c 62 79 74 65 ......"..-b,.--member-size=<byte
2d40 73 3e 20 20 20 20 20 20 73 65 74 20 6d 65 6d 62 65 72 20 73 69 7a 65 20 6c 69 6d 69 74 20 69 6e s>......set.member.size.limit.in
2d60 20 62 79 74 65 73 5c 6e 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 20 20 2d 63 2c 20 .bytes\n"................"..-c,.
2d80 2d 2d 73 74 64 6f 75 74 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 77 72 69 74 65 --stdout...................write
2da0 20 74 6f 20 73 74 61 6e 64 61 72 64 20 6f 75 74 70 75 74 2c 20 6b 65 65 70 20 69 6e 70 75 74 20 .to.standard.output,.keep.input.
2dc0 66 69 6c 65 73 5c 6e 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 20 20 2d 64 2c 20 2d files\n"................"..-d,.-
2de0 2d 64 65 63 6f 6d 70 72 65 73 73 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 64 65 63 6f 6d 70 -decompress...............decomp
2e00 72 65 73 73 5c 6e 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 20 20 2d 66 2c 20 2d 2d ress\n"................"..-f,.--
2e20 66 6f 72 63 65 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 6f 76 65 72 77 72 69 force....................overwri
2e40 74 65 20 65 78 69 73 74 69 6e 67 20 6f 75 74 70 75 74 20 66 69 6c 65 73 5c 6e 22 0a 20 20 20 20 te.existing.output.files\n".....
2e60 20 20 20 20 20 20 20 20 20 20 20 22 20 20 2d 46 2c 20 2d 2d 72 65 63 6f 6d 70 72 65 73 73 20 20 ..........."..-F,.--recompress..
2e80 20 20 20 20 20 20 20 20 20 20 20 20 20 66 6f 72 63 65 20 72 65 2d 63 6f 6d 70 72 65 73 73 69 6f .............force.re-compressio
2ea0 6e 20 6f 66 20 63 6f 6d 70 72 65 73 73 65 64 20 66 69 6c 65 73 5c 6e 22 0a 20 20 20 20 20 20 20 n.of.compressed.files\n"........
2ec0 20 20 20 20 20 20 20 20 22 20 20 2d 6b 2c 20 2d 2d 6b 65 65 70 20 20 20 20 20 20 20 20 20 20 20 ........"..-k,.--keep...........
2ee0 20 20 20 20 20 20 20 20 20 20 6b 65 65 70 20 28 64 6f 6e 27 74 20 64 65 6c 65 74 65 29 20 69 6e ..........keep.(don't.delete).in
2f00 70 75 74 20 66 69 6c 65 73 5c 6e 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 20 20 2d put.files\n"................"..-
2f20 6c 2c 20 2d 2d 6c 69 73 74 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 70 72 l,.--list.....................pr
2f40 69 6e 74 20 28 75 6e 29 63 6f 6d 70 72 65 73 73 65 64 20 66 69 6c 65 20 73 69 7a 65 73 5c 6e 22 int.(un)compressed.file.sizes\n"
2f60 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 20 20 2d 6d 2c 20 2d 2d 6d 61 74 63 68 2d 6c ................"..-m,.--match-l
2f80 65 6e 67 74 68 3d 3c 62 79 74 65 73 3e 20 20 20 20 20 73 65 74 20 6d 61 74 63 68 20 6c 65 6e 67 ength=<bytes>.....set.match.leng
2fa0 74 68 20 6c 69 6d 69 74 20 69 6e 20 62 79 74 65 73 20 5b 33 36 5d 5c 6e 22 0a 20 20 20 20 20 20 th.limit.in.bytes.[36]\n".......
2fc0 20 20 20 20 20 20 20 20 20 22 20 20 2d 6f 2c 20 2d 2d 6f 75 74 70 75 74 3d 3c 66 69 6c 65 3e 20 ........."..-o,.--output=<file>.
2fe0 20 20 20 20 20 20 20 20 20 20 20 77 72 69 74 65 20 74 6f 20 3c 66 69 6c 65 3e 2c 20 6b 65 65 70 ...........write.to.<file>,.keep
3000 20 69 6e 70 75 74 20 66 69 6c 65 73 5c 6e 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 .input.files\n"................"
3020 20 20 2d 71 2c 20 2d 2d 71 75 69 65 74 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ..-q,.--quiet...................
3040 20 73 75 70 70 72 65 73 73 20 61 6c 6c 20 6d 65 73 73 61 67 65 73 5c 6e 22 0a 20 20 20 20 20 20 .suppress.all.messages\n".......
3060 20 20 20 20 20 20 20 20 20 22 20 20 2d 73 2c 20 2d 2d 64 69 63 74 69 6f 6e 61 72 79 2d 73 69 7a ........."..-s,.--dictionary-siz
3080 65 3d 3c 62 79 74 65 73 3e 20 20 73 65 74 20 64 69 63 74 69 6f 6e 61 72 79 20 73 69 7a 65 20 6c e=<bytes>..set.dictionary.size.l
30a0 69 6d 69 74 20 69 6e 20 62 79 74 65 73 20 5b 38 20 4d 69 42 5d 5c 6e 22 0a 20 20 20 20 20 20 20 imit.in.bytes.[8.MiB]\n"........
30c0 20 20 20 20 20 20 20 20 22 20 20 2d 53 2c 20 2d 2d 76 6f 6c 75 6d 65 2d 73 69 7a 65 3d 3c 62 79 ........"..-S,.--volume-size=<by
30e0 74 65 73 3e 20 20 20 20 20 20 73 65 74 20 76 6f 6c 75 6d 65 20 73 69 7a 65 20 6c 69 6d 69 74 20 tes>......set.volume.size.limit.
3100 69 6e 20 62 79 74 65 73 5c 6e 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 20 20 2d 74 in.bytes\n"................"..-t
3120 2c 20 2d 2d 74 65 73 74 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 74 65 73 ,.--test.....................tes
3140 74 20 63 6f 6d 70 72 65 73 73 65 64 20 66 69 6c 65 20 69 6e 74 65 67 72 69 74 79 5c 6e 22 0a 20 t.compressed.file.integrity\n"..
3160 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 20 20 2d 76 2c 20 2d 2d 76 65 72 62 6f 73 65 20 20 .............."..-v,.--verbose..
3180 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 62 65 20 76 65 72 62 6f 73 65 20 28 61 20 32 6e ................be.verbose.(a.2n
31a0 64 20 2d 76 20 67 69 76 65 73 20 6d 6f 72 65 29 5c 6e 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 d.-v.gives.more)\n".............
31c0 20 20 20 22 20 20 2d 30 20 2e 2e 20 2d 39 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ..."..-0....-9..................
31e0 20 20 20 20 20 73 65 74 20 63 6f 6d 70 72 65 73 73 69 6f 6e 20 6c 65 76 65 6c 20 5b 64 65 66 61 .....set.compression.level.[defa
3200 75 6c 74 20 36 5d 5c 6e 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 20 20 20 20 20 20 ult.6]\n"................"......
3220 2d 2d 66 61 73 74 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 61 6c 69 61 73 --fast.....................alias
3240 20 66 6f 72 20 2d 30 5c 6e 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 20 20 20 20 20 .for.-0\n"................".....
3260 20 2d 2d 62 65 73 74 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 61 6c 69 61 .--best.....................alia
3280 73 20 66 6f 72 20 2d 39 5c 6e 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 20 20 20 20 s.for.-9\n"................"....
32a0 20 20 2d 2d 6c 6f 6f 73 65 2d 74 72 61 69 6c 69 6e 67 20 20 20 20 20 20 20 20 20 20 20 61 6c 6c ..--loose-trailing...........all
32c0 6f 77 20 74 72 61 69 6c 69 6e 67 20 64 61 74 61 20 73 65 65 6d 69 6e 67 20 63 6f 72 72 75 70 74 ow.trailing.data.seeming.corrupt
32e0 20 68 65 61 64 65 72 5c 6e 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 5c 6e 49 66 20 .header\n"................"\nIf.
3300 6e 6f 20 66 69 6c 65 20 6e 61 6d 65 73 20 61 72 65 20 67 69 76 65 6e 2c 20 6f 72 20 69 66 20 61 no.file.names.are.given,.or.if.a
3320 20 66 69 6c 65 20 69 73 20 27 2d 27 2c 20 6c 7a 69 70 20 63 6f 6d 70 72 65 73 73 65 73 20 6f 72 .file.is.'-',.lzip.compresses.or
3340 5c 6e 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 64 65 63 6f 6d 70 72 65 73 73 65 73 \n"................"decompresses
3360 20 66 72 6f 6d 20 73 74 61 6e 64 61 72 64 20 69 6e 70 75 74 20 74 6f 20 73 74 61 6e 64 61 72 64 .from.standard.input.to.standard
3380 20 6f 75 74 70 75 74 2e 5c 6e 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 4e 75 6d 62 .output.\n"................"Numb
33a0 65 72 73 20 6d 61 79 20 62 65 20 66 6f 6c 6c 6f 77 65 64 20 62 79 20 61 20 6d 75 6c 74 69 70 6c ers.may.be.followed.by.a.multipl
33c0 69 65 72 3a 20 6b 20 3d 20 6b 42 20 3d 20 31 30 5e 33 20 3d 20 31 30 30 30 2c 5c 6e 22 0a 20 20 ier:.k.=.kB.=.10^3.=.1000,\n"...
33e0 20 20 20 20 20 20 20 20 20 20 20 20 20 22 4b 69 20 3d 20 4b 69 42 20 3d 20 32 5e 31 30 20 3d 20 ............."Ki.=.KiB.=.2^10.=.
3400 31 30 32 34 2c 20 4d 20 3d 20 31 30 5e 36 2c 20 4d 69 20 3d 20 32 5e 32 30 2c 20 47 20 3d 20 31 1024,.M.=.10^6,.Mi.=.2^20,.G.=.1
3420 30 5e 39 2c 20 47 69 20 3d 20 32 5e 33 30 2c 20 65 74 63 2e 2e 2e 5c 6e 22 0a 20 20 20 20 20 20 0^9,.Gi.=.2^30,.etc...\n".......
3440 20 20 20 20 20 20 20 20 20 22 44 69 63 74 69 6f 6e 61 72 79 20 73 69 7a 65 73 20 31 32 20 74 6f ........."Dictionary.sizes.12.to
3460 20 32 39 20 61 72 65 20 69 6e 74 65 72 70 72 65 74 65 64 20 61 73 20 70 6f 77 65 72 73 20 6f 66 .29.are.interpreted.as.powers.of
3480 20 74 77 6f 2c 20 6d 65 61 6e 69 6e 67 20 32 5e 31 32 5c 6e 22 0a 20 20 20 20 20 20 20 20 20 20 .two,.meaning.2^12\n"...........
34a0 20 20 20 20 20 22 74 6f 20 32 5e 32 39 20 62 79 74 65 73 2e 5c 6e 22 0a 20 20 20 20 20 20 20 20 ....."to.2^29.bytes.\n".........
34c0 20 20 20 20 20 20 20 22 5c 6e 54 68 65 20 62 69 64 69 6d 65 6e 73 69 6f 6e 61 6c 20 70 61 72 61 ......."\nThe.bidimensional.para
34e0 6d 65 74 65 72 20 73 70 61 63 65 20 6f 66 20 4c 5a 4d 41 20 63 61 6e 27 74 20 62 65 20 6d 61 70 meter.space.of.LZMA.can't.be.map
3500 70 65 64 20 74 6f 20 61 20 6c 69 6e 65 61 72 5c 6e 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 ped.to.a.linear\n"..............
3520 20 20 22 73 63 61 6c 65 20 6f 70 74 69 6d 61 6c 20 66 6f 72 20 61 6c 6c 20 66 69 6c 65 73 2e 20 .."scale.optimal.for.all.files..
3540 49 66 20 79 6f 75 72 20 66 69 6c 65 73 20 61 72 65 20 6c 61 72 67 65 2c 20 76 65 72 79 20 72 65 If.your.files.are.large,.very.re
3560 70 65 74 69 74 69 76 65 2c 5c 6e 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 65 74 63 petitive,\n"................"etc
3580 2c 20 79 6f 75 20 6d 61 79 20 6e 65 65 64 20 74 6f 20 75 73 65 20 74 68 65 20 6f 70 74 69 6f 6e ,.you.may.need.to.use.the.option
35a0 73 20 2d 2d 64 69 63 74 69 6f 6e 61 72 79 2d 73 69 7a 65 20 61 6e 64 20 2d 2d 6d 61 74 63 68 2d s.--dictionary-size.and.--match-
35c0 6c 65 6e 67 74 68 5c 6e 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 64 69 72 65 63 74 length\n"................"direct
35e0 6c 79 20 74 6f 20 61 63 68 69 65 76 65 20 6f 70 74 69 6d 61 6c 20 70 65 72 66 6f 72 6d 61 6e 63 ly.to.achieve.optimal.performanc
3600 65 2e 5c 6e 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 5c 6e 54 6f 20 65 78 74 72 61 e.\n"................"\nTo.extra
3620 63 74 20 61 6c 6c 20 74 68 65 20 66 69 6c 65 73 20 66 72 6f 6d 20 61 72 63 68 69 76 65 20 27 66 ct.all.the.files.from.archive.'f
3640 6f 6f 2e 74 61 72 2e 6c 7a 27 2c 20 75 73 65 20 74 68 65 20 63 6f 6d 6d 61 6e 64 73 5c 6e 22 0a oo.tar.lz',.use.the.commands\n".
3660 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 27 74 61 72 20 2d 78 66 20 66 6f 6f 2e 74 61 72 ..............."'tar.-xf.foo.tar
3680 2e 6c 7a 27 20 6f 72 20 27 6c 7a 69 70 20 2d 63 64 20 66 6f 6f 2e 74 61 72 2e 6c 7a 20 7c 20 74 .lz'.or.'lzip.-cd.foo.tar.lz.|.t
36a0 61 72 20 2d 78 66 20 2d 27 2e 5c 6e 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 5c 6e ar.-xf.-'.\n"................"\n
36c0 45 78 69 74 20 73 74 61 74 75 73 3a 20 30 20 66 6f 72 20 61 20 6e 6f 72 6d 61 6c 20 65 78 69 74 Exit.status:.0.for.a.normal.exit
36e0 2c 20 31 20 66 6f 72 20 65 6e 76 69 72 6f 6e 6d 65 6e 74 61 6c 20 70 72 6f 62 6c 65 6d 73 20 28 ,.1.for.environmental.problems.(
3700 66 69 6c 65 5c 6e 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 6e 6f 74 20 66 6f 75 6e file\n"................"not.foun
3720 64 2c 20 69 6e 76 61 6c 69 64 20 66 6c 61 67 73 2c 20 49 2f 4f 20 65 72 72 6f 72 73 2c 20 65 74 d,.invalid.flags,.I/O.errors,.et
3740 63 29 2c 20 32 20 74 6f 20 69 6e 64 69 63 61 74 65 20 61 20 63 6f 72 72 75 70 74 20 6f 72 5c 6e c),.2.to.indicate.a.corrupt.or\n
3760 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 69 6e 76 61 6c 69 64 20 69 6e 70 75 74 20 "................"invalid.input.
3780 66 69 6c 65 2c 20 33 20 66 6f 72 20 61 6e 20 69 6e 74 65 72 6e 61 6c 20 63 6f 6e 73 69 73 74 65 file,.3.for.an.internal.consiste
37a0 6e 63 79 20 65 72 72 6f 72 20 28 65 67 2c 20 62 75 67 29 20 77 68 69 63 68 5c 6e 22 0a 20 20 20 ncy.error.(eg,.bug).which\n"....
37c0 20 20 20 20 20 20 20 20 20 20 20 20 22 63 61 75 73 65 64 20 6c 7a 69 70 20 74 6f 20 70 61 6e 69 ............"caused.lzip.to.pani
37e0 63 2e 5c 6e 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 5c 6e 54 68 65 20 69 64 65 61 c.\n"................"\nThe.idea
3800 73 20 65 6d 62 6f 64 69 65 64 20 69 6e 20 6c 7a 69 70 20 61 72 65 20 64 75 65 20 74 6f 20 28 61 s.embodied.in.lzip.are.due.to.(a
3820 74 20 6c 65 61 73 74 29 20 74 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 70 65 6f 70 6c 65 3a 5c 6e t.least).the.following.people:\n
3840 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 41 62 72 61 68 61 6d 20 4c 65 6d 70 65 6c "................"Abraham.Lempel
3860 20 61 6e 64 20 4a 61 63 6f 62 20 5a 69 76 20 28 66 6f 72 20 74 68 65 20 4c 5a 20 61 6c 67 6f 72 .and.Jacob.Ziv.(for.the.LZ.algor
3880 69 74 68 6d 29 2c 20 41 6e 64 72 65 79 20 4d 61 72 6b 6f 76 20 28 66 6f 72 20 74 68 65 5c 6e 22 ithm),.Andrey.Markov.(for.the\n"
38a0 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 64 65 66 69 6e 69 74 69 6f 6e 20 6f 66 20 4d ................"definition.of.M
38c0 61 72 6b 6f 76 20 63 68 61 69 6e 73 29 2c 20 47 2e 4e 2e 4e 2e 20 4d 61 72 74 69 6e 20 28 66 6f arkov.chains),.G.N.N..Martin.(fo
38e0 72 20 74 68 65 20 64 65 66 69 6e 69 74 69 6f 6e 20 6f 66 20 72 61 6e 67 65 5c 6e 22 0a 20 20 20 r.the.definition.of.range\n"....
3900 20 20 20 20 20 20 20 20 20 20 20 20 22 65 6e 63 6f 64 69 6e 67 29 2c 20 49 67 6f 72 20 50 61 76 ............"encoding),.Igor.Pav
3920 6c 6f 76 20 28 66 6f 72 20 70 75 74 74 69 6e 67 20 61 6c 6c 20 74 68 65 20 61 62 6f 76 65 20 74 lov.(for.putting.all.the.above.t
3940 6f 67 65 74 68 65 72 20 69 6e 20 4c 5a 4d 41 29 2c 20 61 6e 64 5c 6e 22 0a 20 20 20 20 20 20 20 ogether.in.LZMA),.and\n"........
3960 20 20 20 20 20 20 20 20 22 4a 75 6c 69 61 6e 20 53 65 77 61 72 64 20 28 66 6f 72 20 62 7a 69 70 ........"Julian.Seward.(for.bzip
3980 32 27 73 20 43 4c 49 29 2e 5c 6e 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 5c 6e 52 2's.CLI).\n"................"\nR
39a0 65 70 6f 72 74 20 62 75 67 73 20 74 6f 20 6c 7a 69 70 2d 62 75 67 40 6e 6f 6e 67 6e 75 2e 6f 72 eport.bugs.to.lzip-bug@nongnu.or
39c0 67 5c 6e 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 4c 7a 69 70 20 68 6f 6d 65 20 70 g\n"................"Lzip.home.p
39e0 61 67 65 3a 20 68 74 74 70 3a 2f 2f 77 77 77 2e 6e 6f 6e 67 6e 75 2e 6f 72 67 2f 6c 7a 69 70 2f age:.http://www.nongnu.org/lzip/
3a00 6c 7a 69 70 2e 68 74 6d 6c 5c 6e 22 20 29 3b 0a 20 20 7d 0a 0a 0a 76 6f 69 64 20 73 68 6f 77 5f lzip.html\n".);...}...void.show_
3a20 76 65 72 73 69 6f 6e 28 29 0a 20 20 7b 0a 20 20 73 74 64 3a 3a 70 72 69 6e 74 66 28 20 22 25 73 version()...{...std::printf(."%s
3a40 20 25 73 5c 6e 22 2c 20 70 72 6f 67 72 61 6d 5f 6e 61 6d 65 2c 20 50 52 4f 47 56 45 52 53 49 4f .%s\n",.program_name,.PROGVERSIO
3a60 4e 20 29 3b 0a 20 20 73 74 64 3a 3a 70 72 69 6e 74 66 28 20 22 43 6f 70 79 72 69 67 68 74 20 28 N.);...std::printf(."Copyright.(
3a80 43 29 20 25 73 20 41 6e 74 6f 6e 69 6f 20 44 69 61 7a 20 44 69 61 7a 2e 5c 6e 22 2c 20 70 72 6f C).%s.Antonio.Diaz.Diaz.\n",.pro
3aa0 67 72 61 6d 5f 79 65 61 72 20 29 3b 0a 20 20 73 74 64 3a 3a 70 72 69 6e 74 66 28 20 22 4c 69 63 gram_year.);...std::printf(."Lic
3ac0 65 6e 73 65 20 47 50 4c 76 32 2b 3a 20 47 4e 55 20 47 50 4c 20 76 65 72 73 69 6f 6e 20 32 20 6f ense.GPLv2+:.GNU.GPL.version.2.o
3ae0 72 20 6c 61 74 65 72 20 3c 68 74 74 70 3a 2f 2f 67 6e 75 2e 6f 72 67 2f 6c 69 63 65 6e 73 65 73 r.later.<http://gnu.org/licenses
3b00 2f 67 70 6c 2e 68 74 6d 6c 3e 5c 6e 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 54 68 /gpl.html>\n"................"Th
3b20 69 73 20 69 73 20 66 72 65 65 20 73 6f 66 74 77 61 72 65 3a 20 79 6f 75 20 61 72 65 20 66 72 65 is.is.free.software:.you.are.fre
3b40 65 20 74 6f 20 63 68 61 6e 67 65 20 61 6e 64 20 72 65 64 69 73 74 72 69 62 75 74 65 20 69 74 2e e.to.change.and.redistribute.it.
3b60 5c 6e 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 54 68 65 72 65 20 69 73 20 4e 4f 20 \n"................"There.is.NO.
3b80 57 41 52 52 41 4e 54 59 2c 20 74 6f 20 74 68 65 20 65 78 74 65 6e 74 20 70 65 72 6d 69 74 74 65 WARRANTY,.to.the.extent.permitte
3ba0 64 20 62 79 20 6c 61 77 2e 5c 6e 22 20 29 3b 0a 20 20 7d 0a 0a 7d 20 2f 2f 20 65 6e 64 20 6e 61 d.by.law.\n".);...}..}.//.end.na
3bc0 6d 65 73 70 61 63 65 0a 0a 76 6f 69 64 20 50 72 65 74 74 79 5f 70 72 69 6e 74 3a 3a 6f 70 65 72 mespace..void.Pretty_print::oper
3be0 61 74 6f 72 28 29 28 20 63 6f 6e 73 74 20 63 68 61 72 20 2a 20 63 6f 6e 73 74 20 6d 73 67 20 29 ator()(.const.char.*.const.msg.)
3c00 20 63 6f 6e 73 74 0a 20 20 7b 0a 20 20 69 66 28 20 76 65 72 62 6f 73 69 74 79 20 3e 3d 20 30 20 .const...{...if(.verbosity.>=.0.
3c20 29 0a 20 20 20 20 7b 0a 20 20 20 20 69 66 28 20 66 69 72 73 74 5f 70 6f 73 74 20 29 0a 20 20 20 ).....{.....if(.first_post.)....
3c40 20 20 20 7b 0a 20 20 20 20 20 20 66 69 72 73 74 5f 70 6f 73 74 20 3d 20 66 61 6c 73 65 3b 0a 20 ...{.......first_post.=.false;..
3c60 20 20 20 20 20 73 74 64 3a 3a 66 70 75 74 73 28 20 70 61 64 64 65 64 5f 6e 61 6d 65 2e 63 5f 73 .....std::fputs(.padded_name.c_s
3c80 74 72 28 29 2c 20 73 74 64 65 72 72 20 29 3b 0a 20 20 20 20 20 20 69 66 28 20 21 6d 73 67 20 29 tr(),.stderr.);.......if(.!msg.)
3ca0 20 73 74 64 3a 3a 66 66 6c 75 73 68 28 20 73 74 64 65 72 72 20 29 3b 0a 20 20 20 20 20 20 7d 0a .std::fflush(.stderr.);.......}.
3cc0 20 20 20 20 69 66 28 20 6d 73 67 20 29 20 73 74 64 3a 3a 66 70 72 69 6e 74 66 28 20 73 74 64 65 ....if(.msg.).std::fprintf(.stde
3ce0 72 72 2c 20 22 25 73 5c 6e 22 2c 20 6d 73 67 20 29 3b 0a 20 20 20 20 7d 0a 20 20 7d 0a 0a 0a 63 rr,."%s\n",.msg.);.....}...}...c
3d00 6f 6e 73 74 20 63 68 61 72 20 2a 20 62 61 64 5f 76 65 72 73 69 6f 6e 28 20 63 6f 6e 73 74 20 75 onst.char.*.bad_version(.const.u
3d20 6e 73 69 67 6e 65 64 20 76 65 72 73 69 6f 6e 20 29 0a 20 20 7b 0a 20 20 73 74 61 74 69 63 20 63 nsigned.version.)...{...static.c
3d40 68 61 72 20 62 75 66 5b 38 30 5d 3b 0a 20 20 73 6e 70 72 69 6e 74 66 28 20 62 75 66 2c 20 73 69 har.buf[80];...snprintf(.buf,.si
3d60 7a 65 6f 66 20 62 75 66 2c 20 22 56 65 72 73 69 6f 6e 20 25 75 20 6d 65 6d 62 65 72 20 66 6f 72 zeof.buf,."Version.%u.member.for
3d80 6d 61 74 20 6e 6f 74 20 73 75 70 70 6f 72 74 65 64 2e 22 2c 0a 20 20 20 20 20 20 20 20 20 20 20 mat.not.supported.",............
3da0 20 76 65 72 73 69 6f 6e 20 29 3b 0a 20 20 72 65 74 75 72 6e 20 62 75 66 3b 0a 20 20 7d 0a 0a 0a .version.);...return.buf;...}...
3dc0 63 6f 6e 73 74 20 63 68 61 72 20 2a 20 66 6f 72 6d 61 74 5f 64 73 28 20 63 6f 6e 73 74 20 75 6e const.char.*.format_ds(.const.un
3de0 73 69 67 6e 65 64 20 64 69 63 74 69 6f 6e 61 72 79 5f 73 69 7a 65 20 29 0a 20 20 7b 0a 20 20 65 signed.dictionary_size.)...{...e
3e00 6e 75 6d 20 7b 20 62 75 66 73 69 7a 65 20 3d 20 31 36 2c 20 66 61 63 74 6f 72 20 3d 20 31 30 32 num.{.bufsize.=.16,.factor.=.102
3e20 34 20 7d 3b 0a 20 20 73 74 61 74 69 63 20 63 68 61 72 20 62 75 66 5b 62 75 66 73 69 7a 65 5d 3b 4.};...static.char.buf[bufsize];
3e40 0a 20 20 63 6f 6e 73 74 20 63 68 61 72 20 2a 20 63 6f 6e 73 74 20 70 72 65 66 69 78 5b 38 5d 20 ...const.char.*.const.prefix[8].
3e60 3d 0a 20 20 20 20 7b 20 22 4b 69 22 2c 20 22 4d 69 22 2c 20 22 47 69 22 2c 20 22 54 69 22 2c 20 =.....{."Ki",."Mi",."Gi",."Ti",.
3e80 22 50 69 22 2c 20 22 45 69 22 2c 20 22 5a 69 22 2c 20 22 59 69 22 20 7d 3b 0a 20 20 63 6f 6e 73 "Pi",."Ei",."Zi",."Yi".};...cons
3ea0 74 20 63 68 61 72 20 2a 20 70 20 3d 20 22 22 3b 0a 20 20 63 6f 6e 73 74 20 63 68 61 72 20 2a 20 t.char.*.p.=."";...const.char.*.
3ec0 6e 70 20 3d 20 22 20 20 22 3b 0a 20 20 75 6e 73 69 67 6e 65 64 20 6e 75 6d 20 3d 20 64 69 63 74 np.=."..";...unsigned.num.=.dict
3ee0 69 6f 6e 61 72 79 5f 73 69 7a 65 3b 0a 20 20 62 6f 6f 6c 20 65 78 61 63 74 20 3d 20 28 20 6e 75 ionary_size;...bool.exact.=.(.nu
3f00 6d 20 25 20 66 61 63 74 6f 72 20 3d 3d 20 30 20 29 3b 0a 0a 20 20 66 6f 72 28 20 69 6e 74 20 69 m.%.factor.==.0.);....for(.int.i
3f20 20 3d 20 30 3b 20 69 20 3c 20 38 20 26 26 20 28 20 6e 75 6d 20 3e 20 39 39 39 39 20 7c 7c 20 28 .=.0;.i.<.8.&&.(.num.>.9999.||.(
3f40 20 65 78 61 63 74 20 26 26 20 6e 75 6d 20 3e 3d 20 66 61 63 74 6f 72 20 29 20 29 3b 20 2b 2b 69 .exact.&&.num.>=.factor.).);.++i
3f60 20 29 0a 20 20 20 20 7b 20 6e 75 6d 20 2f 3d 20 66 61 63 74 6f 72 3b 20 69 66 28 20 6e 75 6d 20 .).....{.num./=.factor;.if(.num.
3f80 25 20 66 61 63 74 6f 72 20 21 3d 20 30 20 29 20 65 78 61 63 74 20 3d 20 66 61 6c 73 65 3b 0a 20 %.factor.!=.0.).exact.=.false;..
3fa0 20 20 20 20 20 70 20 3d 20 70 72 65 66 69 78 5b 69 5d 3b 20 6e 70 20 3d 20 22 22 3b 20 7d 0a 20 .....p.=.prefix[i];.np.=."";.}..
3fc0 20 73 6e 70 72 69 6e 74 66 28 20 62 75 66 2c 20 62 75 66 73 69 7a 65 2c 20 22 25 73 25 34 75 20 .snprintf(.buf,.bufsize,."%s%4u.
3fe0 25 73 42 22 2c 20 6e 70 2c 20 6e 75 6d 2c 20 70 20 29 3b 0a 20 20 72 65 74 75 72 6e 20 62 75 66 %sB",.np,.num,.p.);...return.buf
4000 3b 0a 20 20 7d 0a 0a 0a 76 6f 69 64 20 73 68 6f 77 5f 68 65 61 64 65 72 28 20 63 6f 6e 73 74 20 ;...}...void.show_header(.const.
4020 75 6e 73 69 67 6e 65 64 20 64 69 63 74 69 6f 6e 61 72 79 5f 73 69 7a 65 20 29 0a 20 20 7b 0a 20 unsigned.dictionary_size.)...{..
4040 20 73 74 64 3a 3a 66 70 72 69 6e 74 66 28 20 73 74 64 65 72 72 2c 20 22 64 69 63 74 20 25 73 2c .std::fprintf(.stderr,."dict.%s,
4060 20 22 2c 20 66 6f 72 6d 61 74 5f 64 73 28 20 64 69 63 74 69 6f 6e 61 72 79 5f 73 69 7a 65 20 29 .",.format_ds(.dictionary_size.)
4080 20 29 3b 0a 20 20 7d 0a 0a 6e 61 6d 65 73 70 61 63 65 20 7b 0a 0a 75 6e 73 69 67 6e 65 64 20 6c .);...}..namespace.{..unsigned.l
40a0 6f 6e 67 20 6c 6f 6e 67 20 67 65 74 6e 75 6d 28 20 63 6f 6e 73 74 20 63 68 61 72 20 2a 20 63 6f ong.long.getnum(.const.char.*.co
40c0 6e 73 74 20 70 74 72 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 nst.ptr,........................
40e0 20 20 20 20 63 6f 6e 73 74 20 75 6e 73 69 67 6e 65 64 20 6c 6f 6e 67 20 6c 6f 6e 67 20 6c 6c 69 ....const.unsigned.long.long.lli
4100 6d 69 74 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 mit,............................
4120 63 6f 6e 73 74 20 75 6e 73 69 67 6e 65 64 20 6c 6f 6e 67 20 6c 6f 6e 67 20 75 6c 69 6d 69 74 20 const.unsigned.long.long.ulimit.
4140 29 0a 20 20 7b 0a 20 20 63 68 61 72 20 2a 20 74 61 69 6c 3b 0a 20 20 65 72 72 6e 6f 20 3d 20 30 )...{...char.*.tail;...errno.=.0
4160 3b 0a 20 20 75 6e 73 69 67 6e 65 64 20 6c 6f 6e 67 20 6c 6f 6e 67 20 72 65 73 75 6c 74 20 3d 20 ;...unsigned.long.long.result.=.
4180 73 74 72 74 6f 75 6c 6c 28 20 70 74 72 2c 20 26 74 61 69 6c 2c 20 30 20 29 3b 0a 20 20 69 66 28 strtoull(.ptr,.&tail,.0.);...if(
41a0 20 74 61 69 6c 20 3d 3d 20 70 74 72 20 29 0a 20 20 20 20 7b 0a 20 20 20 20 73 68 6f 77 5f 65 72 .tail.==.ptr.).....{.....show_er
41c0 72 6f 72 28 20 22 42 61 64 20 6f 72 20 6d 69 73 73 69 6e 67 20 6e 75 6d 65 72 69 63 61 6c 20 61 ror(."Bad.or.missing.numerical.a
41e0 72 67 75 6d 65 6e 74 2e 22 2c 20 30 2c 20 74 72 75 65 20 29 3b 0a 20 20 20 20 73 74 64 3a 3a 65 rgument.",.0,.true.);.....std::e
4200 78 69 74 28 20 31 20 29 3b 0a 20 20 20 20 7d 0a 0a 20 20 69 66 28 20 21 65 72 72 6e 6f 20 26 26 xit(.1.);.....}....if(.!errno.&&
4220 20 74 61 69 6c 5b 30 5d 20 29 0a 20 20 20 20 7b 0a 20 20 20 20 63 6f 6e 73 74 20 75 6e 73 69 67 .tail[0].).....{.....const.unsig
4240 6e 65 64 20 66 61 63 74 6f 72 20 3d 20 28 20 74 61 69 6c 5b 31 5d 20 3d 3d 20 27 69 27 20 29 20 ned.factor.=.(.tail[1].==.'i'.).
4260 3f 20 31 30 32 34 20 3a 20 31 30 30 30 3b 0a 20 20 20 20 69 6e 74 20 65 78 70 6f 6e 65 6e 74 20 ?.1024.:.1000;.....int.exponent.
4280 3d 20 30 3b 09 09 09 09 2f 2f 20 30 20 3d 20 62 61 64 20 6d 75 6c 74 69 70 6c 69 65 72 0a 20 20 =.0;....//.0.=.bad.multiplier...
42a0 20 20 73 77 69 74 63 68 28 20 74 61 69 6c 5b 30 5d 20 29 0a 20 20 20 20 20 20 7b 0a 20 20 20 20 ..switch(.tail[0].).......{.....
42c0 20 20 63 61 73 65 20 27 59 27 3a 20 65 78 70 6f 6e 65 6e 74 20 3d 20 38 3b 20 62 72 65 61 6b 3b ..case.'Y':.exponent.=.8;.break;
42e0 0a 20 20 20 20 20 20 63 61 73 65 20 27 5a 27 3a 20 65 78 70 6f 6e 65 6e 74 20 3d 20 37 3b 20 62 .......case.'Z':.exponent.=.7;.b
4300 72 65 61 6b 3b 0a 20 20 20 20 20 20 63 61 73 65 20 27 45 27 3a 20 65 78 70 6f 6e 65 6e 74 20 3d reak;.......case.'E':.exponent.=
4320 20 36 3b 20 62 72 65 61 6b 3b 0a 20 20 20 20 20 20 63 61 73 65 20 27 50 27 3a 20 65 78 70 6f 6e .6;.break;.......case.'P':.expon
4340 65 6e 74 20 3d 20 35 3b 20 62 72 65 61 6b 3b 0a 20 20 20 20 20 20 63 61 73 65 20 27 54 27 3a 20 ent.=.5;.break;.......case.'T':.
4360 65 78 70 6f 6e 65 6e 74 20 3d 20 34 3b 20 62 72 65 61 6b 3b 0a 20 20 20 20 20 20 63 61 73 65 20 exponent.=.4;.break;.......case.
4380 27 47 27 3a 20 65 78 70 6f 6e 65 6e 74 20 3d 20 33 3b 20 62 72 65 61 6b 3b 0a 20 20 20 20 20 20 'G':.exponent.=.3;.break;.......
43a0 63 61 73 65 20 27 4d 27 3a 20 65 78 70 6f 6e 65 6e 74 20 3d 20 32 3b 20 62 72 65 61 6b 3b 0a 20 case.'M':.exponent.=.2;.break;..
43c0 20 20 20 20 20 63 61 73 65 20 27 4b 27 3a 20 69 66 28 20 66 61 63 74 6f 72 20 3d 3d 20 31 30 32 .....case.'K':.if(.factor.==.102
43e0 34 20 29 20 65 78 70 6f 6e 65 6e 74 20 3d 20 31 3b 20 62 72 65 61 6b 3b 0a 20 20 20 20 20 20 63 4.).exponent.=.1;.break;.......c
4400 61 73 65 20 27 6b 27 3a 20 69 66 28 20 66 61 63 74 6f 72 20 3d 3d 20 31 30 30 30 20 29 20 65 78 ase.'k':.if(.factor.==.1000.).ex
4420 70 6f 6e 65 6e 74 20 3d 20 31 3b 20 62 72 65 61 6b 3b 0a 20 20 20 20 20 20 7d 0a 20 20 20 20 69 ponent.=.1;.break;.......}.....i
4440 66 28 20 65 78 70 6f 6e 65 6e 74 20 3c 3d 20 30 20 29 0a 20 20 20 20 20 20 7b 0a 20 20 20 20 20 f(.exponent.<=.0.).......{......
4460 20 73 68 6f 77 5f 65 72 72 6f 72 28 20 22 42 61 64 20 6d 75 6c 74 69 70 6c 69 65 72 20 69 6e 20 .show_error(."Bad.multiplier.in.
4480 6e 75 6d 65 72 69 63 61 6c 20 61 72 67 75 6d 65 6e 74 2e 22 2c 20 30 2c 20 74 72 75 65 20 29 3b numerical.argument.",.0,.true.);
44a0 0a 20 20 20 20 20 20 73 74 64 3a 3a 65 78 69 74 28 20 31 20 29 3b 0a 20 20 20 20 20 20 7d 0a 20 .......std::exit(.1.);.......}..
44c0 20 20 20 66 6f 72 28 20 69 6e 74 20 69 20 3d 20 30 3b 20 69 20 3c 20 65 78 70 6f 6e 65 6e 74 3b ...for(.int.i.=.0;.i.<.exponent;
44e0 20 2b 2b 69 20 29 0a 20 20 20 20 20 20 7b 0a 20 20 20 20 20 20 69 66 28 20 75 6c 69 6d 69 74 20 .++i.).......{.......if(.ulimit.
4500 2f 20 66 61 63 74 6f 72 20 3e 3d 20 72 65 73 75 6c 74 20 29 20 72 65 73 75 6c 74 20 2a 3d 20 66 /.factor.>=.result.).result.*=.f
4520 61 63 74 6f 72 3b 0a 20 20 20 20 20 20 65 6c 73 65 20 7b 20 65 72 72 6e 6f 20 3d 20 45 52 41 4e actor;.......else.{.errno.=.ERAN
4540 47 45 3b 20 62 72 65 61 6b 3b 20 7d 0a 20 20 20 20 20 20 7d 0a 20 20 20 20 7d 0a 20 20 69 66 28 GE;.break;.}.......}.....}...if(
4560 20 21 65 72 72 6e 6f 20 26 26 20 28 20 72 65 73 75 6c 74 20 3c 20 6c 6c 69 6d 69 74 20 7c 7c 20 .!errno.&&.(.result.<.llimit.||.
4580 72 65 73 75 6c 74 20 3e 20 75 6c 69 6d 69 74 20 29 20 29 20 65 72 72 6e 6f 20 3d 20 45 52 41 4e result.>.ulimit.).).errno.=.ERAN
45a0 47 45 3b 0a 20 20 69 66 28 20 65 72 72 6e 6f 20 29 0a 20 20 20 20 7b 0a 20 20 20 20 73 68 6f 77 GE;...if(.errno.).....{.....show
45c0 5f 65 72 72 6f 72 28 20 22 4e 75 6d 65 72 69 63 61 6c 20 61 72 67 75 6d 65 6e 74 20 6f 75 74 20 _error(."Numerical.argument.out.
45e0 6f 66 20 6c 69 6d 69 74 73 2e 22 20 29 3b 0a 20 20 20 20 73 74 64 3a 3a 65 78 69 74 28 20 31 20 of.limits.".);.....std::exit(.1.
4600 29 3b 0a 20 20 20 20 7d 0a 20 20 72 65 74 75 72 6e 20 72 65 73 75 6c 74 3b 0a 20 20 7d 0a 0a 0a );.....}...return.result;...}...
4620 69 6e 74 20 67 65 74 5f 64 69 63 74 5f 73 69 7a 65 28 20 63 6f 6e 73 74 20 63 68 61 72 20 2a 20 int.get_dict_size(.const.char.*.
4640 63 6f 6e 73 74 20 61 72 67 20 29 0a 20 20 7b 0a 20 20 63 68 61 72 20 2a 20 74 61 69 6c 3b 0a 20 const.arg.)...{...char.*.tail;..
4660 20 63 6f 6e 73 74 20 6c 6f 6e 67 20 62 69 74 73 20 3d 20 73 74 64 3a 3a 73 74 72 74 6f 6c 28 20 .const.long.bits.=.std::strtol(.
4680 61 72 67 2c 20 26 74 61 69 6c 2c 20 30 20 29 3b 0a 20 20 69 66 28 20 62 69 74 73 20 3e 3d 20 6d arg,.&tail,.0.);...if(.bits.>=.m
46a0 69 6e 5f 64 69 63 74 69 6f 6e 61 72 79 5f 62 69 74 73 20 26 26 0a 20 20 20 20 20 20 62 69 74 73 in_dictionary_bits.&&.......bits
46c0 20 3c 3d 20 6d 61 78 5f 64 69 63 74 69 6f 6e 61 72 79 5f 62 69 74 73 20 26 26 20 2a 74 61 69 6c .<=.max_dictionary_bits.&&.*tail
46e0 20 3d 3d 20 30 20 29 0a 20 20 20 20 72 65 74 75 72 6e 20 31 20 3c 3c 20 62 69 74 73 3b 0a 20 20 .==.0.).....return.1.<<.bits;...
4700 72 65 74 75 72 6e 20 67 65 74 6e 75 6d 28 20 61 72 67 2c 20 6d 69 6e 5f 64 69 63 74 69 6f 6e 61 return.getnum(.arg,.min_dictiona
4720 72 79 5f 73 69 7a 65 2c 20 6d 61 78 5f 64 69 63 74 69 6f 6e 61 72 79 5f 73 69 7a 65 20 29 3b 0a ry_size,.max_dictionary_size.);.
4740 20 20 7d 0a 0a 0a 76 6f 69 64 20 73 65 74 5f 6d 6f 64 65 28 20 4d 6f 64 65 20 26 20 70 72 6f 67 ..}...void.set_mode(.Mode.&.prog
4760 72 61 6d 5f 6d 6f 64 65 2c 20 63 6f 6e 73 74 20 4d 6f 64 65 20 6e 65 77 5f 6d 6f 64 65 20 29 0a ram_mode,.const.Mode.new_mode.).
4780 20 20 7b 0a 20 20 69 66 28 20 70 72 6f 67 72 61 6d 5f 6d 6f 64 65 20 21 3d 20 6d 5f 63 6f 6d 70 ..{...if(.program_mode.!=.m_comp
47a0 72 65 73 73 20 26 26 20 70 72 6f 67 72 61 6d 5f 6d 6f 64 65 20 21 3d 20 6e 65 77 5f 6d 6f 64 65 ress.&&.program_mode.!=.new_mode
47c0 20 29 0a 20 20 20 20 7b 0a 20 20 20 20 73 68 6f 77 5f 65 72 72 6f 72 28 20 22 4f 6e 6c 79 20 6f .).....{.....show_error(."Only.o
47e0 6e 65 20 6f 70 65 72 61 74 69 6f 6e 20 63 61 6e 20 62 65 20 73 70 65 63 69 66 69 65 64 2e 22 2c ne.operation.can.be.specified.",
4800 20 30 2c 20 74 72 75 65 20 29 3b 0a 20 20 20 20 73 74 64 3a 3a 65 78 69 74 28 20 31 20 29 3b 0a .0,.true.);.....std::exit(.1.);.
4820 20 20 20 20 7d 0a 20 20 70 72 6f 67 72 61 6d 5f 6d 6f 64 65 20 3d 20 6e 65 77 5f 6d 6f 64 65 3b ....}...program_mode.=.new_mode;
4840 0a 20 20 7d 0a 0a 0a 69 6e 74 20 65 78 74 65 6e 73 69 6f 6e 5f 69 6e 64 65 78 28 20 63 6f 6e 73 ...}...int.extension_index(.cons
4860 74 20 73 74 64 3a 3a 73 74 72 69 6e 67 20 26 20 6e 61 6d 65 20 29 0a 20 20 7b 0a 20 20 66 6f 72 t.std::string.&.name.)...{...for
4880 28 20 69 6e 74 20 65 69 6e 64 65 78 20 3d 20 30 3b 20 6b 6e 6f 77 6e 5f 65 78 74 65 6e 73 69 6f (.int.eindex.=.0;.known_extensio
48a0 6e 73 5b 65 69 6e 64 65 78 5d 2e 66 72 6f 6d 3b 20 2b 2b 65 69 6e 64 65 78 20 29 0a 20 20 20 20 ns[eindex].from;.++eindex.).....
48c0 7b 0a 20 20 20 20 63 6f 6e 73 74 20 73 74 64 3a 3a 73 74 72 69 6e 67 20 65 78 74 28 20 6b 6e 6f {.....const.std::string.ext(.kno
48e0 77 6e 5f 65 78 74 65 6e 73 69 6f 6e 73 5b 65 69 6e 64 65 78 5d 2e 66 72 6f 6d 20 29 3b 0a 20 20 wn_extensions[eindex].from.);...
4900 20 20 69 66 28 20 6e 61 6d 65 2e 73 69 7a 65 28 29 20 3e 20 65 78 74 2e 73 69 7a 65 28 29 20 26 ..if(.name.size().>.ext.size().&
4920 26 0a 20 20 20 20 20 20 20 20 6e 61 6d 65 2e 63 6f 6d 70 61 72 65 28 20 6e 61 6d 65 2e 73 69 7a &.........name.compare(.name.siz
4940 65 28 29 20 2d 20 65 78 74 2e 73 69 7a 65 28 29 2c 20 65 78 74 2e 73 69 7a 65 28 29 2c 20 65 78 e().-.ext.size(),.ext.size(),.ex
4960 74 20 29 20 3d 3d 20 30 20 29 0a 20 20 20 20 20 20 72 65 74 75 72 6e 20 65 69 6e 64 65 78 3b 0a t.).==.0.).......return.eindex;.
4980 20 20 20 20 7d 0a 20 20 72 65 74 75 72 6e 20 2d 31 3b 0a 20 20 7d 0a 0a 0a 76 6f 69 64 20 73 65 ....}...return.-1;...}...void.se
49a0 74 5f 63 5f 6f 75 74 6e 61 6d 65 28 20 63 6f 6e 73 74 20 73 74 64 3a 3a 73 74 72 69 6e 67 20 26 t_c_outname(.const.std::string.&
49c0 20 6e 61 6d 65 2c 20 63 6f 6e 73 74 20 62 6f 6f 6c 20 66 69 6c 65 6e 61 6d 65 73 5f 67 69 76 65 .name,.const.bool.filenames_give
49e0 6e 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 63 6f 6e 73 74 20 62 6f 6f n,.....................const.boo
4a00 6c 20 66 6f 72 63 65 5f 65 78 74 2c 20 63 6f 6e 73 74 20 62 6f 6f 6c 20 6d 75 6c 74 69 66 69 6c l.force_ext,.const.bool.multifil
4a20 65 20 29 0a 20 20 7b 0a 20 20 2f 2a 20 7a 75 70 64 61 74 65 20 3c 20 31 2e 39 20 64 65 70 65 6e e.)...{.../*.zupdate.<.1.9.depen
4a40 64 73 20 6f 6e 20 6c 7a 69 70 20 61 64 64 69 6e 67 20 74 68 65 20 65 78 74 65 6e 73 69 6f 6e 20 ds.on.lzip.adding.the.extension.
4a60 27 2e 6c 7a 27 20 74 6f 20 6e 61 6d 65 20 77 68 65 6e 0a 20 20 20 20 20 72 65 61 64 69 6e 67 20 '.lz'.to.name.when......reading.
4a80 66 72 6f 6d 20 73 74 61 6e 64 61 72 64 20 69 6e 70 75 74 2e 20 2a 2f 0a 20 20 6f 75 74 70 75 74 from.standard.input..*/...output
4aa0 5f 66 69 6c 65 6e 61 6d 65 20 3d 20 6e 61 6d 65 3b 0a 20 20 69 66 28 20 6d 75 6c 74 69 66 69 6c _filename.=.name;...if(.multifil
4ac0 65 20 29 20 6f 75 74 70 75 74 5f 66 69 6c 65 6e 61 6d 65 20 2b 3d 20 22 30 30 30 30 31 22 3b 0a e.).output_filename.+=."00001";.
4ae0 20 20 69 66 28 20 66 6f 72 63 65 5f 65 78 74 20 7c 7c 20 6d 75 6c 74 69 66 69 6c 65 20 7c 7c 0a ..if(.force_ext.||.multifile.||.
4b00 20 20 20 20 20 20 28 20 21 66 69 6c 65 6e 61 6d 65 73 5f 67 69 76 65 6e 20 26 26 20 65 78 74 65 ......(.!filenames_given.&&.exte
4b20 6e 73 69 6f 6e 5f 69 6e 64 65 78 28 20 6f 75 74 70 75 74 5f 66 69 6c 65 6e 61 6d 65 20 29 20 3c nsion_index(.output_filename.).<
4b40 20 30 20 29 20 29 0a 20 20 20 20 6f 75 74 70 75 74 5f 66 69 6c 65 6e 61 6d 65 20 2b 3d 20 6b 6e .0.).).....output_filename.+=.kn
4b60 6f 77 6e 5f 65 78 74 65 6e 73 69 6f 6e 73 5b 30 5d 2e 66 72 6f 6d 3b 0a 20 20 7d 0a 0a 0a 76 6f own_extensions[0].from;...}...vo
4b80 69 64 20 73 65 74 5f 64 5f 6f 75 74 6e 61 6d 65 28 20 63 6f 6e 73 74 20 73 74 64 3a 3a 73 74 72 id.set_d_outname(.const.std::str
4ba0 69 6e 67 20 26 20 6e 61 6d 65 2c 20 63 6f 6e 73 74 20 69 6e 74 20 65 69 6e 64 65 78 20 29 0a 20 ing.&.name,.const.int.eindex.)..
4bc0 20 7b 0a 20 20 69 66 28 20 65 69 6e 64 65 78 20 3e 3d 20 30 20 29 0a 20 20 20 20 7b 0a 20 20 20 .{...if(.eindex.>=.0.).....{....
4be0 20 63 6f 6e 73 74 20 73 74 64 3a 3a 73 74 72 69 6e 67 20 66 72 6f 6d 28 20 6b 6e 6f 77 6e 5f 65 .const.std::string.from(.known_e
4c00 78 74 65 6e 73 69 6f 6e 73 5b 65 69 6e 64 65 78 5d 2e 66 72 6f 6d 20 29 3b 0a 20 20 20 20 69 66 xtensions[eindex].from.);.....if
4c20 28 20 6e 61 6d 65 2e 73 69 7a 65 28 29 20 3e 20 66 72 6f 6d 2e 73 69 7a 65 28 29 20 29 0a 20 20 (.name.size().>.from.size().)...
4c40 20 20 20 20 7b 0a 20 20 20 20 20 20 6f 75 74 70 75 74 5f 66 69 6c 65 6e 61 6d 65 2e 61 73 73 69 ....{.......output_filename.assi
4c60 67 6e 28 20 6e 61 6d 65 2c 20 30 2c 20 6e 61 6d 65 2e 73 69 7a 65 28 29 20 2d 20 66 72 6f 6d 2e gn(.name,.0,.name.size().-.from.
4c80 73 69 7a 65 28 29 20 29 3b 0a 20 20 20 20 20 20 6f 75 74 70 75 74 5f 66 69 6c 65 6e 61 6d 65 20 size().);.......output_filename.
4ca0 2b 3d 20 6b 6e 6f 77 6e 5f 65 78 74 65 6e 73 69 6f 6e 73 5b 65 69 6e 64 65 78 5d 2e 74 6f 3b 0a +=.known_extensions[eindex].to;.
4cc0 20 20 20 20 20 20 72 65 74 75 72 6e 3b 0a 20 20 20 20 20 20 7d 0a 20 20 20 20 7d 0a 20 20 6f 75 ......return;.......}.....}...ou
4ce0 74 70 75 74 5f 66 69 6c 65 6e 61 6d 65 20 3d 20 6e 61 6d 65 3b 20 6f 75 74 70 75 74 5f 66 69 6c tput_filename.=.name;.output_fil
4d00 65 6e 61 6d 65 20 2b 3d 20 22 2e 6f 75 74 22 3b 0a 20 20 69 66 28 20 76 65 72 62 6f 73 69 74 79 ename.+=.".out";...if(.verbosity
4d20 20 3e 3d 20 31 20 29 0a 20 20 20 20 73 74 64 3a 3a 66 70 72 69 6e 74 66 28 20 73 74 64 65 72 72 .>=.1.).....std::fprintf(.stderr
4d40 2c 20 22 25 73 3a 20 43 61 6e 27 74 20 67 75 65 73 73 20 6f 72 69 67 69 6e 61 6c 20 6e 61 6d 65 ,."%s:.Can't.guess.original.name
4d60 20 66 6f 72 20 27 25 73 27 20 2d 2d 20 75 73 69 6e 67 20 27 25 73 27 5c 6e 22 2c 0a 20 20 20 20 .for.'%s'.--.using.'%s'\n",.....
4d80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 70 72 6f 67 72 61 6d 5f 6e 61 6d 65 2c 20 6e 61 6d 65 ..............program_name,.name
4da0 2e 63 5f 73 74 72 28 29 2c 20 6f 75 74 70 75 74 5f 66 69 6c 65 6e 61 6d 65 2e 63 5f 73 74 72 28 .c_str(),.output_filename.c_str(
4dc0 29 20 29 3b 0a 20 20 7d 0a 0a 7d 20 2f 2f 20 65 6e 64 20 6e 61 6d 65 73 70 61 63 65 0a 0a 69 6e ).);...}..}.//.end.namespace..in
4de0 74 20 6f 70 65 6e 5f 69 6e 73 74 72 65 61 6d 28 20 63 6f 6e 73 74 20 63 68 61 72 20 2a 20 63 6f t.open_instream(.const.char.*.co
4e00 6e 73 74 20 6e 61 6d 65 2c 20 73 74 72 75 63 74 20 73 74 61 74 20 2a 20 63 6f 6e 73 74 20 69 6e nst.name,.struct.stat.*.const.in
4e20 5f 73 74 61 74 73 70 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 63 6f 6e 73 _statsp,....................cons
4e40 74 20 62 6f 6f 6c 20 6f 6e 65 5f 74 6f 5f 6f 6e 65 2c 20 63 6f 6e 73 74 20 62 6f 6f 6c 20 72 65 t.bool.one_to_one,.const.bool.re
4e60 67 5f 6f 6e 6c 79 20 29 0a 20 20 7b 0a 20 20 69 6e 74 20 69 6e 66 64 20 3d 20 6f 70 65 6e 28 20 g_only.)...{...int.infd.=.open(.
4e80 6e 61 6d 65 2c 20 4f 5f 52 44 4f 4e 4c 59 20 7c 20 4f 5f 42 49 4e 41 52 59 20 29 3b 0a 20 20 69 name,.O_RDONLY.|.O_BINARY.);...i
4ea0 66 28 20 69 6e 66 64 20 3c 20 30 20 29 0a 20 20 20 20 73 68 6f 77 5f 66 69 6c 65 5f 65 72 72 6f f(.infd.<.0.).....show_file_erro
4ec0 72 28 20 6e 61 6d 65 2c 20 22 43 61 6e 27 74 20 6f 70 65 6e 20 69 6e 70 75 74 20 66 69 6c 65 22 r(.name,."Can't.open.input.file"
4ee0 2c 20 65 72 72 6e 6f 20 29 3b 0a 20 20 65 6c 73 65 0a 20 20 20 20 7b 0a 20 20 20 20 63 6f 6e 73 ,.errno.);...else.....{.....cons
4f00 74 20 69 6e 74 20 69 20 3d 20 66 73 74 61 74 28 20 69 6e 66 64 2c 20 69 6e 5f 73 74 61 74 73 70 t.int.i.=.fstat(.infd,.in_statsp
4f20 20 29 3b 0a 20 20 20 20 63 6f 6e 73 74 20 6d 6f 64 65 5f 74 20 6d 6f 64 65 20 3d 20 69 6e 5f 73 .);.....const.mode_t.mode.=.in_s
4f40 74 61 74 73 70 2d 3e 73 74 5f 6d 6f 64 65 3b 0a 20 20 20 20 63 6f 6e 73 74 20 62 6f 6f 6c 20 63 tatsp->st_mode;.....const.bool.c
4f60 61 6e 5f 72 65 61 64 20 3d 20 28 20 69 20 3d 3d 20 30 20 26 26 20 21 72 65 67 5f 6f 6e 6c 79 20 an_read.=.(.i.==.0.&&.!reg_only.
4f80 26 26 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 &&.............................(
4fa0 20 53 5f 49 53 42 4c 4b 28 20 6d 6f 64 65 20 29 20 7c 7c 20 53 5f 49 53 43 48 52 28 20 6d 6f 64 .S_ISBLK(.mode.).||.S_ISCHR(.mod
4fc0 65 20 29 20 7c 7c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e.).||..........................
4fe0 20 20 20 20 20 53 5f 49 53 46 49 46 4f 28 20 6d 6f 64 65 20 29 20 7c 7c 20 53 5f 49 53 53 4f 43 .....S_ISFIFO(.mode.).||.S_ISSOC
5000 4b 28 20 6d 6f 64 65 20 29 20 29 20 29 3b 0a 20 20 20 20 69 66 28 20 69 20 21 3d 20 30 20 7c 7c K(.mode.).).);.....if(.i.!=.0.||
5020 20 28 20 21 53 5f 49 53 52 45 47 28 20 6d 6f 64 65 20 29 20 26 26 20 28 20 21 63 61 6e 5f 72 65 .(.!S_ISREG(.mode.).&&.(.!can_re
5040 61 64 20 7c 7c 20 6f 6e 65 5f 74 6f 5f 6f 6e 65 20 29 20 29 20 29 0a 20 20 20 20 20 20 7b 0a 20 ad.||.one_to_one.).).).......{..
5060 20 20 20 20 20 69 66 28 20 76 65 72 62 6f 73 69 74 79 20 3e 3d 20 30 20 29 0a 20 20 20 20 20 20 .....if(.verbosity.>=.0.).......
5080 20 20 73 74 64 3a 3a 66 70 72 69 6e 74 66 28 20 73 74 64 65 72 72 2c 20 22 25 73 3a 20 49 6e 70 ..std::fprintf(.stderr,."%s:.Inp
50a0 75 74 20 66 69 6c 65 20 27 25 73 27 20 69 73 20 6e 6f 74 20 61 20 72 65 67 75 6c 61 72 20 66 69 ut.file.'%s'.is.not.a.regular.fi
50c0 6c 65 25 73 2e 5c 6e 22 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 le%s.\n",.......................
50e0 70 72 6f 67 72 61 6d 5f 6e 61 6d 65 2c 20 6e 61 6d 65 2c 20 28 20 63 61 6e 5f 72 65 61 64 20 26 program_name,.name,.(.can_read.&
5100 26 20 6f 6e 65 5f 74 6f 5f 6f 6e 65 20 29 20 3f 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 &.one_to_one.).?................
5120 20 20 20 20 20 20 20 22 2c 5c 6e 20 20 20 20 20 20 61 6e 64 20 6e 65 69 74 68 65 72 20 27 2d 63 .......",\n......and.neither.'-c
5140 27 20 6e 6f 72 20 27 2d 6f 27 20 77 65 72 65 20 73 70 65 63 69 66 69 65 64 22 20 3a 20 22 22 20 '.nor.'-o'.were.specified".:."".
5160 29 3b 0a 20 20 20 20 20 20 63 6c 6f 73 65 28 20 69 6e 66 64 20 29 3b 0a 20 20 20 20 20 20 69 6e );.......close(.infd.);.......in
5180 66 64 20 3d 20 2d 31 3b 0a 20 20 20 20 20 20 7d 0a 20 20 20 20 7d 0a 20 20 72 65 74 75 72 6e 20 fd.=.-1;.......}.....}...return.
51a0 69 6e 66 64 3b 0a 20 20 7d 0a 0a 6e 61 6d 65 73 70 61 63 65 20 7b 0a 0a 69 6e 74 20 6f 70 65 6e infd;...}..namespace.{..int.open
51c0 5f 69 6e 73 74 72 65 61 6d 32 28 20 63 6f 6e 73 74 20 63 68 61 72 20 2a 20 63 6f 6e 73 74 20 6e _instream2(.const.char.*.const.n
51e0 61 6d 65 2c 20 73 74 72 75 63 74 20 73 74 61 74 20 2a 20 63 6f 6e 73 74 20 69 6e 5f 73 74 61 74 ame,.struct.stat.*.const.in_stat
5200 73 70 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 63 6f 6e 73 74 20 4d 6f sp,.....................const.Mo
5220 64 65 20 70 72 6f 67 72 61 6d 5f 6d 6f 64 65 2c 20 63 6f 6e 73 74 20 69 6e 74 20 65 69 6e 64 65 de.program_mode,.const.int.einde
5240 78 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 63 6f 6e 73 74 20 62 6f 6f x,.....................const.boo
5260 6c 20 6f 6e 65 5f 74 6f 5f 6f 6e 65 2c 20 63 6f 6e 73 74 20 62 6f 6f 6c 20 72 65 63 6f 6d 70 72 l.one_to_one,.const.bool.recompr
5280 65 73 73 20 29 0a 20 20 7b 0a 20 20 69 66 28 20 70 72 6f 67 72 61 6d 5f 6d 6f 64 65 20 3d 3d 20 ess.)...{...if(.program_mode.==.
52a0 6d 5f 63 6f 6d 70 72 65 73 73 20 26 26 20 21 72 65 63 6f 6d 70 72 65 73 73 20 26 26 20 65 69 6e m_compress.&&.!recompress.&&.ein
52c0 64 65 78 20 3e 3d 20 30 20 29 0a 20 20 20 20 7b 0a 20 20 20 20 69 66 28 20 76 65 72 62 6f 73 69 dex.>=.0.).....{.....if(.verbosi
52e0 74 79 20 3e 3d 20 30 20 29 0a 20 20 20 20 20 20 73 74 64 3a 3a 66 70 72 69 6e 74 66 28 20 73 74 ty.>=.0.).......std::fprintf(.st
5300 64 65 72 72 2c 20 22 25 73 3a 20 49 6e 70 75 74 20 66 69 6c 65 20 27 25 73 27 20 61 6c 72 65 61 derr,."%s:.Input.file.'%s'.alrea
5320 64 79 20 68 61 73 20 27 25 73 27 20 73 75 66 66 69 78 2e 5c 6e 22 2c 0a 20 20 20 20 20 20 20 20 dy.has.'%s'.suffix.\n",.........
5340 20 20 20 20 20 20 20 20 20 20 20 20 70 72 6f 67 72 61 6d 5f 6e 61 6d 65 2c 20 6e 61 6d 65 2c 20 ............program_name,.name,.
5360 6b 6e 6f 77 6e 5f 65 78 74 65 6e 73 69 6f 6e 73 5b 65 69 6e 64 65 78 5d 2e 66 72 6f 6d 20 29 3b known_extensions[eindex].from.);
5380 0a 20 20 20 20 72 65 74 75 72 6e 20 2d 31 3b 0a 20 20 20 20 7d 0a 20 20 72 65 74 75 72 6e 20 6f .....return.-1;.....}...return.o
53a0 70 65 6e 5f 69 6e 73 74 72 65 61 6d 28 20 6e 61 6d 65 2c 20 69 6e 5f 73 74 61 74 73 70 2c 20 6f pen_instream(.name,.in_statsp,.o
53c0 6e 65 5f 74 6f 5f 6f 6e 65 2c 20 66 61 6c 73 65 20 29 3b 0a 20 20 7d 0a 0a 0a 62 6f 6f 6c 20 6f ne_to_one,.false.);...}...bool.o
53e0 70 65 6e 5f 6f 75 74 73 74 72 65 61 6d 28 20 63 6f 6e 73 74 20 62 6f 6f 6c 20 66 6f 72 63 65 2c pen_outstream(.const.bool.force,
5400 20 63 6f 6e 73 74 20 62 6f 6f 6c 20 70 72 6f 74 65 63 74 20 29 0a 20 20 7b 0a 20 20 63 6f 6e 73 .const.bool.protect.)...{...cons
5420 74 20 6d 6f 64 65 5f 74 20 75 73 72 5f 72 77 20 3d 20 53 5f 49 52 55 53 52 20 7c 20 53 5f 49 57 t.mode_t.usr_rw.=.S_IRUSR.|.S_IW
5440 55 53 52 3b 0a 20 20 63 6f 6e 73 74 20 6d 6f 64 65 5f 74 20 61 6c 6c 5f 72 77 20 3d 20 75 73 72 USR;...const.mode_t.all_rw.=.usr
5460 5f 72 77 20 7c 20 53 5f 49 52 47 52 50 20 7c 20 53 5f 49 57 47 52 50 20 7c 20 53 5f 49 52 4f 54 _rw.|.S_IRGRP.|.S_IWGRP.|.S_IROT
5480 48 20 7c 20 53 5f 49 57 4f 54 48 3b 0a 20 20 63 6f 6e 73 74 20 6d 6f 64 65 5f 74 20 6f 75 74 66 H.|.S_IWOTH;...const.mode_t.outf
54a0 64 5f 6d 6f 64 65 20 3d 20 70 72 6f 74 65 63 74 20 3f 20 75 73 72 5f 72 77 20 3a 20 61 6c 6c 5f d_mode.=.protect.?.usr_rw.:.all_
54c0 72 77 3b 0a 20 20 69 6e 74 20 66 6c 61 67 73 20 3d 20 4f 5f 43 52 45 41 54 20 7c 20 4f 5f 57 52 rw;...int.flags.=.O_CREAT.|.O_WR
54e0 4f 4e 4c 59 20 7c 20 4f 5f 42 49 4e 41 52 59 3b 0a 20 20 69 66 28 20 66 6f 72 63 65 20 29 20 66 ONLY.|.O_BINARY;...if(.force.).f
5500 6c 61 67 73 20 7c 3d 20 4f 5f 54 52 55 4e 43 3b 20 65 6c 73 65 20 66 6c 61 67 73 20 7c 3d 20 4f lags.|=.O_TRUNC;.else.flags.|=.O
5520 5f 45 58 43 4c 3b 0a 0a 20 20 6f 75 74 66 64 20 3d 20 6f 70 65 6e 28 20 6f 75 74 70 75 74 5f 66 _EXCL;....outfd.=.open(.output_f
5540 69 6c 65 6e 61 6d 65 2e 63 5f 73 74 72 28 29 2c 20 66 6c 61 67 73 2c 20 6f 75 74 66 64 5f 6d 6f ilename.c_str(),.flags,.outfd_mo
5560 64 65 20 29 3b 0a 20 20 69 66 28 20 6f 75 74 66 64 20 3e 3d 20 30 20 29 20 64 65 6c 65 74 65 5f de.);...if(.outfd.>=.0.).delete_
5580 6f 75 74 70 75 74 5f 6f 6e 5f 69 6e 74 65 72 72 75 70 74 20 3d 20 74 72 75 65 3b 0a 20 20 65 6c output_on_interrupt.=.true;...el
55a0 73 65 20 69 66 28 20 76 65 72 62 6f 73 69 74 79 20 3e 3d 20 30 20 29 0a 20 20 20 20 7b 0a 20 20 se.if(.verbosity.>=.0.).....{...
55c0 20 20 69 66 28 20 65 72 72 6e 6f 20 3d 3d 20 45 45 58 49 53 54 20 29 0a 20 20 20 20 20 20 73 74 ..if(.errno.==.EEXIST.).......st
55e0 64 3a 3a 66 70 72 69 6e 74 66 28 20 73 74 64 65 72 72 2c 20 22 25 73 3a 20 4f 75 74 70 75 74 20 d::fprintf(.stderr,."%s:.Output.
5600 66 69 6c 65 20 27 25 73 27 20 61 6c 72 65 61 64 79 20 65 78 69 73 74 73 2c 20 73 6b 69 70 70 69 file.'%s'.already.exists,.skippi
5620 6e 67 2e 5c 6e 22 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 70 72 6f 67 ng.\n",.....................prog
5640 72 61 6d 5f 6e 61 6d 65 2c 20 6f 75 74 70 75 74 5f 66 69 6c 65 6e 61 6d 65 2e 63 5f 73 74 72 28 ram_name,.output_filename.c_str(
5660 29 20 29 3b 0a 20 20 20 20 65 6c 73 65 0a 20 20 20 20 20 20 73 74 64 3a 3a 66 70 72 69 6e 74 66 ).);.....else.......std::fprintf
5680 28 20 73 74 64 65 72 72 2c 20 22 25 73 3a 20 43 61 6e 27 74 20 63 72 65 61 74 65 20 6f 75 74 70 (.stderr,."%s:.Can't.create.outp
56a0 75 74 20 66 69 6c 65 20 27 25 73 27 3a 20 25 73 5c 6e 22 2c 0a 20 20 20 20 20 20 20 20 20 20 20 ut.file.'%s':.%s\n",............
56c0 20 20 20 20 20 20 20 20 20 70 72 6f 67 72 61 6d 5f 6e 61 6d 65 2c 20 6f 75 74 70 75 74 5f 66 69 .........program_name,.output_fi
56e0 6c 65 6e 61 6d 65 2e 63 5f 73 74 72 28 29 2c 20 73 74 64 3a 3a 73 74 72 65 72 72 6f 72 28 20 65 lename.c_str(),.std::strerror(.e
5700 72 72 6e 6f 20 29 20 29 3b 0a 20 20 20 20 7d 0a 20 20 72 65 74 75 72 6e 20 28 20 6f 75 74 66 64 rrno.).);.....}...return.(.outfd
5720 20 3e 3d 20 30 20 29 3b 0a 20 20 7d 0a 0a 0a 76 6f 69 64 20 73 65 74 5f 73 69 67 6e 61 6c 73 28 .>=.0.);...}...void.set_signals(
5740 20 76 6f 69 64 20 28 2a 61 63 74 69 6f 6e 29 28 69 6e 74 29 20 29 0a 20 20 7b 0a 20 20 73 74 64 .void.(*action)(int).)...{...std
5760 3a 3a 73 69 67 6e 61 6c 28 20 53 49 47 48 55 50 2c 20 61 63 74 69 6f 6e 20 29 3b 0a 20 20 73 74 ::signal(.SIGHUP,.action.);...st
5780 64 3a 3a 73 69 67 6e 61 6c 28 20 53 49 47 49 4e 54 2c 20 61 63 74 69 6f 6e 20 29 3b 0a 20 20 73 d::signal(.SIGINT,.action.);...s
57a0 74 64 3a 3a 73 69 67 6e 61 6c 28 20 53 49 47 54 45 52 4d 2c 20 61 63 74 69 6f 6e 20 29 3b 0a 20 td::signal(.SIGTERM,.action.);..
57c0 20 7d 0a 0a 0a 76 6f 69 64 20 63 6c 65 61 6e 75 70 5f 61 6e 64 5f 66 61 69 6c 28 20 63 6f 6e 73 .}...void.cleanup_and_fail(.cons
57e0 74 20 69 6e 74 20 72 65 74 76 61 6c 20 29 0a 20 20 7b 0a 20 20 73 65 74 5f 73 69 67 6e 61 6c 73 t.int.retval.)...{...set_signals
5800 28 20 53 49 47 5f 49 47 4e 20 29 3b 09 09 09 2f 2f 20 69 67 6e 6f 72 65 20 73 69 67 6e 61 6c 73 (.SIG_IGN.);...//.ignore.signals
5820 0a 20 20 69 66 28 20 64 65 6c 65 74 65 5f 6f 75 74 70 75 74 5f 6f 6e 5f 69 6e 74 65 72 72 75 70 ...if(.delete_output_on_interrup
5840 74 20 29 0a 20 20 20 20 7b 0a 20 20 20 20 64 65 6c 65 74 65 5f 6f 75 74 70 75 74 5f 6f 6e 5f 69 t.).....{.....delete_output_on_i
5860 6e 74 65 72 72 75 70 74 20 3d 20 66 61 6c 73 65 3b 0a 20 20 20 20 69 66 28 20 76 65 72 62 6f 73 nterrupt.=.false;.....if(.verbos
5880 69 74 79 20 3e 3d 20 30 20 29 0a 20 20 20 20 20 20 73 74 64 3a 3a 66 70 72 69 6e 74 66 28 20 73 ity.>=.0.).......std::fprintf(.s
58a0 74 64 65 72 72 2c 20 22 25 73 3a 20 44 65 6c 65 74 69 6e 67 20 6f 75 74 70 75 74 20 66 69 6c 65 tderr,."%s:.Deleting.output.file
58c0 20 27 25 73 27 2c 20 69 66 20 69 74 20 65 78 69 73 74 73 2e 5c 6e 22 2c 0a 20 20 20 20 20 20 20 .'%s',.if.it.exists.\n",........
58e0 20 20 20 20 20 20 20 20 20 20 20 20 20 70 72 6f 67 72 61 6d 5f 6e 61 6d 65 2c 20 6f 75 74 70 75 .............program_name,.outpu
5900 74 5f 66 69 6c 65 6e 61 6d 65 2e 63 5f 73 74 72 28 29 20 29 3b 0a 20 20 20 20 69 66 28 20 6f 75 t_filename.c_str().);.....if(.ou
5920 74 66 64 20 3e 3d 20 30 20 29 20 7b 20 63 6c 6f 73 65 28 20 6f 75 74 66 64 20 29 3b 20 6f 75 74 tfd.>=.0.).{.close(.outfd.);.out
5940 66 64 20 3d 20 2d 31 3b 20 7d 0a 20 20 20 20 69 66 28 20 73 74 64 3a 3a 72 65 6d 6f 76 65 28 20 fd.=.-1;.}.....if(.std::remove(.
5960 6f 75 74 70 75 74 5f 66 69 6c 65 6e 61 6d 65 2e 63 5f 73 74 72 28 29 20 29 20 21 3d 20 30 20 26 output_filename.c_str().).!=.0.&
5980 26 20 65 72 72 6e 6f 20 21 3d 20 45 4e 4f 45 4e 54 20 29 0a 20 20 20 20 20 20 73 68 6f 77 5f 65 &.errno.!=.ENOENT.).......show_e
59a0 72 72 6f 72 28 20 22 57 41 52 4e 49 4e 47 3a 20 64 65 6c 65 74 69 6f 6e 20 6f 66 20 6f 75 74 70 rror(."WARNING:.deletion.of.outp
59c0 75 74 20 66 69 6c 65 20 28 61 70 70 61 72 65 6e 74 6c 79 29 20 66 61 69 6c 65 64 2e 22 20 29 3b ut.file.(apparently).failed.".);
59e0 0a 20 20 20 20 7d 0a 20 20 73 74 64 3a 3a 65 78 69 74 28 20 72 65 74 76 61 6c 20 29 3b 0a 20 20 .....}...std::exit(.retval.);...
5a00 7d 0a 0a 0a 65 78 74 65 72 6e 20 22 43 22 20 76 6f 69 64 20 73 69 67 6e 61 6c 5f 68 61 6e 64 6c }...extern."C".void.signal_handl
5a20 65 72 28 20 69 6e 74 20 29 0a 20 20 7b 0a 20 20 73 68 6f 77 5f 65 72 72 6f 72 28 20 22 43 6f 6e er(.int.)...{...show_error(."Con
5a40 74 72 6f 6c 2d 43 20 6f 72 20 73 69 6d 69 6c 61 72 20 63 61 75 67 68 74 2c 20 71 75 69 74 74 69 trol-C.or.similar.caught,.quitti
5a60 6e 67 2e 22 20 29 3b 0a 20 20 63 6c 65 61 6e 75 70 5f 61 6e 64 5f 66 61 69 6c 28 20 31 20 29 3b ng.".);...cleanup_and_fail(.1.);
5a80 0a 20 20 7d 0a 0a 0a 62 6f 6f 6c 20 63 68 65 63 6b 5f 74 74 79 5f 69 6e 28 20 63 6f 6e 73 74 20 ...}...bool.check_tty_in(.const.
5aa0 63 68 61 72 20 2a 20 63 6f 6e 73 74 20 69 6e 70 75 74 5f 66 69 6c 65 6e 61 6d 65 2c 20 63 6f 6e char.*.const.input_filename,.con
5ac0 73 74 20 69 6e 74 20 69 6e 66 64 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 st.int.infd,....................
5ae0 63 6f 6e 73 74 20 4d 6f 64 65 20 70 72 6f 67 72 61 6d 5f 6d 6f 64 65 2c 20 69 6e 74 20 26 20 72 const.Mode.program_mode,.int.&.r
5b00 65 74 76 61 6c 20 29 0a 20 20 7b 0a 20 20 69 66 28 20 28 20 70 72 6f 67 72 61 6d 5f 6d 6f 64 65 etval.)...{...if(.(.program_mode
5b20 20 3d 3d 20 6d 5f 64 65 63 6f 6d 70 72 65 73 73 20 7c 7c 20 70 72 6f 67 72 61 6d 5f 6d 6f 64 65 .==.m_decompress.||.program_mode
5b40 20 3d 3d 20 6d 5f 74 65 73 74 20 29 20 26 26 0a 20 20 20 20 20 20 69 73 61 74 74 79 28 20 69 6e .==.m_test.).&&.......isatty(.in
5b60 66 64 20 29 20 29 09 09 09 09 2f 2f 20 66 6f 72 20 65 78 61 6d 70 6c 65 20 2f 64 65 76 2f 74 74 fd.).)....//.for.example./dev/tt
5b80 79 0a 20 20 20 20 7b 20 73 68 6f 77 5f 66 69 6c 65 5f 65 72 72 6f 72 28 20 69 6e 70 75 74 5f 66 y.....{.show_file_error(.input_f
5ba0 69 6c 65 6e 61 6d 65 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ilename,........................
5bc0 22 49 20 77 6f 6e 27 74 20 72 65 61 64 20 63 6f 6d 70 72 65 73 73 65 64 20 64 61 74 61 20 66 72 "I.won't.read.compressed.data.fr
5be0 6f 6d 20 61 20 74 65 72 6d 69 6e 61 6c 2e 22 20 29 3b 0a 20 20 20 20 20 20 63 6c 6f 73 65 28 20 om.a.terminal.".);.......close(.
5c00 69 6e 66 64 20 29 3b 20 73 65 74 5f 72 65 74 76 61 6c 28 20 72 65 74 76 61 6c 2c 20 31 20 29 3b infd.);.set_retval(.retval,.1.);
5c20 0a 20 20 20 20 20 20 69 66 28 20 70 72 6f 67 72 61 6d 5f 6d 6f 64 65 20 21 3d 20 6d 5f 74 65 73 .......if(.program_mode.!=.m_tes
5c40 74 20 29 20 63 6c 65 61 6e 75 70 5f 61 6e 64 5f 66 61 69 6c 28 20 72 65 74 76 61 6c 20 29 3b 0a t.).cleanup_and_fail(.retval.);.
5c60 20 20 20 20 20 20 72 65 74 75 72 6e 20 66 61 6c 73 65 3b 20 7d 0a 20 20 72 65 74 75 72 6e 20 74 ......return.false;.}...return.t
5c80 72 75 65 3b 0a 20 20 7d 0a 0a 62 6f 6f 6c 20 63 68 65 63 6b 5f 74 74 79 5f 6f 75 74 28 20 63 6f rue;...}..bool.check_tty_out(.co
5ca0 6e 73 74 20 4d 6f 64 65 20 70 72 6f 67 72 61 6d 5f 6d 6f 64 65 20 29 0a 20 20 7b 0a 20 20 69 66 nst.Mode.program_mode.)...{...if
5cc0 28 20 70 72 6f 67 72 61 6d 5f 6d 6f 64 65 20 3d 3d 20 6d 5f 63 6f 6d 70 72 65 73 73 20 26 26 20 (.program_mode.==.m_compress.&&.
5ce0 69 73 61 74 74 79 28 20 6f 75 74 66 64 20 29 20 29 0a 20 20 20 20 7b 20 73 68 6f 77 5f 66 69 6c isatty(.outfd.).).....{.show_fil
5d00 65 5f 65 72 72 6f 72 28 20 6f 75 74 70 75 74 5f 66 69 6c 65 6e 61 6d 65 2e 73 69 7a 65 28 29 20 e_error(.output_filename.size().
5d20 3f 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 6f 75 74 70 75 74 5f ?........................output_
5d40 66 69 6c 65 6e 61 6d 65 2e 63 5f 73 74 72 28 29 20 3a 20 22 28 73 74 64 6f 75 74 29 22 2c 0a 20 filename.c_str().:."(stdout)",..
5d60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 49 20 77 6f 6e 27 74 20 77 ......................"I.won't.w
5d80 72 69 74 65 20 63 6f 6d 70 72 65 73 73 65 64 20 64 61 74 61 20 74 6f 20 61 20 74 65 72 6d 69 6e rite.compressed.data.to.a.termin
5da0 61 6c 2e 22 20 29 3b 0a 20 20 20 20 20 20 72 65 74 75 72 6e 20 66 61 6c 73 65 3b 20 7d 0a 20 20 al.".);.......return.false;.}...
5dc0 72 65 74 75 72 6e 20 74 72 75 65 3b 0a 20 20 7d 0a 0a 0a 2f 2f 20 53 65 74 20 70 65 72 6d 69 73 return.true;...}...//.Set.permis
5de0 73 69 6f 6e 73 2c 20 6f 77 6e 65 72 2c 20 61 6e 64 20 74 69 6d 65 73 2e 0a 76 6f 69 64 20 63 6c sions,.owner,.and.times..void.cl
5e00 6f 73 65 5f 61 6e 64 5f 73 65 74 5f 70 65 72 6d 69 73 73 69 6f 6e 73 28 20 63 6f 6e 73 74 20 73 ose_and_set_permissions(.const.s
5e20 74 72 75 63 74 20 73 74 61 74 20 2a 20 63 6f 6e 73 74 20 69 6e 5f 73 74 61 74 73 70 20 29 0a 20 truct.stat.*.const.in_statsp.)..
5e40 20 7b 0a 20 20 62 6f 6f 6c 20 77 61 72 6e 69 6e 67 20 3d 20 66 61 6c 73 65 3b 0a 20 20 69 66 28 .{...bool.warning.=.false;...if(
5e60 20 69 6e 5f 73 74 61 74 73 70 20 29 0a 20 20 20 20 7b 0a 20 20 20 20 63 6f 6e 73 74 20 6d 6f 64 .in_statsp.).....{.....const.mod
5e80 65 5f 74 20 6d 6f 64 65 20 3d 20 69 6e 5f 73 74 61 74 73 70 2d 3e 73 74 5f 6d 6f 64 65 3b 0a 20 e_t.mode.=.in_statsp->st_mode;..
5ea0 20 20 20 2f 2f 20 66 63 68 6f 77 6e 20 77 69 6c 6c 20 69 6e 20 6d 61 6e 79 20 63 61 73 65 73 20 ...//.fchown.will.in.many.cases.
5ec0 72 65 74 75 72 6e 20 77 69 74 68 20 45 50 45 52 4d 2c 20 77 68 69 63 68 20 63 61 6e 20 62 65 20 return.with.EPERM,.which.can.be.
5ee0 73 61 66 65 6c 79 20 69 67 6e 6f 72 65 64 2e 0a 20 20 20 20 69 66 28 20 66 63 68 6f 77 6e 28 20 safely.ignored......if(.fchown(.
5f00 6f 75 74 66 64 2c 20 69 6e 5f 73 74 61 74 73 70 2d 3e 73 74 5f 75 69 64 2c 20 69 6e 5f 73 74 61 outfd,.in_statsp->st_uid,.in_sta
5f20 74 73 70 2d 3e 73 74 5f 67 69 64 20 29 20 3d 3d 20 30 20 29 0a 20 20 20 20 20 20 7b 20 69 66 28 tsp->st_gid.).==.0.).......{.if(
5f40 20 66 63 68 6d 6f 64 28 20 6f 75 74 66 64 2c 20 6d 6f 64 65 20 29 20 21 3d 20 30 20 29 20 77 61 .fchmod(.outfd,.mode.).!=.0.).wa
5f60 72 6e 69 6e 67 20 3d 20 74 72 75 65 3b 20 7d 0a 20 20 20 20 65 6c 73 65 0a 20 20 20 20 20 20 69 rning.=.true;.}.....else.......i
5f80 66 28 20 65 72 72 6e 6f 20 21 3d 20 45 50 45 52 4d 20 7c 7c 0a 20 20 20 20 20 20 20 20 20 20 66 f(.errno.!=.EPERM.||...........f
5fa0 63 68 6d 6f 64 28 20 6f 75 74 66 64 2c 20 6d 6f 64 65 20 26 20 7e 28 20 53 5f 49 53 55 49 44 20 chmod(.outfd,.mode.&.~(.S_ISUID.
5fc0 7c 20 53 5f 49 53 47 49 44 20 7c 20 53 5f 49 53 56 54 58 20 29 20 29 20 21 3d 20 30 20 29 0a 20 |.S_ISGID.|.S_ISVTX.).).!=.0.)..
5fe0 20 20 20 20 20 20 20 77 61 72 6e 69 6e 67 20 3d 20 74 72 75 65 3b 0a 20 20 20 20 7d 0a 20 20 69 .......warning.=.true;.....}...i
6000 66 28 20 63 6c 6f 73 65 28 20 6f 75 74 66 64 20 29 20 21 3d 20 30 20 29 0a 20 20 20 20 7b 0a 20 f(.close(.outfd.).!=.0.).....{..
6020 20 20 20 73 68 6f 77 5f 65 72 72 6f 72 28 20 22 45 72 72 6f 72 20 63 6c 6f 73 69 6e 67 20 6f 75 ...show_error(."Error.closing.ou
6040 74 70 75 74 20 66 69 6c 65 22 2c 20 65 72 72 6e 6f 20 29 3b 0a 20 20 20 20 63 6c 65 61 6e 75 70 tput.file",.errno.);.....cleanup
6060 5f 61 6e 64 5f 66 61 69 6c 28 20 31 20 29 3b 0a 20 20 20 20 7d 0a 20 20 6f 75 74 66 64 20 3d 20 _and_fail(.1.);.....}...outfd.=.
6080 2d 31 3b 0a 20 20 64 65 6c 65 74 65 5f 6f 75 74 70 75 74 5f 6f 6e 5f 69 6e 74 65 72 72 75 70 74 -1;...delete_output_on_interrupt
60a0 20 3d 20 66 61 6c 73 65 3b 0a 20 20 69 66 28 20 69 6e 5f 73 74 61 74 73 70 20 29 0a 20 20 20 20 .=.false;...if(.in_statsp.).....
60c0 7b 0a 20 20 20 20 73 74 72 75 63 74 20 75 74 69 6d 62 75 66 20 74 3b 0a 20 20 20 20 74 2e 61 63 {.....struct.utimbuf.t;.....t.ac
60e0 74 69 6d 65 20 3d 20 69 6e 5f 73 74 61 74 73 70 2d 3e 73 74 5f 61 74 69 6d 65 3b 0a 20 20 20 20 time.=.in_statsp->st_atime;.....
6100 74 2e 6d 6f 64 74 69 6d 65 20 3d 20 69 6e 5f 73 74 61 74 73 70 2d 3e 73 74 5f 6d 74 69 6d 65 3b t.modtime.=.in_statsp->st_mtime;
6120 0a 20 20 20 20 69 66 28 20 75 74 69 6d 65 28 20 6f 75 74 70 75 74 5f 66 69 6c 65 6e 61 6d 65 2e .....if(.utime(.output_filename.
6140 63 5f 73 74 72 28 29 2c 20 26 74 20 29 20 21 3d 20 30 20 29 20 77 61 72 6e 69 6e 67 20 3d 20 74 c_str(),.&t.).!=.0.).warning.=.t
6160 72 75 65 3b 0a 20 20 20 20 7d 0a 20 20 69 66 28 20 77 61 72 6e 69 6e 67 20 26 26 20 76 65 72 62 rue;.....}...if(.warning.&&.verb
6180 6f 73 69 74 79 20 3e 3d 20 31 20 29 0a 20 20 20 20 73 68 6f 77 5f 65 72 72 6f 72 28 20 22 43 61 osity.>=.1.).....show_error(."Ca
61a0 6e 27 74 20 63 68 61 6e 67 65 20 6f 75 74 70 75 74 20 66 69 6c 65 20 61 74 74 72 69 62 75 74 65 n't.change.output.file.attribute
61c0 73 2e 22 20 29 3b 0a 20 20 7d 0a 0a 0a 62 6f 6f 6c 20 6e 65 78 74 5f 66 69 6c 65 6e 61 6d 65 28 s.".);...}...bool.next_filename(
61e0 29 0a 20 20 7b 0a 20 20 63 6f 6e 73 74 20 75 6e 73 69 67 6e 65 64 20 6e 61 6d 65 5f 6c 65 6e 20 )...{...const.unsigned.name_len.
6200 3d 20 6f 75 74 70 75 74 5f 66 69 6c 65 6e 61 6d 65 2e 73 69 7a 65 28 29 3b 0a 20 20 63 6f 6e 73 =.output_filename.size();...cons
6220 74 20 75 6e 73 69 67 6e 65 64 20 65 78 74 5f 6c 65 6e 20 3d 20 73 74 64 3a 3a 73 74 72 6c 65 6e t.unsigned.ext_len.=.std::strlen
6240 28 20 6b 6e 6f 77 6e 5f 65 78 74 65 6e 73 69 6f 6e 73 5b 30 5d 2e 66 72 6f 6d 20 29 3b 0a 20 20 (.known_extensions[0].from.);...
6260 69 66 28 20 6e 61 6d 65 5f 6c 65 6e 20 3e 3d 20 65 78 74 5f 6c 65 6e 20 2b 20 35 20 29 09 09 09 if(.name_len.>=.ext_len.+.5.)...
6280 09 2f 2f 20 22 2a 30 30 30 30 31 2e 6c 7a 22 0a 20 20 20 20 66 6f 72 28 20 69 6e 74 20 69 20 3d .//."*00001.lz".....for(.int.i.=
62a0 20 6e 61 6d 65 5f 6c 65 6e 20 2d 20 65 78 74 5f 6c 65 6e 20 2d 20 31 2c 20 6a 20 3d 20 30 3b 20 .name_len.-.ext_len.-.1,.j.=.0;.
62c0 6a 20 3c 20 35 3b 20 2d 2d 69 2c 20 2b 2b 6a 20 29 0a 20 20 20 20 20 20 7b 0a 20 20 20 20 20 20 j.<.5;.--i,.++j.).......{.......
62e0 69 66 28 20 6f 75 74 70 75 74 5f 66 69 6c 65 6e 61 6d 65 5b 69 5d 20 3c 20 27 39 27 20 29 20 7b if(.output_filename[i].<.'9'.).{
6300 20 2b 2b 6f 75 74 70 75 74 5f 66 69 6c 65 6e 61 6d 65 5b 69 5d 3b 20 72 65 74 75 72 6e 20 74 72 .++output_filename[i];.return.tr
6320 75 65 3b 20 7d 0a 20 20 20 20 20 20 65 6c 73 65 20 6f 75 74 70 75 74 5f 66 69 6c 65 6e 61 6d 65 ue;.}.......else.output_filename
6340 5b 69 5d 20 3d 20 27 30 27 3b 0a 20 20 20 20 20 20 7d 0a 20 20 72 65 74 75 72 6e 20 66 61 6c 73 [i].=.'0';.......}...return.fals
6360 65 3b 0a 20 20 7d 0a 0a 0a 69 6e 74 20 63 6f 6d 70 72 65 73 73 28 20 63 6f 6e 73 74 20 75 6e 73 e;...}...int.compress(.const.uns
6380 69 67 6e 65 64 20 6c 6f 6e 67 20 6c 6f 6e 67 20 63 66 69 6c 65 5f 73 69 7a 65 2c 0a 20 20 20 20 igned.long.long.cfile_size,.....
63a0 20 20 20 20 20 20 20 20 20 20 63 6f 6e 73 74 20 75 6e 73 69 67 6e 65 64 20 6c 6f 6e 67 20 6c 6f ..........const.unsigned.long.lo
63c0 6e 67 20 6d 65 6d 62 65 72 5f 73 69 7a 65 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 63 6f ng.member_size,...............co
63e0 6e 73 74 20 75 6e 73 69 67 6e 65 64 20 6c 6f 6e 67 20 6c 6f 6e 67 20 76 6f 6c 75 6d 65 5f 73 69 nst.unsigned.long.long.volume_si
6400 7a 65 2c 20 63 6f 6e 73 74 20 69 6e 74 20 69 6e 66 64 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 ze,.const.int.infd,.............
6420 20 20 63 6f 6e 73 74 20 4c 7a 6d 61 5f 6f 70 74 69 6f 6e 73 20 26 20 65 6e 63 6f 64 65 72 5f 6f ..const.Lzma_options.&.encoder_o
6440 70 74 69 6f 6e 73 2c 20 63 6f 6e 73 74 20 50 72 65 74 74 79 5f 70 72 69 6e 74 20 26 20 70 70 2c ptions,.const.Pretty_print.&.pp,
6460 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 63 6f 6e 73 74 20 73 74 72 75 63 74 20 73 74 61 74 ...............const.struct.stat
6480 20 2a 20 63 6f 6e 73 74 20 69 6e 5f 73 74 61 74 73 70 2c 20 63 6f 6e 73 74 20 62 6f 6f 6c 20 7a .*.const.in_statsp,.const.bool.z
64a0 65 72 6f 20 29 0a 20 20 7b 0a 20 20 69 6e 74 20 72 65 74 76 61 6c 20 3d 20 30 3b 0a 20 20 4c 5a ero.)...{...int.retval.=.0;...LZ
64c0 5f 65 6e 63 6f 64 65 72 5f 62 61 73 65 20 2a 20 65 6e 63 6f 64 65 72 20 3d 20 30 3b 09 09 2f 2f _encoder_base.*.encoder.=.0;..//
64e0 20 70 6f 6c 79 6d 6f 72 70 68 69 63 20 65 6e 63 6f 64 65 72 0a 20 20 69 66 28 20 76 65 72 62 6f .polymorphic.encoder...if(.verbo
6500 73 69 74 79 20 3e 3d 20 31 20 29 20 70 70 28 29 3b 0a 0a 20 20 69 66 28 20 7a 65 72 6f 20 29 0a sity.>=.1.).pp();....if(.zero.).
6520 20 20 20 20 65 6e 63 6f 64 65 72 20 3d 20 6e 65 77 20 46 4c 5a 5f 65 6e 63 6f 64 65 72 28 20 69 ....encoder.=.new.FLZ_encoder(.i
6540 6e 66 64 2c 20 6f 75 74 66 64 20 29 3b 0a 20 20 65 6c 73 65 0a 20 20 20 20 7b 0a 20 20 20 20 4c nfd,.outfd.);...else.....{.....L
6560 7a 69 70 5f 68 65 61 64 65 72 20 68 65 61 64 65 72 3b 0a 20 20 20 20 69 66 28 20 68 65 61 64 65 zip_header.header;.....if(.heade
6580 72 2e 64 69 63 74 69 6f 6e 61 72 79 5f 73 69 7a 65 28 20 65 6e 63 6f 64 65 72 5f 6f 70 74 69 6f r.dictionary_size(.encoder_optio
65a0 6e 73 2e 64 69 63 74 69 6f 6e 61 72 79 5f 73 69 7a 65 20 29 20 26 26 0a 20 20 20 20 20 20 20 20 ns.dictionary_size.).&&.........
65c0 65 6e 63 6f 64 65 72 5f 6f 70 74 69 6f 6e 73 2e 6d 61 74 63 68 5f 6c 65 6e 5f 6c 69 6d 69 74 20 encoder_options.match_len_limit.
65e0 3e 3d 20 6d 69 6e 5f 6d 61 74 63 68 5f 6c 65 6e 5f 6c 69 6d 69 74 20 26 26 0a 20 20 20 20 20 20 >=.min_match_len_limit.&&.......
6600 20 20 65 6e 63 6f 64 65 72 5f 6f 70 74 69 6f 6e 73 2e 6d 61 74 63 68 5f 6c 65 6e 5f 6c 69 6d 69 ..encoder_options.match_len_limi
6620 74 20 3c 3d 20 6d 61 78 5f 6d 61 74 63 68 5f 6c 65 6e 20 29 0a 20 20 20 20 20 20 65 6e 63 6f 64 t.<=.max_match_len.).......encod
6640 65 72 20 3d 20 6e 65 77 20 4c 5a 5f 65 6e 63 6f 64 65 72 28 20 68 65 61 64 65 72 2e 64 69 63 74 er.=.new.LZ_encoder(.header.dict
6660 69 6f 6e 61 72 79 5f 73 69 7a 65 28 29 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ionary_size(),..................
6680 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 65 6e 63 6f 64 65 72 5f 6f 70 74 69 6f 6e 73 2e 6d ...............encoder_options.m
66a0 61 74 63 68 5f 6c 65 6e 5f 6c 69 6d 69 74 2c 20 69 6e 66 64 2c 20 6f 75 74 66 64 20 29 3b 0a 20 atch_len_limit,.infd,.outfd.);..
66c0 20 20 20 65 6c 73 65 20 69 6e 74 65 72 6e 61 6c 5f 65 72 72 6f 72 28 20 22 69 6e 76 61 6c 69 64 ...else.internal_error(."invalid
66e0 20 61 72 67 75 6d 65 6e 74 20 74 6f 20 65 6e 63 6f 64 65 72 2e 22 20 29 3b 0a 20 20 20 20 7d 0a .argument.to.encoder.".);.....}.
6700 0a 20 20 75 6e 73 69 67 6e 65 64 20 6c 6f 6e 67 20 6c 6f 6e 67 20 69 6e 5f 73 69 7a 65 20 3d 20 ...unsigned.long.long.in_size.=.
6720 30 2c 20 6f 75 74 5f 73 69 7a 65 20 3d 20 30 2c 20 70 61 72 74 69 61 6c 5f 76 6f 6c 75 6d 65 5f 0,.out_size.=.0,.partial_volume_
6740 73 69 7a 65 20 3d 20 30 3b 0a 20 20 77 68 69 6c 65 28 20 74 72 75 65 20 29 09 09 2f 2f 20 65 6e size.=.0;...while(.true.)..//.en
6760 63 6f 64 65 20 6f 6e 65 20 6d 65 6d 62 65 72 20 70 65 72 20 69 74 65 72 61 74 69 6f 6e 0a 20 20 code.one.member.per.iteration...
6780 20 20 7b 0a 20 20 20 20 63 6f 6e 73 74 20 75 6e 73 69 67 6e 65 64 20 6c 6f 6e 67 20 6c 6f 6e 67 ..{.....const.unsigned.long.long
67a0 20 73 69 7a 65 20 3d 20 28 20 76 6f 6c 75 6d 65 5f 73 69 7a 65 20 3e 20 30 20 29 20 3f 0a 20 20 .size.=.(.volume_size.>.0.).?...
67c0 20 20 20 20 73 74 64 3a 3a 6d 69 6e 28 20 6d 65 6d 62 65 72 5f 73 69 7a 65 2c 20 76 6f 6c 75 6d ....std::min(.member_size,.volum
67e0 65 5f 73 69 7a 65 20 2d 20 70 61 72 74 69 61 6c 5f 76 6f 6c 75 6d 65 5f 73 69 7a 65 20 29 20 3a e_size.-.partial_volume_size.).:
6800 20 6d 65 6d 62 65 72 5f 73 69 7a 65 3b 0a 20 20 20 20 73 68 6f 77 5f 63 70 72 6f 67 72 65 73 73 .member_size;.....show_cprogress
6820 28 20 63 66 69 6c 65 5f 73 69 7a 65 2c 20 69 6e 5f 73 69 7a 65 2c 20 65 6e 63 6f 64 65 72 2c 20 (.cfile_size,.in_size,.encoder,.
6840 26 70 70 20 29 3b 09 2f 2f 20 69 6e 69 74 0a 20 20 20 20 69 66 28 20 21 65 6e 63 6f 64 65 72 2d &pp.);.//.init.....if(.!encoder-
6860 3e 65 6e 63 6f 64 65 5f 6d 65 6d 62 65 72 28 20 73 69 7a 65 20 29 20 29 0a 20 20 20 20 20 20 7b >encode_member(.size.).).......{
6880 20 70 70 28 20 22 45 6e 63 6f 64 65 72 20 65 72 72 6f 72 2e 22 20 29 3b 20 72 65 74 76 61 6c 20 .pp(."Encoder.error.".);.retval.
68a0 3d 20 31 3b 20 62 72 65 61 6b 3b 20 7d 0a 20 20 20 20 69 6e 5f 73 69 7a 65 20 2b 3d 20 65 6e 63 =.1;.break;.}.....in_size.+=.enc
68c0 6f 64 65 72 2d 3e 64 61 74 61 5f 70 6f 73 69 74 69 6f 6e 28 29 3b 0a 20 20 20 20 6f 75 74 5f 73 oder->data_position();.....out_s
68e0 69 7a 65 20 2b 3d 20 65 6e 63 6f 64 65 72 2d 3e 6d 65 6d 62 65 72 5f 70 6f 73 69 74 69 6f 6e 28 ize.+=.encoder->member_position(
6900 29 3b 0a 20 20 20 20 69 66 28 20 65 6e 63 6f 64 65 72 2d 3e 64 61 74 61 5f 66 69 6e 69 73 68 65 );.....if(.encoder->data_finishe
6920 64 28 29 20 29 20 62 72 65 61 6b 3b 0a 20 20 20 20 69 66 28 20 76 6f 6c 75 6d 65 5f 73 69 7a 65 d().).break;.....if(.volume_size
6940 20 3e 20 30 20 29 0a 20 20 20 20 20 20 7b 0a 20 20 20 20 20 20 70 61 72 74 69 61 6c 5f 76 6f 6c .>.0.).......{.......partial_vol
6960 75 6d 65 5f 73 69 7a 65 20 2b 3d 20 65 6e 63 6f 64 65 72 2d 3e 6d 65 6d 62 65 72 5f 70 6f 73 69 ume_size.+=.encoder->member_posi
6980 74 69 6f 6e 28 29 3b 0a 20 20 20 20 20 20 69 66 28 20 70 61 72 74 69 61 6c 5f 76 6f 6c 75 6d 65 tion();.......if(.partial_volume
69a0 5f 73 69 7a 65 20 3e 3d 20 76 6f 6c 75 6d 65 5f 73 69 7a 65 20 2d 20 6d 69 6e 5f 64 69 63 74 69 _size.>=.volume_size.-.min_dicti
69c0 6f 6e 61 72 79 5f 73 69 7a 65 20 29 0a 20 20 20 20 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 70 onary_size.).........{.........p
69e0 61 72 74 69 61 6c 5f 76 6f 6c 75 6d 65 5f 73 69 7a 65 20 3d 20 30 3b 0a 20 20 20 20 20 20 20 20 artial_volume_size.=.0;.........
6a00 69 66 28 20 64 65 6c 65 74 65 5f 6f 75 74 70 75 74 5f 6f 6e 5f 69 6e 74 65 72 72 75 70 74 20 29 if(.delete_output_on_interrupt.)
6a20 0a 20 20 20 20 20 20 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 20 20 63 6c 6f 73 65 5f 61 6e 64 ...........{...........close_and
6a40 5f 73 65 74 5f 70 65 72 6d 69 73 73 69 6f 6e 73 28 20 69 6e 5f 73 74 61 74 73 70 20 29 3b 0a 20 _set_permissions(.in_statsp.);..
6a60 20 20 20 20 20 20 20 20 20 69 66 28 20 21 6e 65 78 74 5f 66 69 6c 65 6e 61 6d 65 28 29 20 29 0a .........if(.!next_filename().).
6a80 20 20 20 20 20 20 20 20 20 20 20 20 7b 20 70 70 28 20 22 54 6f 6f 20 6d 61 6e 79 20 76 6f 6c 75 ............{.pp(."Too.many.volu
6aa0 6d 65 20 66 69 6c 65 73 2e 22 20 29 3b 20 72 65 74 76 61 6c 20 3d 20 31 3b 20 62 72 65 61 6b 3b me.files.".);.retval.=.1;.break;
6ac0 20 7d 0a 20 20 20 20 20 20 20 20 20 20 69 66 28 20 21 6f 70 65 6e 5f 6f 75 74 73 74 72 65 61 6d .}...........if(.!open_outstream
6ae0 28 20 74 72 75 65 2c 20 69 6e 5f 73 74 61 74 73 70 20 29 20 29 20 7b 20 72 65 74 76 61 6c 20 3d (.true,.in_statsp.).).{.retval.=
6b00 20 31 3b 20 62 72 65 61 6b 3b 20 7d 0a 20 20 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 .1;.break;.}...........}........
6b20 20 7d 0a 20 20 20 20 20 20 7d 0a 20 20 20 20 65 6e 63 6f 64 65 72 2d 3e 72 65 73 65 74 28 29 3b .}.......}.....encoder->reset();
6b40 0a 20 20 20 20 7d 0a 0a 20 20 69 66 28 20 72 65 74 76 61 6c 20 3d 3d 20 30 20 26 26 20 76 65 72 .....}....if(.retval.==.0.&&.ver
6b60 62 6f 73 69 74 79 20 3e 3d 20 31 20 29 0a 20 20 20 20 7b 0a 20 20 20 20 69 66 28 20 69 6e 5f 73 bosity.>=.1.).....{.....if(.in_s
6b80 69 7a 65 20 3d 3d 20 30 20 7c 7c 20 6f 75 74 5f 73 69 7a 65 20 3d 3d 20 30 20 29 0a 20 20 20 20 ize.==.0.||.out_size.==.0.).....
6ba0 20 20 73 74 64 3a 3a 66 70 75 74 73 28 20 22 20 6e 6f 20 64 61 74 61 20 63 6f 6d 70 72 65 73 73 ..std::fputs(.".no.data.compress
6bc0 65 64 2e 5c 6e 22 2c 20 73 74 64 65 72 72 20 29 3b 0a 20 20 20 20 65 6c 73 65 0a 20 20 20 20 20 ed.\n",.stderr.);.....else......
6be0 20 73 74 64 3a 3a 66 70 72 69 6e 74 66 28 20 73 74 64 65 72 72 2c 20 22 25 36 2e 33 66 3a 31 2c .std::fprintf(.stderr,."%6.3f:1,
6c00 20 25 35 2e 32 66 25 25 20 72 61 74 69 6f 2c 20 25 35 2e 32 66 25 25 20 73 61 76 65 64 2c 20 22 .%5.2f%%.ratio,.%5.2f%%.saved,."
6c20 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 25 6c ............................."%l
6c40 6c 75 20 69 6e 2c 20 25 6c 6c 75 20 6f 75 74 2e 5c 6e 22 2c 0a 20 20 20 20 20 20 20 20 20 20 20 lu.in,.%llu.out.\n",............
6c60 20 20 20 20 20 20 20 20 20 28 64 6f 75 62 6c 65 29 69 6e 5f 73 69 7a 65 20 2f 20 6f 75 74 5f 73 .........(double)in_size./.out_s
6c80 69 7a 65 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 20 31 30 30 2e 30 ize,.....................(.100.0
6ca0 20 2a 20 6f 75 74 5f 73 69 7a 65 20 29 20 2f 20 69 6e 5f 73 69 7a 65 2c 0a 20 20 20 20 20 20 20 .*.out_size.)./.in_size,........
6cc0 20 20 20 20 20 20 20 20 20 20 20 20 20 31 30 30 2e 30 20 2d 20 28 20 28 20 31 30 30 2e 30 20 2a .............100.0.-.(.(.100.0.*
6ce0 20 6f 75 74 5f 73 69 7a 65 20 29 20 2f 20 69 6e 5f 73 69 7a 65 20 29 2c 0a 20 20 20 20 20 20 20 .out_size.)./.in_size.),........
6d00 20 20 20 20 20 20 20 20 20 20 20 20 20 69 6e 5f 73 69 7a 65 2c 20 6f 75 74 5f 73 69 7a 65 20 29 .............in_size,.out_size.)
6d20 3b 0a 20 20 20 20 7d 0a 20 20 64 65 6c 65 74 65 20 65 6e 63 6f 64 65 72 3b 0a 20 20 72 65 74 75 ;.....}...delete.encoder;...retu
6d40 72 6e 20 72 65 74 76 61 6c 3b 0a 20 20 7d 0a 0a 0a 75 6e 73 69 67 6e 65 64 20 63 68 61 72 20 78 rn.retval;...}...unsigned.char.x
6d60 64 69 67 69 74 28 20 63 6f 6e 73 74 20 75 6e 73 69 67 6e 65 64 20 76 61 6c 75 65 20 29 0a 20 20 digit(.const.unsigned.value.)...
6d80 7b 0a 20 20 69 66 28 20 76 61 6c 75 65 20 3c 3d 20 39 20 29 20 72 65 74 75 72 6e 20 27 30 27 20 {...if(.value.<=.9.).return.'0'.
6da0 2b 20 76 61 6c 75 65 3b 0a 20 20 69 66 28 20 76 61 6c 75 65 20 3c 3d 20 31 35 20 29 20 72 65 74 +.value;...if(.value.<=.15.).ret
6dc0 75 72 6e 20 27 41 27 20 2b 20 76 61 6c 75 65 20 2d 20 31 30 3b 0a 20 20 72 65 74 75 72 6e 20 30 urn.'A'.+.value.-.10;...return.0
6de0 3b 0a 20 20 7d 0a 0a 0a 62 6f 6f 6c 20 73 68 6f 77 5f 74 72 61 69 6c 69 6e 67 5f 64 61 74 61 28 ;...}...bool.show_trailing_data(
6e00 20 63 6f 6e 73 74 20 75 69 6e 74 38 5f 74 20 2a 20 63 6f 6e 73 74 20 64 61 74 61 2c 20 63 6f 6e .const.uint8_t.*.const.data,.con
6e20 73 74 20 69 6e 74 20 73 69 7a 65 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 st.int.size,....................
6e40 20 20 20 20 20 20 63 6f 6e 73 74 20 50 72 65 74 74 79 5f 70 72 69 6e 74 20 26 20 70 70 2c 20 63 ......const.Pretty_print.&.pp,.c
6e60 6f 6e 73 74 20 62 6f 6f 6c 20 61 6c 6c 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 onst.bool.all,..................
6e80 20 20 20 20 20 20 20 20 63 6f 6e 73 74 20 69 6e 74 20 69 67 6e 6f 72 65 5f 74 72 61 69 6c 69 6e ........const.int.ignore_trailin
6ea0 67 20 29 09 2f 2f 20 2d 31 20 3d 20 73 68 6f 77 0a 20 20 7b 0a 20 20 69 66 28 20 76 65 72 62 6f g.).//.-1.=.show...{...if(.verbo
6ec0 73 69 74 79 20 3e 3d 20 34 20 7c 7c 20 69 67 6e 6f 72 65 5f 74 72 61 69 6c 69 6e 67 20 3c 3d 20 sity.>=.4.||.ignore_trailing.<=.
6ee0 30 20 29 0a 20 20 20 20 7b 0a 20 20 20 20 73 74 64 3a 3a 73 74 72 69 6e 67 20 6d 73 67 3b 0a 20 0.).....{.....std::string.msg;..
6f00 20 20 20 69 66 28 20 21 61 6c 6c 20 29 20 6d 73 67 20 3d 20 22 66 69 72 73 74 20 62 79 74 65 73 ...if(.!all.).msg.=."first.bytes
6f20 20 6f 66 20 22 3b 0a 20 20 20 20 6d 73 67 20 2b 3d 20 22 74 72 61 69 6c 69 6e 67 20 64 61 74 61 .of.";.....msg.+=."trailing.data
6f40 20 3d 20 22 3b 0a 20 20 20 20 66 6f 72 28 20 69 6e 74 20 69 20 3d 20 30 3b 20 69 20 3c 20 73 69 .=.";.....for(.int.i.=.0;.i.<.si
6f60 7a 65 3b 20 2b 2b 69 20 29 0a 20 20 20 20 20 20 7b 0a 20 20 20 20 20 20 6d 73 67 20 2b 3d 20 78 ze;.++i.).......{.......msg.+=.x
6f80 64 69 67 69 74 28 20 64 61 74 61 5b 69 5d 20 3e 3e 20 34 20 29 3b 0a 20 20 20 20 20 20 6d 73 67 digit(.data[i].>>.4.);.......msg
6fa0 20 2b 3d 20 78 64 69 67 69 74 28 20 64 61 74 61 5b 69 5d 20 26 20 30 78 30 46 20 29 3b 0a 20 20 .+=.xdigit(.data[i].&.0x0F.);...
6fc0 20 20 20 20 6d 73 67 20 2b 3d 20 27 20 27 3b 0a 20 20 20 20 20 20 7d 0a 20 20 20 20 6d 73 67 20 ....msg.+=.'.';.......}.....msg.
6fe0 2b 3d 20 27 5c 27 27 3b 0a 20 20 20 20 66 6f 72 28 20 69 6e 74 20 69 20 3d 20 30 3b 20 69 20 3c +=.'\'';.....for(.int.i.=.0;.i.<
7000 20 73 69 7a 65 3b 20 2b 2b 69 20 29 0a 20 20 20 20 20 20 7b 20 69 66 28 20 73 74 64 3a 3a 69 73 .size;.++i.).......{.if(.std::is
7020 70 72 69 6e 74 28 20 64 61 74 61 5b 69 5d 20 29 20 29 20 6d 73 67 20 2b 3d 20 64 61 74 61 5b 69 print(.data[i].).).msg.+=.data[i
7040 5d 3b 20 65 6c 73 65 20 6d 73 67 20 2b 3d 20 27 2e 27 3b 20 7d 0a 20 20 20 20 6d 73 67 20 2b 3d ];.else.msg.+=.'.';.}.....msg.+=
7060 20 27 5c 27 27 3b 0a 20 20 20 20 70 70 28 20 6d 73 67 2e 63 5f 73 74 72 28 29 20 29 3b 0a 20 20 .'\'';.....pp(.msg.c_str().);...
7080 20 20 69 66 28 20 69 67 6e 6f 72 65 5f 74 72 61 69 6c 69 6e 67 20 3d 3d 20 30 20 29 20 73 68 6f ..if(.ignore_trailing.==.0.).sho
70a0 77 5f 66 69 6c 65 5f 65 72 72 6f 72 28 20 70 70 2e 6e 61 6d 65 28 29 2c 20 74 72 61 69 6c 69 6e w_file_error(.pp.name(),.trailin
70c0 67 5f 6d 73 67 20 29 3b 0a 20 20 20 20 7d 0a 20 20 72 65 74 75 72 6e 20 28 20 69 67 6e 6f 72 65 g_msg.);.....}...return.(.ignore
70e0 5f 74 72 61 69 6c 69 6e 67 20 3e 20 30 20 29 3b 0a 20 20 7d 0a 0a 0a 69 6e 74 20 64 65 63 6f 6d _trailing.>.0.);...}...int.decom
7100 70 72 65 73 73 28 20 63 6f 6e 73 74 20 75 6e 73 69 67 6e 65 64 20 6c 6f 6e 67 20 6c 6f 6e 67 20 press(.const.unsigned.long.long.
7120 63 66 69 6c 65 5f 73 69 7a 65 2c 20 63 6f 6e 73 74 20 69 6e 74 20 69 6e 66 64 2c 0a 20 20 20 20 cfile_size,.const.int.infd,.....
7140 20 20 20 20 20 20 20 20 20 20 20 20 63 6f 6e 73 74 20 50 72 65 74 74 79 5f 70 72 69 6e 74 20 26 ............const.Pretty_print.&
7160 20 70 70 2c 20 63 6f 6e 73 74 20 62 6f 6f 6c 20 69 67 6e 6f 72 65 5f 74 72 61 69 6c 69 6e 67 2c .pp,.const.bool.ignore_trailing,
7180 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 63 6f 6e 73 74 20 62 6f 6f 6c 20 6c 6f 6f 73 .................const.bool.loos
71a0 65 5f 74 72 61 69 6c 69 6e 67 2c 20 63 6f 6e 73 74 20 62 6f 6f 6c 20 74 65 73 74 69 6e 67 20 29 e_trailing,.const.bool.testing.)
71c0 0a 20 20 7b 0a 20 20 69 6e 74 20 72 65 74 76 61 6c 20 3d 20 30 3b 0a 20 20 75 6e 73 69 67 6e 65 ...{...int.retval.=.0;...unsigne
71e0 64 20 6c 6f 6e 67 20 6c 6f 6e 67 20 70 61 72 74 69 61 6c 5f 66 69 6c 65 5f 70 6f 73 20 3d 20 30 d.long.long.partial_file_pos.=.0
7200 3b 0a 20 20 52 61 6e 67 65 5f 64 65 63 6f 64 65 72 20 72 64 65 63 28 20 69 6e 66 64 20 29 3b 0a ;...Range_decoder.rdec(.infd.);.
7220 20 20 66 6f 72 28 20 62 6f 6f 6c 20 66 69 72 73 74 5f 6d 65 6d 62 65 72 20 3d 20 74 72 75 65 3b ..for(.bool.first_member.=.true;
7240 20 3b 20 66 69 72 73 74 5f 6d 65 6d 62 65 72 20 3d 20 66 61 6c 73 65 20 29 0a 20 20 20 20 7b 0a .;.first_member.=.false.).....{.
7260 20 20 20 20 4c 7a 69 70 5f 68 65 61 64 65 72 20 68 65 61 64 65 72 3b 0a 20 20 20 20 72 64 65 63 ....Lzip_header.header;.....rdec
7280 2e 72 65 73 65 74 5f 6d 65 6d 62 65 72 5f 70 6f 73 69 74 69 6f 6e 28 29 3b 0a 20 20 20 20 63 6f .reset_member_position();.....co
72a0 6e 73 74 20 69 6e 74 20 73 69 7a 65 20 3d 20 72 64 65 63 2e 72 65 61 64 5f 64 61 74 61 28 20 68 nst.int.size.=.rdec.read_data(.h
72c0 65 61 64 65 72 2e 64 61 74 61 2c 20 4c 7a 69 70 5f 68 65 61 64 65 72 3a 3a 73 69 7a 65 20 29 3b eader.data,.Lzip_header::size.);
72e0 0a 20 20 20 20 69 66 28 20 72 64 65 63 2e 66 69 6e 69 73 68 65 64 28 29 20 29 09 09 09 2f 2f 20 .....if(.rdec.finished().)...//.
7300 45 6e 64 20 4f 66 20 46 69 6c 65 0a 20 20 20 20 20 20 7b 0a 20 20 20 20 20 20 69 66 28 20 66 69 End.Of.File.......{.......if(.fi
7320 72 73 74 5f 6d 65 6d 62 65 72 20 29 0a 20 20 20 20 20 20 20 20 7b 20 73 68 6f 77 5f 66 69 6c 65 rst_member.).........{.show_file
7340 5f 65 72 72 6f 72 28 20 70 70 2e 6e 61 6d 65 28 29 2c 20 22 46 69 6c 65 20 65 6e 64 73 20 75 6e _error(.pp.name(),."File.ends.un
7360 65 78 70 65 63 74 65 64 6c 79 20 61 74 20 6d 65 6d 62 65 72 20 68 65 61 64 65 72 2e 22 20 29 3b expectedly.at.member.header.".);
7380 0a 20 20 20 20 20 20 20 20 20 20 72 65 74 76 61 6c 20 3d 20 32 3b 20 7d 0a 20 20 20 20 20 20 65 ...........retval.=.2;.}.......e
73a0 6c 73 65 20 69 66 28 20 68 65 61 64 65 72 2e 76 65 72 69 66 79 5f 70 72 65 66 69 78 28 20 73 69 lse.if(.header.verify_prefix(.si
73c0 7a 65 20 29 20 29 0a 20 20 20 20 20 20 20 20 7b 20 70 70 28 20 22 54 72 75 6e 63 61 74 65 64 20 ze.).).........{.pp(."Truncated.
73e0 68 65 61 64 65 72 20 69 6e 20 6d 75 6c 74 69 6d 65 6d 62 65 72 20 66 69 6c 65 2e 22 20 29 3b 0a header.in.multimember.file.".);.
7400 20 20 20 20 20 20 20 20 20 20 73 68 6f 77 5f 74 72 61 69 6c 69 6e 67 5f 64 61 74 61 28 20 68 65 ..........show_trailing_data(.he
7420 61 64 65 72 2e 64 61 74 61 2c 20 73 69 7a 65 2c 20 70 70 2c 20 74 72 75 65 2c 20 2d 31 20 29 3b ader.data,.size,.pp,.true,.-1.);
7440 0a 20 20 20 20 20 20 20 20 20 20 72 65 74 76 61 6c 20 3d 20 32 3b 20 7d 0a 20 20 20 20 20 20 65 ...........retval.=.2;.}.......e
7460 6c 73 65 20 69 66 28 20 73 69 7a 65 20 3e 20 30 20 26 26 20 21 73 68 6f 77 5f 74 72 61 69 6c 69 lse.if(.size.>.0.&&.!show_traili
7480 6e 67 5f 64 61 74 61 28 20 68 65 61 64 65 72 2e 64 61 74 61 2c 20 73 69 7a 65 2c 20 70 70 2c 0a ng_data(.header.data,.size,.pp,.
74a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
74c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 74 72 75 65 2c 20 69 67 6e 6f 72 65 5f 74 72 61 ................true,.ignore_tra
74e0 69 6c 69 6e 67 20 29 20 29 0a 20 20 20 20 20 20 20 20 72 65 74 76 61 6c 20 3d 20 32 3b 0a 20 20 iling.).).........retval.=.2;...
7500 20 20 20 20 62 72 65 61 6b 3b 0a 20 20 20 20 20 20 7d 0a 20 20 20 20 69 66 28 20 21 68 65 61 64 ....break;.......}.....if(.!head
7520 65 72 2e 76 65 72 69 66 79 5f 6d 61 67 69 63 28 29 20 29 0a 20 20 20 20 20 20 7b 0a 20 20 20 20 er.verify_magic().).......{.....
7540 20 20 69 66 28 20 66 69 72 73 74 5f 6d 65 6d 62 65 72 20 29 0a 20 20 20 20 20 20 20 20 7b 20 73 ..if(.first_member.).........{.s
7560 68 6f 77 5f 66 69 6c 65 5f 65 72 72 6f 72 28 20 70 70 2e 6e 61 6d 65 28 29 2c 20 62 61 64 5f 6d how_file_error(.pp.name(),.bad_m
7580 61 67 69 63 5f 6d 73 67 20 29 3b 20 72 65 74 76 61 6c 20 3d 20 32 3b 20 7d 0a 20 20 20 20 20 20 agic_msg.);.retval.=.2;.}.......
75a0 65 6c 73 65 20 69 66 28 20 21 6c 6f 6f 73 65 5f 74 72 61 69 6c 69 6e 67 20 26 26 20 68 65 61 64 else.if(.!loose_trailing.&&.head
75c0 65 72 2e 76 65 72 69 66 79 5f 63 6f 72 72 75 70 74 28 29 20 29 0a 20 20 20 20 20 20 20 20 7b 20 er.verify_corrupt().).........{.
75e0 70 70 28 20 63 6f 72 72 75 70 74 5f 6d 6d 5f 6d 73 67 20 29 3b 0a 20 20 20 20 20 20 20 20 20 20 pp(.corrupt_mm_msg.);...........
7600 73 68 6f 77 5f 74 72 61 69 6c 69 6e 67 5f 64 61 74 61 28 20 68 65 61 64 65 72 2e 64 61 74 61 2c show_trailing_data(.header.data,
7620 20 73 69 7a 65 2c 20 70 70 2c 20 66 61 6c 73 65 2c 20 2d 31 20 29 3b 0a 20 20 20 20 20 20 20 20 .size,.pp,.false,.-1.);.........
7640 20 20 72 65 74 76 61 6c 20 3d 20 32 3b 20 7d 0a 20 20 20 20 20 20 65 6c 73 65 20 69 66 28 20 21 ..retval.=.2;.}.......else.if(.!
7660 73 68 6f 77 5f 74 72 61 69 6c 69 6e 67 5f 64 61 74 61 28 20 68 65 61 64 65 72 2e 64 61 74 61 2c show_trailing_data(.header.data,
7680 20 73 69 7a 65 2c 20 70 70 2c 20 66 61 6c 73 65 2c 20 69 67 6e 6f 72 65 5f 74 72 61 69 6c 69 6e .size,.pp,.false,.ignore_trailin
76a0 67 20 29 20 29 0a 20 20 20 20 20 20 20 20 72 65 74 76 61 6c 20 3d 20 32 3b 0a 20 20 20 20 20 20 g.).).........retval.=.2;.......
76c0 62 72 65 61 6b 3b 0a 20 20 20 20 20 20 7d 0a 20 20 20 20 69 66 28 20 21 68 65 61 64 65 72 2e 76 break;.......}.....if(.!header.v
76e0 65 72 69 66 79 5f 76 65 72 73 69 6f 6e 28 29 20 29 0a 20 20 20 20 20 20 7b 20 70 70 28 20 62 61 erify_version().).......{.pp(.ba
7700 64 5f 76 65 72 73 69 6f 6e 28 20 68 65 61 64 65 72 2e 76 65 72 73 69 6f 6e 28 29 20 29 20 29 3b d_version(.header.version().).);
7720 20 72 65 74 76 61 6c 20 3d 20 32 3b 20 62 72 65 61 6b 3b 20 7d 0a 20 20 20 20 63 6f 6e 73 74 20 .retval.=.2;.break;.}.....const.
7740 75 6e 73 69 67 6e 65 64 20 64 69 63 74 69 6f 6e 61 72 79 5f 73 69 7a 65 20 3d 20 68 65 61 64 65 unsigned.dictionary_size.=.heade
7760 72 2e 64 69 63 74 69 6f 6e 61 72 79 5f 73 69 7a 65 28 29 3b 0a 20 20 20 20 69 66 28 20 21 69 73 r.dictionary_size();.....if(.!is
7780 76 61 6c 69 64 5f 64 73 28 20 64 69 63 74 69 6f 6e 61 72 79 5f 73 69 7a 65 20 29 20 29 0a 20 20 valid_ds(.dictionary_size.).)...
77a0 20 20 20 20 7b 20 70 70 28 20 62 61 64 5f 64 69 63 74 5f 6d 73 67 20 29 3b 20 72 65 74 76 61 6c ....{.pp(.bad_dict_msg.);.retval
77c0 20 3d 20 32 3b 20 62 72 65 61 6b 3b 20 7d 0a 0a 20 20 20 20 69 66 28 20 76 65 72 62 6f 73 69 74 .=.2;.break;.}......if(.verbosit
77e0 79 20 3e 3d 20 32 20 7c 7c 20 28 20 76 65 72 62 6f 73 69 74 79 20 3d 3d 20 31 20 26 26 20 66 69 y.>=.2.||.(.verbosity.==.1.&&.fi
7800 72 73 74 5f 6d 65 6d 62 65 72 20 29 20 29 20 70 70 28 29 3b 0a 0a 20 20 20 20 4c 5a 5f 64 65 63 rst_member.).).pp();......LZ_dec
7820 6f 64 65 72 20 64 65 63 6f 64 65 72 28 20 72 64 65 63 2c 20 64 69 63 74 69 6f 6e 61 72 79 5f 73 oder.decoder(.rdec,.dictionary_s
7840 69 7a 65 2c 20 6f 75 74 66 64 20 29 3b 0a 20 20 20 20 73 68 6f 77 5f 64 70 72 6f 67 72 65 73 73 ize,.outfd.);.....show_dprogress
7860 28 20 63 66 69 6c 65 5f 73 69 7a 65 2c 20 70 61 72 74 69 61 6c 5f 66 69 6c 65 5f 70 6f 73 2c 20 (.cfile_size,.partial_file_pos,.
7880 26 72 64 65 63 2c 20 26 70 70 20 29 3b 09 2f 2f 20 69 6e 69 74 0a 20 20 20 20 63 6f 6e 73 74 20 &rdec,.&pp.);.//.init.....const.
78a0 69 6e 74 20 72 65 73 75 6c 74 20 3d 20 64 65 63 6f 64 65 72 2e 64 65 63 6f 64 65 5f 6d 65 6d 62 int.result.=.decoder.decode_memb
78c0 65 72 28 20 70 70 20 29 3b 0a 20 20 20 20 70 61 72 74 69 61 6c 5f 66 69 6c 65 5f 70 6f 73 20 2b er(.pp.);.....partial_file_pos.+
78e0 3d 20 72 64 65 63 2e 6d 65 6d 62 65 72 5f 70 6f 73 69 74 69 6f 6e 28 29 3b 0a 20 20 20 20 69 66 =.rdec.member_position();.....if
7900 28 20 72 65 73 75 6c 74 20 21 3d 20 30 20 29 0a 20 20 20 20 20 20 7b 0a 20 20 20 20 20 20 69 66 (.result.!=.0.).......{.......if
7920 28 20 76 65 72 62 6f 73 69 74 79 20 3e 3d 20 30 20 26 26 20 72 65 73 75 6c 74 20 3c 3d 20 32 20 (.verbosity.>=.0.&&.result.<=.2.
7940 29 0a 20 20 20 20 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 70 70 28 29 3b 0a 20 20 20 20 20 20 ).........{.........pp();.......
7960 20 20 73 74 64 3a 3a 66 70 72 69 6e 74 66 28 20 73 74 64 65 72 72 2c 20 22 25 73 20 61 74 20 70 ..std::fprintf(.stderr,."%s.at.p
7980 6f 73 20 25 6c 6c 75 5c 6e 22 2c 20 28 20 72 65 73 75 6c 74 20 3d 3d 20 32 20 29 20 3f 0a 20 20 os.%llu\n",.(.result.==.2.).?...
79a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 46 69 6c 65 20 65 6e 64 73 20 75 ...................."File.ends.u
79c0 6e 65 78 70 65 63 74 65 64 6c 79 22 20 3a 20 22 44 65 63 6f 64 65 72 20 65 72 72 6f 72 22 2c 0a nexpectedly".:."Decoder.error",.
79e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 70 61 72 74 69 61 6c 5f 66 69 ......................partial_fi
7a00 6c 65 5f 70 6f 73 20 29 3b 0a 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 72 65 74 76 61 6c le_pos.);.........}.......retval
7a20 20 3d 20 32 3b 20 62 72 65 61 6b 3b 0a 20 20 20 20 20 20 7d 0a 20 20 20 20 69 66 28 20 76 65 72 .=.2;.break;.......}.....if(.ver
7a40 62 6f 73 69 74 79 20 3e 3d 20 32 20 29 0a 20 20 20 20 20 20 7b 20 73 74 64 3a 3a 66 70 75 74 73 bosity.>=.2.).......{.std::fputs
7a60 28 20 74 65 73 74 69 6e 67 20 3f 20 22 6f 6b 5c 6e 22 20 3a 20 22 64 6f 6e 65 5c 6e 22 2c 20 73 (.testing.?."ok\n".:."done\n",.s
7a80 74 64 65 72 72 20 29 3b 20 70 70 2e 72 65 73 65 74 28 29 3b 20 7d 0a 20 20 20 20 7d 0a 20 20 69 tderr.);.pp.reset();.}.....}...i
7aa0 66 28 20 76 65 72 62 6f 73 69 74 79 20 3d 3d 20 31 20 26 26 20 72 65 74 76 61 6c 20 3d 3d 20 30 f(.verbosity.==.1.&&.retval.==.0
7ac0 20 29 0a 20 20 20 20 73 74 64 3a 3a 66 70 75 74 73 28 20 74 65 73 74 69 6e 67 20 3f 20 22 6f 6b .).....std::fputs(.testing.?."ok
7ae0 5c 6e 22 20 3a 20 22 64 6f 6e 65 5c 6e 22 2c 20 73 74 64 65 72 72 20 29 3b 0a 20 20 72 65 74 75 \n".:."done\n",.stderr.);...retu
7b00 72 6e 20 72 65 74 76 61 6c 3b 0a 20 20 7d 0a 0a 7d 20 2f 2f 20 65 6e 64 20 6e 61 6d 65 73 70 61 rn.retval;...}..}.//.end.namespa
7b20 63 65 0a 0a 0a 76 6f 69 64 20 73 68 6f 77 5f 65 72 72 6f 72 28 20 63 6f 6e 73 74 20 63 68 61 72 ce...void.show_error(.const.char
7b40 20 2a 20 63 6f 6e 73 74 20 6d 73 67 2c 20 63 6f 6e 73 74 20 69 6e 74 20 65 72 72 63 6f 64 65 2c .*.const.msg,.const.int.errcode,
7b60 20 63 6f 6e 73 74 20 62 6f 6f 6c 20 68 65 6c 70 20 29 0a 20 20 7b 0a 20 20 69 66 28 20 76 65 72 .const.bool.help.)...{...if(.ver
7b80 62 6f 73 69 74 79 20 3c 20 30 20 29 20 72 65 74 75 72 6e 3b 0a 20 20 69 66 28 20 6d 73 67 20 26 bosity.<.0.).return;...if(.msg.&
7ba0 26 20 6d 73 67 5b 30 5d 20 29 0a 20 20 20 20 73 74 64 3a 3a 66 70 72 69 6e 74 66 28 20 73 74 64 &.msg[0].).....std::fprintf(.std
7bc0 65 72 72 2c 20 22 25 73 3a 20 25 73 25 73 25 73 5c 6e 22 2c 20 70 72 6f 67 72 61 6d 5f 6e 61 6d err,."%s:.%s%s%s\n",.program_nam
7be0 65 2c 20 6d 73 67 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 20 65 72 72 63 e,.msg,...................(.errc
7c00 6f 64 65 20 3e 20 30 20 29 20 3f 20 22 3a 20 22 20 3a 20 22 22 2c 0a 20 20 20 20 20 20 20 20 20 ode.>.0.).?.":.".:."",..........
7c20 20 20 20 20 20 20 20 20 20 28 20 65 72 72 63 6f 64 65 20 3e 20 30 20 29 20 3f 20 73 74 64 3a 3a .........(.errcode.>.0.).?.std::
7c40 73 74 72 65 72 72 6f 72 28 20 65 72 72 63 6f 64 65 20 29 20 3a 20 22 22 20 29 3b 0a 20 20 69 66 strerror(.errcode.).:."".);...if
7c60 28 20 68 65 6c 70 20 29 0a 20 20 20 20 73 74 64 3a 3a 66 70 72 69 6e 74 66 28 20 73 74 64 65 72 (.help.).....std::fprintf(.stder
7c80 72 2c 20 22 54 72 79 20 27 25 73 20 2d 2d 68 65 6c 70 27 20 66 6f 72 20 6d 6f 72 65 20 69 6e 66 r,."Try.'%s.--help'.for.more.inf
7ca0 6f 72 6d 61 74 69 6f 6e 2e 5c 6e 22 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ormation.\n",...................
7cc0 69 6e 76 6f 63 61 74 69 6f 6e 5f 6e 61 6d 65 20 29 3b 0a 20 20 7d 0a 0a 0a 76 6f 69 64 20 73 68 invocation_name.);...}...void.sh
7ce0 6f 77 5f 66 69 6c 65 5f 65 72 72 6f 72 28 20 63 6f 6e 73 74 20 63 68 61 72 20 2a 20 63 6f 6e 73 ow_file_error(.const.char.*.cons
7d00 74 20 66 69 6c 65 6e 61 6d 65 2c 20 63 6f 6e 73 74 20 63 68 61 72 20 2a 20 63 6f 6e 73 74 20 6d t.filename,.const.char.*.const.m
7d20 73 67 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 63 6f 6e 73 74 20 sg,.......................const.
7d40 69 6e 74 20 65 72 72 63 6f 64 65 20 29 0a 20 20 7b 0a 20 20 69 66 28 20 76 65 72 62 6f 73 69 74 int.errcode.)...{...if(.verbosit
7d60 79 20 3e 3d 20 30 20 29 0a 20 20 20 20 73 74 64 3a 3a 66 70 72 69 6e 74 66 28 20 73 74 64 65 72 y.>=.0.).....std::fprintf(.stder
7d80 72 2c 20 22 25 73 3a 20 25 73 3a 20 25 73 25 73 25 73 5c 6e 22 2c 20 70 72 6f 67 72 61 6d 5f 6e r,."%s:.%s:.%s%s%s\n",.program_n
7da0 61 6d 65 2c 20 66 69 6c 65 6e 61 6d 65 2c 20 6d 73 67 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 ame,.filename,.msg,.............
7dc0 20 20 20 20 20 20 28 20 65 72 72 63 6f 64 65 20 3e 20 30 20 29 20 3f 20 22 3a 20 22 20 3a 20 22 ......(.errcode.>.0.).?.":.".:."
7de0 22 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 20 65 72 72 63 6f 64 65 20 3e ",...................(.errcode.>
7e00 20 30 20 29 20 3f 20 73 74 64 3a 3a 73 74 72 65 72 72 6f 72 28 20 65 72 72 63 6f 64 65 20 29 20 .0.).?.std::strerror(.errcode.).
7e20 3a 20 22 22 20 29 3b 0a 20 20 7d 0a 0a 0a 76 6f 69 64 20 69 6e 74 65 72 6e 61 6c 5f 65 72 72 6f :."".);...}...void.internal_erro
7e40 72 28 20 63 6f 6e 73 74 20 63 68 61 72 20 2a 20 63 6f 6e 73 74 20 6d 73 67 20 29 0a 20 20 7b 0a r(.const.char.*.const.msg.)...{.
7e60 20 20 69 66 28 20 76 65 72 62 6f 73 69 74 79 20 3e 3d 20 30 20 29 0a 20 20 20 20 73 74 64 3a 3a ..if(.verbosity.>=.0.).....std::
7e80 66 70 72 69 6e 74 66 28 20 73 74 64 65 72 72 2c 20 22 25 73 3a 20 69 6e 74 65 72 6e 61 6c 20 65 fprintf(.stderr,."%s:.internal.e
7ea0 72 72 6f 72 3a 20 25 73 5c 6e 22 2c 20 70 72 6f 67 72 61 6d 5f 6e 61 6d 65 2c 20 6d 73 67 20 29 rror:.%s\n",.program_name,.msg.)
7ec0 3b 0a 20 20 73 74 64 3a 3a 65 78 69 74 28 20 33 20 29 3b 0a 20 20 7d 0a 0a 0a 76 6f 69 64 20 73 ;...std::exit(.3.);...}...void.s
7ee0 68 6f 77 5f 63 70 72 6f 67 72 65 73 73 28 20 63 6f 6e 73 74 20 75 6e 73 69 67 6e 65 64 20 6c 6f how_cprogress(.const.unsigned.lo
7f00 6e 67 20 6c 6f 6e 67 20 63 66 69 6c 65 5f 73 69 7a 65 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 ng.long.cfile_size,.............
7f20 20 20 20 20 20 20 20 20 20 63 6f 6e 73 74 20 75 6e 73 69 67 6e 65 64 20 6c 6f 6e 67 20 6c 6f 6e .........const.unsigned.long.lon
7f40 67 20 70 61 72 74 69 61 6c 5f 73 69 7a 65 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 g.partial_size,.................
7f60 20 20 20 20 20 63 6f 6e 73 74 20 4d 61 74 63 68 66 69 6e 64 65 72 5f 62 61 73 65 20 2a 20 63 6f .....const.Matchfinder_base.*.co
7f80 6e 73 74 20 6d 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 63 6f 6e 73 nst.m,......................cons
7fa0 74 20 50 72 65 74 74 79 5f 70 72 69 6e 74 20 2a 20 63 6f 6e 73 74 20 70 20 29 0a 20 20 7b 0a 20 t.Pretty_print.*.const.p.)...{..
7fc0 20 73 74 61 74 69 63 20 75 6e 73 69 67 6e 65 64 20 6c 6f 6e 67 20 6c 6f 6e 67 20 63 73 69 7a 65 .static.unsigned.long.long.csize
7fe0 20 3d 20 30 3b 09 09 2f 2f 20 66 69 6c 65 5f 73 69 7a 65 20 2f 20 31 30 30 0a 20 20 73 74 61 74 .=.0;..//.file_size./.100...stat
8000 69 63 20 75 6e 73 69 67 6e 65 64 20 6c 6f 6e 67 20 6c 6f 6e 67 20 70 73 69 7a 65 20 3d 20 30 3b ic.unsigned.long.long.psize.=.0;
8020 0a 20 20 73 74 61 74 69 63 20 63 6f 6e 73 74 20 4d 61 74 63 68 66 69 6e 64 65 72 5f 62 61 73 65 ...static.const.Matchfinder_base
8040 20 2a 20 6d 62 20 3d 20 30 3b 0a 20 20 73 74 61 74 69 63 20 63 6f 6e 73 74 20 50 72 65 74 74 79 .*.mb.=.0;...static.const.Pretty
8060 5f 70 72 69 6e 74 20 2a 20 70 70 20 3d 20 30 3b 0a 20 20 73 74 61 74 69 63 20 62 6f 6f 6c 20 65 _print.*.pp.=.0;...static.bool.e
8080 6e 61 62 6c 65 64 20 3d 20 74 72 75 65 3b 0a 0a 20 20 69 66 28 20 21 65 6e 61 62 6c 65 64 20 29 nabled.=.true;....if(.!enabled.)
80a0 20 72 65 74 75 72 6e 3b 0a 20 20 69 66 28 20 70 20 29 09 09 09 09 09 2f 2f 20 69 6e 69 74 69 61 .return;...if(.p.).....//.initia
80c0 6c 69 7a 65 20 73 74 61 74 69 63 20 76 61 72 73 0a 20 20 20 20 7b 0a 20 20 20 20 69 66 28 20 76 lize.static.vars.....{.....if(.v
80e0 65 72 62 6f 73 69 74 79 20 3c 20 32 20 7c 7c 20 21 69 73 61 74 74 79 28 20 53 54 44 45 52 52 5f erbosity.<.2.||.!isatty(.STDERR_
8100 46 49 4c 45 4e 4f 20 29 20 29 20 7b 20 65 6e 61 62 6c 65 64 20 3d 20 66 61 6c 73 65 3b 20 72 65 FILENO.).).{.enabled.=.false;.re
8120 74 75 72 6e 3b 20 7d 0a 20 20 20 20 63 73 69 7a 65 20 3d 20 63 66 69 6c 65 5f 73 69 7a 65 3b 20 turn;.}.....csize.=.cfile_size;.
8140 70 73 69 7a 65 20 3d 20 70 61 72 74 69 61 6c 5f 73 69 7a 65 3b 20 6d 62 20 3d 20 6d 3b 20 70 70 psize.=.partial_size;.mb.=.m;.pp
8160 20 3d 20 70 3b 0a 20 20 20 20 7d 0a 20 20 69 66 28 20 6d 62 20 26 26 20 70 70 20 29 0a 20 20 20 .=.p;.....}...if(.mb.&&.pp.)....
8180 20 7b 0a 20 20 20 20 63 6f 6e 73 74 20 75 6e 73 69 67 6e 65 64 20 6c 6f 6e 67 20 6c 6f 6e 67 20 .{.....const.unsigned.long.long.
81a0 70 6f 73 20 3d 20 70 73 69 7a 65 20 2b 20 6d 62 2d 3e 64 61 74 61 5f 70 6f 73 69 74 69 6f 6e 28 pos.=.psize.+.mb->data_position(
81c0 29 3b 0a 20 20 20 20 69 66 28 20 63 73 69 7a 65 20 3e 20 30 20 29 0a 20 20 20 20 20 20 73 74 64 );.....if(.csize.>.0.).......std
81e0 3a 3a 66 70 72 69 6e 74 66 28 20 73 74 64 65 72 72 2c 20 22 25 34 6c 6c 75 25 25 20 20 25 2e 31 ::fprintf(.stderr,."%4llu%%..%.1
8200 66 20 4d 42 5c 72 22 2c 20 70 6f 73 20 2f 20 63 73 69 7a 65 2c 20 70 6f 73 20 2f 20 31 30 30 30 f.MB\r",.pos./.csize,.pos./.1000
8220 30 30 30 2e 30 20 29 3b 0a 20 20 20 20 65 6c 73 65 0a 20 20 20 20 20 20 73 74 64 3a 3a 66 70 72 000.0.);.....else.......std::fpr
8240 69 6e 74 66 28 20 73 74 64 65 72 72 2c 20 22 20 20 25 2e 31 66 20 4d 42 5c 72 22 2c 20 70 6f 73 intf(.stderr,."..%.1f.MB\r",.pos
8260 20 2f 20 31 30 30 30 30 30 30 2e 30 20 29 3b 0a 20 20 20 20 70 70 2d 3e 72 65 73 65 74 28 29 3b ./.1000000.0.);.....pp->reset();
8280 20 28 2a 70 70 29 28 29 3b 09 09 09 2f 2f 20 72 65 73 74 6f 72 65 20 63 75 72 73 6f 72 20 70 6f .(*pp)();...//.restore.cursor.po
82a0 73 69 74 69 6f 6e 0a 20 20 20 20 7d 0a 20 20 7d 0a 0a 0a 76 6f 69 64 20 73 68 6f 77 5f 64 70 72 sition.....}...}...void.show_dpr
82c0 6f 67 72 65 73 73 28 20 63 6f 6e 73 74 20 75 6e 73 69 67 6e 65 64 20 6c 6f 6e 67 20 6c 6f 6e 67 ogress(.const.unsigned.long.long
82e0 20 63 66 69 6c 65 5f 73 69 7a 65 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .cfile_size,....................
8300 20 20 63 6f 6e 73 74 20 75 6e 73 69 67 6e 65 64 20 6c 6f 6e 67 20 6c 6f 6e 67 20 70 61 72 74 69 ..const.unsigned.long.long.parti
8320 61 6c 5f 73 69 7a 65 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 63 6f al_size,......................co
8340 6e 73 74 20 52 61 6e 67 65 5f 64 65 63 6f 64 65 72 20 2a 20 63 6f 6e 73 74 20 64 2c 0a 20 20 20 nst.Range_decoder.*.const.d,....
8360 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 63 6f 6e 73 74 20 50 72 65 74 74 79 5f 70 ..................const.Pretty_p
8380 72 69 6e 74 20 2a 20 63 6f 6e 73 74 20 70 20 29 0a 20 20 7b 0a 20 20 73 74 61 74 69 63 20 75 6e rint.*.const.p.)...{...static.un
83a0 73 69 67 6e 65 64 20 6c 6f 6e 67 20 6c 6f 6e 67 20 63 73 69 7a 65 20 3d 20 30 3b 09 09 2f 2f 20 signed.long.long.csize.=.0;..//.
83c0 66 69 6c 65 5f 73 69 7a 65 20 2f 20 31 30 30 0a 20 20 73 74 61 74 69 63 20 75 6e 73 69 67 6e 65 file_size./.100...static.unsigne
83e0 64 20 6c 6f 6e 67 20 6c 6f 6e 67 20 70 73 69 7a 65 20 3d 20 30 3b 0a 20 20 73 74 61 74 69 63 20 d.long.long.psize.=.0;...static.
8400 63 6f 6e 73 74 20 52 61 6e 67 65 5f 64 65 63 6f 64 65 72 20 2a 20 72 64 65 63 20 3d 20 30 3b 0a const.Range_decoder.*.rdec.=.0;.
8420 20 20 73 74 61 74 69 63 20 63 6f 6e 73 74 20 50 72 65 74 74 79 5f 70 72 69 6e 74 20 2a 20 70 70 ..static.const.Pretty_print.*.pp
8440 20 3d 20 30 3b 0a 20 20 73 74 61 74 69 63 20 69 6e 74 20 63 6f 75 6e 74 65 72 20 3d 20 30 3b 0a .=.0;...static.int.counter.=.0;.
8460 20 20 73 74 61 74 69 63 20 62 6f 6f 6c 20 65 6e 61 62 6c 65 64 20 3d 20 74 72 75 65 3b 0a 0a 20 ..static.bool.enabled.=.true;...
8480 20 69 66 28 20 21 65 6e 61 62 6c 65 64 20 29 20 72 65 74 75 72 6e 3b 0a 20 20 69 66 28 20 70 20 .if(.!enabled.).return;...if(.p.
84a0 29 09 09 09 09 09 2f 2f 20 69 6e 69 74 69 61 6c 69 7a 65 20 73 74 61 74 69 63 20 76 61 72 73 0a ).....//.initialize.static.vars.
84c0 20 20 20 20 7b 0a 20 20 20 20 69 66 28 20 76 65 72 62 6f 73 69 74 79 20 3c 20 32 20 7c 7c 20 21 ....{.....if(.verbosity.<.2.||.!
84e0 69 73 61 74 74 79 28 20 53 54 44 45 52 52 5f 46 49 4c 45 4e 4f 20 29 20 29 20 7b 20 65 6e 61 62 isatty(.STDERR_FILENO.).).{.enab
8500 6c 65 64 20 3d 20 66 61 6c 73 65 3b 20 72 65 74 75 72 6e 3b 20 7d 0a 20 20 20 20 63 73 69 7a 65 led.=.false;.return;.}.....csize
8520 20 3d 20 63 66 69 6c 65 5f 73 69 7a 65 3b 20 70 73 69 7a 65 20 3d 20 70 61 72 74 69 61 6c 5f 73 .=.cfile_size;.psize.=.partial_s
8540 69 7a 65 3b 20 72 64 65 63 20 3d 20 64 3b 20 70 70 20 3d 20 70 3b 20 63 6f 75 6e 74 65 72 20 3d ize;.rdec.=.d;.pp.=.p;.counter.=
8560 20 30 3b 0a 20 20 20 20 7d 0a 20 20 69 66 28 20 72 64 65 63 20 26 26 20 70 70 20 26 26 20 2d 2d .0;.....}...if(.rdec.&&.pp.&&.--
8580 63 6f 75 6e 74 65 72 20 3c 3d 20 30 20 29 0a 20 20 20 20 7b 0a 20 20 20 20 63 6f 6e 73 74 20 75 counter.<=.0.).....{.....const.u
85a0 6e 73 69 67 6e 65 64 20 6c 6f 6e 67 20 6c 6f 6e 67 20 70 6f 73 20 3d 20 70 73 69 7a 65 20 2b 20 nsigned.long.long.pos.=.psize.+.
85c0 72 64 65 63 2d 3e 6d 65 6d 62 65 72 5f 70 6f 73 69 74 69 6f 6e 28 29 3b 0a 20 20 20 20 63 6f 75 rdec->member_position();.....cou
85e0 6e 74 65 72 20 3d 20 37 3b 09 09 2f 2f 20 75 70 64 61 74 65 20 64 69 73 70 6c 61 79 20 65 76 65 nter.=.7;..//.update.display.eve
8600 72 79 20 31 31 34 36 38 38 20 62 79 74 65 73 0a 20 20 20 20 69 66 28 20 63 73 69 7a 65 20 3e 20 ry.114688.bytes.....if(.csize.>.
8620 30 20 29 0a 20 20 20 20 20 20 73 74 64 3a 3a 66 70 72 69 6e 74 66 28 20 73 74 64 65 72 72 2c 20 0.).......std::fprintf(.stderr,.
8640 22 25 34 6c 6c 75 25 25 20 20 25 2e 31 66 20 4d 42 5c 72 22 2c 20 70 6f 73 20 2f 20 63 73 69 7a "%4llu%%..%.1f.MB\r",.pos./.csiz
8660 65 2c 20 70 6f 73 20 2f 20 31 30 30 30 30 30 30 2e 30 20 29 3b 0a 20 20 20 20 65 6c 73 65 0a 20 e,.pos./.1000000.0.);.....else..
8680 20 20 20 20 20 73 74 64 3a 3a 66 70 72 69 6e 74 66 28 20 73 74 64 65 72 72 2c 20 22 20 20 25 2e .....std::fprintf(.stderr,."..%.
86a0 31 66 20 4d 42 5c 72 22 2c 20 70 6f 73 20 2f 20 31 30 30 30 30 30 30 2e 30 20 29 3b 0a 20 20 20 1f.MB\r",.pos./.1000000.0.);....
86c0 20 70 70 2d 3e 72 65 73 65 74 28 29 3b 20 28 2a 70 70 29 28 29 3b 09 09 09 2f 2f 20 72 65 73 74 .pp->reset();.(*pp)();...//.rest
86e0 6f 72 65 20 63 75 72 73 6f 72 20 70 6f 73 69 74 69 6f 6e 0a 20 20 20 20 7d 0a 20 20 7d 0a 0a 0a ore.cursor.position.....}...}...
8700 69 6e 74 20 6d 61 69 6e 28 20 63 6f 6e 73 74 20 69 6e 74 20 61 72 67 63 2c 20 63 6f 6e 73 74 20 int.main(.const.int.argc,.const.
8720 63 68 61 72 20 2a 20 63 6f 6e 73 74 20 61 72 67 76 5b 5d 20 29 0a 20 20 7b 0a 20 20 2f 2a 20 4d char.*.const.argv[].)...{.../*.M
8740 61 70 70 69 6e 67 20 66 72 6f 6d 20 67 7a 69 70 2f 62 7a 69 70 32 20 73 74 79 6c 65 20 31 2e 2e apping.from.gzip/bzip2.style.1..
8760 39 20 63 6f 6d 70 72 65 73 73 69 6f 6e 20 6d 6f 64 65 73 0a 20 20 20 20 20 74 6f 20 74 68 65 20 9.compression.modes......to.the.
8780 63 6f 72 72 65 73 70 6f 6e 64 69 6e 67 20 4c 5a 4d 41 20 63 6f 6d 70 72 65 73 73 69 6f 6e 20 6d corresponding.LZMA.compression.m
87a0 6f 64 65 73 2e 20 2a 2f 0a 20 20 63 6f 6e 73 74 20 4c 7a 6d 61 5f 6f 70 74 69 6f 6e 73 20 6f 70 odes..*/...const.Lzma_options.op
87c0 74 69 6f 6e 5f 6d 61 70 70 69 6e 67 5b 5d 20 3d 0a 20 20 20 20 7b 0a 20 20 20 20 7b 20 31 20 3c tion_mapping[].=.....{.....{.1.<
87e0 3c 20 31 36 2c 20 20 31 36 20 7d 2c 09 09 2f 2f 20 2d 30 0a 20 20 20 20 7b 20 31 20 3c 3c 20 32 <.16,..16.},..//.-0.....{.1.<<.2
8800 30 2c 20 20 20 35 20 7d 2c 09 09 2f 2f 20 2d 31 0a 20 20 20 20 7b 20 33 20 3c 3c 20 31 39 2c 20 0,...5.},..//.-1.....{.3.<<.19,.
8820 20 20 36 20 7d 2c 09 09 2f 2f 20 2d 32 0a 20 20 20 20 7b 20 31 20 3c 3c 20 32 31 2c 20 20 20 38 ..6.},..//.-2.....{.1.<<.21,...8
8840 20 7d 2c 09 09 2f 2f 20 2d 33 0a 20 20 20 20 7b 20 33 20 3c 3c 20 32 30 2c 20 20 31 32 20 7d 2c .},..//.-3.....{.3.<<.20,..12.},
8860 09 09 2f 2f 20 2d 34 0a 20 20 20 20 7b 20 31 20 3c 3c 20 32 32 2c 20 20 32 30 20 7d 2c 09 09 2f ..//.-4.....{.1.<<.22,..20.},../
8880 2f 20 2d 35 0a 20 20 20 20 7b 20 31 20 3c 3c 20 32 33 2c 20 20 33 36 20 7d 2c 09 09 2f 2f 20 2d /.-5.....{.1.<<.23,..36.},..//.-
88a0 36 0a 20 20 20 20 7b 20 31 20 3c 3c 20 32 34 2c 20 20 36 38 20 7d 2c 09 09 2f 2f 20 2d 37 0a 20 6.....{.1.<<.24,..68.},..//.-7..
88c0 20 20 20 7b 20 33 20 3c 3c 20 32 33 2c 20 31 33 32 20 7d 2c 09 09 2f 2f 20 2d 38 0a 20 20 20 20 ...{.3.<<.23,.132.},..//.-8.....
88e0 7b 20 31 20 3c 3c 20 32 35 2c 20 32 37 33 20 7d 20 7d 3b 09 09 2f 2f 20 2d 39 0a 20 20 4c 7a 6d {.1.<<.25,.273.}.};..//.-9...Lzm
8900 61 5f 6f 70 74 69 6f 6e 73 20 65 6e 63 6f 64 65 72 5f 6f 70 74 69 6f 6e 73 20 3d 20 6f 70 74 69 a_options.encoder_options.=.opti
8920 6f 6e 5f 6d 61 70 70 69 6e 67 5b 36 5d 3b 09 2f 2f 20 64 65 66 61 75 6c 74 20 3d 20 22 2d 36 22 on_mapping[6];.//.default.=."-6"
8940 0a 20 20 63 6f 6e 73 74 20 75 6e 73 69 67 6e 65 64 20 6c 6f 6e 67 20 6c 6f 6e 67 20 6d 61 78 5f ...const.unsigned.long.long.max_
8960 6d 65 6d 62 65 72 5f 73 69 7a 65 20 3d 20 30 78 30 30 30 38 30 30 30 30 30 30 30 30 30 30 30 30 member_size.=.0x0008000000000000
8980 55 4c 4c 3b 20 2f 2a 20 32 20 50 69 42 20 2a 2f 0a 20 20 63 6f 6e 73 74 20 75 6e 73 69 67 6e 65 ULL;./*.2.PiB.*/...const.unsigne
89a0 64 20 6c 6f 6e 67 20 6c 6f 6e 67 20 6d 61 78 5f 76 6f 6c 75 6d 65 5f 73 69 7a 65 20 3d 20 30 78 d.long.long.max_volume_size.=.0x
89c0 34 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 55 4c 4c 3b 20 2f 2a 20 34 20 45 69 42 20 2a 2f 4000000000000000ULL;./*.4.EiB.*/
89e0 0a 20 20 75 6e 73 69 67 6e 65 64 20 6c 6f 6e 67 20 6c 6f 6e 67 20 6d 65 6d 62 65 72 5f 73 69 7a ...unsigned.long.long.member_siz
8a00 65 20 3d 20 6d 61 78 5f 6d 65 6d 62 65 72 5f 73 69 7a 65 3b 0a 20 20 75 6e 73 69 67 6e 65 64 20 e.=.max_member_size;...unsigned.
8a20 6c 6f 6e 67 20 6c 6f 6e 67 20 76 6f 6c 75 6d 65 5f 73 69 7a 65 20 3d 20 30 3b 0a 20 20 73 74 64 long.long.volume_size.=.0;...std
8a40 3a 3a 73 74 72 69 6e 67 20 64 65 66 61 75 6c 74 5f 6f 75 74 70 75 74 5f 66 69 6c 65 6e 61 6d 65 ::string.default_output_filename
8a60 3b 0a 20 20 73 74 64 3a 3a 76 65 63 74 6f 72 3c 20 73 74 64 3a 3a 73 74 72 69 6e 67 20 3e 20 66 ;...std::vector<.std::string.>.f
8a80 69 6c 65 6e 61 6d 65 73 3b 0a 20 20 4d 6f 64 65 20 70 72 6f 67 72 61 6d 5f 6d 6f 64 65 20 3d 20 ilenames;...Mode.program_mode.=.
8aa0 6d 5f 63 6f 6d 70 72 65 73 73 3b 0a 20 20 62 6f 6f 6c 20 66 6f 72 63 65 20 3d 20 66 61 6c 73 65 m_compress;...bool.force.=.false
8ac0 3b 0a 20 20 62 6f 6f 6c 20 69 67 6e 6f 72 65 5f 74 72 61 69 6c 69 6e 67 20 3d 20 74 72 75 65 3b ;...bool.ignore_trailing.=.true;
8ae0 0a 20 20 62 6f 6f 6c 20 6b 65 65 70 5f 69 6e 70 75 74 5f 66 69 6c 65 73 20 3d 20 66 61 6c 73 65 ...bool.keep_input_files.=.false
8b00 3b 0a 20 20 62 6f 6f 6c 20 6c 6f 6f 73 65 5f 74 72 61 69 6c 69 6e 67 20 3d 20 66 61 6c 73 65 3b ;...bool.loose_trailing.=.false;
8b20 0a 20 20 62 6f 6f 6c 20 72 65 63 6f 6d 70 72 65 73 73 20 3d 20 66 61 6c 73 65 3b 0a 20 20 62 6f ...bool.recompress.=.false;...bo
8b40 6f 6c 20 74 6f 5f 73 74 64 6f 75 74 20 3d 20 66 61 6c 73 65 3b 0a 20 20 62 6f 6f 6c 20 7a 65 72 ol.to_stdout.=.false;...bool.zer
8b60 6f 20 3d 20 66 61 6c 73 65 3b 0a 20 20 69 66 28 20 61 72 67 63 20 3e 20 30 20 29 20 69 6e 76 6f o.=.false;...if(.argc.>.0.).invo
8b80 63 61 74 69 6f 6e 5f 6e 61 6d 65 20 3d 20 61 72 67 76 5b 30 5d 3b 0a 0a 20 20 65 6e 75 6d 20 7b cation_name.=.argv[0];....enum.{
8ba0 20 6f 70 74 5f 6c 74 20 3d 20 32 35 36 20 7d 3b 0a 20 20 63 6f 6e 73 74 20 41 72 67 5f 70 61 72 .opt_lt.=.256.};...const.Arg_par
8bc0 73 65 72 3a 3a 4f 70 74 69 6f 6e 20 6f 70 74 69 6f 6e 73 5b 5d 20 3d 0a 20 20 20 20 7b 0a 20 20 ser::Option.options[].=.....{...
8be0 20 20 7b 20 27 30 27 2c 20 22 66 61 73 74 22 2c 20 20 20 20 20 20 20 20 20 20 20 20 20 20 41 72 ..{.'0',."fast",..............Ar
8c00 67 5f 70 61 72 73 65 72 3a 3a 6e 6f 20 20 7d 2c 0a 20 20 20 20 7b 20 27 31 27 2c 20 30 2c 20 20 g_parser::no..},.....{.'1',.0,..
8c20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 41 72 67 5f 70 61 72 73 65 72 3a 3a 6e 6f 20 .................Arg_parser::no.
8c40 20 7d 2c 0a 20 20 20 20 7b 20 27 32 27 2c 20 30 2c 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .},.....{.'2',.0,...............
8c60 20 20 20 20 41 72 67 5f 70 61 72 73 65 72 3a 3a 6e 6f 20 20 7d 2c 0a 20 20 20 20 7b 20 27 33 27 ....Arg_parser::no..},.....{.'3'
8c80 2c 20 30 2c 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 41 72 67 5f 70 61 72 73 65 ,.0,...................Arg_parse
8ca0 72 3a 3a 6e 6f 20 20 7d 2c 0a 20 20 20 20 7b 20 27 34 27 2c 20 30 2c 20 20 20 20 20 20 20 20 20 r::no..},.....{.'4',.0,.........
8cc0 20 20 20 20 20 20 20 20 20 20 41 72 67 5f 70 61 72 73 65 72 3a 3a 6e 6f 20 20 7d 2c 0a 20 20 20 ..........Arg_parser::no..},....
8ce0 20 7b 20 27 35 27 2c 20 30 2c 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 41 72 67 .{.'5',.0,...................Arg
8d00 5f 70 61 72 73 65 72 3a 3a 6e 6f 20 20 7d 2c 0a 20 20 20 20 7b 20 27 36 27 2c 20 30 2c 20 20 20 _parser::no..},.....{.'6',.0,...
8d20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 41 72 67 5f 70 61 72 73 65 72 3a 3a 6e 6f 20 20 ................Arg_parser::no..
8d40 7d 2c 0a 20 20 20 20 7b 20 27 37 27 2c 20 30 2c 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 },.....{.'7',.0,................
8d60 20 20 20 41 72 67 5f 70 61 72 73 65 72 3a 3a 6e 6f 20 20 7d 2c 0a 20 20 20 20 7b 20 27 38 27 2c ...Arg_parser::no..},.....{.'8',
8d80 20 30 2c 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 41 72 67 5f 70 61 72 73 65 72 .0,...................Arg_parser
8da0 3a 3a 6e 6f 20 20 7d 2c 0a 20 20 20 20 7b 20 27 39 27 2c 20 22 62 65 73 74 22 2c 20 20 20 20 20 ::no..},.....{.'9',."best",.....
8dc0 20 20 20 20 20 20 20 20 20 41 72 67 5f 70 61 72 73 65 72 3a 3a 6e 6f 20 20 7d 2c 0a 20 20 20 20 .........Arg_parser::no..},.....
8de0 7b 20 27 61 27 2c 20 22 74 72 61 69 6c 69 6e 67 2d 65 72 72 6f 72 22 2c 20 20 20 20 41 72 67 5f {.'a',."trailing-error",....Arg_
8e00 70 61 72 73 65 72 3a 3a 6e 6f 20 20 7d 2c 0a 20 20 20 20 7b 20 27 62 27 2c 20 22 6d 65 6d 62 65 parser::no..},.....{.'b',."membe
8e20 72 2d 73 69 7a 65 22 2c 20 20 20 20 20 20 20 41 72 67 5f 70 61 72 73 65 72 3a 3a 79 65 73 20 7d r-size",.......Arg_parser::yes.}
8e40 2c 0a 20 20 20 20 7b 20 27 63 27 2c 20 22 73 74 64 6f 75 74 22 2c 20 20 20 20 20 20 20 20 20 20 ,.....{.'c',."stdout",..........
8e60 20 20 41 72 67 5f 70 61 72 73 65 72 3a 3a 6e 6f 20 20 7d 2c 0a 20 20 20 20 7b 20 27 64 27 2c 20 ..Arg_parser::no..},.....{.'d',.
8e80 22 64 65 63 6f 6d 70 72 65 73 73 22 2c 20 20 20 20 20 20 20 20 41 72 67 5f 70 61 72 73 65 72 3a "decompress",........Arg_parser:
8ea0 3a 6e 6f 20 20 7d 2c 0a 20 20 20 20 7b 20 27 66 27 2c 20 22 66 6f 72 63 65 22 2c 20 20 20 20 20 :no..},.....{.'f',."force",.....
8ec0 20 20 20 20 20 20 20 20 41 72 67 5f 70 61 72 73 65 72 3a 3a 6e 6f 20 20 7d 2c 0a 20 20 20 20 7b ........Arg_parser::no..},.....{
8ee0 20 27 46 27 2c 20 22 72 65 63 6f 6d 70 72 65 73 73 22 2c 20 20 20 20 20 20 20 20 41 72 67 5f 70 .'F',."recompress",........Arg_p
8f00 61 72 73 65 72 3a 3a 6e 6f 20 20 7d 2c 0a 20 20 20 20 7b 20 27 68 27 2c 20 22 68 65 6c 70 22 2c arser::no..},.....{.'h',."help",
8f20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 41 72 67 5f 70 61 72 73 65 72 3a 3a 6e 6f 20 20 7d 2c ..............Arg_parser::no..},
8f40 0a 20 20 20 20 7b 20 27 6b 27 2c 20 22 6b 65 65 70 22 2c 20 20 20 20 20 20 20 20 20 20 20 20 20 .....{.'k',."keep",.............
8f60 20 41 72 67 5f 70 61 72 73 65 72 3a 3a 6e 6f 20 20 7d 2c 0a 20 20 20 20 7b 20 27 6c 27 2c 20 22 .Arg_parser::no..},.....{.'l',."
8f80 6c 69 73 74 22 2c 20 20 20 20 20 20 20 20 20 20 20 20 20 20 41 72 67 5f 70 61 72 73 65 72 3a 3a list",..............Arg_parser::
8fa0 6e 6f 20 20 7d 2c 0a 20 20 20 20 7b 20 27 6d 27 2c 20 22 6d 61 74 63 68 2d 6c 65 6e 67 74 68 22 no..},.....{.'m',."match-length"
8fc0 2c 20 20 20 20 20 20 41 72 67 5f 70 61 72 73 65 72 3a 3a 79 65 73 20 7d 2c 0a 20 20 20 20 7b 20 ,......Arg_parser::yes.},.....{.
8fe0 27 6e 27 2c 20 22 74 68 72 65 61 64 73 22 2c 20 20 20 20 20 20 20 20 20 20 20 41 72 67 5f 70 61 'n',."threads",...........Arg_pa
9000 72 73 65 72 3a 3a 79 65 73 20 7d 2c 0a 20 20 20 20 7b 20 27 6f 27 2c 20 22 6f 75 74 70 75 74 22 rser::yes.},.....{.'o',."output"
9020 2c 20 20 20 20 20 20 20 20 20 20 20 20 41 72 67 5f 70 61 72 73 65 72 3a 3a 79 65 73 20 7d 2c 0a ,............Arg_parser::yes.},.
9040 20 20 20 20 7b 20 27 71 27 2c 20 22 71 75 69 65 74 22 2c 20 20 20 20 20 20 20 20 20 20 20 20 20 ....{.'q',."quiet",.............
9060 41 72 67 5f 70 61 72 73 65 72 3a 3a 6e 6f 20 20 7d 2c 0a 20 20 20 20 7b 20 27 73 27 2c 20 22 64 Arg_parser::no..},.....{.'s',."d
9080 69 63 74 69 6f 6e 61 72 79 2d 73 69 7a 65 22 2c 20 20 20 41 72 67 5f 70 61 72 73 65 72 3a 3a 79 ictionary-size",...Arg_parser::y
90a0 65 73 20 7d 2c 0a 20 20 20 20 7b 20 27 53 27 2c 20 22 76 6f 6c 75 6d 65 2d 73 69 7a 65 22 2c 20 es.},.....{.'S',."volume-size",.
90c0 20 20 20 20 20 20 41 72 67 5f 70 61 72 73 65 72 3a 3a 79 65 73 20 7d 2c 0a 20 20 20 20 7b 20 27 ......Arg_parser::yes.},.....{.'
90e0 74 27 2c 20 22 74 65 73 74 22 2c 20 20 20 20 20 20 20 20 20 20 20 20 20 20 41 72 67 5f 70 61 72 t',."test",..............Arg_par
9100 73 65 72 3a 3a 6e 6f 20 20 7d 2c 0a 20 20 20 20 7b 20 27 76 27 2c 20 22 76 65 72 62 6f 73 65 22 ser::no..},.....{.'v',."verbose"
9120 2c 20 20 20 20 20 20 20 20 20 20 20 41 72 67 5f 70 61 72 73 65 72 3a 3a 6e 6f 20 20 7d 2c 0a 20 ,...........Arg_parser::no..},..
9140 20 20 20 7b 20 27 56 27 2c 20 22 76 65 72 73 69 6f 6e 22 2c 20 20 20 20 20 20 20 20 20 20 20 41 ...{.'V',."version",...........A
9160 72 67 5f 70 61 72 73 65 72 3a 3a 6e 6f 20 20 7d 2c 0a 20 20 20 20 7b 20 6f 70 74 5f 6c 74 2c 20 rg_parser::no..},.....{.opt_lt,.
9180 22 6c 6f 6f 73 65 2d 74 72 61 69 6c 69 6e 67 22 2c 20 41 72 67 5f 70 61 72 73 65 72 3a 3a 6e 6f "loose-trailing",.Arg_parser::no
91a0 20 20 7d 2c 0a 20 20 20 20 7b 20 20 30 2c 20 30 2c 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ..},.....{..0,.0,...............
91c0 20 20 20 20 20 41 72 67 5f 70 61 72 73 65 72 3a 3a 6e 6f 20 20 7d 20 7d 3b 0a 0a 20 20 63 6f 6e .....Arg_parser::no..}.};....con
91e0 73 74 20 41 72 67 5f 70 61 72 73 65 72 20 70 61 72 73 65 72 28 20 61 72 67 63 2c 20 61 72 67 76 st.Arg_parser.parser(.argc,.argv
9200 2c 20 6f 70 74 69 6f 6e 73 20 29 3b 0a 20 20 69 66 28 20 70 61 72 73 65 72 2e 65 72 72 6f 72 28 ,.options.);...if(.parser.error(
9220 29 2e 73 69 7a 65 28 29 20 29 09 09 09 09 2f 2f 20 62 61 64 20 6f 70 74 69 6f 6e 0a 20 20 20 20 ).size().)....//.bad.option.....
9240 7b 20 73 68 6f 77 5f 65 72 72 6f 72 28 20 70 61 72 73 65 72 2e 65 72 72 6f 72 28 29 2e 63 5f 73 {.show_error(.parser.error().c_s
9260 74 72 28 29 2c 20 30 2c 20 74 72 75 65 20 29 3b 20 72 65 74 75 72 6e 20 31 3b 20 7d 0a 0a 20 20 tr(),.0,.true.);.return.1;.}....
9280 69 6e 74 20 61 72 67 69 6e 64 20 3d 20 30 3b 0a 20 20 66 6f 72 28 20 3b 20 61 72 67 69 6e 64 20 int.argind.=.0;...for(.;.argind.
92a0 3c 20 70 61 72 73 65 72 2e 61 72 67 75 6d 65 6e 74 73 28 29 3b 20 2b 2b 61 72 67 69 6e 64 20 29 <.parser.arguments();.++argind.)
92c0 0a 20 20 20 20 7b 0a 20 20 20 20 63 6f 6e 73 74 20 69 6e 74 20 63 6f 64 65 20 3d 20 70 61 72 73 .....{.....const.int.code.=.pars
92e0 65 72 2e 63 6f 64 65 28 20 61 72 67 69 6e 64 20 29 3b 0a 20 20 20 20 69 66 28 20 21 63 6f 64 65 er.code(.argind.);.....if(.!code
9300 20 29 20 62 72 65 61 6b 3b 09 09 09 09 09 2f 2f 20 6e 6f 20 6d 6f 72 65 20 6f 70 74 69 6f 6e 73 .).break;.....//.no.more.options
9320 0a 20 20 20 20 63 6f 6e 73 74 20 73 74 64 3a 3a 73 74 72 69 6e 67 20 26 20 73 61 72 67 20 3d 20 .....const.std::string.&.sarg.=.
9340 70 61 72 73 65 72 2e 61 72 67 75 6d 65 6e 74 28 20 61 72 67 69 6e 64 20 29 3b 0a 20 20 20 20 63 parser.argument(.argind.);.....c
9360 6f 6e 73 74 20 63 68 61 72 20 2a 20 63 6f 6e 73 74 20 61 72 67 20 3d 20 73 61 72 67 2e 63 5f 73 onst.char.*.const.arg.=.sarg.c_s
9380 74 72 28 29 3b 0a 20 20 20 20 73 77 69 74 63 68 28 20 63 6f 64 65 20 29 0a 20 20 20 20 20 20 7b tr();.....switch(.code.).......{
93a0 0a 20 20 20 20 20 20 63 61 73 65 20 27 30 27 3a 20 63 61 73 65 20 27 31 27 3a 20 63 61 73 65 20 .......case.'0':.case.'1':.case.
93c0 27 32 27 3a 20 63 61 73 65 20 27 33 27 3a 20 63 61 73 65 20 27 34 27 3a 0a 20 20 20 20 20 20 63 '2':.case.'3':.case.'4':.......c
93e0 61 73 65 20 27 35 27 3a 20 63 61 73 65 20 27 36 27 3a 20 63 61 73 65 20 27 37 27 3a 20 63 61 73 ase.'5':.case.'6':.case.'7':.cas
9400 65 20 27 38 27 3a 20 63 61 73 65 20 27 39 27 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e.'8':.case.'9':................
9420 20 7a 65 72 6f 20 3d 20 28 20 63 6f 64 65 20 3d 3d 20 27 30 27 20 29 3b 0a 20 20 20 20 20 20 20 .zero.=.(.code.==.'0'.);........
9440 20 20 20 20 20 20 20 20 20 65 6e 63 6f 64 65 72 5f 6f 70 74 69 6f 6e 73 20 3d 20 6f 70 74 69 6f .........encoder_options.=.optio
9460 6e 5f 6d 61 70 70 69 6e 67 5b 63 6f 64 65 2d 27 30 27 5d 3b 20 62 72 65 61 6b 3b 0a 20 20 20 20 n_mapping[code-'0'];.break;.....
9480 20 20 63 61 73 65 20 27 61 27 3a 20 69 67 6e 6f 72 65 5f 74 72 61 69 6c 69 6e 67 20 3d 20 66 61 ..case.'a':.ignore_trailing.=.fa
94a0 6c 73 65 3b 20 62 72 65 61 6b 3b 0a 20 20 20 20 20 20 63 61 73 65 20 27 62 27 3a 20 6d 65 6d 62 lse;.break;.......case.'b':.memb
94c0 65 72 5f 73 69 7a 65 20 3d 20 67 65 74 6e 75 6d 28 20 61 72 67 2c 20 31 30 30 30 30 30 2c 20 6d er_size.=.getnum(.arg,.100000,.m
94e0 61 78 5f 6d 65 6d 62 65 72 5f 73 69 7a 65 20 29 3b 20 62 72 65 61 6b 3b 0a 20 20 20 20 20 20 63 ax_member_size.);.break;.......c
9500 61 73 65 20 27 63 27 3a 20 74 6f 5f 73 74 64 6f 75 74 20 3d 20 74 72 75 65 3b 20 62 72 65 61 6b ase.'c':.to_stdout.=.true;.break
9520 3b 0a 20 20 20 20 20 20 63 61 73 65 20 27 64 27 3a 20 73 65 74 5f 6d 6f 64 65 28 20 70 72 6f 67 ;.......case.'d':.set_mode(.prog
9540 72 61 6d 5f 6d 6f 64 65 2c 20 6d 5f 64 65 63 6f 6d 70 72 65 73 73 20 29 3b 20 62 72 65 61 6b 3b ram_mode,.m_decompress.);.break;
9560 0a 20 20 20 20 20 20 63 61 73 65 20 27 66 27 3a 20 66 6f 72 63 65 20 3d 20 74 72 75 65 3b 20 62 .......case.'f':.force.=.true;.b
9580 72 65 61 6b 3b 0a 20 20 20 20 20 20 63 61 73 65 20 27 46 27 3a 20 72 65 63 6f 6d 70 72 65 73 73 reak;.......case.'F':.recompress
95a0 20 3d 20 74 72 75 65 3b 20 62 72 65 61 6b 3b 0a 20 20 20 20 20 20 63 61 73 65 20 27 68 27 3a 20 .=.true;.break;.......case.'h':.
95c0 73 68 6f 77 5f 68 65 6c 70 28 29 3b 20 72 65 74 75 72 6e 20 30 3b 0a 20 20 20 20 20 20 63 61 73 show_help();.return.0;.......cas
95e0 65 20 27 6b 27 3a 20 6b 65 65 70 5f 69 6e 70 75 74 5f 66 69 6c 65 73 20 3d 20 74 72 75 65 3b 20 e.'k':.keep_input_files.=.true;.
9600 62 72 65 61 6b 3b 0a 20 20 20 20 20 20 63 61 73 65 20 27 6c 27 3a 20 73 65 74 5f 6d 6f 64 65 28 break;.......case.'l':.set_mode(
9620 20 70 72 6f 67 72 61 6d 5f 6d 6f 64 65 2c 20 6d 5f 6c 69 73 74 20 29 3b 20 62 72 65 61 6b 3b 0a .program_mode,.m_list.);.break;.
9640 20 20 20 20 20 20 63 61 73 65 20 27 6d 27 3a 20 65 6e 63 6f 64 65 72 5f 6f 70 74 69 6f 6e 73 2e ......case.'m':.encoder_options.
9660 6d 61 74 63 68 5f 6c 65 6e 5f 6c 69 6d 69 74 20 3d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 match_len_limit.=...............
9680 20 20 20 20 67 65 74 6e 75 6d 28 20 61 72 67 2c 20 6d 69 6e 5f 6d 61 74 63 68 5f 6c 65 6e 5f 6c ....getnum(.arg,.min_match_len_l
96a0 69 6d 69 74 2c 20 6d 61 78 5f 6d 61 74 63 68 5f 6c 65 6e 20 29 3b 0a 20 20 20 20 20 20 20 20 20 imit,.max_match_len.);..........
96c0 20 20 20 20 20 20 20 7a 65 72 6f 20 3d 20 66 61 6c 73 65 3b 20 62 72 65 61 6b 3b 0a 20 20 20 20 .......zero.=.false;.break;.....
96e0 20 20 63 61 73 65 20 27 6e 27 3a 20 62 72 65 61 6b 3b 0a 20 20 20 20 20 20 63 61 73 65 20 27 6f ..case.'n':.break;.......case.'o
9700 27 3a 20 69 66 28 20 73 61 72 67 20 3d 3d 20 22 2d 22 20 29 20 74 6f 5f 73 74 64 6f 75 74 20 3d ':.if(.sarg.==."-".).to_stdout.=
9720 20 74 72 75 65 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 65 6c 73 65 20 7b 20 64 65 .true;.................else.{.de
9740 66 61 75 6c 74 5f 6f 75 74 70 75 74 5f 66 69 6c 65 6e 61 6d 65 20 3d 20 73 61 72 67 3b 20 7d 20 fault_output_filename.=.sarg;.}.
9760 62 72 65 61 6b 3b 0a 20 20 20 20 20 20 63 61 73 65 20 27 71 27 3a 20 76 65 72 62 6f 73 69 74 79 break;.......case.'q':.verbosity
9780 20 3d 20 2d 31 3b 20 62 72 65 61 6b 3b 0a 20 20 20 20 20 20 63 61 73 65 20 27 73 27 3a 20 65 6e .=.-1;.break;.......case.'s':.en
97a0 63 6f 64 65 72 5f 6f 70 74 69 6f 6e 73 2e 64 69 63 74 69 6f 6e 61 72 79 5f 73 69 7a 65 20 3d 20 coder_options.dictionary_size.=.
97c0 67 65 74 5f 64 69 63 74 5f 73 69 7a 65 28 20 61 72 67 20 29 3b 0a 20 20 20 20 20 20 20 20 20 20 get_dict_size(.arg.);...........
97e0 20 20 20 20 20 20 7a 65 72 6f 20 3d 20 66 61 6c 73 65 3b 20 62 72 65 61 6b 3b 0a 20 20 20 20 20 ......zero.=.false;.break;......
9800 20 63 61 73 65 20 27 53 27 3a 20 76 6f 6c 75 6d 65 5f 73 69 7a 65 20 3d 20 67 65 74 6e 75 6d 28 .case.'S':.volume_size.=.getnum(
9820 20 61 72 67 2c 20 31 30 30 30 30 30 2c 20 6d 61 78 5f 76 6f 6c 75 6d 65 5f 73 69 7a 65 20 29 3b .arg,.100000,.max_volume_size.);
9840 20 62 72 65 61 6b 3b 0a 20 20 20 20 20 20 63 61 73 65 20 27 74 27 3a 20 73 65 74 5f 6d 6f 64 65 .break;.......case.'t':.set_mode
9860 28 20 70 72 6f 67 72 61 6d 5f 6d 6f 64 65 2c 20 6d 5f 74 65 73 74 20 29 3b 20 62 72 65 61 6b 3b (.program_mode,.m_test.);.break;
9880 0a 20 20 20 20 20 20 63 61 73 65 20 27 76 27 3a 20 69 66 28 20 76 65 72 62 6f 73 69 74 79 20 3c .......case.'v':.if(.verbosity.<
98a0 20 34 20 29 20 2b 2b 76 65 72 62 6f 73 69 74 79 3b 20 62 72 65 61 6b 3b 0a 20 20 20 20 20 20 63 .4.).++verbosity;.break;.......c
98c0 61 73 65 20 27 56 27 3a 20 73 68 6f 77 5f 76 65 72 73 69 6f 6e 28 29 3b 20 72 65 74 75 72 6e 20 ase.'V':.show_version();.return.
98e0 30 3b 0a 20 20 20 20 20 20 63 61 73 65 20 6f 70 74 5f 6c 74 3a 20 6c 6f 6f 73 65 5f 74 72 61 69 0;.......case.opt_lt:.loose_trai
9900 6c 69 6e 67 20 3d 20 74 72 75 65 3b 20 62 72 65 61 6b 3b 0a 20 20 20 20 20 20 64 65 66 61 75 6c ling.=.true;.break;.......defaul
9920 74 20 3a 20 69 6e 74 65 72 6e 61 6c 5f 65 72 72 6f 72 28 20 22 75 6e 63 61 75 67 68 74 20 6f 70 t.:.internal_error(."uncaught.op
9940 74 69 6f 6e 2e 22 20 29 3b 0a 20 20 20 20 20 20 7d 0a 20 20 20 20 7d 20 2f 2f 20 65 6e 64 20 70 tion.".);.......}.....}.//.end.p
9960 72 6f 63 65 73 73 20 6f 70 74 69 6f 6e 73 0a 0a 23 69 66 20 64 65 66 69 6e 65 64 28 5f 5f 4d 53 rocess.options..#if.defined(__MS
9980 56 43 52 54 5f 5f 29 20 7c 7c 20 64 65 66 69 6e 65 64 28 5f 5f 4f 53 32 5f 5f 29 20 7c 7c 20 64 VCRT__).||.defined(__OS2__).||.d
99a0 65 66 69 6e 65 64 28 5f 5f 44 4a 47 50 50 5f 5f 29 0a 20 20 73 65 74 6d 6f 64 65 28 20 53 54 44 efined(__DJGPP__)...setmode(.STD
99c0 49 4e 5f 46 49 4c 45 4e 4f 2c 20 4f 5f 42 49 4e 41 52 59 20 29 3b 0a 20 20 73 65 74 6d 6f 64 65 IN_FILENO,.O_BINARY.);...setmode
99e0 28 20 53 54 44 4f 55 54 5f 46 49 4c 45 4e 4f 2c 20 4f 5f 42 49 4e 41 52 59 20 29 3b 0a 23 65 6e (.STDOUT_FILENO,.O_BINARY.);.#en
9a00 64 69 66 0a 0a 20 20 62 6f 6f 6c 20 66 69 6c 65 6e 61 6d 65 73 5f 67 69 76 65 6e 20 3d 20 66 61 dif....bool.filenames_given.=.fa
9a20 6c 73 65 3b 0a 20 20 66 6f 72 28 20 3b 20 61 72 67 69 6e 64 20 3c 20 70 61 72 73 65 72 2e 61 72 lse;...for(.;.argind.<.parser.ar
9a40 67 75 6d 65 6e 74 73 28 29 3b 20 2b 2b 61 72 67 69 6e 64 20 29 0a 20 20 20 20 7b 0a 20 20 20 20 guments();.++argind.).....{.....
9a60 66 69 6c 65 6e 61 6d 65 73 2e 70 75 73 68 5f 62 61 63 6b 28 20 70 61 72 73 65 72 2e 61 72 67 75 filenames.push_back(.parser.argu
9a80 6d 65 6e 74 28 20 61 72 67 69 6e 64 20 29 20 29 3b 0a 20 20 20 20 69 66 28 20 66 69 6c 65 6e 61 ment(.argind.).);.....if(.filena
9aa0 6d 65 73 2e 62 61 63 6b 28 29 20 21 3d 20 22 2d 22 20 29 20 66 69 6c 65 6e 61 6d 65 73 5f 67 69 mes.back().!=."-".).filenames_gi
9ac0 76 65 6e 20 3d 20 74 72 75 65 3b 0a 20 20 20 20 7d 0a 20 20 69 66 28 20 66 69 6c 65 6e 61 6d 65 ven.=.true;.....}...if(.filename
9ae0 73 2e 65 6d 70 74 79 28 29 20 29 20 66 69 6c 65 6e 61 6d 65 73 2e 70 75 73 68 5f 62 61 63 6b 28 s.empty().).filenames.push_back(
9b00 22 2d 22 29 3b 0a 0a 20 20 69 66 28 20 70 72 6f 67 72 61 6d 5f 6d 6f 64 65 20 3d 3d 20 6d 5f 6c "-");....if(.program_mode.==.m_l
9b20 69 73 74 20 29 0a 20 20 20 20 72 65 74 75 72 6e 20 6c 69 73 74 5f 66 69 6c 65 73 28 20 66 69 6c ist.).....return.list_files(.fil
9b40 65 6e 61 6d 65 73 2c 20 69 67 6e 6f 72 65 5f 74 72 61 69 6c 69 6e 67 2c 20 6c 6f 6f 73 65 5f 74 enames,.ignore_trailing,.loose_t
9b60 72 61 69 6c 69 6e 67 20 29 3b 0a 0a 20 20 69 66 28 20 70 72 6f 67 72 61 6d 5f 6d 6f 64 65 20 3d railing.);....if(.program_mode.=
9b80 3d 20 6d 5f 63 6f 6d 70 72 65 73 73 20 29 0a 20 20 20 20 7b 0a 20 20 20 20 69 66 28 20 76 6f 6c =.m_compress.).....{.....if(.vol
9ba0 75 6d 65 5f 73 69 7a 65 20 3e 20 30 20 26 26 20 21 74 6f 5f 73 74 64 6f 75 74 20 26 26 20 64 65 ume_size.>.0.&&.!to_stdout.&&.de
9bc0 66 61 75 6c 74 5f 6f 75 74 70 75 74 5f 66 69 6c 65 6e 61 6d 65 2e 73 69 7a 65 28 29 20 26 26 0a fault_output_filename.size().&&.
9be0 20 20 20 20 20 20 20 20 66 69 6c 65 6e 61 6d 65 73 2e 73 69 7a 65 28 29 20 3e 20 31 20 29 0a 20 ........filenames.size().>.1.)..
9c00 20 20 20 20 20 7b 20 73 68 6f 77 5f 65 72 72 6f 72 28 20 22 4f 6e 6c 79 20 63 61 6e 20 63 6f 6d .....{.show_error(."Only.can.com
9c20 70 72 65 73 73 20 6f 6e 65 20 66 69 6c 65 20 77 68 65 6e 20 75 73 69 6e 67 20 27 2d 6f 27 20 61 press.one.file.when.using.'-o'.a
9c40 6e 64 20 27 2d 53 27 2e 22 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 30 nd.'-S'.",.....................0
9c60 2c 20 74 72 75 65 20 29 3b 20 72 65 74 75 72 6e 20 31 3b 20 7d 0a 20 20 20 20 64 69 73 5f 73 6c ,.true.);.return.1;.}.....dis_sl
9c80 6f 74 73 2e 69 6e 69 74 28 29 3b 0a 20 20 20 20 70 72 6f 62 5f 70 72 69 63 65 73 2e 69 6e 69 74 ots.init();.....prob_prices.init
9ca0 28 29 3b 0a 20 20 20 20 7d 0a 20 20 65 6c 73 65 20 76 6f 6c 75 6d 65 5f 73 69 7a 65 20 3d 20 30 ();.....}...else.volume_size.=.0
9cc0 3b 0a 20 20 69 66 28 20 70 72 6f 67 72 61 6d 5f 6d 6f 64 65 20 3d 3d 20 6d 5f 74 65 73 74 20 29 ;...if(.program_mode.==.m_test.)
9ce0 20 74 6f 5f 73 74 64 6f 75 74 20 3d 20 66 61 6c 73 65 3b 09 2f 2f 20 61 70 70 6c 79 20 6f 76 65 .to_stdout.=.false;.//.apply.ove
9d00 72 72 69 64 65 73 0a 20 20 69 66 28 20 70 72 6f 67 72 61 6d 5f 6d 6f 64 65 20 3d 3d 20 6d 5f 74 rrides...if(.program_mode.==.m_t
9d20 65 73 74 20 7c 7c 20 74 6f 5f 73 74 64 6f 75 74 20 29 20 64 65 66 61 75 6c 74 5f 6f 75 74 70 75 est.||.to_stdout.).default_outpu
9d40 74 5f 66 69 6c 65 6e 61 6d 65 2e 63 6c 65 61 72 28 29 3b 0a 0a 20 20 69 66 28 20 74 6f 5f 73 74 t_filename.clear();....if(.to_st
9d60 64 6f 75 74 20 26 26 20 70 72 6f 67 72 61 6d 5f 6d 6f 64 65 20 21 3d 20 6d 5f 74 65 73 74 20 29 dout.&&.program_mode.!=.m_test.)
9d80 09 2f 2f 20 63 68 65 63 6b 20 74 74 79 20 6f 6e 6c 79 20 6f 6e 63 65 0a 20 20 20 20 7b 20 6f 75 .//.check.tty.only.once.....{.ou
9da0 74 66 64 20 3d 20 53 54 44 4f 55 54 5f 46 49 4c 45 4e 4f 3b 20 69 66 28 20 21 63 68 65 63 6b 5f tfd.=.STDOUT_FILENO;.if(.!check_
9dc0 74 74 79 5f 6f 75 74 28 20 70 72 6f 67 72 61 6d 5f 6d 6f 64 65 20 29 20 29 20 72 65 74 75 72 6e tty_out(.program_mode.).).return
9de0 20 31 3b 20 7d 0a 20 20 65 6c 73 65 20 6f 75 74 66 64 20 3d 20 2d 31 3b 0a 0a 20 20 63 6f 6e 73 .1;.}...else.outfd.=.-1;....cons
9e00 74 20 62 6f 6f 6c 20 74 6f 5f 66 69 6c 65 20 3d 20 21 74 6f 5f 73 74 64 6f 75 74 20 26 26 20 70 t.bool.to_file.=.!to_stdout.&&.p
9e20 72 6f 67 72 61 6d 5f 6d 6f 64 65 20 21 3d 20 6d 5f 74 65 73 74 20 26 26 0a 20 20 20 20 20 20 20 rogram_mode.!=.m_test.&&........
9e40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 64 65 66 61 75 6c 74 5f 6f 75 74 70 75 74 5f 66 ................default_output_f
9e60 69 6c 65 6e 61 6d 65 2e 73 69 7a 65 28 29 3b 0a 20 20 69 66 28 20 21 74 6f 5f 73 74 64 6f 75 74 ilename.size();...if(.!to_stdout
9e80 20 26 26 20 70 72 6f 67 72 61 6d 5f 6d 6f 64 65 20 21 3d 20 6d 5f 74 65 73 74 20 26 26 20 28 20 .&&.program_mode.!=.m_test.&&.(.
9ea0 66 69 6c 65 6e 61 6d 65 73 5f 67 69 76 65 6e 20 7c 7c 20 74 6f 5f 66 69 6c 65 20 29 20 29 0a 20 filenames_given.||.to_file.).)..
9ec0 20 20 20 73 65 74 5f 73 69 67 6e 61 6c 73 28 20 73 69 67 6e 61 6c 5f 68 61 6e 64 6c 65 72 20 29 ...set_signals(.signal_handler.)
9ee0 3b 0a 0a 20 20 50 72 65 74 74 79 5f 70 72 69 6e 74 20 70 70 28 20 66 69 6c 65 6e 61 6d 65 73 20 ;....Pretty_print.pp(.filenames.
9f00 29 3b 0a 0a 20 20 69 6e 74 20 66 61 69 6c 65 64 5f 74 65 73 74 73 20 3d 20 30 3b 0a 20 20 69 6e );....int.failed_tests.=.0;...in
9f20 74 20 72 65 74 76 61 6c 20 3d 20 30 3b 0a 20 20 63 6f 6e 73 74 20 62 6f 6f 6c 20 6f 6e 65 5f 74 t.retval.=.0;...const.bool.one_t
9f40 6f 5f 6f 6e 65 20 3d 20 21 74 6f 5f 73 74 64 6f 75 74 20 26 26 20 70 72 6f 67 72 61 6d 5f 6d 6f o_one.=.!to_stdout.&&.program_mo
9f60 64 65 20 21 3d 20 6d 5f 74 65 73 74 20 26 26 20 21 74 6f 5f 66 69 6c 65 3b 0a 20 20 62 6f 6f 6c de.!=.m_test.&&.!to_file;...bool
9f80 20 73 74 64 69 6e 5f 75 73 65 64 20 3d 20 66 61 6c 73 65 3b 0a 20 20 66 6f 72 28 20 75 6e 73 69 .stdin_used.=.false;...for(.unsi
9fa0 67 6e 65 64 20 69 20 3d 20 30 3b 20 69 20 3c 20 66 69 6c 65 6e 61 6d 65 73 2e 73 69 7a 65 28 29 gned.i.=.0;.i.<.filenames.size()
9fc0 3b 20 2b 2b 69 20 29 0a 20 20 20 20 7b 0a 20 20 20 20 73 74 64 3a 3a 73 74 72 69 6e 67 20 69 6e ;.++i.).....{.....std::string.in
9fe0 70 75 74 5f 66 69 6c 65 6e 61 6d 65 3b 0a 20 20 20 20 69 6e 74 20 69 6e 66 64 3b 0a 20 20 20 20 put_filename;.....int.infd;.....
a000 73 74 72 75 63 74 20 73 74 61 74 20 69 6e 5f 73 74 61 74 73 3b 0a 0a 20 20 20 20 70 70 2e 73 65 struct.stat.in_stats;......pp.se
a020 74 5f 6e 61 6d 65 28 20 66 69 6c 65 6e 61 6d 65 73 5b 69 5d 20 29 3b 0a 20 20 20 20 69 66 28 20 t_name(.filenames[i].);.....if(.
a040 66 69 6c 65 6e 61 6d 65 73 5b 69 5d 20 3d 3d 20 22 2d 22 20 29 0a 20 20 20 20 20 20 7b 0a 20 20 filenames[i].==."-".).......{...
a060 20 20 20 20 69 66 28 20 73 74 64 69 6e 5f 75 73 65 64 20 29 20 63 6f 6e 74 69 6e 75 65 3b 20 65 ....if(.stdin_used.).continue;.e
a080 6c 73 65 20 73 74 64 69 6e 5f 75 73 65 64 20 3d 20 74 72 75 65 3b 0a 20 20 20 20 20 20 69 6e 66 lse.stdin_used.=.true;.......inf
a0a0 64 20 3d 20 53 54 44 49 4e 5f 46 49 4c 45 4e 4f 3b 0a 20 20 20 20 20 20 69 66 28 20 21 63 68 65 d.=.STDIN_FILENO;.......if(.!che
a0c0 63 6b 5f 74 74 79 5f 69 6e 28 20 70 70 2e 6e 61 6d 65 28 29 2c 20 69 6e 66 64 2c 20 70 72 6f 67 ck_tty_in(.pp.name(),.infd,.prog
a0e0 72 61 6d 5f 6d 6f 64 65 2c 20 72 65 74 76 61 6c 20 29 20 29 20 63 6f 6e 74 69 6e 75 65 3b 0a 20 ram_mode,.retval.).).continue;..
a100 20 20 20 20 20 69 66 28 20 6f 6e 65 5f 74 6f 5f 6f 6e 65 20 29 20 7b 20 6f 75 74 66 64 20 3d 20 .....if(.one_to_one.).{.outfd.=.
a120 53 54 44 4f 55 54 5f 46 49 4c 45 4e 4f 3b 20 6f 75 74 70 75 74 5f 66 69 6c 65 6e 61 6d 65 2e 63 STDOUT_FILENO;.output_filename.c
a140 6c 65 61 72 28 29 3b 20 7d 0a 20 20 20 20 20 20 7d 0a 20 20 20 20 65 6c 73 65 0a 20 20 20 20 20 lear();.}.......}.....else......
a160 20 7b 0a 20 20 20 20 20 20 63 6f 6e 73 74 20 69 6e 74 20 65 69 6e 64 65 78 20 3d 20 65 78 74 65 .{.......const.int.eindex.=.exte
a180 6e 73 69 6f 6e 5f 69 6e 64 65 78 28 20 69 6e 70 75 74 5f 66 69 6c 65 6e 61 6d 65 20 3d 20 66 69 nsion_index(.input_filename.=.fi
a1a0 6c 65 6e 61 6d 65 73 5b 69 5d 20 29 3b 0a 20 20 20 20 20 20 69 6e 66 64 20 3d 20 6f 70 65 6e 5f lenames[i].);.......infd.=.open_
a1c0 69 6e 73 74 72 65 61 6d 32 28 20 69 6e 70 75 74 5f 66 69 6c 65 6e 61 6d 65 2e 63 5f 73 74 72 28 instream2(.input_filename.c_str(
a1e0 29 2c 20 26 69 6e 5f 73 74 61 74 73 2c 20 70 72 6f 67 72 61 6d 5f 6d 6f 64 65 2c 0a 20 20 20 20 ),.&in_stats,.program_mode,.....
a200 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 65 69 6e 64 65 78 2c .........................eindex,
a220 20 6f 6e 65 5f 74 6f 5f 6f 6e 65 2c 20 72 65 63 6f 6d 70 72 65 73 73 20 29 3b 0a 20 20 20 20 20 .one_to_one,.recompress.);......
a240 20 69 66 28 20 69 6e 66 64 20 3c 20 30 20 29 20 7b 20 73 65 74 5f 72 65 74 76 61 6c 28 20 72 65 .if(.infd.<.0.).{.set_retval(.re
a260 74 76 61 6c 2c 20 31 20 29 3b 20 63 6f 6e 74 69 6e 75 65 3b 20 7d 0a 20 20 20 20 20 20 69 66 28 tval,.1.);.continue;.}.......if(
a280 20 21 63 68 65 63 6b 5f 74 74 79 5f 69 6e 28 20 70 70 2e 6e 61 6d 65 28 29 2c 20 69 6e 66 64 2c .!check_tty_in(.pp.name(),.infd,
a2a0 20 70 72 6f 67 72 61 6d 5f 6d 6f 64 65 2c 20 72 65 74 76 61 6c 20 29 20 29 20 63 6f 6e 74 69 6e .program_mode,.retval.).).contin
a2c0 75 65 3b 0a 20 20 20 20 20 20 69 66 28 20 6f 6e 65 5f 74 6f 5f 6f 6e 65 20 29 09 09 09 2f 2f 20 ue;.......if(.one_to_one.)...//.
a2e0 6f 70 65 6e 20 6f 75 74 66 64 20 61 66 74 65 72 20 76 65 72 69 66 79 69 6e 67 20 69 6e 66 64 0a open.outfd.after.verifying.infd.
a300 20 20 20 20 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 69 66 28 20 70 72 6f 67 72 61 6d 5f 6d 6f ........{.........if(.program_mo
a320 64 65 20 3d 3d 20 6d 5f 63 6f 6d 70 72 65 73 73 20 29 0a 20 20 20 20 20 20 20 20 20 20 73 65 74 de.==.m_compress.)...........set
a340 5f 63 5f 6f 75 74 6e 61 6d 65 28 20 69 6e 70 75 74 5f 66 69 6c 65 6e 61 6d 65 2c 20 74 72 75 65 _c_outname(.input_filename,.true
a360 2c 20 74 72 75 65 2c 20 76 6f 6c 75 6d 65 5f 73 69 7a 65 20 3e 20 30 20 29 3b 0a 20 20 20 20 20 ,.true,.volume_size.>.0.);......
a380 20 20 20 65 6c 73 65 20 73 65 74 5f 64 5f 6f 75 74 6e 61 6d 65 28 20 69 6e 70 75 74 5f 66 69 6c ...else.set_d_outname(.input_fil
a3a0 65 6e 61 6d 65 2c 20 65 69 6e 64 65 78 20 29 3b 0a 20 20 20 20 20 20 20 20 69 66 28 20 21 6f 70 ename,.eindex.);.........if(.!op
a3c0 65 6e 5f 6f 75 74 73 74 72 65 61 6d 28 20 66 6f 72 63 65 2c 20 74 72 75 65 20 29 20 29 0a 20 20 en_outstream(.force,.true.).)...
a3e0 20 20 20 20 20 20 20 20 7b 20 63 6c 6f 73 65 28 20 69 6e 66 64 20 29 3b 20 73 65 74 5f 72 65 74 ........{.close(.infd.);.set_ret
a400 76 61 6c 28 20 72 65 74 76 61 6c 2c 20 31 20 29 3b 20 63 6f 6e 74 69 6e 75 65 3b 20 7d 0a 20 20 val(.retval,.1.);.continue;.}...
a420 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 7d 0a 0a 20 20 20 20 69 66 28 20 6f 6e 65 5f 74 6f 5f ......}.......}......if(.one_to_
a440 6f 6e 65 20 26 26 20 21 63 68 65 63 6b 5f 74 74 79 5f 6f 75 74 28 20 70 72 6f 67 72 61 6d 5f 6d one.&&.!check_tty_out(.program_m
a460 6f 64 65 20 29 20 29 0a 20 20 20 20 20 20 7b 20 73 65 74 5f 72 65 74 76 61 6c 28 20 72 65 74 76 ode.).).......{.set_retval(.retv
a480 61 6c 2c 20 31 20 29 3b 20 72 65 74 75 72 6e 20 72 65 74 76 61 6c 3b 20 7d 09 2f 2f 20 64 6f 6e al,.1.);.return.retval;.}.//.don
a4a0 27 74 20 64 65 6c 65 74 65 20 61 20 74 74 79 0a 0a 20 20 20 20 69 66 28 20 74 6f 5f 66 69 6c 65 't.delete.a.tty......if(.to_file
a4c0 20 26 26 20 6f 75 74 66 64 20 3c 20 30 20 29 09 09 2f 2f 20 6f 70 65 6e 20 6f 75 74 66 64 20 61 .&&.outfd.<.0.)..//.open.outfd.a
a4e0 66 74 65 72 20 76 65 72 69 66 79 69 6e 67 20 69 6e 66 64 0a 20 20 20 20 20 20 7b 0a 20 20 20 20 fter.verifying.infd.......{.....
a500 20 20 69 66 28 20 70 72 6f 67 72 61 6d 5f 6d 6f 64 65 20 3d 3d 20 6d 5f 63 6f 6d 70 72 65 73 73 ..if(.program_mode.==.m_compress
a520 20 29 20 73 65 74 5f 63 5f 6f 75 74 6e 61 6d 65 28 20 64 65 66 61 75 6c 74 5f 6f 75 74 70 75 74 .).set_c_outname(.default_output
a540 5f 66 69 6c 65 6e 61 6d 65 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 _filename,......................
a560 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 66 69 6c 65 6e 61 6d 65 73 5f 67 69 76 65 ..................filenames_give
a580 6e 2c 20 66 61 6c 73 65 2c 20 76 6f 6c 75 6d 65 5f 73 69 7a 65 20 3e 20 30 20 29 3b 0a 20 20 20 n,.false,.volume_size.>.0.);....
a5a0 20 20 20 65 6c 73 65 20 6f 75 74 70 75 74 5f 66 69 6c 65 6e 61 6d 65 20 3d 20 64 65 66 61 75 6c ...else.output_filename.=.defaul
a5c0 74 5f 6f 75 74 70 75 74 5f 66 69 6c 65 6e 61 6d 65 3b 0a 20 20 20 20 20 20 69 66 28 20 21 6f 70 t_output_filename;.......if(.!op
a5e0 65 6e 5f 6f 75 74 73 74 72 65 61 6d 28 20 66 6f 72 63 65 2c 20 66 61 6c 73 65 20 29 20 7c 7c 20 en_outstream(.force,.false.).||.
a600 21 63 68 65 63 6b 5f 74 74 79 5f 6f 75 74 28 20 70 72 6f 67 72 61 6d 5f 6d 6f 64 65 20 29 20 29 !check_tty_out(.program_mode.).)
a620 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 31 3b 09 2f 2f 20 63 68 65 63 6b 20 74 74 79 20 .........return.1;.//.check.tty.
a640 6f 6e 6c 79 20 6f 6e 63 65 20 61 6e 64 20 64 6f 6e 27 74 20 74 72 79 20 74 6f 20 64 65 6c 65 74 only.once.and.don't.try.to.delet
a660 65 20 61 20 74 74 79 0a 20 20 20 20 20 20 7d 0a 0a 20 20 20 20 63 6f 6e 73 74 20 73 74 72 75 63 e.a.tty.......}......const.struc
a680 74 20 73 74 61 74 20 2a 20 63 6f 6e 73 74 20 69 6e 5f 73 74 61 74 73 70 20 3d 0a 20 20 20 20 20 t.stat.*.const.in_statsp.=......
a6a0 20 28 20 69 6e 70 75 74 5f 66 69 6c 65 6e 61 6d 65 2e 73 69 7a 65 28 29 20 26 26 20 6f 6e 65 5f .(.input_filename.size().&&.one_
a6c0 74 6f 5f 6f 6e 65 20 29 20 3f 20 26 69 6e 5f 73 74 61 74 73 20 3a 20 30 3b 0a 20 20 20 20 63 6f to_one.).?.&in_stats.:.0;.....co
a6e0 6e 73 74 20 75 6e 73 69 67 6e 65 64 20 6c 6f 6e 67 20 6c 6f 6e 67 20 63 66 69 6c 65 5f 73 69 7a nst.unsigned.long.long.cfile_siz
a700 65 20 3d 0a 20 20 20 20 20 20 28 20 69 6e 70 75 74 5f 66 69 6c 65 6e 61 6d 65 2e 73 69 7a 65 28 e.=.......(.input_filename.size(
a720 29 20 26 26 20 53 5f 49 53 52 45 47 28 20 69 6e 5f 73 74 61 74 73 2e 73 74 5f 6d 6f 64 65 20 29 ).&&.S_ISREG(.in_stats.st_mode.)
a740 20 29 20 3f 0a 20 20 20 20 20 20 20 20 28 20 69 6e 5f 73 74 61 74 73 2e 73 74 5f 73 69 7a 65 20 .).?.........(.in_stats.st_size.
a760 2b 20 39 39 20 29 20 2f 20 31 30 30 20 3a 20 30 3b 0a 20 20 20 20 69 6e 74 20 74 6d 70 3b 0a 20 +.99.)./.100.:.0;.....int.tmp;..
a780 20 20 20 74 72 79 20 7b 0a 20 20 20 20 20 20 69 66 28 20 70 72 6f 67 72 61 6d 5f 6d 6f 64 65 20 ...try.{.......if(.program_mode.
a7a0 3d 3d 20 6d 5f 63 6f 6d 70 72 65 73 73 20 29 0a 20 20 20 20 20 20 20 20 74 6d 70 20 3d 20 63 6f ==.m_compress.).........tmp.=.co
a7c0 6d 70 72 65 73 73 28 20 63 66 69 6c 65 5f 73 69 7a 65 2c 20 6d 65 6d 62 65 72 5f 73 69 7a 65 2c mpress(.cfile_size,.member_size,
a7e0 20 76 6f 6c 75 6d 65 5f 73 69 7a 65 2c 20 69 6e 66 64 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 .volume_size,.infd,.............
a800 20 20 20 20 20 20 20 20 20 20 20 20 65 6e 63 6f 64 65 72 5f 6f 70 74 69 6f 6e 73 2c 20 70 70 2c ............encoder_options,.pp,
a820 20 69 6e 5f 73 74 61 74 73 70 2c 20 7a 65 72 6f 20 29 3b 0a 20 20 20 20 20 20 65 6c 73 65 0a 20 .in_statsp,.zero.);.......else..
a840 20 20 20 20 20 20 20 74 6d 70 20 3d 20 64 65 63 6f 6d 70 72 65 73 73 28 20 63 66 69 6c 65 5f 73 .......tmp.=.decompress(.cfile_s
a860 69 7a 65 2c 20 69 6e 66 64 2c 20 70 70 2c 20 69 67 6e 6f 72 65 5f 74 72 61 69 6c 69 6e 67 2c 0a ize,.infd,.pp,.ignore_trailing,.
a880 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 6c 6f 6f 73 65 5f ..........................loose_
a8a0 74 72 61 69 6c 69 6e 67 2c 20 70 72 6f 67 72 61 6d 5f 6d 6f 64 65 20 3d 3d 20 6d 5f 74 65 73 74 trailing,.program_mode.==.m_test
a8c0 20 29 3b 0a 20 20 20 20 20 20 7d 0a 20 20 20 20 63 61 74 63 68 28 20 73 74 64 3a 3a 62 61 64 5f .);.......}.....catch(.std::bad_
a8e0 61 6c 6c 6f 63 20 26 20 29 0a 20 20 20 20 20 20 7b 20 70 70 28 20 28 20 70 72 6f 67 72 61 6d 5f alloc.&.).......{.pp(.(.program_
a900 6d 6f 64 65 20 3d 3d 20 6d 5f 63 6f 6d 70 72 65 73 73 20 29 20 3f 0a 20 20 20 20 20 20 20 20 20 mode.==.m_compress.).?..........
a920 20 20 20 22 4e 6f 74 20 65 6e 6f 75 67 68 20 6d 65 6d 6f 72 79 2e 20 54 72 79 20 61 20 73 6d 61 ..."Not.enough.memory..Try.a.sma
a940 6c 6c 65 72 20 64 69 63 74 69 6f 6e 61 72 79 20 73 69 7a 65 2e 22 20 3a 0a 20 20 20 20 20 20 20 ller.dictionary.size.".:........
a960 20 20 20 20 20 22 4e 6f 74 20 65 6e 6f 75 67 68 20 6d 65 6d 6f 72 79 2e 22 20 29 3b 20 74 6d 70 ....."Not.enough.memory.".);.tmp
a980 20 3d 20 31 3b 20 7d 0a 20 20 20 20 63 61 74 63 68 28 20 45 72 72 6f 72 20 26 20 65 20 29 20 7b .=.1;.}.....catch(.Error.&.e.).{
a9a0 20 70 70 28 29 3b 20 73 68 6f 77 5f 65 72 72 6f 72 28 20 65 2e 6d 73 67 2c 20 65 72 72 6e 6f 20 .pp();.show_error(.e.msg,.errno.
a9c0 29 3b 20 74 6d 70 20 3d 20 31 3b 20 7d 0a 20 20 20 20 69 66 28 20 63 6c 6f 73 65 28 20 69 6e 66 );.tmp.=.1;.}.....if(.close(.inf
a9e0 64 20 29 20 21 3d 20 30 20 29 0a 20 20 20 20 20 20 7b 20 73 68 6f 77 5f 66 69 6c 65 5f 65 72 72 d.).!=.0.).......{.show_file_err
aa00 6f 72 28 20 70 70 2e 6e 61 6d 65 28 29 2c 20 22 45 72 72 6f 72 20 63 6c 6f 73 69 6e 67 20 69 6e or(.pp.name(),."Error.closing.in
aa20 70 75 74 20 66 69 6c 65 22 2c 20 65 72 72 6e 6f 20 29 3b 0a 20 20 20 20 20 20 20 20 73 65 74 5f put.file",.errno.);.........set_
aa40 72 65 74 76 61 6c 28 20 74 6d 70 2c 20 31 20 29 3b 20 7d 0a 20 20 20 20 73 65 74 5f 72 65 74 76 retval(.tmp,.1.);.}.....set_retv
aa60 61 6c 28 20 72 65 74 76 61 6c 2c 20 74 6d 70 20 29 3b 0a 20 20 20 20 69 66 28 20 74 6d 70 20 29 al(.retval,.tmp.);.....if(.tmp.)
aa80 0a 20 20 20 20 20 20 7b 20 69 66 28 20 70 72 6f 67 72 61 6d 5f 6d 6f 64 65 20 21 3d 20 6d 5f 74 .......{.if(.program_mode.!=.m_t
aaa0 65 73 74 20 29 20 63 6c 65 61 6e 75 70 5f 61 6e 64 5f 66 61 69 6c 28 20 72 65 74 76 61 6c 20 29 est.).cleanup_and_fail(.retval.)
aac0 3b 0a 20 20 20 20 20 20 20 20 65 6c 73 65 20 2b 2b 66 61 69 6c 65 64 5f 74 65 73 74 73 3b 20 7d ;.........else.++failed_tests;.}
aae0 0a 0a 20 20 20 20 69 66 28 20 64 65 6c 65 74 65 5f 6f 75 74 70 75 74 5f 6f 6e 5f 69 6e 74 65 72 ......if(.delete_output_on_inter
ab00 72 75 70 74 20 26 26 20 6f 6e 65 5f 74 6f 5f 6f 6e 65 20 29 0a 20 20 20 20 20 20 63 6c 6f 73 65 rupt.&&.one_to_one.).......close
ab20 5f 61 6e 64 5f 73 65 74 5f 70 65 72 6d 69 73 73 69 6f 6e 73 28 20 69 6e 5f 73 74 61 74 73 70 20 _and_set_permissions(.in_statsp.
ab40 29 3b 0a 20 20 20 20 69 66 28 20 69 6e 70 75 74 5f 66 69 6c 65 6e 61 6d 65 2e 73 69 7a 65 28 29 );.....if(.input_filename.size()
ab60 20 26 26 20 21 6b 65 65 70 5f 69 6e 70 75 74 5f 66 69 6c 65 73 20 26 26 20 6f 6e 65 5f 74 6f 5f .&&.!keep_input_files.&&.one_to_
ab80 6f 6e 65 20 26 26 0a 20 20 20 20 20 20 20 20 28 20 70 72 6f 67 72 61 6d 5f 6d 6f 64 65 20 21 3d one.&&.........(.program_mode.!=
aba0 20 6d 5f 63 6f 6d 70 72 65 73 73 20 7c 7c 20 76 6f 6c 75 6d 65 5f 73 69 7a 65 20 3d 3d 20 30 20 .m_compress.||.volume_size.==.0.
abc0 29 20 29 0a 20 20 20 20 20 20 73 74 64 3a 3a 72 65 6d 6f 76 65 28 20 69 6e 70 75 74 5f 66 69 6c ).).......std::remove(.input_fil
abe0 65 6e 61 6d 65 2e 63 5f 73 74 72 28 29 20 29 3b 0a 20 20 20 20 7d 0a 20 20 69 66 28 20 64 65 6c ename.c_str().);.....}...if(.del
ac00 65 74 65 5f 6f 75 74 70 75 74 5f 6f 6e 5f 69 6e 74 65 72 72 75 70 74 20 29 20 63 6c 6f 73 65 5f ete_output_on_interrupt.).close_
ac20 61 6e 64 5f 73 65 74 5f 70 65 72 6d 69 73 73 69 6f 6e 73 28 20 30 20 29 3b 09 2f 2f 20 2d 6f 0a and_set_permissions(.0.);.//.-o.
ac40 20 20 65 6c 73 65 20 69 66 28 20 6f 75 74 66 64 20 3e 3d 20 30 20 26 26 20 63 6c 6f 73 65 28 20 ..else.if(.outfd.>=.0.&&.close(.
ac60 6f 75 74 66 64 20 29 20 21 3d 20 30 20 29 09 09 09 09 2f 2f 20 2d 63 0a 20 20 20 20 7b 0a 20 20 outfd.).!=.0.)....//.-c.....{...
ac80 20 20 73 68 6f 77 5f 65 72 72 6f 72 28 20 22 45 72 72 6f 72 20 63 6c 6f 73 69 6e 67 20 73 74 64 ..show_error(."Error.closing.std
aca0 6f 75 74 22 2c 20 65 72 72 6e 6f 20 29 3b 0a 20 20 20 20 73 65 74 5f 72 65 74 76 61 6c 28 20 72 out",.errno.);.....set_retval(.r
acc0 65 74 76 61 6c 2c 20 31 20 29 3b 0a 20 20 20 20 7d 0a 20 20 69 66 28 20 66 61 69 6c 65 64 5f 74 etval,.1.);.....}...if(.failed_t
ace0 65 73 74 73 20 3e 20 30 20 26 26 20 76 65 72 62 6f 73 69 74 79 20 3e 3d 20 31 20 26 26 20 66 69 ests.>.0.&&.verbosity.>=.1.&&.fi
ad00 6c 65 6e 61 6d 65 73 2e 73 69 7a 65 28 29 20 3e 20 31 20 29 0a 20 20 20 20 73 74 64 3a 3a 66 70 lenames.size().>.1.).....std::fp
ad20 72 69 6e 74 66 28 20 73 74 64 65 72 72 2c 20 22 25 73 3a 20 77 61 72 6e 69 6e 67 3a 20 25 64 20 rintf(.stderr,."%s:.warning:.%d.
ad40 25 73 20 66 61 69 6c 65 64 20 74 68 65 20 74 65 73 74 2e 5c 6e 22 2c 0a 20 20 20 20 20 20 20 20 %s.failed.the.test.\n",.........
ad60 20 20 20 20 20 20 20 20 20 20 70 72 6f 67 72 61 6d 5f 6e 61 6d 65 2c 20 66 61 69 6c 65 64 5f 74 ..........program_name,.failed_t
ad80 65 73 74 73 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 20 66 61 69 6c 65 64 ests,...................(.failed
ada0 5f 74 65 73 74 73 20 3d 3d 20 31 20 29 20 3f 20 22 66 69 6c 65 22 20 3a 20 22 66 69 6c 65 73 22 _tests.==.1.).?."file".:."files"
adc0 20 29 3b 0a 20 20 72 65 74 75 72 6e 20 72 65 74 76 61 6c 3b 0a 20 20 7d 0a 00 00 00 00 00 00 00 .);...return.retval;...}........
ade0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
ae00 6c 7a 69 70 2d 31 2e 32 32 2f 63 6f 6e 66 69 67 75 72 65 00 00 00 00 00 00 00 00 00 00 00 00 00 lzip-1.22/configure.............
ae20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
ae40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
ae60 00 00 00 00 30 30 30 30 37 35 35 00 30 30 30 30 30 30 30 00 30 30 30 30 30 30 30 00 30 30 30 30 ....0000755.0000000.0000000.0000
ae80 30 30 31 36 33 35 31 00 31 33 37 37 33 36 31 37 31 33 31 00 30 31 34 33 34 30 00 20 30 00 00 00 0016351.13773617131.014340..0...
aea0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
aec0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
aee0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
af00 00 75 73 74 61 72 00 30 30 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .ustar.00root...................
af20 00 00 00 00 00 00 00 00 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .........root...................
af40 00 00 00 00 00 00 00 00 00 30 30 30 30 30 30 30 00 30 30 30 30 30 30 30 00 00 00 00 00 00 00 00 .........0000000.0000000........
af60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
af80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
afa0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
afc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
afe0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b000 23 21 20 2f 62 69 6e 2f 73 68 0a 23 20 63 6f 6e 66 69 67 75 72 65 20 73 63 72 69 70 74 20 66 6f #!./bin/sh.#.configure.script.fo
b020 72 20 4c 7a 69 70 20 2d 20 4c 5a 4d 41 20 6c 6f 73 73 6c 65 73 73 20 64 61 74 61 20 63 6f 6d 70 r.Lzip.-.LZMA.lossless.data.comp
b040 72 65 73 73 6f 72 0a 23 20 43 6f 70 79 72 69 67 68 74 20 28 43 29 20 32 30 30 38 2d 32 30 32 31 ressor.#.Copyright.(C).2008-2021
b060 20 41 6e 74 6f 6e 69 6f 20 44 69 61 7a 20 44 69 61 7a 2e 0a 23 0a 23 20 54 68 69 73 20 63 6f 6e .Antonio.Diaz.Diaz..#.#.This.con
b080 66 69 67 75 72 65 20 73 63 72 69 70 74 20 69 73 20 66 72 65 65 20 73 6f 66 74 77 61 72 65 3a 20 figure.script.is.free.software:.
b0a0 79 6f 75 20 68 61 76 65 20 75 6e 6c 69 6d 69 74 65 64 20 70 65 72 6d 69 73 73 69 6f 6e 0a 23 20 you.have.unlimited.permission.#.
b0c0 74 6f 20 63 6f 70 79 2c 20 64 69 73 74 72 69 62 75 74 65 2c 20 61 6e 64 20 6d 6f 64 69 66 79 20 to.copy,.distribute,.and.modify.
b0e0 69 74 2e 0a 0a 70 6b 67 6e 61 6d 65 3d 6c 7a 69 70 0a 70 6b 67 76 65 72 73 69 6f 6e 3d 31 2e 32 it...pkgname=lzip.pkgversion=1.2
b100 32 0a 70 72 6f 67 6e 61 6d 65 3d 6c 7a 69 70 0a 73 72 63 74 72 69 67 67 65 72 3d 64 6f 63 2f 24 2.progname=lzip.srctrigger=doc/$
b120 7b 70 6b 67 6e 61 6d 65 7d 2e 74 65 78 69 0a 0a 23 20 63 6c 65 61 72 20 73 6f 6d 65 20 74 68 69 {pkgname}.texi..#.clear.some.thi
b140 6e 67 73 20 70 6f 74 65 6e 74 69 61 6c 6c 79 20 69 6e 68 65 72 69 74 65 64 20 66 72 6f 6d 20 65 ngs.potentially.inherited.from.e
b160 6e 76 69 72 6f 6e 6d 65 6e 74 2e 0a 4c 43 5f 41 4c 4c 3d 43 0a 65 78 70 6f 72 74 20 4c 43 5f 41 nvironment..LC_ALL=C.export.LC_A
b180 4c 4c 0a 73 72 63 64 69 72 3d 0a 70 72 65 66 69 78 3d 2f 75 73 72 2f 6c 6f 63 61 6c 0a 65 78 65 LL.srcdir=.prefix=/usr/local.exe
b1a0 63 5f 70 72 65 66 69 78 3d 27 24 28 70 72 65 66 69 78 29 27 0a 62 69 6e 64 69 72 3d 27 24 28 65 c_prefix='$(prefix)'.bindir='$(e
b1c0 78 65 63 5f 70 72 65 66 69 78 29 2f 62 69 6e 27 0a 64 61 74 61 72 6f 6f 74 64 69 72 3d 27 24 28 xec_prefix)/bin'.datarootdir='$(
b1e0 70 72 65 66 69 78 29 2f 73 68 61 72 65 27 0a 69 6e 66 6f 64 69 72 3d 27 24 28 64 61 74 61 72 6f prefix)/share'.infodir='$(dataro
b200 6f 74 64 69 72 29 2f 69 6e 66 6f 27 0a 6d 61 6e 64 69 72 3d 27 24 28 64 61 74 61 72 6f 6f 74 64 otdir)/info'.mandir='$(datarootd
b220 69 72 29 2f 6d 61 6e 27 0a 62 75 69 6c 64 3d 6e 6f 0a 63 68 65 63 6b 3d 6e 6f 0a 69 6e 73 74 61 ir)/man'.build=no.check=no.insta
b240 6c 6c 64 69 72 3d 0a 43 58 58 3d 67 2b 2b 0a 43 50 50 46 4c 41 47 53 3d 0a 43 58 58 46 4c 41 47 lldir=.CXX=g++.CPPFLAGS=.CXXFLAG
b260 53 3d 27 2d 57 61 6c 6c 20 2d 57 20 2d 4f 32 27 0a 4c 44 46 4c 41 47 53 3d 0a 0a 23 20 63 68 65 S='-Wall.-W.-O2'.LDFLAGS=..#.che
b280 63 6b 69 6e 67 20 77 68 65 74 68 65 72 20 77 65 20 61 72 65 20 75 73 69 6e 67 20 47 4e 55 20 43 cking.whether.we.are.using.GNU.C
b2a0 2b 2b 2e 0a 2f 62 69 6e 2f 73 68 20 2d 63 20 22 24 7b 43 58 58 7d 20 2d 2d 76 65 72 73 69 6f 6e ++../bin/sh.-c."${CXX}.--version
b2c0 22 20 3e 20 2f 64 65 76 2f 6e 75 6c 6c 20 32 3e 26 31 20 7c 7c 20 7b 20 43 58 58 3d 63 2b 2b 20 ".>./dev/null.2>&1.||.{.CXX=c++.
b2e0 3b 20 43 58 58 46 4c 41 47 53 3d 2d 4f 32 20 3b 20 7d 0a 0a 23 20 4c 6f 6f 70 20 6f 76 65 72 20 ;.CXXFLAGS=-O2.;.}..#.Loop.over.
b300 61 6c 6c 20 61 72 67 73 0a 61 72 67 73 3d 0a 6e 6f 5f 63 72 65 61 74 65 3d 0a 77 68 69 6c 65 20 all.args.args=.no_create=.while.
b320 5b 20 24 23 20 21 3d 20 30 20 5d 20 3b 20 64 6f 0a 0a 09 23 20 47 65 74 20 74 68 65 20 66 69 72 [.$#.!=.0.].;.do...#.Get.the.fir
b340 73 74 20 61 72 67 2c 20 61 6e 64 20 73 68 75 66 66 6c 65 0a 09 6f 70 74 69 6f 6e 3d 24 31 20 3b st.arg,.and.shuffle..option=$1.;
b360 20 61 72 67 32 3d 6e 6f 0a 09 73 68 69 66 74 0a 0a 09 23 20 41 64 64 20 74 68 65 20 61 72 67 75 .arg2=no..shift...#.Add.the.argu
b380 6d 65 6e 74 20 71 75 6f 74 65 64 20 74 6f 20 61 72 67 73 0a 09 69 66 20 5b 20 2d 7a 20 22 24 7b ment.quoted.to.args..if.[.-z."${
b3a0 61 72 67 73 7d 22 20 5d 20 3b 20 74 68 65 6e 20 61 72 67 73 3d 22 5c 22 24 7b 6f 70 74 69 6f 6e args}".].;.then.args="\"${option
b3c0 7d 5c 22 22 0a 09 65 6c 73 65 20 61 72 67 73 3d 22 24 7b 61 72 67 73 7d 20 5c 22 24 7b 6f 70 74 }\""..else.args="${args}.\"${opt
b3e0 69 6f 6e 7d 5c 22 22 20 3b 20 66 69 0a 0a 09 23 20 53 70 6c 69 74 20 6f 75 74 20 74 68 65 20 61 ion}\"".;.fi...#.Split.out.the.a
b400 72 67 75 6d 65 6e 74 20 66 6f 72 20 6f 70 74 69 6f 6e 73 20 74 68 61 74 20 74 61 6b 65 20 74 68 rgument.for.options.that.take.th
b420 65 6d 0a 09 63 61 73 65 20 24 7b 6f 70 74 69 6f 6e 7d 20 69 6e 0a 09 2a 3d 2a 29 20 6f 70 74 61 em..case.${option}.in..*=*).opta
b440 72 67 3d 60 65 63 68 6f 20 22 24 7b 6f 70 74 69 6f 6e 7d 22 20 7c 20 73 65 64 20 2d 65 20 27 73 rg=`echo."${option}".|.sed.-e.'s
b460 2c 5e 5b 5e 3d 5d 2a 3d 2c 2c 3b 73 2c 2f 24 2c 2c 27 60 20 3b 3b 0a 09 65 73 61 63 0a 0a 09 23 ,^[^=]*=,,;s,/$,,'`.;;..esac...#
b480 20 50 72 6f 63 65 73 73 20 74 68 65 20 6f 70 74 69 6f 6e 73 0a 09 63 61 73 65 20 24 7b 6f 70 74 .Process.the.options..case.${opt
b4a0 69 6f 6e 7d 20 69 6e 0a 09 2d 2d 68 65 6c 70 20 7c 20 2d 68 29 0a 09 09 65 63 68 6f 20 22 55 73 ion}.in..--help.|.-h)...echo."Us
b4c0 61 67 65 3a 20 24 30 20 5b 4f 50 54 49 4f 4e 5d 2e 2e 2e 20 5b 56 41 52 3d 56 41 4c 55 45 5d 2e age:.$0.[OPTION]....[VAR=VALUE].
b4e0 2e 2e 22 0a 09 09 65 63 68 6f 0a 09 09 65 63 68 6f 20 22 54 6f 20 61 73 73 69 67 6e 20 6d 61 6b .."...echo...echo."To.assign.mak
b500 65 66 69 6c 65 20 76 61 72 69 61 62 6c 65 73 20 28 65 2e 67 2e 2c 20 43 58 58 2c 20 43 58 58 46 efile.variables.(e.g.,.CXX,.CXXF
b520 4c 41 47 53 2e 2e 2e 29 2c 20 73 70 65 63 69 66 79 20 74 68 65 6d 20 61 73 22 0a 09 09 65 63 68 LAGS...),.specify.them.as"...ech
b540 6f 20 22 61 72 67 75 6d 65 6e 74 73 20 74 6f 20 63 6f 6e 66 69 67 75 72 65 20 69 6e 20 74 68 65 o."arguments.to.configure.in.the
b560 20 66 6f 72 6d 20 56 41 52 3d 56 41 4c 55 45 2e 22 0a 09 09 65 63 68 6f 0a 09 09 65 63 68 6f 20 .form.VAR=VALUE."...echo...echo.
b580 22 4f 70 74 69 6f 6e 73 20 61 6e 64 20 76 61 72 69 61 62 6c 65 73 3a 20 5b 64 65 66 61 75 6c 74 "Options.and.variables:.[default
b5a0 73 20 69 6e 20 62 72 61 63 6b 65 74 73 5d 22 0a 09 09 65 63 68 6f 20 22 20 20 2d 68 2c 20 2d 2d s.in.brackets]"...echo."..-h,.--
b5c0 68 65 6c 70 20 20 20 20 20 20 20 20 20 20 20 20 64 69 73 70 6c 61 79 20 74 68 69 73 20 68 65 6c help............display.this.hel
b5e0 70 20 61 6e 64 20 65 78 69 74 22 0a 09 09 65 63 68 6f 20 22 20 20 2d 56 2c 20 2d 2d 76 65 72 73 p.and.exit"...echo."..-V,.--vers
b600 69 6f 6e 20 20 20 20 20 20 20 20 20 6f 75 74 70 75 74 20 76 65 72 73 69 6f 6e 20 69 6e 66 6f 72 ion.........output.version.infor
b620 6d 61 74 69 6f 6e 20 61 6e 64 20 65 78 69 74 22 0a 09 09 65 63 68 6f 20 22 20 20 2d 2d 73 72 63 mation.and.exit"...echo."..--src
b640 64 69 72 3d 44 49 52 20 20 20 20 20 20 20 20 20 20 66 69 6e 64 20 74 68 65 20 73 6f 75 72 63 65 dir=DIR..........find.the.source
b660 73 20 69 6e 20 44 49 52 20 5b 2e 20 6f 72 20 2e 2e 5d 22 0a 09 09 65 63 68 6f 20 22 20 20 2d 2d s.in.DIR.[..or...]"...echo."..--
b680 70 72 65 66 69 78 3d 44 49 52 20 20 20 20 20 20 20 20 20 20 69 6e 73 74 61 6c 6c 20 69 6e 74 6f prefix=DIR..........install.into
b6a0 20 44 49 52 20 5b 24 7b 70 72 65 66 69 78 7d 5d 22 0a 09 09 65 63 68 6f 20 22 20 20 2d 2d 65 78 .DIR.[${prefix}]"...echo."..--ex
b6c0 65 63 2d 70 72 65 66 69 78 3d 44 49 52 20 20 20 20 20 62 61 73 65 20 64 69 72 65 63 74 6f 72 79 ec-prefix=DIR.....base.directory
b6e0 20 66 6f 72 20 61 72 63 68 2d 64 65 70 65 6e 64 65 6e 74 20 66 69 6c 65 73 20 5b 24 7b 65 78 65 .for.arch-dependent.files.[${exe
b700 63 5f 70 72 65 66 69 78 7d 5d 22 0a 09 09 65 63 68 6f 20 22 20 20 2d 2d 62 69 6e 64 69 72 3d 44 c_prefix}]"...echo."..--bindir=D
b720 49 52 20 20 20 20 20 20 20 20 20 20 75 73 65 72 20 65 78 65 63 75 74 61 62 6c 65 73 20 64 69 72 IR..........user.executables.dir
b740 65 63 74 6f 72 79 20 5b 24 7b 62 69 6e 64 69 72 7d 5d 22 0a 09 09 65 63 68 6f 20 22 20 20 2d 2d ectory.[${bindir}]"...echo."..--
b760 64 61 74 61 72 6f 6f 74 64 69 72 3d 44 49 52 20 20 20 20 20 62 61 73 65 20 64 69 72 65 63 74 6f datarootdir=DIR.....base.directo
b780 72 79 20 66 6f 72 20 64 6f 63 20 61 6e 64 20 64 61 74 61 20 5b 24 7b 64 61 74 61 72 6f 6f 74 64 ry.for.doc.and.data.[${datarootd
b7a0 69 72 7d 5d 22 0a 09 09 65 63 68 6f 20 22 20 20 2d 2d 69 6e 66 6f 64 69 72 3d 44 49 52 20 20 20 ir}]"...echo."..--infodir=DIR...
b7c0 20 20 20 20 20 20 69 6e 66 6f 20 66 69 6c 65 73 20 64 69 72 65 63 74 6f 72 79 20 5b 24 7b 69 6e ......info.files.directory.[${in
b7e0 66 6f 64 69 72 7d 5d 22 0a 09 09 65 63 68 6f 20 22 20 20 2d 2d 6d 61 6e 64 69 72 3d 44 49 52 20 fodir}]"...echo."..--mandir=DIR.
b800 20 20 20 20 20 20 20 20 20 6d 61 6e 20 70 61 67 65 73 20 64 69 72 65 63 74 6f 72 79 20 5b 24 7b .........man.pages.directory.[${
b820 6d 61 6e 64 69 72 7d 5d 22 0a 09 09 65 63 68 6f 20 22 20 20 2d 2d 62 75 69 6c 64 20 20 20 20 20 mandir}]"...echo."..--build.....
b840 20 20 20 20 20 20 20 20 20 20 62 75 69 6c 64 20 69 6e 20 6f 6e 65 20 73 74 65 70 20 77 69 74 68 ..........build.in.one.step.with
b860 6f 75 74 20 75 73 69 6e 67 20 27 6d 61 6b 65 27 22 0a 09 09 65 63 68 6f 20 22 20 20 2d 2d 63 68 out.using.'make'"...echo."..--ch
b880 65 63 6b 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 63 68 65 63 6b 20 77 69 74 68 6f 75 74 20 eck...............check.without.
b8a0 75 73 69 6e 67 20 27 6d 61 6b 65 27 2c 20 69 6d 70 6c 69 65 73 20 2d 2d 62 75 69 6c 64 22 0a 09 using.'make',.implies.--build"..
b8c0 09 65 63 68 6f 20 22 20 20 2d 2d 69 6e 73 74 61 6c 6c 64 69 72 3d 42 49 4e 44 49 52 20 20 20 69 .echo."..--installdir=BINDIR...i
b8e0 6e 73 74 61 6c 6c 20 77 69 74 68 6f 75 74 20 75 73 69 6e 67 20 27 6d 61 6b 65 27 2c 20 69 6d 70 nstall.without.using.'make',.imp
b900 6c 69 65 73 20 2d 2d 62 75 69 6c 64 22 0a 09 09 65 63 68 6f 20 22 20 20 43 58 58 3d 43 4f 4d 50 lies.--build"...echo."..CXX=COMP
b920 49 4c 45 52 20 20 20 20 20 20 20 20 20 20 43 2b 2b 20 63 6f 6d 70 69 6c 65 72 20 74 6f 20 75 73 ILER..........C++.compiler.to.us
b940 65 20 5b 24 7b 43 58 58 7d 5d 22 0a 09 09 65 63 68 6f 20 22 20 20 43 50 50 46 4c 41 47 53 3d 4f e.[${CXX}]"...echo."..CPPFLAGS=O
b960 50 54 49 4f 4e 53 20 20 20 20 20 20 63 6f 6d 6d 61 6e 64 20 6c 69 6e 65 20 6f 70 74 69 6f 6e 73 PTIONS......command.line.options
b980 20 66 6f 72 20 74 68 65 20 70 72 65 70 72 6f 63 65 73 73 6f 72 20 5b 24 7b 43 50 50 46 4c 41 47 .for.the.preprocessor.[${CPPFLAG
b9a0 53 7d 5d 22 0a 09 09 65 63 68 6f 20 22 20 20 43 58 58 46 4c 41 47 53 3d 4f 50 54 49 4f 4e 53 20 S}]"...echo."..CXXFLAGS=OPTIONS.
b9c0 20 20 20 20 20 63 6f 6d 6d 61 6e 64 20 6c 69 6e 65 20 6f 70 74 69 6f 6e 73 20 66 6f 72 20 74 68 .....command.line.options.for.th
b9e0 65 20 43 2b 2b 20 63 6f 6d 70 69 6c 65 72 20 5b 24 7b 43 58 58 46 4c 41 47 53 7d 5d 22 0a 09 09 e.C++.compiler.[${CXXFLAGS}]"...
ba00 65 63 68 6f 20 22 20 20 43 58 58 46 4c 41 47 53 2b 3d 4f 50 54 49 4f 4e 53 20 20 20 20 20 61 70 echo."..CXXFLAGS+=OPTIONS.....ap
ba20 70 65 6e 64 20 6f 70 74 69 6f 6e 73 20 74 6f 20 74 68 65 20 63 75 72 72 65 6e 74 20 76 61 6c 75 pend.options.to.the.current.valu
ba40 65 20 6f 66 20 43 58 58 46 4c 41 47 53 22 0a 09 09 65 63 68 6f 20 22 20 20 4c 44 46 4c 41 47 53 e.of.CXXFLAGS"...echo."..LDFLAGS
ba60 3d 4f 50 54 49 4f 4e 53 20 20 20 20 20 20 20 63 6f 6d 6d 61 6e 64 20 6c 69 6e 65 20 6f 70 74 69 =OPTIONS.......command.line.opti
ba80 6f 6e 73 20 66 6f 72 20 74 68 65 20 6c 69 6e 6b 65 72 20 5b 24 7b 4c 44 46 4c 41 47 53 7d 5d 22 ons.for.the.linker.[${LDFLAGS}]"
baa0 0a 09 09 65 63 68 6f 0a 09 09 65 78 69 74 20 30 20 3b 3b 0a 09 2d 2d 76 65 72 73 69 6f 6e 20 7c ...echo...exit.0.;;..--version.|
bac0 20 2d 56 29 0a 09 09 65 63 68 6f 20 22 43 6f 6e 66 69 67 75 72 65 20 73 63 72 69 70 74 20 66 6f .-V)...echo."Configure.script.fo
bae0 72 20 24 7b 70 6b 67 6e 61 6d 65 7d 20 76 65 72 73 69 6f 6e 20 24 7b 70 6b 67 76 65 72 73 69 6f r.${pkgname}.version.${pkgversio
bb00 6e 7d 22 0a 09 09 65 78 69 74 20 30 20 3b 3b 0a 09 2d 2d 73 72 63 64 69 72 29 20 20 20 20 20 20 n}"...exit.0.;;..--srcdir)......
bb20 20 20 20 20 20 20 73 72 63 64 69 72 3d 24 31 20 3b 20 61 72 67 32 3d 79 65 73 20 3b 3b 0a 09 2d ......srcdir=$1.;.arg2=yes.;;..-
bb40 2d 70 72 65 66 69 78 29 20 20 20 20 20 20 20 20 20 20 20 20 70 72 65 66 69 78 3d 24 31 20 3b 20 -prefix)............prefix=$1.;.
bb60 61 72 67 32 3d 79 65 73 20 3b 3b 0a 09 2d 2d 65 78 65 63 2d 70 72 65 66 69 78 29 20 20 65 78 65 arg2=yes.;;..--exec-prefix)..exe
bb80 63 5f 70 72 65 66 69 78 3d 24 31 20 3b 20 61 72 67 32 3d 79 65 73 20 3b 3b 0a 09 2d 2d 62 69 6e c_prefix=$1.;.arg2=yes.;;..--bin
bba0 64 69 72 29 20 20 20 20 20 20 20 20 20 20 20 20 62 69 6e 64 69 72 3d 24 31 20 3b 20 61 72 67 32 dir)............bindir=$1.;.arg2
bbc0 3d 79 65 73 20 3b 3b 0a 09 2d 2d 64 61 74 61 72 6f 6f 74 64 69 72 29 20 20 64 61 74 61 72 6f 6f =yes.;;..--datarootdir)..dataroo
bbe0 74 64 69 72 3d 24 31 20 3b 20 61 72 67 32 3d 79 65 73 20 3b 3b 0a 09 2d 2d 69 6e 66 6f 64 69 72 tdir=$1.;.arg2=yes.;;..--infodir
bc00 29 20 20 20 20 20 20 20 20 20 20 69 6e 66 6f 64 69 72 3d 24 31 20 3b 20 61 72 67 32 3d 79 65 73 )..........infodir=$1.;.arg2=yes
bc20 20 3b 3b 0a 09 2d 2d 6d 61 6e 64 69 72 29 20 20 20 20 20 20 20 20 20 20 20 20 6d 61 6e 64 69 72 .;;..--mandir)............mandir
bc40 3d 24 31 20 3b 20 61 72 67 32 3d 79 65 73 20 3b 3b 0a 09 2d 2d 69 6e 73 74 61 6c 6c 64 69 72 29 =$1.;.arg2=yes.;;..--installdir)
bc60 20 20 20 20 69 6e 73 74 61 6c 6c 64 69 72 3d 24 31 20 3b 20 61 72 67 32 3d 79 65 73 20 3b 3b 0a ....installdir=$1.;.arg2=yes.;;.
bc80 0a 09 2d 2d 73 72 63 64 69 72 3d 2a 29 20 20 20 20 20 20 20 20 20 20 20 20 73 72 63 64 69 72 3d ..--srcdir=*)............srcdir=
bca0 24 7b 6f 70 74 61 72 67 7d 20 3b 3b 0a 09 2d 2d 70 72 65 66 69 78 3d 2a 29 20 20 20 20 20 20 20 ${optarg}.;;..--prefix=*).......
bcc0 20 20 20 20 20 70 72 65 66 69 78 3d 24 7b 6f 70 74 61 72 67 7d 20 3b 3b 0a 09 2d 2d 65 78 65 63 .....prefix=${optarg}.;;..--exec
bce0 2d 70 72 65 66 69 78 3d 2a 29 20 20 65 78 65 63 5f 70 72 65 66 69 78 3d 24 7b 6f 70 74 61 72 67 -prefix=*)..exec_prefix=${optarg
bd00 7d 20 3b 3b 0a 09 2d 2d 62 69 6e 64 69 72 3d 2a 29 20 20 20 20 20 20 20 20 20 20 20 20 62 69 6e }.;;..--bindir=*)............bin
bd20 64 69 72 3d 24 7b 6f 70 74 61 72 67 7d 20 3b 3b 0a 09 2d 2d 64 61 74 61 72 6f 6f 74 64 69 72 3d dir=${optarg}.;;..--datarootdir=
bd40 2a 29 20 20 64 61 74 61 72 6f 6f 74 64 69 72 3d 24 7b 6f 70 74 61 72 67 7d 20 3b 3b 0a 09 2d 2d *)..datarootdir=${optarg}.;;..--
bd60 69 6e 66 6f 64 69 72 3d 2a 29 20 20 20 20 20 20 20 20 20 20 69 6e 66 6f 64 69 72 3d 24 7b 6f 70 infodir=*)..........infodir=${op
bd80 74 61 72 67 7d 20 3b 3b 0a 09 2d 2d 6d 61 6e 64 69 72 3d 2a 29 20 20 20 20 20 20 20 20 20 20 20 targ}.;;..--mandir=*)...........
bda0 20 6d 61 6e 64 69 72 3d 24 7b 6f 70 74 61 72 67 7d 20 3b 3b 0a 09 2d 2d 62 75 69 6c 64 29 20 20 .mandir=${optarg}.;;..--build)..
bdc0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 62 75 69 6c 64 3d 79 65 73 20 3b 3b ....................build=yes.;;
bde0 0a 09 2d 2d 63 68 65 63 6b 29 20 20 20 20 20 20 20 20 20 20 63 68 65 63 6b 3d 79 65 73 20 3b 20 ..--check)..........check=yes.;.
be00 62 75 69 6c 64 3d 79 65 73 20 3b 3b 0a 09 2d 2d 69 6e 73 74 61 6c 6c 64 69 72 3d 2a 29 20 20 20 build=yes.;;..--installdir=*)...
be20 20 69 6e 73 74 61 6c 6c 64 69 72 3d 24 7b 6f 70 74 61 72 67 7d 20 3b 20 62 75 69 6c 64 3d 79 65 .installdir=${optarg}.;.build=ye
be40 73 20 3b 3b 0a 09 2d 2d 6e 6f 2d 63 72 65 61 74 65 29 20 20 20 20 20 20 20 20 20 20 20 20 20 20 s.;;..--no-create)..............
be60 6e 6f 5f 63 72 65 61 74 65 3d 79 65 73 20 3b 3b 0a 0a 09 43 58 58 3d 2a 29 20 20 20 20 20 20 20 no_create=yes.;;...CXX=*).......
be80 20 20 20 20 20 43 58 58 3d 24 7b 6f 70 74 61 72 67 7d 20 3b 3b 0a 09 43 50 50 46 4c 41 47 53 3d .....CXX=${optarg}.;;..CPPFLAGS=
bea0 2a 29 20 20 43 50 50 46 4c 41 47 53 3d 24 7b 6f 70 74 61 72 67 7d 20 3b 3b 0a 09 43 58 58 46 4c *)..CPPFLAGS=${optarg}.;;..CXXFL
bec0 41 47 53 3d 2a 29 20 20 43 58 58 46 4c 41 47 53 3d 24 7b 6f 70 74 61 72 67 7d 20 3b 3b 0a 09 43 AGS=*)..CXXFLAGS=${optarg}.;;..C
bee0 58 58 46 4c 41 47 53 2b 3d 2a 29 20 43 58 58 46 4c 41 47 53 3d 22 24 7b 43 58 58 46 4c 41 47 53 XXFLAGS+=*).CXXFLAGS="${CXXFLAGS
bf00 7d 20 24 7b 6f 70 74 61 72 67 7d 22 20 3b 3b 0a 09 4c 44 46 4c 41 47 53 3d 2a 29 20 20 20 20 4c }.${optarg}".;;..LDFLAGS=*)....L
bf20 44 46 4c 41 47 53 3d 24 7b 6f 70 74 61 72 67 7d 20 3b 3b 0a 0a 09 2d 2d 2a 29 0a 09 09 65 63 68 DFLAGS=${optarg}.;;...--*)...ech
bf40 6f 20 22 63 6f 6e 66 69 67 75 72 65 3a 20 57 41 52 4e 49 4e 47 3a 20 75 6e 72 65 63 6f 67 6e 69 o."configure:.WARNING:.unrecogni
bf60 7a 65 64 20 6f 70 74 69 6f 6e 3a 20 27 24 7b 6f 70 74 69 6f 6e 7d 27 22 20 31 3e 26 32 20 3b 3b zed.option:.'${option}'".1>&2.;;
bf80 0a 09 2a 3d 2a 20 7c 20 2a 2d 2a 2d 2a 29 20 3b 3b 0a 09 2a 29 0a 09 09 65 63 68 6f 20 22 63 6f ..*=*.|.*-*-*).;;..*)...echo."co
bfa0 6e 66 69 67 75 72 65 3a 20 75 6e 72 65 63 6f 67 6e 69 7a 65 64 20 6f 70 74 69 6f 6e 3a 20 27 24 nfigure:.unrecognized.option:.'$
bfc0 7b 6f 70 74 69 6f 6e 7d 27 22 20 31 3e 26 32 0a 09 09 65 63 68 6f 20 22 54 72 79 20 27 63 6f 6e {option}'".1>&2...echo."Try.'con
bfe0 66 69 67 75 72 65 20 2d 2d 68 65 6c 70 27 20 66 6f 72 20 6d 6f 72 65 20 69 6e 66 6f 72 6d 61 74 figure.--help'.for.more.informat
c000 69 6f 6e 2e 22 20 31 3e 26 32 0a 09 09 65 78 69 74 20 31 20 3b 3b 0a 09 65 73 61 63 0a 0a 09 23 ion.".1>&2...exit.1.;;..esac...#
c020 20 43 68 65 63 6b 20 69 66 20 74 68 65 20 6f 70 74 69 6f 6e 20 74 6f 6f 6b 20 61 20 73 65 70 61 .Check.if.the.option.took.a.sepa
c040 72 61 74 65 20 61 72 67 75 6d 65 6e 74 0a 09 69 66 20 5b 20 22 24 7b 61 72 67 32 7d 22 20 3d 20 rate.argument..if.[."${arg2}".=.
c060 79 65 73 20 5d 20 3b 20 74 68 65 6e 0a 09 09 69 66 20 5b 20 24 23 20 21 3d 20 30 20 5d 20 3b 20 yes.].;.then...if.[.$#.!=.0.].;.
c080 74 68 65 6e 20 61 72 67 73 3d 22 24 7b 61 72 67 73 7d 20 5c 22 24 31 5c 22 22 20 3b 20 73 68 69 then.args="${args}.\"$1\"".;.shi
c0a0 66 74 0a 09 09 65 6c 73 65 20 65 63 68 6f 20 22 63 6f 6e 66 69 67 75 72 65 3a 20 4d 69 73 73 69 ft...else.echo."configure:.Missi
c0c0 6e 67 20 61 72 67 75 6d 65 6e 74 20 74 6f 20 27 24 7b 6f 70 74 69 6f 6e 7d 27 22 20 31 3e 26 32 ng.argument.to.'${option}'".1>&2
c0e0 0a 09 09 09 65 78 69 74 20 31 0a 09 09 66 69 0a 09 66 69 0a 64 6f 6e 65 0a 0a 23 20 46 69 6e 64 ....exit.1...fi..fi.done..#.Find
c100 20 74 68 65 20 73 6f 75 72 63 65 20 66 69 6c 65 73 2c 20 69 66 20 6c 6f 63 61 74 69 6f 6e 20 77 .the.source.files,.if.location.w
c120 61 73 20 6e 6f 74 20 73 70 65 63 69 66 69 65 64 2e 0a 73 72 63 64 69 72 74 65 78 74 3d 0a 69 66 as.not.specified..srcdirtext=.if
c140 20 5b 20 2d 7a 20 22 24 7b 73 72 63 64 69 72 7d 22 20 5d 20 3b 20 74 68 65 6e 0a 09 73 72 63 64 .[.-z."${srcdir}".].;.then..srcd
c160 69 72 74 65 78 74 3d 22 6f 72 20 2e 20 6f 72 20 2e 2e 22 20 3b 20 73 72 63 64 69 72 3d 2e 0a 09 irtext="or...or...".;.srcdir=...
c180 69 66 20 5b 20 21 20 2d 72 20 22 24 7b 73 72 63 64 69 72 7d 2f 24 7b 73 72 63 74 72 69 67 67 65 if.[.!.-r."${srcdir}/${srctrigge
c1a0 72 7d 22 20 5d 20 3b 20 74 68 65 6e 20 73 72 63 64 69 72 3d 2e 2e 20 3b 20 66 69 0a 09 69 66 20 r}".].;.then.srcdir=...;.fi..if.
c1c0 5b 20 21 20 2d 72 20 22 24 7b 73 72 63 64 69 72 7d 2f 24 7b 73 72 63 74 72 69 67 67 65 72 7d 22 [.!.-r."${srcdir}/${srctrigger}"
c1e0 20 5d 20 3b 20 74 68 65 6e 0a 09 09 23 23 20 74 68 65 20 73 65 64 20 63 6f 6d 6d 61 6e 64 20 62 .].;.then...##.the.sed.command.b
c200 65 6c 6f 77 20 65 6d 75 6c 61 74 65 73 20 74 68 65 20 64 69 72 6e 61 6d 65 20 63 6f 6d 6d 61 6e elow.emulates.the.dirname.comman
c220 64 0a 09 09 73 72 63 64 69 72 3d 60 65 63 68 6f 20 22 24 30 22 20 7c 20 73 65 64 20 2d 65 20 27 d...srcdir=`echo."$0".|.sed.-e.'
c240 73 2c 5b 5e 2f 5d 2a 24 2c 2c 3b 73 2c 2f 24 2c 2c 3b 73 2c 5e 24 2c 2e 2c 27 60 0a 09 66 69 0a s,[^/]*$,,;s,/$,,;s,^$,.,'`..fi.
c260 66 69 0a 0a 69 66 20 5b 20 21 20 2d 72 20 22 24 7b 73 72 63 64 69 72 7d 2f 24 7b 73 72 63 74 72 fi..if.[.!.-r."${srcdir}/${srctr
c280 69 67 67 65 72 7d 22 20 5d 20 3b 20 74 68 65 6e 0a 09 65 63 68 6f 20 22 63 6f 6e 66 69 67 75 72 igger}".].;.then..echo."configur
c2a0 65 3a 20 43 61 6e 27 74 20 66 69 6e 64 20 73 6f 75 72 63 65 73 20 69 6e 20 24 7b 73 72 63 64 69 e:.Can't.find.sources.in.${srcdi
c2c0 72 7d 20 24 7b 73 72 63 64 69 72 74 65 78 74 7d 22 20 31 3e 26 32 0a 09 65 63 68 6f 20 22 63 6f r}.${srcdirtext}".1>&2..echo."co
c2e0 6e 66 69 67 75 72 65 3a 20 28 41 74 20 6c 65 61 73 74 20 24 7b 73 72 63 74 72 69 67 67 65 72 7d nfigure:.(At.least.${srctrigger}
c300 20 69 73 20 6d 69 73 73 69 6e 67 29 2e 22 20 31 3e 26 32 0a 09 65 78 69 74 20 31 0a 66 69 0a 0a .is.missing).".1>&2..exit.1.fi..
c320 23 20 53 65 74 20 73 72 63 64 69 72 20 74 6f 20 2e 20 69 66 20 74 68 61 74 27 73 20 77 68 61 74 #.Set.srcdir.to...if.that's.what
c340 20 69 74 20 69 73 2e 0a 69 66 20 5b 20 22 60 70 77 64 60 22 20 3d 20 22 60 63 64 20 22 24 7b 73 .it.is..if.[."`pwd`".=."`cd."${s
c360 72 63 64 69 72 7d 22 20 3b 20 70 77 64 60 22 20 5d 20 3b 20 74 68 65 6e 20 73 72 63 64 69 72 3d rcdir}".;.pwd`".].;.then.srcdir=
c380 2e 20 3b 20 66 69 0a 0a 69 66 20 5b 20 22 24 7b 62 75 69 6c 64 7d 22 20 3d 20 79 65 73 20 5d 20 ..;.fi..if.[."${build}".=.yes.].
c3a0 3b 20 74 68 65 6e 0a 20 20 6f 62 6a 73 3d 24 28 73 65 64 20 2d 65 20 3a 61 20 2d 65 20 27 2f 5c ;.then...objs=$(sed.-e.:a.-e.'/\
c3c0 5c 24 2f 4e 3b 20 73 2f 5c 5c 5c 6e 2f 2f 3b 20 74 61 27 20 22 24 7b 73 72 63 64 69 72 7d 2f 4d \$/N;.s/\\\n//;.ta'."${srcdir}/M
c3e0 61 6b 65 66 69 6c 65 2e 69 6e 22 20 7c 20 5c 0a 20 20 20 20 20 20 20 20 20 73 65 64 20 2d 6e 20 akefile.in".|.\..........sed.-n.
c400 2d 65 20 27 73 2f 5e 20 2a 6f 62 6a 73 20 2a 3d 20 2a 2f 2f 70 27 20 7c 20 73 65 64 20 2d 65 20 -e.'s/^.*objs.*=.*//p'.|.sed.-e.
c420 27 73 2f 20 5c 7b 32 2c 5c 7d 2f 20 2f 67 27 29 0a 20 20 66 6f 72 20 6f 66 69 6c 65 20 69 6e 20 's/.\{2,\}/./g')...for.ofile.in.
c440 24 7b 6f 62 6a 73 7d 20 3b 20 64 6f 0a 20 20 20 20 66 69 6c 65 3d 22 24 7b 6f 66 69 6c 65 25 2e ${objs}.;.do.....file="${ofile%.
c460 6f 7d 2e 63 63 22 20 3b 20 70 76 65 72 3d 0a 20 20 20 20 5b 20 22 24 7b 6f 66 69 6c 65 7d 22 20 o}.cc".;.pver=.....[."${ofile}".
c480 3d 20 6d 61 69 6e 2e 6f 20 5d 20 26 26 20 70 76 65 72 3d 22 20 2d 44 50 52 4f 47 56 45 52 53 49 =.main.o.].&&.pver=".-DPROGVERSI
c4a0 4f 4e 3d 5c 22 24 7b 70 6b 67 76 65 72 73 69 6f 6e 7d 5c 22 22 0a 20 20 20 20 63 6f 6d 70 69 6c ON=\"${pkgversion}\"".....compil
c4c0 65 5f 63 6f 6d 6d 61 6e 64 3d 22 24 7b 43 58 58 7d 20 24 7b 43 50 50 46 4c 41 47 53 7d 20 24 7b e_command="${CXX}.${CPPFLAGS}.${
c4e0 43 58 58 46 4c 41 47 53 7d 24 7b 70 76 65 72 7d 20 2d 63 20 2d 6f 20 24 7b 6f 66 69 6c 65 7d 22 CXXFLAGS}${pver}.-c.-o.${ofile}"
c500 0a 20 20 20 20 65 63 68 6f 20 22 24 7b 63 6f 6d 70 69 6c 65 5f 63 6f 6d 6d 61 6e 64 7d 20 24 7b .....echo."${compile_command}.${
c520 73 72 63 64 69 72 7d 2f 24 7b 66 69 6c 65 7d 22 0a 20 20 20 20 24 7b 63 6f 6d 70 69 6c 65 5f 63 srcdir}/${file}".....${compile_c
c540 6f 6d 6d 61 6e 64 7d 20 22 24 7b 73 72 63 64 69 72 7d 2f 24 7b 66 69 6c 65 7d 22 20 7c 7c 20 65 ommand}."${srcdir}/${file}".||.e
c560 78 69 74 20 31 0a 20 20 64 6f 6e 65 0a 20 20 6c 69 6e 6b 5f 63 6f 6d 6d 61 6e 64 3d 22 24 7b 43 xit.1...done...link_command="${C
c580 58 58 7d 20 24 7b 4c 44 46 4c 41 47 53 7d 20 24 7b 43 58 58 46 4c 41 47 53 7d 20 2d 6f 20 24 7b XX}.${LDFLAGS}.${CXXFLAGS}.-o.${
c5a0 70 72 6f 67 6e 61 6d 65 7d 20 24 7b 6f 62 6a 73 7d 22 0a 20 20 65 63 68 6f 20 22 24 7b 6c 69 6e progname}.${objs}"...echo."${lin
c5c0 6b 5f 63 6f 6d 6d 61 6e 64 7d 22 20 3b 20 24 7b 6c 69 6e 6b 5f 63 6f 6d 6d 61 6e 64 7d 20 7c 7c k_command}".;.${link_command}.||
c5e0 20 65 78 69 74 20 31 0a 20 20 69 66 20 5b 20 22 24 7b 63 68 65 63 6b 7d 22 20 3d 20 79 65 73 20 .exit.1...if.[."${check}".=.yes.
c600 5d 20 3b 20 74 68 65 6e 0a 20 20 20 20 22 24 7b 73 72 63 64 69 72 7d 2f 74 65 73 74 73 75 69 74 ].;.then....."${srcdir}/testsuit
c620 65 2f 63 68 65 63 6b 2e 73 68 22 20 22 24 7b 73 72 63 64 69 72 7d 2f 74 65 73 74 73 75 69 74 65 e/check.sh"."${srcdir}/testsuite
c640 22 20 24 7b 70 6b 67 76 65 72 73 69 6f 6e 7d 20 7c 7c 20 65 78 69 74 20 31 0a 20 20 66 69 0a 20 ".${pkgversion}.||.exit.1...fi..
c660 20 69 66 20 5b 20 2d 6e 20 22 24 7b 69 6e 73 74 61 6c 6c 64 69 72 7d 22 20 5d 20 3b 20 74 68 65 .if.[.-n."${installdir}".].;.the
c680 6e 0a 20 20 20 20 65 63 68 6f 20 22 69 6e 73 74 61 6c 6c 69 6e 67 20 24 7b 70 72 6f 67 6e 61 6d n.....echo."installing.${prognam
c6a0 65 7d 20 69 6e 20 24 7b 69 6e 73 74 61 6c 6c 64 69 72 7d 22 0a 20 20 20 20 5b 20 2d 64 20 22 24 e}.in.${installdir}".....[.-d."$
c6c0 7b 69 6e 73 74 61 6c 6c 64 69 72 7d 22 20 5d 20 7c 7c 20 6d 6b 64 69 72 20 2d 70 20 22 24 7b 69 {installdir}".].||.mkdir.-p."${i
c6e0 6e 73 74 61 6c 6c 64 69 72 7d 22 20 7c 7c 20 65 78 69 74 20 31 0a 20 20 20 20 63 70 20 2d 66 70 nstalldir}".||.exit.1.....cp.-fp
c700 20 24 7b 70 72 6f 67 6e 61 6d 65 7d 20 22 24 7b 69 6e 73 74 61 6c 6c 64 69 72 7d 2f 24 7b 70 72 .${progname}."${installdir}/${pr
c720 6f 67 6e 61 6d 65 7d 22 20 7c 7c 20 65 78 69 74 20 31 0a 20 20 66 69 0a 20 20 65 78 69 74 20 30 ogname}".||.exit.1...fi...exit.0
c740 0a 66 69 0a 0a 65 63 68 6f 0a 69 66 20 5b 20 2d 7a 20 22 24 7b 6e 6f 5f 63 72 65 61 74 65 7d 22 .fi..echo.if.[.-z."${no_create}"
c760 20 5d 20 3b 20 74 68 65 6e 0a 09 65 63 68 6f 20 22 63 72 65 61 74 69 6e 67 20 63 6f 6e 66 69 67 .].;.then..echo."creating.config
c780 2e 73 74 61 74 75 73 22 0a 09 72 6d 20 2d 66 20 63 6f 6e 66 69 67 2e 73 74 61 74 75 73 0a 09 63 .status"..rm.-f.config.status..c
c7a0 61 74 20 3e 20 63 6f 6e 66 69 67 2e 73 74 61 74 75 73 20 3c 3c 20 45 4f 46 0a 23 21 20 2f 62 69 at.>.config.status.<<.EOF.#!./bi
c7c0 6e 2f 73 68 0a 23 20 54 68 69 73 20 66 69 6c 65 20 77 61 73 20 67 65 6e 65 72 61 74 65 64 20 61 n/sh.#.This.file.was.generated.a
c7e0 75 74 6f 6d 61 74 69 63 61 6c 6c 79 20 62 79 20 63 6f 6e 66 69 67 75 72 65 2e 20 44 6f 6e 27 74 utomatically.by.configure..Don't
c800 20 65 64 69 74 2e 0a 23 20 52 75 6e 20 74 68 69 73 20 66 69 6c 65 20 74 6f 20 72 65 63 72 65 61 .edit..#.Run.this.file.to.recrea
c820 74 65 20 74 68 65 20 63 75 72 72 65 6e 74 20 63 6f 6e 66 69 67 75 72 61 74 69 6f 6e 2e 0a 23 0a te.the.current.configuration..#.
c840 23 20 54 68 69 73 20 73 63 72 69 70 74 20 69 73 20 66 72 65 65 20 73 6f 66 74 77 61 72 65 3a 20 #.This.script.is.free.software:.
c860 79 6f 75 20 68 61 76 65 20 75 6e 6c 69 6d 69 74 65 64 20 70 65 72 6d 69 73 73 69 6f 6e 0a 23 20 you.have.unlimited.permission.#.
c880 74 6f 20 63 6f 70 79 2c 20 64 69 73 74 72 69 62 75 74 65 2c 20 61 6e 64 20 6d 6f 64 69 66 79 20 to.copy,.distribute,.and.modify.
c8a0 69 74 2e 0a 0a 65 78 65 63 20 2f 62 69 6e 2f 73 68 20 24 30 20 24 7b 61 72 67 73 7d 20 2d 2d 6e it...exec./bin/sh.$0.${args}.--n
c8c0 6f 2d 63 72 65 61 74 65 0a 45 4f 46 0a 09 63 68 6d 6f 64 20 2b 78 20 63 6f 6e 66 69 67 2e 73 74 o-create.EOF..chmod.+x.config.st
c8e0 61 74 75 73 0a 66 69 0a 0a 65 63 68 6f 20 22 63 72 65 61 74 69 6e 67 20 4d 61 6b 65 66 69 6c 65 atus.fi..echo."creating.Makefile
c900 22 0a 65 63 68 6f 20 22 56 50 41 54 48 20 3d 20 24 7b 73 72 63 64 69 72 7d 22 0a 65 63 68 6f 20 ".echo."VPATH.=.${srcdir}".echo.
c920 22 70 72 65 66 69 78 20 3d 20 24 7b 70 72 65 66 69 78 7d 22 0a 65 63 68 6f 20 22 65 78 65 63 5f "prefix.=.${prefix}".echo."exec_
c940 70 72 65 66 69 78 20 3d 20 24 7b 65 78 65 63 5f 70 72 65 66 69 78 7d 22 0a 65 63 68 6f 20 22 62 prefix.=.${exec_prefix}".echo."b
c960 69 6e 64 69 72 20 3d 20 24 7b 62 69 6e 64 69 72 7d 22 0a 65 63 68 6f 20 22 64 61 74 61 72 6f 6f indir.=.${bindir}".echo."dataroo
c980 74 64 69 72 20 3d 20 24 7b 64 61 74 61 72 6f 6f 74 64 69 72 7d 22 0a 65 63 68 6f 20 22 69 6e 66 tdir.=.${datarootdir}".echo."inf
c9a0 6f 64 69 72 20 3d 20 24 7b 69 6e 66 6f 64 69 72 7d 22 0a 65 63 68 6f 20 22 6d 61 6e 64 69 72 20 odir.=.${infodir}".echo."mandir.
c9c0 3d 20 24 7b 6d 61 6e 64 69 72 7d 22 0a 65 63 68 6f 20 22 43 58 58 20 3d 20 24 7b 43 58 58 7d 22 =.${mandir}".echo."CXX.=.${CXX}"
c9e0 0a 65 63 68 6f 20 22 43 50 50 46 4c 41 47 53 20 3d 20 24 7b 43 50 50 46 4c 41 47 53 7d 22 0a 65 .echo."CPPFLAGS.=.${CPPFLAGS}".e
ca00 63 68 6f 20 22 43 58 58 46 4c 41 47 53 20 3d 20 24 7b 43 58 58 46 4c 41 47 53 7d 22 0a 65 63 68 cho."CXXFLAGS.=.${CXXFLAGS}".ech
ca20 6f 20 22 4c 44 46 4c 41 47 53 20 3d 20 24 7b 4c 44 46 4c 41 47 53 7d 22 0a 72 6d 20 2d 66 20 4d o."LDFLAGS.=.${LDFLAGS}".rm.-f.M
ca40 61 6b 65 66 69 6c 65 0a 63 61 74 20 3e 20 4d 61 6b 65 66 69 6c 65 20 3c 3c 20 45 4f 46 0a 23 20 akefile.cat.>.Makefile.<<.EOF.#.
ca60 4d 61 6b 65 66 69 6c 65 20 66 6f 72 20 4c 7a 69 70 20 2d 20 4c 5a 4d 41 20 6c 6f 73 73 6c 65 73 Makefile.for.Lzip.-.LZMA.lossles
ca80 73 20 64 61 74 61 20 63 6f 6d 70 72 65 73 73 6f 72 0a 23 20 43 6f 70 79 72 69 67 68 74 20 28 43 s.data.compressor.#.Copyright.(C
caa0 29 20 32 30 30 38 2d 32 30 32 31 20 41 6e 74 6f 6e 69 6f 20 44 69 61 7a 20 44 69 61 7a 2e 0a 23 ).2008-2021.Antonio.Diaz.Diaz..#
cac0 20 54 68 69 73 20 66 69 6c 65 20 77 61 73 20 67 65 6e 65 72 61 74 65 64 20 61 75 74 6f 6d 61 74 .This.file.was.generated.automat
cae0 69 63 61 6c 6c 79 20 62 79 20 63 6f 6e 66 69 67 75 72 65 2e 20 44 6f 6e 27 74 20 65 64 69 74 2e ically.by.configure..Don't.edit.
cb00 0a 23 0a 23 20 54 68 69 73 20 4d 61 6b 65 66 69 6c 65 20 69 73 20 66 72 65 65 20 73 6f 66 74 77 .#.#.This.Makefile.is.free.softw
cb20 61 72 65 3a 20 79 6f 75 20 68 61 76 65 20 75 6e 6c 69 6d 69 74 65 64 20 70 65 72 6d 69 73 73 69 are:.you.have.unlimited.permissi
cb40 6f 6e 0a 23 20 74 6f 20 63 6f 70 79 2c 20 64 69 73 74 72 69 62 75 74 65 2c 20 61 6e 64 20 6d 6f on.#.to.copy,.distribute,.and.mo
cb60 64 69 66 79 20 69 74 2e 0a 0a 70 6b 67 6e 61 6d 65 20 3d 20 24 7b 70 6b 67 6e 61 6d 65 7d 0a 70 dify.it...pkgname.=.${pkgname}.p
cb80 6b 67 76 65 72 73 69 6f 6e 20 3d 20 24 7b 70 6b 67 76 65 72 73 69 6f 6e 7d 0a 70 72 6f 67 6e 61 kgversion.=.${pkgversion}.progna
cba0 6d 65 20 3d 20 24 7b 70 72 6f 67 6e 61 6d 65 7d 0a 56 50 41 54 48 20 3d 20 24 7b 73 72 63 64 69 me.=.${progname}.VPATH.=.${srcdi
cbc0 72 7d 0a 70 72 65 66 69 78 20 3d 20 24 7b 70 72 65 66 69 78 7d 0a 65 78 65 63 5f 70 72 65 66 69 r}.prefix.=.${prefix}.exec_prefi
cbe0 78 20 3d 20 24 7b 65 78 65 63 5f 70 72 65 66 69 78 7d 0a 62 69 6e 64 69 72 20 3d 20 24 7b 62 69 x.=.${exec_prefix}.bindir.=.${bi
cc00 6e 64 69 72 7d 0a 64 61 74 61 72 6f 6f 74 64 69 72 20 3d 20 24 7b 64 61 74 61 72 6f 6f 74 64 69 ndir}.datarootdir.=.${datarootdi
cc20 72 7d 0a 69 6e 66 6f 64 69 72 20 3d 20 24 7b 69 6e 66 6f 64 69 72 7d 0a 6d 61 6e 64 69 72 20 3d r}.infodir.=.${infodir}.mandir.=
cc40 20 24 7b 6d 61 6e 64 69 72 7d 0a 43 58 58 20 3d 20 24 7b 43 58 58 7d 0a 43 50 50 46 4c 41 47 53 .${mandir}.CXX.=.${CXX}.CPPFLAGS
cc60 20 3d 20 24 7b 43 50 50 46 4c 41 47 53 7d 0a 43 58 58 46 4c 41 47 53 20 3d 20 24 7b 43 58 58 46 .=.${CPPFLAGS}.CXXFLAGS.=.${CXXF
cc80 4c 41 47 53 7d 0a 4c 44 46 4c 41 47 53 20 3d 20 24 7b 4c 44 46 4c 41 47 53 7d 0a 45 4f 46 0a 63 LAGS}.LDFLAGS.=.${LDFLAGS}.EOF.c
cca0 61 74 20 22 24 7b 73 72 63 64 69 72 7d 2f 4d 61 6b 65 66 69 6c 65 2e 69 6e 22 20 3e 3e 20 4d 61 at."${srcdir}/Makefile.in".>>.Ma
ccc0 6b 65 66 69 6c 65 0a 0a 65 63 68 6f 20 22 4f 4b 2e 20 4e 6f 77 20 79 6f 75 20 63 61 6e 20 72 75 kefile..echo."OK..Now.you.can.ru
cce0 6e 20 6d 61 6b 65 2e 22 0a 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 n.make."........................
cd00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
cd20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
cd40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
cd60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
cd80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
cda0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
cdc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
cde0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
ce00 6c 7a 69 70 2d 31 2e 32 32 2f 6c 7a 69 70 2e 68 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 lzip-1.22/lzip.h................
ce20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
ce40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
ce60 00 00 00 00 30 30 30 30 36 34 34 00 30 30 30 30 30 30 30 00 30 30 30 30 30 30 30 00 30 30 30 30 ....0000644.0000000.0000000.0000
ce80 30 30 32 35 33 32 37 00 31 33 37 37 33 36 31 37 31 33 31 00 30 31 33 35 36 33 00 20 30 00 00 00 0025327.13773617131.013563..0...
cea0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
cec0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
cee0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
cf00 00 75 73 74 61 72 00 30 30 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .ustar.00root...................
cf20 00 00 00 00 00 00 00 00 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .........root...................
cf40 00 00 00 00 00 00 00 00 00 30 30 30 30 30 30 30 00 30 30 30 30 30 30 30 00 00 00 00 00 00 00 00 .........0000000.0000000........
cf60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
cf80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
cfa0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
cfc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
cfe0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
d000 2f 2a 20 4c 7a 69 70 20 2d 20 4c 5a 4d 41 20 6c 6f 73 73 6c 65 73 73 20 64 61 74 61 20 63 6f 6d /*.Lzip.-.LZMA.lossless.data.com
d020 70 72 65 73 73 6f 72 0a 20 20 20 43 6f 70 79 72 69 67 68 74 20 28 43 29 20 32 30 30 38 2d 32 30 pressor....Copyright.(C).2008-20
d040 32 31 20 41 6e 74 6f 6e 69 6f 20 44 69 61 7a 20 44 69 61 7a 2e 0a 0a 20 20 20 54 68 69 73 20 70 21.Antonio.Diaz.Diaz......This.p
d060 72 6f 67 72 61 6d 20 69 73 20 66 72 65 65 20 73 6f 66 74 77 61 72 65 3a 20 79 6f 75 20 63 61 6e rogram.is.free.software:.you.can
d080 20 72 65 64 69 73 74 72 69 62 75 74 65 20 69 74 20 61 6e 64 2f 6f 72 20 6d 6f 64 69 66 79 0a 20 .redistribute.it.and/or.modify..
d0a0 20 20 69 74 20 75 6e 64 65 72 20 74 68 65 20 74 65 72 6d 73 20 6f 66 20 74 68 65 20 47 4e 55 20 ..it.under.the.terms.of.the.GNU.
d0c0 47 65 6e 65 72 61 6c 20 50 75 62 6c 69 63 20 4c 69 63 65 6e 73 65 20 61 73 20 70 75 62 6c 69 73 General.Public.License.as.publis
d0e0 68 65 64 20 62 79 0a 20 20 20 74 68 65 20 46 72 65 65 20 53 6f 66 74 77 61 72 65 20 46 6f 75 6e hed.by....the.Free.Software.Foun
d100 64 61 74 69 6f 6e 2c 20 65 69 74 68 65 72 20 76 65 72 73 69 6f 6e 20 32 20 6f 66 20 74 68 65 20 dation,.either.version.2.of.the.
d120 4c 69 63 65 6e 73 65 2c 20 6f 72 0a 20 20 20 28 61 74 20 79 6f 75 72 20 6f 70 74 69 6f 6e 29 20 License,.or....(at.your.option).
d140 61 6e 79 20 6c 61 74 65 72 20 76 65 72 73 69 6f 6e 2e 0a 0a 20 20 20 54 68 69 73 20 70 72 6f 67 any.later.version......This.prog
d160 72 61 6d 20 69 73 20 64 69 73 74 72 69 62 75 74 65 64 20 69 6e 20 74 68 65 20 68 6f 70 65 20 74 ram.is.distributed.in.the.hope.t
d180 68 61 74 20 69 74 20 77 69 6c 6c 20 62 65 20 75 73 65 66 75 6c 2c 0a 20 20 20 62 75 74 20 57 49 hat.it.will.be.useful,....but.WI
d1a0 54 48 4f 55 54 20 41 4e 59 20 57 41 52 52 41 4e 54 59 3b 20 77 69 74 68 6f 75 74 20 65 76 65 6e THOUT.ANY.WARRANTY;.without.even
d1c0 20 74 68 65 20 69 6d 70 6c 69 65 64 20 77 61 72 72 61 6e 74 79 20 6f 66 0a 20 20 20 4d 45 52 43 .the.implied.warranty.of....MERC
d1e0 48 41 4e 54 41 42 49 4c 49 54 59 20 6f 72 20 46 49 54 4e 45 53 53 20 46 4f 52 20 41 20 50 41 52 HANTABILITY.or.FITNESS.FOR.A.PAR
d200 54 49 43 55 4c 41 52 20 50 55 52 50 4f 53 45 2e 20 20 53 65 65 20 74 68 65 0a 20 20 20 47 4e 55 TICULAR.PURPOSE...See.the....GNU
d220 20 47 65 6e 65 72 61 6c 20 50 75 62 6c 69 63 20 4c 69 63 65 6e 73 65 20 66 6f 72 20 6d 6f 72 65 .General.Public.License.for.more
d240 20 64 65 74 61 69 6c 73 2e 0a 0a 20 20 20 59 6f 75 20 73 68 6f 75 6c 64 20 68 61 76 65 20 72 65 .details......You.should.have.re
d260 63 65 69 76 65 64 20 61 20 63 6f 70 79 20 6f 66 20 74 68 65 20 47 4e 55 20 47 65 6e 65 72 61 6c ceived.a.copy.of.the.GNU.General
d280 20 50 75 62 6c 69 63 20 4c 69 63 65 6e 73 65 0a 20 20 20 61 6c 6f 6e 67 20 77 69 74 68 20 74 68 .Public.License....along.with.th
d2a0 69 73 20 70 72 6f 67 72 61 6d 2e 20 20 49 66 20 6e 6f 74 2c 20 73 65 65 20 3c 68 74 74 70 3a 2f is.program...If.not,.see.<http:/
d2c0 2f 77 77 77 2e 67 6e 75 2e 6f 72 67 2f 6c 69 63 65 6e 73 65 73 2f 3e 2e 0a 2a 2f 0a 0a 63 6c 61 /www.gnu.org/licenses/>..*/..cla
d2e0 73 73 20 53 74 61 74 65 0a 20 20 7b 0a 20 20 69 6e 74 20 73 74 3b 0a 0a 70 75 62 6c 69 63 3a 0a ss.State...{...int.st;..public:.
d300 20 20 65 6e 75 6d 20 7b 20 73 74 61 74 65 73 20 3d 20 31 32 20 7d 3b 0a 20 20 53 74 61 74 65 28 ..enum.{.states.=.12.};...State(
d320 29 20 3a 20 73 74 28 20 30 20 29 20 7b 7d 0a 20 20 69 6e 74 20 6f 70 65 72 61 74 6f 72 28 29 28 ).:.st(.0.).{}...int.operator()(
d340 29 20 63 6f 6e 73 74 20 7b 20 72 65 74 75 72 6e 20 73 74 3b 20 7d 0a 20 20 62 6f 6f 6c 20 69 73 ).const.{.return.st;.}...bool.is
d360 5f 63 68 61 72 28 29 20 63 6f 6e 73 74 20 7b 20 72 65 74 75 72 6e 20 73 74 20 3c 20 37 3b 20 7d _char().const.{.return.st.<.7;.}
d380 0a 0a 20 20 76 6f 69 64 20 73 65 74 5f 63 68 61 72 28 29 0a 20 20 20 20 7b 0a 20 20 20 20 73 74 ....void.set_char().....{.....st
d3a0 61 74 69 63 20 63 6f 6e 73 74 20 69 6e 74 20 6e 65 78 74 5b 73 74 61 74 65 73 5d 20 3d 20 7b 20 atic.const.int.next[states].=.{.
d3c0 30 2c 20 30 2c 20 30 2c 20 30 2c 20 31 2c 20 32 2c 20 33 2c 20 34 2c 20 35 2c 20 36 2c 20 34 2c 0,.0,.0,.0,.1,.2,.3,.4,.5,.6,.4,
d3e0 20 35 20 7d 3b 0a 20 20 20 20 73 74 20 3d 20 6e 65 78 74 5b 73 74 5d 3b 0a 20 20 20 20 7d 0a 20 .5.};.....st.=.next[st];.....}..
d400 20 62 6f 6f 6c 20 69 73 5f 63 68 61 72 5f 73 65 74 5f 63 68 61 72 28 29 0a 20 20 20 20 7b 0a 20 .bool.is_char_set_char().....{..
d420 20 20 20 69 66 28 20 73 74 20 3c 20 37 20 29 20 7b 20 73 74 20 2d 3d 20 28 20 73 74 20 3c 20 34 ...if(.st.<.7.).{.st.-=.(.st.<.4
d440 20 29 20 3f 20 73 74 20 3a 20 33 3b 20 72 65 74 75 72 6e 20 74 72 75 65 3b 20 7d 0a 20 20 20 20 .).?.st.:.3;.return.true;.}.....
d460 65 6c 73 65 20 7b 20 73 74 20 2d 3d 20 28 20 73 74 20 3c 20 31 30 20 29 20 3f 20 33 20 3a 20 36 else.{.st.-=.(.st.<.10.).?.3.:.6
d480 3b 20 72 65 74 75 72 6e 20 66 61 6c 73 65 3b 20 7d 0a 20 20 20 20 7d 0a 20 20 76 6f 69 64 20 73 ;.return.false;.}.....}...void.s
d4a0 65 74 5f 63 68 61 72 5f 72 65 70 28 29 20 20 7b 20 73 74 20 3d 20 38 3b 20 7d 0a 20 20 76 6f 69 et_char_rep()..{.st.=.8;.}...voi
d4c0 64 20 73 65 74 5f 6d 61 74 63 68 28 29 20 20 20 20 20 7b 20 73 74 20 3d 20 28 20 73 74 20 3c 20 d.set_match().....{.st.=.(.st.<.
d4e0 37 20 29 20 3f 20 37 20 3a 20 31 30 3b 20 7d 0a 20 20 76 6f 69 64 20 73 65 74 5f 72 65 70 28 29 7.).?.7.:.10;.}...void.set_rep()
d500 20 20 20 20 20 20 20 7b 20 73 74 20 3d 20 28 20 73 74 20 3c 20 37 20 29 20 3f 20 38 20 3a 20 31 .......{.st.=.(.st.<.7.).?.8.:.1
d520 31 3b 20 7d 0a 20 20 76 6f 69 64 20 73 65 74 5f 73 68 6f 72 74 5f 72 65 70 28 29 20 7b 20 73 74 1;.}...void.set_short_rep().{.st
d540 20 3d 20 28 20 73 74 20 3c 20 37 20 29 20 3f 20 39 20 3a 20 31 31 3b 20 7d 0a 20 20 7d 3b 0a 0a .=.(.st.<.7.).?.9.:.11;.}...};..
d560 0a 65 6e 75 6d 20 7b 0a 20 20 6d 69 6e 5f 64 69 63 74 69 6f 6e 61 72 79 5f 62 69 74 73 20 3d 20 .enum.{...min_dictionary_bits.=.
d580 31 32 2c 0a 20 20 6d 69 6e 5f 64 69 63 74 69 6f 6e 61 72 79 5f 73 69 7a 65 20 3d 20 31 20 3c 3c 12,...min_dictionary_size.=.1.<<
d5a0 20 6d 69 6e 5f 64 69 63 74 69 6f 6e 61 72 79 5f 62 69 74 73 2c 09 2f 2f 20 3e 3d 20 6d 6f 64 65 .min_dictionary_bits,.//.>=.mode
d5c0 6c 65 64 5f 64 69 73 74 61 6e 63 65 73 0a 20 20 6d 61 78 5f 64 69 63 74 69 6f 6e 61 72 79 5f 62 led_distances...max_dictionary_b
d5e0 69 74 73 20 3d 20 32 39 2c 0a 20 20 6d 61 78 5f 64 69 63 74 69 6f 6e 61 72 79 5f 73 69 7a 65 20 its.=.29,...max_dictionary_size.
d600 3d 20 31 20 3c 3c 20 6d 61 78 5f 64 69 63 74 69 6f 6e 61 72 79 5f 62 69 74 73 2c 0a 20 20 6d 69 =.1.<<.max_dictionary_bits,...mi
d620 6e 5f 6d 65 6d 62 65 72 5f 73 69 7a 65 20 3d 20 33 36 2c 0a 20 20 6c 69 74 65 72 61 6c 5f 63 6f n_member_size.=.36,...literal_co
d640 6e 74 65 78 74 5f 62 69 74 73 20 3d 20 33 2c 0a 20 20 6c 69 74 65 72 61 6c 5f 70 6f 73 5f 73 74 ntext_bits.=.3,...literal_pos_st
d660 61 74 65 5f 62 69 74 73 20 3d 20 30 2c 09 09 09 09 2f 2f 20 6e 6f 74 20 75 73 65 64 0a 20 20 70 ate_bits.=.0,....//.not.used...p
d680 6f 73 5f 73 74 61 74 65 5f 62 69 74 73 20 3d 20 32 2c 0a 20 20 70 6f 73 5f 73 74 61 74 65 73 20 os_state_bits.=.2,...pos_states.
d6a0 3d 20 31 20 3c 3c 20 70 6f 73 5f 73 74 61 74 65 5f 62 69 74 73 2c 0a 20 20 70 6f 73 5f 73 74 61 =.1.<<.pos_state_bits,...pos_sta
d6c0 74 65 5f 6d 61 73 6b 20 3d 20 70 6f 73 5f 73 74 61 74 65 73 20 2d 20 31 2c 0a 0a 20 20 6c 65 6e te_mask.=.pos_states.-.1,....len
d6e0 5f 73 74 61 74 65 73 20 3d 20 34 2c 0a 20 20 64 69 73 5f 73 6c 6f 74 5f 62 69 74 73 20 3d 20 36 _states.=.4,...dis_slot_bits.=.6
d700 2c 0a 20 20 73 74 61 72 74 5f 64 69 73 5f 6d 6f 64 65 6c 20 3d 20 34 2c 0a 20 20 65 6e 64 5f 64 ,...start_dis_model.=.4,...end_d
d720 69 73 5f 6d 6f 64 65 6c 20 3d 20 31 34 2c 0a 20 20 6d 6f 64 65 6c 65 64 5f 64 69 73 74 61 6e 63 is_model.=.14,...modeled_distanc
d740 65 73 20 3d 20 31 20 3c 3c 20 28 65 6e 64 5f 64 69 73 5f 6d 6f 64 65 6c 20 2f 20 32 29 2c 09 09 es.=.1.<<.(end_dis_model./.2),..
d760 2f 2f 20 31 32 38 0a 20 20 64 69 73 5f 61 6c 69 67 6e 5f 62 69 74 73 20 3d 20 34 2c 0a 20 20 64 //.128...dis_align_bits.=.4,...d
d780 69 73 5f 61 6c 69 67 6e 5f 73 69 7a 65 20 3d 20 31 20 3c 3c 20 64 69 73 5f 61 6c 69 67 6e 5f 62 is_align_size.=.1.<<.dis_align_b
d7a0 69 74 73 2c 0a 0a 20 20 6c 65 6e 5f 6c 6f 77 5f 62 69 74 73 20 3d 20 33 2c 0a 20 20 6c 65 6e 5f its,....len_low_bits.=.3,...len_
d7c0 6d 69 64 5f 62 69 74 73 20 3d 20 33 2c 0a 20 20 6c 65 6e 5f 68 69 67 68 5f 62 69 74 73 20 3d 20 mid_bits.=.3,...len_high_bits.=.
d7e0 38 2c 0a 20 20 6c 65 6e 5f 6c 6f 77 5f 73 79 6d 62 6f 6c 73 20 3d 20 31 20 3c 3c 20 6c 65 6e 5f 8,...len_low_symbols.=.1.<<.len_
d800 6c 6f 77 5f 62 69 74 73 2c 0a 20 20 6c 65 6e 5f 6d 69 64 5f 73 79 6d 62 6f 6c 73 20 3d 20 31 20 low_bits,...len_mid_symbols.=.1.
d820 3c 3c 20 6c 65 6e 5f 6d 69 64 5f 62 69 74 73 2c 0a 20 20 6c 65 6e 5f 68 69 67 68 5f 73 79 6d 62 <<.len_mid_bits,...len_high_symb
d840 6f 6c 73 20 3d 20 31 20 3c 3c 20 6c 65 6e 5f 68 69 67 68 5f 62 69 74 73 2c 0a 20 20 6d 61 78 5f ols.=.1.<<.len_high_bits,...max_
d860 6c 65 6e 5f 73 79 6d 62 6f 6c 73 20 3d 20 6c 65 6e 5f 6c 6f 77 5f 73 79 6d 62 6f 6c 73 20 2b 20 len_symbols.=.len_low_symbols.+.
d880 6c 65 6e 5f 6d 69 64 5f 73 79 6d 62 6f 6c 73 20 2b 20 6c 65 6e 5f 68 69 67 68 5f 73 79 6d 62 6f len_mid_symbols.+.len_high_symbo
d8a0 6c 73 2c 0a 0a 20 20 6d 69 6e 5f 6d 61 74 63 68 5f 6c 65 6e 20 3d 20 32 2c 09 09 09 09 09 2f 2f ls,....min_match_len.=.2,.....//
d8c0 20 6d 75 73 74 20 62 65 20 32 0a 20 20 6d 61 78 5f 6d 61 74 63 68 5f 6c 65 6e 20 3d 20 6d 69 6e .must.be.2...max_match_len.=.min
d8e0 5f 6d 61 74 63 68 5f 6c 65 6e 20 2b 20 6d 61 78 5f 6c 65 6e 5f 73 79 6d 62 6f 6c 73 20 2d 20 31 _match_len.+.max_len_symbols.-.1
d900 2c 09 2f 2f 20 32 37 33 0a 20 20 6d 69 6e 5f 6d 61 74 63 68 5f 6c 65 6e 5f 6c 69 6d 69 74 20 3d ,.//.273...min_match_len_limit.=
d920 20 35 20 7d 3b 0a 0a 69 6e 6c 69 6e 65 20 69 6e 74 20 67 65 74 5f 6c 65 6e 5f 73 74 61 74 65 28 .5.};..inline.int.get_len_state(
d940 20 63 6f 6e 73 74 20 69 6e 74 20 6c 65 6e 20 29 0a 20 20 7b 20 72 65 74 75 72 6e 20 73 74 64 3a .const.int.len.)...{.return.std:
d960 3a 6d 69 6e 28 20 6c 65 6e 20 2d 20 6d 69 6e 5f 6d 61 74 63 68 5f 6c 65 6e 2c 20 6c 65 6e 5f 73 :min(.len.-.min_match_len,.len_s
d980 74 61 74 65 73 20 2d 20 31 20 29 3b 20 7d 0a 0a 69 6e 6c 69 6e 65 20 69 6e 74 20 67 65 74 5f 6c tates.-.1.);.}..inline.int.get_l
d9a0 69 74 5f 73 74 61 74 65 28 20 63 6f 6e 73 74 20 75 69 6e 74 38 5f 74 20 70 72 65 76 5f 62 79 74 it_state(.const.uint8_t.prev_byt
d9c0 65 20 29 0a 20 20 7b 20 72 65 74 75 72 6e 20 70 72 65 76 5f 62 79 74 65 20 3e 3e 20 28 20 38 20 e.)...{.return.prev_byte.>>.(.8.
d9e0 2d 20 6c 69 74 65 72 61 6c 5f 63 6f 6e 74 65 78 74 5f 62 69 74 73 20 29 3b 20 7d 0a 0a 0a 65 6e -.literal_context_bits.);.}...en
da00 75 6d 20 7b 20 62 69 74 5f 6d 6f 64 65 6c 5f 6d 6f 76 65 5f 62 69 74 73 20 3d 20 35 2c 0a 20 20 um.{.bit_model_move_bits.=.5,...
da20 20 20 20 20 20 62 69 74 5f 6d 6f 64 65 6c 5f 74 6f 74 61 6c 5f 62 69 74 73 20 3d 20 31 31 2c 0a .....bit_model_total_bits.=.11,.
da40 20 20 20 20 20 20 20 62 69 74 5f 6d 6f 64 65 6c 5f 74 6f 74 61 6c 20 3d 20 31 20 3c 3c 20 62 69 .......bit_model_total.=.1.<<.bi
da60 74 5f 6d 6f 64 65 6c 5f 74 6f 74 61 6c 5f 62 69 74 73 20 7d 3b 0a 0a 73 74 72 75 63 74 20 42 69 t_model_total_bits.};..struct.Bi
da80 74 5f 6d 6f 64 65 6c 0a 20 20 7b 0a 20 20 69 6e 74 20 70 72 6f 62 61 62 69 6c 69 74 79 3b 0a 20 t_model...{...int.probability;..
daa0 20 76 6f 69 64 20 72 65 73 65 74 28 29 20 7b 20 70 72 6f 62 61 62 69 6c 69 74 79 20 3d 20 62 69 .void.reset().{.probability.=.bi
dac0 74 5f 6d 6f 64 65 6c 5f 74 6f 74 61 6c 20 2f 20 32 3b 20 7d 0a 20 20 76 6f 69 64 20 72 65 73 65 t_model_total./.2;.}...void.rese
dae0 74 28 20 63 6f 6e 73 74 20 69 6e 74 20 73 69 7a 65 20 29 0a 20 20 20 20 7b 20 66 6f 72 28 20 69 t(.const.int.size.).....{.for(.i
db00 6e 74 20 69 20 3d 20 30 3b 20 69 20 3c 20 73 69 7a 65 3b 20 2b 2b 69 20 29 20 74 68 69 73 5b 69 nt.i.=.0;.i.<.size;.++i.).this[i
db20 5d 2e 72 65 73 65 74 28 29 3b 20 7d 0a 20 20 42 69 74 5f 6d 6f 64 65 6c 28 29 20 7b 20 72 65 73 ].reset();.}...Bit_model().{.res
db40 65 74 28 29 3b 20 7d 0a 20 20 7d 3b 0a 0a 73 74 72 75 63 74 20 4c 65 6e 5f 6d 6f 64 65 6c 0a 20 et();.}...};..struct.Len_model..
db60 20 7b 0a 20 20 42 69 74 5f 6d 6f 64 65 6c 20 63 68 6f 69 63 65 31 3b 0a 20 20 42 69 74 5f 6d 6f .{...Bit_model.choice1;...Bit_mo
db80 64 65 6c 20 63 68 6f 69 63 65 32 3b 0a 20 20 42 69 74 5f 6d 6f 64 65 6c 20 62 6d 5f 6c 6f 77 5b del.choice2;...Bit_model.bm_low[
dba0 70 6f 73 5f 73 74 61 74 65 73 5d 5b 6c 65 6e 5f 6c 6f 77 5f 73 79 6d 62 6f 6c 73 5d 3b 0a 20 20 pos_states][len_low_symbols];...
dbc0 42 69 74 5f 6d 6f 64 65 6c 20 62 6d 5f 6d 69 64 5b 70 6f 73 5f 73 74 61 74 65 73 5d 5b 6c 65 6e Bit_model.bm_mid[pos_states][len
dbe0 5f 6d 69 64 5f 73 79 6d 62 6f 6c 73 5d 3b 0a 20 20 42 69 74 5f 6d 6f 64 65 6c 20 62 6d 5f 68 69 _mid_symbols];...Bit_model.bm_hi
dc00 67 68 5b 6c 65 6e 5f 68 69 67 68 5f 73 79 6d 62 6f 6c 73 5d 3b 0a 0a 20 20 76 6f 69 64 20 72 65 gh[len_high_symbols];....void.re
dc20 73 65 74 28 29 0a 20 20 20 20 7b 0a 20 20 20 20 63 68 6f 69 63 65 31 2e 72 65 73 65 74 28 29 3b set().....{.....choice1.reset();
dc40 0a 20 20 20 20 63 68 6f 69 63 65 32 2e 72 65 73 65 74 28 29 3b 0a 20 20 20 20 62 6d 5f 6c 6f 77 .....choice2.reset();.....bm_low
dc60 5b 30 5d 5b 30 5d 2e 72 65 73 65 74 28 20 70 6f 73 5f 73 74 61 74 65 73 20 2a 20 6c 65 6e 5f 6c [0][0].reset(.pos_states.*.len_l
dc80 6f 77 5f 73 79 6d 62 6f 6c 73 20 29 3b 0a 20 20 20 20 62 6d 5f 6d 69 64 5b 30 5d 5b 30 5d 2e 72 ow_symbols.);.....bm_mid[0][0].r
dca0 65 73 65 74 28 20 70 6f 73 5f 73 74 61 74 65 73 20 2a 20 6c 65 6e 5f 6d 69 64 5f 73 79 6d 62 6f eset(.pos_states.*.len_mid_symbo
dcc0 6c 73 20 29 3b 0a 20 20 20 20 62 6d 5f 68 69 67 68 5b 30 5d 2e 72 65 73 65 74 28 20 6c 65 6e 5f ls.);.....bm_high[0].reset(.len_
dce0 68 69 67 68 5f 73 79 6d 62 6f 6c 73 20 29 3b 0a 20 20 20 20 7d 0a 20 20 7d 3b 0a 0a 0a 2f 2f 20 high_symbols.);.....}...};...//.
dd00 64 65 66 69 6e 65 64 20 69 6e 20 6d 61 69 6e 2e 63 63 0a 65 78 74 65 72 6e 20 69 6e 74 20 76 65 defined.in.main.cc.extern.int.ve
dd20 72 62 6f 73 69 74 79 3b 0a 0a 63 6c 61 73 73 20 50 72 65 74 74 79 5f 70 72 69 6e 74 09 09 2f 2f rbosity;..class.Pretty_print..//
dd40 20 72 65 71 75 69 72 65 73 20 67 6c 6f 62 61 6c 20 76 61 72 20 27 69 6e 74 20 76 65 72 62 6f 73 .requires.global.var.'int.verbos
dd60 69 74 79 27 0a 20 20 7b 0a 20 20 73 74 64 3a 3a 73 74 72 69 6e 67 20 6e 61 6d 65 5f 3b 0a 20 20 ity'...{...std::string.name_;...
dd80 73 74 64 3a 3a 73 74 72 69 6e 67 20 70 61 64 64 65 64 5f 6e 61 6d 65 3b 0a 20 20 63 6f 6e 73 74 std::string.padded_name;...const
dda0 20 63 68 61 72 20 2a 20 63 6f 6e 73 74 20 73 74 64 69 6e 5f 6e 61 6d 65 3b 0a 20 20 75 6e 73 69 .char.*.const.stdin_name;...unsi
ddc0 67 6e 65 64 20 6c 6f 6e 67 65 73 74 5f 6e 61 6d 65 3b 0a 20 20 6d 75 74 61 62 6c 65 20 62 6f 6f gned.longest_name;...mutable.boo
dde0 6c 20 66 69 72 73 74 5f 70 6f 73 74 3b 0a 0a 70 75 62 6c 69 63 3a 0a 20 20 50 72 65 74 74 79 5f l.first_post;..public:...Pretty_
de00 70 72 69 6e 74 28 20 63 6f 6e 73 74 20 73 74 64 3a 3a 76 65 63 74 6f 72 3c 20 73 74 64 3a 3a 73 print(.const.std::vector<.std::s
de20 74 72 69 6e 67 20 3e 20 26 20 66 69 6c 65 6e 61 6d 65 73 20 29 0a 20 20 20 20 3a 20 73 74 64 69 tring.>.&.filenames.).....:.stdi
de40 6e 5f 6e 61 6d 65 28 20 22 28 73 74 64 69 6e 29 22 20 29 2c 20 6c 6f 6e 67 65 73 74 5f 6e 61 6d n_name(."(stdin)".),.longest_nam
de60 65 28 20 30 20 29 2c 20 66 69 72 73 74 5f 70 6f 73 74 28 20 66 61 6c 73 65 20 29 0a 20 20 20 20 e(.0.),.first_post(.false.).....
de80 7b 0a 20 20 20 20 69 66 28 20 76 65 72 62 6f 73 69 74 79 20 3c 3d 20 30 20 29 20 72 65 74 75 72 {.....if(.verbosity.<=.0.).retur
dea0 6e 3b 0a 20 20 20 20 63 6f 6e 73 74 20 75 6e 73 69 67 6e 65 64 20 73 74 64 69 6e 5f 6e 61 6d 65 n;.....const.unsigned.stdin_name
dec0 5f 6c 65 6e 20 3d 20 73 74 64 3a 3a 73 74 72 6c 65 6e 28 20 73 74 64 69 6e 5f 6e 61 6d 65 20 29 _len.=.std::strlen(.stdin_name.)
dee0 3b 0a 20 20 20 20 66 6f 72 28 20 75 6e 73 69 67 6e 65 64 20 69 20 3d 20 30 3b 20 69 20 3c 20 66 ;.....for(.unsigned.i.=.0;.i.<.f
df00 69 6c 65 6e 61 6d 65 73 2e 73 69 7a 65 28 29 3b 20 2b 2b 69 20 29 0a 20 20 20 20 20 20 7b 0a 20 ilenames.size();.++i.).......{..
df20 20 20 20 20 20 63 6f 6e 73 74 20 73 74 64 3a 3a 73 74 72 69 6e 67 20 26 20 73 20 3d 20 66 69 6c .....const.std::string.&.s.=.fil
df40 65 6e 61 6d 65 73 5b 69 5d 3b 0a 20 20 20 20 20 20 63 6f 6e 73 74 20 75 6e 73 69 67 6e 65 64 20 enames[i];.......const.unsigned.
df60 6c 65 6e 20 3d 20 28 20 73 20 3d 3d 20 22 2d 22 20 29 20 3f 20 73 74 64 69 6e 5f 6e 61 6d 65 5f len.=.(.s.==."-".).?.stdin_name_
df80 6c 65 6e 20 3a 20 73 2e 73 69 7a 65 28 29 3b 0a 20 20 20 20 20 20 69 66 28 20 6c 6f 6e 67 65 73 len.:.s.size();.......if(.longes
dfa0 74 5f 6e 61 6d 65 20 3c 20 6c 65 6e 20 29 20 6c 6f 6e 67 65 73 74 5f 6e 61 6d 65 20 3d 20 6c 65 t_name.<.len.).longest_name.=.le
dfc0 6e 3b 0a 20 20 20 20 20 20 7d 0a 20 20 20 20 69 66 28 20 6c 6f 6e 67 65 73 74 5f 6e 61 6d 65 20 n;.......}.....if(.longest_name.
dfe0 3d 3d 20 30 20 29 20 6c 6f 6e 67 65 73 74 5f 6e 61 6d 65 20 3d 20 73 74 64 69 6e 5f 6e 61 6d 65 ==.0.).longest_name.=.stdin_name
e000 5f 6c 65 6e 3b 0a 20 20 20 20 7d 0a 0a 20 20 76 6f 69 64 20 73 65 74 5f 6e 61 6d 65 28 20 63 6f _len;.....}....void.set_name(.co
e020 6e 73 74 20 73 74 64 3a 3a 73 74 72 69 6e 67 20 26 20 66 69 6c 65 6e 61 6d 65 20 29 0a 20 20 20 nst.std::string.&.filename.)....
e040 20 7b 0a 20 20 20 20 69 66 28 20 66 69 6c 65 6e 61 6d 65 2e 73 69 7a 65 28 29 20 26 26 20 66 69 .{.....if(.filename.size().&&.fi
e060 6c 65 6e 61 6d 65 20 21 3d 20 22 2d 22 20 29 20 6e 61 6d 65 5f 20 3d 20 66 69 6c 65 6e 61 6d 65 lename.!=."-".).name_.=.filename
e080 3b 0a 20 20 20 20 65 6c 73 65 20 6e 61 6d 65 5f 20 3d 20 73 74 64 69 6e 5f 6e 61 6d 65 3b 0a 20 ;.....else.name_.=.stdin_name;..
e0a0 20 20 20 70 61 64 64 65 64 5f 6e 61 6d 65 20 3d 20 22 20 20 22 3b 20 70 61 64 64 65 64 5f 6e 61 ...padded_name.=."..";.padded_na
e0c0 6d 65 20 2b 3d 20 6e 61 6d 65 5f 3b 20 70 61 64 64 65 64 5f 6e 61 6d 65 20 2b 3d 20 22 3a 20 22 me.+=.name_;.padded_name.+=.":."
e0e0 3b 0a 20 20 20 20 69 66 28 20 6c 6f 6e 67 65 73 74 5f 6e 61 6d 65 20 3e 20 6e 61 6d 65 5f 2e 73 ;.....if(.longest_name.>.name_.s
e100 69 7a 65 28 29 20 29 0a 20 20 20 20 20 20 70 61 64 64 65 64 5f 6e 61 6d 65 2e 61 70 70 65 6e 64 ize().).......padded_name.append
e120 28 20 6c 6f 6e 67 65 73 74 5f 6e 61 6d 65 20 2d 20 6e 61 6d 65 5f 2e 73 69 7a 65 28 29 2c 20 27 (.longest_name.-.name_.size(),.'
e140 20 27 20 29 3b 0a 20 20 20 20 66 69 72 73 74 5f 70 6f 73 74 20 3d 20 74 72 75 65 3b 0a 20 20 20 .'.);.....first_post.=.true;....
e160 20 7d 0a 0a 20 20 76 6f 69 64 20 72 65 73 65 74 28 29 20 63 6f 6e 73 74 20 7b 20 69 66 28 20 6e .}....void.reset().const.{.if(.n
e180 61 6d 65 5f 2e 73 69 7a 65 28 29 20 29 20 66 69 72 73 74 5f 70 6f 73 74 20 3d 20 74 72 75 65 3b ame_.size().).first_post.=.true;
e1a0 20 7d 0a 20 20 63 6f 6e 73 74 20 63 68 61 72 20 2a 20 6e 61 6d 65 28 29 20 63 6f 6e 73 74 20 7b .}...const.char.*.name().const.{
e1c0 20 72 65 74 75 72 6e 20 6e 61 6d 65 5f 2e 63 5f 73 74 72 28 29 3b 20 7d 0a 20 20 76 6f 69 64 20 .return.name_.c_str();.}...void.
e1e0 6f 70 65 72 61 74 6f 72 28 29 28 20 63 6f 6e 73 74 20 63 68 61 72 20 2a 20 63 6f 6e 73 74 20 6d operator()(.const.char.*.const.m
e200 73 67 20 3d 20 30 20 29 20 63 6f 6e 73 74 3b 0a 20 20 7d 3b 0a 0a 0a 63 6c 61 73 73 20 43 52 43 sg.=.0.).const;...};...class.CRC
e220 33 32 0a 20 20 7b 0a 20 20 75 69 6e 74 33 32 5f 74 20 64 61 74 61 5b 32 35 36 5d 3b 09 09 2f 2f 32...{...uint32_t.data[256];..//
e240 20 54 61 62 6c 65 20 6f 66 20 43 52 43 73 20 6f 66 20 61 6c 6c 20 38 2d 62 69 74 20 6d 65 73 73 .Table.of.CRCs.of.all.8-bit.mess
e260 61 67 65 73 2e 0a 0a 70 75 62 6c 69 63 3a 0a 20 20 43 52 43 33 32 28 29 0a 20 20 20 20 7b 0a 20 ages...public:...CRC32().....{..
e280 20 20 20 66 6f 72 28 20 75 6e 73 69 67 6e 65 64 20 6e 20 3d 20 30 3b 20 6e 20 3c 20 32 35 36 3b ...for(.unsigned.n.=.0;.n.<.256;
e2a0 20 2b 2b 6e 20 29 0a 20 20 20 20 20 20 7b 0a 20 20 20 20 20 20 75 6e 73 69 67 6e 65 64 20 63 20 .++n.).......{.......unsigned.c.
e2c0 3d 20 6e 3b 0a 20 20 20 20 20 20 66 6f 72 28 20 69 6e 74 20 6b 20 3d 20 30 3b 20 6b 20 3c 20 38 =.n;.......for(.int.k.=.0;.k.<.8
e2e0 3b 20 2b 2b 6b 20 29 0a 20 20 20 20 20 20 20 20 7b 20 69 66 28 20 63 20 26 20 31 20 29 20 63 20 ;.++k.).........{.if(.c.&.1.).c.
e300 3d 20 30 78 45 44 42 38 38 33 32 30 55 20 5e 20 28 20 63 20 3e 3e 20 31 20 29 3b 20 65 6c 73 65 =.0xEDB88320U.^.(.c.>>.1.);.else
e320 20 63 20 3e 3e 3d 20 31 3b 20 7d 0a 20 20 20 20 20 20 64 61 74 61 5b 6e 5d 20 3d 20 63 3b 0a 20 .c.>>=.1;.}.......data[n].=.c;..
e340 20 20 20 20 20 7d 0a 20 20 20 20 7d 0a 0a 20 20 75 69 6e 74 33 32 5f 74 20 6f 70 65 72 61 74 6f .....}.....}....uint32_t.operato
e360 72 5b 5d 28 20 63 6f 6e 73 74 20 75 69 6e 74 38 5f 74 20 62 79 74 65 20 29 20 63 6f 6e 73 74 20 r[](.const.uint8_t.byte.).const.
e380 7b 20 72 65 74 75 72 6e 20 64 61 74 61 5b 62 79 74 65 5d 3b 20 7d 0a 0a 20 20 76 6f 69 64 20 75 {.return.data[byte];.}....void.u
e3a0 70 64 61 74 65 5f 62 79 74 65 28 20 75 69 6e 74 33 32 5f 74 20 26 20 63 72 63 2c 20 63 6f 6e 73 pdate_byte(.uint32_t.&.crc,.cons
e3c0 74 20 75 69 6e 74 38 5f 74 20 62 79 74 65 20 29 20 63 6f 6e 73 74 0a 20 20 20 20 7b 20 63 72 63 t.uint8_t.byte.).const.....{.crc
e3e0 20 3d 20 64 61 74 61 5b 28 63 72 63 5e 62 79 74 65 29 26 30 78 46 46 5d 20 5e 20 28 20 63 72 63 .=.data[(crc^byte)&0xFF].^.(.crc
e400 20 3e 3e 20 38 20 29 3b 20 7d 0a 0a 20 20 76 6f 69 64 20 75 70 64 61 74 65 5f 62 75 66 28 20 75 .>>.8.);.}....void.update_buf(.u
e420 69 6e 74 33 32 5f 74 20 26 20 63 72 63 2c 20 63 6f 6e 73 74 20 75 69 6e 74 38 5f 74 20 2a 20 63 int32_t.&.crc,.const.uint8_t.*.c
e440 6f 6e 73 74 20 62 75 66 66 65 72 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 onst.buffer,....................
e460 63 6f 6e 73 74 20 69 6e 74 20 73 69 7a 65 20 29 20 63 6f 6e 73 74 0a 20 20 20 20 7b 0a 20 20 20 const.int.size.).const.....{....
e480 20 75 69 6e 74 33 32 5f 74 20 63 20 3d 20 63 72 63 3b 0a 20 20 20 20 66 6f 72 28 20 69 6e 74 20 .uint32_t.c.=.crc;.....for(.int.
e4a0 69 20 3d 20 30 3b 20 69 20 3c 20 73 69 7a 65 3b 20 2b 2b 69 20 29 0a 20 20 20 20 20 20 63 20 3d i.=.0;.i.<.size;.++i.).......c.=
e4c0 20 64 61 74 61 5b 28 63 5e 62 75 66 66 65 72 5b 69 5d 29 26 30 78 46 46 5d 20 5e 20 28 20 63 20 .data[(c^buffer[i])&0xFF].^.(.c.
e4e0 3e 3e 20 38 20 29 3b 0a 20 20 20 20 63 72 63 20 3d 20 63 3b 0a 20 20 20 20 7d 0a 20 20 7d 3b 0a >>.8.);.....crc.=.c;.....}...};.
e500 0a 65 78 74 65 72 6e 20 63 6f 6e 73 74 20 43 52 43 33 32 20 63 72 63 33 32 3b 0a 0a 0a 69 6e 6c .extern.const.CRC32.crc32;...inl
e520 69 6e 65 20 62 6f 6f 6c 20 69 73 76 61 6c 69 64 5f 64 73 28 20 63 6f 6e 73 74 20 75 6e 73 69 67 ine.bool.isvalid_ds(.const.unsig
e540 6e 65 64 20 64 69 63 74 69 6f 6e 61 72 79 5f 73 69 7a 65 20 29 0a 20 20 7b 20 72 65 74 75 72 6e ned.dictionary_size.)...{.return
e560 20 28 20 64 69 63 74 69 6f 6e 61 72 79 5f 73 69 7a 65 20 3e 3d 20 6d 69 6e 5f 64 69 63 74 69 6f .(.dictionary_size.>=.min_dictio
e580 6e 61 72 79 5f 73 69 7a 65 20 26 26 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 64 69 63 74 69 6f nary_size.&&..............dictio
e5a0 6e 61 72 79 5f 73 69 7a 65 20 3c 3d 20 6d 61 78 5f 64 69 63 74 69 6f 6e 61 72 79 5f 73 69 7a 65 nary_size.<=.max_dictionary_size
e5c0 20 29 3b 20 7d 0a 0a 0a 69 6e 6c 69 6e 65 20 69 6e 74 20 72 65 61 6c 5f 62 69 74 73 28 20 75 6e .);.}...inline.int.real_bits(.un
e5e0 73 69 67 6e 65 64 20 76 61 6c 75 65 20 29 0a 20 20 7b 0a 20 20 69 6e 74 20 62 69 74 73 20 3d 20 signed.value.)...{...int.bits.=.
e600 30 3b 0a 20 20 77 68 69 6c 65 28 20 76 61 6c 75 65 20 3e 20 30 20 29 20 7b 20 76 61 6c 75 65 20 0;...while(.value.>.0.).{.value.
e620 3e 3e 3d 20 31 3b 20 2b 2b 62 69 74 73 3b 20 7d 0a 20 20 72 65 74 75 72 6e 20 62 69 74 73 3b 0a >>=.1;.++bits;.}...return.bits;.
e640 20 20 7d 0a 0a 0a 63 6f 6e 73 74 20 75 69 6e 74 38 5f 74 20 6c 7a 69 70 5f 6d 61 67 69 63 5b 34 ..}...const.uint8_t.lzip_magic[4
e660 5d 20 3d 20 7b 20 30 78 34 43 2c 20 30 78 35 41 2c 20 30 78 34 39 2c 20 30 78 35 30 20 7d 3b 09 ].=.{.0x4C,.0x5A,.0x49,.0x50.};.
e680 2f 2f 20 22 4c 5a 49 50 22 0a 0a 73 74 72 75 63 74 20 4c 7a 69 70 5f 68 65 61 64 65 72 0a 20 20 //."LZIP"..struct.Lzip_header...
e6a0 7b 0a 20 20 75 69 6e 74 38 5f 74 20 64 61 74 61 5b 36 5d 3b 09 09 09 2f 2f 20 30 2d 33 20 6d 61 {...uint8_t.data[6];...//.0-3.ma
e6c0 67 69 63 20 62 79 74 65 73 0a 09 09 09 09 09 2f 2f 20 20 20 34 20 76 65 72 73 69 6f 6e 0a 09 09 gic.bytes......//...4.version...
e6e0 09 09 09 2f 2f 20 20 20 35 20 63 6f 64 65 64 20 64 69 63 74 69 6f 6e 61 72 79 20 73 69 7a 65 0a ...//...5.coded.dictionary.size.
e700 20 20 65 6e 75 6d 20 7b 20 73 69 7a 65 20 3d 20 36 20 7d 3b 0a 0a 20 20 76 6f 69 64 20 73 65 74 ..enum.{.size.=.6.};....void.set
e720 5f 6d 61 67 69 63 28 29 20 7b 20 73 74 64 3a 3a 6d 65 6d 63 70 79 28 20 64 61 74 61 2c 20 6c 7a _magic().{.std::memcpy(.data,.lz
e740 69 70 5f 6d 61 67 69 63 2c 20 34 20 29 3b 20 64 61 74 61 5b 34 5d 20 3d 20 31 3b 20 7d 0a 20 20 ip_magic,.4.);.data[4].=.1;.}...
e760 62 6f 6f 6c 20 76 65 72 69 66 79 5f 6d 61 67 69 63 28 29 20 63 6f 6e 73 74 0a 20 20 20 20 7b 20 bool.verify_magic().const.....{.
e780 72 65 74 75 72 6e 20 28 20 73 74 64 3a 3a 6d 65 6d 63 6d 70 28 20 64 61 74 61 2c 20 6c 7a 69 70 return.(.std::memcmp(.data,.lzip
e7a0 5f 6d 61 67 69 63 2c 20 34 20 29 20 3d 3d 20 30 20 29 3b 20 7d 0a 0a 20 20 62 6f 6f 6c 20 76 65 _magic,.4.).==.0.);.}....bool.ve
e7c0 72 69 66 79 5f 70 72 65 66 69 78 28 20 63 6f 6e 73 74 20 69 6e 74 20 73 7a 20 29 20 63 6f 6e 73 rify_prefix(.const.int.sz.).cons
e7e0 74 09 2f 2f 20 64 65 74 65 63 74 20 28 74 72 75 6e 63 61 74 65 64 29 20 68 65 61 64 65 72 0a 20 t.//.detect.(truncated).header..
e800 20 20 20 7b 0a 20 20 20 20 66 6f 72 28 20 69 6e 74 20 69 20 3d 20 30 3b 20 69 20 3c 20 73 7a 20 ...{.....for(.int.i.=.0;.i.<.sz.
e820 26 26 20 69 20 3c 20 34 3b 20 2b 2b 69 20 29 0a 20 20 20 20 20 20 69 66 28 20 64 61 74 61 5b 69 &&.i.<.4;.++i.).......if(.data[i
e840 5d 20 21 3d 20 6c 7a 69 70 5f 6d 61 67 69 63 5b 69 5d 20 29 20 72 65 74 75 72 6e 20 66 61 6c 73 ].!=.lzip_magic[i].).return.fals
e860 65 3b 0a 20 20 20 20 72 65 74 75 72 6e 20 28 20 73 7a 20 3e 20 30 20 29 3b 0a 20 20 20 20 7d 0a e;.....return.(.sz.>.0.);.....}.
e880 20 20 62 6f 6f 6c 20 76 65 72 69 66 79 5f 63 6f 72 72 75 70 74 28 29 20 63 6f 6e 73 74 09 09 09 ..bool.verify_corrupt().const...
e8a0 2f 2f 20 64 65 74 65 63 74 20 63 6f 72 72 75 70 74 20 68 65 61 64 65 72 0a 20 20 20 20 7b 0a 20 //.detect.corrupt.header.....{..
e8c0 20 20 20 69 6e 74 20 6d 61 74 63 68 65 73 20 3d 20 30 3b 0a 20 20 20 20 66 6f 72 28 20 69 6e 74 ...int.matches.=.0;.....for(.int
e8e0 20 69 20 3d 20 30 3b 20 69 20 3c 20 34 3b 20 2b 2b 69 20 29 0a 20 20 20 20 20 20 69 66 28 20 64 .i.=.0;.i.<.4;.++i.).......if(.d
e900 61 74 61 5b 69 5d 20 3d 3d 20 6c 7a 69 70 5f 6d 61 67 69 63 5b 69 5d 20 29 20 2b 2b 6d 61 74 63 ata[i].==.lzip_magic[i].).++matc
e920 68 65 73 3b 0a 20 20 20 20 72 65 74 75 72 6e 20 28 20 6d 61 74 63 68 65 73 20 3e 20 31 20 26 26 hes;.....return.(.matches.>.1.&&
e940 20 6d 61 74 63 68 65 73 20 3c 20 34 20 29 3b 0a 20 20 20 20 7d 0a 0a 20 20 75 69 6e 74 38 5f 74 .matches.<.4.);.....}....uint8_t
e960 20 76 65 72 73 69 6f 6e 28 29 20 63 6f 6e 73 74 20 7b 20 72 65 74 75 72 6e 20 64 61 74 61 5b 34 .version().const.{.return.data[4
e980 5d 3b 20 7d 0a 20 20 62 6f 6f 6c 20 76 65 72 69 66 79 5f 76 65 72 73 69 6f 6e 28 29 20 63 6f 6e ];.}...bool.verify_version().con
e9a0 73 74 20 7b 20 72 65 74 75 72 6e 20 28 20 64 61 74 61 5b 34 5d 20 3d 3d 20 31 20 29 3b 20 7d 0a st.{.return.(.data[4].==.1.);.}.
e9c0 0a 20 20 75 6e 73 69 67 6e 65 64 20 64 69 63 74 69 6f 6e 61 72 79 5f 73 69 7a 65 28 29 20 63 6f ...unsigned.dictionary_size().co
e9e0 6e 73 74 0a 20 20 20 20 7b 0a 20 20 20 20 75 6e 73 69 67 6e 65 64 20 73 7a 20 3d 20 28 20 31 20 nst.....{.....unsigned.sz.=.(.1.
ea00 3c 3c 20 28 20 64 61 74 61 5b 35 5d 20 26 20 30 78 31 46 20 29 20 29 3b 0a 20 20 20 20 69 66 28 <<.(.data[5].&.0x1F.).);.....if(
ea20 20 73 7a 20 3e 20 6d 69 6e 5f 64 69 63 74 69 6f 6e 61 72 79 5f 73 69 7a 65 20 29 0a 20 20 20 20 .sz.>.min_dictionary_size.).....
ea40 20 20 73 7a 20 2d 3d 20 28 20 73 7a 20 2f 20 31 36 20 29 20 2a 20 28 20 28 20 64 61 74 61 5b 35 ..sz.-=.(.sz./.16.).*.(.(.data[5
ea60 5d 20 3e 3e 20 35 20 29 20 26 20 37 20 29 3b 0a 20 20 20 20 72 65 74 75 72 6e 20 73 7a 3b 0a 20 ].>>.5.).&.7.);.....return.sz;..
ea80 20 20 20 7d 0a 0a 20 20 62 6f 6f 6c 20 64 69 63 74 69 6f 6e 61 72 79 5f 73 69 7a 65 28 20 63 6f ...}....bool.dictionary_size(.co
eaa0 6e 73 74 20 75 6e 73 69 67 6e 65 64 20 73 7a 20 29 0a 20 20 20 20 7b 0a 20 20 20 20 69 66 28 20 nst.unsigned.sz.).....{.....if(.
eac0 21 69 73 76 61 6c 69 64 5f 64 73 28 20 73 7a 20 29 20 29 20 72 65 74 75 72 6e 20 66 61 6c 73 65 !isvalid_ds(.sz.).).return.false
eae0 3b 0a 20 20 20 20 64 61 74 61 5b 35 5d 20 3d 20 72 65 61 6c 5f 62 69 74 73 28 20 73 7a 20 2d 20 ;.....data[5].=.real_bits(.sz.-.
eb00 31 20 29 3b 0a 20 20 20 20 69 66 28 20 73 7a 20 3e 20 6d 69 6e 5f 64 69 63 74 69 6f 6e 61 72 79 1.);.....if(.sz.>.min_dictionary
eb20 5f 73 69 7a 65 20 29 0a 20 20 20 20 20 20 7b 0a 20 20 20 20 20 20 63 6f 6e 73 74 20 75 6e 73 69 _size.).......{.......const.unsi
eb40 67 6e 65 64 20 62 61 73 65 5f 73 69 7a 65 20 3d 20 31 20 3c 3c 20 64 61 74 61 5b 35 5d 3b 0a 20 gned.base_size.=.1.<<.data[5];..
eb60 20 20 20 20 20 63 6f 6e 73 74 20 75 6e 73 69 67 6e 65 64 20 66 72 61 63 74 69 6f 6e 20 3d 20 62 .....const.unsigned.fraction.=.b
eb80 61 73 65 5f 73 69 7a 65 20 2f 20 31 36 3b 0a 20 20 20 20 20 20 66 6f 72 28 20 75 6e 73 69 67 6e ase_size./.16;.......for(.unsign
eba0 65 64 20 69 20 3d 20 37 3b 20 69 20 3e 3d 20 31 3b 20 2d 2d 69 20 29 0a 20 20 20 20 20 20 20 20 ed.i.=.7;.i.>=.1;.--i.).........
ebc0 69 66 28 20 62 61 73 65 5f 73 69 7a 65 20 2d 20 28 20 69 20 2a 20 66 72 61 63 74 69 6f 6e 20 29 if(.base_size.-.(.i.*.fraction.)
ebe0 20 3e 3d 20 73 7a 20 29 0a 20 20 20 20 20 20 20 20 20 20 7b 20 64 61 74 61 5b 35 5d 20 7c 3d 20 .>=.sz.)...........{.data[5].|=.
ec00 28 20 69 20 3c 3c 20 35 20 29 3b 20 62 72 65 61 6b 3b 20 7d 0a 20 20 20 20 20 20 7d 0a 20 20 20 (.i.<<.5.);.break;.}.......}....
ec20 20 72 65 74 75 72 6e 20 74 72 75 65 3b 0a 20 20 20 20 7d 0a 0a 20 20 62 6f 6f 6c 20 76 65 72 69 .return.true;.....}....bool.veri
ec40 66 79 28 29 20 63 6f 6e 73 74 0a 20 20 20 20 7b 20 72 65 74 75 72 6e 20 76 65 72 69 66 79 5f 6d fy().const.....{.return.verify_m
ec60 61 67 69 63 28 29 20 26 26 20 76 65 72 69 66 79 5f 76 65 72 73 69 6f 6e 28 29 20 26 26 0a 20 20 agic().&&.verify_version().&&...
ec80 20 20 20 20 20 20 20 20 20 20 20 69 73 76 61 6c 69 64 5f 64 73 28 20 64 69 63 74 69 6f 6e 61 72 ...........isvalid_ds(.dictionar
eca0 79 5f 73 69 7a 65 28 29 20 29 3b 20 7d 0a 20 20 7d 3b 0a 0a 0a 73 74 72 75 63 74 20 4c 7a 69 70 y_size().);.}...};...struct.Lzip
ecc0 5f 74 72 61 69 6c 65 72 0a 20 20 7b 0a 20 20 75 69 6e 74 38 5f 74 20 64 61 74 61 5b 32 30 5d 3b _trailer...{...uint8_t.data[20];
ece0 09 2f 2f 20 20 30 2d 33 20 20 43 52 43 33 32 20 6f 66 20 74 68 65 20 75 6e 63 6f 6d 70 72 65 73 .//..0-3..CRC32.of.the.uncompres
ed00 73 65 64 20 64 61 74 61 0a 09 09 09 2f 2f 20 20 34 2d 31 31 20 73 69 7a 65 20 6f 66 20 74 68 65 sed.data....//..4-11.size.of.the
ed20 20 75 6e 63 6f 6d 70 72 65 73 73 65 64 20 64 61 74 61 0a 09 09 09 2f 2f 20 31 32 2d 31 39 20 6d .uncompressed.data....//.12-19.m
ed40 65 6d 62 65 72 20 73 69 7a 65 20 69 6e 63 6c 75 64 69 6e 67 20 68 65 61 64 65 72 20 61 6e 64 20 ember.size.including.header.and.
ed60 74 72 61 69 6c 65 72 0a 20 20 65 6e 75 6d 20 7b 20 73 69 7a 65 20 3d 20 32 30 20 7d 3b 0a 0a 20 trailer...enum.{.size.=.20.};...
ed80 20 75 6e 73 69 67 6e 65 64 20 64 61 74 61 5f 63 72 63 28 29 20 63 6f 6e 73 74 0a 20 20 20 20 7b .unsigned.data_crc().const.....{
eda0 0a 20 20 20 20 75 6e 73 69 67 6e 65 64 20 74 6d 70 20 3d 20 30 3b 0a 20 20 20 20 66 6f 72 28 20 .....unsigned.tmp.=.0;.....for(.
edc0 69 6e 74 20 69 20 3d 20 33 3b 20 69 20 3e 3d 20 30 3b 20 2d 2d 69 20 29 20 7b 20 74 6d 70 20 3c int.i.=.3;.i.>=.0;.--i.).{.tmp.<
ede0 3c 3d 20 38 3b 20 74 6d 70 20 2b 3d 20 64 61 74 61 5b 69 5d 3b 20 7d 0a 20 20 20 20 72 65 74 75 <=.8;.tmp.+=.data[i];.}.....retu
ee00 72 6e 20 74 6d 70 3b 0a 20 20 20 20 7d 0a 0a 20 20 76 6f 69 64 20 64 61 74 61 5f 63 72 63 28 20 rn.tmp;.....}....void.data_crc(.
ee20 75 6e 73 69 67 6e 65 64 20 63 72 63 20 29 0a 20 20 20 20 7b 20 66 6f 72 28 20 69 6e 74 20 69 20 unsigned.crc.).....{.for(.int.i.
ee40 3d 20 30 3b 20 69 20 3c 3d 20 33 3b 20 2b 2b 69 20 29 20 7b 20 64 61 74 61 5b 69 5d 20 3d 20 28 =.0;.i.<=.3;.++i.).{.data[i].=.(
ee60 75 69 6e 74 38 5f 74 29 63 72 63 3b 20 63 72 63 20 3e 3e 3d 20 38 3b 20 7d 20 7d 0a 0a 20 20 75 uint8_t)crc;.crc.>>=.8;.}.}....u
ee80 6e 73 69 67 6e 65 64 20 6c 6f 6e 67 20 6c 6f 6e 67 20 64 61 74 61 5f 73 69 7a 65 28 29 20 63 6f nsigned.long.long.data_size().co
eea0 6e 73 74 0a 20 20 20 20 7b 0a 20 20 20 20 75 6e 73 69 67 6e 65 64 20 6c 6f 6e 67 20 6c 6f 6e 67 nst.....{.....unsigned.long.long
eec0 20 74 6d 70 20 3d 20 30 3b 0a 20 20 20 20 66 6f 72 28 20 69 6e 74 20 69 20 3d 20 31 31 3b 20 69 .tmp.=.0;.....for(.int.i.=.11;.i
eee0 20 3e 3d 20 34 3b 20 2d 2d 69 20 29 20 7b 20 74 6d 70 20 3c 3c 3d 20 38 3b 20 74 6d 70 20 2b 3d .>=.4;.--i.).{.tmp.<<=.8;.tmp.+=
ef00 20 64 61 74 61 5b 69 5d 3b 20 7d 0a 20 20 20 20 72 65 74 75 72 6e 20 74 6d 70 3b 0a 20 20 20 20 .data[i];.}.....return.tmp;.....
ef20 7d 0a 0a 20 20 76 6f 69 64 20 64 61 74 61 5f 73 69 7a 65 28 20 75 6e 73 69 67 6e 65 64 20 6c 6f }....void.data_size(.unsigned.lo
ef40 6e 67 20 6c 6f 6e 67 20 73 7a 20 29 0a 20 20 20 20 7b 20 66 6f 72 28 20 69 6e 74 20 69 20 3d 20 ng.long.sz.).....{.for(.int.i.=.
ef60 34 3b 20 69 20 3c 3d 20 31 31 3b 20 2b 2b 69 20 29 20 7b 20 64 61 74 61 5b 69 5d 20 3d 20 28 75 4;.i.<=.11;.++i.).{.data[i].=.(u
ef80 69 6e 74 38 5f 74 29 73 7a 3b 20 73 7a 20 3e 3e 3d 20 38 3b 20 7d 20 7d 0a 0a 20 20 75 6e 73 69 int8_t)sz;.sz.>>=.8;.}.}....unsi
efa0 67 6e 65 64 20 6c 6f 6e 67 20 6c 6f 6e 67 20 6d 65 6d 62 65 72 5f 73 69 7a 65 28 29 20 63 6f 6e gned.long.long.member_size().con
efc0 73 74 0a 20 20 20 20 7b 0a 20 20 20 20 75 6e 73 69 67 6e 65 64 20 6c 6f 6e 67 20 6c 6f 6e 67 20 st.....{.....unsigned.long.long.
efe0 74 6d 70 20 3d 20 30 3b 0a 20 20 20 20 66 6f 72 28 20 69 6e 74 20 69 20 3d 20 31 39 3b 20 69 20 tmp.=.0;.....for(.int.i.=.19;.i.
f000 3e 3d 20 31 32 3b 20 2d 2d 69 20 29 20 7b 20 74 6d 70 20 3c 3c 3d 20 38 3b 20 74 6d 70 20 2b 3d >=.12;.--i.).{.tmp.<<=.8;.tmp.+=
f020 20 64 61 74 61 5b 69 5d 3b 20 7d 0a 20 20 20 20 72 65 74 75 72 6e 20 74 6d 70 3b 0a 20 20 20 20 .data[i];.}.....return.tmp;.....
f040 7d 0a 0a 20 20 76 6f 69 64 20 6d 65 6d 62 65 72 5f 73 69 7a 65 28 20 75 6e 73 69 67 6e 65 64 20 }....void.member_size(.unsigned.
f060 6c 6f 6e 67 20 6c 6f 6e 67 20 73 7a 20 29 0a 20 20 20 20 7b 20 66 6f 72 28 20 69 6e 74 20 69 20 long.long.sz.).....{.for(.int.i.
f080 3d 20 31 32 3b 20 69 20 3c 3d 20 31 39 3b 20 2b 2b 69 20 29 20 7b 20 64 61 74 61 5b 69 5d 20 3d =.12;.i.<=.19;.++i.).{.data[i].=
f0a0 20 28 75 69 6e 74 38 5f 74 29 73 7a 3b 20 73 7a 20 3e 3e 3d 20 38 3b 20 7d 20 7d 0a 0a 20 20 62 .(uint8_t)sz;.sz.>>=.8;.}.}....b
f0c0 6f 6f 6c 20 76 65 72 69 66 79 5f 63 6f 6e 73 69 73 74 65 6e 63 79 28 29 20 63 6f 6e 73 74 09 2f ool.verify_consistency().const./
f0e0 2f 20 63 68 65 63 6b 20 69 6e 74 65 72 6e 61 6c 20 63 6f 6e 73 69 73 74 65 6e 63 79 0a 20 20 20 /.check.internal.consistency....
f100 20 7b 0a 20 20 20 20 63 6f 6e 73 74 20 75 6e 73 69 67 6e 65 64 20 63 72 63 20 3d 20 64 61 74 61 .{.....const.unsigned.crc.=.data
f120 5f 63 72 63 28 29 3b 0a 20 20 20 20 63 6f 6e 73 74 20 75 6e 73 69 67 6e 65 64 20 6c 6f 6e 67 20 _crc();.....const.unsigned.long.
f140 6c 6f 6e 67 20 64 73 69 7a 65 20 3d 20 64 61 74 61 5f 73 69 7a 65 28 29 3b 0a 20 20 20 20 69 66 long.dsize.=.data_size();.....if
f160 28 20 28 20 63 72 63 20 3d 3d 20 30 20 29 20 21 3d 20 28 20 64 73 69 7a 65 20 3d 3d 20 30 20 29 (.(.crc.==.0.).!=.(.dsize.==.0.)
f180 20 29 20 72 65 74 75 72 6e 20 66 61 6c 73 65 3b 0a 20 20 20 20 63 6f 6e 73 74 20 75 6e 73 69 67 .).return.false;.....const.unsig
f1a0 6e 65 64 20 6c 6f 6e 67 20 6c 6f 6e 67 20 6d 73 69 7a 65 20 3d 20 6d 65 6d 62 65 72 5f 73 69 7a ned.long.long.msize.=.member_siz
f1c0 65 28 29 3b 0a 20 20 20 20 69 66 28 20 6d 73 69 7a 65 20 3c 20 6d 69 6e 5f 6d 65 6d 62 65 72 5f e();.....if(.msize.<.min_member_
f1e0 73 69 7a 65 20 29 20 72 65 74 75 72 6e 20 66 61 6c 73 65 3b 0a 20 20 20 20 63 6f 6e 73 74 20 75 size.).return.false;.....const.u
f200 6e 73 69 67 6e 65 64 20 6c 6f 6e 67 20 6c 6f 6e 67 20 6d 6c 69 6d 69 74 20 3d 20 28 20 39 20 2a nsigned.long.long.mlimit.=.(.9.*
f220 20 64 73 69 7a 65 20 2b 20 37 20 29 20 2f 20 38 20 2b 20 6d 69 6e 5f 6d 65 6d 62 65 72 5f 73 69 .dsize.+.7.)./.8.+.min_member_si
f240 7a 65 3b 0a 20 20 20 20 69 66 28 20 6d 6c 69 6d 69 74 20 3e 20 64 73 69 7a 65 20 26 26 20 6d 73 ze;.....if(.mlimit.>.dsize.&&.ms
f260 69 7a 65 20 3e 20 6d 6c 69 6d 69 74 20 29 20 72 65 74 75 72 6e 20 66 61 6c 73 65 3b 0a 20 20 20 ize.>.mlimit.).return.false;....
f280 20 63 6f 6e 73 74 20 75 6e 73 69 67 6e 65 64 20 6c 6f 6e 67 20 6c 6f 6e 67 20 64 6c 69 6d 69 74 .const.unsigned.long.long.dlimit
f2a0 20 3d 20 37 30 39 30 20 2a 20 28 20 6d 73 69 7a 65 20 2d 20 32 36 20 29 20 2d 20 31 3b 0a 20 20 .=.7090.*.(.msize.-.26.).-.1;...
f2c0 20 20 69 66 28 20 64 6c 69 6d 69 74 20 3e 20 6d 73 69 7a 65 20 26 26 20 64 73 69 7a 65 20 3e 20 ..if(.dlimit.>.msize.&&.dsize.>.
f2e0 64 6c 69 6d 69 74 20 29 20 72 65 74 75 72 6e 20 66 61 6c 73 65 3b 0a 20 20 20 20 72 65 74 75 72 dlimit.).return.false;.....retur
f300 6e 20 74 72 75 65 3b 0a 20 20 20 20 7d 0a 20 20 7d 3b 0a 0a 0a 73 74 72 75 63 74 20 45 72 72 6f n.true;.....}...};...struct.Erro
f320 72 0a 20 20 7b 0a 20 20 63 6f 6e 73 74 20 63 68 61 72 20 2a 20 63 6f 6e 73 74 20 6d 73 67 3b 0a r...{...const.char.*.const.msg;.
f340 20 20 65 78 70 6c 69 63 69 74 20 45 72 72 6f 72 28 20 63 6f 6e 73 74 20 63 68 61 72 20 2a 20 63 ..explicit.Error(.const.char.*.c
f360 6f 6e 73 74 20 73 20 29 20 3a 20 6d 73 67 28 20 73 20 29 20 7b 7d 0a 20 20 7d 3b 0a 0a 69 6e 6c onst.s.).:.msg(.s.).{}...};..inl
f380 69 6e 65 20 76 6f 69 64 20 73 65 74 5f 72 65 74 76 61 6c 28 20 69 6e 74 20 26 20 72 65 74 76 61 ine.void.set_retval(.int.&.retva
f3a0 6c 2c 20 63 6f 6e 73 74 20 69 6e 74 20 6e 65 77 5f 76 61 6c 20 29 0a 20 20 7b 20 69 66 28 20 72 l,.const.int.new_val.)...{.if(.r
f3c0 65 74 76 61 6c 20 3c 20 6e 65 77 5f 76 61 6c 20 29 20 72 65 74 76 61 6c 20 3d 20 6e 65 77 5f 76 etval.<.new_val.).retval.=.new_v
f3e0 61 6c 3b 20 7d 0a 0a 63 6f 6e 73 74 20 63 68 61 72 20 2a 20 63 6f 6e 73 74 20 62 61 64 5f 6d 61 al;.}..const.char.*.const.bad_ma
f400 67 69 63 5f 6d 73 67 20 3d 20 22 42 61 64 20 6d 61 67 69 63 20 6e 75 6d 62 65 72 20 28 66 69 6c gic_msg.=."Bad.magic.number.(fil
f420 65 20 6e 6f 74 20 69 6e 20 6c 7a 69 70 20 66 6f 72 6d 61 74 29 2e 22 3b 0a 63 6f 6e 73 74 20 63 e.not.in.lzip.format).";.const.c
f440 68 61 72 20 2a 20 63 6f 6e 73 74 20 62 61 64 5f 64 69 63 74 5f 6d 73 67 20 3d 20 22 49 6e 76 61 har.*.const.bad_dict_msg.=."Inva
f460 6c 69 64 20 64 69 63 74 69 6f 6e 61 72 79 20 73 69 7a 65 20 69 6e 20 6d 65 6d 62 65 72 20 68 65 lid.dictionary.size.in.member.he
f480 61 64 65 72 2e 22 3b 0a 63 6f 6e 73 74 20 63 68 61 72 20 2a 20 63 6f 6e 73 74 20 63 6f 72 72 75 ader.";.const.char.*.const.corru
f4a0 70 74 5f 6d 6d 5f 6d 73 67 20 3d 20 22 43 6f 72 72 75 70 74 20 68 65 61 64 65 72 20 69 6e 20 6d pt_mm_msg.=."Corrupt.header.in.m
f4c0 75 6c 74 69 6d 65 6d 62 65 72 20 66 69 6c 65 2e 22 3b 0a 63 6f 6e 73 74 20 63 68 61 72 20 2a 20 ultimember.file.";.const.char.*.
f4e0 63 6f 6e 73 74 20 74 72 61 69 6c 69 6e 67 5f 6d 73 67 20 3d 20 22 54 72 61 69 6c 69 6e 67 20 64 const.trailing_msg.=."Trailing.d
f500 61 74 61 20 6e 6f 74 20 61 6c 6c 6f 77 65 64 2e 22 3b 0a 0a 2f 2f 20 64 65 66 69 6e 65 64 20 69 ata.not.allowed.";..//.defined.i
f520 6e 20 64 65 63 6f 64 65 72 2e 63 63 0a 69 6e 74 20 72 65 61 64 62 6c 6f 63 6b 28 20 63 6f 6e 73 n.decoder.cc.int.readblock(.cons
f540 74 20 69 6e 74 20 66 64 2c 20 75 69 6e 74 38 5f 74 20 2a 20 63 6f 6e 73 74 20 62 75 66 2c 20 63 t.int.fd,.uint8_t.*.const.buf,.c
f560 6f 6e 73 74 20 69 6e 74 20 73 69 7a 65 20 29 3b 0a 69 6e 74 20 77 72 69 74 65 62 6c 6f 63 6b 28 onst.int.size.);.int.writeblock(
f580 20 63 6f 6e 73 74 20 69 6e 74 20 66 64 2c 20 63 6f 6e 73 74 20 75 69 6e 74 38 5f 74 20 2a 20 63 .const.int.fd,.const.uint8_t.*.c
f5a0 6f 6e 73 74 20 62 75 66 2c 20 63 6f 6e 73 74 20 69 6e 74 20 73 69 7a 65 20 29 3b 0a 0a 2f 2f 20 onst.buf,.const.int.size.);..//.
f5c0 64 65 66 69 6e 65 64 20 69 6e 20 6c 69 73 74 2e 63 63 0a 69 6e 74 20 6c 69 73 74 5f 66 69 6c 65 defined.in.list.cc.int.list_file
f5e0 73 28 20 63 6f 6e 73 74 20 73 74 64 3a 3a 76 65 63 74 6f 72 3c 20 73 74 64 3a 3a 73 74 72 69 6e s(.const.std::vector<.std::strin
f600 67 20 3e 20 26 20 66 69 6c 65 6e 61 6d 65 73 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 g.>.&.filenames,................
f620 20 63 6f 6e 73 74 20 62 6f 6f 6c 20 69 67 6e 6f 72 65 5f 74 72 61 69 6c 69 6e 67 2c 20 63 6f 6e .const.bool.ignore_trailing,.con
f640 73 74 20 62 6f 6f 6c 20 6c 6f 6f 73 65 5f 74 72 61 69 6c 69 6e 67 20 29 3b 0a 0a 2f 2f 20 64 65 st.bool.loose_trailing.);..//.de
f660 66 69 6e 65 64 20 69 6e 20 6d 61 69 6e 2e 63 63 0a 73 74 72 75 63 74 20 73 74 61 74 3b 0a 63 6f fined.in.main.cc.struct.stat;.co
f680 6e 73 74 20 63 68 61 72 20 2a 20 62 61 64 5f 76 65 72 73 69 6f 6e 28 20 63 6f 6e 73 74 20 75 6e nst.char.*.bad_version(.const.un
f6a0 73 69 67 6e 65 64 20 76 65 72 73 69 6f 6e 20 29 3b 0a 63 6f 6e 73 74 20 63 68 61 72 20 2a 20 66 signed.version.);.const.char.*.f
f6c0 6f 72 6d 61 74 5f 64 73 28 20 63 6f 6e 73 74 20 75 6e 73 69 67 6e 65 64 20 64 69 63 74 69 6f 6e ormat_ds(.const.unsigned.diction
f6e0 61 72 79 5f 73 69 7a 65 20 29 3b 0a 76 6f 69 64 20 73 68 6f 77 5f 68 65 61 64 65 72 28 20 63 6f ary_size.);.void.show_header(.co
f700 6e 73 74 20 75 6e 73 69 67 6e 65 64 20 64 69 63 74 69 6f 6e 61 72 79 5f 73 69 7a 65 20 29 3b 0a nst.unsigned.dictionary_size.);.
f720 69 6e 74 20 6f 70 65 6e 5f 69 6e 73 74 72 65 61 6d 28 20 63 6f 6e 73 74 20 63 68 61 72 20 2a 20 int.open_instream(.const.char.*.
f740 63 6f 6e 73 74 20 6e 61 6d 65 2c 20 73 74 72 75 63 74 20 73 74 61 74 20 2a 20 63 6f 6e 73 74 20 const.name,.struct.stat.*.const.
f760 69 6e 5f 73 74 61 74 73 70 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 63 6f in_statsp,....................co
f780 6e 73 74 20 62 6f 6f 6c 20 6f 6e 65 5f 74 6f 5f 6f 6e 65 2c 20 63 6f 6e 73 74 20 62 6f 6f 6c 20 nst.bool.one_to_one,.const.bool.
f7a0 72 65 67 5f 6f 6e 6c 79 20 3d 20 66 61 6c 73 65 20 29 3b 0a 76 6f 69 64 20 73 68 6f 77 5f 65 72 reg_only.=.false.);.void.show_er
f7c0 72 6f 72 28 20 63 6f 6e 73 74 20 63 68 61 72 20 2a 20 63 6f 6e 73 74 20 6d 73 67 2c 20 63 6f 6e ror(.const.char.*.const.msg,.con
f7e0 73 74 20 69 6e 74 20 65 72 72 63 6f 64 65 20 3d 20 30 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 st.int.errcode.=.0,.............
f800 20 20 20 20 20 63 6f 6e 73 74 20 62 6f 6f 6c 20 68 65 6c 70 20 3d 20 66 61 6c 73 65 20 29 3b 0a .....const.bool.help.=.false.);.
f820 76 6f 69 64 20 73 68 6f 77 5f 66 69 6c 65 5f 65 72 72 6f 72 28 20 63 6f 6e 73 74 20 63 68 61 72 void.show_file_error(.const.char
f840 20 2a 20 63 6f 6e 73 74 20 66 69 6c 65 6e 61 6d 65 2c 20 63 6f 6e 73 74 20 63 68 61 72 20 2a 20 .*.const.filename,.const.char.*.
f860 63 6f 6e 73 74 20 6d 73 67 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 const.msg,......................
f880 20 63 6f 6e 73 74 20 69 6e 74 20 65 72 72 63 6f 64 65 20 3d 20 30 20 29 3b 0a 76 6f 69 64 20 69 .const.int.errcode.=.0.);.void.i
f8a0 6e 74 65 72 6e 61 6c 5f 65 72 72 6f 72 28 20 63 6f 6e 73 74 20 63 68 61 72 20 2a 20 63 6f 6e 73 nternal_error(.const.char.*.cons
f8c0 74 20 6d 73 67 20 29 3b 0a 63 6c 61 73 73 20 4d 61 74 63 68 66 69 6e 64 65 72 5f 62 61 73 65 3b t.msg.);.class.Matchfinder_base;
f8e0 0a 76 6f 69 64 20 73 68 6f 77 5f 63 70 72 6f 67 72 65 73 73 28 20 63 6f 6e 73 74 20 75 6e 73 69 .void.show_cprogress(.const.unsi
f900 67 6e 65 64 20 6c 6f 6e 67 20 6c 6f 6e 67 20 63 66 69 6c 65 5f 73 69 7a 65 20 3d 20 30 2c 0a 20 gned.long.long.cfile_size.=.0,..
f920 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 63 6f 6e 73 74 20 75 6e 73 69 67 6e ....................const.unsign
f940 65 64 20 6c 6f 6e 67 20 6c 6f 6e 67 20 70 61 72 74 69 61 6c 5f 73 69 7a 65 20 3d 20 30 2c 0a 20 ed.long.long.partial_size.=.0,..
f960 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 63 6f 6e 73 74 20 4d 61 74 63 68 66 ....................const.Matchf
f980 69 6e 64 65 72 5f 62 61 73 65 20 2a 20 63 6f 6e 73 74 20 6d 20 3d 20 30 2c 0a 20 20 20 20 20 20 inder_base.*.const.m.=.0,.......
f9a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 63 6f 6e 73 74 20 50 72 65 74 74 79 5f 70 72 69 6e ...............const.Pretty_prin
f9c0 74 20 2a 20 63 6f 6e 73 74 20 70 20 3d 20 30 20 29 3b 0a 63 6c 61 73 73 20 52 61 6e 67 65 5f 64 t.*.const.p.=.0.);.class.Range_d
f9e0 65 63 6f 64 65 72 3b 0a 76 6f 69 64 20 73 68 6f 77 5f 64 70 72 6f 67 72 65 73 73 28 20 63 6f 6e ecoder;.void.show_dprogress(.con
fa00 73 74 20 75 6e 73 69 67 6e 65 64 20 6c 6f 6e 67 20 6c 6f 6e 67 20 63 66 69 6c 65 5f 73 69 7a 65 st.unsigned.long.long.cfile_size
fa20 20 3d 20 30 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 63 6f 6e 73 74 .=.0,......................const
fa40 20 75 6e 73 69 67 6e 65 64 20 6c 6f 6e 67 20 6c 6f 6e 67 20 70 61 72 74 69 61 6c 5f 73 69 7a 65 .unsigned.long.long.partial_size
fa60 20 3d 20 30 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 63 6f 6e 73 74 .=.0,......................const
fa80 20 52 61 6e 67 65 5f 64 65 63 6f 64 65 72 20 2a 20 63 6f 6e 73 74 20 64 20 3d 20 30 2c 0a 20 20 .Range_decoder.*.const.d.=.0,...
faa0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 63 6f 6e 73 74 20 50 72 65 74 74 79 5f ...................const.Pretty_
fac0 70 72 69 6e 74 20 2a 20 63 6f 6e 73 74 20 70 20 3d 20 30 20 29 3b 0a 00 00 00 00 00 00 00 00 00 print.*.const.p.=.0.);..........
fae0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
fb00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
fb20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
fb40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
fb60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
fb80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
fba0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
fbc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
fbe0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
fc00 6c 7a 69 70 2d 31 2e 32 32 2f 64 6f 63 2f 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 lzip-1.22/doc/..................
fc20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
fc40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
fc60 00 00 00 00 30 30 30 30 37 35 35 00 30 30 30 30 30 30 30 00 30 30 30 30 30 30 30 00 30 30 30 30 ....0000755.0000000.0000000.0000
fc80 30 30 30 30 30 30 30 00 31 34 31 32 36 34 31 33 33 34 34 00 30 31 33 31 36 31 00 20 35 00 00 00 0000000.14126413344.013161..5...
fca0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
fcc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
fce0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
fd00 00 75 73 74 61 72 00 30 30 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .ustar.00root...................
fd20 00 00 00 00 00 00 00 00 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .........root...................
fd40 00 00 00 00 00 00 00 00 00 30 30 30 30 30 30 30 00 30 30 30 30 30 30 30 00 00 00 00 00 00 00 00 .........0000000.0000000........
fd60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
fd80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
fda0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
fdc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
fde0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
fe00 6c 7a 69 70 2d 31 2e 32 32 2f 64 6f 63 2f 6c 7a 69 70 2e 69 6e 66 6f 00 00 00 00 00 00 00 00 00 lzip-1.22/doc/lzip.info.........
fe20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
fe40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
fe60 00 00 00 00 30 30 30 30 36 34 34 00 30 30 30 30 30 30 30 00 30 30 30 30 30 30 30 00 30 30 30 30 ....0000644.0000000.0000000.0000
fe80 30 32 30 31 35 37 32 00 31 33 37 37 34 36 35 30 32 31 31 00 30 31 35 30 32 37 00 20 30 00 00 00 0201572.13774650211.015027..0...
fea0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
fec0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
fee0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
ff00 00 75 73 74 61 72 00 30 30 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .ustar.00root...................
ff20 00 00 00 00 00 00 00 00 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .........root...................
ff40 00 00 00 00 00 00 00 00 00 30 30 30 30 30 30 30 00 30 30 30 30 30 30 30 00 00 00 00 00 00 00 00 .........0000000.0000000........
ff60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
ff80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
ffa0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
ffc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
ffe0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
10000 54 68 69 73 20 69 73 20 6c 7a 69 70 2e 69 6e 66 6f 2c 20 70 72 6f 64 75 63 65 64 20 62 79 20 6d This.is.lzip.info,.produced.by.m
10020 61 6b 65 69 6e 66 6f 20 76 65 72 73 69 6f 6e 20 34 2e 31 33 2b 20 66 72 6f 6d 20 6c 7a 69 70 2e akeinfo.version.4.13+.from.lzip.
10040 74 65 78 69 2e 0a 0a 49 4e 46 4f 2d 44 49 52 2d 53 45 43 54 49 4f 4e 20 44 61 74 61 20 43 6f 6d texi...INFO-DIR-SECTION.Data.Com
10060 70 72 65 73 73 69 6f 6e 0a 53 54 41 52 54 2d 49 4e 46 4f 2d 44 49 52 2d 45 4e 54 52 59 0a 2a 20 pression.START-INFO-DIR-ENTRY.*.
10080 4c 7a 69 70 3a 20 28 6c 7a 69 70 29 2e 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 4c 5a Lzip:.(lzip)..................LZ
100a0 4d 41 20 6c 6f 73 73 6c 65 73 73 20 64 61 74 61 20 63 6f 6d 70 72 65 73 73 6f 72 0a 45 4e 44 2d MA.lossless.data.compressor.END-
100c0 49 4e 46 4f 2d 44 49 52 2d 45 4e 54 52 59 0a 0a 1f 0a 46 69 6c 65 3a 20 6c 7a 69 70 2e 69 6e 66 INFO-DIR-ENTRY....File:.lzip.inf
100e0 6f 2c 20 20 4e 6f 64 65 3a 20 54 6f 70 2c 20 20 4e 65 78 74 3a 20 49 6e 74 72 6f 64 75 63 74 69 o,..Node:.Top,..Next:.Introducti
10100 6f 6e 2c 20 20 55 70 3a 20 28 64 69 72 29 0a 0a 4c 7a 69 70 20 4d 61 6e 75 61 6c 0a 2a 2a 2a 2a on,..Up:.(dir)..Lzip.Manual.****
10120 2a 2a 2a 2a 2a 2a 2a 0a 0a 54 68 69 73 20 6d 61 6e 75 61 6c 20 69 73 20 66 6f 72 20 4c 7a 69 70 *******..This.manual.is.for.Lzip
10140 20 28 76 65 72 73 69 6f 6e 20 31 2e 32 32 2c 20 34 20 4a 61 6e 75 61 72 79 20 32 30 32 31 29 2e .(version.1.22,.4.January.2021).
10160 0a 0a 2a 20 4d 65 6e 75 3a 0a 0a 2a 20 49 6e 74 72 6f 64 75 63 74 69 6f 6e 3a 3a 20 20 20 20 20 ..*.Menu:..*.Introduction::.....
10180 20 20 20 20 20 20 50 75 72 70 6f 73 65 20 61 6e 64 20 66 65 61 74 75 72 65 73 20 6f 66 20 6c 7a ......Purpose.and.features.of.lz
101a0 69 70 0a 2a 20 4f 75 74 70 75 74 3a 3a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 4d 65 ip.*.Output::.................Me
101c0 61 6e 69 6e 67 20 6f 66 20 6c 7a 69 70 27 73 20 6f 75 74 70 75 74 0a 2a 20 49 6e 76 6f 6b 69 6e aning.of.lzip's.output.*.Invokin
101e0 67 20 6c 7a 69 70 3a 3a 20 20 20 20 20 20 20 20 20 20 43 6f 6d 6d 61 6e 64 20 6c 69 6e 65 20 69 g.lzip::..........Command.line.i
10200 6e 74 65 72 66 61 63 65 0a 2a 20 51 75 61 6c 69 74 79 20 61 73 73 75 72 61 6e 63 65 3a 3a 20 20 nterface.*.Quality.assurance::..
10220 20 20 20 20 44 65 73 69 67 6e 2c 20 64 65 76 65 6c 6f 70 6d 65 6e 74 2c 20 61 6e 64 20 74 65 73 ....Design,.development,.and.tes
10240 74 69 6e 67 20 6f 66 20 6c 7a 69 70 0a 2a 20 46 69 6c 65 20 66 6f 72 6d 61 74 3a 3a 20 20 20 20 ting.of.lzip.*.File.format::....
10260 20 20 20 20 20 20 20 20 44 65 74 61 69 6c 65 64 20 66 6f 72 6d 61 74 20 6f 66 20 74 68 65 20 63 ........Detailed.format.of.the.c
10280 6f 6d 70 72 65 73 73 65 64 20 66 69 6c 65 0a 2a 20 41 6c 67 6f 72 69 74 68 6d 3a 3a 20 20 20 20 ompressed.file.*.Algorithm::....
102a0 20 20 20 20 20 20 20 20 20 20 48 6f 77 20 6c 7a 69 70 20 63 6f 6d 70 72 65 73 73 65 73 20 74 68 ..........How.lzip.compresses.th
102c0 65 20 64 61 74 61 0a 2a 20 53 74 72 65 61 6d 20 66 6f 72 6d 61 74 3a 3a 20 20 20 20 20 20 20 20 e.data.*.Stream.format::........
102e0 20 20 46 6f 72 6d 61 74 20 6f 66 20 74 68 65 20 4c 5a 4d 41 20 73 74 72 65 61 6d 20 69 6e 20 6c ..Format.of.the.LZMA.stream.in.l
10300 7a 69 70 20 66 69 6c 65 73 0a 2a 20 54 72 61 69 6c 69 6e 67 20 64 61 74 61 3a 3a 20 20 20 20 20 zip.files.*.Trailing.data::.....
10320 20 20 20 20 20 45 78 74 72 61 20 64 61 74 61 20 61 70 70 65 6e 64 65 64 20 74 6f 20 74 68 65 20 .....Extra.data.appended.to.the.
10340 66 69 6c 65 0a 2a 20 45 78 61 6d 70 6c 65 73 3a 3a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 file.*.Examples::...............
10360 41 20 73 6d 61 6c 6c 20 74 75 74 6f 72 69 61 6c 20 77 69 74 68 20 65 78 61 6d 70 6c 65 73 0a 2a A.small.tutorial.with.examples.*
10380 20 50 72 6f 62 6c 65 6d 73 3a 3a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 52 65 70 6f 72 74 .Problems::...............Report
103a0 69 6e 67 20 62 75 67 73 0a 2a 20 52 65 66 65 72 65 6e 63 65 20 73 6f 75 72 63 65 20 63 6f 64 65 ing.bugs.*.Reference.source.code
103c0 3a 3a 20 20 53 6f 75 72 63 65 20 63 6f 64 65 20 69 6c 6c 75 73 74 72 61 74 69 6e 67 20 73 74 72 ::..Source.code.illustrating.str
103e0 65 61 6d 20 66 6f 72 6d 61 74 0a 2a 20 43 6f 6e 63 65 70 74 20 69 6e 64 65 78 3a 3a 20 20 20 20 eam.format.*.Concept.index::....
10400 20 20 20 20 20 20 49 6e 64 65 78 20 6f 66 20 63 6f 6e 63 65 70 74 73 0a 0a 0a 20 20 20 43 6f 70 ......Index.of.concepts......Cop
10420 79 72 69 67 68 74 20 28 43 29 20 32 30 30 38 2d 32 30 32 31 20 41 6e 74 6f 6e 69 6f 20 44 69 61 yright.(C).2008-2021.Antonio.Dia
10440 7a 20 44 69 61 7a 2e 0a 0a 20 20 20 54 68 69 73 20 6d 61 6e 75 61 6c 20 69 73 20 66 72 65 65 20 z.Diaz......This.manual.is.free.
10460 64 6f 63 75 6d 65 6e 74 61 74 69 6f 6e 3a 20 79 6f 75 20 68 61 76 65 20 75 6e 6c 69 6d 69 74 65 documentation:.you.have.unlimite
10480 64 20 70 65 72 6d 69 73 73 69 6f 6e 20 74 6f 20 63 6f 70 79 2c 0a 64 69 73 74 72 69 62 75 74 65 d.permission.to.copy,.distribute
104a0 2c 20 61 6e 64 20 6d 6f 64 69 66 79 20 69 74 2e 0a 0a 1f 0a 46 69 6c 65 3a 20 6c 7a 69 70 2e 69 ,.and.modify.it.....File:.lzip.i
104c0 6e 66 6f 2c 20 20 4e 6f 64 65 3a 20 49 6e 74 72 6f 64 75 63 74 69 6f 6e 2c 20 20 4e 65 78 74 3a nfo,..Node:.Introduction,..Next:
104e0 20 4f 75 74 70 75 74 2c 20 20 50 72 65 76 3a 20 54 6f 70 2c 20 20 55 70 3a 20 54 6f 70 0a 0a 31 .Output,..Prev:.Top,..Up:.Top..1
10500 20 49 6e 74 72 6f 64 75 63 74 69 6f 6e 0a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 0a 0a 4c 7a .Introduction.**************..Lz
10520 69 70 20 69 73 20 61 20 6c 6f 73 73 6c 65 73 73 20 64 61 74 61 20 63 6f 6d 70 72 65 73 73 6f 72 ip.is.a.lossless.data.compressor
10540 20 77 69 74 68 20 61 20 75 73 65 72 20 69 6e 74 65 72 66 61 63 65 20 73 69 6d 69 6c 61 72 20 74 .with.a.user.interface.similar.t
10560 6f 20 74 68 65 20 6f 6e 65 0a 6f 66 20 67 7a 69 70 20 6f 72 20 62 7a 69 70 32 2e 20 4c 7a 69 70 o.the.one.of.gzip.or.bzip2..Lzip
10580 20 75 73 65 73 20 61 20 73 69 6d 70 6c 69 66 69 65 64 20 66 6f 72 6d 20 6f 66 20 74 68 65 20 27 .uses.a.simplified.form.of.the.'
105a0 4c 65 6d 70 65 6c 2d 5a 69 76 2d 4d 61 72 6b 6f 76 0a 63 68 61 69 6e 2d 41 6c 67 6f 72 69 74 68 Lempel-Ziv-Markov.chain-Algorith
105c0 6d 27 20 28 4c 5a 4d 41 29 20 73 74 72 65 61 6d 20 66 6f 72 6d 61 74 2c 20 63 68 6f 73 65 6e 20 m'.(LZMA).stream.format,.chosen.
105e0 74 6f 20 6d 61 78 69 6d 69 7a 65 20 73 61 66 65 74 79 20 61 6e 64 0a 69 6e 74 65 72 6f 70 65 72 to.maximize.safety.and.interoper
10600 61 62 69 6c 69 74 79 2e 20 4c 7a 69 70 20 63 61 6e 20 63 6f 6d 70 72 65 73 73 20 61 62 6f 75 74 ability..Lzip.can.compress.about
10620 20 61 73 20 66 61 73 74 20 61 73 20 67 7a 69 70 20 28 6c 7a 69 70 20 2d 30 29 20 6f 72 0a 63 6f .as.fast.as.gzip.(lzip.-0).or.co
10640 6d 70 72 65 73 73 20 6d 6f 73 74 20 66 69 6c 65 73 20 6d 6f 72 65 20 74 68 61 6e 20 62 7a 69 70 mpress.most.files.more.than.bzip
10660 32 20 28 6c 7a 69 70 20 2d 39 29 2e 20 44 65 63 6f 6d 70 72 65 73 73 69 6f 6e 20 73 70 65 65 64 2.(lzip.-9)..Decompression.speed
10680 20 69 73 0a 69 6e 74 65 72 6d 65 64 69 61 74 65 20 62 65 74 77 65 65 6e 20 67 7a 69 70 20 61 6e .is.intermediate.between.gzip.an
106a0 64 20 62 7a 69 70 32 2e 20 4c 7a 69 70 20 69 73 20 62 65 74 74 65 72 20 74 68 61 6e 20 67 7a 69 d.bzip2..Lzip.is.better.than.gzi
106c0 70 20 61 6e 64 20 62 7a 69 70 32 20 66 72 6f 6d 0a 61 20 64 61 74 61 20 72 65 63 6f 76 65 72 79 p.and.bzip2.from.a.data.recovery
106e0 20 70 65 72 73 70 65 63 74 69 76 65 2e 20 4c 7a 69 70 20 68 61 73 20 62 65 65 6e 20 64 65 73 69 .perspective..Lzip.has.been.desi
10700 67 6e 65 64 2c 20 77 72 69 74 74 65 6e 2c 20 61 6e 64 20 74 65 73 74 65 64 0a 77 69 74 68 20 67 gned,.written,.and.tested.with.g
10720 72 65 61 74 20 63 61 72 65 20 74 6f 20 72 65 70 6c 61 63 65 20 67 7a 69 70 20 61 6e 64 20 62 7a reat.care.to.replace.gzip.and.bz
10740 69 70 32 20 61 73 20 74 68 65 20 73 74 61 6e 64 61 72 64 20 67 65 6e 65 72 61 6c 2d 70 75 72 70 ip2.as.the.standard.general-purp
10760 6f 73 65 0a 63 6f 6d 70 72 65 73 73 65 64 20 66 6f 72 6d 61 74 20 66 6f 72 20 75 6e 69 78 2d 6c ose.compressed.format.for.unix-l
10780 69 6b 65 20 73 79 73 74 65 6d 73 2e 0a 0a 20 20 20 46 6f 72 20 63 6f 6d 70 72 65 73 73 69 6e 67 ike.systems......For.compressing
107a0 2f 64 65 63 6f 6d 70 72 65 73 73 69 6e 67 20 6c 61 72 67 65 20 66 69 6c 65 73 20 6f 6e 20 6d 75 /decompressing.large.files.on.mu
107c0 6c 74 69 70 72 6f 63 65 73 73 6f 72 20 6d 61 63 68 69 6e 65 73 0a 70 6c 7a 69 70 20 63 61 6e 20 ltiprocessor.machines.plzip.can.
107e0 62 65 20 6d 75 63 68 20 66 61 73 74 65 72 20 74 68 61 6e 20 6c 7a 69 70 20 61 74 20 74 68 65 20 be.much.faster.than.lzip.at.the.
10800 63 6f 73 74 20 6f 66 20 61 20 73 6c 69 67 68 74 6c 79 20 72 65 64 75 63 65 64 0a 63 6f 6d 70 72 cost.of.a.slightly.reduced.compr
10820 65 73 73 69 6f 6e 20 72 61 74 69 6f 2e 20 2a 4e 6f 74 65 20 70 6c 7a 69 70 20 6d 61 6e 75 61 6c ession.ratio..*Note.plzip.manual
10840 3a 20 28 70 6c 7a 69 70 29 54 6f 70 2e 0a 0a 20 20 20 46 6f 72 20 63 72 65 61 74 69 6f 6e 20 61 :.(plzip)Top......For.creation.a
10860 6e 64 20 6d 61 6e 69 70 75 6c 61 74 69 6f 6e 20 6f 66 20 63 6f 6d 70 72 65 73 73 65 64 20 74 61 nd.manipulation.of.compressed.ta
10880 72 20 61 72 63 68 69 76 65 73 20 74 61 72 6c 7a 20 63 61 6e 20 62 65 0a 6d 6f 72 65 20 65 66 66 r.archives.tarlz.can.be.more.eff
108a0 69 63 69 65 6e 74 20 74 68 61 6e 20 75 73 69 6e 67 20 74 61 72 20 61 6e 64 20 70 6c 7a 69 70 20 icient.than.using.tar.and.plzip.
108c0 62 65 63 61 75 73 65 20 74 61 72 6c 7a 20 69 73 20 61 62 6c 65 20 74 6f 20 6b 65 65 70 20 74 68 because.tarlz.is.able.to.keep.th
108e0 65 0a 61 6c 69 67 6e 6d 65 6e 74 20 62 65 74 77 65 65 6e 20 74 61 72 20 6d 65 6d 62 65 72 73 20 e.alignment.between.tar.members.
10900 61 6e 64 20 6c 7a 69 70 20 6d 65 6d 62 65 72 73 2e 20 2a 4e 6f 74 65 20 74 61 72 6c 7a 20 6d 61 and.lzip.members..*Note.tarlz.ma
10920 6e 75 61 6c 3a 0a 28 74 61 72 6c 7a 29 54 6f 70 2e 0a 0a 20 20 20 54 68 65 20 6c 7a 69 70 20 66 nual:.(tarlz)Top......The.lzip.f
10940 69 6c 65 20 66 6f 72 6d 61 74 20 69 73 20 64 65 73 69 67 6e 65 64 20 66 6f 72 20 64 61 74 61 20 ile.format.is.designed.for.data.
10960 73 68 61 72 69 6e 67 20 61 6e 64 20 6c 6f 6e 67 2d 74 65 72 6d 0a 61 72 63 68 69 76 69 6e 67 2c sharing.and.long-term.archiving,
10980 20 74 61 6b 69 6e 67 20 69 6e 74 6f 20 61 63 63 6f 75 6e 74 20 62 6f 74 68 20 64 61 74 61 20 69 .taking.into.account.both.data.i
109a0 6e 74 65 67 72 69 74 79 20 61 6e 64 20 64 65 63 6f 64 65 72 20 61 76 61 69 6c 61 62 69 6c 69 74 ntegrity.and.decoder.availabilit
109c0 79 3a 0a 0a 20 20 20 2a 20 54 68 65 20 6c 7a 69 70 20 66 6f 72 6d 61 74 20 70 72 6f 76 69 64 65 y:.....*.The.lzip.format.provide
109e0 73 20 76 65 72 79 20 73 61 66 65 20 69 6e 74 65 67 72 69 74 79 20 63 68 65 63 6b 69 6e 67 20 61 s.very.safe.integrity.checking.a
10a00 6e 64 20 73 6f 6d 65 20 64 61 74 61 0a 20 20 20 20 20 72 65 63 6f 76 65 72 79 20 6d 65 61 6e 73 nd.some.data......recovery.means
10a20 2e 20 54 68 65 20 70 72 6f 67 72 61 6d 20 6c 7a 69 70 72 65 63 6f 76 65 72 20 63 61 6e 20 72 65 ..The.program.lziprecover.can.re
10a40 70 61 69 72 20 62 69 74 20 66 6c 69 70 20 65 72 72 6f 72 73 0a 20 20 20 20 20 28 6f 6e 65 20 6f pair.bit.flip.errors......(one.o
10a60 66 20 74 68 65 20 6d 6f 73 74 20 63 6f 6d 6d 6f 6e 20 66 6f 72 6d 73 20 6f 66 20 64 61 74 61 20 f.the.most.common.forms.of.data.
10a80 63 6f 72 72 75 70 74 69 6f 6e 29 20 69 6e 20 6c 7a 69 70 20 66 69 6c 65 73 2c 20 61 6e 64 0a 20 corruption).in.lzip.files,.and..
10aa0 20 20 20 20 70 72 6f 76 69 64 65 73 20 64 61 74 61 20 72 65 63 6f 76 65 72 79 20 63 61 70 61 62 ....provides.data.recovery.capab
10ac0 69 6c 69 74 69 65 73 2c 20 69 6e 63 6c 75 64 69 6e 67 20 65 72 72 6f 72 2d 63 68 65 63 6b 65 64 ilities,.including.error-checked
10ae0 20 6d 65 72 67 69 6e 67 0a 20 20 20 20 20 6f 66 20 64 61 6d 61 67 65 64 20 63 6f 70 69 65 73 20 .merging......of.damaged.copies.
10b00 6f 66 20 61 20 66 69 6c 65 2e 20 2a 4e 6f 74 65 20 44 61 74 61 20 73 61 66 65 74 79 3a 20 28 6c of.a.file..*Note.Data.safety:.(l
10b20 7a 69 70 72 65 63 6f 76 65 72 29 44 61 74 61 0a 20 20 20 20 20 73 61 66 65 74 79 2e 0a 0a 20 20 ziprecover)Data......safety.....
10b40 20 2a 20 54 68 65 20 6c 7a 69 70 20 66 6f 72 6d 61 74 20 69 73 20 61 73 20 73 69 6d 70 6c 65 20 .*.The.lzip.format.is.as.simple.
10b60 61 73 20 70 6f 73 73 69 62 6c 65 20 28 62 75 74 20 6e 6f 74 20 73 69 6d 70 6c 65 72 29 2e 20 54 as.possible.(but.not.simpler)..T
10b80 68 65 20 6c 7a 69 70 0a 20 20 20 20 20 6d 61 6e 75 61 6c 20 70 72 6f 76 69 64 65 73 20 74 68 65 he.lzip......manual.provides.the
10ba0 20 73 6f 75 72 63 65 20 63 6f 64 65 20 6f 66 20 61 20 73 69 6d 70 6c 65 20 64 65 63 6f 6d 70 72 .source.code.of.a.simple.decompr
10bc0 65 73 73 6f 72 20 61 6c 6f 6e 67 20 77 69 74 68 20 61 0a 20 20 20 20 20 64 65 74 61 69 6c 65 64 essor.along.with.a......detailed
10be0 20 65 78 70 6c 61 6e 61 74 69 6f 6e 20 6f 66 20 68 6f 77 20 69 74 20 77 6f 72 6b 73 2c 20 73 6f .explanation.of.how.it.works,.so
10c00 20 74 68 61 74 20 77 69 74 68 20 74 68 65 20 6f 6e 6c 79 20 68 65 6c 70 20 6f 66 20 74 68 65 0a .that.with.the.only.help.of.the.
10c20 20 20 20 20 20 6c 7a 69 70 20 6d 61 6e 75 61 6c 20 69 74 20 77 6f 75 6c 64 20 62 65 20 70 6f 73 .....lzip.manual.it.would.be.pos
10c40 73 69 62 6c 65 20 66 6f 72 20 61 20 64 69 67 69 74 61 6c 20 61 72 63 68 61 65 6f 6c 6f 67 69 73 sible.for.a.digital.archaeologis
10c60 74 20 74 6f 20 65 78 74 72 61 63 74 0a 20 20 20 20 20 74 68 65 20 64 61 74 61 20 66 72 6f 6d 20 t.to.extract......the.data.from.
10c80 61 20 6c 7a 69 70 20 66 69 6c 65 20 6c 6f 6e 67 20 61 66 74 65 72 20 71 75 61 6e 74 75 6d 20 63 a.lzip.file.long.after.quantum.c
10ca0 6f 6d 70 75 74 65 72 73 20 65 76 65 6e 74 75 61 6c 6c 79 0a 20 20 20 20 20 72 65 6e 64 65 72 20 omputers.eventually......render.
10cc0 4c 5a 4d 41 20 6f 62 73 6f 6c 65 74 65 2e 0a 0a 20 20 20 2a 20 41 64 64 69 74 69 6f 6e 61 6c 6c LZMA.obsolete......*.Additionall
10ce0 79 20 74 68 65 20 6c 7a 69 70 20 72 65 66 65 72 65 6e 63 65 20 69 6d 70 6c 65 6d 65 6e 74 61 74 y.the.lzip.reference.implementat
10d00 69 6f 6e 20 69 73 20 63 6f 70 79 6c 65 66 74 65 64 2c 20 77 68 69 63 68 0a 20 20 20 20 20 67 75 ion.is.copylefted,.which......gu
10d20 61 72 61 6e 74 65 65 73 20 74 68 61 74 20 69 74 20 77 69 6c 6c 20 72 65 6d 61 69 6e 20 66 72 65 arantees.that.it.will.remain.fre
10d40 65 20 66 6f 72 65 76 65 72 2e 0a 0a 20 20 20 41 20 6e 69 63 65 20 66 65 61 74 75 72 65 20 6f 66 e.forever......A.nice.feature.of
10d60 20 74 68 65 20 6c 7a 69 70 20 66 6f 72 6d 61 74 20 69 73 20 74 68 61 74 20 61 20 63 6f 72 72 75 .the.lzip.format.is.that.a.corru
10d80 70 74 20 62 79 74 65 20 69 73 20 65 61 73 69 65 72 20 74 6f 0a 72 65 70 61 69 72 20 74 68 65 20 pt.byte.is.easier.to.repair.the.
10da0 6e 65 61 72 65 72 20 69 74 20 69 73 20 66 72 6f 6d 20 74 68 65 20 62 65 67 69 6e 6e 69 6e 67 20 nearer.it.is.from.the.beginning.
10dc0 6f 66 20 74 68 65 20 66 69 6c 65 2e 20 54 68 65 72 65 66 6f 72 65 2c 20 77 69 74 68 20 74 68 65 of.the.file..Therefore,.with.the
10de0 0a 68 65 6c 70 20 6f 66 20 6c 7a 69 70 72 65 63 6f 76 65 72 2c 20 6c 6f 73 69 6e 67 20 61 6e 20 .help.of.lziprecover,.losing.an.
10e00 65 6e 74 69 72 65 20 61 72 63 68 69 76 65 20 6a 75 73 74 20 62 65 63 61 75 73 65 20 6f 66 20 61 entire.archive.just.because.of.a
10e20 20 63 6f 72 72 75 70 74 0a 62 79 74 65 20 6e 65 61 72 20 74 68 65 20 62 65 67 69 6e 6e 69 6e 67 .corrupt.byte.near.the.beginning
10e40 20 69 73 20 61 20 74 68 69 6e 67 20 6f 66 20 74 68 65 20 70 61 73 74 2e 0a 0a 20 20 20 54 68 65 .is.a.thing.of.the.past......The
10e60 20 6d 65 6d 62 65 72 20 74 72 61 69 6c 65 72 20 73 74 6f 72 65 73 20 74 68 65 20 33 32 2d 62 69 .member.trailer.stores.the.32-bi
10e80 74 20 43 52 43 20 6f 66 20 74 68 65 20 6f 72 69 67 69 6e 61 6c 20 64 61 74 61 2c 20 74 68 65 20 t.CRC.of.the.original.data,.the.
10ea0 73 69 7a 65 0a 6f 66 20 74 68 65 20 6f 72 69 67 69 6e 61 6c 20 64 61 74 61 2c 20 61 6e 64 20 74 size.of.the.original.data,.and.t
10ec0 68 65 20 73 69 7a 65 20 6f 66 20 74 68 65 20 6d 65 6d 62 65 72 2e 20 54 68 65 73 65 20 76 61 6c he.size.of.the.member..These.val
10ee0 75 65 73 2c 20 74 6f 67 65 74 68 65 72 0a 77 69 74 68 20 74 68 65 20 65 6e 64 2d 6f 66 2d 73 74 ues,.together.with.the.end-of-st
10f00 72 65 61 6d 20 6d 61 72 6b 65 72 2c 20 70 72 6f 76 69 64 65 20 61 20 33 20 66 61 63 74 6f 72 20 ream.marker,.provide.a.3.factor.
10f20 69 6e 74 65 67 72 69 74 79 20 63 68 65 63 6b 69 6e 67 20 77 68 69 63 68 0a 67 75 61 72 61 6e 74 integrity.checking.which.guarant
10f40 65 65 73 20 74 68 61 74 20 74 68 65 20 64 65 63 6f 6d 70 72 65 73 73 65 64 20 76 65 72 73 69 6f ees.that.the.decompressed.versio
10f60 6e 20 6f 66 20 74 68 65 20 64 61 74 61 20 69 73 20 69 64 65 6e 74 69 63 61 6c 20 74 6f 20 74 68 n.of.the.data.is.identical.to.th
10f80 65 0a 6f 72 69 67 69 6e 61 6c 2e 20 54 68 69 73 20 67 75 61 72 64 73 20 61 67 61 69 6e 73 74 20 e.original..This.guards.against.
10fa0 63 6f 72 72 75 70 74 69 6f 6e 20 6f 66 20 74 68 65 20 63 6f 6d 70 72 65 73 73 65 64 20 64 61 74 corruption.of.the.compressed.dat
10fc0 61 2c 20 61 6e 64 0a 61 67 61 69 6e 73 74 20 75 6e 64 65 74 65 63 74 65 64 20 62 75 67 73 20 69 a,.and.against.undetected.bugs.i
10fe0 6e 20 6c 7a 69 70 20 28 68 6f 70 65 66 75 6c 6c 79 20 76 65 72 79 20 75 6e 6c 69 6b 65 6c 79 29 n.lzip.(hopefully.very.unlikely)
11000 2e 20 54 68 65 20 63 68 61 6e 63 65 73 20 6f 66 0a 64 61 74 61 20 63 6f 72 72 75 70 74 69 6f 6e ..The.chances.of.data.corruption
11020 20 67 6f 69 6e 67 20 75 6e 64 65 74 65 63 74 65 64 20 61 72 65 20 6d 69 63 72 6f 73 63 6f 70 69 .going.undetected.are.microscopi
11040 63 2e 20 42 65 20 61 77 61 72 65 2c 20 74 68 6f 75 67 68 2c 20 74 68 61 74 0a 74 68 65 20 63 68 c..Be.aware,.though,.that.the.ch
11060 65 63 6b 20 6f 63 63 75 72 73 20 75 70 6f 6e 20 64 65 63 6f 6d 70 72 65 73 73 69 6f 6e 2c 20 73 eck.occurs.upon.decompression,.s
11080 6f 20 69 74 20 63 61 6e 20 6f 6e 6c 79 20 74 65 6c 6c 20 79 6f 75 20 74 68 61 74 20 73 6f 6d 65 o.it.can.only.tell.you.that.some
110a0 74 68 69 6e 67 0a 69 73 20 77 72 6f 6e 67 2e 20 49 74 20 63 61 6e 27 74 20 68 65 6c 70 20 79 6f thing.is.wrong..It.can't.help.yo
110c0 75 20 72 65 63 6f 76 65 72 20 74 68 65 20 6f 72 69 67 69 6e 61 6c 20 75 6e 63 6f 6d 70 72 65 73 u.recover.the.original.uncompres
110e0 73 65 64 20 64 61 74 61 2e 0a 0a 20 20 20 4c 7a 69 70 20 75 73 65 73 20 74 68 65 20 73 61 6d 65 sed.data......Lzip.uses.the.same
11100 20 77 65 6c 6c 2d 64 65 66 69 6e 65 64 20 65 78 69 74 20 73 74 61 74 75 73 20 76 61 6c 75 65 73 .well-defined.exit.status.values
11120 20 75 73 65 64 20 62 79 20 62 7a 69 70 32 2c 20 77 68 69 63 68 0a 6d 61 6b 65 73 20 69 74 20 73 .used.by.bzip2,.which.makes.it.s
11140 61 66 65 72 20 74 68 61 6e 20 63 6f 6d 70 72 65 73 73 6f 72 73 20 72 65 74 75 72 6e 69 6e 67 20 afer.than.compressors.returning.
11160 61 6d 62 69 67 75 6f 75 73 20 77 61 72 6e 69 6e 67 20 76 61 6c 75 65 73 20 28 6c 69 6b 65 0a 67 ambiguous.warning.values.(like.g
11180 7a 69 70 29 20 77 68 65 6e 20 69 74 20 69 73 20 75 73 65 64 20 61 73 20 61 20 62 61 63 6b 20 65 zip).when.it.is.used.as.a.back.e
111a0 6e 64 20 66 6f 72 20 6f 74 68 65 72 20 70 72 6f 67 72 61 6d 73 20 6c 69 6b 65 20 74 61 72 20 6f nd.for.other.programs.like.tar.o
111c0 72 20 7a 75 74 69 6c 73 2e 0a 0a 20 20 20 4c 7a 69 70 20 77 69 6c 6c 20 61 75 74 6f 6d 61 74 69 r.zutils......Lzip.will.automati
111e0 63 61 6c 6c 79 20 75 73 65 20 66 6f 72 20 65 61 63 68 20 66 69 6c 65 20 74 68 65 20 6c 61 72 67 cally.use.for.each.file.the.larg
11200 65 73 74 20 64 69 63 74 69 6f 6e 61 72 79 20 73 69 7a 65 0a 74 68 61 74 20 64 6f 65 73 20 6e 6f est.dictionary.size.that.does.no
11220 74 20 65 78 63 65 65 64 20 6e 65 69 74 68 65 72 20 74 68 65 20 66 69 6c 65 20 73 69 7a 65 20 6e t.exceed.neither.the.file.size.n
11240 6f 72 20 74 68 65 20 6c 69 6d 69 74 20 67 69 76 65 6e 2e 20 4b 65 65 70 20 69 6e 0a 6d 69 6e 64 or.the.limit.given..Keep.in.mind
11260 20 74 68 61 74 20 74 68 65 20 64 65 63 6f 6d 70 72 65 73 73 69 6f 6e 20 6d 65 6d 6f 72 79 20 72 .that.the.decompression.memory.r
11280 65 71 75 69 72 65 6d 65 6e 74 20 69 73 20 61 66 66 65 63 74 65 64 20 61 74 20 63 6f 6d 70 72 65 equirement.is.affected.at.compre
112a0 73 73 69 6f 6e 0a 74 69 6d 65 20 62 79 20 74 68 65 20 63 68 6f 69 63 65 20 6f 66 20 64 69 63 74 ssion.time.by.the.choice.of.dict
112c0 69 6f 6e 61 72 79 20 73 69 7a 65 20 6c 69 6d 69 74 2e 0a 0a 20 20 20 54 68 65 20 61 6d 6f 75 6e ionary.size.limit......The.amoun
112e0 74 20 6f 66 20 6d 65 6d 6f 72 79 20 72 65 71 75 69 72 65 64 20 66 6f 72 20 63 6f 6d 70 72 65 73 t.of.memory.required.for.compres
11300 73 69 6f 6e 20 69 73 20 61 62 6f 75 74 20 31 20 6f 72 20 32 20 74 69 6d 65 73 20 74 68 65 0a 64 sion.is.about.1.or.2.times.the.d
11320 69 63 74 69 6f 6e 61 72 79 20 73 69 7a 65 20 6c 69 6d 69 74 20 28 31 20 69 66 20 69 6e 70 75 74 ictionary.size.limit.(1.if.input
11340 20 66 69 6c 65 20 73 69 7a 65 20 69 73 20 6c 65 73 73 20 74 68 61 6e 20 64 69 63 74 69 6f 6e 61 .file.size.is.less.than.dictiona
11360 72 79 20 73 69 7a 65 0a 6c 69 6d 69 74 2c 20 65 6c 73 65 20 32 29 20 70 6c 75 73 20 39 20 74 69 ry.size.limit,.else.2).plus.9.ti
11380 6d 65 73 20 74 68 65 20 64 69 63 74 69 6f 6e 61 72 79 20 73 69 7a 65 20 72 65 61 6c 6c 79 20 75 mes.the.dictionary.size.really.u
113a0 73 65 64 2e 20 54 68 65 20 6f 70 74 69 6f 6e 0a 27 2d 30 27 20 69 73 20 73 70 65 63 69 61 6c 20 sed..The.option.'-0'.is.special.
113c0 61 6e 64 20 6f 6e 6c 79 20 72 65 71 75 69 72 65 73 20 61 62 6f 75 74 20 31 2e 35 20 4d 69 42 20 and.only.requires.about.1.5.MiB.
113e0 61 74 20 6d 6f 73 74 2e 20 54 68 65 20 61 6d 6f 75 6e 74 20 6f 66 0a 6d 65 6d 6f 72 79 20 72 65 at.most..The.amount.of.memory.re
11400 71 75 69 72 65 64 20 66 6f 72 20 64 65 63 6f 6d 70 72 65 73 73 69 6f 6e 20 69 73 20 61 62 6f 75 quired.for.decompression.is.abou
11420 74 20 34 36 20 6b 42 20 6c 61 72 67 65 72 20 74 68 61 6e 20 74 68 65 20 64 69 63 74 69 6f 6e 61 t.46.kB.larger.than.the.dictiona
11440 72 79 0a 73 69 7a 65 20 72 65 61 6c 6c 79 20 75 73 65 64 2e 0a 0a 20 20 20 57 68 65 6e 20 63 6f ry.size.really.used......When.co
11460 6d 70 72 65 73 73 69 6e 67 2c 20 6c 7a 69 70 20 72 65 70 6c 61 63 65 73 20 65 76 65 72 79 20 66 mpressing,.lzip.replaces.every.f
11480 69 6c 65 20 67 69 76 65 6e 20 69 6e 20 74 68 65 20 63 6f 6d 6d 61 6e 64 20 6c 69 6e 65 0a 77 69 ile.given.in.the.command.line.wi
114a0 74 68 20 61 20 63 6f 6d 70 72 65 73 73 65 64 20 76 65 72 73 69 6f 6e 20 6f 66 20 69 74 73 65 6c th.a.compressed.version.of.itsel
114c0 66 2c 20 77 69 74 68 20 74 68 65 20 6e 61 6d 65 20 22 6f 72 69 67 69 6e 61 6c 5f 6e 61 6d 65 2e f,.with.the.name."original_name.
114e0 6c 7a 22 2e 20 57 68 65 6e 0a 64 65 63 6f 6d 70 72 65 73 73 69 6e 67 2c 20 6c 7a 69 70 20 61 74 lz"..When.decompressing,.lzip.at
11500 74 65 6d 70 74 73 20 74 6f 20 67 75 65 73 73 20 74 68 65 20 6e 61 6d 65 20 66 6f 72 20 74 68 65 tempts.to.guess.the.name.for.the
11520 20 64 65 63 6f 6d 70 72 65 73 73 65 64 20 66 69 6c 65 0a 66 72 6f 6d 20 74 68 61 74 20 6f 66 20 .decompressed.file.from.that.of.
11540 74 68 65 20 63 6f 6d 70 72 65 73 73 65 64 20 66 69 6c 65 20 61 73 20 66 6f 6c 6c 6f 77 73 3a 0a the.compressed.file.as.follows:.
11560 0a 66 69 6c 65 6e 61 6d 65 2e 6c 7a 20 20 20 20 62 65 63 6f 6d 65 73 20 20 20 66 69 6c 65 6e 61 .filename.lz....becomes...filena
11580 6d 65 0a 66 69 6c 65 6e 61 6d 65 2e 74 6c 7a 20 20 20 62 65 63 6f 6d 65 73 20 20 20 66 69 6c 65 me.filename.tlz...becomes...file
115a0 6e 61 6d 65 2e 74 61 72 0a 61 6e 79 6f 74 68 65 72 6e 61 6d 65 20 20 20 62 65 63 6f 6d 65 73 20 name.tar.anyothername...becomes.
115c0 20 20 61 6e 79 6f 74 68 65 72 6e 61 6d 65 2e 6f 75 74 0a 0a 20 20 20 28 44 65 29 63 6f 6d 70 72 ..anyothername.out.....(De)compr
115e0 65 73 73 69 6e 67 20 61 20 66 69 6c 65 20 69 73 20 6d 75 63 68 20 6c 69 6b 65 20 63 6f 70 79 69 essing.a.file.is.much.like.copyi
11600 6e 67 20 6f 72 20 6d 6f 76 69 6e 67 20 69 74 3b 20 74 68 65 72 65 66 6f 72 65 20 6c 7a 69 70 0a ng.or.moving.it;.therefore.lzip.
11620 70 72 65 73 65 72 76 65 73 20 74 68 65 20 61 63 63 65 73 73 20 61 6e 64 20 6d 6f 64 69 66 69 63 preserves.the.access.and.modific
11640 61 74 69 6f 6e 20 64 61 74 65 73 2c 20 70 65 72 6d 69 73 73 69 6f 6e 73 2c 20 61 6e 64 2c 20 77 ation.dates,.permissions,.and,.w
11660 68 65 6e 0a 70 6f 73 73 69 62 6c 65 2c 20 6f 77 6e 65 72 73 68 69 70 20 6f 66 20 74 68 65 20 66 hen.possible,.ownership.of.the.f
11680 69 6c 65 20 6a 75 73 74 20 61 73 20 27 63 70 20 2d 70 27 20 64 6f 65 73 2e 20 28 49 66 20 74 68 ile.just.as.'cp.-p'.does..(If.th
116a0 65 20 75 73 65 72 20 49 44 20 6f 72 0a 74 68 65 20 67 72 6f 75 70 20 49 44 20 63 61 6e 27 74 20 e.user.ID.or.the.group.ID.can't.
116c0 62 65 20 64 75 70 6c 69 63 61 74 65 64 2c 20 74 68 65 20 66 69 6c 65 20 70 65 72 6d 69 73 73 69 be.duplicated,.the.file.permissi
116e0 6f 6e 20 62 69 74 73 20 53 5f 49 53 55 49 44 20 61 6e 64 0a 53 5f 49 53 47 49 44 20 61 72 65 20 on.bits.S_ISUID.and.S_ISGID.are.
11700 63 6c 65 61 72 65 64 29 2e 0a 0a 20 20 20 4c 7a 69 70 20 69 73 20 61 62 6c 65 20 74 6f 20 72 65 cleared)......Lzip.is.able.to.re
11720 61 64 20 66 72 6f 6d 20 73 6f 6d 65 20 74 79 70 65 73 20 6f 66 20 6e 6f 6e 2d 72 65 67 75 6c 61 ad.from.some.types.of.non-regula
11740 72 20 66 69 6c 65 73 20 69 66 20 65 69 74 68 65 72 20 74 68 65 0a 6f 70 74 69 6f 6e 20 27 2d 63 r.files.if.either.the.option.'-c
11760 27 20 6f 72 20 74 68 65 20 6f 70 74 69 6f 6e 20 27 2d 6f 27 20 69 73 20 73 70 65 63 69 66 69 65 '.or.the.option.'-o'.is.specifie
11780 64 2e 0a 0a 20 20 20 4c 7a 69 70 20 77 69 6c 6c 20 72 65 66 75 73 65 20 74 6f 20 72 65 61 64 20 d......Lzip.will.refuse.to.read.
117a0 63 6f 6d 70 72 65 73 73 65 64 20 64 61 74 61 20 66 72 6f 6d 20 61 20 74 65 72 6d 69 6e 61 6c 20 compressed.data.from.a.terminal.
117c0 6f 72 20 77 72 69 74 65 0a 63 6f 6d 70 72 65 73 73 65 64 20 64 61 74 61 20 74 6f 20 61 20 74 65 or.write.compressed.data.to.a.te
117e0 72 6d 69 6e 61 6c 2c 20 61 73 20 74 68 69 73 20 77 6f 75 6c 64 20 62 65 20 65 6e 74 69 72 65 6c rminal,.as.this.would.be.entirel
11800 79 20 69 6e 63 6f 6d 70 72 65 68 65 6e 73 69 62 6c 65 0a 61 6e 64 20 6d 69 67 68 74 20 6c 65 61 y.incomprehensible.and.might.lea
11820 76 65 20 74 68 65 20 74 65 72 6d 69 6e 61 6c 20 69 6e 20 61 6e 20 61 62 6e 6f 72 6d 61 6c 20 73 ve.the.terminal.in.an.abnormal.s
11840 74 61 74 65 2e 0a 0a 20 20 20 4c 7a 69 70 20 77 69 6c 6c 20 63 6f 72 72 65 63 74 6c 79 20 64 65 tate......Lzip.will.correctly.de
11860 63 6f 6d 70 72 65 73 73 20 61 20 66 69 6c 65 20 77 68 69 63 68 20 69 73 20 74 68 65 20 63 6f 6e compress.a.file.which.is.the.con
11880 63 61 74 65 6e 61 74 69 6f 6e 20 6f 66 20 74 77 6f 0a 6f 72 20 6d 6f 72 65 20 63 6f 6d 70 72 65 catenation.of.two.or.more.compre
118a0 73 73 65 64 20 66 69 6c 65 73 2e 20 54 68 65 20 72 65 73 75 6c 74 20 69 73 20 74 68 65 20 63 6f ssed.files..The.result.is.the.co
118c0 6e 63 61 74 65 6e 61 74 69 6f 6e 20 6f 66 20 74 68 65 0a 63 6f 72 72 65 73 70 6f 6e 64 69 6e 67 ncatenation.of.the.corresponding
118e0 20 64 65 63 6f 6d 70 72 65 73 73 65 64 20 66 69 6c 65 73 2e 20 49 6e 74 65 67 72 69 74 79 20 74 .decompressed.files..Integrity.t
11900 65 73 74 69 6e 67 20 6f 66 20 63 6f 6e 63 61 74 65 6e 61 74 65 64 0a 63 6f 6d 70 72 65 73 73 65 esting.of.concatenated.compresse
11920 64 20 66 69 6c 65 73 20 69 73 20 61 6c 73 6f 20 73 75 70 70 6f 72 74 65 64 2e 0a 0a 20 20 20 4c d.files.is.also.supported......L
11940 7a 69 70 20 63 61 6e 20 70 72 6f 64 75 63 65 20 6d 75 6c 74 69 6d 65 6d 62 65 72 20 66 69 6c 65 zip.can.produce.multimember.file
11960 73 2c 20 61 6e 64 20 6c 7a 69 70 72 65 63 6f 76 65 72 20 63 61 6e 20 73 61 66 65 6c 79 20 72 65 s,.and.lziprecover.can.safely.re
11980 63 6f 76 65 72 0a 74 68 65 20 75 6e 64 61 6d 61 67 65 64 20 6d 65 6d 62 65 72 73 20 69 6e 20 63 cover.the.undamaged.members.in.c
119a0 61 73 65 20 6f 66 20 66 69 6c 65 20 64 61 6d 61 67 65 2e 20 4c 7a 69 70 20 63 61 6e 20 61 6c 73 ase.of.file.damage..Lzip.can.als
119c0 6f 20 73 70 6c 69 74 20 74 68 65 0a 63 6f 6d 70 72 65 73 73 65 64 20 6f 75 74 70 75 74 20 69 6e o.split.the.compressed.output.in
119e0 20 76 6f 6c 75 6d 65 73 20 6f 66 20 61 20 67 69 76 65 6e 20 73 69 7a 65 2c 20 65 76 65 6e 20 77 .volumes.of.a.given.size,.even.w
11a00 68 65 6e 20 72 65 61 64 69 6e 67 20 66 72 6f 6d 0a 73 74 61 6e 64 61 72 64 20 69 6e 70 75 74 2e hen.reading.from.standard.input.
11a20 20 54 68 69 73 20 61 6c 6c 6f 77 73 20 74 68 65 20 64 69 72 65 63 74 20 63 72 65 61 74 69 6f 6e .This.allows.the.direct.creation
11a40 20 6f 66 20 6d 75 6c 74 69 76 6f 6c 75 6d 65 20 63 6f 6d 70 72 65 73 73 65 64 0a 74 61 72 20 61 .of.multivolume.compressed.tar.a
11a60 72 63 68 69 76 65 73 2e 0a 0a 20 20 20 4c 7a 69 70 20 69 73 20 61 62 6c 65 20 74 6f 20 63 6f 6d rchives......Lzip.is.able.to.com
11a80 70 72 65 73 73 20 61 6e 64 20 64 65 63 6f 6d 70 72 65 73 73 20 73 74 72 65 61 6d 73 20 6f 66 20 press.and.decompress.streams.of.
11aa0 75 6e 6c 69 6d 69 74 65 64 20 73 69 7a 65 20 62 79 0a 61 75 74 6f 6d 61 74 69 63 61 6c 6c 79 20 unlimited.size.by.automatically.
11ac0 63 72 65 61 74 69 6e 67 20 6d 75 6c 74 69 6d 65 6d 62 65 72 20 6f 75 74 70 75 74 2e 20 54 68 65 creating.multimember.output..The
11ae0 20 6d 65 6d 62 65 72 73 20 73 6f 20 63 72 65 61 74 65 64 20 61 72 65 20 6c 61 72 67 65 2c 0a 61 .members.so.created.are.large,.a
11b00 62 6f 75 74 20 32 20 50 69 42 20 65 61 63 68 2e 0a 0a 1f 0a 46 69 6c 65 3a 20 6c 7a 69 70 2e 69 bout.2.PiB.each.....File:.lzip.i
11b20 6e 66 6f 2c 20 20 4e 6f 64 65 3a 20 4f 75 74 70 75 74 2c 20 20 4e 65 78 74 3a 20 49 6e 76 6f 6b nfo,..Node:.Output,..Next:.Invok
11b40 69 6e 67 20 6c 7a 69 70 2c 20 20 50 72 65 76 3a 20 49 6e 74 72 6f 64 75 63 74 69 6f 6e 2c 20 20 ing.lzip,..Prev:.Introduction,..
11b60 55 70 3a 20 54 6f 70 0a 0a 32 20 4d 65 61 6e 69 6e 67 20 6f 66 20 6c 7a 69 70 27 73 20 6f 75 74 Up:.Top..2.Meaning.of.lzip's.out
11b80 70 75 74 0a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 0a 0a put.**************************..
11ba0 54 68 65 20 6f 75 74 70 75 74 20 6f 66 20 6c 7a 69 70 20 6c 6f 6f 6b 73 20 6c 69 6b 65 20 74 68 The.output.of.lzip.looks.like.th
11bc0 69 73 3a 0a 0a 20 20 20 20 20 6c 7a 69 70 20 2d 76 20 66 6f 6f 0a 20 20 20 20 20 20 20 66 6f 6f is:.......lzip.-v.foo........foo
11be0 3a 20 20 36 2e 36 37 36 3a 31 2c 20 31 34 2e 39 38 25 20 72 61 74 69 6f 2c 20 38 35 2e 30 32 25 :..6.676:1,.14.98%.ratio,.85.02%
11c00 20 73 61 76 65 64 2c 20 34 35 30 35 36 30 20 69 6e 2c 20 36 37 34 39 33 20 6f 75 74 2e 0a 0a 20 .saved,.450560.in,.67493.out....
11c20 20 20 20 20 6c 7a 69 70 20 2d 74 76 76 76 20 66 6f 6f 2e 6c 7a 0a 20 20 20 20 20 20 20 66 6f 6f ....lzip.-tvvv.foo.lz........foo
11c40 2e 6c 7a 3a 20 20 36 2e 36 37 36 3a 31 2c 20 31 34 2e 39 38 25 20 72 61 74 69 6f 2c 20 38 35 2e .lz:..6.676:1,.14.98%.ratio,.85.
11c60 30 32 25 20 73 61 76 65 64 2e 20 20 34 35 30 35 36 30 20 6f 75 74 2c 20 20 36 37 34 39 33 20 69 02%.saved...450560.out,..67493.i
11c80 6e 2e 20 6f 6b 0a 0a 20 20 20 54 68 65 20 6d 65 61 6e 69 6e 67 20 6f 66 20 65 61 63 68 20 66 69 n..ok.....The.meaning.of.each.fi
11ca0 65 6c 64 20 69 73 20 61 73 20 66 6f 6c 6c 6f 77 73 3a 0a 0a 27 4e 3a 31 27 0a 20 20 20 20 20 54 eld.is.as.follows:..'N:1'......T
11cc0 68 65 20 63 6f 6d 70 72 65 73 73 69 6f 6e 20 72 61 74 69 6f 20 28 75 6e 63 6f 6d 70 72 65 73 73 he.compression.ratio.(uncompress
11ce0 65 64 5f 73 69 7a 65 20 2f 20 63 6f 6d 70 72 65 73 73 65 64 5f 73 69 7a 65 29 2c 20 73 68 6f 77 ed_size./.compressed_size),.show
11d00 6e 20 61 73 0a 20 20 20 20 20 4e 20 74 6f 20 31 2e 0a 0a 27 72 61 74 69 6f 27 0a 20 20 20 20 20 n.as......N.to.1...'ratio'......
11d20 54 68 65 20 69 6e 76 65 72 73 65 20 63 6f 6d 70 72 65 73 73 69 6f 6e 20 72 61 74 69 6f 20 28 63 The.inverse.compression.ratio.(c
11d40 6f 6d 70 72 65 73 73 65 64 5f 73 69 7a 65 20 2f 20 75 6e 63 6f 6d 70 72 65 73 73 65 64 5f 73 69 ompressed_size./.uncompressed_si
11d60 7a 65 29 2c 0a 20 20 20 20 20 73 68 6f 77 6e 20 61 73 20 61 20 70 65 72 63 65 6e 74 61 67 65 2e ze),......shown.as.a.percentage.
11d80 20 41 20 64 65 63 69 6d 61 6c 20 72 61 74 69 6f 20 69 73 20 65 61 73 69 6c 79 20 6f 62 74 61 69 .A.decimal.ratio.is.easily.obtai
11da0 6e 65 64 20 62 79 20 6d 6f 76 69 6e 67 20 74 68 65 0a 20 20 20 20 20 64 65 63 69 6d 61 6c 20 70 ned.by.moving.the......decimal.p
11dc0 6f 69 6e 74 20 74 77 6f 20 70 6c 61 63 65 73 20 74 6f 20 74 68 65 20 6c 65 66 74 3b 20 31 34 2e oint.two.places.to.the.left;.14.
11de0 39 38 25 20 3d 20 30 2e 31 34 39 38 2e 0a 0a 27 73 61 76 65 64 27 0a 20 20 20 20 20 54 68 65 20 98%.=.0.1498...'saved'......The.
11e00 73 70 61 63 65 20 73 61 76 65 64 20 62 79 20 63 6f 6d 70 72 65 73 73 69 6f 6e 20 28 31 20 2d 20 space.saved.by.compression.(1.-.
11e20 72 61 74 69 6f 29 2c 20 73 68 6f 77 6e 20 61 73 20 61 20 70 65 72 63 65 6e 74 61 67 65 2e 0a 0a ratio),.shown.as.a.percentage...
11e40 27 69 6e 27 0a 20 20 20 20 20 53 69 7a 65 20 6f 66 20 74 68 65 20 69 6e 70 75 74 20 64 61 74 61 'in'......Size.of.the.input.data
11e60 2e 20 54 68 69 73 20 69 73 20 74 68 65 20 75 6e 63 6f 6d 70 72 65 73 73 65 64 20 73 69 7a 65 20 ..This.is.the.uncompressed.size.
11e80 77 68 65 6e 0a 20 20 20 20 20 63 6f 6d 70 72 65 73 73 69 6e 67 2c 20 6f 72 20 74 68 65 20 63 6f when......compressing,.or.the.co
11ea0 6d 70 72 65 73 73 65 64 20 73 69 7a 65 20 77 68 65 6e 20 64 65 63 6f 6d 70 72 65 73 73 69 6e 67 mpressed.size.when.decompressing
11ec0 20 6f 72 20 74 65 73 74 69 6e 67 2e 0a 20 20 20 20 20 4e 6f 74 65 20 74 68 61 74 20 6c 7a 69 70 .or.testing.......Note.that.lzip
11ee0 20 61 6c 77 61 79 73 20 70 72 69 6e 74 73 20 74 68 65 20 75 6e 63 6f 6d 70 72 65 73 73 65 64 20 .always.prints.the.uncompressed.
11f00 73 69 7a 65 20 62 65 66 6f 72 65 20 74 68 65 0a 20 20 20 20 20 63 6f 6d 70 72 65 73 73 65 64 20 size.before.the......compressed.
11f20 73 69 7a 65 20 77 68 65 6e 20 63 6f 6d 70 72 65 73 73 69 6e 67 2c 20 64 65 63 6f 6d 70 72 65 73 size.when.compressing,.decompres
11f40 73 69 6e 67 2c 20 74 65 73 74 69 6e 67 2c 20 6f 72 20 6c 69 73 74 69 6e 67 2e 0a 0a 27 6f 75 74 sing,.testing,.or.listing...'out
11f60 27 0a 20 20 20 20 20 53 69 7a 65 20 6f 66 20 74 68 65 20 6f 75 74 70 75 74 20 64 61 74 61 2e 20 '......Size.of.the.output.data..
11f80 54 68 69 73 20 69 73 20 74 68 65 20 63 6f 6d 70 72 65 73 73 65 64 20 73 69 7a 65 20 77 68 65 6e This.is.the.compressed.size.when
11fa0 20 63 6f 6d 70 72 65 73 73 69 6e 67 2c 0a 20 20 20 20 20 6f 72 20 74 68 65 20 64 65 63 6f 6d 70 .compressing,......or.the.decomp
11fc0 72 65 73 73 65 64 20 73 69 7a 65 20 77 68 65 6e 20 64 65 63 6f 6d 70 72 65 73 73 69 6e 67 20 6f ressed.size.when.decompressing.o
11fe0 72 20 74 65 73 74 69 6e 67 2e 0a 0a 0a 20 20 20 57 68 65 6e 20 64 65 63 6f 6d 70 72 65 73 73 69 r.testing.......When.decompressi
12000 6e 67 20 6f 72 20 74 65 73 74 69 6e 67 20 61 74 20 76 65 72 62 6f 73 69 74 79 20 6c 65 76 65 6c ng.or.testing.at.verbosity.level
12020 20 34 20 28 2d 76 76 76 76 29 2c 20 74 68 65 0a 64 69 63 74 69 6f 6e 61 72 79 20 73 69 7a 65 20 .4.(-vvvv),.the.dictionary.size.
12040 75 73 65 64 20 74 6f 20 63 6f 6d 70 72 65 73 73 20 74 68 65 20 66 69 6c 65 20 61 6e 64 20 74 68 used.to.compress.the.file.and.th
12060 65 20 43 52 43 33 32 20 6f 66 20 74 68 65 20 75 6e 63 6f 6d 70 72 65 73 73 65 64 0a 64 61 74 61 e.CRC32.of.the.uncompressed.data
12080 20 61 72 65 20 61 6c 73 6f 20 73 68 6f 77 6e 2e 0a 0a 20 20 20 4c 41 4e 47 55 41 47 45 20 4e 4f .are.also.shown......LANGUAGE.NO
120a0 54 45 3a 20 55 6e 63 6f 6d 70 72 65 73 73 65 64 20 3d 20 6e 6f 74 20 63 6f 6d 70 72 65 73 73 65 TE:.Uncompressed.=.not.compresse
120c0 64 20 3d 20 70 6c 61 69 6e 20 64 61 74 61 3b 20 69 74 20 6d 61 79 20 6e 65 76 65 72 0a 68 61 76 d.=.plain.data;.it.may.never.hav
120e0 65 20 62 65 65 6e 20 63 6f 6d 70 72 65 73 73 65 64 2e 20 44 65 63 6f 6d 70 72 65 73 73 65 64 20 e.been.compressed..Decompressed.
12100 69 73 20 75 73 65 64 20 74 6f 20 72 65 66 65 72 20 74 6f 20 64 61 74 61 20 77 68 69 63 68 20 68 is.used.to.refer.to.data.which.h
12120 61 76 65 0a 75 6e 64 65 72 67 6f 6e 65 20 74 68 65 20 70 72 6f 63 65 73 73 20 6f 66 20 64 65 63 ave.undergone.the.process.of.dec
12140 6f 6d 70 72 65 73 73 69 6f 6e 2e 0a 0a 1f 0a 46 69 6c 65 3a 20 6c 7a 69 70 2e 69 6e 66 6f 2c 20 ompression.....File:.lzip.info,.
12160 20 4e 6f 64 65 3a 20 49 6e 76 6f 6b 69 6e 67 20 6c 7a 69 70 2c 20 20 4e 65 78 74 3a 20 51 75 61 .Node:.Invoking.lzip,..Next:.Qua
12180 6c 69 74 79 20 61 73 73 75 72 61 6e 63 65 2c 20 20 50 72 65 76 3a 20 4f 75 74 70 75 74 2c 20 20 lity.assurance,..Prev:.Output,..
121a0 55 70 3a 20 54 6f 70 0a 0a 33 20 49 6e 76 6f 6b 69 6e 67 20 6c 7a 69 70 0a 2a 2a 2a 2a 2a 2a 2a Up:.Top..3.Invoking.lzip.*******
121c0 2a 2a 2a 2a 2a 2a 2a 2a 0a 0a 54 68 65 20 66 6f 72 6d 61 74 20 66 6f 72 20 72 75 6e 6e 69 6e 67 ********..The.format.for.running
121e0 20 6c 7a 69 70 20 69 73 3a 0a 0a 20 20 20 20 20 6c 7a 69 70 20 5b 4f 50 54 49 4f 4e 53 5d 20 5b .lzip.is:.......lzip.[OPTIONS].[
12200 46 49 4c 45 53 5d 0a 0a 49 66 20 6e 6f 20 66 69 6c 65 20 6e 61 6d 65 73 20 61 72 65 20 73 70 65 FILES]..If.no.file.names.are.spe
12220 63 69 66 69 65 64 2c 20 6c 7a 69 70 20 63 6f 6d 70 72 65 73 73 65 73 20 28 6f 72 20 64 65 63 6f cified,.lzip.compresses.(or.deco
12240 6d 70 72 65 73 73 65 73 29 20 66 72 6f 6d 0a 73 74 61 6e 64 61 72 64 20 69 6e 70 75 74 20 74 6f mpresses).from.standard.input.to
12260 20 73 74 61 6e 64 61 72 64 20 6f 75 74 70 75 74 2e 20 41 20 68 79 70 68 65 6e 20 27 2d 27 20 75 .standard.output..A.hyphen.'-'.u
12280 73 65 64 20 61 73 20 61 20 46 49 4c 45 20 61 72 67 75 6d 65 6e 74 0a 6d 65 61 6e 73 20 73 74 61 sed.as.a.FILE.argument.means.sta
122a0 6e 64 61 72 64 20 69 6e 70 75 74 2e 20 49 74 20 63 61 6e 20 62 65 20 6d 69 78 65 64 20 77 69 74 ndard.input..It.can.be.mixed.wit
122c0 68 20 6f 74 68 65 72 20 46 49 4c 45 53 20 61 6e 64 20 69 73 20 72 65 61 64 20 6a 75 73 74 0a 6f h.other.FILES.and.is.read.just.o
122e0 6e 63 65 2c 20 74 68 65 20 66 69 72 73 74 20 74 69 6d 65 20 69 74 20 61 70 70 65 61 72 73 20 69 nce,.the.first.time.it.appears.i
12300 6e 20 74 68 65 20 63 6f 6d 6d 61 6e 64 20 6c 69 6e 65 2e 0a 0a 20 20 20 6c 7a 69 70 20 73 75 70 n.the.command.line......lzip.sup
12320 70 6f 72 74 73 20 74 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 6f 70 74 69 6f 6e 73 3a 20 2a 4e 6f ports.the.following.options:.*No
12340 74 65 20 41 72 67 75 6d 65 6e 74 20 73 79 6e 74 61 78 3a 0a 28 61 72 67 5f 70 61 72 73 65 72 29 te.Argument.syntax:.(arg_parser)
12360 41 72 67 75 6d 65 6e 74 20 73 79 6e 74 61 78 2e 0a 0a 27 2d 68 27 0a 27 2d 2d 68 65 6c 70 27 0a Argument.syntax...'-h'.'--help'.
12380 20 20 20 20 20 50 72 69 6e 74 20 61 6e 20 69 6e 66 6f 72 6d 61 74 69 76 65 20 68 65 6c 70 20 6d .....Print.an.informative.help.m
123a0 65 73 73 61 67 65 20 64 65 73 63 72 69 62 69 6e 67 20 74 68 65 20 6f 70 74 69 6f 6e 73 20 61 6e essage.describing.the.options.an
123c0 64 20 65 78 69 74 2e 0a 0a 27 2d 56 27 0a 27 2d 2d 76 65 72 73 69 6f 6e 27 0a 20 20 20 20 20 50 d.exit...'-V'.'--version'......P
123e0 72 69 6e 74 20 74 68 65 20 76 65 72 73 69 6f 6e 20 6e 75 6d 62 65 72 20 6f 66 20 6c 7a 69 70 20 rint.the.version.number.of.lzip.
12400 6f 6e 20 74 68 65 20 73 74 61 6e 64 61 72 64 20 6f 75 74 70 75 74 20 61 6e 64 20 65 78 69 74 2e on.the.standard.output.and.exit.
12420 20 54 68 69 73 0a 20 20 20 20 20 76 65 72 73 69 6f 6e 20 6e 75 6d 62 65 72 20 73 68 6f 75 6c 64 .This......version.number.should
12440 20 62 65 20 69 6e 63 6c 75 64 65 64 20 69 6e 20 61 6c 6c 20 62 75 67 20 72 65 70 6f 72 74 73 2e .be.included.in.all.bug.reports.
12460 0a 0a 27 2d 61 27 0a 27 2d 2d 74 72 61 69 6c 69 6e 67 2d 65 72 72 6f 72 27 0a 20 20 20 20 20 45 ..'-a'.'--trailing-error'......E
12480 78 69 74 20 77 69 74 68 20 65 72 72 6f 72 20 73 74 61 74 75 73 20 32 20 69 66 20 61 6e 79 20 72 xit.with.error.status.2.if.any.r
124a0 65 6d 61 69 6e 69 6e 67 20 69 6e 70 75 74 20 69 73 20 64 65 74 65 63 74 65 64 20 61 66 74 65 72 emaining.input.is.detected.after
124c0 0a 20 20 20 20 20 64 65 63 6f 6d 70 72 65 73 73 69 6e 67 20 74 68 65 20 6c 61 73 74 20 6d 65 6d ......decompressing.the.last.mem
124e0 62 65 72 2e 20 53 75 63 68 20 72 65 6d 61 69 6e 69 6e 67 20 69 6e 70 75 74 20 69 73 20 75 73 75 ber..Such.remaining.input.is.usu
12500 61 6c 6c 79 20 74 72 61 69 6c 69 6e 67 0a 20 20 20 20 20 67 61 72 62 61 67 65 20 74 68 61 74 20 ally.trailing......garbage.that.
12520 63 61 6e 20 62 65 20 73 61 66 65 6c 79 20 69 67 6e 6f 72 65 64 2e 20 2a 4e 6f 74 65 20 63 6f 6e can.be.safely.ignored..*Note.con
12540 63 61 74 2d 65 78 61 6d 70 6c 65 3a 3a 2e 0a 0a 27 2d 62 20 42 59 54 45 53 27 0a 27 2d 2d 6d 65 cat-example::...'-b.BYTES'.'--me
12560 6d 62 65 72 2d 73 69 7a 65 3d 42 59 54 45 53 27 0a 20 20 20 20 20 57 68 65 6e 20 63 6f 6d 70 72 mber-size=BYTES'......When.compr
12580 65 73 73 69 6e 67 2c 20 73 65 74 20 74 68 65 20 6d 65 6d 62 65 72 20 73 69 7a 65 20 6c 69 6d 69 essing,.set.the.member.size.limi
125a0 74 20 74 6f 20 42 59 54 45 53 2e 20 49 74 20 69 73 20 61 64 76 69 73 61 62 6c 65 0a 20 20 20 20 t.to.BYTES..It.is.advisable.....
125c0 20 74 6f 20 6b 65 65 70 20 6d 65 6d 62 65 72 73 20 73 6d 61 6c 6c 65 72 20 74 68 61 6e 20 52 41 .to.keep.members.smaller.than.RA
125e0 4d 20 73 69 7a 65 20 73 6f 20 74 68 61 74 20 74 68 65 79 20 63 61 6e 20 62 65 20 72 65 70 61 69 M.size.so.that.they.can.be.repai
12600 72 65 64 20 77 69 74 68 0a 20 20 20 20 20 6c 7a 69 70 72 65 63 6f 76 65 72 20 69 6e 20 63 61 73 red.with......lziprecover.in.cas
12620 65 20 6f 66 20 63 6f 72 72 75 70 74 69 6f 6e 2e 20 41 20 73 6d 61 6c 6c 20 6d 65 6d 62 65 72 20 e.of.corruption..A.small.member.
12640 73 69 7a 65 20 6d 61 79 20 64 65 67 72 61 64 65 0a 20 20 20 20 20 63 6f 6d 70 72 65 73 73 69 6f size.may.degrade......compressio
12660 6e 20 72 61 74 69 6f 2c 20 73 6f 20 75 73 65 20 69 74 20 6f 6e 6c 79 20 77 68 65 6e 20 6e 65 65 n.ratio,.so.use.it.only.when.nee
12680 64 65 64 2e 20 56 61 6c 69 64 20 76 61 6c 75 65 73 20 72 61 6e 67 65 20 66 72 6f 6d 0a 20 20 20 ded..Valid.values.range.from....
126a0 20 20 31 30 30 20 6b 42 20 74 6f 20 32 20 50 69 42 2e 20 44 65 66 61 75 6c 74 73 20 74 6f 20 32 ..100.kB.to.2.PiB..Defaults.to.2
126c0 20 50 69 42 2e 0a 0a 27 2d 63 27 0a 27 2d 2d 73 74 64 6f 75 74 27 0a 20 20 20 20 20 43 6f 6d 70 .PiB...'-c'.'--stdout'......Comp
126e0 72 65 73 73 20 6f 72 20 64 65 63 6f 6d 70 72 65 73 73 20 74 6f 20 73 74 61 6e 64 61 72 64 20 6f ress.or.decompress.to.standard.o
12700 75 74 70 75 74 3b 20 6b 65 65 70 20 69 6e 70 75 74 20 66 69 6c 65 73 20 75 6e 63 68 61 6e 67 65 utput;.keep.input.files.unchange
12720 64 2e 0a 20 20 20 20 20 49 66 20 63 6f 6d 70 72 65 73 73 69 6e 67 20 73 65 76 65 72 61 6c 20 66 d.......If.compressing.several.f
12740 69 6c 65 73 2c 20 65 61 63 68 20 66 69 6c 65 20 69 73 20 63 6f 6d 70 72 65 73 73 65 64 20 69 6e iles,.each.file.is.compressed.in
12760 64 65 70 65 6e 64 65 6e 74 6c 79 2e 0a 20 20 20 20 20 28 54 68 65 20 6f 75 74 70 75 74 20 63 6f dependently.......(The.output.co
12780 6e 73 69 73 74 73 20 6f 66 20 61 20 73 65 71 75 65 6e 63 65 20 6f 66 20 69 6e 64 65 70 65 6e 64 nsists.of.a.sequence.of.independ
127a0 65 6e 74 6c 79 20 63 6f 6d 70 72 65 73 73 65 64 0a 20 20 20 20 20 6d 65 6d 62 65 72 73 29 2e 20 ently.compressed......members)..
127c0 54 68 69 73 20 6f 70 74 69 6f 6e 20 28 6f 72 20 27 2d 6f 27 29 20 69 73 20 6e 65 65 64 65 64 20 This.option.(or.'-o').is.needed.
127e0 77 68 65 6e 20 72 65 61 64 69 6e 67 20 66 72 6f 6d 20 61 20 6e 61 6d 65 64 0a 20 20 20 20 20 70 when.reading.from.a.named......p
12800 69 70 65 20 28 66 69 66 6f 29 20 6f 72 20 66 72 6f 6d 20 61 20 64 65 76 69 63 65 2e 20 55 73 65 ipe.(fifo).or.from.a.device..Use
12820 20 69 74 20 61 6c 73 6f 20 74 6f 20 72 65 63 6f 76 65 72 20 61 73 20 6d 75 63 68 20 6f 66 20 74 .it.also.to.recover.as.much.of.t
12840 68 65 0a 20 20 20 20 20 64 65 63 6f 6d 70 72 65 73 73 65 64 20 64 61 74 61 20 61 73 20 70 6f 73 he......decompressed.data.as.pos
12860 73 69 62 6c 65 20 77 68 65 6e 20 64 65 63 6f 6d 70 72 65 73 73 69 6e 67 20 61 20 63 6f 72 72 75 sible.when.decompressing.a.corru
12880 70 74 20 66 69 6c 65 2e 20 27 2d 63 27 0a 20 20 20 20 20 6f 76 65 72 72 69 64 65 73 20 27 2d 6f pt.file..'-c'......overrides.'-o
128a0 27 20 61 6e 64 20 27 2d 53 27 2e 20 27 2d 63 27 20 68 61 73 20 6e 6f 20 65 66 66 65 63 74 20 77 '.and.'-S'..'-c'.has.no.effect.w
128c0 68 65 6e 20 74 65 73 74 69 6e 67 20 6f 72 20 6c 69 73 74 69 6e 67 2e 0a 0a 27 2d 64 27 0a 27 2d hen.testing.or.listing...'-d'.'-
128e0 2d 64 65 63 6f 6d 70 72 65 73 73 27 0a 20 20 20 20 20 44 65 63 6f 6d 70 72 65 73 73 20 74 68 65 -decompress'......Decompress.the
12900 20 66 69 6c 65 73 20 73 70 65 63 69 66 69 65 64 2e 20 49 66 20 61 20 66 69 6c 65 20 64 6f 65 73 .files.specified..If.a.file.does
12920 20 6e 6f 74 20 65 78 69 73 74 20 6f 72 20 63 61 6e 27 74 20 62 65 0a 20 20 20 20 20 6f 70 65 6e .not.exist.or.can't.be......open
12940 65 64 2c 20 6c 7a 69 70 20 63 6f 6e 74 69 6e 75 65 73 20 64 65 63 6f 6d 70 72 65 73 73 69 6e 67 ed,.lzip.continues.decompressing
12960 20 74 68 65 20 72 65 73 74 20 6f 66 20 74 68 65 20 66 69 6c 65 73 2e 20 49 66 20 61 20 66 69 6c .the.rest.of.the.files..If.a.fil
12980 65 0a 20 20 20 20 20 66 61 69 6c 73 20 74 6f 20 64 65 63 6f 6d 70 72 65 73 73 2c 20 6f 72 20 69 e......fails.to.decompress,.or.i
129a0 73 20 61 20 74 65 72 6d 69 6e 61 6c 2c 20 6c 7a 69 70 20 65 78 69 74 73 20 69 6d 6d 65 64 69 61 s.a.terminal,.lzip.exits.immedia
129c0 74 65 6c 79 20 77 69 74 68 6f 75 74 0a 20 20 20 20 20 64 65 63 6f 6d 70 72 65 73 73 69 6e 67 20 tely.without......decompressing.
129e0 74 68 65 20 72 65 73 74 20 6f 66 20 74 68 65 20 66 69 6c 65 73 2e 0a 0a 27 2d 66 27 0a 27 2d 2d the.rest.of.the.files...'-f'.'--
12a00 66 6f 72 63 65 27 0a 20 20 20 20 20 46 6f 72 63 65 20 6f 76 65 72 77 72 69 74 65 20 6f 66 20 6f force'......Force.overwrite.of.o
12a20 75 74 70 75 74 20 66 69 6c 65 73 2e 0a 0a 27 2d 46 27 0a 27 2d 2d 72 65 63 6f 6d 70 72 65 73 73 utput.files...'-F'.'--recompress
12a40 27 0a 20 20 20 20 20 57 68 65 6e 20 63 6f 6d 70 72 65 73 73 69 6e 67 2c 20 66 6f 72 63 65 20 72 '......When.compressing,.force.r
12a60 65 2d 63 6f 6d 70 72 65 73 73 69 6f 6e 20 6f 66 20 66 69 6c 65 73 20 77 68 6f 73 65 20 6e 61 6d e-compression.of.files.whose.nam
12a80 65 20 61 6c 72 65 61 64 79 20 68 61 73 0a 20 20 20 20 20 74 68 65 20 27 2e 6c 7a 27 20 6f 72 20 e.already.has......the.'.lz'.or.
12aa0 27 2e 74 6c 7a 27 20 73 75 66 66 69 78 2e 0a 0a 27 2d 6b 27 0a 27 2d 2d 6b 65 65 70 27 0a 20 20 '.tlz'.suffix...'-k'.'--keep'...
12ac0 20 20 20 4b 65 65 70 20 28 64 6f 6e 27 74 20 64 65 6c 65 74 65 29 20 69 6e 70 75 74 20 66 69 6c ...Keep.(don't.delete).input.fil
12ae0 65 73 20 64 75 72 69 6e 67 20 63 6f 6d 70 72 65 73 73 69 6f 6e 20 6f 72 20 64 65 63 6f 6d 70 72 es.during.compression.or.decompr
12b00 65 73 73 69 6f 6e 2e 0a 0a 27 2d 6c 27 0a 27 2d 2d 6c 69 73 74 27 0a 20 20 20 20 20 50 72 69 6e ession...'-l'.'--list'......Prin
12b20 74 20 74 68 65 20 75 6e 63 6f 6d 70 72 65 73 73 65 64 20 73 69 7a 65 2c 20 63 6f 6d 70 72 65 73 t.the.uncompressed.size,.compres
12b40 73 65 64 20 73 69 7a 65 2c 20 61 6e 64 20 70 65 72 63 65 6e 74 61 67 65 20 73 61 76 65 64 20 6f sed.size,.and.percentage.saved.o
12b60 66 0a 20 20 20 20 20 74 68 65 20 66 69 6c 65 73 20 73 70 65 63 69 66 69 65 64 2e 20 54 72 61 69 f......the.files.specified..Trai
12b80 6c 69 6e 67 20 64 61 74 61 20 61 72 65 20 69 67 6e 6f 72 65 64 2e 20 54 68 65 20 76 61 6c 75 65 ling.data.are.ignored..The.value
12ba0 73 20 70 72 6f 64 75 63 65 64 0a 20 20 20 20 20 61 72 65 20 63 6f 72 72 65 63 74 20 65 76 65 6e s.produced......are.correct.even
12bc0 20 66 6f 72 20 6d 75 6c 74 69 6d 65 6d 62 65 72 20 66 69 6c 65 73 2e 20 49 66 20 6d 6f 72 65 20 .for.multimember.files..If.more.
12be0 74 68 61 6e 20 6f 6e 65 20 66 69 6c 65 20 69 73 0a 20 20 20 20 20 67 69 76 65 6e 2c 20 61 20 66 than.one.file.is......given,.a.f
12c00 69 6e 61 6c 20 6c 69 6e 65 20 63 6f 6e 74 61 69 6e 69 6e 67 20 74 68 65 20 63 75 6d 75 6c 61 74 inal.line.containing.the.cumulat
12c20 69 76 65 20 73 69 7a 65 73 20 69 73 20 70 72 69 6e 74 65 64 2e 20 57 69 74 68 0a 20 20 20 20 20 ive.sizes.is.printed..With......
12c40 27 2d 76 27 2c 20 74 68 65 20 64 69 63 74 69 6f 6e 61 72 79 20 73 69 7a 65 2c 20 74 68 65 20 6e '-v',.the.dictionary.size,.the.n
12c60 75 6d 62 65 72 20 6f 66 20 6d 65 6d 62 65 72 73 20 69 6e 20 74 68 65 20 66 69 6c 65 2c 20 61 6e umber.of.members.in.the.file,.an
12c80 64 20 74 68 65 0a 20 20 20 20 20 61 6d 6f 75 6e 74 20 6f 66 20 74 72 61 69 6c 69 6e 67 20 64 61 d.the......amount.of.trailing.da
12ca0 74 61 20 28 69 66 20 61 6e 79 29 20 61 72 65 20 61 6c 73 6f 20 70 72 69 6e 74 65 64 2e 20 57 69 ta.(if.any).are.also.printed..Wi
12cc0 74 68 20 27 2d 76 76 27 2c 20 74 68 65 0a 20 20 20 20 20 70 6f 73 69 74 69 6f 6e 73 20 61 6e 64 th.'-vv',.the......positions.and
12ce0 20 73 69 7a 65 73 20 6f 66 20 65 61 63 68 20 6d 65 6d 62 65 72 20 69 6e 20 6d 75 6c 74 69 6d 65 .sizes.of.each.member.in.multime
12d00 6d 62 65 72 20 66 69 6c 65 73 20 61 72 65 20 61 6c 73 6f 0a 20 20 20 20 20 70 72 69 6e 74 65 64 mber.files.are.also......printed
12d20 2e 0a 0a 20 20 20 20 20 27 2d 6c 71 27 20 63 61 6e 20 62 65 20 75 73 65 64 20 74 6f 20 76 65 72 ........'-lq'.can.be.used.to.ver
12d40 69 66 79 20 71 75 69 63 6b 6c 79 20 28 77 69 74 68 6f 75 74 20 64 65 63 6f 6d 70 72 65 73 73 69 ify.quickly.(without.decompressi
12d60 6e 67 29 20 74 68 65 0a 20 20 20 20 20 73 74 72 75 63 74 75 72 61 6c 20 69 6e 74 65 67 72 69 74 ng).the......structural.integrit
12d80 79 20 6f 66 20 74 68 65 20 66 69 6c 65 73 20 73 70 65 63 69 66 69 65 64 2e 20 28 55 73 65 20 27 y.of.the.files.specified..(Use.'
12da0 2d 2d 74 65 73 74 27 20 74 6f 20 76 65 72 69 66 79 0a 20 20 20 20 20 74 68 65 20 64 61 74 61 20 --test'.to.verify......the.data.
12dc0 69 6e 74 65 67 72 69 74 79 29 2e 20 27 2d 61 6c 71 27 20 61 64 64 69 74 69 6f 6e 61 6c 6c 79 20 integrity)..'-alq'.additionally.
12de0 76 65 72 69 66 69 65 73 20 74 68 61 74 20 6e 6f 6e 65 20 6f 66 20 74 68 65 0a 20 20 20 20 20 66 verifies.that.none.of.the......f
12e00 69 6c 65 73 20 73 70 65 63 69 66 69 65 64 20 63 6f 6e 74 61 69 6e 20 74 72 61 69 6c 69 6e 67 20 iles.specified.contain.trailing.
12e20 64 61 74 61 2e 0a 0a 27 2d 6d 20 42 59 54 45 53 27 0a 27 2d 2d 6d 61 74 63 68 2d 6c 65 6e 67 74 data...'-m.BYTES'.'--match-lengt
12e40 68 3d 42 59 54 45 53 27 0a 20 20 20 20 20 57 68 65 6e 20 63 6f 6d 70 72 65 73 73 69 6e 67 2c 20 h=BYTES'......When.compressing,.
12e60 73 65 74 20 74 68 65 20 6d 61 74 63 68 20 6c 65 6e 67 74 68 20 6c 69 6d 69 74 20 69 6e 20 62 79 set.the.match.length.limit.in.by
12e80 74 65 73 2e 20 41 66 74 65 72 20 61 20 6d 61 74 63 68 0a 20 20 20 20 20 74 68 69 73 20 6c 6f 6e tes..After.a.match......this.lon
12ea0 67 20 69 73 20 66 6f 75 6e 64 2c 20 74 68 65 20 73 65 61 72 63 68 20 69 73 20 66 69 6e 69 73 68 g.is.found,.the.search.is.finish
12ec0 65 64 2e 20 56 61 6c 69 64 20 76 61 6c 75 65 73 20 72 61 6e 67 65 20 66 72 6f 6d 20 35 0a 20 20 ed..Valid.values.range.from.5...
12ee0 20 20 20 74 6f 20 32 37 33 2e 20 4c 61 72 67 65 72 20 76 61 6c 75 65 73 20 75 73 75 61 6c 6c 79 ...to.273..Larger.values.usually
12f00 20 67 69 76 65 20 62 65 74 74 65 72 20 63 6f 6d 70 72 65 73 73 69 6f 6e 20 72 61 74 69 6f 73 20 .give.better.compression.ratios.
12f20 62 75 74 20 6c 6f 6e 67 65 72 0a 20 20 20 20 20 63 6f 6d 70 72 65 73 73 69 6f 6e 20 74 69 6d 65 but.longer......compression.time
12f40 73 2e 0a 0a 27 2d 6f 20 46 49 4c 45 27 0a 27 2d 2d 6f 75 74 70 75 74 3d 46 49 4c 45 27 0a 20 20 s...'-o.FILE'.'--output=FILE'...
12f60 20 20 20 49 66 20 27 2d 63 27 20 68 61 73 20 6e 6f 74 20 62 65 65 6e 20 61 6c 73 6f 20 73 70 65 ...If.'-c'.has.not.been.also.spe
12f80 63 69 66 69 65 64 2c 20 77 72 69 74 65 20 74 68 65 20 28 64 65 29 63 6f 6d 70 72 65 73 73 65 64 cified,.write.the.(de)compressed
12fa0 20 6f 75 74 70 75 74 20 74 6f 0a 20 20 20 20 20 46 49 4c 45 3b 20 6b 65 65 70 20 69 6e 70 75 74 .output.to......FILE;.keep.input
12fc0 20 66 69 6c 65 73 20 75 6e 63 68 61 6e 67 65 64 2e 20 49 66 20 63 6f 6d 70 72 65 73 73 69 6e 67 .files.unchanged..If.compressing
12fe0 20 73 65 76 65 72 61 6c 20 66 69 6c 65 73 2c 20 65 61 63 68 0a 20 20 20 20 20 66 69 6c 65 20 69 .several.files,.each......file.i
13000 73 20 63 6f 6d 70 72 65 73 73 65 64 20 69 6e 64 65 70 65 6e 64 65 6e 74 6c 79 2e 20 28 54 68 65 s.compressed.independently..(The
13020 20 6f 75 74 70 75 74 20 63 6f 6e 73 69 73 74 73 20 6f 66 20 61 20 73 65 71 75 65 6e 63 65 20 6f .output.consists.of.a.sequence.o
13040 66 0a 20 20 20 20 20 69 6e 64 65 70 65 6e 64 65 6e 74 6c 79 20 63 6f 6d 70 72 65 73 73 65 64 20 f......independently.compressed.
13060 6d 65 6d 62 65 72 73 29 2e 20 54 68 69 73 20 6f 70 74 69 6f 6e 20 28 6f 72 20 27 2d 63 27 29 20 members)..This.option.(or.'-c').
13080 69 73 20 6e 65 65 64 65 64 20 77 68 65 6e 0a 20 20 20 20 20 72 65 61 64 69 6e 67 20 66 72 6f 6d is.needed.when......reading.from
130a0 20 61 20 6e 61 6d 65 64 20 70 69 70 65 20 28 66 69 66 6f 29 20 6f 72 20 66 72 6f 6d 20 61 20 64 .a.named.pipe.(fifo).or.from.a.d
130c0 65 76 69 63 65 2e 20 27 2d 6f 20 2d 27 20 69 73 0a 20 20 20 20 20 65 71 75 69 76 61 6c 65 6e 74 evice..'-o.-'.is......equivalent
130e0 20 74 6f 20 27 2d 63 27 2e 20 27 2d 6f 27 20 68 61 73 20 6e 6f 20 65 66 66 65 63 74 20 77 68 65 .to.'-c'..'-o'.has.no.effect.whe
13100 6e 20 74 65 73 74 69 6e 67 20 6f 72 20 6c 69 73 74 69 6e 67 2e 0a 0a 20 20 20 20 20 49 6e 20 6f n.testing.or.listing........In.o
13120 72 64 65 72 20 74 6f 20 6b 65 65 70 20 62 61 63 6b 77 61 72 64 20 63 6f 6d 70 61 74 69 62 69 6c rder.to.keep.backward.compatibil
13140 69 74 79 20 77 69 74 68 20 6c 7a 69 70 20 76 65 72 73 69 6f 6e 73 20 70 72 69 6f 72 20 74 6f 0a ity.with.lzip.versions.prior.to.
13160 20 20 20 20 20 31 2e 32 32 2c 20 77 68 65 6e 20 63 6f 6d 70 72 65 73 73 69 6e 67 20 66 72 6f 6d .....1.22,.when.compressing.from
13180 20 73 74 61 6e 64 61 72 64 20 69 6e 70 75 74 20 61 6e 64 20 6e 6f 20 6f 74 68 65 72 20 66 69 6c .standard.input.and.no.other.fil
131a0 65 20 6e 61 6d 65 73 20 61 72 65 0a 20 20 20 20 20 67 69 76 65 6e 2c 20 74 68 65 20 65 78 74 65 e.names.are......given,.the.exte
131c0 6e 73 69 6f 6e 20 27 2e 6c 7a 27 20 69 73 20 61 70 70 65 6e 64 65 64 20 74 6f 20 46 49 4c 45 20 nsion.'.lz'.is.appended.to.FILE.
131e0 75 6e 6c 65 73 73 20 69 74 20 61 6c 72 65 61 64 79 20 65 6e 64 73 0a 20 20 20 20 20 69 6e 20 27 unless.it.already.ends......in.'
13200 2e 6c 7a 27 20 6f 72 20 27 2e 74 6c 7a 27 2e 20 54 68 69 73 20 66 65 61 74 75 72 65 20 77 69 6c .lz'.or.'.tlz'..This.feature.wil
13220 6c 20 62 65 20 72 65 6d 6f 76 65 64 20 69 6e 20 61 20 66 75 74 75 72 65 20 76 65 72 73 69 6f 6e l.be.removed.in.a.future.version
13240 0a 20 20 20 20 20 6f 66 20 6c 7a 69 70 2e 20 4d 65 61 6e 77 68 69 6c 65 2c 20 72 65 64 69 72 65 ......of.lzip..Meanwhile,.redire
13260 63 74 69 6f 6e 20 6d 61 79 20 62 65 20 75 73 65 64 20 69 6e 73 74 65 61 64 20 6f 66 20 27 2d 6f ction.may.be.used.instead.of.'-o
13280 27 20 74 6f 20 77 72 69 74 65 0a 20 20 20 20 20 74 68 65 20 63 6f 6d 70 72 65 73 73 65 64 20 6f '.to.write......the.compressed.o
132a0 75 74 70 75 74 20 74 6f 20 61 20 66 69 6c 65 20 77 69 74 68 6f 75 74 20 74 68 65 20 65 78 74 65 utput.to.a.file.without.the.exte
132c0 6e 73 69 6f 6e 20 27 2e 6c 7a 27 20 69 6e 20 69 74 73 0a 20 20 20 20 20 6e 61 6d 65 3a 20 27 6c nsion.'.lz'.in.its......name:.'l
132e0 7a 69 70 20 3c 20 66 69 6c 65 20 3e 20 66 6f 6f 27 2e 0a 0a 20 20 20 20 20 57 68 65 6e 20 63 6f zip.<.file.>.foo'........When.co
13300 6d 70 72 65 73 73 69 6e 67 20 61 6e 64 20 73 70 6c 69 74 74 69 6e 67 20 74 68 65 20 6f 75 74 70 mpressing.and.splitting.the.outp
13320 75 74 20 69 6e 20 76 6f 6c 75 6d 65 73 2c 20 46 49 4c 45 20 69 73 20 75 73 65 64 20 61 73 0a 20 ut.in.volumes,.FILE.is.used.as..
13340 20 20 20 20 61 20 70 72 65 66 69 78 2c 20 61 6e 64 20 73 65 76 65 72 61 6c 20 66 69 6c 65 73 20 ....a.prefix,.and.several.files.
13360 6e 61 6d 65 64 20 27 46 49 4c 45 30 30 30 30 31 2e 6c 7a 27 2c 20 27 46 49 4c 45 30 30 30 30 32 named.'FILE00001.lz',.'FILE00002
13380 2e 6c 7a 27 2c 20 65 74 63 2c 0a 20 20 20 20 20 61 72 65 20 63 72 65 61 74 65 64 2e 20 49 6e 20 .lz',.etc,......are.created..In.
133a0 74 68 69 73 20 63 61 73 65 2c 20 6f 6e 6c 79 20 6f 6e 65 20 69 6e 70 75 74 20 66 69 6c 65 20 69 this.case,.only.one.input.file.i
133c0 73 20 61 6c 6c 6f 77 65 64 2e 0a 0a 27 2d 71 27 0a 27 2d 2d 71 75 69 65 74 27 0a 20 20 20 20 20 s.allowed...'-q'.'--quiet'......
133e0 51 75 69 65 74 20 6f 70 65 72 61 74 69 6f 6e 2e 20 53 75 70 70 72 65 73 73 20 61 6c 6c 20 6d 65 Quiet.operation..Suppress.all.me
13400 73 73 61 67 65 73 2e 0a 0a 27 2d 73 20 42 59 54 45 53 27 0a 27 2d 2d 64 69 63 74 69 6f 6e 61 72 ssages...'-s.BYTES'.'--dictionar
13420 79 2d 73 69 7a 65 3d 42 59 54 45 53 27 0a 20 20 20 20 20 57 68 65 6e 20 63 6f 6d 70 72 65 73 73 y-size=BYTES'......When.compress
13440 69 6e 67 2c 20 73 65 74 20 74 68 65 20 64 69 63 74 69 6f 6e 61 72 79 20 73 69 7a 65 20 6c 69 6d ing,.set.the.dictionary.size.lim
13460 69 74 20 69 6e 20 62 79 74 65 73 2e 20 4c 7a 69 70 20 77 69 6c 6c 20 75 73 65 0a 20 20 20 20 20 it.in.bytes..Lzip.will.use......
13480 66 6f 72 20 65 61 63 68 20 66 69 6c 65 20 74 68 65 20 6c 61 72 67 65 73 74 20 64 69 63 74 69 6f for.each.file.the.largest.dictio
134a0 6e 61 72 79 20 73 69 7a 65 20 74 68 61 74 20 64 6f 65 73 20 6e 6f 74 20 65 78 63 65 65 64 20 6e nary.size.that.does.not.exceed.n
134c0 65 69 74 68 65 72 0a 20 20 20 20 20 74 68 65 20 66 69 6c 65 20 73 69 7a 65 20 6e 6f 72 20 74 68 either......the.file.size.nor.th
134e0 69 73 20 6c 69 6d 69 74 2e 20 56 61 6c 69 64 20 76 61 6c 75 65 73 20 72 61 6e 67 65 20 66 72 6f is.limit..Valid.values.range.fro
13500 6d 20 34 20 4b 69 42 20 74 6f 0a 20 20 20 20 20 35 31 32 20 4d 69 42 2e 20 56 61 6c 75 65 73 20 m.4.KiB.to......512.MiB..Values.
13520 31 32 20 74 6f 20 32 39 20 61 72 65 20 69 6e 74 65 72 70 72 65 74 65 64 20 61 73 20 70 6f 77 65 12.to.29.are.interpreted.as.powe
13540 72 73 20 6f 66 20 74 77 6f 2c 20 6d 65 61 6e 69 6e 67 0a 20 20 20 20 20 32 5e 31 32 20 74 6f 20 rs.of.two,.meaning......2^12.to.
13560 32 5e 32 39 20 62 79 74 65 73 2e 20 44 69 63 74 69 6f 6e 61 72 79 20 73 69 7a 65 73 20 61 72 65 2^29.bytes..Dictionary.sizes.are
13580 20 71 75 61 6e 74 69 7a 65 64 20 73 6f 20 74 68 61 74 20 74 68 65 79 20 63 61 6e 20 62 65 0a 20 .quantized.so.that.they.can.be..
135a0 20 20 20 20 63 6f 64 65 64 20 69 6e 20 6a 75 73 74 20 6f 6e 65 20 62 79 74 65 20 28 2a 6e 6f 74 ....coded.in.just.one.byte.(*not
135c0 65 20 63 6f 64 65 64 2d 64 69 63 74 2d 73 69 7a 65 3a 3a 29 2e 20 49 66 20 74 68 65 20 73 69 7a e.coded-dict-size::)..If.the.siz
135e0 65 20 73 70 65 63 69 66 69 65 64 0a 20 20 20 20 20 64 6f 65 73 20 6e 6f 74 20 6d 61 74 63 68 20 e.specified......does.not.match.
13600 6f 6e 65 20 6f 66 20 74 68 65 20 76 61 6c 69 64 20 73 69 7a 65 73 2c 20 69 74 20 77 69 6c 6c 20 one.of.the.valid.sizes,.it.will.
13620 62 65 20 72 6f 75 6e 64 65 64 20 75 70 77 61 72 64 73 20 62 79 0a 20 20 20 20 20 61 64 64 69 6e be.rounded.upwards.by......addin
13640 67 20 75 70 20 74 6f 20 28 42 59 54 45 53 20 2f 20 38 29 20 74 6f 20 69 74 2e 0a 0a 20 20 20 20 g.up.to.(BYTES./.8).to.it.......
13660 20 46 6f 72 20 6d 61 78 69 6d 75 6d 20 63 6f 6d 70 72 65 73 73 69 6f 6e 20 79 6f 75 20 73 68 6f .For.maximum.compression.you.sho
13680 75 6c 64 20 75 73 65 20 61 20 64 69 63 74 69 6f 6e 61 72 79 20 73 69 7a 65 20 6c 69 6d 69 74 20 uld.use.a.dictionary.size.limit.
136a0 61 73 20 6c 61 72 67 65 0a 20 20 20 20 20 61 73 20 70 6f 73 73 69 62 6c 65 2c 20 62 75 74 20 6b as.large......as.possible,.but.k
136c0 65 65 70 20 69 6e 20 6d 69 6e 64 20 74 68 61 74 20 74 68 65 20 64 65 63 6f 6d 70 72 65 73 73 69 eep.in.mind.that.the.decompressi
136e0 6f 6e 20 6d 65 6d 6f 72 79 20 72 65 71 75 69 72 65 6d 65 6e 74 0a 20 20 20 20 20 69 73 20 61 66 on.memory.requirement......is.af
13700 66 65 63 74 65 64 20 61 74 20 63 6f 6d 70 72 65 73 73 69 6f 6e 20 74 69 6d 65 20 62 79 20 74 68 fected.at.compression.time.by.th
13720 65 20 63 68 6f 69 63 65 20 6f 66 20 64 69 63 74 69 6f 6e 61 72 79 20 73 69 7a 65 20 6c 69 6d 69 e.choice.of.dictionary.size.limi
13740 74 2e 0a 0a 27 2d 53 20 42 59 54 45 53 27 0a 27 2d 2d 76 6f 6c 75 6d 65 2d 73 69 7a 65 3d 42 59 t...'-S.BYTES'.'--volume-size=BY
13760 54 45 53 27 0a 20 20 20 20 20 57 68 65 6e 20 63 6f 6d 70 72 65 73 73 69 6e 67 2c 20 61 6e 64 20 TES'......When.compressing,.and.
13780 27 2d 63 27 20 68 61 73 20 6e 6f 74 20 62 65 65 6e 20 61 6c 73 6f 20 73 70 65 63 69 66 69 65 64 '-c'.has.not.been.also.specified
137a0 2c 20 73 70 6c 69 74 20 74 68 65 0a 20 20 20 20 20 63 6f 6d 70 72 65 73 73 65 64 20 6f 75 74 70 ,.split.the......compressed.outp
137c0 75 74 20 69 6e 74 6f 20 73 65 76 65 72 61 6c 20 76 6f 6c 75 6d 65 20 66 69 6c 65 73 20 77 69 74 ut.into.several.volume.files.wit
137e0 68 20 6e 61 6d 65 73 0a 20 20 20 20 20 27 6f 72 69 67 69 6e 61 6c 5f 6e 61 6d 65 30 30 30 30 31 h.names......'original_name00001
13800 2e 6c 7a 27 2c 20 27 6f 72 69 67 69 6e 61 6c 5f 6e 61 6d 65 30 30 30 30 32 2e 6c 7a 27 2c 20 65 .lz',.'original_name00002.lz',.e
13820 74 63 2c 20 61 6e 64 20 73 65 74 20 74 68 65 0a 20 20 20 20 20 76 6f 6c 75 6d 65 20 73 69 7a 65 tc,.and.set.the......volume.size
13840 20 6c 69 6d 69 74 20 74 6f 20 42 59 54 45 53 2e 20 49 6e 70 75 74 20 66 69 6c 65 73 20 61 72 65 .limit.to.BYTES..Input.files.are
13860 20 6b 65 70 74 20 75 6e 63 68 61 6e 67 65 64 2e 20 45 61 63 68 0a 20 20 20 20 20 76 6f 6c 75 6d .kept.unchanged..Each......volum
13880 65 20 69 73 20 61 20 63 6f 6d 70 6c 65 74 65 2c 20 6d 61 79 62 65 20 6d 75 6c 74 69 6d 65 6d 62 e.is.a.complete,.maybe.multimemb
138a0 65 72 2c 20 6c 7a 69 70 20 66 69 6c 65 2e 20 41 20 73 6d 61 6c 6c 20 76 6f 6c 75 6d 65 0a 20 20 er,.lzip.file..A.small.volume...
138c0 20 20 20 73 69 7a 65 20 6d 61 79 20 64 65 67 72 61 64 65 20 63 6f 6d 70 72 65 73 73 69 6f 6e 20 ...size.may.degrade.compression.
138e0 72 61 74 69 6f 2c 20 73 6f 20 75 73 65 20 69 74 20 6f 6e 6c 79 20 77 68 65 6e 20 6e 65 65 64 65 ratio,.so.use.it.only.when.neede
13900 64 2e 20 56 61 6c 69 64 0a 20 20 20 20 20 76 61 6c 75 65 73 20 72 61 6e 67 65 20 66 72 6f 6d 20 d..Valid......values.range.from.
13920 31 30 30 20 6b 42 20 74 6f 20 34 20 45 69 42 2e 0a 0a 27 2d 74 27 0a 27 2d 2d 74 65 73 74 27 0a 100.kB.to.4.EiB...'-t'.'--test'.
13940 20 20 20 20 20 43 68 65 63 6b 20 69 6e 74 65 67 72 69 74 79 20 6f 66 20 74 68 65 20 66 69 6c 65 .....Check.integrity.of.the.file
13960 73 20 73 70 65 63 69 66 69 65 64 2c 20 62 75 74 20 64 6f 6e 27 74 20 64 65 63 6f 6d 70 72 65 73 s.specified,.but.don't.decompres
13980 73 20 74 68 65 6d 2e 20 54 68 69 73 0a 20 20 20 20 20 72 65 61 6c 6c 79 20 70 65 72 66 6f 72 6d s.them..This......really.perform
139a0 73 20 61 20 74 72 69 61 6c 20 64 65 63 6f 6d 70 72 65 73 73 69 6f 6e 20 61 6e 64 20 74 68 72 6f s.a.trial.decompression.and.thro
139c0 77 73 20 61 77 61 79 20 74 68 65 20 72 65 73 75 6c 74 2e 20 55 73 65 0a 20 20 20 20 20 69 74 20 ws.away.the.result..Use......it.
139e0 74 6f 67 65 74 68 65 72 20 77 69 74 68 20 27 2d 76 27 20 74 6f 20 73 65 65 20 69 6e 66 6f 72 6d together.with.'-v'.to.see.inform
13a00 61 74 69 6f 6e 20 61 62 6f 75 74 20 74 68 65 20 66 69 6c 65 73 2e 20 49 66 20 61 20 66 69 6c 65 ation.about.the.files..If.a.file
13a20 0a 20 20 20 20 20 66 61 69 6c 73 20 74 68 65 20 74 65 73 74 2c 20 64 6f 65 73 20 6e 6f 74 20 65 ......fails.the.test,.does.not.e
13a40 78 69 73 74 2c 20 63 61 6e 27 74 20 62 65 20 6f 70 65 6e 65 64 2c 20 6f 72 20 69 73 20 61 20 74 xist,.can't.be.opened,.or.is.a.t
13a60 65 72 6d 69 6e 61 6c 2c 20 6c 7a 69 70 0a 20 20 20 20 20 63 6f 6e 74 69 6e 75 65 73 20 63 68 65 erminal,.lzip......continues.che
13a80 63 6b 69 6e 67 20 74 68 65 20 72 65 73 74 20 6f 66 20 74 68 65 20 66 69 6c 65 73 2e 20 41 20 66 cking.the.rest.of.the.files..A.f
13aa0 69 6e 61 6c 20 64 69 61 67 6e 6f 73 74 69 63 20 69 73 20 73 68 6f 77 6e 0a 20 20 20 20 20 61 74 inal.diagnostic.is.shown......at
13ac0 20 76 65 72 62 6f 73 69 74 79 20 6c 65 76 65 6c 20 31 20 6f 72 20 68 69 67 68 65 72 20 69 66 20 .verbosity.level.1.or.higher.if.
13ae0 61 6e 79 20 66 69 6c 65 20 66 61 69 6c 73 20 74 68 65 20 74 65 73 74 20 77 68 65 6e 20 74 65 73 any.file.fails.the.test.when.tes
13b00 74 69 6e 67 0a 20 20 20 20 20 6d 75 6c 74 69 70 6c 65 20 66 69 6c 65 73 2e 0a 0a 27 2d 76 27 0a ting......multiple.files...'-v'.
13b20 27 2d 2d 76 65 72 62 6f 73 65 27 0a 20 20 20 20 20 56 65 72 62 6f 73 65 20 6d 6f 64 65 2e 0a 20 '--verbose'......Verbose.mode...
13b40 20 20 20 20 57 68 65 6e 20 63 6f 6d 70 72 65 73 73 69 6e 67 2c 20 73 68 6f 77 20 74 68 65 20 63 ....When.compressing,.show.the.c
13b60 6f 6d 70 72 65 73 73 69 6f 6e 20 72 61 74 69 6f 20 61 6e 64 20 73 69 7a 65 20 66 6f 72 20 65 61 ompression.ratio.and.size.for.ea
13b80 63 68 20 66 69 6c 65 0a 20 20 20 20 20 70 72 6f 63 65 73 73 65 64 2e 0a 20 20 20 20 20 57 68 65 ch.file......processed.......Whe
13ba0 6e 20 64 65 63 6f 6d 70 72 65 73 73 69 6e 67 20 6f 72 20 74 65 73 74 69 6e 67 2c 20 66 75 72 74 n.decompressing.or.testing,.furt
13bc0 68 65 72 20 2d 76 27 73 20 28 75 70 20 74 6f 20 34 29 20 69 6e 63 72 65 61 73 65 20 74 68 65 0a her.-v's.(up.to.4).increase.the.
13be0 20 20 20 20 20 76 65 72 62 6f 73 69 74 79 20 6c 65 76 65 6c 2c 20 73 68 6f 77 69 6e 67 20 73 74 .....verbosity.level,.showing.st
13c00 61 74 75 73 2c 20 63 6f 6d 70 72 65 73 73 69 6f 6e 20 72 61 74 69 6f 2c 20 64 69 63 74 69 6f 6e atus,.compression.ratio,.diction
13c20 61 72 79 20 73 69 7a 65 2c 0a 20 20 20 20 20 74 72 61 69 6c 65 72 20 63 6f 6e 74 65 6e 74 73 20 ary.size,......trailer.contents.
13c40 28 43 52 43 2c 20 64 61 74 61 20 73 69 7a 65 2c 20 6d 65 6d 62 65 72 20 73 69 7a 65 29 2c 20 61 (CRC,.data.size,.member.size),.a
13c60 6e 64 20 75 70 20 74 6f 20 36 20 62 79 74 65 73 20 6f 66 0a 20 20 20 20 20 74 72 61 69 6c 69 6e nd.up.to.6.bytes.of......trailin
13c80 67 20 64 61 74 61 20 28 69 66 20 61 6e 79 29 20 62 6f 74 68 20 69 6e 20 68 65 78 61 64 65 63 69 g.data.(if.any).both.in.hexadeci
13ca0 6d 61 6c 20 61 6e 64 20 61 73 20 61 20 73 74 72 69 6e 67 20 6f 66 20 70 72 69 6e 74 61 62 6c 65 mal.and.as.a.string.of.printable
13cc0 0a 20 20 20 20 20 41 53 43 49 49 20 63 68 61 72 61 63 74 65 72 73 2e 0a 20 20 20 20 20 54 77 6f ......ASCII.characters.......Two
13ce0 20 6f 72 20 6d 6f 72 65 20 27 2d 76 27 20 6f 70 74 69 6f 6e 73 20 73 68 6f 77 20 74 68 65 20 70 .or.more.'-v'.options.show.the.p
13d00 72 6f 67 72 65 73 73 20 6f 66 20 28 64 65 29 63 6f 6d 70 72 65 73 73 69 6f 6e 2e 0a 0a 27 2d 30 rogress.of.(de)compression...'-0
13d20 20 2e 2e 20 2d 39 27 0a 20 20 20 20 20 43 6f 6d 70 72 65 73 73 69 6f 6e 20 6c 65 76 65 6c 2e 20 ....-9'......Compression.level..
13d40 53 65 74 20 74 68 65 20 63 6f 6d 70 72 65 73 73 69 6f 6e 20 70 61 72 61 6d 65 74 65 72 73 20 28 Set.the.compression.parameters.(
13d60 64 69 63 74 69 6f 6e 61 72 79 20 73 69 7a 65 20 61 6e 64 0a 20 20 20 20 20 6d 61 74 63 68 20 6c dictionary.size.and......match.l
13d80 65 6e 67 74 68 20 6c 69 6d 69 74 29 20 61 73 20 73 68 6f 77 6e 20 69 6e 20 74 68 65 20 74 61 62 ength.limit).as.shown.in.the.tab
13da0 6c 65 20 62 65 6c 6f 77 2e 20 54 68 65 20 64 65 66 61 75 6c 74 0a 20 20 20 20 20 63 6f 6d 70 72 le.below..The.default......compr
13dc0 65 73 73 69 6f 6e 20 6c 65 76 65 6c 20 69 73 20 27 2d 36 27 2c 20 65 71 75 69 76 61 6c 65 6e 74 ession.level.is.'-6',.equivalent
13de0 20 74 6f 20 27 2d 73 38 4d 69 42 20 2d 6d 33 36 27 2e 20 4e 6f 74 65 20 74 68 61 74 20 27 2d 39 .to.'-s8MiB.-m36'..Note.that.'-9
13e00 27 0a 20 20 20 20 20 63 61 6e 20 62 65 20 6d 75 63 68 20 73 6c 6f 77 65 72 20 74 68 61 6e 20 27 '......can.be.much.slower.than.'
13e20 2d 30 27 2e 20 54 68 65 73 65 20 6f 70 74 69 6f 6e 73 20 68 61 76 65 20 6e 6f 20 65 66 66 65 63 -0'..These.options.have.no.effec
13e40 74 20 77 68 65 6e 0a 20 20 20 20 20 64 65 63 6f 6d 70 72 65 73 73 69 6e 67 2c 20 74 65 73 74 69 t.when......decompressing,.testi
13e60 6e 67 2c 20 6f 72 20 6c 69 73 74 69 6e 67 2e 0a 0a 20 20 20 20 20 54 68 65 20 62 69 64 69 6d 65 ng,.or.listing........The.bidime
13e80 6e 73 69 6f 6e 61 6c 20 70 61 72 61 6d 65 74 65 72 20 73 70 61 63 65 20 6f 66 20 4c 5a 4d 41 20 nsional.parameter.space.of.LZMA.
13ea0 63 61 6e 27 74 20 62 65 20 6d 61 70 70 65 64 20 74 6f 20 61 20 6c 69 6e 65 61 72 0a 20 20 20 20 can't.be.mapped.to.a.linear.....
13ec0 20 73 63 61 6c 65 20 6f 70 74 69 6d 61 6c 20 66 6f 72 20 61 6c 6c 20 66 69 6c 65 73 2e 20 49 66 .scale.optimal.for.all.files..If
13ee0 20 79 6f 75 72 20 66 69 6c 65 73 20 61 72 65 20 6c 61 72 67 65 2c 20 76 65 72 79 20 72 65 70 65 .your.files.are.large,.very.repe
13f00 74 69 74 69 76 65 2c 0a 20 20 20 20 20 65 74 63 2c 20 79 6f 75 20 6d 61 79 20 6e 65 65 64 20 74 titive,......etc,.you.may.need.t
13f20 6f 20 75 73 65 20 74 68 65 20 6f 70 74 69 6f 6e 73 20 27 2d 2d 64 69 63 74 69 6f 6e 61 72 79 2d o.use.the.options.'--dictionary-
13f40 73 69 7a 65 27 20 61 6e 64 0a 20 20 20 20 20 27 2d 2d 6d 61 74 63 68 2d 6c 65 6e 67 74 68 27 20 size'.and......'--match-length'.
13f60 64 69 72 65 63 74 6c 79 20 74 6f 20 61 63 68 69 65 76 65 20 6f 70 74 69 6d 61 6c 20 70 65 72 66 directly.to.achieve.optimal.perf
13f80 6f 72 6d 61 6e 63 65 2e 0a 0a 20 20 20 20 20 49 66 20 73 65 76 65 72 61 6c 20 63 6f 6d 70 72 65 ormance........If.several.compre
13fa0 73 73 69 6f 6e 20 6c 65 76 65 6c 73 20 6f 72 20 27 2d 73 27 20 6f 72 20 27 2d 6d 27 20 6f 70 74 ssion.levels.or.'-s'.or.'-m'.opt
13fc0 69 6f 6e 73 20 61 72 65 20 67 69 76 65 6e 2c 20 74 68 65 0a 20 20 20 20 20 6c 61 73 74 20 73 65 ions.are.given,.the......last.se
13fe0 74 74 69 6e 67 20 69 73 20 75 73 65 64 2e 20 46 6f 72 20 65 78 61 6d 70 6c 65 20 27 2d 39 20 2d tting.is.used..For.example.'-9.-
14000 73 36 34 4d 69 42 27 20 69 73 20 65 71 75 69 76 61 6c 65 6e 74 20 74 6f 0a 20 20 20 20 20 27 2d s64MiB'.is.equivalent.to......'-
14020 73 36 34 4d 69 42 20 2d 6d 32 37 33 27 0a 0a 20 20 20 20 20 4c 65 76 65 6c 20 20 20 44 69 63 74 s64MiB.-m273'.......Level...Dict
14040 69 6f 6e 61 72 79 20 73 69 7a 65 20 28 2d 73 29 20 20 20 4d 61 74 63 68 20 6c 65 6e 67 74 68 20 ionary.size.(-s)...Match.length.
14060 6c 69 6d 69 74 20 28 2d 6d 29 0a 20 20 20 20 20 2d 30 20 20 20 20 20 20 36 34 20 4b 69 42 20 20 limit.(-m)......-0......64.KiB..
14080 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 31 36 20 62 79 74 65 73 0a 20 20 20 20 20 2d 31 20 ...............16.bytes......-1.
140a0 20 20 20 20 20 31 20 4d 69 42 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 35 20 62 79 .....1.MiB..................5.by
140c0 74 65 73 0a 20 20 20 20 20 2d 32 20 20 20 20 20 20 31 2e 35 20 4d 69 42 20 20 20 20 20 20 20 20 tes......-2......1.5.MiB........
140e0 20 20 20 20 20 20 20 20 36 20 62 79 74 65 73 0a 20 20 20 20 20 2d 33 20 20 20 20 20 20 32 20 4d ........6.bytes......-3......2.M
14100 69 42 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 38 20 62 79 74 65 73 0a 20 20 20 20 iB..................8.bytes.....
14120 20 2d 34 20 20 20 20 20 20 33 20 4d 69 42 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .-4......3.MiB..................
14140 31 32 20 62 79 74 65 73 0a 20 20 20 20 20 2d 35 20 20 20 20 20 20 34 20 4d 69 42 20 20 20 20 20 12.bytes......-5......4.MiB.....
14160 20 20 20 20 20 20 20 20 20 20 20 20 20 32 30 20 62 79 74 65 73 0a 20 20 20 20 20 2d 36 20 20 20 .............20.bytes......-6...
14180 20 20 20 38 20 4d 69 42 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 33 36 20 62 79 74 ...8.MiB..................36.byt
141a0 65 73 0a 20 20 20 20 20 2d 37 20 20 20 20 20 20 31 36 20 4d 69 42 20 20 20 20 20 20 20 20 20 20 es......-7......16.MiB..........
141c0 20 20 20 20 20 20 20 36 38 20 62 79 74 65 73 0a 20 20 20 20 20 2d 38 20 20 20 20 20 20 32 34 20 .......68.bytes......-8......24.
141e0 4d 69 42 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 31 33 32 20 62 79 74 65 73 0a 20 20 MiB.................132.bytes...
14200 20 20 20 2d 39 20 20 20 20 20 20 33 32 20 4d 69 42 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ...-9......32.MiB...............
14220 20 20 32 37 33 20 62 79 74 65 73 0a 0a 27 2d 2d 66 61 73 74 27 0a 27 2d 2d 62 65 73 74 27 0a 20 ..273.bytes..'--fast'.'--best'..
14240 20 20 20 20 41 6c 69 61 73 65 73 20 66 6f 72 20 47 4e 55 20 67 7a 69 70 20 63 6f 6d 70 61 74 69 ....Aliases.for.GNU.gzip.compati
14260 62 69 6c 69 74 79 2e 0a 0a 27 2d 2d 6c 6f 6f 73 65 2d 74 72 61 69 6c 69 6e 67 27 0a 20 20 20 20 bility...'--loose-trailing'.....
14280 20 57 68 65 6e 20 64 65 63 6f 6d 70 72 65 73 73 69 6e 67 2c 20 74 65 73 74 69 6e 67 2c 20 6f 72 .When.decompressing,.testing,.or
142a0 20 6c 69 73 74 69 6e 67 2c 20 61 6c 6c 6f 77 20 74 72 61 69 6c 69 6e 67 20 64 61 74 61 20 77 68 .listing,.allow.trailing.data.wh
142c0 6f 73 65 0a 20 20 20 20 20 66 69 72 73 74 20 62 79 74 65 73 20 61 72 65 20 73 6f 20 73 69 6d 69 ose......first.bytes.are.so.simi
142e0 6c 61 72 20 74 6f 20 74 68 65 20 6d 61 67 69 63 20 62 79 74 65 73 20 6f 66 20 61 20 6c 7a 69 70 lar.to.the.magic.bytes.of.a.lzip
14300 20 68 65 61 64 65 72 20 74 68 61 74 0a 20 20 20 20 20 74 68 65 79 20 63 61 6e 20 62 65 20 63 6f .header.that......they.can.be.co
14320 6e 66 75 73 65 64 20 77 69 74 68 20 61 20 63 6f 72 72 75 70 74 20 68 65 61 64 65 72 2e 20 55 73 nfused.with.a.corrupt.header..Us
14340 65 20 74 68 69 73 20 6f 70 74 69 6f 6e 20 69 66 20 61 20 66 69 6c 65 0a 20 20 20 20 20 74 72 69 e.this.option.if.a.file......tri
14360 67 67 65 72 73 20 61 20 22 63 6f 72 72 75 70 74 20 68 65 61 64 65 72 22 20 65 72 72 6f 72 20 61 ggers.a."corrupt.header".error.a
14380 6e 64 20 74 68 65 20 63 61 75 73 65 20 69 73 20 6e 6f 74 20 69 6e 64 65 65 64 20 61 0a 20 20 20 nd.the.cause.is.not.indeed.a....
143a0 20 20 63 6f 72 72 75 70 74 20 68 65 61 64 65 72 2e 0a 0a 0a 20 20 20 4e 75 6d 62 65 72 73 20 67 ..corrupt.header.......Numbers.g
143c0 69 76 65 6e 20 61 73 20 61 72 67 75 6d 65 6e 74 73 20 74 6f 20 6f 70 74 69 6f 6e 73 20 6d 61 79 iven.as.arguments.to.options.may
143e0 20 62 65 20 66 6f 6c 6c 6f 77 65 64 20 62 79 20 61 20 6d 75 6c 74 69 70 6c 69 65 72 0a 61 6e 64 .be.followed.by.a.multiplier.and
14400 20 61 6e 20 6f 70 74 69 6f 6e 61 6c 20 27 42 27 20 66 6f 72 20 22 62 79 74 65 22 2e 0a 0a 20 20 .an.optional.'B'.for."byte".....
14420 20 54 61 62 6c 65 20 6f 66 20 53 49 20 61 6e 64 20 62 69 6e 61 72 79 20 70 72 65 66 69 78 65 73 .Table.of.SI.and.binary.prefixes
14440 20 28 75 6e 69 74 20 6d 75 6c 74 69 70 6c 69 65 72 73 29 3a 0a 0a 50 72 65 66 69 78 20 20 20 56 .(unit.multipliers):..Prefix...V
14460 61 6c 75 65 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7c 20 20 20 50 72 65 alue.....................|...Pre
14480 66 69 78 20 20 20 56 61 6c 75 65 0a 6b 20 20 20 20 20 20 20 20 6b 69 6c 6f 62 79 74 65 20 20 28 fix...Value.k........kilobyte..(
144a0 31 30 5e 33 20 3d 20 31 30 30 30 29 20 20 20 7c 20 20 20 4b 69 20 20 20 20 20 20 20 6b 69 62 69 10^3.=.1000)...|...Ki.......kibi
144c0 62 79 74 65 20 28 32 5e 31 30 20 3d 20 31 30 32 34 29 0a 4d 20 20 20 20 20 20 20 20 6d 65 67 61 byte.(2^10.=.1024).M........mega
144e0 62 79 74 65 20 20 28 31 30 5e 36 29 20 20 20 20 20 20 20 20 20 20 7c 20 20 20 4d 69 20 20 20 20 byte..(10^6)..........|...Mi....
14500 20 20 20 6d 65 62 69 62 79 74 65 20 28 32 5e 32 30 29 0a 47 20 20 20 20 20 20 20 20 67 69 67 61 ...mebibyte.(2^20).G........giga
14520 62 79 74 65 20 20 28 31 30 5e 39 29 20 20 20 20 20 20 20 20 20 20 7c 20 20 20 47 69 20 20 20 20 byte..(10^9)..........|...Gi....
14540 20 20 20 67 69 62 69 62 79 74 65 20 28 32 5e 33 30 29 0a 54 20 20 20 20 20 20 20 20 74 65 72 61 ...gibibyte.(2^30).T........tera
14560 62 79 74 65 20 20 28 31 30 5e 31 32 29 20 20 20 20 20 20 20 20 20 7c 20 20 20 54 69 20 20 20 20 byte..(10^12).........|...Ti....
14580 20 20 20 74 65 62 69 62 79 74 65 20 28 32 5e 34 30 29 0a 50 20 20 20 20 20 20 20 20 70 65 74 61 ...tebibyte.(2^40).P........peta
145a0 62 79 74 65 20 20 28 31 30 5e 31 35 29 20 20 20 20 20 20 20 20 20 7c 20 20 20 50 69 20 20 20 20 byte..(10^15).........|...Pi....
145c0 20 20 20 70 65 62 69 62 79 74 65 20 28 32 5e 35 30 29 0a 45 20 20 20 20 20 20 20 20 65 78 61 62 ...pebibyte.(2^50).E........exab
145e0 79 74 65 20 20 20 28 31 30 5e 31 38 29 20 20 20 20 20 20 20 20 20 7c 20 20 20 45 69 20 20 20 20 yte...(10^18).........|...Ei....
14600 20 20 20 65 78 62 69 62 79 74 65 20 28 32 5e 36 30 29 0a 5a 20 20 20 20 20 20 20 20 7a 65 74 74 ...exbibyte.(2^60).Z........zett
14620 61 62 79 74 65 20 28 31 30 5e 32 31 29 20 20 20 20 20 20 20 20 20 7c 20 20 20 5a 69 20 20 20 20 abyte.(10^21).........|...Zi....
14640 20 20 20 7a 65 62 69 62 79 74 65 20 28 32 5e 37 30 29 0a 59 20 20 20 20 20 20 20 20 79 6f 74 74 ...zebibyte.(2^70).Y........yott
14660 61 62 79 74 65 20 28 31 30 5e 32 34 29 20 20 20 20 20 20 20 20 20 7c 20 20 20 59 69 20 20 20 20 abyte.(10^24).........|...Yi....
14680 20 20 20 79 6f 62 69 62 79 74 65 20 28 32 5e 38 30 29 0a 0a 0a 20 20 20 45 78 69 74 20 73 74 61 ...yobibyte.(2^80)......Exit.sta
146a0 74 75 73 3a 20 30 20 66 6f 72 20 61 20 6e 6f 72 6d 61 6c 20 65 78 69 74 2c 20 31 20 66 6f 72 20 tus:.0.for.a.normal.exit,.1.for.
146c0 65 6e 76 69 72 6f 6e 6d 65 6e 74 61 6c 20 70 72 6f 62 6c 65 6d 73 20 28 66 69 6c 65 20 6e 6f 74 environmental.problems.(file.not
146e0 0a 66 6f 75 6e 64 2c 20 69 6e 76 61 6c 69 64 20 66 6c 61 67 73 2c 20 49 2f 4f 20 65 72 72 6f 72 .found,.invalid.flags,.I/O.error
14700 73 2c 20 65 74 63 29 2c 20 32 20 74 6f 20 69 6e 64 69 63 61 74 65 20 61 20 63 6f 72 72 75 70 74 s,.etc),.2.to.indicate.a.corrupt
14720 20 6f 72 20 69 6e 76 61 6c 69 64 0a 69 6e 70 75 74 20 66 69 6c 65 2c 20 33 20 66 6f 72 20 61 6e .or.invalid.input.file,.3.for.an
14740 20 69 6e 74 65 72 6e 61 6c 20 63 6f 6e 73 69 73 74 65 6e 63 79 20 65 72 72 6f 72 20 28 65 67 2c .internal.consistency.error.(eg,
14760 20 62 75 67 29 20 77 68 69 63 68 20 63 61 75 73 65 64 20 6c 7a 69 70 0a 74 6f 20 70 61 6e 69 63 .bug).which.caused.lzip.to.panic
14780 2e 0a 0a 1f 0a 46 69 6c 65 3a 20 6c 7a 69 70 2e 69 6e 66 6f 2c 20 20 4e 6f 64 65 3a 20 51 75 61 .....File:.lzip.info,..Node:.Qua
147a0 6c 69 74 79 20 61 73 73 75 72 61 6e 63 65 2c 20 20 4e 65 78 74 3a 20 46 69 6c 65 20 66 6f 72 6d lity.assurance,..Next:.File.form
147c0 61 74 2c 20 20 50 72 65 76 3a 20 49 6e 76 6f 6b 69 6e 67 20 6c 7a 69 70 2c 20 20 55 70 3a 20 54 at,..Prev:.Invoking.lzip,..Up:.T
147e0 6f 70 0a 0a 34 20 44 65 73 69 67 6e 2c 20 64 65 76 65 6c 6f 70 6d 65 6e 74 2c 20 61 6e 64 20 74 op..4.Design,.development,.and.t
14800 65 73 74 69 6e 67 20 6f 66 20 6c 7a 69 70 0a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a esting.of.lzip.*****************
14820 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 0a 0a 54 68 65 72 65 *************************..There
14840 20 61 72 65 20 74 77 6f 20 77 61 79 73 20 6f 66 20 63 6f 6e 73 74 72 75 63 74 69 6e 67 20 61 20 .are.two.ways.of.constructing.a.
14860 73 6f 66 74 77 61 72 65 20 64 65 73 69 67 6e 3a 20 4f 6e 65 20 77 61 79 20 69 73 20 74 6f 20 6d software.design:.One.way.is.to.m
14880 61 6b 65 20 69 74 0a 73 6f 20 73 69 6d 70 6c 65 20 74 68 61 74 20 74 68 65 72 65 20 61 72 65 20 ake.it.so.simple.that.there.are.
148a0 6f 62 76 69 6f 75 73 6c 79 20 6e 6f 20 64 65 66 69 63 69 65 6e 63 69 65 73 20 61 6e 64 20 74 68 obviously.no.deficiencies.and.th
148c0 65 20 6f 74 68 65 72 20 77 61 79 20 69 73 20 74 6f 0a 6d 61 6b 65 20 69 74 20 73 6f 20 63 6f 6d e.other.way.is.to.make.it.so.com
148e0 70 6c 69 63 61 74 65 64 20 74 68 61 74 20 74 68 65 72 65 20 61 72 65 20 6e 6f 20 6f 62 76 69 6f plicated.that.there.are.no.obvio
14900 75 73 20 64 65 66 69 63 69 65 6e 63 69 65 73 2e 20 54 68 65 20 66 69 72 73 74 0a 6d 65 74 68 6f us.deficiencies..The.first.metho
14920 64 20 69 73 20 66 61 72 20 6d 6f 72 65 20 64 69 66 66 69 63 75 6c 74 2e 0a 2d 2d 20 43 2e 41 2e d.is.far.more.difficult..--.C.A.
14940 52 2e 20 48 6f 61 72 65 0a 0a 20 20 20 4c 7a 69 70 20 69 73 20 64 65 76 65 6c 6f 70 65 64 20 62 R..Hoare.....Lzip.is.developed.b
14960 79 20 76 6f 6c 75 6e 74 65 65 72 73 20 77 68 6f 20 6c 61 63 6b 20 74 68 65 20 72 65 73 6f 75 72 y.volunteers.who.lack.the.resour
14980 63 65 73 20 72 65 71 75 69 72 65 64 20 66 6f 72 0a 65 78 74 65 6e 73 69 76 65 20 74 65 73 74 69 ces.required.for.extensive.testi
149a0 6e 67 20 69 6e 20 61 6c 6c 20 63 69 72 63 75 6d 73 74 61 6e 63 65 73 2e 20 49 74 20 69 73 20 75 ng.in.all.circumstances..It.is.u
149c0 70 20 74 6f 20 79 6f 75 20 74 6f 20 74 65 73 74 20 6c 7a 69 70 20 62 65 66 6f 72 65 0a 75 73 69 p.to.you.to.test.lzip.before.usi
149e0 6e 67 20 69 74 20 69 6e 20 6d 69 73 73 69 6f 6e 2d 63 72 69 74 69 63 61 6c 20 61 70 70 6c 69 63 ng.it.in.mission-critical.applic
14a00 61 74 69 6f 6e 73 2e 20 48 6f 77 65 76 65 72 2c 20 61 20 63 6f 6d 70 72 65 73 73 6f 72 20 6c 69 ations..However,.a.compressor.li
14a20 6b 65 20 6c 7a 69 70 0a 69 73 20 6e 6f 74 20 61 20 74 6f 79 2c 20 61 6e 64 20 6d 61 69 6e 74 61 ke.lzip.is.not.a.toy,.and.mainta
14a40 69 6e 69 6e 67 20 69 74 20 69 73 20 6e 6f 74 20 61 20 68 6f 62 62 79 2e 20 4d 61 6e 79 20 70 65 ining.it.is.not.a.hobby..Many.pe
14a60 6f 70 6c 65 27 73 20 64 61 74 61 20 64 65 70 65 6e 64 0a 6f 6e 20 69 74 2e 20 54 68 65 72 65 66 ople's.data.depend.on.it..Theref
14a80 6f 72 65 20 74 68 65 20 6c 7a 69 70 20 66 69 6c 65 20 66 6f 72 6d 61 74 20 68 61 73 20 62 65 65 ore.the.lzip.file.format.has.bee
14aa0 6e 20 72 65 76 69 65 77 65 64 20 63 61 72 65 66 75 6c 6c 79 20 61 6e 64 20 69 73 0a 62 65 6c 69 n.reviewed.carefully.and.is.beli
14ac0 65 76 65 64 20 74 6f 20 62 65 20 66 72 65 65 20 66 72 6f 6d 20 6e 65 67 6c 69 67 65 6e 74 20 64 eved.to.be.free.from.negligent.d
14ae0 65 73 69 67 6e 20 65 72 72 6f 72 73 2e 0a 0a 20 20 20 4c 7a 69 70 20 68 61 73 20 62 65 65 6e 20 esign.errors......Lzip.has.been.
14b00 64 65 73 69 67 6e 65 64 2c 20 77 72 69 74 74 65 6e 2c 20 61 6e 64 20 74 65 73 74 65 64 20 77 69 designed,.written,.and.tested.wi
14b20 74 68 20 67 72 65 61 74 20 63 61 72 65 20 74 6f 20 72 65 70 6c 61 63 65 0a 67 7a 69 70 20 61 6e th.great.care.to.replace.gzip.an
14b40 64 20 62 7a 69 70 32 20 61 73 20 74 68 65 20 73 74 61 6e 64 61 72 64 20 67 65 6e 65 72 61 6c 2d d.bzip2.as.the.standard.general-
14b60 70 75 72 70 6f 73 65 20 63 6f 6d 70 72 65 73 73 65 64 20 66 6f 72 6d 61 74 20 66 6f 72 0a 75 6e purpose.compressed.format.for.un
14b80 69 78 2d 6c 69 6b 65 20 73 79 73 74 65 6d 73 2e 20 54 68 69 73 20 63 68 61 70 74 65 72 20 64 65 ix-like.systems..This.chapter.de
14ba0 73 63 72 69 62 65 73 20 74 68 65 20 6c 65 73 73 6f 6e 73 20 6c 65 61 72 6e 65 64 20 66 72 6f 6d scribes.the.lessons.learned.from
14bc0 20 74 68 65 73 65 0a 70 72 65 76 69 6f 75 73 20 66 6f 72 6d 61 74 73 2c 20 61 6e 64 20 74 68 65 .these.previous.formats,.and.the
14be0 69 72 20 61 70 70 6c 69 63 61 74 69 6f 6e 20 74 6f 20 74 68 65 20 64 65 73 69 67 6e 20 6f 66 20 ir.application.to.the.design.of.
14c00 6c 7a 69 70 2e 0a 0a 0a 34 2e 31 20 46 6f 72 6d 61 74 20 64 65 73 69 67 6e 0a 3d 3d 3d 3d 3d 3d lzip....4.1.Format.design.======
14c20 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 0a 0a 57 68 65 6e 20 67 7a 69 70 20 77 61 73 20 64 65 73 69 67 ===========..When.gzip.was.desig
14c40 6e 65 64 20 69 6e 20 31 39 39 32 2c 20 63 6f 6d 70 75 74 65 72 73 20 61 6e 64 20 6f 70 65 72 61 ned.in.1992,.computers.and.opera
14c60 74 69 6e 67 20 73 79 73 74 65 6d 73 20 77 65 72 65 20 6d 75 63 68 0a 6c 65 73 73 20 63 61 70 61 ting.systems.were.much.less.capa
14c80 62 6c 65 20 74 68 61 6e 20 74 68 65 79 20 61 72 65 20 74 6f 64 61 79 2e 20 54 68 65 20 64 65 73 ble.than.they.are.today..The.des
14ca0 69 67 6e 65 72 73 20 6f 66 20 67 7a 69 70 20 74 72 69 65 64 20 74 6f 20 77 6f 72 6b 20 61 72 6f igners.of.gzip.tried.to.work.aro
14cc0 75 6e 64 0a 73 6f 6d 65 20 6f 66 20 74 68 6f 73 65 20 6c 69 6d 69 74 61 74 69 6f 6e 73 2c 20 6c und.some.of.those.limitations,.l
14ce0 69 6b 65 20 38 2e 33 20 66 69 6c 65 20 6e 61 6d 65 73 2c 20 77 69 74 68 20 61 64 64 69 74 69 6f ike.8.3.file.names,.with.additio
14d00 6e 61 6c 20 66 69 65 6c 64 73 20 69 6e 0a 74 68 65 20 66 69 6c 65 20 66 6f 72 6d 61 74 2e 0a 0a nal.fields.in.the.file.format...
14d20 20 20 20 54 6f 64 61 79 20 74 68 6f 73 65 20 6c 69 6d 69 74 61 74 69 6f 6e 73 20 68 61 76 65 20 ...Today.those.limitations.have.
14d40 6d 6f 73 74 6c 79 20 64 69 73 61 70 70 65 61 72 65 64 2c 20 61 6e 64 20 74 68 65 20 66 6f 72 6d mostly.disappeared,.and.the.form
14d60 61 74 20 6f 66 20 67 7a 69 70 0a 68 61 73 20 70 72 6f 76 65 64 20 74 6f 20 62 65 20 75 6e 6e 65 at.of.gzip.has.proved.to.be.unne
14d80 63 65 73 73 61 72 69 6c 79 20 63 6f 6d 70 6c 69 63 61 74 65 64 2e 20 49 74 20 69 6e 63 6c 75 64 cessarily.complicated..It.includ
14da0 65 73 20 66 69 65 6c 64 73 20 74 68 61 74 20 77 65 72 65 0a 6e 65 76 65 72 20 75 73 65 64 2c 20 es.fields.that.were.never.used,.
14dc0 6f 74 68 65 72 73 20 74 68 61 74 20 68 61 76 65 20 6c 6f 73 74 20 74 68 65 69 72 20 75 73 65 66 others.that.have.lost.their.usef
14de0 75 6c 6e 65 73 73 2c 20 61 6e 64 20 66 69 6e 61 6c 6c 79 20 6f 74 68 65 72 73 20 74 68 61 74 0a ulness,.and.finally.others.that.
14e00 68 61 76 65 20 62 65 63 6f 6d 65 20 74 6f 6f 20 6c 69 6d 69 74 65 64 2e 0a 0a 20 20 20 42 7a 69 have.become.too.limited......Bzi
14e20 70 32 20 77 61 73 20 64 65 73 69 67 6e 65 64 20 35 20 79 65 61 72 73 20 6c 61 74 65 72 2c 20 61 p2.was.designed.5.years.later,.a
14e40 6e 64 20 69 74 73 20 66 6f 72 6d 61 74 20 69 73 20 73 69 6d 70 6c 65 72 20 74 68 61 6e 20 74 68 nd.its.format.is.simpler.than.th
14e60 65 20 6f 6e 65 0a 6f 66 20 67 7a 69 70 2e 0a 0a 20 20 20 50 72 6f 62 61 62 6c 79 20 74 68 65 20 e.one.of.gzip......Probably.the.
14e80 77 6f 72 73 74 20 64 65 66 65 63 74 20 6f 66 20 74 68 65 20 67 7a 69 70 20 66 6f 72 6d 61 74 20 worst.defect.of.the.gzip.format.
14ea0 66 72 6f 6d 20 74 68 65 20 70 6f 69 6e 74 20 6f 66 20 76 69 65 77 20 6f 66 0a 64 61 74 61 20 73 from.the.point.of.view.of.data.s
14ec0 61 66 65 74 79 20 69 73 20 74 68 65 20 76 61 72 69 61 62 6c 65 20 73 69 7a 65 20 6f 66 20 69 74 afety.is.the.variable.size.of.it
14ee0 73 20 68 65 61 64 65 72 2e 20 49 66 20 74 68 65 20 62 79 74 65 20 61 74 20 6f 66 66 73 65 74 20 s.header..If.the.byte.at.offset.
14f00 33 0a 28 66 6c 61 67 73 29 20 6f 66 20 61 20 67 7a 69 70 20 6d 65 6d 62 65 72 20 67 65 74 73 20 3.(flags).of.a.gzip.member.gets.
14f20 63 6f 72 72 75 70 74 65 64 2c 20 69 74 20 6d 61 79 20 62 65 63 6f 6d 65 20 64 69 66 66 69 63 75 corrupted,.it.may.become.difficu
14f40 6c 74 20 74 6f 20 72 65 63 6f 76 65 72 0a 74 68 65 20 64 61 74 61 2c 20 65 76 65 6e 20 69 66 20 lt.to.recover.the.data,.even.if.
14f60 74 68 65 20 63 6f 6d 70 72 65 73 73 65 64 20 62 6c 6f 63 6b 73 20 61 72 65 20 69 6e 74 61 63 74 the.compressed.blocks.are.intact
14f80 2c 20 62 65 63 61 75 73 65 20 69 74 20 63 61 6e 27 74 20 62 65 0a 6b 6e 6f 77 6e 20 77 69 74 68 ,.because.it.can't.be.known.with
14fa0 20 63 65 72 74 61 69 6e 74 79 20 77 68 65 72 65 20 74 68 65 20 63 6f 6d 70 72 65 73 73 65 64 20 .certainty.where.the.compressed.
14fc0 62 6c 6f 63 6b 73 20 62 65 67 69 6e 2e 0a 0a 20 20 20 42 79 20 63 6f 6e 74 72 61 73 74 2c 20 74 blocks.begin......By.contrast,.t
14fe0 68 65 20 68 65 61 64 65 72 20 6f 66 20 61 20 6c 7a 69 70 20 6d 65 6d 62 65 72 20 68 61 73 20 61 he.header.of.a.lzip.member.has.a
15000 20 66 69 78 65 64 20 6c 65 6e 67 74 68 20 6f 66 20 36 2e 20 54 68 65 0a 4c 5a 4d 41 20 73 74 72 .fixed.length.of.6..The.LZMA.str
15020 65 61 6d 20 69 6e 20 61 20 6c 7a 69 70 20 6d 65 6d 62 65 72 20 61 6c 77 61 79 73 20 73 74 61 72 eam.in.a.lzip.member.always.star
15040 74 73 20 61 74 20 6f 66 66 73 65 74 20 36 2c 20 6d 61 6b 69 6e 67 20 69 74 20 74 72 69 76 69 61 ts.at.offset.6,.making.it.trivia
15060 6c 20 74 6f 0a 72 65 63 6f 76 65 72 20 74 68 65 20 64 61 74 61 20 65 76 65 6e 20 69 66 20 74 68 l.to.recover.the.data.even.if.th
15080 65 20 77 68 6f 6c 65 20 68 65 61 64 65 72 20 62 65 63 6f 6d 65 73 20 63 6f 72 72 75 70 74 2e 0a e.whole.header.becomes.corrupt..
150a0 0a 20 20 20 42 7a 69 70 32 20 61 6c 73 6f 20 70 72 6f 76 69 64 65 73 20 61 20 68 65 61 64 65 72 ....Bzip2.also.provides.a.header
150c0 20 6f 66 20 66 69 78 65 64 20 6c 65 6e 67 74 68 20 61 6e 64 20 6d 61 72 6b 73 20 74 68 65 20 62 .of.fixed.length.and.marks.the.b
150e0 65 67 69 6e 20 61 6e 64 20 65 6e 64 0a 6f 66 20 65 61 63 68 20 63 6f 6d 70 72 65 73 73 65 64 20 egin.and.end.of.each.compressed.
15100 62 6c 6f 63 6b 20 77 69 74 68 20 73 69 78 20 6d 61 67 69 63 20 62 79 74 65 73 2c 20 6d 61 6b 69 block.with.six.magic.bytes,.maki
15120 6e 67 20 69 74 20 70 6f 73 73 69 62 6c 65 20 74 6f 20 66 69 6e 64 0a 74 68 65 20 63 6f 6d 70 72 ng.it.possible.to.find.the.compr
15140 65 73 73 65 64 20 62 6c 6f 63 6b 73 20 65 76 65 6e 20 69 6e 20 63 61 73 65 20 6f 66 20 66 69 6c essed.blocks.even.in.case.of.fil
15160 65 20 64 61 6d 61 67 65 2e 20 42 75 74 20 62 7a 69 70 32 20 64 6f 65 73 20 6e 6f 74 20 73 74 6f e.damage..But.bzip2.does.not.sto
15180 72 65 0a 74 68 65 20 73 69 7a 65 20 6f 66 20 65 61 63 68 20 63 6f 6d 70 72 65 73 73 65 64 20 62 re.the.size.of.each.compressed.b
151a0 6c 6f 63 6b 2c 20 61 73 20 6c 7a 69 70 20 64 6f 65 73 2e 0a 0a 20 20 20 4c 7a 69 70 72 65 63 6f lock,.as.lzip.does......Lzipreco
151c0 76 65 72 20 69 73 20 61 62 6c 65 20 74 6f 20 70 72 6f 76 69 64 65 20 75 6e 69 71 75 65 20 64 61 ver.is.able.to.provide.unique.da
151e0 74 61 20 72 65 63 6f 76 65 72 79 20 63 61 70 61 62 69 6c 69 74 69 65 73 20 62 65 63 61 75 73 65 ta.recovery.capabilities.because
15200 0a 74 68 65 20 6c 7a 69 70 20 66 6f 72 6d 61 74 20 69 73 20 65 78 74 72 61 6f 72 64 69 6e 61 72 .the.lzip.format.is.extraordinar
15220 69 6c 79 20 73 61 66 65 2e 20 54 68 65 20 73 69 6d 70 6c 65 20 61 6e 64 20 73 61 66 65 20 64 65 ily.safe..The.simple.and.safe.de
15240 73 69 67 6e 20 6f 66 20 74 68 65 0a 66 69 6c 65 20 66 6f 72 6d 61 74 20 63 6f 6d 70 6c 65 6d 65 sign.of.the.file.format.compleme
15260 6e 74 73 20 74 68 65 20 65 6d 62 65 64 64 65 64 20 65 72 72 6f 72 20 64 65 74 65 63 74 69 6f 6e nts.the.embedded.error.detection
15280 20 70 72 6f 76 69 64 65 64 20 62 79 20 74 68 65 20 4c 5a 4d 41 0a 64 61 74 61 20 73 74 72 65 61 .provided.by.the.LZMA.data.strea
152a0 6d 2e 20 41 6e 79 20 64 69 73 74 61 6e 63 65 20 6c 61 72 67 65 72 20 74 68 61 6e 20 74 68 65 20 m..Any.distance.larger.than.the.
152c0 64 69 63 74 69 6f 6e 61 72 79 20 73 69 7a 65 20 61 63 74 73 20 61 73 20 61 0a 66 6f 72 62 69 64 dictionary.size.acts.as.a.forbid
152e0 64 65 6e 20 73 79 6d 62 6f 6c 2c 20 61 6c 6c 6f 77 69 6e 67 20 74 68 65 20 64 65 63 6f 6d 70 72 den.symbol,.allowing.the.decompr
15300 65 73 73 6f 72 20 74 6f 20 64 65 74 65 63 74 20 74 68 65 20 61 70 70 72 6f 78 69 6d 61 74 65 0a essor.to.detect.the.approximate.
15320 70 6f 73 69 74 69 6f 6e 20 6f 66 20 65 72 72 6f 72 73 2c 20 61 6e 64 20 6c 65 61 76 69 6e 67 20 position.of.errors,.and.leaving.
15340 76 65 72 79 20 6c 69 74 74 6c 65 20 77 6f 72 6b 20 66 6f 72 20 74 68 65 20 63 68 65 63 6b 20 73 very.little.work.for.the.check.s
15360 65 71 75 65 6e 63 65 0a 28 43 52 43 20 61 6e 64 20 64 61 74 61 20 73 69 7a 65 73 29 20 69 6e 20 equence.(CRC.and.data.sizes).in.
15380 74 68 65 20 64 65 74 65 63 74 69 6f 6e 20 6f 66 20 65 72 72 6f 72 73 2e 20 4c 7a 69 70 20 69 73 the.detection.of.errors..Lzip.is
153a0 20 75 73 75 61 6c 6c 79 20 61 62 6c 65 20 74 6f 0a 64 65 74 65 63 74 20 61 6c 6c 20 70 6f 73 73 .usually.able.to.detect.all.poss
153c0 69 62 6c 65 20 62 69 74 20 66 6c 69 70 73 20 69 6e 20 74 68 65 20 63 6f 6d 70 72 65 73 73 65 64 ible.bit.flips.in.the.compressed
153e0 20 64 61 74 61 20 77 69 74 68 6f 75 74 20 72 65 73 6f 72 74 69 6e 67 20 74 6f 0a 74 68 65 20 63 .data.without.resorting.to.the.c
15400 68 65 63 6b 20 73 65 71 75 65 6e 63 65 2e 20 49 74 20 77 6f 75 6c 64 20 62 65 20 64 69 66 66 69 heck.sequence..It.would.be.diffi
15420 63 75 6c 74 20 74 6f 20 77 72 69 74 65 20 61 6e 20 61 75 74 6f 6d 61 74 69 63 20 72 65 63 6f 76 cult.to.write.an.automatic.recov
15440 65 72 79 0a 74 6f 6f 6c 20 6c 69 6b 65 20 6c 7a 69 70 72 65 63 6f 76 65 72 20 66 6f 72 20 74 68 ery.tool.like.lziprecover.for.th
15460 65 20 67 7a 69 70 20 66 6f 72 6d 61 74 2e 20 41 6e 64 2c 20 61 73 20 66 61 72 20 61 73 20 49 20 e.gzip.format..And,.as.far.as.I.
15480 6b 6e 6f 77 2c 20 69 74 20 68 61 73 0a 6e 65 76 65 72 20 62 65 65 6e 20 77 72 69 74 74 65 6e 2e know,.it.has.never.been.written.
154a0 0a 0a 20 20 20 4c 7a 69 70 2c 20 6c 69 6b 65 20 67 7a 69 70 20 61 6e 64 20 62 7a 69 70 32 2c 20 .....Lzip,.like.gzip.and.bzip2,.
154c0 75 73 65 73 20 61 20 43 52 43 33 32 20 74 6f 20 63 68 65 63 6b 20 74 68 65 20 69 6e 74 65 67 72 uses.a.CRC32.to.check.the.integr
154e0 69 74 79 20 6f 66 20 74 68 65 0a 64 65 63 6f 6d 70 72 65 73 73 65 64 20 64 61 74 61 20 62 65 63 ity.of.the.decompressed.data.bec
15500 61 75 73 65 20 69 74 20 70 72 6f 76 69 64 65 73 20 6f 70 74 69 6d 61 6c 20 61 63 63 75 72 61 63 ause.it.provides.optimal.accurac
15520 79 20 69 6e 20 74 68 65 20 64 65 74 65 63 74 69 6f 6e 20 6f 66 0a 65 72 72 6f 72 73 20 75 70 20 y.in.the.detection.of.errors.up.
15540 74 6f 20 61 20 63 6f 6d 70 72 65 73 73 65 64 20 73 69 7a 65 20 6f 66 20 61 62 6f 75 74 20 31 36 to.a.compressed.size.of.about.16
15560 20 47 69 42 2c 20 61 20 73 69 7a 65 20 6c 61 72 67 65 72 20 74 68 61 6e 20 74 68 61 74 20 6f 66 .GiB,.a.size.larger.than.that.of
15580 0a 6d 6f 73 74 20 66 69 6c 65 73 2e 20 49 6e 20 74 68 65 20 63 61 73 65 20 6f 66 20 6c 7a 69 70 .most.files..In.the.case.of.lzip
155a0 2c 20 74 68 65 20 61 64 64 69 74 69 6f 6e 61 6c 20 64 65 74 65 63 74 69 6f 6e 20 63 61 70 61 62 ,.the.additional.detection.capab
155c0 69 6c 69 74 79 20 6f 66 20 74 68 65 0a 64 65 63 6f 6d 70 72 65 73 73 6f 72 20 72 65 64 75 63 65 ility.of.the.decompressor.reduce
155e0 73 20 74 68 65 20 70 72 6f 62 61 62 69 6c 69 74 79 20 6f 66 20 75 6e 64 65 74 65 63 74 65 64 20 s.the.probability.of.undetected.
15600 65 72 72 6f 72 73 20 73 65 76 65 72 61 6c 20 6d 69 6c 6c 69 6f 6e 0a 74 69 6d 65 73 20 6d 6f 72 errors.several.million.times.mor
15620 65 2c 20 72 65 73 75 6c 74 69 6e 67 20 69 6e 20 61 20 63 6f 6d 62 69 6e 65 64 20 69 6e 74 65 67 e,.resulting.in.a.combined.integ
15640 72 69 74 79 20 63 68 65 63 6b 69 6e 67 20 6f 70 74 69 6d 61 6c 6c 79 20 61 63 63 75 72 61 74 65 rity.checking.optimally.accurate
15660 0a 66 6f 72 20 61 6e 79 20 6d 65 6d 62 65 72 20 73 69 7a 65 20 70 72 6f 64 75 63 65 64 20 62 79 .for.any.member.size.produced.by
15680 20 6c 7a 69 70 2e 20 50 72 65 6c 69 6d 69 6e 61 72 79 20 72 65 73 75 6c 74 73 20 73 75 67 67 65 .lzip..Preliminary.results.sugge
156a0 73 74 20 74 68 61 74 20 74 68 65 0a 6c 7a 69 70 20 66 6f 72 6d 61 74 20 69 73 20 73 61 66 65 20 st.that.the.lzip.format.is.safe.
156c0 65 6e 6f 75 67 68 20 74 6f 20 62 65 20 75 73 65 64 20 69 6e 20 63 72 69 74 69 63 61 6c 20 73 61 enough.to.be.used.in.critical.sa
156e0 66 65 74 79 20 61 76 69 6f 6e 69 63 73 20 73 79 73 74 65 6d 73 2e 0a 0a 20 20 20 54 68 65 20 6c fety.avionics.systems......The.l
15700 7a 69 70 20 66 6f 72 6d 61 74 20 69 73 20 64 65 73 69 67 6e 65 64 20 66 6f 72 20 6c 6f 6e 67 2d zip.format.is.designed.for.long-
15720 74 65 72 6d 20 61 72 63 68 69 76 69 6e 67 2e 20 54 68 65 72 65 66 6f 72 65 20 69 74 0a 65 78 63 term.archiving..Therefore.it.exc
15740 6c 75 64 65 73 20 61 6e 79 20 75 6e 6e 65 65 64 65 64 20 66 65 61 74 75 72 65 73 20 74 68 61 74 ludes.any.unneeded.features.that
15760 20 6d 61 79 20 69 6e 74 65 72 66 65 72 65 20 77 69 74 68 20 74 68 65 20 66 75 74 75 72 65 0a 65 .may.interfere.with.the.future.e
15780 78 74 72 61 63 74 69 6f 6e 20 6f 66 20 74 68 65 20 64 65 63 6f 6d 70 72 65 73 73 65 64 20 64 61 xtraction.of.the.decompressed.da
157a0 74 61 2e 0a 0a 0a 34 2e 31 2e 31 20 47 7a 69 70 20 66 6f 72 6d 61 74 20 28 6d 69 73 29 66 65 61 ta....4.1.1.Gzip.format.(mis)fea
157c0 74 75 72 65 73 20 6e 6f 74 20 70 72 65 73 65 6e 74 20 69 6e 20 6c 7a 69 70 0a 2d 2d 2d 2d 2d 2d tures.not.present.in.lzip.------
157e0 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d --------------------------------
15800 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0a 0a 27 4d 75 6c 74 69 70 6c 65 20 61 6c 67 6f 72 69 74 -------------..'Multiple.algorit
15820 68 6d 73 27 0a 20 20 20 20 20 47 7a 69 70 20 70 72 6f 76 69 64 65 73 20 61 20 43 4d 20 28 43 6f hms'......Gzip.provides.a.CM.(Co
15840 6d 70 72 65 73 73 69 6f 6e 20 4d 65 74 68 6f 64 29 20 66 69 65 6c 64 20 74 68 61 74 20 68 61 73 mpression.Method).field.that.has
15860 20 6e 65 76 65 72 20 62 65 65 6e 20 75 73 65 64 0a 20 20 20 20 20 62 65 63 61 75 73 65 20 69 74 .never.been.used......because.it
15880 20 69 73 20 61 20 62 61 64 20 69 64 65 61 20 74 6f 20 62 65 67 69 6e 20 77 69 74 68 2e 20 4e 65 .is.a.bad.idea.to.begin.with..Ne
158a0 77 20 63 6f 6d 70 72 65 73 73 69 6f 6e 20 6d 65 74 68 6f 64 73 20 6d 61 79 0a 20 20 20 20 20 72 w.compression.methods.may......r
158c0 65 71 75 69 72 65 20 61 64 64 69 74 69 6f 6e 61 6c 20 66 69 65 6c 64 73 2c 20 6d 61 6b 69 6e 67 equire.additional.fields,.making
158e0 20 69 74 20 69 6d 70 6f 73 73 69 62 6c 65 20 74 6f 20 69 6d 70 6c 65 6d 65 6e 74 20 6e 65 77 0a .it.impossible.to.implement.new.
15900 20 20 20 20 20 6d 65 74 68 6f 64 73 20 61 6e 64 2c 20 61 74 20 74 68 65 20 73 61 6d 65 20 74 69 .....methods.and,.at.the.same.ti
15920 6d 65 2c 20 6b 65 65 70 20 74 68 65 20 73 61 6d 65 20 66 6f 72 6d 61 74 2e 20 54 68 69 73 20 66 me,.keep.the.same.format..This.f
15940 69 65 6c 64 20 64 6f 65 73 0a 20 20 20 20 20 6e 6f 74 20 73 6f 6c 76 65 20 74 68 65 20 70 72 6f ield.does......not.solve.the.pro
15960 62 6c 65 6d 20 6f 66 20 66 6f 72 6d 61 74 20 70 72 6f 6c 69 66 65 72 61 74 69 6f 6e 3b 20 69 74 blem.of.format.proliferation;.it
15980 20 6a 75 73 74 20 6d 61 6b 65 73 20 74 68 65 0a 20 20 20 20 20 70 72 6f 62 6c 65 6d 20 6c 65 73 .just.makes.the......problem.les
159a0 73 20 6f 62 76 69 6f 75 73 2e 0a 0a 27 4f 70 74 69 6f 6e 61 6c 20 66 69 65 6c 64 73 20 69 6e 20 s.obvious...'Optional.fields.in.
159c0 68 65 61 64 65 72 27 0a 20 20 20 20 20 55 6e 6c 65 73 73 20 73 70 65 63 69 61 6c 20 70 72 65 63 header'......Unless.special.prec
159e0 61 75 74 69 6f 6e 73 20 61 72 65 20 74 61 6b 65 6e 2c 20 6f 70 74 69 6f 6e 61 6c 20 66 69 65 6c autions.are.taken,.optional.fiel
15a00 64 73 20 61 72 65 20 67 65 6e 65 72 61 6c 6c 79 20 61 0a 20 20 20 20 20 62 61 64 20 69 64 65 61 ds.are.generally.a......bad.idea
15a20 20 62 65 63 61 75 73 65 20 74 68 65 79 20 70 72 6f 64 75 63 65 20 61 20 68 65 61 64 65 72 20 6f .because.they.produce.a.header.o
15a40 66 20 76 61 72 69 61 62 6c 65 20 73 69 7a 65 2e 20 54 68 65 20 67 7a 69 70 0a 20 20 20 20 20 68 f.variable.size..The.gzip......h
15a60 65 61 64 65 72 20 68 61 73 20 32 20 66 69 65 6c 64 73 20 74 68 61 74 2c 20 69 6e 20 61 64 64 69 eader.has.2.fields.that,.in.addi
15a80 74 69 6f 6e 20 74 6f 20 62 65 69 6e 67 20 6f 70 74 69 6f 6e 61 6c 2c 20 61 72 65 0a 20 20 20 20 tion.to.being.optional,.are.....
15aa0 20 7a 65 72 6f 2d 74 65 72 6d 69 6e 61 74 65 64 2e 20 54 68 69 73 20 6d 65 61 6e 73 20 74 68 61 .zero-terminated..This.means.tha
15ac0 74 20 69 66 20 61 6e 79 20 62 79 74 65 20 69 6e 73 69 64 65 20 74 68 65 20 66 69 65 6c 64 20 67 t.if.any.byte.inside.the.field.g
15ae0 65 74 73 0a 20 20 20 20 20 7a 65 72 6f 65 64 2c 20 6f 72 20 69 66 20 74 68 65 20 74 65 72 6d 69 ets......zeroed,.or.if.the.termi
15b00 6e 61 74 69 6e 67 20 7a 65 72 6f 20 67 65 74 73 20 61 6c 74 65 72 65 64 2c 20 67 7a 69 70 20 77 nating.zero.gets.altered,.gzip.w
15b20 6f 6e 27 74 20 62 65 20 61 62 6c 65 20 74 6f 0a 20 20 20 20 20 66 69 6e 64 20 6e 65 69 74 68 65 on't.be.able.to......find.neithe
15b40 72 20 74 68 65 20 68 65 61 64 65 72 20 43 52 43 20 6e 6f 72 20 74 68 65 20 63 6f 6d 70 72 65 73 r.the.header.CRC.nor.the.compres
15b60 73 65 64 20 62 6c 6f 63 6b 73 2e 0a 0a 27 4f 70 74 69 6f 6e 61 6c 20 43 52 43 20 66 6f 72 20 74 sed.blocks...'Optional.CRC.for.t
15b80 68 65 20 68 65 61 64 65 72 27 0a 20 20 20 20 20 55 73 69 6e 67 20 61 6e 20 6f 70 74 69 6f 6e 61 he.header'......Using.an.optiona
15ba0 6c 20 43 52 43 20 66 6f 72 20 74 68 65 20 68 65 61 64 65 72 20 69 73 20 6e 6f 74 20 6f 6e 6c 79 l.CRC.for.the.header.is.not.only
15bc0 20 61 20 62 61 64 20 69 64 65 61 2c 20 69 74 20 69 73 20 61 6e 0a 20 20 20 20 20 65 72 72 6f 72 .a.bad.idea,.it.is.an......error
15be0 3b 20 69 74 20 63 69 72 63 75 6d 76 65 6e 74 73 20 74 68 65 20 48 61 6d 6d 69 6e 67 20 64 69 73 ;.it.circumvents.the.Hamming.dis
15c00 74 61 6e 63 65 20 28 48 44 29 20 6f 66 20 74 68 65 20 43 52 43 20 61 6e 64 20 6d 61 79 0a 20 20 tance.(HD).of.the.CRC.and.may...
15c20 20 20 20 70 72 65 76 65 6e 74 20 74 68 65 20 65 78 74 72 61 63 74 69 6f 6e 20 6f 66 20 70 65 72 ...prevent.the.extraction.of.per
15c40 66 65 63 74 6c 79 20 67 6f 6f 64 20 64 61 74 61 2e 20 46 6f 72 20 65 78 61 6d 70 6c 65 2c 20 69 fectly.good.data..For.example,.i
15c60 66 20 74 68 65 20 43 52 43 0a 20 20 20 20 20 69 73 20 75 73 65 64 20 61 6e 64 20 74 68 65 20 62 f.the.CRC......is.used.and.the.b
15c80 69 74 20 65 6e 61 62 6c 69 6e 67 20 69 74 20 69 73 20 72 65 73 65 74 20 62 79 20 61 20 62 69 74 it.enabling.it.is.reset.by.a.bit
15ca0 20 66 6c 69 70 2c 20 74 68 65 20 68 65 61 64 65 72 0a 20 20 20 20 20 77 69 6c 6c 20 61 70 70 65 .flip,.the.header......will.appe
15cc0 61 72 20 74 6f 20 62 65 20 69 6e 74 61 63 74 20 28 69 6e 20 73 70 69 74 65 20 6f 66 20 62 65 69 ar.to.be.intact.(in.spite.of.bei
15ce0 6e 67 20 63 6f 72 72 75 70 74 29 20 77 68 69 6c 65 20 74 68 65 0a 20 20 20 20 20 63 6f 6d 70 72 ng.corrupt).while.the......compr
15d00 65 73 73 65 64 20 62 6c 6f 63 6b 73 20 77 69 6c 6c 20 61 70 70 65 61 72 20 74 6f 20 62 65 20 74 essed.blocks.will.appear.to.be.t
15d20 6f 74 61 6c 6c 79 20 75 6e 72 65 63 6f 76 65 72 61 62 6c 65 20 28 69 6e 20 73 70 69 74 65 20 6f otally.unrecoverable.(in.spite.o
15d40 66 0a 20 20 20 20 20 62 65 69 6e 67 20 69 6e 74 61 63 74 29 2e 20 56 65 72 79 20 6d 69 73 6c 65 f......being.intact)..Very.misle
15d60 61 64 69 6e 67 20 69 6e 64 65 65 64 2e 0a 0a 27 4d 65 74 61 64 61 74 61 27 0a 20 20 20 20 20 54 ading.indeed...'Metadata'......T
15d80 68 65 20 67 7a 69 70 20 66 6f 72 6d 61 74 20 73 74 6f 72 65 73 20 73 6f 6d 65 20 6d 65 74 61 64 he.gzip.format.stores.some.metad
15da0 61 74 61 2c 20 6c 69 6b 65 20 74 68 65 20 6d 6f 64 69 66 69 63 61 74 69 6f 6e 20 74 69 6d 65 20 ata,.like.the.modification.time.
15dc0 6f 66 20 74 68 65 0a 20 20 20 20 20 6f 72 69 67 69 6e 61 6c 20 66 69 6c 65 20 6f 72 20 74 68 65 of.the......original.file.or.the
15de0 20 6f 70 65 72 61 74 69 6e 67 20 73 79 73 74 65 6d 20 6f 6e 20 77 68 69 63 68 20 63 6f 6d 70 72 .operating.system.on.which.compr
15e00 65 73 73 69 6f 6e 20 74 6f 6f 6b 20 70 6c 61 63 65 2e 0a 20 20 20 20 20 54 68 69 73 20 63 6f 6d ession.took.place.......This.com
15e20 70 6c 69 63 61 74 65 73 20 72 65 70 72 6f 64 75 63 69 62 6c 65 20 63 6f 6d 70 72 65 73 73 69 6f plicates.reproducible.compressio
15e40 6e 20 28 6f 62 74 61 69 6e 69 6e 67 20 69 64 65 6e 74 69 63 61 6c 0a 20 20 20 20 20 63 6f 6d 70 n.(obtaining.identical......comp
15e60 72 65 73 73 65 64 20 6f 75 74 70 75 74 20 66 72 6f 6d 20 69 64 65 6e 74 69 63 61 6c 20 69 6e 70 ressed.output.from.identical.inp
15e80 75 74 29 2e 0a 0a 0a 34 2e 31 2e 32 20 4c 7a 69 70 20 66 6f 72 6d 61 74 20 69 6d 70 72 6f 76 65 ut)....4.1.2.Lzip.format.improve
15ea0 6d 65 6e 74 73 20 6f 76 65 72 20 67 7a 69 70 20 61 6e 64 20 62 7a 69 70 32 0a 2d 2d 2d 2d 2d 2d ments.over.gzip.and.bzip2.------
15ec0 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d --------------------------------
15ee0 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0a 0a 27 36 34 2d 62 69 74 20 73 69 7a 65 20 66 69 65 6c 64 ------------..'64-bit.size.field
15f00 27 0a 20 20 20 20 20 50 72 6f 62 61 62 6c 79 20 74 68 65 20 6d 6f 73 74 20 66 72 65 71 75 65 6e '......Probably.the.most.frequen
15f20 74 6c 79 20 72 65 70 6f 72 74 65 64 20 73 68 6f 72 74 63 6f 6d 69 6e 67 20 6f 66 20 74 68 65 20 tly.reported.shortcoming.of.the.
15f40 67 7a 69 70 20 66 6f 72 6d 61 74 0a 20 20 20 20 20 69 73 20 74 68 61 74 20 69 74 20 6f 6e 6c 79 gzip.format......is.that.it.only
15f60 20 73 74 6f 72 65 73 20 74 68 65 20 6c 65 61 73 74 20 73 69 67 6e 69 66 69 63 61 6e 74 20 33 32 .stores.the.least.significant.32
15f80 20 62 69 74 73 20 6f 66 20 74 68 65 0a 20 20 20 20 20 75 6e 63 6f 6d 70 72 65 73 73 65 64 20 73 .bits.of.the......uncompressed.s
15fa0 69 7a 65 2e 20 54 68 65 20 73 69 7a 65 20 6f 66 20 61 6e 79 20 66 69 6c 65 20 6c 61 72 67 65 72 ize..The.size.of.any.file.larger
15fc0 20 74 68 61 6e 20 34 20 47 69 42 20 67 65 74 73 0a 20 20 20 20 20 74 72 75 6e 63 61 74 65 64 2e .than.4.GiB.gets......truncated.
15fe0 0a 0a 20 20 20 20 20 42 7a 69 70 32 20 64 6f 65 73 20 6e 6f 74 20 73 74 6f 72 65 20 74 68 65 20 .......Bzip2.does.not.store.the.
16000 75 6e 63 6f 6d 70 72 65 73 73 65 64 20 73 69 7a 65 20 6f 66 20 74 68 65 20 66 69 6c 65 2e 0a 0a uncompressed.size.of.the.file...
16020 20 20 20 20 20 54 68 65 20 6c 7a 69 70 20 66 6f 72 6d 61 74 20 70 72 6f 76 69 64 65 73 20 61 20 .....The.lzip.format.provides.a.
16040 36 34 2d 62 69 74 20 66 69 65 6c 64 20 66 6f 72 20 74 68 65 20 75 6e 63 6f 6d 70 72 65 73 73 65 64-bit.field.for.the.uncompresse
16060 64 20 73 69 7a 65 2e 0a 20 20 20 20 20 41 64 64 69 74 69 6f 6e 61 6c 6c 79 2c 20 6c 7a 69 70 20 d.size.......Additionally,.lzip.
16080 70 72 6f 64 75 63 65 73 20 6d 75 6c 74 69 6d 65 6d 62 65 72 20 6f 75 74 70 75 74 20 61 75 74 6f produces.multimember.output.auto
160a0 6d 61 74 69 63 61 6c 6c 79 20 77 68 65 6e 20 74 68 65 0a 20 20 20 20 20 73 69 7a 65 20 69 73 20 matically.when.the......size.is.
160c0 74 6f 6f 20 6c 61 72 67 65 20 66 6f 72 20 61 20 73 69 6e 67 6c 65 20 6d 65 6d 62 65 72 2c 20 61 too.large.for.a.single.member,.a
160e0 6c 6c 6f 77 69 6e 67 20 66 6f 72 20 61 6e 20 75 6e 6c 69 6d 69 74 65 64 0a 20 20 20 20 20 75 6e llowing.for.an.unlimited......un
16100 63 6f 6d 70 72 65 73 73 65 64 20 73 69 7a 65 2e 0a 0a 27 44 69 73 74 72 69 62 75 74 65 64 20 69 compressed.size...'Distributed.i
16120 6e 64 65 78 27 0a 20 20 20 20 20 54 68 65 20 6c 7a 69 70 20 66 6f 72 6d 61 74 20 70 72 6f 76 69 ndex'......The.lzip.format.provi
16140 64 65 73 20 61 20 64 69 73 74 72 69 62 75 74 65 64 20 69 6e 64 65 78 20 74 68 61 74 2c 20 61 6d des.a.distributed.index.that,.am
16160 6f 6e 67 20 6f 74 68 65 72 20 74 68 69 6e 67 73 2c 0a 20 20 20 20 20 68 65 6c 70 73 20 70 6c 7a ong.other.things,......helps.plz
16180 69 70 20 74 6f 20 64 65 63 6f 6d 70 72 65 73 73 20 73 65 76 65 72 61 6c 20 74 69 6d 65 73 20 66 ip.to.decompress.several.times.f
161a0 61 73 74 65 72 20 74 68 61 6e 20 70 69 67 7a 20 61 6e 64 20 68 65 6c 70 73 0a 20 20 20 20 20 6c aster.than.pigz.and.helps......l
161c0 7a 69 70 72 65 63 6f 76 65 72 20 64 6f 20 69 74 73 20 6a 6f 62 2e 20 4e 65 69 74 68 65 72 20 74 ziprecover.do.its.job..Neither.t
161e0 68 65 20 67 7a 69 70 20 66 6f 72 6d 61 74 20 6e 6f 72 20 74 68 65 20 62 7a 69 70 32 20 66 6f 72 he.gzip.format.nor.the.bzip2.for
16200 6d 61 74 0a 20 20 20 20 20 64 6f 20 70 72 6f 76 69 64 65 20 61 6e 20 69 6e 64 65 78 2e 0a 0a 20 mat......do.provide.an.index....
16220 20 20 20 20 41 20 64 69 73 74 72 69 62 75 74 65 64 20 69 6e 64 65 78 20 69 73 20 73 61 66 65 72 ....A.distributed.index.is.safer
16240 20 61 6e 64 20 6d 6f 72 65 20 73 63 61 6c 61 62 6c 65 20 74 68 61 6e 20 61 20 6d 6f 6e 6f 6c 69 .and.more.scalable.than.a.monoli
16260 74 68 69 63 0a 20 20 20 20 20 69 6e 64 65 78 2e 20 54 68 65 20 6d 6f 6e 6f 6c 69 74 68 69 63 20 thic......index..The.monolithic.
16280 69 6e 64 65 78 20 69 6e 74 72 6f 64 75 63 65 73 20 61 20 73 69 6e 67 6c 65 20 70 6f 69 6e 74 20 index.introduces.a.single.point.
162a0 6f 66 20 66 61 69 6c 75 72 65 20 69 6e 0a 20 20 20 20 20 74 68 65 20 63 6f 6d 70 72 65 73 73 65 of.failure.in......the.compresse
162c0 64 20 66 69 6c 65 20 61 6e 64 20 6d 61 79 20 6c 69 6d 69 74 20 74 68 65 20 6e 75 6d 62 65 72 20 d.file.and.may.limit.the.number.
162e0 6f 66 20 6d 65 6d 62 65 72 73 20 6f 72 20 74 68 65 20 74 6f 74 61 6c 0a 20 20 20 20 20 75 6e 63 of.members.or.the.total......unc
16300 6f 6d 70 72 65 73 73 65 64 20 73 69 7a 65 2e 0a 0a 0a 34 2e 32 20 51 75 61 6c 69 74 79 20 6f 66 ompressed.size....4.2.Quality.of
16320 20 69 6d 70 6c 65 6d 65 6e 74 61 74 69 6f 6e 0a 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d .implementation.================
16340 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 0a 0a 27 41 63 63 75 72 61 74 65 20 61 6e 64 20 72 6f 62 =============..'Accurate.and.rob
16360 75 73 74 20 65 72 72 6f 72 20 64 65 74 65 63 74 69 6f 6e 27 0a 20 20 20 20 20 54 68 65 20 6c 7a ust.error.detection'......The.lz
16380 69 70 20 66 6f 72 6d 61 74 20 70 72 6f 76 69 64 65 73 20 33 20 66 61 63 74 6f 72 20 69 6e 74 65 ip.format.provides.3.factor.inte
163a0 67 72 69 74 79 20 63 68 65 63 6b 69 6e 67 20 61 6e 64 20 74 68 65 0a 20 20 20 20 20 64 65 63 6f grity.checking.and.the......deco
163c0 6d 70 72 65 73 73 6f 72 73 20 72 65 70 6f 72 74 20 6d 69 73 6d 61 74 63 68 65 73 20 69 6e 20 65 mpressors.report.mismatches.in.e
163e0 61 63 68 20 66 61 63 74 6f 72 20 73 65 70 61 72 61 74 65 6c 79 2e 20 54 68 69 73 20 77 61 79 20 ach.factor.separately..This.way.
16400 69 66 0a 20 20 20 20 20 6a 75 73 74 20 6f 6e 65 20 62 79 74 65 20 69 6e 20 6f 6e 65 20 66 61 63 if......just.one.byte.in.one.fac
16420 74 6f 72 20 66 61 69 6c 73 20 62 75 74 20 74 68 65 20 6f 74 68 65 72 20 74 77 6f 20 66 61 63 74 tor.fails.but.the.other.two.fact
16440 6f 72 73 20 6d 61 74 63 68 20 74 68 65 0a 20 20 20 20 20 64 61 74 61 2c 20 69 74 20 70 72 6f 62 ors.match.the......data,.it.prob
16460 61 62 6c 79 20 6d 65 61 6e 73 20 74 68 61 74 20 74 68 65 20 64 61 74 61 20 61 72 65 20 69 6e 74 ably.means.that.the.data.are.int
16480 61 63 74 20 61 6e 64 20 74 68 65 20 63 6f 72 72 75 70 74 69 6f 6e 0a 20 20 20 20 20 6a 75 73 74 act.and.the.corruption......just
164a0 20 61 66 66 65 63 74 73 20 74 68 65 20 6d 69 73 6d 61 74 63 68 69 6e 67 20 66 61 63 74 6f 72 20 .affects.the.mismatching.factor.
164c0 28 43 52 43 20 6f 72 20 64 61 74 61 20 73 69 7a 65 29 20 69 6e 20 74 68 65 20 63 68 65 63 6b 0a (CRC.or.data.size).in.the.check.
164e0 20 20 20 20 20 73 65 71 75 65 6e 63 65 2e 0a 0a 27 4d 75 6c 74 69 70 6c 65 20 69 6d 70 6c 65 6d .....sequence...'Multiple.implem
16500 65 6e 74 61 74 69 6f 6e 73 27 0a 20 20 20 20 20 4a 75 73 74 20 6c 69 6b 65 20 74 68 65 20 6c 7a entations'......Just.like.the.lz
16520 69 70 20 66 6f 72 6d 61 74 20 70 72 6f 76 69 64 65 73 20 33 20 66 61 63 74 6f 72 20 70 72 6f 74 ip.format.provides.3.factor.prot
16540 65 63 74 69 6f 6e 20 61 67 61 69 6e 73 74 0a 20 20 20 20 20 75 6e 64 65 74 65 63 74 65 64 20 64 ection.against......undetected.d
16560 61 74 61 20 63 6f 72 72 75 70 74 69 6f 6e 2c 20 74 68 65 20 64 65 76 65 6c 6f 70 6d 65 6e 74 20 ata.corruption,.the.development.
16580 6d 65 74 68 6f 64 6f 6c 6f 67 79 20 6f 66 20 74 68 65 20 6c 7a 69 70 0a 20 20 20 20 20 66 61 6d methodology.of.the.lzip......fam
165a0 69 6c 79 20 6f 66 20 63 6f 6d 70 72 65 73 73 6f 72 73 20 70 72 6f 76 69 64 65 73 20 33 20 66 61 ily.of.compressors.provides.3.fa
165c0 63 74 6f 72 20 70 72 6f 74 65 63 74 69 6f 6e 20 61 67 61 69 6e 73 74 20 75 6e 64 65 74 65 63 74 ctor.protection.against.undetect
165e0 65 64 0a 20 20 20 20 20 70 72 6f 67 72 61 6d 6d 69 6e 67 20 65 72 72 6f 72 73 2e 0a 0a 20 20 20 ed......programming.errors......
16600 20 20 54 68 72 65 65 20 72 65 6c 61 74 65 64 20 62 75 74 20 69 6e 64 65 70 65 6e 64 65 6e 74 20 ..Three.related.but.independent.
16620 63 6f 6d 70 72 65 73 73 6f 72 20 69 6d 70 6c 65 6d 65 6e 74 61 74 69 6f 6e 73 2c 20 6c 7a 69 70 compressor.implementations,.lzip
16640 2c 20 63 6c 7a 69 70 2c 0a 20 20 20 20 20 61 6e 64 20 6d 69 6e 69 6c 7a 69 70 2f 6c 7a 6c 69 62 ,.clzip,......and.minilzip/lzlib
16660 2c 20 61 72 65 20 64 65 76 65 6c 6f 70 65 64 20 63 6f 6e 63 75 72 72 65 6e 74 6c 79 2e 20 45 76 ,.are.developed.concurrently..Ev
16680 65 72 79 20 73 74 61 62 6c 65 20 72 65 6c 65 61 73 65 0a 20 20 20 20 20 6f 66 20 61 6e 79 20 6f ery.stable.release......of.any.o
166a0 66 20 74 68 65 6d 20 69 73 20 74 65 73 74 65 64 20 74 6f 20 76 65 72 69 66 79 20 74 68 61 74 20 f.them.is.tested.to.verify.that.
166c0 69 74 20 70 72 6f 64 75 63 65 73 20 69 64 65 6e 74 69 63 61 6c 20 6f 75 74 70 75 74 0a 20 20 20 it.produces.identical.output....
166e0 20 20 74 6f 20 74 68 65 20 6f 74 68 65 72 20 74 77 6f 2e 20 54 68 69 73 20 67 75 61 72 61 6e 74 ..to.the.other.two..This.guarant
16700 65 65 73 20 74 68 61 74 20 61 6c 6c 20 74 68 72 65 65 20 69 6d 70 6c 65 6d 65 6e 74 20 74 68 65 ees.that.all.three.implement.the
16720 20 73 61 6d 65 0a 20 20 20 20 20 61 6c 67 6f 72 69 74 68 6d 2c 20 61 6e 64 20 6d 61 6b 65 73 20 .same......algorithm,.and.makes.
16740 69 74 20 75 6e 6c 69 6b 65 6c 79 20 74 68 61 74 20 61 6e 79 20 6f 66 20 74 68 65 6d 20 6d 61 79 it.unlikely.that.any.of.them.may
16760 20 63 6f 6e 74 61 69 6e 20 73 65 72 69 6f 75 73 0a 20 20 20 20 20 75 6e 64 69 73 63 6f 76 65 72 .contain.serious......undiscover
16780 65 64 20 65 72 72 6f 72 73 2e 20 49 6e 20 66 61 63 74 2c 20 6e 6f 20 65 72 72 6f 72 73 20 68 61 ed.errors..In.fact,.no.errors.ha
167a0 76 65 20 62 65 65 6e 20 64 69 73 63 6f 76 65 72 65 64 20 69 6e 20 6c 7a 69 70 0a 20 20 20 20 20 ve.been.discovered.in.lzip......
167c0 73 69 6e 63 65 20 32 30 30 39 2e 0a 0a 20 20 20 20 20 41 64 64 69 74 69 6f 6e 61 6c 6c 79 2c 20 since.2009........Additionally,.
167e0 74 68 65 20 74 68 72 65 65 20 69 6d 70 6c 65 6d 65 6e 74 61 74 69 6f 6e 73 20 68 61 76 65 20 62 the.three.implementations.have.b
16800 65 65 6e 20 65 78 74 65 6e 73 69 76 65 6c 79 20 74 65 73 74 65 64 0a 20 20 20 20 20 77 69 74 68 een.extensively.tested......with
16820 20 75 6e 7a 63 72 61 73 68 2c 20 76 61 6c 67 72 69 6e 64 2c 20 61 6e 64 20 27 61 6d 65 72 69 63 .unzcrash,.valgrind,.and.'americ
16840 61 6e 20 66 75 7a 7a 79 20 6c 6f 70 27 20 77 69 74 68 6f 75 74 20 66 69 6e 64 69 6e 67 20 61 0a an.fuzzy.lop'.without.finding.a.
16860 20 20 20 20 20 73 69 6e 67 6c 65 20 76 75 6c 6e 65 72 61 62 69 6c 69 74 79 20 6f 72 20 66 61 6c .....single.vulnerability.or.fal
16880 73 65 20 6e 65 67 61 74 69 76 65 2e 20 2a 4e 6f 74 65 20 55 6e 7a 63 72 61 73 68 3a 0a 20 20 20 se.negative..*Note.Unzcrash:....
168a0 20 20 28 6c 7a 69 70 72 65 63 6f 76 65 72 29 55 6e 7a 63 72 61 73 68 2e 0a 0a 27 44 69 63 74 69 ..(lziprecover)Unzcrash...'Dicti
168c0 6f 6e 61 72 79 20 73 69 7a 65 27 0a 20 20 20 20 20 4c 7a 69 70 20 61 75 74 6f 6d 61 74 69 63 61 onary.size'......Lzip.automatica
168e0 6c 6c 79 20 61 64 61 70 74 73 20 74 68 65 20 64 69 63 74 69 6f 6e 61 72 79 20 73 69 7a 65 20 74 lly.adapts.the.dictionary.size.t
16900 6f 20 74 68 65 20 73 69 7a 65 20 6f 66 20 65 61 63 68 20 66 69 6c 65 2e 0a 20 20 20 20 20 49 6e o.the.size.of.each.file.......In
16920 20 61 64 64 69 74 69 6f 6e 20 74 6f 20 72 65 64 75 63 69 6e 67 20 74 68 65 20 61 6d 6f 75 6e 74 .addition.to.reducing.the.amount
16940 20 6f 66 20 6d 65 6d 6f 72 79 20 72 65 71 75 69 72 65 64 20 66 6f 72 0a 20 20 20 20 20 64 65 63 .of.memory.required.for......dec
16960 6f 6d 70 72 65 73 73 69 6f 6e 2c 20 74 68 69 73 20 66 65 61 74 75 72 65 20 61 6c 73 6f 20 6d 69 ompression,.this.feature.also.mi
16980 6e 69 6d 69 7a 65 73 20 74 68 65 20 70 72 6f 62 61 62 69 6c 69 74 79 20 6f 66 20 62 65 69 6e 67 nimizes.the.probability.of.being
169a0 0a 20 20 20 20 20 61 66 66 65 63 74 65 64 20 62 79 20 52 41 4d 20 65 72 72 6f 72 73 20 64 75 72 ......affected.by.RAM.errors.dur
169c0 69 6e 67 20 63 6f 6d 70 72 65 73 73 69 6f 6e 2e 0a 0a 27 45 78 69 74 20 73 74 61 74 75 73 27 0a ing.compression...'Exit.status'.
169e0 20 20 20 20 20 52 65 74 75 72 6e 69 6e 67 20 61 20 77 61 72 6e 69 6e 67 20 73 74 61 74 75 73 20 .....Returning.a.warning.status.
16a00 6f 66 20 32 20 69 73 20 61 20 64 65 73 69 67 6e 20 66 6c 61 77 20 6f 66 20 63 6f 6d 70 72 65 73 of.2.is.a.design.flaw.of.compres
16a20 73 20 74 68 61 74 0a 20 20 20 20 20 6c 65 61 6b 65 64 20 69 6e 74 6f 20 74 68 65 20 64 65 73 69 s.that......leaked.into.the.desi
16a40 67 6e 20 6f 66 20 67 7a 69 70 2e 20 42 6f 74 68 20 62 7a 69 70 32 20 61 6e 64 20 6c 7a 69 70 20 gn.of.gzip..Both.bzip2.and.lzip.
16a60 61 72 65 20 66 72 65 65 20 66 72 6f 6d 20 74 68 69 73 0a 20 20 20 20 20 66 6c 61 77 2e 0a 0a 0a are.free.from.this......flaw....
16a80 1f 0a 46 69 6c 65 3a 20 6c 7a 69 70 2e 69 6e 66 6f 2c 20 20 4e 6f 64 65 3a 20 46 69 6c 65 20 66 ..File:.lzip.info,..Node:.File.f
16aa0 6f 72 6d 61 74 2c 20 20 4e 65 78 74 3a 20 41 6c 67 6f 72 69 74 68 6d 2c 20 20 50 72 65 76 3a 20 ormat,..Next:.Algorithm,..Prev:.
16ac0 51 75 61 6c 69 74 79 20 61 73 73 75 72 61 6e 63 65 2c 20 20 55 70 3a 20 54 6f 70 0a 0a 35 20 46 Quality.assurance,..Up:.Top..5.F
16ae0 69 6c 65 20 66 6f 72 6d 61 74 0a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 0a 0a 50 65 72 66 65 63 ile.format.*************..Perfec
16b00 74 69 6f 6e 20 69 73 20 72 65 61 63 68 65 64 2c 20 6e 6f 74 20 77 68 65 6e 20 74 68 65 72 65 20 tion.is.reached,.not.when.there.
16b20 69 73 20 6e 6f 20 6c 6f 6e 67 65 72 20 61 6e 79 74 68 69 6e 67 20 74 6f 20 61 64 64 2c 20 62 75 is.no.longer.anything.to.add,.bu
16b40 74 0a 77 68 65 6e 20 74 68 65 72 65 20 69 73 20 6e 6f 20 6c 6f 6e 67 65 72 20 61 6e 79 74 68 69 t.when.there.is.no.longer.anythi
16b60 6e 67 20 74 6f 20 74 61 6b 65 20 61 77 61 79 2e 0a 2d 2d 20 41 6e 74 6f 69 6e 65 20 64 65 20 53 ng.to.take.away..--.Antoine.de.S
16b80 61 69 6e 74 2d 45 78 75 70 65 72 79 0a 0a 0a 20 20 20 49 6e 20 74 68 65 20 64 69 61 67 72 61 6d aint-Exupery......In.the.diagram
16ba0 20 62 65 6c 6f 77 2c 20 61 20 62 6f 78 20 6c 69 6b 65 20 74 68 69 73 3a 0a 0a 2b 2d 2d 2d 2b 0a .below,.a.box.like.this:..+---+.
16bc0 7c 20 20 20 7c 20 3c 2d 2d 20 74 68 65 20 76 65 72 74 69 63 61 6c 20 62 61 72 73 20 6d 69 67 68 |...|.<--.the.vertical.bars.migh
16be0 74 20 62 65 20 6d 69 73 73 69 6e 67 0a 2b 2d 2d 2d 2b 0a 0a 20 20 20 72 65 70 72 65 73 65 6e 74 t.be.missing.+---+.....represent
16c00 73 20 6f 6e 65 20 62 79 74 65 3b 20 61 20 62 6f 78 20 6c 69 6b 65 20 74 68 69 73 3a 0a 0a 2b 3d s.one.byte;.a.box.like.this:..+=
16c20 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 2b 0a 7c 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7c 0a =============+.|..............|.
16c40 2b 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 2b 0a 0a 20 20 20 72 65 70 72 65 73 65 6e 74 73 20 +==============+.....represents.
16c60 61 20 76 61 72 69 61 62 6c 65 20 6e 75 6d 62 65 72 20 6f 66 20 62 79 74 65 73 2e 0a 0a 0a 20 20 a.variable.number.of.bytes......
16c80 20 41 20 6c 7a 69 70 20 66 69 6c 65 20 63 6f 6e 73 69 73 74 73 20 6f 66 20 61 20 73 65 72 69 65 .A.lzip.file.consists.of.a.serie
16ca0 73 20 6f 66 20 22 6d 65 6d 62 65 72 73 22 20 28 63 6f 6d 70 72 65 73 73 65 64 20 64 61 74 61 20 s.of."members".(compressed.data.
16cc0 73 65 74 73 29 2e 0a 54 68 65 20 6d 65 6d 62 65 72 73 20 73 69 6d 70 6c 79 20 61 70 70 65 61 72 sets)..The.members.simply.appear
16ce0 20 6f 6e 65 20 61 66 74 65 72 20 61 6e 6f 74 68 65 72 20 69 6e 20 74 68 65 20 66 69 6c 65 2c 20 .one.after.another.in.the.file,.
16d00 77 69 74 68 20 6e 6f 20 61 64 64 69 74 69 6f 6e 61 6c 0a 69 6e 66 6f 72 6d 61 74 69 6f 6e 20 62 with.no.additional.information.b
16d20 65 66 6f 72 65 2c 20 62 65 74 77 65 65 6e 2c 20 6f 72 20 61 66 74 65 72 20 74 68 65 6d 2e 0a 0a efore,.between,.or.after.them...
16d40 20 20 20 45 61 63 68 20 6d 65 6d 62 65 72 20 68 61 73 20 74 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 ...Each.member.has.the.following
16d60 20 73 74 72 75 63 74 75 72 65 3a 0a 0a 2b 2d 2d 2b 2d 2d 2b 2d 2d 2b 2d 2d 2b 2d 2d 2d 2d 2b 2d .structure:..+--+--+--+--+----+-
16d80 2d 2d 2d 2b 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 2b 2d 2b 2d 2b 2d 2b 2d 2b 2d 2b 2d 2b 2d 2b ---+=============+-+-+-+-+-+-+-+
16da0 2d 2b 2d 2b 2d 2b 2d 2b 2d 2b 2d 2b 2d 2b 2d 2b 2d 2b 2d 2b 2d 2b 2d 2b 2d 2b 0a 7c 20 49 44 20 -+-+-+-+-+-+-+-+-+-+-+-+-+.|.ID.
16dc0 73 74 72 69 6e 67 20 7c 20 56 4e 20 7c 20 44 53 20 7c 20 4c 5a 4d 41 20 73 74 72 65 61 6d 20 7c string.|.VN.|.DS.|.LZMA.stream.|
16de0 20 43 52 43 33 32 20 7c 20 20 20 44 61 74 61 20 73 69 7a 65 20 20 20 7c 20 20 4d 65 6d 62 65 72 .CRC32.|...Data.size...|..Member
16e00 20 73 69 7a 65 20 20 7c 0a 2b 2d 2d 2b 2d 2d 2b 2d 2d 2b 2d 2d 2b 2d 2d 2d 2d 2b 2d 2d 2d 2d 2b .size..|.+--+--+--+--+----+----+
16e20 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 2b 2d 2b 2d 2b 2d 2b 2d 2b 2d 2b 2d 2b 2d 2b 2d 2b 2d 2b =============+-+-+-+-+-+-+-+-+-+
16e40 2d 2b 2d 2b 2d 2b 2d 2b 2d 2b 2d 2b 2d 2b 2d 2b 2d 2b 2d 2b 2d 2b 0a 0a 20 20 20 41 6c 6c 20 6d -+-+-+-+-+-+-+-+-+-+-+.....All.m
16e60 75 6c 74 69 62 79 74 65 20 76 61 6c 75 65 73 20 61 72 65 20 73 74 6f 72 65 64 20 69 6e 20 6c 69 ultibyte.values.are.stored.in.li
16e80 74 74 6c 65 20 65 6e 64 69 61 6e 20 6f 72 64 65 72 2e 0a 0a 27 49 44 20 73 74 72 69 6e 67 20 28 ttle.endian.order...'ID.string.(
16ea0 74 68 65 20 22 6d 61 67 69 63 22 20 62 79 74 65 73 29 27 0a 20 20 20 20 20 41 20 66 6f 75 72 20 the."magic".bytes)'......A.four.
16ec0 62 79 74 65 20 73 74 72 69 6e 67 2c 20 69 64 65 6e 74 69 66 79 69 6e 67 20 74 68 65 20 6c 7a 69 byte.string,.identifying.the.lzi
16ee0 70 20 66 6f 72 6d 61 74 2c 20 77 69 74 68 20 74 68 65 20 76 61 6c 75 65 20 22 4c 5a 49 50 22 0a p.format,.with.the.value."LZIP".
16f00 20 20 20 20 20 28 30 78 34 43 2c 20 30 78 35 41 2c 20 30 78 34 39 2c 20 30 78 35 30 29 2e 0a 0a .....(0x4C,.0x5A,.0x49,.0x50)...
16f20 27 56 4e 20 28 76 65 72 73 69 6f 6e 20 6e 75 6d 62 65 72 2c 20 31 20 62 79 74 65 29 27 0a 20 20 'VN.(version.number,.1.byte)'...
16f40 20 20 20 4a 75 73 74 20 69 6e 20 63 61 73 65 20 73 6f 6d 65 74 68 69 6e 67 20 6e 65 65 64 73 20 ...Just.in.case.something.needs.
16f60 74 6f 20 62 65 20 6d 6f 64 69 66 69 65 64 20 69 6e 20 74 68 65 20 66 75 74 75 72 65 2e 20 31 20 to.be.modified.in.the.future..1.
16f80 66 6f 72 20 6e 6f 77 2e 0a 0a 27 44 53 20 28 63 6f 64 65 64 20 64 69 63 74 69 6f 6e 61 72 79 20 for.now...'DS.(coded.dictionary.
16fa0 73 69 7a 65 2c 20 31 20 62 79 74 65 29 27 0a 20 20 20 20 20 54 68 65 20 64 69 63 74 69 6f 6e 61 size,.1.byte)'......The.dictiona
16fc0 72 79 20 73 69 7a 65 20 69 73 20 63 61 6c 63 75 6c 61 74 65 64 20 62 79 20 74 61 6b 69 6e 67 20 ry.size.is.calculated.by.taking.
16fe0 61 20 70 6f 77 65 72 20 6f 66 20 32 20 28 74 68 65 20 62 61 73 65 0a 20 20 20 20 20 73 69 7a 65 a.power.of.2.(the.base......size
17000 29 20 61 6e 64 20 73 75 62 74 72 61 63 74 69 6e 67 20 66 72 6f 6d 20 69 74 20 61 20 66 72 61 63 ).and.subtracting.from.it.a.frac
17020 74 69 6f 6e 20 62 65 74 77 65 65 6e 20 30 2f 31 36 20 61 6e 64 20 37 2f 31 36 20 6f 66 20 74 68 tion.between.0/16.and.7/16.of.th
17040 65 0a 20 20 20 20 20 62 61 73 65 20 73 69 7a 65 2e 0a 20 20 20 20 20 42 69 74 73 20 34 2d 30 20 e......base.size.......Bits.4-0.
17060 63 6f 6e 74 61 69 6e 20 74 68 65 20 62 61 73 65 20 32 20 6c 6f 67 61 72 69 74 68 6d 20 6f 66 20 contain.the.base.2.logarithm.of.
17080 74 68 65 20 62 61 73 65 20 73 69 7a 65 20 28 31 32 20 74 6f 20 32 39 29 2e 0a 20 20 20 20 20 42 the.base.size.(12.to.29).......B
170a0 69 74 73 20 37 2d 35 20 63 6f 6e 74 61 69 6e 20 74 68 65 20 6e 75 6d 65 72 61 74 6f 72 20 6f 66 its.7-5.contain.the.numerator.of
170c0 20 74 68 65 20 66 72 61 63 74 69 6f 6e 20 28 30 20 74 6f 20 37 29 20 74 6f 20 73 75 62 74 72 61 .the.fraction.(0.to.7).to.subtra
170e0 63 74 0a 20 20 20 20 20 66 72 6f 6d 20 74 68 65 20 62 61 73 65 20 73 69 7a 65 20 74 6f 20 6f 62 ct......from.the.base.size.to.ob
17100 74 61 69 6e 20 74 68 65 20 64 69 63 74 69 6f 6e 61 72 79 20 73 69 7a 65 2e 0a 20 20 20 20 20 45 tain.the.dictionary.size.......E
17120 78 61 6d 70 6c 65 3a 20 30 78 44 33 20 3d 20 32 5e 31 39 20 2d 20 36 20 2a 20 32 5e 31 35 20 3d xample:.0xD3.=.2^19.-.6.*.2^15.=
17140 20 35 31 32 20 4b 69 42 20 2d 20 36 20 2a 20 33 32 20 4b 69 42 20 3d 20 33 32 30 20 4b 69 42 0a .512.KiB.-.6.*.32.KiB.=.320.KiB.
17160 20 20 20 20 20 56 61 6c 69 64 20 76 61 6c 75 65 73 20 66 6f 72 20 64 69 63 74 69 6f 6e 61 72 79 .....Valid.values.for.dictionary
17180 20 73 69 7a 65 20 72 61 6e 67 65 20 66 72 6f 6d 20 34 20 4b 69 42 20 74 6f 20 35 31 32 20 4d 69 .size.range.from.4.KiB.to.512.Mi
171a0 42 2e 0a 0a 27 4c 5a 4d 41 20 73 74 72 65 61 6d 27 0a 20 20 20 20 20 54 68 65 20 4c 5a 4d 41 20 B...'LZMA.stream'......The.LZMA.
171c0 73 74 72 65 61 6d 2c 20 66 69 6e 69 73 68 65 64 20 62 79 20 61 6e 20 65 6e 64 20 6f 66 20 73 74 stream,.finished.by.an.end.of.st
171e0 72 65 61 6d 20 6d 61 72 6b 65 72 2e 20 55 73 65 73 20 64 65 66 61 75 6c 74 0a 20 20 20 20 20 76 ream.marker..Uses.default......v
17200 61 6c 75 65 73 20 66 6f 72 20 65 6e 63 6f 64 65 72 20 70 72 6f 70 65 72 74 69 65 73 2e 20 2a 4e alues.for.encoder.properties..*N
17220 6f 74 65 20 53 74 72 65 61 6d 20 66 6f 72 6d 61 74 3a 3a 2c 20 66 6f 72 20 61 20 63 6f 6d 70 6c ote.Stream.format::,.for.a.compl
17240 65 74 65 0a 20 20 20 20 20 64 65 73 63 72 69 70 74 69 6f 6e 2e 0a 0a 27 43 52 43 33 32 20 28 34 ete......description...'CRC32.(4
17260 20 62 79 74 65 73 29 27 0a 20 20 20 20 20 43 79 63 6c 69 63 20 52 65 64 75 6e 64 61 6e 63 79 20 .bytes)'......Cyclic.Redundancy.
17280 43 68 65 63 6b 20 28 43 52 43 29 20 6f 66 20 74 68 65 20 75 6e 63 6f 6d 70 72 65 73 73 65 64 20 Check.(CRC).of.the.uncompressed.
172a0 6f 72 69 67 69 6e 61 6c 20 64 61 74 61 2e 0a 0a 27 44 61 74 61 20 73 69 7a 65 20 28 38 20 62 79 original.data...'Data.size.(8.by
172c0 74 65 73 29 27 0a 20 20 20 20 20 53 69 7a 65 20 6f 66 20 74 68 65 20 75 6e 63 6f 6d 70 72 65 73 tes)'......Size.of.the.uncompres
172e0 73 65 64 20 6f 72 69 67 69 6e 61 6c 20 64 61 74 61 2e 0a 0a 27 4d 65 6d 62 65 72 20 73 69 7a 65 sed.original.data...'Member.size
17300 20 28 38 20 62 79 74 65 73 29 27 0a 20 20 20 20 20 54 6f 74 61 6c 20 73 69 7a 65 20 6f 66 20 74 .(8.bytes)'......Total.size.of.t
17320 68 65 20 6d 65 6d 62 65 72 2c 20 69 6e 63 6c 75 64 69 6e 67 20 68 65 61 64 65 72 20 61 6e 64 20 he.member,.including.header.and.
17340 74 72 61 69 6c 65 72 2e 20 54 68 69 73 20 66 69 65 6c 64 20 61 63 74 73 0a 20 20 20 20 20 61 73 trailer..This.field.acts......as
17360 20 61 20 64 69 73 74 72 69 62 75 74 65 64 20 69 6e 64 65 78 2c 20 61 6c 6c 6f 77 73 20 74 68 65 .a.distributed.index,.allows.the
17380 20 76 65 72 69 66 69 63 61 74 69 6f 6e 20 6f 66 20 73 74 72 65 61 6d 20 69 6e 74 65 67 72 69 74 .verification.of.stream.integrit
173a0 79 2c 0a 20 20 20 20 20 61 6e 64 20 66 61 63 69 6c 69 74 61 74 65 73 20 73 61 66 65 20 72 65 63 y,......and.facilitates.safe.rec
173c0 6f 76 65 72 79 20 6f 66 20 75 6e 64 61 6d 61 67 65 64 20 6d 65 6d 62 65 72 73 20 66 72 6f 6d 20 overy.of.undamaged.members.from.
173e0 6d 75 6c 74 69 6d 65 6d 62 65 72 0a 20 20 20 20 20 66 69 6c 65 73 2e 0a 0a 0a 1f 0a 46 69 6c 65 multimember......files......File
17400 3a 20 6c 7a 69 70 2e 69 6e 66 6f 2c 20 20 4e 6f 64 65 3a 20 41 6c 67 6f 72 69 74 68 6d 2c 20 20 :.lzip.info,..Node:.Algorithm,..
17420 4e 65 78 74 3a 20 53 74 72 65 61 6d 20 66 6f 72 6d 61 74 2c 20 20 50 72 65 76 3a 20 46 69 6c 65 Next:.Stream.format,..Prev:.File
17440 20 66 6f 72 6d 61 74 2c 20 20 55 70 3a 20 54 6f 70 0a 0a 36 20 41 6c 67 6f 72 69 74 68 6d 0a 2a .format,..Up:.Top..6.Algorithm.*
17460 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 0a 0a 49 6e 20 73 70 69 74 65 20 6f 66 20 69 74 73 20 6e 61 6d 65 **********..In.spite.of.its.name
17480 20 28 4c 65 6d 70 65 6c 2d 5a 69 76 2d 4d 61 72 6b 6f 76 20 63 68 61 69 6e 2d 41 6c 67 6f 72 69 .(Lempel-Ziv-Markov.chain-Algori
174a0 74 68 6d 29 2c 20 4c 5a 4d 41 20 69 73 20 6e 6f 74 20 61 0a 63 6f 6e 63 72 65 74 65 20 61 6c 67 thm),.LZMA.is.not.a.concrete.alg
174c0 6f 72 69 74 68 6d 3b 20 69 74 20 69 73 20 6d 6f 72 65 20 6c 69 6b 65 20 22 61 6e 79 20 61 6c 67 orithm;.it.is.more.like."any.alg
174e0 6f 72 69 74 68 6d 20 75 73 69 6e 67 20 74 68 65 20 4c 5a 4d 41 20 63 6f 64 69 6e 67 0a 73 63 68 orithm.using.the.LZMA.coding.sch
17500 65 6d 65 22 2e 20 4c 5a 4d 41 20 63 6f 6d 70 72 65 73 73 69 6f 6e 20 63 6f 6e 73 69 73 74 73 20 eme"..LZMA.compression.consists.
17520 69 6e 20 64 65 73 63 72 69 62 69 6e 67 20 74 68 65 20 75 6e 63 6f 6d 70 72 65 73 73 65 64 20 64 in.describing.the.uncompressed.d
17540 61 74 61 20 61 73 20 61 0a 73 75 63 63 65 73 73 69 6f 6e 20 6f 66 20 63 6f 64 69 6e 67 20 73 65 ata.as.a.succession.of.coding.se
17560 71 75 65 6e 63 65 73 20 66 72 6f 6d 20 74 68 65 20 73 65 74 20 73 68 6f 77 6e 20 69 6e 20 53 65 quences.from.the.set.shown.in.Se
17580 63 74 69 6f 6e 20 27 57 68 61 74 20 69 73 0a 63 6f 64 65 64 27 20 28 2a 6e 6f 74 65 20 77 68 61 ction.'What.is.coded'.(*note.wha
175a0 74 2d 69 73 2d 63 6f 64 65 64 3a 3a 29 2c 20 61 6e 64 20 74 68 65 6e 20 65 6e 63 6f 64 69 6e 67 t-is-coded::),.and.then.encoding
175c0 20 74 68 65 6d 20 75 73 69 6e 67 20 61 20 72 61 6e 67 65 0a 65 6e 63 6f 64 65 72 2e 20 46 6f 72 .them.using.a.range.encoder..For
175e0 20 65 78 61 6d 70 6c 65 2c 20 74 68 65 20 6f 70 74 69 6f 6e 20 27 2d 30 27 20 6f 66 20 6c 7a 69 .example,.the.option.'-0'.of.lzi
17600 70 20 75 73 65 73 20 74 68 65 20 73 63 68 65 6d 65 20 69 6e 20 61 6c 6d 6f 73 74 20 74 68 65 0a p.uses.the.scheme.in.almost.the.
17620 73 69 6d 70 6c 65 73 74 20 77 61 79 20 70 6f 73 73 69 62 6c 65 3b 20 69 73 73 75 69 6e 67 20 74 simplest.way.possible;.issuing.t
17640 68 65 20 6c 6f 6e 67 65 73 74 20 6d 61 74 63 68 20 69 74 20 63 61 6e 20 66 69 6e 64 2c 20 6f 72 he.longest.match.it.can.find,.or
17660 20 61 20 6c 69 74 65 72 61 6c 0a 62 79 74 65 20 69 66 20 69 74 20 63 61 6e 27 74 20 66 69 6e 64 .a.literal.byte.if.it.can't.find
17680 20 61 20 6d 61 74 63 68 2e 20 49 6e 76 65 72 73 65 6c 79 2c 20 61 20 6d 75 63 68 20 6d 6f 72 65 .a.match..Inversely,.a.much.more
176a0 20 65 6c 61 62 6f 72 61 74 65 64 20 77 61 79 20 6f 66 0a 66 69 6e 64 69 6e 67 20 63 6f 64 69 6e .elaborated.way.of.finding.codin
176c0 67 20 73 65 71 75 65 6e 63 65 73 20 6f 66 20 6d 69 6e 69 6d 75 6d 20 73 69 7a 65 20 74 68 61 6e g.sequences.of.minimum.size.than
176e0 20 74 68 65 20 6f 6e 65 20 63 75 72 72 65 6e 74 6c 79 20 75 73 65 64 20 62 79 0a 6c 7a 69 70 20 .the.one.currently.used.by.lzip.
17700 63 6f 75 6c 64 20 62 65 20 64 65 76 65 6c 6f 70 65 64 2c 20 61 6e 64 20 74 68 65 20 72 65 73 75 could.be.developed,.and.the.resu
17720 6c 74 69 6e 67 20 73 65 71 75 65 6e 63 65 20 63 6f 75 6c 64 20 61 6c 73 6f 20 62 65 20 63 6f 64 lting.sequence.could.also.be.cod
17740 65 64 0a 75 73 69 6e 67 20 74 68 65 20 4c 5a 4d 41 20 63 6f 64 69 6e 67 20 73 63 68 65 6d 65 2e ed.using.the.LZMA.coding.scheme.
17760 0a 0a 20 20 20 4c 7a 69 70 20 63 75 72 72 65 6e 74 6c 79 20 69 6d 70 6c 65 6d 65 6e 74 73 20 74 .....Lzip.currently.implements.t
17780 77 6f 20 76 61 72 69 61 6e 74 73 20 6f 66 20 74 68 65 20 4c 5a 4d 41 20 61 6c 67 6f 72 69 74 68 wo.variants.of.the.LZMA.algorith
177a0 6d 3b 20 66 61 73 74 20 28 75 73 65 64 0a 62 79 20 6f 70 74 69 6f 6e 20 27 2d 30 27 29 20 61 6e m;.fast.(used.by.option.'-0').an
177c0 64 20 6e 6f 72 6d 61 6c 20 28 75 73 65 64 20 62 79 20 61 6c 6c 20 6f 74 68 65 72 20 63 6f 6d 70 d.normal.(used.by.all.other.comp
177e0 72 65 73 73 69 6f 6e 20 6c 65 76 65 6c 73 29 2e 0a 0a 20 20 20 54 68 65 20 68 69 67 68 20 63 6f ression.levels)......The.high.co
17800 6d 70 72 65 73 73 69 6f 6e 20 6f 66 20 4c 5a 4d 41 20 63 6f 6d 65 73 20 66 72 6f 6d 20 63 6f 6d mpression.of.LZMA.comes.from.com
17820 62 69 6e 69 6e 67 20 74 77 6f 20 62 61 73 69 63 2c 20 77 65 6c 6c 2d 70 72 6f 76 65 6e 0a 63 6f bining.two.basic,.well-proven.co
17840 6d 70 72 65 73 73 69 6f 6e 20 69 64 65 61 73 3a 20 73 6c 69 64 69 6e 67 20 64 69 63 74 69 6f 6e mpression.ideas:.sliding.diction
17860 61 72 69 65 73 20 28 4c 5a 37 37 2f 37 38 29 20 61 6e 64 20 6d 61 72 6b 6f 76 20 6d 6f 64 65 6c aries.(LZ77/78).and.markov.model
17880 73 20 28 74 68 65 0a 74 68 69 6e 67 20 75 73 65 64 20 62 79 20 65 76 65 72 79 20 63 6f 6d 70 72 s.(the.thing.used.by.every.compr
178a0 65 73 73 69 6f 6e 20 61 6c 67 6f 72 69 74 68 6d 20 74 68 61 74 20 75 73 65 73 20 61 20 72 61 6e ession.algorithm.that.uses.a.ran
178c0 67 65 20 65 6e 63 6f 64 65 72 20 6f 72 0a 73 69 6d 69 6c 61 72 20 6f 72 64 65 72 2d 30 20 65 6e ge.encoder.or.similar.order-0.en
178e0 74 72 6f 70 79 20 63 6f 64 65 72 20 61 73 20 69 74 73 20 6c 61 73 74 20 73 74 61 67 65 29 20 77 tropy.coder.as.its.last.stage).w
17900 69 74 68 20 73 65 67 72 65 67 61 74 69 6f 6e 20 6f 66 0a 63 6f 6e 74 65 78 74 73 20 61 63 63 6f ith.segregation.of.contexts.acco
17920 72 64 69 6e 67 20 74 6f 20 77 68 61 74 20 74 68 65 20 62 69 74 73 20 61 72 65 20 75 73 65 64 20 rding.to.what.the.bits.are.used.
17940 66 6f 72 2e 0a 0a 20 20 20 4c 7a 69 70 20 69 73 20 61 20 74 77 6f 20 73 74 61 67 65 20 63 6f 6d for......Lzip.is.a.two.stage.com
17960 70 72 65 73 73 6f 72 2e 20 54 68 65 20 66 69 72 73 74 20 73 74 61 67 65 20 69 73 20 61 20 4c 65 pressor..The.first.stage.is.a.Le
17980 6d 70 65 6c 2d 5a 69 76 20 63 6f 64 65 72 2c 0a 77 68 69 63 68 20 72 65 64 75 63 65 73 20 72 65 mpel-Ziv.coder,.which.reduces.re
179a0 64 75 6e 64 61 6e 63 79 20 62 79 20 74 72 61 6e 73 6c 61 74 69 6e 67 20 63 68 75 6e 6b 73 20 6f dundancy.by.translating.chunks.o
179c0 66 20 64 61 74 61 20 74 6f 20 74 68 65 69 72 0a 63 6f 72 72 65 73 70 6f 6e 64 69 6e 67 20 64 69 f.data.to.their.corresponding.di
179e0 73 74 61 6e 63 65 2d 6c 65 6e 67 74 68 20 70 61 69 72 73 2e 20 54 68 65 20 73 65 63 6f 6e 64 20 stance-length.pairs..The.second.
17a00 73 74 61 67 65 20 69 73 20 61 20 72 61 6e 67 65 20 65 6e 63 6f 64 65 72 0a 74 68 61 74 20 75 73 stage.is.a.range.encoder.that.us
17a20 65 73 20 61 20 64 69 66 66 65 72 65 6e 74 20 70 72 6f 62 61 62 69 6c 69 74 79 20 6d 6f 64 65 6c es.a.different.probability.model
17a40 20 66 6f 72 20 65 61 63 68 20 74 79 70 65 20 6f 66 20 64 61 74 61 3b 20 64 69 73 74 61 6e 63 65 .for.each.type.of.data;.distance
17a60 73 2c 0a 6c 65 6e 67 74 68 73 2c 20 6c 69 74 65 72 61 6c 20 62 79 74 65 73 2c 20 65 74 63 2e 0a s,.lengths,.literal.bytes,.etc..
17a80 0a 20 20 20 48 65 72 65 20 69 73 20 68 6f 77 20 69 74 20 77 6f 72 6b 73 2c 20 73 74 65 70 20 62 ....Here.is.how.it.works,.step.b
17aa0 79 20 73 74 65 70 3a 0a 0a 20 20 20 31 29 20 54 68 65 20 6d 65 6d 62 65 72 20 68 65 61 64 65 72 y.step:.....1).The.member.header
17ac0 20 69 73 20 77 72 69 74 74 65 6e 20 74 6f 20 74 68 65 20 6f 75 74 70 75 74 20 73 74 72 65 61 6d .is.written.to.the.output.stream
17ae0 2e 0a 0a 20 20 20 32 29 20 54 68 65 20 66 69 72 73 74 20 62 79 74 65 20 69 73 20 63 6f 64 65 64 ......2).The.first.byte.is.coded
17b00 20 6c 69 74 65 72 61 6c 6c 79 2c 20 62 65 63 61 75 73 65 20 74 68 65 72 65 20 61 72 65 20 6e 6f .literally,.because.there.are.no
17b20 20 70 72 65 76 69 6f 75 73 0a 62 79 74 65 73 20 74 6f 20 77 68 69 63 68 20 74 68 65 20 6d 61 74 .previous.bytes.to.which.the.mat
17b40 63 68 20 66 69 6e 64 65 72 20 63 61 6e 20 72 65 66 65 72 20 74 6f 2e 0a 0a 20 20 20 33 29 20 54 ch.finder.can.refer.to......3).T
17b60 68 65 20 6d 61 69 6e 20 65 6e 63 6f 64 65 72 20 61 64 76 61 6e 63 65 73 20 74 6f 20 74 68 65 20 he.main.encoder.advances.to.the.
17b80 6e 65 78 74 20 62 79 74 65 20 69 6e 20 74 68 65 20 69 6e 70 75 74 20 64 61 74 61 20 61 6e 64 0a next.byte.in.the.input.data.and.
17ba0 63 61 6c 6c 73 20 74 68 65 20 6d 61 74 63 68 20 66 69 6e 64 65 72 2e 0a 0a 20 20 20 34 29 20 54 calls.the.match.finder......4).T
17bc0 68 65 20 6d 61 74 63 68 20 66 69 6e 64 65 72 20 66 69 6c 6c 73 20 61 6e 20 61 72 72 61 79 20 77 he.match.finder.fills.an.array.w
17be0 69 74 68 20 74 68 65 20 6d 69 6e 69 6d 75 6d 20 64 69 73 74 61 6e 63 65 73 20 62 65 66 6f 72 65 ith.the.minimum.distances.before
17c00 20 74 68 65 0a 63 75 72 72 65 6e 74 20 62 79 74 65 20 77 68 65 72 65 20 61 20 6d 61 74 63 68 20 .the.current.byte.where.a.match.
17c20 6f 66 20 61 20 67 69 76 65 6e 20 6c 65 6e 67 74 68 20 63 61 6e 20 62 65 20 66 6f 75 6e 64 2e 0a of.a.given.length.can.be.found..
17c40 0a 20 20 20 35 29 20 47 6f 20 62 61 63 6b 20 74 6f 20 73 74 65 70 20 33 20 75 6e 74 69 6c 20 61 ....5).Go.back.to.step.3.until.a
17c60 20 73 65 71 75 65 6e 63 65 20 28 66 6f 72 6d 65 64 20 6f 66 20 70 61 69 72 73 2c 20 72 65 70 65 .sequence.(formed.of.pairs,.repe
17c80 61 74 65 64 0a 64 69 73 74 61 6e 63 65 73 2c 20 61 6e 64 20 6c 69 74 65 72 61 6c 20 62 79 74 65 ated.distances,.and.literal.byte
17ca0 73 29 20 6f 66 20 6d 69 6e 69 6d 75 6d 20 70 72 69 63 65 20 68 61 73 20 62 65 65 6e 20 66 6f 72 s).of.minimum.price.has.been.for
17cc0 6d 65 64 2e 20 57 68 65 72 65 20 74 68 65 0a 70 72 69 63 65 20 72 65 70 72 65 73 65 6e 74 73 20 med..Where.the.price.represents.
17ce0 74 68 65 20 6e 75 6d 62 65 72 20 6f 66 20 6f 75 74 70 75 74 20 62 69 74 73 20 70 72 6f 64 75 63 the.number.of.output.bits.produc
17d00 65 64 2e 0a 0a 20 20 20 36 29 20 54 68 65 20 72 61 6e 67 65 20 65 6e 63 6f 64 65 72 20 65 6e 63 ed......6).The.range.encoder.enc
17d20 6f 64 65 73 20 74 68 65 20 73 65 71 75 65 6e 63 65 20 70 72 6f 64 75 63 65 64 20 62 79 20 74 68 odes.the.sequence.produced.by.th
17d40 65 20 6d 61 69 6e 20 65 6e 63 6f 64 65 72 0a 61 6e 64 20 73 65 6e 64 73 20 74 68 65 20 62 79 74 e.main.encoder.and.sends.the.byt
17d60 65 73 20 70 72 6f 64 75 63 65 64 20 74 6f 20 74 68 65 20 6f 75 74 70 75 74 20 73 74 72 65 61 6d es.produced.to.the.output.stream
17d80 2e 0a 0a 20 20 20 37 29 20 47 6f 20 62 61 63 6b 20 74 6f 20 73 74 65 70 20 33 20 75 6e 74 69 6c ......7).Go.back.to.step.3.until
17da0 20 74 68 65 20 69 6e 70 75 74 20 64 61 74 61 20 61 72 65 20 66 69 6e 69 73 68 65 64 20 6f 72 20 .the.input.data.are.finished.or.
17dc0 75 6e 74 69 6c 20 74 68 65 0a 6d 65 6d 62 65 72 20 6f 72 20 76 6f 6c 75 6d 65 20 73 69 7a 65 20 until.the.member.or.volume.size.
17de0 6c 69 6d 69 74 73 20 61 72 65 20 72 65 61 63 68 65 64 2e 0a 0a 20 20 20 38 29 20 54 68 65 20 72 limits.are.reached......8).The.r
17e00 61 6e 67 65 20 65 6e 63 6f 64 65 72 20 69 73 20 66 6c 75 73 68 65 64 2e 0a 0a 20 20 20 39 29 20 ange.encoder.is.flushed......9).
17e20 54 68 65 20 6d 65 6d 62 65 72 20 74 72 61 69 6c 65 72 20 69 73 20 77 72 69 74 74 65 6e 20 74 6f The.member.trailer.is.written.to
17e40 20 74 68 65 20 6f 75 74 70 75 74 20 73 74 72 65 61 6d 2e 0a 0a 20 20 20 31 30 29 20 49 66 20 74 .the.output.stream......10).If.t
17e60 68 65 72 65 20 61 72 65 20 6d 6f 72 65 20 64 61 74 61 20 74 6f 20 63 6f 6d 70 72 65 73 73 2c 20 here.are.more.data.to.compress,.
17e80 67 6f 20 62 61 63 6b 20 74 6f 20 73 74 65 70 20 31 2e 0a 0a 0a 20 20 20 44 75 72 69 6e 67 20 63 go.back.to.step.1.......During.c
17ea0 6f 6d 70 72 65 73 73 69 6f 6e 2c 20 6c 7a 69 70 20 72 65 61 64 73 20 64 61 74 61 20 69 6e 20 6c ompression,.lzip.reads.data.in.l
17ec0 61 72 67 65 20 62 6c 6f 63 6b 73 20 28 6f 6e 65 20 64 69 63 74 69 6f 6e 61 72 79 20 73 69 7a 65 arge.blocks.(one.dictionary.size
17ee0 0a 61 74 20 61 20 74 69 6d 65 29 2e 20 54 68 65 72 65 66 6f 72 65 20 69 74 20 6d 61 79 20 62 6c .at.a.time)..Therefore.it.may.bl
17f00 6f 63 6b 20 66 6f 72 20 75 70 20 74 6f 20 74 65 6e 73 20 6f 66 20 73 65 63 6f 6e 64 73 20 61 6e ock.for.up.to.tens.of.seconds.an
17f20 79 20 70 72 6f 63 65 73 73 0a 66 65 65 64 69 6e 67 20 64 61 74 61 20 74 6f 20 69 74 20 74 68 72 y.process.feeding.data.to.it.thr
17f40 6f 75 67 68 20 61 20 70 69 70 65 2e 20 54 68 69 73 20 69 73 20 6e 6f 72 6d 61 6c 2e 20 54 68 65 ough.a.pipe..This.is.normal..The
17f60 20 62 6c 6f 63 6b 69 6e 67 20 69 6e 74 65 72 76 61 6c 73 0a 67 65 74 20 6c 6f 6e 67 65 72 20 77 .blocking.intervals.get.longer.w
17f80 69 74 68 20 68 69 67 68 65 72 20 63 6f 6d 70 72 65 73 73 69 6f 6e 20 6c 65 76 65 6c 73 20 62 65 ith.higher.compression.levels.be
17fa0 63 61 75 73 65 20 64 69 63 74 69 6f 6e 61 72 79 20 73 69 7a 65 20 69 6e 63 72 65 61 73 65 73 0a cause.dictionary.size.increases.
17fc0 28 61 6e 64 20 63 6f 6d 70 72 65 73 73 69 6f 6e 20 73 70 65 65 64 20 64 65 63 72 65 61 73 65 73 (and.compression.speed.decreases
17fe0 29 20 77 69 74 68 20 63 6f 6d 70 72 65 73 73 69 6f 6e 20 6c 65 76 65 6c 2e 0a 0a 54 68 65 20 69 ).with.compression.level...The.i
18000 64 65 61 73 20 65 6d 62 6f 64 69 65 64 20 69 6e 20 6c 7a 69 70 20 61 72 65 20 64 75 65 20 74 6f deas.embodied.in.lzip.are.due.to
18020 20 28 61 74 20 6c 65 61 73 74 29 20 74 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 70 65 6f 70 6c 65 .(at.least).the.following.people
18040 3a 0a 41 62 72 61 68 61 6d 20 4c 65 6d 70 65 6c 20 61 6e 64 20 4a 61 63 6f 62 20 5a 69 76 20 28 :.Abraham.Lempel.and.Jacob.Ziv.(
18060 66 6f 72 20 74 68 65 20 4c 5a 20 61 6c 67 6f 72 69 74 68 6d 29 2c 20 41 6e 64 72 65 79 20 4d 61 for.the.LZ.algorithm),.Andrey.Ma
18080 72 6b 6f 76 20 28 66 6f 72 20 74 68 65 0a 64 65 66 69 6e 69 74 69 6f 6e 20 6f 66 20 4d 61 72 6b rkov.(for.the.definition.of.Mark
180a0 6f 76 20 63 68 61 69 6e 73 29 2c 20 47 2e 4e 2e 4e 2e 20 4d 61 72 74 69 6e 20 28 66 6f 72 20 74 ov.chains),.G.N.N..Martin.(for.t
180c0 68 65 20 64 65 66 69 6e 69 74 69 6f 6e 20 6f 66 20 72 61 6e 67 65 0a 65 6e 63 6f 64 69 6e 67 29 he.definition.of.range.encoding)
180e0 2c 20 49 67 6f 72 20 50 61 76 6c 6f 76 20 28 66 6f 72 20 70 75 74 74 69 6e 67 20 61 6c 6c 20 74 ,.Igor.Pavlov.(for.putting.all.t
18100 68 65 20 61 62 6f 76 65 20 74 6f 67 65 74 68 65 72 20 69 6e 20 4c 5a 4d 41 29 2c 20 61 6e 64 0a he.above.together.in.LZMA),.and.
18120 4a 75 6c 69 61 6e 20 53 65 77 61 72 64 20 28 66 6f 72 20 62 7a 69 70 32 27 73 20 43 4c 49 29 2e Julian.Seward.(for.bzip2's.CLI).
18140 0a 0a 1f 0a 46 69 6c 65 3a 20 6c 7a 69 70 2e 69 6e 66 6f 2c 20 20 4e 6f 64 65 3a 20 53 74 72 65 ....File:.lzip.info,..Node:.Stre
18160 61 6d 20 66 6f 72 6d 61 74 2c 20 20 4e 65 78 74 3a 20 54 72 61 69 6c 69 6e 67 20 64 61 74 61 2c am.format,..Next:.Trailing.data,
18180 20 20 50 72 65 76 3a 20 41 6c 67 6f 72 69 74 68 6d 2c 20 20 55 70 3a 20 54 6f 70 0a 0a 37 20 46 ..Prev:.Algorithm,..Up:.Top..7.F
181a0 6f 72 6d 61 74 20 6f 66 20 74 68 65 20 4c 5a 4d 41 20 73 74 72 65 61 6d 20 69 6e 20 6c 7a 69 70 ormat.of.the.LZMA.stream.in.lzip
181c0 20 66 69 6c 65 73 0a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a .files.*************************
181e0 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 0a 0a 4c 7a 69 70 20 75 73 65 73 20 61 20 73 69 ****************..Lzip.uses.a.si
18200 6d 70 6c 69 66 69 65 64 20 66 6f 72 6d 20 6f 66 20 74 68 65 20 4c 5a 4d 41 20 73 74 72 65 61 6d mplified.form.of.the.LZMA.stream
18220 20 66 6f 72 6d 61 74 20 63 68 6f 73 65 6e 20 74 6f 20 6d 61 78 69 6d 69 7a 65 0a 73 61 66 65 74 .format.chosen.to.maximize.safet
18240 79 20 61 6e 64 20 69 6e 74 65 72 6f 70 65 72 61 62 69 6c 69 74 79 2e 0a 0a 20 20 20 54 68 65 20 y.and.interoperability......The.
18260 4c 5a 4d 41 20 61 6c 67 6f 72 69 74 68 6d 20 68 61 73 20 74 68 72 65 65 20 70 61 72 61 6d 65 74 LZMA.algorithm.has.three.paramet
18280 65 72 73 2c 20 63 61 6c 6c 65 64 20 22 73 70 65 63 69 61 6c 20 4c 5a 4d 41 0a 70 72 6f 70 65 72 ers,.called."special.LZMA.proper
182a0 74 69 65 73 22 2c 20 74 6f 20 61 64 6a 75 73 74 20 69 74 20 66 6f 72 20 73 6f 6d 65 20 6b 69 6e ties",.to.adjust.it.for.some.kin
182c0 64 73 20 6f 66 20 62 69 6e 61 72 79 20 64 61 74 61 2e 20 54 68 65 73 65 20 70 61 72 61 6d 65 74 ds.of.binary.data..These.paramet
182e0 65 72 73 0a 61 72 65 3b 20 27 6c 69 74 65 72 61 6c 5f 63 6f 6e 74 65 78 74 5f 62 69 74 73 27 20 ers.are;.'literal_context_bits'.
18300 28 77 69 74 68 20 61 20 64 65 66 61 75 6c 74 20 76 61 6c 75 65 20 6f 66 20 33 29 2c 0a 27 6c 69 (with.a.default.value.of.3),.'li
18320 74 65 72 61 6c 5f 70 6f 73 5f 73 74 61 74 65 5f 62 69 74 73 27 20 28 77 69 74 68 20 61 20 64 65 teral_pos_state_bits'.(with.a.de
18340 66 61 75 6c 74 20 76 61 6c 75 65 20 6f 66 20 30 29 2c 20 61 6e 64 20 27 70 6f 73 5f 73 74 61 74 fault.value.of.0),.and.'pos_stat
18360 65 5f 62 69 74 73 27 0a 28 77 69 74 68 20 61 20 64 65 66 61 75 6c 74 20 76 61 6c 75 65 20 6f 66 e_bits'.(with.a.default.value.of
18380 20 32 29 2e 20 41 73 20 61 20 67 65 6e 65 72 61 6c 20 70 75 72 70 6f 73 65 20 63 6f 6d 70 72 65 .2)..As.a.general.purpose.compre
183a0 73 73 6f 72 2c 20 6c 7a 69 70 20 6f 6e 6c 79 0a 75 73 65 73 20 74 68 65 20 64 65 66 61 75 6c 74 ssor,.lzip.only.uses.the.default
183c0 20 76 61 6c 75 65 73 20 66 6f 72 20 74 68 65 73 65 20 70 61 72 61 6d 65 74 65 72 73 2e 20 49 6e .values.for.these.parameters..In
183e0 20 70 61 72 74 69 63 75 6c 61 72 0a 27 6c 69 74 65 72 61 6c 5f 70 6f 73 5f 73 74 61 74 65 5f 62 .particular.'literal_pos_state_b
18400 69 74 73 27 20 68 61 73 20 62 65 65 6e 20 6f 70 74 69 6d 69 7a 65 64 20 61 77 61 79 20 61 6e 64 its'.has.been.optimized.away.and
18420 20 64 6f 65 73 20 6e 6f 74 20 65 76 65 6e 20 61 70 70 65 61 72 0a 69 6e 20 74 68 65 20 63 6f 64 .does.not.even.appear.in.the.cod
18440 65 2e 0a 0a 20 20 20 4c 7a 69 70 20 66 69 6e 69 73 68 65 73 20 74 68 65 20 4c 5a 4d 41 20 73 74 e......Lzip.finishes.the.LZMA.st
18460 72 65 61 6d 20 77 69 74 68 20 61 6e 20 22 45 6e 64 20 4f 66 20 53 74 72 65 61 6d 22 20 28 45 4f ream.with.an."End.Of.Stream".(EO
18480 53 29 20 6d 61 72 6b 65 72 20 28 74 68 65 0a 64 69 73 74 61 6e 63 65 2d 6c 65 6e 67 74 68 20 70 S).marker.(the.distance-length.p
184a0 61 69 72 20 30 78 46 46 46 46 46 46 46 46 55 2c 20 32 29 2c 20 77 68 69 63 68 20 69 6e 20 63 6f air.0xFFFFFFFFU,.2),.which.in.co
184c0 6e 6a 75 6e 63 74 69 6f 6e 20 77 69 74 68 20 74 68 65 20 27 6d 65 6d 62 65 72 0a 73 69 7a 65 27 njunction.with.the.'member.size'
184e0 20 66 69 65 6c 64 20 69 6e 20 74 68 65 20 6d 65 6d 62 65 72 20 74 72 61 69 6c 65 72 20 61 6c 6c .field.in.the.member.trailer.all
18500 6f 77 73 20 74 68 65 20 76 65 72 69 66 69 63 61 74 69 6f 6e 20 6f 66 20 73 74 72 65 61 6d 0a 69 ows.the.verification.of.stream.i
18520 6e 74 65 67 72 69 74 79 2e 20 54 68 65 20 4c 5a 4d 41 20 73 74 72 65 61 6d 20 69 6e 20 6c 7a 69 ntegrity..The.LZMA.stream.in.lzi
18540 70 20 66 69 6c 65 73 20 61 6c 77 61 79 73 20 68 61 73 20 74 68 65 73 65 20 74 77 6f 20 66 65 61 p.files.always.has.these.two.fea
18560 74 75 72 65 73 0a 28 64 65 66 61 75 6c 74 20 70 72 6f 70 65 72 74 69 65 73 20 61 6e 64 20 45 4f tures.(default.properties.and.EO
18580 53 20 6d 61 72 6b 65 72 29 20 61 6e 64 20 69 73 20 72 65 66 65 72 72 65 64 20 74 6f 20 69 6e 20 S.marker).and.is.referred.to.in.
185a0 74 68 69 73 20 64 6f 63 75 6d 65 6e 74 20 61 73 0a 4c 5a 4d 41 2d 33 30 32 65 6f 73 2e 20 54 68 this.document.as.LZMA-302eos..Th
185c0 65 20 45 4f 53 20 6d 61 72 6b 65 72 20 69 73 20 74 68 65 20 6f 6e 6c 79 20 6d 61 72 6b 65 72 20 e.EOS.marker.is.the.only.marker.
185e0 61 6c 6c 6f 77 65 64 20 69 6e 20 6c 7a 69 70 20 66 69 6c 65 73 2e 0a 0a 20 20 20 54 68 65 20 73 allowed.in.lzip.files......The.s
18600 65 63 6f 6e 64 20 73 74 61 67 65 20 6f 66 20 4c 5a 4d 41 20 69 73 20 61 20 72 61 6e 67 65 20 65 econd.stage.of.LZMA.is.a.range.e
18620 6e 63 6f 64 65 72 20 74 68 61 74 20 75 73 65 73 20 61 20 64 69 66 66 65 72 65 6e 74 0a 70 72 6f ncoder.that.uses.a.different.pro
18640 62 61 62 69 6c 69 74 79 20 6d 6f 64 65 6c 20 66 6f 72 20 65 61 63 68 20 74 79 70 65 20 6f 66 20 bability.model.for.each.type.of.
18660 73 79 6d 62 6f 6c 3b 20 64 69 73 74 61 6e 63 65 73 2c 20 6c 65 6e 67 74 68 73 2c 20 6c 69 74 65 symbol;.distances,.lengths,.lite
18680 72 61 6c 0a 62 79 74 65 73 2c 20 65 74 63 2e 20 52 61 6e 67 65 20 65 6e 63 6f 64 69 6e 67 20 63 ral.bytes,.etc..Range.encoding.c
186a0 6f 6e 63 65 70 74 75 61 6c 6c 79 20 65 6e 63 6f 64 65 73 20 61 6c 6c 20 74 68 65 20 73 79 6d 62 onceptually.encodes.all.the.symb
186c0 6f 6c 73 20 6f 66 20 74 68 65 0a 6d 65 73 73 61 67 65 20 69 6e 74 6f 20 6f 6e 65 20 6e 75 6d 62 ols.of.the.message.into.one.numb
186e0 65 72 2e 20 55 6e 6c 69 6b 65 20 48 75 66 66 6d 61 6e 20 63 6f 64 69 6e 67 2c 20 77 68 69 63 68 er..Unlike.Huffman.coding,.which
18700 20 61 73 73 69 67 6e 73 20 74 6f 20 65 61 63 68 0a 73 79 6d 62 6f 6c 20 61 20 62 69 74 2d 70 61 .assigns.to.each.symbol.a.bit-pa
18720 74 74 65 72 6e 20 61 6e 64 20 63 6f 6e 63 61 74 65 6e 61 74 65 73 20 61 6c 6c 20 74 68 65 20 62 ttern.and.concatenates.all.the.b
18740 69 74 2d 70 61 74 74 65 72 6e 73 20 74 6f 67 65 74 68 65 72 2c 20 72 61 6e 67 65 0a 65 6e 63 6f it-patterns.together,.range.enco
18760 64 69 6e 67 20 63 61 6e 20 63 6f 6d 70 72 65 73 73 20 6f 6e 65 20 73 79 6d 62 6f 6c 20 74 6f 20 ding.can.compress.one.symbol.to.
18780 6c 65 73 73 20 74 68 61 6e 20 6f 6e 65 20 62 69 74 2e 20 54 68 65 72 65 66 6f 72 65 20 74 68 65 less.than.one.bit..Therefore.the
187a0 0a 63 6f 6d 70 72 65 73 73 65 64 20 64 61 74 61 20 70 72 6f 64 75 63 65 64 20 62 79 20 61 20 72 .compressed.data.produced.by.a.r
187c0 61 6e 67 65 20 65 6e 63 6f 64 65 72 20 63 61 6e 27 74 20 62 65 20 73 70 6c 69 74 20 69 6e 20 70 ange.encoder.can't.be.split.in.p
187e0 69 65 63 65 73 20 74 68 61 74 0a 63 6f 75 6c 64 20 62 65 20 64 65 73 63 72 69 62 65 64 20 69 6e ieces.that.could.be.described.in
18800 64 69 76 69 64 75 61 6c 6c 79 2e 0a 0a 20 20 20 49 74 20 73 65 65 6d 73 20 74 68 61 74 20 74 68 dividually......It.seems.that.th
18820 65 20 6f 6e 6c 79 20 77 61 79 20 6f 66 20 64 65 73 63 72 69 62 69 6e 67 20 74 68 65 20 4c 5a 4d e.only.way.of.describing.the.LZM
18840 41 2d 33 30 32 65 6f 73 20 73 74 72 65 61 6d 20 69 73 0a 64 65 73 63 72 69 62 69 6e 67 20 74 68 A-302eos.stream.is.describing.th
18860 65 20 61 6c 67 6f 72 69 74 68 6d 20 74 68 61 74 20 64 65 63 6f 64 65 73 20 69 74 2e 20 41 6e 64 e.algorithm.that.decodes.it..And
18880 20 67 69 76 65 6e 20 74 68 65 20 6d 61 6e 79 20 64 65 74 61 69 6c 73 20 61 62 6f 75 74 0a 74 68 .given.the.many.details.about.th
188a0 65 20 72 61 6e 67 65 20 64 65 63 6f 64 65 72 20 74 68 61 74 20 6e 65 65 64 20 74 6f 20 62 65 20 e.range.decoder.that.need.to.be.
188c0 64 65 73 63 72 69 62 65 64 20 61 63 63 75 72 61 74 65 6c 79 2c 20 74 68 65 20 73 6f 75 72 63 65 described.accurately,.the.source
188e0 20 63 6f 64 65 20 6f 66 0a 61 20 72 65 61 6c 20 64 65 63 6f 64 65 72 20 73 65 65 6d 73 20 74 68 .code.of.a.real.decoder.seems.th
18900 65 20 6f 6e 6c 79 20 61 70 70 72 6f 70 72 69 61 74 65 20 72 65 66 65 72 65 6e 63 65 20 74 6f 20 e.only.appropriate.reference.to.
18920 75 73 65 2e 0a 0a 20 20 20 57 68 61 74 20 66 6f 6c 6c 6f 77 73 20 69 73 20 61 20 64 65 73 63 72 use......What.follows.is.a.descr
18940 69 70 74 69 6f 6e 20 6f 66 20 74 68 65 20 64 65 63 6f 64 69 6e 67 20 61 6c 67 6f 72 69 74 68 6d iption.of.the.decoding.algorithm
18960 20 66 6f 72 20 4c 5a 4d 41 2d 33 30 32 65 6f 73 0a 73 74 72 65 61 6d 73 20 75 73 69 6e 67 20 61 .for.LZMA-302eos.streams.using.a
18980 73 20 72 65 66 65 72 65 6e 63 65 20 74 68 65 20 73 6f 75 72 63 65 20 63 6f 64 65 20 6f 66 20 22 s.reference.the.source.code.of."
189a0 6c 7a 64 22 2c 20 61 6e 20 65 64 75 63 61 74 69 6f 6e 61 6c 0a 64 65 63 6f 6d 70 72 65 73 73 6f lzd",.an.educational.decompresso
189c0 72 20 66 6f 72 20 6c 7a 69 70 20 66 69 6c 65 73 20 77 68 69 63 68 20 63 61 6e 20 62 65 20 64 6f r.for.lzip.files.which.can.be.do
189e0 77 6e 6c 6f 61 64 65 64 20 66 72 6f 6d 20 74 68 65 20 6c 7a 69 70 20 64 6f 77 6e 6c 6f 61 64 0a wnloaded.from.the.lzip.download.
18a00 64 69 72 65 63 74 6f 72 79 2e 20 54 68 65 20 73 6f 75 72 63 65 20 63 6f 64 65 20 6f 66 20 6c 7a directory..The.source.code.of.lz
18a20 64 20 69 73 20 69 6e 63 6c 75 64 65 64 20 69 6e 20 61 70 70 65 6e 64 69 78 20 41 2e 20 2a 4e 6f d.is.included.in.appendix.A..*No
18a40 74 65 0a 52 65 66 65 72 65 6e 63 65 20 73 6f 75 72 63 65 20 63 6f 64 65 3a 3a 2e 0a 0a 0a 37 2e te.Reference.source.code::....7.
18a60 31 20 57 68 61 74 20 69 73 20 63 6f 64 65 64 0a 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 1.What.is.coded.================
18a80 3d 0a 0a 54 68 65 20 4c 5a 4d 41 20 73 74 72 65 61 6d 20 69 6e 63 6c 75 64 65 73 20 6c 69 74 65 =..The.LZMA.stream.includes.lite
18aa0 72 61 6c 73 2c 20 6d 61 74 63 68 65 73 2c 20 61 6e 64 20 72 65 70 65 61 74 65 64 20 6d 61 74 63 rals,.matches,.and.repeated.matc
18ac0 68 65 73 20 28 6d 61 74 63 68 65 73 0a 72 65 75 73 69 6e 67 20 61 20 72 65 63 65 6e 74 6c 79 20 hes.(matches.reusing.a.recently.
18ae0 75 73 65 64 20 64 69 73 74 61 6e 63 65 29 2e 20 54 68 65 72 65 20 61 72 65 20 37 20 64 69 66 66 used.distance)..There.are.7.diff
18b00 65 72 65 6e 74 20 63 6f 64 69 6e 67 20 73 65 71 75 65 6e 63 65 73 3a 0a 0a 42 69 74 20 73 65 71 erent.coding.sequences:..Bit.seq
18b20 75 65 6e 63 65 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 4e 61 6d 65 20 20 20 20 20 20 20 uence................Name.......
18b40 20 44 65 73 63 72 69 70 74 69 6f 6e 0a 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d .Description.-------------------
18b60 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d --------------------------------
18b80 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0a 30 20 2b 20 62 --------------------------.0.+.b
18ba0 79 74 65 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 6c 69 74 65 72 61 6c 20 20 yte....................literal..
18bc0 20 20 20 6c 69 74 65 72 61 6c 20 62 79 74 65 0a 31 20 2b 20 30 20 2b 20 6c 65 6e 20 2b 20 64 69 ...literal.byte.1.+.0.+.len.+.di
18be0 73 20 20 20 20 20 20 20 20 20 20 20 6d 61 74 63 68 20 20 20 20 20 20 20 64 69 73 74 61 6e 63 65 s...........match.......distance
18c00 2d 6c 65 6e 67 74 68 20 70 61 69 72 0a 31 20 2b 20 31 20 2b 20 30 20 2b 20 30 20 20 20 20 20 20 -length.pair.1.+.1.+.0.+.0......
18c20 20 20 20 20 20 20 20 20 20 73 68 6f 72 74 72 65 70 20 20 20 20 31 20 62 79 74 65 20 6d 61 74 63 .........shortrep....1.byte.matc
18c40 68 20 61 74 20 6c 61 74 65 73 74 20 75 73 65 64 20 64 69 73 74 61 6e 63 65 0a 31 20 2b 20 31 20 h.at.latest.used.distance.1.+.1.
18c60 2b 20 30 20 2b 20 31 20 2b 20 6c 65 6e 20 20 20 20 20 20 20 20 20 72 65 70 30 20 20 20 20 20 20 +.0.+.1.+.len.........rep0......
18c80 20 20 6c 65 6e 20 62 79 74 65 73 20 6d 61 74 63 68 20 61 74 20 6c 61 74 65 73 74 20 75 73 65 64 ..len.bytes.match.at.latest.used
18ca0 20 64 69 73 74 61 6e 63 65 0a 31 20 2b 20 31 20 2b 20 31 20 2b 20 30 20 2b 20 6c 65 6e 20 20 20 .distance.1.+.1.+.1.+.0.+.len...
18cc0 20 20 20 20 20 20 72 65 70 31 20 20 20 20 20 20 20 20 6c 65 6e 20 62 79 74 65 73 20 6d 61 74 63 ......rep1........len.bytes.matc
18ce0 68 20 61 74 20 73 65 63 6f 6e 64 20 6c 61 74 65 73 74 20 75 73 65 64 0a 20 20 20 20 20 20 20 20 h.at.second.latest.used.........
18d00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
18d20 64 69 73 74 61 6e 63 65 0a 31 20 2b 20 31 20 2b 20 31 20 2b 20 31 20 2b 20 30 20 2b 20 6c 65 6e distance.1.+.1.+.1.+.1.+.0.+.len
18d40 20 20 20 20 20 72 65 70 32 20 20 20 20 20 20 20 20 6c 65 6e 20 62 79 74 65 73 20 6d 61 74 63 68 .....rep2........len.bytes.match
18d60 20 61 74 20 74 68 69 72 64 20 6c 61 74 65 73 74 20 75 73 65 64 0a 20 20 20 20 20 20 20 20 20 20 .at.third.latest.used...........
18d80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 64 69 ..............................di
18da0 73 74 61 6e 63 65 0a 31 20 2b 20 31 20 2b 20 31 20 2b 20 31 20 2b 20 31 20 2b 20 6c 65 6e 20 20 stance.1.+.1.+.1.+.1.+.1.+.len..
18dc0 20 20 20 72 65 70 33 20 20 20 20 20 20 20 20 6c 65 6e 20 62 79 74 65 73 20 6d 61 74 63 68 20 61 ...rep3........len.bytes.match.a
18de0 74 20 66 6f 75 72 74 68 20 6c 61 74 65 73 74 20 75 73 65 64 0a 20 20 20 20 20 20 20 20 20 20 20 t.fourth.latest.used............
18e00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 64 69 73 .............................dis
18e20 74 61 6e 63 65 0a 0a 0a 20 20 20 49 6e 20 74 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 74 61 62 6c tance......In.the.following.tabl
18e40 65 73 2c 20 6d 75 6c 74 69 62 69 74 20 73 65 71 75 65 6e 63 65 73 20 61 72 65 20 63 6f 64 65 64 es,.multibit.sequences.are.coded
18e60 20 69 6e 20 6e 6f 72 6d 61 6c 20 6f 72 64 65 72 2c 0a 66 72 6f 6d 20 6d 6f 73 74 20 73 69 67 6e .in.normal.order,.from.most.sign
18e80 69 66 69 63 61 6e 74 20 62 69 74 20 28 4d 53 42 29 20 74 6f 20 6c 65 61 73 74 20 73 69 67 6e 69 ificant.bit.(MSB).to.least.signi
18ea0 66 69 63 61 6e 74 20 62 69 74 20 28 4c 53 42 29 2c 20 65 78 63 65 70 74 0a 77 68 65 72 65 20 6e ficant.bit.(LSB),.except.where.n
18ec0 6f 74 65 64 20 6f 74 68 65 72 77 69 73 65 2e 0a 0a 20 20 20 4c 65 6e 67 74 68 73 20 28 74 68 65 oted.otherwise......Lengths.(the
18ee0 20 27 6c 65 6e 27 20 69 6e 20 74 68 65 20 74 61 62 6c 65 20 61 62 6f 76 65 29 20 61 72 65 20 63 .'len'.in.the.table.above).are.c
18f00 6f 64 65 64 20 61 73 20 66 6f 6c 6c 6f 77 73 3a 0a 0a 42 69 74 20 73 65 71 75 65 6e 63 65 20 20 oded.as.follows:..Bit.sequence..
18f20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 44 65 73 63 72 69 70 .........................Descrip
18f40 74 69 6f 6e 0a 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d tion.---------------------------
18f60 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d --------------------------------
18f80 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0a 30 20 2b 20 33 20 62 69 74 73 20 20 20 20 -----------------.0.+.3.bits....
18fa0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 6c 65 6e 67 74 68 73 .........................lengths
18fc0 20 66 72 6f 6d 20 32 20 74 6f 20 39 0a 31 20 2b 20 30 20 2b 20 33 20 62 69 74 73 20 20 20 20 20 .from.2.to.9.1.+.0.+.3.bits.....
18fe0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 6c 65 6e 67 74 68 73 20 66 72 6f 6d ....................lengths.from
19000 20 31 30 20 74 6f 20 31 37 0a 31 20 2b 20 31 20 2b 20 38 20 62 69 74 73 20 20 20 20 20 20 20 20 .10.to.17.1.+.1.+.8.bits........
19020 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 6c 65 6e 67 74 68 73 20 66 72 6f 6d 20 31 38 .................lengths.from.18
19040 20 74 6f 20 32 37 33 0a 0a 0a 20 20 20 54 68 65 20 63 6f 64 69 6e 67 20 6f 66 20 64 69 73 74 61 .to.273......The.coding.of.dista
19060 6e 63 65 73 20 69 73 20 61 20 6c 69 74 74 6c 65 20 6d 6f 72 65 20 63 6f 6d 70 6c 69 63 61 74 65 nces.is.a.little.more.complicate
19080 64 2c 20 73 6f 20 49 27 6c 6c 20 62 65 67 69 6e 0a 65 78 70 6c 61 69 6e 69 6e 67 20 61 20 73 69 d,.so.I'll.begin.explaining.a.si
190a0 6d 70 6c 65 72 20 76 65 72 73 69 6f 6e 20 6f 66 20 74 68 65 20 65 6e 63 6f 64 69 6e 67 2e 0a 0a mpler.version.of.the.encoding...
190c0 20 20 20 49 6d 61 67 69 6e 65 20 79 6f 75 20 6e 65 65 64 20 74 6f 20 65 6e 63 6f 64 65 20 61 20 ...Imagine.you.need.to.encode.a.
190e0 6e 75 6d 62 65 72 20 66 72 6f 6d 20 30 20 74 6f 20 32 5e 33 32 20 2d 20 31 2c 20 61 6e 64 20 79 number.from.0.to.2^32.-.1,.and.y
19100 6f 75 20 77 61 6e 74 20 74 6f 0a 64 6f 20 69 74 20 69 6e 20 61 20 77 61 79 20 74 68 61 74 20 70 ou.want.to.do.it.in.a.way.that.p
19120 72 6f 64 75 63 65 73 20 73 68 6f 72 74 65 72 20 63 6f 64 65 73 20 66 6f 72 20 74 68 65 20 73 6d roduces.shorter.codes.for.the.sm
19140 61 6c 6c 65 72 20 6e 75 6d 62 65 72 73 2e 20 59 6f 75 20 6d 61 79 0a 66 69 72 73 74 20 65 6e 63 aller.numbers..You.may.first.enc
19160 6f 64 65 20 74 68 65 20 70 6f 73 69 74 69 6f 6e 20 6f 66 20 74 68 65 20 6d 6f 73 74 20 73 69 67 ode.the.position.of.the.most.sig
19180 6e 69 66 69 63 61 6e 74 20 62 69 74 20 74 68 61 74 20 69 73 20 73 65 74 20 74 6f 20 31 2c 0a 77 nificant.bit.that.is.set.to.1,.w
191a0 68 69 63 68 20 79 6f 75 20 6d 61 79 20 66 69 6e 64 20 62 79 20 6d 61 6b 69 6e 67 20 61 20 62 69 hich.you.may.find.by.making.a.bi
191c0 74 20 73 63 61 6e 20 66 72 6f 6d 20 74 68 65 20 6c 65 66 74 20 28 66 72 6f 6d 20 74 68 65 20 4d t.scan.from.the.left.(from.the.M
191e0 53 42 29 2e 20 41 0a 70 6f 73 69 74 69 6f 6e 20 6f 66 20 30 20 6d 65 61 6e 73 20 74 68 61 74 20 SB)..A.position.of.0.means.that.
19200 74 68 65 20 6e 75 6d 62 65 72 20 69 73 20 30 20 28 6e 6f 20 62 69 74 20 69 73 20 73 65 74 29 2c the.number.is.0.(no.bit.is.set),
19220 20 31 20 6d 65 61 6e 73 20 74 68 65 20 4c 53 42 20 69 73 0a 74 68 65 20 66 69 72 73 74 20 62 69 .1.means.the.LSB.is.the.first.bi
19240 74 20 73 65 74 20 28 74 68 65 20 6e 75 6d 62 65 72 20 69 73 20 31 29 2c 20 61 6e 64 20 33 32 20 t.set.(the.number.is.1),.and.32.
19260 6d 65 61 6e 73 20 74 68 65 20 4d 53 42 20 69 73 20 73 65 74 20 28 69 2e 65 2e 2c 20 74 68 65 0a means.the.MSB.is.set.(i.e.,.the.
19280 6e 75 6d 62 65 72 20 69 73 20 3e 3d 20 30 78 38 30 30 30 30 30 30 30 29 2e 20 54 68 65 6e 2c 20 number.is.>=.0x80000000)..Then,.
192a0 69 66 20 74 68 65 20 70 6f 73 69 74 69 6f 6e 20 69 73 20 3e 3d 20 32 2c 20 79 6f 75 20 65 6e 63 if.the.position.is.>=.2,.you.enc
192c0 6f 64 65 20 74 68 65 0a 72 65 6d 61 69 6e 69 6e 67 20 70 6f 73 69 74 69 6f 6e 20 2d 20 31 20 62 ode.the.remaining.position.-.1.b
192e0 69 74 73 2e 20 4c 65 74 27 73 20 63 61 6c 6c 20 74 68 65 73 65 20 62 69 74 73 20 22 64 69 72 65 its..Let's.call.these.bits."dire
19300 63 74 5f 62 69 74 73 22 20 62 65 63 61 75 73 65 0a 74 68 65 79 20 61 72 65 20 63 6f 64 65 64 20 ct_bits".because.they.are.coded.
19320 64 69 72 65 63 74 6c 79 20 62 79 20 76 61 6c 75 65 20 69 6e 73 74 65 61 64 20 6f 66 20 69 6e 64 directly.by.value.instead.of.ind
19340 69 72 65 63 74 6c 79 20 62 79 20 70 6f 73 69 74 69 6f 6e 2e 0a 0a 20 20 20 54 68 65 20 69 6e 63 irectly.by.position......The.inc
19360 6f 6e 76 65 6e 69 65 6e 74 20 6f 66 20 74 68 69 73 20 73 69 6d 70 6c 65 20 6d 65 74 68 6f 64 20 onvenient.of.this.simple.method.
19380 69 73 20 74 68 61 74 20 69 74 20 6e 65 65 64 73 20 36 20 62 69 74 73 20 74 6f 20 65 6e 63 6f 64 is.that.it.needs.6.bits.to.encod
193a0 65 0a 74 68 65 20 70 6f 73 69 74 69 6f 6e 2c 20 62 75 74 20 69 74 20 6a 75 73 74 20 75 73 65 73 e.the.position,.but.it.just.uses
193c0 20 33 33 20 6f 66 20 74 68 65 20 36 34 20 70 6f 73 73 69 62 6c 65 20 76 61 6c 75 65 73 2c 20 77 .33.of.the.64.possible.values,.w
193e0 61 73 74 69 6e 67 20 61 6c 6d 6f 73 74 0a 68 61 6c 66 20 6f 66 20 74 68 65 20 63 6f 64 65 73 2e asting.almost.half.of.the.codes.
19400 0a 0a 20 20 20 54 68 65 20 69 6e 74 65 6c 6c 69 67 65 6e 74 20 74 72 69 63 6b 20 6f 66 20 4c 5a .....The.intelligent.trick.of.LZ
19420 4d 41 20 69 73 20 74 68 61 74 20 69 74 20 65 6e 63 6f 64 65 73 20 69 6e 20 77 68 61 74 20 69 74 MA.is.that.it.encodes.in.what.it
19440 20 63 61 6c 6c 73 20 61 0a 22 73 6c 6f 74 22 20 74 68 65 20 70 6f 73 69 74 69 6f 6e 20 6f 66 20 .calls.a."slot".the.position.of.
19460 74 68 65 20 6d 6f 73 74 20 73 69 67 6e 69 66 69 63 61 6e 74 20 62 69 74 20 73 65 74 2c 20 61 6c the.most.significant.bit.set,.al
19480 6f 6e 67 20 77 69 74 68 20 74 68 65 20 76 61 6c 75 65 0a 6f 66 20 74 68 65 20 6e 65 78 74 20 62 ong.with.the.value.of.the.next.b
194a0 69 74 2c 20 75 73 69 6e 67 20 74 68 65 20 73 61 6d 65 20 36 20 62 69 74 73 20 74 68 61 74 20 77 it,.using.the.same.6.bits.that.w
194c0 6f 75 6c 64 20 74 61 6b 65 20 74 6f 20 65 6e 63 6f 64 65 20 74 68 65 0a 70 6f 73 69 74 69 6f 6e ould.take.to.encode.the.position
194e0 20 61 6c 6f 6e 65 2e 20 54 68 69 73 20 73 65 65 6d 73 20 74 6f 20 6e 65 65 64 20 36 36 20 73 6c .alone..This.seems.to.need.66.sl
19500 6f 74 73 20 28 74 77 69 63 65 20 74 68 65 20 6e 75 6d 62 65 72 20 6f 66 0a 70 6f 73 69 74 69 6f ots.(twice.the.number.of.positio
19520 6e 73 29 2c 20 62 75 74 20 66 6f 72 20 70 6f 73 69 74 69 6f 6e 73 20 30 20 61 6e 64 20 31 20 74 ns),.but.for.positions.0.and.1.t
19540 68 65 72 65 20 69 73 20 6e 6f 20 6e 65 78 74 20 62 69 74 2c 20 73 6f 20 74 68 65 20 6e 75 6d 62 here.is.no.next.bit,.so.the.numb
19560 65 72 0a 6f 66 20 73 6c 6f 74 73 20 6e 65 65 64 65 64 20 69 73 20 36 34 20 28 30 20 74 6f 20 36 er.of.slots.needed.is.64.(0.to.6
19580 33 29 2e 0a 0a 20 20 20 54 68 65 20 36 20 62 69 74 73 20 72 65 70 72 65 73 65 6e 74 69 6e 67 20 3)......The.6.bits.representing.
195a0 74 68 69 73 20 22 73 6c 6f 74 20 6e 75 6d 62 65 72 22 20 61 72 65 20 74 68 65 6e 20 63 6f 6e 74 this."slot.number".are.then.cont
195c0 65 78 74 2d 63 6f 64 65 64 2e 20 49 66 0a 74 68 65 20 64 69 73 74 61 6e 63 65 20 69 73 20 3e 3d ext-coded..If.the.distance.is.>=
195e0 20 34 2c 20 74 68 65 20 72 65 6d 61 69 6e 69 6e 67 20 62 69 74 73 20 61 72 65 20 65 6e 63 6f 64 .4,.the.remaining.bits.are.encod
19600 65 64 20 61 73 20 66 6f 6c 6c 6f 77 73 2e 0a 27 64 69 72 65 63 74 5f 62 69 74 73 27 20 69 73 20 ed.as.follows..'direct_bits'.is.
19620 74 68 65 20 61 6d 6f 75 6e 74 20 6f 66 20 72 65 6d 61 69 6e 69 6e 67 20 62 69 74 73 20 28 66 72 the.amount.of.remaining.bits.(fr
19640 6f 6d 20 31 20 74 6f 20 33 30 29 20 6e 65 65 64 65 64 20 74 6f 20 66 6f 72 6d 0a 61 20 63 6f 6d om.1.to.30).needed.to.form.a.com
19660 70 6c 65 74 65 20 64 69 73 74 61 6e 63 65 2c 20 61 6e 64 20 69 73 20 63 61 6c 63 75 6c 61 74 65 plete.distance,.and.is.calculate
19680 64 20 61 73 20 28 73 6c 6f 74 20 3e 3e 20 31 29 20 2d 20 31 2e 20 49 66 20 61 20 64 69 73 74 61 d.as.(slot.>>.1).-.1..If.a.dista
196a0 6e 63 65 0a 6e 65 65 64 73 20 36 20 6f 72 20 6d 6f 72 65 20 64 69 72 65 63 74 5f 62 69 74 73 2c nce.needs.6.or.more.direct_bits,
196c0 20 74 68 65 20 6c 61 73 74 20 34 20 62 69 74 73 20 61 72 65 20 65 6e 63 6f 64 65 64 20 73 65 70 .the.last.4.bits.are.encoded.sep
196e0 61 72 61 74 65 6c 79 2e 20 54 68 65 0a 6c 61 73 74 20 70 69 65 63 65 20 28 61 6c 6c 20 74 68 65 arately..The.last.piece.(all.the
19700 20 64 69 72 65 63 74 5f 62 69 74 73 20 66 6f 72 20 64 69 73 74 61 6e 63 65 73 20 34 20 74 6f 20 .direct_bits.for.distances.4.to.
19720 31 32 37 2c 20 6f 72 20 74 68 65 20 6c 61 73 74 20 34 20 62 69 74 73 0a 66 6f 72 20 64 69 73 74 127,.or.the.last.4.bits.for.dist
19740 61 6e 63 65 73 20 3e 3d 20 31 32 38 29 20 69 73 20 63 6f 6e 74 65 78 74 2d 63 6f 64 65 64 20 69 ances.>=.128).is.context-coded.i
19760 6e 20 72 65 76 65 72 73 65 20 6f 72 64 65 72 20 28 66 72 6f 6d 20 4c 53 42 20 74 6f 20 4d 53 42 n.reverse.order.(from.LSB.to.MSB
19780 29 2e 0a 46 6f 72 20 64 69 73 74 61 6e 63 65 73 20 3e 3d 20 31 32 38 2c 20 74 68 65 20 27 64 69 )..For.distances.>=.128,.the.'di
197a0 72 65 63 74 5f 62 69 74 73 20 2d 20 34 27 20 70 61 72 74 20 69 73 20 65 6e 63 6f 64 65 64 20 77 rect_bits.-.4'.part.is.encoded.w
197c0 69 74 68 20 66 69 78 65 64 20 30 2e 35 0a 70 72 6f 62 61 62 69 6c 69 74 79 2e 0a 0a 42 69 74 20 ith.fixed.0.5.probability...Bit.
197e0 73 65 71 75 65 6e 63 65 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 sequence........................
19800 20 20 20 44 65 73 63 72 69 70 74 69 6f 6e 0a 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d ...Description.-----------------
19820 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d --------------------------------
19840 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0a 73 6c 6f 74 ---------------------------.slot
19860 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
19880 20 20 20 64 69 73 74 61 6e 63 65 73 20 66 72 6f 6d 20 30 20 74 6f 20 33 0a 73 6c 6f 74 20 2b 20 ...distances.from.0.to.3.slot.+.
198a0 64 69 72 65 63 74 5f 62 69 74 73 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 direct_bits.....................
198c0 64 69 73 74 61 6e 63 65 73 20 66 72 6f 6d 20 34 20 74 6f 20 31 32 37 0a 73 6c 6f 74 20 2b 20 28 distances.from.4.to.127.slot.+.(
198e0 64 69 72 65 63 74 5f 62 69 74 73 20 2d 20 34 29 20 2b 20 34 20 62 69 74 73 20 20 20 20 20 20 64 direct_bits.-.4).+.4.bits......d
19900 69 73 74 61 6e 63 65 73 20 66 72 6f 6d 20 31 32 38 20 74 6f 20 32 5e 33 32 20 2d 20 31 0a 0a 0a istances.from.128.to.2^32.-.1...
19920 37 2e 32 20 54 68 65 20 63 6f 64 69 6e 67 20 63 6f 6e 74 65 78 74 73 0a 3d 3d 3d 3d 3d 3d 3d 3d 7.2.The.coding.contexts.========
19940 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 0a 0a 54 68 65 73 65 20 63 6f 6e 74 65 78 74 73 20 ===============..These.contexts.
19960 28 27 42 69 74 5f 6d 6f 64 65 6c 27 20 69 6e 20 74 68 65 20 73 6f 75 72 63 65 29 2c 20 61 72 65 ('Bit_model'.in.the.source),.are
19980 20 69 6e 74 65 67 65 72 73 20 6f 72 20 61 72 72 61 79 73 20 6f 66 0a 69 6e 74 65 67 65 72 73 20 .integers.or.arrays.of.integers.
199a0 72 65 70 72 65 73 65 6e 74 69 6e 67 20 74 68 65 20 70 72 6f 62 61 62 69 6c 69 74 79 20 6f 66 20 representing.the.probability.of.
199c0 74 68 65 20 63 6f 72 72 65 73 70 6f 6e 64 69 6e 67 20 62 69 74 20 62 65 69 6e 67 20 30 2e 0a 0a the.corresponding.bit.being.0...
199e0 20 20 20 54 68 65 20 69 6e 64 69 63 65 73 20 75 73 65 64 20 69 6e 20 74 68 65 73 65 20 61 72 72 ...The.indices.used.in.these.arr
19a00 61 79 73 20 61 72 65 3a 0a 0a 27 73 74 61 74 65 27 0a 20 20 20 20 20 41 20 73 74 61 74 65 20 6d ays.are:..'state'......A.state.m
19a20 61 63 68 69 6e 65 20 28 27 53 74 61 74 65 27 20 69 6e 20 74 68 65 20 73 6f 75 72 63 65 29 20 77 achine.('State'.in.the.source).w
19a40 69 74 68 20 31 32 20 73 74 61 74 65 73 20 28 30 20 74 6f 20 31 31 29 2c 0a 20 20 20 20 20 63 6f ith.12.states.(0.to.11),......co
19a60 64 69 6e 67 20 74 68 65 20 6c 61 74 65 73 74 20 32 20 74 6f 20 34 20 74 79 70 65 73 20 6f 66 20 ding.the.latest.2.to.4.types.of.
19a80 73 65 71 75 65 6e 63 65 73 20 70 72 6f 63 65 73 73 65 64 2e 20 54 68 65 20 69 6e 69 74 69 61 6c sequences.processed..The.initial
19aa0 0a 20 20 20 20 20 73 74 61 74 65 20 69 73 20 30 2e 0a 0a 27 70 6f 73 5f 73 74 61 74 65 27 0a 20 ......state.is.0...'pos_state'..
19ac0 20 20 20 20 56 61 6c 75 65 20 6f 66 20 74 68 65 20 32 20 6c 65 61 73 74 20 73 69 67 6e 69 66 69 ....Value.of.the.2.least.signifi
19ae0 63 61 6e 74 20 62 69 74 73 20 6f 66 20 74 68 65 20 63 75 72 72 65 6e 74 20 70 6f 73 69 74 69 6f cant.bits.of.the.current.positio
19b00 6e 20 69 6e 20 74 68 65 0a 20 20 20 20 20 64 65 63 6f 64 65 64 20 64 61 74 61 2e 0a 0a 27 6c 69 n.in.the......decoded.data...'li
19b20 74 65 72 61 6c 5f 73 74 61 74 65 27 0a 20 20 20 20 20 56 61 6c 75 65 20 6f 66 20 74 68 65 20 33 teral_state'......Value.of.the.3
19b40 20 6d 6f 73 74 20 73 69 67 6e 69 66 69 63 61 6e 74 20 62 69 74 73 20 6f 66 20 74 68 65 20 6c 61 .most.significant.bits.of.the.la
19b60 74 65 73 74 20 62 79 74 65 20 64 65 63 6f 64 65 64 2e 0a 0a 27 6c 65 6e 5f 73 74 61 74 65 27 0a test.byte.decoded...'len_state'.
19b80 20 20 20 20 20 43 6f 64 65 64 20 76 61 6c 75 65 20 6f 66 20 74 68 65 20 63 75 72 72 65 6e 74 20 .....Coded.value.of.the.current.
19ba0 6d 61 74 63 68 20 6c 65 6e 67 74 68 20 28 6c 65 6e 67 74 68 20 2d 20 32 29 2c 20 77 69 74 68 20 match.length.(length.-.2),.with.
19bc0 61 20 6d 61 78 69 6d 75 6d 0a 20 20 20 20 20 6f 66 20 33 2e 20 54 68 65 20 72 65 73 75 6c 74 69 a.maximum......of.3..The.resulti
19be0 6e 67 20 76 61 6c 75 65 20 69 73 20 69 6e 20 74 68 65 20 72 61 6e 67 65 20 30 20 74 6f 20 33 2e ng.value.is.in.the.range.0.to.3.
19c00 0a 0a 0a 20 20 20 49 6e 20 74 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 74 61 62 6c 65 2c 20 27 21 ......In.the.following.table,.'!
19c20 6c 69 74 65 72 61 6c 27 20 69 73 20 61 6e 79 20 73 65 71 75 65 6e 63 65 20 65 78 63 65 70 74 20 literal'.is.any.sequence.except.
19c40 61 20 6c 69 74 65 72 61 6c 0a 62 79 74 65 2e 20 27 72 65 70 27 20 69 73 20 61 6e 79 20 6f 6e 65 a.literal.byte..'rep'.is.any.one
19c60 20 6f 66 20 27 72 65 70 30 27 2c 20 27 72 65 70 31 27 2c 20 27 72 65 70 32 27 2c 20 6f 72 20 27 .of.'rep0',.'rep1',.'rep2',.or.'
19c80 72 65 70 33 27 2e 20 54 68 65 20 74 79 70 65 73 20 6f 66 0a 70 72 65 76 69 6f 75 73 20 73 65 71 rep3'..The.types.of.previous.seq
19ca0 75 65 6e 63 65 73 20 63 6f 72 72 65 73 70 6f 6e 64 69 6e 67 20 74 6f 20 65 61 63 68 20 73 74 61 uences.corresponding.to.each.sta
19cc0 74 65 20 61 72 65 3a 0a 0a 53 74 61 74 65 20 20 20 54 79 70 65 73 20 6f 66 20 70 72 65 76 69 6f te.are:..State...Types.of.previo
19ce0 75 73 20 73 65 71 75 65 6e 63 65 73 0a 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d us.sequences.-------------------
19d00 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d --------------------------------
19d20 2d 2d 2d 0a 30 20 20 20 20 20 20 20 6c 69 74 65 72 61 6c 2c 20 6c 69 74 65 72 61 6c 2c 20 6c 69 ---.0.......literal,.literal,.li
19d40 74 65 72 61 6c 0a 31 20 20 20 20 20 20 20 6d 61 74 63 68 2c 20 6c 69 74 65 72 61 6c 2c 20 6c 69 teral.1.......match,.literal,.li
19d60 74 65 72 61 6c 0a 32 20 20 20 20 20 20 20 72 65 70 20 6f 72 20 28 21 6c 69 74 65 72 61 6c 2c 20 teral.2.......rep.or.(!literal,.
19d80 73 68 6f 72 74 72 65 70 29 2c 20 6c 69 74 65 72 61 6c 2c 20 6c 69 74 65 72 61 6c 0a 33 20 20 20 shortrep),.literal,.literal.3...
19da0 20 20 20 20 6c 69 74 65 72 61 6c 2c 20 73 68 6f 72 74 72 65 70 2c 20 6c 69 74 65 72 61 6c 2c 20 ....literal,.shortrep,.literal,.
19dc0 6c 69 74 65 72 61 6c 0a 34 20 20 20 20 20 20 20 6d 61 74 63 68 2c 20 6c 69 74 65 72 61 6c 0a 35 literal.4.......match,.literal.5
19de0 20 20 20 20 20 20 20 72 65 70 20 6f 72 20 28 21 6c 69 74 65 72 61 6c 2c 20 73 68 6f 72 74 72 65 .......rep.or.(!literal,.shortre
19e00 70 29 2c 20 6c 69 74 65 72 61 6c 0a 36 20 20 20 20 20 20 20 6c 69 74 65 72 61 6c 2c 20 73 68 6f p),.literal.6.......literal,.sho
19e20 72 74 72 65 70 2c 20 6c 69 74 65 72 61 6c 0a 37 20 20 20 20 20 20 20 6c 69 74 65 72 61 6c 2c 20 rtrep,.literal.7.......literal,.
19e40 6d 61 74 63 68 0a 38 20 20 20 20 20 20 20 6c 69 74 65 72 61 6c 2c 20 72 65 70 0a 39 20 20 20 20 match.8.......literal,.rep.9....
19e60 20 20 20 6c 69 74 65 72 61 6c 2c 20 73 68 6f 72 74 72 65 70 0a 31 30 20 20 20 20 20 20 21 6c 69 ...literal,.shortrep.10......!li
19e80 74 65 72 61 6c 2c 20 6d 61 74 63 68 0a 31 31 20 20 20 20 20 20 21 6c 69 74 65 72 61 6c 2c 20 28 teral,.match.11......!literal,.(
19ea0 72 65 70 20 6f 72 20 73 68 6f 72 74 72 65 70 29 0a 0a 0a 20 20 20 54 68 65 20 63 6f 6e 74 65 78 rep.or.shortrep)......The.contex
19ec0 74 73 20 66 6f 72 20 64 65 63 6f 64 69 6e 67 20 74 68 65 20 74 79 70 65 20 6f 66 20 63 6f 64 69 ts.for.decoding.the.type.of.codi
19ee0 6e 67 20 73 65 71 75 65 6e 63 65 20 61 72 65 3a 0a 0a 4e 61 6d 65 20 20 20 20 20 20 20 20 20 20 ng.sequence.are:..Name..........
19f00 20 20 49 6e 64 69 63 65 73 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 55 73 ..Indices.....................Us
19f20 65 64 20 77 68 65 6e 0a 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d ed.when.------------------------
19f40 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d --------------------------------
19f60 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0a 62 6d 5f 6d 61 74 63 68 20 20 20 --------------------.bm_match...
19f80 20 20 20 20 20 73 74 61 74 65 2c 20 70 6f 73 5f 73 74 61 74 65 20 20 20 20 20 20 20 20 20 20 20 .....state,.pos_state...........
19fa0 20 73 65 71 75 65 6e 63 65 20 73 74 61 72 74 0a 62 6d 5f 72 65 70 20 20 20 20 20 20 20 20 20 20 .sequence.start.bm_rep..........
19fc0 73 74 61 74 65 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 61 66 74 65 state.......................afte
19fe0 72 20 73 65 71 75 65 6e 63 65 20 31 0a 62 6d 5f 72 65 70 30 20 20 20 20 20 20 20 20 20 73 74 61 r.sequence.1.bm_rep0.........sta
1a000 74 65 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 61 66 74 65 72 20 73 te.......................after.s
1a020 65 71 75 65 6e 63 65 20 31 31 0a 62 6d 5f 72 65 70 31 20 20 20 20 20 20 20 20 20 73 74 61 74 65 equence.11.bm_rep1.........state
1a040 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 61 66 74 65 72 20 73 65 71 .......................after.seq
1a060 75 65 6e 63 65 20 31 31 31 0a 62 6d 5f 72 65 70 32 20 20 20 20 20 20 20 20 20 73 74 61 74 65 20 uence.111.bm_rep2.........state.
1a080 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 61 66 74 65 72 20 73 65 71 75 ......................after.sequ
1a0a0 65 6e 63 65 20 31 31 31 31 0a 62 6d 5f 6c 65 6e 20 20 20 20 20 20 20 20 20 20 73 74 61 74 65 2c ence.1111.bm_len..........state,
1a0c0 20 70 6f 73 5f 73 74 61 74 65 20 20 20 20 20 20 20 20 20 20 20 20 61 66 74 65 72 20 73 65 71 75 .pos_state............after.sequ
1a0e0 65 6e 63 65 20 31 31 30 0a 0a 0a 20 20 20 54 68 65 20 63 6f 6e 74 65 78 74 73 20 66 6f 72 20 64 ence.110......The.contexts.for.d
1a100 65 63 6f 64 69 6e 67 20 64 69 73 74 61 6e 63 65 73 20 61 72 65 3a 0a 0a 4e 61 6d 65 20 20 20 20 ecoding.distances.are:..Name....
1a120 20 20 20 20 20 20 20 20 49 6e 64 69 63 65 73 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ........Indices.................
1a140 55 73 65 64 20 77 68 65 6e 0a 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d Used.when.----------------------
1a160 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d --------------------------------
1a180 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0a 62 6d 5f 64 69 73 5f 73 6c ----------------------.bm_dis_sl
1a1a0 6f 74 20 20 20 20 20 6c 65 6e 5f 73 74 61 74 65 2c 20 62 69 74 20 74 72 65 65 20 20 20 20 20 64 ot.....len_state,.bit.tree.....d
1a1c0 69 73 74 61 6e 63 65 20 73 74 61 72 74 0a 62 6d 5f 64 69 73 20 20 20 20 20 20 20 20 20 20 72 65 istance.start.bm_dis..........re
1a1e0 76 65 72 73 65 20 62 69 74 20 74 72 65 65 20 20 20 20 20 20 20 20 61 66 74 65 72 20 73 6c 6f 74 verse.bit.tree........after.slot
1a200 73 20 34 20 74 6f 20 31 33 0a 62 6d 5f 61 6c 69 67 6e 20 20 20 20 20 20 20 20 72 65 76 65 72 73 s.4.to.13.bm_align........revers
1a220 65 20 62 69 74 20 74 72 65 65 20 20 20 20 20 20 20 20 66 6f 72 20 64 69 73 74 61 6e 63 65 73 20 e.bit.tree........for.distances.
1a240 3e 3d 20 31 32 38 2c 20 61 66 74 65 72 20 66 69 78 65 64 0a 20 20 20 20 20 20 20 20 20 20 20 20 >=.128,.after.fixed.............
1a260 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 70 72 6f 62 ............................prob
1a280 61 62 69 6c 69 74 79 20 62 69 74 73 0a 0a 0a 20 20 20 54 68 65 72 65 20 61 72 65 20 74 77 6f 20 ability.bits......There.are.two.
1a2a0 73 65 70 61 72 61 74 65 20 73 65 74 73 20 6f 66 20 63 6f 6e 74 65 78 74 73 20 66 6f 72 20 6c 65 separate.sets.of.contexts.for.le
1a2c0 6e 67 74 68 73 20 28 27 4c 65 6e 5f 6d 6f 64 65 6c 27 20 69 6e 20 74 68 65 0a 73 6f 75 72 63 65 ngths.('Len_model'.in.the.source
1a2e0 29 2e 20 4f 6e 65 20 66 6f 72 20 6e 6f 72 6d 61 6c 20 6d 61 74 63 68 65 73 2c 20 74 68 65 20 6f )..One.for.normal.matches,.the.o
1a300 74 68 65 72 20 66 6f 72 20 72 65 70 65 61 74 65 64 20 6d 61 74 63 68 65 73 2e 20 54 68 65 0a 63 ther.for.repeated.matches..The.c
1a320 6f 6e 74 65 78 74 73 20 69 6e 20 65 61 63 68 20 4c 65 6e 5f 6d 6f 64 65 6c 20 61 72 65 20 28 73 ontexts.in.each.Len_model.are.(s
1a340 65 65 20 27 64 65 63 6f 64 65 5f 6c 65 6e 27 20 69 6e 20 74 68 65 20 73 6f 75 72 63 65 29 3a 0a ee.'decode_len'.in.the.source):.
1a360 0a 4e 61 6d 65 20 20 20 20 20 20 20 20 20 20 20 20 49 6e 64 69 63 65 73 20 20 20 20 20 20 20 20 .Name............Indices........
1a380 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 55 73 65 64 20 77 68 65 6e 0a 2d 2d 2d 2d 2d 2d ................Used.when.------
1a3a0 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d --------------------------------
1a3c0 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d --------------------------------
1a3e0 2d 2d 2d 2d 2d 0a 63 68 6f 69 63 65 31 20 20 20 20 20 20 20 20 20 6e 6f 6e 65 20 20 20 20 20 20 -----.choice1.........none......
1a400 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 6c 65 6e 67 74 68 20 73 74 61 72 .....................length.star
1a420 74 0a 63 68 6f 69 63 65 32 20 20 20 20 20 20 20 20 20 6e 6f 6e 65 20 20 20 20 20 20 20 20 20 20 t.choice2.........none..........
1a440 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 61 66 74 65 72 20 73 65 71 75 65 6e 63 65 20 .................after.sequence.
1a460 31 0a 62 6d 5f 6c 6f 77 20 20 20 20 20 20 20 20 20 20 70 6f 73 5f 73 74 61 74 65 2c 20 62 69 74 1.bm_low..........pos_state,.bit
1a480 20 74 72 65 65 20 20 20 20 20 20 20 20 20 20 20 20 61 66 74 65 72 20 73 65 71 75 65 6e 63 65 20 .tree............after.sequence.
1a4a0 30 0a 62 6d 5f 6d 69 64 20 20 20 20 20 20 20 20 20 20 70 6f 73 5f 73 74 61 74 65 2c 20 62 69 74 0.bm_mid..........pos_state,.bit
1a4c0 20 74 72 65 65 20 20 20 20 20 20 20 20 20 20 20 20 61 66 74 65 72 20 73 65 71 75 65 6e 63 65 20 .tree............after.sequence.
1a4e0 31 30 0a 62 6d 5f 68 69 67 68 20 20 20 20 20 20 20 20 20 62 69 74 20 74 72 65 65 20 20 20 20 20 10.bm_high.........bit.tree.....
1a500 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 61 66 74 65 72 20 73 65 71 75 65 6e 63 65 ..................after.sequence
1a520 20 31 31 0a 0a 0a 20 20 20 54 68 65 20 63 6f 6e 74 65 78 74 20 61 72 72 61 79 20 27 62 6d 5f 6c .11......The.context.array.'bm_l
1a540 69 74 65 72 61 6c 27 20 69 73 20 73 70 65 63 69 61 6c 2e 20 49 6e 20 70 72 69 6e 63 69 70 6c 65 iteral'.is.special..In.principle
1a560 20 69 74 20 61 63 74 73 20 61 73 20 61 0a 6e 6f 72 6d 61 6c 20 62 69 74 20 74 72 65 65 20 63 6f .it.acts.as.a.normal.bit.tree.co
1a580 6e 74 65 78 74 2c 20 74 68 65 20 6f 6e 65 20 73 65 6c 65 63 74 65 64 20 62 79 20 27 6c 69 74 65 ntext,.the.one.selected.by.'lite
1a5a0 72 61 6c 5f 73 74 61 74 65 27 2e 20 42 75 74 20 69 66 20 74 68 65 0a 70 72 65 76 69 6f 75 73 20 ral_state'..But.if.the.previous.
1a5c0 64 65 63 6f 64 65 64 20 62 79 74 65 20 77 61 73 20 6e 6f 74 20 61 20 6c 69 74 65 72 61 6c 2c 20 decoded.byte.was.not.a.literal,.
1a5e0 74 77 6f 20 6f 74 68 65 72 20 62 69 74 20 74 72 65 65 20 63 6f 6e 74 65 78 74 73 20 61 72 65 0a two.other.bit.tree.contexts.are.
1a600 75 73 65 64 20 64 65 70 65 6e 64 69 6e 67 20 6f 6e 20 74 68 65 20 76 61 6c 75 65 20 6f 66 20 65 used.depending.on.the.value.of.e
1a620 61 63 68 20 62 69 74 20 69 6e 20 27 6d 61 74 63 68 5f 62 79 74 65 27 20 28 74 68 65 20 62 79 74 ach.bit.in.'match_byte'.(the.byt
1a640 65 20 61 74 20 74 68 65 0a 6c 61 74 65 73 74 20 75 73 65 64 20 64 69 73 74 61 6e 63 65 29 2c 20 e.at.the.latest.used.distance),.
1a660 75 6e 74 69 6c 20 61 20 62 69 74 20 69 73 20 64 65 63 6f 64 65 64 20 74 68 61 74 20 69 73 20 64 until.a.bit.is.decoded.that.is.d
1a680 69 66 66 65 72 65 6e 74 20 66 72 6f 6d 20 69 74 73 0a 63 6f 72 72 65 73 70 6f 6e 64 69 6e 67 20 ifferent.from.its.corresponding.
1a6a0 62 69 74 20 69 6e 20 27 6d 61 74 63 68 5f 62 79 74 65 27 2e 20 41 66 74 65 72 20 74 68 65 20 66 bit.in.'match_byte'..After.the.f
1a6c0 69 72 73 74 20 64 69 66 66 65 72 65 6e 63 65 20 69 73 20 66 6f 75 6e 64 2c 20 74 68 65 0a 72 65 irst.difference.is.found,.the.re
1a6e0 73 74 20 6f 66 20 74 68 65 20 62 79 74 65 20 69 73 20 64 65 63 6f 64 65 64 20 75 73 69 6e 67 20 st.of.the.byte.is.decoded.using.
1a700 74 68 65 20 6e 6f 72 6d 61 6c 20 62 69 74 20 74 72 65 65 20 63 6f 6e 74 65 78 74 2e 20 28 53 65 the.normal.bit.tree.context..(Se
1a720 65 0a 27 64 65 63 6f 64 65 5f 6d 61 74 63 68 65 64 27 20 69 6e 20 74 68 65 20 73 6f 75 72 63 65 e.'decode_matched'.in.the.source
1a740 29 2e 0a 0a 0a 37 2e 33 20 54 68 65 20 72 61 6e 67 65 20 64 65 63 6f 64 65 72 0a 3d 3d 3d 3d 3d )....7.3.The.range.decoder.=====
1a760 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 0a 0a 54 68 65 20 4c 5a 4d 41 20 73 74 72 65 61 ================..The.LZMA.strea
1a780 6d 20 69 73 20 63 6f 6e 73 75 6d 65 64 20 6f 6e 65 20 62 79 74 65 20 61 74 20 61 20 74 69 6d 65 m.is.consumed.one.byte.at.a.time
1a7a0 20 62 79 20 74 68 65 20 72 61 6e 67 65 20 64 65 63 6f 64 65 72 2e 20 28 53 65 65 0a 27 6e 6f 72 .by.the.range.decoder..(See.'nor
1a7c0 6d 61 6c 69 7a 65 27 20 69 6e 20 74 68 65 20 73 6f 75 72 63 65 29 2e 20 45 76 65 72 79 20 62 79 malize'.in.the.source)..Every.by
1a7e0 74 65 20 63 6f 6e 73 75 6d 65 64 20 70 72 6f 64 75 63 65 73 20 61 20 76 61 72 69 61 62 6c 65 20 te.consumed.produces.a.variable.
1a800 6e 75 6d 62 65 72 0a 6f 66 20 64 65 63 6f 64 65 64 20 62 69 74 73 2c 20 64 65 70 65 6e 64 69 6e number.of.decoded.bits,.dependin
1a820 67 20 6f 6e 20 68 6f 77 20 77 65 6c 6c 20 74 68 65 73 65 20 62 69 74 73 20 61 67 72 65 65 20 77 g.on.how.well.these.bits.agree.w
1a840 69 74 68 20 74 68 65 69 72 20 63 6f 6e 74 65 78 74 2e 0a 28 53 65 65 20 27 64 65 63 6f 64 65 5f ith.their.context..(See.'decode_
1a860 62 69 74 27 20 69 6e 20 74 68 65 20 73 6f 75 72 63 65 29 2e 0a 0a 20 20 20 54 68 65 20 72 61 6e bit'.in.the.source)......The.ran
1a880 67 65 20 64 65 63 6f 64 65 72 20 73 74 61 74 65 20 63 6f 6e 73 69 73 74 73 20 6f 66 20 74 77 6f ge.decoder.state.consists.of.two
1a8a0 20 75 6e 73 69 67 6e 65 64 20 33 32 2d 62 69 74 20 76 61 72 69 61 62 6c 65 73 3b 0a 27 72 61 6e .unsigned.32-bit.variables;.'ran
1a8c0 67 65 27 20 28 72 65 70 72 65 73 65 6e 74 69 6e 67 20 74 68 65 20 6d 6f 73 74 20 73 69 67 6e 69 ge'.(representing.the.most.signi
1a8e0 66 69 63 61 6e 74 20 70 61 72 74 20 6f 66 20 74 68 65 20 72 61 6e 67 65 20 73 69 7a 65 20 6e 6f ficant.part.of.the.range.size.no
1a900 74 20 79 65 74 0a 64 65 63 6f 64 65 64 29 2c 20 61 6e 64 20 27 63 6f 64 65 27 20 28 72 65 70 72 t.yet.decoded),.and.'code'.(repr
1a920 65 73 65 6e 74 69 6e 67 20 74 68 65 20 63 75 72 72 65 6e 74 20 70 6f 69 6e 74 20 77 69 74 68 69 esenting.the.current.point.withi
1a940 6e 20 27 72 61 6e 67 65 27 29 2e 0a 27 72 61 6e 67 65 27 20 69 73 20 69 6e 69 74 69 61 6c 69 7a n.'range')..'range'.is.initializ
1a960 65 64 20 74 6f 20 32 5e 33 32 20 2d 20 31 2c 20 61 6e 64 20 27 63 6f 64 65 27 20 69 73 20 69 6e ed.to.2^32.-.1,.and.'code'.is.in
1a980 69 74 69 61 6c 69 7a 65 64 20 74 6f 20 30 2e 0a 0a 20 20 20 54 68 65 20 72 61 6e 67 65 20 65 6e itialized.to.0......The.range.en
1a9a0 63 6f 64 65 72 20 70 72 6f 64 75 63 65 73 20 61 20 66 69 72 73 74 20 30 20 62 79 74 65 20 74 68 coder.produces.a.first.0.byte.th
1a9c0 61 74 20 6d 75 73 74 20 62 65 20 69 67 6e 6f 72 65 64 20 62 79 20 74 68 65 0a 72 61 6e 67 65 20 at.must.be.ignored.by.the.range.
1a9e0 64 65 63 6f 64 65 72 2e 20 54 68 69 73 20 69 73 20 64 6f 6e 65 20 62 79 20 73 68 69 66 74 69 6e decoder..This.is.done.by.shiftin
1aa00 67 20 35 20 62 79 74 65 73 20 69 6e 20 74 68 65 20 69 6e 69 74 69 61 6c 69 7a 61 74 69 6f 6e 20 g.5.bytes.in.the.initialization.
1aa20 6f 66 0a 27 63 6f 64 65 27 20 69 6e 73 74 65 61 64 20 6f 66 20 34 2e 20 28 53 65 65 20 74 68 65 of.'code'.instead.of.4..(See.the
1aa40 20 27 52 61 6e 67 65 5f 64 65 63 6f 64 65 72 27 20 63 6f 6e 73 74 72 75 63 74 6f 72 20 69 6e 20 .'Range_decoder'.constructor.in.
1aa60 74 68 65 20 73 6f 75 72 63 65 29 2e 0a 0a 0a 37 2e 34 20 44 65 63 6f 64 69 6e 67 20 61 6e 64 20 the.source)....7.4.Decoding.and.
1aa80 76 65 72 69 66 79 69 6e 67 20 74 68 65 20 4c 5a 4d 41 20 73 74 72 65 61 6d 0a 3d 3d 3d 3d 3d 3d verifying.the.LZMA.stream.======
1aaa0 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d ================================
1aac0 3d 3d 3d 3d 0a 0a 41 66 74 65 72 20 64 65 63 6f 64 69 6e 67 20 74 68 65 20 6d 65 6d 62 65 72 20 ====..After.decoding.the.member.
1aae0 68 65 61 64 65 72 20 61 6e 64 20 6f 62 74 61 69 6e 69 6e 67 20 74 68 65 20 64 69 63 74 69 6f 6e header.and.obtaining.the.diction
1ab00 61 72 79 20 73 69 7a 65 2c 20 74 68 65 0a 72 61 6e 67 65 20 64 65 63 6f 64 65 72 20 69 73 20 69 ary.size,.the.range.decoder.is.i
1ab20 6e 69 74 69 61 6c 69 7a 65 64 20 61 6e 64 20 74 68 65 6e 20 74 68 65 20 4c 5a 4d 41 20 64 65 63 nitialized.and.then.the.LZMA.dec
1ab40 6f 64 65 72 20 65 6e 74 65 72 73 20 61 20 6c 6f 6f 70 20 28 53 65 65 0a 27 64 65 63 6f 64 65 5f oder.enters.a.loop.(See.'decode_
1ab60 6d 65 6d 62 65 72 27 20 69 6e 20 74 68 65 20 73 6f 75 72 63 65 29 20 77 68 65 72 65 20 69 74 20 member'.in.the.source).where.it.
1ab80 69 6e 76 6f 6b 65 73 20 74 68 65 20 72 61 6e 67 65 20 64 65 63 6f 64 65 72 20 77 69 74 68 20 74 invokes.the.range.decoder.with.t
1aba0 68 65 0a 61 70 70 72 6f 70 72 69 61 74 65 20 63 6f 6e 74 65 78 74 73 20 74 6f 20 64 65 63 6f 64 he.appropriate.contexts.to.decod
1abc0 65 20 74 68 65 20 64 69 66 66 65 72 65 6e 74 20 63 6f 64 69 6e 67 20 73 65 71 75 65 6e 63 65 73 e.the.different.coding.sequences
1abe0 20 28 6d 61 74 63 68 65 73 2c 0a 72 65 70 65 61 74 65 64 20 6d 61 74 63 68 65 73 2c 20 61 6e 64 .(matches,.repeated.matches,.and
1ac00 20 6c 69 74 65 72 61 6c 20 62 79 74 65 73 29 2c 20 75 6e 74 69 6c 20 74 68 65 20 22 45 6e 64 20 .literal.bytes),.until.the."End.
1ac20 4f 66 20 53 74 72 65 61 6d 22 20 6d 61 72 6b 65 72 20 69 73 0a 64 65 63 6f 64 65 64 2e 0a 0a 20 Of.Stream".marker.is.decoded....
1ac40 20 20 4f 6e 63 65 20 74 68 65 20 22 45 6e 64 20 4f 66 20 53 74 72 65 61 6d 22 20 6d 61 72 6b 65 ..Once.the."End.Of.Stream".marke
1ac60 72 20 68 61 73 20 62 65 65 6e 20 64 65 63 6f 64 65 64 2c 20 74 68 65 20 64 65 63 6f 6d 70 72 65 r.has.been.decoded,.the.decompre
1ac80 73 73 6f 72 20 72 65 61 64 73 0a 61 6e 64 20 64 65 63 6f 64 65 73 20 74 68 65 20 6d 65 6d 62 65 ssor.reads.and.decodes.the.membe
1aca0 72 20 74 72 61 69 6c 65 72 2c 20 61 6e 64 20 76 65 72 69 66 69 65 73 20 74 68 61 74 20 74 68 65 r.trailer,.and.verifies.that.the
1acc0 20 74 68 72 65 65 20 69 6e 74 65 67 72 69 74 79 0a 66 61 63 74 6f 72 73 20 28 43 52 43 2c 20 64 .three.integrity.factors.(CRC,.d
1ace0 61 74 61 20 73 69 7a 65 2c 20 61 6e 64 20 6d 65 6d 62 65 72 20 73 69 7a 65 29 20 6d 61 74 63 68 ata.size,.and.member.size).match
1ad00 20 74 68 6f 73 65 20 63 61 6c 63 75 6c 61 74 65 64 20 62 79 20 74 68 65 0a 4c 5a 4d 41 20 64 65 .those.calculated.by.the.LZMA.de
1ad20 63 6f 64 65 72 2e 0a 0a 1f 0a 46 69 6c 65 3a 20 6c 7a 69 70 2e 69 6e 66 6f 2c 20 20 4e 6f 64 65 coder.....File:.lzip.info,..Node
1ad40 3a 20 54 72 61 69 6c 69 6e 67 20 64 61 74 61 2c 20 20 4e 65 78 74 3a 20 45 78 61 6d 70 6c 65 73 :.Trailing.data,..Next:.Examples
1ad60 2c 20 20 50 72 65 76 3a 20 53 74 72 65 61 6d 20 66 6f 72 6d 61 74 2c 20 20 55 70 3a 20 54 6f 70 ,..Prev:.Stream.format,..Up:.Top
1ad80 0a 0a 38 20 45 78 74 72 61 20 64 61 74 61 20 61 70 70 65 6e 64 65 64 20 74 6f 20 74 68 65 20 66 ..8.Extra.data.appended.to.the.f
1ada0 69 6c 65 0a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a ile.****************************
1adc0 2a 2a 2a 2a 2a 0a 0a 53 6f 6d 65 74 69 6d 65 73 20 65 78 74 72 61 20 64 61 74 61 20 61 72 65 20 *****..Sometimes.extra.data.are.
1ade0 66 6f 75 6e 64 20 61 70 70 65 6e 64 65 64 20 74 6f 20 61 20 6c 7a 69 70 20 66 69 6c 65 20 61 66 found.appended.to.a.lzip.file.af
1ae00 74 65 72 20 74 68 65 20 6c 61 73 74 0a 6d 65 6d 62 65 72 2e 20 53 75 63 68 20 74 72 61 69 6c 69 ter.the.last.member..Such.traili
1ae20 6e 67 20 64 61 74 61 20 6d 61 79 20 62 65 3a 0a 0a 20 20 20 2a 20 50 61 64 64 69 6e 67 20 61 64 ng.data.may.be:.....*.Padding.ad
1ae40 64 65 64 20 74 6f 20 6d 61 6b 65 20 74 68 65 20 66 69 6c 65 20 73 69 7a 65 20 61 20 6d 75 6c 74 ded.to.make.the.file.size.a.mult
1ae60 69 70 6c 65 20 6f 66 20 73 6f 6d 65 20 62 6c 6f 63 6b 20 73 69 7a 65 2c 20 66 6f 72 0a 20 20 20 iple.of.some.block.size,.for....
1ae80 20 20 65 78 61 6d 70 6c 65 20 77 68 65 6e 20 77 72 69 74 69 6e 67 20 74 6f 20 61 20 74 61 70 65 ..example.when.writing.to.a.tape
1aea0 2e 20 49 74 20 69 73 20 73 61 66 65 20 74 6f 20 61 70 70 65 6e 64 20 61 6e 79 20 61 6d 6f 75 6e ..It.is.safe.to.append.any.amoun
1aec0 74 20 6f 66 0a 20 20 20 20 20 70 61 64 64 69 6e 67 20 7a 65 72 6f 20 62 79 74 65 73 20 74 6f 20 t.of......padding.zero.bytes.to.
1aee0 61 20 6c 7a 69 70 20 66 69 6c 65 2e 0a 0a 20 20 20 2a 20 55 73 65 66 75 6c 20 64 61 74 61 20 61 a.lzip.file......*.Useful.data.a
1af00 64 64 65 64 20 62 79 20 74 68 65 20 75 73 65 72 3b 20 61 20 63 72 79 70 74 6f 67 72 61 70 68 69 dded.by.the.user;.a.cryptographi
1af20 63 61 6c 6c 79 20 73 65 63 75 72 65 20 68 61 73 68 2c 20 61 0a 20 20 20 20 20 64 65 73 63 72 69 cally.secure.hash,.a......descri
1af40 70 74 69 6f 6e 20 6f 66 20 66 69 6c 65 20 63 6f 6e 74 65 6e 74 73 2c 20 65 74 63 2e 20 49 74 20 ption.of.file.contents,.etc..It.
1af60 69 73 20 73 61 66 65 20 74 6f 20 61 70 70 65 6e 64 20 61 6e 79 20 61 6d 6f 75 6e 74 20 6f 66 0a is.safe.to.append.any.amount.of.
1af80 20 20 20 20 20 74 65 78 74 20 74 6f 20 61 20 6c 7a 69 70 20 66 69 6c 65 20 61 73 20 6c 6f 6e 67 .....text.to.a.lzip.file.as.long
1afa0 20 61 73 20 6e 6f 6e 65 20 6f 66 20 74 68 65 20 66 69 72 73 74 20 66 6f 75 72 20 62 79 74 65 73 .as.none.of.the.first.four.bytes
1afc0 20 6f 66 20 74 68 65 20 74 65 78 74 0a 20 20 20 20 20 6d 61 74 63 68 20 74 68 65 20 63 6f 72 72 .of.the.text......match.the.corr
1afe0 65 73 70 6f 6e 64 69 6e 67 20 62 79 74 65 20 69 6e 20 74 68 65 20 73 74 72 69 6e 67 20 22 4c 5a esponding.byte.in.the.string."LZ
1b000 49 50 22 2c 20 61 6e 64 20 74 68 65 20 74 65 78 74 20 64 6f 65 73 0a 20 20 20 20 20 6e 6f 74 20 IP",.and.the.text.does......not.
1b020 63 6f 6e 74 61 69 6e 20 61 6e 79 20 7a 65 72 6f 20 62 79 74 65 73 20 28 6e 75 6c 6c 20 63 68 61 contain.any.zero.bytes.(null.cha
1b040 72 61 63 74 65 72 73 29 2e 20 4e 6f 6e 7a 65 72 6f 20 62 79 74 65 73 20 61 6e 64 20 7a 65 72 6f racters)..Nonzero.bytes.and.zero
1b060 0a 20 20 20 20 20 62 79 74 65 73 20 63 61 6e 27 74 20 62 65 20 73 61 66 65 6c 79 20 6d 69 78 65 ......bytes.can't.be.safely.mixe
1b080 64 20 69 6e 20 74 72 61 69 6c 69 6e 67 20 64 61 74 61 2e 0a 0a 20 20 20 2a 20 47 61 72 62 61 67 d.in.trailing.data......*.Garbag
1b0a0 65 20 61 64 64 65 64 20 62 79 20 73 6f 6d 65 20 6e 6f 74 20 74 6f 74 61 6c 6c 79 20 73 75 63 63 e.added.by.some.not.totally.succ
1b0c0 65 73 73 66 75 6c 20 63 6f 70 79 20 6f 70 65 72 61 74 69 6f 6e 2e 0a 0a 20 20 20 2a 20 4d 61 6c essful.copy.operation......*.Mal
1b0e0 69 63 69 6f 75 73 20 64 61 74 61 20 61 64 64 65 64 20 74 6f 20 74 68 65 20 66 69 6c 65 20 69 6e icious.data.added.to.the.file.in
1b100 20 6f 72 64 65 72 20 74 6f 20 6d 61 6b 65 20 69 74 73 20 74 6f 74 61 6c 20 73 69 7a 65 20 61 6e .order.to.make.its.total.size.an
1b120 64 0a 20 20 20 20 20 68 61 73 68 20 76 61 6c 75 65 20 28 66 6f 72 20 61 20 63 68 6f 73 65 6e 20 d......hash.value.(for.a.chosen.
1b140 68 61 73 68 29 20 63 6f 69 6e 63 69 64 65 20 77 69 74 68 20 74 68 6f 73 65 20 6f 66 20 61 6e 6f hash).coincide.with.those.of.ano
1b160 74 68 65 72 20 66 69 6c 65 2e 0a 0a 20 20 20 2a 20 49 6e 20 72 61 72 65 20 63 61 73 65 73 2c 20 ther.file......*.In.rare.cases,.
1b180 74 72 61 69 6c 69 6e 67 20 64 61 74 61 20 63 6f 75 6c 64 20 62 65 20 74 68 65 20 63 6f 72 72 75 trailing.data.could.be.the.corru
1b1a0 70 74 20 68 65 61 64 65 72 20 6f 66 20 61 6e 6f 74 68 65 72 0a 20 20 20 20 20 6d 65 6d 62 65 72 pt.header.of.another......member
1b1c0 2e 20 49 6e 20 6d 75 6c 74 69 6d 65 6d 62 65 72 20 6f 72 20 63 6f 6e 63 61 74 65 6e 61 74 65 64 ..In.multimember.or.concatenated
1b1e0 20 66 69 6c 65 73 20 74 68 65 20 70 72 6f 62 61 62 69 6c 69 74 79 20 6f 66 0a 20 20 20 20 20 63 .files.the.probability.of......c
1b200 6f 72 72 75 70 74 69 6f 6e 20 68 61 70 70 65 6e 69 6e 67 20 69 6e 20 74 68 65 20 6d 61 67 69 63 orruption.happening.in.the.magic
1b220 20 62 79 74 65 73 20 69 73 20 35 20 74 69 6d 65 73 20 73 6d 61 6c 6c 65 72 20 74 68 61 6e 20 74 .bytes.is.5.times.smaller.than.t
1b240 68 65 0a 20 20 20 20 20 70 72 6f 62 61 62 69 6c 69 74 79 20 6f 66 20 67 65 74 74 69 6e 67 20 61 he......probability.of.getting.a
1b260 20 66 61 6c 73 65 20 70 6f 73 69 74 69 76 65 20 63 61 75 73 65 64 20 62 79 20 74 68 65 20 63 6f .false.positive.caused.by.the.co
1b280 72 72 75 70 74 69 6f 6e 20 6f 66 20 74 68 65 0a 20 20 20 20 20 69 6e 74 65 67 72 69 74 79 20 69 rruption.of.the......integrity.i
1b2a0 6e 66 6f 72 6d 61 74 69 6f 6e 20 69 74 73 65 6c 66 2e 20 54 68 65 72 65 66 6f 72 65 20 69 74 20 nformation.itself..Therefore.it.
1b2c0 63 61 6e 20 62 65 20 63 6f 6e 73 69 64 65 72 65 64 20 74 6f 20 62 65 0a 20 20 20 20 20 62 65 6c can.be.considered.to.be......bel
1b2e0 6f 77 20 74 68 65 20 6e 6f 69 73 65 20 6c 65 76 65 6c 2e 20 41 64 64 69 74 69 6f 6e 61 6c 6c 79 ow.the.noise.level..Additionally
1b300 2c 20 74 68 65 20 74 65 73 74 20 75 73 65 64 20 62 79 20 6c 7a 69 70 20 74 6f 0a 20 20 20 20 20 ,.the.test.used.by.lzip.to......
1b320 64 69 73 63 72 69 6d 69 6e 61 74 65 20 74 72 61 69 6c 69 6e 67 20 64 61 74 61 20 66 72 6f 6d 20 discriminate.trailing.data.from.
1b340 61 20 63 6f 72 72 75 70 74 20 68 65 61 64 65 72 20 68 61 73 20 61 20 48 61 6d 6d 69 6e 67 0a 20 a.corrupt.header.has.a.Hamming..
1b360 20 20 20 20 64 69 73 74 61 6e 63 65 20 28 48 44 29 20 6f 66 20 33 2c 20 61 6e 64 20 74 68 65 20 ....distance.(HD).of.3,.and.the.
1b380 33 20 62 69 74 20 66 6c 69 70 73 20 6d 75 73 74 20 68 61 70 70 65 6e 20 69 6e 20 64 69 66 66 65 3.bit.flips.must.happen.in.diffe
1b3a0 72 65 6e 74 20 6d 61 67 69 63 0a 20 20 20 20 20 62 79 74 65 73 20 66 6f 72 20 74 68 65 20 74 65 rent.magic......bytes.for.the.te
1b3c0 73 74 20 74 6f 20 66 61 69 6c 2e 20 49 6e 20 61 6e 79 20 63 61 73 65 2c 20 74 68 65 20 6f 70 74 st.to.fail..In.any.case,.the.opt
1b3e0 69 6f 6e 20 27 2d 2d 74 72 61 69 6c 69 6e 67 2d 65 72 72 6f 72 27 0a 20 20 20 20 20 67 75 61 72 ion.'--trailing-error'......guar
1b400 61 6e 74 65 65 73 20 74 68 61 74 20 61 6e 79 20 63 6f 72 72 75 70 74 20 68 65 61 64 65 72 20 77 antees.that.any.corrupt.header.w
1b420 69 6c 6c 20 62 65 20 64 65 74 65 63 74 65 64 2e 0a 0a 20 20 20 54 72 61 69 6c 69 6e 67 20 64 61 ill.be.detected......Trailing.da
1b440 74 61 20 61 72 65 20 69 6e 20 6e 6f 20 77 61 79 20 70 61 72 74 20 6f 66 20 74 68 65 20 6c 7a 69 ta.are.in.no.way.part.of.the.lzi
1b460 70 20 66 69 6c 65 20 66 6f 72 6d 61 74 2c 20 62 75 74 20 74 6f 6f 6c 73 0a 72 65 61 64 69 6e 67 p.file.format,.but.tools.reading
1b480 20 6c 7a 69 70 20 66 69 6c 65 73 20 61 72 65 20 65 78 70 65 63 74 65 64 20 74 6f 20 62 65 68 61 .lzip.files.are.expected.to.beha
1b4a0 76 65 20 61 73 20 63 6f 72 72 65 63 74 6c 79 20 61 6e 64 20 75 73 65 66 75 6c 6c 79 20 61 73 0a ve.as.correctly.and.usefully.as.
1b4c0 70 6f 73 73 69 62 6c 65 20 69 6e 20 74 68 65 20 70 72 65 73 65 6e 63 65 20 6f 66 20 74 72 61 69 possible.in.the.presence.of.trai
1b4e0 6c 69 6e 67 20 64 61 74 61 2e 0a 0a 20 20 20 54 72 61 69 6c 69 6e 67 20 64 61 74 61 20 63 61 6e ling.data......Trailing.data.can
1b500 20 62 65 20 73 61 66 65 6c 79 20 69 67 6e 6f 72 65 64 20 69 6e 20 6d 6f 73 74 20 63 61 73 65 73 .be.safely.ignored.in.most.cases
1b520 2e 20 49 6e 20 73 6f 6d 65 20 63 61 73 65 73 2c 20 6c 69 6b 65 0a 74 68 61 74 20 6f 66 20 75 73 ..In.some.cases,.like.that.of.us
1b540 65 72 2d 61 64 64 65 64 20 64 61 74 61 2c 20 74 68 65 79 20 61 72 65 20 65 78 70 65 63 74 65 64 er-added.data,.they.are.expected
1b560 20 74 6f 20 62 65 20 69 67 6e 6f 72 65 64 2e 20 49 6e 20 74 68 6f 73 65 20 63 61 73 65 73 0a 77 .to.be.ignored..In.those.cases.w
1b580 68 65 72 65 20 61 20 66 69 6c 65 20 63 6f 6e 74 61 69 6e 69 6e 67 20 74 72 61 69 6c 69 6e 67 20 here.a.file.containing.trailing.
1b5a0 64 61 74 61 20 6d 75 73 74 20 62 65 20 72 65 6a 65 63 74 65 64 2c 20 74 68 65 20 6f 70 74 69 6f data.must.be.rejected,.the.optio
1b5c0 6e 0a 27 2d 2d 74 72 61 69 6c 69 6e 67 2d 65 72 72 6f 72 27 20 63 61 6e 20 62 65 20 75 73 65 64 n.'--trailing-error'.can.be.used
1b5e0 2e 20 2a 4e 6f 74 65 20 2d 2d 74 72 61 69 6c 69 6e 67 2d 65 72 72 6f 72 3a 3a 2e 0a 0a 1f 0a 46 ..*Note.--trailing-error::.....F
1b600 69 6c 65 3a 20 6c 7a 69 70 2e 69 6e 66 6f 2c 20 20 4e 6f 64 65 3a 20 45 78 61 6d 70 6c 65 73 2c ile:.lzip.info,..Node:.Examples,
1b620 20 20 4e 65 78 74 3a 20 50 72 6f 62 6c 65 6d 73 2c 20 20 50 72 65 76 3a 20 54 72 61 69 6c 69 6e ..Next:.Problems,..Prev:.Trailin
1b640 67 20 64 61 74 61 2c 20 20 55 70 3a 20 54 6f 70 0a 0a 39 20 41 20 73 6d 61 6c 6c 20 74 75 74 6f g.data,..Up:.Top..9.A.small.tuto
1b660 72 69 61 6c 20 77 69 74 68 20 65 78 61 6d 70 6c 65 73 0a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a rial.with.examples.*************
1b680 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 0a 0a 57 41 52 4e 49 4e 47 21 20 45 76 *******************..WARNING!.Ev
1b6a0 65 6e 20 69 66 20 6c 7a 69 70 20 69 73 20 62 75 67 2d 66 72 65 65 2c 20 6f 74 68 65 72 20 63 61 en.if.lzip.is.bug-free,.other.ca
1b6c0 75 73 65 73 20 6d 61 79 20 72 65 73 75 6c 74 20 69 6e 20 61 20 63 6f 72 72 75 70 74 0a 63 6f 6d uses.may.result.in.a.corrupt.com
1b6e0 70 72 65 73 73 65 64 20 66 69 6c 65 20 28 62 75 67 73 20 69 6e 20 74 68 65 20 73 79 73 74 65 6d pressed.file.(bugs.in.the.system
1b700 20 6c 69 62 72 61 72 69 65 73 2c 20 6d 65 6d 6f 72 79 20 65 72 72 6f 72 73 2c 20 65 74 63 29 2e .libraries,.memory.errors,.etc).
1b720 0a 54 68 65 72 65 66 6f 72 65 2c 20 69 66 20 74 68 65 20 64 61 74 61 20 79 6f 75 20 61 72 65 20 .Therefore,.if.the.data.you.are.
1b740 67 6f 69 6e 67 20 74 6f 20 63 6f 6d 70 72 65 73 73 20 61 72 65 20 69 6d 70 6f 72 74 61 6e 74 2c going.to.compress.are.important,
1b760 20 67 69 76 65 20 74 68 65 0a 6f 70 74 69 6f 6e 20 27 2d 2d 6b 65 65 70 27 20 74 6f 20 6c 7a 69 .give.the.option.'--keep'.to.lzi
1b780 70 20 61 6e 64 20 64 6f 6e 27 74 20 72 65 6d 6f 76 65 20 74 68 65 20 6f 72 69 67 69 6e 61 6c 20 p.and.don't.remove.the.original.
1b7a0 66 69 6c 65 20 75 6e 74 69 6c 20 79 6f 75 20 76 65 72 69 66 79 0a 74 68 65 20 63 6f 6d 70 72 65 file.until.you.verify.the.compre
1b7c0 73 73 65 64 20 66 69 6c 65 20 77 69 74 68 20 61 20 63 6f 6d 6d 61 6e 64 20 6c 69 6b 65 20 27 6c ssed.file.with.a.command.like.'l
1b7e0 7a 69 70 20 2d 63 64 20 66 69 6c 65 2e 6c 7a 20 7c 20 63 6d 70 20 66 69 6c 65 20 2d 27 2e 0a 4d zip.-cd.file.lz.|.cmp.file.-'..M
1b800 6f 73 74 20 52 41 4d 20 65 72 72 6f 72 73 20 68 61 70 70 65 6e 69 6e 67 20 64 75 72 69 6e 67 20 ost.RAM.errors.happening.during.
1b820 63 6f 6d 70 72 65 73 73 69 6f 6e 20 63 61 6e 20 6f 6e 6c 79 20 62 65 20 64 65 74 65 63 74 65 64 compression.can.only.be.detected
1b840 20 62 79 0a 63 6f 6d 70 61 72 69 6e 67 20 74 68 65 20 63 6f 6d 70 72 65 73 73 65 64 20 66 69 6c .by.comparing.the.compressed.fil
1b860 65 20 77 69 74 68 20 74 68 65 20 6f 72 69 67 69 6e 61 6c 20 62 65 63 61 75 73 65 20 74 68 65 20 e.with.the.original.because.the.
1b880 63 6f 72 72 75 70 74 69 6f 6e 0a 68 61 70 70 65 6e 73 20 62 65 66 6f 72 65 20 6c 7a 69 70 20 63 corruption.happens.before.lzip.c
1b8a0 6f 6d 70 72 65 73 73 65 73 20 74 68 65 20 52 41 4d 20 63 6f 6e 74 65 6e 74 73 2c 20 72 65 73 75 ompresses.the.RAM.contents,.resu
1b8c0 6c 74 69 6e 67 20 69 6e 20 61 20 76 61 6c 69 64 0a 63 6f 6d 70 72 65 73 73 65 64 20 66 69 6c 65 lting.in.a.valid.compressed.file
1b8e0 20 63 6f 6e 74 61 69 6e 69 6e 67 20 77 72 6f 6e 67 20 64 61 74 61 2e 0a 0a 0a 45 78 61 6d 70 6c .containing.wrong.data....Exampl
1b900 65 20 31 3a 20 45 78 74 72 61 63 74 20 61 6c 6c 20 74 68 65 20 66 69 6c 65 73 20 66 72 6f 6d 20 e.1:.Extract.all.the.files.from.
1b920 61 72 63 68 69 76 65 20 27 66 6f 6f 2e 74 61 72 2e 6c 7a 27 2e 0a 0a 20 20 20 20 20 20 20 74 61 archive.'foo.tar.lz'..........ta
1b940 72 20 2d 78 66 20 66 6f 6f 2e 74 61 72 2e 6c 7a 0a 20 20 20 20 20 6f 72 0a 20 20 20 20 20 20 20 r.-xf.foo.tar.lz......or........
1b960 6c 7a 69 70 20 2d 63 64 20 66 6f 6f 2e 74 61 72 2e 6c 7a 20 7c 20 74 61 72 20 2d 78 66 20 2d 0a lzip.-cd.foo.tar.lz.|.tar.-xf.-.
1b980 0a 0a 45 78 61 6d 70 6c 65 20 32 3a 20 52 65 70 6c 61 63 65 20 61 20 72 65 67 75 6c 61 72 20 66 ..Example.2:.Replace.a.regular.f
1b9a0 69 6c 65 20 77 69 74 68 20 69 74 73 20 63 6f 6d 70 72 65 73 73 65 64 20 76 65 72 73 69 6f 6e 20 ile.with.its.compressed.version.
1b9c0 27 66 69 6c 65 2e 6c 7a 27 20 61 6e 64 0a 73 68 6f 77 20 74 68 65 20 63 6f 6d 70 72 65 73 73 69 'file.lz'.and.show.the.compressi
1b9e0 6f 6e 20 72 61 74 69 6f 2e 0a 0a 20 20 20 20 20 6c 7a 69 70 20 2d 76 20 66 69 6c 65 0a 0a 0a 45 on.ratio........lzip.-v.file...E
1ba00 78 61 6d 70 6c 65 20 33 3a 20 4c 69 6b 65 20 65 78 61 6d 70 6c 65 20 31 20 62 75 74 20 74 68 65 xample.3:.Like.example.1.but.the
1ba20 20 63 72 65 61 74 65 64 20 27 66 69 6c 65 2e 6c 7a 27 20 69 73 20 6d 75 6c 74 69 6d 65 6d 62 65 .created.'file.lz'.is.multimembe
1ba40 72 20 77 69 74 68 20 61 0a 6d 65 6d 62 65 72 20 73 69 7a 65 20 6f 66 20 31 20 4d 69 42 2e 20 54 r.with.a.member.size.of.1.MiB..T
1ba60 68 65 20 63 6f 6d 70 72 65 73 73 69 6f 6e 20 72 61 74 69 6f 20 69 73 20 6e 6f 74 20 73 68 6f 77 he.compression.ratio.is.not.show
1ba80 6e 2e 0a 0a 20 20 20 20 20 6c 7a 69 70 20 2d 62 20 31 4d 69 42 20 66 69 6c 65 0a 0a 0a 45 78 61 n........lzip.-b.1MiB.file...Exa
1baa0 6d 70 6c 65 20 34 3a 20 52 65 73 74 6f 72 65 20 61 20 72 65 67 75 6c 61 72 20 66 69 6c 65 20 66 mple.4:.Restore.a.regular.file.f
1bac0 72 6f 6d 20 69 74 73 20 63 6f 6d 70 72 65 73 73 65 64 20 76 65 72 73 69 6f 6e 20 27 66 69 6c 65 rom.its.compressed.version.'file
1bae0 2e 6c 7a 27 2e 20 49 66 0a 74 68 65 20 6f 70 65 72 61 74 69 6f 6e 20 69 73 20 73 75 63 63 65 73 .lz'..If.the.operation.is.succes
1bb00 73 66 75 6c 2c 20 27 66 69 6c 65 2e 6c 7a 27 20 69 73 20 72 65 6d 6f 76 65 64 2e 0a 0a 20 20 20 sful,.'file.lz'.is.removed......
1bb20 20 20 6c 7a 69 70 20 2d 64 20 66 69 6c 65 2e 6c 7a 0a 0a 0a 45 78 61 6d 70 6c 65 20 35 3a 20 56 ..lzip.-d.file.lz...Example.5:.V
1bb40 65 72 69 66 79 20 74 68 65 20 69 6e 74 65 67 72 69 74 79 20 6f 66 20 74 68 65 20 63 6f 6d 70 72 erify.the.integrity.of.the.compr
1bb60 65 73 73 65 64 20 66 69 6c 65 20 27 66 69 6c 65 2e 6c 7a 27 20 61 6e 64 20 73 68 6f 77 0a 73 74 essed.file.'file.lz'.and.show.st
1bb80 61 74 75 73 2e 0a 0a 20 20 20 20 20 6c 7a 69 70 20 2d 74 76 20 66 69 6c 65 2e 6c 7a 0a 0a 0a 45 atus........lzip.-tv.file.lz...E
1bba0 78 61 6d 70 6c 65 20 36 3a 20 43 6f 6d 70 72 65 73 73 20 61 20 77 68 6f 6c 65 20 64 65 76 69 63 xample.6:.Compress.a.whole.devic
1bbc0 65 20 69 6e 20 2f 64 65 76 2f 73 64 63 20 61 6e 64 20 73 65 6e 64 20 74 68 65 20 6f 75 74 70 75 e.in./dev/sdc.and.send.the.outpu
1bbe0 74 20 74 6f 0a 27 66 69 6c 65 2e 6c 7a 27 2e 0a 0a 20 20 20 20 20 20 20 6c 7a 69 70 20 2d 63 20 t.to.'file.lz'..........lzip.-c.
1bc00 2f 64 65 76 2f 73 64 63 20 3e 20 66 69 6c 65 2e 6c 7a 0a 20 20 20 20 20 6f 72 0a 20 20 20 20 20 /dev/sdc.>.file.lz......or......
1bc20 20 20 6c 7a 69 70 20 2f 64 65 76 2f 73 64 63 20 2d 6f 20 66 69 6c 65 2e 6c 7a 0a 0a 0a 45 78 61 ..lzip./dev/sdc.-o.file.lz...Exa
1bc40 6d 70 6c 65 20 37 3a 20 54 68 65 20 72 69 67 68 74 20 77 61 79 20 6f 66 20 63 6f 6e 63 61 74 65 mple.7:.The.right.way.of.concate
1bc60 6e 61 74 69 6e 67 20 74 68 65 20 64 65 63 6f 6d 70 72 65 73 73 65 64 20 6f 75 74 70 75 74 20 6f nating.the.decompressed.output.o
1bc80 66 20 74 77 6f 20 6f 72 0a 6d 6f 72 65 20 63 6f 6d 70 72 65 73 73 65 64 20 66 69 6c 65 73 2e 20 f.two.or.more.compressed.files..
1bca0 2a 4e 6f 74 65 20 54 72 61 69 6c 69 6e 67 20 64 61 74 61 3a 3a 2e 0a 0a 20 20 20 20 20 44 6f 6e *Note.Trailing.data::........Don
1bcc0 27 74 20 64 6f 20 74 68 69 73 0a 20 20 20 20 20 20 20 63 61 74 20 66 69 6c 65 31 2e 6c 7a 20 66 't.do.this........cat.file1.lz.f
1bce0 69 6c 65 32 2e 6c 7a 20 66 69 6c 65 33 2e 6c 7a 20 7c 20 6c 7a 69 70 20 2d 64 20 2d 0a 20 20 20 ile2.lz.file3.lz.|.lzip.-d.-....
1bd00 20 20 44 6f 20 74 68 69 73 20 69 6e 73 74 65 61 64 0a 20 20 20 20 20 20 20 6c 7a 69 70 20 2d 63 ..Do.this.instead........lzip.-c
1bd20 64 20 66 69 6c 65 31 2e 6c 7a 20 66 69 6c 65 32 2e 6c 7a 20 66 69 6c 65 33 2e 6c 7a 0a 0a 0a 45 d.file1.lz.file2.lz.file3.lz...E
1bd40 78 61 6d 70 6c 65 20 38 3a 20 44 65 63 6f 6d 70 72 65 73 73 20 27 66 69 6c 65 2e 6c 7a 27 20 70 xample.8:.Decompress.'file.lz'.p
1bd60 61 72 74 69 61 6c 6c 79 20 75 6e 74 69 6c 20 31 30 20 4b 69 42 20 6f 66 20 64 65 63 6f 6d 70 72 artially.until.10.KiB.of.decompr
1bd80 65 73 73 65 64 20 64 61 74 61 0a 61 72 65 20 70 72 6f 64 75 63 65 64 2e 0a 0a 20 20 20 20 20 6c essed.data.are.produced........l
1bda0 7a 69 70 20 2d 63 64 20 66 69 6c 65 2e 6c 7a 20 7c 20 64 64 20 62 73 3d 31 30 32 34 20 63 6f 75 zip.-cd.file.lz.|.dd.bs=1024.cou
1bdc0 6e 74 3d 31 30 0a 0a 0a 45 78 61 6d 70 6c 65 20 39 3a 20 44 65 63 6f 6d 70 72 65 73 73 20 27 66 nt=10...Example.9:.Decompress.'f
1bde0 69 6c 65 2e 6c 7a 27 20 70 61 72 74 69 61 6c 6c 79 20 66 72 6f 6d 20 64 65 63 6f 6d 70 72 65 73 ile.lz'.partially.from.decompres
1be00 73 65 64 20 62 79 74 65 20 61 74 20 6f 66 66 73 65 74 0a 31 30 30 30 30 20 74 6f 20 64 65 63 6f sed.byte.at.offset.10000.to.deco
1be20 6d 70 72 65 73 73 65 64 20 62 79 74 65 20 61 74 20 6f 66 66 73 65 74 20 31 34 39 39 39 20 28 35 mpressed.byte.at.offset.14999.(5
1be40 30 30 30 20 62 79 74 65 73 20 61 72 65 20 70 72 6f 64 75 63 65 64 29 2e 0a 0a 20 20 20 20 20 6c 000.bytes.are.produced)........l
1be60 7a 69 70 20 2d 63 64 20 66 69 6c 65 2e 6c 7a 20 7c 20 64 64 20 62 73 3d 31 30 30 30 20 73 6b 69 zip.-cd.file.lz.|.dd.bs=1000.ski
1be80 70 3d 31 30 20 63 6f 75 6e 74 3d 35 0a 0a 0a 45 78 61 6d 70 6c 65 20 31 30 3a 20 43 72 65 61 74 p=10.count=5...Example.10:.Creat
1bea0 65 20 61 20 6d 75 6c 74 69 76 6f 6c 75 6d 65 20 63 6f 6d 70 72 65 73 73 65 64 20 74 61 72 20 61 e.a.multivolume.compressed.tar.a
1bec0 72 63 68 69 76 65 20 77 69 74 68 20 61 20 76 6f 6c 75 6d 65 20 73 69 7a 65 0a 6f 66 20 31 34 34 rchive.with.a.volume.size.of.144
1bee0 30 20 4b 69 42 2e 0a 0a 20 20 20 20 20 74 61 72 20 2d 63 20 73 6f 6d 65 5f 64 69 72 65 63 74 6f 0.KiB........tar.-c.some_directo
1bf00 72 79 20 7c 20 6c 7a 69 70 20 2d 53 20 31 34 34 30 4b 69 42 20 2d 6f 20 76 6f 6c 75 6d 65 5f 6e ry.|.lzip.-S.1440KiB.-o.volume_n
1bf20 61 6d 65 20 2d 0a 0a 0a 45 78 61 6d 70 6c 65 20 31 31 3a 20 45 78 74 72 61 63 74 20 61 20 6d 75 ame.-...Example.11:.Extract.a.mu
1bf40 6c 74 69 76 6f 6c 75 6d 65 20 63 6f 6d 70 72 65 73 73 65 64 20 74 61 72 20 61 72 63 68 69 76 65 ltivolume.compressed.tar.archive
1bf60 2e 0a 0a 20 20 20 20 20 6c 7a 69 70 20 2d 63 64 20 76 6f 6c 75 6d 65 5f 6e 61 6d 65 2a 2e 6c 7a ........lzip.-cd.volume_name*.lz
1bf80 20 7c 20 74 61 72 20 2d 78 66 20 2d 0a 0a 0a 45 78 61 6d 70 6c 65 20 31 32 3a 20 43 72 65 61 74 .|.tar.-xf.-...Example.12:.Creat
1bfa0 65 20 61 20 6d 75 6c 74 69 76 6f 6c 75 6d 65 20 63 6f 6d 70 72 65 73 73 65 64 20 62 61 63 6b 75 e.a.multivolume.compressed.backu
1bfc0 70 20 6f 66 20 61 20 6c 61 72 67 65 20 64 61 74 61 62 61 73 65 20 66 69 6c 65 0a 77 69 74 68 20 p.of.a.large.database.file.with.
1bfe0 61 20 76 6f 6c 75 6d 65 20 73 69 7a 65 20 6f 66 20 36 35 30 20 4d 42 2c 20 77 68 65 72 65 20 65 a.volume.size.of.650.MB,.where.e
1c000 61 63 68 20 76 6f 6c 75 6d 65 20 69 73 20 61 20 6d 75 6c 74 69 6d 65 6d 62 65 72 20 66 69 6c 65 ach.volume.is.a.multimember.file
1c020 20 77 69 74 68 0a 61 20 6d 65 6d 62 65 72 20 73 69 7a 65 20 6f 66 20 33 32 20 4d 69 42 2e 0a 0a .with.a.member.size.of.32.MiB...
1c040 20 20 20 20 20 6c 7a 69 70 20 2d 62 20 33 32 4d 69 42 20 2d 53 20 36 35 30 4d 42 20 62 69 67 5f .....lzip.-b.32MiB.-S.650MB.big_
1c060 64 62 0a 0a 1f 0a 46 69 6c 65 3a 20 6c 7a 69 70 2e 69 6e 66 6f 2c 20 20 4e 6f 64 65 3a 20 50 72 db....File:.lzip.info,..Node:.Pr
1c080 6f 62 6c 65 6d 73 2c 20 20 4e 65 78 74 3a 20 52 65 66 65 72 65 6e 63 65 20 73 6f 75 72 63 65 20 oblems,..Next:.Reference.source.
1c0a0 63 6f 64 65 2c 20 20 50 72 65 76 3a 20 45 78 61 6d 70 6c 65 73 2c 20 20 55 70 3a 20 54 6f 70 0a code,..Prev:.Examples,..Up:.Top.
1c0c0 0a 31 30 20 52 65 70 6f 72 74 69 6e 67 20 62 75 67 73 0a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a .10.Reporting.bugs.*************
1c0e0 2a 2a 2a 2a 0a 0a 54 68 65 72 65 20 61 72 65 20 70 72 6f 62 61 62 6c 79 20 62 75 67 73 20 69 6e ****..There.are.probably.bugs.in
1c100 20 6c 7a 69 70 2e 20 54 68 65 72 65 20 61 72 65 20 63 65 72 74 61 69 6e 6c 79 20 65 72 72 6f 72 .lzip..There.are.certainly.error
1c120 73 20 61 6e 64 20 6f 6d 69 73 73 69 6f 6e 73 0a 69 6e 20 74 68 69 73 20 6d 61 6e 75 61 6c 2e 20 s.and.omissions.in.this.manual..
1c140 49 66 20 79 6f 75 20 72 65 70 6f 72 74 20 74 68 65 6d 2c 20 74 68 65 79 20 77 69 6c 6c 20 67 65 If.you.report.them,.they.will.ge
1c160 74 20 66 69 78 65 64 2e 20 49 66 20 79 6f 75 20 64 6f 6e 27 74 2c 20 6e 6f 0a 6f 6e 65 20 77 69 t.fixed..If.you.don't,.no.one.wi
1c180 6c 6c 20 65 76 65 72 20 6b 6e 6f 77 20 61 62 6f 75 74 20 74 68 65 6d 20 61 6e 64 20 74 68 65 79 ll.ever.know.about.them.and.they
1c1a0 20 77 69 6c 6c 20 72 65 6d 61 69 6e 20 75 6e 66 69 78 65 64 20 66 6f 72 20 61 6c 6c 0a 65 74 65 .will.remain.unfixed.for.all.ete
1c1c0 72 6e 69 74 79 2c 20 69 66 20 6e 6f 74 20 6c 6f 6e 67 65 72 2e 0a 0a 20 20 20 49 66 20 79 6f 75 rnity,.if.not.longer......If.you
1c1e0 20 66 69 6e 64 20 61 20 62 75 67 20 69 6e 20 6c 7a 69 70 2c 20 70 6c 65 61 73 65 20 73 65 6e 64 .find.a.bug.in.lzip,.please.send
1c200 20 65 6c 65 63 74 72 6f 6e 69 63 20 6d 61 69 6c 20 74 6f 0a 3c 6c 7a 69 70 2d 62 75 67 40 6e 6f .electronic.mail.to.<lzip-bug@no
1c220 6e 67 6e 75 2e 6f 72 67 3e 2e 20 49 6e 63 6c 75 64 65 20 74 68 65 20 76 65 72 73 69 6f 6e 20 6e ngnu.org>..Include.the.version.n
1c240 75 6d 62 65 72 2c 20 77 68 69 63 68 20 79 6f 75 20 63 61 6e 20 66 69 6e 64 20 62 79 0a 72 75 6e umber,.which.you.can.find.by.run
1c260 6e 69 6e 67 20 27 6c 7a 69 70 20 2d 2d 76 65 72 73 69 6f 6e 27 2e 0a 0a 1f 0a 46 69 6c 65 3a 20 ning.'lzip.--version'.....File:.
1c280 6c 7a 69 70 2e 69 6e 66 6f 2c 20 20 4e 6f 64 65 3a 20 52 65 66 65 72 65 6e 63 65 20 73 6f 75 72 lzip.info,..Node:.Reference.sour
1c2a0 63 65 20 63 6f 64 65 2c 20 20 4e 65 78 74 3a 20 43 6f 6e 63 65 70 74 20 69 6e 64 65 78 2c 20 20 ce.code,..Next:.Concept.index,..
1c2c0 50 72 65 76 3a 20 50 72 6f 62 6c 65 6d 73 2c 20 20 55 70 3a 20 54 6f 70 0a 0a 41 70 70 65 6e 64 Prev:.Problems,..Up:.Top..Append
1c2e0 69 78 20 41 20 52 65 66 65 72 65 6e 63 65 20 73 6f 75 72 63 65 20 63 6f 64 65 0a 2a 2a 2a 2a 2a ix.A.Reference.source.code.*****
1c300 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 0a 0a 2f 2a 20 ***************************../*.
1c320 4c 7a 64 20 2d 20 45 64 75 63 61 74 69 6f 6e 61 6c 20 64 65 63 6f 6d 70 72 65 73 73 6f 72 20 66 Lzd.-.Educational.decompressor.f
1c340 6f 72 20 74 68 65 20 6c 7a 69 70 20 66 6f 72 6d 61 74 0a 20 20 20 43 6f 70 79 72 69 67 68 74 20 or.the.lzip.format....Copyright.
1c360 28 43 29 20 32 30 31 33 2d 32 30 32 31 20 41 6e 74 6f 6e 69 6f 20 44 69 61 7a 20 44 69 61 7a 2e (C).2013-2021.Antonio.Diaz.Diaz.
1c380 0a 0a 20 20 20 54 68 69 73 20 70 72 6f 67 72 61 6d 20 69 73 20 66 72 65 65 20 73 6f 66 74 77 61 .....This.program.is.free.softwa
1c3a0 72 65 2e 20 52 65 64 69 73 74 72 69 62 75 74 69 6f 6e 20 61 6e 64 20 75 73 65 20 69 6e 20 73 6f re..Redistribution.and.use.in.so
1c3c0 75 72 63 65 20 61 6e 64 0a 20 20 20 62 69 6e 61 72 79 20 66 6f 72 6d 73 2c 20 77 69 74 68 20 6f urce.and....binary.forms,.with.o
1c3e0 72 20 77 69 74 68 6f 75 74 20 6d 6f 64 69 66 69 63 61 74 69 6f 6e 2c 20 61 72 65 20 70 65 72 6d r.without.modification,.are.perm
1c400 69 74 74 65 64 20 70 72 6f 76 69 64 65 64 0a 20 20 20 74 68 61 74 20 74 68 65 20 66 6f 6c 6c 6f itted.provided....that.the.follo
1c420 77 69 6e 67 20 63 6f 6e 64 69 74 69 6f 6e 73 20 61 72 65 20 6d 65 74 3a 0a 0a 20 20 20 31 2e 20 wing.conditions.are.met:.....1..
1c440 52 65 64 69 73 74 72 69 62 75 74 69 6f 6e 73 20 6f 66 20 73 6f 75 72 63 65 20 63 6f 64 65 20 6d Redistributions.of.source.code.m
1c460 75 73 74 20 72 65 74 61 69 6e 20 74 68 65 20 61 62 6f 76 65 20 63 6f 70 79 72 69 67 68 74 0a 20 ust.retain.the.above.copyright..
1c480 20 20 6e 6f 74 69 63 65 2c 20 74 68 69 73 20 6c 69 73 74 20 6f 66 20 63 6f 6e 64 69 74 69 6f 6e ..notice,.this.list.of.condition
1c4a0 73 2c 20 61 6e 64 20 74 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 64 69 73 63 6c 61 69 6d 65 72 2e s,.and.the.following.disclaimer.
1c4c0 0a 0a 20 20 20 32 2e 20 52 65 64 69 73 74 72 69 62 75 74 69 6f 6e 73 20 69 6e 20 62 69 6e 61 72 .....2..Redistributions.in.binar
1c4e0 79 20 66 6f 72 6d 20 6d 75 73 74 20 72 65 70 72 6f 64 75 63 65 20 74 68 65 20 61 62 6f 76 65 20 y.form.must.reproduce.the.above.
1c500 63 6f 70 79 72 69 67 68 74 0a 20 20 20 6e 6f 74 69 63 65 2c 20 74 68 69 73 20 6c 69 73 74 20 6f copyright....notice,.this.list.o
1c520 66 20 63 6f 6e 64 69 74 69 6f 6e 73 2c 20 61 6e 64 20 74 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 f.conditions,.and.the.following.
1c540 64 69 73 63 6c 61 69 6d 65 72 20 69 6e 20 74 68 65 0a 20 20 20 64 6f 63 75 6d 65 6e 74 61 74 69 disclaimer.in.the....documentati
1c560 6f 6e 20 61 6e 64 2f 6f 72 20 6f 74 68 65 72 20 6d 61 74 65 72 69 61 6c 73 20 70 72 6f 76 69 64 on.and/or.other.materials.provid
1c580 65 64 20 77 69 74 68 20 74 68 65 20 64 69 73 74 72 69 62 75 74 69 6f 6e 2e 0a 0a 20 20 20 54 68 ed.with.the.distribution......Th
1c5a0 69 73 20 70 72 6f 67 72 61 6d 20 69 73 20 64 69 73 74 72 69 62 75 74 65 64 20 69 6e 20 74 68 65 is.program.is.distributed.in.the
1c5c0 20 68 6f 70 65 20 74 68 61 74 20 69 74 20 77 69 6c 6c 20 62 65 20 75 73 65 66 75 6c 2c 0a 20 20 .hope.that.it.will.be.useful,...
1c5e0 20 62 75 74 20 57 49 54 48 4f 55 54 20 41 4e 59 20 57 41 52 52 41 4e 54 59 3b 20 77 69 74 68 6f .but.WITHOUT.ANY.WARRANTY;.witho
1c600 75 74 20 65 76 65 6e 20 74 68 65 20 69 6d 70 6c 69 65 64 20 77 61 72 72 61 6e 74 79 20 6f 66 0a ut.even.the.implied.warranty.of.
1c620 20 20 20 4d 45 52 43 48 41 4e 54 41 42 49 4c 49 54 59 20 6f 72 20 46 49 54 4e 45 53 53 20 46 4f ...MERCHANTABILITY.or.FITNESS.FO
1c640 52 20 41 20 50 41 52 54 49 43 55 4c 41 52 20 50 55 52 50 4f 53 45 2e 0a 2a 2f 0a 2f 2a 0a 20 20 R.A.PARTICULAR.PURPOSE..*/./*...
1c660 20 45 78 69 74 20 73 74 61 74 75 73 3a 20 30 20 66 6f 72 20 61 20 6e 6f 72 6d 61 6c 20 65 78 69 .Exit.status:.0.for.a.normal.exi
1c680 74 2c 20 31 20 66 6f 72 20 65 6e 76 69 72 6f 6e 6d 65 6e 74 61 6c 20 70 72 6f 62 6c 65 6d 73 0a t,.1.for.environmental.problems.
1c6a0 20 20 20 28 66 69 6c 65 20 6e 6f 74 20 66 6f 75 6e 64 2c 20 69 6e 76 61 6c 69 64 20 66 6c 61 67 ...(file.not.found,.invalid.flag
1c6c0 73 2c 20 49 2f 4f 20 65 72 72 6f 72 73 2c 20 65 74 63 29 2c 20 32 20 74 6f 20 69 6e 64 69 63 61 s,.I/O.errors,.etc),.2.to.indica
1c6e0 74 65 20 61 0a 20 20 20 63 6f 72 72 75 70 74 20 6f 72 20 69 6e 76 61 6c 69 64 20 69 6e 70 75 74 te.a....corrupt.or.invalid.input
1c700 20 66 69 6c 65 2e 0a 2a 2f 0a 0a 23 69 6e 63 6c 75 64 65 20 3c 61 6c 67 6f 72 69 74 68 6d 3e 0a .file..*/..#include.<algorithm>.
1c720 23 69 6e 63 6c 75 64 65 20 3c 63 65 72 72 6e 6f 3e 0a 23 69 6e 63 6c 75 64 65 20 3c 63 73 74 64 #include.<cerrno>.#include.<cstd
1c740 69 6f 3e 0a 23 69 6e 63 6c 75 64 65 20 3c 63 73 74 64 6c 69 62 3e 0a 23 69 6e 63 6c 75 64 65 20 io>.#include.<cstdlib>.#include.
1c760 3c 63 73 74 72 69 6e 67 3e 0a 23 69 6e 63 6c 75 64 65 20 3c 73 74 64 69 6e 74 2e 68 3e 0a 23 69 <cstring>.#include.<stdint.h>.#i
1c780 6e 63 6c 75 64 65 20 3c 75 6e 69 73 74 64 2e 68 3e 0a 23 69 66 20 64 65 66 69 6e 65 64 28 5f 5f nclude.<unistd.h>.#if.defined(__
1c7a0 4d 53 56 43 52 54 5f 5f 29 20 7c 7c 20 64 65 66 69 6e 65 64 28 5f 5f 4f 53 32 5f 5f 29 20 7c 7c MSVCRT__).||.defined(__OS2__).||
1c7c0 20 64 65 66 69 6e 65 64 28 5f 5f 44 4a 47 50 50 5f 5f 29 0a 23 69 6e 63 6c 75 64 65 20 3c 66 63 .defined(__DJGPP__).#include.<fc
1c7e0 6e 74 6c 2e 68 3e 0a 23 69 6e 63 6c 75 64 65 20 3c 69 6f 2e 68 3e 0a 23 65 6e 64 69 66 0a 0a 0a ntl.h>.#include.<io.h>.#endif...
1c800 63 6c 61 73 73 20 53 74 61 74 65 0a 20 20 7b 0a 20 20 69 6e 74 20 73 74 3b 0a 0a 70 75 62 6c 69 class.State...{...int.st;..publi
1c820 63 3a 0a 20 20 65 6e 75 6d 20 7b 20 73 74 61 74 65 73 20 3d 20 31 32 20 7d 3b 0a 20 20 53 74 61 c:...enum.{.states.=.12.};...Sta
1c840 74 65 28 29 20 3a 20 73 74 28 20 30 20 29 20 7b 7d 0a 20 20 69 6e 74 20 6f 70 65 72 61 74 6f 72 te().:.st(.0.).{}...int.operator
1c860 28 29 28 29 20 63 6f 6e 73 74 20 7b 20 72 65 74 75 72 6e 20 73 74 3b 20 7d 0a 20 20 62 6f 6f 6c ()().const.{.return.st;.}...bool
1c880 20 69 73 5f 63 68 61 72 28 29 20 63 6f 6e 73 74 20 7b 20 72 65 74 75 72 6e 20 73 74 20 3c 20 37 .is_char().const.{.return.st.<.7
1c8a0 3b 20 7d 0a 0a 20 20 76 6f 69 64 20 73 65 74 5f 63 68 61 72 28 29 0a 20 20 20 20 7b 0a 20 20 20 ;.}....void.set_char().....{....
1c8c0 20 63 6f 6e 73 74 20 69 6e 74 20 6e 65 78 74 5b 73 74 61 74 65 73 5d 20 3d 20 7b 20 30 2c 20 30 .const.int.next[states].=.{.0,.0
1c8e0 2c 20 30 2c 20 30 2c 20 31 2c 20 32 2c 20 33 2c 20 34 2c 20 35 2c 20 36 2c 20 34 2c 20 35 20 7d ,.0,.0,.1,.2,.3,.4,.5,.6,.4,.5.}
1c900 3b 0a 20 20 20 20 73 74 20 3d 20 6e 65 78 74 5b 73 74 5d 3b 0a 20 20 20 20 7d 0a 20 20 76 6f 69 ;.....st.=.next[st];.....}...voi
1c920 64 20 73 65 74 5f 6d 61 74 63 68 28 29 20 20 20 20 20 7b 20 73 74 20 3d 20 28 20 73 74 20 3c 20 d.set_match().....{.st.=.(.st.<.
1c940 37 20 29 20 3f 20 37 20 3a 20 31 30 3b 20 7d 0a 20 20 76 6f 69 64 20 73 65 74 5f 72 65 70 28 29 7.).?.7.:.10;.}...void.set_rep()
1c960 20 20 20 20 20 20 20 7b 20 73 74 20 3d 20 28 20 73 74 20 3c 20 37 20 29 20 3f 20 38 20 3a 20 31 .......{.st.=.(.st.<.7.).?.8.:.1
1c980 31 3b 20 7d 0a 20 20 76 6f 69 64 20 73 65 74 5f 73 68 6f 72 74 5f 72 65 70 28 29 20 7b 20 73 74 1;.}...void.set_short_rep().{.st
1c9a0 20 3d 20 28 20 73 74 20 3c 20 37 20 29 20 3f 20 39 20 3a 20 31 31 3b 20 7d 0a 20 20 7d 3b 0a 0a .=.(.st.<.7.).?.9.:.11;.}...};..
1c9c0 0a 65 6e 75 6d 20 7b 0a 20 20 6d 69 6e 5f 64 69 63 74 69 6f 6e 61 72 79 5f 73 69 7a 65 20 3d 20 .enum.{...min_dictionary_size.=.
1c9e0 31 20 3c 3c 20 31 32 2c 0a 20 20 6d 61 78 5f 64 69 63 74 69 6f 6e 61 72 79 5f 73 69 7a 65 20 3d 1.<<.12,...max_dictionary_size.=
1ca00 20 31 20 3c 3c 20 32 39 2c 0a 20 20 6c 69 74 65 72 61 6c 5f 63 6f 6e 74 65 78 74 5f 62 69 74 73 .1.<<.29,...literal_context_bits
1ca20 20 3d 20 33 2c 0a 20 20 6c 69 74 65 72 61 6c 5f 70 6f 73 5f 73 74 61 74 65 5f 62 69 74 73 20 3d .=.3,...literal_pos_state_bits.=
1ca40 20 30 2c 09 09 09 09 2f 2f 20 6e 6f 74 20 75 73 65 64 0a 20 20 70 6f 73 5f 73 74 61 74 65 5f 62 .0,....//.not.used...pos_state_b
1ca60 69 74 73 20 3d 20 32 2c 0a 20 20 70 6f 73 5f 73 74 61 74 65 73 20 3d 20 31 20 3c 3c 20 70 6f 73 its.=.2,...pos_states.=.1.<<.pos
1ca80 5f 73 74 61 74 65 5f 62 69 74 73 2c 0a 20 20 70 6f 73 5f 73 74 61 74 65 5f 6d 61 73 6b 20 3d 20 _state_bits,...pos_state_mask.=.
1caa0 70 6f 73 5f 73 74 61 74 65 73 20 2d 20 31 2c 0a 0a 20 20 6c 65 6e 5f 73 74 61 74 65 73 20 3d 20 pos_states.-.1,....len_states.=.
1cac0 34 2c 0a 20 20 64 69 73 5f 73 6c 6f 74 5f 62 69 74 73 20 3d 20 36 2c 0a 20 20 73 74 61 72 74 5f 4,...dis_slot_bits.=.6,...start_
1cae0 64 69 73 5f 6d 6f 64 65 6c 20 3d 20 34 2c 0a 20 20 65 6e 64 5f 64 69 73 5f 6d 6f 64 65 6c 20 3d dis_model.=.4,...end_dis_model.=
1cb00 20 31 34 2c 0a 20 20 6d 6f 64 65 6c 65 64 5f 64 69 73 74 61 6e 63 65 73 20 3d 20 31 20 3c 3c 20 .14,...modeled_distances.=.1.<<.
1cb20 28 20 65 6e 64 5f 64 69 73 5f 6d 6f 64 65 6c 20 2f 20 32 20 29 2c 09 2f 2f 20 31 32 38 0a 20 20 (.end_dis_model./.2.),.//.128...
1cb40 64 69 73 5f 61 6c 69 67 6e 5f 62 69 74 73 20 3d 20 34 2c 0a 20 20 64 69 73 5f 61 6c 69 67 6e 5f dis_align_bits.=.4,...dis_align_
1cb60 73 69 7a 65 20 3d 20 31 20 3c 3c 20 64 69 73 5f 61 6c 69 67 6e 5f 62 69 74 73 2c 0a 0a 20 20 6c size.=.1.<<.dis_align_bits,....l
1cb80 65 6e 5f 6c 6f 77 5f 62 69 74 73 20 3d 20 33 2c 0a 20 20 6c 65 6e 5f 6d 69 64 5f 62 69 74 73 20 en_low_bits.=.3,...len_mid_bits.
1cba0 3d 20 33 2c 0a 20 20 6c 65 6e 5f 68 69 67 68 5f 62 69 74 73 20 3d 20 38 2c 0a 20 20 6c 65 6e 5f =.3,...len_high_bits.=.8,...len_
1cbc0 6c 6f 77 5f 73 79 6d 62 6f 6c 73 20 3d 20 31 20 3c 3c 20 6c 65 6e 5f 6c 6f 77 5f 62 69 74 73 2c low_symbols.=.1.<<.len_low_bits,
1cbe0 0a 20 20 6c 65 6e 5f 6d 69 64 5f 73 79 6d 62 6f 6c 73 20 3d 20 31 20 3c 3c 20 6c 65 6e 5f 6d 69 ...len_mid_symbols.=.1.<<.len_mi
1cc00 64 5f 62 69 74 73 2c 0a 20 20 6c 65 6e 5f 68 69 67 68 5f 73 79 6d 62 6f 6c 73 20 3d 20 31 20 3c d_bits,...len_high_symbols.=.1.<
1cc20 3c 20 6c 65 6e 5f 68 69 67 68 5f 62 69 74 73 2c 0a 20 20 6d 61 78 5f 6c 65 6e 5f 73 79 6d 62 6f <.len_high_bits,...max_len_symbo
1cc40 6c 73 20 3d 20 6c 65 6e 5f 6c 6f 77 5f 73 79 6d 62 6f 6c 73 20 2b 20 6c 65 6e 5f 6d 69 64 5f 73 ls.=.len_low_symbols.+.len_mid_s
1cc60 79 6d 62 6f 6c 73 20 2b 20 6c 65 6e 5f 68 69 67 68 5f 73 79 6d 62 6f 6c 73 2c 0a 0a 20 20 6d 69 ymbols.+.len_high_symbols,....mi
1cc80 6e 5f 6d 61 74 63 68 5f 6c 65 6e 20 3d 20 32 2c 09 09 09 09 09 2f 2f 20 6d 75 73 74 20 62 65 20 n_match_len.=.2,.....//.must.be.
1cca0 32 0a 0a 20 20 62 69 74 5f 6d 6f 64 65 6c 5f 6d 6f 76 65 5f 62 69 74 73 20 3d 20 35 2c 0a 20 20 2....bit_model_move_bits.=.5,...
1ccc0 62 69 74 5f 6d 6f 64 65 6c 5f 74 6f 74 61 6c 5f 62 69 74 73 20 3d 20 31 31 2c 0a 20 20 62 69 74 bit_model_total_bits.=.11,...bit
1cce0 5f 6d 6f 64 65 6c 5f 74 6f 74 61 6c 20 3d 20 31 20 3c 3c 20 62 69 74 5f 6d 6f 64 65 6c 5f 74 6f _model_total.=.1.<<.bit_model_to
1cd00 74 61 6c 5f 62 69 74 73 20 7d 3b 0a 0a 73 74 72 75 63 74 20 42 69 74 5f 6d 6f 64 65 6c 0a 20 20 tal_bits.};..struct.Bit_model...
1cd20 7b 0a 20 20 69 6e 74 20 70 72 6f 62 61 62 69 6c 69 74 79 3b 0a 20 20 42 69 74 5f 6d 6f 64 65 6c {...int.probability;...Bit_model
1cd40 28 29 20 3a 20 70 72 6f 62 61 62 69 6c 69 74 79 28 20 62 69 74 5f 6d 6f 64 65 6c 5f 74 6f 74 61 ().:.probability(.bit_model_tota
1cd60 6c 20 2f 20 32 20 29 20 7b 7d 0a 20 20 7d 3b 0a 0a 73 74 72 75 63 74 20 4c 65 6e 5f 6d 6f 64 65 l./.2.).{}...};..struct.Len_mode
1cd80 6c 0a 20 20 7b 0a 20 20 42 69 74 5f 6d 6f 64 65 6c 20 63 68 6f 69 63 65 31 3b 0a 20 20 42 69 74 l...{...Bit_model.choice1;...Bit
1cda0 5f 6d 6f 64 65 6c 20 63 68 6f 69 63 65 32 3b 0a 20 20 42 69 74 5f 6d 6f 64 65 6c 20 62 6d 5f 6c _model.choice2;...Bit_model.bm_l
1cdc0 6f 77 5b 70 6f 73 5f 73 74 61 74 65 73 5d 5b 6c 65 6e 5f 6c 6f 77 5f 73 79 6d 62 6f 6c 73 5d 3b ow[pos_states][len_low_symbols];
1cde0 0a 20 20 42 69 74 5f 6d 6f 64 65 6c 20 62 6d 5f 6d 69 64 5b 70 6f 73 5f 73 74 61 74 65 73 5d 5b ...Bit_model.bm_mid[pos_states][
1ce00 6c 65 6e 5f 6d 69 64 5f 73 79 6d 62 6f 6c 73 5d 3b 0a 20 20 42 69 74 5f 6d 6f 64 65 6c 20 62 6d len_mid_symbols];...Bit_model.bm
1ce20 5f 68 69 67 68 5b 6c 65 6e 5f 68 69 67 68 5f 73 79 6d 62 6f 6c 73 5d 3b 0a 20 20 7d 3b 0a 0a 0a _high[len_high_symbols];...};...
1ce40 63 6c 61 73 73 20 43 52 43 33 32 0a 20 20 7b 0a 20 20 75 69 6e 74 33 32 5f 74 20 64 61 74 61 5b class.CRC32...{...uint32_t.data[
1ce60 32 35 36 5d 3b 09 09 2f 2f 20 54 61 62 6c 65 20 6f 66 20 43 52 43 73 20 6f 66 20 61 6c 6c 20 38 256];..//.Table.of.CRCs.of.all.8
1ce80 2d 62 69 74 20 6d 65 73 73 61 67 65 73 2e 0a 0a 70 75 62 6c 69 63 3a 0a 20 20 43 52 43 33 32 28 -bit.messages...public:...CRC32(
1cea0 29 0a 20 20 20 20 7b 0a 20 20 20 20 66 6f 72 28 20 75 6e 73 69 67 6e 65 64 20 6e 20 3d 20 30 3b ).....{.....for(.unsigned.n.=.0;
1cec0 20 6e 20 3c 20 32 35 36 3b 20 2b 2b 6e 20 29 0a 20 20 20 20 20 20 7b 0a 20 20 20 20 20 20 75 6e .n.<.256;.++n.).......{.......un
1cee0 73 69 67 6e 65 64 20 63 20 3d 20 6e 3b 0a 20 20 20 20 20 20 66 6f 72 28 20 69 6e 74 20 6b 20 3d signed.c.=.n;.......for(.int.k.=
1cf00 20 30 3b 20 6b 20 3c 20 38 3b 20 2b 2b 6b 20 29 0a 20 20 20 20 20 20 20 20 7b 20 69 66 28 20 63 .0;.k.<.8;.++k.).........{.if(.c
1cf20 20 26 20 31 20 29 20 63 20 3d 20 30 78 45 44 42 38 38 33 32 30 55 20 5e 20 28 20 63 20 3e 3e 20 .&.1.).c.=.0xEDB88320U.^.(.c.>>.
1cf40 31 20 29 3b 20 65 6c 73 65 20 63 20 3e 3e 3d 20 31 3b 20 7d 0a 20 20 20 20 20 20 64 61 74 61 5b 1.);.else.c.>>=.1;.}.......data[
1cf60 6e 5d 20 3d 20 63 3b 0a 20 20 20 20 20 20 7d 0a 20 20 20 20 7d 0a 0a 20 20 76 6f 69 64 20 75 70 n].=.c;.......}.....}....void.up
1cf80 64 61 74 65 5f 62 75 66 28 20 75 69 6e 74 33 32 5f 74 20 26 20 63 72 63 2c 20 63 6f 6e 73 74 20 date_buf(.uint32_t.&.crc,.const.
1cfa0 75 69 6e 74 38 5f 74 20 2a 20 63 6f 6e 73 74 20 62 75 66 66 65 72 2c 0a 20 20 20 20 20 20 20 20 uint8_t.*.const.buffer,.........
1cfc0 20 20 20 20 20 20 20 20 20 20 20 63 6f 6e 73 74 20 69 6e 74 20 73 69 7a 65 20 29 20 63 6f 6e 73 ...........const.int.size.).cons
1cfe0 74 0a 20 20 20 20 7b 0a 20 20 20 20 66 6f 72 28 20 69 6e 74 20 69 20 3d 20 30 3b 20 69 20 3c 20 t.....{.....for(.int.i.=.0;.i.<.
1d000 73 69 7a 65 3b 20 2b 2b 69 20 29 0a 20 20 20 20 20 20 63 72 63 20 3d 20 64 61 74 61 5b 28 63 72 size;.++i.).......crc.=.data[(cr
1d020 63 5e 62 75 66 66 65 72 5b 69 5d 29 26 30 78 46 46 5d 20 5e 20 28 20 63 72 63 20 3e 3e 20 38 20 c^buffer[i])&0xFF].^.(.crc.>>.8.
1d040 29 3b 0a 20 20 20 20 7d 0a 20 20 7d 3b 0a 0a 63 6f 6e 73 74 20 43 52 43 33 32 20 63 72 63 33 32 );.....}...};..const.CRC32.crc32
1d060 3b 0a 0a 0a 74 79 70 65 64 65 66 20 75 69 6e 74 38 5f 74 20 4c 7a 69 70 5f 68 65 61 64 65 72 5b ;...typedef.uint8_t.Lzip_header[
1d080 36 5d 3b 09 09 2f 2f 20 30 2d 33 20 6d 61 67 69 63 20 62 79 74 65 73 0a 09 09 09 09 09 2f 2f 20 6];..//.0-3.magic.bytes......//.
1d0a0 20 20 34 20 76 65 72 73 69 6f 6e 0a 09 09 09 09 09 2f 2f 20 20 20 35 20 63 6f 64 65 64 20 64 69 ..4.version......//...5.coded.di
1d0c0 63 74 69 6f 6e 61 72 79 20 73 69 7a 65 0a 74 79 70 65 64 65 66 20 75 69 6e 74 38 5f 74 20 4c 7a ctionary.size.typedef.uint8_t.Lz
1d0e0 69 70 5f 74 72 61 69 6c 65 72 5b 32 30 5d 3b 0a 09 09 09 2f 2f 20 20 30 2d 33 20 20 43 52 43 33 ip_trailer[20];....//..0-3..CRC3
1d100 32 20 6f 66 20 74 68 65 20 75 6e 63 6f 6d 70 72 65 73 73 65 64 20 64 61 74 61 0a 09 09 09 2f 2f 2.of.the.uncompressed.data....//
1d120 20 20 34 2d 31 31 20 73 69 7a 65 20 6f 66 20 74 68 65 20 75 6e 63 6f 6d 70 72 65 73 73 65 64 20 ..4-11.size.of.the.uncompressed.
1d140 64 61 74 61 0a 09 09 09 2f 2f 20 31 32 2d 31 39 20 6d 65 6d 62 65 72 20 73 69 7a 65 20 69 6e 63 data....//.12-19.member.size.inc
1d160 6c 75 64 69 6e 67 20 68 65 61 64 65 72 20 61 6e 64 20 74 72 61 69 6c 65 72 0a 0a 63 6c 61 73 73 luding.header.and.trailer..class
1d180 20 52 61 6e 67 65 5f 64 65 63 6f 64 65 72 0a 20 20 7b 0a 20 20 75 6e 73 69 67 6e 65 64 20 6c 6f .Range_decoder...{...unsigned.lo
1d1a0 6e 67 20 6c 6f 6e 67 20 6d 65 6d 62 65 72 5f 70 6f 73 3b 0a 20 20 75 69 6e 74 33 32 5f 74 20 63 ng.long.member_pos;...uint32_t.c
1d1c0 6f 64 65 3b 0a 20 20 75 69 6e 74 33 32 5f 74 20 72 61 6e 67 65 3b 0a 0a 70 75 62 6c 69 63 3a 0a ode;...uint32_t.range;..public:.
1d1e0 20 20 52 61 6e 67 65 5f 64 65 63 6f 64 65 72 28 29 20 3a 20 6d 65 6d 62 65 72 5f 70 6f 73 28 20 ..Range_decoder().:.member_pos(.
1d200 36 20 29 2c 20 63 6f 64 65 28 20 30 20 29 2c 20 72 61 6e 67 65 28 20 30 78 46 46 46 46 46 46 46 6.),.code(.0.),.range(.0xFFFFFFF
1d220 46 55 20 29 0a 20 20 20 20 7b 0a 20 20 20 20 66 6f 72 28 20 69 6e 74 20 69 20 3d 20 30 3b 20 69 FU.).....{.....for(.int.i.=.0;.i
1d240 20 3c 20 35 3b 20 2b 2b 69 20 29 20 63 6f 64 65 20 3d 20 28 20 63 6f 64 65 20 3c 3c 20 38 20 29 .<.5;.++i.).code.=.(.code.<<.8.)
1d260 20 7c 20 67 65 74 5f 62 79 74 65 28 29 3b 0a 20 20 20 20 7d 0a 0a 20 20 75 69 6e 74 38 5f 74 20 .|.get_byte();.....}....uint8_t.
1d280 67 65 74 5f 62 79 74 65 28 29 20 7b 20 2b 2b 6d 65 6d 62 65 72 5f 70 6f 73 3b 20 72 65 74 75 72 get_byte().{.++member_pos;.retur
1d2a0 6e 20 73 74 64 3a 3a 67 65 74 63 28 20 73 74 64 69 6e 20 29 3b 20 7d 0a 20 20 75 6e 73 69 67 6e n.std::getc(.stdin.);.}...unsign
1d2c0 65 64 20 6c 6f 6e 67 20 6c 6f 6e 67 20 6d 65 6d 62 65 72 5f 70 6f 73 69 74 69 6f 6e 28 29 20 63 ed.long.long.member_position().c
1d2e0 6f 6e 73 74 20 7b 20 72 65 74 75 72 6e 20 6d 65 6d 62 65 72 5f 70 6f 73 3b 20 7d 0a 0a 20 20 75 onst.{.return.member_pos;.}....u
1d300 6e 73 69 67 6e 65 64 20 64 65 63 6f 64 65 28 20 63 6f 6e 73 74 20 69 6e 74 20 6e 75 6d 5f 62 69 nsigned.decode(.const.int.num_bi
1d320 74 73 20 29 0a 20 20 20 20 7b 0a 20 20 20 20 75 6e 73 69 67 6e 65 64 20 73 79 6d 62 6f 6c 20 3d ts.).....{.....unsigned.symbol.=
1d340 20 30 3b 0a 20 20 20 20 66 6f 72 28 20 69 6e 74 20 69 20 3d 20 6e 75 6d 5f 62 69 74 73 3b 20 69 .0;.....for(.int.i.=.num_bits;.i
1d360 20 3e 20 30 3b 20 2d 2d 69 20 29 0a 20 20 20 20 20 20 7b 0a 20 20 20 20 20 20 72 61 6e 67 65 20 .>.0;.--i.).......{.......range.
1d380 3e 3e 3d 20 31 3b 0a 20 20 20 20 20 20 73 79 6d 62 6f 6c 20 3c 3c 3d 20 31 3b 0a 20 20 20 20 20 >>=.1;.......symbol.<<=.1;......
1d3a0 20 69 66 28 20 63 6f 64 65 20 3e 3d 20 72 61 6e 67 65 20 29 20 7b 20 63 6f 64 65 20 2d 3d 20 72 .if(.code.>=.range.).{.code.-=.r
1d3c0 61 6e 67 65 3b 20 73 79 6d 62 6f 6c 20 7c 3d 20 31 3b 20 7d 0a 20 20 20 20 20 20 69 66 28 20 72 ange;.symbol.|=.1;.}.......if(.r
1d3e0 61 6e 67 65 20 3c 3d 20 30 78 30 30 46 46 46 46 46 46 55 20 29 09 09 09 2f 2f 20 6e 6f 72 6d 61 ange.<=.0x00FFFFFFU.)...//.norma
1d400 6c 69 7a 65 0a 20 20 20 20 20 20 20 20 7b 20 72 61 6e 67 65 20 3c 3c 3d 20 38 3b 20 63 6f 64 65 lize.........{.range.<<=.8;.code
1d420 20 3d 20 28 20 63 6f 64 65 20 3c 3c 20 38 20 29 20 7c 20 67 65 74 5f 62 79 74 65 28 29 3b 20 7d .=.(.code.<<.8.).|.get_byte();.}
1d440 0a 20 20 20 20 20 20 7d 0a 20 20 20 20 72 65 74 75 72 6e 20 73 79 6d 62 6f 6c 3b 0a 20 20 20 20 .......}.....return.symbol;.....
1d460 7d 0a 0a 20 20 75 6e 73 69 67 6e 65 64 20 64 65 63 6f 64 65 5f 62 69 74 28 20 42 69 74 5f 6d 6f }....unsigned.decode_bit(.Bit_mo
1d480 64 65 6c 20 26 20 62 6d 20 29 0a 20 20 20 20 7b 0a 20 20 20 20 75 6e 73 69 67 6e 65 64 20 73 79 del.&.bm.).....{.....unsigned.sy
1d4a0 6d 62 6f 6c 3b 0a 20 20 20 20 63 6f 6e 73 74 20 75 69 6e 74 33 32 5f 74 20 62 6f 75 6e 64 20 3d mbol;.....const.uint32_t.bound.=
1d4c0 20 28 20 72 61 6e 67 65 20 3e 3e 20 62 69 74 5f 6d 6f 64 65 6c 5f 74 6f 74 61 6c 5f 62 69 74 73 .(.range.>>.bit_model_total_bits
1d4e0 20 29 20 2a 20 62 6d 2e 70 72 6f 62 61 62 69 6c 69 74 79 3b 0a 20 20 20 20 69 66 28 20 63 6f 64 .).*.bm.probability;.....if(.cod
1d500 65 20 3c 20 62 6f 75 6e 64 20 29 0a 20 20 20 20 20 20 7b 0a 20 20 20 20 20 20 72 61 6e 67 65 20 e.<.bound.).......{.......range.
1d520 3d 20 62 6f 75 6e 64 3b 0a 20 20 20 20 20 20 62 6d 2e 70 72 6f 62 61 62 69 6c 69 74 79 20 2b 3d =.bound;.......bm.probability.+=
1d540 0a 20 20 20 20 20 20 20 20 28 20 62 69 74 5f 6d 6f 64 65 6c 5f 74 6f 74 61 6c 20 2d 20 62 6d 2e .........(.bit_model_total.-.bm.
1d560 70 72 6f 62 61 62 69 6c 69 74 79 20 29 20 3e 3e 20 62 69 74 5f 6d 6f 64 65 6c 5f 6d 6f 76 65 5f probability.).>>.bit_model_move_
1d580 62 69 74 73 3b 0a 20 20 20 20 20 20 73 79 6d 62 6f 6c 20 3d 20 30 3b 0a 20 20 20 20 20 20 7d 0a bits;.......symbol.=.0;.......}.
1d5a0 20 20 20 20 65 6c 73 65 0a 20 20 20 20 20 20 7b 0a 20 20 20 20 20 20 72 61 6e 67 65 20 2d 3d 20 ....else.......{.......range.-=.
1d5c0 62 6f 75 6e 64 3b 0a 20 20 20 20 20 20 63 6f 64 65 20 2d 3d 20 62 6f 75 6e 64 3b 0a 20 20 20 20 bound;.......code.-=.bound;.....
1d5e0 20 20 62 6d 2e 70 72 6f 62 61 62 69 6c 69 74 79 20 2d 3d 20 62 6d 2e 70 72 6f 62 61 62 69 6c 69 ..bm.probability.-=.bm.probabili
1d600 74 79 20 3e 3e 20 62 69 74 5f 6d 6f 64 65 6c 5f 6d 6f 76 65 5f 62 69 74 73 3b 0a 20 20 20 20 20 ty.>>.bit_model_move_bits;......
1d620 20 73 79 6d 62 6f 6c 20 3d 20 31 3b 0a 20 20 20 20 20 20 7d 0a 20 20 20 20 69 66 28 20 72 61 6e .symbol.=.1;.......}.....if(.ran
1d640 67 65 20 3c 3d 20 30 78 30 30 46 46 46 46 46 46 55 20 29 09 09 09 09 2f 2f 20 6e 6f 72 6d 61 6c ge.<=.0x00FFFFFFU.)....//.normal
1d660 69 7a 65 0a 20 20 20 20 20 20 7b 20 72 61 6e 67 65 20 3c 3c 3d 20 38 3b 20 63 6f 64 65 20 3d 20 ize.......{.range.<<=.8;.code.=.
1d680 28 20 63 6f 64 65 20 3c 3c 20 38 20 29 20 7c 20 67 65 74 5f 62 79 74 65 28 29 3b 20 7d 0a 20 20 (.code.<<.8.).|.get_byte();.}...
1d6a0 20 20 72 65 74 75 72 6e 20 73 79 6d 62 6f 6c 3b 0a 20 20 20 20 7d 0a 0a 20 20 75 6e 73 69 67 6e ..return.symbol;.....}....unsign
1d6c0 65 64 20 64 65 63 6f 64 65 5f 74 72 65 65 28 20 42 69 74 5f 6d 6f 64 65 6c 20 62 6d 5b 5d 2c 20 ed.decode_tree(.Bit_model.bm[],.
1d6e0 63 6f 6e 73 74 20 69 6e 74 20 6e 75 6d 5f 62 69 74 73 20 29 0a 20 20 20 20 7b 0a 20 20 20 20 75 const.int.num_bits.).....{.....u
1d700 6e 73 69 67 6e 65 64 20 73 79 6d 62 6f 6c 20 3d 20 31 3b 0a 20 20 20 20 66 6f 72 28 20 69 6e 74 nsigned.symbol.=.1;.....for(.int
1d720 20 69 20 3d 20 30 3b 20 69 20 3c 20 6e 75 6d 5f 62 69 74 73 3b 20 2b 2b 69 20 29 0a 20 20 20 20 .i.=.0;.i.<.num_bits;.++i.).....
1d740 20 20 73 79 6d 62 6f 6c 20 3d 20 28 20 73 79 6d 62 6f 6c 20 3c 3c 20 31 20 29 20 7c 20 64 65 63 ..symbol.=.(.symbol.<<.1.).|.dec
1d760 6f 64 65 5f 62 69 74 28 20 62 6d 5b 73 79 6d 62 6f 6c 5d 20 29 3b 0a 20 20 20 20 72 65 74 75 72 ode_bit(.bm[symbol].);.....retur
1d780 6e 20 73 79 6d 62 6f 6c 20 2d 20 28 20 31 20 3c 3c 20 6e 75 6d 5f 62 69 74 73 20 29 3b 0a 20 20 n.symbol.-.(.1.<<.num_bits.);...
1d7a0 20 20 7d 0a 0a 20 20 75 6e 73 69 67 6e 65 64 20 64 65 63 6f 64 65 5f 74 72 65 65 5f 72 65 76 65 ..}....unsigned.decode_tree_reve
1d7c0 72 73 65 64 28 20 42 69 74 5f 6d 6f 64 65 6c 20 62 6d 5b 5d 2c 20 63 6f 6e 73 74 20 69 6e 74 20 rsed(.Bit_model.bm[],.const.int.
1d7e0 6e 75 6d 5f 62 69 74 73 20 29 0a 20 20 20 20 7b 0a 20 20 20 20 75 6e 73 69 67 6e 65 64 20 73 79 num_bits.).....{.....unsigned.sy
1d800 6d 62 6f 6c 20 3d 20 64 65 63 6f 64 65 5f 74 72 65 65 28 20 62 6d 2c 20 6e 75 6d 5f 62 69 74 73 mbol.=.decode_tree(.bm,.num_bits
1d820 20 29 3b 0a 20 20 20 20 75 6e 73 69 67 6e 65 64 20 72 65 76 65 72 73 65 64 5f 73 79 6d 62 6f 6c .);.....unsigned.reversed_symbol
1d840 20 3d 20 30 3b 0a 20 20 20 20 66 6f 72 28 20 69 6e 74 20 69 20 3d 20 30 3b 20 69 20 3c 20 6e 75 .=.0;.....for(.int.i.=.0;.i.<.nu
1d860 6d 5f 62 69 74 73 3b 20 2b 2b 69 20 29 0a 20 20 20 20 20 20 7b 0a 20 20 20 20 20 20 72 65 76 65 m_bits;.++i.).......{.......reve
1d880 72 73 65 64 5f 73 79 6d 62 6f 6c 20 3d 20 28 20 72 65 76 65 72 73 65 64 5f 73 79 6d 62 6f 6c 20 rsed_symbol.=.(.reversed_symbol.
1d8a0 3c 3c 20 31 20 29 20 7c 20 28 20 73 79 6d 62 6f 6c 20 26 20 31 20 29 3b 0a 20 20 20 20 20 20 73 <<.1.).|.(.symbol.&.1.);.......s
1d8c0 79 6d 62 6f 6c 20 3e 3e 3d 20 31 3b 0a 20 20 20 20 20 20 7d 0a 20 20 20 20 72 65 74 75 72 6e 20 ymbol.>>=.1;.......}.....return.
1d8e0 72 65 76 65 72 73 65 64 5f 73 79 6d 62 6f 6c 3b 0a 20 20 20 20 7d 0a 0a 20 20 75 6e 73 69 67 6e reversed_symbol;.....}....unsign
1d900 65 64 20 64 65 63 6f 64 65 5f 6d 61 74 63 68 65 64 28 20 42 69 74 5f 6d 6f 64 65 6c 20 62 6d 5b ed.decode_matched(.Bit_model.bm[
1d920 5d 2c 20 63 6f 6e 73 74 20 75 6e 73 69 67 6e 65 64 20 6d 61 74 63 68 5f 62 79 74 65 20 29 0a 20 ],.const.unsigned.match_byte.)..
1d940 20 20 20 7b 0a 20 20 20 20 75 6e 73 69 67 6e 65 64 20 73 79 6d 62 6f 6c 20 3d 20 31 3b 0a 20 20 ...{.....unsigned.symbol.=.1;...
1d960 20 20 66 6f 72 28 20 69 6e 74 20 69 20 3d 20 37 3b 20 69 20 3e 3d 20 30 3b 20 2d 2d 69 20 29 0a ..for(.int.i.=.7;.i.>=.0;.--i.).
1d980 20 20 20 20 20 20 7b 0a 20 20 20 20 20 20 63 6f 6e 73 74 20 75 6e 73 69 67 6e 65 64 20 6d 61 74 ......{.......const.unsigned.mat
1d9a0 63 68 5f 62 69 74 20 3d 20 28 20 6d 61 74 63 68 5f 62 79 74 65 20 3e 3e 20 69 20 29 20 26 20 31 ch_bit.=.(.match_byte.>>.i.).&.1
1d9c0 3b 0a 20 20 20 20 20 20 63 6f 6e 73 74 20 75 6e 73 69 67 6e 65 64 20 62 69 74 20 3d 20 64 65 63 ;.......const.unsigned.bit.=.dec
1d9e0 6f 64 65 5f 62 69 74 28 20 62 6d 5b 73 79 6d 62 6f 6c 2b 28 6d 61 74 63 68 5f 62 69 74 3c 3c 38 ode_bit(.bm[symbol+(match_bit<<8
1da00 29 2b 30 78 31 30 30 5d 20 29 3b 0a 20 20 20 20 20 20 73 79 6d 62 6f 6c 20 3d 20 28 20 73 79 6d )+0x100].);.......symbol.=.(.sym
1da20 62 6f 6c 20 3c 3c 20 31 20 29 20 7c 20 62 69 74 3b 0a 20 20 20 20 20 20 69 66 28 20 6d 61 74 63 bol.<<.1.).|.bit;.......if(.matc
1da40 68 5f 62 69 74 20 21 3d 20 62 69 74 20 29 0a 20 20 20 20 20 20 20 20 7b 0a 20 20 20 20 20 20 20 h_bit.!=.bit.).........{........
1da60 20 77 68 69 6c 65 28 20 73 79 6d 62 6f 6c 20 3c 20 30 78 31 30 30 20 29 0a 20 20 20 20 20 20 20 .while(.symbol.<.0x100.)........
1da80 20 20 20 73 79 6d 62 6f 6c 20 3d 20 28 20 73 79 6d 62 6f 6c 20 3c 3c 20 31 20 29 20 7c 20 64 65 ...symbol.=.(.symbol.<<.1.).|.de
1daa0 63 6f 64 65 5f 62 69 74 28 20 62 6d 5b 73 79 6d 62 6f 6c 5d 20 29 3b 0a 20 20 20 20 20 20 20 20 code_bit(.bm[symbol].);.........
1dac0 62 72 65 61 6b 3b 0a 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 7d 0a 20 20 20 20 72 65 74 break;.........}.......}.....ret
1dae0 75 72 6e 20 73 79 6d 62 6f 6c 20 26 20 30 78 46 46 3b 0a 20 20 20 20 7d 0a 0a 20 20 75 6e 73 69 urn.symbol.&.0xFF;.....}....unsi
1db00 67 6e 65 64 20 64 65 63 6f 64 65 5f 6c 65 6e 28 20 4c 65 6e 5f 6d 6f 64 65 6c 20 26 20 6c 6d 2c gned.decode_len(.Len_model.&.lm,
1db20 20 63 6f 6e 73 74 20 69 6e 74 20 70 6f 73 5f 73 74 61 74 65 20 29 0a 20 20 20 20 7b 0a 20 20 20 .const.int.pos_state.).....{....
1db40 20 69 66 28 20 64 65 63 6f 64 65 5f 62 69 74 28 20 6c 6d 2e 63 68 6f 69 63 65 31 20 29 20 3d 3d .if(.decode_bit(.lm.choice1.).==
1db60 20 30 20 29 0a 20 20 20 20 20 20 72 65 74 75 72 6e 20 64 65 63 6f 64 65 5f 74 72 65 65 28 20 6c .0.).......return.decode_tree(.l
1db80 6d 2e 62 6d 5f 6c 6f 77 5b 70 6f 73 5f 73 74 61 74 65 5d 2c 20 6c 65 6e 5f 6c 6f 77 5f 62 69 74 m.bm_low[pos_state],.len_low_bit
1dba0 73 20 29 3b 0a 20 20 20 20 69 66 28 20 64 65 63 6f 64 65 5f 62 69 74 28 20 6c 6d 2e 63 68 6f 69 s.);.....if(.decode_bit(.lm.choi
1dbc0 63 65 32 20 29 20 3d 3d 20 30 20 29 0a 20 20 20 20 20 20 72 65 74 75 72 6e 20 6c 65 6e 5f 6c 6f ce2.).==.0.).......return.len_lo
1dbe0 77 5f 73 79 6d 62 6f 6c 73 20 2b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 64 65 63 6f 64 65 5f w_symbols.+..............decode_
1dc00 74 72 65 65 28 20 6c 6d 2e 62 6d 5f 6d 69 64 5b 70 6f 73 5f 73 74 61 74 65 5d 2c 20 6c 65 6e 5f tree(.lm.bm_mid[pos_state],.len_
1dc20 6d 69 64 5f 62 69 74 73 20 29 3b 0a 20 20 20 20 72 65 74 75 72 6e 20 6c 65 6e 5f 6c 6f 77 5f 73 mid_bits.);.....return.len_low_s
1dc40 79 6d 62 6f 6c 73 20 2b 20 6c 65 6e 5f 6d 69 64 5f 73 79 6d 62 6f 6c 73 20 2b 0a 20 20 20 20 20 ymbols.+.len_mid_symbols.+......
1dc60 20 20 20 20 20 20 64 65 63 6f 64 65 5f 74 72 65 65 28 20 6c 6d 2e 62 6d 5f 68 69 67 68 2c 20 6c ......decode_tree(.lm.bm_high,.l
1dc80 65 6e 5f 68 69 67 68 5f 62 69 74 73 20 29 3b 0a 20 20 20 20 7d 0a 20 20 7d 3b 0a 0a 0a 63 6c 61 en_high_bits.);.....}...};...cla
1dca0 73 73 20 4c 5a 5f 64 65 63 6f 64 65 72 0a 20 20 7b 0a 20 20 75 6e 73 69 67 6e 65 64 20 6c 6f 6e ss.LZ_decoder...{...unsigned.lon
1dcc0 67 20 6c 6f 6e 67 20 70 61 72 74 69 61 6c 5f 64 61 74 61 5f 70 6f 73 3b 0a 20 20 52 61 6e 67 65 g.long.partial_data_pos;...Range
1dce0 5f 64 65 63 6f 64 65 72 20 72 64 65 63 3b 0a 20 20 63 6f 6e 73 74 20 75 6e 73 69 67 6e 65 64 20 _decoder.rdec;...const.unsigned.
1dd00 64 69 63 74 69 6f 6e 61 72 79 5f 73 69 7a 65 3b 0a 20 20 75 69 6e 74 38 5f 74 20 2a 20 63 6f 6e dictionary_size;...uint8_t.*.con
1dd20 73 74 20 62 75 66 66 65 72 3b 09 2f 2f 20 6f 75 74 70 75 74 20 62 75 66 66 65 72 0a 20 20 75 6e st.buffer;.//.output.buffer...un
1dd40 73 69 67 6e 65 64 20 70 6f 73 3b 09 09 09 2f 2f 20 63 75 72 72 65 6e 74 20 70 6f 73 20 69 6e 20 signed.pos;...//.current.pos.in.
1dd60 62 75 66 66 65 72 0a 20 20 75 6e 73 69 67 6e 65 64 20 73 74 72 65 61 6d 5f 70 6f 73 3b 09 09 2f buffer...unsigned.stream_pos;../
1dd80 2f 20 66 69 72 73 74 20 62 79 74 65 20 6e 6f 74 20 79 65 74 20 77 72 69 74 74 65 6e 20 74 6f 20 /.first.byte.not.yet.written.to.
1dda0 73 74 64 6f 75 74 0a 20 20 75 69 6e 74 33 32 5f 74 20 63 72 63 5f 3b 0a 20 20 62 6f 6f 6c 20 70 stdout...uint32_t.crc_;...bool.p
1ddc0 6f 73 5f 77 72 61 70 70 65 64 3b 0a 0a 20 20 76 6f 69 64 20 66 6c 75 73 68 5f 64 61 74 61 28 29 os_wrapped;....void.flush_data()
1dde0 3b 0a 0a 20 20 75 69 6e 74 38 5f 74 20 70 65 65 6b 28 20 63 6f 6e 73 74 20 75 6e 73 69 67 6e 65 ;....uint8_t.peek(.const.unsigne
1de00 64 20 64 69 73 74 61 6e 63 65 20 29 20 63 6f 6e 73 74 0a 20 20 20 20 7b 0a 20 20 20 20 69 66 28 d.distance.).const.....{.....if(
1de20 20 70 6f 73 20 3e 20 64 69 73 74 61 6e 63 65 20 29 20 72 65 74 75 72 6e 20 62 75 66 66 65 72 5b .pos.>.distance.).return.buffer[
1de40 70 6f 73 20 2d 20 64 69 73 74 61 6e 63 65 20 2d 20 31 5d 3b 0a 20 20 20 20 69 66 28 20 70 6f 73 pos.-.distance.-.1];.....if(.pos
1de60 5f 77 72 61 70 70 65 64 20 29 20 72 65 74 75 72 6e 20 62 75 66 66 65 72 5b 64 69 63 74 69 6f 6e _wrapped.).return.buffer[diction
1de80 61 72 79 5f 73 69 7a 65 20 2b 20 70 6f 73 20 2d 20 64 69 73 74 61 6e 63 65 20 2d 20 31 5d 3b 0a ary_size.+.pos.-.distance.-.1];.
1dea0 20 20 20 20 72 65 74 75 72 6e 20 30 3b 09 09 09 2f 2f 20 70 72 65 76 5f 62 79 74 65 20 6f 66 20 ....return.0;...//.prev_byte.of.
1dec0 66 69 72 73 74 20 62 79 74 65 0a 20 20 20 20 7d 0a 0a 20 20 76 6f 69 64 20 70 75 74 5f 62 79 74 first.byte.....}....void.put_byt
1dee0 65 28 20 63 6f 6e 73 74 20 75 69 6e 74 38 5f 74 20 62 20 29 0a 20 20 20 20 7b 0a 20 20 20 20 62 e(.const.uint8_t.b.).....{.....b
1df00 75 66 66 65 72 5b 70 6f 73 5d 20 3d 20 62 3b 0a 20 20 20 20 69 66 28 20 2b 2b 70 6f 73 20 3e 3d uffer[pos].=.b;.....if(.++pos.>=
1df20 20 64 69 63 74 69 6f 6e 61 72 79 5f 73 69 7a 65 20 29 20 66 6c 75 73 68 5f 64 61 74 61 28 29 3b .dictionary_size.).flush_data();
1df40 0a 20 20 20 20 7d 0a 0a 70 75 62 6c 69 63 3a 0a 20 20 65 78 70 6c 69 63 69 74 20 4c 5a 5f 64 65 .....}..public:...explicit.LZ_de
1df60 63 6f 64 65 72 28 20 63 6f 6e 73 74 20 75 6e 73 69 67 6e 65 64 20 64 69 63 74 5f 73 69 7a 65 20 coder(.const.unsigned.dict_size.
1df80 29 0a 20 20 20 20 3a 0a 20 20 20 20 70 61 72 74 69 61 6c 5f 64 61 74 61 5f 70 6f 73 28 20 30 20 ).....:.....partial_data_pos(.0.
1dfa0 29 2c 0a 20 20 20 20 64 69 63 74 69 6f 6e 61 72 79 5f 73 69 7a 65 28 20 64 69 63 74 5f 73 69 7a ),.....dictionary_size(.dict_siz
1dfc0 65 20 29 2c 0a 20 20 20 20 62 75 66 66 65 72 28 20 6e 65 77 20 75 69 6e 74 38 5f 74 5b 64 69 63 e.),.....buffer(.new.uint8_t[dic
1dfe0 74 69 6f 6e 61 72 79 5f 73 69 7a 65 5d 20 29 2c 0a 20 20 20 20 70 6f 73 28 20 30 20 29 2c 0a 20 tionary_size].),.....pos(.0.),..
1e000 20 20 20 73 74 72 65 61 6d 5f 70 6f 73 28 20 30 20 29 2c 0a 20 20 20 20 63 72 63 5f 28 20 30 78 ...stream_pos(.0.),.....crc_(.0x
1e020 46 46 46 46 46 46 46 46 55 20 29 2c 0a 20 20 20 20 70 6f 73 5f 77 72 61 70 70 65 64 28 20 66 61 FFFFFFFFU.),.....pos_wrapped(.fa
1e040 6c 73 65 20 29 0a 20 20 20 20 7b 7d 0a 0a 20 20 7e 4c 5a 5f 64 65 63 6f 64 65 72 28 29 20 7b 20 lse.).....{}....~LZ_decoder().{.
1e060 64 65 6c 65 74 65 5b 5d 20 62 75 66 66 65 72 3b 20 7d 0a 0a 20 20 75 6e 73 69 67 6e 65 64 20 63 delete[].buffer;.}....unsigned.c
1e080 72 63 28 29 20 63 6f 6e 73 74 20 7b 20 72 65 74 75 72 6e 20 63 72 63 5f 20 5e 20 30 78 46 46 46 rc().const.{.return.crc_.^.0xFFF
1e0a0 46 46 46 46 46 55 3b 20 7d 0a 20 20 75 6e 73 69 67 6e 65 64 20 6c 6f 6e 67 20 6c 6f 6e 67 20 64 FFFFFU;.}...unsigned.long.long.d
1e0c0 61 74 61 5f 70 6f 73 69 74 69 6f 6e 28 29 20 63 6f 6e 73 74 0a 20 20 20 20 7b 20 72 65 74 75 72 ata_position().const.....{.retur
1e0e0 6e 20 70 61 72 74 69 61 6c 5f 64 61 74 61 5f 70 6f 73 20 2b 20 70 6f 73 3b 20 7d 0a 20 20 75 69 n.partial_data_pos.+.pos;.}...ui
1e100 6e 74 38 5f 74 20 67 65 74 5f 62 79 74 65 28 29 20 7b 20 72 65 74 75 72 6e 20 72 64 65 63 2e 67 nt8_t.get_byte().{.return.rdec.g
1e120 65 74 5f 62 79 74 65 28 29 3b 20 7d 0a 20 20 75 6e 73 69 67 6e 65 64 20 6c 6f 6e 67 20 6c 6f 6e et_byte();.}...unsigned.long.lon
1e140 67 20 6d 65 6d 62 65 72 5f 70 6f 73 69 74 69 6f 6e 28 29 20 63 6f 6e 73 74 0a 20 20 20 20 7b 20 g.member_position().const.....{.
1e160 72 65 74 75 72 6e 20 72 64 65 63 2e 6d 65 6d 62 65 72 5f 70 6f 73 69 74 69 6f 6e 28 29 3b 20 7d return.rdec.member_position();.}
1e180 0a 0a 20 20 62 6f 6f 6c 20 64 65 63 6f 64 65 5f 6d 65 6d 62 65 72 28 29 3b 0a 20 20 7d 3b 0a 0a ....bool.decode_member();...};..
1e1a0 0a 76 6f 69 64 20 4c 5a 5f 64 65 63 6f 64 65 72 3a 3a 66 6c 75 73 68 5f 64 61 74 61 28 29 0a 20 .void.LZ_decoder::flush_data()..
1e1c0 20 7b 0a 20 20 69 66 28 20 70 6f 73 20 3e 20 73 74 72 65 61 6d 5f 70 6f 73 20 29 0a 20 20 20 20 .{...if(.pos.>.stream_pos.).....
1e1e0 7b 0a 20 20 20 20 63 6f 6e 73 74 20 75 6e 73 69 67 6e 65 64 20 73 69 7a 65 20 3d 20 70 6f 73 20 {.....const.unsigned.size.=.pos.
1e200 2d 20 73 74 72 65 61 6d 5f 70 6f 73 3b 0a 20 20 20 20 63 72 63 33 32 2e 75 70 64 61 74 65 5f 62 -.stream_pos;.....crc32.update_b
1e220 75 66 28 20 63 72 63 5f 2c 20 62 75 66 66 65 72 20 2b 20 73 74 72 65 61 6d 5f 70 6f 73 2c 20 73 uf(.crc_,.buffer.+.stream_pos,.s
1e240 69 7a 65 20 29 3b 0a 20 20 20 20 69 66 28 20 73 74 64 3a 3a 66 77 72 69 74 65 28 20 62 75 66 66 ize.);.....if(.std::fwrite(.buff
1e260 65 72 20 2b 20 73 74 72 65 61 6d 5f 70 6f 73 2c 20 31 2c 20 73 69 7a 65 2c 20 73 74 64 6f 75 74 er.+.stream_pos,.1,.size,.stdout
1e280 20 29 20 21 3d 20 73 69 7a 65 20 29 0a 20 20 20 20 20 20 7b 20 73 74 64 3a 3a 66 70 72 69 6e 74 .).!=.size.).......{.std::fprint
1e2a0 66 28 20 73 74 64 65 72 72 2c 20 22 57 72 69 74 65 20 65 72 72 6f 72 3a 20 25 73 5c 6e 22 2c 20 f(.stderr,."Write.error:.%s\n",.
1e2c0 73 74 64 3a 3a 73 74 72 65 72 72 6f 72 28 20 65 72 72 6e 6f 20 29 20 29 3b 0a 20 20 20 20 20 20 std::strerror(.errno.).);.......
1e2e0 20 20 73 74 64 3a 3a 65 78 69 74 28 20 31 20 29 3b 20 7d 0a 20 20 20 20 69 66 28 20 70 6f 73 20 ..std::exit(.1.);.}.....if(.pos.
1e300 3e 3d 20 64 69 63 74 69 6f 6e 61 72 79 5f 73 69 7a 65 20 29 0a 20 20 20 20 20 20 7b 20 70 61 72 >=.dictionary_size.).......{.par
1e320 74 69 61 6c 5f 64 61 74 61 5f 70 6f 73 20 2b 3d 20 70 6f 73 3b 20 70 6f 73 20 3d 20 30 3b 20 70 tial_data_pos.+=.pos;.pos.=.0;.p
1e340 6f 73 5f 77 72 61 70 70 65 64 20 3d 20 74 72 75 65 3b 20 7d 0a 20 20 20 20 73 74 72 65 61 6d 5f os_wrapped.=.true;.}.....stream_
1e360 70 6f 73 20 3d 20 70 6f 73 3b 0a 20 20 20 20 7d 0a 20 20 7d 0a 0a 0a 62 6f 6f 6c 20 4c 5a 5f 64 pos.=.pos;.....}...}...bool.LZ_d
1e380 65 63 6f 64 65 72 3a 3a 64 65 63 6f 64 65 5f 6d 65 6d 62 65 72 28 29 09 2f 2f 20 52 65 74 75 72 ecoder::decode_member().//.Retur
1e3a0 6e 73 20 66 61 6c 73 65 20 69 66 20 65 72 72 6f 72 0a 20 20 7b 0a 20 20 42 69 74 5f 6d 6f 64 65 ns.false.if.error...{...Bit_mode
1e3c0 6c 20 62 6d 5f 6c 69 74 65 72 61 6c 5b 31 3c 3c 6c 69 74 65 72 61 6c 5f 63 6f 6e 74 65 78 74 5f l.bm_literal[1<<literal_context_
1e3e0 62 69 74 73 5d 5b 30 78 33 30 30 5d 3b 0a 20 20 42 69 74 5f 6d 6f 64 65 6c 20 62 6d 5f 6d 61 74 bits][0x300];...Bit_model.bm_mat
1e400 63 68 5b 53 74 61 74 65 3a 3a 73 74 61 74 65 73 5d 5b 70 6f 73 5f 73 74 61 74 65 73 5d 3b 0a 20 ch[State::states][pos_states];..
1e420 20 42 69 74 5f 6d 6f 64 65 6c 20 62 6d 5f 72 65 70 5b 53 74 61 74 65 3a 3a 73 74 61 74 65 73 5d .Bit_model.bm_rep[State::states]
1e440 3b 0a 20 20 42 69 74 5f 6d 6f 64 65 6c 20 62 6d 5f 72 65 70 30 5b 53 74 61 74 65 3a 3a 73 74 61 ;...Bit_model.bm_rep0[State::sta
1e460 74 65 73 5d 3b 0a 20 20 42 69 74 5f 6d 6f 64 65 6c 20 62 6d 5f 72 65 70 31 5b 53 74 61 74 65 3a tes];...Bit_model.bm_rep1[State:
1e480 3a 73 74 61 74 65 73 5d 3b 0a 20 20 42 69 74 5f 6d 6f 64 65 6c 20 62 6d 5f 72 65 70 32 5b 53 74 :states];...Bit_model.bm_rep2[St
1e4a0 61 74 65 3a 3a 73 74 61 74 65 73 5d 3b 0a 20 20 42 69 74 5f 6d 6f 64 65 6c 20 62 6d 5f 6c 65 6e ate::states];...Bit_model.bm_len
1e4c0 5b 53 74 61 74 65 3a 3a 73 74 61 74 65 73 5d 5b 70 6f 73 5f 73 74 61 74 65 73 5d 3b 0a 20 20 42 [State::states][pos_states];...B
1e4e0 69 74 5f 6d 6f 64 65 6c 20 62 6d 5f 64 69 73 5f 73 6c 6f 74 5b 6c 65 6e 5f 73 74 61 74 65 73 5d it_model.bm_dis_slot[len_states]
1e500 5b 31 3c 3c 64 69 73 5f 73 6c 6f 74 5f 62 69 74 73 5d 3b 0a 20 20 42 69 74 5f 6d 6f 64 65 6c 20 [1<<dis_slot_bits];...Bit_model.
1e520 62 6d 5f 64 69 73 5b 6d 6f 64 65 6c 65 64 5f 64 69 73 74 61 6e 63 65 73 2d 65 6e 64 5f 64 69 73 bm_dis[modeled_distances-end_dis
1e540 5f 6d 6f 64 65 6c 2b 31 5d 3b 0a 20 20 42 69 74 5f 6d 6f 64 65 6c 20 62 6d 5f 61 6c 69 67 6e 5b _model+1];...Bit_model.bm_align[
1e560 64 69 73 5f 61 6c 69 67 6e 5f 73 69 7a 65 5d 3b 0a 20 20 4c 65 6e 5f 6d 6f 64 65 6c 20 6d 61 74 dis_align_size];...Len_model.mat
1e580 63 68 5f 6c 65 6e 5f 6d 6f 64 65 6c 3b 0a 20 20 4c 65 6e 5f 6d 6f 64 65 6c 20 72 65 70 5f 6c 65 ch_len_model;...Len_model.rep_le
1e5a0 6e 5f 6d 6f 64 65 6c 3b 0a 20 20 75 6e 73 69 67 6e 65 64 20 72 65 70 30 20 3d 20 30 3b 09 09 2f n_model;...unsigned.rep0.=.0;../
1e5c0 2f 20 72 65 70 5b 30 2d 33 5d 20 6c 61 74 65 73 74 20 66 6f 75 72 20 64 69 73 74 61 6e 63 65 73 /.rep[0-3].latest.four.distances
1e5e0 0a 20 20 75 6e 73 69 67 6e 65 64 20 72 65 70 31 20 3d 20 30 3b 09 09 2f 2f 20 75 73 65 64 20 66 ...unsigned.rep1.=.0;..//.used.f
1e600 6f 72 20 65 66 66 69 63 69 65 6e 74 20 63 6f 64 69 6e 67 20 6f 66 0a 20 20 75 6e 73 69 67 6e 65 or.efficient.coding.of...unsigne
1e620 64 20 72 65 70 32 20 3d 20 30 3b 09 09 2f 2f 20 72 65 70 65 61 74 65 64 20 64 69 73 74 61 6e 63 d.rep2.=.0;..//.repeated.distanc
1e640 65 73 0a 20 20 75 6e 73 69 67 6e 65 64 20 72 65 70 33 20 3d 20 30 3b 0a 20 20 53 74 61 74 65 20 es...unsigned.rep3.=.0;...State.
1e660 73 74 61 74 65 3b 0a 0a 20 20 77 68 69 6c 65 28 20 21 73 74 64 3a 3a 66 65 6f 66 28 20 73 74 64 state;....while(.!std::feof(.std
1e680 69 6e 20 29 20 26 26 20 21 73 74 64 3a 3a 66 65 72 72 6f 72 28 20 73 74 64 69 6e 20 29 20 29 0a in.).&&.!std::ferror(.stdin.).).
1e6a0 20 20 20 20 7b 0a 20 20 20 20 63 6f 6e 73 74 20 69 6e 74 20 70 6f 73 5f 73 74 61 74 65 20 3d 20 ....{.....const.int.pos_state.=.
1e6c0 64 61 74 61 5f 70 6f 73 69 74 69 6f 6e 28 29 20 26 20 70 6f 73 5f 73 74 61 74 65 5f 6d 61 73 6b data_position().&.pos_state_mask
1e6e0 3b 0a 20 20 20 20 69 66 28 20 72 64 65 63 2e 64 65 63 6f 64 65 5f 62 69 74 28 20 62 6d 5f 6d 61 ;.....if(.rdec.decode_bit(.bm_ma
1e700 74 63 68 5b 73 74 61 74 65 28 29 5d 5b 70 6f 73 5f 73 74 61 74 65 5d 20 29 20 3d 3d 20 30 20 29 tch[state()][pos_state].).==.0.)
1e720 09 2f 2f 20 31 73 74 20 62 69 74 0a 20 20 20 20 20 20 7b 0a 20 20 20 20 20 20 2f 2f 20 6c 69 74 .//.1st.bit.......{.......//.lit
1e740 65 72 61 6c 20 62 79 74 65 0a 20 20 20 20 20 20 63 6f 6e 73 74 20 75 69 6e 74 38 5f 74 20 70 72 eral.byte.......const.uint8_t.pr
1e760 65 76 5f 62 79 74 65 20 3d 20 70 65 65 6b 28 20 30 20 29 3b 0a 20 20 20 20 20 20 63 6f 6e 73 74 ev_byte.=.peek(.0.);.......const
1e780 20 69 6e 74 20 6c 69 74 65 72 61 6c 5f 73 74 61 74 65 20 3d 20 70 72 65 76 5f 62 79 74 65 20 3e .int.literal_state.=.prev_byte.>
1e7a0 3e 20 28 20 38 20 2d 20 6c 69 74 65 72 61 6c 5f 63 6f 6e 74 65 78 74 5f 62 69 74 73 20 29 3b 0a >.(.8.-.literal_context_bits.);.
1e7c0 20 20 20 20 20 20 42 69 74 5f 6d 6f 64 65 6c 20 2a 20 63 6f 6e 73 74 20 62 6d 20 3d 20 62 6d 5f ......Bit_model.*.const.bm.=.bm_
1e7e0 6c 69 74 65 72 61 6c 5b 6c 69 74 65 72 61 6c 5f 73 74 61 74 65 5d 3b 0a 20 20 20 20 20 20 69 66 literal[literal_state];.......if
1e800 28 20 73 74 61 74 65 2e 69 73 5f 63 68 61 72 28 29 20 29 0a 20 20 20 20 20 20 20 20 70 75 74 5f (.state.is_char().).........put_
1e820 62 79 74 65 28 20 72 64 65 63 2e 64 65 63 6f 64 65 5f 74 72 65 65 28 20 62 6d 2c 20 38 20 29 20 byte(.rdec.decode_tree(.bm,.8.).
1e840 29 3b 0a 20 20 20 20 20 20 65 6c 73 65 0a 20 20 20 20 20 20 20 20 70 75 74 5f 62 79 74 65 28 20 );.......else.........put_byte(.
1e860 72 64 65 63 2e 64 65 63 6f 64 65 5f 6d 61 74 63 68 65 64 28 20 62 6d 2c 20 70 65 65 6b 28 20 72 rdec.decode_matched(.bm,.peek(.r
1e880 65 70 30 20 29 20 29 20 29 3b 0a 20 20 20 20 20 20 73 74 61 74 65 2e 73 65 74 5f 63 68 61 72 28 ep0.).).);.......state.set_char(
1e8a0 29 3b 0a 20 20 20 20 20 20 63 6f 6e 74 69 6e 75 65 3b 0a 20 20 20 20 20 20 7d 0a 20 20 20 20 2f );.......continue;.......}...../
1e8c0 2f 20 6d 61 74 63 68 20 6f 72 20 72 65 70 65 61 74 65 64 20 6d 61 74 63 68 0a 20 20 20 20 69 6e /.match.or.repeated.match.....in
1e8e0 74 20 6c 65 6e 3b 0a 20 20 20 20 69 66 28 20 72 64 65 63 2e 64 65 63 6f 64 65 5f 62 69 74 28 20 t.len;.....if(.rdec.decode_bit(.
1e900 62 6d 5f 72 65 70 5b 73 74 61 74 65 28 29 5d 20 29 20 21 3d 20 30 20 29 09 09 2f 2f 20 32 6e 64 bm_rep[state()].).!=.0.)..//.2nd
1e920 20 62 69 74 0a 20 20 20 20 20 20 7b 0a 20 20 20 20 20 20 69 66 28 20 72 64 65 63 2e 64 65 63 6f .bit.......{.......if(.rdec.deco
1e940 64 65 5f 62 69 74 28 20 62 6d 5f 72 65 70 30 5b 73 74 61 74 65 28 29 5d 20 29 20 3d 3d 20 30 20 de_bit(.bm_rep0[state()].).==.0.
1e960 29 09 09 2f 2f 20 33 72 64 20 62 69 74 0a 20 20 20 20 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 )..//.3rd.bit.........{.........
1e980 69 66 28 20 72 64 65 63 2e 64 65 63 6f 64 65 5f 62 69 74 28 20 62 6d 5f 6c 65 6e 5b 73 74 61 74 if(.rdec.decode_bit(.bm_len[stat
1e9a0 65 28 29 5d 5b 70 6f 73 5f 73 74 61 74 65 5d 20 29 20 3d 3d 20 30 20 29 20 2f 2f 20 34 74 68 20 e()][pos_state].).==.0.).//.4th.
1e9c0 62 69 74 0a 20 20 20 20 20 20 20 20 20 20 7b 20 73 74 61 74 65 2e 73 65 74 5f 73 68 6f 72 74 5f bit...........{.state.set_short_
1e9e0 72 65 70 28 29 3b 20 70 75 74 5f 62 79 74 65 28 20 70 65 65 6b 28 20 72 65 70 30 20 29 20 29 3b rep();.put_byte(.peek(.rep0.).);
1ea00 20 63 6f 6e 74 69 6e 75 65 3b 20 7d 0a 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 65 6c 73 .continue;.}.........}.......els
1ea20 65 0a 20 20 20 20 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 75 6e 73 69 67 6e 65 64 20 64 69 73 e.........{.........unsigned.dis
1ea40 74 61 6e 63 65 3b 0a 20 20 20 20 20 20 20 20 69 66 28 20 72 64 65 63 2e 64 65 63 6f 64 65 5f 62 tance;.........if(.rdec.decode_b
1ea60 69 74 28 20 62 6d 5f 72 65 70 31 5b 73 74 61 74 65 28 29 5d 20 29 20 3d 3d 20 30 20 29 09 09 2f it(.bm_rep1[state()].).==.0.)../
1ea80 2f 20 34 74 68 20 62 69 74 0a 20 20 20 20 20 20 20 20 20 20 64 69 73 74 61 6e 63 65 20 3d 20 72 /.4th.bit...........distance.=.r
1eaa0 65 70 31 3b 0a 20 20 20 20 20 20 20 20 65 6c 73 65 0a 20 20 20 20 20 20 20 20 20 20 7b 0a 20 20 ep1;.........else...........{...
1eac0 20 20 20 20 20 20 20 20 69 66 28 20 72 64 65 63 2e 64 65 63 6f 64 65 5f 62 69 74 28 20 62 6d 5f ........if(.rdec.decode_bit(.bm_
1eae0 72 65 70 32 5b 73 74 61 74 65 28 29 5d 20 29 20 3d 3d 20 30 20 29 09 2f 2f 20 35 74 68 20 62 69 rep2[state()].).==.0.).//.5th.bi
1eb00 74 0a 20 20 20 20 20 20 20 20 20 20 20 20 64 69 73 74 61 6e 63 65 20 3d 20 72 65 70 32 3b 0a 20 t.............distance.=.rep2;..
1eb20 20 20 20 20 20 20 20 20 20 65 6c 73 65 0a 20 20 20 20 20 20 20 20 20 20 20 20 7b 20 64 69 73 74 .........else.............{.dist
1eb40 61 6e 63 65 20 3d 20 72 65 70 33 3b 20 72 65 70 33 20 3d 20 72 65 70 32 3b 20 7d 0a 20 20 20 20 ance.=.rep3;.rep3.=.rep2;.}.....
1eb60 20 20 20 20 20 20 72 65 70 32 20 3d 20 72 65 70 31 3b 0a 20 20 20 20 20 20 20 20 20 20 7d 0a 20 ......rep2.=.rep1;...........}..
1eb80 20 20 20 20 20 20 20 72 65 70 31 20 3d 20 72 65 70 30 3b 0a 20 20 20 20 20 20 20 20 72 65 70 30 .......rep1.=.rep0;.........rep0
1eba0 20 3d 20 64 69 73 74 61 6e 63 65 3b 0a 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 73 74 61 .=.distance;.........}.......sta
1ebc0 74 65 2e 73 65 74 5f 72 65 70 28 29 3b 0a 20 20 20 20 20 20 6c 65 6e 20 3d 20 6d 69 6e 5f 6d 61 te.set_rep();.......len.=.min_ma
1ebe0 74 63 68 5f 6c 65 6e 20 2b 20 72 64 65 63 2e 64 65 63 6f 64 65 5f 6c 65 6e 28 20 72 65 70 5f 6c tch_len.+.rdec.decode_len(.rep_l
1ec00 65 6e 5f 6d 6f 64 65 6c 2c 20 70 6f 73 5f 73 74 61 74 65 20 29 3b 0a 20 20 20 20 20 20 7d 0a 20 en_model,.pos_state.);.......}..
1ec20 20 20 20 65 6c 73 65 09 09 09 09 09 2f 2f 20 6d 61 74 63 68 0a 20 20 20 20 20 20 7b 0a 20 20 20 ...else.....//.match.......{....
1ec40 20 20 20 72 65 70 33 20 3d 20 72 65 70 32 3b 20 72 65 70 32 20 3d 20 72 65 70 31 3b 20 72 65 70 ...rep3.=.rep2;.rep2.=.rep1;.rep
1ec60 31 20 3d 20 72 65 70 30 3b 0a 20 20 20 20 20 20 6c 65 6e 20 3d 20 6d 69 6e 5f 6d 61 74 63 68 5f 1.=.rep0;.......len.=.min_match_
1ec80 6c 65 6e 20 2b 20 72 64 65 63 2e 64 65 63 6f 64 65 5f 6c 65 6e 28 20 6d 61 74 63 68 5f 6c 65 6e len.+.rdec.decode_len(.match_len
1eca0 5f 6d 6f 64 65 6c 2c 20 70 6f 73 5f 73 74 61 74 65 20 29 3b 0a 20 20 20 20 20 20 63 6f 6e 73 74 _model,.pos_state.);.......const
1ecc0 20 69 6e 74 20 6c 65 6e 5f 73 74 61 74 65 20 3d 20 73 74 64 3a 3a 6d 69 6e 28 20 6c 65 6e 20 2d .int.len_state.=.std::min(.len.-
1ece0 20 6d 69 6e 5f 6d 61 74 63 68 5f 6c 65 6e 2c 20 6c 65 6e 5f 73 74 61 74 65 73 20 2d 20 31 20 29 .min_match_len,.len_states.-.1.)
1ed00 3b 0a 20 20 20 20 20 20 72 65 70 30 20 3d 20 72 64 65 63 2e 64 65 63 6f 64 65 5f 74 72 65 65 28 ;.......rep0.=.rdec.decode_tree(
1ed20 20 62 6d 5f 64 69 73 5f 73 6c 6f 74 5b 6c 65 6e 5f 73 74 61 74 65 5d 2c 20 64 69 73 5f 73 6c 6f .bm_dis_slot[len_state],.dis_slo
1ed40 74 5f 62 69 74 73 20 29 3b 0a 20 20 20 20 20 20 69 66 28 20 72 65 70 30 20 3e 3d 20 73 74 61 72 t_bits.);.......if(.rep0.>=.star
1ed60 74 5f 64 69 73 5f 6d 6f 64 65 6c 20 29 0a 20 20 20 20 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 t_dis_model.).........{.........
1ed80 63 6f 6e 73 74 20 75 6e 73 69 67 6e 65 64 20 64 69 73 5f 73 6c 6f 74 20 3d 20 72 65 70 30 3b 0a const.unsigned.dis_slot.=.rep0;.
1eda0 20 20 20 20 20 20 20 20 63 6f 6e 73 74 20 69 6e 74 20 64 69 72 65 63 74 5f 62 69 74 73 20 3d 20 ........const.int.direct_bits.=.
1edc0 28 20 64 69 73 5f 73 6c 6f 74 20 3e 3e 20 31 20 29 20 2d 20 31 3b 0a 20 20 20 20 20 20 20 20 72 (.dis_slot.>>.1.).-.1;.........r
1ede0 65 70 30 20 3d 20 28 20 32 20 7c 20 28 20 64 69 73 5f 73 6c 6f 74 20 26 20 31 20 29 20 29 20 3c ep0.=.(.2.|.(.dis_slot.&.1.).).<
1ee00 3c 20 64 69 72 65 63 74 5f 62 69 74 73 3b 0a 20 20 20 20 20 20 20 20 69 66 28 20 64 69 73 5f 73 <.direct_bits;.........if(.dis_s
1ee20 6c 6f 74 20 3c 20 65 6e 64 5f 64 69 73 5f 6d 6f 64 65 6c 20 29 0a 20 20 20 20 20 20 20 20 20 20 lot.<.end_dis_model.)...........
1ee40 72 65 70 30 20 2b 3d 20 72 64 65 63 2e 64 65 63 6f 64 65 5f 74 72 65 65 5f 72 65 76 65 72 73 65 rep0.+=.rdec.decode_tree_reverse
1ee60 64 28 20 62 6d 5f 64 69 73 20 2b 20 28 20 72 65 70 30 20 2d 20 64 69 73 5f 73 6c 6f 74 20 29 2c d(.bm_dis.+.(.rep0.-.dis_slot.),
1ee80 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
1eea0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 64 69 72 65 63 74 5f 62 69 74 73 20 29 3b 0a 20 20 20 ..............direct_bits.);....
1eec0 20 20 20 20 20 65 6c 73 65 0a 20 20 20 20 20 20 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 20 20 .....else...........{...........
1eee0 72 65 70 30 20 2b 3d 0a 20 20 20 20 20 20 20 20 20 20 20 20 72 64 65 63 2e 64 65 63 6f 64 65 28 rep0.+=.............rdec.decode(
1ef00 20 64 69 72 65 63 74 5f 62 69 74 73 20 2d 20 64 69 73 5f 61 6c 69 67 6e 5f 62 69 74 73 20 29 20 .direct_bits.-.dis_align_bits.).
1ef20 3c 3c 20 64 69 73 5f 61 6c 69 67 6e 5f 62 69 74 73 3b 0a 20 20 20 20 20 20 20 20 20 20 72 65 70 <<.dis_align_bits;...........rep
1ef40 30 20 2b 3d 20 72 64 65 63 2e 64 65 63 6f 64 65 5f 74 72 65 65 5f 72 65 76 65 72 73 65 64 28 20 0.+=.rdec.decode_tree_reversed(.
1ef60 62 6d 5f 61 6c 69 67 6e 2c 20 64 69 73 5f 61 6c 69 67 6e 5f 62 69 74 73 20 29 3b 0a 20 20 20 20 bm_align,.dis_align_bits.);.....
1ef80 20 20 20 20 20 20 69 66 28 20 72 65 70 30 20 3d 3d 20 30 78 46 46 46 46 46 46 46 46 55 20 29 09 ......if(.rep0.==.0xFFFFFFFFU.).
1efa0 09 2f 2f 20 6d 61 72 6b 65 72 20 66 6f 75 6e 64 0a 20 20 20 20 20 20 20 20 20 20 20 20 7b 0a 20 .//.marker.found.............{..
1efc0 20 20 20 20 20 20 20 20 20 20 20 66 6c 75 73 68 5f 64 61 74 61 28 29 3b 0a 20 20 20 20 20 20 20 ...........flush_data();........
1efe0 20 20 20 20 20 72 65 74 75 72 6e 20 28 20 6c 65 6e 20 3d 3d 20 6d 69 6e 5f 6d 61 74 63 68 5f 6c .....return.(.len.==.min_match_l
1f000 65 6e 20 29 3b 09 2f 2f 20 45 6e 64 20 4f 66 20 53 74 72 65 61 6d 20 6d 61 72 6b 65 72 0a 20 20 en.);.//.End.Of.Stream.marker...
1f020 20 20 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 ..........}...........}.........
1f040 7d 0a 20 20 20 20 20 20 73 74 61 74 65 2e 73 65 74 5f 6d 61 74 63 68 28 29 3b 0a 20 20 20 20 20 }.......state.set_match();......
1f060 20 69 66 28 20 72 65 70 30 20 3e 3d 20 64 69 63 74 69 6f 6e 61 72 79 5f 73 69 7a 65 20 7c 7c 20 .if(.rep0.>=.dictionary_size.||.
1f080 28 20 72 65 70 30 20 3e 3d 20 70 6f 73 20 26 26 20 21 70 6f 73 5f 77 72 61 70 70 65 64 20 29 20 (.rep0.>=.pos.&&.!pos_wrapped.).
1f0a0 29 0a 20 20 20 20 20 20 20 20 7b 20 66 6c 75 73 68 5f 64 61 74 61 28 29 3b 20 72 65 74 75 72 6e ).........{.flush_data();.return
1f0c0 20 66 61 6c 73 65 3b 20 7d 0a 20 20 20 20 20 20 7d 0a 20 20 20 20 66 6f 72 28 20 69 6e 74 20 69 .false;.}.......}.....for(.int.i
1f0e0 20 3d 20 30 3b 20 69 20 3c 20 6c 65 6e 3b 20 2b 2b 69 20 29 20 70 75 74 5f 62 79 74 65 28 20 70 .=.0;.i.<.len;.++i.).put_byte(.p
1f100 65 65 6b 28 20 72 65 70 30 20 29 20 29 3b 0a 20 20 20 20 7d 0a 20 20 66 6c 75 73 68 5f 64 61 74 eek(.rep0.).);.....}...flush_dat
1f120 61 28 29 3b 0a 20 20 72 65 74 75 72 6e 20 66 61 6c 73 65 3b 0a 20 20 7d 0a 0a 0a 69 6e 74 20 6d a();...return.false;...}...int.m
1f140 61 69 6e 28 20 63 6f 6e 73 74 20 69 6e 74 20 61 72 67 63 2c 20 63 6f 6e 73 74 20 63 68 61 72 20 ain(.const.int.argc,.const.char.
1f160 2a 20 63 6f 6e 73 74 20 61 72 67 76 5b 5d 20 29 0a 20 20 7b 0a 20 20 69 66 28 20 61 72 67 63 20 *.const.argv[].)...{...if(.argc.
1f180 3e 20 32 20 7c 7c 20 28 20 61 72 67 63 20 3d 3d 20 32 20 26 26 20 73 74 64 3a 3a 73 74 72 63 6d >.2.||.(.argc.==.2.&&.std::strcm
1f1a0 70 28 20 61 72 67 76 5b 31 5d 2c 20 22 2d 64 22 20 29 20 21 3d 20 30 20 29 20 29 0a 20 20 20 20 p(.argv[1],."-d".).!=.0.).).....
1f1c0 7b 0a 20 20 20 20 73 74 64 3a 3a 70 72 69 6e 74 66 28 0a 20 20 20 20 20 20 22 4c 7a 64 20 25 73 {.....std::printf(......."Lzd.%s
1f1e0 20 2d 20 45 64 75 63 61 74 69 6f 6e 61 6c 20 64 65 63 6f 6d 70 72 65 73 73 6f 72 20 66 6f 72 20 .-.Educational.decompressor.for.
1f200 74 68 65 20 6c 7a 69 70 20 66 6f 72 6d 61 74 2e 5c 6e 22 0a 20 20 20 20 20 20 22 53 74 75 64 79 the.lzip.format.\n"......."Study
1f220 20 74 68 65 20 73 6f 75 72 63 65 20 74 6f 20 6c 65 61 72 6e 20 68 6f 77 20 61 20 6c 7a 69 70 20 .the.source.to.learn.how.a.lzip.
1f240 64 65 63 6f 6d 70 72 65 73 73 6f 72 20 77 6f 72 6b 73 2e 5c 6e 22 0a 20 20 20 20 20 20 22 53 65 decompressor.works.\n"......."Se
1f260 65 20 74 68 65 20 6c 7a 69 70 20 6d 61 6e 75 61 6c 20 66 6f 72 20 61 6e 20 65 78 70 6c 61 6e 61 e.the.lzip.manual.for.an.explana
1f280 74 69 6f 6e 20 6f 66 20 74 68 65 20 63 6f 64 65 2e 5c 6e 22 0a 20 20 20 20 20 20 22 5c 6e 55 73 tion.of.the.code.\n"......."\nUs
1f2a0 61 67 65 3a 20 25 73 20 5b 2d 64 5d 20 3c 20 66 69 6c 65 2e 6c 7a 20 3e 20 66 69 6c 65 5c 6e 22 age:.%s.[-d].<.file.lz.>.file\n"
1f2c0 0a 20 20 20 20 20 20 22 4c 7a 64 20 64 65 63 6f 6d 70 72 65 73 73 65 73 20 66 72 6f 6d 20 73 74 ......."Lzd.decompresses.from.st
1f2e0 61 6e 64 61 72 64 20 69 6e 70 75 74 20 74 6f 20 73 74 61 6e 64 61 72 64 20 6f 75 74 70 75 74 2e andard.input.to.standard.output.
1f300 5c 6e 22 0a 20 20 20 20 20 20 22 5c 6e 43 6f 70 79 72 69 67 68 74 20 28 43 29 20 32 30 32 31 20 \n"......."\nCopyright.(C).2021.
1f320 41 6e 74 6f 6e 69 6f 20 44 69 61 7a 20 44 69 61 7a 2e 5c 6e 22 0a 20 20 20 20 20 20 22 4c 69 63 Antonio.Diaz.Diaz.\n"......."Lic
1f340 65 6e 73 65 20 32 2d 63 6c 61 75 73 65 20 42 53 44 2e 5c 6e 22 0a 20 20 20 20 20 20 22 54 68 69 ense.2-clause.BSD.\n"......."Thi
1f360 73 20 69 73 20 66 72 65 65 20 73 6f 66 74 77 61 72 65 3a 20 79 6f 75 20 61 72 65 20 66 72 65 65 s.is.free.software:.you.are.free
1f380 20 74 6f 20 63 68 61 6e 67 65 20 61 6e 64 20 72 65 64 69 73 74 72 69 62 75 74 65 20 69 74 2e 5c .to.change.and.redistribute.it.\
1f3a0 6e 22 0a 20 20 20 20 20 20 22 54 68 65 72 65 20 69 73 20 4e 4f 20 57 41 52 52 41 4e 54 59 2c 20 n"......."There.is.NO.WARRANTY,.
1f3c0 74 6f 20 74 68 65 20 65 78 74 65 6e 74 20 70 65 72 6d 69 74 74 65 64 20 62 79 20 6c 61 77 2e 5c to.the.extent.permitted.by.law.\
1f3e0 6e 22 0a 20 20 20 20 20 20 22 52 65 70 6f 72 74 20 62 75 67 73 20 74 6f 20 6c 7a 69 70 2d 62 75 n"......."Report.bugs.to.lzip-bu
1f400 67 40 6e 6f 6e 67 6e 75 2e 6f 72 67 5c 6e 22 0a 20 20 20 20 20 20 22 4c 7a 64 20 68 6f 6d 65 20 g@nongnu.org\n"......."Lzd.home.
1f420 70 61 67 65 3a 20 68 74 74 70 3a 2f 2f 77 77 77 2e 6e 6f 6e 67 6e 75 2e 6f 72 67 2f 6c 7a 69 70 page:.http://www.nongnu.org/lzip
1f440 2f 6c 7a 64 2e 68 74 6d 6c 5c 6e 22 2c 0a 20 20 20 20 20 20 50 52 4f 47 56 45 52 53 49 4f 4e 2c /lzd.html\n",.......PROGVERSION,
1f460 20 61 72 67 76 5b 30 5d 20 29 3b 0a 20 20 20 20 72 65 74 75 72 6e 20 30 3b 0a 20 20 20 20 7d 0a .argv[0].);.....return.0;.....}.
1f480 0a 23 69 66 20 64 65 66 69 6e 65 64 28 5f 5f 4d 53 56 43 52 54 5f 5f 29 20 7c 7c 20 64 65 66 69 .#if.defined(__MSVCRT__).||.defi
1f4a0 6e 65 64 28 5f 5f 4f 53 32 5f 5f 29 20 7c 7c 20 64 65 66 69 6e 65 64 28 5f 5f 44 4a 47 50 50 5f ned(__OS2__).||.defined(__DJGPP_
1f4c0 5f 29 0a 20 20 73 65 74 6d 6f 64 65 28 20 53 54 44 49 4e 5f 46 49 4c 45 4e 4f 2c 20 4f 5f 42 49 _)...setmode(.STDIN_FILENO,.O_BI
1f4e0 4e 41 52 59 20 29 3b 0a 20 20 73 65 74 6d 6f 64 65 28 20 53 54 44 4f 55 54 5f 46 49 4c 45 4e 4f NARY.);...setmode(.STDOUT_FILENO
1f500 2c 20 4f 5f 42 49 4e 41 52 59 20 29 3b 0a 23 65 6e 64 69 66 0a 0a 20 20 66 6f 72 28 20 62 6f 6f ,.O_BINARY.);.#endif....for(.boo
1f520 6c 20 66 69 72 73 74 5f 6d 65 6d 62 65 72 20 3d 20 74 72 75 65 3b 20 3b 20 66 69 72 73 74 5f 6d l.first_member.=.true;.;.first_m
1f540 65 6d 62 65 72 20 3d 20 66 61 6c 73 65 20 29 0a 20 20 20 20 7b 0a 20 20 20 20 4c 7a 69 70 5f 68 ember.=.false.).....{.....Lzip_h
1f560 65 61 64 65 72 20 68 65 61 64 65 72 3b 09 09 09 09 2f 2f 20 76 65 72 69 66 79 20 68 65 61 64 65 eader.header;....//.verify.heade
1f580 72 0a 20 20 20 20 66 6f 72 28 20 69 6e 74 20 69 20 3d 20 30 3b 20 69 20 3c 20 36 3b 20 2b 2b 69 r.....for(.int.i.=.0;.i.<.6;.++i
1f5a0 20 29 20 68 65 61 64 65 72 5b 69 5d 20 3d 20 73 74 64 3a 3a 67 65 74 63 28 20 73 74 64 69 6e 20 .).header[i].=.std::getc(.stdin.
1f5c0 29 3b 0a 20 20 20 20 69 66 28 20 73 74 64 3a 3a 66 65 6f 66 28 20 73 74 64 69 6e 20 29 20 7c 7c );.....if(.std::feof(.stdin.).||
1f5e0 20 73 74 64 3a 3a 6d 65 6d 63 6d 70 28 20 68 65 61 64 65 72 2c 20 22 4c 5a 49 50 5c 78 30 31 22 .std::memcmp(.header,."LZIP\x01"
1f600 2c 20 35 20 29 20 21 3d 20 30 20 29 0a 20 20 20 20 20 20 7b 0a 20 20 20 20 20 20 69 66 28 20 66 ,.5.).!=.0.).......{.......if(.f
1f620 69 72 73 74 5f 6d 65 6d 62 65 72 20 29 0a 20 20 20 20 20 20 20 20 7b 20 73 74 64 3a 3a 66 70 75 irst_member.).........{.std::fpu
1f640 74 73 28 20 22 42 61 64 20 6d 61 67 69 63 20 6e 75 6d 62 65 72 20 28 66 69 6c 65 20 6e 6f 74 20 ts(."Bad.magic.number.(file.not.
1f660 69 6e 20 6c 7a 69 70 20 66 6f 72 6d 61 74 29 2e 5c 6e 22 2c 0a 20 20 20 20 20 20 20 20 20 20 20 in.lzip.format).\n",............
1f680 20 20 20 20 20 20 20 20 20 20 20 73 74 64 65 72 72 20 29 3b 20 72 65 74 75 72 6e 20 32 3b 20 7d ...........stderr.);.return.2;.}
1f6a0 0a 20 20 20 20 20 20 62 72 65 61 6b 3b 09 09 09 09 09 2f 2f 20 69 67 6e 6f 72 65 20 74 72 61 69 .......break;.....//.ignore.trai
1f6c0 6c 69 6e 67 20 64 61 74 61 0a 20 20 20 20 20 20 7d 0a 20 20 20 20 75 6e 73 69 67 6e 65 64 20 64 ling.data.......}.....unsigned.d
1f6e0 69 63 74 5f 73 69 7a 65 20 3d 20 31 20 3c 3c 20 28 20 68 65 61 64 65 72 5b 35 5d 20 26 20 30 78 ict_size.=.1.<<.(.header[5].&.0x
1f700 31 46 20 29 3b 0a 20 20 20 20 64 69 63 74 5f 73 69 7a 65 20 2d 3d 20 28 20 64 69 63 74 5f 73 69 1F.);.....dict_size.-=.(.dict_si
1f720 7a 65 20 2f 20 31 36 20 29 20 2a 20 28 20 28 20 68 65 61 64 65 72 5b 35 5d 20 3e 3e 20 35 20 29 ze./.16.).*.(.(.header[5].>>.5.)
1f740 20 26 20 37 20 29 3b 0a 20 20 20 20 69 66 28 20 64 69 63 74 5f 73 69 7a 65 20 3c 20 6d 69 6e 5f .&.7.);.....if(.dict_size.<.min_
1f760 64 69 63 74 69 6f 6e 61 72 79 5f 73 69 7a 65 20 7c 7c 20 64 69 63 74 5f 73 69 7a 65 20 3e 20 6d dictionary_size.||.dict_size.>.m
1f780 61 78 5f 64 69 63 74 69 6f 6e 61 72 79 5f 73 69 7a 65 20 29 0a 20 20 20 20 20 20 7b 20 73 74 64 ax_dictionary_size.).......{.std
1f7a0 3a 3a 66 70 75 74 73 28 20 22 49 6e 76 61 6c 69 64 20 64 69 63 74 69 6f 6e 61 72 79 20 73 69 7a ::fputs(."Invalid.dictionary.siz
1f7c0 65 20 69 6e 20 6d 65 6d 62 65 72 20 68 65 61 64 65 72 2e 5c 6e 22 2c 20 73 74 64 65 72 72 20 29 e.in.member.header.\n",.stderr.)
1f7e0 3b 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 32 3b 20 7d 0a 0a 20 20 20 20 4c 5a 5f 64 65 ;.........return.2;.}......LZ_de
1f800 63 6f 64 65 72 20 64 65 63 6f 64 65 72 28 20 64 69 63 74 5f 73 69 7a 65 20 29 3b 09 09 2f 2f 20 coder.decoder(.dict_size.);..//.
1f820 64 65 63 6f 64 65 20 4c 5a 4d 41 20 73 74 72 65 61 6d 0a 20 20 20 20 69 66 28 20 21 64 65 63 6f decode.LZMA.stream.....if(.!deco
1f840 64 65 72 2e 64 65 63 6f 64 65 5f 6d 65 6d 62 65 72 28 29 20 29 0a 20 20 20 20 20 20 7b 20 73 74 der.decode_member().).......{.st
1f860 64 3a 3a 66 70 75 74 73 28 20 22 44 61 74 61 20 65 72 72 6f 72 5c 6e 22 2c 20 73 74 64 65 72 72 d::fputs(."Data.error\n",.stderr
1f880 20 29 3b 20 72 65 74 75 72 6e 20 32 3b 20 7d 0a 0a 20 20 20 20 4c 7a 69 70 5f 74 72 61 69 6c 65 .);.return.2;.}......Lzip_traile
1f8a0 72 20 74 72 61 69 6c 65 72 3b 09 09 09 2f 2f 20 76 65 72 69 66 79 20 74 72 61 69 6c 65 72 0a 20 r.trailer;...//.verify.trailer..
1f8c0 20 20 20 66 6f 72 28 20 69 6e 74 20 69 20 3d 20 30 3b 20 69 20 3c 20 32 30 3b 20 2b 2b 69 20 29 ...for(.int.i.=.0;.i.<.20;.++i.)
1f8e0 20 74 72 61 69 6c 65 72 5b 69 5d 20 3d 20 64 65 63 6f 64 65 72 2e 67 65 74 5f 62 79 74 65 28 29 .trailer[i].=.decoder.get_byte()
1f900 3b 0a 20 20 20 20 69 6e 74 20 72 65 74 76 61 6c 20 3d 20 30 3b 0a 20 20 20 20 75 6e 73 69 67 6e ;.....int.retval.=.0;.....unsign
1f920 65 64 20 63 72 63 20 3d 20 30 3b 0a 20 20 20 20 66 6f 72 28 20 69 6e 74 20 69 20 3d 20 33 3b 20 ed.crc.=.0;.....for(.int.i.=.3;.
1f940 69 20 3e 3d 20 30 3b 20 2d 2d 69 20 29 20 63 72 63 20 3d 20 28 20 63 72 63 20 3c 3c 20 38 20 29 i.>=.0;.--i.).crc.=.(.crc.<<.8.)
1f960 20 2b 20 74 72 61 69 6c 65 72 5b 69 5d 3b 0a 20 20 20 20 69 66 28 20 63 72 63 20 21 3d 20 64 65 .+.trailer[i];.....if(.crc.!=.de
1f980 63 6f 64 65 72 2e 63 72 63 28 29 20 29 0a 20 20 20 20 20 20 7b 20 73 74 64 3a 3a 66 70 75 74 73 coder.crc().).......{.std::fputs
1f9a0 28 20 22 43 52 43 20 6d 69 73 6d 61 74 63 68 5c 6e 22 2c 20 73 74 64 65 72 72 20 29 3b 20 72 65 (."CRC.mismatch\n",.stderr.);.re
1f9c0 74 76 61 6c 20 3d 20 32 3b 20 7d 0a 0a 20 20 20 20 75 6e 73 69 67 6e 65 64 20 6c 6f 6e 67 20 6c tval.=.2;.}......unsigned.long.l
1f9e0 6f 6e 67 20 64 61 74 61 5f 73 69 7a 65 20 3d 20 30 3b 0a 20 20 20 20 66 6f 72 28 20 69 6e 74 20 ong.data_size.=.0;.....for(.int.
1fa00 69 20 3d 20 31 31 3b 20 69 20 3e 3d 20 34 3b 20 2d 2d 69 20 29 0a 20 20 20 20 20 20 64 61 74 61 i.=.11;.i.>=.4;.--i.).......data
1fa20 5f 73 69 7a 65 20 3d 20 28 20 64 61 74 61 5f 73 69 7a 65 20 3c 3c 20 38 20 29 20 2b 20 74 72 61 _size.=.(.data_size.<<.8.).+.tra
1fa40 69 6c 65 72 5b 69 5d 3b 0a 20 20 20 20 69 66 28 20 64 61 74 61 5f 73 69 7a 65 20 21 3d 20 64 65 iler[i];.....if(.data_size.!=.de
1fa60 63 6f 64 65 72 2e 64 61 74 61 5f 70 6f 73 69 74 69 6f 6e 28 29 20 29 0a 20 20 20 20 20 20 7b 20 coder.data_position().).......{.
1fa80 73 74 64 3a 3a 66 70 75 74 73 28 20 22 44 61 74 61 20 73 69 7a 65 20 6d 69 73 6d 61 74 63 68 5c std::fputs(."Data.size.mismatch\
1faa0 6e 22 2c 20 73 74 64 65 72 72 20 29 3b 20 72 65 74 76 61 6c 20 3d 20 32 3b 20 7d 0a 0a 20 20 20 n",.stderr.);.retval.=.2;.}.....
1fac0 20 75 6e 73 69 67 6e 65 64 20 6c 6f 6e 67 20 6c 6f 6e 67 20 6d 65 6d 62 65 72 5f 73 69 7a 65 20 .unsigned.long.long.member_size.
1fae0 3d 20 30 3b 0a 20 20 20 20 66 6f 72 28 20 69 6e 74 20 69 20 3d 20 31 39 3b 20 69 20 3e 3d 20 31 =.0;.....for(.int.i.=.19;.i.>=.1
1fb00 32 3b 20 2d 2d 69 20 29 0a 20 20 20 20 20 20 6d 65 6d 62 65 72 5f 73 69 7a 65 20 3d 20 28 20 6d 2;.--i.).......member_size.=.(.m
1fb20 65 6d 62 65 72 5f 73 69 7a 65 20 3c 3c 20 38 20 29 20 2b 20 74 72 61 69 6c 65 72 5b 69 5d 3b 0a ember_size.<<.8.).+.trailer[i];.
1fb40 20 20 20 20 69 66 28 20 6d 65 6d 62 65 72 5f 73 69 7a 65 20 21 3d 20 64 65 63 6f 64 65 72 2e 6d ....if(.member_size.!=.decoder.m
1fb60 65 6d 62 65 72 5f 70 6f 73 69 74 69 6f 6e 28 29 20 29 0a 20 20 20 20 20 20 7b 20 73 74 64 3a 3a ember_position().).......{.std::
1fb80 66 70 75 74 73 28 20 22 4d 65 6d 62 65 72 20 73 69 7a 65 20 6d 69 73 6d 61 74 63 68 5c 6e 22 2c fputs(."Member.size.mismatch\n",
1fba0 20 73 74 64 65 72 72 20 29 3b 20 72 65 74 76 61 6c 20 3d 20 32 3b 20 7d 0a 20 20 20 20 69 66 28 .stderr.);.retval.=.2;.}.....if(
1fbc0 20 72 65 74 76 61 6c 20 29 20 72 65 74 75 72 6e 20 72 65 74 76 61 6c 3b 0a 20 20 20 20 7d 0a 0a .retval.).return.retval;.....}..
1fbe0 20 20 69 66 28 20 73 74 64 3a 3a 66 63 6c 6f 73 65 28 20 73 74 64 6f 75 74 20 29 20 21 3d 20 30 ..if(.std::fclose(.stdout.).!=.0
1fc00 20 29 0a 20 20 20 20 7b 20 73 74 64 3a 3a 66 70 72 69 6e 74 66 28 20 73 74 64 65 72 72 2c 20 22 .).....{.std::fprintf(.stderr,."
1fc20 45 72 72 6f 72 20 63 6c 6f 73 69 6e 67 20 73 74 64 6f 75 74 3a 20 25 73 5c 6e 22 2c 0a 20 20 20 Error.closing.stdout:.%s\n",....
1fc40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 73 74 64 3a 3a 73 74 72 65 72 72 6f 72 28 20 .................std::strerror(.
1fc60 65 72 72 6e 6f 20 29 20 29 3b 20 72 65 74 75 72 6e 20 31 3b 20 7d 0a 20 20 72 65 74 75 72 6e 20 errno.).);.return.1;.}...return.
1fc80 30 3b 0a 20 20 7d 0a 0a 1f 0a 46 69 6c 65 3a 20 6c 7a 69 70 2e 69 6e 66 6f 2c 20 20 4e 6f 64 65 0;...}....File:.lzip.info,..Node
1fca0 3a 20 43 6f 6e 63 65 70 74 20 69 6e 64 65 78 2c 20 20 50 72 65 76 3a 20 52 65 66 65 72 65 6e 63 :.Concept.index,..Prev:.Referenc
1fcc0 65 20 73 6f 75 72 63 65 20 63 6f 64 65 2c 20 20 55 70 3a 20 54 6f 70 0a 0a 43 6f 6e 63 65 70 74 e.source.code,..Up:.Top..Concept
1fce0 20 69 6e 64 65 78 0a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 0a 0a 00 08 5b 69 6e 64 65 78 00 08 .index.*************....[index..
1fd00 5d 0a 2a 20 4d 65 6e 75 3a 0a 0a 2a 20 61 6c 67 6f 72 69 74 68 6d 3a 20 20 20 20 20 20 20 20 20 ].*.Menu:..*.algorithm:.........
1fd20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 41 6c 67 6f 72 69 74 68 6d 2e 20 20 ....................Algorithm...
1fd40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6c 69 6e 65 20 36 29 0a 2a 20 62 75 67 73 3a 20 ...............(line.6).*.bugs:.
1fd60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
1fd80 20 50 72 6f 62 6c 65 6d 73 2e 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6c 69 6e .Problems...................(lin
1fda0 65 20 36 29 0a 2a 20 65 78 61 6d 70 6c 65 73 3a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e.6).*.examples:................
1fdc0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 45 78 61 6d 70 6c 65 73 2e 20 20 20 20 20 20 20 20 20 ..............Examples..........
1fde0 20 20 20 20 20 20 20 20 20 28 6c 69 6e 65 20 36 29 0a 2a 20 66 69 6c 65 20 66 6f 72 6d 61 74 3a .........(line.6).*.file.format:
1fe00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 46 69 6c 65 20 ...........................File.
1fe20 66 6f 72 6d 61 74 2e 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6c 69 6e 65 20 36 29 0a 2a format................(line.6).*
1fe40 20 66 6f 72 6d 61 74 20 6f 66 20 74 68 65 20 4c 5a 4d 41 20 73 74 72 65 61 6d 3a 20 20 20 20 20 .format.of.the.LZMA.stream:.....
1fe60 20 20 20 20 20 20 20 20 53 74 72 65 61 6d 20 66 6f 72 6d 61 74 2e 20 20 20 20 20 20 20 20 20 20 ........Stream.format...........
1fe80 20 20 20 28 6c 69 6e 65 20 36 29 0a 2a 20 67 65 74 74 69 6e 67 20 68 65 6c 70 3a 20 20 20 20 20 ...(line.6).*.getting.help:.....
1fea0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 50 72 6f 62 6c 65 6d 73 2e 20 20 .....................Problems...
1fec0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6c 69 6e 65 20 36 29 0a 2a 20 69 6e 74 72 6f ................(line.6).*.intro
1fee0 64 75 63 74 69 6f 6e 3a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 duction:........................
1ff00 20 20 49 6e 74 72 6f 64 75 63 74 69 6f 6e 2e 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6c 69 ..Introduction...............(li
1ff20 6e 65 20 36 29 0a 2a 20 69 6e 76 6f 6b 69 6e 67 3a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ne.6).*.invoking:...............
1ff40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 49 6e 76 6f 6b 69 6e 67 20 6c 7a 69 70 2e 20 20 20 ...............Invoking.lzip....
1ff60 20 20 20 20 20 20 20 20 20 20 28 6c 69 6e 65 20 36 29 0a 2a 20 6f 70 74 69 6f 6e 73 3a 20 20 20 ..........(line.6).*.options:...
1ff80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 49 6e 76 6f ............................Invo
1ffa0 6b 69 6e 67 20 6c 7a 69 70 2e 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6c 69 6e 65 20 36 29 0a king.lzip..............(line.6).
1ffc0 2a 20 6f 75 74 70 75 74 3a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 *.output:.......................
1ffe0 20 20 20 20 20 20 20 20 20 4f 75 74 70 75 74 2e 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .........Output.................
20000 20 20 20 20 28 6c 69 6e 65 20 36 29 0a 2a 20 71 75 61 6c 69 74 79 20 61 73 73 75 72 61 6e 63 65 ....(line.6).*.quality.assurance
20020 3a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 51 75 61 6c 69 74 79 20 61 73 :.....................Quality.as
20040 73 75 72 61 6e 63 65 2e 20 20 20 20 20 20 20 20 20 28 6c 69 6e 65 20 36 29 0a 2a 20 72 65 66 65 surance..........(line.6).*.refe
20060 72 65 6e 63 65 20 73 6f 75 72 63 65 20 63 6f 64 65 3a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 rence.source.code:..............
20080 20 20 20 52 65 66 65 72 65 6e 63 65 20 73 6f 75 72 63 65 20 63 6f 64 65 2e 20 20 20 20 20 28 6c ...Reference.source.code......(l
200a0 69 6e 65 20 36 29 0a 2a 20 74 72 61 69 6c 69 6e 67 20 64 61 74 61 3a 20 20 20 20 20 20 20 20 20 ine.6).*.trailing.data:.........
200c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 54 72 61 69 6c 69 6e 67 20 64 61 74 61 2e 20 20 ................Trailing.data...
200e0 20 20 20 20 20 20 20 20 20 20 20 28 6c 69 6e 65 20 36 29 0a 2a 20 75 73 61 67 65 3a 20 20 20 20 ...........(line.6).*.usage:....
20100 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 49 6e 76 .............................Inv
20120 6f 6b 69 6e 67 20 6c 7a 69 70 2e 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6c 69 6e 65 20 36 29 oking.lzip..............(line.6)
20140 0a 2a 20 76 65 72 73 69 6f 6e 3a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .*.version:.....................
20160 20 20 20 20 20 20 20 20 20 20 49 6e 76 6f 6b 69 6e 67 20 6c 7a 69 70 2e 20 20 20 20 20 20 20 20 ..........Invoking.lzip.........
20180 20 20 20 20 20 28 6c 69 6e 65 20 36 29 0a 0a 0a 1f 0a 54 61 67 20 54 61 62 6c 65 3a 0a 4e 6f 64 .....(line.6).....Tag.Table:.Nod
201a0 65 3a 20 54 6f 70 7f 32 30 38 0a 4e 6f 64 65 3a 20 49 6e 74 72 6f 64 75 63 74 69 6f 6e 7f 31 32 e:.Top.208.Node:.Introduction.12
201c0 30 32 0a 4e 6f 64 65 3a 20 4f 75 74 70 75 74 7f 36 39 33 30 0a 4e 6f 64 65 3a 20 49 6e 76 6f 6b 02.Node:.Output.6930.Node:.Invok
201e0 69 6e 67 20 6c 7a 69 70 7f 38 35 32 35 0a 52 65 66 3a 20 2d 2d 74 72 61 69 6c 69 6e 67 2d 65 72 ing.lzip.8525.Ref:.--trailing-er
20200 72 6f 72 7f 39 33 31 34 0a 4e 6f 64 65 3a 20 51 75 61 6c 69 74 79 20 61 73 73 75 72 61 6e 63 65 ror.9314.Node:.Quality.assurance
20220 7f 31 38 33 30 37 0a 4e 6f 64 65 3a 20 46 69 6c 65 20 66 6f 72 6d 61 74 7f 32 37 32 36 34 0a 52 .18307.Node:.File.format.27264.R
20240 65 66 3a 20 63 6f 64 65 64 2d 64 69 63 74 2d 73 69 7a 65 7f 32 38 35 35 34 0a 4e 6f 64 65 3a 20 ef:.coded-dict-size.28554.Node:.
20260 41 6c 67 6f 72 69 74 68 6d 7f 32 39 36 39 30 0a 4e 6f 64 65 3a 20 53 74 72 65 61 6d 20 66 6f 72 Algorithm.29690.Node:.Stream.for
20280 6d 61 74 7f 33 33 30 39 30 0a 52 65 66 3a 20 77 68 61 74 2d 69 73 2d 63 6f 64 65 64 7f 33 35 34 mat.33090.Ref:.what-is-coded.354
202a0 35 39 0a 4e 6f 64 65 3a 20 54 72 61 69 6c 69 6e 67 20 64 61 74 61 7f 34 34 33 32 38 0a 4e 6f 64 59.Node:.Trailing.data.44328.Nod
202c0 65 3a 20 45 78 61 6d 70 6c 65 73 7f 34 36 35 38 39 0a 52 65 66 3a 20 63 6f 6e 63 61 74 2d 65 78 e:.Examples.46589.Ref:.concat-ex
202e0 61 6d 70 6c 65 7f 34 38 31 38 39 0a 4e 6f 64 65 3a 20 50 72 6f 62 6c 65 6d 73 7f 34 39 32 35 32 ample.48189.Node:.Problems.49252
20300 0a 4e 6f 64 65 3a 20 52 65 66 65 72 65 6e 63 65 20 73 6f 75 72 63 65 20 63 6f 64 65 7f 34 39 37 .Node:.Reference.source.code.497
20320 38 34 0a 4e 6f 64 65 3a 20 43 6f 6e 63 65 70 74 20 69 6e 64 65 78 7f 36 34 36 34 38 0a 1f 0a 45 84.Node:.Concept.index.64648...E
20340 6e 64 20 54 61 67 20 54 61 62 6c 65 0a 0a 1f 0a 4c 6f 63 61 6c 20 56 61 72 69 61 62 6c 65 73 3a nd.Tag.Table....Local.Variables:
20360 0a 63 6f 64 69 6e 67 3a 20 69 73 6f 2d 38 38 35 39 2d 31 35 0a 45 6e 64 3a 0a 00 00 00 00 00 00 .coding:.iso-8859-15.End:.......
20380 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
203a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
203c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
203e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
20400 6c 7a 69 70 2d 31 2e 32 32 2f 64 6f 63 2f 6c 7a 69 70 2e 31 00 00 00 00 00 00 00 00 00 00 00 00 lzip-1.22/doc/lzip.1............
20420 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
20440 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
20460 00 00 00 00 30 30 30 30 36 34 34 00 30 30 30 30 30 30 30 00 30 30 30 30 30 30 30 00 30 30 30 30 ....0000644.0000000.0000000.0000
20480 30 30 31 30 32 33 36 00 31 33 37 37 34 36 35 32 33 35 37 00 30 31 34 32 34 34 00 20 30 00 00 00 0010236.13774652357.014244..0...
204a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
204c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
204e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
20500 00 75 73 74 61 72 00 30 30 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .ustar.00root...................
20520 00 00 00 00 00 00 00 00 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .........root...................
20540 00 00 00 00 00 00 00 00 00 30 30 30 30 30 30 30 00 30 30 30 30 30 30 30 00 00 00 00 00 00 00 00 .........0000000.0000000........
20560 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
20580 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
205a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
205c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
205e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
20600 2e 5c 22 20 44 4f 20 4e 4f 54 20 4d 4f 44 49 46 59 20 54 48 49 53 20 46 49 4c 45 21 20 20 49 74 .\".DO.NOT.MODIFY.THIS.FILE!..It
20620 20 77 61 73 20 67 65 6e 65 72 61 74 65 64 20 62 79 20 68 65 6c 70 32 6d 61 6e 20 31 2e 34 37 2e .was.generated.by.help2man.1.47.
20640 31 36 2e 0a 2e 54 48 20 4c 5a 49 50 20 22 31 22 20 22 4a 61 6e 75 61 72 79 20 32 30 32 31 22 20 16...TH.LZIP."1"."January.2021".
20660 22 6c 7a 69 70 20 31 2e 32 32 22 20 22 55 73 65 72 20 43 6f 6d 6d 61 6e 64 73 22 0a 2e 53 48 20 "lzip.1.22"."User.Commands"..SH.
20680 4e 41 4d 45 0a 6c 7a 69 70 20 5c 2d 20 72 65 64 75 63 65 73 20 74 68 65 20 73 69 7a 65 20 6f 66 NAME.lzip.\-.reduces.the.size.of
206a0 20 66 69 6c 65 73 0a 2e 53 48 20 53 59 4e 4f 50 53 49 53 0a 2e 42 20 6c 7a 69 70 0a 5b 5c 66 49 .files..SH.SYNOPSIS..B.lzip.[\fI
206c0 5c 2c 6f 70 74 69 6f 6e 73 5c 2f 5c 66 52 5d 20 5b 5c 66 49 5c 2c 66 69 6c 65 73 5c 2f 5c 66 52 \,options\/\fR].[\fI\,files\/\fR
206e0 5d 0a 2e 53 48 20 44 45 53 43 52 49 50 54 49 4f 4e 0a 4c 7a 69 70 20 69 73 20 61 20 6c 6f 73 73 ]..SH.DESCRIPTION.Lzip.is.a.loss
20700 6c 65 73 73 20 64 61 74 61 20 63 6f 6d 70 72 65 73 73 6f 72 20 77 69 74 68 20 61 20 75 73 65 72 less.data.compressor.with.a.user
20720 20 69 6e 74 65 72 66 61 63 65 20 73 69 6d 69 6c 61 72 20 74 6f 20 74 68 65 20 6f 6e 65 0a 6f 66 .interface.similar.to.the.one.of
20740 20 67 7a 69 70 20 6f 72 20 62 7a 69 70 32 2e 20 4c 7a 69 70 20 75 73 65 73 20 61 20 73 69 6d 70 .gzip.or.bzip2..Lzip.uses.a.simp
20760 6c 69 66 69 65 64 20 66 6f 72 6d 20 6f 66 20 74 68 65 20 27 4c 65 6d 70 65 6c 5c 2d 5a 69 76 5c lified.form.of.the.'Lempel\-Ziv\
20780 2d 4d 61 72 6b 6f 76 0a 63 68 61 69 6e 5c 2d 41 6c 67 6f 72 69 74 68 6d 27 20 28 4c 5a 4d 41 29 -Markov.chain\-Algorithm'.(LZMA)
207a0 20 73 74 72 65 61 6d 20 66 6f 72 6d 61 74 2c 20 63 68 6f 73 65 6e 20 74 6f 20 6d 61 78 69 6d 69 .stream.format,.chosen.to.maximi
207c0 7a 65 20 73 61 66 65 74 79 20 61 6e 64 0a 69 6e 74 65 72 6f 70 65 72 61 62 69 6c 69 74 79 2e 20 ze.safety.and.interoperability..
207e0 4c 7a 69 70 20 63 61 6e 20 63 6f 6d 70 72 65 73 73 20 61 62 6f 75 74 20 61 73 20 66 61 73 74 20 Lzip.can.compress.about.as.fast.
20800 61 73 20 67 7a 69 70 20 28 6c 7a 69 70 20 5c 66 42 5c 2d 30 5c 66 52 29 20 6f 72 0a 63 6f 6d 70 as.gzip.(lzip.\fB\-0\fR).or.comp
20820 72 65 73 73 20 6d 6f 73 74 20 66 69 6c 65 73 20 6d 6f 72 65 20 74 68 61 6e 20 62 7a 69 70 32 20 ress.most.files.more.than.bzip2.
20840 28 6c 7a 69 70 20 5c 66 42 5c 2d 39 5c 66 52 29 2e 20 44 65 63 6f 6d 70 72 65 73 73 69 6f 6e 20 (lzip.\fB\-9\fR)..Decompression.
20860 73 70 65 65 64 20 69 73 0a 69 6e 74 65 72 6d 65 64 69 61 74 65 20 62 65 74 77 65 65 6e 20 67 7a speed.is.intermediate.between.gz
20880 69 70 20 61 6e 64 20 62 7a 69 70 32 2e 20 4c 7a 69 70 20 69 73 20 62 65 74 74 65 72 20 74 68 61 ip.and.bzip2..Lzip.is.better.tha
208a0 6e 20 67 7a 69 70 20 61 6e 64 20 62 7a 69 70 32 20 66 72 6f 6d 0a 61 20 64 61 74 61 20 72 65 63 n.gzip.and.bzip2.from.a.data.rec
208c0 6f 76 65 72 79 20 70 65 72 73 70 65 63 74 69 76 65 2e 20 4c 7a 69 70 20 68 61 73 20 62 65 65 6e overy.perspective..Lzip.has.been
208e0 20 64 65 73 69 67 6e 65 64 2c 20 77 72 69 74 74 65 6e 2c 20 61 6e 64 20 74 65 73 74 65 64 0a 77 .designed,.written,.and.tested.w
20900 69 74 68 20 67 72 65 61 74 20 63 61 72 65 20 74 6f 20 72 65 70 6c 61 63 65 20 67 7a 69 70 20 61 ith.great.care.to.replace.gzip.a
20920 6e 64 20 62 7a 69 70 32 20 61 73 20 74 68 65 20 73 74 61 6e 64 61 72 64 20 67 65 6e 65 72 61 6c nd.bzip2.as.the.standard.general
20940 5c 2d 70 75 72 70 6f 73 65 0a 63 6f 6d 70 72 65 73 73 65 64 20 66 6f 72 6d 61 74 20 66 6f 72 20 \-purpose.compressed.format.for.
20960 75 6e 69 78 5c 2d 6c 69 6b 65 20 73 79 73 74 65 6d 73 2e 0a 2e 53 48 20 4f 50 54 49 4f 4e 53 0a unix\-like.systems...SH.OPTIONS.
20980 2e 54 50 0a 5c 66 42 5c 2d 68 5c 66 52 2c 20 5c 66 42 5c 2d 5c 2d 68 65 6c 70 5c 66 52 0a 64 69 .TP.\fB\-h\fR,.\fB\-\-help\fR.di
209a0 73 70 6c 61 79 20 74 68 69 73 20 68 65 6c 70 20 61 6e 64 20 65 78 69 74 0a 2e 54 50 0a 5c 66 42 splay.this.help.and.exit..TP.\fB
209c0 5c 2d 56 5c 66 52 2c 20 5c 66 42 5c 2d 5c 2d 76 65 72 73 69 6f 6e 5c 66 52 0a 6f 75 74 70 75 74 \-V\fR,.\fB\-\-version\fR.output
209e0 20 76 65 72 73 69 6f 6e 20 69 6e 66 6f 72 6d 61 74 69 6f 6e 20 61 6e 64 20 65 78 69 74 0a 2e 54 .version.information.and.exit..T
20a00 50 0a 5c 66 42 5c 2d 61 5c 66 52 2c 20 5c 66 42 5c 2d 5c 2d 74 72 61 69 6c 69 6e 67 5c 2d 65 72 P.\fB\-a\fR,.\fB\-\-trailing\-er
20a20 72 6f 72 5c 66 52 0a 65 78 69 74 20 77 69 74 68 20 65 72 72 6f 72 20 73 74 61 74 75 73 20 69 66 ror\fR.exit.with.error.status.if
20a40 20 74 72 61 69 6c 69 6e 67 20 64 61 74 61 0a 2e 54 50 0a 5c 66 42 5c 2d 62 5c 66 52 2c 20 5c 66 .trailing.data..TP.\fB\-b\fR,.\f
20a60 42 5c 2d 5c 2d 6d 65 6d 62 65 72 5c 2d 73 69 7a 65 3d 5c 66 52 3c 62 79 74 65 73 3e 0a 73 65 74 B\-\-member\-size=\fR<bytes>.set
20a80 20 6d 65 6d 62 65 72 20 73 69 7a 65 20 6c 69 6d 69 74 20 69 6e 20 62 79 74 65 73 0a 2e 54 50 0a .member.size.limit.in.bytes..TP.
20aa0 5c 66 42 5c 2d 63 5c 66 52 2c 20 5c 66 42 5c 2d 5c 2d 73 74 64 6f 75 74 5c 66 52 0a 77 72 69 74 \fB\-c\fR,.\fB\-\-stdout\fR.writ
20ac0 65 20 74 6f 20 73 74 61 6e 64 61 72 64 20 6f 75 74 70 75 74 2c 20 6b 65 65 70 20 69 6e 70 75 74 e.to.standard.output,.keep.input
20ae0 20 66 69 6c 65 73 0a 2e 54 50 0a 5c 66 42 5c 2d 64 5c 66 52 2c 20 5c 66 42 5c 2d 5c 2d 64 65 63 .files..TP.\fB\-d\fR,.\fB\-\-dec
20b00 6f 6d 70 72 65 73 73 5c 66 52 0a 64 65 63 6f 6d 70 72 65 73 73 0a 2e 54 50 0a 5c 66 42 5c 2d 66 ompress\fR.decompress..TP.\fB\-f
20b20 5c 66 52 2c 20 5c 66 42 5c 2d 5c 2d 66 6f 72 63 65 5c 66 52 0a 6f 76 65 72 77 72 69 74 65 20 65 \fR,.\fB\-\-force\fR.overwrite.e
20b40 78 69 73 74 69 6e 67 20 6f 75 74 70 75 74 20 66 69 6c 65 73 0a 2e 54 50 0a 5c 66 42 5c 2d 46 5c xisting.output.files..TP.\fB\-F\
20b60 66 52 2c 20 5c 66 42 5c 2d 5c 2d 72 65 63 6f 6d 70 72 65 73 73 5c 66 52 0a 66 6f 72 63 65 20 72 fR,.\fB\-\-recompress\fR.force.r
20b80 65 5c 2d 63 6f 6d 70 72 65 73 73 69 6f 6e 20 6f 66 20 63 6f 6d 70 72 65 73 73 65 64 20 66 69 6c e\-compression.of.compressed.fil
20ba0 65 73 0a 2e 54 50 0a 5c 66 42 5c 2d 6b 5c 66 52 2c 20 5c 66 42 5c 2d 5c 2d 6b 65 65 70 5c 66 52 es..TP.\fB\-k\fR,.\fB\-\-keep\fR
20bc0 0a 6b 65 65 70 20 28 64 6f 6e 27 74 20 64 65 6c 65 74 65 29 20 69 6e 70 75 74 20 66 69 6c 65 73 .keep.(don't.delete).input.files
20be0 0a 2e 54 50 0a 5c 66 42 5c 2d 6c 5c 66 52 2c 20 5c 66 42 5c 2d 5c 2d 6c 69 73 74 5c 66 52 0a 70 ..TP.\fB\-l\fR,.\fB\-\-list\fR.p
20c00 72 69 6e 74 20 28 75 6e 29 63 6f 6d 70 72 65 73 73 65 64 20 66 69 6c 65 20 73 69 7a 65 73 0a 2e rint.(un)compressed.file.sizes..
20c20 54 50 0a 5c 66 42 5c 2d 6d 5c 66 52 2c 20 5c 66 42 5c 2d 5c 2d 6d 61 74 63 68 5c 2d 6c 65 6e 67 TP.\fB\-m\fR,.\fB\-\-match\-leng
20c40 74 68 3d 5c 66 52 3c 62 79 74 65 73 3e 0a 73 65 74 20 6d 61 74 63 68 20 6c 65 6e 67 74 68 20 6c th=\fR<bytes>.set.match.length.l
20c60 69 6d 69 74 20 69 6e 20 62 79 74 65 73 20 5b 33 36 5d 0a 2e 54 50 0a 5c 66 42 5c 2d 6f 5c 66 52 imit.in.bytes.[36]..TP.\fB\-o\fR
20c80 2c 20 5c 66 42 5c 2d 5c 2d 6f 75 74 70 75 74 3d 5c 66 52 3c 66 69 6c 65 3e 0a 77 72 69 74 65 20 ,.\fB\-\-output=\fR<file>.write.
20ca0 74 6f 20 3c 66 69 6c 65 3e 2c 20 6b 65 65 70 20 69 6e 70 75 74 20 66 69 6c 65 73 0a 2e 54 50 0a to.<file>,.keep.input.files..TP.
20cc0 5c 66 42 5c 2d 71 5c 66 52 2c 20 5c 66 42 5c 2d 5c 2d 71 75 69 65 74 5c 66 52 0a 73 75 70 70 72 \fB\-q\fR,.\fB\-\-quiet\fR.suppr
20ce0 65 73 73 20 61 6c 6c 20 6d 65 73 73 61 67 65 73 0a 2e 54 50 0a 5c 66 42 5c 2d 73 5c 66 52 2c 20 ess.all.messages..TP.\fB\-s\fR,.
20d00 5c 66 42 5c 2d 5c 2d 64 69 63 74 69 6f 6e 61 72 79 5c 2d 73 69 7a 65 3d 5c 66 52 3c 62 79 74 65 \fB\-\-dictionary\-size=\fR<byte
20d20 73 3e 0a 73 65 74 20 64 69 63 74 69 6f 6e 61 72 79 20 73 69 7a 65 20 6c 69 6d 69 74 20 69 6e 20 s>.set.dictionary.size.limit.in.
20d40 62 79 74 65 73 20 5b 38 20 4d 69 42 5d 0a 2e 54 50 0a 5c 66 42 5c 2d 53 5c 66 52 2c 20 5c 66 42 bytes.[8.MiB]..TP.\fB\-S\fR,.\fB
20d60 5c 2d 5c 2d 76 6f 6c 75 6d 65 5c 2d 73 69 7a 65 3d 5c 66 52 3c 62 79 74 65 73 3e 0a 73 65 74 20 \-\-volume\-size=\fR<bytes>.set.
20d80 76 6f 6c 75 6d 65 20 73 69 7a 65 20 6c 69 6d 69 74 20 69 6e 20 62 79 74 65 73 0a 2e 54 50 0a 5c volume.size.limit.in.bytes..TP.\
20da0 66 42 5c 2d 74 5c 66 52 2c 20 5c 66 42 5c 2d 5c 2d 74 65 73 74 5c 66 52 0a 74 65 73 74 20 63 6f fB\-t\fR,.\fB\-\-test\fR.test.co
20dc0 6d 70 72 65 73 73 65 64 20 66 69 6c 65 20 69 6e 74 65 67 72 69 74 79 0a 2e 54 50 0a 5c 66 42 5c mpressed.file.integrity..TP.\fB\
20de0 2d 76 5c 66 52 2c 20 5c 66 42 5c 2d 5c 2d 76 65 72 62 6f 73 65 5c 66 52 0a 62 65 20 76 65 72 62 -v\fR,.\fB\-\-verbose\fR.be.verb
20e00 6f 73 65 20 28 61 20 32 6e 64 20 5c 66 42 5c 2d 76 5c 66 52 20 67 69 76 65 73 20 6d 6f 72 65 29 ose.(a.2nd.\fB\-v\fR.gives.more)
20e20 0a 2e 54 50 0a 5c 66 42 5c 2d 30 5c 66 52 20 2e 2e 20 5c 66 42 5c 2d 39 5c 66 52 0a 73 65 74 20 ..TP.\fB\-0\fR....\fB\-9\fR.set.
20e40 63 6f 6d 70 72 65 73 73 69 6f 6e 20 6c 65 76 65 6c 20 5b 64 65 66 61 75 6c 74 20 36 5d 0a 2e 54 compression.level.[default.6]..T
20e60 50 0a 5c 66 42 5c 2d 5c 2d 66 61 73 74 5c 66 52 0a 61 6c 69 61 73 20 66 6f 72 20 5c 66 42 5c 2d P.\fB\-\-fast\fR.alias.for.\fB\-
20e80 30 5c 66 52 0a 2e 54 50 0a 5c 66 42 5c 2d 5c 2d 62 65 73 74 5c 66 52 0a 61 6c 69 61 73 20 66 6f 0\fR..TP.\fB\-\-best\fR.alias.fo
20ea0 72 20 5c 66 42 5c 2d 39 5c 66 52 0a 2e 54 50 0a 5c 66 42 5c 2d 5c 2d 6c 6f 6f 73 65 5c 2d 74 72 r.\fB\-9\fR..TP.\fB\-\-loose\-tr
20ec0 61 69 6c 69 6e 67 5c 66 52 0a 61 6c 6c 6f 77 20 74 72 61 69 6c 69 6e 67 20 64 61 74 61 20 73 65 ailing\fR.allow.trailing.data.se
20ee0 65 6d 69 6e 67 20 63 6f 72 72 75 70 74 20 68 65 61 64 65 72 0a 2e 50 50 0a 49 66 20 6e 6f 20 66 eming.corrupt.header..PP.If.no.f
20f00 69 6c 65 20 6e 61 6d 65 73 20 61 72 65 20 67 69 76 65 6e 2c 20 6f 72 20 69 66 20 61 20 66 69 6c ile.names.are.given,.or.if.a.fil
20f20 65 20 69 73 20 27 5c 2d 27 2c 20 6c 7a 69 70 20 63 6f 6d 70 72 65 73 73 65 73 20 6f 72 0a 64 65 e.is.'\-',.lzip.compresses.or.de
20f40 63 6f 6d 70 72 65 73 73 65 73 20 66 72 6f 6d 20 73 74 61 6e 64 61 72 64 20 69 6e 70 75 74 20 74 compresses.from.standard.input.t
20f60 6f 20 73 74 61 6e 64 61 72 64 20 6f 75 74 70 75 74 2e 0a 4e 75 6d 62 65 72 73 20 6d 61 79 20 62 o.standard.output..Numbers.may.b
20f80 65 20 66 6f 6c 6c 6f 77 65 64 20 62 79 20 61 20 6d 75 6c 74 69 70 6c 69 65 72 3a 20 6b 20 3d 20 e.followed.by.a.multiplier:.k.=.
20fa0 6b 42 20 3d 20 31 30 5e 33 20 3d 20 31 30 30 30 2c 0a 4b 69 20 3d 20 4b 69 42 20 3d 20 32 5e 31 kB.=.10^3.=.1000,.Ki.=.KiB.=.2^1
20fc0 30 20 3d 20 31 30 32 34 2c 20 4d 20 3d 20 31 30 5e 36 2c 20 4d 69 20 3d 20 32 5e 32 30 2c 20 47 0.=.1024,.M.=.10^6,.Mi.=.2^20,.G
20fe0 20 3d 20 31 30 5e 39 2c 20 47 69 20 3d 20 32 5e 33 30 2c 20 65 74 63 2e 2e 2e 0a 44 69 63 74 69 .=.10^9,.Gi.=.2^30,.etc....Dicti
21000 6f 6e 61 72 79 20 73 69 7a 65 73 20 31 32 20 74 6f 20 32 39 20 61 72 65 20 69 6e 74 65 72 70 72 onary.sizes.12.to.29.are.interpr
21020 65 74 65 64 20 61 73 20 70 6f 77 65 72 73 20 6f 66 20 74 77 6f 2c 20 6d 65 61 6e 69 6e 67 20 32 eted.as.powers.of.two,.meaning.2
21040 5e 31 32 0a 74 6f 20 32 5e 32 39 20 62 79 74 65 73 2e 0a 2e 50 50 0a 54 68 65 20 62 69 64 69 6d ^12.to.2^29.bytes...PP.The.bidim
21060 65 6e 73 69 6f 6e 61 6c 20 70 61 72 61 6d 65 74 65 72 20 73 70 61 63 65 20 6f 66 20 4c 5a 4d 41 ensional.parameter.space.of.LZMA
21080 20 63 61 6e 27 74 20 62 65 20 6d 61 70 70 65 64 20 74 6f 20 61 20 6c 69 6e 65 61 72 0a 73 63 61 .can't.be.mapped.to.a.linear.sca
210a0 6c 65 20 6f 70 74 69 6d 61 6c 20 66 6f 72 20 61 6c 6c 20 66 69 6c 65 73 2e 20 49 66 20 79 6f 75 le.optimal.for.all.files..If.you
210c0 72 20 66 69 6c 65 73 20 61 72 65 20 6c 61 72 67 65 2c 20 76 65 72 79 20 72 65 70 65 74 69 74 69 r.files.are.large,.very.repetiti
210e0 76 65 2c 0a 65 74 63 2c 20 79 6f 75 20 6d 61 79 20 6e 65 65 64 20 74 6f 20 75 73 65 20 74 68 65 ve,.etc,.you.may.need.to.use.the
21100 20 6f 70 74 69 6f 6e 73 20 5c 66 42 5c 2d 5c 2d 64 69 63 74 69 6f 6e 61 72 79 5c 2d 73 69 7a 65 .options.\fB\-\-dictionary\-size
21120 5c 66 52 20 61 6e 64 20 5c 66 42 5c 2d 5c 2d 6d 61 74 63 68 5c 2d 6c 65 6e 67 74 68 5c 66 52 0a \fR.and.\fB\-\-match\-length\fR.
21140 64 69 72 65 63 74 6c 79 20 74 6f 20 61 63 68 69 65 76 65 20 6f 70 74 69 6d 61 6c 20 70 65 72 66 directly.to.achieve.optimal.perf
21160 6f 72 6d 61 6e 63 65 2e 0a 2e 50 50 0a 54 6f 20 65 78 74 72 61 63 74 20 61 6c 6c 20 74 68 65 20 ormance...PP.To.extract.all.the.
21180 66 69 6c 65 73 20 66 72 6f 6d 20 61 72 63 68 69 76 65 20 27 66 6f 6f 2e 74 61 72 2e 6c 7a 27 2c files.from.archive.'foo.tar.lz',
211a0 20 75 73 65 20 74 68 65 20 63 6f 6d 6d 61 6e 64 73 0a 5c 26 27 74 61 72 20 5c 66 42 5c 2d 78 66 .use.the.commands.\&'tar.\fB\-xf
211c0 5c 66 52 20 66 6f 6f 2e 74 61 72 2e 6c 7a 27 20 6f 72 20 27 6c 7a 69 70 20 5c 66 42 5c 2d 63 64 \fR.foo.tar.lz'.or.'lzip.\fB\-cd
211e0 5c 66 52 20 66 6f 6f 2e 74 61 72 2e 6c 7a 20 7c 20 74 61 72 20 5c 66 42 5c 2d 78 66 5c 66 52 20 \fR.foo.tar.lz.|.tar.\fB\-xf\fR.
21200 5c 2d 27 2e 0a 2e 50 50 0a 45 78 69 74 20 73 74 61 74 75 73 3a 20 30 20 66 6f 72 20 61 20 6e 6f \-'...PP.Exit.status:.0.for.a.no
21220 72 6d 61 6c 20 65 78 69 74 2c 20 31 20 66 6f 72 20 65 6e 76 69 72 6f 6e 6d 65 6e 74 61 6c 20 70 rmal.exit,.1.for.environmental.p
21240 72 6f 62 6c 65 6d 73 20 28 66 69 6c 65 0a 6e 6f 74 20 66 6f 75 6e 64 2c 20 69 6e 76 61 6c 69 64 roblems.(file.not.found,.invalid
21260 20 66 6c 61 67 73 2c 20 49 2f 4f 20 65 72 72 6f 72 73 2c 20 65 74 63 29 2c 20 32 20 74 6f 20 69 .flags,.I/O.errors,.etc),.2.to.i
21280 6e 64 69 63 61 74 65 20 61 20 63 6f 72 72 75 70 74 20 6f 72 0a 69 6e 76 61 6c 69 64 20 69 6e 70 ndicate.a.corrupt.or.invalid.inp
212a0 75 74 20 66 69 6c 65 2c 20 33 20 66 6f 72 20 61 6e 20 69 6e 74 65 72 6e 61 6c 20 63 6f 6e 73 69 ut.file,.3.for.an.internal.consi
212c0 73 74 65 6e 63 79 20 65 72 72 6f 72 20 28 65 67 2c 20 62 75 67 29 20 77 68 69 63 68 0a 63 61 75 stency.error.(eg,.bug).which.cau
212e0 73 65 64 20 6c 7a 69 70 20 74 6f 20 70 61 6e 69 63 2e 0a 2e 50 50 0a 54 68 65 20 69 64 65 61 73 sed.lzip.to.panic...PP.The.ideas
21300 20 65 6d 62 6f 64 69 65 64 20 69 6e 20 6c 7a 69 70 20 61 72 65 20 64 75 65 20 74 6f 20 28 61 74 .embodied.in.lzip.are.due.to.(at
21320 20 6c 65 61 73 74 29 20 74 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 70 65 6f 70 6c 65 3a 0a 41 62 .least).the.following.people:.Ab
21340 72 61 68 61 6d 20 4c 65 6d 70 65 6c 20 61 6e 64 20 4a 61 63 6f 62 20 5a 69 76 20 28 66 6f 72 20 raham.Lempel.and.Jacob.Ziv.(for.
21360 74 68 65 20 4c 5a 20 61 6c 67 6f 72 69 74 68 6d 29 2c 20 41 6e 64 72 65 79 20 4d 61 72 6b 6f 76 the.LZ.algorithm),.Andrey.Markov
21380 20 28 66 6f 72 20 74 68 65 0a 64 65 66 69 6e 69 74 69 6f 6e 20 6f 66 20 4d 61 72 6b 6f 76 20 63 .(for.the.definition.of.Markov.c
213a0 68 61 69 6e 73 29 2c 20 47 2e 4e 2e 4e 2e 20 4d 61 72 74 69 6e 20 28 66 6f 72 20 74 68 65 20 64 hains),.G.N.N..Martin.(for.the.d
213c0 65 66 69 6e 69 74 69 6f 6e 20 6f 66 20 72 61 6e 67 65 0a 65 6e 63 6f 64 69 6e 67 29 2c 20 49 67 efinition.of.range.encoding),.Ig
213e0 6f 72 20 50 61 76 6c 6f 76 20 28 66 6f 72 20 70 75 74 74 69 6e 67 20 61 6c 6c 20 74 68 65 20 61 or.Pavlov.(for.putting.all.the.a
21400 62 6f 76 65 20 74 6f 67 65 74 68 65 72 20 69 6e 20 4c 5a 4d 41 29 2c 20 61 6e 64 0a 4a 75 6c 69 bove.together.in.LZMA),.and.Juli
21420 61 6e 20 53 65 77 61 72 64 20 28 66 6f 72 20 62 7a 69 70 32 27 73 20 43 4c 49 29 2e 0a 2e 53 48 an.Seward.(for.bzip2's.CLI)...SH
21440 20 22 52 45 50 4f 52 54 49 4e 47 20 42 55 47 53 22 0a 52 65 70 6f 72 74 20 62 75 67 73 20 74 6f ."REPORTING.BUGS".Report.bugs.to
21460 20 6c 7a 69 70 5c 2d 62 75 67 40 6e 6f 6e 67 6e 75 2e 6f 72 67 0a 2e 62 72 0a 4c 7a 69 70 20 68 .lzip\-bug@nongnu.org..br.Lzip.h
21480 6f 6d 65 20 70 61 67 65 3a 20 68 74 74 70 3a 2f 2f 77 77 77 2e 6e 6f 6e 67 6e 75 2e 6f 72 67 2f ome.page:.http://www.nongnu.org/
214a0 6c 7a 69 70 2f 6c 7a 69 70 2e 68 74 6d 6c 0a 2e 53 48 20 43 4f 50 59 52 49 47 48 54 0a 43 6f 70 lzip/lzip.html..SH.COPYRIGHT.Cop
214c0 79 72 69 67 68 74 20 5c 28 63 6f 20 32 30 32 31 20 41 6e 74 6f 6e 69 6f 20 44 69 61 7a 20 44 69 yright.\(co.2021.Antonio.Diaz.Di
214e0 61 7a 2e 0a 4c 69 63 65 6e 73 65 20 47 50 4c 76 32 2b 3a 20 47 4e 55 20 47 50 4c 20 76 65 72 73 az..License.GPLv2+:.GNU.GPL.vers
21500 69 6f 6e 20 32 20 6f 72 20 6c 61 74 65 72 20 3c 68 74 74 70 3a 2f 2f 67 6e 75 2e 6f 72 67 2f 6c ion.2.or.later.<http://gnu.org/l
21520 69 63 65 6e 73 65 73 2f 67 70 6c 2e 68 74 6d 6c 3e 0a 2e 62 72 0a 54 68 69 73 20 69 73 20 66 72 icenses/gpl.html>..br.This.is.fr
21540 65 65 20 73 6f 66 74 77 61 72 65 3a 20 79 6f 75 20 61 72 65 20 66 72 65 65 20 74 6f 20 63 68 61 ee.software:.you.are.free.to.cha
21560 6e 67 65 20 61 6e 64 20 72 65 64 69 73 74 72 69 62 75 74 65 20 69 74 2e 0a 54 68 65 72 65 20 69 nge.and.redistribute.it..There.i
21580 73 20 4e 4f 20 57 41 52 52 41 4e 54 59 2c 20 74 6f 20 74 68 65 20 65 78 74 65 6e 74 20 70 65 72 s.NO.WARRANTY,.to.the.extent.per
215a0 6d 69 74 74 65 64 20 62 79 20 6c 61 77 2e 0a 2e 53 48 20 22 53 45 45 20 41 4c 53 4f 22 0a 54 68 mitted.by.law...SH."SEE.ALSO".Th
215c0 65 20 66 75 6c 6c 20 64 6f 63 75 6d 65 6e 74 61 74 69 6f 6e 20 66 6f 72 0a 2e 42 20 6c 7a 69 70 e.full.documentation.for..B.lzip
215e0 0a 69 73 20 6d 61 69 6e 74 61 69 6e 65 64 20 61 73 20 61 20 54 65 78 69 6e 66 6f 20 6d 61 6e 75 .is.maintained.as.a.Texinfo.manu
21600 61 6c 2e 20 20 49 66 20 74 68 65 0a 2e 42 20 69 6e 66 6f 0a 61 6e 64 0a 2e 42 20 6c 7a 69 70 0a al...If.the..B.info.and..B.lzip.
21620 70 72 6f 67 72 61 6d 73 20 61 72 65 20 70 72 6f 70 65 72 6c 79 20 69 6e 73 74 61 6c 6c 65 64 20 programs.are.properly.installed.
21640 61 74 20 79 6f 75 72 20 73 69 74 65 2c 20 74 68 65 20 63 6f 6d 6d 61 6e 64 0a 2e 49 50 0a 2e 42 at.your.site,.the.command..IP..B
21660 20 69 6e 66 6f 20 6c 7a 69 70 0a 2e 50 50 0a 73 68 6f 75 6c 64 20 67 69 76 65 20 79 6f 75 20 61 .info.lzip..PP.should.give.you.a
21680 63 63 65 73 73 20 74 6f 20 74 68 65 20 63 6f 6d 70 6c 65 74 65 20 6d 61 6e 75 61 6c 2e 0a 00 00 ccess.to.the.complete.manual....
216a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
216c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
216e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
21700 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
21720 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
21740 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
21760 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
21780 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
217a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
217c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
217e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
21800 6c 7a 69 70 2d 31 2e 32 32 2f 64 6f 63 2f 6c 7a 69 70 2e 74 65 78 69 00 00 00 00 00 00 00 00 00 lzip-1.22/doc/lzip.texi.........
21820 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
21840 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
21860 00 00 00 00 30 30 30 30 36 34 34 00 30 30 30 30 30 30 30 00 30 30 30 30 30 30 30 00 30 30 30 30 ....0000644.0000000.0000000.0000
21880 30 31 37 37 30 36 30 00 31 33 37 37 34 36 35 30 31 34 33 00 30 31 35 30 35 35 00 20 30 00 00 00 0177060.13774650143.015055..0...
218a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
218c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
218e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
21900 00 75 73 74 61 72 00 30 30 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .ustar.00root...................
21920 00 00 00 00 00 00 00 00 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .........root...................
21940 00 00 00 00 00 00 00 00 00 30 30 30 30 30 30 30 00 30 30 30 30 30 30 30 00 00 00 00 00 00 00 00 .........0000000.0000000........
21960 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
21980 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
219a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
219c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
219e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
21a00 5c 69 6e 70 75 74 20 74 65 78 69 6e 66 6f 20 40 63 20 2d 2a 2d 74 65 78 69 6e 66 6f 2d 2a 2d 0a \input.texinfo.@c.-*-texinfo-*-.
21a20 40 63 20 25 2a 2a 73 74 61 72 74 20 6f 66 20 68 65 61 64 65 72 0a 40 73 65 74 66 69 6c 65 6e 61 @c.%**start.of.header.@setfilena
21a40 6d 65 20 6c 7a 69 70 2e 69 6e 66 6f 0a 40 64 6f 63 75 6d 65 6e 74 65 6e 63 6f 64 69 6e 67 20 49 me.lzip.info.@documentencoding.I
21a60 53 4f 2d 38 38 35 39 2d 31 35 0a 40 73 65 74 74 69 74 6c 65 20 4c 7a 69 70 20 4d 61 6e 75 61 6c SO-8859-15.@settitle.Lzip.Manual
21a80 0a 40 66 69 6e 61 6c 6f 75 74 0a 40 63 20 25 2a 2a 65 6e 64 20 6f 66 20 68 65 61 64 65 72 0a 0a .@finalout.@c.%**end.of.header..
21aa0 40 73 65 74 20 55 50 44 41 54 45 44 20 34 20 4a 61 6e 75 61 72 79 20 32 30 32 31 0a 40 73 65 74 @set.UPDATED.4.January.2021.@set
21ac0 20 56 45 52 53 49 4f 4e 20 31 2e 32 32 0a 0a 40 64 69 72 63 61 74 65 67 6f 72 79 20 44 61 74 61 .VERSION.1.22..@dircategory.Data
21ae0 20 43 6f 6d 70 72 65 73 73 69 6f 6e 0a 40 64 69 72 65 6e 74 72 79 0a 2a 20 4c 7a 69 70 3a 20 28 .Compression.@direntry.*.Lzip:.(
21b00 6c 7a 69 70 29 2e 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 4c 5a 4d 41 20 6c 6f 73 73 lzip)..................LZMA.loss
21b20 6c 65 73 73 20 64 61 74 61 20 63 6f 6d 70 72 65 73 73 6f 72 0a 40 65 6e 64 20 64 69 72 65 6e 74 less.data.compressor.@end.dirent
21b40 72 79 0a 0a 0a 40 69 66 6e 6f 74 68 74 6d 6c 0a 40 74 69 74 6c 65 70 61 67 65 0a 40 74 69 74 6c ry...@ifnothtml.@titlepage.@titl
21b60 65 20 4c 7a 69 70 0a 40 73 75 62 74 69 74 6c 65 20 4c 5a 4d 41 20 6c 6f 73 73 6c 65 73 73 20 64 e.Lzip.@subtitle.LZMA.lossless.d
21b80 61 74 61 20 63 6f 6d 70 72 65 73 73 6f 72 0a 40 73 75 62 74 69 74 6c 65 20 66 6f 72 20 4c 7a 69 ata.compressor.@subtitle.for.Lzi
21ba0 70 20 76 65 72 73 69 6f 6e 20 40 76 61 6c 75 65 7b 56 45 52 53 49 4f 4e 7d 2c 20 40 76 61 6c 75 p.version.@value{VERSION},.@valu
21bc0 65 7b 55 50 44 41 54 45 44 7d 0a 40 61 75 74 68 6f 72 20 62 79 20 41 6e 74 6f 6e 69 6f 20 44 69 e{UPDATED}.@author.by.Antonio.Di
21be0 61 7a 20 44 69 61 7a 0a 0a 40 70 61 67 65 0a 40 76 73 6b 69 70 20 30 70 74 20 70 6c 75 73 20 31 az.Diaz..@page.@vskip.0pt.plus.1
21c00 66 69 6c 6c 6c 0a 40 65 6e 64 20 74 69 74 6c 65 70 61 67 65 0a 0a 40 63 6f 6e 74 65 6e 74 73 0a filll.@end.titlepage..@contents.
21c20 40 65 6e 64 20 69 66 6e 6f 74 68 74 6d 6c 0a 0a 40 69 66 6e 6f 74 74 65 78 0a 40 6e 6f 64 65 20 @end.ifnothtml..@ifnottex.@node.
21c40 54 6f 70 0a 40 74 6f 70 0a 0a 54 68 69 73 20 6d 61 6e 75 61 6c 20 69 73 20 66 6f 72 20 4c 7a 69 Top.@top..This.manual.is.for.Lzi
21c60 70 20 28 76 65 72 73 69 6f 6e 20 40 76 61 6c 75 65 7b 56 45 52 53 49 4f 4e 7d 2c 20 40 76 61 6c p.(version.@value{VERSION},.@val
21c80 75 65 7b 55 50 44 41 54 45 44 7d 29 2e 0a 0a 40 6d 65 6e 75 0a 2a 20 49 6e 74 72 6f 64 75 63 74 ue{UPDATED})...@menu.*.Introduct
21ca0 69 6f 6e 3a 3a 20 20 20 20 20 20 20 20 20 20 20 50 75 72 70 6f 73 65 20 61 6e 64 20 66 65 61 74 ion::...........Purpose.and.feat
21cc0 75 72 65 73 20 6f 66 20 6c 7a 69 70 0a 2a 20 4f 75 74 70 75 74 3a 3a 20 20 20 20 20 20 20 20 20 ures.of.lzip.*.Output::.........
21ce0 20 20 20 20 20 20 20 20 4d 65 61 6e 69 6e 67 20 6f 66 20 6c 7a 69 70 27 73 20 6f 75 74 70 75 74 ........Meaning.of.lzip's.output
21d00 0a 2a 20 49 6e 76 6f 6b 69 6e 67 20 6c 7a 69 70 3a 3a 20 20 20 20 20 20 20 20 20 20 43 6f 6d 6d .*.Invoking.lzip::..........Comm
21d20 61 6e 64 20 6c 69 6e 65 20 69 6e 74 65 72 66 61 63 65 0a 2a 20 51 75 61 6c 69 74 79 20 61 73 73 and.line.interface.*.Quality.ass
21d40 75 72 61 6e 63 65 3a 3a 20 20 20 20 20 20 44 65 73 69 67 6e 2c 20 64 65 76 65 6c 6f 70 6d 65 6e urance::......Design,.developmen
21d60 74 2c 20 61 6e 64 20 74 65 73 74 69 6e 67 20 6f 66 20 6c 7a 69 70 0a 2a 20 46 69 6c 65 20 66 6f t,.and.testing.of.lzip.*.File.fo
21d80 72 6d 61 74 3a 3a 20 20 20 20 20 20 20 20 20 20 20 20 44 65 74 61 69 6c 65 64 20 66 6f 72 6d 61 rmat::............Detailed.forma
21da0 74 20 6f 66 20 74 68 65 20 63 6f 6d 70 72 65 73 73 65 64 20 66 69 6c 65 0a 2a 20 41 6c 67 6f 72 t.of.the.compressed.file.*.Algor
21dc0 69 74 68 6d 3a 3a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 48 6f 77 20 6c 7a 69 70 20 63 6f 6d ithm::..............How.lzip.com
21de0 70 72 65 73 73 65 73 20 74 68 65 20 64 61 74 61 0a 2a 20 53 74 72 65 61 6d 20 66 6f 72 6d 61 74 presses.the.data.*.Stream.format
21e00 3a 3a 20 20 20 20 20 20 20 20 20 20 46 6f 72 6d 61 74 20 6f 66 20 74 68 65 20 4c 5a 4d 41 20 73 ::..........Format.of.the.LZMA.s
21e20 74 72 65 61 6d 20 69 6e 20 6c 7a 69 70 20 66 69 6c 65 73 0a 2a 20 54 72 61 69 6c 69 6e 67 20 64 tream.in.lzip.files.*.Trailing.d
21e40 61 74 61 3a 3a 20 20 20 20 20 20 20 20 20 20 45 78 74 72 61 20 64 61 74 61 20 61 70 70 65 6e 64 ata::..........Extra.data.append
21e60 65 64 20 74 6f 20 74 68 65 20 66 69 6c 65 0a 2a 20 45 78 61 6d 70 6c 65 73 3a 3a 20 20 20 20 20 ed.to.the.file.*.Examples::.....
21e80 20 20 20 20 20 20 20 20 20 20 41 20 73 6d 61 6c 6c 20 74 75 74 6f 72 69 61 6c 20 77 69 74 68 20 ..........A.small.tutorial.with.
21ea0 65 78 61 6d 70 6c 65 73 0a 2a 20 50 72 6f 62 6c 65 6d 73 3a 3a 20 20 20 20 20 20 20 20 20 20 20 examples.*.Problems::...........
21ec0 20 20 20 20 52 65 70 6f 72 74 69 6e 67 20 62 75 67 73 0a 2a 20 52 65 66 65 72 65 6e 63 65 20 73 ....Reporting.bugs.*.Reference.s
21ee0 6f 75 72 63 65 20 63 6f 64 65 3a 3a 20 20 53 6f 75 72 63 65 20 63 6f 64 65 20 69 6c 6c 75 73 74 ource.code::..Source.code.illust
21f00 72 61 74 69 6e 67 20 73 74 72 65 61 6d 20 66 6f 72 6d 61 74 0a 2a 20 43 6f 6e 63 65 70 74 20 69 rating.stream.format.*.Concept.i
21f20 6e 64 65 78 3a 3a 20 20 20 20 20 20 20 20 20 20 49 6e 64 65 78 20 6f 66 20 63 6f 6e 63 65 70 74 ndex::..........Index.of.concept
21f40 73 0a 40 65 6e 64 20 6d 65 6e 75 0a 0a 40 73 70 20 31 0a 43 6f 70 79 72 69 67 68 74 20 40 63 6f s.@end.menu..@sp.1.Copyright.@co
21f60 70 79 72 69 67 68 74 7b 7d 20 32 30 30 38 2d 32 30 32 31 20 41 6e 74 6f 6e 69 6f 20 44 69 61 7a pyright{}.2008-2021.Antonio.Diaz
21f80 20 44 69 61 7a 2e 0a 0a 54 68 69 73 20 6d 61 6e 75 61 6c 20 69 73 20 66 72 65 65 20 64 6f 63 75 .Diaz...This.manual.is.free.docu
21fa0 6d 65 6e 74 61 74 69 6f 6e 3a 20 79 6f 75 20 68 61 76 65 20 75 6e 6c 69 6d 69 74 65 64 20 70 65 mentation:.you.have.unlimited.pe
21fc0 72 6d 69 73 73 69 6f 6e 20 74 6f 20 63 6f 70 79 2c 0a 64 69 73 74 72 69 62 75 74 65 2c 20 61 6e rmission.to.copy,.distribute,.an
21fe0 64 20 6d 6f 64 69 66 79 20 69 74 2e 0a 40 65 6e 64 20 69 66 6e 6f 74 74 65 78 0a 0a 0a 40 6e 6f d.modify.it..@end.ifnottex...@no
22000 64 65 20 49 6e 74 72 6f 64 75 63 74 69 6f 6e 0a 40 63 68 61 70 74 65 72 20 49 6e 74 72 6f 64 75 de.Introduction.@chapter.Introdu
22020 63 74 69 6f 6e 0a 40 63 69 6e 64 65 78 20 69 6e 74 72 6f 64 75 63 74 69 6f 6e 0a 0a 40 75 72 65 ction.@cindex.introduction..@ure
22040 66 7b 68 74 74 70 3a 2f 2f 77 77 77 2e 6e 6f 6e 67 6e 75 2e 6f 72 67 2f 6c 7a 69 70 2f 6c 7a 69 f{http://www.nongnu.org/lzip/lzi
22060 70 2e 68 74 6d 6c 2c 2c 4c 7a 69 70 7d 0a 69 73 20 61 20 6c 6f 73 73 6c 65 73 73 20 64 61 74 61 p.html,,Lzip}.is.a.lossless.data
22080 20 63 6f 6d 70 72 65 73 73 6f 72 20 77 69 74 68 20 61 20 75 73 65 72 20 69 6e 74 65 72 66 61 63 .compressor.with.a.user.interfac
220a0 65 20 73 69 6d 69 6c 61 72 20 74 6f 20 74 68 65 20 6f 6e 65 0a 6f 66 20 67 7a 69 70 20 6f 72 20 e.similar.to.the.one.of.gzip.or.
220c0 62 7a 69 70 32 2e 20 4c 7a 69 70 20 75 73 65 73 20 61 20 73 69 6d 70 6c 69 66 69 65 64 20 66 6f bzip2..Lzip.uses.a.simplified.fo
220e0 72 6d 20 6f 66 20 74 68 65 20 27 4c 65 6d 70 65 6c 2d 5a 69 76 2d 4d 61 72 6b 6f 76 0a 63 68 61 rm.of.the.'Lempel-Ziv-Markov.cha
22100 69 6e 2d 41 6c 67 6f 72 69 74 68 6d 27 20 28 4c 5a 4d 41 29 20 73 74 72 65 61 6d 20 66 6f 72 6d in-Algorithm'.(LZMA).stream.form
22120 61 74 2c 20 63 68 6f 73 65 6e 20 74 6f 20 6d 61 78 69 6d 69 7a 65 20 73 61 66 65 74 79 20 61 6e at,.chosen.to.maximize.safety.an
22140 64 0a 69 6e 74 65 72 6f 70 65 72 61 62 69 6c 69 74 79 2e 20 4c 7a 69 70 20 63 61 6e 20 63 6f 6d d.interoperability..Lzip.can.com
22160 70 72 65 73 73 20 61 62 6f 75 74 20 61 73 20 66 61 73 74 20 61 73 20 67 7a 69 70 20 40 77 7b 28 press.about.as.fast.as.gzip.@w{(
22180 6c 7a 69 70 20 2d 30 29 7d 20 6f 72 0a 63 6f 6d 70 72 65 73 73 20 6d 6f 73 74 20 66 69 6c 65 73 lzip.-0)}.or.compress.most.files
221a0 20 6d 6f 72 65 20 74 68 61 6e 20 62 7a 69 70 32 20 40 77 7b 28 6c 7a 69 70 20 2d 39 29 7d 2e 20 .more.than.bzip2.@w{(lzip.-9)}..
221c0 44 65 63 6f 6d 70 72 65 73 73 69 6f 6e 20 73 70 65 65 64 20 69 73 0a 69 6e 74 65 72 6d 65 64 69 Decompression.speed.is.intermedi
221e0 61 74 65 20 62 65 74 77 65 65 6e 20 67 7a 69 70 20 61 6e 64 20 62 7a 69 70 32 2e 20 4c 7a 69 70 ate.between.gzip.and.bzip2..Lzip
22200 20 69 73 20 62 65 74 74 65 72 20 74 68 61 6e 20 67 7a 69 70 20 61 6e 64 20 62 7a 69 70 32 20 66 .is.better.than.gzip.and.bzip2.f
22220 72 6f 6d 0a 61 20 64 61 74 61 20 72 65 63 6f 76 65 72 79 20 70 65 72 73 70 65 63 74 69 76 65 2e rom.a.data.recovery.perspective.
22240 20 4c 7a 69 70 20 68 61 73 20 62 65 65 6e 20 64 65 73 69 67 6e 65 64 2c 20 77 72 69 74 74 65 6e .Lzip.has.been.designed,.written
22260 2c 20 61 6e 64 20 74 65 73 74 65 64 0a 77 69 74 68 20 67 72 65 61 74 20 63 61 72 65 20 74 6f 20 ,.and.tested.with.great.care.to.
22280 72 65 70 6c 61 63 65 20 67 7a 69 70 20 61 6e 64 20 62 7a 69 70 32 20 61 73 20 74 68 65 20 73 74 replace.gzip.and.bzip2.as.the.st
222a0 61 6e 64 61 72 64 20 67 65 6e 65 72 61 6c 2d 70 75 72 70 6f 73 65 0a 63 6f 6d 70 72 65 73 73 65 andard.general-purpose.compresse
222c0 64 20 66 6f 72 6d 61 74 20 66 6f 72 20 75 6e 69 78 2d 6c 69 6b 65 20 73 79 73 74 65 6d 73 2e 0a d.format.for.unix-like.systems..
222e0 0a 46 6f 72 20 63 6f 6d 70 72 65 73 73 69 6e 67 2f 64 65 63 6f 6d 70 72 65 73 73 69 6e 67 20 6c .For.compressing/decompressing.l
22300 61 72 67 65 20 66 69 6c 65 73 20 6f 6e 20 6d 75 6c 74 69 70 72 6f 63 65 73 73 6f 72 20 6d 61 63 arge.files.on.multiprocessor.mac
22320 68 69 6e 65 73 0a 40 75 72 65 66 7b 68 74 74 70 3a 2f 2f 77 77 77 2e 6e 6f 6e 67 6e 75 2e 6f 72 hines.@uref{http://www.nongnu.or
22340 67 2f 6c 7a 69 70 2f 6d 61 6e 75 61 6c 2f 70 6c 7a 69 70 5f 6d 61 6e 75 61 6c 2e 68 74 6d 6c 2c g/lzip/manual/plzip_manual.html,
22360 2c 70 6c 7a 69 70 7d 20 63 61 6e 20 62 65 0a 6d 75 63 68 20 66 61 73 74 65 72 20 74 68 61 6e 20 ,plzip}.can.be.much.faster.than.
22380 6c 7a 69 70 20 61 74 20 74 68 65 20 63 6f 73 74 20 6f 66 20 61 20 73 6c 69 67 68 74 6c 79 20 72 lzip.at.the.cost.of.a.slightly.r
223a0 65 64 75 63 65 64 20 63 6f 6d 70 72 65 73 73 69 6f 6e 20 72 61 74 69 6f 2e 0a 40 69 66 6e 6f 74 educed.compression.ratio..@ifnot
223c0 68 74 6d 6c 0a 40 78 72 65 66 7b 54 6f 70 2c 70 6c 7a 69 70 20 6d 61 6e 75 61 6c 2c 2c 70 6c 7a html.@xref{Top,plzip.manual,,plz
223e0 69 70 7d 2e 0a 40 65 6e 64 20 69 66 6e 6f 74 68 74 6d 6c 0a 0a 46 6f 72 20 63 72 65 61 74 69 6f ip}..@end.ifnothtml..For.creatio
22400 6e 20 61 6e 64 20 6d 61 6e 69 70 75 6c 61 74 69 6f 6e 20 6f 66 20 63 6f 6d 70 72 65 73 73 65 64 n.and.manipulation.of.compressed
22420 20 74 61 72 20 61 72 63 68 69 76 65 73 0a 40 75 72 65 66 7b 68 74 74 70 3a 2f 2f 77 77 77 2e 6e .tar.archives.@uref{http://www.n
22440 6f 6e 67 6e 75 2e 6f 72 67 2f 6c 7a 69 70 2f 6d 61 6e 75 61 6c 2f 74 61 72 6c 7a 5f 6d 61 6e 75 ongnu.org/lzip/manual/tarlz_manu
22460 61 6c 2e 68 74 6d 6c 2c 2c 74 61 72 6c 7a 7d 20 63 61 6e 20 62 65 0a 6d 6f 72 65 20 65 66 66 69 al.html,,tarlz}.can.be.more.effi
22480 63 69 65 6e 74 20 74 68 61 6e 20 75 73 69 6e 67 20 74 61 72 20 61 6e 64 20 70 6c 7a 69 70 20 62 cient.than.using.tar.and.plzip.b
224a0 65 63 61 75 73 65 20 74 61 72 6c 7a 20 69 73 20 61 62 6c 65 20 74 6f 20 6b 65 65 70 20 74 68 65 ecause.tarlz.is.able.to.keep.the
224c0 0a 61 6c 69 67 6e 6d 65 6e 74 20 62 65 74 77 65 65 6e 20 74 61 72 20 6d 65 6d 62 65 72 73 20 61 .alignment.between.tar.members.a
224e0 6e 64 20 6c 7a 69 70 20 6d 65 6d 62 65 72 73 2e 0a 40 69 66 6e 6f 74 68 74 6d 6c 0a 40 78 72 65 nd.lzip.members..@ifnothtml.@xre
22500 66 7b 54 6f 70 2c 74 61 72 6c 7a 20 6d 61 6e 75 61 6c 2c 2c 74 61 72 6c 7a 7d 2e 0a 40 65 6e 64 f{Top,tarlz.manual,,tarlz}..@end
22520 20 69 66 6e 6f 74 68 74 6d 6c 0a 0a 54 68 65 20 6c 7a 69 70 20 66 69 6c 65 20 66 6f 72 6d 61 74 .ifnothtml..The.lzip.file.format
22540 20 69 73 20 64 65 73 69 67 6e 65 64 20 66 6f 72 20 64 61 74 61 20 73 68 61 72 69 6e 67 20 61 6e .is.designed.for.data.sharing.an
22560 64 20 6c 6f 6e 67 2d 74 65 72 6d 20 61 72 63 68 69 76 69 6e 67 2c 0a 74 61 6b 69 6e 67 20 69 6e d.long-term.archiving,.taking.in
22580 74 6f 20 61 63 63 6f 75 6e 74 20 62 6f 74 68 20 64 61 74 61 20 69 6e 74 65 67 72 69 74 79 20 61 to.account.both.data.integrity.a
225a0 6e 64 20 64 65 63 6f 64 65 72 20 61 76 61 69 6c 61 62 69 6c 69 74 79 3a 0a 0a 40 69 74 65 6d 69 nd.decoder.availability:..@itemi
225c0 7a 65 20 40 62 75 6c 6c 65 74 0a 40 69 74 65 6d 0a 54 68 65 20 6c 7a 69 70 20 66 6f 72 6d 61 74 ze.@bullet.@item.The.lzip.format
225e0 20 70 72 6f 76 69 64 65 73 20 76 65 72 79 20 73 61 66 65 20 69 6e 74 65 67 72 69 74 79 20 63 68 .provides.very.safe.integrity.ch
22600 65 63 6b 69 6e 67 20 61 6e 64 20 73 6f 6d 65 20 64 61 74 61 0a 72 65 63 6f 76 65 72 79 20 6d 65 ecking.and.some.data.recovery.me
22620 61 6e 73 2e 20 54 68 65 20 70 72 6f 67 72 61 6d 0a 40 75 72 65 66 7b 68 74 74 70 3a 2f 2f 77 77 ans..The.program.@uref{http://ww
22640 77 2e 6e 6f 6e 67 6e 75 2e 6f 72 67 2f 6c 7a 69 70 2f 6d 61 6e 75 61 6c 2f 6c 7a 69 70 72 65 63 w.nongnu.org/lzip/manual/lziprec
22660 6f 76 65 72 5f 6d 61 6e 75 61 6c 2e 68 74 6d 6c 23 44 61 74 61 2d 73 61 66 65 74 79 2c 2c 6c 7a over_manual.html#Data-safety,,lz
22680 69 70 72 65 63 6f 76 65 72 7d 0a 63 61 6e 20 72 65 70 61 69 72 20 62 69 74 20 66 6c 69 70 20 65 iprecover}.can.repair.bit.flip.e
226a0 72 72 6f 72 73 20 28 6f 6e 65 20 6f 66 20 74 68 65 20 6d 6f 73 74 20 63 6f 6d 6d 6f 6e 20 66 6f rrors.(one.of.the.most.common.fo
226c0 72 6d 73 20 6f 66 20 64 61 74 61 20 63 6f 72 72 75 70 74 69 6f 6e 29 0a 69 6e 20 6c 7a 69 70 20 rms.of.data.corruption).in.lzip.
226e0 66 69 6c 65 73 2c 20 61 6e 64 20 70 72 6f 76 69 64 65 73 20 64 61 74 61 20 72 65 63 6f 76 65 72 files,.and.provides.data.recover
22700 79 20 63 61 70 61 62 69 6c 69 74 69 65 73 2c 20 69 6e 63 6c 75 64 69 6e 67 0a 65 72 72 6f 72 2d y.capabilities,.including.error-
22720 63 68 65 63 6b 65 64 20 6d 65 72 67 69 6e 67 20 6f 66 20 64 61 6d 61 67 65 64 20 63 6f 70 69 65 checked.merging.of.damaged.copie
22740 73 20 6f 66 20 61 20 66 69 6c 65 2e 0a 40 69 66 6e 6f 74 68 74 6d 6c 0a 40 78 72 65 66 7b 44 61 s.of.a.file..@ifnothtml.@xref{Da
22760 74 61 20 73 61 66 65 74 79 2c 2c 2c 6c 7a 69 70 72 65 63 6f 76 65 72 7d 2e 0a 40 65 6e 64 20 69 ta.safety,,,lziprecover}..@end.i
22780 66 6e 6f 74 68 74 6d 6c 0a 0a 40 69 74 65 6d 0a 54 68 65 20 6c 7a 69 70 20 66 6f 72 6d 61 74 20 fnothtml..@item.The.lzip.format.
227a0 69 73 20 61 73 20 73 69 6d 70 6c 65 20 61 73 20 70 6f 73 73 69 62 6c 65 20 28 62 75 74 20 6e 6f is.as.simple.as.possible.(but.no
227c0 74 20 73 69 6d 70 6c 65 72 29 2e 20 54 68 65 20 6c 7a 69 70 0a 6d 61 6e 75 61 6c 20 70 72 6f 76 t.simpler)..The.lzip.manual.prov
227e0 69 64 65 73 20 74 68 65 20 73 6f 75 72 63 65 20 63 6f 64 65 20 6f 66 20 61 20 73 69 6d 70 6c 65 ides.the.source.code.of.a.simple
22800 20 64 65 63 6f 6d 70 72 65 73 73 6f 72 20 61 6c 6f 6e 67 20 77 69 74 68 20 61 0a 64 65 74 61 69 .decompressor.along.with.a.detai
22820 6c 65 64 20 65 78 70 6c 61 6e 61 74 69 6f 6e 20 6f 66 20 68 6f 77 20 69 74 20 77 6f 72 6b 73 2c led.explanation.of.how.it.works,
22840 20 73 6f 20 74 68 61 74 20 77 69 74 68 20 74 68 65 20 6f 6e 6c 79 20 68 65 6c 70 20 6f 66 20 74 .so.that.with.the.only.help.of.t
22860 68 65 0a 6c 7a 69 70 20 6d 61 6e 75 61 6c 20 69 74 20 77 6f 75 6c 64 20 62 65 20 70 6f 73 73 69 he.lzip.manual.it.would.be.possi
22880 62 6c 65 20 66 6f 72 20 61 20 64 69 67 69 74 61 6c 20 61 72 63 68 61 65 6f 6c 6f 67 69 73 74 20 ble.for.a.digital.archaeologist.
228a0 74 6f 20 65 78 74 72 61 63 74 0a 74 68 65 20 64 61 74 61 20 66 72 6f 6d 20 61 20 6c 7a 69 70 20 to.extract.the.data.from.a.lzip.
228c0 66 69 6c 65 20 6c 6f 6e 67 20 61 66 74 65 72 20 71 75 61 6e 74 75 6d 20 63 6f 6d 70 75 74 65 72 file.long.after.quantum.computer
228e0 73 20 65 76 65 6e 74 75 61 6c 6c 79 0a 72 65 6e 64 65 72 20 4c 5a 4d 41 20 6f 62 73 6f 6c 65 74 s.eventually.render.LZMA.obsolet
22900 65 2e 0a 0a 40 69 74 65 6d 0a 41 64 64 69 74 69 6f 6e 61 6c 6c 79 20 74 68 65 20 6c 7a 69 70 20 e...@item.Additionally.the.lzip.
22920 72 65 66 65 72 65 6e 63 65 20 69 6d 70 6c 65 6d 65 6e 74 61 74 69 6f 6e 20 69 73 20 63 6f 70 79 reference.implementation.is.copy
22940 6c 65 66 74 65 64 2c 20 77 68 69 63 68 0a 67 75 61 72 61 6e 74 65 65 73 20 74 68 61 74 20 69 74 lefted,.which.guarantees.that.it
22960 20 77 69 6c 6c 20 72 65 6d 61 69 6e 20 66 72 65 65 20 66 6f 72 65 76 65 72 2e 0a 40 65 6e 64 20 .will.remain.free.forever..@end.
22980 69 74 65 6d 69 7a 65 0a 0a 41 20 6e 69 63 65 20 66 65 61 74 75 72 65 20 6f 66 20 74 68 65 20 6c itemize..A.nice.feature.of.the.l
229a0 7a 69 70 20 66 6f 72 6d 61 74 20 69 73 20 74 68 61 74 20 61 20 63 6f 72 72 75 70 74 20 62 79 74 zip.format.is.that.a.corrupt.byt
229c0 65 20 69 73 20 65 61 73 69 65 72 20 74 6f 20 72 65 70 61 69 72 0a 74 68 65 20 6e 65 61 72 65 72 e.is.easier.to.repair.the.nearer
229e0 20 69 74 20 69 73 20 66 72 6f 6d 20 74 68 65 20 62 65 67 69 6e 6e 69 6e 67 20 6f 66 20 74 68 65 .it.is.from.the.beginning.of.the
22a00 20 66 69 6c 65 2e 20 54 68 65 72 65 66 6f 72 65 2c 20 77 69 74 68 20 74 68 65 20 68 65 6c 70 20 .file..Therefore,.with.the.help.
22a20 6f 66 0a 6c 7a 69 70 72 65 63 6f 76 65 72 2c 20 6c 6f 73 69 6e 67 20 61 6e 20 65 6e 74 69 72 65 of.lziprecover,.losing.an.entire
22a40 20 61 72 63 68 69 76 65 20 6a 75 73 74 20 62 65 63 61 75 73 65 20 6f 66 20 61 20 63 6f 72 72 75 .archive.just.because.of.a.corru
22a60 70 74 20 62 79 74 65 20 6e 65 61 72 0a 74 68 65 20 62 65 67 69 6e 6e 69 6e 67 20 69 73 20 61 20 pt.byte.near.the.beginning.is.a.
22a80 74 68 69 6e 67 20 6f 66 20 74 68 65 20 70 61 73 74 2e 0a 0a 54 68 65 20 6d 65 6d 62 65 72 20 74 thing.of.the.past...The.member.t
22aa0 72 61 69 6c 65 72 20 73 74 6f 72 65 73 20 74 68 65 20 33 32 2d 62 69 74 20 43 52 43 20 6f 66 20 railer.stores.the.32-bit.CRC.of.
22ac0 74 68 65 20 6f 72 69 67 69 6e 61 6c 20 64 61 74 61 2c 20 74 68 65 20 73 69 7a 65 0a 6f 66 20 74 the.original.data,.the.size.of.t
22ae0 68 65 20 6f 72 69 67 69 6e 61 6c 20 64 61 74 61 2c 20 61 6e 64 20 74 68 65 20 73 69 7a 65 20 6f he.original.data,.and.the.size.o
22b00 66 20 74 68 65 20 6d 65 6d 62 65 72 2e 20 54 68 65 73 65 20 76 61 6c 75 65 73 2c 20 74 6f 67 65 f.the.member..These.values,.toge
22b20 74 68 65 72 0a 77 69 74 68 20 74 68 65 20 65 6e 64 2d 6f 66 2d 73 74 72 65 61 6d 20 6d 61 72 6b ther.with.the.end-of-stream.mark
22b40 65 72 2c 20 70 72 6f 76 69 64 65 20 61 20 33 20 66 61 63 74 6f 72 20 69 6e 74 65 67 72 69 74 79 er,.provide.a.3.factor.integrity
22b60 20 63 68 65 63 6b 69 6e 67 0a 77 68 69 63 68 20 67 75 61 72 61 6e 74 65 65 73 20 74 68 61 74 20 .checking.which.guarantees.that.
22b80 74 68 65 20 64 65 63 6f 6d 70 72 65 73 73 65 64 20 76 65 72 73 69 6f 6e 20 6f 66 20 74 68 65 20 the.decompressed.version.of.the.
22ba0 64 61 74 61 20 69 73 20 69 64 65 6e 74 69 63 61 6c 0a 74 6f 20 74 68 65 20 6f 72 69 67 69 6e 61 data.is.identical.to.the.origina
22bc0 6c 2e 20 54 68 69 73 20 67 75 61 72 64 73 20 61 67 61 69 6e 73 74 20 63 6f 72 72 75 70 74 69 6f l..This.guards.against.corruptio
22be0 6e 20 6f 66 20 74 68 65 20 63 6f 6d 70 72 65 73 73 65 64 20 64 61 74 61 2c 0a 61 6e 64 20 61 67 n.of.the.compressed.data,.and.ag
22c00 61 69 6e 73 74 20 75 6e 64 65 74 65 63 74 65 64 20 62 75 67 73 20 69 6e 20 6c 7a 69 70 20 28 68 ainst.undetected.bugs.in.lzip.(h
22c20 6f 70 65 66 75 6c 6c 79 20 76 65 72 79 20 75 6e 6c 69 6b 65 6c 79 29 2e 20 54 68 65 0a 63 68 61 opefully.very.unlikely)..The.cha
22c40 6e 63 65 73 20 6f 66 20 64 61 74 61 20 63 6f 72 72 75 70 74 69 6f 6e 20 67 6f 69 6e 67 20 75 6e nces.of.data.corruption.going.un
22c60 64 65 74 65 63 74 65 64 20 61 72 65 20 6d 69 63 72 6f 73 63 6f 70 69 63 2e 20 42 65 20 61 77 61 detected.are.microscopic..Be.awa
22c80 72 65 2c 0a 74 68 6f 75 67 68 2c 20 74 68 61 74 20 74 68 65 20 63 68 65 63 6b 20 6f 63 63 75 72 re,.though,.that.the.check.occur
22ca0 73 20 75 70 6f 6e 20 64 65 63 6f 6d 70 72 65 73 73 69 6f 6e 2c 20 73 6f 20 69 74 20 63 61 6e 20 s.upon.decompression,.so.it.can.
22cc0 6f 6e 6c 79 20 74 65 6c 6c 0a 79 6f 75 20 74 68 61 74 20 73 6f 6d 65 74 68 69 6e 67 20 69 73 20 only.tell.you.that.something.is.
22ce0 77 72 6f 6e 67 2e 20 49 74 20 63 61 6e 27 74 20 68 65 6c 70 20 79 6f 75 20 72 65 63 6f 76 65 72 wrong..It.can't.help.you.recover
22d00 20 74 68 65 20 6f 72 69 67 69 6e 61 6c 0a 75 6e 63 6f 6d 70 72 65 73 73 65 64 20 64 61 74 61 2e .the.original.uncompressed.data.
22d20 0a 0a 4c 7a 69 70 20 75 73 65 73 20 74 68 65 20 73 61 6d 65 20 77 65 6c 6c 2d 64 65 66 69 6e 65 ..Lzip.uses.the.same.well-define
22d40 64 20 65 78 69 74 20 73 74 61 74 75 73 20 76 61 6c 75 65 73 20 75 73 65 64 20 62 79 20 62 7a 69 d.exit.status.values.used.by.bzi
22d60 70 32 2c 20 77 68 69 63 68 0a 6d 61 6b 65 73 20 69 74 20 73 61 66 65 72 20 74 68 61 6e 20 63 6f p2,.which.makes.it.safer.than.co
22d80 6d 70 72 65 73 73 6f 72 73 20 72 65 74 75 72 6e 69 6e 67 20 61 6d 62 69 67 75 6f 75 73 20 77 61 mpressors.returning.ambiguous.wa
22da0 72 6e 69 6e 67 20 76 61 6c 75 65 73 20 28 6c 69 6b 65 0a 67 7a 69 70 29 20 77 68 65 6e 20 69 74 rning.values.(like.gzip).when.it
22dc0 20 69 73 20 75 73 65 64 20 61 73 20 61 20 62 61 63 6b 20 65 6e 64 20 66 6f 72 20 6f 74 68 65 72 .is.used.as.a.back.end.for.other
22de0 20 70 72 6f 67 72 61 6d 73 20 6c 69 6b 65 20 74 61 72 20 6f 72 20 7a 75 74 69 6c 73 2e 0a 0a 4c .programs.like.tar.or.zutils...L
22e00 7a 69 70 20 77 69 6c 6c 20 61 75 74 6f 6d 61 74 69 63 61 6c 6c 79 20 75 73 65 20 66 6f 72 20 65 zip.will.automatically.use.for.e
22e20 61 63 68 20 66 69 6c 65 20 74 68 65 20 6c 61 72 67 65 73 74 20 64 69 63 74 69 6f 6e 61 72 79 20 ach.file.the.largest.dictionary.
22e40 73 69 7a 65 20 74 68 61 74 0a 64 6f 65 73 20 6e 6f 74 20 65 78 63 65 65 64 20 6e 65 69 74 68 65 size.that.does.not.exceed.neithe
22e60 72 20 74 68 65 20 66 69 6c 65 20 73 69 7a 65 20 6e 6f 72 20 74 68 65 20 6c 69 6d 69 74 20 67 69 r.the.file.size.nor.the.limit.gi
22e80 76 65 6e 2e 20 4b 65 65 70 20 69 6e 20 6d 69 6e 64 20 74 68 61 74 0a 74 68 65 20 64 65 63 6f 6d ven..Keep.in.mind.that.the.decom
22ea0 70 72 65 73 73 69 6f 6e 20 6d 65 6d 6f 72 79 20 72 65 71 75 69 72 65 6d 65 6e 74 20 69 73 20 61 pression.memory.requirement.is.a
22ec0 66 66 65 63 74 65 64 20 61 74 20 63 6f 6d 70 72 65 73 73 69 6f 6e 20 74 69 6d 65 20 62 79 20 74 ffected.at.compression.time.by.t
22ee0 68 65 0a 63 68 6f 69 63 65 20 6f 66 20 64 69 63 74 69 6f 6e 61 72 79 20 73 69 7a 65 20 6c 69 6d he.choice.of.dictionary.size.lim
22f00 69 74 2e 0a 0a 54 68 65 20 61 6d 6f 75 6e 74 20 6f 66 20 6d 65 6d 6f 72 79 20 72 65 71 75 69 72 it...The.amount.of.memory.requir
22f20 65 64 20 66 6f 72 20 63 6f 6d 70 72 65 73 73 69 6f 6e 20 69 73 20 61 62 6f 75 74 20 31 20 6f 72 ed.for.compression.is.about.1.or
22f40 20 32 20 74 69 6d 65 73 20 74 68 65 0a 64 69 63 74 69 6f 6e 61 72 79 20 73 69 7a 65 20 6c 69 6d .2.times.the.dictionary.size.lim
22f60 69 74 20 28 31 20 69 66 20 69 6e 70 75 74 20 66 69 6c 65 20 73 69 7a 65 20 69 73 20 6c 65 73 73 it.(1.if.input.file.size.is.less
22f80 20 74 68 61 6e 20 64 69 63 74 69 6f 6e 61 72 79 20 73 69 7a 65 0a 6c 69 6d 69 74 2c 20 65 6c 73 .than.dictionary.size.limit,.els
22fa0 65 20 32 29 20 70 6c 75 73 20 39 20 74 69 6d 65 73 20 74 68 65 20 64 69 63 74 69 6f 6e 61 72 79 e.2).plus.9.times.the.dictionary
22fc0 20 73 69 7a 65 20 72 65 61 6c 6c 79 20 75 73 65 64 2e 20 54 68 65 20 6f 70 74 69 6f 6e 0a 40 73 .size.really.used..The.option.@s
22fe0 61 6d 70 7b 2d 30 7d 20 69 73 20 73 70 65 63 69 61 6c 20 61 6e 64 20 6f 6e 6c 79 20 72 65 71 75 amp{-0}.is.special.and.only.requ
23000 69 72 65 73 20 61 62 6f 75 74 20 40 77 7b 31 2e 35 20 4d 69 42 7d 20 61 74 20 6d 6f 73 74 2e 20 ires.about.@w{1.5.MiB}.at.most..
23020 54 68 65 0a 61 6d 6f 75 6e 74 20 6f 66 20 6d 65 6d 6f 72 79 20 72 65 71 75 69 72 65 64 20 66 6f The.amount.of.memory.required.fo
23040 72 20 64 65 63 6f 6d 70 72 65 73 73 69 6f 6e 20 69 73 20 61 62 6f 75 74 20 40 77 7b 34 36 20 6b r.decompression.is.about.@w{46.k
23060 42 7d 20 6c 61 72 67 65 72 0a 74 68 61 6e 20 74 68 65 20 64 69 63 74 69 6f 6e 61 72 79 20 73 69 B}.larger.than.the.dictionary.si
23080 7a 65 20 72 65 61 6c 6c 79 20 75 73 65 64 2e 0a 0a 57 68 65 6e 20 63 6f 6d 70 72 65 73 73 69 6e ze.really.used...When.compressin
230a0 67 2c 20 6c 7a 69 70 20 72 65 70 6c 61 63 65 73 20 65 76 65 72 79 20 66 69 6c 65 20 67 69 76 65 g,.lzip.replaces.every.file.give
230c0 6e 20 69 6e 20 74 68 65 20 63 6f 6d 6d 61 6e 64 20 6c 69 6e 65 0a 77 69 74 68 20 61 20 63 6f 6d n.in.the.command.line.with.a.com
230e0 70 72 65 73 73 65 64 20 76 65 72 73 69 6f 6e 20 6f 66 20 69 74 73 65 6c 66 2c 20 77 69 74 68 20 pressed.version.of.itself,.with.
23100 74 68 65 20 6e 61 6d 65 20 22 6f 72 69 67 69 6e 61 6c 5f 6e 61 6d 65 2e 6c 7a 22 2e 0a 57 68 65 the.name."original_name.lz"..Whe
23120 6e 20 64 65 63 6f 6d 70 72 65 73 73 69 6e 67 2c 20 6c 7a 69 70 20 61 74 74 65 6d 70 74 73 20 74 n.decompressing,.lzip.attempts.t
23140 6f 20 67 75 65 73 73 20 74 68 65 20 6e 61 6d 65 20 66 6f 72 20 74 68 65 20 64 65 63 6f 6d 70 72 o.guess.the.name.for.the.decompr
23160 65 73 73 65 64 0a 66 69 6c 65 20 66 72 6f 6d 20 74 68 61 74 20 6f 66 20 74 68 65 20 63 6f 6d 70 essed.file.from.that.of.the.comp
23180 72 65 73 73 65 64 20 66 69 6c 65 20 61 73 20 66 6f 6c 6c 6f 77 73 3a 0a 0a 40 6d 75 6c 74 69 74 ressed.file.as.follows:..@multit
231a0 61 62 6c 65 20 7b 61 6e 79 6f 74 68 65 72 6e 61 6d 65 7d 20 7b 62 65 63 6f 6d 65 73 7d 20 7b 61 able.{anyothername}.{becomes}.{a
231c0 6e 79 6f 74 68 65 72 6e 61 6d 65 2e 6f 75 74 7d 0a 40 69 74 65 6d 20 66 69 6c 65 6e 61 6d 65 2e nyothername.out}.@item.filename.
231e0 6c 7a 20 20 40 74 61 62 20 62 65 63 6f 6d 65 73 20 40 74 61 62 20 66 69 6c 65 6e 61 6d 65 0a 40 lz..@tab.becomes.@tab.filename.@
23200 69 74 65 6d 20 66 69 6c 65 6e 61 6d 65 2e 74 6c 7a 20 40 74 61 62 20 62 65 63 6f 6d 65 73 20 40 item.filename.tlz.@tab.becomes.@
23220 74 61 62 20 66 69 6c 65 6e 61 6d 65 2e 74 61 72 0a 40 69 74 65 6d 20 61 6e 79 6f 74 68 65 72 6e tab.filename.tar.@item.anyothern
23240 61 6d 65 20 40 74 61 62 20 62 65 63 6f 6d 65 73 20 40 74 61 62 20 61 6e 79 6f 74 68 65 72 6e 61 ame.@tab.becomes.@tab.anyotherna
23260 6d 65 2e 6f 75 74 0a 40 65 6e 64 20 6d 75 6c 74 69 74 61 62 6c 65 0a 0a 28 44 65 29 63 6f 6d 70 me.out.@end.multitable..(De)comp
23280 72 65 73 73 69 6e 67 20 61 20 66 69 6c 65 20 69 73 20 6d 75 63 68 20 6c 69 6b 65 20 63 6f 70 79 ressing.a.file.is.much.like.copy
232a0 69 6e 67 20 6f 72 20 6d 6f 76 69 6e 67 20 69 74 3b 20 74 68 65 72 65 66 6f 72 65 20 6c 7a 69 70 ing.or.moving.it;.therefore.lzip
232c0 0a 70 72 65 73 65 72 76 65 73 20 74 68 65 20 61 63 63 65 73 73 20 61 6e 64 20 6d 6f 64 69 66 69 .preserves.the.access.and.modifi
232e0 63 61 74 69 6f 6e 20 64 61 74 65 73 2c 20 70 65 72 6d 69 73 73 69 6f 6e 73 2c 20 61 6e 64 2c 20 cation.dates,.permissions,.and,.
23300 77 68 65 6e 0a 70 6f 73 73 69 62 6c 65 2c 20 6f 77 6e 65 72 73 68 69 70 20 6f 66 20 74 68 65 20 when.possible,.ownership.of.the.
23320 66 69 6c 65 20 6a 75 73 74 20 61 73 20 40 73 61 6d 70 7b 63 70 20 2d 70 7d 20 64 6f 65 73 2e 20 file.just.as.@samp{cp.-p}.does..
23340 28 49 66 20 74 68 65 20 75 73 65 72 20 49 44 20 6f 72 0a 74 68 65 20 67 72 6f 75 70 20 49 44 20 (If.the.user.ID.or.the.group.ID.
23360 63 61 6e 27 74 20 62 65 20 64 75 70 6c 69 63 61 74 65 64 2c 20 74 68 65 20 66 69 6c 65 20 70 65 can't.be.duplicated,.the.file.pe
23380 72 6d 69 73 73 69 6f 6e 20 62 69 74 73 20 53 5f 49 53 55 49 44 20 61 6e 64 0a 53 5f 49 53 47 49 rmission.bits.S_ISUID.and.S_ISGI
233a0 44 20 61 72 65 20 63 6c 65 61 72 65 64 29 2e 0a 0a 4c 7a 69 70 20 69 73 20 61 62 6c 65 20 74 6f D.are.cleared)...Lzip.is.able.to
233c0 20 72 65 61 64 20 66 72 6f 6d 20 73 6f 6d 65 20 74 79 70 65 73 20 6f 66 20 6e 6f 6e 2d 72 65 67 .read.from.some.types.of.non-reg
233e0 75 6c 61 72 20 66 69 6c 65 73 20 69 66 20 65 69 74 68 65 72 20 74 68 65 0a 6f 70 74 69 6f 6e 20 ular.files.if.either.the.option.
23400 40 73 61 6d 70 7b 2d 63 7d 20 6f 72 20 74 68 65 20 6f 70 74 69 6f 6e 20 40 73 61 6d 70 7b 2d 6f @samp{-c}.or.the.option.@samp{-o
23420 7d 20 69 73 20 73 70 65 63 69 66 69 65 64 2e 0a 0a 4c 7a 69 70 20 77 69 6c 6c 20 72 65 66 75 73 }.is.specified...Lzip.will.refus
23440 65 20 74 6f 20 72 65 61 64 20 63 6f 6d 70 72 65 73 73 65 64 20 64 61 74 61 20 66 72 6f 6d 20 61 e.to.read.compressed.data.from.a
23460 20 74 65 72 6d 69 6e 61 6c 20 6f 72 20 77 72 69 74 65 20 63 6f 6d 70 72 65 73 73 65 64 0a 64 61 .terminal.or.write.compressed.da
23480 74 61 20 74 6f 20 61 20 74 65 72 6d 69 6e 61 6c 2c 20 61 73 20 74 68 69 73 20 77 6f 75 6c 64 20 ta.to.a.terminal,.as.this.would.
234a0 62 65 20 65 6e 74 69 72 65 6c 79 20 69 6e 63 6f 6d 70 72 65 68 65 6e 73 69 62 6c 65 20 61 6e 64 be.entirely.incomprehensible.and
234c0 20 6d 69 67 68 74 0a 6c 65 61 76 65 20 74 68 65 20 74 65 72 6d 69 6e 61 6c 20 69 6e 20 61 6e 20 .might.leave.the.terminal.in.an.
234e0 61 62 6e 6f 72 6d 61 6c 20 73 74 61 74 65 2e 0a 0a 4c 7a 69 70 20 77 69 6c 6c 20 63 6f 72 72 65 abnormal.state...Lzip.will.corre
23500 63 74 6c 79 20 64 65 63 6f 6d 70 72 65 73 73 20 61 20 66 69 6c 65 20 77 68 69 63 68 20 69 73 20 ctly.decompress.a.file.which.is.
23520 74 68 65 20 63 6f 6e 63 61 74 65 6e 61 74 69 6f 6e 20 6f 66 20 74 77 6f 20 6f 72 0a 6d 6f 72 65 the.concatenation.of.two.or.more
23540 20 63 6f 6d 70 72 65 73 73 65 64 20 66 69 6c 65 73 2e 20 54 68 65 20 72 65 73 75 6c 74 20 69 73 .compressed.files..The.result.is
23560 20 74 68 65 20 63 6f 6e 63 61 74 65 6e 61 74 69 6f 6e 20 6f 66 20 74 68 65 20 63 6f 72 72 65 73 .the.concatenation.of.the.corres
23580 70 6f 6e 64 69 6e 67 0a 64 65 63 6f 6d 70 72 65 73 73 65 64 20 66 69 6c 65 73 2e 20 49 6e 74 65 ponding.decompressed.files..Inte
235a0 67 72 69 74 79 20 74 65 73 74 69 6e 67 20 6f 66 20 63 6f 6e 63 61 74 65 6e 61 74 65 64 20 63 6f grity.testing.of.concatenated.co
235c0 6d 70 72 65 73 73 65 64 20 66 69 6c 65 73 20 69 73 0a 61 6c 73 6f 20 73 75 70 70 6f 72 74 65 64 mpressed.files.is.also.supported
235e0 2e 0a 0a 4c 7a 69 70 20 63 61 6e 20 70 72 6f 64 75 63 65 20 6d 75 6c 74 69 6d 65 6d 62 65 72 20 ...Lzip.can.produce.multimember.
23600 66 69 6c 65 73 2c 20 61 6e 64 20 6c 7a 69 70 72 65 63 6f 76 65 72 20 63 61 6e 20 73 61 66 65 6c files,.and.lziprecover.can.safel
23620 79 20 72 65 63 6f 76 65 72 20 74 68 65 0a 75 6e 64 61 6d 61 67 65 64 20 6d 65 6d 62 65 72 73 20 y.recover.the.undamaged.members.
23640 69 6e 20 63 61 73 65 20 6f 66 20 66 69 6c 65 20 64 61 6d 61 67 65 2e 20 4c 7a 69 70 20 63 61 6e in.case.of.file.damage..Lzip.can
23660 20 61 6c 73 6f 20 73 70 6c 69 74 20 74 68 65 20 63 6f 6d 70 72 65 73 73 65 64 0a 6f 75 74 70 75 .also.split.the.compressed.outpu
23680 74 20 69 6e 20 76 6f 6c 75 6d 65 73 20 6f 66 20 61 20 67 69 76 65 6e 20 73 69 7a 65 2c 20 65 76 t.in.volumes.of.a.given.size,.ev
236a0 65 6e 20 77 68 65 6e 20 72 65 61 64 69 6e 67 20 66 72 6f 6d 20 73 74 61 6e 64 61 72 64 20 69 6e en.when.reading.from.standard.in
236c0 70 75 74 2e 0a 54 68 69 73 20 61 6c 6c 6f 77 73 20 74 68 65 20 64 69 72 65 63 74 20 63 72 65 61 put..This.allows.the.direct.crea
236e0 74 69 6f 6e 20 6f 66 20 6d 75 6c 74 69 76 6f 6c 75 6d 65 20 63 6f 6d 70 72 65 73 73 65 64 20 74 tion.of.multivolume.compressed.t
23700 61 72 20 61 72 63 68 69 76 65 73 2e 0a 0a 4c 7a 69 70 20 69 73 20 61 62 6c 65 20 74 6f 20 63 6f ar.archives...Lzip.is.able.to.co
23720 6d 70 72 65 73 73 20 61 6e 64 20 64 65 63 6f 6d 70 72 65 73 73 20 73 74 72 65 61 6d 73 20 6f 66 mpress.and.decompress.streams.of
23740 20 75 6e 6c 69 6d 69 74 65 64 20 73 69 7a 65 20 62 79 0a 61 75 74 6f 6d 61 74 69 63 61 6c 6c 79 .unlimited.size.by.automatically
23760 20 63 72 65 61 74 69 6e 67 20 6d 75 6c 74 69 6d 65 6d 62 65 72 20 6f 75 74 70 75 74 2e 20 54 68 .creating.multimember.output..Th
23780 65 20 6d 65 6d 62 65 72 73 20 73 6f 20 63 72 65 61 74 65 64 20 61 72 65 20 6c 61 72 67 65 2c 0a e.members.so.created.are.large,.
237a0 61 62 6f 75 74 20 40 77 7b 32 20 50 69 42 7d 20 65 61 63 68 2e 0a 0a 0a 40 6e 6f 64 65 20 4f 75 about.@w{2.PiB}.each....@node.Ou
237c0 74 70 75 74 0a 40 63 68 61 70 74 65 72 20 4d 65 61 6e 69 6e 67 20 6f 66 20 6c 7a 69 70 27 73 20 tput.@chapter.Meaning.of.lzip's.
237e0 6f 75 74 70 75 74 0a 40 63 69 6e 64 65 78 20 6f 75 74 70 75 74 0a 0a 54 68 65 20 6f 75 74 70 75 output.@cindex.output..The.outpu
23800 74 20 6f 66 20 6c 7a 69 70 20 6c 6f 6f 6b 73 20 6c 69 6b 65 20 74 68 69 73 3a 0a 0a 40 65 78 61 t.of.lzip.looks.like.this:..@exa
23820 6d 70 6c 65 0a 6c 7a 69 70 20 2d 76 20 66 6f 6f 0a 20 20 66 6f 6f 3a 20 20 36 2e 36 37 36 3a 31 mple.lzip.-v.foo...foo:..6.676:1
23840 2c 20 31 34 2e 39 38 25 20 72 61 74 69 6f 2c 20 38 35 2e 30 32 25 20 73 61 76 65 64 2c 20 34 35 ,.14.98%.ratio,.85.02%.saved,.45
23860 30 35 36 30 20 69 6e 2c 20 36 37 34 39 33 20 6f 75 74 2e 0a 0a 6c 7a 69 70 20 2d 74 76 76 76 20 0560.in,.67493.out...lzip.-tvvv.
23880 66 6f 6f 2e 6c 7a 0a 20 20 66 6f 6f 2e 6c 7a 3a 20 20 36 2e 36 37 36 3a 31 2c 20 31 34 2e 39 38 foo.lz...foo.lz:..6.676:1,.14.98
238a0 25 20 72 61 74 69 6f 2c 20 38 35 2e 30 32 25 20 73 61 76 65 64 2e 20 20 34 35 30 35 36 30 20 6f %.ratio,.85.02%.saved...450560.o
238c0 75 74 2c 20 20 36 37 34 39 33 20 69 6e 2e 20 6f 6b 0a 40 65 6e 64 20 65 78 61 6d 70 6c 65 0a 0a ut,..67493.in..ok.@end.example..
238e0 54 68 65 20 6d 65 61 6e 69 6e 67 20 6f 66 20 65 61 63 68 20 66 69 65 6c 64 20 69 73 20 61 73 20 The.meaning.of.each.field.is.as.
23900 66 6f 6c 6c 6f 77 73 3a 0a 0a 40 74 61 62 6c 65 20 40 63 6f 64 65 0a 40 69 74 65 6d 20 4e 3a 31 follows:..@table.@code.@item.N:1
23920 0a 54 68 65 20 63 6f 6d 70 72 65 73 73 69 6f 6e 20 72 61 74 69 6f 20 40 77 7b 28 75 6e 63 6f 6d .The.compression.ratio.@w{(uncom
23940 70 72 65 73 73 65 64 5f 73 69 7a 65 20 2f 20 63 6f 6d 70 72 65 73 73 65 64 5f 73 69 7a 65 29 7d pressed_size./.compressed_size)}
23960 2c 20 73 68 6f 77 6e 20 61 73 0a 40 77 7b 4e 20 74 6f 20 31 7d 2e 0a 0a 40 69 74 65 6d 20 72 61 ,.shown.as.@w{N.to.1}...@item.ra
23980 74 69 6f 0a 54 68 65 20 69 6e 76 65 72 73 65 20 63 6f 6d 70 72 65 73 73 69 6f 6e 20 72 61 74 69 tio.The.inverse.compression.rati
239a0 6f 20 40 77 7b 28 63 6f 6d 70 72 65 73 73 65 64 5f 73 69 7a 65 20 2f 20 75 6e 63 6f 6d 70 72 65 o.@w{(compressed_size./.uncompre
239c0 73 73 65 64 5f 73 69 7a 65 29 7d 2c 0a 73 68 6f 77 6e 20 61 73 20 61 20 70 65 72 63 65 6e 74 61 ssed_size)},.shown.as.a.percenta
239e0 67 65 2e 20 41 20 64 65 63 69 6d 61 6c 20 72 61 74 69 6f 20 69 73 20 65 61 73 69 6c 79 20 6f 62 ge..A.decimal.ratio.is.easily.ob
23a00 74 61 69 6e 65 64 20 62 79 20 6d 6f 76 69 6e 67 20 74 68 65 0a 64 65 63 69 6d 61 6c 20 70 6f 69 tained.by.moving.the.decimal.poi
23a20 6e 74 20 74 77 6f 20 70 6c 61 63 65 73 20 74 6f 20 74 68 65 20 6c 65 66 74 3b 20 40 77 7b 31 34 nt.two.places.to.the.left;.@w{14
23a40 2e 39 38 25 20 3d 20 30 2e 31 34 39 38 7d 2e 0a 0a 40 69 74 65 6d 20 73 61 76 65 64 0a 54 68 65 .98%.=.0.1498}...@item.saved.The
23a60 20 73 70 61 63 65 20 73 61 76 65 64 20 62 79 20 63 6f 6d 70 72 65 73 73 69 6f 6e 20 40 77 7b 28 .space.saved.by.compression.@w{(
23a80 31 20 2d 20 72 61 74 69 6f 29 7d 2c 20 73 68 6f 77 6e 20 61 73 20 61 20 70 65 72 63 65 6e 74 61 1.-.ratio)},.shown.as.a.percenta
23aa0 67 65 2e 0a 0a 40 69 74 65 6d 20 69 6e 0a 53 69 7a 65 20 6f 66 20 74 68 65 20 69 6e 70 75 74 20 ge...@item.in.Size.of.the.input.
23ac0 64 61 74 61 2e 20 54 68 69 73 20 69 73 20 74 68 65 20 75 6e 63 6f 6d 70 72 65 73 73 65 64 20 73 data..This.is.the.uncompressed.s
23ae0 69 7a 65 20 77 68 65 6e 20 63 6f 6d 70 72 65 73 73 69 6e 67 2c 20 6f 72 0a 74 68 65 20 63 6f 6d ize.when.compressing,.or.the.com
23b00 70 72 65 73 73 65 64 20 73 69 7a 65 20 77 68 65 6e 20 64 65 63 6f 6d 70 72 65 73 73 69 6e 67 20 pressed.size.when.decompressing.
23b20 6f 72 20 74 65 73 74 69 6e 67 2e 20 4e 6f 74 65 20 74 68 61 74 20 6c 7a 69 70 20 61 6c 77 61 79 or.testing..Note.that.lzip.alway
23b40 73 0a 70 72 69 6e 74 73 20 74 68 65 20 75 6e 63 6f 6d 70 72 65 73 73 65 64 20 73 69 7a 65 20 62 s.prints.the.uncompressed.size.b
23b60 65 66 6f 72 65 20 74 68 65 20 63 6f 6d 70 72 65 73 73 65 64 20 73 69 7a 65 20 77 68 65 6e 20 63 efore.the.compressed.size.when.c
23b80 6f 6d 70 72 65 73 73 69 6e 67 2c 0a 64 65 63 6f 6d 70 72 65 73 73 69 6e 67 2c 20 74 65 73 74 69 ompressing,.decompressing,.testi
23ba0 6e 67 2c 20 6f 72 20 6c 69 73 74 69 6e 67 2e 0a 0a 40 69 74 65 6d 20 6f 75 74 0a 53 69 7a 65 20 ng,.or.listing...@item.out.Size.
23bc0 6f 66 20 74 68 65 20 6f 75 74 70 75 74 20 64 61 74 61 2e 20 54 68 69 73 20 69 73 20 74 68 65 20 of.the.output.data..This.is.the.
23be0 63 6f 6d 70 72 65 73 73 65 64 20 73 69 7a 65 20 77 68 65 6e 20 63 6f 6d 70 72 65 73 73 69 6e 67 compressed.size.when.compressing
23c00 2c 20 6f 72 0a 74 68 65 20 64 65 63 6f 6d 70 72 65 73 73 65 64 20 73 69 7a 65 20 77 68 65 6e 20 ,.or.the.decompressed.size.when.
23c20 64 65 63 6f 6d 70 72 65 73 73 69 6e 67 20 6f 72 20 74 65 73 74 69 6e 67 2e 0a 0a 40 65 6e 64 20 decompressing.or.testing...@end.
23c40 74 61 62 6c 65 0a 0a 57 68 65 6e 20 64 65 63 6f 6d 70 72 65 73 73 69 6e 67 20 6f 72 20 74 65 73 table..When.decompressing.or.tes
23c60 74 69 6e 67 20 61 74 20 76 65 72 62 6f 73 69 74 79 20 6c 65 76 65 6c 20 34 20 28 2d 76 76 76 76 ting.at.verbosity.level.4.(-vvvv
23c80 29 2c 20 74 68 65 20 64 69 63 74 69 6f 6e 61 72 79 0a 73 69 7a 65 20 75 73 65 64 20 74 6f 20 63 ),.the.dictionary.size.used.to.c
23ca0 6f 6d 70 72 65 73 73 20 74 68 65 20 66 69 6c 65 20 61 6e 64 20 74 68 65 20 43 52 43 33 32 20 6f ompress.the.file.and.the.CRC32.o
23cc0 66 20 74 68 65 20 75 6e 63 6f 6d 70 72 65 73 73 65 64 20 64 61 74 61 20 61 72 65 0a 61 6c 73 6f f.the.uncompressed.data.are.also
23ce0 20 73 68 6f 77 6e 2e 0a 0a 4c 41 4e 47 55 41 47 45 20 4e 4f 54 45 3a 20 55 6e 63 6f 6d 70 72 65 .shown...LANGUAGE.NOTE:.Uncompre
23d00 73 73 65 64 20 3d 20 6e 6f 74 20 63 6f 6d 70 72 65 73 73 65 64 20 3d 20 70 6c 61 69 6e 20 64 61 ssed.=.not.compressed.=.plain.da
23d20 74 61 3b 20 69 74 20 6d 61 79 20 6e 65 76 65 72 20 68 61 76 65 0a 62 65 65 6e 20 63 6f 6d 70 72 ta;.it.may.never.have.been.compr
23d40 65 73 73 65 64 2e 20 44 65 63 6f 6d 70 72 65 73 73 65 64 20 69 73 20 75 73 65 64 20 74 6f 20 72 essed..Decompressed.is.used.to.r
23d60 65 66 65 72 20 74 6f 20 64 61 74 61 20 77 68 69 63 68 20 68 61 76 65 20 75 6e 64 65 72 67 6f 6e efer.to.data.which.have.undergon
23d80 65 0a 74 68 65 20 70 72 6f 63 65 73 73 20 6f 66 20 64 65 63 6f 6d 70 72 65 73 73 69 6f 6e 2e 0a e.the.process.of.decompression..
23da0 0a 0a 40 6e 6f 64 65 20 49 6e 76 6f 6b 69 6e 67 20 6c 7a 69 70 0a 40 63 68 61 70 74 65 72 20 49 ..@node.Invoking.lzip.@chapter.I
23dc0 6e 76 6f 6b 69 6e 67 20 6c 7a 69 70 0a 40 63 69 6e 64 65 78 20 69 6e 76 6f 6b 69 6e 67 0a 40 63 nvoking.lzip.@cindex.invoking.@c
23de0 69 6e 64 65 78 20 6f 70 74 69 6f 6e 73 0a 40 63 69 6e 64 65 78 20 75 73 61 67 65 0a 40 63 69 6e index.options.@cindex.usage.@cin
23e00 64 65 78 20 76 65 72 73 69 6f 6e 0a 0a 54 68 65 20 66 6f 72 6d 61 74 20 66 6f 72 20 72 75 6e 6e dex.version..The.format.for.runn
23e20 69 6e 67 20 6c 7a 69 70 20 69 73 3a 0a 0a 40 65 78 61 6d 70 6c 65 0a 6c 7a 69 70 20 5b 40 76 61 ing.lzip.is:..@example.lzip.[@va
23e40 72 7b 6f 70 74 69 6f 6e 73 7d 5d 20 5b 40 76 61 72 7b 66 69 6c 65 73 7d 5d 0a 40 65 6e 64 20 65 r{options}].[@var{files}].@end.e
23e60 78 61 6d 70 6c 65 0a 0a 40 6e 6f 69 6e 64 65 6e 74 0a 49 66 20 6e 6f 20 66 69 6c 65 20 6e 61 6d xample..@noindent.If.no.file.nam
23e80 65 73 20 61 72 65 20 73 70 65 63 69 66 69 65 64 2c 20 6c 7a 69 70 20 63 6f 6d 70 72 65 73 73 65 es.are.specified,.lzip.compresse
23ea0 73 20 28 6f 72 20 64 65 63 6f 6d 70 72 65 73 73 65 73 29 20 66 72 6f 6d 0a 73 74 61 6e 64 61 72 s.(or.decompresses).from.standar
23ec0 64 20 69 6e 70 75 74 20 74 6f 20 73 74 61 6e 64 61 72 64 20 6f 75 74 70 75 74 2e 20 41 20 68 79 d.input.to.standard.output..A.hy
23ee0 70 68 65 6e 20 40 73 61 6d 70 7b 2d 7d 20 75 73 65 64 20 61 73 20 61 20 40 76 61 72 7b 66 69 6c phen.@samp{-}.used.as.a.@var{fil
23f00 65 7d 0a 61 72 67 75 6d 65 6e 74 20 6d 65 61 6e 73 20 73 74 61 6e 64 61 72 64 20 69 6e 70 75 74 e}.argument.means.standard.input
23f20 2e 20 49 74 20 63 61 6e 20 62 65 20 6d 69 78 65 64 20 77 69 74 68 20 6f 74 68 65 72 20 40 76 61 ..It.can.be.mixed.with.other.@va
23f40 72 7b 66 69 6c 65 73 7d 20 61 6e 64 20 69 73 0a 72 65 61 64 20 6a 75 73 74 20 6f 6e 63 65 2c 20 r{files}.and.is.read.just.once,.
23f60 74 68 65 20 66 69 72 73 74 20 74 69 6d 65 20 69 74 20 61 70 70 65 61 72 73 20 69 6e 20 74 68 65 the.first.time.it.appears.in.the
23f80 20 63 6f 6d 6d 61 6e 64 20 6c 69 6e 65 2e 0a 0a 6c 7a 69 70 20 73 75 70 70 6f 72 74 73 20 74 68 .command.line...lzip.supports.th
23fa0 65 20 66 6f 6c 6c 6f 77 69 6e 67 0a 40 75 72 65 66 7b 68 74 74 70 3a 2f 2f 77 77 77 2e 6e 6f 6e e.following.@uref{http://www.non
23fc0 67 6e 75 2e 6f 72 67 2f 61 72 67 2d 70 61 72 73 65 72 2f 6d 61 6e 75 61 6c 2f 61 72 67 5f 70 61 gnu.org/arg-parser/manual/arg_pa
23fe0 72 73 65 72 5f 6d 61 6e 75 61 6c 2e 68 74 6d 6c 23 41 72 67 75 6d 65 6e 74 2d 73 79 6e 74 61 78 rser_manual.html#Argument-syntax
24000 2c 2c 6f 70 74 69 6f 6e 73 7d 3a 0a 40 69 66 6e 6f 74 68 74 6d 6c 0a 40 78 72 65 66 7b 41 72 67 ,,options}:.@ifnothtml.@xref{Arg
24020 75 6d 65 6e 74 20 73 79 6e 74 61 78 2c 2c 2c 61 72 67 5f 70 61 72 73 65 72 7d 2e 0a 40 65 6e 64 ument.syntax,,,arg_parser}..@end
24040 20 69 66 6e 6f 74 68 74 6d 6c 0a 0a 40 74 61 62 6c 65 20 40 63 6f 64 65 0a 40 69 74 65 6d 20 2d .ifnothtml..@table.@code.@item.-
24060 68 0a 40 69 74 65 6d 78 20 2d 2d 68 65 6c 70 0a 50 72 69 6e 74 20 61 6e 20 69 6e 66 6f 72 6d 61 h.@itemx.--help.Print.an.informa
24080 74 69 76 65 20 68 65 6c 70 20 6d 65 73 73 61 67 65 20 64 65 73 63 72 69 62 69 6e 67 20 74 68 65 tive.help.message.describing.the
240a0 20 6f 70 74 69 6f 6e 73 20 61 6e 64 20 65 78 69 74 2e 0a 0a 40 69 74 65 6d 20 2d 56 0a 40 69 74 .options.and.exit...@item.-V.@it
240c0 65 6d 78 20 2d 2d 76 65 72 73 69 6f 6e 0a 50 72 69 6e 74 20 74 68 65 20 76 65 72 73 69 6f 6e 20 emx.--version.Print.the.version.
240e0 6e 75 6d 62 65 72 20 6f 66 20 6c 7a 69 70 20 6f 6e 20 74 68 65 20 73 74 61 6e 64 61 72 64 20 6f number.of.lzip.on.the.standard.o
24100 75 74 70 75 74 20 61 6e 64 20 65 78 69 74 2e 0a 54 68 69 73 20 76 65 72 73 69 6f 6e 20 6e 75 6d utput.and.exit..This.version.num
24120 62 65 72 20 73 68 6f 75 6c 64 20 62 65 20 69 6e 63 6c 75 64 65 64 20 69 6e 20 61 6c 6c 20 62 75 ber.should.be.included.in.all.bu
24140 67 20 72 65 70 6f 72 74 73 2e 0a 0a 40 61 6e 63 68 6f 72 7b 2d 2d 74 72 61 69 6c 69 6e 67 2d 65 g.reports...@anchor{--trailing-e
24160 72 72 6f 72 7d 0a 40 69 74 65 6d 20 2d 61 0a 40 69 74 65 6d 78 20 2d 2d 74 72 61 69 6c 69 6e 67 rror}.@item.-a.@itemx.--trailing
24180 2d 65 72 72 6f 72 0a 45 78 69 74 20 77 69 74 68 20 65 72 72 6f 72 20 73 74 61 74 75 73 20 32 20 -error.Exit.with.error.status.2.
241a0 69 66 20 61 6e 79 20 72 65 6d 61 69 6e 69 6e 67 20 69 6e 70 75 74 20 69 73 20 64 65 74 65 63 74 if.any.remaining.input.is.detect
241c0 65 64 20 61 66 74 65 72 0a 64 65 63 6f 6d 70 72 65 73 73 69 6e 67 20 74 68 65 20 6c 61 73 74 20 ed.after.decompressing.the.last.
241e0 6d 65 6d 62 65 72 2e 20 53 75 63 68 20 72 65 6d 61 69 6e 69 6e 67 20 69 6e 70 75 74 20 69 73 20 member..Such.remaining.input.is.
24200 75 73 75 61 6c 6c 79 20 74 72 61 69 6c 69 6e 67 0a 67 61 72 62 61 67 65 20 74 68 61 74 20 63 61 usually.trailing.garbage.that.ca
24220 6e 20 62 65 20 73 61 66 65 6c 79 20 69 67 6e 6f 72 65 64 2e 20 40 78 72 65 66 7b 63 6f 6e 63 61 n.be.safely.ignored..@xref{conca
24240 74 2d 65 78 61 6d 70 6c 65 7d 2e 0a 0a 40 69 74 65 6d 20 2d 62 20 40 76 61 72 7b 62 79 74 65 73 t-example}...@item.-b.@var{bytes
24260 7d 0a 40 69 74 65 6d 78 20 2d 2d 6d 65 6d 62 65 72 2d 73 69 7a 65 3d 40 76 61 72 7b 62 79 74 65 }.@itemx.--member-size=@var{byte
24280 73 7d 0a 57 68 65 6e 20 63 6f 6d 70 72 65 73 73 69 6e 67 2c 20 73 65 74 20 74 68 65 20 6d 65 6d s}.When.compressing,.set.the.mem
242a0 62 65 72 20 73 69 7a 65 20 6c 69 6d 69 74 20 74 6f 20 40 76 61 72 7b 62 79 74 65 73 7d 2e 20 49 ber.size.limit.to.@var{bytes}..I
242c0 74 20 69 73 20 61 64 76 69 73 61 62 6c 65 0a 74 6f 20 6b 65 65 70 20 6d 65 6d 62 65 72 73 20 73 t.is.advisable.to.keep.members.s
242e0 6d 61 6c 6c 65 72 20 74 68 61 6e 20 52 41 4d 20 73 69 7a 65 20 73 6f 20 74 68 61 74 20 74 68 65 maller.than.RAM.size.so.that.the
24300 79 20 63 61 6e 20 62 65 20 72 65 70 61 69 72 65 64 20 77 69 74 68 0a 6c 7a 69 70 72 65 63 6f 76 y.can.be.repaired.with.lziprecov
24320 65 72 20 69 6e 20 63 61 73 65 20 6f 66 20 63 6f 72 72 75 70 74 69 6f 6e 2e 20 41 20 73 6d 61 6c er.in.case.of.corruption..A.smal
24340 6c 20 6d 65 6d 62 65 72 20 73 69 7a 65 20 6d 61 79 20 64 65 67 72 61 64 65 0a 63 6f 6d 70 72 65 l.member.size.may.degrade.compre
24360 73 73 69 6f 6e 20 72 61 74 69 6f 2c 20 73 6f 20 75 73 65 20 69 74 20 6f 6e 6c 79 20 77 68 65 6e ssion.ratio,.so.use.it.only.when
24380 20 6e 65 65 64 65 64 2e 20 56 61 6c 69 64 20 76 61 6c 75 65 73 20 72 61 6e 67 65 20 66 72 6f 6d .needed..Valid.values.range.from
243a0 0a 40 77 7b 31 30 30 20 6b 42 7d 20 74 6f 20 40 77 7b 32 20 50 69 42 7d 2e 20 44 65 66 61 75 6c .@w{100.kB}.to.@w{2.PiB}..Defaul
243c0 74 73 20 74 6f 20 40 77 7b 32 20 50 69 42 7d 2e 0a 0a 40 69 74 65 6d 20 2d 63 0a 40 69 74 65 6d ts.to.@w{2.PiB}...@item.-c.@item
243e0 78 20 2d 2d 73 74 64 6f 75 74 0a 43 6f 6d 70 72 65 73 73 20 6f 72 20 64 65 63 6f 6d 70 72 65 73 x.--stdout.Compress.or.decompres
24400 73 20 74 6f 20 73 74 61 6e 64 61 72 64 20 6f 75 74 70 75 74 3b 20 6b 65 65 70 20 69 6e 70 75 74 s.to.standard.output;.keep.input
24420 20 66 69 6c 65 73 20 75 6e 63 68 61 6e 67 65 64 2e 20 49 66 0a 63 6f 6d 70 72 65 73 73 69 6e 67 .files.unchanged..If.compressing
24440 20 73 65 76 65 72 61 6c 20 66 69 6c 65 73 2c 20 65 61 63 68 20 66 69 6c 65 20 69 73 20 63 6f 6d .several.files,.each.file.is.com
24460 70 72 65 73 73 65 64 20 69 6e 64 65 70 65 6e 64 65 6e 74 6c 79 2e 20 28 54 68 65 0a 6f 75 74 70 pressed.independently..(The.outp
24480 75 74 20 63 6f 6e 73 69 73 74 73 20 6f 66 20 61 20 73 65 71 75 65 6e 63 65 20 6f 66 20 69 6e 64 ut.consists.of.a.sequence.of.ind
244a0 65 70 65 6e 64 65 6e 74 6c 79 20 63 6f 6d 70 72 65 73 73 65 64 20 6d 65 6d 62 65 72 73 29 2e 20 ependently.compressed.members)..
244c0 54 68 69 73 0a 6f 70 74 69 6f 6e 20 28 6f 72 20 40 73 61 6d 70 7b 2d 6f 7d 29 20 69 73 20 6e 65 This.option.(or.@samp{-o}).is.ne
244e0 65 64 65 64 20 77 68 65 6e 20 72 65 61 64 69 6e 67 20 66 72 6f 6d 20 61 20 6e 61 6d 65 64 20 70 eded.when.reading.from.a.named.p
24500 69 70 65 20 28 66 69 66 6f 29 20 6f 72 0a 66 72 6f 6d 20 61 20 64 65 76 69 63 65 2e 20 55 73 65 ipe.(fifo).or.from.a.device..Use
24520 20 69 74 20 61 6c 73 6f 20 74 6f 20 72 65 63 6f 76 65 72 20 61 73 20 6d 75 63 68 20 6f 66 20 74 .it.also.to.recover.as.much.of.t
24540 68 65 20 64 65 63 6f 6d 70 72 65 73 73 65 64 20 64 61 74 61 20 61 73 0a 70 6f 73 73 69 62 6c 65 he.decompressed.data.as.possible
24560 20 77 68 65 6e 20 64 65 63 6f 6d 70 72 65 73 73 69 6e 67 20 61 20 63 6f 72 72 75 70 74 20 66 69 .when.decompressing.a.corrupt.fi
24580 6c 65 2e 20 40 73 61 6d 70 7b 2d 63 7d 20 6f 76 65 72 72 69 64 65 73 20 40 73 61 6d 70 7b 2d 6f le..@samp{-c}.overrides.@samp{-o
245a0 7d 0a 61 6e 64 20 40 73 61 6d 70 7b 2d 53 7d 2e 20 40 73 61 6d 70 7b 2d 63 7d 20 68 61 73 20 6e }.and.@samp{-S}..@samp{-c}.has.n
245c0 6f 20 65 66 66 65 63 74 20 77 68 65 6e 20 74 65 73 74 69 6e 67 20 6f 72 20 6c 69 73 74 69 6e 67 o.effect.when.testing.or.listing
245e0 2e 0a 0a 40 69 74 65 6d 20 2d 64 0a 40 69 74 65 6d 78 20 2d 2d 64 65 63 6f 6d 70 72 65 73 73 0a ...@item.-d.@itemx.--decompress.
24600 44 65 63 6f 6d 70 72 65 73 73 20 74 68 65 20 66 69 6c 65 73 20 73 70 65 63 69 66 69 65 64 2e 20 Decompress.the.files.specified..
24620 49 66 20 61 20 66 69 6c 65 20 64 6f 65 73 20 6e 6f 74 20 65 78 69 73 74 20 6f 72 20 63 61 6e 27 If.a.file.does.not.exist.or.can'
24640 74 20 62 65 0a 6f 70 65 6e 65 64 2c 20 6c 7a 69 70 20 63 6f 6e 74 69 6e 75 65 73 20 64 65 63 6f t.be.opened,.lzip.continues.deco
24660 6d 70 72 65 73 73 69 6e 67 20 74 68 65 20 72 65 73 74 20 6f 66 20 74 68 65 20 66 69 6c 65 73 2e mpressing.the.rest.of.the.files.
24680 20 49 66 20 61 20 66 69 6c 65 0a 66 61 69 6c 73 20 74 6f 20 64 65 63 6f 6d 70 72 65 73 73 2c 20 .If.a.file.fails.to.decompress,.
246a0 6f 72 20 69 73 20 61 20 74 65 72 6d 69 6e 61 6c 2c 20 6c 7a 69 70 20 65 78 69 74 73 20 69 6d 6d or.is.a.terminal,.lzip.exits.imm
246c0 65 64 69 61 74 65 6c 79 20 77 69 74 68 6f 75 74 0a 64 65 63 6f 6d 70 72 65 73 73 69 6e 67 20 74 ediately.without.decompressing.t
246e0 68 65 20 72 65 73 74 20 6f 66 20 74 68 65 20 66 69 6c 65 73 2e 0a 0a 40 69 74 65 6d 20 2d 66 0a he.rest.of.the.files...@item.-f.
24700 40 69 74 65 6d 78 20 2d 2d 66 6f 72 63 65 0a 46 6f 72 63 65 20 6f 76 65 72 77 72 69 74 65 20 6f @itemx.--force.Force.overwrite.o
24720 66 20 6f 75 74 70 75 74 20 66 69 6c 65 73 2e 0a 0a 40 69 74 65 6d 20 2d 46 0a 40 69 74 65 6d 78 f.output.files...@item.-F.@itemx
24740 20 2d 2d 72 65 63 6f 6d 70 72 65 73 73 0a 57 68 65 6e 20 63 6f 6d 70 72 65 73 73 69 6e 67 2c 20 .--recompress.When.compressing,.
24760 66 6f 72 63 65 20 72 65 2d 63 6f 6d 70 72 65 73 73 69 6f 6e 20 6f 66 20 66 69 6c 65 73 20 77 68 force.re-compression.of.files.wh
24780 6f 73 65 20 6e 61 6d 65 20 61 6c 72 65 61 64 79 20 68 61 73 0a 74 68 65 20 40 73 61 6d 70 7b 2e ose.name.already.has.the.@samp{.
247a0 6c 7a 7d 20 6f 72 20 40 73 61 6d 70 7b 2e 74 6c 7a 7d 20 73 75 66 66 69 78 2e 0a 0a 40 69 74 65 lz}.or.@samp{.tlz}.suffix...@ite
247c0 6d 20 2d 6b 0a 40 69 74 65 6d 78 20 2d 2d 6b 65 65 70 0a 4b 65 65 70 20 28 64 6f 6e 27 74 20 64 m.-k.@itemx.--keep.Keep.(don't.d
247e0 65 6c 65 74 65 29 20 69 6e 70 75 74 20 66 69 6c 65 73 20 64 75 72 69 6e 67 20 63 6f 6d 70 72 65 elete).input.files.during.compre
24800 73 73 69 6f 6e 20 6f 72 20 64 65 63 6f 6d 70 72 65 73 73 69 6f 6e 2e 0a 0a 40 69 74 65 6d 20 2d ssion.or.decompression...@item.-
24820 6c 0a 40 69 74 65 6d 78 20 2d 2d 6c 69 73 74 0a 50 72 69 6e 74 20 74 68 65 20 75 6e 63 6f 6d 70 l.@itemx.--list.Print.the.uncomp
24840 72 65 73 73 65 64 20 73 69 7a 65 2c 20 63 6f 6d 70 72 65 73 73 65 64 20 73 69 7a 65 2c 20 61 6e ressed.size,.compressed.size,.an
24860 64 20 70 65 72 63 65 6e 74 61 67 65 20 73 61 76 65 64 20 6f 66 20 74 68 65 0a 66 69 6c 65 73 20 d.percentage.saved.of.the.files.
24880 73 70 65 63 69 66 69 65 64 2e 20 54 72 61 69 6c 69 6e 67 20 64 61 74 61 20 61 72 65 20 69 67 6e specified..Trailing.data.are.ign
248a0 6f 72 65 64 2e 20 54 68 65 20 76 61 6c 75 65 73 20 70 72 6f 64 75 63 65 64 20 61 72 65 20 63 6f ored..The.values.produced.are.co
248c0 72 72 65 63 74 0a 65 76 65 6e 20 66 6f 72 20 6d 75 6c 74 69 6d 65 6d 62 65 72 20 66 69 6c 65 73 rrect.even.for.multimember.files
248e0 2e 20 49 66 20 6d 6f 72 65 20 74 68 61 6e 20 6f 6e 65 20 66 69 6c 65 20 69 73 20 67 69 76 65 6e ..If.more.than.one.file.is.given
24900 2c 20 61 20 66 69 6e 61 6c 20 6c 69 6e 65 0a 63 6f 6e 74 61 69 6e 69 6e 67 20 74 68 65 20 63 75 ,.a.final.line.containing.the.cu
24920 6d 75 6c 61 74 69 76 65 20 73 69 7a 65 73 20 69 73 20 70 72 69 6e 74 65 64 2e 20 57 69 74 68 20 mulative.sizes.is.printed..With.
24940 40 73 61 6d 70 7b 2d 76 7d 2c 20 74 68 65 20 64 69 63 74 69 6f 6e 61 72 79 0a 73 69 7a 65 2c 20 @samp{-v},.the.dictionary.size,.
24960 74 68 65 20 6e 75 6d 62 65 72 20 6f 66 20 6d 65 6d 62 65 72 73 20 69 6e 20 74 68 65 20 66 69 6c the.number.of.members.in.the.fil
24980 65 2c 20 61 6e 64 20 74 68 65 20 61 6d 6f 75 6e 74 20 6f 66 20 74 72 61 69 6c 69 6e 67 20 64 61 e,.and.the.amount.of.trailing.da
249a0 74 61 20 28 69 66 0a 61 6e 79 29 20 61 72 65 20 61 6c 73 6f 20 70 72 69 6e 74 65 64 2e 20 57 69 ta.(if.any).are.also.printed..Wi
249c0 74 68 20 40 73 61 6d 70 7b 2d 76 76 7d 2c 20 74 68 65 20 70 6f 73 69 74 69 6f 6e 73 20 61 6e 64 th.@samp{-vv},.the.positions.and
249e0 20 73 69 7a 65 73 20 6f 66 20 65 61 63 68 0a 6d 65 6d 62 65 72 20 69 6e 20 6d 75 6c 74 69 6d 65 .sizes.of.each.member.in.multime
24a00 6d 62 65 72 20 66 69 6c 65 73 20 61 72 65 20 61 6c 73 6f 20 70 72 69 6e 74 65 64 2e 0a 0a 40 73 mber.files.are.also.printed...@s
24a20 61 6d 70 7b 2d 6c 71 7d 20 63 61 6e 20 62 65 20 75 73 65 64 20 74 6f 20 76 65 72 69 66 79 20 71 amp{-lq}.can.be.used.to.verify.q
24a40 75 69 63 6b 6c 79 20 28 77 69 74 68 6f 75 74 20 64 65 63 6f 6d 70 72 65 73 73 69 6e 67 29 20 74 uickly.(without.decompressing).t
24a60 68 65 0a 73 74 72 75 63 74 75 72 61 6c 20 69 6e 74 65 67 72 69 74 79 20 6f 66 20 74 68 65 20 66 he.structural.integrity.of.the.f
24a80 69 6c 65 73 20 73 70 65 63 69 66 69 65 64 2e 20 28 55 73 65 20 40 73 61 6d 70 7b 2d 2d 74 65 73 iles.specified..(Use.@samp{--tes
24aa0 74 7d 20 74 6f 20 76 65 72 69 66 79 0a 74 68 65 20 64 61 74 61 20 69 6e 74 65 67 72 69 74 79 29 t}.to.verify.the.data.integrity)
24ac0 2e 20 40 73 61 6d 70 7b 2d 61 6c 71 7d 20 61 64 64 69 74 69 6f 6e 61 6c 6c 79 20 76 65 72 69 66 ..@samp{-alq}.additionally.verif
24ae0 69 65 73 20 74 68 61 74 20 6e 6f 6e 65 20 6f 66 20 74 68 65 0a 66 69 6c 65 73 20 73 70 65 63 69 ies.that.none.of.the.files.speci
24b00 66 69 65 64 20 63 6f 6e 74 61 69 6e 20 74 72 61 69 6c 69 6e 67 20 64 61 74 61 2e 0a 0a 40 69 74 fied.contain.trailing.data...@it
24b20 65 6d 20 2d 6d 20 40 76 61 72 7b 62 79 74 65 73 7d 0a 40 69 74 65 6d 78 20 2d 2d 6d 61 74 63 68 em.-m.@var{bytes}.@itemx.--match
24b40 2d 6c 65 6e 67 74 68 3d 40 76 61 72 7b 62 79 74 65 73 7d 0a 57 68 65 6e 20 63 6f 6d 70 72 65 73 -length=@var{bytes}.When.compres
24b60 73 69 6e 67 2c 20 73 65 74 20 74 68 65 20 6d 61 74 63 68 20 6c 65 6e 67 74 68 20 6c 69 6d 69 74 sing,.set.the.match.length.limit
24b80 20 69 6e 20 62 79 74 65 73 2e 20 41 66 74 65 72 20 61 20 6d 61 74 63 68 0a 74 68 69 73 20 6c 6f .in.bytes..After.a.match.this.lo
24ba0 6e 67 20 69 73 20 66 6f 75 6e 64 2c 20 74 68 65 20 73 65 61 72 63 68 20 69 73 20 66 69 6e 69 73 ng.is.found,.the.search.is.finis
24bc0 68 65 64 2e 20 56 61 6c 69 64 20 76 61 6c 75 65 73 20 72 61 6e 67 65 20 66 72 6f 6d 20 35 20 74 hed..Valid.values.range.from.5.t
24be0 6f 0a 32 37 33 2e 20 4c 61 72 67 65 72 20 76 61 6c 75 65 73 20 75 73 75 61 6c 6c 79 20 67 69 76 o.273..Larger.values.usually.giv
24c00 65 20 62 65 74 74 65 72 20 63 6f 6d 70 72 65 73 73 69 6f 6e 20 72 61 74 69 6f 73 20 62 75 74 20 e.better.compression.ratios.but.
24c20 6c 6f 6e 67 65 72 0a 63 6f 6d 70 72 65 73 73 69 6f 6e 20 74 69 6d 65 73 2e 0a 0a 40 69 74 65 6d longer.compression.times...@item
24c40 20 2d 6f 20 40 76 61 72 7b 66 69 6c 65 7d 0a 40 69 74 65 6d 78 20 2d 2d 6f 75 74 70 75 74 3d 40 .-o.@var{file}.@itemx.--output=@
24c60 76 61 72 7b 66 69 6c 65 7d 0a 49 66 20 40 73 61 6d 70 7b 2d 63 7d 20 68 61 73 20 6e 6f 74 20 62 var{file}.If.@samp{-c}.has.not.b
24c80 65 65 6e 20 61 6c 73 6f 20 73 70 65 63 69 66 69 65 64 2c 20 77 72 69 74 65 20 74 68 65 20 28 64 een.also.specified,.write.the.(d
24ca0 65 29 63 6f 6d 70 72 65 73 73 65 64 20 6f 75 74 70 75 74 20 74 6f 0a 40 76 61 72 7b 66 69 6c 65 e)compressed.output.to.@var{file
24cc0 7d 3b 20 6b 65 65 70 20 69 6e 70 75 74 20 66 69 6c 65 73 20 75 6e 63 68 61 6e 67 65 64 2e 20 49 };.keep.input.files.unchanged..I
24ce0 66 20 63 6f 6d 70 72 65 73 73 69 6e 67 20 73 65 76 65 72 61 6c 20 66 69 6c 65 73 2c 20 65 61 63 f.compressing.several.files,.eac
24d00 68 0a 66 69 6c 65 20 69 73 20 63 6f 6d 70 72 65 73 73 65 64 20 69 6e 64 65 70 65 6e 64 65 6e 74 h.file.is.compressed.independent
24d20 6c 79 2e 20 28 54 68 65 20 6f 75 74 70 75 74 20 63 6f 6e 73 69 73 74 73 20 6f 66 20 61 20 73 65 ly..(The.output.consists.of.a.se
24d40 71 75 65 6e 63 65 20 6f 66 0a 69 6e 64 65 70 65 6e 64 65 6e 74 6c 79 20 63 6f 6d 70 72 65 73 73 quence.of.independently.compress
24d60 65 64 20 6d 65 6d 62 65 72 73 29 2e 20 54 68 69 73 20 6f 70 74 69 6f 6e 20 28 6f 72 20 40 73 61 ed.members)..This.option.(or.@sa
24d80 6d 70 7b 2d 63 7d 29 20 69 73 20 6e 65 65 64 65 64 20 77 68 65 6e 0a 72 65 61 64 69 6e 67 20 66 mp{-c}).is.needed.when.reading.f
24da0 72 6f 6d 20 61 20 6e 61 6d 65 64 20 70 69 70 65 20 28 66 69 66 6f 29 20 6f 72 20 66 72 6f 6d 20 rom.a.named.pipe.(fifo).or.from.
24dc0 61 20 64 65 76 69 63 65 2e 20 40 77 7b 40 73 61 6d 70 7b 2d 6f 20 2d 7d 7d 20 69 73 0a 65 71 75 a.device..@w{@samp{-o.-}}.is.equ
24de0 69 76 61 6c 65 6e 74 20 74 6f 20 40 73 61 6d 70 7b 2d 63 7d 2e 20 40 73 61 6d 70 7b 2d 6f 7d 20 ivalent.to.@samp{-c}..@samp{-o}.
24e00 68 61 73 20 6e 6f 20 65 66 66 65 63 74 20 77 68 65 6e 20 74 65 73 74 69 6e 67 20 6f 72 20 6c 69 has.no.effect.when.testing.or.li
24e20 73 74 69 6e 67 2e 0a 0a 49 6e 20 6f 72 64 65 72 20 74 6f 20 6b 65 65 70 20 62 61 63 6b 77 61 72 sting...In.order.to.keep.backwar
24e40 64 20 63 6f 6d 70 61 74 69 62 69 6c 69 74 79 20 77 69 74 68 20 6c 7a 69 70 20 76 65 72 73 69 6f d.compatibility.with.lzip.versio
24e60 6e 73 20 70 72 69 6f 72 20 74 6f 20 31 2e 32 32 2c 0a 77 68 65 6e 20 63 6f 6d 70 72 65 73 73 69 ns.prior.to.1.22,.when.compressi
24e80 6e 67 20 66 72 6f 6d 20 73 74 61 6e 64 61 72 64 20 69 6e 70 75 74 20 61 6e 64 20 6e 6f 20 6f 74 ng.from.standard.input.and.no.ot
24ea0 68 65 72 20 66 69 6c 65 20 6e 61 6d 65 73 20 61 72 65 20 67 69 76 65 6e 2c 20 74 68 65 0a 65 78 her.file.names.are.given,.the.ex
24ec0 74 65 6e 73 69 6f 6e 20 40 73 61 6d 70 7b 2e 6c 7a 7d 20 69 73 20 61 70 70 65 6e 64 65 64 20 74 tension.@samp{.lz}.is.appended.t
24ee0 6f 20 40 76 61 72 7b 66 69 6c 65 7d 20 75 6e 6c 65 73 73 20 69 74 20 61 6c 72 65 61 64 79 20 65 o.@var{file}.unless.it.already.e
24f00 6e 64 73 20 69 6e 0a 40 73 61 6d 70 7b 2e 6c 7a 7d 20 6f 72 20 40 73 61 6d 70 7b 2e 74 6c 7a 7d nds.in.@samp{.lz}.or.@samp{.tlz}
24f20 2e 20 54 68 69 73 20 66 65 61 74 75 72 65 20 77 69 6c 6c 20 62 65 20 72 65 6d 6f 76 65 64 20 69 ..This.feature.will.be.removed.i
24f40 6e 20 61 20 66 75 74 75 72 65 20 76 65 72 73 69 6f 6e 0a 6f 66 20 6c 7a 69 70 2e 20 4d 65 61 6e n.a.future.version.of.lzip..Mean
24f60 77 68 69 6c 65 2c 20 72 65 64 69 72 65 63 74 69 6f 6e 20 6d 61 79 20 62 65 20 75 73 65 64 20 69 while,.redirection.may.be.used.i
24f80 6e 73 74 65 61 64 20 6f 66 20 40 73 61 6d 70 7b 2d 6f 7d 20 74 6f 20 77 72 69 74 65 0a 74 68 65 nstead.of.@samp{-o}.to.write.the
24fa0 20 63 6f 6d 70 72 65 73 73 65 64 20 6f 75 74 70 75 74 20 74 6f 20 61 20 66 69 6c 65 20 77 69 74 .compressed.output.to.a.file.wit
24fc0 68 6f 75 74 20 74 68 65 20 65 78 74 65 6e 73 69 6f 6e 20 40 73 61 6d 70 7b 2e 6c 7a 7d 20 69 6e hout.the.extension.@samp{.lz}.in
24fe0 20 69 74 73 0a 6e 61 6d 65 3a 20 40 77 7b 40 73 61 6d 70 7b 6c 7a 69 70 20 3c 20 66 69 6c 65 20 .its.name:.@w{@samp{lzip.<.file.
25000 3e 20 66 6f 6f 7d 7d 2e 0a 0a 57 68 65 6e 20 63 6f 6d 70 72 65 73 73 69 6e 67 20 61 6e 64 20 73 >.foo}}...When.compressing.and.s
25020 70 6c 69 74 74 69 6e 67 20 74 68 65 20 6f 75 74 70 75 74 20 69 6e 20 76 6f 6c 75 6d 65 73 2c 20 plitting.the.output.in.volumes,.
25040 40 76 61 72 7b 66 69 6c 65 7d 20 69 73 20 75 73 65 64 20 61 73 0a 61 20 70 72 65 66 69 78 2c 20 @var{file}.is.used.as.a.prefix,.
25060 61 6e 64 20 73 65 76 65 72 61 6c 20 66 69 6c 65 73 20 6e 61 6d 65 64 20 40 73 61 6d 70 7b 40 76 and.several.files.named.@samp{@v
25080 61 72 7b 66 69 6c 65 7d 30 30 30 30 31 2e 6c 7a 7d 2c 0a 40 73 61 6d 70 7b 40 76 61 72 7b 66 69 ar{file}00001.lz},.@samp{@var{fi
250a0 6c 65 7d 30 30 30 30 32 2e 6c 7a 7d 2c 20 65 74 63 2c 20 61 72 65 20 63 72 65 61 74 65 64 2e 20 le}00002.lz},.etc,.are.created..
250c0 49 6e 20 74 68 69 73 20 63 61 73 65 2c 20 6f 6e 6c 79 20 6f 6e 65 20 69 6e 70 75 74 0a 66 69 6c In.this.case,.only.one.input.fil
250e0 65 20 69 73 20 61 6c 6c 6f 77 65 64 2e 0a 0a 40 69 74 65 6d 20 2d 71 0a 40 69 74 65 6d 78 20 2d e.is.allowed...@item.-q.@itemx.-
25100 2d 71 75 69 65 74 0a 51 75 69 65 74 20 6f 70 65 72 61 74 69 6f 6e 2e 20 53 75 70 70 72 65 73 73 -quiet.Quiet.operation..Suppress
25120 20 61 6c 6c 20 6d 65 73 73 61 67 65 73 2e 0a 0a 40 69 74 65 6d 20 2d 73 20 40 76 61 72 7b 62 79 .all.messages...@item.-s.@var{by
25140 74 65 73 7d 0a 40 69 74 65 6d 78 20 2d 2d 64 69 63 74 69 6f 6e 61 72 79 2d 73 69 7a 65 3d 40 76 tes}.@itemx.--dictionary-size=@v
25160 61 72 7b 62 79 74 65 73 7d 0a 57 68 65 6e 20 63 6f 6d 70 72 65 73 73 69 6e 67 2c 20 73 65 74 20 ar{bytes}.When.compressing,.set.
25180 74 68 65 20 64 69 63 74 69 6f 6e 61 72 79 20 73 69 7a 65 20 6c 69 6d 69 74 20 69 6e 20 62 79 74 the.dictionary.size.limit.in.byt
251a0 65 73 2e 20 4c 7a 69 70 20 77 69 6c 6c 20 75 73 65 0a 66 6f 72 20 65 61 63 68 20 66 69 6c 65 20 es..Lzip.will.use.for.each.file.
251c0 74 68 65 20 6c 61 72 67 65 73 74 20 64 69 63 74 69 6f 6e 61 72 79 20 73 69 7a 65 20 74 68 61 74 the.largest.dictionary.size.that
251e0 20 64 6f 65 73 20 6e 6f 74 20 65 78 63 65 65 64 20 6e 65 69 74 68 65 72 0a 74 68 65 20 66 69 6c .does.not.exceed.neither.the.fil
25200 65 20 73 69 7a 65 20 6e 6f 72 20 74 68 69 73 20 6c 69 6d 69 74 2e 20 56 61 6c 69 64 20 76 61 6c e.size.nor.this.limit..Valid.val
25220 75 65 73 20 72 61 6e 67 65 20 66 72 6f 6d 20 40 77 7b 34 20 4b 69 42 7d 20 74 6f 0a 40 77 7b 35 ues.range.from.@w{4.KiB}.to.@w{5
25240 31 32 20 4d 69 42 7d 2e 20 56 61 6c 75 65 73 20 31 32 20 74 6f 20 32 39 20 61 72 65 20 69 6e 74 12.MiB}..Values.12.to.29.are.int
25260 65 72 70 72 65 74 65 64 20 61 73 20 70 6f 77 65 72 73 20 6f 66 20 74 77 6f 2c 20 6d 65 61 6e 69 erpreted.as.powers.of.two,.meani
25280 6e 67 0a 32 5e 31 32 20 74 6f 20 32 5e 32 39 20 62 79 74 65 73 2e 20 44 69 63 74 69 6f 6e 61 72 ng.2^12.to.2^29.bytes..Dictionar
252a0 79 20 73 69 7a 65 73 20 61 72 65 20 71 75 61 6e 74 69 7a 65 64 20 73 6f 20 74 68 61 74 20 74 68 y.sizes.are.quantized.so.that.th
252c0 65 79 20 63 61 6e 20 62 65 0a 63 6f 64 65 64 20 69 6e 20 6a 75 73 74 20 6f 6e 65 20 62 79 74 65 ey.can.be.coded.in.just.one.byte
252e0 20 28 40 70 78 72 65 66 7b 63 6f 64 65 64 2d 64 69 63 74 2d 73 69 7a 65 7d 29 2e 20 49 66 20 74 .(@pxref{coded-dict-size})..If.t
25300 68 65 20 73 69 7a 65 20 73 70 65 63 69 66 69 65 64 0a 64 6f 65 73 20 6e 6f 74 20 6d 61 74 63 68 he.size.specified.does.not.match
25320 20 6f 6e 65 20 6f 66 20 74 68 65 20 76 61 6c 69 64 20 73 69 7a 65 73 2c 20 69 74 20 77 69 6c 6c .one.of.the.valid.sizes,.it.will
25340 20 62 65 20 72 6f 75 6e 64 65 64 20 75 70 77 61 72 64 73 20 62 79 0a 61 64 64 69 6e 67 20 75 70 .be.rounded.upwards.by.adding.up
25360 20 74 6f 20 40 77 7b 28 40 76 61 72 7b 62 79 74 65 73 7d 20 2f 20 38 29 7d 20 74 6f 20 69 74 2e .to.@w{(@var{bytes}./.8)}.to.it.
25380 0a 0a 46 6f 72 20 6d 61 78 69 6d 75 6d 20 63 6f 6d 70 72 65 73 73 69 6f 6e 20 79 6f 75 20 73 68 ..For.maximum.compression.you.sh
253a0 6f 75 6c 64 20 75 73 65 20 61 20 64 69 63 74 69 6f 6e 61 72 79 20 73 69 7a 65 20 6c 69 6d 69 74 ould.use.a.dictionary.size.limit
253c0 20 61 73 20 6c 61 72 67 65 0a 61 73 20 70 6f 73 73 69 62 6c 65 2c 20 62 75 74 20 6b 65 65 70 20 .as.large.as.possible,.but.keep.
253e0 69 6e 20 6d 69 6e 64 20 74 68 61 74 20 74 68 65 20 64 65 63 6f 6d 70 72 65 73 73 69 6f 6e 20 6d in.mind.that.the.decompression.m
25400 65 6d 6f 72 79 20 72 65 71 75 69 72 65 6d 65 6e 74 0a 69 73 20 61 66 66 65 63 74 65 64 20 61 74 emory.requirement.is.affected.at
25420 20 63 6f 6d 70 72 65 73 73 69 6f 6e 20 74 69 6d 65 20 62 79 20 74 68 65 20 63 68 6f 69 63 65 20 .compression.time.by.the.choice.
25440 6f 66 20 64 69 63 74 69 6f 6e 61 72 79 20 73 69 7a 65 20 6c 69 6d 69 74 2e 0a 0a 40 69 74 65 6d of.dictionary.size.limit...@item
25460 20 2d 53 20 40 76 61 72 7b 62 79 74 65 73 7d 0a 40 69 74 65 6d 78 20 2d 2d 76 6f 6c 75 6d 65 2d .-S.@var{bytes}.@itemx.--volume-
25480 73 69 7a 65 3d 40 76 61 72 7b 62 79 74 65 73 7d 0a 57 68 65 6e 20 63 6f 6d 70 72 65 73 73 69 6e size=@var{bytes}.When.compressin
254a0 67 2c 20 61 6e 64 20 40 73 61 6d 70 7b 2d 63 7d 20 68 61 73 20 6e 6f 74 20 62 65 65 6e 20 61 6c g,.and.@samp{-c}.has.not.been.al
254c0 73 6f 20 73 70 65 63 69 66 69 65 64 2c 20 73 70 6c 69 74 20 74 68 65 0a 63 6f 6d 70 72 65 73 73 so.specified,.split.the.compress
254e0 65 64 20 6f 75 74 70 75 74 20 69 6e 74 6f 20 73 65 76 65 72 61 6c 20 76 6f 6c 75 6d 65 20 66 69 ed.output.into.several.volume.fi
25500 6c 65 73 20 77 69 74 68 20 6e 61 6d 65 73 0a 40 73 61 6d 70 7b 6f 72 69 67 69 6e 61 6c 5f 6e 61 les.with.names.@samp{original_na
25520 6d 65 30 30 30 30 31 2e 6c 7a 7d 2c 20 40 73 61 6d 70 7b 6f 72 69 67 69 6e 61 6c 5f 6e 61 6d 65 me00001.lz},.@samp{original_name
25540 30 30 30 30 32 2e 6c 7a 7d 2c 20 65 74 63 2c 20 61 6e 64 20 73 65 74 20 74 68 65 0a 76 6f 6c 75 00002.lz},.etc,.and.set.the.volu
25560 6d 65 20 73 69 7a 65 20 6c 69 6d 69 74 20 74 6f 20 40 76 61 72 7b 62 79 74 65 73 7d 2e 20 49 6e me.size.limit.to.@var{bytes}..In
25580 70 75 74 20 66 69 6c 65 73 20 61 72 65 20 6b 65 70 74 20 75 6e 63 68 61 6e 67 65 64 2e 20 45 61 put.files.are.kept.unchanged..Ea
255a0 63 68 0a 76 6f 6c 75 6d 65 20 69 73 20 61 20 63 6f 6d 70 6c 65 74 65 2c 20 6d 61 79 62 65 20 6d ch.volume.is.a.complete,.maybe.m
255c0 75 6c 74 69 6d 65 6d 62 65 72 2c 20 6c 7a 69 70 20 66 69 6c 65 2e 20 41 20 73 6d 61 6c 6c 20 76 ultimember,.lzip.file..A.small.v
255e0 6f 6c 75 6d 65 20 73 69 7a 65 20 6d 61 79 0a 64 65 67 72 61 64 65 20 63 6f 6d 70 72 65 73 73 69 olume.size.may.degrade.compressi
25600 6f 6e 20 72 61 74 69 6f 2c 20 73 6f 20 75 73 65 20 69 74 20 6f 6e 6c 79 20 77 68 65 6e 20 6e 65 on.ratio,.so.use.it.only.when.ne
25620 65 64 65 64 2e 20 56 61 6c 69 64 20 76 61 6c 75 65 73 20 72 61 6e 67 65 0a 66 72 6f 6d 20 40 77 eded..Valid.values.range.from.@w
25640 7b 31 30 30 20 6b 42 7d 20 74 6f 20 40 77 7b 34 20 45 69 42 7d 2e 0a 0a 40 69 74 65 6d 20 2d 74 {100.kB}.to.@w{4.EiB}...@item.-t
25660 0a 40 69 74 65 6d 78 20 2d 2d 74 65 73 74 0a 43 68 65 63 6b 20 69 6e 74 65 67 72 69 74 79 20 6f .@itemx.--test.Check.integrity.o
25680 66 20 74 68 65 20 66 69 6c 65 73 20 73 70 65 63 69 66 69 65 64 2c 20 62 75 74 20 64 6f 6e 27 74 f.the.files.specified,.but.don't
256a0 20 64 65 63 6f 6d 70 72 65 73 73 20 74 68 65 6d 2e 20 54 68 69 73 0a 72 65 61 6c 6c 79 20 70 65 .decompress.them..This.really.pe
256c0 72 66 6f 72 6d 73 20 61 20 74 72 69 61 6c 20 64 65 63 6f 6d 70 72 65 73 73 69 6f 6e 20 61 6e 64 rforms.a.trial.decompression.and
256e0 20 74 68 72 6f 77 73 20 61 77 61 79 20 74 68 65 20 72 65 73 75 6c 74 2e 20 55 73 65 20 69 74 0a .throws.away.the.result..Use.it.
25700 74 6f 67 65 74 68 65 72 20 77 69 74 68 20 40 73 61 6d 70 7b 2d 76 7d 20 74 6f 20 73 65 65 20 69 together.with.@samp{-v}.to.see.i
25720 6e 66 6f 72 6d 61 74 69 6f 6e 20 61 62 6f 75 74 20 74 68 65 20 66 69 6c 65 73 2e 20 49 66 20 61 nformation.about.the.files..If.a
25740 20 66 69 6c 65 0a 66 61 69 6c 73 20 74 68 65 20 74 65 73 74 2c 20 64 6f 65 73 20 6e 6f 74 20 65 .file.fails.the.test,.does.not.e
25760 78 69 73 74 2c 20 63 61 6e 27 74 20 62 65 20 6f 70 65 6e 65 64 2c 20 6f 72 20 69 73 20 61 20 74 xist,.can't.be.opened,.or.is.a.t
25780 65 72 6d 69 6e 61 6c 2c 20 6c 7a 69 70 0a 63 6f 6e 74 69 6e 75 65 73 20 63 68 65 63 6b 69 6e 67 erminal,.lzip.continues.checking
257a0 20 74 68 65 20 72 65 73 74 20 6f 66 20 74 68 65 20 66 69 6c 65 73 2e 20 41 20 66 69 6e 61 6c 20 .the.rest.of.the.files..A.final.
257c0 64 69 61 67 6e 6f 73 74 69 63 20 69 73 20 73 68 6f 77 6e 20 61 74 0a 76 65 72 62 6f 73 69 74 79 diagnostic.is.shown.at.verbosity
257e0 20 6c 65 76 65 6c 20 31 20 6f 72 20 68 69 67 68 65 72 20 69 66 20 61 6e 79 20 66 69 6c 65 20 66 .level.1.or.higher.if.any.file.f
25800 61 69 6c 73 20 74 68 65 20 74 65 73 74 20 77 68 65 6e 20 74 65 73 74 69 6e 67 0a 6d 75 6c 74 69 ails.the.test.when.testing.multi
25820 70 6c 65 20 66 69 6c 65 73 2e 0a 0a 40 69 74 65 6d 20 2d 76 0a 40 69 74 65 6d 78 20 2d 2d 76 65 ple.files...@item.-v.@itemx.--ve
25840 72 62 6f 73 65 0a 56 65 72 62 6f 73 65 20 6d 6f 64 65 2e 40 2a 0a 57 68 65 6e 20 63 6f 6d 70 72 rbose.Verbose.mode.@*.When.compr
25860 65 73 73 69 6e 67 2c 20 73 68 6f 77 20 74 68 65 20 63 6f 6d 70 72 65 73 73 69 6f 6e 20 72 61 74 essing,.show.the.compression.rat
25880 69 6f 20 61 6e 64 20 73 69 7a 65 20 66 6f 72 20 65 61 63 68 20 66 69 6c 65 0a 70 72 6f 63 65 73 io.and.size.for.each.file.proces
258a0 73 65 64 2e 40 2a 0a 57 68 65 6e 20 64 65 63 6f 6d 70 72 65 73 73 69 6e 67 20 6f 72 20 74 65 73 sed.@*.When.decompressing.or.tes
258c0 74 69 6e 67 2c 20 66 75 72 74 68 65 72 20 2d 76 27 73 20 28 75 70 20 74 6f 20 34 29 20 69 6e 63 ting,.further.-v's.(up.to.4).inc
258e0 72 65 61 73 65 20 74 68 65 0a 76 65 72 62 6f 73 69 74 79 20 6c 65 76 65 6c 2c 20 73 68 6f 77 69 rease.the.verbosity.level,.showi
25900 6e 67 20 73 74 61 74 75 73 2c 20 63 6f 6d 70 72 65 73 73 69 6f 6e 20 72 61 74 69 6f 2c 20 64 69 ng.status,.compression.ratio,.di
25920 63 74 69 6f 6e 61 72 79 20 73 69 7a 65 2c 0a 74 72 61 69 6c 65 72 20 63 6f 6e 74 65 6e 74 73 20 ctionary.size,.trailer.contents.
25940 28 43 52 43 2c 20 64 61 74 61 20 73 69 7a 65 2c 20 6d 65 6d 62 65 72 20 73 69 7a 65 29 2c 20 61 (CRC,.data.size,.member.size),.a
25960 6e 64 20 75 70 20 74 6f 20 36 20 62 79 74 65 73 20 6f 66 0a 74 72 61 69 6c 69 6e 67 20 64 61 74 nd.up.to.6.bytes.of.trailing.dat
25980 61 20 28 69 66 20 61 6e 79 29 20 62 6f 74 68 20 69 6e 20 68 65 78 61 64 65 63 69 6d 61 6c 20 61 a.(if.any).both.in.hexadecimal.a
259a0 6e 64 20 61 73 20 61 20 73 74 72 69 6e 67 20 6f 66 20 70 72 69 6e 74 61 62 6c 65 0a 41 53 43 49 nd.as.a.string.of.printable.ASCI
259c0 49 20 63 68 61 72 61 63 74 65 72 73 2e 40 2a 0a 54 77 6f 20 6f 72 20 6d 6f 72 65 20 40 73 61 6d I.characters.@*.Two.or.more.@sam
259e0 70 7b 2d 76 7d 20 6f 70 74 69 6f 6e 73 20 73 68 6f 77 20 74 68 65 20 70 72 6f 67 72 65 73 73 20 p{-v}.options.show.the.progress.
25a00 6f 66 20 28 64 65 29 63 6f 6d 70 72 65 73 73 69 6f 6e 2e 0a 0a 40 69 74 65 6d 20 2d 30 20 2e 2e of.(de)compression...@item.-0...
25a20 20 2d 39 0a 43 6f 6d 70 72 65 73 73 69 6f 6e 20 6c 65 76 65 6c 2e 20 53 65 74 20 74 68 65 20 63 .-9.Compression.level..Set.the.c
25a40 6f 6d 70 72 65 73 73 69 6f 6e 20 70 61 72 61 6d 65 74 65 72 73 20 28 64 69 63 74 69 6f 6e 61 72 ompression.parameters.(dictionar
25a60 79 20 73 69 7a 65 20 61 6e 64 0a 6d 61 74 63 68 20 6c 65 6e 67 74 68 20 6c 69 6d 69 74 29 20 61 y.size.and.match.length.limit).a
25a80 73 20 73 68 6f 77 6e 20 69 6e 20 74 68 65 20 74 61 62 6c 65 20 62 65 6c 6f 77 2e 20 54 68 65 20 s.shown.in.the.table.below..The.
25aa0 64 65 66 61 75 6c 74 20 63 6f 6d 70 72 65 73 73 69 6f 6e 0a 6c 65 76 65 6c 20 69 73 20 40 73 61 default.compression.level.is.@sa
25ac0 6d 70 7b 2d 36 7d 2c 20 65 71 75 69 76 61 6c 65 6e 74 20 74 6f 20 40 77 7b 40 73 61 6d 70 7b 2d mp{-6},.equivalent.to.@w{@samp{-
25ae0 73 38 4d 69 42 20 2d 6d 33 36 7d 7d 2e 20 4e 6f 74 65 20 74 68 61 74 0a 40 73 61 6d 70 7b 2d 39 s8MiB.-m36}}..Note.that.@samp{-9
25b00 7d 20 63 61 6e 20 62 65 20 6d 75 63 68 20 73 6c 6f 77 65 72 20 74 68 61 6e 20 40 73 61 6d 70 7b }.can.be.much.slower.than.@samp{
25b20 2d 30 7d 2e 20 54 68 65 73 65 20 6f 70 74 69 6f 6e 73 20 68 61 76 65 20 6e 6f 0a 65 66 66 65 63 -0}..These.options.have.no.effec
25b40 74 20 77 68 65 6e 20 64 65 63 6f 6d 70 72 65 73 73 69 6e 67 2c 20 74 65 73 74 69 6e 67 2c 20 6f t.when.decompressing,.testing,.o
25b60 72 20 6c 69 73 74 69 6e 67 2e 0a 0a 54 68 65 20 62 69 64 69 6d 65 6e 73 69 6f 6e 61 6c 20 70 61 r.listing...The.bidimensional.pa
25b80 72 61 6d 65 74 65 72 20 73 70 61 63 65 20 6f 66 20 4c 5a 4d 41 20 63 61 6e 27 74 20 62 65 20 6d rameter.space.of.LZMA.can't.be.m
25ba0 61 70 70 65 64 20 74 6f 20 61 20 6c 69 6e 65 61 72 0a 73 63 61 6c 65 20 6f 70 74 69 6d 61 6c 20 apped.to.a.linear.scale.optimal.
25bc0 66 6f 72 20 61 6c 6c 20 66 69 6c 65 73 2e 20 49 66 20 79 6f 75 72 20 66 69 6c 65 73 20 61 72 65 for.all.files..If.your.files.are
25be0 20 6c 61 72 67 65 2c 20 76 65 72 79 20 72 65 70 65 74 69 74 69 76 65 2c 0a 65 74 63 2c 20 79 6f .large,.very.repetitive,.etc,.yo
25c00 75 20 6d 61 79 20 6e 65 65 64 20 74 6f 20 75 73 65 20 74 68 65 20 6f 70 74 69 6f 6e 73 20 40 73 u.may.need.to.use.the.options.@s
25c20 61 6d 70 7b 2d 2d 64 69 63 74 69 6f 6e 61 72 79 2d 73 69 7a 65 7d 20 61 6e 64 0a 40 73 61 6d 70 amp{--dictionary-size}.and.@samp
25c40 7b 2d 2d 6d 61 74 63 68 2d 6c 65 6e 67 74 68 7d 20 64 69 72 65 63 74 6c 79 20 74 6f 20 61 63 68 {--match-length}.directly.to.ach
25c60 69 65 76 65 20 6f 70 74 69 6d 61 6c 20 70 65 72 66 6f 72 6d 61 6e 63 65 2e 0a 0a 49 66 20 73 65 ieve.optimal.performance...If.se
25c80 76 65 72 61 6c 20 63 6f 6d 70 72 65 73 73 69 6f 6e 20 6c 65 76 65 6c 73 20 6f 72 20 40 73 61 6d veral.compression.levels.or.@sam
25ca0 70 7b 2d 73 7d 20 6f 72 20 40 73 61 6d 70 7b 2d 6d 7d 20 6f 70 74 69 6f 6e 73 20 61 72 65 0a 67 p{-s}.or.@samp{-m}.options.are.g
25cc0 69 76 65 6e 2c 20 74 68 65 20 6c 61 73 74 20 73 65 74 74 69 6e 67 20 69 73 20 75 73 65 64 2e 20 iven,.the.last.setting.is.used..
25ce0 46 6f 72 20 65 78 61 6d 70 6c 65 20 40 77 7b 40 73 61 6d 70 7b 2d 39 20 2d 73 36 34 4d 69 42 7d For.example.@w{@samp{-9.-s64MiB}
25d00 7d 20 69 73 0a 65 71 75 69 76 61 6c 65 6e 74 20 74 6f 20 40 77 7b 40 73 61 6d 70 7b 2d 73 36 34 }.is.equivalent.to.@w{@samp{-s64
25d20 4d 69 42 20 2d 6d 32 37 33 7d 7d 0a 0a 40 6d 75 6c 74 69 74 61 62 6c 65 20 7b 4c 65 76 65 6c 7d MiB.-m273}}..@multitable.{Level}
25d40 20 7b 44 69 63 74 69 6f 6e 61 72 79 20 73 69 7a 65 20 28 2d 73 29 7d 20 7b 4d 61 74 63 68 20 6c .{Dictionary.size.(-s)}.{Match.l
25d60 65 6e 67 74 68 20 6c 69 6d 69 74 20 28 2d 6d 29 7d 0a 40 69 74 65 6d 20 4c 65 76 65 6c 20 40 74 ength.limit.(-m)}.@item.Level.@t
25d80 61 62 20 44 69 63 74 69 6f 6e 61 72 79 20 73 69 7a 65 20 28 2d 73 29 20 40 74 61 62 20 4d 61 74 ab.Dictionary.size.(-s).@tab.Mat
25da0 63 68 20 6c 65 6e 67 74 68 20 6c 69 6d 69 74 20 28 2d 6d 29 0a 40 69 74 65 6d 20 2d 30 20 40 74 ch.length.limit.(-m).@item.-0.@t
25dc0 61 62 20 36 34 20 4b 69 42 20 40 74 61 62 20 20 31 36 20 62 79 74 65 73 0a 40 69 74 65 6d 20 2d ab.64.KiB.@tab..16.bytes.@item.-
25de0 31 20 40 74 61 62 20 20 31 20 4d 69 42 20 40 74 61 62 20 20 20 35 20 62 79 74 65 73 0a 40 69 74 1.@tab..1.MiB.@tab...5.bytes.@it
25e00 65 6d 20 2d 32 20 40 74 61 62 20 20 31 2e 35 20 4d 69 42 20 40 74 61 62 20 20 20 36 20 62 79 74 em.-2.@tab..1.5.MiB.@tab...6.byt
25e20 65 73 0a 40 69 74 65 6d 20 2d 33 20 40 74 61 62 20 20 32 20 4d 69 42 20 40 74 61 62 20 20 20 38 es.@item.-3.@tab..2.MiB.@tab...8
25e40 20 62 79 74 65 73 0a 40 69 74 65 6d 20 2d 34 20 40 74 61 62 20 20 33 20 4d 69 42 20 40 74 61 62 .bytes.@item.-4.@tab..3.MiB.@tab
25e60 20 20 31 32 20 62 79 74 65 73 0a 40 69 74 65 6d 20 2d 35 20 40 74 61 62 20 20 34 20 4d 69 42 20 ..12.bytes.@item.-5.@tab..4.MiB.
25e80 40 74 61 62 20 20 32 30 20 62 79 74 65 73 0a 40 69 74 65 6d 20 2d 36 20 40 74 61 62 20 20 38 20 @tab..20.bytes.@item.-6.@tab..8.
25ea0 4d 69 42 20 40 74 61 62 20 20 33 36 20 62 79 74 65 73 0a 40 69 74 65 6d 20 2d 37 20 40 74 61 62 MiB.@tab..36.bytes.@item.-7.@tab
25ec0 20 31 36 20 4d 69 42 20 40 74 61 62 20 20 36 38 20 62 79 74 65 73 0a 40 69 74 65 6d 20 2d 38 20 .16.MiB.@tab..68.bytes.@item.-8.
25ee0 40 74 61 62 20 32 34 20 4d 69 42 20 40 74 61 62 20 31 33 32 20 62 79 74 65 73 0a 40 69 74 65 6d @tab.24.MiB.@tab.132.bytes.@item
25f00 20 2d 39 20 40 74 61 62 20 33 32 20 4d 69 42 20 40 74 61 62 20 32 37 33 20 62 79 74 65 73 0a 40 .-9.@tab.32.MiB.@tab.273.bytes.@
25f20 65 6e 64 20 6d 75 6c 74 69 74 61 62 6c 65 0a 0a 40 69 74 65 6d 20 2d 2d 66 61 73 74 0a 40 69 74 end.multitable..@item.--fast.@it
25f40 65 6d 78 20 2d 2d 62 65 73 74 0a 41 6c 69 61 73 65 73 20 66 6f 72 20 47 4e 55 20 67 7a 69 70 20 emx.--best.Aliases.for.GNU.gzip.
25f60 63 6f 6d 70 61 74 69 62 69 6c 69 74 79 2e 0a 0a 40 69 74 65 6d 20 2d 2d 6c 6f 6f 73 65 2d 74 72 compatibility...@item.--loose-tr
25f80 61 69 6c 69 6e 67 0a 57 68 65 6e 20 64 65 63 6f 6d 70 72 65 73 73 69 6e 67 2c 20 74 65 73 74 69 ailing.When.decompressing,.testi
25fa0 6e 67 2c 20 6f 72 20 6c 69 73 74 69 6e 67 2c 20 61 6c 6c 6f 77 20 74 72 61 69 6c 69 6e 67 20 64 ng,.or.listing,.allow.trailing.d
25fc0 61 74 61 20 77 68 6f 73 65 20 66 69 72 73 74 0a 62 79 74 65 73 20 61 72 65 20 73 6f 20 73 69 6d ata.whose.first.bytes.are.so.sim
25fe0 69 6c 61 72 20 74 6f 20 74 68 65 20 6d 61 67 69 63 20 62 79 74 65 73 20 6f 66 20 61 20 6c 7a 69 ilar.to.the.magic.bytes.of.a.lzi
26000 70 20 68 65 61 64 65 72 20 74 68 61 74 20 74 68 65 79 20 63 61 6e 0a 62 65 20 63 6f 6e 66 75 73 p.header.that.they.can.be.confus
26020 65 64 20 77 69 74 68 20 61 20 63 6f 72 72 75 70 74 20 68 65 61 64 65 72 2e 20 55 73 65 20 74 68 ed.with.a.corrupt.header..Use.th
26040 69 73 20 6f 70 74 69 6f 6e 20 69 66 20 61 20 66 69 6c 65 20 74 72 69 67 67 65 72 73 20 61 0a 22 is.option.if.a.file.triggers.a."
26060 63 6f 72 72 75 70 74 20 68 65 61 64 65 72 22 20 65 72 72 6f 72 20 61 6e 64 20 74 68 65 20 63 61 corrupt.header".error.and.the.ca
26080 75 73 65 20 69 73 20 6e 6f 74 20 69 6e 64 65 65 64 20 61 20 63 6f 72 72 75 70 74 20 68 65 61 64 use.is.not.indeed.a.corrupt.head
260a0 65 72 2e 0a 0a 40 65 6e 64 20 74 61 62 6c 65 0a 0a 4e 75 6d 62 65 72 73 20 67 69 76 65 6e 20 61 er...@end.table..Numbers.given.a
260c0 73 20 61 72 67 75 6d 65 6e 74 73 20 74 6f 20 6f 70 74 69 6f 6e 73 20 6d 61 79 20 62 65 20 66 6f s.arguments.to.options.may.be.fo
260e0 6c 6c 6f 77 65 64 20 62 79 20 61 20 6d 75 6c 74 69 70 6c 69 65 72 0a 61 6e 64 20 61 6e 20 6f 70 llowed.by.a.multiplier.and.an.op
26100 74 69 6f 6e 61 6c 20 40 73 61 6d 70 7b 42 7d 20 66 6f 72 20 22 62 79 74 65 22 2e 0a 0a 54 61 62 tional.@samp{B}.for."byte"...Tab
26120 6c 65 20 6f 66 20 53 49 20 61 6e 64 20 62 69 6e 61 72 79 20 70 72 65 66 69 78 65 73 20 28 75 6e le.of.SI.and.binary.prefixes.(un
26140 69 74 20 6d 75 6c 74 69 70 6c 69 65 72 73 29 3a 0a 0a 40 6d 75 6c 74 69 74 61 62 6c 65 20 7b 50 it.multipliers):..@multitable.{P
26160 72 65 66 69 78 7d 20 7b 6b 69 6c 6f 62 79 74 65 20 20 28 31 30 5e 33 20 3d 20 31 30 30 30 29 7d refix}.{kilobyte..(10^3.=.1000)}
26180 20 7b 7c 7d 20 7b 50 72 65 66 69 78 7d 20 7b 6b 69 62 69 62 79 74 65 20 28 32 5e 31 30 20 3d 20 .{|}.{Prefix}.{kibibyte.(2^10.=.
261a0 31 30 32 34 29 7d 0a 40 69 74 65 6d 20 50 72 65 66 69 78 20 40 74 61 62 20 56 61 6c 75 65 20 20 1024)}.@item.Prefix.@tab.Value..
261c0 20 20 20 20 20 20 20 20 20 20 20 20 20 40 74 61 62 20 7c 20 40 74 61 62 20 50 72 65 66 69 78 20 .............@tab.|.@tab.Prefix.
261e0 40 74 61 62 20 56 61 6c 75 65 0a 40 69 74 65 6d 20 6b 20 40 74 61 62 20 6b 69 6c 6f 62 79 74 65 @tab.Value.@item.k.@tab.kilobyte
26200 20 20 28 31 30 5e 33 20 3d 20 31 30 30 30 29 20 20 40 74 61 62 20 7c 20 40 74 61 62 20 4b 69 20 ..(10^3.=.1000)..@tab.|.@tab.Ki.
26220 40 74 61 62 20 6b 69 62 69 62 79 74 65 20 28 32 5e 31 30 20 3d 20 31 30 32 34 29 0a 40 69 74 65 @tab.kibibyte.(2^10.=.1024).@ite
26240 6d 20 4d 20 40 74 61 62 20 6d 65 67 61 62 79 74 65 20 20 28 31 30 5e 36 29 20 20 20 20 20 20 20 m.M.@tab.megabyte..(10^6).......
26260 20 20 40 74 61 62 20 7c 20 40 74 61 62 20 4d 69 20 40 74 61 62 20 6d 65 62 69 62 79 74 65 20 28 ..@tab.|.@tab.Mi.@tab.mebibyte.(
26280 32 5e 32 30 29 0a 40 69 74 65 6d 20 47 20 40 74 61 62 20 67 69 67 61 62 79 74 65 20 20 28 31 30 2^20).@item.G.@tab.gigabyte..(10
262a0 5e 39 29 20 20 20 20 20 20 20 20 20 40 74 61 62 20 7c 20 40 74 61 62 20 47 69 20 40 74 61 62 20 ^9).........@tab.|.@tab.Gi.@tab.
262c0 67 69 62 69 62 79 74 65 20 28 32 5e 33 30 29 0a 40 69 74 65 6d 20 54 20 40 74 61 62 20 74 65 72 gibibyte.(2^30).@item.T.@tab.ter
262e0 61 62 79 74 65 20 20 28 31 30 5e 31 32 29 20 20 20 20 20 20 20 20 40 74 61 62 20 7c 20 40 74 61 abyte..(10^12)........@tab.|.@ta
26300 62 20 54 69 20 40 74 61 62 20 74 65 62 69 62 79 74 65 20 28 32 5e 34 30 29 0a 40 69 74 65 6d 20 b.Ti.@tab.tebibyte.(2^40).@item.
26320 50 20 40 74 61 62 20 70 65 74 61 62 79 74 65 20 20 28 31 30 5e 31 35 29 20 20 20 20 20 20 20 20 P.@tab.petabyte..(10^15)........
26340 40 74 61 62 20 7c 20 40 74 61 62 20 50 69 20 40 74 61 62 20 70 65 62 69 62 79 74 65 20 28 32 5e @tab.|.@tab.Pi.@tab.pebibyte.(2^
26360 35 30 29 0a 40 69 74 65 6d 20 45 20 40 74 61 62 20 65 78 61 62 79 74 65 20 20 20 28 31 30 5e 31 50).@item.E.@tab.exabyte...(10^1
26380 38 29 20 20 20 20 20 20 20 20 40 74 61 62 20 7c 20 40 74 61 62 20 45 69 20 40 74 61 62 20 65 78 8)........@tab.|.@tab.Ei.@tab.ex
263a0 62 69 62 79 74 65 20 28 32 5e 36 30 29 0a 40 69 74 65 6d 20 5a 20 40 74 61 62 20 7a 65 74 74 61 bibyte.(2^60).@item.Z.@tab.zetta
263c0 62 79 74 65 20 28 31 30 5e 32 31 29 20 20 20 20 20 20 20 20 40 74 61 62 20 7c 20 40 74 61 62 20 byte.(10^21)........@tab.|.@tab.
263e0 5a 69 20 40 74 61 62 20 7a 65 62 69 62 79 74 65 20 28 32 5e 37 30 29 0a 40 69 74 65 6d 20 59 20 Zi.@tab.zebibyte.(2^70).@item.Y.
26400 40 74 61 62 20 79 6f 74 74 61 62 79 74 65 20 28 31 30 5e 32 34 29 20 20 20 20 20 20 20 20 40 74 @tab.yottabyte.(10^24)........@t
26420 61 62 20 7c 20 40 74 61 62 20 59 69 20 40 74 61 62 20 79 6f 62 69 62 79 74 65 20 28 32 5e 38 30 ab.|.@tab.Yi.@tab.yobibyte.(2^80
26440 29 0a 40 65 6e 64 20 6d 75 6c 74 69 74 61 62 6c 65 0a 0a 40 73 70 20 31 0a 45 78 69 74 20 73 74 ).@end.multitable..@sp.1.Exit.st
26460 61 74 75 73 3a 20 30 20 66 6f 72 20 61 20 6e 6f 72 6d 61 6c 20 65 78 69 74 2c 20 31 20 66 6f 72 atus:.0.for.a.normal.exit,.1.for
26480 20 65 6e 76 69 72 6f 6e 6d 65 6e 74 61 6c 20 70 72 6f 62 6c 65 6d 73 20 28 66 69 6c 65 20 6e 6f .environmental.problems.(file.no
264a0 74 0a 66 6f 75 6e 64 2c 20 69 6e 76 61 6c 69 64 20 66 6c 61 67 73 2c 20 49 2f 4f 20 65 72 72 6f t.found,.invalid.flags,.I/O.erro
264c0 72 73 2c 20 65 74 63 29 2c 20 32 20 74 6f 20 69 6e 64 69 63 61 74 65 20 61 20 63 6f 72 72 75 70 rs,.etc),.2.to.indicate.a.corrup
264e0 74 20 6f 72 0a 69 6e 76 61 6c 69 64 20 69 6e 70 75 74 20 66 69 6c 65 2c 20 33 20 66 6f 72 20 61 t.or.invalid.input.file,.3.for.a
26500 6e 20 69 6e 74 65 72 6e 61 6c 20 63 6f 6e 73 69 73 74 65 6e 63 79 20 65 72 72 6f 72 20 28 65 67 n.internal.consistency.error.(eg
26520 2c 20 62 75 67 29 20 77 68 69 63 68 0a 63 61 75 73 65 64 20 6c 7a 69 70 20 74 6f 20 70 61 6e 69 ,.bug).which.caused.lzip.to.pani
26540 63 2e 0a 0a 0a 40 6e 6f 64 65 20 51 75 61 6c 69 74 79 20 61 73 73 75 72 61 6e 63 65 0a 40 63 68 c....@node.Quality.assurance.@ch
26560 61 70 74 65 72 20 44 65 73 69 67 6e 2c 20 64 65 76 65 6c 6f 70 6d 65 6e 74 2c 20 61 6e 64 20 74 apter.Design,.development,.and.t
26580 65 73 74 69 6e 67 20 6f 66 20 6c 7a 69 70 0a 40 63 69 6e 64 65 78 20 71 75 61 6c 69 74 79 20 61 esting.of.lzip.@cindex.quality.a
265a0 73 73 75 72 61 6e 63 65 0a 0a 54 68 65 72 65 20 61 72 65 20 74 77 6f 20 77 61 79 73 20 6f 66 20 ssurance..There.are.two.ways.of.
265c0 63 6f 6e 73 74 72 75 63 74 69 6e 67 20 61 20 73 6f 66 74 77 61 72 65 20 64 65 73 69 67 6e 3a 20 constructing.a.software.design:.
265e0 4f 6e 65 20 77 61 79 20 69 73 20 74 6f 20 6d 61 6b 65 20 69 74 0a 73 6f 20 73 69 6d 70 6c 65 20 One.way.is.to.make.it.so.simple.
26600 74 68 61 74 20 74 68 65 72 65 20 61 72 65 20 6f 62 76 69 6f 75 73 6c 79 20 6e 6f 20 64 65 66 69 that.there.are.obviously.no.defi
26620 63 69 65 6e 63 69 65 73 20 61 6e 64 20 74 68 65 20 6f 74 68 65 72 20 77 61 79 20 69 73 20 74 6f ciencies.and.the.other.way.is.to
26640 0a 6d 61 6b 65 20 69 74 20 73 6f 20 63 6f 6d 70 6c 69 63 61 74 65 64 20 74 68 61 74 20 74 68 65 .make.it.so.complicated.that.the
26660 72 65 20 61 72 65 20 6e 6f 20 6f 62 76 69 6f 75 73 20 64 65 66 69 63 69 65 6e 63 69 65 73 2e 20 re.are.no.obvious.deficiencies..
26680 54 68 65 20 66 69 72 73 74 0a 6d 65 74 68 6f 64 20 69 73 20 66 61 72 20 6d 6f 72 65 20 64 69 66 The.first.method.is.far.more.dif
266a0 66 69 63 75 6c 74 2e 40 2a 0a 2d 2d 2d 20 43 2e 41 2e 52 2e 20 48 6f 61 72 65 0a 0a 4c 7a 69 70 ficult.@*.---.C.A.R..Hoare..Lzip
266c0 20 69 73 20 64 65 76 65 6c 6f 70 65 64 20 62 79 20 76 6f 6c 75 6e 74 65 65 72 73 20 77 68 6f 20 .is.developed.by.volunteers.who.
266e0 6c 61 63 6b 20 74 68 65 20 72 65 73 6f 75 72 63 65 73 20 72 65 71 75 69 72 65 64 20 66 6f 72 0a lack.the.resources.required.for.
26700 65 78 74 65 6e 73 69 76 65 20 74 65 73 74 69 6e 67 20 69 6e 20 61 6c 6c 20 63 69 72 63 75 6d 73 extensive.testing.in.all.circums
26720 74 61 6e 63 65 73 2e 20 49 74 20 69 73 20 75 70 20 74 6f 20 79 6f 75 20 74 6f 20 74 65 73 74 20 tances..It.is.up.to.you.to.test.
26740 6c 7a 69 70 20 62 65 66 6f 72 65 0a 75 73 69 6e 67 20 69 74 20 69 6e 20 6d 69 73 73 69 6f 6e 2d lzip.before.using.it.in.mission-
26760 63 72 69 74 69 63 61 6c 20 61 70 70 6c 69 63 61 74 69 6f 6e 73 2e 20 48 6f 77 65 76 65 72 2c 20 critical.applications..However,.
26780 61 20 63 6f 6d 70 72 65 73 73 6f 72 20 6c 69 6b 65 20 6c 7a 69 70 0a 69 73 20 6e 6f 74 20 61 20 a.compressor.like.lzip.is.not.a.
267a0 74 6f 79 2c 20 61 6e 64 20 6d 61 69 6e 74 61 69 6e 69 6e 67 20 69 74 20 69 73 20 6e 6f 74 20 61 toy,.and.maintaining.it.is.not.a
267c0 20 68 6f 62 62 79 2e 20 4d 61 6e 79 20 70 65 6f 70 6c 65 27 73 20 64 61 74 61 20 64 65 70 65 6e .hobby..Many.people's.data.depen
267e0 64 0a 6f 6e 20 69 74 2e 20 54 68 65 72 65 66 6f 72 65 20 74 68 65 20 6c 7a 69 70 20 66 69 6c 65 d.on.it..Therefore.the.lzip.file
26800 20 66 6f 72 6d 61 74 20 68 61 73 20 62 65 65 6e 20 72 65 76 69 65 77 65 64 20 63 61 72 65 66 75 .format.has.been.reviewed.carefu
26820 6c 6c 79 20 61 6e 64 20 69 73 0a 62 65 6c 69 65 76 65 64 20 74 6f 20 62 65 20 66 72 65 65 20 66 lly.and.is.believed.to.be.free.f
26840 72 6f 6d 20 6e 65 67 6c 69 67 65 6e 74 20 64 65 73 69 67 6e 20 65 72 72 6f 72 73 2e 0a 0a 4c 7a rom.negligent.design.errors...Lz
26860 69 70 20 68 61 73 20 62 65 65 6e 20 64 65 73 69 67 6e 65 64 2c 20 77 72 69 74 74 65 6e 2c 20 61 ip.has.been.designed,.written,.a
26880 6e 64 20 74 65 73 74 65 64 20 77 69 74 68 20 67 72 65 61 74 20 63 61 72 65 20 74 6f 20 72 65 70 nd.tested.with.great.care.to.rep
268a0 6c 61 63 65 20 67 7a 69 70 0a 61 6e 64 20 62 7a 69 70 32 20 61 73 20 74 68 65 20 73 74 61 6e 64 lace.gzip.and.bzip2.as.the.stand
268c0 61 72 64 20 67 65 6e 65 72 61 6c 2d 70 75 72 70 6f 73 65 20 63 6f 6d 70 72 65 73 73 65 64 20 66 ard.general-purpose.compressed.f
268e0 6f 72 6d 61 74 20 66 6f 72 20 75 6e 69 78 2d 6c 69 6b 65 0a 73 79 73 74 65 6d 73 2e 20 54 68 69 ormat.for.unix-like.systems..Thi
26900 73 20 63 68 61 70 74 65 72 20 64 65 73 63 72 69 62 65 73 20 74 68 65 20 6c 65 73 73 6f 6e 73 20 s.chapter.describes.the.lessons.
26920 6c 65 61 72 6e 65 64 20 66 72 6f 6d 20 74 68 65 73 65 20 70 72 65 76 69 6f 75 73 0a 66 6f 72 6d learned.from.these.previous.form
26940 61 74 73 2c 20 61 6e 64 20 74 68 65 69 72 20 61 70 70 6c 69 63 61 74 69 6f 6e 20 74 6f 20 74 68 ats,.and.their.application.to.th
26960 65 20 64 65 73 69 67 6e 20 6f 66 20 6c 7a 69 70 2e 0a 0a 40 73 70 20 31 0a 40 73 65 63 74 69 6f e.design.of.lzip...@sp.1.@sectio
26980 6e 20 46 6f 72 6d 61 74 20 64 65 73 69 67 6e 0a 0a 57 68 65 6e 20 67 7a 69 70 20 77 61 73 20 64 n.Format.design..When.gzip.was.d
269a0 65 73 69 67 6e 65 64 20 69 6e 20 31 39 39 32 2c 20 63 6f 6d 70 75 74 65 72 73 20 61 6e 64 20 6f esigned.in.1992,.computers.and.o
269c0 70 65 72 61 74 69 6e 67 20 73 79 73 74 65 6d 73 20 77 65 72 65 20 6d 75 63 68 0a 6c 65 73 73 20 perating.systems.were.much.less.
269e0 63 61 70 61 62 6c 65 20 74 68 61 6e 20 74 68 65 79 20 61 72 65 20 74 6f 64 61 79 2e 20 54 68 65 capable.than.they.are.today..The
26a00 20 64 65 73 69 67 6e 65 72 73 20 6f 66 20 67 7a 69 70 20 74 72 69 65 64 20 74 6f 20 77 6f 72 6b .designers.of.gzip.tried.to.work
26a20 20 61 72 6f 75 6e 64 0a 73 6f 6d 65 20 6f 66 20 74 68 6f 73 65 20 6c 69 6d 69 74 61 74 69 6f 6e .around.some.of.those.limitation
26a40 73 2c 20 6c 69 6b 65 20 38 2e 33 20 66 69 6c 65 20 6e 61 6d 65 73 2c 20 77 69 74 68 20 61 64 64 s,.like.8.3.file.names,.with.add
26a60 69 74 69 6f 6e 61 6c 20 66 69 65 6c 64 73 20 69 6e 0a 74 68 65 20 66 69 6c 65 20 66 6f 72 6d 61 itional.fields.in.the.file.forma
26a80 74 2e 0a 0a 54 6f 64 61 79 20 74 68 6f 73 65 20 6c 69 6d 69 74 61 74 69 6f 6e 73 20 68 61 76 65 t...Today.those.limitations.have
26aa0 20 6d 6f 73 74 6c 79 20 64 69 73 61 70 70 65 61 72 65 64 2c 20 61 6e 64 20 74 68 65 20 66 6f 72 .mostly.disappeared,.and.the.for
26ac0 6d 61 74 20 6f 66 20 67 7a 69 70 20 68 61 73 0a 70 72 6f 76 65 64 20 74 6f 20 62 65 20 75 6e 6e mat.of.gzip.has.proved.to.be.unn
26ae0 65 63 65 73 73 61 72 69 6c 79 20 63 6f 6d 70 6c 69 63 61 74 65 64 2e 20 49 74 20 69 6e 63 6c 75 ecessarily.complicated..It.inclu
26b00 64 65 73 20 66 69 65 6c 64 73 20 74 68 61 74 20 77 65 72 65 20 6e 65 76 65 72 0a 75 73 65 64 2c des.fields.that.were.never.used,
26b20 20 6f 74 68 65 72 73 20 74 68 61 74 20 68 61 76 65 20 6c 6f 73 74 20 74 68 65 69 72 20 75 73 65 .others.that.have.lost.their.use
26b40 66 75 6c 6e 65 73 73 2c 20 61 6e 64 20 66 69 6e 61 6c 6c 79 20 6f 74 68 65 72 73 20 74 68 61 74 fulness,.and.finally.others.that
26b60 20 68 61 76 65 0a 62 65 63 6f 6d 65 20 74 6f 6f 20 6c 69 6d 69 74 65 64 2e 0a 0a 42 7a 69 70 32 .have.become.too.limited...Bzip2
26b80 20 77 61 73 20 64 65 73 69 67 6e 65 64 20 35 20 79 65 61 72 73 20 6c 61 74 65 72 2c 20 61 6e 64 .was.designed.5.years.later,.and
26ba0 20 69 74 73 20 66 6f 72 6d 61 74 20 69 73 20 73 69 6d 70 6c 65 72 20 74 68 61 6e 20 74 68 65 20 .its.format.is.simpler.than.the.
26bc0 6f 6e 65 20 6f 66 0a 67 7a 69 70 2e 0a 0a 50 72 6f 62 61 62 6c 79 20 74 68 65 20 77 6f 72 73 74 one.of.gzip...Probably.the.worst
26be0 20 64 65 66 65 63 74 20 6f 66 20 74 68 65 20 67 7a 69 70 20 66 6f 72 6d 61 74 20 66 72 6f 6d 20 .defect.of.the.gzip.format.from.
26c00 74 68 65 20 70 6f 69 6e 74 20 6f 66 20 76 69 65 77 20 6f 66 20 64 61 74 61 0a 73 61 66 65 74 79 the.point.of.view.of.data.safety
26c20 20 69 73 20 74 68 65 20 76 61 72 69 61 62 6c 65 20 73 69 7a 65 20 6f 66 20 69 74 73 20 68 65 61 .is.the.variable.size.of.its.hea
26c40 64 65 72 2e 20 49 66 20 74 68 65 20 62 79 74 65 20 61 74 20 6f 66 66 73 65 74 20 33 20 28 66 6c der..If.the.byte.at.offset.3.(fl
26c60 61 67 73 29 0a 6f 66 20 61 20 67 7a 69 70 20 6d 65 6d 62 65 72 20 67 65 74 73 20 63 6f 72 72 75 ags).of.a.gzip.member.gets.corru
26c80 70 74 65 64 2c 20 69 74 20 6d 61 79 20 62 65 63 6f 6d 65 20 64 69 66 66 69 63 75 6c 74 20 74 6f pted,.it.may.become.difficult.to
26ca0 20 72 65 63 6f 76 65 72 20 74 68 65 0a 64 61 74 61 2c 20 65 76 65 6e 20 69 66 20 74 68 65 20 63 .recover.the.data,.even.if.the.c
26cc0 6f 6d 70 72 65 73 73 65 64 20 62 6c 6f 63 6b 73 20 61 72 65 20 69 6e 74 61 63 74 2c 20 62 65 63 ompressed.blocks.are.intact,.bec
26ce0 61 75 73 65 20 69 74 20 63 61 6e 27 74 20 62 65 20 6b 6e 6f 77 6e 0a 77 69 74 68 20 63 65 72 74 ause.it.can't.be.known.with.cert
26d00 61 69 6e 74 79 20 77 68 65 72 65 20 74 68 65 20 63 6f 6d 70 72 65 73 73 65 64 20 62 6c 6f 63 6b ainty.where.the.compressed.block
26d20 73 20 62 65 67 69 6e 2e 0a 0a 42 79 20 63 6f 6e 74 72 61 73 74 2c 20 74 68 65 20 68 65 61 64 65 s.begin...By.contrast,.the.heade
26d40 72 20 6f 66 20 61 20 6c 7a 69 70 20 6d 65 6d 62 65 72 20 68 61 73 20 61 20 66 69 78 65 64 20 6c r.of.a.lzip.member.has.a.fixed.l
26d60 65 6e 67 74 68 20 6f 66 20 36 2e 20 54 68 65 20 4c 5a 4d 41 0a 73 74 72 65 61 6d 20 69 6e 20 61 ength.of.6..The.LZMA.stream.in.a
26d80 20 6c 7a 69 70 20 6d 65 6d 62 65 72 20 61 6c 77 61 79 73 20 73 74 61 72 74 73 20 61 74 20 6f 66 .lzip.member.always.starts.at.of
26da0 66 73 65 74 20 36 2c 20 6d 61 6b 69 6e 67 20 69 74 20 74 72 69 76 69 61 6c 20 74 6f 0a 72 65 63 fset.6,.making.it.trivial.to.rec
26dc0 6f 76 65 72 20 74 68 65 20 64 61 74 61 20 65 76 65 6e 20 69 66 20 74 68 65 20 77 68 6f 6c 65 20 over.the.data.even.if.the.whole.
26de0 68 65 61 64 65 72 20 62 65 63 6f 6d 65 73 20 63 6f 72 72 75 70 74 2e 0a 0a 42 7a 69 70 32 20 61 header.becomes.corrupt...Bzip2.a
26e00 6c 73 6f 20 70 72 6f 76 69 64 65 73 20 61 20 68 65 61 64 65 72 20 6f 66 20 66 69 78 65 64 20 6c lso.provides.a.header.of.fixed.l
26e20 65 6e 67 74 68 20 61 6e 64 20 6d 61 72 6b 73 20 74 68 65 20 62 65 67 69 6e 20 61 6e 64 20 65 6e ength.and.marks.the.begin.and.en
26e40 64 20 6f 66 0a 65 61 63 68 20 63 6f 6d 70 72 65 73 73 65 64 20 62 6c 6f 63 6b 20 77 69 74 68 20 d.of.each.compressed.block.with.
26e60 73 69 78 20 6d 61 67 69 63 20 62 79 74 65 73 2c 20 6d 61 6b 69 6e 67 20 69 74 20 70 6f 73 73 69 six.magic.bytes,.making.it.possi
26e80 62 6c 65 20 74 6f 20 66 69 6e 64 20 74 68 65 0a 63 6f 6d 70 72 65 73 73 65 64 20 62 6c 6f 63 6b ble.to.find.the.compressed.block
26ea0 73 20 65 76 65 6e 20 69 6e 20 63 61 73 65 20 6f 66 20 66 69 6c 65 20 64 61 6d 61 67 65 2e 20 42 s.even.in.case.of.file.damage..B
26ec0 75 74 20 62 7a 69 70 32 20 64 6f 65 73 20 6e 6f 74 20 73 74 6f 72 65 20 74 68 65 0a 73 69 7a 65 ut.bzip2.does.not.store.the.size
26ee0 20 6f 66 20 65 61 63 68 20 63 6f 6d 70 72 65 73 73 65 64 20 62 6c 6f 63 6b 2c 20 61 73 20 6c 7a .of.each.compressed.block,.as.lz
26f00 69 70 20 64 6f 65 73 2e 0a 0a 4c 7a 69 70 72 65 63 6f 76 65 72 20 69 73 20 61 62 6c 65 20 74 6f ip.does...Lziprecover.is.able.to
26f20 20 70 72 6f 76 69 64 65 20 75 6e 69 71 75 65 20 64 61 74 61 20 72 65 63 6f 76 65 72 79 20 63 61 .provide.unique.data.recovery.ca
26f40 70 61 62 69 6c 69 74 69 65 73 20 62 65 63 61 75 73 65 20 74 68 65 0a 6c 7a 69 70 20 66 6f 72 6d pabilities.because.the.lzip.form
26f60 61 74 20 69 73 20 65 78 74 72 61 6f 72 64 69 6e 61 72 69 6c 79 20 73 61 66 65 2e 20 54 68 65 20 at.is.extraordinarily.safe..The.
26f80 73 69 6d 70 6c 65 20 61 6e 64 20 73 61 66 65 20 64 65 73 69 67 6e 20 6f 66 20 74 68 65 20 66 69 simple.and.safe.design.of.the.fi
26fa0 6c 65 0a 66 6f 72 6d 61 74 20 63 6f 6d 70 6c 65 6d 65 6e 74 73 20 74 68 65 20 65 6d 62 65 64 64 le.format.complements.the.embedd
26fc0 65 64 20 65 72 72 6f 72 20 64 65 74 65 63 74 69 6f 6e 20 70 72 6f 76 69 64 65 64 20 62 79 20 74 ed.error.detection.provided.by.t
26fe0 68 65 20 4c 5a 4d 41 20 64 61 74 61 0a 73 74 72 65 61 6d 2e 20 41 6e 79 20 64 69 73 74 61 6e 63 he.LZMA.data.stream..Any.distanc
27000 65 20 6c 61 72 67 65 72 20 74 68 61 6e 20 74 68 65 20 64 69 63 74 69 6f 6e 61 72 79 20 73 69 7a e.larger.than.the.dictionary.siz
27020 65 20 61 63 74 73 20 61 73 20 61 20 66 6f 72 62 69 64 64 65 6e 0a 73 79 6d 62 6f 6c 2c 20 61 6c e.acts.as.a.forbidden.symbol,.al
27040 6c 6f 77 69 6e 67 20 74 68 65 20 64 65 63 6f 6d 70 72 65 73 73 6f 72 20 74 6f 20 64 65 74 65 63 lowing.the.decompressor.to.detec
27060 74 20 74 68 65 20 61 70 70 72 6f 78 69 6d 61 74 65 20 70 6f 73 69 74 69 6f 6e 20 6f 66 0a 65 72 t.the.approximate.position.of.er
27080 72 6f 72 73 2c 20 61 6e 64 20 6c 65 61 76 69 6e 67 20 76 65 72 79 20 6c 69 74 74 6c 65 20 77 6f rors,.and.leaving.very.little.wo
270a0 72 6b 20 66 6f 72 20 74 68 65 20 63 68 65 63 6b 20 73 65 71 75 65 6e 63 65 20 28 43 52 43 20 61 rk.for.the.check.sequence.(CRC.a
270c0 6e 64 20 64 61 74 61 0a 73 69 7a 65 73 29 20 69 6e 20 74 68 65 20 64 65 74 65 63 74 69 6f 6e 20 nd.data.sizes).in.the.detection.
270e0 6f 66 20 65 72 72 6f 72 73 2e 20 4c 7a 69 70 20 69 73 20 75 73 75 61 6c 6c 79 20 61 62 6c 65 20 of.errors..Lzip.is.usually.able.
27100 74 6f 20 64 65 74 65 63 74 20 61 6c 6c 0a 70 6f 73 73 69 62 6c 65 20 62 69 74 20 66 6c 69 70 73 to.detect.all.possible.bit.flips
27120 20 69 6e 20 74 68 65 20 63 6f 6d 70 72 65 73 73 65 64 20 64 61 74 61 20 77 69 74 68 6f 75 74 20 .in.the.compressed.data.without.
27140 72 65 73 6f 72 74 69 6e 67 20 74 6f 20 74 68 65 20 63 68 65 63 6b 0a 73 65 71 75 65 6e 63 65 2e resorting.to.the.check.sequence.
27160 20 49 74 20 77 6f 75 6c 64 20 62 65 20 64 69 66 66 69 63 75 6c 74 20 74 6f 20 77 72 69 74 65 20 .It.would.be.difficult.to.write.
27180 61 6e 20 61 75 74 6f 6d 61 74 69 63 20 72 65 63 6f 76 65 72 79 20 74 6f 6f 6c 20 6c 69 6b 65 0a an.automatic.recovery.tool.like.
271a0 6c 7a 69 70 72 65 63 6f 76 65 72 20 66 6f 72 20 74 68 65 20 67 7a 69 70 20 66 6f 72 6d 61 74 2e lziprecover.for.the.gzip.format.
271c0 20 41 6e 64 2c 20 61 73 20 66 61 72 20 61 73 20 49 20 6b 6e 6f 77 2c 20 69 74 20 68 61 73 20 6e .And,.as.far.as.I.know,.it.has.n
271e0 65 76 65 72 20 62 65 65 6e 0a 77 72 69 74 74 65 6e 2e 0a 0a 4c 7a 69 70 2c 20 6c 69 6b 65 20 67 ever.been.written...Lzip,.like.g
27200 7a 69 70 20 61 6e 64 20 62 7a 69 70 32 2c 20 75 73 65 73 20 61 20 43 52 43 33 32 20 74 6f 20 63 zip.and.bzip2,.uses.a.CRC32.to.c
27220 68 65 63 6b 20 74 68 65 20 69 6e 74 65 67 72 69 74 79 20 6f 66 20 74 68 65 0a 64 65 63 6f 6d 70 heck.the.integrity.of.the.decomp
27240 72 65 73 73 65 64 20 64 61 74 61 20 62 65 63 61 75 73 65 20 69 74 20 70 72 6f 76 69 64 65 73 20 ressed.data.because.it.provides.
27260 6f 70 74 69 6d 61 6c 20 61 63 63 75 72 61 63 79 20 69 6e 20 74 68 65 20 64 65 74 65 63 74 69 6f optimal.accuracy.in.the.detectio
27280 6e 20 6f 66 0a 65 72 72 6f 72 73 20 75 70 20 74 6f 20 61 20 63 6f 6d 70 72 65 73 73 65 64 20 73 n.of.errors.up.to.a.compressed.s
272a0 69 7a 65 20 6f 66 20 61 62 6f 75 74 20 40 77 7b 31 36 20 47 69 42 7d 2c 20 61 20 73 69 7a 65 20 ize.of.about.@w{16.GiB},.a.size.
272c0 6c 61 72 67 65 72 20 74 68 61 6e 20 74 68 61 74 0a 6f 66 20 6d 6f 73 74 20 66 69 6c 65 73 2e 20 larger.than.that.of.most.files..
272e0 49 6e 20 74 68 65 20 63 61 73 65 20 6f 66 20 6c 7a 69 70 2c 20 74 68 65 20 61 64 64 69 74 69 6f In.the.case.of.lzip,.the.additio
27300 6e 61 6c 20 64 65 74 65 63 74 69 6f 6e 20 63 61 70 61 62 69 6c 69 74 79 20 6f 66 0a 74 68 65 20 nal.detection.capability.of.the.
27320 64 65 63 6f 6d 70 72 65 73 73 6f 72 20 72 65 64 75 63 65 73 20 74 68 65 20 70 72 6f 62 61 62 69 decompressor.reduces.the.probabi
27340 6c 69 74 79 20 6f 66 20 75 6e 64 65 74 65 63 74 65 64 20 65 72 72 6f 72 73 20 73 65 76 65 72 61 lity.of.undetected.errors.severa
27360 6c 0a 6d 69 6c 6c 69 6f 6e 20 74 69 6d 65 73 20 6d 6f 72 65 2c 20 72 65 73 75 6c 74 69 6e 67 20 l.million.times.more,.resulting.
27380 69 6e 20 61 20 63 6f 6d 62 69 6e 65 64 20 69 6e 74 65 67 72 69 74 79 20 63 68 65 63 6b 69 6e 67 in.a.combined.integrity.checking
273a0 20 6f 70 74 69 6d 61 6c 6c 79 0a 61 63 63 75 72 61 74 65 20 66 6f 72 20 61 6e 79 20 6d 65 6d 62 .optimally.accurate.for.any.memb
273c0 65 72 20 73 69 7a 65 20 70 72 6f 64 75 63 65 64 20 62 79 20 6c 7a 69 70 2e 20 50 72 65 6c 69 6d er.size.produced.by.lzip..Prelim
273e0 69 6e 61 72 79 20 72 65 73 75 6c 74 73 20 73 75 67 67 65 73 74 0a 74 68 61 74 20 74 68 65 20 6c inary.results.suggest.that.the.l
27400 7a 69 70 20 66 6f 72 6d 61 74 20 69 73 20 73 61 66 65 20 65 6e 6f 75 67 68 20 74 6f 20 62 65 20 zip.format.is.safe.enough.to.be.
27420 75 73 65 64 20 69 6e 20 63 72 69 74 69 63 61 6c 20 73 61 66 65 74 79 20 61 76 69 6f 6e 69 63 73 used.in.critical.safety.avionics
27440 0a 73 79 73 74 65 6d 73 2e 0a 0a 54 68 65 20 6c 7a 69 70 20 66 6f 72 6d 61 74 20 69 73 20 64 65 .systems...The.lzip.format.is.de
27460 73 69 67 6e 65 64 20 66 6f 72 20 6c 6f 6e 67 2d 74 65 72 6d 20 61 72 63 68 69 76 69 6e 67 2e 20 signed.for.long-term.archiving..
27480 54 68 65 72 65 66 6f 72 65 20 69 74 20 65 78 63 6c 75 64 65 73 0a 61 6e 79 20 75 6e 6e 65 65 64 Therefore.it.excludes.any.unneed
274a0 65 64 20 66 65 61 74 75 72 65 73 20 74 68 61 74 20 6d 61 79 20 69 6e 74 65 72 66 65 72 65 20 77 ed.features.that.may.interfere.w
274c0 69 74 68 20 74 68 65 20 66 75 74 75 72 65 20 65 78 74 72 61 63 74 69 6f 6e 20 6f 66 20 74 68 65 ith.the.future.extraction.of.the
274e0 0a 64 65 63 6f 6d 70 72 65 73 73 65 64 20 64 61 74 61 2e 0a 0a 40 73 70 20 31 0a 40 73 75 62 73 .decompressed.data...@sp.1.@subs
27500 65 63 74 69 6f 6e 20 47 7a 69 70 20 66 6f 72 6d 61 74 20 28 6d 69 73 29 66 65 61 74 75 72 65 73 ection.Gzip.format.(mis)features
27520 20 6e 6f 74 20 70 72 65 73 65 6e 74 20 69 6e 20 6c 7a 69 70 0a 0a 40 74 61 62 6c 65 20 40 73 61 .not.present.in.lzip..@table.@sa
27540 6d 70 0a 40 69 74 65 6d 20 4d 75 6c 74 69 70 6c 65 20 61 6c 67 6f 72 69 74 68 6d 73 0a 0a 47 7a mp.@item.Multiple.algorithms..Gz
27560 69 70 20 70 72 6f 76 69 64 65 73 20 61 20 43 4d 20 28 43 6f 6d 70 72 65 73 73 69 6f 6e 20 4d 65 ip.provides.a.CM.(Compression.Me
27580 74 68 6f 64 29 20 66 69 65 6c 64 20 74 68 61 74 20 68 61 73 20 6e 65 76 65 72 20 62 65 65 6e 20 thod).field.that.has.never.been.
275a0 75 73 65 64 0a 62 65 63 61 75 73 65 20 69 74 20 69 73 20 61 20 62 61 64 20 69 64 65 61 20 74 6f used.because.it.is.a.bad.idea.to
275c0 20 62 65 67 69 6e 20 77 69 74 68 2e 20 4e 65 77 20 63 6f 6d 70 72 65 73 73 69 6f 6e 20 6d 65 74 .begin.with..New.compression.met
275e0 68 6f 64 73 20 6d 61 79 20 72 65 71 75 69 72 65 0a 61 64 64 69 74 69 6f 6e 61 6c 20 66 69 65 6c hods.may.require.additional.fiel
27600 64 73 2c 20 6d 61 6b 69 6e 67 20 69 74 20 69 6d 70 6f 73 73 69 62 6c 65 20 74 6f 20 69 6d 70 6c ds,.making.it.impossible.to.impl
27620 65 6d 65 6e 74 20 6e 65 77 20 6d 65 74 68 6f 64 73 20 61 6e 64 2c 20 61 74 20 74 68 65 0a 73 61 ement.new.methods.and,.at.the.sa
27640 6d 65 20 74 69 6d 65 2c 20 6b 65 65 70 20 74 68 65 20 73 61 6d 65 20 66 6f 72 6d 61 74 2e 20 54 me.time,.keep.the.same.format..T
27660 68 69 73 20 66 69 65 6c 64 20 64 6f 65 73 20 6e 6f 74 20 73 6f 6c 76 65 20 74 68 65 20 70 72 6f his.field.does.not.solve.the.pro
27680 62 6c 65 6d 20 6f 66 0a 66 6f 72 6d 61 74 20 70 72 6f 6c 69 66 65 72 61 74 69 6f 6e 3b 20 69 74 blem.of.format.proliferation;.it
276a0 20 6a 75 73 74 20 6d 61 6b 65 73 20 74 68 65 20 70 72 6f 62 6c 65 6d 20 6c 65 73 73 20 6f 62 76 .just.makes.the.problem.less.obv
276c0 69 6f 75 73 2e 0a 0a 40 69 74 65 6d 20 4f 70 74 69 6f 6e 61 6c 20 66 69 65 6c 64 73 20 69 6e 20 ious...@item.Optional.fields.in.
276e0 68 65 61 64 65 72 0a 0a 55 6e 6c 65 73 73 20 73 70 65 63 69 61 6c 20 70 72 65 63 61 75 74 69 6f header..Unless.special.precautio
27700 6e 73 20 61 72 65 20 74 61 6b 65 6e 2c 20 6f 70 74 69 6f 6e 61 6c 20 66 69 65 6c 64 73 20 61 72 ns.are.taken,.optional.fields.ar
27720 65 20 67 65 6e 65 72 61 6c 6c 79 20 61 20 62 61 64 0a 69 64 65 61 20 62 65 63 61 75 73 65 20 74 e.generally.a.bad.idea.because.t
27740 68 65 79 20 70 72 6f 64 75 63 65 20 61 20 68 65 61 64 65 72 20 6f 66 20 76 61 72 69 61 62 6c 65 hey.produce.a.header.of.variable
27760 20 73 69 7a 65 2e 20 54 68 65 20 67 7a 69 70 20 68 65 61 64 65 72 20 68 61 73 20 32 0a 66 69 65 .size..The.gzip.header.has.2.fie
27780 6c 64 73 20 74 68 61 74 2c 20 69 6e 20 61 64 64 69 74 69 6f 6e 20 74 6f 20 62 65 69 6e 67 20 6f lds.that,.in.addition.to.being.o
277a0 70 74 69 6f 6e 61 6c 2c 20 61 72 65 20 7a 65 72 6f 2d 74 65 72 6d 69 6e 61 74 65 64 2e 20 54 68 ptional,.are.zero-terminated..Th
277c0 69 73 20 6d 65 61 6e 73 0a 74 68 61 74 20 69 66 20 61 6e 79 20 62 79 74 65 20 69 6e 73 69 64 65 is.means.that.if.any.byte.inside
277e0 20 74 68 65 20 66 69 65 6c 64 20 67 65 74 73 20 7a 65 72 6f 65 64 2c 20 6f 72 20 69 66 20 74 68 .the.field.gets.zeroed,.or.if.th
27800 65 20 74 65 72 6d 69 6e 61 74 69 6e 67 20 7a 65 72 6f 0a 67 65 74 73 20 61 6c 74 65 72 65 64 2c e.terminating.zero.gets.altered,
27820 20 67 7a 69 70 20 77 6f 6e 27 74 20 62 65 20 61 62 6c 65 20 74 6f 20 66 69 6e 64 20 6e 65 69 74 .gzip.won't.be.able.to.find.neit
27840 68 65 72 20 74 68 65 20 68 65 61 64 65 72 20 43 52 43 20 6e 6f 72 20 74 68 65 0a 63 6f 6d 70 72 her.the.header.CRC.nor.the.compr
27860 65 73 73 65 64 20 62 6c 6f 63 6b 73 2e 0a 0a 40 69 74 65 6d 20 4f 70 74 69 6f 6e 61 6c 20 43 52 essed.blocks...@item.Optional.CR
27880 43 20 66 6f 72 20 74 68 65 20 68 65 61 64 65 72 0a 0a 55 73 69 6e 67 20 61 6e 20 6f 70 74 69 6f C.for.the.header..Using.an.optio
278a0 6e 61 6c 20 43 52 43 20 66 6f 72 20 74 68 65 20 68 65 61 64 65 72 20 69 73 20 6e 6f 74 20 6f 6e nal.CRC.for.the.header.is.not.on
278c0 6c 79 20 61 20 62 61 64 20 69 64 65 61 2c 20 69 74 20 69 73 20 61 6e 20 65 72 72 6f 72 3b 0a 69 ly.a.bad.idea,.it.is.an.error;.i
278e0 74 20 63 69 72 63 75 6d 76 65 6e 74 73 20 74 68 65 20 48 61 6d 6d 69 6e 67 20 64 69 73 74 61 6e t.circumvents.the.Hamming.distan
27900 63 65 20 28 48 44 29 20 6f 66 20 74 68 65 20 43 52 43 20 61 6e 64 20 6d 61 79 20 70 72 65 76 65 ce.(HD).of.the.CRC.and.may.preve
27920 6e 74 20 74 68 65 0a 65 78 74 72 61 63 74 69 6f 6e 20 6f 66 20 70 65 72 66 65 63 74 6c 79 20 67 nt.the.extraction.of.perfectly.g
27940 6f 6f 64 20 64 61 74 61 2e 20 46 6f 72 20 65 78 61 6d 70 6c 65 2c 20 69 66 20 74 68 65 20 43 52 ood.data..For.example,.if.the.CR
27960 43 20 69 73 20 75 73 65 64 20 61 6e 64 20 74 68 65 0a 62 69 74 20 65 6e 61 62 6c 69 6e 67 20 69 C.is.used.and.the.bit.enabling.i
27980 74 20 69 73 20 72 65 73 65 74 20 62 79 20 61 20 62 69 74 20 66 6c 69 70 2c 20 74 68 65 20 68 65 t.is.reset.by.a.bit.flip,.the.he
279a0 61 64 65 72 20 77 69 6c 6c 20 61 70 70 65 61 72 20 74 6f 20 62 65 20 69 6e 74 61 63 74 0a 28 69 ader.will.appear.to.be.intact.(i
279c0 6e 20 73 70 69 74 65 20 6f 66 20 62 65 69 6e 67 20 63 6f 72 72 75 70 74 29 20 77 68 69 6c 65 20 n.spite.of.being.corrupt).while.
279e0 74 68 65 20 63 6f 6d 70 72 65 73 73 65 64 20 62 6c 6f 63 6b 73 20 77 69 6c 6c 20 61 70 70 65 61 the.compressed.blocks.will.appea
27a00 72 20 74 6f 20 62 65 0a 74 6f 74 61 6c 6c 79 20 75 6e 72 65 63 6f 76 65 72 61 62 6c 65 20 28 69 r.to.be.totally.unrecoverable.(i
27a20 6e 20 73 70 69 74 65 20 6f 66 20 62 65 69 6e 67 20 69 6e 74 61 63 74 29 2e 20 56 65 72 79 20 6d n.spite.of.being.intact)..Very.m
27a40 69 73 6c 65 61 64 69 6e 67 20 69 6e 64 65 65 64 2e 0a 0a 40 69 74 65 6d 20 4d 65 74 61 64 61 74 isleading.indeed...@item.Metadat
27a60 61 0a 0a 54 68 65 20 67 7a 69 70 20 66 6f 72 6d 61 74 20 73 74 6f 72 65 73 20 73 6f 6d 65 20 6d a..The.gzip.format.stores.some.m
27a80 65 74 61 64 61 74 61 2c 20 6c 69 6b 65 20 74 68 65 20 6d 6f 64 69 66 69 63 61 74 69 6f 6e 20 74 etadata,.like.the.modification.t
27aa0 69 6d 65 20 6f 66 20 74 68 65 0a 6f 72 69 67 69 6e 61 6c 20 66 69 6c 65 20 6f 72 20 74 68 65 20 ime.of.the.original.file.or.the.
27ac0 6f 70 65 72 61 74 69 6e 67 20 73 79 73 74 65 6d 20 6f 6e 20 77 68 69 63 68 20 63 6f 6d 70 72 65 operating.system.on.which.compre
27ae0 73 73 69 6f 6e 20 74 6f 6f 6b 20 70 6c 61 63 65 2e 20 54 68 69 73 0a 63 6f 6d 70 6c 69 63 61 74 ssion.took.place..This.complicat
27b00 65 73 20 72 65 70 72 6f 64 75 63 69 62 6c 65 20 63 6f 6d 70 72 65 73 73 69 6f 6e 20 28 6f 62 74 es.reproducible.compression.(obt
27b20 61 69 6e 69 6e 67 20 69 64 65 6e 74 69 63 61 6c 20 63 6f 6d 70 72 65 73 73 65 64 20 6f 75 74 70 aining.identical.compressed.outp
27b40 75 74 0a 66 72 6f 6d 20 69 64 65 6e 74 69 63 61 6c 20 69 6e 70 75 74 29 2e 0a 0a 40 65 6e 64 20 ut.from.identical.input)...@end.
27b60 74 61 62 6c 65 0a 0a 40 73 75 62 73 65 63 74 69 6f 6e 20 4c 7a 69 70 20 66 6f 72 6d 61 74 20 69 table..@subsection.Lzip.format.i
27b80 6d 70 72 6f 76 65 6d 65 6e 74 73 20 6f 76 65 72 20 67 7a 69 70 20 61 6e 64 20 62 7a 69 70 32 0a mprovements.over.gzip.and.bzip2.
27ba0 0a 40 74 61 62 6c 65 20 40 73 61 6d 70 0a 40 69 74 65 6d 20 36 34 2d 62 69 74 20 73 69 7a 65 20 .@table.@samp.@item.64-bit.size.
27bc0 66 69 65 6c 64 0a 0a 50 72 6f 62 61 62 6c 79 20 74 68 65 20 6d 6f 73 74 20 66 72 65 71 75 65 6e field..Probably.the.most.frequen
27be0 74 6c 79 20 72 65 70 6f 72 74 65 64 20 73 68 6f 72 74 63 6f 6d 69 6e 67 20 6f 66 20 74 68 65 20 tly.reported.shortcoming.of.the.
27c00 67 7a 69 70 20 66 6f 72 6d 61 74 20 69 73 20 74 68 61 74 0a 69 74 20 6f 6e 6c 79 20 73 74 6f 72 gzip.format.is.that.it.only.stor
27c20 65 73 20 74 68 65 20 6c 65 61 73 74 20 73 69 67 6e 69 66 69 63 61 6e 74 20 33 32 20 62 69 74 73 es.the.least.significant.32.bits
27c40 20 6f 66 20 74 68 65 20 75 6e 63 6f 6d 70 72 65 73 73 65 64 20 73 69 7a 65 2e 20 54 68 65 0a 73 .of.the.uncompressed.size..The.s
27c60 69 7a 65 20 6f 66 20 61 6e 79 20 66 69 6c 65 20 6c 61 72 67 65 72 20 74 68 61 6e 20 40 77 7b 34 ize.of.any.file.larger.than.@w{4
27c80 20 47 69 42 7d 20 67 65 74 73 20 74 72 75 6e 63 61 74 65 64 2e 0a 0a 42 7a 69 70 32 20 64 6f 65 .GiB}.gets.truncated...Bzip2.doe
27ca0 73 20 6e 6f 74 20 73 74 6f 72 65 20 74 68 65 20 75 6e 63 6f 6d 70 72 65 73 73 65 64 20 73 69 7a s.not.store.the.uncompressed.siz
27cc0 65 20 6f 66 20 74 68 65 20 66 69 6c 65 2e 0a 0a 54 68 65 20 6c 7a 69 70 20 66 6f 72 6d 61 74 20 e.of.the.file...The.lzip.format.
27ce0 70 72 6f 76 69 64 65 73 20 61 20 36 34 2d 62 69 74 20 66 69 65 6c 64 20 66 6f 72 20 74 68 65 20 provides.a.64-bit.field.for.the.
27d00 75 6e 63 6f 6d 70 72 65 73 73 65 64 20 73 69 7a 65 2e 0a 41 64 64 69 74 69 6f 6e 61 6c 6c 79 2c uncompressed.size..Additionally,
27d20 20 6c 7a 69 70 20 70 72 6f 64 75 63 65 73 20 6d 75 6c 74 69 6d 65 6d 62 65 72 20 6f 75 74 70 75 .lzip.produces.multimember.outpu
27d40 74 20 61 75 74 6f 6d 61 74 69 63 61 6c 6c 79 20 77 68 65 6e 20 74 68 65 20 73 69 7a 65 0a 69 73 t.automatically.when.the.size.is
27d60 20 74 6f 6f 20 6c 61 72 67 65 20 66 6f 72 20 61 20 73 69 6e 67 6c 65 20 6d 65 6d 62 65 72 2c 20 .too.large.for.a.single.member,.
27d80 61 6c 6c 6f 77 69 6e 67 20 66 6f 72 20 61 6e 20 75 6e 6c 69 6d 69 74 65 64 20 75 6e 63 6f 6d 70 allowing.for.an.unlimited.uncomp
27da0 72 65 73 73 65 64 0a 73 69 7a 65 2e 0a 0a 40 69 74 65 6d 20 44 69 73 74 72 69 62 75 74 65 64 20 ressed.size...@item.Distributed.
27dc0 69 6e 64 65 78 0a 0a 54 68 65 20 6c 7a 69 70 20 66 6f 72 6d 61 74 20 70 72 6f 76 69 64 65 73 20 index..The.lzip.format.provides.
27de0 61 20 64 69 73 74 72 69 62 75 74 65 64 20 69 6e 64 65 78 20 74 68 61 74 2c 20 61 6d 6f 6e 67 20 a.distributed.index.that,.among.
27e00 6f 74 68 65 72 20 74 68 69 6e 67 73 2c 20 68 65 6c 70 73 0a 70 6c 7a 69 70 20 74 6f 20 64 65 63 other.things,.helps.plzip.to.dec
27e20 6f 6d 70 72 65 73 73 20 73 65 76 65 72 61 6c 20 74 69 6d 65 73 20 66 61 73 74 65 72 20 74 68 61 ompress.several.times.faster.tha
27e40 6e 20 70 69 67 7a 20 61 6e 64 20 68 65 6c 70 73 20 6c 7a 69 70 72 65 63 6f 76 65 72 20 64 6f 0a n.pigz.and.helps.lziprecover.do.
27e60 69 74 73 20 6a 6f 62 2e 20 4e 65 69 74 68 65 72 20 74 68 65 20 67 7a 69 70 20 66 6f 72 6d 61 74 its.job..Neither.the.gzip.format
27e80 20 6e 6f 72 20 74 68 65 20 62 7a 69 70 32 20 66 6f 72 6d 61 74 20 64 6f 20 70 72 6f 76 69 64 65 .nor.the.bzip2.format.do.provide
27ea0 20 61 6e 20 69 6e 64 65 78 2e 0a 0a 41 20 64 69 73 74 72 69 62 75 74 65 64 20 69 6e 64 65 78 20 .an.index...A.distributed.index.
27ec0 69 73 20 73 61 66 65 72 20 61 6e 64 20 6d 6f 72 65 20 73 63 61 6c 61 62 6c 65 20 74 68 61 6e 20 is.safer.and.more.scalable.than.
27ee0 61 20 6d 6f 6e 6f 6c 69 74 68 69 63 20 69 6e 64 65 78 2e 20 54 68 65 0a 6d 6f 6e 6f 6c 69 74 68 a.monolithic.index..The.monolith
27f00 69 63 20 69 6e 64 65 78 20 69 6e 74 72 6f 64 75 63 65 73 20 61 20 73 69 6e 67 6c 65 20 70 6f 69 ic.index.introduces.a.single.poi
27f20 6e 74 20 6f 66 20 66 61 69 6c 75 72 65 20 69 6e 20 74 68 65 20 63 6f 6d 70 72 65 73 73 65 64 20 nt.of.failure.in.the.compressed.
27f40 66 69 6c 65 0a 61 6e 64 20 6d 61 79 20 6c 69 6d 69 74 20 74 68 65 20 6e 75 6d 62 65 72 20 6f 66 file.and.may.limit.the.number.of
27f60 20 6d 65 6d 62 65 72 73 20 6f 72 20 74 68 65 20 74 6f 74 61 6c 20 75 6e 63 6f 6d 70 72 65 73 73 .members.or.the.total.uncompress
27f80 65 64 20 73 69 7a 65 2e 0a 0a 40 65 6e 64 20 74 61 62 6c 65 0a 0a 40 73 65 63 74 69 6f 6e 20 51 ed.size...@end.table..@section.Q
27fa0 75 61 6c 69 74 79 20 6f 66 20 69 6d 70 6c 65 6d 65 6e 74 61 74 69 6f 6e 0a 0a 40 74 61 62 6c 65 uality.of.implementation..@table
27fc0 20 40 73 61 6d 70 0a 40 69 74 65 6d 20 41 63 63 75 72 61 74 65 20 61 6e 64 20 72 6f 62 75 73 74 .@samp.@item.Accurate.and.robust
27fe0 20 65 72 72 6f 72 20 64 65 74 65 63 74 69 6f 6e 0a 0a 54 68 65 20 6c 7a 69 70 20 66 6f 72 6d 61 .error.detection..The.lzip.forma
28000 74 20 70 72 6f 76 69 64 65 73 20 33 20 66 61 63 74 6f 72 20 69 6e 74 65 67 72 69 74 79 20 63 68 t.provides.3.factor.integrity.ch
28020 65 63 6b 69 6e 67 20 61 6e 64 20 74 68 65 20 64 65 63 6f 6d 70 72 65 73 73 6f 72 73 0a 72 65 70 ecking.and.the.decompressors.rep
28040 6f 72 74 20 6d 69 73 6d 61 74 63 68 65 73 20 69 6e 20 65 61 63 68 20 66 61 63 74 6f 72 20 73 65 ort.mismatches.in.each.factor.se
28060 70 61 72 61 74 65 6c 79 2e 20 54 68 69 73 20 77 61 79 20 69 66 20 6a 75 73 74 20 6f 6e 65 20 62 parately..This.way.if.just.one.b
28080 79 74 65 20 69 6e 0a 6f 6e 65 20 66 61 63 74 6f 72 20 66 61 69 6c 73 20 62 75 74 20 74 68 65 20 yte.in.one.factor.fails.but.the.
280a0 6f 74 68 65 72 20 74 77 6f 20 66 61 63 74 6f 72 73 20 6d 61 74 63 68 20 74 68 65 20 64 61 74 61 other.two.factors.match.the.data
280c0 2c 20 69 74 20 70 72 6f 62 61 62 6c 79 20 6d 65 61 6e 73 0a 74 68 61 74 20 74 68 65 20 64 61 74 ,.it.probably.means.that.the.dat
280e0 61 20 61 72 65 20 69 6e 74 61 63 74 20 61 6e 64 20 74 68 65 20 63 6f 72 72 75 70 74 69 6f 6e 20 a.are.intact.and.the.corruption.
28100 6a 75 73 74 20 61 66 66 65 63 74 73 20 74 68 65 20 6d 69 73 6d 61 74 63 68 69 6e 67 0a 66 61 63 just.affects.the.mismatching.fac
28120 74 6f 72 20 28 43 52 43 20 6f 72 20 64 61 74 61 20 73 69 7a 65 29 20 69 6e 20 74 68 65 20 63 68 tor.(CRC.or.data.size).in.the.ch
28140 65 63 6b 20 73 65 71 75 65 6e 63 65 2e 0a 0a 40 69 74 65 6d 20 4d 75 6c 74 69 70 6c 65 20 69 6d eck.sequence...@item.Multiple.im
28160 70 6c 65 6d 65 6e 74 61 74 69 6f 6e 73 0a 0a 4a 75 73 74 20 6c 69 6b 65 20 74 68 65 20 6c 7a 69 plementations..Just.like.the.lzi
28180 70 20 66 6f 72 6d 61 74 20 70 72 6f 76 69 64 65 73 20 33 20 66 61 63 74 6f 72 20 70 72 6f 74 65 p.format.provides.3.factor.prote
281a0 63 74 69 6f 6e 20 61 67 61 69 6e 73 74 20 75 6e 64 65 74 65 63 74 65 64 0a 64 61 74 61 20 63 6f ction.against.undetected.data.co
281c0 72 72 75 70 74 69 6f 6e 2c 20 74 68 65 20 64 65 76 65 6c 6f 70 6d 65 6e 74 20 6d 65 74 68 6f 64 rruption,.the.development.method
281e0 6f 6c 6f 67 79 20 6f 66 20 74 68 65 20 6c 7a 69 70 20 66 61 6d 69 6c 79 20 6f 66 0a 63 6f 6d 70 ology.of.the.lzip.family.of.comp
28200 72 65 73 73 6f 72 73 20 70 72 6f 76 69 64 65 73 20 33 20 66 61 63 74 6f 72 20 70 72 6f 74 65 63 ressors.provides.3.factor.protec
28220 74 69 6f 6e 20 61 67 61 69 6e 73 74 20 75 6e 64 65 74 65 63 74 65 64 20 70 72 6f 67 72 61 6d 6d tion.against.undetected.programm
28240 69 6e 67 0a 65 72 72 6f 72 73 2e 0a 0a 54 68 72 65 65 20 72 65 6c 61 74 65 64 20 62 75 74 20 69 ing.errors...Three.related.but.i
28260 6e 64 65 70 65 6e 64 65 6e 74 20 63 6f 6d 70 72 65 73 73 6f 72 20 69 6d 70 6c 65 6d 65 6e 74 61 ndependent.compressor.implementa
28280 74 69 6f 6e 73 2c 20 6c 7a 69 70 2c 20 63 6c 7a 69 70 2c 20 61 6e 64 0a 6d 69 6e 69 6c 7a 69 70 tions,.lzip,.clzip,.and.minilzip
282a0 2f 6c 7a 6c 69 62 2c 20 61 72 65 20 64 65 76 65 6c 6f 70 65 64 20 63 6f 6e 63 75 72 72 65 6e 74 /lzlib,.are.developed.concurrent
282c0 6c 79 2e 20 45 76 65 72 79 20 73 74 61 62 6c 65 20 72 65 6c 65 61 73 65 20 6f 66 20 61 6e 79 20 ly..Every.stable.release.of.any.
282e0 6f 66 0a 74 68 65 6d 20 69 73 20 74 65 73 74 65 64 20 74 6f 20 76 65 72 69 66 79 20 74 68 61 74 of.them.is.tested.to.verify.that
28300 20 69 74 20 70 72 6f 64 75 63 65 73 20 69 64 65 6e 74 69 63 61 6c 20 6f 75 74 70 75 74 20 74 6f .it.produces.identical.output.to
28320 20 74 68 65 20 6f 74 68 65 72 20 74 77 6f 2e 0a 54 68 69 73 20 67 75 61 72 61 6e 74 65 65 73 20 .the.other.two..This.guarantees.
28340 74 68 61 74 20 61 6c 6c 20 74 68 72 65 65 20 69 6d 70 6c 65 6d 65 6e 74 20 74 68 65 20 73 61 6d that.all.three.implement.the.sam
28360 65 20 61 6c 67 6f 72 69 74 68 6d 2c 20 61 6e 64 20 6d 61 6b 65 73 20 69 74 0a 75 6e 6c 69 6b 65 e.algorithm,.and.makes.it.unlike
28380 6c 79 20 74 68 61 74 20 61 6e 79 20 6f 66 20 74 68 65 6d 20 6d 61 79 20 63 6f 6e 74 61 69 6e 20 ly.that.any.of.them.may.contain.
283a0 73 65 72 69 6f 75 73 20 75 6e 64 69 73 63 6f 76 65 72 65 64 20 65 72 72 6f 72 73 2e 20 49 6e 20 serious.undiscovered.errors..In.
283c0 66 61 63 74 2c 0a 6e 6f 20 65 72 72 6f 72 73 20 68 61 76 65 20 62 65 65 6e 20 64 69 73 63 6f 76 fact,.no.errors.have.been.discov
283e0 65 72 65 64 20 69 6e 20 6c 7a 69 70 20 73 69 6e 63 65 20 32 30 30 39 2e 0a 0a 41 64 64 69 74 69 ered.in.lzip.since.2009...Additi
28400 6f 6e 61 6c 6c 79 2c 20 74 68 65 20 74 68 72 65 65 20 69 6d 70 6c 65 6d 65 6e 74 61 74 69 6f 6e onally,.the.three.implementation
28420 73 20 68 61 76 65 20 62 65 65 6e 20 65 78 74 65 6e 73 69 76 65 6c 79 20 74 65 73 74 65 64 20 77 s.have.been.extensively.tested.w
28440 69 74 68 0a 40 75 72 65 66 7b 68 74 74 70 3a 2f 2f 77 77 77 2e 6e 6f 6e 67 6e 75 2e 6f 72 67 2f ith.@uref{http://www.nongnu.org/
28460 6c 7a 69 70 2f 6d 61 6e 75 61 6c 2f 6c 7a 69 70 72 65 63 6f 76 65 72 5f 6d 61 6e 75 61 6c 2e 68 lzip/manual/lziprecover_manual.h
28480 74 6d 6c 23 55 6e 7a 63 72 61 73 68 2c 2c 75 6e 7a 63 72 61 73 68 7d 2c 0a 76 61 6c 67 72 69 6e tml#Unzcrash,,unzcrash},.valgrin
284a0 64 2c 20 61 6e 64 20 40 73 61 6d 70 7b 61 6d 65 72 69 63 61 6e 20 66 75 7a 7a 79 20 6c 6f 70 7d d,.and.@samp{american.fuzzy.lop}
284c0 20 77 69 74 68 6f 75 74 20 66 69 6e 64 69 6e 67 20 61 20 73 69 6e 67 6c 65 0a 76 75 6c 6e 65 72 .without.finding.a.single.vulner
284e0 61 62 69 6c 69 74 79 20 6f 72 20 66 61 6c 73 65 20 6e 65 67 61 74 69 76 65 2e 0a 40 69 66 6e 6f ability.or.false.negative..@ifno
28500 74 68 74 6d 6c 0a 40 78 72 65 66 7b 55 6e 7a 63 72 61 73 68 2c 2c 2c 6c 7a 69 70 72 65 63 6f 76 thtml.@xref{Unzcrash,,,lziprecov
28520 65 72 7d 2e 0a 40 65 6e 64 20 69 66 6e 6f 74 68 74 6d 6c 0a 0a 40 69 74 65 6d 20 44 69 63 74 69 er}..@end.ifnothtml..@item.Dicti
28540 6f 6e 61 72 79 20 73 69 7a 65 0a 0a 4c 7a 69 70 20 61 75 74 6f 6d 61 74 69 63 61 6c 6c 79 20 61 onary.size..Lzip.automatically.a
28560 64 61 70 74 73 20 74 68 65 20 64 69 63 74 69 6f 6e 61 72 79 20 73 69 7a 65 20 74 6f 20 74 68 65 dapts.the.dictionary.size.to.the
28580 20 73 69 7a 65 20 6f 66 20 65 61 63 68 20 66 69 6c 65 2e 0a 49 6e 20 61 64 64 69 74 69 6f 6e 20 .size.of.each.file..In.addition.
285a0 74 6f 20 72 65 64 75 63 69 6e 67 20 74 68 65 20 61 6d 6f 75 6e 74 20 6f 66 20 6d 65 6d 6f 72 79 to.reducing.the.amount.of.memory
285c0 20 72 65 71 75 69 72 65 64 20 66 6f 72 20 64 65 63 6f 6d 70 72 65 73 73 69 6f 6e 2c 0a 74 68 69 .required.for.decompression,.thi
285e0 73 20 66 65 61 74 75 72 65 20 61 6c 73 6f 20 6d 69 6e 69 6d 69 7a 65 73 20 74 68 65 20 70 72 6f s.feature.also.minimizes.the.pro
28600 62 61 62 69 6c 69 74 79 20 6f 66 20 62 65 69 6e 67 20 61 66 66 65 63 74 65 64 20 62 79 20 52 41 bability.of.being.affected.by.RA
28620 4d 20 65 72 72 6f 72 73 0a 64 75 72 69 6e 67 20 63 6f 6d 70 72 65 73 73 69 6f 6e 2e 20 40 63 20 M.errors.during.compression..@c.
28640 6b 65 79 34 5f 6d 61 73 6b 0a 0a 40 69 74 65 6d 20 45 78 69 74 20 73 74 61 74 75 73 0a 0a 52 65 key4_mask..@item.Exit.status..Re
28660 74 75 72 6e 69 6e 67 20 61 20 77 61 72 6e 69 6e 67 20 73 74 61 74 75 73 20 6f 66 20 32 20 69 73 turning.a.warning.status.of.2.is
28680 20 61 20 64 65 73 69 67 6e 20 66 6c 61 77 20 6f 66 20 63 6f 6d 70 72 65 73 73 20 74 68 61 74 20 .a.design.flaw.of.compress.that.
286a0 6c 65 61 6b 65 64 0a 69 6e 74 6f 20 74 68 65 20 64 65 73 69 67 6e 20 6f 66 20 67 7a 69 70 2e 20 leaked.into.the.design.of.gzip..
286c0 42 6f 74 68 20 62 7a 69 70 32 20 61 6e 64 20 6c 7a 69 70 20 61 72 65 20 66 72 65 65 20 66 72 6f Both.bzip2.and.lzip.are.free.fro
286e0 6d 20 74 68 69 73 20 66 6c 61 77 2e 0a 0a 40 65 6e 64 20 74 61 62 6c 65 0a 0a 0a 40 6e 6f 64 65 m.this.flaw...@end.table...@node
28700 20 46 69 6c 65 20 66 6f 72 6d 61 74 0a 40 63 68 61 70 74 65 72 20 46 69 6c 65 20 66 6f 72 6d 61 .File.format.@chapter.File.forma
28720 74 0a 40 63 69 6e 64 65 78 20 66 69 6c 65 20 66 6f 72 6d 61 74 0a 0a 50 65 72 66 65 63 74 69 6f t.@cindex.file.format..Perfectio
28740 6e 20 69 73 20 72 65 61 63 68 65 64 2c 20 6e 6f 74 20 77 68 65 6e 20 74 68 65 72 65 20 69 73 20 n.is.reached,.not.when.there.is.
28760 6e 6f 20 6c 6f 6e 67 65 72 20 61 6e 79 74 68 69 6e 67 20 74 6f 20 61 64 64 2c 20 62 75 74 0a 77 no.longer.anything.to.add,.but.w
28780 68 65 6e 20 74 68 65 72 65 20 69 73 20 6e 6f 20 6c 6f 6e 67 65 72 20 61 6e 79 74 68 69 6e 67 20 hen.there.is.no.longer.anything.
287a0 74 6f 20 74 61 6b 65 20 61 77 61 79 2e 40 2a 0a 2d 2d 2d 20 41 6e 74 6f 69 6e 65 20 64 65 20 53 to.take.away.@*.---.Antoine.de.S
287c0 61 69 6e 74 2d 45 78 75 70 65 72 79 0a 0a 40 73 70 20 31 0a 49 6e 20 74 68 65 20 64 69 61 67 72 aint-Exupery..@sp.1.In.the.diagr
287e0 61 6d 20 62 65 6c 6f 77 2c 20 61 20 62 6f 78 20 6c 69 6b 65 20 74 68 69 73 3a 0a 0a 40 76 65 72 am.below,.a.box.like.this:..@ver
28800 62 61 74 69 6d 0a 2b 2d 2d 2d 2b 0a 7c 20 20 20 7c 20 3c 2d 2d 20 74 68 65 20 76 65 72 74 69 63 batim.+---+.|...|.<--.the.vertic
28820 61 6c 20 62 61 72 73 20 6d 69 67 68 74 20 62 65 20 6d 69 73 73 69 6e 67 0a 2b 2d 2d 2d 2b 0a 40 al.bars.might.be.missing.+---+.@
28840 65 6e 64 20 76 65 72 62 61 74 69 6d 0a 0a 72 65 70 72 65 73 65 6e 74 73 20 6f 6e 65 20 62 79 74 end.verbatim..represents.one.byt
28860 65 3b 20 61 20 62 6f 78 20 6c 69 6b 65 20 74 68 69 73 3a 0a 0a 40 76 65 72 62 61 74 69 6d 0a 2b e;.a.box.like.this:..@verbatim.+
28880 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 2b 0a 7c 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7c ==============+.|..............|
288a0 0a 2b 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 2b 0a 40 65 6e 64 20 76 65 72 62 61 74 69 6d 0a .+==============+.@end.verbatim.
288c0 0a 72 65 70 72 65 73 65 6e 74 73 20 61 20 76 61 72 69 61 62 6c 65 20 6e 75 6d 62 65 72 20 6f 66 .represents.a.variable.number.of
288e0 20 62 79 74 65 73 2e 0a 0a 40 73 70 20 31 0a 41 20 6c 7a 69 70 20 66 69 6c 65 20 63 6f 6e 73 69 .bytes...@sp.1.A.lzip.file.consi
28900 73 74 73 20 6f 66 20 61 20 73 65 72 69 65 73 20 6f 66 20 22 6d 65 6d 62 65 72 73 22 20 28 63 6f sts.of.a.series.of."members".(co
28920 6d 70 72 65 73 73 65 64 20 64 61 74 61 20 73 65 74 73 29 2e 0a 54 68 65 20 6d 65 6d 62 65 72 73 mpressed.data.sets)..The.members
28940 20 73 69 6d 70 6c 79 20 61 70 70 65 61 72 20 6f 6e 65 20 61 66 74 65 72 20 61 6e 6f 74 68 65 72 .simply.appear.one.after.another
28960 20 69 6e 20 74 68 65 20 66 69 6c 65 2c 20 77 69 74 68 20 6e 6f 0a 61 64 64 69 74 69 6f 6e 61 6c .in.the.file,.with.no.additional
28980 20 69 6e 66 6f 72 6d 61 74 69 6f 6e 20 62 65 66 6f 72 65 2c 20 62 65 74 77 65 65 6e 2c 20 6f 72 .information.before,.between,.or
289a0 20 61 66 74 65 72 20 74 68 65 6d 2e 0a 0a 45 61 63 68 20 6d 65 6d 62 65 72 20 68 61 73 20 74 68 .after.them...Each.member.has.th
289c0 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 73 74 72 75 63 74 75 72 65 3a 0a 0a 40 76 65 72 62 61 74 69 e.following.structure:..@verbati
289e0 6d 0a 2b 2d 2d 2b 2d 2d 2b 2d 2d 2b 2d 2d 2b 2d 2d 2d 2d 2b 2d 2d 2d 2d 2b 3d 3d 3d 3d 3d 3d 3d m.+--+--+--+--+----+----+=======
28a00 3d 3d 3d 3d 3d 3d 2b 2d 2b 2d 2b 2d 2b 2d 2b 2d 2b 2d 2b 2d 2b 2d 2b 2d 2b 2d 2b 2d 2b 2d 2b 2d ======+-+-+-+-+-+-+-+-+-+-+-+-+-
28a20 2b 2d 2b 2d 2b 2d 2b 2d 2b 2d 2b 2d 2b 2d 2b 0a 7c 20 49 44 20 73 74 72 69 6e 67 20 7c 20 56 4e +-+-+-+-+-+-+-+.|.ID.string.|.VN
28a40 20 7c 20 44 53 20 7c 20 4c 5a 4d 41 20 73 74 72 65 61 6d 20 7c 20 43 52 43 33 32 20 7c 20 20 20 .|.DS.|.LZMA.stream.|.CRC32.|...
28a60 44 61 74 61 20 73 69 7a 65 20 20 20 7c 20 20 4d 65 6d 62 65 72 20 73 69 7a 65 20 20 7c 0a 2b 2d Data.size...|..Member.size..|.+-
28a80 2d 2b 2d 2d 2b 2d 2d 2b 2d 2d 2b 2d 2d 2d 2d 2b 2d 2d 2d 2d 2b 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d -+--+--+--+----+----+===========
28aa0 3d 3d 2b 2d 2b 2d 2b 2d 2b 2d 2b 2d 2b 2d 2b 2d 2b 2d 2b 2d 2b 2d 2b 2d 2b 2d 2b 2d 2b 2d 2b 2d ==+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-
28ac0 2b 2d 2b 2d 2b 2d 2b 2d 2b 2d 2b 0a 40 65 6e 64 20 76 65 72 62 61 74 69 6d 0a 0a 41 6c 6c 20 6d +-+-+-+-+-+.@end.verbatim..All.m
28ae0 75 6c 74 69 62 79 74 65 20 76 61 6c 75 65 73 20 61 72 65 20 73 74 6f 72 65 64 20 69 6e 20 6c 69 ultibyte.values.are.stored.in.li
28b00 74 74 6c 65 20 65 6e 64 69 61 6e 20 6f 72 64 65 72 2e 0a 0a 40 74 61 62 6c 65 20 40 73 61 6d 70 ttle.endian.order...@table.@samp
28b20 0a 40 69 74 65 6d 20 49 44 20 73 74 72 69 6e 67 20 28 74 68 65 20 22 6d 61 67 69 63 22 20 62 79 .@item.ID.string.(the."magic".by
28b40 74 65 73 29 0a 41 20 66 6f 75 72 20 62 79 74 65 20 73 74 72 69 6e 67 2c 20 69 64 65 6e 74 69 66 tes).A.four.byte.string,.identif
28b60 79 69 6e 67 20 74 68 65 20 6c 7a 69 70 20 66 6f 72 6d 61 74 2c 20 77 69 74 68 20 74 68 65 20 76 ying.the.lzip.format,.with.the.v
28b80 61 6c 75 65 20 22 4c 5a 49 50 22 0a 28 30 78 34 43 2c 20 30 78 35 41 2c 20 30 78 34 39 2c 20 30 alue."LZIP".(0x4C,.0x5A,.0x49,.0
28ba0 78 35 30 29 2e 0a 0a 40 69 74 65 6d 20 56 4e 20 28 76 65 72 73 69 6f 6e 20 6e 75 6d 62 65 72 2c x50)...@item.VN.(version.number,
28bc0 20 31 20 62 79 74 65 29 0a 4a 75 73 74 20 69 6e 20 63 61 73 65 20 73 6f 6d 65 74 68 69 6e 67 20 .1.byte).Just.in.case.something.
28be0 6e 65 65 64 73 20 74 6f 20 62 65 20 6d 6f 64 69 66 69 65 64 20 69 6e 20 74 68 65 20 66 75 74 75 needs.to.be.modified.in.the.futu
28c00 72 65 2e 20 31 20 66 6f 72 20 6e 6f 77 2e 0a 0a 40 61 6e 63 68 6f 72 7b 63 6f 64 65 64 2d 64 69 re..1.for.now...@anchor{coded-di
28c20 63 74 2d 73 69 7a 65 7d 0a 40 69 74 65 6d 20 44 53 20 28 63 6f 64 65 64 20 64 69 63 74 69 6f 6e ct-size}.@item.DS.(coded.diction
28c40 61 72 79 20 73 69 7a 65 2c 20 31 20 62 79 74 65 29 0a 54 68 65 20 64 69 63 74 69 6f 6e 61 72 79 ary.size,.1.byte).The.dictionary
28c60 20 73 69 7a 65 20 69 73 20 63 61 6c 63 75 6c 61 74 65 64 20 62 79 20 74 61 6b 69 6e 67 20 61 20 .size.is.calculated.by.taking.a.
28c80 70 6f 77 65 72 20 6f 66 20 32 20 28 74 68 65 20 62 61 73 65 20 73 69 7a 65 29 0a 61 6e 64 20 73 power.of.2.(the.base.size).and.s
28ca0 75 62 74 72 61 63 74 69 6e 67 20 66 72 6f 6d 20 69 74 20 61 20 66 72 61 63 74 69 6f 6e 20 62 65 ubtracting.from.it.a.fraction.be
28cc0 74 77 65 65 6e 20 30 2f 31 36 20 61 6e 64 20 37 2f 31 36 20 6f 66 20 74 68 65 20 62 61 73 65 20 tween.0/16.and.7/16.of.the.base.
28ce0 73 69 7a 65 2e 40 2a 0a 42 69 74 73 20 34 2d 30 20 63 6f 6e 74 61 69 6e 20 74 68 65 20 62 61 73 size.@*.Bits.4-0.contain.the.bas
28d00 65 20 32 20 6c 6f 67 61 72 69 74 68 6d 20 6f 66 20 74 68 65 20 62 61 73 65 20 73 69 7a 65 20 28 e.2.logarithm.of.the.base.size.(
28d20 31 32 20 74 6f 20 32 39 29 2e 40 2a 0a 42 69 74 73 20 37 2d 35 20 63 6f 6e 74 61 69 6e 20 74 68 12.to.29).@*.Bits.7-5.contain.th
28d40 65 20 6e 75 6d 65 72 61 74 6f 72 20 6f 66 20 74 68 65 20 66 72 61 63 74 69 6f 6e 20 28 30 20 74 e.numerator.of.the.fraction.(0.t
28d60 6f 20 37 29 20 74 6f 20 73 75 62 74 72 61 63 74 0a 66 72 6f 6d 20 74 68 65 20 62 61 73 65 20 73 o.7).to.subtract.from.the.base.s
28d80 69 7a 65 20 74 6f 20 6f 62 74 61 69 6e 20 74 68 65 20 64 69 63 74 69 6f 6e 61 72 79 20 73 69 7a ize.to.obtain.the.dictionary.siz
28da0 65 2e 40 2a 0a 45 78 61 6d 70 6c 65 3a 20 30 78 44 33 20 3d 20 32 5e 31 39 20 2d 20 36 20 2a 20 e.@*.Example:.0xD3.=.2^19.-.6.*.
28dc0 32 5e 31 35 20 3d 20 35 31 32 20 4b 69 42 20 2d 20 36 20 2a 20 33 32 20 4b 69 42 20 3d 20 33 32 2^15.=.512.KiB.-.6.*.32.KiB.=.32
28de0 30 20 4b 69 42 40 2a 0a 56 61 6c 69 64 20 76 61 6c 75 65 73 20 66 6f 72 20 64 69 63 74 69 6f 6e 0.KiB@*.Valid.values.for.diction
28e00 61 72 79 20 73 69 7a 65 20 72 61 6e 67 65 20 66 72 6f 6d 20 34 20 4b 69 42 20 74 6f 20 35 31 32 ary.size.range.from.4.KiB.to.512
28e20 20 4d 69 42 2e 0a 0a 40 69 74 65 6d 20 4c 5a 4d 41 20 73 74 72 65 61 6d 0a 54 68 65 20 4c 5a 4d .MiB...@item.LZMA.stream.The.LZM
28e40 41 20 73 74 72 65 61 6d 2c 20 66 69 6e 69 73 68 65 64 20 62 79 20 61 6e 20 65 6e 64 20 6f 66 20 A.stream,.finished.by.an.end.of.
28e60 73 74 72 65 61 6d 20 6d 61 72 6b 65 72 2e 20 55 73 65 73 20 64 65 66 61 75 6c 74 20 76 61 6c 75 stream.marker..Uses.default.valu
28e80 65 73 0a 66 6f 72 20 65 6e 63 6f 64 65 72 20 70 72 6f 70 65 72 74 69 65 73 2e 20 40 78 72 65 66 es.for.encoder.properties..@xref
28ea0 7b 53 74 72 65 61 6d 20 66 6f 72 6d 61 74 7d 2c 20 66 6f 72 20 61 20 63 6f 6d 70 6c 65 74 65 20 {Stream.format},.for.a.complete.
28ec0 64 65 73 63 72 69 70 74 69 6f 6e 2e 0a 0a 40 69 74 65 6d 20 43 52 43 33 32 20 28 34 20 62 79 74 description...@item.CRC32.(4.byt
28ee0 65 73 29 0a 43 79 63 6c 69 63 20 52 65 64 75 6e 64 61 6e 63 79 20 43 68 65 63 6b 20 28 43 52 43 es).Cyclic.Redundancy.Check.(CRC
28f00 29 20 6f 66 20 74 68 65 20 75 6e 63 6f 6d 70 72 65 73 73 65 64 20 6f 72 69 67 69 6e 61 6c 20 64 ).of.the.uncompressed.original.d
28f20 61 74 61 2e 0a 0a 40 69 74 65 6d 20 44 61 74 61 20 73 69 7a 65 20 28 38 20 62 79 74 65 73 29 0a ata...@item.Data.size.(8.bytes).
28f40 53 69 7a 65 20 6f 66 20 74 68 65 20 75 6e 63 6f 6d 70 72 65 73 73 65 64 20 6f 72 69 67 69 6e 61 Size.of.the.uncompressed.origina
28f60 6c 20 64 61 74 61 2e 0a 0a 40 69 74 65 6d 20 4d 65 6d 62 65 72 20 73 69 7a 65 20 28 38 20 62 79 l.data...@item.Member.size.(8.by
28f80 74 65 73 29 0a 54 6f 74 61 6c 20 73 69 7a 65 20 6f 66 20 74 68 65 20 6d 65 6d 62 65 72 2c 20 69 tes).Total.size.of.the.member,.i
28fa0 6e 63 6c 75 64 69 6e 67 20 68 65 61 64 65 72 20 61 6e 64 20 74 72 61 69 6c 65 72 2e 20 54 68 69 ncluding.header.and.trailer..Thi
28fc0 73 20 66 69 65 6c 64 20 61 63 74 73 0a 61 73 20 61 20 64 69 73 74 72 69 62 75 74 65 64 20 69 6e s.field.acts.as.a.distributed.in
28fe0 64 65 78 2c 20 61 6c 6c 6f 77 73 20 74 68 65 20 76 65 72 69 66 69 63 61 74 69 6f 6e 20 6f 66 20 dex,.allows.the.verification.of.
29000 73 74 72 65 61 6d 20 69 6e 74 65 67 72 69 74 79 2c 20 61 6e 64 0a 66 61 63 69 6c 69 74 61 74 65 stream.integrity,.and.facilitate
29020 73 20 73 61 66 65 20 72 65 63 6f 76 65 72 79 20 6f 66 20 75 6e 64 61 6d 61 67 65 64 20 6d 65 6d s.safe.recovery.of.undamaged.mem
29040 62 65 72 73 20 66 72 6f 6d 20 6d 75 6c 74 69 6d 65 6d 62 65 72 20 66 69 6c 65 73 2e 0a 0a 40 65 bers.from.multimember.files...@e
29060 6e 64 20 74 61 62 6c 65 0a 0a 0a 40 6e 6f 64 65 20 41 6c 67 6f 72 69 74 68 6d 0a 40 63 68 61 70 nd.table...@node.Algorithm.@chap
29080 74 65 72 20 41 6c 67 6f 72 69 74 68 6d 0a 40 63 69 6e 64 65 78 20 61 6c 67 6f 72 69 74 68 6d 0a ter.Algorithm.@cindex.algorithm.
290a0 0a 49 6e 20 73 70 69 74 65 20 6f 66 20 69 74 73 20 6e 61 6d 65 20 28 4c 65 6d 70 65 6c 2d 5a 69 .In.spite.of.its.name.(Lempel-Zi
290c0 76 2d 4d 61 72 6b 6f 76 20 63 68 61 69 6e 2d 41 6c 67 6f 72 69 74 68 6d 29 2c 20 4c 5a 4d 41 20 v-Markov.chain-Algorithm),.LZMA.
290e0 69 73 20 6e 6f 74 20 61 0a 63 6f 6e 63 72 65 74 65 20 61 6c 67 6f 72 69 74 68 6d 3b 20 69 74 20 is.not.a.concrete.algorithm;.it.
29100 69 73 20 6d 6f 72 65 20 6c 69 6b 65 20 22 61 6e 79 20 61 6c 67 6f 72 69 74 68 6d 20 75 73 69 6e is.more.like."any.algorithm.usin
29120 67 20 74 68 65 20 4c 5a 4d 41 20 63 6f 64 69 6e 67 0a 73 63 68 65 6d 65 22 2e 20 4c 5a 4d 41 20 g.the.LZMA.coding.scheme"..LZMA.
29140 63 6f 6d 70 72 65 73 73 69 6f 6e 20 63 6f 6e 73 69 73 74 73 20 69 6e 20 64 65 73 63 72 69 62 69 compression.consists.in.describi
29160 6e 67 20 74 68 65 20 75 6e 63 6f 6d 70 72 65 73 73 65 64 20 64 61 74 61 20 61 73 20 61 0a 73 75 ng.the.uncompressed.data.as.a.su
29180 63 63 65 73 73 69 6f 6e 20 6f 66 20 63 6f 64 69 6e 67 20 73 65 71 75 65 6e 63 65 73 20 66 72 6f ccession.of.coding.sequences.fro
291a0 6d 20 74 68 65 20 73 65 74 20 73 68 6f 77 6e 20 69 6e 20 53 65 63 74 69 6f 6e 20 40 73 61 6d 70 m.the.set.shown.in.Section.@samp
291c0 7b 57 68 61 74 20 69 73 0a 63 6f 64 65 64 7d 20 28 40 70 78 72 65 66 7b 77 68 61 74 2d 69 73 2d {What.is.coded}.(@pxref{what-is-
291e0 63 6f 64 65 64 7d 29 2c 20 61 6e 64 20 74 68 65 6e 20 65 6e 63 6f 64 69 6e 67 20 74 68 65 6d 20 coded}),.and.then.encoding.them.
29200 75 73 69 6e 67 20 61 20 72 61 6e 67 65 0a 65 6e 63 6f 64 65 72 2e 20 46 6f 72 20 65 78 61 6d 70 using.a.range.encoder..For.examp
29220 6c 65 2c 20 74 68 65 20 6f 70 74 69 6f 6e 20 40 73 61 6d 70 7b 2d 30 7d 20 6f 66 20 6c 7a 69 70 le,.the.option.@samp{-0}.of.lzip
29240 20 75 73 65 73 20 74 68 65 20 73 63 68 65 6d 65 20 69 6e 20 61 6c 6d 6f 73 74 0a 74 68 65 20 73 .uses.the.scheme.in.almost.the.s
29260 69 6d 70 6c 65 73 74 20 77 61 79 20 70 6f 73 73 69 62 6c 65 3b 20 69 73 73 75 69 6e 67 20 74 68 implest.way.possible;.issuing.th
29280 65 20 6c 6f 6e 67 65 73 74 20 6d 61 74 63 68 20 69 74 20 63 61 6e 20 66 69 6e 64 2c 20 6f 72 20 e.longest.match.it.can.find,.or.
292a0 61 0a 6c 69 74 65 72 61 6c 20 62 79 74 65 20 69 66 20 69 74 20 63 61 6e 27 74 20 66 69 6e 64 20 a.literal.byte.if.it.can't.find.
292c0 61 20 6d 61 74 63 68 2e 20 49 6e 76 65 72 73 65 6c 79 2c 20 61 20 6d 75 63 68 20 6d 6f 72 65 20 a.match..Inversely,.a.much.more.
292e0 65 6c 61 62 6f 72 61 74 65 64 20 77 61 79 0a 6f 66 20 66 69 6e 64 69 6e 67 20 63 6f 64 69 6e 67 elaborated.way.of.finding.coding
29300 20 73 65 71 75 65 6e 63 65 73 20 6f 66 20 6d 69 6e 69 6d 75 6d 20 73 69 7a 65 20 74 68 61 6e 20 .sequences.of.minimum.size.than.
29320 74 68 65 20 6f 6e 65 20 63 75 72 72 65 6e 74 6c 79 20 75 73 65 64 20 62 79 0a 6c 7a 69 70 20 63 the.one.currently.used.by.lzip.c
29340 6f 75 6c 64 20 62 65 20 64 65 76 65 6c 6f 70 65 64 2c 20 61 6e 64 20 74 68 65 20 72 65 73 75 6c ould.be.developed,.and.the.resul
29360 74 69 6e 67 20 73 65 71 75 65 6e 63 65 20 63 6f 75 6c 64 20 61 6c 73 6f 20 62 65 20 63 6f 64 65 ting.sequence.could.also.be.code
29380 64 0a 75 73 69 6e 67 20 74 68 65 20 4c 5a 4d 41 20 63 6f 64 69 6e 67 20 73 63 68 65 6d 65 2e 0a d.using.the.LZMA.coding.scheme..
293a0 0a 4c 7a 69 70 20 63 75 72 72 65 6e 74 6c 79 20 69 6d 70 6c 65 6d 65 6e 74 73 20 74 77 6f 20 76 .Lzip.currently.implements.two.v
293c0 61 72 69 61 6e 74 73 20 6f 66 20 74 68 65 20 4c 5a 4d 41 20 61 6c 67 6f 72 69 74 68 6d 3b 20 66 ariants.of.the.LZMA.algorithm;.f
293e0 61 73 74 0a 28 75 73 65 64 20 62 79 20 6f 70 74 69 6f 6e 20 40 73 61 6d 70 7b 2d 30 7d 29 20 61 ast.(used.by.option.@samp{-0}).a
29400 6e 64 20 6e 6f 72 6d 61 6c 20 28 75 73 65 64 20 62 79 20 61 6c 6c 20 6f 74 68 65 72 20 63 6f 6d nd.normal.(used.by.all.other.com
29420 70 72 65 73 73 69 6f 6e 20 6c 65 76 65 6c 73 29 2e 0a 0a 54 68 65 20 68 69 67 68 20 63 6f 6d 70 pression.levels)...The.high.comp
29440 72 65 73 73 69 6f 6e 20 6f 66 20 4c 5a 4d 41 20 63 6f 6d 65 73 20 66 72 6f 6d 20 63 6f 6d 62 69 ression.of.LZMA.comes.from.combi
29460 6e 69 6e 67 20 74 77 6f 20 62 61 73 69 63 2c 20 77 65 6c 6c 2d 70 72 6f 76 65 6e 0a 63 6f 6d 70 ning.two.basic,.well-proven.comp
29480 72 65 73 73 69 6f 6e 20 69 64 65 61 73 3a 20 73 6c 69 64 69 6e 67 20 64 69 63 74 69 6f 6e 61 72 ression.ideas:.sliding.dictionar
294a0 69 65 73 20 28 4c 5a 37 37 2f 37 38 29 20 61 6e 64 20 6d 61 72 6b 6f 76 20 6d 6f 64 65 6c 73 20 ies.(LZ77/78).and.markov.models.
294c0 28 74 68 65 0a 74 68 69 6e 67 20 75 73 65 64 20 62 79 20 65 76 65 72 79 20 63 6f 6d 70 72 65 73 (the.thing.used.by.every.compres
294e0 73 69 6f 6e 20 61 6c 67 6f 72 69 74 68 6d 20 74 68 61 74 20 75 73 65 73 20 61 20 72 61 6e 67 65 sion.algorithm.that.uses.a.range
29500 20 65 6e 63 6f 64 65 72 20 6f 72 0a 73 69 6d 69 6c 61 72 20 6f 72 64 65 72 2d 30 20 65 6e 74 72 .encoder.or.similar.order-0.entr
29520 6f 70 79 20 63 6f 64 65 72 20 61 73 20 69 74 73 20 6c 61 73 74 20 73 74 61 67 65 29 20 77 69 74 opy.coder.as.its.last.stage).wit
29540 68 20 73 65 67 72 65 67 61 74 69 6f 6e 20 6f 66 0a 63 6f 6e 74 65 78 74 73 20 61 63 63 6f 72 64 h.segregation.of.contexts.accord
29560 69 6e 67 20 74 6f 20 77 68 61 74 20 74 68 65 20 62 69 74 73 20 61 72 65 20 75 73 65 64 20 66 6f ing.to.what.the.bits.are.used.fo
29580 72 2e 0a 0a 4c 7a 69 70 20 69 73 20 61 20 74 77 6f 20 73 74 61 67 65 20 63 6f 6d 70 72 65 73 73 r...Lzip.is.a.two.stage.compress
295a0 6f 72 2e 20 54 68 65 20 66 69 72 73 74 20 73 74 61 67 65 20 69 73 20 61 20 4c 65 6d 70 65 6c 2d or..The.first.stage.is.a.Lempel-
295c0 5a 69 76 20 63 6f 64 65 72 2c 0a 77 68 69 63 68 20 72 65 64 75 63 65 73 20 72 65 64 75 6e 64 61 Ziv.coder,.which.reduces.redunda
295e0 6e 63 79 20 62 79 20 74 72 61 6e 73 6c 61 74 69 6e 67 20 63 68 75 6e 6b 73 20 6f 66 20 64 61 74 ncy.by.translating.chunks.of.dat
29600 61 20 74 6f 20 74 68 65 69 72 0a 63 6f 72 72 65 73 70 6f 6e 64 69 6e 67 20 64 69 73 74 61 6e 63 a.to.their.corresponding.distanc
29620 65 2d 6c 65 6e 67 74 68 20 70 61 69 72 73 2e 20 54 68 65 20 73 65 63 6f 6e 64 20 73 74 61 67 65 e-length.pairs..The.second.stage
29640 20 69 73 20 61 20 72 61 6e 67 65 20 65 6e 63 6f 64 65 72 0a 74 68 61 74 20 75 73 65 73 20 61 20 .is.a.range.encoder.that.uses.a.
29660 64 69 66 66 65 72 65 6e 74 20 70 72 6f 62 61 62 69 6c 69 74 79 20 6d 6f 64 65 6c 20 66 6f 72 20 different.probability.model.for.
29680 65 61 63 68 20 74 79 70 65 20 6f 66 20 64 61 74 61 3b 0a 64 69 73 74 61 6e 63 65 73 2c 20 6c 65 each.type.of.data;.distances,.le
296a0 6e 67 74 68 73 2c 20 6c 69 74 65 72 61 6c 20 62 79 74 65 73 2c 20 65 74 63 2e 0a 0a 48 65 72 65 ngths,.literal.bytes,.etc...Here
296c0 20 69 73 20 68 6f 77 20 69 74 20 77 6f 72 6b 73 2c 20 73 74 65 70 20 62 79 20 73 74 65 70 3a 0a .is.how.it.works,.step.by.step:.
296e0 0a 31 29 20 54 68 65 20 6d 65 6d 62 65 72 20 68 65 61 64 65 72 20 69 73 20 77 72 69 74 74 65 6e .1).The.member.header.is.written
29700 20 74 6f 20 74 68 65 20 6f 75 74 70 75 74 20 73 74 72 65 61 6d 2e 0a 0a 32 29 20 54 68 65 20 66 .to.the.output.stream...2).The.f
29720 69 72 73 74 20 62 79 74 65 20 69 73 20 63 6f 64 65 64 20 6c 69 74 65 72 61 6c 6c 79 2c 20 62 65 irst.byte.is.coded.literally,.be
29740 63 61 75 73 65 20 74 68 65 72 65 20 61 72 65 20 6e 6f 20 70 72 65 76 69 6f 75 73 0a 62 79 74 65 cause.there.are.no.previous.byte
29760 73 20 74 6f 20 77 68 69 63 68 20 74 68 65 20 6d 61 74 63 68 20 66 69 6e 64 65 72 20 63 61 6e 20 s.to.which.the.match.finder.can.
29780 72 65 66 65 72 20 74 6f 2e 0a 0a 33 29 20 54 68 65 20 6d 61 69 6e 20 65 6e 63 6f 64 65 72 20 61 refer.to...3).The.main.encoder.a
297a0 64 76 61 6e 63 65 73 20 74 6f 20 74 68 65 20 6e 65 78 74 20 62 79 74 65 20 69 6e 20 74 68 65 20 dvances.to.the.next.byte.in.the.
297c0 69 6e 70 75 74 20 64 61 74 61 20 61 6e 64 0a 63 61 6c 6c 73 20 74 68 65 20 6d 61 74 63 68 20 66 input.data.and.calls.the.match.f
297e0 69 6e 64 65 72 2e 0a 0a 34 29 20 54 68 65 20 6d 61 74 63 68 20 66 69 6e 64 65 72 20 66 69 6c 6c inder...4).The.match.finder.fill
29800 73 20 61 6e 20 61 72 72 61 79 20 77 69 74 68 20 74 68 65 20 6d 69 6e 69 6d 75 6d 20 64 69 73 74 s.an.array.with.the.minimum.dist
29820 61 6e 63 65 73 20 62 65 66 6f 72 65 20 74 68 65 0a 63 75 72 72 65 6e 74 20 62 79 74 65 20 77 68 ances.before.the.current.byte.wh
29840 65 72 65 20 61 20 6d 61 74 63 68 20 6f 66 20 61 20 67 69 76 65 6e 20 6c 65 6e 67 74 68 20 63 61 ere.a.match.of.a.given.length.ca
29860 6e 20 62 65 20 66 6f 75 6e 64 2e 0a 0a 35 29 20 47 6f 20 62 61 63 6b 20 74 6f 20 73 74 65 70 20 n.be.found...5).Go.back.to.step.
29880 33 20 75 6e 74 69 6c 20 61 20 73 65 71 75 65 6e 63 65 20 28 66 6f 72 6d 65 64 20 6f 66 20 70 61 3.until.a.sequence.(formed.of.pa
298a0 69 72 73 2c 20 72 65 70 65 61 74 65 64 0a 64 69 73 74 61 6e 63 65 73 2c 20 61 6e 64 20 6c 69 74 irs,.repeated.distances,.and.lit
298c0 65 72 61 6c 20 62 79 74 65 73 29 20 6f 66 20 6d 69 6e 69 6d 75 6d 20 70 72 69 63 65 20 68 61 73 eral.bytes).of.minimum.price.has
298e0 20 62 65 65 6e 20 66 6f 72 6d 65 64 2e 20 57 68 65 72 65 20 74 68 65 0a 70 72 69 63 65 20 72 65 .been.formed..Where.the.price.re
29900 70 72 65 73 65 6e 74 73 20 74 68 65 20 6e 75 6d 62 65 72 20 6f 66 20 6f 75 74 70 75 74 20 62 69 presents.the.number.of.output.bi
29920 74 73 20 70 72 6f 64 75 63 65 64 2e 0a 0a 36 29 20 54 68 65 20 72 61 6e 67 65 20 65 6e 63 6f 64 ts.produced...6).The.range.encod
29940 65 72 20 65 6e 63 6f 64 65 73 20 74 68 65 20 73 65 71 75 65 6e 63 65 20 70 72 6f 64 75 63 65 64 er.encodes.the.sequence.produced
29960 20 62 79 20 74 68 65 20 6d 61 69 6e 20 65 6e 63 6f 64 65 72 0a 61 6e 64 20 73 65 6e 64 73 20 74 .by.the.main.encoder.and.sends.t
29980 68 65 20 62 79 74 65 73 20 70 72 6f 64 75 63 65 64 20 74 6f 20 74 68 65 20 6f 75 74 70 75 74 20 he.bytes.produced.to.the.output.
299a0 73 74 72 65 61 6d 2e 0a 0a 37 29 20 47 6f 20 62 61 63 6b 20 74 6f 20 73 74 65 70 20 33 20 75 6e stream...7).Go.back.to.step.3.un
299c0 74 69 6c 20 74 68 65 20 69 6e 70 75 74 20 64 61 74 61 20 61 72 65 20 66 69 6e 69 73 68 65 64 20 til.the.input.data.are.finished.
299e0 6f 72 20 75 6e 74 69 6c 20 74 68 65 0a 6d 65 6d 62 65 72 20 6f 72 20 76 6f 6c 75 6d 65 20 73 69 or.until.the.member.or.volume.si
29a00 7a 65 20 6c 69 6d 69 74 73 20 61 72 65 20 72 65 61 63 68 65 64 2e 0a 0a 38 29 20 54 68 65 20 72 ze.limits.are.reached...8).The.r
29a20 61 6e 67 65 20 65 6e 63 6f 64 65 72 20 69 73 20 66 6c 75 73 68 65 64 2e 0a 0a 39 29 20 54 68 65 ange.encoder.is.flushed...9).The
29a40 20 6d 65 6d 62 65 72 20 74 72 61 69 6c 65 72 20 69 73 20 77 72 69 74 74 65 6e 20 74 6f 20 74 68 .member.trailer.is.written.to.th
29a60 65 20 6f 75 74 70 75 74 20 73 74 72 65 61 6d 2e 0a 0a 31 30 29 20 49 66 20 74 68 65 72 65 20 61 e.output.stream...10).If.there.a
29a80 72 65 20 6d 6f 72 65 20 64 61 74 61 20 74 6f 20 63 6f 6d 70 72 65 73 73 2c 20 67 6f 20 62 61 63 re.more.data.to.compress,.go.bac
29aa0 6b 20 74 6f 20 73 74 65 70 20 31 2e 0a 0a 40 73 70 20 31 0a 44 75 72 69 6e 67 20 63 6f 6d 70 72 k.to.step.1...@sp.1.During.compr
29ac0 65 73 73 69 6f 6e 2c 20 6c 7a 69 70 20 72 65 61 64 73 20 64 61 74 61 20 69 6e 20 6c 61 72 67 65 ession,.lzip.reads.data.in.large
29ae0 20 62 6c 6f 63 6b 73 20 28 6f 6e 65 20 64 69 63 74 69 6f 6e 61 72 79 20 73 69 7a 65 20 61 74 0a .blocks.(one.dictionary.size.at.
29b00 61 20 74 69 6d 65 29 2e 20 54 68 65 72 65 66 6f 72 65 20 69 74 20 6d 61 79 20 62 6c 6f 63 6b 20 a.time)..Therefore.it.may.block.
29b20 66 6f 72 20 75 70 20 74 6f 20 74 65 6e 73 20 6f 66 20 73 65 63 6f 6e 64 73 20 61 6e 79 20 70 72 for.up.to.tens.of.seconds.any.pr
29b40 6f 63 65 73 73 0a 66 65 65 64 69 6e 67 20 64 61 74 61 20 74 6f 20 69 74 20 74 68 72 6f 75 67 68 ocess.feeding.data.to.it.through
29b60 20 61 20 70 69 70 65 2e 20 54 68 69 73 20 69 73 20 6e 6f 72 6d 61 6c 2e 20 54 68 65 20 62 6c 6f .a.pipe..This.is.normal..The.blo
29b80 63 6b 69 6e 67 20 69 6e 74 65 72 76 61 6c 73 0a 67 65 74 20 6c 6f 6e 67 65 72 20 77 69 74 68 20 cking.intervals.get.longer.with.
29ba0 68 69 67 68 65 72 20 63 6f 6d 70 72 65 73 73 69 6f 6e 20 6c 65 76 65 6c 73 20 62 65 63 61 75 73 higher.compression.levels.becaus
29bc0 65 20 64 69 63 74 69 6f 6e 61 72 79 20 73 69 7a 65 20 69 6e 63 72 65 61 73 65 73 0a 28 61 6e 64 e.dictionary.size.increases.(and
29be0 20 63 6f 6d 70 72 65 73 73 69 6f 6e 20 73 70 65 65 64 20 64 65 63 72 65 61 73 65 73 29 20 77 69 .compression.speed.decreases).wi
29c00 74 68 20 63 6f 6d 70 72 65 73 73 69 6f 6e 20 6c 65 76 65 6c 2e 0a 0a 40 6e 6f 69 6e 64 65 6e 74 th.compression.level...@noindent
29c20 0a 54 68 65 20 69 64 65 61 73 20 65 6d 62 6f 64 69 65 64 20 69 6e 20 6c 7a 69 70 20 61 72 65 20 .The.ideas.embodied.in.lzip.are.
29c40 64 75 65 20 74 6f 20 28 61 74 20 6c 65 61 73 74 29 20 74 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 due.to.(at.least).the.following.
29c60 70 65 6f 70 6c 65 3a 0a 41 62 72 61 68 61 6d 20 4c 65 6d 70 65 6c 20 61 6e 64 20 4a 61 63 6f 62 people:.Abraham.Lempel.and.Jacob
29c80 20 5a 69 76 20 28 66 6f 72 20 74 68 65 20 4c 5a 20 61 6c 67 6f 72 69 74 68 6d 29 2c 20 41 6e 64 .Ziv.(for.the.LZ.algorithm),.And
29ca0 72 65 79 20 4d 61 72 6b 6f 76 20 28 66 6f 72 20 74 68 65 0a 64 65 66 69 6e 69 74 69 6f 6e 20 6f rey.Markov.(for.the.definition.o
29cc0 66 20 4d 61 72 6b 6f 76 20 63 68 61 69 6e 73 29 2c 20 47 2e 4e 2e 4e 2e 20 4d 61 72 74 69 6e 20 f.Markov.chains),.G.N.N..Martin.
29ce0 28 66 6f 72 20 74 68 65 20 64 65 66 69 6e 69 74 69 6f 6e 20 6f 66 20 72 61 6e 67 65 0a 65 6e 63 (for.the.definition.of.range.enc
29d00 6f 64 69 6e 67 29 2c 20 49 67 6f 72 20 50 61 76 6c 6f 76 20 28 66 6f 72 20 70 75 74 74 69 6e 67 oding),.Igor.Pavlov.(for.putting
29d20 20 61 6c 6c 20 74 68 65 20 61 62 6f 76 65 20 74 6f 67 65 74 68 65 72 20 69 6e 20 4c 5a 4d 41 29 .all.the.above.together.in.LZMA)
29d40 2c 20 61 6e 64 0a 4a 75 6c 69 61 6e 20 53 65 77 61 72 64 20 28 66 6f 72 20 62 7a 69 70 32 27 73 ,.and.Julian.Seward.(for.bzip2's
29d60 20 43 4c 49 29 2e 0a 0a 0a 40 6e 6f 64 65 20 53 74 72 65 61 6d 20 66 6f 72 6d 61 74 0a 40 63 68 .CLI)....@node.Stream.format.@ch
29d80 61 70 74 65 72 20 46 6f 72 6d 61 74 20 6f 66 20 74 68 65 20 4c 5a 4d 41 20 73 74 72 65 61 6d 20 apter.Format.of.the.LZMA.stream.
29da0 69 6e 20 6c 7a 69 70 20 66 69 6c 65 73 0a 40 63 69 6e 64 65 78 20 66 6f 72 6d 61 74 20 6f 66 20 in.lzip.files.@cindex.format.of.
29dc0 74 68 65 20 4c 5a 4d 41 20 73 74 72 65 61 6d 0a 0a 4c 7a 69 70 20 75 73 65 73 20 61 20 73 69 6d the.LZMA.stream..Lzip.uses.a.sim
29de0 70 6c 69 66 69 65 64 20 66 6f 72 6d 20 6f 66 20 74 68 65 20 4c 5a 4d 41 20 73 74 72 65 61 6d 20 plified.form.of.the.LZMA.stream.
29e00 66 6f 72 6d 61 74 20 63 68 6f 73 65 6e 20 74 6f 20 6d 61 78 69 6d 69 7a 65 0a 73 61 66 65 74 79 format.chosen.to.maximize.safety
29e20 20 61 6e 64 20 69 6e 74 65 72 6f 70 65 72 61 62 69 6c 69 74 79 2e 0a 0a 54 68 65 20 4c 5a 4d 41 .and.interoperability...The.LZMA
29e40 20 61 6c 67 6f 72 69 74 68 6d 20 68 61 73 20 74 68 72 65 65 20 70 61 72 61 6d 65 74 65 72 73 2c .algorithm.has.three.parameters,
29e60 20 63 61 6c 6c 65 64 20 22 73 70 65 63 69 61 6c 20 4c 5a 4d 41 0a 70 72 6f 70 65 72 74 69 65 73 .called."special.LZMA.properties
29e80 22 2c 20 74 6f 20 61 64 6a 75 73 74 20 69 74 20 66 6f 72 20 73 6f 6d 65 20 6b 69 6e 64 73 20 6f ",.to.adjust.it.for.some.kinds.o
29ea0 66 20 62 69 6e 61 72 79 20 64 61 74 61 2e 20 54 68 65 73 65 0a 70 61 72 61 6d 65 74 65 72 73 20 f.binary.data..These.parameters.
29ec0 61 72 65 3b 20 40 73 61 6d 70 7b 6c 69 74 65 72 61 6c 5f 63 6f 6e 74 65 78 74 5f 62 69 74 73 7d are;.@samp{literal_context_bits}
29ee0 20 28 77 69 74 68 20 61 20 64 65 66 61 75 6c 74 20 76 61 6c 75 65 20 6f 66 20 33 29 2c 0a 40 73 .(with.a.default.value.of.3),.@s
29f00 61 6d 70 7b 6c 69 74 65 72 61 6c 5f 70 6f 73 5f 73 74 61 74 65 5f 62 69 74 73 7d 20 28 77 69 74 amp{literal_pos_state_bits}.(wit
29f20 68 20 61 20 64 65 66 61 75 6c 74 20 76 61 6c 75 65 20 6f 66 20 30 29 2c 20 61 6e 64 0a 40 73 61 h.a.default.value.of.0),.and.@sa
29f40 6d 70 7b 70 6f 73 5f 73 74 61 74 65 5f 62 69 74 73 7d 20 28 77 69 74 68 20 61 20 64 65 66 61 75 mp{pos_state_bits}.(with.a.defau
29f60 6c 74 20 76 61 6c 75 65 20 6f 66 20 32 29 2e 20 41 73 20 61 20 67 65 6e 65 72 61 6c 20 70 75 72 lt.value.of.2)..As.a.general.pur
29f80 70 6f 73 65 0a 63 6f 6d 70 72 65 73 73 6f 72 2c 20 6c 7a 69 70 20 6f 6e 6c 79 20 75 73 65 73 20 pose.compressor,.lzip.only.uses.
29fa0 74 68 65 20 64 65 66 61 75 6c 74 20 76 61 6c 75 65 73 20 66 6f 72 20 74 68 65 73 65 20 70 61 72 the.default.values.for.these.par
29fc0 61 6d 65 74 65 72 73 2e 20 49 6e 0a 70 61 72 74 69 63 75 6c 61 72 20 40 73 61 6d 70 7b 6c 69 74 ameters..In.particular.@samp{lit
29fe0 65 72 61 6c 5f 70 6f 73 5f 73 74 61 74 65 5f 62 69 74 73 7d 20 68 61 73 20 62 65 65 6e 20 6f 70 eral_pos_state_bits}.has.been.op
2a000 74 69 6d 69 7a 65 64 20 61 77 61 79 20 61 6e 64 0a 64 6f 65 73 20 6e 6f 74 20 65 76 65 6e 20 61 timized.away.and.does.not.even.a
2a020 70 70 65 61 72 20 69 6e 20 74 68 65 20 63 6f 64 65 2e 0a 0a 4c 7a 69 70 20 66 69 6e 69 73 68 65 ppear.in.the.code...Lzip.finishe
2a040 73 20 74 68 65 20 4c 5a 4d 41 20 73 74 72 65 61 6d 20 77 69 74 68 20 61 6e 20 22 45 6e 64 20 4f s.the.LZMA.stream.with.an."End.O
2a060 66 20 53 74 72 65 61 6d 22 20 28 45 4f 53 29 20 6d 61 72 6b 65 72 0a 28 74 68 65 20 64 69 73 74 f.Stream".(EOS).marker.(the.dist
2a080 61 6e 63 65 2d 6c 65 6e 67 74 68 20 70 61 69 72 20 30 78 46 46 46 46 46 46 46 46 55 2c 20 32 29 ance-length.pair.0xFFFFFFFFU,.2)
2a0a0 2c 20 77 68 69 63 68 20 69 6e 20 63 6f 6e 6a 75 6e 63 74 69 6f 6e 20 77 69 74 68 20 74 68 65 0a ,.which.in.conjunction.with.the.
2a0c0 40 73 61 6d 70 7b 6d 65 6d 62 65 72 20 73 69 7a 65 7d 20 66 69 65 6c 64 20 69 6e 20 74 68 65 20 @samp{member.size}.field.in.the.
2a0e0 6d 65 6d 62 65 72 20 74 72 61 69 6c 65 72 20 61 6c 6c 6f 77 73 20 74 68 65 20 76 65 72 69 66 69 member.trailer.allows.the.verifi
2a100 63 61 74 69 6f 6e 20 6f 66 0a 73 74 72 65 61 6d 20 69 6e 74 65 67 72 69 74 79 2e 20 54 68 65 20 cation.of.stream.integrity..The.
2a120 4c 5a 4d 41 20 73 74 72 65 61 6d 20 69 6e 20 6c 7a 69 70 20 66 69 6c 65 73 20 61 6c 77 61 79 73 LZMA.stream.in.lzip.files.always
2a140 20 68 61 73 20 74 68 65 73 65 20 74 77 6f 0a 66 65 61 74 75 72 65 73 20 28 64 65 66 61 75 6c 74 .has.these.two.features.(default
2a160 20 70 72 6f 70 65 72 74 69 65 73 20 61 6e 64 20 45 4f 53 20 6d 61 72 6b 65 72 29 20 61 6e 64 20 .properties.and.EOS.marker).and.
2a180 69 73 20 72 65 66 65 72 72 65 64 20 74 6f 20 69 6e 20 74 68 69 73 0a 64 6f 63 75 6d 65 6e 74 20 is.referred.to.in.this.document.
2a1a0 61 73 20 4c 5a 4d 41 2d 33 30 32 65 6f 73 2e 20 54 68 65 20 45 4f 53 20 6d 61 72 6b 65 72 20 69 as.LZMA-302eos..The.EOS.marker.i
2a1c0 73 20 74 68 65 20 6f 6e 6c 79 20 6d 61 72 6b 65 72 20 61 6c 6c 6f 77 65 64 20 69 6e 0a 6c 7a 69 s.the.only.marker.allowed.in.lzi
2a1e0 70 20 66 69 6c 65 73 2e 0a 0a 54 68 65 20 73 65 63 6f 6e 64 20 73 74 61 67 65 20 6f 66 20 4c 5a p.files...The.second.stage.of.LZ
2a200 4d 41 20 69 73 20 61 20 72 61 6e 67 65 20 65 6e 63 6f 64 65 72 20 74 68 61 74 20 75 73 65 73 20 MA.is.a.range.encoder.that.uses.
2a220 61 20 64 69 66 66 65 72 65 6e 74 0a 70 72 6f 62 61 62 69 6c 69 74 79 20 6d 6f 64 65 6c 20 66 6f a.different.probability.model.fo
2a240 72 20 65 61 63 68 20 74 79 70 65 20 6f 66 20 73 79 6d 62 6f 6c 3b 20 64 69 73 74 61 6e 63 65 73 r.each.type.of.symbol;.distances
2a260 2c 20 6c 65 6e 67 74 68 73 2c 20 6c 69 74 65 72 61 6c 0a 62 79 74 65 73 2c 20 65 74 63 2e 20 52 ,.lengths,.literal.bytes,.etc..R
2a280 61 6e 67 65 20 65 6e 63 6f 64 69 6e 67 20 63 6f 6e 63 65 70 74 75 61 6c 6c 79 20 65 6e 63 6f 64 ange.encoding.conceptually.encod
2a2a0 65 73 20 61 6c 6c 20 74 68 65 20 73 79 6d 62 6f 6c 73 20 6f 66 20 74 68 65 0a 6d 65 73 73 61 67 es.all.the.symbols.of.the.messag
2a2c0 65 20 69 6e 74 6f 20 6f 6e 65 20 6e 75 6d 62 65 72 2e 20 55 6e 6c 69 6b 65 20 48 75 66 66 6d 61 e.into.one.number..Unlike.Huffma
2a2e0 6e 20 63 6f 64 69 6e 67 2c 20 77 68 69 63 68 20 61 73 73 69 67 6e 73 20 74 6f 20 65 61 63 68 0a n.coding,.which.assigns.to.each.
2a300 73 79 6d 62 6f 6c 20 61 20 62 69 74 2d 70 61 74 74 65 72 6e 20 61 6e 64 20 63 6f 6e 63 61 74 65 symbol.a.bit-pattern.and.concate
2a320 6e 61 74 65 73 20 61 6c 6c 20 74 68 65 20 62 69 74 2d 70 61 74 74 65 72 6e 73 20 74 6f 67 65 74 nates.all.the.bit-patterns.toget
2a340 68 65 72 2c 0a 72 61 6e 67 65 20 65 6e 63 6f 64 69 6e 67 20 63 61 6e 20 63 6f 6d 70 72 65 73 73 her,.range.encoding.can.compress
2a360 20 6f 6e 65 20 73 79 6d 62 6f 6c 20 74 6f 20 6c 65 73 73 20 74 68 61 6e 20 6f 6e 65 20 62 69 74 .one.symbol.to.less.than.one.bit
2a380 2e 20 54 68 65 72 65 66 6f 72 65 0a 74 68 65 20 63 6f 6d 70 72 65 73 73 65 64 20 64 61 74 61 20 ..Therefore.the.compressed.data.
2a3a0 70 72 6f 64 75 63 65 64 20 62 79 20 61 20 72 61 6e 67 65 20 65 6e 63 6f 64 65 72 20 63 61 6e 27 produced.by.a.range.encoder.can'
2a3c0 74 20 62 65 20 73 70 6c 69 74 20 69 6e 20 70 69 65 63 65 73 0a 74 68 61 74 20 63 6f 75 6c 64 20 t.be.split.in.pieces.that.could.
2a3e0 62 65 20 64 65 73 63 72 69 62 65 64 20 69 6e 64 69 76 69 64 75 61 6c 6c 79 2e 0a 0a 49 74 20 73 be.described.individually...It.s
2a400 65 65 6d 73 20 74 68 61 74 20 74 68 65 20 6f 6e 6c 79 20 77 61 79 20 6f 66 20 64 65 73 63 72 69 eems.that.the.only.way.of.descri
2a420 62 69 6e 67 20 74 68 65 20 4c 5a 4d 41 2d 33 30 32 65 6f 73 20 73 74 72 65 61 6d 20 69 73 0a 64 bing.the.LZMA-302eos.stream.is.d
2a440 65 73 63 72 69 62 69 6e 67 20 74 68 65 20 61 6c 67 6f 72 69 74 68 6d 20 74 68 61 74 20 64 65 63 escribing.the.algorithm.that.dec
2a460 6f 64 65 73 20 69 74 2e 20 41 6e 64 20 67 69 76 65 6e 20 74 68 65 20 6d 61 6e 79 20 64 65 74 61 odes.it..And.given.the.many.deta
2a480 69 6c 73 0a 61 62 6f 75 74 20 74 68 65 20 72 61 6e 67 65 20 64 65 63 6f 64 65 72 20 74 68 61 74 ils.about.the.range.decoder.that
2a4a0 20 6e 65 65 64 20 74 6f 20 62 65 20 64 65 73 63 72 69 62 65 64 20 61 63 63 75 72 61 74 65 6c 79 .need.to.be.described.accurately
2a4c0 2c 20 74 68 65 20 73 6f 75 72 63 65 0a 63 6f 64 65 20 6f 66 20 61 20 72 65 61 6c 20 64 65 63 6f ,.the.source.code.of.a.real.deco
2a4e0 64 65 72 20 73 65 65 6d 73 20 74 68 65 20 6f 6e 6c 79 20 61 70 70 72 6f 70 72 69 61 74 65 20 72 der.seems.the.only.appropriate.r
2a500 65 66 65 72 65 6e 63 65 20 74 6f 20 75 73 65 2e 0a 0a 57 68 61 74 20 66 6f 6c 6c 6f 77 73 20 69 eference.to.use...What.follows.i
2a520 73 20 61 20 64 65 73 63 72 69 70 74 69 6f 6e 20 6f 66 20 74 68 65 20 64 65 63 6f 64 69 6e 67 20 s.a.description.of.the.decoding.
2a540 61 6c 67 6f 72 69 74 68 6d 20 66 6f 72 20 4c 5a 4d 41 2d 33 30 32 65 6f 73 0a 73 74 72 65 61 6d algorithm.for.LZMA-302eos.stream
2a560 73 20 75 73 69 6e 67 20 61 73 20 72 65 66 65 72 65 6e 63 65 20 74 68 65 20 73 6f 75 72 63 65 20 s.using.as.reference.the.source.
2a580 63 6f 64 65 20 6f 66 20 22 6c 7a 64 22 2c 20 61 6e 20 65 64 75 63 61 74 69 6f 6e 61 6c 0a 64 65 code.of."lzd",.an.educational.de
2a5a0 63 6f 6d 70 72 65 73 73 6f 72 20 66 6f 72 20 6c 7a 69 70 20 66 69 6c 65 73 20 77 68 69 63 68 20 compressor.for.lzip.files.which.
2a5c0 63 61 6e 20 62 65 20 64 6f 77 6e 6c 6f 61 64 65 64 20 66 72 6f 6d 20 74 68 65 20 6c 7a 69 70 0a can.be.downloaded.from.the.lzip.
2a5e0 64 6f 77 6e 6c 6f 61 64 20 64 69 72 65 63 74 6f 72 79 2e 20 54 68 65 20 73 6f 75 72 63 65 20 63 download.directory..The.source.c
2a600 6f 64 65 20 6f 66 20 6c 7a 64 20 69 73 20 69 6e 63 6c 75 64 65 64 20 69 6e 20 61 70 70 65 6e 64 ode.of.lzd.is.included.in.append
2a620 69 78 20 41 2e 0a 40 78 72 65 66 7b 52 65 66 65 72 65 6e 63 65 20 73 6f 75 72 63 65 20 63 6f 64 ix.A..@xref{Reference.source.cod
2a640 65 7d 2e 0a 0a 40 73 70 20 31 0a 40 73 65 63 74 69 6f 6e 20 57 68 61 74 20 69 73 20 63 6f 64 65 e}...@sp.1.@section.What.is.code
2a660 64 0a 0a 40 61 6e 63 68 6f 72 7b 77 68 61 74 2d 69 73 2d 63 6f 64 65 64 7d 0a 54 68 65 20 4c 5a d..@anchor{what-is-coded}.The.LZ
2a680 4d 41 20 73 74 72 65 61 6d 20 69 6e 63 6c 75 64 65 73 20 6c 69 74 65 72 61 6c 73 2c 20 6d 61 74 MA.stream.includes.literals,.mat
2a6a0 63 68 65 73 2c 20 61 6e 64 20 72 65 70 65 61 74 65 64 20 6d 61 74 63 68 65 73 20 28 6d 61 74 63 ches,.and.repeated.matches.(matc
2a6c0 68 65 73 0a 72 65 75 73 69 6e 67 20 61 20 72 65 63 65 6e 74 6c 79 20 75 73 65 64 20 64 69 73 74 hes.reusing.a.recently.used.dist
2a6e0 61 6e 63 65 29 2e 20 54 68 65 72 65 20 61 72 65 20 37 20 64 69 66 66 65 72 65 6e 74 20 63 6f 64 ance)..There.are.7.different.cod
2a700 69 6e 67 20 73 65 71 75 65 6e 63 65 73 3a 0a 0a 40 6d 75 6c 74 69 74 61 62 6c 65 20 40 63 6f 6c ing.sequences:..@multitable.@col
2a720 75 6d 6e 66 72 61 63 74 69 6f 6e 73 20 2e 33 35 20 2e 31 34 20 2e 35 31 0a 40 68 65 61 64 69 74 umnfractions..35..14..51.@headit
2a740 65 6d 20 42 69 74 20 73 65 71 75 65 6e 63 65 20 40 74 61 62 20 4e 61 6d 65 20 40 74 61 62 20 44 em.Bit.sequence.@tab.Name.@tab.D
2a760 65 73 63 72 69 70 74 69 6f 6e 0a 40 69 74 65 6d 20 30 20 2b 20 62 79 74 65 20 40 74 61 62 20 6c escription.@item.0.+.byte.@tab.l
2a780 69 74 65 72 61 6c 20 40 74 61 62 20 6c 69 74 65 72 61 6c 20 62 79 74 65 0a 40 69 74 65 6d 20 31 iteral.@tab.literal.byte.@item.1
2a7a0 20 2b 20 30 20 2b 20 6c 65 6e 20 2b 20 64 69 73 20 40 74 61 62 20 6d 61 74 63 68 20 40 74 61 62 .+.0.+.len.+.dis.@tab.match.@tab
2a7c0 20 64 69 73 74 61 6e 63 65 2d 6c 65 6e 67 74 68 20 70 61 69 72 0a 40 69 74 65 6d 20 31 20 2b 20 .distance-length.pair.@item.1.+.
2a7e0 31 20 2b 20 30 20 2b 20 30 20 40 74 61 62 20 73 68 6f 72 74 72 65 70 20 40 74 61 62 20 31 20 62 1.+.0.+.0.@tab.shortrep.@tab.1.b
2a800 79 74 65 20 6d 61 74 63 68 20 61 74 20 6c 61 74 65 73 74 20 75 73 65 64 20 64 69 73 74 61 6e 63 yte.match.at.latest.used.distanc
2a820 65 0a 40 69 74 65 6d 20 31 20 2b 20 31 20 2b 20 30 20 2b 20 31 20 2b 20 6c 65 6e 20 40 74 61 62 e.@item.1.+.1.+.0.+.1.+.len.@tab
2a840 20 72 65 70 30 20 40 74 61 62 20 6c 65 6e 20 62 79 74 65 73 20 6d 61 74 63 68 20 61 74 20 6c 61 .rep0.@tab.len.bytes.match.at.la
2a860 74 65 73 74 20 75 73 65 64 20 64 69 73 74 61 6e 63 65 0a 40 69 74 65 6d 20 31 20 2b 20 31 20 2b test.used.distance.@item.1.+.1.+
2a880 20 31 20 2b 20 30 20 2b 20 6c 65 6e 20 40 74 61 62 20 72 65 70 31 20 40 74 61 62 20 6c 65 6e 20 .1.+.0.+.len.@tab.rep1.@tab.len.
2a8a0 62 79 74 65 73 20 6d 61 74 63 68 20 61 74 20 73 65 63 6f 6e 64 0a 6c 61 74 65 73 74 20 75 73 65 bytes.match.at.second.latest.use
2a8c0 64 20 64 69 73 74 61 6e 63 65 0a 40 69 74 65 6d 20 31 20 2b 20 31 20 2b 20 31 20 2b 20 31 20 2b d.distance.@item.1.+.1.+.1.+.1.+
2a8e0 20 30 20 2b 20 6c 65 6e 20 40 74 61 62 20 72 65 70 32 20 40 74 61 62 20 6c 65 6e 20 62 79 74 65 .0.+.len.@tab.rep2.@tab.len.byte
2a900 73 20 6d 61 74 63 68 20 61 74 20 74 68 69 72 64 0a 6c 61 74 65 73 74 20 75 73 65 64 20 64 69 73 s.match.at.third.latest.used.dis
2a920 74 61 6e 63 65 0a 40 69 74 65 6d 20 31 20 2b 20 31 20 2b 20 31 20 2b 20 31 20 2b 20 31 20 2b 20 tance.@item.1.+.1.+.1.+.1.+.1.+.
2a940 6c 65 6e 20 40 74 61 62 20 72 65 70 33 20 40 74 61 62 20 6c 65 6e 20 62 79 74 65 73 20 6d 61 74 len.@tab.rep3.@tab.len.bytes.mat
2a960 63 68 20 61 74 20 66 6f 75 72 74 68 0a 6c 61 74 65 73 74 20 75 73 65 64 20 64 69 73 74 61 6e 63 ch.at.fourth.latest.used.distanc
2a980 65 0a 40 65 6e 64 20 6d 75 6c 74 69 74 61 62 6c 65 0a 0a 40 73 70 20 31 0a 49 6e 20 74 68 65 20 e.@end.multitable..@sp.1.In.the.
2a9a0 66 6f 6c 6c 6f 77 69 6e 67 20 74 61 62 6c 65 73 2c 20 6d 75 6c 74 69 62 69 74 20 73 65 71 75 65 following.tables,.multibit.seque
2a9c0 6e 63 65 73 20 61 72 65 20 63 6f 64 65 64 20 69 6e 20 6e 6f 72 6d 61 6c 20 6f 72 64 65 72 2c 0a nces.are.coded.in.normal.order,.
2a9e0 66 72 6f 6d 20 6d 6f 73 74 20 73 69 67 6e 69 66 69 63 61 6e 74 20 62 69 74 20 28 4d 53 42 29 20 from.most.significant.bit.(MSB).
2aa00 74 6f 20 6c 65 61 73 74 20 73 69 67 6e 69 66 69 63 61 6e 74 20 62 69 74 20 28 4c 53 42 29 2c 20 to.least.significant.bit.(LSB),.
2aa20 65 78 63 65 70 74 0a 77 68 65 72 65 20 6e 6f 74 65 64 20 6f 74 68 65 72 77 69 73 65 2e 0a 0a 4c except.where.noted.otherwise...L
2aa40 65 6e 67 74 68 73 20 28 74 68 65 20 40 73 61 6d 70 7b 6c 65 6e 7d 20 69 6e 20 74 68 65 20 74 61 engths.(the.@samp{len}.in.the.ta
2aa60 62 6c 65 20 61 62 6f 76 65 29 20 61 72 65 20 63 6f 64 65 64 20 61 73 20 66 6f 6c 6c 6f 77 73 3a ble.above).are.coded.as.follows:
2aa80 0a 0a 40 6d 75 6c 74 69 74 61 62 6c 65 20 40 63 6f 6c 75 6d 6e 66 72 61 63 74 69 6f 6e 73 20 2e ..@multitable.@columnfractions..
2aaa0 35 20 2e 35 0a 40 68 65 61 64 69 74 65 6d 20 42 69 74 20 73 65 71 75 65 6e 63 65 20 40 74 61 62 5..5.@headitem.Bit.sequence.@tab
2aac0 20 44 65 73 63 72 69 70 74 69 6f 6e 0a 40 69 74 65 6d 20 30 20 2b 20 33 20 62 69 74 73 20 40 74 .Description.@item.0.+.3.bits.@t
2aae0 61 62 20 6c 65 6e 67 74 68 73 20 66 72 6f 6d 20 32 20 74 6f 20 39 0a 40 69 74 65 6d 20 31 20 2b ab.lengths.from.2.to.9.@item.1.+
2ab00 20 30 20 2b 20 33 20 62 69 74 73 20 40 74 61 62 20 6c 65 6e 67 74 68 73 20 66 72 6f 6d 20 31 30 .0.+.3.bits.@tab.lengths.from.10
2ab20 20 74 6f 20 31 37 0a 40 69 74 65 6d 20 31 20 2b 20 31 20 2b 20 38 20 62 69 74 73 20 40 74 61 62 .to.17.@item.1.+.1.+.8.bits.@tab
2ab40 20 6c 65 6e 67 74 68 73 20 66 72 6f 6d 20 31 38 20 74 6f 20 32 37 33 0a 40 65 6e 64 20 6d 75 6c .lengths.from.18.to.273.@end.mul
2ab60 74 69 74 61 62 6c 65 0a 0a 40 73 70 20 31 0a 54 68 65 20 63 6f 64 69 6e 67 20 6f 66 20 64 69 73 titable..@sp.1.The.coding.of.dis
2ab80 74 61 6e 63 65 73 20 69 73 20 61 20 6c 69 74 74 6c 65 20 6d 6f 72 65 20 63 6f 6d 70 6c 69 63 61 tances.is.a.little.more.complica
2aba0 74 65 64 2c 20 73 6f 20 49 27 6c 6c 20 62 65 67 69 6e 0a 65 78 70 6c 61 69 6e 69 6e 67 20 61 20 ted,.so.I'll.begin.explaining.a.
2abc0 73 69 6d 70 6c 65 72 20 76 65 72 73 69 6f 6e 20 6f 66 20 74 68 65 20 65 6e 63 6f 64 69 6e 67 2e simpler.version.of.the.encoding.
2abe0 0a 0a 49 6d 61 67 69 6e 65 20 79 6f 75 20 6e 65 65 64 20 74 6f 20 65 6e 63 6f 64 65 20 61 20 6e ..Imagine.you.need.to.encode.a.n
2ac00 75 6d 62 65 72 20 66 72 6f 6d 20 30 20 74 6f 20 40 77 7b 32 5e 33 32 20 2d 20 31 7d 2c 20 61 6e umber.from.0.to.@w{2^32.-.1},.an
2ac20 64 20 79 6f 75 20 77 61 6e 74 20 74 6f 0a 64 6f 20 69 74 20 69 6e 20 61 20 77 61 79 20 74 68 61 d.you.want.to.do.it.in.a.way.tha
2ac40 74 20 70 72 6f 64 75 63 65 73 20 73 68 6f 72 74 65 72 20 63 6f 64 65 73 20 66 6f 72 20 74 68 65 t.produces.shorter.codes.for.the
2ac60 20 73 6d 61 6c 6c 65 72 20 6e 75 6d 62 65 72 73 2e 20 59 6f 75 20 6d 61 79 0a 66 69 72 73 74 20 .smaller.numbers..You.may.first.
2ac80 65 6e 63 6f 64 65 20 74 68 65 20 70 6f 73 69 74 69 6f 6e 20 6f 66 20 74 68 65 20 6d 6f 73 74 20 encode.the.position.of.the.most.
2aca0 73 69 67 6e 69 66 69 63 61 6e 74 20 62 69 74 20 74 68 61 74 20 69 73 20 73 65 74 20 74 6f 20 31 significant.bit.that.is.set.to.1
2acc0 2c 0a 77 68 69 63 68 20 79 6f 75 20 6d 61 79 20 66 69 6e 64 20 62 79 20 6d 61 6b 69 6e 67 20 61 ,.which.you.may.find.by.making.a
2ace0 20 62 69 74 20 73 63 61 6e 20 66 72 6f 6d 20 74 68 65 20 6c 65 66 74 20 28 66 72 6f 6d 20 74 68 .bit.scan.from.the.left.(from.th
2ad00 65 20 4d 53 42 29 2e 20 41 0a 70 6f 73 69 74 69 6f 6e 20 6f 66 20 30 20 6d 65 61 6e 73 20 74 68 e.MSB)..A.position.of.0.means.th
2ad20 61 74 20 74 68 65 20 6e 75 6d 62 65 72 20 69 73 20 30 20 28 6e 6f 20 62 69 74 20 69 73 20 73 65 at.the.number.is.0.(no.bit.is.se
2ad40 74 29 2c 20 31 20 6d 65 61 6e 73 20 74 68 65 20 4c 53 42 20 69 73 0a 74 68 65 20 66 69 72 73 74 t),.1.means.the.LSB.is.the.first
2ad60 20 62 69 74 20 73 65 74 20 28 74 68 65 20 6e 75 6d 62 65 72 20 69 73 20 31 29 2c 20 61 6e 64 20 .bit.set.(the.number.is.1),.and.
2ad80 33 32 20 6d 65 61 6e 73 20 74 68 65 20 4d 53 42 20 69 73 20 73 65 74 20 28 69 2e 65 2e 2c 20 74 32.means.the.MSB.is.set.(i.e.,.t
2ada0 68 65 0a 6e 75 6d 62 65 72 20 69 73 20 40 77 7b 3e 3d 20 30 78 38 30 30 30 30 30 30 30 7d 29 2e he.number.is.@w{>=.0x80000000}).
2adc0 20 54 68 65 6e 2c 20 69 66 20 74 68 65 20 70 6f 73 69 74 69 6f 6e 20 69 73 20 40 77 7b 3e 3d 20 .Then,.if.the.position.is.@w{>=.
2ade0 32 7d 2c 20 79 6f 75 20 65 6e 63 6f 64 65 0a 74 68 65 20 72 65 6d 61 69 6e 69 6e 67 20 40 77 7b 2},.you.encode.the.remaining.@w{
2ae00 70 6f 73 69 74 69 6f 6e 20 2d 20 31 7d 20 62 69 74 73 2e 20 4c 65 74 27 73 20 63 61 6c 6c 20 74 position.-.1}.bits..Let's.call.t
2ae20 68 65 73 65 20 62 69 74 73 20 22 64 69 72 65 63 74 5f 62 69 74 73 22 0a 62 65 63 61 75 73 65 20 hese.bits."direct_bits".because.
2ae40 74 68 65 79 20 61 72 65 20 63 6f 64 65 64 20 64 69 72 65 63 74 6c 79 20 62 79 20 76 61 6c 75 65 they.are.coded.directly.by.value
2ae60 20 69 6e 73 74 65 61 64 20 6f 66 20 69 6e 64 69 72 65 63 74 6c 79 20 62 79 20 70 6f 73 69 74 69 .instead.of.indirectly.by.positi
2ae80 6f 6e 2e 0a 0a 54 68 65 20 69 6e 63 6f 6e 76 65 6e 69 65 6e 74 20 6f 66 20 74 68 69 73 20 73 69 on...The.inconvenient.of.this.si
2aea0 6d 70 6c 65 20 6d 65 74 68 6f 64 20 69 73 20 74 68 61 74 20 69 74 20 6e 65 65 64 73 20 36 20 62 mple.method.is.that.it.needs.6.b
2aec0 69 74 73 20 74 6f 20 65 6e 63 6f 64 65 20 74 68 65 0a 70 6f 73 69 74 69 6f 6e 2c 20 62 75 74 20 its.to.encode.the.position,.but.
2aee0 69 74 20 6a 75 73 74 20 75 73 65 73 20 33 33 20 6f 66 20 74 68 65 20 36 34 20 70 6f 73 73 69 62 it.just.uses.33.of.the.64.possib
2af00 6c 65 20 76 61 6c 75 65 73 2c 20 77 61 73 74 69 6e 67 20 61 6c 6d 6f 73 74 20 68 61 6c 66 0a 6f le.values,.wasting.almost.half.o
2af20 66 20 74 68 65 20 63 6f 64 65 73 2e 0a 0a 54 68 65 20 69 6e 74 65 6c 6c 69 67 65 6e 74 20 74 72 f.the.codes...The.intelligent.tr
2af40 69 63 6b 20 6f 66 20 4c 5a 4d 41 20 69 73 20 74 68 61 74 20 69 74 20 65 6e 63 6f 64 65 73 20 69 ick.of.LZMA.is.that.it.encodes.i
2af60 6e 20 77 68 61 74 20 69 74 20 63 61 6c 6c 73 20 61 20 22 73 6c 6f 74 22 0a 74 68 65 20 70 6f 73 n.what.it.calls.a."slot".the.pos
2af80 69 74 69 6f 6e 20 6f 66 20 74 68 65 20 6d 6f 73 74 20 73 69 67 6e 69 66 69 63 61 6e 74 20 62 69 ition.of.the.most.significant.bi
2afa0 74 20 73 65 74 2c 20 61 6c 6f 6e 67 20 77 69 74 68 20 74 68 65 20 76 61 6c 75 65 20 6f 66 20 74 t.set,.along.with.the.value.of.t
2afc0 68 65 0a 6e 65 78 74 20 62 69 74 2c 20 75 73 69 6e 67 20 74 68 65 20 73 61 6d 65 20 36 20 62 69 he.next.bit,.using.the.same.6.bi
2afe0 74 73 20 74 68 61 74 20 77 6f 75 6c 64 20 74 61 6b 65 20 74 6f 20 65 6e 63 6f 64 65 20 74 68 65 ts.that.would.take.to.encode.the
2b000 20 70 6f 73 69 74 69 6f 6e 0a 61 6c 6f 6e 65 2e 20 54 68 69 73 20 73 65 65 6d 73 20 74 6f 20 6e .position.alone..This.seems.to.n
2b020 65 65 64 20 36 36 20 73 6c 6f 74 73 20 28 74 77 69 63 65 20 74 68 65 20 6e 75 6d 62 65 72 20 6f eed.66.slots.(twice.the.number.o
2b040 66 20 70 6f 73 69 74 69 6f 6e 73 29 2c 20 62 75 74 20 66 6f 72 0a 70 6f 73 69 74 69 6f 6e 73 20 f.positions),.but.for.positions.
2b060 30 20 61 6e 64 20 31 20 74 68 65 72 65 20 69 73 20 6e 6f 20 6e 65 78 74 20 62 69 74 2c 20 73 6f 0.and.1.there.is.no.next.bit,.so
2b080 20 74 68 65 20 6e 75 6d 62 65 72 20 6f 66 20 73 6c 6f 74 73 20 6e 65 65 64 65 64 20 69 73 20 36 .the.number.of.slots.needed.is.6
2b0a0 34 0a 28 30 20 74 6f 20 36 33 29 2e 0a 0a 54 68 65 20 36 20 62 69 74 73 20 72 65 70 72 65 73 65 4.(0.to.63)...The.6.bits.represe
2b0c0 6e 74 69 6e 67 20 74 68 69 73 20 22 73 6c 6f 74 20 6e 75 6d 62 65 72 22 20 61 72 65 20 74 68 65 nting.this."slot.number".are.the
2b0e0 6e 20 63 6f 6e 74 65 78 74 2d 63 6f 64 65 64 2e 20 49 66 0a 74 68 65 20 64 69 73 74 61 6e 63 65 n.context-coded..If.the.distance
2b100 20 69 73 20 40 77 7b 3e 3d 20 34 7d 2c 20 74 68 65 20 72 65 6d 61 69 6e 69 6e 67 20 62 69 74 73 .is.@w{>=.4},.the.remaining.bits
2b120 20 61 72 65 20 65 6e 63 6f 64 65 64 20 61 73 20 66 6f 6c 6c 6f 77 73 2e 0a 40 73 61 6d 70 7b 64 .are.encoded.as.follows..@samp{d
2b140 69 72 65 63 74 5f 62 69 74 73 7d 20 69 73 20 74 68 65 20 61 6d 6f 75 6e 74 20 6f 66 20 72 65 6d irect_bits}.is.the.amount.of.rem
2b160 61 69 6e 69 6e 67 20 62 69 74 73 20 28 66 72 6f 6d 20 31 20 74 6f 20 33 30 29 20 6e 65 65 64 65 aining.bits.(from.1.to.30).neede
2b180 64 0a 74 6f 20 66 6f 72 6d 20 61 20 63 6f 6d 70 6c 65 74 65 20 64 69 73 74 61 6e 63 65 2c 20 61 d.to.form.a.complete.distance,.a
2b1a0 6e 64 20 69 73 20 63 61 6c 63 75 6c 61 74 65 64 20 61 73 20 40 77 7b 28 73 6c 6f 74 20 3e 3e 20 nd.is.calculated.as.@w{(slot.>>.
2b1c0 31 29 20 2d 20 31 7d 2e 0a 49 66 20 61 20 64 69 73 74 61 6e 63 65 20 6e 65 65 64 73 20 36 20 6f 1).-.1}..If.a.distance.needs.6.o
2b1e0 72 20 6d 6f 72 65 20 64 69 72 65 63 74 5f 62 69 74 73 2c 20 74 68 65 20 6c 61 73 74 20 34 20 62 r.more.direct_bits,.the.last.4.b
2b200 69 74 73 20 61 72 65 20 65 6e 63 6f 64 65 64 0a 73 65 70 61 72 61 74 65 6c 79 2e 20 54 68 65 20 its.are.encoded.separately..The.
2b220 6c 61 73 74 20 70 69 65 63 65 20 28 61 6c 6c 20 74 68 65 20 64 69 72 65 63 74 5f 62 69 74 73 20 last.piece.(all.the.direct_bits.
2b240 66 6f 72 20 64 69 73 74 61 6e 63 65 73 20 34 20 74 6f 20 31 32 37 2c 0a 6f 72 20 74 68 65 20 6c for.distances.4.to.127,.or.the.l
2b260 61 73 74 20 34 20 62 69 74 73 20 66 6f 72 20 64 69 73 74 61 6e 63 65 73 20 40 77 7b 3e 3d 20 31 ast.4.bits.for.distances.@w{>=.1
2b280 32 38 7d 29 20 69 73 20 63 6f 6e 74 65 78 74 2d 63 6f 64 65 64 20 69 6e 20 72 65 76 65 72 73 65 28}).is.context-coded.in.reverse
2b2a0 0a 6f 72 64 65 72 20 28 66 72 6f 6d 20 4c 53 42 20 74 6f 20 4d 53 42 29 2e 20 46 6f 72 20 64 69 .order.(from.LSB.to.MSB)..For.di
2b2c0 73 74 61 6e 63 65 73 20 40 77 7b 3e 3d 20 31 32 38 7d 2c 20 74 68 65 0a 40 77 7b 40 73 61 6d 70 stances.@w{>=.128},.the.@w{@samp
2b2e0 7b 64 69 72 65 63 74 5f 62 69 74 73 20 2d 20 34 7d 7d 20 70 61 72 74 20 69 73 20 65 6e 63 6f 64 {direct_bits.-.4}}.part.is.encod
2b300 65 64 20 77 69 74 68 20 66 69 78 65 64 20 30 2e 35 20 70 72 6f 62 61 62 69 6c 69 74 79 2e 0a 0a ed.with.fixed.0.5.probability...
2b320 40 6d 75 6c 74 69 74 61 62 6c 65 20 40 63 6f 6c 75 6d 6e 66 72 61 63 74 69 6f 6e 73 20 2e 35 20 @multitable.@columnfractions..5.
2b340 2e 35 0a 40 68 65 61 64 69 74 65 6d 20 42 69 74 20 73 65 71 75 65 6e 63 65 20 40 74 61 62 20 44 .5.@headitem.Bit.sequence.@tab.D
2b360 65 73 63 72 69 70 74 69 6f 6e 0a 40 69 74 65 6d 20 73 6c 6f 74 20 40 74 61 62 20 64 69 73 74 61 escription.@item.slot.@tab.dista
2b380 6e 63 65 73 20 66 72 6f 6d 20 30 20 74 6f 20 33 0a 40 69 74 65 6d 20 73 6c 6f 74 20 2b 20 64 69 nces.from.0.to.3.@item.slot.+.di
2b3a0 72 65 63 74 5f 62 69 74 73 20 40 74 61 62 20 64 69 73 74 61 6e 63 65 73 20 66 72 6f 6d 20 34 20 rect_bits.@tab.distances.from.4.
2b3c0 74 6f 20 31 32 37 0a 40 69 74 65 6d 20 73 6c 6f 74 20 2b 20 28 64 69 72 65 63 74 5f 62 69 74 73 to.127.@item.slot.+.(direct_bits
2b3e0 20 2d 20 34 29 20 2b 20 34 20 62 69 74 73 20 40 74 61 62 20 64 69 73 74 61 6e 63 65 73 20 66 72 .-.4).+.4.bits.@tab.distances.fr
2b400 6f 6d 20 31 32 38 20 74 6f 0a 32 5e 33 32 20 2d 20 31 0a 40 65 6e 64 20 6d 75 6c 74 69 74 61 62 om.128.to.2^32.-.1.@end.multitab
2b420 6c 65 0a 0a 40 73 70 20 31 0a 40 73 65 63 74 69 6f 6e 20 54 68 65 20 63 6f 64 69 6e 67 20 63 6f le..@sp.1.@section.The.coding.co
2b440 6e 74 65 78 74 73 0a 0a 54 68 65 73 65 20 63 6f 6e 74 65 78 74 73 20 28 40 73 61 6d 70 7b 42 69 ntexts..These.contexts.(@samp{Bi
2b460 74 5f 6d 6f 64 65 6c 7d 20 69 6e 20 74 68 65 20 73 6f 75 72 63 65 29 2c 20 61 72 65 20 69 6e 74 t_model}.in.the.source),.are.int
2b480 65 67 65 72 73 20 6f 72 20 61 72 72 61 79 73 0a 6f 66 20 69 6e 74 65 67 65 72 73 20 72 65 70 72 egers.or.arrays.of.integers.repr
2b4a0 65 73 65 6e 74 69 6e 67 20 74 68 65 20 70 72 6f 62 61 62 69 6c 69 74 79 20 6f 66 20 74 68 65 20 esenting.the.probability.of.the.
2b4c0 63 6f 72 72 65 73 70 6f 6e 64 69 6e 67 20 62 69 74 20 62 65 69 6e 67 20 30 2e 0a 0a 54 68 65 20 corresponding.bit.being.0...The.
2b4e0 69 6e 64 69 63 65 73 20 75 73 65 64 20 69 6e 20 74 68 65 73 65 20 61 72 72 61 79 73 20 61 72 65 indices.used.in.these.arrays.are
2b500 3a 0a 0a 40 74 61 62 6c 65 20 40 73 61 6d 70 0a 40 69 74 65 6d 20 73 74 61 74 65 0a 41 20 73 74 :..@table.@samp.@item.state.A.st
2b520 61 74 65 20 6d 61 63 68 69 6e 65 20 28 40 73 61 6d 70 7b 53 74 61 74 65 7d 20 69 6e 20 74 68 65 ate.machine.(@samp{State}.in.the
2b540 20 73 6f 75 72 63 65 29 20 77 69 74 68 20 31 32 20 73 74 61 74 65 73 20 28 30 20 74 6f 20 31 31 .source).with.12.states.(0.to.11
2b560 29 2c 0a 63 6f 64 69 6e 67 20 74 68 65 20 6c 61 74 65 73 74 20 32 20 74 6f 20 34 20 74 79 70 65 ),.coding.the.latest.2.to.4.type
2b580 73 20 6f 66 20 73 65 71 75 65 6e 63 65 73 20 70 72 6f 63 65 73 73 65 64 2e 20 54 68 65 20 69 6e s.of.sequences.processed..The.in
2b5a0 69 74 69 61 6c 20 73 74 61 74 65 0a 69 73 20 30 2e 0a 0a 40 69 74 65 6d 20 70 6f 73 5f 73 74 61 itial.state.is.0...@item.pos_sta
2b5c0 74 65 0a 56 61 6c 75 65 20 6f 66 20 74 68 65 20 32 20 6c 65 61 73 74 20 73 69 67 6e 69 66 69 63 te.Value.of.the.2.least.signific
2b5e0 61 6e 74 20 62 69 74 73 20 6f 66 20 74 68 65 20 63 75 72 72 65 6e 74 20 70 6f 73 69 74 69 6f 6e ant.bits.of.the.current.position
2b600 20 69 6e 20 74 68 65 0a 64 65 63 6f 64 65 64 20 64 61 74 61 2e 0a 0a 40 69 74 65 6d 20 6c 69 74 .in.the.decoded.data...@item.lit
2b620 65 72 61 6c 5f 73 74 61 74 65 0a 56 61 6c 75 65 20 6f 66 20 74 68 65 20 33 20 6d 6f 73 74 20 73 eral_state.Value.of.the.3.most.s
2b640 69 67 6e 69 66 69 63 61 6e 74 20 62 69 74 73 20 6f 66 20 74 68 65 20 6c 61 74 65 73 74 20 62 79 ignificant.bits.of.the.latest.by
2b660 74 65 20 64 65 63 6f 64 65 64 2e 0a 0a 40 69 74 65 6d 20 6c 65 6e 5f 73 74 61 74 65 0a 43 6f 64 te.decoded...@item.len_state.Cod
2b680 65 64 20 76 61 6c 75 65 20 6f 66 20 74 68 65 20 63 75 72 72 65 6e 74 20 6d 61 74 63 68 20 6c 65 ed.value.of.the.current.match.le
2b6a0 6e 67 74 68 20 40 77 7b 28 6c 65 6e 67 74 68 20 2d 20 32 29 7d 2c 20 77 69 74 68 20 61 20 6d 61 ngth.@w{(length.-.2)},.with.a.ma
2b6c0 78 69 6d 75 6d 0a 6f 66 20 33 2e 20 54 68 65 20 72 65 73 75 6c 74 69 6e 67 20 76 61 6c 75 65 20 ximum.of.3..The.resulting.value.
2b6e0 69 73 20 69 6e 20 74 68 65 20 72 61 6e 67 65 20 30 20 74 6f 20 33 2e 0a 0a 40 65 6e 64 20 74 61 is.in.the.range.0.to.3...@end.ta
2b700 62 6c 65 0a 0a 0a 49 6e 20 74 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 74 61 62 6c 65 2c 20 40 73 ble...In.the.following.table,.@s
2b720 61 6d 70 7b 21 6c 69 74 65 72 61 6c 7d 20 69 73 20 61 6e 79 20 73 65 71 75 65 6e 63 65 20 65 78 amp{!literal}.is.any.sequence.ex
2b740 63 65 70 74 20 61 20 6c 69 74 65 72 61 6c 0a 62 79 74 65 2e 20 40 73 61 6d 70 7b 72 65 70 7d 20 cept.a.literal.byte..@samp{rep}.
2b760 69 73 20 61 6e 79 20 6f 6e 65 20 6f 66 20 40 73 61 6d 70 7b 72 65 70 30 7d 2c 20 40 73 61 6d 70 is.any.one.of.@samp{rep0},.@samp
2b780 7b 72 65 70 31 7d 2c 20 40 73 61 6d 70 7b 72 65 70 32 7d 2c 20 6f 72 0a 40 73 61 6d 70 7b 72 65 {rep1},.@samp{rep2},.or.@samp{re
2b7a0 70 33 7d 2e 20 54 68 65 20 74 79 70 65 73 20 6f 66 20 70 72 65 76 69 6f 75 73 20 73 65 71 75 65 p3}..The.types.of.previous.seque
2b7c0 6e 63 65 73 20 63 6f 72 72 65 73 70 6f 6e 64 69 6e 67 20 74 6f 20 65 61 63 68 20 73 74 61 74 65 nces.corresponding.to.each.state
2b7e0 0a 61 72 65 3a 0a 0a 40 6d 75 6c 74 69 74 61 62 6c 65 20 7b 53 74 61 74 65 7d 20 7b 72 65 70 20 .are:..@multitable.{State}.{rep.
2b800 6f 72 20 28 21 6c 69 74 65 72 61 6c 2c 20 73 68 6f 72 74 72 65 70 29 2c 20 6c 69 74 65 72 61 6c or.(!literal,.shortrep),.literal
2b820 2c 20 6c 69 74 65 72 61 6c 7d 0a 40 68 65 61 64 69 74 65 6d 20 53 74 61 74 65 20 40 74 61 62 20 ,.literal}.@headitem.State.@tab.
2b840 54 79 70 65 73 20 6f 66 20 70 72 65 76 69 6f 75 73 20 73 65 71 75 65 6e 63 65 73 0a 40 69 74 65 Types.of.previous.sequences.@ite
2b860 6d 20 20 30 20 40 74 61 62 20 6c 69 74 65 72 61 6c 2c 20 6c 69 74 65 72 61 6c 2c 20 6c 69 74 65 m..0.@tab.literal,.literal,.lite
2b880 72 61 6c 0a 40 69 74 65 6d 20 20 31 20 40 74 61 62 20 6d 61 74 63 68 2c 20 6c 69 74 65 72 61 6c ral.@item..1.@tab.match,.literal
2b8a0 2c 20 6c 69 74 65 72 61 6c 0a 40 69 74 65 6d 20 20 32 20 40 74 61 62 20 72 65 70 20 6f 72 20 28 ,.literal.@item..2.@tab.rep.or.(
2b8c0 21 6c 69 74 65 72 61 6c 2c 20 73 68 6f 72 74 72 65 70 29 2c 20 6c 69 74 65 72 61 6c 2c 20 6c 69 !literal,.shortrep),.literal,.li
2b8e0 74 65 72 61 6c 0a 40 69 74 65 6d 20 20 33 20 40 74 61 62 20 6c 69 74 65 72 61 6c 2c 20 73 68 6f teral.@item..3.@tab.literal,.sho
2b900 72 74 72 65 70 2c 20 6c 69 74 65 72 61 6c 2c 20 6c 69 74 65 72 61 6c 0a 40 69 74 65 6d 20 20 34 rtrep,.literal,.literal.@item..4
2b920 20 40 74 61 62 20 6d 61 74 63 68 2c 20 6c 69 74 65 72 61 6c 0a 40 69 74 65 6d 20 20 35 20 40 74 .@tab.match,.literal.@item..5.@t
2b940 61 62 20 72 65 70 20 6f 72 20 28 21 6c 69 74 65 72 61 6c 2c 20 73 68 6f 72 74 72 65 70 29 2c 20 ab.rep.or.(!literal,.shortrep),.
2b960 6c 69 74 65 72 61 6c 0a 40 69 74 65 6d 20 20 36 20 40 74 61 62 20 6c 69 74 65 72 61 6c 2c 20 73 literal.@item..6.@tab.literal,.s
2b980 68 6f 72 74 72 65 70 2c 20 6c 69 74 65 72 61 6c 0a 40 69 74 65 6d 20 20 37 20 40 74 61 62 20 6c hortrep,.literal.@item..7.@tab.l
2b9a0 69 74 65 72 61 6c 2c 20 6d 61 74 63 68 0a 40 69 74 65 6d 20 20 38 20 40 74 61 62 20 6c 69 74 65 iteral,.match.@item..8.@tab.lite
2b9c0 72 61 6c 2c 20 72 65 70 0a 40 69 74 65 6d 20 20 39 20 40 74 61 62 20 6c 69 74 65 72 61 6c 2c 20 ral,.rep.@item..9.@tab.literal,.
2b9e0 73 68 6f 72 74 72 65 70 0a 40 69 74 65 6d 20 31 30 20 40 74 61 62 20 21 6c 69 74 65 72 61 6c 2c shortrep.@item.10.@tab.!literal,
2ba00 20 6d 61 74 63 68 0a 40 69 74 65 6d 20 31 31 20 40 74 61 62 20 21 6c 69 74 65 72 61 6c 2c 20 28 .match.@item.11.@tab.!literal,.(
2ba20 72 65 70 20 6f 72 20 73 68 6f 72 74 72 65 70 29 0a 40 65 6e 64 20 6d 75 6c 74 69 74 61 62 6c 65 rep.or.shortrep).@end.multitable
2ba40 0a 0a 40 73 70 20 31 0a 54 68 65 20 63 6f 6e 74 65 78 74 73 20 66 6f 72 20 64 65 63 6f 64 69 6e ..@sp.1.The.contexts.for.decodin
2ba60 67 20 74 68 65 20 74 79 70 65 20 6f 66 20 63 6f 64 69 6e 67 20 73 65 71 75 65 6e 63 65 20 61 72 g.the.type.of.coding.sequence.ar
2ba80 65 3a 0a 0a 40 6d 75 6c 74 69 74 61 62 6c 65 20 40 63 6f 6c 75 6d 6e 66 72 61 63 74 69 6f 6e 73 e:..@multitable.@columnfractions
2baa0 20 2e 32 20 2e 33 35 20 2e 34 35 0a 40 68 65 61 64 69 74 65 6d 20 4e 61 6d 65 20 40 74 61 62 20 ..2..35..45.@headitem.Name.@tab.
2bac0 49 6e 64 69 63 65 73 20 40 74 61 62 20 55 73 65 64 20 77 68 65 6e 0a 40 69 74 65 6d 20 62 6d 5f Indices.@tab.Used.when.@item.bm_
2bae0 6d 61 74 63 68 20 40 74 61 62 20 73 74 61 74 65 2c 20 70 6f 73 5f 73 74 61 74 65 20 40 74 61 62 match.@tab.state,.pos_state.@tab
2bb00 20 73 65 71 75 65 6e 63 65 20 73 74 61 72 74 0a 40 69 74 65 6d 20 62 6d 5f 72 65 70 20 40 74 61 .sequence.start.@item.bm_rep.@ta
2bb20 62 20 73 74 61 74 65 20 40 74 61 62 20 61 66 74 65 72 20 73 65 71 75 65 6e 63 65 20 31 0a 40 69 b.state.@tab.after.sequence.1.@i
2bb40 74 65 6d 20 62 6d 5f 72 65 70 30 20 40 74 61 62 20 73 74 61 74 65 20 40 74 61 62 20 61 66 74 65 tem.bm_rep0.@tab.state.@tab.afte
2bb60 72 20 73 65 71 75 65 6e 63 65 20 31 31 0a 40 69 74 65 6d 20 62 6d 5f 72 65 70 31 20 40 74 61 62 r.sequence.11.@item.bm_rep1.@tab
2bb80 20 73 74 61 74 65 20 40 74 61 62 20 61 66 74 65 72 20 73 65 71 75 65 6e 63 65 20 31 31 31 0a 40 .state.@tab.after.sequence.111.@
2bba0 69 74 65 6d 20 62 6d 5f 72 65 70 32 20 40 74 61 62 20 73 74 61 74 65 20 40 74 61 62 20 61 66 74 item.bm_rep2.@tab.state.@tab.aft
2bbc0 65 72 20 73 65 71 75 65 6e 63 65 20 31 31 31 31 0a 40 69 74 65 6d 20 62 6d 5f 6c 65 6e 20 40 74 er.sequence.1111.@item.bm_len.@t
2bbe0 61 62 20 73 74 61 74 65 2c 20 70 6f 73 5f 73 74 61 74 65 20 40 74 61 62 20 61 66 74 65 72 20 73 ab.state,.pos_state.@tab.after.s
2bc00 65 71 75 65 6e 63 65 20 31 31 30 0a 40 65 6e 64 20 6d 75 6c 74 69 74 61 62 6c 65 0a 0a 40 73 70 equence.110.@end.multitable..@sp
2bc20 20 31 0a 54 68 65 20 63 6f 6e 74 65 78 74 73 20 66 6f 72 20 64 65 63 6f 64 69 6e 67 20 64 69 73 .1.The.contexts.for.decoding.dis
2bc40 74 61 6e 63 65 73 20 61 72 65 3a 0a 0a 40 6d 75 6c 74 69 74 61 62 6c 65 20 40 63 6f 6c 75 6d 6e tances.are:..@multitable.@column
2bc60 66 72 61 63 74 69 6f 6e 73 20 2e 32 20 2e 33 20 2e 35 0a 40 68 65 61 64 69 74 65 6d 20 4e 61 6d fractions..2..3..5.@headitem.Nam
2bc80 65 20 40 74 61 62 20 49 6e 64 69 63 65 73 20 40 74 61 62 20 55 73 65 64 20 77 68 65 6e 0a 40 69 e.@tab.Indices.@tab.Used.when.@i
2bca0 74 65 6d 20 62 6d 5f 64 69 73 5f 73 6c 6f 74 20 40 74 61 62 20 6c 65 6e 5f 73 74 61 74 65 2c 20 tem.bm_dis_slot.@tab.len_state,.
2bcc0 62 69 74 20 74 72 65 65 20 40 74 61 62 20 64 69 73 74 61 6e 63 65 20 73 74 61 72 74 0a 40 69 74 bit.tree.@tab.distance.start.@it
2bce0 65 6d 20 62 6d 5f 64 69 73 20 40 74 61 62 20 72 65 76 65 72 73 65 20 62 69 74 20 74 72 65 65 20 em.bm_dis.@tab.reverse.bit.tree.
2bd00 40 74 61 62 20 61 66 74 65 72 20 73 6c 6f 74 73 20 34 20 74 6f 20 31 33 0a 40 69 74 65 6d 20 62 @tab.after.slots.4.to.13.@item.b
2bd20 6d 5f 61 6c 69 67 6e 20 40 74 61 62 20 72 65 76 65 72 73 65 20 62 69 74 20 74 72 65 65 20 40 74 m_align.@tab.reverse.bit.tree.@t
2bd40 61 62 20 66 6f 72 20 64 69 73 74 61 6e 63 65 73 20 3e 3d 20 31 32 38 2c 20 61 66 74 65 72 0a 66 ab.for.distances.>=.128,.after.f
2bd60 69 78 65 64 20 70 72 6f 62 61 62 69 6c 69 74 79 20 62 69 74 73 0a 40 65 6e 64 20 6d 75 6c 74 69 ixed.probability.bits.@end.multi
2bd80 74 61 62 6c 65 0a 0a 40 73 70 20 31 0a 54 68 65 72 65 20 61 72 65 20 74 77 6f 20 73 65 70 61 72 table..@sp.1.There.are.two.separ
2bda0 61 74 65 20 73 65 74 73 20 6f 66 20 63 6f 6e 74 65 78 74 73 20 66 6f 72 20 6c 65 6e 67 74 68 73 ate.sets.of.contexts.for.lengths
2bdc0 20 28 40 73 61 6d 70 7b 4c 65 6e 5f 6d 6f 64 65 6c 7d 20 69 6e 0a 74 68 65 20 73 6f 75 72 63 65 .(@samp{Len_model}.in.the.source
2bde0 29 2e 20 4f 6e 65 20 66 6f 72 20 6e 6f 72 6d 61 6c 20 6d 61 74 63 68 65 73 2c 20 74 68 65 20 6f )..One.for.normal.matches,.the.o
2be00 74 68 65 72 20 66 6f 72 20 72 65 70 65 61 74 65 64 20 6d 61 74 63 68 65 73 2e 20 54 68 65 0a 63 ther.for.repeated.matches..The.c
2be20 6f 6e 74 65 78 74 73 20 69 6e 20 65 61 63 68 20 4c 65 6e 5f 6d 6f 64 65 6c 20 61 72 65 20 28 73 ontexts.in.each.Len_model.are.(s
2be40 65 65 20 40 73 61 6d 70 7b 64 65 63 6f 64 65 5f 6c 65 6e 7d 20 69 6e 20 74 68 65 20 73 6f 75 72 ee.@samp{decode_len}.in.the.sour
2be60 63 65 29 3a 0a 0a 40 6d 75 6c 74 69 74 61 62 6c 65 20 40 63 6f 6c 75 6d 6e 66 72 61 63 74 69 6f ce):..@multitable.@columnfractio
2be80 6e 73 20 2e 32 20 2e 34 20 2e 34 0a 40 68 65 61 64 69 74 65 6d 20 4e 61 6d 65 20 40 74 61 62 20 ns..2..4..4.@headitem.Name.@tab.
2bea0 49 6e 64 69 63 65 73 20 40 74 61 62 20 55 73 65 64 20 77 68 65 6e 0a 40 69 74 65 6d 20 63 68 6f Indices.@tab.Used.when.@item.cho
2bec0 69 63 65 31 20 40 74 61 62 20 6e 6f 6e 65 20 40 74 61 62 20 6c 65 6e 67 74 68 20 73 74 61 72 74 ice1.@tab.none.@tab.length.start
2bee0 0a 40 69 74 65 6d 20 63 68 6f 69 63 65 32 20 40 74 61 62 20 6e 6f 6e 65 20 40 74 61 62 20 61 66 .@item.choice2.@tab.none.@tab.af
2bf00 74 65 72 20 73 65 71 75 65 6e 63 65 20 31 0a 40 69 74 65 6d 20 62 6d 5f 6c 6f 77 20 40 74 61 62 ter.sequence.1.@item.bm_low.@tab
2bf20 20 70 6f 73 5f 73 74 61 74 65 2c 20 62 69 74 20 74 72 65 65 20 40 74 61 62 20 61 66 74 65 72 20 .pos_state,.bit.tree.@tab.after.
2bf40 73 65 71 75 65 6e 63 65 20 30 0a 40 69 74 65 6d 20 62 6d 5f 6d 69 64 20 40 74 61 62 20 70 6f 73 sequence.0.@item.bm_mid.@tab.pos
2bf60 5f 73 74 61 74 65 2c 20 62 69 74 20 74 72 65 65 20 40 74 61 62 20 61 66 74 65 72 20 73 65 71 75 _state,.bit.tree.@tab.after.sequ
2bf80 65 6e 63 65 20 31 30 0a 40 69 74 65 6d 20 62 6d 5f 68 69 67 68 20 40 74 61 62 20 62 69 74 20 74 ence.10.@item.bm_high.@tab.bit.t
2bfa0 72 65 65 20 40 74 61 62 20 61 66 74 65 72 20 73 65 71 75 65 6e 63 65 20 31 31 0a 40 65 6e 64 20 ree.@tab.after.sequence.11.@end.
2bfc0 6d 75 6c 74 69 74 61 62 6c 65 0a 0a 40 73 70 20 31 0a 54 68 65 20 63 6f 6e 74 65 78 74 20 61 72 multitable..@sp.1.The.context.ar
2bfe0 72 61 79 20 40 73 61 6d 70 7b 62 6d 5f 6c 69 74 65 72 61 6c 7d 20 69 73 20 73 70 65 63 69 61 6c ray.@samp{bm_literal}.is.special
2c000 2e 20 49 6e 20 70 72 69 6e 63 69 70 6c 65 20 69 74 20 61 63 74 73 20 61 73 0a 61 20 6e 6f 72 6d ..In.principle.it.acts.as.a.norm
2c020 61 6c 20 62 69 74 20 74 72 65 65 20 63 6f 6e 74 65 78 74 2c 20 74 68 65 20 6f 6e 65 20 73 65 6c al.bit.tree.context,.the.one.sel
2c040 65 63 74 65 64 20 62 79 20 40 73 61 6d 70 7b 6c 69 74 65 72 61 6c 5f 73 74 61 74 65 7d 2e 20 42 ected.by.@samp{literal_state}..B
2c060 75 74 0a 69 66 20 74 68 65 20 70 72 65 76 69 6f 75 73 20 64 65 63 6f 64 65 64 20 62 79 74 65 20 ut.if.the.previous.decoded.byte.
2c080 77 61 73 20 6e 6f 74 20 61 20 6c 69 74 65 72 61 6c 2c 20 74 77 6f 20 6f 74 68 65 72 20 62 69 74 was.not.a.literal,.two.other.bit
2c0a0 20 74 72 65 65 0a 63 6f 6e 74 65 78 74 73 20 61 72 65 20 75 73 65 64 20 64 65 70 65 6e 64 69 6e .tree.contexts.are.used.dependin
2c0c0 67 20 6f 6e 20 74 68 65 20 76 61 6c 75 65 20 6f 66 20 65 61 63 68 20 62 69 74 20 69 6e 0a 40 73 g.on.the.value.of.each.bit.in.@s
2c0e0 61 6d 70 7b 6d 61 74 63 68 5f 62 79 74 65 7d 20 28 74 68 65 20 62 79 74 65 20 61 74 20 74 68 65 amp{match_byte}.(the.byte.at.the
2c100 20 6c 61 74 65 73 74 20 75 73 65 64 20 64 69 73 74 61 6e 63 65 29 2c 20 75 6e 74 69 6c 20 61 20 .latest.used.distance),.until.a.
2c120 62 69 74 20 69 73 0a 64 65 63 6f 64 65 64 20 74 68 61 74 20 69 73 20 64 69 66 66 65 72 65 6e 74 bit.is.decoded.that.is.different
2c140 20 66 72 6f 6d 20 69 74 73 20 63 6f 72 72 65 73 70 6f 6e 64 69 6e 67 20 62 69 74 20 69 6e 0a 40 .from.its.corresponding.bit.in.@
2c160 73 61 6d 70 7b 6d 61 74 63 68 5f 62 79 74 65 7d 2e 20 41 66 74 65 72 20 74 68 65 20 66 69 72 73 samp{match_byte}..After.the.firs
2c180 74 20 64 69 66 66 65 72 65 6e 63 65 20 69 73 20 66 6f 75 6e 64 2c 20 74 68 65 20 72 65 73 74 20 t.difference.is.found,.the.rest.
2c1a0 6f 66 20 74 68 65 0a 62 79 74 65 20 69 73 20 64 65 63 6f 64 65 64 20 75 73 69 6e 67 20 74 68 65 of.the.byte.is.decoded.using.the
2c1c0 20 6e 6f 72 6d 61 6c 20 62 69 74 20 74 72 65 65 20 63 6f 6e 74 65 78 74 2e 20 28 53 65 65 0a 40 .normal.bit.tree.context..(See.@
2c1e0 73 61 6d 70 7b 64 65 63 6f 64 65 5f 6d 61 74 63 68 65 64 7d 20 69 6e 20 74 68 65 20 73 6f 75 72 samp{decode_matched}.in.the.sour
2c200 63 65 29 2e 0a 0a 40 73 70 20 31 0a 40 73 65 63 74 69 6f 6e 20 54 68 65 20 72 61 6e 67 65 20 64 ce)...@sp.1.@section.The.range.d
2c220 65 63 6f 64 65 72 0a 0a 54 68 65 20 4c 5a 4d 41 20 73 74 72 65 61 6d 20 69 73 20 63 6f 6e 73 75 ecoder..The.LZMA.stream.is.consu
2c240 6d 65 64 20 6f 6e 65 20 62 79 74 65 20 61 74 20 61 20 74 69 6d 65 20 62 79 20 74 68 65 20 72 61 med.one.byte.at.a.time.by.the.ra
2c260 6e 67 65 20 64 65 63 6f 64 65 72 2e 0a 28 53 65 65 20 40 73 61 6d 70 7b 6e 6f 72 6d 61 6c 69 7a nge.decoder..(See.@samp{normaliz
2c280 65 7d 20 69 6e 20 74 68 65 20 73 6f 75 72 63 65 29 2e 20 45 76 65 72 79 20 62 79 74 65 20 63 6f e}.in.the.source)..Every.byte.co
2c2a0 6e 73 75 6d 65 64 20 70 72 6f 64 75 63 65 73 20 61 0a 76 61 72 69 61 62 6c 65 20 6e 75 6d 62 65 nsumed.produces.a.variable.numbe
2c2c0 72 20 6f 66 20 64 65 63 6f 64 65 64 20 62 69 74 73 2c 20 64 65 70 65 6e 64 69 6e 67 20 6f 6e 20 r.of.decoded.bits,.depending.on.
2c2e0 68 6f 77 20 77 65 6c 6c 20 74 68 65 73 65 20 62 69 74 73 20 61 67 72 65 65 0a 77 69 74 68 20 74 how.well.these.bits.agree.with.t
2c300 68 65 69 72 20 63 6f 6e 74 65 78 74 2e 20 28 53 65 65 20 40 73 61 6d 70 7b 64 65 63 6f 64 65 5f heir.context..(See.@samp{decode_
2c320 62 69 74 7d 20 69 6e 20 74 68 65 20 73 6f 75 72 63 65 29 2e 0a 0a 54 68 65 20 72 61 6e 67 65 20 bit}.in.the.source)...The.range.
2c340 64 65 63 6f 64 65 72 20 73 74 61 74 65 20 63 6f 6e 73 69 73 74 73 20 6f 66 20 74 77 6f 20 75 6e decoder.state.consists.of.two.un
2c360 73 69 67 6e 65 64 20 33 32 2d 62 69 74 20 76 61 72 69 61 62 6c 65 73 3b 0a 40 73 61 6d 70 7b 72 signed.32-bit.variables;.@samp{r
2c380 61 6e 67 65 7d 20 28 72 65 70 72 65 73 65 6e 74 69 6e 67 20 74 68 65 20 6d 6f 73 74 20 73 69 67 ange}.(representing.the.most.sig
2c3a0 6e 69 66 69 63 61 6e 74 20 70 61 72 74 20 6f 66 20 74 68 65 20 72 61 6e 67 65 20 73 69 7a 65 0a nificant.part.of.the.range.size.
2c3c0 6e 6f 74 20 79 65 74 20 64 65 63 6f 64 65 64 29 2c 20 61 6e 64 20 40 73 61 6d 70 7b 63 6f 64 65 not.yet.decoded),.and.@samp{code
2c3e0 7d 20 28 72 65 70 72 65 73 65 6e 74 69 6e 67 20 74 68 65 20 63 75 72 72 65 6e 74 20 70 6f 69 6e }.(representing.the.current.poin
2c400 74 20 77 69 74 68 69 6e 0a 40 73 61 6d 70 7b 72 61 6e 67 65 7d 29 2e 20 40 73 61 6d 70 7b 72 61 t.within.@samp{range})..@samp{ra
2c420 6e 67 65 7d 20 69 73 20 69 6e 69 74 69 61 6c 69 7a 65 64 20 74 6f 20 40 77 7b 32 5e 33 32 20 2d nge}.is.initialized.to.@w{2^32.-
2c440 20 31 7d 2c 20 61 6e 64 0a 40 73 61 6d 70 7b 63 6f 64 65 7d 20 69 73 20 69 6e 69 74 69 61 6c 69 .1},.and.@samp{code}.is.initiali
2c460 7a 65 64 20 74 6f 20 30 2e 0a 0a 54 68 65 20 72 61 6e 67 65 20 65 6e 63 6f 64 65 72 20 70 72 6f zed.to.0...The.range.encoder.pro
2c480 64 75 63 65 73 20 61 20 66 69 72 73 74 20 30 20 62 79 74 65 20 74 68 61 74 20 6d 75 73 74 20 62 duces.a.first.0.byte.that.must.b
2c4a0 65 20 69 67 6e 6f 72 65 64 20 62 79 20 74 68 65 0a 72 61 6e 67 65 20 64 65 63 6f 64 65 72 2e 20 e.ignored.by.the.range.decoder..
2c4c0 54 68 69 73 20 69 73 20 64 6f 6e 65 20 62 79 20 73 68 69 66 74 69 6e 67 20 35 20 62 79 74 65 73 This.is.done.by.shifting.5.bytes
2c4e0 20 69 6e 20 74 68 65 20 69 6e 69 74 69 61 6c 69 7a 61 74 69 6f 6e 20 6f 66 0a 40 73 61 6d 70 7b .in.the.initialization.of.@samp{
2c500 63 6f 64 65 7d 20 69 6e 73 74 65 61 64 20 6f 66 20 34 2e 20 28 53 65 65 20 74 68 65 20 40 73 61 code}.instead.of.4..(See.the.@sa
2c520 6d 70 7b 52 61 6e 67 65 5f 64 65 63 6f 64 65 72 7d 20 63 6f 6e 73 74 72 75 63 74 6f 72 20 69 6e mp{Range_decoder}.constructor.in
2c540 0a 74 68 65 20 73 6f 75 72 63 65 29 2e 0a 0a 40 73 70 20 31 0a 40 73 65 63 74 69 6f 6e 20 44 65 .the.source)...@sp.1.@section.De
2c560 63 6f 64 69 6e 67 20 61 6e 64 20 76 65 72 69 66 79 69 6e 67 20 74 68 65 20 4c 5a 4d 41 20 73 74 coding.and.verifying.the.LZMA.st
2c580 72 65 61 6d 0a 0a 41 66 74 65 72 20 64 65 63 6f 64 69 6e 67 20 74 68 65 20 6d 65 6d 62 65 72 20 ream..After.decoding.the.member.
2c5a0 68 65 61 64 65 72 20 61 6e 64 20 6f 62 74 61 69 6e 69 6e 67 20 74 68 65 20 64 69 63 74 69 6f 6e header.and.obtaining.the.diction
2c5c0 61 72 79 20 73 69 7a 65 2c 20 74 68 65 0a 72 61 6e 67 65 20 64 65 63 6f 64 65 72 20 69 73 20 69 ary.size,.the.range.decoder.is.i
2c5e0 6e 69 74 69 61 6c 69 7a 65 64 20 61 6e 64 20 74 68 65 6e 20 74 68 65 20 4c 5a 4d 41 20 64 65 63 nitialized.and.then.the.LZMA.dec
2c600 6f 64 65 72 20 65 6e 74 65 72 73 20 61 20 6c 6f 6f 70 0a 28 53 65 65 20 40 73 61 6d 70 7b 64 65 oder.enters.a.loop.(See.@samp{de
2c620 63 6f 64 65 5f 6d 65 6d 62 65 72 7d 20 69 6e 20 74 68 65 20 73 6f 75 72 63 65 29 20 77 68 65 72 code_member}.in.the.source).wher
2c640 65 20 69 74 20 69 6e 76 6f 6b 65 73 20 74 68 65 20 72 61 6e 67 65 0a 64 65 63 6f 64 65 72 20 77 e.it.invokes.the.range.decoder.w
2c660 69 74 68 20 74 68 65 20 61 70 70 72 6f 70 72 69 61 74 65 20 63 6f 6e 74 65 78 74 73 20 74 6f 20 ith.the.appropriate.contexts.to.
2c680 64 65 63 6f 64 65 20 74 68 65 20 64 69 66 66 65 72 65 6e 74 20 63 6f 64 69 6e 67 0a 73 65 71 75 decode.the.different.coding.sequ
2c6a0 65 6e 63 65 73 20 28 6d 61 74 63 68 65 73 2c 20 72 65 70 65 61 74 65 64 20 6d 61 74 63 68 65 73 ences.(matches,.repeated.matches
2c6c0 2c 20 61 6e 64 20 6c 69 74 65 72 61 6c 20 62 79 74 65 73 29 2c 20 75 6e 74 69 6c 20 74 68 65 20 ,.and.literal.bytes),.until.the.
2c6e0 22 45 6e 64 0a 4f 66 20 53 74 72 65 61 6d 22 20 6d 61 72 6b 65 72 20 69 73 20 64 65 63 6f 64 65 "End.Of.Stream".marker.is.decode
2c700 64 2e 0a 0a 4f 6e 63 65 20 74 68 65 20 22 45 6e 64 20 4f 66 20 53 74 72 65 61 6d 22 20 6d 61 72 d...Once.the."End.Of.Stream".mar
2c720 6b 65 72 20 68 61 73 20 62 65 65 6e 20 64 65 63 6f 64 65 64 2c 20 74 68 65 20 64 65 63 6f 6d 70 ker.has.been.decoded,.the.decomp
2c740 72 65 73 73 6f 72 20 72 65 61 64 73 20 61 6e 64 0a 64 65 63 6f 64 65 73 20 74 68 65 20 6d 65 6d ressor.reads.and.decodes.the.mem
2c760 62 65 72 20 74 72 61 69 6c 65 72 2c 20 61 6e 64 20 76 65 72 69 66 69 65 73 20 74 68 61 74 20 74 ber.trailer,.and.verifies.that.t
2c780 68 65 20 74 68 72 65 65 20 69 6e 74 65 67 72 69 74 79 20 66 61 63 74 6f 72 73 0a 28 43 52 43 2c he.three.integrity.factors.(CRC,
2c7a0 20 64 61 74 61 20 73 69 7a 65 2c 20 61 6e 64 20 6d 65 6d 62 65 72 20 73 69 7a 65 29 20 6d 61 74 .data.size,.and.member.size).mat
2c7c0 63 68 20 74 68 6f 73 65 20 63 61 6c 63 75 6c 61 74 65 64 20 62 79 20 74 68 65 20 4c 5a 4d 41 20 ch.those.calculated.by.the.LZMA.
2c7e0 64 65 63 6f 64 65 72 2e 0a 0a 0a 40 6e 6f 64 65 20 54 72 61 69 6c 69 6e 67 20 64 61 74 61 0a 40 decoder....@node.Trailing.data.@
2c800 63 68 61 70 74 65 72 20 45 78 74 72 61 20 64 61 74 61 20 61 70 70 65 6e 64 65 64 20 74 6f 20 74 chapter.Extra.data.appended.to.t
2c820 68 65 20 66 69 6c 65 0a 40 63 69 6e 64 65 78 20 74 72 61 69 6c 69 6e 67 20 64 61 74 61 0a 0a 53 he.file.@cindex.trailing.data..S
2c840 6f 6d 65 74 69 6d 65 73 20 65 78 74 72 61 20 64 61 74 61 20 61 72 65 20 66 6f 75 6e 64 20 61 70 ometimes.extra.data.are.found.ap
2c860 70 65 6e 64 65 64 20 74 6f 20 61 20 6c 7a 69 70 20 66 69 6c 65 20 61 66 74 65 72 20 74 68 65 20 pended.to.a.lzip.file.after.the.
2c880 6c 61 73 74 0a 6d 65 6d 62 65 72 2e 20 53 75 63 68 20 74 72 61 69 6c 69 6e 67 20 64 61 74 61 20 last.member..Such.trailing.data.
2c8a0 6d 61 79 20 62 65 3a 0a 0a 40 69 74 65 6d 69 7a 65 20 40 62 75 6c 6c 65 74 0a 40 69 74 65 6d 0a may.be:..@itemize.@bullet.@item.
2c8c0 50 61 64 64 69 6e 67 20 61 64 64 65 64 20 74 6f 20 6d 61 6b 65 20 74 68 65 20 66 69 6c 65 20 73 Padding.added.to.make.the.file.s
2c8e0 69 7a 65 20 61 20 6d 75 6c 74 69 70 6c 65 20 6f 66 20 73 6f 6d 65 20 62 6c 6f 63 6b 20 73 69 7a ize.a.multiple.of.some.block.siz
2c900 65 2c 20 66 6f 72 0a 65 78 61 6d 70 6c 65 20 77 68 65 6e 20 77 72 69 74 69 6e 67 20 74 6f 20 61 e,.for.example.when.writing.to.a
2c920 20 74 61 70 65 2e 20 49 74 20 69 73 20 73 61 66 65 20 74 6f 20 61 70 70 65 6e 64 20 61 6e 79 20 .tape..It.is.safe.to.append.any.
2c940 61 6d 6f 75 6e 74 20 6f 66 0a 70 61 64 64 69 6e 67 20 7a 65 72 6f 20 62 79 74 65 73 20 74 6f 20 amount.of.padding.zero.bytes.to.
2c960 61 20 6c 7a 69 70 20 66 69 6c 65 2e 0a 0a 40 69 74 65 6d 0a 55 73 65 66 75 6c 20 64 61 74 61 20 a.lzip.file...@item.Useful.data.
2c980 61 64 64 65 64 20 62 79 20 74 68 65 20 75 73 65 72 3b 20 61 20 63 72 79 70 74 6f 67 72 61 70 68 added.by.the.user;.a.cryptograph
2c9a0 69 63 61 6c 6c 79 20 73 65 63 75 72 65 20 68 61 73 68 2c 20 61 0a 64 65 73 63 72 69 70 74 69 6f ically.secure.hash,.a.descriptio
2c9c0 6e 20 6f 66 20 66 69 6c 65 20 63 6f 6e 74 65 6e 74 73 2c 20 65 74 63 2e 20 49 74 20 69 73 20 73 n.of.file.contents,.etc..It.is.s
2c9e0 61 66 65 20 74 6f 20 61 70 70 65 6e 64 20 61 6e 79 20 61 6d 6f 75 6e 74 20 6f 66 0a 74 65 78 74 afe.to.append.any.amount.of.text
2ca00 20 74 6f 20 61 20 6c 7a 69 70 20 66 69 6c 65 20 61 73 20 6c 6f 6e 67 20 61 73 20 6e 6f 6e 65 20 .to.a.lzip.file.as.long.as.none.
2ca20 6f 66 20 74 68 65 20 66 69 72 73 74 20 66 6f 75 72 20 62 79 74 65 73 20 6f 66 20 74 68 65 20 74 of.the.first.four.bytes.of.the.t
2ca40 65 78 74 0a 6d 61 74 63 68 20 74 68 65 20 63 6f 72 72 65 73 70 6f 6e 64 69 6e 67 20 62 79 74 65 ext.match.the.corresponding.byte
2ca60 20 69 6e 20 74 68 65 20 73 74 72 69 6e 67 20 22 4c 5a 49 50 22 2c 20 61 6e 64 20 74 68 65 20 74 .in.the.string."LZIP",.and.the.t
2ca80 65 78 74 20 64 6f 65 73 20 6e 6f 74 0a 63 6f 6e 74 61 69 6e 20 61 6e 79 20 7a 65 72 6f 20 62 79 ext.does.not.contain.any.zero.by
2caa0 74 65 73 20 28 6e 75 6c 6c 20 63 68 61 72 61 63 74 65 72 73 29 2e 20 4e 6f 6e 7a 65 72 6f 20 62 tes.(null.characters)..Nonzero.b
2cac0 79 74 65 73 20 61 6e 64 20 7a 65 72 6f 20 62 79 74 65 73 0a 63 61 6e 27 74 20 62 65 20 73 61 66 ytes.and.zero.bytes.can't.be.saf
2cae0 65 6c 79 20 6d 69 78 65 64 20 69 6e 20 74 72 61 69 6c 69 6e 67 20 64 61 74 61 2e 0a 0a 40 69 74 ely.mixed.in.trailing.data...@it
2cb00 65 6d 0a 47 61 72 62 61 67 65 20 61 64 64 65 64 20 62 79 20 73 6f 6d 65 20 6e 6f 74 20 74 6f 74 em.Garbage.added.by.some.not.tot
2cb20 61 6c 6c 79 20 73 75 63 63 65 73 73 66 75 6c 20 63 6f 70 79 20 6f 70 65 72 61 74 69 6f 6e 2e 0a ally.successful.copy.operation..
2cb40 0a 40 69 74 65 6d 0a 4d 61 6c 69 63 69 6f 75 73 20 64 61 74 61 20 61 64 64 65 64 20 74 6f 20 74 .@item.Malicious.data.added.to.t
2cb60 68 65 20 66 69 6c 65 20 69 6e 20 6f 72 64 65 72 20 74 6f 20 6d 61 6b 65 20 69 74 73 20 74 6f 74 he.file.in.order.to.make.its.tot
2cb80 61 6c 20 73 69 7a 65 20 61 6e 64 0a 68 61 73 68 20 76 61 6c 75 65 20 28 66 6f 72 20 61 20 63 68 al.size.and.hash.value.(for.a.ch
2cba0 6f 73 65 6e 20 68 61 73 68 29 20 63 6f 69 6e 63 69 64 65 20 77 69 74 68 20 74 68 6f 73 65 20 6f osen.hash).coincide.with.those.o
2cbc0 66 20 61 6e 6f 74 68 65 72 20 66 69 6c 65 2e 0a 0a 40 69 74 65 6d 0a 49 6e 20 72 61 72 65 20 63 f.another.file...@item.In.rare.c
2cbe0 61 73 65 73 2c 20 74 72 61 69 6c 69 6e 67 20 64 61 74 61 20 63 6f 75 6c 64 20 62 65 20 74 68 65 ases,.trailing.data.could.be.the
2cc00 20 63 6f 72 72 75 70 74 20 68 65 61 64 65 72 20 6f 66 20 61 6e 6f 74 68 65 72 0a 6d 65 6d 62 65 .corrupt.header.of.another.membe
2cc20 72 2e 20 49 6e 20 6d 75 6c 74 69 6d 65 6d 62 65 72 20 6f 72 20 63 6f 6e 63 61 74 65 6e 61 74 65 r..In.multimember.or.concatenate
2cc40 64 20 66 69 6c 65 73 20 74 68 65 20 70 72 6f 62 61 62 69 6c 69 74 79 20 6f 66 0a 63 6f 72 72 75 d.files.the.probability.of.corru
2cc60 70 74 69 6f 6e 20 68 61 70 70 65 6e 69 6e 67 20 69 6e 20 74 68 65 20 6d 61 67 69 63 20 62 79 74 ption.happening.in.the.magic.byt
2cc80 65 73 20 69 73 20 35 20 74 69 6d 65 73 20 73 6d 61 6c 6c 65 72 20 74 68 61 6e 20 74 68 65 0a 70 es.is.5.times.smaller.than.the.p
2cca0 72 6f 62 61 62 69 6c 69 74 79 20 6f 66 20 67 65 74 74 69 6e 67 20 61 20 66 61 6c 73 65 20 70 6f robability.of.getting.a.false.po
2ccc0 73 69 74 69 76 65 20 63 61 75 73 65 64 20 62 79 20 74 68 65 20 63 6f 72 72 75 70 74 69 6f 6e 20 sitive.caused.by.the.corruption.
2cce0 6f 66 20 74 68 65 0a 69 6e 74 65 67 72 69 74 79 20 69 6e 66 6f 72 6d 61 74 69 6f 6e 20 69 74 73 of.the.integrity.information.its
2cd00 65 6c 66 2e 20 54 68 65 72 65 66 6f 72 65 20 69 74 20 63 61 6e 20 62 65 20 63 6f 6e 73 69 64 65 elf..Therefore.it.can.be.conside
2cd20 72 65 64 20 74 6f 20 62 65 20 62 65 6c 6f 77 0a 74 68 65 20 6e 6f 69 73 65 20 6c 65 76 65 6c 2e red.to.be.below.the.noise.level.
2cd40 20 41 64 64 69 74 69 6f 6e 61 6c 6c 79 2c 20 74 68 65 20 74 65 73 74 20 75 73 65 64 20 62 79 20 .Additionally,.the.test.used.by.
2cd60 6c 7a 69 70 20 74 6f 20 64 69 73 63 72 69 6d 69 6e 61 74 65 0a 74 72 61 69 6c 69 6e 67 20 64 61 lzip.to.discriminate.trailing.da
2cd80 74 61 20 66 72 6f 6d 20 61 20 63 6f 72 72 75 70 74 20 68 65 61 64 65 72 20 68 61 73 20 61 20 48 ta.from.a.corrupt.header.has.a.H
2cda0 61 6d 6d 69 6e 67 20 64 69 73 74 61 6e 63 65 20 28 48 44 29 20 6f 66 20 33 2c 0a 61 6e 64 20 74 amming.distance.(HD).of.3,.and.t
2cdc0 68 65 20 33 20 62 69 74 20 66 6c 69 70 73 20 6d 75 73 74 20 68 61 70 70 65 6e 20 69 6e 20 64 69 he.3.bit.flips.must.happen.in.di
2cde0 66 66 65 72 65 6e 74 20 6d 61 67 69 63 20 62 79 74 65 73 20 66 6f 72 20 74 68 65 20 74 65 73 74 fferent.magic.bytes.for.the.test
2ce00 20 74 6f 0a 66 61 69 6c 2e 20 49 6e 20 61 6e 79 20 63 61 73 65 2c 20 74 68 65 20 6f 70 74 69 6f .to.fail..In.any.case,.the.optio
2ce20 6e 20 40 73 61 6d 70 7b 2d 2d 74 72 61 69 6c 69 6e 67 2d 65 72 72 6f 72 7d 20 67 75 61 72 61 6e n.@samp{--trailing-error}.guaran
2ce40 74 65 65 73 20 74 68 61 74 0a 61 6e 79 20 63 6f 72 72 75 70 74 20 68 65 61 64 65 72 20 77 69 6c tees.that.any.corrupt.header.wil
2ce60 6c 20 62 65 20 64 65 74 65 63 74 65 64 2e 0a 40 65 6e 64 20 69 74 65 6d 69 7a 65 0a 0a 54 72 61 l.be.detected..@end.itemize..Tra
2ce80 69 6c 69 6e 67 20 64 61 74 61 20 61 72 65 20 69 6e 20 6e 6f 20 77 61 79 20 70 61 72 74 20 6f 66 iling.data.are.in.no.way.part.of
2cea0 20 74 68 65 20 6c 7a 69 70 20 66 69 6c 65 20 66 6f 72 6d 61 74 2c 20 62 75 74 20 74 6f 6f 6c 73 .the.lzip.file.format,.but.tools
2cec0 0a 72 65 61 64 69 6e 67 20 6c 7a 69 70 20 66 69 6c 65 73 20 61 72 65 20 65 78 70 65 63 74 65 64 .reading.lzip.files.are.expected
2cee0 20 74 6f 20 62 65 68 61 76 65 20 61 73 20 63 6f 72 72 65 63 74 6c 79 20 61 6e 64 20 75 73 65 66 .to.behave.as.correctly.and.usef
2cf00 75 6c 6c 79 20 61 73 0a 70 6f 73 73 69 62 6c 65 20 69 6e 20 74 68 65 20 70 72 65 73 65 6e 63 65 ully.as.possible.in.the.presence
2cf20 20 6f 66 20 74 72 61 69 6c 69 6e 67 20 64 61 74 61 2e 0a 0a 54 72 61 69 6c 69 6e 67 20 64 61 74 .of.trailing.data...Trailing.dat
2cf40 61 20 63 61 6e 20 62 65 20 73 61 66 65 6c 79 20 69 67 6e 6f 72 65 64 20 69 6e 20 6d 6f 73 74 20 a.can.be.safely.ignored.in.most.
2cf60 63 61 73 65 73 2e 20 49 6e 20 73 6f 6d 65 20 63 61 73 65 73 2c 20 6c 69 6b 65 0a 74 68 61 74 20 cases..In.some.cases,.like.that.
2cf80 6f 66 20 75 73 65 72 2d 61 64 64 65 64 20 64 61 74 61 2c 20 74 68 65 79 20 61 72 65 20 65 78 70 of.user-added.data,.they.are.exp
2cfa0 65 63 74 65 64 20 74 6f 20 62 65 20 69 67 6e 6f 72 65 64 2e 20 49 6e 20 74 68 6f 73 65 20 63 61 ected.to.be.ignored..In.those.ca
2cfc0 73 65 73 0a 77 68 65 72 65 20 61 20 66 69 6c 65 20 63 6f 6e 74 61 69 6e 69 6e 67 20 74 72 61 69 ses.where.a.file.containing.trai
2cfe0 6c 69 6e 67 20 64 61 74 61 20 6d 75 73 74 20 62 65 20 72 65 6a 65 63 74 65 64 2c 20 74 68 65 20 ling.data.must.be.rejected,.the.
2d000 6f 70 74 69 6f 6e 0a 40 73 61 6d 70 7b 2d 2d 74 72 61 69 6c 69 6e 67 2d 65 72 72 6f 72 7d 20 63 option.@samp{--trailing-error}.c
2d020 61 6e 20 62 65 20 75 73 65 64 2e 20 40 78 72 65 66 7b 2d 2d 74 72 61 69 6c 69 6e 67 2d 65 72 72 an.be.used..@xref{--trailing-err
2d040 6f 72 7d 2e 0a 0a 0a 40 6e 6f 64 65 20 45 78 61 6d 70 6c 65 73 0a 40 63 68 61 70 74 65 72 20 41 or}....@node.Examples.@chapter.A
2d060 20 73 6d 61 6c 6c 20 74 75 74 6f 72 69 61 6c 20 77 69 74 68 20 65 78 61 6d 70 6c 65 73 0a 40 63 .small.tutorial.with.examples.@c
2d080 69 6e 64 65 78 20 65 78 61 6d 70 6c 65 73 0a 0a 57 41 52 4e 49 4e 47 21 20 45 76 65 6e 20 69 66 index.examples..WARNING!.Even.if
2d0a0 20 6c 7a 69 70 20 69 73 20 62 75 67 2d 66 72 65 65 2c 20 6f 74 68 65 72 20 63 61 75 73 65 73 20 .lzip.is.bug-free,.other.causes.
2d0c0 6d 61 79 20 72 65 73 75 6c 74 20 69 6e 20 61 20 63 6f 72 72 75 70 74 0a 63 6f 6d 70 72 65 73 73 may.result.in.a.corrupt.compress
2d0e0 65 64 20 66 69 6c 65 20 28 62 75 67 73 20 69 6e 20 74 68 65 20 73 79 73 74 65 6d 20 6c 69 62 72 ed.file.(bugs.in.the.system.libr
2d100 61 72 69 65 73 2c 20 6d 65 6d 6f 72 79 20 65 72 72 6f 72 73 2c 20 65 74 63 29 2e 0a 54 68 65 72 aries,.memory.errors,.etc)..Ther
2d120 65 66 6f 72 65 2c 20 69 66 20 74 68 65 20 64 61 74 61 20 79 6f 75 20 61 72 65 20 67 6f 69 6e 67 efore,.if.the.data.you.are.going
2d140 20 74 6f 20 63 6f 6d 70 72 65 73 73 20 61 72 65 20 69 6d 70 6f 72 74 61 6e 74 2c 20 67 69 76 65 .to.compress.are.important,.give
2d160 20 74 68 65 0a 6f 70 74 69 6f 6e 20 40 73 61 6d 70 7b 2d 2d 6b 65 65 70 7d 20 74 6f 20 6c 7a 69 .the.option.@samp{--keep}.to.lzi
2d180 70 20 61 6e 64 20 64 6f 6e 27 74 20 72 65 6d 6f 76 65 20 74 68 65 20 6f 72 69 67 69 6e 61 6c 20 p.and.don't.remove.the.original.
2d1a0 66 69 6c 65 20 75 6e 74 69 6c 20 79 6f 75 0a 76 65 72 69 66 79 20 74 68 65 20 63 6f 6d 70 72 65 file.until.you.verify.the.compre
2d1c0 73 73 65 64 20 66 69 6c 65 20 77 69 74 68 20 61 20 63 6f 6d 6d 61 6e 64 20 6c 69 6b 65 0a 40 77 ssed.file.with.a.command.like.@w
2d1e0 7b 40 73 61 6d 70 7b 6c 7a 69 70 20 2d 63 64 20 66 69 6c 65 2e 6c 7a 20 7c 20 63 6d 70 20 66 69 {@samp{lzip.-cd.file.lz.|.cmp.fi
2d200 6c 65 20 2d 7d 7d 2e 20 4d 6f 73 74 20 52 41 4d 20 65 72 72 6f 72 73 20 68 61 70 70 65 6e 69 6e le.-}}..Most.RAM.errors.happenin
2d220 67 20 64 75 72 69 6e 67 0a 63 6f 6d 70 72 65 73 73 69 6f 6e 20 63 61 6e 20 6f 6e 6c 79 20 62 65 g.during.compression.can.only.be
2d240 20 64 65 74 65 63 74 65 64 20 62 79 20 63 6f 6d 70 61 72 69 6e 67 20 74 68 65 20 63 6f 6d 70 72 .detected.by.comparing.the.compr
2d260 65 73 73 65 64 20 66 69 6c 65 20 77 69 74 68 20 74 68 65 0a 6f 72 69 67 69 6e 61 6c 20 62 65 63 essed.file.with.the.original.bec
2d280 61 75 73 65 20 74 68 65 20 63 6f 72 72 75 70 74 69 6f 6e 20 68 61 70 70 65 6e 73 20 62 65 66 6f ause.the.corruption.happens.befo
2d2a0 72 65 20 6c 7a 69 70 20 63 6f 6d 70 72 65 73 73 65 73 20 74 68 65 20 52 41 4d 0a 63 6f 6e 74 65 re.lzip.compresses.the.RAM.conte
2d2c0 6e 74 73 2c 20 72 65 73 75 6c 74 69 6e 67 20 69 6e 20 61 20 76 61 6c 69 64 20 63 6f 6d 70 72 65 nts,.resulting.in.a.valid.compre
2d2e0 73 73 65 64 20 66 69 6c 65 20 63 6f 6e 74 61 69 6e 69 6e 67 20 77 72 6f 6e 67 20 64 61 74 61 2e ssed.file.containing.wrong.data.
2d300 0a 0a 40 73 70 20 31 0a 40 6e 6f 69 6e 64 65 6e 74 0a 45 78 61 6d 70 6c 65 20 31 3a 20 45 78 74 ..@sp.1.@noindent.Example.1:.Ext
2d320 72 61 63 74 20 61 6c 6c 20 74 68 65 20 66 69 6c 65 73 20 66 72 6f 6d 20 61 72 63 68 69 76 65 20 ract.all.the.files.from.archive.
2d340 40 73 61 6d 70 7b 66 6f 6f 2e 74 61 72 2e 6c 7a 7d 2e 0a 0a 40 65 78 61 6d 70 6c 65 0a 20 20 74 @samp{foo.tar.lz}...@example...t
2d360 61 72 20 2d 78 66 20 66 6f 6f 2e 74 61 72 2e 6c 7a 0a 6f 72 0a 20 20 6c 7a 69 70 20 2d 63 64 20 ar.-xf.foo.tar.lz.or...lzip.-cd.
2d380 66 6f 6f 2e 74 61 72 2e 6c 7a 20 7c 20 74 61 72 20 2d 78 66 20 2d 0a 40 65 6e 64 20 65 78 61 6d foo.tar.lz.|.tar.-xf.-.@end.exam
2d3a0 70 6c 65 0a 0a 40 73 70 20 31 0a 40 6e 6f 69 6e 64 65 6e 74 0a 45 78 61 6d 70 6c 65 20 32 3a 20 ple..@sp.1.@noindent.Example.2:.
2d3c0 52 65 70 6c 61 63 65 20 61 20 72 65 67 75 6c 61 72 20 66 69 6c 65 20 77 69 74 68 20 69 74 73 20 Replace.a.regular.file.with.its.
2d3e0 63 6f 6d 70 72 65 73 73 65 64 20 76 65 72 73 69 6f 6e 20 40 73 61 6d 70 7b 66 69 6c 65 2e 6c 7a compressed.version.@samp{file.lz
2d400 7d 0a 61 6e 64 20 73 68 6f 77 20 74 68 65 20 63 6f 6d 70 72 65 73 73 69 6f 6e 20 72 61 74 69 6f }.and.show.the.compression.ratio
2d420 2e 0a 0a 40 65 78 61 6d 70 6c 65 0a 6c 7a 69 70 20 2d 76 20 66 69 6c 65 0a 40 65 6e 64 20 65 78 ...@example.lzip.-v.file.@end.ex
2d440 61 6d 70 6c 65 0a 0a 40 73 70 20 31 0a 40 6e 6f 69 6e 64 65 6e 74 0a 45 78 61 6d 70 6c 65 20 33 ample..@sp.1.@noindent.Example.3
2d460 3a 20 4c 69 6b 65 20 65 78 61 6d 70 6c 65 20 31 20 62 75 74 20 74 68 65 20 63 72 65 61 74 65 64 :.Like.example.1.but.the.created
2d480 20 40 73 61 6d 70 7b 66 69 6c 65 2e 6c 7a 7d 20 69 73 20 6d 75 6c 74 69 6d 65 6d 62 65 72 20 77 .@samp{file.lz}.is.multimember.w
2d4a0 69 74 68 0a 61 20 6d 65 6d 62 65 72 20 73 69 7a 65 20 6f 66 20 40 77 7b 31 20 4d 69 42 7d 2e 20 ith.a.member.size.of.@w{1.MiB}..
2d4c0 54 68 65 20 63 6f 6d 70 72 65 73 73 69 6f 6e 20 72 61 74 69 6f 20 69 73 20 6e 6f 74 20 73 68 6f The.compression.ratio.is.not.sho
2d4e0 77 6e 2e 0a 0a 40 65 78 61 6d 70 6c 65 0a 6c 7a 69 70 20 2d 62 20 31 4d 69 42 20 66 69 6c 65 0a wn...@example.lzip.-b.1MiB.file.
2d500 40 65 6e 64 20 65 78 61 6d 70 6c 65 0a 0a 40 73 70 20 31 0a 40 6e 6f 69 6e 64 65 6e 74 0a 45 78 @end.example..@sp.1.@noindent.Ex
2d520 61 6d 70 6c 65 20 34 3a 20 52 65 73 74 6f 72 65 20 61 20 72 65 67 75 6c 61 72 20 66 69 6c 65 20 ample.4:.Restore.a.regular.file.
2d540 66 72 6f 6d 20 69 74 73 20 63 6f 6d 70 72 65 73 73 65 64 20 76 65 72 73 69 6f 6e 0a 40 73 61 6d from.its.compressed.version.@sam
2d560 70 7b 66 69 6c 65 2e 6c 7a 7d 2e 20 49 66 20 74 68 65 20 6f 70 65 72 61 74 69 6f 6e 20 69 73 20 p{file.lz}..If.the.operation.is.
2d580 73 75 63 63 65 73 73 66 75 6c 2c 20 40 73 61 6d 70 7b 66 69 6c 65 2e 6c 7a 7d 20 69 73 20 72 65 successful,.@samp{file.lz}.is.re
2d5a0 6d 6f 76 65 64 2e 0a 0a 40 65 78 61 6d 70 6c 65 0a 6c 7a 69 70 20 2d 64 20 66 69 6c 65 2e 6c 7a moved...@example.lzip.-d.file.lz
2d5c0 0a 40 65 6e 64 20 65 78 61 6d 70 6c 65 0a 0a 40 73 70 20 31 0a 40 6e 6f 69 6e 64 65 6e 74 0a 45 .@end.example..@sp.1.@noindent.E
2d5e0 78 61 6d 70 6c 65 20 35 3a 20 56 65 72 69 66 79 20 74 68 65 20 69 6e 74 65 67 72 69 74 79 20 6f xample.5:.Verify.the.integrity.o
2d600 66 20 74 68 65 20 63 6f 6d 70 72 65 73 73 65 64 20 66 69 6c 65 20 40 73 61 6d 70 7b 66 69 6c 65 f.the.compressed.file.@samp{file
2d620 2e 6c 7a 7d 20 61 6e 64 0a 73 68 6f 77 20 73 74 61 74 75 73 2e 0a 0a 40 65 78 61 6d 70 6c 65 0a .lz}.and.show.status...@example.
2d640 6c 7a 69 70 20 2d 74 76 20 66 69 6c 65 2e 6c 7a 0a 40 65 6e 64 20 65 78 61 6d 70 6c 65 0a 0a 40 lzip.-tv.file.lz.@end.example..@
2d660 73 70 20 31 0a 40 6e 6f 69 6e 64 65 6e 74 0a 45 78 61 6d 70 6c 65 20 36 3a 20 43 6f 6d 70 72 65 sp.1.@noindent.Example.6:.Compre
2d680 73 73 20 61 20 77 68 6f 6c 65 20 64 65 76 69 63 65 20 69 6e 20 2f 64 65 76 2f 73 64 63 20 61 6e ss.a.whole.device.in./dev/sdc.an
2d6a0 64 20 73 65 6e 64 20 74 68 65 20 6f 75 74 70 75 74 20 74 6f 0a 40 73 61 6d 70 7b 66 69 6c 65 2e d.send.the.output.to.@samp{file.
2d6c0 6c 7a 7d 2e 0a 0a 40 65 78 61 6d 70 6c 65 0a 20 20 6c 7a 69 70 20 2d 63 20 2f 64 65 76 2f 73 64 lz}...@example...lzip.-c./dev/sd
2d6e0 63 20 3e 20 66 69 6c 65 2e 6c 7a 0a 6f 72 0a 20 20 6c 7a 69 70 20 2f 64 65 76 2f 73 64 63 20 2d c.>.file.lz.or...lzip./dev/sdc.-
2d700 6f 20 66 69 6c 65 2e 6c 7a 0a 40 65 6e 64 20 65 78 61 6d 70 6c 65 0a 0a 40 73 70 20 31 0a 40 61 o.file.lz.@end.example..@sp.1.@a
2d720 6e 63 68 6f 72 7b 63 6f 6e 63 61 74 2d 65 78 61 6d 70 6c 65 7d 0a 40 6e 6f 69 6e 64 65 6e 74 0a nchor{concat-example}.@noindent.
2d740 45 78 61 6d 70 6c 65 20 37 3a 20 54 68 65 20 72 69 67 68 74 20 77 61 79 20 6f 66 20 63 6f 6e 63 Example.7:.The.right.way.of.conc
2d760 61 74 65 6e 61 74 69 6e 67 20 74 68 65 20 64 65 63 6f 6d 70 72 65 73 73 65 64 20 6f 75 74 70 75 atenating.the.decompressed.outpu
2d780 74 20 6f 66 20 74 77 6f 20 6f 72 0a 6d 6f 72 65 20 63 6f 6d 70 72 65 73 73 65 64 20 66 69 6c 65 t.of.two.or.more.compressed.file
2d7a0 73 2e 20 40 78 72 65 66 7b 54 72 61 69 6c 69 6e 67 20 64 61 74 61 7d 2e 0a 0a 40 65 78 61 6d 70 s..@xref{Trailing.data}...@examp
2d7c0 6c 65 0a 44 6f 6e 27 74 20 64 6f 20 74 68 69 73 0a 20 20 63 61 74 20 66 69 6c 65 31 2e 6c 7a 20 le.Don't.do.this...cat.file1.lz.
2d7e0 66 69 6c 65 32 2e 6c 7a 20 66 69 6c 65 33 2e 6c 7a 20 7c 20 6c 7a 69 70 20 2d 64 20 2d 0a 44 6f file2.lz.file3.lz.|.lzip.-d.-.Do
2d800 20 74 68 69 73 20 69 6e 73 74 65 61 64 0a 20 20 6c 7a 69 70 20 2d 63 64 20 66 69 6c 65 31 2e 6c .this.instead...lzip.-cd.file1.l
2d820 7a 20 66 69 6c 65 32 2e 6c 7a 20 66 69 6c 65 33 2e 6c 7a 0a 40 65 6e 64 20 65 78 61 6d 70 6c 65 z.file2.lz.file3.lz.@end.example
2d840 0a 0a 40 73 70 20 31 0a 40 6e 6f 69 6e 64 65 6e 74 0a 45 78 61 6d 70 6c 65 20 38 3a 20 44 65 63 ..@sp.1.@noindent.Example.8:.Dec
2d860 6f 6d 70 72 65 73 73 20 40 73 61 6d 70 7b 66 69 6c 65 2e 6c 7a 7d 20 70 61 72 74 69 61 6c 6c 79 ompress.@samp{file.lz}.partially
2d880 20 75 6e 74 69 6c 20 40 77 7b 31 30 20 4b 69 42 7d 20 6f 66 0a 64 65 63 6f 6d 70 72 65 73 73 65 .until.@w{10.KiB}.of.decompresse
2d8a0 64 20 64 61 74 61 20 61 72 65 20 70 72 6f 64 75 63 65 64 2e 0a 0a 40 65 78 61 6d 70 6c 65 0a 6c d.data.are.produced...@example.l
2d8c0 7a 69 70 20 2d 63 64 20 66 69 6c 65 2e 6c 7a 20 7c 20 64 64 20 62 73 3d 31 30 32 34 20 63 6f 75 zip.-cd.file.lz.|.dd.bs=1024.cou
2d8e0 6e 74 3d 31 30 0a 40 65 6e 64 20 65 78 61 6d 70 6c 65 0a 0a 40 73 70 20 31 0a 40 6e 6f 69 6e 64 nt=10.@end.example..@sp.1.@noind
2d900 65 6e 74 0a 45 78 61 6d 70 6c 65 20 39 3a 20 44 65 63 6f 6d 70 72 65 73 73 20 40 73 61 6d 70 7b ent.Example.9:.Decompress.@samp{
2d920 66 69 6c 65 2e 6c 7a 7d 20 70 61 72 74 69 61 6c 6c 79 20 66 72 6f 6d 20 64 65 63 6f 6d 70 72 65 file.lz}.partially.from.decompre
2d940 73 73 65 64 20 62 79 74 65 20 61 74 0a 6f 66 66 73 65 74 20 31 30 30 30 30 20 74 6f 20 64 65 63 ssed.byte.at.offset.10000.to.dec
2d960 6f 6d 70 72 65 73 73 65 64 20 62 79 74 65 20 61 74 20 6f 66 66 73 65 74 20 31 34 39 39 39 20 28 ompressed.byte.at.offset.14999.(
2d980 35 30 30 30 20 62 79 74 65 73 20 61 72 65 20 70 72 6f 64 75 63 65 64 29 2e 0a 0a 40 65 78 61 6d 5000.bytes.are.produced)...@exam
2d9a0 70 6c 65 0a 6c 7a 69 70 20 2d 63 64 20 66 69 6c 65 2e 6c 7a 20 7c 20 64 64 20 62 73 3d 31 30 30 ple.lzip.-cd.file.lz.|.dd.bs=100
2d9c0 30 20 73 6b 69 70 3d 31 30 20 63 6f 75 6e 74 3d 35 0a 40 65 6e 64 20 65 78 61 6d 70 6c 65 0a 0a 0.skip=10.count=5.@end.example..
2d9e0 40 73 70 20 31 0a 40 6e 6f 69 6e 64 65 6e 74 0a 45 78 61 6d 70 6c 65 20 31 30 3a 20 43 72 65 61 @sp.1.@noindent.Example.10:.Crea
2da00 74 65 20 61 20 6d 75 6c 74 69 76 6f 6c 75 6d 65 20 63 6f 6d 70 72 65 73 73 65 64 20 74 61 72 20 te.a.multivolume.compressed.tar.
2da20 61 72 63 68 69 76 65 20 77 69 74 68 20 61 20 76 6f 6c 75 6d 65 20 73 69 7a 65 0a 6f 66 20 40 77 archive.with.a.volume.size.of.@w
2da40 7b 31 34 34 30 20 4b 69 42 7d 2e 0a 0a 40 65 78 61 6d 70 6c 65 0a 74 61 72 20 2d 63 20 73 6f 6d {1440.KiB}...@example.tar.-c.som
2da60 65 5f 64 69 72 65 63 74 6f 72 79 20 7c 20 6c 7a 69 70 20 2d 53 20 31 34 34 30 4b 69 42 20 2d 6f e_directory.|.lzip.-S.1440KiB.-o
2da80 20 76 6f 6c 75 6d 65 5f 6e 61 6d 65 20 2d 0a 40 65 6e 64 20 65 78 61 6d 70 6c 65 0a 0a 40 73 70 .volume_name.-.@end.example..@sp
2daa0 20 31 0a 40 6e 6f 69 6e 64 65 6e 74 0a 45 78 61 6d 70 6c 65 20 31 31 3a 20 45 78 74 72 61 63 74 .1.@noindent.Example.11:.Extract
2dac0 20 61 20 6d 75 6c 74 69 76 6f 6c 75 6d 65 20 63 6f 6d 70 72 65 73 73 65 64 20 74 61 72 20 61 72 .a.multivolume.compressed.tar.ar
2dae0 63 68 69 76 65 2e 0a 0a 40 65 78 61 6d 70 6c 65 0a 6c 7a 69 70 20 2d 63 64 20 76 6f 6c 75 6d 65 chive...@example.lzip.-cd.volume
2db00 5f 6e 61 6d 65 2a 2e 6c 7a 20 7c 20 74 61 72 20 2d 78 66 20 2d 0a 40 65 6e 64 20 65 78 61 6d 70 _name*.lz.|.tar.-xf.-.@end.examp
2db20 6c 65 0a 0a 40 73 70 20 31 0a 40 6e 6f 69 6e 64 65 6e 74 0a 45 78 61 6d 70 6c 65 20 31 32 3a 20 le..@sp.1.@noindent.Example.12:.
2db40 43 72 65 61 74 65 20 61 20 6d 75 6c 74 69 76 6f 6c 75 6d 65 20 63 6f 6d 70 72 65 73 73 65 64 20 Create.a.multivolume.compressed.
2db60 62 61 63 6b 75 70 20 6f 66 20 61 20 6c 61 72 67 65 20 64 61 74 61 62 61 73 65 20 66 69 6c 65 0a backup.of.a.large.database.file.
2db80 77 69 74 68 20 61 20 76 6f 6c 75 6d 65 20 73 69 7a 65 20 6f 66 20 40 77 7b 36 35 30 20 4d 42 7d with.a.volume.size.of.@w{650.MB}
2dba0 2c 20 77 68 65 72 65 20 65 61 63 68 20 76 6f 6c 75 6d 65 20 69 73 20 61 20 6d 75 6c 74 69 6d 65 ,.where.each.volume.is.a.multime
2dbc0 6d 62 65 72 20 66 69 6c 65 0a 77 69 74 68 20 61 20 6d 65 6d 62 65 72 20 73 69 7a 65 20 6f 66 20 mber.file.with.a.member.size.of.
2dbe0 40 77 7b 33 32 20 4d 69 42 7d 2e 0a 0a 40 65 78 61 6d 70 6c 65 0a 6c 7a 69 70 20 2d 62 20 33 32 @w{32.MiB}...@example.lzip.-b.32
2dc00 4d 69 42 20 2d 53 20 36 35 30 4d 42 20 62 69 67 5f 64 62 0a 40 65 6e 64 20 65 78 61 6d 70 6c 65 MiB.-S.650MB.big_db.@end.example
2dc20 0a 0a 0a 40 6e 6f 64 65 20 50 72 6f 62 6c 65 6d 73 0a 40 63 68 61 70 74 65 72 20 52 65 70 6f 72 ...@node.Problems.@chapter.Repor
2dc40 74 69 6e 67 20 62 75 67 73 0a 40 63 69 6e 64 65 78 20 62 75 67 73 0a 40 63 69 6e 64 65 78 20 67 ting.bugs.@cindex.bugs.@cindex.g
2dc60 65 74 74 69 6e 67 20 68 65 6c 70 0a 0a 54 68 65 72 65 20 61 72 65 20 70 72 6f 62 61 62 6c 79 20 etting.help..There.are.probably.
2dc80 62 75 67 73 20 69 6e 20 6c 7a 69 70 2e 20 54 68 65 72 65 20 61 72 65 20 63 65 72 74 61 69 6e 6c bugs.in.lzip..There.are.certainl
2dca0 79 20 65 72 72 6f 72 73 20 61 6e 64 0a 6f 6d 69 73 73 69 6f 6e 73 20 69 6e 20 74 68 69 73 20 6d y.errors.and.omissions.in.this.m
2dcc0 61 6e 75 61 6c 2e 20 49 66 20 79 6f 75 20 72 65 70 6f 72 74 20 74 68 65 6d 2c 20 74 68 65 79 20 anual..If.you.report.them,.they.
2dce0 77 69 6c 6c 20 67 65 74 20 66 69 78 65 64 2e 20 49 66 0a 79 6f 75 20 64 6f 6e 27 74 2c 20 6e 6f will.get.fixed..If.you.don't,.no
2dd00 20 6f 6e 65 20 77 69 6c 6c 20 65 76 65 72 20 6b 6e 6f 77 20 61 62 6f 75 74 20 74 68 65 6d 20 61 .one.will.ever.know.about.them.a
2dd20 6e 64 20 74 68 65 79 20 77 69 6c 6c 20 72 65 6d 61 69 6e 20 75 6e 66 69 78 65 64 0a 66 6f 72 20 nd.they.will.remain.unfixed.for.
2dd40 61 6c 6c 20 65 74 65 72 6e 69 74 79 2c 20 69 66 20 6e 6f 74 20 6c 6f 6e 67 65 72 2e 0a 0a 49 66 all.eternity,.if.not.longer...If
2dd60 20 79 6f 75 20 66 69 6e 64 20 61 20 62 75 67 20 69 6e 20 6c 7a 69 70 2c 20 70 6c 65 61 73 65 20 .you.find.a.bug.in.lzip,.please.
2dd80 73 65 6e 64 20 65 6c 65 63 74 72 6f 6e 69 63 20 6d 61 69 6c 20 74 6f 0a 40 65 6d 61 69 6c 7b 6c send.electronic.mail.to.@email{l
2dda0 7a 69 70 2d 62 75 67 40 40 6e 6f 6e 67 6e 75 2e 6f 72 67 7d 2e 20 49 6e 63 6c 75 64 65 20 74 68 zip-bug@@nongnu.org}..Include.th
2ddc0 65 20 76 65 72 73 69 6f 6e 20 6e 75 6d 62 65 72 2c 20 77 68 69 63 68 20 79 6f 75 20 63 61 6e 0a e.version.number,.which.you.can.
2dde0 66 69 6e 64 20 62 79 20 72 75 6e 6e 69 6e 67 20 40 77 7b 40 73 61 6d 70 7b 6c 7a 69 70 20 2d 2d find.by.running.@w{@samp{lzip.--
2de00 76 65 72 73 69 6f 6e 7d 7d 2e 0a 0a 0a 40 6e 6f 64 65 20 52 65 66 65 72 65 6e 63 65 20 73 6f 75 version}}....@node.Reference.sou
2de20 72 63 65 20 63 6f 64 65 0a 40 61 70 70 65 6e 64 69 78 20 52 65 66 65 72 65 6e 63 65 20 73 6f 75 rce.code.@appendix.Reference.sou
2de40 72 63 65 20 63 6f 64 65 0a 40 63 69 6e 64 65 78 20 72 65 66 65 72 65 6e 63 65 20 73 6f 75 72 63 rce.code.@cindex.reference.sourc
2de60 65 20 63 6f 64 65 0a 0a 40 76 65 72 62 61 74 69 6d 0a 2f 2a 20 4c 7a 64 20 2d 20 45 64 75 63 61 e.code..@verbatim./*.Lzd.-.Educa
2de80 74 69 6f 6e 61 6c 20 64 65 63 6f 6d 70 72 65 73 73 6f 72 20 66 6f 72 20 74 68 65 20 6c 7a 69 70 tional.decompressor.for.the.lzip
2dea0 20 66 6f 72 6d 61 74 0a 20 20 20 43 6f 70 79 72 69 67 68 74 20 28 43 29 20 32 30 31 33 2d 32 30 .format....Copyright.(C).2013-20
2dec0 32 31 20 41 6e 74 6f 6e 69 6f 20 44 69 61 7a 20 44 69 61 7a 2e 0a 0a 20 20 20 54 68 69 73 20 70 21.Antonio.Diaz.Diaz......This.p
2dee0 72 6f 67 72 61 6d 20 69 73 20 66 72 65 65 20 73 6f 66 74 77 61 72 65 2e 20 52 65 64 69 73 74 72 rogram.is.free.software..Redistr
2df00 69 62 75 74 69 6f 6e 20 61 6e 64 20 75 73 65 20 69 6e 20 73 6f 75 72 63 65 20 61 6e 64 0a 20 20 ibution.and.use.in.source.and...
2df20 20 62 69 6e 61 72 79 20 66 6f 72 6d 73 2c 20 77 69 74 68 20 6f 72 20 77 69 74 68 6f 75 74 20 6d .binary.forms,.with.or.without.m
2df40 6f 64 69 66 69 63 61 74 69 6f 6e 2c 20 61 72 65 20 70 65 72 6d 69 74 74 65 64 20 70 72 6f 76 69 odification,.are.permitted.provi
2df60 64 65 64 0a 20 20 20 74 68 61 74 20 74 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 63 6f 6e 64 69 74 ded....that.the.following.condit
2df80 69 6f 6e 73 20 61 72 65 20 6d 65 74 3a 0a 0a 20 20 20 31 2e 20 52 65 64 69 73 74 72 69 62 75 74 ions.are.met:.....1..Redistribut
2dfa0 69 6f 6e 73 20 6f 66 20 73 6f 75 72 63 65 20 63 6f 64 65 20 6d 75 73 74 20 72 65 74 61 69 6e 20 ions.of.source.code.must.retain.
2dfc0 74 68 65 20 61 62 6f 76 65 20 63 6f 70 79 72 69 67 68 74 0a 20 20 20 6e 6f 74 69 63 65 2c 20 74 the.above.copyright....notice,.t
2dfe0 68 69 73 20 6c 69 73 74 20 6f 66 20 63 6f 6e 64 69 74 69 6f 6e 73 2c 20 61 6e 64 20 74 68 65 20 his.list.of.conditions,.and.the.
2e000 66 6f 6c 6c 6f 77 69 6e 67 20 64 69 73 63 6c 61 69 6d 65 72 2e 0a 0a 20 20 20 32 2e 20 52 65 64 following.disclaimer......2..Red
2e020 69 73 74 72 69 62 75 74 69 6f 6e 73 20 69 6e 20 62 69 6e 61 72 79 20 66 6f 72 6d 20 6d 75 73 74 istributions.in.binary.form.must
2e040 20 72 65 70 72 6f 64 75 63 65 20 74 68 65 20 61 62 6f 76 65 20 63 6f 70 79 72 69 67 68 74 0a 20 .reproduce.the.above.copyright..
2e060 20 20 6e 6f 74 69 63 65 2c 20 74 68 69 73 20 6c 69 73 74 20 6f 66 20 63 6f 6e 64 69 74 69 6f 6e ..notice,.this.list.of.condition
2e080 73 2c 20 61 6e 64 20 74 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 64 69 73 63 6c 61 69 6d 65 72 20 s,.and.the.following.disclaimer.
2e0a0 69 6e 20 74 68 65 0a 20 20 20 64 6f 63 75 6d 65 6e 74 61 74 69 6f 6e 20 61 6e 64 2f 6f 72 20 6f in.the....documentation.and/or.o
2e0c0 74 68 65 72 20 6d 61 74 65 72 69 61 6c 73 20 70 72 6f 76 69 64 65 64 20 77 69 74 68 20 74 68 65 ther.materials.provided.with.the
2e0e0 20 64 69 73 74 72 69 62 75 74 69 6f 6e 2e 0a 0a 20 20 20 54 68 69 73 20 70 72 6f 67 72 61 6d 20 .distribution......This.program.
2e100 69 73 20 64 69 73 74 72 69 62 75 74 65 64 20 69 6e 20 74 68 65 20 68 6f 70 65 20 74 68 61 74 20 is.distributed.in.the.hope.that.
2e120 69 74 20 77 69 6c 6c 20 62 65 20 75 73 65 66 75 6c 2c 0a 20 20 20 62 75 74 20 57 49 54 48 4f 55 it.will.be.useful,....but.WITHOU
2e140 54 20 41 4e 59 20 57 41 52 52 41 4e 54 59 3b 20 77 69 74 68 6f 75 74 20 65 76 65 6e 20 74 68 65 T.ANY.WARRANTY;.without.even.the
2e160 20 69 6d 70 6c 69 65 64 20 77 61 72 72 61 6e 74 79 20 6f 66 0a 20 20 20 4d 45 52 43 48 41 4e 54 .implied.warranty.of....MERCHANT
2e180 41 42 49 4c 49 54 59 20 6f 72 20 46 49 54 4e 45 53 53 20 46 4f 52 20 41 20 50 41 52 54 49 43 55 ABILITY.or.FITNESS.FOR.A.PARTICU
2e1a0 4c 41 52 20 50 55 52 50 4f 53 45 2e 0a 2a 2f 0a 2f 2a 0a 20 20 20 45 78 69 74 20 73 74 61 74 75 LAR.PURPOSE..*/./*....Exit.statu
2e1c0 73 3a 20 30 20 66 6f 72 20 61 20 6e 6f 72 6d 61 6c 20 65 78 69 74 2c 20 31 20 66 6f 72 20 65 6e s:.0.for.a.normal.exit,.1.for.en
2e1e0 76 69 72 6f 6e 6d 65 6e 74 61 6c 20 70 72 6f 62 6c 65 6d 73 0a 20 20 20 28 66 69 6c 65 20 6e 6f vironmental.problems....(file.no
2e200 74 20 66 6f 75 6e 64 2c 20 69 6e 76 61 6c 69 64 20 66 6c 61 67 73 2c 20 49 2f 4f 20 65 72 72 6f t.found,.invalid.flags,.I/O.erro
2e220 72 73 2c 20 65 74 63 29 2c 20 32 20 74 6f 20 69 6e 64 69 63 61 74 65 20 61 0a 20 20 20 63 6f 72 rs,.etc),.2.to.indicate.a....cor
2e240 72 75 70 74 20 6f 72 20 69 6e 76 61 6c 69 64 20 69 6e 70 75 74 20 66 69 6c 65 2e 0a 2a 2f 0a 0a rupt.or.invalid.input.file..*/..
2e260 23 69 6e 63 6c 75 64 65 20 3c 61 6c 67 6f 72 69 74 68 6d 3e 0a 23 69 6e 63 6c 75 64 65 20 3c 63 #include.<algorithm>.#include.<c
2e280 65 72 72 6e 6f 3e 0a 23 69 6e 63 6c 75 64 65 20 3c 63 73 74 64 69 6f 3e 0a 23 69 6e 63 6c 75 64 errno>.#include.<cstdio>.#includ
2e2a0 65 20 3c 63 73 74 64 6c 69 62 3e 0a 23 69 6e 63 6c 75 64 65 20 3c 63 73 74 72 69 6e 67 3e 0a 23 e.<cstdlib>.#include.<cstring>.#
2e2c0 69 6e 63 6c 75 64 65 20 3c 73 74 64 69 6e 74 2e 68 3e 0a 23 69 6e 63 6c 75 64 65 20 3c 75 6e 69 include.<stdint.h>.#include.<uni
2e2e0 73 74 64 2e 68 3e 0a 23 69 66 20 64 65 66 69 6e 65 64 28 5f 5f 4d 53 56 43 52 54 5f 5f 29 20 7c std.h>.#if.defined(__MSVCRT__).|
2e300 7c 20 64 65 66 69 6e 65 64 28 5f 5f 4f 53 32 5f 5f 29 20 7c 7c 20 64 65 66 69 6e 65 64 28 5f 5f |.defined(__OS2__).||.defined(__
2e320 44 4a 47 50 50 5f 5f 29 0a 23 69 6e 63 6c 75 64 65 20 3c 66 63 6e 74 6c 2e 68 3e 0a 23 69 6e 63 DJGPP__).#include.<fcntl.h>.#inc
2e340 6c 75 64 65 20 3c 69 6f 2e 68 3e 0a 23 65 6e 64 69 66 0a 0a 0a 63 6c 61 73 73 20 53 74 61 74 65 lude.<io.h>.#endif...class.State
2e360 0a 20 20 7b 0a 20 20 69 6e 74 20 73 74 3b 0a 0a 70 75 62 6c 69 63 3a 0a 20 20 65 6e 75 6d 20 7b ...{...int.st;..public:...enum.{
2e380 20 73 74 61 74 65 73 20 3d 20 31 32 20 7d 3b 0a 20 20 53 74 61 74 65 28 29 20 3a 20 73 74 28 20 .states.=.12.};...State().:.st(.
2e3a0 30 20 29 20 7b 7d 0a 20 20 69 6e 74 20 6f 70 65 72 61 74 6f 72 28 29 28 29 20 63 6f 6e 73 74 20 0.).{}...int.operator()().const.
2e3c0 7b 20 72 65 74 75 72 6e 20 73 74 3b 20 7d 0a 20 20 62 6f 6f 6c 20 69 73 5f 63 68 61 72 28 29 20 {.return.st;.}...bool.is_char().
2e3e0 63 6f 6e 73 74 20 7b 20 72 65 74 75 72 6e 20 73 74 20 3c 20 37 3b 20 7d 0a 0a 20 20 76 6f 69 64 const.{.return.st.<.7;.}....void
2e400 20 73 65 74 5f 63 68 61 72 28 29 0a 20 20 20 20 7b 0a 20 20 20 20 63 6f 6e 73 74 20 69 6e 74 20 .set_char().....{.....const.int.
2e420 6e 65 78 74 5b 73 74 61 74 65 73 5d 20 3d 20 7b 20 30 2c 20 30 2c 20 30 2c 20 30 2c 20 31 2c 20 next[states].=.{.0,.0,.0,.0,.1,.
2e440 32 2c 20 33 2c 20 34 2c 20 35 2c 20 36 2c 20 34 2c 20 35 20 7d 3b 0a 20 20 20 20 73 74 20 3d 20 2,.3,.4,.5,.6,.4,.5.};.....st.=.
2e460 6e 65 78 74 5b 73 74 5d 3b 0a 20 20 20 20 7d 0a 20 20 76 6f 69 64 20 73 65 74 5f 6d 61 74 63 68 next[st];.....}...void.set_match
2e480 28 29 20 20 20 20 20 7b 20 73 74 20 3d 20 28 20 73 74 20 3c 20 37 20 29 20 3f 20 37 20 3a 20 31 ().....{.st.=.(.st.<.7.).?.7.:.1
2e4a0 30 3b 20 7d 0a 20 20 76 6f 69 64 20 73 65 74 5f 72 65 70 28 29 20 20 20 20 20 20 20 7b 20 73 74 0;.}...void.set_rep().......{.st
2e4c0 20 3d 20 28 20 73 74 20 3c 20 37 20 29 20 3f 20 38 20 3a 20 31 31 3b 20 7d 0a 20 20 76 6f 69 64 .=.(.st.<.7.).?.8.:.11;.}...void
2e4e0 20 73 65 74 5f 73 68 6f 72 74 5f 72 65 70 28 29 20 7b 20 73 74 20 3d 20 28 20 73 74 20 3c 20 37 .set_short_rep().{.st.=.(.st.<.7
2e500 20 29 20 3f 20 39 20 3a 20 31 31 3b 20 7d 0a 20 20 7d 3b 0a 0a 0a 65 6e 75 6d 20 7b 0a 20 20 6d .).?.9.:.11;.}...};...enum.{...m
2e520 69 6e 5f 64 69 63 74 69 6f 6e 61 72 79 5f 73 69 7a 65 20 3d 20 31 20 3c 3c 20 31 32 2c 0a 20 20 in_dictionary_size.=.1.<<.12,...
2e540 6d 61 78 5f 64 69 63 74 69 6f 6e 61 72 79 5f 73 69 7a 65 20 3d 20 31 20 3c 3c 20 32 39 2c 0a 20 max_dictionary_size.=.1.<<.29,..
2e560 20 6c 69 74 65 72 61 6c 5f 63 6f 6e 74 65 78 74 5f 62 69 74 73 20 3d 20 33 2c 0a 20 20 6c 69 74 .literal_context_bits.=.3,...lit
2e580 65 72 61 6c 5f 70 6f 73 5f 73 74 61 74 65 5f 62 69 74 73 20 3d 20 30 2c 09 09 09 09 2f 2f 20 6e eral_pos_state_bits.=.0,....//.n
2e5a0 6f 74 20 75 73 65 64 0a 20 20 70 6f 73 5f 73 74 61 74 65 5f 62 69 74 73 20 3d 20 32 2c 0a 20 20 ot.used...pos_state_bits.=.2,...
2e5c0 70 6f 73 5f 73 74 61 74 65 73 20 3d 20 31 20 3c 3c 20 70 6f 73 5f 73 74 61 74 65 5f 62 69 74 73 pos_states.=.1.<<.pos_state_bits
2e5e0 2c 0a 20 20 70 6f 73 5f 73 74 61 74 65 5f 6d 61 73 6b 20 3d 20 70 6f 73 5f 73 74 61 74 65 73 20 ,...pos_state_mask.=.pos_states.
2e600 2d 20 31 2c 0a 0a 20 20 6c 65 6e 5f 73 74 61 74 65 73 20 3d 20 34 2c 0a 20 20 64 69 73 5f 73 6c -.1,....len_states.=.4,...dis_sl
2e620 6f 74 5f 62 69 74 73 20 3d 20 36 2c 0a 20 20 73 74 61 72 74 5f 64 69 73 5f 6d 6f 64 65 6c 20 3d ot_bits.=.6,...start_dis_model.=
2e640 20 34 2c 0a 20 20 65 6e 64 5f 64 69 73 5f 6d 6f 64 65 6c 20 3d 20 31 34 2c 0a 20 20 6d 6f 64 65 .4,...end_dis_model.=.14,...mode
2e660 6c 65 64 5f 64 69 73 74 61 6e 63 65 73 20 3d 20 31 20 3c 3c 20 28 20 65 6e 64 5f 64 69 73 5f 6d led_distances.=.1.<<.(.end_dis_m
2e680 6f 64 65 6c 20 2f 20 32 20 29 2c 09 2f 2f 20 31 32 38 0a 20 20 64 69 73 5f 61 6c 69 67 6e 5f 62 odel./.2.),.//.128...dis_align_b
2e6a0 69 74 73 20 3d 20 34 2c 0a 20 20 64 69 73 5f 61 6c 69 67 6e 5f 73 69 7a 65 20 3d 20 31 20 3c 3c its.=.4,...dis_align_size.=.1.<<
2e6c0 20 64 69 73 5f 61 6c 69 67 6e 5f 62 69 74 73 2c 0a 0a 20 20 6c 65 6e 5f 6c 6f 77 5f 62 69 74 73 .dis_align_bits,....len_low_bits
2e6e0 20 3d 20 33 2c 0a 20 20 6c 65 6e 5f 6d 69 64 5f 62 69 74 73 20 3d 20 33 2c 0a 20 20 6c 65 6e 5f .=.3,...len_mid_bits.=.3,...len_
2e700 68 69 67 68 5f 62 69 74 73 20 3d 20 38 2c 0a 20 20 6c 65 6e 5f 6c 6f 77 5f 73 79 6d 62 6f 6c 73 high_bits.=.8,...len_low_symbols
2e720 20 3d 20 31 20 3c 3c 20 6c 65 6e 5f 6c 6f 77 5f 62 69 74 73 2c 0a 20 20 6c 65 6e 5f 6d 69 64 5f .=.1.<<.len_low_bits,...len_mid_
2e740 73 79 6d 62 6f 6c 73 20 3d 20 31 20 3c 3c 20 6c 65 6e 5f 6d 69 64 5f 62 69 74 73 2c 0a 20 20 6c symbols.=.1.<<.len_mid_bits,...l
2e760 65 6e 5f 68 69 67 68 5f 73 79 6d 62 6f 6c 73 20 3d 20 31 20 3c 3c 20 6c 65 6e 5f 68 69 67 68 5f en_high_symbols.=.1.<<.len_high_
2e780 62 69 74 73 2c 0a 20 20 6d 61 78 5f 6c 65 6e 5f 73 79 6d 62 6f 6c 73 20 3d 20 6c 65 6e 5f 6c 6f bits,...max_len_symbols.=.len_lo
2e7a0 77 5f 73 79 6d 62 6f 6c 73 20 2b 20 6c 65 6e 5f 6d 69 64 5f 73 79 6d 62 6f 6c 73 20 2b 20 6c 65 w_symbols.+.len_mid_symbols.+.le
2e7c0 6e 5f 68 69 67 68 5f 73 79 6d 62 6f 6c 73 2c 0a 0a 20 20 6d 69 6e 5f 6d 61 74 63 68 5f 6c 65 6e n_high_symbols,....min_match_len
2e7e0 20 3d 20 32 2c 09 09 09 09 09 2f 2f 20 6d 75 73 74 20 62 65 20 32 0a 0a 20 20 62 69 74 5f 6d 6f .=.2,.....//.must.be.2....bit_mo
2e800 64 65 6c 5f 6d 6f 76 65 5f 62 69 74 73 20 3d 20 35 2c 0a 20 20 62 69 74 5f 6d 6f 64 65 6c 5f 74 del_move_bits.=.5,...bit_model_t
2e820 6f 74 61 6c 5f 62 69 74 73 20 3d 20 31 31 2c 0a 20 20 62 69 74 5f 6d 6f 64 65 6c 5f 74 6f 74 61 otal_bits.=.11,...bit_model_tota
2e840 6c 20 3d 20 31 20 3c 3c 20 62 69 74 5f 6d 6f 64 65 6c 5f 74 6f 74 61 6c 5f 62 69 74 73 20 7d 3b l.=.1.<<.bit_model_total_bits.};
2e860 0a 0a 73 74 72 75 63 74 20 42 69 74 5f 6d 6f 64 65 6c 0a 20 20 7b 0a 20 20 69 6e 74 20 70 72 6f ..struct.Bit_model...{...int.pro
2e880 62 61 62 69 6c 69 74 79 3b 0a 20 20 42 69 74 5f 6d 6f 64 65 6c 28 29 20 3a 20 70 72 6f 62 61 62 bability;...Bit_model().:.probab
2e8a0 69 6c 69 74 79 28 20 62 69 74 5f 6d 6f 64 65 6c 5f 74 6f 74 61 6c 20 2f 20 32 20 29 20 7b 7d 0a ility(.bit_model_total./.2.).{}.
2e8c0 20 20 7d 3b 0a 0a 73 74 72 75 63 74 20 4c 65 6e 5f 6d 6f 64 65 6c 0a 20 20 7b 0a 20 20 42 69 74 ..};..struct.Len_model...{...Bit
2e8e0 5f 6d 6f 64 65 6c 20 63 68 6f 69 63 65 31 3b 0a 20 20 42 69 74 5f 6d 6f 64 65 6c 20 63 68 6f 69 _model.choice1;...Bit_model.choi
2e900 63 65 32 3b 0a 20 20 42 69 74 5f 6d 6f 64 65 6c 20 62 6d 5f 6c 6f 77 5b 70 6f 73 5f 73 74 61 74 ce2;...Bit_model.bm_low[pos_stat
2e920 65 73 5d 5b 6c 65 6e 5f 6c 6f 77 5f 73 79 6d 62 6f 6c 73 5d 3b 0a 20 20 42 69 74 5f 6d 6f 64 65 es][len_low_symbols];...Bit_mode
2e940 6c 20 62 6d 5f 6d 69 64 5b 70 6f 73 5f 73 74 61 74 65 73 5d 5b 6c 65 6e 5f 6d 69 64 5f 73 79 6d l.bm_mid[pos_states][len_mid_sym
2e960 62 6f 6c 73 5d 3b 0a 20 20 42 69 74 5f 6d 6f 64 65 6c 20 62 6d 5f 68 69 67 68 5b 6c 65 6e 5f 68 bols];...Bit_model.bm_high[len_h
2e980 69 67 68 5f 73 79 6d 62 6f 6c 73 5d 3b 0a 20 20 7d 3b 0a 0a 0a 63 6c 61 73 73 20 43 52 43 33 32 igh_symbols];...};...class.CRC32
2e9a0 0a 20 20 7b 0a 20 20 75 69 6e 74 33 32 5f 74 20 64 61 74 61 5b 32 35 36 5d 3b 09 09 2f 2f 20 54 ...{...uint32_t.data[256];..//.T
2e9c0 61 62 6c 65 20 6f 66 20 43 52 43 73 20 6f 66 20 61 6c 6c 20 38 2d 62 69 74 20 6d 65 73 73 61 67 able.of.CRCs.of.all.8-bit.messag
2e9e0 65 73 2e 0a 0a 70 75 62 6c 69 63 3a 0a 20 20 43 52 43 33 32 28 29 0a 20 20 20 20 7b 0a 20 20 20 es...public:...CRC32().....{....
2ea00 20 66 6f 72 28 20 75 6e 73 69 67 6e 65 64 20 6e 20 3d 20 30 3b 20 6e 20 3c 20 32 35 36 3b 20 2b .for(.unsigned.n.=.0;.n.<.256;.+
2ea20 2b 6e 20 29 0a 20 20 20 20 20 20 7b 0a 20 20 20 20 20 20 75 6e 73 69 67 6e 65 64 20 63 20 3d 20 +n.).......{.......unsigned.c.=.
2ea40 6e 3b 0a 20 20 20 20 20 20 66 6f 72 28 20 69 6e 74 20 6b 20 3d 20 30 3b 20 6b 20 3c 20 38 3b 20 n;.......for(.int.k.=.0;.k.<.8;.
2ea60 2b 2b 6b 20 29 0a 20 20 20 20 20 20 20 20 7b 20 69 66 28 20 63 20 26 20 31 20 29 20 63 20 3d 20 ++k.).........{.if(.c.&.1.).c.=.
2ea80 30 78 45 44 42 38 38 33 32 30 55 20 5e 20 28 20 63 20 3e 3e 20 31 20 29 3b 20 65 6c 73 65 20 63 0xEDB88320U.^.(.c.>>.1.);.else.c
2eaa0 20 3e 3e 3d 20 31 3b 20 7d 0a 20 20 20 20 20 20 64 61 74 61 5b 6e 5d 20 3d 20 63 3b 0a 20 20 20 .>>=.1;.}.......data[n].=.c;....
2eac0 20 20 20 7d 0a 20 20 20 20 7d 0a 0a 20 20 76 6f 69 64 20 75 70 64 61 74 65 5f 62 75 66 28 20 75 ...}.....}....void.update_buf(.u
2eae0 69 6e 74 33 32 5f 74 20 26 20 63 72 63 2c 20 63 6f 6e 73 74 20 75 69 6e 74 38 5f 74 20 2a 20 63 int32_t.&.crc,.const.uint8_t.*.c
2eb00 6f 6e 73 74 20 62 75 66 66 65 72 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 onst.buffer,....................
2eb20 63 6f 6e 73 74 20 69 6e 74 20 73 69 7a 65 20 29 20 63 6f 6e 73 74 0a 20 20 20 20 7b 0a 20 20 20 const.int.size.).const.....{....
2eb40 20 66 6f 72 28 20 69 6e 74 20 69 20 3d 20 30 3b 20 69 20 3c 20 73 69 7a 65 3b 20 2b 2b 69 20 29 .for(.int.i.=.0;.i.<.size;.++i.)
2eb60 0a 20 20 20 20 20 20 63 72 63 20 3d 20 64 61 74 61 5b 28 63 72 63 5e 62 75 66 66 65 72 5b 69 5d .......crc.=.data[(crc^buffer[i]
2eb80 29 26 30 78 46 46 5d 20 5e 20 28 20 63 72 63 20 3e 3e 20 38 20 29 3b 0a 20 20 20 20 7d 0a 20 20 )&0xFF].^.(.crc.>>.8.);.....}...
2eba0 7d 3b 0a 0a 63 6f 6e 73 74 20 43 52 43 33 32 20 63 72 63 33 32 3b 0a 0a 0a 74 79 70 65 64 65 66 };..const.CRC32.crc32;...typedef
2ebc0 20 75 69 6e 74 38 5f 74 20 4c 7a 69 70 5f 68 65 61 64 65 72 5b 36 5d 3b 09 09 2f 2f 20 30 2d 33 .uint8_t.Lzip_header[6];..//.0-3
2ebe0 20 6d 61 67 69 63 20 62 79 74 65 73 0a 09 09 09 09 09 2f 2f 20 20 20 34 20 76 65 72 73 69 6f 6e .magic.bytes......//...4.version
2ec00 0a 09 09 09 09 09 2f 2f 20 20 20 35 20 63 6f 64 65 64 20 64 69 63 74 69 6f 6e 61 72 79 20 73 69 ......//...5.coded.dictionary.si
2ec20 7a 65 0a 74 79 70 65 64 65 66 20 75 69 6e 74 38 5f 74 20 4c 7a 69 70 5f 74 72 61 69 6c 65 72 5b ze.typedef.uint8_t.Lzip_trailer[
2ec40 32 30 5d 3b 0a 09 09 09 2f 2f 20 20 30 2d 33 20 20 43 52 43 33 32 20 6f 66 20 74 68 65 20 75 6e 20];....//..0-3..CRC32.of.the.un
2ec60 63 6f 6d 70 72 65 73 73 65 64 20 64 61 74 61 0a 09 09 09 2f 2f 20 20 34 2d 31 31 20 73 69 7a 65 compressed.data....//..4-11.size
2ec80 20 6f 66 20 74 68 65 20 75 6e 63 6f 6d 70 72 65 73 73 65 64 20 64 61 74 61 0a 09 09 09 2f 2f 20 .of.the.uncompressed.data....//.
2eca0 31 32 2d 31 39 20 6d 65 6d 62 65 72 20 73 69 7a 65 20 69 6e 63 6c 75 64 69 6e 67 20 68 65 61 64 12-19.member.size.including.head
2ecc0 65 72 20 61 6e 64 20 74 72 61 69 6c 65 72 0a 0a 63 6c 61 73 73 20 52 61 6e 67 65 5f 64 65 63 6f er.and.trailer..class.Range_deco
2ece0 64 65 72 0a 20 20 7b 0a 20 20 75 6e 73 69 67 6e 65 64 20 6c 6f 6e 67 20 6c 6f 6e 67 20 6d 65 6d der...{...unsigned.long.long.mem
2ed00 62 65 72 5f 70 6f 73 3b 0a 20 20 75 69 6e 74 33 32 5f 74 20 63 6f 64 65 3b 0a 20 20 75 69 6e 74 ber_pos;...uint32_t.code;...uint
2ed20 33 32 5f 74 20 72 61 6e 67 65 3b 0a 0a 70 75 62 6c 69 63 3a 0a 20 20 52 61 6e 67 65 5f 64 65 63 32_t.range;..public:...Range_dec
2ed40 6f 64 65 72 28 29 20 3a 20 6d 65 6d 62 65 72 5f 70 6f 73 28 20 36 20 29 2c 20 63 6f 64 65 28 20 oder().:.member_pos(.6.),.code(.
2ed60 30 20 29 2c 20 72 61 6e 67 65 28 20 30 78 46 46 46 46 46 46 46 46 55 20 29 0a 20 20 20 20 7b 0a 0.),.range(.0xFFFFFFFFU.).....{.
2ed80 20 20 20 20 66 6f 72 28 20 69 6e 74 20 69 20 3d 20 30 3b 20 69 20 3c 20 35 3b 20 2b 2b 69 20 29 ....for(.int.i.=.0;.i.<.5;.++i.)
2eda0 20 63 6f 64 65 20 3d 20 28 20 63 6f 64 65 20 3c 3c 20 38 20 29 20 7c 20 67 65 74 5f 62 79 74 65 .code.=.(.code.<<.8.).|.get_byte
2edc0 28 29 3b 0a 20 20 20 20 7d 0a 0a 20 20 75 69 6e 74 38 5f 74 20 67 65 74 5f 62 79 74 65 28 29 20 ();.....}....uint8_t.get_byte().
2ede0 7b 20 2b 2b 6d 65 6d 62 65 72 5f 70 6f 73 3b 20 72 65 74 75 72 6e 20 73 74 64 3a 3a 67 65 74 63 {.++member_pos;.return.std::getc
2ee00 28 20 73 74 64 69 6e 20 29 3b 20 7d 0a 20 20 75 6e 73 69 67 6e 65 64 20 6c 6f 6e 67 20 6c 6f 6e (.stdin.);.}...unsigned.long.lon
2ee20 67 20 6d 65 6d 62 65 72 5f 70 6f 73 69 74 69 6f 6e 28 29 20 63 6f 6e 73 74 20 7b 20 72 65 74 75 g.member_position().const.{.retu
2ee40 72 6e 20 6d 65 6d 62 65 72 5f 70 6f 73 3b 20 7d 0a 0a 20 20 75 6e 73 69 67 6e 65 64 20 64 65 63 rn.member_pos;.}....unsigned.dec
2ee60 6f 64 65 28 20 63 6f 6e 73 74 20 69 6e 74 20 6e 75 6d 5f 62 69 74 73 20 29 0a 20 20 20 20 7b 0a ode(.const.int.num_bits.).....{.
2ee80 20 20 20 20 75 6e 73 69 67 6e 65 64 20 73 79 6d 62 6f 6c 20 3d 20 30 3b 0a 20 20 20 20 66 6f 72 ....unsigned.symbol.=.0;.....for
2eea0 28 20 69 6e 74 20 69 20 3d 20 6e 75 6d 5f 62 69 74 73 3b 20 69 20 3e 20 30 3b 20 2d 2d 69 20 29 (.int.i.=.num_bits;.i.>.0;.--i.)
2eec0 0a 20 20 20 20 20 20 7b 0a 20 20 20 20 20 20 72 61 6e 67 65 20 3e 3e 3d 20 31 3b 0a 20 20 20 20 .......{.......range.>>=.1;.....
2eee0 20 20 73 79 6d 62 6f 6c 20 3c 3c 3d 20 31 3b 0a 20 20 20 20 20 20 69 66 28 20 63 6f 64 65 20 3e ..symbol.<<=.1;.......if(.code.>
2ef00 3d 20 72 61 6e 67 65 20 29 20 7b 20 63 6f 64 65 20 2d 3d 20 72 61 6e 67 65 3b 20 73 79 6d 62 6f =.range.).{.code.-=.range;.symbo
2ef20 6c 20 7c 3d 20 31 3b 20 7d 0a 20 20 20 20 20 20 69 66 28 20 72 61 6e 67 65 20 3c 3d 20 30 78 30 l.|=.1;.}.......if(.range.<=.0x0
2ef40 30 46 46 46 46 46 46 55 20 29 09 09 09 2f 2f 20 6e 6f 72 6d 61 6c 69 7a 65 0a 20 20 20 20 20 20 0FFFFFFU.)...//.normalize.......
2ef60 20 20 7b 20 72 61 6e 67 65 20 3c 3c 3d 20 38 3b 20 63 6f 64 65 20 3d 20 28 20 63 6f 64 65 20 3c ..{.range.<<=.8;.code.=.(.code.<
2ef80 3c 20 38 20 29 20 7c 20 67 65 74 5f 62 79 74 65 28 29 3b 20 7d 0a 20 20 20 20 20 20 7d 0a 20 20 <.8.).|.get_byte();.}.......}...
2efa0 20 20 72 65 74 75 72 6e 20 73 79 6d 62 6f 6c 3b 0a 20 20 20 20 7d 0a 0a 20 20 75 6e 73 69 67 6e ..return.symbol;.....}....unsign
2efc0 65 64 20 64 65 63 6f 64 65 5f 62 69 74 28 20 42 69 74 5f 6d 6f 64 65 6c 20 26 20 62 6d 20 29 0a ed.decode_bit(.Bit_model.&.bm.).
2efe0 20 20 20 20 7b 0a 20 20 20 20 75 6e 73 69 67 6e 65 64 20 73 79 6d 62 6f 6c 3b 0a 20 20 20 20 63 ....{.....unsigned.symbol;.....c
2f000 6f 6e 73 74 20 75 69 6e 74 33 32 5f 74 20 62 6f 75 6e 64 20 3d 20 28 20 72 61 6e 67 65 20 3e 3e onst.uint32_t.bound.=.(.range.>>
2f020 20 62 69 74 5f 6d 6f 64 65 6c 5f 74 6f 74 61 6c 5f 62 69 74 73 20 29 20 2a 20 62 6d 2e 70 72 6f .bit_model_total_bits.).*.bm.pro
2f040 62 61 62 69 6c 69 74 79 3b 0a 20 20 20 20 69 66 28 20 63 6f 64 65 20 3c 20 62 6f 75 6e 64 20 29 bability;.....if(.code.<.bound.)
2f060 0a 20 20 20 20 20 20 7b 0a 20 20 20 20 20 20 72 61 6e 67 65 20 3d 20 62 6f 75 6e 64 3b 0a 20 20 .......{.......range.=.bound;...
2f080 20 20 20 20 62 6d 2e 70 72 6f 62 61 62 69 6c 69 74 79 20 2b 3d 0a 20 20 20 20 20 20 20 20 28 20 ....bm.probability.+=.........(.
2f0a0 62 69 74 5f 6d 6f 64 65 6c 5f 74 6f 74 61 6c 20 2d 20 62 6d 2e 70 72 6f 62 61 62 69 6c 69 74 79 bit_model_total.-.bm.probability
2f0c0 20 29 20 3e 3e 20 62 69 74 5f 6d 6f 64 65 6c 5f 6d 6f 76 65 5f 62 69 74 73 3b 0a 20 20 20 20 20 .).>>.bit_model_move_bits;......
2f0e0 20 73 79 6d 62 6f 6c 20 3d 20 30 3b 0a 20 20 20 20 20 20 7d 0a 20 20 20 20 65 6c 73 65 0a 20 20 .symbol.=.0;.......}.....else...
2f100 20 20 20 20 7b 0a 20 20 20 20 20 20 72 61 6e 67 65 20 2d 3d 20 62 6f 75 6e 64 3b 0a 20 20 20 20 ....{.......range.-=.bound;.....
2f120 20 20 63 6f 64 65 20 2d 3d 20 62 6f 75 6e 64 3b 0a 20 20 20 20 20 20 62 6d 2e 70 72 6f 62 61 62 ..code.-=.bound;.......bm.probab
2f140 69 6c 69 74 79 20 2d 3d 20 62 6d 2e 70 72 6f 62 61 62 69 6c 69 74 79 20 3e 3e 20 62 69 74 5f 6d ility.-=.bm.probability.>>.bit_m
2f160 6f 64 65 6c 5f 6d 6f 76 65 5f 62 69 74 73 3b 0a 20 20 20 20 20 20 73 79 6d 62 6f 6c 20 3d 20 31 odel_move_bits;.......symbol.=.1
2f180 3b 0a 20 20 20 20 20 20 7d 0a 20 20 20 20 69 66 28 20 72 61 6e 67 65 20 3c 3d 20 30 78 30 30 46 ;.......}.....if(.range.<=.0x00F
2f1a0 46 46 46 46 46 55 20 29 09 09 09 09 2f 2f 20 6e 6f 72 6d 61 6c 69 7a 65 0a 20 20 20 20 20 20 7b FFFFFU.)....//.normalize.......{
2f1c0 20 72 61 6e 67 65 20 3c 3c 3d 20 38 3b 20 63 6f 64 65 20 3d 20 28 20 63 6f 64 65 20 3c 3c 20 38 .range.<<=.8;.code.=.(.code.<<.8
2f1e0 20 29 20 7c 20 67 65 74 5f 62 79 74 65 28 29 3b 20 7d 0a 20 20 20 20 72 65 74 75 72 6e 20 73 79 .).|.get_byte();.}.....return.sy
2f200 6d 62 6f 6c 3b 0a 20 20 20 20 7d 0a 0a 20 20 75 6e 73 69 67 6e 65 64 20 64 65 63 6f 64 65 5f 74 mbol;.....}....unsigned.decode_t
2f220 72 65 65 28 20 42 69 74 5f 6d 6f 64 65 6c 20 62 6d 5b 5d 2c 20 63 6f 6e 73 74 20 69 6e 74 20 6e ree(.Bit_model.bm[],.const.int.n
2f240 75 6d 5f 62 69 74 73 20 29 0a 20 20 20 20 7b 0a 20 20 20 20 75 6e 73 69 67 6e 65 64 20 73 79 6d um_bits.).....{.....unsigned.sym
2f260 62 6f 6c 20 3d 20 31 3b 0a 20 20 20 20 66 6f 72 28 20 69 6e 74 20 69 20 3d 20 30 3b 20 69 20 3c bol.=.1;.....for(.int.i.=.0;.i.<
2f280 20 6e 75 6d 5f 62 69 74 73 3b 20 2b 2b 69 20 29 0a 20 20 20 20 20 20 73 79 6d 62 6f 6c 20 3d 20 .num_bits;.++i.).......symbol.=.
2f2a0 28 20 73 79 6d 62 6f 6c 20 3c 3c 20 31 20 29 20 7c 20 64 65 63 6f 64 65 5f 62 69 74 28 20 62 6d (.symbol.<<.1.).|.decode_bit(.bm
2f2c0 5b 73 79 6d 62 6f 6c 5d 20 29 3b 0a 20 20 20 20 72 65 74 75 72 6e 20 73 79 6d 62 6f 6c 20 2d 20 [symbol].);.....return.symbol.-.
2f2e0 28 20 31 20 3c 3c 20 6e 75 6d 5f 62 69 74 73 20 29 3b 0a 20 20 20 20 7d 0a 0a 20 20 75 6e 73 69 (.1.<<.num_bits.);.....}....unsi
2f300 67 6e 65 64 20 64 65 63 6f 64 65 5f 74 72 65 65 5f 72 65 76 65 72 73 65 64 28 20 42 69 74 5f 6d gned.decode_tree_reversed(.Bit_m
2f320 6f 64 65 6c 20 62 6d 5b 5d 2c 20 63 6f 6e 73 74 20 69 6e 74 20 6e 75 6d 5f 62 69 74 73 20 29 0a odel.bm[],.const.int.num_bits.).
2f340 20 20 20 20 7b 0a 20 20 20 20 75 6e 73 69 67 6e 65 64 20 73 79 6d 62 6f 6c 20 3d 20 64 65 63 6f ....{.....unsigned.symbol.=.deco
2f360 64 65 5f 74 72 65 65 28 20 62 6d 2c 20 6e 75 6d 5f 62 69 74 73 20 29 3b 0a 20 20 20 20 75 6e 73 de_tree(.bm,.num_bits.);.....uns
2f380 69 67 6e 65 64 20 72 65 76 65 72 73 65 64 5f 73 79 6d 62 6f 6c 20 3d 20 30 3b 0a 20 20 20 20 66 igned.reversed_symbol.=.0;.....f
2f3a0 6f 72 28 20 69 6e 74 20 69 20 3d 20 30 3b 20 69 20 3c 20 6e 75 6d 5f 62 69 74 73 3b 20 2b 2b 69 or(.int.i.=.0;.i.<.num_bits;.++i
2f3c0 20 29 0a 20 20 20 20 20 20 7b 0a 20 20 20 20 20 20 72 65 76 65 72 73 65 64 5f 73 79 6d 62 6f 6c .).......{.......reversed_symbol
2f3e0 20 3d 20 28 20 72 65 76 65 72 73 65 64 5f 73 79 6d 62 6f 6c 20 3c 3c 20 31 20 29 20 7c 20 28 20 .=.(.reversed_symbol.<<.1.).|.(.
2f400 73 79 6d 62 6f 6c 20 26 20 31 20 29 3b 0a 20 20 20 20 20 20 73 79 6d 62 6f 6c 20 3e 3e 3d 20 31 symbol.&.1.);.......symbol.>>=.1
2f420 3b 0a 20 20 20 20 20 20 7d 0a 20 20 20 20 72 65 74 75 72 6e 20 72 65 76 65 72 73 65 64 5f 73 79 ;.......}.....return.reversed_sy
2f440 6d 62 6f 6c 3b 0a 20 20 20 20 7d 0a 0a 20 20 75 6e 73 69 67 6e 65 64 20 64 65 63 6f 64 65 5f 6d mbol;.....}....unsigned.decode_m
2f460 61 74 63 68 65 64 28 20 42 69 74 5f 6d 6f 64 65 6c 20 62 6d 5b 5d 2c 20 63 6f 6e 73 74 20 75 6e atched(.Bit_model.bm[],.const.un
2f480 73 69 67 6e 65 64 20 6d 61 74 63 68 5f 62 79 74 65 20 29 0a 20 20 20 20 7b 0a 20 20 20 20 75 6e signed.match_byte.).....{.....un
2f4a0 73 69 67 6e 65 64 20 73 79 6d 62 6f 6c 20 3d 20 31 3b 0a 20 20 20 20 66 6f 72 28 20 69 6e 74 20 signed.symbol.=.1;.....for(.int.
2f4c0 69 20 3d 20 37 3b 20 69 20 3e 3d 20 30 3b 20 2d 2d 69 20 29 0a 20 20 20 20 20 20 7b 0a 20 20 20 i.=.7;.i.>=.0;.--i.).......{....
2f4e0 20 20 20 63 6f 6e 73 74 20 75 6e 73 69 67 6e 65 64 20 6d 61 74 63 68 5f 62 69 74 20 3d 20 28 20 ...const.unsigned.match_bit.=.(.
2f500 6d 61 74 63 68 5f 62 79 74 65 20 3e 3e 20 69 20 29 20 26 20 31 3b 0a 20 20 20 20 20 20 63 6f 6e match_byte.>>.i.).&.1;.......con
2f520 73 74 20 75 6e 73 69 67 6e 65 64 20 62 69 74 20 3d 20 64 65 63 6f 64 65 5f 62 69 74 28 20 62 6d st.unsigned.bit.=.decode_bit(.bm
2f540 5b 73 79 6d 62 6f 6c 2b 28 6d 61 74 63 68 5f 62 69 74 3c 3c 38 29 2b 30 78 31 30 30 5d 20 29 3b [symbol+(match_bit<<8)+0x100].);
2f560 0a 20 20 20 20 20 20 73 79 6d 62 6f 6c 20 3d 20 28 20 73 79 6d 62 6f 6c 20 3c 3c 20 31 20 29 20 .......symbol.=.(.symbol.<<.1.).
2f580 7c 20 62 69 74 3b 0a 20 20 20 20 20 20 69 66 28 20 6d 61 74 63 68 5f 62 69 74 20 21 3d 20 62 69 |.bit;.......if(.match_bit.!=.bi
2f5a0 74 20 29 0a 20 20 20 20 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 77 68 69 6c 65 28 20 73 79 6d t.).........{.........while(.sym
2f5c0 62 6f 6c 20 3c 20 30 78 31 30 30 20 29 0a 20 20 20 20 20 20 20 20 20 20 73 79 6d 62 6f 6c 20 3d bol.<.0x100.)...........symbol.=
2f5e0 20 28 20 73 79 6d 62 6f 6c 20 3c 3c 20 31 20 29 20 7c 20 64 65 63 6f 64 65 5f 62 69 74 28 20 62 .(.symbol.<<.1.).|.decode_bit(.b
2f600 6d 5b 73 79 6d 62 6f 6c 5d 20 29 3b 0a 20 20 20 20 20 20 20 20 62 72 65 61 6b 3b 0a 20 20 20 20 m[symbol].);.........break;.....
2f620 20 20 20 20 7d 0a 20 20 20 20 20 20 7d 0a 20 20 20 20 72 65 74 75 72 6e 20 73 79 6d 62 6f 6c 20 ....}.......}.....return.symbol.
2f640 26 20 30 78 46 46 3b 0a 20 20 20 20 7d 0a 0a 20 20 75 6e 73 69 67 6e 65 64 20 64 65 63 6f 64 65 &.0xFF;.....}....unsigned.decode
2f660 5f 6c 65 6e 28 20 4c 65 6e 5f 6d 6f 64 65 6c 20 26 20 6c 6d 2c 20 63 6f 6e 73 74 20 69 6e 74 20 _len(.Len_model.&.lm,.const.int.
2f680 70 6f 73 5f 73 74 61 74 65 20 29 0a 20 20 20 20 7b 0a 20 20 20 20 69 66 28 20 64 65 63 6f 64 65 pos_state.).....{.....if(.decode
2f6a0 5f 62 69 74 28 20 6c 6d 2e 63 68 6f 69 63 65 31 20 29 20 3d 3d 20 30 20 29 0a 20 20 20 20 20 20 _bit(.lm.choice1.).==.0.).......
2f6c0 72 65 74 75 72 6e 20 64 65 63 6f 64 65 5f 74 72 65 65 28 20 6c 6d 2e 62 6d 5f 6c 6f 77 5b 70 6f return.decode_tree(.lm.bm_low[po
2f6e0 73 5f 73 74 61 74 65 5d 2c 20 6c 65 6e 5f 6c 6f 77 5f 62 69 74 73 20 29 3b 0a 20 20 20 20 69 66 s_state],.len_low_bits.);.....if
2f700 28 20 64 65 63 6f 64 65 5f 62 69 74 28 20 6c 6d 2e 63 68 6f 69 63 65 32 20 29 20 3d 3d 20 30 20 (.decode_bit(.lm.choice2.).==.0.
2f720 29 0a 20 20 20 20 20 20 72 65 74 75 72 6e 20 6c 65 6e 5f 6c 6f 77 5f 73 79 6d 62 6f 6c 73 20 2b ).......return.len_low_symbols.+
2f740 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 64 65 63 6f 64 65 5f 74 72 65 65 28 20 6c 6d 2e 62 6d ..............decode_tree(.lm.bm
2f760 5f 6d 69 64 5b 70 6f 73 5f 73 74 61 74 65 5d 2c 20 6c 65 6e 5f 6d 69 64 5f 62 69 74 73 20 29 3b _mid[pos_state],.len_mid_bits.);
2f780 0a 20 20 20 20 72 65 74 75 72 6e 20 6c 65 6e 5f 6c 6f 77 5f 73 79 6d 62 6f 6c 73 20 2b 20 6c 65 .....return.len_low_symbols.+.le
2f7a0 6e 5f 6d 69 64 5f 73 79 6d 62 6f 6c 73 20 2b 0a 20 20 20 20 20 20 20 20 20 20 20 64 65 63 6f 64 n_mid_symbols.+............decod
2f7c0 65 5f 74 72 65 65 28 20 6c 6d 2e 62 6d 5f 68 69 67 68 2c 20 6c 65 6e 5f 68 69 67 68 5f 62 69 74 e_tree(.lm.bm_high,.len_high_bit
2f7e0 73 20 29 3b 0a 20 20 20 20 7d 0a 20 20 7d 3b 0a 0a 0a 63 6c 61 73 73 20 4c 5a 5f 64 65 63 6f 64 s.);.....}...};...class.LZ_decod
2f800 65 72 0a 20 20 7b 0a 20 20 75 6e 73 69 67 6e 65 64 20 6c 6f 6e 67 20 6c 6f 6e 67 20 70 61 72 74 er...{...unsigned.long.long.part
2f820 69 61 6c 5f 64 61 74 61 5f 70 6f 73 3b 0a 20 20 52 61 6e 67 65 5f 64 65 63 6f 64 65 72 20 72 64 ial_data_pos;...Range_decoder.rd
2f840 65 63 3b 0a 20 20 63 6f 6e 73 74 20 75 6e 73 69 67 6e 65 64 20 64 69 63 74 69 6f 6e 61 72 79 5f ec;...const.unsigned.dictionary_
2f860 73 69 7a 65 3b 0a 20 20 75 69 6e 74 38 5f 74 20 2a 20 63 6f 6e 73 74 20 62 75 66 66 65 72 3b 09 size;...uint8_t.*.const.buffer;.
2f880 2f 2f 20 6f 75 74 70 75 74 20 62 75 66 66 65 72 0a 20 20 75 6e 73 69 67 6e 65 64 20 70 6f 73 3b //.output.buffer...unsigned.pos;
2f8a0 09 09 09 2f 2f 20 63 75 72 72 65 6e 74 20 70 6f 73 20 69 6e 20 62 75 66 66 65 72 0a 20 20 75 6e ...//.current.pos.in.buffer...un
2f8c0 73 69 67 6e 65 64 20 73 74 72 65 61 6d 5f 70 6f 73 3b 09 09 2f 2f 20 66 69 72 73 74 20 62 79 74 signed.stream_pos;..//.first.byt
2f8e0 65 20 6e 6f 74 20 79 65 74 20 77 72 69 74 74 65 6e 20 74 6f 20 73 74 64 6f 75 74 0a 20 20 75 69 e.not.yet.written.to.stdout...ui
2f900 6e 74 33 32 5f 74 20 63 72 63 5f 3b 0a 20 20 62 6f 6f 6c 20 70 6f 73 5f 77 72 61 70 70 65 64 3b nt32_t.crc_;...bool.pos_wrapped;
2f920 0a 0a 20 20 76 6f 69 64 20 66 6c 75 73 68 5f 64 61 74 61 28 29 3b 0a 0a 20 20 75 69 6e 74 38 5f ....void.flush_data();....uint8_
2f940 74 20 70 65 65 6b 28 20 63 6f 6e 73 74 20 75 6e 73 69 67 6e 65 64 20 64 69 73 74 61 6e 63 65 20 t.peek(.const.unsigned.distance.
2f960 29 20 63 6f 6e 73 74 0a 20 20 20 20 7b 0a 20 20 20 20 69 66 28 20 70 6f 73 20 3e 20 64 69 73 74 ).const.....{.....if(.pos.>.dist
2f980 61 6e 63 65 20 29 20 72 65 74 75 72 6e 20 62 75 66 66 65 72 5b 70 6f 73 20 2d 20 64 69 73 74 61 ance.).return.buffer[pos.-.dista
2f9a0 6e 63 65 20 2d 20 31 5d 3b 0a 20 20 20 20 69 66 28 20 70 6f 73 5f 77 72 61 70 70 65 64 20 29 20 nce.-.1];.....if(.pos_wrapped.).
2f9c0 72 65 74 75 72 6e 20 62 75 66 66 65 72 5b 64 69 63 74 69 6f 6e 61 72 79 5f 73 69 7a 65 20 2b 20 return.buffer[dictionary_size.+.
2f9e0 70 6f 73 20 2d 20 64 69 73 74 61 6e 63 65 20 2d 20 31 5d 3b 0a 20 20 20 20 72 65 74 75 72 6e 20 pos.-.distance.-.1];.....return.
2fa00 30 3b 09 09 09 2f 2f 20 70 72 65 76 5f 62 79 74 65 20 6f 66 20 66 69 72 73 74 20 62 79 74 65 0a 0;...//.prev_byte.of.first.byte.
2fa20 20 20 20 20 7d 0a 0a 20 20 76 6f 69 64 20 70 75 74 5f 62 79 74 65 28 20 63 6f 6e 73 74 20 75 69 ....}....void.put_byte(.const.ui
2fa40 6e 74 38 5f 74 20 62 20 29 0a 20 20 20 20 7b 0a 20 20 20 20 62 75 66 66 65 72 5b 70 6f 73 5d 20 nt8_t.b.).....{.....buffer[pos].
2fa60 3d 20 62 3b 0a 20 20 20 20 69 66 28 20 2b 2b 70 6f 73 20 3e 3d 20 64 69 63 74 69 6f 6e 61 72 79 =.b;.....if(.++pos.>=.dictionary
2fa80 5f 73 69 7a 65 20 29 20 66 6c 75 73 68 5f 64 61 74 61 28 29 3b 0a 20 20 20 20 7d 0a 0a 70 75 62 _size.).flush_data();.....}..pub
2faa0 6c 69 63 3a 0a 20 20 65 78 70 6c 69 63 69 74 20 4c 5a 5f 64 65 63 6f 64 65 72 28 20 63 6f 6e 73 lic:...explicit.LZ_decoder(.cons
2fac0 74 20 75 6e 73 69 67 6e 65 64 20 64 69 63 74 5f 73 69 7a 65 20 29 0a 20 20 20 20 3a 0a 20 20 20 t.unsigned.dict_size.).....:....
2fae0 20 70 61 72 74 69 61 6c 5f 64 61 74 61 5f 70 6f 73 28 20 30 20 29 2c 0a 20 20 20 20 64 69 63 74 .partial_data_pos(.0.),.....dict
2fb00 69 6f 6e 61 72 79 5f 73 69 7a 65 28 20 64 69 63 74 5f 73 69 7a 65 20 29 2c 0a 20 20 20 20 62 75 ionary_size(.dict_size.),.....bu
2fb20 66 66 65 72 28 20 6e 65 77 20 75 69 6e 74 38 5f 74 5b 64 69 63 74 69 6f 6e 61 72 79 5f 73 69 7a ffer(.new.uint8_t[dictionary_siz
2fb40 65 5d 20 29 2c 0a 20 20 20 20 70 6f 73 28 20 30 20 29 2c 0a 20 20 20 20 73 74 72 65 61 6d 5f 70 e].),.....pos(.0.),.....stream_p
2fb60 6f 73 28 20 30 20 29 2c 0a 20 20 20 20 63 72 63 5f 28 20 30 78 46 46 46 46 46 46 46 46 55 20 29 os(.0.),.....crc_(.0xFFFFFFFFU.)
2fb80 2c 0a 20 20 20 20 70 6f 73 5f 77 72 61 70 70 65 64 28 20 66 61 6c 73 65 20 29 0a 20 20 20 20 7b ,.....pos_wrapped(.false.).....{
2fba0 7d 0a 0a 20 20 7e 4c 5a 5f 64 65 63 6f 64 65 72 28 29 20 7b 20 64 65 6c 65 74 65 5b 5d 20 62 75 }....~LZ_decoder().{.delete[].bu
2fbc0 66 66 65 72 3b 20 7d 0a 0a 20 20 75 6e 73 69 67 6e 65 64 20 63 72 63 28 29 20 63 6f 6e 73 74 20 ffer;.}....unsigned.crc().const.
2fbe0 7b 20 72 65 74 75 72 6e 20 63 72 63 5f 20 5e 20 30 78 46 46 46 46 46 46 46 46 55 3b 20 7d 0a 20 {.return.crc_.^.0xFFFFFFFFU;.}..
2fc00 20 75 6e 73 69 67 6e 65 64 20 6c 6f 6e 67 20 6c 6f 6e 67 20 64 61 74 61 5f 70 6f 73 69 74 69 6f .unsigned.long.long.data_positio
2fc20 6e 28 29 20 63 6f 6e 73 74 0a 20 20 20 20 7b 20 72 65 74 75 72 6e 20 70 61 72 74 69 61 6c 5f 64 n().const.....{.return.partial_d
2fc40 61 74 61 5f 70 6f 73 20 2b 20 70 6f 73 3b 20 7d 0a 20 20 75 69 6e 74 38 5f 74 20 67 65 74 5f 62 ata_pos.+.pos;.}...uint8_t.get_b
2fc60 79 74 65 28 29 20 7b 20 72 65 74 75 72 6e 20 72 64 65 63 2e 67 65 74 5f 62 79 74 65 28 29 3b 20 yte().{.return.rdec.get_byte();.
2fc80 7d 0a 20 20 75 6e 73 69 67 6e 65 64 20 6c 6f 6e 67 20 6c 6f 6e 67 20 6d 65 6d 62 65 72 5f 70 6f }...unsigned.long.long.member_po
2fca0 73 69 74 69 6f 6e 28 29 20 63 6f 6e 73 74 0a 20 20 20 20 7b 20 72 65 74 75 72 6e 20 72 64 65 63 sition().const.....{.return.rdec
2fcc0 2e 6d 65 6d 62 65 72 5f 70 6f 73 69 74 69 6f 6e 28 29 3b 20 7d 0a 0a 20 20 62 6f 6f 6c 20 64 65 .member_position();.}....bool.de
2fce0 63 6f 64 65 5f 6d 65 6d 62 65 72 28 29 3b 0a 20 20 7d 3b 0a 0a 0a 76 6f 69 64 20 4c 5a 5f 64 65 code_member();...};...void.LZ_de
2fd00 63 6f 64 65 72 3a 3a 66 6c 75 73 68 5f 64 61 74 61 28 29 0a 20 20 7b 0a 20 20 69 66 28 20 70 6f coder::flush_data()...{...if(.po
2fd20 73 20 3e 20 73 74 72 65 61 6d 5f 70 6f 73 20 29 0a 20 20 20 20 7b 0a 20 20 20 20 63 6f 6e 73 74 s.>.stream_pos.).....{.....const
2fd40 20 75 6e 73 69 67 6e 65 64 20 73 69 7a 65 20 3d 20 70 6f 73 20 2d 20 73 74 72 65 61 6d 5f 70 6f .unsigned.size.=.pos.-.stream_po
2fd60 73 3b 0a 20 20 20 20 63 72 63 33 32 2e 75 70 64 61 74 65 5f 62 75 66 28 20 63 72 63 5f 2c 20 62 s;.....crc32.update_buf(.crc_,.b
2fd80 75 66 66 65 72 20 2b 20 73 74 72 65 61 6d 5f 70 6f 73 2c 20 73 69 7a 65 20 29 3b 0a 20 20 20 20 uffer.+.stream_pos,.size.);.....
2fda0 69 66 28 20 73 74 64 3a 3a 66 77 72 69 74 65 28 20 62 75 66 66 65 72 20 2b 20 73 74 72 65 61 6d if(.std::fwrite(.buffer.+.stream
2fdc0 5f 70 6f 73 2c 20 31 2c 20 73 69 7a 65 2c 20 73 74 64 6f 75 74 20 29 20 21 3d 20 73 69 7a 65 20 _pos,.1,.size,.stdout.).!=.size.
2fde0 29 0a 20 20 20 20 20 20 7b 20 73 74 64 3a 3a 66 70 72 69 6e 74 66 28 20 73 74 64 65 72 72 2c 20 ).......{.std::fprintf(.stderr,.
2fe00 22 57 72 69 74 65 20 65 72 72 6f 72 3a 20 25 73 5c 6e 22 2c 20 73 74 64 3a 3a 73 74 72 65 72 72 "Write.error:.%s\n",.std::strerr
2fe20 6f 72 28 20 65 72 72 6e 6f 20 29 20 29 3b 0a 20 20 20 20 20 20 20 20 73 74 64 3a 3a 65 78 69 74 or(.errno.).);.........std::exit
2fe40 28 20 31 20 29 3b 20 7d 0a 20 20 20 20 69 66 28 20 70 6f 73 20 3e 3d 20 64 69 63 74 69 6f 6e 61 (.1.);.}.....if(.pos.>=.dictiona
2fe60 72 79 5f 73 69 7a 65 20 29 0a 20 20 20 20 20 20 7b 20 70 61 72 74 69 61 6c 5f 64 61 74 61 5f 70 ry_size.).......{.partial_data_p
2fe80 6f 73 20 2b 3d 20 70 6f 73 3b 20 70 6f 73 20 3d 20 30 3b 20 70 6f 73 5f 77 72 61 70 70 65 64 20 os.+=.pos;.pos.=.0;.pos_wrapped.
2fea0 3d 20 74 72 75 65 3b 20 7d 0a 20 20 20 20 73 74 72 65 61 6d 5f 70 6f 73 20 3d 20 70 6f 73 3b 0a =.true;.}.....stream_pos.=.pos;.
2fec0 20 20 20 20 7d 0a 20 20 7d 0a 0a 0a 62 6f 6f 6c 20 4c 5a 5f 64 65 63 6f 64 65 72 3a 3a 64 65 63 ....}...}...bool.LZ_decoder::dec
2fee0 6f 64 65 5f 6d 65 6d 62 65 72 28 29 09 2f 2f 20 52 65 74 75 72 6e 73 20 66 61 6c 73 65 20 69 66 ode_member().//.Returns.false.if
2ff00 20 65 72 72 6f 72 0a 20 20 7b 0a 20 20 42 69 74 5f 6d 6f 64 65 6c 20 62 6d 5f 6c 69 74 65 72 61 .error...{...Bit_model.bm_litera
2ff20 6c 5b 31 3c 3c 6c 69 74 65 72 61 6c 5f 63 6f 6e 74 65 78 74 5f 62 69 74 73 5d 5b 30 78 33 30 30 l[1<<literal_context_bits][0x300
2ff40 5d 3b 0a 20 20 42 69 74 5f 6d 6f 64 65 6c 20 62 6d 5f 6d 61 74 63 68 5b 53 74 61 74 65 3a 3a 73 ];...Bit_model.bm_match[State::s
2ff60 74 61 74 65 73 5d 5b 70 6f 73 5f 73 74 61 74 65 73 5d 3b 0a 20 20 42 69 74 5f 6d 6f 64 65 6c 20 tates][pos_states];...Bit_model.
2ff80 62 6d 5f 72 65 70 5b 53 74 61 74 65 3a 3a 73 74 61 74 65 73 5d 3b 0a 20 20 42 69 74 5f 6d 6f 64 bm_rep[State::states];...Bit_mod
2ffa0 65 6c 20 62 6d 5f 72 65 70 30 5b 53 74 61 74 65 3a 3a 73 74 61 74 65 73 5d 3b 0a 20 20 42 69 74 el.bm_rep0[State::states];...Bit
2ffc0 5f 6d 6f 64 65 6c 20 62 6d 5f 72 65 70 31 5b 53 74 61 74 65 3a 3a 73 74 61 74 65 73 5d 3b 0a 20 _model.bm_rep1[State::states];..
2ffe0 20 42 69 74 5f 6d 6f 64 65 6c 20 62 6d 5f 72 65 70 32 5b 53 74 61 74 65 3a 3a 73 74 61 74 65 73 .Bit_model.bm_rep2[State::states
30000 5d 3b 0a 20 20 42 69 74 5f 6d 6f 64 65 6c 20 62 6d 5f 6c 65 6e 5b 53 74 61 74 65 3a 3a 73 74 61 ];...Bit_model.bm_len[State::sta
30020 74 65 73 5d 5b 70 6f 73 5f 73 74 61 74 65 73 5d 3b 0a 20 20 42 69 74 5f 6d 6f 64 65 6c 20 62 6d tes][pos_states];...Bit_model.bm
30040 5f 64 69 73 5f 73 6c 6f 74 5b 6c 65 6e 5f 73 74 61 74 65 73 5d 5b 31 3c 3c 64 69 73 5f 73 6c 6f _dis_slot[len_states][1<<dis_slo
30060 74 5f 62 69 74 73 5d 3b 0a 20 20 42 69 74 5f 6d 6f 64 65 6c 20 62 6d 5f 64 69 73 5b 6d 6f 64 65 t_bits];...Bit_model.bm_dis[mode
30080 6c 65 64 5f 64 69 73 74 61 6e 63 65 73 2d 65 6e 64 5f 64 69 73 5f 6d 6f 64 65 6c 2b 31 5d 3b 0a led_distances-end_dis_model+1];.
300a0 20 20 42 69 74 5f 6d 6f 64 65 6c 20 62 6d 5f 61 6c 69 67 6e 5b 64 69 73 5f 61 6c 69 67 6e 5f 73 ..Bit_model.bm_align[dis_align_s
300c0 69 7a 65 5d 3b 0a 20 20 4c 65 6e 5f 6d 6f 64 65 6c 20 6d 61 74 63 68 5f 6c 65 6e 5f 6d 6f 64 65 ize];...Len_model.match_len_mode
300e0 6c 3b 0a 20 20 4c 65 6e 5f 6d 6f 64 65 6c 20 72 65 70 5f 6c 65 6e 5f 6d 6f 64 65 6c 3b 0a 20 20 l;...Len_model.rep_len_model;...
30100 75 6e 73 69 67 6e 65 64 20 72 65 70 30 20 3d 20 30 3b 09 09 2f 2f 20 72 65 70 5b 30 2d 33 5d 20 unsigned.rep0.=.0;..//.rep[0-3].
30120 6c 61 74 65 73 74 20 66 6f 75 72 20 64 69 73 74 61 6e 63 65 73 0a 20 20 75 6e 73 69 67 6e 65 64 latest.four.distances...unsigned
30140 20 72 65 70 31 20 3d 20 30 3b 09 09 2f 2f 20 75 73 65 64 20 66 6f 72 20 65 66 66 69 63 69 65 6e .rep1.=.0;..//.used.for.efficien
30160 74 20 63 6f 64 69 6e 67 20 6f 66 0a 20 20 75 6e 73 69 67 6e 65 64 20 72 65 70 32 20 3d 20 30 3b t.coding.of...unsigned.rep2.=.0;
30180 09 09 2f 2f 20 72 65 70 65 61 74 65 64 20 64 69 73 74 61 6e 63 65 73 0a 20 20 75 6e 73 69 67 6e ..//.repeated.distances...unsign
301a0 65 64 20 72 65 70 33 20 3d 20 30 3b 0a 20 20 53 74 61 74 65 20 73 74 61 74 65 3b 0a 0a 20 20 77 ed.rep3.=.0;...State.state;....w
301c0 68 69 6c 65 28 20 21 73 74 64 3a 3a 66 65 6f 66 28 20 73 74 64 69 6e 20 29 20 26 26 20 21 73 74 hile(.!std::feof(.stdin.).&&.!st
301e0 64 3a 3a 66 65 72 72 6f 72 28 20 73 74 64 69 6e 20 29 20 29 0a 20 20 20 20 7b 0a 20 20 20 20 63 d::ferror(.stdin.).).....{.....c
30200 6f 6e 73 74 20 69 6e 74 20 70 6f 73 5f 73 74 61 74 65 20 3d 20 64 61 74 61 5f 70 6f 73 69 74 69 onst.int.pos_state.=.data_positi
30220 6f 6e 28 29 20 26 20 70 6f 73 5f 73 74 61 74 65 5f 6d 61 73 6b 3b 0a 20 20 20 20 69 66 28 20 72 on().&.pos_state_mask;.....if(.r
30240 64 65 63 2e 64 65 63 6f 64 65 5f 62 69 74 28 20 62 6d 5f 6d 61 74 63 68 5b 73 74 61 74 65 28 29 dec.decode_bit(.bm_match[state()
30260 5d 5b 70 6f 73 5f 73 74 61 74 65 5d 20 29 20 3d 3d 20 30 20 29 09 2f 2f 20 31 73 74 20 62 69 74 ][pos_state].).==.0.).//.1st.bit
30280 0a 20 20 20 20 20 20 7b 0a 20 20 20 20 20 20 2f 2f 20 6c 69 74 65 72 61 6c 20 62 79 74 65 0a 20 .......{.......//.literal.byte..
302a0 20 20 20 20 20 63 6f 6e 73 74 20 75 69 6e 74 38 5f 74 20 70 72 65 76 5f 62 79 74 65 20 3d 20 70 .....const.uint8_t.prev_byte.=.p
302c0 65 65 6b 28 20 30 20 29 3b 0a 20 20 20 20 20 20 63 6f 6e 73 74 20 69 6e 74 20 6c 69 74 65 72 61 eek(.0.);.......const.int.litera
302e0 6c 5f 73 74 61 74 65 20 3d 20 70 72 65 76 5f 62 79 74 65 20 3e 3e 20 28 20 38 20 2d 20 6c 69 74 l_state.=.prev_byte.>>.(.8.-.lit
30300 65 72 61 6c 5f 63 6f 6e 74 65 78 74 5f 62 69 74 73 20 29 3b 0a 20 20 20 20 20 20 42 69 74 5f 6d eral_context_bits.);.......Bit_m
30320 6f 64 65 6c 20 2a 20 63 6f 6e 73 74 20 62 6d 20 3d 20 62 6d 5f 6c 69 74 65 72 61 6c 5b 6c 69 74 odel.*.const.bm.=.bm_literal[lit
30340 65 72 61 6c 5f 73 74 61 74 65 5d 3b 0a 20 20 20 20 20 20 69 66 28 20 73 74 61 74 65 2e 69 73 5f eral_state];.......if(.state.is_
30360 63 68 61 72 28 29 20 29 0a 20 20 20 20 20 20 20 20 70 75 74 5f 62 79 74 65 28 20 72 64 65 63 2e char().).........put_byte(.rdec.
30380 64 65 63 6f 64 65 5f 74 72 65 65 28 20 62 6d 2c 20 38 20 29 20 29 3b 0a 20 20 20 20 20 20 65 6c decode_tree(.bm,.8.).);.......el
303a0 73 65 0a 20 20 20 20 20 20 20 20 70 75 74 5f 62 79 74 65 28 20 72 64 65 63 2e 64 65 63 6f 64 65 se.........put_byte(.rdec.decode
303c0 5f 6d 61 74 63 68 65 64 28 20 62 6d 2c 20 70 65 65 6b 28 20 72 65 70 30 20 29 20 29 20 29 3b 0a _matched(.bm,.peek(.rep0.).).);.
303e0 20 20 20 20 20 20 73 74 61 74 65 2e 73 65 74 5f 63 68 61 72 28 29 3b 0a 20 20 20 20 20 20 63 6f ......state.set_char();.......co
30400 6e 74 69 6e 75 65 3b 0a 20 20 20 20 20 20 7d 0a 20 20 20 20 2f 2f 20 6d 61 74 63 68 20 6f 72 20 ntinue;.......}.....//.match.or.
30420 72 65 70 65 61 74 65 64 20 6d 61 74 63 68 0a 20 20 20 20 69 6e 74 20 6c 65 6e 3b 0a 20 20 20 20 repeated.match.....int.len;.....
30440 69 66 28 20 72 64 65 63 2e 64 65 63 6f 64 65 5f 62 69 74 28 20 62 6d 5f 72 65 70 5b 73 74 61 74 if(.rdec.decode_bit(.bm_rep[stat
30460 65 28 29 5d 20 29 20 21 3d 20 30 20 29 09 09 2f 2f 20 32 6e 64 20 62 69 74 0a 20 20 20 20 20 20 e()].).!=.0.)..//.2nd.bit.......
30480 7b 0a 20 20 20 20 20 20 69 66 28 20 72 64 65 63 2e 64 65 63 6f 64 65 5f 62 69 74 28 20 62 6d 5f {.......if(.rdec.decode_bit(.bm_
304a0 72 65 70 30 5b 73 74 61 74 65 28 29 5d 20 29 20 3d 3d 20 30 20 29 09 09 2f 2f 20 33 72 64 20 62 rep0[state()].).==.0.)..//.3rd.b
304c0 69 74 0a 20 20 20 20 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 69 66 28 20 72 64 65 63 2e 64 65 it.........{.........if(.rdec.de
304e0 63 6f 64 65 5f 62 69 74 28 20 62 6d 5f 6c 65 6e 5b 73 74 61 74 65 28 29 5d 5b 70 6f 73 5f 73 74 code_bit(.bm_len[state()][pos_st
30500 61 74 65 5d 20 29 20 3d 3d 20 30 20 29 20 2f 2f 20 34 74 68 20 62 69 74 0a 20 20 20 20 20 20 20 ate].).==.0.).//.4th.bit........
30520 20 20 20 7b 20 73 74 61 74 65 2e 73 65 74 5f 73 68 6f 72 74 5f 72 65 70 28 29 3b 20 70 75 74 5f ...{.state.set_short_rep();.put_
30540 62 79 74 65 28 20 70 65 65 6b 28 20 72 65 70 30 20 29 20 29 3b 20 63 6f 6e 74 69 6e 75 65 3b 20 byte(.peek(.rep0.).);.continue;.
30560 7d 0a 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 65 6c 73 65 0a 20 20 20 20 20 20 20 20 7b }.........}.......else.........{
30580 0a 20 20 20 20 20 20 20 20 75 6e 73 69 67 6e 65 64 20 64 69 73 74 61 6e 63 65 3b 0a 20 20 20 20 .........unsigned.distance;.....
305a0 20 20 20 20 69 66 28 20 72 64 65 63 2e 64 65 63 6f 64 65 5f 62 69 74 28 20 62 6d 5f 72 65 70 31 ....if(.rdec.decode_bit(.bm_rep1
305c0 5b 73 74 61 74 65 28 29 5d 20 29 20 3d 3d 20 30 20 29 09 09 2f 2f 20 34 74 68 20 62 69 74 0a 20 [state()].).==.0.)..//.4th.bit..
305e0 20 20 20 20 20 20 20 20 20 64 69 73 74 61 6e 63 65 20 3d 20 72 65 70 31 3b 0a 20 20 20 20 20 20 .........distance.=.rep1;.......
30600 20 20 65 6c 73 65 0a 20 20 20 20 20 20 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 20 20 69 66 28 ..else...........{...........if(
30620 20 72 64 65 63 2e 64 65 63 6f 64 65 5f 62 69 74 28 20 62 6d 5f 72 65 70 32 5b 73 74 61 74 65 28 .rdec.decode_bit(.bm_rep2[state(
30640 29 5d 20 29 20 3d 3d 20 30 20 29 09 2f 2f 20 35 74 68 20 62 69 74 0a 20 20 20 20 20 20 20 20 20 )].).==.0.).//.5th.bit..........
30660 20 20 20 64 69 73 74 61 6e 63 65 20 3d 20 72 65 70 32 3b 0a 20 20 20 20 20 20 20 20 20 20 65 6c ...distance.=.rep2;...........el
30680 73 65 0a 20 20 20 20 20 20 20 20 20 20 20 20 7b 20 64 69 73 74 61 6e 63 65 20 3d 20 72 65 70 33 se.............{.distance.=.rep3
306a0 3b 20 72 65 70 33 20 3d 20 72 65 70 32 3b 20 7d 0a 20 20 20 20 20 20 20 20 20 20 72 65 70 32 20 ;.rep3.=.rep2;.}...........rep2.
306c0 3d 20 72 65 70 31 3b 0a 20 20 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 72 65 70 31 =.rep1;...........}.........rep1
306e0 20 3d 20 72 65 70 30 3b 0a 20 20 20 20 20 20 20 20 72 65 70 30 20 3d 20 64 69 73 74 61 6e 63 65 .=.rep0;.........rep0.=.distance
30700 3b 0a 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 73 74 61 74 65 2e 73 65 74 5f 72 65 70 28 ;.........}.......state.set_rep(
30720 29 3b 0a 20 20 20 20 20 20 6c 65 6e 20 3d 20 6d 69 6e 5f 6d 61 74 63 68 5f 6c 65 6e 20 2b 20 72 );.......len.=.min_match_len.+.r
30740 64 65 63 2e 64 65 63 6f 64 65 5f 6c 65 6e 28 20 72 65 70 5f 6c 65 6e 5f 6d 6f 64 65 6c 2c 20 70 dec.decode_len(.rep_len_model,.p
30760 6f 73 5f 73 74 61 74 65 20 29 3b 0a 20 20 20 20 20 20 7d 0a 20 20 20 20 65 6c 73 65 09 09 09 09 os_state.);.......}.....else....
30780 09 2f 2f 20 6d 61 74 63 68 0a 20 20 20 20 20 20 7b 0a 20 20 20 20 20 20 72 65 70 33 20 3d 20 72 .//.match.......{.......rep3.=.r
307a0 65 70 32 3b 20 72 65 70 32 20 3d 20 72 65 70 31 3b 20 72 65 70 31 20 3d 20 72 65 70 30 3b 0a 20 ep2;.rep2.=.rep1;.rep1.=.rep0;..
307c0 20 20 20 20 20 6c 65 6e 20 3d 20 6d 69 6e 5f 6d 61 74 63 68 5f 6c 65 6e 20 2b 20 72 64 65 63 2e .....len.=.min_match_len.+.rdec.
307e0 64 65 63 6f 64 65 5f 6c 65 6e 28 20 6d 61 74 63 68 5f 6c 65 6e 5f 6d 6f 64 65 6c 2c 20 70 6f 73 decode_len(.match_len_model,.pos
30800 5f 73 74 61 74 65 20 29 3b 0a 20 20 20 20 20 20 63 6f 6e 73 74 20 69 6e 74 20 6c 65 6e 5f 73 74 _state.);.......const.int.len_st
30820 61 74 65 20 3d 20 73 74 64 3a 3a 6d 69 6e 28 20 6c 65 6e 20 2d 20 6d 69 6e 5f 6d 61 74 63 68 5f ate.=.std::min(.len.-.min_match_
30840 6c 65 6e 2c 20 6c 65 6e 5f 73 74 61 74 65 73 20 2d 20 31 20 29 3b 0a 20 20 20 20 20 20 72 65 70 len,.len_states.-.1.);.......rep
30860 30 20 3d 20 72 64 65 63 2e 64 65 63 6f 64 65 5f 74 72 65 65 28 20 62 6d 5f 64 69 73 5f 73 6c 6f 0.=.rdec.decode_tree(.bm_dis_slo
30880 74 5b 6c 65 6e 5f 73 74 61 74 65 5d 2c 20 64 69 73 5f 73 6c 6f 74 5f 62 69 74 73 20 29 3b 0a 20 t[len_state],.dis_slot_bits.);..
308a0 20 20 20 20 20 69 66 28 20 72 65 70 30 20 3e 3d 20 73 74 61 72 74 5f 64 69 73 5f 6d 6f 64 65 6c .....if(.rep0.>=.start_dis_model
308c0 20 29 0a 20 20 20 20 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 63 6f 6e 73 74 20 75 6e 73 69 67 .).........{.........const.unsig
308e0 6e 65 64 20 64 69 73 5f 73 6c 6f 74 20 3d 20 72 65 70 30 3b 0a 20 20 20 20 20 20 20 20 63 6f 6e ned.dis_slot.=.rep0;.........con
30900 73 74 20 69 6e 74 20 64 69 72 65 63 74 5f 62 69 74 73 20 3d 20 28 20 64 69 73 5f 73 6c 6f 74 20 st.int.direct_bits.=.(.dis_slot.
30920 3e 3e 20 31 20 29 20 2d 20 31 3b 0a 20 20 20 20 20 20 20 20 72 65 70 30 20 3d 20 28 20 32 20 7c >>.1.).-.1;.........rep0.=.(.2.|
30940 20 28 20 64 69 73 5f 73 6c 6f 74 20 26 20 31 20 29 20 29 20 3c 3c 20 64 69 72 65 63 74 5f 62 69 .(.dis_slot.&.1.).).<<.direct_bi
30960 74 73 3b 0a 20 20 20 20 20 20 20 20 69 66 28 20 64 69 73 5f 73 6c 6f 74 20 3c 20 65 6e 64 5f 64 ts;.........if(.dis_slot.<.end_d
30980 69 73 5f 6d 6f 64 65 6c 20 29 0a 20 20 20 20 20 20 20 20 20 20 72 65 70 30 20 2b 3d 20 72 64 65 is_model.)...........rep0.+=.rde
309a0 63 2e 64 65 63 6f 64 65 5f 74 72 65 65 5f 72 65 76 65 72 73 65 64 28 20 62 6d 5f 64 69 73 20 2b c.decode_tree_reversed(.bm_dis.+
309c0 20 28 20 72 65 70 30 20 2d 20 64 69 73 5f 73 6c 6f 74 20 29 2c 0a 20 20 20 20 20 20 20 20 20 20 .(.rep0.-.dis_slot.),...........
309e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
30a00 20 20 20 64 69 72 65 63 74 5f 62 69 74 73 20 29 3b 0a 20 20 20 20 20 20 20 20 65 6c 73 65 0a 20 ...direct_bits.);.........else..
30a20 20 20 20 20 20 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 20 20 72 65 70 30 20 2b 3d 0a 20 20 20 .........{...........rep0.+=....
30a40 20 20 20 20 20 20 20 20 20 72 64 65 63 2e 64 65 63 6f 64 65 28 20 64 69 72 65 63 74 5f 62 69 74 .........rdec.decode(.direct_bit
30a60 73 20 2d 20 64 69 73 5f 61 6c 69 67 6e 5f 62 69 74 73 20 29 20 3c 3c 20 64 69 73 5f 61 6c 69 67 s.-.dis_align_bits.).<<.dis_alig
30a80 6e 5f 62 69 74 73 3b 0a 20 20 20 20 20 20 20 20 20 20 72 65 70 30 20 2b 3d 20 72 64 65 63 2e 64 n_bits;...........rep0.+=.rdec.d
30aa0 65 63 6f 64 65 5f 74 72 65 65 5f 72 65 76 65 72 73 65 64 28 20 62 6d 5f 61 6c 69 67 6e 2c 20 64 ecode_tree_reversed(.bm_align,.d
30ac0 69 73 5f 61 6c 69 67 6e 5f 62 69 74 73 20 29 3b 0a 20 20 20 20 20 20 20 20 20 20 69 66 28 20 72 is_align_bits.);...........if(.r
30ae0 65 70 30 20 3d 3d 20 30 78 46 46 46 46 46 46 46 46 55 20 29 09 09 2f 2f 20 6d 61 72 6b 65 72 20 ep0.==.0xFFFFFFFFU.)..//.marker.
30b00 66 6f 75 6e 64 0a 20 20 20 20 20 20 20 20 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 found.............{.............
30b20 66 6c 75 73 68 5f 64 61 74 61 28 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e flush_data();.............return
30b40 20 28 20 6c 65 6e 20 3d 3d 20 6d 69 6e 5f 6d 61 74 63 68 5f 6c 65 6e 20 29 3b 09 2f 2f 20 45 6e .(.len.==.min_match_len.);.//.En
30b60 64 20 4f 66 20 53 74 72 65 61 6d 20 6d 61 72 6b 65 72 0a 20 20 20 20 20 20 20 20 20 20 20 20 7d d.Of.Stream.marker.............}
30b80 0a 20 20 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 73 74 61 ...........}.........}.......sta
30ba0 74 65 2e 73 65 74 5f 6d 61 74 63 68 28 29 3b 0a 20 20 20 20 20 20 69 66 28 20 72 65 70 30 20 3e te.set_match();.......if(.rep0.>
30bc0 3d 20 64 69 63 74 69 6f 6e 61 72 79 5f 73 69 7a 65 20 7c 7c 20 28 20 72 65 70 30 20 3e 3d 20 70 =.dictionary_size.||.(.rep0.>=.p
30be0 6f 73 20 26 26 20 21 70 6f 73 5f 77 72 61 70 70 65 64 20 29 20 29 0a 20 20 20 20 20 20 20 20 7b os.&&.!pos_wrapped.).).........{
30c00 20 66 6c 75 73 68 5f 64 61 74 61 28 29 3b 20 72 65 74 75 72 6e 20 66 61 6c 73 65 3b 20 7d 0a 20 .flush_data();.return.false;.}..
30c20 20 20 20 20 20 7d 0a 20 20 20 20 66 6f 72 28 20 69 6e 74 20 69 20 3d 20 30 3b 20 69 20 3c 20 6c .....}.....for(.int.i.=.0;.i.<.l
30c40 65 6e 3b 20 2b 2b 69 20 29 20 70 75 74 5f 62 79 74 65 28 20 70 65 65 6b 28 20 72 65 70 30 20 29 en;.++i.).put_byte(.peek(.rep0.)
30c60 20 29 3b 0a 20 20 20 20 7d 0a 20 20 66 6c 75 73 68 5f 64 61 74 61 28 29 3b 0a 20 20 72 65 74 75 .);.....}...flush_data();...retu
30c80 72 6e 20 66 61 6c 73 65 3b 0a 20 20 7d 0a 0a 0a 69 6e 74 20 6d 61 69 6e 28 20 63 6f 6e 73 74 20 rn.false;...}...int.main(.const.
30ca0 69 6e 74 20 61 72 67 63 2c 20 63 6f 6e 73 74 20 63 68 61 72 20 2a 20 63 6f 6e 73 74 20 61 72 67 int.argc,.const.char.*.const.arg
30cc0 76 5b 5d 20 29 0a 20 20 7b 0a 20 20 69 66 28 20 61 72 67 63 20 3e 20 32 20 7c 7c 20 28 20 61 72 v[].)...{...if(.argc.>.2.||.(.ar
30ce0 67 63 20 3d 3d 20 32 20 26 26 20 73 74 64 3a 3a 73 74 72 63 6d 70 28 20 61 72 67 76 5b 31 5d 2c gc.==.2.&&.std::strcmp(.argv[1],
30d00 20 22 2d 64 22 20 29 20 21 3d 20 30 20 29 20 29 0a 20 20 20 20 7b 0a 20 20 20 20 73 74 64 3a 3a ."-d".).!=.0.).).....{.....std::
30d20 70 72 69 6e 74 66 28 0a 20 20 20 20 20 20 22 4c 7a 64 20 25 73 20 2d 20 45 64 75 63 61 74 69 6f printf(......."Lzd.%s.-.Educatio
30d40 6e 61 6c 20 64 65 63 6f 6d 70 72 65 73 73 6f 72 20 66 6f 72 20 74 68 65 20 6c 7a 69 70 20 66 6f nal.decompressor.for.the.lzip.fo
30d60 72 6d 61 74 2e 5c 6e 22 0a 20 20 20 20 20 20 22 53 74 75 64 79 20 74 68 65 20 73 6f 75 72 63 65 rmat.\n"......."Study.the.source
30d80 20 74 6f 20 6c 65 61 72 6e 20 68 6f 77 20 61 20 6c 7a 69 70 20 64 65 63 6f 6d 70 72 65 73 73 6f .to.learn.how.a.lzip.decompresso
30da0 72 20 77 6f 72 6b 73 2e 5c 6e 22 0a 20 20 20 20 20 20 22 53 65 65 20 74 68 65 20 6c 7a 69 70 20 r.works.\n"......."See.the.lzip.
30dc0 6d 61 6e 75 61 6c 20 66 6f 72 20 61 6e 20 65 78 70 6c 61 6e 61 74 69 6f 6e 20 6f 66 20 74 68 65 manual.for.an.explanation.of.the
30de0 20 63 6f 64 65 2e 5c 6e 22 0a 20 20 20 20 20 20 22 5c 6e 55 73 61 67 65 3a 20 25 73 20 5b 2d 64 .code.\n"......."\nUsage:.%s.[-d
30e00 5d 20 3c 20 66 69 6c 65 2e 6c 7a 20 3e 20 66 69 6c 65 5c 6e 22 0a 20 20 20 20 20 20 22 4c 7a 64 ].<.file.lz.>.file\n"......."Lzd
30e20 20 64 65 63 6f 6d 70 72 65 73 73 65 73 20 66 72 6f 6d 20 73 74 61 6e 64 61 72 64 20 69 6e 70 75 .decompresses.from.standard.inpu
30e40 74 20 74 6f 20 73 74 61 6e 64 61 72 64 20 6f 75 74 70 75 74 2e 5c 6e 22 0a 20 20 20 20 20 20 22 t.to.standard.output.\n"......."
30e60 5c 6e 43 6f 70 79 72 69 67 68 74 20 28 43 29 20 32 30 32 31 20 41 6e 74 6f 6e 69 6f 20 44 69 61 \nCopyright.(C).2021.Antonio.Dia
30e80 7a 20 44 69 61 7a 2e 5c 6e 22 0a 20 20 20 20 20 20 22 4c 69 63 65 6e 73 65 20 32 2d 63 6c 61 75 z.Diaz.\n"......."License.2-clau
30ea0 73 65 20 42 53 44 2e 5c 6e 22 0a 20 20 20 20 20 20 22 54 68 69 73 20 69 73 20 66 72 65 65 20 73 se.BSD.\n"......."This.is.free.s
30ec0 6f 66 74 77 61 72 65 3a 20 79 6f 75 20 61 72 65 20 66 72 65 65 20 74 6f 20 63 68 61 6e 67 65 20 oftware:.you.are.free.to.change.
30ee0 61 6e 64 20 72 65 64 69 73 74 72 69 62 75 74 65 20 69 74 2e 5c 6e 22 0a 20 20 20 20 20 20 22 54 and.redistribute.it.\n"......."T
30f00 68 65 72 65 20 69 73 20 4e 4f 20 57 41 52 52 41 4e 54 59 2c 20 74 6f 20 74 68 65 20 65 78 74 65 here.is.NO.WARRANTY,.to.the.exte
30f20 6e 74 20 70 65 72 6d 69 74 74 65 64 20 62 79 20 6c 61 77 2e 5c 6e 22 0a 20 20 20 20 20 20 22 52 nt.permitted.by.law.\n"......."R
30f40 65 70 6f 72 74 20 62 75 67 73 20 74 6f 20 6c 7a 69 70 2d 62 75 67 40 6e 6f 6e 67 6e 75 2e 6f 72 eport.bugs.to.lzip-bug@nongnu.or
30f60 67 5c 6e 22 0a 20 20 20 20 20 20 22 4c 7a 64 20 68 6f 6d 65 20 70 61 67 65 3a 20 68 74 74 70 3a g\n"......."Lzd.home.page:.http:
30f80 2f 2f 77 77 77 2e 6e 6f 6e 67 6e 75 2e 6f 72 67 2f 6c 7a 69 70 2f 6c 7a 64 2e 68 74 6d 6c 5c 6e //www.nongnu.org/lzip/lzd.html\n
30fa0 22 2c 0a 20 20 20 20 20 20 50 52 4f 47 56 45 52 53 49 4f 4e 2c 20 61 72 67 76 5b 30 5d 20 29 3b ",.......PROGVERSION,.argv[0].);
30fc0 0a 20 20 20 20 72 65 74 75 72 6e 20 30 3b 0a 20 20 20 20 7d 0a 0a 23 69 66 20 64 65 66 69 6e 65 .....return.0;.....}..#if.define
30fe0 64 28 5f 5f 4d 53 56 43 52 54 5f 5f 29 20 7c 7c 20 64 65 66 69 6e 65 64 28 5f 5f 4f 53 32 5f 5f d(__MSVCRT__).||.defined(__OS2__
31000 29 20 7c 7c 20 64 65 66 69 6e 65 64 28 5f 5f 44 4a 47 50 50 5f 5f 29 0a 20 20 73 65 74 6d 6f 64 ).||.defined(__DJGPP__)...setmod
31020 65 28 20 53 54 44 49 4e 5f 46 49 4c 45 4e 4f 2c 20 4f 5f 42 49 4e 41 52 59 20 29 3b 0a 20 20 73 e(.STDIN_FILENO,.O_BINARY.);...s
31040 65 74 6d 6f 64 65 28 20 53 54 44 4f 55 54 5f 46 49 4c 45 4e 4f 2c 20 4f 5f 42 49 4e 41 52 59 20 etmode(.STDOUT_FILENO,.O_BINARY.
31060 29 3b 0a 23 65 6e 64 69 66 0a 0a 20 20 66 6f 72 28 20 62 6f 6f 6c 20 66 69 72 73 74 5f 6d 65 6d );.#endif....for(.bool.first_mem
31080 62 65 72 20 3d 20 74 72 75 65 3b 20 3b 20 66 69 72 73 74 5f 6d 65 6d 62 65 72 20 3d 20 66 61 6c ber.=.true;.;.first_member.=.fal
310a0 73 65 20 29 0a 20 20 20 20 7b 0a 20 20 20 20 4c 7a 69 70 5f 68 65 61 64 65 72 20 68 65 61 64 65 se.).....{.....Lzip_header.heade
310c0 72 3b 09 09 09 09 2f 2f 20 76 65 72 69 66 79 20 68 65 61 64 65 72 0a 20 20 20 20 66 6f 72 28 20 r;....//.verify.header.....for(.
310e0 69 6e 74 20 69 20 3d 20 30 3b 20 69 20 3c 20 36 3b 20 2b 2b 69 20 29 20 68 65 61 64 65 72 5b 69 int.i.=.0;.i.<.6;.++i.).header[i
31100 5d 20 3d 20 73 74 64 3a 3a 67 65 74 63 28 20 73 74 64 69 6e 20 29 3b 0a 20 20 20 20 69 66 28 20 ].=.std::getc(.stdin.);.....if(.
31120 73 74 64 3a 3a 66 65 6f 66 28 20 73 74 64 69 6e 20 29 20 7c 7c 20 73 74 64 3a 3a 6d 65 6d 63 6d std::feof(.stdin.).||.std::memcm
31140 70 28 20 68 65 61 64 65 72 2c 20 22 4c 5a 49 50 5c 78 30 31 22 2c 20 35 20 29 20 21 3d 20 30 20 p(.header,."LZIP\x01",.5.).!=.0.
31160 29 0a 20 20 20 20 20 20 7b 0a 20 20 20 20 20 20 69 66 28 20 66 69 72 73 74 5f 6d 65 6d 62 65 72 ).......{.......if(.first_member
31180 20 29 0a 20 20 20 20 20 20 20 20 7b 20 73 74 64 3a 3a 66 70 75 74 73 28 20 22 42 61 64 20 6d 61 .).........{.std::fputs(."Bad.ma
311a0 67 69 63 20 6e 75 6d 62 65 72 20 28 66 69 6c 65 20 6e 6f 74 20 69 6e 20 6c 7a 69 70 20 66 6f 72 gic.number.(file.not.in.lzip.for
311c0 6d 61 74 29 2e 5c 6e 22 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 mat).\n",.......................
311e0 73 74 64 65 72 72 20 29 3b 20 72 65 74 75 72 6e 20 32 3b 20 7d 0a 20 20 20 20 20 20 62 72 65 61 stderr.);.return.2;.}.......brea
31200 6b 3b 09 09 09 09 09 2f 2f 20 69 67 6e 6f 72 65 20 74 72 61 69 6c 69 6e 67 20 64 61 74 61 0a 20 k;.....//.ignore.trailing.data..
31220 20 20 20 20 20 7d 0a 20 20 20 20 75 6e 73 69 67 6e 65 64 20 64 69 63 74 5f 73 69 7a 65 20 3d 20 .....}.....unsigned.dict_size.=.
31240 31 20 3c 3c 20 28 20 68 65 61 64 65 72 5b 35 5d 20 26 20 30 78 31 46 20 29 3b 0a 20 20 20 20 64 1.<<.(.header[5].&.0x1F.);.....d
31260 69 63 74 5f 73 69 7a 65 20 2d 3d 20 28 20 64 69 63 74 5f 73 69 7a 65 20 2f 20 31 36 20 29 20 2a ict_size.-=.(.dict_size./.16.).*
31280 20 28 20 28 20 68 65 61 64 65 72 5b 35 5d 20 3e 3e 20 35 20 29 20 26 20 37 20 29 3b 0a 20 20 20 .(.(.header[5].>>.5.).&.7.);....
312a0 20 69 66 28 20 64 69 63 74 5f 73 69 7a 65 20 3c 20 6d 69 6e 5f 64 69 63 74 69 6f 6e 61 72 79 5f .if(.dict_size.<.min_dictionary_
312c0 73 69 7a 65 20 7c 7c 20 64 69 63 74 5f 73 69 7a 65 20 3e 20 6d 61 78 5f 64 69 63 74 69 6f 6e 61 size.||.dict_size.>.max_dictiona
312e0 72 79 5f 73 69 7a 65 20 29 0a 20 20 20 20 20 20 7b 20 73 74 64 3a 3a 66 70 75 74 73 28 20 22 49 ry_size.).......{.std::fputs(."I
31300 6e 76 61 6c 69 64 20 64 69 63 74 69 6f 6e 61 72 79 20 73 69 7a 65 20 69 6e 20 6d 65 6d 62 65 72 nvalid.dictionary.size.in.member
31320 20 68 65 61 64 65 72 2e 5c 6e 22 2c 20 73 74 64 65 72 72 20 29 3b 0a 20 20 20 20 20 20 20 20 72 .header.\n",.stderr.);.........r
31340 65 74 75 72 6e 20 32 3b 20 7d 0a 0a 20 20 20 20 4c 5a 5f 64 65 63 6f 64 65 72 20 64 65 63 6f 64 eturn.2;.}......LZ_decoder.decod
31360 65 72 28 20 64 69 63 74 5f 73 69 7a 65 20 29 3b 09 09 2f 2f 20 64 65 63 6f 64 65 20 4c 5a 4d 41 er(.dict_size.);..//.decode.LZMA
31380 20 73 74 72 65 61 6d 0a 20 20 20 20 69 66 28 20 21 64 65 63 6f 64 65 72 2e 64 65 63 6f 64 65 5f .stream.....if(.!decoder.decode_
313a0 6d 65 6d 62 65 72 28 29 20 29 0a 20 20 20 20 20 20 7b 20 73 74 64 3a 3a 66 70 75 74 73 28 20 22 member().).......{.std::fputs(."
313c0 44 61 74 61 20 65 72 72 6f 72 5c 6e 22 2c 20 73 74 64 65 72 72 20 29 3b 20 72 65 74 75 72 6e 20 Data.error\n",.stderr.);.return.
313e0 32 3b 20 7d 0a 0a 20 20 20 20 4c 7a 69 70 5f 74 72 61 69 6c 65 72 20 74 72 61 69 6c 65 72 3b 09 2;.}......Lzip_trailer.trailer;.
31400 09 09 2f 2f 20 76 65 72 69 66 79 20 74 72 61 69 6c 65 72 0a 20 20 20 20 66 6f 72 28 20 69 6e 74 ..//.verify.trailer.....for(.int
31420 20 69 20 3d 20 30 3b 20 69 20 3c 20 32 30 3b 20 2b 2b 69 20 29 20 74 72 61 69 6c 65 72 5b 69 5d .i.=.0;.i.<.20;.++i.).trailer[i]
31440 20 3d 20 64 65 63 6f 64 65 72 2e 67 65 74 5f 62 79 74 65 28 29 3b 0a 20 20 20 20 69 6e 74 20 72 .=.decoder.get_byte();.....int.r
31460 65 74 76 61 6c 20 3d 20 30 3b 0a 20 20 20 20 75 6e 73 69 67 6e 65 64 20 63 72 63 20 3d 20 30 3b etval.=.0;.....unsigned.crc.=.0;
31480 0a 20 20 20 20 66 6f 72 28 20 69 6e 74 20 69 20 3d 20 33 3b 20 69 20 3e 3d 20 30 3b 20 2d 2d 69 .....for(.int.i.=.3;.i.>=.0;.--i
314a0 20 29 20 63 72 63 20 3d 20 28 20 63 72 63 20 3c 3c 20 38 20 29 20 2b 20 74 72 61 69 6c 65 72 5b .).crc.=.(.crc.<<.8.).+.trailer[
314c0 69 5d 3b 0a 20 20 20 20 69 66 28 20 63 72 63 20 21 3d 20 64 65 63 6f 64 65 72 2e 63 72 63 28 29 i];.....if(.crc.!=.decoder.crc()
314e0 20 29 0a 20 20 20 20 20 20 7b 20 73 74 64 3a 3a 66 70 75 74 73 28 20 22 43 52 43 20 6d 69 73 6d .).......{.std::fputs(."CRC.mism
31500 61 74 63 68 5c 6e 22 2c 20 73 74 64 65 72 72 20 29 3b 20 72 65 74 76 61 6c 20 3d 20 32 3b 20 7d atch\n",.stderr.);.retval.=.2;.}
31520 0a 0a 20 20 20 20 75 6e 73 69 67 6e 65 64 20 6c 6f 6e 67 20 6c 6f 6e 67 20 64 61 74 61 5f 73 69 ......unsigned.long.long.data_si
31540 7a 65 20 3d 20 30 3b 0a 20 20 20 20 66 6f 72 28 20 69 6e 74 20 69 20 3d 20 31 31 3b 20 69 20 3e ze.=.0;.....for(.int.i.=.11;.i.>
31560 3d 20 34 3b 20 2d 2d 69 20 29 0a 20 20 20 20 20 20 64 61 74 61 5f 73 69 7a 65 20 3d 20 28 20 64 =.4;.--i.).......data_size.=.(.d
31580 61 74 61 5f 73 69 7a 65 20 3c 3c 20 38 20 29 20 2b 20 74 72 61 69 6c 65 72 5b 69 5d 3b 0a 20 20 ata_size.<<.8.).+.trailer[i];...
315a0 20 20 69 66 28 20 64 61 74 61 5f 73 69 7a 65 20 21 3d 20 64 65 63 6f 64 65 72 2e 64 61 74 61 5f ..if(.data_size.!=.decoder.data_
315c0 70 6f 73 69 74 69 6f 6e 28 29 20 29 0a 20 20 20 20 20 20 7b 20 73 74 64 3a 3a 66 70 75 74 73 28 position().).......{.std::fputs(
315e0 20 22 44 61 74 61 20 73 69 7a 65 20 6d 69 73 6d 61 74 63 68 5c 6e 22 2c 20 73 74 64 65 72 72 20 ."Data.size.mismatch\n",.stderr.
31600 29 3b 20 72 65 74 76 61 6c 20 3d 20 32 3b 20 7d 0a 0a 20 20 20 20 75 6e 73 69 67 6e 65 64 20 6c );.retval.=.2;.}......unsigned.l
31620 6f 6e 67 20 6c 6f 6e 67 20 6d 65 6d 62 65 72 5f 73 69 7a 65 20 3d 20 30 3b 0a 20 20 20 20 66 6f ong.long.member_size.=.0;.....fo
31640 72 28 20 69 6e 74 20 69 20 3d 20 31 39 3b 20 69 20 3e 3d 20 31 32 3b 20 2d 2d 69 20 29 0a 20 20 r(.int.i.=.19;.i.>=.12;.--i.)...
31660 20 20 20 20 6d 65 6d 62 65 72 5f 73 69 7a 65 20 3d 20 28 20 6d 65 6d 62 65 72 5f 73 69 7a 65 20 ....member_size.=.(.member_size.
31680 3c 3c 20 38 20 29 20 2b 20 74 72 61 69 6c 65 72 5b 69 5d 3b 0a 20 20 20 20 69 66 28 20 6d 65 6d <<.8.).+.trailer[i];.....if(.mem
316a0 62 65 72 5f 73 69 7a 65 20 21 3d 20 64 65 63 6f 64 65 72 2e 6d 65 6d 62 65 72 5f 70 6f 73 69 74 ber_size.!=.decoder.member_posit
316c0 69 6f 6e 28 29 20 29 0a 20 20 20 20 20 20 7b 20 73 74 64 3a 3a 66 70 75 74 73 28 20 22 4d 65 6d ion().).......{.std::fputs(."Mem
316e0 62 65 72 20 73 69 7a 65 20 6d 69 73 6d 61 74 63 68 5c 6e 22 2c 20 73 74 64 65 72 72 20 29 3b 20 ber.size.mismatch\n",.stderr.);.
31700 72 65 74 76 61 6c 20 3d 20 32 3b 20 7d 0a 20 20 20 20 69 66 28 20 72 65 74 76 61 6c 20 29 20 72 retval.=.2;.}.....if(.retval.).r
31720 65 74 75 72 6e 20 72 65 74 76 61 6c 3b 0a 20 20 20 20 7d 0a 0a 20 20 69 66 28 20 73 74 64 3a 3a eturn.retval;.....}....if(.std::
31740 66 63 6c 6f 73 65 28 20 73 74 64 6f 75 74 20 29 20 21 3d 20 30 20 29 0a 20 20 20 20 7b 20 73 74 fclose(.stdout.).!=.0.).....{.st
31760 64 3a 3a 66 70 72 69 6e 74 66 28 20 73 74 64 65 72 72 2c 20 22 45 72 72 6f 72 20 63 6c 6f 73 69 d::fprintf(.stderr,."Error.closi
31780 6e 67 20 73 74 64 6f 75 74 3a 20 25 73 5c 6e 22 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ng.stdout:.%s\n",...............
317a0 20 20 20 20 20 20 73 74 64 3a 3a 73 74 72 65 72 72 6f 72 28 20 65 72 72 6e 6f 20 29 20 29 3b 20 ......std::strerror(.errno.).);.
317c0 72 65 74 75 72 6e 20 31 3b 20 7d 0a 20 20 72 65 74 75 72 6e 20 30 3b 0a 20 20 7d 0a 40 65 6e 64 return.1;.}...return.0;...}.@end
317e0 20 76 65 72 62 61 74 69 6d 0a 0a 0a 40 6e 6f 64 65 20 43 6f 6e 63 65 70 74 20 69 6e 64 65 78 0a .verbatim...@node.Concept.index.
31800 40 75 6e 6e 75 6d 62 65 72 65 64 20 43 6f 6e 63 65 70 74 20 69 6e 64 65 78 0a 0a 40 70 72 69 6e @unnumbered.Concept.index..@prin
31820 74 69 6e 64 65 78 20 63 70 0a 0a 40 62 79 65 0a 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 tindex.cp..@bye.................
31840 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
31860 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
31880 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
318a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
318c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
318e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
31900 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
31920 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
31940 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
31960 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
31980 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
319a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
319c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
319e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
31a00 6c 7a 69 70 2d 31 2e 32 32 2f 43 68 61 6e 67 65 4c 6f 67 00 00 00 00 00 00 00 00 00 00 00 00 00 lzip-1.22/ChangeLog.............
31a20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
31a40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
31a60 00 00 00 00 30 30 30 30 36 34 34 00 30 30 30 30 30 30 30 00 30 30 30 30 30 30 30 00 30 30 30 30 ....0000644.0000000.0000000.0000
31a80 30 30 33 32 34 30 36 00 31 33 37 37 34 36 35 30 31 34 33 00 30 31 34 32 30 33 00 20 30 00 00 00 0032406.13774650143.014203..0...
31aa0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
31ac0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
31ae0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
31b00 00 75 73 74 61 72 00 30 30 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .ustar.00root...................
31b20 00 00 00 00 00 00 00 00 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .........root...................
31b40 00 00 00 00 00 00 00 00 00 30 30 30 30 30 30 30 00 30 30 30 30 30 30 30 00 00 00 00 00 00 00 00 .........0000000.0000000........
31b60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
31b80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
31ba0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
31bc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
31be0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
31c00 32 30 32 31 2d 30 31 2d 30 34 20 20 41 6e 74 6f 6e 69 6f 20 44 69 61 7a 20 44 69 61 7a 20 20 3c 2021-01-04..Antonio.Diaz.Diaz..<
31c20 61 6e 74 6f 6e 69 6f 40 67 6e 75 2e 6f 72 67 3e 0a 0a 09 2a 20 56 65 72 73 69 6f 6e 20 31 2e 32 antonio@gnu.org>...*.Version.1.2
31c40 32 20 72 65 6c 65 61 73 65 64 2e 0a 09 2a 20 6d 61 69 6e 2e 63 63 20 28 6d 61 69 6e 29 3a 20 52 2.released...*.main.cc.(main):.R
31c60 65 70 6f 72 74 20 61 6e 20 65 72 72 6f 72 20 69 66 20 61 20 66 69 6c 65 20 6e 61 6d 65 20 69 73 eport.an.error.if.a.file.name.is
31c80 20 65 6d 70 74 79 2e 0a 09 20 20 4d 61 6b 65 20 27 2d 6f 27 20 62 65 68 61 76 65 20 6c 69 6b 65 .empty.....Make.'-o'.behave.like
31ca0 20 27 2d 63 27 2c 20 62 75 74 20 77 72 69 74 69 6e 67 20 74 6f 20 66 69 6c 65 20 69 6e 73 74 65 .'-c',.but.writing.to.file.inste
31cc0 61 64 20 6f 66 20 73 74 64 6f 75 74 2e 0a 09 20 20 4d 61 6b 65 20 27 2d 63 27 20 61 6e 64 20 27 ad.of.stdout.....Make.'-c'.and.'
31ce0 2d 6f 27 20 63 68 65 63 6b 20 77 68 65 74 68 65 72 20 74 68 65 20 6f 75 74 70 75 74 20 69 73 20 -o'.check.whether.the.output.is.
31d00 61 20 74 65 72 6d 69 6e 61 6c 20 6f 6e 6c 79 20 6f 6e 63 65 2e 0a 09 20 20 44 6f 20 6e 6f 74 20 a.terminal.only.once.....Do.not.
31d20 6f 70 65 6e 20 6f 75 74 70 75 74 20 69 66 20 69 6e 70 75 74 20 69 73 20 61 20 74 65 72 6d 69 6e open.output.if.input.is.a.termin
31d40 61 6c 2e 0a 09 2a 20 63 6f 6e 66 69 67 75 72 65 3a 20 42 75 69 6c 64 2c 20 63 68 65 63 6b 2c 20 al...*.configure:.Build,.check,.
31d60 61 6e 64 20 69 6e 73 74 61 6c 6c 20 77 69 74 68 6f 75 74 20 27 6d 61 6b 65 27 2e 0a 09 2a 20 52 and.install.without.'make'...*.R
31d80 65 70 6c 61 63 65 20 27 64 65 63 6f 6d 70 72 65 73 73 65 64 27 2c 20 27 63 6f 6d 70 72 65 73 73 eplace.'decompressed',.'compress
31da0 65 64 27 20 77 69 74 68 20 27 6f 75 74 27 2c 20 27 69 6e 27 20 69 6e 20 6f 75 74 70 75 74 2e 0a ed'.with.'out',.'in'.in.output..
31dc0 09 2a 20 6c 7a 69 70 5f 69 6e 64 65 78 2e 63 63 3a 20 49 6d 70 72 6f 76 65 20 6d 65 73 73 61 67 .*.lzip_index.cc:.Improve.messag
31de0 65 73 20 66 6f 72 20 63 6f 72 72 75 70 74 69 6f 6e 20 69 6e 20 6c 61 73 74 20 68 65 61 64 65 72 es.for.corruption.in.last.header
31e00 2e 0a 09 2a 20 6d 61 69 6e 2e 63 63 3a 20 53 65 74 20 61 20 76 61 6c 69 64 20 69 6e 76 6f 63 61 ...*.main.cc:.Set.a.valid.invoca
31e20 74 69 6f 6e 5f 6e 61 6d 65 20 65 76 65 6e 20 69 66 20 61 72 67 63 20 3d 3d 20 30 2e 0a 09 2a 20 tion_name.even.if.argc.==.0...*.
31e40 44 6f 63 75 6d 65 6e 74 20 65 78 74 72 61 63 74 69 6f 6e 20 66 72 6f 6d 20 74 61 72 2e 6c 7a 20 Document.extraction.from.tar.lz.
31e60 69 6e 20 6d 61 6e 75 61 6c 2c 20 27 2d 2d 68 65 6c 70 27 2c 20 61 6e 64 20 6d 61 6e 20 70 61 67 in.manual,.'--help',.and.man.pag
31e80 65 2e 0a 09 2a 20 6c 7a 69 70 2e 74 65 78 69 20 28 49 6e 74 72 6f 64 75 63 74 69 6f 6e 29 3a 20 e...*.lzip.texi.(Introduction):.
31ea0 4d 65 6e 74 69 6f 6e 20 70 6c 7a 69 70 20 61 6e 64 20 74 61 72 6c 7a 20 61 73 20 61 6c 74 65 72 Mention.plzip.and.tarlz.as.alter
31ec0 6e 61 74 69 76 65 73 2e 0a 09 2a 20 6c 7a 69 70 2e 74 65 78 69 3a 20 53 65 76 65 72 61 6c 20 66 natives...*.lzip.texi:.Several.f
31ee0 69 78 65 73 20 61 6e 64 20 69 6d 70 72 6f 76 65 6d 65 6e 74 73 2e 0a 09 2a 20 74 65 73 74 73 75 ixes.and.improvements...*.testsu
31f00 69 74 65 3a 20 41 64 64 20 39 20 6e 65 77 20 74 65 73 74 20 66 69 6c 65 73 2e 0a 0a 32 30 31 39 ite:.Add.9.new.test.files...2019
31f20 2d 30 31 2d 30 33 20 20 41 6e 74 6f 6e 69 6f 20 44 69 61 7a 20 44 69 61 7a 20 20 3c 61 6e 74 6f -01-03..Antonio.Diaz.Diaz..<anto
31f40 6e 69 6f 40 67 6e 75 2e 6f 72 67 3e 0a 0a 09 2a 20 56 65 72 73 69 6f 6e 20 31 2e 32 31 20 72 65 nio@gnu.org>...*.Version.1.21.re
31f60 6c 65 61 73 65 64 2e 0a 09 2a 20 52 65 6e 61 6d 65 20 46 69 6c 65 5f 2a 20 74 6f 20 4c 7a 69 70 leased...*.Rename.File_*.to.Lzip
31f80 5f 2a 2e 0a 09 2a 20 6c 7a 69 70 2e 68 20 28 4c 7a 69 70 5f 74 72 61 69 6c 65 72 29 3a 20 4e 65 _*...*.lzip.h.(Lzip_trailer):.Ne
31fa0 77 20 66 75 6e 63 74 69 6f 6e 20 27 76 65 72 69 66 79 5f 63 6f 6e 73 69 73 74 65 6e 63 79 27 2e w.function.'verify_consistency'.
31fc0 0a 09 2a 20 6c 7a 69 70 5f 69 6e 64 65 78 2e 63 63 3a 20 44 65 74 65 63 74 20 73 6f 6d 65 20 6b ..*.lzip_index.cc:.Detect.some.k
31fe0 69 6e 64 73 20 6f 66 20 63 6f 72 72 75 70 74 20 74 72 61 69 6c 65 72 73 2e 0a 09 2a 20 6d 61 69 inds.of.corrupt.trailers...*.mai
32000 6e 2e 63 63 20 28 6d 61 69 6e 29 3a 20 43 68 65 63 6b 20 72 65 74 75 72 6e 20 76 61 6c 75 65 20 n.cc.(main):.Check.return.value.
32020 6f 66 20 63 6c 6f 73 65 28 20 69 6e 66 64 20 29 2e 0a 09 2a 20 6d 61 69 6e 2e 63 63 3a 20 43 6f of.close(.infd.)...*.main.cc:.Co
32040 6d 70 69 6c 65 20 6f 6e 20 44 4f 53 20 77 69 74 68 20 44 4a 47 50 50 2e 0a 09 2a 20 46 69 78 20 mpile.on.DOS.with.DJGPP...*.Fix.
32060 61 20 47 43 43 20 77 61 72 6e 69 6e 67 20 61 62 6f 75 74 20 63 61 74 63 68 69 6e 67 20 73 74 64 a.GCC.warning.about.catching.std
32080 3a 3a 62 61 64 5f 61 6c 6c 6f 63 20 62 79 20 76 61 6c 75 65 2e 0a 09 2a 20 6c 7a 69 70 2e 74 65 ::bad_alloc.by.value...*.lzip.te
320a0 78 69 3a 20 49 6d 70 72 6f 76 65 20 64 65 73 63 72 69 70 74 69 6f 6e 20 6f 66 20 27 2d 30 2e 2e xi:.Improve.description.of.'-0..
320c0 2d 39 27 2c 20 27 2d 6d 27 2c 20 61 6e 64 20 27 2d 73 27 2e 0a 09 2a 20 63 6f 6e 66 69 67 75 72 -9',.'-m',.and.'-s'...*.configur
320e0 65 3a 20 41 63 63 65 70 74 20 61 70 70 65 6e 64 69 6e 67 20 74 6f 20 43 58 58 46 4c 41 47 53 2c e:.Accept.appending.to.CXXFLAGS,
32100 20 27 43 58 58 46 4c 41 47 53 2b 3d 4f 50 54 49 4f 4e 53 27 2e 0a 09 2a 20 49 4e 53 54 41 4c 4c .'CXXFLAGS+=OPTIONS'...*.INSTALL
32120 3a 20 44 6f 63 75 6d 65 6e 74 20 75 73 65 20 6f 66 20 43 58 58 46 4c 41 47 53 2b 3d 27 2d 44 20 :.Document.use.of.CXXFLAGS+='-D.
32140 5f 5f 55 53 45 5f 4d 49 4e 47 57 5f 41 4e 53 49 5f 53 54 44 49 4f 27 2e 0a 0a 32 30 31 38 2d 30 __USE_MINGW_ANSI_STDIO'...2018-0
32160 32 2d 31 31 20 20 41 6e 74 6f 6e 69 6f 20 44 69 61 7a 20 44 69 61 7a 20 20 3c 61 6e 74 6f 6e 69 2-11..Antonio.Diaz.Diaz..<antoni
32180 6f 40 67 6e 75 2e 6f 72 67 3e 0a 0a 09 2a 20 56 65 72 73 69 6f 6e 20 31 2e 32 30 20 72 65 6c 65 o@gnu.org>...*.Version.1.20.rele
321a0 61 73 65 64 2e 0a 09 2a 20 4e 65 77 20 6f 70 74 69 6f 6e 20 27 2d 2d 6c 6f 6f 73 65 2d 74 72 61 ased...*.New.option.'--loose-tra
321c0 69 6c 69 6e 67 27 2e 0a 09 2a 20 49 6d 70 72 6f 76 65 20 63 6f 72 72 75 70 74 20 68 65 61 64 65 iling'...*.Improve.corrupt.heade
321e0 72 20 64 65 74 65 63 74 69 6f 6e 20 74 6f 20 48 44 3d 33 2e 0a 09 2a 20 6d 61 69 6e 2e 63 63 3a r.detection.to.HD=3...*.main.cc:
32200 20 53 68 6f 77 20 63 6f 72 72 75 70 74 20 6f 72 20 74 72 75 6e 63 61 74 65 64 20 68 65 61 64 65 .Show.corrupt.or.truncated.heade
32220 72 20 69 6e 20 6d 75 6c 74 69 6d 65 6d 62 65 72 20 66 69 6c 65 2e 0a 09 2a 20 6d 61 69 6e 2e 63 r.in.multimember.file...*.main.c
32240 63 20 28 6d 61 69 6e 29 3a 20 4f 70 74 69 6f 6e 20 27 2d 53 2c 20 2d 2d 76 6f 6c 75 6d 65 2d 73 c.(main):.Option.'-S,.--volume-s
32260 69 7a 65 27 20 6e 6f 77 20 6b 65 65 70 73 20 69 6e 70 75 74 20 66 69 6c 65 73 2e 0a 09 2a 20 65 ize'.now.keeps.input.files...*.e
32280 6e 63 6f 64 65 72 5f 62 61 73 65 2e 2a 3a 20 41 64 6a 75 73 74 20 64 69 63 74 69 6f 6e 61 72 79 ncoder_base.*:.Adjust.dictionary
322a0 20 73 69 7a 65 20 66 6f 72 20 65 61 63 68 20 6d 65 6d 62 65 72 2e 0a 09 2a 20 52 65 70 6c 61 63 .size.for.each.member...*.Replac
322c0 65 20 27 62 69 74 73 2f 62 79 74 65 27 20 77 69 74 68 20 69 6e 76 65 72 73 65 20 63 6f 6d 70 72 e.'bits/byte'.with.inverse.compr
322e0 65 73 73 69 6f 6e 20 72 61 74 69 6f 20 69 6e 20 6f 75 74 70 75 74 2e 0a 09 2a 20 53 68 6f 77 20 ession.ratio.in.output...*.Show.
32300 70 72 6f 67 72 65 73 73 20 6f 66 20 64 65 63 6f 6d 70 72 65 73 73 69 6f 6e 20 61 74 20 76 65 72 progress.of.decompression.at.ver
32320 62 6f 73 69 74 79 20 6c 65 76 65 6c 20 32 20 28 2d 76 76 29 2e 0a 09 2a 20 53 68 6f 77 20 70 72 bosity.level.2.(-vv)...*.Show.pr
32340 6f 67 72 65 73 73 20 6f 66 20 28 64 65 29 63 6f 6d 70 72 65 73 73 69 6f 6e 20 6f 6e 6c 79 20 69 ogress.of.(de)compression.only.i
32360 66 20 73 74 64 65 72 72 20 69 73 20 61 20 74 65 72 6d 69 6e 61 6c 2e 0a 09 2a 20 6d 61 69 6e 2e f.stderr.is.a.terminal...*.main.
32380 63 63 3a 20 53 68 6f 77 20 66 69 6e 61 6c 20 64 69 61 67 6e 6f 73 74 69 63 20 77 68 65 6e 20 74 cc:.Show.final.diagnostic.when.t
323a0 65 73 74 69 6e 67 20 6d 75 6c 74 69 70 6c 65 20 66 69 6c 65 73 2e 0a 09 2a 20 6d 61 69 6e 2e 63 esting.multiple.files...*.main.c
323c0 63 3a 20 44 6f 20 6e 6f 74 20 61 64 64 20 61 20 73 65 63 6f 6e 64 20 65 78 74 65 6e 73 69 6f 6e c:.Do.not.add.a.second.extension
323e0 20 27 2e 6c 7a 27 20 74 6f 20 74 68 65 20 61 72 67 20 6f 66 20 27 2d 6f 27 2e 0a 09 2a 20 64 65 .'.lz'.to.the.arg.of.'-o'...*.de
32400 63 6f 64 65 72 2e 63 63 20 28 76 65 72 69 66 79 5f 74 72 61 69 6c 65 72 29 3a 20 53 68 6f 77 20 coder.cc.(verify_trailer):.Show.
32420 73 74 6f 72 65 64 20 73 69 7a 65 73 20 61 6c 73 6f 20 69 6e 20 68 65 78 2e 0a 09 20 20 53 68 6f stored.sizes.also.in.hex.....Sho
32440 77 20 64 69 63 74 69 6f 6e 61 72 79 20 73 69 7a 65 20 61 74 20 76 65 72 62 6f 73 69 74 79 20 6c w.dictionary.size.at.verbosity.l
32460 65 76 65 6c 20 34 20 28 2d 76 76 76 76 29 2e 0a 09 2a 20 6c 7a 69 70 2e 74 65 78 69 3a 20 4e 65 evel.4.(-vvvv)...*.lzip.texi:.Ne
32480 77 20 63 68 61 70 74 65 72 20 27 4d 65 61 6e 69 6e 67 20 6f 66 20 6c 7a 69 70 27 73 20 6f 75 74 w.chapter.'Meaning.of.lzip's.out
324a0 70 75 74 27 2e 0a 0a 32 30 31 37 2d 30 34 2d 31 33 20 20 41 6e 74 6f 6e 69 6f 20 44 69 61 7a 20 put'...2017-04-13..Antonio.Diaz.
324c0 44 69 61 7a 20 20 3c 61 6e 74 6f 6e 69 6f 40 67 6e 75 2e 6f 72 67 3e 0a 0a 09 2a 20 56 65 72 73 Diaz..<antonio@gnu.org>...*.Vers
324e0 69 6f 6e 20 31 2e 31 39 20 72 65 6c 65 61 73 65 64 2e 0a 09 2a 20 54 68 65 20 6f 70 74 69 6f 6e ion.1.19.released...*.The.option
32500 20 27 2d 6c 2c 20 2d 2d 6c 69 73 74 27 20 68 61 73 20 62 65 65 6e 20 70 6f 72 74 65 64 20 66 72 .'-l,.--list'.has.been.ported.fr
32520 6f 6d 20 6c 7a 69 70 72 65 63 6f 76 65 72 2e 0a 09 2a 20 44 6f 6e 27 74 20 61 6c 6c 6f 77 20 6d om.lziprecover...*.Don't.allow.m
32540 69 78 69 6e 67 20 64 69 66 66 65 72 65 6e 74 20 6f 70 65 72 61 74 69 6f 6e 73 20 28 2d 64 2c 20 ixing.different.operations.(-d,.
32560 2d 6c 20 6f 72 20 2d 74 29 2e 0a 09 2a 20 43 6f 6d 70 72 65 73 73 69 6f 6e 20 74 69 6d 65 20 6f -l.or.-t)...*.Compression.time.o
32580 66 20 6f 70 74 69 6f 6e 20 27 2d 30 27 20 68 61 73 20 62 65 65 6e 20 73 6c 69 67 68 74 6c 79 20 f.option.'-0'.has.been.slightly.
325a0 72 65 64 75 63 65 64 2e 0a 09 2a 20 44 65 63 6f 6d 70 72 65 73 73 69 6f 6e 20 74 69 6d 65 20 68 reduced...*.Decompression.time.h
325c0 61 73 20 62 65 65 6e 20 72 65 64 75 63 65 64 20 62 79 20 32 25 2e 0a 09 2a 20 6d 61 69 6e 2e 63 as.been.reduced.by.2%...*.main.c
325e0 63 3a 20 43 6f 6e 74 69 6e 75 65 20 74 65 73 74 69 6e 67 20 69 66 20 61 6e 79 20 69 6e 70 75 74 c:.Continue.testing.if.any.input
32600 20 66 69 6c 65 20 69 73 20 61 20 74 65 72 6d 69 6e 61 6c 2e 0a 09 2a 20 6d 61 69 6e 2e 63 63 3a .file.is.a.terminal...*.main.cc:
32620 20 53 68 6f 77 20 74 72 61 69 6c 69 6e 67 20 64 61 74 61 20 69 6e 20 62 6f 74 68 20 68 65 78 61 .Show.trailing.data.in.both.hexa
32640 64 65 63 69 6d 61 6c 20 61 6e 64 20 41 53 43 49 49 2e 0a 09 2a 20 65 6e 63 6f 64 65 72 2e 63 63 decimal.and.ASCII...*.encoder.cc
32660 20 28 4d 61 74 63 68 66 69 6e 64 65 72 5f 62 61 73 65 29 3a 20 56 65 72 69 66 79 20 74 68 65 20 .(Matchfinder_base):.Verify.the.
32680 73 69 7a 65 20 70 61 73 73 65 64 20 74 6f 20 6e 65 77 2e 0a 09 2a 20 6c 7a 69 70 5f 69 6e 64 65 size.passed.to.new...*.lzip_inde
326a0 78 2e 63 63 3a 20 49 6d 70 72 6f 76 65 20 64 65 74 65 63 74 69 6f 6e 20 6f 66 20 62 61 64 20 64 x.cc:.Improve.detection.of.bad.d
326c0 69 63 74 20 61 6e 64 20 74 72 61 69 6c 69 6e 67 20 64 61 74 61 2e 0a 09 2a 20 6c 7a 69 70 2e 68 ict.and.trailing.data...*.lzip.h
326e0 3a 20 55 6e 69 66 79 20 6d 65 73 73 61 67 65 73 20 66 6f 72 20 62 61 64 20 6d 61 67 69 63 2c 20 :.Unify.messages.for.bad.magic,.
32700 74 72 61 69 6c 69 6e 67 20 64 61 74 61 2c 20 65 74 63 2e 0a 0a 32 30 31 36 2d 30 35 2d 31 34 20 trailing.data,.etc...2016-05-14.
32720 20 41 6e 74 6f 6e 69 6f 20 44 69 61 7a 20 44 69 61 7a 20 20 3c 61 6e 74 6f 6e 69 6f 40 67 6e 75 .Antonio.Diaz.Diaz..<antonio@gnu
32740 2e 6f 72 67 3e 0a 0a 09 2a 20 56 65 72 73 69 6f 6e 20 31 2e 31 38 20 72 65 6c 65 61 73 65 64 2e .org>...*.Version.1.18.released.
32760 0a 09 2a 20 4e 65 77 20 6f 70 74 69 6f 6e 20 27 2d 61 2c 20 2d 2d 74 72 61 69 6c 69 6e 67 2d 65 ..*.New.option.'-a,.--trailing-e
32780 72 72 6f 72 27 2e 0a 09 2a 20 44 65 63 6f 6d 70 72 65 73 73 69 6f 6e 20 74 69 6d 65 20 68 61 73 rror'...*.Decompression.time.has
327a0 20 62 65 65 6e 20 72 65 64 75 63 65 64 20 62 79 20 32 25 2e 0a 09 2a 20 64 65 63 6f 64 65 72 2e .been.reduced.by.2%...*.decoder.
327c0 63 63 20 28 76 65 72 69 66 79 5f 74 72 61 69 6c 65 72 29 3a 20 52 65 6d 6f 76 65 20 74 65 73 74 cc.(verify_trailer):.Remove.test
327e0 20 6f 66 20 66 69 6e 61 6c 20 63 6f 64 65 2e 0a 09 2a 20 6d 61 69 6e 2e 63 63 20 28 6d 61 69 6e .of.final.code...*.main.cc.(main
32800 29 3a 20 44 65 6c 65 74 65 20 27 2d 2d 6f 75 74 70 75 74 27 20 66 69 6c 65 20 69 66 20 69 6e 66 ):.Delete.'--output'.file.if.inf
32820 64 20 69 73 20 61 20 74 65 72 6d 69 6e 61 6c 2e 0a 09 2a 20 6d 61 69 6e 2e 63 63 20 28 6d 61 69 d.is.a.terminal...*.main.cc.(mai
32840 6e 29 3a 20 44 6f 6e 27 74 20 75 73 65 20 73 74 64 69 6e 20 6d 6f 72 65 20 74 68 61 6e 20 6f 6e n):.Don't.use.stdin.more.than.on
32860 63 65 2e 0a 09 2a 20 52 65 6d 6f 76 65 20 64 65 63 6f 6d 70 72 65 73 73 69 6f 6e 20 73 75 70 70 ce...*.Remove.decompression.supp
32880 6f 72 74 20 66 6f 72 20 76 65 72 73 69 6f 6e 20 30 20 66 69 6c 65 73 2e 0a 09 2a 20 6c 7a 69 70 ort.for.version.0.files...*.lzip
328a0 2e 74 65 78 69 3a 20 4e 65 77 20 63 68 61 70 74 65 72 20 27 54 72 61 69 6c 69 6e 67 20 64 61 74 .texi:.New.chapter.'Trailing.dat
328c0 61 27 2e 0a 09 2a 20 63 6f 6e 66 69 67 75 72 65 3a 20 41 76 6f 69 64 20 77 61 72 6e 69 6e 67 20 a'...*.configure:.Avoid.warning.
328e0 6f 6e 20 73 6f 6d 65 20 73 68 65 6c 6c 73 20 77 68 65 6e 20 74 65 73 74 69 6e 67 20 66 6f 72 20 on.some.shells.when.testing.for.
32900 67 2b 2b 2e 0a 09 2a 20 4d 61 6b 65 66 69 6c 65 2e 69 6e 3a 20 44 65 74 65 63 74 20 74 68 65 20 g++...*.Makefile.in:.Detect.the.
32920 65 78 69 73 74 65 6e 63 65 20 6f 66 20 69 6e 73 74 61 6c 6c 2d 69 6e 66 6f 2e 0a 09 2a 20 63 68 existence.of.install-info...*.ch
32940 65 63 6b 2e 73 68 3a 20 41 20 50 4f 53 49 58 20 73 68 65 6c 6c 20 69 73 20 72 65 71 75 69 72 65 eck.sh:.A.POSIX.shell.is.require
32960 64 20 74 6f 20 72 75 6e 20 74 68 65 20 74 65 73 74 73 2e 0a 09 2a 20 63 68 65 63 6b 2e 73 68 3a d.to.run.the.tests...*.check.sh:
32980 20 44 6f 6e 27 74 20 63 68 65 63 6b 20 65 72 72 6f 72 20 6d 65 73 73 61 67 65 73 2e 0a 0a 32 30 .Don't.check.error.messages...20
329a0 31 35 2d 30 37 2d 31 32 20 20 41 6e 74 6f 6e 69 6f 20 44 69 61 7a 20 44 69 61 7a 20 20 3c 61 6e 15-07-12..Antonio.Diaz.Diaz..<an
329c0 74 6f 6e 69 6f 40 67 6e 75 2e 6f 72 67 3e 0a 0a 09 2a 20 56 65 72 73 69 6f 6e 20 31 2e 31 37 20 tonio@gnu.org>...*.Version.1.17.
329e0 72 65 6c 65 61 73 65 64 2e 0a 09 2a 20 52 65 6f 72 67 61 6e 69 7a 61 74 69 6f 6e 20 6f 66 20 74 released...*.Reorganization.of.t
32a00 68 65 20 63 6f 6d 70 72 65 73 73 69 6f 6e 20 63 6f 64 65 2e 0a 09 2a 20 6c 7a 69 70 2e 74 65 78 he.compression.code...*.lzip.tex
32a20 69 3a 20 4e 65 77 20 63 68 61 70 74 65 72 20 27 51 75 61 6c 69 74 79 20 61 73 73 75 72 61 6e 63 i:.New.chapter.'Quality.assuranc
32a40 65 27 2e 0a 09 2a 20 4d 61 6b 65 66 69 6c 65 2e 69 6e 3a 20 4e 65 77 20 74 61 72 67 65 74 73 20 e'...*.Makefile.in:.New.targets.
32a60 27 69 6e 73 74 61 6c 6c 2a 2d 63 6f 6d 70 72 65 73 73 27 2e 0a 0a 32 30 31 34 2d 30 38 2d 32 36 'install*-compress'...2014-08-26
32a80 20 20 41 6e 74 6f 6e 69 6f 20 44 69 61 7a 20 44 69 61 7a 20 20 3c 61 6e 74 6f 6e 69 6f 40 67 6e ..Antonio.Diaz.Diaz..<antonio@gn
32aa0 75 2e 6f 72 67 3e 0a 0a 09 2a 20 56 65 72 73 69 6f 6e 20 31 2e 31 36 20 72 65 6c 65 61 73 65 64 u.org>...*.Version.1.16.released
32ac0 2e 0a 09 2a 20 43 6f 6d 70 72 65 73 73 69 6f 6e 20 72 61 74 69 6f 20 6f 66 20 6f 70 74 69 6f 6e ...*.Compression.ratio.of.option
32ae0 20 27 2d 39 27 20 68 61 73 20 62 65 65 6e 20 73 6c 69 67 68 74 6c 79 20 69 6e 63 72 65 61 73 65 .'-9'.has.been.slightly.increase
32b00 64 2e 0a 09 2a 20 43 6f 6d 70 72 65 73 73 69 6f 6e 20 74 69 6d 65 20 68 61 73 20 62 65 65 6e 20 d...*.Compression.time.has.been.
32b20 72 65 64 75 63 65 64 20 62 79 20 34 25 2e 0a 09 2a 20 43 6f 6d 70 72 65 73 73 69 6f 6e 20 74 69 reduced.by.4%...*.Compression.ti
32b40 6d 65 20 6f 66 20 6f 70 74 69 6f 6e 20 27 2d 30 27 20 68 61 73 20 62 65 65 6e 20 72 65 64 75 63 me.of.option.'-0'.has.been.reduc
32b60 65 64 20 62 79 20 32 25 2e 0a 09 2a 20 6d 61 69 6e 2e 63 63 20 28 63 6c 6f 73 65 5f 61 6e 64 5f ed.by.2%...*.main.cc.(close_and_
32b80 73 65 74 5f 70 65 72 6d 69 73 73 69 6f 6e 73 29 3a 20 42 65 68 61 76 65 20 6c 69 6b 65 20 27 63 set_permissions):.Behave.like.'c
32ba0 70 20 2d 70 27 2e 0a 09 2a 20 4d 69 6e 6f 72 20 69 6d 70 72 6f 76 65 6d 65 6e 74 73 2e 0a 09 2a p.-p'...*.Minor.improvements...*
32bc0 20 6c 7a 69 70 2e 74 65 78 69 6e 66 6f 3a 20 52 65 6e 61 6d 65 20 74 6f 20 6c 7a 69 70 2e 74 65 .lzip.texinfo:.Rename.to.lzip.te
32be0 78 69 2e 0a 09 2a 20 43 68 61 6e 67 65 20 6c 69 63 65 6e 73 65 20 74 6f 20 47 50 4c 20 76 65 72 xi...*.Change.license.to.GPL.ver
32c00 73 69 6f 6e 20 32 20 6f 72 20 6c 61 74 65 72 2e 0a 0a 32 30 31 33 2d 30 39 2d 32 30 20 20 41 6e sion.2.or.later...2013-09-20..An
32c20 74 6f 6e 69 6f 20 44 69 61 7a 20 44 69 61 7a 20 20 3c 61 6e 74 6f 6e 69 6f 40 67 6e 75 2e 6f 72 tonio.Diaz.Diaz..<antonio@gnu.or
32c40 67 3e 0a 0a 09 2a 20 56 65 72 73 69 6f 6e 20 31 2e 31 35 20 72 65 6c 65 61 73 65 64 2e 0a 09 2a g>...*.Version.1.15.released...*
32c60 20 53 68 6f 77 20 70 72 6f 67 72 65 73 73 20 6f 66 20 63 6f 6d 70 72 65 73 73 69 6f 6e 20 61 74 .Show.progress.of.compression.at
32c80 20 76 65 72 62 6f 73 69 74 79 20 6c 65 76 65 6c 20 32 20 28 2d 76 76 29 2e 0a 09 2a 20 6d 61 69 .verbosity.level.2.(-vv)...*.mai
32ca0 6e 2e 63 63 20 28 73 68 6f 77 5f 68 65 61 64 65 72 29 3a 20 44 6f 6e 27 74 20 73 68 6f 77 20 68 n.cc.(show_header):.Don't.show.h
32cc0 65 61 64 65 72 20 76 65 72 73 69 6f 6e 2e 0a 09 2a 20 49 67 6e 6f 72 65 20 6f 70 74 69 6f 6e 20 eader.version...*.Ignore.option.
32ce0 27 2d 6e 2c 20 2d 2d 74 68 72 65 61 64 73 27 20 66 6f 72 20 63 6f 6d 70 61 74 69 62 69 6c 69 74 '-n,.--threads'.for.compatibilit
32d00 79 20 77 69 74 68 20 70 6c 7a 69 70 2e 0a 09 2a 20 63 6f 6e 66 69 67 75 72 65 3a 20 4f 70 74 69 y.with.plzip...*.configure:.Opti
32d20 6f 6e 73 20 6e 6f 77 20 61 63 63 65 70 74 20 61 20 73 65 70 61 72 61 74 65 20 61 72 67 75 6d 65 ons.now.accept.a.separate.argume
32d40 6e 74 2e 0a 09 2a 20 6c 7a 69 70 2e 74 65 78 69 6e 66 6f 3a 20 4e 65 77 20 63 68 61 70 74 65 72 nt...*.lzip.texinfo:.New.chapter
32d60 20 27 53 74 72 65 61 6d 20 66 6f 72 6d 61 74 27 20 61 6e 64 20 61 70 70 65 6e 64 69 78 0a 09 20 .'Stream.format'.and.appendix...
32d80 20 27 52 65 66 65 72 65 6e 63 65 20 73 6f 75 72 63 65 20 63 6f 64 65 27 2e 0a 0a 32 30 31 33 2d .'Reference.source.code'...2013-
32da0 30 32 2d 31 37 20 20 41 6e 74 6f 6e 69 6f 20 44 69 61 7a 20 44 69 61 7a 20 20 3c 61 6e 74 5f 64 02-17..Antonio.Diaz.Diaz..<ant_d
32dc0 69 61 7a 40 74 65 6c 65 6c 69 6e 65 2e 65 73 3e 0a 0a 09 2a 20 56 65 72 73 69 6f 6e 20 31 2e 31 iaz@teleline.es>...*.Version.1.1
32de0 34 20 72 65 6c 65 61 73 65 64 2e 0a 09 2a 20 4d 75 6c 74 69 2d 73 74 65 70 20 74 72 69 61 6c 73 4.released...*.Multi-step.trials
32e00 20 68 61 76 65 20 62 65 65 6e 20 69 6d 70 6c 65 6d 65 6e 74 65 64 2e 0a 09 2a 20 43 6f 6d 70 72 .have.been.implemented...*.Compr
32e20 65 73 73 69 6f 6e 20 72 61 74 69 6f 20 68 61 73 20 62 65 65 6e 20 73 6c 69 67 68 74 6c 79 20 69 ession.ratio.has.been.slightly.i
32e40 6e 63 72 65 61 73 65 64 2e 0a 09 2a 20 43 6f 6d 70 72 65 73 73 69 6f 6e 20 74 69 6d 65 20 68 61 ncreased...*.Compression.time.ha
32e60 73 20 62 65 65 6e 20 72 65 64 75 63 65 64 20 62 79 20 35 25 2e 0a 09 2a 20 44 65 63 6f 6d 70 72 s.been.reduced.by.5%...*.Decompr
32e80 65 73 73 69 6f 6e 20 74 69 6d 65 20 68 61 73 20 62 65 65 6e 20 72 65 64 75 63 65 64 20 62 79 20 ession.time.has.been.reduced.by.
32ea0 31 32 25 2e 0a 09 2a 20 4d 61 6b 65 66 69 6c 65 2e 69 6e 3a 20 4e 65 77 20 74 61 72 67 65 74 20 12%...*.Makefile.in:.New.target.
32ec0 27 69 6e 73 74 61 6c 6c 2d 62 69 6e 27 2e 0a 09 2a 20 6d 61 69 6e 2e 63 63 3a 20 55 73 65 20 27 'install-bin'...*.main.cc:.Use.'
32ee0 73 65 74 6d 6f 64 65 27 20 69 6e 73 74 65 61 64 20 6f 66 20 27 5f 73 65 74 6d 6f 64 65 27 20 6f setmode'.instead.of.'_setmode'.o
32f00 6e 20 57 69 6e 64 6f 77 73 20 61 6e 64 20 4f 53 2f 32 2e 0a 09 2a 20 6d 61 69 6e 2e 63 63 3a 20 n.Windows.and.OS/2...*.main.cc:.
32f20 44 65 66 69 6e 65 20 27 73 74 72 74 6f 75 6c 6c 27 20 74 6f 20 27 73 74 64 3a 3a 73 74 72 74 6f Define.'strtoull'.to.'std::strto
32f40 75 6c 27 20 6f 6e 20 57 69 6e 64 6f 77 73 2e 0a 0a 32 30 31 32 2d 30 32 2d 32 34 20 20 41 6e 74 ul'.on.Windows...2012-02-24..Ant
32f60 6f 6e 69 6f 20 44 69 61 7a 20 44 69 61 7a 20 20 3c 61 6e 74 5f 64 69 61 7a 40 74 65 6c 65 6c 69 onio.Diaz.Diaz..<ant_diaz@teleli
32f80 6e 65 2e 65 73 3e 0a 0a 09 2a 20 56 65 72 73 69 6f 6e 20 31 2e 31 33 20 72 65 6c 65 61 73 65 64 ne.es>...*.Version.1.13.released
32fa0 2e 0a 09 2a 20 4c 7a 69 70 72 65 63 6f 76 65 72 20 68 61 73 20 62 65 65 6e 20 6d 6f 76 65 64 20 ...*.Lziprecover.has.been.moved.
32fc0 74 6f 20 69 74 73 20 6f 77 6e 20 70 61 63 6b 61 67 65 2e 0a 09 2a 20 6d 61 69 6e 2e 63 63 20 28 to.its.own.package...*.main.cc.(
32fe0 63 6c 6f 73 65 5f 61 6e 64 5f 73 65 74 5f 70 65 72 6d 69 73 73 69 6f 6e 73 29 3a 20 49 6e 61 62 close_and_set_permissions):.Inab
33000 69 6c 69 74 79 20 74 6f 20 63 68 61 6e 67 65 20 6f 75 74 70 75 74 0a 09 20 20 66 69 6c 65 20 61 ility.to.change.output....file.a
33020 74 74 72 69 62 75 74 65 73 20 68 61 73 20 62 65 65 6e 20 64 6f 77 6e 67 72 61 64 65 64 20 66 72 ttributes.has.been.downgraded.fr
33040 6f 6d 20 65 72 72 6f 72 20 74 6f 20 77 61 72 6e 69 6e 67 2e 0a 09 2a 20 43 6f 6d 70 72 65 73 73 om.error.to.warning...*.Compress
33060 69 6f 6e 20 74 69 6d 65 20 6f 66 20 6f 70 74 69 6f 6e 20 27 2d 30 27 20 68 61 73 20 62 65 65 6e ion.time.of.option.'-0'.has.been
33080 20 72 65 64 75 63 65 64 20 62 79 20 32 25 2e 0a 09 2a 20 52 65 6f 72 67 61 6e 69 7a 61 74 69 6f .reduced.by.2%...*.Reorganizatio
330a0 6e 20 6f 66 20 74 68 65 20 63 6f 6d 70 72 65 73 73 69 6f 6e 20 63 6f 64 65 2e 0a 09 2a 20 53 6d n.of.the.compression.code...*.Sm
330c0 61 6c 6c 20 63 68 61 6e 67 65 20 69 6e 20 27 2d 2d 68 65 6c 70 27 20 6f 75 74 70 75 74 20 61 6e all.change.in.'--help'.output.an
330e0 64 20 6d 61 6e 20 70 61 67 65 2e 0a 09 2a 20 43 68 61 6e 67 65 20 71 75 6f 74 65 20 63 68 61 72 d.man.page...*.Change.quote.char
33100 61 63 74 65 72 73 20 69 6e 20 6d 65 73 73 61 67 65 73 20 61 73 20 61 64 76 69 73 65 64 20 62 79 acters.in.messages.as.advised.by
33120 20 47 4e 55 20 53 74 61 6e 64 61 72 64 73 2e 0a 09 2a 20 63 6f 6e 66 69 67 75 72 65 3a 20 52 65 .GNU.Standards...*.configure:.Re
33140 6e 61 6d 65 20 27 64 61 74 61 64 69 72 27 20 74 6f 20 27 64 61 74 61 72 6f 6f 74 64 69 72 27 2e name.'datadir'.to.'datarootdir'.
33160 0a 09 2a 20 27 75 6e 7a 63 72 61 73 68 2e 63 63 27 20 68 61 73 20 62 65 65 6e 20 6d 6f 76 65 64 ..*.'unzcrash.cc'.has.been.moved
33180 20 74 6f 20 70 61 63 6b 61 67 65 20 27 6c 7a 69 70 72 65 63 6f 76 65 72 27 2e 0a 0a 32 30 31 31 .to.package.'lziprecover'...2011
331a0 2d 30 34 2d 33 30 20 20 41 6e 74 6f 6e 69 6f 20 44 69 61 7a 20 44 69 61 7a 20 20 3c 61 6e 74 5f -04-30..Antonio.Diaz.Diaz..<ant_
331c0 64 69 61 7a 40 74 65 6c 65 6c 69 6e 65 2e 65 73 3e 0a 0a 09 2a 20 56 65 72 73 69 6f 6e 20 31 2e diaz@teleline.es>...*.Version.1.
331e0 31 32 20 72 65 6c 65 61 73 65 64 2e 0a 09 2a 20 4e 65 77 20 6f 70 74 69 6f 6e 20 27 2d 46 2c 20 12.released...*.New.option.'-F,.
33200 2d 2d 72 65 63 6f 6d 70 72 65 73 73 27 2e 0a 09 2a 20 65 6e 63 6f 64 65 72 2e 68 20 28 75 70 64 --recompress'...*.encoder.h.(upd
33220 61 74 65 5f 70 72 69 63 65 73 29 3a 20 55 70 64 61 74 65 20 68 69 67 68 20 6c 65 6e 67 74 68 20 ate_prices):.Update.high.length.
33240 73 79 6d 62 6f 6c 20 70 72 69 63 65 73 0a 09 20 20 69 6e 64 65 70 65 6e 64 65 6e 74 6c 79 20 6f symbol.prices....independently.o
33260 66 20 74 68 65 20 76 61 6c 75 65 20 6f 66 20 27 70 6f 73 5f 73 74 61 74 65 27 2e 20 54 68 69 73 f.the.value.of.'pos_state'..This
33280 20 67 69 76 65 73 20 62 65 74 74 65 72 0a 09 20 20 63 6f 6d 70 72 65 73 73 69 6f 6e 20 66 6f 72 .gives.better....compression.for
332a0 20 6c 61 72 67 65 20 76 61 6c 75 65 73 20 6f 66 20 27 2d 2d 6d 61 74 63 68 2d 6c 65 6e 67 74 68 .large.values.of.'--match-length
332c0 27 20 77 69 74 68 6f 75 74 20 62 65 69 6e 67 0a 09 20 20 73 6c 6f 77 65 72 2e 0a 09 2a 20 65 6e '.without.being....slower...*.en
332e0 63 6f 64 65 72 2e 68 2c 20 65 6e 63 6f 64 65 72 2e 63 63 3a 20 4f 70 74 69 6d 69 7a 65 20 70 61 coder.h,.encoder.cc:.Optimize.pa
33300 69 72 20 70 72 69 63 65 20 63 61 6c 63 75 6c 61 74 69 6f 6e 73 2c 20 72 65 64 75 63 69 6e 67 0a ir.price.calculations,.reducing.
33320 09 20 20 63 6f 6d 70 72 65 73 73 69 6f 6e 20 74 69 6d 65 20 66 6f 72 20 6c 61 72 67 65 20 76 61 ...compression.time.for.large.va
33340 6c 75 65 73 20 6f 66 20 27 2d 2d 6d 61 74 63 68 2d 6c 65 6e 67 74 68 27 20 62 79 20 75 70 20 74 lues.of.'--match-length'.by.up.t
33360 6f 20 36 25 2e 0a 09 2a 20 43 6f 6d 70 72 65 73 73 69 6f 6e 20 74 69 6d 65 20 6f 66 20 6f 70 74 o.6%...*.Compression.time.of.opt
33380 69 6f 6e 20 27 2d 30 27 20 68 61 73 20 62 65 65 6e 20 72 65 64 75 63 65 64 20 62 79 20 32 25 2e ion.'-0'.has.been.reduced.by.2%.
333a0 0a 09 2a 20 6d 61 69 6e 2e 63 63 20 28 64 65 63 6f 6d 70 72 65 73 73 29 3a 20 50 72 69 6e 74 20 ..*.main.cc.(decompress):.Print.
333c0 6f 6e 6c 79 20 6f 6e 65 20 73 74 61 74 75 73 20 6c 69 6e 65 20 66 6f 72 20 65 61 63 68 0a 09 20 only.one.status.line.for.each...
333e0 20 6d 75 6c 74 69 6d 65 6d 62 65 72 20 66 69 6c 65 20 77 68 65 6e 20 6f 6e 6c 79 20 6f 6e 65 20 .multimember.file.when.only.one.
33400 27 2d 76 27 20 69 73 20 73 70 65 63 69 66 69 65 64 2e 0a 09 2a 20 6d 61 69 6e 2e 63 63 20 28 64 '-v'.is.specified...*.main.cc.(d
33420 65 63 6f 6d 70 72 65 73 73 29 3a 20 50 72 69 6e 74 20 75 70 20 74 6f 20 36 20 62 79 74 65 73 20 ecompress):.Print.up.to.6.bytes.
33440 6f 66 20 74 72 61 69 6c 69 6e 67 20 64 61 74 61 0a 09 20 20 77 68 65 6e 20 27 2d 76 76 76 76 27 of.trailing.data....when.'-vvvv'
33460 20 69 73 20 73 70 65 63 69 66 69 65 64 2e 0a 09 2a 20 6d 61 69 6e 2e 63 63 20 28 6f 70 65 6e 5f .is.specified...*.main.cc.(open_
33480 69 6e 73 74 72 65 61 6d 29 3a 20 44 6f 6e 27 74 20 73 68 6f 77 20 74 68 65 20 6d 65 73 73 61 67 instream):.Don't.show.the.messag
334a0 65 0a 09 20 20 22 20 61 6e 64 20 27 2d 2d 73 74 64 6f 75 74 27 20 77 61 73 20 6e 6f 74 20 73 70 e....".and.'--stdout'.was.not.sp
334c0 65 63 69 66 69 65 64 22 20 66 6f 72 20 64 69 72 65 63 74 6f 72 69 65 73 2c 20 65 74 63 2e 0a 09 ecified".for.directories,.etc...
334e0 2a 20 6c 7a 69 70 72 65 63 6f 76 65 72 2e 63 63 3a 20 49 66 20 27 2d 76 27 20 69 73 20 6e 6f 74 *.lziprecover.cc:.If.'-v'.is.not
33500 20 73 70 65 63 69 66 69 65 64 20 73 68 6f 77 20 65 72 72 6f 72 73 20 6f 6e 6c 79 2e 0a 09 2a 20 .specified.show.errors.only...*.
33520 75 6e 7a 63 72 61 73 68 2e 63 63 3a 20 55 73 65 20 41 72 67 5f 70 61 72 73 65 72 2e 0a 09 2a 20 unzcrash.cc:.Use.Arg_parser...*.
33540 75 6e 7a 63 72 61 73 68 2e 63 63 3a 20 4e 65 77 20 6f 70 74 69 6f 6e 73 20 27 2d 62 2c 20 2d 2d unzcrash.cc:.New.options.'-b,.--
33560 62 69 74 73 27 2c 20 27 2d 70 2c 20 2d 2d 70 6f 73 69 74 69 6f 6e 27 2c 20 61 6e 64 0a 09 20 20 bits',.'-p,.--position',.and....
33580 27 2d 73 2c 20 2d 2d 73 69 7a 65 27 2e 0a 0a 32 30 31 30 2d 30 39 2d 31 36 20 20 41 6e 74 6f 6e '-s,.--size'...2010-09-16..Anton
335a0 69 6f 20 44 69 61 7a 20 44 69 61 7a 20 20 3c 61 6e 74 5f 64 69 61 7a 40 74 65 6c 65 6c 69 6e 65 io.Diaz.Diaz..<ant_diaz@teleline
335c0 2e 65 73 3e 0a 0a 09 2a 20 56 65 72 73 69 6f 6e 20 31 2e 31 31 20 72 65 6c 65 61 73 65 64 2e 0a .es>...*.Version.1.11.released..
335e0 09 2a 20 4e 65 77 20 6f 70 74 69 6f 6e 20 27 2d 30 27 2c 20 77 68 69 63 68 20 70 72 6f 64 75 63 .*.New.option.'-0',.which.produc
33600 65 73 20 61 20 63 6f 6d 70 72 65 73 73 69 6f 6e 20 73 70 65 65 64 20 61 6e 64 20 72 61 74 69 6f es.a.compression.speed.and.ratio
33620 0a 09 20 20 63 6f 6d 70 61 72 61 62 6c 65 20 74 6f 20 74 68 6f 73 65 20 6f 66 20 27 67 7a 69 70 ....comparable.to.those.of.'gzip
33640 20 2d 39 27 2e 0a 09 2a 20 66 61 73 74 5f 65 6e 63 6f 64 65 72 2e 68 2c 20 66 61 73 74 5f 65 6e .-9'...*.fast_encoder.h,.fast_en
33660 63 6f 64 65 72 2e 63 63 3a 20 4e 65 77 20 66 69 6c 65 73 2e 0a 09 2a 20 6d 61 69 6e 2e 63 63 3a coder.cc:.New.files...*.main.cc:
33680 20 4d 61 74 63 68 20 6c 65 6e 67 74 68 20 6c 69 6d 69 74 20 73 65 74 20 62 79 20 6f 70 74 69 6f .Match.length.limit.set.by.optio
336a0 6e 73 20 2d 31 20 74 6f 20 2d 38 20 68 61 73 20 62 65 65 6e 0a 09 20 20 72 65 64 75 63 65 64 20 ns.-1.to.-8.has.been....reduced.
336c0 74 6f 20 65 78 74 65 6e 64 20 72 61 6e 67 65 20 6f 66 20 75 73 65 20 74 6f 77 61 72 64 73 20 67 to.extend.range.of.use.towards.g
336e0 7a 69 70 2e 20 4c 6f 77 65 72 20 6e 75 6d 62 65 72 73 20 6e 6f 77 0a 09 20 20 63 6f 6d 70 72 65 zip..Lower.numbers.now....compre
33700 73 73 20 6c 65 73 73 20 62 75 74 20 66 61 73 74 65 72 2e 20 28 2d 31 20 6e 6f 77 20 74 61 6b 65 ss.less.but.faster..(-1.now.take
33720 73 20 34 33 25 20 6c 65 73 73 20 74 69 6d 65 20 66 6f 72 20 6f 6e 6c 79 20 32 30 25 0a 09 20 20 s.43%.less.time.for.only.20%....
33740 6c 61 72 67 65 72 20 63 6f 6d 70 72 65 73 73 65 64 20 73 69 7a 65 29 2e 0a 09 20 20 45 78 69 74 larger.compressed.size).....Exit
33760 20 77 69 74 68 20 73 74 61 74 75 73 20 31 20 69 66 20 61 6e 79 20 6f 75 74 70 75 74 20 66 69 6c .with.status.1.if.any.output.fil
33780 65 20 65 78 69 73 74 73 20 61 6e 64 20 69 73 20 73 6b 69 70 70 65 64 2e 0a 09 2a 20 43 6f 6d 70 e.exists.and.is.skipped...*.Comp
337a0 72 65 73 73 69 6f 6e 20 72 61 74 69 6f 20 6f 66 20 6f 70 74 69 6f 6e 20 27 2d 39 27 20 68 61 73 ression.ratio.of.option.'-9'.has
337c0 20 62 65 65 6e 20 73 6c 69 67 68 74 6c 79 20 69 6e 63 72 65 61 73 65 64 2e 0a 09 2a 20 6c 7a 69 .been.slightly.increased...*.lzi
337e0 70 72 65 63 6f 76 65 72 2e 63 63 3a 20 4e 65 77 20 6f 70 74 69 6f 6e 20 27 2d 6d 2c 20 2d 2d 6d precover.cc:.New.option.'-m,.--m
33800 65 72 67 65 27 2c 20 77 68 69 63 68 20 74 72 69 65 73 20 74 6f 20 70 72 6f 64 75 63 65 20 61 0a erge',.which.tries.to.produce.a.
33820 09 20 20 63 6f 72 72 65 63 74 20 66 69 6c 65 20 62 79 20 6d 65 72 67 69 6e 67 20 74 68 65 20 67 ...correct.file.by.merging.the.g
33840 6f 6f 64 20 70 61 72 74 73 20 6f 66 20 74 77 6f 20 6f 72 20 6d 6f 72 65 20 64 61 6d 61 67 65 64 ood.parts.of.two.or.more.damaged
33860 20 63 6f 70 69 65 73 2e 0a 09 2a 20 6c 7a 69 70 72 65 63 6f 76 65 72 2e 63 63 3a 20 4e 65 77 20 .copies...*.lziprecover.cc:.New.
33880 6f 70 74 69 6f 6e 20 27 2d 52 2c 20 2d 2d 72 65 70 61 69 72 27 20 66 6f 72 20 72 65 70 61 69 72 option.'-R,.--repair'.for.repair
338a0 69 6e 67 20 61 0a 09 20 20 31 2d 62 79 74 65 20 65 72 72 6f 72 20 69 6e 20 73 69 6e 67 6c 65 2d ing.a....1-byte.error.in.single-
338c0 6d 65 6d 62 65 72 20 66 69 6c 65 73 2e 0a 09 2a 20 64 65 63 6f 64 65 72 2e 63 63 20 28 64 65 63 member.files...*.decoder.cc.(dec
338e0 6f 64 65 5f 6d 65 6d 62 65 72 29 3a 20 44 65 74 65 63 74 20 66 69 6c 65 20 65 72 72 6f 72 73 20 ode_member):.Detect.file.errors.
33900 65 61 72 6c 69 65 72 20 74 6f 20 69 6d 70 72 6f 76 65 0a 09 20 20 65 66 66 69 63 69 65 6e 63 79 earlier.to.improve....efficiency
33920 20 6f 66 20 6c 7a 69 70 72 65 63 6f 76 65 72 27 73 20 6e 65 77 20 72 65 70 61 69 72 20 63 61 70 .of.lziprecover's.new.repair.cap
33940 61 62 69 6c 69 74 79 2e 0a 09 20 20 54 68 69 73 20 63 68 61 6e 67 65 20 61 6c 73 6f 20 70 72 65 ability.....This.change.also.pre
33960 76 65 6e 74 73 20 28 68 61 72 6d 6c 65 73 73 29 20 61 63 63 65 73 73 20 74 6f 20 75 6e 69 6e 69 vents.(harmless).access.to.unini
33980 74 69 61 6c 69 7a 65 64 0a 09 20 20 6d 65 6d 6f 72 79 20 77 68 65 6e 20 64 65 63 6f 6d 70 72 65 tialized....memory.when.decompre
339a0 73 73 69 6e 67 20 61 20 63 6f 72 72 75 70 74 20 66 69 6c 65 2e 0a 09 2a 20 6c 7a 69 70 72 65 63 ssing.a.corrupt.file...*.lziprec
339c0 6f 76 65 72 2e 63 63 3a 20 4e 65 77 20 6f 70 74 69 6f 6e 73 20 27 2d 66 2c 20 2d 2d 66 6f 72 63 over.cc:.New.options.'-f,.--forc
339e0 65 27 20 61 6e 64 20 27 2d 6f 2c 20 2d 2d 6f 75 74 70 75 74 27 2e 0a 09 2a 20 6c 7a 69 70 72 65 e'.and.'-o,.--output'...*.lzipre
33a00 63 6f 76 65 72 2e 63 63 3a 20 4e 65 77 20 6f 70 74 69 6f 6e 20 27 2d 73 2c 20 2d 2d 73 70 6c 69 cover.cc:.New.option.'-s,.--spli
33a20 74 27 20 74 6f 20 73 65 6c 65 63 74 20 74 68 65 20 75 6e 74 69 6c 0a 09 20 20 6e 6f 77 20 6f 6e t'.to.select.the.until....now.on
33a40 6c 79 20 6f 70 65 72 61 74 69 6f 6e 20 6f 66 20 73 70 6c 69 74 74 69 6e 67 20 6d 75 6c 74 69 6d ly.operation.of.splitting.multim
33a60 65 6d 62 65 72 20 66 69 6c 65 73 2e 0a 09 2a 20 6c 7a 69 70 72 65 63 6f 76 65 72 2e 63 63 3a 20 ember.files...*.lziprecover.cc:.
33a80 49 66 20 6e 6f 20 6f 70 65 72 61 74 69 6f 6e 20 69 73 20 73 70 65 63 69 66 69 65 64 2c 20 77 61 If.no.operation.is.specified,.wa
33aa0 72 6e 20 74 68 65 20 75 73 65 72 20 61 6e 64 20 64 6f 0a 09 20 20 6e 6f 74 68 69 6e 67 2e 0a 09 rn.the.user.and.do....nothing...
33ac0 2a 20 6d 61 69 6e 2e 63 63 3a 20 46 69 78 20 77 61 72 6e 69 6e 67 20 61 62 6f 75 74 20 66 63 68 *.main.cc:.Fix.warning.about.fch
33ae0 6f 77 6e 27 73 20 72 65 74 75 72 6e 20 76 61 6c 75 65 20 62 65 69 6e 67 20 69 67 6e 6f 72 65 64 own's.return.value.being.ignored
33b00 2e 0a 09 2a 20 64 65 63 6f 64 65 72 2e 63 63 3a 20 27 2d 74 76 76 76 76 27 20 6e 6f 77 20 61 6c ...*.decoder.cc:.'-tvvvv'.now.al
33b20 73 6f 20 73 68 6f 77 73 20 63 6f 6d 70 72 65 73 73 69 6f 6e 20 72 61 74 69 6f 2e 0a 09 2a 20 6d so.shows.compression.ratio...*.m
33b40 61 69 6e 2e 63 63 3a 20 53 65 74 20 73 74 64 69 6e 2f 73 74 64 6f 75 74 20 69 6e 20 62 69 6e 61 ain.cc:.Set.stdin/stdout.in.bina
33b60 72 79 20 6d 6f 64 65 20 6f 6e 20 4d 53 56 43 20 61 6e 64 20 4f 53 32 2e 0a 09 2a 20 6c 7a 69 70 ry.mode.on.MSVC.and.OS2...*.lzip
33b80 2e 74 65 78 69 6e 66 6f 3a 20 4e 65 77 20 65 78 61 6d 70 6c 65 73 2e 0a 09 2a 20 74 65 73 74 73 .texinfo:.New.examples...*.tests
33ba0 75 69 74 65 3a 20 52 65 6e 61 6d 65 20 27 74 65 73 74 31 27 20 74 6f 20 27 74 65 73 74 2e 74 78 uite:.Rename.'test1'.to.'test.tx
33bc0 74 27 2e 20 4e 65 77 20 74 65 73 74 73 2e 0a 09 2a 20 4d 61 74 63 68 66 69 6e 64 65 72 20 74 79 t'..New.tests...*.Matchfinder.ty
33be0 70 65 73 20 48 43 34 20 28 34 20 62 79 74 65 73 20 68 61 73 68 2d 63 68 61 69 6e 29 20 61 6e 64 pes.HC4.(4.bytes.hash-chain).and
33c00 20 48 54 34 20 28 34 20 62 79 74 65 73 0a 09 20 20 68 61 73 68 2d 74 61 62 6c 65 29 20 68 61 76 .HT4.(4.bytes....hash-table).hav
33c20 65 20 62 65 65 6e 20 74 65 73 74 65 64 20 61 6e 64 20 66 6f 75 6e 64 20 6e 6f 20 62 65 74 74 65 e.been.tested.and.found.no.bette
33c40 72 20 74 68 61 6e 20 74 68 65 20 63 75 72 72 65 6e 74 0a 09 20 20 42 54 34 2e 0a 0a 32 30 31 30 r.than.the.current....BT4...2010
33c60 2d 30 34 2d 30 35 20 20 41 6e 74 6f 6e 69 6f 20 44 69 61 7a 20 44 69 61 7a 20 20 3c 61 6e 74 5f -04-05..Antonio.Diaz.Diaz..<ant_
33c80 64 69 61 7a 40 74 65 6c 65 6c 69 6e 65 2e 65 73 3e 0a 0a 09 2a 20 56 65 72 73 69 6f 6e 20 31 2e diaz@teleline.es>...*.Version.1.
33ca0 31 30 20 72 65 6c 65 61 73 65 64 2e 0a 09 2a 20 64 65 63 6f 64 65 72 2e 68 3a 20 49 6e 70 75 74 10.released...*.decoder.h:.Input
33cc0 5f 62 75 66 66 65 72 20 69 6e 74 65 67 72 61 74 65 64 20 69 6e 20 52 61 6e 67 65 5f 64 65 63 6f _buffer.integrated.in.Range_deco
33ce0 64 65 72 2e 0a 09 2a 20 6d 61 69 6e 2e 63 63 3a 20 46 69 6c 65 20 73 70 65 63 69 66 69 65 64 20 der...*.main.cc:.File.specified.
33d00 77 69 74 68 20 6f 70 74 69 6f 6e 20 27 2d 6f 27 20 69 73 20 6e 6f 77 20 63 72 65 61 74 65 64 20 with.option.'-o'.is.now.created.
33d20 77 69 74 68 20 6d 6f 64 65 0a 09 20 20 30 36 36 36 20 69 66 20 75 6d 61 73 6b 20 61 6c 6c 6f 77 with.mode....0666.if.umask.allow
33d40 73 20 69 74 2c 20 64 65 6c 65 74 65 64 20 69 66 20 69 6e 74 65 72 72 75 70 74 65 64 20 62 79 20 s.it,.deleted.if.interrupted.by.
33d60 75 73 65 72 2e 0a 09 2a 20 6d 61 69 6e 2e 63 63 3a 20 4e 65 77 20 63 6f 6e 73 74 61 6e 74 20 27 user...*.main.cc:.New.constant.'
33d80 6f 5f 62 69 6e 61 72 79 27 2e 0a 09 2a 20 6d 61 69 6e 2e 63 63 3a 20 44 69 63 74 69 6f 6e 61 72 o_binary'...*.main.cc:.Dictionar
33da0 79 20 73 69 7a 65 20 66 6f 72 20 6f 70 74 69 6f 6e 73 20 2d 32 2c 20 2d 33 2c 20 2d 34 20 61 6e y.size.for.options.-2,.-3,.-4.an
33dc0 64 20 2d 38 20 68 61 73 20 62 65 65 6e 0a 09 20 20 63 68 61 6e 67 65 64 20 74 6f 20 69 6d 70 72 d.-8.has.been....changed.to.impr
33de0 6f 76 65 20 6c 69 6e 65 61 72 69 74 79 20 6f 66 20 63 6f 6d 70 72 65 73 73 65 64 20 73 69 7a 65 ove.linearity.of.compressed.size
33e00 73 2e 0a 09 2a 20 6c 7a 69 70 2e 68 3a 20 46 69 78 20 77 61 72 6e 69 6e 67 73 20 70 72 6f 64 75 s...*.lzip.h:.Fix.warnings.produ
33e20 63 65 64 20 62 79 20 6f 76 65 72 2d 6f 70 74 69 6d 69 7a 61 74 69 6f 6e 20 28 2d 4f 33 29 2e 0a ced.by.over-optimization.(-O3)..
33e40 09 2a 20 4d 61 6b 65 66 69 6c 65 2e 69 6e 3a 20 41 64 64 20 71 75 6f 74 65 73 20 74 6f 20 64 69 .*.Makefile.in:.Add.quotes.to.di
33e60 72 65 63 74 6f 72 79 20 6e 61 6d 65 73 2e 0a 0a 32 30 31 30 2d 30 31 2d 31 37 20 20 41 6e 74 6f rectory.names...2010-01-17..Anto
33e80 6e 69 6f 20 44 69 61 7a 20 44 69 61 7a 20 20 3c 61 6e 74 5f 64 69 61 7a 40 74 65 6c 65 6c 69 6e nio.Diaz.Diaz..<ant_diaz@telelin
33ea0 65 2e 65 73 3e 0a 0a 09 2a 20 56 65 72 73 69 6f 6e 20 31 2e 39 20 72 65 6c 65 61 73 65 64 2e 0a e.es>...*.Version.1.9.released..
33ec0 09 2a 20 6d 61 69 6e 2e 63 63 20 28 6d 61 69 6e 29 3a 20 52 65 74 75 72 6e 20 61 74 20 6c 65 61 .*.main.cc.(main):.Return.at.lea
33ee0 73 74 20 31 20 69 66 20 63 6c 6f 73 69 6e 67 20 73 74 64 6f 75 74 20 66 61 69 6c 73 2e 0a 09 2a st.1.if.closing.stdout.fails...*
33f00 20 4d 61 6b 65 66 69 6c 65 2e 69 6e 3a 20 41 64 64 20 6f 70 74 69 6f 6e 20 27 2d 2d 6e 61 6d 65 .Makefile.in:.Add.option.'--name
33f20 27 20 74 6f 20 68 65 6c 70 32 6d 61 6e 20 69 6e 76 6f 63 61 74 69 6f 6e 2e 0a 09 2a 20 63 68 65 '.to.help2man.invocation...*.che
33f40 63 6b 2e 73 68 3a 20 55 73 65 20 27 74 65 73 74 31 27 20 69 6e 73 74 65 61 64 20 6f 66 20 27 43 ck.sh:.Use.'test1'.instead.of.'C
33f60 4f 50 59 49 4e 47 27 20 66 6f 72 20 74 65 73 74 69 6e 67 2e 0a 0a 32 30 30 39 2d 30 39 2d 30 32 OPYING'.for.testing...2009-09-02
33f80 20 20 41 6e 74 6f 6e 69 6f 20 44 69 61 7a 20 44 69 61 7a 20 20 3c 61 6e 74 5f 64 69 61 7a 40 74 ..Antonio.Diaz.Diaz..<ant_diaz@t
33fa0 65 6c 65 6c 69 6e 65 2e 65 73 3e 0a 0a 09 2a 20 56 65 72 73 69 6f 6e 20 31 2e 38 20 72 65 6c 65 eleline.es>...*.Version.1.8.rele
33fc0 61 73 65 64 2e 0a 09 2a 20 43 6f 6d 70 72 65 73 73 69 6f 6e 20 74 69 6d 65 20 68 61 73 20 62 65 ased...*.Compression.time.has.be
33fe0 65 6e 20 72 65 64 75 63 65 64 20 62 79 20 34 25 2e 0a 09 2a 20 4c 7a 64 69 66 66 20 61 6e 64 20 en.reduced.by.4%...*.Lzdiff.and.
34000 6c 7a 67 72 65 70 20 68 61 76 65 20 62 65 65 6e 20 6d 6f 76 65 64 20 74 6f 20 74 68 65 20 6e 65 lzgrep.have.been.moved.to.the.ne
34020 77 20 70 61 63 6b 61 67 65 20 7a 75 74 69 6c 73 2e 0a 09 2a 20 46 69 78 20 77 61 72 6e 69 6e 67 w.package.zutils...*.Fix.warning
34040 73 20 6f 6e 20 73 79 73 74 65 6d 73 20 77 68 65 72 65 20 75 69 6e 74 33 32 5f 74 20 21 3d 20 75 s.on.systems.where.uint32_t.!=.u
34060 6e 73 69 67 6e 65 64 20 69 6e 74 2e 0a 0a 32 30 30 39 2d 30 36 2d 32 35 20 20 41 6e 74 6f 6e 69 nsigned.int...2009-06-25..Antoni
34080 6f 20 44 69 61 7a 20 44 69 61 7a 20 20 3c 61 6e 74 5f 64 69 61 7a 40 74 65 6c 65 6c 69 6e 65 2e o.Diaz.Diaz..<ant_diaz@teleline.
340a0 65 73 3e 0a 0a 09 2a 20 56 65 72 73 69 6f 6e 20 31 2e 37 20 72 65 6c 65 61 73 65 64 2e 0a 09 2a es>...*.Version.1.7.released...*
340c0 20 64 65 63 6f 64 65 72 2e 68 20 28 63 6f 70 79 5f 62 6c 6f 63 6b 29 3a 20 46 69 78 20 6d 65 6d .decoder.h.(copy_block):.Fix.mem
340e0 63 70 79 20 6f 76 65 72 6c 61 70 20 69 6e 74 72 6f 64 75 63 65 64 20 69 6e 20 31 2e 36 2e 0a 0a cpy.overlap.introduced.in.1.6...
34100 32 30 30 39 2d 30 36 2d 32 32 20 20 41 6e 74 6f 6e 69 6f 20 44 69 61 7a 20 44 69 61 7a 20 20 3c 2009-06-22..Antonio.Diaz.Diaz..<
34120 61 6e 74 5f 64 69 61 7a 40 74 65 6c 65 6c 69 6e 65 2e 65 73 3e 0a 0a 09 2a 20 56 65 72 73 69 6f ant_diaz@teleline.es>...*.Versio
34140 6e 20 31 2e 36 20 72 65 6c 65 61 73 65 64 2e 0a 09 2a 20 44 65 63 6f 6d 70 72 65 73 73 69 6f 6e n.1.6.released...*.Decompression
34160 20 74 69 6d 65 20 68 61 73 20 62 65 65 6e 20 72 65 64 75 63 65 64 20 62 79 20 31 37 25 2e 0a 09 .time.has.been.reduced.by.17%...
34180 2a 20 41 64 64 20 64 65 63 6f 6d 70 72 65 73 73 69 6f 6e 20 73 75 70 70 6f 72 74 20 66 6f 72 20 *.Add.decompression.support.for.
341a0 53 79 6e 63 20 46 6c 75 73 68 20 6d 61 72 6b 65 72 2e 0a 09 2a 20 41 64 64 20 73 75 70 70 6f 72 Sync.Flush.marker...*.Add.suppor
341c0 74 20 66 6f 72 20 74 68 65 20 65 78 74 65 6e 73 69 6f 6e 20 27 2e 74 62 7a 27 20 74 6f 20 6c 7a t.for.the.extension.'.tbz'.to.lz
341e0 64 69 66 66 20 61 6e 64 20 6c 7a 67 72 65 70 2e 0a 09 2a 20 41 64 64 20 6d 61 6e 20 70 61 67 65 diff.and.lzgrep...*.Add.man.page
34200 73 20 66 6f 72 20 6c 7a 64 69 66 66 2c 20 6c 7a 67 72 65 70 20 61 6e 64 20 6c 7a 69 70 72 65 63 s.for.lzdiff,.lzgrep.and.lziprec
34220 6f 76 65 72 2e 0a 09 2a 20 65 6e 63 6f 64 65 72 2e 63 63 20 28 4d 61 74 63 68 66 69 6e 64 65 72 over...*.encoder.cc.(Matchfinder
34240 29 3a 20 52 65 64 75 63 65 20 6d 65 6d 6f 72 79 20 75 73 65 20 74 6f 20 39 78 20 69 66 20 69 6e ):.Reduce.memory.use.to.9x.if.in
34260 70 75 74 20 66 69 6c 65 20 69 73 0a 09 20 20 73 6d 61 6c 6c 65 72 20 74 68 61 6e 20 64 69 63 74 put.file.is....smaller.than.dict
34280 69 6f 6e 61 72 79 20 73 69 7a 65 20 6c 69 6d 69 74 2e 0a 09 2a 20 64 65 63 6f 64 65 72 2e 63 63 ionary.size.limit...*.decoder.cc
342a0 3a 20 41 64 64 20 65 78 74 72 61 20 66 6c 75 73 68 20 63 61 6c 6c 73 20 74 6f 20 69 6d 70 72 6f :.Add.extra.flush.calls.to.impro
342c0 76 65 20 70 61 72 74 69 61 6c 20 64 65 63 6f 6d 70 72 65 73 73 69 6f 6e 0a 09 20 20 6f 66 20 63 ve.partial.decompression....of.c
342e0 6f 72 72 75 70 74 20 66 69 6c 65 73 2e 0a 09 2a 20 27 2d 2d 74 65 73 74 27 20 6e 6f 20 6c 6f 6e orrupt.files...*.'--test'.no.lon
34300 67 65 72 20 6e 65 65 64 73 20 27 2f 64 65 76 2f 6e 75 6c 6c 27 2e 0a 09 2a 20 52 65 6d 6f 76 65 ger.needs.'/dev/null'...*.Remove
34320 20 73 6f 6d 65 20 27 62 61 73 68 69 73 6d 73 27 20 66 72 6f 6d 20 6c 7a 64 69 66 66 20 61 6e 64 .some.'bashisms'.from.lzdiff.and
34340 20 6c 7a 67 72 65 70 2e 0a 09 2a 20 44 69 63 74 69 6f 6e 61 72 79 20 73 69 7a 65 20 66 6f 72 20 .lzgrep...*.Dictionary.size.for.
34360 6f 70 74 69 6f 6e 73 20 27 2d 31 27 20 74 6f 20 27 2d 34 27 20 68 61 73 20 62 65 65 6e 20 63 68 options.'-1'.to.'-4'.has.been.ch
34380 61 6e 67 65 64 2e 0a 09 2a 20 6d 61 69 6e 2e 63 63 20 28 73 69 67 6e 61 6c 5f 68 61 6e 64 6c 65 anged...*.main.cc.(signal_handle
343a0 72 29 3a 20 44 65 63 6c 61 72 65 20 61 73 20 27 65 78 74 65 72 6e 20 22 43 22 27 2e 0a 09 2a 20 r):.Declare.as.'extern."C"'...*.
343c0 4d 61 6b 65 66 69 6c 65 2e 69 6e 3a 20 45 78 74 72 61 20 66 69 6c 65 73 20 61 72 65 20 6e 6f 77 Makefile.in:.Extra.files.are.now
343e0 20 69 6e 73 74 61 6c 6c 65 64 20 62 79 20 64 65 66 61 75 6c 74 2e 0a 09 2a 20 63 68 65 63 6b 2e .installed.by.default...*.check.
34400 73 68 3a 20 54 65 73 74 20 6c 7a 69 70 72 65 63 6f 76 65 72 2e 0a 09 2a 20 41 64 64 20 27 65 78 sh:.Test.lziprecover...*.Add.'ex
34420 70 6f 72 74 20 4c 43 5f 41 4c 4c 3d 43 27 20 74 6f 20 61 6c 6c 20 73 63 72 69 70 74 73 2e 0a 0a port.LC_ALL=C'.to.all.scripts...
34440 32 30 30 39 2d 30 34 2d 31 32 20 20 41 6e 74 6f 6e 69 6f 20 44 69 61 7a 20 44 69 61 7a 20 20 3c 2009-04-12..Antonio.Diaz.Diaz..<
34460 61 6e 74 5f 64 69 61 7a 40 74 65 6c 65 6c 69 6e 65 2e 65 73 3e 0a 0a 09 2a 20 56 65 72 73 69 6f ant_diaz@teleline.es>...*.Versio
34480 6e 20 31 2e 35 20 72 65 6c 65 61 73 65 64 2e 0a 09 2a 20 6c 7a 69 70 2e 68 3a 20 49 6d 70 6c 65 n.1.5.released...*.lzip.h:.Imple
344a0 6d 65 6e 74 20 63 6f 64 65 64 20 64 69 63 74 69 6f 6e 61 72 79 20 73 69 7a 65 20 69 6e 20 4c 7a ment.coded.dictionary.size.in.Lz
344c0 69 70 5f 68 65 61 64 65 72 2e 0a 09 2a 20 46 69 78 20 73 6f 6d 65 20 69 6e 63 6c 75 64 65 73 20 ip_header...*.Fix.some.includes.
344e0 74 68 61 74 20 70 72 65 76 65 6e 74 65 64 20 63 6f 6d 70 69 6c 61 74 69 6f 6e 20 77 69 74 68 20 that.prevented.compilation.with.
34500 47 43 43 20 34 2e 34 2e 0a 09 2a 20 27 6d 65 6d 62 65 72 5f 73 69 7a 65 27 20 61 6e 64 20 27 76 GCC.4.4...*.'member_size'.and.'v
34520 6f 6c 75 6d 65 5f 73 69 7a 65 27 20 61 72 65 20 6e 6f 77 20 61 63 63 75 72 61 74 65 20 6c 69 6d olume_size'.are.now.accurate.lim
34540 69 74 73 2e 0a 09 2a 20 43 6f 6d 70 72 65 73 73 69 6f 6e 20 73 70 65 65 64 20 68 61 73 20 62 65 its...*.Compression.speed.has.be
34560 65 6e 20 69 6d 70 72 6f 76 65 64 2e 0a 09 2a 20 49 6d 70 6c 65 6d 65 6e 74 20 62 74 34 20 74 79 en.improved...*.Implement.bt4.ty
34580 70 65 20 6d 61 74 63 68 66 69 6e 64 65 72 2e 0a 09 2a 20 6c 7a 69 70 2e 74 65 78 69 6e 66 6f 3a pe.matchfinder...*.lzip.texinfo:
345a0 20 4e 65 77 20 63 68 61 70 74 65 72 20 27 41 6c 67 6f 72 69 74 68 6d 27 2e 0a 09 2a 20 4c 7a 64 .New.chapter.'Algorithm'...*.Lzd
345c0 69 66 66 20 61 6e 64 20 6c 7a 67 72 65 70 20 6e 6f 77 20 61 63 63 65 70 74 20 27 2d 68 27 20 66 iff.and.lzgrep.now.accept.'-h'.f
345e0 6f 72 20 27 2d 2d 68 65 6c 70 27 20 61 6e 64 0a 09 20 20 27 2d 56 27 20 66 6f 72 20 27 2d 2d 76 or.'--help'.and....'-V'.for.'--v
34600 65 72 73 69 6f 6e 27 2e 0a 09 2a 20 4d 61 6b 65 66 69 6c 65 2e 69 6e 3a 20 4d 61 6e 20 70 61 67 ersion'...*.Makefile.in:.Man.pag
34620 65 20 69 73 20 6e 6f 77 20 69 6e 73 74 61 6c 6c 65 64 20 62 79 20 64 65 66 61 75 6c 74 2e 0a 09 e.is.now.installed.by.default...
34640 2a 20 63 68 65 63 6b 2e 73 68 3a 20 56 65 72 69 66 79 20 74 68 61 74 20 66 69 6c 65 73 20 61 72 *.check.sh:.Verify.that.files.ar
34660 65 20 6f 70 65 6e 65 64 20 69 6e 20 62 69 6e 61 72 79 20 6d 6f 64 65 2e 0a 0a 32 30 30 39 2d 30 e.opened.in.binary.mode...2009-0
34680 31 2d 32 34 20 20 41 6e 74 6f 6e 69 6f 20 44 69 61 7a 20 44 69 61 7a 20 20 3c 61 6e 74 5f 64 69 1-24..Antonio.Diaz.Diaz..<ant_di
346a0 61 7a 40 74 65 6c 65 6c 69 6e 65 2e 65 73 3e 0a 0a 09 2a 20 56 65 72 73 69 6f 6e 20 31 2e 34 20 az@teleline.es>...*.Version.1.4.
346c0 72 65 6c 65 61 73 65 64 2e 0a 09 2a 20 49 6d 70 6c 65 6d 65 6e 74 20 63 6f 6d 70 72 65 73 73 69 released...*.Implement.compressi
346e0 6f 6e 20 6f 66 20 76 65 72 73 69 6f 6e 20 31 20 66 69 6c 65 73 2e 0a 09 2a 20 4e 65 77 20 6f 70 on.of.version.1.files...*.New.op
34700 74 69 6f 6e 73 20 27 2d 62 2c 20 2d 2d 6d 65 6d 62 65 72 2d 73 69 7a 65 27 2c 20 27 2d 53 2c 20 tions.'-b,.--member-size',.'-S,.
34720 2d 2d 76 6f 6c 75 6d 65 2d 73 69 7a 65 27 2c 20 61 6e 64 0a 09 20 20 27 2d 6f 2c 20 2d 2d 6f 75 --volume-size',.and....'-o,.--ou
34740 74 70 75 74 27 2e 0a 09 2a 20 6d 61 69 6e 2e 63 63 3a 20 52 65 61 64 20 66 72 6f 6d 20 6e 6f 6e tput'...*.main.cc:.Read.from.non
34760 2d 72 65 67 75 6c 61 72 20 66 69 6c 65 73 20 69 66 20 27 2d 2d 73 74 64 6f 75 74 27 20 69 73 20 -regular.files.if.'--stdout'.is.
34780 73 70 65 63 69 66 69 65 64 2e 0a 09 2a 20 41 64 64 20 27 6c 7a 69 70 72 65 63 6f 76 65 72 27 2c specified...*.Add.'lziprecover',
347a0 20 61 20 6d 65 6d 62 65 72 20 72 65 63 6f 76 65 72 65 72 20 70 72 6f 67 72 61 6d 2e 0a 09 2a 20 .a.member.recoverer.program...*.
347c0 75 6e 7a 63 72 61 73 68 2e 63 63 3a 20 54 65 73 74 20 61 6c 6c 20 31 2d 62 79 74 65 20 65 72 72 unzcrash.cc:.Test.all.1-byte.err
347e0 6f 72 73 2e 0a 0a 32 30 30 38 2d 31 32 2d 32 31 20 20 41 6e 74 6f 6e 69 6f 20 44 69 61 7a 20 44 ors...2008-12-21..Antonio.Diaz.D
34800 69 61 7a 20 20 3c 61 6e 74 5f 64 69 61 7a 40 74 65 6c 65 6c 69 6e 65 2e 65 73 3e 0a 0a 09 2a 20 iaz..<ant_diaz@teleline.es>...*.
34820 56 65 72 73 69 6f 6e 20 31 2e 33 20 72 65 6c 65 61 73 65 64 2e 0a 09 2a 20 54 68 69 73 20 76 65 Version.1.3.released...*.This.ve
34840 72 73 69 6f 6e 20 61 75 74 6f 6d 61 74 69 63 61 6c 6c 79 20 63 68 6f 6f 73 65 73 20 74 68 65 20 rsion.automatically.chooses.the.
34860 73 6d 61 6c 6c 65 73 74 20 70 6f 73 73 69 62 6c 65 0a 09 20 20 64 69 63 74 69 6f 6e 61 72 79 20 smallest.possible....dictionary.
34880 73 69 7a 65 20 66 6f 72 20 65 61 63 68 20 66 69 6c 65 20 64 75 72 69 6e 67 20 63 6f 6d 70 72 65 size.for.each.file.during.compre
348a0 73 73 69 6f 6e 2c 20 73 61 76 69 6e 67 20 6d 65 6d 6f 72 79 0a 09 20 20 64 75 72 69 6e 67 20 64 ssion,.saving.memory....during.d
348c0 65 63 6f 6d 70 72 65 73 73 69 6f 6e 2e 0a 09 2a 20 49 6d 70 6c 65 6d 65 6e 74 20 64 65 63 6f 6d ecompression...*.Implement.decom
348e0 70 72 65 73 73 69 6f 6e 20 6f 66 20 76 65 72 73 69 6f 6e 20 31 20 66 69 6c 65 73 2e 0a 09 2a 20 pression.of.version.1.files...*.
34900 63 68 65 63 6b 2e 73 68 3a 20 52 65 70 6c 61 63 65 20 27 64 69 66 66 20 2d 71 27 20 77 69 74 68 check.sh:.Replace.'diff.-q'.with
34920 20 27 63 6d 70 27 2e 0a 0a 32 30 30 38 2d 31 32 2d 31 30 20 20 41 6e 74 6f 6e 69 6f 20 44 69 61 .'cmp'...2008-12-10..Antonio.Dia
34940 7a 20 44 69 61 7a 20 20 3c 61 6e 74 5f 64 69 61 7a 40 74 65 6c 65 6c 69 6e 65 2e 65 73 3e 0a 0a z.Diaz..<ant_diaz@teleline.es>..
34960 09 2a 20 56 65 72 73 69 6f 6e 20 31 2e 32 20 72 65 6c 65 61 73 65 64 2e 0a 09 2a 20 65 6e 63 6f .*.Version.1.2.released...*.enco
34980 64 65 72 2e 63 63 3a 20 41 20 31 2d 62 79 74 65 20 72 65 61 64 20 6f 75 74 73 69 64 65 20 61 6c der.cc:.A.1-byte.read.outside.al
349a0 6c 6f 63 61 74 65 64 20 6d 65 6d 6f 72 79 20 68 61 73 20 62 65 65 6e 20 66 69 78 65 64 2e 0a 09 located.memory.has.been.fixed...
349c0 2a 20 6c 7a 69 70 2e 68 3a 20 44 69 63 74 69 6f 6e 61 72 79 20 73 69 7a 65 20 6c 69 6d 69 74 20 *.lzip.h:.Dictionary.size.limit.
349e0 68 61 73 20 62 65 65 6e 20 72 65 64 75 63 65 64 20 74 6f 20 35 31 32 4d 69 42 20 62 65 63 61 75 has.been.reduced.to.512MiB.becau
34a00 73 65 0a 09 20 20 73 65 74 74 69 6e 67 20 69 74 20 74 6f 20 31 47 69 42 20 63 61 75 73 65 73 20 se....setting.it.to.1GiB.causes.
34a20 6f 76 65 72 66 6c 6f 77 20 6f 66 20 61 20 33 32 20 62 69 74 20 69 6e 74 65 67 65 72 2e 0a 09 2a overflow.of.a.32.bit.integer...*
34a40 20 41 64 64 20 27 6c 7a 64 69 66 66 27 2c 20 61 20 64 69 66 66 2f 63 6d 70 20 77 72 61 70 70 65 .Add.'lzdiff',.a.diff/cmp.wrappe
34a60 72 20 66 6f 72 20 67 7a 69 70 2c 20 62 7a 69 70 32 2c 20 6c 7a 69 70 20 61 6e 64 0a 09 20 20 6e r.for.gzip,.bzip2,.lzip.and....n
34a80 6f 6e 2d 63 6f 6d 70 72 65 73 73 65 64 20 66 69 6c 65 73 2e 0a 09 2a 20 41 64 64 20 27 6c 7a 67 on-compressed.files...*.Add.'lzg
34aa0 72 65 70 27 2c 20 61 20 67 72 65 70 20 77 72 61 70 70 65 72 20 66 6f 72 20 67 7a 69 70 2c 20 62 rep',.a.grep.wrapper.for.gzip,.b
34ac0 7a 69 70 32 2c 20 6c 7a 69 70 20 61 6e 64 0a 09 20 20 6e 6f 6e 2d 63 6f 6d 70 72 65 73 73 65 64 zip2,.lzip.and....non-compressed
34ae0 20 66 69 6c 65 73 2e 0a 09 2a 20 27 6d 61 6b 65 20 69 6e 73 74 61 6c 6c 2d 69 6e 66 6f 27 20 73 .files...*.'make.install-info'.s
34b00 68 6f 75 6c 64 20 6e 6f 77 20 77 6f 72 6b 20 6f 6e 20 44 65 62 69 61 6e 20 61 6e 64 20 4f 53 20 hould.now.work.on.Debian.and.OS.
34b20 58 2e 0a 0a 32 30 30 38 2d 31 31 2d 31 37 20 20 41 6e 74 6f 6e 69 6f 20 44 69 61 7a 20 44 69 61 X...2008-11-17..Antonio.Diaz.Dia
34b40 7a 20 20 3c 61 6e 74 5f 64 69 61 7a 40 74 65 6c 65 6c 69 6e 65 2e 65 73 3e 0a 0a 09 2a 20 56 65 z..<ant_diaz@teleline.es>...*.Ve
34b60 72 73 69 6f 6e 20 31 2e 31 20 72 65 6c 65 61 73 65 64 2e 0a 09 2a 20 43 68 61 6e 67 65 20 73 68 rsion.1.1.released...*.Change.sh
34b80 6f 72 74 20 6e 61 6d 65 20 6f 66 20 6f 70 74 69 6f 6e 20 27 2d 2d 64 69 63 74 69 6f 6e 61 72 79 ort.name.of.option.'--dictionary
34ba0 2d 73 69 7a 65 27 20 74 6f 20 27 2d 73 27 2e 0a 09 2a 20 43 68 61 6e 67 65 20 73 68 6f 72 74 20 -size'.to.'-s'...*.Change.short.
34bc0 6e 61 6d 65 20 6f 66 20 6f 70 74 69 6f 6e 20 27 2d 2d 6d 61 74 63 68 2d 6c 65 6e 67 74 68 27 20 name.of.option.'--match-length'.
34be0 74 6f 20 27 2d 6d 27 2e 0a 09 2a 20 43 68 61 6e 67 65 20 4c 4f 4e 47 5f 4c 4f 4e 47 5f 4d 41 58 to.'-m'...*.Change.LONG_LONG_MAX
34c00 20 74 6f 20 4c 4c 4f 4e 47 5f 4d 41 58 2e 0a 0a 32 30 30 38 2d 31 30 2d 31 34 20 20 41 6e 74 6f .to.LLONG_MAX...2008-10-14..Anto
34c20 6e 69 6f 20 44 69 61 7a 20 44 69 61 7a 20 20 3c 61 6e 74 5f 64 69 61 7a 40 74 65 6c 65 6c 69 6e nio.Diaz.Diaz..<ant_diaz@telelin
34c40 65 2e 65 73 3e 0a 0a 09 2a 20 56 65 72 73 69 6f 6e 20 31 2e 30 20 72 65 6c 65 61 73 65 64 2e 0a e.es>...*.Version.1.0.released..
34c60 09 2a 20 27 2d 74 76 76 27 20 73 68 6f 77 73 20 66 69 6c 65 20 76 65 72 73 69 6f 6e 20 61 6e 64 .*.'-tvv'.shows.file.version.and
34c80 20 64 69 63 74 69 6f 6e 61 72 79 20 73 69 7a 65 2e 0a 0a 32 30 30 38 2d 30 39 2d 33 30 20 20 41 .dictionary.size...2008-09-30..A
34ca0 6e 74 6f 6e 69 6f 20 44 69 61 7a 20 44 69 61 7a 20 20 3c 61 6e 74 5f 64 69 61 7a 40 74 65 6c 65 ntonio.Diaz.Diaz..<ant_diaz@tele
34cc0 6c 69 6e 65 2e 65 73 3e 0a 0a 09 2a 20 56 65 72 73 69 6f 6e 20 30 2e 35 20 72 65 6c 65 61 73 65 line.es>...*.Version.0.5.release
34ce0 64 2e 0a 09 2a 20 44 65 63 6f 6d 70 72 65 73 73 69 6f 6e 20 69 73 20 6e 6f 77 20 31 25 20 66 61 d...*.Decompression.is.now.1%.fa
34d00 73 74 65 72 2e 0a 0a 32 30 30 38 2d 30 39 2d 32 33 20 20 41 6e 74 6f 6e 69 6f 20 44 69 61 7a 20 ster...2008-09-23..Antonio.Diaz.
34d20 44 69 61 7a 20 20 3c 61 6e 74 5f 64 69 61 7a 40 74 65 6c 65 6c 69 6e 65 2e 65 73 3e 0a 0a 09 2a Diaz..<ant_diaz@teleline.es>...*
34d40 20 56 65 72 73 69 6f 6e 20 30 2e 34 20 72 65 6c 65 61 73 65 64 2e 0a 09 2a 20 43 6f 64 65 20 63 .Version.0.4.released...*.Code.c
34d60 6c 65 61 6e 75 70 20 66 6f 72 20 67 6c 6f 62 61 6c 20 76 61 72 69 61 62 6c 65 20 27 76 65 72 62 leanup.for.global.variable.'verb
34d80 6f 73 69 74 79 27 2e 0a 09 2a 20 52 65 67 61 69 6e 20 74 68 65 20 63 6f 6d 70 72 65 73 73 69 6f osity'...*.Regain.the.compressio
34da0 6e 20 72 61 74 69 6f 20 6f 66 20 30 2e 32 20 77 69 74 68 20 35 25 20 66 61 73 74 65 72 20 73 70 n.ratio.of.0.2.with.5%.faster.sp
34dc0 65 65 64 2e 0a 09 2a 20 6c 7a 69 70 2e 68 3a 20 46 69 78 20 63 6f 6d 70 69 6c 61 74 69 6f 6e 20 eed...*.lzip.h:.Fix.compilation.
34de0 6f 6e 20 73 79 73 74 65 6d 73 20 77 68 65 72 65 20 73 69 7a 65 5f 74 20 21 3d 20 75 6e 73 69 67 on.systems.where.size_t.!=.unsig
34e00 6e 65 64 20 69 6e 74 2e 0a 0a 32 30 30 38 2d 30 39 2d 31 35 20 20 41 6e 74 6f 6e 69 6f 20 44 69 ned.int...2008-09-15..Antonio.Di
34e20 61 7a 20 44 69 61 7a 20 20 3c 61 6e 74 5f 64 69 61 7a 40 74 65 6c 65 6c 69 6e 65 2e 65 73 3e 0a az.Diaz..<ant_diaz@teleline.es>.
34e40 0a 09 2a 20 56 65 72 73 69 6f 6e 20 30 2e 33 20 72 65 6c 65 61 73 65 64 2e 0a 09 2a 20 65 6e 63 ..*.Version.0.3.released...*.enc
34e60 6f 64 65 72 2e 63 63 3a 20 43 6f 6d 70 72 65 73 73 69 6f 6e 20 69 73 20 6e 6f 77 20 31 35 25 20 oder.cc:.Compression.is.now.15%.
34e80 66 61 73 74 65 72 2c 20 31 25 20 77 6f 72 73 65 2e 0a 09 2a 20 6d 61 69 6e 2e 63 63 20 28 6d 61 faster,.1%.worse...*.main.cc.(ma
34ea0 69 6e 29 3a 20 4d 61 6b 65 20 6f 70 74 69 6f 6e 20 27 2d 74 27 20 6f 76 65 72 72 69 64 65 20 27 in):.Make.option.'-t'.override.'
34ec0 2d 63 27 2e 0a 09 2a 20 6d 61 69 6e 2e 63 63 20 28 64 65 63 6f 6d 70 72 65 73 73 29 3a 20 53 68 -c'...*.main.cc.(decompress):.Sh
34ee0 6f 77 20 27 64 6f 6e 65 27 20 69 6e 73 74 65 61 64 20 6f 66 20 27 6f 6b 27 20 77 68 65 6e 20 6e ow.'done'.instead.of.'ok'.when.n
34f00 6f 74 20 74 65 73 74 69 6e 67 2e 0a 09 2a 20 65 6e 63 6f 64 65 72 2e 68 3a 20 55 73 65 20 74 72 ot.testing...*.encoder.h:.Use.tr
34f20 69 61 6c 73 5b 5d 20 74 6f 20 72 65 74 75 72 6e 20 74 68 65 20 6c 69 73 74 20 6f 66 20 70 61 69 ials[].to.return.the.list.of.pai
34f40 72 73 2e 0a 0a 32 30 30 38 2d 30 39 2d 30 39 20 20 41 6e 74 6f 6e 69 6f 20 44 69 61 7a 20 44 69 rs...2008-09-09..Antonio.Diaz.Di
34f60 61 7a 20 20 3c 61 6e 74 5f 64 69 61 7a 40 74 65 6c 65 6c 69 6e 65 2e 65 73 3e 0a 0a 09 2a 20 56 az..<ant_diaz@teleline.es>...*.V
34f80 65 72 73 69 6f 6e 20 30 2e 32 20 72 65 6c 65 61 73 65 64 2e 0a 09 2a 20 65 6e 63 6f 64 65 72 2e ersion.0.2.released...*.encoder.
34fa0 63 63 3a 20 53 6d 61 6c 6c 20 69 6d 70 72 6f 76 65 6d 65 6e 74 73 20 69 6e 20 63 6f 6d 70 72 65 cc:.Small.improvements.in.compre
34fc0 73 73 69 6f 6e 20 73 70 65 65 64 2e 0a 09 2a 20 53 6d 61 6c 6c 20 64 6f 63 75 6d 65 6e 74 61 74 ssion.speed...*.Small.documentat
34fe0 69 6f 6e 20 63 68 61 6e 67 65 73 2e 0a 0a 32 30 30 38 2d 30 38 2d 32 30 20 20 41 6e 74 6f 6e 69 ion.changes...2008-08-20..Antoni
35000 6f 20 44 69 61 7a 20 44 69 61 7a 20 20 3c 61 6e 74 5f 64 69 61 7a 40 74 65 6c 65 6c 69 6e 65 2e o.Diaz.Diaz..<ant_diaz@teleline.
35020 65 73 3e 0a 0a 09 2a 20 56 65 72 73 69 6f 6e 20 30 2e 31 20 72 65 6c 65 61 73 65 64 2e 0a 0a 0a es>...*.Version.0.1.released....
35040 43 6f 70 79 72 69 67 68 74 20 28 43 29 20 32 30 30 38 2d 32 30 32 31 20 41 6e 74 6f 6e 69 6f 20 Copyright.(C).2008-2021.Antonio.
35060 44 69 61 7a 20 44 69 61 7a 2e 0a 0a 54 68 69 73 20 66 69 6c 65 20 69 73 20 61 20 63 6f 6c 6c 65 Diaz.Diaz...This.file.is.a.colle
35080 63 74 69 6f 6e 20 6f 66 20 66 61 63 74 73 2c 20 61 6e 64 20 74 68 75 73 20 69 74 20 69 73 20 6e ction.of.facts,.and.thus.it.is.n
350a0 6f 74 20 63 6f 70 79 72 69 67 68 74 61 62 6c 65 2c 0a 62 75 74 20 6a 75 73 74 20 69 6e 20 63 61 ot.copyrightable,.but.just.in.ca
350c0 73 65 2c 20 79 6f 75 20 68 61 76 65 20 75 6e 6c 69 6d 69 74 65 64 20 70 65 72 6d 69 73 73 69 6f se,.you.have.unlimited.permissio
350e0 6e 20 74 6f 20 63 6f 70 79 2c 20 64 69 73 74 72 69 62 75 74 65 2c 20 61 6e 64 0a 6d 6f 64 69 66 n.to.copy,.distribute,.and.modif
35100 79 20 69 74 2e 0a 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 y.it............................
35120 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
35140 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
35160 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
35180 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
351a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
351c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
351e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
35200 6c 7a 69 70 2d 31 2e 32 32 2f 6c 7a 69 70 5f 69 6e 64 65 78 2e 63 63 00 00 00 00 00 00 00 00 00 lzip-1.22/lzip_index.cc.........
35220 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
35240 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
35260 00 00 00 00 30 30 30 30 36 34 34 00 30 30 30 30 30 30 30 00 30 30 30 30 30 30 30 00 30 30 30 30 ....0000644.0000000.0000000.0000
35280 30 30 31 37 33 36 32 00 31 33 37 37 33 36 31 37 31 33 31 00 30 31 35 31 31 30 00 20 30 00 00 00 0017362.13773617131.015110..0...
352a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
352c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
352e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
35300 00 75 73 74 61 72 00 30 30 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .ustar.00root...................
35320 00 00 00 00 00 00 00 00 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .........root...................
35340 00 00 00 00 00 00 00 00 00 30 30 30 30 30 30 30 00 30 30 30 30 30 30 30 00 00 00 00 00 00 00 00 .........0000000.0000000........
35360 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
35380 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
353a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
353c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
353e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
35400 2f 2a 20 4c 7a 69 70 20 2d 20 4c 5a 4d 41 20 6c 6f 73 73 6c 65 73 73 20 64 61 74 61 20 63 6f 6d /*.Lzip.-.LZMA.lossless.data.com
35420 70 72 65 73 73 6f 72 0a 20 20 20 43 6f 70 79 72 69 67 68 74 20 28 43 29 20 32 30 30 38 2d 32 30 pressor....Copyright.(C).2008-20
35440 32 31 20 41 6e 74 6f 6e 69 6f 20 44 69 61 7a 20 44 69 61 7a 2e 0a 0a 20 20 20 54 68 69 73 20 70 21.Antonio.Diaz.Diaz......This.p
35460 72 6f 67 72 61 6d 20 69 73 20 66 72 65 65 20 73 6f 66 74 77 61 72 65 3a 20 79 6f 75 20 63 61 6e rogram.is.free.software:.you.can
35480 20 72 65 64 69 73 74 72 69 62 75 74 65 20 69 74 20 61 6e 64 2f 6f 72 20 6d 6f 64 69 66 79 0a 20 .redistribute.it.and/or.modify..
354a0 20 20 69 74 20 75 6e 64 65 72 20 74 68 65 20 74 65 72 6d 73 20 6f 66 20 74 68 65 20 47 4e 55 20 ..it.under.the.terms.of.the.GNU.
354c0 47 65 6e 65 72 61 6c 20 50 75 62 6c 69 63 20 4c 69 63 65 6e 73 65 20 61 73 20 70 75 62 6c 69 73 General.Public.License.as.publis
354e0 68 65 64 20 62 79 0a 20 20 20 74 68 65 20 46 72 65 65 20 53 6f 66 74 77 61 72 65 20 46 6f 75 6e hed.by....the.Free.Software.Foun
35500 64 61 74 69 6f 6e 2c 20 65 69 74 68 65 72 20 76 65 72 73 69 6f 6e 20 32 20 6f 66 20 74 68 65 20 dation,.either.version.2.of.the.
35520 4c 69 63 65 6e 73 65 2c 20 6f 72 0a 20 20 20 28 61 74 20 79 6f 75 72 20 6f 70 74 69 6f 6e 29 20 License,.or....(at.your.option).
35540 61 6e 79 20 6c 61 74 65 72 20 76 65 72 73 69 6f 6e 2e 0a 0a 20 20 20 54 68 69 73 20 70 72 6f 67 any.later.version......This.prog
35560 72 61 6d 20 69 73 20 64 69 73 74 72 69 62 75 74 65 64 20 69 6e 20 74 68 65 20 68 6f 70 65 20 74 ram.is.distributed.in.the.hope.t
35580 68 61 74 20 69 74 20 77 69 6c 6c 20 62 65 20 75 73 65 66 75 6c 2c 0a 20 20 20 62 75 74 20 57 49 hat.it.will.be.useful,....but.WI
355a0 54 48 4f 55 54 20 41 4e 59 20 57 41 52 52 41 4e 54 59 3b 20 77 69 74 68 6f 75 74 20 65 76 65 6e THOUT.ANY.WARRANTY;.without.even
355c0 20 74 68 65 20 69 6d 70 6c 69 65 64 20 77 61 72 72 61 6e 74 79 20 6f 66 0a 20 20 20 4d 45 52 43 .the.implied.warranty.of....MERC
355e0 48 41 4e 54 41 42 49 4c 49 54 59 20 6f 72 20 46 49 54 4e 45 53 53 20 46 4f 52 20 41 20 50 41 52 HANTABILITY.or.FITNESS.FOR.A.PAR
35600 54 49 43 55 4c 41 52 20 50 55 52 50 4f 53 45 2e 20 20 53 65 65 20 74 68 65 0a 20 20 20 47 4e 55 TICULAR.PURPOSE...See.the....GNU
35620 20 47 65 6e 65 72 61 6c 20 50 75 62 6c 69 63 20 4c 69 63 65 6e 73 65 20 66 6f 72 20 6d 6f 72 65 .General.Public.License.for.more
35640 20 64 65 74 61 69 6c 73 2e 0a 0a 20 20 20 59 6f 75 20 73 68 6f 75 6c 64 20 68 61 76 65 20 72 65 .details......You.should.have.re
35660 63 65 69 76 65 64 20 61 20 63 6f 70 79 20 6f 66 20 74 68 65 20 47 4e 55 20 47 65 6e 65 72 61 6c ceived.a.copy.of.the.GNU.General
35680 20 50 75 62 6c 69 63 20 4c 69 63 65 6e 73 65 0a 20 20 20 61 6c 6f 6e 67 20 77 69 74 68 20 74 68 .Public.License....along.with.th
356a0 69 73 20 70 72 6f 67 72 61 6d 2e 20 20 49 66 20 6e 6f 74 2c 20 73 65 65 20 3c 68 74 74 70 3a 2f is.program...If.not,.see.<http:/
356c0 2f 77 77 77 2e 67 6e 75 2e 6f 72 67 2f 6c 69 63 65 6e 73 65 73 2f 3e 2e 0a 2a 2f 0a 0a 23 64 65 /www.gnu.org/licenses/>..*/..#de
356e0 66 69 6e 65 20 5f 46 49 4c 45 5f 4f 46 46 53 45 54 5f 42 49 54 53 20 36 34 0a 0a 23 69 6e 63 6c fine._FILE_OFFSET_BITS.64..#incl
35700 75 64 65 20 3c 61 6c 67 6f 72 69 74 68 6d 3e 0a 23 69 6e 63 6c 75 64 65 20 3c 63 65 72 72 6e 6f ude.<algorithm>.#include.<cerrno
35720 3e 0a 23 69 6e 63 6c 75 64 65 20 3c 63 73 74 64 69 6f 3e 0a 23 69 6e 63 6c 75 64 65 20 3c 63 73 >.#include.<cstdio>.#include.<cs
35740 74 72 69 6e 67 3e 0a 23 69 6e 63 6c 75 64 65 20 3c 73 74 72 69 6e 67 3e 0a 23 69 6e 63 6c 75 64 tring>.#include.<string>.#includ
35760 65 20 3c 76 65 63 74 6f 72 3e 0a 23 69 6e 63 6c 75 64 65 20 3c 73 74 64 69 6e 74 2e 68 3e 0a 23 e.<vector>.#include.<stdint.h>.#
35780 69 6e 63 6c 75 64 65 20 3c 75 6e 69 73 74 64 2e 68 3e 0a 0a 23 69 6e 63 6c 75 64 65 20 22 6c 7a include.<unistd.h>..#include."lz
357a0 69 70 2e 68 22 0a 23 69 6e 63 6c 75 64 65 20 22 6c 7a 69 70 5f 69 6e 64 65 78 2e 68 22 0a 0a 0a ip.h".#include."lzip_index.h"...
357c0 6e 61 6d 65 73 70 61 63 65 20 7b 0a 0a 69 6e 74 20 73 65 65 6b 5f 72 65 61 64 28 20 63 6f 6e 73 namespace.{..int.seek_read(.cons
357e0 74 20 69 6e 74 20 66 64 2c 20 75 69 6e 74 38 5f 74 20 2a 20 63 6f 6e 73 74 20 62 75 66 2c 20 63 t.int.fd,.uint8_t.*.const.buf,.c
35800 6f 6e 73 74 20 69 6e 74 20 73 69 7a 65 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 63 6f onst.int.size,................co
35820 6e 73 74 20 6c 6f 6e 67 20 6c 6f 6e 67 20 70 6f 73 20 29 0a 20 20 7b 0a 20 20 69 66 28 20 6c 73 nst.long.long.pos.)...{...if(.ls
35840 65 65 6b 28 20 66 64 2c 20 70 6f 73 2c 20 53 45 45 4b 5f 53 45 54 20 29 20 3d 3d 20 70 6f 73 20 eek(.fd,.pos,.SEEK_SET.).==.pos.
35860 29 0a 20 20 20 20 72 65 74 75 72 6e 20 72 65 61 64 62 6c 6f 63 6b 28 20 66 64 2c 20 62 75 66 2c ).....return.readblock(.fd,.buf,
35880 20 73 69 7a 65 20 29 3b 0a 20 20 72 65 74 75 72 6e 20 30 3b 0a 20 20 7d 0a 0a 7d 20 2f 2f 20 65 .size.);...return.0;...}..}.//.e
358a0 6e 64 20 6e 61 6d 65 73 70 61 63 65 0a 0a 0a 62 6f 6f 6c 20 4c 7a 69 70 5f 69 6e 64 65 78 3a 3a nd.namespace...bool.Lzip_index::
358c0 63 68 65 63 6b 5f 68 65 61 64 65 72 5f 65 72 72 6f 72 28 20 63 6f 6e 73 74 20 4c 7a 69 70 5f 68 check_header_error(.const.Lzip_h
358e0 65 61 64 65 72 20 26 20 68 65 61 64 65 72 20 29 0a 20 20 7b 0a 20 20 69 66 28 20 21 68 65 61 64 eader.&.header.)...{...if(.!head
35900 65 72 2e 76 65 72 69 66 79 5f 6d 61 67 69 63 28 29 20 29 0a 20 20 20 20 7b 20 65 72 72 6f 72 5f er.verify_magic().).....{.error_
35920 20 3d 20 62 61 64 5f 6d 61 67 69 63 5f 6d 73 67 3b 20 72 65 74 76 61 6c 5f 20 3d 20 32 3b 20 72 .=.bad_magic_msg;.retval_.=.2;.r
35940 65 74 75 72 6e 20 74 72 75 65 3b 20 7d 0a 20 20 69 66 28 20 21 68 65 61 64 65 72 2e 76 65 72 69 eturn.true;.}...if(.!header.veri
35960 66 79 5f 76 65 72 73 69 6f 6e 28 29 20 29 0a 20 20 20 20 7b 20 65 72 72 6f 72 5f 20 3d 20 62 61 fy_version().).....{.error_.=.ba
35980 64 5f 76 65 72 73 69 6f 6e 28 20 68 65 61 64 65 72 2e 76 65 72 73 69 6f 6e 28 29 20 29 3b 20 72 d_version(.header.version().);.r
359a0 65 74 76 61 6c 5f 20 3d 20 32 3b 20 72 65 74 75 72 6e 20 74 72 75 65 3b 20 7d 0a 20 20 69 66 28 etval_.=.2;.return.true;.}...if(
359c0 20 21 69 73 76 61 6c 69 64 5f 64 73 28 20 68 65 61 64 65 72 2e 64 69 63 74 69 6f 6e 61 72 79 5f .!isvalid_ds(.header.dictionary_
359e0 73 69 7a 65 28 29 20 29 20 29 0a 20 20 20 20 7b 20 65 72 72 6f 72 5f 20 3d 20 62 61 64 5f 64 69 size().).).....{.error_.=.bad_di
35a00 63 74 5f 6d 73 67 3b 20 72 65 74 76 61 6c 5f 20 3d 20 32 3b 20 72 65 74 75 72 6e 20 74 72 75 65 ct_msg;.retval_.=.2;.return.true
35a20 3b 20 7d 0a 20 20 72 65 74 75 72 6e 20 66 61 6c 73 65 3b 0a 20 20 7d 0a 0a 76 6f 69 64 20 4c 7a ;.}...return.false;...}..void.Lz
35a40 69 70 5f 69 6e 64 65 78 3a 3a 73 65 74 5f 65 72 72 6e 6f 5f 65 72 72 6f 72 28 20 63 6f 6e 73 74 ip_index::set_errno_error(.const
35a60 20 63 68 61 72 20 2a 20 63 6f 6e 73 74 20 6d 73 67 20 29 0a 20 20 7b 0a 20 20 65 72 72 6f 72 5f .char.*.const.msg.)...{...error_
35a80 20 3d 20 6d 73 67 3b 20 65 72 72 6f 72 5f 20 2b 3d 20 73 74 64 3a 3a 73 74 72 65 72 72 6f 72 28 .=.msg;.error_.+=.std::strerror(
35aa0 20 65 72 72 6e 6f 20 29 3b 0a 20 20 72 65 74 76 61 6c 5f 20 3d 20 31 3b 0a 20 20 7d 0a 0a 76 6f .errno.);...retval_.=.1;...}..vo
35ac0 69 64 20 4c 7a 69 70 5f 69 6e 64 65 78 3a 3a 73 65 74 5f 6e 75 6d 5f 65 72 72 6f 72 28 20 63 6f id.Lzip_index::set_num_error(.co
35ae0 6e 73 74 20 63 68 61 72 20 2a 20 63 6f 6e 73 74 20 6d 73 67 2c 20 75 6e 73 69 67 6e 65 64 20 6c nst.char.*.const.msg,.unsigned.l
35b00 6f 6e 67 20 6c 6f 6e 67 20 6e 75 6d 20 29 0a 20 20 7b 0a 20 20 63 68 61 72 20 62 75 66 5b 38 30 ong.long.num.)...{...char.buf[80
35b20 5d 3b 0a 20 20 73 6e 70 72 69 6e 74 66 28 20 62 75 66 2c 20 73 69 7a 65 6f 66 20 62 75 66 2c 20 ];...snprintf(.buf,.sizeof.buf,.
35b40 22 25 73 25 6c 6c 75 22 2c 20 6d 73 67 2c 20 6e 75 6d 20 29 3b 0a 20 20 65 72 72 6f 72 5f 20 3d "%s%llu",.msg,.num.);...error_.=
35b60 20 62 75 66 3b 0a 20 20 72 65 74 76 61 6c 5f 20 3d 20 32 3b 0a 20 20 7d 0a 0a 0a 62 6f 6f 6c 20 .buf;...retval_.=.2;...}...bool.
35b80 4c 7a 69 70 5f 69 6e 64 65 78 3a 3a 72 65 61 64 5f 68 65 61 64 65 72 28 20 63 6f 6e 73 74 20 69 Lzip_index::read_header(.const.i
35ba0 6e 74 20 66 64 2c 20 4c 7a 69 70 5f 68 65 61 64 65 72 20 26 20 68 65 61 64 65 72 2c 0a 20 20 20 nt.fd,.Lzip_header.&.header,....
35bc0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 63 6f 6e 73 74 ...........................const
35be0 20 6c 6f 6e 67 20 6c 6f 6e 67 20 70 6f 73 20 29 0a 20 20 7b 0a 20 20 69 66 28 20 73 65 65 6b 5f .long.long.pos.)...{...if(.seek_
35c00 72 65 61 64 28 20 66 64 2c 20 68 65 61 64 65 72 2e 64 61 74 61 2c 20 4c 7a 69 70 5f 68 65 61 64 read(.fd,.header.data,.Lzip_head
35c20 65 72 3a 3a 73 69 7a 65 2c 20 70 6f 73 20 29 20 21 3d 20 4c 7a 69 70 5f 68 65 61 64 65 72 3a 3a er::size,.pos.).!=.Lzip_header::
35c40 73 69 7a 65 20 29 0a 20 20 20 20 7b 20 73 65 74 5f 65 72 72 6e 6f 5f 65 72 72 6f 72 28 20 22 45 size.).....{.set_errno_error(."E
35c60 72 72 6f 72 20 72 65 61 64 69 6e 67 20 6d 65 6d 62 65 72 20 68 65 61 64 65 72 3a 20 22 20 29 3b rror.reading.member.header:.".);
35c80 20 72 65 74 75 72 6e 20 66 61 6c 73 65 3b 20 7d 0a 20 20 72 65 74 75 72 6e 20 74 72 75 65 3b 0a .return.false;.}...return.true;.
35ca0 20 20 7d 0a 0a 0a 2f 2f 20 49 66 20 73 75 63 63 65 73 73 66 75 6c 2c 20 70 75 73 68 20 6c 61 73 ..}...//.If.successful,.push.las
35cc0 74 20 6d 65 6d 62 65 72 20 61 6e 64 20 73 65 74 20 70 6f 73 20 74 6f 20 6d 65 6d 62 65 72 20 68 t.member.and.set.pos.to.member.h
35ce0 65 61 64 65 72 2e 0a 62 6f 6f 6c 20 4c 7a 69 70 5f 69 6e 64 65 78 3a 3a 73 6b 69 70 5f 74 72 61 eader..bool.Lzip_index::skip_tra
35d00 69 6c 69 6e 67 5f 64 61 74 61 28 20 63 6f 6e 73 74 20 69 6e 74 20 66 64 2c 20 75 6e 73 69 67 6e iling_data(.const.int.fd,.unsign
35d20 65 64 20 6c 6f 6e 67 20 6c 6f 6e 67 20 26 20 70 6f 73 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 ed.long.long.&.pos,.............
35d40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 63 6f 6e 73 74 20 62 .........................const.b
35d60 6f 6f 6c 20 69 67 6e 6f 72 65 5f 74 72 61 69 6c 69 6e 67 2c 0a 20 20 20 20 20 20 20 20 20 20 20 ool.ignore_trailing,............
35d80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 63 6f 6e 73 74 20 ..........................const.
35da0 62 6f 6f 6c 20 6c 6f 6f 73 65 5f 74 72 61 69 6c 69 6e 67 20 29 0a 20 20 7b 0a 20 20 69 66 28 20 bool.loose_trailing.)...{...if(.
35dc0 70 6f 73 20 3c 20 6d 69 6e 5f 6d 65 6d 62 65 72 5f 73 69 7a 65 20 29 20 72 65 74 75 72 6e 20 66 pos.<.min_member_size.).return.f
35de0 61 6c 73 65 3b 0a 20 20 65 6e 75 6d 20 7b 20 62 6c 6f 63 6b 5f 73 69 7a 65 20 3d 20 31 36 33 38 alse;...enum.{.block_size.=.1638
35e00 34 2c 0a 20 20 20 20 20 20 20 20 20 62 75 66 66 65 72 5f 73 69 7a 65 20 3d 20 62 6c 6f 63 6b 5f 4,..........buffer_size.=.block_
35e20 73 69 7a 65 20 2b 20 4c 7a 69 70 5f 74 72 61 69 6c 65 72 3a 3a 73 69 7a 65 20 2d 20 31 20 2b 20 size.+.Lzip_trailer::size.-.1.+.
35e40 4c 7a 69 70 5f 68 65 61 64 65 72 3a 3a 73 69 7a 65 20 7d 3b 0a 20 20 75 69 6e 74 38 5f 74 20 62 Lzip_header::size.};...uint8_t.b
35e60 75 66 66 65 72 5b 62 75 66 66 65 72 5f 73 69 7a 65 5d 3b 0a 20 20 69 6e 74 20 62 73 69 7a 65 20 uffer[buffer_size];...int.bsize.
35e80 3d 20 70 6f 73 20 25 20 62 6c 6f 63 6b 5f 73 69 7a 65 3b 09 09 09 2f 2f 20 74 6f 74 61 6c 20 62 =.pos.%.block_size;...//.total.b
35ea0 79 74 65 73 20 69 6e 20 62 75 66 66 65 72 0a 20 20 69 66 28 20 62 73 69 7a 65 20 3c 3d 20 62 75 ytes.in.buffer...if(.bsize.<=.bu
35ec0 66 66 65 72 5f 73 69 7a 65 20 2d 20 62 6c 6f 63 6b 5f 73 69 7a 65 20 29 20 62 73 69 7a 65 20 2b ffer_size.-.block_size.).bsize.+
35ee0 3d 20 62 6c 6f 63 6b 5f 73 69 7a 65 3b 0a 20 20 69 6e 74 20 73 65 61 72 63 68 5f 73 69 7a 65 20 =.block_size;...int.search_size.
35f00 3d 20 62 73 69 7a 65 3b 09 09 09 2f 2f 20 62 79 74 65 73 20 74 6f 20 73 65 61 72 63 68 20 66 6f =.bsize;...//.bytes.to.search.fo
35f20 72 20 74 72 61 69 6c 65 72 0a 20 20 69 6e 74 20 72 64 5f 73 69 7a 65 20 3d 20 62 73 69 7a 65 3b r.trailer...int.rd_size.=.bsize;
35f40 09 09 09 09 2f 2f 20 62 79 74 65 73 20 74 6f 20 72 65 61 64 20 66 72 6f 6d 20 66 69 6c 65 0a 20 ....//.bytes.to.read.from.file..
35f60 20 75 6e 73 69 67 6e 65 64 20 6c 6f 6e 67 20 6c 6f 6e 67 20 69 70 6f 73 20 3d 20 70 6f 73 20 2d .unsigned.long.long.ipos.=.pos.-
35f80 20 72 64 5f 73 69 7a 65 3b 09 2f 2f 20 61 6c 69 67 6e 65 64 20 74 6f 20 62 6c 6f 63 6b 5f 73 69 .rd_size;.//.aligned.to.block_si
35fa0 7a 65 0a 0a 20 20 77 68 69 6c 65 28 20 74 72 75 65 20 29 0a 20 20 20 20 7b 0a 20 20 20 20 69 66 ze....while(.true.).....{.....if
35fc0 28 20 73 65 65 6b 5f 72 65 61 64 28 20 66 64 2c 20 62 75 66 66 65 72 2c 20 72 64 5f 73 69 7a 65 (.seek_read(.fd,.buffer,.rd_size
35fe0 2c 20 69 70 6f 73 20 29 20 21 3d 20 72 64 5f 73 69 7a 65 20 29 0a 20 20 20 20 20 20 7b 20 73 65 ,.ipos.).!=.rd_size.).......{.se
36000 74 5f 65 72 72 6e 6f 5f 65 72 72 6f 72 28 20 22 45 72 72 6f 72 20 73 65 65 6b 69 6e 67 20 6d 65 t_errno_error(."Error.seeking.me
36020 6d 62 65 72 20 74 72 61 69 6c 65 72 3a 20 22 20 29 3b 20 72 65 74 75 72 6e 20 66 61 6c 73 65 3b mber.trailer:.".);.return.false;
36040 20 7d 0a 20 20 20 20 63 6f 6e 73 74 20 75 69 6e 74 38 5f 74 20 6d 61 78 5f 6d 73 62 20 3d 20 28 .}.....const.uint8_t.max_msb.=.(
36060 20 69 70 6f 73 20 2b 20 73 65 61 72 63 68 5f 73 69 7a 65 20 29 20 3e 3e 20 35 36 3b 0a 20 20 20 .ipos.+.search_size.).>>.56;....
36080 20 66 6f 72 28 20 69 6e 74 20 69 20 3d 20 73 65 61 72 63 68 5f 73 69 7a 65 3b 20 69 20 3e 3d 20 .for(.int.i.=.search_size;.i.>=.
360a0 4c 7a 69 70 5f 74 72 61 69 6c 65 72 3a 3a 73 69 7a 65 3b 20 2d 2d 69 20 29 0a 20 20 20 20 20 20 Lzip_trailer::size;.--i.).......
360c0 69 66 28 20 62 75 66 66 65 72 5b 69 2d 31 5d 20 3c 3d 20 6d 61 78 5f 6d 73 62 20 29 09 2f 2f 20 if(.buffer[i-1].<=.max_msb.).//.
360e0 6d 6f 73 74 20 73 69 67 6e 69 66 69 63 61 6e 74 20 62 79 74 65 20 6f 66 20 6d 65 6d 62 65 72 5f most.significant.byte.of.member_
36100 73 69 7a 65 0a 20 20 20 20 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 63 6f 6e 73 74 20 4c 7a 69 size.........{.........const.Lzi
36120 70 5f 74 72 61 69 6c 65 72 20 26 20 74 72 61 69 6c 65 72 20 3d 0a 20 20 20 20 20 20 20 20 20 20 p_trailer.&.trailer.=...........
36140 2a 28 63 6f 6e 73 74 20 4c 7a 69 70 5f 74 72 61 69 6c 65 72 20 2a 29 28 20 62 75 66 66 65 72 20 *(const.Lzip_trailer.*)(.buffer.
36160 2b 20 69 20 2d 20 4c 7a 69 70 5f 74 72 61 69 6c 65 72 3a 3a 73 69 7a 65 20 29 3b 0a 20 20 20 20 +.i.-.Lzip_trailer::size.);.....
36180 20 20 20 20 63 6f 6e 73 74 20 75 6e 73 69 67 6e 65 64 20 6c 6f 6e 67 20 6c 6f 6e 67 20 6d 65 6d ....const.unsigned.long.long.mem
361a0 62 65 72 5f 73 69 7a 65 20 3d 20 74 72 61 69 6c 65 72 2e 6d 65 6d 62 65 72 5f 73 69 7a 65 28 29 ber_size.=.trailer.member_size()
361c0 3b 0a 20 20 20 20 20 20 20 20 69 66 28 20 6d 65 6d 62 65 72 5f 73 69 7a 65 20 3d 3d 20 30 20 29 ;.........if(.member_size.==.0.)
361e0 09 09 09 2f 2f 20 73 6b 69 70 20 74 72 61 69 6c 69 6e 67 20 7a 65 72 6f 73 0a 20 20 20 20 20 20 ...//.skip.trailing.zeros.......
36200 20 20 20 20 7b 20 77 68 69 6c 65 28 20 69 20 3e 20 4c 7a 69 70 5f 74 72 61 69 6c 65 72 3a 3a 73 ....{.while(.i.>.Lzip_trailer::s
36220 69 7a 65 20 26 26 20 62 75 66 66 65 72 5b 69 2d 39 5d 20 3d 3d 20 30 20 29 20 2d 2d 69 3b 20 63 ize.&&.buffer[i-9].==.0.).--i;.c
36240 6f 6e 74 69 6e 75 65 3b 20 7d 0a 20 20 20 20 20 20 20 20 69 66 28 20 6d 65 6d 62 65 72 5f 73 69 ontinue;.}.........if(.member_si
36260 7a 65 20 3e 20 69 70 6f 73 20 2b 20 69 20 7c 7c 20 21 74 72 61 69 6c 65 72 2e 76 65 72 69 66 79 ze.>.ipos.+.i.||.!trailer.verify
36280 5f 63 6f 6e 73 69 73 74 65 6e 63 79 28 29 20 29 0a 20 20 20 20 20 20 20 20 20 20 63 6f 6e 74 69 _consistency().)...........conti
362a0 6e 75 65 3b 0a 20 20 20 20 20 20 20 20 4c 7a 69 70 5f 68 65 61 64 65 72 20 68 65 61 64 65 72 3b nue;.........Lzip_header.header;
362c0 0a 20 20 20 20 20 20 20 20 69 66 28 20 21 72 65 61 64 5f 68 65 61 64 65 72 28 20 66 64 2c 20 68 .........if(.!read_header(.fd,.h
362e0 65 61 64 65 72 2c 20 69 70 6f 73 20 2b 20 69 20 2d 20 6d 65 6d 62 65 72 5f 73 69 7a 65 20 29 20 eader,.ipos.+.i.-.member_size.).
36300 29 20 72 65 74 75 72 6e 20 66 61 6c 73 65 3b 0a 20 20 20 20 20 20 20 20 69 66 28 20 21 68 65 61 ).return.false;.........if(.!hea
36320 64 65 72 2e 76 65 72 69 66 79 28 29 20 29 20 63 6f 6e 74 69 6e 75 65 3b 0a 20 20 20 20 20 20 20 der.verify().).continue;........
36340 20 63 6f 6e 73 74 20 4c 7a 69 70 5f 68 65 61 64 65 72 20 26 20 68 65 61 64 65 72 32 20 3d 20 2a .const.Lzip_header.&.header2.=.*
36360 28 63 6f 6e 73 74 20 4c 7a 69 70 5f 68 65 61 64 65 72 20 2a 29 28 20 62 75 66 66 65 72 20 2b 20 (const.Lzip_header.*)(.buffer.+.
36380 69 20 29 3b 0a 20 20 20 20 20 20 20 20 63 6f 6e 73 74 20 62 6f 6f 6c 20 66 75 6c 6c 5f 68 32 20 i.);.........const.bool.full_h2.
363a0 3d 20 62 73 69 7a 65 20 2d 20 69 20 3e 3d 20 4c 7a 69 70 5f 68 65 61 64 65 72 3a 3a 73 69 7a 65 =.bsize.-.i.>=.Lzip_header::size
363c0 3b 0a 20 20 20 20 20 20 20 20 69 66 28 20 68 65 61 64 65 72 32 2e 76 65 72 69 66 79 5f 70 72 65 ;.........if(.header2.verify_pre
363e0 66 69 78 28 20 62 73 69 7a 65 20 2d 20 69 20 29 20 29 09 2f 2f 20 6c 61 73 74 20 6d 65 6d 62 65 fix(.bsize.-.i.).).//.last.membe
36400 72 0a 20 20 20 20 20 20 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 20 20 69 66 28 20 21 66 75 6c r...........{...........if(.!ful
36420 6c 5f 68 32 20 29 20 65 72 72 6f 72 5f 20 3d 20 22 4c 61 73 74 20 6d 65 6d 62 65 72 20 69 6e 20 l_h2.).error_.=."Last.member.in.
36440 69 6e 70 75 74 20 66 69 6c 65 20 69 73 20 74 72 75 6e 63 61 74 65 64 2e 22 3b 0a 20 20 20 20 20 input.file.is.truncated.";......
36460 20 20 20 20 20 65 6c 73 65 20 69 66 28 20 21 63 68 65 63 6b 5f 68 65 61 64 65 72 5f 65 72 72 6f .....else.if(.!check_header_erro
36480 72 28 20 68 65 61 64 65 72 32 20 29 20 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 65 72 72 6f 72 r(.header2.).).............error
364a0 5f 20 3d 20 22 4c 61 73 74 20 6d 65 6d 62 65 72 20 69 6e 20 69 6e 70 75 74 20 66 69 6c 65 20 69 _.=."Last.member.in.input.file.i
364c0 73 20 74 72 75 6e 63 61 74 65 64 20 6f 72 20 63 6f 72 72 75 70 74 2e 22 3b 0a 20 20 20 20 20 20 s.truncated.or.corrupt.";.......
364e0 20 20 20 20 72 65 74 76 61 6c 5f 20 3d 20 32 3b 20 72 65 74 75 72 6e 20 66 61 6c 73 65 3b 0a 20 ....retval_.=.2;.return.false;..
36500 20 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 69 66 28 20 21 6c 6f 6f 73 65 5f 74 72 .........}.........if(.!loose_tr
36520 61 69 6c 69 6e 67 20 26 26 20 66 75 6c 6c 5f 68 32 20 26 26 20 68 65 61 64 65 72 32 2e 76 65 72 ailing.&&.full_h2.&&.header2.ver
36540 69 66 79 5f 63 6f 72 72 75 70 74 28 29 20 29 0a 20 20 20 20 20 20 20 20 20 20 7b 20 65 72 72 6f ify_corrupt().)...........{.erro
36560 72 5f 20 3d 20 63 6f 72 72 75 70 74 5f 6d 6d 5f 6d 73 67 3b 20 72 65 74 76 61 6c 5f 20 3d 20 32 r_.=.corrupt_mm_msg;.retval_.=.2
36580 3b 20 72 65 74 75 72 6e 20 66 61 6c 73 65 3b 20 7d 0a 20 20 20 20 20 20 20 20 69 66 28 20 21 69 ;.return.false;.}.........if(.!i
365a0 67 6e 6f 72 65 5f 74 72 61 69 6c 69 6e 67 20 29 0a 20 20 20 20 20 20 20 20 20 20 7b 20 65 72 72 gnore_trailing.)...........{.err
365c0 6f 72 5f 20 3d 20 74 72 61 69 6c 69 6e 67 5f 6d 73 67 3b 20 72 65 74 76 61 6c 5f 20 3d 20 32 3b or_.=.trailing_msg;.retval_.=.2;
365e0 20 72 65 74 75 72 6e 20 66 61 6c 73 65 3b 20 7d 0a 20 20 20 20 20 20 20 20 70 6f 73 20 3d 20 69 .return.false;.}.........pos.=.i
36600 70 6f 73 20 2b 20 69 20 2d 20 6d 65 6d 62 65 72 5f 73 69 7a 65 3b 0a 20 20 20 20 20 20 20 20 63 pos.+.i.-.member_size;.........c
36620 6f 6e 73 74 20 75 6e 73 69 67 6e 65 64 20 64 69 63 74 69 6f 6e 61 72 79 5f 73 69 7a 65 20 3d 20 onst.unsigned.dictionary_size.=.
36640 68 65 61 64 65 72 2e 64 69 63 74 69 6f 6e 61 72 79 5f 73 69 7a 65 28 29 3b 0a 20 20 20 20 20 20 header.dictionary_size();.......
36660 20 20 6d 65 6d 62 65 72 5f 76 65 63 74 6f 72 2e 70 75 73 68 5f 62 61 63 6b 28 20 4d 65 6d 62 65 ..member_vector.push_back(.Membe
36680 72 28 20 30 2c 20 74 72 61 69 6c 65 72 2e 64 61 74 61 5f 73 69 7a 65 28 29 2c 20 70 6f 73 2c 0a r(.0,.trailer.data_size(),.pos,.
366a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
366c0 20 20 20 20 20 20 20 20 20 6d 65 6d 62 65 72 5f 73 69 7a 65 2c 20 64 69 63 74 69 6f 6e 61 72 79 .........member_size,.dictionary
366e0 5f 73 69 7a 65 20 29 20 29 3b 0a 20 20 20 20 20 20 20 20 69 66 28 20 64 69 63 74 69 6f 6e 61 72 _size.).);.........if(.dictionar
36700 79 5f 73 69 7a 65 5f 20 3c 20 64 69 63 74 69 6f 6e 61 72 79 5f 73 69 7a 65 20 29 0a 20 20 20 20 y_size_.<.dictionary_size.).....
36720 20 20 20 20 20 20 64 69 63 74 69 6f 6e 61 72 79 5f 73 69 7a 65 5f 20 3d 20 64 69 63 74 69 6f 6e ......dictionary_size_.=.diction
36740 61 72 79 5f 73 69 7a 65 3b 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 74 72 75 65 3b 0a 20 ary_size;.........return.true;..
36760 20 20 20 20 20 20 20 7d 0a 20 20 20 20 69 66 28 20 69 70 6f 73 20 3d 3d 20 30 20 29 0a 20 20 20 .......}.....if(.ipos.==.0.)....
36780 20 20 20 7b 20 73 65 74 5f 6e 75 6d 5f 65 72 72 6f 72 28 20 22 42 61 64 20 74 72 61 69 6c 65 72 ...{.set_num_error(."Bad.trailer
367a0 20 61 74 20 70 6f 73 20 22 2c 20 70 6f 73 20 2d 20 4c 7a 69 70 5f 74 72 61 69 6c 65 72 3a 3a 73 .at.pos.",.pos.-.Lzip_trailer::s
367c0 69 7a 65 20 29 3b 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 66 61 6c 73 65 3b 20 7d 0a 20 ize.);.........return.false;.}..
367e0 20 20 20 62 73 69 7a 65 20 3d 20 62 75 66 66 65 72 5f 73 69 7a 65 3b 0a 20 20 20 20 73 65 61 72 ...bsize.=.buffer_size;.....sear
36800 63 68 5f 73 69 7a 65 20 3d 20 62 73 69 7a 65 20 2d 20 4c 7a 69 70 5f 68 65 61 64 65 72 3a 3a 73 ch_size.=.bsize.-.Lzip_header::s
36820 69 7a 65 3b 0a 20 20 20 20 72 64 5f 73 69 7a 65 20 3d 20 62 6c 6f 63 6b 5f 73 69 7a 65 3b 0a 20 ize;.....rd_size.=.block_size;..
36840 20 20 20 69 70 6f 73 20 2d 3d 20 72 64 5f 73 69 7a 65 3b 0a 20 20 20 20 73 74 64 3a 3a 6d 65 6d ...ipos.-=.rd_size;.....std::mem
36860 63 70 79 28 20 62 75 66 66 65 72 20 2b 20 72 64 5f 73 69 7a 65 2c 20 62 75 66 66 65 72 2c 20 62 cpy(.buffer.+.rd_size,.buffer,.b
36880 75 66 66 65 72 5f 73 69 7a 65 20 2d 20 72 64 5f 73 69 7a 65 20 29 3b 0a 20 20 20 20 7d 0a 20 20 uffer_size.-.rd_size.);.....}...
368a0 7d 0a 0a 0a 4c 7a 69 70 5f 69 6e 64 65 78 3a 3a 4c 7a 69 70 5f 69 6e 64 65 78 28 20 63 6f 6e 73 }...Lzip_index::Lzip_index(.cons
368c0 74 20 69 6e 74 20 69 6e 66 64 2c 20 63 6f 6e 73 74 20 62 6f 6f 6c 20 69 67 6e 6f 72 65 5f 74 72 t.int.infd,.const.bool.ignore_tr
368e0 61 69 6c 69 6e 67 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ailing,.........................
36900 63 6f 6e 73 74 20 62 6f 6f 6c 20 6c 6f 6f 73 65 5f 74 72 61 69 6c 69 6e 67 20 29 0a 20 20 3a 20 const.bool.loose_trailing.)...:.
36920 69 6e 73 69 7a 65 28 20 6c 73 65 65 6b 28 20 69 6e 66 64 2c 20 30 2c 20 53 45 45 4b 5f 45 4e 44 insize(.lseek(.infd,.0,.SEEK_END
36940 20 29 20 29 2c 20 72 65 74 76 61 6c 5f 28 20 30 20 29 2c 20 64 69 63 74 69 6f 6e 61 72 79 5f 73 .).),.retval_(.0.),.dictionary_s
36960 69 7a 65 5f 28 20 30 20 29 0a 20 20 7b 0a 20 20 69 66 28 20 69 6e 73 69 7a 65 20 3c 20 30 20 29 ize_(.0.)...{...if(.insize.<.0.)
36980 0a 20 20 20 20 7b 20 73 65 74 5f 65 72 72 6e 6f 5f 65 72 72 6f 72 28 20 22 49 6e 70 75 74 20 66 .....{.set_errno_error(."Input.f
369a0 69 6c 65 20 69 73 20 6e 6f 74 20 73 65 65 6b 61 62 6c 65 3a 20 22 20 29 3b 20 72 65 74 75 72 6e ile.is.not.seekable:.".);.return
369c0 3b 20 7d 0a 20 20 69 66 28 20 69 6e 73 69 7a 65 20 3c 20 6d 69 6e 5f 6d 65 6d 62 65 72 5f 73 69 ;.}...if(.insize.<.min_member_si
369e0 7a 65 20 29 0a 20 20 20 20 7b 20 65 72 72 6f 72 5f 20 3d 20 22 49 6e 70 75 74 20 66 69 6c 65 20 ze.).....{.error_.=."Input.file.
36a00 69 73 20 74 6f 6f 20 73 68 6f 72 74 2e 22 3b 20 72 65 74 76 61 6c 5f 20 3d 20 32 3b 20 72 65 74 is.too.short.";.retval_.=.2;.ret
36a20 75 72 6e 3b 20 7d 0a 20 20 69 66 28 20 69 6e 73 69 7a 65 20 3e 20 49 4e 54 36 34 5f 4d 41 58 20 urn;.}...if(.insize.>.INT64_MAX.
36a40 29 0a 20 20 20 20 7b 20 65 72 72 6f 72 5f 20 3d 20 22 49 6e 70 75 74 20 66 69 6c 65 20 69 73 20 ).....{.error_.=."Input.file.is.
36a60 74 6f 6f 20 6c 6f 6e 67 20 28 32 5e 36 33 20 62 79 74 65 73 20 6f 72 20 6d 6f 72 65 29 2e 22 3b too.long.(2^63.bytes.or.more).";
36a80 0a 20 20 20 20 20 20 72 65 74 76 61 6c 5f 20 3d 20 32 3b 20 72 65 74 75 72 6e 3b 20 7d 0a 0a 20 .......retval_.=.2;.return;.}...
36aa0 20 4c 7a 69 70 5f 68 65 61 64 65 72 20 68 65 61 64 65 72 3b 0a 20 20 69 66 28 20 21 72 65 61 64 .Lzip_header.header;...if(.!read
36ac0 5f 68 65 61 64 65 72 28 20 69 6e 66 64 2c 20 68 65 61 64 65 72 2c 20 30 20 29 20 29 20 72 65 74 _header(.infd,.header,.0.).).ret
36ae0 75 72 6e 3b 0a 20 20 69 66 28 20 63 68 65 63 6b 5f 68 65 61 64 65 72 5f 65 72 72 6f 72 28 20 68 urn;...if(.check_header_error(.h
36b00 65 61 64 65 72 20 29 20 29 20 72 65 74 75 72 6e 3b 0a 0a 20 20 75 6e 73 69 67 6e 65 64 20 6c 6f eader.).).return;....unsigned.lo
36b20 6e 67 20 6c 6f 6e 67 20 70 6f 73 20 3d 20 69 6e 73 69 7a 65 3b 09 2f 2f 20 61 6c 77 61 79 73 20 ng.long.pos.=.insize;.//.always.
36b40 70 6f 69 6e 74 73 20 74 6f 20 61 20 68 65 61 64 65 72 20 6f 72 20 74 6f 20 45 4f 46 0a 20 20 77 points.to.a.header.or.to.EOF...w
36b60 68 69 6c 65 28 20 70 6f 73 20 3e 3d 20 6d 69 6e 5f 6d 65 6d 62 65 72 5f 73 69 7a 65 20 29 0a 20 hile(.pos.>=.min_member_size.)..
36b80 20 20 20 7b 0a 20 20 20 20 4c 7a 69 70 5f 74 72 61 69 6c 65 72 20 74 72 61 69 6c 65 72 3b 0a 20 ...{.....Lzip_trailer.trailer;..
36ba0 20 20 20 69 66 28 20 73 65 65 6b 5f 72 65 61 64 28 20 69 6e 66 64 2c 20 74 72 61 69 6c 65 72 2e ...if(.seek_read(.infd,.trailer.
36bc0 64 61 74 61 2c 20 4c 7a 69 70 5f 74 72 61 69 6c 65 72 3a 3a 73 69 7a 65 2c 0a 20 20 20 20 20 20 data,.Lzip_trailer::size,.......
36be0 20 20 20 20 20 20 20 20 20 20 20 20 20 70 6f 73 20 2d 20 4c 7a 69 70 5f 74 72 61 69 6c 65 72 3a .............pos.-.Lzip_trailer:
36c00 3a 73 69 7a 65 20 29 20 21 3d 20 4c 7a 69 70 5f 74 72 61 69 6c 65 72 3a 3a 73 69 7a 65 20 29 0a :size.).!=.Lzip_trailer::size.).
36c20 20 20 20 20 20 20 7b 20 73 65 74 5f 65 72 72 6e 6f 5f 65 72 72 6f 72 28 20 22 45 72 72 6f 72 20 ......{.set_errno_error(."Error.
36c40 72 65 61 64 69 6e 67 20 6d 65 6d 62 65 72 20 74 72 61 69 6c 65 72 3a 20 22 20 29 3b 20 62 72 65 reading.member.trailer:.".);.bre
36c60 61 6b 3b 20 7d 0a 20 20 20 20 63 6f 6e 73 74 20 75 6e 73 69 67 6e 65 64 20 6c 6f 6e 67 20 6c 6f ak;.}.....const.unsigned.long.lo
36c80 6e 67 20 6d 65 6d 62 65 72 5f 73 69 7a 65 20 3d 20 74 72 61 69 6c 65 72 2e 6d 65 6d 62 65 72 5f ng.member_size.=.trailer.member_
36ca0 73 69 7a 65 28 29 3b 0a 20 20 20 20 69 66 28 20 6d 65 6d 62 65 72 5f 73 69 7a 65 20 3e 20 70 6f size();.....if(.member_size.>.po
36cc0 73 20 7c 7c 20 21 74 72 61 69 6c 65 72 2e 76 65 72 69 66 79 5f 63 6f 6e 73 69 73 74 65 6e 63 79 s.||.!trailer.verify_consistency
36ce0 28 29 20 29 09 2f 2f 20 62 61 64 20 74 72 61 69 6c 65 72 0a 20 20 20 20 20 20 7b 0a 20 20 20 20 ().).//.bad.trailer.......{.....
36d00 20 20 69 66 28 20 6d 65 6d 62 65 72 5f 76 65 63 74 6f 72 2e 65 6d 70 74 79 28 29 20 29 0a 20 20 ..if(.member_vector.empty().)...
36d20 20 20 20 20 20 20 7b 20 69 66 28 20 73 6b 69 70 5f 74 72 61 69 6c 69 6e 67 5f 64 61 74 61 28 20 ......{.if(.skip_trailing_data(.
36d40 69 6e 66 64 2c 20 70 6f 73 2c 20 69 67 6e 6f 72 65 5f 74 72 61 69 6c 69 6e 67 2c 20 6c 6f 6f 73 infd,.pos,.ignore_trailing,.loos
36d60 65 5f 74 72 61 69 6c 69 6e 67 20 29 20 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 63 6f 6e 74 69 e_trailing.).).............conti
36d80 6e 75 65 3b 20 65 6c 73 65 20 72 65 74 75 72 6e 3b 20 7d 0a 20 20 20 20 20 20 73 65 74 5f 6e 75 nue;.else.return;.}.......set_nu
36da0 6d 5f 65 72 72 6f 72 28 20 22 42 61 64 20 74 72 61 69 6c 65 72 20 61 74 20 70 6f 73 20 22 2c 20 m_error(."Bad.trailer.at.pos.",.
36dc0 70 6f 73 20 2d 20 4c 7a 69 70 5f 74 72 61 69 6c 65 72 3a 3a 73 69 7a 65 20 29 3b 0a 20 20 20 20 pos.-.Lzip_trailer::size.);.....
36de0 20 20 62 72 65 61 6b 3b 0a 20 20 20 20 20 20 7d 0a 20 20 20 20 69 66 28 20 21 72 65 61 64 5f 68 ..break;.......}.....if(.!read_h
36e00 65 61 64 65 72 28 20 69 6e 66 64 2c 20 68 65 61 64 65 72 2c 20 70 6f 73 20 2d 20 6d 65 6d 62 65 eader(.infd,.header,.pos.-.membe
36e20 72 5f 73 69 7a 65 20 29 20 29 20 62 72 65 61 6b 3b 0a 20 20 20 20 69 66 28 20 21 68 65 61 64 65 r_size.).).break;.....if(.!heade
36e40 72 2e 76 65 72 69 66 79 28 29 20 29 09 09 09 09 2f 2f 20 62 61 64 20 68 65 61 64 65 72 0a 20 20 r.verify().)....//.bad.header...
36e60 20 20 20 20 7b 0a 20 20 20 20 20 20 69 66 28 20 6d 65 6d 62 65 72 5f 76 65 63 74 6f 72 2e 65 6d ....{.......if(.member_vector.em
36e80 70 74 79 28 29 20 29 0a 20 20 20 20 20 20 20 20 7b 20 69 66 28 20 73 6b 69 70 5f 74 72 61 69 6c pty().).........{.if(.skip_trail
36ea0 69 6e 67 5f 64 61 74 61 28 20 69 6e 66 64 2c 20 70 6f 73 2c 20 69 67 6e 6f 72 65 5f 74 72 61 69 ing_data(.infd,.pos,.ignore_trai
36ec0 6c 69 6e 67 2c 20 6c 6f 6f 73 65 5f 74 72 61 69 6c 69 6e 67 20 29 20 29 0a 20 20 20 20 20 20 20 ling,.loose_trailing.).)........
36ee0 20 20 20 20 20 63 6f 6e 74 69 6e 75 65 3b 20 65 6c 73 65 20 72 65 74 75 72 6e 3b 20 7d 0a 20 20 .....continue;.else.return;.}...
36f00 20 20 20 20 73 65 74 5f 6e 75 6d 5f 65 72 72 6f 72 28 20 22 42 61 64 20 68 65 61 64 65 72 20 61 ....set_num_error(."Bad.header.a
36f20 74 20 70 6f 73 20 22 2c 20 70 6f 73 20 2d 20 6d 65 6d 62 65 72 5f 73 69 7a 65 20 29 3b 0a 20 20 t.pos.",.pos.-.member_size.);...
36f40 20 20 20 20 62 72 65 61 6b 3b 0a 20 20 20 20 20 20 7d 0a 20 20 20 20 70 6f 73 20 2d 3d 20 6d 65 ....break;.......}.....pos.-=.me
36f60 6d 62 65 72 5f 73 69 7a 65 3b 0a 20 20 20 20 63 6f 6e 73 74 20 75 6e 73 69 67 6e 65 64 20 64 69 mber_size;.....const.unsigned.di
36f80 63 74 69 6f 6e 61 72 79 5f 73 69 7a 65 20 3d 20 68 65 61 64 65 72 2e 64 69 63 74 69 6f 6e 61 72 ctionary_size.=.header.dictionar
36fa0 79 5f 73 69 7a 65 28 29 3b 0a 20 20 20 20 6d 65 6d 62 65 72 5f 76 65 63 74 6f 72 2e 70 75 73 68 y_size();.....member_vector.push
36fc0 5f 62 61 63 6b 28 20 4d 65 6d 62 65 72 28 20 30 2c 20 74 72 61 69 6c 65 72 2e 64 61 74 61 5f 73 _back(.Member(.0,.trailer.data_s
36fe0 69 7a 65 28 29 2c 20 70 6f 73 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ize(),.pos,.....................
37000 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 6d 65 6d 62 65 72 5f 73 69 7a 65 2c 20 64 69 .................member_size,.di
37020 63 74 69 6f 6e 61 72 79 5f 73 69 7a 65 20 29 20 29 3b 0a 20 20 20 20 69 66 28 20 64 69 63 74 69 ctionary_size.).);.....if(.dicti
37040 6f 6e 61 72 79 5f 73 69 7a 65 5f 20 3c 20 64 69 63 74 69 6f 6e 61 72 79 5f 73 69 7a 65 20 29 0a onary_size_.<.dictionary_size.).
37060 20 20 20 20 20 20 64 69 63 74 69 6f 6e 61 72 79 5f 73 69 7a 65 5f 20 3d 20 64 69 63 74 69 6f 6e ......dictionary_size_.=.diction
37080 61 72 79 5f 73 69 7a 65 3b 0a 20 20 20 20 7d 0a 20 20 69 66 28 20 70 6f 73 20 21 3d 20 30 20 7c ary_size;.....}...if(.pos.!=.0.|
370a0 7c 20 6d 65 6d 62 65 72 5f 76 65 63 74 6f 72 2e 65 6d 70 74 79 28 29 20 29 0a 20 20 20 20 7b 0a |.member_vector.empty().).....{.
370c0 20 20 20 20 6d 65 6d 62 65 72 5f 76 65 63 74 6f 72 2e 63 6c 65 61 72 28 29 3b 0a 20 20 20 20 69 ....member_vector.clear();.....i
370e0 66 28 20 72 65 74 76 61 6c 5f 20 3d 3d 20 30 20 29 20 7b 20 65 72 72 6f 72 5f 20 3d 20 22 43 61 f(.retval_.==.0.).{.error_.=."Ca
37100 6e 27 74 20 63 72 65 61 74 65 20 66 69 6c 65 20 69 6e 64 65 78 2e 22 3b 20 72 65 74 76 61 6c 5f n't.create.file.index.";.retval_
37120 20 3d 20 32 3b 20 7d 0a 20 20 20 20 72 65 74 75 72 6e 3b 0a 20 20 20 20 7d 0a 20 20 73 74 64 3a .=.2;.}.....return;.....}...std:
37140 3a 72 65 76 65 72 73 65 28 20 6d 65 6d 62 65 72 5f 76 65 63 74 6f 72 2e 62 65 67 69 6e 28 29 2c :reverse(.member_vector.begin(),
37160 20 6d 65 6d 62 65 72 5f 76 65 63 74 6f 72 2e 65 6e 64 28 29 20 29 3b 0a 20 20 66 6f 72 28 20 75 .member_vector.end().);...for(.u
37180 6e 73 69 67 6e 65 64 20 6c 6f 6e 67 20 69 20 3d 20 30 3b 20 3b 20 2b 2b 69 20 29 0a 20 20 20 20 nsigned.long.i.=.0;.;.++i.).....
371a0 7b 0a 20 20 20 20 63 6f 6e 73 74 20 6c 6f 6e 67 20 6c 6f 6e 67 20 65 6e 64 20 3d 20 6d 65 6d 62 {.....const.long.long.end.=.memb
371c0 65 72 5f 76 65 63 74 6f 72 5b 69 5d 2e 64 62 6c 6f 63 6b 2e 65 6e 64 28 29 3b 0a 20 20 20 20 69 er_vector[i].dblock.end();.....i
371e0 66 28 20 65 6e 64 20 3c 20 30 20 7c 7c 20 65 6e 64 20 3e 20 49 4e 54 36 34 5f 4d 41 58 20 29 0a f(.end.<.0.||.end.>.INT64_MAX.).
37200 20 20 20 20 20 20 7b 0a 20 20 20 20 20 20 6d 65 6d 62 65 72 5f 76 65 63 74 6f 72 2e 63 6c 65 61 ......{.......member_vector.clea
37220 72 28 29 3b 0a 20 20 20 20 20 20 65 72 72 6f 72 5f 20 3d 20 22 44 61 74 61 20 69 6e 20 69 6e 70 r();.......error_.=."Data.in.inp
37240 75 74 20 66 69 6c 65 20 69 73 20 74 6f 6f 20 6c 6f 6e 67 20 28 32 5e 36 33 20 62 79 74 65 73 20 ut.file.is.too.long.(2^63.bytes.
37260 6f 72 20 6d 6f 72 65 29 2e 22 3b 0a 20 20 20 20 20 20 72 65 74 76 61 6c 5f 20 3d 20 32 3b 20 72 or.more).";.......retval_.=.2;.r
37280 65 74 75 72 6e 3b 0a 20 20 20 20 20 20 7d 0a 20 20 20 20 69 66 28 20 69 20 2b 20 31 20 3e 3d 20 eturn;.......}.....if(.i.+.1.>=.
372a0 6d 65 6d 62 65 72 5f 76 65 63 74 6f 72 2e 73 69 7a 65 28 29 20 29 20 62 72 65 61 6b 3b 0a 20 20 member_vector.size().).break;...
372c0 20 20 6d 65 6d 62 65 72 5f 76 65 63 74 6f 72 5b 69 2b 31 5d 2e 64 62 6c 6f 63 6b 2e 70 6f 73 28 ..member_vector[i+1].dblock.pos(
372e0 20 65 6e 64 20 29 3b 0a 20 20 20 20 7d 0a 20 20 7d 0a 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .end.);.....}...}...............
37300 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
37320 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
37340 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
37360 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
37380 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
373a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
373c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
373e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
37400 6c 7a 69 70 2d 31 2e 32 32 2f 4e 45 57 53 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 lzip-1.22/NEWS..................
37420 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
37440 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
37460 00 00 00 00 30 30 30 30 36 34 34 00 30 30 30 30 30 30 30 00 30 30 30 30 30 30 30 00 30 30 30 30 ....0000644.0000000.0000000.0000
37480 30 30 30 32 37 33 31 00 31 33 37 37 34 36 33 34 35 33 36 00 30 31 33 31 33 36 00 20 30 00 00 00 0002731.13774634536.013136..0...
374a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
374c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
374e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
37500 00 75 73 74 61 72 00 30 30 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .ustar.00root...................
37520 00 00 00 00 00 00 00 00 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .........root...................
37540 00 00 00 00 00 00 00 00 00 30 30 30 30 30 30 30 00 30 30 30 30 30 30 30 00 00 00 00 00 00 00 00 .........0000000.0000000........
37560 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
37580 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
375a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
375c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
375e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
37600 43 68 61 6e 67 65 73 20 69 6e 20 76 65 72 73 69 6f 6e 20 31 2e 32 32 3a 0a 0a 4c 7a 69 70 20 6e Changes.in.version.1.22:..Lzip.n
37620 6f 77 20 72 65 70 6f 72 74 73 20 61 6e 20 65 72 72 6f 72 20 69 66 20 61 20 66 69 6c 65 20 6e 61 ow.reports.an.error.if.a.file.na
37640 6d 65 20 69 73 20 65 6d 70 74 79 20 28 6c 7a 69 70 20 2d 74 20 22 22 29 2e 0a 0a 4f 70 74 69 6f me.is.empty.(lzip.-t."")...Optio
37660 6e 20 27 2d 6f 2c 20 2d 2d 6f 75 74 70 75 74 27 20 6e 6f 77 20 62 65 68 61 76 65 73 20 6c 69 6b n.'-o,.--output'.now.behaves.lik
37680 65 20 27 2d 63 2c 20 2d 2d 73 74 64 6f 75 74 27 2c 20 62 75 74 20 73 65 6e 64 69 6e 67 20 74 68 e.'-c,.--stdout',.but.sending.th
376a0 65 0a 6f 75 74 70 75 74 20 75 6e 63 6f 6e 64 69 74 69 6f 6e 61 6c 6c 79 20 74 6f 20 61 20 66 69 e.output.unconditionally.to.a.fi
376c0 6c 65 20 69 6e 73 74 65 61 64 20 6f 66 20 74 6f 20 73 74 61 6e 64 61 72 64 20 6f 75 74 70 75 74 le.instead.of.to.standard.output
376e0 2e 20 53 65 65 20 74 68 65 20 6e 65 77 0a 64 65 73 63 72 69 70 74 69 6f 6e 20 6f 66 20 27 2d 6f ..See.the.new.description.of.'-o
37700 27 20 69 6e 20 74 68 65 20 6d 61 6e 75 61 6c 2e 20 54 68 69 73 20 63 68 61 6e 67 65 20 69 73 20 '.in.the.manual..This.change.is.
37720 62 61 63 6b 77 61 72 64 73 20 63 6f 6d 70 61 74 69 62 6c 65 20 6f 6e 6c 79 0a 77 68 65 6e 20 28 backwards.compatible.only.when.(
37740 64 65 29 63 6f 6d 70 72 65 73 73 69 6e 67 20 66 72 6f 6d 20 73 74 61 6e 64 61 72 64 20 69 6e 70 de)compressing.from.standard.inp
37760 75 74 20 61 6c 6f 6e 65 2e 20 54 68 65 72 65 66 6f 72 65 20 63 6f 6d 6d 61 6e 64 73 20 6c 69 6b ut.alone..Therefore.commands.lik
37780 65 3a 0a 20 20 6c 7a 69 70 20 2d 6f 20 66 6f 6f 2e 6c 7a 20 2d 20 62 61 72 20 3c 20 66 6f 6f 0a e:...lzip.-o.foo.lz.-.bar.<.foo.
377a0 6d 75 73 74 20 6e 6f 77 20 62 65 20 73 70 6c 69 74 20 69 6e 74 6f 3a 0a 20 20 6c 7a 69 70 20 2d must.now.be.split.into:...lzip.-
377c0 6f 20 66 6f 6f 2e 6c 7a 20 2d 20 3c 20 66 6f 6f 0a 20 20 6c 7a 69 70 20 62 61 72 0a 6f 72 20 72 o.foo.lz.-.<.foo...lzip.bar.or.r
377e0 65 77 72 69 74 74 65 6e 20 61 73 3a 0a 20 20 6c 7a 69 70 20 2d 20 62 61 72 20 3c 20 66 6f 6f 20 ewritten.as:...lzip.-.bar.<.foo.
37800 3e 20 66 6f 6f 2e 6c 7a 0a 0a 57 68 65 6e 20 75 73 69 6e 67 20 27 2d 63 27 20 6f 72 20 27 2d 6f >.foo.lz..When.using.'-c'.or.'-o
37820 27 2c 20 6c 7a 69 70 20 6e 6f 77 20 63 68 65 63 6b 73 20 77 68 65 74 68 65 72 20 74 68 65 20 6f ',.lzip.now.checks.whether.the.o
37840 75 74 70 75 74 20 69 73 20 61 20 74 65 72 6d 69 6e 61 6c 0a 6f 6e 6c 79 20 6f 6e 63 65 2e 0a 0a utput.is.a.terminal.only.once...
37860 4c 7a 69 70 20 6e 6f 77 20 64 6f 65 73 20 6e 6f 74 20 65 76 65 6e 20 6f 70 65 6e 20 74 68 65 20 Lzip.now.does.not.even.open.the.
37880 6f 75 74 70 75 74 20 66 69 6c 65 20 69 66 20 74 68 65 20 69 6e 70 75 74 20 66 69 6c 65 20 69 73 output.file.if.the.input.file.is
378a0 20 61 20 74 65 72 6d 69 6e 61 6c 2e 0a 0a 4c 7a 69 70 20 63 61 6e 20 6e 6f 77 20 62 65 20 62 75 .a.terminal...Lzip.can.now.be.bu
378c0 69 6c 74 2c 20 74 65 73 74 65 64 2c 20 61 6e 64 20 69 6e 73 74 61 6c 6c 65 64 20 6f 6e 20 73 79 ilt,.tested,.and.installed.on.sy
378e0 73 74 65 6d 73 20 6c 61 63 6b 69 6e 67 20 61 20 27 6d 61 6b 65 27 0a 70 72 6f 67 72 61 6d 2e 20 stems.lacking.a.'make'.program..
37900 28 46 65 61 74 75 72 65 20 73 75 67 67 65 73 74 65 64 20 62 79 20 4d 6f 68 61 6d 6d 61 64 20 41 (Feature.suggested.by.Mohammad.A
37920 6b 68 6c 61 67 68 69 29 2e 0a 0a 54 68 65 20 77 6f 72 64 73 20 27 64 65 63 6f 6d 70 72 65 73 73 khlaghi)...The.words.'decompress
37940 65 64 27 20 61 6e 64 20 27 63 6f 6d 70 72 65 73 73 65 64 27 20 68 61 76 65 20 62 65 65 6e 20 72 ed'.and.'compressed'.have.been.r
37960 65 70 6c 61 63 65 64 20 77 69 74 68 20 74 68 65 0a 73 68 6f 72 74 65 72 20 27 6f 75 74 27 20 61 eplaced.with.the.shorter.'out'.a
37980 6e 64 20 27 69 6e 27 20 69 6e 20 74 68 65 20 76 65 72 62 6f 73 65 20 6f 75 74 70 75 74 20 77 68 nd.'in'.in.the.verbose.output.wh
379a0 65 6e 20 64 65 63 6f 6d 70 72 65 73 73 69 6e 67 20 6f 72 20 74 65 73 74 69 6e 67 2e 0a 0a 4f 70 en.decompressing.or.testing...Op
379c0 74 69 6f 6e 20 27 2d 2d 6c 69 73 74 27 20 6e 6f 77 20 72 65 70 6f 72 74 73 20 63 6f 72 72 75 70 tion.'--list'.now.reports.corrup
379e0 74 69 6f 6e 20 6f 72 20 74 72 75 6e 63 61 74 69 6f 6e 20 6f 66 20 74 68 65 20 6c 61 73 74 20 68 tion.or.truncation.of.the.last.h
37a00 65 61 64 65 72 20 69 6e 20 61 0a 6d 75 6c 74 69 6d 65 6e 62 65 72 20 66 69 6c 65 20 73 70 65 63 eader.in.a.multimenber.file.spec
37a20 69 66 69 63 61 6c 6c 79 20 69 6e 73 74 65 61 64 20 6f 66 20 73 68 6f 77 69 6e 67 20 74 68 65 20 ifically.instead.of.showing.the.
37a40 67 65 6e 65 72 69 63 20 6d 65 73 73 61 67 65 20 22 4c 61 73 74 0a 6d 65 6d 62 65 72 20 69 6e 20 generic.message."Last.member.in.
37a60 69 6e 70 75 74 20 66 69 6c 65 20 69 73 20 74 72 75 6e 63 61 74 65 64 20 6f 72 20 63 6f 72 72 75 input.file.is.truncated.or.corru
37a80 70 74 2e 22 0a 0a 54 68 65 20 63 6f 6d 6d 61 6e 64 73 20 6e 65 65 64 65 64 20 74 6f 20 65 78 74 pt."..The.commands.needed.to.ext
37aa0 72 61 63 74 20 66 69 6c 65 73 20 66 72 6f 6d 20 61 20 74 61 72 2e 6c 7a 20 61 72 63 68 69 76 65 ract.files.from.a.tar.lz.archive
37ac0 20 68 61 76 65 20 62 65 65 6e 0a 64 6f 63 75 6d 65 6e 74 65 64 20 69 6e 20 74 68 65 20 6d 61 6e .have.been.documented.in.the.man
37ae0 75 61 6c 2c 20 69 6e 20 74 68 65 20 6f 75 74 70 75 74 20 6f 66 20 27 2d 2d 68 65 6c 70 27 2c 20 ual,.in.the.output.of.'--help',.
37b00 61 6e 64 20 69 6e 20 74 68 65 20 6d 61 6e 20 70 61 67 65 2e 0a 0a 50 6c 7a 69 70 20 61 6e 64 20 and.in.the.man.page...Plzip.and.
37b20 74 61 72 6c 7a 20 61 72 65 20 6d 65 6e 74 69 6f 6e 65 64 20 69 6e 20 74 68 65 20 6d 61 6e 75 61 tarlz.are.mentioned.in.the.manua
37b40 6c 20 61 73 20 61 6c 74 65 72 6e 61 74 69 76 65 73 20 66 6f 72 0a 6d 75 6c 74 69 70 72 6f 63 65 l.as.alternatives.for.multiproce
37b60 73 73 6f 72 73 2e 0a 0a 53 65 76 65 72 61 6c 20 66 69 78 65 73 20 61 6e 64 20 69 6d 70 72 6f 76 ssors...Several.fixes.and.improv
37b80 65 6d 65 6e 74 73 20 68 61 76 65 20 62 65 65 6e 20 6d 61 64 65 20 74 6f 20 74 68 65 20 6d 61 6e ements.have.been.made.to.the.man
37ba0 75 61 6c 2e 0a 0a 39 20 6e 65 77 20 74 65 73 74 20 66 69 6c 65 73 20 68 61 76 65 20 62 65 65 6e ual...9.new.test.files.have.been
37bc0 20 61 64 64 65 64 20 74 6f 20 74 68 65 20 74 65 73 74 73 75 69 74 65 2e 0a 00 00 00 00 00 00 00 .added.to.the.testsuite.........
37be0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
37c00 6c 7a 69 70 2d 31 2e 32 32 2f 66 61 73 74 5f 65 6e 63 6f 64 65 72 2e 68 00 00 00 00 00 00 00 00 lzip-1.22/fast_encoder.h........
37c20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
37c40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
37c60 00 00 00 00 30 30 30 30 36 34 34 00 30 30 30 30 30 30 30 00 30 30 30 30 30 30 30 00 30 30 30 30 ....0000644.0000000.0000000.0000
37c80 30 30 30 33 34 37 35 00 31 33 37 37 33 36 31 37 31 33 31 00 30 31 35 32 34 31 00 20 30 00 00 00 0003475.13773617131.015241..0...
37ca0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
37cc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
37ce0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
37d00 00 75 73 74 61 72 00 30 30 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .ustar.00root...................
37d20 00 00 00 00 00 00 00 00 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .........root...................
37d40 00 00 00 00 00 00 00 00 00 30 30 30 30 30 30 30 00 30 30 30 30 30 30 30 00 00 00 00 00 00 00 00 .........0000000.0000000........
37d60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
37d80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
37da0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
37dc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
37de0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
37e00 2f 2a 20 4c 7a 69 70 20 2d 20 4c 5a 4d 41 20 6c 6f 73 73 6c 65 73 73 20 64 61 74 61 20 63 6f 6d /*.Lzip.-.LZMA.lossless.data.com
37e20 70 72 65 73 73 6f 72 0a 20 20 20 43 6f 70 79 72 69 67 68 74 20 28 43 29 20 32 30 30 38 2d 32 30 pressor....Copyright.(C).2008-20
37e40 32 31 20 41 6e 74 6f 6e 69 6f 20 44 69 61 7a 20 44 69 61 7a 2e 0a 0a 20 20 20 54 68 69 73 20 70 21.Antonio.Diaz.Diaz......This.p
37e60 72 6f 67 72 61 6d 20 69 73 20 66 72 65 65 20 73 6f 66 74 77 61 72 65 3a 20 79 6f 75 20 63 61 6e rogram.is.free.software:.you.can
37e80 20 72 65 64 69 73 74 72 69 62 75 74 65 20 69 74 20 61 6e 64 2f 6f 72 20 6d 6f 64 69 66 79 0a 20 .redistribute.it.and/or.modify..
37ea0 20 20 69 74 20 75 6e 64 65 72 20 74 68 65 20 74 65 72 6d 73 20 6f 66 20 74 68 65 20 47 4e 55 20 ..it.under.the.terms.of.the.GNU.
37ec0 47 65 6e 65 72 61 6c 20 50 75 62 6c 69 63 20 4c 69 63 65 6e 73 65 20 61 73 20 70 75 62 6c 69 73 General.Public.License.as.publis
37ee0 68 65 64 20 62 79 0a 20 20 20 74 68 65 20 46 72 65 65 20 53 6f 66 74 77 61 72 65 20 46 6f 75 6e hed.by....the.Free.Software.Foun
37f00 64 61 74 69 6f 6e 2c 20 65 69 74 68 65 72 20 76 65 72 73 69 6f 6e 20 32 20 6f 66 20 74 68 65 20 dation,.either.version.2.of.the.
37f20 4c 69 63 65 6e 73 65 2c 20 6f 72 0a 20 20 20 28 61 74 20 79 6f 75 72 20 6f 70 74 69 6f 6e 29 20 License,.or....(at.your.option).
37f40 61 6e 79 20 6c 61 74 65 72 20 76 65 72 73 69 6f 6e 2e 0a 0a 20 20 20 54 68 69 73 20 70 72 6f 67 any.later.version......This.prog
37f60 72 61 6d 20 69 73 20 64 69 73 74 72 69 62 75 74 65 64 20 69 6e 20 74 68 65 20 68 6f 70 65 20 74 ram.is.distributed.in.the.hope.t
37f80 68 61 74 20 69 74 20 77 69 6c 6c 20 62 65 20 75 73 65 66 75 6c 2c 0a 20 20 20 62 75 74 20 57 49 hat.it.will.be.useful,....but.WI
37fa0 54 48 4f 55 54 20 41 4e 59 20 57 41 52 52 41 4e 54 59 3b 20 77 69 74 68 6f 75 74 20 65 76 65 6e THOUT.ANY.WARRANTY;.without.even
37fc0 20 74 68 65 20 69 6d 70 6c 69 65 64 20 77 61 72 72 61 6e 74 79 20 6f 66 0a 20 20 20 4d 45 52 43 .the.implied.warranty.of....MERC
37fe0 48 41 4e 54 41 42 49 4c 49 54 59 20 6f 72 20 46 49 54 4e 45 53 53 20 46 4f 52 20 41 20 50 41 52 HANTABILITY.or.FITNESS.FOR.A.PAR
38000 54 49 43 55 4c 41 52 20 50 55 52 50 4f 53 45 2e 20 20 53 65 65 20 74 68 65 0a 20 20 20 47 4e 55 TICULAR.PURPOSE...See.the....GNU
38020 20 47 65 6e 65 72 61 6c 20 50 75 62 6c 69 63 20 4c 69 63 65 6e 73 65 20 66 6f 72 20 6d 6f 72 65 .General.Public.License.for.more
38040 20 64 65 74 61 69 6c 73 2e 0a 0a 20 20 20 59 6f 75 20 73 68 6f 75 6c 64 20 68 61 76 65 20 72 65 .details......You.should.have.re
38060 63 65 69 76 65 64 20 61 20 63 6f 70 79 20 6f 66 20 74 68 65 20 47 4e 55 20 47 65 6e 65 72 61 6c ceived.a.copy.of.the.GNU.General
38080 20 50 75 62 6c 69 63 20 4c 69 63 65 6e 73 65 0a 20 20 20 61 6c 6f 6e 67 20 77 69 74 68 20 74 68 .Public.License....along.with.th
380a0 69 73 20 70 72 6f 67 72 61 6d 2e 20 20 49 66 20 6e 6f 74 2c 20 73 65 65 20 3c 68 74 74 70 3a 2f is.program...If.not,.see.<http:/
380c0 2f 77 77 77 2e 67 6e 75 2e 6f 72 67 2f 6c 69 63 65 6e 73 65 73 2f 3e 2e 0a 2a 2f 0a 0a 63 6c 61 /www.gnu.org/licenses/>..*/..cla
380e0 73 73 20 46 4c 5a 5f 65 6e 63 6f 64 65 72 20 3a 20 70 75 62 6c 69 63 20 4c 5a 5f 65 6e 63 6f 64 ss.FLZ_encoder.:.public.LZ_encod
38100 65 72 5f 62 61 73 65 0a 20 20 7b 0a 20 20 75 6e 73 69 67 6e 65 64 20 6b 65 79 34 3b 09 09 09 2f er_base...{...unsigned.key4;.../
38120 2f 20 6b 65 79 20 6d 61 64 65 20 66 72 6f 6d 20 6c 61 74 65 73 74 20 34 20 62 79 74 65 73 0a 0a /.key.made.from.latest.4.bytes..
38140 20 20 76 6f 69 64 20 72 65 73 65 74 5f 6b 65 79 34 28 29 0a 20 20 20 20 7b 0a 20 20 20 20 6b 65 ..void.reset_key4().....{.....ke
38160 79 34 20 3d 20 30 3b 0a 20 20 20 20 66 6f 72 28 20 69 6e 74 20 69 20 3d 20 30 3b 20 69 20 3c 20 y4.=.0;.....for(.int.i.=.0;.i.<.
38180 33 20 26 26 20 69 20 3c 20 61 76 61 69 6c 61 62 6c 65 5f 62 79 74 65 73 28 29 3b 20 2b 2b 69 20 3.&&.i.<.available_bytes();.++i.
381a0 29 0a 20 20 20 20 20 20 6b 65 79 34 20 3d 20 28 20 6b 65 79 34 20 3c 3c 20 34 20 29 20 5e 20 62 ).......key4.=.(.key4.<<.4.).^.b
381c0 75 66 66 65 72 5b 69 5d 3b 0a 20 20 20 20 7d 0a 0a 20 20 69 6e 74 20 6c 6f 6e 67 65 73 74 5f 6d uffer[i];.....}....int.longest_m
381e0 61 74 63 68 5f 6c 65 6e 28 20 69 6e 74 20 2a 20 63 6f 6e 73 74 20 64 69 73 74 61 6e 63 65 20 29 atch_len(.int.*.const.distance.)
38200 3b 0a 0a 20 20 76 6f 69 64 20 75 70 64 61 74 65 5f 61 6e 64 5f 6d 6f 76 65 28 20 69 6e 74 20 6e ;....void.update_and_move(.int.n
38220 20 29 0a 20 20 20 20 7b 0a 20 20 20 20 77 68 69 6c 65 28 20 2d 2d 6e 20 3e 3d 20 30 20 29 0a 20 .).....{.....while(.--n.>=.0.)..
38240 20 20 20 20 20 7b 0a 20 20 20 20 20 20 69 66 28 20 61 76 61 69 6c 61 62 6c 65 5f 62 79 74 65 73 .....{.......if(.available_bytes
38260 28 29 20 3e 3d 20 34 20 29 0a 20 20 20 20 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 6b 65 79 34 ().>=.4.).........{.........key4
38280 20 3d 20 28 20 28 20 6b 65 79 34 20 3c 3c 20 34 20 29 20 5e 20 62 75 66 66 65 72 5b 70 6f 73 2b .=.(.(.key4.<<.4.).^.buffer[pos+
382a0 33 5d 20 29 20 26 20 6b 65 79 34 5f 6d 61 73 6b 3b 0a 20 20 20 20 20 20 20 20 70 6f 73 5f 61 72 3].).&.key4_mask;.........pos_ar
382c0 72 61 79 5b 63 79 63 6c 69 63 5f 70 6f 73 5d 20 3d 20 70 72 65 76 5f 70 6f 73 69 74 69 6f 6e 73 ray[cyclic_pos].=.prev_positions
382e0 5b 6b 65 79 34 5d 3b 0a 20 20 20 20 20 20 20 20 70 72 65 76 5f 70 6f 73 69 74 69 6f 6e 73 5b 6b [key4];.........prev_positions[k
38300 65 79 34 5d 20 3d 20 70 6f 73 20 2b 20 31 3b 0a 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 ey4].=.pos.+.1;.........}.......
38320 6d 6f 76 65 5f 70 6f 73 28 29 3b 0a 20 20 20 20 20 20 7d 0a 20 20 20 20 7d 0a 0a 20 20 65 6e 75 move_pos();.......}.....}....enu
38340 6d 20 7b 20 62 65 66 6f 72 65 5f 73 69 7a 65 20 3d 20 30 2c 0a 20 20 20 20 20 20 20 20 20 64 69 m.{.before_size.=.0,..........di
38360 63 74 5f 73 69 7a 65 20 3d 20 36 35 35 33 36 2c 0a 20 20 20 20 20 20 20 20 20 2f 2f 20 62 79 74 ct_size.=.65536,..........//.byt
38380 65 73 20 74 6f 20 6b 65 65 70 20 69 6e 20 62 75 66 66 65 72 20 61 66 74 65 72 20 70 6f 73 0a 20 es.to.keep.in.buffer.after.pos..
383a0 20 20 20 20 20 20 20 20 61 66 74 65 72 5f 73 69 7a 65 20 3d 20 6d 61 78 5f 6d 61 74 63 68 5f 6c ........after_size.=.max_match_l
383c0 65 6e 2c 0a 20 20 20 20 20 20 20 20 20 64 69 63 74 5f 66 61 63 74 6f 72 20 3d 20 31 36 2c 0a 20 en,..........dict_factor.=.16,..
383e0 20 20 20 20 20 20 20 20 6e 75 6d 5f 70 72 65 76 5f 70 6f 73 69 74 69 6f 6e 73 32 33 20 3d 20 30 ........num_prev_positions23.=.0
38400 2c 0a 20 20 20 20 20 20 20 20 20 70 6f 73 5f 61 72 72 61 79 5f 66 61 63 74 6f 72 20 3d 20 31 20 ,..........pos_array_factor.=.1.
38420 7d 3b 0a 0a 70 75 62 6c 69 63 3a 0a 20 20 46 4c 5a 5f 65 6e 63 6f 64 65 72 28 20 63 6f 6e 73 74 };..public:...FLZ_encoder(.const
38440 20 69 6e 74 20 69 66 64 2c 20 63 6f 6e 73 74 20 69 6e 74 20 6f 75 74 66 64 20 29 0a 20 20 20 20 .int.ifd,.const.int.outfd.).....
38460 3a 0a 20 20 20 20 4c 5a 5f 65 6e 63 6f 64 65 72 5f 62 61 73 65 28 20 62 65 66 6f 72 65 5f 73 69 :.....LZ_encoder_base(.before_si
38480 7a 65 2c 20 64 69 63 74 5f 73 69 7a 65 2c 20 61 66 74 65 72 5f 73 69 7a 65 2c 20 64 69 63 74 5f ze,.dict_size,.after_size,.dict_
384a0 66 61 63 74 6f 72 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 6e 75 6d factor,......................num
384c0 5f 70 72 65 76 5f 70 6f 73 69 74 69 6f 6e 73 32 33 2c 20 70 6f 73 5f 61 72 72 61 79 5f 66 61 63 _prev_positions23,.pos_array_fac
384e0 74 6f 72 2c 20 69 66 64 2c 20 6f 75 74 66 64 20 29 0a 20 20 20 20 7b 7d 0a 0a 20 20 62 6f 6f 6c tor,.ifd,.outfd.).....{}....bool
38500 20 65 6e 63 6f 64 65 5f 6d 65 6d 62 65 72 28 20 63 6f 6e 73 74 20 75 6e 73 69 67 6e 65 64 20 6c .encode_member(.const.unsigned.l
38520 6f 6e 67 20 6c 6f 6e 67 20 6d 65 6d 62 65 72 5f 73 69 7a 65 20 29 3b 0a 20 20 7d 3b 0a 00 00 00 ong.long.member_size.);...};....
38540 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
38560 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
38580 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
385a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
385c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
385e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
38600 6c 7a 69 70 2d 31 2e 32 32 2f 65 6e 63 6f 64 65 72 5f 62 61 73 65 2e 68 00 00 00 00 00 00 00 00 lzip-1.22/encoder_base.h........
38620 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
38640 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
38660 00 00 00 00 30 30 30 30 36 34 34 00 30 30 30 30 30 30 30 00 30 30 30 30 30 30 30 00 30 30 30 30 ....0000644.0000000.0000000.0000
38680 30 30 33 35 30 34 31 00 31 33 37 37 33 36 31 37 31 33 31 00 30 31 35 32 31 30 00 20 30 00 00 00 0035041.13773617131.015210..0...
386a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
386c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
386e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
38700 00 75 73 74 61 72 00 30 30 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .ustar.00root...................
38720 00 00 00 00 00 00 00 00 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .........root...................
38740 00 00 00 00 00 00 00 00 00 30 30 30 30 30 30 30 00 30 30 30 30 30 30 30 00 00 00 00 00 00 00 00 .........0000000.0000000........
38760 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
38780 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
387a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
387c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
387e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
38800 2f 2a 20 4c 7a 69 70 20 2d 20 4c 5a 4d 41 20 6c 6f 73 73 6c 65 73 73 20 64 61 74 61 20 63 6f 6d /*.Lzip.-.LZMA.lossless.data.com
38820 70 72 65 73 73 6f 72 0a 20 20 20 43 6f 70 79 72 69 67 68 74 20 28 43 29 20 32 30 30 38 2d 32 30 pressor....Copyright.(C).2008-20
38840 32 31 20 41 6e 74 6f 6e 69 6f 20 44 69 61 7a 20 44 69 61 7a 2e 0a 0a 20 20 20 54 68 69 73 20 70 21.Antonio.Diaz.Diaz......This.p
38860 72 6f 67 72 61 6d 20 69 73 20 66 72 65 65 20 73 6f 66 74 77 61 72 65 3a 20 79 6f 75 20 63 61 6e rogram.is.free.software:.you.can
38880 20 72 65 64 69 73 74 72 69 62 75 74 65 20 69 74 20 61 6e 64 2f 6f 72 20 6d 6f 64 69 66 79 0a 20 .redistribute.it.and/or.modify..
388a0 20 20 69 74 20 75 6e 64 65 72 20 74 68 65 20 74 65 72 6d 73 20 6f 66 20 74 68 65 20 47 4e 55 20 ..it.under.the.terms.of.the.GNU.
388c0 47 65 6e 65 72 61 6c 20 50 75 62 6c 69 63 20 4c 69 63 65 6e 73 65 20 61 73 20 70 75 62 6c 69 73 General.Public.License.as.publis
388e0 68 65 64 20 62 79 0a 20 20 20 74 68 65 20 46 72 65 65 20 53 6f 66 74 77 61 72 65 20 46 6f 75 6e hed.by....the.Free.Software.Foun
38900 64 61 74 69 6f 6e 2c 20 65 69 74 68 65 72 20 76 65 72 73 69 6f 6e 20 32 20 6f 66 20 74 68 65 20 dation,.either.version.2.of.the.
38920 4c 69 63 65 6e 73 65 2c 20 6f 72 0a 20 20 20 28 61 74 20 79 6f 75 72 20 6f 70 74 69 6f 6e 29 20 License,.or....(at.your.option).
38940 61 6e 79 20 6c 61 74 65 72 20 76 65 72 73 69 6f 6e 2e 0a 0a 20 20 20 54 68 69 73 20 70 72 6f 67 any.later.version......This.prog
38960 72 61 6d 20 69 73 20 64 69 73 74 72 69 62 75 74 65 64 20 69 6e 20 74 68 65 20 68 6f 70 65 20 74 ram.is.distributed.in.the.hope.t
38980 68 61 74 20 69 74 20 77 69 6c 6c 20 62 65 20 75 73 65 66 75 6c 2c 0a 20 20 20 62 75 74 20 57 49 hat.it.will.be.useful,....but.WI
389a0 54 48 4f 55 54 20 41 4e 59 20 57 41 52 52 41 4e 54 59 3b 20 77 69 74 68 6f 75 74 20 65 76 65 6e THOUT.ANY.WARRANTY;.without.even
389c0 20 74 68 65 20 69 6d 70 6c 69 65 64 20 77 61 72 72 61 6e 74 79 20 6f 66 0a 20 20 20 4d 45 52 43 .the.implied.warranty.of....MERC
389e0 48 41 4e 54 41 42 49 4c 49 54 59 20 6f 72 20 46 49 54 4e 45 53 53 20 46 4f 52 20 41 20 50 41 52 HANTABILITY.or.FITNESS.FOR.A.PAR
38a00 54 49 43 55 4c 41 52 20 50 55 52 50 4f 53 45 2e 20 20 53 65 65 20 74 68 65 0a 20 20 20 47 4e 55 TICULAR.PURPOSE...See.the....GNU
38a20 20 47 65 6e 65 72 61 6c 20 50 75 62 6c 69 63 20 4c 69 63 65 6e 73 65 20 66 6f 72 20 6d 6f 72 65 .General.Public.License.for.more
38a40 20 64 65 74 61 69 6c 73 2e 0a 0a 20 20 20 59 6f 75 20 73 68 6f 75 6c 64 20 68 61 76 65 20 72 65 .details......You.should.have.re
38a60 63 65 69 76 65 64 20 61 20 63 6f 70 79 20 6f 66 20 74 68 65 20 47 4e 55 20 47 65 6e 65 72 61 6c ceived.a.copy.of.the.GNU.General
38a80 20 50 75 62 6c 69 63 20 4c 69 63 65 6e 73 65 0a 20 20 20 61 6c 6f 6e 67 20 77 69 74 68 20 74 68 .Public.License....along.with.th
38aa0 69 73 20 70 72 6f 67 72 61 6d 2e 20 20 49 66 20 6e 6f 74 2c 20 73 65 65 20 3c 68 74 74 70 3a 2f is.program...If.not,.see.<http:/
38ac0 2f 77 77 77 2e 67 6e 75 2e 6f 72 67 2f 6c 69 63 65 6e 73 65 73 2f 3e 2e 0a 2a 2f 0a 0a 65 6e 75 /www.gnu.org/licenses/>..*/..enu
38ae0 6d 20 7b 20 70 72 69 63 65 5f 73 68 69 66 74 5f 62 69 74 73 20 3d 20 36 2c 0a 20 20 20 20 20 20 m.{.price_shift_bits.=.6,.......
38b00 20 70 72 69 63 65 5f 73 74 65 70 5f 62 69 74 73 20 3d 20 32 2c 0a 20 20 20 20 20 20 20 70 72 69 .price_step_bits.=.2,........pri
38b20 63 65 5f 73 74 65 70 20 3d 20 31 20 3c 3c 20 70 72 69 63 65 5f 73 74 65 70 5f 62 69 74 73 20 7d ce_step.=.1.<<.price_step_bits.}
38b40 3b 0a 0a 63 6c 61 73 73 20 44 69 73 5f 73 6c 6f 74 73 0a 20 20 7b 0a 20 20 75 69 6e 74 38 5f 74 ;..class.Dis_slots...{...uint8_t
38b60 20 64 61 74 61 5b 31 3c 3c 31 30 5d 3b 0a 0a 70 75 62 6c 69 63 3a 0a 20 20 76 6f 69 64 20 69 6e .data[1<<10];..public:...void.in
38b80 69 74 28 29 0a 20 20 20 20 7b 0a 20 20 20 20 66 6f 72 28 20 69 6e 74 20 73 6c 6f 74 20 3d 20 30 it().....{.....for(.int.slot.=.0
38ba0 3b 20 73 6c 6f 74 20 3c 20 34 3b 20 2b 2b 73 6c 6f 74 20 29 20 64 61 74 61 5b 73 6c 6f 74 5d 20 ;.slot.<.4;.++slot.).data[slot].
38bc0 3d 20 73 6c 6f 74 3b 0a 20 20 20 20 66 6f 72 28 20 69 6e 74 20 69 20 3d 20 34 2c 20 73 69 7a 65 =.slot;.....for(.int.i.=.4,.size
38be0 20 3d 20 32 2c 20 73 6c 6f 74 20 3d 20 34 3b 20 73 6c 6f 74 20 3c 20 32 30 3b 20 73 6c 6f 74 20 .=.2,.slot.=.4;.slot.<.20;.slot.
38c00 2b 3d 20 32 20 29 0a 20 20 20 20 20 20 7b 0a 20 20 20 20 20 20 73 74 64 3a 3a 6d 65 6d 73 65 74 +=.2.).......{.......std::memset
38c20 28 20 26 64 61 74 61 5b 69 5d 2c 20 73 6c 6f 74 2c 20 73 69 7a 65 20 29 3b 0a 20 20 20 20 20 20 (.&data[i],.slot,.size.);.......
38c40 73 74 64 3a 3a 6d 65 6d 73 65 74 28 20 26 64 61 74 61 5b 69 2b 73 69 7a 65 5d 2c 20 73 6c 6f 74 std::memset(.&data[i+size],.slot
38c60 20 2b 20 31 2c 20 73 69 7a 65 20 29 3b 0a 20 20 20 20 20 20 73 69 7a 65 20 3c 3c 3d 20 31 3b 0a .+.1,.size.);.......size.<<=.1;.
38c80 20 20 20 20 20 20 69 20 2b 3d 20 73 69 7a 65 3b 0a 20 20 20 20 20 20 7d 0a 20 20 20 20 7d 0a 0a ......i.+=.size;.......}.....}..
38ca0 20 20 75 69 6e 74 38 5f 74 20 6f 70 65 72 61 74 6f 72 5b 5d 28 20 63 6f 6e 73 74 20 69 6e 74 20 ..uint8_t.operator[](.const.int.
38cc0 64 69 73 20 29 20 63 6f 6e 73 74 20 7b 20 72 65 74 75 72 6e 20 64 61 74 61 5b 64 69 73 5d 3b 20 dis.).const.{.return.data[dis];.
38ce0 7d 0a 20 20 7d 3b 0a 0a 65 78 74 65 72 6e 20 44 69 73 5f 73 6c 6f 74 73 20 64 69 73 5f 73 6c 6f }...};..extern.Dis_slots.dis_slo
38d00 74 73 3b 0a 0a 69 6e 6c 69 6e 65 20 75 69 6e 74 38 5f 74 20 67 65 74 5f 73 6c 6f 74 28 20 63 6f ts;..inline.uint8_t.get_slot(.co
38d20 6e 73 74 20 75 6e 73 69 67 6e 65 64 20 64 69 73 20 29 0a 20 20 7b 0a 20 20 69 66 28 20 64 69 73 nst.unsigned.dis.)...{...if(.dis
38d40 20 3c 20 28 31 20 3c 3c 20 31 30 29 20 29 20 72 65 74 75 72 6e 20 64 69 73 5f 73 6c 6f 74 73 5b .<.(1.<<.10).).return.dis_slots[
38d60 64 69 73 5d 3b 0a 20 20 69 66 28 20 64 69 73 20 3c 20 28 31 20 3c 3c 20 31 39 29 20 29 20 72 65 dis];...if(.dis.<.(1.<<.19).).re
38d80 74 75 72 6e 20 64 69 73 5f 73 6c 6f 74 73 5b 64 69 73 3e 3e 20 39 5d 20 2b 20 31 38 3b 0a 20 20 turn.dis_slots[dis>>.9].+.18;...
38da0 69 66 28 20 64 69 73 20 3c 20 28 31 20 3c 3c 20 32 38 29 20 29 20 72 65 74 75 72 6e 20 64 69 73 if(.dis.<.(1.<<.28).).return.dis
38dc0 5f 73 6c 6f 74 73 5b 64 69 73 3e 3e 31 38 5d 20 2b 20 33 36 3b 0a 20 20 72 65 74 75 72 6e 20 64 _slots[dis>>18].+.36;...return.d
38de0 69 73 5f 73 6c 6f 74 73 5b 64 69 73 3e 3e 32 37 5d 20 2b 20 35 34 3b 0a 20 20 7d 0a 0a 0a 63 6c is_slots[dis>>27].+.54;...}...cl
38e00 61 73 73 20 50 72 6f 62 5f 70 72 69 63 65 73 0a 20 20 7b 0a 20 20 73 68 6f 72 74 20 64 61 74 61 ass.Prob_prices...{...short.data
38e20 5b 62 69 74 5f 6d 6f 64 65 6c 5f 74 6f 74 61 6c 20 3e 3e 20 70 72 69 63 65 5f 73 74 65 70 5f 62 [bit_model_total.>>.price_step_b
38e40 69 74 73 5d 3b 0a 0a 70 75 62 6c 69 63 3a 0a 20 20 76 6f 69 64 20 69 6e 69 74 28 29 0a 20 20 20 its];..public:...void.init()....
38e60 20 7b 0a 20 20 20 20 66 6f 72 28 20 69 6e 74 20 69 20 3d 20 30 3b 20 69 20 3c 20 62 69 74 5f 6d .{.....for(.int.i.=.0;.i.<.bit_m
38e80 6f 64 65 6c 5f 74 6f 74 61 6c 20 3e 3e 20 70 72 69 63 65 5f 73 74 65 70 5f 62 69 74 73 3b 20 2b odel_total.>>.price_step_bits;.+
38ea0 2b 69 20 29 0a 20 20 20 20 20 20 7b 0a 20 20 20 20 20 20 75 6e 73 69 67 6e 65 64 20 76 61 6c 20 +i.).......{.......unsigned.val.
38ec0 3d 20 28 20 69 20 2a 20 70 72 69 63 65 5f 73 74 65 70 20 29 20 2b 20 28 20 70 72 69 63 65 5f 73 =.(.i.*.price_step.).+.(.price_s
38ee0 74 65 70 20 2f 20 32 20 29 3b 0a 20 20 20 20 20 20 69 6e 74 20 62 69 74 73 20 3d 20 30 3b 09 09 tep./.2.);.......int.bits.=.0;..
38f00 09 09 2f 2f 20 62 61 73 65 20 32 20 6c 6f 67 61 72 69 74 68 6d 20 6f 66 20 76 61 6c 0a 20 20 20 ..//.base.2.logarithm.of.val....
38f20 20 20 20 66 6f 72 28 20 69 6e 74 20 6a 20 3d 20 30 3b 20 6a 20 3c 20 70 72 69 63 65 5f 73 68 69 ...for(.int.j.=.0;.j.<.price_shi
38f40 66 74 5f 62 69 74 73 3b 20 2b 2b 6a 20 29 0a 20 20 20 20 20 20 20 20 7b 0a 20 20 20 20 20 20 20 ft_bits;.++j.).........{........
38f60 20 76 61 6c 20 3d 20 76 61 6c 20 2a 20 76 61 6c 3b 0a 20 20 20 20 20 20 20 20 62 69 74 73 20 3c .val.=.val.*.val;.........bits.<
38f80 3c 3d 20 31 3b 0a 20 20 20 20 20 20 20 20 77 68 69 6c 65 28 20 76 61 6c 20 3e 3d 20 31 20 3c 3c <=.1;.........while(.val.>=.1.<<
38fa0 20 31 36 20 29 20 7b 20 76 61 6c 20 3e 3e 3d 20 31 3b 20 2b 2b 62 69 74 73 3b 20 7d 0a 20 20 20 .16.).{.val.>>=.1;.++bits;.}....
38fc0 20 20 20 20 20 7d 0a 20 20 20 20 20 20 62 69 74 73 20 2b 3d 20 31 35 3b 09 09 09 09 2f 2f 20 72 .....}.......bits.+=.15;....//.r
38fe0 65 6d 61 69 6e 69 6e 67 20 62 69 74 73 20 69 6e 20 76 61 6c 0a 20 20 20 20 20 20 64 61 74 61 5b emaining.bits.in.val.......data[
39000 69 5d 20 3d 20 28 20 62 69 74 5f 6d 6f 64 65 6c 5f 74 6f 74 61 6c 5f 62 69 74 73 20 3c 3c 20 70 i].=.(.bit_model_total_bits.<<.p
39020 72 69 63 65 5f 73 68 69 66 74 5f 62 69 74 73 20 29 20 2d 20 62 69 74 73 3b 0a 20 20 20 20 20 20 rice_shift_bits.).-.bits;.......
39040 7d 0a 20 20 20 20 7d 0a 0a 20 20 69 6e 74 20 6f 70 65 72 61 74 6f 72 5b 5d 28 20 63 6f 6e 73 74 }.....}....int.operator[](.const
39060 20 69 6e 74 20 70 72 6f 62 61 62 69 6c 69 74 79 20 29 20 63 6f 6e 73 74 0a 20 20 20 20 7b 20 72 .int.probability.).const.....{.r
39080 65 74 75 72 6e 20 64 61 74 61 5b 70 72 6f 62 61 62 69 6c 69 74 79 20 3e 3e 20 70 72 69 63 65 5f eturn.data[probability.>>.price_
390a0 73 74 65 70 5f 62 69 74 73 5d 3b 20 7d 0a 20 20 7d 3b 0a 0a 65 78 74 65 72 6e 20 50 72 6f 62 5f step_bits];.}...};..extern.Prob_
390c0 70 72 69 63 65 73 20 70 72 6f 62 5f 70 72 69 63 65 73 3b 0a 0a 0a 69 6e 6c 69 6e 65 20 69 6e 74 prices.prob_prices;...inline.int
390e0 20 70 72 69 63 65 30 28 20 63 6f 6e 73 74 20 42 69 74 5f 6d 6f 64 65 6c 20 62 6d 20 29 0a 20 20 .price0(.const.Bit_model.bm.)...
39100 7b 20 72 65 74 75 72 6e 20 70 72 6f 62 5f 70 72 69 63 65 73 5b 62 6d 2e 70 72 6f 62 61 62 69 6c {.return.prob_prices[bm.probabil
39120 69 74 79 5d 3b 20 7d 0a 0a 69 6e 6c 69 6e 65 20 69 6e 74 20 70 72 69 63 65 31 28 20 63 6f 6e 73 ity];.}..inline.int.price1(.cons
39140 74 20 42 69 74 5f 6d 6f 64 65 6c 20 62 6d 20 29 0a 20 20 7b 20 72 65 74 75 72 6e 20 70 72 6f 62 t.Bit_model.bm.)...{.return.prob
39160 5f 70 72 69 63 65 73 5b 62 69 74 5f 6d 6f 64 65 6c 5f 74 6f 74 61 6c 20 2d 20 62 6d 2e 70 72 6f _prices[bit_model_total.-.bm.pro
39180 62 61 62 69 6c 69 74 79 5d 3b 20 7d 0a 0a 69 6e 6c 69 6e 65 20 69 6e 74 20 70 72 69 63 65 5f 62 bability];.}..inline.int.price_b
391a0 69 74 28 20 63 6f 6e 73 74 20 42 69 74 5f 6d 6f 64 65 6c 20 62 6d 2c 20 63 6f 6e 73 74 20 62 6f it(.const.Bit_model.bm,.const.bo
391c0 6f 6c 20 62 69 74 20 29 0a 20 20 7b 20 72 65 74 75 72 6e 20 28 20 62 69 74 20 3f 20 70 72 69 63 ol.bit.)...{.return.(.bit.?.pric
391e0 65 31 28 20 62 6d 20 29 20 3a 20 70 72 69 63 65 30 28 20 62 6d 20 29 20 29 3b 20 7d 0a 0a 0a 69 e1(.bm.).:.price0(.bm.).);.}...i
39200 6e 6c 69 6e 65 20 69 6e 74 20 70 72 69 63 65 5f 73 79 6d 62 6f 6c 33 28 20 63 6f 6e 73 74 20 42 nline.int.price_symbol3(.const.B
39220 69 74 5f 6d 6f 64 65 6c 20 62 6d 5b 5d 2c 20 69 6e 74 20 73 79 6d 62 6f 6c 20 29 0a 20 20 7b 0a it_model.bm[],.int.symbol.)...{.
39240 20 20 62 6f 6f 6c 20 62 69 74 20 3d 20 73 79 6d 62 6f 6c 20 26 20 31 3b 0a 20 20 73 79 6d 62 6f ..bool.bit.=.symbol.&.1;...symbo
39260 6c 20 7c 3d 20 38 3b 20 73 79 6d 62 6f 6c 20 3e 3e 3d 20 31 3b 0a 20 20 69 6e 74 20 70 72 69 63 l.|=.8;.symbol.>>=.1;...int.pric
39280 65 20 3d 20 70 72 69 63 65 5f 62 69 74 28 20 62 6d 5b 73 79 6d 62 6f 6c 5d 2c 20 62 69 74 20 29 e.=.price_bit(.bm[symbol],.bit.)
392a0 3b 0a 20 20 62 69 74 20 3d 20 73 79 6d 62 6f 6c 20 26 20 31 3b 20 73 79 6d 62 6f 6c 20 3e 3e 3d ;...bit.=.symbol.&.1;.symbol.>>=
392c0 20 31 3b 20 70 72 69 63 65 20 2b 3d 20 70 72 69 63 65 5f 62 69 74 28 20 62 6d 5b 73 79 6d 62 6f .1;.price.+=.price_bit(.bm[symbo
392e0 6c 5d 2c 20 62 69 74 20 29 3b 0a 20 20 72 65 74 75 72 6e 20 70 72 69 63 65 20 2b 20 70 72 69 63 l],.bit.);...return.price.+.pric
39300 65 5f 62 69 74 28 20 62 6d 5b 31 5d 2c 20 73 79 6d 62 6f 6c 20 26 20 31 20 29 3b 0a 20 20 7d 0a e_bit(.bm[1],.symbol.&.1.);...}.
39320 0a 0a 69 6e 6c 69 6e 65 20 69 6e 74 20 70 72 69 63 65 5f 73 79 6d 62 6f 6c 36 28 20 63 6f 6e 73 ..inline.int.price_symbol6(.cons
39340 74 20 42 69 74 5f 6d 6f 64 65 6c 20 62 6d 5b 5d 2c 20 75 6e 73 69 67 6e 65 64 20 73 79 6d 62 6f t.Bit_model.bm[],.unsigned.symbo
39360 6c 20 29 0a 20 20 7b 0a 20 20 62 6f 6f 6c 20 62 69 74 20 3d 20 73 79 6d 62 6f 6c 20 26 20 31 3b l.)...{...bool.bit.=.symbol.&.1;
39380 0a 20 20 73 79 6d 62 6f 6c 20 7c 3d 20 36 34 3b 20 73 79 6d 62 6f 6c 20 3e 3e 3d 20 31 3b 0a 20 ...symbol.|=.64;.symbol.>>=.1;..
393a0 20 69 6e 74 20 70 72 69 63 65 20 3d 20 70 72 69 63 65 5f 62 69 74 28 20 62 6d 5b 73 79 6d 62 6f .int.price.=.price_bit(.bm[symbo
393c0 6c 5d 2c 20 62 69 74 20 29 3b 0a 20 20 62 69 74 20 3d 20 73 79 6d 62 6f 6c 20 26 20 31 3b 20 73 l],.bit.);...bit.=.symbol.&.1;.s
393e0 79 6d 62 6f 6c 20 3e 3e 3d 20 31 3b 20 70 72 69 63 65 20 2b 3d 20 70 72 69 63 65 5f 62 69 74 28 ymbol.>>=.1;.price.+=.price_bit(
39400 20 62 6d 5b 73 79 6d 62 6f 6c 5d 2c 20 62 69 74 20 29 3b 0a 20 20 62 69 74 20 3d 20 73 79 6d 62 .bm[symbol],.bit.);...bit.=.symb
39420 6f 6c 20 26 20 31 3b 20 73 79 6d 62 6f 6c 20 3e 3e 3d 20 31 3b 20 70 72 69 63 65 20 2b 3d 20 70 ol.&.1;.symbol.>>=.1;.price.+=.p
39440 72 69 63 65 5f 62 69 74 28 20 62 6d 5b 73 79 6d 62 6f 6c 5d 2c 20 62 69 74 20 29 3b 0a 20 20 62 rice_bit(.bm[symbol],.bit.);...b
39460 69 74 20 3d 20 73 79 6d 62 6f 6c 20 26 20 31 3b 20 73 79 6d 62 6f 6c 20 3e 3e 3d 20 31 3b 20 70 it.=.symbol.&.1;.symbol.>>=.1;.p
39480 72 69 63 65 20 2b 3d 20 70 72 69 63 65 5f 62 69 74 28 20 62 6d 5b 73 79 6d 62 6f 6c 5d 2c 20 62 rice.+=.price_bit(.bm[symbol],.b
394a0 69 74 20 29 3b 0a 20 20 62 69 74 20 3d 20 73 79 6d 62 6f 6c 20 26 20 31 3b 20 73 79 6d 62 6f 6c it.);...bit.=.symbol.&.1;.symbol
394c0 20 3e 3e 3d 20 31 3b 20 70 72 69 63 65 20 2b 3d 20 70 72 69 63 65 5f 62 69 74 28 20 62 6d 5b 73 .>>=.1;.price.+=.price_bit(.bm[s
394e0 79 6d 62 6f 6c 5d 2c 20 62 69 74 20 29 3b 0a 20 20 72 65 74 75 72 6e 20 70 72 69 63 65 20 2b 20 ymbol],.bit.);...return.price.+.
39500 70 72 69 63 65 5f 62 69 74 28 20 62 6d 5b 31 5d 2c 20 73 79 6d 62 6f 6c 20 26 20 31 20 29 3b 0a price_bit(.bm[1],.symbol.&.1.);.
39520 20 20 7d 0a 0a 0a 69 6e 6c 69 6e 65 20 69 6e 74 20 70 72 69 63 65 5f 73 79 6d 62 6f 6c 38 28 20 ..}...inline.int.price_symbol8(.
39540 63 6f 6e 73 74 20 42 69 74 5f 6d 6f 64 65 6c 20 62 6d 5b 5d 2c 20 69 6e 74 20 73 79 6d 62 6f 6c const.Bit_model.bm[],.int.symbol
39560 20 29 0a 20 20 7b 0a 20 20 62 6f 6f 6c 20 62 69 74 20 3d 20 73 79 6d 62 6f 6c 20 26 20 31 3b 0a .)...{...bool.bit.=.symbol.&.1;.
39580 20 20 73 79 6d 62 6f 6c 20 7c 3d 20 30 78 31 30 30 3b 20 73 79 6d 62 6f 6c 20 3e 3e 3d 20 31 3b ..symbol.|=.0x100;.symbol.>>=.1;
395a0 0a 20 20 69 6e 74 20 70 72 69 63 65 20 3d 20 70 72 69 63 65 5f 62 69 74 28 20 62 6d 5b 73 79 6d ...int.price.=.price_bit(.bm[sym
395c0 62 6f 6c 5d 2c 20 62 69 74 20 29 3b 0a 20 20 62 69 74 20 3d 20 73 79 6d 62 6f 6c 20 26 20 31 3b bol],.bit.);...bit.=.symbol.&.1;
395e0 20 73 79 6d 62 6f 6c 20 3e 3e 3d 20 31 3b 20 70 72 69 63 65 20 2b 3d 20 70 72 69 63 65 5f 62 69 .symbol.>>=.1;.price.+=.price_bi
39600 74 28 20 62 6d 5b 73 79 6d 62 6f 6c 5d 2c 20 62 69 74 20 29 3b 0a 20 20 62 69 74 20 3d 20 73 79 t(.bm[symbol],.bit.);...bit.=.sy
39620 6d 62 6f 6c 20 26 20 31 3b 20 73 79 6d 62 6f 6c 20 3e 3e 3d 20 31 3b 20 70 72 69 63 65 20 2b 3d mbol.&.1;.symbol.>>=.1;.price.+=
39640 20 70 72 69 63 65 5f 62 69 74 28 20 62 6d 5b 73 79 6d 62 6f 6c 5d 2c 20 62 69 74 20 29 3b 0a 20 .price_bit(.bm[symbol],.bit.);..
39660 20 62 69 74 20 3d 20 73 79 6d 62 6f 6c 20 26 20 31 3b 20 73 79 6d 62 6f 6c 20 3e 3e 3d 20 31 3b .bit.=.symbol.&.1;.symbol.>>=.1;
39680 20 70 72 69 63 65 20 2b 3d 20 70 72 69 63 65 5f 62 69 74 28 20 62 6d 5b 73 79 6d 62 6f 6c 5d 2c .price.+=.price_bit(.bm[symbol],
396a0 20 62 69 74 20 29 3b 0a 20 20 62 69 74 20 3d 20 73 79 6d 62 6f 6c 20 26 20 31 3b 20 73 79 6d 62 .bit.);...bit.=.symbol.&.1;.symb
396c0 6f 6c 20 3e 3e 3d 20 31 3b 20 70 72 69 63 65 20 2b 3d 20 70 72 69 63 65 5f 62 69 74 28 20 62 6d ol.>>=.1;.price.+=.price_bit(.bm
396e0 5b 73 79 6d 62 6f 6c 5d 2c 20 62 69 74 20 29 3b 0a 20 20 62 69 74 20 3d 20 73 79 6d 62 6f 6c 20 [symbol],.bit.);...bit.=.symbol.
39700 26 20 31 3b 20 73 79 6d 62 6f 6c 20 3e 3e 3d 20 31 3b 20 70 72 69 63 65 20 2b 3d 20 70 72 69 63 &.1;.symbol.>>=.1;.price.+=.pric
39720 65 5f 62 69 74 28 20 62 6d 5b 73 79 6d 62 6f 6c 5d 2c 20 62 69 74 20 29 3b 0a 20 20 62 69 74 20 e_bit(.bm[symbol],.bit.);...bit.
39740 3d 20 73 79 6d 62 6f 6c 20 26 20 31 3b 20 73 79 6d 62 6f 6c 20 3e 3e 3d 20 31 3b 20 70 72 69 63 =.symbol.&.1;.symbol.>>=.1;.pric
39760 65 20 2b 3d 20 70 72 69 63 65 5f 62 69 74 28 20 62 6d 5b 73 79 6d 62 6f 6c 5d 2c 20 62 69 74 20 e.+=.price_bit(.bm[symbol],.bit.
39780 29 3b 0a 20 20 72 65 74 75 72 6e 20 70 72 69 63 65 20 2b 20 70 72 69 63 65 5f 62 69 74 28 20 62 );...return.price.+.price_bit(.b
397a0 6d 5b 31 5d 2c 20 73 79 6d 62 6f 6c 20 26 20 31 20 29 3b 0a 20 20 7d 0a 0a 0a 69 6e 6c 69 6e 65 m[1],.symbol.&.1.);...}...inline
397c0 20 69 6e 74 20 70 72 69 63 65 5f 73 79 6d 62 6f 6c 5f 72 65 76 65 72 73 65 64 28 20 63 6f 6e 73 .int.price_symbol_reversed(.cons
397e0 74 20 42 69 74 5f 6d 6f 64 65 6c 20 62 6d 5b 5d 2c 20 69 6e 74 20 73 79 6d 62 6f 6c 2c 0a 20 20 t.Bit_model.bm[],.int.symbol,...
39800 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
39820 63 6f 6e 73 74 20 69 6e 74 20 6e 75 6d 5f 62 69 74 73 20 29 0a 20 20 7b 0a 20 20 69 6e 74 20 70 const.int.num_bits.)...{...int.p
39840 72 69 63 65 20 3d 20 30 3b 0a 20 20 69 6e 74 20 6d 6f 64 65 6c 20 3d 20 31 3b 0a 20 20 66 6f 72 rice.=.0;...int.model.=.1;...for
39860 28 20 69 6e 74 20 69 20 3d 20 6e 75 6d 5f 62 69 74 73 3b 20 69 20 3e 20 30 3b 20 2d 2d 69 20 29 (.int.i.=.num_bits;.i.>.0;.--i.)
39880 0a 20 20 20 20 7b 0a 20 20 20 20 63 6f 6e 73 74 20 62 6f 6f 6c 20 62 69 74 20 3d 20 73 79 6d 62 .....{.....const.bool.bit.=.symb
398a0 6f 6c 20 26 20 31 3b 0a 20 20 20 20 73 79 6d 62 6f 6c 20 3e 3e 3d 20 31 3b 0a 20 20 20 20 70 72 ol.&.1;.....symbol.>>=.1;.....pr
398c0 69 63 65 20 2b 3d 20 70 72 69 63 65 5f 62 69 74 28 20 62 6d 5b 6d 6f 64 65 6c 5d 2c 20 62 69 74 ice.+=.price_bit(.bm[model],.bit
398e0 20 29 3b 0a 20 20 20 20 6d 6f 64 65 6c 20 3c 3c 3d 20 31 3b 20 6d 6f 64 65 6c 20 7c 3d 20 62 69 .);.....model.<<=.1;.model.|=.bi
39900 74 3b 0a 20 20 20 20 7d 0a 20 20 72 65 74 75 72 6e 20 70 72 69 63 65 3b 0a 20 20 7d 0a 0a 0a 69 t;.....}...return.price;...}...i
39920 6e 6c 69 6e 65 20 69 6e 74 20 70 72 69 63 65 5f 6d 61 74 63 68 65 64 28 20 63 6f 6e 73 74 20 42 nline.int.price_matched(.const.B
39940 69 74 5f 6d 6f 64 65 6c 20 62 6d 5b 5d 2c 20 75 6e 73 69 67 6e 65 64 20 73 79 6d 62 6f 6c 2c 0a it_model.bm[],.unsigned.symbol,.
39960 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 75 6e 73 69 67 6e ..........................unsign
39980 65 64 20 6d 61 74 63 68 5f 62 79 74 65 20 29 0a 20 20 7b 0a 20 20 69 6e 74 20 70 72 69 63 65 20 ed.match_byte.)...{...int.price.
399a0 3d 20 30 3b 0a 20 20 75 6e 73 69 67 6e 65 64 20 6d 61 73 6b 20 3d 20 30 78 31 30 30 3b 0a 20 20 =.0;...unsigned.mask.=.0x100;...
399c0 73 79 6d 62 6f 6c 20 7c 3d 20 6d 61 73 6b 3b 0a 20 20 77 68 69 6c 65 28 20 74 72 75 65 20 29 0a symbol.|=.mask;...while(.true.).
399e0 20 20 20 20 7b 0a 20 20 20 20 63 6f 6e 73 74 20 75 6e 73 69 67 6e 65 64 20 6d 61 74 63 68 5f 62 ....{.....const.unsigned.match_b
39a00 69 74 20 3d 20 28 20 6d 61 74 63 68 5f 62 79 74 65 20 3c 3c 3d 20 31 20 29 20 26 20 6d 61 73 6b it.=.(.match_byte.<<=.1.).&.mask
39a20 3b 0a 20 20 20 20 63 6f 6e 73 74 20 62 6f 6f 6c 20 62 69 74 20 3d 20 28 20 73 79 6d 62 6f 6c 20 ;.....const.bool.bit.=.(.symbol.
39a40 3c 3c 3d 20 31 20 29 20 26 20 30 78 31 30 30 3b 0a 20 20 20 20 70 72 69 63 65 20 2b 3d 20 70 72 <<=.1.).&.0x100;.....price.+=.pr
39a60 69 63 65 5f 62 69 74 28 20 62 6d 5b 28 73 79 6d 62 6f 6c 3e 3e 39 29 2b 6d 61 74 63 68 5f 62 69 ice_bit(.bm[(symbol>>9)+match_bi
39a80 74 2b 6d 61 73 6b 5d 2c 20 62 69 74 20 29 3b 0a 20 20 20 20 69 66 28 20 73 79 6d 62 6f 6c 20 3e t+mask],.bit.);.....if(.symbol.>
39aa0 3d 20 30 78 31 30 30 30 30 20 29 20 72 65 74 75 72 6e 20 70 72 69 63 65 3b 0a 20 20 20 20 6d 61 =.0x10000.).return.price;.....ma
39ac0 73 6b 20 26 3d 20 7e 28 6d 61 74 63 68 5f 62 69 74 20 5e 20 73 79 6d 62 6f 6c 29 3b 09 2f 2f 20 sk.&=.~(match_bit.^.symbol);.//.
39ae0 69 66 28 20 6d 61 74 63 68 5f 62 69 74 20 21 3d 20 62 69 74 20 29 20 6d 61 73 6b 20 3d 20 30 3b if(.match_bit.!=.bit.).mask.=.0;
39b00 0a 20 20 20 20 7d 0a 20 20 7d 0a 0a 0a 63 6c 61 73 73 20 4d 61 74 63 68 66 69 6e 64 65 72 5f 62 .....}...}...class.Matchfinder_b
39b20 61 73 65 0a 20 20 7b 0a 20 20 62 6f 6f 6c 20 72 65 61 64 5f 62 6c 6f 63 6b 28 29 3b 0a 20 20 76 ase...{...bool.read_block();...v
39b40 6f 69 64 20 6e 6f 72 6d 61 6c 69 7a 65 5f 70 6f 73 28 29 3b 0a 0a 20 20 4d 61 74 63 68 66 69 6e oid.normalize_pos();....Matchfin
39b60 64 65 72 5f 62 61 73 65 28 20 63 6f 6e 73 74 20 4d 61 74 63 68 66 69 6e 64 65 72 5f 62 61 73 65 der_base(.const.Matchfinder_base
39b80 20 26 20 29 3b 09 2f 2f 20 64 65 63 6c 61 72 65 64 20 61 73 20 70 72 69 76 61 74 65 0a 20 20 76 .&.);.//.declared.as.private...v
39ba0 6f 69 64 20 6f 70 65 72 61 74 6f 72 3d 28 20 63 6f 6e 73 74 20 4d 61 74 63 68 66 69 6e 64 65 72 oid.operator=(.const.Matchfinder
39bc0 5f 62 61 73 65 20 26 20 29 3b 09 2f 2f 20 64 65 63 6c 61 72 65 64 20 61 73 20 70 72 69 76 61 74 _base.&.);.//.declared.as.privat
39be0 65 0a 0a 70 72 6f 74 65 63 74 65 64 3a 0a 20 20 75 6e 73 69 67 6e 65 64 20 6c 6f 6e 67 20 6c 6f e..protected:...unsigned.long.lo
39c00 6e 67 20 70 61 72 74 69 61 6c 5f 64 61 74 61 5f 70 6f 73 3b 0a 20 20 75 69 6e 74 38 5f 74 20 2a ng.partial_data_pos;...uint8_t.*
39c20 20 62 75 66 66 65 72 3b 09 09 2f 2f 20 69 6e 70 75 74 20 62 75 66 66 65 72 0a 20 20 69 6e 74 33 .buffer;..//.input.buffer...int3
39c40 32 5f 74 20 2a 20 70 72 65 76 5f 70 6f 73 69 74 69 6f 6e 73 3b 09 2f 2f 20 31 20 2b 20 6c 61 73 2_t.*.prev_positions;.//.1.+.las
39c60 74 20 73 65 65 6e 20 70 6f 73 69 74 69 6f 6e 20 6f 66 20 6b 65 79 2e 20 65 6c 73 65 20 30 0a 20 t.seen.position.of.key..else.0..
39c80 20 69 6e 74 33 32 5f 74 20 2a 20 70 6f 73 5f 61 72 72 61 79 3b 09 09 2f 2f 20 6d 61 79 20 62 65 .int32_t.*.pos_array;..//.may.be
39ca0 20 74 72 65 65 20 6f 72 20 63 68 61 69 6e 0a 20 20 63 6f 6e 73 74 20 69 6e 74 20 62 65 66 6f 72 .tree.or.chain...const.int.befor
39cc0 65 5f 73 69 7a 65 3b 09 2f 2f 20 62 79 74 65 73 20 74 6f 20 6b 65 65 70 20 69 6e 20 62 75 66 66 e_size;.//.bytes.to.keep.in.buff
39ce0 65 72 20 62 65 66 6f 72 65 20 64 69 63 74 69 6f 6e 61 72 79 0a 20 20 69 6e 74 20 62 75 66 66 65 er.before.dictionary...int.buffe
39d00 72 5f 73 69 7a 65 3b 0a 20 20 69 6e 74 20 64 69 63 74 69 6f 6e 61 72 79 5f 73 69 7a 65 3b 09 09 r_size;...int.dictionary_size;..
39d20 2f 2f 20 62 79 74 65 73 20 74 6f 20 6b 65 65 70 20 69 6e 20 62 75 66 66 65 72 20 62 65 66 6f 72 //.bytes.to.keep.in.buffer.befor
39d40 65 20 70 6f 73 0a 20 20 69 6e 74 20 70 6f 73 3b 09 09 09 2f 2f 20 63 75 72 72 65 6e 74 20 70 6f e.pos...int.pos;...//.current.po
39d60 73 20 69 6e 20 62 75 66 66 65 72 0a 20 20 69 6e 74 20 63 79 63 6c 69 63 5f 70 6f 73 3b 09 09 2f s.in.buffer...int.cyclic_pos;../
39d80 2f 20 63 79 63 6c 65 73 20 74 68 72 6f 75 67 68 20 5b 30 2c 20 64 69 63 74 69 6f 6e 61 72 79 5f /.cycles.through.[0,.dictionary_
39da0 73 69 7a 65 5d 0a 20 20 69 6e 74 20 73 74 72 65 61 6d 5f 70 6f 73 3b 09 09 2f 2f 20 66 69 72 73 size]...int.stream_pos;..//.firs
39dc0 74 20 62 79 74 65 20 6e 6f 74 20 79 65 74 20 72 65 61 64 20 66 72 6f 6d 20 66 69 6c 65 0a 20 20 t.byte.not.yet.read.from.file...
39de0 69 6e 74 20 70 6f 73 5f 6c 69 6d 69 74 3b 09 09 2f 2f 20 77 68 65 6e 20 72 65 61 63 68 65 64 2c int.pos_limit;..//.when.reached,
39e00 20 61 20 6e 65 77 20 62 6c 6f 63 6b 20 6d 75 73 74 20 62 65 20 72 65 61 64 0a 20 20 69 6e 74 20 .a.new.block.must.be.read...int.
39e20 6b 65 79 34 5f 6d 61 73 6b 3b 0a 20 20 63 6f 6e 73 74 20 69 6e 74 20 6e 75 6d 5f 70 72 65 76 5f key4_mask;...const.int.num_prev_
39e40 70 6f 73 69 74 69 6f 6e 73 32 33 3b 0a 20 20 69 6e 74 20 6e 75 6d 5f 70 72 65 76 5f 70 6f 73 69 positions23;...int.num_prev_posi
39e60 74 69 6f 6e 73 3b 09 2f 2f 20 73 69 7a 65 20 6f 66 20 70 72 65 76 5f 70 6f 73 69 74 69 6f 6e 73 tions;.//.size.of.prev_positions
39e80 0a 20 20 69 6e 74 20 70 6f 73 5f 61 72 72 61 79 5f 73 69 7a 65 3b 0a 20 20 63 6f 6e 73 74 20 69 ...int.pos_array_size;...const.i
39ea0 6e 74 20 69 6e 66 64 3b 09 09 2f 2f 20 69 6e 70 75 74 20 66 69 6c 65 20 64 65 73 63 72 69 70 74 nt.infd;..//.input.file.descript
39ec0 6f 72 0a 20 20 62 6f 6f 6c 20 61 74 5f 73 74 72 65 61 6d 5f 65 6e 64 3b 09 09 2f 2f 20 73 74 72 or...bool.at_stream_end;..//.str
39ee0 65 61 6d 5f 70 6f 73 20 73 68 6f 77 73 20 72 65 61 6c 20 65 6e 64 20 6f 66 20 66 69 6c 65 0a 0a eam_pos.shows.real.end.of.file..
39f00 20 20 4d 61 74 63 68 66 69 6e 64 65 72 5f 62 61 73 65 28 20 63 6f 6e 73 74 20 69 6e 74 20 62 65 ..Matchfinder_base(.const.int.be
39f20 66 6f 72 65 5f 73 69 7a 65 5f 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 fore_size_,.....................
39f40 63 6f 6e 73 74 20 69 6e 74 20 64 69 63 74 5f 73 69 7a 65 2c 20 63 6f 6e 73 74 20 69 6e 74 20 61 const.int.dict_size,.const.int.a
39f60 66 74 65 72 5f 73 69 7a 65 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 63 fter_size,.....................c
39f80 6f 6e 73 74 20 69 6e 74 20 64 69 63 74 5f 66 61 63 74 6f 72 2c 20 63 6f 6e 73 74 20 69 6e 74 20 onst.int.dict_factor,.const.int.
39fa0 6e 75 6d 5f 70 72 65 76 5f 70 6f 73 69 74 69 6f 6e 73 32 33 5f 2c 0a 20 20 20 20 20 20 20 20 20 num_prev_positions23_,..........
39fc0 20 20 20 20 20 20 20 20 20 20 20 63 6f 6e 73 74 20 69 6e 74 20 70 6f 73 5f 61 72 72 61 79 5f 66 ...........const.int.pos_array_f
39fe0 61 63 74 6f 72 2c 20 63 6f 6e 73 74 20 69 6e 74 20 69 66 64 20 29 3b 0a 0a 20 20 7e 4d 61 74 63 actor,.const.int.ifd.);....~Matc
3a000 68 66 69 6e 64 65 72 5f 62 61 73 65 28 29 0a 20 20 20 20 7b 20 64 65 6c 65 74 65 5b 5d 20 70 72 hfinder_base().....{.delete[].pr
3a020 65 76 5f 70 6f 73 69 74 69 6f 6e 73 3b 20 73 74 64 3a 3a 66 72 65 65 28 20 62 75 66 66 65 72 20 ev_positions;.std::free(.buffer.
3a040 29 3b 20 7d 0a 0a 70 75 62 6c 69 63 3a 0a 20 20 75 69 6e 74 38 5f 74 20 70 65 65 6b 28 20 63 6f );.}..public:...uint8_t.peek(.co
3a060 6e 73 74 20 69 6e 74 20 64 69 73 74 61 6e 63 65 20 29 20 63 6f 6e 73 74 20 7b 20 72 65 74 75 72 nst.int.distance.).const.{.retur
3a080 6e 20 62 75 66 66 65 72 5b 70 6f 73 2d 64 69 73 74 61 6e 63 65 5d 3b 20 7d 0a 20 20 69 6e 74 20 n.buffer[pos-distance];.}...int.
3a0a0 61 76 61 69 6c 61 62 6c 65 5f 62 79 74 65 73 28 29 20 63 6f 6e 73 74 20 7b 20 72 65 74 75 72 6e available_bytes().const.{.return
3a0c0 20 73 74 72 65 61 6d 5f 70 6f 73 20 2d 20 70 6f 73 3b 20 7d 0a 20 20 75 6e 73 69 67 6e 65 64 20 .stream_pos.-.pos;.}...unsigned.
3a0e0 6c 6f 6e 67 20 6c 6f 6e 67 20 64 61 74 61 5f 70 6f 73 69 74 69 6f 6e 28 29 20 63 6f 6e 73 74 20 long.long.data_position().const.
3a100 7b 20 72 65 74 75 72 6e 20 70 61 72 74 69 61 6c 5f 64 61 74 61 5f 70 6f 73 20 2b 20 70 6f 73 3b {.return.partial_data_pos.+.pos;
3a120 20 7d 0a 20 20 62 6f 6f 6c 20 64 61 74 61 5f 66 69 6e 69 73 68 65 64 28 29 20 63 6f 6e 73 74 20 .}...bool.data_finished().const.
3a140 7b 20 72 65 74 75 72 6e 20 61 74 5f 73 74 72 65 61 6d 5f 65 6e 64 20 26 26 20 70 6f 73 20 3e 3d {.return.at_stream_end.&&.pos.>=
3a160 20 73 74 72 65 61 6d 5f 70 6f 73 3b 20 7d 0a 20 20 63 6f 6e 73 74 20 75 69 6e 74 38 5f 74 20 2a .stream_pos;.}...const.uint8_t.*
3a180 20 70 74 72 5f 74 6f 5f 63 75 72 72 65 6e 74 5f 70 6f 73 28 29 20 63 6f 6e 73 74 20 7b 20 72 65 .ptr_to_current_pos().const.{.re
3a1a0 74 75 72 6e 20 62 75 66 66 65 72 20 2b 20 70 6f 73 3b 20 7d 0a 0a 20 20 69 6e 74 20 74 72 75 65 turn.buffer.+.pos;.}....int.true
3a1c0 5f 6d 61 74 63 68 5f 6c 65 6e 28 20 63 6f 6e 73 74 20 69 6e 74 20 69 6e 64 65 78 2c 20 63 6f 6e _match_len(.const.int.index,.con
3a1e0 73 74 20 69 6e 74 20 64 69 73 74 61 6e 63 65 20 29 20 63 6f 6e 73 74 0a 20 20 20 20 7b 0a 20 20 st.int.distance.).const.....{...
3a200 20 20 63 6f 6e 73 74 20 75 69 6e 74 38 5f 74 20 2a 20 63 6f 6e 73 74 20 64 61 74 61 20 3d 20 62 ..const.uint8_t.*.const.data.=.b
3a220 75 66 66 65 72 20 2b 20 70 6f 73 3b 0a 20 20 20 20 69 6e 74 20 69 20 3d 20 69 6e 64 65 78 3b 0a uffer.+.pos;.....int.i.=.index;.
3a240 20 20 20 20 63 6f 6e 73 74 20 69 6e 74 20 6c 65 6e 5f 6c 69 6d 69 74 20 3d 20 73 74 64 3a 3a 6d ....const.int.len_limit.=.std::m
3a260 69 6e 28 20 61 76 61 69 6c 61 62 6c 65 5f 62 79 74 65 73 28 29 2c 20 28 69 6e 74 29 6d 61 78 5f in(.available_bytes(),.(int)max_
3a280 6d 61 74 63 68 5f 6c 65 6e 20 29 3b 0a 20 20 20 20 77 68 69 6c 65 28 20 69 20 3c 20 6c 65 6e 5f match_len.);.....while(.i.<.len_
3a2a0 6c 69 6d 69 74 20 26 26 20 64 61 74 61 5b 69 2d 64 69 73 74 61 6e 63 65 5d 20 3d 3d 20 64 61 74 limit.&&.data[i-distance].==.dat
3a2c0 61 5b 69 5d 20 29 20 2b 2b 69 3b 0a 20 20 20 20 72 65 74 75 72 6e 20 69 3b 0a 20 20 20 20 7d 0a a[i].).++i;.....return.i;.....}.
3a2e0 0a 20 20 76 6f 69 64 20 6d 6f 76 65 5f 70 6f 73 28 29 0a 20 20 20 20 7b 0a 20 20 20 20 69 66 28 ...void.move_pos().....{.....if(
3a300 20 2b 2b 63 79 63 6c 69 63 5f 70 6f 73 20 3e 20 64 69 63 74 69 6f 6e 61 72 79 5f 73 69 7a 65 20 .++cyclic_pos.>.dictionary_size.
3a320 29 20 63 79 63 6c 69 63 5f 70 6f 73 20 3d 20 30 3b 0a 20 20 20 20 69 66 28 20 2b 2b 70 6f 73 20 ).cyclic_pos.=.0;.....if(.++pos.
3a340 3e 3d 20 70 6f 73 5f 6c 69 6d 69 74 20 29 20 6e 6f 72 6d 61 6c 69 7a 65 5f 70 6f 73 28 29 3b 0a >=.pos_limit.).normalize_pos();.
3a360 20 20 20 20 7d 0a 0a 20 20 76 6f 69 64 20 72 65 73 65 74 28 29 3b 0a 20 20 7d 3b 0a 0a 0a 63 6c ....}....void.reset();...};...cl
3a380 61 73 73 20 52 61 6e 67 65 5f 65 6e 63 6f 64 65 72 0a 20 20 7b 0a 20 20 65 6e 75 6d 20 7b 20 62 ass.Range_encoder...{...enum.{.b
3a3a0 75 66 66 65 72 5f 73 69 7a 65 20 3d 20 36 35 35 33 36 20 7d 3b 0a 20 20 75 69 6e 74 36 34 5f 74 uffer_size.=.65536.};...uint64_t
3a3c0 20 6c 6f 77 3b 0a 20 20 75 6e 73 69 67 6e 65 64 20 6c 6f 6e 67 20 6c 6f 6e 67 20 70 61 72 74 69 .low;...unsigned.long.long.parti
3a3e0 61 6c 5f 6d 65 6d 62 65 72 5f 70 6f 73 3b 0a 20 20 75 69 6e 74 38 5f 74 20 2a 20 63 6f 6e 73 74 al_member_pos;...uint8_t.*.const
3a400 20 62 75 66 66 65 72 3b 09 2f 2f 20 6f 75 74 70 75 74 20 62 75 66 66 65 72 0a 20 20 69 6e 74 20 .buffer;.//.output.buffer...int.
3a420 70 6f 73 3b 09 09 09 2f 2f 20 63 75 72 72 65 6e 74 20 70 6f 73 20 69 6e 20 62 75 66 66 65 72 0a pos;...//.current.pos.in.buffer.
3a440 20 20 75 69 6e 74 33 32 5f 74 20 72 61 6e 67 65 3b 0a 20 20 75 6e 73 69 67 6e 65 64 20 66 66 5f ..uint32_t.range;...unsigned.ff_
3a460 63 6f 75 6e 74 3b 0a 20 20 63 6f 6e 73 74 20 69 6e 74 20 6f 75 74 66 64 3b 09 09 2f 2f 20 6f 75 count;...const.int.outfd;..//.ou
3a480 74 70 75 74 20 66 69 6c 65 20 64 65 73 63 72 69 70 74 6f 72 0a 20 20 75 69 6e 74 38 5f 74 20 63 tput.file.descriptor...uint8_t.c
3a4a0 61 63 68 65 3b 0a 20 20 4c 7a 69 70 5f 68 65 61 64 65 72 20 68 65 61 64 65 72 3b 0a 0a 20 20 76 ache;...Lzip_header.header;....v
3a4c0 6f 69 64 20 73 68 69 66 74 5f 6c 6f 77 28 29 0a 20 20 20 20 7b 0a 20 20 20 20 69 66 28 20 6c 6f oid.shift_low().....{.....if(.lo
3a4e0 77 20 3e 3e 20 32 34 20 21 3d 20 30 78 46 46 20 29 0a 20 20 20 20 20 20 7b 0a 20 20 20 20 20 20 w.>>.24.!=.0xFF.).......{.......
3a500 63 6f 6e 73 74 20 62 6f 6f 6c 20 63 61 72 72 79 20 3d 20 28 20 6c 6f 77 20 3e 20 30 78 46 46 46 const.bool.carry.=.(.low.>.0xFFF
3a520 46 46 46 46 46 55 20 29 3b 0a 20 20 20 20 20 20 70 75 74 5f 62 79 74 65 28 20 63 61 63 68 65 20 FFFFFU.);.......put_byte(.cache.
3a540 2b 20 63 61 72 72 79 20 29 3b 0a 20 20 20 20 20 20 66 6f 72 28 20 3b 20 66 66 5f 63 6f 75 6e 74 +.carry.);.......for(.;.ff_count
3a560 20 3e 20 30 3b 20 2d 2d 66 66 5f 63 6f 75 6e 74 20 29 20 70 75 74 5f 62 79 74 65 28 20 30 78 46 .>.0;.--ff_count.).put_byte(.0xF
3a580 46 20 2b 20 63 61 72 72 79 20 29 3b 0a 20 20 20 20 20 20 63 61 63 68 65 20 3d 20 6c 6f 77 20 3e F.+.carry.);.......cache.=.low.>
3a5a0 3e 20 32 34 3b 0a 20 20 20 20 20 20 7d 0a 20 20 20 20 65 6c 73 65 20 2b 2b 66 66 5f 63 6f 75 6e >.24;.......}.....else.++ff_coun
3a5c0 74 3b 0a 20 20 20 20 6c 6f 77 20 3d 20 28 20 6c 6f 77 20 26 20 30 78 30 30 46 46 46 46 46 46 55 t;.....low.=.(.low.&.0x00FFFFFFU
3a5e0 20 29 20 3c 3c 20 38 3b 0a 20 20 20 20 7d 0a 0a 20 20 52 61 6e 67 65 5f 65 6e 63 6f 64 65 72 28 .).<<.8;.....}....Range_encoder(
3a600 20 63 6f 6e 73 74 20 52 61 6e 67 65 5f 65 6e 63 6f 64 65 72 20 26 20 29 3b 09 2f 2f 20 64 65 63 .const.Range_encoder.&.);.//.dec
3a620 6c 61 72 65 64 20 61 73 20 70 72 69 76 61 74 65 0a 20 20 76 6f 69 64 20 6f 70 65 72 61 74 6f 72 lared.as.private...void.operator
3a640 3d 28 20 63 6f 6e 73 74 20 52 61 6e 67 65 5f 65 6e 63 6f 64 65 72 20 26 20 29 3b 09 2f 2f 20 64 =(.const.Range_encoder.&.);.//.d
3a660 65 63 6c 61 72 65 64 20 61 73 20 70 72 69 76 61 74 65 0a 0a 70 75 62 6c 69 63 3a 0a 20 20 76 6f eclared.as.private..public:...vo
3a680 69 64 20 72 65 73 65 74 28 20 63 6f 6e 73 74 20 75 6e 73 69 67 6e 65 64 20 64 69 63 74 69 6f 6e id.reset(.const.unsigned.diction
3a6a0 61 72 79 5f 73 69 7a 65 20 29 0a 20 20 20 20 7b 0a 20 20 20 20 6c 6f 77 20 3d 20 30 3b 0a 20 20 ary_size.).....{.....low.=.0;...
3a6c0 20 20 70 61 72 74 69 61 6c 5f 6d 65 6d 62 65 72 5f 70 6f 73 20 3d 20 30 3b 0a 20 20 20 20 70 6f ..partial_member_pos.=.0;.....po
3a6e0 73 20 3d 20 30 3b 0a 20 20 20 20 72 61 6e 67 65 20 3d 20 30 78 46 46 46 46 46 46 46 46 55 3b 0a s.=.0;.....range.=.0xFFFFFFFFU;.
3a700 20 20 20 20 66 66 5f 63 6f 75 6e 74 20 3d 20 30 3b 0a 20 20 20 20 63 61 63 68 65 20 3d 20 30 3b ....ff_count.=.0;.....cache.=.0;
3a720 0a 20 20 20 20 68 65 61 64 65 72 2e 64 69 63 74 69 6f 6e 61 72 79 5f 73 69 7a 65 28 20 64 69 63 .....header.dictionary_size(.dic
3a740 74 69 6f 6e 61 72 79 5f 73 69 7a 65 20 29 3b 0a 20 20 20 20 66 6f 72 28 20 69 6e 74 20 69 20 3d tionary_size.);.....for(.int.i.=
3a760 20 30 3b 20 69 20 3c 20 4c 7a 69 70 5f 68 65 61 64 65 72 3a 3a 73 69 7a 65 3b 20 2b 2b 69 20 29 .0;.i.<.Lzip_header::size;.++i.)
3a780 0a 20 20 20 20 20 20 70 75 74 5f 62 79 74 65 28 20 68 65 61 64 65 72 2e 64 61 74 61 5b 69 5d 20 .......put_byte(.header.data[i].
3a7a0 29 3b 0a 20 20 20 20 7d 0a 0a 20 20 52 61 6e 67 65 5f 65 6e 63 6f 64 65 72 28 20 63 6f 6e 73 74 );.....}....Range_encoder(.const
3a7c0 20 75 6e 73 69 67 6e 65 64 20 64 69 63 74 69 6f 6e 61 72 79 5f 73 69 7a 65 2c 20 63 6f 6e 73 74 .unsigned.dictionary_size,.const
3a7e0 20 69 6e 74 20 6f 66 64 20 29 0a 20 20 20 20 3a 0a 20 20 20 20 62 75 66 66 65 72 28 20 6e 65 77 .int.ofd.).....:.....buffer(.new
3a800 20 75 69 6e 74 38 5f 74 5b 62 75 66 66 65 72 5f 73 69 7a 65 5d 20 29 2c 20 6f 75 74 66 64 28 20 .uint8_t[buffer_size].),.outfd(.
3a820 6f 66 64 20 29 0a 20 20 20 20 7b 0a 20 20 20 20 68 65 61 64 65 72 2e 73 65 74 5f 6d 61 67 69 63 ofd.).....{.....header.set_magic
3a840 28 29 3b 0a 20 20 20 20 72 65 73 65 74 28 20 64 69 63 74 69 6f 6e 61 72 79 5f 73 69 7a 65 20 29 ();.....reset(.dictionary_size.)
3a860 3b 0a 20 20 20 20 7d 0a 0a 20 20 7e 52 61 6e 67 65 5f 65 6e 63 6f 64 65 72 28 29 20 7b 20 64 65 ;.....}....~Range_encoder().{.de
3a880 6c 65 74 65 5b 5d 20 62 75 66 66 65 72 3b 20 7d 0a 0a 20 20 75 6e 73 69 67 6e 65 64 20 6c 6f 6e lete[].buffer;.}....unsigned.lon
3a8a0 67 20 6c 6f 6e 67 20 6d 65 6d 62 65 72 5f 70 6f 73 69 74 69 6f 6e 28 29 20 63 6f 6e 73 74 0a 20 g.long.member_position().const..
3a8c0 20 20 20 7b 20 72 65 74 75 72 6e 20 70 61 72 74 69 61 6c 5f 6d 65 6d 62 65 72 5f 70 6f 73 20 2b ...{.return.partial_member_pos.+
3a8e0 20 70 6f 73 20 2b 20 66 66 5f 63 6f 75 6e 74 3b 20 7d 0a 0a 20 20 76 6f 69 64 20 66 6c 75 73 68 .pos.+.ff_count;.}....void.flush
3a900 28 29 20 7b 20 66 6f 72 28 20 69 6e 74 20 69 20 3d 20 30 3b 20 69 20 3c 20 35 3b 20 2b 2b 69 20 ().{.for(.int.i.=.0;.i.<.5;.++i.
3a920 29 20 73 68 69 66 74 5f 6c 6f 77 28 29 3b 20 7d 0a 20 20 76 6f 69 64 20 66 6c 75 73 68 5f 64 61 ).shift_low();.}...void.flush_da
3a940 74 61 28 29 3b 0a 0a 20 20 76 6f 69 64 20 70 75 74 5f 62 79 74 65 28 20 63 6f 6e 73 74 20 75 69 ta();....void.put_byte(.const.ui
3a960 6e 74 38 5f 74 20 62 20 29 0a 20 20 20 20 7b 0a 20 20 20 20 62 75 66 66 65 72 5b 70 6f 73 5d 20 nt8_t.b.).....{.....buffer[pos].
3a980 3d 20 62 3b 0a 20 20 20 20 69 66 28 20 2b 2b 70 6f 73 20 3e 3d 20 62 75 66 66 65 72 5f 73 69 7a =.b;.....if(.++pos.>=.buffer_siz
3a9a0 65 20 29 20 66 6c 75 73 68 5f 64 61 74 61 28 29 3b 0a 20 20 20 20 7d 0a 0a 20 20 76 6f 69 64 20 e.).flush_data();.....}....void.
3a9c0 65 6e 63 6f 64 65 28 20 63 6f 6e 73 74 20 69 6e 74 20 73 79 6d 62 6f 6c 2c 20 63 6f 6e 73 74 20 encode(.const.int.symbol,.const.
3a9e0 69 6e 74 20 6e 75 6d 5f 62 69 74 73 20 29 0a 20 20 20 20 7b 0a 20 20 20 20 66 6f 72 28 20 75 6e int.num_bits.).....{.....for(.un
3aa00 73 69 67 6e 65 64 20 6d 61 73 6b 20 3d 20 31 20 3c 3c 20 28 20 6e 75 6d 5f 62 69 74 73 20 2d 20 signed.mask.=.1.<<.(.num_bits.-.
3aa20 31 20 29 3b 20 6d 61 73 6b 20 3e 20 30 3b 20 6d 61 73 6b 20 3e 3e 3d 20 31 20 29 0a 20 20 20 20 1.);.mask.>.0;.mask.>>=.1.).....
3aa40 20 20 7b 0a 20 20 20 20 20 20 72 61 6e 67 65 20 3e 3e 3d 20 31 3b 0a 20 20 20 20 20 20 69 66 28 ..{.......range.>>=.1;.......if(
3aa60 20 73 79 6d 62 6f 6c 20 26 20 6d 61 73 6b 20 29 20 6c 6f 77 20 2b 3d 20 72 61 6e 67 65 3b 0a 20 .symbol.&.mask.).low.+=.range;..
3aa80 20 20 20 20 20 69 66 28 20 72 61 6e 67 65 20 3c 3d 20 30 78 30 30 46 46 46 46 46 46 55 20 29 20 .....if(.range.<=.0x00FFFFFFU.).
3aaa0 7b 20 72 61 6e 67 65 20 3c 3c 3d 20 38 3b 20 73 68 69 66 74 5f 6c 6f 77 28 29 3b 20 7d 0a 20 20 {.range.<<=.8;.shift_low();.}...
3aac0 20 20 20 20 7d 0a 20 20 20 20 7d 0a 0a 20 20 76 6f 69 64 20 65 6e 63 6f 64 65 5f 62 69 74 28 20 ....}.....}....void.encode_bit(.
3aae0 42 69 74 5f 6d 6f 64 65 6c 20 26 20 62 6d 2c 20 63 6f 6e 73 74 20 62 6f 6f 6c 20 62 69 74 20 29 Bit_model.&.bm,.const.bool.bit.)
3ab00 0a 20 20 20 20 7b 0a 20 20 20 20 63 6f 6e 73 74 20 75 69 6e 74 33 32 5f 74 20 62 6f 75 6e 64 20 .....{.....const.uint32_t.bound.
3ab20 3d 20 28 20 72 61 6e 67 65 20 3e 3e 20 62 69 74 5f 6d 6f 64 65 6c 5f 74 6f 74 61 6c 5f 62 69 74 =.(.range.>>.bit_model_total_bit
3ab40 73 20 29 20 2a 20 62 6d 2e 70 72 6f 62 61 62 69 6c 69 74 79 3b 0a 20 20 20 20 69 66 28 20 21 62 s.).*.bm.probability;.....if(.!b
3ab60 69 74 20 29 0a 20 20 20 20 20 20 7b 0a 20 20 20 20 20 20 72 61 6e 67 65 20 3d 20 62 6f 75 6e 64 it.).......{.......range.=.bound
3ab80 3b 0a 20 20 20 20 20 20 62 6d 2e 70 72 6f 62 61 62 69 6c 69 74 79 20 2b 3d 20 28 62 69 74 5f 6d ;.......bm.probability.+=.(bit_m
3aba0 6f 64 65 6c 5f 74 6f 74 61 6c 20 2d 20 62 6d 2e 70 72 6f 62 61 62 69 6c 69 74 79 29 20 3e 3e 20 odel_total.-.bm.probability).>>.
3abc0 62 69 74 5f 6d 6f 64 65 6c 5f 6d 6f 76 65 5f 62 69 74 73 3b 0a 20 20 20 20 20 20 7d 0a 20 20 20 bit_model_move_bits;.......}....
3abe0 20 65 6c 73 65 0a 20 20 20 20 20 20 7b 0a 20 20 20 20 20 20 6c 6f 77 20 2b 3d 20 62 6f 75 6e 64 .else.......{.......low.+=.bound
3ac00 3b 0a 20 20 20 20 20 20 72 61 6e 67 65 20 2d 3d 20 62 6f 75 6e 64 3b 0a 20 20 20 20 20 20 62 6d ;.......range.-=.bound;.......bm
3ac20 2e 70 72 6f 62 61 62 69 6c 69 74 79 20 2d 3d 20 62 6d 2e 70 72 6f 62 61 62 69 6c 69 74 79 20 3e .probability.-=.bm.probability.>
3ac40 3e 20 62 69 74 5f 6d 6f 64 65 6c 5f 6d 6f 76 65 5f 62 69 74 73 3b 0a 20 20 20 20 20 20 7d 0a 20 >.bit_model_move_bits;.......}..
3ac60 20 20 20 69 66 28 20 72 61 6e 67 65 20 3c 3d 20 30 78 30 30 46 46 46 46 46 46 55 20 29 20 7b 20 ...if(.range.<=.0x00FFFFFFU.).{.
3ac80 72 61 6e 67 65 20 3c 3c 3d 20 38 3b 20 73 68 69 66 74 5f 6c 6f 77 28 29 3b 20 7d 0a 20 20 20 20 range.<<=.8;.shift_low();.}.....
3aca0 7d 0a 0a 20 20 76 6f 69 64 20 65 6e 63 6f 64 65 5f 74 72 65 65 33 28 20 42 69 74 5f 6d 6f 64 65 }....void.encode_tree3(.Bit_mode
3acc0 6c 20 62 6d 5b 5d 2c 20 63 6f 6e 73 74 20 69 6e 74 20 73 79 6d 62 6f 6c 20 29 0a 20 20 20 20 7b l.bm[],.const.int.symbol.).....{
3ace0 0a 20 20 20 20 62 6f 6f 6c 20 62 69 74 20 3d 20 28 20 73 79 6d 62 6f 6c 20 3e 3e 20 32 20 29 20 .....bool.bit.=.(.symbol.>>.2.).
3ad00 26 20 31 3b 0a 20 20 20 20 65 6e 63 6f 64 65 5f 62 69 74 28 20 62 6d 5b 31 5d 2c 20 62 69 74 20 &.1;.....encode_bit(.bm[1],.bit.
3ad20 29 3b 0a 20 20 20 20 69 6e 74 20 6d 6f 64 65 6c 20 3d 20 32 20 7c 20 62 69 74 3b 0a 20 20 20 20 );.....int.model.=.2.|.bit;.....
3ad40 62 69 74 20 3d 20 28 20 73 79 6d 62 6f 6c 20 3e 3e 20 31 20 29 20 26 20 31 3b 0a 20 20 20 20 65 bit.=.(.symbol.>>.1.).&.1;.....e
3ad60 6e 63 6f 64 65 5f 62 69 74 28 20 62 6d 5b 6d 6f 64 65 6c 5d 2c 20 62 69 74 20 29 3b 20 6d 6f 64 ncode_bit(.bm[model],.bit.);.mod
3ad80 65 6c 20 3c 3c 3d 20 31 3b 20 6d 6f 64 65 6c 20 7c 3d 20 62 69 74 3b 0a 20 20 20 20 65 6e 63 6f el.<<=.1;.model.|=.bit;.....enco
3ada0 64 65 5f 62 69 74 28 20 62 6d 5b 6d 6f 64 65 6c 5d 2c 20 73 79 6d 62 6f 6c 20 26 20 31 20 29 3b de_bit(.bm[model],.symbol.&.1.);
3adc0 0a 20 20 20 20 7d 0a 0a 20 20 76 6f 69 64 20 65 6e 63 6f 64 65 5f 74 72 65 65 36 28 20 42 69 74 .....}....void.encode_tree6(.Bit
3ade0 5f 6d 6f 64 65 6c 20 62 6d 5b 5d 2c 20 63 6f 6e 73 74 20 75 6e 73 69 67 6e 65 64 20 73 79 6d 62 _model.bm[],.const.unsigned.symb
3ae00 6f 6c 20 29 0a 20 20 20 20 7b 0a 20 20 20 20 62 6f 6f 6c 20 62 69 74 20 3d 20 28 20 73 79 6d 62 ol.).....{.....bool.bit.=.(.symb
3ae20 6f 6c 20 3e 3e 20 35 20 29 20 26 20 31 3b 0a 20 20 20 20 65 6e 63 6f 64 65 5f 62 69 74 28 20 62 ol.>>.5.).&.1;.....encode_bit(.b
3ae40 6d 5b 31 5d 2c 20 62 69 74 20 29 3b 0a 20 20 20 20 69 6e 74 20 6d 6f 64 65 6c 20 3d 20 32 20 7c m[1],.bit.);.....int.model.=.2.|
3ae60 20 62 69 74 3b 0a 20 20 20 20 62 69 74 20 3d 20 28 20 73 79 6d 62 6f 6c 20 3e 3e 20 34 20 29 20 .bit;.....bit.=.(.symbol.>>.4.).
3ae80 26 20 31 3b 0a 20 20 20 20 65 6e 63 6f 64 65 5f 62 69 74 28 20 62 6d 5b 6d 6f 64 65 6c 5d 2c 20 &.1;.....encode_bit(.bm[model],.
3aea0 62 69 74 20 29 3b 20 6d 6f 64 65 6c 20 3c 3c 3d 20 31 3b 20 6d 6f 64 65 6c 20 7c 3d 20 62 69 74 bit.);.model.<<=.1;.model.|=.bit
3aec0 3b 0a 20 20 20 20 62 69 74 20 3d 20 28 20 73 79 6d 62 6f 6c 20 3e 3e 20 33 20 29 20 26 20 31 3b ;.....bit.=.(.symbol.>>.3.).&.1;
3aee0 0a 20 20 20 20 65 6e 63 6f 64 65 5f 62 69 74 28 20 62 6d 5b 6d 6f 64 65 6c 5d 2c 20 62 69 74 20 .....encode_bit(.bm[model],.bit.
3af00 29 3b 20 6d 6f 64 65 6c 20 3c 3c 3d 20 31 3b 20 6d 6f 64 65 6c 20 7c 3d 20 62 69 74 3b 0a 20 20 );.model.<<=.1;.model.|=.bit;...
3af20 20 20 62 69 74 20 3d 20 28 20 73 79 6d 62 6f 6c 20 3e 3e 20 32 20 29 20 26 20 31 3b 0a 20 20 20 ..bit.=.(.symbol.>>.2.).&.1;....
3af40 20 65 6e 63 6f 64 65 5f 62 69 74 28 20 62 6d 5b 6d 6f 64 65 6c 5d 2c 20 62 69 74 20 29 3b 20 6d .encode_bit(.bm[model],.bit.);.m
3af60 6f 64 65 6c 20 3c 3c 3d 20 31 3b 20 6d 6f 64 65 6c 20 7c 3d 20 62 69 74 3b 0a 20 20 20 20 62 69 odel.<<=.1;.model.|=.bit;.....bi
3af80 74 20 3d 20 28 20 73 79 6d 62 6f 6c 20 3e 3e 20 31 20 29 20 26 20 31 3b 0a 20 20 20 20 65 6e 63 t.=.(.symbol.>>.1.).&.1;.....enc
3afa0 6f 64 65 5f 62 69 74 28 20 62 6d 5b 6d 6f 64 65 6c 5d 2c 20 62 69 74 20 29 3b 20 6d 6f 64 65 6c ode_bit(.bm[model],.bit.);.model
3afc0 20 3c 3c 3d 20 31 3b 20 6d 6f 64 65 6c 20 7c 3d 20 62 69 74 3b 0a 20 20 20 20 65 6e 63 6f 64 65 .<<=.1;.model.|=.bit;.....encode
3afe0 5f 62 69 74 28 20 62 6d 5b 6d 6f 64 65 6c 5d 2c 20 73 79 6d 62 6f 6c 20 26 20 31 20 29 3b 0a 20 _bit(.bm[model],.symbol.&.1.);..
3b000 20 20 20 7d 0a 0a 20 20 76 6f 69 64 20 65 6e 63 6f 64 65 5f 74 72 65 65 38 28 20 42 69 74 5f 6d ...}....void.encode_tree8(.Bit_m
3b020 6f 64 65 6c 20 62 6d 5b 5d 2c 20 63 6f 6e 73 74 20 69 6e 74 20 73 79 6d 62 6f 6c 20 29 0a 20 20 odel.bm[],.const.int.symbol.)...
3b040 20 20 7b 0a 20 20 20 20 69 6e 74 20 6d 6f 64 65 6c 20 3d 20 31 3b 0a 20 20 20 20 66 6f 72 28 20 ..{.....int.model.=.1;.....for(.
3b060 69 6e 74 20 69 20 3d 20 37 3b 20 69 20 3e 3d 20 30 3b 20 2d 2d 69 20 29 0a 20 20 20 20 20 20 7b int.i.=.7;.i.>=.0;.--i.).......{
3b080 0a 20 20 20 20 20 20 63 6f 6e 73 74 20 62 6f 6f 6c 20 62 69 74 20 3d 20 28 20 73 79 6d 62 6f 6c .......const.bool.bit.=.(.symbol
3b0a0 20 3e 3e 20 69 20 29 20 26 20 31 3b 0a 20 20 20 20 20 20 65 6e 63 6f 64 65 5f 62 69 74 28 20 62 .>>.i.).&.1;.......encode_bit(.b
3b0c0 6d 5b 6d 6f 64 65 6c 5d 2c 20 62 69 74 20 29 3b 0a 20 20 20 20 20 20 6d 6f 64 65 6c 20 3c 3c 3d m[model],.bit.);.......model.<<=
3b0e0 20 31 3b 20 6d 6f 64 65 6c 20 7c 3d 20 62 69 74 3b 0a 20 20 20 20 20 20 7d 0a 20 20 20 20 7d 0a .1;.model.|=.bit;.......}.....}.
3b100 0a 20 20 76 6f 69 64 20 65 6e 63 6f 64 65 5f 74 72 65 65 5f 72 65 76 65 72 73 65 64 28 20 42 69 ...void.encode_tree_reversed(.Bi
3b120 74 5f 6d 6f 64 65 6c 20 62 6d 5b 5d 2c 20 69 6e 74 20 73 79 6d 62 6f 6c 2c 20 63 6f 6e 73 74 20 t_model.bm[],.int.symbol,.const.
3b140 69 6e 74 20 6e 75 6d 5f 62 69 74 73 20 29 0a 20 20 20 20 7b 0a 20 20 20 20 69 6e 74 20 6d 6f 64 int.num_bits.).....{.....int.mod
3b160 65 6c 20 3d 20 31 3b 0a 20 20 20 20 66 6f 72 28 20 69 6e 74 20 69 20 3d 20 6e 75 6d 5f 62 69 74 el.=.1;.....for(.int.i.=.num_bit
3b180 73 3b 20 69 20 3e 20 30 3b 20 2d 2d 69 20 29 0a 20 20 20 20 20 20 7b 0a 20 20 20 20 20 20 63 6f s;.i.>.0;.--i.).......{.......co
3b1a0 6e 73 74 20 62 6f 6f 6c 20 62 69 74 20 3d 20 73 79 6d 62 6f 6c 20 26 20 31 3b 0a 20 20 20 20 20 nst.bool.bit.=.symbol.&.1;......
3b1c0 20 73 79 6d 62 6f 6c 20 3e 3e 3d 20 31 3b 0a 20 20 20 20 20 20 65 6e 63 6f 64 65 5f 62 69 74 28 .symbol.>>=.1;.......encode_bit(
3b1e0 20 62 6d 5b 6d 6f 64 65 6c 5d 2c 20 62 69 74 20 29 3b 0a 20 20 20 20 20 20 6d 6f 64 65 6c 20 3c .bm[model],.bit.);.......model.<
3b200 3c 3d 20 31 3b 20 6d 6f 64 65 6c 20 7c 3d 20 62 69 74 3b 0a 20 20 20 20 20 20 7d 0a 20 20 20 20 <=.1;.model.|=.bit;.......}.....
3b220 7d 0a 0a 20 20 76 6f 69 64 20 65 6e 63 6f 64 65 5f 6d 61 74 63 68 65 64 28 20 42 69 74 5f 6d 6f }....void.encode_matched(.Bit_mo
3b240 64 65 6c 20 62 6d 5b 5d 2c 20 75 6e 73 69 67 6e 65 64 20 73 79 6d 62 6f 6c 2c 20 75 6e 73 69 67 del.bm[],.unsigned.symbol,.unsig
3b260 6e 65 64 20 6d 61 74 63 68 5f 62 79 74 65 20 29 0a 20 20 20 20 7b 0a 20 20 20 20 75 6e 73 69 67 ned.match_byte.).....{.....unsig
3b280 6e 65 64 20 6d 61 73 6b 20 3d 20 30 78 31 30 30 3b 0a 20 20 20 20 73 79 6d 62 6f 6c 20 7c 3d 20 ned.mask.=.0x100;.....symbol.|=.
3b2a0 6d 61 73 6b 3b 0a 20 20 20 20 77 68 69 6c 65 28 20 74 72 75 65 20 29 0a 20 20 20 20 20 20 7b 0a mask;.....while(.true.).......{.
3b2c0 20 20 20 20 20 20 63 6f 6e 73 74 20 75 6e 73 69 67 6e 65 64 20 6d 61 74 63 68 5f 62 69 74 20 3d ......const.unsigned.match_bit.=
3b2e0 20 28 20 6d 61 74 63 68 5f 62 79 74 65 20 3c 3c 3d 20 31 20 29 20 26 20 6d 61 73 6b 3b 0a 20 20 .(.match_byte.<<=.1.).&.mask;...
3b300 20 20 20 20 63 6f 6e 73 74 20 62 6f 6f 6c 20 62 69 74 20 3d 20 28 20 73 79 6d 62 6f 6c 20 3c 3c ....const.bool.bit.=.(.symbol.<<
3b320 3d 20 31 20 29 20 26 20 30 78 31 30 30 3b 0a 20 20 20 20 20 20 65 6e 63 6f 64 65 5f 62 69 74 28 =.1.).&.0x100;.......encode_bit(
3b340 20 62 6d 5b 28 73 79 6d 62 6f 6c 3e 3e 39 29 2b 6d 61 74 63 68 5f 62 69 74 2b 6d 61 73 6b 5d 2c .bm[(symbol>>9)+match_bit+mask],
3b360 20 62 69 74 20 29 3b 0a 20 20 20 20 20 20 69 66 28 20 73 79 6d 62 6f 6c 20 3e 3d 20 30 78 31 30 .bit.);.......if(.symbol.>=.0x10
3b380 30 30 30 20 29 20 62 72 65 61 6b 3b 0a 20 20 20 20 20 20 6d 61 73 6b 20 26 3d 20 7e 28 6d 61 74 000.).break;.......mask.&=.~(mat
3b3a0 63 68 5f 62 69 74 20 5e 20 73 79 6d 62 6f 6c 29 3b 09 2f 2f 20 69 66 28 20 6d 61 74 63 68 5f 62 ch_bit.^.symbol);.//.if(.match_b
3b3c0 69 74 20 21 3d 20 62 69 74 20 29 20 6d 61 73 6b 20 3d 20 30 3b 0a 20 20 20 20 20 20 7d 0a 20 20 it.!=.bit.).mask.=.0;.......}...
3b3e0 20 20 7d 0a 0a 20 20 76 6f 69 64 20 65 6e 63 6f 64 65 5f 6c 65 6e 28 20 4c 65 6e 5f 6d 6f 64 65 ..}....void.encode_len(.Len_mode
3b400 6c 20 26 20 6c 6d 2c 20 69 6e 74 20 73 79 6d 62 6f 6c 2c 20 63 6f 6e 73 74 20 69 6e 74 20 70 6f l.&.lm,.int.symbol,.const.int.po
3b420 73 5f 73 74 61 74 65 20 29 0a 20 20 20 20 7b 0a 20 20 20 20 62 6f 6f 6c 20 62 69 74 20 3d 20 28 s_state.).....{.....bool.bit.=.(
3b440 20 28 20 73 79 6d 62 6f 6c 20 2d 3d 20 6d 69 6e 5f 6d 61 74 63 68 5f 6c 65 6e 20 29 20 3e 3d 20 .(.symbol.-=.min_match_len.).>=.
3b460 6c 65 6e 5f 6c 6f 77 5f 73 79 6d 62 6f 6c 73 20 29 3b 0a 20 20 20 20 65 6e 63 6f 64 65 5f 62 69 len_low_symbols.);.....encode_bi
3b480 74 28 20 6c 6d 2e 63 68 6f 69 63 65 31 2c 20 62 69 74 20 29 3b 0a 20 20 20 20 69 66 28 20 21 62 t(.lm.choice1,.bit.);.....if(.!b
3b4a0 69 74 20 29 0a 20 20 20 20 20 20 65 6e 63 6f 64 65 5f 74 72 65 65 33 28 20 6c 6d 2e 62 6d 5f 6c it.).......encode_tree3(.lm.bm_l
3b4c0 6f 77 5b 70 6f 73 5f 73 74 61 74 65 5d 2c 20 73 79 6d 62 6f 6c 20 29 3b 0a 20 20 20 20 65 6c 73 ow[pos_state],.symbol.);.....els
3b4e0 65 0a 20 20 20 20 20 20 7b 0a 20 20 20 20 20 20 62 69 74 20 3d 20 28 20 28 20 73 79 6d 62 6f 6c e.......{.......bit.=.(.(.symbol
3b500 20 2d 3d 20 6c 65 6e 5f 6c 6f 77 5f 73 79 6d 62 6f 6c 73 20 29 20 3e 3d 20 6c 65 6e 5f 6d 69 64 .-=.len_low_symbols.).>=.len_mid
3b520 5f 73 79 6d 62 6f 6c 73 20 29 3b 0a 20 20 20 20 20 20 65 6e 63 6f 64 65 5f 62 69 74 28 20 6c 6d _symbols.);.......encode_bit(.lm
3b540 2e 63 68 6f 69 63 65 32 2c 20 62 69 74 20 29 3b 0a 20 20 20 20 20 20 69 66 28 20 21 62 69 74 20 .choice2,.bit.);.......if(.!bit.
3b560 29 0a 20 20 20 20 20 20 20 20 65 6e 63 6f 64 65 5f 74 72 65 65 33 28 20 6c 6d 2e 62 6d 5f 6d 69 ).........encode_tree3(.lm.bm_mi
3b580 64 5b 70 6f 73 5f 73 74 61 74 65 5d 2c 20 73 79 6d 62 6f 6c 20 29 3b 0a 20 20 20 20 20 20 65 6c d[pos_state],.symbol.);.......el
3b5a0 73 65 0a 20 20 20 20 20 20 20 20 65 6e 63 6f 64 65 5f 74 72 65 65 38 28 20 6c 6d 2e 62 6d 5f 68 se.........encode_tree8(.lm.bm_h
3b5c0 69 67 68 2c 20 73 79 6d 62 6f 6c 20 2d 20 6c 65 6e 5f 6d 69 64 5f 73 79 6d 62 6f 6c 73 20 29 3b igh,.symbol.-.len_mid_symbols.);
3b5e0 0a 20 20 20 20 20 20 7d 0a 20 20 20 20 7d 0a 20 20 7d 3b 0a 0a 0a 63 6c 61 73 73 20 4c 5a 5f 65 .......}.....}...};...class.LZ_e
3b600 6e 63 6f 64 65 72 5f 62 61 73 65 20 3a 20 70 75 62 6c 69 63 20 4d 61 74 63 68 66 69 6e 64 65 72 ncoder_base.:.public.Matchfinder
3b620 5f 62 61 73 65 0a 20 20 7b 0a 70 72 6f 74 65 63 74 65 64 3a 0a 20 20 65 6e 75 6d 20 7b 20 6d 61 _base...{.protected:...enum.{.ma
3b640 78 5f 6d 61 72 6b 65 72 5f 73 69 7a 65 20 3d 20 31 36 2c 0a 20 20 20 20 20 20 20 20 20 6e 75 6d x_marker_size.=.16,..........num
3b660 5f 72 65 70 5f 64 69 73 74 61 6e 63 65 73 20 3d 20 34 20 7d 3b 09 2f 2f 20 6d 75 73 74 20 62 65 _rep_distances.=.4.};.//.must.be
3b680 20 34 0a 0a 20 20 75 69 6e 74 33 32 5f 74 20 63 72 63 5f 3b 0a 0a 20 20 42 69 74 5f 6d 6f 64 65 .4....uint32_t.crc_;....Bit_mode
3b6a0 6c 20 62 6d 5f 6c 69 74 65 72 61 6c 5b 31 3c 3c 6c 69 74 65 72 61 6c 5f 63 6f 6e 74 65 78 74 5f l.bm_literal[1<<literal_context_
3b6c0 62 69 74 73 5d 5b 30 78 33 30 30 5d 3b 0a 20 20 42 69 74 5f 6d 6f 64 65 6c 20 62 6d 5f 6d 61 74 bits][0x300];...Bit_model.bm_mat
3b6e0 63 68 5b 53 74 61 74 65 3a 3a 73 74 61 74 65 73 5d 5b 70 6f 73 5f 73 74 61 74 65 73 5d 3b 0a 20 ch[State::states][pos_states];..
3b700 20 42 69 74 5f 6d 6f 64 65 6c 20 62 6d 5f 72 65 70 5b 53 74 61 74 65 3a 3a 73 74 61 74 65 73 5d .Bit_model.bm_rep[State::states]
3b720 3b 0a 20 20 42 69 74 5f 6d 6f 64 65 6c 20 62 6d 5f 72 65 70 30 5b 53 74 61 74 65 3a 3a 73 74 61 ;...Bit_model.bm_rep0[State::sta
3b740 74 65 73 5d 3b 0a 20 20 42 69 74 5f 6d 6f 64 65 6c 20 62 6d 5f 72 65 70 31 5b 53 74 61 74 65 3a tes];...Bit_model.bm_rep1[State:
3b760 3a 73 74 61 74 65 73 5d 3b 0a 20 20 42 69 74 5f 6d 6f 64 65 6c 20 62 6d 5f 72 65 70 32 5b 53 74 :states];...Bit_model.bm_rep2[St
3b780 61 74 65 3a 3a 73 74 61 74 65 73 5d 3b 0a 20 20 42 69 74 5f 6d 6f 64 65 6c 20 62 6d 5f 6c 65 6e ate::states];...Bit_model.bm_len
3b7a0 5b 53 74 61 74 65 3a 3a 73 74 61 74 65 73 5d 5b 70 6f 73 5f 73 74 61 74 65 73 5d 3b 0a 20 20 42 [State::states][pos_states];...B
3b7c0 69 74 5f 6d 6f 64 65 6c 20 62 6d 5f 64 69 73 5f 73 6c 6f 74 5b 6c 65 6e 5f 73 74 61 74 65 73 5d it_model.bm_dis_slot[len_states]
3b7e0 5b 31 3c 3c 64 69 73 5f 73 6c 6f 74 5f 62 69 74 73 5d 3b 0a 20 20 42 69 74 5f 6d 6f 64 65 6c 20 [1<<dis_slot_bits];...Bit_model.
3b800 62 6d 5f 64 69 73 5b 6d 6f 64 65 6c 65 64 5f 64 69 73 74 61 6e 63 65 73 2d 65 6e 64 5f 64 69 73 bm_dis[modeled_distances-end_dis
3b820 5f 6d 6f 64 65 6c 2b 31 5d 3b 0a 20 20 42 69 74 5f 6d 6f 64 65 6c 20 62 6d 5f 61 6c 69 67 6e 5b _model+1];...Bit_model.bm_align[
3b840 64 69 73 5f 61 6c 69 67 6e 5f 73 69 7a 65 5d 3b 0a 20 20 4c 65 6e 5f 6d 6f 64 65 6c 20 6d 61 74 dis_align_size];...Len_model.mat
3b860 63 68 5f 6c 65 6e 5f 6d 6f 64 65 6c 3b 0a 20 20 4c 65 6e 5f 6d 6f 64 65 6c 20 72 65 70 5f 6c 65 ch_len_model;...Len_model.rep_le
3b880 6e 5f 6d 6f 64 65 6c 3b 0a 20 20 52 61 6e 67 65 5f 65 6e 63 6f 64 65 72 20 72 65 6e 63 3b 0a 0a n_model;...Range_encoder.renc;..
3b8a0 20 20 4c 5a 5f 65 6e 63 6f 64 65 72 5f 62 61 73 65 28 20 63 6f 6e 73 74 20 69 6e 74 20 62 65 66 ..LZ_encoder_base(.const.int.bef
3b8c0 6f 72 65 5f 73 69 7a 65 2c 20 63 6f 6e 73 74 20 69 6e 74 20 64 69 63 74 5f 73 69 7a 65 2c 0a 20 ore_size,.const.int.dict_size,..
3b8e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 63 6f 6e 73 74 20 69 6e 74 20 61 66 74 65 ..................const.int.afte
3b900 72 5f 73 69 7a 65 2c 20 63 6f 6e 73 74 20 69 6e 74 20 64 69 63 74 5f 66 61 63 74 6f 72 2c 0a 20 r_size,.const.int.dict_factor,..
3b920 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 63 6f 6e 73 74 20 69 6e 74 20 6e 75 6d 5f ..................const.int.num_
3b940 70 72 65 76 5f 70 6f 73 69 74 69 6f 6e 73 32 33 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 prev_positions23,...............
3b960 20 20 20 20 20 63 6f 6e 73 74 20 69 6e 74 20 70 6f 73 5f 61 72 72 61 79 5f 66 61 63 74 6f 72 2c .....const.int.pos_array_factor,
3b980 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 63 6f 6e 73 74 20 69 6e 74 20 69 66 ....................const.int.if
3b9a0 64 2c 20 63 6f 6e 73 74 20 69 6e 74 20 6f 75 74 66 64 20 29 0a 20 20 20 20 3a 0a 20 20 20 20 4d d,.const.int.outfd.).....:.....M
3b9c0 61 74 63 68 66 69 6e 64 65 72 5f 62 61 73 65 28 20 62 65 66 6f 72 65 5f 73 69 7a 65 2c 20 64 69 atchfinder_base(.before_size,.di
3b9e0 63 74 5f 73 69 7a 65 2c 20 61 66 74 65 72 5f 73 69 7a 65 2c 20 64 69 63 74 5f 66 61 63 74 6f 72 ct_size,.after_size,.dict_factor
3ba00 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 6e 75 6d 5f 70 72 65 76 ,.......................num_prev
3ba20 5f 70 6f 73 69 74 69 6f 6e 73 32 33 2c 20 70 6f 73 5f 61 72 72 61 79 5f 66 61 63 74 6f 72 2c 20 _positions23,.pos_array_factor,.
3ba40 69 66 64 20 29 2c 0a 20 20 20 20 63 72 63 5f 28 20 30 78 46 46 46 46 46 46 46 46 55 20 29 2c 0a ifd.),.....crc_(.0xFFFFFFFFU.),.
3ba60 20 20 20 20 72 65 6e 63 28 20 64 69 63 74 69 6f 6e 61 72 79 5f 73 69 7a 65 2c 20 6f 75 74 66 64 ....renc(.dictionary_size,.outfd
3ba80 20 29 0a 20 20 20 20 7b 7d 0a 0a 20 20 75 6e 73 69 67 6e 65 64 20 63 72 63 28 29 20 63 6f 6e 73 .).....{}....unsigned.crc().cons
3baa0 74 20 7b 20 72 65 74 75 72 6e 20 63 72 63 5f 20 5e 20 30 78 46 46 46 46 46 46 46 46 55 3b 20 7d t.{.return.crc_.^.0xFFFFFFFFU;.}
3bac0 0a 0a 20 20 69 6e 74 20 70 72 69 63 65 5f 6c 69 74 65 72 61 6c 28 20 63 6f 6e 73 74 20 75 69 6e ....int.price_literal(.const.uin
3bae0 74 38 5f 74 20 70 72 65 76 5f 62 79 74 65 2c 20 63 6f 6e 73 74 20 75 69 6e 74 38 5f 74 20 73 79 t8_t.prev_byte,.const.uint8_t.sy
3bb00 6d 62 6f 6c 20 29 20 63 6f 6e 73 74 0a 20 20 20 20 7b 20 72 65 74 75 72 6e 20 70 72 69 63 65 5f mbol.).const.....{.return.price_
3bb20 73 79 6d 62 6f 6c 38 28 20 62 6d 5f 6c 69 74 65 72 61 6c 5b 67 65 74 5f 6c 69 74 5f 73 74 61 74 symbol8(.bm_literal[get_lit_stat
3bb40 65 28 70 72 65 76 5f 62 79 74 65 29 5d 2c 20 73 79 6d 62 6f 6c 20 29 3b 20 7d 0a 0a 20 20 69 6e e(prev_byte)],.symbol.);.}....in
3bb60 74 20 70 72 69 63 65 5f 6d 61 74 63 68 65 64 28 20 63 6f 6e 73 74 20 75 69 6e 74 38 5f 74 20 70 t.price_matched(.const.uint8_t.p
3bb80 72 65 76 5f 62 79 74 65 2c 20 63 6f 6e 73 74 20 75 69 6e 74 38 5f 74 20 73 79 6d 62 6f 6c 2c 0a rev_byte,.const.uint8_t.symbol,.
3bba0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 63 6f 6e 73 74 20 75 69 6e 74 38 .....................const.uint8
3bbc0 5f 74 20 6d 61 74 63 68 5f 62 79 74 65 20 29 20 63 6f 6e 73 74 0a 20 20 20 20 7b 20 72 65 74 75 _t.match_byte.).const.....{.retu
3bbe0 72 6e 20 3a 3a 70 72 69 63 65 5f 6d 61 74 63 68 65 64 28 20 62 6d 5f 6c 69 74 65 72 61 6c 5b 67 rn.::price_matched(.bm_literal[g
3bc00 65 74 5f 6c 69 74 5f 73 74 61 74 65 28 70 72 65 76 5f 62 79 74 65 29 5d 2c 20 73 79 6d 62 6f 6c et_lit_state(prev_byte)],.symbol
3bc20 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ,...............................
3bc40 6d 61 74 63 68 5f 62 79 74 65 20 29 3b 20 7d 0a 0a 20 20 76 6f 69 64 20 65 6e 63 6f 64 65 5f 6c match_byte.);.}....void.encode_l
3bc60 69 74 65 72 61 6c 28 20 63 6f 6e 73 74 20 75 69 6e 74 38 5f 74 20 70 72 65 76 5f 62 79 74 65 2c iteral(.const.uint8_t.prev_byte,
3bc80 20 63 6f 6e 73 74 20 75 69 6e 74 38 5f 74 20 73 79 6d 62 6f 6c 20 29 0a 20 20 20 20 7b 20 72 65 .const.uint8_t.symbol.).....{.re
3bca0 6e 63 2e 65 6e 63 6f 64 65 5f 74 72 65 65 38 28 20 62 6d 5f 6c 69 74 65 72 61 6c 5b 67 65 74 5f nc.encode_tree8(.bm_literal[get_
3bcc0 6c 69 74 5f 73 74 61 74 65 28 70 72 65 76 5f 62 79 74 65 29 5d 2c 20 73 79 6d 62 6f 6c 20 29 3b lit_state(prev_byte)],.symbol.);
3bce0 20 7d 0a 0a 20 20 76 6f 69 64 20 65 6e 63 6f 64 65 5f 6d 61 74 63 68 65 64 28 20 63 6f 6e 73 74 .}....void.encode_matched(.const
3bd00 20 75 69 6e 74 38 5f 74 20 70 72 65 76 5f 62 79 74 65 2c 20 63 6f 6e 73 74 20 75 69 6e 74 38 5f .uint8_t.prev_byte,.const.uint8_
3bd20 74 20 73 79 6d 62 6f 6c 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 t.symbol,.......................
3bd40 20 63 6f 6e 73 74 20 75 69 6e 74 38 5f 74 20 6d 61 74 63 68 5f 62 79 74 65 20 29 0a 20 20 20 20 .const.uint8_t.match_byte.).....
3bd60 7b 20 72 65 6e 63 2e 65 6e 63 6f 64 65 5f 6d 61 74 63 68 65 64 28 20 62 6d 5f 6c 69 74 65 72 61 {.renc.encode_matched(.bm_litera
3bd80 6c 5b 67 65 74 5f 6c 69 74 5f 73 74 61 74 65 28 70 72 65 76 5f 62 79 74 65 29 5d 2c 20 73 79 6d l[get_lit_state(prev_byte)],.sym
3bda0 62 6f 6c 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 bol,............................
3bdc0 6d 61 74 63 68 5f 62 79 74 65 20 29 3b 20 7d 0a 0a 20 20 76 6f 69 64 20 65 6e 63 6f 64 65 5f 70 match_byte.);.}....void.encode_p
3bde0 61 69 72 28 20 63 6f 6e 73 74 20 75 6e 73 69 67 6e 65 64 20 64 69 73 2c 20 63 6f 6e 73 74 20 69 air(.const.unsigned.dis,.const.i
3be00 6e 74 20 6c 65 6e 2c 20 63 6f 6e 73 74 20 69 6e 74 20 70 6f 73 5f 73 74 61 74 65 20 29 0a 20 20 nt.len,.const.int.pos_state.)...
3be20 20 20 7b 0a 20 20 20 20 72 65 6e 63 2e 65 6e 63 6f 64 65 5f 6c 65 6e 28 20 6d 61 74 63 68 5f 6c ..{.....renc.encode_len(.match_l
3be40 65 6e 5f 6d 6f 64 65 6c 2c 20 6c 65 6e 2c 20 70 6f 73 5f 73 74 61 74 65 20 29 3b 0a 20 20 20 20 en_model,.len,.pos_state.);.....
3be60 63 6f 6e 73 74 20 75 6e 73 69 67 6e 65 64 20 64 69 73 5f 73 6c 6f 74 20 3d 20 67 65 74 5f 73 6c const.unsigned.dis_slot.=.get_sl
3be80 6f 74 28 20 64 69 73 20 29 3b 0a 20 20 20 20 72 65 6e 63 2e 65 6e 63 6f 64 65 5f 74 72 65 65 36 ot(.dis.);.....renc.encode_tree6
3bea0 28 20 62 6d 5f 64 69 73 5f 73 6c 6f 74 5b 67 65 74 5f 6c 65 6e 5f 73 74 61 74 65 28 6c 65 6e 29 (.bm_dis_slot[get_len_state(len)
3bec0 5d 2c 20 64 69 73 5f 73 6c 6f 74 20 29 3b 0a 0a 20 20 20 20 69 66 28 20 64 69 73 5f 73 6c 6f 74 ],.dis_slot.);......if(.dis_slot
3bee0 20 3e 3d 20 73 74 61 72 74 5f 64 69 73 5f 6d 6f 64 65 6c 20 29 0a 20 20 20 20 20 20 7b 0a 20 20 .>=.start_dis_model.).......{...
3bf00 20 20 20 20 63 6f 6e 73 74 20 69 6e 74 20 64 69 72 65 63 74 5f 62 69 74 73 20 3d 20 28 20 64 69 ....const.int.direct_bits.=.(.di
3bf20 73 5f 73 6c 6f 74 20 3e 3e 20 31 20 29 20 2d 20 31 3b 0a 20 20 20 20 20 20 63 6f 6e 73 74 20 75 s_slot.>>.1.).-.1;.......const.u
3bf40 6e 73 69 67 6e 65 64 20 62 61 73 65 20 3d 20 28 20 32 20 7c 20 28 20 64 69 73 5f 73 6c 6f 74 20 nsigned.base.=.(.2.|.(.dis_slot.
3bf60 26 20 31 20 29 20 29 20 3c 3c 20 64 69 72 65 63 74 5f 62 69 74 73 3b 0a 20 20 20 20 20 20 63 6f &.1.).).<<.direct_bits;.......co
3bf80 6e 73 74 20 75 6e 73 69 67 6e 65 64 20 64 69 72 65 63 74 5f 64 69 73 20 3d 20 64 69 73 20 2d 20 nst.unsigned.direct_dis.=.dis.-.
3bfa0 62 61 73 65 3b 0a 0a 20 20 20 20 20 20 69 66 28 20 64 69 73 5f 73 6c 6f 74 20 3c 20 65 6e 64 5f base;........if(.dis_slot.<.end_
3bfc0 64 69 73 5f 6d 6f 64 65 6c 20 29 0a 20 20 20 20 20 20 20 20 72 65 6e 63 2e 65 6e 63 6f 64 65 5f dis_model.).........renc.encode_
3bfe0 74 72 65 65 5f 72 65 76 65 72 73 65 64 28 20 62 6d 5f 64 69 73 20 2b 20 28 20 62 61 73 65 20 2d tree_reversed(.bm_dis.+.(.base.-
3c000 20 64 69 73 5f 73 6c 6f 74 20 29 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .dis_slot.),....................
3c020 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 64 69 72 65 63 74 5f 64 69 73 2c 20 64 69 72 65 ................direct_dis,.dire
3c040 63 74 5f 62 69 74 73 20 29 3b 0a 20 20 20 20 20 20 65 6c 73 65 0a 20 20 20 20 20 20 20 20 7b 0a ct_bits.);.......else.........{.
3c060 20 20 20 20 20 20 20 20 72 65 6e 63 2e 65 6e 63 6f 64 65 28 20 64 69 72 65 63 74 5f 64 69 73 20 ........renc.encode(.direct_dis.
3c080 3e 3e 20 64 69 73 5f 61 6c 69 67 6e 5f 62 69 74 73 2c 20 64 69 72 65 63 74 5f 62 69 74 73 20 2d >>.dis_align_bits,.direct_bits.-
3c0a0 20 64 69 73 5f 61 6c 69 67 6e 5f 62 69 74 73 20 29 3b 0a 20 20 20 20 20 20 20 20 72 65 6e 63 2e .dis_align_bits.);.........renc.
3c0c0 65 6e 63 6f 64 65 5f 74 72 65 65 5f 72 65 76 65 72 73 65 64 28 20 62 6d 5f 61 6c 69 67 6e 2c 20 encode_tree_reversed(.bm_align,.
3c0e0 64 69 72 65 63 74 5f 64 69 73 2c 20 64 69 73 5f 61 6c 69 67 6e 5f 62 69 74 73 20 29 3b 0a 20 20 direct_dis,.dis_align_bits.);...
3c100 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 7d 0a 20 20 20 20 7d 0a 0a 20 20 76 6f 69 64 20 66 75 ......}.......}.....}....void.fu
3c120 6c 6c 5f 66 6c 75 73 68 28 20 63 6f 6e 73 74 20 53 74 61 74 65 20 73 74 61 74 65 20 29 3b 0a 0a ll_flush(.const.State.state.);..
3c140 70 75 62 6c 69 63 3a 0a 20 20 76 69 72 74 75 61 6c 20 7e 4c 5a 5f 65 6e 63 6f 64 65 72 5f 62 61 public:...virtual.~LZ_encoder_ba
3c160 73 65 28 29 20 7b 7d 0a 0a 20 20 75 6e 73 69 67 6e 65 64 20 6c 6f 6e 67 20 6c 6f 6e 67 20 6d 65 se().{}....unsigned.long.long.me
3c180 6d 62 65 72 5f 70 6f 73 69 74 69 6f 6e 28 29 20 63 6f 6e 73 74 20 7b 20 72 65 74 75 72 6e 20 72 mber_position().const.{.return.r
3c1a0 65 6e 63 2e 6d 65 6d 62 65 72 5f 70 6f 73 69 74 69 6f 6e 28 29 3b 20 7d 0a 20 20 76 69 72 74 75 enc.member_position();.}...virtu
3c1c0 61 6c 20 76 6f 69 64 20 72 65 73 65 74 28 29 3b 0a 0a 20 20 76 69 72 74 75 61 6c 20 62 6f 6f 6c al.void.reset();....virtual.bool
3c1e0 20 65 6e 63 6f 64 65 5f 6d 65 6d 62 65 72 28 20 63 6f 6e 73 74 20 75 6e 73 69 67 6e 65 64 20 6c .encode_member(.const.unsigned.l
3c200 6f 6e 67 20 6c 6f 6e 67 20 6d 65 6d 62 65 72 5f 73 69 7a 65 20 29 20 3d 20 30 3b 0a 20 20 7d 3b ong.long.member_size.).=.0;...};
3c220 0a 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
3c240 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
3c260 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
3c280 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
3c2a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
3c2c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
3c2e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
3c300 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
3c320 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
3c340 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
3c360 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
3c380 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
3c3a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
3c3c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
3c3e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
3c400 6c 7a 69 70 2d 31 2e 32 32 2f 65 6e 63 6f 64 65 72 2e 68 00 00 00 00 00 00 00 00 00 00 00 00 00 lzip-1.22/encoder.h.............
3c420 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
3c440 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
3c460 00 00 00 00 30 30 30 30 36 34 34 00 30 30 30 30 30 30 30 00 30 30 30 30 30 30 30 00 30 30 30 30 ....0000644.0000000.0000000.0000
3c480 30 30 32 31 36 34 35 00 31 33 37 37 33 36 31 37 31 33 31 00 30 31 34 32 32 33 00 20 30 00 00 00 0021645.13773617131.014223..0...
3c4a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
3c4c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
3c4e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
3c500 00 75 73 74 61 72 00 30 30 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .ustar.00root...................
3c520 00 00 00 00 00 00 00 00 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .........root...................
3c540 00 00 00 00 00 00 00 00 00 30 30 30 30 30 30 30 00 30 30 30 30 30 30 30 00 00 00 00 00 00 00 00 .........0000000.0000000........
3c560 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
3c580 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
3c5a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
3c5c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
3c5e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
3c600 2f 2a 20 4c 7a 69 70 20 2d 20 4c 5a 4d 41 20 6c 6f 73 73 6c 65 73 73 20 64 61 74 61 20 63 6f 6d /*.Lzip.-.LZMA.lossless.data.com
3c620 70 72 65 73 73 6f 72 0a 20 20 20 43 6f 70 79 72 69 67 68 74 20 28 43 29 20 32 30 30 38 2d 32 30 pressor....Copyright.(C).2008-20
3c640 32 31 20 41 6e 74 6f 6e 69 6f 20 44 69 61 7a 20 44 69 61 7a 2e 0a 0a 20 20 20 54 68 69 73 20 70 21.Antonio.Diaz.Diaz......This.p
3c660 72 6f 67 72 61 6d 20 69 73 20 66 72 65 65 20 73 6f 66 74 77 61 72 65 3a 20 79 6f 75 20 63 61 6e rogram.is.free.software:.you.can
3c680 20 72 65 64 69 73 74 72 69 62 75 74 65 20 69 74 20 61 6e 64 2f 6f 72 20 6d 6f 64 69 66 79 0a 20 .redistribute.it.and/or.modify..
3c6a0 20 20 69 74 20 75 6e 64 65 72 20 74 68 65 20 74 65 72 6d 73 20 6f 66 20 74 68 65 20 47 4e 55 20 ..it.under.the.terms.of.the.GNU.
3c6c0 47 65 6e 65 72 61 6c 20 50 75 62 6c 69 63 20 4c 69 63 65 6e 73 65 20 61 73 20 70 75 62 6c 69 73 General.Public.License.as.publis
3c6e0 68 65 64 20 62 79 0a 20 20 20 74 68 65 20 46 72 65 65 20 53 6f 66 74 77 61 72 65 20 46 6f 75 6e hed.by....the.Free.Software.Foun
3c700 64 61 74 69 6f 6e 2c 20 65 69 74 68 65 72 20 76 65 72 73 69 6f 6e 20 32 20 6f 66 20 74 68 65 20 dation,.either.version.2.of.the.
3c720 4c 69 63 65 6e 73 65 2c 20 6f 72 0a 20 20 20 28 61 74 20 79 6f 75 72 20 6f 70 74 69 6f 6e 29 20 License,.or....(at.your.option).
3c740 61 6e 79 20 6c 61 74 65 72 20 76 65 72 73 69 6f 6e 2e 0a 0a 20 20 20 54 68 69 73 20 70 72 6f 67 any.later.version......This.prog
3c760 72 61 6d 20 69 73 20 64 69 73 74 72 69 62 75 74 65 64 20 69 6e 20 74 68 65 20 68 6f 70 65 20 74 ram.is.distributed.in.the.hope.t
3c780 68 61 74 20 69 74 20 77 69 6c 6c 20 62 65 20 75 73 65 66 75 6c 2c 0a 20 20 20 62 75 74 20 57 49 hat.it.will.be.useful,....but.WI
3c7a0 54 48 4f 55 54 20 41 4e 59 20 57 41 52 52 41 4e 54 59 3b 20 77 69 74 68 6f 75 74 20 65 76 65 6e THOUT.ANY.WARRANTY;.without.even
3c7c0 20 74 68 65 20 69 6d 70 6c 69 65 64 20 77 61 72 72 61 6e 74 79 20 6f 66 0a 20 20 20 4d 45 52 43 .the.implied.warranty.of....MERC
3c7e0 48 41 4e 54 41 42 49 4c 49 54 59 20 6f 72 20 46 49 54 4e 45 53 53 20 46 4f 52 20 41 20 50 41 52 HANTABILITY.or.FITNESS.FOR.A.PAR
3c800 54 49 43 55 4c 41 52 20 50 55 52 50 4f 53 45 2e 20 20 53 65 65 20 74 68 65 0a 20 20 20 47 4e 55 TICULAR.PURPOSE...See.the....GNU
3c820 20 47 65 6e 65 72 61 6c 20 50 75 62 6c 69 63 20 4c 69 63 65 6e 73 65 20 66 6f 72 20 6d 6f 72 65 .General.Public.License.for.more
3c840 20 64 65 74 61 69 6c 73 2e 0a 0a 20 20 20 59 6f 75 20 73 68 6f 75 6c 64 20 68 61 76 65 20 72 65 .details......You.should.have.re
3c860 63 65 69 76 65 64 20 61 20 63 6f 70 79 20 6f 66 20 74 68 65 20 47 4e 55 20 47 65 6e 65 72 61 6c ceived.a.copy.of.the.GNU.General
3c880 20 50 75 62 6c 69 63 20 4c 69 63 65 6e 73 65 0a 20 20 20 61 6c 6f 6e 67 20 77 69 74 68 20 74 68 .Public.License....along.with.th
3c8a0 69 73 20 70 72 6f 67 72 61 6d 2e 20 20 49 66 20 6e 6f 74 2c 20 73 65 65 20 3c 68 74 74 70 3a 2f is.program...If.not,.see.<http:/
3c8c0 2f 77 77 77 2e 67 6e 75 2e 6f 72 67 2f 6c 69 63 65 6e 73 65 73 2f 3e 2e 0a 2a 2f 0a 0a 63 6c 61 /www.gnu.org/licenses/>..*/..cla
3c8e0 73 73 20 4c 65 6e 5f 70 72 69 63 65 73 0a 20 20 7b 0a 20 20 63 6f 6e 73 74 20 4c 65 6e 5f 6d 6f ss.Len_prices...{...const.Len_mo
3c900 64 65 6c 20 26 20 6c 6d 3b 0a 20 20 63 6f 6e 73 74 20 69 6e 74 20 6c 65 6e 5f 73 79 6d 62 6f 6c del.&.lm;...const.int.len_symbol
3c920 73 3b 0a 20 20 63 6f 6e 73 74 20 69 6e 74 20 63 6f 75 6e 74 3b 0a 20 20 69 6e 74 20 70 72 69 63 s;...const.int.count;...int.pric
3c940 65 73 5b 70 6f 73 5f 73 74 61 74 65 73 5d 5b 6d 61 78 5f 6c 65 6e 5f 73 79 6d 62 6f 6c 73 5d 3b es[pos_states][max_len_symbols];
3c960 0a 20 20 69 6e 74 20 63 6f 75 6e 74 65 72 73 5b 70 6f 73 5f 73 74 61 74 65 73 5d 3b 09 09 09 2f ...int.counters[pos_states];.../
3c980 2f 20 6d 61 79 20 64 65 63 72 65 6d 65 6e 74 20 62 65 6c 6f 77 20 30 0a 0a 20 20 76 6f 69 64 20 /.may.decrement.below.0....void.
3c9a0 75 70 64 61 74 65 5f 6c 6f 77 5f 6d 69 64 5f 70 72 69 63 65 73 28 20 63 6f 6e 73 74 20 69 6e 74 update_low_mid_prices(.const.int
3c9c0 20 70 6f 73 5f 73 74 61 74 65 20 29 0a 20 20 20 20 7b 0a 20 20 20 20 69 6e 74 20 2a 20 63 6f 6e .pos_state.).....{.....int.*.con
3c9e0 73 74 20 70 70 73 20 3d 20 70 72 69 63 65 73 5b 70 6f 73 5f 73 74 61 74 65 5d 3b 0a 20 20 20 20 st.pps.=.prices[pos_state];.....
3ca00 69 6e 74 20 74 6d 70 20 3d 20 70 72 69 63 65 30 28 20 6c 6d 2e 63 68 6f 69 63 65 31 20 29 3b 0a int.tmp.=.price0(.lm.choice1.);.
3ca20 20 20 20 20 69 6e 74 20 6c 65 6e 20 3d 20 30 3b 0a 20 20 20 20 66 6f 72 28 20 3b 20 6c 65 6e 20 ....int.len.=.0;.....for(.;.len.
3ca40 3c 20 6c 65 6e 5f 6c 6f 77 5f 73 79 6d 62 6f 6c 73 20 26 26 20 6c 65 6e 20 3c 20 6c 65 6e 5f 73 <.len_low_symbols.&&.len.<.len_s
3ca60 79 6d 62 6f 6c 73 3b 20 2b 2b 6c 65 6e 20 29 0a 20 20 20 20 20 20 70 70 73 5b 6c 65 6e 5d 20 3d ymbols;.++len.).......pps[len].=
3ca80 20 74 6d 70 20 2b 20 70 72 69 63 65 5f 73 79 6d 62 6f 6c 33 28 20 6c 6d 2e 62 6d 5f 6c 6f 77 5b .tmp.+.price_symbol3(.lm.bm_low[
3caa0 70 6f 73 5f 73 74 61 74 65 5d 2c 20 6c 65 6e 20 29 3b 0a 20 20 20 20 69 66 28 20 6c 65 6e 20 3e pos_state],.len.);.....if(.len.>
3cac0 3d 20 6c 65 6e 5f 73 79 6d 62 6f 6c 73 20 29 20 72 65 74 75 72 6e 3b 0a 20 20 20 20 74 6d 70 20 =.len_symbols.).return;.....tmp.
3cae0 3d 20 70 72 69 63 65 31 28 20 6c 6d 2e 63 68 6f 69 63 65 31 20 29 20 2b 20 70 72 69 63 65 30 28 =.price1(.lm.choice1.).+.price0(
3cb00 20 6c 6d 2e 63 68 6f 69 63 65 32 20 29 3b 0a 20 20 20 20 66 6f 72 28 20 3b 20 6c 65 6e 20 3c 20 .lm.choice2.);.....for(.;.len.<.
3cb20 6c 65 6e 5f 6c 6f 77 5f 73 79 6d 62 6f 6c 73 20 2b 20 6c 65 6e 5f 6d 69 64 5f 73 79 6d 62 6f 6c len_low_symbols.+.len_mid_symbol
3cb40 73 20 26 26 20 6c 65 6e 20 3c 20 6c 65 6e 5f 73 79 6d 62 6f 6c 73 3b 20 2b 2b 6c 65 6e 20 29 0a s.&&.len.<.len_symbols;.++len.).
3cb60 20 20 20 20 20 20 70 70 73 5b 6c 65 6e 5d 20 3d 20 74 6d 70 20 2b 0a 20 20 20 20 20 20 20 20 20 ......pps[len].=.tmp.+..........
3cb80 20 20 20 20 20 20 20 20 70 72 69 63 65 5f 73 79 6d 62 6f 6c 33 28 20 6c 6d 2e 62 6d 5f 6d 69 64 ........price_symbol3(.lm.bm_mid
3cba0 5b 70 6f 73 5f 73 74 61 74 65 5d 2c 20 6c 65 6e 20 2d 20 6c 65 6e 5f 6c 6f 77 5f 73 79 6d 62 6f [pos_state],.len.-.len_low_symbo
3cbc0 6c 73 20 29 3b 0a 20 20 20 20 7d 0a 0a 20 20 76 6f 69 64 20 75 70 64 61 74 65 5f 68 69 67 68 5f ls.);.....}....void.update_high_
3cbe0 70 72 69 63 65 73 28 29 0a 20 20 20 20 7b 0a 20 20 20 20 63 6f 6e 73 74 20 69 6e 74 20 74 6d 70 prices().....{.....const.int.tmp
3cc00 20 3d 20 70 72 69 63 65 31 28 20 6c 6d 2e 63 68 6f 69 63 65 31 20 29 20 2b 20 70 72 69 63 65 31 .=.price1(.lm.choice1.).+.price1
3cc20 28 20 6c 6d 2e 63 68 6f 69 63 65 32 20 29 3b 0a 20 20 20 20 66 6f 72 28 20 69 6e 74 20 6c 65 6e (.lm.choice2.);.....for(.int.len
3cc40 20 3d 20 6c 65 6e 5f 6c 6f 77 5f 73 79 6d 62 6f 6c 73 20 2b 20 6c 65 6e 5f 6d 69 64 5f 73 79 6d .=.len_low_symbols.+.len_mid_sym
3cc60 62 6f 6c 73 3b 20 6c 65 6e 20 3c 20 6c 65 6e 5f 73 79 6d 62 6f 6c 73 3b 20 2b 2b 6c 65 6e 20 29 bols;.len.<.len_symbols;.++len.)
3cc80 0a 20 20 20 20 20 20 2f 2f 20 75 73 69 6e 67 20 34 20 73 6c 6f 74 73 20 70 65 72 20 76 61 6c 75 .......//.using.4.slots.per.valu
3cca0 65 20 6d 61 6b 65 73 20 22 70 72 69 63 65 22 20 66 61 73 74 65 72 0a 20 20 20 20 20 20 70 72 69 e.makes."price".faster.......pri
3ccc0 63 65 73 5b 33 5d 5b 6c 65 6e 5d 20 3d 20 70 72 69 63 65 73 5b 32 5d 5b 6c 65 6e 5d 20 3d 20 70 ces[3][len].=.prices[2][len].=.p
3cce0 72 69 63 65 73 5b 31 5d 5b 6c 65 6e 5d 20 3d 20 70 72 69 63 65 73 5b 30 5d 5b 6c 65 6e 5d 20 3d rices[1][len].=.prices[0][len].=
3cd00 20 74 6d 70 20 2b 0a 20 20 20 20 20 20 20 20 70 72 69 63 65 5f 73 79 6d 62 6f 6c 38 28 20 6c 6d .tmp.+.........price_symbol8(.lm
3cd20 2e 62 6d 5f 68 69 67 68 2c 20 6c 65 6e 20 2d 20 6c 65 6e 5f 6c 6f 77 5f 73 79 6d 62 6f 6c 73 20 .bm_high,.len.-.len_low_symbols.
3cd40 2d 20 6c 65 6e 5f 6d 69 64 5f 73 79 6d 62 6f 6c 73 20 29 3b 0a 20 20 20 20 7d 0a 0a 70 75 62 6c -.len_mid_symbols.);.....}..publ
3cd60 69 63 3a 0a 20 20 76 6f 69 64 20 72 65 73 65 74 28 29 20 7b 20 66 6f 72 28 20 69 6e 74 20 69 20 ic:...void.reset().{.for(.int.i.
3cd80 3d 20 30 3b 20 69 20 3c 20 70 6f 73 5f 73 74 61 74 65 73 3b 20 2b 2b 69 20 29 20 63 6f 75 6e 74 =.0;.i.<.pos_states;.++i.).count
3cda0 65 72 73 5b 69 5d 20 3d 20 30 3b 20 7d 0a 0a 20 20 4c 65 6e 5f 70 72 69 63 65 73 28 20 63 6f 6e ers[i].=.0;.}....Len_prices(.con
3cdc0 73 74 20 4c 65 6e 5f 6d 6f 64 65 6c 20 26 20 6d 2c 20 63 6f 6e 73 74 20 69 6e 74 20 6d 61 74 63 st.Len_model.&.m,.const.int.matc
3cde0 68 5f 6c 65 6e 5f 6c 69 6d 69 74 20 29 0a 20 20 20 20 3a 0a 20 20 20 20 6c 6d 28 20 6d 20 29 2c h_len_limit.).....:.....lm(.m.),
3ce00 0a 20 20 20 20 6c 65 6e 5f 73 79 6d 62 6f 6c 73 28 20 6d 61 74 63 68 5f 6c 65 6e 5f 6c 69 6d 69 .....len_symbols(.match_len_limi
3ce20 74 20 2b 20 31 20 2d 20 6d 69 6e 5f 6d 61 74 63 68 5f 6c 65 6e 20 29 2c 0a 20 20 20 20 63 6f 75 t.+.1.-.min_match_len.),.....cou
3ce40 6e 74 28 20 28 20 6d 61 74 63 68 5f 6c 65 6e 5f 6c 69 6d 69 74 20 3e 20 31 32 20 29 20 3f 20 31 nt(.(.match_len_limit.>.12.).?.1
3ce60 20 3a 20 6c 65 6e 5f 73 79 6d 62 6f 6c 73 20 29 0a 20 20 20 20 7b 20 72 65 73 65 74 28 29 3b 20 .:.len_symbols.).....{.reset();.
3ce80 7d 0a 0a 20 20 76 6f 69 64 20 64 65 63 72 65 6d 65 6e 74 5f 63 6f 75 6e 74 65 72 28 20 63 6f 6e }....void.decrement_counter(.con
3cea0 73 74 20 69 6e 74 20 70 6f 73 5f 73 74 61 74 65 20 29 20 7b 20 2d 2d 63 6f 75 6e 74 65 72 73 5b st.int.pos_state.).{.--counters[
3cec0 70 6f 73 5f 73 74 61 74 65 5d 3b 20 7d 0a 0a 20 20 76 6f 69 64 20 75 70 64 61 74 65 5f 70 72 69 pos_state];.}....void.update_pri
3cee0 63 65 73 28 29 0a 20 20 20 20 7b 0a 20 20 20 20 62 6f 6f 6c 20 68 69 67 68 5f 70 65 6e 64 69 6e ces().....{.....bool.high_pendin
3cf00 67 20 3d 20 66 61 6c 73 65 3b 0a 20 20 20 20 66 6f 72 28 20 69 6e 74 20 70 6f 73 5f 73 74 61 74 g.=.false;.....for(.int.pos_stat
3cf20 65 20 3d 20 30 3b 20 70 6f 73 5f 73 74 61 74 65 20 3c 20 70 6f 73 5f 73 74 61 74 65 73 3b 20 2b e.=.0;.pos_state.<.pos_states;.+
3cf40 2b 70 6f 73 5f 73 74 61 74 65 20 29 0a 20 20 20 20 20 20 69 66 28 20 63 6f 75 6e 74 65 72 73 5b +pos_state.).......if(.counters[
3cf60 70 6f 73 5f 73 74 61 74 65 5d 20 3c 3d 20 30 20 29 0a 20 20 20 20 20 20 20 20 7b 20 63 6f 75 6e pos_state].<=.0.).........{.coun
3cf80 74 65 72 73 5b 70 6f 73 5f 73 74 61 74 65 5d 20 3d 20 63 6f 75 6e 74 3b 0a 20 20 20 20 20 20 20 ters[pos_state].=.count;........
3cfa0 20 20 20 75 70 64 61 74 65 5f 6c 6f 77 5f 6d 69 64 5f 70 72 69 63 65 73 28 20 70 6f 73 5f 73 74 ...update_low_mid_prices(.pos_st
3cfc0 61 74 65 20 29 3b 20 68 69 67 68 5f 70 65 6e 64 69 6e 67 20 3d 20 74 72 75 65 3b 20 7d 0a 20 20 ate.);.high_pending.=.true;.}...
3cfe0 20 20 69 66 28 20 68 69 67 68 5f 70 65 6e 64 69 6e 67 20 26 26 20 6c 65 6e 5f 73 79 6d 62 6f 6c ..if(.high_pending.&&.len_symbol
3d000 73 20 3e 20 6c 65 6e 5f 6c 6f 77 5f 73 79 6d 62 6f 6c 73 20 2b 20 6c 65 6e 5f 6d 69 64 5f 73 79 s.>.len_low_symbols.+.len_mid_sy
3d020 6d 62 6f 6c 73 20 29 0a 20 20 20 20 20 20 75 70 64 61 74 65 5f 68 69 67 68 5f 70 72 69 63 65 73 mbols.).......update_high_prices
3d040 28 29 3b 0a 20 20 20 20 7d 0a 0a 20 20 69 6e 74 20 70 72 69 63 65 28 20 63 6f 6e 73 74 20 69 6e ();.....}....int.price(.const.in
3d060 74 20 6c 65 6e 2c 20 63 6f 6e 73 74 20 69 6e 74 20 70 6f 73 5f 73 74 61 74 65 20 29 20 63 6f 6e t.len,.const.int.pos_state.).con
3d080 73 74 0a 20 20 20 20 7b 20 72 65 74 75 72 6e 20 70 72 69 63 65 73 5b 70 6f 73 5f 73 74 61 74 65 st.....{.return.prices[pos_state
3d0a0 5d 5b 6c 65 6e 20 2d 20 6d 69 6e 5f 6d 61 74 63 68 5f 6c 65 6e 5d 3b 20 7d 0a 20 20 7d 3b 0a 0a ][len.-.min_match_len];.}...};..
3d0c0 0a 63 6c 61 73 73 20 4c 5a 5f 65 6e 63 6f 64 65 72 20 3a 20 70 75 62 6c 69 63 20 4c 5a 5f 65 6e .class.LZ_encoder.:.public.LZ_en
3d0e0 63 6f 64 65 72 5f 62 61 73 65 0a 20 20 7b 0a 20 20 73 74 72 75 63 74 20 50 61 69 72 09 09 09 2f coder_base...{...struct.Pair.../
3d100 2f 20 64 69 73 74 61 6e 63 65 2d 6c 65 6e 67 74 68 20 70 61 69 72 0a 20 20 20 20 7b 0a 20 20 20 /.distance-length.pair.....{....
3d120 20 69 6e 74 20 64 69 73 3b 0a 20 20 20 20 69 6e 74 20 6c 65 6e 3b 0a 20 20 20 20 7d 3b 0a 0a 20 .int.dis;.....int.len;.....};...
3d140 20 65 6e 75 6d 20 7b 20 69 6e 66 69 6e 69 74 65 5f 70 72 69 63 65 20 3d 20 30 78 30 46 46 46 46 .enum.{.infinite_price.=.0x0FFFF
3d160 46 46 46 2c 0a 20 20 20 20 20 20 20 20 20 6d 61 78 5f 6e 75 6d 5f 74 72 69 61 6c 73 20 3d 20 31 FFF,..........max_num_trials.=.1
3d180 20 3c 3c 20 31 33 2c 0a 20 20 20 20 20 20 20 20 20 73 69 6e 67 6c 65 5f 73 74 65 70 5f 74 72 69 .<<.13,..........single_step_tri
3d1a0 61 6c 20 3d 20 2d 32 2c 0a 20 20 20 20 20 20 20 20 20 64 75 61 6c 5f 73 74 65 70 5f 74 72 69 61 al.=.-2,..........dual_step_tria
3d1c0 6c 20 3d 20 2d 31 20 7d 3b 0a 0a 20 20 73 74 72 75 63 74 20 54 72 69 61 6c 0a 20 20 20 20 7b 0a l.=.-1.};....struct.Trial.....{.
3d1e0 20 20 20 20 53 74 61 74 65 20 73 74 61 74 65 3b 0a 20 20 20 20 69 6e 74 20 70 72 69 63 65 3b 09 ....State.state;.....int.price;.
3d200 09 2f 2f 20 64 75 61 6c 20 75 73 65 20 76 61 72 3b 20 63 75 6d 75 6c 61 74 69 76 65 20 70 72 69 .//.dual.use.var;.cumulative.pri
3d220 63 65 2c 20 6d 61 74 63 68 20 6c 65 6e 67 74 68 0a 20 20 20 20 69 6e 74 20 64 69 73 34 3b 09 09 ce,.match.length.....int.dis4;..
3d240 2f 2f 20 2d 31 20 66 6f 72 20 6c 69 74 65 72 61 6c 2c 20 6f 72 20 72 65 70 2c 20 6f 72 20 6d 61 //.-1.for.literal,.or.rep,.or.ma
3d260 74 63 68 20 64 69 73 74 61 6e 63 65 20 2b 20 34 0a 20 20 20 20 69 6e 74 20 70 72 65 76 5f 69 6e tch.distance.+.4.....int.prev_in
3d280 64 65 78 3b 09 2f 2f 20 69 6e 64 65 78 20 6f 66 20 70 72 65 76 20 74 72 69 61 6c 20 69 6e 20 74 dex;.//.index.of.prev.trial.in.t
3d2a0 72 69 61 6c 73 5b 5d 0a 20 20 20 20 69 6e 74 20 70 72 65 76 5f 69 6e 64 65 78 32 3b 09 2f 2f 20 rials[].....int.prev_index2;.//.
3d2c0 20 20 2d 32 20 20 74 72 69 61 6c 20 69 73 20 73 69 6e 67 6c 65 20 73 74 65 70 0a 09 09 09 2f 2f ..-2..trial.is.single.step....//
3d2e0 20 20 20 2d 31 20 20 6c 69 74 65 72 61 6c 20 2b 20 72 65 70 30 0a 09 09 09 2f 2f 20 3e 3d 20 30 ...-1..literal.+.rep0....//.>=.0
3d300 20 20 28 20 72 65 70 20 6f 72 20 6d 61 74 63 68 20 29 20 2b 20 6c 69 74 65 72 61 6c 20 2b 20 72 ..(.rep.or.match.).+.literal.+.r
3d320 65 70 30 0a 20 20 20 20 69 6e 74 20 72 65 70 73 5b 6e 75 6d 5f 72 65 70 5f 64 69 73 74 61 6e 63 ep0.....int.reps[num_rep_distanc
3d340 65 73 5d 3b 0a 0a 20 20 20 20 76 6f 69 64 20 75 70 64 61 74 65 28 20 63 6f 6e 73 74 20 69 6e 74 es];......void.update(.const.int
3d360 20 70 72 2c 20 63 6f 6e 73 74 20 69 6e 74 20 64 69 73 74 61 6e 63 65 34 2c 20 63 6f 6e 73 74 20 .pr,.const.int.distance4,.const.
3d380 69 6e 74 20 70 5f 69 20 29 0a 20 20 20 20 20 20 7b 0a 20 20 20 20 20 20 69 66 28 20 70 72 20 3c int.p_i.).......{.......if(.pr.<
3d3a0 20 70 72 69 63 65 20 29 0a 20 20 20 20 20 20 20 20 7b 20 70 72 69 63 65 20 3d 20 70 72 3b 20 64 .price.).........{.price.=.pr;.d
3d3c0 69 73 34 20 3d 20 64 69 73 74 61 6e 63 65 34 3b 20 70 72 65 76 5f 69 6e 64 65 78 20 3d 20 70 5f is4.=.distance4;.prev_index.=.p_
3d3e0 69 3b 0a 20 20 20 20 20 20 20 20 20 20 70 72 65 76 5f 69 6e 64 65 78 32 20 3d 20 73 69 6e 67 6c i;...........prev_index2.=.singl
3d400 65 5f 73 74 65 70 5f 74 72 69 61 6c 3b 20 7d 0a 20 20 20 20 20 20 7d 0a 0a 20 20 20 20 76 6f 69 e_step_trial;.}.......}......voi
3d420 64 20 75 70 64 61 74 65 32 28 20 63 6f 6e 73 74 20 69 6e 74 20 70 72 2c 20 63 6f 6e 73 74 20 69 d.update2(.const.int.pr,.const.i
3d440 6e 74 20 70 5f 69 20 29 0a 20 20 20 20 20 20 7b 0a 20 20 20 20 20 20 69 66 28 20 70 72 20 3c 20 nt.p_i.).......{.......if(.pr.<.
3d460 70 72 69 63 65 20 29 0a 20 20 20 20 20 20 20 20 7b 20 70 72 69 63 65 20 3d 20 70 72 3b 20 64 69 price.).........{.price.=.pr;.di
3d480 73 34 20 3d 20 30 3b 20 70 72 65 76 5f 69 6e 64 65 78 20 3d 20 70 5f 69 3b 0a 20 20 20 20 20 20 s4.=.0;.prev_index.=.p_i;.......
3d4a0 20 20 20 20 70 72 65 76 5f 69 6e 64 65 78 32 20 3d 20 64 75 61 6c 5f 73 74 65 70 5f 74 72 69 61 ....prev_index2.=.dual_step_tria
3d4c0 6c 3b 20 7d 0a 20 20 20 20 20 20 7d 0a 0a 20 20 20 20 76 6f 69 64 20 75 70 64 61 74 65 33 28 20 l;.}.......}......void.update3(.
3d4e0 63 6f 6e 73 74 20 69 6e 74 20 70 72 2c 20 63 6f 6e 73 74 20 69 6e 74 20 64 69 73 74 61 6e 63 65 const.int.pr,.const.int.distance
3d500 34 2c 20 63 6f 6e 73 74 20 69 6e 74 20 70 5f 69 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 4,.const.int.p_i,...............
3d520 20 20 20 20 63 6f 6e 73 74 20 69 6e 74 20 70 5f 69 32 20 29 0a 20 20 20 20 20 20 7b 0a 20 20 20 ....const.int.p_i2.).......{....
3d540 20 20 20 69 66 28 20 70 72 20 3c 20 70 72 69 63 65 20 29 0a 20 20 20 20 20 20 20 20 7b 20 70 72 ...if(.pr.<.price.).........{.pr
3d560 69 63 65 20 3d 20 70 72 3b 20 64 69 73 34 20 3d 20 64 69 73 74 61 6e 63 65 34 3b 20 70 72 65 76 ice.=.pr;.dis4.=.distance4;.prev
3d580 5f 69 6e 64 65 78 20 3d 20 70 5f 69 3b 0a 20 20 20 20 20 20 20 20 20 20 70 72 65 76 5f 69 6e 64 _index.=.p_i;...........prev_ind
3d5a0 65 78 32 20 3d 20 70 5f 69 32 3b 20 7d 0a 20 20 20 20 20 20 7d 0a 20 20 20 20 7d 3b 0a 0a 20 20 ex2.=.p_i2;.}.......}.....};....
3d5c0 63 6f 6e 73 74 20 69 6e 74 20 63 79 63 6c 65 73 3b 0a 20 20 63 6f 6e 73 74 20 69 6e 74 20 6d 61 const.int.cycles;...const.int.ma
3d5e0 74 63 68 5f 6c 65 6e 5f 6c 69 6d 69 74 3b 0a 20 20 4c 65 6e 5f 70 72 69 63 65 73 20 6d 61 74 63 tch_len_limit;...Len_prices.matc
3d600 68 5f 6c 65 6e 5f 70 72 69 63 65 73 3b 0a 20 20 4c 65 6e 5f 70 72 69 63 65 73 20 72 65 70 5f 6c h_len_prices;...Len_prices.rep_l
3d620 65 6e 5f 70 72 69 63 65 73 3b 0a 20 20 69 6e 74 20 70 65 6e 64 69 6e 67 5f 6e 75 6d 5f 70 61 69 en_prices;...int.pending_num_pai
3d640 72 73 3b 0a 20 20 50 61 69 72 20 70 61 69 72 73 5b 6d 61 78 5f 6d 61 74 63 68 5f 6c 65 6e 2b 31 rs;...Pair.pairs[max_match_len+1
3d660 5d 3b 0a 20 20 54 72 69 61 6c 20 74 72 69 61 6c 73 5b 6d 61 78 5f 6e 75 6d 5f 74 72 69 61 6c 73 ];...Trial.trials[max_num_trials
3d680 5d 3b 0a 0a 20 20 69 6e 74 20 64 69 73 5f 73 6c 6f 74 5f 70 72 69 63 65 73 5b 6c 65 6e 5f 73 74 ];....int.dis_slot_prices[len_st
3d6a0 61 74 65 73 5d 5b 32 2a 6d 61 78 5f 64 69 63 74 69 6f 6e 61 72 79 5f 62 69 74 73 5d 3b 0a 20 20 ates][2*max_dictionary_bits];...
3d6c0 69 6e 74 20 64 69 73 5f 70 72 69 63 65 73 5b 6c 65 6e 5f 73 74 61 74 65 73 5d 5b 6d 6f 64 65 6c int.dis_prices[len_states][model
3d6e0 65 64 5f 64 69 73 74 61 6e 63 65 73 5d 3b 0a 20 20 69 6e 74 20 61 6c 69 67 6e 5f 70 72 69 63 65 ed_distances];...int.align_price
3d700 73 5b 64 69 73 5f 61 6c 69 67 6e 5f 73 69 7a 65 5d 3b 0a 20 20 63 6f 6e 73 74 20 69 6e 74 20 6e s[dis_align_size];...const.int.n
3d720 75 6d 5f 64 69 73 5f 73 6c 6f 74 73 3b 0a 0a 20 20 62 6f 6f 6c 20 64 65 63 5f 70 6f 73 28 20 63 um_dis_slots;....bool.dec_pos(.c
3d740 6f 6e 73 74 20 69 6e 74 20 61 68 65 61 64 20 29 0a 20 20 20 20 7b 0a 20 20 20 20 69 66 28 20 61 onst.int.ahead.).....{.....if(.a
3d760 68 65 61 64 20 3c 20 30 20 7c 7c 20 70 6f 73 20 3c 20 61 68 65 61 64 20 29 20 72 65 74 75 72 6e head.<.0.||.pos.<.ahead.).return
3d780 20 66 61 6c 73 65 3b 0a 20 20 20 20 70 6f 73 20 2d 3d 20 61 68 65 61 64 3b 0a 20 20 20 20 69 66 .false;.....pos.-=.ahead;.....if
3d7a0 28 20 63 79 63 6c 69 63 5f 70 6f 73 20 3c 20 61 68 65 61 64 20 29 20 63 79 63 6c 69 63 5f 70 6f (.cyclic_pos.<.ahead.).cyclic_po
3d7c0 73 20 2b 3d 20 64 69 63 74 69 6f 6e 61 72 79 5f 73 69 7a 65 20 2b 20 31 3b 0a 20 20 20 20 63 79 s.+=.dictionary_size.+.1;.....cy
3d7e0 63 6c 69 63 5f 70 6f 73 20 2d 3d 20 61 68 65 61 64 3b 0a 20 20 20 20 72 65 74 75 72 6e 20 74 72 clic_pos.-=.ahead;.....return.tr
3d800 75 65 3b 0a 20 20 20 20 7d 0a 0a 20 20 69 6e 74 20 67 65 74 5f 6d 61 74 63 68 5f 70 61 69 72 73 ue;.....}....int.get_match_pairs
3d820 28 20 50 61 69 72 20 2a 20 70 61 69 72 73 20 3d 20 30 20 29 3b 0a 20 20 76 6f 69 64 20 75 70 64 (.Pair.*.pairs.=.0.);...void.upd
3d840 61 74 65 5f 64 69 73 74 61 6e 63 65 5f 70 72 69 63 65 73 28 29 3b 0a 0a 20 20 20 20 20 20 20 2f ate_distance_prices();........./
3d860 2f 20 6d 6f 76 65 2d 74 6f 2d 66 72 6f 6e 74 20 64 69 73 20 69 6e 2f 69 6e 74 6f 20 72 65 70 73 /.move-to-front.dis.in/into.reps
3d880 3b 20 64 6f 20 6e 6f 74 68 69 6e 67 20 69 66 28 20 64 69 73 34 20 3c 3d 20 30 20 29 0a 20 20 73 ;.do.nothing.if(.dis4.<=.0.)...s
3d8a0 74 61 74 69 63 20 76 6f 69 64 20 6d 74 66 5f 72 65 70 73 28 20 63 6f 6e 73 74 20 69 6e 74 20 64 tatic.void.mtf_reps(.const.int.d
3d8c0 69 73 34 2c 20 69 6e 74 20 72 65 70 73 5b 6e 75 6d 5f 72 65 70 5f 64 69 73 74 61 6e 63 65 73 5d is4,.int.reps[num_rep_distances]
3d8e0 20 29 0a 20 20 20 20 7b 0a 20 20 20 20 69 66 28 20 64 69 73 34 20 3e 3d 20 6e 75 6d 5f 72 65 70 .).....{.....if(.dis4.>=.num_rep
3d900 5f 64 69 73 74 61 6e 63 65 73 20 29 09 09 09 2f 2f 20 6d 61 74 63 68 0a 20 20 20 20 20 20 7b 0a _distances.)...//.match.......{.
3d920 20 20 20 20 20 20 72 65 70 73 5b 33 5d 20 3d 20 72 65 70 73 5b 32 5d 3b 20 72 65 70 73 5b 32 5d ......reps[3].=.reps[2];.reps[2]
3d940 20 3d 20 72 65 70 73 5b 31 5d 3b 20 72 65 70 73 5b 31 5d 20 3d 20 72 65 70 73 5b 30 5d 3b 0a 20 .=.reps[1];.reps[1].=.reps[0];..
3d960 20 20 20 20 20 72 65 70 73 5b 30 5d 20 3d 20 64 69 73 34 20 2d 20 6e 75 6d 5f 72 65 70 5f 64 69 .....reps[0].=.dis4.-.num_rep_di
3d980 73 74 61 6e 63 65 73 3b 0a 20 20 20 20 20 20 7d 0a 20 20 20 20 65 6c 73 65 20 69 66 28 20 64 69 stances;.......}.....else.if(.di
3d9a0 73 34 20 3e 20 30 20 29 09 09 09 09 2f 2f 20 72 65 70 65 61 74 65 64 20 6d 61 74 63 68 0a 20 20 s4.>.0.)....//.repeated.match...
3d9c0 20 20 20 20 7b 0a 20 20 20 20 20 20 63 6f 6e 73 74 20 69 6e 74 20 64 69 73 74 61 6e 63 65 20 3d ....{.......const.int.distance.=
3d9e0 20 72 65 70 73 5b 64 69 73 34 5d 3b 0a 20 20 20 20 20 20 66 6f 72 28 20 69 6e 74 20 69 20 3d 20 .reps[dis4];.......for(.int.i.=.
3da00 64 69 73 34 3b 20 69 20 3e 20 30 3b 20 2d 2d 69 20 29 20 72 65 70 73 5b 69 5d 20 3d 20 72 65 70 dis4;.i.>.0;.--i.).reps[i].=.rep
3da20 73 5b 69 2d 31 5d 3b 0a 20 20 20 20 20 20 72 65 70 73 5b 30 5d 20 3d 20 64 69 73 74 61 6e 63 65 s[i-1];.......reps[0].=.distance
3da40 3b 0a 20 20 20 20 20 20 7d 0a 20 20 20 20 7d 0a 0a 20 20 69 6e 74 20 70 72 69 63 65 5f 73 68 6f ;.......}.....}....int.price_sho
3da60 72 74 72 65 70 28 20 63 6f 6e 73 74 20 53 74 61 74 65 20 73 74 61 74 65 2c 20 63 6f 6e 73 74 20 rtrep(.const.State.state,.const.
3da80 69 6e 74 20 70 6f 73 5f 73 74 61 74 65 20 29 20 63 6f 6e 73 74 0a 20 20 20 20 7b 0a 20 20 20 20 int.pos_state.).const.....{.....
3daa0 72 65 74 75 72 6e 20 70 72 69 63 65 30 28 20 62 6d 5f 72 65 70 30 5b 73 74 61 74 65 28 29 5d 20 return.price0(.bm_rep0[state()].
3dac0 29 20 2b 20 70 72 69 63 65 30 28 20 62 6d 5f 6c 65 6e 5b 73 74 61 74 65 28 29 5d 5b 70 6f 73 5f ).+.price0(.bm_len[state()][pos_
3dae0 73 74 61 74 65 5d 20 29 3b 0a 20 20 20 20 7d 0a 0a 20 20 69 6e 74 20 70 72 69 63 65 5f 72 65 70 state].);.....}....int.price_rep
3db00 28 20 63 6f 6e 73 74 20 69 6e 74 20 72 65 70 2c 20 63 6f 6e 73 74 20 53 74 61 74 65 20 73 74 61 (.const.int.rep,.const.State.sta
3db20 74 65 2c 20 63 6f 6e 73 74 20 69 6e 74 20 70 6f 73 5f 73 74 61 74 65 20 29 20 63 6f 6e 73 74 0a te,.const.int.pos_state.).const.
3db40 20 20 20 20 7b 0a 20 20 20 20 69 66 28 20 72 65 70 20 3d 3d 20 30 20 29 20 72 65 74 75 72 6e 20 ....{.....if(.rep.==.0.).return.
3db60 70 72 69 63 65 30 28 20 62 6d 5f 72 65 70 30 5b 73 74 61 74 65 28 29 5d 20 29 20 2b 0a 20 20 20 price0(.bm_rep0[state()].).+....
3db80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 70 72 69 63 65 31 28 20 62 .......................price1(.b
3dba0 6d 5f 6c 65 6e 5b 73 74 61 74 65 28 29 5d 5b 70 6f 73 5f 73 74 61 74 65 5d 20 29 3b 0a 20 20 20 m_len[state()][pos_state].);....
3dbc0 20 69 6e 74 20 70 72 69 63 65 20 3d 20 70 72 69 63 65 31 28 20 62 6d 5f 72 65 70 30 5b 73 74 61 .int.price.=.price1(.bm_rep0[sta
3dbe0 74 65 28 29 5d 20 29 3b 0a 20 20 20 20 69 66 28 20 72 65 70 20 3d 3d 20 31 20 29 0a 20 20 20 20 te()].);.....if(.rep.==.1.).....
3dc00 20 20 70 72 69 63 65 20 2b 3d 20 70 72 69 63 65 30 28 20 62 6d 5f 72 65 70 31 5b 73 74 61 74 65 ..price.+=.price0(.bm_rep1[state
3dc20 28 29 5d 20 29 3b 0a 20 20 20 20 65 6c 73 65 0a 20 20 20 20 20 20 7b 0a 20 20 20 20 20 20 70 72 ()].);.....else.......{.......pr
3dc40 69 63 65 20 2b 3d 20 70 72 69 63 65 31 28 20 62 6d 5f 72 65 70 31 5b 73 74 61 74 65 28 29 5d 20 ice.+=.price1(.bm_rep1[state()].
3dc60 29 3b 0a 20 20 20 20 20 20 70 72 69 63 65 20 2b 3d 20 70 72 69 63 65 5f 62 69 74 28 20 62 6d 5f );.......price.+=.price_bit(.bm_
3dc80 72 65 70 32 5b 73 74 61 74 65 28 29 5d 2c 20 72 65 70 20 2d 20 32 20 29 3b 0a 20 20 20 20 20 20 rep2[state()],.rep.-.2.);.......
3dca0 7d 0a 20 20 20 20 72 65 74 75 72 6e 20 70 72 69 63 65 3b 0a 20 20 20 20 7d 0a 0a 20 20 69 6e 74 }.....return.price;.....}....int
3dcc0 20 70 72 69 63 65 5f 72 65 70 30 5f 6c 65 6e 28 20 63 6f 6e 73 74 20 69 6e 74 20 6c 65 6e 2c 20 .price_rep0_len(.const.int.len,.
3dce0 63 6f 6e 73 74 20 53 74 61 74 65 20 73 74 61 74 65 2c 20 63 6f 6e 73 74 20 69 6e 74 20 70 6f 73 const.State.state,.const.int.pos
3dd00 5f 73 74 61 74 65 20 29 20 63 6f 6e 73 74 0a 20 20 20 20 7b 0a 20 20 20 20 72 65 74 75 72 6e 20 _state.).const.....{.....return.
3dd20 70 72 69 63 65 5f 72 65 70 28 20 30 2c 20 73 74 61 74 65 2c 20 70 6f 73 5f 73 74 61 74 65 20 29 price_rep(.0,.state,.pos_state.)
3dd40 20 2b 0a 20 20 20 20 20 20 20 20 20 20 20 72 65 70 5f 6c 65 6e 5f 70 72 69 63 65 73 2e 70 72 69 .+............rep_len_prices.pri
3dd60 63 65 28 20 6c 65 6e 2c 20 70 6f 73 5f 73 74 61 74 65 20 29 3b 0a 20 20 20 20 7d 0a 0a 20 20 69 ce(.len,.pos_state.);.....}....i
3dd80 6e 74 20 70 72 69 63 65 5f 70 61 69 72 28 20 63 6f 6e 73 74 20 69 6e 74 20 64 69 73 2c 20 63 6f nt.price_pair(.const.int.dis,.co
3dda0 6e 73 74 20 69 6e 74 20 6c 65 6e 2c 20 63 6f 6e 73 74 20 69 6e 74 20 70 6f 73 5f 73 74 61 74 65 nst.int.len,.const.int.pos_state
3ddc0 20 29 20 63 6f 6e 73 74 0a 20 20 20 20 7b 0a 20 20 20 20 63 6f 6e 73 74 20 69 6e 74 20 70 72 69 .).const.....{.....const.int.pri
3dde0 63 65 20 3d 20 6d 61 74 63 68 5f 6c 65 6e 5f 70 72 69 63 65 73 2e 70 72 69 63 65 28 20 6c 65 6e ce.=.match_len_prices.price(.len
3de00 2c 20 70 6f 73 5f 73 74 61 74 65 20 29 3b 0a 20 20 20 20 63 6f 6e 73 74 20 69 6e 74 20 6c 65 6e ,.pos_state.);.....const.int.len
3de20 5f 73 74 61 74 65 20 3d 20 67 65 74 5f 6c 65 6e 5f 73 74 61 74 65 28 20 6c 65 6e 20 29 3b 0a 20 _state.=.get_len_state(.len.);..
3de40 20 20 20 69 66 28 20 64 69 73 20 3c 20 6d 6f 64 65 6c 65 64 5f 64 69 73 74 61 6e 63 65 73 20 29 ...if(.dis.<.modeled_distances.)
3de60 0a 20 20 20 20 20 20 72 65 74 75 72 6e 20 70 72 69 63 65 20 2b 20 64 69 73 5f 70 72 69 63 65 73 .......return.price.+.dis_prices
3de80 5b 6c 65 6e 5f 73 74 61 74 65 5d 5b 64 69 73 5d 3b 0a 20 20 20 20 65 6c 73 65 0a 20 20 20 20 20 [len_state][dis];.....else......
3dea0 20 72 65 74 75 72 6e 20 70 72 69 63 65 20 2b 20 64 69 73 5f 73 6c 6f 74 5f 70 72 69 63 65 73 5b .return.price.+.dis_slot_prices[
3dec0 6c 65 6e 5f 73 74 61 74 65 5d 5b 67 65 74 5f 73 6c 6f 74 28 20 64 69 73 20 29 5d 20 2b 0a 20 20 len_state][get_slot(.dis.)].+...
3dee0 20 20 20 20 20 20 20 20 20 20 20 61 6c 69 67 6e 5f 70 72 69 63 65 73 5b 64 69 73 20 26 20 28 64 ...........align_prices[dis.&.(d
3df00 69 73 5f 61 6c 69 67 6e 5f 73 69 7a 65 20 2d 20 31 29 5d 3b 0a 20 20 20 20 7d 0a 0a 20 20 69 6e is_align_size.-.1)];.....}....in
3df20 74 20 72 65 61 64 5f 6d 61 74 63 68 5f 64 69 73 74 61 6e 63 65 73 28 29 0a 20 20 20 20 7b 0a 20 t.read_match_distances().....{..
3df40 20 20 20 63 6f 6e 73 74 20 69 6e 74 20 6e 75 6d 5f 70 61 69 72 73 20 3d 20 67 65 74 5f 6d 61 74 ...const.int.num_pairs.=.get_mat
3df60 63 68 5f 70 61 69 72 73 28 20 70 61 69 72 73 20 29 3b 0a 20 20 20 20 69 66 28 20 6e 75 6d 5f 70 ch_pairs(.pairs.);.....if(.num_p
3df80 61 69 72 73 20 3e 20 30 20 29 0a 20 20 20 20 20 20 7b 0a 20 20 20 20 20 20 63 6f 6e 73 74 20 69 airs.>.0.).......{.......const.i
3dfa0 6e 74 20 6c 65 6e 20 3d 20 70 61 69 72 73 5b 6e 75 6d 5f 70 61 69 72 73 2d 31 5d 2e 6c 65 6e 3b nt.len.=.pairs[num_pairs-1].len;
3dfc0 0a 20 20 20 20 20 20 69 66 28 20 6c 65 6e 20 3d 3d 20 6d 61 74 63 68 5f 6c 65 6e 5f 6c 69 6d 69 .......if(.len.==.match_len_limi
3dfe0 74 20 26 26 20 6c 65 6e 20 3c 20 6d 61 78 5f 6d 61 74 63 68 5f 6c 65 6e 20 29 0a 20 20 20 20 20 t.&&.len.<.max_match_len.)......
3e000 20 20 20 70 61 69 72 73 5b 6e 75 6d 5f 70 61 69 72 73 2d 31 5d 2e 6c 65 6e 20 3d 0a 20 20 20 20 ...pairs[num_pairs-1].len.=.....
3e020 20 20 20 20 20 20 74 72 75 65 5f 6d 61 74 63 68 5f 6c 65 6e 28 20 6c 65 6e 2c 20 70 61 69 72 73 ......true_match_len(.len,.pairs
3e040 5b 6e 75 6d 5f 70 61 69 72 73 2d 31 5d 2e 64 69 73 20 2b 20 31 20 29 3b 0a 20 20 20 20 20 20 7d [num_pairs-1].dis.+.1.);.......}
3e060 0a 20 20 20 20 72 65 74 75 72 6e 20 6e 75 6d 5f 70 61 69 72 73 3b 0a 20 20 20 20 7d 0a 0a 20 20 .....return.num_pairs;.....}....
3e080 76 6f 69 64 20 6d 6f 76 65 5f 61 6e 64 5f 75 70 64 61 74 65 28 20 69 6e 74 20 6e 20 29 0a 20 20 void.move_and_update(.int.n.)...
3e0a0 20 20 7b 0a 20 20 20 20 77 68 69 6c 65 28 20 74 72 75 65 20 29 0a 20 20 20 20 20 20 7b 0a 20 20 ..{.....while(.true.).......{...
3e0c0 20 20 20 20 6d 6f 76 65 5f 70 6f 73 28 29 3b 0a 20 20 20 20 20 20 69 66 28 20 2d 2d 6e 20 3c 3d ....move_pos();.......if(.--n.<=
3e0e0 20 30 20 29 20 62 72 65 61 6b 3b 0a 20 20 20 20 20 20 67 65 74 5f 6d 61 74 63 68 5f 70 61 69 72 .0.).break;.......get_match_pair
3e100 73 28 29 3b 0a 20 20 20 20 20 20 7d 0a 20 20 20 20 7d 0a 0a 20 20 76 6f 69 64 20 62 61 63 6b 77 s();.......}.....}....void.backw
3e120 61 72 64 28 20 69 6e 74 20 63 75 72 20 29 0a 20 20 20 20 7b 0a 20 20 20 20 69 6e 74 20 64 69 73 ard(.int.cur.).....{.....int.dis
3e140 34 20 3d 20 74 72 69 61 6c 73 5b 63 75 72 5d 2e 64 69 73 34 3b 0a 20 20 20 20 77 68 69 6c 65 28 4.=.trials[cur].dis4;.....while(
3e160 20 63 75 72 20 3e 20 30 20 29 0a 20 20 20 20 20 20 7b 0a 20 20 20 20 20 20 63 6f 6e 73 74 20 69 .cur.>.0.).......{.......const.i
3e180 6e 74 20 70 72 65 76 5f 69 6e 64 65 78 20 3d 20 74 72 69 61 6c 73 5b 63 75 72 5d 2e 70 72 65 76 nt.prev_index.=.trials[cur].prev
3e1a0 5f 69 6e 64 65 78 3b 0a 20 20 20 20 20 20 54 72 69 61 6c 20 26 20 70 72 65 76 5f 74 72 69 61 6c _index;.......Trial.&.prev_trial
3e1c0 20 3d 20 74 72 69 61 6c 73 5b 70 72 65 76 5f 69 6e 64 65 78 5d 3b 0a 0a 20 20 20 20 20 20 69 66 .=.trials[prev_index];........if
3e1e0 28 20 74 72 69 61 6c 73 5b 63 75 72 5d 2e 70 72 65 76 5f 69 6e 64 65 78 32 20 21 3d 20 73 69 6e (.trials[cur].prev_index2.!=.sin
3e200 67 6c 65 5f 73 74 65 70 5f 74 72 69 61 6c 20 29 0a 20 20 20 20 20 20 20 20 7b 0a 20 20 20 20 20 gle_step_trial.).........{......
3e220 20 20 20 70 72 65 76 5f 74 72 69 61 6c 2e 64 69 73 34 20 3d 20 2d 31 3b 09 09 09 09 09 2f 2f 20 ...prev_trial.dis4.=.-1;.....//.
3e240 6c 69 74 65 72 61 6c 0a 20 20 20 20 20 20 20 20 70 72 65 76 5f 74 72 69 61 6c 2e 70 72 65 76 5f literal.........prev_trial.prev_
3e260 69 6e 64 65 78 20 3d 20 70 72 65 76 5f 69 6e 64 65 78 20 2d 20 31 3b 0a 20 20 20 20 20 20 20 20 index.=.prev_index.-.1;.........
3e280 70 72 65 76 5f 74 72 69 61 6c 2e 70 72 65 76 5f 69 6e 64 65 78 32 20 3d 20 73 69 6e 67 6c 65 5f prev_trial.prev_index2.=.single_
3e2a0 73 74 65 70 5f 74 72 69 61 6c 3b 0a 20 20 20 20 20 20 20 20 69 66 28 20 74 72 69 61 6c 73 5b 63 step_trial;.........if(.trials[c
3e2c0 75 72 5d 2e 70 72 65 76 5f 69 6e 64 65 78 32 20 3e 3d 20 30 20 29 0a 20 20 20 20 20 20 20 20 20 ur].prev_index2.>=.0.)..........
3e2e0 20 7b 0a 20 20 20 20 20 20 20 20 20 20 54 72 69 61 6c 20 26 20 70 72 65 76 5f 74 72 69 61 6c 32 .{...........Trial.&.prev_trial2
3e300 20 3d 20 74 72 69 61 6c 73 5b 70 72 65 76 5f 69 6e 64 65 78 2d 31 5d 3b 0a 20 20 20 20 20 20 20 .=.trials[prev_index-1];........
3e320 20 20 20 70 72 65 76 5f 74 72 69 61 6c 32 2e 64 69 73 34 20 3d 20 64 69 73 34 3b 20 64 69 73 34 ...prev_trial2.dis4.=.dis4;.dis4
3e340 20 3d 20 30 3b 09 09 09 2f 2f 20 72 65 70 30 0a 20 20 20 20 20 20 20 20 20 20 70 72 65 76 5f 74 .=.0;...//.rep0...........prev_t
3e360 72 69 61 6c 32 2e 70 72 65 76 5f 69 6e 64 65 78 20 3d 20 74 72 69 61 6c 73 5b 63 75 72 5d 2e 70 rial2.prev_index.=.trials[cur].p
3e380 72 65 76 5f 69 6e 64 65 78 32 3b 0a 20 20 20 20 20 20 20 20 20 20 70 72 65 76 5f 74 72 69 61 6c rev_index2;...........prev_trial
3e3a0 32 2e 70 72 65 76 5f 69 6e 64 65 78 32 20 3d 20 73 69 6e 67 6c 65 5f 73 74 65 70 5f 74 72 69 61 2.prev_index2.=.single_step_tria
3e3c0 6c 3b 0a 20 20 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 70 l;...........}.........}.......p
3e3e0 72 65 76 5f 74 72 69 61 6c 2e 70 72 69 63 65 20 3d 20 63 75 72 20 2d 20 70 72 65 76 5f 69 6e 64 rev_trial.price.=.cur.-.prev_ind
3e400 65 78 3b 09 09 09 2f 2f 20 6c 65 6e 0a 20 20 20 20 20 20 63 75 72 20 3d 20 64 69 73 34 3b 20 64 ex;...//.len.......cur.=.dis4;.d
3e420 69 73 34 20 3d 20 70 72 65 76 5f 74 72 69 61 6c 2e 64 69 73 34 3b 20 70 72 65 76 5f 74 72 69 61 is4.=.prev_trial.dis4;.prev_tria
3e440 6c 2e 64 69 73 34 20 3d 20 63 75 72 3b 0a 20 20 20 20 20 20 63 75 72 20 3d 20 70 72 65 76 5f 69 l.dis4.=.cur;.......cur.=.prev_i
3e460 6e 64 65 78 3b 0a 20 20 20 20 20 20 7d 0a 20 20 20 20 7d 0a 0a 20 20 69 6e 74 20 73 65 71 75 65 ndex;.......}.....}....int.seque
3e480 6e 63 65 5f 6f 70 74 69 6d 69 7a 65 72 28 20 63 6f 6e 73 74 20 69 6e 74 20 72 65 70 73 5b 6e 75 nce_optimizer(.const.int.reps[nu
3e4a0 6d 5f 72 65 70 5f 64 69 73 74 61 6e 63 65 73 5d 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 m_rep_distances],...............
3e4c0 20 20 20 20 20 20 20 20 20 20 20 20 63 6f 6e 73 74 20 53 74 61 74 65 20 73 74 61 74 65 20 29 3b ............const.State.state.);
3e4e0 0a 0a 20 20 65 6e 75 6d 20 7b 20 62 65 66 6f 72 65 5f 73 69 7a 65 20 3d 20 6d 61 78 5f 6e 75 6d ....enum.{.before_size.=.max_num
3e500 5f 74 72 69 61 6c 73 2c 0a 20 20 20 20 20 20 20 20 20 2f 2f 20 62 79 74 65 73 20 74 6f 20 6b 65 _trials,..........//.bytes.to.ke
3e520 65 70 20 69 6e 20 62 75 66 66 65 72 20 61 66 74 65 72 20 70 6f 73 0a 20 20 20 20 20 20 20 20 20 ep.in.buffer.after.pos..........
3e540 61 66 74 65 72 5f 73 69 7a 65 20 3d 20 28 20 32 20 2a 20 6d 61 78 5f 6d 61 74 63 68 5f 6c 65 6e after_size.=.(.2.*.max_match_len
3e560 20 29 20 2b 20 31 2c 0a 20 20 20 20 20 20 20 20 20 64 69 63 74 5f 66 61 63 74 6f 72 20 3d 20 32 .).+.1,..........dict_factor.=.2
3e580 2c 0a 20 20 20 20 20 20 20 20 20 6e 75 6d 5f 70 72 65 76 5f 70 6f 73 69 74 69 6f 6e 73 33 20 3d ,..........num_prev_positions3.=
3e5a0 20 31 20 3c 3c 20 31 36 2c 0a 20 20 20 20 20 20 20 20 20 6e 75 6d 5f 70 72 65 76 5f 70 6f 73 69 .1.<<.16,..........num_prev_posi
3e5c0 74 69 6f 6e 73 32 20 3d 20 31 20 3c 3c 20 31 30 2c 0a 20 20 20 20 20 20 20 20 20 6e 75 6d 5f 70 tions2.=.1.<<.10,..........num_p
3e5e0 72 65 76 5f 70 6f 73 69 74 69 6f 6e 73 32 33 20 3d 20 6e 75 6d 5f 70 72 65 76 5f 70 6f 73 69 74 rev_positions23.=.num_prev_posit
3e600 69 6f 6e 73 32 20 2b 20 6e 75 6d 5f 70 72 65 76 5f 70 6f 73 69 74 69 6f 6e 73 33 2c 0a 20 20 20 ions2.+.num_prev_positions3,....
3e620 20 20 20 20 20 20 70 6f 73 5f 61 72 72 61 79 5f 66 61 63 74 6f 72 20 3d 20 32 20 7d 3b 0a 0a 70 ......pos_array_factor.=.2.};..p
3e640 75 62 6c 69 63 3a 0a 20 20 4c 5a 5f 65 6e 63 6f 64 65 72 28 20 63 6f 6e 73 74 20 69 6e 74 20 64 ublic:...LZ_encoder(.const.int.d
3e660 69 63 74 5f 73 69 7a 65 2c 20 63 6f 6e 73 74 20 69 6e 74 20 6c 65 6e 5f 6c 69 6d 69 74 2c 0a 20 ict_size,.const.int.len_limit,..
3e680 20 20 20 20 20 20 20 20 20 20 20 20 20 63 6f 6e 73 74 20 69 6e 74 20 69 66 64 2c 20 63 6f 6e 73 .............const.int.ifd,.cons
3e6a0 74 20 69 6e 74 20 6f 75 74 66 64 20 29 0a 20 20 20 20 3a 0a 20 20 20 20 4c 5a 5f 65 6e 63 6f 64 t.int.outfd.).....:.....LZ_encod
3e6c0 65 72 5f 62 61 73 65 28 20 62 65 66 6f 72 65 5f 73 69 7a 65 2c 20 64 69 63 74 5f 73 69 7a 65 2c er_base(.before_size,.dict_size,
3e6e0 20 61 66 74 65 72 5f 73 69 7a 65 2c 20 64 69 63 74 5f 66 61 63 74 6f 72 2c 0a 20 20 20 20 20 20 .after_size,.dict_factor,.......
3e700 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 6e 75 6d 5f 70 72 65 76 5f 70 6f 73 69 74 69 6f 6e ...............num_prev_position
3e720 73 32 33 2c 20 70 6f 73 5f 61 72 72 61 79 5f 66 61 63 74 6f 72 2c 20 69 66 64 2c 20 6f 75 74 66 s23,.pos_array_factor,.ifd,.outf
3e740 64 20 29 2c 0a 20 20 20 20 63 79 63 6c 65 73 28 20 28 20 6c 65 6e 5f 6c 69 6d 69 74 20 3c 20 6d d.),.....cycles(.(.len_limit.<.m
3e760 61 78 5f 6d 61 74 63 68 5f 6c 65 6e 20 29 20 3f 20 31 36 20 2b 20 28 20 6c 65 6e 5f 6c 69 6d 69 ax_match_len.).?.16.+.(.len_limi
3e780 74 20 2f 20 32 20 29 20 3a 20 32 35 36 20 29 2c 0a 20 20 20 20 6d 61 74 63 68 5f 6c 65 6e 5f 6c t./.2.).:.256.),.....match_len_l
3e7a0 69 6d 69 74 28 20 6c 65 6e 5f 6c 69 6d 69 74 20 29 2c 0a 20 20 20 20 6d 61 74 63 68 5f 6c 65 6e imit(.len_limit.),.....match_len
3e7c0 5f 70 72 69 63 65 73 28 20 6d 61 74 63 68 5f 6c 65 6e 5f 6d 6f 64 65 6c 2c 20 6d 61 74 63 68 5f _prices(.match_len_model,.match_
3e7e0 6c 65 6e 5f 6c 69 6d 69 74 20 29 2c 0a 20 20 20 20 72 65 70 5f 6c 65 6e 5f 70 72 69 63 65 73 28 len_limit.),.....rep_len_prices(
3e800 20 72 65 70 5f 6c 65 6e 5f 6d 6f 64 65 6c 2c 20 6d 61 74 63 68 5f 6c 65 6e 5f 6c 69 6d 69 74 20 .rep_len_model,.match_len_limit.
3e820 29 2c 0a 20 20 20 20 70 65 6e 64 69 6e 67 5f 6e 75 6d 5f 70 61 69 72 73 28 20 30 20 29 2c 0a 20 ),.....pending_num_pairs(.0.),..
3e840 20 20 20 6e 75 6d 5f 64 69 73 5f 73 6c 6f 74 73 28 20 32 20 2a 20 72 65 61 6c 5f 62 69 74 73 28 ...num_dis_slots(.2.*.real_bits(
3e860 20 64 69 63 74 69 6f 6e 61 72 79 5f 73 69 7a 65 20 2d 20 31 20 29 20 29 0a 20 20 20 20 7b 0a 20 .dictionary_size.-.1.).).....{..
3e880 20 20 20 74 72 69 61 6c 73 5b 31 5d 2e 70 72 65 76 5f 69 6e 64 65 78 20 3d 20 30 3b 0a 20 20 20 ...trials[1].prev_index.=.0;....
3e8a0 20 74 72 69 61 6c 73 5b 31 5d 2e 70 72 65 76 5f 69 6e 64 65 78 32 20 3d 20 73 69 6e 67 6c 65 5f .trials[1].prev_index2.=.single_
3e8c0 73 74 65 70 5f 74 72 69 61 6c 3b 0a 20 20 20 20 7d 0a 0a 20 20 76 6f 69 64 20 72 65 73 65 74 28 step_trial;.....}....void.reset(
3e8e0 29 0a 20 20 20 20 7b 0a 20 20 20 20 4c 5a 5f 65 6e 63 6f 64 65 72 5f 62 61 73 65 3a 3a 72 65 73 ).....{.....LZ_encoder_base::res
3e900 65 74 28 29 3b 0a 20 20 20 20 6d 61 74 63 68 5f 6c 65 6e 5f 70 72 69 63 65 73 2e 72 65 73 65 74 et();.....match_len_prices.reset
3e920 28 29 3b 0a 20 20 20 20 72 65 70 5f 6c 65 6e 5f 70 72 69 63 65 73 2e 72 65 73 65 74 28 29 3b 0a ();.....rep_len_prices.reset();.
3e940 20 20 20 20 70 65 6e 64 69 6e 67 5f 6e 75 6d 5f 70 61 69 72 73 20 3d 20 30 3b 0a 20 20 20 20 7d ....pending_num_pairs.=.0;.....}
3e960 0a 0a 20 20 62 6f 6f 6c 20 65 6e 63 6f 64 65 5f 6d 65 6d 62 65 72 28 20 63 6f 6e 73 74 20 75 6e ....bool.encode_member(.const.un
3e980 73 69 67 6e 65 64 20 6c 6f 6e 67 20 6c 6f 6e 67 20 6d 65 6d 62 65 72 5f 73 69 7a 65 20 29 3b 0a signed.long.long.member_size.);.
3e9a0 20 20 7d 3b 0a 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ..};............................
3e9c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
3e9e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
3ea00 6c 7a 69 70 2d 31 2e 32 32 2f 6c 69 73 74 2e 63 63 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 lzip-1.22/list.cc...............
3ea20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
3ea40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
3ea60 00 00 00 00 30 30 30 30 36 34 34 00 30 30 30 30 30 30 30 00 30 30 30 30 30 30 30 00 30 30 30 30 ....0000644.0000000.0000000.0000
3ea80 30 30 30 37 37 36 36 00 31 33 37 37 33 36 31 37 31 33 31 00 30 31 33 37 32 35 00 20 30 00 00 00 0007766.13773617131.013725..0...
3eaa0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
3eac0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
3eae0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
3eb00 00 75 73 74 61 72 00 30 30 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .ustar.00root...................
3eb20 00 00 00 00 00 00 00 00 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .........root...................
3eb40 00 00 00 00 00 00 00 00 00 30 30 30 30 30 30 30 00 30 30 30 30 30 30 30 00 00 00 00 00 00 00 00 .........0000000.0000000........
3eb60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
3eb80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
3eba0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
3ebc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
3ebe0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
3ec00 2f 2a 20 4c 7a 69 70 20 2d 20 4c 5a 4d 41 20 6c 6f 73 73 6c 65 73 73 20 64 61 74 61 20 63 6f 6d /*.Lzip.-.LZMA.lossless.data.com
3ec20 70 72 65 73 73 6f 72 0a 20 20 20 43 6f 70 79 72 69 67 68 74 20 28 43 29 20 32 30 30 38 2d 32 30 pressor....Copyright.(C).2008-20
3ec40 32 31 20 41 6e 74 6f 6e 69 6f 20 44 69 61 7a 20 44 69 61 7a 2e 0a 0a 20 20 20 54 68 69 73 20 70 21.Antonio.Diaz.Diaz......This.p
3ec60 72 6f 67 72 61 6d 20 69 73 20 66 72 65 65 20 73 6f 66 74 77 61 72 65 3a 20 79 6f 75 20 63 61 6e rogram.is.free.software:.you.can
3ec80 20 72 65 64 69 73 74 72 69 62 75 74 65 20 69 74 20 61 6e 64 2f 6f 72 20 6d 6f 64 69 66 79 0a 20 .redistribute.it.and/or.modify..
3eca0 20 20 69 74 20 75 6e 64 65 72 20 74 68 65 20 74 65 72 6d 73 20 6f 66 20 74 68 65 20 47 4e 55 20 ..it.under.the.terms.of.the.GNU.
3ecc0 47 65 6e 65 72 61 6c 20 50 75 62 6c 69 63 20 4c 69 63 65 6e 73 65 20 61 73 20 70 75 62 6c 69 73 General.Public.License.as.publis
3ece0 68 65 64 20 62 79 0a 20 20 20 74 68 65 20 46 72 65 65 20 53 6f 66 74 77 61 72 65 20 46 6f 75 6e hed.by....the.Free.Software.Foun
3ed00 64 61 74 69 6f 6e 2c 20 65 69 74 68 65 72 20 76 65 72 73 69 6f 6e 20 32 20 6f 66 20 74 68 65 20 dation,.either.version.2.of.the.
3ed20 4c 69 63 65 6e 73 65 2c 20 6f 72 0a 20 20 20 28 61 74 20 79 6f 75 72 20 6f 70 74 69 6f 6e 29 20 License,.or....(at.your.option).
3ed40 61 6e 79 20 6c 61 74 65 72 20 76 65 72 73 69 6f 6e 2e 0a 0a 20 20 20 54 68 69 73 20 70 72 6f 67 any.later.version......This.prog
3ed60 72 61 6d 20 69 73 20 64 69 73 74 72 69 62 75 74 65 64 20 69 6e 20 74 68 65 20 68 6f 70 65 20 74 ram.is.distributed.in.the.hope.t
3ed80 68 61 74 20 69 74 20 77 69 6c 6c 20 62 65 20 75 73 65 66 75 6c 2c 0a 20 20 20 62 75 74 20 57 49 hat.it.will.be.useful,....but.WI
3eda0 54 48 4f 55 54 20 41 4e 59 20 57 41 52 52 41 4e 54 59 3b 20 77 69 74 68 6f 75 74 20 65 76 65 6e THOUT.ANY.WARRANTY;.without.even
3edc0 20 74 68 65 20 69 6d 70 6c 69 65 64 20 77 61 72 72 61 6e 74 79 20 6f 66 0a 20 20 20 4d 45 52 43 .the.implied.warranty.of....MERC
3ede0 48 41 4e 54 41 42 49 4c 49 54 59 20 6f 72 20 46 49 54 4e 45 53 53 20 46 4f 52 20 41 20 50 41 52 HANTABILITY.or.FITNESS.FOR.A.PAR
3ee00 54 49 43 55 4c 41 52 20 50 55 52 50 4f 53 45 2e 20 20 53 65 65 20 74 68 65 0a 20 20 20 47 4e 55 TICULAR.PURPOSE...See.the....GNU
3ee20 20 47 65 6e 65 72 61 6c 20 50 75 62 6c 69 63 20 4c 69 63 65 6e 73 65 20 66 6f 72 20 6d 6f 72 65 .General.Public.License.for.more
3ee40 20 64 65 74 61 69 6c 73 2e 0a 0a 20 20 20 59 6f 75 20 73 68 6f 75 6c 64 20 68 61 76 65 20 72 65 .details......You.should.have.re
3ee60 63 65 69 76 65 64 20 61 20 63 6f 70 79 20 6f 66 20 74 68 65 20 47 4e 55 20 47 65 6e 65 72 61 6c ceived.a.copy.of.the.GNU.General
3ee80 20 50 75 62 6c 69 63 20 4c 69 63 65 6e 73 65 0a 20 20 20 61 6c 6f 6e 67 20 77 69 74 68 20 74 68 .Public.License....along.with.th
3eea0 69 73 20 70 72 6f 67 72 61 6d 2e 20 20 49 66 20 6e 6f 74 2c 20 73 65 65 20 3c 68 74 74 70 3a 2f is.program...If.not,.see.<http:/
3eec0 2f 77 77 77 2e 67 6e 75 2e 6f 72 67 2f 6c 69 63 65 6e 73 65 73 2f 3e 2e 0a 2a 2f 0a 0a 23 64 65 /www.gnu.org/licenses/>..*/..#de
3eee0 66 69 6e 65 20 5f 46 49 4c 45 5f 4f 46 46 53 45 54 5f 42 49 54 53 20 36 34 0a 0a 23 69 6e 63 6c fine._FILE_OFFSET_BITS.64..#incl
3ef00 75 64 65 20 3c 63 73 74 64 69 6f 3e 0a 23 69 6e 63 6c 75 64 65 20 3c 63 73 74 72 69 6e 67 3e 0a ude.<cstdio>.#include.<cstring>.
3ef20 23 69 6e 63 6c 75 64 65 20 3c 73 74 72 69 6e 67 3e 0a 23 69 6e 63 6c 75 64 65 20 3c 76 65 63 74 #include.<string>.#include.<vect
3ef40 6f 72 3e 0a 23 69 6e 63 6c 75 64 65 20 3c 73 74 64 69 6e 74 2e 68 3e 0a 23 69 6e 63 6c 75 64 65 or>.#include.<stdint.h>.#include
3ef60 20 3c 75 6e 69 73 74 64 2e 68 3e 0a 23 69 6e 63 6c 75 64 65 20 3c 73 79 73 2f 73 74 61 74 2e 68 .<unistd.h>.#include.<sys/stat.h
3ef80 3e 0a 0a 23 69 6e 63 6c 75 64 65 20 22 6c 7a 69 70 2e 68 22 0a 23 69 6e 63 6c 75 64 65 20 22 6c >..#include."lzip.h".#include."l
3efa0 7a 69 70 5f 69 6e 64 65 78 2e 68 22 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 7b 0a 0a 76 6f 69 64 zip_index.h"...namespace.{..void
3efc0 20 6c 69 73 74 5f 6c 69 6e 65 28 20 63 6f 6e 73 74 20 75 6e 73 69 67 6e 65 64 20 6c 6f 6e 67 20 .list_line(.const.unsigned.long.
3efe0 6c 6f 6e 67 20 75 6e 63 6f 6d 70 5f 73 69 7a 65 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 long.uncomp_size,...............
3f000 20 20 63 6f 6e 73 74 20 75 6e 73 69 67 6e 65 64 20 6c 6f 6e 67 20 6c 6f 6e 67 20 63 6f 6d 70 5f ..const.unsigned.long.long.comp_
3f020 73 69 7a 65 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 63 6f 6e 73 74 20 63 68 61 72 size,.................const.char
3f040 20 2a 20 63 6f 6e 73 74 20 69 6e 70 75 74 5f 66 69 6c 65 6e 61 6d 65 20 29 0a 20 20 7b 0a 20 20 .*.const.input_filename.)...{...
3f060 69 66 28 20 75 6e 63 6f 6d 70 5f 73 69 7a 65 20 3e 20 30 20 29 0a 20 20 20 20 73 74 64 3a 3a 70 if(.uncomp_size.>.0.).....std::p
3f080 72 69 6e 74 66 28 20 22 25 31 34 6c 6c 75 20 25 31 34 6c 6c 75 20 25 36 2e 32 66 25 25 20 20 25 rintf(."%14llu.%14llu.%6.2f%%..%
3f0a0 73 5c 6e 22 2c 20 75 6e 63 6f 6d 70 5f 73 69 7a 65 2c 20 63 6f 6d 70 5f 73 69 7a 65 2c 0a 20 20 s\n",.uncomp_size,.comp_size,...
3f0c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 31 30 30 2e 30 20 2d 20 28 20 28 20 31 30 30 2e ................100.0.-.(.(.100.
3f0e0 30 20 2a 20 63 6f 6d 70 5f 73 69 7a 65 20 29 20 2f 20 75 6e 63 6f 6d 70 5f 73 69 7a 65 20 29 2c 0.*.comp_size.)./.uncomp_size.),
3f100 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 69 6e 70 75 74 5f 66 69 6c 65 6e 61 6d ...................input_filenam
3f120 65 20 29 3b 0a 20 20 65 6c 73 65 0a 20 20 20 20 73 74 64 3a 3a 70 72 69 6e 74 66 28 20 22 25 31 e.);...else.....std::printf(."%1
3f140 34 6c 6c 75 20 25 31 34 6c 6c 75 20 20 20 2d 49 4e 46 25 25 20 20 25 73 5c 6e 22 2c 20 75 6e 63 4llu.%14llu...-INF%%..%s\n",.unc
3f160 6f 6d 70 5f 73 69 7a 65 2c 20 63 6f 6d 70 5f 73 69 7a 65 2c 0a 20 20 20 20 20 20 20 20 20 20 20 omp_size,.comp_size,............
3f180 20 20 20 20 20 20 20 69 6e 70 75 74 5f 66 69 6c 65 6e 61 6d 65 20 29 3b 0a 20 20 7d 0a 0a 7d 20 .......input_filename.);...}..}.
3f1a0 2f 2f 20 65 6e 64 20 6e 61 6d 65 73 70 61 63 65 0a 0a 0a 69 6e 74 20 6c 69 73 74 5f 66 69 6c 65 //.end.namespace...int.list_file
3f1c0 73 28 20 63 6f 6e 73 74 20 73 74 64 3a 3a 76 65 63 74 6f 72 3c 20 73 74 64 3a 3a 73 74 72 69 6e s(.const.std::vector<.std::strin
3f1e0 67 20 3e 20 26 20 66 69 6c 65 6e 61 6d 65 73 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 g.>.&.filenames,................
3f200 20 63 6f 6e 73 74 20 62 6f 6f 6c 20 69 67 6e 6f 72 65 5f 74 72 61 69 6c 69 6e 67 2c 20 63 6f 6e .const.bool.ignore_trailing,.con
3f220 73 74 20 62 6f 6f 6c 20 6c 6f 6f 73 65 5f 74 72 61 69 6c 69 6e 67 20 29 0a 20 20 7b 0a 20 20 75 st.bool.loose_trailing.)...{...u
3f240 6e 73 69 67 6e 65 64 20 6c 6f 6e 67 20 6c 6f 6e 67 20 74 6f 74 61 6c 5f 63 6f 6d 70 20 3d 20 30 nsigned.long.long.total_comp.=.0
3f260 2c 20 74 6f 74 61 6c 5f 75 6e 63 6f 6d 70 20 3d 20 30 3b 0a 20 20 69 6e 74 20 66 69 6c 65 73 20 ,.total_uncomp.=.0;...int.files.
3f280 3d 20 30 2c 20 72 65 74 76 61 6c 20 3d 20 30 3b 0a 20 20 62 6f 6f 6c 20 66 69 72 73 74 5f 70 6f =.0,.retval.=.0;...bool.first_po
3f2a0 73 74 20 3d 20 74 72 75 65 3b 0a 20 20 62 6f 6f 6c 20 73 74 64 69 6e 5f 75 73 65 64 20 3d 20 66 st.=.true;...bool.stdin_used.=.f
3f2c0 61 6c 73 65 3b 0a 20 20 66 6f 72 28 20 75 6e 73 69 67 6e 65 64 20 69 20 3d 20 30 3b 20 69 20 3c alse;...for(.unsigned.i.=.0;.i.<
3f2e0 20 66 69 6c 65 6e 61 6d 65 73 2e 73 69 7a 65 28 29 3b 20 2b 2b 69 20 29 0a 20 20 20 20 7b 0a 20 .filenames.size();.++i.).....{..
3f300 20 20 20 63 6f 6e 73 74 20 62 6f 6f 6c 20 66 72 6f 6d 5f 73 74 64 69 6e 20 3d 20 28 20 66 69 6c ...const.bool.from_stdin.=.(.fil
3f320 65 6e 61 6d 65 73 5b 69 5d 20 3d 3d 20 22 2d 22 20 29 3b 0a 20 20 20 20 69 66 28 20 66 72 6f 6d enames[i].==."-".);.....if(.from
3f340 5f 73 74 64 69 6e 20 29 20 7b 20 69 66 28 20 73 74 64 69 6e 5f 75 73 65 64 20 29 20 63 6f 6e 74 _stdin.).{.if(.stdin_used.).cont
3f360 69 6e 75 65 3b 20 65 6c 73 65 20 73 74 64 69 6e 5f 75 73 65 64 20 3d 20 74 72 75 65 3b 20 7d 0a inue;.else.stdin_used.=.true;.}.
3f380 20 20 20 20 63 6f 6e 73 74 20 63 68 61 72 20 2a 20 63 6f 6e 73 74 20 69 6e 70 75 74 5f 66 69 6c ....const.char.*.const.input_fil
3f3a0 65 6e 61 6d 65 20 3d 0a 20 20 20 20 20 20 66 72 6f 6d 5f 73 74 64 69 6e 20 3f 20 22 28 73 74 64 ename.=.......from_stdin.?."(std
3f3c0 69 6e 29 22 20 3a 20 66 69 6c 65 6e 61 6d 65 73 5b 69 5d 2e 63 5f 73 74 72 28 29 3b 0a 20 20 20 in)".:.filenames[i].c_str();....
3f3e0 20 73 74 72 75 63 74 20 73 74 61 74 20 69 6e 5f 73 74 61 74 73 3b 09 09 09 09 2f 2f 20 6e 6f 74 .struct.stat.in_stats;....//.not
3f400 20 75 73 65 64 0a 20 20 20 20 63 6f 6e 73 74 20 69 6e 74 20 69 6e 66 64 20 3d 20 66 72 6f 6d 5f .used.....const.int.infd.=.from_
3f420 73 74 64 69 6e 20 3f 20 53 54 44 49 4e 5f 46 49 4c 45 4e 4f 20 3a 0a 20 20 20 20 20 20 6f 70 65 stdin.?.STDIN_FILENO.:.......ope
3f440 6e 5f 69 6e 73 74 72 65 61 6d 28 20 69 6e 70 75 74 5f 66 69 6c 65 6e 61 6d 65 2c 20 26 69 6e 5f n_instream(.input_filename,.&in_
3f460 73 74 61 74 73 2c 20 66 61 6c 73 65 2c 20 74 72 75 65 20 29 3b 0a 20 20 20 20 69 66 28 20 69 6e stats,.false,.true.);.....if(.in
3f480 66 64 20 3c 20 30 20 29 20 7b 20 73 65 74 5f 72 65 74 76 61 6c 28 20 72 65 74 76 61 6c 2c 20 31 fd.<.0.).{.set_retval(.retval,.1
3f4a0 20 29 3b 20 63 6f 6e 74 69 6e 75 65 3b 20 7d 0a 0a 20 20 20 20 63 6f 6e 73 74 20 4c 7a 69 70 5f .);.continue;.}......const.Lzip_
3f4c0 69 6e 64 65 78 20 6c 7a 69 70 5f 69 6e 64 65 78 28 20 69 6e 66 64 2c 20 69 67 6e 6f 72 65 5f 74 index.lzip_index(.infd,.ignore_t
3f4e0 72 61 69 6c 69 6e 67 2c 20 6c 6f 6f 73 65 5f 74 72 61 69 6c 69 6e 67 20 29 3b 0a 20 20 20 20 63 railing,.loose_trailing.);.....c
3f500 6c 6f 73 65 28 20 69 6e 66 64 20 29 3b 0a 20 20 20 20 69 66 28 20 6c 7a 69 70 5f 69 6e 64 65 78 lose(.infd.);.....if(.lzip_index
3f520 2e 72 65 74 76 61 6c 28 29 20 21 3d 20 30 20 29 0a 20 20 20 20 20 20 7b 0a 20 20 20 20 20 20 73 .retval().!=.0.).......{.......s
3f540 68 6f 77 5f 66 69 6c 65 5f 65 72 72 6f 72 28 20 69 6e 70 75 74 5f 66 69 6c 65 6e 61 6d 65 2c 20 how_file_error(.input_filename,.
3f560 6c 7a 69 70 5f 69 6e 64 65 78 2e 65 72 72 6f 72 28 29 2e 63 5f 73 74 72 28 29 20 29 3b 0a 20 20 lzip_index.error().c_str().);...
3f580 20 20 20 20 73 65 74 5f 72 65 74 76 61 6c 28 20 72 65 74 76 61 6c 2c 20 6c 7a 69 70 5f 69 6e 64 ....set_retval(.retval,.lzip_ind
3f5a0 65 78 2e 72 65 74 76 61 6c 28 29 20 29 3b 0a 20 20 20 20 20 20 63 6f 6e 74 69 6e 75 65 3b 0a 20 ex.retval().);.......continue;..
3f5c0 20 20 20 20 20 7d 0a 20 20 20 20 69 66 28 20 76 65 72 62 6f 73 69 74 79 20 3e 3d 20 30 20 29 0a .....}.....if(.verbosity.>=.0.).
3f5e0 20 20 20 20 20 20 7b 0a 20 20 20 20 20 20 63 6f 6e 73 74 20 75 6e 73 69 67 6e 65 64 20 6c 6f 6e ......{.......const.unsigned.lon
3f600 67 20 6c 6f 6e 67 20 75 64 61 74 61 5f 73 69 7a 65 20 3d 20 6c 7a 69 70 5f 69 6e 64 65 78 2e 75 g.long.udata_size.=.lzip_index.u
3f620 64 61 74 61 5f 73 69 7a 65 28 29 3b 0a 20 20 20 20 20 20 63 6f 6e 73 74 20 75 6e 73 69 67 6e 65 data_size();.......const.unsigne
3f640 64 20 6c 6f 6e 67 20 6c 6f 6e 67 20 63 64 61 74 61 5f 73 69 7a 65 20 3d 20 6c 7a 69 70 5f 69 6e d.long.long.cdata_size.=.lzip_in
3f660 64 65 78 2e 63 64 61 74 61 5f 73 69 7a 65 28 29 3b 0a 20 20 20 20 20 20 74 6f 74 61 6c 5f 63 6f dex.cdata_size();.......total_co
3f680 6d 70 20 2b 3d 20 63 64 61 74 61 5f 73 69 7a 65 3b 20 74 6f 74 61 6c 5f 75 6e 63 6f 6d 70 20 2b mp.+=.cdata_size;.total_uncomp.+
3f6a0 3d 20 75 64 61 74 61 5f 73 69 7a 65 3b 20 2b 2b 66 69 6c 65 73 3b 0a 20 20 20 20 20 20 63 6f 6e =.udata_size;.++files;.......con
3f6c0 73 74 20 6c 6f 6e 67 20 6d 65 6d 62 65 72 73 20 3d 20 6c 7a 69 70 5f 69 6e 64 65 78 2e 6d 65 6d st.long.members.=.lzip_index.mem
3f6e0 62 65 72 73 28 29 3b 0a 20 20 20 20 20 20 69 66 28 20 66 69 72 73 74 5f 70 6f 73 74 20 29 0a 20 bers();.......if(.first_post.)..
3f700 20 20 20 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 66 69 72 73 74 5f 70 6f 73 74 20 3d 20 66 61 .......{.........first_post.=.fa
3f720 6c 73 65 3b 0a 20 20 20 20 20 20 20 20 69 66 28 20 76 65 72 62 6f 73 69 74 79 20 3e 3d 20 31 20 lse;.........if(.verbosity.>=.1.
3f740 29 20 73 74 64 3a 3a 66 70 75 74 73 28 20 22 20 20 20 64 69 63 74 20 20 20 6d 65 6d 62 20 20 74 ).std::fputs(."...dict...memb..t
3f760 72 61 69 6c 20 22 2c 20 73 74 64 6f 75 74 20 29 3b 0a 20 20 20 20 20 20 20 20 73 74 64 3a 3a 66 rail.",.stdout.);.........std::f
3f780 70 75 74 73 28 20 22 20 20 75 6e 63 6f 6d 70 72 65 73 73 65 64 20 20 20 20 20 63 6f 6d 70 72 65 puts(."..uncompressed.....compre
3f7a0 73 73 65 64 20 20 20 73 61 76 65 64 20 20 6e 61 6d 65 5c 6e 22 2c 20 73 74 64 6f 75 74 20 29 3b ssed...saved..name\n",.stdout.);
3f7c0 0a 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 69 66 28 20 76 65 72 62 6f 73 69 74 79 20 3e .........}.......if(.verbosity.>
3f7e0 3d 20 31 20 29 0a 20 20 20 20 20 20 20 20 73 74 64 3a 3a 70 72 69 6e 74 66 28 20 22 25 73 20 25 =.1.).........std::printf(."%s.%
3f800 35 6c 64 20 25 36 6c 6c 64 20 22 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 5ld.%6lld.",....................
3f820 20 20 66 6f 72 6d 61 74 5f 64 73 28 20 6c 7a 69 70 5f 69 6e 64 65 78 2e 64 69 63 74 69 6f 6e 61 ..format_ds(.lzip_index.dictiona
3f840 72 79 5f 73 69 7a 65 28 29 20 29 2c 20 6d 65 6d 62 65 72 73 2c 0a 20 20 20 20 20 20 20 20 20 20 ry_size().),.members,...........
3f860 20 20 20 20 20 20 20 20 20 20 20 6c 7a 69 70 5f 69 6e 64 65 78 2e 66 69 6c 65 5f 73 69 7a 65 28 ...........lzip_index.file_size(
3f880 29 20 2d 20 63 64 61 74 61 5f 73 69 7a 65 20 29 3b 0a 20 20 20 20 20 20 6c 69 73 74 5f 6c 69 6e ).-.cdata_size.);.......list_lin
3f8a0 65 28 20 75 64 61 74 61 5f 73 69 7a 65 2c 20 63 64 61 74 61 5f 73 69 7a 65 2c 20 69 6e 70 75 74 e(.udata_size,.cdata_size,.input
3f8c0 5f 66 69 6c 65 6e 61 6d 65 20 29 3b 0a 0a 20 20 20 20 20 20 69 66 28 20 76 65 72 62 6f 73 69 74 _filename.);........if(.verbosit
3f8e0 79 20 3e 3d 20 32 20 26 26 20 6d 65 6d 62 65 72 73 20 3e 20 31 20 29 0a 20 20 20 20 20 20 20 20 y.>=.2.&&.members.>.1.).........
3f900 7b 0a 20 20 20 20 20 20 20 20 73 74 64 3a 3a 66 70 75 74 73 28 20 22 20 6d 65 6d 62 65 72 20 20 {.........std::fputs(.".member..
3f920 20 20 20 20 64 61 74 61 5f 70 6f 73 20 20 20 20 20 20 64 61 74 61 5f 73 69 7a 65 20 20 20 20 20 ....data_pos......data_size.....
3f940 6d 65 6d 62 65 72 5f 70 6f 73 20 20 20 20 6d 65 6d 62 65 72 5f 73 69 7a 65 5c 6e 22 2c 20 73 74 member_pos....member_size\n",.st
3f960 64 6f 75 74 20 29 3b 0a 20 20 20 20 20 20 20 20 66 6f 72 28 20 6c 6f 6e 67 20 69 20 3d 20 30 3b dout.);.........for(.long.i.=.0;
3f980 20 69 20 3c 20 6d 65 6d 62 65 72 73 3b 20 2b 2b 69 20 29 0a 20 20 20 20 20 20 20 20 20 20 7b 0a .i.<.members;.++i.)...........{.
3f9a0 20 20 20 20 20 20 20 20 20 20 63 6f 6e 73 74 20 42 6c 6f 63 6b 20 26 20 64 62 20 3d 20 6c 7a 69 ..........const.Block.&.db.=.lzi
3f9c0 70 5f 69 6e 64 65 78 2e 64 62 6c 6f 63 6b 28 20 69 20 29 3b 0a 20 20 20 20 20 20 20 20 20 20 63 p_index.dblock(.i.);...........c
3f9e0 6f 6e 73 74 20 42 6c 6f 63 6b 20 26 20 6d 62 20 3d 20 6c 7a 69 70 5f 69 6e 64 65 78 2e 6d 62 6c onst.Block.&.mb.=.lzip_index.mbl
3fa00 6f 63 6b 28 20 69 20 29 3b 0a 20 20 20 20 20 20 20 20 20 20 73 74 64 3a 3a 70 72 69 6e 74 66 28 ock(.i.);...........std::printf(
3fa20 20 22 25 36 6c 64 20 25 31 34 6c 6c 75 20 25 31 34 6c 6c 75 20 25 31 34 6c 6c 75 20 25 31 34 6c ."%6ld.%14llu.%14llu.%14llu.%14l
3fa40 6c 75 5c 6e 22 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 69 20 lu\n",........................i.
3fa60 2b 20 31 2c 20 64 62 2e 70 6f 73 28 29 2c 20 64 62 2e 73 69 7a 65 28 29 2c 20 6d 62 2e 70 6f 73 +.1,.db.pos(),.db.size(),.mb.pos
3fa80 28 29 2c 20 6d 62 2e 73 69 7a 65 28 29 20 29 3b 0a 20 20 20 20 20 20 20 20 20 20 7d 0a 20 20 20 (),.mb.size().);...........}....
3faa0 20 20 20 20 20 66 69 72 73 74 5f 70 6f 73 74 20 3d 20 74 72 75 65 3b 09 2f 2f 20 72 65 70 72 69 .....first_post.=.true;.//.repri
3fac0 6e 74 20 68 65 61 64 69 6e 67 20 61 66 74 65 72 20 6c 69 73 74 20 6f 66 20 6d 65 6d 62 65 72 73 nt.heading.after.list.of.members
3fae0 0a 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 73 74 64 3a 3a 66 66 6c 75 73 68 28 20 73 74 .........}.......std::fflush(.st
3fb00 64 6f 75 74 20 29 3b 0a 20 20 20 20 20 20 7d 0a 20 20 20 20 7d 0a 20 20 69 66 28 20 76 65 72 62 dout.);.......}.....}...if(.verb
3fb20 6f 73 69 74 79 20 3e 3d 20 30 20 26 26 20 66 69 6c 65 73 20 3e 20 31 20 29 0a 20 20 20 20 7b 0a osity.>=.0.&&.files.>.1.).....{.
3fb40 20 20 20 20 69 66 28 20 76 65 72 62 6f 73 69 74 79 20 3e 3d 20 31 20 29 20 73 74 64 3a 3a 66 70 ....if(.verbosity.>=.1.).std::fp
3fb60 75 74 73 28 20 22 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 2c 20 73 uts(."......................",.s
3fb80 74 64 6f 75 74 20 29 3b 0a 20 20 20 20 6c 69 73 74 5f 6c 69 6e 65 28 20 74 6f 74 61 6c 5f 75 6e tdout.);.....list_line(.total_un
3fba0 63 6f 6d 70 2c 20 74 6f 74 61 6c 5f 63 6f 6d 70 2c 20 22 28 74 6f 74 61 6c 73 29 22 20 29 3b 0a comp,.total_comp,."(totals)".);.
3fbc0 20 20 20 20 73 74 64 3a 3a 66 66 6c 75 73 68 28 20 73 74 64 6f 75 74 20 29 3b 0a 20 20 20 20 7d ....std::fflush(.stdout.);.....}
3fbe0 0a 20 20 72 65 74 75 72 6e 20 72 65 74 76 61 6c 3b 0a 20 20 7d 0a 00 00 00 00 00 00 00 00 00 00 ...return.retval;...}...........
3fc00 6c 7a 69 70 2d 31 2e 32 32 2f 49 4e 53 54 41 4c 4c 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 lzip-1.22/INSTALL...............
3fc20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
3fc40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
3fc60 00 00 00 00 30 30 30 30 36 34 34 00 30 30 30 30 30 30 30 00 30 30 30 30 30 30 30 00 30 30 30 30 ....0000644.0000000.0000000.0000
3fc80 30 30 30 34 36 33 33 00 31 33 37 37 33 36 31 37 31 33 31 00 30 31 33 34 36 32 00 20 30 00 00 00 0004633.13773617131.013462..0...
3fca0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
3fcc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
3fce0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
3fd00 00 75 73 74 61 72 00 30 30 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .ustar.00root...................
3fd20 00 00 00 00 00 00 00 00 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .........root...................
3fd40 00 00 00 00 00 00 00 00 00 30 30 30 30 30 30 30 00 30 30 30 30 30 30 30 00 00 00 00 00 00 00 00 .........0000000.0000000........
3fd60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
3fd80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
3fda0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
3fdc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
3fde0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
3fe00 52 65 71 75 69 72 65 6d 65 6e 74 73 0a 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0a 59 6f 75 20 77 69 Requirements.------------.You.wi
3fe20 6c 6c 20 6e 65 65 64 20 61 20 43 2b 2b 31 31 20 63 6f 6d 70 69 6c 65 72 2e 20 28 67 63 63 20 33 ll.need.a.C++11.compiler..(gcc.3
3fe40 2e 33 2e 36 20 6f 72 20 6e 65 77 65 72 20 69 73 20 72 65 63 6f 6d 6d 65 6e 64 65 64 29 2e 0a 49 .3.6.or.newer.is.recommended)..I
3fe60 20 75 73 65 20 67 63 63 20 36 2e 31 2e 30 20 61 6e 64 20 34 2e 31 2e 32 2c 20 62 75 74 20 74 68 .use.gcc.6.1.0.and.4.1.2,.but.th
3fe80 65 20 63 6f 64 65 20 73 68 6f 75 6c 64 20 63 6f 6d 70 69 6c 65 20 77 69 74 68 20 61 6e 79 20 73 e.code.should.compile.with.any.s
3fea0 74 61 6e 64 61 72 64 73 0a 63 6f 6d 70 6c 69 61 6e 74 20 63 6f 6d 70 69 6c 65 72 2e 0a 47 63 63 tandards.compliant.compiler..Gcc
3fec0 20 69 73 20 61 76 61 69 6c 61 62 6c 65 20 61 74 20 68 74 74 70 3a 2f 2f 67 63 63 2e 67 6e 75 2e .is.available.at.http://gcc.gnu.
3fee0 6f 72 67 2e 0a 0a 54 68 65 20 6f 70 65 72 61 74 69 6e 67 20 73 79 73 74 65 6d 20 6d 75 73 74 20 org...The.operating.system.must.
3ff00 61 6c 6c 6f 77 20 73 69 67 6e 61 6c 20 68 61 6e 64 6c 65 72 73 20 72 65 61 64 20 61 63 63 65 73 allow.signal.handlers.read.acces
3ff20 73 20 74 6f 20 6f 62 6a 65 63 74 73 20 77 69 74 68 0a 73 74 61 74 69 63 20 73 74 6f 72 61 67 65 s.to.objects.with.static.storage
3ff40 20 64 75 72 61 74 69 6f 6e 20 73 6f 20 74 68 61 74 20 74 68 65 20 63 6c 65 61 6e 75 70 20 68 61 .duration.so.that.the.cleanup.ha
3ff60 6e 64 6c 65 72 20 66 6f 72 20 43 6f 6e 74 72 6f 6c 2d 43 20 63 61 6e 20 64 65 6c 65 74 65 0a 74 ndler.for.Control-C.can.delete.t
3ff80 68 65 20 70 61 72 74 69 61 6c 20 6f 75 74 70 75 74 20 66 69 6c 65 2e 0a 0a 0a 50 72 6f 63 65 64 he.partial.output.file....Proced
3ffa0 75 72 65 0a 2d 2d 2d 2d 2d 2d 2d 2d 2d 0a 31 2e 20 55 6e 70 61 63 6b 20 74 68 65 20 61 72 63 68 ure.---------.1..Unpack.the.arch
3ffc0 69 76 65 20 69 66 20 79 6f 75 20 68 61 76 65 20 6e 6f 74 20 64 6f 6e 65 20 73 6f 20 61 6c 72 65 ive.if.you.have.not.done.so.alre
3ffe0 61 64 79 3a 0a 0a 09 74 61 72 20 2d 78 66 20 6c 7a 69 70 5b 76 65 72 73 69 6f 6e 5d 2e 74 61 72 ady:...tar.-xf.lzip[version].tar
40000 2e 6c 7a 0a 6f 72 0a 09 6c 7a 69 70 20 2d 63 64 20 6c 7a 69 70 5b 76 65 72 73 69 6f 6e 5d 2e 74 .lz.or..lzip.-cd.lzip[version].t
40020 61 72 2e 6c 7a 20 7c 20 74 61 72 20 2d 78 66 20 2d 0a 0a 54 68 69 73 20 63 72 65 61 74 65 73 20 ar.lz.|.tar.-xf.-..This.creates.
40040 74 68 65 20 64 69 72 65 63 74 6f 72 79 20 2e 2f 6c 7a 69 70 5b 76 65 72 73 69 6f 6e 5d 20 63 6f the.directory../lzip[version].co
40060 6e 74 61 69 6e 69 6e 67 20 74 68 65 20 73 6f 75 72 63 65 20 66 72 6f 6d 0a 74 68 65 20 6d 61 69 ntaining.the.source.from.the.mai
40080 6e 20 61 72 63 68 69 76 65 2e 0a 0a 32 2e 20 43 68 61 6e 67 65 20 74 6f 20 6c 7a 69 70 20 64 69 n.archive...2..Change.to.lzip.di
400a0 72 65 63 74 6f 72 79 20 61 6e 64 20 72 75 6e 20 63 6f 6e 66 69 67 75 72 65 2e 0a 20 20 20 28 54 rectory.and.run.configure.....(T
400c0 72 79 20 27 63 6f 6e 66 69 67 75 72 65 20 2d 2d 68 65 6c 70 27 20 66 6f 72 20 75 73 61 67 65 20 ry.'configure.--help'.for.usage.
400e0 69 6e 73 74 72 75 63 74 69 6f 6e 73 29 2e 0a 0a 09 63 64 20 6c 7a 69 70 5b 76 65 72 73 69 6f 6e instructions)....cd.lzip[version
40100 5d 0a 09 2e 2f 63 6f 6e 66 69 67 75 72 65 0a 0a 20 20 20 49 66 20 79 6f 75 20 61 72 65 20 63 6f ].../configure.....If.you.are.co
40120 6d 70 69 6c 69 6e 67 20 6f 6e 20 4d 69 6e 47 57 2c 20 75 73 65 3a 0a 0a 09 2e 2f 63 6f 6e 66 69 mpiling.on.MinGW,.use:..../confi
40140 67 75 72 65 20 43 58 58 46 4c 41 47 53 2b 3d 27 2d 44 20 5f 5f 55 53 45 5f 4d 49 4e 47 57 5f 41 gure.CXXFLAGS+='-D.__USE_MINGW_A
40160 4e 53 49 5f 53 54 44 49 4f 27 0a 0a 33 2e 20 52 75 6e 20 6d 61 6b 65 2e 0a 0a 09 6d 61 6b 65 0a NSI_STDIO'..3..Run.make....make.
40180 0a 34 2e 20 4f 70 74 69 6f 6e 61 6c 6c 79 2c 20 74 79 70 65 20 27 6d 61 6b 65 20 63 68 65 63 6b .4..Optionally,.type.'make.check
401a0 27 20 74 6f 20 72 75 6e 20 74 68 65 20 74 65 73 74 73 20 74 68 61 74 20 63 6f 6d 65 20 77 69 74 '.to.run.the.tests.that.come.wit
401c0 68 20 6c 7a 69 70 2e 0a 0a 35 2e 20 54 79 70 65 20 27 6d 61 6b 65 20 69 6e 73 74 61 6c 6c 27 20 h.lzip...5..Type.'make.install'.
401e0 74 6f 20 69 6e 73 74 61 6c 6c 20 74 68 65 20 70 72 6f 67 72 61 6d 20 61 6e 64 20 61 6e 79 20 64 to.install.the.program.and.any.d
40200 61 74 61 20 66 69 6c 65 73 20 61 6e 64 0a 20 20 20 64 6f 63 75 6d 65 6e 74 61 74 69 6f 6e 2e 0a ata.files.and....documentation..
40220 0a 20 20 20 4f 72 20 74 79 70 65 20 27 6d 61 6b 65 20 69 6e 73 74 61 6c 6c 2d 63 6f 6d 70 72 65 ....Or.type.'make.install-compre
40240 73 73 27 2c 20 77 68 69 63 68 20 61 64 64 69 74 69 6f 6e 61 6c 6c 79 20 63 6f 6d 70 72 65 73 73 ss',.which.additionally.compress
40260 65 73 20 74 68 65 0a 20 20 20 69 6e 66 6f 20 6d 61 6e 75 61 6c 20 61 6e 64 20 74 68 65 20 6d 61 es.the....info.manual.and.the.ma
40280 6e 20 70 61 67 65 20 61 66 74 65 72 20 69 6e 73 74 61 6c 6c 61 74 69 6f 6e 2e 0a 20 20 20 28 49 n.page.after.installation.....(I
402a0 6e 73 74 61 6c 6c 69 6e 67 20 63 6f 6d 70 72 65 73 73 65 64 20 64 6f 63 73 20 6d 61 79 20 62 65 nstalling.compressed.docs.may.be
402c0 63 6f 6d 65 20 74 68 65 20 64 65 66 61 75 6c 74 20 69 6e 20 74 68 65 20 66 75 74 75 72 65 29 2e come.the.default.in.the.future).
402e0 0a 0a 20 20 20 59 6f 75 20 63 61 6e 20 69 6e 73 74 61 6c 6c 20 6f 6e 6c 79 20 74 68 65 20 70 72 .....You.can.install.only.the.pr
40300 6f 67 72 61 6d 2c 20 74 68 65 20 69 6e 66 6f 20 6d 61 6e 75 61 6c 2c 20 6f 72 20 74 68 65 20 6d ogram,.the.info.manual,.or.the.m
40320 61 6e 20 70 61 67 65 20 62 79 0a 20 20 20 74 79 70 69 6e 67 20 27 6d 61 6b 65 20 69 6e 73 74 61 an.page.by....typing.'make.insta
40340 6c 6c 2d 62 69 6e 27 2c 20 27 6d 61 6b 65 20 69 6e 73 74 61 6c 6c 2d 69 6e 66 6f 27 2c 20 6f 72 ll-bin',.'make.install-info',.or
40360 20 27 6d 61 6b 65 20 69 6e 73 74 61 6c 6c 2d 6d 61 6e 27 0a 20 20 20 72 65 73 70 65 63 74 69 76 .'make.install-man'....respectiv
40380 65 6c 79 2e 0a 0a 0a 41 6e 6f 74 68 65 72 20 77 61 79 0a 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0a 59 ely....Another.way.-----------.Y
403a0 6f 75 20 63 61 6e 20 61 6c 73 6f 20 63 6f 6d 70 69 6c 65 20 6c 7a 69 70 20 69 6e 74 6f 20 61 20 ou.can.also.compile.lzip.into.a.
403c0 73 65 70 61 72 61 74 65 20 64 69 72 65 63 74 6f 72 79 2e 0a 54 6f 20 64 6f 20 74 68 69 73 2c 20 separate.directory..To.do.this,.
403e0 79 6f 75 20 6d 75 73 74 20 75 73 65 20 61 20 76 65 72 73 69 6f 6e 20 6f 66 20 27 6d 61 6b 65 27 you.must.use.a.version.of.'make'
40400 20 74 68 61 74 20 73 75 70 70 6f 72 74 73 20 74 68 65 20 76 61 72 69 61 62 6c 65 0a 27 56 50 41 .that.supports.the.variable.'VPA
40420 54 48 27 2c 20 73 75 63 68 20 61 73 20 47 4e 55 20 27 6d 61 6b 65 27 2e 20 27 63 64 27 20 74 6f TH',.such.as.GNU.'make'..'cd'.to
40440 20 74 68 65 20 64 69 72 65 63 74 6f 72 79 20 77 68 65 72 65 20 79 6f 75 20 77 61 6e 74 20 74 68 .the.directory.where.you.want.th
40460 65 0a 6f 62 6a 65 63 74 20 66 69 6c 65 73 20 61 6e 64 20 65 78 65 63 75 74 61 62 6c 65 73 20 74 e.object.files.and.executables.t
40480 6f 20 67 6f 20 61 6e 64 20 72 75 6e 20 74 68 65 20 27 63 6f 6e 66 69 67 75 72 65 27 20 73 63 72 o.go.and.run.the.'configure'.scr
404a0 69 70 74 2e 0a 27 63 6f 6e 66 69 67 75 72 65 27 20 61 75 74 6f 6d 61 74 69 63 61 6c 6c 79 20 63 ipt..'configure'.automatically.c
404c0 68 65 63 6b 73 20 66 6f 72 20 74 68 65 20 73 6f 75 72 63 65 20 63 6f 64 65 20 69 6e 20 27 2e 27 hecks.for.the.source.code.in.'.'
404e0 2c 20 69 6e 20 27 2e 2e 27 2c 20 61 6e 64 0a 69 6e 20 74 68 65 20 64 69 72 65 63 74 6f 72 79 20 ,.in.'..',.and.in.the.directory.
40500 74 68 61 74 20 27 63 6f 6e 66 69 67 75 72 65 27 20 69 73 20 69 6e 2e 0a 0a 27 63 6f 6e 66 69 67 that.'configure'.is.in...'config
40520 75 72 65 27 20 72 65 63 6f 67 6e 69 7a 65 73 20 74 68 65 20 6f 70 74 69 6f 6e 20 27 2d 2d 73 72 ure'.recognizes.the.option.'--sr
40540 63 64 69 72 3d 44 49 52 27 20 74 6f 20 63 6f 6e 74 72 6f 6c 20 77 68 65 72 65 20 74 6f 0a 6c 6f cdir=DIR'.to.control.where.to.lo
40560 6f 6b 20 66 6f 72 20 74 68 65 20 73 6f 75 72 63 65 73 2e 20 55 73 75 61 6c 6c 79 20 27 63 6f 6e ok.for.the.sources..Usually.'con
40580 66 69 67 75 72 65 27 20 63 61 6e 20 64 65 74 65 72 6d 69 6e 65 20 74 68 61 74 20 64 69 72 65 63 figure'.can.determine.that.direc
405a0 74 6f 72 79 0a 61 75 74 6f 6d 61 74 69 63 61 6c 6c 79 2e 0a 0a 41 66 74 65 72 20 72 75 6e 6e 69 tory.automatically...After.runni
405c0 6e 67 20 27 63 6f 6e 66 69 67 75 72 65 27 2c 20 79 6f 75 20 63 61 6e 20 72 75 6e 20 27 6d 61 6b ng.'configure',.you.can.run.'mak
405e0 65 27 20 61 6e 64 20 27 6d 61 6b 65 20 69 6e 73 74 61 6c 6c 27 20 61 73 0a 65 78 70 6c 61 69 6e e'.and.'make.install'.as.explain
40600 65 64 20 61 62 6f 76 65 2e 0a 0a 0a 42 75 69 6c 64 69 6e 67 20 77 69 74 68 6f 75 74 20 27 6d 61 ed.above....Building.without.'ma
40620 6b 65 27 0a 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0a 49 66 20 79 ke'.-----------------------.If.y
40640 6f 75 20 6e 65 65 64 20 74 6f 20 62 75 69 6c 64 20 6c 7a 69 70 20 6f 6e 20 61 20 73 79 73 74 65 ou.need.to.build.lzip.on.a.syste
40660 6d 20 6c 61 63 6b 69 6e 67 20 61 20 27 6d 61 6b 65 27 20 70 72 6f 67 72 61 6d 2c 20 79 6f 75 20 m.lacking.a.'make'.program,.you.
40680 63 61 6e 20 75 73 65 0a 27 63 6f 6e 66 69 67 75 72 65 27 20 74 6f 20 62 75 69 6c 64 2c 20 63 68 can.use.'configure'.to.build,.ch
406a0 65 63 6b 2c 20 61 6e 64 20 69 6e 73 74 61 6c 6c 20 74 68 65 20 6c 7a 69 70 20 65 78 65 63 75 74 eck,.and.install.the.lzip.execut
406c0 61 62 6c 65 20 6c 69 6b 65 20 74 68 69 73 3a 0a 0a 09 2e 2f 63 6f 6e 66 69 67 75 72 65 20 2d 2d able.like.this:..../configure.--
406e0 62 75 69 6c 64 20 2d 2d 63 68 65 63 6b 20 2d 2d 69 6e 73 74 61 6c 6c 64 69 72 3d 2f 75 73 72 2f build.--check.--installdir=/usr/
40700 6c 6f 63 61 6c 2f 62 69 6e 0a 0a 0a 43 6f 70 79 72 69 67 68 74 20 28 43 29 20 32 30 30 38 2d 32 local/bin...Copyright.(C).2008-2
40720 30 32 31 20 41 6e 74 6f 6e 69 6f 20 44 69 61 7a 20 44 69 61 7a 2e 0a 0a 54 68 69 73 20 66 69 6c 021.Antonio.Diaz.Diaz...This.fil
40740 65 20 69 73 20 66 72 65 65 20 64 6f 63 75 6d 65 6e 74 61 74 69 6f 6e 3a 20 79 6f 75 20 68 61 76 e.is.free.documentation:.you.hav
40760 65 20 75 6e 6c 69 6d 69 74 65 64 20 70 65 72 6d 69 73 73 69 6f 6e 20 74 6f 20 63 6f 70 79 2c 0a e.unlimited.permission.to.copy,.
40780 64 69 73 74 72 69 62 75 74 65 2c 20 61 6e 64 20 6d 6f 64 69 66 79 20 69 74 2e 0a 00 00 00 00 00 distribute,.and.modify.it.......
407a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
407c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
407e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
40800 6c 7a 69 70 2d 31 2e 32 32 2f 43 4f 50 59 49 4e 47 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 lzip-1.22/COPYING...............
40820 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
40840 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
40860 00 00 00 00 30 30 30 30 36 34 34 00 30 30 30 30 30 30 30 00 30 30 30 30 30 30 30 00 30 30 30 30 ....0000644.0000000.0000000.0000
40880 30 30 34 33 31 35 31 00 31 32 33 34 37 34 32 37 34 35 34 00 30 31 33 34 36 35 00 20 30 00 00 00 0043151.12347427454.013465..0...
408a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
408c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
408e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
40900 00 75 73 74 61 72 00 30 30 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .ustar.00root...................
40920 00 00 00 00 00 00 00 00 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .........root...................
40940 00 00 00 00 00 00 00 00 00 30 30 30 30 30 30 30 00 30 30 30 30 30 30 30 00 00 00 00 00 00 00 00 .........0000000.0000000........
40960 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
40980 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
409a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
409c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
409e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
40a00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 47 4e 55 20 47 45 4e 45 52 41 4c 20 ....................GNU.GENERAL.
40a20 50 55 42 4c 49 43 20 4c 49 43 45 4e 53 45 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 PUBLIC.LICENSE..................
40a40 20 20 20 20 20 20 56 65 72 73 69 6f 6e 20 32 2c 20 4a 75 6e 65 20 31 39 39 31 0a 0a 20 43 6f 70 ......Version.2,.June.1991...Cop
40a60 79 72 69 67 68 74 20 28 43 29 20 31 39 38 39 2c 20 31 39 39 31 20 46 72 65 65 20 53 6f 66 74 77 yright.(C).1989,.1991.Free.Softw
40a80 61 72 65 20 46 6f 75 6e 64 61 74 69 6f 6e 2c 20 49 6e 63 2e 2c 0a 20 35 31 20 46 72 61 6e 6b 6c are.Foundation,.Inc.,..51.Frankl
40aa0 69 6e 20 53 74 72 65 65 74 2c 20 46 69 66 74 68 20 46 6c 6f 6f 72 2c 20 42 6f 73 74 6f 6e 2c 20 in.Street,.Fifth.Floor,.Boston,.
40ac0 4d 41 20 30 32 31 31 30 2d 31 33 30 31 20 55 53 41 0a 20 45 76 65 72 79 6f 6e 65 20 69 73 20 70 MA.02110-1301.USA..Everyone.is.p
40ae0 65 72 6d 69 74 74 65 64 20 74 6f 20 63 6f 70 79 20 61 6e 64 20 64 69 73 74 72 69 62 75 74 65 20 ermitted.to.copy.and.distribute.
40b00 76 65 72 62 61 74 69 6d 20 63 6f 70 69 65 73 0a 20 6f 66 20 74 68 69 73 20 6c 69 63 65 6e 73 65 verbatim.copies..of.this.license
40b20 20 64 6f 63 75 6d 65 6e 74 2c 20 62 75 74 20 63 68 61 6e 67 69 6e 67 20 69 74 20 69 73 20 6e 6f .document,.but.changing.it.is.no
40b40 74 20 61 6c 6c 6f 77 65 64 2e 0a 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 t.allowed.......................
40b60 20 20 20 20 20 20 20 20 50 72 65 61 6d 62 6c 65 0a 0a 20 20 54 68 65 20 6c 69 63 65 6e 73 65 73 ........Preamble....The.licenses
40b80 20 66 6f 72 20 6d 6f 73 74 20 73 6f 66 74 77 61 72 65 20 61 72 65 20 64 65 73 69 67 6e 65 64 20 .for.most.software.are.designed.
40ba0 74 6f 20 74 61 6b 65 20 61 77 61 79 20 79 6f 75 72 0a 66 72 65 65 64 6f 6d 20 74 6f 20 73 68 61 to.take.away.your.freedom.to.sha
40bc0 72 65 20 61 6e 64 20 63 68 61 6e 67 65 20 69 74 2e 20 20 42 79 20 63 6f 6e 74 72 61 73 74 2c 20 re.and.change.it...By.contrast,.
40be0 74 68 65 20 47 4e 55 20 47 65 6e 65 72 61 6c 20 50 75 62 6c 69 63 0a 4c 69 63 65 6e 73 65 20 69 the.GNU.General.Public.License.i
40c00 73 20 69 6e 74 65 6e 64 65 64 20 74 6f 20 67 75 61 72 61 6e 74 65 65 20 79 6f 75 72 20 66 72 65 s.intended.to.guarantee.your.fre
40c20 65 64 6f 6d 20 74 6f 20 73 68 61 72 65 20 61 6e 64 20 63 68 61 6e 67 65 20 66 72 65 65 0a 73 6f edom.to.share.and.change.free.so
40c40 66 74 77 61 72 65 2d 2d 74 6f 20 6d 61 6b 65 20 73 75 72 65 20 74 68 65 20 73 6f 66 74 77 61 72 ftware--to.make.sure.the.softwar
40c60 65 20 69 73 20 66 72 65 65 20 66 6f 72 20 61 6c 6c 20 69 74 73 20 75 73 65 72 73 2e 20 20 54 68 e.is.free.for.all.its.users...Th
40c80 69 73 0a 47 65 6e 65 72 61 6c 20 50 75 62 6c 69 63 20 4c 69 63 65 6e 73 65 20 61 70 70 6c 69 65 is.General.Public.License.applie
40ca0 73 20 74 6f 20 6d 6f 73 74 20 6f 66 20 74 68 65 20 46 72 65 65 20 53 6f 66 74 77 61 72 65 0a 46 s.to.most.of.the.Free.Software.F
40cc0 6f 75 6e 64 61 74 69 6f 6e 27 73 20 73 6f 66 74 77 61 72 65 20 61 6e 64 20 74 6f 20 61 6e 79 20 oundation's.software.and.to.any.
40ce0 6f 74 68 65 72 20 70 72 6f 67 72 61 6d 20 77 68 6f 73 65 20 61 75 74 68 6f 72 73 20 63 6f 6d 6d other.program.whose.authors.comm
40d00 69 74 20 74 6f 0a 75 73 69 6e 67 20 69 74 2e 20 20 28 53 6f 6d 65 20 6f 74 68 65 72 20 46 72 65 it.to.using.it...(Some.other.Fre
40d20 65 20 53 6f 66 74 77 61 72 65 20 46 6f 75 6e 64 61 74 69 6f 6e 20 73 6f 66 74 77 61 72 65 20 69 e.Software.Foundation.software.i
40d40 73 20 63 6f 76 65 72 65 64 20 62 79 0a 74 68 65 20 47 4e 55 20 4c 65 73 73 65 72 20 47 65 6e 65 s.covered.by.the.GNU.Lesser.Gene
40d60 72 61 6c 20 50 75 62 6c 69 63 20 4c 69 63 65 6e 73 65 20 69 6e 73 74 65 61 64 2e 29 20 20 59 6f ral.Public.License.instead.)..Yo
40d80 75 20 63 61 6e 20 61 70 70 6c 79 20 69 74 20 74 6f 0a 79 6f 75 72 20 70 72 6f 67 72 61 6d 73 2c u.can.apply.it.to.your.programs,
40da0 20 74 6f 6f 2e 0a 0a 20 20 57 68 65 6e 20 77 65 20 73 70 65 61 6b 20 6f 66 20 66 72 65 65 20 73 .too.....When.we.speak.of.free.s
40dc0 6f 66 74 77 61 72 65 2c 20 77 65 20 61 72 65 20 72 65 66 65 72 72 69 6e 67 20 74 6f 20 66 72 65 oftware,.we.are.referring.to.fre
40de0 65 64 6f 6d 2c 20 6e 6f 74 0a 70 72 69 63 65 2e 20 20 4f 75 72 20 47 65 6e 65 72 61 6c 20 50 75 edom,.not.price...Our.General.Pu
40e00 62 6c 69 63 20 4c 69 63 65 6e 73 65 73 20 61 72 65 20 64 65 73 69 67 6e 65 64 20 74 6f 20 6d 61 blic.Licenses.are.designed.to.ma
40e20 6b 65 20 73 75 72 65 20 74 68 61 74 20 79 6f 75 0a 68 61 76 65 20 74 68 65 20 66 72 65 65 64 6f ke.sure.that.you.have.the.freedo
40e40 6d 20 74 6f 20 64 69 73 74 72 69 62 75 74 65 20 63 6f 70 69 65 73 20 6f 66 20 66 72 65 65 20 73 m.to.distribute.copies.of.free.s
40e60 6f 66 74 77 61 72 65 20 28 61 6e 64 20 63 68 61 72 67 65 20 66 6f 72 0a 74 68 69 73 20 73 65 72 oftware.(and.charge.for.this.ser
40e80 76 69 63 65 20 69 66 20 79 6f 75 20 77 69 73 68 29 2c 20 74 68 61 74 20 79 6f 75 20 72 65 63 65 vice.if.you.wish),.that.you.rece
40ea0 69 76 65 20 73 6f 75 72 63 65 20 63 6f 64 65 20 6f 72 20 63 61 6e 20 67 65 74 20 69 74 0a 69 66 ive.source.code.or.can.get.it.if
40ec0 20 79 6f 75 20 77 61 6e 74 20 69 74 2c 20 74 68 61 74 20 79 6f 75 20 63 61 6e 20 63 68 61 6e 67 .you.want.it,.that.you.can.chang
40ee0 65 20 74 68 65 20 73 6f 66 74 77 61 72 65 20 6f 72 20 75 73 65 20 70 69 65 63 65 73 20 6f 66 20 e.the.software.or.use.pieces.of.
40f00 69 74 0a 69 6e 20 6e 65 77 20 66 72 65 65 20 70 72 6f 67 72 61 6d 73 3b 20 61 6e 64 20 74 68 61 it.in.new.free.programs;.and.tha
40f20 74 20 79 6f 75 20 6b 6e 6f 77 20 79 6f 75 20 63 61 6e 20 64 6f 20 74 68 65 73 65 20 74 68 69 6e t.you.know.you.can.do.these.thin
40f40 67 73 2e 0a 0a 20 20 54 6f 20 70 72 6f 74 65 63 74 20 79 6f 75 72 20 72 69 67 68 74 73 2c 20 77 gs.....To.protect.your.rights,.w
40f60 65 20 6e 65 65 64 20 74 6f 20 6d 61 6b 65 20 72 65 73 74 72 69 63 74 69 6f 6e 73 20 74 68 61 74 e.need.to.make.restrictions.that
40f80 20 66 6f 72 62 69 64 0a 61 6e 79 6f 6e 65 20 74 6f 20 64 65 6e 79 20 79 6f 75 20 74 68 65 73 65 .forbid.anyone.to.deny.you.these
40fa0 20 72 69 67 68 74 73 20 6f 72 20 74 6f 20 61 73 6b 20 79 6f 75 20 74 6f 20 73 75 72 72 65 6e 64 .rights.or.to.ask.you.to.surrend
40fc0 65 72 20 74 68 65 20 72 69 67 68 74 73 2e 0a 54 68 65 73 65 20 72 65 73 74 72 69 63 74 69 6f 6e er.the.rights..These.restriction
40fe0 73 20 74 72 61 6e 73 6c 61 74 65 20 74 6f 20 63 65 72 74 61 69 6e 20 72 65 73 70 6f 6e 73 69 62 s.translate.to.certain.responsib
41000 69 6c 69 74 69 65 73 20 66 6f 72 20 79 6f 75 20 69 66 20 79 6f 75 0a 64 69 73 74 72 69 62 75 74 ilities.for.you.if.you.distribut
41020 65 20 63 6f 70 69 65 73 20 6f 66 20 74 68 65 20 73 6f 66 74 77 61 72 65 2c 20 6f 72 20 69 66 20 e.copies.of.the.software,.or.if.
41040 79 6f 75 20 6d 6f 64 69 66 79 20 69 74 2e 0a 0a 20 20 46 6f 72 20 65 78 61 6d 70 6c 65 2c 20 69 you.modify.it.....For.example,.i
41060 66 20 79 6f 75 20 64 69 73 74 72 69 62 75 74 65 20 63 6f 70 69 65 73 20 6f 66 20 73 75 63 68 20 f.you.distribute.copies.of.such.
41080 61 20 70 72 6f 67 72 61 6d 2c 20 77 68 65 74 68 65 72 0a 67 72 61 74 69 73 20 6f 72 20 66 6f 72 a.program,.whether.gratis.or.for
410a0 20 61 20 66 65 65 2c 20 79 6f 75 20 6d 75 73 74 20 67 69 76 65 20 74 68 65 20 72 65 63 69 70 69 .a.fee,.you.must.give.the.recipi
410c0 65 6e 74 73 20 61 6c 6c 20 74 68 65 20 72 69 67 68 74 73 20 74 68 61 74 0a 79 6f 75 20 68 61 76 ents.all.the.rights.that.you.hav
410e0 65 2e 20 20 59 6f 75 20 6d 75 73 74 20 6d 61 6b 65 20 73 75 72 65 20 74 68 61 74 20 74 68 65 79 e...You.must.make.sure.that.they
41100 2c 20 74 6f 6f 2c 20 72 65 63 65 69 76 65 20 6f 72 20 63 61 6e 20 67 65 74 20 74 68 65 0a 73 6f ,.too,.receive.or.can.get.the.so
41120 75 72 63 65 20 63 6f 64 65 2e 20 20 41 6e 64 20 79 6f 75 20 6d 75 73 74 20 73 68 6f 77 20 74 68 urce.code...And.you.must.show.th
41140 65 6d 20 74 68 65 73 65 20 74 65 72 6d 73 20 73 6f 20 74 68 65 79 20 6b 6e 6f 77 20 74 68 65 69 em.these.terms.so.they.know.thei
41160 72 0a 72 69 67 68 74 73 2e 0a 0a 20 20 57 65 20 70 72 6f 74 65 63 74 20 79 6f 75 72 20 72 69 67 r.rights.....We.protect.your.rig
41180 68 74 73 20 77 69 74 68 20 74 77 6f 20 73 74 65 70 73 3a 20 28 31 29 20 63 6f 70 79 72 69 67 68 hts.with.two.steps:.(1).copyrigh
411a0 74 20 74 68 65 20 73 6f 66 74 77 61 72 65 2c 20 61 6e 64 0a 28 32 29 20 6f 66 66 65 72 20 79 6f t.the.software,.and.(2).offer.yo
411c0 75 20 74 68 69 73 20 6c 69 63 65 6e 73 65 20 77 68 69 63 68 20 67 69 76 65 73 20 79 6f 75 20 6c u.this.license.which.gives.you.l
411e0 65 67 61 6c 20 70 65 72 6d 69 73 73 69 6f 6e 20 74 6f 20 63 6f 70 79 2c 0a 64 69 73 74 72 69 62 egal.permission.to.copy,.distrib
41200 75 74 65 20 61 6e 64 2f 6f 72 20 6d 6f 64 69 66 79 20 74 68 65 20 73 6f 66 74 77 61 72 65 2e 0a ute.and/or.modify.the.software..
41220 0a 20 20 41 6c 73 6f 2c 20 66 6f 72 20 65 61 63 68 20 61 75 74 68 6f 72 27 73 20 70 72 6f 74 65 ...Also,.for.each.author's.prote
41240 63 74 69 6f 6e 20 61 6e 64 20 6f 75 72 73 2c 20 77 65 20 77 61 6e 74 20 74 6f 20 6d 61 6b 65 20 ction.and.ours,.we.want.to.make.
41260 63 65 72 74 61 69 6e 0a 74 68 61 74 20 65 76 65 72 79 6f 6e 65 20 75 6e 64 65 72 73 74 61 6e 64 certain.that.everyone.understand
41280 73 20 74 68 61 74 20 74 68 65 72 65 20 69 73 20 6e 6f 20 77 61 72 72 61 6e 74 79 20 66 6f 72 20 s.that.there.is.no.warranty.for.
412a0 74 68 69 73 20 66 72 65 65 0a 73 6f 66 74 77 61 72 65 2e 20 20 49 66 20 74 68 65 20 73 6f 66 74 this.free.software...If.the.soft
412c0 77 61 72 65 20 69 73 20 6d 6f 64 69 66 69 65 64 20 62 79 20 73 6f 6d 65 6f 6e 65 20 65 6c 73 65 ware.is.modified.by.someone.else
412e0 20 61 6e 64 20 70 61 73 73 65 64 20 6f 6e 2c 20 77 65 0a 77 61 6e 74 20 69 74 73 20 72 65 63 69 .and.passed.on,.we.want.its.reci
41300 70 69 65 6e 74 73 20 74 6f 20 6b 6e 6f 77 20 74 68 61 74 20 77 68 61 74 20 74 68 65 79 20 68 61 pients.to.know.that.what.they.ha
41320 76 65 20 69 73 20 6e 6f 74 20 74 68 65 20 6f 72 69 67 69 6e 61 6c 2c 20 73 6f 0a 74 68 61 74 20 ve.is.not.the.original,.so.that.
41340 61 6e 79 20 70 72 6f 62 6c 65 6d 73 20 69 6e 74 72 6f 64 75 63 65 64 20 62 79 20 6f 74 68 65 72 any.problems.introduced.by.other
41360 73 20 77 69 6c 6c 20 6e 6f 74 20 72 65 66 6c 65 63 74 20 6f 6e 20 74 68 65 20 6f 72 69 67 69 6e s.will.not.reflect.on.the.origin
41380 61 6c 0a 61 75 74 68 6f 72 73 27 20 72 65 70 75 74 61 74 69 6f 6e 73 2e 0a 0a 20 20 46 69 6e 61 al.authors'.reputations.....Fina
413a0 6c 6c 79 2c 20 61 6e 79 20 66 72 65 65 20 70 72 6f 67 72 61 6d 20 69 73 20 74 68 72 65 61 74 65 lly,.any.free.program.is.threate
413c0 6e 65 64 20 63 6f 6e 73 74 61 6e 74 6c 79 20 62 79 20 73 6f 66 74 77 61 72 65 0a 70 61 74 65 6e ned.constantly.by.software.paten
413e0 74 73 2e 20 20 57 65 20 77 69 73 68 20 74 6f 20 61 76 6f 69 64 20 74 68 65 20 64 61 6e 67 65 72 ts...We.wish.to.avoid.the.danger
41400 20 74 68 61 74 20 72 65 64 69 73 74 72 69 62 75 74 6f 72 73 20 6f 66 20 61 20 66 72 65 65 0a 70 .that.redistributors.of.a.free.p
41420 72 6f 67 72 61 6d 20 77 69 6c 6c 20 69 6e 64 69 76 69 64 75 61 6c 6c 79 20 6f 62 74 61 69 6e 20 rogram.will.individually.obtain.
41440 70 61 74 65 6e 74 20 6c 69 63 65 6e 73 65 73 2c 20 69 6e 20 65 66 66 65 63 74 20 6d 61 6b 69 6e patent.licenses,.in.effect.makin
41460 67 20 74 68 65 0a 70 72 6f 67 72 61 6d 20 70 72 6f 70 72 69 65 74 61 72 79 2e 20 20 54 6f 20 70 g.the.program.proprietary...To.p
41480 72 65 76 65 6e 74 20 74 68 69 73 2c 20 77 65 20 68 61 76 65 20 6d 61 64 65 20 69 74 20 63 6c 65 revent.this,.we.have.made.it.cle
414a0 61 72 20 74 68 61 74 20 61 6e 79 0a 70 61 74 65 6e 74 20 6d 75 73 74 20 62 65 20 6c 69 63 65 6e ar.that.any.patent.must.be.licen
414c0 73 65 64 20 66 6f 72 20 65 76 65 72 79 6f 6e 65 27 73 20 66 72 65 65 20 75 73 65 20 6f 72 20 6e sed.for.everyone's.free.use.or.n
414e0 6f 74 20 6c 69 63 65 6e 73 65 64 20 61 74 20 61 6c 6c 2e 0a 0a 20 20 54 68 65 20 70 72 65 63 69 ot.licensed.at.all.....The.preci
41500 73 65 20 74 65 72 6d 73 20 61 6e 64 20 63 6f 6e 64 69 74 69 6f 6e 73 20 66 6f 72 20 63 6f 70 79 se.terms.and.conditions.for.copy
41520 69 6e 67 2c 20 64 69 73 74 72 69 62 75 74 69 6f 6e 20 61 6e 64 0a 6d 6f 64 69 66 69 63 61 74 69 ing,.distribution.and.modificati
41540 6f 6e 20 66 6f 6c 6c 6f 77 2e 0a 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 on.follow.......................
41560 47 4e 55 20 47 45 4e 45 52 41 4c 20 50 55 42 4c 49 43 20 4c 49 43 45 4e 53 45 0a 20 20 20 54 45 GNU.GENERAL.PUBLIC.LICENSE....TE
41580 52 4d 53 20 41 4e 44 20 43 4f 4e 44 49 54 49 4f 4e 53 20 46 4f 52 20 43 4f 50 59 49 4e 47 2c 20 RMS.AND.CONDITIONS.FOR.COPYING,.
415a0 44 49 53 54 52 49 42 55 54 49 4f 4e 20 41 4e 44 20 4d 4f 44 49 46 49 43 41 54 49 4f 4e 0a 0a 20 DISTRIBUTION.AND.MODIFICATION...
415c0 20 30 2e 20 54 68 69 73 20 4c 69 63 65 6e 73 65 20 61 70 70 6c 69 65 73 20 74 6f 20 61 6e 79 20 .0..This.License.applies.to.any.
415e0 70 72 6f 67 72 61 6d 20 6f 72 20 6f 74 68 65 72 20 77 6f 72 6b 20 77 68 69 63 68 20 63 6f 6e 74 program.or.other.work.which.cont
41600 61 69 6e 73 0a 61 20 6e 6f 74 69 63 65 20 70 6c 61 63 65 64 20 62 79 20 74 68 65 20 63 6f 70 79 ains.a.notice.placed.by.the.copy
41620 72 69 67 68 74 20 68 6f 6c 64 65 72 20 73 61 79 69 6e 67 20 69 74 20 6d 61 79 20 62 65 20 64 69 right.holder.saying.it.may.be.di
41640 73 74 72 69 62 75 74 65 64 0a 75 6e 64 65 72 20 74 68 65 20 74 65 72 6d 73 20 6f 66 20 74 68 69 stributed.under.the.terms.of.thi
41660 73 20 47 65 6e 65 72 61 6c 20 50 75 62 6c 69 63 20 4c 69 63 65 6e 73 65 2e 20 20 54 68 65 20 22 s.General.Public.License...The."
41680 50 72 6f 67 72 61 6d 22 2c 20 62 65 6c 6f 77 2c 0a 72 65 66 65 72 73 20 74 6f 20 61 6e 79 20 73 Program",.below,.refers.to.any.s
416a0 75 63 68 20 70 72 6f 67 72 61 6d 20 6f 72 20 77 6f 72 6b 2c 20 61 6e 64 20 61 20 22 77 6f 72 6b uch.program.or.work,.and.a."work
416c0 20 62 61 73 65 64 20 6f 6e 20 74 68 65 20 50 72 6f 67 72 61 6d 22 0a 6d 65 61 6e 73 20 65 69 74 .based.on.the.Program".means.eit
416e0 68 65 72 20 74 68 65 20 50 72 6f 67 72 61 6d 20 6f 72 20 61 6e 79 20 64 65 72 69 76 61 74 69 76 her.the.Program.or.any.derivativ
41700 65 20 77 6f 72 6b 20 75 6e 64 65 72 20 63 6f 70 79 72 69 67 68 74 20 6c 61 77 3a 0a 74 68 61 74 e.work.under.copyright.law:.that
41720 20 69 73 20 74 6f 20 73 61 79 2c 20 61 20 77 6f 72 6b 20 63 6f 6e 74 61 69 6e 69 6e 67 20 74 68 .is.to.say,.a.work.containing.th
41740 65 20 50 72 6f 67 72 61 6d 20 6f 72 20 61 20 70 6f 72 74 69 6f 6e 20 6f 66 20 69 74 2c 0a 65 69 e.Program.or.a.portion.of.it,.ei
41760 74 68 65 72 20 76 65 72 62 61 74 69 6d 20 6f 72 20 77 69 74 68 20 6d 6f 64 69 66 69 63 61 74 69 ther.verbatim.or.with.modificati
41780 6f 6e 73 20 61 6e 64 2f 6f 72 20 74 72 61 6e 73 6c 61 74 65 64 20 69 6e 74 6f 20 61 6e 6f 74 68 ons.and/or.translated.into.anoth
417a0 65 72 0a 6c 61 6e 67 75 61 67 65 2e 20 20 28 48 65 72 65 69 6e 61 66 74 65 72 2c 20 74 72 61 6e er.language...(Hereinafter,.tran
417c0 73 6c 61 74 69 6f 6e 20 69 73 20 69 6e 63 6c 75 64 65 64 20 77 69 74 68 6f 75 74 20 6c 69 6d 69 slation.is.included.without.limi
417e0 74 61 74 69 6f 6e 20 69 6e 0a 74 68 65 20 74 65 72 6d 20 22 6d 6f 64 69 66 69 63 61 74 69 6f 6e tation.in.the.term."modification
41800 22 2e 29 20 20 45 61 63 68 20 6c 69 63 65 6e 73 65 65 20 69 73 20 61 64 64 72 65 73 73 65 64 20 ".)..Each.licensee.is.addressed.
41820 61 73 20 22 79 6f 75 22 2e 0a 0a 41 63 74 69 76 69 74 69 65 73 20 6f 74 68 65 72 20 74 68 61 6e as."you"...Activities.other.than
41840 20 63 6f 70 79 69 6e 67 2c 20 64 69 73 74 72 69 62 75 74 69 6f 6e 20 61 6e 64 20 6d 6f 64 69 66 .copying,.distribution.and.modif
41860 69 63 61 74 69 6f 6e 20 61 72 65 20 6e 6f 74 0a 63 6f 76 65 72 65 64 20 62 79 20 74 68 69 73 20 ication.are.not.covered.by.this.
41880 4c 69 63 65 6e 73 65 3b 20 74 68 65 79 20 61 72 65 20 6f 75 74 73 69 64 65 20 69 74 73 20 73 63 License;.they.are.outside.its.sc
418a0 6f 70 65 2e 20 20 54 68 65 20 61 63 74 20 6f 66 0a 72 75 6e 6e 69 6e 67 20 74 68 65 20 50 72 6f ope...The.act.of.running.the.Pro
418c0 67 72 61 6d 20 69 73 20 6e 6f 74 20 72 65 73 74 72 69 63 74 65 64 2c 20 61 6e 64 20 74 68 65 20 gram.is.not.restricted,.and.the.
418e0 6f 75 74 70 75 74 20 66 72 6f 6d 20 74 68 65 20 50 72 6f 67 72 61 6d 0a 69 73 20 63 6f 76 65 72 output.from.the.Program.is.cover
41900 65 64 20 6f 6e 6c 79 20 69 66 20 69 74 73 20 63 6f 6e 74 65 6e 74 73 20 63 6f 6e 73 74 69 74 75 ed.only.if.its.contents.constitu
41920 74 65 20 61 20 77 6f 72 6b 20 62 61 73 65 64 20 6f 6e 20 74 68 65 0a 50 72 6f 67 72 61 6d 20 28 te.a.work.based.on.the.Program.(
41940 69 6e 64 65 70 65 6e 64 65 6e 74 20 6f 66 20 68 61 76 69 6e 67 20 62 65 65 6e 20 6d 61 64 65 20 independent.of.having.been.made.
41960 62 79 20 72 75 6e 6e 69 6e 67 20 74 68 65 20 50 72 6f 67 72 61 6d 29 2e 0a 57 68 65 74 68 65 72 by.running.the.Program)..Whether
41980 20 74 68 61 74 20 69 73 20 74 72 75 65 20 64 65 70 65 6e 64 73 20 6f 6e 20 77 68 61 74 20 74 68 .that.is.true.depends.on.what.th
419a0 65 20 50 72 6f 67 72 61 6d 20 64 6f 65 73 2e 0a 0a 20 20 31 2e 20 59 6f 75 20 6d 61 79 20 63 6f e.Program.does.....1..You.may.co
419c0 70 79 20 61 6e 64 20 64 69 73 74 72 69 62 75 74 65 20 76 65 72 62 61 74 69 6d 20 63 6f 70 69 65 py.and.distribute.verbatim.copie
419e0 73 20 6f 66 20 74 68 65 20 50 72 6f 67 72 61 6d 27 73 0a 73 6f 75 72 63 65 20 63 6f 64 65 20 61 s.of.the.Program's.source.code.a
41a00 73 20 79 6f 75 20 72 65 63 65 69 76 65 20 69 74 2c 20 69 6e 20 61 6e 79 20 6d 65 64 69 75 6d 2c s.you.receive.it,.in.any.medium,
41a20 20 70 72 6f 76 69 64 65 64 20 74 68 61 74 20 79 6f 75 0a 63 6f 6e 73 70 69 63 75 6f 75 73 6c 79 .provided.that.you.conspicuously
41a40 20 61 6e 64 20 61 70 70 72 6f 70 72 69 61 74 65 6c 79 20 70 75 62 6c 69 73 68 20 6f 6e 20 65 61 .and.appropriately.publish.on.ea
41a60 63 68 20 63 6f 70 79 20 61 6e 20 61 70 70 72 6f 70 72 69 61 74 65 0a 63 6f 70 79 72 69 67 68 74 ch.copy.an.appropriate.copyright
41a80 20 6e 6f 74 69 63 65 20 61 6e 64 20 64 69 73 63 6c 61 69 6d 65 72 20 6f 66 20 77 61 72 72 61 6e .notice.and.disclaimer.of.warran
41aa0 74 79 3b 20 6b 65 65 70 20 69 6e 74 61 63 74 20 61 6c 6c 20 74 68 65 0a 6e 6f 74 69 63 65 73 20 ty;.keep.intact.all.the.notices.
41ac0 74 68 61 74 20 72 65 66 65 72 20 74 6f 20 74 68 69 73 20 4c 69 63 65 6e 73 65 20 61 6e 64 20 74 that.refer.to.this.License.and.t
41ae0 6f 20 74 68 65 20 61 62 73 65 6e 63 65 20 6f 66 20 61 6e 79 20 77 61 72 72 61 6e 74 79 3b 0a 61 o.the.absence.of.any.warranty;.a
41b00 6e 64 20 67 69 76 65 20 61 6e 79 20 6f 74 68 65 72 20 72 65 63 69 70 69 65 6e 74 73 20 6f 66 20 nd.give.any.other.recipients.of.
41b20 74 68 65 20 50 72 6f 67 72 61 6d 20 61 20 63 6f 70 79 20 6f 66 20 74 68 69 73 20 4c 69 63 65 6e the.Program.a.copy.of.this.Licen
41b40 73 65 0a 61 6c 6f 6e 67 20 77 69 74 68 20 74 68 65 20 50 72 6f 67 72 61 6d 2e 0a 0a 59 6f 75 20 se.along.with.the.Program...You.
41b60 6d 61 79 20 63 68 61 72 67 65 20 61 20 66 65 65 20 66 6f 72 20 74 68 65 20 70 68 79 73 69 63 61 may.charge.a.fee.for.the.physica
41b80 6c 20 61 63 74 20 6f 66 20 74 72 61 6e 73 66 65 72 72 69 6e 67 20 61 20 63 6f 70 79 2c 20 61 6e l.act.of.transferring.a.copy,.an
41ba0 64 0a 79 6f 75 20 6d 61 79 20 61 74 20 79 6f 75 72 20 6f 70 74 69 6f 6e 20 6f 66 66 65 72 20 77 d.you.may.at.your.option.offer.w
41bc0 61 72 72 61 6e 74 79 20 70 72 6f 74 65 63 74 69 6f 6e 20 69 6e 20 65 78 63 68 61 6e 67 65 20 66 arranty.protection.in.exchange.f
41be0 6f 72 20 61 20 66 65 65 2e 0a 0a 20 20 32 2e 20 59 6f 75 20 6d 61 79 20 6d 6f 64 69 66 79 20 79 or.a.fee.....2..You.may.modify.y
41c00 6f 75 72 20 63 6f 70 79 20 6f 72 20 63 6f 70 69 65 73 20 6f 66 20 74 68 65 20 50 72 6f 67 72 61 our.copy.or.copies.of.the.Progra
41c20 6d 20 6f 72 20 61 6e 79 20 70 6f 72 74 69 6f 6e 0a 6f 66 20 69 74 2c 20 74 68 75 73 20 66 6f 72 m.or.any.portion.of.it,.thus.for
41c40 6d 69 6e 67 20 61 20 77 6f 72 6b 20 62 61 73 65 64 20 6f 6e 20 74 68 65 20 50 72 6f 67 72 61 6d ming.a.work.based.on.the.Program
41c60 2c 20 61 6e 64 20 63 6f 70 79 20 61 6e 64 0a 64 69 73 74 72 69 62 75 74 65 20 73 75 63 68 20 6d ,.and.copy.and.distribute.such.m
41c80 6f 64 69 66 69 63 61 74 69 6f 6e 73 20 6f 72 20 77 6f 72 6b 20 75 6e 64 65 72 20 74 68 65 20 74 odifications.or.work.under.the.t
41ca0 65 72 6d 73 20 6f 66 20 53 65 63 74 69 6f 6e 20 31 0a 61 62 6f 76 65 2c 20 70 72 6f 76 69 64 65 erms.of.Section.1.above,.provide
41cc0 64 20 74 68 61 74 20 79 6f 75 20 61 6c 73 6f 20 6d 65 65 74 20 61 6c 6c 20 6f 66 20 74 68 65 73 d.that.you.also.meet.all.of.thes
41ce0 65 20 63 6f 6e 64 69 74 69 6f 6e 73 3a 0a 0a 20 20 20 20 61 29 20 59 6f 75 20 6d 75 73 74 20 63 e.conditions:......a).You.must.c
41d00 61 75 73 65 20 74 68 65 20 6d 6f 64 69 66 69 65 64 20 66 69 6c 65 73 20 74 6f 20 63 61 72 72 79 ause.the.modified.files.to.carry
41d20 20 70 72 6f 6d 69 6e 65 6e 74 20 6e 6f 74 69 63 65 73 0a 20 20 20 20 73 74 61 74 69 6e 67 20 74 .prominent.notices.....stating.t
41d40 68 61 74 20 79 6f 75 20 63 68 61 6e 67 65 64 20 74 68 65 20 66 69 6c 65 73 20 61 6e 64 20 74 68 hat.you.changed.the.files.and.th
41d60 65 20 64 61 74 65 20 6f 66 20 61 6e 79 20 63 68 61 6e 67 65 2e 0a 0a 20 20 20 20 62 29 20 59 6f e.date.of.any.change.......b).Yo
41d80 75 20 6d 75 73 74 20 63 61 75 73 65 20 61 6e 79 20 77 6f 72 6b 20 74 68 61 74 20 79 6f 75 20 64 u.must.cause.any.work.that.you.d
41da0 69 73 74 72 69 62 75 74 65 20 6f 72 20 70 75 62 6c 69 73 68 2c 20 74 68 61 74 20 69 6e 0a 20 20 istribute.or.publish,.that.in...
41dc0 20 20 77 68 6f 6c 65 20 6f 72 20 69 6e 20 70 61 72 74 20 63 6f 6e 74 61 69 6e 73 20 6f 72 20 69 ..whole.or.in.part.contains.or.i
41de0 73 20 64 65 72 69 76 65 64 20 66 72 6f 6d 20 74 68 65 20 50 72 6f 67 72 61 6d 20 6f 72 20 61 6e s.derived.from.the.Program.or.an
41e00 79 0a 20 20 20 20 70 61 72 74 20 74 68 65 72 65 6f 66 2c 20 74 6f 20 62 65 20 6c 69 63 65 6e 73 y.....part.thereof,.to.be.licens
41e20 65 64 20 61 73 20 61 20 77 68 6f 6c 65 20 61 74 20 6e 6f 20 63 68 61 72 67 65 20 74 6f 20 61 6c ed.as.a.whole.at.no.charge.to.al
41e40 6c 20 74 68 69 72 64 0a 20 20 20 20 70 61 72 74 69 65 73 20 75 6e 64 65 72 20 74 68 65 20 74 65 l.third.....parties.under.the.te
41e60 72 6d 73 20 6f 66 20 74 68 69 73 20 4c 69 63 65 6e 73 65 2e 0a 0a 20 20 20 20 63 29 20 49 66 20 rms.of.this.License.......c).If.
41e80 74 68 65 20 6d 6f 64 69 66 69 65 64 20 70 72 6f 67 72 61 6d 20 6e 6f 72 6d 61 6c 6c 79 20 72 65 the.modified.program.normally.re
41ea0 61 64 73 20 63 6f 6d 6d 61 6e 64 73 20 69 6e 74 65 72 61 63 74 69 76 65 6c 79 0a 20 20 20 20 77 ads.commands.interactively.....w
41ec0 68 65 6e 20 72 75 6e 2c 20 79 6f 75 20 6d 75 73 74 20 63 61 75 73 65 20 69 74 2c 20 77 68 65 6e hen.run,.you.must.cause.it,.when
41ee0 20 73 74 61 72 74 65 64 20 72 75 6e 6e 69 6e 67 20 66 6f 72 20 73 75 63 68 0a 20 20 20 20 69 6e .started.running.for.such.....in
41f00 74 65 72 61 63 74 69 76 65 20 75 73 65 20 69 6e 20 74 68 65 20 6d 6f 73 74 20 6f 72 64 69 6e 61 teractive.use.in.the.most.ordina
41f20 72 79 20 77 61 79 2c 20 74 6f 20 70 72 69 6e 74 20 6f 72 20 64 69 73 70 6c 61 79 20 61 6e 0a 20 ry.way,.to.print.or.display.an..
41f40 20 20 20 61 6e 6e 6f 75 6e 63 65 6d 65 6e 74 20 69 6e 63 6c 75 64 69 6e 67 20 61 6e 20 61 70 70 ...announcement.including.an.app
41f60 72 6f 70 72 69 61 74 65 20 63 6f 70 79 72 69 67 68 74 20 6e 6f 74 69 63 65 20 61 6e 64 20 61 0a ropriate.copyright.notice.and.a.
41f80 20 20 20 20 6e 6f 74 69 63 65 20 74 68 61 74 20 74 68 65 72 65 20 69 73 20 6e 6f 20 77 61 72 72 ....notice.that.there.is.no.warr
41fa0 61 6e 74 79 20 28 6f 72 20 65 6c 73 65 2c 20 73 61 79 69 6e 67 20 74 68 61 74 20 79 6f 75 20 70 anty.(or.else,.saying.that.you.p
41fc0 72 6f 76 69 64 65 0a 20 20 20 20 61 20 77 61 72 72 61 6e 74 79 29 20 61 6e 64 20 74 68 61 74 20 rovide.....a.warranty).and.that.
41fe0 75 73 65 72 73 20 6d 61 79 20 72 65 64 69 73 74 72 69 62 75 74 65 20 74 68 65 20 70 72 6f 67 72 users.may.redistribute.the.progr
42000 61 6d 20 75 6e 64 65 72 0a 20 20 20 20 74 68 65 73 65 20 63 6f 6e 64 69 74 69 6f 6e 73 2c 20 61 am.under.....these.conditions,.a
42020 6e 64 20 74 65 6c 6c 69 6e 67 20 74 68 65 20 75 73 65 72 20 68 6f 77 20 74 6f 20 76 69 65 77 20 nd.telling.the.user.how.to.view.
42040 61 20 63 6f 70 79 20 6f 66 20 74 68 69 73 0a 20 20 20 20 4c 69 63 65 6e 73 65 2e 20 20 28 45 78 a.copy.of.this.....License...(Ex
42060 63 65 70 74 69 6f 6e 3a 20 69 66 20 74 68 65 20 50 72 6f 67 72 61 6d 20 69 74 73 65 6c 66 20 69 ception:.if.the.Program.itself.i
42080 73 20 69 6e 74 65 72 61 63 74 69 76 65 20 62 75 74 0a 20 20 20 20 64 6f 65 73 20 6e 6f 74 20 6e s.interactive.but.....does.not.n
420a0 6f 72 6d 61 6c 6c 79 20 70 72 69 6e 74 20 73 75 63 68 20 61 6e 20 61 6e 6e 6f 75 6e 63 65 6d 65 ormally.print.such.an.announceme
420c0 6e 74 2c 20 79 6f 75 72 20 77 6f 72 6b 20 62 61 73 65 64 20 6f 6e 0a 20 20 20 20 74 68 65 20 50 nt,.your.work.based.on.....the.P
420e0 72 6f 67 72 61 6d 20 69 73 20 6e 6f 74 20 72 65 71 75 69 72 65 64 20 74 6f 20 70 72 69 6e 74 20 rogram.is.not.required.to.print.
42100 61 6e 20 61 6e 6e 6f 75 6e 63 65 6d 65 6e 74 2e 29 0a 0a 54 68 65 73 65 20 72 65 71 75 69 72 65 an.announcement.)..These.require
42120 6d 65 6e 74 73 20 61 70 70 6c 79 20 74 6f 20 74 68 65 20 6d 6f 64 69 66 69 65 64 20 77 6f 72 6b ments.apply.to.the.modified.work
42140 20 61 73 20 61 20 77 68 6f 6c 65 2e 20 20 49 66 0a 69 64 65 6e 74 69 66 69 61 62 6c 65 20 73 65 .as.a.whole...If.identifiable.se
42160 63 74 69 6f 6e 73 20 6f 66 20 74 68 61 74 20 77 6f 72 6b 20 61 72 65 20 6e 6f 74 20 64 65 72 69 ctions.of.that.work.are.not.deri
42180 76 65 64 20 66 72 6f 6d 20 74 68 65 20 50 72 6f 67 72 61 6d 2c 0a 61 6e 64 20 63 61 6e 20 62 65 ved.from.the.Program,.and.can.be
421a0 20 72 65 61 73 6f 6e 61 62 6c 79 20 63 6f 6e 73 69 64 65 72 65 64 20 69 6e 64 65 70 65 6e 64 65 .reasonably.considered.independe
421c0 6e 74 20 61 6e 64 20 73 65 70 61 72 61 74 65 20 77 6f 72 6b 73 20 69 6e 0a 74 68 65 6d 73 65 6c nt.and.separate.works.in.themsel
421e0 76 65 73 2c 20 74 68 65 6e 20 74 68 69 73 20 4c 69 63 65 6e 73 65 2c 20 61 6e 64 20 69 74 73 20 ves,.then.this.License,.and.its.
42200 74 65 72 6d 73 2c 20 64 6f 20 6e 6f 74 20 61 70 70 6c 79 20 74 6f 20 74 68 6f 73 65 0a 73 65 63 terms,.do.not.apply.to.those.sec
42220 74 69 6f 6e 73 20 77 68 65 6e 20 79 6f 75 20 64 69 73 74 72 69 62 75 74 65 20 74 68 65 6d 20 61 tions.when.you.distribute.them.a
42240 73 20 73 65 70 61 72 61 74 65 20 77 6f 72 6b 73 2e 20 20 42 75 74 20 77 68 65 6e 20 79 6f 75 0a s.separate.works...But.when.you.
42260 64 69 73 74 72 69 62 75 74 65 20 74 68 65 20 73 61 6d 65 20 73 65 63 74 69 6f 6e 73 20 61 73 20 distribute.the.same.sections.as.
42280 70 61 72 74 20 6f 66 20 61 20 77 68 6f 6c 65 20 77 68 69 63 68 20 69 73 20 61 20 77 6f 72 6b 20 part.of.a.whole.which.is.a.work.
422a0 62 61 73 65 64 0a 6f 6e 20 74 68 65 20 50 72 6f 67 72 61 6d 2c 20 74 68 65 20 64 69 73 74 72 69 based.on.the.Program,.the.distri
422c0 62 75 74 69 6f 6e 20 6f 66 20 74 68 65 20 77 68 6f 6c 65 20 6d 75 73 74 20 62 65 20 6f 6e 20 74 bution.of.the.whole.must.be.on.t
422e0 68 65 20 74 65 72 6d 73 20 6f 66 0a 74 68 69 73 20 4c 69 63 65 6e 73 65 2c 20 77 68 6f 73 65 20 he.terms.of.this.License,.whose.
42300 70 65 72 6d 69 73 73 69 6f 6e 73 20 66 6f 72 20 6f 74 68 65 72 20 6c 69 63 65 6e 73 65 65 73 20 permissions.for.other.licensees.
42320 65 78 74 65 6e 64 20 74 6f 20 74 68 65 0a 65 6e 74 69 72 65 20 77 68 6f 6c 65 2c 20 61 6e 64 20 extend.to.the.entire.whole,.and.
42340 74 68 75 73 20 74 6f 20 65 61 63 68 20 61 6e 64 20 65 76 65 72 79 20 70 61 72 74 20 72 65 67 61 thus.to.each.and.every.part.rega
42360 72 64 6c 65 73 73 20 6f 66 20 77 68 6f 20 77 72 6f 74 65 20 69 74 2e 0a 0a 54 68 75 73 2c 20 69 rdless.of.who.wrote.it...Thus,.i
42380 74 20 69 73 20 6e 6f 74 20 74 68 65 20 69 6e 74 65 6e 74 20 6f 66 20 74 68 69 73 20 73 65 63 74 t.is.not.the.intent.of.this.sect
423a0 69 6f 6e 20 74 6f 20 63 6c 61 69 6d 20 72 69 67 68 74 73 20 6f 72 20 63 6f 6e 74 65 73 74 0a 79 ion.to.claim.rights.or.contest.y
423c0 6f 75 72 20 72 69 67 68 74 73 20 74 6f 20 77 6f 72 6b 20 77 72 69 74 74 65 6e 20 65 6e 74 69 72 our.rights.to.work.written.entir
423e0 65 6c 79 20 62 79 20 79 6f 75 3b 20 72 61 74 68 65 72 2c 20 74 68 65 20 69 6e 74 65 6e 74 20 69 ely.by.you;.rather,.the.intent.i
42400 73 20 74 6f 0a 65 78 65 72 63 69 73 65 20 74 68 65 20 72 69 67 68 74 20 74 6f 20 63 6f 6e 74 72 s.to.exercise.the.right.to.contr
42420 6f 6c 20 74 68 65 20 64 69 73 74 72 69 62 75 74 69 6f 6e 20 6f 66 20 64 65 72 69 76 61 74 69 76 ol.the.distribution.of.derivativ
42440 65 20 6f 72 0a 63 6f 6c 6c 65 63 74 69 76 65 20 77 6f 72 6b 73 20 62 61 73 65 64 20 6f 6e 20 74 e.or.collective.works.based.on.t
42460 68 65 20 50 72 6f 67 72 61 6d 2e 0a 0a 49 6e 20 61 64 64 69 74 69 6f 6e 2c 20 6d 65 72 65 20 61 he.Program...In.addition,.mere.a
42480 67 67 72 65 67 61 74 69 6f 6e 20 6f 66 20 61 6e 6f 74 68 65 72 20 77 6f 72 6b 20 6e 6f 74 20 62 ggregation.of.another.work.not.b
424a0 61 73 65 64 20 6f 6e 20 74 68 65 20 50 72 6f 67 72 61 6d 0a 77 69 74 68 20 74 68 65 20 50 72 6f ased.on.the.Program.with.the.Pro
424c0 67 72 61 6d 20 28 6f 72 20 77 69 74 68 20 61 20 77 6f 72 6b 20 62 61 73 65 64 20 6f 6e 20 74 68 gram.(or.with.a.work.based.on.th
424e0 65 20 50 72 6f 67 72 61 6d 29 20 6f 6e 20 61 20 76 6f 6c 75 6d 65 20 6f 66 0a 61 20 73 74 6f 72 e.Program).on.a.volume.of.a.stor
42500 61 67 65 20 6f 72 20 64 69 73 74 72 69 62 75 74 69 6f 6e 20 6d 65 64 69 75 6d 20 64 6f 65 73 20 age.or.distribution.medium.does.
42520 6e 6f 74 20 62 72 69 6e 67 20 74 68 65 20 6f 74 68 65 72 20 77 6f 72 6b 20 75 6e 64 65 72 0a 74 not.bring.the.other.work.under.t
42540 68 65 20 73 63 6f 70 65 20 6f 66 20 74 68 69 73 20 4c 69 63 65 6e 73 65 2e 0a 0a 20 20 33 2e 20 he.scope.of.this.License.....3..
42560 59 6f 75 20 6d 61 79 20 63 6f 70 79 20 61 6e 64 20 64 69 73 74 72 69 62 75 74 65 20 74 68 65 20 You.may.copy.and.distribute.the.
42580 50 72 6f 67 72 61 6d 20 28 6f 72 20 61 20 77 6f 72 6b 20 62 61 73 65 64 20 6f 6e 20 69 74 2c 0a Program.(or.a.work.based.on.it,.
425a0 75 6e 64 65 72 20 53 65 63 74 69 6f 6e 20 32 29 20 69 6e 20 6f 62 6a 65 63 74 20 63 6f 64 65 20 under.Section.2).in.object.code.
425c0 6f 72 20 65 78 65 63 75 74 61 62 6c 65 20 66 6f 72 6d 20 75 6e 64 65 72 20 74 68 65 20 74 65 72 or.executable.form.under.the.ter
425e0 6d 73 20 6f 66 0a 53 65 63 74 69 6f 6e 73 20 31 20 61 6e 64 20 32 20 61 62 6f 76 65 20 70 72 6f ms.of.Sections.1.and.2.above.pro
42600 76 69 64 65 64 20 74 68 61 74 20 79 6f 75 20 61 6c 73 6f 20 64 6f 20 6f 6e 65 20 6f 66 20 74 68 vided.that.you.also.do.one.of.th
42620 65 20 66 6f 6c 6c 6f 77 69 6e 67 3a 0a 0a 20 20 20 20 61 29 20 41 63 63 6f 6d 70 61 6e 79 20 69 e.following:......a).Accompany.i
42640 74 20 77 69 74 68 20 74 68 65 20 63 6f 6d 70 6c 65 74 65 20 63 6f 72 72 65 73 70 6f 6e 64 69 6e t.with.the.complete.correspondin
42660 67 20 6d 61 63 68 69 6e 65 2d 72 65 61 64 61 62 6c 65 0a 20 20 20 20 73 6f 75 72 63 65 20 63 6f g.machine-readable.....source.co
42680 64 65 2c 20 77 68 69 63 68 20 6d 75 73 74 20 62 65 20 64 69 73 74 72 69 62 75 74 65 64 20 75 6e de,.which.must.be.distributed.un
426a0 64 65 72 20 74 68 65 20 74 65 72 6d 73 20 6f 66 20 53 65 63 74 69 6f 6e 73 0a 20 20 20 20 31 20 der.the.terms.of.Sections.....1.
426c0 61 6e 64 20 32 20 61 62 6f 76 65 20 6f 6e 20 61 20 6d 65 64 69 75 6d 20 63 75 73 74 6f 6d 61 72 and.2.above.on.a.medium.customar
426e0 69 6c 79 20 75 73 65 64 20 66 6f 72 20 73 6f 66 74 77 61 72 65 20 69 6e 74 65 72 63 68 61 6e 67 ily.used.for.software.interchang
42700 65 3b 20 6f 72 2c 0a 0a 20 20 20 20 62 29 20 41 63 63 6f 6d 70 61 6e 79 20 69 74 20 77 69 74 68 e;.or,......b).Accompany.it.with
42720 20 61 20 77 72 69 74 74 65 6e 20 6f 66 66 65 72 2c 20 76 61 6c 69 64 20 66 6f 72 20 61 74 20 6c .a.written.offer,.valid.for.at.l
42740 65 61 73 74 20 74 68 72 65 65 0a 20 20 20 20 79 65 61 72 73 2c 20 74 6f 20 67 69 76 65 20 61 6e east.three.....years,.to.give.an
42760 79 20 74 68 69 72 64 20 70 61 72 74 79 2c 20 66 6f 72 20 61 20 63 68 61 72 67 65 20 6e 6f 20 6d y.third.party,.for.a.charge.no.m
42780 6f 72 65 20 74 68 61 6e 20 79 6f 75 72 0a 20 20 20 20 63 6f 73 74 20 6f 66 20 70 68 79 73 69 63 ore.than.your.....cost.of.physic
427a0 61 6c 6c 79 20 70 65 72 66 6f 72 6d 69 6e 67 20 73 6f 75 72 63 65 20 64 69 73 74 72 69 62 75 74 ally.performing.source.distribut
427c0 69 6f 6e 2c 20 61 20 63 6f 6d 70 6c 65 74 65 0a 20 20 20 20 6d 61 63 68 69 6e 65 2d 72 65 61 64 ion,.a.complete.....machine-read
427e0 61 62 6c 65 20 63 6f 70 79 20 6f 66 20 74 68 65 20 63 6f 72 72 65 73 70 6f 6e 64 69 6e 67 20 73 able.copy.of.the.corresponding.s
42800 6f 75 72 63 65 20 63 6f 64 65 2c 20 74 6f 20 62 65 0a 20 20 20 20 64 69 73 74 72 69 62 75 74 65 ource.code,.to.be.....distribute
42820 64 20 75 6e 64 65 72 20 74 68 65 20 74 65 72 6d 73 20 6f 66 20 53 65 63 74 69 6f 6e 73 20 31 20 d.under.the.terms.of.Sections.1.
42840 61 6e 64 20 32 20 61 62 6f 76 65 20 6f 6e 20 61 20 6d 65 64 69 75 6d 0a 20 20 20 20 63 75 73 74 and.2.above.on.a.medium.....cust
42860 6f 6d 61 72 69 6c 79 20 75 73 65 64 20 66 6f 72 20 73 6f 66 74 77 61 72 65 20 69 6e 74 65 72 63 omarily.used.for.software.interc
42880 68 61 6e 67 65 3b 20 6f 72 2c 0a 0a 20 20 20 20 63 29 20 41 63 63 6f 6d 70 61 6e 79 20 69 74 20 hange;.or,......c).Accompany.it.
428a0 77 69 74 68 20 74 68 65 20 69 6e 66 6f 72 6d 61 74 69 6f 6e 20 79 6f 75 20 72 65 63 65 69 76 65 with.the.information.you.receive
428c0 64 20 61 73 20 74 6f 20 74 68 65 20 6f 66 66 65 72 0a 20 20 20 20 74 6f 20 64 69 73 74 72 69 62 d.as.to.the.offer.....to.distrib
428e0 75 74 65 20 63 6f 72 72 65 73 70 6f 6e 64 69 6e 67 20 73 6f 75 72 63 65 20 63 6f 64 65 2e 20 20 ute.corresponding.source.code...
42900 28 54 68 69 73 20 61 6c 74 65 72 6e 61 74 69 76 65 20 69 73 0a 20 20 20 20 61 6c 6c 6f 77 65 64 (This.alternative.is.....allowed
42920 20 6f 6e 6c 79 20 66 6f 72 20 6e 6f 6e 63 6f 6d 6d 65 72 63 69 61 6c 20 64 69 73 74 72 69 62 75 .only.for.noncommercial.distribu
42940 74 69 6f 6e 20 61 6e 64 20 6f 6e 6c 79 20 69 66 20 79 6f 75 0a 20 20 20 20 72 65 63 65 69 76 65 tion.and.only.if.you.....receive
42960 64 20 74 68 65 20 70 72 6f 67 72 61 6d 20 69 6e 20 6f 62 6a 65 63 74 20 63 6f 64 65 20 6f 72 20 d.the.program.in.object.code.or.
42980 65 78 65 63 75 74 61 62 6c 65 20 66 6f 72 6d 20 77 69 74 68 20 73 75 63 68 0a 20 20 20 20 61 6e executable.form.with.such.....an
429a0 20 6f 66 66 65 72 2c 20 69 6e 20 61 63 63 6f 72 64 20 77 69 74 68 20 53 75 62 73 65 63 74 69 6f .offer,.in.accord.with.Subsectio
429c0 6e 20 62 20 61 62 6f 76 65 2e 29 0a 0a 54 68 65 20 73 6f 75 72 63 65 20 63 6f 64 65 20 66 6f 72 n.b.above.)..The.source.code.for
429e0 20 61 20 77 6f 72 6b 20 6d 65 61 6e 73 20 74 68 65 20 70 72 65 66 65 72 72 65 64 20 66 6f 72 6d .a.work.means.the.preferred.form
42a00 20 6f 66 20 74 68 65 20 77 6f 72 6b 20 66 6f 72 0a 6d 61 6b 69 6e 67 20 6d 6f 64 69 66 69 63 61 .of.the.work.for.making.modifica
42a20 74 69 6f 6e 73 20 74 6f 20 69 74 2e 20 20 46 6f 72 20 61 6e 20 65 78 65 63 75 74 61 62 6c 65 20 tions.to.it...For.an.executable.
42a40 77 6f 72 6b 2c 20 63 6f 6d 70 6c 65 74 65 20 73 6f 75 72 63 65 0a 63 6f 64 65 20 6d 65 61 6e 73 work,.complete.source.code.means
42a60 20 61 6c 6c 20 74 68 65 20 73 6f 75 72 63 65 20 63 6f 64 65 20 66 6f 72 20 61 6c 6c 20 6d 6f 64 .all.the.source.code.for.all.mod
42a80 75 6c 65 73 20 69 74 20 63 6f 6e 74 61 69 6e 73 2c 20 70 6c 75 73 20 61 6e 79 0a 61 73 73 6f 63 ules.it.contains,.plus.any.assoc
42aa0 69 61 74 65 64 20 69 6e 74 65 72 66 61 63 65 20 64 65 66 69 6e 69 74 69 6f 6e 20 66 69 6c 65 73 iated.interface.definition.files
42ac0 2c 20 70 6c 75 73 20 74 68 65 20 73 63 72 69 70 74 73 20 75 73 65 64 20 74 6f 0a 63 6f 6e 74 72 ,.plus.the.scripts.used.to.contr
42ae0 6f 6c 20 63 6f 6d 70 69 6c 61 74 69 6f 6e 20 61 6e 64 20 69 6e 73 74 61 6c 6c 61 74 69 6f 6e 20 ol.compilation.and.installation.
42b00 6f 66 20 74 68 65 20 65 78 65 63 75 74 61 62 6c 65 2e 20 20 48 6f 77 65 76 65 72 2c 20 61 73 20 of.the.executable...However,.as.
42b20 61 0a 73 70 65 63 69 61 6c 20 65 78 63 65 70 74 69 6f 6e 2c 20 74 68 65 20 73 6f 75 72 63 65 20 a.special.exception,.the.source.
42b40 63 6f 64 65 20 64 69 73 74 72 69 62 75 74 65 64 20 6e 65 65 64 20 6e 6f 74 20 69 6e 63 6c 75 64 code.distributed.need.not.includ
42b60 65 0a 61 6e 79 74 68 69 6e 67 20 74 68 61 74 20 69 73 20 6e 6f 72 6d 61 6c 6c 79 20 64 69 73 74 e.anything.that.is.normally.dist
42b80 72 69 62 75 74 65 64 20 28 69 6e 20 65 69 74 68 65 72 20 73 6f 75 72 63 65 20 6f 72 20 62 69 6e ributed.(in.either.source.or.bin
42ba0 61 72 79 0a 66 6f 72 6d 29 20 77 69 74 68 20 74 68 65 20 6d 61 6a 6f 72 20 63 6f 6d 70 6f 6e 65 ary.form).with.the.major.compone
42bc0 6e 74 73 20 28 63 6f 6d 70 69 6c 65 72 2c 20 6b 65 72 6e 65 6c 2c 20 61 6e 64 20 73 6f 20 6f 6e nts.(compiler,.kernel,.and.so.on
42be0 29 20 6f 66 20 74 68 65 0a 6f 70 65 72 61 74 69 6e 67 20 73 79 73 74 65 6d 20 6f 6e 20 77 68 69 ).of.the.operating.system.on.whi
42c00 63 68 20 74 68 65 20 65 78 65 63 75 74 61 62 6c 65 20 72 75 6e 73 2c 20 75 6e 6c 65 73 73 20 74 ch.the.executable.runs,.unless.t
42c20 68 61 74 20 63 6f 6d 70 6f 6e 65 6e 74 0a 69 74 73 65 6c 66 20 61 63 63 6f 6d 70 61 6e 69 65 73 hat.component.itself.accompanies
42c40 20 74 68 65 20 65 78 65 63 75 74 61 62 6c 65 2e 0a 0a 49 66 20 64 69 73 74 72 69 62 75 74 69 6f .the.executable...If.distributio
42c60 6e 20 6f 66 20 65 78 65 63 75 74 61 62 6c 65 20 6f 72 20 6f 62 6a 65 63 74 20 63 6f 64 65 20 69 n.of.executable.or.object.code.i
42c80 73 20 6d 61 64 65 20 62 79 20 6f 66 66 65 72 69 6e 67 0a 61 63 63 65 73 73 20 74 6f 20 63 6f 70 s.made.by.offering.access.to.cop
42ca0 79 20 66 72 6f 6d 20 61 20 64 65 73 69 67 6e 61 74 65 64 20 70 6c 61 63 65 2c 20 74 68 65 6e 20 y.from.a.designated.place,.then.
42cc0 6f 66 66 65 72 69 6e 67 20 65 71 75 69 76 61 6c 65 6e 74 0a 61 63 63 65 73 73 20 74 6f 20 63 6f offering.equivalent.access.to.co
42ce0 70 79 20 74 68 65 20 73 6f 75 72 63 65 20 63 6f 64 65 20 66 72 6f 6d 20 74 68 65 20 73 61 6d 65 py.the.source.code.from.the.same
42d00 20 70 6c 61 63 65 20 63 6f 75 6e 74 73 20 61 73 0a 64 69 73 74 72 69 62 75 74 69 6f 6e 20 6f 66 .place.counts.as.distribution.of
42d20 20 74 68 65 20 73 6f 75 72 63 65 20 63 6f 64 65 2c 20 65 76 65 6e 20 74 68 6f 75 67 68 20 74 68 .the.source.code,.even.though.th
42d40 69 72 64 20 70 61 72 74 69 65 73 20 61 72 65 20 6e 6f 74 0a 63 6f 6d 70 65 6c 6c 65 64 20 74 6f ird.parties.are.not.compelled.to
42d60 20 63 6f 70 79 20 74 68 65 20 73 6f 75 72 63 65 20 61 6c 6f 6e 67 20 77 69 74 68 20 74 68 65 20 .copy.the.source.along.with.the.
42d80 6f 62 6a 65 63 74 20 63 6f 64 65 2e 0a 0a 20 20 34 2e 20 59 6f 75 20 6d 61 79 20 6e 6f 74 20 63 object.code.....4..You.may.not.c
42da0 6f 70 79 2c 20 6d 6f 64 69 66 79 2c 20 73 75 62 6c 69 63 65 6e 73 65 2c 20 6f 72 20 64 69 73 74 opy,.modify,.sublicense,.or.dist
42dc0 72 69 62 75 74 65 20 74 68 65 20 50 72 6f 67 72 61 6d 0a 65 78 63 65 70 74 20 61 73 20 65 78 70 ribute.the.Program.except.as.exp
42de0 72 65 73 73 6c 79 20 70 72 6f 76 69 64 65 64 20 75 6e 64 65 72 20 74 68 69 73 20 4c 69 63 65 6e ressly.provided.under.this.Licen
42e00 73 65 2e 20 20 41 6e 79 20 61 74 74 65 6d 70 74 0a 6f 74 68 65 72 77 69 73 65 20 74 6f 20 63 6f se...Any.attempt.otherwise.to.co
42e20 70 79 2c 20 6d 6f 64 69 66 79 2c 20 73 75 62 6c 69 63 65 6e 73 65 20 6f 72 20 64 69 73 74 72 69 py,.modify,.sublicense.or.distri
42e40 62 75 74 65 20 74 68 65 20 50 72 6f 67 72 61 6d 20 69 73 0a 76 6f 69 64 2c 20 61 6e 64 20 77 69 bute.the.Program.is.void,.and.wi
42e60 6c 6c 20 61 75 74 6f 6d 61 74 69 63 61 6c 6c 79 20 74 65 72 6d 69 6e 61 74 65 20 79 6f 75 72 20 ll.automatically.terminate.your.
42e80 72 69 67 68 74 73 20 75 6e 64 65 72 20 74 68 69 73 20 4c 69 63 65 6e 73 65 2e 0a 48 6f 77 65 76 rights.under.this.License..Howev
42ea0 65 72 2c 20 70 61 72 74 69 65 73 20 77 68 6f 20 68 61 76 65 20 72 65 63 65 69 76 65 64 20 63 6f er,.parties.who.have.received.co
42ec0 70 69 65 73 2c 20 6f 72 20 72 69 67 68 74 73 2c 20 66 72 6f 6d 20 79 6f 75 20 75 6e 64 65 72 0a pies,.or.rights,.from.you.under.
42ee0 74 68 69 73 20 4c 69 63 65 6e 73 65 20 77 69 6c 6c 20 6e 6f 74 20 68 61 76 65 20 74 68 65 69 72 this.License.will.not.have.their
42f00 20 6c 69 63 65 6e 73 65 73 20 74 65 72 6d 69 6e 61 74 65 64 20 73 6f 20 6c 6f 6e 67 20 61 73 20 .licenses.terminated.so.long.as.
42f20 73 75 63 68 0a 70 61 72 74 69 65 73 20 72 65 6d 61 69 6e 20 69 6e 20 66 75 6c 6c 20 63 6f 6d 70 such.parties.remain.in.full.comp
42f40 6c 69 61 6e 63 65 2e 0a 0a 20 20 35 2e 20 59 6f 75 20 61 72 65 20 6e 6f 74 20 72 65 71 75 69 72 liance.....5..You.are.not.requir
42f60 65 64 20 74 6f 20 61 63 63 65 70 74 20 74 68 69 73 20 4c 69 63 65 6e 73 65 2c 20 73 69 6e 63 65 ed.to.accept.this.License,.since
42f80 20 79 6f 75 20 68 61 76 65 20 6e 6f 74 0a 73 69 67 6e 65 64 20 69 74 2e 20 20 48 6f 77 65 76 65 .you.have.not.signed.it...Howeve
42fa0 72 2c 20 6e 6f 74 68 69 6e 67 20 65 6c 73 65 20 67 72 61 6e 74 73 20 79 6f 75 20 70 65 72 6d 69 r,.nothing.else.grants.you.permi
42fc0 73 73 69 6f 6e 20 74 6f 20 6d 6f 64 69 66 79 20 6f 72 0a 64 69 73 74 72 69 62 75 74 65 20 74 68 ssion.to.modify.or.distribute.th
42fe0 65 20 50 72 6f 67 72 61 6d 20 6f 72 20 69 74 73 20 64 65 72 69 76 61 74 69 76 65 20 77 6f 72 6b e.Program.or.its.derivative.work
43000 73 2e 20 20 54 68 65 73 65 20 61 63 74 69 6f 6e 73 20 61 72 65 0a 70 72 6f 68 69 62 69 74 65 64 s...These.actions.are.prohibited
43020 20 62 79 20 6c 61 77 20 69 66 20 79 6f 75 20 64 6f 20 6e 6f 74 20 61 63 63 65 70 74 20 74 68 69 .by.law.if.you.do.not.accept.thi
43040 73 20 4c 69 63 65 6e 73 65 2e 20 20 54 68 65 72 65 66 6f 72 65 2c 20 62 79 0a 6d 6f 64 69 66 79 s.License...Therefore,.by.modify
43060 69 6e 67 20 6f 72 20 64 69 73 74 72 69 62 75 74 69 6e 67 20 74 68 65 20 50 72 6f 67 72 61 6d 20 ing.or.distributing.the.Program.
43080 28 6f 72 20 61 6e 79 20 77 6f 72 6b 20 62 61 73 65 64 20 6f 6e 20 74 68 65 0a 50 72 6f 67 72 61 (or.any.work.based.on.the.Progra
430a0 6d 29 2c 20 79 6f 75 20 69 6e 64 69 63 61 74 65 20 79 6f 75 72 20 61 63 63 65 70 74 61 6e 63 65 m),.you.indicate.your.acceptance
430c0 20 6f 66 20 74 68 69 73 20 4c 69 63 65 6e 73 65 20 74 6f 20 64 6f 20 73 6f 2c 20 61 6e 64 0a 61 .of.this.License.to.do.so,.and.a
430e0 6c 6c 20 69 74 73 20 74 65 72 6d 73 20 61 6e 64 20 63 6f 6e 64 69 74 69 6f 6e 73 20 66 6f 72 20 ll.its.terms.and.conditions.for.
43100 63 6f 70 79 69 6e 67 2c 20 64 69 73 74 72 69 62 75 74 69 6e 67 20 6f 72 20 6d 6f 64 69 66 79 69 copying,.distributing.or.modifyi
43120 6e 67 0a 74 68 65 20 50 72 6f 67 72 61 6d 20 6f 72 20 77 6f 72 6b 73 20 62 61 73 65 64 20 6f 6e ng.the.Program.or.works.based.on
43140 20 69 74 2e 0a 0a 20 20 36 2e 20 45 61 63 68 20 74 69 6d 65 20 79 6f 75 20 72 65 64 69 73 74 72 .it.....6..Each.time.you.redistr
43160 69 62 75 74 65 20 74 68 65 20 50 72 6f 67 72 61 6d 20 28 6f 72 20 61 6e 79 20 77 6f 72 6b 20 62 ibute.the.Program.(or.any.work.b
43180 61 73 65 64 20 6f 6e 20 74 68 65 0a 50 72 6f 67 72 61 6d 29 2c 20 74 68 65 20 72 65 63 69 70 69 ased.on.the.Program),.the.recipi
431a0 65 6e 74 20 61 75 74 6f 6d 61 74 69 63 61 6c 6c 79 20 72 65 63 65 69 76 65 73 20 61 20 6c 69 63 ent.automatically.receives.a.lic
431c0 65 6e 73 65 20 66 72 6f 6d 20 74 68 65 0a 6f 72 69 67 69 6e 61 6c 20 6c 69 63 65 6e 73 6f 72 20 ense.from.the.original.licensor.
431e0 74 6f 20 63 6f 70 79 2c 20 64 69 73 74 72 69 62 75 74 65 20 6f 72 20 6d 6f 64 69 66 79 20 74 68 to.copy,.distribute.or.modify.th
43200 65 20 50 72 6f 67 72 61 6d 20 73 75 62 6a 65 63 74 20 74 6f 0a 74 68 65 73 65 20 74 65 72 6d 73 e.Program.subject.to.these.terms
43220 20 61 6e 64 20 63 6f 6e 64 69 74 69 6f 6e 73 2e 20 20 59 6f 75 20 6d 61 79 20 6e 6f 74 20 69 6d .and.conditions...You.may.not.im
43240 70 6f 73 65 20 61 6e 79 20 66 75 72 74 68 65 72 0a 72 65 73 74 72 69 63 74 69 6f 6e 73 20 6f 6e pose.any.further.restrictions.on
43260 20 74 68 65 20 72 65 63 69 70 69 65 6e 74 73 27 20 65 78 65 72 63 69 73 65 20 6f 66 20 74 68 65 .the.recipients'.exercise.of.the
43280 20 72 69 67 68 74 73 20 67 72 61 6e 74 65 64 20 68 65 72 65 69 6e 2e 0a 59 6f 75 20 61 72 65 20 .rights.granted.herein..You.are.
432a0 6e 6f 74 20 72 65 73 70 6f 6e 73 69 62 6c 65 20 66 6f 72 20 65 6e 66 6f 72 63 69 6e 67 20 63 6f not.responsible.for.enforcing.co
432c0 6d 70 6c 69 61 6e 63 65 20 62 79 20 74 68 69 72 64 20 70 61 72 74 69 65 73 20 74 6f 0a 74 68 69 mpliance.by.third.parties.to.thi
432e0 73 20 4c 69 63 65 6e 73 65 2e 0a 0a 20 20 37 2e 20 49 66 2c 20 61 73 20 61 20 63 6f 6e 73 65 71 s.License.....7..If,.as.a.conseq
43300 75 65 6e 63 65 20 6f 66 20 61 20 63 6f 75 72 74 20 6a 75 64 67 6d 65 6e 74 20 6f 72 20 61 6c 6c uence.of.a.court.judgment.or.all
43320 65 67 61 74 69 6f 6e 20 6f 66 20 70 61 74 65 6e 74 0a 69 6e 66 72 69 6e 67 65 6d 65 6e 74 20 6f egation.of.patent.infringement.o
43340 72 20 66 6f 72 20 61 6e 79 20 6f 74 68 65 72 20 72 65 61 73 6f 6e 20 28 6e 6f 74 20 6c 69 6d 69 r.for.any.other.reason.(not.limi
43360 74 65 64 20 74 6f 20 70 61 74 65 6e 74 20 69 73 73 75 65 73 29 2c 0a 63 6f 6e 64 69 74 69 6f 6e ted.to.patent.issues),.condition
43380 73 20 61 72 65 20 69 6d 70 6f 73 65 64 20 6f 6e 20 79 6f 75 20 28 77 68 65 74 68 65 72 20 62 79 s.are.imposed.on.you.(whether.by
433a0 20 63 6f 75 72 74 20 6f 72 64 65 72 2c 20 61 67 72 65 65 6d 65 6e 74 20 6f 72 0a 6f 74 68 65 72 .court.order,.agreement.or.other
433c0 77 69 73 65 29 20 74 68 61 74 20 63 6f 6e 74 72 61 64 69 63 74 20 74 68 65 20 63 6f 6e 64 69 74 wise).that.contradict.the.condit
433e0 69 6f 6e 73 20 6f 66 20 74 68 69 73 20 4c 69 63 65 6e 73 65 2c 20 74 68 65 79 20 64 6f 20 6e 6f ions.of.this.License,.they.do.no
43400 74 0a 65 78 63 75 73 65 20 79 6f 75 20 66 72 6f 6d 20 74 68 65 20 63 6f 6e 64 69 74 69 6f 6e 73 t.excuse.you.from.the.conditions
43420 20 6f 66 20 74 68 69 73 20 4c 69 63 65 6e 73 65 2e 20 20 49 66 20 79 6f 75 20 63 61 6e 6e 6f 74 .of.this.License...If.you.cannot
43440 0a 64 69 73 74 72 69 62 75 74 65 20 73 6f 20 61 73 20 74 6f 20 73 61 74 69 73 66 79 20 73 69 6d .distribute.so.as.to.satisfy.sim
43460 75 6c 74 61 6e 65 6f 75 73 6c 79 20 79 6f 75 72 20 6f 62 6c 69 67 61 74 69 6f 6e 73 20 75 6e 64 ultaneously.your.obligations.und
43480 65 72 20 74 68 69 73 0a 4c 69 63 65 6e 73 65 20 61 6e 64 20 61 6e 79 20 6f 74 68 65 72 20 70 65 er.this.License.and.any.other.pe
434a0 72 74 69 6e 65 6e 74 20 6f 62 6c 69 67 61 74 69 6f 6e 73 2c 20 74 68 65 6e 20 61 73 20 61 20 63 rtinent.obligations,.then.as.a.c
434c0 6f 6e 73 65 71 75 65 6e 63 65 20 79 6f 75 0a 6d 61 79 20 6e 6f 74 20 64 69 73 74 72 69 62 75 74 onsequence.you.may.not.distribut
434e0 65 20 74 68 65 20 50 72 6f 67 72 61 6d 20 61 74 20 61 6c 6c 2e 20 20 46 6f 72 20 65 78 61 6d 70 e.the.Program.at.all...For.examp
43500 6c 65 2c 20 69 66 20 61 20 70 61 74 65 6e 74 0a 6c 69 63 65 6e 73 65 20 77 6f 75 6c 64 20 6e 6f le,.if.a.patent.license.would.no
43520 74 20 70 65 72 6d 69 74 20 72 6f 79 61 6c 74 79 2d 66 72 65 65 20 72 65 64 69 73 74 72 69 62 75 t.permit.royalty-free.redistribu
43540 74 69 6f 6e 20 6f 66 20 74 68 65 20 50 72 6f 67 72 61 6d 20 62 79 0a 61 6c 6c 20 74 68 6f 73 65 tion.of.the.Program.by.all.those
43560 20 77 68 6f 20 72 65 63 65 69 76 65 20 63 6f 70 69 65 73 20 64 69 72 65 63 74 6c 79 20 6f 72 20 .who.receive.copies.directly.or.
43580 69 6e 64 69 72 65 63 74 6c 79 20 74 68 72 6f 75 67 68 20 79 6f 75 2c 20 74 68 65 6e 0a 74 68 65 indirectly.through.you,.then.the
435a0 20 6f 6e 6c 79 20 77 61 79 20 79 6f 75 20 63 6f 75 6c 64 20 73 61 74 69 73 66 79 20 62 6f 74 68 .only.way.you.could.satisfy.both
435c0 20 69 74 20 61 6e 64 20 74 68 69 73 20 4c 69 63 65 6e 73 65 20 77 6f 75 6c 64 20 62 65 20 74 6f .it.and.this.License.would.be.to
435e0 0a 72 65 66 72 61 69 6e 20 65 6e 74 69 72 65 6c 79 20 66 72 6f 6d 20 64 69 73 74 72 69 62 75 74 .refrain.entirely.from.distribut
43600 69 6f 6e 20 6f 66 20 74 68 65 20 50 72 6f 67 72 61 6d 2e 0a 0a 49 66 20 61 6e 79 20 70 6f 72 74 ion.of.the.Program...If.any.port
43620 69 6f 6e 20 6f 66 20 74 68 69 73 20 73 65 63 74 69 6f 6e 20 69 73 20 68 65 6c 64 20 69 6e 76 61 ion.of.this.section.is.held.inva
43640 6c 69 64 20 6f 72 20 75 6e 65 6e 66 6f 72 63 65 61 62 6c 65 20 75 6e 64 65 72 0a 61 6e 79 20 70 lid.or.unenforceable.under.any.p
43660 61 72 74 69 63 75 6c 61 72 20 63 69 72 63 75 6d 73 74 61 6e 63 65 2c 20 74 68 65 20 62 61 6c 61 articular.circumstance,.the.bala
43680 6e 63 65 20 6f 66 20 74 68 65 20 73 65 63 74 69 6f 6e 20 69 73 20 69 6e 74 65 6e 64 65 64 20 74 nce.of.the.section.is.intended.t
436a0 6f 0a 61 70 70 6c 79 20 61 6e 64 20 74 68 65 20 73 65 63 74 69 6f 6e 20 61 73 20 61 20 77 68 6f o.apply.and.the.section.as.a.who
436c0 6c 65 20 69 73 20 69 6e 74 65 6e 64 65 64 20 74 6f 20 61 70 70 6c 79 20 69 6e 20 6f 74 68 65 72 le.is.intended.to.apply.in.other
436e0 0a 63 69 72 63 75 6d 73 74 61 6e 63 65 73 2e 0a 0a 49 74 20 69 73 20 6e 6f 74 20 74 68 65 20 70 .circumstances...It.is.not.the.p
43700 75 72 70 6f 73 65 20 6f 66 20 74 68 69 73 20 73 65 63 74 69 6f 6e 20 74 6f 20 69 6e 64 75 63 65 urpose.of.this.section.to.induce
43720 20 79 6f 75 20 74 6f 20 69 6e 66 72 69 6e 67 65 20 61 6e 79 0a 70 61 74 65 6e 74 73 20 6f 72 20 .you.to.infringe.any.patents.or.
43740 6f 74 68 65 72 20 70 72 6f 70 65 72 74 79 20 72 69 67 68 74 20 63 6c 61 69 6d 73 20 6f 72 20 74 other.property.right.claims.or.t
43760 6f 20 63 6f 6e 74 65 73 74 20 76 61 6c 69 64 69 74 79 20 6f 66 20 61 6e 79 0a 73 75 63 68 20 63 o.contest.validity.of.any.such.c
43780 6c 61 69 6d 73 3b 20 74 68 69 73 20 73 65 63 74 69 6f 6e 20 68 61 73 20 74 68 65 20 73 6f 6c 65 laims;.this.section.has.the.sole
437a0 20 70 75 72 70 6f 73 65 20 6f 66 20 70 72 6f 74 65 63 74 69 6e 67 20 74 68 65 0a 69 6e 74 65 67 .purpose.of.protecting.the.integ
437c0 72 69 74 79 20 6f 66 20 74 68 65 20 66 72 65 65 20 73 6f 66 74 77 61 72 65 20 64 69 73 74 72 69 rity.of.the.free.software.distri
437e0 62 75 74 69 6f 6e 20 73 79 73 74 65 6d 2c 20 77 68 69 63 68 20 69 73 0a 69 6d 70 6c 65 6d 65 6e bution.system,.which.is.implemen
43800 74 65 64 20 62 79 20 70 75 62 6c 69 63 20 6c 69 63 65 6e 73 65 20 70 72 61 63 74 69 63 65 73 2e ted.by.public.license.practices.
43820 20 20 4d 61 6e 79 20 70 65 6f 70 6c 65 20 68 61 76 65 20 6d 61 64 65 0a 67 65 6e 65 72 6f 75 73 ..Many.people.have.made.generous
43840 20 63 6f 6e 74 72 69 62 75 74 69 6f 6e 73 20 74 6f 20 74 68 65 20 77 69 64 65 20 72 61 6e 67 65 .contributions.to.the.wide.range
43860 20 6f 66 20 73 6f 66 74 77 61 72 65 20 64 69 73 74 72 69 62 75 74 65 64 0a 74 68 72 6f 75 67 68 .of.software.distributed.through
43880 20 74 68 61 74 20 73 79 73 74 65 6d 20 69 6e 20 72 65 6c 69 61 6e 63 65 20 6f 6e 20 63 6f 6e 73 .that.system.in.reliance.on.cons
438a0 69 73 74 65 6e 74 20 61 70 70 6c 69 63 61 74 69 6f 6e 20 6f 66 20 74 68 61 74 0a 73 79 73 74 65 istent.application.of.that.syste
438c0 6d 3b 20 69 74 20 69 73 20 75 70 20 74 6f 20 74 68 65 20 61 75 74 68 6f 72 2f 64 6f 6e 6f 72 20 m;.it.is.up.to.the.author/donor.
438e0 74 6f 20 64 65 63 69 64 65 20 69 66 20 68 65 20 6f 72 20 73 68 65 20 69 73 20 77 69 6c 6c 69 6e to.decide.if.he.or.she.is.willin
43900 67 0a 74 6f 20 64 69 73 74 72 69 62 75 74 65 20 73 6f 66 74 77 61 72 65 20 74 68 72 6f 75 67 68 g.to.distribute.software.through
43920 20 61 6e 79 20 6f 74 68 65 72 20 73 79 73 74 65 6d 20 61 6e 64 20 61 20 6c 69 63 65 6e 73 65 65 .any.other.system.and.a.licensee
43940 20 63 61 6e 6e 6f 74 0a 69 6d 70 6f 73 65 20 74 68 61 74 20 63 68 6f 69 63 65 2e 0a 0a 54 68 69 .cannot.impose.that.choice...Thi
43960 73 20 73 65 63 74 69 6f 6e 20 69 73 20 69 6e 74 65 6e 64 65 64 20 74 6f 20 6d 61 6b 65 20 74 68 s.section.is.intended.to.make.th
43980 6f 72 6f 75 67 68 6c 79 20 63 6c 65 61 72 20 77 68 61 74 20 69 73 20 62 65 6c 69 65 76 65 64 20 oroughly.clear.what.is.believed.
439a0 74 6f 0a 62 65 20 61 20 63 6f 6e 73 65 71 75 65 6e 63 65 20 6f 66 20 74 68 65 20 72 65 73 74 20 to.be.a.consequence.of.the.rest.
439c0 6f 66 20 74 68 69 73 20 4c 69 63 65 6e 73 65 2e 0a 0a 20 20 38 2e 20 49 66 20 74 68 65 20 64 69 of.this.License.....8..If.the.di
439e0 73 74 72 69 62 75 74 69 6f 6e 20 61 6e 64 2f 6f 72 20 75 73 65 20 6f 66 20 74 68 65 20 50 72 6f stribution.and/or.use.of.the.Pro
43a00 67 72 61 6d 20 69 73 20 72 65 73 74 72 69 63 74 65 64 20 69 6e 0a 63 65 72 74 61 69 6e 20 63 6f gram.is.restricted.in.certain.co
43a20 75 6e 74 72 69 65 73 20 65 69 74 68 65 72 20 62 79 20 70 61 74 65 6e 74 73 20 6f 72 20 62 79 20 untries.either.by.patents.or.by.
43a40 63 6f 70 79 72 69 67 68 74 65 64 20 69 6e 74 65 72 66 61 63 65 73 2c 20 74 68 65 0a 6f 72 69 67 copyrighted.interfaces,.the.orig
43a60 69 6e 61 6c 20 63 6f 70 79 72 69 67 68 74 20 68 6f 6c 64 65 72 20 77 68 6f 20 70 6c 61 63 65 73 inal.copyright.holder.who.places
43a80 20 74 68 65 20 50 72 6f 67 72 61 6d 20 75 6e 64 65 72 20 74 68 69 73 20 4c 69 63 65 6e 73 65 0a .the.Program.under.this.License.
43aa0 6d 61 79 20 61 64 64 20 61 6e 20 65 78 70 6c 69 63 69 74 20 67 65 6f 67 72 61 70 68 69 63 61 6c may.add.an.explicit.geographical
43ac0 20 64 69 73 74 72 69 62 75 74 69 6f 6e 20 6c 69 6d 69 74 61 74 69 6f 6e 20 65 78 63 6c 75 64 69 .distribution.limitation.excludi
43ae0 6e 67 0a 74 68 6f 73 65 20 63 6f 75 6e 74 72 69 65 73 2c 20 73 6f 20 74 68 61 74 20 64 69 73 74 ng.those.countries,.so.that.dist
43b00 72 69 62 75 74 69 6f 6e 20 69 73 20 70 65 72 6d 69 74 74 65 64 20 6f 6e 6c 79 20 69 6e 20 6f 72 ribution.is.permitted.only.in.or
43b20 20 61 6d 6f 6e 67 0a 63 6f 75 6e 74 72 69 65 73 20 6e 6f 74 20 74 68 75 73 20 65 78 63 6c 75 64 .among.countries.not.thus.exclud
43b40 65 64 2e 20 20 49 6e 20 73 75 63 68 20 63 61 73 65 2c 20 74 68 69 73 20 4c 69 63 65 6e 73 65 20 ed...In.such.case,.this.License.
43b60 69 6e 63 6f 72 70 6f 72 61 74 65 73 0a 74 68 65 20 6c 69 6d 69 74 61 74 69 6f 6e 20 61 73 20 69 incorporates.the.limitation.as.i
43b80 66 20 77 72 69 74 74 65 6e 20 69 6e 20 74 68 65 20 62 6f 64 79 20 6f 66 20 74 68 69 73 20 4c 69 f.written.in.the.body.of.this.Li
43ba0 63 65 6e 73 65 2e 0a 0a 20 20 39 2e 20 54 68 65 20 46 72 65 65 20 53 6f 66 74 77 61 72 65 20 46 cense.....9..The.Free.Software.F
43bc0 6f 75 6e 64 61 74 69 6f 6e 20 6d 61 79 20 70 75 62 6c 69 73 68 20 72 65 76 69 73 65 64 20 61 6e oundation.may.publish.revised.an
43be0 64 2f 6f 72 20 6e 65 77 20 76 65 72 73 69 6f 6e 73 0a 6f 66 20 74 68 65 20 47 65 6e 65 72 61 6c d/or.new.versions.of.the.General
43c00 20 50 75 62 6c 69 63 20 4c 69 63 65 6e 73 65 20 66 72 6f 6d 20 74 69 6d 65 20 74 6f 20 74 69 6d .Public.License.from.time.to.tim
43c20 65 2e 20 20 53 75 63 68 20 6e 65 77 20 76 65 72 73 69 6f 6e 73 20 77 69 6c 6c 0a 62 65 20 73 69 e...Such.new.versions.will.be.si
43c40 6d 69 6c 61 72 20 69 6e 20 73 70 69 72 69 74 20 74 6f 20 74 68 65 20 70 72 65 73 65 6e 74 20 76 milar.in.spirit.to.the.present.v
43c60 65 72 73 69 6f 6e 2c 20 62 75 74 20 6d 61 79 20 64 69 66 66 65 72 20 69 6e 20 64 65 74 61 69 6c ersion,.but.may.differ.in.detail
43c80 20 74 6f 0a 61 64 64 72 65 73 73 20 6e 65 77 20 70 72 6f 62 6c 65 6d 73 20 6f 72 20 63 6f 6e 63 .to.address.new.problems.or.conc
43ca0 65 72 6e 73 2e 0a 0a 45 61 63 68 20 76 65 72 73 69 6f 6e 20 69 73 20 67 69 76 65 6e 20 61 20 64 erns...Each.version.is.given.a.d
43cc0 69 73 74 69 6e 67 75 69 73 68 69 6e 67 20 76 65 72 73 69 6f 6e 20 6e 75 6d 62 65 72 2e 20 20 49 istinguishing.version.number...I
43ce0 66 20 74 68 65 20 50 72 6f 67 72 61 6d 0a 73 70 65 63 69 66 69 65 73 20 61 20 76 65 72 73 69 6f f.the.Program.specifies.a.versio
43d00 6e 20 6e 75 6d 62 65 72 20 6f 66 20 74 68 69 73 20 4c 69 63 65 6e 73 65 20 77 68 69 63 68 20 61 n.number.of.this.License.which.a
43d20 70 70 6c 69 65 73 20 74 6f 20 69 74 20 61 6e 64 20 22 61 6e 79 0a 6c 61 74 65 72 20 76 65 72 73 pplies.to.it.and."any.later.vers
43d40 69 6f 6e 22 2c 20 79 6f 75 20 68 61 76 65 20 74 68 65 20 6f 70 74 69 6f 6e 20 6f 66 20 66 6f 6c ion",.you.have.the.option.of.fol
43d60 6c 6f 77 69 6e 67 20 74 68 65 20 74 65 72 6d 73 20 61 6e 64 20 63 6f 6e 64 69 74 69 6f 6e 73 0a lowing.the.terms.and.conditions.
43d80 65 69 74 68 65 72 20 6f 66 20 74 68 61 74 20 76 65 72 73 69 6f 6e 20 6f 72 20 6f 66 20 61 6e 79 either.of.that.version.or.of.any
43da0 20 6c 61 74 65 72 20 76 65 72 73 69 6f 6e 20 70 75 62 6c 69 73 68 65 64 20 62 79 20 74 68 65 20 .later.version.published.by.the.
43dc0 46 72 65 65 0a 53 6f 66 74 77 61 72 65 20 46 6f 75 6e 64 61 74 69 6f 6e 2e 20 20 49 66 20 74 68 Free.Software.Foundation...If.th
43de0 65 20 50 72 6f 67 72 61 6d 20 64 6f 65 73 20 6e 6f 74 20 73 70 65 63 69 66 79 20 61 20 76 65 72 e.Program.does.not.specify.a.ver
43e00 73 69 6f 6e 20 6e 75 6d 62 65 72 20 6f 66 0a 74 68 69 73 20 4c 69 63 65 6e 73 65 2c 20 79 6f 75 sion.number.of.this.License,.you
43e20 20 6d 61 79 20 63 68 6f 6f 73 65 20 61 6e 79 20 76 65 72 73 69 6f 6e 20 65 76 65 72 20 70 75 62 .may.choose.any.version.ever.pub
43e40 6c 69 73 68 65 64 20 62 79 20 74 68 65 20 46 72 65 65 20 53 6f 66 74 77 61 72 65 0a 46 6f 75 6e lished.by.the.Free.Software.Foun
43e60 64 61 74 69 6f 6e 2e 0a 0a 20 20 31 30 2e 20 49 66 20 79 6f 75 20 77 69 73 68 20 74 6f 20 69 6e dation.....10..If.you.wish.to.in
43e80 63 6f 72 70 6f 72 61 74 65 20 70 61 72 74 73 20 6f 66 20 74 68 65 20 50 72 6f 67 72 61 6d 20 69 corporate.parts.of.the.Program.i
43ea0 6e 74 6f 20 6f 74 68 65 72 20 66 72 65 65 0a 70 72 6f 67 72 61 6d 73 20 77 68 6f 73 65 20 64 69 nto.other.free.programs.whose.di
43ec0 73 74 72 69 62 75 74 69 6f 6e 20 63 6f 6e 64 69 74 69 6f 6e 73 20 61 72 65 20 64 69 66 66 65 72 stribution.conditions.are.differ
43ee0 65 6e 74 2c 20 77 72 69 74 65 20 74 6f 20 74 68 65 20 61 75 74 68 6f 72 0a 74 6f 20 61 73 6b 20 ent,.write.to.the.author.to.ask.
43f00 66 6f 72 20 70 65 72 6d 69 73 73 69 6f 6e 2e 20 20 46 6f 72 20 73 6f 66 74 77 61 72 65 20 77 68 for.permission...For.software.wh
43f20 69 63 68 20 69 73 20 63 6f 70 79 72 69 67 68 74 65 64 20 62 79 20 74 68 65 20 46 72 65 65 0a 53 ich.is.copyrighted.by.the.Free.S
43f40 6f 66 74 77 61 72 65 20 46 6f 75 6e 64 61 74 69 6f 6e 2c 20 77 72 69 74 65 20 74 6f 20 74 68 65 oftware.Foundation,.write.to.the
43f60 20 46 72 65 65 20 53 6f 66 74 77 61 72 65 20 46 6f 75 6e 64 61 74 69 6f 6e 3b 20 77 65 20 73 6f .Free.Software.Foundation;.we.so
43f80 6d 65 74 69 6d 65 73 0a 6d 61 6b 65 20 65 78 63 65 70 74 69 6f 6e 73 20 66 6f 72 20 74 68 69 73 metimes.make.exceptions.for.this
43fa0 2e 20 20 4f 75 72 20 64 65 63 69 73 69 6f 6e 20 77 69 6c 6c 20 62 65 20 67 75 69 64 65 64 20 62 ...Our.decision.will.be.guided.b
43fc0 79 20 74 68 65 20 74 77 6f 20 67 6f 61 6c 73 0a 6f 66 20 70 72 65 73 65 72 76 69 6e 67 20 74 68 y.the.two.goals.of.preserving.th
43fe0 65 20 66 72 65 65 20 73 74 61 74 75 73 20 6f 66 20 61 6c 6c 20 64 65 72 69 76 61 74 69 76 65 73 e.free.status.of.all.derivatives
44000 20 6f 66 20 6f 75 72 20 66 72 65 65 20 73 6f 66 74 77 61 72 65 20 61 6e 64 0a 6f 66 20 70 72 6f .of.our.free.software.and.of.pro
44020 6d 6f 74 69 6e 67 20 74 68 65 20 73 68 61 72 69 6e 67 20 61 6e 64 20 72 65 75 73 65 20 6f 66 20 moting.the.sharing.and.reuse.of.
44040 73 6f 66 74 77 61 72 65 20 67 65 6e 65 72 61 6c 6c 79 2e 0a 0a 20 20 20 20 20 20 20 20 20 20 20 software.generally..............
44060 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 4e 4f 20 57 41 52 52 41 4e 54 59 0a 0a 20 20 .................NO.WARRANTY....
44080 31 31 2e 20 42 45 43 41 55 53 45 20 54 48 45 20 50 52 4f 47 52 41 4d 20 49 53 20 4c 49 43 45 4e 11..BECAUSE.THE.PROGRAM.IS.LICEN
440a0 53 45 44 20 46 52 45 45 20 4f 46 20 43 48 41 52 47 45 2c 20 54 48 45 52 45 20 49 53 20 4e 4f 20 SED.FREE.OF.CHARGE,.THERE.IS.NO.
440c0 57 41 52 52 41 4e 54 59 0a 46 4f 52 20 54 48 45 20 50 52 4f 47 52 41 4d 2c 20 54 4f 20 54 48 45 WARRANTY.FOR.THE.PROGRAM,.TO.THE
440e0 20 45 58 54 45 4e 54 20 50 45 52 4d 49 54 54 45 44 20 42 59 20 41 50 50 4c 49 43 41 42 4c 45 20 .EXTENT.PERMITTED.BY.APPLICABLE.
44100 4c 41 57 2e 20 20 45 58 43 45 50 54 20 57 48 45 4e 0a 4f 54 48 45 52 57 49 53 45 20 53 54 41 54 LAW...EXCEPT.WHEN.OTHERWISE.STAT
44120 45 44 20 49 4e 20 57 52 49 54 49 4e 47 20 54 48 45 20 43 4f 50 59 52 49 47 48 54 20 48 4f 4c 44 ED.IN.WRITING.THE.COPYRIGHT.HOLD
44140 45 52 53 20 41 4e 44 2f 4f 52 20 4f 54 48 45 52 20 50 41 52 54 49 45 53 0a 50 52 4f 56 49 44 45 ERS.AND/OR.OTHER.PARTIES.PROVIDE
44160 20 54 48 45 20 50 52 4f 47 52 41 4d 20 22 41 53 20 49 53 22 20 57 49 54 48 4f 55 54 20 57 41 52 .THE.PROGRAM."AS.IS".WITHOUT.WAR
44180 52 41 4e 54 59 20 4f 46 20 41 4e 59 20 4b 49 4e 44 2c 20 45 49 54 48 45 52 20 45 58 50 52 45 53 RANTY.OF.ANY.KIND,.EITHER.EXPRES
441a0 53 45 44 0a 4f 52 20 49 4d 50 4c 49 45 44 2c 20 49 4e 43 4c 55 44 49 4e 47 2c 20 42 55 54 20 4e SED.OR.IMPLIED,.INCLUDING,.BUT.N
441c0 4f 54 20 4c 49 4d 49 54 45 44 20 54 4f 2c 20 54 48 45 20 49 4d 50 4c 49 45 44 20 57 41 52 52 41 OT.LIMITED.TO,.THE.IMPLIED.WARRA
441e0 4e 54 49 45 53 20 4f 46 0a 4d 45 52 43 48 41 4e 54 41 42 49 4c 49 54 59 20 41 4e 44 20 46 49 54 NTIES.OF.MERCHANTABILITY.AND.FIT
44200 4e 45 53 53 20 46 4f 52 20 41 20 50 41 52 54 49 43 55 4c 41 52 20 50 55 52 50 4f 53 45 2e 20 20 NESS.FOR.A.PARTICULAR.PURPOSE...
44220 54 48 45 20 45 4e 54 49 52 45 20 52 49 53 4b 20 41 53 0a 54 4f 20 54 48 45 20 51 55 41 4c 49 54 THE.ENTIRE.RISK.AS.TO.THE.QUALIT
44240 59 20 41 4e 44 20 50 45 52 46 4f 52 4d 41 4e 43 45 20 4f 46 20 54 48 45 20 50 52 4f 47 52 41 4d Y.AND.PERFORMANCE.OF.THE.PROGRAM
44260 20 49 53 20 57 49 54 48 20 59 4f 55 2e 20 20 53 48 4f 55 4c 44 20 54 48 45 0a 50 52 4f 47 52 41 .IS.WITH.YOU...SHOULD.THE.PROGRA
44280 4d 20 50 52 4f 56 45 20 44 45 46 45 43 54 49 56 45 2c 20 59 4f 55 20 41 53 53 55 4d 45 20 54 48 M.PROVE.DEFECTIVE,.YOU.ASSUME.TH
442a0 45 20 43 4f 53 54 20 4f 46 20 41 4c 4c 20 4e 45 43 45 53 53 41 52 59 20 53 45 52 56 49 43 49 4e E.COST.OF.ALL.NECESSARY.SERVICIN
442c0 47 2c 0a 52 45 50 41 49 52 20 4f 52 20 43 4f 52 52 45 43 54 49 4f 4e 2e 0a 0a 20 20 31 32 2e 20 G,.REPAIR.OR.CORRECTION.....12..
442e0 49 4e 20 4e 4f 20 45 56 45 4e 54 20 55 4e 4c 45 53 53 20 52 45 51 55 49 52 45 44 20 42 59 20 41 IN.NO.EVENT.UNLESS.REQUIRED.BY.A
44300 50 50 4c 49 43 41 42 4c 45 20 4c 41 57 20 4f 52 20 41 47 52 45 45 44 20 54 4f 20 49 4e 20 57 52 PPLICABLE.LAW.OR.AGREED.TO.IN.WR
44320 49 54 49 4e 47 0a 57 49 4c 4c 20 41 4e 59 20 43 4f 50 59 52 49 47 48 54 20 48 4f 4c 44 45 52 2c ITING.WILL.ANY.COPYRIGHT.HOLDER,
44340 20 4f 52 20 41 4e 59 20 4f 54 48 45 52 20 50 41 52 54 59 20 57 48 4f 20 4d 41 59 20 4d 4f 44 49 .OR.ANY.OTHER.PARTY.WHO.MAY.MODI
44360 46 59 20 41 4e 44 2f 4f 52 0a 52 45 44 49 53 54 52 49 42 55 54 45 20 54 48 45 20 50 52 4f 47 52 FY.AND/OR.REDISTRIBUTE.THE.PROGR
44380 41 4d 20 41 53 20 50 45 52 4d 49 54 54 45 44 20 41 42 4f 56 45 2c 20 42 45 20 4c 49 41 42 4c 45 AM.AS.PERMITTED.ABOVE,.BE.LIABLE
443a0 20 54 4f 20 59 4f 55 20 46 4f 52 20 44 41 4d 41 47 45 53 2c 0a 49 4e 43 4c 55 44 49 4e 47 20 41 .TO.YOU.FOR.DAMAGES,.INCLUDING.A
443c0 4e 59 20 47 45 4e 45 52 41 4c 2c 20 53 50 45 43 49 41 4c 2c 20 49 4e 43 49 44 45 4e 54 41 4c 20 NY.GENERAL,.SPECIAL,.INCIDENTAL.
443e0 4f 52 20 43 4f 4e 53 45 51 55 45 4e 54 49 41 4c 20 44 41 4d 41 47 45 53 20 41 52 49 53 49 4e 47 OR.CONSEQUENTIAL.DAMAGES.ARISING
44400 0a 4f 55 54 20 4f 46 20 54 48 45 20 55 53 45 20 4f 52 20 49 4e 41 42 49 4c 49 54 59 20 54 4f 20 .OUT.OF.THE.USE.OR.INABILITY.TO.
44420 55 53 45 20 54 48 45 20 50 52 4f 47 52 41 4d 20 28 49 4e 43 4c 55 44 49 4e 47 20 42 55 54 20 4e USE.THE.PROGRAM.(INCLUDING.BUT.N
44440 4f 54 20 4c 49 4d 49 54 45 44 0a 54 4f 20 4c 4f 53 53 20 4f 46 20 44 41 54 41 20 4f 52 20 44 41 OT.LIMITED.TO.LOSS.OF.DATA.OR.DA
44460 54 41 20 42 45 49 4e 47 20 52 45 4e 44 45 52 45 44 20 49 4e 41 43 43 55 52 41 54 45 20 4f 52 20 TA.BEING.RENDERED.INACCURATE.OR.
44480 4c 4f 53 53 45 53 20 53 55 53 54 41 49 4e 45 44 20 42 59 0a 59 4f 55 20 4f 52 20 54 48 49 52 44 LOSSES.SUSTAINED.BY.YOU.OR.THIRD
444a0 20 50 41 52 54 49 45 53 20 4f 52 20 41 20 46 41 49 4c 55 52 45 20 4f 46 20 54 48 45 20 50 52 4f .PARTIES.OR.A.FAILURE.OF.THE.PRO
444c0 47 52 41 4d 20 54 4f 20 4f 50 45 52 41 54 45 20 57 49 54 48 20 41 4e 59 20 4f 54 48 45 52 0a 50 GRAM.TO.OPERATE.WITH.ANY.OTHER.P
444e0 52 4f 47 52 41 4d 53 29 2c 20 45 56 45 4e 20 49 46 20 53 55 43 48 20 48 4f 4c 44 45 52 20 4f 52 ROGRAMS),.EVEN.IF.SUCH.HOLDER.OR
44500 20 4f 54 48 45 52 20 50 41 52 54 59 20 48 41 53 20 42 45 45 4e 20 41 44 56 49 53 45 44 20 4f 46 .OTHER.PARTY.HAS.BEEN.ADVISED.OF
44520 20 54 48 45 0a 50 4f 53 53 49 42 49 4c 49 54 59 20 4f 46 20 53 55 43 48 20 44 41 4d 41 47 45 53 .THE.POSSIBILITY.OF.SUCH.DAMAGES
44540 2e 0a 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 45 4e 44 20 4f 46 20 54 ........................END.OF.T
44560 45 52 4d 53 20 41 4e 44 20 43 4f 4e 44 49 54 49 4f 4e 53 0a 0a 20 20 20 20 20 20 20 20 20 20 20 ERMS.AND.CONDITIONS.............
44580 20 48 6f 77 20 74 6f 20 41 70 70 6c 79 20 54 68 65 73 65 20 54 65 72 6d 73 20 74 6f 20 59 6f 75 .How.to.Apply.These.Terms.to.You
445a0 72 20 4e 65 77 20 50 72 6f 67 72 61 6d 73 0a 0a 20 20 49 66 20 79 6f 75 20 64 65 76 65 6c 6f 70 r.New.Programs....If.you.develop
445c0 20 61 20 6e 65 77 20 70 72 6f 67 72 61 6d 2c 20 61 6e 64 20 79 6f 75 20 77 61 6e 74 20 69 74 20 .a.new.program,.and.you.want.it.
445e0 74 6f 20 62 65 20 6f 66 20 74 68 65 20 67 72 65 61 74 65 73 74 0a 70 6f 73 73 69 62 6c 65 20 75 to.be.of.the.greatest.possible.u
44600 73 65 20 74 6f 20 74 68 65 20 70 75 62 6c 69 63 2c 20 74 68 65 20 62 65 73 74 20 77 61 79 20 74 se.to.the.public,.the.best.way.t
44620 6f 20 61 63 68 69 65 76 65 20 74 68 69 73 20 69 73 20 74 6f 20 6d 61 6b 65 20 69 74 0a 66 72 65 o.achieve.this.is.to.make.it.fre
44640 65 20 73 6f 66 74 77 61 72 65 20 77 68 69 63 68 20 65 76 65 72 79 6f 6e 65 20 63 61 6e 20 72 65 e.software.which.everyone.can.re
44660 64 69 73 74 72 69 62 75 74 65 20 61 6e 64 20 63 68 61 6e 67 65 20 75 6e 64 65 72 20 74 68 65 73 distribute.and.change.under.thes
44680 65 20 74 65 72 6d 73 2e 0a 0a 20 20 54 6f 20 64 6f 20 73 6f 2c 20 61 74 74 61 63 68 20 74 68 65 e.terms.....To.do.so,.attach.the
446a0 20 66 6f 6c 6c 6f 77 69 6e 67 20 6e 6f 74 69 63 65 73 20 74 6f 20 74 68 65 20 70 72 6f 67 72 61 .following.notices.to.the.progra
446c0 6d 2e 20 20 49 74 20 69 73 20 73 61 66 65 73 74 0a 74 6f 20 61 74 74 61 63 68 20 74 68 65 6d 20 m...It.is.safest.to.attach.them.
446e0 74 6f 20 74 68 65 20 73 74 61 72 74 20 6f 66 20 65 61 63 68 20 73 6f 75 72 63 65 20 66 69 6c 65 to.the.start.of.each.source.file
44700 20 74 6f 20 6d 6f 73 74 20 65 66 66 65 63 74 69 76 65 6c 79 0a 63 6f 6e 76 65 79 20 74 68 65 20 .to.most.effectively.convey.the.
44720 65 78 63 6c 75 73 69 6f 6e 20 6f 66 20 77 61 72 72 61 6e 74 79 3b 20 61 6e 64 20 65 61 63 68 20 exclusion.of.warranty;.and.each.
44740 66 69 6c 65 20 73 68 6f 75 6c 64 20 68 61 76 65 20 61 74 20 6c 65 61 73 74 0a 74 68 65 20 22 63 file.should.have.at.least.the."c
44760 6f 70 79 72 69 67 68 74 22 20 6c 69 6e 65 20 61 6e 64 20 61 20 70 6f 69 6e 74 65 72 20 74 6f 20 opyright".line.and.a.pointer.to.
44780 77 68 65 72 65 20 74 68 65 20 66 75 6c 6c 20 6e 6f 74 69 63 65 20 69 73 20 66 6f 75 6e 64 2e 0a where.the.full.notice.is.found..
447a0 0a 20 20 20 20 3c 6f 6e 65 20 6c 69 6e 65 20 74 6f 20 67 69 76 65 20 74 68 65 20 70 72 6f 67 72 .....<one.line.to.give.the.progr
447c0 61 6d 27 73 20 6e 61 6d 65 20 61 6e 64 20 61 20 62 72 69 65 66 20 69 64 65 61 20 6f 66 20 77 68 am's.name.and.a.brief.idea.of.wh
447e0 61 74 20 69 74 20 64 6f 65 73 2e 3e 0a 20 20 20 20 43 6f 70 79 72 69 67 68 74 20 28 43 29 20 3c at.it.does.>.....Copyright.(C).<
44800 79 65 61 72 3e 20 20 3c 6e 61 6d 65 20 6f 66 20 61 75 74 68 6f 72 3e 0a 0a 20 20 20 20 54 68 69 year>..<name.of.author>......Thi
44820 73 20 70 72 6f 67 72 61 6d 20 69 73 20 66 72 65 65 20 73 6f 66 74 77 61 72 65 3a 20 79 6f 75 20 s.program.is.free.software:.you.
44840 63 61 6e 20 72 65 64 69 73 74 72 69 62 75 74 65 20 69 74 20 61 6e 64 2f 6f 72 20 6d 6f 64 69 66 can.redistribute.it.and/or.modif
44860 79 0a 20 20 20 20 69 74 20 75 6e 64 65 72 20 74 68 65 20 74 65 72 6d 73 20 6f 66 20 74 68 65 20 y.....it.under.the.terms.of.the.
44880 47 4e 55 20 47 65 6e 65 72 61 6c 20 50 75 62 6c 69 63 20 4c 69 63 65 6e 73 65 20 61 73 20 70 75 GNU.General.Public.License.as.pu
448a0 62 6c 69 73 68 65 64 20 62 79 0a 20 20 20 20 74 68 65 20 46 72 65 65 20 53 6f 66 74 77 61 72 65 blished.by.....the.Free.Software
448c0 20 46 6f 75 6e 64 61 74 69 6f 6e 2c 20 65 69 74 68 65 72 20 76 65 72 73 69 6f 6e 20 32 20 6f 66 .Foundation,.either.version.2.of
448e0 20 74 68 65 20 4c 69 63 65 6e 73 65 2c 20 6f 72 0a 20 20 20 20 28 61 74 20 79 6f 75 72 20 6f 70 .the.License,.or.....(at.your.op
44900 74 69 6f 6e 29 20 61 6e 79 20 6c 61 74 65 72 20 76 65 72 73 69 6f 6e 2e 0a 0a 20 20 20 20 54 68 tion).any.later.version.......Th
44920 69 73 20 70 72 6f 67 72 61 6d 20 69 73 20 64 69 73 74 72 69 62 75 74 65 64 20 69 6e 20 74 68 65 is.program.is.distributed.in.the
44940 20 68 6f 70 65 20 74 68 61 74 20 69 74 20 77 69 6c 6c 20 62 65 20 75 73 65 66 75 6c 2c 0a 20 20 .hope.that.it.will.be.useful,...
44960 20 20 62 75 74 20 57 49 54 48 4f 55 54 20 41 4e 59 20 57 41 52 52 41 4e 54 59 3b 20 77 69 74 68 ..but.WITHOUT.ANY.WARRANTY;.with
44980 6f 75 74 20 65 76 65 6e 20 74 68 65 20 69 6d 70 6c 69 65 64 20 77 61 72 72 61 6e 74 79 20 6f 66 out.even.the.implied.warranty.of
449a0 0a 20 20 20 20 4d 45 52 43 48 41 4e 54 41 42 49 4c 49 54 59 20 6f 72 20 46 49 54 4e 45 53 53 20 .....MERCHANTABILITY.or.FITNESS.
449c0 46 4f 52 20 41 20 50 41 52 54 49 43 55 4c 41 52 20 50 55 52 50 4f 53 45 2e 20 20 53 65 65 20 74 FOR.A.PARTICULAR.PURPOSE...See.t
449e0 68 65 0a 20 20 20 20 47 4e 55 20 47 65 6e 65 72 61 6c 20 50 75 62 6c 69 63 20 4c 69 63 65 6e 73 he.....GNU.General.Public.Licens
44a00 65 20 66 6f 72 20 6d 6f 72 65 20 64 65 74 61 69 6c 73 2e 0a 0a 20 20 20 20 59 6f 75 20 73 68 6f e.for.more.details.......You.sho
44a20 75 6c 64 20 68 61 76 65 20 72 65 63 65 69 76 65 64 20 61 20 63 6f 70 79 20 6f 66 20 74 68 65 20 uld.have.received.a.copy.of.the.
44a40 47 4e 55 20 47 65 6e 65 72 61 6c 20 50 75 62 6c 69 63 20 4c 69 63 65 6e 73 65 0a 20 20 20 20 61 GNU.General.Public.License.....a
44a60 6c 6f 6e 67 20 77 69 74 68 20 74 68 69 73 20 70 72 6f 67 72 61 6d 2e 20 20 49 66 20 6e 6f 74 2c long.with.this.program...If.not,
44a80 20 73 65 65 20 3c 68 74 74 70 3a 2f 2f 77 77 77 2e 67 6e 75 2e 6f 72 67 2f 6c 69 63 65 6e 73 65 .see.<http://www.gnu.org/license
44aa0 73 2f 3e 2e 0a 0a 41 6c 73 6f 20 61 64 64 20 69 6e 66 6f 72 6d 61 74 69 6f 6e 20 6f 6e 20 68 6f s/>...Also.add.information.on.ho
44ac0 77 20 74 6f 20 63 6f 6e 74 61 63 74 20 79 6f 75 20 62 79 20 65 6c 65 63 74 72 6f 6e 69 63 20 61 w.to.contact.you.by.electronic.a
44ae0 6e 64 20 70 61 70 65 72 20 6d 61 69 6c 2e 0a 0a 49 66 20 74 68 65 20 70 72 6f 67 72 61 6d 20 69 nd.paper.mail...If.the.program.i
44b00 73 20 69 6e 74 65 72 61 63 74 69 76 65 2c 20 6d 61 6b 65 20 69 74 20 6f 75 74 70 75 74 20 61 20 s.interactive,.make.it.output.a.
44b20 73 68 6f 72 74 20 6e 6f 74 69 63 65 20 6c 69 6b 65 20 74 68 69 73 0a 77 68 65 6e 20 69 74 20 73 short.notice.like.this.when.it.s
44b40 74 61 72 74 73 20 69 6e 20 61 6e 20 69 6e 74 65 72 61 63 74 69 76 65 20 6d 6f 64 65 3a 0a 0a 20 tarts.in.an.interactive.mode:...
44b60 20 20 20 47 6e 6f 6d 6f 76 69 73 69 6f 6e 20 76 65 72 73 69 6f 6e 20 36 39 2c 20 43 6f 70 79 72 ...Gnomovision.version.69,.Copyr
44b80 69 67 68 74 20 28 43 29 20 3c 79 65 61 72 3e 20 20 3c 6e 61 6d 65 20 6f 66 20 61 75 74 68 6f 72 ight.(C).<year>..<name.of.author
44ba0 3e 0a 20 20 20 20 47 6e 6f 6d 6f 76 69 73 69 6f 6e 20 63 6f 6d 65 73 20 77 69 74 68 20 41 42 53 >.....Gnomovision.comes.with.ABS
44bc0 4f 4c 55 54 45 4c 59 20 4e 4f 20 57 41 52 52 41 4e 54 59 3b 20 66 6f 72 20 64 65 74 61 69 6c 73 OLUTELY.NO.WARRANTY;.for.details
44be0 20 74 79 70 65 20 60 73 68 6f 77 20 77 27 2e 0a 20 20 20 20 54 68 69 73 20 69 73 20 66 72 65 65 .type.`show.w'......This.is.free
44c00 20 73 6f 66 74 77 61 72 65 2c 20 61 6e 64 20 79 6f 75 20 61 72 65 20 77 65 6c 63 6f 6d 65 20 74 .software,.and.you.are.welcome.t
44c20 6f 20 72 65 64 69 73 74 72 69 62 75 74 65 20 69 74 0a 20 20 20 20 75 6e 64 65 72 20 63 65 72 74 o.redistribute.it.....under.cert
44c40 61 69 6e 20 63 6f 6e 64 69 74 69 6f 6e 73 3b 20 74 79 70 65 20 60 73 68 6f 77 20 63 27 20 66 6f ain.conditions;.type.`show.c'.fo
44c60 72 20 64 65 74 61 69 6c 73 2e 0a 0a 54 68 65 20 68 79 70 6f 74 68 65 74 69 63 61 6c 20 63 6f 6d r.details...The.hypothetical.com
44c80 6d 61 6e 64 73 20 60 73 68 6f 77 20 77 27 20 61 6e 64 20 60 73 68 6f 77 20 63 27 20 73 68 6f 75 mands.`show.w'.and.`show.c'.shou
44ca0 6c 64 20 73 68 6f 77 20 74 68 65 20 61 70 70 72 6f 70 72 69 61 74 65 0a 70 61 72 74 73 20 6f 66 ld.show.the.appropriate.parts.of
44cc0 20 74 68 65 20 47 65 6e 65 72 61 6c 20 50 75 62 6c 69 63 20 4c 69 63 65 6e 73 65 2e 20 20 4f 66 .the.General.Public.License...Of
44ce0 20 63 6f 75 72 73 65 2c 20 74 68 65 20 63 6f 6d 6d 61 6e 64 73 20 79 6f 75 20 75 73 65 20 6d 61 .course,.the.commands.you.use.ma
44d00 79 0a 62 65 20 63 61 6c 6c 65 64 20 73 6f 6d 65 74 68 69 6e 67 20 6f 74 68 65 72 20 74 68 61 6e y.be.called.something.other.than
44d20 20 60 73 68 6f 77 20 77 27 20 61 6e 64 20 60 73 68 6f 77 20 63 27 3b 20 74 68 65 79 20 63 6f 75 .`show.w'.and.`show.c';.they.cou
44d40 6c 64 20 65 76 65 6e 20 62 65 0a 6d 6f 75 73 65 2d 63 6c 69 63 6b 73 20 6f 72 20 6d 65 6e 75 20 ld.even.be.mouse-clicks.or.menu.
44d60 69 74 65 6d 73 2d 2d 77 68 61 74 65 76 65 72 20 73 75 69 74 73 20 79 6f 75 72 20 70 72 6f 67 72 items--whatever.suits.your.progr
44d80 61 6d 2e 0a 0a 59 6f 75 20 73 68 6f 75 6c 64 20 61 6c 73 6f 20 67 65 74 20 79 6f 75 72 20 65 6d am...You.should.also.get.your.em
44da0 70 6c 6f 79 65 72 20 28 69 66 20 79 6f 75 20 77 6f 72 6b 20 61 73 20 61 20 70 72 6f 67 72 61 6d ployer.(if.you.work.as.a.program
44dc0 6d 65 72 29 20 6f 72 20 79 6f 75 72 0a 73 63 68 6f 6f 6c 2c 20 69 66 20 61 6e 79 2c 20 74 6f 20 mer).or.your.school,.if.any,.to.
44de0 73 69 67 6e 20 61 20 22 63 6f 70 79 72 69 67 68 74 20 64 69 73 63 6c 61 69 6d 65 72 22 20 66 6f sign.a."copyright.disclaimer".fo
44e00 72 20 74 68 65 20 70 72 6f 67 72 61 6d 2c 20 69 66 0a 6e 65 63 65 73 73 61 72 79 2e 20 20 48 65 r.the.program,.if.necessary...He
44e20 72 65 20 69 73 20 61 20 73 61 6d 70 6c 65 3b 20 61 6c 74 65 72 20 74 68 65 20 6e 61 6d 65 73 3a re.is.a.sample;.alter.the.names:
44e40 0a 0a 20 20 59 6f 79 6f 64 79 6e 65 2c 20 49 6e 63 2e 2c 20 68 65 72 65 62 79 20 64 69 73 63 6c ....Yoyodyne,.Inc.,.hereby.discl
44e60 61 69 6d 73 20 61 6c 6c 20 63 6f 70 79 72 69 67 68 74 20 69 6e 74 65 72 65 73 74 20 69 6e 20 74 aims.all.copyright.interest.in.t
44e80 68 65 20 70 72 6f 67 72 61 6d 0a 20 20 60 47 6e 6f 6d 6f 76 69 73 69 6f 6e 27 20 28 77 68 69 63 he.program...`Gnomovision'.(whic
44ea0 68 20 6d 61 6b 65 73 20 70 61 73 73 65 73 20 61 74 20 63 6f 6d 70 69 6c 65 72 73 29 20 77 72 69 h.makes.passes.at.compilers).wri
44ec0 74 74 65 6e 20 62 79 20 4a 61 6d 65 73 20 48 61 63 6b 65 72 2e 0a 0a 20 20 3c 73 69 67 6e 61 74 tten.by.James.Hacker.....<signat
44ee0 75 72 65 20 6f 66 20 54 79 20 43 6f 6f 6e 3e 2c 20 31 20 41 70 72 69 6c 20 31 39 38 39 0a 20 20 ure.of.Ty.Coon>,.1.April.1989...
44f00 54 79 20 43 6f 6f 6e 2c 20 50 72 65 73 69 64 65 6e 74 20 6f 66 20 56 69 63 65 0a 0a 54 68 69 73 Ty.Coon,.President.of.Vice..This
44f20 20 47 65 6e 65 72 61 6c 20 50 75 62 6c 69 63 20 4c 69 63 65 6e 73 65 20 64 6f 65 73 20 6e 6f 74 .General.Public.License.does.not
44f40 20 70 65 72 6d 69 74 20 69 6e 63 6f 72 70 6f 72 61 74 69 6e 67 20 79 6f 75 72 20 70 72 6f 67 72 .permit.incorporating.your.progr
44f60 61 6d 20 69 6e 74 6f 0a 70 72 6f 70 72 69 65 74 61 72 79 20 70 72 6f 67 72 61 6d 73 2e 20 20 49 am.into.proprietary.programs...I
44f80 66 20 79 6f 75 72 20 70 72 6f 67 72 61 6d 20 69 73 20 61 20 73 75 62 72 6f 75 74 69 6e 65 20 6c f.your.program.is.a.subroutine.l
44fa0 69 62 72 61 72 79 2c 20 79 6f 75 20 6d 61 79 0a 63 6f 6e 73 69 64 65 72 20 69 74 20 6d 6f 72 65 ibrary,.you.may.consider.it.more
44fc0 20 75 73 65 66 75 6c 20 74 6f 20 70 65 72 6d 69 74 20 6c 69 6e 6b 69 6e 67 20 70 72 6f 70 72 69 .useful.to.permit.linking.propri
44fe0 65 74 61 72 79 20 61 70 70 6c 69 63 61 74 69 6f 6e 73 20 77 69 74 68 20 74 68 65 0a 6c 69 62 72 etary.applications.with.the.libr
45000 61 72 79 2e 20 20 49 66 20 74 68 69 73 20 69 73 20 77 68 61 74 20 79 6f 75 20 77 61 6e 74 20 74 ary...If.this.is.what.you.want.t
45020 6f 20 64 6f 2c 20 75 73 65 20 74 68 65 20 47 4e 55 20 4c 65 73 73 65 72 20 47 65 6e 65 72 61 6c o.do,.use.the.GNU.Lesser.General
45040 0a 50 75 62 6c 69 63 20 4c 69 63 65 6e 73 65 20 69 6e 73 74 65 61 64 20 6f 66 20 74 68 69 73 20 .Public.License.instead.of.this.
45060 4c 69 63 65 6e 73 65 2e 0a 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 License.........................
45080 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
450a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
450c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
450e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
45100 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
45120 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
45140 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
45160 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
45180 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
451a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
451c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
451e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
45200 6c 7a 69 70 2d 31 2e 32 32 2f 65 6e 63 6f 64 65 72 5f 62 61 73 65 2e 63 63 00 00 00 00 00 00 00 lzip-1.22/encoder_base.cc.......
45220 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
45240 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
45260 00 00 00 00 30 30 30 30 36 34 34 00 30 30 30 30 30 30 30 00 30 30 30 30 30 30 30 00 30 30 30 30 ....0000644.0000000.0000000.0000
45280 30 30 31 34 31 37 37 00 31 33 37 37 33 36 31 37 31 33 31 00 30 31 35 33 35 35 00 20 30 00 00 00 0014177.13773617131.015355..0...
452a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
452c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
452e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
45300 00 75 73 74 61 72 00 30 30 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .ustar.00root...................
45320 00 00 00 00 00 00 00 00 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .........root...................
45340 00 00 00 00 00 00 00 00 00 30 30 30 30 30 30 30 00 30 30 30 30 30 30 30 00 00 00 00 00 00 00 00 .........0000000.0000000........
45360 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
45380 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
453a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
453c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
453e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
45400 2f 2a 20 4c 7a 69 70 20 2d 20 4c 5a 4d 41 20 6c 6f 73 73 6c 65 73 73 20 64 61 74 61 20 63 6f 6d /*.Lzip.-.LZMA.lossless.data.com
45420 70 72 65 73 73 6f 72 0a 20 20 20 43 6f 70 79 72 69 67 68 74 20 28 43 29 20 32 30 30 38 2d 32 30 pressor....Copyright.(C).2008-20
45440 32 31 20 41 6e 74 6f 6e 69 6f 20 44 69 61 7a 20 44 69 61 7a 2e 0a 0a 20 20 20 54 68 69 73 20 70 21.Antonio.Diaz.Diaz......This.p
45460 72 6f 67 72 61 6d 20 69 73 20 66 72 65 65 20 73 6f 66 74 77 61 72 65 3a 20 79 6f 75 20 63 61 6e rogram.is.free.software:.you.can
45480 20 72 65 64 69 73 74 72 69 62 75 74 65 20 69 74 20 61 6e 64 2f 6f 72 20 6d 6f 64 69 66 79 0a 20 .redistribute.it.and/or.modify..
454a0 20 20 69 74 20 75 6e 64 65 72 20 74 68 65 20 74 65 72 6d 73 20 6f 66 20 74 68 65 20 47 4e 55 20 ..it.under.the.terms.of.the.GNU.
454c0 47 65 6e 65 72 61 6c 20 50 75 62 6c 69 63 20 4c 69 63 65 6e 73 65 20 61 73 20 70 75 62 6c 69 73 General.Public.License.as.publis
454e0 68 65 64 20 62 79 0a 20 20 20 74 68 65 20 46 72 65 65 20 53 6f 66 74 77 61 72 65 20 46 6f 75 6e hed.by....the.Free.Software.Foun
45500 64 61 74 69 6f 6e 2c 20 65 69 74 68 65 72 20 76 65 72 73 69 6f 6e 20 32 20 6f 66 20 74 68 65 20 dation,.either.version.2.of.the.
45520 4c 69 63 65 6e 73 65 2c 20 6f 72 0a 20 20 20 28 61 74 20 79 6f 75 72 20 6f 70 74 69 6f 6e 29 20 License,.or....(at.your.option).
45540 61 6e 79 20 6c 61 74 65 72 20 76 65 72 73 69 6f 6e 2e 0a 0a 20 20 20 54 68 69 73 20 70 72 6f 67 any.later.version......This.prog
45560 72 61 6d 20 69 73 20 64 69 73 74 72 69 62 75 74 65 64 20 69 6e 20 74 68 65 20 68 6f 70 65 20 74 ram.is.distributed.in.the.hope.t
45580 68 61 74 20 69 74 20 77 69 6c 6c 20 62 65 20 75 73 65 66 75 6c 2c 0a 20 20 20 62 75 74 20 57 49 hat.it.will.be.useful,....but.WI
455a0 54 48 4f 55 54 20 41 4e 59 20 57 41 52 52 41 4e 54 59 3b 20 77 69 74 68 6f 75 74 20 65 76 65 6e THOUT.ANY.WARRANTY;.without.even
455c0 20 74 68 65 20 69 6d 70 6c 69 65 64 20 77 61 72 72 61 6e 74 79 20 6f 66 0a 20 20 20 4d 45 52 43 .the.implied.warranty.of....MERC
455e0 48 41 4e 54 41 42 49 4c 49 54 59 20 6f 72 20 46 49 54 4e 45 53 53 20 46 4f 52 20 41 20 50 41 52 HANTABILITY.or.FITNESS.FOR.A.PAR
45600 54 49 43 55 4c 41 52 20 50 55 52 50 4f 53 45 2e 20 20 53 65 65 20 74 68 65 0a 20 20 20 47 4e 55 TICULAR.PURPOSE...See.the....GNU
45620 20 47 65 6e 65 72 61 6c 20 50 75 62 6c 69 63 20 4c 69 63 65 6e 73 65 20 66 6f 72 20 6d 6f 72 65 .General.Public.License.for.more
45640 20 64 65 74 61 69 6c 73 2e 0a 0a 20 20 20 59 6f 75 20 73 68 6f 75 6c 64 20 68 61 76 65 20 72 65 .details......You.should.have.re
45660 63 65 69 76 65 64 20 61 20 63 6f 70 79 20 6f 66 20 74 68 65 20 47 4e 55 20 47 65 6e 65 72 61 6c ceived.a.copy.of.the.GNU.General
45680 20 50 75 62 6c 69 63 20 4c 69 63 65 6e 73 65 0a 20 20 20 61 6c 6f 6e 67 20 77 69 74 68 20 74 68 .Public.License....along.with.th
456a0 69 73 20 70 72 6f 67 72 61 6d 2e 20 20 49 66 20 6e 6f 74 2c 20 73 65 65 20 3c 68 74 74 70 3a 2f is.program...If.not,.see.<http:/
456c0 2f 77 77 77 2e 67 6e 75 2e 6f 72 67 2f 6c 69 63 65 6e 73 65 73 2f 3e 2e 0a 2a 2f 0a 0a 23 64 65 /www.gnu.org/licenses/>..*/..#de
456e0 66 69 6e 65 20 5f 46 49 4c 45 5f 4f 46 46 53 45 54 5f 42 49 54 53 20 36 34 0a 0a 23 69 6e 63 6c fine._FILE_OFFSET_BITS.64..#incl
45700 75 64 65 20 3c 61 6c 67 6f 72 69 74 68 6d 3e 0a 23 69 6e 63 6c 75 64 65 20 3c 63 65 72 72 6e 6f ude.<algorithm>.#include.<cerrno
45720 3e 0a 23 69 6e 63 6c 75 64 65 20 3c 63 73 74 64 6c 69 62 3e 0a 23 69 6e 63 6c 75 64 65 20 3c 63 >.#include.<cstdlib>.#include.<c
45740 73 74 72 69 6e 67 3e 0a 23 69 6e 63 6c 75 64 65 20 3c 6e 65 77 3e 0a 23 69 6e 63 6c 75 64 65 20 string>.#include.<new>.#include.
45760 3c 73 74 72 69 6e 67 3e 0a 23 69 6e 63 6c 75 64 65 20 3c 76 65 63 74 6f 72 3e 0a 23 69 6e 63 6c <string>.#include.<vector>.#incl
45780 75 64 65 20 3c 73 74 64 69 6e 74 2e 68 3e 0a 0a 23 69 6e 63 6c 75 64 65 20 22 6c 7a 69 70 2e 68 ude.<stdint.h>..#include."lzip.h
457a0 22 0a 23 69 6e 63 6c 75 64 65 20 22 65 6e 63 6f 64 65 72 5f 62 61 73 65 2e 68 22 0a 0a 0a 44 69 ".#include."encoder_base.h"...Di
457c0 73 5f 73 6c 6f 74 73 20 64 69 73 5f 73 6c 6f 74 73 3b 0a 50 72 6f 62 5f 70 72 69 63 65 73 20 70 s_slots.dis_slots;.Prob_prices.p
457e0 72 6f 62 5f 70 72 69 63 65 73 3b 0a 0a 0a 62 6f 6f 6c 20 4d 61 74 63 68 66 69 6e 64 65 72 5f 62 rob_prices;...bool.Matchfinder_b
45800 61 73 65 3a 3a 72 65 61 64 5f 62 6c 6f 63 6b 28 29 0a 20 20 7b 0a 20 20 69 66 28 20 21 61 74 5f ase::read_block()...{...if(.!at_
45820 73 74 72 65 61 6d 5f 65 6e 64 20 26 26 20 73 74 72 65 61 6d 5f 70 6f 73 20 3c 20 62 75 66 66 65 stream_end.&&.stream_pos.<.buffe
45840 72 5f 73 69 7a 65 20 29 0a 20 20 20 20 7b 0a 20 20 20 20 63 6f 6e 73 74 20 69 6e 74 20 73 69 7a r_size.).....{.....const.int.siz
45860 65 20 3d 20 62 75 66 66 65 72 5f 73 69 7a 65 20 2d 20 73 74 72 65 61 6d 5f 70 6f 73 3b 0a 20 20 e.=.buffer_size.-.stream_pos;...
45880 20 20 63 6f 6e 73 74 20 69 6e 74 20 72 64 20 3d 20 72 65 61 64 62 6c 6f 63 6b 28 20 69 6e 66 64 ..const.int.rd.=.readblock(.infd
458a0 2c 20 62 75 66 66 65 72 20 2b 20 73 74 72 65 61 6d 5f 70 6f 73 2c 20 73 69 7a 65 20 29 3b 0a 20 ,.buffer.+.stream_pos,.size.);..
458c0 20 20 20 73 74 72 65 61 6d 5f 70 6f 73 20 2b 3d 20 72 64 3b 0a 20 20 20 20 69 66 28 20 72 64 20 ...stream_pos.+=.rd;.....if(.rd.
458e0 21 3d 20 73 69 7a 65 20 26 26 20 65 72 72 6e 6f 20 29 20 74 68 72 6f 77 20 45 72 72 6f 72 28 20 !=.size.&&.errno.).throw.Error(.
45900 22 52 65 61 64 20 65 72 72 6f 72 22 20 29 3b 0a 20 20 20 20 69 66 28 20 72 64 20 3c 20 73 69 7a "Read.error".);.....if(.rd.<.siz
45920 65 20 29 20 7b 20 61 74 5f 73 74 72 65 61 6d 5f 65 6e 64 20 3d 20 74 72 75 65 3b 20 70 6f 73 5f e.).{.at_stream_end.=.true;.pos_
45940 6c 69 6d 69 74 20 3d 20 62 75 66 66 65 72 5f 73 69 7a 65 3b 20 7d 0a 20 20 20 20 7d 0a 20 20 72 limit.=.buffer_size;.}.....}...r
45960 65 74 75 72 6e 20 70 6f 73 20 3c 20 73 74 72 65 61 6d 5f 70 6f 73 3b 0a 20 20 7d 0a 0a 0a 76 6f eturn.pos.<.stream_pos;...}...vo
45980 69 64 20 4d 61 74 63 68 66 69 6e 64 65 72 5f 62 61 73 65 3a 3a 6e 6f 72 6d 61 6c 69 7a 65 5f 70 id.Matchfinder_base::normalize_p
459a0 6f 73 28 29 0a 20 20 7b 0a 20 20 69 66 28 20 70 6f 73 20 3e 20 73 74 72 65 61 6d 5f 70 6f 73 20 os()...{...if(.pos.>.stream_pos.
459c0 29 0a 20 20 20 20 69 6e 74 65 72 6e 61 6c 5f 65 72 72 6f 72 28 20 22 70 6f 73 20 3e 20 73 74 72 ).....internal_error(."pos.>.str
459e0 65 61 6d 5f 70 6f 73 20 69 6e 20 6e 6f 72 6d 61 6c 69 7a 65 5f 70 6f 73 2e 22 20 29 3b 0a 20 20 eam_pos.in.normalize_pos.".);...
45a00 69 66 28 20 21 61 74 5f 73 74 72 65 61 6d 5f 65 6e 64 20 29 0a 20 20 20 20 7b 0a 20 20 20 20 2f if(.!at_stream_end.).....{...../
45a20 2f 20 6f 66 66 73 65 74 20 69 73 20 69 6e 74 33 32 5f 74 20 66 6f 72 20 74 68 65 20 73 74 64 3a /.offset.is.int32_t.for.the.std:
45a40 3a 6d 69 6e 20 62 65 6c 6f 77 0a 20 20 20 20 63 6f 6e 73 74 20 69 6e 74 33 32 5f 74 20 6f 66 66 :min.below.....const.int32_t.off
45a60 73 65 74 20 3d 20 70 6f 73 20 2d 20 62 65 66 6f 72 65 5f 73 69 7a 65 20 2d 20 64 69 63 74 69 6f set.=.pos.-.before_size.-.dictio
45a80 6e 61 72 79 5f 73 69 7a 65 3b 0a 20 20 20 20 63 6f 6e 73 74 20 69 6e 74 20 73 69 7a 65 20 3d 20 nary_size;.....const.int.size.=.
45aa0 73 74 72 65 61 6d 5f 70 6f 73 20 2d 20 6f 66 66 73 65 74 3b 0a 20 20 20 20 73 74 64 3a 3a 6d 65 stream_pos.-.offset;.....std::me
45ac0 6d 6d 6f 76 65 28 20 62 75 66 66 65 72 2c 20 62 75 66 66 65 72 20 2b 20 6f 66 66 73 65 74 2c 20 mmove(.buffer,.buffer.+.offset,.
45ae0 73 69 7a 65 20 29 3b 0a 20 20 20 20 70 61 72 74 69 61 6c 5f 64 61 74 61 5f 70 6f 73 20 2b 3d 20 size.);.....partial_data_pos.+=.
45b00 6f 66 66 73 65 74 3b 0a 20 20 20 20 70 6f 73 20 2d 3d 20 6f 66 66 73 65 74 3b 09 09 2f 2f 20 70 offset;.....pos.-=.offset;..//.p
45b20 6f 73 20 3d 20 62 65 66 6f 72 65 5f 73 69 7a 65 20 2b 20 64 69 63 74 69 6f 6e 61 72 79 5f 73 69 os.=.before_size.+.dictionary_si
45b40 7a 65 0a 20 20 20 20 73 74 72 65 61 6d 5f 70 6f 73 20 2d 3d 20 6f 66 66 73 65 74 3b 0a 20 20 20 ze.....stream_pos.-=.offset;....
45b60 20 66 6f 72 28 20 69 6e 74 20 69 20 3d 20 30 3b 20 69 20 3c 20 6e 75 6d 5f 70 72 65 76 5f 70 6f .for(.int.i.=.0;.i.<.num_prev_po
45b80 73 69 74 69 6f 6e 73 3b 20 2b 2b 69 20 29 0a 20 20 20 20 20 20 70 72 65 76 5f 70 6f 73 69 74 69 sitions;.++i.).......prev_positi
45ba0 6f 6e 73 5b 69 5d 20 2d 3d 20 73 74 64 3a 3a 6d 69 6e 28 20 70 72 65 76 5f 70 6f 73 69 74 69 6f ons[i].-=.std::min(.prev_positio
45bc0 6e 73 5b 69 5d 2c 20 6f 66 66 73 65 74 20 29 3b 0a 20 20 20 20 66 6f 72 28 20 69 6e 74 20 69 20 ns[i],.offset.);.....for(.int.i.
45be0 3d 20 30 3b 20 69 20 3c 20 70 6f 73 5f 61 72 72 61 79 5f 73 69 7a 65 3b 20 2b 2b 69 20 29 0a 20 =.0;.i.<.pos_array_size;.++i.)..
45c00 20 20 20 20 20 70 6f 73 5f 61 72 72 61 79 5b 69 5d 20 2d 3d 20 73 74 64 3a 3a 6d 69 6e 28 20 70 .....pos_array[i].-=.std::min(.p
45c20 6f 73 5f 61 72 72 61 79 5b 69 5d 2c 20 6f 66 66 73 65 74 20 29 3b 0a 20 20 20 20 72 65 61 64 5f os_array[i],.offset.);.....read_
45c40 62 6c 6f 63 6b 28 29 3b 0a 20 20 20 20 7d 0a 20 20 7d 0a 0a 0a 4d 61 74 63 68 66 69 6e 64 65 72 block();.....}...}...Matchfinder
45c60 5f 62 61 73 65 3a 3a 4d 61 74 63 68 66 69 6e 64 65 72 5f 62 61 73 65 28 20 63 6f 6e 73 74 20 69 _base::Matchfinder_base(.const.i
45c80 6e 74 20 62 65 66 6f 72 65 5f 73 69 7a 65 5f 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 nt.before_size_,................
45ca0 20 20 20 20 20 63 6f 6e 73 74 20 69 6e 74 20 64 69 63 74 5f 73 69 7a 65 2c 20 63 6f 6e 73 74 20 .....const.int.dict_size,.const.
45cc0 69 6e 74 20 61 66 74 65 72 5f 73 69 7a 65 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 int.after_size,.................
45ce0 20 20 20 20 63 6f 6e 73 74 20 69 6e 74 20 64 69 63 74 5f 66 61 63 74 6f 72 2c 20 63 6f 6e 73 74 ....const.int.dict_factor,.const
45d00 20 69 6e 74 20 6e 75 6d 5f 70 72 65 76 5f 70 6f 73 69 74 69 6f 6e 73 32 33 5f 2c 0a 20 20 20 20 .int.num_prev_positions23_,.....
45d20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 63 6f 6e 73 74 20 69 6e 74 20 70 6f 73 5f 61 72 ................const.int.pos_ar
45d40 72 61 79 5f 66 61 63 74 6f 72 2c 20 63 6f 6e 73 74 20 69 6e 74 20 69 66 64 20 29 0a 20 20 3a 0a ray_factor,.const.int.ifd.)...:.
45d60 20 20 70 61 72 74 69 61 6c 5f 64 61 74 61 5f 70 6f 73 28 20 30 20 29 2c 0a 20 20 62 65 66 6f 72 ..partial_data_pos(.0.),...befor
45d80 65 5f 73 69 7a 65 28 20 62 65 66 6f 72 65 5f 73 69 7a 65 5f 20 29 2c 0a 20 20 70 6f 73 28 20 30 e_size(.before_size_.),...pos(.0
45da0 20 29 2c 0a 20 20 63 79 63 6c 69 63 5f 70 6f 73 28 20 30 20 29 2c 0a 20 20 73 74 72 65 61 6d 5f .),...cyclic_pos(.0.),...stream_
45dc0 70 6f 73 28 20 30 20 29 2c 0a 20 20 6e 75 6d 5f 70 72 65 76 5f 70 6f 73 69 74 69 6f 6e 73 32 33 pos(.0.),...num_prev_positions23
45de0 28 20 6e 75 6d 5f 70 72 65 76 5f 70 6f 73 69 74 69 6f 6e 73 32 33 5f 20 29 2c 0a 20 20 69 6e 66 (.num_prev_positions23_.),...inf
45e00 64 28 20 69 66 64 20 29 2c 0a 20 20 61 74 5f 73 74 72 65 61 6d 5f 65 6e 64 28 20 66 61 6c 73 65 d(.ifd.),...at_stream_end(.false
45e20 20 29 0a 20 20 7b 0a 20 20 63 6f 6e 73 74 20 69 6e 74 20 62 75 66 66 65 72 5f 73 69 7a 65 5f 6c .)...{...const.int.buffer_size_l
45e40 69 6d 69 74 20 3d 0a 20 20 20 20 28 20 64 69 63 74 5f 66 61 63 74 6f 72 20 2a 20 64 69 63 74 5f imit.=.....(.dict_factor.*.dict_
45e60 73 69 7a 65 20 29 20 2b 20 62 65 66 6f 72 65 5f 73 69 7a 65 20 2b 20 61 66 74 65 72 5f 73 69 7a size.).+.before_size.+.after_siz
45e80 65 3b 0a 20 20 62 75 66 66 65 72 5f 73 69 7a 65 20 3d 20 73 74 64 3a 3a 6d 61 78 28 20 36 35 35 e;...buffer_size.=.std::max(.655
45ea0 33 36 2c 20 64 69 63 74 5f 73 69 7a 65 20 29 3b 0a 20 20 62 75 66 66 65 72 20 3d 20 28 75 69 6e 36,.dict_size.);...buffer.=.(uin
45ec0 74 38 5f 74 20 2a 29 73 74 64 3a 3a 6d 61 6c 6c 6f 63 28 20 62 75 66 66 65 72 5f 73 69 7a 65 20 t8_t.*)std::malloc(.buffer_size.
45ee0 29 3b 0a 20 20 69 66 28 20 21 62 75 66 66 65 72 20 29 20 74 68 72 6f 77 20 73 74 64 3a 3a 62 61 );...if(.!buffer.).throw.std::ba
45f00 64 5f 61 6c 6c 6f 63 28 29 3b 0a 20 20 69 66 28 20 72 65 61 64 5f 62 6c 6f 63 6b 28 29 20 26 26 d_alloc();...if(.read_block().&&
45f20 20 21 61 74 5f 73 74 72 65 61 6d 5f 65 6e 64 20 26 26 20 62 75 66 66 65 72 5f 73 69 7a 65 20 3c .!at_stream_end.&&.buffer_size.<
45f40 20 62 75 66 66 65 72 5f 73 69 7a 65 5f 6c 69 6d 69 74 20 29 0a 20 20 20 20 7b 0a 20 20 20 20 75 .buffer_size_limit.).....{.....u
45f60 69 6e 74 38 5f 74 20 2a 20 63 6f 6e 73 74 20 74 6d 70 20 3d 20 28 75 69 6e 74 38 5f 74 20 2a 29 int8_t.*.const.tmp.=.(uint8_t.*)
45f80 73 74 64 3a 3a 72 65 61 6c 6c 6f 63 28 20 62 75 66 66 65 72 2c 20 62 75 66 66 65 72 5f 73 69 7a std::realloc(.buffer,.buffer_siz
45fa0 65 5f 6c 69 6d 69 74 20 29 3b 0a 20 20 20 20 69 66 28 20 21 74 6d 70 20 29 20 7b 20 73 74 64 3a e_limit.);.....if(.!tmp.).{.std:
45fc0 3a 66 72 65 65 28 20 62 75 66 66 65 72 20 29 3b 20 74 68 72 6f 77 20 73 74 64 3a 3a 62 61 64 5f :free(.buffer.);.throw.std::bad_
45fe0 61 6c 6c 6f 63 28 29 3b 20 7d 0a 20 20 20 20 62 75 66 66 65 72 20 3d 20 74 6d 70 3b 0a 20 20 20 alloc();.}.....buffer.=.tmp;....
46000 20 62 75 66 66 65 72 5f 73 69 7a 65 20 3d 20 62 75 66 66 65 72 5f 73 69 7a 65 5f 6c 69 6d 69 74 .buffer_size.=.buffer_size_limit
46020 3b 0a 20 20 20 20 72 65 61 64 5f 62 6c 6f 63 6b 28 29 3b 0a 20 20 20 20 7d 0a 20 20 69 66 28 20 ;.....read_block();.....}...if(.
46040 61 74 5f 73 74 72 65 61 6d 5f 65 6e 64 20 26 26 20 73 74 72 65 61 6d 5f 70 6f 73 20 3c 20 64 69 at_stream_end.&&.stream_pos.<.di
46060 63 74 5f 73 69 7a 65 20 29 0a 20 20 20 20 64 69 63 74 69 6f 6e 61 72 79 5f 73 69 7a 65 20 3d 20 ct_size.).....dictionary_size.=.
46080 73 74 64 3a 3a 6d 61 78 28 20 28 69 6e 74 29 6d 69 6e 5f 64 69 63 74 69 6f 6e 61 72 79 5f 73 69 std::max(.(int)min_dictionary_si
460a0 7a 65 2c 20 73 74 72 65 61 6d 5f 70 6f 73 20 29 3b 0a 20 20 65 6c 73 65 0a 20 20 20 20 64 69 63 ze,.stream_pos.);...else.....dic
460c0 74 69 6f 6e 61 72 79 5f 73 69 7a 65 20 3d 20 64 69 63 74 5f 73 69 7a 65 3b 0a 20 20 70 6f 73 5f tionary_size.=.dict_size;...pos_
460e0 6c 69 6d 69 74 20 3d 20 62 75 66 66 65 72 5f 73 69 7a 65 3b 0a 20 20 69 66 28 20 21 61 74 5f 73 limit.=.buffer_size;...if(.!at_s
46100 74 72 65 61 6d 5f 65 6e 64 20 29 20 70 6f 73 5f 6c 69 6d 69 74 20 2d 3d 20 61 66 74 65 72 5f 73 tream_end.).pos_limit.-=.after_s
46120 69 7a 65 3b 0a 20 20 75 6e 73 69 67 6e 65 64 20 73 69 7a 65 20 3d 20 31 20 3c 3c 20 73 74 64 3a ize;...unsigned.size.=.1.<<.std:
46140 3a 6d 61 78 28 20 31 36 2c 20 72 65 61 6c 5f 62 69 74 73 28 20 64 69 63 74 69 6f 6e 61 72 79 5f :max(.16,.real_bits(.dictionary_
46160 73 69 7a 65 20 2d 20 31 20 29 20 2d 20 32 20 29 3b 0a 20 20 69 66 28 20 64 69 63 74 69 6f 6e 61 size.-.1.).-.2.);...if(.dictiona
46180 72 79 5f 73 69 7a 65 20 3e 20 31 20 3c 3c 20 32 36 20 29 09 09 2f 2f 20 36 34 20 4d 69 42 0a 20 ry_size.>.1.<<.26.)..//.64.MiB..
461a0 20 20 20 73 69 7a 65 20 3e 3e 3d 20 31 3b 0a 20 20 6b 65 79 34 5f 6d 61 73 6b 20 3d 20 73 69 7a ...size.>>=.1;...key4_mask.=.siz
461c0 65 20 2d 20 31 3b 09 09 09 2f 2f 20 69 6e 63 72 65 61 73 65 73 20 77 69 74 68 20 64 69 63 74 69 e.-.1;...//.increases.with.dicti
461e0 6f 6e 61 72 79 20 73 69 7a 65 0a 20 20 73 69 7a 65 20 2b 3d 20 6e 75 6d 5f 70 72 65 76 5f 70 6f onary.size...size.+=.num_prev_po
46200 73 69 74 69 6f 6e 73 32 33 3b 0a 20 20 6e 75 6d 5f 70 72 65 76 5f 70 6f 73 69 74 69 6f 6e 73 20 sitions23;...num_prev_positions.
46220 3d 20 73 69 7a 65 3b 0a 0a 20 20 70 6f 73 5f 61 72 72 61 79 5f 73 69 7a 65 20 3d 20 70 6f 73 5f =.size;....pos_array_size.=.pos_
46240 61 72 72 61 79 5f 66 61 63 74 6f 72 20 2a 20 28 20 64 69 63 74 69 6f 6e 61 72 79 5f 73 69 7a 65 array_factor.*.(.dictionary_size
46260 20 2b 20 31 20 29 3b 0a 20 20 73 69 7a 65 20 2b 3d 20 70 6f 73 5f 61 72 72 61 79 5f 73 69 7a 65 .+.1.);...size.+=.pos_array_size
46280 3b 0a 20 20 69 66 28 20 73 69 7a 65 20 2a 20 73 69 7a 65 6f 66 20 70 72 65 76 5f 70 6f 73 69 74 ;...if(.size.*.sizeof.prev_posit
462a0 69 6f 6e 73 5b 30 5d 20 3c 3d 20 73 69 7a 65 20 29 20 70 72 65 76 5f 70 6f 73 69 74 69 6f 6e 73 ions[0].<=.size.).prev_positions
462c0 20 3d 20 30 3b 0a 20 20 65 6c 73 65 20 70 72 65 76 5f 70 6f 73 69 74 69 6f 6e 73 20 3d 20 6e 65 .=.0;...else.prev_positions.=.ne
462e0 77 28 20 73 74 64 3a 3a 6e 6f 74 68 72 6f 77 20 29 20 69 6e 74 33 32 5f 74 5b 73 69 7a 65 5d 3b w(.std::nothrow.).int32_t[size];
46300 0a 20 20 69 66 28 20 21 70 72 65 76 5f 70 6f 73 69 74 69 6f 6e 73 20 29 20 7b 20 73 74 64 3a 3a ...if(.!prev_positions.).{.std::
46320 66 72 65 65 28 20 62 75 66 66 65 72 20 29 3b 20 74 68 72 6f 77 20 73 74 64 3a 3a 62 61 64 5f 61 free(.buffer.);.throw.std::bad_a
46340 6c 6c 6f 63 28 29 3b 20 7d 0a 20 20 70 6f 73 5f 61 72 72 61 79 20 3d 20 70 72 65 76 5f 70 6f 73 lloc();.}...pos_array.=.prev_pos
46360 69 74 69 6f 6e 73 20 2b 20 6e 75 6d 5f 70 72 65 76 5f 70 6f 73 69 74 69 6f 6e 73 3b 0a 20 20 66 itions.+.num_prev_positions;...f
46380 6f 72 28 20 69 6e 74 20 69 20 3d 20 30 3b 20 69 20 3c 20 6e 75 6d 5f 70 72 65 76 5f 70 6f 73 69 or(.int.i.=.0;.i.<.num_prev_posi
463a0 74 69 6f 6e 73 3b 20 2b 2b 69 20 29 20 70 72 65 76 5f 70 6f 73 69 74 69 6f 6e 73 5b 69 5d 20 3d tions;.++i.).prev_positions[i].=
463c0 20 30 3b 0a 20 20 7d 0a 0a 0a 76 6f 69 64 20 4d 61 74 63 68 66 69 6e 64 65 72 5f 62 61 73 65 3a .0;...}...void.Matchfinder_base:
463e0 3a 72 65 73 65 74 28 29 0a 20 20 7b 0a 20 20 69 66 28 20 73 74 72 65 61 6d 5f 70 6f 73 20 3e 20 :reset()...{...if(.stream_pos.>.
46400 70 6f 73 20 29 0a 20 20 20 20 73 74 64 3a 3a 6d 65 6d 6d 6f 76 65 28 20 62 75 66 66 65 72 2c 20 pos.).....std::memmove(.buffer,.
46420 62 75 66 66 65 72 20 2b 20 70 6f 73 2c 20 73 74 72 65 61 6d 5f 70 6f 73 20 2d 20 70 6f 73 20 29 buffer.+.pos,.stream_pos.-.pos.)
46440 3b 0a 20 20 70 61 72 74 69 61 6c 5f 64 61 74 61 5f 70 6f 73 20 3d 20 30 3b 0a 20 20 73 74 72 65 ;...partial_data_pos.=.0;...stre
46460 61 6d 5f 70 6f 73 20 2d 3d 20 70 6f 73 3b 0a 20 20 70 6f 73 20 3d 20 30 3b 0a 20 20 63 79 63 6c am_pos.-=.pos;...pos.=.0;...cycl
46480 69 63 5f 70 6f 73 20 3d 20 30 3b 0a 20 20 72 65 61 64 5f 62 6c 6f 63 6b 28 29 3b 0a 20 20 69 66 ic_pos.=.0;...read_block();...if
464a0 28 20 61 74 5f 73 74 72 65 61 6d 5f 65 6e 64 20 26 26 20 73 74 72 65 61 6d 5f 70 6f 73 20 3c 20 (.at_stream_end.&&.stream_pos.<.
464c0 64 69 63 74 69 6f 6e 61 72 79 5f 73 69 7a 65 20 29 0a 20 20 20 20 7b 0a 20 20 20 20 64 69 63 74 dictionary_size.).....{.....dict
464e0 69 6f 6e 61 72 79 5f 73 69 7a 65 20 3d 20 73 74 64 3a 3a 6d 61 78 28 20 28 69 6e 74 29 6d 69 6e ionary_size.=.std::max(.(int)min
46500 5f 64 69 63 74 69 6f 6e 61 72 79 5f 73 69 7a 65 2c 20 73 74 72 65 61 6d 5f 70 6f 73 20 29 3b 0a _dictionary_size,.stream_pos.);.
46520 20 20 20 20 69 6e 74 20 73 69 7a 65 20 3d 20 31 20 3c 3c 20 73 74 64 3a 3a 6d 61 78 28 20 31 36 ....int.size.=.1.<<.std::max(.16
46540 2c 20 72 65 61 6c 5f 62 69 74 73 28 20 64 69 63 74 69 6f 6e 61 72 79 5f 73 69 7a 65 20 2d 20 31 ,.real_bits(.dictionary_size.-.1
46560 20 29 20 2d 20 32 20 29 3b 0a 20 20 20 20 69 66 28 20 64 69 63 74 69 6f 6e 61 72 79 5f 73 69 7a .).-.2.);.....if(.dictionary_siz
46580 65 20 3e 20 31 20 3c 3c 20 32 36 20 29 09 09 2f 2f 20 36 34 20 4d 69 42 0a 20 20 20 20 20 20 73 e.>.1.<<.26.)..//.64.MiB.......s
465a0 69 7a 65 20 3e 3e 3d 20 31 3b 0a 20 20 20 20 6b 65 79 34 5f 6d 61 73 6b 20 3d 20 73 69 7a 65 20 ize.>>=.1;.....key4_mask.=.size.
465c0 2d 20 31 3b 0a 20 20 20 20 73 69 7a 65 20 2b 3d 20 6e 75 6d 5f 70 72 65 76 5f 70 6f 73 69 74 69 -.1;.....size.+=.num_prev_positi
465e0 6f 6e 73 32 33 3b 0a 20 20 20 20 6e 75 6d 5f 70 72 65 76 5f 70 6f 73 69 74 69 6f 6e 73 20 3d 20 ons23;.....num_prev_positions.=.
46600 73 69 7a 65 3b 0a 20 20 20 20 70 6f 73 5f 61 72 72 61 79 20 3d 20 70 72 65 76 5f 70 6f 73 69 74 size;.....pos_array.=.prev_posit
46620 69 6f 6e 73 20 2b 20 6e 75 6d 5f 70 72 65 76 5f 70 6f 73 69 74 69 6f 6e 73 3b 0a 20 20 20 20 7d ions.+.num_prev_positions;.....}
46640 0a 20 20 66 6f 72 28 20 69 6e 74 20 69 20 3d 20 30 3b 20 69 20 3c 20 6e 75 6d 5f 70 72 65 76 5f ...for(.int.i.=.0;.i.<.num_prev_
46660 70 6f 73 69 74 69 6f 6e 73 3b 20 2b 2b 69 20 29 20 70 72 65 76 5f 70 6f 73 69 74 69 6f 6e 73 5b positions;.++i.).prev_positions[
46680 69 5d 20 3d 20 30 3b 0a 20 20 7d 0a 0a 0a 76 6f 69 64 20 52 61 6e 67 65 5f 65 6e 63 6f 64 65 72 i].=.0;...}...void.Range_encoder
466a0 3a 3a 66 6c 75 73 68 5f 64 61 74 61 28 29 0a 20 20 7b 0a 20 20 69 66 28 20 70 6f 73 20 3e 20 30 ::flush_data()...{...if(.pos.>.0
466c0 20 29 0a 20 20 20 20 7b 0a 20 20 20 20 69 66 28 20 6f 75 74 66 64 20 3e 3d 20 30 20 26 26 20 77 .).....{.....if(.outfd.>=.0.&&.w
466e0 72 69 74 65 62 6c 6f 63 6b 28 20 6f 75 74 66 64 2c 20 62 75 66 66 65 72 2c 20 70 6f 73 20 29 20 riteblock(.outfd,.buffer,.pos.).
46700 21 3d 20 70 6f 73 20 29 0a 20 20 20 20 20 20 74 68 72 6f 77 20 45 72 72 6f 72 28 20 22 57 72 69 !=.pos.).......throw.Error(."Wri
46720 74 65 20 65 72 72 6f 72 22 20 29 3b 0a 20 20 20 20 70 61 72 74 69 61 6c 5f 6d 65 6d 62 65 72 5f te.error".);.....partial_member_
46740 70 6f 73 20 2b 3d 20 70 6f 73 3b 0a 20 20 20 20 70 6f 73 20 3d 20 30 3b 0a 20 20 20 20 73 68 6f pos.+=.pos;.....pos.=.0;.....sho
46760 77 5f 63 70 72 6f 67 72 65 73 73 28 29 3b 0a 20 20 20 20 7d 0a 20 20 7d 0a 0a 0a 2f 2f 20 45 6e w_cprogress();.....}...}...//.En
46780 64 20 4f 66 20 53 74 72 65 61 6d 20 6d 61 72 6b 65 72 20 3d 3e 20 28 64 69 73 20 3d 3d 20 30 78 d.Of.Stream.marker.=>.(dis.==.0x
467a0 46 46 46 46 46 46 46 46 55 2c 20 6c 65 6e 20 3d 3d 20 6d 69 6e 5f 6d 61 74 63 68 5f 6c 65 6e 29 FFFFFFFFU,.len.==.min_match_len)
467c0 0a 76 6f 69 64 20 4c 5a 5f 65 6e 63 6f 64 65 72 5f 62 61 73 65 3a 3a 66 75 6c 6c 5f 66 6c 75 73 .void.LZ_encoder_base::full_flus
467e0 68 28 20 63 6f 6e 73 74 20 53 74 61 74 65 20 73 74 61 74 65 20 29 0a 20 20 7b 0a 20 20 63 6f 6e h(.const.State.state.)...{...con
46800 73 74 20 69 6e 74 20 70 6f 73 5f 73 74 61 74 65 20 3d 20 64 61 74 61 5f 70 6f 73 69 74 69 6f 6e st.int.pos_state.=.data_position
46820 28 29 20 26 20 70 6f 73 5f 73 74 61 74 65 5f 6d 61 73 6b 3b 0a 20 20 72 65 6e 63 2e 65 6e 63 6f ().&.pos_state_mask;...renc.enco
46840 64 65 5f 62 69 74 28 20 62 6d 5f 6d 61 74 63 68 5b 73 74 61 74 65 28 29 5d 5b 70 6f 73 5f 73 74 de_bit(.bm_match[state()][pos_st
46860 61 74 65 5d 2c 20 31 20 29 3b 0a 20 20 72 65 6e 63 2e 65 6e 63 6f 64 65 5f 62 69 74 28 20 62 6d ate],.1.);...renc.encode_bit(.bm
46880 5f 72 65 70 5b 73 74 61 74 65 28 29 5d 2c 20 30 20 29 3b 0a 20 20 65 6e 63 6f 64 65 5f 70 61 69 _rep[state()],.0.);...encode_pai
468a0 72 28 20 30 78 46 46 46 46 46 46 46 46 55 2c 20 6d 69 6e 5f 6d 61 74 63 68 5f 6c 65 6e 2c 20 70 r(.0xFFFFFFFFU,.min_match_len,.p
468c0 6f 73 5f 73 74 61 74 65 20 29 3b 0a 20 20 72 65 6e 63 2e 66 6c 75 73 68 28 29 3b 0a 20 20 4c 7a os_state.);...renc.flush();...Lz
468e0 69 70 5f 74 72 61 69 6c 65 72 20 74 72 61 69 6c 65 72 3b 0a 20 20 74 72 61 69 6c 65 72 2e 64 61 ip_trailer.trailer;...trailer.da
46900 74 61 5f 63 72 63 28 20 63 72 63 28 29 20 29 3b 0a 20 20 74 72 61 69 6c 65 72 2e 64 61 74 61 5f ta_crc(.crc().);...trailer.data_
46920 73 69 7a 65 28 20 64 61 74 61 5f 70 6f 73 69 74 69 6f 6e 28 29 20 29 3b 0a 20 20 74 72 61 69 6c size(.data_position().);...trail
46940 65 72 2e 6d 65 6d 62 65 72 5f 73 69 7a 65 28 20 72 65 6e 63 2e 6d 65 6d 62 65 72 5f 70 6f 73 69 er.member_size(.renc.member_posi
46960 74 69 6f 6e 28 29 20 2b 20 4c 7a 69 70 5f 74 72 61 69 6c 65 72 3a 3a 73 69 7a 65 20 29 3b 0a 20 tion().+.Lzip_trailer::size.);..
46980 20 66 6f 72 28 20 69 6e 74 20 69 20 3d 20 30 3b 20 69 20 3c 20 4c 7a 69 70 5f 74 72 61 69 6c 65 .for(.int.i.=.0;.i.<.Lzip_traile
469a0 72 3a 3a 73 69 7a 65 3b 20 2b 2b 69 20 29 0a 20 20 20 20 72 65 6e 63 2e 70 75 74 5f 62 79 74 65 r::size;.++i.).....renc.put_byte
469c0 28 20 74 72 61 69 6c 65 72 2e 64 61 74 61 5b 69 5d 20 29 3b 0a 20 20 72 65 6e 63 2e 66 6c 75 73 (.trailer.data[i].);...renc.flus
469e0 68 5f 64 61 74 61 28 29 3b 0a 20 20 7d 0a 0a 0a 76 6f 69 64 20 4c 5a 5f 65 6e 63 6f 64 65 72 5f h_data();...}...void.LZ_encoder_
46a00 62 61 73 65 3a 3a 72 65 73 65 74 28 29 0a 20 20 7b 0a 20 20 4d 61 74 63 68 66 69 6e 64 65 72 5f base::reset()...{...Matchfinder_
46a20 62 61 73 65 3a 3a 72 65 73 65 74 28 29 3b 0a 20 20 63 72 63 5f 20 3d 20 30 78 46 46 46 46 46 46 base::reset();...crc_.=.0xFFFFFF
46a40 46 46 55 3b 0a 20 20 62 6d 5f 6c 69 74 65 72 61 6c 5b 30 5d 5b 30 5d 2e 72 65 73 65 74 28 20 28 FFU;...bm_literal[0][0].reset(.(
46a60 31 20 3c 3c 20 6c 69 74 65 72 61 6c 5f 63 6f 6e 74 65 78 74 5f 62 69 74 73 29 20 2a 20 30 78 33 1.<<.literal_context_bits).*.0x3
46a80 30 30 20 29 3b 0a 20 20 62 6d 5f 6d 61 74 63 68 5b 30 5d 5b 30 5d 2e 72 65 73 65 74 28 20 53 74 00.);...bm_match[0][0].reset(.St
46aa0 61 74 65 3a 3a 73 74 61 74 65 73 20 2a 20 70 6f 73 5f 73 74 61 74 65 73 20 29 3b 0a 20 20 62 6d ate::states.*.pos_states.);...bm
46ac0 5f 72 65 70 5b 30 5d 2e 72 65 73 65 74 28 20 53 74 61 74 65 3a 3a 73 74 61 74 65 73 20 29 3b 0a _rep[0].reset(.State::states.);.
46ae0 20 20 62 6d 5f 72 65 70 30 5b 30 5d 2e 72 65 73 65 74 28 20 53 74 61 74 65 3a 3a 73 74 61 74 65 ..bm_rep0[0].reset(.State::state
46b00 73 20 29 3b 0a 20 20 62 6d 5f 72 65 70 31 5b 30 5d 2e 72 65 73 65 74 28 20 53 74 61 74 65 3a 3a s.);...bm_rep1[0].reset(.State::
46b20 73 74 61 74 65 73 20 29 3b 0a 20 20 62 6d 5f 72 65 70 32 5b 30 5d 2e 72 65 73 65 74 28 20 53 74 states.);...bm_rep2[0].reset(.St
46b40 61 74 65 3a 3a 73 74 61 74 65 73 20 29 3b 0a 20 20 62 6d 5f 6c 65 6e 5b 30 5d 5b 30 5d 2e 72 65 ate::states.);...bm_len[0][0].re
46b60 73 65 74 28 20 53 74 61 74 65 3a 3a 73 74 61 74 65 73 20 2a 20 70 6f 73 5f 73 74 61 74 65 73 20 set(.State::states.*.pos_states.
46b80 29 3b 0a 20 20 62 6d 5f 64 69 73 5f 73 6c 6f 74 5b 30 5d 5b 30 5d 2e 72 65 73 65 74 28 20 6c 65 );...bm_dis_slot[0][0].reset(.le
46ba0 6e 5f 73 74 61 74 65 73 20 2a 20 28 31 20 3c 3c 20 64 69 73 5f 73 6c 6f 74 5f 62 69 74 73 29 20 n_states.*.(1.<<.dis_slot_bits).
46bc0 29 3b 0a 20 20 62 6d 5f 64 69 73 5b 30 5d 2e 72 65 73 65 74 28 20 6d 6f 64 65 6c 65 64 5f 64 69 );...bm_dis[0].reset(.modeled_di
46be0 73 74 61 6e 63 65 73 20 2d 20 65 6e 64 5f 64 69 73 5f 6d 6f 64 65 6c 20 2b 20 31 20 29 3b 0a 20 stances.-.end_dis_model.+.1.);..
46c00 20 62 6d 5f 61 6c 69 67 6e 5b 30 5d 2e 72 65 73 65 74 28 20 64 69 73 5f 61 6c 69 67 6e 5f 73 69 .bm_align[0].reset(.dis_align_si
46c20 7a 65 20 29 3b 0a 20 20 6d 61 74 63 68 5f 6c 65 6e 5f 6d 6f 64 65 6c 2e 72 65 73 65 74 28 29 3b ze.);...match_len_model.reset();
46c40 0a 20 20 72 65 70 5f 6c 65 6e 5f 6d 6f 64 65 6c 2e 72 65 73 65 74 28 29 3b 0a 20 20 72 65 6e 63 ...rep_len_model.reset();...renc
46c60 2e 72 65 73 65 74 28 20 64 69 63 74 69 6f 6e 61 72 79 5f 73 69 7a 65 20 29 3b 0a 20 20 7d 0a 00 .reset(.dictionary_size.);...}..
46c80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
46ca0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
46cc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
46ce0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
46d00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
46d20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
46d40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
46d60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
46d80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
46da0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
46dc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
46de0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
46e00 6c 7a 69 70 2d 31 2e 32 32 2f 52 45 41 44 4d 45 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 lzip-1.22/README................
46e20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
46e40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
46e60 00 00 00 00 30 30 30 30 36 34 34 00 30 30 30 30 30 30 30 00 30 30 30 30 30 30 30 00 30 30 30 30 ....0000644.0000000.0000000.0000
46e80 30 30 31 35 31 34 31 00 31 33 37 37 34 36 34 36 32 36 32 00 30 31 33 33 31 35 00 20 30 00 00 00 0015141.13774646262.013315..0...
46ea0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
46ec0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
46ee0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
46f00 00 75 73 74 61 72 00 30 30 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .ustar.00root...................
46f20 00 00 00 00 00 00 00 00 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .........root...................
46f40 00 00 00 00 00 00 00 00 00 30 30 30 30 30 30 30 00 30 30 30 30 30 30 30 00 00 00 00 00 00 00 00 .........0000000.0000000........
46f60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
46f80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
46fa0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
46fc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
46fe0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
47000 44 65 73 63 72 69 70 74 69 6f 6e 0a 0a 4c 7a 69 70 20 69 73 20 61 20 6c 6f 73 73 6c 65 73 73 20 Description..Lzip.is.a.lossless.
47020 64 61 74 61 20 63 6f 6d 70 72 65 73 73 6f 72 20 77 69 74 68 20 61 20 75 73 65 72 20 69 6e 74 65 data.compressor.with.a.user.inte
47040 72 66 61 63 65 20 73 69 6d 69 6c 61 72 20 74 6f 20 74 68 65 20 6f 6e 65 0a 6f 66 20 67 7a 69 70 rface.similar.to.the.one.of.gzip
47060 20 6f 72 20 62 7a 69 70 32 2e 20 4c 7a 69 70 20 75 73 65 73 20 61 20 73 69 6d 70 6c 69 66 69 65 .or.bzip2..Lzip.uses.a.simplifie
47080 64 20 66 6f 72 6d 20 6f 66 20 74 68 65 20 27 4c 65 6d 70 65 6c 2d 5a 69 76 2d 4d 61 72 6b 6f 76 d.form.of.the.'Lempel-Ziv-Markov
470a0 0a 63 68 61 69 6e 2d 41 6c 67 6f 72 69 74 68 6d 27 20 28 4c 5a 4d 41 29 20 73 74 72 65 61 6d 20 .chain-Algorithm'.(LZMA).stream.
470c0 66 6f 72 6d 61 74 2c 20 63 68 6f 73 65 6e 20 74 6f 20 6d 61 78 69 6d 69 7a 65 20 73 61 66 65 74 format,.chosen.to.maximize.safet
470e0 79 20 61 6e 64 0a 69 6e 74 65 72 6f 70 65 72 61 62 69 6c 69 74 79 2e 20 4c 7a 69 70 20 63 61 6e y.and.interoperability..Lzip.can
47100 20 63 6f 6d 70 72 65 73 73 20 61 62 6f 75 74 20 61 73 20 66 61 73 74 20 61 73 20 67 7a 69 70 20 .compress.about.as.fast.as.gzip.
47120 28 6c 7a 69 70 20 2d 30 29 20 6f 72 0a 63 6f 6d 70 72 65 73 73 20 6d 6f 73 74 20 66 69 6c 65 73 (lzip.-0).or.compress.most.files
47140 20 6d 6f 72 65 20 74 68 61 6e 20 62 7a 69 70 32 20 28 6c 7a 69 70 20 2d 39 29 2e 20 44 65 63 6f .more.than.bzip2.(lzip.-9)..Deco
47160 6d 70 72 65 73 73 69 6f 6e 20 73 70 65 65 64 20 69 73 0a 69 6e 74 65 72 6d 65 64 69 61 74 65 20 mpression.speed.is.intermediate.
47180 62 65 74 77 65 65 6e 20 67 7a 69 70 20 61 6e 64 20 62 7a 69 70 32 2e 20 4c 7a 69 70 20 69 73 20 between.gzip.and.bzip2..Lzip.is.
471a0 62 65 74 74 65 72 20 74 68 61 6e 20 67 7a 69 70 20 61 6e 64 20 62 7a 69 70 32 20 66 72 6f 6d 0a better.than.gzip.and.bzip2.from.
471c0 61 20 64 61 74 61 20 72 65 63 6f 76 65 72 79 20 70 65 72 73 70 65 63 74 69 76 65 2e 20 4c 7a 69 a.data.recovery.perspective..Lzi
471e0 70 20 68 61 73 20 62 65 65 6e 20 64 65 73 69 67 6e 65 64 2c 20 77 72 69 74 74 65 6e 2c 20 61 6e p.has.been.designed,.written,.an
47200 64 20 74 65 73 74 65 64 0a 77 69 74 68 20 67 72 65 61 74 20 63 61 72 65 20 74 6f 20 72 65 70 6c d.tested.with.great.care.to.repl
47220 61 63 65 20 67 7a 69 70 20 61 6e 64 20 62 7a 69 70 32 20 61 73 20 74 68 65 20 73 74 61 6e 64 61 ace.gzip.and.bzip2.as.the.standa
47240 72 64 20 67 65 6e 65 72 61 6c 2d 70 75 72 70 6f 73 65 0a 63 6f 6d 70 72 65 73 73 65 64 20 66 6f rd.general-purpose.compressed.fo
47260 72 6d 61 74 20 66 6f 72 20 75 6e 69 78 2d 6c 69 6b 65 20 73 79 73 74 65 6d 73 2e 0a 0a 46 6f 72 rmat.for.unix-like.systems...For
47280 20 63 6f 6d 70 72 65 73 73 69 6e 67 2f 64 65 63 6f 6d 70 72 65 73 73 69 6e 67 20 6c 61 72 67 65 .compressing/decompressing.large
472a0 20 66 69 6c 65 73 20 6f 6e 20 6d 75 6c 74 69 70 72 6f 63 65 73 73 6f 72 20 6d 61 63 68 69 6e 65 .files.on.multiprocessor.machine
472c0 73 20 70 6c 7a 69 70 0a 63 61 6e 20 62 65 20 6d 75 63 68 20 66 61 73 74 65 72 20 74 68 61 6e 20 s.plzip.can.be.much.faster.than.
472e0 6c 7a 69 70 20 61 74 20 74 68 65 20 63 6f 73 74 20 6f 66 20 61 20 73 6c 69 67 68 74 6c 79 20 72 lzip.at.the.cost.of.a.slightly.r
47300 65 64 75 63 65 64 20 63 6f 6d 70 72 65 73 73 69 6f 6e 0a 72 61 74 69 6f 2e 0a 0a 46 6f 72 20 63 educed.compression.ratio...For.c
47320 72 65 61 74 69 6f 6e 20 61 6e 64 20 6d 61 6e 69 70 75 6c 61 74 69 6f 6e 20 6f 66 20 63 6f 6d 70 reation.and.manipulation.of.comp
47340 72 65 73 73 65 64 20 74 61 72 20 61 72 63 68 69 76 65 73 20 74 61 72 6c 7a 20 63 61 6e 20 62 65 ressed.tar.archives.tarlz.can.be
47360 20 6d 6f 72 65 0a 65 66 66 69 63 69 65 6e 74 20 74 68 61 6e 20 75 73 69 6e 67 20 74 61 72 20 61 .more.efficient.than.using.tar.a
47380 6e 64 20 70 6c 7a 69 70 20 62 65 63 61 75 73 65 20 74 61 72 6c 7a 20 69 73 20 61 62 6c 65 20 74 nd.plzip.because.tarlz.is.able.t
473a0 6f 20 6b 65 65 70 20 74 68 65 0a 61 6c 69 67 6e 6d 65 6e 74 20 62 65 74 77 65 65 6e 20 74 61 72 o.keep.the.alignment.between.tar
473c0 20 6d 65 6d 62 65 72 73 20 61 6e 64 20 6c 7a 69 70 20 6d 65 6d 62 65 72 73 2e 0a 0a 54 68 65 20 .members.and.lzip.members...The.
473e0 6c 7a 69 70 20 66 69 6c 65 20 66 6f 72 6d 61 74 20 69 73 20 64 65 73 69 67 6e 65 64 20 66 6f 72 lzip.file.format.is.designed.for
47400 20 64 61 74 61 20 73 68 61 72 69 6e 67 20 61 6e 64 20 6c 6f 6e 67 2d 74 65 72 6d 20 61 72 63 68 .data.sharing.and.long-term.arch
47420 69 76 69 6e 67 2c 0a 74 61 6b 69 6e 67 20 69 6e 74 6f 20 61 63 63 6f 75 6e 74 20 62 6f 74 68 20 iving,.taking.into.account.both.
47440 64 61 74 61 20 69 6e 74 65 67 72 69 74 79 20 61 6e 64 20 64 65 63 6f 64 65 72 20 61 76 61 69 6c data.integrity.and.decoder.avail
47460 61 62 69 6c 69 74 79 3a 0a 0a 20 20 20 2a 20 54 68 65 20 6c 7a 69 70 20 66 6f 72 6d 61 74 20 70 ability:.....*.The.lzip.format.p
47480 72 6f 76 69 64 65 73 20 76 65 72 79 20 73 61 66 65 20 69 6e 74 65 67 72 69 74 79 20 63 68 65 63 rovides.very.safe.integrity.chec
474a0 6b 69 6e 67 20 61 6e 64 20 73 6f 6d 65 20 64 61 74 61 0a 20 20 20 20 20 72 65 63 6f 76 65 72 79 king.and.some.data......recovery
474c0 20 6d 65 61 6e 73 2e 20 54 68 65 20 70 72 6f 67 72 61 6d 20 6c 7a 69 70 72 65 63 6f 76 65 72 20 .means..The.program.lziprecover.
474e0 63 61 6e 20 72 65 70 61 69 72 20 62 69 74 20 66 6c 69 70 20 65 72 72 6f 72 73 0a 20 20 20 20 20 can.repair.bit.flip.errors......
47500 28 6f 6e 65 20 6f 66 20 74 68 65 20 6d 6f 73 74 20 63 6f 6d 6d 6f 6e 20 66 6f 72 6d 73 20 6f 66 (one.of.the.most.common.forms.of
47520 20 64 61 74 61 20 63 6f 72 72 75 70 74 69 6f 6e 29 20 69 6e 20 6c 7a 69 70 20 66 69 6c 65 73 2c .data.corruption).in.lzip.files,
47540 20 61 6e 64 0a 20 20 20 20 20 70 72 6f 76 69 64 65 73 20 64 61 74 61 20 72 65 63 6f 76 65 72 79 .and......provides.data.recovery
47560 20 63 61 70 61 62 69 6c 69 74 69 65 73 2c 20 69 6e 63 6c 75 64 69 6e 67 20 65 72 72 6f 72 2d 63 .capabilities,.including.error-c
47580 68 65 63 6b 65 64 20 6d 65 72 67 69 6e 67 0a 20 20 20 20 20 6f 66 20 64 61 6d 61 67 65 64 20 63 hecked.merging......of.damaged.c
475a0 6f 70 69 65 73 20 6f 66 20 61 20 66 69 6c 65 2e 0a 0a 20 20 20 2a 20 54 68 65 20 6c 7a 69 70 20 opies.of.a.file......*.The.lzip.
475c0 66 6f 72 6d 61 74 20 69 73 20 61 73 20 73 69 6d 70 6c 65 20 61 73 20 70 6f 73 73 69 62 6c 65 20 format.is.as.simple.as.possible.
475e0 28 62 75 74 20 6e 6f 74 20 73 69 6d 70 6c 65 72 29 2e 20 54 68 65 20 6c 7a 69 70 0a 20 20 20 20 (but.not.simpler)..The.lzip.....
47600 20 6d 61 6e 75 61 6c 20 70 72 6f 76 69 64 65 73 20 74 68 65 20 73 6f 75 72 63 65 20 63 6f 64 65 .manual.provides.the.source.code
47620 20 6f 66 20 61 20 73 69 6d 70 6c 65 20 64 65 63 6f 6d 70 72 65 73 73 6f 72 20 61 6c 6f 6e 67 20 .of.a.simple.decompressor.along.
47640 77 69 74 68 20 61 0a 20 20 20 20 20 64 65 74 61 69 6c 65 64 20 65 78 70 6c 61 6e 61 74 69 6f 6e with.a......detailed.explanation
47660 20 6f 66 20 68 6f 77 20 69 74 20 77 6f 72 6b 73 2c 20 73 6f 20 74 68 61 74 20 77 69 74 68 20 74 .of.how.it.works,.so.that.with.t
47680 68 65 20 6f 6e 6c 79 20 68 65 6c 70 20 6f 66 20 74 68 65 0a 20 20 20 20 20 6c 7a 69 70 20 6d 61 he.only.help.of.the......lzip.ma
476a0 6e 75 61 6c 20 69 74 20 77 6f 75 6c 64 20 62 65 20 70 6f 73 73 69 62 6c 65 20 66 6f 72 20 61 20 nual.it.would.be.possible.for.a.
476c0 64 69 67 69 74 61 6c 20 61 72 63 68 61 65 6f 6c 6f 67 69 73 74 20 74 6f 20 65 78 74 72 61 63 74 digital.archaeologist.to.extract
476e0 0a 20 20 20 20 20 74 68 65 20 64 61 74 61 20 66 72 6f 6d 20 61 20 6c 7a 69 70 20 66 69 6c 65 20 ......the.data.from.a.lzip.file.
47700 6c 6f 6e 67 20 61 66 74 65 72 20 71 75 61 6e 74 75 6d 20 63 6f 6d 70 75 74 65 72 73 20 65 76 65 long.after.quantum.computers.eve
47720 6e 74 75 61 6c 6c 79 0a 20 20 20 20 20 72 65 6e 64 65 72 20 4c 5a 4d 41 20 6f 62 73 6f 6c 65 74 ntually......render.LZMA.obsolet
47740 65 2e 0a 0a 20 20 20 2a 20 41 64 64 69 74 69 6f 6e 61 6c 6c 79 20 74 68 65 20 6c 7a 69 70 20 72 e......*.Additionally.the.lzip.r
47760 65 66 65 72 65 6e 63 65 20 69 6d 70 6c 65 6d 65 6e 74 61 74 69 6f 6e 20 69 73 20 63 6f 70 79 6c eference.implementation.is.copyl
47780 65 66 74 65 64 2c 20 77 68 69 63 68 0a 20 20 20 20 20 67 75 61 72 61 6e 74 65 65 73 20 74 68 61 efted,.which......guarantees.tha
477a0 74 20 69 74 20 77 69 6c 6c 20 72 65 6d 61 69 6e 20 66 72 65 65 20 66 6f 72 65 76 65 72 2e 0a 0a t.it.will.remain.free.forever...
477c0 41 20 6e 69 63 65 20 66 65 61 74 75 72 65 20 6f 66 20 74 68 65 20 6c 7a 69 70 20 66 6f 72 6d 61 A.nice.feature.of.the.lzip.forma
477e0 74 20 69 73 20 74 68 61 74 20 61 20 63 6f 72 72 75 70 74 20 62 79 74 65 20 69 73 20 65 61 73 69 t.is.that.a.corrupt.byte.is.easi
47800 65 72 20 74 6f 20 72 65 70 61 69 72 0a 74 68 65 20 6e 65 61 72 65 72 20 69 74 20 69 73 20 66 72 er.to.repair.the.nearer.it.is.fr
47820 6f 6d 20 74 68 65 20 62 65 67 69 6e 6e 69 6e 67 20 6f 66 20 74 68 65 20 66 69 6c 65 2e 20 54 68 om.the.beginning.of.the.file..Th
47840 65 72 65 66 6f 72 65 2c 20 77 69 74 68 20 74 68 65 20 68 65 6c 70 20 6f 66 0a 6c 7a 69 70 72 65 erefore,.with.the.help.of.lzipre
47860 63 6f 76 65 72 2c 20 6c 6f 73 69 6e 67 20 61 6e 20 65 6e 74 69 72 65 20 61 72 63 68 69 76 65 20 cover,.losing.an.entire.archive.
47880 6a 75 73 74 20 62 65 63 61 75 73 65 20 6f 66 20 61 20 63 6f 72 72 75 70 74 20 62 79 74 65 20 6e just.because.of.a.corrupt.byte.n
478a0 65 61 72 0a 74 68 65 20 62 65 67 69 6e 6e 69 6e 67 20 69 73 20 61 20 74 68 69 6e 67 20 6f 66 20 ear.the.beginning.is.a.thing.of.
478c0 74 68 65 20 70 61 73 74 2e 0a 0a 4c 7a 69 70 20 75 73 65 73 20 74 68 65 20 73 61 6d 65 20 77 65 the.past...Lzip.uses.the.same.we
478e0 6c 6c 2d 64 65 66 69 6e 65 64 20 65 78 69 74 20 73 74 61 74 75 73 20 76 61 6c 75 65 73 20 75 73 ll-defined.exit.status.values.us
47900 65 64 20 62 79 20 62 7a 69 70 32 2c 20 77 68 69 63 68 0a 6d 61 6b 65 73 20 69 74 20 73 61 66 65 ed.by.bzip2,.which.makes.it.safe
47920 72 20 74 68 61 6e 20 63 6f 6d 70 72 65 73 73 6f 72 73 20 72 65 74 75 72 6e 69 6e 67 20 61 6d 62 r.than.compressors.returning.amb
47940 69 67 75 6f 75 73 20 77 61 72 6e 69 6e 67 20 76 61 6c 75 65 73 20 28 6c 69 6b 65 0a 67 7a 69 70 iguous.warning.values.(like.gzip
47960 29 20 77 68 65 6e 20 69 74 20 69 73 20 75 73 65 64 20 61 73 20 61 20 62 61 63 6b 20 65 6e 64 20 ).when.it.is.used.as.a.back.end.
47980 66 6f 72 20 6f 74 68 65 72 20 70 72 6f 67 72 61 6d 73 20 6c 69 6b 65 20 74 61 72 20 6f 72 20 7a for.other.programs.like.tar.or.z
479a0 75 74 69 6c 73 2e 0a 0a 4c 7a 69 70 20 77 69 6c 6c 20 61 75 74 6f 6d 61 74 69 63 61 6c 6c 79 20 utils...Lzip.will.automatically.
479c0 75 73 65 20 66 6f 72 20 65 61 63 68 20 66 69 6c 65 20 74 68 65 20 6c 61 72 67 65 73 74 20 64 69 use.for.each.file.the.largest.di
479e0 63 74 69 6f 6e 61 72 79 20 73 69 7a 65 20 74 68 61 74 0a 64 6f 65 73 20 6e 6f 74 20 65 78 63 65 ctionary.size.that.does.not.exce
47a00 65 64 20 6e 65 69 74 68 65 72 20 74 68 65 20 66 69 6c 65 20 73 69 7a 65 20 6e 6f 72 20 74 68 65 ed.neither.the.file.size.nor.the
47a20 20 6c 69 6d 69 74 20 67 69 76 65 6e 2e 20 4b 65 65 70 20 69 6e 20 6d 69 6e 64 20 74 68 61 74 0a .limit.given..Keep.in.mind.that.
47a40 74 68 65 20 64 65 63 6f 6d 70 72 65 73 73 69 6f 6e 20 6d 65 6d 6f 72 79 20 72 65 71 75 69 72 65 the.decompression.memory.require
47a60 6d 65 6e 74 20 69 73 20 61 66 66 65 63 74 65 64 20 61 74 20 63 6f 6d 70 72 65 73 73 69 6f 6e 20 ment.is.affected.at.compression.
47a80 74 69 6d 65 20 62 79 20 74 68 65 0a 63 68 6f 69 63 65 20 6f 66 20 64 69 63 74 69 6f 6e 61 72 79 time.by.the.choice.of.dictionary
47aa0 20 73 69 7a 65 20 6c 69 6d 69 74 2e 0a 0a 54 68 65 20 61 6d 6f 75 6e 74 20 6f 66 20 6d 65 6d 6f .size.limit...The.amount.of.memo
47ac0 72 79 20 72 65 71 75 69 72 65 64 20 66 6f 72 20 63 6f 6d 70 72 65 73 73 69 6f 6e 20 69 73 20 61 ry.required.for.compression.is.a
47ae0 62 6f 75 74 20 31 20 6f 72 20 32 20 74 69 6d 65 73 20 74 68 65 0a 64 69 63 74 69 6f 6e 61 72 79 bout.1.or.2.times.the.dictionary
47b00 20 73 69 7a 65 20 6c 69 6d 69 74 20 28 31 20 69 66 20 69 6e 70 75 74 20 66 69 6c 65 20 73 69 7a .size.limit.(1.if.input.file.siz
47b20 65 20 69 73 20 6c 65 73 73 20 74 68 61 6e 20 64 69 63 74 69 6f 6e 61 72 79 20 73 69 7a 65 0a 6c e.is.less.than.dictionary.size.l
47b40 69 6d 69 74 2c 20 65 6c 73 65 20 32 29 20 70 6c 75 73 20 39 20 74 69 6d 65 73 20 74 68 65 20 64 imit,.else.2).plus.9.times.the.d
47b60 69 63 74 69 6f 6e 61 72 79 20 73 69 7a 65 20 72 65 61 6c 6c 79 20 75 73 65 64 2e 20 54 68 65 20 ictionary.size.really.used..The.
47b80 6f 70 74 69 6f 6e 20 27 2d 30 27 0a 69 73 20 73 70 65 63 69 61 6c 20 61 6e 64 20 6f 6e 6c 79 20 option.'-0'.is.special.and.only.
47ba0 72 65 71 75 69 72 65 73 20 61 62 6f 75 74 20 31 2e 35 20 4d 69 42 20 61 74 20 6d 6f 73 74 2e 20 requires.about.1.5.MiB.at.most..
47bc0 54 68 65 20 61 6d 6f 75 6e 74 20 6f 66 20 6d 65 6d 6f 72 79 0a 72 65 71 75 69 72 65 64 20 66 6f The.amount.of.memory.required.fo
47be0 72 20 64 65 63 6f 6d 70 72 65 73 73 69 6f 6e 20 69 73 20 61 62 6f 75 74 20 34 36 20 6b 42 20 6c r.decompression.is.about.46.kB.l
47c00 61 72 67 65 72 20 74 68 61 6e 20 74 68 65 20 64 69 63 74 69 6f 6e 61 72 79 20 73 69 7a 65 0a 72 arger.than.the.dictionary.size.r
47c20 65 61 6c 6c 79 20 75 73 65 64 2e 0a 0a 57 68 65 6e 20 63 6f 6d 70 72 65 73 73 69 6e 67 2c 20 6c eally.used...When.compressing,.l
47c40 7a 69 70 20 72 65 70 6c 61 63 65 73 20 65 76 65 72 79 20 66 69 6c 65 20 67 69 76 65 6e 20 69 6e zip.replaces.every.file.given.in
47c60 20 74 68 65 20 63 6f 6d 6d 61 6e 64 20 6c 69 6e 65 0a 77 69 74 68 20 61 20 63 6f 6d 70 72 65 73 .the.command.line.with.a.compres
47c80 73 65 64 20 76 65 72 73 69 6f 6e 20 6f 66 20 69 74 73 65 6c 66 2c 20 77 69 74 68 20 74 68 65 20 sed.version.of.itself,.with.the.
47ca0 6e 61 6d 65 20 22 6f 72 69 67 69 6e 61 6c 5f 6e 61 6d 65 2e 6c 7a 22 2e 0a 57 68 65 6e 20 64 65 name."original_name.lz"..When.de
47cc0 63 6f 6d 70 72 65 73 73 69 6e 67 2c 20 6c 7a 69 70 20 61 74 74 65 6d 70 74 73 20 74 6f 20 67 75 compressing,.lzip.attempts.to.gu
47ce0 65 73 73 20 74 68 65 20 6e 61 6d 65 20 66 6f 72 20 74 68 65 20 64 65 63 6f 6d 70 72 65 73 73 65 ess.the.name.for.the.decompresse
47d00 64 0a 66 69 6c 65 20 66 72 6f 6d 20 74 68 61 74 20 6f 66 20 74 68 65 20 63 6f 6d 70 72 65 73 73 d.file.from.that.of.the.compress
47d20 65 64 20 66 69 6c 65 20 61 73 20 66 6f 6c 6c 6f 77 73 3a 0a 0a 66 69 6c 65 6e 61 6d 65 2e 6c 7a ed.file.as.follows:..filename.lz
47d40 20 20 20 20 62 65 63 6f 6d 65 73 20 20 20 66 69 6c 65 6e 61 6d 65 0a 66 69 6c 65 6e 61 6d 65 2e ....becomes...filename.filename.
47d60 74 6c 7a 20 20 20 62 65 63 6f 6d 65 73 20 20 20 66 69 6c 65 6e 61 6d 65 2e 74 61 72 0a 61 6e 79 tlz...becomes...filename.tar.any
47d80 6f 74 68 65 72 6e 61 6d 65 20 20 20 62 65 63 6f 6d 65 73 20 20 20 61 6e 79 6f 74 68 65 72 6e 61 othername...becomes...anyotherna
47da0 6d 65 2e 6f 75 74 0a 0a 28 44 65 29 63 6f 6d 70 72 65 73 73 69 6e 67 20 61 20 66 69 6c 65 20 69 me.out..(De)compressing.a.file.i
47dc0 73 20 6d 75 63 68 20 6c 69 6b 65 20 63 6f 70 79 69 6e 67 20 6f 72 20 6d 6f 76 69 6e 67 20 69 74 s.much.like.copying.or.moving.it
47de0 3b 20 74 68 65 72 65 66 6f 72 65 20 6c 7a 69 70 0a 70 72 65 73 65 72 76 65 73 20 74 68 65 20 61 ;.therefore.lzip.preserves.the.a
47e00 63 63 65 73 73 20 61 6e 64 20 6d 6f 64 69 66 69 63 61 74 69 6f 6e 20 64 61 74 65 73 2c 20 70 65 ccess.and.modification.dates,.pe
47e20 72 6d 69 73 73 69 6f 6e 73 2c 20 61 6e 64 2c 20 77 68 65 6e 0a 70 6f 73 73 69 62 6c 65 2c 20 6f rmissions,.and,.when.possible,.o
47e40 77 6e 65 72 73 68 69 70 20 6f 66 20 74 68 65 20 66 69 6c 65 20 6a 75 73 74 20 61 73 20 27 63 70 wnership.of.the.file.just.as.'cp
47e60 20 2d 70 27 20 64 6f 65 73 2e 20 28 49 66 20 74 68 65 20 75 73 65 72 20 49 44 20 6f 72 0a 74 68 .-p'.does..(If.the.user.ID.or.th
47e80 65 20 67 72 6f 75 70 20 49 44 20 63 61 6e 27 74 20 62 65 20 64 75 70 6c 69 63 61 74 65 64 2c 20 e.group.ID.can't.be.duplicated,.
47ea0 74 68 65 20 66 69 6c 65 20 70 65 72 6d 69 73 73 69 6f 6e 20 62 69 74 73 20 53 5f 49 53 55 49 44 the.file.permission.bits.S_ISUID
47ec0 20 61 6e 64 0a 53 5f 49 53 47 49 44 20 61 72 65 20 63 6c 65 61 72 65 64 29 2e 0a 0a 4c 7a 69 70 .and.S_ISGID.are.cleared)...Lzip
47ee0 20 69 73 20 61 62 6c 65 20 74 6f 20 72 65 61 64 20 66 72 6f 6d 20 73 6f 6d 65 20 74 79 70 65 73 .is.able.to.read.from.some.types
47f00 20 6f 66 20 6e 6f 6e 2d 72 65 67 75 6c 61 72 20 66 69 6c 65 73 20 69 66 20 65 69 74 68 65 72 20 .of.non-regular.files.if.either.
47f20 74 68 65 0a 6f 70 74 69 6f 6e 20 27 2d 63 27 20 6f 72 20 74 68 65 20 6f 70 74 69 6f 6e 20 27 2d the.option.'-c'.or.the.option.'-
47f40 6f 27 20 69 73 20 73 70 65 63 69 66 69 65 64 2e 0a 0a 49 66 20 6e 6f 20 66 69 6c 65 20 6e 61 6d o'.is.specified...If.no.file.nam
47f60 65 73 20 61 72 65 20 73 70 65 63 69 66 69 65 64 2c 20 6c 7a 69 70 20 63 6f 6d 70 72 65 73 73 65 es.are.specified,.lzip.compresse
47f80 73 20 28 6f 72 20 64 65 63 6f 6d 70 72 65 73 73 65 73 29 20 66 72 6f 6d 0a 73 74 61 6e 64 61 72 s.(or.decompresses).from.standar
47fa0 64 20 69 6e 70 75 74 20 74 6f 20 73 74 61 6e 64 61 72 64 20 6f 75 74 70 75 74 2e 20 4c 7a 69 70 d.input.to.standard.output..Lzip
47fc0 20 77 69 6c 6c 20 72 65 66 75 73 65 20 74 6f 20 72 65 61 64 20 63 6f 6d 70 72 65 73 73 65 64 20 .will.refuse.to.read.compressed.
47fe0 64 61 74 61 0a 66 72 6f 6d 20 61 20 74 65 72 6d 69 6e 61 6c 20 6f 72 20 77 72 69 74 65 20 63 6f data.from.a.terminal.or.write.co
48000 6d 70 72 65 73 73 65 64 20 64 61 74 61 20 74 6f 20 61 20 74 65 72 6d 69 6e 61 6c 2c 20 61 73 20 mpressed.data.to.a.terminal,.as.
48020 74 68 69 73 20 77 6f 75 6c 64 20 62 65 0a 65 6e 74 69 72 65 6c 79 20 69 6e 63 6f 6d 70 72 65 68 this.would.be.entirely.incompreh
48040 65 6e 73 69 62 6c 65 20 61 6e 64 20 6d 69 67 68 74 20 6c 65 61 76 65 20 74 68 65 20 74 65 72 6d ensible.and.might.leave.the.term
48060 69 6e 61 6c 20 69 6e 20 61 6e 20 61 62 6e 6f 72 6d 61 6c 20 73 74 61 74 65 2e 0a 0a 4c 7a 69 70 inal.in.an.abnormal.state...Lzip
48080 20 77 69 6c 6c 20 63 6f 72 72 65 63 74 6c 79 20 64 65 63 6f 6d 70 72 65 73 73 20 61 20 66 69 6c .will.correctly.decompress.a.fil
480a0 65 20 77 68 69 63 68 20 69 73 20 74 68 65 20 63 6f 6e 63 61 74 65 6e 61 74 69 6f 6e 20 6f 66 20 e.which.is.the.concatenation.of.
480c0 74 77 6f 20 6f 72 0a 6d 6f 72 65 20 63 6f 6d 70 72 65 73 73 65 64 20 66 69 6c 65 73 2e 20 54 68 two.or.more.compressed.files..Th
480e0 65 20 72 65 73 75 6c 74 20 69 73 20 74 68 65 20 63 6f 6e 63 61 74 65 6e 61 74 69 6f 6e 20 6f 66 e.result.is.the.concatenation.of
48100 20 74 68 65 20 63 6f 72 72 65 73 70 6f 6e 64 69 6e 67 0a 64 65 63 6f 6d 70 72 65 73 73 65 64 20 .the.corresponding.decompressed.
48120 66 69 6c 65 73 2e 20 49 6e 74 65 67 72 69 74 79 20 74 65 73 74 69 6e 67 20 6f 66 20 63 6f 6e 63 files..Integrity.testing.of.conc
48140 61 74 65 6e 61 74 65 64 20 63 6f 6d 70 72 65 73 73 65 64 20 66 69 6c 65 73 20 69 73 0a 61 6c 73 atenated.compressed.files.is.als
48160 6f 20 73 75 70 70 6f 72 74 65 64 2e 0a 0a 4c 7a 69 70 20 63 61 6e 20 70 72 6f 64 75 63 65 20 6d o.supported...Lzip.can.produce.m
48180 75 6c 74 69 6d 65 6d 62 65 72 20 66 69 6c 65 73 2c 20 61 6e 64 20 6c 7a 69 70 72 65 63 6f 76 65 ultimember.files,.and.lziprecove
481a0 72 20 63 61 6e 20 73 61 66 65 6c 79 20 72 65 63 6f 76 65 72 20 74 68 65 0a 75 6e 64 61 6d 61 67 r.can.safely.recover.the.undamag
481c0 65 64 20 6d 65 6d 62 65 72 73 20 69 6e 20 63 61 73 65 20 6f 66 20 66 69 6c 65 20 64 61 6d 61 67 ed.members.in.case.of.file.damag
481e0 65 2e 20 4c 7a 69 70 20 63 61 6e 20 61 6c 73 6f 20 73 70 6c 69 74 20 74 68 65 20 63 6f 6d 70 72 e..Lzip.can.also.split.the.compr
48200 65 73 73 65 64 0a 6f 75 74 70 75 74 20 69 6e 20 76 6f 6c 75 6d 65 73 20 6f 66 20 61 20 67 69 76 essed.output.in.volumes.of.a.giv
48220 65 6e 20 73 69 7a 65 2c 20 65 76 65 6e 20 77 68 65 6e 20 72 65 61 64 69 6e 67 20 66 72 6f 6d 20 en.size,.even.when.reading.from.
48240 73 74 61 6e 64 61 72 64 20 69 6e 70 75 74 2e 0a 54 68 69 73 20 61 6c 6c 6f 77 73 20 74 68 65 20 standard.input..This.allows.the.
48260 64 69 72 65 63 74 20 63 72 65 61 74 69 6f 6e 20 6f 66 20 6d 75 6c 74 69 76 6f 6c 75 6d 65 20 63 direct.creation.of.multivolume.c
48280 6f 6d 70 72 65 73 73 65 64 20 74 61 72 20 61 72 63 68 69 76 65 73 2e 0a 0a 4c 7a 69 70 20 69 73 ompressed.tar.archives...Lzip.is
482a0 20 61 62 6c 65 20 74 6f 20 63 6f 6d 70 72 65 73 73 20 61 6e 64 20 64 65 63 6f 6d 70 72 65 73 73 .able.to.compress.and.decompress
482c0 20 73 74 72 65 61 6d 73 20 6f 66 20 75 6e 6c 69 6d 69 74 65 64 20 73 69 7a 65 20 62 79 0a 61 75 .streams.of.unlimited.size.by.au
482e0 74 6f 6d 61 74 69 63 61 6c 6c 79 20 63 72 65 61 74 69 6e 67 20 6d 75 6c 74 69 6d 65 6d 62 65 72 tomatically.creating.multimember
48300 20 6f 75 74 70 75 74 2e 20 54 68 65 20 6d 65 6d 62 65 72 73 20 73 6f 20 63 72 65 61 74 65 64 20 .output..The.members.so.created.
48320 61 72 65 20 6c 61 72 67 65 2c 0a 61 62 6f 75 74 20 32 20 50 69 42 20 65 61 63 68 2e 0a 0a 49 6e are.large,.about.2.PiB.each...In
48340 20 73 70 69 74 65 20 6f 66 20 69 74 73 20 6e 61 6d 65 20 28 4c 65 6d 70 65 6c 2d 5a 69 76 2d 4d .spite.of.its.name.(Lempel-Ziv-M
48360 61 72 6b 6f 76 20 63 68 61 69 6e 2d 41 6c 67 6f 72 69 74 68 6d 29 2c 20 4c 5a 4d 41 20 69 73 20 arkov.chain-Algorithm),.LZMA.is.
48380 6e 6f 74 20 61 0a 63 6f 6e 63 72 65 74 65 20 61 6c 67 6f 72 69 74 68 6d 3b 20 69 74 20 69 73 20 not.a.concrete.algorithm;.it.is.
483a0 6d 6f 72 65 20 6c 69 6b 65 20 22 61 6e 79 20 61 6c 67 6f 72 69 74 68 6d 20 75 73 69 6e 67 20 74 more.like."any.algorithm.using.t
483c0 68 65 20 4c 5a 4d 41 20 63 6f 64 69 6e 67 0a 73 63 68 65 6d 65 22 2e 20 46 6f 72 20 65 78 61 6d he.LZMA.coding.scheme"..For.exam
483e0 70 6c 65 2c 20 74 68 65 20 6f 70 74 69 6f 6e 20 27 2d 30 27 20 6f 66 20 6c 7a 69 70 20 75 73 65 ple,.the.option.'-0'.of.lzip.use
48400 73 20 74 68 65 20 73 63 68 65 6d 65 20 69 6e 20 61 6c 6d 6f 73 74 20 74 68 65 0a 73 69 6d 70 6c s.the.scheme.in.almost.the.simpl
48420 65 73 74 20 77 61 79 20 70 6f 73 73 69 62 6c 65 3b 20 69 73 73 75 69 6e 67 20 74 68 65 20 6c 6f est.way.possible;.issuing.the.lo
48440 6e 67 65 73 74 20 6d 61 74 63 68 20 69 74 20 63 61 6e 20 66 69 6e 64 2c 20 6f 72 20 61 20 6c 69 ngest.match.it.can.find,.or.a.li
48460 74 65 72 61 6c 0a 62 79 74 65 20 69 66 20 69 74 20 63 61 6e 27 74 20 66 69 6e 64 20 61 20 6d 61 teral.byte.if.it.can't.find.a.ma
48480 74 63 68 2e 20 49 6e 76 65 72 73 65 6c 79 2c 20 61 20 6d 75 63 68 20 6d 6f 72 65 20 65 6c 61 62 tch..Inversely,.a.much.more.elab
484a0 6f 72 61 74 65 64 20 77 61 79 20 6f 66 0a 66 69 6e 64 69 6e 67 20 63 6f 64 69 6e 67 20 73 65 71 orated.way.of.finding.coding.seq
484c0 75 65 6e 63 65 73 20 6f 66 20 6d 69 6e 69 6d 75 6d 20 73 69 7a 65 20 74 68 61 6e 20 74 68 65 20 uences.of.minimum.size.than.the.
484e0 6f 6e 65 20 63 75 72 72 65 6e 74 6c 79 20 75 73 65 64 20 62 79 20 6c 7a 69 70 0a 63 6f 75 6c 64 one.currently.used.by.lzip.could
48500 20 62 65 20 64 65 76 65 6c 6f 70 65 64 2c 20 61 6e 64 20 74 68 65 20 72 65 73 75 6c 74 69 6e 67 .be.developed,.and.the.resulting
48520 20 73 65 71 75 65 6e 63 65 20 63 6f 75 6c 64 20 61 6c 73 6f 20 62 65 20 63 6f 64 65 64 20 75 73 .sequence.could.also.be.coded.us
48540 69 6e 67 20 74 68 65 0a 4c 5a 4d 41 20 63 6f 64 69 6e 67 20 73 63 68 65 6d 65 2e 0a 0a 4c 7a 69 ing.the.LZMA.coding.scheme...Lzi
48560 70 20 63 75 72 72 65 6e 74 6c 79 20 69 6d 70 6c 65 6d 65 6e 74 73 20 74 77 6f 20 76 61 72 69 61 p.currently.implements.two.varia
48580 6e 74 73 20 6f 66 20 74 68 65 20 4c 5a 4d 41 20 61 6c 67 6f 72 69 74 68 6d 3b 20 66 61 73 74 0a nts.of.the.LZMA.algorithm;.fast.
485a0 28 75 73 65 64 20 62 79 20 6f 70 74 69 6f 6e 20 27 2d 30 27 29 20 61 6e 64 20 6e 6f 72 6d 61 6c (used.by.option.'-0').and.normal
485c0 20 28 75 73 65 64 20 62 79 20 61 6c 6c 20 6f 74 68 65 72 20 63 6f 6d 70 72 65 73 73 69 6f 6e 20 .(used.by.all.other.compression.
485e0 6c 65 76 65 6c 73 29 2e 0a 0a 54 68 65 20 68 69 67 68 20 63 6f 6d 70 72 65 73 73 69 6f 6e 20 6f levels)...The.high.compression.o
48600 66 20 4c 5a 4d 41 20 63 6f 6d 65 73 20 66 72 6f 6d 20 63 6f 6d 62 69 6e 69 6e 67 20 74 77 6f 20 f.LZMA.comes.from.combining.two.
48620 62 61 73 69 63 2c 20 77 65 6c 6c 2d 70 72 6f 76 65 6e 0a 63 6f 6d 70 72 65 73 73 69 6f 6e 20 69 basic,.well-proven.compression.i
48640 64 65 61 73 3a 20 73 6c 69 64 69 6e 67 20 64 69 63 74 69 6f 6e 61 72 69 65 73 20 28 4c 5a 37 37 deas:.sliding.dictionaries.(LZ77
48660 2f 37 38 29 20 61 6e 64 20 6d 61 72 6b 6f 76 20 6d 6f 64 65 6c 73 20 28 74 68 65 0a 74 68 69 6e /78).and.markov.models.(the.thin
48680 67 20 75 73 65 64 20 62 79 20 65 76 65 72 79 20 63 6f 6d 70 72 65 73 73 69 6f 6e 20 61 6c 67 6f g.used.by.every.compression.algo
486a0 72 69 74 68 6d 20 74 68 61 74 20 75 73 65 73 20 61 20 72 61 6e 67 65 20 65 6e 63 6f 64 65 72 20 rithm.that.uses.a.range.encoder.
486c0 6f 72 0a 73 69 6d 69 6c 61 72 20 6f 72 64 65 72 2d 30 20 65 6e 74 72 6f 70 79 20 63 6f 64 65 72 or.similar.order-0.entropy.coder
486e0 20 61 73 20 69 74 73 20 6c 61 73 74 20 73 74 61 67 65 29 20 77 69 74 68 20 73 65 67 72 65 67 61 .as.its.last.stage).with.segrega
48700 74 69 6f 6e 20 6f 66 0a 63 6f 6e 74 65 78 74 73 20 61 63 63 6f 72 64 69 6e 67 20 74 6f 20 77 68 tion.of.contexts.according.to.wh
48720 61 74 20 74 68 65 20 62 69 74 73 20 61 72 65 20 75 73 65 64 20 66 6f 72 2e 0a 0a 54 68 65 20 69 at.the.bits.are.used.for...The.i
48740 64 65 61 73 20 65 6d 62 6f 64 69 65 64 20 69 6e 20 6c 7a 69 70 20 61 72 65 20 64 75 65 20 74 6f deas.embodied.in.lzip.are.due.to
48760 20 28 61 74 20 6c 65 61 73 74 29 20 74 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 70 65 6f 70 6c 65 .(at.least).the.following.people
48780 3a 0a 41 62 72 61 68 61 6d 20 4c 65 6d 70 65 6c 20 61 6e 64 20 4a 61 63 6f 62 20 5a 69 76 20 28 :.Abraham.Lempel.and.Jacob.Ziv.(
487a0 66 6f 72 20 74 68 65 20 4c 5a 20 61 6c 67 6f 72 69 74 68 6d 29 2c 20 41 6e 64 72 65 79 20 4d 61 for.the.LZ.algorithm),.Andrey.Ma
487c0 72 6b 6f 76 20 28 66 6f 72 20 74 68 65 0a 64 65 66 69 6e 69 74 69 6f 6e 20 6f 66 20 4d 61 72 6b rkov.(for.the.definition.of.Mark
487e0 6f 76 20 63 68 61 69 6e 73 29 2c 20 47 2e 4e 2e 4e 2e 20 4d 61 72 74 69 6e 20 28 66 6f 72 20 74 ov.chains),.G.N.N..Martin.(for.t
48800 68 65 20 64 65 66 69 6e 69 74 69 6f 6e 20 6f 66 20 72 61 6e 67 65 0a 65 6e 63 6f 64 69 6e 67 29 he.definition.of.range.encoding)
48820 2c 20 49 67 6f 72 20 50 61 76 6c 6f 76 20 28 66 6f 72 20 70 75 74 74 69 6e 67 20 61 6c 6c 20 74 ,.Igor.Pavlov.(for.putting.all.t
48840 68 65 20 61 62 6f 76 65 20 74 6f 67 65 74 68 65 72 20 69 6e 20 4c 5a 4d 41 29 2c 20 61 6e 64 0a he.above.together.in.LZMA),.and.
48860 4a 75 6c 69 61 6e 20 53 65 77 61 72 64 20 28 66 6f 72 20 62 7a 69 70 32 27 73 20 43 4c 49 29 2e Julian.Seward.(for.bzip2's.CLI).
48880 0a 0a 4c 41 4e 47 55 41 47 45 20 4e 4f 54 45 3a 20 55 6e 63 6f 6d 70 72 65 73 73 65 64 20 3d 20 ..LANGUAGE.NOTE:.Uncompressed.=.
488a0 6e 6f 74 20 63 6f 6d 70 72 65 73 73 65 64 20 3d 20 70 6c 61 69 6e 20 64 61 74 61 3b 20 69 74 20 not.compressed.=.plain.data;.it.
488c0 6d 61 79 20 6e 65 76 65 72 20 68 61 76 65 0a 62 65 65 6e 20 63 6f 6d 70 72 65 73 73 65 64 2e 20 may.never.have.been.compressed..
488e0 44 65 63 6f 6d 70 72 65 73 73 65 64 20 69 73 20 75 73 65 64 20 74 6f 20 72 65 66 65 72 20 74 6f Decompressed.is.used.to.refer.to
48900 20 64 61 74 61 20 77 68 69 63 68 20 68 61 76 65 20 75 6e 64 65 72 67 6f 6e 65 0a 74 68 65 20 70 .data.which.have.undergone.the.p
48920 72 6f 63 65 73 73 20 6f 66 20 64 65 63 6f 6d 70 72 65 73 73 69 6f 6e 2e 0a 0a 0a 43 6f 70 79 72 rocess.of.decompression....Copyr
48940 69 67 68 74 20 28 43 29 20 32 30 30 38 2d 32 30 32 31 20 41 6e 74 6f 6e 69 6f 20 44 69 61 7a 20 ight.(C).2008-2021.Antonio.Diaz.
48960 44 69 61 7a 2e 0a 0a 54 68 69 73 20 66 69 6c 65 20 69 73 20 66 72 65 65 20 64 6f 63 75 6d 65 6e Diaz...This.file.is.free.documen
48980 74 61 74 69 6f 6e 3a 20 79 6f 75 20 68 61 76 65 20 75 6e 6c 69 6d 69 74 65 64 20 70 65 72 6d 69 tation:.you.have.unlimited.permi
489a0 73 73 69 6f 6e 20 74 6f 20 63 6f 70 79 2c 0a 64 69 73 74 72 69 62 75 74 65 2c 20 61 6e 64 20 6d ssion.to.copy,.distribute,.and.m
489c0 6f 64 69 66 79 20 69 74 2e 0a 0a 54 68 65 20 66 69 6c 65 20 4d 61 6b 65 66 69 6c 65 2e 69 6e 20 odify.it...The.file.Makefile.in.
489e0 69 73 20 61 20 64 61 74 61 20 66 69 6c 65 20 75 73 65 64 20 62 79 20 63 6f 6e 66 69 67 75 72 65 is.a.data.file.used.by.configure
48a00 20 74 6f 20 70 72 6f 64 75 63 65 20 74 68 65 0a 4d 61 6b 65 66 69 6c 65 2e 20 49 74 20 68 61 73 .to.produce.the.Makefile..It.has
48a20 20 74 68 65 20 73 61 6d 65 20 63 6f 70 79 72 69 67 68 74 20 6f 77 6e 65 72 20 61 6e 64 20 70 65 .the.same.copyright.owner.and.pe
48a40 72 6d 69 73 73 69 6f 6e 73 20 74 68 61 74 20 63 6f 6e 66 69 67 75 72 65 0a 69 74 73 65 6c 66 2e rmissions.that.configure.itself.
48a60 0a 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
48a80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
48aa0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
48ac0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
48ae0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
48b00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
48b20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
48b40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
48b60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
48b80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
48ba0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
48bc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
48be0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
48c00 6c 7a 69 70 2d 31 2e 32 32 2f 4d 61 6b 65 66 69 6c 65 2e 69 6e 00 00 00 00 00 00 00 00 00 00 00 lzip-1.22/Makefile.in...........
48c20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
48c40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
48c60 00 00 00 00 30 30 30 30 36 34 34 00 30 30 30 30 30 30 30 00 30 30 30 30 30 30 30 00 30 30 30 30 ....0000644.0000000.0000000.0000
48c80 30 30 31 30 32 36 36 00 31 33 36 35 33 31 31 36 35 37 30 00 30 31 34 34 37 33 00 20 30 00 00 00 0010266.13653116570.014473..0...
48ca0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
48cc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
48ce0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
48d00 00 75 73 74 61 72 00 30 30 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .ustar.00root...................
48d20 00 00 00 00 00 00 00 00 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .........root...................
48d40 00 00 00 00 00 00 00 00 00 30 30 30 30 30 30 30 00 30 30 30 30 30 30 30 00 00 00 00 00 00 00 00 .........0000000.0000000........
48d60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
48d80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
48da0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
48dc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
48de0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
48e00 0a 44 49 53 54 4e 41 4d 45 20 3d 20 24 28 70 6b 67 6e 61 6d 65 29 2d 24 28 70 6b 67 76 65 72 73 .DISTNAME.=.$(pkgname)-$(pkgvers
48e20 69 6f 6e 29 0a 49 4e 53 54 41 4c 4c 20 3d 20 69 6e 73 74 61 6c 6c 0a 49 4e 53 54 41 4c 4c 5f 50 ion).INSTALL.=.install.INSTALL_P
48e40 52 4f 47 52 41 4d 20 3d 20 24 28 49 4e 53 54 41 4c 4c 29 20 2d 6d 20 37 35 35 0a 49 4e 53 54 41 ROGRAM.=.$(INSTALL).-m.755.INSTA
48e60 4c 4c 5f 44 41 54 41 20 3d 20 24 28 49 4e 53 54 41 4c 4c 29 20 2d 6d 20 36 34 34 0a 49 4e 53 54 LL_DATA.=.$(INSTALL).-m.644.INST
48e80 41 4c 4c 5f 44 49 52 20 3d 20 24 28 49 4e 53 54 41 4c 4c 29 20 2d 64 20 2d 6d 20 37 35 35 0a 53 ALL_DIR.=.$(INSTALL).-d.-m.755.S
48ea0 48 45 4c 4c 20 3d 20 2f 62 69 6e 2f 73 68 0a 43 41 4e 5f 52 55 4e 5f 49 4e 53 54 41 4c 4c 49 4e HELL.=./bin/sh.CAN_RUN_INSTALLIN
48ec0 46 4f 20 3d 20 24 28 53 48 45 4c 4c 29 20 2d 63 20 22 69 6e 73 74 61 6c 6c 2d 69 6e 66 6f 20 2d FO.=.$(SHELL).-c."install-info.-
48ee0 2d 76 65 72 73 69 6f 6e 22 20 3e 20 2f 64 65 76 2f 6e 75 6c 6c 20 32 3e 26 31 0a 0a 6f 62 6a 73 -version".>./dev/null.2>&1..objs
48f00 20 3d 20 61 72 67 5f 70 61 72 73 65 72 2e 6f 20 6c 7a 69 70 5f 69 6e 64 65 78 2e 6f 20 6c 69 73 .=.arg_parser.o.lzip_index.o.lis
48f20 74 2e 6f 20 65 6e 63 6f 64 65 72 5f 62 61 73 65 2e 6f 20 65 6e 63 6f 64 65 72 2e 6f 20 5c 0a 20 t.o.encoder_base.o.encoder.o.\..
48f40 20 20 20 20 20 20 66 61 73 74 5f 65 6e 63 6f 64 65 72 2e 6f 20 64 65 63 6f 64 65 72 2e 6f 20 6d ......fast_encoder.o.decoder.o.m
48f60 61 69 6e 2e 6f 0a 0a 0a 2e 50 48 4f 4e 59 20 3a 20 61 6c 6c 20 69 6e 73 74 61 6c 6c 20 69 6e 73 ain.o....PHONY.:.all.install.ins
48f80 74 61 6c 6c 2d 62 69 6e 20 69 6e 73 74 61 6c 6c 2d 69 6e 66 6f 20 69 6e 73 74 61 6c 6c 2d 6d 61 tall-bin.install-info.install-ma
48fa0 6e 20 5c 0a 20 20 20 20 20 20 20 20 20 69 6e 73 74 61 6c 6c 2d 73 74 72 69 70 20 69 6e 73 74 61 n.\..........install-strip.insta
48fc0 6c 6c 2d 63 6f 6d 70 72 65 73 73 20 69 6e 73 74 61 6c 6c 2d 73 74 72 69 70 2d 63 6f 6d 70 72 65 ll-compress.install-strip-compre
48fe0 73 73 20 5c 0a 20 20 20 20 20 20 20 20 20 69 6e 73 74 61 6c 6c 2d 62 69 6e 2d 73 74 72 69 70 20 ss.\..........install-bin-strip.
49000 69 6e 73 74 61 6c 6c 2d 69 6e 66 6f 2d 63 6f 6d 70 72 65 73 73 20 69 6e 73 74 61 6c 6c 2d 6d 61 install-info-compress.install-ma
49020 6e 2d 63 6f 6d 70 72 65 73 73 20 5c 0a 20 20 20 20 20 20 20 20 20 75 6e 69 6e 73 74 61 6c 6c 20 n-compress.\..........uninstall.
49040 75 6e 69 6e 73 74 61 6c 6c 2d 62 69 6e 20 75 6e 69 6e 73 74 61 6c 6c 2d 69 6e 66 6f 20 75 6e 69 uninstall-bin.uninstall-info.uni
49060 6e 73 74 61 6c 6c 2d 6d 61 6e 20 5c 0a 20 20 20 20 20 20 20 20 20 64 6f 63 20 69 6e 66 6f 20 6d nstall-man.\..........doc.info.m
49080 61 6e 20 63 68 65 63 6b 20 64 69 73 74 20 63 6c 65 61 6e 20 64 69 73 74 63 6c 65 61 6e 0a 0a 61 an.check.dist.clean.distclean..a
490a0 6c 6c 20 3a 20 24 28 70 72 6f 67 6e 61 6d 65 29 0a 0a 24 28 70 72 6f 67 6e 61 6d 65 29 20 3a 20 ll.:.$(progname)..$(progname).:.
490c0 24 28 6f 62 6a 73 29 0a 09 24 28 43 58 58 29 20 24 28 4c 44 46 4c 41 47 53 29 20 24 28 43 58 58 $(objs)..$(CXX).$(LDFLAGS).$(CXX
490e0 46 4c 41 47 53 29 20 2d 6f 20 24 40 20 24 28 6f 62 6a 73 29 0a 0a 6d 61 69 6e 2e 6f 20 3a 20 6d FLAGS).-o.$@.$(objs)..main.o.:.m
49100 61 69 6e 2e 63 63 0a 09 24 28 43 58 58 29 20 24 28 43 50 50 46 4c 41 47 53 29 20 24 28 43 58 58 ain.cc..$(CXX).$(CPPFLAGS).$(CXX
49120 46 4c 41 47 53 29 20 2d 44 50 52 4f 47 56 45 52 53 49 4f 4e 3d 5c 22 24 28 70 6b 67 76 65 72 73 FLAGS).-DPROGVERSION=\"$(pkgvers
49140 69 6f 6e 29 5c 22 20 2d 63 20 2d 6f 20 24 40 20 24 3c 0a 0a 25 2e 6f 20 3a 20 25 2e 63 63 0a 09 ion)\".-c.-o.$@.$<..%.o.:.%.cc..
49160 24 28 43 58 58 29 20 24 28 43 50 50 46 4c 41 47 53 29 20 24 28 43 58 58 46 4c 41 47 53 29 20 2d $(CXX).$(CPPFLAGS).$(CXXFLAGS).-
49180 63 20 2d 6f 20 24 40 20 24 3c 0a 0a 24 28 6f 62 6a 73 29 20 20 20 20 20 20 20 20 3a 20 4d 61 6b c.-o.$@.$<..$(objs)........:.Mak
491a0 65 66 69 6c 65 0a 61 72 67 5f 70 61 72 73 65 72 2e 6f 20 20 20 3a 20 61 72 67 5f 70 61 72 73 65 efile.arg_parser.o...:.arg_parse
491c0 72 2e 68 0a 64 65 63 6f 64 65 72 2e 6f 20 20 20 20 20 20 3a 20 6c 7a 69 70 2e 68 20 64 65 63 6f r.h.decoder.o......:.lzip.h.deco
491e0 64 65 72 2e 68 0a 65 6e 63 6f 64 65 72 5f 62 61 73 65 2e 6f 20 3a 20 6c 7a 69 70 2e 68 20 65 6e der.h.encoder_base.o.:.lzip.h.en
49200 63 6f 64 65 72 5f 62 61 73 65 2e 68 0a 65 6e 63 6f 64 65 72 2e 6f 20 20 20 20 20 20 3a 20 6c 7a coder_base.h.encoder.o......:.lz
49220 69 70 2e 68 20 65 6e 63 6f 64 65 72 5f 62 61 73 65 2e 68 20 65 6e 63 6f 64 65 72 2e 68 0a 66 61 ip.h.encoder_base.h.encoder.h.fa
49240 73 74 5f 65 6e 63 6f 64 65 72 2e 6f 20 3a 20 6c 7a 69 70 2e 68 20 65 6e 63 6f 64 65 72 5f 62 61 st_encoder.o.:.lzip.h.encoder_ba
49260 73 65 2e 68 20 66 61 73 74 5f 65 6e 63 6f 64 65 72 2e 68 0a 6c 69 73 74 2e 6f 20 20 20 20 20 20 se.h.fast_encoder.h.list.o......
49280 20 20 20 3a 20 6c 7a 69 70 2e 68 20 6c 7a 69 70 5f 69 6e 64 65 78 2e 68 0a 6c 7a 69 70 5f 69 6e ...:.lzip.h.lzip_index.h.lzip_in
492a0 64 65 78 2e 6f 20 20 20 3a 20 6c 7a 69 70 2e 68 20 6c 7a 69 70 5f 69 6e 64 65 78 2e 68 0a 6d 61 dex.o...:.lzip.h.lzip_index.h.ma
492c0 69 6e 2e 6f 20 20 20 20 20 20 20 20 20 3a 20 61 72 67 5f 70 61 72 73 65 72 2e 68 20 6c 7a 69 70 in.o.........:.arg_parser.h.lzip
492e0 2e 68 20 64 65 63 6f 64 65 72 2e 68 20 65 6e 63 6f 64 65 72 5f 62 61 73 65 2e 68 20 65 6e 63 6f .h.decoder.h.encoder_base.h.enco
49300 64 65 72 2e 68 20 66 61 73 74 5f 65 6e 63 6f 64 65 72 2e 68 0a 0a 0a 64 6f 63 20 3a 20 69 6e 66 der.h.fast_encoder.h...doc.:.inf
49320 6f 20 6d 61 6e 0a 0a 69 6e 66 6f 20 3a 20 24 28 56 50 41 54 48 29 2f 64 6f 63 2f 24 28 70 6b 67 o.man..info.:.$(VPATH)/doc/$(pkg
49340 6e 61 6d 65 29 2e 69 6e 66 6f 0a 0a 24 28 56 50 41 54 48 29 2f 64 6f 63 2f 24 28 70 6b 67 6e 61 name).info..$(VPATH)/doc/$(pkgna
49360 6d 65 29 2e 69 6e 66 6f 20 3a 20 24 28 56 50 41 54 48 29 2f 64 6f 63 2f 24 28 70 6b 67 6e 61 6d me).info.:.$(VPATH)/doc/$(pkgnam
49380 65 29 2e 74 65 78 69 0a 09 63 64 20 24 28 56 50 41 54 48 29 2f 64 6f 63 20 26 26 20 6d 61 6b 65 e).texi..cd.$(VPATH)/doc.&&.make
493a0 69 6e 66 6f 20 24 28 70 6b 67 6e 61 6d 65 29 2e 74 65 78 69 0a 0a 6d 61 6e 20 3a 20 24 28 56 50 info.$(pkgname).texi..man.:.$(VP
493c0 41 54 48 29 2f 64 6f 63 2f 24 28 70 72 6f 67 6e 61 6d 65 29 2e 31 0a 0a 24 28 56 50 41 54 48 29 ATH)/doc/$(progname).1..$(VPATH)
493e0 2f 64 6f 63 2f 24 28 70 72 6f 67 6e 61 6d 65 29 2e 31 20 3a 20 24 28 70 72 6f 67 6e 61 6d 65 29 /doc/$(progname).1.:.$(progname)
49400 0a 09 68 65 6c 70 32 6d 61 6e 20 2d 6e 20 27 72 65 64 75 63 65 73 20 74 68 65 20 73 69 7a 65 20 ..help2man.-n.'reduces.the.size.
49420 6f 66 20 66 69 6c 65 73 27 20 2d 6f 20 24 40 20 2e 2f 24 28 70 72 6f 67 6e 61 6d 65 29 0a 0a 4d of.files'.-o.$@../$(progname)..M
49440 61 6b 65 66 69 6c 65 20 3a 20 24 28 56 50 41 54 48 29 2f 63 6f 6e 66 69 67 75 72 65 20 24 28 56 akefile.:.$(VPATH)/configure.$(V
49460 50 41 54 48 29 2f 4d 61 6b 65 66 69 6c 65 2e 69 6e 0a 09 2e 2f 63 6f 6e 66 69 67 2e 73 74 61 74 PATH)/Makefile.in.../config.stat
49480 75 73 0a 0a 63 68 65 63 6b 20 3a 20 61 6c 6c 0a 09 40 24 28 56 50 41 54 48 29 2f 74 65 73 74 73 us..check.:.all..@$(VPATH)/tests
494a0 75 69 74 65 2f 63 68 65 63 6b 2e 73 68 20 24 28 56 50 41 54 48 29 2f 74 65 73 74 73 75 69 74 65 uite/check.sh.$(VPATH)/testsuite
494c0 20 24 28 70 6b 67 76 65 72 73 69 6f 6e 29 0a 0a 69 6e 73 74 61 6c 6c 20 3a 20 69 6e 73 74 61 6c .$(pkgversion)..install.:.instal
494e0 6c 2d 62 69 6e 20 69 6e 73 74 61 6c 6c 2d 69 6e 66 6f 20 69 6e 73 74 61 6c 6c 2d 6d 61 6e 0a 69 l-bin.install-info.install-man.i
49500 6e 73 74 61 6c 6c 2d 73 74 72 69 70 20 3a 20 69 6e 73 74 61 6c 6c 2d 62 69 6e 2d 73 74 72 69 70 nstall-strip.:.install-bin-strip
49520 20 69 6e 73 74 61 6c 6c 2d 69 6e 66 6f 20 69 6e 73 74 61 6c 6c 2d 6d 61 6e 0a 69 6e 73 74 61 6c .install-info.install-man.instal
49540 6c 2d 63 6f 6d 70 72 65 73 73 20 3a 20 69 6e 73 74 61 6c 6c 2d 62 69 6e 20 69 6e 73 74 61 6c 6c l-compress.:.install-bin.install
49560 2d 69 6e 66 6f 2d 63 6f 6d 70 72 65 73 73 20 69 6e 73 74 61 6c 6c 2d 6d 61 6e 2d 63 6f 6d 70 72 -info-compress.install-man-compr
49580 65 73 73 0a 69 6e 73 74 61 6c 6c 2d 73 74 72 69 70 2d 63 6f 6d 70 72 65 73 73 20 3a 20 69 6e 73 ess.install-strip-compress.:.ins
495a0 74 61 6c 6c 2d 62 69 6e 2d 73 74 72 69 70 20 69 6e 73 74 61 6c 6c 2d 69 6e 66 6f 2d 63 6f 6d 70 tall-bin-strip.install-info-comp
495c0 72 65 73 73 20 69 6e 73 74 61 6c 6c 2d 6d 61 6e 2d 63 6f 6d 70 72 65 73 73 0a 0a 69 6e 73 74 61 ress.install-man-compress..insta
495e0 6c 6c 2d 62 69 6e 20 3a 20 61 6c 6c 0a 09 69 66 20 5b 20 21 20 2d 64 20 22 24 28 44 45 53 54 44 ll-bin.:.all..if.[.!.-d."$(DESTD
49600 49 52 29 24 28 62 69 6e 64 69 72 29 22 20 5d 20 3b 20 74 68 65 6e 20 24 28 49 4e 53 54 41 4c 4c IR)$(bindir)".].;.then.$(INSTALL
49620 5f 44 49 52 29 20 22 24 28 44 45 53 54 44 49 52 29 24 28 62 69 6e 64 69 72 29 22 20 3b 20 66 69 _DIR)."$(DESTDIR)$(bindir)".;.fi
49640 0a 09 24 28 49 4e 53 54 41 4c 4c 5f 50 52 4f 47 52 41 4d 29 20 2e 2f 24 28 70 72 6f 67 6e 61 6d ..$(INSTALL_PROGRAM)../$(prognam
49660 65 29 20 22 24 28 44 45 53 54 44 49 52 29 24 28 62 69 6e 64 69 72 29 2f 24 28 70 72 6f 67 6e 61 e)."$(DESTDIR)$(bindir)/$(progna
49680 6d 65 29 22 0a 0a 69 6e 73 74 61 6c 6c 2d 62 69 6e 2d 73 74 72 69 70 20 3a 20 61 6c 6c 0a 09 24 me)"..install-bin-strip.:.all..$
496a0 28 4d 41 4b 45 29 20 49 4e 53 54 41 4c 4c 5f 50 52 4f 47 52 41 4d 3d 27 24 28 49 4e 53 54 41 4c (MAKE).INSTALL_PROGRAM='$(INSTAL
496c0 4c 5f 50 52 4f 47 52 41 4d 29 20 2d 73 27 20 69 6e 73 74 61 6c 6c 2d 62 69 6e 0a 0a 69 6e 73 74 L_PROGRAM).-s'.install-bin..inst
496e0 61 6c 6c 2d 69 6e 66 6f 20 3a 0a 09 69 66 20 5b 20 21 20 2d 64 20 22 24 28 44 45 53 54 44 49 52 all-info.:..if.[.!.-d."$(DESTDIR
49700 29 24 28 69 6e 66 6f 64 69 72 29 22 20 5d 20 3b 20 74 68 65 6e 20 24 28 49 4e 53 54 41 4c 4c 5f )$(infodir)".].;.then.$(INSTALL_
49720 44 49 52 29 20 22 24 28 44 45 53 54 44 49 52 29 24 28 69 6e 66 6f 64 69 72 29 22 20 3b 20 66 69 DIR)."$(DESTDIR)$(infodir)".;.fi
49740 0a 09 2d 72 6d 20 2d 66 20 22 24 28 44 45 53 54 44 49 52 29 24 28 69 6e 66 6f 64 69 72 29 2f 24 ..-rm.-f."$(DESTDIR)$(infodir)/$
49760 28 70 6b 67 6e 61 6d 65 29 2e 69 6e 66 6f 22 2a 0a 09 24 28 49 4e 53 54 41 4c 4c 5f 44 41 54 41 (pkgname).info"*..$(INSTALL_DATA
49780 29 20 24 28 56 50 41 54 48 29 2f 64 6f 63 2f 24 28 70 6b 67 6e 61 6d 65 29 2e 69 6e 66 6f 20 22 ).$(VPATH)/doc/$(pkgname).info."
497a0 24 28 44 45 53 54 44 49 52 29 24 28 69 6e 66 6f 64 69 72 29 2f 24 28 70 6b 67 6e 61 6d 65 29 2e $(DESTDIR)$(infodir)/$(pkgname).
497c0 69 6e 66 6f 22 0a 09 2d 69 66 20 24 28 43 41 4e 5f 52 55 4e 5f 49 4e 53 54 41 4c 4c 49 4e 46 4f info"..-if.$(CAN_RUN_INSTALLINFO
497e0 29 20 3b 20 74 68 65 6e 20 5c 0a 09 20 20 69 6e 73 74 61 6c 6c 2d 69 6e 66 6f 20 2d 2d 69 6e 66 ).;.then.\....install-info.--inf
49800 6f 2d 64 69 72 3d 22 24 28 44 45 53 54 44 49 52 29 24 28 69 6e 66 6f 64 69 72 29 22 20 22 24 28 o-dir="$(DESTDIR)$(infodir)"."$(
49820 44 45 53 54 44 49 52 29 24 28 69 6e 66 6f 64 69 72 29 2f 24 28 70 6b 67 6e 61 6d 65 29 2e 69 6e DESTDIR)$(infodir)/$(pkgname).in
49840 66 6f 22 20 3b 20 5c 0a 09 66 69 0a 0a 69 6e 73 74 61 6c 6c 2d 69 6e 66 6f 2d 63 6f 6d 70 72 65 fo".;.\..fi..install-info-compre
49860 73 73 20 3a 20 69 6e 73 74 61 6c 6c 2d 69 6e 66 6f 0a 09 6c 7a 69 70 20 2d 76 20 2d 39 20 22 24 ss.:.install-info..lzip.-v.-9."$
49880 28 44 45 53 54 44 49 52 29 24 28 69 6e 66 6f 64 69 72 29 2f 24 28 70 6b 67 6e 61 6d 65 29 2e 69 (DESTDIR)$(infodir)/$(pkgname).i
498a0 6e 66 6f 22 0a 0a 69 6e 73 74 61 6c 6c 2d 6d 61 6e 20 3a 0a 09 69 66 20 5b 20 21 20 2d 64 20 22 nfo"..install-man.:..if.[.!.-d."
498c0 24 28 44 45 53 54 44 49 52 29 24 28 6d 61 6e 64 69 72 29 2f 6d 61 6e 31 22 20 5d 20 3b 20 74 68 $(DESTDIR)$(mandir)/man1".].;.th
498e0 65 6e 20 24 28 49 4e 53 54 41 4c 4c 5f 44 49 52 29 20 22 24 28 44 45 53 54 44 49 52 29 24 28 6d en.$(INSTALL_DIR)."$(DESTDIR)$(m
49900 61 6e 64 69 72 29 2f 6d 61 6e 31 22 20 3b 20 66 69 0a 09 2d 72 6d 20 2d 66 20 22 24 28 44 45 53 andir)/man1".;.fi..-rm.-f."$(DES
49920 54 44 49 52 29 24 28 6d 61 6e 64 69 72 29 2f 6d 61 6e 31 2f 24 28 70 72 6f 67 6e 61 6d 65 29 2e TDIR)$(mandir)/man1/$(progname).
49940 31 22 2a 0a 09 24 28 49 4e 53 54 41 4c 4c 5f 44 41 54 41 29 20 24 28 56 50 41 54 48 29 2f 64 6f 1"*..$(INSTALL_DATA).$(VPATH)/do
49960 63 2f 24 28 70 72 6f 67 6e 61 6d 65 29 2e 31 20 22 24 28 44 45 53 54 44 49 52 29 24 28 6d 61 6e c/$(progname).1."$(DESTDIR)$(man
49980 64 69 72 29 2f 6d 61 6e 31 2f 24 28 70 72 6f 67 6e 61 6d 65 29 2e 31 22 0a 0a 69 6e 73 74 61 6c dir)/man1/$(progname).1"..instal
499a0 6c 2d 6d 61 6e 2d 63 6f 6d 70 72 65 73 73 20 3a 20 69 6e 73 74 61 6c 6c 2d 6d 61 6e 0a 09 6c 7a l-man-compress.:.install-man..lz
499c0 69 70 20 2d 76 20 2d 39 20 22 24 28 44 45 53 54 44 49 52 29 24 28 6d 61 6e 64 69 72 29 2f 6d 61 ip.-v.-9."$(DESTDIR)$(mandir)/ma
499e0 6e 31 2f 24 28 70 72 6f 67 6e 61 6d 65 29 2e 31 22 0a 0a 75 6e 69 6e 73 74 61 6c 6c 20 3a 20 75 n1/$(progname).1"..uninstall.:.u
49a00 6e 69 6e 73 74 61 6c 6c 2d 6d 61 6e 20 75 6e 69 6e 73 74 61 6c 6c 2d 69 6e 66 6f 20 75 6e 69 6e ninstall-man.uninstall-info.unin
49a20 73 74 61 6c 6c 2d 62 69 6e 0a 0a 75 6e 69 6e 73 74 61 6c 6c 2d 62 69 6e 20 3a 0a 09 2d 72 6d 20 stall-bin..uninstall-bin.:..-rm.
49a40 2d 66 20 22 24 28 44 45 53 54 44 49 52 29 24 28 62 69 6e 64 69 72 29 2f 24 28 70 72 6f 67 6e 61 -f."$(DESTDIR)$(bindir)/$(progna
49a60 6d 65 29 22 0a 0a 75 6e 69 6e 73 74 61 6c 6c 2d 69 6e 66 6f 20 3a 0a 09 2d 69 66 20 24 28 43 41 me)"..uninstall-info.:..-if.$(CA
49a80 4e 5f 52 55 4e 5f 49 4e 53 54 41 4c 4c 49 4e 46 4f 29 20 3b 20 74 68 65 6e 20 5c 0a 09 20 20 69 N_RUN_INSTALLINFO).;.then.\....i
49aa0 6e 73 74 61 6c 6c 2d 69 6e 66 6f 20 2d 2d 69 6e 66 6f 2d 64 69 72 3d 22 24 28 44 45 53 54 44 49 nstall-info.--info-dir="$(DESTDI
49ac0 52 29 24 28 69 6e 66 6f 64 69 72 29 22 20 2d 2d 72 65 6d 6f 76 65 20 22 24 28 44 45 53 54 44 49 R)$(infodir)".--remove."$(DESTDI
49ae0 52 29 24 28 69 6e 66 6f 64 69 72 29 2f 24 28 70 6b 67 6e 61 6d 65 29 2e 69 6e 66 6f 22 20 3b 20 R)$(infodir)/$(pkgname).info".;.
49b00 5c 0a 09 66 69 0a 09 2d 72 6d 20 2d 66 20 22 24 28 44 45 53 54 44 49 52 29 24 28 69 6e 66 6f 64 \..fi..-rm.-f."$(DESTDIR)$(infod
49b20 69 72 29 2f 24 28 70 6b 67 6e 61 6d 65 29 2e 69 6e 66 6f 22 2a 0a 0a 75 6e 69 6e 73 74 61 6c 6c ir)/$(pkgname).info"*..uninstall
49b40 2d 6d 61 6e 20 3a 0a 09 2d 72 6d 20 2d 66 20 22 24 28 44 45 53 54 44 49 52 29 24 28 6d 61 6e 64 -man.:..-rm.-f."$(DESTDIR)$(mand
49b60 69 72 29 2f 6d 61 6e 31 2f 24 28 70 72 6f 67 6e 61 6d 65 29 2e 31 22 2a 0a 0a 64 69 73 74 20 3a ir)/man1/$(progname).1"*..dist.:
49b80 20 64 6f 63 0a 09 6c 6e 20 2d 73 66 20 24 28 56 50 41 54 48 29 20 24 28 44 49 53 54 4e 41 4d 45 .doc..ln.-sf.$(VPATH).$(DISTNAME
49ba0 29 0a 09 74 61 72 20 2d 48 75 73 74 61 72 20 2d 2d 6f 77 6e 65 72 3d 72 6f 6f 74 20 2d 2d 67 72 )..tar.-Hustar.--owner=root.--gr
49bc0 6f 75 70 3d 72 6f 6f 74 20 2d 63 76 66 20 24 28 44 49 53 54 4e 41 4d 45 29 2e 74 61 72 20 5c 0a oup=root.-cvf.$(DISTNAME).tar.\.
49be0 09 20 20 24 28 44 49 53 54 4e 41 4d 45 29 2f 41 55 54 48 4f 52 53 20 5c 0a 09 20 20 24 28 44 49 ...$(DISTNAME)/AUTHORS.\....$(DI
49c00 53 54 4e 41 4d 45 29 2f 43 4f 50 59 49 4e 47 20 5c 0a 09 20 20 24 28 44 49 53 54 4e 41 4d 45 29 STNAME)/COPYING.\....$(DISTNAME)
49c20 2f 43 68 61 6e 67 65 4c 6f 67 20 5c 0a 09 20 20 24 28 44 49 53 54 4e 41 4d 45 29 2f 49 4e 53 54 /ChangeLog.\....$(DISTNAME)/INST
49c40 41 4c 4c 20 5c 0a 09 20 20 24 28 44 49 53 54 4e 41 4d 45 29 2f 4d 61 6b 65 66 69 6c 65 2e 69 6e ALL.\....$(DISTNAME)/Makefile.in
49c60 20 5c 0a 09 20 20 24 28 44 49 53 54 4e 41 4d 45 29 2f 4e 45 57 53 20 5c 0a 09 20 20 24 28 44 49 .\....$(DISTNAME)/NEWS.\....$(DI
49c80 53 54 4e 41 4d 45 29 2f 52 45 41 44 4d 45 20 5c 0a 09 20 20 24 28 44 49 53 54 4e 41 4d 45 29 2f STNAME)/README.\....$(DISTNAME)/
49ca0 63 6f 6e 66 69 67 75 72 65 20 5c 0a 09 20 20 24 28 44 49 53 54 4e 41 4d 45 29 2f 64 6f 63 2f 24 configure.\....$(DISTNAME)/doc/$
49cc0 28 70 72 6f 67 6e 61 6d 65 29 2e 31 20 5c 0a 09 20 20 24 28 44 49 53 54 4e 41 4d 45 29 2f 64 6f (progname).1.\....$(DISTNAME)/do
49ce0 63 2f 24 28 70 6b 67 6e 61 6d 65 29 2e 69 6e 66 6f 20 5c 0a 09 20 20 24 28 44 49 53 54 4e 41 4d c/$(pkgname).info.\....$(DISTNAM
49d00 45 29 2f 64 6f 63 2f 24 28 70 6b 67 6e 61 6d 65 29 2e 74 65 78 69 20 5c 0a 09 20 20 24 28 44 49 E)/doc/$(pkgname).texi.\....$(DI
49d20 53 54 4e 41 4d 45 29 2f 2a 2e 68 20 5c 0a 09 20 20 24 28 44 49 53 54 4e 41 4d 45 29 2f 2a 2e 63 STNAME)/*.h.\....$(DISTNAME)/*.c
49d40 63 20 5c 0a 09 20 20 24 28 44 49 53 54 4e 41 4d 45 29 2f 74 65 73 74 73 75 69 74 65 2f 63 68 65 c.\....$(DISTNAME)/testsuite/che
49d60 63 6b 2e 73 68 20 5c 0a 09 20 20 24 28 44 49 53 54 4e 41 4d 45 29 2f 74 65 73 74 73 75 69 74 65 ck.sh.\....$(DISTNAME)/testsuite
49d80 2f 74 65 73 74 2e 74 78 74 20 5c 0a 09 20 20 24 28 44 49 53 54 4e 41 4d 45 29 2f 74 65 73 74 73 /test.txt.\....$(DISTNAME)/tests
49da0 75 69 74 65 2f 66 6f 78 2e 6c 7a 20 5c 0a 09 20 20 24 28 44 49 53 54 4e 41 4d 45 29 2f 74 65 73 uite/fox.lz.\....$(DISTNAME)/tes
49dc0 74 73 75 69 74 65 2f 66 6f 78 5f 2a 2e 6c 7a 20 5c 0a 09 20 20 24 28 44 49 53 54 4e 41 4d 45 29 tsuite/fox_*.lz.\....$(DISTNAME)
49de0 2f 74 65 73 74 73 75 69 74 65 2f 74 65 73 74 2e 74 78 74 2e 6c 7a 20 5c 0a 09 20 20 24 28 44 49 /testsuite/test.txt.lz.\....$(DI
49e00 53 54 4e 41 4d 45 29 2f 74 65 73 74 73 75 69 74 65 2f 74 65 73 74 5f 65 6d 2e 74 78 74 2e 6c 7a STNAME)/testsuite/test_em.txt.lz
49e20 0a 09 72 6d 20 2d 66 20 24 28 44 49 53 54 4e 41 4d 45 29 0a 09 6c 7a 69 70 20 2d 76 20 2d 39 20 ..rm.-f.$(DISTNAME)..lzip.-v.-9.
49e40 24 28 44 49 53 54 4e 41 4d 45 29 2e 74 61 72 0a 0a 63 6c 65 61 6e 20 3a 0a 09 2d 72 6d 20 2d 66 $(DISTNAME).tar..clean.:..-rm.-f
49e60 20 24 28 70 72 6f 67 6e 61 6d 65 29 20 24 28 6f 62 6a 73 29 0a 0a 64 69 73 74 63 6c 65 61 6e 20 .$(progname).$(objs)..distclean.
49e80 3a 20 63 6c 65 61 6e 0a 09 2d 72 6d 20 2d 66 20 4d 61 6b 65 66 69 6c 65 20 63 6f 6e 66 69 67 2e :.clean..-rm.-f.Makefile.config.
49ea0 73 74 61 74 75 73 20 2a 2e 74 61 72 20 2a 2e 74 61 72 2e 6c 7a 0a 00 00 00 00 00 00 00 00 00 00 status.*.tar.*.tar.lz...........
49ec0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
49ee0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
49f00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
49f20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
49f40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
49f60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
49f80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
49fa0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
49fc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
49fe0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4a000 6c 7a 69 70 2d 31 2e 32 32 2f 66 61 73 74 5f 65 6e 63 6f 64 65 72 2e 63 63 00 00 00 00 00 00 00 lzip-1.22/fast_encoder.cc.......
4a020 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4a040 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4a060 00 00 00 00 30 30 30 30 36 34 34 00 30 30 30 30 30 30 30 00 30 30 30 30 30 30 30 00 30 30 30 30 ....0000644.0000000.0000000.0000
4a080 30 30 31 33 33 36 31 00 31 33 37 37 33 36 31 37 31 33 31 00 30 31 35 33 37 32 00 20 30 00 00 00 0013361.13773617131.015372..0...
4a0a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4a0c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4a0e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4a100 00 75 73 74 61 72 00 30 30 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .ustar.00root...................
4a120 00 00 00 00 00 00 00 00 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .........root...................
4a140 00 00 00 00 00 00 00 00 00 30 30 30 30 30 30 30 00 30 30 30 30 30 30 30 00 00 00 00 00 00 00 00 .........0000000.0000000........
4a160 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4a180 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4a1a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4a1c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4a1e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4a200 2f 2a 20 4c 7a 69 70 20 2d 20 4c 5a 4d 41 20 6c 6f 73 73 6c 65 73 73 20 64 61 74 61 20 63 6f 6d /*.Lzip.-.LZMA.lossless.data.com
4a220 70 72 65 73 73 6f 72 0a 20 20 20 43 6f 70 79 72 69 67 68 74 20 28 43 29 20 32 30 30 38 2d 32 30 pressor....Copyright.(C).2008-20
4a240 32 31 20 41 6e 74 6f 6e 69 6f 20 44 69 61 7a 20 44 69 61 7a 2e 0a 0a 20 20 20 54 68 69 73 20 70 21.Antonio.Diaz.Diaz......This.p
4a260 72 6f 67 72 61 6d 20 69 73 20 66 72 65 65 20 73 6f 66 74 77 61 72 65 3a 20 79 6f 75 20 63 61 6e rogram.is.free.software:.you.can
4a280 20 72 65 64 69 73 74 72 69 62 75 74 65 20 69 74 20 61 6e 64 2f 6f 72 20 6d 6f 64 69 66 79 0a 20 .redistribute.it.and/or.modify..
4a2a0 20 20 69 74 20 75 6e 64 65 72 20 74 68 65 20 74 65 72 6d 73 20 6f 66 20 74 68 65 20 47 4e 55 20 ..it.under.the.terms.of.the.GNU.
4a2c0 47 65 6e 65 72 61 6c 20 50 75 62 6c 69 63 20 4c 69 63 65 6e 73 65 20 61 73 20 70 75 62 6c 69 73 General.Public.License.as.publis
4a2e0 68 65 64 20 62 79 0a 20 20 20 74 68 65 20 46 72 65 65 20 53 6f 66 74 77 61 72 65 20 46 6f 75 6e hed.by....the.Free.Software.Foun
4a300 64 61 74 69 6f 6e 2c 20 65 69 74 68 65 72 20 76 65 72 73 69 6f 6e 20 32 20 6f 66 20 74 68 65 20 dation,.either.version.2.of.the.
4a320 4c 69 63 65 6e 73 65 2c 20 6f 72 0a 20 20 20 28 61 74 20 79 6f 75 72 20 6f 70 74 69 6f 6e 29 20 License,.or....(at.your.option).
4a340 61 6e 79 20 6c 61 74 65 72 20 76 65 72 73 69 6f 6e 2e 0a 0a 20 20 20 54 68 69 73 20 70 72 6f 67 any.later.version......This.prog
4a360 72 61 6d 20 69 73 20 64 69 73 74 72 69 62 75 74 65 64 20 69 6e 20 74 68 65 20 68 6f 70 65 20 74 ram.is.distributed.in.the.hope.t
4a380 68 61 74 20 69 74 20 77 69 6c 6c 20 62 65 20 75 73 65 66 75 6c 2c 0a 20 20 20 62 75 74 20 57 49 hat.it.will.be.useful,....but.WI
4a3a0 54 48 4f 55 54 20 41 4e 59 20 57 41 52 52 41 4e 54 59 3b 20 77 69 74 68 6f 75 74 20 65 76 65 6e THOUT.ANY.WARRANTY;.without.even
4a3c0 20 74 68 65 20 69 6d 70 6c 69 65 64 20 77 61 72 72 61 6e 74 79 20 6f 66 0a 20 20 20 4d 45 52 43 .the.implied.warranty.of....MERC
4a3e0 48 41 4e 54 41 42 49 4c 49 54 59 20 6f 72 20 46 49 54 4e 45 53 53 20 46 4f 52 20 41 20 50 41 52 HANTABILITY.or.FITNESS.FOR.A.PAR
4a400 54 49 43 55 4c 41 52 20 50 55 52 50 4f 53 45 2e 20 20 53 65 65 20 74 68 65 0a 20 20 20 47 4e 55 TICULAR.PURPOSE...See.the....GNU
4a420 20 47 65 6e 65 72 61 6c 20 50 75 62 6c 69 63 20 4c 69 63 65 6e 73 65 20 66 6f 72 20 6d 6f 72 65 .General.Public.License.for.more
4a440 20 64 65 74 61 69 6c 73 2e 0a 0a 20 20 20 59 6f 75 20 73 68 6f 75 6c 64 20 68 61 76 65 20 72 65 .details......You.should.have.re
4a460 63 65 69 76 65 64 20 61 20 63 6f 70 79 20 6f 66 20 74 68 65 20 47 4e 55 20 47 65 6e 65 72 61 6c ceived.a.copy.of.the.GNU.General
4a480 20 50 75 62 6c 69 63 20 4c 69 63 65 6e 73 65 0a 20 20 20 61 6c 6f 6e 67 20 77 69 74 68 20 74 68 .Public.License....along.with.th
4a4a0 69 73 20 70 72 6f 67 72 61 6d 2e 20 20 49 66 20 6e 6f 74 2c 20 73 65 65 20 3c 68 74 74 70 3a 2f is.program...If.not,.see.<http:/
4a4c0 2f 77 77 77 2e 67 6e 75 2e 6f 72 67 2f 6c 69 63 65 6e 73 65 73 2f 3e 2e 0a 2a 2f 0a 0a 23 64 65 /www.gnu.org/licenses/>..*/..#de
4a4e0 66 69 6e 65 20 5f 46 49 4c 45 5f 4f 46 46 53 45 54 5f 42 49 54 53 20 36 34 0a 0a 23 69 6e 63 6c fine._FILE_OFFSET_BITS.64..#incl
4a500 75 64 65 20 3c 61 6c 67 6f 72 69 74 68 6d 3e 0a 23 69 6e 63 6c 75 64 65 20 3c 63 65 72 72 6e 6f ude.<algorithm>.#include.<cerrno
4a520 3e 0a 23 69 6e 63 6c 75 64 65 20 3c 63 73 74 64 6c 69 62 3e 0a 23 69 6e 63 6c 75 64 65 20 3c 63 >.#include.<cstdlib>.#include.<c
4a540 73 74 72 69 6e 67 3e 0a 23 69 6e 63 6c 75 64 65 20 3c 73 74 72 69 6e 67 3e 0a 23 69 6e 63 6c 75 string>.#include.<string>.#inclu
4a560 64 65 20 3c 76 65 63 74 6f 72 3e 0a 23 69 6e 63 6c 75 64 65 20 3c 73 74 64 69 6e 74 2e 68 3e 0a de.<vector>.#include.<stdint.h>.
4a580 0a 23 69 6e 63 6c 75 64 65 20 22 6c 7a 69 70 2e 68 22 0a 23 69 6e 63 6c 75 64 65 20 22 65 6e 63 .#include."lzip.h".#include."enc
4a5a0 6f 64 65 72 5f 62 61 73 65 2e 68 22 0a 23 69 6e 63 6c 75 64 65 20 22 66 61 73 74 5f 65 6e 63 6f oder_base.h".#include."fast_enco
4a5c0 64 65 72 2e 68 22 0a 0a 0a 69 6e 74 20 46 4c 5a 5f 65 6e 63 6f 64 65 72 3a 3a 6c 6f 6e 67 65 73 der.h"...int.FLZ_encoder::longes
4a5e0 74 5f 6d 61 74 63 68 5f 6c 65 6e 28 20 69 6e 74 20 2a 20 63 6f 6e 73 74 20 64 69 73 74 61 6e 63 t_match_len(.int.*.const.distanc
4a600 65 20 29 0a 20 20 7b 0a 20 20 65 6e 75 6d 20 7b 20 6c 65 6e 5f 6c 69 6d 69 74 20 3d 20 31 36 20 e.)...{...enum.{.len_limit.=.16.
4a620 7d 3b 0a 20 20 63 6f 6e 73 74 20 69 6e 74 20 61 76 61 69 6c 61 62 6c 65 20 3d 20 73 74 64 3a 3a };...const.int.available.=.std::
4a640 6d 69 6e 28 20 61 76 61 69 6c 61 62 6c 65 5f 62 79 74 65 73 28 29 2c 20 28 69 6e 74 29 6d 61 78 min(.available_bytes(),.(int)max
4a660 5f 6d 61 74 63 68 5f 6c 65 6e 20 29 3b 0a 20 20 69 66 28 20 61 76 61 69 6c 61 62 6c 65 20 3c 20 _match_len.);...if(.available.<.
4a680 6c 65 6e 5f 6c 69 6d 69 74 20 29 20 72 65 74 75 72 6e 20 30 3b 0a 0a 20 20 63 6f 6e 73 74 20 75 len_limit.).return.0;....const.u
4a6a0 69 6e 74 38 5f 74 20 2a 20 63 6f 6e 73 74 20 64 61 74 61 20 3d 20 70 74 72 5f 74 6f 5f 63 75 72 int8_t.*.const.data.=.ptr_to_cur
4a6c0 72 65 6e 74 5f 70 6f 73 28 29 3b 0a 20 20 6b 65 79 34 20 3d 20 28 20 28 20 6b 65 79 34 20 3c 3c rent_pos();...key4.=.(.(.key4.<<
4a6e0 20 34 20 29 20 5e 20 64 61 74 61 5b 33 5d 20 29 20 26 20 6b 65 79 34 5f 6d 61 73 6b 3b 0a 20 20 .4.).^.data[3].).&.key4_mask;...
4a700 63 6f 6e 73 74 20 69 6e 74 20 70 6f 73 31 20 3d 20 70 6f 73 20 2b 20 31 3b 0a 20 20 69 6e 74 20 const.int.pos1.=.pos.+.1;...int.
4a720 6e 65 77 70 6f 73 31 20 3d 20 70 72 65 76 5f 70 6f 73 69 74 69 6f 6e 73 5b 6b 65 79 34 5d 3b 0a newpos1.=.prev_positions[key4];.
4a740 20 20 70 72 65 76 5f 70 6f 73 69 74 69 6f 6e 73 5b 6b 65 79 34 5d 20 3d 20 70 6f 73 31 3b 0a 20 ..prev_positions[key4].=.pos1;..
4a760 20 69 6e 74 33 32 5f 74 20 2a 20 70 74 72 30 20 3d 20 70 6f 73 5f 61 72 72 61 79 20 2b 20 63 79 .int32_t.*.ptr0.=.pos_array.+.cy
4a780 63 6c 69 63 5f 70 6f 73 3b 0a 20 20 69 6e 74 20 6d 61 78 6c 65 6e 20 3d 20 30 3b 0a 0a 20 20 66 clic_pos;...int.maxlen.=.0;....f
4a7a0 6f 72 28 20 69 6e 74 20 63 6f 75 6e 74 20 3d 20 34 3b 20 3b 20 29 0a 20 20 20 20 7b 0a 20 20 20 or(.int.count.=.4;.;.).....{....
4a7c0 20 69 6e 74 20 64 65 6c 74 61 3b 0a 20 20 20 20 69 66 28 20 6e 65 77 70 6f 73 31 20 3c 3d 20 30 .int.delta;.....if(.newpos1.<=.0
4a7e0 20 7c 7c 20 2d 2d 63 6f 75 6e 74 20 3c 20 30 20 7c 7c 0a 20 20 20 20 20 20 20 20 28 20 64 65 6c .||.--count.<.0.||.........(.del
4a800 74 61 20 3d 20 70 6f 73 31 20 2d 20 6e 65 77 70 6f 73 31 20 29 20 3e 20 64 69 63 74 69 6f 6e 61 ta.=.pos1.-.newpos1.).>.dictiona
4a820 72 79 5f 73 69 7a 65 20 29 20 7b 20 2a 70 74 72 30 20 3d 20 30 3b 20 62 72 65 61 6b 3b 20 7d 0a ry_size.).{.*ptr0.=.0;.break;.}.
4a840 20 20 20 20 69 6e 74 33 32 5f 74 20 2a 20 63 6f 6e 73 74 20 6e 65 77 70 74 72 20 3d 20 70 6f 73 ....int32_t.*.const.newptr.=.pos
4a860 5f 61 72 72 61 79 20 2b 0a 20 20 20 20 20 20 28 20 63 79 63 6c 69 63 5f 70 6f 73 20 2d 20 64 65 _array.+.......(.cyclic_pos.-.de
4a880 6c 74 61 20 2b 0a 20 20 20 20 20 20 20 20 20 20 28 20 28 20 63 79 63 6c 69 63 5f 70 6f 73 20 3e lta.+...........(.(.cyclic_pos.>
4a8a0 3d 20 64 65 6c 74 61 20 29 20 3f 20 30 20 3a 20 64 69 63 74 69 6f 6e 61 72 79 5f 73 69 7a 65 20 =.delta.).?.0.:.dictionary_size.
4a8c0 2b 20 31 20 29 20 29 3b 0a 0a 20 20 20 20 69 66 28 20 64 61 74 61 5b 6d 61 78 6c 65 6e 2d 64 65 +.1.).);......if(.data[maxlen-de
4a8e0 6c 74 61 5d 20 3d 3d 20 64 61 74 61 5b 6d 61 78 6c 65 6e 5d 20 29 0a 20 20 20 20 20 20 7b 0a 20 lta].==.data[maxlen].).......{..
4a900 20 20 20 20 20 69 6e 74 20 6c 65 6e 20 3d 20 30 3b 0a 20 20 20 20 20 20 77 68 69 6c 65 28 20 6c .....int.len.=.0;.......while(.l
4a920 65 6e 20 3c 20 61 76 61 69 6c 61 62 6c 65 20 26 26 20 64 61 74 61 5b 6c 65 6e 2d 64 65 6c 74 61 en.<.available.&&.data[len-delta
4a940 5d 20 3d 3d 20 64 61 74 61 5b 6c 65 6e 5d 20 29 20 2b 2b 6c 65 6e 3b 0a 20 20 20 20 20 20 69 66 ].==.data[len].).++len;.......if
4a960 28 20 6d 61 78 6c 65 6e 20 3c 20 6c 65 6e 20 29 0a 20 20 20 20 20 20 20 20 7b 20 6d 61 78 6c 65 (.maxlen.<.len.).........{.maxle
4a980 6e 20 3d 20 6c 65 6e 3b 20 2a 64 69 73 74 61 6e 63 65 20 3d 20 64 65 6c 74 61 20 2d 20 31 3b 0a n.=.len;.*distance.=.delta.-.1;.
4a9a0 20 20 20 20 20 20 20 20 20 20 69 66 28 20 6d 61 78 6c 65 6e 20 3e 3d 20 6c 65 6e 5f 6c 69 6d 69 ..........if(.maxlen.>=.len_limi
4a9c0 74 20 29 20 7b 20 2a 70 74 72 30 20 3d 20 2a 6e 65 77 70 74 72 3b 20 62 72 65 61 6b 3b 20 7d 20 t.).{.*ptr0.=.*newptr;.break;.}.
4a9e0 7d 0a 20 20 20 20 20 20 7d 0a 0a 20 20 20 20 2a 70 74 72 30 20 3d 20 6e 65 77 70 6f 73 31 3b 0a }.......}......*ptr0.=.newpos1;.
4aa00 20 20 20 20 70 74 72 30 20 3d 20 6e 65 77 70 74 72 3b 0a 20 20 20 20 6e 65 77 70 6f 73 31 20 3d ....ptr0.=.newptr;.....newpos1.=
4aa20 20 2a 70 74 72 30 3b 0a 20 20 20 20 7d 0a 20 20 72 65 74 75 72 6e 20 6d 61 78 6c 65 6e 3b 0a 20 .*ptr0;.....}...return.maxlen;..
4aa40 20 7d 0a 0a 0a 62 6f 6f 6c 20 46 4c 5a 5f 65 6e 63 6f 64 65 72 3a 3a 65 6e 63 6f 64 65 5f 6d 65 .}...bool.FLZ_encoder::encode_me
4aa60 6d 62 65 72 28 20 63 6f 6e 73 74 20 75 6e 73 69 67 6e 65 64 20 6c 6f 6e 67 20 6c 6f 6e 67 20 6d mber(.const.unsigned.long.long.m
4aa80 65 6d 62 65 72 5f 73 69 7a 65 20 29 0a 20 20 7b 0a 20 20 63 6f 6e 73 74 20 75 6e 73 69 67 6e 65 ember_size.)...{...const.unsigne
4aaa0 64 20 6c 6f 6e 67 20 6c 6f 6e 67 20 6d 65 6d 62 65 72 5f 73 69 7a 65 5f 6c 69 6d 69 74 20 3d 0a d.long.long.member_size_limit.=.
4aac0 20 20 20 20 6d 65 6d 62 65 72 5f 73 69 7a 65 20 2d 20 4c 7a 69 70 5f 74 72 61 69 6c 65 72 3a 3a ....member_size.-.Lzip_trailer::
4aae0 73 69 7a 65 20 2d 20 6d 61 78 5f 6d 61 72 6b 65 72 5f 73 69 7a 65 3b 0a 20 20 69 6e 74 20 72 65 size.-.max_marker_size;...int.re
4ab00 70 20 3d 20 30 3b 0a 20 20 69 6e 74 20 72 65 70 73 5b 6e 75 6d 5f 72 65 70 5f 64 69 73 74 61 6e p.=.0;...int.reps[num_rep_distan
4ab20 63 65 73 5d 3b 0a 20 20 53 74 61 74 65 20 73 74 61 74 65 3b 0a 20 20 66 6f 72 28 20 69 6e 74 20 ces];...State.state;...for(.int.
4ab40 69 20 3d 20 30 3b 20 69 20 3c 20 6e 75 6d 5f 72 65 70 5f 64 69 73 74 61 6e 63 65 73 3b 20 2b 2b i.=.0;.i.<.num_rep_distances;.++
4ab60 69 20 29 20 72 65 70 73 5b 69 5d 20 3d 20 30 3b 0a 0a 20 20 69 66 28 20 64 61 74 61 5f 70 6f 73 i.).reps[i].=.0;....if(.data_pos
4ab80 69 74 69 6f 6e 28 29 20 21 3d 20 30 20 7c 7c 20 72 65 6e 63 2e 6d 65 6d 62 65 72 5f 70 6f 73 69 ition().!=.0.||.renc.member_posi
4aba0 74 69 6f 6e 28 29 20 21 3d 20 4c 7a 69 70 5f 68 65 61 64 65 72 3a 3a 73 69 7a 65 20 29 0a 20 20 tion().!=.Lzip_header::size.)...
4abc0 20 20 72 65 74 75 72 6e 20 66 61 6c 73 65 3b 09 09 09 09 2f 2f 20 63 61 6e 20 62 65 20 63 61 6c ..return.false;....//.can.be.cal
4abe0 6c 65 64 20 6f 6e 6c 79 20 6f 6e 63 65 0a 0a 20 20 69 66 28 20 21 64 61 74 61 5f 66 69 6e 69 73 led.only.once....if(.!data_finis
4ac00 68 65 64 28 29 20 29 09 09 09 2f 2f 20 65 6e 63 6f 64 65 20 66 69 72 73 74 20 62 79 74 65 0a 20 hed().)...//.encode.first.byte..
4ac20 20 20 20 7b 0a 20 20 20 20 63 6f 6e 73 74 20 75 69 6e 74 38 5f 74 20 70 72 65 76 5f 62 79 74 65 ...{.....const.uint8_t.prev_byte
4ac40 20 3d 20 30 3b 0a 20 20 20 20 63 6f 6e 73 74 20 75 69 6e 74 38 5f 74 20 63 75 72 5f 62 79 74 65 .=.0;.....const.uint8_t.cur_byte
4ac60 20 3d 20 70 65 65 6b 28 20 30 20 29 3b 0a 20 20 20 20 72 65 6e 63 2e 65 6e 63 6f 64 65 5f 62 69 .=.peek(.0.);.....renc.encode_bi
4ac80 74 28 20 62 6d 5f 6d 61 74 63 68 5b 73 74 61 74 65 28 29 5d 5b 30 5d 2c 20 30 20 29 3b 0a 20 20 t(.bm_match[state()][0],.0.);...
4aca0 20 20 65 6e 63 6f 64 65 5f 6c 69 74 65 72 61 6c 28 20 70 72 65 76 5f 62 79 74 65 2c 20 63 75 72 ..encode_literal(.prev_byte,.cur
4acc0 5f 62 79 74 65 20 29 3b 0a 20 20 20 20 63 72 63 33 32 2e 75 70 64 61 74 65 5f 62 79 74 65 28 20 _byte.);.....crc32.update_byte(.
4ace0 63 72 63 5f 2c 20 63 75 72 5f 62 79 74 65 20 29 3b 0a 20 20 20 20 72 65 73 65 74 5f 6b 65 79 34 crc_,.cur_byte.);.....reset_key4
4ad00 28 29 3b 0a 20 20 20 20 75 70 64 61 74 65 5f 61 6e 64 5f 6d 6f 76 65 28 20 31 20 29 3b 0a 20 20 ();.....update_and_move(.1.);...
4ad20 20 20 7d 0a 0a 20 20 77 68 69 6c 65 28 20 21 64 61 74 61 5f 66 69 6e 69 73 68 65 64 28 29 20 26 ..}....while(.!data_finished().&
4ad40 26 20 72 65 6e 63 2e 6d 65 6d 62 65 72 5f 70 6f 73 69 74 69 6f 6e 28 29 20 3c 20 6d 65 6d 62 65 &.renc.member_position().<.membe
4ad60 72 5f 73 69 7a 65 5f 6c 69 6d 69 74 20 29 0a 20 20 20 20 7b 0a 20 20 20 20 69 6e 74 20 6d 61 74 r_size_limit.).....{.....int.mat
4ad80 63 68 5f 64 69 73 74 61 6e 63 65 3b 0a 20 20 20 20 63 6f 6e 73 74 20 69 6e 74 20 6d 61 69 6e 5f ch_distance;.....const.int.main_
4ada0 6c 65 6e 20 3d 20 6c 6f 6e 67 65 73 74 5f 6d 61 74 63 68 5f 6c 65 6e 28 20 26 6d 61 74 63 68 5f len.=.longest_match_len(.&match_
4adc0 64 69 73 74 61 6e 63 65 20 29 3b 0a 20 20 20 20 63 6f 6e 73 74 20 69 6e 74 20 70 6f 73 5f 73 74 distance.);.....const.int.pos_st
4ade0 61 74 65 20 3d 20 64 61 74 61 5f 70 6f 73 69 74 69 6f 6e 28 29 20 26 20 70 6f 73 5f 73 74 61 74 ate.=.data_position().&.pos_stat
4ae00 65 5f 6d 61 73 6b 3b 0a 20 20 20 20 69 6e 74 20 6c 65 6e 20 3d 20 30 3b 0a 0a 20 20 20 20 66 6f e_mask;.....int.len.=.0;......fo
4ae20 72 28 20 69 6e 74 20 69 20 3d 20 30 3b 20 69 20 3c 20 6e 75 6d 5f 72 65 70 5f 64 69 73 74 61 6e r(.int.i.=.0;.i.<.num_rep_distan
4ae40 63 65 73 3b 20 2b 2b 69 20 29 0a 20 20 20 20 20 20 7b 0a 20 20 20 20 20 20 63 6f 6e 73 74 20 69 ces;.++i.).......{.......const.i
4ae60 6e 74 20 74 6c 65 6e 20 3d 20 74 72 75 65 5f 6d 61 74 63 68 5f 6c 65 6e 28 20 30 2c 20 72 65 70 nt.tlen.=.true_match_len(.0,.rep
4ae80 73 5b 69 5d 20 2b 20 31 20 29 3b 0a 20 20 20 20 20 20 69 66 28 20 74 6c 65 6e 20 3e 20 6c 65 6e s[i].+.1.);.......if(.tlen.>.len
4aea0 20 29 20 7b 20 6c 65 6e 20 3d 20 74 6c 65 6e 3b 20 72 65 70 20 3d 20 69 3b 20 7d 0a 20 20 20 20 .).{.len.=.tlen;.rep.=.i;.}.....
4aec0 20 20 7d 0a 20 20 20 20 69 66 28 20 6c 65 6e 20 3e 20 6d 69 6e 5f 6d 61 74 63 68 5f 6c 65 6e 20 ..}.....if(.len.>.min_match_len.
4aee0 26 26 20 6c 65 6e 20 2b 20 33 20 3e 20 6d 61 69 6e 5f 6c 65 6e 20 29 0a 20 20 20 20 20 20 7b 0a &&.len.+.3.>.main_len.).......{.
4af00 20 20 20 20 20 20 63 72 63 33 32 2e 75 70 64 61 74 65 5f 62 75 66 28 20 63 72 63 5f 2c 20 70 74 ......crc32.update_buf(.crc_,.pt
4af20 72 5f 74 6f 5f 63 75 72 72 65 6e 74 5f 70 6f 73 28 29 2c 20 6c 65 6e 20 29 3b 0a 20 20 20 20 20 r_to_current_pos(),.len.);......
4af40 20 72 65 6e 63 2e 65 6e 63 6f 64 65 5f 62 69 74 28 20 62 6d 5f 6d 61 74 63 68 5b 73 74 61 74 65 .renc.encode_bit(.bm_match[state
4af60 28 29 5d 5b 70 6f 73 5f 73 74 61 74 65 5d 2c 20 31 20 29 3b 0a 20 20 20 20 20 20 72 65 6e 63 2e ()][pos_state],.1.);.......renc.
4af80 65 6e 63 6f 64 65 5f 62 69 74 28 20 62 6d 5f 72 65 70 5b 73 74 61 74 65 28 29 5d 2c 20 31 20 29 encode_bit(.bm_rep[state()],.1.)
4afa0 3b 0a 20 20 20 20 20 20 72 65 6e 63 2e 65 6e 63 6f 64 65 5f 62 69 74 28 20 62 6d 5f 72 65 70 30 ;.......renc.encode_bit(.bm_rep0
4afc0 5b 73 74 61 74 65 28 29 5d 2c 20 72 65 70 20 21 3d 20 30 20 29 3b 0a 20 20 20 20 20 20 69 66 28 [state()],.rep.!=.0.);.......if(
4afe0 20 72 65 70 20 3d 3d 20 30 20 29 0a 20 20 20 20 20 20 20 20 72 65 6e 63 2e 65 6e 63 6f 64 65 5f .rep.==.0.).........renc.encode_
4b000 62 69 74 28 20 62 6d 5f 6c 65 6e 5b 73 74 61 74 65 28 29 5d 5b 70 6f 73 5f 73 74 61 74 65 5d 2c bit(.bm_len[state()][pos_state],
4b020 20 31 20 29 3b 0a 20 20 20 20 20 20 65 6c 73 65 0a 20 20 20 20 20 20 20 20 7b 0a 20 20 20 20 20 .1.);.......else.........{......
4b040 20 20 20 72 65 6e 63 2e 65 6e 63 6f 64 65 5f 62 69 74 28 20 62 6d 5f 72 65 70 31 5b 73 74 61 74 ...renc.encode_bit(.bm_rep1[stat
4b060 65 28 29 5d 2c 20 72 65 70 20 3e 20 31 20 29 3b 0a 20 20 20 20 20 20 20 20 69 66 28 20 72 65 70 e()],.rep.>.1.);.........if(.rep
4b080 20 3e 20 31 20 29 0a 20 20 20 20 20 20 20 20 20 20 72 65 6e 63 2e 65 6e 63 6f 64 65 5f 62 69 74 .>.1.)...........renc.encode_bit
4b0a0 28 20 62 6d 5f 72 65 70 32 5b 73 74 61 74 65 28 29 5d 2c 20 72 65 70 20 3e 20 32 20 29 3b 0a 20 (.bm_rep2[state()],.rep.>.2.);..
4b0c0 20 20 20 20 20 20 20 63 6f 6e 73 74 20 69 6e 74 20 64 69 73 74 61 6e 63 65 20 3d 20 72 65 70 73 .......const.int.distance.=.reps
4b0e0 5b 72 65 70 5d 3b 0a 20 20 20 20 20 20 20 20 66 6f 72 28 20 69 6e 74 20 69 20 3d 20 72 65 70 3b [rep];.........for(.int.i.=.rep;
4b100 20 69 20 3e 20 30 3b 20 2d 2d 69 20 29 20 72 65 70 73 5b 69 5d 20 3d 20 72 65 70 73 5b 69 2d 31 .i.>.0;.--i.).reps[i].=.reps[i-1
4b120 5d 3b 0a 20 20 20 20 20 20 20 20 72 65 70 73 5b 30 5d 20 3d 20 64 69 73 74 61 6e 63 65 3b 0a 20 ];.........reps[0].=.distance;..
4b140 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 73 74 61 74 65 2e 73 65 74 5f 72 65 70 28 29 3b 0a .......}.......state.set_rep();.
4b160 20 20 20 20 20 20 72 65 6e 63 2e 65 6e 63 6f 64 65 5f 6c 65 6e 28 20 72 65 70 5f 6c 65 6e 5f 6d ......renc.encode_len(.rep_len_m
4b180 6f 64 65 6c 2c 20 6c 65 6e 2c 20 70 6f 73 5f 73 74 61 74 65 20 29 3b 0a 20 20 20 20 20 20 6d 6f odel,.len,.pos_state.);.......mo
4b1a0 76 65 5f 70 6f 73 28 29 3b 0a 20 20 20 20 20 20 75 70 64 61 74 65 5f 61 6e 64 5f 6d 6f 76 65 28 ve_pos();.......update_and_move(
4b1c0 20 6c 65 6e 20 2d 20 31 20 29 3b 0a 20 20 20 20 20 20 63 6f 6e 74 69 6e 75 65 3b 0a 20 20 20 20 .len.-.1.);.......continue;.....
4b1e0 20 20 7d 0a 0a 20 20 20 20 69 66 28 20 6d 61 69 6e 5f 6c 65 6e 20 3e 20 6d 69 6e 5f 6d 61 74 63 ..}......if(.main_len.>.min_matc
4b200 68 5f 6c 65 6e 20 29 0a 20 20 20 20 20 20 7b 0a 20 20 20 20 20 20 63 72 63 33 32 2e 75 70 64 61 h_len.).......{.......crc32.upda
4b220 74 65 5f 62 75 66 28 20 63 72 63 5f 2c 20 70 74 72 5f 74 6f 5f 63 75 72 72 65 6e 74 5f 70 6f 73 te_buf(.crc_,.ptr_to_current_pos
4b240 28 29 2c 20 6d 61 69 6e 5f 6c 65 6e 20 29 3b 0a 20 20 20 20 20 20 72 65 6e 63 2e 65 6e 63 6f 64 (),.main_len.);.......renc.encod
4b260 65 5f 62 69 74 28 20 62 6d 5f 6d 61 74 63 68 5b 73 74 61 74 65 28 29 5d 5b 70 6f 73 5f 73 74 61 e_bit(.bm_match[state()][pos_sta
4b280 74 65 5d 2c 20 31 20 29 3b 0a 20 20 20 20 20 20 72 65 6e 63 2e 65 6e 63 6f 64 65 5f 62 69 74 28 te],.1.);.......renc.encode_bit(
4b2a0 20 62 6d 5f 72 65 70 5b 73 74 61 74 65 28 29 5d 2c 20 30 20 29 3b 0a 20 20 20 20 20 20 73 74 61 .bm_rep[state()],.0.);.......sta
4b2c0 74 65 2e 73 65 74 5f 6d 61 74 63 68 28 29 3b 0a 20 20 20 20 20 20 66 6f 72 28 20 69 6e 74 20 69 te.set_match();.......for(.int.i
4b2e0 20 3d 20 6e 75 6d 5f 72 65 70 5f 64 69 73 74 61 6e 63 65 73 20 2d 20 31 3b 20 69 20 3e 20 30 3b .=.num_rep_distances.-.1;.i.>.0;
4b300 20 2d 2d 69 20 29 20 72 65 70 73 5b 69 5d 20 3d 20 72 65 70 73 5b 69 2d 31 5d 3b 0a 20 20 20 20 .--i.).reps[i].=.reps[i-1];.....
4b320 20 20 72 65 70 73 5b 30 5d 20 3d 20 6d 61 74 63 68 5f 64 69 73 74 61 6e 63 65 3b 0a 20 20 20 20 ..reps[0].=.match_distance;.....
4b340 20 20 65 6e 63 6f 64 65 5f 70 61 69 72 28 20 6d 61 74 63 68 5f 64 69 73 74 61 6e 63 65 2c 20 6d ..encode_pair(.match_distance,.m
4b360 61 69 6e 5f 6c 65 6e 2c 20 70 6f 73 5f 73 74 61 74 65 20 29 3b 0a 20 20 20 20 20 20 6d 6f 76 65 ain_len,.pos_state.);.......move
4b380 5f 70 6f 73 28 29 3b 0a 20 20 20 20 20 20 75 70 64 61 74 65 5f 61 6e 64 5f 6d 6f 76 65 28 20 6d _pos();.......update_and_move(.m
4b3a0 61 69 6e 5f 6c 65 6e 20 2d 20 31 20 29 3b 0a 20 20 20 20 20 20 63 6f 6e 74 69 6e 75 65 3b 0a 20 ain_len.-.1.);.......continue;..
4b3c0 20 20 20 20 20 7d 0a 0a 20 20 20 20 63 6f 6e 73 74 20 75 69 6e 74 38 5f 74 20 70 72 65 76 5f 62 .....}......const.uint8_t.prev_b
4b3e0 79 74 65 20 3d 20 70 65 65 6b 28 20 31 20 29 3b 0a 20 20 20 20 63 6f 6e 73 74 20 75 69 6e 74 38 yte.=.peek(.1.);.....const.uint8
4b400 5f 74 20 63 75 72 5f 62 79 74 65 20 3d 20 70 65 65 6b 28 20 30 20 29 3b 0a 20 20 20 20 63 6f 6e _t.cur_byte.=.peek(.0.);.....con
4b420 73 74 20 75 69 6e 74 38 5f 74 20 6d 61 74 63 68 5f 62 79 74 65 20 3d 20 70 65 65 6b 28 20 72 65 st.uint8_t.match_byte.=.peek(.re
4b440 70 73 5b 30 5d 20 2b 20 31 20 29 3b 0a 20 20 20 20 6d 6f 76 65 5f 70 6f 73 28 29 3b 0a 20 20 20 ps[0].+.1.);.....move_pos();....
4b460 20 63 72 63 33 32 2e 75 70 64 61 74 65 5f 62 79 74 65 28 20 63 72 63 5f 2c 20 63 75 72 5f 62 79 .crc32.update_byte(.crc_,.cur_by
4b480 74 65 20 29 3b 0a 0a 20 20 20 20 69 66 28 20 6d 61 74 63 68 5f 62 79 74 65 20 3d 3d 20 63 75 72 te.);......if(.match_byte.==.cur
4b4a0 5f 62 79 74 65 20 29 0a 20 20 20 20 20 20 7b 0a 20 20 20 20 20 20 63 6f 6e 73 74 20 69 6e 74 20 _byte.).......{.......const.int.
4b4c0 73 68 6f 72 74 5f 72 65 70 5f 70 72 69 63 65 20 3d 20 70 72 69 63 65 31 28 20 62 6d 5f 6d 61 74 short_rep_price.=.price1(.bm_mat
4b4e0 63 68 5b 73 74 61 74 65 28 29 5d 5b 70 6f 73 5f 73 74 61 74 65 5d 20 29 20 2b 0a 20 20 20 20 20 ch[state()][pos_state].).+......
4b500 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 70 72 69 .............................pri
4b520 63 65 31 28 20 62 6d 5f 72 65 70 5b 73 74 61 74 65 28 29 5d 20 29 20 2b 0a 20 20 20 20 20 20 20 ce1(.bm_rep[state()].).+........
4b540 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 70 72 69 63 65 ...........................price
4b560 30 28 20 62 6d 5f 72 65 70 30 5b 73 74 61 74 65 28 29 5d 20 29 20 2b 0a 20 20 20 20 20 20 20 20 0(.bm_rep0[state()].).+.........
4b580 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 70 72 69 63 65 30 ..........................price0
4b5a0 28 20 62 6d 5f 6c 65 6e 5b 73 74 61 74 65 28 29 5d 5b 70 6f 73 5f 73 74 61 74 65 5d 20 29 3b 0a (.bm_len[state()][pos_state].);.
4b5c0 20 20 20 20 20 20 69 6e 74 20 70 72 69 63 65 20 3d 20 70 72 69 63 65 30 28 20 62 6d 5f 6d 61 74 ......int.price.=.price0(.bm_mat
4b5e0 63 68 5b 73 74 61 74 65 28 29 5d 5b 70 6f 73 5f 73 74 61 74 65 5d 20 29 3b 0a 20 20 20 20 20 20 ch[state()][pos_state].);.......
4b600 69 66 28 20 73 74 61 74 65 2e 69 73 5f 63 68 61 72 28 29 20 29 0a 20 20 20 20 20 20 20 20 70 72 if(.state.is_char().).........pr
4b620 69 63 65 20 2b 3d 20 70 72 69 63 65 5f 6c 69 74 65 72 61 6c 28 20 70 72 65 76 5f 62 79 74 65 2c ice.+=.price_literal(.prev_byte,
4b640 20 63 75 72 5f 62 79 74 65 20 29 3b 0a 20 20 20 20 20 20 65 6c 73 65 0a 20 20 20 20 20 20 20 20 .cur_byte.);.......else.........
4b660 70 72 69 63 65 20 2b 3d 20 70 72 69 63 65 5f 6d 61 74 63 68 65 64 28 20 70 72 65 76 5f 62 79 74 price.+=.price_matched(.prev_byt
4b680 65 2c 20 63 75 72 5f 62 79 74 65 2c 20 6d 61 74 63 68 5f 62 79 74 65 20 29 3b 0a 20 20 20 20 20 e,.cur_byte,.match_byte.);......
4b6a0 20 69 66 28 20 73 68 6f 72 74 5f 72 65 70 5f 70 72 69 63 65 20 3c 20 70 72 69 63 65 20 29 0a 20 .if(.short_rep_price.<.price.)..
4b6c0 20 20 20 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 72 65 6e 63 2e 65 6e 63 6f 64 65 5f 62 69 74 .......{.........renc.encode_bit
4b6e0 28 20 62 6d 5f 6d 61 74 63 68 5b 73 74 61 74 65 28 29 5d 5b 70 6f 73 5f 73 74 61 74 65 5d 2c 20 (.bm_match[state()][pos_state],.
4b700 31 20 29 3b 0a 20 20 20 20 20 20 20 20 72 65 6e 63 2e 65 6e 63 6f 64 65 5f 62 69 74 28 20 62 6d 1.);.........renc.encode_bit(.bm
4b720 5f 72 65 70 5b 73 74 61 74 65 28 29 5d 2c 20 31 20 29 3b 0a 20 20 20 20 20 20 20 20 72 65 6e 63 _rep[state()],.1.);.........renc
4b740 2e 65 6e 63 6f 64 65 5f 62 69 74 28 20 62 6d 5f 72 65 70 30 5b 73 74 61 74 65 28 29 5d 2c 20 30 .encode_bit(.bm_rep0[state()],.0
4b760 20 29 3b 0a 20 20 20 20 20 20 20 20 72 65 6e 63 2e 65 6e 63 6f 64 65 5f 62 69 74 28 20 62 6d 5f .);.........renc.encode_bit(.bm_
4b780 6c 65 6e 5b 73 74 61 74 65 28 29 5d 5b 70 6f 73 5f 73 74 61 74 65 5d 2c 20 30 20 29 3b 0a 20 20 len[state()][pos_state],.0.);...
4b7a0 20 20 20 20 20 20 73 74 61 74 65 2e 73 65 74 5f 73 68 6f 72 74 5f 72 65 70 28 29 3b 0a 20 20 20 ......state.set_short_rep();....
4b7c0 20 20 20 20 20 63 6f 6e 74 69 6e 75 65 3b 0a 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 7d .....continue;.........}.......}
4b7e0 0a 0a 20 20 20 20 2f 2f 20 6c 69 74 65 72 61 6c 20 62 79 74 65 0a 20 20 20 20 72 65 6e 63 2e 65 ......//.literal.byte.....renc.e
4b800 6e 63 6f 64 65 5f 62 69 74 28 20 62 6d 5f 6d 61 74 63 68 5b 73 74 61 74 65 28 29 5d 5b 70 6f 73 ncode_bit(.bm_match[state()][pos
4b820 5f 73 74 61 74 65 5d 2c 20 30 20 29 3b 0a 20 20 20 20 69 66 28 20 73 74 61 74 65 2e 69 73 5f 63 _state],.0.);.....if(.state.is_c
4b840 68 61 72 5f 73 65 74 5f 63 68 61 72 28 29 20 29 0a 20 20 20 20 20 20 65 6e 63 6f 64 65 5f 6c 69 har_set_char().).......encode_li
4b860 74 65 72 61 6c 28 20 70 72 65 76 5f 62 79 74 65 2c 20 63 75 72 5f 62 79 74 65 20 29 3b 0a 20 20 teral(.prev_byte,.cur_byte.);...
4b880 20 20 65 6c 73 65 0a 20 20 20 20 20 20 65 6e 63 6f 64 65 5f 6d 61 74 63 68 65 64 28 20 70 72 65 ..else.......encode_matched(.pre
4b8a0 76 5f 62 79 74 65 2c 20 63 75 72 5f 62 79 74 65 2c 20 6d 61 74 63 68 5f 62 79 74 65 20 29 3b 0a v_byte,.cur_byte,.match_byte.);.
4b8c0 20 20 20 20 7d 0a 0a 20 20 66 75 6c 6c 5f 66 6c 75 73 68 28 20 73 74 61 74 65 20 29 3b 0a 20 20 ....}....full_flush(.state.);...
4b8e0 72 65 74 75 72 6e 20 74 72 75 65 3b 0a 20 20 7d 0a 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 return.true;...}................
4b900 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4b920 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4b940 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4b960 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4b980 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4b9a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4b9c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4b9e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4ba00 6c 7a 69 70 2d 31 2e 32 32 2f 65 6e 63 6f 64 65 72 2e 63 63 00 00 00 00 00 00 00 00 00 00 00 00 lzip-1.22/encoder.cc............
4ba20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4ba40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4ba60 00 00 00 00 30 30 30 30 36 34 34 00 30 30 30 30 30 30 30 00 30 30 30 30 30 30 30 00 30 30 30 30 ....0000644.0000000.0000000.0000
4ba80 30 30 34 36 34 32 35 00 31 33 37 37 33 36 31 37 31 33 31 00 30 31 34 33 36 34 00 20 30 00 00 00 0046425.13773617131.014364..0...
4baa0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4bac0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4bae0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4bb00 00 75 73 74 61 72 00 30 30 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .ustar.00root...................
4bb20 00 00 00 00 00 00 00 00 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .........root...................
4bb40 00 00 00 00 00 00 00 00 00 30 30 30 30 30 30 30 00 30 30 30 30 30 30 30 00 00 00 00 00 00 00 00 .........0000000.0000000........
4bb60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4bb80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4bba0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4bbc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4bbe0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4bc00 2f 2a 20 4c 7a 69 70 20 2d 20 4c 5a 4d 41 20 6c 6f 73 73 6c 65 73 73 20 64 61 74 61 20 63 6f 6d /*.Lzip.-.LZMA.lossless.data.com
4bc20 70 72 65 73 73 6f 72 0a 20 20 20 43 6f 70 79 72 69 67 68 74 20 28 43 29 20 32 30 30 38 2d 32 30 pressor....Copyright.(C).2008-20
4bc40 32 31 20 41 6e 74 6f 6e 69 6f 20 44 69 61 7a 20 44 69 61 7a 2e 0a 0a 20 20 20 54 68 69 73 20 70 21.Antonio.Diaz.Diaz......This.p
4bc60 72 6f 67 72 61 6d 20 69 73 20 66 72 65 65 20 73 6f 66 74 77 61 72 65 3a 20 79 6f 75 20 63 61 6e rogram.is.free.software:.you.can
4bc80 20 72 65 64 69 73 74 72 69 62 75 74 65 20 69 74 20 61 6e 64 2f 6f 72 20 6d 6f 64 69 66 79 0a 20 .redistribute.it.and/or.modify..
4bca0 20 20 69 74 20 75 6e 64 65 72 20 74 68 65 20 74 65 72 6d 73 20 6f 66 20 74 68 65 20 47 4e 55 20 ..it.under.the.terms.of.the.GNU.
4bcc0 47 65 6e 65 72 61 6c 20 50 75 62 6c 69 63 20 4c 69 63 65 6e 73 65 20 61 73 20 70 75 62 6c 69 73 General.Public.License.as.publis
4bce0 68 65 64 20 62 79 0a 20 20 20 74 68 65 20 46 72 65 65 20 53 6f 66 74 77 61 72 65 20 46 6f 75 6e hed.by....the.Free.Software.Foun
4bd00 64 61 74 69 6f 6e 2c 20 65 69 74 68 65 72 20 76 65 72 73 69 6f 6e 20 32 20 6f 66 20 74 68 65 20 dation,.either.version.2.of.the.
4bd20 4c 69 63 65 6e 73 65 2c 20 6f 72 0a 20 20 20 28 61 74 20 79 6f 75 72 20 6f 70 74 69 6f 6e 29 20 License,.or....(at.your.option).
4bd40 61 6e 79 20 6c 61 74 65 72 20 76 65 72 73 69 6f 6e 2e 0a 0a 20 20 20 54 68 69 73 20 70 72 6f 67 any.later.version......This.prog
4bd60 72 61 6d 20 69 73 20 64 69 73 74 72 69 62 75 74 65 64 20 69 6e 20 74 68 65 20 68 6f 70 65 20 74 ram.is.distributed.in.the.hope.t
4bd80 68 61 74 20 69 74 20 77 69 6c 6c 20 62 65 20 75 73 65 66 75 6c 2c 0a 20 20 20 62 75 74 20 57 49 hat.it.will.be.useful,....but.WI
4bda0 54 48 4f 55 54 20 41 4e 59 20 57 41 52 52 41 4e 54 59 3b 20 77 69 74 68 6f 75 74 20 65 76 65 6e THOUT.ANY.WARRANTY;.without.even
4bdc0 20 74 68 65 20 69 6d 70 6c 69 65 64 20 77 61 72 72 61 6e 74 79 20 6f 66 0a 20 20 20 4d 45 52 43 .the.implied.warranty.of....MERC
4bde0 48 41 4e 54 41 42 49 4c 49 54 59 20 6f 72 20 46 49 54 4e 45 53 53 20 46 4f 52 20 41 20 50 41 52 HANTABILITY.or.FITNESS.FOR.A.PAR
4be00 54 49 43 55 4c 41 52 20 50 55 52 50 4f 53 45 2e 20 20 53 65 65 20 74 68 65 0a 20 20 20 47 4e 55 TICULAR.PURPOSE...See.the....GNU
4be20 20 47 65 6e 65 72 61 6c 20 50 75 62 6c 69 63 20 4c 69 63 65 6e 73 65 20 66 6f 72 20 6d 6f 72 65 .General.Public.License.for.more
4be40 20 64 65 74 61 69 6c 73 2e 0a 0a 20 20 20 59 6f 75 20 73 68 6f 75 6c 64 20 68 61 76 65 20 72 65 .details......You.should.have.re
4be60 63 65 69 76 65 64 20 61 20 63 6f 70 79 20 6f 66 20 74 68 65 20 47 4e 55 20 47 65 6e 65 72 61 6c ceived.a.copy.of.the.GNU.General
4be80 20 50 75 62 6c 69 63 20 4c 69 63 65 6e 73 65 0a 20 20 20 61 6c 6f 6e 67 20 77 69 74 68 20 74 68 .Public.License....along.with.th
4bea0 69 73 20 70 72 6f 67 72 61 6d 2e 20 20 49 66 20 6e 6f 74 2c 20 73 65 65 20 3c 68 74 74 70 3a 2f is.program...If.not,.see.<http:/
4bec0 2f 77 77 77 2e 67 6e 75 2e 6f 72 67 2f 6c 69 63 65 6e 73 65 73 2f 3e 2e 0a 2a 2f 0a 0a 23 64 65 /www.gnu.org/licenses/>..*/..#de
4bee0 66 69 6e 65 20 5f 46 49 4c 45 5f 4f 46 46 53 45 54 5f 42 49 54 53 20 36 34 0a 0a 23 69 6e 63 6c fine._FILE_OFFSET_BITS.64..#incl
4bf00 75 64 65 20 3c 61 6c 67 6f 72 69 74 68 6d 3e 0a 23 69 6e 63 6c 75 64 65 20 3c 63 65 72 72 6e 6f ude.<algorithm>.#include.<cerrno
4bf20 3e 0a 23 69 6e 63 6c 75 64 65 20 3c 63 73 74 64 6c 69 62 3e 0a 23 69 6e 63 6c 75 64 65 20 3c 63 >.#include.<cstdlib>.#include.<c
4bf40 73 74 72 69 6e 67 3e 0a 23 69 6e 63 6c 75 64 65 20 3c 73 74 72 69 6e 67 3e 0a 23 69 6e 63 6c 75 string>.#include.<string>.#inclu
4bf60 64 65 20 3c 76 65 63 74 6f 72 3e 0a 23 69 6e 63 6c 75 64 65 20 3c 73 74 64 69 6e 74 2e 68 3e 0a de.<vector>.#include.<stdint.h>.
4bf80 0a 23 69 6e 63 6c 75 64 65 20 22 6c 7a 69 70 2e 68 22 0a 23 69 6e 63 6c 75 64 65 20 22 65 6e 63 .#include."lzip.h".#include."enc
4bfa0 6f 64 65 72 5f 62 61 73 65 2e 68 22 0a 23 69 6e 63 6c 75 64 65 20 22 65 6e 63 6f 64 65 72 2e 68 oder_base.h".#include."encoder.h
4bfc0 22 0a 0a 0a 63 6f 6e 73 74 20 43 52 43 33 32 20 63 72 63 33 32 3b 0a 0a 0a 69 6e 74 20 4c 5a 5f "...const.CRC32.crc32;...int.LZ_
4bfe0 65 6e 63 6f 64 65 72 3a 3a 67 65 74 5f 6d 61 74 63 68 5f 70 61 69 72 73 28 20 50 61 69 72 20 2a encoder::get_match_pairs(.Pair.*
4c000 20 70 61 69 72 73 20 29 0a 20 20 7b 0a 20 20 69 6e 74 20 6c 65 6e 5f 6c 69 6d 69 74 20 3d 20 6d .pairs.)...{...int.len_limit.=.m
4c020 61 74 63 68 5f 6c 65 6e 5f 6c 69 6d 69 74 3b 0a 20 20 69 66 28 20 6c 65 6e 5f 6c 69 6d 69 74 20 atch_len_limit;...if(.len_limit.
4c040 3e 20 61 76 61 69 6c 61 62 6c 65 5f 62 79 74 65 73 28 29 20 29 0a 20 20 20 20 7b 0a 20 20 20 20 >.available_bytes().).....{.....
4c060 6c 65 6e 5f 6c 69 6d 69 74 20 3d 20 61 76 61 69 6c 61 62 6c 65 5f 62 79 74 65 73 28 29 3b 0a 20 len_limit.=.available_bytes();..
4c080 20 20 20 69 66 28 20 6c 65 6e 5f 6c 69 6d 69 74 20 3c 20 34 20 29 20 72 65 74 75 72 6e 20 30 3b ...if(.len_limit.<.4.).return.0;
4c0a0 0a 20 20 20 20 7d 0a 0a 20 20 69 6e 74 20 6d 61 78 6c 65 6e 20 3d 20 33 3b 09 09 09 2f 2f 20 6f .....}....int.maxlen.=.3;...//.o
4c0c0 6e 6c 79 20 75 73 65 64 20 69 66 20 70 61 69 72 73 20 21 3d 20 30 0a 20 20 69 6e 74 20 6e 75 6d nly.used.if.pairs.!=.0...int.num
4c0e0 5f 70 61 69 72 73 20 3d 20 30 3b 0a 20 20 63 6f 6e 73 74 20 69 6e 74 20 6d 69 6e 5f 70 6f 73 20 _pairs.=.0;...const.int.min_pos.
4c100 3d 20 28 20 70 6f 73 20 3e 20 64 69 63 74 69 6f 6e 61 72 79 5f 73 69 7a 65 20 29 20 3f 20 70 6f =.(.pos.>.dictionary_size.).?.po
4c120 73 20 2d 20 64 69 63 74 69 6f 6e 61 72 79 5f 73 69 7a 65 20 3a 20 30 3b 0a 20 20 63 6f 6e 73 74 s.-.dictionary_size.:.0;...const
4c140 20 75 69 6e 74 38 5f 74 20 2a 20 63 6f 6e 73 74 20 64 61 74 61 20 3d 20 70 74 72 5f 74 6f 5f 63 .uint8_t.*.const.data.=.ptr_to_c
4c160 75 72 72 65 6e 74 5f 70 6f 73 28 29 3b 0a 0a 20 20 75 6e 73 69 67 6e 65 64 20 74 6d 70 20 3d 20 urrent_pos();....unsigned.tmp.=.
4c180 63 72 63 33 32 5b 64 61 74 61 5b 30 5d 5d 20 5e 20 64 61 74 61 5b 31 5d 3b 0a 20 20 63 6f 6e 73 crc32[data[0]].^.data[1];...cons
4c1a0 74 20 69 6e 74 20 6b 65 79 32 20 3d 20 74 6d 70 20 26 20 28 20 6e 75 6d 5f 70 72 65 76 5f 70 6f t.int.key2.=.tmp.&.(.num_prev_po
4c1c0 73 69 74 69 6f 6e 73 32 20 2d 20 31 20 29 3b 0a 20 20 74 6d 70 20 5e 3d 20 28 75 6e 73 69 67 6e sitions2.-.1.);...tmp.^=.(unsign
4c1e0 65 64 29 64 61 74 61 5b 32 5d 20 3c 3c 20 38 3b 0a 20 20 63 6f 6e 73 74 20 69 6e 74 20 6b 65 79 ed)data[2].<<.8;...const.int.key
4c200 33 20 3d 20 6e 75 6d 5f 70 72 65 76 5f 70 6f 73 69 74 69 6f 6e 73 32 20 2b 20 28 20 74 6d 70 20 3.=.num_prev_positions2.+.(.tmp.
4c220 26 20 28 20 6e 75 6d 5f 70 72 65 76 5f 70 6f 73 69 74 69 6f 6e 73 33 20 2d 20 31 20 29 20 29 3b &.(.num_prev_positions3.-.1.).);
4c240 0a 20 20 63 6f 6e 73 74 20 69 6e 74 20 6b 65 79 34 20 3d 20 6e 75 6d 5f 70 72 65 76 5f 70 6f 73 ...const.int.key4.=.num_prev_pos
4c260 69 74 69 6f 6e 73 32 33 20 2b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 20 itions23.+....................(.
4c280 28 20 74 6d 70 20 5e 20 28 20 63 72 63 33 32 5b 64 61 74 61 5b 33 5d 5d 20 3c 3c 20 35 20 29 20 (.tmp.^.(.crc32[data[3]].<<.5.).
4c2a0 29 20 26 20 6b 65 79 34 5f 6d 61 73 6b 20 29 3b 0a 0a 20 20 69 66 28 20 70 61 69 72 73 20 29 0a ).&.key4_mask.);....if(.pairs.).
4c2c0 20 20 20 20 7b 0a 20 20 20 20 63 6f 6e 73 74 20 69 6e 74 20 6e 70 32 20 3d 20 70 72 65 76 5f 70 ....{.....const.int.np2.=.prev_p
4c2e0 6f 73 69 74 69 6f 6e 73 5b 6b 65 79 32 5d 3b 0a 20 20 20 20 63 6f 6e 73 74 20 69 6e 74 20 6e 70 ositions[key2];.....const.int.np
4c300 33 20 3d 20 70 72 65 76 5f 70 6f 73 69 74 69 6f 6e 73 5b 6b 65 79 33 5d 3b 0a 20 20 20 20 69 66 3.=.prev_positions[key3];.....if
4c320 28 20 6e 70 32 20 3e 20 6d 69 6e 5f 70 6f 73 20 26 26 20 62 75 66 66 65 72 5b 6e 70 32 2d 31 5d (.np2.>.min_pos.&&.buffer[np2-1]
4c340 20 3d 3d 20 64 61 74 61 5b 30 5d 20 29 0a 20 20 20 20 20 20 7b 0a 20 20 20 20 20 20 70 61 69 72 .==.data[0].).......{.......pair
4c360 73 5b 30 5d 2e 64 69 73 20 3d 20 70 6f 73 20 2d 20 6e 70 32 3b 0a 20 20 20 20 20 20 70 61 69 72 s[0].dis.=.pos.-.np2;.......pair
4c380 73 5b 30 5d 2e 6c 65 6e 20 3d 20 6d 61 78 6c 65 6e 20 3d 20 32 20 2b 20 28 20 6e 70 32 20 3d 3d s[0].len.=.maxlen.=.2.+.(.np2.==
4c3a0 20 6e 70 33 20 29 3b 0a 20 20 20 20 20 20 6e 75 6d 5f 70 61 69 72 73 20 3d 20 31 3b 0a 20 20 20 .np3.);.......num_pairs.=.1;....
4c3c0 20 20 20 7d 0a 20 20 20 20 69 66 28 20 6e 70 32 20 21 3d 20 6e 70 33 20 26 26 20 6e 70 33 20 3e ...}.....if(.np2.!=.np3.&&.np3.>
4c3e0 20 6d 69 6e 5f 70 6f 73 20 26 26 20 62 75 66 66 65 72 5b 6e 70 33 2d 31 5d 20 3d 3d 20 64 61 74 .min_pos.&&.buffer[np3-1].==.dat
4c400 61 5b 30 5d 20 29 0a 20 20 20 20 20 20 7b 0a 20 20 20 20 20 20 6d 61 78 6c 65 6e 20 3d 20 33 3b a[0].).......{.......maxlen.=.3;
4c420 0a 20 20 20 20 20 20 70 61 69 72 73 5b 6e 75 6d 5f 70 61 69 72 73 2b 2b 5d 2e 64 69 73 20 3d 20 .......pairs[num_pairs++].dis.=.
4c440 70 6f 73 20 2d 20 6e 70 33 3b 0a 20 20 20 20 20 20 7d 0a 20 20 20 20 69 66 28 20 6e 75 6d 5f 70 pos.-.np3;.......}.....if(.num_p
4c460 61 69 72 73 20 3e 20 30 20 29 0a 20 20 20 20 20 20 7b 0a 20 20 20 20 20 20 63 6f 6e 73 74 20 69 airs.>.0.).......{.......const.i
4c480 6e 74 20 64 65 6c 74 61 20 3d 20 70 61 69 72 73 5b 6e 75 6d 5f 70 61 69 72 73 2d 31 5d 2e 64 69 nt.delta.=.pairs[num_pairs-1].di
4c4a0 73 20 2b 20 31 3b 0a 20 20 20 20 20 20 77 68 69 6c 65 28 20 6d 61 78 6c 65 6e 20 3c 20 6c 65 6e s.+.1;.......while(.maxlen.<.len
4c4c0 5f 6c 69 6d 69 74 20 26 26 20 64 61 74 61 5b 6d 61 78 6c 65 6e 2d 64 65 6c 74 61 5d 20 3d 3d 20 _limit.&&.data[maxlen-delta].==.
4c4e0 64 61 74 61 5b 6d 61 78 6c 65 6e 5d 20 29 0a 20 20 20 20 20 20 20 20 2b 2b 6d 61 78 6c 65 6e 3b data[maxlen].).........++maxlen;
4c500 0a 20 20 20 20 20 20 70 61 69 72 73 5b 6e 75 6d 5f 70 61 69 72 73 2d 31 5d 2e 6c 65 6e 20 3d 20 .......pairs[num_pairs-1].len.=.
4c520 6d 61 78 6c 65 6e 3b 0a 20 20 20 20 20 20 69 66 28 20 6d 61 78 6c 65 6e 20 3c 20 33 20 29 20 6d maxlen;.......if(.maxlen.<.3.).m
4c540 61 78 6c 65 6e 20 3d 20 33 3b 0a 20 20 20 20 20 20 69 66 28 20 6d 61 78 6c 65 6e 20 3e 3d 20 6c axlen.=.3;.......if(.maxlen.>=.l
4c560 65 6e 5f 6c 69 6d 69 74 20 29 20 70 61 69 72 73 20 3d 20 30 3b 09 2f 2f 20 64 6f 6e 65 2e 20 6e en_limit.).pairs.=.0;.//.done..n
4c580 6f 77 20 6a 75 73 74 20 73 6b 69 70 0a 20 20 20 20 20 20 7d 0a 20 20 20 20 7d 0a 0a 20 20 63 6f ow.just.skip.......}.....}....co
4c5a0 6e 73 74 20 69 6e 74 20 70 6f 73 31 20 3d 20 70 6f 73 20 2b 20 31 3b 0a 20 20 70 72 65 76 5f 70 nst.int.pos1.=.pos.+.1;...prev_p
4c5c0 6f 73 69 74 69 6f 6e 73 5b 6b 65 79 32 5d 20 3d 20 70 6f 73 31 3b 0a 20 20 70 72 65 76 5f 70 6f ositions[key2].=.pos1;...prev_po
4c5e0 73 69 74 69 6f 6e 73 5b 6b 65 79 33 5d 20 3d 20 70 6f 73 31 3b 0a 20 20 69 6e 74 20 6e 65 77 70 sitions[key3].=.pos1;...int.newp
4c600 6f 73 31 20 3d 20 70 72 65 76 5f 70 6f 73 69 74 69 6f 6e 73 5b 6b 65 79 34 5d 3b 0a 20 20 70 72 os1.=.prev_positions[key4];...pr
4c620 65 76 5f 70 6f 73 69 74 69 6f 6e 73 5b 6b 65 79 34 5d 20 3d 20 70 6f 73 31 3b 0a 0a 20 20 69 6e ev_positions[key4].=.pos1;....in
4c640 74 33 32 5f 74 20 2a 20 70 74 72 30 20 3d 20 70 6f 73 5f 61 72 72 61 79 20 2b 20 28 20 63 79 63 t32_t.*.ptr0.=.pos_array.+.(.cyc
4c660 6c 69 63 5f 70 6f 73 20 3c 3c 20 31 20 29 3b 0a 20 20 69 6e 74 33 32 5f 74 20 2a 20 70 74 72 31 lic_pos.<<.1.);...int32_t.*.ptr1
4c680 20 3d 20 70 74 72 30 20 2b 20 31 3b 0a 20 20 69 6e 74 20 6c 65 6e 20 3d 20 30 2c 20 6c 65 6e 30 .=.ptr0.+.1;...int.len.=.0,.len0
4c6a0 20 3d 20 30 2c 20 6c 65 6e 31 20 3d 20 30 3b 0a 0a 20 20 66 6f 72 28 20 69 6e 74 20 63 6f 75 6e .=.0,.len1.=.0;....for(.int.coun
4c6c0 74 20 3d 20 63 79 63 6c 65 73 3b 20 3b 20 29 0a 20 20 20 20 7b 0a 20 20 20 20 69 66 28 20 6e 65 t.=.cycles;.;.).....{.....if(.ne
4c6e0 77 70 6f 73 31 20 3c 3d 20 6d 69 6e 5f 70 6f 73 20 7c 7c 20 2d 2d 63 6f 75 6e 74 20 3c 20 30 20 wpos1.<=.min_pos.||.--count.<.0.
4c700 29 20 7b 20 2a 70 74 72 30 20 3d 20 2a 70 74 72 31 20 3d 20 30 3b 20 62 72 65 61 6b 3b 20 7d 0a ).{.*ptr0.=.*ptr1.=.0;.break;.}.
4c720 0a 20 20 20 20 63 6f 6e 73 74 20 69 6e 74 20 64 65 6c 74 61 20 3d 20 70 6f 73 31 20 2d 20 6e 65 .....const.int.delta.=.pos1.-.ne
4c740 77 70 6f 73 31 3b 0a 20 20 20 20 69 6e 74 33 32 5f 74 20 2a 20 63 6f 6e 73 74 20 6e 65 77 70 74 wpos1;.....int32_t.*.const.newpt
4c760 72 20 3d 20 70 6f 73 5f 61 72 72 61 79 20 2b 0a 20 20 20 20 20 20 28 20 28 20 63 79 63 6c 69 63 r.=.pos_array.+.......(.(.cyclic
4c780 5f 70 6f 73 20 2d 20 64 65 6c 74 61 20 2b 0a 20 20 20 20 20 20 20 20 20 20 28 20 28 20 63 79 63 _pos.-.delta.+...........(.(.cyc
4c7a0 6c 69 63 5f 70 6f 73 20 3e 3d 20 64 65 6c 74 61 20 29 20 3f 20 30 20 3a 20 64 69 63 74 69 6f 6e lic_pos.>=.delta.).?.0.:.diction
4c7c0 61 72 79 5f 73 69 7a 65 20 2b 20 31 20 29 20 29 20 3c 3c 20 31 20 29 3b 0a 20 20 20 20 69 66 28 ary_size.+.1.).).<<.1.);.....if(
4c7e0 20 64 61 74 61 5b 6c 65 6e 2d 64 65 6c 74 61 5d 20 3d 3d 20 64 61 74 61 5b 6c 65 6e 5d 20 29 0a .data[len-delta].==.data[len].).
4c800 20 20 20 20 20 20 7b 0a 20 20 20 20 20 20 77 68 69 6c 65 28 20 2b 2b 6c 65 6e 20 3c 20 6c 65 6e ......{.......while(.++len.<.len
4c820 5f 6c 69 6d 69 74 20 26 26 20 64 61 74 61 5b 6c 65 6e 2d 64 65 6c 74 61 5d 20 3d 3d 20 64 61 74 _limit.&&.data[len-delta].==.dat
4c840 61 5b 6c 65 6e 5d 20 29 20 7b 7d 0a 20 20 20 20 20 20 69 66 28 20 70 61 69 72 73 20 26 26 20 6d a[len].).{}.......if(.pairs.&&.m
4c860 61 78 6c 65 6e 20 3c 20 6c 65 6e 20 29 0a 20 20 20 20 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 axlen.<.len.).........{.........
4c880 70 61 69 72 73 5b 6e 75 6d 5f 70 61 69 72 73 5d 2e 64 69 73 20 3d 20 64 65 6c 74 61 20 2d 20 31 pairs[num_pairs].dis.=.delta.-.1
4c8a0 3b 0a 20 20 20 20 20 20 20 20 70 61 69 72 73 5b 6e 75 6d 5f 70 61 69 72 73 5d 2e 6c 65 6e 20 3d ;.........pairs[num_pairs].len.=
4c8c0 20 6d 61 78 6c 65 6e 20 3d 20 6c 65 6e 3b 0a 20 20 20 20 20 20 20 20 2b 2b 6e 75 6d 5f 70 61 69 .maxlen.=.len;.........++num_pai
4c8e0 72 73 3b 0a 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 69 66 28 20 6c 65 6e 20 3e 3d 20 6c rs;.........}.......if(.len.>=.l
4c900 65 6e 5f 6c 69 6d 69 74 20 29 0a 20 20 20 20 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 2a 70 74 en_limit.).........{.........*pt
4c920 72 30 20 3d 20 6e 65 77 70 74 72 5b 30 5d 3b 0a 20 20 20 20 20 20 20 20 2a 70 74 72 31 20 3d 20 r0.=.newptr[0];.........*ptr1.=.
4c940 6e 65 77 70 74 72 5b 31 5d 3b 0a 20 20 20 20 20 20 20 20 62 72 65 61 6b 3b 0a 20 20 20 20 20 20 newptr[1];.........break;.......
4c960 20 20 7d 0a 20 20 20 20 20 20 7d 0a 20 20 20 20 69 66 28 20 64 61 74 61 5b 6c 65 6e 2d 64 65 6c ..}.......}.....if(.data[len-del
4c980 74 61 5d 20 3c 20 64 61 74 61 5b 6c 65 6e 5d 20 29 0a 20 20 20 20 20 20 7b 0a 20 20 20 20 20 20 ta].<.data[len].).......{.......
4c9a0 2a 70 74 72 30 20 3d 20 6e 65 77 70 6f 73 31 3b 0a 20 20 20 20 20 20 70 74 72 30 20 3d 20 6e 65 *ptr0.=.newpos1;.......ptr0.=.ne
4c9c0 77 70 74 72 20 2b 20 31 3b 0a 20 20 20 20 20 20 6e 65 77 70 6f 73 31 20 3d 20 2a 70 74 72 30 3b wptr.+.1;.......newpos1.=.*ptr0;
4c9e0 0a 20 20 20 20 20 20 6c 65 6e 30 20 3d 20 6c 65 6e 3b 20 69 66 28 20 6c 65 6e 31 20 3c 20 6c 65 .......len0.=.len;.if(.len1.<.le
4ca00 6e 20 29 20 6c 65 6e 20 3d 20 6c 65 6e 31 3b 0a 20 20 20 20 20 20 7d 0a 20 20 20 20 65 6c 73 65 n.).len.=.len1;.......}.....else
4ca20 0a 20 20 20 20 20 20 7b 0a 20 20 20 20 20 20 2a 70 74 72 31 20 3d 20 6e 65 77 70 6f 73 31 3b 0a .......{.......*ptr1.=.newpos1;.
4ca40 20 20 20 20 20 20 70 74 72 31 20 3d 20 6e 65 77 70 74 72 3b 0a 20 20 20 20 20 20 6e 65 77 70 6f ......ptr1.=.newptr;.......newpo
4ca60 73 31 20 3d 20 2a 70 74 72 31 3b 0a 20 20 20 20 20 20 6c 65 6e 31 20 3d 20 6c 65 6e 3b 20 69 66 s1.=.*ptr1;.......len1.=.len;.if
4ca80 28 20 6c 65 6e 30 20 3c 20 6c 65 6e 20 29 20 6c 65 6e 20 3d 20 6c 65 6e 30 3b 0a 20 20 20 20 20 (.len0.<.len.).len.=.len0;......
4caa0 20 7d 0a 20 20 20 20 7d 0a 20 20 72 65 74 75 72 6e 20 6e 75 6d 5f 70 61 69 72 73 3b 0a 20 20 7d .}.....}...return.num_pairs;...}
4cac0 0a 0a 0a 76 6f 69 64 20 4c 5a 5f 65 6e 63 6f 64 65 72 3a 3a 75 70 64 61 74 65 5f 64 69 73 74 61 ...void.LZ_encoder::update_dista
4cae0 6e 63 65 5f 70 72 69 63 65 73 28 29 0a 20 20 7b 0a 20 20 66 6f 72 28 20 69 6e 74 20 64 69 73 20 nce_prices()...{...for(.int.dis.
4cb00 3d 20 73 74 61 72 74 5f 64 69 73 5f 6d 6f 64 65 6c 3b 20 64 69 73 20 3c 20 6d 6f 64 65 6c 65 64 =.start_dis_model;.dis.<.modeled
4cb20 5f 64 69 73 74 61 6e 63 65 73 3b 20 2b 2b 64 69 73 20 29 0a 20 20 20 20 7b 0a 20 20 20 20 63 6f _distances;.++dis.).....{.....co
4cb40 6e 73 74 20 69 6e 74 20 64 69 73 5f 73 6c 6f 74 20 3d 20 64 69 73 5f 73 6c 6f 74 73 5b 64 69 73 nst.int.dis_slot.=.dis_slots[dis
4cb60 5d 3b 0a 20 20 20 20 63 6f 6e 73 74 20 69 6e 74 20 64 69 72 65 63 74 5f 62 69 74 73 20 3d 20 28 ];.....const.int.direct_bits.=.(
4cb80 20 64 69 73 5f 73 6c 6f 74 20 3e 3e 20 31 20 29 20 2d 20 31 3b 0a 20 20 20 20 63 6f 6e 73 74 20 .dis_slot.>>.1.).-.1;.....const.
4cba0 69 6e 74 20 62 61 73 65 20 3d 20 28 20 32 20 7c 20 28 20 64 69 73 5f 73 6c 6f 74 20 26 20 31 20 int.base.=.(.2.|.(.dis_slot.&.1.
4cbc0 29 20 29 20 3c 3c 20 64 69 72 65 63 74 5f 62 69 74 73 3b 0a 20 20 20 20 63 6f 6e 73 74 20 69 6e ).).<<.direct_bits;.....const.in
4cbe0 74 20 70 72 69 63 65 20 3d 20 70 72 69 63 65 5f 73 79 6d 62 6f 6c 5f 72 65 76 65 72 73 65 64 28 t.price.=.price_symbol_reversed(
4cc00 20 62 6d 5f 64 69 73 20 2b 20 28 20 62 61 73 65 20 2d 20 64 69 73 5f 73 6c 6f 74 20 29 2c 0a 20 .bm_dis.+.(.base.-.dis_slot.),..
4cc20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
4cc40 20 20 20 20 20 20 20 20 20 20 20 20 64 69 73 20 2d 20 62 61 73 65 2c 20 64 69 72 65 63 74 5f 62 ............dis.-.base,.direct_b
4cc60 69 74 73 20 29 3b 0a 20 20 20 20 66 6f 72 28 20 69 6e 74 20 6c 65 6e 5f 73 74 61 74 65 20 3d 20 its.);.....for(.int.len_state.=.
4cc80 30 3b 20 6c 65 6e 5f 73 74 61 74 65 20 3c 20 6c 65 6e 5f 73 74 61 74 65 73 3b 20 2b 2b 6c 65 6e 0;.len_state.<.len_states;.++len
4cca0 5f 73 74 61 74 65 20 29 0a 20 20 20 20 20 20 64 69 73 5f 70 72 69 63 65 73 5b 6c 65 6e 5f 73 74 _state.).......dis_prices[len_st
4ccc0 61 74 65 5d 5b 64 69 73 5d 20 3d 20 70 72 69 63 65 3b 0a 20 20 20 20 7d 0a 0a 20 20 66 6f 72 28 ate][dis].=.price;.....}....for(
4cce0 20 69 6e 74 20 6c 65 6e 5f 73 74 61 74 65 20 3d 20 30 3b 20 6c 65 6e 5f 73 74 61 74 65 20 3c 20 .int.len_state.=.0;.len_state.<.
4cd00 6c 65 6e 5f 73 74 61 74 65 73 3b 20 2b 2b 6c 65 6e 5f 73 74 61 74 65 20 29 0a 20 20 20 20 7b 0a len_states;.++len_state.).....{.
4cd20 20 20 20 20 69 6e 74 20 2a 20 63 6f 6e 73 74 20 64 73 70 20 3d 20 64 69 73 5f 73 6c 6f 74 5f 70 ....int.*.const.dsp.=.dis_slot_p
4cd40 72 69 63 65 73 5b 6c 65 6e 5f 73 74 61 74 65 5d 3b 0a 20 20 20 20 63 6f 6e 73 74 20 42 69 74 5f rices[len_state];.....const.Bit_
4cd60 6d 6f 64 65 6c 20 2a 20 63 6f 6e 73 74 20 62 6d 64 73 20 3d 20 62 6d 5f 64 69 73 5f 73 6c 6f 74 model.*.const.bmds.=.bm_dis_slot
4cd80 5b 6c 65 6e 5f 73 74 61 74 65 5d 3b 0a 20 20 20 20 69 6e 74 20 73 6c 6f 74 20 3d 20 30 3b 0a 20 [len_state];.....int.slot.=.0;..
4cda0 20 20 20 66 6f 72 28 20 3b 20 73 6c 6f 74 20 3c 20 65 6e 64 5f 64 69 73 5f 6d 6f 64 65 6c 3b 20 ...for(.;.slot.<.end_dis_model;.
4cdc0 2b 2b 73 6c 6f 74 20 29 0a 20 20 20 20 20 20 64 73 70 5b 73 6c 6f 74 5d 20 3d 20 70 72 69 63 65 ++slot.).......dsp[slot].=.price
4cde0 5f 73 79 6d 62 6f 6c 36 28 20 62 6d 64 73 2c 20 73 6c 6f 74 20 29 3b 0a 20 20 20 20 66 6f 72 28 _symbol6(.bmds,.slot.);.....for(
4ce00 20 3b 20 73 6c 6f 74 20 3c 20 6e 75 6d 5f 64 69 73 5f 73 6c 6f 74 73 3b 20 2b 2b 73 6c 6f 74 20 .;.slot.<.num_dis_slots;.++slot.
4ce20 29 0a 20 20 20 20 20 20 64 73 70 5b 73 6c 6f 74 5d 20 3d 20 70 72 69 63 65 5f 73 79 6d 62 6f 6c ).......dsp[slot].=.price_symbol
4ce40 36 28 20 62 6d 64 73 2c 20 73 6c 6f 74 20 29 20 2b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 6(.bmds,.slot.).+...............
4ce60 20 20 20 20 28 28 28 28 20 73 6c 6f 74 20 3e 3e 20 31 20 29 20 2d 20 31 20 29 20 2d 20 64 69 73 ....((((.slot.>>.1.).-.1.).-.dis
4ce80 5f 61 6c 69 67 6e 5f 62 69 74 73 20 29 20 3c 3c 20 70 72 69 63 65 5f 73 68 69 66 74 5f 62 69 74 _align_bits.).<<.price_shift_bit
4cea0 73 20 29 3b 0a 0a 20 20 20 20 69 6e 74 20 2a 20 63 6f 6e 73 74 20 64 70 20 3d 20 64 69 73 5f 70 s.);......int.*.const.dp.=.dis_p
4cec0 72 69 63 65 73 5b 6c 65 6e 5f 73 74 61 74 65 5d 3b 0a 20 20 20 20 69 6e 74 20 64 69 73 20 3d 20 rices[len_state];.....int.dis.=.
4cee0 30 3b 0a 20 20 20 20 66 6f 72 28 20 3b 20 64 69 73 20 3c 20 73 74 61 72 74 5f 64 69 73 5f 6d 6f 0;.....for(.;.dis.<.start_dis_mo
4cf00 64 65 6c 3b 20 2b 2b 64 69 73 20 29 0a 20 20 20 20 20 20 64 70 5b 64 69 73 5d 20 3d 20 64 73 70 del;.++dis.).......dp[dis].=.dsp
4cf20 5b 64 69 73 5d 3b 0a 20 20 20 20 66 6f 72 28 20 3b 20 64 69 73 20 3c 20 6d 6f 64 65 6c 65 64 5f [dis];.....for(.;.dis.<.modeled_
4cf40 64 69 73 74 61 6e 63 65 73 3b 20 2b 2b 64 69 73 20 29 0a 20 20 20 20 20 20 64 70 5b 64 69 73 5d distances;.++dis.).......dp[dis]
4cf60 20 2b 3d 20 64 73 70 5b 64 69 73 5f 73 6c 6f 74 73 5b 64 69 73 5d 5d 3b 0a 20 20 20 20 7d 0a 20 .+=.dsp[dis_slots[dis]];.....}..
4cf80 20 7d 0a 0a 0a 2f 2a 20 52 65 74 75 72 6e 73 20 74 68 65 20 6e 75 6d 62 65 72 20 6f 66 20 62 79 .}.../*.Returns.the.number.of.by
4cfa0 74 65 73 20 61 64 76 61 6e 63 65 64 20 28 61 68 65 61 64 29 2e 0a 20 20 20 74 72 69 61 6c 73 5b tes.advanced.(ahead).....trials[
4cfc0 30 5d 2e 2e 74 72 69 61 6c 73 5b 61 68 65 61 64 2d 31 5d 20 63 6f 6e 74 61 69 6e 20 74 68 65 20 0]..trials[ahead-1].contain.the.
4cfe0 73 74 65 70 73 20 74 6f 20 65 6e 63 6f 64 65 2e 0a 20 20 20 28 20 74 72 69 61 6c 73 5b 30 5d 2e steps.to.encode.....(.trials[0].
4d000 64 69 73 34 20 3d 3d 20 2d 31 20 29 20 6d 65 61 6e 73 20 6c 69 74 65 72 61 6c 2e 0a 20 20 20 41 dis4.==.-1.).means.literal.....A
4d020 20 6d 61 74 63 68 2f 72 65 70 20 6c 6f 6e 67 65 72 20 6f 72 20 65 71 75 61 6c 20 74 68 61 6e 20 .match/rep.longer.or.equal.than.
4d040 6d 61 74 63 68 5f 6c 65 6e 5f 6c 69 6d 69 74 20 66 69 6e 69 73 68 65 73 20 74 68 65 20 73 65 71 match_len_limit.finishes.the.seq
4d060 75 65 6e 63 65 2e 0a 2a 2f 0a 69 6e 74 20 4c 5a 5f 65 6e 63 6f 64 65 72 3a 3a 73 65 71 75 65 6e uence..*/.int.LZ_encoder::sequen
4d080 63 65 5f 6f 70 74 69 6d 69 7a 65 72 28 20 63 6f 6e 73 74 20 69 6e 74 20 72 65 70 73 5b 6e 75 6d ce_optimizer(.const.int.reps[num
4d0a0 5f 72 65 70 5f 64 69 73 74 61 6e 63 65 73 5d 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 _rep_distances],................
4d0c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 63 6f 6e 73 74 20 53 74 61 74 65 .....................const.State
4d0e0 20 73 74 61 74 65 20 29 0a 20 20 7b 0a 20 20 69 6e 74 20 6e 75 6d 5f 70 61 69 72 73 2c 20 6e 75 .state.)...{...int.num_pairs,.nu
4d100 6d 5f 74 72 69 61 6c 73 3b 0a 0a 20 20 69 66 28 20 70 65 6e 64 69 6e 67 5f 6e 75 6d 5f 70 61 69 m_trials;....if(.pending_num_pai
4d120 72 73 20 3e 20 30 20 29 09 09 09 2f 2f 20 66 72 6f 6d 20 70 72 65 76 69 6f 75 73 20 63 61 6c 6c rs.>.0.)...//.from.previous.call
4d140 0a 20 20 20 20 7b 0a 20 20 20 20 6e 75 6d 5f 70 61 69 72 73 20 3d 20 70 65 6e 64 69 6e 67 5f 6e .....{.....num_pairs.=.pending_n
4d160 75 6d 5f 70 61 69 72 73 3b 0a 20 20 20 20 70 65 6e 64 69 6e 67 5f 6e 75 6d 5f 70 61 69 72 73 20 um_pairs;.....pending_num_pairs.
4d180 3d 20 30 3b 0a 20 20 20 20 7d 0a 20 20 65 6c 73 65 0a 20 20 20 20 6e 75 6d 5f 70 61 69 72 73 20 =.0;.....}...else.....num_pairs.
4d1a0 3d 20 72 65 61 64 5f 6d 61 74 63 68 5f 64 69 73 74 61 6e 63 65 73 28 29 3b 0a 20 20 63 6f 6e 73 =.read_match_distances();...cons
4d1c0 74 20 69 6e 74 20 6d 61 69 6e 5f 6c 65 6e 20 3d 20 28 20 6e 75 6d 5f 70 61 69 72 73 20 3e 20 30 t.int.main_len.=.(.num_pairs.>.0
4d1e0 20 29 20 3f 20 70 61 69 72 73 5b 6e 75 6d 5f 70 61 69 72 73 2d 31 5d 2e 6c 65 6e 20 3a 20 30 3b .).?.pairs[num_pairs-1].len.:.0;
4d200 0a 0a 20 20 69 6e 74 20 72 65 70 6c 65 6e 73 5b 6e 75 6d 5f 72 65 70 5f 64 69 73 74 61 6e 63 65 ....int.replens[num_rep_distance
4d220 73 5d 3b 0a 20 20 69 6e 74 20 72 65 70 5f 69 6e 64 65 78 20 3d 20 30 3b 0a 20 20 66 6f 72 28 20 s];...int.rep_index.=.0;...for(.
4d240 69 6e 74 20 69 20 3d 20 30 3b 20 69 20 3c 20 6e 75 6d 5f 72 65 70 5f 64 69 73 74 61 6e 63 65 73 int.i.=.0;.i.<.num_rep_distances
4d260 3b 20 2b 2b 69 20 29 0a 20 20 20 20 7b 0a 20 20 20 20 72 65 70 6c 65 6e 73 5b 69 5d 20 3d 20 74 ;.++i.).....{.....replens[i].=.t
4d280 72 75 65 5f 6d 61 74 63 68 5f 6c 65 6e 28 20 30 2c 20 72 65 70 73 5b 69 5d 20 2b 20 31 20 29 3b rue_match_len(.0,.reps[i].+.1.);
4d2a0 0a 20 20 20 20 69 66 28 20 72 65 70 6c 65 6e 73 5b 69 5d 20 3e 20 72 65 70 6c 65 6e 73 5b 72 65 .....if(.replens[i].>.replens[re
4d2c0 70 5f 69 6e 64 65 78 5d 20 29 20 72 65 70 5f 69 6e 64 65 78 20 3d 20 69 3b 0a 20 20 20 20 7d 0a p_index].).rep_index.=.i;.....}.
4d2e0 20 20 69 66 28 20 72 65 70 6c 65 6e 73 5b 72 65 70 5f 69 6e 64 65 78 5d 20 3e 3d 20 6d 61 74 63 ..if(.replens[rep_index].>=.matc
4d300 68 5f 6c 65 6e 5f 6c 69 6d 69 74 20 29 0a 20 20 20 20 7b 0a 20 20 20 20 74 72 69 61 6c 73 5b 30 h_len_limit.).....{.....trials[0
4d320 5d 2e 70 72 69 63 65 20 3d 20 72 65 70 6c 65 6e 73 5b 72 65 70 5f 69 6e 64 65 78 5d 3b 0a 20 20 ].price.=.replens[rep_index];...
4d340 20 20 74 72 69 61 6c 73 5b 30 5d 2e 64 69 73 34 20 3d 20 72 65 70 5f 69 6e 64 65 78 3b 0a 20 20 ..trials[0].dis4.=.rep_index;...
4d360 20 20 6d 6f 76 65 5f 61 6e 64 5f 75 70 64 61 74 65 28 20 72 65 70 6c 65 6e 73 5b 72 65 70 5f 69 ..move_and_update(.replens[rep_i
4d380 6e 64 65 78 5d 20 29 3b 0a 20 20 20 20 72 65 74 75 72 6e 20 72 65 70 6c 65 6e 73 5b 72 65 70 5f ndex].);.....return.replens[rep_
4d3a0 69 6e 64 65 78 5d 3b 0a 20 20 20 20 7d 0a 0a 20 20 69 66 28 20 6d 61 69 6e 5f 6c 65 6e 20 3e 3d index];.....}....if(.main_len.>=
4d3c0 20 6d 61 74 63 68 5f 6c 65 6e 5f 6c 69 6d 69 74 20 29 0a 20 20 20 20 7b 0a 20 20 20 20 74 72 69 .match_len_limit.).....{.....tri
4d3e0 61 6c 73 5b 30 5d 2e 70 72 69 63 65 20 3d 20 6d 61 69 6e 5f 6c 65 6e 3b 0a 20 20 20 20 74 72 69 als[0].price.=.main_len;.....tri
4d400 61 6c 73 5b 30 5d 2e 64 69 73 34 20 3d 20 70 61 69 72 73 5b 6e 75 6d 5f 70 61 69 72 73 2d 31 5d als[0].dis4.=.pairs[num_pairs-1]
4d420 2e 64 69 73 20 2b 20 6e 75 6d 5f 72 65 70 5f 64 69 73 74 61 6e 63 65 73 3b 0a 20 20 20 20 6d 6f .dis.+.num_rep_distances;.....mo
4d440 76 65 5f 61 6e 64 5f 75 70 64 61 74 65 28 20 6d 61 69 6e 5f 6c 65 6e 20 29 3b 0a 20 20 20 20 72 ve_and_update(.main_len.);.....r
4d460 65 74 75 72 6e 20 6d 61 69 6e 5f 6c 65 6e 3b 0a 20 20 20 20 7d 0a 0a 20 20 63 6f 6e 73 74 20 69 eturn.main_len;.....}....const.i
4d480 6e 74 20 70 6f 73 5f 73 74 61 74 65 20 3d 20 64 61 74 61 5f 70 6f 73 69 74 69 6f 6e 28 29 20 26 nt.pos_state.=.data_position().&
4d4a0 20 70 6f 73 5f 73 74 61 74 65 5f 6d 61 73 6b 3b 0a 20 20 63 6f 6e 73 74 20 75 69 6e 74 38 5f 74 .pos_state_mask;...const.uint8_t
4d4c0 20 70 72 65 76 5f 62 79 74 65 20 3d 20 70 65 65 6b 28 20 31 20 29 3b 0a 20 20 63 6f 6e 73 74 20 .prev_byte.=.peek(.1.);...const.
4d4e0 75 69 6e 74 38 5f 74 20 63 75 72 5f 62 79 74 65 20 3d 20 70 65 65 6b 28 20 30 20 29 3b 0a 20 20 uint8_t.cur_byte.=.peek(.0.);...
4d500 63 6f 6e 73 74 20 75 69 6e 74 38 5f 74 20 6d 61 74 63 68 5f 62 79 74 65 20 3d 20 70 65 65 6b 28 const.uint8_t.match_byte.=.peek(
4d520 20 72 65 70 73 5b 30 5d 20 2b 20 31 20 29 3b 0a 0a 20 20 74 72 69 61 6c 73 5b 31 5d 2e 70 72 69 .reps[0].+.1.);....trials[1].pri
4d540 63 65 20 3d 20 70 72 69 63 65 30 28 20 62 6d 5f 6d 61 74 63 68 5b 73 74 61 74 65 28 29 5d 5b 70 ce.=.price0(.bm_match[state()][p
4d560 6f 73 5f 73 74 61 74 65 5d 20 29 3b 0a 20 20 69 66 28 20 73 74 61 74 65 2e 69 73 5f 63 68 61 72 os_state].);...if(.state.is_char
4d580 28 29 20 29 0a 20 20 20 20 74 72 69 61 6c 73 5b 31 5d 2e 70 72 69 63 65 20 2b 3d 20 70 72 69 63 ().).....trials[1].price.+=.pric
4d5a0 65 5f 6c 69 74 65 72 61 6c 28 20 70 72 65 76 5f 62 79 74 65 2c 20 63 75 72 5f 62 79 74 65 20 29 e_literal(.prev_byte,.cur_byte.)
4d5c0 3b 0a 20 20 65 6c 73 65 0a 20 20 20 20 74 72 69 61 6c 73 5b 31 5d 2e 70 72 69 63 65 20 2b 3d 20 ;...else.....trials[1].price.+=.
4d5e0 70 72 69 63 65 5f 6d 61 74 63 68 65 64 28 20 70 72 65 76 5f 62 79 74 65 2c 20 63 75 72 5f 62 79 price_matched(.prev_byte,.cur_by
4d600 74 65 2c 20 6d 61 74 63 68 5f 62 79 74 65 20 29 3b 0a 20 20 74 72 69 61 6c 73 5b 31 5d 2e 64 69 te,.match_byte.);...trials[1].di
4d620 73 34 20 3d 20 2d 31 3b 09 09 09 09 09 2f 2f 20 6c 69 74 65 72 61 6c 0a 0a 20 20 63 6f 6e 73 74 s4.=.-1;.....//.literal....const
4d640 20 69 6e 74 20 6d 61 74 63 68 5f 70 72 69 63 65 20 3d 20 70 72 69 63 65 31 28 20 62 6d 5f 6d 61 .int.match_price.=.price1(.bm_ma
4d660 74 63 68 5b 73 74 61 74 65 28 29 5d 5b 70 6f 73 5f 73 74 61 74 65 5d 20 29 3b 0a 20 20 63 6f 6e tch[state()][pos_state].);...con
4d680 73 74 20 69 6e 74 20 72 65 70 5f 6d 61 74 63 68 5f 70 72 69 63 65 20 3d 20 6d 61 74 63 68 5f 70 st.int.rep_match_price.=.match_p
4d6a0 72 69 63 65 20 2b 20 70 72 69 63 65 31 28 20 62 6d 5f 72 65 70 5b 73 74 61 74 65 28 29 5d 20 29 rice.+.price1(.bm_rep[state()].)
4d6c0 3b 0a 0a 20 20 69 66 28 20 6d 61 74 63 68 5f 62 79 74 65 20 3d 3d 20 63 75 72 5f 62 79 74 65 20 ;....if(.match_byte.==.cur_byte.
4d6e0 29 0a 20 20 20 20 74 72 69 61 6c 73 5b 31 5d 2e 75 70 64 61 74 65 28 20 72 65 70 5f 6d 61 74 63 ).....trials[1].update(.rep_matc
4d700 68 5f 70 72 69 63 65 20 2b 20 70 72 69 63 65 5f 73 68 6f 72 74 72 65 70 28 20 73 74 61 74 65 2c h_price.+.price_shortrep(.state,
4d720 20 70 6f 73 5f 73 74 61 74 65 20 29 2c 20 30 2c 20 30 20 29 3b 0a 0a 20 20 6e 75 6d 5f 74 72 69 .pos_state.),.0,.0.);....num_tri
4d740 61 6c 73 20 3d 20 73 74 64 3a 3a 6d 61 78 28 20 6d 61 69 6e 5f 6c 65 6e 2c 20 72 65 70 6c 65 6e als.=.std::max(.main_len,.replen
4d760 73 5b 72 65 70 5f 69 6e 64 65 78 5d 20 29 3b 0a 0a 20 20 69 66 28 20 6e 75 6d 5f 74 72 69 61 6c s[rep_index].);....if(.num_trial
4d780 73 20 3c 20 6d 69 6e 5f 6d 61 74 63 68 5f 6c 65 6e 20 29 0a 20 20 20 20 7b 0a 20 20 20 20 74 72 s.<.min_match_len.).....{.....tr
4d7a0 69 61 6c 73 5b 30 5d 2e 70 72 69 63 65 20 3d 20 31 3b 0a 20 20 20 20 74 72 69 61 6c 73 5b 30 5d ials[0].price.=.1;.....trials[0]
4d7c0 2e 64 69 73 34 20 3d 20 74 72 69 61 6c 73 5b 31 5d 2e 64 69 73 34 3b 0a 20 20 20 20 6d 6f 76 65 .dis4.=.trials[1].dis4;.....move
4d7e0 5f 70 6f 73 28 29 3b 0a 20 20 20 20 72 65 74 75 72 6e 20 31 3b 0a 20 20 20 20 7d 0a 0a 20 20 74 _pos();.....return.1;.....}....t
4d800 72 69 61 6c 73 5b 30 5d 2e 73 74 61 74 65 20 3d 20 73 74 61 74 65 3b 0a 20 20 66 6f 72 28 20 69 rials[0].state.=.state;...for(.i
4d820 6e 74 20 69 20 3d 20 30 3b 20 69 20 3c 20 6e 75 6d 5f 72 65 70 5f 64 69 73 74 61 6e 63 65 73 3b nt.i.=.0;.i.<.num_rep_distances;
4d840 20 2b 2b 69 20 29 0a 20 20 20 20 74 72 69 61 6c 73 5b 30 5d 2e 72 65 70 73 5b 69 5d 20 3d 20 72 .++i.).....trials[0].reps[i].=.r
4d860 65 70 73 5b 69 5d 3b 0a 0a 20 20 66 6f 72 28 20 69 6e 74 20 6c 65 6e 20 3d 20 6d 69 6e 5f 6d 61 eps[i];....for(.int.len.=.min_ma
4d880 74 63 68 5f 6c 65 6e 3b 20 6c 65 6e 20 3c 3d 20 6e 75 6d 5f 74 72 69 61 6c 73 3b 20 2b 2b 6c 65 tch_len;.len.<=.num_trials;.++le
4d8a0 6e 20 29 0a 20 20 20 20 74 72 69 61 6c 73 5b 6c 65 6e 5d 2e 70 72 69 63 65 20 3d 20 69 6e 66 69 n.).....trials[len].price.=.infi
4d8c0 6e 69 74 65 5f 70 72 69 63 65 3b 0a 0a 20 20 66 6f 72 28 20 69 6e 74 20 72 65 70 20 3d 20 30 3b nite_price;....for(.int.rep.=.0;
4d8e0 20 72 65 70 20 3c 20 6e 75 6d 5f 72 65 70 5f 64 69 73 74 61 6e 63 65 73 3b 20 2b 2b 72 65 70 20 .rep.<.num_rep_distances;.++rep.
4d900 29 0a 20 20 20 20 7b 0a 20 20 20 20 69 66 28 20 72 65 70 6c 65 6e 73 5b 72 65 70 5d 20 3c 20 6d ).....{.....if(.replens[rep].<.m
4d920 69 6e 5f 6d 61 74 63 68 5f 6c 65 6e 20 29 20 63 6f 6e 74 69 6e 75 65 3b 0a 20 20 20 20 63 6f 6e in_match_len.).continue;.....con
4d940 73 74 20 69 6e 74 20 70 72 69 63 65 20 3d 20 72 65 70 5f 6d 61 74 63 68 5f 70 72 69 63 65 20 2b st.int.price.=.rep_match_price.+
4d960 20 70 72 69 63 65 5f 72 65 70 28 20 72 65 70 2c 20 73 74 61 74 65 2c 20 70 6f 73 5f 73 74 61 74 .price_rep(.rep,.state,.pos_stat
4d980 65 20 29 3b 0a 20 20 20 20 66 6f 72 28 20 69 6e 74 20 6c 65 6e 20 3d 20 6d 69 6e 5f 6d 61 74 63 e.);.....for(.int.len.=.min_matc
4d9a0 68 5f 6c 65 6e 3b 20 6c 65 6e 20 3c 3d 20 72 65 70 6c 65 6e 73 5b 72 65 70 5d 3b 20 2b 2b 6c 65 h_len;.len.<=.replens[rep];.++le
4d9c0 6e 20 29 0a 20 20 20 20 20 20 74 72 69 61 6c 73 5b 6c 65 6e 5d 2e 75 70 64 61 74 65 28 20 70 72 n.).......trials[len].update(.pr
4d9e0 69 63 65 20 2b 20 72 65 70 5f 6c 65 6e 5f 70 72 69 63 65 73 2e 70 72 69 63 65 28 20 6c 65 6e 2c ice.+.rep_len_prices.price(.len,
4da00 20 70 6f 73 5f 73 74 61 74 65 20 29 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .pos_state.),...................
4da20 20 20 20 20 20 20 20 20 72 65 70 2c 20 30 20 29 3b 0a 20 20 20 20 7d 0a 0a 20 20 69 66 28 20 6d ........rep,.0.);.....}....if(.m
4da40 61 69 6e 5f 6c 65 6e 20 3e 20 72 65 70 6c 65 6e 73 5b 30 5d 20 29 0a 20 20 20 20 7b 0a 20 20 20 ain_len.>.replens[0].).....{....
4da60 20 63 6f 6e 73 74 20 69 6e 74 20 6e 6f 72 6d 61 6c 5f 6d 61 74 63 68 5f 70 72 69 63 65 20 3d 20 .const.int.normal_match_price.=.
4da80 6d 61 74 63 68 5f 70 72 69 63 65 20 2b 20 70 72 69 63 65 30 28 20 62 6d 5f 72 65 70 5b 73 74 61 match_price.+.price0(.bm_rep[sta
4daa0 74 65 28 29 5d 20 29 3b 0a 20 20 20 20 69 6e 74 20 69 20 3d 20 30 2c 20 6c 65 6e 20 3d 20 73 74 te()].);.....int.i.=.0,.len.=.st
4dac0 64 3a 3a 6d 61 78 28 20 72 65 70 6c 65 6e 73 5b 30 5d 20 2b 20 31 2c 20 28 69 6e 74 29 6d 69 6e d::max(.replens[0].+.1,.(int)min
4dae0 5f 6d 61 74 63 68 5f 6c 65 6e 20 29 3b 0a 20 20 20 20 77 68 69 6c 65 28 20 6c 65 6e 20 3e 20 70 _match_len.);.....while(.len.>.p
4db00 61 69 72 73 5b 69 5d 2e 6c 65 6e 20 29 20 2b 2b 69 3b 0a 20 20 20 20 77 68 69 6c 65 28 20 74 72 airs[i].len.).++i;.....while(.tr
4db20 75 65 20 29 0a 20 20 20 20 20 20 7b 0a 20 20 20 20 20 20 63 6f 6e 73 74 20 69 6e 74 20 64 69 73 ue.).......{.......const.int.dis
4db40 20 3d 20 70 61 69 72 73 5b 69 5d 2e 64 69 73 3b 0a 20 20 20 20 20 20 74 72 69 61 6c 73 5b 6c 65 .=.pairs[i].dis;.......trials[le
4db60 6e 5d 2e 75 70 64 61 74 65 28 20 6e 6f 72 6d 61 6c 5f 6d 61 74 63 68 5f 70 72 69 63 65 20 2b 20 n].update(.normal_match_price.+.
4db80 70 72 69 63 65 5f 70 61 69 72 28 20 64 69 73 2c 20 6c 65 6e 2c 20 70 6f 73 5f 73 74 61 74 65 20 price_pair(.dis,.len,.pos_state.
4dba0 29 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 64 69 73 ),...........................dis
4dbc0 20 2b 20 6e 75 6d 5f 72 65 70 5f 64 69 73 74 61 6e 63 65 73 2c 20 30 20 29 3b 0a 20 20 20 20 20 .+.num_rep_distances,.0.);......
4dbe0 20 69 66 28 20 2b 2b 6c 65 6e 20 3e 20 70 61 69 72 73 5b 69 5d 2e 6c 65 6e 20 26 26 20 2b 2b 69 .if(.++len.>.pairs[i].len.&&.++i
4dc00 20 3e 3d 20 6e 75 6d 5f 70 61 69 72 73 20 29 20 62 72 65 61 6b 3b 0a 20 20 20 20 20 20 7d 0a 20 .>=.num_pairs.).break;.......}..
4dc20 20 20 20 7d 0a 0a 20 20 69 6e 74 20 63 75 72 20 3d 20 30 3b 0a 20 20 77 68 69 6c 65 28 20 74 72 ...}....int.cur.=.0;...while(.tr
4dc40 75 65 20 29 09 09 09 09 2f 2f 20 70 72 69 63 65 20 6f 70 74 69 6d 69 7a 61 74 69 6f 6e 20 6c 6f ue.)....//.price.optimization.lo
4dc60 6f 70 0a 20 20 20 20 7b 0a 20 20 20 20 6d 6f 76 65 5f 70 6f 73 28 29 3b 0a 20 20 20 20 69 66 28 op.....{.....move_pos();.....if(
4dc80 20 2b 2b 63 75 72 20 3e 3d 20 6e 75 6d 5f 74 72 69 61 6c 73 20 29 09 09 2f 2f 20 6e 6f 20 6d 6f .++cur.>=.num_trials.)..//.no.mo
4dca0 72 65 20 69 6e 69 74 69 61 6c 69 7a 65 64 20 74 72 69 61 6c 73 0a 20 20 20 20 20 20 7b 0a 20 20 re.initialized.trials.......{...
4dcc0 20 20 20 20 62 61 63 6b 77 61 72 64 28 20 63 75 72 20 29 3b 0a 20 20 20 20 20 20 72 65 74 75 72 ....backward(.cur.);.......retur
4dce0 6e 20 63 75 72 3b 0a 20 20 20 20 20 20 7d 0a 0a 20 20 20 20 63 6f 6e 73 74 20 69 6e 74 20 6e 75 n.cur;.......}......const.int.nu
4dd00 6d 5f 70 61 69 72 73 20 3d 20 72 65 61 64 5f 6d 61 74 63 68 5f 64 69 73 74 61 6e 63 65 73 28 29 m_pairs.=.read_match_distances()
4dd20 3b 0a 20 20 20 20 63 6f 6e 73 74 20 69 6e 74 20 6e 65 77 6c 65 6e 20 3d 20 28 20 6e 75 6d 5f 70 ;.....const.int.newlen.=.(.num_p
4dd40 61 69 72 73 20 3e 20 30 20 29 20 3f 20 70 61 69 72 73 5b 6e 75 6d 5f 70 61 69 72 73 2d 31 5d 2e airs.>.0.).?.pairs[num_pairs-1].
4dd60 6c 65 6e 20 3a 20 30 3b 0a 20 20 20 20 69 66 28 20 6e 65 77 6c 65 6e 20 3e 3d 20 6d 61 74 63 68 len.:.0;.....if(.newlen.>=.match
4dd80 5f 6c 65 6e 5f 6c 69 6d 69 74 20 29 0a 20 20 20 20 20 20 7b 0a 20 20 20 20 20 20 70 65 6e 64 69 _len_limit.).......{.......pendi
4dda0 6e 67 5f 6e 75 6d 5f 70 61 69 72 73 20 3d 20 6e 75 6d 5f 70 61 69 72 73 3b 0a 20 20 20 20 20 20 ng_num_pairs.=.num_pairs;.......
4ddc0 62 61 63 6b 77 61 72 64 28 20 63 75 72 20 29 3b 0a 20 20 20 20 20 20 72 65 74 75 72 6e 20 63 75 backward(.cur.);.......return.cu
4dde0 72 3b 0a 20 20 20 20 20 20 7d 0a 0a 20 20 20 20 2f 2f 20 67 69 76 65 20 66 69 6e 61 6c 20 76 61 r;.......}......//.give.final.va
4de00 6c 75 65 73 20 74 6f 20 63 75 72 72 65 6e 74 20 74 72 69 61 6c 0a 20 20 20 20 54 72 69 61 6c 20 lues.to.current.trial.....Trial.
4de20 26 20 63 75 72 5f 74 72 69 61 6c 20 3d 20 74 72 69 61 6c 73 5b 63 75 72 5d 3b 0a 20 20 20 20 53 &.cur_trial.=.trials[cur];.....S
4de40 74 61 74 65 20 63 75 72 5f 73 74 61 74 65 3b 0a 20 20 20 20 7b 0a 20 20 20 20 63 6f 6e 73 74 20 tate.cur_state;.....{.....const.
4de60 69 6e 74 20 64 69 73 34 20 3d 20 63 75 72 5f 74 72 69 61 6c 2e 64 69 73 34 3b 0a 20 20 20 20 69 int.dis4.=.cur_trial.dis4;.....i
4de80 6e 74 20 70 72 65 76 5f 69 6e 64 65 78 20 3d 20 63 75 72 5f 74 72 69 61 6c 2e 70 72 65 76 5f 69 nt.prev_index.=.cur_trial.prev_i
4dea0 6e 64 65 78 3b 0a 20 20 20 20 63 6f 6e 73 74 20 69 6e 74 20 70 72 65 76 5f 69 6e 64 65 78 32 20 ndex;.....const.int.prev_index2.
4dec0 3d 20 63 75 72 5f 74 72 69 61 6c 2e 70 72 65 76 5f 69 6e 64 65 78 32 3b 0a 0a 20 20 20 20 69 66 =.cur_trial.prev_index2;......if
4dee0 28 20 70 72 65 76 5f 69 6e 64 65 78 32 20 3d 3d 20 73 69 6e 67 6c 65 5f 73 74 65 70 5f 74 72 69 (.prev_index2.==.single_step_tri
4df00 61 6c 20 29 0a 20 20 20 20 20 20 7b 0a 20 20 20 20 20 20 63 75 72 5f 73 74 61 74 65 20 3d 20 74 al.).......{.......cur_state.=.t
4df20 72 69 61 6c 73 5b 70 72 65 76 5f 69 6e 64 65 78 5d 2e 73 74 61 74 65 3b 0a 20 20 20 20 20 20 69 rials[prev_index].state;.......i
4df40 66 28 20 70 72 65 76 5f 69 6e 64 65 78 20 2b 20 31 20 3d 3d 20 63 75 72 20 29 09 09 09 2f 2f 20 f(.prev_index.+.1.==.cur.)...//.
4df60 6c 65 6e 20 3d 3d 20 31 0a 20 20 20 20 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 69 66 28 20 64 len.==.1.........{.........if(.d
4df80 69 73 34 20 3d 3d 20 30 20 29 20 63 75 72 5f 73 74 61 74 65 2e 73 65 74 5f 73 68 6f 72 74 5f 72 is4.==.0.).cur_state.set_short_r
4dfa0 65 70 28 29 3b 0a 20 20 20 20 20 20 20 20 65 6c 73 65 20 63 75 72 5f 73 74 61 74 65 2e 73 65 74 ep();.........else.cur_state.set
4dfc0 5f 63 68 61 72 28 29 3b 09 09 09 2f 2f 20 6c 69 74 65 72 61 6c 0a 20 20 20 20 20 20 20 20 7d 0a _char();...//.literal.........}.
4dfe0 20 20 20 20 20 20 65 6c 73 65 20 69 66 28 20 64 69 73 34 20 3c 20 6e 75 6d 5f 72 65 70 5f 64 69 ......else.if(.dis4.<.num_rep_di
4e000 73 74 61 6e 63 65 73 20 29 20 63 75 72 5f 73 74 61 74 65 2e 73 65 74 5f 72 65 70 28 29 3b 0a 20 stances.).cur_state.set_rep();..
4e020 20 20 20 20 20 65 6c 73 65 20 63 75 72 5f 73 74 61 74 65 2e 73 65 74 5f 6d 61 74 63 68 28 29 3b .....else.cur_state.set_match();
4e040 0a 20 20 20 20 20 20 7d 0a 20 20 20 20 65 6c 73 65 0a 20 20 20 20 20 20 7b 0a 20 20 20 20 20 20 .......}.....else.......{.......
4e060 69 66 28 20 70 72 65 76 5f 69 6e 64 65 78 32 20 3d 3d 20 64 75 61 6c 5f 73 74 65 70 5f 74 72 69 if(.prev_index2.==.dual_step_tri
4e080 61 6c 20 29 09 2f 2f 20 64 69 73 34 20 3d 3d 20 30 20 28 72 65 70 30 29 0a 20 20 20 20 20 20 20 al.).//.dis4.==.0.(rep0)........
4e0a0 20 2d 2d 70 72 65 76 5f 69 6e 64 65 78 3b 0a 20 20 20 20 20 20 65 6c 73 65 09 09 09 09 09 2f 2f .--prev_index;.......else.....//
4e0c0 20 70 72 65 76 5f 69 6e 64 65 78 32 20 3e 3d 20 30 0a 20 20 20 20 20 20 20 20 70 72 65 76 5f 69 .prev_index2.>=.0.........prev_i
4e0e0 6e 64 65 78 20 3d 20 70 72 65 76 5f 69 6e 64 65 78 32 3b 0a 20 20 20 20 20 20 63 75 72 5f 73 74 ndex.=.prev_index2;.......cur_st
4e100 61 74 65 2e 73 65 74 5f 63 68 61 72 5f 72 65 70 28 29 3b 0a 20 20 20 20 20 20 7d 0a 20 20 20 20 ate.set_char_rep();.......}.....
4e120 63 75 72 5f 74 72 69 61 6c 2e 73 74 61 74 65 20 3d 20 63 75 72 5f 73 74 61 74 65 3b 0a 20 20 20 cur_trial.state.=.cur_state;....
4e140 20 66 6f 72 28 20 69 6e 74 20 69 20 3d 20 30 3b 20 69 20 3c 20 6e 75 6d 5f 72 65 70 5f 64 69 73 .for(.int.i.=.0;.i.<.num_rep_dis
4e160 74 61 6e 63 65 73 3b 20 2b 2b 69 20 29 0a 20 20 20 20 20 20 63 75 72 5f 74 72 69 61 6c 2e 72 65 tances;.++i.).......cur_trial.re
4e180 70 73 5b 69 5d 20 3d 20 74 72 69 61 6c 73 5b 70 72 65 76 5f 69 6e 64 65 78 5d 2e 72 65 70 73 5b ps[i].=.trials[prev_index].reps[
4e1a0 69 5d 3b 0a 20 20 20 20 6d 74 66 5f 72 65 70 73 28 20 64 69 73 34 2c 20 63 75 72 5f 74 72 69 61 i];.....mtf_reps(.dis4,.cur_tria
4e1c0 6c 2e 72 65 70 73 20 29 3b 09 09 2f 2f 20 6c 69 74 65 72 61 6c 20 69 73 20 69 67 6e 6f 72 65 64 l.reps.);..//.literal.is.ignored
4e1e0 0a 20 20 20 20 7d 0a 0a 20 20 20 20 63 6f 6e 73 74 20 69 6e 74 20 70 6f 73 5f 73 74 61 74 65 20 .....}......const.int.pos_state.
4e200 3d 20 64 61 74 61 5f 70 6f 73 69 74 69 6f 6e 28 29 20 26 20 70 6f 73 5f 73 74 61 74 65 5f 6d 61 =.data_position().&.pos_state_ma
4e220 73 6b 3b 0a 20 20 20 20 63 6f 6e 73 74 20 75 69 6e 74 38 5f 74 20 70 72 65 76 5f 62 79 74 65 20 sk;.....const.uint8_t.prev_byte.
4e240 3d 20 70 65 65 6b 28 20 31 20 29 3b 0a 20 20 20 20 63 6f 6e 73 74 20 75 69 6e 74 38 5f 74 20 63 =.peek(.1.);.....const.uint8_t.c
4e260 75 72 5f 62 79 74 65 20 3d 20 70 65 65 6b 28 20 30 20 29 3b 0a 20 20 20 20 63 6f 6e 73 74 20 75 ur_byte.=.peek(.0.);.....const.u
4e280 69 6e 74 38 5f 74 20 6d 61 74 63 68 5f 62 79 74 65 20 3d 20 70 65 65 6b 28 20 63 75 72 5f 74 72 int8_t.match_byte.=.peek(.cur_tr
4e2a0 69 61 6c 2e 72 65 70 73 5b 30 5d 20 2b 20 31 20 29 3b 0a 0a 20 20 20 20 69 6e 74 20 6e 65 78 74 ial.reps[0].+.1.);......int.next
4e2c0 5f 70 72 69 63 65 20 3d 20 63 75 72 5f 74 72 69 61 6c 2e 70 72 69 63 65 20 2b 0a 20 20 20 20 20 _price.=.cur_trial.price.+......
4e2e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 70 72 69 63 65 30 28 20 62 6d 5f 6d 61 74 63 68 ................price0(.bm_match
4e300 5b 63 75 72 5f 73 74 61 74 65 28 29 5d 5b 70 6f 73 5f 73 74 61 74 65 5d 20 29 3b 0a 20 20 20 20 [cur_state()][pos_state].);.....
4e320 69 66 28 20 63 75 72 5f 73 74 61 74 65 2e 69 73 5f 63 68 61 72 28 29 20 29 0a 20 20 20 20 20 20 if(.cur_state.is_char().).......
4e340 6e 65 78 74 5f 70 72 69 63 65 20 2b 3d 20 70 72 69 63 65 5f 6c 69 74 65 72 61 6c 28 20 70 72 65 next_price.+=.price_literal(.pre
4e360 76 5f 62 79 74 65 2c 20 63 75 72 5f 62 79 74 65 20 29 3b 0a 20 20 20 20 65 6c 73 65 0a 20 20 20 v_byte,.cur_byte.);.....else....
4e380 20 20 20 6e 65 78 74 5f 70 72 69 63 65 20 2b 3d 20 70 72 69 63 65 5f 6d 61 74 63 68 65 64 28 20 ...next_price.+=.price_matched(.
4e3a0 70 72 65 76 5f 62 79 74 65 2c 20 63 75 72 5f 62 79 74 65 2c 20 6d 61 74 63 68 5f 62 79 74 65 20 prev_byte,.cur_byte,.match_byte.
4e3c0 29 3b 0a 0a 20 20 20 20 2f 2f 20 74 72 79 20 6c 61 73 74 20 75 70 64 61 74 65 73 20 74 6f 20 6e );......//.try.last.updates.to.n
4e3e0 65 78 74 20 74 72 69 61 6c 0a 20 20 20 20 54 72 69 61 6c 20 26 20 6e 65 78 74 5f 74 72 69 61 6c ext.trial.....Trial.&.next_trial
4e400 20 3d 20 74 72 69 61 6c 73 5b 63 75 72 2b 31 5d 3b 0a 0a 20 20 20 20 6e 65 78 74 5f 74 72 69 61 .=.trials[cur+1];......next_tria
4e420 6c 2e 75 70 64 61 74 65 28 20 6e 65 78 74 5f 70 72 69 63 65 2c 20 2d 31 2c 20 63 75 72 20 29 3b l.update(.next_price,.-1,.cur.);
4e440 09 09 2f 2f 20 6c 69 74 65 72 61 6c 0a 0a 20 20 20 20 63 6f 6e 73 74 20 69 6e 74 20 6d 61 74 63 ..//.literal......const.int.matc
4e460 68 5f 70 72 69 63 65 20 3d 20 63 75 72 5f 74 72 69 61 6c 2e 70 72 69 63 65 20 2b 20 70 72 69 63 h_price.=.cur_trial.price.+.pric
4e480 65 31 28 20 62 6d 5f 6d 61 74 63 68 5b 63 75 72 5f 73 74 61 74 65 28 29 5d 5b 70 6f 73 5f 73 74 e1(.bm_match[cur_state()][pos_st
4e4a0 61 74 65 5d 20 29 3b 0a 20 20 20 20 63 6f 6e 73 74 20 69 6e 74 20 72 65 70 5f 6d 61 74 63 68 5f ate].);.....const.int.rep_match_
4e4c0 70 72 69 63 65 20 3d 20 6d 61 74 63 68 5f 70 72 69 63 65 20 2b 20 70 72 69 63 65 31 28 20 62 6d price.=.match_price.+.price1(.bm
4e4e0 5f 72 65 70 5b 63 75 72 5f 73 74 61 74 65 28 29 5d 20 29 3b 0a 0a 20 20 20 20 69 66 28 20 6d 61 _rep[cur_state()].);......if(.ma
4e500 74 63 68 5f 62 79 74 65 20 3d 3d 20 63 75 72 5f 62 79 74 65 20 26 26 20 6e 65 78 74 5f 74 72 69 tch_byte.==.cur_byte.&&.next_tri
4e520 61 6c 2e 64 69 73 34 20 21 3d 20 30 20 26 26 0a 20 20 20 20 20 20 20 20 6e 65 78 74 5f 74 72 69 al.dis4.!=.0.&&.........next_tri
4e540 61 6c 2e 70 72 65 76 5f 69 6e 64 65 78 32 20 3d 3d 20 73 69 6e 67 6c 65 5f 73 74 65 70 5f 74 72 al.prev_index2.==.single_step_tr
4e560 69 61 6c 20 29 0a 20 20 20 20 20 20 7b 0a 20 20 20 20 20 20 63 6f 6e 73 74 20 69 6e 74 20 70 72 ial.).......{.......const.int.pr
4e580 69 63 65 20 3d 20 72 65 70 5f 6d 61 74 63 68 5f 70 72 69 63 65 20 2b 20 70 72 69 63 65 5f 73 68 ice.=.rep_match_price.+.price_sh
4e5a0 6f 72 74 72 65 70 28 20 63 75 72 5f 73 74 61 74 65 2c 20 70 6f 73 5f 73 74 61 74 65 20 29 3b 0a ortrep(.cur_state,.pos_state.);.
4e5c0 20 20 20 20 20 20 69 66 28 20 70 72 69 63 65 20 3c 3d 20 6e 65 78 74 5f 74 72 69 61 6c 2e 70 72 ......if(.price.<=.next_trial.pr
4e5e0 69 63 65 20 29 0a 20 20 20 20 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 6e 65 78 74 5f 74 72 69 ice.).........{.........next_tri
4e600 61 6c 2e 70 72 69 63 65 20 3d 20 70 72 69 63 65 3b 0a 20 20 20 20 20 20 20 20 6e 65 78 74 5f 74 al.price.=.price;.........next_t
4e620 72 69 61 6c 2e 64 69 73 34 20 3d 20 30 3b 09 09 09 09 2f 2f 20 72 65 70 30 0a 20 20 20 20 20 20 rial.dis4.=.0;....//.rep0.......
4e640 20 20 6e 65 78 74 5f 74 72 69 61 6c 2e 70 72 65 76 5f 69 6e 64 65 78 20 3d 20 63 75 72 3b 0a 20 ..next_trial.prev_index.=.cur;..
4e660 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 7d 0a 0a 20 20 20 20 63 6f 6e 73 74 20 69 6e 74 20 .......}.......}......const.int.
4e680 74 72 69 61 62 6c 65 5f 62 79 74 65 73 20 3d 0a 20 20 20 20 20 20 73 74 64 3a 3a 6d 69 6e 28 20 triable_bytes.=.......std::min(.
4e6a0 61 76 61 69 6c 61 62 6c 65 5f 62 79 74 65 73 28 29 2c 20 6d 61 78 5f 6e 75 6d 5f 74 72 69 61 6c available_bytes(),.max_num_trial
4e6c0 73 20 2d 20 31 20 2d 20 63 75 72 20 29 3b 0a 20 20 20 20 69 66 28 20 74 72 69 61 62 6c 65 5f 62 s.-.1.-.cur.);.....if(.triable_b
4e6e0 79 74 65 73 20 3c 20 6d 69 6e 5f 6d 61 74 63 68 5f 6c 65 6e 20 29 20 63 6f 6e 74 69 6e 75 65 3b ytes.<.min_match_len.).continue;
4e700 0a 0a 20 20 20 20 63 6f 6e 73 74 20 69 6e 74 20 6c 65 6e 5f 6c 69 6d 69 74 20 3d 20 73 74 64 3a ......const.int.len_limit.=.std:
4e720 3a 6d 69 6e 28 20 6d 61 74 63 68 5f 6c 65 6e 5f 6c 69 6d 69 74 2c 20 74 72 69 61 62 6c 65 5f 62 :min(.match_len_limit,.triable_b
4e740 79 74 65 73 20 29 3b 0a 0a 20 20 20 20 2f 2f 20 74 72 79 20 6c 69 74 65 72 61 6c 20 2b 20 72 65 ytes.);......//.try.literal.+.re
4e760 70 30 0a 20 20 20 20 69 66 28 20 6d 61 74 63 68 5f 62 79 74 65 20 21 3d 20 63 75 72 5f 62 79 74 p0.....if(.match_byte.!=.cur_byt
4e780 65 20 26 26 20 6e 65 78 74 5f 74 72 69 61 6c 2e 70 72 65 76 5f 69 6e 64 65 78 20 21 3d 20 63 75 e.&&.next_trial.prev_index.!=.cu
4e7a0 72 20 29 0a 20 20 20 20 20 20 7b 0a 20 20 20 20 20 20 63 6f 6e 73 74 20 75 69 6e 74 38 5f 74 20 r.).......{.......const.uint8_t.
4e7c0 2a 20 63 6f 6e 73 74 20 64 61 74 61 20 3d 20 70 74 72 5f 74 6f 5f 63 75 72 72 65 6e 74 5f 70 6f *.const.data.=.ptr_to_current_po
4e7e0 73 28 29 3b 0a 20 20 20 20 20 20 63 6f 6e 73 74 20 69 6e 74 20 64 69 73 20 3d 20 63 75 72 5f 74 s();.......const.int.dis.=.cur_t
4e800 72 69 61 6c 2e 72 65 70 73 5b 30 5d 20 2b 20 31 3b 0a 20 20 20 20 20 20 63 6f 6e 73 74 20 69 6e rial.reps[0].+.1;.......const.in
4e820 74 20 6c 69 6d 69 74 20 3d 20 73 74 64 3a 3a 6d 69 6e 28 20 6d 61 74 63 68 5f 6c 65 6e 5f 6c 69 t.limit.=.std::min(.match_len_li
4e840 6d 69 74 20 2b 20 31 2c 20 74 72 69 61 62 6c 65 5f 62 79 74 65 73 20 29 3b 0a 20 20 20 20 20 20 mit.+.1,.triable_bytes.);.......
4e860 69 6e 74 20 6c 65 6e 20 3d 20 31 3b 0a 20 20 20 20 20 20 77 68 69 6c 65 28 20 6c 65 6e 20 3c 20 int.len.=.1;.......while(.len.<.
4e880 6c 69 6d 69 74 20 26 26 20 64 61 74 61 5b 6c 65 6e 2d 64 69 73 5d 20 3d 3d 20 64 61 74 61 5b 6c limit.&&.data[len-dis].==.data[l
4e8a0 65 6e 5d 20 29 20 2b 2b 6c 65 6e 3b 0a 20 20 20 20 20 20 69 66 28 20 2d 2d 6c 65 6e 20 3e 3d 20 en].).++len;.......if(.--len.>=.
4e8c0 6d 69 6e 5f 6d 61 74 63 68 5f 6c 65 6e 20 29 0a 20 20 20 20 20 20 20 20 7b 0a 20 20 20 20 20 20 min_match_len.).........{.......
4e8e0 20 20 63 6f 6e 73 74 20 69 6e 74 20 70 6f 73 5f 73 74 61 74 65 32 20 3d 20 28 20 70 6f 73 5f 73 ..const.int.pos_state2.=.(.pos_s
4e900 74 61 74 65 20 2b 20 31 20 29 20 26 20 70 6f 73 5f 73 74 61 74 65 5f 6d 61 73 6b 3b 0a 20 20 20 tate.+.1.).&.pos_state_mask;....
4e920 20 20 20 20 20 53 74 61 74 65 20 73 74 61 74 65 32 20 3d 20 63 75 72 5f 73 74 61 74 65 3b 20 73 .....State.state2.=.cur_state;.s
4e940 74 61 74 65 32 2e 73 65 74 5f 63 68 61 72 28 29 3b 0a 20 20 20 20 20 20 20 20 63 6f 6e 73 74 20 tate2.set_char();.........const.
4e960 69 6e 74 20 70 72 69 63 65 20 3d 20 6e 65 78 74 5f 70 72 69 63 65 20 2b 0a 20 20 20 20 20 20 20 int.price.=.next_price.+........
4e980 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 70 72 69 63 65 31 28 20 62 6d 5f 6d 61 ...................price1(.bm_ma
4e9a0 74 63 68 5b 73 74 61 74 65 32 28 29 5d 5b 70 6f 73 5f 73 74 61 74 65 32 5d 20 29 20 2b 0a 20 20 tch[state2()][pos_state2].).+...
4e9c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 70 72 69 63 65 31 28 20 ........................price1(.
4e9e0 62 6d 5f 72 65 70 5b 73 74 61 74 65 32 28 29 5d 20 29 20 2b 0a 20 20 20 20 20 20 20 20 20 20 20 bm_rep[state2()].).+............
4ea00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 70 72 69 63 65 5f 72 65 70 30 5f 6c 65 6e 28 20 6c ...............price_rep0_len(.l
4ea20 65 6e 2c 20 73 74 61 74 65 32 2c 20 70 6f 73 5f 73 74 61 74 65 32 20 29 3b 0a 20 20 20 20 20 20 en,.state2,.pos_state2.);.......
4ea40 20 20 77 68 69 6c 65 28 20 6e 75 6d 5f 74 72 69 61 6c 73 20 3c 20 63 75 72 20 2b 20 31 20 2b 20 ..while(.num_trials.<.cur.+.1.+.
4ea60 6c 65 6e 20 29 0a 20 20 20 20 20 20 20 20 20 20 74 72 69 61 6c 73 5b 2b 2b 6e 75 6d 5f 74 72 69 len.)...........trials[++num_tri
4ea80 61 6c 73 5d 2e 70 72 69 63 65 20 3d 20 69 6e 66 69 6e 69 74 65 5f 70 72 69 63 65 3b 0a 20 20 20 als].price.=.infinite_price;....
4eaa0 20 20 20 20 20 74 72 69 61 6c 73 5b 63 75 72 2b 31 2b 6c 65 6e 5d 2e 75 70 64 61 74 65 32 28 20 .....trials[cur+1+len].update2(.
4eac0 70 72 69 63 65 2c 20 63 75 72 20 2b 20 31 20 29 3b 0a 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 price,.cur.+.1.);.........}.....
4eae0 20 20 7d 0a 0a 20 20 20 20 69 6e 74 20 73 74 61 72 74 5f 6c 65 6e 20 3d 20 6d 69 6e 5f 6d 61 74 ..}......int.start_len.=.min_mat
4eb00 63 68 5f 6c 65 6e 3b 0a 0a 20 20 20 20 2f 2f 20 74 72 79 20 72 65 70 20 64 69 73 74 61 6e 63 65 ch_len;......//.try.rep.distance
4eb20 73 0a 20 20 20 20 66 6f 72 28 20 69 6e 74 20 72 65 70 20 3d 20 30 3b 20 72 65 70 20 3c 20 6e 75 s.....for(.int.rep.=.0;.rep.<.nu
4eb40 6d 5f 72 65 70 5f 64 69 73 74 61 6e 63 65 73 3b 20 2b 2b 72 65 70 20 29 0a 20 20 20 20 20 20 7b m_rep_distances;.++rep.).......{
4eb60 0a 20 20 20 20 20 20 63 6f 6e 73 74 20 75 69 6e 74 38 5f 74 20 2a 20 63 6f 6e 73 74 20 64 61 74 .......const.uint8_t.*.const.dat
4eb80 61 20 3d 20 70 74 72 5f 74 6f 5f 63 75 72 72 65 6e 74 5f 70 6f 73 28 29 3b 0a 20 20 20 20 20 20 a.=.ptr_to_current_pos();.......
4eba0 63 6f 6e 73 74 20 69 6e 74 20 64 69 73 20 3d 20 63 75 72 5f 74 72 69 61 6c 2e 72 65 70 73 5b 72 const.int.dis.=.cur_trial.reps[r
4ebc0 65 70 5d 20 2b 20 31 3b 0a 20 20 20 20 20 20 69 6e 74 20 6c 65 6e 3b 0a 0a 20 20 20 20 20 20 69 ep].+.1;.......int.len;........i
4ebe0 66 28 20 64 61 74 61 5b 30 2d 64 69 73 5d 20 21 3d 20 64 61 74 61 5b 30 5d 20 7c 7c 20 64 61 74 f(.data[0-dis].!=.data[0].||.dat
4ec00 61 5b 31 2d 64 69 73 5d 20 21 3d 20 64 61 74 61 5b 31 5d 20 29 20 63 6f 6e 74 69 6e 75 65 3b 0a a[1-dis].!=.data[1].).continue;.
4ec20 20 20 20 20 20 20 66 6f 72 28 20 6c 65 6e 20 3d 20 6d 69 6e 5f 6d 61 74 63 68 5f 6c 65 6e 3b 20 ......for(.len.=.min_match_len;.
4ec40 6c 65 6e 20 3c 20 6c 65 6e 5f 6c 69 6d 69 74 3b 20 2b 2b 6c 65 6e 20 29 0a 20 20 20 20 20 20 20 len.<.len_limit;.++len.)........
4ec60 20 69 66 28 20 64 61 74 61 5b 6c 65 6e 2d 64 69 73 5d 20 21 3d 20 64 61 74 61 5b 6c 65 6e 5d 20 .if(.data[len-dis].!=.data[len].
4ec80 29 20 62 72 65 61 6b 3b 0a 20 20 20 20 20 20 77 68 69 6c 65 28 20 6e 75 6d 5f 74 72 69 61 6c 73 ).break;.......while(.num_trials
4eca0 20 3c 20 63 75 72 20 2b 20 6c 65 6e 20 29 0a 20 20 20 20 20 20 20 20 74 72 69 61 6c 73 5b 2b 2b .<.cur.+.len.).........trials[++
4ecc0 6e 75 6d 5f 74 72 69 61 6c 73 5d 2e 70 72 69 63 65 20 3d 20 69 6e 66 69 6e 69 74 65 5f 70 72 69 num_trials].price.=.infinite_pri
4ece0 63 65 3b 0a 20 20 20 20 20 20 69 6e 74 20 70 72 69 63 65 20 3d 20 72 65 70 5f 6d 61 74 63 68 5f ce;.......int.price.=.rep_match_
4ed00 70 72 69 63 65 20 2b 20 70 72 69 63 65 5f 72 65 70 28 20 72 65 70 2c 20 63 75 72 5f 73 74 61 74 price.+.price_rep(.rep,.cur_stat
4ed20 65 2c 20 70 6f 73 5f 73 74 61 74 65 20 29 3b 0a 20 20 20 20 20 20 66 6f 72 28 20 69 6e 74 20 69 e,.pos_state.);.......for(.int.i
4ed40 20 3d 20 6d 69 6e 5f 6d 61 74 63 68 5f 6c 65 6e 3b 20 69 20 3c 3d 20 6c 65 6e 3b 20 2b 2b 69 20 .=.min_match_len;.i.<=.len;.++i.
4ed60 29 0a 20 20 20 20 20 20 20 20 74 72 69 61 6c 73 5b 63 75 72 2b 69 5d 2e 75 70 64 61 74 65 28 20 ).........trials[cur+i].update(.
4ed80 70 72 69 63 65 20 2b 20 72 65 70 5f 6c 65 6e 5f 70 72 69 63 65 73 2e 70 72 69 63 65 28 20 69 2c price.+.rep_len_prices.price(.i,
4eda0 20 70 6f 73 5f 73 74 61 74 65 20 29 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .pos_state.),...................
4edc0 20 20 20 20 20 20 20 20 20 20 20 20 72 65 70 2c 20 63 75 72 20 29 3b 0a 0a 20 20 20 20 20 20 69 ............rep,.cur.);........i
4ede0 66 28 20 72 65 70 20 3d 3d 20 30 20 29 20 73 74 61 72 74 5f 6c 65 6e 20 3d 20 6c 65 6e 20 2b 20 f(.rep.==.0.).start_len.=.len.+.
4ee00 31 3b 09 2f 2f 20 64 69 73 63 61 72 64 20 73 68 6f 72 74 65 72 20 6d 61 74 63 68 65 73 0a 0a 20 1;.//.discard.shorter.matches...
4ee20 20 20 20 20 20 2f 2f 20 74 72 79 20 72 65 70 20 2b 20 6c 69 74 65 72 61 6c 20 2b 20 72 65 70 30 .....//.try.rep.+.literal.+.rep0
4ee40 0a 20 20 20 20 20 20 69 6e 74 20 6c 65 6e 32 20 3d 20 6c 65 6e 20 2b 20 31 3b 0a 20 20 20 20 20 .......int.len2.=.len.+.1;......
4ee60 20 63 6f 6e 73 74 20 69 6e 74 20 6c 69 6d 69 74 20 3d 20 73 74 64 3a 3a 6d 69 6e 28 20 6d 61 74 .const.int.limit.=.std::min(.mat
4ee80 63 68 5f 6c 65 6e 5f 6c 69 6d 69 74 20 2b 20 6c 65 6e 32 2c 20 74 72 69 61 62 6c 65 5f 62 79 74 ch_len_limit.+.len2,.triable_byt
4eea0 65 73 20 29 3b 0a 20 20 20 20 20 20 77 68 69 6c 65 28 20 6c 65 6e 32 20 3c 20 6c 69 6d 69 74 20 es.);.......while(.len2.<.limit.
4eec0 26 26 20 64 61 74 61 5b 6c 65 6e 32 2d 64 69 73 5d 20 3d 3d 20 64 61 74 61 5b 6c 65 6e 32 5d 20 &&.data[len2-dis].==.data[len2].
4eee0 29 20 2b 2b 6c 65 6e 32 3b 0a 20 20 20 20 20 20 6c 65 6e 32 20 2d 3d 20 6c 65 6e 20 2b 20 31 3b ).++len2;.......len2.-=.len.+.1;
4ef00 0a 20 20 20 20 20 20 69 66 28 20 6c 65 6e 32 20 3c 20 6d 69 6e 5f 6d 61 74 63 68 5f 6c 65 6e 20 .......if(.len2.<.min_match_len.
4ef20 29 20 63 6f 6e 74 69 6e 75 65 3b 0a 0a 20 20 20 20 20 20 69 6e 74 20 70 6f 73 5f 73 74 61 74 65 ).continue;........int.pos_state
4ef40 32 20 3d 20 28 20 70 6f 73 5f 73 74 61 74 65 20 2b 20 6c 65 6e 20 29 20 26 20 70 6f 73 5f 73 74 2.=.(.pos_state.+.len.).&.pos_st
4ef60 61 74 65 5f 6d 61 73 6b 3b 0a 20 20 20 20 20 20 53 74 61 74 65 20 73 74 61 74 65 32 20 3d 20 63 ate_mask;.......State.state2.=.c
4ef80 75 72 5f 73 74 61 74 65 3b 20 73 74 61 74 65 32 2e 73 65 74 5f 72 65 70 28 29 3b 0a 20 20 20 20 ur_state;.state2.set_rep();.....
4efa0 20 20 70 72 69 63 65 20 2b 3d 20 72 65 70 5f 6c 65 6e 5f 70 72 69 63 65 73 2e 70 72 69 63 65 28 ..price.+=.rep_len_prices.price(
4efc0 20 6c 65 6e 2c 20 70 6f 73 5f 73 74 61 74 65 20 29 20 2b 0a 20 20 20 20 20 20 20 20 20 20 20 20 .len,.pos_state.).+.............
4efe0 20 20 20 70 72 69 63 65 30 28 20 62 6d 5f 6d 61 74 63 68 5b 73 74 61 74 65 32 28 29 5d 5b 70 6f ...price0(.bm_match[state2()][po
4f000 73 5f 73 74 61 74 65 32 5d 20 29 20 2b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 70 72 69 s_state2].).+................pri
4f020 63 65 5f 6d 61 74 63 68 65 64 28 20 64 61 74 61 5b 6c 65 6e 2d 31 5d 2c 20 64 61 74 61 5b 6c 65 ce_matched(.data[len-1],.data[le
4f040 6e 5d 2c 20 64 61 74 61 5b 6c 65 6e 2d 64 69 73 5d 20 29 3b 0a 20 20 20 20 20 20 70 6f 73 5f 73 n],.data[len-dis].);.......pos_s
4f060 74 61 74 65 32 20 3d 20 28 20 70 6f 73 5f 73 74 61 74 65 32 20 2b 20 31 20 29 20 26 20 70 6f 73 tate2.=.(.pos_state2.+.1.).&.pos
4f080 5f 73 74 61 74 65 5f 6d 61 73 6b 3b 0a 20 20 20 20 20 20 73 74 61 74 65 32 2e 73 65 74 5f 63 68 _state_mask;.......state2.set_ch
4f0a0 61 72 28 29 3b 0a 20 20 20 20 20 20 70 72 69 63 65 20 2b 3d 20 70 72 69 63 65 31 28 20 62 6d 5f ar();.......price.+=.price1(.bm_
4f0c0 6d 61 74 63 68 5b 73 74 61 74 65 32 28 29 5d 5b 70 6f 73 5f 73 74 61 74 65 32 5d 20 29 20 2b 0a match[state2()][pos_state2].).+.
4f0e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 70 72 69 63 65 31 28 20 62 6d 5f 72 65 70 5b 73 74 ...............price1(.bm_rep[st
4f100 61 74 65 32 28 29 5d 20 29 20 2b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 70 72 69 63 65 ate2()].).+................price
4f120 5f 72 65 70 30 5f 6c 65 6e 28 20 6c 65 6e 32 2c 20 73 74 61 74 65 32 2c 20 70 6f 73 5f 73 74 61 _rep0_len(.len2,.state2,.pos_sta
4f140 74 65 32 20 29 3b 0a 20 20 20 20 20 20 77 68 69 6c 65 28 20 6e 75 6d 5f 74 72 69 61 6c 73 20 3c te2.);.......while(.num_trials.<
4f160 20 63 75 72 20 2b 20 6c 65 6e 20 2b 20 31 20 2b 20 6c 65 6e 32 20 29 0a 20 20 20 20 20 20 20 20 .cur.+.len.+.1.+.len2.).........
4f180 74 72 69 61 6c 73 5b 2b 2b 6e 75 6d 5f 74 72 69 61 6c 73 5d 2e 70 72 69 63 65 20 3d 20 69 6e 66 trials[++num_trials].price.=.inf
4f1a0 69 6e 69 74 65 5f 70 72 69 63 65 3b 0a 20 20 20 20 20 20 74 72 69 61 6c 73 5b 63 75 72 2b 6c 65 inite_price;.......trials[cur+le
4f1c0 6e 2b 31 2b 6c 65 6e 32 5d 2e 75 70 64 61 74 65 33 28 20 70 72 69 63 65 2c 20 72 65 70 2c 20 63 n+1+len2].update3(.price,.rep,.c
4f1e0 75 72 20 2b 20 6c 65 6e 20 2b 20 31 2c 20 63 75 72 20 29 3b 0a 20 20 20 20 20 20 7d 0a 0a 20 20 ur.+.len.+.1,.cur.);.......}....
4f200 20 20 2f 2f 20 74 72 79 20 6d 61 74 63 68 65 73 0a 20 20 20 20 69 66 28 20 6e 65 77 6c 65 6e 20 ..//.try.matches.....if(.newlen.
4f220 3e 3d 20 73 74 61 72 74 5f 6c 65 6e 20 26 26 20 6e 65 77 6c 65 6e 20 3c 3d 20 6c 65 6e 5f 6c 69 >=.start_len.&&.newlen.<=.len_li
4f240 6d 69 74 20 29 0a 20 20 20 20 20 20 7b 0a 20 20 20 20 20 20 63 6f 6e 73 74 20 69 6e 74 20 6e 6f mit.).......{.......const.int.no
4f260 72 6d 61 6c 5f 6d 61 74 63 68 5f 70 72 69 63 65 20 3d 20 6d 61 74 63 68 5f 70 72 69 63 65 20 2b rmal_match_price.=.match_price.+
4f280 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
4f2a0 20 20 20 20 20 20 70 72 69 63 65 30 28 20 62 6d 5f 72 65 70 5b 63 75 72 5f 73 74 61 74 65 28 29 ......price0(.bm_rep[cur_state()
4f2c0 5d 20 29 3b 0a 0a 20 20 20 20 20 20 77 68 69 6c 65 28 20 6e 75 6d 5f 74 72 69 61 6c 73 20 3c 20 ].);........while(.num_trials.<.
4f2e0 63 75 72 20 2b 20 6e 65 77 6c 65 6e 20 29 0a 20 20 20 20 20 20 20 20 74 72 69 61 6c 73 5b 2b 2b cur.+.newlen.).........trials[++
4f300 6e 75 6d 5f 74 72 69 61 6c 73 5d 2e 70 72 69 63 65 20 3d 20 69 6e 66 69 6e 69 74 65 5f 70 72 69 num_trials].price.=.infinite_pri
4f320 63 65 3b 0a 0a 20 20 20 20 20 20 69 6e 74 20 69 20 3d 20 30 3b 0a 20 20 20 20 20 20 77 68 69 6c ce;........int.i.=.0;.......whil
4f340 65 28 20 70 61 69 72 73 5b 69 5d 2e 6c 65 6e 20 3c 20 73 74 61 72 74 5f 6c 65 6e 20 29 20 2b 2b e(.pairs[i].len.<.start_len.).++
4f360 69 3b 0a 20 20 20 20 20 20 69 6e 74 20 64 69 73 20 3d 20 70 61 69 72 73 5b 69 5d 2e 64 69 73 3b i;.......int.dis.=.pairs[i].dis;
4f380 0a 20 20 20 20 20 20 66 6f 72 28 20 69 6e 74 20 6c 65 6e 20 3d 20 73 74 61 72 74 5f 6c 65 6e 3b .......for(.int.len.=.start_len;
4f3a0 20 3b 20 2b 2b 6c 65 6e 20 29 0a 20 20 20 20 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 69 6e 74 .;.++len.).........{.........int
4f3c0 20 70 72 69 63 65 20 3d 20 6e 6f 72 6d 61 6c 5f 6d 61 74 63 68 5f 70 72 69 63 65 20 2b 20 70 72 .price.=.normal_match_price.+.pr
4f3e0 69 63 65 5f 70 61 69 72 28 20 64 69 73 2c 20 6c 65 6e 2c 20 70 6f 73 5f 73 74 61 74 65 20 29 3b ice_pair(.dis,.len,.pos_state.);
4f400 0a 20 20 20 20 20 20 20 20 74 72 69 61 6c 73 5b 63 75 72 2b 6c 65 6e 5d 2e 75 70 64 61 74 65 28 .........trials[cur+len].update(
4f420 20 70 72 69 63 65 2c 20 64 69 73 20 2b 20 6e 75 6d 5f 72 65 70 5f 64 69 73 74 61 6e 63 65 73 2c .price,.dis.+.num_rep_distances,
4f440 20 63 75 72 20 29 3b 0a 0a 20 20 20 20 20 20 20 20 2f 2f 20 74 72 79 20 6d 61 74 63 68 20 2b 20 .cur.);..........//.try.match.+.
4f460 6c 69 74 65 72 61 6c 20 2b 20 72 65 70 30 0a 20 20 20 20 20 20 20 20 69 66 28 20 6c 65 6e 20 3d literal.+.rep0.........if(.len.=
4f480 3d 20 70 61 69 72 73 5b 69 5d 2e 6c 65 6e 20 29 0a 20 20 20 20 20 20 20 20 20 20 7b 0a 20 20 20 =.pairs[i].len.)...........{....
4f4a0 20 20 20 20 20 20 20 63 6f 6e 73 74 20 75 69 6e 74 38 5f 74 20 2a 20 63 6f 6e 73 74 20 64 61 74 .......const.uint8_t.*.const.dat
4f4c0 61 20 3d 20 70 74 72 5f 74 6f 5f 63 75 72 72 65 6e 74 5f 70 6f 73 28 29 3b 0a 20 20 20 20 20 20 a.=.ptr_to_current_pos();.......
4f4e0 20 20 20 20 63 6f 6e 73 74 20 69 6e 74 20 64 69 73 32 20 3d 20 64 69 73 20 2b 20 31 3b 0a 20 20 ....const.int.dis2.=.dis.+.1;...
4f500 20 20 20 20 20 20 20 20 69 6e 74 20 6c 65 6e 32 20 3d 20 6c 65 6e 20 2b 20 31 3b 0a 20 20 20 20 ........int.len2.=.len.+.1;.....
4f520 20 20 20 20 20 20 63 6f 6e 73 74 20 69 6e 74 20 6c 69 6d 69 74 20 3d 20 73 74 64 3a 3a 6d 69 6e ......const.int.limit.=.std::min
4f540 28 20 6d 61 74 63 68 5f 6c 65 6e 5f 6c 69 6d 69 74 20 2b 20 6c 65 6e 32 2c 20 74 72 69 61 62 6c (.match_len_limit.+.len2,.triabl
4f560 65 5f 62 79 74 65 73 20 29 3b 0a 20 20 20 20 20 20 20 20 20 20 77 68 69 6c 65 28 20 6c 65 6e 32 e_bytes.);...........while(.len2
4f580 20 3c 20 6c 69 6d 69 74 20 26 26 20 64 61 74 61 5b 6c 65 6e 32 2d 64 69 73 32 5d 20 3d 3d 20 64 .<.limit.&&.data[len2-dis2].==.d
4f5a0 61 74 61 5b 6c 65 6e 32 5d 20 29 20 2b 2b 6c 65 6e 32 3b 0a 20 20 20 20 20 20 20 20 20 20 6c 65 ata[len2].).++len2;...........le
4f5c0 6e 32 20 2d 3d 20 6c 65 6e 20 2b 20 31 3b 0a 20 20 20 20 20 20 20 20 20 20 69 66 28 20 6c 65 6e n2.-=.len.+.1;...........if(.len
4f5e0 32 20 3e 3d 20 6d 69 6e 5f 6d 61 74 63 68 5f 6c 65 6e 20 29 0a 20 20 20 20 20 20 20 20 20 20 20 2.>=.min_match_len.)............
4f600 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 69 6e 74 20 70 6f 73 5f 73 74 61 74 65 32 20 3d 20 .{.............int.pos_state2.=.
4f620 28 20 70 6f 73 5f 73 74 61 74 65 20 2b 20 6c 65 6e 20 29 20 26 20 70 6f 73 5f 73 74 61 74 65 5f (.pos_state.+.len.).&.pos_state_
4f640 6d 61 73 6b 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 53 74 61 74 65 20 73 74 61 74 65 32 20 3d mask;.............State.state2.=
4f660 20 63 75 72 5f 73 74 61 74 65 3b 20 73 74 61 74 65 32 2e 73 65 74 5f 6d 61 74 63 68 28 29 3b 0a .cur_state;.state2.set_match();.
4f680 20 20 20 20 20 20 20 20 20 20 20 20 70 72 69 63 65 20 2b 3d 20 70 72 69 63 65 30 28 20 62 6d 5f ............price.+=.price0(.bm_
4f6a0 6d 61 74 63 68 5b 73 74 61 74 65 32 28 29 5d 5b 70 6f 73 5f 73 74 61 74 65 32 5d 20 29 20 2b 0a match[state2()][pos_state2].).+.
4f6c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 70 72 69 63 65 5f 6d 61 74 63 68 .....................price_match
4f6e0 65 64 28 20 64 61 74 61 5b 6c 65 6e 2d 31 5d 2c 20 64 61 74 61 5b 6c 65 6e 5d 2c 20 64 61 74 61 ed(.data[len-1],.data[len],.data
4f700 5b 6c 65 6e 2d 64 69 73 32 5d 20 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 70 6f 73 5f 73 74 [len-dis2].);.............pos_st
4f720 61 74 65 32 20 3d 20 28 20 70 6f 73 5f 73 74 61 74 65 32 20 2b 20 31 20 29 20 26 20 70 6f 73 5f ate2.=.(.pos_state2.+.1.).&.pos_
4f740 73 74 61 74 65 5f 6d 61 73 6b 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 73 74 61 74 65 32 2e 73 state_mask;.............state2.s
4f760 65 74 5f 63 68 61 72 28 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 70 72 69 63 65 20 2b 3d 20 et_char();.............price.+=.
4f780 70 72 69 63 65 31 28 20 62 6d 5f 6d 61 74 63 68 5b 73 74 61 74 65 32 28 29 5d 5b 70 6f 73 5f 73 price1(.bm_match[state2()][pos_s
4f7a0 74 61 74 65 32 5d 20 29 20 2b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 tate2].).+......................
4f7c0 70 72 69 63 65 31 28 20 62 6d 5f 72 65 70 5b 73 74 61 74 65 32 28 29 5d 20 29 20 2b 0a 20 20 20 price1(.bm_rep[state2()].).+....
4f7e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 70 72 69 63 65 5f 72 65 70 30 5f 6c 65 6e ..................price_rep0_len
4f800 28 20 6c 65 6e 32 2c 20 73 74 61 74 65 32 2c 20 70 6f 73 5f 73 74 61 74 65 32 20 29 3b 0a 0a 20 (.len2,.state2,.pos_state2.);...
4f820 20 20 20 20 20 20 20 20 20 20 20 77 68 69 6c 65 28 20 6e 75 6d 5f 74 72 69 61 6c 73 20 3c 20 63 ...........while(.num_trials.<.c
4f840 75 72 20 2b 20 6c 65 6e 20 2b 20 31 20 2b 20 6c 65 6e 32 20 29 0a 20 20 20 20 20 20 20 20 20 20 ur.+.len.+.1.+.len2.)...........
4f860 20 20 20 20 74 72 69 61 6c 73 5b 2b 2b 6e 75 6d 5f 74 72 69 61 6c 73 5d 2e 70 72 69 63 65 20 3d ....trials[++num_trials].price.=
4f880 20 69 6e 66 69 6e 69 74 65 5f 70 72 69 63 65 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 74 72 69 .infinite_price;.............tri
4f8a0 61 6c 73 5b 63 75 72 2b 6c 65 6e 2b 31 2b 6c 65 6e 32 5d 2e 75 70 64 61 74 65 33 28 20 70 72 69 als[cur+len+1+len2].update3(.pri
4f8c0 63 65 2c 20 64 69 73 20 2b 20 6e 75 6d 5f 72 65 70 5f 64 69 73 74 61 6e 63 65 73 2c 0a 20 20 20 ce,.dis.+.num_rep_distances,....
4f8e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
4f900 20 20 20 20 20 20 20 20 20 63 75 72 20 2b 20 6c 65 6e 20 2b 20 31 2c 20 63 75 72 20 29 3b 0a 20 .........cur.+.len.+.1,.cur.);..
4f920 20 20 20 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 20 20 69 66 28 20 2b 2b 69 20 3e ...........}...........if(.++i.>
4f940 3d 20 6e 75 6d 5f 70 61 69 72 73 20 29 20 62 72 65 61 6b 3b 0a 20 20 20 20 20 20 20 20 20 20 64 =.num_pairs.).break;...........d
4f960 69 73 20 3d 20 70 61 69 72 73 5b 69 5d 2e 64 69 73 3b 0a 20 20 20 20 20 20 20 20 20 20 7d 0a 20 is.=.pairs[i].dis;...........}..
4f980 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 7d 0a 20 20 20 20 7d 0a 20 20 7d 0a 0a 0a 62 6f 6f .......}.......}.....}...}...boo
4f9a0 6c 20 4c 5a 5f 65 6e 63 6f 64 65 72 3a 3a 65 6e 63 6f 64 65 5f 6d 65 6d 62 65 72 28 20 63 6f 6e l.LZ_encoder::encode_member(.con
4f9c0 73 74 20 75 6e 73 69 67 6e 65 64 20 6c 6f 6e 67 20 6c 6f 6e 67 20 6d 65 6d 62 65 72 5f 73 69 7a st.unsigned.long.long.member_siz
4f9e0 65 20 29 0a 20 20 7b 0a 20 20 63 6f 6e 73 74 20 75 6e 73 69 67 6e 65 64 20 6c 6f 6e 67 20 6c 6f e.)...{...const.unsigned.long.lo
4fa00 6e 67 20 6d 65 6d 62 65 72 5f 73 69 7a 65 5f 6c 69 6d 69 74 20 3d 0a 20 20 20 20 6d 65 6d 62 65 ng.member_size_limit.=.....membe
4fa20 72 5f 73 69 7a 65 20 2d 20 4c 7a 69 70 5f 74 72 61 69 6c 65 72 3a 3a 73 69 7a 65 20 2d 20 6d 61 r_size.-.Lzip_trailer::size.-.ma
4fa40 78 5f 6d 61 72 6b 65 72 5f 73 69 7a 65 3b 0a 20 20 63 6f 6e 73 74 20 62 6f 6f 6c 20 62 65 73 74 x_marker_size;...const.bool.best
4fa60 20 3d 20 28 20 6d 61 74 63 68 5f 6c 65 6e 5f 6c 69 6d 69 74 20 3e 20 31 32 20 29 3b 0a 20 20 63 .=.(.match_len_limit.>.12.);...c
4fa80 6f 6e 73 74 20 69 6e 74 20 64 69 73 5f 70 72 69 63 65 5f 63 6f 75 6e 74 20 3d 20 62 65 73 74 20 onst.int.dis_price_count.=.best.
4faa0 3f 20 31 20 3a 20 35 31 32 3b 0a 20 20 63 6f 6e 73 74 20 69 6e 74 20 61 6c 69 67 6e 5f 70 72 69 ?.1.:.512;...const.int.align_pri
4fac0 63 65 5f 63 6f 75 6e 74 20 3d 20 62 65 73 74 20 3f 20 31 20 3a 20 64 69 73 5f 61 6c 69 67 6e 5f ce_count.=.best.?.1.:.dis_align_
4fae0 73 69 7a 65 3b 0a 20 20 63 6f 6e 73 74 20 69 6e 74 20 70 72 69 63 65 5f 63 6f 75 6e 74 20 3d 20 size;...const.int.price_count.=.
4fb00 28 20 6d 61 74 63 68 5f 6c 65 6e 5f 6c 69 6d 69 74 20 3e 20 33 36 20 29 20 3f 20 31 30 31 33 20 (.match_len_limit.>.36.).?.1013.
4fb20 3a 20 34 30 39 33 3b 0a 20 20 69 6e 74 20 70 72 69 63 65 5f 63 6f 75 6e 74 65 72 20 3d 20 30 3b :.4093;...int.price_counter.=.0;
4fb40 09 09 2f 2f 20 63 6f 75 6e 74 65 72 73 20 6d 61 79 20 64 65 63 72 65 6d 65 6e 74 20 62 65 6c 6f ..//.counters.may.decrement.belo
4fb60 77 20 30 0a 20 20 69 6e 74 20 64 69 73 5f 70 72 69 63 65 5f 63 6f 75 6e 74 65 72 20 3d 20 30 3b w.0...int.dis_price_counter.=.0;
4fb80 0a 20 20 69 6e 74 20 61 6c 69 67 6e 5f 70 72 69 63 65 5f 63 6f 75 6e 74 65 72 20 3d 20 30 3b 0a ...int.align_price_counter.=.0;.
4fba0 20 20 69 6e 74 20 72 65 70 73 5b 6e 75 6d 5f 72 65 70 5f 64 69 73 74 61 6e 63 65 73 5d 3b 0a 20 ..int.reps[num_rep_distances];..
4fbc0 20 53 74 61 74 65 20 73 74 61 74 65 3b 0a 20 20 66 6f 72 28 20 69 6e 74 20 69 20 3d 20 30 3b 20 .State.state;...for(.int.i.=.0;.
4fbe0 69 20 3c 20 6e 75 6d 5f 72 65 70 5f 64 69 73 74 61 6e 63 65 73 3b 20 2b 2b 69 20 29 20 72 65 70 i.<.num_rep_distances;.++i.).rep
4fc00 73 5b 69 5d 20 3d 20 30 3b 0a 0a 20 20 69 66 28 20 64 61 74 61 5f 70 6f 73 69 74 69 6f 6e 28 29 s[i].=.0;....if(.data_position()
4fc20 20 21 3d 20 30 20 7c 7c 20 72 65 6e 63 2e 6d 65 6d 62 65 72 5f 70 6f 73 69 74 69 6f 6e 28 29 20 .!=.0.||.renc.member_position().
4fc40 21 3d 20 4c 7a 69 70 5f 68 65 61 64 65 72 3a 3a 73 69 7a 65 20 29 0a 20 20 20 20 72 65 74 75 72 !=.Lzip_header::size.).....retur
4fc60 6e 20 66 61 6c 73 65 3b 09 09 09 09 2f 2f 20 63 61 6e 20 62 65 20 63 61 6c 6c 65 64 20 6f 6e 6c n.false;....//.can.be.called.onl
4fc80 79 20 6f 6e 63 65 0a 0a 20 20 69 66 28 20 21 64 61 74 61 5f 66 69 6e 69 73 68 65 64 28 29 20 29 y.once....if(.!data_finished().)
4fca0 09 09 09 2f 2f 20 65 6e 63 6f 64 65 20 66 69 72 73 74 20 62 79 74 65 0a 20 20 20 20 7b 0a 20 20 ...//.encode.first.byte.....{...
4fcc0 20 20 63 6f 6e 73 74 20 75 69 6e 74 38 5f 74 20 70 72 65 76 5f 62 79 74 65 20 3d 20 30 3b 0a 20 ..const.uint8_t.prev_byte.=.0;..
4fce0 20 20 20 63 6f 6e 73 74 20 75 69 6e 74 38 5f 74 20 63 75 72 5f 62 79 74 65 20 3d 20 70 65 65 6b ...const.uint8_t.cur_byte.=.peek
4fd00 28 20 30 20 29 3b 0a 20 20 20 20 72 65 6e 63 2e 65 6e 63 6f 64 65 5f 62 69 74 28 20 62 6d 5f 6d (.0.);.....renc.encode_bit(.bm_m
4fd20 61 74 63 68 5b 73 74 61 74 65 28 29 5d 5b 30 5d 2c 20 30 20 29 3b 0a 20 20 20 20 65 6e 63 6f 64 atch[state()][0],.0.);.....encod
4fd40 65 5f 6c 69 74 65 72 61 6c 28 20 70 72 65 76 5f 62 79 74 65 2c 20 63 75 72 5f 62 79 74 65 20 29 e_literal(.prev_byte,.cur_byte.)
4fd60 3b 0a 20 20 20 20 63 72 63 33 32 2e 75 70 64 61 74 65 5f 62 79 74 65 28 20 63 72 63 5f 2c 20 63 ;.....crc32.update_byte(.crc_,.c
4fd80 75 72 5f 62 79 74 65 20 29 3b 0a 20 20 20 20 67 65 74 5f 6d 61 74 63 68 5f 70 61 69 72 73 28 29 ur_byte.);.....get_match_pairs()
4fda0 3b 0a 20 20 20 20 6d 6f 76 65 5f 70 6f 73 28 29 3b 0a 20 20 20 20 7d 0a 0a 20 20 77 68 69 6c 65 ;.....move_pos();.....}....while
4fdc0 28 20 21 64 61 74 61 5f 66 69 6e 69 73 68 65 64 28 29 20 29 0a 20 20 20 20 7b 0a 20 20 20 20 69 (.!data_finished().).....{.....i
4fde0 66 28 20 70 72 69 63 65 5f 63 6f 75 6e 74 65 72 20 3c 3d 20 30 20 26 26 20 70 65 6e 64 69 6e 67 f(.price_counter.<=.0.&&.pending
4fe00 5f 6e 75 6d 5f 70 61 69 72 73 20 3d 3d 20 30 20 29 0a 20 20 20 20 20 20 7b 0a 20 20 20 20 20 20 _num_pairs.==.0.).......{.......
4fe20 70 72 69 63 65 5f 63 6f 75 6e 74 65 72 20 3d 20 70 72 69 63 65 5f 63 6f 75 6e 74 3b 09 2f 2f 20 price_counter.=.price_count;.//.
4fe40 72 65 63 61 6c 63 75 6c 61 74 65 20 70 72 69 63 65 73 20 65 76 65 72 79 20 74 68 65 73 65 20 62 recalculate.prices.every.these.b
4fe60 79 74 65 73 0a 20 20 20 20 20 20 69 66 28 20 64 69 73 5f 70 72 69 63 65 5f 63 6f 75 6e 74 65 72 ytes.......if(.dis_price_counter
4fe80 20 3c 3d 20 30 20 29 0a 20 20 20 20 20 20 20 20 7b 20 64 69 73 5f 70 72 69 63 65 5f 63 6f 75 6e .<=.0.).........{.dis_price_coun
4fea0 74 65 72 20 3d 20 64 69 73 5f 70 72 69 63 65 5f 63 6f 75 6e 74 3b 20 75 70 64 61 74 65 5f 64 69 ter.=.dis_price_count;.update_di
4fec0 73 74 61 6e 63 65 5f 70 72 69 63 65 73 28 29 3b 20 7d 0a 20 20 20 20 20 20 69 66 28 20 61 6c 69 stance_prices();.}.......if(.ali
4fee0 67 6e 5f 70 72 69 63 65 5f 63 6f 75 6e 74 65 72 20 3c 3d 20 30 20 29 0a 20 20 20 20 20 20 20 20 gn_price_counter.<=.0.).........
4ff00 7b 0a 20 20 20 20 20 20 20 20 61 6c 69 67 6e 5f 70 72 69 63 65 5f 63 6f 75 6e 74 65 72 20 3d 20 {.........align_price_counter.=.
4ff20 61 6c 69 67 6e 5f 70 72 69 63 65 5f 63 6f 75 6e 74 3b 0a 20 20 20 20 20 20 20 20 66 6f 72 28 20 align_price_count;.........for(.
4ff40 69 6e 74 20 69 20 3d 20 30 3b 20 69 20 3c 20 64 69 73 5f 61 6c 69 67 6e 5f 73 69 7a 65 3b 20 2b int.i.=.0;.i.<.dis_align_size;.+
4ff60 2b 69 20 29 0a 20 20 20 20 20 20 20 20 20 20 61 6c 69 67 6e 5f 70 72 69 63 65 73 5b 69 5d 20 3d +i.)...........align_prices[i].=
4ff80 20 70 72 69 63 65 5f 73 79 6d 62 6f 6c 5f 72 65 76 65 72 73 65 64 28 20 62 6d 5f 61 6c 69 67 6e .price_symbol_reversed(.bm_align
4ffa0 2c 20 69 2c 20 64 69 73 5f 61 6c 69 67 6e 5f 62 69 74 73 20 29 3b 0a 20 20 20 20 20 20 20 20 7d ,.i,.dis_align_bits.);.........}
4ffc0 0a 20 20 20 20 20 20 6d 61 74 63 68 5f 6c 65 6e 5f 70 72 69 63 65 73 2e 75 70 64 61 74 65 5f 70 .......match_len_prices.update_p
4ffe0 72 69 63 65 73 28 29 3b 0a 20 20 20 20 20 20 72 65 70 5f 6c 65 6e 5f 70 72 69 63 65 73 2e 75 70 rices();.......rep_len_prices.up
50000 64 61 74 65 5f 70 72 69 63 65 73 28 29 3b 0a 20 20 20 20 20 20 7d 0a 0a 20 20 20 20 69 6e 74 20 date_prices();.......}......int.
50020 61 68 65 61 64 20 3d 20 73 65 71 75 65 6e 63 65 5f 6f 70 74 69 6d 69 7a 65 72 28 20 72 65 70 73 ahead.=.sequence_optimizer(.reps
50040 2c 20 73 74 61 74 65 20 29 3b 0a 20 20 20 20 70 72 69 63 65 5f 63 6f 75 6e 74 65 72 20 2d 3d 20 ,.state.);.....price_counter.-=.
50060 61 68 65 61 64 3b 0a 0a 20 20 20 20 66 6f 72 28 20 69 6e 74 20 69 20 3d 20 30 3b 20 61 68 65 61 ahead;......for(.int.i.=.0;.ahea
50080 64 20 3e 20 30 3b 20 29 0a 20 20 20 20 20 20 7b 0a 20 20 20 20 20 20 63 6f 6e 73 74 20 69 6e 74 d.>.0;.).......{.......const.int
500a0 20 70 6f 73 5f 73 74 61 74 65 20 3d 20 28 20 64 61 74 61 5f 70 6f 73 69 74 69 6f 6e 28 29 20 2d .pos_state.=.(.data_position().-
500c0 20 61 68 65 61 64 20 29 20 26 20 70 6f 73 5f 73 74 61 74 65 5f 6d 61 73 6b 3b 0a 20 20 20 20 20 .ahead.).&.pos_state_mask;......
500e0 20 63 6f 6e 73 74 20 69 6e 74 20 6c 65 6e 20 3d 20 74 72 69 61 6c 73 5b 69 5d 2e 70 72 69 63 65 .const.int.len.=.trials[i].price
50100 3b 0a 20 20 20 20 20 20 69 6e 74 20 64 69 73 20 3d 20 74 72 69 61 6c 73 5b 69 5d 2e 64 69 73 34 ;.......int.dis.=.trials[i].dis4
50120 3b 0a 0a 20 20 20 20 20 20 62 6f 6f 6c 20 62 69 74 20 3d 20 28 20 64 69 73 20 3c 20 30 20 29 3b ;........bool.bit.=.(.dis.<.0.);
50140 0a 20 20 20 20 20 20 72 65 6e 63 2e 65 6e 63 6f 64 65 5f 62 69 74 28 20 62 6d 5f 6d 61 74 63 68 .......renc.encode_bit(.bm_match
50160 5b 73 74 61 74 65 28 29 5d 5b 70 6f 73 5f 73 74 61 74 65 5d 2c 20 21 62 69 74 20 29 3b 0a 20 20 [state()][pos_state],.!bit.);...
50180 20 20 20 20 69 66 28 20 62 69 74 20 29 09 09 09 09 09 2f 2f 20 6c 69 74 65 72 61 6c 20 62 79 74 ....if(.bit.).....//.literal.byt
501a0 65 0a 20 20 20 20 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 63 6f 6e 73 74 20 75 69 6e 74 38 5f e.........{.........const.uint8_
501c0 74 20 70 72 65 76 5f 62 79 74 65 20 3d 20 70 65 65 6b 28 20 61 68 65 61 64 20 2b 20 31 20 29 3b t.prev_byte.=.peek(.ahead.+.1.);
501e0 0a 20 20 20 20 20 20 20 20 63 6f 6e 73 74 20 75 69 6e 74 38 5f 74 20 63 75 72 5f 62 79 74 65 20 .........const.uint8_t.cur_byte.
50200 3d 20 70 65 65 6b 28 20 61 68 65 61 64 20 29 3b 0a 20 20 20 20 20 20 20 20 63 72 63 33 32 2e 75 =.peek(.ahead.);.........crc32.u
50220 70 64 61 74 65 5f 62 79 74 65 28 20 63 72 63 5f 2c 20 63 75 72 5f 62 79 74 65 20 29 3b 0a 20 20 pdate_byte(.crc_,.cur_byte.);...
50240 20 20 20 20 20 20 69 66 28 20 73 74 61 74 65 2e 69 73 5f 63 68 61 72 5f 73 65 74 5f 63 68 61 72 ......if(.state.is_char_set_char
50260 28 29 20 29 0a 20 20 20 20 20 20 20 20 20 20 65 6e 63 6f 64 65 5f 6c 69 74 65 72 61 6c 28 20 70 ().)...........encode_literal(.p
50280 72 65 76 5f 62 79 74 65 2c 20 63 75 72 5f 62 79 74 65 20 29 3b 0a 20 20 20 20 20 20 20 20 65 6c rev_byte,.cur_byte.);.........el
502a0 73 65 0a 20 20 20 20 20 20 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 20 20 63 6f 6e 73 74 20 75 se...........{...........const.u
502c0 69 6e 74 38 5f 74 20 6d 61 74 63 68 5f 62 79 74 65 20 3d 20 70 65 65 6b 28 20 61 68 65 61 64 20 int8_t.match_byte.=.peek(.ahead.
502e0 2b 20 72 65 70 73 5b 30 5d 20 2b 20 31 20 29 3b 0a 20 20 20 20 20 20 20 20 20 20 65 6e 63 6f 64 +.reps[0].+.1.);...........encod
50300 65 5f 6d 61 74 63 68 65 64 28 20 70 72 65 76 5f 62 79 74 65 2c 20 63 75 72 5f 62 79 74 65 2c 20 e_matched(.prev_byte,.cur_byte,.
50320 6d 61 74 63 68 5f 62 79 74 65 20 29 3b 0a 20 20 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 match_byte.);...........}.......
50340 20 20 7d 0a 20 20 20 20 20 20 65 6c 73 65 09 09 09 09 09 2f 2f 20 6d 61 74 63 68 20 6f 72 20 72 ..}.......else.....//.match.or.r
50360 65 70 65 61 74 65 64 20 6d 61 74 63 68 0a 20 20 20 20 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 epeated.match.........{.........
50380 63 72 63 33 32 2e 75 70 64 61 74 65 5f 62 75 66 28 20 63 72 63 5f 2c 20 70 74 72 5f 74 6f 5f 63 crc32.update_buf(.crc_,.ptr_to_c
503a0 75 72 72 65 6e 74 5f 70 6f 73 28 29 20 2d 20 61 68 65 61 64 2c 20 6c 65 6e 20 29 3b 0a 20 20 20 urrent_pos().-.ahead,.len.);....
503c0 20 20 20 20 20 6d 74 66 5f 72 65 70 73 28 20 64 69 73 2c 20 72 65 70 73 20 29 3b 0a 20 20 20 20 .....mtf_reps(.dis,.reps.);.....
503e0 20 20 20 20 62 69 74 20 3d 20 28 20 64 69 73 20 3c 20 6e 75 6d 5f 72 65 70 5f 64 69 73 74 61 6e ....bit.=.(.dis.<.num_rep_distan
50400 63 65 73 20 29 3b 0a 20 20 20 20 20 20 20 20 72 65 6e 63 2e 65 6e 63 6f 64 65 5f 62 69 74 28 20 ces.);.........renc.encode_bit(.
50420 62 6d 5f 72 65 70 5b 73 74 61 74 65 28 29 5d 2c 20 62 69 74 20 29 3b 0a 20 20 20 20 20 20 20 20 bm_rep[state()],.bit.);.........
50440 69 66 28 20 62 69 74 20 29 09 09 09 09 2f 2f 20 72 65 70 65 61 74 65 64 20 6d 61 74 63 68 0a 20 if(.bit.)....//.repeated.match..
50460 20 20 20 20 20 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 20 20 62 69 74 20 3d 20 28 20 64 69 73 .........{...........bit.=.(.dis
50480 20 3d 3d 20 30 20 29 3b 0a 20 20 20 20 20 20 20 20 20 20 72 65 6e 63 2e 65 6e 63 6f 64 65 5f 62 .==.0.);...........renc.encode_b
504a0 69 74 28 20 62 6d 5f 72 65 70 30 5b 73 74 61 74 65 28 29 5d 2c 20 21 62 69 74 20 29 3b 0a 20 20 it(.bm_rep0[state()],.!bit.);...
504c0 20 20 20 20 20 20 20 20 69 66 28 20 62 69 74 20 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 72 65 ........if(.bit.).............re
504e0 6e 63 2e 65 6e 63 6f 64 65 5f 62 69 74 28 20 62 6d 5f 6c 65 6e 5b 73 74 61 74 65 28 29 5d 5b 70 nc.encode_bit(.bm_len[state()][p
50500 6f 73 5f 73 74 61 74 65 5d 2c 20 6c 65 6e 20 3e 20 31 20 29 3b 0a 20 20 20 20 20 20 20 20 20 20 os_state],.len.>.1.);...........
50520 65 6c 73 65 0a 20 20 20 20 20 20 20 20 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 72 else.............{.............r
50540 65 6e 63 2e 65 6e 63 6f 64 65 5f 62 69 74 28 20 62 6d 5f 72 65 70 31 5b 73 74 61 74 65 28 29 5d enc.encode_bit(.bm_rep1[state()]
50560 2c 20 64 69 73 20 3e 20 31 20 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 69 66 28 20 64 69 73 ,.dis.>.1.);.............if(.dis
50580 20 3e 20 31 20 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 72 65 6e 63 2e 65 6e 63 6f 64 65 .>.1.)...............renc.encode
505a0 5f 62 69 74 28 20 62 6d 5f 72 65 70 32 5b 73 74 61 74 65 28 29 5d 2c 20 64 69 73 20 3e 20 32 20 _bit(.bm_rep2[state()],.dis.>.2.
505c0 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 20 20 69 66 28 20 6c );.............}...........if(.l
505e0 65 6e 20 3d 3d 20 31 20 29 20 73 74 61 74 65 2e 73 65 74 5f 73 68 6f 72 74 5f 72 65 70 28 29 3b en.==.1.).state.set_short_rep();
50600 0a 20 20 20 20 20 20 20 20 20 20 65 6c 73 65 0a 20 20 20 20 20 20 20 20 20 20 20 20 7b 0a 20 20 ...........else.............{...
50620 20 20 20 20 20 20 20 20 20 20 72 65 6e 63 2e 65 6e 63 6f 64 65 5f 6c 65 6e 28 20 72 65 70 5f 6c ..........renc.encode_len(.rep_l
50640 65 6e 5f 6d 6f 64 65 6c 2c 20 6c 65 6e 2c 20 70 6f 73 5f 73 74 61 74 65 20 29 3b 0a 20 20 20 20 en_model,.len,.pos_state.);.....
50660 20 20 20 20 20 20 20 20 72 65 70 5f 6c 65 6e 5f 70 72 69 63 65 73 2e 64 65 63 72 65 6d 65 6e 74 ........rep_len_prices.decrement
50680 5f 63 6f 75 6e 74 65 72 28 20 70 6f 73 5f 73 74 61 74 65 20 29 3b 0a 20 20 20 20 20 20 20 20 20 _counter(.pos_state.);..........
506a0 20 20 20 73 74 61 74 65 2e 73 65 74 5f 72 65 70 28 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 ...state.set_rep();.............
506c0 7d 0a 20 20 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 65 6c 73 65 09 09 09 09 09 2f }...........}.........else...../
506e0 2f 20 6d 61 74 63 68 0a 20 20 20 20 20 20 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 20 20 64 69 /.match...........{...........di
50700 73 20 2d 3d 20 6e 75 6d 5f 72 65 70 5f 64 69 73 74 61 6e 63 65 73 3b 0a 20 20 20 20 20 20 20 20 s.-=.num_rep_distances;.........
50720 20 20 65 6e 63 6f 64 65 5f 70 61 69 72 28 20 64 69 73 2c 20 6c 65 6e 2c 20 70 6f 73 5f 73 74 61 ..encode_pair(.dis,.len,.pos_sta
50740 74 65 20 29 3b 0a 20 20 20 20 20 20 20 20 20 20 69 66 28 20 64 69 73 20 3e 3d 20 6d 6f 64 65 6c te.);...........if(.dis.>=.model
50760 65 64 5f 64 69 73 74 61 6e 63 65 73 20 29 20 2d 2d 61 6c 69 67 6e 5f 70 72 69 63 65 5f 63 6f 75 ed_distances.).--align_price_cou
50780 6e 74 65 72 3b 0a 20 20 20 20 20 20 20 20 20 20 2d 2d 64 69 73 5f 70 72 69 63 65 5f 63 6f 75 6e nter;...........--dis_price_coun
507a0 74 65 72 3b 0a 20 20 20 20 20 20 20 20 20 20 6d 61 74 63 68 5f 6c 65 6e 5f 70 72 69 63 65 73 2e ter;...........match_len_prices.
507c0 64 65 63 72 65 6d 65 6e 74 5f 63 6f 75 6e 74 65 72 28 20 70 6f 73 5f 73 74 61 74 65 20 29 3b 0a decrement_counter(.pos_state.);.
507e0 20 20 20 20 20 20 20 20 20 20 73 74 61 74 65 2e 73 65 74 5f 6d 61 74 63 68 28 29 3b 0a 20 20 20 ..........state.set_match();....
50800 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 61 68 65 61 64 20 2d .......}.........}.......ahead.-
50820 3d 20 6c 65 6e 3b 20 69 20 2b 3d 20 6c 65 6e 3b 0a 20 20 20 20 20 20 69 66 28 20 72 65 6e 63 2e =.len;.i.+=.len;.......if(.renc.
50840 6d 65 6d 62 65 72 5f 70 6f 73 69 74 69 6f 6e 28 29 20 3e 3d 20 6d 65 6d 62 65 72 5f 73 69 7a 65 member_position().>=.member_size
50860 5f 6c 69 6d 69 74 20 29 0a 20 20 20 20 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 69 66 28 20 21 _limit.).........{.........if(.!
50880 64 65 63 5f 70 6f 73 28 20 61 68 65 61 64 20 29 20 29 20 72 65 74 75 72 6e 20 66 61 6c 73 65 3b dec_pos(.ahead.).).return.false;
508a0 0a 20 20 20 20 20 20 20 20 66 75 6c 6c 5f 66 6c 75 73 68 28 20 73 74 61 74 65 20 29 3b 0a 20 20 .........full_flush(.state.);...
508c0 20 20 20 20 20 20 72 65 74 75 72 6e 20 74 72 75 65 3b 0a 20 20 20 20 20 20 20 20 7d 0a 20 20 20 ......return.true;.........}....
508e0 20 20 20 7d 0a 20 20 20 20 7d 0a 20 20 66 75 6c 6c 5f 66 6c 75 73 68 28 20 73 74 61 74 65 20 29 ...}.....}...full_flush(.state.)
50900 3b 0a 20 20 72 65 74 75 72 6e 20 74 72 75 65 3b 0a 20 20 7d 0a 00 00 00 00 00 00 00 00 00 00 00 ;...return.true;...}............
50920 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
50940 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
50960 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
50980 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
509a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
509c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
509e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
50a00 6c 7a 69 70 2d 31 2e 32 32 2f 61 72 67 5f 70 61 72 73 65 72 2e 68 00 00 00 00 00 00 00 00 00 00 lzip-1.22/arg_parser.h..........
50a20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
50a40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
50a60 00 00 00 00 30 30 30 30 36 34 34 00 30 30 30 30 30 30 30 00 30 30 30 30 30 30 30 00 30 30 30 30 ....0000644.0000000.0000000.0000
50a80 30 30 30 36 37 37 34 00 31 33 37 37 33 34 37 37 30 33 32 00 30 31 34 37 34 33 00 20 30 00 00 00 0006774.13773477032.014743..0...
50aa0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
50ac0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
50ae0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
50b00 00 75 73 74 61 72 00 30 30 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .ustar.00root...................
50b20 00 00 00 00 00 00 00 00 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .........root...................
50b40 00 00 00 00 00 00 00 00 00 30 30 30 30 30 30 30 00 30 30 30 30 30 30 30 00 00 00 00 00 00 00 00 .........0000000.0000000........
50b60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
50b80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
50ba0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
50bc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
50be0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
50c00 2f 2a 20 41 72 67 5f 70 61 72 73 65 72 20 2d 20 50 4f 53 49 58 2f 47 4e 55 20 63 6f 6d 6d 61 6e /*.Arg_parser.-.POSIX/GNU.comman
50c20 64 20 6c 69 6e 65 20 61 72 67 75 6d 65 6e 74 20 70 61 72 73 65 72 2e 20 28 43 2b 2b 20 76 65 72 d.line.argument.parser..(C++.ver
50c40 73 69 6f 6e 29 0a 20 20 20 43 6f 70 79 72 69 67 68 74 20 28 43 29 20 32 30 30 36 2d 32 30 32 31 sion)....Copyright.(C).2006-2021
50c60 20 41 6e 74 6f 6e 69 6f 20 44 69 61 7a 20 44 69 61 7a 2e 0a 0a 20 20 20 54 68 69 73 20 6c 69 62 .Antonio.Diaz.Diaz......This.lib
50c80 72 61 72 79 20 69 73 20 66 72 65 65 20 73 6f 66 74 77 61 72 65 2e 20 52 65 64 69 73 74 72 69 62 rary.is.free.software..Redistrib
50ca0 75 74 69 6f 6e 20 61 6e 64 20 75 73 65 20 69 6e 20 73 6f 75 72 63 65 20 61 6e 64 0a 20 20 20 62 ution.and.use.in.source.and....b
50cc0 69 6e 61 72 79 20 66 6f 72 6d 73 2c 20 77 69 74 68 20 6f 72 20 77 69 74 68 6f 75 74 20 6d 6f 64 inary.forms,.with.or.without.mod
50ce0 69 66 69 63 61 74 69 6f 6e 2c 20 61 72 65 20 70 65 72 6d 69 74 74 65 64 20 70 72 6f 76 69 64 65 ification,.are.permitted.provide
50d00 64 0a 20 20 20 74 68 61 74 20 74 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 63 6f 6e 64 69 74 69 6f d....that.the.following.conditio
50d20 6e 73 20 61 72 65 20 6d 65 74 3a 0a 0a 20 20 20 31 2e 20 52 65 64 69 73 74 72 69 62 75 74 69 6f ns.are.met:.....1..Redistributio
50d40 6e 73 20 6f 66 20 73 6f 75 72 63 65 20 63 6f 64 65 20 6d 75 73 74 20 72 65 74 61 69 6e 20 74 68 ns.of.source.code.must.retain.th
50d60 65 20 61 62 6f 76 65 20 63 6f 70 79 72 69 67 68 74 0a 20 20 20 6e 6f 74 69 63 65 2c 20 74 68 69 e.above.copyright....notice,.thi
50d80 73 20 6c 69 73 74 20 6f 66 20 63 6f 6e 64 69 74 69 6f 6e 73 2c 20 61 6e 64 20 74 68 65 20 66 6f s.list.of.conditions,.and.the.fo
50da0 6c 6c 6f 77 69 6e 67 20 64 69 73 63 6c 61 69 6d 65 72 2e 0a 0a 20 20 20 32 2e 20 52 65 64 69 73 llowing.disclaimer......2..Redis
50dc0 74 72 69 62 75 74 69 6f 6e 73 20 69 6e 20 62 69 6e 61 72 79 20 66 6f 72 6d 20 6d 75 73 74 20 72 tributions.in.binary.form.must.r
50de0 65 70 72 6f 64 75 63 65 20 74 68 65 20 61 62 6f 76 65 20 63 6f 70 79 72 69 67 68 74 0a 20 20 20 eproduce.the.above.copyright....
50e00 6e 6f 74 69 63 65 2c 20 74 68 69 73 20 6c 69 73 74 20 6f 66 20 63 6f 6e 64 69 74 69 6f 6e 73 2c notice,.this.list.of.conditions,
50e20 20 61 6e 64 20 74 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 64 69 73 63 6c 61 69 6d 65 72 20 69 6e .and.the.following.disclaimer.in
50e40 20 74 68 65 0a 20 20 20 64 6f 63 75 6d 65 6e 74 61 74 69 6f 6e 20 61 6e 64 2f 6f 72 20 6f 74 68 .the....documentation.and/or.oth
50e60 65 72 20 6d 61 74 65 72 69 61 6c 73 20 70 72 6f 76 69 64 65 64 20 77 69 74 68 20 74 68 65 20 64 er.materials.provided.with.the.d
50e80 69 73 74 72 69 62 75 74 69 6f 6e 2e 0a 0a 20 20 20 54 68 69 73 20 6c 69 62 72 61 72 79 20 69 73 istribution......This.library.is
50ea0 20 64 69 73 74 72 69 62 75 74 65 64 20 69 6e 20 74 68 65 20 68 6f 70 65 20 74 68 61 74 20 69 74 .distributed.in.the.hope.that.it
50ec0 20 77 69 6c 6c 20 62 65 20 75 73 65 66 75 6c 2c 0a 20 20 20 62 75 74 20 57 49 54 48 4f 55 54 20 .will.be.useful,....but.WITHOUT.
50ee0 41 4e 59 20 57 41 52 52 41 4e 54 59 3b 20 77 69 74 68 6f 75 74 20 65 76 65 6e 20 74 68 65 20 69 ANY.WARRANTY;.without.even.the.i
50f00 6d 70 6c 69 65 64 20 77 61 72 72 61 6e 74 79 20 6f 66 0a 20 20 20 4d 45 52 43 48 41 4e 54 41 42 mplied.warranty.of....MERCHANTAB
50f20 49 4c 49 54 59 20 6f 72 20 46 49 54 4e 45 53 53 20 46 4f 52 20 41 20 50 41 52 54 49 43 55 4c 41 ILITY.or.FITNESS.FOR.A.PARTICULA
50f40 52 20 50 55 52 50 4f 53 45 2e 0a 2a 2f 0a 0a 2f 2a 20 41 72 67 5f 70 61 72 73 65 72 20 72 65 61 R.PURPOSE..*/../*.Arg_parser.rea
50f60 64 73 20 74 68 65 20 61 72 67 75 6d 65 6e 74 73 20 69 6e 20 27 61 72 67 76 27 20 61 6e 64 20 63 ds.the.arguments.in.'argv'.and.c
50f80 72 65 61 74 65 73 20 61 20 6e 75 6d 62 65 72 20 6f 66 0a 20 20 20 6f 70 74 69 6f 6e 20 63 6f 64 reates.a.number.of....option.cod
50fa0 65 73 2c 20 6f 70 74 69 6f 6e 20 61 72 67 75 6d 65 6e 74 73 2c 20 61 6e 64 20 6e 6f 6e 2d 6f 70 es,.option.arguments,.and.non-op
50fc0 74 69 6f 6e 20 61 72 67 75 6d 65 6e 74 73 2e 0a 0a 20 20 20 49 6e 20 63 61 73 65 20 6f 66 20 65 tion.arguments......In.case.of.e
50fe0 72 72 6f 72 2c 20 27 65 72 72 6f 72 27 20 72 65 74 75 72 6e 73 20 61 20 6e 6f 6e 2d 65 6d 70 74 rror,.'error'.returns.a.non-empt
51000 79 20 65 72 72 6f 72 20 6d 65 73 73 61 67 65 2e 0a 0a 20 20 20 27 6f 70 74 69 6f 6e 73 27 20 69 y.error.message......'options'.i
51020 73 20 61 6e 20 61 72 72 61 79 20 6f 66 20 27 73 74 72 75 63 74 20 4f 70 74 69 6f 6e 27 20 74 65 s.an.array.of.'struct.Option'.te
51040 72 6d 69 6e 61 74 65 64 20 62 79 20 61 6e 20 65 6c 65 6d 65 6e 74 0a 20 20 20 63 6f 6e 74 61 69 rminated.by.an.element....contai
51060 6e 69 6e 67 20 61 20 63 6f 64 65 20 77 68 69 63 68 20 69 73 20 7a 65 72 6f 2e 20 41 20 6e 75 6c ning.a.code.which.is.zero..A.nul
51080 6c 20 6e 61 6d 65 20 6d 65 61 6e 73 20 61 20 73 68 6f 72 74 2d 6f 6e 6c 79 0a 20 20 20 6f 70 74 l.name.means.a.short-only....opt
510a0 69 6f 6e 2e 20 41 20 63 6f 64 65 20 76 61 6c 75 65 20 6f 75 74 73 69 64 65 20 74 68 65 20 75 6e ion..A.code.value.outside.the.un
510c0 73 69 67 6e 65 64 20 63 68 61 72 20 72 61 6e 67 65 20 6d 65 61 6e 73 20 61 0a 20 20 20 6c 6f 6e signed.char.range.means.a....lon
510e0 67 2d 6f 6e 6c 79 20 6f 70 74 69 6f 6e 2e 0a 0a 20 20 20 41 72 67 5f 70 61 72 73 65 72 20 6e 6f g-only.option......Arg_parser.no
51100 72 6d 61 6c 6c 79 20 6d 61 6b 65 73 20 69 74 20 61 70 70 65 61 72 20 61 73 20 69 66 20 61 6c 6c rmally.makes.it.appear.as.if.all
51120 20 74 68 65 20 6f 70 74 69 6f 6e 20 61 72 67 75 6d 65 6e 74 73 0a 20 20 20 77 65 72 65 20 73 70 .the.option.arguments....were.sp
51140 65 63 69 66 69 65 64 20 62 65 66 6f 72 65 20 61 6c 6c 20 74 68 65 20 6e 6f 6e 2d 6f 70 74 69 6f ecified.before.all.the.non-optio
51160 6e 20 61 72 67 75 6d 65 6e 74 73 20 66 6f 72 20 74 68 65 20 70 75 72 70 6f 73 65 73 0a 20 20 20 n.arguments.for.the.purposes....
51180 6f 66 20 70 61 72 73 69 6e 67 2c 20 65 76 65 6e 20 69 66 20 74 68 65 20 75 73 65 72 20 6f 66 20 of.parsing,.even.if.the.user.of.
511a0 79 6f 75 72 20 70 72 6f 67 72 61 6d 20 69 6e 74 65 72 6d 69 78 65 64 20 6f 70 74 69 6f 6e 20 61 your.program.intermixed.option.a
511c0 6e 64 0a 20 20 20 6e 6f 6e 2d 6f 70 74 69 6f 6e 20 61 72 67 75 6d 65 6e 74 73 2e 20 49 66 20 79 nd....non-option.arguments..If.y
511e0 6f 75 20 77 61 6e 74 20 74 68 65 20 61 72 67 75 6d 65 6e 74 73 20 69 6e 20 74 68 65 20 65 78 61 ou.want.the.arguments.in.the.exa
51200 63 74 20 6f 72 64 65 72 0a 20 20 20 74 68 65 20 75 73 65 72 20 74 79 70 65 64 20 74 68 65 6d 2c ct.order....the.user.typed.them,
51220 20 63 61 6c 6c 20 27 41 72 67 5f 70 61 72 73 65 72 27 20 77 69 74 68 20 27 69 6e 5f 6f 72 64 65 .call.'Arg_parser'.with.'in_orde
51240 72 27 20 3d 20 74 72 75 65 2e 0a 0a 20 20 20 54 68 65 20 61 72 67 75 6d 65 6e 74 20 27 2d 2d 27 r'.=.true......The.argument.'--'
51260 20 74 65 72 6d 69 6e 61 74 65 73 20 61 6c 6c 20 6f 70 74 69 6f 6e 73 3b 20 61 6e 79 20 66 6f 6c .terminates.all.options;.any.fol
51280 6c 6f 77 69 6e 67 20 61 72 67 75 6d 65 6e 74 73 20 61 72 65 0a 20 20 20 74 72 65 61 74 65 64 20 lowing.arguments.are....treated.
512a0 61 73 20 6e 6f 6e 2d 6f 70 74 69 6f 6e 20 61 72 67 75 6d 65 6e 74 73 2c 20 65 76 65 6e 20 69 66 as.non-option.arguments,.even.if
512c0 20 74 68 65 79 20 62 65 67 69 6e 20 77 69 74 68 20 61 20 68 79 70 68 65 6e 2e 0a 0a 20 20 20 54 .they.begin.with.a.hyphen......T
512e0 68 65 20 73 79 6e 74 61 78 20 66 6f 72 20 6f 70 74 69 6f 6e 61 6c 20 6f 70 74 69 6f 6e 20 61 72 he.syntax.for.optional.option.ar
51300 67 75 6d 65 6e 74 73 20 69 73 20 27 2d 3c 73 68 6f 72 74 5f 6f 70 74 69 6f 6e 3e 3c 61 72 67 75 guments.is.'-<short_option><argu
51320 6d 65 6e 74 3e 27 0a 20 20 20 28 77 69 74 68 6f 75 74 20 77 68 69 74 65 73 70 61 63 65 29 2c 20 ment>'....(without.whitespace),.
51340 6f 72 20 27 2d 2d 3c 6c 6f 6e 67 5f 6f 70 74 69 6f 6e 3e 3d 3c 61 72 67 75 6d 65 6e 74 3e 27 2e or.'--<long_option>=<argument>'.
51360 0a 2a 2f 0a 0a 63 6c 61 73 73 20 41 72 67 5f 70 61 72 73 65 72 0a 20 20 7b 0a 70 75 62 6c 69 63 .*/..class.Arg_parser...{.public
51380 3a 0a 20 20 65 6e 75 6d 20 48 61 73 5f 61 72 67 20 7b 20 6e 6f 2c 20 79 65 73 2c 20 6d 61 79 62 :...enum.Has_arg.{.no,.yes,.mayb
513a0 65 20 7d 3b 0a 0a 20 20 73 74 72 75 63 74 20 4f 70 74 69 6f 6e 0a 20 20 20 20 7b 0a 20 20 20 20 e.};....struct.Option.....{.....
513c0 69 6e 74 20 63 6f 64 65 3b 09 09 09 2f 2f 20 53 68 6f 72 74 20 6f 70 74 69 6f 6e 20 6c 65 74 74 int.code;...//.Short.option.lett
513e0 65 72 20 6f 72 20 63 6f 64 65 20 28 20 63 6f 64 65 20 21 3d 20 30 20 29 0a 20 20 20 20 63 6f 6e er.or.code.(.code.!=.0.).....con
51400 73 74 20 63 68 61 72 20 2a 20 6e 61 6d 65 3b 09 09 2f 2f 20 4c 6f 6e 67 20 6f 70 74 69 6f 6e 20 st.char.*.name;..//.Long.option.
51420 6e 61 6d 65 20 28 6d 61 79 62 65 20 6e 75 6c 6c 29 0a 20 20 20 20 48 61 73 5f 61 72 67 20 68 61 name.(maybe.null).....Has_arg.ha
51440 73 5f 61 72 67 3b 0a 20 20 20 20 7d 3b 0a 0a 70 72 69 76 61 74 65 3a 0a 20 20 73 74 72 75 63 74 s_arg;.....};..private:...struct
51460 20 52 65 63 6f 72 64 0a 20 20 20 20 7b 0a 20 20 20 20 69 6e 74 20 63 6f 64 65 3b 0a 20 20 20 20 .Record.....{.....int.code;.....
51480 73 74 64 3a 3a 73 74 72 69 6e 67 20 61 72 67 75 6d 65 6e 74 3b 0a 20 20 20 20 65 78 70 6c 69 63 std::string.argument;.....explic
514a0 69 74 20 52 65 63 6f 72 64 28 20 63 6f 6e 73 74 20 69 6e 74 20 63 20 29 20 3a 20 63 6f 64 65 28 it.Record(.const.int.c.).:.code(
514c0 20 63 20 29 20 7b 7d 0a 20 20 20 20 65 78 70 6c 69 63 69 74 20 52 65 63 6f 72 64 28 20 63 6f 6e .c.).{}.....explicit.Record(.con
514e0 73 74 20 63 68 61 72 20 2a 20 63 6f 6e 73 74 20 61 72 67 20 29 20 3a 20 63 6f 64 65 28 20 30 20 st.char.*.const.arg.).:.code(.0.
51500 29 2c 20 61 72 67 75 6d 65 6e 74 28 20 61 72 67 20 29 20 7b 7d 0a 20 20 20 20 7d 3b 0a 0a 20 20 ),.argument(.arg.).{}.....};....
51520 63 6f 6e 73 74 20 73 74 64 3a 3a 73 74 72 69 6e 67 20 65 6d 70 74 79 5f 61 72 67 3b 0a 20 20 73 const.std::string.empty_arg;...s
51540 74 64 3a 3a 73 74 72 69 6e 67 20 65 72 72 6f 72 5f 3b 0a 20 20 73 74 64 3a 3a 76 65 63 74 6f 72 td::string.error_;...std::vector
51560 3c 20 52 65 63 6f 72 64 20 3e 20 64 61 74 61 3b 0a 0a 20 20 62 6f 6f 6c 20 70 61 72 73 65 5f 6c <.Record.>.data;....bool.parse_l
51580 6f 6e 67 5f 6f 70 74 69 6f 6e 28 20 63 6f 6e 73 74 20 63 68 61 72 20 2a 20 63 6f 6e 73 74 20 6f ong_option(.const.char.*.const.o
515a0 70 74 2c 20 63 6f 6e 73 74 20 63 68 61 72 20 2a 20 63 6f 6e 73 74 20 61 72 67 2c 0a 20 20 20 20 pt,.const.char.*.const.arg,.....
515c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 63 6f 6e 73 74 20 4f 70 74 69 ......................const.Opti
515e0 6f 6e 20 6f 70 74 69 6f 6e 73 5b 5d 2c 20 69 6e 74 20 26 20 61 72 67 69 6e 64 20 29 3b 0a 20 20 on.options[],.int.&.argind.);...
51600 62 6f 6f 6c 20 70 61 72 73 65 5f 73 68 6f 72 74 5f 6f 70 74 69 6f 6e 28 20 63 6f 6e 73 74 20 63 bool.parse_short_option(.const.c
51620 68 61 72 20 2a 20 63 6f 6e 73 74 20 6f 70 74 2c 20 63 6f 6e 73 74 20 63 68 61 72 20 2a 20 63 6f har.*.const.opt,.const.char.*.co
51640 6e 73 74 20 61 72 67 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 nst.arg,........................
51660 20 20 20 20 63 6f 6e 73 74 20 4f 70 74 69 6f 6e 20 6f 70 74 69 6f 6e 73 5b 5d 2c 20 69 6e 74 20 ....const.Option.options[],.int.
51680 26 20 61 72 67 69 6e 64 20 29 3b 0a 0a 70 75 62 6c 69 63 3a 0a 20 20 41 72 67 5f 70 61 72 73 65 &.argind.);..public:...Arg_parse
516a0 72 28 20 63 6f 6e 73 74 20 69 6e 74 20 61 72 67 63 2c 20 63 6f 6e 73 74 20 63 68 61 72 20 2a 20 r(.const.int.argc,.const.char.*.
516c0 63 6f 6e 73 74 20 61 72 67 76 5b 5d 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 63 6f 6e 73 const.argv[],...............cons
516e0 74 20 4f 70 74 69 6f 6e 20 6f 70 74 69 6f 6e 73 5b 5d 2c 20 63 6f 6e 73 74 20 62 6f 6f 6c 20 69 t.Option.options[],.const.bool.i
51700 6e 5f 6f 72 64 65 72 20 3d 20 66 61 6c 73 65 20 29 3b 0a 0a 20 20 2f 2f 20 52 65 73 74 72 69 63 n_order.=.false.);....//.Restric
51720 74 65 64 20 63 6f 6e 73 74 72 75 63 74 6f 72 2e 20 50 61 72 73 65 73 20 61 20 73 69 6e 67 6c 65 ted.constructor..Parses.a.single
51740 20 74 6f 6b 65 6e 20 61 6e 64 20 61 72 67 75 6d 65 6e 74 20 28 69 66 20 61 6e 79 29 2e 0a 20 20 .token.and.argument.(if.any)....
51760 41 72 67 5f 70 61 72 73 65 72 28 20 63 6f 6e 73 74 20 63 68 61 72 20 2a 20 63 6f 6e 73 74 20 6f Arg_parser(.const.char.*.const.o
51780 70 74 2c 20 63 6f 6e 73 74 20 63 68 61 72 20 2a 20 63 6f 6e 73 74 20 61 72 67 2c 0a 20 20 20 20 pt,.const.char.*.const.arg,.....
517a0 20 20 20 20 20 20 20 20 20 20 63 6f 6e 73 74 20 4f 70 74 69 6f 6e 20 6f 70 74 69 6f 6e 73 5b 5d ..........const.Option.options[]
517c0 20 29 3b 0a 0a 20 20 63 6f 6e 73 74 20 73 74 64 3a 3a 73 74 72 69 6e 67 20 26 20 65 72 72 6f 72 .);....const.std::string.&.error
517e0 28 29 20 63 6f 6e 73 74 20 7b 20 72 65 74 75 72 6e 20 65 72 72 6f 72 5f 3b 20 7d 0a 0a 20 20 2f ().const.{.return.error_;.}..../
51800 2f 20 54 68 65 20 6e 75 6d 62 65 72 20 6f 66 20 61 72 67 75 6d 65 6e 74 73 20 70 61 72 73 65 64 /.The.number.of.arguments.parsed
51820 2e 20 4d 61 79 20 62 65 20 64 69 66 66 65 72 65 6e 74 20 66 72 6f 6d 20 61 72 67 63 2e 0a 20 20 ..May.be.different.from.argc....
51840 69 6e 74 20 61 72 67 75 6d 65 6e 74 73 28 29 20 63 6f 6e 73 74 20 7b 20 72 65 74 75 72 6e 20 64 int.arguments().const.{.return.d
51860 61 74 61 2e 73 69 7a 65 28 29 3b 20 7d 0a 0a 20 20 2f 2a 20 49 66 20 63 6f 64 65 28 20 69 20 29 ata.size();.}..../*.If.code(.i.)
51880 20 69 73 20 30 2c 20 61 72 67 75 6d 65 6e 74 28 20 69 20 29 20 69 73 20 61 20 6e 6f 6e 2d 6f 70 .is.0,.argument(.i.).is.a.non-op
518a0 74 69 6f 6e 2e 0a 20 20 20 20 20 45 6c 73 65 20 61 72 67 75 6d 65 6e 74 28 20 69 20 29 20 69 73 tion.......Else.argument(.i.).is
518c0 20 74 68 65 20 6f 70 74 69 6f 6e 27 73 20 61 72 67 75 6d 65 6e 74 20 28 6f 72 20 65 6d 70 74 79 .the.option's.argument.(or.empty
518e0 29 2e 20 2a 2f 0a 20 20 69 6e 74 20 63 6f 64 65 28 20 63 6f 6e 73 74 20 69 6e 74 20 69 20 29 20 )..*/...int.code(.const.int.i.).
51900 63 6f 6e 73 74 0a 20 20 20 20 7b 0a 20 20 20 20 69 66 28 20 69 20 3e 3d 20 30 20 26 26 20 69 20 const.....{.....if(.i.>=.0.&&.i.
51920 3c 20 61 72 67 75 6d 65 6e 74 73 28 29 20 29 20 72 65 74 75 72 6e 20 64 61 74 61 5b 69 5d 2e 63 <.arguments().).return.data[i].c
51940 6f 64 65 3b 0a 20 20 20 20 65 6c 73 65 20 72 65 74 75 72 6e 20 30 3b 0a 20 20 20 20 7d 0a 0a 20 ode;.....else.return.0;.....}...
51960 20 63 6f 6e 73 74 20 73 74 64 3a 3a 73 74 72 69 6e 67 20 26 20 61 72 67 75 6d 65 6e 74 28 20 63 .const.std::string.&.argument(.c
51980 6f 6e 73 74 20 69 6e 74 20 69 20 29 20 63 6f 6e 73 74 0a 20 20 20 20 7b 0a 20 20 20 20 69 66 28 onst.int.i.).const.....{.....if(
519a0 20 69 20 3e 3d 20 30 20 26 26 20 69 20 3c 20 61 72 67 75 6d 65 6e 74 73 28 29 20 29 20 72 65 74 .i.>=.0.&&.i.<.arguments().).ret
519c0 75 72 6e 20 64 61 74 61 5b 69 5d 2e 61 72 67 75 6d 65 6e 74 3b 0a 20 20 20 20 65 6c 73 65 20 72 urn.data[i].argument;.....else.r
519e0 65 74 75 72 6e 20 65 6d 70 74 79 5f 61 72 67 3b 0a 20 20 20 20 7d 0a 20 20 7d 3b 0a 00 00 00 00 eturn.empty_arg;.....}...};.....
51a00 6c 7a 69 70 2d 31 2e 32 32 2f 41 55 54 48 4f 52 53 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 lzip-1.22/AUTHORS...............
51a20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
51a40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
51a60 00 00 00 00 30 30 30 30 36 34 34 00 30 30 30 30 30 30 30 00 30 30 30 30 30 30 30 00 30 30 30 30 ....0000644.0000000.0000000.0000
51a80 30 30 30 30 35 35 36 00 31 33 35 36 33 33 35 35 37 32 35 00 30 31 33 35 30 36 00 20 30 00 00 00 0000556.13563355725.013506..0...
51aa0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
51ac0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
51ae0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
51b00 00 75 73 74 61 72 00 30 30 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .ustar.00root...................
51b20 00 00 00 00 00 00 00 00 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .........root...................
51b40 00 00 00 00 00 00 00 00 00 30 30 30 30 30 30 30 00 30 30 30 30 30 30 30 00 00 00 00 00 00 00 00 .........0000000.0000000........
51b60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
51b80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
51ba0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
51bc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
51be0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
51c00 4c 7a 69 70 20 77 61 73 20 77 72 69 74 74 65 6e 20 62 79 20 41 6e 74 6f 6e 69 6f 20 44 69 61 7a Lzip.was.written.by.Antonio.Diaz
51c20 20 44 69 61 7a 2e 0a 0a 54 68 65 20 69 64 65 61 73 20 65 6d 62 6f 64 69 65 64 20 69 6e 20 6c 7a .Diaz...The.ideas.embodied.in.lz
51c40 69 70 20 61 72 65 20 64 75 65 20 74 6f 20 28 61 74 20 6c 65 61 73 74 29 20 74 68 65 20 66 6f 6c ip.are.due.to.(at.least).the.fol
51c60 6c 6f 77 69 6e 67 20 70 65 6f 70 6c 65 3a 0a 41 62 72 61 68 61 6d 20 4c 65 6d 70 65 6c 20 61 6e lowing.people:.Abraham.Lempel.an
51c80 64 20 4a 61 63 6f 62 20 5a 69 76 20 28 66 6f 72 20 74 68 65 20 4c 5a 20 61 6c 67 6f 72 69 74 68 d.Jacob.Ziv.(for.the.LZ.algorith
51ca0 6d 29 2c 20 41 6e 64 72 65 79 20 4d 61 72 6b 6f 76 20 28 66 6f 72 20 74 68 65 0a 64 65 66 69 6e m),.Andrey.Markov.(for.the.defin
51cc0 69 74 69 6f 6e 20 6f 66 20 4d 61 72 6b 6f 76 20 63 68 61 69 6e 73 29 2c 20 47 2e 4e 2e 4e 2e 20 ition.of.Markov.chains),.G.N.N..
51ce0 4d 61 72 74 69 6e 20 28 66 6f 72 20 74 68 65 20 64 65 66 69 6e 69 74 69 6f 6e 20 6f 66 20 72 61 Martin.(for.the.definition.of.ra
51d00 6e 67 65 0a 65 6e 63 6f 64 69 6e 67 29 2c 20 49 67 6f 72 20 50 61 76 6c 6f 76 20 28 66 6f 72 20 nge.encoding),.Igor.Pavlov.(for.
51d20 70 75 74 74 69 6e 67 20 61 6c 6c 20 74 68 65 20 61 62 6f 76 65 20 74 6f 67 65 74 68 65 72 20 69 putting.all.the.above.together.i
51d40 6e 20 4c 5a 4d 41 29 2c 20 61 6e 64 0a 4a 75 6c 69 61 6e 20 53 65 77 61 72 64 20 28 66 6f 72 20 n.LZMA),.and.Julian.Seward.(for.
51d60 62 7a 69 70 32 27 73 20 43 4c 49 29 2e 0a 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 bzip2's.CLI)....................
51d80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
51da0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
51dc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
51de0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
51e00 6c 7a 69 70 2d 31 2e 32 32 2f 6c 7a 69 70 5f 69 6e 64 65 78 2e 68 00 00 00 00 00 00 00 00 00 00 lzip-1.22/lzip_index.h..........
51e20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
51e40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
51e60 00 00 00 00 30 30 30 30 36 34 34 00 30 30 30 30 30 30 30 00 30 30 30 30 30 30 30 00 30 30 30 30 ....0000644.0000000.0000000.0000
51e80 30 30 30 36 30 31 34 00 31 33 37 37 33 36 31 37 31 33 31 00 30 31 34 37 34 32 00 20 30 00 00 00 0006014.13773617131.014742..0...
51ea0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
51ec0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
51ee0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
51f00 00 75 73 74 61 72 00 30 30 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .ustar.00root...................
51f20 00 00 00 00 00 00 00 00 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .........root...................
51f40 00 00 00 00 00 00 00 00 00 30 30 30 30 30 30 30 00 30 30 30 30 30 30 30 00 00 00 00 00 00 00 00 .........0000000.0000000........
51f60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
51f80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
51fa0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
51fc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
51fe0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
52000 2f 2a 20 4c 7a 69 70 20 2d 20 4c 5a 4d 41 20 6c 6f 73 73 6c 65 73 73 20 64 61 74 61 20 63 6f 6d /*.Lzip.-.LZMA.lossless.data.com
52020 70 72 65 73 73 6f 72 0a 20 20 20 43 6f 70 79 72 69 67 68 74 20 28 43 29 20 32 30 30 38 2d 32 30 pressor....Copyright.(C).2008-20
52040 32 31 20 41 6e 74 6f 6e 69 6f 20 44 69 61 7a 20 44 69 61 7a 2e 0a 0a 20 20 20 54 68 69 73 20 70 21.Antonio.Diaz.Diaz......This.p
52060 72 6f 67 72 61 6d 20 69 73 20 66 72 65 65 20 73 6f 66 74 77 61 72 65 3a 20 79 6f 75 20 63 61 6e rogram.is.free.software:.you.can
52080 20 72 65 64 69 73 74 72 69 62 75 74 65 20 69 74 20 61 6e 64 2f 6f 72 20 6d 6f 64 69 66 79 0a 20 .redistribute.it.and/or.modify..
520a0 20 20 69 74 20 75 6e 64 65 72 20 74 68 65 20 74 65 72 6d 73 20 6f 66 20 74 68 65 20 47 4e 55 20 ..it.under.the.terms.of.the.GNU.
520c0 47 65 6e 65 72 61 6c 20 50 75 62 6c 69 63 20 4c 69 63 65 6e 73 65 20 61 73 20 70 75 62 6c 69 73 General.Public.License.as.publis
520e0 68 65 64 20 62 79 0a 20 20 20 74 68 65 20 46 72 65 65 20 53 6f 66 74 77 61 72 65 20 46 6f 75 6e hed.by....the.Free.Software.Foun
52100 64 61 74 69 6f 6e 2c 20 65 69 74 68 65 72 20 76 65 72 73 69 6f 6e 20 32 20 6f 66 20 74 68 65 20 dation,.either.version.2.of.the.
52120 4c 69 63 65 6e 73 65 2c 20 6f 72 0a 20 20 20 28 61 74 20 79 6f 75 72 20 6f 70 74 69 6f 6e 29 20 License,.or....(at.your.option).
52140 61 6e 79 20 6c 61 74 65 72 20 76 65 72 73 69 6f 6e 2e 0a 0a 20 20 20 54 68 69 73 20 70 72 6f 67 any.later.version......This.prog
52160 72 61 6d 20 69 73 20 64 69 73 74 72 69 62 75 74 65 64 20 69 6e 20 74 68 65 20 68 6f 70 65 20 74 ram.is.distributed.in.the.hope.t
52180 68 61 74 20 69 74 20 77 69 6c 6c 20 62 65 20 75 73 65 66 75 6c 2c 0a 20 20 20 62 75 74 20 57 49 hat.it.will.be.useful,....but.WI
521a0 54 48 4f 55 54 20 41 4e 59 20 57 41 52 52 41 4e 54 59 3b 20 77 69 74 68 6f 75 74 20 65 76 65 6e THOUT.ANY.WARRANTY;.without.even
521c0 20 74 68 65 20 69 6d 70 6c 69 65 64 20 77 61 72 72 61 6e 74 79 20 6f 66 0a 20 20 20 4d 45 52 43 .the.implied.warranty.of....MERC
521e0 48 41 4e 54 41 42 49 4c 49 54 59 20 6f 72 20 46 49 54 4e 45 53 53 20 46 4f 52 20 41 20 50 41 52 HANTABILITY.or.FITNESS.FOR.A.PAR
52200 54 49 43 55 4c 41 52 20 50 55 52 50 4f 53 45 2e 20 20 53 65 65 20 74 68 65 0a 20 20 20 47 4e 55 TICULAR.PURPOSE...See.the....GNU
52220 20 47 65 6e 65 72 61 6c 20 50 75 62 6c 69 63 20 4c 69 63 65 6e 73 65 20 66 6f 72 20 6d 6f 72 65 .General.Public.License.for.more
52240 20 64 65 74 61 69 6c 73 2e 0a 0a 20 20 20 59 6f 75 20 73 68 6f 75 6c 64 20 68 61 76 65 20 72 65 .details......You.should.have.re
52260 63 65 69 76 65 64 20 61 20 63 6f 70 79 20 6f 66 20 74 68 65 20 47 4e 55 20 47 65 6e 65 72 61 6c ceived.a.copy.of.the.GNU.General
52280 20 50 75 62 6c 69 63 20 4c 69 63 65 6e 73 65 0a 20 20 20 61 6c 6f 6e 67 20 77 69 74 68 20 74 68 .Public.License....along.with.th
522a0 69 73 20 70 72 6f 67 72 61 6d 2e 20 20 49 66 20 6e 6f 74 2c 20 73 65 65 20 3c 68 74 74 70 3a 2f is.program...If.not,.see.<http:/
522c0 2f 77 77 77 2e 67 6e 75 2e 6f 72 67 2f 6c 69 63 65 6e 73 65 73 2f 3e 2e 0a 2a 2f 0a 0a 23 69 66 /www.gnu.org/licenses/>..*/..#if
522e0 6e 64 65 66 20 49 4e 54 36 34 5f 4d 41 58 0a 23 64 65 66 69 6e 65 20 49 4e 54 36 34 5f 4d 41 58 ndef.INT64_MAX.#define.INT64_MAX
52300 20 20 30 78 37 46 46 46 46 46 46 46 46 46 46 46 46 46 46 46 4c 4c 0a 23 65 6e 64 69 66 0a 0a 0a ..0x7FFFFFFFFFFFFFFFLL.#endif...
52320 63 6c 61 73 73 20 42 6c 6f 63 6b 0a 20 20 7b 0a 20 20 6c 6f 6e 67 20 6c 6f 6e 67 20 70 6f 73 5f class.Block...{...long.long.pos_
52340 2c 20 73 69 7a 65 5f 3b 09 09 2f 2f 20 70 6f 73 20 2b 20 73 69 7a 65 20 3c 3d 20 49 4e 54 36 34 ,.size_;..//.pos.+.size.<=.INT64
52360 5f 4d 41 58 0a 0a 70 75 62 6c 69 63 3a 0a 20 20 42 6c 6f 63 6b 28 20 63 6f 6e 73 74 20 6c 6f 6e _MAX..public:...Block(.const.lon
52380 67 20 6c 6f 6e 67 20 70 2c 20 63 6f 6e 73 74 20 6c 6f 6e 67 20 6c 6f 6e 67 20 73 20 29 20 3a 20 g.long.p,.const.long.long.s.).:.
523a0 70 6f 73 5f 28 20 70 20 29 2c 20 73 69 7a 65 5f 28 20 73 20 29 20 7b 7d 0a 0a 20 20 6c 6f 6e 67 pos_(.p.),.size_(.s.).{}....long
523c0 20 6c 6f 6e 67 20 70 6f 73 28 29 20 63 6f 6e 73 74 20 7b 20 72 65 74 75 72 6e 20 70 6f 73 5f 3b .long.pos().const.{.return.pos_;
523e0 20 7d 0a 20 20 6c 6f 6e 67 20 6c 6f 6e 67 20 73 69 7a 65 28 29 20 63 6f 6e 73 74 20 7b 20 72 65 .}...long.long.size().const.{.re
52400 74 75 72 6e 20 73 69 7a 65 5f 3b 20 7d 0a 20 20 6c 6f 6e 67 20 6c 6f 6e 67 20 65 6e 64 28 29 20 turn.size_;.}...long.long.end().
52420 63 6f 6e 73 74 20 7b 20 72 65 74 75 72 6e 20 70 6f 73 5f 20 2b 20 73 69 7a 65 5f 3b 20 7d 0a 0a const.{.return.pos_.+.size_;.}..
52440 20 20 76 6f 69 64 20 70 6f 73 28 20 63 6f 6e 73 74 20 6c 6f 6e 67 20 6c 6f 6e 67 20 70 20 29 20 ..void.pos(.const.long.long.p.).
52460 7b 20 70 6f 73 5f 20 3d 20 70 3b 20 7d 0a 20 20 76 6f 69 64 20 73 69 7a 65 28 20 63 6f 6e 73 74 {.pos_.=.p;.}...void.size(.const
52480 20 6c 6f 6e 67 20 6c 6f 6e 67 20 73 20 29 20 7b 20 73 69 7a 65 5f 20 3d 20 73 3b 20 7d 0a 20 20 .long.long.s.).{.size_.=.s;.}...
524a0 7d 3b 0a 0a 0a 63 6c 61 73 73 20 4c 7a 69 70 5f 69 6e 64 65 78 0a 20 20 7b 0a 20 20 73 74 72 75 };...class.Lzip_index...{...stru
524c0 63 74 20 4d 65 6d 62 65 72 0a 20 20 20 20 7b 0a 20 20 20 20 42 6c 6f 63 6b 20 64 62 6c 6f 63 6b ct.Member.....{.....Block.dblock
524e0 2c 20 6d 62 6c 6f 63 6b 3b 09 09 2f 2f 20 64 61 74 61 20 62 6c 6f 63 6b 2c 20 6d 65 6d 62 65 72 ,.mblock;..//.data.block,.member
52500 20 62 6c 6f 63 6b 0a 20 20 20 20 75 6e 73 69 67 6e 65 64 20 64 69 63 74 69 6f 6e 61 72 79 5f 73 .block.....unsigned.dictionary_s
52520 69 7a 65 3b 0a 0a 20 20 20 20 4d 65 6d 62 65 72 28 20 63 6f 6e 73 74 20 6c 6f 6e 67 20 6c 6f 6e ize;......Member(.const.long.lon
52540 67 20 64 70 2c 20 63 6f 6e 73 74 20 6c 6f 6e 67 20 6c 6f 6e 67 20 64 73 2c 0a 20 20 20 20 20 20 g.dp,.const.long.long.ds,.......
52560 20 20 20 20 20 20 63 6f 6e 73 74 20 6c 6f 6e 67 20 6c 6f 6e 67 20 6d 70 2c 20 63 6f 6e 73 74 20 ......const.long.long.mp,.const.
52580 6c 6f 6e 67 20 6c 6f 6e 67 20 6d 73 2c 20 63 6f 6e 73 74 20 75 6e 73 69 67 6e 65 64 20 64 69 63 long.long.ms,.const.unsigned.dic
525a0 74 5f 73 69 7a 65 20 29 0a 20 20 20 20 20 20 3a 20 64 62 6c 6f 63 6b 28 20 64 70 2c 20 64 73 20 t_size.).......:.dblock(.dp,.ds.
525c0 29 2c 20 6d 62 6c 6f 63 6b 28 20 6d 70 2c 20 6d 73 20 29 2c 20 64 69 63 74 69 6f 6e 61 72 79 5f ),.mblock(.mp,.ms.),.dictionary_
525e0 73 69 7a 65 28 20 64 69 63 74 5f 73 69 7a 65 20 29 20 7b 7d 0a 20 20 20 20 7d 3b 0a 0a 20 20 73 size(.dict_size.).{}.....};....s
52600 74 64 3a 3a 76 65 63 74 6f 72 3c 20 4d 65 6d 62 65 72 20 3e 20 6d 65 6d 62 65 72 5f 76 65 63 74 td::vector<.Member.>.member_vect
52620 6f 72 3b 0a 20 20 73 74 64 3a 3a 73 74 72 69 6e 67 20 65 72 72 6f 72 5f 3b 0a 20 20 63 6f 6e 73 or;...std::string.error_;...cons
52640 74 20 6c 6f 6e 67 20 6c 6f 6e 67 20 69 6e 73 69 7a 65 3b 0a 20 20 69 6e 74 20 72 65 74 76 61 6c t.long.long.insize;...int.retval
52660 5f 3b 0a 20 20 75 6e 73 69 67 6e 65 64 20 64 69 63 74 69 6f 6e 61 72 79 5f 73 69 7a 65 5f 3b 09 _;...unsigned.dictionary_size_;.
52680 2f 2f 20 6c 61 72 67 65 73 74 20 64 69 63 74 69 6f 6e 61 72 79 20 73 69 7a 65 20 69 6e 20 74 68 //.largest.dictionary.size.in.th
526a0 65 20 66 69 6c 65 0a 0a 20 20 62 6f 6f 6c 20 63 68 65 63 6b 5f 68 65 61 64 65 72 5f 65 72 72 6f e.file....bool.check_header_erro
526c0 72 28 20 63 6f 6e 73 74 20 4c 7a 69 70 5f 68 65 61 64 65 72 20 26 20 68 65 61 64 65 72 20 29 3b r(.const.Lzip_header.&.header.);
526e0 0a 20 20 76 6f 69 64 20 73 65 74 5f 65 72 72 6e 6f 5f 65 72 72 6f 72 28 20 63 6f 6e 73 74 20 63 ...void.set_errno_error(.const.c
52700 68 61 72 20 2a 20 63 6f 6e 73 74 20 6d 73 67 20 29 3b 0a 20 20 76 6f 69 64 20 73 65 74 5f 6e 75 har.*.const.msg.);...void.set_nu
52720 6d 5f 65 72 72 6f 72 28 20 63 6f 6e 73 74 20 63 68 61 72 20 2a 20 63 6f 6e 73 74 20 6d 73 67 2c m_error(.const.char.*.const.msg,
52740 20 75 6e 73 69 67 6e 65 64 20 6c 6f 6e 67 20 6c 6f 6e 67 20 6e 75 6d 20 29 3b 0a 20 20 62 6f 6f .unsigned.long.long.num.);...boo
52760 6c 20 72 65 61 64 5f 68 65 61 64 65 72 28 20 63 6f 6e 73 74 20 69 6e 74 20 66 64 2c 20 4c 7a 69 l.read_header(.const.int.fd,.Lzi
52780 70 5f 68 65 61 64 65 72 20 26 20 68 65 61 64 65 72 2c 20 63 6f 6e 73 74 20 6c 6f 6e 67 20 6c 6f p_header.&.header,.const.long.lo
527a0 6e 67 20 70 6f 73 20 29 3b 0a 20 20 62 6f 6f 6c 20 73 6b 69 70 5f 74 72 61 69 6c 69 6e 67 5f 64 ng.pos.);...bool.skip_trailing_d
527c0 61 74 61 28 20 63 6f 6e 73 74 20 69 6e 74 20 66 64 2c 20 75 6e 73 69 67 6e 65 64 20 6c 6f 6e 67 ata(.const.int.fd,.unsigned.long
527e0 20 6c 6f 6e 67 20 26 20 70 6f 73 2c 0a 20 20 20 20 20 20 20 20 20 63 6f 6e 73 74 20 62 6f 6f 6c .long.&.pos,..........const.bool
52800 20 69 67 6e 6f 72 65 5f 74 72 61 69 6c 69 6e 67 2c 20 63 6f 6e 73 74 20 62 6f 6f 6c 20 6c 6f 6f .ignore_trailing,.const.bool.loo
52820 73 65 5f 74 72 61 69 6c 69 6e 67 20 29 3b 0a 0a 70 75 62 6c 69 63 3a 0a 20 20 4c 7a 69 70 5f 69 se_trailing.);..public:...Lzip_i
52840 6e 64 65 78 28 20 63 6f 6e 73 74 20 69 6e 74 20 69 6e 66 64 2c 20 63 6f 6e 73 74 20 62 6f 6f 6c ndex(.const.int.infd,.const.bool
52860 20 69 67 6e 6f 72 65 5f 74 72 61 69 6c 69 6e 67 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .ignore_trailing,...............
52880 63 6f 6e 73 74 20 62 6f 6f 6c 20 6c 6f 6f 73 65 5f 74 72 61 69 6c 69 6e 67 20 29 3b 0a 0a 20 20 const.bool.loose_trailing.);....
528a0 6c 6f 6e 67 20 6d 65 6d 62 65 72 73 28 29 20 63 6f 6e 73 74 20 7b 20 72 65 74 75 72 6e 20 6d 65 long.members().const.{.return.me
528c0 6d 62 65 72 5f 76 65 63 74 6f 72 2e 73 69 7a 65 28 29 3b 20 7d 0a 20 20 63 6f 6e 73 74 20 73 74 mber_vector.size();.}...const.st
528e0 64 3a 3a 73 74 72 69 6e 67 20 26 20 65 72 72 6f 72 28 29 20 63 6f 6e 73 74 20 7b 20 72 65 74 75 d::string.&.error().const.{.retu
52900 72 6e 20 65 72 72 6f 72 5f 3b 20 7d 0a 20 20 69 6e 74 20 72 65 74 76 61 6c 28 29 20 63 6f 6e 73 rn.error_;.}...int.retval().cons
52920 74 20 7b 20 72 65 74 75 72 6e 20 72 65 74 76 61 6c 5f 3b 20 7d 0a 20 20 75 6e 73 69 67 6e 65 64 t.{.return.retval_;.}...unsigned
52940 20 64 69 63 74 69 6f 6e 61 72 79 5f 73 69 7a 65 28 29 20 63 6f 6e 73 74 20 7b 20 72 65 74 75 72 .dictionary_size().const.{.retur
52960 6e 20 64 69 63 74 69 6f 6e 61 72 79 5f 73 69 7a 65 5f 3b 20 7d 0a 0a 20 20 6c 6f 6e 67 20 6c 6f n.dictionary_size_;.}....long.lo
52980 6e 67 20 75 64 61 74 61 5f 73 69 7a 65 28 29 20 63 6f 6e 73 74 0a 20 20 20 20 7b 20 69 66 28 20 ng.udata_size().const.....{.if(.
529a0 6d 65 6d 62 65 72 5f 76 65 63 74 6f 72 2e 65 6d 70 74 79 28 29 20 29 20 72 65 74 75 72 6e 20 30 member_vector.empty().).return.0
529c0 3b 0a 20 20 20 20 20 20 72 65 74 75 72 6e 20 6d 65 6d 62 65 72 5f 76 65 63 74 6f 72 2e 62 61 63 ;.......return.member_vector.bac
529e0 6b 28 29 2e 64 62 6c 6f 63 6b 2e 65 6e 64 28 29 3b 20 7d 0a 0a 20 20 6c 6f 6e 67 20 6c 6f 6e 67 k().dblock.end();.}....long.long
52a00 20 63 64 61 74 61 5f 73 69 7a 65 28 29 20 63 6f 6e 73 74 0a 20 20 20 20 7b 20 69 66 28 20 6d 65 .cdata_size().const.....{.if(.me
52a20 6d 62 65 72 5f 76 65 63 74 6f 72 2e 65 6d 70 74 79 28 29 20 29 20 72 65 74 75 72 6e 20 30 3b 0a mber_vector.empty().).return.0;.
52a40 20 20 20 20 20 20 72 65 74 75 72 6e 20 6d 65 6d 62 65 72 5f 76 65 63 74 6f 72 2e 62 61 63 6b 28 ......return.member_vector.back(
52a60 29 2e 6d 62 6c 6f 63 6b 2e 65 6e 64 28 29 3b 20 7d 0a 0a 20 20 2f 2f 20 74 6f 74 61 6c 20 73 69 ).mblock.end();.}....//.total.si
52a80 7a 65 20 69 6e 63 6c 75 64 69 6e 67 20 74 72 61 69 6c 69 6e 67 20 64 61 74 61 20 28 69 66 20 61 ze.including.trailing.data.(if.a
52aa0 6e 79 29 0a 20 20 6c 6f 6e 67 20 6c 6f 6e 67 20 66 69 6c 65 5f 73 69 7a 65 28 29 20 63 6f 6e 73 ny)...long.long.file_size().cons
52ac0 74 0a 20 20 20 20 7b 20 69 66 28 20 69 6e 73 69 7a 65 20 3e 3d 20 30 20 29 20 72 65 74 75 72 6e t.....{.if(.insize.>=.0.).return
52ae0 20 69 6e 73 69 7a 65 3b 20 65 6c 73 65 20 72 65 74 75 72 6e 20 30 3b 20 7d 0a 0a 20 20 63 6f 6e .insize;.else.return.0;.}....con
52b00 73 74 20 42 6c 6f 63 6b 20 26 20 64 62 6c 6f 63 6b 28 20 63 6f 6e 73 74 20 6c 6f 6e 67 20 69 20 st.Block.&.dblock(.const.long.i.
52b20 29 20 63 6f 6e 73 74 0a 20 20 20 20 7b 20 72 65 74 75 72 6e 20 6d 65 6d 62 65 72 5f 76 65 63 74 ).const.....{.return.member_vect
52b40 6f 72 5b 69 5d 2e 64 62 6c 6f 63 6b 3b 20 7d 0a 20 20 63 6f 6e 73 74 20 42 6c 6f 63 6b 20 26 20 or[i].dblock;.}...const.Block.&.
52b60 6d 62 6c 6f 63 6b 28 20 63 6f 6e 73 74 20 6c 6f 6e 67 20 69 20 29 20 63 6f 6e 73 74 0a 20 20 20 mblock(.const.long.i.).const....
52b80 20 7b 20 72 65 74 75 72 6e 20 6d 65 6d 62 65 72 5f 76 65 63 74 6f 72 5b 69 5d 2e 6d 62 6c 6f 63 .{.return.member_vector[i].mbloc
52ba0 6b 3b 20 7d 0a 20 20 75 6e 73 69 67 6e 65 64 20 64 69 63 74 69 6f 6e 61 72 79 5f 73 69 7a 65 28 k;.}...unsigned.dictionary_size(
52bc0 20 63 6f 6e 73 74 20 6c 6f 6e 67 20 69 20 29 20 63 6f 6e 73 74 0a 20 20 20 20 7b 20 72 65 74 75 .const.long.i.).const.....{.retu
52be0 72 6e 20 6d 65 6d 62 65 72 5f 76 65 63 74 6f 72 5b 69 5d 2e 64 69 63 74 69 6f 6e 61 72 79 5f 73 rn.member_vector[i].dictionary_s
52c00 69 7a 65 3b 20 7d 0a 20 20 7d 3b 0a 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ize;.}...};.....................
52c20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
52c40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
52c60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
52c80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
52ca0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
52cc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
52ce0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
52d00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
52d20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
52d40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
52d60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
52d80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
52da0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
52dc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
52de0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
52e00 6c 7a 69 70 2d 31 2e 32 32 2f 74 65 73 74 73 75 69 74 65 2f 00 00 00 00 00 00 00 00 00 00 00 00 lzip-1.22/testsuite/............
52e20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
52e40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
52e60 00 00 00 00 30 30 30 30 37 35 35 00 30 30 30 30 30 30 30 00 30 30 30 30 30 30 30 00 30 30 30 30 ....0000755.0000000.0000000.0000
52e80 30 30 30 30 30 30 30 00 31 34 31 32 36 34 31 33 33 34 34 00 30 31 34 34 34 35 00 20 35 00 00 00 0000000.14126413344.014445..5...
52ea0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
52ec0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
52ee0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
52f00 00 75 73 74 61 72 00 30 30 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .ustar.00root...................
52f20 00 00 00 00 00 00 00 00 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .........root...................
52f40 00 00 00 00 00 00 00 00 00 30 30 30 30 30 30 30 00 30 30 30 30 30 30 30 00 00 00 00 00 00 00 00 .........0000000.0000000........
52f60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
52f80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
52fa0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
52fc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
52fe0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
53000 6c 7a 69 70 2d 31 2e 32 32 2f 74 65 73 74 73 75 69 74 65 2f 66 6f 78 5f 64 65 32 30 2e 6c 7a 00 lzip-1.22/testsuite/fox_de20.lz.
53020 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
53040 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
53060 00 00 00 00 30 30 30 30 36 34 34 00 30 30 30 30 30 30 30 00 30 30 30 30 30 30 30 00 30 30 30 30 ....0000644.0000000.0000000.0000
53080 30 30 30 30 31 32 30 00 31 32 33 34 37 34 32 37 34 35 34 00 30 31 36 34 32 35 00 20 30 00 00 00 0000120.12347427454.016425..0...
530a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
530c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
530e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
53100 00 75 73 74 61 72 00 30 30 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .ustar.00root...................
53120 00 00 00 00 00 00 00 00 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .........root...................
53140 00 00 00 00 00 00 00 00 00 30 30 30 30 30 30 30 00 30 30 30 30 30 30 30 00 00 00 00 00 00 00 00 .........0000000.0000000........
53160 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
53180 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
531a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
531c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
531e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
53200 4c 5a 49 50 01 0c 00 2a 1a 08 a2 03 25 66 f1 4b 78 c5 a2 05 fe 2e e6 d9 d2 20 1a ad 34 f8 e2 1d LZIP...*....%f.Kx...........4...
53220 e8 41 36 fa dc 06 69 bb 3c e4 10 34 27 09 eb b3 66 e3 ec 97 ea ae 23 ff fe 8e a0 00 6a cc 50 eb .A6...i.<..4'...f.....#.....j.P.
53240 2d 00 00 00 00 00 00 00 50 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 -.......P.......................
53260 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
53280 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
532a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
532c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
532e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
53300 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
53320 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
53340 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
53360 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
53380 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
533a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
533c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
533e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
53400 6c 7a 69 70 2d 31 2e 32 32 2f 74 65 73 74 73 75 69 74 65 2f 74 65 73 74 2e 74 78 74 00 00 00 00 lzip-1.22/testsuite/test.txt....
53420 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
53440 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
53460 00 00 00 00 30 30 30 30 36 34 34 00 30 30 30 30 30 30 30 00 30 30 30 30 30 30 30 00 30 30 30 30 ....0000644.0000000.0000000.0000
53480 30 31 30 37 30 34 34 00 31 32 33 34 37 34 32 37 34 35 34 00 30 31 36 32 30 35 00 20 30 00 00 00 0107044.12347427454.016205..0...
534a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
534c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
534e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
53500 00 75 73 74 61 72 00 30 30 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .ustar.00root...................
53520 00 00 00 00 00 00 00 00 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .........root...................
53540 00 00 00 00 00 00 00 00 00 30 30 30 30 30 30 30 00 30 30 30 30 30 30 30 00 00 00 00 00 00 00 00 .........0000000.0000000........
53560 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
53580 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
535a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
535c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
535e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
53600 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 47 4e 55 20 47 45 4e 45 52 41 4c 20 ....................GNU.GENERAL.
53620 50 55 42 4c 49 43 20 4c 49 43 45 4e 53 45 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 PUBLIC.LICENSE..................
53640 20 20 20 20 20 20 56 65 72 73 69 6f 6e 20 32 2c 20 4a 75 6e 65 20 31 39 39 31 0a 0a 20 43 6f 70 ......Version.2,.June.1991...Cop
53660 79 72 69 67 68 74 20 28 43 29 20 31 39 38 39 2c 20 31 39 39 31 20 46 72 65 65 20 53 6f 66 74 77 yright.(C).1989,.1991.Free.Softw
53680 61 72 65 20 46 6f 75 6e 64 61 74 69 6f 6e 2c 20 49 6e 63 2e 2c 0a 20 35 31 20 46 72 61 6e 6b 6c are.Foundation,.Inc.,..51.Frankl
536a0 69 6e 20 53 74 72 65 65 74 2c 20 46 69 66 74 68 20 46 6c 6f 6f 72 2c 20 42 6f 73 74 6f 6e 2c 20 in.Street,.Fifth.Floor,.Boston,.
536c0 4d 41 20 30 32 31 31 30 2d 31 33 30 31 20 55 53 41 0a 20 45 76 65 72 79 6f 6e 65 20 69 73 20 70 MA.02110-1301.USA..Everyone.is.p
536e0 65 72 6d 69 74 74 65 64 20 74 6f 20 63 6f 70 79 20 61 6e 64 20 64 69 73 74 72 69 62 75 74 65 20 ermitted.to.copy.and.distribute.
53700 76 65 72 62 61 74 69 6d 20 63 6f 70 69 65 73 0a 20 6f 66 20 74 68 69 73 20 6c 69 63 65 6e 73 65 verbatim.copies..of.this.license
53720 20 64 6f 63 75 6d 65 6e 74 2c 20 62 75 74 20 63 68 61 6e 67 69 6e 67 20 69 74 20 69 73 20 6e 6f .document,.but.changing.it.is.no
53740 74 20 61 6c 6c 6f 77 65 64 2e 0a 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 t.allowed.......................
53760 20 20 20 20 20 20 20 20 50 72 65 61 6d 62 6c 65 0a 0a 20 20 54 68 65 20 6c 69 63 65 6e 73 65 73 ........Preamble....The.licenses
53780 20 66 6f 72 20 6d 6f 73 74 20 73 6f 66 74 77 61 72 65 20 61 72 65 20 64 65 73 69 67 6e 65 64 20 .for.most.software.are.designed.
537a0 74 6f 20 74 61 6b 65 20 61 77 61 79 20 79 6f 75 72 0a 66 72 65 65 64 6f 6d 20 74 6f 20 73 68 61 to.take.away.your.freedom.to.sha
537c0 72 65 20 61 6e 64 20 63 68 61 6e 67 65 20 69 74 2e 20 20 42 79 20 63 6f 6e 74 72 61 73 74 2c 20 re.and.change.it...By.contrast,.
537e0 74 68 65 20 47 4e 55 20 47 65 6e 65 72 61 6c 20 50 75 62 6c 69 63 0a 4c 69 63 65 6e 73 65 20 69 the.GNU.General.Public.License.i
53800 73 20 69 6e 74 65 6e 64 65 64 20 74 6f 20 67 75 61 72 61 6e 74 65 65 20 79 6f 75 72 20 66 72 65 s.intended.to.guarantee.your.fre
53820 65 64 6f 6d 20 74 6f 20 73 68 61 72 65 20 61 6e 64 20 63 68 61 6e 67 65 20 66 72 65 65 0a 73 6f edom.to.share.and.change.free.so
53840 66 74 77 61 72 65 2d 2d 74 6f 20 6d 61 6b 65 20 73 75 72 65 20 74 68 65 20 73 6f 66 74 77 61 72 ftware--to.make.sure.the.softwar
53860 65 20 69 73 20 66 72 65 65 20 66 6f 72 20 61 6c 6c 20 69 74 73 20 75 73 65 72 73 2e 20 20 54 68 e.is.free.for.all.its.users...Th
53880 69 73 0a 47 65 6e 65 72 61 6c 20 50 75 62 6c 69 63 20 4c 69 63 65 6e 73 65 20 61 70 70 6c 69 65 is.General.Public.License.applie
538a0 73 20 74 6f 20 6d 6f 73 74 20 6f 66 20 74 68 65 20 46 72 65 65 20 53 6f 66 74 77 61 72 65 0a 46 s.to.most.of.the.Free.Software.F
538c0 6f 75 6e 64 61 74 69 6f 6e 27 73 20 73 6f 66 74 77 61 72 65 20 61 6e 64 20 74 6f 20 61 6e 79 20 oundation's.software.and.to.any.
538e0 6f 74 68 65 72 20 70 72 6f 67 72 61 6d 20 77 68 6f 73 65 20 61 75 74 68 6f 72 73 20 63 6f 6d 6d other.program.whose.authors.comm
53900 69 74 20 74 6f 0a 75 73 69 6e 67 20 69 74 2e 20 20 28 53 6f 6d 65 20 6f 74 68 65 72 20 46 72 65 it.to.using.it...(Some.other.Fre
53920 65 20 53 6f 66 74 77 61 72 65 20 46 6f 75 6e 64 61 74 69 6f 6e 20 73 6f 66 74 77 61 72 65 20 69 e.Software.Foundation.software.i
53940 73 20 63 6f 76 65 72 65 64 20 62 79 0a 74 68 65 20 47 4e 55 20 4c 65 73 73 65 72 20 47 65 6e 65 s.covered.by.the.GNU.Lesser.Gene
53960 72 61 6c 20 50 75 62 6c 69 63 20 4c 69 63 65 6e 73 65 20 69 6e 73 74 65 61 64 2e 29 20 20 59 6f ral.Public.License.instead.)..Yo
53980 75 20 63 61 6e 20 61 70 70 6c 79 20 69 74 20 74 6f 0a 79 6f 75 72 20 70 72 6f 67 72 61 6d 73 2c u.can.apply.it.to.your.programs,
539a0 20 74 6f 6f 2e 0a 0a 20 20 57 68 65 6e 20 77 65 20 73 70 65 61 6b 20 6f 66 20 66 72 65 65 20 73 .too.....When.we.speak.of.free.s
539c0 6f 66 74 77 61 72 65 2c 20 77 65 20 61 72 65 20 72 65 66 65 72 72 69 6e 67 20 74 6f 20 66 72 65 oftware,.we.are.referring.to.fre
539e0 65 64 6f 6d 2c 20 6e 6f 74 0a 70 72 69 63 65 2e 20 20 4f 75 72 20 47 65 6e 65 72 61 6c 20 50 75 edom,.not.price...Our.General.Pu
53a00 62 6c 69 63 20 4c 69 63 65 6e 73 65 73 20 61 72 65 20 64 65 73 69 67 6e 65 64 20 74 6f 20 6d 61 blic.Licenses.are.designed.to.ma
53a20 6b 65 20 73 75 72 65 20 74 68 61 74 20 79 6f 75 0a 68 61 76 65 20 74 68 65 20 66 72 65 65 64 6f ke.sure.that.you.have.the.freedo
53a40 6d 20 74 6f 20 64 69 73 74 72 69 62 75 74 65 20 63 6f 70 69 65 73 20 6f 66 20 66 72 65 65 20 73 m.to.distribute.copies.of.free.s
53a60 6f 66 74 77 61 72 65 20 28 61 6e 64 20 63 68 61 72 67 65 20 66 6f 72 0a 74 68 69 73 20 73 65 72 oftware.(and.charge.for.this.ser
53a80 76 69 63 65 20 69 66 20 79 6f 75 20 77 69 73 68 29 2c 20 74 68 61 74 20 79 6f 75 20 72 65 63 65 vice.if.you.wish),.that.you.rece
53aa0 69 76 65 20 73 6f 75 72 63 65 20 63 6f 64 65 20 6f 72 20 63 61 6e 20 67 65 74 20 69 74 0a 69 66 ive.source.code.or.can.get.it.if
53ac0 20 79 6f 75 20 77 61 6e 74 20 69 74 2c 20 74 68 61 74 20 79 6f 75 20 63 61 6e 20 63 68 61 6e 67 .you.want.it,.that.you.can.chang
53ae0 65 20 74 68 65 20 73 6f 66 74 77 61 72 65 20 6f 72 20 75 73 65 20 70 69 65 63 65 73 20 6f 66 20 e.the.software.or.use.pieces.of.
53b00 69 74 0a 69 6e 20 6e 65 77 20 66 72 65 65 20 70 72 6f 67 72 61 6d 73 3b 20 61 6e 64 20 74 68 61 it.in.new.free.programs;.and.tha
53b20 74 20 79 6f 75 20 6b 6e 6f 77 20 79 6f 75 20 63 61 6e 20 64 6f 20 74 68 65 73 65 20 74 68 69 6e t.you.know.you.can.do.these.thin
53b40 67 73 2e 0a 0a 20 20 54 6f 20 70 72 6f 74 65 63 74 20 79 6f 75 72 20 72 69 67 68 74 73 2c 20 77 gs.....To.protect.your.rights,.w
53b60 65 20 6e 65 65 64 20 74 6f 20 6d 61 6b 65 20 72 65 73 74 72 69 63 74 69 6f 6e 73 20 74 68 61 74 e.need.to.make.restrictions.that
53b80 20 66 6f 72 62 69 64 0a 61 6e 79 6f 6e 65 20 74 6f 20 64 65 6e 79 20 79 6f 75 20 74 68 65 73 65 .forbid.anyone.to.deny.you.these
53ba0 20 72 69 67 68 74 73 20 6f 72 20 74 6f 20 61 73 6b 20 79 6f 75 20 74 6f 20 73 75 72 72 65 6e 64 .rights.or.to.ask.you.to.surrend
53bc0 65 72 20 74 68 65 20 72 69 67 68 74 73 2e 0a 54 68 65 73 65 20 72 65 73 74 72 69 63 74 69 6f 6e er.the.rights..These.restriction
53be0 73 20 74 72 61 6e 73 6c 61 74 65 20 74 6f 20 63 65 72 74 61 69 6e 20 72 65 73 70 6f 6e 73 69 62 s.translate.to.certain.responsib
53c00 69 6c 69 74 69 65 73 20 66 6f 72 20 79 6f 75 20 69 66 20 79 6f 75 0a 64 69 73 74 72 69 62 75 74 ilities.for.you.if.you.distribut
53c20 65 20 63 6f 70 69 65 73 20 6f 66 20 74 68 65 20 73 6f 66 74 77 61 72 65 2c 20 6f 72 20 69 66 20 e.copies.of.the.software,.or.if.
53c40 79 6f 75 20 6d 6f 64 69 66 79 20 69 74 2e 0a 0a 20 20 46 6f 72 20 65 78 61 6d 70 6c 65 2c 20 69 you.modify.it.....For.example,.i
53c60 66 20 79 6f 75 20 64 69 73 74 72 69 62 75 74 65 20 63 6f 70 69 65 73 20 6f 66 20 73 75 63 68 20 f.you.distribute.copies.of.such.
53c80 61 20 70 72 6f 67 72 61 6d 2c 20 77 68 65 74 68 65 72 0a 67 72 61 74 69 73 20 6f 72 20 66 6f 72 a.program,.whether.gratis.or.for
53ca0 20 61 20 66 65 65 2c 20 79 6f 75 20 6d 75 73 74 20 67 69 76 65 20 74 68 65 20 72 65 63 69 70 69 .a.fee,.you.must.give.the.recipi
53cc0 65 6e 74 73 20 61 6c 6c 20 74 68 65 20 72 69 67 68 74 73 20 74 68 61 74 0a 79 6f 75 20 68 61 76 ents.all.the.rights.that.you.hav
53ce0 65 2e 20 20 59 6f 75 20 6d 75 73 74 20 6d 61 6b 65 20 73 75 72 65 20 74 68 61 74 20 74 68 65 79 e...You.must.make.sure.that.they
53d00 2c 20 74 6f 6f 2c 20 72 65 63 65 69 76 65 20 6f 72 20 63 61 6e 20 67 65 74 20 74 68 65 0a 73 6f ,.too,.receive.or.can.get.the.so
53d20 75 72 63 65 20 63 6f 64 65 2e 20 20 41 6e 64 20 79 6f 75 20 6d 75 73 74 20 73 68 6f 77 20 74 68 urce.code...And.you.must.show.th
53d40 65 6d 20 74 68 65 73 65 20 74 65 72 6d 73 20 73 6f 20 74 68 65 79 20 6b 6e 6f 77 20 74 68 65 69 em.these.terms.so.they.know.thei
53d60 72 0a 72 69 67 68 74 73 2e 0a 0a 20 20 57 65 20 70 72 6f 74 65 63 74 20 79 6f 75 72 20 72 69 67 r.rights.....We.protect.your.rig
53d80 68 74 73 20 77 69 74 68 20 74 77 6f 20 73 74 65 70 73 3a 20 28 31 29 20 63 6f 70 79 72 69 67 68 hts.with.two.steps:.(1).copyrigh
53da0 74 20 74 68 65 20 73 6f 66 74 77 61 72 65 2c 20 61 6e 64 0a 28 32 29 20 6f 66 66 65 72 20 79 6f t.the.software,.and.(2).offer.yo
53dc0 75 20 74 68 69 73 20 6c 69 63 65 6e 73 65 20 77 68 69 63 68 20 67 69 76 65 73 20 79 6f 75 20 6c u.this.license.which.gives.you.l
53de0 65 67 61 6c 20 70 65 72 6d 69 73 73 69 6f 6e 20 74 6f 20 63 6f 70 79 2c 0a 64 69 73 74 72 69 62 egal.permission.to.copy,.distrib
53e00 75 74 65 20 61 6e 64 2f 6f 72 20 6d 6f 64 69 66 79 20 74 68 65 20 73 6f 66 74 77 61 72 65 2e 0a ute.and/or.modify.the.software..
53e20 0a 20 20 41 6c 73 6f 2c 20 66 6f 72 20 65 61 63 68 20 61 75 74 68 6f 72 27 73 20 70 72 6f 74 65 ...Also,.for.each.author's.prote
53e40 63 74 69 6f 6e 20 61 6e 64 20 6f 75 72 73 2c 20 77 65 20 77 61 6e 74 20 74 6f 20 6d 61 6b 65 20 ction.and.ours,.we.want.to.make.
53e60 63 65 72 74 61 69 6e 0a 74 68 61 74 20 65 76 65 72 79 6f 6e 65 20 75 6e 64 65 72 73 74 61 6e 64 certain.that.everyone.understand
53e80 73 20 74 68 61 74 20 74 68 65 72 65 20 69 73 20 6e 6f 20 77 61 72 72 61 6e 74 79 20 66 6f 72 20 s.that.there.is.no.warranty.for.
53ea0 74 68 69 73 20 66 72 65 65 0a 73 6f 66 74 77 61 72 65 2e 20 20 49 66 20 74 68 65 20 73 6f 66 74 this.free.software...If.the.soft
53ec0 77 61 72 65 20 69 73 20 6d 6f 64 69 66 69 65 64 20 62 79 20 73 6f 6d 65 6f 6e 65 20 65 6c 73 65 ware.is.modified.by.someone.else
53ee0 20 61 6e 64 20 70 61 73 73 65 64 20 6f 6e 2c 20 77 65 0a 77 61 6e 74 20 69 74 73 20 72 65 63 69 .and.passed.on,.we.want.its.reci
53f00 70 69 65 6e 74 73 20 74 6f 20 6b 6e 6f 77 20 74 68 61 74 20 77 68 61 74 20 74 68 65 79 20 68 61 pients.to.know.that.what.they.ha
53f20 76 65 20 69 73 20 6e 6f 74 20 74 68 65 20 6f 72 69 67 69 6e 61 6c 2c 20 73 6f 0a 74 68 61 74 20 ve.is.not.the.original,.so.that.
53f40 61 6e 79 20 70 72 6f 62 6c 65 6d 73 20 69 6e 74 72 6f 64 75 63 65 64 20 62 79 20 6f 74 68 65 72 any.problems.introduced.by.other
53f60 73 20 77 69 6c 6c 20 6e 6f 74 20 72 65 66 6c 65 63 74 20 6f 6e 20 74 68 65 20 6f 72 69 67 69 6e s.will.not.reflect.on.the.origin
53f80 61 6c 0a 61 75 74 68 6f 72 73 27 20 72 65 70 75 74 61 74 69 6f 6e 73 2e 0a 0a 20 20 46 69 6e 61 al.authors'.reputations.....Fina
53fa0 6c 6c 79 2c 20 61 6e 79 20 66 72 65 65 20 70 72 6f 67 72 61 6d 20 69 73 20 74 68 72 65 61 74 65 lly,.any.free.program.is.threate
53fc0 6e 65 64 20 63 6f 6e 73 74 61 6e 74 6c 79 20 62 79 20 73 6f 66 74 77 61 72 65 0a 70 61 74 65 6e ned.constantly.by.software.paten
53fe0 74 73 2e 20 20 57 65 20 77 69 73 68 20 74 6f 20 61 76 6f 69 64 20 74 68 65 20 64 61 6e 67 65 72 ts...We.wish.to.avoid.the.danger
54000 20 74 68 61 74 20 72 65 64 69 73 74 72 69 62 75 74 6f 72 73 20 6f 66 20 61 20 66 72 65 65 0a 70 .that.redistributors.of.a.free.p
54020 72 6f 67 72 61 6d 20 77 69 6c 6c 20 69 6e 64 69 76 69 64 75 61 6c 6c 79 20 6f 62 74 61 69 6e 20 rogram.will.individually.obtain.
54040 70 61 74 65 6e 74 20 6c 69 63 65 6e 73 65 73 2c 20 69 6e 20 65 66 66 65 63 74 20 6d 61 6b 69 6e patent.licenses,.in.effect.makin
54060 67 20 74 68 65 0a 70 72 6f 67 72 61 6d 20 70 72 6f 70 72 69 65 74 61 72 79 2e 20 20 54 6f 20 70 g.the.program.proprietary...To.p
54080 72 65 76 65 6e 74 20 74 68 69 73 2c 20 77 65 20 68 61 76 65 20 6d 61 64 65 20 69 74 20 63 6c 65 revent.this,.we.have.made.it.cle
540a0 61 72 20 74 68 61 74 20 61 6e 79 0a 70 61 74 65 6e 74 20 6d 75 73 74 20 62 65 20 6c 69 63 65 6e ar.that.any.patent.must.be.licen
540c0 73 65 64 20 66 6f 72 20 65 76 65 72 79 6f 6e 65 27 73 20 66 72 65 65 20 75 73 65 20 6f 72 20 6e sed.for.everyone's.free.use.or.n
540e0 6f 74 20 6c 69 63 65 6e 73 65 64 20 61 74 20 61 6c 6c 2e 0a 0a 20 20 54 68 65 20 70 72 65 63 69 ot.licensed.at.all.....The.preci
54100 73 65 20 74 65 72 6d 73 20 61 6e 64 20 63 6f 6e 64 69 74 69 6f 6e 73 20 66 6f 72 20 63 6f 70 79 se.terms.and.conditions.for.copy
54120 69 6e 67 2c 20 64 69 73 74 72 69 62 75 74 69 6f 6e 20 61 6e 64 0a 6d 6f 64 69 66 69 63 61 74 69 ing,.distribution.and.modificati
54140 6f 6e 20 66 6f 6c 6c 6f 77 2e 0a 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 on.follow.......................
54160 47 4e 55 20 47 45 4e 45 52 41 4c 20 50 55 42 4c 49 43 20 4c 49 43 45 4e 53 45 0a 20 20 20 54 45 GNU.GENERAL.PUBLIC.LICENSE....TE
54180 52 4d 53 20 41 4e 44 20 43 4f 4e 44 49 54 49 4f 4e 53 20 46 4f 52 20 43 4f 50 59 49 4e 47 2c 20 RMS.AND.CONDITIONS.FOR.COPYING,.
541a0 44 49 53 54 52 49 42 55 54 49 4f 4e 20 41 4e 44 20 4d 4f 44 49 46 49 43 41 54 49 4f 4e 0a 0a 20 DISTRIBUTION.AND.MODIFICATION...
541c0 20 30 2e 20 54 68 69 73 20 4c 69 63 65 6e 73 65 20 61 70 70 6c 69 65 73 20 74 6f 20 61 6e 79 20 .0..This.License.applies.to.any.
541e0 70 72 6f 67 72 61 6d 20 6f 72 20 6f 74 68 65 72 20 77 6f 72 6b 20 77 68 69 63 68 20 63 6f 6e 74 program.or.other.work.which.cont
54200 61 69 6e 73 0a 61 20 6e 6f 74 69 63 65 20 70 6c 61 63 65 64 20 62 79 20 74 68 65 20 63 6f 70 79 ains.a.notice.placed.by.the.copy
54220 72 69 67 68 74 20 68 6f 6c 64 65 72 20 73 61 79 69 6e 67 20 69 74 20 6d 61 79 20 62 65 20 64 69 right.holder.saying.it.may.be.di
54240 73 74 72 69 62 75 74 65 64 0a 75 6e 64 65 72 20 74 68 65 20 74 65 72 6d 73 20 6f 66 20 74 68 69 stributed.under.the.terms.of.thi
54260 73 20 47 65 6e 65 72 61 6c 20 50 75 62 6c 69 63 20 4c 69 63 65 6e 73 65 2e 20 20 54 68 65 20 22 s.General.Public.License...The."
54280 50 72 6f 67 72 61 6d 22 2c 20 62 65 6c 6f 77 2c 0a 72 65 66 65 72 73 20 74 6f 20 61 6e 79 20 73 Program",.below,.refers.to.any.s
542a0 75 63 68 20 70 72 6f 67 72 61 6d 20 6f 72 20 77 6f 72 6b 2c 20 61 6e 64 20 61 20 22 77 6f 72 6b uch.program.or.work,.and.a."work
542c0 20 62 61 73 65 64 20 6f 6e 20 74 68 65 20 50 72 6f 67 72 61 6d 22 0a 6d 65 61 6e 73 20 65 69 74 .based.on.the.Program".means.eit
542e0 68 65 72 20 74 68 65 20 50 72 6f 67 72 61 6d 20 6f 72 20 61 6e 79 20 64 65 72 69 76 61 74 69 76 her.the.Program.or.any.derivativ
54300 65 20 77 6f 72 6b 20 75 6e 64 65 72 20 63 6f 70 79 72 69 67 68 74 20 6c 61 77 3a 0a 74 68 61 74 e.work.under.copyright.law:.that
54320 20 69 73 20 74 6f 20 73 61 79 2c 20 61 20 77 6f 72 6b 20 63 6f 6e 74 61 69 6e 69 6e 67 20 74 68 .is.to.say,.a.work.containing.th
54340 65 20 50 72 6f 67 72 61 6d 20 6f 72 20 61 20 70 6f 72 74 69 6f 6e 20 6f 66 20 69 74 2c 0a 65 69 e.Program.or.a.portion.of.it,.ei
54360 74 68 65 72 20 76 65 72 62 61 74 69 6d 20 6f 72 20 77 69 74 68 20 6d 6f 64 69 66 69 63 61 74 69 ther.verbatim.or.with.modificati
54380 6f 6e 73 20 61 6e 64 2f 6f 72 20 74 72 61 6e 73 6c 61 74 65 64 20 69 6e 74 6f 20 61 6e 6f 74 68 ons.and/or.translated.into.anoth
543a0 65 72 0a 6c 61 6e 67 75 61 67 65 2e 20 20 28 48 65 72 65 69 6e 61 66 74 65 72 2c 20 74 72 61 6e er.language...(Hereinafter,.tran
543c0 73 6c 61 74 69 6f 6e 20 69 73 20 69 6e 63 6c 75 64 65 64 20 77 69 74 68 6f 75 74 20 6c 69 6d 69 slation.is.included.without.limi
543e0 74 61 74 69 6f 6e 20 69 6e 0a 74 68 65 20 74 65 72 6d 20 22 6d 6f 64 69 66 69 63 61 74 69 6f 6e tation.in.the.term."modification
54400 22 2e 29 20 20 45 61 63 68 20 6c 69 63 65 6e 73 65 65 20 69 73 20 61 64 64 72 65 73 73 65 64 20 ".)..Each.licensee.is.addressed.
54420 61 73 20 22 79 6f 75 22 2e 0a 0a 41 63 74 69 76 69 74 69 65 73 20 6f 74 68 65 72 20 74 68 61 6e as."you"...Activities.other.than
54440 20 63 6f 70 79 69 6e 67 2c 20 64 69 73 74 72 69 62 75 74 69 6f 6e 20 61 6e 64 20 6d 6f 64 69 66 .copying,.distribution.and.modif
54460 69 63 61 74 69 6f 6e 20 61 72 65 20 6e 6f 74 0a 63 6f 76 65 72 65 64 20 62 79 20 74 68 69 73 20 ication.are.not.covered.by.this.
54480 4c 69 63 65 6e 73 65 3b 20 74 68 65 79 20 61 72 65 20 6f 75 74 73 69 64 65 20 69 74 73 20 73 63 License;.they.are.outside.its.sc
544a0 6f 70 65 2e 20 20 54 68 65 20 61 63 74 20 6f 66 0a 72 75 6e 6e 69 6e 67 20 74 68 65 20 50 72 6f ope...The.act.of.running.the.Pro
544c0 67 72 61 6d 20 69 73 20 6e 6f 74 20 72 65 73 74 72 69 63 74 65 64 2c 20 61 6e 64 20 74 68 65 20 gram.is.not.restricted,.and.the.
544e0 6f 75 74 70 75 74 20 66 72 6f 6d 20 74 68 65 20 50 72 6f 67 72 61 6d 0a 69 73 20 63 6f 76 65 72 output.from.the.Program.is.cover
54500 65 64 20 6f 6e 6c 79 20 69 66 20 69 74 73 20 63 6f 6e 74 65 6e 74 73 20 63 6f 6e 73 74 69 74 75 ed.only.if.its.contents.constitu
54520 74 65 20 61 20 77 6f 72 6b 20 62 61 73 65 64 20 6f 6e 20 74 68 65 0a 50 72 6f 67 72 61 6d 20 28 te.a.work.based.on.the.Program.(
54540 69 6e 64 65 70 65 6e 64 65 6e 74 20 6f 66 20 68 61 76 69 6e 67 20 62 65 65 6e 20 6d 61 64 65 20 independent.of.having.been.made.
54560 62 79 20 72 75 6e 6e 69 6e 67 20 74 68 65 20 50 72 6f 67 72 61 6d 29 2e 0a 57 68 65 74 68 65 72 by.running.the.Program)..Whether
54580 20 74 68 61 74 20 69 73 20 74 72 75 65 20 64 65 70 65 6e 64 73 20 6f 6e 20 77 68 61 74 20 74 68 .that.is.true.depends.on.what.th
545a0 65 20 50 72 6f 67 72 61 6d 20 64 6f 65 73 2e 0a 0a 20 20 31 2e 20 59 6f 75 20 6d 61 79 20 63 6f e.Program.does.....1..You.may.co
545c0 70 79 20 61 6e 64 20 64 69 73 74 72 69 62 75 74 65 20 76 65 72 62 61 74 69 6d 20 63 6f 70 69 65 py.and.distribute.verbatim.copie
545e0 73 20 6f 66 20 74 68 65 20 50 72 6f 67 72 61 6d 27 73 0a 73 6f 75 72 63 65 20 63 6f 64 65 20 61 s.of.the.Program's.source.code.a
54600 73 20 79 6f 75 20 72 65 63 65 69 76 65 20 69 74 2c 20 69 6e 20 61 6e 79 20 6d 65 64 69 75 6d 2c s.you.receive.it,.in.any.medium,
54620 20 70 72 6f 76 69 64 65 64 20 74 68 61 74 20 79 6f 75 0a 63 6f 6e 73 70 69 63 75 6f 75 73 6c 79 .provided.that.you.conspicuously
54640 20 61 6e 64 20 61 70 70 72 6f 70 72 69 61 74 65 6c 79 20 70 75 62 6c 69 73 68 20 6f 6e 20 65 61 .and.appropriately.publish.on.ea
54660 63 68 20 63 6f 70 79 20 61 6e 20 61 70 70 72 6f 70 72 69 61 74 65 0a 63 6f 70 79 72 69 67 68 74 ch.copy.an.appropriate.copyright
54680 20 6e 6f 74 69 63 65 20 61 6e 64 20 64 69 73 63 6c 61 69 6d 65 72 20 6f 66 20 77 61 72 72 61 6e .notice.and.disclaimer.of.warran
546a0 74 79 3b 20 6b 65 65 70 20 69 6e 74 61 63 74 20 61 6c 6c 20 74 68 65 0a 6e 6f 74 69 63 65 73 20 ty;.keep.intact.all.the.notices.
546c0 74 68 61 74 20 72 65 66 65 72 20 74 6f 20 74 68 69 73 20 4c 69 63 65 6e 73 65 20 61 6e 64 20 74 that.refer.to.this.License.and.t
546e0 6f 20 74 68 65 20 61 62 73 65 6e 63 65 20 6f 66 20 61 6e 79 20 77 61 72 72 61 6e 74 79 3b 0a 61 o.the.absence.of.any.warranty;.a
54700 6e 64 20 67 69 76 65 20 61 6e 79 20 6f 74 68 65 72 20 72 65 63 69 70 69 65 6e 74 73 20 6f 66 20 nd.give.any.other.recipients.of.
54720 74 68 65 20 50 72 6f 67 72 61 6d 20 61 20 63 6f 70 79 20 6f 66 20 74 68 69 73 20 4c 69 63 65 6e the.Program.a.copy.of.this.Licen
54740 73 65 0a 61 6c 6f 6e 67 20 77 69 74 68 20 74 68 65 20 50 72 6f 67 72 61 6d 2e 0a 0a 59 6f 75 20 se.along.with.the.Program...You.
54760 6d 61 79 20 63 68 61 72 67 65 20 61 20 66 65 65 20 66 6f 72 20 74 68 65 20 70 68 79 73 69 63 61 may.charge.a.fee.for.the.physica
54780 6c 20 61 63 74 20 6f 66 20 74 72 61 6e 73 66 65 72 72 69 6e 67 20 61 20 63 6f 70 79 2c 20 61 6e l.act.of.transferring.a.copy,.an
547a0 64 0a 79 6f 75 20 6d 61 79 20 61 74 20 79 6f 75 72 20 6f 70 74 69 6f 6e 20 6f 66 66 65 72 20 77 d.you.may.at.your.option.offer.w
547c0 61 72 72 61 6e 74 79 20 70 72 6f 74 65 63 74 69 6f 6e 20 69 6e 20 65 78 63 68 61 6e 67 65 20 66 arranty.protection.in.exchange.f
547e0 6f 72 20 61 20 66 65 65 2e 0a 0a 20 20 32 2e 20 59 6f 75 20 6d 61 79 20 6d 6f 64 69 66 79 20 79 or.a.fee.....2..You.may.modify.y
54800 6f 75 72 20 63 6f 70 79 20 6f 72 20 63 6f 70 69 65 73 20 6f 66 20 74 68 65 20 50 72 6f 67 72 61 our.copy.or.copies.of.the.Progra
54820 6d 20 6f 72 20 61 6e 79 20 70 6f 72 74 69 6f 6e 0a 6f 66 20 69 74 2c 20 74 68 75 73 20 66 6f 72 m.or.any.portion.of.it,.thus.for
54840 6d 69 6e 67 20 61 20 77 6f 72 6b 20 62 61 73 65 64 20 6f 6e 20 74 68 65 20 50 72 6f 67 72 61 6d ming.a.work.based.on.the.Program
54860 2c 20 61 6e 64 20 63 6f 70 79 20 61 6e 64 0a 64 69 73 74 72 69 62 75 74 65 20 73 75 63 68 20 6d ,.and.copy.and.distribute.such.m
54880 6f 64 69 66 69 63 61 74 69 6f 6e 73 20 6f 72 20 77 6f 72 6b 20 75 6e 64 65 72 20 74 68 65 20 74 odifications.or.work.under.the.t
548a0 65 72 6d 73 20 6f 66 20 53 65 63 74 69 6f 6e 20 31 0a 61 62 6f 76 65 2c 20 70 72 6f 76 69 64 65 erms.of.Section.1.above,.provide
548c0 64 20 74 68 61 74 20 79 6f 75 20 61 6c 73 6f 20 6d 65 65 74 20 61 6c 6c 20 6f 66 20 74 68 65 73 d.that.you.also.meet.all.of.thes
548e0 65 20 63 6f 6e 64 69 74 69 6f 6e 73 3a 0a 0a 20 20 20 20 61 29 20 59 6f 75 20 6d 75 73 74 20 63 e.conditions:......a).You.must.c
54900 61 75 73 65 20 74 68 65 20 6d 6f 64 69 66 69 65 64 20 66 69 6c 65 73 20 74 6f 20 63 61 72 72 79 ause.the.modified.files.to.carry
54920 20 70 72 6f 6d 69 6e 65 6e 74 20 6e 6f 74 69 63 65 73 0a 20 20 20 20 73 74 61 74 69 6e 67 20 74 .prominent.notices.....stating.t
54940 68 61 74 20 79 6f 75 20 63 68 61 6e 67 65 64 20 74 68 65 20 66 69 6c 65 73 20 61 6e 64 20 74 68 hat.you.changed.the.files.and.th
54960 65 20 64 61 74 65 20 6f 66 20 61 6e 79 20 63 68 61 6e 67 65 2e 0a 0a 20 20 20 20 62 29 20 59 6f e.date.of.any.change.......b).Yo
54980 75 20 6d 75 73 74 20 63 61 75 73 65 20 61 6e 79 20 77 6f 72 6b 20 74 68 61 74 20 79 6f 75 20 64 u.must.cause.any.work.that.you.d
549a0 69 73 74 72 69 62 75 74 65 20 6f 72 20 70 75 62 6c 69 73 68 2c 20 74 68 61 74 20 69 6e 0a 20 20 istribute.or.publish,.that.in...
549c0 20 20 77 68 6f 6c 65 20 6f 72 20 69 6e 20 70 61 72 74 20 63 6f 6e 74 61 69 6e 73 20 6f 72 20 69 ..whole.or.in.part.contains.or.i
549e0 73 20 64 65 72 69 76 65 64 20 66 72 6f 6d 20 74 68 65 20 50 72 6f 67 72 61 6d 20 6f 72 20 61 6e s.derived.from.the.Program.or.an
54a00 79 0a 20 20 20 20 70 61 72 74 20 74 68 65 72 65 6f 66 2c 20 74 6f 20 62 65 20 6c 69 63 65 6e 73 y.....part.thereof,.to.be.licens
54a20 65 64 20 61 73 20 61 20 77 68 6f 6c 65 20 61 74 20 6e 6f 20 63 68 61 72 67 65 20 74 6f 20 61 6c ed.as.a.whole.at.no.charge.to.al
54a40 6c 20 74 68 69 72 64 0a 20 20 20 20 70 61 72 74 69 65 73 20 75 6e 64 65 72 20 74 68 65 20 74 65 l.third.....parties.under.the.te
54a60 72 6d 73 20 6f 66 20 74 68 69 73 20 4c 69 63 65 6e 73 65 2e 0a 0a 20 20 20 20 63 29 20 49 66 20 rms.of.this.License.......c).If.
54a80 74 68 65 20 6d 6f 64 69 66 69 65 64 20 70 72 6f 67 72 61 6d 20 6e 6f 72 6d 61 6c 6c 79 20 72 65 the.modified.program.normally.re
54aa0 61 64 73 20 63 6f 6d 6d 61 6e 64 73 20 69 6e 74 65 72 61 63 74 69 76 65 6c 79 0a 20 20 20 20 77 ads.commands.interactively.....w
54ac0 68 65 6e 20 72 75 6e 2c 20 79 6f 75 20 6d 75 73 74 20 63 61 75 73 65 20 69 74 2c 20 77 68 65 6e hen.run,.you.must.cause.it,.when
54ae0 20 73 74 61 72 74 65 64 20 72 75 6e 6e 69 6e 67 20 66 6f 72 20 73 75 63 68 0a 20 20 20 20 69 6e .started.running.for.such.....in
54b00 74 65 72 61 63 74 69 76 65 20 75 73 65 20 69 6e 20 74 68 65 20 6d 6f 73 74 20 6f 72 64 69 6e 61 teractive.use.in.the.most.ordina
54b20 72 79 20 77 61 79 2c 20 74 6f 20 70 72 69 6e 74 20 6f 72 20 64 69 73 70 6c 61 79 20 61 6e 0a 20 ry.way,.to.print.or.display.an..
54b40 20 20 20 61 6e 6e 6f 75 6e 63 65 6d 65 6e 74 20 69 6e 63 6c 75 64 69 6e 67 20 61 6e 20 61 70 70 ...announcement.including.an.app
54b60 72 6f 70 72 69 61 74 65 20 63 6f 70 79 72 69 67 68 74 20 6e 6f 74 69 63 65 20 61 6e 64 20 61 0a ropriate.copyright.notice.and.a.
54b80 20 20 20 20 6e 6f 74 69 63 65 20 74 68 61 74 20 74 68 65 72 65 20 69 73 20 6e 6f 20 77 61 72 72 ....notice.that.there.is.no.warr
54ba0 61 6e 74 79 20 28 6f 72 20 65 6c 73 65 2c 20 73 61 79 69 6e 67 20 74 68 61 74 20 79 6f 75 20 70 anty.(or.else,.saying.that.you.p
54bc0 72 6f 76 69 64 65 0a 20 20 20 20 61 20 77 61 72 72 61 6e 74 79 29 20 61 6e 64 20 74 68 61 74 20 rovide.....a.warranty).and.that.
54be0 75 73 65 72 73 20 6d 61 79 20 72 65 64 69 73 74 72 69 62 75 74 65 20 74 68 65 20 70 72 6f 67 72 users.may.redistribute.the.progr
54c00 61 6d 20 75 6e 64 65 72 0a 20 20 20 20 74 68 65 73 65 20 63 6f 6e 64 69 74 69 6f 6e 73 2c 20 61 am.under.....these.conditions,.a
54c20 6e 64 20 74 65 6c 6c 69 6e 67 20 74 68 65 20 75 73 65 72 20 68 6f 77 20 74 6f 20 76 69 65 77 20 nd.telling.the.user.how.to.view.
54c40 61 20 63 6f 70 79 20 6f 66 20 74 68 69 73 0a 20 20 20 20 4c 69 63 65 6e 73 65 2e 20 20 28 45 78 a.copy.of.this.....License...(Ex
54c60 63 65 70 74 69 6f 6e 3a 20 69 66 20 74 68 65 20 50 72 6f 67 72 61 6d 20 69 74 73 65 6c 66 20 69 ception:.if.the.Program.itself.i
54c80 73 20 69 6e 74 65 72 61 63 74 69 76 65 20 62 75 74 0a 20 20 20 20 64 6f 65 73 20 6e 6f 74 20 6e s.interactive.but.....does.not.n
54ca0 6f 72 6d 61 6c 6c 79 20 70 72 69 6e 74 20 73 75 63 68 20 61 6e 20 61 6e 6e 6f 75 6e 63 65 6d 65 ormally.print.such.an.announceme
54cc0 6e 74 2c 20 79 6f 75 72 20 77 6f 72 6b 20 62 61 73 65 64 20 6f 6e 0a 20 20 20 20 74 68 65 20 50 nt,.your.work.based.on.....the.P
54ce0 72 6f 67 72 61 6d 20 69 73 20 6e 6f 74 20 72 65 71 75 69 72 65 64 20 74 6f 20 70 72 69 6e 74 20 rogram.is.not.required.to.print.
54d00 61 6e 20 61 6e 6e 6f 75 6e 63 65 6d 65 6e 74 2e 29 0a 0a 54 68 65 73 65 20 72 65 71 75 69 72 65 an.announcement.)..These.require
54d20 6d 65 6e 74 73 20 61 70 70 6c 79 20 74 6f 20 74 68 65 20 6d 6f 64 69 66 69 65 64 20 77 6f 72 6b ments.apply.to.the.modified.work
54d40 20 61 73 20 61 20 77 68 6f 6c 65 2e 20 20 49 66 0a 69 64 65 6e 74 69 66 69 61 62 6c 65 20 73 65 .as.a.whole...If.identifiable.se
54d60 63 74 69 6f 6e 73 20 6f 66 20 74 68 61 74 20 77 6f 72 6b 20 61 72 65 20 6e 6f 74 20 64 65 72 69 ctions.of.that.work.are.not.deri
54d80 76 65 64 20 66 72 6f 6d 20 74 68 65 20 50 72 6f 67 72 61 6d 2c 0a 61 6e 64 20 63 61 6e 20 62 65 ved.from.the.Program,.and.can.be
54da0 20 72 65 61 73 6f 6e 61 62 6c 79 20 63 6f 6e 73 69 64 65 72 65 64 20 69 6e 64 65 70 65 6e 64 65 .reasonably.considered.independe
54dc0 6e 74 20 61 6e 64 20 73 65 70 61 72 61 74 65 20 77 6f 72 6b 73 20 69 6e 0a 74 68 65 6d 73 65 6c nt.and.separate.works.in.themsel
54de0 76 65 73 2c 20 74 68 65 6e 20 74 68 69 73 20 4c 69 63 65 6e 73 65 2c 20 61 6e 64 20 69 74 73 20 ves,.then.this.License,.and.its.
54e00 74 65 72 6d 73 2c 20 64 6f 20 6e 6f 74 20 61 70 70 6c 79 20 74 6f 20 74 68 6f 73 65 0a 73 65 63 terms,.do.not.apply.to.those.sec
54e20 74 69 6f 6e 73 20 77 68 65 6e 20 79 6f 75 20 64 69 73 74 72 69 62 75 74 65 20 74 68 65 6d 20 61 tions.when.you.distribute.them.a
54e40 73 20 73 65 70 61 72 61 74 65 20 77 6f 72 6b 73 2e 20 20 42 75 74 20 77 68 65 6e 20 79 6f 75 0a s.separate.works...But.when.you.
54e60 64 69 73 74 72 69 62 75 74 65 20 74 68 65 20 73 61 6d 65 20 73 65 63 74 69 6f 6e 73 20 61 73 20 distribute.the.same.sections.as.
54e80 70 61 72 74 20 6f 66 20 61 20 77 68 6f 6c 65 20 77 68 69 63 68 20 69 73 20 61 20 77 6f 72 6b 20 part.of.a.whole.which.is.a.work.
54ea0 62 61 73 65 64 0a 6f 6e 20 74 68 65 20 50 72 6f 67 72 61 6d 2c 20 74 68 65 20 64 69 73 74 72 69 based.on.the.Program,.the.distri
54ec0 62 75 74 69 6f 6e 20 6f 66 20 74 68 65 20 77 68 6f 6c 65 20 6d 75 73 74 20 62 65 20 6f 6e 20 74 bution.of.the.whole.must.be.on.t
54ee0 68 65 20 74 65 72 6d 73 20 6f 66 0a 74 68 69 73 20 4c 69 63 65 6e 73 65 2c 20 77 68 6f 73 65 20 he.terms.of.this.License,.whose.
54f00 70 65 72 6d 69 73 73 69 6f 6e 73 20 66 6f 72 20 6f 74 68 65 72 20 6c 69 63 65 6e 73 65 65 73 20 permissions.for.other.licensees.
54f20 65 78 74 65 6e 64 20 74 6f 20 74 68 65 0a 65 6e 74 69 72 65 20 77 68 6f 6c 65 2c 20 61 6e 64 20 extend.to.the.entire.whole,.and.
54f40 74 68 75 73 20 74 6f 20 65 61 63 68 20 61 6e 64 20 65 76 65 72 79 20 70 61 72 74 20 72 65 67 61 thus.to.each.and.every.part.rega
54f60 72 64 6c 65 73 73 20 6f 66 20 77 68 6f 20 77 72 6f 74 65 20 69 74 2e 0a 0a 54 68 75 73 2c 20 69 rdless.of.who.wrote.it...Thus,.i
54f80 74 20 69 73 20 6e 6f 74 20 74 68 65 20 69 6e 74 65 6e 74 20 6f 66 20 74 68 69 73 20 73 65 63 74 t.is.not.the.intent.of.this.sect
54fa0 69 6f 6e 20 74 6f 20 63 6c 61 69 6d 20 72 69 67 68 74 73 20 6f 72 20 63 6f 6e 74 65 73 74 0a 79 ion.to.claim.rights.or.contest.y
54fc0 6f 75 72 20 72 69 67 68 74 73 20 74 6f 20 77 6f 72 6b 20 77 72 69 74 74 65 6e 20 65 6e 74 69 72 our.rights.to.work.written.entir
54fe0 65 6c 79 20 62 79 20 79 6f 75 3b 20 72 61 74 68 65 72 2c 20 74 68 65 20 69 6e 74 65 6e 74 20 69 ely.by.you;.rather,.the.intent.i
55000 73 20 74 6f 0a 65 78 65 72 63 69 73 65 20 74 68 65 20 72 69 67 68 74 20 74 6f 20 63 6f 6e 74 72 s.to.exercise.the.right.to.contr
55020 6f 6c 20 74 68 65 20 64 69 73 74 72 69 62 75 74 69 6f 6e 20 6f 66 20 64 65 72 69 76 61 74 69 76 ol.the.distribution.of.derivativ
55040 65 20 6f 72 0a 63 6f 6c 6c 65 63 74 69 76 65 20 77 6f 72 6b 73 20 62 61 73 65 64 20 6f 6e 20 74 e.or.collective.works.based.on.t
55060 68 65 20 50 72 6f 67 72 61 6d 2e 0a 0a 49 6e 20 61 64 64 69 74 69 6f 6e 2c 20 6d 65 72 65 20 61 he.Program...In.addition,.mere.a
55080 67 67 72 65 67 61 74 69 6f 6e 20 6f 66 20 61 6e 6f 74 68 65 72 20 77 6f 72 6b 20 6e 6f 74 20 62 ggregation.of.another.work.not.b
550a0 61 73 65 64 20 6f 6e 20 74 68 65 20 50 72 6f 67 72 61 6d 0a 77 69 74 68 20 74 68 65 20 50 72 6f ased.on.the.Program.with.the.Pro
550c0 67 72 61 6d 20 28 6f 72 20 77 69 74 68 20 61 20 77 6f 72 6b 20 62 61 73 65 64 20 6f 6e 20 74 68 gram.(or.with.a.work.based.on.th
550e0 65 20 50 72 6f 67 72 61 6d 29 20 6f 6e 20 61 20 76 6f 6c 75 6d 65 20 6f 66 0a 61 20 73 74 6f 72 e.Program).on.a.volume.of.a.stor
55100 61 67 65 20 6f 72 20 64 69 73 74 72 69 62 75 74 69 6f 6e 20 6d 65 64 69 75 6d 20 64 6f 65 73 20 age.or.distribution.medium.does.
55120 6e 6f 74 20 62 72 69 6e 67 20 74 68 65 20 6f 74 68 65 72 20 77 6f 72 6b 20 75 6e 64 65 72 0a 74 not.bring.the.other.work.under.t
55140 68 65 20 73 63 6f 70 65 20 6f 66 20 74 68 69 73 20 4c 69 63 65 6e 73 65 2e 0a 0a 20 20 33 2e 20 he.scope.of.this.License.....3..
55160 59 6f 75 20 6d 61 79 20 63 6f 70 79 20 61 6e 64 20 64 69 73 74 72 69 62 75 74 65 20 74 68 65 20 You.may.copy.and.distribute.the.
55180 50 72 6f 67 72 61 6d 20 28 6f 72 20 61 20 77 6f 72 6b 20 62 61 73 65 64 20 6f 6e 20 69 74 2c 0a Program.(or.a.work.based.on.it,.
551a0 75 6e 64 65 72 20 53 65 63 74 69 6f 6e 20 32 29 20 69 6e 20 6f 62 6a 65 63 74 20 63 6f 64 65 20 under.Section.2).in.object.code.
551c0 6f 72 20 65 78 65 63 75 74 61 62 6c 65 20 66 6f 72 6d 20 75 6e 64 65 72 20 74 68 65 20 74 65 72 or.executable.form.under.the.ter
551e0 6d 73 20 6f 66 0a 53 65 63 74 69 6f 6e 73 20 31 20 61 6e 64 20 32 20 61 62 6f 76 65 20 70 72 6f ms.of.Sections.1.and.2.above.pro
55200 76 69 64 65 64 20 74 68 61 74 20 79 6f 75 20 61 6c 73 6f 20 64 6f 20 6f 6e 65 20 6f 66 20 74 68 vided.that.you.also.do.one.of.th
55220 65 20 66 6f 6c 6c 6f 77 69 6e 67 3a 0a 0a 20 20 20 20 61 29 20 41 63 63 6f 6d 70 61 6e 79 20 69 e.following:......a).Accompany.i
55240 74 20 77 69 74 68 20 74 68 65 20 63 6f 6d 70 6c 65 74 65 20 63 6f 72 72 65 73 70 6f 6e 64 69 6e t.with.the.complete.correspondin
55260 67 20 6d 61 63 68 69 6e 65 2d 72 65 61 64 61 62 6c 65 0a 20 20 20 20 73 6f 75 72 63 65 20 63 6f g.machine-readable.....source.co
55280 64 65 2c 20 77 68 69 63 68 20 6d 75 73 74 20 62 65 20 64 69 73 74 72 69 62 75 74 65 64 20 75 6e de,.which.must.be.distributed.un
552a0 64 65 72 20 74 68 65 20 74 65 72 6d 73 20 6f 66 20 53 65 63 74 69 6f 6e 73 0a 20 20 20 20 31 20 der.the.terms.of.Sections.....1.
552c0 61 6e 64 20 32 20 61 62 6f 76 65 20 6f 6e 20 61 20 6d 65 64 69 75 6d 20 63 75 73 74 6f 6d 61 72 and.2.above.on.a.medium.customar
552e0 69 6c 79 20 75 73 65 64 20 66 6f 72 20 73 6f 66 74 77 61 72 65 20 69 6e 74 65 72 63 68 61 6e 67 ily.used.for.software.interchang
55300 65 3b 20 6f 72 2c 0a 0a 20 20 20 20 62 29 20 41 63 63 6f 6d 70 61 6e 79 20 69 74 20 77 69 74 68 e;.or,......b).Accompany.it.with
55320 20 61 20 77 72 69 74 74 65 6e 20 6f 66 66 65 72 2c 20 76 61 6c 69 64 20 66 6f 72 20 61 74 20 6c .a.written.offer,.valid.for.at.l
55340 65 61 73 74 20 74 68 72 65 65 0a 20 20 20 20 79 65 61 72 73 2c 20 74 6f 20 67 69 76 65 20 61 6e east.three.....years,.to.give.an
55360 79 20 74 68 69 72 64 20 70 61 72 74 79 2c 20 66 6f 72 20 61 20 63 68 61 72 67 65 20 6e 6f 20 6d y.third.party,.for.a.charge.no.m
55380 6f 72 65 20 74 68 61 6e 20 79 6f 75 72 0a 20 20 20 20 63 6f 73 74 20 6f 66 20 70 68 79 73 69 63 ore.than.your.....cost.of.physic
553a0 61 6c 6c 79 20 70 65 72 66 6f 72 6d 69 6e 67 20 73 6f 75 72 63 65 20 64 69 73 74 72 69 62 75 74 ally.performing.source.distribut
553c0 69 6f 6e 2c 20 61 20 63 6f 6d 70 6c 65 74 65 0a 20 20 20 20 6d 61 63 68 69 6e 65 2d 72 65 61 64 ion,.a.complete.....machine-read
553e0 61 62 6c 65 20 63 6f 70 79 20 6f 66 20 74 68 65 20 63 6f 72 72 65 73 70 6f 6e 64 69 6e 67 20 73 able.copy.of.the.corresponding.s
55400 6f 75 72 63 65 20 63 6f 64 65 2c 20 74 6f 20 62 65 0a 20 20 20 20 64 69 73 74 72 69 62 75 74 65 ource.code,.to.be.....distribute
55420 64 20 75 6e 64 65 72 20 74 68 65 20 74 65 72 6d 73 20 6f 66 20 53 65 63 74 69 6f 6e 73 20 31 20 d.under.the.terms.of.Sections.1.
55440 61 6e 64 20 32 20 61 62 6f 76 65 20 6f 6e 20 61 20 6d 65 64 69 75 6d 0a 20 20 20 20 63 75 73 74 and.2.above.on.a.medium.....cust
55460 6f 6d 61 72 69 6c 79 20 75 73 65 64 20 66 6f 72 20 73 6f 66 74 77 61 72 65 20 69 6e 74 65 72 63 omarily.used.for.software.interc
55480 68 61 6e 67 65 3b 20 6f 72 2c 0a 0a 20 20 20 20 63 29 20 41 63 63 6f 6d 70 61 6e 79 20 69 74 20 hange;.or,......c).Accompany.it.
554a0 77 69 74 68 20 74 68 65 20 69 6e 66 6f 72 6d 61 74 69 6f 6e 20 79 6f 75 20 72 65 63 65 69 76 65 with.the.information.you.receive
554c0 64 20 61 73 20 74 6f 20 74 68 65 20 6f 66 66 65 72 0a 20 20 20 20 74 6f 20 64 69 73 74 72 69 62 d.as.to.the.offer.....to.distrib
554e0 75 74 65 20 63 6f 72 72 65 73 70 6f 6e 64 69 6e 67 20 73 6f 75 72 63 65 20 63 6f 64 65 2e 20 20 ute.corresponding.source.code...
55500 28 54 68 69 73 20 61 6c 74 65 72 6e 61 74 69 76 65 20 69 73 0a 20 20 20 20 61 6c 6c 6f 77 65 64 (This.alternative.is.....allowed
55520 20 6f 6e 6c 79 20 66 6f 72 20 6e 6f 6e 63 6f 6d 6d 65 72 63 69 61 6c 20 64 69 73 74 72 69 62 75 .only.for.noncommercial.distribu
55540 74 69 6f 6e 20 61 6e 64 20 6f 6e 6c 79 20 69 66 20 79 6f 75 0a 20 20 20 20 72 65 63 65 69 76 65 tion.and.only.if.you.....receive
55560 64 20 74 68 65 20 70 72 6f 67 72 61 6d 20 69 6e 20 6f 62 6a 65 63 74 20 63 6f 64 65 20 6f 72 20 d.the.program.in.object.code.or.
55580 65 78 65 63 75 74 61 62 6c 65 20 66 6f 72 6d 20 77 69 74 68 20 73 75 63 68 0a 20 20 20 20 61 6e executable.form.with.such.....an
555a0 20 6f 66 66 65 72 2c 20 69 6e 20 61 63 63 6f 72 64 20 77 69 74 68 20 53 75 62 73 65 63 74 69 6f .offer,.in.accord.with.Subsectio
555c0 6e 20 62 20 61 62 6f 76 65 2e 29 0a 0a 54 68 65 20 73 6f 75 72 63 65 20 63 6f 64 65 20 66 6f 72 n.b.above.)..The.source.code.for
555e0 20 61 20 77 6f 72 6b 20 6d 65 61 6e 73 20 74 68 65 20 70 72 65 66 65 72 72 65 64 20 66 6f 72 6d .a.work.means.the.preferred.form
55600 20 6f 66 20 74 68 65 20 77 6f 72 6b 20 66 6f 72 0a 6d 61 6b 69 6e 67 20 6d 6f 64 69 66 69 63 61 .of.the.work.for.making.modifica
55620 74 69 6f 6e 73 20 74 6f 20 69 74 2e 20 20 46 6f 72 20 61 6e 20 65 78 65 63 75 74 61 62 6c 65 20 tions.to.it...For.an.executable.
55640 77 6f 72 6b 2c 20 63 6f 6d 70 6c 65 74 65 20 73 6f 75 72 63 65 0a 63 6f 64 65 20 6d 65 61 6e 73 work,.complete.source.code.means
55660 20 61 6c 6c 20 74 68 65 20 73 6f 75 72 63 65 20 63 6f 64 65 20 66 6f 72 20 61 6c 6c 20 6d 6f 64 .all.the.source.code.for.all.mod
55680 75 6c 65 73 20 69 74 20 63 6f 6e 74 61 69 6e 73 2c 20 70 6c 75 73 20 61 6e 79 0a 61 73 73 6f 63 ules.it.contains,.plus.any.assoc
556a0 69 61 74 65 64 20 69 6e 74 65 72 66 61 63 65 20 64 65 66 69 6e 69 74 69 6f 6e 20 66 69 6c 65 73 iated.interface.definition.files
556c0 2c 20 70 6c 75 73 20 74 68 65 20 73 63 72 69 70 74 73 20 75 73 65 64 20 74 6f 0a 63 6f 6e 74 72 ,.plus.the.scripts.used.to.contr
556e0 6f 6c 20 63 6f 6d 70 69 6c 61 74 69 6f 6e 20 61 6e 64 20 69 6e 73 74 61 6c 6c 61 74 69 6f 6e 20 ol.compilation.and.installation.
55700 6f 66 20 74 68 65 20 65 78 65 63 75 74 61 62 6c 65 2e 20 20 48 6f 77 65 76 65 72 2c 20 61 73 20 of.the.executable...However,.as.
55720 61 0a 73 70 65 63 69 61 6c 20 65 78 63 65 70 74 69 6f 6e 2c 20 74 68 65 20 73 6f 75 72 63 65 20 a.special.exception,.the.source.
55740 63 6f 64 65 20 64 69 73 74 72 69 62 75 74 65 64 20 6e 65 65 64 20 6e 6f 74 20 69 6e 63 6c 75 64 code.distributed.need.not.includ
55760 65 0a 61 6e 79 74 68 69 6e 67 20 74 68 61 74 20 69 73 20 6e 6f 72 6d 61 6c 6c 79 20 64 69 73 74 e.anything.that.is.normally.dist
55780 72 69 62 75 74 65 64 20 28 69 6e 20 65 69 74 68 65 72 20 73 6f 75 72 63 65 20 6f 72 20 62 69 6e ributed.(in.either.source.or.bin
557a0 61 72 79 0a 66 6f 72 6d 29 20 77 69 74 68 20 74 68 65 20 6d 61 6a 6f 72 20 63 6f 6d 70 6f 6e 65 ary.form).with.the.major.compone
557c0 6e 74 73 20 28 63 6f 6d 70 69 6c 65 72 2c 20 6b 65 72 6e 65 6c 2c 20 61 6e 64 20 73 6f 20 6f 6e nts.(compiler,.kernel,.and.so.on
557e0 29 20 6f 66 20 74 68 65 0a 6f 70 65 72 61 74 69 6e 67 20 73 79 73 74 65 6d 20 6f 6e 20 77 68 69 ).of.the.operating.system.on.whi
55800 63 68 20 74 68 65 20 65 78 65 63 75 74 61 62 6c 65 20 72 75 6e 73 2c 20 75 6e 6c 65 73 73 20 74 ch.the.executable.runs,.unless.t
55820 68 61 74 20 63 6f 6d 70 6f 6e 65 6e 74 0a 69 74 73 65 6c 66 20 61 63 63 6f 6d 70 61 6e 69 65 73 hat.component.itself.accompanies
55840 20 74 68 65 20 65 78 65 63 75 74 61 62 6c 65 2e 0a 0a 49 66 20 64 69 73 74 72 69 62 75 74 69 6f .the.executable...If.distributio
55860 6e 20 6f 66 20 65 78 65 63 75 74 61 62 6c 65 20 6f 72 20 6f 62 6a 65 63 74 20 63 6f 64 65 20 69 n.of.executable.or.object.code.i
55880 73 20 6d 61 64 65 20 62 79 20 6f 66 66 65 72 69 6e 67 0a 61 63 63 65 73 73 20 74 6f 20 63 6f 70 s.made.by.offering.access.to.cop
558a0 79 20 66 72 6f 6d 20 61 20 64 65 73 69 67 6e 61 74 65 64 20 70 6c 61 63 65 2c 20 74 68 65 6e 20 y.from.a.designated.place,.then.
558c0 6f 66 66 65 72 69 6e 67 20 65 71 75 69 76 61 6c 65 6e 74 0a 61 63 63 65 73 73 20 74 6f 20 63 6f offering.equivalent.access.to.co
558e0 70 79 20 74 68 65 20 73 6f 75 72 63 65 20 63 6f 64 65 20 66 72 6f 6d 20 74 68 65 20 73 61 6d 65 py.the.source.code.from.the.same
55900 20 70 6c 61 63 65 20 63 6f 75 6e 74 73 20 61 73 0a 64 69 73 74 72 69 62 75 74 69 6f 6e 20 6f 66 .place.counts.as.distribution.of
55920 20 74 68 65 20 73 6f 75 72 63 65 20 63 6f 64 65 2c 20 65 76 65 6e 20 74 68 6f 75 67 68 20 74 68 .the.source.code,.even.though.th
55940 69 72 64 20 70 61 72 74 69 65 73 20 61 72 65 20 6e 6f 74 0a 63 6f 6d 70 65 6c 6c 65 64 20 74 6f ird.parties.are.not.compelled.to
55960 20 63 6f 70 79 20 74 68 65 20 73 6f 75 72 63 65 20 61 6c 6f 6e 67 20 77 69 74 68 20 74 68 65 20 .copy.the.source.along.with.the.
55980 6f 62 6a 65 63 74 20 63 6f 64 65 2e 0a 0a 20 20 34 2e 20 59 6f 75 20 6d 61 79 20 6e 6f 74 20 63 object.code.....4..You.may.not.c
559a0 6f 70 79 2c 20 6d 6f 64 69 66 79 2c 20 73 75 62 6c 69 63 65 6e 73 65 2c 20 6f 72 20 64 69 73 74 opy,.modify,.sublicense,.or.dist
559c0 72 69 62 75 74 65 20 74 68 65 20 50 72 6f 67 72 61 6d 0a 65 78 63 65 70 74 20 61 73 20 65 78 70 ribute.the.Program.except.as.exp
559e0 72 65 73 73 6c 79 20 70 72 6f 76 69 64 65 64 20 75 6e 64 65 72 20 74 68 69 73 20 4c 69 63 65 6e ressly.provided.under.this.Licen
55a00 73 65 2e 20 20 41 6e 79 20 61 74 74 65 6d 70 74 0a 6f 74 68 65 72 77 69 73 65 20 74 6f 20 63 6f se...Any.attempt.otherwise.to.co
55a20 70 79 2c 20 6d 6f 64 69 66 79 2c 20 73 75 62 6c 69 63 65 6e 73 65 20 6f 72 20 64 69 73 74 72 69 py,.modify,.sublicense.or.distri
55a40 62 75 74 65 20 74 68 65 20 50 72 6f 67 72 61 6d 20 69 73 0a 76 6f 69 64 2c 20 61 6e 64 20 77 69 bute.the.Program.is.void,.and.wi
55a60 6c 6c 20 61 75 74 6f 6d 61 74 69 63 61 6c 6c 79 20 74 65 72 6d 69 6e 61 74 65 20 79 6f 75 72 20 ll.automatically.terminate.your.
55a80 72 69 67 68 74 73 20 75 6e 64 65 72 20 74 68 69 73 20 4c 69 63 65 6e 73 65 2e 0a 48 6f 77 65 76 rights.under.this.License..Howev
55aa0 65 72 2c 20 70 61 72 74 69 65 73 20 77 68 6f 20 68 61 76 65 20 72 65 63 65 69 76 65 64 20 63 6f er,.parties.who.have.received.co
55ac0 70 69 65 73 2c 20 6f 72 20 72 69 67 68 74 73 2c 20 66 72 6f 6d 20 79 6f 75 20 75 6e 64 65 72 0a pies,.or.rights,.from.you.under.
55ae0 74 68 69 73 20 4c 69 63 65 6e 73 65 20 77 69 6c 6c 20 6e 6f 74 20 68 61 76 65 20 74 68 65 69 72 this.License.will.not.have.their
55b00 20 6c 69 63 65 6e 73 65 73 20 74 65 72 6d 69 6e 61 74 65 64 20 73 6f 20 6c 6f 6e 67 20 61 73 20 .licenses.terminated.so.long.as.
55b20 73 75 63 68 0a 70 61 72 74 69 65 73 20 72 65 6d 61 69 6e 20 69 6e 20 66 75 6c 6c 20 63 6f 6d 70 such.parties.remain.in.full.comp
55b40 6c 69 61 6e 63 65 2e 0a 0a 20 20 35 2e 20 59 6f 75 20 61 72 65 20 6e 6f 74 20 72 65 71 75 69 72 liance.....5..You.are.not.requir
55b60 65 64 20 74 6f 20 61 63 63 65 70 74 20 74 68 69 73 20 4c 69 63 65 6e 73 65 2c 20 73 69 6e 63 65 ed.to.accept.this.License,.since
55b80 20 79 6f 75 20 68 61 76 65 20 6e 6f 74 0a 73 69 67 6e 65 64 20 69 74 2e 20 20 48 6f 77 65 76 65 .you.have.not.signed.it...Howeve
55ba0 72 2c 20 6e 6f 74 68 69 6e 67 20 65 6c 73 65 20 67 72 61 6e 74 73 20 79 6f 75 20 70 65 72 6d 69 r,.nothing.else.grants.you.permi
55bc0 73 73 69 6f 6e 20 74 6f 20 6d 6f 64 69 66 79 20 6f 72 0a 64 69 73 74 72 69 62 75 74 65 20 74 68 ssion.to.modify.or.distribute.th
55be0 65 20 50 72 6f 67 72 61 6d 20 6f 72 20 69 74 73 20 64 65 72 69 76 61 74 69 76 65 20 77 6f 72 6b e.Program.or.its.derivative.work
55c00 73 2e 20 20 54 68 65 73 65 20 61 63 74 69 6f 6e 73 20 61 72 65 0a 70 72 6f 68 69 62 69 74 65 64 s...These.actions.are.prohibited
55c20 20 62 79 20 6c 61 77 20 69 66 20 79 6f 75 20 64 6f 20 6e 6f 74 20 61 63 63 65 70 74 20 74 68 69 .by.law.if.you.do.not.accept.thi
55c40 73 20 4c 69 63 65 6e 73 65 2e 20 20 54 68 65 72 65 66 6f 72 65 2c 20 62 79 0a 6d 6f 64 69 66 79 s.License...Therefore,.by.modify
55c60 69 6e 67 20 6f 72 20 64 69 73 74 72 69 62 75 74 69 6e 67 20 74 68 65 20 50 72 6f 67 72 61 6d 20 ing.or.distributing.the.Program.
55c80 28 6f 72 20 61 6e 79 20 77 6f 72 6b 20 62 61 73 65 64 20 6f 6e 20 74 68 65 0a 50 72 6f 67 72 61 (or.any.work.based.on.the.Progra
55ca0 6d 29 2c 20 79 6f 75 20 69 6e 64 69 63 61 74 65 20 79 6f 75 72 20 61 63 63 65 70 74 61 6e 63 65 m),.you.indicate.your.acceptance
55cc0 20 6f 66 20 74 68 69 73 20 4c 69 63 65 6e 73 65 20 74 6f 20 64 6f 20 73 6f 2c 20 61 6e 64 0a 61 .of.this.License.to.do.so,.and.a
55ce0 6c 6c 20 69 74 73 20 74 65 72 6d 73 20 61 6e 64 20 63 6f 6e 64 69 74 69 6f 6e 73 20 66 6f 72 20 ll.its.terms.and.conditions.for.
55d00 63 6f 70 79 69 6e 67 2c 20 64 69 73 74 72 69 62 75 74 69 6e 67 20 6f 72 20 6d 6f 64 69 66 79 69 copying,.distributing.or.modifyi
55d20 6e 67 0a 74 68 65 20 50 72 6f 67 72 61 6d 20 6f 72 20 77 6f 72 6b 73 20 62 61 73 65 64 20 6f 6e ng.the.Program.or.works.based.on
55d40 20 69 74 2e 0a 0a 20 20 36 2e 20 45 61 63 68 20 74 69 6d 65 20 79 6f 75 20 72 65 64 69 73 74 72 .it.....6..Each.time.you.redistr
55d60 69 62 75 74 65 20 74 68 65 20 50 72 6f 67 72 61 6d 20 28 6f 72 20 61 6e 79 20 77 6f 72 6b 20 62 ibute.the.Program.(or.any.work.b
55d80 61 73 65 64 20 6f 6e 20 74 68 65 0a 50 72 6f 67 72 61 6d 29 2c 20 74 68 65 20 72 65 63 69 70 69 ased.on.the.Program),.the.recipi
55da0 65 6e 74 20 61 75 74 6f 6d 61 74 69 63 61 6c 6c 79 20 72 65 63 65 69 76 65 73 20 61 20 6c 69 63 ent.automatically.receives.a.lic
55dc0 65 6e 73 65 20 66 72 6f 6d 20 74 68 65 0a 6f 72 69 67 69 6e 61 6c 20 6c 69 63 65 6e 73 6f 72 20 ense.from.the.original.licensor.
55de0 74 6f 20 63 6f 70 79 2c 20 64 69 73 74 72 69 62 75 74 65 20 6f 72 20 6d 6f 64 69 66 79 20 74 68 to.copy,.distribute.or.modify.th
55e00 65 20 50 72 6f 67 72 61 6d 20 73 75 62 6a 65 63 74 20 74 6f 0a 74 68 65 73 65 20 74 65 72 6d 73 e.Program.subject.to.these.terms
55e20 20 61 6e 64 20 63 6f 6e 64 69 74 69 6f 6e 73 2e 20 20 59 6f 75 20 6d 61 79 20 6e 6f 74 20 69 6d .and.conditions...You.may.not.im
55e40 70 6f 73 65 20 61 6e 79 20 66 75 72 74 68 65 72 0a 72 65 73 74 72 69 63 74 69 6f 6e 73 20 6f 6e pose.any.further.restrictions.on
55e60 20 74 68 65 20 72 65 63 69 70 69 65 6e 74 73 27 20 65 78 65 72 63 69 73 65 20 6f 66 20 74 68 65 .the.recipients'.exercise.of.the
55e80 20 72 69 67 68 74 73 20 67 72 61 6e 74 65 64 20 68 65 72 65 69 6e 2e 0a 59 6f 75 20 61 72 65 20 .rights.granted.herein..You.are.
55ea0 6e 6f 74 20 72 65 73 70 6f 6e 73 69 62 6c 65 20 66 6f 72 20 65 6e 66 6f 72 63 69 6e 67 20 63 6f not.responsible.for.enforcing.co
55ec0 6d 70 6c 69 61 6e 63 65 20 62 79 20 74 68 69 72 64 20 70 61 72 74 69 65 73 20 74 6f 0a 74 68 69 mpliance.by.third.parties.to.thi
55ee0 73 20 4c 69 63 65 6e 73 65 2e 0a 0a 20 20 37 2e 20 49 66 2c 20 61 73 20 61 20 63 6f 6e 73 65 71 s.License.....7..If,.as.a.conseq
55f00 75 65 6e 63 65 20 6f 66 20 61 20 63 6f 75 72 74 20 6a 75 64 67 6d 65 6e 74 20 6f 72 20 61 6c 6c uence.of.a.court.judgment.or.all
55f20 65 67 61 74 69 6f 6e 20 6f 66 20 70 61 74 65 6e 74 0a 69 6e 66 72 69 6e 67 65 6d 65 6e 74 20 6f egation.of.patent.infringement.o
55f40 72 20 66 6f 72 20 61 6e 79 20 6f 74 68 65 72 20 72 65 61 73 6f 6e 20 28 6e 6f 74 20 6c 69 6d 69 r.for.any.other.reason.(not.limi
55f60 74 65 64 20 74 6f 20 70 61 74 65 6e 74 20 69 73 73 75 65 73 29 2c 0a 63 6f 6e 64 69 74 69 6f 6e ted.to.patent.issues),.condition
55f80 73 20 61 72 65 20 69 6d 70 6f 73 65 64 20 6f 6e 20 79 6f 75 20 28 77 68 65 74 68 65 72 20 62 79 s.are.imposed.on.you.(whether.by
55fa0 20 63 6f 75 72 74 20 6f 72 64 65 72 2c 20 61 67 72 65 65 6d 65 6e 74 20 6f 72 0a 6f 74 68 65 72 .court.order,.agreement.or.other
55fc0 77 69 73 65 29 20 74 68 61 74 20 63 6f 6e 74 72 61 64 69 63 74 20 74 68 65 20 63 6f 6e 64 69 74 wise).that.contradict.the.condit
55fe0 69 6f 6e 73 20 6f 66 20 74 68 69 73 20 4c 69 63 65 6e 73 65 2c 20 74 68 65 79 20 64 6f 20 6e 6f ions.of.this.License,.they.do.no
56000 74 0a 65 78 63 75 73 65 20 79 6f 75 20 66 72 6f 6d 20 74 68 65 20 63 6f 6e 64 69 74 69 6f 6e 73 t.excuse.you.from.the.conditions
56020 20 6f 66 20 74 68 69 73 20 4c 69 63 65 6e 73 65 2e 20 20 49 66 20 79 6f 75 20 63 61 6e 6e 6f 74 .of.this.License...If.you.cannot
56040 0a 64 69 73 74 72 69 62 75 74 65 20 73 6f 20 61 73 20 74 6f 20 73 61 74 69 73 66 79 20 73 69 6d .distribute.so.as.to.satisfy.sim
56060 75 6c 74 61 6e 65 6f 75 73 6c 79 20 79 6f 75 72 20 6f 62 6c 69 67 61 74 69 6f 6e 73 20 75 6e 64 ultaneously.your.obligations.und
56080 65 72 20 74 68 69 73 0a 4c 69 63 65 6e 73 65 20 61 6e 64 20 61 6e 79 20 6f 74 68 65 72 20 70 65 er.this.License.and.any.other.pe
560a0 72 74 69 6e 65 6e 74 20 6f 62 6c 69 67 61 74 69 6f 6e 73 2c 20 74 68 65 6e 20 61 73 20 61 20 63 rtinent.obligations,.then.as.a.c
560c0 6f 6e 73 65 71 75 65 6e 63 65 20 79 6f 75 0a 6d 61 79 20 6e 6f 74 20 64 69 73 74 72 69 62 75 74 onsequence.you.may.not.distribut
560e0 65 20 74 68 65 20 50 72 6f 67 72 61 6d 20 61 74 20 61 6c 6c 2e 20 20 46 6f 72 20 65 78 61 6d 70 e.the.Program.at.all...For.examp
56100 6c 65 2c 20 69 66 20 61 20 70 61 74 65 6e 74 0a 6c 69 63 65 6e 73 65 20 77 6f 75 6c 64 20 6e 6f le,.if.a.patent.license.would.no
56120 74 20 70 65 72 6d 69 74 20 72 6f 79 61 6c 74 79 2d 66 72 65 65 20 72 65 64 69 73 74 72 69 62 75 t.permit.royalty-free.redistribu
56140 74 69 6f 6e 20 6f 66 20 74 68 65 20 50 72 6f 67 72 61 6d 20 62 79 0a 61 6c 6c 20 74 68 6f 73 65 tion.of.the.Program.by.all.those
56160 20 77 68 6f 20 72 65 63 65 69 76 65 20 63 6f 70 69 65 73 20 64 69 72 65 63 74 6c 79 20 6f 72 20 .who.receive.copies.directly.or.
56180 69 6e 64 69 72 65 63 74 6c 79 20 74 68 72 6f 75 67 68 20 79 6f 75 2c 20 74 68 65 6e 0a 74 68 65 indirectly.through.you,.then.the
561a0 20 6f 6e 6c 79 20 77 61 79 20 79 6f 75 20 63 6f 75 6c 64 20 73 61 74 69 73 66 79 20 62 6f 74 68 .only.way.you.could.satisfy.both
561c0 20 69 74 20 61 6e 64 20 74 68 69 73 20 4c 69 63 65 6e 73 65 20 77 6f 75 6c 64 20 62 65 20 74 6f .it.and.this.License.would.be.to
561e0 0a 72 65 66 72 61 69 6e 20 65 6e 74 69 72 65 6c 79 20 66 72 6f 6d 20 64 69 73 74 72 69 62 75 74 .refrain.entirely.from.distribut
56200 69 6f 6e 20 6f 66 20 74 68 65 20 50 72 6f 67 72 61 6d 2e 0a 0a 49 66 20 61 6e 79 20 70 6f 72 74 ion.of.the.Program...If.any.port
56220 69 6f 6e 20 6f 66 20 74 68 69 73 20 73 65 63 74 69 6f 6e 20 69 73 20 68 65 6c 64 20 69 6e 76 61 ion.of.this.section.is.held.inva
56240 6c 69 64 20 6f 72 20 75 6e 65 6e 66 6f 72 63 65 61 62 6c 65 20 75 6e 64 65 72 0a 61 6e 79 20 70 lid.or.unenforceable.under.any.p
56260 61 72 74 69 63 75 6c 61 72 20 63 69 72 63 75 6d 73 74 61 6e 63 65 2c 20 74 68 65 20 62 61 6c 61 articular.circumstance,.the.bala
56280 6e 63 65 20 6f 66 20 74 68 65 20 73 65 63 74 69 6f 6e 20 69 73 20 69 6e 74 65 6e 64 65 64 20 74 nce.of.the.section.is.intended.t
562a0 6f 0a 61 70 70 6c 79 20 61 6e 64 20 74 68 65 20 73 65 63 74 69 6f 6e 20 61 73 20 61 20 77 68 6f o.apply.and.the.section.as.a.who
562c0 6c 65 20 69 73 20 69 6e 74 65 6e 64 65 64 20 74 6f 20 61 70 70 6c 79 20 69 6e 20 6f 74 68 65 72 le.is.intended.to.apply.in.other
562e0 0a 63 69 72 63 75 6d 73 74 61 6e 63 65 73 2e 0a 0a 49 74 20 69 73 20 6e 6f 74 20 74 68 65 20 70 .circumstances...It.is.not.the.p
56300 75 72 70 6f 73 65 20 6f 66 20 74 68 69 73 20 73 65 63 74 69 6f 6e 20 74 6f 20 69 6e 64 75 63 65 urpose.of.this.section.to.induce
56320 20 79 6f 75 20 74 6f 20 69 6e 66 72 69 6e 67 65 20 61 6e 79 0a 70 61 74 65 6e 74 73 20 6f 72 20 .you.to.infringe.any.patents.or.
56340 6f 74 68 65 72 20 70 72 6f 70 65 72 74 79 20 72 69 67 68 74 20 63 6c 61 69 6d 73 20 6f 72 20 74 other.property.right.claims.or.t
56360 6f 20 63 6f 6e 74 65 73 74 20 76 61 6c 69 64 69 74 79 20 6f 66 20 61 6e 79 0a 73 75 63 68 20 63 o.contest.validity.of.any.such.c
56380 6c 61 69 6d 73 3b 20 74 68 69 73 20 73 65 63 74 69 6f 6e 20 68 61 73 20 74 68 65 20 73 6f 6c 65 laims;.this.section.has.the.sole
563a0 20 70 75 72 70 6f 73 65 20 6f 66 20 70 72 6f 74 65 63 74 69 6e 67 20 74 68 65 0a 69 6e 74 65 67 .purpose.of.protecting.the.integ
563c0 72 69 74 79 20 6f 66 20 74 68 65 20 66 72 65 65 20 73 6f 66 74 77 61 72 65 20 64 69 73 74 72 69 rity.of.the.free.software.distri
563e0 62 75 74 69 6f 6e 20 73 79 73 74 65 6d 2c 20 77 68 69 63 68 20 69 73 0a 69 6d 70 6c 65 6d 65 6e bution.system,.which.is.implemen
56400 74 65 64 20 62 79 20 70 75 62 6c 69 63 20 6c 69 63 65 6e 73 65 20 70 72 61 63 74 69 63 65 73 2e ted.by.public.license.practices.
56420 20 20 4d 61 6e 79 20 70 65 6f 70 6c 65 20 68 61 76 65 20 6d 61 64 65 0a 67 65 6e 65 72 6f 75 73 ..Many.people.have.made.generous
56440 20 63 6f 6e 74 72 69 62 75 74 69 6f 6e 73 20 74 6f 20 74 68 65 20 77 69 64 65 20 72 61 6e 67 65 .contributions.to.the.wide.range
56460 20 6f 66 20 73 6f 66 74 77 61 72 65 20 64 69 73 74 72 69 62 75 74 65 64 0a 74 68 72 6f 75 67 68 .of.software.distributed.through
56480 20 74 68 61 74 20 73 79 73 74 65 6d 20 69 6e 20 72 65 6c 69 61 6e 63 65 20 6f 6e 20 63 6f 6e 73 .that.system.in.reliance.on.cons
564a0 69 73 74 65 6e 74 20 61 70 70 6c 69 63 61 74 69 6f 6e 20 6f 66 20 74 68 61 74 0a 73 79 73 74 65 istent.application.of.that.syste
564c0 6d 3b 20 69 74 20 69 73 20 75 70 20 74 6f 20 74 68 65 20 61 75 74 68 6f 72 2f 64 6f 6e 6f 72 20 m;.it.is.up.to.the.author/donor.
564e0 74 6f 20 64 65 63 69 64 65 20 69 66 20 68 65 20 6f 72 20 73 68 65 20 69 73 20 77 69 6c 6c 69 6e to.decide.if.he.or.she.is.willin
56500 67 0a 74 6f 20 64 69 73 74 72 69 62 75 74 65 20 73 6f 66 74 77 61 72 65 20 74 68 72 6f 75 67 68 g.to.distribute.software.through
56520 20 61 6e 79 20 6f 74 68 65 72 20 73 79 73 74 65 6d 20 61 6e 64 20 61 20 6c 69 63 65 6e 73 65 65 .any.other.system.and.a.licensee
56540 20 63 61 6e 6e 6f 74 0a 69 6d 70 6f 73 65 20 74 68 61 74 20 63 68 6f 69 63 65 2e 0a 0a 54 68 69 .cannot.impose.that.choice...Thi
56560 73 20 73 65 63 74 69 6f 6e 20 69 73 20 69 6e 74 65 6e 64 65 64 20 74 6f 20 6d 61 6b 65 20 74 68 s.section.is.intended.to.make.th
56580 6f 72 6f 75 67 68 6c 79 20 63 6c 65 61 72 20 77 68 61 74 20 69 73 20 62 65 6c 69 65 76 65 64 20 oroughly.clear.what.is.believed.
565a0 74 6f 0a 62 65 20 61 20 63 6f 6e 73 65 71 75 65 6e 63 65 20 6f 66 20 74 68 65 20 72 65 73 74 20 to.be.a.consequence.of.the.rest.
565c0 6f 66 20 74 68 69 73 20 4c 69 63 65 6e 73 65 2e 0a 0a 20 20 38 2e 20 49 66 20 74 68 65 20 64 69 of.this.License.....8..If.the.di
565e0 73 74 72 69 62 75 74 69 6f 6e 20 61 6e 64 2f 6f 72 20 75 73 65 20 6f 66 20 74 68 65 20 50 72 6f stribution.and/or.use.of.the.Pro
56600 67 72 61 6d 20 69 73 20 72 65 73 74 72 69 63 74 65 64 20 69 6e 0a 63 65 72 74 61 69 6e 20 63 6f gram.is.restricted.in.certain.co
56620 75 6e 74 72 69 65 73 20 65 69 74 68 65 72 20 62 79 20 70 61 74 65 6e 74 73 20 6f 72 20 62 79 20 untries.either.by.patents.or.by.
56640 63 6f 70 79 72 69 67 68 74 65 64 20 69 6e 74 65 72 66 61 63 65 73 2c 20 74 68 65 0a 6f 72 69 67 copyrighted.interfaces,.the.orig
56660 69 6e 61 6c 20 63 6f 70 79 72 69 67 68 74 20 68 6f 6c 64 65 72 20 77 68 6f 20 70 6c 61 63 65 73 inal.copyright.holder.who.places
56680 20 74 68 65 20 50 72 6f 67 72 61 6d 20 75 6e 64 65 72 20 74 68 69 73 20 4c 69 63 65 6e 73 65 0a .the.Program.under.this.License.
566a0 6d 61 79 20 61 64 64 20 61 6e 20 65 78 70 6c 69 63 69 74 20 67 65 6f 67 72 61 70 68 69 63 61 6c may.add.an.explicit.geographical
566c0 20 64 69 73 74 72 69 62 75 74 69 6f 6e 20 6c 69 6d 69 74 61 74 69 6f 6e 20 65 78 63 6c 75 64 69 .distribution.limitation.excludi
566e0 6e 67 0a 74 68 6f 73 65 20 63 6f 75 6e 74 72 69 65 73 2c 20 73 6f 20 74 68 61 74 20 64 69 73 74 ng.those.countries,.so.that.dist
56700 72 69 62 75 74 69 6f 6e 20 69 73 20 70 65 72 6d 69 74 74 65 64 20 6f 6e 6c 79 20 69 6e 20 6f 72 ribution.is.permitted.only.in.or
56720 20 61 6d 6f 6e 67 0a 63 6f 75 6e 74 72 69 65 73 20 6e 6f 74 20 74 68 75 73 20 65 78 63 6c 75 64 .among.countries.not.thus.exclud
56740 65 64 2e 20 20 49 6e 20 73 75 63 68 20 63 61 73 65 2c 20 74 68 69 73 20 4c 69 63 65 6e 73 65 20 ed...In.such.case,.this.License.
56760 69 6e 63 6f 72 70 6f 72 61 74 65 73 0a 74 68 65 20 6c 69 6d 69 74 61 74 69 6f 6e 20 61 73 20 69 incorporates.the.limitation.as.i
56780 66 20 77 72 69 74 74 65 6e 20 69 6e 20 74 68 65 20 62 6f 64 79 20 6f 66 20 74 68 69 73 20 4c 69 f.written.in.the.body.of.this.Li
567a0 63 65 6e 73 65 2e 0a 0a 20 20 39 2e 20 54 68 65 20 46 72 65 65 20 53 6f 66 74 77 61 72 65 20 46 cense.....9..The.Free.Software.F
567c0 6f 75 6e 64 61 74 69 6f 6e 20 6d 61 79 20 70 75 62 6c 69 73 68 20 72 65 76 69 73 65 64 20 61 6e oundation.may.publish.revised.an
567e0 64 2f 6f 72 20 6e 65 77 20 76 65 72 73 69 6f 6e 73 0a 6f 66 20 74 68 65 20 47 65 6e 65 72 61 6c d/or.new.versions.of.the.General
56800 20 50 75 62 6c 69 63 20 4c 69 63 65 6e 73 65 20 66 72 6f 6d 20 74 69 6d 65 20 74 6f 20 74 69 6d .Public.License.from.time.to.tim
56820 65 2e 20 20 53 75 63 68 20 6e 65 77 20 76 65 72 73 69 6f 6e 73 20 77 69 6c 6c 0a 62 65 20 73 69 e...Such.new.versions.will.be.si
56840 6d 69 6c 61 72 20 69 6e 20 73 70 69 72 69 74 20 74 6f 20 74 68 65 20 70 72 65 73 65 6e 74 20 76 milar.in.spirit.to.the.present.v
56860 65 72 73 69 6f 6e 2c 20 62 75 74 20 6d 61 79 20 64 69 66 66 65 72 20 69 6e 20 64 65 74 61 69 6c ersion,.but.may.differ.in.detail
56880 20 74 6f 0a 61 64 64 72 65 73 73 20 6e 65 77 20 70 72 6f 62 6c 65 6d 73 20 6f 72 20 63 6f 6e 63 .to.address.new.problems.or.conc
568a0 65 72 6e 73 2e 0a 0a 45 61 63 68 20 76 65 72 73 69 6f 6e 20 69 73 20 67 69 76 65 6e 20 61 20 64 erns...Each.version.is.given.a.d
568c0 69 73 74 69 6e 67 75 69 73 68 69 6e 67 20 76 65 72 73 69 6f 6e 20 6e 75 6d 62 65 72 2e 20 20 49 istinguishing.version.number...I
568e0 66 20 74 68 65 20 50 72 6f 67 72 61 6d 0a 73 70 65 63 69 66 69 65 73 20 61 20 76 65 72 73 69 6f f.the.Program.specifies.a.versio
56900 6e 20 6e 75 6d 62 65 72 20 6f 66 20 74 68 69 73 20 4c 69 63 65 6e 73 65 20 77 68 69 63 68 20 61 n.number.of.this.License.which.a
56920 70 70 6c 69 65 73 20 74 6f 20 69 74 20 61 6e 64 20 22 61 6e 79 0a 6c 61 74 65 72 20 76 65 72 73 pplies.to.it.and."any.later.vers
56940 69 6f 6e 22 2c 20 79 6f 75 20 68 61 76 65 20 74 68 65 20 6f 70 74 69 6f 6e 20 6f 66 20 66 6f 6c ion",.you.have.the.option.of.fol
56960 6c 6f 77 69 6e 67 20 74 68 65 20 74 65 72 6d 73 20 61 6e 64 20 63 6f 6e 64 69 74 69 6f 6e 73 0a lowing.the.terms.and.conditions.
56980 65 69 74 68 65 72 20 6f 66 20 74 68 61 74 20 76 65 72 73 69 6f 6e 20 6f 72 20 6f 66 20 61 6e 79 either.of.that.version.or.of.any
569a0 20 6c 61 74 65 72 20 76 65 72 73 69 6f 6e 20 70 75 62 6c 69 73 68 65 64 20 62 79 20 74 68 65 20 .later.version.published.by.the.
569c0 46 72 65 65 0a 53 6f 66 74 77 61 72 65 20 46 6f 75 6e 64 61 74 69 6f 6e 2e 20 20 49 66 20 74 68 Free.Software.Foundation...If.th
569e0 65 20 50 72 6f 67 72 61 6d 20 64 6f 65 73 20 6e 6f 74 20 73 70 65 63 69 66 79 20 61 20 76 65 72 e.Program.does.not.specify.a.ver
56a00 73 69 6f 6e 20 6e 75 6d 62 65 72 20 6f 66 0a 74 68 69 73 20 4c 69 63 65 6e 73 65 2c 20 79 6f 75 sion.number.of.this.License,.you
56a20 20 6d 61 79 20 63 68 6f 6f 73 65 20 61 6e 79 20 76 65 72 73 69 6f 6e 20 65 76 65 72 20 70 75 62 .may.choose.any.version.ever.pub
56a40 6c 69 73 68 65 64 20 62 79 20 74 68 65 20 46 72 65 65 20 53 6f 66 74 77 61 72 65 0a 46 6f 75 6e lished.by.the.Free.Software.Foun
56a60 64 61 74 69 6f 6e 2e 0a 0a 20 20 31 30 2e 20 49 66 20 79 6f 75 20 77 69 73 68 20 74 6f 20 69 6e dation.....10..If.you.wish.to.in
56a80 63 6f 72 70 6f 72 61 74 65 20 70 61 72 74 73 20 6f 66 20 74 68 65 20 50 72 6f 67 72 61 6d 20 69 corporate.parts.of.the.Program.i
56aa0 6e 74 6f 20 6f 74 68 65 72 20 66 72 65 65 0a 70 72 6f 67 72 61 6d 73 20 77 68 6f 73 65 20 64 69 nto.other.free.programs.whose.di
56ac0 73 74 72 69 62 75 74 69 6f 6e 20 63 6f 6e 64 69 74 69 6f 6e 73 20 61 72 65 20 64 69 66 66 65 72 stribution.conditions.are.differ
56ae0 65 6e 74 2c 20 77 72 69 74 65 20 74 6f 20 74 68 65 20 61 75 74 68 6f 72 0a 74 6f 20 61 73 6b 20 ent,.write.to.the.author.to.ask.
56b00 66 6f 72 20 70 65 72 6d 69 73 73 69 6f 6e 2e 20 20 46 6f 72 20 73 6f 66 74 77 61 72 65 20 77 68 for.permission...For.software.wh
56b20 69 63 68 20 69 73 20 63 6f 70 79 72 69 67 68 74 65 64 20 62 79 20 74 68 65 20 46 72 65 65 0a 53 ich.is.copyrighted.by.the.Free.S
56b40 6f 66 74 77 61 72 65 20 46 6f 75 6e 64 61 74 69 6f 6e 2c 20 77 72 69 74 65 20 74 6f 20 74 68 65 oftware.Foundation,.write.to.the
56b60 20 46 72 65 65 20 53 6f 66 74 77 61 72 65 20 46 6f 75 6e 64 61 74 69 6f 6e 3b 20 77 65 20 73 6f .Free.Software.Foundation;.we.so
56b80 6d 65 74 69 6d 65 73 0a 6d 61 6b 65 20 65 78 63 65 70 74 69 6f 6e 73 20 66 6f 72 20 74 68 69 73 metimes.make.exceptions.for.this
56ba0 2e 20 20 4f 75 72 20 64 65 63 69 73 69 6f 6e 20 77 69 6c 6c 20 62 65 20 67 75 69 64 65 64 20 62 ...Our.decision.will.be.guided.b
56bc0 79 20 74 68 65 20 74 77 6f 20 67 6f 61 6c 73 0a 6f 66 20 70 72 65 73 65 72 76 69 6e 67 20 74 68 y.the.two.goals.of.preserving.th
56be0 65 20 66 72 65 65 20 73 74 61 74 75 73 20 6f 66 20 61 6c 6c 20 64 65 72 69 76 61 74 69 76 65 73 e.free.status.of.all.derivatives
56c00 20 6f 66 20 6f 75 72 20 66 72 65 65 20 73 6f 66 74 77 61 72 65 20 61 6e 64 0a 6f 66 20 70 72 6f .of.our.free.software.and.of.pro
56c20 6d 6f 74 69 6e 67 20 74 68 65 20 73 68 61 72 69 6e 67 20 61 6e 64 20 72 65 75 73 65 20 6f 66 20 moting.the.sharing.and.reuse.of.
56c40 73 6f 66 74 77 61 72 65 20 67 65 6e 65 72 61 6c 6c 79 2e 0a 0a 20 20 20 20 20 20 20 20 20 20 20 software.generally..............
56c60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 4e 4f 20 57 41 52 52 41 4e 54 59 0a 0a 20 20 .................NO.WARRANTY....
56c80 31 31 2e 20 42 45 43 41 55 53 45 20 54 48 45 20 50 52 4f 47 52 41 4d 20 49 53 20 4c 49 43 45 4e 11..BECAUSE.THE.PROGRAM.IS.LICEN
56ca0 53 45 44 20 46 52 45 45 20 4f 46 20 43 48 41 52 47 45 2c 20 54 48 45 52 45 20 49 53 20 4e 4f 20 SED.FREE.OF.CHARGE,.THERE.IS.NO.
56cc0 57 41 52 52 41 4e 54 59 0a 46 4f 52 20 54 48 45 20 50 52 4f 47 52 41 4d 2c 20 54 4f 20 54 48 45 WARRANTY.FOR.THE.PROGRAM,.TO.THE
56ce0 20 45 58 54 45 4e 54 20 50 45 52 4d 49 54 54 45 44 20 42 59 20 41 50 50 4c 49 43 41 42 4c 45 20 .EXTENT.PERMITTED.BY.APPLICABLE.
56d00 4c 41 57 2e 20 20 45 58 43 45 50 54 20 57 48 45 4e 0a 4f 54 48 45 52 57 49 53 45 20 53 54 41 54 LAW...EXCEPT.WHEN.OTHERWISE.STAT
56d20 45 44 20 49 4e 20 57 52 49 54 49 4e 47 20 54 48 45 20 43 4f 50 59 52 49 47 48 54 20 48 4f 4c 44 ED.IN.WRITING.THE.COPYRIGHT.HOLD
56d40 45 52 53 20 41 4e 44 2f 4f 52 20 4f 54 48 45 52 20 50 41 52 54 49 45 53 0a 50 52 4f 56 49 44 45 ERS.AND/OR.OTHER.PARTIES.PROVIDE
56d60 20 54 48 45 20 50 52 4f 47 52 41 4d 20 22 41 53 20 49 53 22 20 57 49 54 48 4f 55 54 20 57 41 52 .THE.PROGRAM."AS.IS".WITHOUT.WAR
56d80 52 41 4e 54 59 20 4f 46 20 41 4e 59 20 4b 49 4e 44 2c 20 45 49 54 48 45 52 20 45 58 50 52 45 53 RANTY.OF.ANY.KIND,.EITHER.EXPRES
56da0 53 45 44 0a 4f 52 20 49 4d 50 4c 49 45 44 2c 20 49 4e 43 4c 55 44 49 4e 47 2c 20 42 55 54 20 4e SED.OR.IMPLIED,.INCLUDING,.BUT.N
56dc0 4f 54 20 4c 49 4d 49 54 45 44 20 54 4f 2c 20 54 48 45 20 49 4d 50 4c 49 45 44 20 57 41 52 52 41 OT.LIMITED.TO,.THE.IMPLIED.WARRA
56de0 4e 54 49 45 53 20 4f 46 0a 4d 45 52 43 48 41 4e 54 41 42 49 4c 49 54 59 20 41 4e 44 20 46 49 54 NTIES.OF.MERCHANTABILITY.AND.FIT
56e00 4e 45 53 53 20 46 4f 52 20 41 20 50 41 52 54 49 43 55 4c 41 52 20 50 55 52 50 4f 53 45 2e 20 20 NESS.FOR.A.PARTICULAR.PURPOSE...
56e20 54 48 45 20 45 4e 54 49 52 45 20 52 49 53 4b 20 41 53 0a 54 4f 20 54 48 45 20 51 55 41 4c 49 54 THE.ENTIRE.RISK.AS.TO.THE.QUALIT
56e40 59 20 41 4e 44 20 50 45 52 46 4f 52 4d 41 4e 43 45 20 4f 46 20 54 48 45 20 50 52 4f 47 52 41 4d Y.AND.PERFORMANCE.OF.THE.PROGRAM
56e60 20 49 53 20 57 49 54 48 20 59 4f 55 2e 20 20 53 48 4f 55 4c 44 20 54 48 45 0a 50 52 4f 47 52 41 .IS.WITH.YOU...SHOULD.THE.PROGRA
56e80 4d 20 50 52 4f 56 45 20 44 45 46 45 43 54 49 56 45 2c 20 59 4f 55 20 41 53 53 55 4d 45 20 54 48 M.PROVE.DEFECTIVE,.YOU.ASSUME.TH
56ea0 45 20 43 4f 53 54 20 4f 46 20 41 4c 4c 20 4e 45 43 45 53 53 41 52 59 20 53 45 52 56 49 43 49 4e E.COST.OF.ALL.NECESSARY.SERVICIN
56ec0 47 2c 0a 52 45 50 41 49 52 20 4f 52 20 43 4f 52 52 45 43 54 49 4f 4e 2e 0a 0a 20 20 31 32 2e 20 G,.REPAIR.OR.CORRECTION.....12..
56ee0 49 4e 20 4e 4f 20 45 56 45 4e 54 20 55 4e 4c 45 53 53 20 52 45 51 55 49 52 45 44 20 42 59 20 41 IN.NO.EVENT.UNLESS.REQUIRED.BY.A
56f00 50 50 4c 49 43 41 42 4c 45 20 4c 41 57 20 4f 52 20 41 47 52 45 45 44 20 54 4f 20 49 4e 20 57 52 PPLICABLE.LAW.OR.AGREED.TO.IN.WR
56f20 49 54 49 4e 47 0a 57 49 4c 4c 20 41 4e 59 20 43 4f 50 59 52 49 47 48 54 20 48 4f 4c 44 45 52 2c ITING.WILL.ANY.COPYRIGHT.HOLDER,
56f40 20 4f 52 20 41 4e 59 20 4f 54 48 45 52 20 50 41 52 54 59 20 57 48 4f 20 4d 41 59 20 4d 4f 44 49 .OR.ANY.OTHER.PARTY.WHO.MAY.MODI
56f60 46 59 20 41 4e 44 2f 4f 52 0a 52 45 44 49 53 54 52 49 42 55 54 45 20 54 48 45 20 50 52 4f 47 52 FY.AND/OR.REDISTRIBUTE.THE.PROGR
56f80 41 4d 20 41 53 20 50 45 52 4d 49 54 54 45 44 20 41 42 4f 56 45 2c 20 42 45 20 4c 49 41 42 4c 45 AM.AS.PERMITTED.ABOVE,.BE.LIABLE
56fa0 20 54 4f 20 59 4f 55 20 46 4f 52 20 44 41 4d 41 47 45 53 2c 0a 49 4e 43 4c 55 44 49 4e 47 20 41 .TO.YOU.FOR.DAMAGES,.INCLUDING.A
56fc0 4e 59 20 47 45 4e 45 52 41 4c 2c 20 53 50 45 43 49 41 4c 2c 20 49 4e 43 49 44 45 4e 54 41 4c 20 NY.GENERAL,.SPECIAL,.INCIDENTAL.
56fe0 4f 52 20 43 4f 4e 53 45 51 55 45 4e 54 49 41 4c 20 44 41 4d 41 47 45 53 20 41 52 49 53 49 4e 47 OR.CONSEQUENTIAL.DAMAGES.ARISING
57000 0a 4f 55 54 20 4f 46 20 54 48 45 20 55 53 45 20 4f 52 20 49 4e 41 42 49 4c 49 54 59 20 54 4f 20 .OUT.OF.THE.USE.OR.INABILITY.TO.
57020 55 53 45 20 54 48 45 20 50 52 4f 47 52 41 4d 20 28 49 4e 43 4c 55 44 49 4e 47 20 42 55 54 20 4e USE.THE.PROGRAM.(INCLUDING.BUT.N
57040 4f 54 20 4c 49 4d 49 54 45 44 0a 54 4f 20 4c 4f 53 53 20 4f 46 20 44 41 54 41 20 4f 52 20 44 41 OT.LIMITED.TO.LOSS.OF.DATA.OR.DA
57060 54 41 20 42 45 49 4e 47 20 52 45 4e 44 45 52 45 44 20 49 4e 41 43 43 55 52 41 54 45 20 4f 52 20 TA.BEING.RENDERED.INACCURATE.OR.
57080 4c 4f 53 53 45 53 20 53 55 53 54 41 49 4e 45 44 20 42 59 0a 59 4f 55 20 4f 52 20 54 48 49 52 44 LOSSES.SUSTAINED.BY.YOU.OR.THIRD
570a0 20 50 41 52 54 49 45 53 20 4f 52 20 41 20 46 41 49 4c 55 52 45 20 4f 46 20 54 48 45 20 50 52 4f .PARTIES.OR.A.FAILURE.OF.THE.PRO
570c0 47 52 41 4d 20 54 4f 20 4f 50 45 52 41 54 45 20 57 49 54 48 20 41 4e 59 20 4f 54 48 45 52 0a 50 GRAM.TO.OPERATE.WITH.ANY.OTHER.P
570e0 52 4f 47 52 41 4d 53 29 2c 20 45 56 45 4e 20 49 46 20 53 55 43 48 20 48 4f 4c 44 45 52 20 4f 52 ROGRAMS),.EVEN.IF.SUCH.HOLDER.OR
57100 20 4f 54 48 45 52 20 50 41 52 54 59 20 48 41 53 20 42 45 45 4e 20 41 44 56 49 53 45 44 20 4f 46 .OTHER.PARTY.HAS.BEEN.ADVISED.OF
57120 20 54 48 45 0a 50 4f 53 53 49 42 49 4c 49 54 59 20 4f 46 20 53 55 43 48 20 44 41 4d 41 47 45 53 .THE.POSSIBILITY.OF.SUCH.DAMAGES
57140 2e 0a 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 45 4e 44 20 4f 46 20 54 ........................END.OF.T
57160 45 52 4d 53 20 41 4e 44 20 43 4f 4e 44 49 54 49 4f 4e 53 0a 0a 20 20 20 20 20 20 20 20 20 20 20 ERMS.AND.CONDITIONS.............
57180 20 48 6f 77 20 74 6f 20 41 70 70 6c 79 20 54 68 65 73 65 20 54 65 72 6d 73 20 74 6f 20 59 6f 75 .How.to.Apply.These.Terms.to.You
571a0 72 20 4e 65 77 20 50 72 6f 67 72 61 6d 73 0a 0a 20 20 49 66 20 79 6f 75 20 64 65 76 65 6c 6f 70 r.New.Programs....If.you.develop
571c0 20 61 20 6e 65 77 20 70 72 6f 67 72 61 6d 2c 20 61 6e 64 20 79 6f 75 20 77 61 6e 74 20 69 74 20 .a.new.program,.and.you.want.it.
571e0 74 6f 20 62 65 20 6f 66 20 74 68 65 20 67 72 65 61 74 65 73 74 0a 70 6f 73 73 69 62 6c 65 20 75 to.be.of.the.greatest.possible.u
57200 73 65 20 74 6f 20 74 68 65 20 70 75 62 6c 69 63 2c 20 74 68 65 20 62 65 73 74 20 77 61 79 20 74 se.to.the.public,.the.best.way.t
57220 6f 20 61 63 68 69 65 76 65 20 74 68 69 73 20 69 73 20 74 6f 20 6d 61 6b 65 20 69 74 0a 66 72 65 o.achieve.this.is.to.make.it.fre
57240 65 20 73 6f 66 74 77 61 72 65 20 77 68 69 63 68 20 65 76 65 72 79 6f 6e 65 20 63 61 6e 20 72 65 e.software.which.everyone.can.re
57260 64 69 73 74 72 69 62 75 74 65 20 61 6e 64 20 63 68 61 6e 67 65 20 75 6e 64 65 72 20 74 68 65 73 distribute.and.change.under.thes
57280 65 20 74 65 72 6d 73 2e 0a 0a 20 20 54 6f 20 64 6f 20 73 6f 2c 20 61 74 74 61 63 68 20 74 68 65 e.terms.....To.do.so,.attach.the
572a0 20 66 6f 6c 6c 6f 77 69 6e 67 20 6e 6f 74 69 63 65 73 20 74 6f 20 74 68 65 20 70 72 6f 67 72 61 .following.notices.to.the.progra
572c0 6d 2e 20 20 49 74 20 69 73 20 73 61 66 65 73 74 0a 74 6f 20 61 74 74 61 63 68 20 74 68 65 6d 20 m...It.is.safest.to.attach.them.
572e0 74 6f 20 74 68 65 20 73 74 61 72 74 20 6f 66 20 65 61 63 68 20 73 6f 75 72 63 65 20 66 69 6c 65 to.the.start.of.each.source.file
57300 20 74 6f 20 6d 6f 73 74 20 65 66 66 65 63 74 69 76 65 6c 79 0a 63 6f 6e 76 65 79 20 74 68 65 20 .to.most.effectively.convey.the.
57320 65 78 63 6c 75 73 69 6f 6e 20 6f 66 20 77 61 72 72 61 6e 74 79 3b 20 61 6e 64 20 65 61 63 68 20 exclusion.of.warranty;.and.each.
57340 66 69 6c 65 20 73 68 6f 75 6c 64 20 68 61 76 65 20 61 74 20 6c 65 61 73 74 0a 74 68 65 20 22 63 file.should.have.at.least.the."c
57360 6f 70 79 72 69 67 68 74 22 20 6c 69 6e 65 20 61 6e 64 20 61 20 70 6f 69 6e 74 65 72 20 74 6f 20 opyright".line.and.a.pointer.to.
57380 77 68 65 72 65 20 74 68 65 20 66 75 6c 6c 20 6e 6f 74 69 63 65 20 69 73 20 66 6f 75 6e 64 2e 0a where.the.full.notice.is.found..
573a0 0a 20 20 20 20 3c 6f 6e 65 20 6c 69 6e 65 20 74 6f 20 67 69 76 65 20 74 68 65 20 70 72 6f 67 72 .....<one.line.to.give.the.progr
573c0 61 6d 27 73 20 6e 61 6d 65 20 61 6e 64 20 61 20 62 72 69 65 66 20 69 64 65 61 20 6f 66 20 77 68 am's.name.and.a.brief.idea.of.wh
573e0 61 74 20 69 74 20 64 6f 65 73 2e 3e 0a 20 20 20 20 43 6f 70 79 72 69 67 68 74 20 28 43 29 20 3c at.it.does.>.....Copyright.(C).<
57400 79 65 61 72 3e 20 20 3c 6e 61 6d 65 20 6f 66 20 61 75 74 68 6f 72 3e 0a 0a 20 20 20 20 54 68 69 year>..<name.of.author>......Thi
57420 73 20 70 72 6f 67 72 61 6d 20 69 73 20 66 72 65 65 20 73 6f 66 74 77 61 72 65 3a 20 79 6f 75 20 s.program.is.free.software:.you.
57440 63 61 6e 20 72 65 64 69 73 74 72 69 62 75 74 65 20 69 74 20 61 6e 64 2f 6f 72 20 6d 6f 64 69 66 can.redistribute.it.and/or.modif
57460 79 0a 20 20 20 20 69 74 20 75 6e 64 65 72 20 74 68 65 20 74 65 72 6d 73 20 6f 66 20 74 68 65 20 y.....it.under.the.terms.of.the.
57480 47 4e 55 20 47 65 6e 65 72 61 6c 20 50 75 62 6c 69 63 20 4c 69 63 65 6e 73 65 20 61 73 20 70 75 GNU.General.Public.License.as.pu
574a0 62 6c 69 73 68 65 64 20 62 79 0a 20 20 20 20 74 68 65 20 46 72 65 65 20 53 6f 66 74 77 61 72 65 blished.by.....the.Free.Software
574c0 20 46 6f 75 6e 64 61 74 69 6f 6e 2c 20 65 69 74 68 65 72 20 76 65 72 73 69 6f 6e 20 32 20 6f 66 .Foundation,.either.version.2.of
574e0 20 74 68 65 20 4c 69 63 65 6e 73 65 2c 20 6f 72 0a 20 20 20 20 28 61 74 20 79 6f 75 72 20 6f 70 .the.License,.or.....(at.your.op
57500 74 69 6f 6e 29 20 61 6e 79 20 6c 61 74 65 72 20 76 65 72 73 69 6f 6e 2e 0a 0a 20 20 20 20 54 68 tion).any.later.version.......Th
57520 69 73 20 70 72 6f 67 72 61 6d 20 69 73 20 64 69 73 74 72 69 62 75 74 65 64 20 69 6e 20 74 68 65 is.program.is.distributed.in.the
57540 20 68 6f 70 65 20 74 68 61 74 20 69 74 20 77 69 6c 6c 20 62 65 20 75 73 65 66 75 6c 2c 0a 20 20 .hope.that.it.will.be.useful,...
57560 20 20 62 75 74 20 57 49 54 48 4f 55 54 20 41 4e 59 20 57 41 52 52 41 4e 54 59 3b 20 77 69 74 68 ..but.WITHOUT.ANY.WARRANTY;.with
57580 6f 75 74 20 65 76 65 6e 20 74 68 65 20 69 6d 70 6c 69 65 64 20 77 61 72 72 61 6e 74 79 20 6f 66 out.even.the.implied.warranty.of
575a0 0a 20 20 20 20 4d 45 52 43 48 41 4e 54 41 42 49 4c 49 54 59 20 6f 72 20 46 49 54 4e 45 53 53 20 .....MERCHANTABILITY.or.FITNESS.
575c0 46 4f 52 20 41 20 50 41 52 54 49 43 55 4c 41 52 20 50 55 52 50 4f 53 45 2e 20 20 53 65 65 20 74 FOR.A.PARTICULAR.PURPOSE...See.t
575e0 68 65 0a 20 20 20 20 47 4e 55 20 47 65 6e 65 72 61 6c 20 50 75 62 6c 69 63 20 4c 69 63 65 6e 73 he.....GNU.General.Public.Licens
57600 65 20 66 6f 72 20 6d 6f 72 65 20 64 65 74 61 69 6c 73 2e 0a 0a 20 20 20 20 59 6f 75 20 73 68 6f e.for.more.details.......You.sho
57620 75 6c 64 20 68 61 76 65 20 72 65 63 65 69 76 65 64 20 61 20 63 6f 70 79 20 6f 66 20 74 68 65 20 uld.have.received.a.copy.of.the.
57640 47 4e 55 20 47 65 6e 65 72 61 6c 20 50 75 62 6c 69 63 20 4c 69 63 65 6e 73 65 0a 20 20 20 20 61 GNU.General.Public.License.....a
57660 6c 6f 6e 67 20 77 69 74 68 20 74 68 69 73 20 70 72 6f 67 72 61 6d 2e 20 20 49 66 20 6e 6f 74 2c long.with.this.program...If.not,
57680 20 73 65 65 20 3c 68 74 74 70 3a 2f 2f 77 77 77 2e 67 6e 75 2e 6f 72 67 2f 6c 69 63 65 6e 73 65 .see.<http://www.gnu.org/license
576a0 73 2f 3e 2e 0a 0a 41 6c 73 6f 20 61 64 64 20 69 6e 66 6f 72 6d 61 74 69 6f 6e 20 6f 6e 20 68 6f s/>...Also.add.information.on.ho
576c0 77 20 74 6f 20 63 6f 6e 74 61 63 74 20 79 6f 75 20 62 79 20 65 6c 65 63 74 72 6f 6e 69 63 20 61 w.to.contact.you.by.electronic.a
576e0 6e 64 20 70 61 70 65 72 20 6d 61 69 6c 2e 0a 0a 49 66 20 74 68 65 20 70 72 6f 67 72 61 6d 20 69 nd.paper.mail...If.the.program.i
57700 73 20 69 6e 74 65 72 61 63 74 69 76 65 2c 20 6d 61 6b 65 20 69 74 20 6f 75 74 70 75 74 20 61 20 s.interactive,.make.it.output.a.
57720 73 68 6f 72 74 20 6e 6f 74 69 63 65 20 6c 69 6b 65 20 74 68 69 73 0a 77 68 65 6e 20 69 74 20 73 short.notice.like.this.when.it.s
57740 74 61 72 74 73 20 69 6e 20 61 6e 20 69 6e 74 65 72 61 63 74 69 76 65 20 6d 6f 64 65 3a 0a 0a 20 tarts.in.an.interactive.mode:...
57760 20 20 20 47 6e 6f 6d 6f 76 69 73 69 6f 6e 20 76 65 72 73 69 6f 6e 20 36 39 2c 20 43 6f 70 79 72 ...Gnomovision.version.69,.Copyr
57780 69 67 68 74 20 28 43 29 20 3c 79 65 61 72 3e 20 20 3c 6e 61 6d 65 20 6f 66 20 61 75 74 68 6f 72 ight.(C).<year>..<name.of.author
577a0 3e 0a 20 20 20 20 47 6e 6f 6d 6f 76 69 73 69 6f 6e 20 63 6f 6d 65 73 20 77 69 74 68 20 41 42 53 >.....Gnomovision.comes.with.ABS
577c0 4f 4c 55 54 45 4c 59 20 4e 4f 20 57 41 52 52 41 4e 54 59 3b 20 66 6f 72 20 64 65 74 61 69 6c 73 OLUTELY.NO.WARRANTY;.for.details
577e0 20 74 79 70 65 20 60 73 68 6f 77 20 77 27 2e 0a 20 20 20 20 54 68 69 73 20 69 73 20 66 72 65 65 .type.`show.w'......This.is.free
57800 20 73 6f 66 74 77 61 72 65 2c 20 61 6e 64 20 79 6f 75 20 61 72 65 20 77 65 6c 63 6f 6d 65 20 74 .software,.and.you.are.welcome.t
57820 6f 20 72 65 64 69 73 74 72 69 62 75 74 65 20 69 74 0a 20 20 20 20 75 6e 64 65 72 20 63 65 72 74 o.redistribute.it.....under.cert
57840 61 69 6e 20 63 6f 6e 64 69 74 69 6f 6e 73 3b 20 74 79 70 65 20 60 73 68 6f 77 20 63 27 20 66 6f ain.conditions;.type.`show.c'.fo
57860 72 20 64 65 74 61 69 6c 73 2e 0a 0a 54 68 65 20 68 79 70 6f 74 68 65 74 69 63 61 6c 20 63 6f 6d r.details...The.hypothetical.com
57880 6d 61 6e 64 73 20 60 73 68 6f 77 20 77 27 20 61 6e 64 20 60 73 68 6f 77 20 63 27 20 73 68 6f 75 mands.`show.w'.and.`show.c'.shou
578a0 6c 64 20 73 68 6f 77 20 74 68 65 20 61 70 70 72 6f 70 72 69 61 74 65 0a 70 61 72 74 73 20 6f 66 ld.show.the.appropriate.parts.of
578c0 20 74 68 65 20 47 65 6e 65 72 61 6c 20 50 75 62 6c 69 63 20 4c 69 63 65 6e 73 65 2e 20 20 4f 66 .the.General.Public.License...Of
578e0 20 63 6f 75 72 73 65 2c 20 74 68 65 20 63 6f 6d 6d 61 6e 64 73 20 79 6f 75 20 75 73 65 20 6d 61 .course,.the.commands.you.use.ma
57900 79 0a 62 65 20 63 61 6c 6c 65 64 20 73 6f 6d 65 74 68 69 6e 67 20 6f 74 68 65 72 20 74 68 61 6e y.be.called.something.other.than
57920 20 60 73 68 6f 77 20 77 27 20 61 6e 64 20 60 73 68 6f 77 20 63 27 3b 20 74 68 65 79 20 63 6f 75 .`show.w'.and.`show.c';.they.cou
57940 6c 64 20 65 76 65 6e 20 62 65 0a 6d 6f 75 73 65 2d 63 6c 69 63 6b 73 20 6f 72 20 6d 65 6e 75 20 ld.even.be.mouse-clicks.or.menu.
57960 69 74 65 6d 73 2d 2d 77 68 61 74 65 76 65 72 20 73 75 69 74 73 20 79 6f 75 72 20 70 72 6f 67 72 items--whatever.suits.your.progr
57980 61 6d 2e 0a 0a 59 6f 75 20 73 68 6f 75 6c 64 20 61 6c 73 6f 20 67 65 74 20 79 6f 75 72 20 65 6d am...You.should.also.get.your.em
579a0 70 6c 6f 79 65 72 20 28 69 66 20 79 6f 75 20 77 6f 72 6b 20 61 73 20 61 20 70 72 6f 67 72 61 6d ployer.(if.you.work.as.a.program
579c0 6d 65 72 29 20 6f 72 20 79 6f 75 72 0a 73 63 68 6f 6f 6c 2c 20 69 66 20 61 6e 79 2c 20 74 6f 20 mer).or.your.school,.if.any,.to.
579e0 73 69 67 6e 20 61 20 22 63 6f 70 79 72 69 67 68 74 20 64 69 73 63 6c 61 69 6d 65 72 22 20 66 6f sign.a."copyright.disclaimer".fo
57a00 72 20 74 68 65 20 70 72 6f 67 72 61 6d 2c 20 69 66 0a 6e 65 63 65 73 73 61 72 79 2e 20 20 48 65 r.the.program,.if.necessary...He
57a20 72 65 20 69 73 20 61 20 73 61 6d 70 6c 65 3b 20 61 6c 74 65 72 20 74 68 65 20 6e 61 6d 65 73 3a re.is.a.sample;.alter.the.names:
57a40 0a 0a 20 20 59 6f 79 6f 64 79 6e 65 2c 20 49 6e 63 2e 2c 20 68 65 72 65 62 79 20 64 69 73 63 6c ....Yoyodyne,.Inc.,.hereby.discl
57a60 61 69 6d 73 20 61 6c 6c 20 63 6f 70 79 72 69 67 68 74 20 69 6e 74 65 72 65 73 74 20 69 6e 20 74 aims.all.copyright.interest.in.t
57a80 68 65 20 70 72 6f 67 72 61 6d 0a 20 20 60 47 6e 6f 6d 6f 76 69 73 69 6f 6e 27 20 28 77 68 69 63 he.program...`Gnomovision'.(whic
57aa0 68 20 6d 61 6b 65 73 20 70 61 73 73 65 73 20 61 74 20 63 6f 6d 70 69 6c 65 72 73 29 20 77 72 69 h.makes.passes.at.compilers).wri
57ac0 74 74 65 6e 20 62 79 20 4a 61 6d 65 73 20 48 61 63 6b 65 72 2e 0a 0a 20 20 3c 73 69 67 6e 61 74 tten.by.James.Hacker.....<signat
57ae0 75 72 65 20 6f 66 20 54 79 20 43 6f 6f 6e 3e 2c 20 31 20 41 70 72 69 6c 20 31 39 38 39 0a 20 20 ure.of.Ty.Coon>,.1.April.1989...
57b00 54 79 20 43 6f 6f 6e 2c 20 50 72 65 73 69 64 65 6e 74 20 6f 66 20 56 69 63 65 0a 0a 54 68 69 73 Ty.Coon,.President.of.Vice..This
57b20 20 47 65 6e 65 72 61 6c 20 50 75 62 6c 69 63 20 4c 69 63 65 6e 73 65 20 64 6f 65 73 20 6e 6f 74 .General.Public.License.does.not
57b40 20 70 65 72 6d 69 74 20 69 6e 63 6f 72 70 6f 72 61 74 69 6e 67 20 79 6f 75 72 20 70 72 6f 67 72 .permit.incorporating.your.progr
57b60 61 6d 20 69 6e 74 6f 0a 70 72 6f 70 72 69 65 74 61 72 79 20 70 72 6f 67 72 61 6d 73 2e 20 20 49 am.into.proprietary.programs...I
57b80 66 20 79 6f 75 72 20 70 72 6f 67 72 61 6d 20 69 73 20 61 20 73 75 62 72 6f 75 74 69 6e 65 20 6c f.your.program.is.a.subroutine.l
57ba0 69 62 72 61 72 79 2c 20 79 6f 75 20 6d 61 79 0a 63 6f 6e 73 69 64 65 72 20 69 74 20 6d 6f 72 65 ibrary,.you.may.consider.it.more
57bc0 20 75 73 65 66 75 6c 20 74 6f 20 70 65 72 6d 69 74 20 6c 69 6e 6b 69 6e 67 20 70 72 6f 70 72 69 .useful.to.permit.linking.propri
57be0 65 74 61 72 79 20 61 70 70 6c 69 63 61 74 69 6f 6e 73 20 77 69 74 68 20 74 68 65 0a 6c 69 62 72 etary.applications.with.the.libr
57c00 61 72 79 2e 20 20 49 66 20 74 68 69 73 20 69 73 20 77 68 61 74 20 79 6f 75 20 77 61 6e 74 20 74 ary...If.this.is.what.you.want.t
57c20 6f 20 64 6f 2c 20 75 73 65 20 74 68 65 20 47 4e 55 20 4c 65 73 73 65 72 20 47 65 6e 65 72 61 6c o.do,.use.the.GNU.Lesser.General
57c40 0a 50 75 62 6c 69 63 20 4c 69 63 65 6e 73 65 20 69 6e 73 74 65 61 64 20 6f 66 20 74 68 69 73 20 .Public.License.instead.of.this.
57c60 4c 69 63 65 6e 73 65 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 47 4e 55 License......................GNU
57c80 20 47 45 4e 45 52 41 4c 20 50 55 42 4c 49 43 20 4c 49 43 45 4e 53 45 0d 0a 20 20 20 20 20 20 20 .GENERAL.PUBLIC.LICENSE.........
57ca0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 56 65 72 73 69 6f 6e 20 32 2c 20 4a 75 6e 65 20 ................Version.2,.June.
57cc0 31 39 39 31 0d 0a 0d 0a 20 43 6f 70 79 72 69 67 68 74 20 28 43 29 20 31 39 38 39 2c 20 31 39 39 1991.....Copyright.(C).1989,.199
57ce0 31 20 46 72 65 65 20 53 6f 66 74 77 61 72 65 20 46 6f 75 6e 64 61 74 69 6f 6e 2c 20 49 6e 63 2e 1.Free.Software.Foundation,.Inc.
57d00 2c 0d 0a 20 35 31 20 46 72 61 6e 6b 6c 69 6e 20 53 74 72 65 65 74 2c 20 46 69 66 74 68 20 46 6c ,...51.Franklin.Street,.Fifth.Fl
57d20 6f 6f 72 2c 20 42 6f 73 74 6f 6e 2c 20 4d 41 20 30 32 31 31 30 2d 31 33 30 31 20 55 53 41 0d 0a oor,.Boston,.MA.02110-1301.USA..
57d40 20 45 76 65 72 79 6f 6e 65 20 69 73 20 70 65 72 6d 69 74 74 65 64 20 74 6f 20 63 6f 70 79 20 61 .Everyone.is.permitted.to.copy.a
57d60 6e 64 20 64 69 73 74 72 69 62 75 74 65 20 76 65 72 62 61 74 69 6d 20 63 6f 70 69 65 73 0d 0a 20 nd.distribute.verbatim.copies...
57d80 6f 66 20 74 68 69 73 20 6c 69 63 65 6e 73 65 20 64 6f 63 75 6d 65 6e 74 2c 20 62 75 74 20 63 68 of.this.license.document,.but.ch
57da0 61 6e 67 69 6e 67 20 69 74 20 69 73 20 6e 6f 74 20 61 6c 6c 6f 77 65 64 2e 0d 0a 0d 0a 20 20 20 anging.it.is.not.allowed........
57dc0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 50 72 65 61 6d 62 6c .........................Preambl
57de0 65 0d 0a 0d 0a 20 20 54 68 65 20 6c 69 63 65 6e 73 65 73 20 66 6f 72 20 6d 6f 73 74 20 73 6f 66 e......The.licenses.for.most.sof
57e00 74 77 61 72 65 20 61 72 65 20 64 65 73 69 67 6e 65 64 20 74 6f 20 74 61 6b 65 20 61 77 61 79 20 tware.are.designed.to.take.away.
57e20 79 6f 75 72 0d 0a 66 72 65 65 64 6f 6d 20 74 6f 20 73 68 61 72 65 20 61 6e 64 20 63 68 61 6e 67 your..freedom.to.share.and.chang
57e40 65 20 69 74 2e 20 20 42 79 20 63 6f 6e 74 72 61 73 74 2c 20 74 68 65 20 47 4e 55 20 47 65 6e 65 e.it...By.contrast,.the.GNU.Gene
57e60 72 61 6c 20 50 75 62 6c 69 63 0d 0a 4c 69 63 65 6e 73 65 20 69 73 20 69 6e 74 65 6e 64 65 64 20 ral.Public..License.is.intended.
57e80 74 6f 20 67 75 61 72 61 6e 74 65 65 20 79 6f 75 72 20 66 72 65 65 64 6f 6d 20 74 6f 20 73 68 61 to.guarantee.your.freedom.to.sha
57ea0 72 65 20 61 6e 64 20 63 68 61 6e 67 65 20 66 72 65 65 0d 0a 73 6f 66 74 77 61 72 65 2d 2d 74 6f re.and.change.free..software--to
57ec0 20 6d 61 6b 65 20 73 75 72 65 20 74 68 65 20 73 6f 66 74 77 61 72 65 20 69 73 20 66 72 65 65 20 .make.sure.the.software.is.free.
57ee0 66 6f 72 20 61 6c 6c 20 69 74 73 20 75 73 65 72 73 2e 20 20 54 68 69 73 0d 0a 47 65 6e 65 72 61 for.all.its.users...This..Genera
57f00 6c 20 50 75 62 6c 69 63 20 4c 69 63 65 6e 73 65 20 61 70 70 6c 69 65 73 20 74 6f 20 6d 6f 73 74 l.Public.License.applies.to.most
57f20 20 6f 66 20 74 68 65 20 46 72 65 65 20 53 6f 66 74 77 61 72 65 0d 0a 46 6f 75 6e 64 61 74 69 6f .of.the.Free.Software..Foundatio
57f40 6e 27 73 20 73 6f 66 74 77 61 72 65 20 61 6e 64 20 74 6f 20 61 6e 79 20 6f 74 68 65 72 20 70 72 n's.software.and.to.any.other.pr
57f60 6f 67 72 61 6d 20 77 68 6f 73 65 20 61 75 74 68 6f 72 73 20 63 6f 6d 6d 69 74 20 74 6f 0d 0a 75 ogram.whose.authors.commit.to..u
57f80 73 69 6e 67 20 69 74 2e 20 20 28 53 6f 6d 65 20 6f 74 68 65 72 20 46 72 65 65 20 53 6f 66 74 77 sing.it...(Some.other.Free.Softw
57fa0 61 72 65 20 46 6f 75 6e 64 61 74 69 6f 6e 20 73 6f 66 74 77 61 72 65 20 69 73 20 63 6f 76 65 72 are.Foundation.software.is.cover
57fc0 65 64 20 62 79 0d 0a 74 68 65 20 47 4e 55 20 4c 65 73 73 65 72 20 47 65 6e 65 72 61 6c 20 50 75 ed.by..the.GNU.Lesser.General.Pu
57fe0 62 6c 69 63 20 4c 69 63 65 6e 73 65 20 69 6e 73 74 65 61 64 2e 29 20 20 59 6f 75 20 63 61 6e 20 blic.License.instead.)..You.can.
58000 61 70 70 6c 79 20 69 74 20 74 6f 0d 0a 79 6f 75 72 20 70 72 6f 67 72 61 6d 73 2c 20 74 6f 6f 2e apply.it.to..your.programs,.too.
58020 0d 0a 0d 0a 20 20 57 68 65 6e 20 77 65 20 73 70 65 61 6b 20 6f 66 20 66 72 65 65 20 73 6f 66 74 ......When.we.speak.of.free.soft
58040 77 61 72 65 2c 20 77 65 20 61 72 65 20 72 65 66 65 72 72 69 6e 67 20 74 6f 20 66 72 65 65 64 6f ware,.we.are.referring.to.freedo
58060 6d 2c 20 6e 6f 74 0d 0a 70 72 69 63 65 2e 20 20 4f 75 72 20 47 65 6e 65 72 61 6c 20 50 75 62 6c m,.not..price...Our.General.Publ
58080 69 63 20 4c 69 63 65 6e 73 65 73 20 61 72 65 20 64 65 73 69 67 6e 65 64 20 74 6f 20 6d 61 6b 65 ic.Licenses.are.designed.to.make
580a0 20 73 75 72 65 20 74 68 61 74 20 79 6f 75 0d 0a 68 61 76 65 20 74 68 65 20 66 72 65 65 64 6f 6d .sure.that.you..have.the.freedom
580c0 20 74 6f 20 64 69 73 74 72 69 62 75 74 65 20 63 6f 70 69 65 73 20 6f 66 20 66 72 65 65 20 73 6f .to.distribute.copies.of.free.so
580e0 66 74 77 61 72 65 20 28 61 6e 64 20 63 68 61 72 67 65 20 66 6f 72 0d 0a 74 68 69 73 20 73 65 72 ftware.(and.charge.for..this.ser
58100 76 69 63 65 20 69 66 20 79 6f 75 20 77 69 73 68 29 2c 20 74 68 61 74 20 79 6f 75 20 72 65 63 65 vice.if.you.wish),.that.you.rece
58120 69 76 65 20 73 6f 75 72 63 65 20 63 6f 64 65 20 6f 72 20 63 61 6e 20 67 65 74 20 69 74 0d 0a 69 ive.source.code.or.can.get.it..i
58140 66 20 79 6f 75 20 77 61 6e 74 20 69 74 2c 20 74 68 61 74 20 79 6f 75 20 63 61 6e 20 63 68 61 6e f.you.want.it,.that.you.can.chan
58160 67 65 20 74 68 65 20 73 6f 66 74 77 61 72 65 20 6f 72 20 75 73 65 20 70 69 65 63 65 73 20 6f 66 ge.the.software.or.use.pieces.of
58180 20 69 74 0d 0a 69 6e 20 6e 65 77 20 66 72 65 65 20 70 72 6f 67 72 61 6d 73 3b 20 61 6e 64 20 74 .it..in.new.free.programs;.and.t
581a0 68 61 74 20 79 6f 75 20 6b 6e 6f 77 20 79 6f 75 20 63 61 6e 20 64 6f 20 74 68 65 73 65 20 74 68 hat.you.know.you.can.do.these.th
581c0 69 6e 67 73 2e 0d 0a 0d 0a 20 20 54 6f 20 70 72 6f 74 65 63 74 20 79 6f 75 72 20 72 69 67 68 74 ings.......To.protect.your.right
581e0 73 2c 20 77 65 20 6e 65 65 64 20 74 6f 20 6d 61 6b 65 20 72 65 73 74 72 69 63 74 69 6f 6e 73 20 s,.we.need.to.make.restrictions.
58200 74 68 61 74 20 66 6f 72 62 69 64 0d 0a 61 6e 79 6f 6e 65 20 74 6f 20 64 65 6e 79 20 79 6f 75 20 that.forbid..anyone.to.deny.you.
58220 74 68 65 73 65 20 72 69 67 68 74 73 20 6f 72 20 74 6f 20 61 73 6b 20 79 6f 75 20 74 6f 20 73 75 these.rights.or.to.ask.you.to.su
58240 72 72 65 6e 64 65 72 20 74 68 65 20 72 69 67 68 74 73 2e 0d 0a 54 68 65 73 65 20 72 65 73 74 72 rrender.the.rights...These.restr
58260 69 63 74 69 6f 6e 73 20 74 72 61 6e 73 6c 61 74 65 20 74 6f 20 63 65 72 74 61 69 6e 20 72 65 73 ictions.translate.to.certain.res
58280 70 6f 6e 73 69 62 69 6c 69 74 69 65 73 20 66 6f 72 20 79 6f 75 20 69 66 20 79 6f 75 0d 0a 64 69 ponsibilities.for.you.if.you..di
582a0 73 74 72 69 62 75 74 65 20 63 6f 70 69 65 73 20 6f 66 20 74 68 65 20 73 6f 66 74 77 61 72 65 2c stribute.copies.of.the.software,
582c0 20 6f 72 20 69 66 20 79 6f 75 20 6d 6f 64 69 66 79 20 69 74 2e 0d 0a 0d 0a 20 20 46 6f 72 20 65 .or.if.you.modify.it.......For.e
582e0 78 61 6d 70 6c 65 2c 20 69 66 20 79 6f 75 20 64 69 73 74 72 69 62 75 74 65 20 63 6f 70 69 65 73 xample,.if.you.distribute.copies
58300 20 6f 66 20 73 75 63 68 20 61 20 70 72 6f 67 72 61 6d 2c 20 77 68 65 74 68 65 72 0d 0a 67 72 61 .of.such.a.program,.whether..gra
58320 74 69 73 20 6f 72 20 66 6f 72 20 61 20 66 65 65 2c 20 79 6f 75 20 6d 75 73 74 20 67 69 76 65 20 tis.or.for.a.fee,.you.must.give.
58340 74 68 65 20 72 65 63 69 70 69 65 6e 74 73 20 61 6c 6c 20 74 68 65 20 72 69 67 68 74 73 20 74 68 the.recipients.all.the.rights.th
58360 61 74 0d 0a 79 6f 75 20 68 61 76 65 2e 20 20 59 6f 75 20 6d 75 73 74 20 6d 61 6b 65 20 73 75 72 at..you.have...You.must.make.sur
58380 65 20 74 68 61 74 20 74 68 65 79 2c 20 74 6f 6f 2c 20 72 65 63 65 69 76 65 20 6f 72 20 63 61 6e e.that.they,.too,.receive.or.can
583a0 20 67 65 74 20 74 68 65 0d 0a 73 6f 75 72 63 65 20 63 6f 64 65 2e 20 20 41 6e 64 20 79 6f 75 20 .get.the..source.code...And.you.
583c0 6d 75 73 74 20 73 68 6f 77 20 74 68 65 6d 20 74 68 65 73 65 20 74 65 72 6d 73 20 73 6f 20 74 68 must.show.them.these.terms.so.th
583e0 65 79 20 6b 6e 6f 77 20 74 68 65 69 72 0d 0a 72 69 67 68 74 73 2e 0d 0a 0d 0a 20 20 57 65 20 70 ey.know.their..rights.......We.p
58400 72 6f 74 65 63 74 20 79 6f 75 72 20 72 69 67 68 74 73 20 77 69 74 68 20 74 77 6f 20 73 74 65 70 rotect.your.rights.with.two.step
58420 73 3a 20 28 31 29 20 63 6f 70 79 72 69 67 68 74 20 74 68 65 20 73 6f 66 74 77 61 72 65 2c 20 61 s:.(1).copyright.the.software,.a
58440 6e 64 0d 0a 28 32 29 20 6f 66 66 65 72 20 79 6f 75 20 74 68 69 73 20 6c 69 63 65 6e 73 65 20 77 nd..(2).offer.you.this.license.w
58460 68 69 63 68 20 67 69 76 65 73 20 79 6f 75 20 6c 65 67 61 6c 20 70 65 72 6d 69 73 73 69 6f 6e 20 hich.gives.you.legal.permission.
58480 74 6f 20 63 6f 70 79 2c 0d 0a 64 69 73 74 72 69 62 75 74 65 20 61 6e 64 2f 6f 72 20 6d 6f 64 69 to.copy,..distribute.and/or.modi
584a0 66 79 20 74 68 65 20 73 6f 66 74 77 61 72 65 2e 0d 0a 0d 0a 20 20 41 6c 73 6f 2c 20 66 6f 72 20 fy.the.software.......Also,.for.
584c0 65 61 63 68 20 61 75 74 68 6f 72 27 73 20 70 72 6f 74 65 63 74 69 6f 6e 20 61 6e 64 20 6f 75 72 each.author's.protection.and.our
584e0 73 2c 20 77 65 20 77 61 6e 74 20 74 6f 20 6d 61 6b 65 20 63 65 72 74 61 69 6e 0d 0a 74 68 61 74 s,.we.want.to.make.certain..that
58500 20 65 76 65 72 79 6f 6e 65 20 75 6e 64 65 72 73 74 61 6e 64 73 20 74 68 61 74 20 74 68 65 72 65 .everyone.understands.that.there
58520 20 69 73 20 6e 6f 20 77 61 72 72 61 6e 74 79 20 66 6f 72 20 74 68 69 73 20 66 72 65 65 0d 0a 73 .is.no.warranty.for.this.free..s
58540 6f 66 74 77 61 72 65 2e 20 20 49 66 20 74 68 65 20 73 6f 66 74 77 61 72 65 20 69 73 20 6d 6f 64 oftware...If.the.software.is.mod
58560 69 66 69 65 64 20 62 79 20 73 6f 6d 65 6f 6e 65 20 65 6c 73 65 20 61 6e 64 20 70 61 73 73 65 64 ified.by.someone.else.and.passed
58580 20 6f 6e 2c 20 77 65 0d 0a 77 61 6e 74 20 69 74 73 20 72 65 63 69 70 69 65 6e 74 73 20 74 6f 20 .on,.we..want.its.recipients.to.
585a0 6b 6e 6f 77 20 74 68 61 74 20 77 68 61 74 20 74 68 65 79 20 68 61 76 65 20 69 73 20 6e 6f 74 20 know.that.what.they.have.is.not.
585c0 74 68 65 20 6f 72 69 67 69 6e 61 6c 2c 20 73 6f 0d 0a 74 68 61 74 20 61 6e 79 20 70 72 6f 62 6c the.original,.so..that.any.probl
585e0 65 6d 73 20 69 6e 74 72 6f 64 75 63 65 64 20 62 79 20 6f 74 68 65 72 73 20 77 69 6c 6c 20 6e 6f ems.introduced.by.others.will.no
58600 74 20 72 65 66 6c 65 63 74 20 6f 6e 20 74 68 65 20 6f 72 69 67 69 6e 61 6c 0d 0a 61 75 74 68 6f t.reflect.on.the.original..autho
58620 72 73 27 20 72 65 70 75 74 61 74 69 6f 6e 73 2e 0d 0a 0d 0a 20 20 46 69 6e 61 6c 6c 79 2c 20 61 rs'.reputations.......Finally,.a
58640 6e 79 20 66 72 65 65 20 70 72 6f 67 72 61 6d 20 69 73 20 74 68 72 65 61 74 65 6e 65 64 20 63 6f ny.free.program.is.threatened.co
58660 6e 73 74 61 6e 74 6c 79 20 62 79 20 73 6f 66 74 77 61 72 65 0d 0a 70 61 74 65 6e 74 73 2e 20 20 nstantly.by.software..patents...
58680 57 65 20 77 69 73 68 20 74 6f 20 61 76 6f 69 64 20 74 68 65 20 64 61 6e 67 65 72 20 74 68 61 74 We.wish.to.avoid.the.danger.that
586a0 20 72 65 64 69 73 74 72 69 62 75 74 6f 72 73 20 6f 66 20 61 20 66 72 65 65 0d 0a 70 72 6f 67 72 .redistributors.of.a.free..progr
586c0 61 6d 20 77 69 6c 6c 20 69 6e 64 69 76 69 64 75 61 6c 6c 79 20 6f 62 74 61 69 6e 20 70 61 74 65 am.will.individually.obtain.pate
586e0 6e 74 20 6c 69 63 65 6e 73 65 73 2c 20 69 6e 20 65 66 66 65 63 74 20 6d 61 6b 69 6e 67 20 74 68 nt.licenses,.in.effect.making.th
58700 65 0d 0a 70 72 6f 67 72 61 6d 20 70 72 6f 70 72 69 65 74 61 72 79 2e 20 20 54 6f 20 70 72 65 76 e..program.proprietary...To.prev
58720 65 6e 74 20 74 68 69 73 2c 20 77 65 20 68 61 76 65 20 6d 61 64 65 20 69 74 20 63 6c 65 61 72 20 ent.this,.we.have.made.it.clear.
58740 74 68 61 74 20 61 6e 79 0d 0a 70 61 74 65 6e 74 20 6d 75 73 74 20 62 65 20 6c 69 63 65 6e 73 65 that.any..patent.must.be.license
58760 64 20 66 6f 72 20 65 76 65 72 79 6f 6e 65 27 73 20 66 72 65 65 20 75 73 65 20 6f 72 20 6e 6f 74 d.for.everyone's.free.use.or.not
58780 20 6c 69 63 65 6e 73 65 64 20 61 74 20 61 6c 6c 2e 0d 0a 0d 0a 20 20 54 68 65 20 70 72 65 63 69 .licensed.at.all.......The.preci
587a0 73 65 20 74 65 72 6d 73 20 61 6e 64 20 63 6f 6e 64 69 74 69 6f 6e 73 20 66 6f 72 20 63 6f 70 79 se.terms.and.conditions.for.copy
587c0 69 6e 67 2c 20 64 69 73 74 72 69 62 75 74 69 6f 6e 20 61 6e 64 0d 0a 6d 6f 64 69 66 69 63 61 74 ing,.distribution.and..modificat
587e0 69 6f 6e 20 66 6f 6c 6c 6f 77 2e 0d 0a 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ion.follow......................
58800 20 20 20 47 4e 55 20 47 45 4e 45 52 41 4c 20 50 55 42 4c 49 43 20 4c 49 43 45 4e 53 45 0d 0a 20 ...GNU.GENERAL.PUBLIC.LICENSE...
58820 20 20 54 45 52 4d 53 20 41 4e 44 20 43 4f 4e 44 49 54 49 4f 4e 53 20 46 4f 52 20 43 4f 50 59 49 ..TERMS.AND.CONDITIONS.FOR.COPYI
58840 4e 47 2c 20 44 49 53 54 52 49 42 55 54 49 4f 4e 20 41 4e 44 20 4d 4f 44 49 46 49 43 41 54 49 4f NG,.DISTRIBUTION.AND.MODIFICATIO
58860 4e 0d 0a 0d 0a 20 20 30 2e 20 54 68 69 73 20 4c 69 63 65 6e 73 65 20 61 70 70 6c 69 65 73 20 74 N......0..This.License.applies.t
58880 6f 20 61 6e 79 20 70 72 6f 67 72 61 6d 20 6f 72 20 6f 74 68 65 72 20 77 6f 72 6b 20 77 68 69 63 o.any.program.or.other.work.whic
588a0 68 20 63 6f 6e 74 61 69 6e 73 0d 0a 61 20 6e 6f 74 69 63 65 20 70 6c 61 63 65 64 20 62 79 20 74 h.contains..a.notice.placed.by.t
588c0 68 65 20 63 6f 70 79 72 69 67 68 74 20 68 6f 6c 64 65 72 20 73 61 79 69 6e 67 20 69 74 20 6d 61 he.copyright.holder.saying.it.ma
588e0 79 20 62 65 20 64 69 73 74 72 69 62 75 74 65 64 0d 0a 75 6e 64 65 72 20 74 68 65 20 74 65 72 6d y.be.distributed..under.the.term
58900 73 20 6f 66 20 74 68 69 73 20 47 65 6e 65 72 61 6c 20 50 75 62 6c 69 63 20 4c 69 63 65 6e 73 65 s.of.this.General.Public.License
58920 2e 20 20 54 68 65 20 22 50 72 6f 67 72 61 6d 22 2c 20 62 65 6c 6f 77 2c 0d 0a 72 65 66 65 72 73 ...The."Program",.below,..refers
58940 20 74 6f 20 61 6e 79 20 73 75 63 68 20 70 72 6f 67 72 61 6d 20 6f 72 20 77 6f 72 6b 2c 20 61 6e .to.any.such.program.or.work,.an
58960 64 20 61 20 22 77 6f 72 6b 20 62 61 73 65 64 20 6f 6e 20 74 68 65 20 50 72 6f 67 72 61 6d 22 0d d.a."work.based.on.the.Program".
58980 0a 6d 65 61 6e 73 20 65 69 74 68 65 72 20 74 68 65 20 50 72 6f 67 72 61 6d 20 6f 72 20 61 6e 79 .means.either.the.Program.or.any
589a0 20 64 65 72 69 76 61 74 69 76 65 20 77 6f 72 6b 20 75 6e 64 65 72 20 63 6f 70 79 72 69 67 68 74 .derivative.work.under.copyright
589c0 20 6c 61 77 3a 0d 0a 74 68 61 74 20 69 73 20 74 6f 20 73 61 79 2c 20 61 20 77 6f 72 6b 20 63 6f .law:..that.is.to.say,.a.work.co
589e0 6e 74 61 69 6e 69 6e 67 20 74 68 65 20 50 72 6f 67 72 61 6d 20 6f 72 20 61 20 70 6f 72 74 69 6f ntaining.the.Program.or.a.portio
58a00 6e 20 6f 66 20 69 74 2c 0d 0a 65 69 74 68 65 72 20 76 65 72 62 61 74 69 6d 20 6f 72 20 77 69 74 n.of.it,..either.verbatim.or.wit
58a20 68 20 6d 6f 64 69 66 69 63 61 74 69 6f 6e 73 20 61 6e 64 2f 6f 72 20 74 72 61 6e 73 6c 61 74 65 h.modifications.and/or.translate
58a40 64 20 69 6e 74 6f 20 61 6e 6f 74 68 65 72 0d 0a 6c 61 6e 67 75 61 67 65 2e 20 20 28 48 65 72 65 d.into.another..language...(Here
58a60 69 6e 61 66 74 65 72 2c 20 74 72 61 6e 73 6c 61 74 69 6f 6e 20 69 73 20 69 6e 63 6c 75 64 65 64 inafter,.translation.is.included
58a80 20 77 69 74 68 6f 75 74 20 6c 69 6d 69 74 61 74 69 6f 6e 20 69 6e 0d 0a 74 68 65 20 74 65 72 6d .without.limitation.in..the.term
58aa0 20 22 6d 6f 64 69 66 69 63 61 74 69 6f 6e 22 2e 29 20 20 45 61 63 68 20 6c 69 63 65 6e 73 65 65 ."modification".)..Each.licensee
58ac0 20 69 73 20 61 64 64 72 65 73 73 65 64 20 61 73 20 22 79 6f 75 22 2e 0d 0a 0d 0a 41 63 74 69 76 .is.addressed.as."you".....Activ
58ae0 69 74 69 65 73 20 6f 74 68 65 72 20 74 68 61 6e 20 63 6f 70 79 69 6e 67 2c 20 64 69 73 74 72 69 ities.other.than.copying,.distri
58b00 62 75 74 69 6f 6e 20 61 6e 64 20 6d 6f 64 69 66 69 63 61 74 69 6f 6e 20 61 72 65 20 6e 6f 74 0d bution.and.modification.are.not.
58b20 0a 63 6f 76 65 72 65 64 20 62 79 20 74 68 69 73 20 4c 69 63 65 6e 73 65 3b 20 74 68 65 79 20 61 .covered.by.this.License;.they.a
58b40 72 65 20 6f 75 74 73 69 64 65 20 69 74 73 20 73 63 6f 70 65 2e 20 20 54 68 65 20 61 63 74 20 6f re.outside.its.scope...The.act.o
58b60 66 0d 0a 72 75 6e 6e 69 6e 67 20 74 68 65 20 50 72 6f 67 72 61 6d 20 69 73 20 6e 6f 74 20 72 65 f..running.the.Program.is.not.re
58b80 73 74 72 69 63 74 65 64 2c 20 61 6e 64 20 74 68 65 20 6f 75 74 70 75 74 20 66 72 6f 6d 20 74 68 stricted,.and.the.output.from.th
58ba0 65 20 50 72 6f 67 72 61 6d 0d 0a 69 73 20 63 6f 76 65 72 65 64 20 6f 6e 6c 79 20 69 66 20 69 74 e.Program..is.covered.only.if.it
58bc0 73 20 63 6f 6e 74 65 6e 74 73 20 63 6f 6e 73 74 69 74 75 74 65 20 61 20 77 6f 72 6b 20 62 61 73 s.contents.constitute.a.work.bas
58be0 65 64 20 6f 6e 20 74 68 65 0d 0a 50 72 6f 67 72 61 6d 20 28 69 6e 64 65 70 65 6e 64 65 6e 74 20 ed.on.the..Program.(independent.
58c00 6f 66 20 68 61 76 69 6e 67 20 62 65 65 6e 20 6d 61 64 65 20 62 79 20 72 75 6e 6e 69 6e 67 20 74 of.having.been.made.by.running.t
58c20 68 65 20 50 72 6f 67 72 61 6d 29 2e 0d 0a 57 68 65 74 68 65 72 20 74 68 61 74 20 69 73 20 74 72 he.Program)...Whether.that.is.tr
58c40 75 65 20 64 65 70 65 6e 64 73 20 6f 6e 20 77 68 61 74 20 74 68 65 20 50 72 6f 67 72 61 6d 20 64 ue.depends.on.what.the.Program.d
58c60 6f 65 73 2e 0d 0a 0d 0a 20 20 31 2e 20 59 6f 75 20 6d 61 79 20 63 6f 70 79 20 61 6e 64 20 64 69 oes.......1..You.may.copy.and.di
58c80 73 74 72 69 62 75 74 65 20 76 65 72 62 61 74 69 6d 20 63 6f 70 69 65 73 20 6f 66 20 74 68 65 20 stribute.verbatim.copies.of.the.
58ca0 50 72 6f 67 72 61 6d 27 73 0d 0a 73 6f 75 72 63 65 20 63 6f 64 65 20 61 73 20 79 6f 75 20 72 65 Program's..source.code.as.you.re
58cc0 63 65 69 76 65 20 69 74 2c 20 69 6e 20 61 6e 79 20 6d 65 64 69 75 6d 2c 20 70 72 6f 76 69 64 65 ceive.it,.in.any.medium,.provide
58ce0 64 20 74 68 61 74 20 79 6f 75 0d 0a 63 6f 6e 73 70 69 63 75 6f 75 73 6c 79 20 61 6e 64 20 61 70 d.that.you..conspicuously.and.ap
58d00 70 72 6f 70 72 69 61 74 65 6c 79 20 70 75 62 6c 69 73 68 20 6f 6e 20 65 61 63 68 20 63 6f 70 79 propriately.publish.on.each.copy
58d20 20 61 6e 20 61 70 70 72 6f 70 72 69 61 74 65 0d 0a 63 6f 70 79 72 69 67 68 74 20 6e 6f 74 69 63 .an.appropriate..copyright.notic
58d40 65 20 61 6e 64 20 64 69 73 63 6c 61 69 6d 65 72 20 6f 66 20 77 61 72 72 61 6e 74 79 3b 20 6b 65 e.and.disclaimer.of.warranty;.ke
58d60 65 70 20 69 6e 74 61 63 74 20 61 6c 6c 20 74 68 65 0d 0a 6e 6f 74 69 63 65 73 20 74 68 61 74 20 ep.intact.all.the..notices.that.
58d80 72 65 66 65 72 20 74 6f 20 74 68 69 73 20 4c 69 63 65 6e 73 65 20 61 6e 64 20 74 6f 20 74 68 65 refer.to.this.License.and.to.the
58da0 20 61 62 73 65 6e 63 65 20 6f 66 20 61 6e 79 20 77 61 72 72 61 6e 74 79 3b 0d 0a 61 6e 64 20 67 .absence.of.any.warranty;..and.g
58dc0 69 76 65 20 61 6e 79 20 6f 74 68 65 72 20 72 65 63 69 70 69 65 6e 74 73 20 6f 66 20 74 68 65 20 ive.any.other.recipients.of.the.
58de0 50 72 6f 67 72 61 6d 20 61 20 63 6f 70 79 20 6f 66 20 74 68 69 73 20 4c 69 63 65 6e 73 65 0d 0a Program.a.copy.of.this.License..
58e00 61 6c 6f 6e 67 20 77 69 74 68 20 74 68 65 20 50 72 6f 67 72 61 6d 2e 0d 0a 0d 0a 59 6f 75 20 6d along.with.the.Program.....You.m
58e20 61 79 20 63 68 61 72 67 65 20 61 20 66 65 65 20 66 6f 72 20 74 68 65 20 70 68 79 73 69 63 61 6c ay.charge.a.fee.for.the.physical
58e40 20 61 63 74 20 6f 66 20 74 72 61 6e 73 66 65 72 72 69 6e 67 20 61 20 63 6f 70 79 2c 20 61 6e 64 .act.of.transferring.a.copy,.and
58e60 0d 0a 79 6f 75 20 6d 61 79 20 61 74 20 79 6f 75 72 20 6f 70 74 69 6f 6e 20 6f 66 66 65 72 20 77 ..you.may.at.your.option.offer.w
58e80 61 72 72 61 6e 74 79 20 70 72 6f 74 65 63 74 69 6f 6e 20 69 6e 20 65 78 63 68 61 6e 67 65 20 66 arranty.protection.in.exchange.f
58ea0 6f 72 20 61 20 66 65 65 2e 0d 0a 0d 0a 20 20 32 2e 20 59 6f 75 20 6d 61 79 20 6d 6f 64 69 66 79 or.a.fee.......2..You.may.modify
58ec0 20 79 6f 75 72 20 63 6f 70 79 20 6f 72 20 63 6f 70 69 65 73 20 6f 66 20 74 68 65 20 50 72 6f 67 .your.copy.or.copies.of.the.Prog
58ee0 72 61 6d 20 6f 72 20 61 6e 79 20 70 6f 72 74 69 6f 6e 0d 0a 6f 66 20 69 74 2c 20 74 68 75 73 20 ram.or.any.portion..of.it,.thus.
58f00 66 6f 72 6d 69 6e 67 20 61 20 77 6f 72 6b 20 62 61 73 65 64 20 6f 6e 20 74 68 65 20 50 72 6f 67 forming.a.work.based.on.the.Prog
58f20 72 61 6d 2c 20 61 6e 64 20 63 6f 70 79 20 61 6e 64 0d 0a 64 69 73 74 72 69 62 75 74 65 20 73 75 ram,.and.copy.and..distribute.su
58f40 63 68 20 6d 6f 64 69 66 69 63 61 74 69 6f 6e 73 20 6f 72 20 77 6f 72 6b 20 75 6e 64 65 72 20 74 ch.modifications.or.work.under.t
58f60 68 65 20 74 65 72 6d 73 20 6f 66 20 53 65 63 74 69 6f 6e 20 31 0d 0a 61 62 6f 76 65 2c 20 70 72 he.terms.of.Section.1..above,.pr
58f80 6f 76 69 64 65 64 20 74 68 61 74 20 79 6f 75 20 61 6c 73 6f 20 6d 65 65 74 20 61 6c 6c 20 6f 66 ovided.that.you.also.meet.all.of
58fa0 20 74 68 65 73 65 20 63 6f 6e 64 69 74 69 6f 6e 73 3a 0d 0a 0d 0a 20 20 20 20 61 29 20 59 6f 75 .these.conditions:........a).You
58fc0 20 6d 75 73 74 20 63 61 75 73 65 20 74 68 65 20 6d 6f 64 69 66 69 65 64 20 66 69 6c 65 73 20 74 .must.cause.the.modified.files.t
58fe0 6f 20 63 61 72 72 79 20 70 72 6f 6d 69 6e 65 6e 74 20 6e 6f 74 69 63 65 73 0d 0a 20 20 20 20 73 o.carry.prominent.notices......s
59000 74 61 74 69 6e 67 20 74 68 61 74 20 79 6f 75 20 63 68 61 6e 67 65 64 20 74 68 65 20 66 69 6c 65 tating.that.you.changed.the.file
59020 73 20 61 6e 64 20 74 68 65 20 64 61 74 65 20 6f 66 20 61 6e 79 20 63 68 61 6e 67 65 2e 0d 0a 0d s.and.the.date.of.any.change....
59040 0a 20 20 20 20 62 29 20 59 6f 75 20 6d 75 73 74 20 63 61 75 73 65 20 61 6e 79 20 77 6f 72 6b 20 .....b).You.must.cause.any.work.
59060 74 68 61 74 20 79 6f 75 20 64 69 73 74 72 69 62 75 74 65 20 6f 72 20 70 75 62 6c 69 73 68 2c 20 that.you.distribute.or.publish,.
59080 74 68 61 74 20 69 6e 0d 0a 20 20 20 20 77 68 6f 6c 65 20 6f 72 20 69 6e 20 70 61 72 74 20 63 6f that.in......whole.or.in.part.co
590a0 6e 74 61 69 6e 73 20 6f 72 20 69 73 20 64 65 72 69 76 65 64 20 66 72 6f 6d 20 74 68 65 20 50 72 ntains.or.is.derived.from.the.Pr
590c0 6f 67 72 61 6d 20 6f 72 20 61 6e 79 0d 0a 20 20 20 20 70 61 72 74 20 74 68 65 72 65 6f 66 2c 20 ogram.or.any......part.thereof,.
590e0 74 6f 20 62 65 20 6c 69 63 65 6e 73 65 64 20 61 73 20 61 20 77 68 6f 6c 65 20 61 74 20 6e 6f 20 to.be.licensed.as.a.whole.at.no.
59100 63 68 61 72 67 65 20 74 6f 20 61 6c 6c 20 74 68 69 72 64 0d 0a 20 20 20 20 70 61 72 74 69 65 73 charge.to.all.third......parties
59120 20 75 6e 64 65 72 20 74 68 65 20 74 65 72 6d 73 20 6f 66 20 74 68 69 73 20 4c 69 63 65 6e 73 65 .under.the.terms.of.this.License
59140 2e 0d 0a 0d 0a 20 20 20 20 63 29 20 49 66 20 74 68 65 20 6d 6f 64 69 66 69 65 64 20 70 72 6f 67 .........c).If.the.modified.prog
59160 72 61 6d 20 6e 6f 72 6d 61 6c 6c 79 20 72 65 61 64 73 20 63 6f 6d 6d 61 6e 64 73 20 69 6e 74 65 ram.normally.reads.commands.inte
59180 72 61 63 74 69 76 65 6c 79 0d 0a 20 20 20 20 77 68 65 6e 20 72 75 6e 2c 20 79 6f 75 20 6d 75 73 ractively......when.run,.you.mus
591a0 74 20 63 61 75 73 65 20 69 74 2c 20 77 68 65 6e 20 73 74 61 72 74 65 64 20 72 75 6e 6e 69 6e 67 t.cause.it,.when.started.running
591c0 20 66 6f 72 20 73 75 63 68 0d 0a 20 20 20 20 69 6e 74 65 72 61 63 74 69 76 65 20 75 73 65 20 69 .for.such......interactive.use.i
591e0 6e 20 74 68 65 20 6d 6f 73 74 20 6f 72 64 69 6e 61 72 79 20 77 61 79 2c 20 74 6f 20 70 72 69 6e n.the.most.ordinary.way,.to.prin
59200 74 20 6f 72 20 64 69 73 70 6c 61 79 20 61 6e 0d 0a 20 20 20 20 61 6e 6e 6f 75 6e 63 65 6d 65 6e t.or.display.an......announcemen
59220 74 20 69 6e 63 6c 75 64 69 6e 67 20 61 6e 20 61 70 70 72 6f 70 72 69 61 74 65 20 63 6f 70 79 72 t.including.an.appropriate.copyr
59240 69 67 68 74 20 6e 6f 74 69 63 65 20 61 6e 64 20 61 0d 0a 20 20 20 20 6e 6f 74 69 63 65 20 74 68 ight.notice.and.a......notice.th
59260 61 74 20 74 68 65 72 65 20 69 73 20 6e 6f 20 77 61 72 72 61 6e 74 79 20 28 6f 72 20 65 6c 73 65 at.there.is.no.warranty.(or.else
59280 2c 20 73 61 79 69 6e 67 20 74 68 61 74 20 79 6f 75 20 70 72 6f 76 69 64 65 0d 0a 20 20 20 20 61 ,.saying.that.you.provide......a
592a0 20 77 61 72 72 61 6e 74 79 29 20 61 6e 64 20 74 68 61 74 20 75 73 65 72 73 20 6d 61 79 20 72 65 .warranty).and.that.users.may.re
592c0 64 69 73 74 72 69 62 75 74 65 20 74 68 65 20 70 72 6f 67 72 61 6d 20 75 6e 64 65 72 0d 0a 20 20 distribute.the.program.under....
592e0 20 20 74 68 65 73 65 20 63 6f 6e 64 69 74 69 6f 6e 73 2c 20 61 6e 64 20 74 65 6c 6c 69 6e 67 20 ..these.conditions,.and.telling.
59300 74 68 65 20 75 73 65 72 20 68 6f 77 20 74 6f 20 76 69 65 77 20 61 20 63 6f 70 79 20 6f 66 20 74 the.user.how.to.view.a.copy.of.t
59320 68 69 73 0d 0a 20 20 20 20 4c 69 63 65 6e 73 65 2e 20 20 28 45 78 63 65 70 74 69 6f 6e 3a 20 69 his......License...(Exception:.i
59340 66 20 74 68 65 20 50 72 6f 67 72 61 6d 20 69 74 73 65 6c 66 20 69 73 20 69 6e 74 65 72 61 63 74 f.the.Program.itself.is.interact
59360 69 76 65 20 62 75 74 0d 0a 20 20 20 20 64 6f 65 73 20 6e 6f 74 20 6e 6f 72 6d 61 6c 6c 79 20 70 ive.but......does.not.normally.p
59380 72 69 6e 74 20 73 75 63 68 20 61 6e 20 61 6e 6e 6f 75 6e 63 65 6d 65 6e 74 2c 20 79 6f 75 72 20 rint.such.an.announcement,.your.
593a0 77 6f 72 6b 20 62 61 73 65 64 20 6f 6e 0d 0a 20 20 20 20 74 68 65 20 50 72 6f 67 72 61 6d 20 69 work.based.on......the.Program.i
593c0 73 20 6e 6f 74 20 72 65 71 75 69 72 65 64 20 74 6f 20 70 72 69 6e 74 20 61 6e 20 61 6e 6e 6f 75 s.not.required.to.print.an.annou
593e0 6e 63 65 6d 65 6e 74 2e 29 0d 0a 0d 0a 54 68 65 73 65 20 72 65 71 75 69 72 65 6d 65 6e 74 73 20 ncement.)....These.requirements.
59400 61 70 70 6c 79 20 74 6f 20 74 68 65 20 6d 6f 64 69 66 69 65 64 20 77 6f 72 6b 20 61 73 20 61 20 apply.to.the.modified.work.as.a.
59420 77 68 6f 6c 65 2e 20 20 49 66 0d 0a 69 64 65 6e 74 69 66 69 61 62 6c 65 20 73 65 63 74 69 6f 6e whole...If..identifiable.section
59440 73 20 6f 66 20 74 68 61 74 20 77 6f 72 6b 20 61 72 65 20 6e 6f 74 20 64 65 72 69 76 65 64 20 66 s.of.that.work.are.not.derived.f
59460 72 6f 6d 20 74 68 65 20 50 72 6f 67 72 61 6d 2c 0d 0a 61 6e 64 20 63 61 6e 20 62 65 20 72 65 61 rom.the.Program,..and.can.be.rea
59480 73 6f 6e 61 62 6c 79 20 63 6f 6e 73 69 64 65 72 65 64 20 69 6e 64 65 70 65 6e 64 65 6e 74 20 61 sonably.considered.independent.a
594a0 6e 64 20 73 65 70 61 72 61 74 65 20 77 6f 72 6b 73 20 69 6e 0d 0a 74 68 65 6d 73 65 6c 76 65 73 nd.separate.works.in..themselves
594c0 2c 20 74 68 65 6e 20 74 68 69 73 20 4c 69 63 65 6e 73 65 2c 20 61 6e 64 20 69 74 73 20 74 65 72 ,.then.this.License,.and.its.ter
594e0 6d 73 2c 20 64 6f 20 6e 6f 74 20 61 70 70 6c 79 20 74 6f 20 74 68 6f 73 65 0d 0a 73 65 63 74 69 ms,.do.not.apply.to.those..secti
59500 6f 6e 73 20 77 68 65 6e 20 79 6f 75 20 64 69 73 74 72 69 62 75 74 65 20 74 68 65 6d 20 61 73 20 ons.when.you.distribute.them.as.
59520 73 65 70 61 72 61 74 65 20 77 6f 72 6b 73 2e 20 20 42 75 74 20 77 68 65 6e 20 79 6f 75 0d 0a 64 separate.works...But.when.you..d
59540 69 73 74 72 69 62 75 74 65 20 74 68 65 20 73 61 6d 65 20 73 65 63 74 69 6f 6e 73 20 61 73 20 70 istribute.the.same.sections.as.p
59560 61 72 74 20 6f 66 20 61 20 77 68 6f 6c 65 20 77 68 69 63 68 20 69 73 20 61 20 77 6f 72 6b 20 62 art.of.a.whole.which.is.a.work.b
59580 61 73 65 64 0d 0a 6f 6e 20 74 68 65 20 50 72 6f 67 72 61 6d 2c 20 74 68 65 20 64 69 73 74 72 69 ased..on.the.Program,.the.distri
595a0 62 75 74 69 6f 6e 20 6f 66 20 74 68 65 20 77 68 6f 6c 65 20 6d 75 73 74 20 62 65 20 6f 6e 20 74 bution.of.the.whole.must.be.on.t
595c0 68 65 20 74 65 72 6d 73 20 6f 66 0d 0a 74 68 69 73 20 4c 69 63 65 6e 73 65 2c 20 77 68 6f 73 65 he.terms.of..this.License,.whose
595e0 20 70 65 72 6d 69 73 73 69 6f 6e 73 20 66 6f 72 20 6f 74 68 65 72 20 6c 69 63 65 6e 73 65 65 73 .permissions.for.other.licensees
59600 20 65 78 74 65 6e 64 20 74 6f 20 74 68 65 0d 0a 65 6e 74 69 72 65 20 77 68 6f 6c 65 2c 20 61 6e .extend.to.the..entire.whole,.an
59620 64 20 74 68 75 73 20 74 6f 20 65 61 63 68 20 61 6e 64 20 65 76 65 72 79 20 70 61 72 74 20 72 65 d.thus.to.each.and.every.part.re
59640 67 61 72 64 6c 65 73 73 20 6f 66 20 77 68 6f 20 77 72 6f 74 65 20 69 74 2e 0d 0a 0d 0a 54 68 75 gardless.of.who.wrote.it.....Thu
59660 73 2c 20 69 74 20 69 73 20 6e 6f 74 20 74 68 65 20 69 6e 74 65 6e 74 20 6f 66 20 74 68 69 73 20 s,.it.is.not.the.intent.of.this.
59680 73 65 63 74 69 6f 6e 20 74 6f 20 63 6c 61 69 6d 20 72 69 67 68 74 73 20 6f 72 20 63 6f 6e 74 65 section.to.claim.rights.or.conte
596a0 73 74 0d 0a 79 6f 75 72 20 72 69 67 68 74 73 20 74 6f 20 77 6f 72 6b 20 77 72 69 74 74 65 6e 20 st..your.rights.to.work.written.
596c0 65 6e 74 69 72 65 6c 79 20 62 79 20 79 6f 75 3b 20 72 61 74 68 65 72 2c 20 74 68 65 20 69 6e 74 entirely.by.you;.rather,.the.int
596e0 65 6e 74 20 69 73 20 74 6f 0d 0a 65 78 65 72 63 69 73 65 20 74 68 65 20 72 69 67 68 74 20 74 6f ent.is.to..exercise.the.right.to
59700 20 63 6f 6e 74 72 6f 6c 20 74 68 65 20 64 69 73 74 72 69 62 75 74 69 6f 6e 20 6f 66 20 64 65 72 .control.the.distribution.of.der
59720 69 76 61 74 69 76 65 20 6f 72 0d 0a 63 6f 6c 6c 65 63 74 69 76 65 20 77 6f 72 6b 73 20 62 61 73 ivative.or..collective.works.bas
59740 65 64 20 6f 6e 20 74 68 65 20 50 72 6f 67 72 61 6d 2e 0d 0a 0d 0a 49 6e 20 61 64 64 69 74 69 6f ed.on.the.Program.....In.additio
59760 6e 2c 20 6d 65 72 65 20 61 67 67 72 65 67 61 74 69 6f 6e 20 6f 66 20 61 6e 6f 74 68 65 72 20 77 n,.mere.aggregation.of.another.w
59780 6f 72 6b 20 6e 6f 74 20 62 61 73 65 64 20 6f 6e 20 74 68 65 20 50 72 6f 67 72 61 6d 0d 0a 77 69 ork.not.based.on.the.Program..wi
597a0 74 68 20 74 68 65 20 50 72 6f 67 72 61 6d 20 28 6f 72 20 77 69 74 68 20 61 20 77 6f 72 6b 20 62 th.the.Program.(or.with.a.work.b
597c0 61 73 65 64 20 6f 6e 20 74 68 65 20 50 72 6f 67 72 61 6d 29 20 6f 6e 20 61 20 76 6f 6c 75 6d 65 ased.on.the.Program).on.a.volume
597e0 20 6f 66 0d 0a 61 20 73 74 6f 72 61 67 65 20 6f 72 20 64 69 73 74 72 69 62 75 74 69 6f 6e 20 6d .of..a.storage.or.distribution.m
59800 65 64 69 75 6d 20 64 6f 65 73 20 6e 6f 74 20 62 72 69 6e 67 20 74 68 65 20 6f 74 68 65 72 20 77 edium.does.not.bring.the.other.w
59820 6f 72 6b 20 75 6e 64 65 72 0d 0a 74 68 65 20 73 63 6f 70 65 20 6f 66 20 74 68 69 73 20 4c 69 63 ork.under..the.scope.of.this.Lic
59840 65 6e 73 65 2e 0d 0a 0d 0a 20 20 33 2e 20 59 6f 75 20 6d 61 79 20 63 6f 70 79 20 61 6e 64 20 64 ense.......3..You.may.copy.and.d
59860 69 73 74 72 69 62 75 74 65 20 74 68 65 20 50 72 6f 67 72 61 6d 20 28 6f 72 20 61 20 77 6f 72 6b istribute.the.Program.(or.a.work
59880 20 62 61 73 65 64 20 6f 6e 20 69 74 2c 0d 0a 75 6e 64 65 72 20 53 65 63 74 69 6f 6e 20 32 29 20 .based.on.it,..under.Section.2).
598a0 69 6e 20 6f 62 6a 65 63 74 20 63 6f 64 65 20 6f 72 20 65 78 65 63 75 74 61 62 6c 65 20 66 6f 72 in.object.code.or.executable.for
598c0 6d 20 75 6e 64 65 72 20 74 68 65 20 74 65 72 6d 73 20 6f 66 0d 0a 53 65 63 74 69 6f 6e 73 20 31 m.under.the.terms.of..Sections.1
598e0 20 61 6e 64 20 32 20 61 62 6f 76 65 20 70 72 6f 76 69 64 65 64 20 74 68 61 74 20 79 6f 75 20 61 .and.2.above.provided.that.you.a
59900 6c 73 6f 20 64 6f 20 6f 6e 65 20 6f 66 20 74 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 3a 0d 0a 0d 0a lso.do.one.of.the.following:....
59920 20 20 20 20 61 29 20 41 63 63 6f 6d 70 61 6e 79 20 69 74 20 77 69 74 68 20 74 68 65 20 63 6f 6d ....a).Accompany.it.with.the.com
59940 70 6c 65 74 65 20 63 6f 72 72 65 73 70 6f 6e 64 69 6e 67 20 6d 61 63 68 69 6e 65 2d 72 65 61 64 plete.corresponding.machine-read
59960 61 62 6c 65 0d 0a 20 20 20 20 73 6f 75 72 63 65 20 63 6f 64 65 2c 20 77 68 69 63 68 20 6d 75 73 able......source.code,.which.mus
59980 74 20 62 65 20 64 69 73 74 72 69 62 75 74 65 64 20 75 6e 64 65 72 20 74 68 65 20 74 65 72 6d 73 t.be.distributed.under.the.terms
599a0 20 6f 66 20 53 65 63 74 69 6f 6e 73 0d 0a 20 20 20 20 31 20 61 6e 64 20 32 20 61 62 6f 76 65 20 .of.Sections......1.and.2.above.
599c0 6f 6e 20 61 20 6d 65 64 69 75 6d 20 63 75 73 74 6f 6d 61 72 69 6c 79 20 75 73 65 64 20 66 6f 72 on.a.medium.customarily.used.for
599e0 20 73 6f 66 74 77 61 72 65 20 69 6e 74 65 72 63 68 61 6e 67 65 3b 20 6f 72 2c 0d 0a 0d 0a 20 20 .software.interchange;.or,......
59a00 20 20 62 29 20 41 63 63 6f 6d 70 61 6e 79 20 69 74 20 77 69 74 68 20 61 20 77 72 69 74 74 65 6e ..b).Accompany.it.with.a.written
59a20 20 6f 66 66 65 72 2c 20 76 61 6c 69 64 20 66 6f 72 20 61 74 20 6c 65 61 73 74 20 74 68 72 65 65 .offer,.valid.for.at.least.three
59a40 0d 0a 20 20 20 20 79 65 61 72 73 2c 20 74 6f 20 67 69 76 65 20 61 6e 79 20 74 68 69 72 64 20 70 ......years,.to.give.any.third.p
59a60 61 72 74 79 2c 20 66 6f 72 20 61 20 63 68 61 72 67 65 20 6e 6f 20 6d 6f 72 65 20 74 68 61 6e 20 arty,.for.a.charge.no.more.than.
59a80 79 6f 75 72 0d 0a 20 20 20 20 63 6f 73 74 20 6f 66 20 70 68 79 73 69 63 61 6c 6c 79 20 70 65 72 your......cost.of.physically.per
59aa0 66 6f 72 6d 69 6e 67 20 73 6f 75 72 63 65 20 64 69 73 74 72 69 62 75 74 69 6f 6e 2c 20 61 20 63 forming.source.distribution,.a.c
59ac0 6f 6d 70 6c 65 74 65 0d 0a 20 20 20 20 6d 61 63 68 69 6e 65 2d 72 65 61 64 61 62 6c 65 20 63 6f omplete......machine-readable.co
59ae0 70 79 20 6f 66 20 74 68 65 20 63 6f 72 72 65 73 70 6f 6e 64 69 6e 67 20 73 6f 75 72 63 65 20 63 py.of.the.corresponding.source.c
59b00 6f 64 65 2c 20 74 6f 20 62 65 0d 0a 20 20 20 20 64 69 73 74 72 69 62 75 74 65 64 20 75 6e 64 65 ode,.to.be......distributed.unde
59b20 72 20 74 68 65 20 74 65 72 6d 73 20 6f 66 20 53 65 63 74 69 6f 6e 73 20 31 20 61 6e 64 20 32 20 r.the.terms.of.Sections.1.and.2.
59b40 61 62 6f 76 65 20 6f 6e 20 61 20 6d 65 64 69 75 6d 0d 0a 20 20 20 20 63 75 73 74 6f 6d 61 72 69 above.on.a.medium......customari
59b60 6c 79 20 75 73 65 64 20 66 6f 72 20 73 6f 66 74 77 61 72 65 20 69 6e 74 65 72 63 68 61 6e 67 65 ly.used.for.software.interchange
59b80 3b 20 6f 72 2c 0d 0a 0d 0a 20 20 20 20 63 29 20 41 63 63 6f 6d 70 61 6e 79 20 69 74 20 77 69 74 ;.or,........c).Accompany.it.wit
59ba0 68 20 74 68 65 20 69 6e 66 6f 72 6d 61 74 69 6f 6e 20 79 6f 75 20 72 65 63 65 69 76 65 64 20 61 h.the.information.you.received.a
59bc0 73 20 74 6f 20 74 68 65 20 6f 66 66 65 72 0d 0a 20 20 20 20 74 6f 20 64 69 73 74 72 69 62 75 74 s.to.the.offer......to.distribut
59be0 65 20 63 6f 72 72 65 73 70 6f 6e 64 69 6e 67 20 73 6f 75 72 63 65 20 63 6f 64 65 2e 20 20 28 54 e.corresponding.source.code...(T
59c00 68 69 73 20 61 6c 74 65 72 6e 61 74 69 76 65 20 69 73 0d 0a 20 20 20 20 61 6c 6c 6f 77 65 64 20 his.alternative.is......allowed.
59c20 6f 6e 6c 79 20 66 6f 72 20 6e 6f 6e 63 6f 6d 6d 65 72 63 69 61 6c 20 64 69 73 74 72 69 62 75 74 only.for.noncommercial.distribut
59c40 69 6f 6e 20 61 6e 64 20 6f 6e 6c 79 20 69 66 20 79 6f 75 0d 0a 20 20 20 20 72 65 63 65 69 76 65 ion.and.only.if.you......receive
59c60 64 20 74 68 65 20 70 72 6f 67 72 61 6d 20 69 6e 20 6f 62 6a 65 63 74 20 63 6f 64 65 20 6f 72 20 d.the.program.in.object.code.or.
59c80 65 78 65 63 75 74 61 62 6c 65 20 66 6f 72 6d 20 77 69 74 68 20 73 75 63 68 0d 0a 20 20 20 20 61 executable.form.with.such......a
59ca0 6e 20 6f 66 66 65 72 2c 20 69 6e 20 61 63 63 6f 72 64 20 77 69 74 68 20 53 75 62 73 65 63 74 69 n.offer,.in.accord.with.Subsecti
59cc0 6f 6e 20 62 20 61 62 6f 76 65 2e 29 0d 0a 0d 0a 54 68 65 20 73 6f 75 72 63 65 20 63 6f 64 65 20 on.b.above.)....The.source.code.
59ce0 66 6f 72 20 61 20 77 6f 72 6b 20 6d 65 61 6e 73 20 74 68 65 20 70 72 65 66 65 72 72 65 64 20 66 for.a.work.means.the.preferred.f
59d00 6f 72 6d 20 6f 66 20 74 68 65 20 77 6f 72 6b 20 66 6f 72 0d 0a 6d 61 6b 69 6e 67 20 6d 6f 64 69 orm.of.the.work.for..making.modi
59d20 66 69 63 61 74 69 6f 6e 73 20 74 6f 20 69 74 2e 20 20 46 6f 72 20 61 6e 20 65 78 65 63 75 74 61 fications.to.it...For.an.executa
59d40 62 6c 65 20 77 6f 72 6b 2c 20 63 6f 6d 70 6c 65 74 65 20 73 6f 75 72 63 65 0d 0a 63 6f 64 65 20 ble.work,.complete.source..code.
59d60 6d 65 61 6e 73 20 61 6c 6c 20 74 68 65 20 73 6f 75 72 63 65 20 63 6f 64 65 20 66 6f 72 20 61 6c means.all.the.source.code.for.al
59d80 6c 20 6d 6f 64 75 6c 65 73 20 69 74 20 63 6f 6e 74 61 69 6e 73 2c 20 70 6c 75 73 20 61 6e 79 0d l.modules.it.contains,.plus.any.
59da0 0a 61 73 73 6f 63 69 61 74 65 64 20 69 6e 74 65 72 66 61 63 65 20 64 65 66 69 6e 69 74 69 6f 6e .associated.interface.definition
59dc0 20 66 69 6c 65 73 2c 20 70 6c 75 73 20 74 68 65 20 73 63 72 69 70 74 73 20 75 73 65 64 20 74 6f .files,.plus.the.scripts.used.to
59de0 0d 0a 63 6f 6e 74 72 6f 6c 20 63 6f 6d 70 69 6c 61 74 69 6f 6e 20 61 6e 64 20 69 6e 73 74 61 6c ..control.compilation.and.instal
59e00 6c 61 74 69 6f 6e 20 6f 66 20 74 68 65 20 65 78 65 63 75 74 61 62 6c 65 2e 20 20 48 6f 77 65 76 lation.of.the.executable...Howev
59e20 65 72 2c 20 61 73 20 61 0d 0a 73 70 65 63 69 61 6c 20 65 78 63 65 70 74 69 6f 6e 2c 20 74 68 65 er,.as.a..special.exception,.the
59e40 20 73 6f 75 72 63 65 20 63 6f 64 65 20 64 69 73 74 72 69 62 75 74 65 64 20 6e 65 65 64 20 6e 6f .source.code.distributed.need.no
59e60 74 20 69 6e 63 6c 75 64 65 0d 0a 61 6e 79 74 68 69 6e 67 20 74 68 61 74 20 69 73 20 6e 6f 72 6d t.include..anything.that.is.norm
59e80 61 6c 6c 79 20 64 69 73 74 72 69 62 75 74 65 64 20 28 69 6e 20 65 69 74 68 65 72 20 73 6f 75 72 ally.distributed.(in.either.sour
59ea0 63 65 20 6f 72 20 62 69 6e 61 72 79 0d 0a 66 6f 72 6d 29 20 77 69 74 68 20 74 68 65 20 6d 61 6a ce.or.binary..form).with.the.maj
59ec0 6f 72 20 63 6f 6d 70 6f 6e 65 6e 74 73 20 28 63 6f 6d 70 69 6c 65 72 2c 20 6b 65 72 6e 65 6c 2c or.components.(compiler,.kernel,
59ee0 20 61 6e 64 20 73 6f 20 6f 6e 29 20 6f 66 20 74 68 65 0d 0a 6f 70 65 72 61 74 69 6e 67 20 73 79 .and.so.on).of.the..operating.sy
59f00 73 74 65 6d 20 6f 6e 20 77 68 69 63 68 20 74 68 65 20 65 78 65 63 75 74 61 62 6c 65 20 72 75 6e stem.on.which.the.executable.run
59f20 73 2c 20 75 6e 6c 65 73 73 20 74 68 61 74 20 63 6f 6d 70 6f 6e 65 6e 74 0d 0a 69 74 73 65 6c 66 s,.unless.that.component..itself
59f40 20 61 63 63 6f 6d 70 61 6e 69 65 73 20 74 68 65 20 65 78 65 63 75 74 61 62 6c 65 2e 0d 0a 0d 0a .accompanies.the.executable.....
59f60 49 66 20 64 69 73 74 72 69 62 75 74 69 6f 6e 20 6f 66 20 65 78 65 63 75 74 61 62 6c 65 20 6f 72 If.distribution.of.executable.or
59f80 20 6f 62 6a 65 63 74 20 63 6f 64 65 20 69 73 20 6d 61 64 65 20 62 79 20 6f 66 66 65 72 69 6e 67 .object.code.is.made.by.offering
59fa0 0d 0a 61 63 63 65 73 73 20 74 6f 20 63 6f 70 79 20 66 72 6f 6d 20 61 20 64 65 73 69 67 6e 61 74 ..access.to.copy.from.a.designat
59fc0 65 64 20 70 6c 61 63 65 2c 20 74 68 65 6e 20 6f 66 66 65 72 69 6e 67 20 65 71 75 69 76 61 6c 65 ed.place,.then.offering.equivale
59fe0 6e 74 0d 0a 61 63 63 65 73 73 20 74 6f 20 63 6f 70 79 20 74 68 65 20 73 6f 75 72 63 65 20 63 6f nt..access.to.copy.the.source.co
5a000 64 65 20 66 72 6f 6d 20 74 68 65 20 73 61 6d 65 20 70 6c 61 63 65 20 63 6f 75 6e 74 73 20 61 73 de.from.the.same.place.counts.as
5a020 0d 0a 64 69 73 74 72 69 62 75 74 69 6f 6e 20 6f 66 20 74 68 65 20 73 6f 75 72 63 65 20 63 6f 64 ..distribution.of.the.source.cod
5a040 65 2c 20 65 76 65 6e 20 74 68 6f 75 67 68 20 74 68 69 72 64 20 70 61 72 74 69 65 73 20 61 72 65 e,.even.though.third.parties.are
5a060 20 6e 6f 74 0d 0a 63 6f 6d 70 65 6c 6c 65 64 20 74 6f 20 63 6f 70 79 20 74 68 65 20 73 6f 75 72 .not..compelled.to.copy.the.sour
5a080 63 65 20 61 6c 6f 6e 67 20 77 69 74 68 20 74 68 65 20 6f 62 6a 65 63 74 20 63 6f 64 65 2e 0d 0a ce.along.with.the.object.code...
5a0a0 0d 0a 20 20 34 2e 20 59 6f 75 20 6d 61 79 20 6e 6f 74 20 63 6f 70 79 2c 20 6d 6f 64 69 66 79 2c ....4..You.may.not.copy,.modify,
5a0c0 20 73 75 62 6c 69 63 65 6e 73 65 2c 20 6f 72 20 64 69 73 74 72 69 62 75 74 65 20 74 68 65 20 50 .sublicense,.or.distribute.the.P
5a0e0 72 6f 67 72 61 6d 0d 0a 65 78 63 65 70 74 20 61 73 20 65 78 70 72 65 73 73 6c 79 20 70 72 6f 76 rogram..except.as.expressly.prov
5a100 69 64 65 64 20 75 6e 64 65 72 20 74 68 69 73 20 4c 69 63 65 6e 73 65 2e 20 20 41 6e 79 20 61 74 ided.under.this.License...Any.at
5a120 74 65 6d 70 74 0d 0a 6f 74 68 65 72 77 69 73 65 20 74 6f 20 63 6f 70 79 2c 20 6d 6f 64 69 66 79 tempt..otherwise.to.copy,.modify
5a140 2c 20 73 75 62 6c 69 63 65 6e 73 65 20 6f 72 20 64 69 73 74 72 69 62 75 74 65 20 74 68 65 20 50 ,.sublicense.or.distribute.the.P
5a160 72 6f 67 72 61 6d 20 69 73 0d 0a 76 6f 69 64 2c 20 61 6e 64 20 77 69 6c 6c 20 61 75 74 6f 6d 61 rogram.is..void,.and.will.automa
5a180 74 69 63 61 6c 6c 79 20 74 65 72 6d 69 6e 61 74 65 20 79 6f 75 72 20 72 69 67 68 74 73 20 75 6e tically.terminate.your.rights.un
5a1a0 64 65 72 20 74 68 69 73 20 4c 69 63 65 6e 73 65 2e 0d 0a 48 6f 77 65 76 65 72 2c 20 70 61 72 74 der.this.License...However,.part
5a1c0 69 65 73 20 77 68 6f 20 68 61 76 65 20 72 65 63 65 69 76 65 64 20 63 6f 70 69 65 73 2c 20 6f 72 ies.who.have.received.copies,.or
5a1e0 20 72 69 67 68 74 73 2c 20 66 72 6f 6d 20 79 6f 75 20 75 6e 64 65 72 0d 0a 74 68 69 73 20 4c 69 .rights,.from.you.under..this.Li
5a200 63 65 6e 73 65 20 77 69 6c 6c 20 6e 6f 74 20 68 61 76 65 20 74 68 65 69 72 20 6c 69 63 65 6e 73 cense.will.not.have.their.licens
5a220 65 73 20 74 65 72 6d 69 6e 61 74 65 64 20 73 6f 20 6c 6f 6e 67 20 61 73 20 73 75 63 68 0d 0a 70 es.terminated.so.long.as.such..p
5a240 61 72 74 69 65 73 20 72 65 6d 61 69 6e 20 69 6e 20 66 75 6c 6c 20 63 6f 6d 70 6c 69 61 6e 63 65 arties.remain.in.full.compliance
5a260 2e 0d 0a 0d 0a 20 20 35 2e 20 59 6f 75 20 61 72 65 20 6e 6f 74 20 72 65 71 75 69 72 65 64 20 74 .......5..You.are.not.required.t
5a280 6f 20 61 63 63 65 70 74 20 74 68 69 73 20 4c 69 63 65 6e 73 65 2c 20 73 69 6e 63 65 20 79 6f 75 o.accept.this.License,.since.you
5a2a0 20 68 61 76 65 20 6e 6f 74 0d 0a 73 69 67 6e 65 64 20 69 74 2e 20 20 48 6f 77 65 76 65 72 2c 20 .have.not..signed.it...However,.
5a2c0 6e 6f 74 68 69 6e 67 20 65 6c 73 65 20 67 72 61 6e 74 73 20 79 6f 75 20 70 65 72 6d 69 73 73 69 nothing.else.grants.you.permissi
5a2e0 6f 6e 20 74 6f 20 6d 6f 64 69 66 79 20 6f 72 0d 0a 64 69 73 74 72 69 62 75 74 65 20 74 68 65 20 on.to.modify.or..distribute.the.
5a300 50 72 6f 67 72 61 6d 20 6f 72 20 69 74 73 20 64 65 72 69 76 61 74 69 76 65 20 77 6f 72 6b 73 2e Program.or.its.derivative.works.
5a320 20 20 54 68 65 73 65 20 61 63 74 69 6f 6e 73 20 61 72 65 0d 0a 70 72 6f 68 69 62 69 74 65 64 20 ..These.actions.are..prohibited.
5a340 62 79 20 6c 61 77 20 69 66 20 79 6f 75 20 64 6f 20 6e 6f 74 20 61 63 63 65 70 74 20 74 68 69 73 by.law.if.you.do.not.accept.this
5a360 20 4c 69 63 65 6e 73 65 2e 20 20 54 68 65 72 65 66 6f 72 65 2c 20 62 79 0d 0a 6d 6f 64 69 66 79 .License...Therefore,.by..modify
5a380 69 6e 67 20 6f 72 20 64 69 73 74 72 69 62 75 74 69 6e 67 20 74 68 65 20 50 72 6f 67 72 61 6d 20 ing.or.distributing.the.Program.
5a3a0 28 6f 72 20 61 6e 79 20 77 6f 72 6b 20 62 61 73 65 64 20 6f 6e 20 74 68 65 0d 0a 50 72 6f 67 72 (or.any.work.based.on.the..Progr
5a3c0 61 6d 29 2c 20 79 6f 75 20 69 6e 64 69 63 61 74 65 20 79 6f 75 72 20 61 63 63 65 70 74 61 6e 63 am),.you.indicate.your.acceptanc
5a3e0 65 20 6f 66 20 74 68 69 73 20 4c 69 63 65 6e 73 65 20 74 6f 20 64 6f 20 73 6f 2c 20 61 6e 64 0d e.of.this.License.to.do.so,.and.
5a400 0a 61 6c 6c 20 69 74 73 20 74 65 72 6d 73 20 61 6e 64 20 63 6f 6e 64 69 74 69 6f 6e 73 20 66 6f .all.its.terms.and.conditions.fo
5a420 72 20 63 6f 70 79 69 6e 67 2c 20 64 69 73 74 72 69 62 75 74 69 6e 67 20 6f 72 20 6d 6f 64 69 66 r.copying,.distributing.or.modif
5a440 79 69 6e 67 0d 0a 74 68 65 20 50 72 6f 67 72 61 6d 20 6f 72 20 77 6f 72 6b 73 20 62 61 73 65 64 ying..the.Program.or.works.based
5a460 20 6f 6e 20 69 74 2e 0d 0a 0d 0a 20 20 36 2e 20 45 61 63 68 20 74 69 6d 65 20 79 6f 75 20 72 65 .on.it.......6..Each.time.you.re
5a480 64 69 73 74 72 69 62 75 74 65 20 74 68 65 20 50 72 6f 67 72 61 6d 20 28 6f 72 20 61 6e 79 20 77 distribute.the.Program.(or.any.w
5a4a0 6f 72 6b 20 62 61 73 65 64 20 6f 6e 20 74 68 65 0d 0a 50 72 6f 67 72 61 6d 29 2c 20 74 68 65 20 ork.based.on.the..Program),.the.
5a4c0 72 65 63 69 70 69 65 6e 74 20 61 75 74 6f 6d 61 74 69 63 61 6c 6c 79 20 72 65 63 65 69 76 65 73 recipient.automatically.receives
5a4e0 20 61 20 6c 69 63 65 6e 73 65 20 66 72 6f 6d 20 74 68 65 0d 0a 6f 72 69 67 69 6e 61 6c 20 6c 69 .a.license.from.the..original.li
5a500 63 65 6e 73 6f 72 20 74 6f 20 63 6f 70 79 2c 20 64 69 73 74 72 69 62 75 74 65 20 6f 72 20 6d 6f censor.to.copy,.distribute.or.mo
5a520 64 69 66 79 20 74 68 65 20 50 72 6f 67 72 61 6d 20 73 75 62 6a 65 63 74 20 74 6f 0d 0a 74 68 65 dify.the.Program.subject.to..the
5a540 73 65 20 74 65 72 6d 73 20 61 6e 64 20 63 6f 6e 64 69 74 69 6f 6e 73 2e 20 20 59 6f 75 20 6d 61 se.terms.and.conditions...You.ma
5a560 79 20 6e 6f 74 20 69 6d 70 6f 73 65 20 61 6e 79 20 66 75 72 74 68 65 72 0d 0a 72 65 73 74 72 69 y.not.impose.any.further..restri
5a580 63 74 69 6f 6e 73 20 6f 6e 20 74 68 65 20 72 65 63 69 70 69 65 6e 74 73 27 20 65 78 65 72 63 69 ctions.on.the.recipients'.exerci
5a5a0 73 65 20 6f 66 20 74 68 65 20 72 69 67 68 74 73 20 67 72 61 6e 74 65 64 20 68 65 72 65 69 6e 2e se.of.the.rights.granted.herein.
5a5c0 0d 0a 59 6f 75 20 61 72 65 20 6e 6f 74 20 72 65 73 70 6f 6e 73 69 62 6c 65 20 66 6f 72 20 65 6e ..You.are.not.responsible.for.en
5a5e0 66 6f 72 63 69 6e 67 20 63 6f 6d 70 6c 69 61 6e 63 65 20 62 79 20 74 68 69 72 64 20 70 61 72 74 forcing.compliance.by.third.part
5a600 69 65 73 20 74 6f 0d 0a 74 68 69 73 20 4c 69 63 65 6e 73 65 2e 0d 0a 0d 0a 20 20 37 2e 20 49 66 ies.to..this.License.......7..If
5a620 2c 20 61 73 20 61 20 63 6f 6e 73 65 71 75 65 6e 63 65 20 6f 66 20 61 20 63 6f 75 72 74 20 6a 75 ,.as.a.consequence.of.a.court.ju
5a640 64 67 6d 65 6e 74 20 6f 72 20 61 6c 6c 65 67 61 74 69 6f 6e 20 6f 66 20 70 61 74 65 6e 74 0d 0a dgment.or.allegation.of.patent..
5a660 69 6e 66 72 69 6e 67 65 6d 65 6e 74 20 6f 72 20 66 6f 72 20 61 6e 79 20 6f 74 68 65 72 20 72 65 infringement.or.for.any.other.re
5a680 61 73 6f 6e 20 28 6e 6f 74 20 6c 69 6d 69 74 65 64 20 74 6f 20 70 61 74 65 6e 74 20 69 73 73 75 ason.(not.limited.to.patent.issu
5a6a0 65 73 29 2c 0d 0a 63 6f 6e 64 69 74 69 6f 6e 73 20 61 72 65 20 69 6d 70 6f 73 65 64 20 6f 6e 20 es),..conditions.are.imposed.on.
5a6c0 79 6f 75 20 28 77 68 65 74 68 65 72 20 62 79 20 63 6f 75 72 74 20 6f 72 64 65 72 2c 20 61 67 72 you.(whether.by.court.order,.agr
5a6e0 65 65 6d 65 6e 74 20 6f 72 0d 0a 6f 74 68 65 72 77 69 73 65 29 20 74 68 61 74 20 63 6f 6e 74 72 eement.or..otherwise).that.contr
5a700 61 64 69 63 74 20 74 68 65 20 63 6f 6e 64 69 74 69 6f 6e 73 20 6f 66 20 74 68 69 73 20 4c 69 63 adict.the.conditions.of.this.Lic
5a720 65 6e 73 65 2c 20 74 68 65 79 20 64 6f 20 6e 6f 74 0d 0a 65 78 63 75 73 65 20 79 6f 75 20 66 72 ense,.they.do.not..excuse.you.fr
5a740 6f 6d 20 74 68 65 20 63 6f 6e 64 69 74 69 6f 6e 73 20 6f 66 20 74 68 69 73 20 4c 69 63 65 6e 73 om.the.conditions.of.this.Licens
5a760 65 2e 20 20 49 66 20 79 6f 75 20 63 61 6e 6e 6f 74 0d 0a 64 69 73 74 72 69 62 75 74 65 20 73 6f e...If.you.cannot..distribute.so
5a780 20 61 73 20 74 6f 20 73 61 74 69 73 66 79 20 73 69 6d 75 6c 74 61 6e 65 6f 75 73 6c 79 20 79 6f .as.to.satisfy.simultaneously.yo
5a7a0 75 72 20 6f 62 6c 69 67 61 74 69 6f 6e 73 20 75 6e 64 65 72 20 74 68 69 73 0d 0a 4c 69 63 65 6e ur.obligations.under.this..Licen
5a7c0 73 65 20 61 6e 64 20 61 6e 79 20 6f 74 68 65 72 20 70 65 72 74 69 6e 65 6e 74 20 6f 62 6c 69 67 se.and.any.other.pertinent.oblig
5a7e0 61 74 69 6f 6e 73 2c 20 74 68 65 6e 20 61 73 20 61 20 63 6f 6e 73 65 71 75 65 6e 63 65 20 79 6f ations,.then.as.a.consequence.yo
5a800 75 0d 0a 6d 61 79 20 6e 6f 74 20 64 69 73 74 72 69 62 75 74 65 20 74 68 65 20 50 72 6f 67 72 61 u..may.not.distribute.the.Progra
5a820 6d 20 61 74 20 61 6c 6c 2e 20 20 46 6f 72 20 65 78 61 6d 70 6c 65 2c 20 69 66 20 61 20 70 61 74 m.at.all...For.example,.if.a.pat
5a840 65 6e 74 0d 0a 6c 69 63 65 6e 73 65 20 77 6f 75 6c 64 20 6e 6f 74 20 70 65 72 6d 69 74 20 72 6f ent..license.would.not.permit.ro
5a860 79 61 6c 74 79 2d 66 72 65 65 20 72 65 64 69 73 74 72 69 62 75 74 69 6f 6e 20 6f 66 20 74 68 65 yalty-free.redistribution.of.the
5a880 20 50 72 6f 67 72 61 6d 20 62 79 0d 0a 61 6c 6c 20 74 68 6f 73 65 20 77 68 6f 20 72 65 63 65 69 .Program.by..all.those.who.recei
5a8a0 76 65 20 63 6f 70 69 65 73 20 64 69 72 65 63 74 6c 79 20 6f 72 20 69 6e 64 69 72 65 63 74 6c 79 ve.copies.directly.or.indirectly
5a8c0 20 74 68 72 6f 75 67 68 20 79 6f 75 2c 20 74 68 65 6e 0d 0a 74 68 65 20 6f 6e 6c 79 20 77 61 79 .through.you,.then..the.only.way
5a8e0 20 79 6f 75 20 63 6f 75 6c 64 20 73 61 74 69 73 66 79 20 62 6f 74 68 20 69 74 20 61 6e 64 20 74 .you.could.satisfy.both.it.and.t
5a900 68 69 73 20 4c 69 63 65 6e 73 65 20 77 6f 75 6c 64 20 62 65 20 74 6f 0d 0a 72 65 66 72 61 69 6e his.License.would.be.to..refrain
5a920 20 65 6e 74 69 72 65 6c 79 20 66 72 6f 6d 20 64 69 73 74 72 69 62 75 74 69 6f 6e 20 6f 66 20 74 .entirely.from.distribution.of.t
5a940 68 65 20 50 72 6f 67 72 61 6d 2e 0d 0a 0d 0a 49 66 20 61 6e 79 20 70 6f 72 74 69 6f 6e 20 6f 66 he.Program.....If.any.portion.of
5a960 20 74 68 69 73 20 73 65 63 74 69 6f 6e 20 69 73 20 68 65 6c 64 20 69 6e 76 61 6c 69 64 20 6f 72 .this.section.is.held.invalid.or
5a980 20 75 6e 65 6e 66 6f 72 63 65 61 62 6c 65 20 75 6e 64 65 72 0d 0a 61 6e 79 20 70 61 72 74 69 63 .unenforceable.under..any.partic
5a9a0 75 6c 61 72 20 63 69 72 63 75 6d 73 74 61 6e 63 65 2c 20 74 68 65 20 62 61 6c 61 6e 63 65 20 6f ular.circumstance,.the.balance.o
5a9c0 66 20 74 68 65 20 73 65 63 74 69 6f 6e 20 69 73 20 69 6e 74 65 6e 64 65 64 20 74 6f 0d 0a 61 70 f.the.section.is.intended.to..ap
5a9e0 70 6c 79 20 61 6e 64 20 74 68 65 20 73 65 63 74 69 6f 6e 20 61 73 20 61 20 77 68 6f 6c 65 20 69 ply.and.the.section.as.a.whole.i
5aa00 73 20 69 6e 74 65 6e 64 65 64 20 74 6f 20 61 70 70 6c 79 20 69 6e 20 6f 74 68 65 72 0d 0a 63 69 s.intended.to.apply.in.other..ci
5aa20 72 63 75 6d 73 74 61 6e 63 65 73 2e 0d 0a 0d 0a 49 74 20 69 73 20 6e 6f 74 20 74 68 65 20 70 75 rcumstances.....It.is.not.the.pu
5aa40 72 70 6f 73 65 20 6f 66 20 74 68 69 73 20 73 65 63 74 69 6f 6e 20 74 6f 20 69 6e 64 75 63 65 20 rpose.of.this.section.to.induce.
5aa60 79 6f 75 20 74 6f 20 69 6e 66 72 69 6e 67 65 20 61 6e 79 0d 0a 70 61 74 65 6e 74 73 20 6f 72 20 you.to.infringe.any..patents.or.
5aa80 6f 74 68 65 72 20 70 72 6f 70 65 72 74 79 20 72 69 67 68 74 20 63 6c 61 69 6d 73 20 6f 72 20 74 other.property.right.claims.or.t
5aaa0 6f 20 63 6f 6e 74 65 73 74 20 76 61 6c 69 64 69 74 79 20 6f 66 20 61 6e 79 0d 0a 73 75 63 68 20 o.contest.validity.of.any..such.
5aac0 63 6c 61 69 6d 73 3b 20 74 68 69 73 20 73 65 63 74 69 6f 6e 20 68 61 73 20 74 68 65 20 73 6f 6c claims;.this.section.has.the.sol
5aae0 65 20 70 75 72 70 6f 73 65 20 6f 66 20 70 72 6f 74 65 63 74 69 6e 67 20 74 68 65 0d 0a 69 6e 74 e.purpose.of.protecting.the..int
5ab00 65 67 72 69 74 79 20 6f 66 20 74 68 65 20 66 72 65 65 20 73 6f 66 74 77 61 72 65 20 64 69 73 74 egrity.of.the.free.software.dist
5ab20 72 69 62 75 74 69 6f 6e 20 73 79 73 74 65 6d 2c 20 77 68 69 63 68 20 69 73 0d 0a 69 6d 70 6c 65 ribution.system,.which.is..imple
5ab40 6d 65 6e 74 65 64 20 62 79 20 70 75 62 6c 69 63 20 6c 69 63 65 6e 73 65 20 70 72 61 63 74 69 63 mented.by.public.license.practic
5ab60 65 73 2e 20 20 4d 61 6e 79 20 70 65 6f 70 6c 65 20 68 61 76 65 20 6d 61 64 65 0d 0a 67 65 6e 65 es...Many.people.have.made..gene
5ab80 72 6f 75 73 20 63 6f 6e 74 72 69 62 75 74 69 6f 6e 73 20 74 6f 20 74 68 65 20 77 69 64 65 20 72 rous.contributions.to.the.wide.r
5aba0 61 6e 67 65 20 6f 66 20 73 6f 66 74 77 61 72 65 20 64 69 73 74 72 69 62 75 74 65 64 0d 0a 74 68 ange.of.software.distributed..th
5abc0 72 6f 75 67 68 20 74 68 61 74 20 73 79 73 74 65 6d 20 69 6e 20 72 65 6c 69 61 6e 63 65 20 6f 6e rough.that.system.in.reliance.on
5abe0 20 63 6f 6e 73 69 73 74 65 6e 74 20 61 70 70 6c 69 63 61 74 69 6f 6e 20 6f 66 20 74 68 61 74 0d .consistent.application.of.that.
5ac00 0a 73 79 73 74 65 6d 3b 20 69 74 20 69 73 20 75 70 20 74 6f 20 74 68 65 20 61 75 74 68 6f 72 2f .system;.it.is.up.to.the.author/
5ac20 64 6f 6e 6f 72 20 74 6f 20 64 65 63 69 64 65 20 69 66 20 68 65 20 6f 72 20 73 68 65 20 69 73 20 donor.to.decide.if.he.or.she.is.
5ac40 77 69 6c 6c 69 6e 67 0d 0a 74 6f 20 64 69 73 74 72 69 62 75 74 65 20 73 6f 66 74 77 61 72 65 20 willing..to.distribute.software.
5ac60 74 68 72 6f 75 67 68 20 61 6e 79 20 6f 74 68 65 72 20 73 79 73 74 65 6d 20 61 6e 64 20 61 20 6c through.any.other.system.and.a.l
5ac80 69 63 65 6e 73 65 65 20 63 61 6e 6e 6f 74 0d 0a 69 6d 70 6f 73 65 20 74 68 61 74 20 63 68 6f 69 icensee.cannot..impose.that.choi
5aca0 63 65 2e 0d 0a 0d 0a 54 68 69 73 20 73 65 63 74 69 6f 6e 20 69 73 20 69 6e 74 65 6e 64 65 64 20 ce.....This.section.is.intended.
5acc0 74 6f 20 6d 61 6b 65 20 74 68 6f 72 6f 75 67 68 6c 79 20 63 6c 65 61 72 20 77 68 61 74 20 69 73 to.make.thoroughly.clear.what.is
5ace0 20 62 65 6c 69 65 76 65 64 20 74 6f 0d 0a 62 65 20 61 20 63 6f 6e 73 65 71 75 65 6e 63 65 20 6f .believed.to..be.a.consequence.o
5ad00 66 20 74 68 65 20 72 65 73 74 20 6f 66 20 74 68 69 73 20 4c 69 63 65 6e 73 65 2e 0d 0a 0d 0a 20 f.the.rest.of.this.License......
5ad20 20 38 2e 20 49 66 20 74 68 65 20 64 69 73 74 72 69 62 75 74 69 6f 6e 20 61 6e 64 2f 6f 72 20 75 .8..If.the.distribution.and/or.u
5ad40 73 65 20 6f 66 20 74 68 65 20 50 72 6f 67 72 61 6d 20 69 73 20 72 65 73 74 72 69 63 74 65 64 20 se.of.the.Program.is.restricted.
5ad60 69 6e 0d 0a 63 65 72 74 61 69 6e 20 63 6f 75 6e 74 72 69 65 73 20 65 69 74 68 65 72 20 62 79 20 in..certain.countries.either.by.
5ad80 70 61 74 65 6e 74 73 20 6f 72 20 62 79 20 63 6f 70 79 72 69 67 68 74 65 64 20 69 6e 74 65 72 66 patents.or.by.copyrighted.interf
5ada0 61 63 65 73 2c 20 74 68 65 0d 0a 6f 72 69 67 69 6e 61 6c 20 63 6f 70 79 72 69 67 68 74 20 68 6f aces,.the..original.copyright.ho
5adc0 6c 64 65 72 20 77 68 6f 20 70 6c 61 63 65 73 20 74 68 65 20 50 72 6f 67 72 61 6d 20 75 6e 64 65 lder.who.places.the.Program.unde
5ade0 72 20 74 68 69 73 20 4c 69 63 65 6e 73 65 0d 0a 6d 61 79 20 61 64 64 20 61 6e 20 65 78 70 6c 69 r.this.License..may.add.an.expli
5ae00 63 69 74 20 67 65 6f 67 72 61 70 68 69 63 61 6c 20 64 69 73 74 72 69 62 75 74 69 6f 6e 20 6c 69 cit.geographical.distribution.li
5ae20 6d 69 74 61 74 69 6f 6e 20 65 78 63 6c 75 64 69 6e 67 0d 0a 74 68 6f 73 65 20 63 6f 75 6e 74 72 mitation.excluding..those.countr
5ae40 69 65 73 2c 20 73 6f 20 74 68 61 74 20 64 69 73 74 72 69 62 75 74 69 6f 6e 20 69 73 20 70 65 72 ies,.so.that.distribution.is.per
5ae60 6d 69 74 74 65 64 20 6f 6e 6c 79 20 69 6e 20 6f 72 20 61 6d 6f 6e 67 0d 0a 63 6f 75 6e 74 72 69 mitted.only.in.or.among..countri
5ae80 65 73 20 6e 6f 74 20 74 68 75 73 20 65 78 63 6c 75 64 65 64 2e 20 20 49 6e 20 73 75 63 68 20 63 es.not.thus.excluded...In.such.c
5aea0 61 73 65 2c 20 74 68 69 73 20 4c 69 63 65 6e 73 65 20 69 6e 63 6f 72 70 6f 72 61 74 65 73 0d 0a ase,.this.License.incorporates..
5aec0 74 68 65 20 6c 69 6d 69 74 61 74 69 6f 6e 20 61 73 20 69 66 20 77 72 69 74 74 65 6e 20 69 6e 20 the.limitation.as.if.written.in.
5aee0 74 68 65 20 62 6f 64 79 20 6f 66 20 74 68 69 73 20 4c 69 63 65 6e 73 65 2e 0d 0a 0d 0a 20 20 39 the.body.of.this.License.......9
5af00 2e 20 54 68 65 20 46 72 65 65 20 53 6f 66 74 77 61 72 65 20 46 6f 75 6e 64 61 74 69 6f 6e 20 6d ..The.Free.Software.Foundation.m
5af20 61 79 20 70 75 62 6c 69 73 68 20 72 65 76 69 73 65 64 20 61 6e 64 2f 6f 72 20 6e 65 77 20 76 65 ay.publish.revised.and/or.new.ve
5af40 72 73 69 6f 6e 73 0d 0a 6f 66 20 74 68 65 20 47 65 6e 65 72 61 6c 20 50 75 62 6c 69 63 20 4c 69 rsions..of.the.General.Public.Li
5af60 63 65 6e 73 65 20 66 72 6f 6d 20 74 69 6d 65 20 74 6f 20 74 69 6d 65 2e 20 20 53 75 63 68 20 6e cense.from.time.to.time...Such.n
5af80 65 77 20 76 65 72 73 69 6f 6e 73 20 77 69 6c 6c 0d 0a 62 65 20 73 69 6d 69 6c 61 72 20 69 6e 20 ew.versions.will..be.similar.in.
5afa0 73 70 69 72 69 74 20 74 6f 20 74 68 65 20 70 72 65 73 65 6e 74 20 76 65 72 73 69 6f 6e 2c 20 62 spirit.to.the.present.version,.b
5afc0 75 74 20 6d 61 79 20 64 69 66 66 65 72 20 69 6e 20 64 65 74 61 69 6c 20 74 6f 0d 0a 61 64 64 72 ut.may.differ.in.detail.to..addr
5afe0 65 73 73 20 6e 65 77 20 70 72 6f 62 6c 65 6d 73 20 6f 72 20 63 6f 6e 63 65 72 6e 73 2e 0d 0a 0d ess.new.problems.or.concerns....
5b000 0a 45 61 63 68 20 76 65 72 73 69 6f 6e 20 69 73 20 67 69 76 65 6e 20 61 20 64 69 73 74 69 6e 67 .Each.version.is.given.a.disting
5b020 75 69 73 68 69 6e 67 20 76 65 72 73 69 6f 6e 20 6e 75 6d 62 65 72 2e 20 20 49 66 20 74 68 65 20 uishing.version.number...If.the.
5b040 50 72 6f 67 72 61 6d 0d 0a 73 70 65 63 69 66 69 65 73 20 61 20 76 65 72 73 69 6f 6e 20 6e 75 6d Program..specifies.a.version.num
5b060 62 65 72 20 6f 66 20 74 68 69 73 20 4c 69 63 65 6e 73 65 20 77 68 69 63 68 20 61 70 70 6c 69 65 ber.of.this.License.which.applie
5b080 73 20 74 6f 20 69 74 20 61 6e 64 20 22 61 6e 79 0d 0a 6c 61 74 65 72 20 76 65 72 73 69 6f 6e 22 s.to.it.and."any..later.version"
5b0a0 2c 20 79 6f 75 20 68 61 76 65 20 74 68 65 20 6f 70 74 69 6f 6e 20 6f 66 20 66 6f 6c 6c 6f 77 69 ,.you.have.the.option.of.followi
5b0c0 6e 67 20 74 68 65 20 74 65 72 6d 73 20 61 6e 64 20 63 6f 6e 64 69 74 69 6f 6e 73 0d 0a 65 69 74 ng.the.terms.and.conditions..eit
5b0e0 68 65 72 20 6f 66 20 74 68 61 74 20 76 65 72 73 69 6f 6e 20 6f 72 20 6f 66 20 61 6e 79 20 6c 61 her.of.that.version.or.of.any.la
5b100 74 65 72 20 76 65 72 73 69 6f 6e 20 70 75 62 6c 69 73 68 65 64 20 62 79 20 74 68 65 20 46 72 65 ter.version.published.by.the.Fre
5b120 65 0d 0a 53 6f 66 74 77 61 72 65 20 46 6f 75 6e 64 61 74 69 6f 6e 2e 20 20 49 66 20 74 68 65 20 e..Software.Foundation...If.the.
5b140 50 72 6f 67 72 61 6d 20 64 6f 65 73 20 6e 6f 74 20 73 70 65 63 69 66 79 20 61 20 76 65 72 73 69 Program.does.not.specify.a.versi
5b160 6f 6e 20 6e 75 6d 62 65 72 20 6f 66 0d 0a 74 68 69 73 20 4c 69 63 65 6e 73 65 2c 20 79 6f 75 20 on.number.of..this.License,.you.
5b180 6d 61 79 20 63 68 6f 6f 73 65 20 61 6e 79 20 76 65 72 73 69 6f 6e 20 65 76 65 72 20 70 75 62 6c may.choose.any.version.ever.publ
5b1a0 69 73 68 65 64 20 62 79 20 74 68 65 20 46 72 65 65 20 53 6f 66 74 77 61 72 65 0d 0a 46 6f 75 6e ished.by.the.Free.Software..Foun
5b1c0 64 61 74 69 6f 6e 2e 0d 0a 0d 0a 20 20 31 30 2e 20 49 66 20 79 6f 75 20 77 69 73 68 20 74 6f 20 dation.......10..If.you.wish.to.
5b1e0 69 6e 63 6f 72 70 6f 72 61 74 65 20 70 61 72 74 73 20 6f 66 20 74 68 65 20 50 72 6f 67 72 61 6d incorporate.parts.of.the.Program
5b200 20 69 6e 74 6f 20 6f 74 68 65 72 20 66 72 65 65 0d 0a 70 72 6f 67 72 61 6d 73 20 77 68 6f 73 65 .into.other.free..programs.whose
5b220 20 64 69 73 74 72 69 62 75 74 69 6f 6e 20 63 6f 6e 64 69 74 69 6f 6e 73 20 61 72 65 20 64 69 66 .distribution.conditions.are.dif
5b240 66 65 72 65 6e 74 2c 20 77 72 69 74 65 20 74 6f 20 74 68 65 20 61 75 74 68 6f 72 0d 0a 74 6f 20 ferent,.write.to.the.author..to.
5b260 61 73 6b 20 66 6f 72 20 70 65 72 6d 69 73 73 69 6f 6e 2e 20 20 46 6f 72 20 73 6f 66 74 77 61 72 ask.for.permission...For.softwar
5b280 65 20 77 68 69 63 68 20 69 73 20 63 6f 70 79 72 69 67 68 74 65 64 20 62 79 20 74 68 65 20 46 72 e.which.is.copyrighted.by.the.Fr
5b2a0 65 65 0d 0a 53 6f 66 74 77 61 72 65 20 46 6f 75 6e 64 61 74 69 6f 6e 2c 20 77 72 69 74 65 20 74 ee..Software.Foundation,.write.t
5b2c0 6f 20 74 68 65 20 46 72 65 65 20 53 6f 66 74 77 61 72 65 20 46 6f 75 6e 64 61 74 69 6f 6e 3b 20 o.the.Free.Software.Foundation;.
5b2e0 77 65 20 73 6f 6d 65 74 69 6d 65 73 0d 0a 6d 61 6b 65 20 65 78 63 65 70 74 69 6f 6e 73 20 66 6f we.sometimes..make.exceptions.fo
5b300 72 20 74 68 69 73 2e 20 20 4f 75 72 20 64 65 63 69 73 69 6f 6e 20 77 69 6c 6c 20 62 65 20 67 75 r.this...Our.decision.will.be.gu
5b320 69 64 65 64 20 62 79 20 74 68 65 20 74 77 6f 20 67 6f 61 6c 73 0d 0a 6f 66 20 70 72 65 73 65 72 ided.by.the.two.goals..of.preser
5b340 76 69 6e 67 20 74 68 65 20 66 72 65 65 20 73 74 61 74 75 73 20 6f 66 20 61 6c 6c 20 64 65 72 69 ving.the.free.status.of.all.deri
5b360 76 61 74 69 76 65 73 20 6f 66 20 6f 75 72 20 66 72 65 65 20 73 6f 66 74 77 61 72 65 20 61 6e 64 vatives.of.our.free.software.and
5b380 0d 0a 6f 66 20 70 72 6f 6d 6f 74 69 6e 67 20 74 68 65 20 73 68 61 72 69 6e 67 20 61 6e 64 20 72 ..of.promoting.the.sharing.and.r
5b3a0 65 75 73 65 20 6f 66 20 73 6f 66 74 77 61 72 65 20 67 65 6e 65 72 61 6c 6c 79 2e 0d 0a 0d 0a 20 euse.of.software.generally......
5b3c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 4e 4f 20 57 41 ...........................NO.WA
5b3e0 52 52 41 4e 54 59 0d 0a 0d 0a 20 20 31 31 2e 20 42 45 43 41 55 53 45 20 54 48 45 20 50 52 4f 47 RRANTY......11..BECAUSE.THE.PROG
5b400 52 41 4d 20 49 53 20 4c 49 43 45 4e 53 45 44 20 46 52 45 45 20 4f 46 20 43 48 41 52 47 45 2c 20 RAM.IS.LICENSED.FREE.OF.CHARGE,.
5b420 54 48 45 52 45 20 49 53 20 4e 4f 20 57 41 52 52 41 4e 54 59 0d 0a 46 4f 52 20 54 48 45 20 50 52 THERE.IS.NO.WARRANTY..FOR.THE.PR
5b440 4f 47 52 41 4d 2c 20 54 4f 20 54 48 45 20 45 58 54 45 4e 54 20 50 45 52 4d 49 54 54 45 44 20 42 OGRAM,.TO.THE.EXTENT.PERMITTED.B
5b460 59 20 41 50 50 4c 49 43 41 42 4c 45 20 4c 41 57 2e 20 20 45 58 43 45 50 54 20 57 48 45 4e 0d 0a Y.APPLICABLE.LAW...EXCEPT.WHEN..
5b480 4f 54 48 45 52 57 49 53 45 20 53 54 41 54 45 44 20 49 4e 20 57 52 49 54 49 4e 47 20 54 48 45 20 OTHERWISE.STATED.IN.WRITING.THE.
5b4a0 43 4f 50 59 52 49 47 48 54 20 48 4f 4c 44 45 52 53 20 41 4e 44 2f 4f 52 20 4f 54 48 45 52 20 50 COPYRIGHT.HOLDERS.AND/OR.OTHER.P
5b4c0 41 52 54 49 45 53 0d 0a 50 52 4f 56 49 44 45 20 54 48 45 20 50 52 4f 47 52 41 4d 20 22 41 53 20 ARTIES..PROVIDE.THE.PROGRAM."AS.
5b4e0 49 53 22 20 57 49 54 48 4f 55 54 20 57 41 52 52 41 4e 54 59 20 4f 46 20 41 4e 59 20 4b 49 4e 44 IS".WITHOUT.WARRANTY.OF.ANY.KIND
5b500 2c 20 45 49 54 48 45 52 20 45 58 50 52 45 53 53 45 44 0d 0a 4f 52 20 49 4d 50 4c 49 45 44 2c 20 ,.EITHER.EXPRESSED..OR.IMPLIED,.
5b520 49 4e 43 4c 55 44 49 4e 47 2c 20 42 55 54 20 4e 4f 54 20 4c 49 4d 49 54 45 44 20 54 4f 2c 20 54 INCLUDING,.BUT.NOT.LIMITED.TO,.T
5b540 48 45 20 49 4d 50 4c 49 45 44 20 57 41 52 52 41 4e 54 49 45 53 20 4f 46 0d 0a 4d 45 52 43 48 41 HE.IMPLIED.WARRANTIES.OF..MERCHA
5b560 4e 54 41 42 49 4c 49 54 59 20 41 4e 44 20 46 49 54 4e 45 53 53 20 46 4f 52 20 41 20 50 41 52 54 NTABILITY.AND.FITNESS.FOR.A.PART
5b580 49 43 55 4c 41 52 20 50 55 52 50 4f 53 45 2e 20 20 54 48 45 20 45 4e 54 49 52 45 20 52 49 53 4b ICULAR.PURPOSE...THE.ENTIRE.RISK
5b5a0 20 41 53 0d 0a 54 4f 20 54 48 45 20 51 55 41 4c 49 54 59 20 41 4e 44 20 50 45 52 46 4f 52 4d 41 .AS..TO.THE.QUALITY.AND.PERFORMA
5b5c0 4e 43 45 20 4f 46 20 54 48 45 20 50 52 4f 47 52 41 4d 20 49 53 20 57 49 54 48 20 59 4f 55 2e 20 NCE.OF.THE.PROGRAM.IS.WITH.YOU..
5b5e0 20 53 48 4f 55 4c 44 20 54 48 45 0d 0a 50 52 4f 47 52 41 4d 20 50 52 4f 56 45 20 44 45 46 45 43 .SHOULD.THE..PROGRAM.PROVE.DEFEC
5b600 54 49 56 45 2c 20 59 4f 55 20 41 53 53 55 4d 45 20 54 48 45 20 43 4f 53 54 20 4f 46 20 41 4c 4c TIVE,.YOU.ASSUME.THE.COST.OF.ALL
5b620 20 4e 45 43 45 53 53 41 52 59 20 53 45 52 56 49 43 49 4e 47 2c 0d 0a 52 45 50 41 49 52 20 4f 52 .NECESSARY.SERVICING,..REPAIR.OR
5b640 20 43 4f 52 52 45 43 54 49 4f 4e 2e 0d 0a 0d 0a 20 20 31 32 2e 20 49 4e 20 4e 4f 20 45 56 45 4e .CORRECTION.......12..IN.NO.EVEN
5b660 54 20 55 4e 4c 45 53 53 20 52 45 51 55 49 52 45 44 20 42 59 20 41 50 50 4c 49 43 41 42 4c 45 20 T.UNLESS.REQUIRED.BY.APPLICABLE.
5b680 4c 41 57 20 4f 52 20 41 47 52 45 45 44 20 54 4f 20 49 4e 20 57 52 49 54 49 4e 47 0d 0a 57 49 4c LAW.OR.AGREED.TO.IN.WRITING..WIL
5b6a0 4c 20 41 4e 59 20 43 4f 50 59 52 49 47 48 54 20 48 4f 4c 44 45 52 2c 20 4f 52 20 41 4e 59 20 4f L.ANY.COPYRIGHT.HOLDER,.OR.ANY.O
5b6c0 54 48 45 52 20 50 41 52 54 59 20 57 48 4f 20 4d 41 59 20 4d 4f 44 49 46 59 20 41 4e 44 2f 4f 52 THER.PARTY.WHO.MAY.MODIFY.AND/OR
5b6e0 0d 0a 52 45 44 49 53 54 52 49 42 55 54 45 20 54 48 45 20 50 52 4f 47 52 41 4d 20 41 53 20 50 45 ..REDISTRIBUTE.THE.PROGRAM.AS.PE
5b700 52 4d 49 54 54 45 44 20 41 42 4f 56 45 2c 20 42 45 20 4c 49 41 42 4c 45 20 54 4f 20 59 4f 55 20 RMITTED.ABOVE,.BE.LIABLE.TO.YOU.
5b720 46 4f 52 20 44 41 4d 41 47 45 53 2c 0d 0a 49 4e 43 4c 55 44 49 4e 47 20 41 4e 59 20 47 45 4e 45 FOR.DAMAGES,..INCLUDING.ANY.GENE
5b740 52 41 4c 2c 20 53 50 45 43 49 41 4c 2c 20 49 4e 43 49 44 45 4e 54 41 4c 20 4f 52 20 43 4f 4e 53 RAL,.SPECIAL,.INCIDENTAL.OR.CONS
5b760 45 51 55 45 4e 54 49 41 4c 20 44 41 4d 41 47 45 53 20 41 52 49 53 49 4e 47 0d 0a 4f 55 54 20 4f EQUENTIAL.DAMAGES.ARISING..OUT.O
5b780 46 20 54 48 45 20 55 53 45 20 4f 52 20 49 4e 41 42 49 4c 49 54 59 20 54 4f 20 55 53 45 20 54 48 F.THE.USE.OR.INABILITY.TO.USE.TH
5b7a0 45 20 50 52 4f 47 52 41 4d 20 28 49 4e 43 4c 55 44 49 4e 47 20 42 55 54 20 4e 4f 54 20 4c 49 4d E.PROGRAM.(INCLUDING.BUT.NOT.LIM
5b7c0 49 54 45 44 0d 0a 54 4f 20 4c 4f 53 53 20 4f 46 20 44 41 54 41 20 4f 52 20 44 41 54 41 20 42 45 ITED..TO.LOSS.OF.DATA.OR.DATA.BE
5b7e0 49 4e 47 20 52 45 4e 44 45 52 45 44 20 49 4e 41 43 43 55 52 41 54 45 20 4f 52 20 4c 4f 53 53 45 ING.RENDERED.INACCURATE.OR.LOSSE
5b800 53 20 53 55 53 54 41 49 4e 45 44 20 42 59 0d 0a 59 4f 55 20 4f 52 20 54 48 49 52 44 20 50 41 52 S.SUSTAINED.BY..YOU.OR.THIRD.PAR
5b820 54 49 45 53 20 4f 52 20 41 20 46 41 49 4c 55 52 45 20 4f 46 20 54 48 45 20 50 52 4f 47 52 41 4d TIES.OR.A.FAILURE.OF.THE.PROGRAM
5b840 20 54 4f 20 4f 50 45 52 41 54 45 20 57 49 54 48 20 41 4e 59 20 4f 54 48 45 52 0d 0a 50 52 4f 47 .TO.OPERATE.WITH.ANY.OTHER..PROG
5b860 52 41 4d 53 29 2c 20 45 56 45 4e 20 49 46 20 53 55 43 48 20 48 4f 4c 44 45 52 20 4f 52 20 4f 54 RAMS),.EVEN.IF.SUCH.HOLDER.OR.OT
5b880 48 45 52 20 50 41 52 54 59 20 48 41 53 20 42 45 45 4e 20 41 44 56 49 53 45 44 20 4f 46 20 54 48 HER.PARTY.HAS.BEEN.ADVISED.OF.TH
5b8a0 45 0d 0a 50 4f 53 53 49 42 49 4c 49 54 59 20 4f 46 20 53 55 43 48 20 44 41 4d 41 47 45 53 2e 0d E..POSSIBILITY.OF.SUCH.DAMAGES..
5b8c0 0a 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 45 4e 44 20 4f 46 20 54 ........................END.OF.T
5b8e0 45 52 4d 53 20 41 4e 44 20 43 4f 4e 44 49 54 49 4f 4e 53 0d 0a 0d 0a 20 20 20 20 20 20 20 20 20 ERMS.AND.CONDITIONS.............
5b900 20 20 20 48 6f 77 20 74 6f 20 41 70 70 6c 79 20 54 68 65 73 65 20 54 65 72 6d 73 20 74 6f 20 59 ...How.to.Apply.These.Terms.to.Y
5b920 6f 75 72 20 4e 65 77 20 50 72 6f 67 72 61 6d 73 0d 0a 0d 0a 20 20 49 66 20 79 6f 75 20 64 65 76 our.New.Programs......If.you.dev
5b940 65 6c 6f 70 20 61 20 6e 65 77 20 70 72 6f 67 72 61 6d 2c 20 61 6e 64 20 79 6f 75 20 77 61 6e 74 elop.a.new.program,.and.you.want
5b960 20 69 74 20 74 6f 20 62 65 20 6f 66 20 74 68 65 20 67 72 65 61 74 65 73 74 0d 0a 70 6f 73 73 69 .it.to.be.of.the.greatest..possi
5b980 62 6c 65 20 75 73 65 20 74 6f 20 74 68 65 20 70 75 62 6c 69 63 2c 20 74 68 65 20 62 65 73 74 20 ble.use.to.the.public,.the.best.
5b9a0 77 61 79 20 74 6f 20 61 63 68 69 65 76 65 20 74 68 69 73 20 69 73 20 74 6f 20 6d 61 6b 65 20 69 way.to.achieve.this.is.to.make.i
5b9c0 74 0d 0a 66 72 65 65 20 73 6f 66 74 77 61 72 65 20 77 68 69 63 68 20 65 76 65 72 79 6f 6e 65 20 t..free.software.which.everyone.
5b9e0 63 61 6e 20 72 65 64 69 73 74 72 69 62 75 74 65 20 61 6e 64 20 63 68 61 6e 67 65 20 75 6e 64 65 can.redistribute.and.change.unde
5ba00 72 20 74 68 65 73 65 20 74 65 72 6d 73 2e 0d 0a 0d 0a 20 20 54 6f 20 64 6f 20 73 6f 2c 20 61 74 r.these.terms.......To.do.so,.at
5ba20 74 61 63 68 20 74 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 6e 6f 74 69 63 65 73 20 74 6f 20 74 68 tach.the.following.notices.to.th
5ba40 65 20 70 72 6f 67 72 61 6d 2e 20 20 49 74 20 69 73 20 73 61 66 65 73 74 0d 0a 74 6f 20 61 74 74 e.program...It.is.safest..to.att
5ba60 61 63 68 20 74 68 65 6d 20 74 6f 20 74 68 65 20 73 74 61 72 74 20 6f 66 20 65 61 63 68 20 73 6f ach.them.to.the.start.of.each.so
5ba80 75 72 63 65 20 66 69 6c 65 20 74 6f 20 6d 6f 73 74 20 65 66 66 65 63 74 69 76 65 6c 79 0d 0a 63 urce.file.to.most.effectively..c
5baa0 6f 6e 76 65 79 20 74 68 65 20 65 78 63 6c 75 73 69 6f 6e 20 6f 66 20 77 61 72 72 61 6e 74 79 3b onvey.the.exclusion.of.warranty;
5bac0 20 61 6e 64 20 65 61 63 68 20 66 69 6c 65 20 73 68 6f 75 6c 64 20 68 61 76 65 20 61 74 20 6c 65 .and.each.file.should.have.at.le
5bae0 61 73 74 0d 0a 74 68 65 20 22 63 6f 70 79 72 69 67 68 74 22 20 6c 69 6e 65 20 61 6e 64 20 61 20 ast..the."copyright".line.and.a.
5bb00 70 6f 69 6e 74 65 72 20 74 6f 20 77 68 65 72 65 20 74 68 65 20 66 75 6c 6c 20 6e 6f 74 69 63 65 pointer.to.where.the.full.notice
5bb20 20 69 73 20 66 6f 75 6e 64 2e 0d 0a 0d 0a 20 20 20 20 3c 6f 6e 65 20 6c 69 6e 65 20 74 6f 20 67 .is.found.........<one.line.to.g
5bb40 69 76 65 20 74 68 65 20 70 72 6f 67 72 61 6d 27 73 20 6e 61 6d 65 20 61 6e 64 20 61 20 62 72 69 ive.the.program's.name.and.a.bri
5bb60 65 66 20 69 64 65 61 20 6f 66 20 77 68 61 74 20 69 74 20 64 6f 65 73 2e 3e 0d 0a 20 20 20 20 43 ef.idea.of.what.it.does.>......C
5bb80 6f 70 79 72 69 67 68 74 20 28 43 29 20 3c 79 65 61 72 3e 20 20 3c 6e 61 6d 65 20 6f 66 20 61 75 opyright.(C).<year>..<name.of.au
5bba0 74 68 6f 72 3e 0d 0a 0d 0a 20 20 20 20 54 68 69 73 20 70 72 6f 67 72 61 6d 20 69 73 20 66 72 65 thor>........This.program.is.fre
5bbc0 65 20 73 6f 66 74 77 61 72 65 3a 20 79 6f 75 20 63 61 6e 20 72 65 64 69 73 74 72 69 62 75 74 65 e.software:.you.can.redistribute
5bbe0 20 69 74 20 61 6e 64 2f 6f 72 20 6d 6f 64 69 66 79 0d 0a 20 20 20 20 69 74 20 75 6e 64 65 72 20 .it.and/or.modify......it.under.
5bc00 74 68 65 20 74 65 72 6d 73 20 6f 66 20 74 68 65 20 47 4e 55 20 47 65 6e 65 72 61 6c 20 50 75 62 the.terms.of.the.GNU.General.Pub
5bc20 6c 69 63 20 4c 69 63 65 6e 73 65 20 61 73 20 70 75 62 6c 69 73 68 65 64 20 62 79 0d 0a 20 20 20 lic.License.as.published.by.....
5bc40 20 74 68 65 20 46 72 65 65 20 53 6f 66 74 77 61 72 65 20 46 6f 75 6e 64 61 74 69 6f 6e 2c 20 65 .the.Free.Software.Foundation,.e
5bc60 69 74 68 65 72 20 76 65 72 73 69 6f 6e 20 32 20 6f 66 20 74 68 65 20 4c 69 63 65 6e 73 65 2c 20 ither.version.2.of.the.License,.
5bc80 6f 72 0d 0a 20 20 20 20 28 61 74 20 79 6f 75 72 20 6f 70 74 69 6f 6e 29 20 61 6e 79 20 6c 61 74 or......(at.your.option).any.lat
5bca0 65 72 20 76 65 72 73 69 6f 6e 2e 0d 0a 0d 0a 20 20 20 20 54 68 69 73 20 70 72 6f 67 72 61 6d 20 er.version.........This.program.
5bcc0 69 73 20 64 69 73 74 72 69 62 75 74 65 64 20 69 6e 20 74 68 65 20 68 6f 70 65 20 74 68 61 74 20 is.distributed.in.the.hope.that.
5bce0 69 74 20 77 69 6c 6c 20 62 65 20 75 73 65 66 75 6c 2c 0d 0a 20 20 20 20 62 75 74 20 57 49 54 48 it.will.be.useful,......but.WITH
5bd00 4f 55 54 20 41 4e 59 20 57 41 52 52 41 4e 54 59 3b 20 77 69 74 68 6f 75 74 20 65 76 65 6e 20 74 OUT.ANY.WARRANTY;.without.even.t
5bd20 68 65 20 69 6d 70 6c 69 65 64 20 77 61 72 72 61 6e 74 79 20 6f 66 0d 0a 20 20 20 20 4d 45 52 43 he.implied.warranty.of......MERC
5bd40 48 41 4e 54 41 42 49 4c 49 54 59 20 6f 72 20 46 49 54 4e 45 53 53 20 46 4f 52 20 41 20 50 41 52 HANTABILITY.or.FITNESS.FOR.A.PAR
5bd60 54 49 43 55 4c 41 52 20 50 55 52 50 4f 53 45 2e 20 20 53 65 65 20 74 68 65 0d 0a 20 20 20 20 47 TICULAR.PURPOSE...See.the......G
5bd80 4e 55 20 47 65 6e 65 72 61 6c 20 50 75 62 6c 69 63 20 4c 69 63 65 6e 73 65 20 66 6f 72 20 6d 6f NU.General.Public.License.for.mo
5bda0 72 65 20 64 65 74 61 69 6c 73 2e 0d 0a 0d 0a 20 20 20 20 59 6f 75 20 73 68 6f 75 6c 64 20 68 61 re.details.........You.should.ha
5bdc0 76 65 20 72 65 63 65 69 76 65 64 20 61 20 63 6f 70 79 20 6f 66 20 74 68 65 20 47 4e 55 20 47 65 ve.received.a.copy.of.the.GNU.Ge
5bde0 6e 65 72 61 6c 20 50 75 62 6c 69 63 20 4c 69 63 65 6e 73 65 0d 0a 20 20 20 20 61 6c 6f 6e 67 20 neral.Public.License......along.
5be00 77 69 74 68 20 74 68 69 73 20 70 72 6f 67 72 61 6d 2e 20 20 49 66 20 6e 6f 74 2c 20 73 65 65 20 with.this.program...If.not,.see.
5be20 3c 68 74 74 70 3a 2f 2f 77 77 77 2e 67 6e 75 2e 6f 72 67 2f 6c 69 63 65 6e 73 65 73 2f 3e 2e 0d <http://www.gnu.org/licenses/>..
5be40 0a 0d 0a 41 6c 73 6f 20 61 64 64 20 69 6e 66 6f 72 6d 61 74 69 6f 6e 20 6f 6e 20 68 6f 77 20 74 ...Also.add.information.on.how.t
5be60 6f 20 63 6f 6e 74 61 63 74 20 79 6f 75 20 62 79 20 65 6c 65 63 74 72 6f 6e 69 63 20 61 6e 64 20 o.contact.you.by.electronic.and.
5be80 70 61 70 65 72 20 6d 61 69 6c 2e 0d 0a 0d 0a 49 66 20 74 68 65 20 70 72 6f 67 72 61 6d 20 69 73 paper.mail.....If.the.program.is
5bea0 20 69 6e 74 65 72 61 63 74 69 76 65 2c 20 6d 61 6b 65 20 69 74 20 6f 75 74 70 75 74 20 61 20 73 .interactive,.make.it.output.a.s
5bec0 68 6f 72 74 20 6e 6f 74 69 63 65 20 6c 69 6b 65 20 74 68 69 73 0d 0a 77 68 65 6e 20 69 74 20 73 hort.notice.like.this..when.it.s
5bee0 74 61 72 74 73 20 69 6e 20 61 6e 20 69 6e 74 65 72 61 63 74 69 76 65 20 6d 6f 64 65 3a 0d 0a 0d tarts.in.an.interactive.mode:...
5bf00 0a 20 20 20 20 47 6e 6f 6d 6f 76 69 73 69 6f 6e 20 76 65 72 73 69 6f 6e 20 36 39 2c 20 43 6f 70 .....Gnomovision.version.69,.Cop
5bf20 79 72 69 67 68 74 20 28 43 29 20 3c 79 65 61 72 3e 20 20 3c 6e 61 6d 65 20 6f 66 20 61 75 74 68 yright.(C).<year>..<name.of.auth
5bf40 6f 72 3e 0d 0a 20 20 20 20 47 6e 6f 6d 6f 76 69 73 69 6f 6e 20 63 6f 6d 65 73 20 77 69 74 68 20 or>......Gnomovision.comes.with.
5bf60 41 42 53 4f 4c 55 54 45 4c 59 20 4e 4f 20 57 41 52 52 41 4e 54 59 3b 20 66 6f 72 20 64 65 74 61 ABSOLUTELY.NO.WARRANTY;.for.deta
5bf80 69 6c 73 20 74 79 70 65 20 60 73 68 6f 77 20 77 27 2e 0d 0a 20 20 20 20 54 68 69 73 20 69 73 20 ils.type.`show.w'.......This.is.
5bfa0 66 72 65 65 20 73 6f 66 74 77 61 72 65 2c 20 61 6e 64 20 79 6f 75 20 61 72 65 20 77 65 6c 63 6f free.software,.and.you.are.welco
5bfc0 6d 65 20 74 6f 20 72 65 64 69 73 74 72 69 62 75 74 65 20 69 74 0d 0a 20 20 20 20 75 6e 64 65 72 me.to.redistribute.it......under
5bfe0 20 63 65 72 74 61 69 6e 20 63 6f 6e 64 69 74 69 6f 6e 73 3b 20 74 79 70 65 20 60 73 68 6f 77 20 .certain.conditions;.type.`show.
5c000 63 27 20 66 6f 72 20 64 65 74 61 69 6c 73 2e 0d 0a 0d 0a 54 68 65 20 68 79 70 6f 74 68 65 74 69 c'.for.details.....The.hypotheti
5c020 63 61 6c 20 63 6f 6d 6d 61 6e 64 73 20 60 73 68 6f 77 20 77 27 20 61 6e 64 20 60 73 68 6f 77 20 cal.commands.`show.w'.and.`show.
5c040 63 27 20 73 68 6f 75 6c 64 20 73 68 6f 77 20 74 68 65 20 61 70 70 72 6f 70 72 69 61 74 65 0d 0a c'.should.show.the.appropriate..
5c060 70 61 72 74 73 20 6f 66 20 74 68 65 20 47 65 6e 65 72 61 6c 20 50 75 62 6c 69 63 20 4c 69 63 65 parts.of.the.General.Public.Lice
5c080 6e 73 65 2e 20 20 4f 66 20 63 6f 75 72 73 65 2c 20 74 68 65 20 63 6f 6d 6d 61 6e 64 73 20 79 6f nse...Of.course,.the.commands.yo
5c0a0 75 20 75 73 65 20 6d 61 79 0d 0a 62 65 20 63 61 6c 6c 65 64 20 73 6f 6d 65 74 68 69 6e 67 20 6f u.use.may..be.called.something.o
5c0c0 74 68 65 72 20 74 68 61 6e 20 60 73 68 6f 77 20 77 27 20 61 6e 64 20 60 73 68 6f 77 20 63 27 3b ther.than.`show.w'.and.`show.c';
5c0e0 20 74 68 65 79 20 63 6f 75 6c 64 20 65 76 65 6e 20 62 65 0d 0a 6d 6f 75 73 65 2d 63 6c 69 63 6b .they.could.even.be..mouse-click
5c100 73 20 6f 72 20 6d 65 6e 75 20 69 74 65 6d 73 2d 2d 77 68 61 74 65 76 65 72 20 73 75 69 74 73 20 s.or.menu.items--whatever.suits.
5c120 79 6f 75 72 20 70 72 6f 67 72 61 6d 2e 0d 0a 0d 0a 59 6f 75 20 73 68 6f 75 6c 64 20 61 6c 73 6f your.program.....You.should.also
5c140 20 67 65 74 20 79 6f 75 72 20 65 6d 70 6c 6f 79 65 72 20 28 69 66 20 79 6f 75 20 77 6f 72 6b 20 .get.your.employer.(if.you.work.
5c160 61 73 20 61 20 70 72 6f 67 72 61 6d 6d 65 72 29 20 6f 72 20 79 6f 75 72 0d 0a 73 63 68 6f 6f 6c as.a.programmer).or.your..school
5c180 2c 20 69 66 20 61 6e 79 2c 20 74 6f 20 73 69 67 6e 20 61 20 22 63 6f 70 79 72 69 67 68 74 20 64 ,.if.any,.to.sign.a."copyright.d
5c1a0 69 73 63 6c 61 69 6d 65 72 22 20 66 6f 72 20 74 68 65 20 70 72 6f 67 72 61 6d 2c 20 69 66 0d 0a isclaimer".for.the.program,.if..
5c1c0 6e 65 63 65 73 73 61 72 79 2e 20 20 48 65 72 65 20 69 73 20 61 20 73 61 6d 70 6c 65 3b 20 61 6c necessary...Here.is.a.sample;.al
5c1e0 74 65 72 20 74 68 65 20 6e 61 6d 65 73 3a 0d 0a 0d 0a 20 20 59 6f 79 6f 64 79 6e 65 2c 20 49 6e ter.the.names:......Yoyodyne,.In
5c200 63 2e 2c 20 68 65 72 65 62 79 20 64 69 73 63 6c 61 69 6d 73 20 61 6c 6c 20 63 6f 70 79 72 69 67 c.,.hereby.disclaims.all.copyrig
5c220 68 74 20 69 6e 74 65 72 65 73 74 20 69 6e 20 74 68 65 20 70 72 6f 67 72 61 6d 0d 0a 20 20 60 47 ht.interest.in.the.program....`G
5c240 6e 6f 6d 6f 76 69 73 69 6f 6e 27 20 28 77 68 69 63 68 20 6d 61 6b 65 73 20 70 61 73 73 65 73 20 nomovision'.(which.makes.passes.
5c260 61 74 20 63 6f 6d 70 69 6c 65 72 73 29 20 77 72 69 74 74 65 6e 20 62 79 20 4a 61 6d 65 73 20 48 at.compilers).written.by.James.H
5c280 61 63 6b 65 72 2e 0d 0a 0d 0a 20 20 3c 73 69 67 6e 61 74 75 72 65 20 6f 66 20 54 79 20 43 6f 6f acker.......<signature.of.Ty.Coo
5c2a0 6e 3e 2c 20 31 20 41 70 72 69 6c 20 31 39 38 39 0d 0a 20 20 54 79 20 43 6f 6f 6e 2c 20 50 72 65 n>,.1.April.1989....Ty.Coon,.Pre
5c2c0 73 69 64 65 6e 74 20 6f 66 20 56 69 63 65 0d 0a 0d 0a 54 68 69 73 20 47 65 6e 65 72 61 6c 20 50 sident.of.Vice....This.General.P
5c2e0 75 62 6c 69 63 20 4c 69 63 65 6e 73 65 20 64 6f 65 73 20 6e 6f 74 20 70 65 72 6d 69 74 20 69 6e ublic.License.does.not.permit.in
5c300 63 6f 72 70 6f 72 61 74 69 6e 67 20 79 6f 75 72 20 70 72 6f 67 72 61 6d 20 69 6e 74 6f 0d 0a 70 corporating.your.program.into..p
5c320 72 6f 70 72 69 65 74 61 72 79 20 70 72 6f 67 72 61 6d 73 2e 20 20 49 66 20 79 6f 75 72 20 70 72 roprietary.programs...If.your.pr
5c340 6f 67 72 61 6d 20 69 73 20 61 20 73 75 62 72 6f 75 74 69 6e 65 20 6c 69 62 72 61 72 79 2c 20 79 ogram.is.a.subroutine.library,.y
5c360 6f 75 20 6d 61 79 0d 0a 63 6f 6e 73 69 64 65 72 20 69 74 20 6d 6f 72 65 20 75 73 65 66 75 6c 20 ou.may..consider.it.more.useful.
5c380 74 6f 20 70 65 72 6d 69 74 20 6c 69 6e 6b 69 6e 67 20 70 72 6f 70 72 69 65 74 61 72 79 20 61 70 to.permit.linking.proprietary.ap
5c3a0 70 6c 69 63 61 74 69 6f 6e 73 20 77 69 74 68 20 74 68 65 0d 0a 6c 69 62 72 61 72 79 2e 20 20 49 plications.with.the..library...I
5c3c0 66 20 74 68 69 73 20 69 73 20 77 68 61 74 20 79 6f 75 20 77 61 6e 74 20 74 6f 20 64 6f 2c 20 75 f.this.is.what.you.want.to.do,.u
5c3e0 73 65 20 74 68 65 20 47 4e 55 20 4c 65 73 73 65 72 20 47 65 6e 65 72 61 6c 0d 0a 50 75 62 6c 69 se.the.GNU.Lesser.General..Publi
5c400 63 20 4c 69 63 65 6e 73 65 20 69 6e 73 74 65 61 64 20 6f 66 20 74 68 69 73 20 4c 69 63 65 6e 73 c.License.instead.of.this.Licens
5c420 65 2e 0d 0a 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 e...............................
5c440 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5c460 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5c480 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5c4a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5c4c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5c4e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5c500 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5c520 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5c540 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5c560 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5c580 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5c5a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5c5c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5c5e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5c600 6c 7a 69 70 2d 31 2e 32 32 2f 74 65 73 74 73 75 69 74 65 2f 66 6f 78 5f 63 72 63 30 2e 6c 7a 00 lzip-1.22/testsuite/fox_crc0.lz.
5c620 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5c640 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5c660 00 00 00 00 30 30 30 30 36 34 34 00 30 30 30 30 30 30 30 00 30 30 30 30 30 30 30 00 30 30 30 30 ....0000644.0000000.0000000.0000
5c680 30 30 30 30 31 32 30 00 31 32 33 34 37 34 32 37 34 35 34 00 30 31 36 35 32 32 00 20 30 00 00 00 0000120.12347427454.016522..0...
5c6a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5c6c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5c6e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5c700 00 75 73 74 61 72 00 30 30 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .ustar.00root...................
5c720 00 00 00 00 00 00 00 00 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .........root...................
5c740 00 00 00 00 00 00 00 00 00 30 30 30 30 30 30 30 00 30 30 30 30 30 30 30 00 00 00 00 00 00 00 00 .........0000000.0000000........
5c760 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5c780 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5c7a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5c7c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5c7e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5c800 4c 5a 49 50 01 0c 00 2a 1a 08 a2 03 25 66 f1 4b 78 c5 a2 05 ff 2e e6 d9 d2 20 1a ad 34 f8 e2 1d LZIP...*....%f.Kx...........4...
5c820 e8 41 36 fa dc 06 69 bb 3c e4 10 34 27 09 eb b3 66 e3 ec 97 ea ae 23 ff fe 8e a0 00 00 00 00 00 .A6...i.<..4'...f.....#.........
5c840 2d 00 00 00 00 00 00 00 50 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 -.......P.......................
5c860 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5c880 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5c8a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5c8c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5c8e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5c900 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5c920 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5c940 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5c960 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5c980 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5c9a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5c9c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5c9e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5ca00 6c 7a 69 70 2d 31 2e 32 32 2f 74 65 73 74 73 75 69 74 65 2f 74 65 73 74 2e 74 78 74 2e 6c 7a 00 lzip-1.22/testsuite/test.txt.lz.
5ca20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5ca40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5ca60 00 00 00 00 30 30 30 30 36 34 34 00 30 30 30 30 30 30 30 00 30 30 30 30 30 30 30 00 30 30 30 30 ....0000644.0000000.0000000.0000
5ca80 30 30 31 36 33 32 30 00 31 32 33 34 37 34 32 37 34 35 34 00 30 31 36 36 32 35 00 20 30 00 00 00 0016320.12347427454.016625..0...
5caa0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5cac0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5cae0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5cb00 00 75 73 74 61 72 00 30 30 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .ustar.00root...................
5cb20 00 00 00 00 00 00 00 00 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .........root...................
5cb40 00 00 00 00 00 00 00 00 00 30 30 30 30 30 30 30 00 30 30 30 30 30 30 30 00 00 00 00 00 00 00 00 .........0000000.0000000........
5cb60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5cb80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5cba0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5cbc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5cbe0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5cc00 4c 5a 49 50 01 ef 00 10 6d fe 47 27 15 f8 22 27 f9 79 a3 cb c0 53 0a 54 9d ea 93 0e b0 93 c5 dc LZIP....m.G'.."'.y...S.T........
5cc20 d1 40 07 48 0b 56 e2 30 e0 39 47 7d 7f 1f 3d 90 99 92 56 05 f0 22 d3 7d b9 bb 81 c1 08 2e 0a cc .@.H.V.0.9G}..=...V..".}........
5cc40 e4 a6 a6 70 49 49 cd 53 ab bf c5 50 60 0b cb 53 34 f9 82 9c 00 ba df b6 cb 16 e0 4c 16 5e d7 e7 ...pII.S...P`..S4..........L.^..
5cc60 1c 56 f6 36 1e f0 f4 99 06 e2 54 97 c8 a1 c2 40 67 f6 7d 13 06 2a 0d c5 a0 e4 64 d5 14 8d 04 9a .V.6......T....@g.}..*....d.....
5cc80 88 99 90 d1 95 c1 67 ca b4 d5 30 76 7f 21 c7 6a 22 c4 11 f4 b6 1f 36 90 84 0a f8 ae 19 f5 64 1a ......g...0v.!.j".....6.......d.
5cca0 f2 f3 d9 a4 eb 9b a0 72 33 26 08 6b 73 91 1f 0d d7 2f 5e 5e 8e c3 7c 57 2c 5a 2a ab 8c 80 6b ef .......r3&.ks..../^^..|W,Z*...k.
5ccc0 44 5a 82 bf 65 c5 99 77 28 e5 23 91 ba 13 d8 dd 49 1a 3c dd ab 81 e4 9c cb 01 02 03 12 d6 71 f1 DZ..e..w(.#.....I.<...........q.
5cce0 3f 0c 69 56 22 af 77 78 43 a4 3b 4f 9c 77 a7 3d 0e b8 fd 68 4a 17 80 0f 70 c2 bf 65 29 74 ba 3f ?.iV".wxC.;O.w.=...hJ...p..e)t.?
5cd00 71 c5 35 29 7d 84 a5 fa 9f 43 d8 90 d8 cb 99 1c b7 9a 34 6e f9 32 87 bf 58 95 4c f8 10 52 25 71 q.5)}....C........4n.2..X.L..R%q
5cd20 1d 95 27 36 f6 eb ca 8e 29 01 75 c2 aa de 76 2f cc d3 b2 7e 0c 4c 91 98 85 ae 8e 65 99 6e 98 0b ..'6....).u...v/...~.L.....e.n..
5cd40 4b 3c fa 93 ee 1e 2b 42 c3 ab 86 7a 3a a9 47 b7 c2 f7 ef 30 59 02 c4 28 2d a5 fb 43 7e c2 f3 e3 K<....+B...z:.G....0Y..(-..C~...
5cd60 95 15 04 38 8d 6a 85 57 a5 89 79 0f ac 13 bd 7f 4c 3e 85 a1 44 d3 29 20 2f a3 4f 9e 83 33 b8 fe ...8.j.W..y.....L>..D.)./.O..3..
5cd80 ca 89 bd d7 42 07 eb 03 2f a3 e0 6b be 32 89 ef 4d 17 82 db 1d 87 9b f2 e6 57 ad d3 fa 23 1d 59 ....B.../..k.2..M........W...#.Y
5cda0 c6 b7 90 c3 8a 63 19 80 2f 53 d7 1a 4e ca fc aa a0 b2 ac 88 03 00 3f 79 cb 96 f0 39 bb e5 eb 58 .....c../S..N.........?y...9...X
5cdc0 75 79 f1 d3 a2 e2 43 1d 62 3d 85 39 fb f3 54 ab 72 5e 3e 3b 53 cb 83 83 ba b0 d7 e1 3e a3 b6 4a uy....C.b=.9..T.r^>;S.......>..J
5cde0 53 35 20 e6 60 e2 96 d7 b1 fd fb fc c0 f2 5b c8 e6 86 fe 78 ef 7d d6 84 4a 1e 82 76 6e 88 ba fa S5..`.........[....x.}..J..vn...
5ce00 58 f2 fe ed f8 6a 62 c1 37 22 2f 25 83 58 30 53 3a 31 43 fd 0e 72 0a ee dc 78 2e fe b0 c6 47 25 X....jb.7"/%.X0S:1C..r...x....G%
5ce20 89 10 fc fd 77 96 85 8d f5 a7 82 70 2a 1c eb 6e 78 4b 55 21 1b c5 b1 07 fa 3d d3 5f e0 43 e9 ad ....w......p*..nxKU!.....=._.C..
5ce40 30 8c 08 2a fc d4 25 1a 39 dc 8f 4a 65 db a8 e2 9b 78 17 27 51 d3 cd 03 f8 1d 11 bd cd 2e 12 aa 0..*..%.9..Je....x.'Q...........
5ce60 b8 74 a8 2c 50 94 08 fe ee 78 af c2 b8 33 f1 31 86 b9 b4 3d cc da 33 cc 1c ea 26 2e 73 bf 0b 13 .t.,P....x...3.1...=..3...&.s...
5ce80 64 fc cb e3 68 15 9c b5 65 7b a6 3a 35 09 80 2a 78 38 52 3a e5 3c 70 f5 2c 27 82 b2 3c f7 d0 16 d...h...e{.:5..*x8R:.<p.,'..<...
5cea0 24 80 68 c8 40 43 b7 72 04 35 e7 cf 4e df f4 7b c0 71 e5 f4 ad 02 77 4d 03 64 79 5f 62 fc a1 1e $.h.@C.r.5..N..{.q....wM.dy_b...
5cec0 3a 25 78 e8 78 90 90 db 09 ad 71 1f 73 c8 e5 6a 2a 6e ef 19 06 dc 28 00 fc a4 15 e0 b4 20 d5 64 :%x.x.....q.s..j*n....(........d
5cee0 c2 37 eb 79 6a b1 d4 25 9d 87 57 4b 4a a0 a0 3a 34 28 9a 33 20 f9 c5 fc f6 9a 0a 5f 3c e0 f8 b1 .7.yj..%..WKJ..:4(.3......._<...
5cf00 5c 0c bb 65 58 a3 73 76 84 c9 ef 88 d7 ea 77 eb 59 3e dc 37 04 2c 75 b5 bb 28 5f 46 69 25 d0 8e \..eX.sv......w.Y>.7.,u..(_Fi%..
5cf20 51 cb 72 4c 8e fd 5f 1c 16 bc 1e c2 c9 31 56 51 fc 74 e5 dd 7e 31 94 2c da 5a 41 be e3 a1 6d 91 Q.rL.._......1VQ.t..~1.,.ZA...m.
5cf40 53 57 03 10 7a a7 01 b6 7c 69 4d 96 b9 65 49 e1 4f 35 c7 05 0f 04 62 24 5b 88 e3 e4 8a 1f cb b6 SW..z...|iM..eI.O5....b$[.......
5cf60 87 a5 44 18 00 46 80 5d 39 27 f1 e1 9c dd 58 f8 b0 a4 f5 c5 29 4d 0c 88 bf 74 4f 78 11 b8 fe ef ..D..F.]9'....X.....)M...tOx....
5cf80 21 80 c9 f3 f7 14 ba 01 a1 3c ec 54 1e 14 4f b9 54 db c7 e9 a1 e3 5d 46 2b 68 9b 4f 0d 40 92 ab !........<.T..O.T.....]F+h.O.@..
5cfa0 f6 cb 64 f9 8f e9 a3 f9 60 cf 08 ab 8e 03 ba 0a d1 44 bf 79 e9 3e 7b 8e 42 97 c6 89 0d 01 1f 8a ..d.....`........D.y.>{.B.......
5cfc0 00 ab 79 e5 37 ad e5 79 42 3f bd 2a f6 16 d7 01 65 18 15 68 c1 53 b8 4d 95 ec d2 97 90 3b 77 58 ..y.7..yB?.*....e..h.S.M.....;wX
5cfe0 fc 44 8d fe d1 e9 73 5e 48 2f f6 75 eb b4 49 1c e9 73 29 3b ee 67 72 e1 ee 48 de af 08 d7 8d dd .D....s^H/.u..I..s);.gr..H......
5d000 67 ca de d3 d7 df a8 13 06 1c d1 c8 91 c4 c0 ef 3d c9 c5 7b 72 df 6a 18 5d d3 e0 d5 1c e9 70 4b g...............=..{r.j.].....pK
5d020 40 7b 87 96 41 a7 3a c3 fb 82 43 d1 74 1c 48 18 1a 94 6f ce b7 de 92 da 7a 64 6e 31 3e 1e bf 05 @{..A.:...C.t.H...o.....zdn1>...
5d040 9a 79 10 00 26 53 c3 f1 8e 2a 81 a9 81 54 3f 27 3e e5 25 71 4c cd e3 9e 55 cc ee 9c 69 73 19 e1 .y..&S...*...T?'>.%qL...U...is..
5d060 46 a3 27 ae 19 60 3b 2a 71 09 32 c4 6c 8a 59 33 23 80 f5 2c e4 9a fc 51 b5 fe cf 04 80 93 15 77 F.'..`;*q.2.l.Y3#..,...Q.......w
5d080 44 58 88 f9 3c 76 0d 26 23 b0 fd 87 b7 77 69 71 3e 0d 96 c9 27 77 80 36 65 23 d6 f6 39 a3 12 8d DX..<v.&#....wiq>...'w.6e#..9...
5d0a0 84 06 45 63 5d 39 83 90 88 29 1e 31 d8 b8 59 d1 3a 65 6a a5 f7 81 2e 2a ca b9 b0 76 1e e8 46 47 ..Ec]9...).1..Y.:ej....*...v..FG
5d0c0 e2 04 e0 3a e0 2f 64 02 a6 78 98 65 f8 34 0f 3f 19 ac 31 8f 50 0d 3d b3 8a fd 34 88 9b bd 33 81 ...:./d..x.e.4.?..1.P.=...4...3.
5d0e0 89 d1 c6 6e 6c 49 0a c7 03 40 47 7a 69 19 7c 0d c9 03 b2 10 62 27 88 c4 61 06 62 b9 99 cb 59 54 ...nlI...@Gzi.|.....b'..a.b...YT
5d100 a3 24 44 e7 e5 c7 d7 85 29 83 06 14 3e 8b 6b 23 f4 6e 0c 6a 90 de a2 13 b2 dc 73 11 d0 f9 ba 09 .$D.....)...>.k#.n.j......s.....
5d120 6d 62 60 2c 60 76 34 2e 93 c4 6e 91 c5 3c 8e 94 14 f7 57 c9 c3 97 0c 3c cb de f1 ca 10 b5 73 16 mb`,`v4...n..<....W....<......s.
5d140 0f 2c fa 8a 7a 29 ce 23 91 c4 72 47 01 18 09 84 1a e8 c0 8b 04 00 3b 6c fc 04 fc ae 57 bb cb ee .,..z).#..rG..........;l....W...
5d160 f1 7f d1 b5 91 3c 61 b8 68 bd 65 54 95 72 24 31 2f e1 a1 56 d7 da 1e f2 ae 72 92 6b 0c 2c d3 c4 .....<a.h.eT.r$1/..V.....r.k.,..
5d180 d7 42 ad c7 06 f2 c0 a9 58 57 6d 92 85 89 c9 07 e1 b8 3f dc cb 8d 71 3c 3c 53 81 27 e8 8d ce df .B......XWm.......?...q<<S.'....
5d1a0 5e 80 39 35 cc 26 2b 7d 8e 19 b6 aa 32 53 8f 81 ce 7d dc f8 8a 69 36 94 a3 ca 0e a2 d1 8b bd 7c ^.95.&+}....2S...}...i6........|
5d1c0 4d cb 3e 02 89 94 04 51 b0 fe b4 82 3b 24 ec b1 82 34 4a ac 08 db 79 a7 b0 76 15 12 6b af b7 41 M.>....Q....;$...4J...y..v..k..A
5d1e0 cb a5 4c ad 31 f4 88 d1 e1 a0 d4 b8 77 9f 3e bb 40 29 46 7e 43 83 46 7d 57 ef 72 00 2d 48 00 a1 ..L.1.......w.>.@)F~C.F}W.r.-H..
5d200 f2 77 fb 51 94 a0 e2 c2 0d 51 b8 36 31 c7 61 7a 1f 3c 75 6c cd a6 f1 e0 ed 9f 48 b2 16 2e 6e d9 .w.Q.....Q.61.az.<ul......H...n.
5d220 f1 95 33 d7 c3 c5 2c f9 22 40 06 19 d8 86 e3 e2 55 a7 de 54 a4 ea 22 aa ec db 9e 46 4f 13 c8 29 ..3...,."@......U..T.."....FO..)
5d240 74 48 d6 e6 f8 23 50 cd 2e bd 26 9c 2c 0f 73 a1 33 bf 6d 3a 03 d9 90 b9 28 31 94 21 96 8d fa e2 tH...#P...&.,.s.3.m:....(1.!....
5d260 79 a9 6f 23 70 76 48 0c d9 c0 6d 5a 54 0b 76 ba d7 c7 c2 7a ef ac 4f 84 e6 75 71 ab aa 55 d7 5a y.o#pvH...mZT.v....z..O..uq..U.Z
5d280 ec 49 a3 81 b6 7c a9 b9 c0 a1 b4 67 e7 30 e4 23 56 08 6b d3 04 98 1a db 4d 27 f0 2c 39 f5 9b 5a .I...|.....g.0.#V.k.....M'.,9..Z
5d2a0 c9 16 f8 24 8b ef ef a2 86 78 e9 7a 2a c4 0f 36 90 be b2 8a 2c b8 f0 42 c4 bf a0 6e 18 f6 5d 53 ...$.....x.z*..6....,..B...n..]S
5d2c0 46 29 5b 10 11 42 c5 1a a7 10 ba 2b d1 a1 9f e0 f1 21 72 06 46 4e 46 45 40 08 4e fa bd b9 1a cb F)[..B.....+.....!r.FNFE@.N.....
5d2e0 ed 61 c2 c3 71 27 e1 5e 75 64 83 b5 52 3f 8a 5c a8 7c ee 8e 83 50 9f 20 b2 9d 50 22 5b 10 49 27 .a..q'.^ud..R?.\.|...P....P"[.I'
5d300 65 10 ac 1e 80 44 07 ce 35 d8 82 b7 96 6b a7 e5 b7 c2 b7 ab d8 c0 aa de 67 79 69 05 e1 cf 0d 02 e....D..5....k..........gyi.....
5d320 6f 4c b7 98 f1 bd b8 f2 72 91 ee 7d e4 3e 9b ed e7 fe cc ed 99 d0 e1 b4 4f 9d 50 cb 71 b0 25 06 oL......r..}.>..........O.P.q.%.
5d340 66 c8 61 6a 53 73 0a 90 36 45 33 44 67 c2 09 b5 5b f6 58 bc ea 0f ff 8f c1 c4 8c 78 17 4d 94 a8 f.ajSs..6E3Dg...[.X........x.M..
5d360 97 89 15 95 d6 b9 9a 92 aa 52 40 3c 77 f5 4a a4 f8 d9 2f 58 d4 4b c9 55 db b0 1b 5b c3 89 f9 74 .........R@<w.J.../X.K.U...[...t
5d380 51 d3 de d8 c7 67 48 04 7b 30 62 e5 f8 8d 48 4e 32 9b 71 00 7e e4 d9 59 24 33 78 6d 6a 7d d9 6a Q....gH.{0b...HN2.q.~..Y$3xmj}.j
5d3a0 e2 31 ee 2a f4 de c1 2c 15 7e 9b 61 65 61 34 bc 51 b5 b8 ea 9a 3c 94 2b 90 26 3c 67 c5 0a 3c 53 .1.*...,.~.aea4.Q....<.+.&<g..<S
5d3c0 9f 6f 6a 55 24 9a 6c be 6d ac 0c 8f dd 9b fa 1f 6e 91 de 14 ec 5c d2 86 e7 06 8e 0c d3 ab 69 20 .ojU$.l.m.......n....\........i.
5d3e0 93 58 f7 09 39 18 b9 42 97 dd 7b 81 51 49 27 c6 14 15 71 d8 a1 f4 ed d6 ee 0d 6a 83 48 0a f3 19 .X..9..B..{.QI'...q.......j.H...
5d400 ea 11 d8 43 f2 12 58 9a d8 d5 f8 cb 77 2e c8 a5 e1 b3 74 a1 9e 43 f1 5a e1 c7 bd ed d6 6d eb 96 ...C..X.....w.....t..C.Z.....m..
5d420 d5 25 92 a7 2e 96 e2 d7 a6 90 0e 08 10 32 58 d5 cd 23 0e 7b ee ec 8d 8f d5 65 00 e0 0a e2 a4 c1 .%...........2X..#.{.....e......
5d440 1e f7 8b 4e ee bd 6c 15 19 92 87 99 7b b0 2b 59 65 3f 29 27 5d 1c e0 49 db 5d d7 a3 6a 6a 4d 84 ...N..l.....{.+Ye?)']..I.]..jjM.
5d460 ea 59 c5 a5 52 3b fc 48 1f 56 cf 38 b6 7d b7 fe f5 ce 60 39 c9 52 11 c3 3a cf b5 fc f0 7b f8 8e .Y..R;.H.V.8.}....`9.R..:....{..
5d480 89 eb b0 12 9a 0f 52 6f f7 ba da b0 9a cf 48 1f a3 81 20 7d f7 b5 2c 2c 36 fe e1 6b 8d fa 6f 16 ......Ro......H....}..,,6..k..o.
5d4a0 28 b8 bf 7c cc 16 0f 70 2b 5d b3 90 7e c4 fb be a9 83 b5 15 52 a3 04 f6 f4 85 07 51 35 f4 27 0b (..|...p+]..~.......R......Q5.'.
5d4c0 ee 23 86 e4 fa ca 74 87 21 9d 97 fa 4f 9f 40 0d fc a3 5b c4 59 cb 10 fb 70 54 1c b7 16 c8 35 5d .#....t.!...O.@...[.Y...pT....5]
5d4e0 f3 a8 ab 3d fb e9 08 c8 ce 07 b9 99 8f e4 f0 81 ad 7c 22 71 8a 7b 9d c1 39 57 ee ab dd b4 a7 7b ...=.............|"q.{..9W.....{
5d500 fa ab 49 88 0a 7c 22 2d fa 5d 8e c2 89 0e 2c d1 3b f2 56 93 b2 9d 68 11 f0 f6 a0 19 65 08 2b 83 ..I..|"-.]....,.;.V...h.....e.+.
5d520 f8 b5 80 fc 35 cf 1f fd 53 f1 20 6b a4 d3 d2 5c 0a 07 d3 62 3b 12 23 91 39 c1 5f 9d 47 26 84 6c ....5...S..k...\...b;.#.9._.G&.l
5d540 bf a1 59 45 a9 4c aa c5 bb 37 22 80 ad 55 c0 13 e7 45 d3 18 c0 2b d8 b2 f6 cc 79 e8 ba 63 32 92 ..YE.L...7"..U...E...+....y..c2.
5d560 77 e8 b9 01 4c bb 05 9a d5 68 d4 b7 56 bd b0 b9 de 0d 6e a6 d1 b2 ed d4 00 26 50 75 cc 38 e4 ff w...L....h..V.....n......&Pu.8..
5d580 9d 88 75 9c 1b a8 0c 89 08 8e 10 30 c9 4f 58 71 a5 aa 2d 16 14 20 33 67 0f d0 a7 58 bc 72 6f e6 ..u........0.OXq..-...3g...X.ro.
5d5a0 57 19 4b 5c 6c 26 44 3d 57 04 48 ea 10 d6 3a 01 28 4e ec f2 c3 56 59 11 50 32 a9 98 b0 81 2e 77 W.K\l&D=W.H...:.(N...VY.P2.....w
5d5c0 d7 d0 32 6c 56 4f 44 be bf 45 40 dd 6b 39 e8 9e 21 c5 0c d9 73 2f c1 a3 b8 85 3b 22 42 a9 18 ec ..2lVOD..E@.k9..!...s/....;"B...
5d5e0 09 2f cd fe fd d8 34 f9 2e 06 ab 6c e4 77 f2 5a d1 57 42 3c c7 83 65 9e 58 91 eb 28 1f 09 1c 77 ./....4....l.w.Z.WB<..e.X..(...w
5d600 55 43 34 82 1c 4e 88 39 47 f4 55 8f 56 63 2e e8 55 fe b8 ad d4 0e 2a 4d d0 9a 4c 0c 95 cd c8 5d UC4..N.9G.U.Vc..U.....*M..L....]
5d620 57 a2 e7 7c 2a f4 68 ea 02 41 e2 64 e7 01 a8 3e d9 73 44 a0 b1 17 fd e7 34 e8 45 bc 63 2a c5 28 W..|*.h..A.d...>.sD.....4.E.c*.(
5d640 59 bf 9c 20 45 64 54 c8 51 31 48 88 01 3f ba e3 a2 71 92 55 50 6a 79 b1 05 13 9a fb 0b 42 28 01 Y...EdT.Q1H..?...q.UPjy......B(.
5d660 37 83 64 27 12 c6 b0 10 84 17 e5 11 86 b3 63 52 41 a6 a8 52 1a af 00 04 ac 1d 8a 8c 48 b5 f4 50 7.d'..........cRA..R........H..P
5d680 93 f7 42 60 ee 08 af f1 a0 3e 11 9d 69 39 b4 cc 32 a4 92 15 b7 7d ca c7 14 d3 75 d6 39 b5 0d 84 ..B`.....>..i9..2....}....u.9...
5d6a0 0d 5f 56 b2 15 33 19 f9 69 82 4b fa af 5e f8 a7 37 09 fb aa 64 f2 c9 f5 f1 07 53 33 7a b9 e6 ac ._V..3..i.K..^..7...d.....S3z...
5d6c0 1a ad cf 41 65 36 00 29 4a d4 fc 77 a2 59 05 75 e3 21 52 f2 39 dd ef f6 6b 8b 2f 01 a4 76 e8 af ...Ae6.)J..w.Y.u.!R.9...k./..v..
5d6e0 66 f2 d6 b0 21 18 e3 c8 53 53 c1 d5 8b cc 0f 5a 99 cf b3 ba 15 f7 fa 92 e0 bb 29 9f e8 2f e7 80 f...!...SS.....Z..........)../..
5d700 9d 11 76 1d de 4f 71 6c 4d 63 4a 8f b6 54 cb 37 a9 48 5c 57 ca a0 4c f4 bc 9f 0b 58 ec 19 27 a7 ..v..OqlMcJ..T.7.H\W..L....X..'.
5d720 40 de 9f f1 59 55 1c de 8f 0f 87 97 56 4c d9 b9 d5 0f 2a d4 74 f3 c2 1a b2 a4 58 68 a8 46 aa 22 @...YU......VL....*.t.....Xh.F."
5d740 82 35 52 36 9b 5a e5 2b d7 1e 4e 2a 29 c2 b9 c5 d9 82 69 b9 28 b8 fe 34 0c 0a f7 84 06 50 bb a0 .5R6.Z.+..N*).....i.(..4.....P..
5d760 ad 9f 7d 73 0b d2 8b e1 74 c6 9b c0 f1 f2 19 b8 3f 40 59 e1 29 2d 4a a1 65 a1 f9 ab cd 9b eb da ..}s....t.......?@Y.)-J.e.......
5d780 30 26 a7 16 36 2f 7a bb 94 9c 25 06 4d 5a 8d e4 11 82 a3 4c d5 74 90 d6 4f e3 3a 8a 2e 1f 15 47 0&..6/z...%.MZ.....L.t..O.:....G
5d7a0 bf 0b 00 d3 75 d6 69 ad 90 1d ee a5 51 8b 68 5f 39 4d de 2b a4 ae 1c c0 a2 b4 ce 65 d0 a6 90 b8 ....u.i.....Q.h_9M.+.......e....
5d7c0 90 52 8c 8c 27 63 31 76 81 88 21 7a 67 75 f1 cf 5b 94 dc 3f fc 69 73 9e 21 36 9e 59 76 1f 9a 3c .R..'c1v..!zgu..[..?.is.!6.Yv..<
5d7e0 d0 76 d9 2e a4 23 07 2c da c5 df 4c dc 41 fa ef 18 4c 21 ce b8 f4 73 23 96 2b 78 b9 5f 23 f0 a8 .v...#.,...L.A...L!...s#.+x._#..
5d800 6d b6 ba fa 5a 53 aa ea 5d e3 c6 21 f4 d0 88 0e 04 c2 9f f4 28 4a 42 fb 87 23 f3 91 5e 82 3d 84 m...ZS..]..!........(JB..#..^.=.
5d820 ec f0 dc a9 0c 9d b8 ee 85 3b 58 c4 b8 19 34 28 01 47 a2 d6 3b cf fd fb 18 fd 8d 78 11 44 7f 04 .........;X...4(.G..;......x.D..
5d840 6d aa 66 57 32 bc 1a 39 c4 97 ba 9e 74 6c 9f 5c 60 a5 b6 92 f3 89 72 27 d4 f0 18 aa cd f2 b9 8f m.fW2..9....tl.\`.....r'........
5d860 30 8e d1 f6 a0 ac 69 a0 67 b3 5d 90 88 90 ec 66 76 74 f7 c6 a7 53 8f 47 fb 98 e6 14 c8 a1 1b 36 0.....i.g.]....fvt...S.G.......6
5d880 e2 58 bc b8 5d 87 ab f7 3c 16 63 b9 db 13 55 16 9e 88 f3 a3 2f 5c 03 5c 97 0d b2 e0 61 9d 73 83 .X..]...<.c...U...../\.\....a.s.
5d8a0 7d 4b 89 41 fd 60 b7 23 91 0f 5b e3 46 93 9d 69 61 38 cb a5 1f 18 f0 8b 60 5a 4d 92 a6 4b c4 dd }K.A.`.#..[.F..ia8......`ZM..K..
5d8c0 3d 01 5b c8 8c 3d 69 76 ed 07 ac 3c 86 fb af ef 11 13 d9 ad 63 2c 1b b2 8f bc b0 97 97 e4 b8 c7 =.[..=iv...<........c,..........
5d8e0 f3 05 5a d1 c0 68 e5 3a fe 3f 78 e5 ad ca 5d 10 bf 1a 8b 82 4a 10 8c 4a f0 f3 4e db 3f 43 0d 35 ..Z..h.:.?x...].....J..J..N.?C.5
5d900 60 19 39 f1 9b 5e 65 f5 fc 97 ce 79 42 ee 57 cb c1 2b 49 42 ee 7e 00 f1 b3 ba 2e d3 fc d0 26 14 `.9..^e....yB.W..+IB.~........&.
5d920 dc 71 7f 1a 2c 10 4c ef 91 c6 ef 7d 60 d8 2f 16 19 34 2d 78 88 62 bd c1 30 21 fc 1d 10 11 8d 47 .q..,.L....}`./..4-x.b..0!.....G
5d940 5a 51 83 52 fb 56 26 57 f8 b7 fb 98 c8 8f 79 f8 ef ce d6 86 5a c0 b6 6e 8d 09 b8 1d 74 12 91 8b ZQ.R.V&W......y.....Z..n....t...
5d960 a2 e2 ea e0 31 e4 e6 fc c5 5f b8 b8 da 41 aa 59 17 b3 ca 67 40 a7 7c 2b dc ee 20 3e 3a e8 1a d2 ....1...._...A.Y...g@.|+...>:...
5d980 10 2e c7 3d e8 ef 03 05 53 d7 05 f8 72 27 f4 a0 54 c8 75 4f ba 32 44 54 09 9b 30 80 b1 22 f6 a3 ...=....S...r'..T.uO.2DT..0.."..
5d9a0 a5 85 e2 5f e2 37 0d 32 63 e6 98 5a 0b 27 4e c6 f7 0e 78 7d 0c 82 72 87 e7 73 8e f9 95 73 2a 67 ..._.7.2c..Z.'N...x}..r..s...s*g
5d9c0 21 8f 2e d5 d2 ad 09 a7 52 20 9f 31 a1 f3 1e ca 81 fa 14 21 92 bc ad 38 d4 c0 e2 4c e1 d9 3e de !.......R..1.......!...8...L..>.
5d9e0 51 af c2 ed 30 15 47 fc 51 6c bd 08 74 2d 22 17 2d 7c d4 75 a7 e9 3f 3f e0 7f b3 09 ae f1 c9 1b Q...0.G.Ql..t-".-|.u..??........
5da00 2c ad 79 e0 a9 73 d7 27 22 f9 df b9 17 05 ec 99 c6 11 94 ef 01 61 ac 48 80 8b 8f d9 b9 f6 65 a7 ,.y..s.'"............a.H......e.
5da20 18 1a 23 21 e5 75 f8 e2 7f 60 30 ee 27 eb f3 94 c5 4d 8b b5 96 bf c8 05 bf 22 4a 4f 54 ed 6c 30 ..#!.u...`0.'....M......."JOT.l0
5da40 ab 7d dd 5d 9e a9 12 bd df 56 69 e5 55 c4 5f 66 b2 d0 e0 07 3b fb 30 ec c0 ba 5a 22 7a 41 cf 53 .}.].....Vi.U._f....;.0...Z"zA.S
5da60 6d 1e 2f 16 7f d8 1a f4 55 27 b3 62 df e2 d9 c8 e9 d0 da 6f ce 87 3f f9 f5 79 9b 1b 09 d0 94 36 m./.....U'.b.......o..?..y.....6
5da80 81 eb ac 1e ea 84 32 6f cf 0a cb 6d f7 eb 09 8b 9e 5c ac 92 8d c8 a5 d9 7c 3f ca 91 38 e0 9b 4c ......2o...m.....\......|?..8..L
5daa0 8d b7 0d 27 c6 e6 ed 41 09 7b 94 0f 83 de eb 57 11 fa 91 9c 6b 25 05 7f 3e 0d b1 cb df d8 66 10 ...'...A.{.....W....k%..>.....f.
5dac0 79 00 e1 bf 55 3e b5 07 4b f2 f2 3a a6 17 4c 16 63 9d 46 3c 5c 1b a3 06 5c b9 83 91 ce e8 c7 3d y...U>..K..:..L.c.F<\...\......=
5dae0 2a ae 19 1b f6 c2 a9 14 d3 24 7b de e6 07 7b 23 86 bb f8 13 52 98 b3 df 61 ad 71 a0 2f 2e 61 f2 *........${...{#....R...a.q./.a.
5db00 37 39 c1 e1 c8 8d e3 c2 db 34 b7 53 5c 72 60 46 7a e9 a7 91 56 74 f3 be ac 70 a3 61 e4 a2 ab 79 79.......4.S\r`Fz...Vt...p.a...y
5db20 00 b2 e3 46 91 a3 a4 16 81 a0 cb 55 7a f1 f5 9b c9 0d 44 97 53 2e c5 86 a2 56 ce 11 fc 7f 37 33 ...F.......Uz.....D.S....V....73
5db40 68 08 33 ff 5d 58 d8 00 d9 9e 6a b3 d1 65 ec b9 7d 1d 57 36 fa 31 15 77 43 af a5 6d e5 08 10 3d h.3.]X....j..e..}.W6.1.wC..m...=
5db60 0d d9 3d e8 81 3c 54 d5 d4 0b b7 41 ea 00 56 2e b1 74 aa 14 93 d3 c4 29 d9 7a ea b5 15 77 db c3 ..=..<T....A..V..t.....).z...w..
5db80 17 64 44 42 56 e5 39 b5 db be 69 b7 5a 9c b3 eb 64 19 a6 34 48 7f 05 63 4f fa e1 b1 17 9d 61 ed .dDBV.9...i.Z...d..4H..cO.....a.
5dba0 4a e7 f0 05 26 a8 59 2b e9 e5 4a 33 d2 8f 88 37 ba 3b 58 0a 1d 08 29 03 17 fd 83 db 55 46 e3 82 J...&.Y+..J3...7.;X...).....UF..
5dbc0 54 36 41 ad 27 07 cc b5 e2 a3 e1 03 2b bb 1e c6 c1 c4 82 d1 ef 22 85 25 92 bd 3b f7 ab d1 0f 0e T6A.'.......+........".%..;.....
5dbe0 f5 d5 8e bc 88 33 33 f6 d7 53 1d e5 dd 36 bb 70 cc 90 2d 2a 0a 4d 72 37 2e f7 4d c7 28 70 b8 48 .....33..S...6.p..-*.Mr7..M.(p.H
5dc00 73 3a c3 e7 3b 47 f1 cb df 9b c6 26 19 78 77 77 cb a1 e3 bb ae b3 c5 76 77 4e 5e 87 80 ea ca 48 s:..;G.....&.xww.......vwN^....H
5dc20 25 03 f8 13 8c bc 92 c9 a7 cb a0 0c 57 30 82 3d d2 f0 a1 1f 13 a8 de a4 66 5b d6 76 aa 51 04 74 %...........W0.=........f[.v.Q.t
5dc40 dc 7c 8b ae 9e 32 66 a4 e7 83 b5 2e 17 1f f9 18 69 3f cd 04 15 68 30 c0 0f f4 b1 bd a5 6c d8 e9 .|...2f.........i?...h0......l..
5dc60 2d c9 bf cc 29 f4 23 de 4d c0 0c 3a 8f 21 b4 29 89 04 e4 99 f5 e0 71 c7 85 76 84 d0 e2 ef 8d 56 -...).#.M..:.!.)......q..v.....V
5dc80 73 6c 5e 6b 49 57 f7 8e e1 61 6c 51 dc 11 c5 bb e6 c6 ed 55 17 95 d7 b3 db e6 27 b0 16 4b a8 23 sl^kIW...alQ.......U......'..K.#
5dca0 5c 7e 41 64 d9 aa e9 29 de e4 49 35 97 df 96 b8 dd 83 65 83 d3 cd 9c 14 df f1 b5 7e 4e 69 fe d0 \~Ad...)..I5......e........~Ni..
5dcc0 fa 4b 15 84 ab 09 a2 1d ea a8 aa cf e0 21 73 ba 45 91 65 5c 98 a0 d3 59 58 3a 1d e1 5f a7 69 8e .K...........!s.E.e\...YX:.._.i.
5dce0 d0 57 f3 fc bb c9 dd 6c df 1c 1f 19 25 05 5f fa 81 85 f4 7f 1c 5b 1c e5 be c5 9b b3 8b b5 3a 21 .W.....l....%._......[........:!
5dd00 b8 c7 58 7b 44 56 c8 c1 f0 ad ef 3a 77 47 4b 55 43 b9 fc 9a 0d c5 8c ef 8f 7e e7 b5 57 45 04 e5 ..X{DV.....:wGKUC........~..WE..
5dd20 45 8e 60 d5 fe 6a ab 03 68 8c ad da 7e 1b b0 aa 88 90 92 09 e0 3b e6 4d 31 c6 f7 d6 fd d5 af a1 E.`..j..h...~........;.M1.......
5dd40 ae 72 4e 54 be b9 8e 03 12 38 f2 ce 2d 3c ea bc b4 29 e2 90 17 73 77 6a e6 fd ef 2a 4c ab 72 87 .rNT.....8..-<...)...swj...*L.r.
5dd60 b4 7d bc 01 d5 59 bb 03 b3 b1 6a ef 50 14 e5 7a c1 63 16 7b 53 8b 6d d1 a1 20 e7 50 2b 63 b4 1e .}...Y....j.P..z.c.{S.m....P+c..
5dd80 41 d1 a7 b6 08 0e 14 81 24 1f 8f 23 01 3a d1 bb 47 fc 2e b6 81 f0 fe 30 78 3d 05 bc 73 b0 b7 16 A.......$..#.:..G......0x=..s...
5dda0 2d 1b c0 c2 7d 9c e9 2b f5 55 d7 88 29 2f a2 a5 96 50 1c f1 22 1e f2 cf 82 84 c8 61 12 e3 60 eb -...}..+.U..)/...P.."......a..`.
5ddc0 9e d0 09 a7 98 79 08 cc 0b f9 19 fa 9c 82 87 e6 6d 68 37 cb 6e 30 00 20 bd 78 12 2b d0 27 1f 76 .....y..........mh7.n0...x.+.'.v
5dde0 ee 59 5b 9f 0c cf 40 11 71 b1 74 c7 41 3f 63 9f 00 a7 0a 31 0d c9 56 99 67 88 42 d7 4e 17 0a 4d .Y[...@.q.t.A?c....1..V.g.B.N..M
5de00 01 d4 a1 cb 12 8f e9 ac 34 b2 23 76 11 8c 4d f8 55 ba 3f 32 f9 07 21 7a ae 91 be ba 97 98 ac 33 ........4.#v..M.U.?2..!z.......3
5de20 fe 65 89 74 ed 75 33 31 05 79 e0 d1 dd 7c e4 8f 69 a1 35 18 40 44 86 34 0e 6b 54 72 07 cb 2e bd .e.t.u31.y...|..i.5.@D.4.kTr....
5de40 e1 8c 7e 96 bf 60 66 1d d5 23 65 0f 59 1e 8c 03 be 78 b3 1e d2 dd 86 ec 03 2d f8 88 d6 3f 24 3a ..~..`f..#e.Y....x.......-...?$:
5de60 ce 91 e7 ba 4a 27 c5 e5 b9 91 5c 35 aa 23 15 7b dc d0 ab 9d f6 5d bb 98 70 14 de 90 1a 44 c0 41 ....J'....\5.#.{.....]..p....D.A
5de80 59 eb e2 26 7a 85 79 be 56 80 7c dd 15 25 f9 9d 05 f7 af dc fb 8b cc a7 0c a5 d3 ba f5 0e 35 02 Y..&z.y.V.|..%................5.
5dea0 00 49 35 68 ca 51 82 d0 6b 68 15 ce 9c c9 bc 16 88 3c 47 78 a6 4c 29 2f d9 c6 ee 5d 57 7f 9e b6 .I5h.Q..kh.......<Gx.L)/...]W...
5dec0 57 17 6a 8e 12 70 11 c8 13 1d 3d 58 92 81 23 06 96 2b ea 93 55 ff 92 c9 3f e5 1e bf 2b 30 21 f3 W.j..p....=X..#..+..U...?...+0!.
5dee0 48 72 0f a8 fc 26 51 73 c9 47 63 16 4d 15 09 50 f6 4b dd e5 8d 0f 28 32 e8 8b a2 c4 17 8e e7 06 Hr...&Qs.Gc.M..P.K....(2........
5df00 43 6a ee f1 f8 d0 0f a3 8b ea 17 9a e8 6d b3 7e 7f 59 28 bd 91 64 a9 7e 39 35 fa 55 f3 d7 6c 4d Cj...........m.~.Y(..d.~95.U..lM
5df20 79 a9 ae 99 9b 8f f7 60 fa c5 91 ba 72 10 8f c0 6d 0e b4 34 b3 a7 44 78 13 73 33 5d 19 71 66 e2 y......`....r...m..4..Dx.s3].qf.
5df40 ed f7 1e da 19 2a dc 9e 5d 53 87 21 b7 ab 90 7d 14 b4 5d 24 4f c6 23 67 45 d0 07 e2 10 b2 4e 05 .....*..]S.!...}..]$O.#gE.....N.
5df60 1a 05 3a 8a ec d7 db 3a d4 92 de 45 95 4c 34 32 29 05 d2 45 a9 07 02 25 f4 a5 03 e8 7e ae 8c 60 ..:....:...E.L42)..E...%....~..`
5df80 e5 90 b6 95 19 f6 b7 2e 3f 48 0e e1 98 63 41 da ae 6e 2e 9d 08 5c a4 eb cc 08 c2 20 b5 75 03 3a ........?H...cA..n...\.......u.:
5dfa0 55 7f 1b 9a da 08 2f bf 70 f0 81 4b 5d 32 df 0b 68 ed ce cd ab c5 73 02 bb 9b 8f 91 fc 8c 2a 90 U...../.p..K]2..h.....s.......*.
5dfc0 b9 27 0c 4e c2 bf c7 34 a7 99 12 8b 10 a6 77 2b 3e 61 37 f6 23 b3 07 3b 91 18 b4 69 48 e0 18 95 .'.N...4......w+>a7.#..;...iH...
5dfe0 01 1f 3f da 4a d6 c2 6c e1 b6 d8 48 77 3f 37 77 8d ef af a0 0e 45 d2 c2 e3 8c 14 f9 9f b8 80 32 ..?.J..l...Hw?7w.....E.........2
5e000 77 e6 fe 2c 5c 53 5e ef 90 60 ac dc c0 45 c4 15 6b bd e4 4c 8f f5 63 79 89 7b 47 7a 95 96 1c 06 w..,\S^..`...E..k..L..cy.{Gz....
5e020 12 c8 52 86 49 ba 1c 76 1b d3 57 ff 16 55 34 0c a4 90 4b ae eb 39 c4 ec c7 56 8b 6a 7d d0 3a e3 ..R.I..v..W..U4...K..9...V.j}.:.
5e040 f3 d3 77 cf c2 b9 22 ef e4 55 b7 90 bb 37 a3 f1 3a 60 32 65 33 b2 71 21 7f 6d c9 48 8b 4c 97 64 ..w..."..U...7..:`2e3.q!.m.H.L.d
5e060 ac 84 bd ea 2c 1f 78 98 d1 1f ae f0 8c a1 2a fc 8a 16 56 4f 86 9e 23 66 35 b8 9c c9 ef 66 ef b9 ....,.x.......*...VO..#f5....f..
5e080 06 1d 8d 9e da 74 2a ef c9 39 b2 13 14 1a 4e 98 27 9c 0e b8 d1 be 41 85 4a 12 32 6f 5d 38 09 8a .....t*..9....N.'.....A.J.2o]8..
5e0a0 20 ca c0 e1 de 75 4f 22 0e c0 48 61 5c bb 91 69 7c 73 6f 48 d8 d5 c2 a0 dc b0 8c 72 b3 33 7e 2b .....uO"..Ha\..i|soH.......r.3~+
5e0c0 d3 6f 0c af 94 7c 30 1a bf ff c4 24 ac 20 2c 97 72 ee 0f 32 27 3b b8 a3 db 8d 15 58 f1 c8 cf 83 .o...|0....$..,.r..2';.....X....
5e0e0 3a 33 39 36 08 39 0b 17 9b e9 b0 f3 09 35 4e ed 9d bb b7 e0 be e0 f5 b4 ab a1 32 30 dc 57 d7 d8 :396.9.......5N...........20.W..
5e100 21 9e 11 ce aa fc 1d e0 72 64 e2 f8 50 ea 9b c9 ca b3 52 54 0e cb c9 11 0c c6 5e a0 26 ff 86 fb !.......rd..P.....RT......^.&...
5e120 b4 93 b1 bb bd c2 db d1 f7 f2 80 6d bb 1a 37 e7 2c c2 8c cc 8e d6 7d 5f a7 dc 1b e6 43 53 0a 25 ...........m..7.,.....}_....CS.%
5e140 48 f0 21 ff 59 47 39 b3 b8 49 97 50 32 31 de b7 68 f9 5f e3 09 2e b6 3f 0c a1 4d 48 53 dc 79 fa H.!.YG9..I.P21..h._....?..MHS.y.
5e160 5a 3c 8e 1e 0d eb 9d 09 14 5a e7 f0 99 44 f6 5c e7 97 cf ea 55 95 66 9f ed 77 d6 b1 ca 25 df 29 Z<.......Z...D.\....U.f..w...%.)
5e180 5b 08 ba a2 f4 e2 bc 04 94 71 f9 6e d7 da 82 ee e9 32 b1 87 98 a7 4a b5 c6 fb 4e 67 70 6c 07 c0 [........q.n.....2....J...Ngpl..
5e1a0 47 f2 37 22 80 48 dc c9 59 b5 64 cd c6 54 5c 6c 27 22 4c f5 ba 6e b8 cc ff 23 50 2a 02 69 15 b9 G.7".H..Y.d..T\l'"L..n...#P*.i..
5e1c0 97 9d 8f bb b7 cc 2a c2 52 9c 77 d3 78 c0 ff 4e d8 ab d9 f1 ba ff 4a 5f 27 38 02 63 ab 37 bd 6f ......*.R.w.x..N......J_'8.c.7.o
5e1e0 54 0e 86 b5 ae 33 fd 2c 74 4a 42 4f 57 e1 1c ca 1e a8 20 5d a5 f1 33 3d c8 86 04 1f f9 4e ec 0f T....3.,tJBOW......]..3=.....N..
5e200 ec 9b f3 86 52 67 39 d3 c3 0a 4b 8a 80 9f 5c 5f 2c c4 d4 b2 be e9 36 45 4a 4b 58 24 cd 2e 7d 90 ....Rg9...K...\_,.....6EJKX$..}.
5e220 d4 33 92 00 8c 34 b5 13 7f b3 cc 70 f4 61 50 fc 9f e4 7a 38 fe 50 ae c0 87 a6 75 8e aa fd 9c 94 .3...4.....p.aP...z8.P....u.....
5e240 80 75 47 50 6d dc 0d 7b 7e ff 37 b8 ec 39 68 2f a1 3d bd 78 96 5b 13 8a 2f 93 65 64 ea 6a 3c fc .uGPm..{~.7..9h/.=.x.[../.ed.j<.
5e260 6b 64 03 c5 2f 81 5c 28 44 74 b3 c5 27 2d 56 5f 7a a8 13 ea cc 16 21 80 31 a2 4f 1c 92 4d 1c f6 kd../.\(Dt..'-V_z.....!.1.O..M..
5e280 d6 92 20 a1 0a de 90 8c e2 f4 e4 10 c1 26 96 0f 05 c6 96 ff b5 1f f7 84 82 d7 85 4a 77 dd ce e2 .............&.............Jw...
5e2a0 b8 ec 6f 94 b2 fb 04 15 34 b6 88 04 ee bf 5e c1 b2 c2 b4 b1 47 72 f8 41 89 c0 1a ba bc 70 87 85 ..o.....4.....^.....Gr.A.....p..
5e2c0 38 82 7f bd bf b4 e1 2f b0 f4 5d b4 47 bc fb fa 32 28 f5 57 78 e9 a5 a8 01 96 84 b5 96 36 58 36 8....../..].G...2(.Wx........6X6
5e2e0 54 75 25 2b 6a a5 2b 61 40 dd 7b 22 06 47 ed cc d1 28 18 5a 0d 8f af 4b 35 63 31 47 93 a6 b4 6b Tu%+j.+a@.{".G...(.Z...K5c1G...k
5e300 78 21 f3 ed 7e 07 ed 0c 3e 13 2c 77 9b d5 c4 0e f0 fe 58 d2 ad e6 33 98 4c b2 0d ca 1a 35 3e ba x!..~...>.,w......X...3.L....5>.
5e320 3f 90 f2 ba d2 91 d5 f7 09 46 f7 56 05 bf 6e 8a 5d 88 7d ed 3b 4d b9 eb cf 53 ea e6 6c 44 21 72 ?........F.V..n.].}.;M...S..lD!r
5e340 96 45 71 b5 b6 0b 26 2a 0d 64 cf ab bc 07 ed 9b f2 e7 c0 6e b6 31 8f 49 ec 7d 73 0c 2a 23 60 19 .Eq...&*.d.........n.1.I.}s.*#`.
5e360 07 45 e7 87 37 fd 2d d6 49 17 0f cf e8 38 2a 4b 59 a1 d7 07 87 a2 e9 65 fe 20 ef 52 11 d7 7b bb .E..7.-.I....8*KY......e...R..{.
5e380 92 4c a8 14 a8 70 d5 13 8a 34 58 64 0b f7 21 d9 a8 d7 2e fd 2f 22 07 90 4f 2b c7 c5 5c fd 11 9a .L...p...4Xd..!...../"..O+..\...
5e3a0 97 2b 02 ff c9 10 f3 5b 3a 89 3a 0c 13 45 ff 7b 04 59 cb bf 22 04 72 43 c4 e9 62 52 bc 3a 8b 44 .+.....[:.:..E.{.Y..".rC..bR.:.D
5e3c0 79 f6 6f c2 6c f0 96 b0 04 b3 02 21 80 d6 c7 f7 23 de 1a 73 9a ec ff 7e ca 0b 6a ad b5 35 16 4c y.o.l......!....#..s...~..j..5.L
5e3e0 dc 2b b5 2e 80 4b 05 1b 4e b9 e3 27 c5 17 37 eb db 3e de 2d 35 d7 3b e9 88 4f 21 e6 8d fa b1 ff .+...K..N..'..7..>.-5.;..O!.....
5e400 f8 62 d0 ae ea 5f 80 79 a0 1a a0 b4 a3 d3 ae 99 19 2f 7b 42 e8 72 58 60 31 5c 7c ec 49 15 b4 80 .b..._.y........./{B.rX`1\|.I...
5e420 39 0c 06 14 1a 32 64 df 94 9e b6 b0 9d db f0 d9 a6 31 5f a6 46 8d 38 2c 9b 67 9f ff 12 81 3d 5a 9....2d..........1_.F.8,.g....=Z
5e440 62 df 95 8d f1 53 a9 81 88 aa 99 80 c2 8d af 9a 36 77 7c 8a 20 38 24 b4 9c cf 05 16 a7 fc 2b 91 b....S..........6w|..8$.......+.
5e460 e3 4e 9c 69 61 14 f0 d2 d6 9f 5a f4 8d ab 1f 2c 2d 05 10 0b 68 42 84 9e 59 6e 2e 6c 47 0b 00 6e .N.ia.....Z....,-...hB..Yn.lG..n
5e480 ce d4 a5 fa 32 6b cd 7b 02 de 37 db cf 78 11 16 20 f3 b4 78 64 b6 da de fc 58 cd 61 b2 ac d7 ce ....2k.{..7..x.....xd....X.a....
5e4a0 03 83 6f 44 c1 78 91 21 0e 02 68 a8 9f 54 73 a5 1f 61 5b f3 31 cc 3a 0e 52 86 42 bc 02 79 dd 98 ..oD.x.!..h..Ts..a[.1.:.R.B..y..
5e4c0 cc f0 38 32 f8 2a 32 3c 85 3a a1 c2 aa b7 7e 31 e4 b1 f7 0a c1 8c 0d 1f 1f 2f fc a9 56 ba ff 4e ..82.*2<.:....~1........./..V..N
5e4e0 5c ef b5 e0 4a 3a d7 62 ec 91 bb 49 90 4c 1b 31 e1 43 54 25 1d 58 a8 73 61 45 83 7a 04 5f b2 e0 \...J:.b...I.L.1.CT%.X.saE.z._..
5e500 ee c4 d7 09 8a 00 82 af 6c 33 57 d9 a1 ab 51 0a fb 43 f0 a8 4c e9 95 ec 9d f6 75 1e 6f bd 79 dc ........l3W...Q..C..L.....u.o.y.
5e520 c2 eb 4f 45 bd 71 84 aa f5 9f 16 86 4b 4b 2c 0a 17 1a 65 d2 c2 09 47 48 2d 76 7f 8b 89 1a 18 49 ..OE.q......KK,...e...GH-v.....I
5e540 1b 39 ac 21 83 91 e9 b8 17 04 95 bb e6 ef 53 83 a2 a8 ad 9d 42 7a 7f e0 1d 07 0c 92 10 4b 46 85 .9.!..........S.....Bz.......KF.
5e560 04 48 b3 82 65 73 5e 4e 8d 15 2d 7a 92 8a 53 83 22 67 20 6b ad b5 73 f9 58 0f fa 36 db a5 89 28 .H..es^N..-z..S."g.k..s.X..6...(
5e580 cf ed 4c 75 f0 cf 9e 93 68 ae d7 a3 d4 4c 31 68 06 29 07 67 46 70 4b c8 b1 62 5d e7 0d 26 78 68 ..Lu....h....L1h.).gFpK..b]..&xh
5e5a0 93 4a 09 a7 9a ec b4 6b c6 41 ba 7a 73 9f 02 59 54 00 25 e1 73 7c a5 3d ba a5 46 6d 35 54 ba 4e .J.....k.A.zs..YT.%.s|.=..Fm5T.N
5e5c0 70 e3 a6 99 8a 33 c7 d1 67 f7 3f 10 cf 43 19 34 96 e2 c4 08 b9 6d 26 ba 07 d5 d9 c1 e2 70 e0 69 p....3..g.?..C.4.....m&......p.i
5e5e0 63 41 9c 5f c3 4d 62 52 5a 20 7b 02 d5 e9 f0 4a 30 41 85 98 fa 8c ab 7c 9a 27 dc 65 65 48 95 dc cA._.MbRZ.{....J0A.....|.'.eeH..
5e600 0c 98 58 08 d1 65 44 31 91 bc be 18 32 d7 ad d8 26 1d 1d a8 4a e6 a4 56 62 ec 24 29 5d bd 31 e6 ..X..eD1....2...&...J..Vb.$)].1.
5e620 fc 58 eb 53 2b d8 97 c0 89 54 ea 35 0c 2a 60 52 ff fb b6 f8 9d e4 5f 80 74 0c 84 73 98 73 c3 90 .X.S+....T.5.*`R......_.t..s.s..
5e640 e3 41 43 28 fe 23 0a 01 cd 31 f7 25 5a 6c 78 4d a5 be 0b bd 10 8b 56 4b 90 b6 a3 5e 8a b5 78 ee .AC(.#...1.%ZlxM......VK...^..x.
5e660 32 0c fb 5b 84 2d cc b0 d6 01 d3 8a 2b 02 70 9a e8 f0 bd 13 7a bd 80 40 66 cd bc 9c a7 59 c5 8f 2..[.-......+.p.....z..@f....Y..
5e680 b9 df ab ff b5 99 ec ae 90 fd 60 6f e4 63 b6 48 ef 20 a8 ae 15 2e b9 40 86 04 0e 27 bd c2 b8 07 ..........`o.c.H.......@...'....
5e6a0 49 6e 6e 78 52 1a 60 4f 59 33 71 4e 17 53 54 e7 82 2c 21 02 7e 12 82 af a7 0b 9f 4d fd bc 7b ec InnxR.`OY3qN.ST..,!.~......M..{.
5e6c0 e2 3c b1 01 de 7b c6 ca 4f 10 b5 c4 3b 36 a4 3e 3e 0b 26 33 b5 e7 3b 85 7d 74 98 bf e6 45 91 f8 .<...{..O...;6.>>.&3..;.}t...E..
5e6e0 ac 5d a8 76 ac 59 5e 19 6b cd 4d 26 bd bb 15 c2 99 a8 37 e8 74 e2 1f 54 a7 40 16 74 4b d1 19 6b .].v.Y^.k.M&......7.t..T.@.tK..k
5e700 32 46 d2 24 9c 96 50 f3 c4 b1 b5 40 79 fc 92 24 86 ea f2 d2 b7 80 86 94 d0 be 3d 97 e6 45 62 8d 2F.$..P....@y..$..........=..Eb.
5e720 f9 70 9a 60 b8 7b a2 69 b5 62 fe 24 c0 93 ef 77 1f 6c d6 ae 02 66 4d ee 72 90 af c9 5e 96 57 83 .p.`.{.i.b.$...w.l...fM.r...^.W.
5e740 70 03 f4 cf 51 65 e9 c2 bd 7a 44 75 22 58 e1 17 53 f0 6e 92 1d c9 b8 5b 8b 3f 67 3b 04 d4 d2 e5 p...Qe...zDu"X..S.n....[.?g;....
5e760 56 a6 53 db 98 18 30 56 f7 a8 7e ff db 89 51 5c d8 c4 4f a2 91 00 b3 6b 2b 55 40 10 31 9e f1 c3 V.S...0V..~...Q\..O....k+U@.1...
5e780 f0 5e f3 f0 c4 23 eb a5 93 2c 4d c2 bc 1e 93 e4 0f 72 46 6a c9 b7 64 a2 cf 14 c6 1b a9 5b 75 de .^...#...,M......rFj..d......[u.
5e7a0 52 bb cc a5 f5 70 95 b8 d7 c3 4f 09 b0 9e 3c 7b 51 24 59 de 49 35 b0 05 65 23 ab 82 ae 63 1f 64 R....p....O...<{Q$Y.I5..e#...c.d
5e7c0 21 41 1e 72 75 2c 94 a9 16 24 d6 9a 1a 37 ca 80 83 3c 35 cd e0 51 8b 2e b0 f1 f2 d7 ee 60 b5 38 !A.ru,...$...7...<5..Q.......`.8
5e7e0 60 69 d6 23 b1 00 7a 27 13 3e ec fe 23 87 e3 d2 c2 bc 81 2f e6 26 2f c3 02 a6 79 18 65 74 6b 2b `i.#..z'.>..#....../.&/...y.etk+
5e800 ac aa 3e e7 90 40 31 12 8c d9 e7 62 71 82 81 42 2a 59 3c 4e 40 87 16 0c 8b 7a e2 79 d4 f5 03 08 ..>..@1....bq..B*Y<N@....z.y....
5e820 c5 a6 4b 0d a9 21 d9 19 a8 0b 55 02 bf 86 ee df b0 e6 b7 6b 15 79 70 c6 e8 d3 c7 2e ad 3a c0 4b ..K..!....U........k.yp......:.K
5e840 3b 56 2d 7e db df a7 02 05 c7 8a 41 43 a0 fa 2d 10 90 94 e6 f2 b9 51 9b f4 10 47 d8 70 1b d7 ec ;V-~.......AC..-......Q...G.p...
5e860 26 27 88 d5 14 8b 1f 3d 06 96 80 46 bb 24 b4 e8 97 07 dd b6 2d 7a 1e 82 b7 58 e2 9f 09 f4 12 2c &'.....=...F.$......-z...X.....,
5e880 af 33 1a 6e 87 f7 3c f4 ad 38 28 d6 95 bb b8 6b 35 90 98 f3 4b a7 36 59 c1 ac 4a f5 69 9b 21 43 .3.n..<..8(....k5...K.6Y..J.i.!C
5e8a0 e1 de b1 55 98 25 05 53 91 6f c2 c4 c4 fc 01 e9 7b 33 a4 0e 3f 36 d0 0e fd 80 81 21 54 0e 93 a2 ...U.%.S.o......{3..?6.....!T...
5e8c0 24 8e 00 00 00 00 00 00 d0 1c 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 $...............................
5e8e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5e900 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5e920 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5e940 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5e960 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5e980 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5e9a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5e9c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5e9e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5ea00 6c 7a 69 70 2d 31 2e 32 32 2f 74 65 73 74 73 75 69 74 65 2f 66 6f 78 5f 73 31 31 2e 6c 7a 00 00 lzip-1.22/testsuite/fox_s11.lz..
5ea20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5ea40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5ea60 00 00 00 00 30 30 30 30 36 34 34 00 30 30 30 30 30 30 30 00 30 30 30 30 30 30 30 00 30 30 30 30 ....0000644.0000000.0000000.0000
5ea80 30 30 30 30 31 32 30 00 31 32 33 34 37 34 32 37 34 35 34 00 30 31 36 32 37 37 00 20 30 00 00 00 0000120.12347427454.016277..0...
5eaa0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5eac0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5eae0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5eb00 00 75 73 74 61 72 00 30 30 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .ustar.00root...................
5eb20 00 00 00 00 00 00 00 00 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .........root...................
5eb40 00 00 00 00 00 00 00 00 00 30 30 30 30 30 30 30 00 30 30 30 30 30 30 30 00 00 00 00 00 00 00 00 .........0000000.0000000........
5eb60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5eb80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5eba0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5ebc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5ebe0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5ec00 4c 5a 49 50 01 0b 00 2a 1a 08 a2 03 25 66 f1 4b 78 c5 a2 05 ff 2e e6 d9 d2 20 1a ad 34 f8 e2 1d LZIP...*....%f.Kx...........4...
5ec20 e8 41 36 fa dc 06 69 bb 3c e4 10 34 27 09 eb b3 66 e3 ec 97 ea ae 23 ff fe 8e a0 00 6a cc 50 eb .A6...i.<..4'...f.....#.....j.P.
5ec40 2d 00 00 00 00 00 00 00 50 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 -.......P.......................
5ec60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5ec80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5eca0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5ecc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5ece0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5ed00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5ed20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5ed40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5ed60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5ed80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5eda0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5edc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5ede0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5ee00 6c 7a 69 70 2d 31 2e 32 32 2f 74 65 73 74 73 75 69 74 65 2f 66 6f 78 5f 6d 65 73 38 31 2e 6c 7a lzip-1.22/testsuite/fox_mes81.lz
5ee20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5ee40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5ee60 00 00 00 00 30 30 30 30 36 34 34 00 30 30 30 30 30 30 30 00 30 30 30 30 30 30 30 00 30 30 30 30 ....0000644.0000000.0000000.0000
5ee80 30 30 30 30 31 32 30 00 31 32 33 34 37 34 32 37 34 35 34 00 30 31 36 36 33 30 00 20 30 00 00 00 0000120.12347427454.016630..0...
5eea0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5eec0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5eee0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5ef00 00 75 73 74 61 72 00 30 30 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .ustar.00root...................
5ef20 00 00 00 00 00 00 00 00 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .........root...................
5ef40 00 00 00 00 00 00 00 00 00 30 30 30 30 30 30 30 00 30 30 30 30 30 30 30 00 00 00 00 00 00 00 00 .........0000000.0000000........
5ef60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5ef80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5efa0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5efc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5efe0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5f000 4c 5a 49 50 01 0c 00 2a 1a 08 a2 03 25 66 f1 4b 78 c5 a2 05 ff 2e e6 d9 d2 20 1a ad 34 f8 e2 1d LZIP...*....%f.Kx...........4...
5f020 e8 41 36 fa dc 06 69 bb 3c e4 10 34 27 09 eb b3 66 e3 ec 97 ea ae 23 ff fe 8e a0 00 6a cc 50 eb .A6...i.<..4'...f.....#.....j.P.
5f040 2d 00 00 00 00 00 00 00 51 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 -.......Q.......................
5f060 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5f080 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5f0a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5f0c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5f0e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5f100 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5f120 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5f140 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5f160 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5f180 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5f1a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5f1c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5f1e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5f200 6c 7a 69 70 2d 31 2e 32 32 2f 74 65 73 74 73 75 69 74 65 2f 63 68 65 63 6b 2e 73 68 00 00 00 00 lzip-1.22/testsuite/check.sh....
5f220 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5f240 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5f260 00 00 00 00 30 30 30 30 37 35 35 00 30 30 30 30 30 30 30 00 30 30 30 30 30 30 30 00 30 30 30 30 ....0000755.0000000.0000000.0000
5f280 30 30 33 37 36 35 36 00 31 33 37 37 34 31 37 37 37 33 30 00 30 31 36 31 32 30 00 20 30 00 00 00 0037656.13774177730.016120..0...
5f2a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5f2c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5f2e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5f300 00 75 73 74 61 72 00 30 30 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .ustar.00root...................
5f320 00 00 00 00 00 00 00 00 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .........root...................
5f340 00 00 00 00 00 00 00 00 00 30 30 30 30 30 30 30 00 30 30 30 30 30 30 30 00 00 00 00 00 00 00 00 .........0000000.0000000........
5f360 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5f380 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5f3a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5f3c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5f3e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5f400 23 21 20 2f 62 69 6e 2f 73 68 0a 23 20 63 68 65 63 6b 20 73 63 72 69 70 74 20 66 6f 72 20 4c 7a #!./bin/sh.#.check.script.for.Lz
5f420 69 70 20 2d 20 4c 5a 4d 41 20 6c 6f 73 73 6c 65 73 73 20 64 61 74 61 20 63 6f 6d 70 72 65 73 73 ip.-.LZMA.lossless.data.compress
5f440 6f 72 0a 23 20 43 6f 70 79 72 69 67 68 74 20 28 43 29 20 32 30 30 38 2d 32 30 32 31 20 41 6e 74 or.#.Copyright.(C).2008-2021.Ant
5f460 6f 6e 69 6f 20 44 69 61 7a 20 44 69 61 7a 2e 0a 23 0a 23 20 54 68 69 73 20 73 63 72 69 70 74 20 onio.Diaz.Diaz..#.#.This.script.
5f480 69 73 20 66 72 65 65 20 73 6f 66 74 77 61 72 65 3a 20 79 6f 75 20 68 61 76 65 20 75 6e 6c 69 6d is.free.software:.you.have.unlim
5f4a0 69 74 65 64 20 70 65 72 6d 69 73 73 69 6f 6e 0a 23 20 74 6f 20 63 6f 70 79 2c 20 64 69 73 74 72 ited.permission.#.to.copy,.distr
5f4c0 69 62 75 74 65 2c 20 61 6e 64 20 6d 6f 64 69 66 79 20 69 74 2e 0a 0a 4c 43 5f 41 4c 4c 3d 43 0a ibute,.and.modify.it...LC_ALL=C.
5f4e0 65 78 70 6f 72 74 20 4c 43 5f 41 4c 4c 0a 6f 62 6a 64 69 72 3d 60 70 77 64 60 0a 74 65 73 74 64 export.LC_ALL.objdir=`pwd`.testd
5f500 69 72 3d 60 63 64 20 22 24 31 22 20 3b 20 70 77 64 60 0a 4c 5a 49 50 3d 22 24 7b 6f 62 6a 64 69 ir=`cd."$1".;.pwd`.LZIP="${objdi
5f520 72 7d 22 2f 6c 7a 69 70 0a 66 72 61 6d 65 77 6f 72 6b 5f 66 61 69 6c 75 72 65 28 29 20 7b 20 65 r}"/lzip.framework_failure().{.e
5f540 63 68 6f 20 22 66 61 69 6c 75 72 65 20 69 6e 20 74 65 73 74 69 6e 67 20 66 72 61 6d 65 77 6f 72 cho."failure.in.testing.framewor
5f560 6b 22 20 3b 20 65 78 69 74 20 31 20 3b 20 7d 0a 0a 69 66 20 5b 20 21 20 2d 66 20 22 24 7b 4c 5a k".;.exit.1.;.}..if.[.!.-f."${LZ
5f580 49 50 7d 22 20 5d 20 7c 7c 20 5b 20 21 20 2d 78 20 22 24 7b 4c 5a 49 50 7d 22 20 5d 20 3b 20 74 IP}".].||.[.!.-x."${LZIP}".].;.t
5f5a0 68 65 6e 0a 09 65 63 68 6f 20 22 24 7b 4c 5a 49 50 7d 3a 20 63 61 6e 6e 6f 74 20 65 78 65 63 75 hen..echo."${LZIP}:.cannot.execu
5f5c0 74 65 22 0a 09 65 78 69 74 20 31 0a 66 69 0a 0a 5b 20 2d 65 20 22 24 7b 4c 5a 49 50 7d 22 20 5d te"..exit.1.fi..[.-e."${LZIP}".]
5f5e0 20 32 3e 20 2f 64 65 76 2f 6e 75 6c 6c 20 7c 7c 0a 09 7b 0a 09 65 63 68 6f 20 22 24 30 3a 20 61 .2>./dev/null.||..{..echo."$0:.a
5f600 20 50 4f 53 49 58 20 73 68 65 6c 6c 20 69 73 20 72 65 71 75 69 72 65 64 20 74 6f 20 72 75 6e 20 .POSIX.shell.is.required.to.run.
5f620 74 68 65 20 74 65 73 74 73 22 0a 09 65 63 68 6f 20 22 54 72 79 20 62 61 73 68 20 2d 63 20 5c 22 the.tests"..echo."Try.bash.-c.\"
5f640 24 30 20 24 31 20 24 32 5c 22 22 0a 09 65 78 69 74 20 31 0a 09 7d 0a 0a 69 66 20 5b 20 2d 64 20 $0.$1.$2\""..exit.1..}..if.[.-d.
5f660 74 6d 70 20 5d 20 3b 20 74 68 65 6e 20 72 6d 20 2d 72 66 20 74 6d 70 20 3b 20 66 69 0a 6d 6b 64 tmp.].;.then.rm.-rf.tmp.;.fi.mkd
5f680 69 72 20 74 6d 70 0a 63 64 20 22 24 7b 6f 62 6a 64 69 72 7d 22 2f 74 6d 70 20 7c 7c 20 66 72 61 ir.tmp.cd."${objdir}"/tmp.||.fra
5f6a0 6d 65 77 6f 72 6b 5f 66 61 69 6c 75 72 65 0a 0a 63 61 74 20 22 24 7b 74 65 73 74 64 69 72 7d 22 mework_failure..cat."${testdir}"
5f6c0 2f 74 65 73 74 2e 74 78 74 20 3e 20 69 6e 20 7c 7c 20 66 72 61 6d 65 77 6f 72 6b 5f 66 61 69 6c /test.txt.>.in.||.framework_fail
5f6e0 75 72 65 0a 69 6e 5f 6c 7a 3d 22 24 7b 74 65 73 74 64 69 72 7d 22 2f 74 65 73 74 2e 74 78 74 2e ure.in_lz="${testdir}"/test.txt.
5f700 6c 7a 0a 69 6e 5f 65 6d 3d 22 24 7b 74 65 73 74 64 69 72 7d 22 2f 74 65 73 74 5f 65 6d 2e 74 78 lz.in_em="${testdir}"/test_em.tx
5f720 74 2e 6c 7a 0a 66 6f 78 5f 6c 7a 3d 22 24 7b 74 65 73 74 64 69 72 7d 22 2f 66 6f 78 2e 6c 7a 0a t.lz.fox_lz="${testdir}"/fox.lz.
5f740 66 61 69 6c 3d 30 0a 74 65 73 74 5f 66 61 69 6c 65 64 28 29 20 7b 20 66 61 69 6c 3d 31 20 3b 20 fail=0.test_failed().{.fail=1.;.
5f760 70 72 69 6e 74 66 20 22 20 24 31 22 20 3b 20 5b 20 2d 7a 20 22 24 32 22 20 5d 20 7c 7c 20 70 72 printf.".$1".;.[.-z."$2".].||.pr
5f780 69 6e 74 66 20 22 28 24 32 29 22 20 3b 20 7d 0a 0a 70 72 69 6e 74 66 20 22 74 65 73 74 69 6e 67 intf."($2)".;.}..printf."testing
5f7a0 20 6c 7a 69 70 2d 25 73 2e 2e 2e 22 20 22 24 32 22 0a 0a 22 24 7b 4c 5a 49 50 7d 22 20 2d 66 6b .lzip-%s..."."$2".."${LZIP}".-fk
5f7c0 71 6d 34 20 69 6e 0a 5b 20 24 3f 20 3d 20 31 20 5d 20 7c 7c 20 74 65 73 74 5f 66 61 69 6c 65 64 qm4.in.[.$?.=.1.].||.test_failed
5f7e0 20 24 4c 49 4e 45 4e 4f 0a 5b 20 21 20 2d 65 20 69 6e 2e 6c 7a 20 5d 20 7c 7c 20 74 65 73 74 5f .$LINENO.[.!.-e.in.lz.].||.test_
5f800 66 61 69 6c 65 64 20 24 4c 49 4e 45 4e 4f 0a 22 24 7b 4c 5a 49 50 7d 22 20 2d 66 6b 71 6d 32 37 failed.$LINENO."${LZIP}".-fkqm27
5f820 34 20 69 6e 0a 5b 20 24 3f 20 3d 20 31 20 5d 20 7c 7c 20 74 65 73 74 5f 66 61 69 6c 65 64 20 24 4.in.[.$?.=.1.].||.test_failed.$
5f840 4c 49 4e 45 4e 4f 0a 5b 20 21 20 2d 65 20 69 6e 2e 6c 7a 20 5d 20 7c 7c 20 74 65 73 74 5f 66 61 LINENO.[.!.-e.in.lz.].||.test_fa
5f860 69 6c 65 64 20 24 4c 49 4e 45 4e 4f 0a 66 6f 72 20 69 20 69 6e 20 62 61 64 5f 73 69 7a 65 20 2d iled.$LINENO.for.i.in.bad_size.-
5f880 31 20 30 20 34 30 39 35 20 35 31 33 4d 69 42 20 31 47 20 31 54 20 31 50 20 31 45 20 31 5a 20 31 1.0.4095.513MiB.1G.1T.1P.1E.1Z.1
5f8a0 59 20 31 30 4b 42 20 3b 20 64 6f 0a 09 22 24 7b 4c 5a 49 50 7d 22 20 2d 66 6b 71 73 20 24 69 20 Y.10KB.;.do.."${LZIP}".-fkqs.$i.
5f8c0 69 6e 0a 09 5b 20 24 3f 20 3d 20 31 20 5d 20 7c 7c 20 74 65 73 74 5f 66 61 69 6c 65 64 20 24 4c in..[.$?.=.1.].||.test_failed.$L
5f8e0 49 4e 45 4e 4f 20 24 69 0a 09 5b 20 21 20 2d 65 20 69 6e 2e 6c 7a 20 5d 20 7c 7c 20 74 65 73 74 INENO.$i..[.!.-e.in.lz.].||.test
5f900 5f 66 61 69 6c 65 64 20 24 4c 49 4e 45 4e 4f 20 24 69 0a 64 6f 6e 65 0a 22 24 7b 4c 5a 49 50 7d _failed.$LINENO.$i.done."${LZIP}
5f920 22 20 2d 6c 71 20 69 6e 0a 5b 20 24 3f 20 3d 20 32 20 5d 20 7c 7c 20 74 65 73 74 5f 66 61 69 6c ".-lq.in.[.$?.=.2.].||.test_fail
5f940 65 64 20 24 4c 49 4e 45 4e 4f 0a 22 24 7b 4c 5a 49 50 7d 22 20 2d 74 71 20 69 6e 0a 5b 20 24 3f ed.$LINENO."${LZIP}".-tq.in.[.$?
5f960 20 3d 20 32 20 5d 20 7c 7c 20 74 65 73 74 5f 66 61 69 6c 65 64 20 24 4c 49 4e 45 4e 4f 0a 22 24 .=.2.].||.test_failed.$LINENO."$
5f980 7b 4c 5a 49 50 7d 22 20 2d 74 71 20 3c 20 69 6e 0a 5b 20 24 3f 20 3d 20 32 20 5d 20 7c 7c 20 74 {LZIP}".-tq.<.in.[.$?.=.2.].||.t
5f9a0 65 73 74 5f 66 61 69 6c 65 64 20 24 4c 49 4e 45 4e 4f 0a 22 24 7b 4c 5a 49 50 7d 22 20 2d 63 64 est_failed.$LINENO."${LZIP}".-cd
5f9c0 71 20 69 6e 0a 5b 20 24 3f 20 3d 20 32 20 5d 20 7c 7c 20 74 65 73 74 5f 66 61 69 6c 65 64 20 24 q.in.[.$?.=.2.].||.test_failed.$
5f9e0 4c 49 4e 45 4e 4f 0a 22 24 7b 4c 5a 49 50 7d 22 20 2d 63 64 71 20 3c 20 69 6e 0a 5b 20 24 3f 20 LINENO."${LZIP}".-cdq.<.in.[.$?.
5fa00 3d 20 32 20 5d 20 7c 7c 20 74 65 73 74 5f 66 61 69 6c 65 64 20 24 4c 49 4e 45 4e 4f 0a 22 24 7b =.2.].||.test_failed.$LINENO."${
5fa20 4c 5a 49 50 7d 22 20 2d 64 71 20 2d 6f 20 69 6e 20 3c 20 22 24 7b 69 6e 5f 6c 7a 7d 22 0a 5b 20 LZIP}".-dq.-o.in.<."${in_lz}".[.
5fa40 24 3f 20 3d 20 31 20 5d 20 7c 7c 20 74 65 73 74 5f 66 61 69 6c 65 64 20 24 4c 49 4e 45 4e 4f 0a $?.=.1.].||.test_failed.$LINENO.
5fa60 22 24 7b 4c 5a 49 50 7d 22 20 2d 64 71 20 2d 6f 20 69 6e 20 22 24 7b 69 6e 5f 6c 7a 7d 22 0a 5b "${LZIP}".-dq.-o.in."${in_lz}".[
5fa80 20 24 3f 20 3d 20 31 20 5d 20 7c 7c 20 74 65 73 74 5f 66 61 69 6c 65 64 20 24 4c 49 4e 45 4e 4f .$?.=.1.].||.test_failed.$LINENO
5faa0 0a 22 24 7b 4c 5a 49 50 7d 22 20 2d 64 71 20 2d 6f 20 6f 75 74 20 6e 78 5f 66 69 6c 65 2e 6c 7a ."${LZIP}".-dq.-o.out.nx_file.lz
5fac0 0a 5b 20 24 3f 20 3d 20 31 20 5d 20 7c 7c 20 74 65 73 74 5f 66 61 69 6c 65 64 20 24 4c 49 4e 45 .[.$?.=.1.].||.test_failed.$LINE
5fae0 4e 4f 0a 5b 20 21 20 2d 65 20 6f 75 74 20 5d 20 7c 7c 20 74 65 73 74 5f 66 61 69 6c 65 64 20 24 NO.[.!.-e.out.].||.test_failed.$
5fb00 4c 49 4e 45 4e 4f 0a 22 24 7b 4c 5a 49 50 7d 22 20 2d 71 20 2d 6f 20 6f 75 74 2e 6c 7a 20 6e 78 LINENO."${LZIP}".-q.-o.out.lz.nx
5fb20 5f 66 69 6c 65 0a 5b 20 24 3f 20 3d 20 31 20 5d 20 7c 7c 20 74 65 73 74 5f 66 61 69 6c 65 64 20 _file.[.$?.=.1.].||.test_failed.
5fb40 24 4c 49 4e 45 4e 4f 0a 5b 20 21 20 2d 65 20 6f 75 74 2e 6c 7a 20 5d 20 7c 7c 20 74 65 73 74 5f $LINENO.[.!.-e.out.lz.].||.test_
5fb60 66 61 69 6c 65 64 20 24 4c 49 4e 45 4e 4f 0a 22 24 7b 4c 5a 49 50 7d 22 20 2d 71 66 20 2d 53 31 failed.$LINENO."${LZIP}".-qf.-S1
5fb80 30 30 6b 20 2d 6f 20 6f 75 74 20 69 6e 20 69 6e 0a 5b 20 24 3f 20 3d 20 31 20 5d 20 7c 7c 20 74 00k.-o.out.in.in.[.$?.=.1.].||.t
5fba0 65 73 74 5f 66 61 69 6c 65 64 20 24 4c 49 4e 45 4e 4f 0a 23 20 74 68 65 73 65 20 61 72 65 20 66 est_failed.$LINENO.#.these.are.f
5fbc0 6f 72 20 63 6f 64 65 20 63 6f 76 65 72 61 67 65 0a 22 24 7b 4c 5a 49 50 7d 22 20 2d 6c 74 20 22 or.code.coverage."${LZIP}".-lt."
5fbe0 24 7b 69 6e 5f 6c 7a 7d 22 20 32 3e 20 2f 64 65 76 2f 6e 75 6c 6c 0a 5b 20 24 3f 20 3d 20 31 20 ${in_lz}".2>./dev/null.[.$?.=.1.
5fc00 5d 20 7c 7c 20 74 65 73 74 5f 66 61 69 6c 65 64 20 24 4c 49 4e 45 4e 4f 0a 22 24 7b 4c 5a 49 50 ].||.test_failed.$LINENO."${LZIP
5fc20 7d 22 20 2d 63 64 6c 20 22 24 7b 69 6e 5f 6c 7a 7d 22 20 3e 20 6f 75 74 20 32 3e 20 2f 64 65 76 }".-cdl."${in_lz}".>.out.2>./dev
5fc40 2f 6e 75 6c 6c 0a 5b 20 24 3f 20 3d 20 31 20 5d 20 7c 7c 20 74 65 73 74 5f 66 61 69 6c 65 64 20 /null.[.$?.=.1.].||.test_failed.
5fc60 24 4c 49 4e 45 4e 4f 0a 22 24 7b 4c 5a 49 50 7d 22 20 2d 63 64 74 20 22 24 7b 69 6e 5f 6c 7a 7d $LINENO."${LZIP}".-cdt."${in_lz}
5fc80 22 20 3e 20 6f 75 74 20 32 3e 20 2f 64 65 76 2f 6e 75 6c 6c 0a 5b 20 24 3f 20 3d 20 31 20 5d 20 ".>.out.2>./dev/null.[.$?.=.1.].
5fca0 7c 7c 20 74 65 73 74 5f 66 61 69 6c 65 64 20 24 4c 49 4e 45 4e 4f 0a 22 24 7b 4c 5a 49 50 7d 22 ||.test_failed.$LINENO."${LZIP}"
5fcc0 20 2d 74 20 2d 2d 20 6e 78 5f 66 69 6c 65 2e 6c 7a 20 32 3e 20 2f 64 65 76 2f 6e 75 6c 6c 0a 5b .-t.--.nx_file.lz.2>./dev/null.[
5fce0 20 24 3f 20 3d 20 31 20 5d 20 7c 7c 20 74 65 73 74 5f 66 61 69 6c 65 64 20 24 4c 49 4e 45 4e 4f .$?.=.1.].||.test_failed.$LINENO
5fd00 0a 22 24 7b 4c 5a 49 50 7d 22 20 2d 74 20 22 22 20 3c 20 2f 64 65 76 2f 6e 75 6c 6c 20 32 3e 20 ."${LZIP}".-t."".<./dev/null.2>.
5fd20 2f 64 65 76 2f 6e 75 6c 6c 0a 5b 20 24 3f 20 3d 20 31 20 5d 20 7c 7c 20 74 65 73 74 5f 66 61 69 /dev/null.[.$?.=.1.].||.test_fai
5fd40 6c 65 64 20 24 4c 49 4e 45 4e 4f 0a 22 24 7b 4c 5a 49 50 7d 22 20 2d 2d 68 65 6c 70 20 3e 20 2f led.$LINENO."${LZIP}".--help.>./
5fd60 64 65 76 2f 6e 75 6c 6c 20 7c 7c 20 74 65 73 74 5f 66 61 69 6c 65 64 20 24 4c 49 4e 45 4e 4f 0a dev/null.||.test_failed.$LINENO.
5fd80 22 24 7b 4c 5a 49 50 7d 22 20 2d 6e 31 20 2d 56 20 3e 20 2f 64 65 76 2f 6e 75 6c 6c 20 7c 7c 20 "${LZIP}".-n1.-V.>./dev/null.||.
5fda0 74 65 73 74 5f 66 61 69 6c 65 64 20 24 4c 49 4e 45 4e 4f 0a 22 24 7b 4c 5a 49 50 7d 22 20 2d 6d test_failed.$LINENO."${LZIP}".-m
5fdc0 20 32 3e 20 2f 64 65 76 2f 6e 75 6c 6c 0a 5b 20 24 3f 20 3d 20 31 20 5d 20 7c 7c 20 74 65 73 74 .2>./dev/null.[.$?.=.1.].||.test
5fde0 5f 66 61 69 6c 65 64 20 24 4c 49 4e 45 4e 4f 0a 22 24 7b 4c 5a 49 50 7d 22 20 2d 7a 20 32 3e 20 _failed.$LINENO."${LZIP}".-z.2>.
5fe00 2f 64 65 76 2f 6e 75 6c 6c 0a 5b 20 24 3f 20 3d 20 31 20 5d 20 7c 7c 20 74 65 73 74 5f 66 61 69 /dev/null.[.$?.=.1.].||.test_fai
5fe20 6c 65 64 20 24 4c 49 4e 45 4e 4f 0a 22 24 7b 4c 5a 49 50 7d 22 20 2d 2d 62 61 64 5f 6f 70 74 69 led.$LINENO."${LZIP}".--bad_opti
5fe40 6f 6e 20 32 3e 20 2f 64 65 76 2f 6e 75 6c 6c 0a 5b 20 24 3f 20 3d 20 31 20 5d 20 7c 7c 20 74 65 on.2>./dev/null.[.$?.=.1.].||.te
5fe60 73 74 5f 66 61 69 6c 65 64 20 24 4c 49 4e 45 4e 4f 0a 22 24 7b 4c 5a 49 50 7d 22 20 2d 2d 74 20 st_failed.$LINENO."${LZIP}".--t.
5fe80 32 3e 20 2f 64 65 76 2f 6e 75 6c 6c 0a 5b 20 24 3f 20 3d 20 31 20 5d 20 7c 7c 20 74 65 73 74 5f 2>./dev/null.[.$?.=.1.].||.test_
5fea0 66 61 69 6c 65 64 20 24 4c 49 4e 45 4e 4f 0a 22 24 7b 4c 5a 49 50 7d 22 20 2d 2d 74 65 73 74 3d failed.$LINENO."${LZIP}".--test=
5fec0 32 20 32 3e 20 2f 64 65 76 2f 6e 75 6c 6c 0a 5b 20 24 3f 20 3d 20 31 20 5d 20 7c 7c 20 74 65 73 2.2>./dev/null.[.$?.=.1.].||.tes
5fee0 74 5f 66 61 69 6c 65 64 20 24 4c 49 4e 45 4e 4f 0a 22 24 7b 4c 5a 49 50 7d 22 20 2d 2d 6f 75 74 t_failed.$LINENO."${LZIP}".--out
5ff00 70 75 74 3d 20 32 3e 20 2f 64 65 76 2f 6e 75 6c 6c 0a 5b 20 24 3f 20 3d 20 31 20 5d 20 7c 7c 20 put=.2>./dev/null.[.$?.=.1.].||.
5ff20 74 65 73 74 5f 66 61 69 6c 65 64 20 24 4c 49 4e 45 4e 4f 0a 22 24 7b 4c 5a 49 50 7d 22 20 2d 2d test_failed.$LINENO."${LZIP}".--
5ff40 6f 75 74 70 75 74 20 32 3e 20 2f 64 65 76 2f 6e 75 6c 6c 0a 5b 20 24 3f 20 3d 20 31 20 5d 20 7c output.2>./dev/null.[.$?.=.1.].|
5ff60 7c 20 74 65 73 74 5f 66 61 69 6c 65 64 20 24 4c 49 4e 45 4e 4f 0a 70 72 69 6e 74 66 20 22 4c 5a |.test_failed.$LINENO.printf."LZ
5ff80 49 50 5c 30 30 31 2d 2e 2e 2e 2e 2e 2e 2e 2e 2e 2e 2e 2e 2e 2e 2e 2e 2e 2e 2e 2e 2e 2e 2e 2e 2e IP\001-.........................
5ffa0 2e 2e 2e 2e 2e 22 20 7c 20 22 24 7b 4c 5a 49 50 7d 22 20 2d 74 20 32 3e 20 2f 64 65 76 2f 6e 75 .....".|."${LZIP}".-t.2>./dev/nu
5ffc0 6c 6c 0a 70 72 69 6e 74 66 20 22 4c 5a 49 50 5c 30 30 32 2d 2e 2e 2e 2e 2e 2e 2e 2e 2e 2e 2e 2e ll.printf."LZIP\002-............
5ffe0 2e 2e 2e 2e 2e 2e 2e 2e 2e 2e 2e 2e 2e 2e 2e 2e 2e 2e 22 20 7c 20 22 24 7b 4c 5a 49 50 7d 22 20 ..................".|."${LZIP}".
60000 2d 74 20 32 3e 20 2f 64 65 76 2f 6e 75 6c 6c 0a 70 72 69 6e 74 66 20 22 4c 5a 49 50 5c 30 30 31 -t.2>./dev/null.printf."LZIP\001
60020 2b 2e 2e 2e 2e 2e 2e 2e 2e 2e 2e 2e 2e 2e 2e 2e 2e 2e 2e 2e 2e 2e 2e 2e 2e 2e 2e 2e 2e 2e 2e 22 +.............................."
60040 20 7c 20 22 24 7b 4c 5a 49 50 7d 22 20 2d 74 20 32 3e 20 2f 64 65 76 2f 6e 75 6c 6c 0a 0a 70 72 .|."${LZIP}".-t.2>./dev/null..pr
60060 69 6e 74 66 20 22 5c 6e 74 65 73 74 69 6e 67 20 64 65 63 6f 6d 70 72 65 73 73 69 6f 6e 2e 2e 2e intf."\ntesting.decompression...
60080 22 0a 0a 66 6f 72 20 69 20 69 6e 20 22 24 7b 69 6e 5f 6c 7a 7d 22 20 22 24 7b 69 6e 5f 65 6d 7d "..for.i.in."${in_lz}"."${in_em}
600a0 22 20 3b 20 64 6f 0a 09 22 24 7b 4c 5a 49 50 7d 22 20 2d 6c 71 20 22 24 69 22 20 7c 7c 20 74 65 ".;.do.."${LZIP}".-lq."$i".||.te
600c0 73 74 5f 66 61 69 6c 65 64 20 24 4c 49 4e 45 4e 4f 20 22 24 69 22 0a 09 22 24 7b 4c 5a 49 50 7d st_failed.$LINENO."$i".."${LZIP}
600e0 22 20 2d 74 20 22 24 69 22 20 7c 7c 20 74 65 73 74 5f 66 61 69 6c 65 64 20 24 4c 49 4e 45 4e 4f ".-t."$i".||.test_failed.$LINENO
60100 20 22 24 69 22 0a 09 22 24 7b 4c 5a 49 50 7d 22 20 2d 64 20 22 24 69 22 20 2d 6f 20 63 6f 70 79 ."$i".."${LZIP}".-d."$i".-o.copy
60120 20 7c 7c 20 74 65 73 74 5f 66 61 69 6c 65 64 20 24 4c 49 4e 45 4e 4f 20 22 24 69 22 0a 09 63 6d .||.test_failed.$LINENO."$i"..cm
60140 70 20 69 6e 20 63 6f 70 79 20 7c 7c 20 74 65 73 74 5f 66 61 69 6c 65 64 20 24 4c 49 4e 45 4e 4f p.in.copy.||.test_failed.$LINENO
60160 20 22 24 69 22 0a 09 22 24 7b 4c 5a 49 50 7d 22 20 2d 63 64 20 22 24 69 22 20 3e 20 63 6f 70 79 ."$i".."${LZIP}".-cd."$i".>.copy
60180 20 7c 7c 20 74 65 73 74 5f 66 61 69 6c 65 64 20 24 4c 49 4e 45 4e 4f 20 22 24 69 22 0a 09 63 6d .||.test_failed.$LINENO."$i"..cm
601a0 70 20 69 6e 20 63 6f 70 79 20 7c 7c 20 74 65 73 74 5f 66 61 69 6c 65 64 20 24 4c 49 4e 45 4e 4f p.in.copy.||.test_failed.$LINENO
601c0 20 22 24 69 22 0a 09 22 24 7b 4c 5a 49 50 7d 22 20 2d 64 20 22 24 69 22 20 2d 6f 20 2d 20 3e 20 ."$i".."${LZIP}".-d."$i".-o.-.>.
601e0 63 6f 70 79 20 7c 7c 20 74 65 73 74 5f 66 61 69 6c 65 64 20 24 4c 49 4e 45 4e 4f 20 22 24 69 22 copy.||.test_failed.$LINENO."$i"
60200 0a 09 63 6d 70 20 69 6e 20 63 6f 70 79 20 7c 7c 20 74 65 73 74 5f 66 61 69 6c 65 64 20 24 4c 49 ..cmp.in.copy.||.test_failed.$LI
60220 4e 45 4e 4f 20 22 24 69 22 0a 09 22 24 7b 4c 5a 49 50 7d 22 20 2d 64 20 3c 20 22 24 69 22 20 3e NENO."$i".."${LZIP}".-d.<."$i".>
60240 20 63 6f 70 79 20 7c 7c 20 74 65 73 74 5f 66 61 69 6c 65 64 20 24 4c 49 4e 45 4e 4f 20 22 24 69 .copy.||.test_failed.$LINENO."$i
60260 22 0a 09 63 6d 70 20 69 6e 20 63 6f 70 79 20 7c 7c 20 74 65 73 74 5f 66 61 69 6c 65 64 20 24 4c "..cmp.in.copy.||.test_failed.$L
60280 49 4e 45 4e 4f 20 22 24 69 22 0a 09 72 6d 20 2d 66 20 63 6f 70 79 20 7c 7c 20 66 72 61 6d 65 77 INENO."$i"..rm.-f.copy.||.framew
602a0 6f 72 6b 5f 66 61 69 6c 75 72 65 0a 64 6f 6e 65 0a 0a 6c 69 6e 65 73 3d 24 28 22 24 7b 4c 5a 49 ork_failure.done..lines=$("${LZI
602c0 50 7d 22 20 2d 74 76 76 20 22 24 7b 69 6e 5f 65 6d 7d 22 20 32 3e 26 31 20 7c 20 77 63 20 2d 6c P}".-tvv."${in_em}".2>&1.|.wc.-l
602e0 29 20 7c 7c 20 74 65 73 74 5f 66 61 69 6c 65 64 20 24 4c 49 4e 45 4e 4f 0a 5b 20 22 24 7b 6c 69 ).||.test_failed.$LINENO.[."${li
60300 6e 65 73 7d 22 20 2d 65 71 20 38 20 5d 20 7c 7c 20 74 65 73 74 5f 66 61 69 6c 65 64 20 24 4c 49 nes}".-eq.8.].||.test_failed.$LI
60320 4e 45 4e 4f 20 22 24 7b 6c 69 6e 65 73 7d 22 0a 0a 6c 69 6e 65 73 3d 24 28 22 24 7b 4c 5a 49 50 NENO."${lines}"..lines=$("${LZIP
60340 7d 22 20 2d 6c 76 76 20 22 24 7b 69 6e 5f 65 6d 7d 22 20 7c 20 77 63 20 2d 6c 29 20 7c 7c 20 74 }".-lvv."${in_em}".|.wc.-l).||.t
60360 65 73 74 5f 66 61 69 6c 65 64 20 24 4c 49 4e 45 4e 4f 0a 5b 20 22 24 7b 6c 69 6e 65 73 7d 22 20 est_failed.$LINENO.[."${lines}".
60380 2d 65 71 20 31 31 20 5d 20 7c 7c 20 74 65 73 74 5f 66 61 69 6c 65 64 20 24 4c 49 4e 45 4e 4f 20 -eq.11.].||.test_failed.$LINENO.
603a0 22 24 7b 6c 69 6e 65 73 7d 22 0a 0a 63 61 74 20 22 24 7b 69 6e 5f 6c 7a 7d 22 20 3e 20 63 6f 70 "${lines}"..cat."${in_lz}".>.cop
603c0 79 2e 6c 7a 20 7c 7c 20 66 72 61 6d 65 77 6f 72 6b 5f 66 61 69 6c 75 72 65 0a 22 24 7b 4c 5a 49 y.lz.||.framework_failure."${LZI
603e0 50 7d 22 20 2d 64 6b 20 63 6f 70 79 2e 6c 7a 20 7c 7c 20 74 65 73 74 5f 66 61 69 6c 65 64 20 24 P}".-dk.copy.lz.||.test_failed.$
60400 4c 49 4e 45 4e 4f 0a 63 6d 70 20 69 6e 20 63 6f 70 79 20 7c 7c 20 74 65 73 74 5f 66 61 69 6c 65 LINENO.cmp.in.copy.||.test_faile
60420 64 20 24 4c 49 4e 45 4e 4f 0a 70 72 69 6e 74 66 20 22 74 6f 20 62 65 20 6f 76 65 72 77 72 69 74 d.$LINENO.printf."to.be.overwrit
60440 74 65 6e 22 20 3e 20 63 6f 70 79 20 7c 7c 20 66 72 61 6d 65 77 6f 72 6b 5f 66 61 69 6c 75 72 65 ten".>.copy.||.framework_failure
60460 0a 22 24 7b 4c 5a 49 50 7d 22 20 2d 64 20 63 6f 70 79 2e 6c 7a 20 32 3e 20 2f 64 65 76 2f 6e 75 ."${LZIP}".-d.copy.lz.2>./dev/nu
60480 6c 6c 0a 5b 20 24 3f 20 3d 20 31 20 5d 20 7c 7c 20 74 65 73 74 5f 66 61 69 6c 65 64 20 24 4c 49 ll.[.$?.=.1.].||.test_failed.$LI
604a0 4e 45 4e 4f 0a 22 24 7b 4c 5a 49 50 7d 22 20 2d 64 66 20 63 6f 70 79 2e 6c 7a 20 7c 7c 20 74 65 NENO."${LZIP}".-df.copy.lz.||.te
604c0 73 74 5f 66 61 69 6c 65 64 20 24 4c 49 4e 45 4e 4f 0a 5b 20 21 20 2d 65 20 63 6f 70 79 2e 6c 7a st_failed.$LINENO.[.!.-e.copy.lz
604e0 20 5d 20 7c 7c 20 74 65 73 74 5f 66 61 69 6c 65 64 20 24 4c 49 4e 45 4e 4f 0a 63 6d 70 20 69 6e .].||.test_failed.$LINENO.cmp.in
60500 20 63 6f 70 79 20 7c 7c 20 74 65 73 74 5f 66 61 69 6c 65 64 20 24 4c 49 4e 45 4e 4f 0a 0a 72 6d .copy.||.test_failed.$LINENO..rm
60520 20 2d 66 20 63 6f 70 79 20 7c 7c 20 66 72 61 6d 65 77 6f 72 6b 5f 66 61 69 6c 75 72 65 0a 63 61 .-f.copy.||.framework_failure.ca
60540 74 20 22 24 7b 69 6e 5f 6c 7a 7d 22 20 3e 20 63 6f 70 79 2e 6c 7a 20 7c 7c 20 66 72 61 6d 65 77 t."${in_lz}".>.copy.lz.||.framew
60560 6f 72 6b 5f 66 61 69 6c 75 72 65 0a 22 24 7b 4c 5a 49 50 7d 22 20 2d 64 20 2d 53 31 30 30 6b 20 ork_failure."${LZIP}".-d.-S100k.
60580 63 6f 70 79 2e 6c 7a 20 7c 7c 20 74 65 73 74 5f 66 61 69 6c 65 64 20 24 4c 49 4e 45 4e 4f 09 23 copy.lz.||.test_failed.$LINENO.#
605a0 20 69 67 6e 6f 72 65 20 2d 53 0a 5b 20 21 20 2d 65 20 63 6f 70 79 2e 6c 7a 20 5d 20 7c 7c 20 74 .ignore.-S.[.!.-e.copy.lz.].||.t
605c0 65 73 74 5f 66 61 69 6c 65 64 20 24 4c 49 4e 45 4e 4f 0a 63 6d 70 20 69 6e 20 63 6f 70 79 20 7c est_failed.$LINENO.cmp.in.copy.|
605e0 7c 20 74 65 73 74 5f 66 61 69 6c 65 64 20 24 4c 49 4e 45 4e 4f 0a 0a 70 72 69 6e 74 66 20 22 74 |.test_failed.$LINENO..printf."t
60600 6f 20 62 65 20 6f 76 65 72 77 72 69 74 74 65 6e 22 20 3e 20 63 6f 70 79 20 7c 7c 20 66 72 61 6d o.be.overwritten".>.copy.||.fram
60620 65 77 6f 72 6b 5f 66 61 69 6c 75 72 65 0a 22 24 7b 4c 5a 49 50 7d 22 20 2d 64 66 20 2d 6f 20 63 ework_failure."${LZIP}".-df.-o.c
60640 6f 70 79 20 3c 20 22 24 7b 69 6e 5f 6c 7a 7d 22 20 7c 7c 20 74 65 73 74 5f 66 61 69 6c 65 64 20 opy.<."${in_lz}".||.test_failed.
60660 24 4c 49 4e 45 4e 4f 0a 63 6d 70 20 69 6e 20 63 6f 70 79 20 7c 7c 20 74 65 73 74 5f 66 61 69 6c $LINENO.cmp.in.copy.||.test_fail
60680 65 64 20 24 4c 49 4e 45 4e 4f 0a 72 6d 20 2d 66 20 6f 75 74 20 63 6f 70 79 20 7c 7c 20 66 72 61 ed.$LINENO.rm.-f.out.copy.||.fra
606a0 6d 65 77 6f 72 6b 5f 66 61 69 6c 75 72 65 0a 22 24 7b 4c 5a 49 50 7d 22 20 2d 64 20 2d 6f 20 2e mework_failure."${LZIP}".-d.-o..
606c0 2f 2d 20 22 24 7b 69 6e 5f 6c 7a 7d 22 20 7c 7c 20 74 65 73 74 5f 66 61 69 6c 65 64 20 24 4c 49 /-."${in_lz}".||.test_failed.$LI
606e0 4e 45 4e 4f 0a 63 6d 70 20 69 6e 20 2e 2f 2d 20 7c 7c 20 74 65 73 74 5f 66 61 69 6c 65 64 20 24 NENO.cmp.in../-.||.test_failed.$
60700 4c 49 4e 45 4e 4f 0a 72 6d 20 2d 66 20 2e 2f 2d 20 7c 7c 20 66 72 61 6d 65 77 6f 72 6b 5f 66 61 LINENO.rm.-f../-.||.framework_fa
60720 69 6c 75 72 65 0a 22 24 7b 4c 5a 49 50 7d 22 20 2d 64 20 2d 6f 20 2e 2f 2d 20 3c 20 22 24 7b 69 ilure."${LZIP}".-d.-o../-.<."${i
60740 6e 5f 6c 7a 7d 22 20 7c 7c 20 74 65 73 74 5f 66 61 69 6c 65 64 20 24 4c 49 4e 45 4e 4f 0a 63 6d n_lz}".||.test_failed.$LINENO.cm
60760 70 20 69 6e 20 2e 2f 2d 20 7c 7c 20 74 65 73 74 5f 66 61 69 6c 65 64 20 24 4c 49 4e 45 4e 4f 0a p.in../-.||.test_failed.$LINENO.
60780 72 6d 20 2d 66 20 2e 2f 2d 20 7c 7c 20 66 72 61 6d 65 77 6f 72 6b 5f 66 61 69 6c 75 72 65 0a 0a rm.-f../-.||.framework_failure..
607a0 63 61 74 20 22 24 7b 69 6e 5f 6c 7a 7d 22 20 3e 20 61 6e 79 6f 74 68 65 72 6e 61 6d 65 20 7c 7c cat."${in_lz}".>.anyothername.||
607c0 20 66 72 61 6d 65 77 6f 72 6b 5f 66 61 69 6c 75 72 65 0a 22 24 7b 4c 5a 49 50 7d 22 20 2d 64 76 .framework_failure."${LZIP}".-dv
607e0 20 2d 20 61 6e 79 6f 74 68 65 72 6e 61 6d 65 20 2d 20 3c 20 22 24 7b 69 6e 5f 6c 7a 7d 22 20 3e .-.anyothername.-.<."${in_lz}".>
60800 20 63 6f 70 79 20 32 3e 20 2f 64 65 76 2f 6e 75 6c 6c 20 7c 7c 0a 09 74 65 73 74 5f 66 61 69 6c .copy.2>./dev/null.||..test_fail
60820 65 64 20 24 4c 49 4e 45 4e 4f 0a 63 6d 70 20 69 6e 20 63 6f 70 79 20 7c 7c 20 74 65 73 74 5f 66 ed.$LINENO.cmp.in.copy.||.test_f
60840 61 69 6c 65 64 20 24 4c 49 4e 45 4e 4f 0a 63 6d 70 20 69 6e 20 61 6e 79 6f 74 68 65 72 6e 61 6d ailed.$LINENO.cmp.in.anyothernam
60860 65 2e 6f 75 74 20 7c 7c 20 74 65 73 74 5f 66 61 69 6c 65 64 20 24 4c 49 4e 45 4e 4f 0a 72 6d 20 e.out.||.test_failed.$LINENO.rm.
60880 2d 66 20 63 6f 70 79 20 61 6e 79 6f 74 68 65 72 6e 61 6d 65 2e 6f 75 74 20 7c 7c 20 66 72 61 6d -f.copy.anyothername.out.||.fram
608a0 65 77 6f 72 6b 5f 66 61 69 6c 75 72 65 0a 0a 22 24 7b 4c 5a 49 50 7d 22 20 2d 6c 71 20 69 6e 20 ework_failure.."${LZIP}".-lq.in.
608c0 22 24 7b 69 6e 5f 6c 7a 7d 22 0a 5b 20 24 3f 20 3d 20 32 20 5d 20 7c 7c 20 74 65 73 74 5f 66 61 "${in_lz}".[.$?.=.2.].||.test_fa
608e0 69 6c 65 64 20 24 4c 49 4e 45 4e 4f 0a 22 24 7b 4c 5a 49 50 7d 22 20 2d 6c 71 20 6e 78 5f 66 69 iled.$LINENO."${LZIP}".-lq.nx_fi
60900 6c 65 2e 6c 7a 20 22 24 7b 69 6e 5f 6c 7a 7d 22 0a 5b 20 24 3f 20 3d 20 31 20 5d 20 7c 7c 20 74 le.lz."${in_lz}".[.$?.=.1.].||.t
60920 65 73 74 5f 66 61 69 6c 65 64 20 24 4c 49 4e 45 4e 4f 0a 22 24 7b 4c 5a 49 50 7d 22 20 2d 74 71 est_failed.$LINENO."${LZIP}".-tq
60940 20 69 6e 20 22 24 7b 69 6e 5f 6c 7a 7d 22 0a 5b 20 24 3f 20 3d 20 32 20 5d 20 7c 7c 20 74 65 73 .in."${in_lz}".[.$?.=.2.].||.tes
60960 74 5f 66 61 69 6c 65 64 20 24 4c 49 4e 45 4e 4f 0a 22 24 7b 4c 5a 49 50 7d 22 20 2d 74 71 20 6e t_failed.$LINENO."${LZIP}".-tq.n
60980 78 5f 66 69 6c 65 2e 6c 7a 20 22 24 7b 69 6e 5f 6c 7a 7d 22 0a 5b 20 24 3f 20 3d 20 31 20 5d 20 x_file.lz."${in_lz}".[.$?.=.1.].
609a0 7c 7c 20 74 65 73 74 5f 66 61 69 6c 65 64 20 24 4c 49 4e 45 4e 4f 0a 22 24 7b 4c 5a 49 50 7d 22 ||.test_failed.$LINENO."${LZIP}"
609c0 20 2d 63 64 71 20 69 6e 20 22 24 7b 69 6e 5f 6c 7a 7d 22 20 3e 20 63 6f 70 79 0a 5b 20 24 3f 20 .-cdq.in."${in_lz}".>.copy.[.$?.
609e0 3d 20 32 20 5d 20 7c 7c 20 74 65 73 74 5f 66 61 69 6c 65 64 20 24 4c 49 4e 45 4e 4f 0a 63 61 74 =.2.].||.test_failed.$LINENO.cat
60a00 20 63 6f 70 79 20 69 6e 20 7c 20 63 6d 70 20 69 6e 20 2d 20 7c 7c 20 74 65 73 74 5f 66 61 69 6c .copy.in.|.cmp.in.-.||.test_fail
60a20 65 64 20 24 4c 49 4e 45 4e 4f 0a 22 24 7b 4c 5a 49 50 7d 22 20 2d 63 64 71 20 6e 78 5f 66 69 6c ed.$LINENO."${LZIP}".-cdq.nx_fil
60a40 65 2e 6c 7a 20 22 24 7b 69 6e 5f 6c 7a 7d 22 20 3e 20 63 6f 70 79 0a 5b 20 24 3f 20 3d 20 31 20 e.lz."${in_lz}".>.copy.[.$?.=.1.
60a60 5d 20 7c 7c 20 74 65 73 74 5f 66 61 69 6c 65 64 20 24 4c 49 4e 45 4e 4f 0a 63 6d 70 20 69 6e 20 ].||.test_failed.$LINENO.cmp.in.
60a80 63 6f 70 79 20 7c 7c 20 74 65 73 74 5f 66 61 69 6c 65 64 20 24 4c 49 4e 45 4e 4f 0a 72 6d 20 2d copy.||.test_failed.$LINENO.rm.-
60aa0 66 20 63 6f 70 79 20 7c 7c 20 66 72 61 6d 65 77 6f 72 6b 5f 66 61 69 6c 75 72 65 0a 63 61 74 20 f.copy.||.framework_failure.cat.
60ac0 22 24 7b 69 6e 5f 6c 7a 7d 22 20 3e 20 63 6f 70 79 2e 6c 7a 20 7c 7c 20 66 72 61 6d 65 77 6f 72 "${in_lz}".>.copy.lz.||.framewor
60ae0 6b 5f 66 61 69 6c 75 72 65 0a 66 6f 72 20 69 20 69 6e 20 31 20 32 20 33 20 34 20 35 20 36 20 37 k_failure.for.i.in.1.2.3.4.5.6.7
60b00 20 3b 20 64 6f 0a 09 70 72 69 6e 74 66 20 22 67 22 20 3e 3e 20 63 6f 70 79 2e 6c 7a 20 7c 7c 20 .;.do..printf."g".>>.copy.lz.||.
60b20 66 72 61 6d 65 77 6f 72 6b 5f 66 61 69 6c 75 72 65 0a 09 22 24 7b 4c 5a 49 50 7d 22 20 2d 61 6c framework_failure.."${LZIP}".-al
60b40 76 76 20 63 6f 70 79 2e 6c 7a 20 22 24 7b 69 6e 5f 6c 7a 7d 22 20 3e 20 2f 64 65 76 2f 6e 75 6c vv.copy.lz."${in_lz}".>./dev/nul
60b60 6c 20 32 3e 26 31 0a 09 5b 20 24 3f 20 3d 20 32 20 5d 20 7c 7c 20 74 65 73 74 5f 66 61 69 6c 65 l.2>&1..[.$?.=.2.].||.test_faile
60b80 64 20 24 4c 49 4e 45 4e 4f 20 24 69 0a 09 22 24 7b 4c 5a 49 50 7d 22 20 2d 61 74 76 76 76 76 20 d.$LINENO.$i.."${LZIP}".-atvvvv.
60ba0 63 6f 70 79 2e 6c 7a 20 22 24 7b 69 6e 5f 6c 7a 7d 22 20 32 3e 20 2f 64 65 76 2f 6e 75 6c 6c 0a copy.lz."${in_lz}".2>./dev/null.
60bc0 09 5b 20 24 3f 20 3d 20 32 20 5d 20 7c 7c 20 74 65 73 74 5f 66 61 69 6c 65 64 20 24 4c 49 4e 45 .[.$?.=.2.].||.test_failed.$LINE
60be0 4e 4f 20 24 69 0a 64 6f 6e 65 0a 22 24 7b 4c 5a 49 50 7d 22 20 2d 64 71 20 69 6e 20 63 6f 70 79 NO.$i.done."${LZIP}".-dq.in.copy
60c00 2e 6c 7a 0a 5b 20 24 3f 20 3d 20 32 20 5d 20 7c 7c 20 74 65 73 74 5f 66 61 69 6c 65 64 20 24 4c .lz.[.$?.=.2.].||.test_failed.$L
60c20 49 4e 45 4e 4f 0a 5b 20 2d 65 20 63 6f 70 79 2e 6c 7a 20 5d 20 7c 7c 20 74 65 73 74 5f 66 61 69 INENO.[.-e.copy.lz.].||.test_fai
60c40 6c 65 64 20 24 4c 49 4e 45 4e 4f 0a 5b 20 21 20 2d 65 20 63 6f 70 79 20 5d 20 7c 7c 20 74 65 73 led.$LINENO.[.!.-e.copy.].||.tes
60c60 74 5f 66 61 69 6c 65 64 20 24 4c 49 4e 45 4e 4f 0a 5b 20 21 20 2d 65 20 69 6e 2e 6f 75 74 20 5d t_failed.$LINENO.[.!.-e.in.out.]
60c80 20 7c 7c 20 74 65 73 74 5f 66 61 69 6c 65 64 20 24 4c 49 4e 45 4e 4f 0a 22 24 7b 4c 5a 49 50 7d .||.test_failed.$LINENO."${LZIP}
60ca0 22 20 2d 64 71 20 6e 78 5f 66 69 6c 65 2e 6c 7a 20 63 6f 70 79 2e 6c 7a 0a 5b 20 24 3f 20 3d 20 ".-dq.nx_file.lz.copy.lz.[.$?.=.
60cc0 31 20 5d 20 7c 7c 20 74 65 73 74 5f 66 61 69 6c 65 64 20 24 4c 49 4e 45 4e 4f 0a 5b 20 21 20 2d 1.].||.test_failed.$LINENO.[.!.-
60ce0 65 20 63 6f 70 79 2e 6c 7a 20 5d 20 7c 7c 20 74 65 73 74 5f 66 61 69 6c 65 64 20 24 4c 49 4e 45 e.copy.lz.].||.test_failed.$LINE
60d00 4e 4f 0a 5b 20 21 20 2d 65 20 6e 78 5f 66 69 6c 65 20 5d 20 7c 7c 20 74 65 73 74 5f 66 61 69 6c NO.[.!.-e.nx_file.].||.test_fail
60d20 65 64 20 24 4c 49 4e 45 4e 4f 0a 63 6d 70 20 69 6e 20 63 6f 70 79 20 7c 7c 20 74 65 73 74 5f 66 ed.$LINENO.cmp.in.copy.||.test_f
60d40 61 69 6c 65 64 20 24 4c 49 4e 45 4e 4f 0a 0a 63 61 74 20 69 6e 20 69 6e 20 3e 20 69 6e 32 20 7c ailed.$LINENO..cat.in.in.>.in2.|
60d60 7c 20 66 72 61 6d 65 77 6f 72 6b 5f 66 61 69 6c 75 72 65 0a 22 24 7b 4c 5a 49 50 7d 22 20 2d 6c |.framework_failure."${LZIP}".-l
60d80 71 20 22 24 7b 69 6e 5f 6c 7a 7d 22 20 22 24 7b 69 6e 5f 6c 7a 7d 22 20 7c 7c 20 74 65 73 74 5f q."${in_lz}"."${in_lz}".||.test_
60da0 66 61 69 6c 65 64 20 24 4c 49 4e 45 4e 4f 0a 22 24 7b 4c 5a 49 50 7d 22 20 2d 74 20 22 24 7b 69 failed.$LINENO."${LZIP}".-t."${i
60dc0 6e 5f 6c 7a 7d 22 20 22 24 7b 69 6e 5f 6c 7a 7d 22 20 7c 7c 20 74 65 73 74 5f 66 61 69 6c 65 64 n_lz}"."${in_lz}".||.test_failed
60de0 20 24 4c 49 4e 45 4e 4f 0a 22 24 7b 4c 5a 49 50 7d 22 20 2d 63 64 20 22 24 7b 69 6e 5f 6c 7a 7d .$LINENO."${LZIP}".-cd."${in_lz}
60e00 22 20 22 24 7b 69 6e 5f 6c 7a 7d 22 20 2d 6f 20 6f 75 74 20 3e 20 63 6f 70 79 32 20 7c 7c 20 74 "."${in_lz}".-o.out.>.copy2.||.t
60e20 65 73 74 5f 66 61 69 6c 65 64 20 24 4c 49 4e 45 4e 4f 0a 5b 20 21 20 2d 65 20 6f 75 74 20 5d 20 est_failed.$LINENO.[.!.-e.out.].
60e40 7c 7c 20 74 65 73 74 5f 66 61 69 6c 65 64 20 24 4c 49 4e 45 4e 4f 09 09 09 23 20 6f 76 65 72 72 ||.test_failed.$LINENO...#.overr
60e60 69 64 65 20 2d 6f 0a 63 6d 70 20 69 6e 32 20 63 6f 70 79 32 20 7c 7c 20 74 65 73 74 5f 66 61 69 ide.-o.cmp.in2.copy2.||.test_fai
60e80 6c 65 64 20 24 4c 49 4e 45 4e 4f 0a 72 6d 20 2d 66 20 63 6f 70 79 32 20 7c 7c 20 66 72 61 6d 65 led.$LINENO.rm.-f.copy2.||.frame
60ea0 77 6f 72 6b 5f 66 61 69 6c 75 72 65 0a 22 24 7b 4c 5a 49 50 7d 22 20 2d 64 20 22 24 7b 69 6e 5f work_failure."${LZIP}".-d."${in_
60ec0 6c 7a 7d 22 20 22 24 7b 69 6e 5f 6c 7a 7d 22 20 2d 6f 20 63 6f 70 79 32 20 7c 7c 20 74 65 73 74 lz}"."${in_lz}".-o.copy2.||.test
60ee0 5f 66 61 69 6c 65 64 20 24 4c 49 4e 45 4e 4f 0a 63 6d 70 20 69 6e 32 20 63 6f 70 79 32 20 7c 7c _failed.$LINENO.cmp.in2.copy2.||
60f00 20 74 65 73 74 5f 66 61 69 6c 65 64 20 24 4c 49 4e 45 4e 4f 0a 72 6d 20 2d 66 20 63 6f 70 79 32 .test_failed.$LINENO.rm.-f.copy2
60f20 20 7c 7c 20 66 72 61 6d 65 77 6f 72 6b 5f 66 61 69 6c 75 72 65 0a 0a 63 61 74 20 22 24 7b 69 6e .||.framework_failure..cat."${in
60f40 5f 6c 7a 7d 22 20 22 24 7b 69 6e 5f 6c 7a 7d 22 20 3e 20 63 6f 70 79 32 2e 6c 7a 20 7c 7c 20 66 _lz}"."${in_lz}".>.copy2.lz.||.f
60f60 72 61 6d 65 77 6f 72 6b 5f 66 61 69 6c 75 72 65 0a 70 72 69 6e 74 66 20 22 5c 6e 67 61 72 62 61 ramework_failure.printf."\ngarba
60f80 67 65 22 20 3e 3e 20 63 6f 70 79 32 2e 6c 7a 20 7c 7c 20 66 72 61 6d 65 77 6f 72 6b 5f 66 61 69 ge".>>.copy2.lz.||.framework_fai
60fa0 6c 75 72 65 0a 22 24 7b 4c 5a 49 50 7d 22 20 2d 74 76 76 76 76 20 63 6f 70 79 32 2e 6c 7a 20 32 lure."${LZIP}".-tvvvv.copy2.lz.2
60fc0 3e 20 2f 64 65 76 2f 6e 75 6c 6c 20 7c 7c 20 74 65 73 74 5f 66 61 69 6c 65 64 20 24 4c 49 4e 45 >./dev/null.||.test_failed.$LINE
60fe0 4e 4f 0a 22 24 7b 4c 5a 49 50 7d 22 20 2d 61 6c 71 20 63 6f 70 79 32 2e 6c 7a 0a 5b 20 24 3f 20 NO."${LZIP}".-alq.copy2.lz.[.$?.
61000 3d 20 32 20 5d 20 7c 7c 20 74 65 73 74 5f 66 61 69 6c 65 64 20 24 4c 49 4e 45 4e 4f 0a 22 24 7b =.2.].||.test_failed.$LINENO."${
61020 4c 5a 49 50 7d 22 20 2d 61 74 71 20 63 6f 70 79 32 2e 6c 7a 0a 5b 20 24 3f 20 3d 20 32 20 5d 20 LZIP}".-atq.copy2.lz.[.$?.=.2.].
61040 7c 7c 20 74 65 73 74 5f 66 61 69 6c 65 64 20 24 4c 49 4e 45 4e 4f 0a 22 24 7b 4c 5a 49 50 7d 22 ||.test_failed.$LINENO."${LZIP}"
61060 20 2d 61 74 71 20 3c 20 63 6f 70 79 32 2e 6c 7a 0a 5b 20 24 3f 20 3d 20 32 20 5d 20 7c 7c 20 74 .-atq.<.copy2.lz.[.$?.=.2.].||.t
61080 65 73 74 5f 66 61 69 6c 65 64 20 24 4c 49 4e 45 4e 4f 0a 22 24 7b 4c 5a 49 50 7d 22 20 2d 61 64 est_failed.$LINENO."${LZIP}".-ad
610a0 6b 71 20 63 6f 70 79 32 2e 6c 7a 0a 5b 20 24 3f 20 3d 20 32 20 5d 20 7c 7c 20 74 65 73 74 5f 66 kq.copy2.lz.[.$?.=.2.].||.test_f
610c0 61 69 6c 65 64 20 24 4c 49 4e 45 4e 4f 0a 5b 20 21 20 2d 65 20 63 6f 70 79 32 20 5d 20 7c 7c 20 ailed.$LINENO.[.!.-e.copy2.].||.
610e0 74 65 73 74 5f 66 61 69 6c 65 64 20 24 4c 49 4e 45 4e 4f 0a 22 24 7b 4c 5a 49 50 7d 22 20 2d 61 test_failed.$LINENO."${LZIP}".-a
61100 64 6b 71 20 2d 6f 20 63 6f 70 79 32 20 3c 20 63 6f 70 79 32 2e 6c 7a 0a 5b 20 24 3f 20 3d 20 32 dkq.-o.copy2.<.copy2.lz.[.$?.=.2
61120 20 5d 20 7c 7c 20 74 65 73 74 5f 66 61 69 6c 65 64 20 24 4c 49 4e 45 4e 4f 0a 5b 20 21 20 2d 65 .].||.test_failed.$LINENO.[.!.-e
61140 20 63 6f 70 79 32 20 5d 20 7c 7c 20 74 65 73 74 5f 66 61 69 6c 65 64 20 24 4c 49 4e 45 4e 4f 0a .copy2.].||.test_failed.$LINENO.
61160 70 72 69 6e 74 66 20 22 74 6f 20 62 65 20 6f 76 65 72 77 72 69 74 74 65 6e 22 20 3e 20 63 6f 70 printf."to.be.overwritten".>.cop
61180 79 32 20 7c 7c 20 66 72 61 6d 65 77 6f 72 6b 5f 66 61 69 6c 75 72 65 0a 22 24 7b 4c 5a 49 50 7d y2.||.framework_failure."${LZIP}
611a0 22 20 2d 64 66 20 63 6f 70 79 32 2e 6c 7a 20 7c 7c 20 74 65 73 74 5f 66 61 69 6c 65 64 20 24 4c ".-df.copy2.lz.||.test_failed.$L
611c0 49 4e 45 4e 4f 0a 63 6d 70 20 69 6e 32 20 63 6f 70 79 32 20 7c 7c 20 74 65 73 74 5f 66 61 69 6c INENO.cmp.in2.copy2.||.test_fail
611e0 65 64 20 24 4c 49 4e 45 4e 4f 0a 72 6d 20 2d 66 20 63 6f 70 79 32 20 7c 7c 20 66 72 61 6d 65 77 ed.$LINENO.rm.-f.copy2.||.framew
61200 6f 72 6b 5f 66 61 69 6c 75 72 65 0a 0a 70 72 69 6e 74 66 20 22 5c 6e 74 65 73 74 69 6e 67 20 20 ork_failure..printf."\ntesting..
61220 20 63 6f 6d 70 72 65 73 73 69 6f 6e 2e 2e 2e 22 0a 0a 22 24 7b 4c 5a 49 50 7d 22 20 2d 63 20 2d .compression...".."${LZIP}".-c.-
61240 30 20 69 6e 20 69 6e 20 69 6e 20 2d 53 31 30 30 6b 20 2d 6f 20 6f 75 74 33 2e 6c 7a 20 3e 20 63 0.in.in.in.-S100k.-o.out3.lz.>.c
61260 6f 70 79 32 2e 6c 7a 20 7c 7c 20 74 65 73 74 5f 66 61 69 6c 65 64 20 24 4c 49 4e 45 4e 4f 0a 5b opy2.lz.||.test_failed.$LINENO.[
61280 20 21 20 2d 65 20 6f 75 74 33 2e 6c 7a 20 5d 20 7c 7c 20 74 65 73 74 5f 66 61 69 6c 65 64 20 24 .!.-e.out3.lz.].||.test_failed.$
612a0 4c 49 4e 45 4e 4f 09 09 09 23 20 6f 76 65 72 72 69 64 65 20 2d 6f 20 61 6e 64 20 2d 53 0a 22 24 LINENO...#.override.-o.and.-S."$
612c0 7b 4c 5a 49 50 7d 22 20 2d 30 66 20 69 6e 20 69 6e 20 2d 2d 6f 75 74 70 75 74 3d 63 6f 70 79 32 {LZIP}".-0f.in.in.--output=copy2
612e0 2e 6c 7a 20 7c 7c 20 74 65 73 74 5f 66 61 69 6c 65 64 20 24 4c 49 4e 45 4e 4f 0a 22 24 7b 4c 5a .lz.||.test_failed.$LINENO."${LZ
61300 49 50 7d 22 20 2d 64 20 63 6f 70 79 32 2e 6c 7a 20 2d 6f 20 6f 75 74 32 20 7c 7c 20 74 65 73 74 IP}".-d.copy2.lz.-o.out2.||.test
61320 5f 66 61 69 6c 65 64 20 24 4c 49 4e 45 4e 4f 0a 63 6d 70 20 69 6e 32 20 6f 75 74 32 20 7c 7c 20 _failed.$LINENO.cmp.in2.out2.||.
61340 74 65 73 74 5f 66 61 69 6c 65 64 20 24 4c 49 4e 45 4e 4f 0a 72 6d 20 2d 66 20 69 6e 32 20 6f 75 test_failed.$LINENO.rm.-f.in2.ou
61360 74 32 20 63 6f 70 79 32 2e 6c 7a 20 7c 7c 20 66 72 61 6d 65 77 6f 72 6b 5f 66 61 69 6c 75 72 65 t2.copy2.lz.||.framework_failure
61380 0a 0a 22 24 7b 4c 5a 49 50 7d 22 20 2d 63 66 20 22 24 7b 69 6e 5f 6c 7a 7d 22 20 3e 20 6f 75 74 .."${LZIP}".-cf."${in_lz}".>.out
613a0 20 32 3e 20 2f 64 65 76 2f 6e 75 6c 6c 09 23 20 2f 64 65 76 2f 6e 75 6c 6c 20 69 73 20 61 20 74 .2>./dev/null.#./dev/null.is.a.t
613c0 74 79 20 6f 6e 20 4f 53 2f 32 0a 5b 20 24 3f 20 3d 20 31 20 5d 20 7c 7c 20 74 65 73 74 5f 66 61 ty.on.OS/2.[.$?.=.1.].||.test_fa
613e0 69 6c 65 64 20 24 4c 49 4e 45 4e 4f 0a 22 24 7b 4c 5a 49 50 7d 22 20 2d 46 76 76 6d 33 36 20 2d iled.$LINENO."${LZIP}".-Fvvm36.-
61400 6f 20 2d 20 22 24 7b 69 6e 5f 6c 7a 7d 22 20 3e 20 6f 75 74 20 32 3e 20 2f 64 65 76 2f 6e 75 6c o.-."${in_lz}".>.out.2>./dev/nul
61420 6c 20 7c 7c 20 74 65 73 74 5f 66 61 69 6c 65 64 20 24 4c 49 4e 45 4e 4f 0a 22 24 7b 4c 5a 49 50 l.||.test_failed.$LINENO."${LZIP
61440 7d 22 20 2d 63 64 20 6f 75 74 20 7c 20 22 24 7b 4c 5a 49 50 7d 22 20 2d 64 20 3e 20 63 6f 70 79 }".-cd.out.|."${LZIP}".-d.>.copy
61460 20 7c 7c 20 74 65 73 74 5f 66 61 69 6c 65 64 20 24 4c 49 4e 45 4e 4f 0a 63 6d 70 20 69 6e 20 63 .||.test_failed.$LINENO.cmp.in.c
61480 6f 70 79 20 7c 7c 20 74 65 73 74 5f 66 61 69 6c 65 64 20 24 4c 49 4e 45 4e 4f 0a 0a 22 24 7b 4c opy.||.test_failed.$LINENO.."${L
614a0 5a 49 50 7d 22 20 2d 30 20 2d 6f 20 2e 2f 2d 20 69 6e 20 7c 7c 20 74 65 73 74 5f 66 61 69 6c 65 ZIP}".-0.-o../-.in.||.test_faile
614c0 64 20 24 4c 49 4e 45 4e 4f 0a 22 24 7b 4c 5a 49 50 7d 22 20 2d 63 64 20 2e 2f 2d 20 7c 20 63 6d d.$LINENO."${LZIP}".-cd../-.|.cm
614e0 70 20 69 6e 20 2d 20 7c 7c 20 74 65 73 74 5f 66 61 69 6c 65 64 20 24 4c 49 4e 45 4e 4f 0a 72 6d p.in.-.||.test_failed.$LINENO.rm
61500 20 2d 66 20 2e 2f 2d 20 7c 7c 20 66 72 61 6d 65 77 6f 72 6b 5f 66 61 69 6c 75 72 65 0a 22 24 7b .-f../-.||.framework_failure."${
61520 4c 5a 49 50 7d 22 20 2d 30 20 2d 6f 20 2e 2f 2d 20 3c 20 69 6e 20 7c 7c 20 74 65 73 74 5f 66 61 LZIP}".-0.-o../-.<.in.||.test_fa
61540 69 6c 65 64 20 24 4c 49 4e 45 4e 4f 09 09 09 23 20 61 64 64 20 2e 6c 7a 0a 5b 20 21 20 2d 65 20 iled.$LINENO...#.add..lz.[.!.-e.
61560 2e 2f 2d 20 5d 20 7c 7c 20 74 65 73 74 5f 66 61 69 6c 65 64 20 24 4c 49 4e 45 4e 4f 0a 22 24 7b ./-.].||.test_failed.$LINENO."${
61580 4c 5a 49 50 7d 22 20 2d 63 64 20 2d 2d 20 2d 2e 6c 7a 20 7c 20 63 6d 70 20 69 6e 20 2d 20 7c 7c LZIP}".-cd.--.-.lz.|.cmp.in.-.||
615a0 20 74 65 73 74 5f 66 61 69 6c 65 64 20 24 4c 49 4e 45 4e 4f 0a 72 6d 20 2d 66 20 2e 2f 2d 2e 6c .test_failed.$LINENO.rm.-f../-.l
615c0 7a 20 7c 7c 20 66 72 61 6d 65 77 6f 72 6b 5f 66 61 69 6c 75 72 65 0a 0a 66 6f 72 20 69 20 69 6e z.||.framework_failure..for.i.in
615e0 20 73 34 4b 69 20 30 20 31 20 32 20 33 20 34 20 35 20 36 20 37 20 38 20 39 20 3b 20 64 6f 0a 09 .s4Ki.0.1.2.3.4.5.6.7.8.9.;.do..
61600 22 24 7b 4c 5a 49 50 7d 22 20 2d 6b 20 2d 24 69 20 69 6e 20 7c 7c 20 74 65 73 74 5f 66 61 69 6c "${LZIP}".-k.-$i.in.||.test_fail
61620 65 64 20 24 4c 49 4e 45 4e 4f 20 24 69 0a 09 6d 76 20 2d 66 20 69 6e 2e 6c 7a 20 63 6f 70 79 2e ed.$LINENO.$i..mv.-f.in.lz.copy.
61640 6c 7a 20 7c 7c 20 74 65 73 74 5f 66 61 69 6c 65 64 20 24 4c 49 4e 45 4e 4f 20 24 69 0a 09 70 72 lz.||.test_failed.$LINENO.$i..pr
61660 69 6e 74 66 20 22 67 61 72 62 61 67 65 22 20 3e 3e 20 63 6f 70 79 2e 6c 7a 20 7c 7c 20 66 72 61 intf."garbage".>>.copy.lz.||.fra
61680 6d 65 77 6f 72 6b 5f 66 61 69 6c 75 72 65 0a 09 22 24 7b 4c 5a 49 50 7d 22 20 2d 64 66 20 63 6f mework_failure.."${LZIP}".-df.co
616a0 70 79 2e 6c 7a 20 7c 7c 20 74 65 73 74 5f 66 61 69 6c 65 64 20 24 4c 49 4e 45 4e 4f 20 24 69 0a py.lz.||.test_failed.$LINENO.$i.
616c0 09 63 6d 70 20 69 6e 20 63 6f 70 79 20 7c 7c 20 74 65 73 74 5f 66 61 69 6c 65 64 20 24 4c 49 4e .cmp.in.copy.||.test_failed.$LIN
616e0 45 4e 4f 20 24 69 0a 0a 09 22 24 7b 4c 5a 49 50 7d 22 20 2d 24 69 20 69 6e 20 2d 63 20 3e 20 6f ENO.$i..."${LZIP}".-$i.in.-c.>.o
61700 75 74 20 7c 7c 20 74 65 73 74 5f 66 61 69 6c 65 64 20 24 4c 49 4e 45 4e 4f 20 24 69 0a 09 22 24 ut.||.test_failed.$LINENO.$i.."$
61720 7b 4c 5a 49 50 7d 22 20 2d 24 69 20 69 6e 20 2d 6f 20 6f 5f 6f 75 74 20 7c 7c 20 74 65 73 74 5f {LZIP}".-$i.in.-o.o_out.||.test_
61740 66 61 69 6c 65 64 20 24 4c 49 4e 45 4e 4f 20 24 69 09 23 20 64 6f 6e 27 74 20 61 64 64 20 2e 6c failed.$LINENO.$i.#.don't.add..l
61760 7a 0a 09 5b 20 21 20 2d 65 20 6f 5f 6f 75 74 2e 6c 7a 20 5d 20 7c 7c 20 74 65 73 74 5f 66 61 69 z..[.!.-e.o_out.lz.].||.test_fai
61780 6c 65 64 20 24 4c 49 4e 45 4e 4f 0a 09 63 6d 70 20 6f 75 74 20 6f 5f 6f 75 74 20 7c 7c 20 74 65 led.$LINENO..cmp.out.o_out.||.te
617a0 73 74 5f 66 61 69 6c 65 64 20 24 4c 49 4e 45 4e 4f 20 24 69 0a 09 72 6d 20 2d 66 20 6f 5f 6f 75 st_failed.$LINENO.$i..rm.-f.o_ou
617c0 74 20 7c 7c 20 66 72 61 6d 65 77 6f 72 6b 5f 66 61 69 6c 75 72 65 0a 09 70 72 69 6e 74 66 20 22 t.||.framework_failure..printf."
617e0 67 22 20 3e 3e 20 6f 75 74 20 7c 7c 20 66 72 61 6d 65 77 6f 72 6b 5f 66 61 69 6c 75 72 65 0a 09 g".>>.out.||.framework_failure..
61800 22 24 7b 4c 5a 49 50 7d 22 20 2d 63 64 20 6f 75 74 20 3e 20 63 6f 70 79 20 7c 7c 20 74 65 73 74 "${LZIP}".-cd.out.>.copy.||.test
61820 5f 66 61 69 6c 65 64 20 24 4c 49 4e 45 4e 4f 20 24 69 0a 09 63 6d 70 20 69 6e 20 63 6f 70 79 20 _failed.$LINENO.$i..cmp.in.copy.
61840 7c 7c 20 74 65 73 74 5f 66 61 69 6c 65 64 20 24 4c 49 4e 45 4e 4f 20 24 69 0a 0a 09 22 24 7b 4c ||.test_failed.$LINENO.$i..."${L
61860 5a 49 50 7d 22 20 2d 24 69 20 3c 20 69 6e 20 3e 20 6f 75 74 20 7c 7c 20 74 65 73 74 5f 66 61 69 ZIP}".-$i.<.in.>.out.||.test_fai
61880 6c 65 64 20 24 4c 49 4e 45 4e 4f 20 24 69 0a 09 22 24 7b 4c 5a 49 50 7d 22 20 2d 64 20 3c 20 6f led.$LINENO.$i.."${LZIP}".-d.<.o
618a0 75 74 20 3e 20 63 6f 70 79 20 7c 7c 20 74 65 73 74 5f 66 61 69 6c 65 64 20 24 4c 49 4e 45 4e 4f ut.>.copy.||.test_failed.$LINENO
618c0 20 24 69 0a 09 63 6d 70 20 69 6e 20 63 6f 70 79 20 7c 7c 20 74 65 73 74 5f 66 61 69 6c 65 64 20 .$i..cmp.in.copy.||.test_failed.
618e0 24 4c 49 4e 45 4e 4f 20 24 69 0a 0a 09 72 6d 20 2d 66 20 6f 75 74 20 7c 7c 20 66 72 61 6d 65 77 $LINENO.$i...rm.-f.out.||.framew
61900 6f 72 6b 5f 66 61 69 6c 75 72 65 0a 09 70 72 69 6e 74 66 20 22 74 6f 20 62 65 20 6f 76 65 72 77 ork_failure..printf."to.be.overw
61920 72 69 74 74 65 6e 22 20 3e 20 6f 75 74 2e 6c 7a 20 7c 7c 20 66 72 61 6d 65 77 6f 72 6b 5f 66 61 ritten".>.out.lz.||.framework_fa
61940 69 6c 75 72 65 0a 09 22 24 7b 4c 5a 49 50 7d 22 20 2d 66 20 2d 24 69 20 2d 6f 20 6f 75 74 20 3c ilure.."${LZIP}".-f.-$i.-o.out.<
61960 20 69 6e 20 7c 7c 20 74 65 73 74 5f 66 61 69 6c 65 64 20 24 4c 49 4e 45 4e 4f 20 24 69 09 23 20 .in.||.test_failed.$LINENO.$i.#.
61980 61 64 64 20 2e 6c 7a 0a 09 5b 20 21 20 2d 65 20 6f 75 74 20 5d 20 7c 7c 20 74 65 73 74 5f 66 61 add..lz..[.!.-e.out.].||.test_fa
619a0 69 6c 65 64 20 24 4c 49 4e 45 4e 4f 0a 09 22 24 7b 4c 5a 49 50 7d 22 20 2d 64 66 20 2d 6f 20 63 iled.$LINENO.."${LZIP}".-df.-o.c
619c0 6f 70 79 20 3c 20 6f 75 74 2e 6c 7a 20 7c 7c 20 74 65 73 74 5f 66 61 69 6c 65 64 20 24 4c 49 4e opy.<.out.lz.||.test_failed.$LIN
619e0 45 4e 4f 20 24 69 0a 09 63 6d 70 20 69 6e 20 63 6f 70 79 20 7c 7c 20 74 65 73 74 5f 66 61 69 6c ENO.$i..cmp.in.copy.||.test_fail
61a00 65 64 20 24 4c 49 4e 45 4e 4f 20 24 69 0a 64 6f 6e 65 0a 72 6d 20 2d 66 20 6f 75 74 20 6f 75 74 ed.$LINENO.$i.done.rm.-f.out.out
61a20 2e 6c 7a 20 7c 7c 20 66 72 61 6d 65 77 6f 72 6b 5f 66 61 69 6c 75 72 65 0a 0a 63 61 74 20 69 6e .lz.||.framework_failure..cat.in
61a40 20 69 6e 20 69 6e 20 69 6e 20 69 6e 20 69 6e 20 69 6e 20 69 6e 20 3e 20 69 6e 38 20 7c 7c 20 66 .in.in.in.in.in.in.in.>.in8.||.f
61a60 72 61 6d 65 77 6f 72 6b 5f 66 61 69 6c 75 72 65 0a 22 24 7b 4c 5a 49 50 7d 22 20 2d 31 73 31 32 ramework_failure."${LZIP}".-1s12
61a80 20 2d 53 31 30 30 6b 20 69 6e 38 20 7c 7c 20 74 65 73 74 5f 66 61 69 6c 65 64 20 24 4c 49 4e 45 .-S100k.in8.||.test_failed.$LINE
61aa0 4e 4f 0a 22 24 7b 4c 5a 49 50 7d 22 20 2d 74 20 69 6e 38 30 30 30 30 31 2e 6c 7a 20 69 6e 38 30 NO."${LZIP}".-t.in800001.lz.in80
61ac0 30 30 30 32 2e 6c 7a 20 7c 7c 20 74 65 73 74 5f 66 61 69 6c 65 64 20 24 4c 49 4e 45 4e 4f 0a 22 0002.lz.||.test_failed.$LINENO."
61ae0 24 7b 4c 5a 49 50 7d 22 20 2d 63 64 20 69 6e 38 30 30 30 30 31 2e 6c 7a 20 69 6e 38 30 30 30 30 ${LZIP}".-cd.in800001.lz.in80000
61b00 32 2e 6c 7a 20 7c 20 63 6d 70 20 69 6e 38 20 2d 20 7c 7c 20 74 65 73 74 5f 66 61 69 6c 65 64 20 2.lz.|.cmp.in8.-.||.test_failed.
61b20 24 4c 49 4e 45 4e 4f 0a 5b 20 21 20 2d 65 20 69 6e 38 30 30 30 30 33 2e 6c 7a 20 5d 20 7c 7c 20 $LINENO.[.!.-e.in800003.lz.].||.
61b40 74 65 73 74 5f 66 61 69 6c 65 64 20 24 4c 49 4e 45 4e 4f 0a 72 6d 20 2d 66 20 69 6e 38 30 30 30 test_failed.$LINENO.rm.-f.in8000
61b60 30 31 2e 6c 7a 20 69 6e 38 30 30 30 30 32 2e 6c 7a 20 7c 7c 20 66 72 61 6d 65 77 6f 72 6b 5f 66 01.lz.in800002.lz.||.framework_f
61b80 61 69 6c 75 72 65 0a 22 24 7b 4c 5a 49 50 7d 22 20 2d 31 73 31 32 20 2d 53 31 30 30 6b 20 2d 6f ailure."${LZIP}".-1s12.-S100k.-o
61ba0 20 6f 75 74 2e 6c 7a 20 69 6e 38 20 7c 7c 20 74 65 73 74 5f 66 61 69 6c 65 64 20 24 4c 49 4e 45 .out.lz.in8.||.test_failed.$LINE
61bc0 4e 4f 0a 23 20 69 67 6e 6f 72 65 20 2d 53 0a 22 24 7b 4c 5a 49 50 7d 22 20 2d 64 20 6f 75 74 2e NO.#.ignore.-S."${LZIP}".-d.out.
61be0 6c 7a 30 30 30 30 31 2e 6c 7a 20 6f 75 74 2e 6c 7a 30 30 30 30 32 2e 6c 7a 20 2d 53 31 30 30 6b lz00001.lz.out.lz00002.lz.-S100k
61c00 20 2d 6f 20 6f 75 74 20 7c 7c 20 74 65 73 74 5f 66 61 69 6c 65 64 20 24 4c 49 4e 45 4e 4f 0a 63 .-o.out.||.test_failed.$LINENO.c
61c20 6d 70 20 69 6e 38 20 6f 75 74 20 7c 7c 20 74 65 73 74 5f 66 61 69 6c 65 64 20 24 4c 49 4e 45 4e mp.in8.out.||.test_failed.$LINEN
61c40 4f 0a 22 24 7b 4c 5a 49 50 7d 22 20 2d 74 20 6f 75 74 2e 6c 7a 30 30 30 30 31 2e 6c 7a 20 6f 75 O."${LZIP}".-t.out.lz00001.lz.ou
61c60 74 2e 6c 7a 30 30 30 30 32 2e 6c 7a 20 7c 7c 20 74 65 73 74 5f 66 61 69 6c 65 64 20 24 4c 49 4e t.lz00002.lz.||.test_failed.$LIN
61c80 45 4e 4f 0a 5b 20 21 20 2d 65 20 6f 75 74 2e 6c 7a 30 30 30 30 33 2e 6c 7a 20 5d 20 7c 7c 20 74 ENO.[.!.-e.out.lz00003.lz.].||.t
61ca0 65 73 74 5f 66 61 69 6c 65 64 20 24 4c 49 4e 45 4e 4f 0a 72 6d 20 2d 66 20 6f 75 74 20 6f 75 74 est_failed.$LINENO.rm.-f.out.out
61cc0 2e 6c 7a 30 30 30 30 31 2e 6c 7a 20 6f 75 74 2e 6c 7a 30 30 30 30 32 2e 6c 7a 20 7c 7c 20 66 72 .lz00001.lz.out.lz00002.lz.||.fr
61ce0 61 6d 65 77 6f 72 6b 5f 66 61 69 6c 75 72 65 0a 22 24 7b 4c 5a 49 50 7d 22 20 2d 31 6b 73 34 4b amework_failure."${LZIP}".-1ks4K
61d00 69 20 2d 62 31 30 30 30 30 30 20 69 6e 38 20 7c 7c 20 74 65 73 74 5f 66 61 69 6c 65 64 20 24 4c i.-b100000.in8.||.test_failed.$L
61d20 49 4e 45 4e 4f 0a 22 24 7b 4c 5a 49 50 7d 22 20 2d 74 20 69 6e 38 2e 6c 7a 20 7c 7c 20 74 65 73 INENO."${LZIP}".-t.in8.lz.||.tes
61d40 74 5f 66 61 69 6c 65 64 20 24 4c 49 4e 45 4e 4f 0a 22 24 7b 4c 5a 49 50 7d 22 20 2d 63 64 20 69 t_failed.$LINENO."${LZIP}".-cd.i
61d60 6e 38 2e 6c 7a 20 2d 6f 20 6f 75 74 20 7c 20 63 6d 70 20 69 6e 38 20 2d 20 7c 7c 20 74 65 73 74 n8.lz.-o.out.|.cmp.in8.-.||.test
61d80 5f 66 61 69 6c 65 64 20 24 4c 49 4e 45 4e 4f 09 23 20 6f 76 65 72 72 69 64 65 20 2d 6f 0a 5b 20 _failed.$LINENO.#.override.-o.[.
61da0 21 20 2d 65 20 6f 75 74 20 5d 20 7c 7c 20 74 65 73 74 5f 66 61 69 6c 65 64 20 24 4c 49 4e 45 4e !.-e.out.].||.test_failed.$LINEN
61dc0 4f 0a 72 6d 20 2d 66 20 69 6e 38 20 7c 7c 20 66 72 61 6d 65 77 6f 72 6b 5f 66 61 69 6c 75 72 65 O.rm.-f.in8.||.framework_failure
61de0 0a 22 24 7b 4c 5a 49 50 7d 22 20 2d 30 20 2d 53 31 30 30 6b 20 2d 6f 20 6f 75 74 20 3c 20 69 6e ."${LZIP}".-0.-S100k.-o.out.<.in
61e00 38 2e 6c 7a 20 7c 7c 20 74 65 73 74 5f 66 61 69 6c 65 64 20 24 4c 49 4e 45 4e 4f 0a 22 24 7b 4c 8.lz.||.test_failed.$LINENO."${L
61e20 5a 49 50 7d 22 20 2d 74 20 6f 75 74 30 30 30 30 31 2e 6c 7a 20 6f 75 74 30 30 30 30 32 2e 6c 7a ZIP}".-t.out00001.lz.out00002.lz
61e40 20 7c 7c 20 74 65 73 74 5f 66 61 69 6c 65 64 20 24 4c 49 4e 45 4e 4f 0a 22 24 7b 4c 5a 49 50 7d .||.test_failed.$LINENO."${LZIP}
61e60 22 20 2d 63 64 20 6f 75 74 30 30 30 30 31 2e 6c 7a 20 6f 75 74 30 30 30 30 32 2e 6c 7a 20 7c 20 ".-cd.out00001.lz.out00002.lz.|.
61e80 63 6d 70 20 69 6e 38 2e 6c 7a 20 2d 20 7c 7c 20 74 65 73 74 5f 66 61 69 6c 65 64 20 24 4c 49 4e cmp.in8.lz.-.||.test_failed.$LIN
61ea0 45 4e 4f 0a 5b 20 21 20 2d 65 20 6f 75 74 30 30 30 30 33 2e 6c 7a 20 5d 20 7c 7c 20 74 65 73 74 ENO.[.!.-e.out00003.lz.].||.test
61ec0 5f 66 61 69 6c 65 64 20 24 4c 49 4e 45 4e 4f 0a 72 6d 20 2d 66 20 6f 75 74 30 30 30 30 31 2e 6c _failed.$LINENO.rm.-f.out00001.l
61ee0 7a 20 7c 7c 20 66 72 61 6d 65 77 6f 72 6b 5f 66 61 69 6c 75 72 65 0a 22 24 7b 4c 5a 49 50 7d 22 z.||.framework_failure."${LZIP}"
61f00 20 2d 31 20 2d 53 31 30 30 6b 20 2d 6f 20 6f 75 74 20 3c 20 69 6e 38 2e 6c 7a 20 7c 7c 20 74 65 .-1.-S100k.-o.out.<.in8.lz.||.te
61f20 73 74 5f 66 61 69 6c 65 64 20 24 4c 49 4e 45 4e 4f 0a 22 24 7b 4c 5a 49 50 7d 22 20 2d 74 20 6f st_failed.$LINENO."${LZIP}".-t.o
61f40 75 74 30 30 30 30 31 2e 6c 7a 20 6f 75 74 30 30 30 30 32 2e 6c 7a 20 7c 7c 20 74 65 73 74 5f 66 ut00001.lz.out00002.lz.||.test_f
61f60 61 69 6c 65 64 20 24 4c 49 4e 45 4e 4f 0a 22 24 7b 4c 5a 49 50 7d 22 20 2d 63 64 20 6f 75 74 30 ailed.$LINENO."${LZIP}".-cd.out0
61f80 30 30 30 31 2e 6c 7a 20 6f 75 74 30 30 30 30 32 2e 6c 7a 20 7c 20 63 6d 70 20 69 6e 38 2e 6c 7a 0001.lz.out00002.lz.|.cmp.in8.lz
61fa0 20 2d 20 7c 7c 20 74 65 73 74 5f 66 61 69 6c 65 64 20 24 4c 49 4e 45 4e 4f 0a 5b 20 21 20 2d 65 .-.||.test_failed.$LINENO.[.!.-e
61fc0 20 6f 75 74 30 30 30 30 33 2e 6c 7a 20 5d 20 7c 7c 20 74 65 73 74 5f 66 61 69 6c 65 64 20 24 4c .out00003.lz.].||.test_failed.$L
61fe0 49 4e 45 4e 4f 0a 72 6d 20 2d 66 20 6f 75 74 30 30 30 30 31 2e 6c 7a 20 6f 75 74 30 30 30 30 32 INENO.rm.-f.out00001.lz.out00002
62000 2e 6c 7a 20 7c 7c 20 66 72 61 6d 65 77 6f 72 6b 5f 66 61 69 6c 75 72 65 0a 22 24 7b 4c 5a 49 50 .lz.||.framework_failure."${LZIP
62020 7d 22 20 2d 30 20 2d 46 20 2d 53 31 30 30 6b 20 69 6e 38 2e 6c 7a 20 7c 7c 20 74 65 73 74 5f 66 }".-0.-F.-S100k.in8.lz.||.test_f
62040 61 69 6c 65 64 20 24 4c 49 4e 45 4e 4f 0a 22 24 7b 4c 5a 49 50 7d 22 20 2d 74 20 69 6e 38 2e 6c ailed.$LINENO."${LZIP}".-t.in8.l
62060 7a 30 30 30 30 31 2e 6c 7a 20 69 6e 38 2e 6c 7a 30 30 30 30 32 2e 6c 7a 20 7c 7c 20 74 65 73 74 z00001.lz.in8.lz00002.lz.||.test
62080 5f 66 61 69 6c 65 64 20 24 4c 49 4e 45 4e 4f 0a 22 24 7b 4c 5a 49 50 7d 22 20 2d 63 64 20 69 6e _failed.$LINENO."${LZIP}".-cd.in
620a0 38 2e 6c 7a 30 30 30 30 31 2e 6c 7a 20 69 6e 38 2e 6c 7a 30 30 30 30 32 2e 6c 7a 20 7c 20 63 6d 8.lz00001.lz.in8.lz00002.lz.|.cm
620c0 70 20 69 6e 38 2e 6c 7a 20 2d 20 7c 7c 20 74 65 73 74 5f 66 61 69 6c 65 64 20 24 4c 49 4e 45 4e p.in8.lz.-.||.test_failed.$LINEN
620e0 4f 0a 5b 20 21 20 2d 65 20 69 6e 38 2e 6c 7a 30 30 30 30 33 2e 6c 7a 20 5d 20 7c 7c 20 74 65 73 O.[.!.-e.in8.lz00003.lz.].||.tes
62100 74 5f 66 61 69 6c 65 64 20 24 4c 49 4e 45 4e 4f 0a 72 6d 20 2d 66 20 69 6e 38 2e 6c 7a 30 30 30 t_failed.$LINENO.rm.-f.in8.lz000
62120 30 31 2e 6c 7a 20 69 6e 38 2e 6c 7a 30 30 30 30 32 2e 6c 7a 20 7c 7c 20 66 72 61 6d 65 77 6f 72 01.lz.in8.lz00002.lz.||.framewor
62140 6b 5f 66 61 69 6c 75 72 65 0a 22 24 7b 4c 5a 49 50 7d 22 20 2d 30 6b 46 20 2d 62 31 30 30 6b 20 k_failure."${LZIP}".-0kF.-b100k.
62160 69 6e 38 2e 6c 7a 20 7c 7c 20 74 65 73 74 5f 66 61 69 6c 65 64 20 24 4c 49 4e 45 4e 4f 0a 22 24 in8.lz.||.test_failed.$LINENO."$
62180 7b 4c 5a 49 50 7d 22 20 2d 74 20 69 6e 38 2e 6c 7a 2e 6c 7a 20 7c 7c 20 74 65 73 74 5f 66 61 69 {LZIP}".-t.in8.lz.lz.||.test_fai
621a0 6c 65 64 20 24 4c 49 4e 45 4e 4f 0a 22 24 7b 4c 5a 49 50 7d 22 20 2d 63 64 20 69 6e 38 2e 6c 7a led.$LINENO."${LZIP}".-cd.in8.lz
621c0 2e 6c 7a 20 7c 20 63 6d 70 20 69 6e 38 2e 6c 7a 20 2d 20 7c 7c 20 74 65 73 74 5f 66 61 69 6c 65 .lz.|.cmp.in8.lz.-.||.test_faile
621e0 64 20 24 4c 49 4e 45 4e 4f 0a 72 6d 20 2d 66 20 69 6e 38 2e 6c 7a 20 69 6e 38 2e 6c 7a 2e 6c 7a d.$LINENO.rm.-f.in8.lz.in8.lz.lz
62200 20 7c 7c 20 66 72 61 6d 65 77 6f 72 6b 5f 66 61 69 6c 75 72 65 0a 0a 70 72 69 6e 74 66 20 22 5c .||.framework_failure..printf."\
62220 6e 74 65 73 74 69 6e 67 20 62 61 64 20 69 6e 70 75 74 2e 2e 2e 22 0a 0a 68 65 61 64 65 72 73 3d ntesting.bad.input..."..headers=
62240 27 4c 5a 49 70 20 4c 5a 69 50 20 4c 5a 69 70 20 4c 7a 49 50 20 4c 7a 49 70 20 4c 7a 69 50 20 6c 'LZIp.LZiP.LZip.LzIP.LzIp.LziP.l
62260 5a 49 50 20 6c 5a 49 70 20 6c 5a 69 50 20 6c 7a 49 50 27 0a 62 6f 64 79 3d 27 5c 30 30 31 5c 30 ZIP.lZIp.lZiP.lzIP'.body='\001\0
62280 31 34 5c 30 30 30 5c 32 30 33 5c 33 37 37 5c 33 37 33 5c 33 37 37 5c 33 37 37 5c 33 30 30 5c 30 14\000\203\377\373\377\377\300\0
622a0 30 30 5c 30 30 30 5c 30 30 30 5c 30 30 30 5c 30 30 30 5c 30 30 30 5c 30 30 30 5c 30 30 30 5c 30 00\000\000\000\000\000\000\000\0
622c0 30 30 5c 30 30 30 5c 30 30 30 5c 30 30 30 5c 30 30 30 5c 30 30 30 5c 30 30 30 24 5c 30 30 30 5c 00\000\000\000\000\000\000$\000\
622e0 30 30 30 5c 30 30 30 5c 30 30 30 5c 30 30 30 5c 30 30 30 5c 30 30 30 27 0a 63 61 74 20 22 24 7b 000\000\000\000\000\000'.cat."${
62300 69 6e 5f 6c 7a 7d 22 20 3e 20 69 6e 74 2e 6c 7a 0a 70 72 69 6e 74 66 20 22 4c 5a 49 50 24 7b 62 in_lz}".>.int.lz.printf."LZIP${b
62320 6f 64 79 7d 22 20 3e 3e 20 69 6e 74 2e 6c 7a 0a 69 66 20 22 24 7b 4c 5a 49 50 7d 22 20 2d 74 71 ody}".>>.int.lz.if."${LZIP}".-tq
62340 20 69 6e 74 2e 6c 7a 20 3b 20 74 68 65 6e 0a 09 66 6f 72 20 68 65 61 64 65 72 20 69 6e 20 24 7b .int.lz.;.then..for.header.in.${
62360 68 65 61 64 65 72 73 7d 20 3b 20 64 6f 0a 09 09 70 72 69 6e 74 66 20 22 24 7b 68 65 61 64 65 72 headers}.;.do...printf."${header
62380 7d 24 7b 62 6f 64 79 7d 22 20 3e 20 69 6e 74 2e 6c 7a 09 23 20 66 69 72 73 74 20 6d 65 6d 62 65 }${body}".>.int.lz.#.first.membe
623a0 72 0a 09 09 22 24 7b 4c 5a 49 50 7d 22 20 2d 6c 71 20 69 6e 74 2e 6c 7a 0a 09 09 5b 20 24 3f 20 r..."${LZIP}".-lq.int.lz...[.$?.
623c0 3d 20 32 20 5d 20 7c 7c 20 74 65 73 74 5f 66 61 69 6c 65 64 20 24 4c 49 4e 45 4e 4f 20 24 7b 68 =.2.].||.test_failed.$LINENO.${h
623e0 65 61 64 65 72 7d 0a 09 09 22 24 7b 4c 5a 49 50 7d 22 20 2d 74 71 20 69 6e 74 2e 6c 7a 0a 09 09 eader}..."${LZIP}".-tq.int.lz...
62400 5b 20 24 3f 20 3d 20 32 20 5d 20 7c 7c 20 74 65 73 74 5f 66 61 69 6c 65 64 20 24 4c 49 4e 45 4e [.$?.=.2.].||.test_failed.$LINEN
62420 4f 20 24 7b 68 65 61 64 65 72 7d 0a 09 09 22 24 7b 4c 5a 49 50 7d 22 20 2d 74 71 20 3c 20 69 6e O.${header}..."${LZIP}".-tq.<.in
62440 74 2e 6c 7a 0a 09 09 5b 20 24 3f 20 3d 20 32 20 5d 20 7c 7c 20 74 65 73 74 5f 66 61 69 6c 65 64 t.lz...[.$?.=.2.].||.test_failed
62460 20 24 4c 49 4e 45 4e 4f 20 24 7b 68 65 61 64 65 72 7d 0a 09 09 22 24 7b 4c 5a 49 50 7d 22 20 2d .$LINENO.${header}..."${LZIP}".-
62480 63 64 71 20 69 6e 74 2e 6c 7a 20 3e 20 2f 64 65 76 2f 6e 75 6c 6c 0a 09 09 5b 20 24 3f 20 3d 20 cdq.int.lz.>./dev/null...[.$?.=.
624a0 32 20 5d 20 7c 7c 20 74 65 73 74 5f 66 61 69 6c 65 64 20 24 4c 49 4e 45 4e 4f 20 24 7b 68 65 61 2.].||.test_failed.$LINENO.${hea
624c0 64 65 72 7d 0a 09 09 22 24 7b 4c 5a 49 50 7d 22 20 2d 6c 71 20 2d 2d 6c 6f 6f 73 65 2d 74 72 61 der}..."${LZIP}".-lq.--loose-tra
624e0 69 6c 69 6e 67 20 69 6e 74 2e 6c 7a 0a 09 09 5b 20 24 3f 20 3d 20 32 20 5d 20 7c 7c 20 74 65 73 iling.int.lz...[.$?.=.2.].||.tes
62500 74 5f 66 61 69 6c 65 64 20 24 4c 49 4e 45 4e 4f 20 24 7b 68 65 61 64 65 72 7d 0a 09 09 22 24 7b t_failed.$LINENO.${header}..."${
62520 4c 5a 49 50 7d 22 20 2d 74 71 20 2d 2d 6c 6f 6f 73 65 2d 74 72 61 69 6c 69 6e 67 20 69 6e 74 2e LZIP}".-tq.--loose-trailing.int.
62540 6c 7a 0a 09 09 5b 20 24 3f 20 3d 20 32 20 5d 20 7c 7c 20 74 65 73 74 5f 66 61 69 6c 65 64 20 24 lz...[.$?.=.2.].||.test_failed.$
62560 4c 49 4e 45 4e 4f 20 24 7b 68 65 61 64 65 72 7d 0a 09 09 22 24 7b 4c 5a 49 50 7d 22 20 2d 74 71 LINENO.${header}..."${LZIP}".-tq
62580 20 2d 2d 6c 6f 6f 73 65 2d 74 72 61 69 6c 69 6e 67 20 3c 20 69 6e 74 2e 6c 7a 0a 09 09 5b 20 24 .--loose-trailing.<.int.lz...[.$
625a0 3f 20 3d 20 32 20 5d 20 7c 7c 20 74 65 73 74 5f 66 61 69 6c 65 64 20 24 4c 49 4e 45 4e 4f 20 24 ?.=.2.].||.test_failed.$LINENO.$
625c0 7b 68 65 61 64 65 72 7d 0a 09 09 22 24 7b 4c 5a 49 50 7d 22 20 2d 63 64 71 20 2d 2d 6c 6f 6f 73 {header}..."${LZIP}".-cdq.--loos
625e0 65 2d 74 72 61 69 6c 69 6e 67 20 69 6e 74 2e 6c 7a 20 3e 20 2f 64 65 76 2f 6e 75 6c 6c 0a 09 09 e-trailing.int.lz.>./dev/null...
62600 5b 20 24 3f 20 3d 20 32 20 5d 20 7c 7c 20 74 65 73 74 5f 66 61 69 6c 65 64 20 24 4c 49 4e 45 4e [.$?.=.2.].||.test_failed.$LINEN
62620 4f 20 24 7b 68 65 61 64 65 72 7d 0a 09 09 63 61 74 20 22 24 7b 69 6e 5f 6c 7a 7d 22 20 3e 20 69 O.${header}...cat."${in_lz}".>.i
62640 6e 74 2e 6c 7a 0a 09 09 70 72 69 6e 74 66 20 22 24 7b 68 65 61 64 65 72 7d 24 7b 62 6f 64 79 7d nt.lz...printf."${header}${body}
62660 22 20 3e 3e 20 69 6e 74 2e 6c 7a 09 23 20 74 72 61 69 6c 69 6e 67 20 64 61 74 61 0a 09 09 22 24 ".>>.int.lz.#.trailing.data..."$
62680 7b 4c 5a 49 50 7d 22 20 2d 6c 71 20 69 6e 74 2e 6c 7a 0a 09 09 5b 20 24 3f 20 3d 20 32 20 5d 20 {LZIP}".-lq.int.lz...[.$?.=.2.].
626a0 7c 7c 20 74 65 73 74 5f 66 61 69 6c 65 64 20 24 4c 49 4e 45 4e 4f 20 24 7b 68 65 61 64 65 72 7d ||.test_failed.$LINENO.${header}
626c0 0a 09 09 22 24 7b 4c 5a 49 50 7d 22 20 2d 74 71 20 69 6e 74 2e 6c 7a 0a 09 09 5b 20 24 3f 20 3d ..."${LZIP}".-tq.int.lz...[.$?.=
626e0 20 32 20 5d 20 7c 7c 20 74 65 73 74 5f 66 61 69 6c 65 64 20 24 4c 49 4e 45 4e 4f 20 24 7b 68 65 .2.].||.test_failed.$LINENO.${he
62700 61 64 65 72 7d 0a 09 09 22 24 7b 4c 5a 49 50 7d 22 20 2d 74 71 20 3c 20 69 6e 74 2e 6c 7a 0a 09 ader}..."${LZIP}".-tq.<.int.lz..
62720 09 5b 20 24 3f 20 3d 20 32 20 5d 20 7c 7c 20 74 65 73 74 5f 66 61 69 6c 65 64 20 24 4c 49 4e 45 .[.$?.=.2.].||.test_failed.$LINE
62740 4e 4f 20 24 7b 68 65 61 64 65 72 7d 0a 09 09 22 24 7b 4c 5a 49 50 7d 22 20 2d 63 64 71 20 69 6e NO.${header}..."${LZIP}".-cdq.in
62760 74 2e 6c 7a 20 3e 20 2f 64 65 76 2f 6e 75 6c 6c 0a 09 09 5b 20 24 3f 20 3d 20 32 20 5d 20 7c 7c t.lz.>./dev/null...[.$?.=.2.].||
62780 20 74 65 73 74 5f 66 61 69 6c 65 64 20 24 4c 49 4e 45 4e 4f 20 24 7b 68 65 61 64 65 72 7d 0a 09 .test_failed.$LINENO.${header}..
627a0 09 22 24 7b 4c 5a 49 50 7d 22 20 2d 6c 71 20 2d 2d 6c 6f 6f 73 65 2d 74 72 61 69 6c 69 6e 67 20 ."${LZIP}".-lq.--loose-trailing.
627c0 69 6e 74 2e 6c 7a 20 7c 7c 0a 09 09 09 74 65 73 74 5f 66 61 69 6c 65 64 20 24 4c 49 4e 45 4e 4f int.lz.||....test_failed.$LINENO
627e0 20 24 7b 68 65 61 64 65 72 7d 0a 09 09 22 24 7b 4c 5a 49 50 7d 22 20 2d 74 20 2d 2d 6c 6f 6f 73 .${header}..."${LZIP}".-t.--loos
62800 65 2d 74 72 61 69 6c 69 6e 67 20 69 6e 74 2e 6c 7a 20 7c 7c 0a 09 09 09 74 65 73 74 5f 66 61 69 e-trailing.int.lz.||....test_fai
62820 6c 65 64 20 24 4c 49 4e 45 4e 4f 20 24 7b 68 65 61 64 65 72 7d 0a 09 09 22 24 7b 4c 5a 49 50 7d led.$LINENO.${header}..."${LZIP}
62840 22 20 2d 74 20 2d 2d 6c 6f 6f 73 65 2d 74 72 61 69 6c 69 6e 67 20 3c 20 69 6e 74 2e 6c 7a 20 7c ".-t.--loose-trailing.<.int.lz.|
62860 7c 0a 09 09 09 74 65 73 74 5f 66 61 69 6c 65 64 20 24 4c 49 4e 45 4e 4f 20 24 7b 68 65 61 64 65 |....test_failed.$LINENO.${heade
62880 72 7d 0a 09 09 22 24 7b 4c 5a 49 50 7d 22 20 2d 63 64 20 2d 2d 6c 6f 6f 73 65 2d 74 72 61 69 6c r}..."${LZIP}".-cd.--loose-trail
628a0 69 6e 67 20 69 6e 74 2e 6c 7a 20 3e 20 2f 64 65 76 2f 6e 75 6c 6c 20 7c 7c 0a 09 09 09 74 65 73 ing.int.lz.>./dev/null.||....tes
628c0 74 5f 66 61 69 6c 65 64 20 24 4c 49 4e 45 4e 4f 20 24 7b 68 65 61 64 65 72 7d 0a 09 09 22 24 7b t_failed.$LINENO.${header}..."${
628e0 4c 5a 49 50 7d 22 20 2d 6c 71 20 2d 2d 6c 6f 6f 73 65 2d 74 72 61 69 6c 69 6e 67 20 2d 2d 74 72 LZIP}".-lq.--loose-trailing.--tr
62900 61 69 6c 69 6e 67 2d 65 72 72 6f 72 20 69 6e 74 2e 6c 7a 0a 09 09 5b 20 24 3f 20 3d 20 32 20 5d ailing-error.int.lz...[.$?.=.2.]
62920 20 7c 7c 20 74 65 73 74 5f 66 61 69 6c 65 64 20 24 4c 49 4e 45 4e 4f 20 24 7b 68 65 61 64 65 72 .||.test_failed.$LINENO.${header
62940 7d 0a 09 09 22 24 7b 4c 5a 49 50 7d 22 20 2d 74 71 20 2d 2d 6c 6f 6f 73 65 2d 74 72 61 69 6c 69 }..."${LZIP}".-tq.--loose-traili
62960 6e 67 20 2d 2d 74 72 61 69 6c 69 6e 67 2d 65 72 72 6f 72 20 69 6e 74 2e 6c 7a 0a 09 09 5b 20 24 ng.--trailing-error.int.lz...[.$
62980 3f 20 3d 20 32 20 5d 20 7c 7c 20 74 65 73 74 5f 66 61 69 6c 65 64 20 24 4c 49 4e 45 4e 4f 20 24 ?.=.2.].||.test_failed.$LINENO.$
629a0 7b 68 65 61 64 65 72 7d 0a 09 09 22 24 7b 4c 5a 49 50 7d 22 20 2d 74 71 20 2d 2d 6c 6f 6f 73 65 {header}..."${LZIP}".-tq.--loose
629c0 2d 74 72 61 69 6c 69 6e 67 20 2d 2d 74 72 61 69 6c 69 6e 67 2d 65 72 72 6f 72 20 3c 20 69 6e 74 -trailing.--trailing-error.<.int
629e0 2e 6c 7a 0a 09 09 5b 20 24 3f 20 3d 20 32 20 5d 20 7c 7c 20 74 65 73 74 5f 66 61 69 6c 65 64 20 .lz...[.$?.=.2.].||.test_failed.
62a00 24 4c 49 4e 45 4e 4f 20 24 7b 68 65 61 64 65 72 7d 0a 09 09 22 24 7b 4c 5a 49 50 7d 22 20 2d 63 $LINENO.${header}..."${LZIP}".-c
62a20 64 71 20 2d 2d 6c 6f 6f 73 65 2d 74 72 61 69 6c 69 6e 67 20 2d 2d 74 72 61 69 6c 69 6e 67 2d 65 dq.--loose-trailing.--trailing-e
62a40 72 72 6f 72 20 69 6e 74 2e 6c 7a 20 3e 20 2f 64 65 76 2f 6e 75 6c 6c 0a 09 09 5b 20 24 3f 20 3d rror.int.lz.>./dev/null...[.$?.=
62a60 20 32 20 5d 20 7c 7c 20 74 65 73 74 5f 66 61 69 6c 65 64 20 24 4c 49 4e 45 4e 4f 20 24 7b 68 65 .2.].||.test_failed.$LINENO.${he
62a80 61 64 65 72 7d 0a 09 64 6f 6e 65 0a 65 6c 73 65 0a 09 70 72 69 6e 74 66 20 22 5c 6e 77 61 72 6e ader}..done.else..printf."\nwarn
62aa0 69 6e 67 3a 20 73 6b 69 70 70 69 6e 67 20 68 65 61 64 65 72 20 74 65 73 74 3a 20 27 70 72 69 6e ing:.skipping.header.test:.'prin
62ac0 74 66 27 20 64 6f 65 73 20 6e 6f 74 20 77 6f 72 6b 20 6f 6e 20 79 6f 75 72 20 73 79 73 74 65 6d tf'.does.not.work.on.your.system
62ae0 2e 22 0a 66 69 0a 72 6d 20 2d 66 20 69 6e 74 2e 6c 7a 20 7c 7c 20 66 72 61 6d 65 77 6f 72 6b 5f .".fi.rm.-f.int.lz.||.framework_
62b00 66 61 69 6c 75 72 65 0a 0a 66 6f 72 20 69 20 69 6e 20 66 6f 78 5f 76 32 2e 6c 7a 20 66 6f 78 5f failure..for.i.in.fox_v2.lz.fox_
62b20 73 31 31 2e 6c 7a 20 66 6f 78 5f 64 65 32 30 2e 6c 7a 20 5c 0a 20 20 20 20 20 20 20 20 20 66 6f s11.lz.fox_de20.lz.\..........fo
62b40 78 5f 62 63 72 63 2e 6c 7a 20 66 6f 78 5f 63 72 63 30 2e 6c 7a 20 66 6f 78 5f 64 61 73 34 36 2e x_bcrc.lz.fox_crc0.lz.fox_das46.
62b60 6c 7a 20 66 6f 78 5f 6d 65 73 38 31 2e 6c 7a 20 3b 20 64 6f 0a 09 22 24 7b 4c 5a 49 50 7d 22 20 lz.fox_mes81.lz.;.do.."${LZIP}".
62b80 2d 74 71 20 22 24 7b 74 65 73 74 64 69 72 7d 22 2f 24 69 0a 09 5b 20 24 3f 20 3d 20 32 20 5d 20 -tq."${testdir}"/$i..[.$?.=.2.].
62ba0 7c 7c 20 74 65 73 74 5f 66 61 69 6c 65 64 20 24 4c 49 4e 45 4e 4f 20 24 69 0a 64 6f 6e 65 0a 0a ||.test_failed.$LINENO.$i.done..
62bc0 22 24 7b 4c 5a 49 50 7d 22 20 2d 63 64 20 22 24 7b 66 6f 78 5f 6c 7a 7d 22 20 3e 20 66 6f 78 20 "${LZIP}".-cd."${fox_lz}".>.fox.
62be0 7c 7c 20 74 65 73 74 5f 66 61 69 6c 65 64 20 24 4c 49 4e 45 4e 4f 0a 66 6f 72 20 69 20 69 6e 20 ||.test_failed.$LINENO.for.i.in.
62c00 66 6f 78 5f 62 63 72 63 2e 6c 7a 20 66 6f 78 5f 63 72 63 30 2e 6c 7a 20 66 6f 78 5f 64 61 73 34 fox_bcrc.lz.fox_crc0.lz.fox_das4
62c20 36 2e 6c 7a 20 66 6f 78 5f 6d 65 73 38 31 2e 6c 7a 20 3b 20 64 6f 0a 09 22 24 7b 4c 5a 49 50 7d 6.lz.fox_mes81.lz.;.do.."${LZIP}
62c40 22 20 2d 63 64 71 20 22 24 7b 74 65 73 74 64 69 72 7d 22 2f 24 69 20 3e 20 6f 75 74 0a 09 5b 20 ".-cdq."${testdir}"/$i.>.out..[.
62c60 24 3f 20 3d 20 32 20 5d 20 7c 7c 20 74 65 73 74 5f 66 61 69 6c 65 64 20 24 4c 49 4e 45 4e 4f 20 $?.=.2.].||.test_failed.$LINENO.
62c80 24 69 0a 09 63 6d 70 20 66 6f 78 20 6f 75 74 20 7c 7c 20 74 65 73 74 5f 66 61 69 6c 65 64 20 24 $i..cmp.fox.out.||.test_failed.$
62ca0 4c 49 4e 45 4e 4f 20 24 69 0a 64 6f 6e 65 0a 72 6d 20 2d 66 20 66 6f 78 20 6f 75 74 20 7c 7c 20 LINENO.$i.done.rm.-f.fox.out.||.
62cc0 66 72 61 6d 65 77 6f 72 6b 5f 66 61 69 6c 75 72 65 0a 0a 63 61 74 20 22 24 7b 69 6e 5f 6c 7a 7d framework_failure..cat."${in_lz}
62ce0 22 20 22 24 7b 69 6e 5f 6c 7a 7d 22 20 3e 20 69 6e 32 2e 6c 7a 20 7c 7c 20 66 72 61 6d 65 77 6f "."${in_lz}".>.in2.lz.||.framewo
62d00 72 6b 5f 66 61 69 6c 75 72 65 0a 63 61 74 20 22 24 7b 69 6e 5f 6c 7a 7d 22 20 22 24 7b 69 6e 5f rk_failure.cat."${in_lz}"."${in_
62d20 6c 7a 7d 22 20 22 24 7b 69 6e 5f 6c 7a 7d 22 20 3e 20 69 6e 33 2e 6c 7a 20 7c 7c 20 66 72 61 6d lz}"."${in_lz}".>.in3.lz.||.fram
62d40 65 77 6f 72 6b 5f 66 61 69 6c 75 72 65 0a 69 66 20 64 64 20 69 66 3d 69 6e 33 2e 6c 7a 20 6f 66 ework_failure.if.dd.if=in3.lz.of
62d60 3d 74 72 75 6e 63 2e 6c 7a 20 62 73 3d 31 34 37 35 32 20 63 6f 75 6e 74 3d 31 20 32 3e 20 2f 64 =trunc.lz.bs=14752.count=1.2>./d
62d80 65 76 2f 6e 75 6c 6c 20 26 26 0a 20 20 20 5b 20 2d 65 20 74 72 75 6e 63 2e 6c 7a 20 5d 20 26 26 ev/null.&&....[.-e.trunc.lz.].&&
62da0 20 63 6d 70 20 69 6e 32 2e 6c 7a 20 74 72 75 6e 63 2e 6c 7a 20 3e 20 2f 64 65 76 2f 6e 75 6c 6c .cmp.in2.lz.trunc.lz.>./dev/null
62dc0 20 32 3e 26 31 20 3b 20 74 68 65 6e 0a 09 66 6f 72 20 69 20 69 6e 20 36 20 32 30 20 31 34 37 33 .2>&1.;.then..for.i.in.6.20.1473
62de0 34 20 31 34 37 35 33 20 31 34 37 35 34 20 31 34 37 35 35 20 31 34 37 35 36 20 31 34 37 35 37 20 4.14753.14754.14755.14756.14757.
62e00 31 34 37 35 38 20 3b 20 64 6f 0a 09 09 64 64 20 69 66 3d 69 6e 33 2e 6c 7a 20 6f 66 3d 74 72 75 14758.;.do...dd.if=in3.lz.of=tru
62e20 6e 63 2e 6c 7a 20 62 73 3d 24 69 20 63 6f 75 6e 74 3d 31 20 32 3e 20 2f 64 65 76 2f 6e 75 6c 6c nc.lz.bs=$i.count=1.2>./dev/null
62e40 0a 09 09 22 24 7b 4c 5a 49 50 7d 22 20 2d 6c 71 20 74 72 75 6e 63 2e 6c 7a 0a 09 09 5b 20 24 3f ..."${LZIP}".-lq.trunc.lz...[.$?
62e60 20 3d 20 32 20 5d 20 7c 7c 20 74 65 73 74 5f 66 61 69 6c 65 64 20 24 4c 49 4e 45 4e 4f 20 24 69 .=.2.].||.test_failed.$LINENO.$i
62e80 0a 09 09 22 24 7b 4c 5a 49 50 7d 22 20 2d 74 71 20 74 72 75 6e 63 2e 6c 7a 0a 09 09 5b 20 24 3f ..."${LZIP}".-tq.trunc.lz...[.$?
62ea0 20 3d 20 32 20 5d 20 7c 7c 20 74 65 73 74 5f 66 61 69 6c 65 64 20 24 4c 49 4e 45 4e 4f 20 24 69 .=.2.].||.test_failed.$LINENO.$i
62ec0 0a 09 09 22 24 7b 4c 5a 49 50 7d 22 20 2d 74 71 20 3c 20 74 72 75 6e 63 2e 6c 7a 0a 09 09 5b 20 ..."${LZIP}".-tq.<.trunc.lz...[.
62ee0 24 3f 20 3d 20 32 20 5d 20 7c 7c 20 74 65 73 74 5f 66 61 69 6c 65 64 20 24 4c 49 4e 45 4e 4f 20 $?.=.2.].||.test_failed.$LINENO.
62f00 24 69 0a 09 09 22 24 7b 4c 5a 49 50 7d 22 20 2d 63 64 71 20 74 72 75 6e 63 2e 6c 7a 20 3e 20 6f $i..."${LZIP}".-cdq.trunc.lz.>.o
62f20 75 74 0a 09 09 5b 20 24 3f 20 3d 20 32 20 5d 20 7c 7c 20 74 65 73 74 5f 66 61 69 6c 65 64 20 24 ut...[.$?.=.2.].||.test_failed.$
62f40 4c 49 4e 45 4e 4f 20 24 69 0a 09 09 22 24 7b 4c 5a 49 50 7d 22 20 2d 64 71 20 3c 20 74 72 75 6e LINENO.$i..."${LZIP}".-dq.<.trun
62f60 63 2e 6c 7a 20 3e 20 6f 75 74 0a 09 09 5b 20 24 3f 20 3d 20 32 20 5d 20 7c 7c 20 74 65 73 74 5f c.lz.>.out...[.$?.=.2.].||.test_
62f80 66 61 69 6c 65 64 20 24 4c 49 4e 45 4e 4f 20 24 69 0a 09 64 6f 6e 65 0a 65 6c 73 65 0a 09 70 72 failed.$LINENO.$i..done.else..pr
62fa0 69 6e 74 66 20 22 5c 6e 77 61 72 6e 69 6e 67 3a 20 73 6b 69 70 70 69 6e 67 20 74 72 75 6e 63 61 intf."\nwarning:.skipping.trunca
62fc0 74 69 6f 6e 20 74 65 73 74 3a 20 27 64 64 27 20 64 6f 65 73 20 6e 6f 74 20 77 6f 72 6b 20 6f 6e tion.test:.'dd'.does.not.work.on
62fe0 20 79 6f 75 72 20 73 79 73 74 65 6d 2e 22 0a 66 69 0a 72 6d 20 2d 66 20 69 6e 32 2e 6c 7a 20 69 .your.system.".fi.rm.-f.in2.lz.i
63000 6e 33 2e 6c 7a 20 74 72 75 6e 63 2e 6c 7a 20 6f 75 74 20 7c 7c 20 66 72 61 6d 65 77 6f 72 6b 5f n3.lz.trunc.lz.out.||.framework_
63020 66 61 69 6c 75 72 65 0a 0a 63 61 74 20 22 24 7b 69 6e 5f 6c 7a 7d 22 20 3e 20 69 6e 67 69 6e 2e failure..cat."${in_lz}".>.ingin.
63040 6c 7a 20 7c 7c 20 66 72 61 6d 65 77 6f 72 6b 5f 66 61 69 6c 75 72 65 0a 70 72 69 6e 74 66 20 22 lz.||.framework_failure.printf."
63060 67 22 20 3e 3e 20 69 6e 67 69 6e 2e 6c 7a 20 7c 7c 20 66 72 61 6d 65 77 6f 72 6b 5f 66 61 69 6c g".>>.ingin.lz.||.framework_fail
63080 75 72 65 0a 63 61 74 20 22 24 7b 69 6e 5f 6c 7a 7d 22 20 3e 3e 20 69 6e 67 69 6e 2e 6c 7a 20 7c ure.cat."${in_lz}".>>.ingin.lz.|
630a0 7c 20 66 72 61 6d 65 77 6f 72 6b 5f 66 61 69 6c 75 72 65 0a 22 24 7b 4c 5a 49 50 7d 22 20 2d 6c |.framework_failure."${LZIP}".-l
630c0 71 20 69 6e 67 69 6e 2e 6c 7a 0a 5b 20 24 3f 20 3d 20 32 20 5d 20 7c 7c 20 74 65 73 74 5f 66 61 q.ingin.lz.[.$?.=.2.].||.test_fa
630e0 69 6c 65 64 20 24 4c 49 4e 45 4e 4f 0a 22 24 7b 4c 5a 49 50 7d 22 20 2d 61 74 71 20 69 6e 67 69 iled.$LINENO."${LZIP}".-atq.ingi
63100 6e 2e 6c 7a 0a 5b 20 24 3f 20 3d 20 32 20 5d 20 7c 7c 20 74 65 73 74 5f 66 61 69 6c 65 64 20 24 n.lz.[.$?.=.2.].||.test_failed.$
63120 4c 49 4e 45 4e 4f 0a 22 24 7b 4c 5a 49 50 7d 22 20 2d 61 74 71 20 3c 20 69 6e 67 69 6e 2e 6c 7a LINENO."${LZIP}".-atq.<.ingin.lz
63140 0a 5b 20 24 3f 20 3d 20 32 20 5d 20 7c 7c 20 74 65 73 74 5f 66 61 69 6c 65 64 20 24 4c 49 4e 45 .[.$?.=.2.].||.test_failed.$LINE
63160 4e 4f 0a 22 24 7b 4c 5a 49 50 7d 22 20 2d 61 63 64 71 20 69 6e 67 69 6e 2e 6c 7a 20 3e 20 6f 75 NO."${LZIP}".-acdq.ingin.lz.>.ou
63180 74 0a 5b 20 24 3f 20 3d 20 32 20 5d 20 7c 7c 20 74 65 73 74 5f 66 61 69 6c 65 64 20 24 4c 49 4e t.[.$?.=.2.].||.test_failed.$LIN
631a0 45 4e 4f 0a 22 24 7b 4c 5a 49 50 7d 22 20 2d 61 64 71 20 3c 20 69 6e 67 69 6e 2e 6c 7a 20 3e 20 ENO."${LZIP}".-adq.<.ingin.lz.>.
631c0 6f 75 74 0a 5b 20 24 3f 20 3d 20 32 20 5d 20 7c 7c 20 74 65 73 74 5f 66 61 69 6c 65 64 20 24 4c out.[.$?.=.2.].||.test_failed.$L
631e0 49 4e 45 4e 4f 0a 22 24 7b 4c 5a 49 50 7d 22 20 2d 74 20 69 6e 67 69 6e 2e 6c 7a 20 7c 7c 20 74 INENO."${LZIP}".-t.ingin.lz.||.t
63200 65 73 74 5f 66 61 69 6c 65 64 20 24 4c 49 4e 45 4e 4f 0a 22 24 7b 4c 5a 49 50 7d 22 20 2d 74 20 est_failed.$LINENO."${LZIP}".-t.
63220 3c 20 69 6e 67 69 6e 2e 6c 7a 20 7c 7c 20 74 65 73 74 5f 66 61 69 6c 65 64 20 24 4c 49 4e 45 4e <.ingin.lz.||.test_failed.$LINEN
63240 4f 0a 22 24 7b 4c 5a 49 50 7d 22 20 2d 63 64 20 69 6e 67 69 6e 2e 6c 7a 20 3e 20 63 6f 70 79 20 O."${LZIP}".-cd.ingin.lz.>.copy.
63260 7c 7c 20 74 65 73 74 5f 66 61 69 6c 65 64 20 24 4c 49 4e 45 4e 4f 0a 63 6d 70 20 69 6e 20 63 6f ||.test_failed.$LINENO.cmp.in.co
63280 70 79 20 7c 7c 20 74 65 73 74 5f 66 61 69 6c 65 64 20 24 4c 49 4e 45 4e 4f 0a 22 24 7b 4c 5a 49 py.||.test_failed.$LINENO."${LZI
632a0 50 7d 22 20 2d 64 20 3c 20 69 6e 67 69 6e 2e 6c 7a 20 3e 20 63 6f 70 79 20 7c 7c 20 74 65 73 74 P}".-d.<.ingin.lz.>.copy.||.test
632c0 5f 66 61 69 6c 65 64 20 24 4c 49 4e 45 4e 4f 0a 63 6d 70 20 69 6e 20 63 6f 70 79 20 7c 7c 20 74 _failed.$LINENO.cmp.in.copy.||.t
632e0 65 73 74 5f 66 61 69 6c 65 64 20 24 4c 49 4e 45 4e 4f 0a 72 6d 20 2d 66 20 63 6f 70 79 20 69 6e est_failed.$LINENO.rm.-f.copy.in
63300 67 69 6e 2e 6c 7a 20 6f 75 74 20 7c 7c 20 66 72 61 6d 65 77 6f 72 6b 5f 66 61 69 6c 75 72 65 0a gin.lz.out.||.framework_failure.
63320 0a 65 63 68 6f 0a 69 66 20 5b 20 24 7b 66 61 69 6c 7d 20 3d 20 30 20 5d 20 3b 20 74 68 65 6e 0a .echo.if.[.${fail}.=.0.].;.then.
63340 09 65 63 68 6f 20 22 74 65 73 74 73 20 63 6f 6d 70 6c 65 74 65 64 20 73 75 63 63 65 73 73 66 75 .echo."tests.completed.successfu
63360 6c 6c 79 2e 22 0a 09 63 64 20 22 24 7b 6f 62 6a 64 69 72 7d 22 20 26 26 20 72 6d 20 2d 72 20 74 lly."..cd."${objdir}".&&.rm.-r.t
63380 6d 70 0a 65 6c 73 65 0a 09 65 63 68 6f 20 22 74 65 73 74 73 20 66 61 69 6c 65 64 2e 22 0a 66 69 mp.else..echo."tests.failed.".fi
633a0 0a 65 78 69 74 20 24 7b 66 61 69 6c 7d 0a 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .exit.${fail}...................
633c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
633e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
63400 6c 7a 69 70 2d 31 2e 32 32 2f 74 65 73 74 73 75 69 74 65 2f 66 6f 78 2e 6c 7a 00 00 00 00 00 00 lzip-1.22/testsuite/fox.lz......
63420 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
63440 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
63460 00 00 00 00 30 30 30 30 36 34 34 00 30 30 30 30 30 30 30 00 30 30 30 30 30 30 30 00 30 30 30 30 ....0000644.0000000.0000000.0000
63480 30 30 30 30 31 32 30 00 31 32 33 34 37 34 32 37 34 35 34 00 30 31 35 36 31 33 00 20 30 00 00 00 0000120.12347427454.015613..0...
634a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
634c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
634e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
63500 00 75 73 74 61 72 00 30 30 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .ustar.00root...................
63520 00 00 00 00 00 00 00 00 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .........root...................
63540 00 00 00 00 00 00 00 00 00 30 30 30 30 30 30 30 00 30 30 30 30 30 30 30 00 00 00 00 00 00 00 00 .........0000000.0000000........
63560 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
63580 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
635a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
635c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
635e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
63600 4c 5a 49 50 01 0c 00 2a 1a 08 a2 03 25 66 f1 4b 78 c5 a2 05 ff 2e e6 d9 d2 20 1a ad 34 f8 e2 1d LZIP...*....%f.Kx...........4...
63620 e8 41 36 fa dc 06 69 bb 3c e4 10 34 27 09 eb b3 66 e3 ec 97 ea ae 23 ff fe 8e a0 00 6a cc 50 eb .A6...i.<..4'...f.....#.....j.P.
63640 2d 00 00 00 00 00 00 00 50 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 -.......P.......................
63660 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
63680 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
636a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
636c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
636e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
63700 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
63720 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
63740 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
63760 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
63780 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
637a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
637c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
637e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
63800 6c 7a 69 70 2d 31 2e 32 32 2f 74 65 73 74 73 75 69 74 65 2f 74 65 73 74 5f 65 6d 2e 74 78 74 2e lzip-1.22/testsuite/test_em.txt.
63820 6c 7a 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 lz..............................
63840 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
63860 00 00 00 00 30 30 30 30 36 34 34 00 30 30 30 30 30 30 30 00 30 30 30 30 30 30 30 00 30 30 30 30 ....0000644.0000000.0000000.0000
63880 30 30 33 33 33 31 30 00 31 32 33 34 37 34 32 37 34 35 34 00 30 31 37 33 30 34 00 20 30 00 00 00 0033310.12347427454.017304..0...
638a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
638c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
638e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
63900 00 75 73 74 61 72 00 30 30 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .ustar.00root...................
63920 00 00 00 00 00 00 00 00 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .........root...................
63940 00 00 00 00 00 00 00 00 00 30 30 30 30 30 30 30 00 30 30 30 30 30 30 30 00 00 00 00 00 00 00 00 .........0000000.0000000........
63960 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
63980 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
639a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
639c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
639e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
63a00 4c 5a 49 50 01 0c 00 83 ff fb ff ff c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 24 00 00 00 LZIP........................$...
63a20 00 00 00 00 4c 5a 49 50 01 8e 00 10 6d fe 47 27 15 f8 22 27 f9 79 a3 cb c0 53 0a 54 9d ea 93 0e ....LZIP....m.G'.."'.y...S.T....
63a40 b0 93 c5 dc d1 40 07 48 0b 56 e2 30 e0 39 47 7d 7f 1f 3d 90 99 92 56 05 f0 22 d3 7d b9 bb 81 c1 .....@.H.V.0.9G}..=...V..".}....
63a60 08 2e 0a cc e4 a6 a6 70 49 49 cd 53 ab bf c5 50 60 0b cb 53 34 f9 82 9c 00 ba df b6 cb 16 e0 4c .......pII.S...P`..S4..........L
63a80 16 5e d7 e7 1c 56 f6 36 1e f0 f4 99 06 e2 54 97 c8 a1 c2 40 67 f6 7d 13 06 2a 0d c5 a0 e4 64 d5 .^...V.6......T....@g.}..*....d.
63aa0 14 8d 04 9a 88 99 90 d1 95 c1 67 ca b4 d5 30 76 7f 21 c7 6a 22 c4 11 f4 b6 1f 36 90 84 0a f8 ae ..........g...0v.!.j".....6.....
63ac0 19 f5 64 1a f2 f3 d9 a4 eb 9b a0 72 33 26 08 6b 73 91 1f 0d d7 2f 5e 5e 8e c3 7c 57 2c 5a 2a ab ..d........r3&.ks..../^^..|W,Z*.
63ae0 8c 80 6b ef 44 5a 82 bf 65 c5 99 77 28 e5 23 91 ba 13 d8 dd 49 1a 3c dd ab 81 e4 9c cb 01 02 03 ..k.DZ..e..w(.#.....I.<.........
63b00 12 d6 71 f1 3f 0c 69 56 22 af 77 78 43 a4 3b 4f 9c 77 a7 3d 0e b8 fd 68 4a 17 80 0f 70 c2 bf 65 ..q.?.iV".wxC.;O.w.=...hJ...p..e
63b20 29 74 ba 3f 71 c5 35 29 7d 84 a5 fa 9f 43 d8 90 d8 cb 99 1c b7 9a 34 6e f9 32 87 bf 58 95 4c f8 )t.?q.5)}....C........4n.2..X.L.
63b40 10 52 25 71 1d 95 27 36 f6 eb ca 8e 29 01 75 c2 aa de 76 2f cc d3 b2 7e 0c 4c 91 98 85 ae 8e 65 .R%q..'6....).u...v/...~.L.....e
63b60 99 6e 98 0b 4b 3c fa 93 ee 1e 2b 42 c3 ab 86 7a 3a a9 47 b7 c2 f7 ef 30 59 02 c4 28 2d a5 fb 43 .n..K<....+B...z:.G....0Y..(-..C
63b80 7e c2 f3 e3 95 15 04 38 8d 6a 85 57 a5 89 79 0f ac 13 bd 7f 4c 3e 85 a1 44 d3 29 20 2f a3 4f 9e ~......8.j.W..y.....L>..D.)./.O.
63ba0 83 33 b8 fe ca 89 bd d7 42 07 eb 03 2f a3 e0 6b be 32 89 ef 4d 17 82 db 1d 87 9b f2 e6 57 ad d3 .3......B.../..k.2..M........W..
63bc0 fa 23 1d 59 c6 b7 90 c3 8a 63 19 80 2f 53 d7 1a 4e ca fc aa a0 b2 ac 88 03 00 3f 79 cb 96 f0 39 .#.Y.....c../S..N.........?y...9
63be0 bb e5 eb 58 75 79 f1 d3 a2 e2 43 1d 62 3d 85 39 fb f3 54 ab 72 5e 3e 3b 53 cb 83 83 ba b0 d7 e1 ...Xuy....C.b=.9..T.r^>;S.......
63c00 3e a3 b6 4a 53 35 20 e6 60 e2 96 d7 b1 fd fb fc c0 f2 5b c8 e6 86 fe 78 ef 7d d6 84 4a 1e 82 76 >..JS5..`.........[....x.}..J..v
63c20 6e 88 ba fa 58 f2 fe ed f8 6a 62 c1 37 22 2f 25 83 58 30 53 3a 31 43 fd 0e 72 0a ee dc 78 2e fe n...X....jb.7"/%.X0S:1C..r...x..
63c40 b0 c6 47 25 89 10 fc fd 77 96 85 8d f5 a7 82 70 2a 1c eb 6e 78 4b 55 21 1b c5 b1 07 fa 3d d3 5f ..G%....w......p*..nxKU!.....=._
63c60 e0 43 e9 ad 30 8c 08 2a fc d4 25 1a 39 dc 8f 4a 65 db a8 e2 9b 78 17 27 51 d3 cd 03 f8 1d 11 bd .C..0..*..%.9..Je....x.'Q.......
63c80 cd 2e 12 aa b8 74 a8 2c 50 94 08 fe ee 78 af c2 b8 33 f1 31 86 b9 b4 3d cc da 33 cc 1c ea 26 2e .....t.,P....x...3.1...=..3...&.
63ca0 73 bf 0b 13 64 fc cb e3 68 15 9c b5 65 7b a6 3a 35 09 80 2a 78 38 52 3a e5 3c 70 f5 2c 27 82 b2 s...d...h...e{.:5..*x8R:.<p.,'..
63cc0 3c f7 d0 16 24 80 68 c8 40 43 b7 72 04 35 e7 cf 4e df f4 7b c0 71 e5 f4 ad 02 77 4d 03 64 79 5f <...$.h.@C.r.5..N..{.q....wM.dy_
63ce0 62 fc a1 1e 3a 25 78 e8 78 90 90 db 09 ad 71 1f 73 c8 e5 6a 2a 6e ef 19 06 dc 28 00 fc a4 15 e0 b...:%x.x.....q.s..j*n....(.....
63d00 b4 20 d5 64 c2 37 eb 79 6a b1 d4 25 9d 87 57 4b 4a a0 a0 3a 34 28 9a 33 20 f9 c5 fc f6 9a 0a 5f ...d.7.yj..%..WKJ..:4(.3......._
63d20 3c e0 f8 b1 5c 0c bb 65 58 a3 73 76 84 c9 ef 88 d7 ea 77 eb 59 3e dc 37 04 2c 75 b5 bb 28 5f 46 <...\..eX.sv......w.Y>.7.,u..(_F
63d40 69 25 d0 8e 51 cb 72 4c 8e fd 5f 1c 16 bc 1e c2 c9 31 56 51 fc 74 e5 dd 7e 31 94 2c da 5a 41 be i%..Q.rL.._......1VQ.t..~1.,.ZA.
63d60 e3 a1 6d 91 53 57 03 10 7a a7 01 b6 7c 69 4d 96 b9 65 49 e1 4f 35 c7 05 0f 04 62 24 5b 88 e3 e4 ..m.SW..z...|iM..eI.O5....b$[...
63d80 8a 1f cb b6 87 a5 44 18 00 46 80 5d 39 27 f1 e1 9c dd 58 f8 b0 a4 f5 c5 29 4d 0c 88 bf 74 4f 78 ......D..F.]9'....X.....)M...tOx
63da0 11 b8 fe ef 21 80 c9 f3 f7 14 ba 01 a1 3c ec 54 1e 14 4f b9 54 db c7 e9 a1 e3 5d 46 2b 68 9b 4f ....!........<.T..O.T.....]F+h.O
63dc0 0d 40 92 ab f6 cb 64 f9 8f e9 a3 f9 60 cf 08 ab 8e 03 ba 0a d1 44 bf 79 e9 3e 7b 8e 42 97 c6 89 .@....d.....`........D.y.>{.B...
63de0 0d 01 1f 8a 00 ab 79 e5 37 ad e5 79 42 3f bd 2a f6 16 d7 01 65 18 15 68 c1 53 b8 4d 95 ec d2 97 ......y.7..yB?.*....e..h.S.M....
63e00 90 3b 77 58 fc 44 8d fe d1 e9 73 5e 48 2f f6 75 eb b4 49 1c e9 73 29 3b ee 67 72 e1 ee 48 de af .;wX.D....s^H/.u..I..s);.gr..H..
63e20 08 d7 8d dd 67 ca de d3 d7 df a8 13 06 1c d1 c8 91 c4 c0 ef 3d c9 c5 7b 72 df 6a 18 5d d3 e0 d5 ....g...............=..{r.j.]...
63e40 1c e9 70 4b 40 7b 87 96 41 a7 3a c3 fb 82 43 d1 74 1c 48 18 1a 94 6f ce b7 de 92 da 7a 64 6e 31 ..pK@{..A.:...C.t.H...o.....zdn1
63e60 3e 1e bf 05 9a 79 10 00 26 53 c3 f1 8e 2a 81 a9 81 54 3f 27 3e e5 25 71 4c cd e3 9e 55 cc ee 9c >....y..&S...*...T?'>.%qL...U...
63e80 69 73 19 e1 46 a3 27 ae 19 60 3b 2a 71 09 32 c4 6c 8a 59 33 23 80 f5 2c e4 9a fc 51 b5 fe cf 04 is..F.'..`;*q.2.l.Y3#..,...Q....
63ea0 80 93 15 77 44 58 88 f9 3c 76 0d 26 23 b0 fd 87 b7 77 69 71 3e 0d 96 c9 27 77 80 36 65 23 d6 f6 ...wDX..<v.&#....wiq>...'w.6e#..
63ec0 39 a3 12 8d 84 06 45 63 5d 39 83 90 88 29 1e 31 d8 b8 59 d1 3a 65 6a a5 f7 81 2e 2a ca b9 b0 76 9.....Ec]9...).1..Y.:ej....*...v
63ee0 1e e8 46 47 e2 04 e0 3a e0 2f 64 02 a6 78 98 65 f8 34 0f 3f 19 ac 31 8f 50 0d 3d b3 8a fd 34 88 ..FG...:./d..x.e.4.?..1.P.=...4.
63f00 9b bd 33 81 89 d1 c6 6e 6c 49 0a c7 03 40 47 7a 69 19 7c 0d c9 03 b2 10 62 27 88 c4 61 06 62 b9 ..3....nlI...@Gzi.|.....b'..a.b.
63f20 99 cb 59 54 a3 24 44 e7 e5 c7 d7 85 29 83 06 14 3e 8b 6b 23 f4 6e 0c 6a 90 de a2 13 b2 dc 73 11 ..YT.$D.....)...>.k#.n.j......s.
63f40 d0 f9 ba 09 6d 62 60 2c 60 76 34 2e 93 c4 6e 91 c5 3c 8e 94 14 f7 57 c9 c3 97 0c 3c cb de f1 ca ....mb`,`v4...n..<....W....<....
63f60 10 b5 73 16 0f 2c fa 8a 7a 29 ce 23 91 c4 72 47 01 18 09 84 1a e8 c0 8b 04 00 3b 6c fc 04 fc ae ..s..,..z).#..rG..........;l....
63f80 57 bb cb ee f1 7f d1 b5 91 3c 61 b8 68 bd 65 54 95 72 24 31 2f e1 a1 56 d7 da 1e f2 ae 72 92 6b W........<a.h.eT.r$1/..V.....r.k
63fa0 0c 2c d3 c4 d7 42 ad c7 06 f2 c0 a9 58 57 6d 92 85 89 c9 07 e1 b8 3f dc cb 8d 71 3c 3c 53 81 27 .,...B......XWm.......?...q<<S.'
63fc0 e8 8d ce df 5e 80 39 35 cc 26 2b 7d 8e 19 b6 aa 32 53 8f 81 ce 7d dc f8 8a 69 36 94 a3 ca 0e a2 ....^.95.&+}....2S...}...i6.....
63fe0 d1 8b bd 7c 4d cb 3e 02 89 94 04 51 b0 fe b4 82 3b 24 ec b1 82 34 4a ac 08 db 79 a7 b0 76 15 12 ...|M.>....Q....;$...4J...y..v..
64000 6b af b7 41 cb a5 4c ad 31 f4 88 d1 e1 a0 d4 b8 77 9f 3e bb 40 29 46 7e 43 83 46 7d 57 ef 72 00 k..A..L.1.......w.>.@)F~C.F}W.r.
64020 2d 48 00 a1 f2 77 fb 51 94 a0 e2 c2 0d 51 b8 36 31 c7 61 7a 1f 3c 75 6c cd a6 f1 e0 ed 9f 48 b2 -H...w.Q.....Q.61.az.<ul......H.
64040 16 2e 6e d9 f1 95 33 d7 c3 c5 2c f9 22 40 06 19 d8 86 e3 e2 55 a7 de 54 a4 ea 22 aa ec db 9e 46 ..n...3...,."@......U..T.."....F
64060 4f 13 c8 29 74 48 d6 e6 f8 23 50 cd 2e bd 26 9c 2c 0f 73 a1 33 bf 6d 3a 03 d9 90 b9 28 31 94 21 O..)tH...#P...&.,.s.3.m:....(1.!
64080 96 8d fa e2 79 a9 6f 23 70 76 48 0c d9 c0 6d 5a 54 0b 76 ba d7 c7 c2 7a ef ac 4f 84 e6 75 71 ab ....y.o#pvH...mZT.v....z..O..uq.
640a0 aa 55 d7 5a ec 49 a3 81 b6 7c a9 b9 c0 a1 b4 67 e7 30 e4 23 56 08 6b d3 04 98 1a db 4d 27 f0 2c .U.Z.I...|.....g.0.#V.k.....M'.,
640c0 39 f5 9b 5a c9 16 f8 24 8b ef ef a2 86 78 e9 7a 2a c4 0f 36 90 be b2 8a 2c b8 f0 42 c4 bf a0 6e 9..Z...$.....x.z*..6....,..B...n
640e0 18 f6 5d 53 46 29 5b 10 11 42 c5 1a a7 10 ba 2b d1 a1 9f e0 f1 21 72 06 46 4e 46 45 40 08 4e fa ..]SF)[..B.....+.....!r.FNFE@.N.
64100 bd b9 1a cb ed 61 c2 c3 71 27 e1 5e 75 64 83 b5 52 3f 8a 5c a8 7c ee 8e 83 50 9f 20 b2 9d 50 22 .....a..q'.^ud..R?.\.|...P....P"
64120 5b 10 49 27 65 10 ac 1e 80 44 07 ce 35 d8 82 b7 96 6b a7 e5 b7 c2 b7 ab d8 c0 aa de 67 79 69 05 [.I'e....D..5....k..........gyi.
64140 e1 cf 0d 02 6f 4c b7 98 f1 bd b8 f2 72 91 ee 7d e4 3e 9b ed e7 fe cc ed 99 d0 e1 b4 4f 9d 50 cb ....oL......r..}.>..........O.P.
64160 71 b0 25 06 66 c8 61 6a 53 73 0a 90 36 45 33 44 67 c2 09 b5 5b f6 58 bc ea 0f ff 8f c1 c4 8c 78 q.%.f.ajSs..6E3Dg...[.X........x
64180 17 4d 94 a8 97 89 15 95 d6 b9 9a 92 aa 52 40 3c 77 f5 4a a4 f8 d9 2f 58 d4 4b c9 55 db b0 1b 5b .M...........R@<w.J.../X.K.U...[
641a0 c3 89 f9 74 51 d3 de d8 c7 67 48 04 7b 30 62 e5 f8 8d 48 4e 32 9b 71 00 7e e4 d9 59 24 33 78 6d ...tQ....gH.{0b...HN2.q.~..Y$3xm
641c0 6a 7d d9 6a e2 31 ee 2a f4 de c1 2c 15 7e 9b 61 65 61 34 bc 51 b5 b8 ea 9a 3c 94 2b 90 26 3c 67 j}.j.1.*...,.~.aea4.Q....<.+.&<g
641e0 c5 0a 3c 53 9f 6f 6a 55 24 9a 6c be 6d ac 0c 8f dd 9b fa 1f 6e 91 de 14 ec 5c d2 86 e7 06 8e 0c ..<S.ojU$.l.m.......n....\......
64200 d3 ab 69 20 93 58 f7 09 39 18 b9 42 97 dd 7b 81 51 49 27 c6 14 15 71 d8 a1 f4 ed d6 ee 0d 6a 83 ..i..X..9..B..{.QI'...q.......j.
64220 48 0a f3 19 ea 11 d8 43 f2 12 58 9a d8 d5 f8 cb 77 2e c8 a5 e1 b3 74 a1 9e 43 f1 5a e1 c7 bd ed H......C..X.....w.....t..C.Z....
64240 d6 6d eb 96 d5 25 92 a7 2e 96 e2 d7 a6 90 0e 08 10 32 58 d5 cd 23 0e 7b ee ec 8d 8f d5 65 00 e0 .m...%...........2X..#.{.....e..
64260 0a e2 a4 c1 1e f7 8b 4e ee bd 6c 15 19 92 87 99 7b b0 2b 59 65 3f 29 27 5d 1c e0 49 db 5d d7 a3 .......N..l.....{.+Ye?)']..I.]..
64280 6a 6a 4d 84 ea 59 c5 a5 52 3b fc 48 1f 56 cf 38 b6 7d b7 fe f5 ce 60 39 c9 52 11 c3 3a cf b5 fc jjM..Y..R;.H.V.8.}....`9.R..:...
642a0 f0 7b f8 8e 89 eb b0 12 9a 0f 52 6f f7 ba da b0 9a cf 48 1f a3 81 20 7d f7 b5 2c 2c 36 fe e1 6b .{........Ro......H....}..,,6..k
642c0 8d fa 6f 16 28 b8 bf 7c cc 16 0f 70 2b 5d b3 90 7e c4 fb be a9 83 b5 15 52 a3 04 f6 f4 85 07 51 ..o.(..|...p+]..~.......R......Q
642e0 35 f4 27 0b ee 23 86 e4 fa ca 74 87 21 9d 97 fa 4f 9f 40 0d fc a3 5b c4 59 cb 10 fb 70 54 1c b7 5.'..#....t.!...O.@...[.Y...pT..
64300 16 c8 35 5d f3 a8 ab 3d fb e9 08 c8 ce 07 b9 99 8f e4 f0 81 ad 7c 22 71 8a 7b 9d c1 39 57 ee ab ..5]...=.............|"q.{..9W..
64320 dd b4 a7 7b fa ab 49 88 0a 7c 22 2d fa 5d 8e c2 89 0e 2c d1 3b f2 56 93 b2 9d 68 11 f0 f6 a0 19 ...{..I..|"-.]....,.;.V...h.....
64340 65 08 2b 83 f8 b5 80 fc 35 cf 1f fd 53 f1 20 6b a4 d3 d2 5c 0a 07 d3 62 3b 12 23 91 39 c1 5f 9d e.+.....5...S..k...\...b;.#.9._.
64360 47 26 84 6c bf a1 59 45 a9 4c aa c5 bb 37 22 80 ad 55 c0 13 e7 45 d3 18 c0 2b d8 b2 f6 cc 79 e8 G&.l..YE.L...7"..U...E...+....y.
64380 ba 63 32 92 77 e8 b9 01 4c bb 05 9a d5 68 d4 b7 56 bd b0 b9 de 0d 6e a6 d1 b2 ed d4 00 26 50 75 .c2.w...L....h..V.....n......&Pu
643a0 cc 38 e4 ff 9d 88 75 9c 1b a8 0c 89 08 8e 10 30 c9 4f 58 71 a5 aa 2d 16 14 20 33 67 0f d0 a7 58 .8....u........0.OXq..-...3g...X
643c0 bc 72 6f e6 57 19 4b 5c 6c 26 44 3d 57 04 48 ea 10 d6 3a 01 28 4e ec f2 c3 56 59 11 50 32 a9 98 .ro.W.K\l&D=W.H...:.(N...VY.P2..
643e0 b0 81 2e 77 d7 d0 32 6c 56 4f 44 be bf 45 40 dd 6b 39 e8 9e 21 c5 0c d9 73 2f c1 a3 b8 85 3b 22 ...w..2lVOD..E@.k9..!...s/....;"
64400 42 a9 18 ec 09 2f cd fe fd d8 34 f9 2e 06 ab 6c e4 77 f2 5a d1 57 42 3c c7 83 65 9e 58 91 eb 28 B..../....4....l.w.Z.WB<..e.X..(
64420 1f 09 1c 77 55 43 34 82 1c 4e 88 39 47 f4 55 8f 56 63 2e e8 55 fe b8 ad d4 0e 2a 4d d0 9a 4c 0c ...wUC4..N.9G.U.Vc..U.....*M..L.
64440 95 cd c8 5d 57 a2 e7 7c 2a f4 68 ea 02 41 e2 64 e7 01 a8 3e d9 73 44 a0 b1 17 fd e7 34 e8 45 bc ...]W..|*.h..A.d...>.sD.....4.E.
64460 63 2a c5 28 59 bf 9c 20 45 64 54 c8 51 31 48 88 01 3f ba e3 a2 71 92 55 50 6a 79 b1 05 13 9a fb c*.(Y...EdT.Q1H..?...q.UPjy.....
64480 0b 42 28 01 37 83 64 27 12 c6 b0 10 84 17 e5 11 86 b3 63 52 41 a6 a8 52 1a af 00 04 ac 1d 8a 8c .B(.7.d'..........cRA..R........
644a0 48 b5 f4 50 93 f7 42 60 ee 08 af f1 a0 3e 11 9d 69 39 b4 cc 32 a4 92 15 b7 7d ca c7 14 d3 75 d6 H..P..B`.....>..i9..2....}....u.
644c0 39 b5 0d 84 0d 5f 56 b2 15 33 19 f9 69 82 4b fa af 5e f8 a7 37 09 fb aa 64 f2 c9 f5 f1 07 53 33 9...._V..3..i.K..^..7...d.....S3
644e0 7a b9 e6 ac 1a ad cf 41 65 36 00 29 4a d4 fc 77 a2 59 05 75 e3 21 52 f2 39 dd ef f6 6b 8b 2f 01 z......Ae6.)J..w.Y.u.!R.9...k./.
64500 a4 76 e8 af 66 f2 d6 b0 21 18 e3 c8 53 53 c1 d5 8b cc 0f 5a 99 cf b3 ba 15 f7 fa 92 e0 bb 29 9f .v..f...!...SS.....Z..........).
64520 e8 2f e7 80 9d 11 76 1d de 4f 71 6c 4d 63 4a 8f b6 54 cb 37 a9 48 5c 57 ca a0 4c f4 bc 9f 0b 58 ./....v..OqlMcJ..T.7.H\W..L....X
64540 ec 19 27 a7 40 de 9f f1 59 55 1c de 8f 0f 87 97 56 4c d9 b9 d5 0f 2a d4 74 f3 c2 1a b2 a4 58 68 ..'.@...YU......VL....*.t.....Xh
64560 a8 46 aa 22 82 35 52 36 9b 5a e5 2b d7 1e 4e 2a 29 c2 b9 c5 d9 82 69 b9 28 b8 fe 34 0c 0a f7 84 .F.".5R6.Z.+..N*).....i.(..4....
64580 06 50 bb a0 ad 9f 7d 73 0b d2 8b e1 74 c6 9b c0 f1 f2 19 b8 3f 40 59 e1 29 2d 4a a1 65 a1 f9 ab .P....}s....t.......?@Y.)-J.e...
645a0 cd 9b eb da 30 26 a7 16 36 2f 7a bb 94 9c 25 06 4d 5a 8d e4 11 82 a3 4c d5 74 90 d6 4f e3 3a 8a ....0&..6/z...%.MZ.....L.t..O.:.
645c0 2e 1f 15 47 bf 0b 00 d3 75 d6 69 ad 90 1d ee a5 51 8b 68 5f 39 4d de 2b a4 ae 1c c0 a2 b4 ce 65 ...G....u.i.....Q.h_9M.+.......e
645e0 d0 a6 90 b8 90 52 8c 8c 27 63 31 76 81 88 21 7a 67 75 f1 cf 5b 94 dc 3f fc 69 73 9e 21 36 9e 59 .....R..'c1v..!zgu..[..?.is.!6.Y
64600 76 1f 9a 3c d0 76 d9 2e a4 23 07 2c da c5 df 4c dc 41 fa ef 18 4c 21 ce b8 f4 73 23 96 2b 78 b9 v..<.v...#.,...L.A...L!...s#.+x.
64620 5f 23 f0 a8 6d b6 ba fa 5a 53 aa ea 5d e3 c6 21 f4 d0 88 0e 04 c2 9f f4 28 4a 42 fb 87 23 f3 91 _#..m...ZS..]..!........(JB..#..
64640 5e 82 3d 84 ec f0 dc a9 0c 9d b8 ee 85 3b 58 c4 b8 19 34 28 01 47 a2 d6 3b cf fd fb 18 fd 8d 78 ^.=..........;X...4(.G..;......x
64660 11 44 7f 04 6d aa 66 57 32 bc 1a 39 c4 97 ba 9e 74 6c 9f 5c 60 a5 b6 92 f3 89 72 27 d4 f0 18 aa .D..m.fW2..9....tl.\`.....r'....
64680 cd f2 b9 8f 30 8e d1 f6 a0 ac 69 a0 67 b3 5d 90 88 90 ec 66 76 74 f7 c6 a7 53 8f 47 fb 98 e6 14 ....0.....i.g.]....fvt...S.G....
646a0 c8 a1 1b 36 e2 58 bc b8 5d 87 ab f7 3c 16 63 b9 db 13 55 16 9e 88 f3 a3 2f 5c 03 5c 97 0d b2 e0 ...6.X..]...<.c...U...../\.\....
646c0 61 9d 73 83 7d 4b 89 41 fd 60 b7 23 91 0f 5b e3 46 93 9d 69 61 38 cb a5 1f 18 f0 8b 60 5a 4d 92 a.s.}K.A.`.#..[.F..ia8......`ZM.
646e0 a6 4b c4 dd 3d 01 5b c8 8c 3d 69 76 ed 07 ac 3c 86 fb af ef 11 13 d9 ad 63 2c 1b b2 8f bc b0 97 .K..=.[..=iv...<........c,......
64700 97 e4 b8 c7 f3 05 5a d1 c0 68 e5 3a fe 3f 78 e5 ad ca 5d 10 bf 1a 8b 82 4a 10 8c 4a f0 f3 4e db ......Z..h.:.?x...].....J..J..N.
64720 3f 43 0d 35 60 19 39 f1 9b 5e 65 f5 fc 97 ce 79 42 ee 57 cb c1 2b 49 42 ee 7e 00 f1 b3 ba 2e d3 ?C.5`.9..^e....yB.W..+IB.~......
64740 fc d0 26 14 dc 71 7f 1a 2c 10 4c ef 91 c6 ef 7d 60 d8 2f 16 19 34 2d 78 88 62 bd c1 30 21 fc 1d ..&..q..,.L....}`./..4-x.b..0!..
64760 10 11 8d 47 5a 51 83 52 fb 56 26 57 f8 b7 fb 98 c8 8f 79 f8 ef ce d6 86 5a c0 b6 6e 8d 09 b8 1d ...GZQ.R.V&W......y.....Z..n....
64780 74 12 91 8b a2 e2 ea e0 31 e4 e6 fc c5 5f b8 b8 da 41 aa 59 17 b3 ca 67 40 a7 7c 2b dc ee 20 3e t.......1...._...A.Y...g@.|+...>
647a0 3a e8 1a d2 10 2e c7 3d e8 ef 03 05 53 d7 05 f8 72 27 f4 a0 54 c8 75 4f ba 32 44 54 09 9b 30 80 :......=....S...r'..T.uO.2DT..0.
647c0 b1 22 f6 a3 a5 85 e2 5f e2 37 0d 32 63 e6 98 5a 0b 27 4e c6 f7 0e 78 7d 0c 82 72 87 e7 73 8e f9 ."....._.7.2c..Z.'N...x}..r..s..
647e0 95 73 2a 67 21 8f 2e d5 d2 ad 09 a7 52 20 9f 31 a1 f3 1e ca 81 fa 14 21 92 bc ad 38 d4 c0 e2 4c .s*g!.......R..1.......!...8...L
64800 e1 d9 3e de 51 af c2 ed 30 15 47 fc 51 6c bd 08 74 2d 22 17 2d 7c d4 75 a7 e9 3f 3f e0 7f b3 09 ..>.Q...0.G.Ql..t-".-|.u..??....
64820 ae f1 c9 1b 2c ad 79 e0 a9 73 d7 27 22 f9 df b9 17 05 ec 99 c6 11 94 ef 01 61 ac 48 80 8b 8f d9 ....,.y..s.'"............a.H....
64840 b9 f6 65 a7 18 1a 23 21 e5 75 f8 e2 7f 60 30 ee 27 eb f3 94 c5 4d 8b b5 96 bf c8 05 bf 22 4a 4f ..e...#!.u...`0.'....M......."JO
64860 54 ed 6c 30 ab 7d dd 5d 9e a9 12 bd df 56 69 e5 55 c4 5f 66 b2 d0 e0 07 3b fb 30 ec c0 ba 5a 22 T.l0.}.].....Vi.U._f....;.0...Z"
64880 7a 41 cf 53 6d 1e 2f 16 7f d8 1a f4 55 27 b3 62 df e2 d9 c8 e9 d0 da 6f ce 87 3f f9 f5 79 9b 1b zA.Sm./.....U'.b.......o..?..y..
648a0 09 d0 94 36 81 eb ac 1e ea 84 32 6f cf 0a cb 6d f7 eb 09 8b 9e 5c ac 92 8d c8 a5 d9 7c 3f ca 91 ...6......2o...m.....\......|?..
648c0 38 e0 9b 4c 8d b7 0d 27 c6 e6 ed 41 09 7b 94 0f 83 de eb 57 11 fa 91 9c 6b 25 05 7f 3e 0d b1 cb 8..L...'...A.{.....W....k%..>...
648e0 df d8 66 10 79 00 e1 bf 55 3e b5 07 4b f2 f2 3a a6 17 4c 16 63 9d 46 3c 5c 1b a3 06 5c b9 83 91 ..f.y...U>..K..:..L.c.F<\...\...
64900 ce e8 c7 3d 2a ae 19 1b f6 c2 a9 14 d3 24 7b de e6 07 7b 23 86 bb f8 13 52 98 b3 df 61 ad 71 a0 ...=*........${...{#....R...a.q.
64920 2f 2e 61 f2 37 39 c1 e1 c8 8d e3 c2 db 34 b7 53 5c 72 60 46 7a e9 a7 91 56 74 f3 be ac 70 a3 61 /.a.79.......4.S\r`Fz...Vt...p.a
64940 e4 a2 ab 79 00 b2 e3 46 91 a3 a4 16 81 a0 cb 55 7a f1 f5 9b c9 0d 44 97 53 2e c5 86 a2 56 ce 11 ...y...F.......Uz.....D.S....V..
64960 fc 7f 37 33 68 08 33 ff 5d 58 d8 00 d9 9e 6a b3 d1 65 ec b9 7d 1d 57 36 fa 31 15 77 43 af a5 6d ..73h.3.]X....j..e..}.W6.1.wC..m
64980 e5 08 10 3d 0d d9 3d e8 81 3c 54 d5 d4 0b b7 41 ea 00 56 2e b1 74 aa 14 93 d3 c4 29 d9 7a ea b5 ...=..=..<T....A..V..t.....).z..
649a0 15 77 db c3 17 64 44 42 56 e5 39 b5 db be 69 b7 5a 9c b3 eb 64 19 a6 34 48 7f 05 63 4f fa e1 b1 .w...dDBV.9...i.Z...d..4H..cO...
649c0 17 9d 61 ed 4a e7 f0 05 26 a8 59 2b e9 e5 4a 33 d2 8f 88 37 ba 3b 58 0a 1d 08 29 03 17 fd 83 db ..a.J...&.Y+..J3...7.;X...).....
649e0 55 46 e3 82 54 36 41 ad 27 07 cc b5 e2 a3 e1 03 2b bb 1e c6 c1 c4 82 d1 ef 22 85 25 92 bd 3b f7 UF..T6A.'.......+........".%..;.
64a00 ab d1 0f 0e f5 d5 8e bc 88 33 33 f6 d7 53 1d e5 dd 36 bb 70 cc 90 2d 2a 0a 4d 72 37 2e f7 4d c7 .........33..S...6.p..-*.Mr7..M.
64a20 28 70 b8 48 73 3a c3 e7 3b 47 f1 cb df 9b c6 26 19 78 77 77 cb a1 e3 bb ae b3 c5 76 77 4e 5e 87 (p.Hs:..;G.....&.xww.......vwN^.
64a40 80 ea ca 48 25 03 f8 13 8c bc 92 c9 a7 cb a0 0c 57 30 82 3d d2 f0 a1 1f 13 a8 de a4 66 5b d6 76 ...H%...........W0.=........f[.v
64a60 aa 51 04 74 dc 7c 8b ae 9e 32 66 a4 e7 83 b5 2e 17 1f f9 18 69 3f cd 04 15 68 30 c0 0f f4 b1 bd .Q.t.|...2f.........i?...h0.....
64a80 a5 6c d8 e9 2d c9 bf cc 29 f4 23 de 4d c0 0c 3a 8f 21 b4 29 89 04 e4 99 f5 e0 71 c7 85 76 84 d0 .l..-...).#.M..:.!.)......q..v..
64aa0 e2 ef 8d 56 73 6c 5e 6b 49 57 f7 8e e1 61 6c 51 dc 11 c5 bb e6 c6 ed 55 17 95 d7 b3 db e6 27 b0 ...Vsl^kIW...alQ.......U......'.
64ac0 16 4b a8 23 5c 7e 41 64 d9 aa e9 29 de e4 49 35 97 df 96 b8 dd 83 65 83 d3 cd 9c 14 df f1 b5 7e .K.#\~Ad...)..I5......e........~
64ae0 4e 69 fe d0 fa 4b 15 84 ab 09 a2 1d ea a8 aa cf e0 21 73 ba 45 91 65 5c 98 a0 d3 59 58 3a 1d e1 Ni...K...........!s.E.e\...YX:..
64b00 5f a7 69 8e d0 57 f3 fc bb c9 dd 6c df 1c 1f 19 25 05 5f fa 81 85 f4 7f 1c 5b 1c e5 be c5 9b b3 _.i..W.....l....%._......[......
64b20 8b b5 3a 21 b8 c7 58 7b 44 56 c8 c1 f0 ad ef 3a 77 47 4b 55 41 48 86 8a 72 c6 87 c5 07 0f fc d9 ..:!..X{DV.....:wGKUAH..r.......
64b40 cd 9d 85 7b 21 c6 61 2f 00 00 00 00 00 00 32 11 00 00 00 00 00 00 4c 5a 49 50 01 0c 00 83 ff fb ...{!.a/......2.......LZIP......
64b60 ff ff c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 24 00 00 00 00 00 00 00 4c 5a 49 50 01 8e ..................$.......LZIP..
64b80 00 10 1c c8 a6 49 2d 9c bd d5 85 be cc 1a 81 7a d7 1a c8 a1 72 85 7a e1 35 9d a2 fd de c8 f3 90 .....I-........z....r.z.5.......
64ba0 69 f6 f4 d4 fb d2 f0 18 db ac 14 28 f2 27 60 22 e8 5f 14 7d fa 34 25 fc 28 03 d5 ee 96 9e 00 53 i..........(.'`"._.}.4%.(......S
64bc0 3f 9b 1f 0e 30 82 fb b2 ca 67 4c d9 82 65 58 07 0c 23 3c 49 f3 66 4a 1b 69 0a 00 e3 0a a1 6a f8 ?...0....gL..eX..#<I.fJ.i.....j.
64be0 9d a7 3b ea 71 64 2b 5a 70 34 3c 1c 8d 78 26 45 80 97 c0 27 a6 ef d4 64 c3 6b 12 1d 49 45 45 33 ..;.qd+Zp4<..x&E...'...d.k..IEE3
64c00 9a 25 f1 42 36 3a 04 10 74 2e eb 56 80 77 f3 af 4a 30 f8 f8 5f 37 11 e4 95 a6 71 46 ef 71 b0 1e .%.B6:..t..V.w..J0.._7....qF.q..
64c20 37 62 ab 46 ad dc e5 85 66 8b 38 8b f2 2d 18 2a f2 f1 57 f6 05 87 a6 87 4b 53 01 52 94 8f 8c 8f 7b.F....f.8..-.*..W.....KS.R....
64c40 c6 f3 06 b8 f9 bc d3 16 bd a6 81 84 72 af b4 ed 07 48 28 46 a2 4d f1 44 58 5b c4 ed 97 9b 24 65 ............r....H(F.M.DX[....$e
64c60 2d 8f 37 78 30 b8 97 d0 94 16 1a db ed ad 9c 2d ea 03 6e a9 7a d2 dc a4 36 34 a8 e2 49 3b 4d dd -.7x0..........-..n.z...64..I;M.
64c80 bd 91 7f ac e0 45 01 ba a6 90 c0 d5 e9 23 55 3c ee f7 2d 9c 27 9b 3c 14 8b 3a bc 58 4a 69 63 b6 .....E.......#U<..-.'.<..:.XJic.
64ca0 69 d5 37 08 4f 54 5b 49 a3 00 c3 11 f3 50 52 7a 8c 3a bb f8 24 e3 3c 39 05 29 56 f4 c8 6b d7 f1 i.7.OT[I.....PRz.:..$.<9.)V..k..
64cc0 a2 ad 9c 43 f5 8f cc bd dd c4 37 49 52 a4 23 e6 96 f5 97 cc 64 58 ad fb 0d e1 13 47 f2 d3 61 33 ...C......7IR.#.....dX.....G..a3
64ce0 06 d5 5a d4 b3 d6 06 ac e5 b9 4e dd 43 43 15 24 cf 5a d8 54 89 74 3c b8 ef d8 8e 70 99 31 a1 54 ..Z.......N.CC.$.Z.T.t<....p.1.T
64d00 1e 4c 3c 22 e4 87 71 2e a3 ce 83 a9 12 ec 88 52 f5 99 b0 46 0d e3 25 21 0f c7 47 d4 2c 95 51 98 .L<"..q........R...F..%!..G.,.Q.
64d20 1f 0f 57 f9 58 2e 54 d3 1f fa 2b ad be 62 19 f4 68 e9 60 49 df 2f cd c3 3d 12 52 48 0e 82 c6 db ..W.X.T...+..b..h.`I./..=.RH....
64d40 f1 bd 9c 54 be 21 29 5a c5 6a 84 30 01 e3 b9 74 61 95 a1 47 5b 0c c2 d5 59 94 64 66 41 e0 1b 77 ...T.!)Z.j.0...ta..G[...Y.dfA..w
64d60 de 55 7e 64 1f 79 4a 4d 29 93 97 0a ea 63 c5 d0 33 a9 08 a7 90 82 3d d2 45 c4 ae c8 d5 39 88 52 .U~d.yJM)....c..3.....=.E....9.R
64d80 2a 1b 2b cc 9c 47 77 d1 55 0f b4 05 14 22 d9 ef d8 b6 62 4c 61 96 cc 6e 31 96 09 1a c7 7f 5c 56 *.+..Gw.U...."....bLa..n1.....\V
64da0 c4 51 4d e2 49 4c 49 22 18 98 54 f0 4f d7 65 61 aa 5b e3 83 62 73 84 1b 98 b5 cd d4 30 99 07 8a .QM.ILI"..T.O.ea.[..bs......0...
64dc0 99 07 9c ce d2 bb 54 c8 52 cd 8e df 00 3e 3e 04 6b 9c 83 a3 91 a3 59 a4 7e 36 18 20 d0 7c 4a 87 ......T.R....>>.k.....Y.~6...|J.
64de0 00 55 d3 be 14 5b 68 9d 28 d0 c9 c4 fe 1d 70 d5 f5 a1 7d 0a 18 1a 1c ee 86 de c2 66 71 16 6c 95 .U...[h.(.....p...}........fq.l.
64e00 d2 3a 51 f8 81 44 e4 a1 0b 8e b4 c7 96 ec 36 37 39 07 a6 31 51 e6 f6 8a af b8 49 2b ed d3 79 41 .:Q..D........679..1Q.....I+..yA
64e20 0d 25 a5 f2 36 c5 b1 f8 e3 8c 2c 4a 0d a6 b6 01 77 28 0d ff 00 c3 16 9b 6f ea 7d 45 74 6f 7b e4 .%..6.....,J....w(......o.}Eto{.
64e40 aa 7e 03 f9 ed 1a bc 54 49 48 7e 83 37 bc 76 c3 e6 d2 87 ef 75 65 2d ba a5 86 fd 50 c3 73 cd c5 .~.....TIH~.7.v.....ue-....P.s..
64e60 a0 e3 85 58 51 fa 01 79 2d 5e 09 7e 6b 91 54 00 fb f2 cb 20 c9 76 98 43 3a 09 f2 bd 5d 8b 71 5d ...XQ..y-^.~k.T......v.C:...].q]
64e80 b3 bf 81 be d5 0c 40 9f e1 a8 3e 30 a8 64 fc f1 06 eb f9 e5 70 86 f6 f1 2f b5 d6 e1 75 83 32 51 ......@...>0.d......p.../...u.2Q
64ea0 78 33 70 4d dc 1d 81 be 55 04 c2 0e 25 85 27 ea 98 a4 3b d5 73 8e f5 9a c0 ea 71 38 ec f8 49 5e x3pM....U...%.'...;.s.....q8..I^
64ec0 9d 62 39 86 f1 7c e8 d4 1a dd 2d 55 6a ee 14 48 1d 98 42 e0 c8 4d f2 13 3f ba 1b 40 ae 46 de f8 .b9..|....-Uj..H..B..M..?..@.F..
64ee0 54 12 52 c7 9a 7f af 96 02 63 40 08 79 53 20 88 91 8a d9 31 42 4b 34 24 03 d7 dc 6b 85 f6 c3 ad T.R......c@.yS.....1BK4$...k....
64f00 b9 b9 ae 85 45 8e 3f 84 5a 10 11 28 10 00 56 74 3f ae 5f 0c ab 8c 38 99 3e 88 f5 f5 a7 17 b2 03 ....E.?.Z..(..Vt?._...8.>.......
64f20 dd f3 a2 c6 21 50 ee 41 a6 2b 84 21 9e f1 fc 9c cc 5a c9 97 c8 45 16 64 cb 0a 23 57 a1 8c 99 ef ....!P.A.+.!.....Z...E.d..#W....
64f40 14 cf 8b 50 8e c2 76 a4 da 13 f4 d8 10 59 b5 e2 1e 80 16 58 aa e9 e5 5b e0 bc 5c a5 7a 67 54 e5 ...P..v......Y.....X...[..\.zgT.
64f60 37 93 29 1e 05 86 cd a1 b8 97 5f 29 e4 bd 98 69 43 41 8f bd 3d 57 8d de 42 81 1e 8a 09 c0 68 a3 7.)......._)...iCA..=W..B.....h.
64f80 78 03 6b 33 4f ee e5 11 0f 45 09 36 58 2d f8 68 72 b0 d1 4b 26 a8 9c 7c 10 c4 b3 8d 25 ed 03 19 x.k3O....E.6X-.hr..K&..|....%...
64fa0 93 b0 b0 96 95 1c 19 35 d9 e7 e7 44 ec 60 b0 c1 ac 6c 8a e1 9f 66 6a 1e 11 b1 ca 02 d4 ef de 27 .......5...D.`...l...fj........'
64fc0 a1 ff b0 0f f1 fe 68 3c 51 83 d4 01 7f 2c 93 5d 62 02 86 ce 14 fb c8 4f 46 1f eb 8a 00 31 b0 c2 ......h<Q....,.]b......OF....1..
64fe0 e8 2f 63 81 3a 29 f7 69 c3 ac 6c 22 f2 60 e8 f2 7a cc 91 91 62 81 8b e8 9e 92 c2 5f 61 4c 9f 48 ./c.:).i..l".`..z...b......_aL.H
65000 ec e2 fb 1f da 08 7f 2a 30 c8 74 fb f1 ae 3e dd 2e 58 53 b3 1b bd 7e 75 46 e0 30 c0 ef 51 4c 9a .......*0.t...>..XS...~uF.0..QL.
65020 3d 02 f3 44 b5 e8 73 01 e0 99 56 2f 1d 42 83 11 4a 31 8f 30 07 87 03 9a 2e a2 93 4f 64 74 86 6d =..D..s...V/.B..J1.0.......Odt.m
65040 29 c7 26 02 21 fa e5 f2 84 ea 00 32 d4 e2 82 f2 4e 75 af 2e 67 96 b7 54 a6 d6 d0 5d 6d 39 78 cc ).&.!......2....Nu..g..T...]m9x.
65060 0b 78 92 ad 2a 04 ac c0 41 3b 72 c6 ca 08 68 0a 8f 98 8d 86 16 ed 82 ad b9 55 f2 f7 62 5d 5b 94 .x..*...A;r...h..........U..b][.
65080 f8 6a e4 c0 7e 6d 94 3b dd f0 4b fa 3a a9 fd 0f fe 46 c9 7b 29 29 56 ea f3 2c 21 77 58 82 d9 4e .j..~m.;..K.:....F.{))V..,!wX..N
650a0 b5 2c 08 7a 18 92 f0 9c 4e 47 e7 d3 70 b2 e1 27 1e bb 9d 0d ea 64 6a 4a 10 75 f5 c5 2e b2 26 9f .,.z....NG..p..'.....djJ.u....&.
650c0 26 77 a1 f2 26 f0 4c 49 31 ea 46 cf df 4e 73 6a 5f ea 4a dc 29 75 d8 6b 6a 4e a6 be 48 89 96 d3 &w..&.LI1.F..Nsj_.J.)u.kjN..H...
650e0 5a 4a b2 00 15 b9 a2 ef 4e b8 ec b0 59 46 6a 84 36 89 cd 30 ce 42 19 8f 6d 8c 4c 7f a2 0f 5b 2a ZJ......N...YFj.6..0.B..m.L...[*
65100 ab fd 9c 83 0d c7 f6 4f d6 03 47 64 41 c3 c4 0f f6 3c 74 b4 be 6b 59 f9 a7 5d 33 0d 3e 41 00 f1 .......O..GdA....<t..kY..]3.>A..
65120 52 16 52 98 ed c4 d9 c9 21 29 a3 8b 02 d7 1d fc 7d 1d c0 22 71 80 92 4c 5f a5 f6 e9 9c f0 9c 57 R.R.....!)......}.."q..L_......W
65140 4e 01 54 17 24 fc f3 83 62 fd 7e 68 8a cd 26 33 3d 2d fb 5a 99 98 cb 5d 51 d5 67 03 da c9 62 f0 N.T.$...b.~h..&3=-.Z...]Q.g...b.
65160 0b e3 0c 06 64 9c ff 3c ed 53 91 d2 2e 08 28 9b 86 08 5d c5 49 ba 68 7a e5 eb c5 d3 da 23 0c 0e ....d..<.S....(...].I.hz.....#..
65180 b1 dd d2 e0 eb 8e 5f 40 3a 3c ea 8c c3 f8 80 9e ac 06 7d 0c 65 8f 86 86 38 0f de b7 bc b0 74 78 ......_@:<........}.e...8.....tx
651a0 df 13 d1 6a 74 b2 d5 45 cb ab c2 6e e3 48 94 a1 62 df 28 85 2f f7 48 0e ee 8b 52 30 b5 86 5a 94 ...jt..E...n.H..b.(./.H...R0..Z.
651c0 dd 88 fe 69 46 98 11 3d fc d3 e4 9c 1d 64 8e b4 0b e7 83 6f e3 10 9d 0d 1e be 77 4a 45 f4 1b 95 ...iF..=.....d.....o......wJE...
651e0 b1 4e 78 04 5d 2c 47 17 38 23 8a 1a 5b cf 8e 64 03 21 08 1d 02 99 7e f0 f0 30 09 da 32 74 f4 00 .Nx.],G.8#..[..d.!....~..0..2t..
65200 50 01 27 99 18 9d fb c6 f4 f7 d8 72 24 e9 2b ec 5b 86 d4 fc cc 70 60 e0 bb 62 f2 40 4d 67 de 74 P.'........r$.+.[....p`..b.@Mg.t
65220 25 d8 79 40 80 ed 7d 6d 63 c7 31 23 8e 5e f0 fd 04 64 e4 9f 5c 26 8d 83 a1 87 df 33 e7 dd 5e 25 %.y@..}mc.1#.^...d..\&.....3..^%
65240 88 4a 76 3b 94 fd 5c 2f 80 6b af 2d 4a 3f ed a7 8b d2 df ae 03 dd 3b ba cc ff 32 72 bc 4c 45 ad .Jv;..\/.k.-J?........;...2r.LE.
65260 21 be 69 a9 94 4a 1a 8e 73 69 80 a2 51 64 dd 06 db 26 05 56 55 a7 26 d0 cc 27 af 08 69 cc 46 4b !.i..J..si..Qd...&.VU.&..'..i.FK
65280 90 df b1 94 e0 aa a1 bc 88 54 fd c7 1a 76 20 9b 3e 1c 07 4c 9b 01 f3 78 89 34 fc f6 06 e5 38 de .........T...v..>..L...x.4....8.
652a0 67 54 2d d1 31 6e 5a 85 71 91 8f cc cc 78 52 0e 8f da e1 8d 5d 86 3a b0 36 22 96 75 86 b7 c3 6a gT-.1nZ.q....xR.....].:.6".u...j
652c0 f3 b7 18 46 84 16 2a b3 93 67 c1 f0 05 eb c9 f6 69 bf 2c 1d c6 9d dc 62 c4 73 19 a1 93 da 0b 19 ...F..*..g......i.,....b.s......
652e0 6b 25 5a 9f 82 16 2c 2a a9 15 01 49 61 52 cf fb 8e 7b fc 0e 2a eb 63 c7 85 c3 0c 44 c9 13 ed 59 k%Z...,*...IaR...{..*.c....D...Y
65300 53 d4 fa 76 c5 04 64 29 4e df 16 2a 3e 88 05 90 26 8b c7 97 be f7 e9 8a 83 89 24 0b e4 08 f8 16 S..v..d)N..*>...&.........$.....
65320 c5 33 45 c3 d2 a3 35 fc 1a d0 c9 58 c2 e7 69 bb 61 91 bb bf a8 79 90 3e d6 cd 07 94 b9 82 c4 47 .3E...5....X..i.a....y.>.......G
65340 14 da 2d 27 98 e0 93 0b b8 fc 30 ef d6 bc 0e 6a 4a 20 24 da ad 0e 14 d3 1b ed 58 4a ef 89 a9 85 ..-'......0....jJ.$.......XJ....
65360 65 51 b4 02 92 9a f8 f1 d8 26 95 cc 82 26 ea f2 e2 c8 f3 a7 ef 8c bc 87 79 e9 8e 5f 0b 19 1d 06 eQ.......&...&..........y.._....
65380 65 ca 27 c4 29 87 43 c7 9e 8e 17 2a d9 54 71 f8 7b 1d 7c 09 0b b7 05 f2 ae 61 f1 09 c1 59 8f 23 e.'.).C....*.Tq.{.|......a...Y.#
653a0 9b 37 67 8e 74 c6 ff 77 db 19 79 d3 78 13 94 17 f9 f1 b9 82 82 6d 20 3c 6f a4 e4 25 79 2e 89 86 .7g.t..w..y.x........m.<o..%y...
653c0 ab ac e3 b3 35 35 f2 95 d4 e5 19 b0 fb 15 c4 cc ac b9 77 50 c3 c8 07 b7 08 4e f8 c1 5b b1 5d 7a ....55............wP.....N..[.]z
653e0 e0 bb 62 36 3a fb 07 84 a2 aa 7d 89 32 02 a1 9a b2 ed b1 ba 1b b0 63 e8 6a c1 7c 84 13 ee 03 a6 ..b6:.....}.2.........c.j.|.....
65400 5d 6e a4 fb e9 14 a4 e0 34 77 35 d0 66 cc 4a ab 7b 0b d8 66 21 44 3c 3d 7e d0 84 a0 fc f4 31 f6 ]n......4w5.f.J.{..f!D<=~.....1.
65420 7e 84 72 6d 65 39 91 30 92 42 7c 10 76 53 cb 09 bd 0a 98 72 03 c1 0c e2 08 d2 9e e1 07 76 19 1a ~.rme9.0.B|.vS.....r.........v..
65440 80 cc 81 98 86 92 44 34 98 93 c9 8a 10 24 24 1c bf 24 bb 47 2f 8c 1b 4c de ba 8a 7e 05 c0 9c 33 ......D4.....$$..$.G/..L...~...3
65460 62 df aa 8b 91 fe 08 18 d0 d4 62 ad 4f fb 8b 4f 69 1b 0f 3e 12 55 32 b4 00 d0 36 d8 84 e6 57 88 b.........b.O..Oi..>.U2...6...W.
65480 e1 71 44 f9 c4 3a 4e ff 35 04 8a 46 7d de a0 df c6 95 32 6d 1b a7 2c 06 3a 61 86 72 a2 70 03 9e .qD..:N.5..F}.....2m..,.:a.r.p..
654a0 78 a2 37 9e bf 35 e0 13 d9 99 06 d5 fc 1d 18 04 e1 ca ba 4c bd 73 fa 1a ec a6 82 0c 4d 60 39 80 x.7..5.............L.s......M`9.
654c0 a5 a5 7c 61 f1 93 2c b5 37 cb 5d ba 58 82 03 da 4f 73 23 ad 9c a5 ce 4c b1 a7 de ca 82 e7 71 b1 ..|a..,.7.].X...Os#....L......q.
654e0 a3 46 a7 3b 25 cb c0 83 7b fe 4b a1 4b fb ef 8b d7 a7 d0 be 54 df a2 ad 51 ae 8e 2e ca 80 6b 6a .F.;%...{.K.K.......T...Q.....kj
65500 ca b9 56 03 4b 0b 44 1e f5 e2 02 d3 6b 13 e3 01 58 b2 5c ca f5 cf 66 91 de 90 53 22 5f b4 03 a2 ..V.K.D.....k...X.\...f...S"_...
65520 70 a9 cb 42 8d 53 67 2b 3d 43 3b 5f 55 18 da 2b fa b2 c2 e3 e2 79 d9 0b e1 ba 6d f0 44 c8 57 27 p..B.Sg+=C;_U..+.....y....m.D.W'
65540 92 9d 34 90 6b 34 51 e8 1e b8 df 28 43 59 93 17 f4 35 dd d6 21 73 be 47 2d 2e b3 e8 5b e0 95 65 ..4.k4Q....(CY...5..!s.G-...[..e
65560 d0 df 5b 73 7e 77 6e aa ea ef 81 1f 4d ff e2 0b 2e 8e fa 44 b6 04 d9 69 8a f9 fb 88 df 2c 65 01 ..[s~wn.....M......D...i.....,e.
65580 29 24 d3 68 c7 71 9b 8c ff 6e 49 58 59 b8 fa c8 2b 82 46 c6 2c fd b2 38 b4 8a 47 13 99 f1 3e 80 )$.h.q...nIXY...+.F.,..8..G...>.
655a0 99 fc 6c 33 57 c1 27 75 5d 2c 87 cd 0b 0b 42 54 c5 5c 50 01 94 01 6a cf c1 a8 b6 46 8c 81 66 b4 ..l3W.'u],....BT.\P...j....F..f.
655c0 a9 13 c4 d3 6c 65 99 47 72 3c f1 ed 8c e9 03 d8 95 8e 07 f5 32 33 26 a8 9f 34 38 52 3a a8 94 15 ....le.Gr<..........23&..48R:...
655e0 79 32 95 45 72 2f d6 f8 a2 17 9c cc 18 3a b0 da 33 a2 14 8a a2 7f 63 99 5f 95 85 62 8f 2c c8 8c y2.Er/.......:..3.....c._..b.,..
65600 be 8a 7b 28 9d 12 51 fa fa 99 12 1a 6b 93 24 81 9a a1 55 88 40 a6 3d 9c 23 c4 eb 31 c2 6d 33 f9 ..{(..Q.....k.$...U.@.=.#..1.m3.
65620 6f c1 ab a7 52 c4 7c 1d f0 65 b3 f3 fe 1c 20 1a d9 8c 16 f5 4a 87 3d a5 3b 17 31 a4 ce 29 d3 0d o...R.|..e..........J.=.;.1..)..
65640 dd 9f 68 54 f3 50 7d e3 d9 54 e7 7a a8 e1 66 5b 61 10 32 84 ce ed e7 13 fb a4 cb 87 c5 4b d8 bc ..hT.P}..T.z..f[a.2..........K..
65660 e1 11 72 08 14 59 e9 2f e0 0f 2a a3 e8 23 cf 42 f6 e5 46 2c ba c5 78 3c 37 8c c9 b0 3d 13 b9 19 ..r..Y./..*..#.B..F,..x<7...=...
65680 de 15 49 e1 52 3e 74 f3 0d 59 e4 10 07 76 26 a7 6a 3b 5a fe 8c 16 a8 b2 02 79 80 bb d7 4c f0 2a ..I.R>t..Y...v&.j;Z......y...L.*
656a0 e3 d6 6c 02 ab 51 ca 0d 6d dc d7 bf 13 9b e0 7d f1 2b 14 41 31 15 02 d0 12 97 70 9a 76 34 51 c6 ..l..Q..m......}.+.A1.....p.v4Q.
656c0 9c 4b 3c e6 d6 fd 1b 9a 6c d9 c9 5d 3b b5 14 f1 ab e6 9b eb c8 e7 81 81 d8 1a d5 d8 4a 98 06 dc .K<.....l..];...............J...
656e0 1e 7c 71 6f b1 a6 64 83 3f 1b a2 28 ab 60 e0 12 40 c9 a5 38 92 86 1c 9f 44 1f 9f 3d c8 80 a3 89 .|qo..d.?..(.`..@..8....D..=....
65700 b2 5c 67 6b e2 f3 5c b7 1a 87 57 e2 5d 60 93 63 65 f2 ae 28 4f 1a 16 b7 53 13 dd ed 79 18 22 f0 .\gk..\...W.]`.ce..(O...S...y.".
65720 db 8d 20 4a e0 99 01 80 a1 4c 74 35 1c d9 e6 9c 5c 10 f7 e5 11 ee 26 55 3f 4b 8b a8 a1 b1 00 1e ...J.....Lt5....\.....&U?K......
65740 2f fa 27 b2 3f 42 74 49 03 37 a4 0d 61 8d 63 b9 9c 12 b0 5c 5c a1 02 92 c8 d8 5b d8 d1 87 ca 4c /.'.?BtI.7..a.c....\\.....[....L
65760 35 3d 35 ba 90 8d fe 9b 31 0c 66 80 cd a1 84 f3 fa 4f 0d 2a 52 64 bd f3 bf 0d 38 13 38 c8 74 1a 5=5.....1.f......O.*Rd....8.8.t.
65780 1a 59 82 3e 09 18 b2 75 84 25 b5 98 9b 94 e3 38 5a 3e b5 a8 2e 5e 76 7d 90 91 e0 67 2d 00 d6 72 .Y.>...u.%.....8Z>...^v}...g-..r
657a0 3d 85 d2 d2 a9 3d 86 a8 60 ed c8 91 b3 3d 18 0e e9 be cd e9 7b 8e aa c5 28 31 37 92 ae a5 b9 4c =....=..`....=......{...(17....L
657c0 a9 7e e2 60 e4 73 95 b3 66 6a e0 46 5d 26 21 ae 0d 4c 10 e8 33 1d e2 2b 93 d4 78 93 bd 45 2f ef .~.`.s..fj.F]&!..L..3..+..x..E/.
657e0 08 a8 49 14 7f b6 0d 03 57 42 ca 46 79 35 e7 9d 2d 03 28 aa fc ae ee e6 18 23 f7 bd 5f 63 fb 2f ..I.....WB.Fy5..-.(......#.._c./
65800 b8 e1 62 7d 14 81 1d b4 45 31 c4 cc 79 78 6b 45 8a 8b e3 a3 d1 fd 6c ba 3f ae 14 db a9 89 78 c8 ..b}....E1..yxkE......l.?.....x.
65820 d9 4b b3 41 8d 3e 12 2d 17 c1 91 7e 55 20 78 24 45 83 84 8b 29 71 80 5a 1a 5b e1 25 f6 33 94 b7 .K.A.>.-...~U.x$E...)q.Z.[.%.3..
65840 6e 79 d2 a9 c6 08 21 82 ff 2e 7e 59 bf 7c 56 f0 16 6a 49 9b ca 00 18 7b a1 a4 18 5d dd ca fa 4d ny....!...~Y.|V..jI....{...]...M
65860 ff a6 9e 92 fc a9 eb 22 a1 20 b5 97 ef 03 93 8c a2 34 0a b0 99 42 c8 14 d0 29 89 a5 67 8b 25 65 .......".........4...B...)..g.%e
65880 ee c1 80 e1 9f c1 b0 ca 3c d7 41 69 1e dc 20 d0 e5 32 09 9b 12 89 ef 0e 7f b2 c0 02 61 e3 53 07 ........<.Ai.....2..........a.S.
658a0 7b 49 a4 06 51 c3 83 b2 ec 5b 43 20 aa e6 5b cb 4e 87 2d 51 ef 3b ef 3d 2d e2 6b 70 9c e5 8b 92 {I..Q....[C...[.N.-Q.;.=-.kp....
658c0 59 39 94 14 53 f6 79 9c 2c 0b cc 53 d6 4a 11 49 1e 7e c6 38 1c 67 dd 77 8c e0 36 8a c7 9a 22 4b Y9..S.y.,..S.J.I.~.8.g.w..6..."K
658e0 78 db 6c 6f b3 4e 8b 52 ce 78 fc 30 49 58 04 f1 59 8c 2d 11 8d 0f 9e d9 8d 6f ee d3 a0 5c 9c a6 x.lo.N.R.x.0IX..Y.-......o...\..
65900 01 7f 0c f6 db c0 fb 8d d0 47 3c 83 ac 97 62 99 90 e4 9b dd 3d 08 38 02 1d 65 d7 c6 f4 5f ad 08 .........G<...b.....=.8..e..._..
65920 53 31 ef d7 32 f1 f2 67 d9 b9 f2 b9 00 ac 7f 11 6e 2c 8d ec 37 21 bd c5 15 44 ef 9b fc 3d 84 31 S1..2..g........n,..7!...D...=.1
65940 88 b4 82 a4 07 bd 63 fe 60 67 45 bf b9 cf 82 11 63 51 3e 17 c5 8e 52 65 05 27 a2 a9 30 1e 0a b4 ......c.`gE.....cQ>...Re.'..0...
65960 80 97 00 6d b4 09 87 c2 7b cd b6 1d f4 05 14 5d 60 c8 bf dd 06 c4 ce 1e ef c8 75 b6 fa e2 5d 23 ...m....{......]`.........u...]#
65980 58 4b 1c df 86 bd 5e 9d d2 c7 72 08 d6 9c 28 ce 2b 05 a9 ea 07 b6 00 94 21 9a 9d 20 c8 3d bc a9 XK....^...r...(.+.......!....=..
659a0 02 0e 2c ee 80 af 02 ed fe 6a 0d 64 d1 26 87 7a 48 89 a1 a2 a4 31 e4 65 3b 26 a5 c6 29 20 49 27 ..,......j.d.&.zH....1.e;&..).I'
659c0 7b 0a 5e 9f 33 9f 0e 69 ae f0 56 0f b5 93 aa 03 6e 38 4f 3b a0 f9 9d a9 fd ee 86 40 0c 9c ce 2c {.^.3..i..V.....n8O;.......@...,
659e0 27 97 a1 bf 2f b2 85 b2 8d 0b 31 ce 0d 8e 84 69 19 31 ca a6 95 33 3d 50 d5 c4 50 b0 e0 24 07 b7 '.../.....1....i.1...3=P..P..$..
65a00 7a 57 0d a6 57 cd 7c 1e b4 25 73 08 11 48 61 bf e2 1a e3 7b c1 3b 1d d9 5c d5 8e e4 82 cb 3d c2 zW..W.|..%s..Ha....{.;..\.....=.
65a20 15 a4 28 4b 87 96 d5 7f 1e 13 a7 de d1 12 c3 d3 30 76 c8 8a 89 59 9d da 3c ac be 70 bf c1 cb a1 ..(K............0v...Y..<..p....
65a40 bd ff d5 8c 0d 17 2d 97 60 dc f2 0c e4 34 d5 5a 92 aa 06 b8 b5 22 aa 80 40 9d b8 38 4c dc 54 c4 ......-.`....4.Z....."..@..8L.T.
65a60 d8 f5 57 69 1e fe d0 8e 38 41 a7 b9 82 48 9d 31 c2 1c 43 41 4a e8 ac bb 84 96 a2 7a ca 35 45 a2 ..Wi....8A...H.1..CAJ......z.5E.
65a80 19 96 ac 6e ca 27 28 6a 81 05 14 90 b1 1d 1b 8a 2c c6 20 30 71 33 5e 78 50 84 17 d9 5b 13 b2 b6 ...n.'(j........,..0q3^xP...[...
65aa0 f2 f0 8c 33 63 bc 82 a6 8d 6c 66 72 ac 80 e0 51 c4 75 3b 12 84 4b 01 e3 52 67 ba 9e 93 23 e2 ab ...3c....lfr...Q.u;..K..Rg...#..
65ac0 37 4f e3 97 2c 4a 30 dd cf f3 80 18 31 ff fb 39 b1 06 6c 84 27 48 fb ff 2a 96 c5 2a 4e df f2 20 7O..,J0.....1..9..l.'H..*..*N...
65ae0 d2 67 a2 16 10 9e 26 9f 0b e4 e9 ba 33 0f ab 0d d4 1d 3a 7a 59 ff 9a 9e 47 03 0e af ce 88 c7 d9 .g....&.....3.....:zY...G.......
65b00 a5 d1 bf 5b 1c 3e 4e 43 c6 df 15 5a ab ac 11 9d 2b 87 90 e0 77 e7 b9 bc 93 e5 3b 5a 48 d0 bb 8b ...[.>NC...Z....+...w.....;ZH...
65b20 56 63 01 f7 f0 14 fb b3 18 46 4f 85 86 f7 d5 58 62 50 7d 99 6f 2a 33 c4 c4 8a 3e 47 76 6f fe 50 Vc.......FO....XbP}.o*3...>Gvo.P
65b40 de 0b 70 35 14 86 73 aa 99 64 b8 3c 74 49 ea 01 bb f3 0c e1 98 5a e4 03 e7 d7 f5 72 35 1f e6 c9 ..p5..s..d.<tI.......Z.....r5...
65b60 22 f5 1e dc ed fb d0 a0 99 2a e6 21 00 2d f1 39 c5 f9 8e 4a 92 be 4d 13 b8 7c 7c 85 42 8a d0 e1 "........*.!.-.9...J..M..||.B...
65b80 5d 7c ae 77 7c 0b a7 95 51 1b 0d 4c 55 32 a9 47 4e bc 2a 38 83 4e 76 d6 07 4c d4 b4 02 f0 73 e7 ]|.w|...Q..LU2.GN.*8.Nv..L....s.
65ba0 2c df 50 be 72 8f 21 81 6e a5 c6 87 66 68 3e 75 55 31 75 46 15 d2 bf ce 10 9c 0d 98 bf 19 cf 03 ,.P.r.!.n...fh>uU1uF............
65bc0 c5 6e 3f 51 0d 44 81 4f a5 af 61 0d ed 8e 91 31 0a 0c fa 9e 27 aa 69 8f 98 26 cd 4d df 5e 63 81 .n?Q.D.O..a....1....'.i..&.M.^c.
65be0 48 da 47 20 00 fd 2a b1 12 16 19 f0 02 d6 da a5 74 db fe 5a 4c 9c 8e 1b 24 b1 a0 63 f9 47 bc 3e H.G...*.........t..ZL...$..c.G.>
65c00 11 a4 fc 2d 49 68 c8 ae f3 26 e0 b8 43 dd 76 09 0f 7e a6 a1 e1 fa d7 dd 97 62 48 1e dd 18 4e cc ...-Ih...&..C.v..~.......bH...N.
65c20 8a ef ed 8a 9b 3f f0 1d 4e d9 38 9e b0 b4 2e 53 0e 8c fe 90 b1 ed 97 81 bf 7a 0e 52 f6 32 7e 93 .....?..N.8....S.........z.R.2~.
65c40 39 f3 93 ce 0e 51 11 14 cb e3 08 9a e5 e1 58 64 79 bb 6a db d4 4d c8 7f 07 22 7b fa c5 d1 cb a4 9....Q........Xdy.j..M..."{.....
65c60 76 33 f9 7c 47 07 65 b7 72 b3 23 9a d9 b2 18 b8 86 28 cf 50 70 af ce 73 e1 9b 07 05 01 99 2e 99 v3.|G.e.r.#......(.Pp..s........
65c80 ed 60 25 1c d7 81 c5 7d cb de 5a 10 16 12 55 93 0b 7f 98 72 a1 90 b1 05 0d 8d 47 bd fa ee 98 e8 .`%....}..Z...U....r......G.....
65ca0 ff 8a 3d 0b 5d e6 9c 43 f7 47 53 20 4b 32 b5 b4 cf 27 47 92 43 9b f0 8a 90 90 bf 48 46 2e d1 27 ..=.]..C.GS.K2...'G.C......HF..'
65cc0 d2 06 cf bc a0 62 e9 6e 1d f2 b8 f6 ec 4f bb 80 0b ac 62 a6 4e 6b 62 88 f9 5d 69 01 af d0 e1 5d .....b.n.....O....b.Nkb..]i....]
65ce0 86 b4 da ca 60 f2 7c a1 12 01 f1 81 f1 e3 ab 85 66 6d 08 71 a1 df d8 bf 01 1b 87 19 f5 f5 c4 b1 ....`.|.........fm.q............
65d00 8b 0a 21 8f 53 14 a4 c2 cc 14 73 3f 70 d2 28 ae 7f a9 f7 aa eb 03 18 cb bd 3e 1d 27 ce 74 43 e4 ..!.S.....s?p.(..........>.'.tC.
65d20 ec 6d 96 9d 8b 14 27 c2 24 ed 13 3b ed 33 3c 3a 4d a6 38 cd 4e b2 f9 56 ca 8c c7 51 58 d6 0b db .m....'.$..;.3<:M.8.N..V...QX...
65d40 fe f9 43 19 33 fc f1 68 4d 37 9f d3 01 66 4f 83 29 8d d7 d7 cd aa fa de 21 5c 4c de 50 78 c9 bc ..C.3..hM7...fO.).......!\L.Px..
65d60 bf 1a 5d 7b 36 af 70 19 b9 c4 1f 0e bd 21 71 96 71 52 b1 d6 55 36 44 0e dd 83 33 3e 78 6f 81 40 ..]{6.p......!q.qR..U6D...3>xo.@
65d80 59 65 a8 72 e8 16 23 c3 57 14 49 f3 67 e5 22 db fe 68 91 c7 1b a3 5b b2 45 5f 8a 8e 0a 0e 12 66 Ye.r..#.W.I.g."..h....[.E_.....f
65da0 8f af 6e d2 47 eb a8 09 7f 46 0d 11 bb 7d f3 af 84 c5 f2 e2 6b 0d ec c6 60 af c7 28 b9 21 b0 43 ..n.G....F...}......k...`..(.!.C
65dc0 0e b3 45 69 bc 22 bf 84 e6 25 a2 3b 85 71 da 1f 60 c9 b2 03 ff fb a7 8d 2e 17 6d 5f fd 61 2f 00 ..Ei."...%.;.q..`.........m_.a/.
65de0 00 00 00 00 00 73 12 00 00 00 00 00 00 4c 5a 49 50 01 0c 00 83 ff fb ff ff c0 00 00 00 00 00 00 .....s.......LZIP...............
65e00 00 00 00 00 00 00 00 00 00 24 00 00 00 00 00 00 00 4c 5a 49 50 01 0c 00 83 ff fb ff ff c0 00 00 .........$.......LZIP...........
65e20 00 00 00 00 00 00 00 00 00 00 00 00 00 24 00 00 00 00 00 00 00 4c 5a 49 50 01 8e 00 3a 1a 08 d4 .............$.......LZIP...:...
65e40 2d 65 b3 4d 8f 93 b8 92 ab 5b f5 c3 d5 55 d3 90 ff 90 32 f0 ef 98 66 41 2d 41 a3 20 19 19 67 98 -e.M.....[...U....2...fA-A....g.
65e60 f6 85 aa 99 42 7f 23 ec bb d0 fc a4 87 e6 bf a2 24 5c 85 dc 93 7a 1a 73 e9 14 97 01 82 8a 50 03 ....B.#.........$\...z.s......P.
65e80 a7 f7 63 c5 26 50 bf d5 ec 22 01 5e 2e 99 e7 6e f0 5e c5 63 e7 60 51 9d 56 59 e6 6d 68 66 5d 8e ..c.&P...".^...n.^.c.`Q.VY.mhf].
65ea0 f1 7f f0 e3 c0 60 35 bc 8d 95 43 ec b1 90 40 a9 87 cb 57 59 8c ac 29 ae 99 58 f2 98 51 3d 05 e3 .....`5...C...@...WY..)..X..Q=..
65ec0 0a c7 39 04 40 83 2f fb 33 bc b8 f2 11 37 e6 70 23 33 53 1e b2 bc 33 f6 91 de 26 eb e0 54 fb de ..9.@./.3....7.p#3S...3...&..T..
65ee0 05 fb dc a3 5f 71 2a ec 15 35 21 1f 82 1d 36 a1 7b 54 73 6c 2a af 8e 4e 8c f7 75 e8 ae 96 6d 4f ...._q*..5!...6.{Tsl*..N..u...mO
65f00 97 fa af 70 cc f5 ae e0 51 06 90 14 6b 21 c3 f9 88 a5 79 d2 68 e0 93 9b 33 8a b5 f0 57 e3 71 1e ...p....Q...k!....y.h...3...W.q.
65f20 c9 f3 16 87 a8 60 bf 78 00 7d 36 d0 ec d8 0c 70 c4 d1 82 bc 88 99 68 0d 1a f7 d2 28 d8 39 61 d8 .....`.x.}6....p......h....(.9a.
65f40 7a 32 bb 18 3c 98 11 81 b5 9d 3e ef c3 22 f2 e6 e4 65 e6 52 14 27 b4 64 7a e5 dc a7 ec f3 17 3c z2..<.....>.."...e.R.'.dz......<
65f60 7c 40 b7 fd 23 5a 5e 82 3c 31 a9 a8 af 66 dd 59 ce 62 b5 40 00 ed ad f0 36 35 eb d3 34 51 37 6b |@..#Z^.<1...f.Y.b.@....65..4Q7k
65f80 91 16 30 19 5c 48 d3 93 01 c9 fa ab 17 7f 5c 11 de 8f 9f 80 be ae 3f 5f 9d c6 08 2f 84 03 6b 2c ..0.\H........\.......?_.../..k,
65fa0 1b 57 c4 5f cf 54 74 55 06 e0 09 39 03 38 34 89 90 9a a6 6b 9e 76 5f 01 c5 f9 a9 e5 4c ee cf 7e .W._.TtU...9.84....k.v_.....L..~
65fc0 b8 2c 53 7a ba 69 a2 a0 d6 a2 d4 aa f6 15 2e 23 59 87 48 9b f2 24 ff d9 40 01 b1 c0 a1 2c 87 c5 .,Sz.i.........#Y.H..$..@....,..
65fe0 37 d4 e0 27 e0 45 0d 28 e3 bc a0 a7 1e 9d c8 57 9c 6e 76 ef 81 ac 2f 2c c8 78 c7 f4 d9 f6 2a b5 7..'.E.(.......W.nv.../,.x....*.
66000 d5 5c f5 e9 1b 36 23 41 6f 90 8b 8f fb f8 6d b4 71 15 39 63 e0 96 55 2d 08 fd 9a 43 ea f3 ed 14 .\...6#Ao.....m.q.9c..U-...C....
66020 01 15 47 04 3c 12 7e a9 66 66 0b e1 58 09 34 76 2b 9a 65 1e a8 b1 75 5d 2b 4a 4d a5 ae 0e 16 ad ..G.<.~.ff..X.4v+.e...u]+JM.....
66040 72 88 43 4f 5a b4 80 d9 f0 67 f8 b4 04 8a 45 77 43 54 34 4f 70 48 6d 75 7f 1d de 6c b7 de 26 fe r.COZ....g....EwCT4OpHmu...l..&.
66060 6e 8a e5 23 fc a7 4a 67 bf 35 57 6a 9b 86 9d ae be 2c d8 34 25 1d 1d a5 b0 4d 15 73 96 68 06 13 n..#..Jg.5Wj.....,.4%....M.s.h..
66080 b9 b1 a9 4c af 11 eb b7 e5 c8 b5 6f f9 10 1d 82 0f b9 9f 94 cb b5 8e 60 07 62 e3 c1 9a 14 72 40 ...L.......o...........`.b....r@
660a0 1f 9b f5 43 15 b7 11 1a ac b9 66 5d 24 4e ef bb 8b 40 d1 6e ef cd 4f d8 63 cc 4d 5a ed 5f 10 28 ...C......f]$N...@.n..O.c.MZ._.(
660c0 72 e1 30 d6 ce dd 54 6e fe d6 74 ab 80 d1 e2 56 c0 d8 4d 3a 96 5c 6f 25 f9 bd 72 12 c2 6e 5e b0 r.0...Tn..t....V..M:.\o%..r..n^.
660e0 5d c0 b5 4f f3 eb d7 ba af 3f 98 47 51 6a 4f 32 18 04 ae f0 a7 b4 91 b5 cc f0 18 4c 5a 0c a5 51 ]..O.....?.GQjO2...........LZ..Q
66100 50 30 ee 06 ea 2c 8e 4b 51 9b 5e 73 af f4 aa 9f f3 57 fa cc 5f b2 d4 bc dc 59 61 f2 6b 00 07 08 P0...,.KQ.^s.....W.._....Ya.k...
66120 1c 27 ab 1e 7f 5b b9 f4 62 b6 f6 64 f8 26 19 75 3d fa 15 a8 8a 1b 58 84 b7 6a c4 e0 6b 7b 6c 4c .'...[..b..d.&.u=.....X..j..k{lL
66140 e0 c1 43 c2 47 a2 5f 4f cd cb 1a 7a b9 c3 a4 eb d8 da ce f2 f9 6c 1e a9 d6 47 77 6d ea e3 09 ac ..C.G._O...z.........l...Gwm....
66160 95 9c 6a 71 d8 18 92 d9 66 08 2c d2 44 62 ae 3c 39 fa 25 0e e0 04 a5 77 e9 10 9e 36 13 7b 1a ea ..jq....f.,.Db.<9.%....w...6.{..
66180 f8 ef f5 9f 38 8d c0 c8 4a 65 22 b2 0a ee ef f5 93 b8 a2 63 ba db ed 5e 57 e1 b4 ba c6 7c 24 37 ....8...Je"........c...^W....|$7
661a0 b3 be ff be 76 3b 28 6b 82 f3 ed bf a0 d2 4b 06 f7 9f c5 88 f5 53 98 a6 9d e1 ea 15 9b 77 e4 29 ....v;(k......K......S.......w.)
661c0 b8 11 fa 85 f4 ae b9 5b f4 a0 8f ed e5 d3 c1 ef 62 0b b3 a5 75 5a bc 7d 6a b2 41 9e 53 c1 78 5a .......[........b...uZ.}j.A.S.xZ
661e0 0a f4 a1 46 09 be 35 c4 e6 91 11 1d f1 5e 93 02 1b 71 30 00 b7 f4 60 9b 1c 9a df 15 08 39 51 b1 ...F..5......^...q0...`......9Q.
66200 3a bd b4 22 7d 00 cf e3 d8 62 1e 4b 25 49 bf 07 86 27 ad 25 f5 53 9b ff 00 51 cb c2 3d 69 05 d4 :.."}....b.K%I...'.%.S...Q..=i..
66220 65 fa 4d 1e e1 c0 d5 49 2e db d8 24 56 2d b2 68 fb ce b2 f0 7f 27 6a 5d 30 74 82 ec 7b c1 b0 6d e.M....I...$V-.h.....'j]0t..{..m
66240 fd 7b 2e c3 08 08 7f d6 92 f2 c6 b2 ea 3b cf aa 7c 9c f4 89 76 36 ed 81 2b d7 d8 a7 92 1f f8 16 .{...........;..|...v6..+.......
66260 d3 19 15 74 d2 79 7d bc ef 55 7a 65 95 65 35 f8 7c 91 d0 86 d8 76 32 41 1e 0a bb 73 30 50 21 11 ...t.y}..Uze.e5.|....v2A...s0P!.
66280 59 df cf a4 43 75 7d ad 2f 9b 17 83 14 55 58 cb 6f cf 1a d2 85 71 e8 7b a9 67 76 9c 04 4f a6 0c Y...Cu}./....UX.o....q.{.gv..O..
662a0 1a 3f f9 99 c6 8f d5 44 3c 90 b0 f2 fd 8e 96 d0 1f cd 37 d1 25 9b 58 c3 f7 02 65 b1 5e 84 bd 95 .?.....D<.........7.%.X...e.^...
662c0 30 23 be b1 fd 31 0f 70 ea 73 14 23 39 e3 65 36 38 3d 87 e7 b0 13 08 4c da fc 2f b9 53 8c 61 92 0#...1.p.s.#9.e68=.....L../.S.a.
662e0 5e 26 2f 53 af 78 6b 62 9f df c3 73 7d 0d 90 0d db ad da 6b 1c 38 97 54 cd cd 11 e5 c8 d1 d0 18 ^&/S.xkb...s}......k.8.T........
66300 7f 39 80 6b f0 26 5b 7d 27 e6 46 0b 71 12 cc db e6 62 da 98 3c e9 f4 68 86 13 e5 30 54 8b de 02 .9.k.&[}'.F.q....b..<..h...0T...
66320 2d 98 bb 41 46 2a 5b 36 83 f5 5d 4d b5 63 2d 23 f0 6e 10 e2 53 17 a0 e8 b0 6a b0 7c c0 9e cc 70 -..AF*[6..]M.c-#.n..S....j.|...p
66340 26 66 54 d6 b6 fb 52 4f 48 92 93 a9 ad 56 da ea d3 d7 54 60 1c 18 03 a8 ea 51 8e 7f 56 f7 5c 0b &fT...ROH....V....T`.....Q..V.\.
66360 ad 38 bb 16 23 ef e0 7f e2 ef d8 d7 b2 69 f5 a3 22 42 45 f1 19 58 e9 10 5f 60 be 1c 93 8d 2a 3d .8..#........i.."BE..X.._`....*=
66380 db 46 40 9c 6a 09 62 72 d6 37 79 2d 79 bf a9 d9 59 65 bd 2c 3e 55 34 0e de 42 20 e0 4a 16 b0 6a .F@.j.br.7y-y...Ye.,>U4..B..J..j
663a0 1d e5 05 4b 3d f0 15 95 5b 5d 9d d2 04 f5 37 48 f1 2d 6a 5c 64 f7 a3 ff 9b 55 2d d7 37 87 55 4c ...K=...[]....7H.-j\d....U-.7.UL
663c0 79 1f 26 c5 56 f3 f2 8b 49 93 c7 33 f3 61 9d 97 4a da ae c9 46 21 eb 91 26 6a d0 5f b1 db b4 14 y.&.V...I..3.a..J...F!..&j._....
663e0 df 12 43 a5 48 59 2b 93 83 85 eb e9 61 85 78 98 b4 32 ef 51 6b fc 6e 23 12 76 82 9b 9b 18 e2 5b ..C.HY+.....a.x..2.Qk.n#.v.....[
66400 26 84 7d 37 71 84 7d 8f 8d fe 4f d5 52 4e e7 61 54 54 92 c2 c2 5b b1 05 63 1c 5c 74 ca 78 95 50 &.}7q.}...O.RN.aTT...[..c.\t.x.P
66420 c3 d6 de d9 a8 b8 d4 4a 8c 5a 86 af 62 55 76 22 bc df f4 bf e1 c7 6d 80 5f 6b 56 b0 df d6 65 e5 .......J.Z..bUv"......m._kV...e.
66440 7a 06 20 05 c9 2f 12 61 5c 0f a2 a0 68 bc 4d 1c cc 19 0e c4 fc 64 9f 7d d4 9f 53 70 b8 e4 35 e6 z..../.a\...h.M......d.}..Sp..5.
66460 7a 81 aa d2 35 e6 d0 a6 25 2b fe ba f7 06 d6 3b 85 0a 4d 54 3f 75 e4 3b b9 2d bb 6d dc 12 bf 31 z...5...%+.....;..MT?u.;.-.m...1
66480 ca 20 01 9e b2 d9 a1 88 f2 1d 69 c2 cc 4b f3 d1 84 41 f5 af 6e 56 8b 2e 81 07 e8 f1 65 c9 91 98 ..........i..K...A..nV......e...
664a0 ef 56 50 65 2f 93 8a ec 39 4a fc 02 fa 63 fb 74 8f 97 7a 50 07 d6 97 53 b5 78 d6 08 76 90 ab f0 .VPe/...9J...c.t..zP...S.x..v...
664c0 37 fe a2 c5 d6 91 f6 79 e3 a4 e2 5c c1 8a 02 23 5a 1a 48 3f 9d 2a e4 e8 27 a8 9b 23 d9 23 a7 6d 7......y...\...#Z.H?.*..'..#.#.m
664e0 61 af d6 28 e2 55 f1 c7 ab 29 f2 b4 19 9b 98 98 77 f4 3a d3 5b 72 3c 6b 25 02 da 59 58 6f e8 cc a..(.U...)......w.:.[r<k%..YXo..
66500 88 b1 3b 80 49 cf 46 a8 c1 76 5e 5a 3a 93 e5 14 67 c6 1d bd 5a d9 6b c7 c6 80 b6 7e 0a 89 fc c8 ..;.I.F..v^Z:...g...Z.k....~....
66520 61 f9 7c 94 31 ed 80 9f 53 fb aa 4f ce 13 f7 b7 4a 55 80 4c ca f6 46 f4 0f 4f 50 ef bd ae 03 cf a.|.1...S..O....JU.L..F..OP.....
66540 fd e3 e6 01 67 47 3e 65 13 0a 29 c5 47 6e c9 59 96 e2 38 57 0a 5c a3 87 6f ac 14 27 e4 e1 5a 61 ....gG>e..).Gn.Y..8W.\..o..'..Za
66560 dd ee ad 5d a6 99 9b f8 e2 e7 07 f6 d1 75 0e c1 2a 61 ba 46 f9 46 80 76 aa 4c 20 6d c3 4a 9d 0b ...].........u..*a.F.F.v.L.m.J..
66580 05 b0 3a cf 71 0e f8 47 52 ba be 4d 84 43 d1 05 e2 9a 3d d3 71 71 5a bf e2 30 46 13 fd 7f 7d 16 ..:.q..GR..M.C....=.qqZ..0F...}.
665a0 d5 92 30 86 a8 b6 f6 bb 38 15 4f 28 7b 37 ef d4 a5 c1 b2 9b 1f 69 6a 32 06 5f 87 ee 0b 6a 7e d3 ..0.....8.O({7.......ij2._...j~.
665c0 88 08 7a a5 71 b5 ef 9d ce ca d6 e1 38 66 67 eb 91 21 17 be 38 e5 90 56 99 22 81 69 ad 15 dd d2 ..z.q.......8fg..!..8..V.".i....
665e0 fd 95 8c c6 12 6f 15 f7 bf 88 8c 44 b3 0a cb 8f 6e 50 9d 3f 1b 42 7f 4b b5 d5 d4 ea 74 36 50 32 .....o.....D....nP.?.B.K....t6P2
66600 f5 9d 85 90 06 36 e8 20 53 7a e6 e8 1d f7 f4 b4 1b 14 17 b9 5d 76 83 b3 9e f9 01 4f 33 8b cb 57 .....6..Sz..........]v.....O3..W
66620 39 5e 24 ae 58 92 ac 68 a6 f7 3b 53 ac 37 54 c3 ee cf 02 ca a0 48 91 bb 93 33 6f bc 6a 45 3b da 9^$.X..h..;S.7T......H...3o.jE;.
66640 b5 87 58 b9 a1 7b 18 85 da cc 61 44 27 17 36 91 d4 a2 df 96 e6 42 ad d0 12 27 cd 97 a1 d7 d6 59 ..X..{....aD'.6......B...'.....Y
66660 ee f1 d3 de 3e 72 a1 7b dd 34 a2 16 0f 27 7b c5 3b 5b b8 5f 04 81 98 88 b8 f4 52 62 50 a3 66 3e ....>r.{.4...'{.;[._......RbP.f>
66680 af d0 61 b6 73 b0 dc c0 41 da 48 bf 0b 37 a1 7d 0a 4d 1f 2f a3 59 bf 0c 39 d7 da 7a 1a b4 b6 92 ..a.s...A.H..7.}.M./.Y..9..z....
666a0 1e cb 2d a5 a6 fc 45 04 3d 86 ee 83 fa 60 fe 15 a3 85 ae 96 28 9b ee ae 1f 9b a2 2d 64 0a 6b 8d ..-...E.=....`......(......-d.k.
666c0 81 71 fa 27 6b 57 63 fe f4 84 e1 4a 48 5e 81 17 1f 03 cc 7f ac c1 df e3 5d 23 fb dc af d9 58 13 .q.'kWc....JH^..........]#....X.
666e0 ab d0 e4 db 41 d3 f9 d2 98 08 ad 37 76 fd bd b6 7c 1d 1e 62 87 2d 85 42 de b7 52 80 a2 0b 23 c4 ....A......7v...|..b.-.B..R...#.
66700 30 6a 0b e8 dd c3 87 23 f7 52 fb 0f a1 3f 09 be cd f6 73 86 71 2a 12 e7 1c 64 ab 5e a2 a4 ae a0 0j.....#.R...?....s.q*...d.^....
66720 f1 b4 4e e9 d5 8e 43 02 b4 e8 26 20 95 f2 ff 34 cd 5f ac b4 4f e4 48 8f 9c 47 09 b4 73 fe 7e 80 ..N...C...&....4._..O.H..G..s.~.
66740 67 c8 0e 68 7c 9b cd 3e fb 30 4c 8c 94 4b 8a 91 81 a3 81 7d da 5f 92 a3 e2 00 00 93 1e af a5 f2 g..h|..>.0L..K.....}._..........
66760 5f 3c dd 90 a2 f4 bb d1 f2 7a be b1 cb 96 02 c3 e6 15 89 e1 47 e1 40 9a d8 6f f4 50 e3 a2 0c 5b _<.......z..........G.@..o.P...[
66780 fb 22 34 fa 99 90 eb d0 33 c4 18 e5 a0 e7 fc 56 3a ea 91 8d a2 04 51 de d0 a1 b2 1e 50 49 bb 2a ."4.....3......V:.....Q.....PI.*
667a0 c2 98 eb e4 b0 e8 48 00 a6 6f ad f3 35 2e 5b 31 38 f6 b1 ec 9f 66 69 0e e4 28 ef d0 73 11 f3 9e ......H..o..5.[18....fi..(..s...
667c0 f8 9a 40 d6 d4 ec 86 ab 98 ef bd b4 42 09 77 29 37 f5 79 f0 c7 94 a0 24 88 9b 40 57 68 03 cc 2e ..@.........B.w)7.y....$..@Wh...
667e0 ca 2e 13 61 c5 a0 67 0d 89 81 41 7c 0e 85 75 93 0f d2 21 b5 a7 a5 7a 0e 1e c7 58 fc dd e4 60 fc ...a..g...A|..u...!...z...X...`.
66800 c4 c7 55 54 54 c2 5f c2 50 4b ea d8 9f ca e2 ab 2f ab be a2 49 cd 76 c5 4c 9e 89 00 83 3e 86 b0 ..UTT._.PK....../...I.v.L....>..
66820 a1 86 cb f7 49 84 6d ae bb 35 8c 8b ff d0 13 61 b4 a9 44 62 3c 81 f6 95 88 05 5f e1 5e 05 08 50 ....I.m..5.....a..Db<....._.^..P
66840 09 09 fd 30 1e d4 99 a1 53 42 f1 43 9c 3e 11 2e ef 3b 76 f9 bf 2b c0 f5 e7 ce 04 91 dd 6b eb b4 ...0....SB.C.>...;v..+.......k..
66860 fd 31 01 35 c8 ca 9e 5b 09 3b b3 92 74 07 89 0f c9 b4 39 1c 03 30 40 50 65 b9 51 cd 90 e2 93 f2 .1.5...[.;..t.....9..0@Pe.Q.....
66880 55 42 62 47 50 92 1e d5 57 57 ba 12 a9 bd a2 b3 c5 8a 2a 68 d8 89 d0 c3 ca ea 7f af dc 4b 67 d5 UBbGP...WW........*h.........Kg.
668a0 e9 c2 7c 5d 45 65 77 50 5a 0b b9 68 b6 c9 cb f5 61 c3 58 6e 08 e6 c0 64 87 53 fc a8 81 06 8d ff ..|]EewPZ..h....a.Xn...d.S......
668c0 46 0a 91 dd 4f 86 3c db 3a dc f7 36 47 62 ee 14 72 0b 91 e1 aa 1c b8 8c 17 89 30 bf 2e db 1a aa F...O.<.:..6Gb..r.........0.....
668e0 54 af ab 25 aa cf 4c 97 3c 82 38 03 9d 24 60 50 aa f2 b0 b1 72 68 46 bd 7c 95 32 4a 04 6f 68 1d T..%..L.<.8..$`P....rhF.|.2J.oh.
66900 36 02 5d e3 04 34 58 9d 16 bb 43 71 aa 30 be 8e 14 74 27 a0 9c 8c 5f 40 73 1f 4c 3c 40 c6 37 72 6.]..4X...Cq.0...t'..._@s.L<@.7r
66920 36 bf 00 b9 cc b3 09 f0 a2 10 82 02 6d 8e 6c 84 df 91 e5 0f 62 22 c2 78 86 00 3f 1b 65 7f 7a 94 6...........m.l.....b".x..?.e.z.
66940 4a f8 17 79 ee 18 40 6f 39 e7 b3 5c f5 ee 9b ea cc 3b 81 6f 45 7e 21 e3 d7 bc ae 0d a6 f4 1d f6 J..y..@o9..\.....;.oE~!.........
66960 b6 58 e8 ec 8e 3e cd d1 63 7b 24 0d 44 f6 18 f9 08 3f a0 4f 4f b6 62 c9 e0 40 77 d4 5c ec 02 cf .X...>..c{$.D....?.OO.b..@w.\...
66980 a0 36 13 80 86 16 1b 02 6b 6e 76 98 77 a3 90 0e 6b 7e 5e 20 aa bf 11 fd 8d 79 94 f1 05 66 53 ba .6......knv.w...k~^......y...fS.
669a0 b3 09 bb 34 e6 fd 6d 5a 61 74 e4 fa dc c3 ee 7c 96 1c 5c 80 8a 8e 58 85 ec 68 c3 c9 e1 c0 61 91 ...4..mZat.....|..\...X..h....a.
669c0 5e dd e2 f8 32 df 26 c8 aa 73 5d be 6a d7 24 94 a0 9c e4 29 67 da 31 30 83 5a ec a9 8c 0b 0c a3 ^...2.&..s].j.$....)g.10.Z......
669e0 11 72 5d 74 ce b5 d2 03 c5 3e e7 35 f2 24 7c 6f 2f 88 58 a8 38 c5 81 75 98 c1 14 a1 2a f4 18 21 .r]t.....>.5.$|o/.X.8..u....*..!
66a00 7d f2 4e 5f e3 3a 36 da 28 0b 6c 27 71 4b 2b 91 4d 33 47 a4 e1 12 59 2d 3b f7 f2 20 5f 92 70 bf }.N_.:6.(.l'qK+.M3G...Y-;..._.p.
66a20 4b 93 39 ba fe bd f6 64 07 a2 a0 fd 3f e0 e7 94 69 0f 6b ef 17 73 ea 0a 22 58 24 c5 64 a5 e2 4e K.9....d....?...i.k..s.."X$.d..N
66a40 4a 39 fe 49 6e 62 d3 92 24 db f9 21 c4 94 32 e3 9d 05 bf f2 ff ea f8 46 02 f3 21 ec d0 ef a4 42 J9.Inb..$..!..2........F..!....B
66a60 31 c8 3e d9 f0 f1 11 96 6d 58 30 1a a7 9d 30 42 c5 94 7c 9a a2 50 b0 3c 3e 3f db 87 e3 c2 04 39 1.>.....mX0...0B..|..P.<>?.....9
66a80 70 ed c0 62 c9 6b 65 22 bb d9 5f 9c bb fd 50 60 be 2a 86 22 51 e3 ea 17 b6 54 9c de eb bb ec 70 p..b.ke".._...P`.*."Q....T.....p
66aa0 73 5c a5 c3 43 46 4e 77 57 ad 37 45 02 1d 3e 43 85 9c e1 73 d5 7f 28 94 cc 62 e6 f9 8b ce 6c 02 s\..CFNwW.7E..>C...s..(..b....l.
66ac0 84 83 be 19 b7 19 21 4f f6 6a 30 55 6e 11 f6 6a 5c 6d b6 4f f8 98 b3 56 fc 5e 72 cd c4 d9 36 07 ......!O.j0Un..j\m.O...V.^r...6.
66ae0 bd ba 40 d9 56 5a 92 c7 21 40 1f 05 18 c8 0d ee 83 31 8c 7a 5b cd e5 1c 58 3d 7f ee f5 e9 5e 8d ..@.VZ..!@.......1.z[...X=....^.
66b00 19 ea 7f 28 76 bb b2 ae 5f 37 54 c9 a4 6b 70 fa fe 2a 9b cc 12 80 64 5a 88 e5 1f 7b 64 1a 5c 48 ...(v..._7T..kp..*....dZ...{d.\H
66b20 c0 7a be 4e d2 00 93 8e 32 99 d5 ad 44 d8 da 76 a3 20 43 6c fe 9d 88 a7 3b 1f e0 a7 f0 25 78 ad .z.N....2...D..v..Cl....;....%x.
66b40 c3 b0 00 cf 24 a6 22 8a 38 b6 4a 3a 93 8e 60 be 79 57 17 04 18 69 c3 d9 4e d5 d1 34 28 e6 87 68 ....$.".8.J:..`.yW...i..N..4(..h
66b60 bd e9 6c 55 fa 71 b5 9d 79 4f 19 61 ea 35 5c 0c f8 7d 47 0b 5e 9d 87 be e1 df f3 81 77 61 0b 0c ..lU.q..yO.a.5\..}G.^.......wa..
66b80 2d 7f 25 20 d5 1e d7 b8 42 df d3 73 b9 4b 37 86 b5 4e 67 a8 0d 64 dd ed 5f fe 75 8f d1 f4 ed 6b -.%.....B..s.K7..Ng..d.._.u....k
66ba0 87 d5 8d 9c 49 08 42 d9 8f 90 0c c0 e1 26 e1 8d 98 39 da a5 01 97 be 55 fb 6c 86 26 07 6f bc be ....I.B......&...9.....U.l.&.o..
66bc0 8a 09 b9 a1 7c 25 d5 ed 1e 54 d3 08 94 0d 34 c5 fd 74 da f1 8c a0 b0 20 d6 63 57 f5 42 57 71 0e ....|%...T....4..t.......cW.BWq.
66be0 22 4e 70 83 63 d0 89 b3 77 05 f3 7d a6 24 6b 28 15 0a 79 78 5c 0e 7a 7b 1b c3 42 28 19 b0 ba 4e "Np.c...w..}.$k(..yx\.z{..B(...N
66c00 85 af 6a 82 0d 50 ec a9 ed 99 61 27 0b 35 b3 27 c3 cd 24 6f 73 af 34 fa 7c 8f 60 0d cc ba dd d7 ..j..P....a'.5.'..$os.4.|.`.....
66c20 6a a6 54 05 0e 22 e5 a7 91 8c 7c 97 98 e1 7c ea 38 6c 13 5a f9 db f6 d1 6e c2 47 2f 4b f8 cb 0e j.T.."....|...|.8l.Z....n.G/K...
66c40 e6 c8 27 b7 f0 e0 79 2c 92 f2 2e d4 a2 26 91 32 85 b1 25 ac 95 b3 c9 60 7c 17 f4 c4 be 39 bf 3f ..'...y,.....&.2..%....`|....9.?
66c60 20 c8 e9 7a bd 6d 77 91 de 6b a5 2c 2f 2a be 11 60 7b d4 0b 8e 2b 3a ea 20 b8 7e 0b 4a 93 f9 11 ...z.mw..k.,/*..`{...+:...~.J...
66c80 8f 83 e5 ca 5f 3b d7 1a 19 a3 b8 71 a0 2f 8c ec 11 08 9b 5e b7 21 ca a7 6f f7 d2 4b a6 2e 04 d3 ...._;.....q./.....^.!..o..K....
66ca0 99 07 98 0b 81 78 f3 d5 64 8f 31 f0 cd ab 3c 0c f1 b0 6d 3b 46 55 9c 38 69 9a 9d 06 2f bf bf 42 .....x..d.1...<...m;FU.8i.../..B
66cc0 9b e1 a3 55 33 3e 57 2a 22 82 92 77 fd 00 a2 dd e5 52 f2 21 fc 4f ae 15 c0 ec f7 55 f7 94 b5 67 ...U3>W*"..w.....R.!.O.....U...g
66ce0 86 41 c7 10 0f c6 cf d1 d3 a5 81 c1 e7 fe 2c ee 78 e2 85 fa 21 e1 0e 20 99 f5 aa 26 ed ec bb 5c .A............,.x...!......&...\
66d00 8a a2 d4 e2 f3 d8 8e f3 ff f4 fa 02 17 a8 dc a4 10 39 54 5e 4f 4f d2 d9 ad 4c f5 c6 5b ad d2 91 .................9T^OO...L..[...
66d20 26 93 2a 33 f6 16 6f 03 7e ac b0 a8 a3 04 b4 dc d1 f5 0b 6b 41 ff 7e c6 7a 92 74 87 10 82 f5 5a &.*3..o.~..........kA.~.z.t....Z
66d40 e8 63 c4 7b dc 88 97 2c 50 02 f0 40 1b dc 99 b6 db f6 1a 68 a3 ca fb 6c be 04 42 a9 99 22 c5 68 .c.{...,P..@.......h...l..B..".h
66d60 37 bb ae eb 65 4a 82 ea a9 ab bb 8e d6 73 be e8 99 7b 35 bc e5 9e fb c2 7e c8 0c b4 e8 4e 3a f5 7...eJ.......s...{5.....~....N:.
66d80 c1 cb e5 0c dc 5b a4 02 a6 f7 ba b7 c2 03 5e ee e0 9d 35 a3 7e ba 77 48 6f 97 9f cf e4 2f df 34 .....[........^...5.~.wHo..../.4
66da0 e4 8d 7e e6 b9 cc 14 d4 c9 ea 71 c1 33 93 13 b7 56 41 49 c6 d6 05 56 8a 8f 01 c1 2a bc 58 b1 b9 ..~.......q.3...VAI...V....*.X..
66dc0 2d 92 98 04 5d 9e fc 7d c9 88 2e 21 b1 5a d3 69 55 6f 66 f3 c5 97 46 59 6c c7 db a4 cc ea 6c 5f -...]..}...!.Z.iUof...FYl.....l_
66de0 65 ca d3 bd 3b 81 7a da 3a e6 82 f3 cc 64 21 f6 27 2e 5f 11 0a 88 24 6c ba b6 d3 91 a7 c3 e8 99 e...;.z.:....d!.'._...$l........
66e00 54 43 40 1e f2 0e dd a2 42 7c 33 ef 6b 1f 33 84 45 fe de 0a 6a 87 d9 04 1d 59 09 a6 fa ed 09 40 TC@.....B|3.k.3.E...j....Y.....@
66e20 48 08 3b 94 38 7e 0c 40 b2 45 5e 67 74 80 58 50 1d ab cb 60 b3 c5 45 30 12 b3 2d 1c 56 16 6c c9 H.;.8~.@.E^gt.XP...`..E0..-.V.l.
66e40 61 7b e6 be 95 22 b4 5b a8 4c 5d fe 17 bd 11 52 c5 cb f8 e7 71 f4 7a ae fb 17 b8 6f 15 f5 8b 61 a{...".[.L]....R....q.z....o...a
66e60 d6 86 93 ab f2 2b 59 da 71 78 3f 51 9d 25 14 ce 76 f1 db 04 ab d1 02 10 b0 e9 a9 58 9f 9d 12 5e .....+Y.qx?Q.%..v..........X...^
66e80 3a f2 84 4f 00 13 79 68 a7 51 b8 56 7b 5b b4 04 f3 d7 d3 d4 db 2b b2 9e 15 6d 4b f3 eb bf 56 e1 :..O..yh.Q.V{[.......+...mK...V.
66ea0 bd 7a 5a fe 0a b6 ae 08 53 b0 f5 54 21 51 5a cd ea 64 1a d2 cf f1 89 df 50 88 49 ee aa 26 5a 6e .zZ.....S..T!QZ..d......P.I..&Zn
66ec0 d5 16 14 af f7 76 14 90 6d 60 3b 45 95 09 1b fc 81 2e 1e 52 36 0e 10 4a 20 d1 11 5d 66 99 e8 96 .....v..m`;E.......R6..J...]f...
66ee0 7f 27 67 fb 2a 64 46 e9 91 83 c4 eb ec eb 46 7b 47 1d db 01 fc 9d ef 0f 7e 2f 0f 31 b8 b7 ac 0c .'g.*dF.......F{G.......~/.1....
66f00 a7 59 36 7a 4c b5 b2 82 2f b6 77 02 50 55 26 7d 13 b1 9c f2 b7 b4 df 81 c7 2b 45 35 89 d7 1f 48 .Y6zL.../.w.PU&}.........+E5...H
66f20 7e 44 04 14 0c 13 b2 b5 af 8d 32 5e 03 28 77 db 82 8e 41 dc 9f 15 c3 03 2f b9 1e a3 8a 18 55 dd ~D........2^.(w...A...../.....U.
66f40 f2 98 7d 6d 44 cf 02 3a 4d 84 eb 08 c4 9f 62 7c 1a 2b d7 9e ef de 8e fe 53 93 73 b6 62 c2 3b ad ..}mD..:M.....b|.+......S.s.b.;.
66f60 e8 b6 24 65 71 31 9c eb 12 5c c4 0b ce 87 f7 c7 b5 42 a6 ae 4e f0 88 88 4c 9c 40 2e 6e 7d 6e fa ..$eq1...\.......B..N...L.@.n}n.
66f80 8b b5 c8 8b 71 7f 37 ec f0 78 9d 79 cf cc aa 43 97 40 7b 49 72 50 71 14 bc 9f f7 73 fe 33 5a 47 ....q.7..x.y...C.@{IrPq....s.3ZG
66fa0 de c2 d0 e8 f1 f4 c3 4f cf 3d 87 25 c6 6d 79 78 d1 6b b3 74 90 86 e4 d8 39 b2 b8 8b fa 7d 47 15 .......O.=.%.myx.k.t....9....}G.
66fc0 7d d7 bd b2 ba eb 5b 47 a9 1a 5c 67 a0 8c a1 cf e4 fd 1c 13 28 7f c9 d0 af 96 bb b3 8c e3 15 b9 }.....[G..\g........(...........
66fe0 05 bb 65 64 9a 83 ab 15 9c cc 6b 7f d2 04 c7 78 10 49 e6 17 52 96 2e 2e 5e 86 ba 38 6d 9b 94 d2 ..ed......k....x.I..R...^..8m...
67000 88 ca e5 c4 d0 5f ab 91 c4 b3 34 8e 72 51 77 03 48 40 e1 8a ec b4 4e bd 21 24 a4 3b fd 0f 1e 7c ....._....4.rQw.H@....N.!$.;...|
67020 f7 ac 95 d3 60 9a 4e 1d b5 c9 7d fa 57 0d 41 25 74 84 d5 6e 1a c5 2c 4c c8 49 e1 a5 b8 bf f1 8d ....`.N...}.W.A%t..n..,L.I......
67040 55 df 29 f8 24 4c 33 e1 3c 47 7a 87 0a 92 59 12 4f c9 10 6b c8 66 2d 20 37 b2 e2 6b 7b c4 a6 69 U.).$L3.<Gz...Y.O..k.f-.7..k{..i
67060 e3 c2 9a 5b 44 33 fb 22 73 80 1d 55 a0 11 03 e8 fc 7e 0b bc 7a c1 c7 f2 59 81 3c bf 83 ff b6 88 ...[D3."s..U.....~..z...Y.<.....
67080 63 b7 f1 dd 59 f4 ee d6 0c 94 ac ff fe e5 bd 5b f8 22 da 07 62 2f 00 00 00 00 00 00 6f 12 00 00 c...Y..........[."..b/......o...
670a0 00 00 00 00 4c 5a 49 50 01 0c 00 83 ff fb ff ff c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ....LZIP........................
670c0 24 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 $...............................
670e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
67100 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
67120 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
67140 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
67160 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
67180 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
671a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
671c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
671e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
67200 6c 7a 69 70 2d 31 2e 32 32 2f 74 65 73 74 73 75 69 74 65 2f 66 6f 78 5f 76 32 2e 6c 7a 00 00 00 lzip-1.22/testsuite/fox_v2.lz...
67220 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
67240 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
67260 00 00 00 00 30 30 30 30 36 34 34 00 30 30 30 30 30 30 30 00 30 30 30 30 30 30 30 00 30 30 30 30 ....0000644.0000000.0000000.0000
67280 30 30 30 30 31 32 30 00 31 32 33 34 37 34 32 37 34 35 34 00 30 31 36 32 32 32 00 20 30 00 00 00 0000120.12347427454.016222..0...
672a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
672c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
672e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
67300 00 75 73 74 61 72 00 30 30 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .ustar.00root...................
67320 00 00 00 00 00 00 00 00 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .........root...................
67340 00 00 00 00 00 00 00 00 00 30 30 30 30 30 30 30 00 30 30 30 30 30 30 30 00 00 00 00 00 00 00 00 .........0000000.0000000........
67360 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
67380 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
673a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
673c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
673e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
67400 4c 5a 49 50 02 0c 00 2a 1a 08 a2 03 25 66 f1 4b 78 c5 a2 05 ff 2e e6 d9 d2 20 1a ad 34 f8 e2 1d LZIP...*....%f.Kx...........4...
67420 e8 41 36 fa dc 06 69 bb 3c e4 10 34 27 09 eb b3 66 e3 ec 97 ea ae 23 ff fe 8e a0 00 6a cc 50 eb .A6...i.<..4'...f.....#.....j.P.
67440 2d 00 00 00 00 00 00 00 50 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 -.......P.......................
67460 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
67480 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
674a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
674c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
674e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
67500 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
67520 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
67540 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
67560 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
67580 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
675a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
675c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
675e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
67600 6c 7a 69 70 2d 31 2e 32 32 2f 74 65 73 74 73 75 69 74 65 2f 66 6f 78 5f 62 63 72 63 2e 6c 7a 00 lzip-1.22/testsuite/fox_bcrc.lz.
67620 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
67640 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
67660 00 00 00 00 30 30 30 30 36 34 34 00 30 30 30 30 30 30 30 00 30 30 30 30 30 30 30 00 30 30 30 30 ....0000644.0000000.0000000.0000
67680 30 30 30 30 31 32 30 00 31 32 33 34 37 34 32 37 34 35 34 00 30 31 36 36 30 34 00 20 30 00 00 00 0000120.12347427454.016604..0...
676a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
676c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
676e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
67700 00 75 73 74 61 72 00 30 30 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .ustar.00root...................
67720 00 00 00 00 00 00 00 00 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .........root...................
67740 00 00 00 00 00 00 00 00 00 30 30 30 30 30 30 30 00 30 30 30 30 30 30 30 00 00 00 00 00 00 00 00 .........0000000.0000000........
67760 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
67780 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
677a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
677c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
677e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
67800 4c 5a 49 50 01 0c 00 2a 1a 08 a2 03 25 66 f1 4b 78 c5 a2 05 ff 2e e6 d9 d2 20 1a ad 34 f8 e2 1d LZIP...*....%f.Kx...........4...
67820 e8 41 36 fa dc 06 69 bb 3c e4 10 34 27 09 eb b3 66 e3 ec 97 ea ae 23 ff fe 8e a0 00 6b cc 50 eb .A6...i.<..4'...f.....#.....k.P.
67840 2d 00 00 00 00 00 00 00 50 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 -.......P.......................
67860 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
67880 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
678a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
678c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
678e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
67900 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
67920 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
67940 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
67960 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
67980 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
679a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
679c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
679e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
67a00 6c 7a 69 70 2d 31 2e 32 32 2f 74 65 73 74 73 75 69 74 65 2f 66 6f 78 5f 64 61 73 34 36 2e 6c 7a lzip-1.22/testsuite/fox_das46.lz
67a20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
67a40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
67a60 00 00 00 00 30 30 30 30 36 34 34 00 30 30 30 30 30 30 30 00 30 30 30 30 30 30 30 00 30 30 30 30 ....0000644.0000000.0000000.0000
67a80 30 30 30 30 31 32 30 00 31 32 33 34 37 34 32 37 34 35 34 00 30 31 36 36 31 34 00 20 30 00 00 00 0000120.12347427454.016614..0...
67aa0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
67ac0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
67ae0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
67b00 00 75 73 74 61 72 00 30 30 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .ustar.00root...................
67b20 00 00 00 00 00 00 00 00 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .........root...................
67b40 00 00 00 00 00 00 00 00 00 30 30 30 30 30 30 30 00 30 30 30 30 30 30 30 00 00 00 00 00 00 00 00 .........0000000.0000000........
67b60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
67b80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
67ba0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
67bc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
67be0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
67c00 4c 5a 49 50 01 0c 00 2a 1a 08 a2 03 25 66 f1 4b 78 c5 a2 05 ff 2e e6 d9 d2 20 1a ad 34 f8 e2 1d LZIP...*....%f.Kx...........4...
67c20 e8 41 36 fa dc 06 69 bb 3c e4 10 34 27 09 eb b3 66 e3 ec 97 ea ae 23 ff fe 8e a0 00 6a cc 50 eb .A6...i.<..4'...f.....#.....j.P.
67c40 2e 00 00 00 00 00 00 00 50 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ........P.......................
67c60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
67c80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
67ca0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
67cc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
67ce0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
67d00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
67d20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
67d40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
67d60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
67d80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
67da0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
67dc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
67de0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
67e00 6c 7a 69 70 2d 31 2e 32 32 2f 64 65 63 6f 64 65 72 2e 63 63 00 00 00 00 00 00 00 00 00 00 00 00 lzip-1.22/decoder.cc............
67e20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
67e40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
67e60 00 00 00 00 30 30 30 30 36 34 34 00 30 30 30 30 30 30 30 00 30 30 30 30 30 30 30 00 30 30 30 30 ....0000644.0000000.0000000.0000
67e80 30 30 32 30 37 31 36 00 31 33 37 37 33 36 31 37 31 33 31 00 30 31 34 33 34 35 00 20 30 00 00 00 0020716.13773617131.014345..0...
67ea0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
67ec0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
67ee0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
67f00 00 75 73 74 61 72 00 30 30 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .ustar.00root...................
67f20 00 00 00 00 00 00 00 00 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .........root...................
67f40 00 00 00 00 00 00 00 00 00 30 30 30 30 30 30 30 00 30 30 30 30 30 30 30 00 00 00 00 00 00 00 00 .........0000000.0000000........
67f60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
67f80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
67fa0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
67fc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
67fe0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
68000 2f 2a 20 4c 7a 69 70 20 2d 20 4c 5a 4d 41 20 6c 6f 73 73 6c 65 73 73 20 64 61 74 61 20 63 6f 6d /*.Lzip.-.LZMA.lossless.data.com
68020 70 72 65 73 73 6f 72 0a 20 20 20 43 6f 70 79 72 69 67 68 74 20 28 43 29 20 32 30 30 38 2d 32 30 pressor....Copyright.(C).2008-20
68040 32 31 20 41 6e 74 6f 6e 69 6f 20 44 69 61 7a 20 44 69 61 7a 2e 0a 0a 20 20 20 54 68 69 73 20 70 21.Antonio.Diaz.Diaz......This.p
68060 72 6f 67 72 61 6d 20 69 73 20 66 72 65 65 20 73 6f 66 74 77 61 72 65 3a 20 79 6f 75 20 63 61 6e rogram.is.free.software:.you.can
68080 20 72 65 64 69 73 74 72 69 62 75 74 65 20 69 74 20 61 6e 64 2f 6f 72 20 6d 6f 64 69 66 79 0a 20 .redistribute.it.and/or.modify..
680a0 20 20 69 74 20 75 6e 64 65 72 20 74 68 65 20 74 65 72 6d 73 20 6f 66 20 74 68 65 20 47 4e 55 20 ..it.under.the.terms.of.the.GNU.
680c0 47 65 6e 65 72 61 6c 20 50 75 62 6c 69 63 20 4c 69 63 65 6e 73 65 20 61 73 20 70 75 62 6c 69 73 General.Public.License.as.publis
680e0 68 65 64 20 62 79 0a 20 20 20 74 68 65 20 46 72 65 65 20 53 6f 66 74 77 61 72 65 20 46 6f 75 6e hed.by....the.Free.Software.Foun
68100 64 61 74 69 6f 6e 2c 20 65 69 74 68 65 72 20 76 65 72 73 69 6f 6e 20 32 20 6f 66 20 74 68 65 20 dation,.either.version.2.of.the.
68120 4c 69 63 65 6e 73 65 2c 20 6f 72 0a 20 20 20 28 61 74 20 79 6f 75 72 20 6f 70 74 69 6f 6e 29 20 License,.or....(at.your.option).
68140 61 6e 79 20 6c 61 74 65 72 20 76 65 72 73 69 6f 6e 2e 0a 0a 20 20 20 54 68 69 73 20 70 72 6f 67 any.later.version......This.prog
68160 72 61 6d 20 69 73 20 64 69 73 74 72 69 62 75 74 65 64 20 69 6e 20 74 68 65 20 68 6f 70 65 20 74 ram.is.distributed.in.the.hope.t
68180 68 61 74 20 69 74 20 77 69 6c 6c 20 62 65 20 75 73 65 66 75 6c 2c 0a 20 20 20 62 75 74 20 57 49 hat.it.will.be.useful,....but.WI
681a0 54 48 4f 55 54 20 41 4e 59 20 57 41 52 52 41 4e 54 59 3b 20 77 69 74 68 6f 75 74 20 65 76 65 6e THOUT.ANY.WARRANTY;.without.even
681c0 20 74 68 65 20 69 6d 70 6c 69 65 64 20 77 61 72 72 61 6e 74 79 20 6f 66 0a 20 20 20 4d 45 52 43 .the.implied.warranty.of....MERC
681e0 48 41 4e 54 41 42 49 4c 49 54 59 20 6f 72 20 46 49 54 4e 45 53 53 20 46 4f 52 20 41 20 50 41 52 HANTABILITY.or.FITNESS.FOR.A.PAR
68200 54 49 43 55 4c 41 52 20 50 55 52 50 4f 53 45 2e 20 20 53 65 65 20 74 68 65 0a 20 20 20 47 4e 55 TICULAR.PURPOSE...See.the....GNU
68220 20 47 65 6e 65 72 61 6c 20 50 75 62 6c 69 63 20 4c 69 63 65 6e 73 65 20 66 6f 72 20 6d 6f 72 65 .General.Public.License.for.more
68240 20 64 65 74 61 69 6c 73 2e 0a 0a 20 20 20 59 6f 75 20 73 68 6f 75 6c 64 20 68 61 76 65 20 72 65 .details......You.should.have.re
68260 63 65 69 76 65 64 20 61 20 63 6f 70 79 20 6f 66 20 74 68 65 20 47 4e 55 20 47 65 6e 65 72 61 6c ceived.a.copy.of.the.GNU.General
68280 20 50 75 62 6c 69 63 20 4c 69 63 65 6e 73 65 0a 20 20 20 61 6c 6f 6e 67 20 77 69 74 68 20 74 68 .Public.License....along.with.th
682a0 69 73 20 70 72 6f 67 72 61 6d 2e 20 20 49 66 20 6e 6f 74 2c 20 73 65 65 20 3c 68 74 74 70 3a 2f is.program...If.not,.see.<http:/
682c0 2f 77 77 77 2e 67 6e 75 2e 6f 72 67 2f 6c 69 63 65 6e 73 65 73 2f 3e 2e 0a 2a 2f 0a 0a 23 64 65 /www.gnu.org/licenses/>..*/..#de
682e0 66 69 6e 65 20 5f 46 49 4c 45 5f 4f 46 46 53 45 54 5f 42 49 54 53 20 36 34 0a 0a 23 69 6e 63 6c fine._FILE_OFFSET_BITS.64..#incl
68300 75 64 65 20 3c 61 6c 67 6f 72 69 74 68 6d 3e 0a 23 69 6e 63 6c 75 64 65 20 3c 63 65 72 72 6e 6f ude.<algorithm>.#include.<cerrno
68320 3e 0a 23 69 6e 63 6c 75 64 65 20 3c 63 73 74 64 69 6f 3e 0a 23 69 6e 63 6c 75 64 65 20 3c 63 73 >.#include.<cstdio>.#include.<cs
68340 74 64 6c 69 62 3e 0a 23 69 6e 63 6c 75 64 65 20 3c 63 73 74 72 69 6e 67 3e 0a 23 69 6e 63 6c 75 tdlib>.#include.<cstring>.#inclu
68360 64 65 20 3c 73 74 72 69 6e 67 3e 0a 23 69 6e 63 6c 75 64 65 20 3c 76 65 63 74 6f 72 3e 0a 23 69 de.<string>.#include.<vector>.#i
68380 6e 63 6c 75 64 65 20 3c 73 74 64 69 6e 74 2e 68 3e 0a 23 69 6e 63 6c 75 64 65 20 3c 75 6e 69 73 nclude.<stdint.h>.#include.<unis
683a0 74 64 2e 68 3e 0a 0a 23 69 6e 63 6c 75 64 65 20 22 6c 7a 69 70 2e 68 22 0a 23 69 6e 63 6c 75 64 td.h>..#include."lzip.h".#includ
683c0 65 20 22 64 65 63 6f 64 65 72 2e 68 22 0a 0a 0a 2f 2a 20 52 65 74 75 72 6e 73 20 74 68 65 20 6e e."decoder.h".../*.Returns.the.n
683e0 75 6d 62 65 72 20 6f 66 20 62 79 74 65 73 20 72 65 61 6c 6c 79 20 72 65 61 64 2e 0a 20 20 20 49 umber.of.bytes.really.read.....I
68400 66 20 28 72 65 74 75 72 6e 65 64 20 76 61 6c 75 65 20 3c 20 73 69 7a 65 29 20 61 6e 64 20 28 65 f.(returned.value.<.size).and.(e
68420 72 72 6e 6f 20 3d 3d 20 30 29 2c 20 6d 65 61 6e 73 20 45 4f 46 20 77 61 73 20 72 65 61 63 68 65 rrno.==.0),.means.EOF.was.reache
68440 64 2e 0a 2a 2f 0a 69 6e 74 20 72 65 61 64 62 6c 6f 63 6b 28 20 63 6f 6e 73 74 20 69 6e 74 20 66 d..*/.int.readblock(.const.int.f
68460 64 2c 20 75 69 6e 74 38 5f 74 20 2a 20 63 6f 6e 73 74 20 62 75 66 2c 20 63 6f 6e 73 74 20 69 6e d,.uint8_t.*.const.buf,.const.in
68480 74 20 73 69 7a 65 20 29 0a 20 20 7b 0a 20 20 69 6e 74 20 73 7a 20 3d 20 30 3b 0a 20 20 65 72 72 t.size.)...{...int.sz.=.0;...err
684a0 6e 6f 20 3d 20 30 3b 0a 20 20 77 68 69 6c 65 28 20 73 7a 20 3c 20 73 69 7a 65 20 29 0a 20 20 20 no.=.0;...while(.sz.<.size.)....
684c0 20 7b 0a 20 20 20 20 63 6f 6e 73 74 20 69 6e 74 20 6e 20 3d 20 72 65 61 64 28 20 66 64 2c 20 62 .{.....const.int.n.=.read(.fd,.b
684e0 75 66 20 2b 20 73 7a 2c 20 73 69 7a 65 20 2d 20 73 7a 20 29 3b 0a 20 20 20 20 69 66 28 20 6e 20 uf.+.sz,.size.-.sz.);.....if(.n.
68500 3e 20 30 20 29 20 73 7a 20 2b 3d 20 6e 3b 0a 20 20 20 20 65 6c 73 65 20 69 66 28 20 6e 20 3d 3d >.0.).sz.+=.n;.....else.if(.n.==
68520 20 30 20 29 20 62 72 65 61 6b 3b 09 09 09 09 2f 2f 20 45 4f 46 0a 20 20 20 20 65 6c 73 65 20 69 .0.).break;....//.EOF.....else.i
68540 66 28 20 65 72 72 6e 6f 20 21 3d 20 45 49 4e 54 52 20 29 20 62 72 65 61 6b 3b 0a 20 20 20 20 65 f(.errno.!=.EINTR.).break;.....e
68560 72 72 6e 6f 20 3d 20 30 3b 0a 20 20 20 20 7d 0a 20 20 72 65 74 75 72 6e 20 73 7a 3b 0a 20 20 7d rrno.=.0;.....}...return.sz;...}
68580 0a 0a 0a 2f 2a 20 52 65 74 75 72 6e 73 20 74 68 65 20 6e 75 6d 62 65 72 20 6f 66 20 62 79 74 65 .../*.Returns.the.number.of.byte
685a0 73 20 72 65 61 6c 6c 79 20 77 72 69 74 74 65 6e 2e 0a 20 20 20 49 66 20 28 72 65 74 75 72 6e 65 s.really.written.....If.(returne
685c0 64 20 76 61 6c 75 65 20 3c 20 73 69 7a 65 29 2c 20 69 74 20 69 73 20 61 6c 77 61 79 73 20 61 6e d.value.<.size),.it.is.always.an
685e0 20 65 72 72 6f 72 2e 0a 2a 2f 0a 69 6e 74 20 77 72 69 74 65 62 6c 6f 63 6b 28 20 63 6f 6e 73 74 .error..*/.int.writeblock(.const
68600 20 69 6e 74 20 66 64 2c 20 63 6f 6e 73 74 20 75 69 6e 74 38 5f 74 20 2a 20 63 6f 6e 73 74 20 62 .int.fd,.const.uint8_t.*.const.b
68620 75 66 2c 20 63 6f 6e 73 74 20 69 6e 74 20 73 69 7a 65 20 29 0a 20 20 7b 0a 20 20 69 6e 74 20 73 uf,.const.int.size.)...{...int.s
68640 7a 20 3d 20 30 3b 0a 20 20 65 72 72 6e 6f 20 3d 20 30 3b 0a 20 20 77 68 69 6c 65 28 20 73 7a 20 z.=.0;...errno.=.0;...while(.sz.
68660 3c 20 73 69 7a 65 20 29 0a 20 20 20 20 7b 0a 20 20 20 20 63 6f 6e 73 74 20 69 6e 74 20 6e 20 3d <.size.).....{.....const.int.n.=
68680 20 77 72 69 74 65 28 20 66 64 2c 20 62 75 66 20 2b 20 73 7a 2c 20 73 69 7a 65 20 2d 20 73 7a 20 .write(.fd,.buf.+.sz,.size.-.sz.
686a0 29 3b 0a 20 20 20 20 69 66 28 20 6e 20 3e 20 30 20 29 20 73 7a 20 2b 3d 20 6e 3b 0a 20 20 20 20 );.....if(.n.>.0.).sz.+=.n;.....
686c0 65 6c 73 65 20 69 66 28 20 6e 20 3c 20 30 20 26 26 20 65 72 72 6e 6f 20 21 3d 20 45 49 4e 54 52 else.if(.n.<.0.&&.errno.!=.EINTR
686e0 20 29 20 62 72 65 61 6b 3b 0a 20 20 20 20 65 72 72 6e 6f 20 3d 20 30 3b 0a 20 20 20 20 7d 0a 20 .).break;.....errno.=.0;.....}..
68700 20 72 65 74 75 72 6e 20 73 7a 3b 0a 20 20 7d 0a 0a 0a 62 6f 6f 6c 20 52 61 6e 67 65 5f 64 65 63 .return.sz;...}...bool.Range_dec
68720 6f 64 65 72 3a 3a 72 65 61 64 5f 62 6c 6f 63 6b 28 29 0a 20 20 7b 0a 20 20 69 66 28 20 21 61 74 oder::read_block()...{...if(.!at
68740 5f 73 74 72 65 61 6d 5f 65 6e 64 20 29 0a 20 20 20 20 7b 0a 20 20 20 20 73 74 72 65 61 6d 5f 70 _stream_end.).....{.....stream_p
68760 6f 73 20 3d 20 72 65 61 64 62 6c 6f 63 6b 28 20 69 6e 66 64 2c 20 62 75 66 66 65 72 2c 20 62 75 os.=.readblock(.infd,.buffer,.bu
68780 66 66 65 72 5f 73 69 7a 65 20 29 3b 0a 20 20 20 20 69 66 28 20 73 74 72 65 61 6d 5f 70 6f 73 20 ffer_size.);.....if(.stream_pos.
687a0 21 3d 20 62 75 66 66 65 72 5f 73 69 7a 65 20 26 26 20 65 72 72 6e 6f 20 29 20 74 68 72 6f 77 20 !=.buffer_size.&&.errno.).throw.
687c0 45 72 72 6f 72 28 20 22 52 65 61 64 20 65 72 72 6f 72 22 20 29 3b 0a 20 20 20 20 61 74 5f 73 74 Error(."Read.error".);.....at_st
687e0 72 65 61 6d 5f 65 6e 64 20 3d 20 28 20 73 74 72 65 61 6d 5f 70 6f 73 20 3c 20 62 75 66 66 65 72 ream_end.=.(.stream_pos.<.buffer
68800 5f 73 69 7a 65 20 29 3b 0a 20 20 20 20 70 61 72 74 69 61 6c 5f 6d 65 6d 62 65 72 5f 70 6f 73 20 _size.);.....partial_member_pos.
68820 2b 3d 20 70 6f 73 3b 0a 20 20 20 20 70 6f 73 20 3d 20 30 3b 0a 20 20 20 20 73 68 6f 77 5f 64 70 +=.pos;.....pos.=.0;.....show_dp
68840 72 6f 67 72 65 73 73 28 29 3b 0a 20 20 20 20 7d 0a 20 20 72 65 74 75 72 6e 20 70 6f 73 20 3c 20 rogress();.....}...return.pos.<.
68860 73 74 72 65 61 6d 5f 70 6f 73 3b 0a 20 20 7d 0a 0a 0a 76 6f 69 64 20 4c 5a 5f 64 65 63 6f 64 65 stream_pos;...}...void.LZ_decode
68880 72 3a 3a 66 6c 75 73 68 5f 64 61 74 61 28 29 0a 20 20 7b 0a 20 20 69 66 28 20 70 6f 73 20 3e 20 r::flush_data()...{...if(.pos.>.
688a0 73 74 72 65 61 6d 5f 70 6f 73 20 29 0a 20 20 20 20 7b 0a 20 20 20 20 63 6f 6e 73 74 20 69 6e 74 stream_pos.).....{.....const.int
688c0 20 73 69 7a 65 20 3d 20 70 6f 73 20 2d 20 73 74 72 65 61 6d 5f 70 6f 73 3b 0a 20 20 20 20 63 72 .size.=.pos.-.stream_pos;.....cr
688e0 63 33 32 2e 75 70 64 61 74 65 5f 62 75 66 28 20 63 72 63 5f 2c 20 62 75 66 66 65 72 20 2b 20 73 c32.update_buf(.crc_,.buffer.+.s
68900 74 72 65 61 6d 5f 70 6f 73 2c 20 73 69 7a 65 20 29 3b 0a 20 20 20 20 69 66 28 20 6f 75 74 66 64 tream_pos,.size.);.....if(.outfd
68920 20 3e 3d 20 30 20 26 26 20 77 72 69 74 65 62 6c 6f 63 6b 28 20 6f 75 74 66 64 2c 20 62 75 66 66 .>=.0.&&.writeblock(.outfd,.buff
68940 65 72 20 2b 20 73 74 72 65 61 6d 5f 70 6f 73 2c 20 73 69 7a 65 20 29 20 21 3d 20 73 69 7a 65 20 er.+.stream_pos,.size.).!=.size.
68960 29 0a 20 20 20 20 20 20 74 68 72 6f 77 20 45 72 72 6f 72 28 20 22 57 72 69 74 65 20 65 72 72 6f ).......throw.Error(."Write.erro
68980 72 22 20 29 3b 0a 20 20 20 20 69 66 28 20 70 6f 73 20 3e 3d 20 64 69 63 74 69 6f 6e 61 72 79 5f r".);.....if(.pos.>=.dictionary_
689a0 73 69 7a 65 20 29 0a 20 20 20 20 20 20 7b 20 70 61 72 74 69 61 6c 5f 64 61 74 61 5f 70 6f 73 20 size.).......{.partial_data_pos.
689c0 2b 3d 20 70 6f 73 3b 20 70 6f 73 20 3d 20 30 3b 20 70 6f 73 5f 77 72 61 70 70 65 64 20 3d 20 74 +=.pos;.pos.=.0;.pos_wrapped.=.t
689e0 72 75 65 3b 20 7d 0a 20 20 20 20 73 74 72 65 61 6d 5f 70 6f 73 20 3d 20 70 6f 73 3b 0a 20 20 20 rue;.}.....stream_pos.=.pos;....
68a00 20 7d 0a 20 20 7d 0a 0a 0a 62 6f 6f 6c 20 4c 5a 5f 64 65 63 6f 64 65 72 3a 3a 76 65 72 69 66 79 .}...}...bool.LZ_decoder::verify
68a20 5f 74 72 61 69 6c 65 72 28 20 63 6f 6e 73 74 20 50 72 65 74 74 79 5f 70 72 69 6e 74 20 26 20 70 _trailer(.const.Pretty_print.&.p
68a40 70 20 29 20 63 6f 6e 73 74 0a 20 20 7b 0a 20 20 4c 7a 69 70 5f 74 72 61 69 6c 65 72 20 74 72 61 p.).const...{...Lzip_trailer.tra
68a60 69 6c 65 72 3b 0a 20 20 69 6e 74 20 73 69 7a 65 20 3d 20 72 64 65 63 2e 72 65 61 64 5f 64 61 74 iler;...int.size.=.rdec.read_dat
68a80 61 28 20 74 72 61 69 6c 65 72 2e 64 61 74 61 2c 20 4c 7a 69 70 5f 74 72 61 69 6c 65 72 3a 3a 73 a(.trailer.data,.Lzip_trailer::s
68aa0 69 7a 65 20 29 3b 0a 20 20 63 6f 6e 73 74 20 75 6e 73 69 67 6e 65 64 20 6c 6f 6e 67 20 6c 6f 6e ize.);...const.unsigned.long.lon
68ac0 67 20 64 61 74 61 5f 73 69 7a 65 20 3d 20 64 61 74 61 5f 70 6f 73 69 74 69 6f 6e 28 29 3b 0a 20 g.data_size.=.data_position();..
68ae0 20 63 6f 6e 73 74 20 75 6e 73 69 67 6e 65 64 20 6c 6f 6e 67 20 6c 6f 6e 67 20 6d 65 6d 62 65 72 .const.unsigned.long.long.member
68b00 5f 73 69 7a 65 20 3d 20 72 64 65 63 2e 6d 65 6d 62 65 72 5f 70 6f 73 69 74 69 6f 6e 28 29 3b 0a _size.=.rdec.member_position();.
68b20 20 20 62 6f 6f 6c 20 65 72 72 6f 72 20 3d 20 66 61 6c 73 65 3b 0a 0a 20 20 69 66 28 20 73 69 7a ..bool.error.=.false;....if(.siz
68b40 65 20 3c 20 4c 7a 69 70 5f 74 72 61 69 6c 65 72 3a 3a 73 69 7a 65 20 29 0a 20 20 20 20 7b 0a 20 e.<.Lzip_trailer::size.).....{..
68b60 20 20 20 65 72 72 6f 72 20 3d 20 74 72 75 65 3b 0a 20 20 20 20 69 66 28 20 76 65 72 62 6f 73 69 ...error.=.true;.....if(.verbosi
68b80 74 79 20 3e 3d 20 30 20 29 0a 20 20 20 20 20 20 7b 0a 20 20 20 20 20 20 70 70 28 29 3b 0a 20 20 ty.>=.0.).......{.......pp();...
68ba0 20 20 20 20 73 74 64 3a 3a 66 70 72 69 6e 74 66 28 20 73 74 64 65 72 72 2c 20 22 54 72 61 69 6c ....std::fprintf(.stderr,."Trail
68bc0 65 72 20 74 72 75 6e 63 61 74 65 64 20 61 74 20 74 72 61 69 6c 65 72 20 70 6f 73 69 74 69 6f 6e er.truncated.at.trailer.position
68be0 20 25 64 3b 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .%d;"...........................
68c00 20 20 22 20 73 6f 6d 65 20 63 68 65 63 6b 73 20 6d 61 79 20 66 61 69 6c 2e 5c 6e 22 2c 20 73 69 ..".some.checks.may.fail.\n",.si
68c20 7a 65 20 29 3b 0a 20 20 20 20 20 20 7d 0a 20 20 20 20 77 68 69 6c 65 28 20 73 69 7a 65 20 3c 20 ze.);.......}.....while(.size.<.
68c40 4c 7a 69 70 5f 74 72 61 69 6c 65 72 3a 3a 73 69 7a 65 20 29 20 74 72 61 69 6c 65 72 2e 64 61 74 Lzip_trailer::size.).trailer.dat
68c60 61 5b 73 69 7a 65 2b 2b 5d 20 3d 20 30 3b 0a 20 20 20 20 7d 0a 0a 20 20 63 6f 6e 73 74 20 75 6e a[size++].=.0;.....}....const.un
68c80 73 69 67 6e 65 64 20 74 64 5f 63 72 63 20 3d 20 74 72 61 69 6c 65 72 2e 64 61 74 61 5f 63 72 63 signed.td_crc.=.trailer.data_crc
68ca0 28 29 3b 0a 20 20 69 66 28 20 74 64 5f 63 72 63 20 21 3d 20 63 72 63 28 29 20 29 0a 20 20 20 20 ();...if(.td_crc.!=.crc().).....
68cc0 7b 0a 20 20 20 20 65 72 72 6f 72 20 3d 20 74 72 75 65 3b 0a 20 20 20 20 69 66 28 20 76 65 72 62 {.....error.=.true;.....if(.verb
68ce0 6f 73 69 74 79 20 3e 3d 20 30 20 29 0a 20 20 20 20 20 20 7b 0a 20 20 20 20 20 20 70 70 28 29 3b osity.>=.0.).......{.......pp();
68d00 0a 20 20 20 20 20 20 73 74 64 3a 3a 66 70 72 69 6e 74 66 28 20 73 74 64 65 72 72 2c 20 22 43 52 .......std::fprintf(.stderr,."CR
68d20 43 20 6d 69 73 6d 61 74 63 68 3b 20 73 74 6f 72 65 64 20 25 30 38 58 2c 20 63 6f 6d 70 75 74 65 C.mismatch;.stored.%08X,.compute
68d40 64 20 25 30 38 58 5c 6e 22 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 74 d.%08X\n",.....................t
68d60 64 5f 63 72 63 2c 20 63 72 63 28 29 20 29 3b 0a 20 20 20 20 20 20 7d 0a 20 20 20 20 7d 0a 20 20 d_crc,.crc().);.......}.....}...
68d80 63 6f 6e 73 74 20 75 6e 73 69 67 6e 65 64 20 6c 6f 6e 67 20 6c 6f 6e 67 20 74 64 5f 73 69 7a 65 const.unsigned.long.long.td_size
68da0 20 3d 20 74 72 61 69 6c 65 72 2e 64 61 74 61 5f 73 69 7a 65 28 29 3b 0a 20 20 69 66 28 20 74 64 .=.trailer.data_size();...if(.td
68dc0 5f 73 69 7a 65 20 21 3d 20 64 61 74 61 5f 73 69 7a 65 20 29 0a 20 20 20 20 7b 0a 20 20 20 20 65 _size.!=.data_size.).....{.....e
68de0 72 72 6f 72 20 3d 20 74 72 75 65 3b 0a 20 20 20 20 69 66 28 20 76 65 72 62 6f 73 69 74 79 20 3e rror.=.true;.....if(.verbosity.>
68e00 3d 20 30 20 29 0a 20 20 20 20 20 20 7b 0a 20 20 20 20 20 20 70 70 28 29 3b 0a 20 20 20 20 20 20 =.0.).......{.......pp();.......
68e20 73 74 64 3a 3a 66 70 72 69 6e 74 66 28 20 73 74 64 65 72 72 2c 20 22 44 61 74 61 20 73 69 7a 65 std::fprintf(.stderr,."Data.size
68e40 20 6d 69 73 6d 61 74 63 68 3b 20 73 74 6f 72 65 64 20 25 6c 6c 75 20 28 30 78 25 6c 6c 58 29 2c .mismatch;.stored.%llu.(0x%llX),
68e60 20 63 6f 6d 70 75 74 65 64 20 25 6c 6c 75 20 28 30 78 25 6c 6c 58 29 5c 6e 22 2c 0a 20 20 20 20 .computed.%llu.(0x%llX)\n",.....
68e80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 74 64 5f 73 69 7a 65 2c 20 74 64 5f 73 69 7a 65 ................td_size,.td_size
68ea0 2c 20 64 61 74 61 5f 73 69 7a 65 2c 20 64 61 74 61 5f 73 69 7a 65 20 29 3b 0a 20 20 20 20 20 20 ,.data_size,.data_size.);.......
68ec0 7d 0a 20 20 20 20 7d 0a 20 20 63 6f 6e 73 74 20 75 6e 73 69 67 6e 65 64 20 6c 6f 6e 67 20 6c 6f }.....}...const.unsigned.long.lo
68ee0 6e 67 20 74 6d 5f 73 69 7a 65 20 3d 20 74 72 61 69 6c 65 72 2e 6d 65 6d 62 65 72 5f 73 69 7a 65 ng.tm_size.=.trailer.member_size
68f00 28 29 3b 0a 20 20 69 66 28 20 74 6d 5f 73 69 7a 65 20 21 3d 20 6d 65 6d 62 65 72 5f 73 69 7a 65 ();...if(.tm_size.!=.member_size
68f20 20 29 0a 20 20 20 20 7b 0a 20 20 20 20 65 72 72 6f 72 20 3d 20 74 72 75 65 3b 0a 20 20 20 20 69 .).....{.....error.=.true;.....i
68f40 66 28 20 76 65 72 62 6f 73 69 74 79 20 3e 3d 20 30 20 29 0a 20 20 20 20 20 20 7b 0a 20 20 20 20 f(.verbosity.>=.0.).......{.....
68f60 20 20 70 70 28 29 3b 0a 20 20 20 20 20 20 73 74 64 3a 3a 66 70 72 69 6e 74 66 28 20 73 74 64 65 ..pp();.......std::fprintf(.stde
68f80 72 72 2c 20 22 4d 65 6d 62 65 72 20 73 69 7a 65 20 6d 69 73 6d 61 74 63 68 3b 20 73 74 6f 72 65 rr,."Member.size.mismatch;.store
68fa0 64 20 25 6c 6c 75 20 28 30 78 25 6c 6c 58 29 2c 20 63 6f 6d 70 75 74 65 64 20 25 6c 6c 75 20 28 d.%llu.(0x%llX),.computed.%llu.(
68fc0 30 78 25 6c 6c 58 29 5c 6e 22 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 0x%llX)\n",.....................
68fe0 74 6d 5f 73 69 7a 65 2c 20 74 6d 5f 73 69 7a 65 2c 20 6d 65 6d 62 65 72 5f 73 69 7a 65 2c 20 6d tm_size,.tm_size,.member_size,.m
69000 65 6d 62 65 72 5f 73 69 7a 65 20 29 3b 0a 20 20 20 20 20 20 7d 0a 20 20 20 20 7d 0a 20 20 69 66 ember_size.);.......}.....}...if
69020 28 20 65 72 72 6f 72 20 29 20 72 65 74 75 72 6e 20 66 61 6c 73 65 3b 0a 20 20 69 66 28 20 76 65 (.error.).return.false;...if(.ve
69040 72 62 6f 73 69 74 79 20 3e 3d 20 32 20 29 0a 20 20 20 20 7b 0a 20 20 20 20 69 66 28 20 76 65 72 rbosity.>=.2.).....{.....if(.ver
69060 62 6f 73 69 74 79 20 3e 3d 20 34 20 29 20 73 68 6f 77 5f 68 65 61 64 65 72 28 20 64 69 63 74 69 bosity.>=.4.).show_header(.dicti
69080 6f 6e 61 72 79 5f 73 69 7a 65 20 29 3b 0a 20 20 20 20 69 66 28 20 64 61 74 61 5f 73 69 7a 65 20 onary_size.);.....if(.data_size.
690a0 3d 3d 20 30 20 7c 7c 20 6d 65 6d 62 65 72 5f 73 69 7a 65 20 3d 3d 20 30 20 29 0a 20 20 20 20 20 ==.0.||.member_size.==.0.)......
690c0 20 73 74 64 3a 3a 66 70 75 74 73 28 20 22 6e 6f 20 64 61 74 61 20 63 6f 6d 70 72 65 73 73 65 64 .std::fputs(."no.data.compressed
690e0 2e 20 22 2c 20 73 74 64 65 72 72 20 29 3b 0a 20 20 20 20 65 6c 73 65 0a 20 20 20 20 20 20 73 74 ..",.stderr.);.....else.......st
69100 64 3a 3a 66 70 72 69 6e 74 66 28 20 73 74 64 65 72 72 2c 20 22 25 36 2e 33 66 3a 31 2c 20 25 35 d::fprintf(.stderr,."%6.3f:1,.%5
69120 2e 32 66 25 25 20 72 61 74 69 6f 2c 20 25 35 2e 32 66 25 25 20 73 61 76 65 64 2e 20 22 2c 0a 20 .2f%%.ratio,.%5.2f%%.saved..",..
69140 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 64 6f 75 62 6c 65 29 64 61 74 61 5f ...................(double)data_
69160 73 69 7a 65 20 2f 20 6d 65 6d 62 65 72 5f 73 69 7a 65 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 size./.member_size,.............
69180 20 20 20 20 20 20 20 20 28 20 31 30 30 2e 30 20 2a 20 6d 65 6d 62 65 72 5f 73 69 7a 65 20 29 20 ........(.100.0.*.member_size.).
691a0 2f 20 64 61 74 61 5f 73 69 7a 65 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 /.data_size,....................
691c0 20 31 30 30 2e 30 20 2d 20 28 20 28 20 31 30 30 2e 30 20 2a 20 6d 65 6d 62 65 72 5f 73 69 7a 65 .100.0.-.(.(.100.0.*.member_size
691e0 20 29 20 2f 20 64 61 74 61 5f 73 69 7a 65 20 29 20 29 3b 0a 20 20 20 20 69 66 28 20 76 65 72 62 .)./.data_size.).);.....if(.verb
69200 6f 73 69 74 79 20 3e 3d 20 34 20 29 20 73 74 64 3a 3a 66 70 72 69 6e 74 66 28 20 73 74 64 65 72 osity.>=.4.).std::fprintf(.stder
69220 72 2c 20 22 43 52 43 20 25 30 38 58 2c 20 22 2c 20 74 64 5f 63 72 63 20 29 3b 0a 20 20 20 20 69 r,."CRC.%08X,.",.td_crc.);.....i
69240 66 28 20 76 65 72 62 6f 73 69 74 79 20 3e 3d 20 33 20 29 0a 20 20 20 20 20 20 73 74 64 3a 3a 66 f(.verbosity.>=.3.).......std::f
69260 70 72 69 6e 74 66 28 20 73 74 64 65 72 72 2c 20 22 25 39 6c 6c 75 20 6f 75 74 2c 20 25 38 6c 6c printf(.stderr,."%9llu.out,.%8ll
69280 75 20 69 6e 2e 20 22 2c 20 64 61 74 61 5f 73 69 7a 65 2c 20 6d 65 6d 62 65 72 5f 73 69 7a 65 20 u.in..",.data_size,.member_size.
692a0 29 3b 0a 20 20 20 20 7d 0a 20 20 72 65 74 75 72 6e 20 74 72 75 65 3b 0a 20 20 7d 0a 0a 0a 2f 2a );.....}...return.true;...}.../*
692c0 20 52 65 74 75 72 6e 20 76 61 6c 75 65 3a 20 30 20 3d 20 4f 4b 2c 20 31 20 3d 20 64 65 63 6f 64 .Return.value:.0.=.OK,.1.=.decod
692e0 65 72 20 65 72 72 6f 72 2c 20 32 20 3d 20 75 6e 65 78 70 65 63 74 65 64 20 45 4f 46 2c 0a 20 20 er.error,.2.=.unexpected.EOF,...
69300 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 33 20 3d 20 74 72 61 69 6c 65 72 20 65 72 72 6f 72 ...............3.=.trailer.error
69320 2c 20 34 20 3d 20 75 6e 6b 6e 6f 77 6e 20 6d 61 72 6b 65 72 20 66 6f 75 6e 64 2e 20 2a 2f 0a 69 ,.4.=.unknown.marker.found..*/.i
69340 6e 74 20 4c 5a 5f 64 65 63 6f 64 65 72 3a 3a 64 65 63 6f 64 65 5f 6d 65 6d 62 65 72 28 20 63 6f nt.LZ_decoder::decode_member(.co
69360 6e 73 74 20 50 72 65 74 74 79 5f 70 72 69 6e 74 20 26 20 70 70 20 29 0a 20 20 7b 0a 20 20 42 69 nst.Pretty_print.&.pp.)...{...Bi
69380 74 5f 6d 6f 64 65 6c 20 62 6d 5f 6c 69 74 65 72 61 6c 5b 31 3c 3c 6c 69 74 65 72 61 6c 5f 63 6f t_model.bm_literal[1<<literal_co
693a0 6e 74 65 78 74 5f 62 69 74 73 5d 5b 30 78 33 30 30 5d 3b 0a 20 20 42 69 74 5f 6d 6f 64 65 6c 20 ntext_bits][0x300];...Bit_model.
693c0 62 6d 5f 6d 61 74 63 68 5b 53 74 61 74 65 3a 3a 73 74 61 74 65 73 5d 5b 70 6f 73 5f 73 74 61 74 bm_match[State::states][pos_stat
693e0 65 73 5d 3b 0a 20 20 42 69 74 5f 6d 6f 64 65 6c 20 62 6d 5f 72 65 70 5b 53 74 61 74 65 3a 3a 73 es];...Bit_model.bm_rep[State::s
69400 74 61 74 65 73 5d 3b 0a 20 20 42 69 74 5f 6d 6f 64 65 6c 20 62 6d 5f 72 65 70 30 5b 53 74 61 74 tates];...Bit_model.bm_rep0[Stat
69420 65 3a 3a 73 74 61 74 65 73 5d 3b 0a 20 20 42 69 74 5f 6d 6f 64 65 6c 20 62 6d 5f 72 65 70 31 5b e::states];...Bit_model.bm_rep1[
69440 53 74 61 74 65 3a 3a 73 74 61 74 65 73 5d 3b 0a 20 20 42 69 74 5f 6d 6f 64 65 6c 20 62 6d 5f 72 State::states];...Bit_model.bm_r
69460 65 70 32 5b 53 74 61 74 65 3a 3a 73 74 61 74 65 73 5d 3b 0a 20 20 42 69 74 5f 6d 6f 64 65 6c 20 ep2[State::states];...Bit_model.
69480 62 6d 5f 6c 65 6e 5b 53 74 61 74 65 3a 3a 73 74 61 74 65 73 5d 5b 70 6f 73 5f 73 74 61 74 65 73 bm_len[State::states][pos_states
694a0 5d 3b 0a 20 20 42 69 74 5f 6d 6f 64 65 6c 20 62 6d 5f 64 69 73 5f 73 6c 6f 74 5b 6c 65 6e 5f 73 ];...Bit_model.bm_dis_slot[len_s
694c0 74 61 74 65 73 5d 5b 31 3c 3c 64 69 73 5f 73 6c 6f 74 5f 62 69 74 73 5d 3b 0a 20 20 42 69 74 5f tates][1<<dis_slot_bits];...Bit_
694e0 6d 6f 64 65 6c 20 62 6d 5f 64 69 73 5b 6d 6f 64 65 6c 65 64 5f 64 69 73 74 61 6e 63 65 73 2d 65 model.bm_dis[modeled_distances-e
69500 6e 64 5f 64 69 73 5f 6d 6f 64 65 6c 2b 31 5d 3b 0a 20 20 42 69 74 5f 6d 6f 64 65 6c 20 62 6d 5f nd_dis_model+1];...Bit_model.bm_
69520 61 6c 69 67 6e 5b 64 69 73 5f 61 6c 69 67 6e 5f 73 69 7a 65 5d 3b 0a 20 20 4c 65 6e 5f 6d 6f 64 align[dis_align_size];...Len_mod
69540 65 6c 20 6d 61 74 63 68 5f 6c 65 6e 5f 6d 6f 64 65 6c 3b 0a 20 20 4c 65 6e 5f 6d 6f 64 65 6c 20 el.match_len_model;...Len_model.
69560 72 65 70 5f 6c 65 6e 5f 6d 6f 64 65 6c 3b 0a 20 20 75 6e 73 69 67 6e 65 64 20 72 65 70 30 20 3d rep_len_model;...unsigned.rep0.=
69580 20 30 3b 09 09 2f 2f 20 72 65 70 5b 30 2d 33 5d 20 6c 61 74 65 73 74 20 66 6f 75 72 20 64 69 73 .0;..//.rep[0-3].latest.four.dis
695a0 74 61 6e 63 65 73 0a 20 20 75 6e 73 69 67 6e 65 64 20 72 65 70 31 20 3d 20 30 3b 09 09 2f 2f 20 tances...unsigned.rep1.=.0;..//.
695c0 75 73 65 64 20 66 6f 72 20 65 66 66 69 63 69 65 6e 74 20 63 6f 64 69 6e 67 20 6f 66 0a 20 20 75 used.for.efficient.coding.of...u
695e0 6e 73 69 67 6e 65 64 20 72 65 70 32 20 3d 20 30 3b 09 09 2f 2f 20 72 65 70 65 61 74 65 64 20 64 nsigned.rep2.=.0;..//.repeated.d
69600 69 73 74 61 6e 63 65 73 0a 20 20 75 6e 73 69 67 6e 65 64 20 72 65 70 33 20 3d 20 30 3b 0a 20 20 istances...unsigned.rep3.=.0;...
69620 53 74 61 74 65 20 73 74 61 74 65 3b 0a 0a 20 20 72 64 65 63 2e 6c 6f 61 64 28 29 3b 0a 20 20 77 State.state;....rdec.load();...w
69640 68 69 6c 65 28 20 21 72 64 65 63 2e 66 69 6e 69 73 68 65 64 28 29 20 29 0a 20 20 20 20 7b 0a 20 hile(.!rdec.finished().).....{..
69660 20 20 20 63 6f 6e 73 74 20 69 6e 74 20 70 6f 73 5f 73 74 61 74 65 20 3d 20 64 61 74 61 5f 70 6f ...const.int.pos_state.=.data_po
69680 73 69 74 69 6f 6e 28 29 20 26 20 70 6f 73 5f 73 74 61 74 65 5f 6d 61 73 6b 3b 0a 20 20 20 20 69 sition().&.pos_state_mask;.....i
696a0 66 28 20 72 64 65 63 2e 64 65 63 6f 64 65 5f 62 69 74 28 20 62 6d 5f 6d 61 74 63 68 5b 73 74 61 f(.rdec.decode_bit(.bm_match[sta
696c0 74 65 28 29 5d 5b 70 6f 73 5f 73 74 61 74 65 5d 20 29 20 3d 3d 20 30 20 29 09 2f 2f 20 31 73 74 te()][pos_state].).==.0.).//.1st
696e0 20 62 69 74 0a 20 20 20 20 20 20 7b 0a 20 20 20 20 20 20 2f 2f 20 6c 69 74 65 72 61 6c 20 62 79 .bit.......{.......//.literal.by
69700 74 65 0a 20 20 20 20 20 20 42 69 74 5f 6d 6f 64 65 6c 20 2a 20 63 6f 6e 73 74 20 62 6d 20 3d 20 te.......Bit_model.*.const.bm.=.
69720 62 6d 5f 6c 69 74 65 72 61 6c 5b 67 65 74 5f 6c 69 74 5f 73 74 61 74 65 28 70 65 65 6b 5f 70 72 bm_literal[get_lit_state(peek_pr
69740 65 76 28 29 29 5d 3b 0a 20 20 20 20 20 20 69 66 28 20 73 74 61 74 65 2e 69 73 5f 63 68 61 72 5f ev())];.......if(.state.is_char_
69760 73 65 74 5f 63 68 61 72 28 29 20 29 0a 20 20 20 20 20 20 20 20 70 75 74 5f 62 79 74 65 28 20 72 set_char().).........put_byte(.r
69780 64 65 63 2e 64 65 63 6f 64 65 5f 74 72 65 65 38 28 20 62 6d 20 29 20 29 3b 0a 20 20 20 20 20 20 dec.decode_tree8(.bm.).);.......
697a0 65 6c 73 65 0a 20 20 20 20 20 20 20 20 70 75 74 5f 62 79 74 65 28 20 72 64 65 63 2e 64 65 63 6f else.........put_byte(.rdec.deco
697c0 64 65 5f 6d 61 74 63 68 65 64 28 20 62 6d 2c 20 70 65 65 6b 28 20 72 65 70 30 20 29 20 29 20 29 de_matched(.bm,.peek(.rep0.).).)
697e0 3b 0a 20 20 20 20 20 20 63 6f 6e 74 69 6e 75 65 3b 0a 20 20 20 20 20 20 7d 0a 20 20 20 20 2f 2f ;.......continue;.......}.....//
69800 20 6d 61 74 63 68 20 6f 72 20 72 65 70 65 61 74 65 64 20 6d 61 74 63 68 0a 20 20 20 20 69 6e 74 .match.or.repeated.match.....int
69820 20 6c 65 6e 3b 0a 20 20 20 20 69 66 28 20 72 64 65 63 2e 64 65 63 6f 64 65 5f 62 69 74 28 20 62 .len;.....if(.rdec.decode_bit(.b
69840 6d 5f 72 65 70 5b 73 74 61 74 65 28 29 5d 20 29 20 21 3d 20 30 20 29 09 09 2f 2f 20 32 6e 64 20 m_rep[state()].).!=.0.)..//.2nd.
69860 62 69 74 0a 20 20 20 20 20 20 7b 0a 20 20 20 20 20 20 69 66 28 20 72 64 65 63 2e 64 65 63 6f 64 bit.......{.......if(.rdec.decod
69880 65 5f 62 69 74 28 20 62 6d 5f 72 65 70 30 5b 73 74 61 74 65 28 29 5d 20 29 20 3d 3d 20 30 20 29 e_bit(.bm_rep0[state()].).==.0.)
698a0 09 09 2f 2f 20 33 72 64 20 62 69 74 0a 20 20 20 20 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 69 ..//.3rd.bit.........{.........i
698c0 66 28 20 72 64 65 63 2e 64 65 63 6f 64 65 5f 62 69 74 28 20 62 6d 5f 6c 65 6e 5b 73 74 61 74 65 f(.rdec.decode_bit(.bm_len[state
698e0 28 29 5d 5b 70 6f 73 5f 73 74 61 74 65 5d 20 29 20 3d 3d 20 30 20 29 20 2f 2f 20 34 74 68 20 62 ()][pos_state].).==.0.).//.4th.b
69900 69 74 0a 20 20 20 20 20 20 20 20 20 20 7b 20 73 74 61 74 65 2e 73 65 74 5f 73 68 6f 72 74 5f 72 it...........{.state.set_short_r
69920 65 70 28 29 3b 20 70 75 74 5f 62 79 74 65 28 20 70 65 65 6b 28 20 72 65 70 30 20 29 20 29 3b 20 ep();.put_byte(.peek(.rep0.).);.
69940 63 6f 6e 74 69 6e 75 65 3b 20 7d 0a 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 65 6c 73 65 continue;.}.........}.......else
69960 0a 20 20 20 20 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 75 6e 73 69 67 6e 65 64 20 64 69 73 74 .........{.........unsigned.dist
69980 61 6e 63 65 3b 0a 20 20 20 20 20 20 20 20 69 66 28 20 72 64 65 63 2e 64 65 63 6f 64 65 5f 62 69 ance;.........if(.rdec.decode_bi
699a0 74 28 20 62 6d 5f 72 65 70 31 5b 73 74 61 74 65 28 29 5d 20 29 20 3d 3d 20 30 20 29 09 09 2f 2f t(.bm_rep1[state()].).==.0.)..//
699c0 20 34 74 68 20 62 69 74 0a 20 20 20 20 20 20 20 20 20 20 64 69 73 74 61 6e 63 65 20 3d 20 72 65 .4th.bit...........distance.=.re
699e0 70 31 3b 0a 20 20 20 20 20 20 20 20 65 6c 73 65 0a 20 20 20 20 20 20 20 20 20 20 7b 0a 20 20 20 p1;.........else...........{....
69a00 20 20 20 20 20 20 20 69 66 28 20 72 64 65 63 2e 64 65 63 6f 64 65 5f 62 69 74 28 20 62 6d 5f 72 .......if(.rdec.decode_bit(.bm_r
69a20 65 70 32 5b 73 74 61 74 65 28 29 5d 20 29 20 3d 3d 20 30 20 29 09 2f 2f 20 35 74 68 20 62 69 74 ep2[state()].).==.0.).//.5th.bit
69a40 0a 20 20 20 20 20 20 20 20 20 20 20 20 64 69 73 74 61 6e 63 65 20 3d 20 72 65 70 32 3b 0a 20 20 .............distance.=.rep2;...
69a60 20 20 20 20 20 20 20 20 65 6c 73 65 0a 20 20 20 20 20 20 20 20 20 20 20 20 7b 20 64 69 73 74 61 ........else.............{.dista
69a80 6e 63 65 20 3d 20 72 65 70 33 3b 20 72 65 70 33 20 3d 20 72 65 70 32 3b 20 7d 0a 20 20 20 20 20 nce.=.rep3;.rep3.=.rep2;.}......
69aa0 20 20 20 20 20 72 65 70 32 20 3d 20 72 65 70 31 3b 0a 20 20 20 20 20 20 20 20 20 20 7d 0a 20 20 .....rep2.=.rep1;...........}...
69ac0 20 20 20 20 20 20 72 65 70 31 20 3d 20 72 65 70 30 3b 0a 20 20 20 20 20 20 20 20 72 65 70 30 20 ......rep1.=.rep0;.........rep0.
69ae0 3d 20 64 69 73 74 61 6e 63 65 3b 0a 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 73 74 61 74 =.distance;.........}.......stat
69b00 65 2e 73 65 74 5f 72 65 70 28 29 3b 0a 20 20 20 20 20 20 6c 65 6e 20 3d 20 6d 69 6e 5f 6d 61 74 e.set_rep();.......len.=.min_mat
69b20 63 68 5f 6c 65 6e 20 2b 20 72 64 65 63 2e 64 65 63 6f 64 65 5f 6c 65 6e 28 20 72 65 70 5f 6c 65 ch_len.+.rdec.decode_len(.rep_le
69b40 6e 5f 6d 6f 64 65 6c 2c 20 70 6f 73 5f 73 74 61 74 65 20 29 3b 0a 20 20 20 20 20 20 7d 0a 20 20 n_model,.pos_state.);.......}...
69b60 20 20 65 6c 73 65 09 09 09 09 09 2f 2f 20 6d 61 74 63 68 0a 20 20 20 20 20 20 7b 0a 20 20 20 20 ..else.....//.match.......{.....
69b80 20 20 6c 65 6e 20 3d 20 6d 69 6e 5f 6d 61 74 63 68 5f 6c 65 6e 20 2b 20 72 64 65 63 2e 64 65 63 ..len.=.min_match_len.+.rdec.dec
69ba0 6f 64 65 5f 6c 65 6e 28 20 6d 61 74 63 68 5f 6c 65 6e 5f 6d 6f 64 65 6c 2c 20 70 6f 73 5f 73 74 ode_len(.match_len_model,.pos_st
69bc0 61 74 65 20 29 3b 0a 20 20 20 20 20 20 75 6e 73 69 67 6e 65 64 20 64 69 73 74 61 6e 63 65 20 3d ate.);.......unsigned.distance.=
69be0 20 72 64 65 63 2e 64 65 63 6f 64 65 5f 74 72 65 65 36 28 20 62 6d 5f 64 69 73 5f 73 6c 6f 74 5b .rdec.decode_tree6(.bm_dis_slot[
69c00 67 65 74 5f 6c 65 6e 5f 73 74 61 74 65 28 6c 65 6e 29 5d 20 29 3b 0a 20 20 20 20 20 20 69 66 28 get_len_state(len)].);.......if(
69c20 20 64 69 73 74 61 6e 63 65 20 3e 3d 20 73 74 61 72 74 5f 64 69 73 5f 6d 6f 64 65 6c 20 29 0a 20 .distance.>=.start_dis_model.)..
69c40 20 20 20 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 63 6f 6e 73 74 20 75 6e 73 69 67 6e 65 64 20 .......{.........const.unsigned.
69c60 64 69 73 5f 73 6c 6f 74 20 3d 20 64 69 73 74 61 6e 63 65 3b 0a 20 20 20 20 20 20 20 20 63 6f 6e dis_slot.=.distance;.........con
69c80 73 74 20 69 6e 74 20 64 69 72 65 63 74 5f 62 69 74 73 20 3d 20 28 20 64 69 73 5f 73 6c 6f 74 20 st.int.direct_bits.=.(.dis_slot.
69ca0 3e 3e 20 31 20 29 20 2d 20 31 3b 0a 20 20 20 20 20 20 20 20 64 69 73 74 61 6e 63 65 20 3d 20 28 >>.1.).-.1;.........distance.=.(
69cc0 20 32 20 7c 20 28 20 64 69 73 5f 73 6c 6f 74 20 26 20 31 20 29 20 29 20 3c 3c 20 64 69 72 65 63 .2.|.(.dis_slot.&.1.).).<<.direc
69ce0 74 5f 62 69 74 73 3b 0a 20 20 20 20 20 20 20 20 69 66 28 20 64 69 73 5f 73 6c 6f 74 20 3c 20 65 t_bits;.........if(.dis_slot.<.e
69d00 6e 64 5f 64 69 73 5f 6d 6f 64 65 6c 20 29 0a 20 20 20 20 20 20 20 20 20 20 64 69 73 74 61 6e 63 nd_dis_model.)...........distanc
69d20 65 20 2b 3d 20 72 64 65 63 2e 64 65 63 6f 64 65 5f 74 72 65 65 5f 72 65 76 65 72 73 65 64 28 0a e.+=.rdec.decode_tree_reversed(.
69d40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 62 6d 5f 64 69 73 20 2b 20 28 ......................bm_dis.+.(
69d60 20 64 69 73 74 61 6e 63 65 20 2d 20 64 69 73 5f 73 6c 6f 74 20 29 2c 20 64 69 72 65 63 74 5f 62 .distance.-.dis_slot.),.direct_b
69d80 69 74 73 20 29 3b 0a 20 20 20 20 20 20 20 20 65 6c 73 65 0a 20 20 20 20 20 20 20 20 20 20 7b 0a its.);.........else...........{.
69da0 20 20 20 20 20 20 20 20 20 20 64 69 73 74 61 6e 63 65 20 2b 3d 0a 20 20 20 20 20 20 20 20 20 20 ..........distance.+=...........
69dc0 20 20 72 64 65 63 2e 64 65 63 6f 64 65 28 20 64 69 72 65 63 74 5f 62 69 74 73 20 2d 20 64 69 73 ..rdec.decode(.direct_bits.-.dis
69de0 5f 61 6c 69 67 6e 5f 62 69 74 73 20 29 20 3c 3c 20 64 69 73 5f 61 6c 69 67 6e 5f 62 69 74 73 3b _align_bits.).<<.dis_align_bits;
69e00 0a 20 20 20 20 20 20 20 20 20 20 64 69 73 74 61 6e 63 65 20 2b 3d 20 72 64 65 63 2e 64 65 63 6f ...........distance.+=.rdec.deco
69e20 64 65 5f 74 72 65 65 5f 72 65 76 65 72 73 65 64 34 28 20 62 6d 5f 61 6c 69 67 6e 20 29 3b 0a 20 de_tree_reversed4(.bm_align.);..
69e40 20 20 20 20 20 20 20 20 20 69 66 28 20 64 69 73 74 61 6e 63 65 20 3d 3d 20 30 78 46 46 46 46 46 .........if(.distance.==.0xFFFFF
69e60 46 46 46 55 20 29 09 09 2f 2f 20 6d 61 72 6b 65 72 20 66 6f 75 6e 64 0a 20 20 20 20 20 20 20 20 FFFU.)..//.marker.found.........
69e80 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 72 64 65 63 2e 6e 6f 72 6d 61 6c 69 7a 65 ....{.............rdec.normalize
69ea0 28 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 66 6c 75 73 68 5f 64 61 74 61 28 29 3b 0a 20 20 ();.............flush_data();...
69ec0 20 20 20 20 20 20 20 20 20 20 69 66 28 20 6c 65 6e 20 3d 3d 20 6d 69 6e 5f 6d 61 74 63 68 5f 6c ..........if(.len.==.min_match_l
69ee0 65 6e 20 29 09 09 2f 2f 20 45 6e 64 20 4f 66 20 53 74 72 65 61 6d 20 6d 61 72 6b 65 72 0a 20 20 en.)..//.End.Of.Stream.marker...
69f00 20 20 20 20 20 20 20 20 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 69 66 28 20 ............{...............if(.
69f20 76 65 72 69 66 79 5f 74 72 61 69 6c 65 72 28 20 70 70 20 29 20 29 20 72 65 74 75 72 6e 20 30 3b verify_trailer(.pp.).).return.0;
69f40 20 65 6c 73 65 20 72 65 74 75 72 6e 20 33 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a .else.return.3;...............}.
69f60 20 20 20 20 20 20 20 20 20 20 20 20 69 66 28 20 6c 65 6e 20 3d 3d 20 6d 69 6e 5f 6d 61 74 63 68 ............if(.len.==.min_match
69f80 5f 6c 65 6e 20 2b 20 31 20 29 09 2f 2f 20 53 79 6e 63 20 46 6c 75 73 68 20 6d 61 72 6b 65 72 0a _len.+.1.).//.Sync.Flush.marker.
69fa0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 72 64 ..............{...............rd
69fc0 65 63 2e 6c 6f 61 64 28 29 3b 20 63 6f 6e 74 69 6e 75 65 3b 0a 20 20 20 20 20 20 20 20 20 20 20 ec.load();.continue;............
69fe0 20 20 20 7d 0a 20 20 20 20 20 20 20 20 20 20 20 20 69 66 28 20 76 65 72 62 6f 73 69 74 79 20 3e ...}.............if(.verbosity.>
6a000 3d 20 30 20 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 20 20 =.0.)...............{...........
6a020 20 20 20 20 70 70 28 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 73 74 64 3a 3a 66 70 72 ....pp();...............std::fpr
6a040 69 6e 74 66 28 20 73 74 64 65 72 72 2c 20 22 55 6e 73 75 70 70 6f 72 74 65 64 20 6d 61 72 6b 65 intf(.stderr,."Unsupported.marke
6a060 72 20 63 6f 64 65 20 27 25 64 27 5c 6e 22 2c 20 6c 65 6e 20 29 3b 0a 20 20 20 20 20 20 20 20 20 r.code.'%d'\n",.len.);..........
6a080 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 34 3b 0a 20 20 20 .....}.............return.4;....
6a0a0 20 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 7d .........}...........}.........}
6a0c0 0a 20 20 20 20 20 20 72 65 70 33 20 3d 20 72 65 70 32 3b 20 72 65 70 32 20 3d 20 72 65 70 31 3b .......rep3.=.rep2;.rep2.=.rep1;
6a0e0 20 72 65 70 31 20 3d 20 72 65 70 30 3b 20 72 65 70 30 20 3d 20 64 69 73 74 61 6e 63 65 3b 0a 20 .rep1.=.rep0;.rep0.=.distance;..
6a100 20 20 20 20 20 73 74 61 74 65 2e 73 65 74 5f 6d 61 74 63 68 28 29 3b 0a 20 20 20 20 20 20 69 66 .....state.set_match();.......if
6a120 28 20 72 65 70 30 20 3e 3d 20 64 69 63 74 69 6f 6e 61 72 79 5f 73 69 7a 65 20 7c 7c 20 28 20 72 (.rep0.>=.dictionary_size.||.(.r
6a140 65 70 30 20 3e 3d 20 70 6f 73 20 26 26 20 21 70 6f 73 5f 77 72 61 70 70 65 64 20 29 20 29 0a 20 ep0.>=.pos.&&.!pos_wrapped.).)..
6a160 20 20 20 20 20 20 20 7b 20 66 6c 75 73 68 5f 64 61 74 61 28 29 3b 20 72 65 74 75 72 6e 20 31 3b .......{.flush_data();.return.1;
6a180 20 7d 0a 20 20 20 20 20 20 7d 0a 20 20 20 20 63 6f 70 79 5f 62 6c 6f 63 6b 28 20 72 65 70 30 2c .}.......}.....copy_block(.rep0,
6a1a0 20 6c 65 6e 20 29 3b 0a 20 20 20 20 7d 0a 20 20 66 6c 75 73 68 5f 64 61 74 61 28 29 3b 0a 20 20 .len.);.....}...flush_data();...
6a1c0 72 65 74 75 72 6e 20 32 3b 0a 20 20 7d 0a 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 return.2;...}...................
6a1e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6a200 6c 7a 69 70 2d 31 2e 32 32 2f 64 65 63 6f 64 65 72 2e 68 00 00 00 00 00 00 00 00 00 00 00 00 00 lzip-1.22/decoder.h.............
6a220 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6a240 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6a260 00 00 00 00 30 30 30 30 36 34 34 00 30 30 30 30 30 30 30 00 30 30 30 30 30 30 30 00 30 30 30 30 ....0000644.0000000.0000000.0000
6a280 30 30 31 37 37 37 30 00 31 33 37 37 33 36 31 37 31 33 31 00 30 31 34 32 31 35 00 20 30 00 00 00 0017770.13773617131.014215..0...
6a2a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6a2c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6a2e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6a300 00 75 73 74 61 72 00 30 30 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .ustar.00root...................
6a320 00 00 00 00 00 00 00 00 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .........root...................
6a340 00 00 00 00 00 00 00 00 00 30 30 30 30 30 30 30 00 30 30 30 30 30 30 30 00 00 00 00 00 00 00 00 .........0000000.0000000........
6a360 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6a380 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6a3a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6a3c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6a3e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6a400 2f 2a 20 4c 7a 69 70 20 2d 20 4c 5a 4d 41 20 6c 6f 73 73 6c 65 73 73 20 64 61 74 61 20 63 6f 6d /*.Lzip.-.LZMA.lossless.data.com
6a420 70 72 65 73 73 6f 72 0a 20 20 20 43 6f 70 79 72 69 67 68 74 20 28 43 29 20 32 30 30 38 2d 32 30 pressor....Copyright.(C).2008-20
6a440 32 31 20 41 6e 74 6f 6e 69 6f 20 44 69 61 7a 20 44 69 61 7a 2e 0a 0a 20 20 20 54 68 69 73 20 70 21.Antonio.Diaz.Diaz......This.p
6a460 72 6f 67 72 61 6d 20 69 73 20 66 72 65 65 20 73 6f 66 74 77 61 72 65 3a 20 79 6f 75 20 63 61 6e rogram.is.free.software:.you.can
6a480 20 72 65 64 69 73 74 72 69 62 75 74 65 20 69 74 20 61 6e 64 2f 6f 72 20 6d 6f 64 69 66 79 0a 20 .redistribute.it.and/or.modify..
6a4a0 20 20 69 74 20 75 6e 64 65 72 20 74 68 65 20 74 65 72 6d 73 20 6f 66 20 74 68 65 20 47 4e 55 20 ..it.under.the.terms.of.the.GNU.
6a4c0 47 65 6e 65 72 61 6c 20 50 75 62 6c 69 63 20 4c 69 63 65 6e 73 65 20 61 73 20 70 75 62 6c 69 73 General.Public.License.as.publis
6a4e0 68 65 64 20 62 79 0a 20 20 20 74 68 65 20 46 72 65 65 20 53 6f 66 74 77 61 72 65 20 46 6f 75 6e hed.by....the.Free.Software.Foun
6a500 64 61 74 69 6f 6e 2c 20 65 69 74 68 65 72 20 76 65 72 73 69 6f 6e 20 32 20 6f 66 20 74 68 65 20 dation,.either.version.2.of.the.
6a520 4c 69 63 65 6e 73 65 2c 20 6f 72 0a 20 20 20 28 61 74 20 79 6f 75 72 20 6f 70 74 69 6f 6e 29 20 License,.or....(at.your.option).
6a540 61 6e 79 20 6c 61 74 65 72 20 76 65 72 73 69 6f 6e 2e 0a 0a 20 20 20 54 68 69 73 20 70 72 6f 67 any.later.version......This.prog
6a560 72 61 6d 20 69 73 20 64 69 73 74 72 69 62 75 74 65 64 20 69 6e 20 74 68 65 20 68 6f 70 65 20 74 ram.is.distributed.in.the.hope.t
6a580 68 61 74 20 69 74 20 77 69 6c 6c 20 62 65 20 75 73 65 66 75 6c 2c 0a 20 20 20 62 75 74 20 57 49 hat.it.will.be.useful,....but.WI
6a5a0 54 48 4f 55 54 20 41 4e 59 20 57 41 52 52 41 4e 54 59 3b 20 77 69 74 68 6f 75 74 20 65 76 65 6e THOUT.ANY.WARRANTY;.without.even
6a5c0 20 74 68 65 20 69 6d 70 6c 69 65 64 20 77 61 72 72 61 6e 74 79 20 6f 66 0a 20 20 20 4d 45 52 43 .the.implied.warranty.of....MERC
6a5e0 48 41 4e 54 41 42 49 4c 49 54 59 20 6f 72 20 46 49 54 4e 45 53 53 20 46 4f 52 20 41 20 50 41 52 HANTABILITY.or.FITNESS.FOR.A.PAR
6a600 54 49 43 55 4c 41 52 20 50 55 52 50 4f 53 45 2e 20 20 53 65 65 20 74 68 65 0a 20 20 20 47 4e 55 TICULAR.PURPOSE...See.the....GNU
6a620 20 47 65 6e 65 72 61 6c 20 50 75 62 6c 69 63 20 4c 69 63 65 6e 73 65 20 66 6f 72 20 6d 6f 72 65 .General.Public.License.for.more
6a640 20 64 65 74 61 69 6c 73 2e 0a 0a 20 20 20 59 6f 75 20 73 68 6f 75 6c 64 20 68 61 76 65 20 72 65 .details......You.should.have.re
6a660 63 65 69 76 65 64 20 61 20 63 6f 70 79 20 6f 66 20 74 68 65 20 47 4e 55 20 47 65 6e 65 72 61 6c ceived.a.copy.of.the.GNU.General
6a680 20 50 75 62 6c 69 63 20 4c 69 63 65 6e 73 65 0a 20 20 20 61 6c 6f 6e 67 20 77 69 74 68 20 74 68 .Public.License....along.with.th
6a6a0 69 73 20 70 72 6f 67 72 61 6d 2e 20 20 49 66 20 6e 6f 74 2c 20 73 65 65 20 3c 68 74 74 70 3a 2f is.program...If.not,.see.<http:/
6a6c0 2f 77 77 77 2e 67 6e 75 2e 6f 72 67 2f 6c 69 63 65 6e 73 65 73 2f 3e 2e 0a 2a 2f 0a 0a 63 6c 61 /www.gnu.org/licenses/>..*/..cla
6a6e0 73 73 20 52 61 6e 67 65 5f 64 65 63 6f 64 65 72 0a 20 20 7b 0a 20 20 65 6e 75 6d 20 7b 20 62 75 ss.Range_decoder...{...enum.{.bu
6a700 66 66 65 72 5f 73 69 7a 65 20 3d 20 31 36 33 38 34 20 7d 3b 0a 20 20 75 6e 73 69 67 6e 65 64 20 ffer_size.=.16384.};...unsigned.
6a720 6c 6f 6e 67 20 6c 6f 6e 67 20 70 61 72 74 69 61 6c 5f 6d 65 6d 62 65 72 5f 70 6f 73 3b 0a 20 20 long.long.partial_member_pos;...
6a740 75 69 6e 74 38 5f 74 20 2a 20 63 6f 6e 73 74 20 62 75 66 66 65 72 3b 09 2f 2f 20 69 6e 70 75 74 uint8_t.*.const.buffer;.//.input
6a760 20 62 75 66 66 65 72 0a 20 20 69 6e 74 20 70 6f 73 3b 09 09 09 2f 2f 20 63 75 72 72 65 6e 74 20 .buffer...int.pos;...//.current.
6a780 70 6f 73 20 69 6e 20 62 75 66 66 65 72 0a 20 20 69 6e 74 20 73 74 72 65 61 6d 5f 70 6f 73 3b 09 pos.in.buffer...int.stream_pos;.
6a7a0 09 2f 2f 20 77 68 65 6e 20 72 65 61 63 68 65 64 2c 20 61 20 6e 65 77 20 62 6c 6f 63 6b 20 6d 75 .//.when.reached,.a.new.block.mu
6a7c0 73 74 20 62 65 20 72 65 61 64 0a 20 20 75 69 6e 74 33 32 5f 74 20 63 6f 64 65 3b 0a 20 20 75 69 st.be.read...uint32_t.code;...ui
6a7e0 6e 74 33 32 5f 74 20 72 61 6e 67 65 3b 0a 20 20 63 6f 6e 73 74 20 69 6e 74 20 69 6e 66 64 3b 09 nt32_t.range;...const.int.infd;.
6a800 09 2f 2f 20 69 6e 70 75 74 20 66 69 6c 65 20 64 65 73 63 72 69 70 74 6f 72 0a 20 20 62 6f 6f 6c .//.input.file.descriptor...bool
6a820 20 61 74 5f 73 74 72 65 61 6d 5f 65 6e 64 3b 0a 0a 20 20 62 6f 6f 6c 20 72 65 61 64 5f 62 6c 6f .at_stream_end;....bool.read_blo
6a840 63 6b 28 29 3b 0a 0a 20 20 52 61 6e 67 65 5f 64 65 63 6f 64 65 72 28 20 63 6f 6e 73 74 20 52 61 ck();....Range_decoder(.const.Ra
6a860 6e 67 65 5f 64 65 63 6f 64 65 72 20 26 20 29 3b 09 2f 2f 20 64 65 63 6c 61 72 65 64 20 61 73 20 nge_decoder.&.);.//.declared.as.
6a880 70 72 69 76 61 74 65 0a 20 20 76 6f 69 64 20 6f 70 65 72 61 74 6f 72 3d 28 20 63 6f 6e 73 74 20 private...void.operator=(.const.
6a8a0 52 61 6e 67 65 5f 64 65 63 6f 64 65 72 20 26 20 29 3b 09 2f 2f 20 64 65 63 6c 61 72 65 64 20 61 Range_decoder.&.);.//.declared.a
6a8c0 73 20 70 72 69 76 61 74 65 0a 0a 70 75 62 6c 69 63 3a 0a 20 20 65 78 70 6c 69 63 69 74 20 52 61 s.private..public:...explicit.Ra
6a8e0 6e 67 65 5f 64 65 63 6f 64 65 72 28 20 63 6f 6e 73 74 20 69 6e 74 20 69 66 64 20 29 0a 20 20 20 nge_decoder(.const.int.ifd.)....
6a900 20 3a 0a 20 20 20 20 70 61 72 74 69 61 6c 5f 6d 65 6d 62 65 72 5f 70 6f 73 28 20 30 20 29 2c 0a .:.....partial_member_pos(.0.),.
6a920 20 20 20 20 62 75 66 66 65 72 28 20 6e 65 77 20 75 69 6e 74 38 5f 74 5b 62 75 66 66 65 72 5f 73 ....buffer(.new.uint8_t[buffer_s
6a940 69 7a 65 5d 20 29 2c 0a 20 20 20 20 70 6f 73 28 20 30 20 29 2c 0a 20 20 20 20 73 74 72 65 61 6d ize].),.....pos(.0.),.....stream
6a960 5f 70 6f 73 28 20 30 20 29 2c 0a 20 20 20 20 63 6f 64 65 28 20 30 20 29 2c 0a 20 20 20 20 72 61 _pos(.0.),.....code(.0.),.....ra
6a980 6e 67 65 28 20 30 78 46 46 46 46 46 46 46 46 55 20 29 2c 0a 20 20 20 20 69 6e 66 64 28 20 69 66 nge(.0xFFFFFFFFU.),.....infd(.if
6a9a0 64 20 29 2c 0a 20 20 20 20 61 74 5f 73 74 72 65 61 6d 5f 65 6e 64 28 20 66 61 6c 73 65 20 29 0a d.),.....at_stream_end(.false.).
6a9c0 20 20 20 20 7b 7d 0a 0a 20 20 7e 52 61 6e 67 65 5f 64 65 63 6f 64 65 72 28 29 20 7b 20 64 65 6c ....{}....~Range_decoder().{.del
6a9e0 65 74 65 5b 5d 20 62 75 66 66 65 72 3b 20 7d 0a 0a 20 20 62 6f 6f 6c 20 66 69 6e 69 73 68 65 64 ete[].buffer;.}....bool.finished
6aa00 28 29 20 7b 20 72 65 74 75 72 6e 20 70 6f 73 20 3e 3d 20 73 74 72 65 61 6d 5f 70 6f 73 20 26 26 ().{.return.pos.>=.stream_pos.&&
6aa20 20 21 72 65 61 64 5f 62 6c 6f 63 6b 28 29 3b 20 7d 0a 0a 20 20 75 6e 73 69 67 6e 65 64 20 6c 6f .!read_block();.}....unsigned.lo
6aa40 6e 67 20 6c 6f 6e 67 20 6d 65 6d 62 65 72 5f 70 6f 73 69 74 69 6f 6e 28 29 20 63 6f 6e 73 74 0a ng.long.member_position().const.
6aa60 20 20 20 20 7b 20 72 65 74 75 72 6e 20 70 61 72 74 69 61 6c 5f 6d 65 6d 62 65 72 5f 70 6f 73 20 ....{.return.partial_member_pos.
6aa80 2b 20 70 6f 73 3b 20 7d 0a 0a 20 20 76 6f 69 64 20 72 65 73 65 74 5f 6d 65 6d 62 65 72 5f 70 6f +.pos;.}....void.reset_member_po
6aaa0 73 69 74 69 6f 6e 28 29 0a 20 20 20 20 7b 20 70 61 72 74 69 61 6c 5f 6d 65 6d 62 65 72 5f 70 6f sition().....{.partial_member_po
6aac0 73 20 3d 20 30 3b 20 70 61 72 74 69 61 6c 5f 6d 65 6d 62 65 72 5f 70 6f 73 20 2d 3d 20 70 6f 73 s.=.0;.partial_member_pos.-=.pos
6aae0 3b 20 7d 0a 0a 20 20 75 69 6e 74 38 5f 74 20 67 65 74 5f 62 79 74 65 28 29 0a 20 20 20 20 7b 0a ;.}....uint8_t.get_byte().....{.
6ab00 20 20 20 20 2f 2f 20 30 78 46 46 20 61 76 6f 69 64 73 20 64 65 63 6f 64 65 72 20 65 72 72 6f 72 ....//.0xFF.avoids.decoder.error
6ab20 20 69 66 20 6d 65 6d 62 65 72 20 69 73 20 74 72 75 6e 63 61 74 65 64 20 61 74 20 45 4f 53 20 6d .if.member.is.truncated.at.EOS.m
6ab40 61 72 6b 65 72 0a 20 20 20 20 69 66 28 20 66 69 6e 69 73 68 65 64 28 29 20 29 20 72 65 74 75 72 arker.....if(.finished().).retur
6ab60 6e 20 30 78 46 46 3b 0a 20 20 20 20 72 65 74 75 72 6e 20 62 75 66 66 65 72 5b 70 6f 73 2b 2b 5d n.0xFF;.....return.buffer[pos++]
6ab80 3b 0a 20 20 20 20 7d 0a 0a 20 20 69 6e 74 20 72 65 61 64 5f 64 61 74 61 28 20 75 69 6e 74 38 5f ;.....}....int.read_data(.uint8_
6aba0 74 20 2a 20 63 6f 6e 73 74 20 6f 75 74 62 75 66 2c 20 63 6f 6e 73 74 20 69 6e 74 20 73 69 7a 65 t.*.const.outbuf,.const.int.size
6abc0 20 29 0a 20 20 20 20 7b 0a 20 20 20 20 69 6e 74 20 73 7a 20 3d 20 30 3b 0a 20 20 20 20 77 68 69 .).....{.....int.sz.=.0;.....whi
6abe0 6c 65 28 20 73 7a 20 3c 20 73 69 7a 65 20 26 26 20 21 66 69 6e 69 73 68 65 64 28 29 20 29 0a 20 le(.sz.<.size.&&.!finished().)..
6ac00 20 20 20 20 20 7b 0a 20 20 20 20 20 20 63 6f 6e 73 74 20 69 6e 74 20 72 64 20 3d 20 73 74 64 3a .....{.......const.int.rd.=.std:
6ac20 3a 6d 69 6e 28 20 73 69 7a 65 20 2d 20 73 7a 2c 20 73 74 72 65 61 6d 5f 70 6f 73 20 2d 20 70 6f :min(.size.-.sz,.stream_pos.-.po
6ac40 73 20 29 3b 0a 20 20 20 20 20 20 73 74 64 3a 3a 6d 65 6d 63 70 79 28 20 6f 75 74 62 75 66 20 2b s.);.......std::memcpy(.outbuf.+
6ac60 20 73 7a 2c 20 62 75 66 66 65 72 20 2b 20 70 6f 73 2c 20 72 64 20 29 3b 0a 20 20 20 20 20 20 70 .sz,.buffer.+.pos,.rd.);.......p
6ac80 6f 73 20 2b 3d 20 72 64 3b 0a 20 20 20 20 20 20 73 7a 20 2b 3d 20 72 64 3b 0a 20 20 20 20 20 20 os.+=.rd;.......sz.+=.rd;.......
6aca0 7d 0a 20 20 20 20 72 65 74 75 72 6e 20 73 7a 3b 0a 20 20 20 20 7d 0a 0a 20 20 76 6f 69 64 20 6c }.....return.sz;.....}....void.l
6acc0 6f 61 64 28 29 0a 20 20 20 20 7b 0a 20 20 20 20 63 6f 64 65 20 3d 20 30 3b 0a 20 20 20 20 66 6f oad().....{.....code.=.0;.....fo
6ace0 72 28 20 69 6e 74 20 69 20 3d 20 30 3b 20 69 20 3c 20 35 3b 20 2b 2b 69 20 29 20 63 6f 64 65 20 r(.int.i.=.0;.i.<.5;.++i.).code.
6ad00 3d 20 28 20 63 6f 64 65 20 3c 3c 20 38 20 29 20 7c 20 67 65 74 5f 62 79 74 65 28 29 3b 0a 20 20 =.(.code.<<.8.).|.get_byte();...
6ad20 20 20 72 61 6e 67 65 20 3d 20 30 78 46 46 46 46 46 46 46 46 55 3b 0a 20 20 20 20 63 6f 64 65 20 ..range.=.0xFFFFFFFFU;.....code.
6ad40 26 3d 20 72 61 6e 67 65 3b 09 09 2f 2f 20 6d 61 6b 65 20 73 75 72 65 20 74 68 61 74 20 66 69 72 &=.range;..//.make.sure.that.fir
6ad60 73 74 20 62 79 74 65 20 69 73 20 64 69 73 63 61 72 64 65 64 0a 20 20 20 20 7d 0a 0a 20 20 76 6f st.byte.is.discarded.....}....vo
6ad80 69 64 20 6e 6f 72 6d 61 6c 69 7a 65 28 29 0a 20 20 20 20 7b 0a 20 20 20 20 69 66 28 20 72 61 6e id.normalize().....{.....if(.ran
6ada0 67 65 20 3c 3d 20 30 78 30 30 46 46 46 46 46 46 55 20 29 0a 20 20 20 20 20 20 7b 20 72 61 6e 67 ge.<=.0x00FFFFFFU.).......{.rang
6adc0 65 20 3c 3c 3d 20 38 3b 20 63 6f 64 65 20 3d 20 28 20 63 6f 64 65 20 3c 3c 20 38 20 29 20 7c 20 e.<<=.8;.code.=.(.code.<<.8.).|.
6ade0 67 65 74 5f 62 79 74 65 28 29 3b 20 7d 0a 20 20 20 20 7d 0a 0a 20 20 75 6e 73 69 67 6e 65 64 20 get_byte();.}.....}....unsigned.
6ae00 64 65 63 6f 64 65 28 20 63 6f 6e 73 74 20 69 6e 74 20 6e 75 6d 5f 62 69 74 73 20 29 0a 20 20 20 decode(.const.int.num_bits.)....
6ae20 20 7b 0a 20 20 20 20 75 6e 73 69 67 6e 65 64 20 73 79 6d 62 6f 6c 20 3d 20 30 3b 0a 20 20 20 20 .{.....unsigned.symbol.=.0;.....
6ae40 66 6f 72 28 20 69 6e 74 20 69 20 3d 20 6e 75 6d 5f 62 69 74 73 3b 20 69 20 3e 20 30 3b 20 2d 2d for(.int.i.=.num_bits;.i.>.0;.--
6ae60 69 20 29 0a 20 20 20 20 20 20 7b 0a 20 20 20 20 20 20 6e 6f 72 6d 61 6c 69 7a 65 28 29 3b 0a 20 i.).......{.......normalize();..
6ae80 20 20 20 20 20 72 61 6e 67 65 20 3e 3e 3d 20 31 3b 0a 2f 2f 20 20 20 20 20 20 73 79 6d 62 6f 6c .....range.>>=.1;.//......symbol
6aea0 20 3c 3c 3d 20 31 3b 0a 2f 2f 20 20 20 20 20 20 69 66 28 20 63 6f 64 65 20 3e 3d 20 72 61 6e 67 .<<=.1;.//......if(.code.>=.rang
6aec0 65 20 29 20 7b 20 63 6f 64 65 20 2d 3d 20 72 61 6e 67 65 3b 20 73 79 6d 62 6f 6c 20 7c 3d 20 31 e.).{.code.-=.range;.symbol.|=.1
6aee0 3b 20 7d 0a 20 20 20 20 20 20 63 6f 6e 73 74 20 62 6f 6f 6c 20 62 69 74 20 3d 20 28 20 63 6f 64 ;.}.......const.bool.bit.=.(.cod
6af00 65 20 3e 3d 20 72 61 6e 67 65 20 29 3b 0a 20 20 20 20 20 20 73 79 6d 62 6f 6c 20 3c 3c 3d 20 31 e.>=.range.);.......symbol.<<=.1
6af20 3b 20 73 79 6d 62 6f 6c 20 2b 3d 20 62 69 74 3b 0a 20 20 20 20 20 20 63 6f 64 65 20 2d 3d 20 72 ;.symbol.+=.bit;.......code.-=.r
6af40 61 6e 67 65 20 26 20 28 20 30 55 20 2d 20 62 69 74 20 29 3b 0a 20 20 20 20 20 20 7d 0a 20 20 20 ange.&.(.0U.-.bit.);.......}....
6af60 20 72 65 74 75 72 6e 20 73 79 6d 62 6f 6c 3b 0a 20 20 20 20 7d 0a 0a 20 20 75 6e 73 69 67 6e 65 .return.symbol;.....}....unsigne
6af80 64 20 64 65 63 6f 64 65 5f 62 69 74 28 20 42 69 74 5f 6d 6f 64 65 6c 20 26 20 62 6d 20 29 0a 20 d.decode_bit(.Bit_model.&.bm.)..
6afa0 20 20 20 7b 0a 20 20 20 20 6e 6f 72 6d 61 6c 69 7a 65 28 29 3b 0a 20 20 20 20 63 6f 6e 73 74 20 ...{.....normalize();.....const.
6afc0 75 69 6e 74 33 32 5f 74 20 62 6f 75 6e 64 20 3d 20 28 20 72 61 6e 67 65 20 3e 3e 20 62 69 74 5f uint32_t.bound.=.(.range.>>.bit_
6afe0 6d 6f 64 65 6c 5f 74 6f 74 61 6c 5f 62 69 74 73 20 29 20 2a 20 62 6d 2e 70 72 6f 62 61 62 69 6c model_total_bits.).*.bm.probabil
6b000 69 74 79 3b 0a 20 20 20 20 69 66 28 20 63 6f 64 65 20 3c 20 62 6f 75 6e 64 20 29 0a 20 20 20 20 ity;.....if(.code.<.bound.).....
6b020 20 20 7b 0a 20 20 20 20 20 20 72 61 6e 67 65 20 3d 20 62 6f 75 6e 64 3b 0a 20 20 20 20 20 20 62 ..{.......range.=.bound;.......b
6b040 6d 2e 70 72 6f 62 61 62 69 6c 69 74 79 20 2b 3d 0a 20 20 20 20 20 20 20 20 28 20 62 69 74 5f 6d m.probability.+=.........(.bit_m
6b060 6f 64 65 6c 5f 74 6f 74 61 6c 20 2d 20 62 6d 2e 70 72 6f 62 61 62 69 6c 69 74 79 20 29 20 3e 3e odel_total.-.bm.probability.).>>
6b080 20 62 69 74 5f 6d 6f 64 65 6c 5f 6d 6f 76 65 5f 62 69 74 73 3b 0a 20 20 20 20 20 20 72 65 74 75 .bit_model_move_bits;.......retu
6b0a0 72 6e 20 30 3b 0a 20 20 20 20 20 20 7d 0a 20 20 20 20 65 6c 73 65 0a 20 20 20 20 20 20 7b 0a 20 rn.0;.......}.....else.......{..
6b0c0 20 20 20 20 20 72 61 6e 67 65 20 2d 3d 20 62 6f 75 6e 64 3b 0a 20 20 20 20 20 20 63 6f 64 65 20 .....range.-=.bound;.......code.
6b0e0 2d 3d 20 62 6f 75 6e 64 3b 0a 20 20 20 20 20 20 62 6d 2e 70 72 6f 62 61 62 69 6c 69 74 79 20 2d -=.bound;.......bm.probability.-
6b100 3d 20 62 6d 2e 70 72 6f 62 61 62 69 6c 69 74 79 20 3e 3e 20 62 69 74 5f 6d 6f 64 65 6c 5f 6d 6f =.bm.probability.>>.bit_model_mo
6b120 76 65 5f 62 69 74 73 3b 0a 20 20 20 20 20 20 72 65 74 75 72 6e 20 31 3b 0a 20 20 20 20 20 20 7d ve_bits;.......return.1;.......}
6b140 0a 20 20 20 20 7d 0a 0a 20 20 75 6e 73 69 67 6e 65 64 20 64 65 63 6f 64 65 5f 74 72 65 65 33 28 .....}....unsigned.decode_tree3(
6b160 20 42 69 74 5f 6d 6f 64 65 6c 20 62 6d 5b 5d 20 29 0a 20 20 20 20 7b 0a 20 20 20 20 75 6e 73 69 .Bit_model.bm[].).....{.....unsi
6b180 67 6e 65 64 20 73 79 6d 62 6f 6c 20 3d 20 32 20 7c 20 64 65 63 6f 64 65 5f 62 69 74 28 20 62 6d gned.symbol.=.2.|.decode_bit(.bm
6b1a0 5b 31 5d 20 29 3b 0a 20 20 20 20 73 79 6d 62 6f 6c 20 3d 20 28 20 73 79 6d 62 6f 6c 20 3c 3c 20 [1].);.....symbol.=.(.symbol.<<.
6b1c0 31 20 29 20 7c 20 64 65 63 6f 64 65 5f 62 69 74 28 20 62 6d 5b 73 79 6d 62 6f 6c 5d 20 29 3b 0a 1.).|.decode_bit(.bm[symbol].);.
6b1e0 20 20 20 20 73 79 6d 62 6f 6c 20 3d 20 28 20 73 79 6d 62 6f 6c 20 3c 3c 20 31 20 29 20 7c 20 64 ....symbol.=.(.symbol.<<.1.).|.d
6b200 65 63 6f 64 65 5f 62 69 74 28 20 62 6d 5b 73 79 6d 62 6f 6c 5d 20 29 3b 0a 20 20 20 20 72 65 74 ecode_bit(.bm[symbol].);.....ret
6b220 75 72 6e 20 73 79 6d 62 6f 6c 20 26 20 37 3b 0a 20 20 20 20 7d 0a 0a 20 20 75 6e 73 69 67 6e 65 urn.symbol.&.7;.....}....unsigne
6b240 64 20 64 65 63 6f 64 65 5f 74 72 65 65 36 28 20 42 69 74 5f 6d 6f 64 65 6c 20 62 6d 5b 5d 20 29 d.decode_tree6(.Bit_model.bm[].)
6b260 0a 20 20 20 20 7b 0a 20 20 20 20 75 6e 73 69 67 6e 65 64 20 73 79 6d 62 6f 6c 20 3d 20 32 20 7c .....{.....unsigned.symbol.=.2.|
6b280 20 64 65 63 6f 64 65 5f 62 69 74 28 20 62 6d 5b 31 5d 20 29 3b 0a 20 20 20 20 73 79 6d 62 6f 6c .decode_bit(.bm[1].);.....symbol
6b2a0 20 3d 20 28 20 73 79 6d 62 6f 6c 20 3c 3c 20 31 20 29 20 7c 20 64 65 63 6f 64 65 5f 62 69 74 28 .=.(.symbol.<<.1.).|.decode_bit(
6b2c0 20 62 6d 5b 73 79 6d 62 6f 6c 5d 20 29 3b 0a 20 20 20 20 73 79 6d 62 6f 6c 20 3d 20 28 20 73 79 .bm[symbol].);.....symbol.=.(.sy
6b2e0 6d 62 6f 6c 20 3c 3c 20 31 20 29 20 7c 20 64 65 63 6f 64 65 5f 62 69 74 28 20 62 6d 5b 73 79 6d mbol.<<.1.).|.decode_bit(.bm[sym
6b300 62 6f 6c 5d 20 29 3b 0a 20 20 20 20 73 79 6d 62 6f 6c 20 3d 20 28 20 73 79 6d 62 6f 6c 20 3c 3c bol].);.....symbol.=.(.symbol.<<
6b320 20 31 20 29 20 7c 20 64 65 63 6f 64 65 5f 62 69 74 28 20 62 6d 5b 73 79 6d 62 6f 6c 5d 20 29 3b .1.).|.decode_bit(.bm[symbol].);
6b340 0a 20 20 20 20 73 79 6d 62 6f 6c 20 3d 20 28 20 73 79 6d 62 6f 6c 20 3c 3c 20 31 20 29 20 7c 20 .....symbol.=.(.symbol.<<.1.).|.
6b360 64 65 63 6f 64 65 5f 62 69 74 28 20 62 6d 5b 73 79 6d 62 6f 6c 5d 20 29 3b 0a 20 20 20 20 73 79 decode_bit(.bm[symbol].);.....sy
6b380 6d 62 6f 6c 20 3d 20 28 20 73 79 6d 62 6f 6c 20 3c 3c 20 31 20 29 20 7c 20 64 65 63 6f 64 65 5f mbol.=.(.symbol.<<.1.).|.decode_
6b3a0 62 69 74 28 20 62 6d 5b 73 79 6d 62 6f 6c 5d 20 29 3b 0a 20 20 20 20 72 65 74 75 72 6e 20 73 79 bit(.bm[symbol].);.....return.sy
6b3c0 6d 62 6f 6c 20 26 20 30 78 33 46 3b 0a 20 20 20 20 7d 0a 0a 20 20 75 6e 73 69 67 6e 65 64 20 64 mbol.&.0x3F;.....}....unsigned.d
6b3e0 65 63 6f 64 65 5f 74 72 65 65 38 28 20 42 69 74 5f 6d 6f 64 65 6c 20 62 6d 5b 5d 20 29 0a 20 20 ecode_tree8(.Bit_model.bm[].)...
6b400 20 20 7b 0a 20 20 20 20 75 6e 73 69 67 6e 65 64 20 73 79 6d 62 6f 6c 20 3d 20 31 3b 0a 20 20 20 ..{.....unsigned.symbol.=.1;....
6b420 20 66 6f 72 28 20 69 6e 74 20 69 20 3d 20 30 3b 20 69 20 3c 20 38 3b 20 2b 2b 69 20 29 0a 20 20 .for(.int.i.=.0;.i.<.8;.++i.)...
6b440 20 20 20 20 73 79 6d 62 6f 6c 20 3d 20 28 20 73 79 6d 62 6f 6c 20 3c 3c 20 31 20 29 20 7c 20 64 ....symbol.=.(.symbol.<<.1.).|.d
6b460 65 63 6f 64 65 5f 62 69 74 28 20 62 6d 5b 73 79 6d 62 6f 6c 5d 20 29 3b 0a 20 20 20 20 72 65 74 ecode_bit(.bm[symbol].);.....ret
6b480 75 72 6e 20 73 79 6d 62 6f 6c 20 26 20 30 78 46 46 3b 0a 20 20 20 20 7d 0a 0a 20 20 75 6e 73 69 urn.symbol.&.0xFF;.....}....unsi
6b4a0 67 6e 65 64 20 64 65 63 6f 64 65 5f 74 72 65 65 5f 72 65 76 65 72 73 65 64 28 20 42 69 74 5f 6d gned.decode_tree_reversed(.Bit_m
6b4c0 6f 64 65 6c 20 62 6d 5b 5d 2c 20 63 6f 6e 73 74 20 69 6e 74 20 6e 75 6d 5f 62 69 74 73 20 29 0a odel.bm[],.const.int.num_bits.).
6b4e0 20 20 20 20 7b 0a 20 20 20 20 75 6e 73 69 67 6e 65 64 20 6d 6f 64 65 6c 20 3d 20 31 3b 0a 20 20 ....{.....unsigned.model.=.1;...
6b500 20 20 75 6e 73 69 67 6e 65 64 20 73 79 6d 62 6f 6c 20 3d 20 30 3b 0a 20 20 20 20 66 6f 72 28 20 ..unsigned.symbol.=.0;.....for(.
6b520 69 6e 74 20 69 20 3d 20 30 3b 20 69 20 3c 20 6e 75 6d 5f 62 69 74 73 3b 20 2b 2b 69 20 29 0a 20 int.i.=.0;.i.<.num_bits;.++i.)..
6b540 20 20 20 20 20 7b 0a 20 20 20 20 20 20 63 6f 6e 73 74 20 75 6e 73 69 67 6e 65 64 20 62 69 74 20 .....{.......const.unsigned.bit.
6b560 3d 20 64 65 63 6f 64 65 5f 62 69 74 28 20 62 6d 5b 6d 6f 64 65 6c 5d 20 29 3b 0a 20 20 20 20 20 =.decode_bit(.bm[model].);......
6b580 20 6d 6f 64 65 6c 20 3c 3c 3d 20 31 3b 20 6d 6f 64 65 6c 20 2b 3d 20 62 69 74 3b 0a 20 20 20 20 .model.<<=.1;.model.+=.bit;.....
6b5a0 20 20 73 79 6d 62 6f 6c 20 7c 3d 20 28 20 62 69 74 20 3c 3c 20 69 20 29 3b 0a 20 20 20 20 20 20 ..symbol.|=.(.bit.<<.i.);.......
6b5c0 7d 0a 20 20 20 20 72 65 74 75 72 6e 20 73 79 6d 62 6f 6c 3b 0a 20 20 20 20 7d 0a 0a 20 20 75 6e }.....return.symbol;.....}....un
6b5e0 73 69 67 6e 65 64 20 64 65 63 6f 64 65 5f 74 72 65 65 5f 72 65 76 65 72 73 65 64 34 28 20 42 69 signed.decode_tree_reversed4(.Bi
6b600 74 5f 6d 6f 64 65 6c 20 62 6d 5b 5d 20 29 0a 20 20 20 20 7b 0a 20 20 20 20 75 6e 73 69 67 6e 65 t_model.bm[].).....{.....unsigne
6b620 64 20 73 79 6d 62 6f 6c 20 3d 20 64 65 63 6f 64 65 5f 62 69 74 28 20 62 6d 5b 31 5d 20 29 3b 0a d.symbol.=.decode_bit(.bm[1].);.
6b640 20 20 20 20 73 79 6d 62 6f 6c 20 2b 3d 20 64 65 63 6f 64 65 5f 62 69 74 28 20 62 6d 5b 32 2b 73 ....symbol.+=.decode_bit(.bm[2+s
6b660 79 6d 62 6f 6c 5d 20 29 20 3c 3c 20 31 3b 0a 20 20 20 20 73 79 6d 62 6f 6c 20 2b 3d 20 64 65 63 ymbol].).<<.1;.....symbol.+=.dec
6b680 6f 64 65 5f 62 69 74 28 20 62 6d 5b 34 2b 73 79 6d 62 6f 6c 5d 20 29 20 3c 3c 20 32 3b 0a 20 20 ode_bit(.bm[4+symbol].).<<.2;...
6b6a0 20 20 73 79 6d 62 6f 6c 20 2b 3d 20 64 65 63 6f 64 65 5f 62 69 74 28 20 62 6d 5b 38 2b 73 79 6d ..symbol.+=.decode_bit(.bm[8+sym
6b6c0 62 6f 6c 5d 20 29 20 3c 3c 20 33 3b 0a 20 20 20 20 72 65 74 75 72 6e 20 73 79 6d 62 6f 6c 3b 0a bol].).<<.3;.....return.symbol;.
6b6e0 20 20 20 20 7d 0a 0a 20 20 75 6e 73 69 67 6e 65 64 20 64 65 63 6f 64 65 5f 6d 61 74 63 68 65 64 ....}....unsigned.decode_matched
6b700 28 20 42 69 74 5f 6d 6f 64 65 6c 20 62 6d 5b 5d 2c 20 75 6e 73 69 67 6e 65 64 20 6d 61 74 63 68 (.Bit_model.bm[],.unsigned.match
6b720 5f 62 79 74 65 20 29 0a 20 20 20 20 7b 0a 20 20 20 20 42 69 74 5f 6d 6f 64 65 6c 20 2a 20 63 6f _byte.).....{.....Bit_model.*.co
6b740 6e 73 74 20 62 6d 31 20 3d 20 62 6d 20 2b 20 30 78 31 30 30 3b 0a 20 20 20 20 75 6e 73 69 67 6e nst.bm1.=.bm.+.0x100;.....unsign
6b760 65 64 20 73 79 6d 62 6f 6c 20 3d 20 31 3b 0a 20 20 20 20 77 68 69 6c 65 28 20 73 79 6d 62 6f 6c ed.symbol.=.1;.....while(.symbol
6b780 20 3c 20 30 78 31 30 30 20 29 0a 20 20 20 20 20 20 7b 0a 20 20 20 20 20 20 63 6f 6e 73 74 20 75 .<.0x100.).......{.......const.u
6b7a0 6e 73 69 67 6e 65 64 20 6d 61 74 63 68 5f 62 69 74 20 3d 20 28 20 6d 61 74 63 68 5f 62 79 74 65 nsigned.match_bit.=.(.match_byte
6b7c0 20 3c 3c 3d 20 31 20 29 20 26 20 30 78 31 30 30 3b 0a 20 20 20 20 20 20 63 6f 6e 73 74 20 62 6f .<<=.1.).&.0x100;.......const.bo
6b7e0 6f 6c 20 62 69 74 20 3d 20 64 65 63 6f 64 65 5f 62 69 74 28 20 62 6d 31 5b 73 79 6d 62 6f 6c 2b ol.bit.=.decode_bit(.bm1[symbol+
6b800 6d 61 74 63 68 5f 62 69 74 5d 20 29 3b 0a 20 20 20 20 20 20 73 79 6d 62 6f 6c 20 3c 3c 3d 20 31 match_bit].);.......symbol.<<=.1
6b820 3b 20 73 79 6d 62 6f 6c 20 7c 3d 20 62 69 74 3b 0a 20 20 20 20 20 20 69 66 28 20 6d 61 74 63 68 ;.symbol.|=.bit;.......if(.match
6b840 5f 62 69 74 20 3e 3e 20 38 20 21 3d 20 62 69 74 20 29 0a 20 20 20 20 20 20 20 20 7b 0a 20 20 20 _bit.>>.8.!=.bit.).........{....
6b860 20 20 20 20 20 77 68 69 6c 65 28 20 73 79 6d 62 6f 6c 20 3c 20 30 78 31 30 30 20 29 0a 20 20 20 .....while(.symbol.<.0x100.)....
6b880 20 20 20 20 20 20 20 73 79 6d 62 6f 6c 20 3d 20 28 20 73 79 6d 62 6f 6c 20 3c 3c 20 31 20 29 20 .......symbol.=.(.symbol.<<.1.).
6b8a0 7c 20 64 65 63 6f 64 65 5f 62 69 74 28 20 62 6d 5b 73 79 6d 62 6f 6c 5d 20 29 3b 0a 20 20 20 20 |.decode_bit(.bm[symbol].);.....
6b8c0 20 20 20 20 62 72 65 61 6b 3b 0a 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 7d 0a 20 20 20 ....break;.........}.......}....
6b8e0 20 72 65 74 75 72 6e 20 73 79 6d 62 6f 6c 20 26 20 30 78 46 46 3b 0a 20 20 20 20 7d 0a 0a 20 20 .return.symbol.&.0xFF;.....}....
6b900 75 6e 73 69 67 6e 65 64 20 64 65 63 6f 64 65 5f 6c 65 6e 28 20 4c 65 6e 5f 6d 6f 64 65 6c 20 26 unsigned.decode_len(.Len_model.&
6b920 20 6c 6d 2c 20 63 6f 6e 73 74 20 69 6e 74 20 70 6f 73 5f 73 74 61 74 65 20 29 0a 20 20 20 20 7b .lm,.const.int.pos_state.).....{
6b940 0a 20 20 20 20 69 66 28 20 64 65 63 6f 64 65 5f 62 69 74 28 20 6c 6d 2e 63 68 6f 69 63 65 31 20 .....if(.decode_bit(.lm.choice1.
6b960 29 20 3d 3d 20 30 20 29 0a 20 20 20 20 20 20 72 65 74 75 72 6e 20 64 65 63 6f 64 65 5f 74 72 65 ).==.0.).......return.decode_tre
6b980 65 33 28 20 6c 6d 2e 62 6d 5f 6c 6f 77 5b 70 6f 73 5f 73 74 61 74 65 5d 20 29 3b 0a 20 20 20 20 e3(.lm.bm_low[pos_state].);.....
6b9a0 69 66 28 20 64 65 63 6f 64 65 5f 62 69 74 28 20 6c 6d 2e 63 68 6f 69 63 65 32 20 29 20 3d 3d 20 if(.decode_bit(.lm.choice2.).==.
6b9c0 30 20 29 0a 20 20 20 20 20 20 72 65 74 75 72 6e 20 6c 65 6e 5f 6c 6f 77 5f 73 79 6d 62 6f 6c 73 0.).......return.len_low_symbols
6b9e0 20 2b 20 64 65 63 6f 64 65 5f 74 72 65 65 33 28 20 6c 6d 2e 62 6d 5f 6d 69 64 5b 70 6f 73 5f 73 .+.decode_tree3(.lm.bm_mid[pos_s
6ba00 74 61 74 65 5d 20 29 3b 0a 20 20 20 20 72 65 74 75 72 6e 20 6c 65 6e 5f 6c 6f 77 5f 73 79 6d 62 tate].);.....return.len_low_symb
6ba20 6f 6c 73 20 2b 20 6c 65 6e 5f 6d 69 64 5f 73 79 6d 62 6f 6c 73 20 2b 20 64 65 63 6f 64 65 5f 74 ols.+.len_mid_symbols.+.decode_t
6ba40 72 65 65 38 28 20 6c 6d 2e 62 6d 5f 68 69 67 68 20 29 3b 0a 20 20 20 20 7d 0a 20 20 7d 3b 0a 0a ree8(.lm.bm_high.);.....}...};..
6ba60 0a 63 6c 61 73 73 20 4c 5a 5f 64 65 63 6f 64 65 72 0a 20 20 7b 0a 20 20 75 6e 73 69 67 6e 65 64 .class.LZ_decoder...{...unsigned
6ba80 20 6c 6f 6e 67 20 6c 6f 6e 67 20 70 61 72 74 69 61 6c 5f 64 61 74 61 5f 70 6f 73 3b 0a 20 20 52 .long.long.partial_data_pos;...R
6baa0 61 6e 67 65 5f 64 65 63 6f 64 65 72 20 26 20 72 64 65 63 3b 0a 20 20 63 6f 6e 73 74 20 75 6e 73 ange_decoder.&.rdec;...const.uns
6bac0 69 67 6e 65 64 20 64 69 63 74 69 6f 6e 61 72 79 5f 73 69 7a 65 3b 0a 20 20 75 69 6e 74 38 5f 74 igned.dictionary_size;...uint8_t
6bae0 20 2a 20 63 6f 6e 73 74 20 62 75 66 66 65 72 3b 09 2f 2f 20 6f 75 74 70 75 74 20 62 75 66 66 65 .*.const.buffer;.//.output.buffe
6bb00 72 0a 20 20 75 6e 73 69 67 6e 65 64 20 70 6f 73 3b 09 09 09 2f 2f 20 63 75 72 72 65 6e 74 20 70 r...unsigned.pos;...//.current.p
6bb20 6f 73 20 69 6e 20 62 75 66 66 65 72 0a 20 20 75 6e 73 69 67 6e 65 64 20 73 74 72 65 61 6d 5f 70 os.in.buffer...unsigned.stream_p
6bb40 6f 73 3b 09 09 2f 2f 20 66 69 72 73 74 20 62 79 74 65 20 6e 6f 74 20 79 65 74 20 77 72 69 74 74 os;..//.first.byte.not.yet.writt
6bb60 65 6e 20 74 6f 20 66 69 6c 65 0a 20 20 75 69 6e 74 33 32 5f 74 20 63 72 63 5f 3b 0a 20 20 63 6f en.to.file...uint32_t.crc_;...co
6bb80 6e 73 74 20 69 6e 74 20 6f 75 74 66 64 3b 09 09 2f 2f 20 6f 75 74 70 75 74 20 66 69 6c 65 20 64 nst.int.outfd;..//.output.file.d
6bba0 65 73 63 72 69 70 74 6f 72 0a 20 20 62 6f 6f 6c 20 70 6f 73 5f 77 72 61 70 70 65 64 3b 0a 0a 20 escriptor...bool.pos_wrapped;...
6bbc0 20 76 6f 69 64 20 66 6c 75 73 68 5f 64 61 74 61 28 29 3b 0a 20 20 62 6f 6f 6c 20 76 65 72 69 66 .void.flush_data();...bool.verif
6bbe0 79 5f 74 72 61 69 6c 65 72 28 20 63 6f 6e 73 74 20 50 72 65 74 74 79 5f 70 72 69 6e 74 20 26 20 y_trailer(.const.Pretty_print.&.
6bc00 70 70 20 29 20 63 6f 6e 73 74 3b 0a 0a 20 20 75 69 6e 74 38 5f 74 20 70 65 65 6b 5f 70 72 65 76 pp.).const;....uint8_t.peek_prev
6bc20 28 29 20 63 6f 6e 73 74 0a 20 20 20 20 7b 20 72 65 74 75 72 6e 20 62 75 66 66 65 72 5b 28 28 70 ().const.....{.return.buffer[((p
6bc40 6f 73 20 3e 20 30 29 20 3f 20 70 6f 73 20 3a 20 64 69 63 74 69 6f 6e 61 72 79 5f 73 69 7a 65 29 os.>.0).?.pos.:.dictionary_size)
6bc60 2d 31 5d 3b 20 7d 0a 0a 20 20 75 69 6e 74 38 5f 74 20 70 65 65 6b 28 20 63 6f 6e 73 74 20 75 6e -1];.}....uint8_t.peek(.const.un
6bc80 73 69 67 6e 65 64 20 64 69 73 74 61 6e 63 65 20 29 20 63 6f 6e 73 74 0a 20 20 20 20 7b 0a 20 20 signed.distance.).const.....{...
6bca0 20 20 63 6f 6e 73 74 20 75 6e 73 69 67 6e 65 64 20 69 20 3d 20 28 20 28 20 70 6f 73 20 3e 20 64 ..const.unsigned.i.=.(.(.pos.>.d
6bcc0 69 73 74 61 6e 63 65 20 29 20 3f 20 30 20 3a 20 64 69 63 74 69 6f 6e 61 72 79 5f 73 69 7a 65 20 istance.).?.0.:.dictionary_size.
6bce0 29 20 2b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 70 6f 73 20 2d ).+........................pos.-
6bd00 20 64 69 73 74 61 6e 63 65 20 2d 20 31 3b 0a 20 20 20 20 72 65 74 75 72 6e 20 62 75 66 66 65 72 .distance.-.1;.....return.buffer
6bd20 5b 69 5d 3b 0a 20 20 20 20 7d 0a 0a 20 20 76 6f 69 64 20 70 75 74 5f 62 79 74 65 28 20 63 6f 6e [i];.....}....void.put_byte(.con
6bd40 73 74 20 75 69 6e 74 38 5f 74 20 62 20 29 0a 20 20 20 20 7b 0a 20 20 20 20 62 75 66 66 65 72 5b st.uint8_t.b.).....{.....buffer[
6bd60 70 6f 73 5d 20 3d 20 62 3b 0a 20 20 20 20 69 66 28 20 2b 2b 70 6f 73 20 3e 3d 20 64 69 63 74 69 pos].=.b;.....if(.++pos.>=.dicti
6bd80 6f 6e 61 72 79 5f 73 69 7a 65 20 29 20 66 6c 75 73 68 5f 64 61 74 61 28 29 3b 0a 20 20 20 20 7d onary_size.).flush_data();.....}
6bda0 0a 0a 20 20 76 6f 69 64 20 63 6f 70 79 5f 62 6c 6f 63 6b 28 20 63 6f 6e 73 74 20 75 6e 73 69 67 ....void.copy_block(.const.unsig
6bdc0 6e 65 64 20 64 69 73 74 61 6e 63 65 2c 20 75 6e 73 69 67 6e 65 64 20 6c 65 6e 20 29 0a 20 20 20 ned.distance,.unsigned.len.)....
6bde0 20 7b 0a 20 20 20 20 75 6e 73 69 67 6e 65 64 20 6c 70 6f 73 20 3d 20 70 6f 73 2c 20 69 20 3d 20 .{.....unsigned.lpos.=.pos,.i.=.
6be00 6c 70 6f 73 20 2d 20 64 69 73 74 61 6e 63 65 20 2d 20 31 3b 0a 20 20 20 20 62 6f 6f 6c 20 66 61 lpos.-.distance.-.1;.....bool.fa
6be20 73 74 2c 20 66 61 73 74 32 3b 0a 20 20 20 20 69 66 28 20 6c 70 6f 73 20 3e 20 64 69 73 74 61 6e st,.fast2;.....if(.lpos.>.distan
6be40 63 65 20 29 0a 20 20 20 20 20 20 7b 0a 20 20 20 20 20 20 66 61 73 74 20 3d 20 28 20 6c 65 6e 20 ce.).......{.......fast.=.(.len.
6be60 3c 20 64 69 63 74 69 6f 6e 61 72 79 5f 73 69 7a 65 20 2d 20 6c 70 6f 73 20 29 3b 0a 20 20 20 20 <.dictionary_size.-.lpos.);.....
6be80 20 20 66 61 73 74 32 20 3d 20 28 20 66 61 73 74 20 26 26 20 6c 65 6e 20 3c 3d 20 6c 70 6f 73 20 ..fast2.=.(.fast.&&.len.<=.lpos.
6bea0 2d 20 69 20 29 3b 0a 20 20 20 20 20 20 7d 0a 20 20 20 20 65 6c 73 65 0a 20 20 20 20 20 20 7b 0a -.i.);.......}.....else.......{.
6bec0 20 20 20 20 20 20 69 20 2b 3d 20 64 69 63 74 69 6f 6e 61 72 79 5f 73 69 7a 65 3b 0a 20 20 20 20 ......i.+=.dictionary_size;.....
6bee0 20 20 66 61 73 74 20 3d 20 28 20 6c 65 6e 20 3c 20 64 69 63 74 69 6f 6e 61 72 79 5f 73 69 7a 65 ..fast.=.(.len.<.dictionary_size
6bf00 20 2d 20 69 20 29 3b 09 2f 2f 20 28 69 20 3d 3d 20 70 6f 73 29 20 6d 61 79 20 68 61 70 70 65 6e .-.i.);.//.(i.==.pos).may.happen
6bf20 0a 20 20 20 20 20 20 66 61 73 74 32 20 3d 20 28 20 66 61 73 74 20 26 26 20 6c 65 6e 20 3c 3d 20 .......fast2.=.(.fast.&&.len.<=.
6bf40 69 20 2d 20 6c 70 6f 73 20 29 3b 0a 20 20 20 20 20 20 7d 0a 20 20 20 20 69 66 28 20 66 61 73 74 i.-.lpos.);.......}.....if(.fast
6bf60 20 29 09 09 09 09 09 2f 2f 20 6e 6f 20 77 72 61 70 0a 20 20 20 20 20 20 7b 0a 20 20 20 20 20 20 .).....//.no.wrap.......{.......
6bf80 70 6f 73 20 2b 3d 20 6c 65 6e 3b 0a 20 20 20 20 20 20 69 66 28 20 66 61 73 74 32 20 29 09 09 09 pos.+=.len;.......if(.fast2.)...
6bfa0 09 2f 2f 20 6e 6f 20 77 72 61 70 2c 20 6e 6f 20 6f 76 65 72 6c 61 70 0a 20 20 20 20 20 20 20 20 .//.no.wrap,.no.overlap.........
6bfc0 73 74 64 3a 3a 6d 65 6d 63 70 79 28 20 62 75 66 66 65 72 20 2b 20 6c 70 6f 73 2c 20 62 75 66 66 std::memcpy(.buffer.+.lpos,.buff
6bfe0 65 72 20 2b 20 69 2c 20 6c 65 6e 20 29 3b 0a 20 20 20 20 20 20 65 6c 73 65 0a 20 20 20 20 20 20 er.+.i,.len.);.......else.......
6c000 20 20 66 6f 72 28 20 3b 20 6c 65 6e 20 3e 20 30 3b 20 2d 2d 6c 65 6e 20 29 20 62 75 66 66 65 72 ..for(.;.len.>.0;.--len.).buffer
6c020 5b 6c 70 6f 73 2b 2b 5d 20 3d 20 62 75 66 66 65 72 5b 69 2b 2b 5d 3b 0a 20 20 20 20 20 20 7d 0a [lpos++].=.buffer[i++];.......}.
6c040 20 20 20 20 65 6c 73 65 20 66 6f 72 28 20 3b 20 6c 65 6e 20 3e 20 30 3b 20 2d 2d 6c 65 6e 20 29 ....else.for(.;.len.>.0;.--len.)
6c060 0a 20 20 20 20 20 20 7b 0a 20 20 20 20 20 20 62 75 66 66 65 72 5b 70 6f 73 5d 20 3d 20 62 75 66 .......{.......buffer[pos].=.buf
6c080 66 65 72 5b 69 5d 3b 0a 20 20 20 20 20 20 69 66 28 20 2b 2b 70 6f 73 20 3e 3d 20 64 69 63 74 69 fer[i];.......if(.++pos.>=.dicti
6c0a0 6f 6e 61 72 79 5f 73 69 7a 65 20 29 20 66 6c 75 73 68 5f 64 61 74 61 28 29 3b 0a 20 20 20 20 20 onary_size.).flush_data();......
6c0c0 20 69 66 28 20 2b 2b 69 20 3e 3d 20 64 69 63 74 69 6f 6e 61 72 79 5f 73 69 7a 65 20 29 20 69 20 .if(.++i.>=.dictionary_size.).i.
6c0e0 3d 20 30 3b 0a 20 20 20 20 20 20 7d 0a 20 20 20 20 7d 0a 0a 20 20 4c 5a 5f 64 65 63 6f 64 65 72 =.0;.......}.....}....LZ_decoder
6c100 28 20 63 6f 6e 73 74 20 4c 5a 5f 64 65 63 6f 64 65 72 20 26 20 29 3b 09 09 2f 2f 20 64 65 63 6c (.const.LZ_decoder.&.);..//.decl
6c120 61 72 65 64 20 61 73 20 70 72 69 76 61 74 65 0a 20 20 76 6f 69 64 20 6f 70 65 72 61 74 6f 72 3d ared.as.private...void.operator=
6c140 28 20 63 6f 6e 73 74 20 4c 5a 5f 64 65 63 6f 64 65 72 20 26 20 29 3b 09 09 2f 2f 20 64 65 63 6c (.const.LZ_decoder.&.);..//.decl
6c160 61 72 65 64 20 61 73 20 70 72 69 76 61 74 65 0a 0a 70 75 62 6c 69 63 3a 0a 20 20 4c 5a 5f 64 65 ared.as.private..public:...LZ_de
6c180 63 6f 64 65 72 28 20 52 61 6e 67 65 5f 64 65 63 6f 64 65 72 20 26 20 72 64 65 2c 20 63 6f 6e 73 coder(.Range_decoder.&.rde,.cons
6c1a0 74 20 75 6e 73 69 67 6e 65 64 20 64 69 63 74 5f 73 69 7a 65 2c 20 63 6f 6e 73 74 20 69 6e 74 20 t.unsigned.dict_size,.const.int.
6c1c0 6f 66 64 20 29 0a 20 20 20 20 3a 0a 20 20 20 20 70 61 72 74 69 61 6c 5f 64 61 74 61 5f 70 6f 73 ofd.).....:.....partial_data_pos
6c1e0 28 20 30 20 29 2c 0a 20 20 20 20 72 64 65 63 28 20 72 64 65 20 29 2c 0a 20 20 20 20 64 69 63 74 (.0.),.....rdec(.rde.),.....dict
6c200 69 6f 6e 61 72 79 5f 73 69 7a 65 28 20 64 69 63 74 5f 73 69 7a 65 20 29 2c 0a 20 20 20 20 62 75 ionary_size(.dict_size.),.....bu
6c220 66 66 65 72 28 20 6e 65 77 20 75 69 6e 74 38 5f 74 5b 64 69 63 74 69 6f 6e 61 72 79 5f 73 69 7a ffer(.new.uint8_t[dictionary_siz
6c240 65 5d 20 29 2c 0a 20 20 20 20 70 6f 73 28 20 30 20 29 2c 0a 20 20 20 20 73 74 72 65 61 6d 5f 70 e].),.....pos(.0.),.....stream_p
6c260 6f 73 28 20 30 20 29 2c 0a 20 20 20 20 63 72 63 5f 28 20 30 78 46 46 46 46 46 46 46 46 55 20 29 os(.0.),.....crc_(.0xFFFFFFFFU.)
6c280 2c 0a 20 20 20 20 6f 75 74 66 64 28 20 6f 66 64 20 29 2c 0a 20 20 20 20 70 6f 73 5f 77 72 61 70 ,.....outfd(.ofd.),.....pos_wrap
6c2a0 70 65 64 28 20 66 61 6c 73 65 20 29 0a 20 20 20 20 2f 2f 20 70 72 65 76 5f 62 79 74 65 20 6f 66 ped(.false.).....//.prev_byte.of
6c2c0 20 66 69 72 73 74 20 62 79 74 65 3b 20 61 6c 73 6f 20 66 6f 72 20 70 65 65 6b 28 20 30 20 29 20 .first.byte;.also.for.peek(.0.).
6c2e0 6f 6e 20 63 6f 72 72 75 70 74 20 66 69 6c 65 0a 20 20 20 20 7b 20 62 75 66 66 65 72 5b 64 69 63 on.corrupt.file.....{.buffer[dic
6c300 74 69 6f 6e 61 72 79 5f 73 69 7a 65 2d 31 5d 20 3d 20 30 3b 20 7d 0a 0a 20 20 7e 4c 5a 5f 64 65 tionary_size-1].=.0;.}....~LZ_de
6c320 63 6f 64 65 72 28 29 20 7b 20 64 65 6c 65 74 65 5b 5d 20 62 75 66 66 65 72 3b 20 7d 0a 0a 20 20 coder().{.delete[].buffer;.}....
6c340 75 6e 73 69 67 6e 65 64 20 63 72 63 28 29 20 63 6f 6e 73 74 20 7b 20 72 65 74 75 72 6e 20 63 72 unsigned.crc().const.{.return.cr
6c360 63 5f 20 5e 20 30 78 46 46 46 46 46 46 46 46 55 3b 20 7d 0a 20 20 75 6e 73 69 67 6e 65 64 20 6c c_.^.0xFFFFFFFFU;.}...unsigned.l
6c380 6f 6e 67 20 6c 6f 6e 67 20 64 61 74 61 5f 70 6f 73 69 74 69 6f 6e 28 29 20 63 6f 6e 73 74 20 7b ong.long.data_position().const.{
6c3a0 20 72 65 74 75 72 6e 20 70 61 72 74 69 61 6c 5f 64 61 74 61 5f 70 6f 73 20 2b 20 70 6f 73 3b 20 .return.partial_data_pos.+.pos;.
6c3c0 7d 0a 0a 20 20 69 6e 74 20 64 65 63 6f 64 65 5f 6d 65 6d 62 65 72 28 20 63 6f 6e 73 74 20 50 72 }....int.decode_member(.const.Pr
6c3e0 65 74 74 79 5f 70 72 69 6e 74 20 26 20 70 70 20 29 3b 0a 20 20 7d 3b 0a 00 00 00 00 00 00 00 00 etty_print.&.pp.);...};.........
6c400 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6c420 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6c440 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6c460 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6c480 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6c4a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6c4c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6c4e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6c500 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6c520 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6c540 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6c560 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6c580 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6c5a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6c5c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6c5e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6c600 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6c620 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6c640 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6c660 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6c680 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6c6a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6c6c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6c6e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6c700 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6c720 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6c740 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6c760 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6c780 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6c7a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6c7c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6c7e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6c800 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6c820 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6c840 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6c860 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6c880 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6c8a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6c8c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6c8e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6c900 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6c920 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6c940 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6c960 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6c980 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6c9a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6c9c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6c9e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6ca00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6ca20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6ca40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6ca60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6ca80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6caa0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6cac0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6cae0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6cb00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6cb20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6cb40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6cb60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6cb80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6cba0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6cbc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6cbe0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6cc00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6cc20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6cc40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6cc60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6cc80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6cca0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6ccc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6cce0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6cd00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6cd20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6cd40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6cd60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6cd80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6cda0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6cdc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6cde0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6ce00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6ce20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6ce40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6ce60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6ce80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6cea0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6cec0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6cee0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6cf00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6cf20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6cf40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6cf60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6cf80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6cfa0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6cfc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6cfe0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6d000 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6d020 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6d040 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6d060 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6d080 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6d0a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6d0c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6d0e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6d100 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6d120 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6d140 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6d160 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6d180 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6d1a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6d1c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6d1e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6d200 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6d220 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6d240 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6d260 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6d280 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6d2a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6d2c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6d2e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6d300 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6d320 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6d340 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6d360 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6d380 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6d3a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6d3c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6d3e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6d400 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6d420 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6d440 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6d460 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6d480 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6d4a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6d4c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6d4e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6d500 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6d520 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6d540 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6d560 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6d580 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6d5a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6d5c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6d5e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6d600 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6d620 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6d640 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6d660 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6d680 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6d6a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6d6c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6d6e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6d700 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6d720 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6d740 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6d760 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6d780 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6d7a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6d7c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6d7e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6d800 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6d820 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6d840 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6d860 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6d880 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6d8a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6d8c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6d8e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6d900 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6d920 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6d940 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6d960 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6d980 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6d9a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6d9c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6d9e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6da00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6da20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6da40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6da60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6da80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6daa0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6dac0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6dae0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6db00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6db20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6db40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6db60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6db80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6dba0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6dbc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6dbe0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6dc00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6dc20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6dc40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6dc60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6dc80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6dca0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6dcc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6dce0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6dd00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6dd20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6dd40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6dd60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6dd80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6dda0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6ddc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6dde0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6de00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6de20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6de40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6de60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6de80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6dea0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6dec0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6dee0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6df00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6df20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6df40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6df60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6df80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6dfa0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6dfc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6dfe0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................