diff --git a/docs/draft-alakuijala-brotli-09.nroff b/docs/draft-alakuijala-brotli-09.nroff index 5bbf373..6397af9 100644 --- a/docs/draft-alakuijala-brotli-09.nroff +++ b/docs/draft-alakuijala-brotli-09.nroff @@ -7,9 +7,9 @@ .ds LF Alakuijala & Szabadka .ds RF FORMFEED[Page %] .ds LH Internet-Draft -.ds RH December 2015 +.ds RH April 2016 .ds CH Brotli -.ds CF Expires June 10, 2016 +.ds CF Expires October 19, 2016 .hy 0 .nh .ad l @@ -18,13 +18,13 @@ .tl 'Network Working Group''J. Alakuijala' .tl 'Internet-Draft''Z. Szabadka' .tl 'Intended Status: Informational''Google, Inc' -.tl 'Expires: June 10, 2016''December 2015' +.tl 'Expires: October 19, 2016''April 2016' .fi .ce 2 Brotli Compressed Data Format -draft-alakuijala-brotli-08 +draft-alakuijala-brotli-09 .fi .in 3 @@ -52,12 +52,12 @@ and may be updated, replaced, or obsoleted by other documents at any time. It is inappropriate to use Internet-Drafts as reference material or to cite them other than as "work in progress." -This Internet-Draft will expire on June 10, 2016. +This Internet-Draft will expire on October 19, 2016. .ti 0 Copyright Notice -Copyright (c) 2015 IETF Trust and the persons identified as the document +Copyright (c) 2016 IETF Trust and the persons identified as the document authors. All rights reserved. This document is subject to BCP 78 and the IETF Trust's Legal @@ -220,9 +220,27 @@ a sequence of bytes, starting with the first byte at the *right* margin and proceeding to the *left*, with the most-significant bit of each byte on the left as usual, one would be able to parse the result from right to left, with fixed-width -elements in the correct MSB-to-LSB order and prefix codes in +elements in the correct msb-to-lsb order and prefix codes in bit-reversed order (i.e., with the first bit of the code in the -relative LSB position). +relative lsb position). + +As an example, consider packing the following data elements into +a sequence of 3 bytes: 3-bit integer value 6, 4-bit integer value 2, +prefix code 110, prefix code 10, 12-bit integer value 3628. + +.nf + byte 2 byte 1 byte 0 + +--------+--------+--------+ + |11100010|11000101|10010110| + +--------+--------+--------+ + ^ ^ ^ ^ ^ + | | | | | + | | | | +------ integer value 6 + | | | +---------- integer value 2 + | | +-------------- prefix code 110 + | +---------------- prefix code 10 + +----------------------------- integer value 3628 +.fi .ti 0 2. Compressed representation overview @@ -693,26 +711,26 @@ are compressed using a prefix code. The alphabet for code lengths is as follows: .nf - 0 - 15: Represent code lengths of 0 - 15 - 16: Copy the previous non-zero code length 3 - 6 times + 0..15: Represent code lengths of 0..15 + 16: Copy the previous non-zero code length 3..6 times The next 2 bits indicate repeat length (0 = 3, ... , 3 = 6) If this is the first code length, or all previous code lengths are zero, a code length of 8 is - repeated 3 - 6 times + repeated 3..6 times A repeated code length code of 16 modifies the repeat count of the previous one as follows: repeat count = (4 * (repeat count - 2)) + - (3 - 6 on the next 2 bits) + (3..6 on the next 2 bits) Example: Codes 7, 16 (+2 bits 11), 16 (+2 bits 10) will expand to 22 code lengths of 7 (1 + 4 * (6 - 2) + 5) - 17: Repeat a code length of 0 for 3 - 10 times. + 17: Repeat a code length of 0 for 3..10 times. (3 bits of length) A repeated code length code of 17 modifies the repeat count of the previous one as follows: repeat count = (8 * (repeat count - 2)) + - (3 - 10 on the next 3 bits) + (3..10 on the next 3 bits) .fi Note that a code of 16 that follows an immediately preceding 16 modifies the @@ -763,7 +781,7 @@ We can now define the format of the complex prefix code as follows: is for symbol 4. The code lengths of code length symbols are between 0 and - 5, and they are represented with 2 - 4 bits according to + 5, and they are represented with 2..4 bits according to the variable length code above. A code length of 0 means the corresponding code length symbol is not used. @@ -816,7 +834,7 @@ represented with a pair . The distance code and the extra bits are encoded back-to-back, the distance code is encoded using a prefix code over the distance alphabet, while the extra bits value is encoded as a fixed-width integer -value. The number of extra bits can be 0 - 24, and it is dependent +value. The number of extra bits can be 0..24, and it is dependent on the distance code. To convert a distance code and associated extra bits to a backward @@ -913,7 +931,7 @@ extra bits are encoded back-to-back, the insert-and-copy length code is encoded using a prefix code over the insert-and-copy length code alphabet, while the extra bits values are encoded as fixed-width integer values. The number of insert and copy extra bits can be -0 - 24, and they are dependent on the insert-and-copy length code. +0..24, and they are dependent on the insert-and-copy length code. Some of the insert-and-copy length codes also express the fact that the distance symbol of the distance in the same command is 0, i.e. the @@ -929,17 +947,17 @@ are as follows: .nf .KS - Extra Extra Extra - Code Bits Lengths Code Bits Lengths Code Bits Lengths - ---- ---- ------ ---- ---- ------- ---- ---- ------- - 0 0 0 8 2 10-13 16 6 130-193 - 1 0 1 9 2 14-17 17 7 194-321 - 2 0 2 10 3 18-25 18 8 322-577 - 3 0 3 11 3 26-33 19 9 578-1089 - 4 0 4 12 4 34-49 20 10 1090-2113 - 5 0 5 13 4 50-65 21 12 2114-6209 - 6 1 6,7 14 5 66-97 22 14 6210-22593 - 7 1 8,9 15 5 98-129 23 24 22594-16799809 + Extra Extra Extra + Code Bits Lengths Code Bits Lengths Code Bits Lengths + ---- ---- ------- ---- ---- ------- ---- ---- ------- + 0 0 0 8 2 10..13 16 6 130..193 + 1 0 1 9 2 14..17 17 7 194..321 + 2 0 2 10 3 18..25 18 8 322..577 + 3 0 3 11 3 26..33 19 9 578..1089 + 4 0 4 12 4 34..49 20 10 1090..2113 + 5 0 5 13 4 50..65 21 12 2114..6209 + 6 1 6,7 14 5 66..97 22 14 6210..22593 + 7 1 8,9 15 5 98..129 23 24 22594..16799809 .KE .fi @@ -948,17 +966,17 @@ of copy extra bits, and the range of copy lengths are as follows: .nf .KS - Extra Extra Extra - Code Bits Lengths Code Bits Lengths Code Bits Lengths - ---- ---- ------ ---- ---- ------- ---- ---- ------- - 0 0 2 8 1 10,11 16 5 70-101 - 1 0 3 9 1 12,13 17 5 102-133 - 2 0 4 10 2 14-17 18 6 134-197 - 3 0 5 11 2 18-21 19 7 198-325 - 4 0 6 12 3 22-29 20 8 326-581 - 5 0 7 13 3 30-37 21 9 582-1093 - 6 0 8 14 4 38-53 22 10 1094-2117 - 7 0 9 15 4 54-69 23 24 2118-16779333 + Extra Extra Extra + Code Bits Lengths Code Bits Lengths Code Bits Lengths + ---- ---- ------- ---- ---- ------- ---- ---- ------- + 0 0 2 8 1 10,11 16 5 70..101 + 1 0 3 9 1 12,13 17 5 102..133 + 2 0 4 10 2 14..17 18 6 134..197 + 3 0 5 11 2 18..21 19 7 198..325 + 4 0 6 12 3 22..29 20 8 326..581 + 5 0 7 13 3 30..37 21 9 582..1093 + 6 0 8 14 4 38..53 22 10 1094..2117 + 7 0 9 15 4 54..69 23 24 2118..16779333 .KE .fi @@ -969,34 +987,34 @@ and a copy length code, the following table can be used: .KS Insert length Copy length code - code 0-7 8-15 16-23 - +---------+---------+ - | | | - 0-7 | 0-63 | 64-127 | <--- distance symbol 0 - | | | - +---------+---------+---------+ - | | | | - 0-7 | 128-191 | 192-255 | 384-447 | - | | | | - +---------+---------+---------+ - | | | | - 8-15 | 256-319 | 320-383 | 512-575 | - | | | | - +---------+---------+---------+ - | | | | - 16-23 | 448-511 | 576-639 | 640-703 | - | | | | - +---------+---------+---------+ + code 0..7 8..15 16..23 + +----------+----------+ + | | | + 0..7 | 0..63 | 64..127 | <--- distance symbol 0 + | | | + +----------+----------+----------+ + | | | | + 0..7 | 128..191 | 192..255 | 384..447 | + | | | | + +----------+----------+----------+ + | | | | + 8..15 | 256..319 | 320..383 | 512..575 | + | | | | + +----------+----------+----------+ + | | | | + 16..23 | 448..511 | 576..639 | 640..703 | + | | | | + +----------+----------+----------+ .KE .fi First, look up the cell with the 64 value range containing the insert-and-copy length code, this gives the insert length code and the copy length code ranges, both 8 values long. -The copy length code within its range is determined by bits 0-2 -(counted from the LSB) of the insert-and-copy length code. -The insert length code within its range is determined by bits 3-5 -(counted from the LSB) of the insert-and-copy length code. +The copy length code within its range is determined by bits 0..2 +(counted from the lsb) of the insert-and-copy length code. +The insert length code within its range is determined by bits 3..5 +(counted from the lsb) of the insert-and-copy length code. Given the insert length and copy length codes, the actual insert and copy lengths can be obtained by reading the number of extra bits given by the tables above. @@ -1020,8 +1038,8 @@ the block type that preceded the current type, while a block type symbol 1 means that the new block type equals the current block type plus one. If the current block type is the maximal possible, then a block type symbol of 1 results in wrapping to a new block type of 0. -Block type symbols 2 - 257 -represent block types 0 - 255 respectively. The previous and current block types +Block type symbols 2..257 +represent block types 0..255 respectively. The previous and current block types are initialized to 1 and 0, respectively, at the end of the meta-block header. @@ -1051,24 +1069,24 @@ Each block count in the compressed data is represented with a pair bits are encoded back-to-back, the block count code is encoded using a prefix code over the block count code alphabet, while the extra bits value is encoded as a fixed-width integer value. The number of -extra bits can be 0 - 24, and it is dependent on the block count +extra bits can be 0..24, and it is dependent on the block count code. The symbols of the block count code alphabet, along with the number of extra bits, and the range of block counts are as follows: .nf .KS - Extra Extra Extra - Code Bits Lengths Code Bits Lengths Code Bits Lengths - ---- ---- ------ ---- ---- ------- ---- ---- ------- - 0 2 1-4 9 4 65-80 18 7 369-496 - 1 2 5-8 10 4 81-96 19 8 497-752 - 2 2 9-12 11 4 97-112 20 9 753-1264 - 3 2 13-16 12 5 113-144 21 10 1265-2288 - 4 3 17-24 13 5 145-176 22 11 2289-4336 - 5 3 25-32 14 5 177-208 23 12 4337-8432 - 6 3 33-40 15 5 209-240 24 13 8433-16624 - 7 3 41-48 16 6 241-304 25 24 16625-16793840 - 8 4 49-64 17 6 305-368 + Extra Extra Extra + Code Bits Lengths Code Bits Lengths Code Bits Lengths + ---- ---- ------- ---- ---- ------- ---- ---- ------- + 0 2 1..4 9 4 65..80 18 7 369..496 + 1 2 5..8 10 4 81..96 19 8 497..752 + 2 2 9..12 11 4 97..112 20 9 753..1264 + 3 2 13..16 12 5 113..144 21 10 1265..2288 + 4 3 17..24 13 5 145..176 22 11 2289..4336 + 5 3 25..32 14 5 177..208 23 12 4337..8432 + 6 3 33..40 15 5 209..240 24 13 8433..16624 + 7 3 41..48 16 6 241..304 25 24 16625..16793840 + 8 4 49..64 17 6 305..368 .KE .fi @@ -1262,9 +1280,9 @@ now define the format of the context map (the same format is used for literal and distance context maps): .nf - 1-5 bits: RLEMAX, 0 is encoded with one 0 bit, and values - 1 - 16 are encoded with bit pattern xxxx1 (so 01001 - is 5) + 1..5 bits: RLEMAX, 0 is encoded with one 0 bit, and values + 1..16 are encoded with bit pattern xxxx1 (so 01001 + is 5) Prefix code with alphabet size NTREES + RLEMAX @@ -1398,7 +1416,7 @@ The form of these elementary transforms is as follows: .fi For the purposes of UppercaseAll, word is parsed into UTF-8 -characters and converted to upper-case by taking 1 - 3 bytes at a time, +characters and converted to upper-case by taking 1..3 bytes at a time, using the algorithm below: .nf @@ -1447,10 +1465,10 @@ previous sections. The stream header has only the following one field: .nf - 1-7 bits: WBITS, a value in the range 10 - 24, encoded with - the following variable length code (as it appears in - the compressed data, where the bits are parsed from - right to left): + 1..7 bits: WBITS, a value in the range 10..24, encoded with + the following variable length code (as it appears in + the compressed data, where the bits are parsed from + right to left): Value Bit Pattern ----- ----------- @@ -1527,7 +1545,7 @@ the following: zeros, then the stream should be rejected as invalid) - 0 - 7 bits: fill bits until the next byte boundary, + 0..7 bits: fill bits until the next byte boundary, must be all zeros MSKIPLEN bytes of metadata, not part of the @@ -1546,7 +1564,7 @@ the following: ISLAST bit is not set (if the ignored bits are not all zeros, the stream should be rejected as invalid) - 1-11 bits: NBLTYPESL, # of literal block types, encoded with + 1..11 bits: NBLTYPESL, # of literal block types, encoded with the following variable length code (as it appears in the compressed data, where the bits are parsed from right to left, so 0110111 has the value 12): @@ -1555,13 +1573,13 @@ the following: ----- ----------- 1 0 2 0001 - 3-4 x0011 - 5-8 xx0101 - 9-16 xxx0111 - 17-32 xxxx1001 - 33-64 xxxxx1011 - 65-128 xxxxxx1101 - 129-256 xxxxxxx1111 + 3..4 x0011 + 5..8 xx0101 + 9..16 xxx0111 + 17..32 xxxx1001 + 33..64 xxxxx1011 + 65..128 xxxxxx1101 + 129..256 xxxxxxx1111 Prefix code over the block type code alphabet for literal block types, appears only if NBLTYPESL >= 2 @@ -1572,8 +1590,8 @@ the following: Block count code + extra bits for first literal block count, appears only if NBLTYPESL >= 2 - 1-11 bits: NBLTYPESI, # of insert-and-copy block types, encoded - with the same variable length code as above + 1..11 bits: NBLTYPESI, # of insert-and-copy block types, encoded + with the same variable length code as above Prefix code over the block type code alphabet for insert-and-copy block types, appears only if NBLTYPESI >= 2 @@ -1584,8 +1602,8 @@ the following: Block count code + extra bits for first insert-and-copy block count, appears only if NBLTYPESI >= 2 - 1-11 bits: NBLTYPESD, # of distance block types, encoded - with the same variable length code as above + 1..11 bits: NBLTYPESD, # of distance block types, encoded + with the same variable length code as above Prefix code over the block type code alphabet for distance block types, appears only if NBLTYPESD >= 2 @@ -1604,15 +1622,15 @@ the following: NBLTYPESL x 2 bits: context mode for each literal block type - 1-11 bits: NTREESL, # of literal prefix trees, encoded - with the same variable length code as NBLTYPESL + 1..11 bits: NTREESL, # of literal prefix trees, encoded + with the same variable length code as NBLTYPESL Literal context map, encoded as described in Section 7.3., appears only if NTREESL >= 2, otherwise the context map has only zero values - 1-11 bits: NTREESD, # of distance prefix trees, encoded - with the same variable length code as NBLTYPESD + 1..11 bits: NTREESD, # of distance prefix trees, encoded + with the same variable length code as NBLTYPESD Distance context map, encoded as described in Section 7.3., appears only if NTREESD >= 2, otherwise the context map @@ -1806,19 +1824,183 @@ reference with adds X,Y,X,Y,X to the uncompressed stream. .ti 0 -11. Security Considerations +11. Considerations for compressor implementations + +Since the intent of this document is to define the brotli compressed data format +without reference to any particular compression algorithm, the material in this +section is not part of the definition of the format, and a compressor need not +follow it in order to be compliant. + +.ti 0 +11.1. Trivial compressor + +In this section we present a very simple algorithm that produces a valid brotli +stream representing an arbitrary sequence of uncompressed bytes in the form of +the following C++ language function. + +.nf + string BrotliCompressTrivial(const string& u) { + if (u.empty()) { + return string(1, 6); + } + int i; + string c; + c.append(1, 12); + for (i = 0; i + 65535 < u.size(); i += 65536) { + c.append(1, 248); + c.append(1, 255); + c.append(1, 15); + c.append(&u[i], 65536); + } + if (i < u.size()) { + int r = u.size() - i - 1; + c.append(1, (r & 31) << 3); + c.append(1, r >> 5); + c.append(1, 8 + (r >> 13)); + c.append(&u[i], r + 1); + } + c.append(1, 3); + return c; + } +.fi + +Note that this simple algorithm does not actually compress data, that is, the +brotli representation will always be bigger than the original, but it +shows that every sequence of N uncompressed bytes can be represented with a +valid brotli stream that is not longer than N + (3 * (N >> 16) + 5) bytes. + +.ti 0 +11.2. Aligning compressed meta-blocks to byte boundaries + +As described in Section 9., only those meta-blocks that immediately follow an +uncompressed meta-block or a metadata meta-block are guaranteed to start on a +byte boundary. In some applications, it might be required that every +non-metadata meta-block starts on a byte boundary. This can be achieved by +appending an empty metadata meta-block after every non-metadata meta-block that +does not end on a byte boundary. + +.ti 0 +11.3. Creating self-contained parts within the compressed data + +In some encoder implementations it might be required to make a sequence of +bytes within a brotli stream self-contained, that is, such that they +can be decompressed independently from previous parts of the compressed data. +This is a useful feature for three reasons. First, if a large compressed file +is damaged, it is possible to recover some of the file after the damage. +Second, it is useful when doing differential transfer of compressed data. If +a sequence of uncompressed bytes is unchanged and compressed independently +from previous data, then the compressed representation may also be +unchanged and can therefore be transferred very cheaply. Third, if sequences of +uncompressed bytes are compressed independently, it allows for parallel +compression of these byte sequences within the same file, in addition +to parallel compression of multiple files. + +Given two sequences of uncompressed bytes, U0 and U1, we will now describe how +to create two sequences of compressed bytes, C0 and C1, such that the +concatenation of C0 and C1 is a valid brotli stream, and that C0 and C1 +(together with the first byte of C0 that contains the window size) +can be decompressed independently from each other to U0 and U1. + +When compressing the byte sequence U0 to produce C0, we can use any compressor +that works on the complete set of uncompressed bytes U0, with the following two +changes. First, the ISLAST bit of the last meta-block of C0 must not be set. +Second, C0 must end at a byte-boundary, which can be ensured by appending an +empty metadata meta-block to it, as in Section 11.2. + +When compressing the byte sequence U1 to produce C1, we can use any compressor +that starts a new meta-block at the beginning of U1 within the U0+U1 input +stream, with the following two changes. First, backward distances in C1 must +not refer to static dictionary words or uncompressed bytes in U0. +Even if a sequence of bytes in U1 would match a static dictionary word, or a +sequence of bytes that overlaps U0, the compressor must represent this +sequence of bytes with a combination of literal insertions and backward +references to bytes in U1 instead. Second, the ring +buffer of last four distances must be replenished first with distances in C1 +before using it to encode other distances in C1. Note that both compressors +producing C0 and C1 have to use the same window size, but the stream header is +emitted only by the compressor that produces C0. + +Note that this method can be easily generalized to more than two sequences +of uncompressed bytes. + +.ti 0 +12. Security Considerations As with any compressed file formats, decompressor implementations should handle all compressed data byte sequences, not only those that conform to this -specification, where non-conformant compressed data sequences should be discarded. +specification, where non-conformant compressed data sequences should be +discarded. + A possible attack against a system containing a decompressor -implementation (e.g. a web browser) is to exploit a buffer -overflow caused by an invalid compressed data. Therefore decompressor +implementation (e.g. a web browser) is to exploit a buffer overflow +triggered by invalid compressed data. Therefore decompressor implementations should perform bounds-checking for each memory access -that result from values decoded from the compressed stream. +that result from values decoded from the compressed stream and derivatives +therof. + +Another possible attack against a system containing a decompressor +implementation is to provide it (either valid or invalid) compressed data +that can make the decompressor system's resource consumption (cpu, memory, or +storage) to be disproportionately large compared to the size of the +compressed data. In addition to the size of the compressed data, the amount of +cpu, memory and storage required to decompress a single compressed meta-block +within a brotli stream is controlled by the following two paramters: the size of +the uncompressed meta-block, which is encoded at the start of the compressed +meta-block, and the size of the sliding window, which is encoded at the start +of the brotli stream. Decompressor implementations in systems where +memory or storage is constrained should perform a sanity-check on these two +parameters. The uncompressed meta-block size that was decoded from the +compressed stream should be compared against either a hard limit, given by the +system's constraints or some expectation about the uncompressed data, or against +a certain multiple of the size of the compressed data. If the uncompressed +meta-block size is determined to be too high, the compressed data should be +rejected. Likewise, when the complete uncompressed stream is kept in the +system containing the decompressor implementation, the total uncompressed +size of the stream should be checked before decompressing each additional +meta-block. If the size of the sliding window that was decoded from the start +of the compressed stream is greater than a certain soft limit, then the +decompressor implementation should, at first, allocate a smaller sliding +window that fits the first uncompressed meta-block, and afterwards, before +decompressing each additional meta-block, it should increase the size of the +sliding window until the sliding window size specified in the compressed data +is reached. + +Correspondingly, possible attacks against a system containing a compressor +implementation (e.g. a web server) are to exploit a buffer overflow or cause +disproportionately large resource consumption by providing e.g. uncompressible +data. +As described in Section 11.1., an output buffer of + +.nf + S(N) = N + (3 * (N >> 16) + 5) +.fi + +bytes is sufficient to hold a valid compressed brotli +stream representing an arbitrary sequence of N uncompressed bytes. +Therefore compressor implementations should allocate at least S(N) bytes of +output buffer before compressing N bytes of data with unknown compressibility +and should perform bounds-checking for each write into this output buffer. +If their output buffer is full, compresor implementations should +revert to the trivial compression algorithm described in Section 11.1. +The resourse consumption of a compressor implementation for a particular input +data depends mostly on the algorithm used to find backward matches and on the +algorithm used to construct context maps and prefix codes and only to a lesser +extent on the input data itself. If the system containing a compressor +implementation is overloaded, a possible way to reduce resource usage is to +switch to more simple algorithms for backward reference search and prefix code +construction, or to fall back to the trivial compression algorithm described in +Section 11.1. + +A possible attack against a system that sends compressed data over an encrypted +channel is the following. An attacker who can repeatedly mix arbitrary +(attacker-supplied) data with secret data (passwords, cookies) and observe the +length of the ciphertext can potentially reconstruct the secret data. To +protect against this kind of attack, applications should not mix sensitive data +with non-sensitive, potentially attacker-supplied data in the same compressed +stream. .ti 0 -12. IANA Considerations +13. IANA Considerations The "HTTP Content Coding Registry" has been updated with the registration below: @@ -1834,7 +2016,7 @@ registration below: .fi .ti 0 -13. Informative References +14. Informative References .in 14 .ti 3 @@ -1858,7 +2040,7 @@ http://www.ietf.org/rfc/rfc1951.txt .in 3 .ti 0 -14. Source code +15. Source code Source code for a C language implementation of a brotli compliant decompressor and a C++ language implementation of a compressor is @@ -1866,7 +2048,7 @@ available in the brotli open-source project: https://github.com/google/brotli .ti 0 -15. Acknowledgments +16. Acknowledgments The authors would like to thank Mark Adler, Robert Obryk, Thomas Pickert, and Joe Tsai for providing helpful review comments, diff --git a/docs/draft-alakuijala-brotli-09.txt b/docs/draft-alakuijala-brotli-09.txt index e119136..ffc07c2 100644 --- a/docs/draft-alakuijala-brotli-09.txt +++ b/docs/draft-alakuijala-brotli-09.txt @@ -7,11 +7,11 @@ Network Working Group J. Alakuijala Internet-Draft Z. Szabadka Intended Status: Informational Google, Inc -Expires: June 10, 2016 December 2015 +Expires: October 19, 2016 April 2016 Brotli Compressed Data Format - draft-alakuijala-brotli-08 + draft-alakuijala-brotli-09 Abstract @@ -35,11 +35,11 @@ Status of this Memo time. It is inappropriate to use Internet-Drafts as reference material or to cite them other than as "work in progress." - This Internet-Draft will expire on June 10, 2016. + This Internet-Draft will expire on October 19, 2016. Copyright Notice - Copyright (c) 2015 IETF Trust and the persons identified as the + Copyright (c) 2016 IETF Trust and the persons identified as the document authors. All rights reserved. This document is subject to BCP 78 and the IETF Trust's Legal @@ -55,9 +55,9 @@ Copyright Notice -Alakuijala & Szabadka Expires June 10, 2016 [Page 1] +Alakuijala & Szabadka Expires October 19, 2016 [Page 1] -Internet-Draft Brotli December 2015 +Internet-Draft Brotli April 2016 Table of Contents @@ -89,14 +89,18 @@ Table of Contents 9.2. Format of the meta-block header . . . . . . . . . . . . . 29 9.3. Format of the meta-block data . . . . . . . . . . . . . . 32 10. Decoding algorithm . . . . . . . . . . . . . . . . . . . . . 33 - 11. Security Considerations . . . . . . . . . . . . . . . . . . . 36 - 12. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 36 - 13. Informative References . . . . . . . . . . . . . . . . . . . 36 - 14. Source code . . . . . . . . . . . . . . . . . . . . . . . . . 37 - 15. Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . 37 - Appendix A. Static dictionary data . . . . . . . . . . . . . . . 37 - Appendix B. List of word transformations . . . . . . . . . . . . 117 - Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 120 + 11. Considerations for compressor implementations . . . . . . . . 36 + 11.1. Trivial compressor . . . . . . . . . . . . . . . . . . . 36 + 11.2. Aligning compressed meta-blocks to byte boundaries . . . 37 + 11.3. Creating self-contained parts within the compressed data 37 + 12. Security Considerations . . . . . . . . . . . . . . . . . . . 38 + 13. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 39 + 14. Informative References . . . . . . . . . . . . . . . . . . . 40 + 15. Source code . . . . . . . . . . . . . . . . . . . . . . . . . 40 + 16. Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . 40 + Appendix A. Static dictionary data . . . . . . . . . . . . . . . 40 + Appendix B. List of word transformations . . . . . . . . . . . . 121 + Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 124 @@ -107,13 +111,9 @@ Table of Contents - - - - -Alakuijala & Szabadka Expires June 10, 2016 [Page 2] +Alakuijala & Szabadka Expires October 19, 2016 [Page 2] -Internet-Draft Brotli December 2015 +Internet-Draft Brotli April 2016 1. Introduction @@ -167,9 +167,9 @@ Internet-Draft Brotli December 2015 -Alakuijala & Szabadka Expires June 10, 2016 [Page 3] +Alakuijala & Szabadka Expires October 19, 2016 [Page 3] -Internet-Draft Brotli December 2015 +Internet-Draft Brotli April 2016 The specification specifies a method for representing a sequence of @@ -223,9 +223,9 @@ Internet-Draft Brotli December 2015 -Alakuijala & Szabadka Expires June 10, 2016 [Page 4] +Alakuijala & Szabadka Expires October 19, 2016 [Page 4] -Internet-Draft Brotli December 2015 +Internet-Draft Brotli April 2016 This document does not address the issue of the order in which bits @@ -250,9 +250,25 @@ Internet-Draft Brotli December 2015 sequence of bytes, starting with the first byte at the *right* margin and proceeding to the *left*, with the most-significant bit of each byte on the left as usual, one would be able to parse the result from - right to left, with fixed-width elements in the correct MSB-to-LSB + right to left, with fixed-width elements in the correct msb-to-lsb order and prefix codes in bit-reversed order (i.e., with the first - bit of the code in the relative LSB position). + bit of the code in the relative lsb position). + + As an example, consider packing the following data elements into a + sequence of 3 bytes: 3-bit integer value 6, 4-bit integer value 2, + prefix code 110, prefix code 10, 12-bit integer value 3628. + + byte 2 byte 1 byte 0 + +--------+--------+--------+ + |11100010|11000101|10010110| + +--------+--------+--------+ + ^ ^ ^ ^ ^ + | | | | | + | | | | +------ integer value 6 + | | | +---------- integer value 2 + | | +-------------- prefix code 110 + | +---------------- prefix code 10 + +----------------------------- integer value 3628 2. Compressed representation overview @@ -261,6 +277,13 @@ Internet-Draft Brotli December 2015 (16 MiB) uncompressed bytes. The final uncompressed data is the concatenation of the uncompressed sequences from each meta-block. + + +Alakuijala & Szabadka Expires October 19, 2016 [Page 5] + +Internet-Draft Brotli April 2016 + + The header contains the size of the sliding window that was used during compression. The decompressor must retain at least that amount of uncompressed data prior to the current position in the @@ -276,14 +299,6 @@ Internet-Draft Brotli December 2015 subsequent meta-blocks; the LZ77 algorithm may use a reference to a duplicated string occurring in a previous meta-block, up to the sliding window size of uncompressed bytes before. In addition, in - - - -Alakuijala & Szabadka Expires June 10, 2016 [Page 5] - -Internet-Draft Brotli December 2015 - - the brotli format, a string reference may instead refer to a static dictionary entry. @@ -318,6 +333,13 @@ Internet-Draft Brotli December 2015 extra bits that are added to the base values determined by the codes. The number of extra bits is determined by the code. + + +Alakuijala & Szabadka Expires October 19, 2016 [Page 6] + +Internet-Draft Brotli April 2016 + + One meta-block command then appears as a sequence of prefix codes: Insert-and-copy length, literal, literal, ..., literal, distance @@ -332,14 +354,6 @@ Internet-Draft Brotli December 2015 where the number of literal bytes and copy bytes are determined by the insert-and-copy length code. (The number of bytes copied for a - - - -Alakuijala & Szabadka Expires June 10, 2016 [Page 6] - -Internet-Draft Brotli December 2015 - - static dictionary entry can vary from the copy length.) The last command in the meta-block may end with the last literal if @@ -375,6 +389,13 @@ Internet-Draft Brotli December 2015 block types assigned to those elements. Each square-bracketed group is a block that uses the same block type: + + +Alakuijala & Szabadka Expires October 19, 2016 [Page 7] + +Internet-Draft Brotli April 2016 + + [IaC0, IaC1][IaC2, IaC3] <-- insert-and-copy: block types 0 and 1 [L0, L1][L2, L3, L4][L5] <-- literals: block types 0, 1, and 0 @@ -388,14 +409,6 @@ Internet-Draft Brotli December 2015 0. The block structure of a meta-block is represented by the sequence of block-switch commands for each block category, where a block- switch command is a pair . The block-switch - - - -Alakuijala & Szabadka Expires June 10, 2016 [Page 7] - -Internet-Draft Brotli December 2015 - - commands are represented in the compressed data before the start of each new block using a prefix code for block types and a separate prefix code for block counts for each block category. For the above @@ -431,6 +444,14 @@ Internet-Draft Brotli December 2015 depends only on the block type. In the case of literals and distances, the context is mapped to a context ID in the range 0..63 for literals and 0..3 for distances. The matrix of the prefix code + + + +Alakuijala & Szabadka Expires October 19, 2016 [Page 8] + +Internet-Draft Brotli April 2016 + + indexes for each block type and context ID, called the context map, is encoded in a compact form in the meta-block header. @@ -444,14 +465,6 @@ Internet-Draft Brotli December 2015 In addition to the parts listed above (prefix code for insert-and- copy lengths, literals, distances, block types and block counts, and - - - -Alakuijala & Szabadka Expires June 10, 2016 [Page 8] - -Internet-Draft Brotli December 2015 - - the context map), the meta-block header contains the number of uncompressed bytes coded in the meta-block and two additional parameters used in the representation of match distances: the number @@ -487,27 +500,18 @@ Internet-Draft Brotli December 2015 We define a prefix code in terms of a binary tree in which the two edges descending from each non-leaf node are labeled 0 and 1 and in which the leaf nodes correspond one-for-one with (are labeled with) + + + +Alakuijala & Szabadka Expires October 19, 2016 [Page 9] + +Internet-Draft Brotli April 2016 + + the symbols of the alphabet; then the code for a symbol is the sequence of 0's and 1's on the edges leading from the root to the leaf labeled with that symbol. For example: - - - - - - - - - - - - -Alakuijala & Szabadka Expires June 10, 2016 [Page 9] - -Internet-Draft Brotli December 2015 - - /\ Symbol Code 0 1 ------ ---- / \ A 00 @@ -549,6 +553,17 @@ Internet-Draft Brotli December 2015 We could recode the example above to follow this rule as follows, assuming that the order of the alphabet is ABCD: + + + + + + +Alakuijala & Szabadka Expires October 19, 2016 [Page 10] + +Internet-Draft Brotli April 2016 + + Symbol Code ------ ---- A 10 @@ -556,14 +571,6 @@ Internet-Draft Brotli December 2015 C 110 D 111 - - - -Alakuijala & Szabadka Expires June 10, 2016 [Page 10] - -Internet-Draft Brotli December 2015 - - I.e., 0 precedes 10, which precedes 11x, and 110 and 111 are lexicographically consecutive. @@ -605,21 +612,17 @@ Internet-Draft Brotli December 2015 Example: + + + +Alakuijala & Szabadka Expires October 19, 2016 [Page 11] + +Internet-Draft Brotli April 2016 + + Consider the alphabet ABCDEFGH, with bit lengths (3, 3, 3, 3, 3, 2, 4, 4). After step 1, we have: - - - - - - - -Alakuijala & Szabadka Expires June 10, 2016 [Page 11] - -Internet-Draft Brotli December 2015 - - N bl_count[N] - ----------- 2 1 @@ -668,12 +671,9 @@ Internet-Draft Brotli December 2015 - - - -Alakuijala & Szabadka Expires June 10, 2016 [Page 12] +Alakuijala & Szabadka Expires October 19, 2016 [Page 12] -Internet-Draft Brotli December 2015 +Internet-Draft Brotli April 2016 +-----------------+-------------------------+------------+ @@ -727,9 +727,9 @@ Internet-Draft Brotli December 2015 -Alakuijala & Szabadka Expires June 10, 2016 [Page 13] +Alakuijala & Szabadka Expires October 19, 2016 [Page 13] -Internet-Draft Brotli December 2015 +Internet-Draft Brotli April 2016 Prefix codes of the same bit length must be assigned to the symbols @@ -763,34 +763,34 @@ Internet-Draft Brotli December 2015 compressed using a prefix code. The alphabet for code lengths is as follows: - 0 - 15: Represent code lengths of 0 - 15 - 16: Copy the previous non-zero code length 3 - 6 times + 0..15: Represent code lengths of 0..15 + 16: Copy the previous non-zero code length 3..6 times The next 2 bits indicate repeat length (0 = 3, ... , 3 = 6) If this is the first code length, or all previous code lengths are zero, a code length of 8 is - repeated 3 - 6 times + repeated 3..6 times A repeated code length code of 16 modifies the repeat count of the previous one as follows: repeat count = (4 * (repeat count - 2)) + - (3 - 6 on the next 2 bits) + (3..6 on the next 2 bits) Example: Codes 7, 16 (+2 bits 11), 16 (+2 bits 10) will expand to 22 code lengths of 7 (1 + 4 * (6 - 2) + 5) - 17: Repeat a code length of 0 for 3 - 10 times. + 17: Repeat a code length of 0 for 3..10 times. (3 bits of length) A repeated code length code of 17 modifies the -Alakuijala & Szabadka Expires June 10, 2016 [Page 14] +Alakuijala & Szabadka Expires October 19, 2016 [Page 14] -Internet-Draft Brotli December 2015 +Internet-Draft Brotli April 2016 repeat count of the previous one as follows: repeat count = (8 * (repeat count - 2)) + - (3 - 10 on the next 3 bits) + (3..10 on the next 3 bits) Note that a code of 16 that follows an immediately preceding 16 modifies the previous repeat count, which becomes the new repeat @@ -835,13 +835,13 @@ Internet-Draft Brotli December 2015 is for symbol 4. The code lengths of code length symbols are between 0 and - 5, and they are represented with 2 - 4 bits according to + 5, and they are represented with 2..4 bits according to -Alakuijala & Szabadka Expires June 10, 2016 [Page 15] +Alakuijala & Szabadka Expires October 19, 2016 [Page 15] -Internet-Draft Brotli December 2015 +Internet-Draft Brotli April 2016 the variable length code above. A code length of 0 means @@ -895,14 +895,14 @@ Internet-Draft Brotli December 2015 -Alakuijala & Szabadka Expires June 10, 2016 [Page 16] +Alakuijala & Szabadka Expires October 19, 2016 [Page 16] -Internet-Draft Brotli December 2015 +Internet-Draft Brotli April 2016 is encoded using a prefix code over the distance alphabet, while the extra bits value is encoded as a fixed-width integer value. The - number of extra bits can be 0 - 24, and it is dependent on the + number of extra bits can be 0..24, and it is dependent on the distance code. To convert a distance code and associated extra bits to a backward @@ -951,9 +951,9 @@ Internet-Draft Brotli December 2015 -Alakuijala & Szabadka Expires June 10, 2016 [Page 17] +Alakuijala & Szabadka Expires October 19, 2016 [Page 17] -Internet-Draft Brotli December 2015 +Internet-Draft Brotli April 2016 the stream should be rejected as invalid. @@ -995,8 +995,8 @@ Internet-Draft Brotli December 2015 extra bits are encoded back-to-back, the insert-and-copy length code is encoded using a prefix code over the insert-and-copy length code alphabet, while the extra bits values are encoded as fixed-width - integer values. The number of insert and copy extra bits can be 0 - - 24, and they are dependent on the insert-and-copy length code. + integer values. The number of insert and copy extra bits can be + 0..24, and they are dependent on the insert-and-copy length code. Some of the insert-and-copy length codes also express the fact that the distance symbol of the distance in the same command is 0, i.e. @@ -1007,9 +1007,9 @@ Internet-Draft Brotli December 2015 -Alakuijala & Szabadka Expires June 10, 2016 [Page 18] +Alakuijala & Szabadka Expires October 19, 2016 [Page 18] -Internet-Draft Brotli December 2015 +Internet-Draft Brotli April 2016 We describe the insert-and-copy length code alphabet in terms of the @@ -1018,32 +1018,32 @@ Internet-Draft Brotli December 2015 the number of insert extra bits, and the range of the insert lengths are as follows: - Extra Extra Extra - Code Bits Lengths Code Bits Lengths Code Bits Lengths - ---- ---- ------ ---- ---- ------- ---- ---- ------- - 0 0 0 8 2 10-13 16 6 130-193 - 1 0 1 9 2 14-17 17 7 194-321 - 2 0 2 10 3 18-25 18 8 322-577 - 3 0 3 11 3 26-33 19 9 578-1089 - 4 0 4 12 4 34-49 20 10 1090-2113 - 5 0 5 13 4 50-65 21 12 2114-6209 - 6 1 6,7 14 5 66-97 22 14 6210-22593 - 7 1 8,9 15 5 98-129 23 24 22594-16799809 + Extra Extra Extra + Code Bits Lengths Code Bits Lengths Code Bits Lengths + ---- ---- ------- ---- ---- ------- ---- ---- ------- + 0 0 0 8 2 10..13 16 6 130..193 + 1 0 1 9 2 14..17 17 7 194..321 + 2 0 2 10 3 18..25 18 8 322..577 + 3 0 3 11 3 26..33 19 9 578..1089 + 4 0 4 12 4 34..49 20 10 1090..2113 + 5 0 5 13 4 50..65 21 12 2114..6209 + 6 1 6,7 14 5 66..97 22 14 6210..22593 + 7 1 8,9 15 5 98..129 23 24 22594..16799809 The symbols of the copy length code alphabet, along with the number of copy extra bits, and the range of copy lengths are as follows: - Extra Extra Extra - Code Bits Lengths Code Bits Lengths Code Bits Lengths - ---- ---- ------ ---- ---- ------- ---- ---- ------- - 0 0 2 8 1 10,11 16 5 70-101 - 1 0 3 9 1 12,13 17 5 102-133 - 2 0 4 10 2 14-17 18 6 134-197 - 3 0 5 11 2 18-21 19 7 198-325 - 4 0 6 12 3 22-29 20 8 326-581 - 5 0 7 13 3 30-37 21 9 582-1093 - 6 0 8 14 4 38-53 22 10 1094-2117 - 7 0 9 15 4 54-69 23 24 2118-16779333 + Extra Extra Extra + Code Bits Lengths Code Bits Lengths Code Bits Lengths + ---- ---- ------- ---- ---- ------- ---- ---- ------- + 0 0 2 8 1 10,11 16 5 70..101 + 1 0 3 9 1 12,13 17 5 102..133 + 2 0 4 10 2 14..17 18 6 134..197 + 3 0 5 11 2 18..21 19 7 198..325 + 4 0 6 12 3 22..29 20 8 326..581 + 5 0 7 13 3 30..37 21 9 582..1093 + 6 0 8 14 4 38..53 22 10 1094..2117 + 7 0 9 15 4 54..69 23 24 2118..16779333 To convert an insert-and-copy length code to an insert length code and a copy length code, the following table can be used: @@ -1063,38 +1063,38 @@ Internet-Draft Brotli December 2015 -Alakuijala & Szabadka Expires June 10, 2016 [Page 19] +Alakuijala & Szabadka Expires October 19, 2016 [Page 19] -Internet-Draft Brotli December 2015 +Internet-Draft Brotli April 2016 Insert length Copy length code - code 0-7 8-15 16-23 - +---------+---------+ - | | | - 0-7 | 0-63 | 64-127 | <--- distance symbol 0 - | | | - +---------+---------+---------+ - | | | | - 0-7 | 128-191 | 192-255 | 384-447 | - | | | | - +---------+---------+---------+ - | | | | - 8-15 | 256-319 | 320-383 | 512-575 | - | | | | - +---------+---------+---------+ - | | | | - 16-23 | 448-511 | 576-639 | 640-703 | - | | | | - +---------+---------+---------+ + code 0..7 8..15 16..23 + +----------+----------+ + | | | + 0..7 | 0..63 | 64..127 | <--- distance symbol 0 + | | | + +----------+----------+----------+ + | | | | + 0..7 | 128..191 | 192..255 | 384..447 | + | | | | + +----------+----------+----------+ + | | | | + 8..15 | 256..319 | 320..383 | 512..575 | + | | | | + +----------+----------+----------+ + | | | | + 16..23 | 448..511 | 576..639 | 640..703 | + | | | | + +----------+----------+----------+ First, look up the cell with the 64 value range containing the insert-and-copy length code, this gives the insert length code and the copy length code ranges, both 8 values long. The copy length - code within its range is determined by bits 0-2 (counted from the - LSB) of the insert-and-copy length code. The insert length code - within its range is determined by bits 3-5 (counted from the LSB) of + code within its range is determined by bits 0..2 (counted from the + lsb) of the insert-and-copy length code. The insert length code + within its range is determined by bits 3..5 (counted from the lsb) of the insert-and-copy length code. Given the insert length and copy length codes, the actual insert and copy lengths can be obtained by reading the number of extra bits given by the tables above. @@ -1119,13 +1119,13 @@ Internet-Draft Brotli December 2015 -Alakuijala & Szabadka Expires June 10, 2016 [Page 20] +Alakuijala & Szabadka Expires October 19, 2016 [Page 20] -Internet-Draft Brotli December 2015 +Internet-Draft Brotli April 2016 then a block type symbol of 1 results in wrapping to a new block type - of 0. Block type symbols 2 - 257 represent block types 0 - 255 + of 0. Block type symbols 2..257 represent block types 0..255 respectively. The previous and current block types are initialized to 1 and 0, respectively, at the end of the meta-block header. @@ -1157,9 +1157,9 @@ Internet-Draft Brotli December 2015 bits are encoded back-to-back, the block count code is encoded using a prefix code over the block count code alphabet, while the extra bits value is encoded as a fixed-width integer value. The number of - extra bits can be 0 - 24, and it is dependent on the block count - code. The symbols of the block count code alphabet, along with the - number of extra bits, and the range of block counts are as follows: + extra bits can be 0..24, and it is dependent on the block count code. + The symbols of the block count code alphabet, along with the number + of extra bits, and the range of block counts are as follows: @@ -1175,23 +1175,23 @@ Internet-Draft Brotli December 2015 -Alakuijala & Szabadka Expires June 10, 2016 [Page 21] +Alakuijala & Szabadka Expires October 19, 2016 [Page 21] -Internet-Draft Brotli December 2015 +Internet-Draft Brotli April 2016 - Extra Extra Extra - Code Bits Lengths Code Bits Lengths Code Bits Lengths - ---- ---- ------ ---- ---- ------- ---- ---- ------- - 0 2 1-4 9 4 65-80 18 7 369-496 - 1 2 5-8 10 4 81-96 19 8 497-752 - 2 2 9-12 11 4 97-112 20 9 753-1264 - 3 2 13-16 12 5 113-144 21 10 1265-2288 - 4 3 17-24 13 5 145-176 22 11 2289-4336 - 5 3 25-32 14 5 177-208 23 12 4337-8432 - 6 3 33-40 15 5 209-240 24 13 8433-16624 - 7 3 41-48 16 6 241-304 25 24 16625-16793840 - 8 4 49-64 17 6 305-368 + Extra Extra Extra + Code Bits Lengths Code Bits Lengths Code Bits Lengths + ---- ---- ------- ---- ---- ------- ---- ---- ------- + 0 2 1..4 9 4 65..80 18 7 369..496 + 1 2 5..8 10 4 81..96 19 8 497..752 + 2 2 9..12 11 4 97..112 20 9 753..1264 + 3 2 13..16 12 5 113..144 21 10 1265..2288 + 4 3 17..24 13 5 145..176 22 11 2289..4336 + 5 3 25..32 14 5 177..208 23 12 4337..8432 + 6 3 33..40 15 5 209..240 24 13 8433..16624 + 7 3 41..48 16 6 241..304 25 24 16625..16793840 + 8 4 49..64 17 6 305..368 The first block-switch command of each block category is special in the sense that it is encoded in the meta-block header, and as @@ -1231,9 +1231,9 @@ Internet-Draft Brotli December 2015 -Alakuijala & Szabadka Expires June 10, 2016 [Page 22] +Alakuijala & Szabadka Expires October 19, 2016 [Page 22] -Internet-Draft Brotli December 2015 +Internet-Draft Brotli April 2016 The Context ID for the UTF8 and Signed context modes is computed @@ -1287,9 +1287,9 @@ Internet-Draft Brotli December 2015 -Alakuijala & Szabadka Expires June 10, 2016 [Page 23] +Alakuijala & Szabadka Expires October 19, 2016 [Page 23] -Internet-Draft Brotli December 2015 +Internet-Draft Brotli April 2016 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, @@ -1343,9 +1343,9 @@ Internet-Draft Brotli December 2015 -Alakuijala & Szabadka Expires June 10, 2016 [Page 24] +Alakuijala & Szabadka Expires October 19, 2016 [Page 24] -Internet-Draft Brotli December 2015 +Internet-Draft Brotli April 2016 between 0 and 255, indicating the index of the prefix code to be used @@ -1386,9 +1386,9 @@ Internet-Draft Brotli December 2015 define the format of the context map (the same format is used for literal and distance context maps): - 1-5 bits: RLEMAX, 0 is encoded with one 0 bit, and values - 1 - 16 are encoded with bit pattern xxxx1 (so 01001 - is 5) + 1..5 bits: RLEMAX, 0 is encoded with one 0 bit, and values + 1..16 are encoded with bit pattern xxxx1 (so 01001 + is 5) Prefix code with alphabet size NTREES + RLEMAX @@ -1399,9 +1399,9 @@ Internet-Draft Brotli December 2015 -Alakuijala & Szabadka Expires June 10, 2016 [Page 25] +Alakuijala & Szabadka Expires October 19, 2016 [Page 25] -Internet-Draft Brotli December 2015 +Internet-Draft Brotli April 2016 invalid. @@ -1455,9 +1455,9 @@ Internet-Draft Brotli December 2015 -Alakuijala & Szabadka Expires June 10, 2016 [Page 26] +Alakuijala & Szabadka Expires October 19, 2016 [Page 26] -Internet-Draft Brotli December 2015 +Internet-Draft Brotli April 2016 * NDBITS[0..24], an array of bit-depth values for each length @@ -1511,9 +1511,9 @@ Internet-Draft Brotli December 2015 -Alakuijala & Szabadka Expires June 10, 2016 [Page 27] +Alakuijala & Szabadka Expires October 19, 2016 [Page 27] -Internet-Draft Brotli December 2015 +Internet-Draft Brotli April 2016 UppercaseFirst(word) = first UTF-8 character of word upper-cased @@ -1527,7 +1527,7 @@ Internet-Draft Brotli December 2015 empty string if length(word) < k For the purposes of UppercaseAll, word is parsed into UTF-8 - characters and converted to upper-case by taking 1 - 3 bytes at a + characters and converted to upper-case by taking 1..3 bytes at a time, using the algorithm below: i = 0 @@ -1567,19 +1567,19 @@ Internet-Draft Brotli December 2015 -Alakuijala & Szabadka Expires June 10, 2016 [Page 28] +Alakuijala & Szabadka Expires October 19, 2016 [Page 28] -Internet-Draft Brotli December 2015 +Internet-Draft Brotli April 2016 9.1. Format of the stream header The stream header has only the following one field: - 1-7 bits: WBITS, a value in the range 10 - 24, encoded with - the following variable length code (as it appears in - the compressed data, where the bits are parsed from - right to left): + 1..7 bits: WBITS, a value in the range 10..24, encoded with + the following variable length code (as it appears in + the compressed data, where the bits are parsed from + right to left): Value Bit Pattern ----- ----------- @@ -1623,9 +1623,9 @@ Internet-Draft Brotli December 2015 -Alakuijala & Szabadka Expires June 10, 2016 [Page 29] +Alakuijala & Szabadka Expires October 19, 2016 [Page 29] -Internet-Draft Brotli December 2015 +Internet-Draft Brotli April 2016 of the compressed stream filled with zeros (if the @@ -1658,7 +1658,7 @@ Internet-Draft Brotli December 2015 zeros, then the stream should be rejected as invalid) - 0 - 7 bits: fill bits until the next byte boundary, + 0..7 bits: fill bits until the next byte boundary, must be all zeros MSKIPLEN bytes of metadata, not part of the @@ -1679,12 +1679,12 @@ Internet-Draft Brotli December 2015 -Alakuijala & Szabadka Expires June 10, 2016 [Page 30] +Alakuijala & Szabadka Expires October 19, 2016 [Page 30] -Internet-Draft Brotli December 2015 +Internet-Draft Brotli April 2016 - 1-11 bits: NBLTYPESL, # of literal block types, encoded with + 1..11 bits: NBLTYPESL, # of literal block types, encoded with the following variable length code (as it appears in the compressed data, where the bits are parsed from right to left, so 0110111 has the value 12): @@ -1693,13 +1693,13 @@ Internet-Draft Brotli December 2015 ----- ----------- 1 0 2 0001 - 3-4 x0011 - 5-8 xx0101 - 9-16 xxx0111 - 17-32 xxxx1001 - 33-64 xxxxx1011 - 65-128 xxxxxx1101 - 129-256 xxxxxxx1111 + 3..4 x0011 + 5..8 xx0101 + 9..16 xxx0111 + 17..32 xxxx1001 + 33..64 xxxxx1011 + 65..128 xxxxxx1101 + 129..256 xxxxxxx1111 Prefix code over the block type code alphabet for literal block types, appears only if NBLTYPESL >= 2 @@ -1710,8 +1710,8 @@ Internet-Draft Brotli December 2015 Block count code + extra bits for first literal block count, appears only if NBLTYPESL >= 2 - 1-11 bits: NBLTYPESI, # of insert-and-copy block types, encoded - with the same variable length code as above + 1..11 bits: NBLTYPESI, # of insert-and-copy block types, encoded + with the same variable length code as above Prefix code over the block type code alphabet for insert-and-copy block types, appears only if NBLTYPESI >= 2 @@ -1722,8 +1722,8 @@ Internet-Draft Brotli December 2015 Block count code + extra bits for first insert-and-copy block count, appears only if NBLTYPESI >= 2 - 1-11 bits: NBLTYPESD, # of distance block types, encoded - with the same variable length code as above + 1..11 bits: NBLTYPESD, # of distance block types, encoded + with the same variable length code as above Prefix code over the block type code alphabet for distance block types, appears only if NBLTYPESD >= 2 @@ -1735,9 +1735,9 @@ Internet-Draft Brotli December 2015 -Alakuijala & Szabadka Expires June 10, 2016 [Page 31] +Alakuijala & Szabadka Expires October 19, 2016 [Page 31] -Internet-Draft Brotli December 2015 +Internet-Draft Brotli April 2016 block count, appears only if NBLTYPESD >= 2 @@ -1750,15 +1750,15 @@ Internet-Draft Brotli December 2015 NBLTYPESL x 2 bits: context mode for each literal block type - 1-11 bits: NTREESL, # of literal prefix trees, encoded - with the same variable length code as NBLTYPESL + 1..11 bits: NTREESL, # of literal prefix trees, encoded + with the same variable length code as NBLTYPESL Literal context map, encoded as described in Section 7.3., appears only if NTREESL >= 2, otherwise the context map has only zero values - 1-11 bits: NTREESD, # of distance prefix trees, encoded - with the same variable length code as NBLTYPESD + 1..11 bits: NTREESD, # of distance prefix trees, encoded + with the same variable length code as NBLTYPESD Distance context map, encoded as described in Section 7.3., appears only if NTREESD >= 2, otherwise the context map @@ -1791,9 +1791,9 @@ Internet-Draft Brotli December 2015 -Alakuijala & Szabadka Expires June 10, 2016 [Page 32] +Alakuijala & Szabadka Expires October 19, 2016 [Page 32] -Internet-Draft Brotli December 2015 +Internet-Draft Brotli April 2016 Block type code for next literal block type, appears @@ -1847,9 +1847,9 @@ Internet-Draft Brotli December 2015 -Alakuijala & Szabadka Expires June 10, 2016 [Page 33] +Alakuijala & Szabadka Expires October 19, 2016 [Page 33] -Internet-Draft Brotli December 2015 +Internet-Draft Brotli April 2016 read window size @@ -1903,9 +1903,9 @@ Internet-Draft Brotli December 2015 -Alakuijala & Szabadka Expires June 10, 2016 [Page 34] +Alakuijala & Szabadka Expires October 19, 2016 [Page 34] -Internet-Draft Brotli December 2015 +Internet-Draft Brotli April 2016 do @@ -1959,9 +1959,9 @@ Internet-Draft Brotli December 2015 -Alakuijala & Szabadka Expires June 10, 2016 [Page 35] +Alakuijala & Szabadka Expires October 19, 2016 [Page 35] -Internet-Draft Brotli December 2015 +Internet-Draft Brotli April 2016 Note that a duplicated string reference may refer to a string in a @@ -1974,30 +1974,227 @@ Internet-Draft Brotli December 2015 values X and Y, a string reference with adds X,Y,X,Y,X to the uncompressed stream. -11. Security Considerations +11. Considerations for compressor implementations + + Since the intent of this document is to define the brotli compressed + data format without reference to any particular compression + algorithm, the material in this section is not part of the definition + of the format, and a compressor need not follow it in order to be + compliant. + +11.1. Trivial compressor + + In this section we present a very simple algorithm that produces a + valid brotli stream representing an arbitrary sequence of + uncompressed bytes in the form of the following C++ language + function. + + string BrotliCompressTrivial(const string& u) { + if (u.empty()) { + return string(1, 6); + } + int i; + string c; + c.append(1, 12); + for (i = 0; i + 65535 < u.size(); i += 65536) { + c.append(1, 248); + c.append(1, 255); + c.append(1, 15); + c.append(&u[i], 65536); + } + if (i < u.size()) { + int r = u.size() - i - 1; + c.append(1, (r & 31) << 3); + c.append(1, r >> 5); + c.append(1, 8 + (r >> 13)); + c.append(&u[i], r + 1); + } + c.append(1, 3); + return c; + } + + + +Alakuijala & Szabadka Expires October 19, 2016 [Page 36] + +Internet-Draft Brotli April 2016 + + + Note that this simple algorithm does not actually compress data, that + is, the brotli representation will always be bigger than the + original, but it shows that every sequence of N uncompressed bytes + can be represented with a valid brotli stream that is not longer than + N + (3 * (N >> 16) + 5) bytes. + +11.2. Aligning compressed meta-blocks to byte boundaries + + As described in Section 9., only those meta-blocks that immediately + follow an uncompressed meta-block or a metadata meta-block are + guaranteed to start on a byte boundary. In some applications, it + might be required that every non-metadata meta-block starts on a byte + boundary. This can be achieved by appending an empty metadata meta- + block after every non-metadata meta-block that does not end on a byte + boundary. + +11.3. Creating self-contained parts within the compressed data + + In some encoder implementations it might be required to make a + sequence of bytes within a brotli stream self-contained, that is, + such that they can be decompressed independently from previous parts + of the compressed data. This is a useful feature for three reasons. + First, if a large compressed file is damaged, it is possible to + recover some of the file after the damage. Second, it is useful when + doing differential transfer of compressed data. If a sequence of + uncompressed bytes is unchanged and compressed independently from + previous data, then the compressed representation may also be + unchanged and can therefore be transferred very cheaply. Third, if + sequences of uncompressed bytes are compressed independently, it + allows for parallel compression of these byte sequences within the + same file, in addition to parallel compression of multiple files. + + Given two sequences of uncompressed bytes, U0 and U1, we will now + describe how to create two sequences of compressed bytes, C0 and C1, + such that the concatenation of C0 and C1 is a valid brotli stream, + and that C0 and C1 (together with the first byte of C0 that contains + the window size) can be decompressed independently from each other to + U0 and U1. + + When compressing the byte sequence U0 to produce C0, we can use any + compressor that works on the complete set of uncompressed bytes U0, + with the following two changes. First, the ISLAST bit of the last + meta-block of C0 must not be set. Second, C0 must end at a byte- + boundary, which can be ensured by appending an empty metadata meta- + block to it, as in Section 11.2. + + When compressing the byte sequence U1 to produce C1, we can use any + compressor that starts a new meta-block at the beginning of U1 within + + + +Alakuijala & Szabadka Expires October 19, 2016 [Page 37] + +Internet-Draft Brotli April 2016 + + + the U0+U1 input stream, with the following two changes. First, + backward distances in C1 must not refer to static dictionary words or + uncompressed bytes in U0. Even if a sequence of bytes in U1 would + match a static dictionary word, or a sequence of bytes that overlaps + U0, the compressor must represent this sequence of bytes with a + combination of literal insertions and backward references to bytes in + U1 instead. Second, the ring buffer of last four distances must be + replenished first with distances in C1 before using it to encode + other distances in C1. Note that both compressors producing C0 and C1 + have to use the same window size, but the stream header is emitted + only by the compressor that produces C0. + + Note that this method can be easily generalized to more than two + sequences of uncompressed bytes. + +12. Security Considerations As with any compressed file formats, decompressor implementations should handle all compressed data byte sequences, not only those that conform to this specification, where non-conformant compressed data - sequences should be discarded. A possible attack against a system - containing a decompressor implementation (e.g. a web browser) is to - exploit a buffer overflow caused by an invalid compressed data. - Therefore decompressor implementations should perform bounds-checking - for each memory access that result from values decoded from the - compressed stream. + sequences should be discarded. -12. IANA Considerations + A possible attack against a system containing a decompressor + implementation (e.g. a web browser) is to exploit a buffer overflow + triggered by invalid compressed data. Therefore decompressor + implementations should perform bounds-checking for each memory access + that result from values decoded from the compressed stream and + derivatives therof. + + Another possible attack against a system containing a decompressor + implementation is to provide it (either valid or invalid) compressed + data that can make the decompressor system's resource consumption + (cpu, memory, or storage) to be disproportionately large compared to + the size of the compressed data. In addition to the size of the + compressed data, the amount of cpu, memory and storage required to + decompress a single compressed meta-block within a brotli stream is + controlled by the following two paramters: the size of the + uncompressed meta-block, which is encoded at the start of the + compressed meta-block, and the size of the sliding window, which is + encoded at the start of the brotli stream. Decompressor + implementations in systems where memory or storage is constrained + should perform a sanity-check on these two parameters. The + uncompressed meta-block size that was decoded from the compressed + stream should be compared against either a hard limit, given by the + system's constraints or some expectation about the uncompressed data, + or against a certain multiple of the size of the compressed data. If + the uncompressed meta-block size is determined to be too high, the + compressed data should be rejected. Likewise, when the complete + + + +Alakuijala & Szabadka Expires October 19, 2016 [Page 38] + +Internet-Draft Brotli April 2016 + + + uncompressed stream is kept in the system containing the decompressor + implementation, the total uncompressed size of the stream should be + checked before decompressing each additional meta-block. If the size + of the sliding window that was decoded from the start of the + compressed stream is greater than a certain soft limit, then the + decompressor implementation should, at first, allocate a smaller + sliding window that fits the first uncompressed meta-block, and + afterwards, before decompressing each additional meta-block, it + should increase the size of the sliding window until the sliding + window size specified in the compressed data is reached. + + Correspondingly, possible attacks against a system containing a + compressor implementation (e.g. a web server) are to exploit a buffer + overflow or cause disproportionately large resource consumption by + providing e.g. uncompressible data. As described in Section 11.1., + an output buffer of + + S(N) = N + (3 * (N >> 16) + 5) + + bytes is sufficient to hold a valid compressed brotli stream + representing an arbitrary sequence of N uncompressed bytes. + Therefore compressor implementations should allocate at least S(N) + bytes of output buffer before compressing N bytes of data with + unknown compressibility and should perform bounds-checking for each + write into this output buffer. If their output buffer is full, + compresor implementations should revert to the trivial compression + algorithm described in Section 11.1. The resourse consumption of a + compressor implementation for a particular input data depends mostly + on the algorithm used to find backward matches and on the algorithm + used to construct context maps and prefix codes and only to a lesser + extent on the input data itself. If the system containing a + compressor implementation is overloaded, a possible way to reduce + resource usage is to switch to more simple algorithms for backward + reference search and prefix code construction, or to fall back to the + trivial compression algorithm described in Section 11.1. + + A possible attack against a system that sends compressed data over an + encrypted channel is the following. An attacker who can repeatedly + mix arbitrary (attacker-supplied) data with secret data (passwords, + cookies) and observe the length of the ciphertext can potentially + reconstruct the secret data. To protect against this kind of attack, + applications should not mix sensitive data with non-sensitive, + potentially attacker-supplied data in the same compressed stream. + +13. IANA Considerations The "HTTP Content Coding Registry" has been updated with the registration below: + + +Alakuijala & Szabadka Expires October 19, 2016 [Page 39] + +Internet-Draft Brotli April 2016 + + +-------+-------------------------------------+------------+ | Name | Description | Reference | +-------+-------------------------------------+------------+ | br | Brotli Compressed Data Format | RFCXXXX | +-------+-------------------------------------+------------+ -13. Informative References +14. Informative References [HUFFMAN] Huffman, D. A., "A Method for the Construction of Minimum Redundancy Codes", Proceedings of the Institute of Radio @@ -2012,26 +2209,18 @@ Internet-Draft Brotli December 2015 version 1.3", RFC 1951, Aladdin Enterprises, May 1996. http://www.ietf.org/rfc/rfc1951.txt - - - -Alakuijala & Szabadka Expires June 10, 2016 [Page 36] - -Internet-Draft Brotli December 2015 - - [WOFF2] Levantovsky, V. (ed.), Levien, R. (ed.), "WOFF File Format 2.0", W3C WebFonts Working Group, http://www.w3.org/TR/WOFF2/ -14. Source code +15. Source code Source code for a C language implementation of a brotli compliant decompressor and a C++ language implementation of a compressor is available in the brotli open-source project: https://github.com/google/brotli -15. Acknowledgments +16. Acknowledgments The authors would like to thank Mark Adler, Robert Obryk, Thomas Pickert, and Joe Tsai for providing helpful review comments, @@ -2047,6 +2236,14 @@ Appendix A. Static dictionary data 74696d65646f776e6c6966656c6566746261636b636f64656461746173686f77 6f6e6c7973697465636974796f70656e6a7573746c696b6566726565776f726b + + + +Alakuijala & Szabadka Expires October 19, 2016 [Page 40] + +Internet-Draft Brotli April 2016 + + 74657874796561726f766572626f64796c6f7665666f726d626f6f6b706c6179 6c6976656c696e6568656c70686f6d65736964656d6f7265776f72646c6f6e67 7468656d7669657766696e64706167656461797366756c6c686561647465726d @@ -2068,14 +2265,6 @@ Appendix A. Static dictionary data 73686970726f6f6d48544d4c706c616e54797065646f6e65736176656b656570 666c61676c696e6b736f6c6466697665746f6f6b72617465746f776e6a756d70 746875736461726b6361726466696c6566656172737461796b696c6c74686174 - - - -Alakuijala & Szabadka Expires June 10, 2016 [Page 37] - -Internet-Draft Brotli December 2015 - - 66616c6c6175746f657665722e636f6d74616c6b73686f70766f746564656570 6d6f6465726573747475726e626f726e62616e6466656c6c726f736575726c28 736b696e726f6c65636f6d6561637473616765736d656574676f6c642e6a7067 @@ -2103,6 +2292,14 @@ Internet-Draft Brotli December 2015 426c756564696e673330302c62616c6c666f72646561726e77696c64626f782e 666169726c61636b76657273706169726a756e6574656368696628217069636b 6576696c242822237761726d6c6f7264646f657370756c6c2c30303069646561 + + + +Alakuijala & Szabadka Expires October 19, 2016 [Page 41] + +Internet-Draft Brotli April 2016 + + 647261776875676573706f7466756e646275726e6872656663656c6c6b657973 7469636b686f75726c6f73736675656c31327078737569746465616c52535322 6167656467726579474554226561736561696d736769726c616964733870783b @@ -2124,14 +2321,6 @@ Internet-Draft Brotli December 2015 6c6966745431393a76696365616e6479646562743e525353706f6f6c6e65636b 626c6f775431363a646f6f726576616c5431373a6c6574736661696c6f72616c 706f6c6c6e6f7661636f6c7367656e6520e28094736f6674726f6d6574696c6c - - - -Alakuijala & Szabadka Expires June 10, 2016 [Page 38] - -Internet-Draft Brotli December 2015 - - 726f73733c68333e706f75726661646570696e6b3c74723e6d696e69297c2128 6d696e657a683ae862617273686561723030293b6d696c6b202d2d3e69726f6e 667265646469736b77656e74736f696c707574732f6a732f686f6c795432323a @@ -2159,6 +2348,14 @@ Internet-Draft Brotli December 2015 706970657c2d0a21303032296e646f775b315d3b5b5d3b0a4c6f672073616c74 0d0a090962616e677472696d62617468297b0d0a303070780a7d293b6b6f3aec 6665657361643e0d733a2f2f205b5d3b746f6c6c706c756728297b0a7b0d0a20 + + + +Alakuijala & Szabadka Expires October 19, 2016 [Page 42] + +Internet-Draft Brotli April 2016 + + 2e6a7327323030706475616c626f61742e4a5047293b0a7d71756f74293b0a0a 27293b0a0d0a7d0d323031343230313532303136323031373230313832303139 3230323032303231323032323230323332303234323032353230323632303237 @@ -2180,14 +2377,6 @@ Internet-Draft Brotli December 2015 656c6c616d61796f7a6f6e61616d6f727069736f6f627261636c6963656c6c6f 64696f73686f726163617369d0b7d0b0d0bdd0b0d0bed0bcd180d0b0d180d183 d182d0b0d0bdd0b5d0bfd0bed0bed182d0b8d0b7d0bdd0bed0b4d0bed182d0be - - - -Alakuijala & Szabadka Expires June 10, 2016 [Page 39] - -Internet-Draft Brotli December 2015 - - d0b6d0b5d0bed0bdd0b8d185d09dd0b0d0b5d0b5d0b1d18bd0bcd18bd092d18b d181d0bed0b2d18bd0b2d0bed09dd0bed0bed0b1d09fd0bed0bbd0b8d0bdd0b8 d0a0d0a4d09dd0b5d09cd18bd182d18bd09ed0bdd0b8d0bcd0b4d0b0d097d0b0 @@ -2215,6 +2404,14 @@ Internet-Draft Brotli December 2015 74616b656e61626f7665666c61736866697865646f6674656e6f746865727669 657773636865636b6c6567616c72697665726974656d73717569636b73686170 6568756d616e6578697374676f696e676d6f7669657468697264626173696370 + + + +Alakuijala & Szabadka Expires October 19, 2016 [Page 43] + +Internet-Draft Brotli April 2016 + + 65616365737461676577696474686c6f67696e696465617377726f7465706167 65737573657273647269766573746f7265627265616b736f757468766f696365 73697465736d6f6e746877686572656275696c6477686963686561727468666f @@ -2236,14 +2433,6 @@ Internet-Draft Brotli December 2015 6e65646d69676874616c62756d7468696e6b626c6f6f6461727261796d616a6f 72747275737463616e6f6e756e696f6e636f756e7476616c696473746f6e6553 74796c654c6f67696e68617070796f636375726c6566743a6672657368717569 - - - -Alakuijala & Szabadka Expires June 10, 2016 [Page 40] - -Internet-Draft Brotli December 2015 - - 746566696c6d7367726164656e65656473757262616e66696768746261736973 686f7665726175746f3b726f7574652e68746d6c6d6978656466696e616c596f 757220736c696465746f70696362726f776e616c6f6e65647261776e73706c69 @@ -2271,6 +2460,14 @@ Internet-Draft Brotli December 2015 72757468636c65616e2e7068703f7361696e746d6574616c6c6f7569736d6561 6e7470726f6f666272696566726f77223e67656e7265747275636b6c6f6f6b73 56616c75654672616d652e6e65742f2d2d3e0a3c747279207b0a766172206d61 + + + +Alakuijala & Szabadka Expires October 19, 2016 [Page 44] + +Internet-Draft Brotli April 2016 + + 6b6573636f737473706c61696e6164756c747175657374747261696e6c61626f 7268656c707363617573656d616769636d6f746f72746865697232353070786c 656173747374657073436f756e74636f756c64676c617373736964657366756e @@ -2292,14 +2489,6 @@ Internet-Draft Brotli December 2015 7279323470783b73657475706974616c7973686172706d696e6f727461737465 77616e7473746869732e7265736574776865656c6769726c732f6373732f3130 30253b636c75627373747566666269626c65766f74657320313030306b6f7265 - - - -Alakuijala & Szabadka Expires June 10, 2016 [Page 41] - -Internet-Draft Brotli December 2015 - - 617d293b0d0a62616e647371756575653d207b7d3b383070783b636b696e677b 0d0a09096168656164636c6f636b69726973686c696b6520726174696f737461 7473466f726d227961686f6f295b305d3b41626f757466696e64733c2f68313e @@ -2327,6 +2516,14 @@ Internet-Draft Brotli December 2015 613e207370656e6462616b657273686f70733d2022223b706870223e6374696f 6e313370783b627269616e68656c6c6f73697a653d6f3d253246206a6f696e6d 617962653c696d6720696d67223e2c20666a73696d67222022295b305d4d546f + + + +Alakuijala & Szabadka Expires October 19, 2016 [Page 45] + +Internet-Draft Brotli April 2016 + + 704254797065226e65776c7944616e736b637a656368747261696c6b6e6f7773 3c2f68353e666171223e7a682d636e3130293b0a2d3122293b747970653d626c 7565737472756c7964617669732e6a73273b3e0d0a3c21737465656c20796f75 @@ -2348,14 +2545,6 @@ Internet-Draft Brotli December 2015 726c697374616c7565676f63c3b36d6f656e65726f6a7565676f706572c3ba68 616265726573746f796e756e63616d756a657276616c6f7266756572616c6962 726f6775737461696775616c766f746f736361736f736775c3ad61707565646f - - - -Alakuijala & Szabadka Expires June 10, 2016 [Page 42] - -Internet-Draft Brotli December 2015 - - 736f6d6f73617669736f7573746564646562656e6e6f63686562757363616661 6c74616575726f737365726965646963686f637572736f636c61766563617361 736c65c3b36e706c617a6f6c6172676f6f62726173766973746161706f796f6a @@ -2383,6 +2572,14 @@ Internet-Draft Brotli December 2015 7465636f7265616475646173646573656f7669656a6f64657365616167756173 2671756f743b646f6d61696e636f6d6d6f6e7374617475736576656e74736d61 7374657273797374656d616374696f6e62616e6e657272656d6f76657363726f + + + +Alakuijala & Szabadka Expires October 19, 2016 [Page 46] + +Internet-Draft Brotli April 2016 + + 6c6c757064617465676c6f62616c6d656469756d66696c7465726e756d626572 6368616e6765726573756c747075626c696373637265656e63686f6f73656e6f 726d616c74726176656c697373756573736f7572636574617267657473707269 @@ -2404,14 +2601,6 @@ Internet-Draft Brotli December 2015 6365706572696f647374726f6e677265706561744c6f6e646f6e64657461696c 666f726d656464656d616e64736563757265706173736564746f67676c65706c 6163657364657669636573746174696363697469657373747265616d79656c6c - - - -Alakuijala & Szabadka Expires June 10, 2016 [Page 43] - -Internet-Draft Brotli December 2015 - - 6f7761747461636b737472656574666c6967687468696464656e696e666f223e 6f70656e656475736566756c76616c6c65796361757365736c65616465727365 637265747365636f6e6464616d61676573706f72747365786365707472617469 @@ -2439,6 +2628,14 @@ Internet-Draft Brotli December 2015 2220626f74746f6d6c697374223e297b766172207072656669786f72616e6765 4865616465722e7075736828636f75706c6567617264656e6272696467656c61 756e636852657669657774616b696e67766973696f6e6c6974746c6564617469 + + + +Alakuijala & Szabadka Expires October 19, 2016 [Page 47] + +Internet-Draft Brotli April 2016 + + 6e67427574746f6e6265617574797468656d6573666f72676f74536561726368 616e63686f72616c6d6f73746c6f616465644368616e676572657475726e7374 72696e6772656c6f61644d6f62696c65696e636f6d65737570706c79536f7572 @@ -2460,14 +2657,6 @@ Internet-Draft Brotli December 2015 72647369737465727375727669766c697374656e66656d616c6544657369676e 73697a653d2261707065616c74657874223e6c6576656c737468616e6b736869 67686572666f72636564616e696d616c616e796f6e6541667269636161677265 - - - -Alakuijala & Szabadka Expires June 10, 2016 [Page 44] - -Internet-Draft Brotli December 2015 - - 6564726563656e7450656f706c653c6272202f3e776f6e646572707269636573 7475726e65647c7c207b7d3b6d61696e223e696e6c696e6573756e6461797772 6170223e6661696c656463656e7375736d696e757465626561636f6e71756f74 @@ -2495,6 +2684,14 @@ Internet-Draft Brotli December 2015 686554686f756768736565696e676a65727365794e6577733c2f766572696679 657870657274696e6a75727977696474683d436f6f6b69655354415254206163 726f73735f696d6167657468726561646e6174697665706f636b6574626f7822 + + + +Alakuijala & Szabadka Expires October 19, 2016 [Page 48] + +Internet-Draft Brotli April 2016 + + 3e0a53797374656d20446176696463616e6365727461626c657370726f766564 417072696c207265616c6c796472697665726974656d223e6d6f7265223e626f 61726473636f6c6f727363616d7075736669727374207c7c205b5d3b6d656469 @@ -2516,14 +2713,6 @@ Internet-Draft Brotli December 2015 0a093c2f74643e0a3c2f74723e0a62616861736162726173696c67616c65676f 6d6167796172706f6c736b69737270736b69d8b1d8afd988e4b8ade69687e7ae 80e4bd93e7b981e9ab94e4bfa1e681afe4b8ade59bbde68891e4bbace4b880e4 - - - -Alakuijala & Szabadka Expires June 10, 2016 [Page 45] - -Internet-Draft Brotli December 2015 - - b8aae585ace58fb8e7aea1e79086e8aebae59d9be58fafe4bba5e69c8de58aa1 e697b6e997b4e4b8aae4babae4baa7e59381e887aae5b7b1e4bc81e4b89ae69f a5e79c8be5b7a5e4bd9ce88194e7b3bbe6b2a1e69c89e7bd91e7ab99e68980e6 @@ -2551,6 +2740,14 @@ Internet-Draft Brotli December 2015 8491e69687e4bbb6e59381e7898ce5b8aee58aa9e69687e58c96e8b584e6ba90 e5a4a7e5ada6e5ada6e4b9a0e59cb0e59d80e6b58fe8a788e68a95e8b584e5b7 a5e7a88be8a681e6b182e6808ee4b988e697b6e58099e58a9fe883bde4b8bbe8 + + + +Alakuijala & Szabadka Expires October 19, 2016 [Page 49] + +Internet-Draft Brotli April 2016 + + a681e79baee5898de8b584e8aeafe59f8ee5b882e696b9e6b395e794b5e5bdb1 e68b9be88198e5a3b0e6988ee4bbbbe4bd95e581a5e5bab7e695b0e68daee7be 8ee59bbde6b1bde8bda6e4bb8be7bb8de4bd86e698afe4baa4e6b581e7949fe4 @@ -2572,14 +2769,6 @@ Internet-Draft Brotli December 2015 afade799bee5baa6e5b88ce69c9be7be8ee5a5b3e6af94e8be83e79fa5e8af86 e8a784e5ae9ae5bbbae8aeaee983a8e997a8e6848fe8a781e7b2bee5bda9e697 a5e69cace68f90e9ab98e58f91e8a880e696b9e99da2e59fbae98791e5a484e7 - - - -Alakuijala & Szabadka Expires June 10, 2016 [Page 46] - -Internet-Draft Brotli December 2015 - - 9086e69d83e99990e5bdb1e78987e993b6e8a18ce8bf98e69c89e58886e4baab e789a9e59381e7bb8fe890a5e6b7bbe58aa0e4b893e5aeb6e8bf99e7a78de8af 9de9a298e8b5b7e69da5e4b89ae58aa1e585ace5918ae8aeb0e5bd95e7ae80e4 @@ -2607,6 +2796,14 @@ Internet-Draft Brotli December 2015 be97e7b2bee58d8ee5aeb6e5baade5ae8ce68890e6849fe8a789e5ae89e8a385 e5be97e588b0e982aee4bbb6e588b6e5baa6e9a39fe59381e899bde784b6e8bd ace8bdbde68aa5e4bbb7e8aeb0e88085e696b9e6a188e8a18ce694bfe4babae6 + + + +Alakuijala & Szabadka Expires October 19, 2016 [Page 50] + +Internet-Draft Brotli April 2016 + + b091e794a8e59381e4b89ce8a5bfe68f90e587bae98592e5ba97e784b6e5908e e4bb98e6acbee783ade782b9e4bba5e5898de5ae8ce585a8e58f91e5b896e8ae bee7bdaee9a286e5afbce5b7a5e4b89ae58cbbe999a2e79c8be79c8be7bb8fe5 @@ -2628,14 +2825,6 @@ Internet-Draft Brotli December 2015 96ade99c80e6b182e4b88de5be97e58a9ee6b395e4b98be997b4e98787e794a8 e890a5e99480e68a95e8af89e79baee6a087e788b1e68385e69184e5bdb1e69c 89e4ba9be8a487e8a3bde69687e5ada6e69cbae4bc9ae695b0e5ad97e8a385e4 - - - -Alakuijala & Szabadka Expires June 10, 2016 [Page 47] - -Internet-Draft Brotli December 2015 - - bfaee8b4ade789a9e5869ce69d91e585a8e99da2e7b2bee59381e585b6e5ae9e e4ba8be68385e6b0b4e5b9b3e68f90e7a4bae4b88ae5b882e8b0a2e8b0a2e699 aee9809ae69599e5b888e4b88ae4bca0e7b1bbe588abe6ad8ce69bb2e68ba5e6 @@ -2663,6 +2852,14 @@ Internet-Draft Brotli December 2015 a688e79c9fe6ada3e4b88de99499e585a8e69687e59088e5908ce4bbb7e580bc e588abe4babae79b91e79da3e585b7e4bd93e4b896e7baaae59ba2e9989fe588 9be4b89ae689bfe68b85e5a29ee995bfe69c89e4babae4bf9de68c81e59586e5 + + + +Alakuijala & Szabadka Expires October 19, 2016 [Page 51] + +Internet-Draft Brotli April 2016 + + aeb6e7bbb4e4bfaee58fb0e6b9bee5b7a6e58fb3e882a1e4bbbde7ad94e6a188 e5ae9ee99985e794b5e4bfa1e7bb8fe79086e7949fe591bde5aea3e4bca0e4bb bbe58aa1e6ada3e5bc8fe789b9e889b2e4b88be69da5e58d8fe4bc9ae58faae8 @@ -2684,14 +2881,6 @@ Internet-Draft Brotli December 2015 b8aae5a4a9e6b4a5e5ad97e4bd93e58fb0e781a3e7bbb4e68aa4e69cace9a1b5 e4b8aae680a7e5ae98e696b9e5b8b8e8a781e79bb8e69cbae68898e795a5e5ba 94e5bd93e5be8be5b888e696b9e4bebfe6a0a1e59bade882a1e5b882e688bfe5 - - - -Alakuijala & Szabadka Expires June 10, 2016 [Page 48] - -Internet-Draft Brotli December 2015 - - b18be6a08fe79baee59198e5b7a5e5afbce887b4e7aa81e784b6e98193e585b7 e69cace7bd91e7bb93e59088e6a1a3e6a188e58ab3e58aa8e58fa6e5a496e7be 8ee58583e5bc95e8b5b7e694b9e58f98e7acace59b9be4bc9ae8aea1e8aaaae6 @@ -2719,6 +2908,14 @@ Internet-Draft Brotli December 2015 af84e5bdb1e99fb3e4bc98e58abfe4b88de5b091e6aca3e8b58fe5b9b6e4b894 e69c89e782b9e696b9e59091e585a8e696b0e4bfa1e794a8e8aebee696bde5bd a2e8b1a1e8b584e6a0bce7aa81e7a0b4e99a8fe79d80e9878de5a4a7e4ba8ee6 + + + +Alakuijala & Szabadka Expires October 19, 2016 [Page 52] + +Internet-Draft Brotli April 2016 + + 98afe6af95e4b89ae699bae883bde58c96e5b7a5e5ae8ce7be8ee59586e59f8e e7bb9fe4b880e587bae78988e68993e980a0e794a2e59381e6a682e586b5e794 a8e4ba8ee4bf9de79599e59ba0e7b4a0e4b8ade59c8be5ad98e582a8e8b4b4e5 @@ -2740,14 +2937,6 @@ Internet-Draft Brotli December 2015 726f61756e71756570756564657364656e74726f7072696d657270726563696f 736567c3ba6e6275656e6f73766f6c76657270756e746f7373656d616e616861 62c3ad6161676f73746f6e7565766f73756e69646f736361726c6f7365717569 - - - -Alakuijala & Szabadka Expires June 10, 2016 [Page 49] - -Internet-Draft Brotli December 2015 - - 706f6e69c3b16f736d7563686f73616c67756e61636f7272656f696d6167656e 7061727469726172726962616d6172c3ad61686f6d627265656d706c656f7665 7264616463616d62696f6d7563686173667565726f6e70617361646f6cc3ad6e @@ -2775,6 +2964,14 @@ Internet-Draft Brotli December 2015 616f756e69646164657374c3a17365646974617263726561646fd0b4d0bbd18f d187d182d0bed0bad0b0d0bad0b8d0bbd0b8d18dd182d0bed0b2d181d0b5d0b5 d0b3d0bed0bfd180d0b8d182d0b0d0bad0b5d189d0b5d183d0b6d0b5d09ad0b0 + + + +Alakuijala & Szabadka Expires October 19, 2016 [Page 53] + +Internet-Draft Brotli April 2016 + + d0bad0b1d0b5d0b7d0b1d18bd0bbd0bed0bdd0b8d092d181d0b5d0bfd0bed0b4 d0add182d0bed182d0bed0bcd187d0b5d0bcd0bdd0b5d182d0bbd0b5d182d180 d0b0d0b7d0bed0bdd0b0d0b3d0b4d0b5d0bcd0bdd0b5d094d0bbd18fd09fd180 @@ -2796,14 +2993,6 @@ Internet-Draft Brotli December 2015 a587e0a4a5e0a580e0a498e0a4b0e0a49ce0a4ace0a4a6e0a580e0a495e0a488 e0a49ce0a580e0a4b5e0a587e0a4a8e0a488e0a4a8e0a48fe0a4b9e0a4b0e0a4 89e0a4b8e0a4aee0a587e0a495e0a4aee0a4b5e0a58be0a4b2e0a587e0a4b8e0 - - - -Alakuijala & Szabadka Expires June 10, 2016 [Page 50] - -Internet-Draft Brotli December 2015 - - a4ace0a4aee0a488e0a4a6e0a587e0a493e0a4b0e0a486e0a4aee0a4ace0a4b8 e0a4ade0a4b0e0a4ace0a4a8e0a49ae0a4b2e0a4aee0a4a8e0a486e0a497e0a4 b8e0a580e0a4b2e0a580d8b9d984d989d8a5d984d989d987d8b0d8a7d8a2d8ae @@ -2831,6 +3020,14 @@ Internet-Draft Brotli December 2015 d985d8b4d8b9d8b1d8a3d987d984d8b4d987d8b1d982d8b7d8b1d8b7d984d8a8 70726f66696c657365727669636564656661756c7468696d73656c6664657461 696c73636f6e74656e74737570706f7274737461727465646d65737361676573 + + + +Alakuijala & Szabadka Expires October 19, 2016 [Page 54] + +Internet-Draft Brotli April 2016 + + 75636365737366617368696f6e3c7469746c653e636f756e7472796163636f75 6e746372656174656473746f72696573726573756c747372756e6e696e677072 6f6365737377726974696e676f626a6563747376697369626c6577656c636f6d @@ -2852,14 +3049,6 @@ Internet-Draft Brotli December 2015 616e6365456e676c697368436f6e74656e747468726f756768506c6561736520 6f70696e696f6e636f6e74616374617665726167657072696d61727976696c6c 6167655370616e69736867616c6c6572796465636c696e656d656574696e676d - - - -Alakuijala & Szabadka Expires June 10, 2016 [Page 51] - -Internet-Draft Brotli December 2015 - - 697373696f6e706f70756c61727175616c6974796d65617375726567656e6572 616c7370656369657373657373696f6e73656374696f6e77726974657273636f 756e746572696e697469616c7265706f727473666967757265736d656d626572 @@ -2887,6 +3076,14 @@ Internet-Draft Brotli December 2015 73646576696365732877696e646f77707572706f73657469746c653d224d6f62 696c65206b696c6c696e6773686f77696e674974616c69616e64726f70706564 68656176696c79656666656374732d31275d293b0a636f6e6669726d43757272 + + + +Alakuijala & Szabadka Expires October 19, 2016 [Page 55] + +Internet-Draft Brotli April 2016 + + 656e74616476616e636573686172696e676f70656e696e6764726177696e6762 696c6c696f6e6f7264657265644765726d616e7972656c617465643c2f666f72 6d3e696e636c75646577686574686572646566696e6564536369656e63656361 @@ -2908,14 +3105,6 @@ Internet-Draft Brotli December 2015 6d656d6572676564616d6f756e7473666f756e64656470696f6e656572666f72 6d756c6164796e61737479686f7720746f20537570706f7274726576656e7565 65636f6e6f6d79526573756c747362726f74686572736f6c646965726c617267 - - - -Alakuijala & Szabadka Expires June 10, 2016 [Page 52] - -Internet-Draft Brotli December 2015 - - 656c7963616c6c696e672e2671756f743b4163636f756e744564776172642073 65676d656e74526f62657274206566666f727473506163696669636c6561726e 6564757020776974686865696768743a77652068617665416e67656c65736e61 @@ -2943,6 +3132,14 @@ Internet-Draft Brotli December 2015 61636865646368726f6e696364656d616e64737365636f6e647370726f746563 7461646f70746564707265706172656e65697468657267726561746c79677265 617465726f766572616c6c696d70726f7665636f6d6d616e647370656369616c + + + +Alakuijala & Szabadka Expires October 19, 2016 [Page 56] + +Internet-Draft Brotli April 2016 + + 7365617263682e776f727368697066756e64696e6774686f7567687468696768 657374696e73746561647574696c6974797175617274657243756c7475726574 657374696e67636c6561726c796578706f73656442726f777365726c69626572 @@ -2964,14 +3161,6 @@ Internet-Draft Brotli December 2015 726465723a6c697374206f66636172726965643130302c3030303c2f68333e0a 207365766572616c6265636f6d657373656c6563742077656464696e6730302e 68746d6c6d6f6e617263686f66662074686574656163686572686967686c7920 - - - -Alakuijala & Szabadka Expires June 10, 2016 [Page 53] - -Internet-Draft Brotli December 2015 - - 62696f6c6f67796c696665206f666f72206576656e72697365206f6626726171 756f3b706c75736f6e6568756e74696e672874686f756768446f75676c61736a 6f696e696e67636972636c6573466f7220746865416e6369656e74566965746e @@ -2999,6 +3188,14 @@ Internet-Draft Brotli December 2015 6c795065727369616e736f206d75636843656e7475727964657069637473636f 6c756d6e73686f7573696e67736372697074736e65787420746f62656172696e 676d617070696e67726576697365646a5175657279282d77696474683a746974 + + + +Alakuijala & Szabadka Expires October 19, 2016 [Page 57] + +Internet-Draft Brotli April 2016 + + 6c65223e746f6f6c74697053656374696f6e64657369676e735475726b697368 796f756e6765722e6d61746368287d2928293b0a0a6275726e696e676f706572 61746564656772656573736f757263653d52696368617264636c6f73656c7970 @@ -3020,14 +3217,6 @@ Internet-Draft Brotli December 2015 6e6764657374726f7969646561206f6663617365206f666f6c64657374207468 69732069732e737263203d20636172746f6f6e72656769737472436f6d6d6f6e 734d75736c696d7357686174206973696e206d616e796d61726b696e67726576 - - - -Alakuijala & Szabadka Expires June 10, 2016 [Page 54] - -Internet-Draft Brotli December 2015 - - 65616c73496e646565642c657175616c6c792f73686f775f616f7574646f6f72 657363617065284175737472696167656e6574696373797374656d2c496e2074 68652073697474696e67486520616c736f49736c616e647341636164656d790a @@ -3055,6 +3244,14 @@ Internet-Draft Brotli December 2015 65636f72647350726976617465466f726569676e5072656d69657263686f6963 65735669727475616c72657475726e73436f6d6d656e74506f7765726564696e 6c696e653b706f76657274796368616d6265724c6976696e6720766f6c756d65 + + + +Alakuijala & Szabadka Expires October 19, 2016 [Page 58] + +Internet-Draft Brotli April 2016 + + 73416e74686f6e796c6f67696e222052656c6174656445636f6e6f6d79726561 6368657363757474696e67677261766974796c69666520696e43686170746572 2d736861646f774e6f7461626c653c2f74643e0d0a2072657475726e73746164 @@ -3076,14 +3273,6 @@ Internet-Draft Brotli December 2015 65646572616c62616e6b206f6662656e65617468446573706974654361706974 616c67726f756e6473292c20616e642070657263656e7469742066726f6d636c 6f73696e67636f6e7461696e496e73746561646669667465656e61732077656c - - - -Alakuijala & Szabadka Expires June 10, 2016 [Page 55] - -Internet-Draft Brotli December 2015 - - 6c2e7961686f6f2e726573706f6e64666967687465726f627363757265726566 6c6563746f7267616e69633d204d6174682e65646974696e676f6e6c696e6520 70616464696e67612077686f6c656f6e6572726f7279656172206f66656e6420 @@ -3111,6 +3300,14 @@ Internet-Draft Brotli December 2015 3e0a206865206c656674292e76616c282966616c7365293b6c6f676963616c62 616e6b696e67686f6d6520746f6e616d696e67204172697a6f6e616372656469 7473293b0a7d293b0a666f756e646572696e207475726e436f6c6c696e736265 + + + +Alakuijala & Szabadka Expires October 19, 2016 [Page 59] + +Internet-Draft Brotli April 2016 + + 666f72652042757420746865636861726765645469746c65223e436170746169 6e7370656c6c6564676f6464657373546167202d2d3e416464696e673a627574 20776173526563656e742070617469656e746261636b20696e3d66616c736526 @@ -3132,14 +3329,6 @@ Internet-Draft Brotli December 2015 7a656e4920646f6e2774726574726561742e20536f6d652077772e22293b0a62 6f6d62696e676d61696c746f3a6d61646520696e2e204d616e79206361727269 65737c7c7b7d3b7769776f726b206f6673796e6f6e796d646566656174736661 - - - -Alakuijala & Szabadka Expires June 10, 2016 [Page 56] - -Internet-Draft Brotli December 2015 - - 766f7265646f70746963616c70616765547261756e6c6573732073656e64696e 676c656674223e3c636f6d53636f72416c6c207468656a51756572792e746f75 72697374436c617373696366616c7365222057696c68656c6d73756275726273 @@ -3167,6 +3356,14 @@ Internet-Draft Brotli December 2015 736c6176657279776f756e64656477686572656173213d2027756e64666f7220 616c6c706172746c79202d72696768743a4172616269616e6261636b65642063 656e74757279756e6974206f666d6f62696c652d4575726f70652c697320686f + + + +Alakuijala & Szabadka Expires October 19, 2016 [Page 60] + +Internet-Draft Brotli April 2016 + + 6d657269736b206f6664657369726564436c696e746f6e636f7374206f666167 65206f66206265636f6d65206e6f6e65206f66702671756f743b4d6964646c65 2065616427295b304372697469637373747564696f733e26636f70793b67726f @@ -3188,14 +3385,6 @@ Internet-Draft Brotli December 2015 706f6c6963792e6d656e20616e64666f6f7465722d3d20747275653b666f7220 75736573637265656e2e496e6469616e20696d616765203d66616d696c792c68 7474703a2f2f20266e6273703b64726976657273657465726e616c73616d6520 - - - -Alakuijala & Szabadka Expires June 10, 2016 [Page 57] - -Internet-Draft Brotli December 2015 - - 61736e6f7469636564766965776572737d2928293b0a206973206d6f72657365 61736f6e73666f726d657220746865206e65776973206a757374636f6e73656e 742053656172636877617320746865776879207468657368697070656462723e @@ -3223,6 +3412,14 @@ Internet-Draft Brotli December 2015 766572736c6172676572206f70656e20746f212d2d20656e646c69657320696e 275d293b0d0a20206d61726b657477686f206973202822444f4d436f6d616e61 6765646f6e6520666f72747970656f66204b696e67646f6d70726f6669747370 + + + +Alakuijala & Szabadka Expires October 19, 2016 [Page 61] + +Internet-Draft Brotli April 2016 + + 726f706f7365746f2073686f7763656e7465723b6d6164652069746472657373 65647765726520696e6d6978747572657072656369736561726973696e677372 63203d20276d616b652061207365637572656442617074697374766f74696e67 @@ -3244,14 +3441,6 @@ Internet-Draft Brotli December 2015 61206f666d6f7265206f667365617263685f6e61747572652c6c6567616c6c79 706572696f642c6c616e64206f666f722077697468696e647563656470726f76 696e676d697373696c656c6f63616c6c79416761696e7374746865207761796b - - - -Alakuijala & Szabadka Expires June 10, 2016 [Page 58] - -Internet-Draft Brotli December 2015 - - 2671756f743b70783b223e0d0a707573686564206162616e646f6e6e756d6572 616c4365727461696e496e20746869736d6f726520696e6f7220736f6d656e61 6d65206973616e642c20696e63726f776e65644953424e20302d637265617465 @@ -3279,6 +3468,14 @@ Internet-Draft Brotli December 2015 73436f756e74792c707572656c7920636f756e74223e656173696c7920627569 6c6420616f6e636c69636b6120676976656e706f696e746572682671756f743b 6576656e747320656c7365207b0a646974696f6e736e6f77207468652c207769 + + + +Alakuijala & Szabadka Expires October 19, 2016 [Page 62] + +Internet-Draft Brotli April 2016 + + 7468206d616e2077686f6f72672f5765626f6e6520616e64636176616c727948 65206469656473656174746c6530302c303030207b77696e646f776861766520 746f69662877696e64616e6420697473736f6c656c79206d2671756f743b7265 @@ -3300,14 +3497,6 @@ Internet-Draft Brotli December 2015 206120776f6d616e3f76616c75653d6469726563742072696768742220626963 79636c656163696e673d2264617920616e6473746174696e675261746865722c 686967686572204f666669636520617265206e6f7774696d65732c207768656e - - - -Alakuijala & Szabadka Expires June 10, 2016 [Page 59] - -Internet-Draft Brotli December 2015 - - 20612070617920666f726f6e20746869732d6c696e6b223e3b626f7264657261 726f756e6420616e6e75616c20746865204e6577707574207468652e636f6d22 2074616b696e20746f6120627269656628696e2074686567726f7570732e3b20 @@ -3335,6 +3524,14 @@ Internet-Draft Brotli December 2015 ba6d65726f6163756572646f6dc3ba736963616d69656d62726f6f6665727461 73616c67756e6f737061c3ad736573656a656d706c6f6465726563686f616465 6dc3a1737072697661646f61677265676172656e6c61636573706f7369626c65 + + + +Alakuijala & Szabadka Expires October 19, 2016 [Page 63] + +Internet-Draft Brotli April 2016 + + 686f74656c6573736576696c6c617072696d65726fc3ba6c74696d6f6576656e 746f736172636869766f63756c747572616d756a65726573656e747261646161 6e756e63696f656d626172676f6d65726361646f6772616e6465736573747564 @@ -3356,14 +3553,6 @@ Internet-Draft Brotli December 2015 6d696c6974617279696e64757374727973657276696365736d6174657269616c 70726f64756374737a2d696e6465783a636f6d6d656e7473736f667477617265 636f6d706c65746563616c656e646172706c6174666f726d61727469636c6573 - - - -Alakuijala & Szabadka Expires June 10, 2016 [Page 60] - -Internet-Draft Brotli December 2015 - - 72657175697265646d6f76656d656e747175657374696f6e6275696c64696e67 706f6c6974696373706f737369626c6572656c6967696f6e706879736963616c 666565646261636b7265676973746572706963747572657364697361626c6564 @@ -3391,6 +3580,14 @@ Internet-Draft Brotli December 2015 636f6c6c61707365617070726f616368706172746e6572736c6f676f223e3c61 6461756768746572617574686f72222063756c747572616c66616d696c696573 2f696d616765732f617373656d626c79706f77657266756c7465616368696e67 + + + +Alakuijala & Szabadka Expires October 19, 2016 [Page 64] + +Internet-Draft Brotli April 2016 + + 66696e69736865646469737472696374637269746963616c6367692d62696e2f 707572706f7365737265717569726573656c656374696f6e6265636f6d696e67 70726f766964657361636164656d6963657865726369736561637475616c6c79 @@ -3412,14 +3609,6 @@ Internet-Draft Brotli December 2015 616374697665223e736f6d6577686174766963746f7269615765737465726e20 207469746c653d224c6f636174696f6e636f6e747261637476697369746f7273 446f776e6c6f6164776974686f7574207269676874223e0a6d65617375726573 - - - -Alakuijala & Szabadka Expires June 10, 2016 [Page 61] - -Internet-Draft Brotli December 2015 - - 7769647468203d207661726961626c65696e766f6c76656476697267696e6961 6e6f726d616c6c7968617070656e65646163636f756e74737374616e64696e67 6e6174696f6e616c52656769737465727072657061726564636f6e74726f6c73 @@ -3447,6 +3636,14 @@ Internet-Draft Brotli December 2015 7265636f766572796261736562616c6c6a7564676d656e74636f6e6e6563742e 2e63737322202f3e20776562736974657265706f7274656464656661756c7422 2f3e3c2f613e0d0a656c65637472696373636f746c616e646372656174696f6e + + + +Alakuijala & Szabadka Expires October 19, 2016 [Page 65] + +Internet-Draft Brotli April 2016 + + 7175616e746974792e204953424e2030646964206e6f7420696e7374616e6365 2d7365617263682d22206c616e673d22737065616b657273436f6d7075746572 636f6e7461696e7361726368697665736d696e69737465727265616374696f6e @@ -3468,14 +3665,6 @@ Internet-Draft Brotli December 2015 6f766572666c6f776f70696e696f6e73696c6c696e6f69736c696e6b73223e0a 093c7469746c653e76657273696f6e7373617475726461797465726d696e616c 6974656d70726f70656e67696e65657273656374696f6e7364657369676e6572 - - - -Alakuijala & Szabadka Expires June 10, 2016 [Page 62] - -Internet-Draft Brotli December 2015 - - 70726f706f73616c3d2266616c73652245737061c3b16f6c72656c6561736573 7375626d6974222065722671756f743b6164646974696f6e73796d70746f6d73 6f7269656e7465647265736f757263657269676874223e3c706c656173757265 @@ -3503,6 +3692,14 @@ Internet-Draft Brotli December 2015 5265736f757263656c6963656e73656420287768696368202e20416674657220 636f6e73696465727669736974696e676578706c6f7265727072696d61727920 7365617263682220616e64726f696422717569636b6c79206d656574696e6773 + + + +Alakuijala & Szabadka Expires October 19, 2016 [Page 66] + +Internet-Draft Brotli April 2016 + + 657374696d6174653b72657475726e203b636f6c6f723a23206865696768743d 617070726f76616c2c202671756f743b20636865636b65642e6d696e2e6a7322 6d61676e657469633e3c2f613e3c2f68666f7265636173742e205768696c6520 @@ -3524,14 +3721,6 @@ Internet-Draft Brotli December 2015 626f726465723d30636865636b696e673c2f74626f64793e3c627574746f6e20 436f6d706c657465636c6561726669780a3c686561643e0a61727469636c6520 3c73656374696f6e66696e64696e6773726f6c6520696e20706f70756c617220 - - - -Alakuijala & Szabadka Expires June 10, 2016 [Page 63] - -Internet-Draft Brotli December 2015 - - 204f63746f62657277656273697465206578706f737572657573656420746f20 206368616e6765736f70657261746564636c69636b696e67656e746572696e67 636f6d6d616e6473696e666f726d6564206e756d6265727320203c2f6469763e @@ -3559,6 +3748,14 @@ Internet-Draft Brotli December 2015 70726f626c656d6173616e746961676f6e75657374726f736f70696e69c3b36e 696d7072696d69726d69656e74726173616dc3a97269636176656e6465646f72 736f636965646164726573706563746f7265616c697a6172726567697374726f + + + +Alakuijala & Szabadka Expires October 19, 2016 [Page 67] + +Internet-Draft Brotli April 2016 + + 70616c6162726173696e746572c3a973656e746f6e636573657370656369616c 6d69656d62726f737265616c6964616463c3b372646f62617a617261676f7a61 70c3a167696e6173736f6369616c6573626c6f71756561726765737469c3b36e @@ -3580,14 +3777,6 @@ Internet-Draft Brotli December 2015 62757363616e646f6f7063696f6e65736578746572696f72636f6e636570746f 746f646176c3ad6167616c6572c3ad6165736372696269726d65646963696e61 6c6963656e636961636f6e73756c74616173706563746f736372c3ad74696361 - - - -Alakuijala & Szabadka Expires June 10, 2016 [Page 64] - -Internet-Draft Brotli December 2015 - - 64c3b36c617265736a757374696369616465626572c3a16e706572c3ad6f646f 6e656365736974616d616e74656e65727065717565c3b16f7265636962696461 74726962756e616c74656e657269666563616e6369c3b36e63616e6172696173 @@ -3615,6 +3804,14 @@ Internet-Draft Brotli December 2015 d0b2d0b5d0b4d18cd182d0b5d0bcd0b5d0b2d0bed0b4d18bd182d0b5d0b1d0b5 d0b2d18bd188d0b5d0bdd0b0d0bcd0b8d182d0b8d0bfd0b0d182d0bed0bcd183 d0bfd180d0b0d0b2d0bbd0b8d186d0b0d0bed0b4d0bdd0b0d0b3d0bed0b4d18b + + + +Alakuijala & Szabadka Expires October 19, 2016 [Page 68] + +Internet-Draft Brotli April 2016 + + d0b7d0bdd0b0d18ed0bcd0bed0b3d183d0b4d180d183d0b3d0b2d181d0b5d0b9 d0b8d0b4d0b5d182d0bad0b8d0bdd0bed0bed0b4d0bdd0bed0b4d0b5d0bbd0b0 d0b4d0b5d0bbd0b5d181d180d0bed0bad0b8d18ed0bdd18fd0b2d0b5d181d18c @@ -3636,14 +3833,6 @@ Internet-Draft Brotli December 2015 d985d8b3d8acd984d8a8d986d8a7d986d8aed8a7d984d8afd983d8aad8a7d8a8 d983d984d98ad8a9d8a8d8afd988d986d8a3d98ad8b6d8a7d98ad988d8acd8af d981d8b1d98ad982d983d8aad8a8d8aad8a3d981d8b6d984d985d8b7d8a8d8ae - - - -Alakuijala & Szabadka Expires June 10, 2016 [Page 65] - -Internet-Draft Brotli December 2015 - - d8a7d983d8abd8b1d8a8d8a7d8b1d983d8a7d981d8b6d984d8a7d8add984d989 d986d981d8b3d987d8a3d98ad8a7d985d8b1d8afd988d8afd8a3d986d987d8a7 d8afd98ad986d8a7d8a7d984d8a7d986d985d8b9d8b1d8b6d8aad8b9d984d985 @@ -3671,6 +3860,14 @@ Internet-Draft Brotli December 2015 756d656e74737075626c6973686572696d706f7274616e7470726f746f747970 65696e666c75656e636526726171756f3b3c2f65666665637469766567656e65 72616c6c797472616e73666f726d62656175746966756c7472616e73706f7274 + + + +Alakuijala & Szabadka Expires October 19, 2016 [Page 69] + +Internet-Draft Brotli April 2016 + + 6f7267616e697a65647075626c697368656470726f6d696e656e74756e74696c 207468657468756d626e61696c4e6174696f6e616c202e666f63757328293b6f 76657220746865206d6967726174696f6e616e6e6f756e636564666f6f746572 @@ -3692,14 +3889,6 @@ Internet-Draft Brotli December 2015 616374696f6e3d222f6162616e646f6e6564456475636174696f6e7061727365 496e742873746162696c697479756e61626c6520746f3c2f7469746c653e0a72 656c6174696f6e734e6f74652074686174656666696369656e74706572666f72 - - - -Alakuijala & Szabadka Expires June 10, 2016 [Page 66] - -Internet-Draft Brotli December 2015 - - 6d656474776f20796561727353696e6365207468657468657265666f72657772 6170706572223e616c7465726e617465696e63726561736564426174746c6520 6f66706572636569766564747279696e6720746f6e6563657373617279706f72 @@ -3727,6 +3916,14 @@ Internet-Draft Brotli December 2015 757020746f20746865766172696174696f6e72656d61696e696e676974206973 206e6f7463656e7475726965734a6170616e65736520616d6f6e672074686563 6f6d706c65746564616c676f726974686d696e74657265737473726562656c6c + + + +Alakuijala & Szabadka Expires October 19, 2016 [Page 70] + +Internet-Draft Brotli April 2016 + + 696f6e756e646566696e6564656e636f7572616765726573697a61626c65696e 766f6c76696e6773656e736974697665756e6976657273616c70726f76697369 6f6e28616c74686f756768666561747572696e67636f6e647563746564292c20 @@ -3748,14 +3945,6 @@ Internet-Draft Brotli December 2015 657420206f6e626c75723d2273757370656e646564726563697069656e746261 736564206f6e204d6f72656f7665722c61626f6c6973686564636f6c6c656374 656477657265206d616465656d6f74696f6e616c656d657267656e63796e6172 - - - -Alakuijala & Szabadka Expires June 10, 2016 [Page 67] - -Internet-Draft Brotli December 2015 - - 7261746976656164766f636174657370783b626f72646572636f6d6d69747465 646469723d226c747222656d706c6f7965657372657365617263682e2073656c 6563746564737563636573736f72637573746f6d657273646973706c61796564 @@ -3783,6 +3972,14 @@ Internet-Draft Brotli December 2015 20746f7068656e6f6d656e61706572696f64206f66746f6f6c746970223e7375 627374616e63656175746f6d61746963617370656374206f66416d6f6e672074 6865636f6e6e6563746564657374696d6174657341697220466f726365737973 + + + +Alakuijala & Szabadka Expires October 19, 2016 [Page 71] + +Internet-Draft Brotli April 2016 + + 74656d206f666f626a656374697665696d6d6564696174656d616b696e672069 747061696e74696e6773636f6e717565726564617265207374696c6c70726f63 656475726567726f777468206f666865616465642062794575726f7065616e20 @@ -3804,14 +4001,6 @@ Internet-Draft Brotli December 2015 656e64656e742d2d3e0a3c212d2d20696e746572766965775769746820746865 20636f70696573206f66636f6e73656e737573776173206275696c7456656e65 7a75656c6128666f726d65726c79746865207374617465706572736f6e6e656c - - - -Alakuijala & Szabadka Expires June 10, 2016 [Page 68] - -Internet-Draft Brotli December 2015 - - 7374726174656769636661766f7572206f66696e76656e74696f6e57696b6970 65646961636f6e74696e656e747669727475616c6c7977686963682077617370 72696e6369706c65436f6d706c657465206964656e746963616c73686f772074 @@ -3839,6 +4028,14 @@ Internet-Draft Brotli December 2015 73736963616c6164647265737365647072656469637465646f776e6572736869 703c6469762069643d227269676874223e0d0a7265736964656e63656c656176 6520746865636f6e74656e74223e617265206f6674656e20207d2928293b0d0a + + + +Alakuijala & Szabadka Expires October 19, 2016 [Page 72] + +Internet-Draft Brotli April 2016 + + 70726f6261626c792050726f666573736f722d627574746f6e2220726573706f 6e64656473617973207468617468616420746f206265706c6163656420696e48 756e67617269616e737461747573206f66736572766573206173556e69766572 @@ -3860,14 +4057,6 @@ Internet-Draft Brotli December 2015 6c6f636174696f6e2e3b2077696474683a20696e68616269746564536f636961 6c6973744a616e7561727920313c2f666f6f7465723e73696d696c61726c7963 686f696365206f667468652073616d6520737065636966696320627573696e65 - - - -Alakuijala & Szabadka Expires June 10, 2016 [Page 69] - -Internet-Draft Brotli December 2015 - - 7373205468652066697273742e6c656e6774683b2064657369726520746f6465 616c207769746873696e636520746865757365724167656e74636f6e63656976 6564696e6465782e7068706173202671756f743b656e6761676520696e726563 @@ -3895,6 +4084,14 @@ Internet-Draft Brotli December 2015 616e6420616674657261726520676976656e776173207374696c6c7363726f6c 6c696e6764657369676e206f666d616b6573207468656d756368206c65737341 6d65726963616e732e0a0a4166746572202c20627574207468654d757365756d + + + +Alakuijala & Szabadka Expires October 19, 2016 [Page 73] + +Internet-Draft Brotli April 2016 + + 206f666c6f75697369616e612866726f6d207468656d696e6e65736f74617061 727469636c6573612070726f63657373446f6d696e6963616e766f6c756d6520 6f6672657475726e696e67646566656e73697665303070787c726967686d6164 @@ -3916,14 +4113,6 @@ Internet-Draft Brotli December 2015 e5ad97e7b981e9ab94e5ad97ed959ceab5adec96b4e4b8bae4bb80e4b988e8ae a1e7ae97e69cbae7ac94e8aeb0e69cace8a88ee8ab96e58d80e69c8de58aa1e5 99a8e4ba92e88194e7bd91e688bfe59cb0e4baa7e4bfb1e4b990e983a8e587ba - - - -Alakuijala & Szabadka Expires June 10, 2016 [Page 70] - -Internet-Draft Brotli December 2015 - - e78988e7a4bee68e92e8a18ce6a69ce983a8e890bde6a0bce8bf9be4b880e6ad a5e694afe4bb98e5ae9de9aa8ce8af81e7a081e5a794e59198e4bc9ae695b0e6 8daee5ba93e6b688e8b4b9e88085e58a9ee585ace5aea4e8aea8e8aebae58cba @@ -3951,6 +4140,14 @@ Internet-Draft Brotli December 2015 6963616e6f7665646164657370726f70756573746170616369656e74657374c3 a9636e696361736f626a657469766f73636f6e746163746f73e0a4aee0a587e0 a482e0a4b2e0a4bfe0a48fe0a4b9e0a588e0a482e0a497e0a4afe0a4bee0a4b8 + + + +Alakuijala & Szabadka Expires October 19, 2016 [Page 74] + +Internet-Draft Brotli April 2016 + + e0a4bee0a4a5e0a48fe0a4b5e0a482e0a4b0e0a4b9e0a587e0a495e0a58be0a4 88e0a495e0a581e0a49be0a4b0e0a4b9e0a4bee0a4ace0a4bee0a4a6e0a495e0 a4b9e0a4bee0a4b8e0a4ade0a580e0a4b9e0a581e0a48fe0a4b0e0a4b9e0a580 @@ -3972,14 +4169,6 @@ Internet-Draft Brotli December 2015 e0a4aae0a4b0e0a49ae0a4bee0a4b0e0a490e0a4b8e0a4bee0a4a6e0a587e0a4 b0e0a49ce0a4bfe0a4b8e0a4a6e0a4bfe0a4b2e0a4ace0a482e0a4a6e0a4ace0 a4a8e0a4bee0a4b9e0a582e0a482e0a4b2e0a4bee0a496e0a49ce0a580e0a4a4 - - - -Alakuijala & Szabadka Expires June 10, 2016 [Page 71] - -Internet-Draft Brotli December 2015 - - e0a4ace0a49fe0a4a8e0a4aee0a4bfe0a4b2e0a487e0a4b8e0a587e0a486e0a4 a8e0a587e0a4a8e0a4afe0a4bee0a495e0a581e0a4b2e0a4b2e0a589e0a497e0 a4ade0a4bee0a497e0a4b0e0a587e0a4b2e0a49ce0a497e0a4b9e0a4b0e0a4be @@ -4007,6 +4196,14 @@ Internet-Draft Brotli December 2015 70726f64756374696f6e6e6577736c657474657270726f706572746965736465 66696e6974696f6e6c656164657273686970546563686e6f6c6f67795061726c 69616d656e74636f6d70617269736f6e756c20636c6173733d222e696e646578 + + + +Alakuijala & Szabadka Expires October 19, 2016 [Page 75] + +Internet-Draft Brotli April 2016 + + 4f662822636f6e636c7573696f6e64697363757373696f6e636f6d706f6e656e 747362696f6c6f676963616c5265766f6c7574696f6e5f636f6e7461696e6572 756e64657273746f6f646e6f7363726970743e3c7065726d697373696f6e6561 @@ -4028,14 +4225,6 @@ Internet-Draft Brotli December 2015 74726f6475636564636f7272757074696f6e736369656e74697374736578706c 696369746c79696e7374656164206f6664696d656e73696f6e73206f6e436c69 636b3d22636f6e736964657265646465706172746d656e746f63637570617469 - - - -Alakuijala & Szabadka Expires June 10, 2016 [Page 72] - -Internet-Draft Brotli December 2015 - - 6f6e736f6f6e206166746572696e766573746d656e7470726f6e6f756e636564 6964656e7469666965646578706572696d656e744d616e6167656d656e746765 6f6772617068696322206865696768743d226c696e6b2072656c3d222e726570 @@ -4063,6 +4252,14 @@ Internet-Draft Brotli December 2015 64696e67706172616d657465727370726f686962697465643d2022687474703a 2f2f64696374696f6e61727970657263657074696f6e7265766f6c7574696f6e 666f756e646174696f6e70783b6865696768743a7375636365737366756c7375 + + + +Alakuijala & Szabadka Expires October 19, 2016 [Page 76] + +Internet-Draft Brotli April 2016 + + 70706f72746572736d696c6c656e6e69756d6869732066617468657274686520 2671756f743b6e6f2d7265706561743b636f6d6d65726369616c696e64757374 7269616c656e636f757261676564616d6f756e74206f6620756e6f6666696369 @@ -4084,14 +4281,6 @@ Internet-Draft Brotli December 2015 727361747472616374696f6e756e6465722074686520746872656174656e6564 2a3c215b43444154415b696d706f7274616e6365696e2067656e6572616c7468 65206c61747465723c2f666f726d3e0a3c2f2e696e6465784f66282769203d20 - - - -Alakuijala & Szabadka Expires June 10, 2016 [Page 73] - -Internet-Draft Brotli December 2015 - - 303b2069203c646966666572656e63656465766f74656420746f747261646974 696f6e7373656172636820666f72756c74696d6174656c79746f75726e616d65 6e7461747472696275746573736f2d63616c6c6564207d0a3c2f7374796c653e @@ -4119,6 +4308,14 @@ Internet-Draft Brotli December 2015 6767657374696f6e746f70206f6620746865756e6c696b652074686541757374 72616c69616e4f726967696e616c6c797265666572656e6365730a3c2f686561 643e0d0a7265636f676e69736564696e697469616c697a656c696d6974656420 + + + +Alakuijala & Szabadka Expires October 19, 2016 [Page 77] + +Internet-Draft Brotli April 2016 + + 746f416c6578616e647269617265746972656d656e74416476656e7475726573 666f75722079656172730a0a266c743b212d2d20696e6372656173696e676465 636f726174696f6e683320636c6173733d226f726967696e73206f666f626c69 @@ -4140,14 +4337,6 @@ Internet-Draft Brotli December 2015 6c656420746f70726f706167616e6461636f6e74726f6c6c6564696e666c7565 6e636573636572656d6f6e69616c70726f636c61696d656450726f7465637469 6f6e6c6920636c6173733d22536369656e7469666963636c6173733d226e6f2d - - - -Alakuijala & Szabadka Expires June 10, 2016 [Page 74] - -Internet-Draft Brotli December 2015 - - 74726164656d61726b736d6f7265207468616e20776964657370726561644c69 6265726174696f6e746f6f6b20706c616365646179206f66207468656173206c 6f6e67206173696d707269736f6e65644164646974696f6e616c0a3c68656164 @@ -4175,6 +4364,14 @@ Internet-Draft Brotli December 2015 65736d69676874206861766550726f64756374696f6e69742061707065617273 5068696c6f736f706879667269656e64736869706c656164696e6720746f6769 76696e6720746865746f776172642074686567756172616e74656564646f6375 + + + +Alakuijala & Szabadka Expires October 19, 2016 [Page 78] + +Internet-Draft Brotli April 2016 + + 6d656e746564636f6c6f723a23303030766964656f2067616d65636f6d6d6973 73696f6e7265666c656374696e676368616e6765207468656173736f63696174 656473616e732d73657269666f6e6b657970726573733b2070616464696e673a @@ -4196,14 +4393,6 @@ Internet-Draft Brotli December 2015 6174747261637469766574726176656c6c696e6773657061726174656c79666f 6375736573206f6e656c656d656e746172796170706c696361626c65666f756e 6420746861747374796c6573686565746d616e757363726970747374616e6473 - - - -Alakuijala & Szabadka Expires June 10, 2016 [Page 75] - -Internet-Draft Brotli December 2015 - - 20666f72206e6f2d72657065617428736f6d6574696d6573436f6d6d65726369 616c696e20416d6572696361756e64657274616b656e71756172746572206f66 616e206578616d706c65706572736f6e616c6c79696e6465782e7068703f3c2f @@ -4231,6 +4420,14 @@ Internet-Draft Brotli December 2015 72616c206f6664656c69626572617465696d706f7274616e7420686f6c647320 74686174696e672671756f743b2076616c69676e3d746f70746865204765726d 616e6f757473696465206f666e65676f74696174656468697320636172656572 + + + +Alakuijala & Szabadka Expires October 19, 2016 [Page 79] + +Internet-Draft Brotli April 2016 + + 73657061726174696f6e69643d227365617263687761732063616c6c65647468 6520666f7572746872656372656174696f6e6f74686572207468616e70726576 656e74696f6e7768696c652074686520656475636174696f6e2c636f6e6e6563 @@ -4252,14 +4449,6 @@ Internet-Draft Brotli December 2015 6769616e6d6574686f6473206f6676617269616e74206f664368726973746961 6e2076657279206c617267656175746f6d6f7469766562792066617220746865 72616e67652066726f6d70757273756974206f66666f6c6c6f77207468656272 - - - -Alakuijala & Szabadka Expires June 10, 2016 [Page 76] - -Internet-Draft Brotli December 2015 - - 6f7567687420746f696e20456e676c616e646167726565207468617461636375 736564206f66636f6d65732066726f6d70726576656e74696e67646976207374 796c653d686973206f72206865727472656d656e646f757366726565646f6d20 @@ -4287,6 +4476,14 @@ Internet-Draft Brotli December 2015 746563686e6f72617469706572736f6e616c657363617465676f72c3ad616573 70656369616c6573646973706f6e69626c6561637475616c6964616472656665 72656e63696176616c6c61646f6c69646269626c696f7465636172656c616369 + + + +Alakuijala & Szabadka Expires October 19, 2016 [Page 80] + +Internet-Draft Brotli April 2016 + + 6f6e657363616c656e646172696f706f6cc3ad7469636173616e746572696f72 6573646f63756d656e746f736e61747572616c657a616d6174657269616c6573 6469666572656e63696165636f6ec3b36d6963617472616e73706f727465726f @@ -4308,14 +4505,6 @@ Internet-Draft Brotli December 2015 d0b0d181d182d18cd180d0b0d0b1d0bed182d0bdd0bed0b2d18bd185d0bfd180 d0b0d0b2d0bed181d0bed0b1d0bed0b9d0bfd0bed182d0bed0bcd0bcd0b5d0bd d0b5d0b5d187d0b8d181d0bbd0b5d0bdd0bed0b2d18bd0b5d183d181d0bbd183 - - - -Alakuijala & Szabadka Expires June 10, 2016 [Page 77] - -Internet-Draft Brotli December 2015 - - d0b3d0bed0bad0bed0bbd0bed0bdd0b0d0b7d0b0d0b4d182d0b0d0bad0bed0b5 d182d0bed0b3d0b4d0b0d0bfd0bed187d182d0b8d09fd0bed181d0bbd0b5d182 d0b0d0bad0b8d0b5d0bdd0bed0b2d18bd0b9d181d182d0bed0b8d182d182d0b0 @@ -4343,6 +4532,14 @@ Internet-Draft Brotli December 2015 d8a7d8aad8a7d984d984d8bad8a9d8aad8b1d8aad98ad8a8d8a7d984d986d8a7 d8b3d8a7d984d8b4d98ad8aed985d986d8aad8afd98ad8a7d984d8b9d8b1d8a8 d8a7d984d982d8b5d8b5d8a7d981d984d8a7d985d8b9d984d98ad987d8a7d8aa + + + +Alakuijala & Szabadka Expires October 19, 2016 [Page 81] + +Internet-Draft Brotli April 2016 + + d8add8afd98ad8abd8a7d984d984d987d985d8a7d984d8b9d985d984d985d983 d8aad8a8d8a9d98ad985d983d986d983d8a7d984d8b7d981d984d981d98ad8af d98ad988d8a5d8afd8a7d8b1d8a9d8aad8a7d8b1d98ad8aed8a7d984d8b5d8ad @@ -4364,14 +4561,6 @@ Internet-Draft Brotli December 2015 6d656e74706572666f726d616e6365617070726f70726961746526616d703b6d 646173683b696d6d6564696174656c793c2f7374726f6e673e3c2f7261746865 72207468616e74656d7065726174757265646576656c6f706d656e74636f6d70 - - - -Alakuijala & Szabadka Expires June 10, 2016 [Page 78] - -Internet-Draft Brotli December 2015 - - 65746974696f6e706c616365686f6c6465727669736962696c6974793a636f70 797269676874223e3022206865696768743d226576656e2074686f7567687265 706c6163656d656e7464657374696e6174696f6e436f72706f726174696f6e3c @@ -4399,6 +4588,14 @@ Internet-Draft Brotli December 2015 74682e666c6f6f7228737572726f756e64696e6763616e20616c736f2062656f 62736572766174696f6e6d61696e74656e616e6365656e636f756e7465726564 3c683220636c6173733d226d6f726520726563656e7469742068617320626565 + + + +Alakuijala & Szabadka Expires October 19, 2016 [Page 82] + +Internet-Draft Brotli April 2016 + + 6e696e766173696f6e206f66292e67657454696d65282966756e64616d656e74 616c4465737069746520746865223e3c6469762069643d22696e737069726174 696f6e6578616d696e6174696f6e7072657061726174696f6e6578706c616e61 @@ -4420,14 +4617,6 @@ Internet-Draft Brotli December 2015 67207372633d222f3c683120636c6173733d227075626c69636174696f6e6d61 7920616c736f2062657370656369616c697a65643c2f6669656c647365743e70 726f67726573736976656d696c6c696f6e73206f667374617465732074686174 - - - -Alakuijala & Szabadka Expires June 10, 2016 [Page 79] - -Internet-Draft Brotli December 2015 - - 656e666f7263656d656e7461726f756e6420746865206f6e6520616e6f746865 722e706172656e744e6f64656167726963756c74757265416c7465726e617469 76657265736561726368657273746f7761726473207468654d6f7374206f6620 @@ -4455,6 +4644,14 @@ Internet-Draft Brotli December 2015 6e7370726573656e6365206f662028646f63756d656e742e657874656e736976 656c79497420686173206265656e697420646f6573206e6f74636f6e74726172 7920746f696e6861626974616e7473696d70726f76656d656e747363686f6c61 + + + +Alakuijala & Szabadka Expires October 19, 2016 [Page 83] + +Internet-Draft Brotli April 2016 + + 7273686970636f6e73756d7074696f6e696e737472756374696f6e666f722065 78616d706c656f6e65206f72206d6f726570783b2070616464696e6774686520 63757272656e746120736572696573206f6661726520757375616c6c79726f6c @@ -4476,14 +4673,6 @@ Internet-Draft Brotli December 2015 20636f6d70696c6174696f6e686520686164206265656e70726f647563656420 62797068696c6f736f70686572636f6e7374727563746564696e74656e646564 20746f616d6f6e67206f74686572636f6d706172656420746f746f2073617920 - - - -Alakuijala & Szabadka Expires June 10, 2016 [Page 80] - -Internet-Draft Brotli December 2015 - - 74686174456e67696e656572696e676120646966666572656e74726566657272 656420746f646966666572656e63657362656c696566207468617470686f746f 6772617068736964656e74696679696e67486973746f7279206f662052657075 @@ -4511,6 +4700,14 @@ Internet-Draft Brotli December 2015 5848544d4c2072656c6174696e6720746f74656e64656e637920746f70726f76 696e6365206f66776869636820776f756c646465737069746520746865736369 656e7469666963206c656769736c61747572652e696e6e657248544d4c20616c + + + +Alakuijala & Szabadka Expires October 19, 2016 [Page 84] + +Internet-Draft Brotli April 2016 + + 6c65676174696f6e734167726963756c74757265776173207573656420696e61 7070726f61636820746f696e74656c6c6967656e747965617273206c61746572 2c73616e732d736572696664657465726d696e696e67506572666f726d616e63 @@ -4532,14 +4729,6 @@ Internet-Draft Brotli December 2015 656420746f64657363656e64616e7473617265206c6f63617465646c65676973 6c617469766567656e65726174696f6e73206261636b67726f756e646d6f7374 2070656f706c6579656172732061667465727468657265206973206e6f746865 - - - -Alakuijala & Szabadka Expires June 10, 2016 [Page 81] - -Internet-Draft Brotli December 2015 - - 20686967686573746672657175656e746c79207468657920646f206e6f746172 67756564207468617473686f7765642074686174707265646f6d696e616e7474 68656f6c6f676963616c6279207468652074696d65636f6e7369646572696e67 @@ -4567,6 +4756,14 @@ Internet-Draft Brotli December 2015 6f76656d656e74206f66666f726d756c6174696f6e6973207265717569726564 3c6c696e6b2072656c3d225468697320697320746865203c6120687265663d22 2f706f70756c6172697a6564696e766f6c76656420696e617265207573656420 + + + +Alakuijala & Szabadka Expires October 19, 2016 [Page 85] + +Internet-Draft Brotli April 2016 + + 746f616e64207365766572616c6d616465206279207468657365656d7320746f 2062656c696b656c79207468617450616c657374696e69616e6e616d65642061 66746572697420686164206265656e6d6f737420636f6d6d6f6e746f20726566 @@ -4588,14 +4785,6 @@ Internet-Draft Brotli December 2015 636f756e7420666f72616c69676e3d726967687474686520636f6d70616e7961 6c77617973206265656e72657475726e656420746f696e766f6c76656d656e74 42656361757365207468657468697320706572696f6422206e616d653d227122 - - - -Alakuijala & Szabadka Expires June 10, 2016 [Page 82] - -Internet-Draft Brotli December 2015 - - 20636f6e66696e656420746f6120726573756c74206f6676616c75653d222220 2f3e69732061637475616c6c79456e7669726f6e6d656e740d0a3c2f68656164 3e0d0a436f6e76657273656c792c3e0a3c6469762069643d2230222077696474 @@ -4623,6 +4812,14 @@ Internet-Draft Brotli December 2015 74686573656374696f6e73206f666973206120636f6d6d6f6e7468656f726965 73206f66646973636f7665726965736173736f63696174696f6e65646765206f 6620746865737472656e677468206f66706f736974696f6e20696e7072657365 + + + +Alakuijala & Szabadka Expires October 19, 2016 [Page 86] + +Internet-Draft Brotli April 2016 + + 6e742d646179756e6976657273616c6c79746f20666f726d2074686562757420 696e7374656164636f72706f726174696f6e617474616368656420746f697320 636f6d6d6f6e6c79726561736f6e7320666f72202671756f743b746865206361 @@ -4644,14 +4841,6 @@ Internet-Draft Brotli December 2015 6f6e66616c6c206f66207468657468652067656e6572616c7072616374696361 6c6c79696e20686f6e6f72206f6672656c656173656420696e7265736964656e 7469616c616e6420736f6d65206f666b696e67206f6620746865726561637469 - - - -Alakuijala & Szabadka Expires June 10, 2016 [Page 83] - -Internet-Draft Brotli December 2015 - - 6f6e20746f317374204561726c206f6663756c7475726520616e647072696e63 6970616c6c793c2f7469746c653e0a2020746865792063616e2062656261636b 20746f20746865736f6d65206f66206869736578706f7375726520746f617265 @@ -4679,6 +4868,14 @@ Internet-Draft Brotli December 2015 65637420746865746f20636f6d706c657465626563616d65206d6f7265726164 696f61637469766572656a6563746564206279776974686f757420616e796869 73206661746865722c776869636820636f756c64636f7079206f662074686574 + + + +Alakuijala & Szabadka Expires October 19, 2016 [Page 87] + +Internet-Draft Brotli April 2016 + + 6f20696e6469636174656120706f6c69746963616c6163636f756e7473206f66 636f6e7374697475746573776f726b6564207769746865723c2f613e3c2f6c69 3e6f6620686973206c6966656163636f6d70616e696564636c69656e74576964 @@ -4700,14 +4897,6 @@ Internet-Draft Brotli December 2015 6e6f72206f667468652061727469636c657475726e656420696e746f3e3c6120 687265663d222f7468652065636f6e6f6d79697320746865206d6f73746d6f73 7420776964656c79776f756c64206c61746572616e6420706572686170737269 - - - -Alakuijala & Szabadka Expires June 10, 2016 [Page 84] - -Internet-Draft Brotli December 2015 - - 736520746f207468656f6363757273207768656e756e64657220776869636863 6f6e646974696f6e732e746865207765737465726e7468656f72792074686174 69732070726f64756365647468652063697479206f66696e2077686963682068 @@ -4735,6 +4924,14 @@ Internet-Draft Brotli December 2015 70656f706c652068617665636f6e74696e75616c6c79776173207365656e2061 73616e642072656c6174656474686520726f6c65206f6670726f706f73656420 62796f6620746865206265737465616368206f746865722e436f6e7374616e74 + + + +Alakuijala & Szabadka Expires October 19, 2016 [Page 88] + +Internet-Draft Brotli April 2016 + + 696e6570656f706c652066726f6d6469616c65637473206f66746f2072657669 73696f6e7761732072656e616d65646120736f75726365206f6674686520696e 697469616c6c61756e6368656420696e70726f7669646520746865746f207468 @@ -4756,14 +4953,6 @@ Internet-Draft Brotli December 2015 6567697374726172736570726f666573696f6e616c74726174616d69656e746f 726567c3ad7374726174657365637265746172c3ad617072696e636970616c65 7370726f7465636369c3b36e696d706f7274616e746573696d706f7274616e63 - - - -Alakuijala & Szabadka Expires June 10, 2016 [Page 85] - -Internet-Draft Brotli December 2015 - - 6961706f736962696c69646164696e7465726573616e746563726563696d6965 6e746f6e65636573696461646573737573637269626972736561736f63696163 69c3b36e646973706f6e69626c65736576616c75616369c3b36e657374756469 @@ -4791,6 +4980,14 @@ Internet-Draft Brotli December 2015 2d636f6e7461696e6572223e6d6f7374206e6f7461626c792f3e3c2f613e3c2f 6469763e6e6f74696669636174696f6e27756e646566696e6564272946757274 6865726d6f72652c62656c696576652074686174696e6e657248544d4c203d20 + + + +Alakuijala & Szabadka Expires October 19, 2016 [Page 89] + +Internet-Draft Brotli April 2016 + + 7072696f7220746f207468656472616d61746963616c6c79726566657272696e 6720746f6e65676f74696174696f6e73686561647175617274657273536f7574 6820416672696361756e7375636365737366756c50656e6e73796c76616e6961 @@ -4812,14 +5009,6 @@ Internet-Draft Brotli December 2015 7472616e736d697373696f6e732e20486f77657665722c20696e74656c6c6967 656e63652220746162696e6465783d22666c6f61743a72696768743b436f6d6d 6f6e7765616c746872616e67696e672066726f6d696e20776869636820746865 - - - -Alakuijala & Szabadka Expires June 10, 2016 [Page 86] - -Internet-Draft Brotli December 2015 - - 6174206c65617374206f6e65726570726f64756374696f6e656e6379636c6f70 656469613b666f6e742d73697a653a316a7572697364696374696f6e61742074 6861742074696d65223e3c6120636c6173733d22496e206164646974696f6e2c @@ -4847,6 +5036,14 @@ Internet-Draft Brotli December 2015 7b666f6e742d73697a653a3174726561746d656e74206f663022206865696768 743d22316d6f64696669636174696f6e496e646570656e64656e636564697669 64656420696e746f67726561746572207468616e616368696576656d656e7473 + + + +Alakuijala & Szabadka Expires October 19, 2016 [Page 90] + +Internet-Draft Brotli April 2016 + + 65737461626c697368696e674a61766153637269707422206e65766572746865 6c6573737369676e69666963616e636542726f616463617374696e673e266e62 73703b3c2f74643e636f6e7461696e6572223e0a737563682061732074686520 @@ -4868,14 +5065,6 @@ Internet-Draft Brotli December 2015 61726d656420666f726365737265647563696e6720746865636f6e74696e7565 7320746f4e6f6e657468656c6573732c74656d7065726174757265730a09093c 6120687265663d22636c6f736520746f207468656578616d706c6573206f6620 - - - -Alakuijala & Szabadka Expires June 10, 2016 [Page 87] - -Internet-Draft Brotli December 2015 - - 69732061626f757420746865287365652062656c6f77292e222069643d227365 6172636870726f66657373696f6e616c697320617661696c61626c6574686520 6f6666696369616c09093c2f7363726970743e0a0a09093c6469762069643d22 @@ -4903,6 +5092,14 @@ Internet-Draft Brotli December 2015 68756d616e207269676874736c696e6b20687265663d222f617661696c616269 6c69747970726f706f7274696f6e616c6f757473696465207468652061737472 6f6e6f6d6963616c68756d616e206265696e67736e616d65206f662074686520 + + + +Alakuijala & Szabadka Expires October 19, 2016 [Page 91] + +Internet-Draft Brotli April 2016 + + 61726520666f756e6420696e617265206261736564206f6e736d616c6c657220 7468616e6120706572736f6e2077686f657870616e73696f6e206f6661726775 696e6720746861746e6f77206b6e6f776e206173496e20746865206561726c79 @@ -4924,14 +5121,6 @@ Internet-Draft Brotli December 2015 697473206f726967696e616c696e746f206163636f756e74746869732070726f 63657373616e20657874656e73697665686f77657665722c2074686574686579 20617265206e6f7472656a65637465642074686563726974696369736d206f66 - - - -Alakuijala & Szabadka Expires June 10, 2016 [Page 88] - -Internet-Draft Brotli December 2015 - - 647572696e6720776869636870726f6261626c79207468657468697320617274 69636c652866756e6374696f6e28297b49742073686f756c64206265616e2061 677265656d656e746163636964656e74616c6c79646966666572732066726f6d @@ -4959,6 +5148,14 @@ Internet-Draft Brotli December 2015 776869636820616c6c6f7773496e74726f64756374696f6e646576656c6f7065 642062796120776964652072616e67656f6e20626568616c66206f6676616c69 676e3d22746f70227072696e6369706c65206f666174207468652074696d652c + + + +Alakuijala & Szabadka Expires October 19, 2016 [Page 92] + +Internet-Draft Brotli April 2016 + + 3c2f6e6f7363726970743e0d7361696420746f2068617665696e207468652066 697273747768696c65206f74686572736879706f746865746963616c7068696c 6f736f7068657273706f776572206f6620746865636f6e7461696e656420696e @@ -4980,14 +5177,6 @@ Internet-Draft Brotli December 2015 657874656e73696f6e206f6665636f6e6f6d696320616e64616c74686f756768 207468656172652070726f6475636564616e64207769746820746865696e7375 6666696369656e74676976656e2062792074686573746174696e672074686174 - - - -Alakuijala & Szabadka Expires June 10, 2016 [Page 89] - -Internet-Draft Brotli December 2015 - - 657870656e646974757265733c2f7370616e3e3c2f613e0a74686f7567687420 746861746f6e2074686520626173697363656c6c70616464696e673d696d6167 65206f662074686572657475726e696e6720746f696e666f726d6174696f6e2c @@ -5015,6 +5204,14 @@ Internet-Draft Brotli December 2015 616e6420686973207769666528616c736f2063616c6c65643e3c756c20636c61 73733d226566666563746976656c792065766f6c76656420696e746f7365656d 20746f2068617665776869636820697320746865746865726520776173206e6f + + + +Alakuijala & Szabadka Expires October 19, 2016 [Page 93] + +Internet-Draft Brotli April 2016 + + 616e20657863656c6c656e74616c6c206f662074686573656465736372696265 64206279496e2070726163746963652c62726f616463617374696e6763686172 67656420776974687265666c656374656420696e7375626a656374656420746f @@ -5036,14 +5233,6 @@ Internet-Draft Brotli December 2015 737570706f72742066726f6d696e20646966666572656e74646f6d696e617465 6420627964657369676e656420666f726f776e657273686970206f66616e6420 706f737369626c797374616e64617264697a6564726573706f6e736554657874 - - - -Alakuijala & Szabadka Expires June 10, 2016 [Page 90] - -Internet-Draft Brotli December 2015 - - 77617320696e74656e646564726563656976656420746865617373756d656420 746861746172656173206f66207468657072696d6172696c7920696e74686520 6261736973206f66696e207468652073656e73656163636f756e747320666f72 @@ -5071,6 +5260,14 @@ Internet-Draft Brotli December 2015 636f6e73656375656e636961656c65637472c3b36e69636161706c6963616369 6f6e6573646573636f6e65637461646f696e7374616c616369c3b36e7265616c 697a616369c3b36e7574696c697a616369c3b36e656e6369636c6f7065646961 + + + +Alakuijala & Szabadka Expires October 19, 2016 [Page 94] + +Internet-Draft Brotli April 2016 + + 656e6665726d656461646573696e737472756d656e746f73657870657269656e 63696173696e73746974756369c3b36e706172746963756c6172657373756263 617465676f726961d182d0bed0bbd18cd0bad0bed0a0d0bed181d181d0b8d0b8 @@ -5092,14 +5289,6 @@ Internet-Draft Brotli December 2015 d0b3d180d183d0bfd0bfd18bd0b2d0bcd0b5d181d182d0b5d180d0b0d0b1d0be d182d0b0d181d0bad0b0d0b7d0b0d0bbd0bfd0b5d180d0b2d18bd0b9d0b4d0b5 d0bbd0b0d182d18cd0b4d0b5d0bdd18cd0b3d0b8d0bfd0b5d180d0b8d0bed0b4 - - - -Alakuijala & Szabadka Expires June 10, 2016 [Page 91] - -Internet-Draft Brotli December 2015 - - d0b1d0b8d0b7d0bdd0b5d181d0bed181d0bdd0bed0b2d0b5d0bcd0bed0bcd0b5 d0bdd182d0bad183d0bfd0b8d182d18cd0b4d0bed0bbd0b6d0bdd0b0d180d0b0 d0bcd0bad0b0d185d0bdd0b0d187d0b0d0bbd0bed0a0d0b0d0b1d0bed182d0b0 @@ -5127,6 +5316,14 @@ Internet-Draft Brotli December 2015 e0a485e0a4aae0a4a8e0a580e0a4b5e0a4bee0a4b2e0a587e0a4b8e0a587e0a4 b5e0a4bee0a495e0a4b0e0a4a4e0a587e0a4aee0a587e0a4b0e0a587e0a4b9e0 a58be0a4a8e0a587e0a4b8e0a495e0a4a4e0a587e0a4ace0a4b9e0a581e0a4a4 + + + +Alakuijala & Szabadka Expires October 19, 2016 [Page 95] + +Internet-Draft Brotli April 2016 + + e0a4b8e0a4bee0a487e0a49fe0a4b9e0a58be0a497e0a4bee0a49ce0a4bee0a4 a8e0a587e0a4aee0a4bfe0a4a8e0a49fe0a495e0a4b0e0a4a4e0a4bee0a495e0 a4b0e0a4a8e0a4bee0a489e0a4a8e0a495e0a587e0a4afe0a4b9e0a4bee0a481 @@ -5148,14 +5345,6 @@ Internet-Draft Brotli December 2015 e0a4b9e0a4aee0a587e0a482e0a489e0a4a8e0a495e0a580e0a4afe0a4bee0a4 b9e0a582e0a4a6e0a4b0e0a58de0a49ce0a4b8e0a582e0a49ae0a580e0a4aae0 a4b8e0a482e0a4a6e0a4b8e0a4b5e0a4bee0a4b2e0a4b9e0a58be0a4a8e0a4be - - - -Alakuijala & Szabadka Expires June 10, 2016 [Page 92] - -Internet-Draft Brotli December 2015 - - e0a4b9e0a58be0a4a4e0a580e0a49ce0a588e0a4b8e0a587e0a4b5e0a4bee0a4 aae0a4b8e0a49ce0a4a8e0a4a4e0a4bee0a4a8e0a587e0a4a4e0a4bee0a49ce0 a4bee0a4b0e0a580e0a498e0a4bee0a4afe0a4b2e0a49ce0a4bfe0a4b2e0a587 @@ -5183,6 +5372,14 @@ Internet-Draft Brotli December 2015 e0a496e0a4bee0a4a4e0a4bee0a495e0a4b0e0a580e0a4ace0a489e0a4a8e0a4 95e0a4bee0a49ce0a4b5e0a4bee0a4ace0a4aae0a582e0a4b0e0a4bee0a4ace0 a4a1e0a4bce0a4bee0a4b8e0a58ce0a4a6e0a4bee0a4b6e0a587e0a4afe0a4b0 + + + +Alakuijala & Szabadka Expires October 19, 2016 [Page 96] + +Internet-Draft Brotli April 2016 + + e0a495e0a4bfe0a4afe0a587e0a495e0a4b9e0a4bee0a482e0a485e0a495e0a4 b8e0a4b0e0a4ace0a4a8e0a4bee0a48fe0a4b5e0a4b9e0a4bee0a482e0a4b8e0 a58de0a4a5e0a4b2e0a4aee0a4bfe0a4b2e0a587e0a4b2e0a587e0a496e0a495 @@ -5204,14 +5401,6 @@ Internet-Draft Brotli December 2015 d8a7d984d983d988d98ad8aad8a7d984d8afd986d98ad8a7d8a8d8b1d983d8a7 d8aad987d8a7d984d8b1d98ad8a7d8b6d8aad8add98ad8a7d8aad98ad8a8d8aa d988d982d98ad8aad8a7d984d8a3d988d984d989d8a7d984d8a8d8b1d98ad8af - - - -Alakuijala & Szabadka Expires June 10, 2016 [Page 93] - -Internet-Draft Brotli December 2015 - - d8a7d984d983d984d8a7d985d8a7d984d8b1d8a7d8a8d8b7d8a7d984d8b4d8ae d8b5d98ad8b3d98ad8a7d8b1d8a7d8aad8a7d984d8abd8a7d984d8abd8a7d984 d8b5d984d8a7d8a9d8a7d984d8add8afd98ad8abd8a7d984d8b2d988d8a7d8b1 @@ -5239,6 +5428,14 @@ Internet-Draft Brotli December 2015 226173206f70706f73656420746f53757072656d6520436f7572746f63636173 696f6e616c6c79204164646974696f6e616c6c792c4e6f72746820416d657269 636170783b6261636b67726f756e646f70706f7274756e6974696573456e7465 + + + +Alakuijala & Szabadka Expires October 19, 2016 [Page 97] + +Internet-Draft Brotli April 2016 + + 727461696e6d656e742e746f4c6f77657243617365286d616e75666163747572 696e6770726f66657373696f6e616c20636f6d62696e65642077697468466f72 20696e7374616e63652c636f6e73697374696e67206f6622206d61786c656e67 @@ -5260,14 +5457,6 @@ Internet-Draft Brotli December 2015 6174696f6e62656c6965766564207468617473756666657265642066726f6d61 7474656d7074656420746f206c6561646572206f662074686563726970742220 7372633d222f2866756e6374696f6e2829207b61726520617661696c61626c65 - - - -Alakuijala & Szabadka Expires June 10, 2016 [Page 94] - -Internet-Draft Brotli December 2015 - - 0a093c6c696e6b2072656c3d22207372633d27687474703a2f2f696e74657265 7374656420696e636f6e76656e74696f6e616c202220616c743d2222202f3e3c 2f6172652067656e6572616c6c7968617320616c736f206265656e6d6f737420 @@ -5295,6 +5484,14 @@ Internet-Draft Brotli December 2015 726967696e206f6620746865636f6d6d6f6e6c792075736564696d706f727461 6e6365206f6664656e6f6d696e6174696f6e736261636b67726f756e643a2023 6c656e677468206f662074686564657465726d696e6174696f6e61207369676e + + + +Alakuijala & Szabadka Expires October 19, 2016 [Page 98] + +Internet-Draft Brotli April 2016 + + 69666963616e742220626f726465723d2230223e7265766f6c7574696f6e6172 797072696e6369706c6573206f66697320636f6e736964657265647761732064 6576656c6f706564496e646f2d4575726f7065616e76756c6e657261626c6520 @@ -5316,14 +5513,6 @@ Internet-Draft Brotli December 2015 206f6661707065617220696e20746865546865736520696e636c756465726567 6172646c657373206f66636f756c642062652075736564207374796c653d2671 756f743b7365766572616c2074696d6573726570726573656e7420746865626f - - - -Alakuijala & Szabadka Expires June 10, 2016 [Page 95] - -Internet-Draft Brotli December 2015 - - 64793e0a3c2f68746d6c3e74686f7567687420746f206265706f70756c617469 6f6e206f66706f73736962696c697469657370657263656e74616765206f6661 636365737320746f20746865616e20617474656d707420746f70726f64756374 @@ -5351,6 +5540,14 @@ Internet-Draft Brotli December 2015 20666f6c6c6f77696e676d617920726566657220746f3a436f6e73657175656e 746c792c496e7465726e6174696f6e616c616c74686f75676820736f6d657468 617420776f756c64206265776f726c642773206669727374636c617373696669 + + + +Alakuijala & Szabadka Expires October 19, 2016 [Page 99] + +Internet-Draft Brotli April 2016 + + 6564206173626f74746f6d206f662074686528706172746963756c61726c7961 6c69676e3d226c65667422206d6f737420636f6d6d6f6e6c7962617369732066 6f7220746865666f756e646174696f6e206f66636f6e747269627574696f6e73 @@ -5372,14 +5569,6 @@ Internet-Draft Brotli December 2015 7473706563696669636174696f6e706f6c69746963616c20616e64266e627370 3b266e6273703b3c7265666572656e63657320746f7468652073616d65207965 6172476f7665726e6d656e74206f6667656e65726174696f6e206f6668617665 - - - -Alakuijala & Szabadka Expires June 10, 2016 [Page 96] - -Internet-Draft Brotli December 2015 - - 206e6f74206265656e7365766572616c207965617273636f6d6d69746d656e74 20746f09093c756c20636c6173733d2276697375616c697a6174696f6e313974 682063656e747572792c70726163746974696f6e657273746861742068652077 @@ -5407,6 +5596,14 @@ Internet-Draft Brotli December 2015 6520556e697465647370616e20636c6173733d226d63616e2062652074726163 656469732072656c6174656420746f626563616d65206f6e65206f6669732066 72657175656e746c796c6976696e6720696e207468657468656f726574696361 + + + +Alakuijala & Szabadka Expires October 19, 2016 [Page 100] + +Internet-Draft Brotli April 2016 + + 6c6c79466f6c6c6f77696e67207468655265766f6c7574696f6e617279676f76 65726e6d656e7420696e69732064657465726d696e656474686520706f6c6974 6963616c696e74726f647563656420696e73756666696369656e7420746f6465 @@ -5428,14 +5625,6 @@ Internet-Draft Brotli December 2015 656d62657220737461746573656e7669726f6e6d656e74616c66697273742068 616c66206f66636f756e747269657320616e646172636869746563747572616c 626520636f6e73696465726564636861726163746572697a6564636c65617249 - - - -Alakuijala & Szabadka Expires June 10, 2016 [Page 97] - -Internet-Draft Brotli December 2015 - - 6e74657276616c617574686f726974617469766546656465726174696f6e206f 6677617320737563636565646564616e64207468657265206172656120636f6e 73657175656e636574686520507265736964656e74616c736f20696e636c7564 @@ -5463,6 +5652,14 @@ Internet-Draft Brotli December 2015 616369c3b36e636f6d756e6963616369c3b36e636f6e73747275636369c3b36e 223e3c64697620636c6173733d22646973616d626967756174696f6e446f6d61 696e4e616d65272c202761646d696e697374726174696f6e73696d756c74616e + + + +Alakuijala & Szabadka Expires October 19, 2016 [Page 101] + +Internet-Draft Brotli April 2016 + + 656f75736c797472616e73706f72746174696f6e496e7465726e6174696f6e61 6c206d617267696e2d626f74746f6d3a726573706f6e736962696c6974793c21 5b656e6469665d2d2d3e0a3c2f3e3c6d657461206e616d653d22696d706c656d @@ -5484,14 +5681,6 @@ Internet-Draft Brotli December 2015 20746865646f63756d656e742e626f64792e617070726f78696d6174656c7920 436f6d6d756e69636174696f6e73706f73742220616374696f6e3d226d65616e 696e67202671756f743b2d2d3c215b656e6469665d2d2d3e5072696d65204d69 - - - -Alakuijala & Szabadka Expires June 10, 2016 [Page 98] - -Internet-Draft Brotli December 2015 - - 6e697374657263686172616374657269737469633c2f613e203c6120636c6173 733d74686520686973746f7279206f66206f6e6d6f7573656f7665723d227468 6520676f7665726e6d656e74687265663d2268747470733a2f2f776173206f72 @@ -5519,6 +5708,14 @@ Internet-Draft Brotli December 2015 207469746c653d222866756e6374696f6e202829207b636f6d65732066726f6d 207468656170706c69636174696f6e206f663c7370616e20636c6173733d2273 62656c696576656420746f206265656d656e742827736372697074273c2f613e + + + +Alakuijala & Szabadka Expires October 19, 2016 [Page 102] + +Internet-Draft Brotli April 2016 + + 0a3c2f6c693e0a3c6c697665727920646966666572656e743e3c7370616e2063 6c6173733d226f7074696f6e2076616c75653d2228616c736f206b6e6f776e20 6173093c6c693e3c6120687265663d223e3c696e707574206e616d653d227365 @@ -5540,14 +5737,6 @@ Internet-Draft Brotli December 2015 74696f6e206f662064657363656e6465642066726f6d73656374696f6e206f66 207468656163636570742d63686172736574746f20626520636f6e6675736564 6d656d626572206f66207468652070616464696e672d72696768743a7472616e - - - -Alakuijala & Szabadka Expires June 10, 2016 [Page 99] - -Internet-Draft Brotli December 2015 - - 736c6174696f6e206f66696e746572707265746174696f6e20687265663d2768 7474703a2f2f77686574686572206f72206e6f7454686572652061726520616c 736f746865726520617265206d616e796120736d616c6c206e756d6265726f74 @@ -5575,6 +5764,14 @@ Internet-Draft Brotli December 2015 207468652074696d65206f66696e7665737469676174696f6e73636f6e6e6563 7465642077697468616e64206d616e79206f74686572616c74686f7567682069 74206973626567696e6e696e672077697468203c7370616e20636c6173733d22 + + + +Alakuijala & Szabadka Expires October 19, 2016 [Page 103] + +Internet-Draft Brotli April 2016 + + 64657363656e64616e7473206f663c7370616e20636c6173733d226920616c69 676e3d227269676874223c2f686561643e0a3c626f6479206173706563747320 6f66207468656861732073696e6365206265656e4575726f7065616e20556e69 @@ -5596,14 +5793,6 @@ Internet-Draft Brotli December 2015 737472756374696f6e206f6674686520706f70756c6174696f6e0a093c646976 20636c6173733d22706f73736962696c697479206f66736f6d6574696d657320 7573656461707065617220746f206861766573756363657373206f6620746865 - - - -Alakuijala & Szabadka Expires June 10, 2016 [Page 100] - -Internet-Draft Brotli December 2015 - - 696e74656e64656420746f20626570726573656e7420696e207468657374796c 653d22636c6561723a620d0a3c2f7363726970743e0d0a3c77617320666f756e 64656420696e696e7465727669657720776974685f69642220636f6e74656e74 @@ -5631,6 +5820,14 @@ Internet-Draft Brotli December 2015 6f66746865206162696c69747920746f3b636f6c6f723a236666667d0a2e0a3c 7370616e20636c6173733d22746865207375626a656374206f66646566696e69 74696f6e73206f663e0d0a3c6c696e6b2072656c3d22636c61696d2074686174 + + + +Alakuijala & Szabadka Expires October 19, 2016 [Page 104] + +Internet-Draft Brotli April 2016 + + 207468656861766520646576656c6f7065643c7461626c652077696474683d22 63656c6562726174696f6e206f66466f6c6c6f77696e672074686520746f2064 697374696e67756973683c7370616e20636c6173733d226274616b657320706c @@ -5652,14 +5849,6 @@ Internet-Draft Brotli December 2015 616e697320657870656374656420746f68617665207468656972206f776e6465 66696e656420617320746865747261646974696f6e616c6c7920686176652064 6966666572656e74617265206f6674656e2075736564746f20656e7375726520 - - - -Alakuijala & Szabadka Expires June 10, 2016 [Page 101] - -Internet-Draft Brotli December 2015 - - 7468617461677265656d656e742077697468636f6e7461696e696e6720746865 617265206672657175656e746c79696e666f726d6174696f6e206f6e6578616d 706c6520697320746865726573756c74696e6720696e20613c2f613e3c2f6c69 @@ -5687,6 +5876,14 @@ Internet-Draft Brotli December 2015 616369c3b36ed0bad0bed182d0bed180d18bd0b5d0bed0b1d0bbd0b0d181d182 d0b8d0bad0bed182d0bed180d18bd0b9d187d0b5d0bbd0bed0b2d0b5d0bad181 d0b8d181d182d0b5d0bcd18bd09dd0bed0b2d0bed181d182d0b8d0bad0bed182 + + + +Alakuijala & Szabadka Expires October 19, 2016 [Page 105] + +Internet-Draft Brotli April 2016 + + d0bed180d18bd185d0bed0b1d0bbd0b0d181d182d18cd0b2d180d0b5d0bcd0b5 d0bdd0b8d0bad0bed182d0bed180d0b0d18fd181d0b5d0b3d0bed0b4d0bdd18f d181d0bad0b0d187d0b0d182d18cd0bdd0bed0b2d0bed181d182d0b8d0a3d0ba @@ -5708,14 +5905,6 @@ Internet-Draft Brotli December 2015 d985d98ad985d8a7d984d8a7d8b9d8b6d8a7d8a1d8a7d984d986d8aad8a7d8a6 d8acd8a7d984d8a3d984d8b9d8a7d8a8d8a7d984d8aad8b3d8acd98ad984d8a7 d984d8a3d982d8b3d8a7d985d8a7d984d8b6d8bad8b7d8a7d8aad8a7d984d981 - - - -Alakuijala & Szabadka Expires June 10, 2016 [Page 102] - -Internet-Draft Brotli December 2015 - - d98ad8afd98ad988d8a7d984d8aad8b1d8add98ad8a8d8a7d984d8acd8afd98a d8afd8a9d8a7d984d8aad8b9d984d98ad985d8a7d984d8a3d8aed8a8d8a7d8b1 d8a7d984d8a7d981d984d8a7d985d8a7d984d8a3d981d984d8a7d985d8a7d984 @@ -5743,6 +5932,14 @@ Internet-Draft Brotli December 2015 62656361757365206f662074686520646f63756d656e742e636f6f6b69653c66 6f726d20616374696f6e3d222f7d626f64797b6d617267696e3a303b456e6379 636c6f7065646961206f6676657273696f6e206f6620746865202e6372656174 + + + +Alakuijala & Szabadka Expires October 19, 2016 [Page 106] + +Internet-Draft Brotli April 2016 + + 65456c656d656e74286e616d652220636f6e74656e743d223c2f6469763e0a3c 2f6469763e0a0a61646d696e697374726174697665203c2f626f64793e0a3c2f 68746d6c3e686973746f7279206f662074686520223e3c696e70757420747970 @@ -5764,14 +5961,6 @@ Internet-Draft Brotli December 2015 6865206d616e7920646966666572656e74204f7274686f646f78204368757263 6873696d696c617220746f20746865202f3e0a3c6c696e6b2072656c3d227377 6173206f6e65206f662074686520756e74696c206869732064656174687d2928 - - - -Alakuijala & Szabadka Expires June 10, 2016 [Page 103] - -Internet-Draft Brotli December 2015 - - 293b0a3c2f7363726970743e6f74686572206c616e677561676573636f6d7061 72656420746f20746865706f7274696f6e73206f6620746865746865204e6574 6865726c616e6473746865206d6f737420636f6d6d6f6e6261636b67726f756e @@ -5799,6 +5988,14 @@ Internet-Draft Brotli December 2015 63656420696d6167653e0a093c64697620636c6173733d22636f6e7369737473 206f662074686573746f7050726f7061676174696f6e696e7465726573742069 6e20746865617661696c6162696c697479206f666170706561727320746f2068 + + + +Alakuijala & Szabadka Expires October 19, 2016 [Page 107] + +Internet-Draft Brotli April 2016 + + 617665656c656374726f6d61676e65746963656e61626c655365727669636573 2866756e6374696f6e206f6620746865497420697320696d706f7274616e743c 2f7363726970743e3c2f6469763e66756e6374696f6e28297b7661722072656c @@ -5820,14 +6017,6 @@ Internet-Draft Brotli December 2015 e0a587e0a49ce0a587e0a482e0a4b6e0a4bee0a4aee0a4bfe0a4b2e0a4b9e0a4 aee0a4bee0a4b0e0a580e0a49ce0a4bee0a497e0a4b0e0a4a3e0a4ace0a4a8e0 a4bee0a4a8e0a587e0a495e0a581e0a4aee0a4bee0a4b0e0a4ace0a58de0a4b2 - - - -Alakuijala & Szabadka Expires June 10, 2016 [Page 104] - -Internet-Draft Brotli December 2015 - - e0a589e0a497e0a4aee0a4bee0a4b2e0a4bfe0a495e0a4aee0a4b9e0a4bfe0a4 b2e0a4bee0a4aae0a583e0a4b7e0a58de0a4a0e0a4ace0a4a2e0a4bce0a4a4e0 a587e0a4ade0a4bee0a49ce0a4aae0a4bee0a495e0a58de0a4b2e0a4bfe0a495 @@ -5855,6 +6044,14 @@ Internet-Draft Brotli December 2015 e0a4b0e0a495e0a4b5e0a4bfe0a4a4e0a4bee0a4b0e0a581e0a4aae0a4afe0a5 87e0a4b8e0a58de0a4a5e0a4bee0a4a8e0a495e0a4b0e0a58be0a4a1e0a4bce0 a4aee0a581e0a495e0a58de0a4a4e0a4afe0a58be0a49ce0a4a8e0a4bee0a495 + + + +Alakuijala & Szabadka Expires October 19, 2016 [Page 108] + +Internet-Draft Brotli April 2016 + + e0a583e0a4aae0a4afe0a4bee0a4aae0a58be0a4b8e0a58de0a49fe0a498e0a4 b0e0a587e0a4b2e0a582e0a495e0a4bee0a4b0e0a58de0a4afe0a4b5e0a4bfe0 a49ae0a4bee0a4b0e0a4b8e0a582e0a49ae0a4a8e0a4bee0a4aee0a582e0a4b2 @@ -5876,14 +6073,6 @@ Internet-Draft Brotli December 2015 6f766572666c6f773a68696464656e3b696d67207372633d22687474703a2f2f 6164644576656e744c697374656e6572726573706f6e7369626c6520666f7220 732e6a73223e3c2f7363726970743e0a2f66617669636f6e2e69636f22202f3e - - - -Alakuijala & Szabadka Expires June 10, 2016 [Page 105] - -Internet-Draft Brotli December 2015 - - 6f7065726174696e672073797374656d22207374796c653d2277696474683a31 7461726765743d225f626c616e6b223e537461746520556e6976657273697479 746578742d616c69676e3a6c6566743b0a646f63756d656e742e777269746528 @@ -5911,6 +6100,14 @@ Internet-Draft Brotli December 2015 7342795461674e616d652873295b305d6a73223e3c2f7363726970743e0d0a3c 2e6a73223e3c2f7363726970743e0d0a6c696e6b2072656c3d2269636f6e2220 2720616c743d272720636c6173733d27666f726d6174696f6e206f6620746865 + + + +Alakuijala & Szabadka Expires October 19, 2016 [Page 109] + +Internet-Draft Brotli April 2016 + + 76657273696f6e73206f6620746865203c2f613e3c2f6469763e3c2f6469763e 2f706167653e0a20203c706167653e0a3c64697620636c6173733d22636f6e74 626563616d652074686520666972737462616861736120496e646f6e65736961 @@ -5932,14 +6129,6 @@ Internet-Draft Brotli December 2015 d8a7d8add8b5d8a7d8a6d98ad8a7d8aad8a7d984d8b9d8a7d984d985d98ad8a9 d8a7d984d8b5d988d8aad98ad8a7d8aad8a7d984d8a7d986d8aad8b1d986d8aa d8a7d984d8aad8b5d8a7d985d98ad985d8a7d984d8a5d8b3d984d8a7d985d98a - - - -Alakuijala & Szabadka Expires June 10, 2016 [Page 106] - -Internet-Draft Brotli December 2015 - - d8a7d984d985d8b4d8a7d8b1d983d8a9d8a7d984d985d8b1d8a6d98ad8a7d8aa 726f626f74732220636f6e74656e743d223c6469762069643d22666f6f746572 223e74686520556e69746564205374617465733c696d67207372633d22687474 @@ -5967,6 +6156,14 @@ Internet-Draft Brotli December 2015 6c656420746861742074686574656c65766973696f6e20736572696573222072 656c3d226e6f666f6c6c6f77223e207461726765743d225f626c616e6b223e63 6c61696d696e6720746861742074686568747470253341253246253246777777 + + + +Alakuijala & Szabadka Expires October 19, 2016 [Page 110] + +Internet-Draft Brotli April 2016 + + 2e6d616e69666573746174696f6e73206f665072696d65204d696e6973746572 206f66696e666c75656e63656420627920746865636c6173733d22636c656172 666978223e2f6469763e0d0a3c2f6469763e0d0a0d0a74687265652d64696d65 @@ -5988,14 +6185,6 @@ Internet-Draft Brotli December 2015 7265647175616e74756d206d656368616e6963734e657665727468656c657373 2c207468656d696c6c696f6e2079656172732061676f3c2f626f64793e0d0a3c 2f68746d6c3e0dce95cebbcebbceb7cebdceb9cebaceac0a74616b6520616476 - - - -Alakuijala & Szabadka Expires June 10, 2016 [Page 107] - -Internet-Draft Brotli December 2015 - - 616e74616765206f66616e642c206163636f7264696e6720746f617474726962 7574656420746f207468654d6963726f736f66742057696e646f777374686520 66697273742063656e74757279756e6465722074686520636f6e74726f6c6469 @@ -6023,6 +6212,14 @@ Internet-Draft Brotli December 2015 6f756e642d636f6c6f723a23747970653d226170706c69636174696f6e2f616e 67756167652220636f6e74656e743d223c6d65746120687474702d6571756976 3d225072697661637920506f6c6963793c2f613e652822253343736372697074 + + + +Alakuijala & Szabadka Expires October 19, 2016 [Page 111] + +Internet-Draft Brotli April 2016 + + 207372633d2722207461726765743d225f626c616e6b223e4f6e20746865206f 746865722068616e642c2e6a70677c7468756d627c72696768747c323c2f6469 763e3c64697620636c6173733d223c646976207374796c653d22666c6f61743a @@ -6044,14 +6241,6 @@ Internet-Draft Brotli December 2015 3a6c6566743b636f6e6365726e65642077697468207468653d68747470253341 2532462532467777772e696e20706f70756c61722063756c7475726574797065 3d22746578742f63737322202f3e697420697320706f737369626c6520746f20 - - - -Alakuijala & Szabadka Expires June 10, 2016 [Page 108] - -Internet-Draft Brotli December 2015 - - 4861727661726420556e697665727369747974796c6573686565742220687265 663d222f746865206d61696e206368617261637465724f78666f726420556e69 7665727369747920206e616d653d226b6579776f7264732220637374796c653d @@ -6079,6 +6268,14 @@ Internet-Draft Brotli December 2015 456d706972653e3c696d67207372633d22687474703a2f2f416e20496e74726f 64756374696f6e20746f636f6e73657175656e6365206f662074686564657061 72747572652066726f6d20746865436f6e666564657261746520537461746573 + + + +Alakuijala & Szabadka Expires October 19, 2016 [Page 112] + +Internet-Draft Brotli April 2016 + + 696e646967656e6f75732070656f706c657350726f63656564696e6773206f66 20746865696e666f726d6174696f6e206f6e207468657468656f726965732068 617665206265656e696e766f6c76656d656e7420696e20746865646976696465 @@ -6100,14 +6297,6 @@ Internet-Draft Brotli December 2015 7c203c6120687265663d22687474703a2f2f496e20706172746963756c61722c 207468654d756c7469706c6520666f6f746e6f7465736f72206f746865722073 75627374616e636574686f7573616e6473206f662079656172737472616e736c - - - -Alakuijala & Szabadka Expires June 10, 2016 [Page 109] - -Internet-Draft Brotli December 2015 - - 6174696f6e206f66207468653c2f6469763e0d0a3c2f6469763e0d0a0d0a3c61 20687265663d22696e6465782e7068707761732065737461626c697368656420 696e6d696e2e6a73223e3c2f7363726970743e0a706172746963697061746520 @@ -6135,6 +6324,14 @@ Internet-Draft Brotli December 2015 d0b8d0b7d0bcd0b5d0bdd0b5d0bdd0b8d18fd0bad0b0d182d0b5d0b3d0bed180 d0b8d0b8d090d0bbd0b5d0bad181d0b0d0bdd0b4d180e0a4a6e0a58de0a4b5e0 a4bee0a4b0e0a4bee0a4aee0a588e0a4a8e0a581e0a485e0a4b2e0a4aae0a58d + + + +Alakuijala & Szabadka Expires October 19, 2016 [Page 113] + +Internet-Draft Brotli April 2016 + + e0a4b0e0a4a6e0a4bee0a4a8e0a4ade0a4bee0a4b0e0a4a4e0a580e0a4afe0a4 85e0a4a8e0a581e0a4a6e0a587e0a4b6e0a4b9e0a4bfe0a4a8e0a58de0a4a6e0 a580e0a487e0a482e0a4a1e0a4bfe0a4afe0a4bee0a4a6e0a4bfe0a4b2e0a58d @@ -6156,14 +6353,6 @@ Internet-Draft Brotli December 2015 e0a4b0e0a587e0a4a3e0a580e0a4b6e0a4bfe0a495e0a58de0a4b7e0a4bee0a4 b8e0a4b0e0a495e0a4bee0a4b0e0a580e0a4b8e0a482e0a497e0a58de0a4b0e0 a4b9e0a4aae0a4b0e0a4bfe0a4a3e0a4bee0a4aee0a4ace0a58de0a4b0e0a4be - - - -Alakuijala & Szabadka Expires June 10, 2016 [Page 110] - -Internet-Draft Brotli December 2015 - - e0a482e0a4a1e0a4ace0a49ae0a58de0a49ae0a58be0a482e0a489e0a4aae0a4 b2e0a4ace0a58de0a4a7e0a4aee0a482e0a4a4e0a58de0a4b0e0a580e0a4b8e0 a482e0a4aae0a4b0e0a58de0a495e0a489e0a4aee0a58de0a4aee0a580e0a4a6 @@ -6191,6 +6380,14 @@ Internet-Draft Brotli December 2015 61626c652063656c6c70616464696e673d226175746f636f6d706c6574653d22 6f66662220746578742d616c69676e3a2063656e7465723b746f206c61737420 76657273696f6e206279206261636b67726f756e642d636f6c6f723a20232220 + + + +Alakuijala & Szabadka Expires October 19, 2016 [Page 114] + +Internet-Draft Brotli April 2016 + + 687265663d22687474703a2f2f7777772e2f6469763e3c2f6469763e3c646976 2069643d3c6120687265663d22232220636c6173733d22223e3c696d67207372 633d22687474703a2f2f637269707422207372633d22687474703a2f2f0a3c73 @@ -6212,14 +6409,6 @@ Internet-Draft Brotli December 2015 6c6f706d656e74206f662074796c6573686565742220747970653d2274656874 6d6c3b20636861727365743d7574662d38697320636f6e736964657265642074 6f2062657461626c652077696474683d22313030252220496e20616464697469 - - - -Alakuijala & Szabadka Expires June 10, 2016 [Page 111] - -Internet-Draft Brotli December 2015 - - 6f6e20746f2074686520636f6e747269627574656420746f2074686520646966 666572656e636573206265747765656e646576656c6f706d656e74206f662074 686520497420697320696d706f7274616e7420746f203c2f7363726970743e0a @@ -6247,6 +6436,14 @@ Internet-Draft Brotli December 2015 222f436f6c756d62696120556e6976657273697479657870616e64656420746f 20696e636c756465757375616c6c7920726566657272656420746f696e646963 6174696e67207468617420746865686176652073756767657374656420746861 + + + +Alakuijala & Szabadka Expires October 19, 2016 [Page 115] + +Internet-Draft Brotli April 2016 + + 74616666696c6961746564207769746820746865636f7272656c6174696f6e20 6265747765656e6e756d626572206f6620646966666572656e743e3c2f74643e 3c2f74723e3c2f7461626c653e52657075626c6963206f66204972656c616e64 @@ -6268,14 +6465,6 @@ Internet-Draft Brotli December 2015 2074686520657863657074696f6e7175657374696f6e732061626f7574207468 6570617373696e67207468726f7567682074686530222063656c6c7061646469 6e673d2230222074686f7573616e6473206f662070656f706c65726564697265 - - - -Alakuijala & Szabadka Expires June 10, 2016 [Page 112] - -Internet-Draft Brotli December 2015 - - 63747320686572652e20466f7268617665206368696c6472656e20756e646572 2533452533432f7363726970742533452229293b3c6120687265663d22687474 703a2f2f7777772e3c6c693e3c6120687265663d22687474703a2f2f73697465 @@ -6303,6 +6492,14 @@ Internet-Draft Brotli December 2015 6f6e222068363e3c756c3e3c6c693e3c6120687265663d2220203c6d65746120 687474702d65717569763d2263737322206d656469613d2273637265656e2220 726573706f6e7369626c6520666f7220746865202220747970653d226170706c + + + +Alakuijala & Szabadka Expires October 19, 2016 [Page 116] + +Internet-Draft Brotli April 2016 + + 69636174696f6e2f22207374796c653d226261636b67726f756e642d68746d6c 3b20636861727365743d7574662d382220616c6c6f777472616e73706172656e 63793d227374796c6573686565742220747970653d2274650d0a3c6d65746120 @@ -6324,14 +6521,6 @@ Internet-Draft Brotli December 2015 6173696e67206e756d6265726469706c6f6d617469632072656c6174696f6e73 617265206f6674656e20636f6e736964657265646d6574612063686172736574 3d227574662d3822203c696e70757420747970653d227465787422206578616d - - - -Alakuijala & Szabadka Expires June 10, 2016 [Page 113] - -Internet-Draft Brotli December 2015 - - 706c657320696e636c75646520746865223e3c696d67207372633d2268747470 3a2f2f6970617274696369706174696f6e20696e207468657468652065737461 626c6973686d656e74206f660a3c2f6469763e0a3c64697620636c6173733d22 @@ -6359,6 +6548,14 @@ Internet-Draft Brotli December 2015 d181d0bad0bed0b9d0bcd0b0d182d0b5d180d0b8d0b0d0bbd0bed0b2d0b8d0bd d184d0bed180d0bcd0b0d186d0b8d0b8d183d0bfd180d0b0d0b2d0bbd0b5d0bd d0b8d18fd0bdd0b5d0bed0b1d185d0bed0b4d0b8d0bcd0bed0b8d0bdd184d0be + + + +Alakuijala & Szabadka Expires October 19, 2016 [Page 117] + +Internet-Draft Brotli April 2016 + + d180d0bcd0b0d186d0b8d18fd098d0bdd184d0bed180d0bcd0b0d186d0b8d18f d0a0d0b5d181d0bfd183d0b1d0bbd0b8d0bad0b8d0bad0bed0bbd0b8d187d0b5 d181d182d0b2d0bed0b8d0bdd184d0bed180d0bcd0b0d186d0b8d18ed182d0b5 @@ -6380,14 +6577,6 @@ Internet-Draft Brotli December 2015 3d2231222077696474683d2231222050656f706c6527732052657075626c6963 206f6620203c6120687265663d22687474703a2f2f7777772e746578742d6465 636f726174696f6e3a756e64657274686520626567696e6e696e67206f662074 - - - -Alakuijala & Szabadka Expires June 10, 2016 [Page 114] - -Internet-Draft Brotli December 2015 - - 6865203c2f6469763e0a3c2f6469763e0a3c2f6469763e0a65737461626c6973 686d656e74206f6620746865203c2f6469763e3c2f6469763e3c2f6469763e3c 2f642376696577706f72747b6d696e2d6865696768743a0a3c73637269707420 @@ -6415,6 +6604,14 @@ Internet-Draft Brotli December 2015 e0a4bee0a4aae0a58de0a4a4e0a4aee0a4bee0a4b2e0a4bfe0a495e0a58be0a4 82e0a4b0e0a4abe0a4bce0a58de0a4a4e0a4bee0a4b0e0a4a8e0a4bfe0a4b0e0 a58de0a4aee0a4bee0a4a3e0a4b2e0a4bfe0a4aee0a4bfe0a49fe0a587e0a4a1 + + + +Alakuijala & Szabadka Expires October 19, 2016 [Page 118] + +Internet-Draft Brotli April 2016 + + 6465736372697074696f6e2220636f6e74656e743d22646f63756d656e742e6c 6f636174696f6e2e70726f742e676574456c656d656e747342795461674e616d 65283c21444f43545950452068746d6c3e0a3c68746d6c203c6d657461206368 @@ -6436,14 +6633,6 @@ Internet-Draft Brotli December 2015 70757420747970653d2268696464656e22206c616e67756167653d224a617661 536372697074222020646f63756d656e742e676574456c656d656e747342673d 2230222063656c6c73706163696e673d223022207970653d22746578742f6373 - - - -Alakuijala & Szabadka Expires June 10, 2016 [Page 115] - -Internet-Draft Brotli December 2015 - - 7322206d656469613d22747970653d27746578742f6a61766173637269707427 776974682074686520657863657074696f6e206f66207970653d22746578742f 637373222072656c3d227374206865696768743d2231222077696474683d2231 @@ -6471,6 +6660,14 @@ Internet-Draft Brotli December 2015 636f6e74656e743d22746578742f3c6d65746120687474702d65717569763d22 436f6e746572616e736974696f6e616c2f2f454e222022687474703a3c68746d 6c20786d6c6e733d22687474703a2f2f7777772d2f2f5733432f2f4454442058 + + + +Alakuijala & Szabadka Expires October 19, 2016 [Page 119] + +Internet-Draft Brotli April 2016 + + 48544d4c20312e3020544454442f7868746d6c312d7472616e736974696f6e61 6c2f2f7777772e77332e6f72672f54522f7868746d6c312f7065203d20277465 78742f6a617661736372697074273b3c6d657461206e616d653d226465736372 @@ -6492,14 +6689,6 @@ Internet-Draft Brotli December 2015 277363726970742729696e70757420747970653d2268696464656e22206e616d 3c73637269707420747970653d22746578742f6a6176617322207374796c653d 22646973706c61793a6e6f6e653b223e646f63756d656e742e676574456c656d - - - -Alakuijala & Szabadka Expires June 10, 2016 [Page 116] - -Internet-Draft Brotli December 2015 - - 656e7442794964283d646f63756d656e742e637265617465456c656d656e7428 2720747970653d27746578742f6a61766173637269707427696e707574207479 70653d227465787422206e616d653d22642e676574456c656d656e7473427954 @@ -6527,6 +6716,14 @@ Internet-Draft Brotli December 2015 bit-depth array: NDBITS := 0, 0, 0, 0, 10, 10, 11, 11, 10, 10, + + + +Alakuijala & Szabadka Expires October 19, 2016 [Page 120] + +Internet-Draft Brotli April 2016 + + 10, 10, 10, 9, 9, 8, 7, 7, 8, 7, 7, 6, 6, 5, 5 @@ -6548,14 +6745,6 @@ zlib CRC is 0x3d965f81. ID Prefix Transform Suffix -- ------ --------- ------ - - - -Alakuijala & Szabadka Expires June 10, 2016 [Page 117] - -Internet-Draft Brotli December 2015 - - 0 "" Identity "" 1 "" Identity " " 2 " " Identity " " @@ -6583,6 +6772,14 @@ Internet-Draft Brotli December 2015 24 "" Identity "]" 25 "" Identity " for " 26 "" OmitFirst3 "" + + + +Alakuijala & Szabadka Expires October 19, 2016 [Page 121] + +Internet-Draft Brotli April 2016 + + 27 "" OmitLast2 "" 28 "" Identity " a " 29 "" Identity " that " @@ -6604,14 +6801,6 @@ Internet-Draft Brotli December 2015 45 "" Identity " on " 46 "" Identity " as " 47 "" Identity " is " - - - -Alakuijala & Szabadka Expires June 10, 2016 [Page 118] - -Internet-Draft Brotli December 2015 - - 48 "" OmitLast7 "" 49 "" OmitLast1 "ing " 50 "" Identity "\n\t" @@ -6639,6 +6828,14 @@ Internet-Draft Brotli December 2015 72 ".com/" Identity "" 73 " the " Identity " of the " 74 "" UppercaseFirst "'" + + + +Alakuijala & Szabadka Expires October 19, 2016 [Page 122] + +Internet-Draft Brotli April 2016 + + 75 "" Identity ". This " 76 "" Identity "," 77 "." Identity " " @@ -6660,14 +6857,6 @@ Internet-Draft Brotli December 2015 93 "" Identity "less " 94 "" UppercaseAll "'" 95 "" Identity "est " - - - -Alakuijala & Szabadka Expires June 10, 2016 [Page 119] - -Internet-Draft Brotli December 2015 - - 96 " " UppercaseFirst "." 97 "" UppercaseAll "\">" 98 " " Identity "='" @@ -6695,6 +6884,14 @@ Internet-Draft Brotli December 2015 120 " " UppercaseFirst "='" + + + +Alakuijala & Szabadka Expires October 19, 2016 [Page 123] + +Internet-Draft Brotli April 2016 + + Authors' Addresses Jyrki Alakuijala @@ -6719,5 +6916,32 @@ Authors' Addresses -Alakuijala & Szabadka Expires June 10, 2016 [Page 120] + + + + + + + + + + + + + + + + + + + + + + + + + + + +Alakuijala & Szabadka Expires October 19, 2016 [Page 124]