=========================================================================

Apache FreeMarker Docgen
Copyright 2015 The Apache Software Foundation

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

=========================================================================

This product includes icons from Entypo pictograms, version 2.0,
by Daniel Bruce (http://www.entypo.com/, http://www.danielbruce.se/),
licensed under Creative Commons Attribution-ShareAlike 3.0 (CC BY-SA 3.0)
(http://creativecommons.org/licenses/by-sa/3.0/legalcode) and under SIL
Open Font License 1.1 (http://scripts.sil.org/OFL).

=========================================================================

This product includes icons from Font Awesome by Dave Gandy
(http://fontawesome.io), licensed under SIL Open Font License 1.1
(http://scripts.sil.org/OFL).

=========================================================================

This product includes icons from Material Design icons by Google
(http://google.github.io/material-design-icons/), licensed under
Creative Common Attribution 4.0 International License (CC-BY 4.0)
(https://creativecommons.org/licenses/by/4.0/).

=========================================================================

This product includes the DocBook V5.0 RELAX NG schema, Copyright
1992-2008 HaL Computer Systems, Inc., O'Reilly & Associates, Inc.,
ArborText, Inc., Fujitsu Software Corporation, Norman Walsh, Sun
Microsystems, Inc., and the Organization for the Advancement of
Structured Information Standards (OASIS). See license details in the
LICENSE-DOCBOOK-RNG file.

=========================================================================
