Copyright (C) <year> <copyright holder>

Permission is granted to make and distribute verbatim copies of this
manual provided the copyright notice and this permission notice are
preserved on all copies.

[Permission is granted to process this file through TeX and print the
results, provided the printed document carries copying permission
notice identical to this one except for the removal of this paragraph
(this paragraph not being relevant to the printed manual).]

Permission is granted to copy and distribute modified versions of this
manual under the conditions for verbatim copying, [provided also that
the section entitled ["GNU General Public License"] ["Copying"] is
included exactly as in the original, and] provided that the entire
resulting derived work is distributed under the terms of a permission
notice identical to this one.

[Permission is granted to copy and distribute translations of this
manual into another language, under the above conditions for modified
versions, except that [this permission notice may be stated] [the
section entitled "GNU General Public License" may be included] in a
translation approved by the [Free Software] Foundation [instead of in
the original English].]
