This source tree contains third party source code which is governed by third
party licenses. This file contains references to files which are under other
licenses than the one provided in the COPYING file in the root of the source
tree.

Files governed by third party licenses:

Governed by license within files (Public domain):
Exact origin unknown
base/base64.c
base/base64.h

Governed by http://www.fourmilab.ch/md5/ (Public domain):
base/md5.c
base/md5.h

Governed by http://www.boost.org/LICENSE_1_0.txt (Boost license):
base/scoped_ptr.h

Governed by license within files (Public domain):
Originally downloaded from http://svn.ghostscript.com/jbig2dec/tags/release_0_02/sha1.*
base/sha1.c
base/sha1.h

Governed by http://sigslot.sourceforge.net/#license (Public domain):
base/sigslot.h

Governed by http://www.freedesktop.org/wiki/Software/systemd (LGPL 2.1+):
third_party/libudev/libudev.h