code: func (c *Compressor) writeVarUint(u uint32) error {
  	buf := make([]byte, 1)
  
  	for {
  		buf[0] = byte(u & 0x7F)
  		u >>= 7
  
  		if u != 0 {
  			buf[0] |= 0x80
  		}
  		n, err := c.w.Write(buf)
  		if err != nil {
  			return err
  		}
  		c.outSize += n
  		if u == 0 {
  			break
  		}
  	}
  	return nil
  }
docs: // File format:
  //
  // A section of uncompressed data is written with a length value
  // preceding it. The length is a base 128 number (a varint) with the
  // same encoding Google Protocol Buffers uses.
  //
  // A compression section starts with a 0 (since no uncompressed
  // section can have zero length) followed by a pair of varints giving
  // the offset and length of the region to be copied.
  // writeVarUInt: writes out a variable integer which used base 128
  // in the style of Google Protocol Buffers.