Apache Yetus
Copyright 2008-2015 The Apache Software Foundation

This product includes software developed at
The Apache Software Foundation (http://www.apache.org/).

---
This project includes portions of the following projects:

* Bootstrap: Copyright (c) 2011-2015 Twitter, Inc
* GLYPHICONS FREE: Copyright (c) 2010-2015 Jan Kovarik
* Font Awesome: Copyright (c) 2015 Dave Gandy
* JQuery: Copyright jQuery Foundation and other contributors

See LICENSE for terms.
