.\" Copyright (c) 1991, 1993
.\"   The Regents of the University of California.  All rights reserved.
.\"
.\" Copyright (C) 1999-2025 Free Software Foundation, Inc.
.\"
.\" Redistribution and use in source and binary forms, with or without
.\" modification, are permitted provided that the following conditions
.\" are met:
.\" 1. Redistributions of source code must retain the above copyright
.\"    notice, this list of conditions and the following disclaimer.
.\" 2. Redistributions in binary form must reproduce the above copyright
.\"    notice, this list of conditions and the following disclaimer in
.\"    the documentation and/or other materials provided with the
.\"    distribution.
.\" 3. [Deleted.  See
.\"     ftp://ftp.cs.berkeley.edu/pub/4bsd/README.Impt.License.Change]
.\" 4. Neither the name of the University nor the names of its
.\"    contributors may be used to endorse or promote products derived
.\"    from this software without specific prior written permission.
.\"
.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS "AS IS"
.\" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
.\" TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A
.\" PARTICULAR PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR
.\" CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
.\" SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
.\" LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
.\" USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
.\" ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
.\" OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
.\" OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
.\" SUCH DAMAGE.
.\"
.\"     @(#)doc-common	8.1 (Berkeley) 06/08/93
.
.
.\" The following strings are part of mdoc(7)'s documented interface.
.ds <= \[<=]
.ds >= \[>=]
.ds aa \[aa]
.ds ga \[ga]
.ds q \[dq]
.ds Lq \[lq]
.ds Rq \[rq]
.ds Ne \[!=]
.ds Le \[<=]
.ds Ge \[>=]
.ds Lt <
.ds Gt >
.ds Pm \[+-]
.ds Am &
.ds Na \f[I]NaN\f[]
.ds Ba \f[R]|\f[]
.\" See doc-{ditroff,nroff} for `ua`, `Pi`, and `If`.
.
.\" Macro Identifiers.  For each user macro a corresponding register
.\" with the same name must exist.  Its value must not be zero.
.
.nr %A 1
.nr %B 1
.nr %C 1
.nr %D 1
.nr %I 1
.nr %J 1
.nr %N 1
.nr %O 1
.nr %P 1
.nr %Q 1
.nr %R 1
.nr %T 1
.nr %U 1
.nr %V 1
.nr Ac 3
.nr Ad 12n
.nr An 12n
.nr Ao 12n
.nr Ap 2
.nr Aq 12n
.nr Ar 12n
.nr At 1
.nr Bc 3
.nr Bf 8n\" ?
.nr Bk 8n\" ?
.nr Bl 1
.nr Bo 12n
.nr Bq 12n
.nr Brc 3
.nr Bro 12n
.nr Brq 12n
.nr Bsx 1
.nr Bt 8n\" ?
.nr Bx 1
.nr Cd 12n
.nr Cm 10n
.nr D1 8n\" ?
.nr Dc 3
.nr Dl 8n\" ?
.nr Dt 8n\" ?
.nr Do 12n
.nr Dq 12n
.nr Ds 6n\" many manpages still use this as a -width value
.nr Dv 12n
.nr Dx 1
.nr Ec 3
.nr Ef 8n\" ?
.nr Ek 8n\" ?
.nr El 1
.nr Em 10n
.nr En 12n
.nr Eo 12n
.nr Eq 12n
.nr Er 17n
.nr Es 12n
.nr Ev 15n
.nr Ex 1
.nr Fa 12n
.nr Fc 3
.nr Fd 12n\" ?
.nr Fl 10n
.nr Fn 16n
.nr Fo 16n
.nr Fr 12n\" ?
.nr Ft 8n\" ?
.nr Fx 1
.nr Ic 10n
.nr In 12n
.nr It 8n\" ?
.nr Lb 11n
.nr Li 16n
.nr Lk 6n\" ?
.nr Lp 8n\" ?
.nr Me 6n
.nr Ms 6n
.nr Mt 6n\" ?
.nr Nd 8n\" ?
.nr Nm 10n
.nr No 12n
.nr Ns 2
.nr Nx 1
.nr Oc 3
.nr Oo 10n
.nr Op 14n
.nr Os 6n\" ?
.nr Ox 1
.nr Pa 32n
.nr Pc 3
.nr Pf 12n
.nr Po 12n
.nr Pp 8n\" ?
.nr Pq 12n
.nr Qc 3
.nr Ql 16n
.nr Qo 12n
.nr Qq 12n
.nr Rv 1
.nr Sc 3
.nr Sh 8n
.nr Sm 8n\" ?
.nr So 12n
.nr Sq 12n
.nr Ss 8n
.nr St 8n\" ?
.nr Sx 16n
.nr Sy 6n
.nr Ta 2
.nr Tn 10n
.nr Ud 8n\" ?
.nr Ux 1
.nr Va 12n
.nr Vt 8n\" ?
.nr Xc 3
.nr Xo 1
.nr Xr 10n
.
.
.\" macros which must be processed after the closing delimiter of 'Op'
.\" and friends
.ds doc-after-Ao
.ds doc-after-Bo
.ds doc-after-Bro
.ds doc-after-Do
.ds doc-after-Eo
.ds doc-after-Fo
.ds doc-after-Ns
.ds doc-after-Oo
.ds doc-after-Po
.ds doc-after-Qo
.ds doc-after-So
.ds doc-after-Xo
.
.
.nr doc-display-indent 6n
.
.
.\" space strings
.
.ds doc-soft-space " \"
.ds doc-hard-space \~
.ds doc-tab \t
.
.
.\" punctuation values (suffix=3, prefix=4)
.
.nr doc-punct. 3
.nr doc-punct, 3
.nr doc-punct: 3
.nr doc-punct; 3
.nr doc-punct( 4
.nr doc-punct) 3
.nr doc-punct[ 4
.nr doc-punct] 3
.nr doc-punct? 3
.nr doc-punct! 3
.
.\" Macros that are part of the external interface (Dd, Sh, Pp, etc.) or
.\" that are called by traps of any kind must be defined with `de1`
.\" because they might be called from a context where compatibility mode
.\" is enabled.  For other macros, `de` suffices.
.
.eo
.de1 doc-bp
.  if \n[.br] .br
..
.ec
.
.
.\" In continuous rendering mode, make page breaks less potent and the
.\" page length "infinite".
.if \n[cR] \{\
.  rn bp doc-real-bp
.  rn doc-bp bp
.  pl \n[.R]u/1v
.\}
.
.
.\" header assembly macros
.
.\" NS doc-page-identifier global string
.\" NS   the title of the manual page
.
.ds doc-page-identifier UNTITLED\"
.
.
.\" NS doc-volume global string
.\" NS   the volume to which the manual page belongs
.
.ds doc-volume LOCAL\"
.
.
.\" NS doc-section global string
.\" NS   the manual section (1, 2, 3, ..., 3perl, 9)
.
.ds doc-section \" empty
.
.
.\" NS doc-set-up-titles macro
.\" NS   install and initialize header and footer support
.\" NS
.\" NS local variables:
.\" NS   doc-footer-location
.
.eo
.de doc-set-up-titles
.  br
.
.  if !\n[cR] \{\
.    wh 0 doc-header
.    ie r FT .nr doc-footer-location \n[FT]
.    el      .nr doc-footer-location (-.5i - 1v)
.    wh \n[doc-footer-location]u doc-footer
.    wh (\n[doc-footer-location]u - .5i) doc-break-body-text
.    rr doc-footer-location
.  \}
..
.ec
.
.
.\" NS doc-date-string global string
.\" NS   the manual page date as set by 'Dd'
.
.ds doc-date-string UNDATED\"
.
.
.\" NS Dd user macro (not parsed, not callable)
.\" NS   set document date
.\" NS
.\" NS modifies:
.\" NS   doc-date-string
.\" NS
.\" NS width register 'Dd' set above
.
.eo
.de Dd
.  \" If batch processing (rendering multiple) man page documents, we
.  \" must handle the end of a previous document.
.  \"
.  \" If also continuously rendering, cause a page transition to a new
.  \" mdoc(7) document.
.  if \n[doc-end-previous-document] \{\
.    if \n[cR] .doc-end-document
.
.    \" Clear the page header trap so it is not sprung with stale
.    \" information.
.    ch doc-header
.    if !\n[cR] .doc-break-page-with-new-number
.  \}
.  if \n[C] .rr P
.
.  \" When rendering multiple documents, we want to clear any page-local
.  \" manipulation of hyphenation and adjustment modes from the previous
.  \" document.
.  rr HY
.  rm AD
.
.  doc-reset-titles
.  doc-reset-hyphenation-mode \n[andoc*HY]
.  doc-reset-adjustment-mode \*[andoc*AD]
.
.  if !\n[.$] \
.    doc-warn .Dd directive expects an argument
.  if \n[.$] \{\
.    ie "\$1"$Mdocdate:" .ds doc-date-string \$2\~\$3, \$4\"
.    el                  .ds doc-date-string \$*\"
.  \}
..
.ec
.
.
.\" NS Dt user macro (not parsed, not callable)
.\" NS   document title
.\" NS
.\" NS modifies:
.\" NS   doc-page-identifier
.\" NS   doc-section
.\" NS   doc-volume
.\" NS
.\" NS local variables:
.\" NS   doc-volume-as-XXX
.\" NS   doc-volume-ds-XXX
.\" NS
.\" NS width register 'Dt' set above
.
.\" an alternative, more detailed scheme for naming the manual sections
.\"
.ds doc-volume-ds-1 General Commands Manual
.ds doc-volume-ds-2 System Calls Manual
.ds doc-volume-ds-3 Library Functions Manual
.ds doc-volume-ds-4 Kernel Interfaces Manual
.ds doc-volume-ds-5 File Formats Manual
.ds doc-volume-ds-6 Games Manual
.ds doc-volume-ds-7 Miscellaneous Information Manual
.ds doc-volume-ds-8 System Manager's Manual
.ds doc-volume-ds-9 Kernel Developer's Manual
.
.ds doc-volume-ds-USD   User's Supplementary Documents
.ds doc-volume-ds-PS1   Programmer's Supplementary Documents
.ds doc-volume-ds-AMD   Ancestral Manual Documents
.ds doc-volume-ds-SMM   System Manager's Manual
.ds doc-volume-ds-URM   User's Reference Manual
.ds doc-volume-ds-PRM   Programmer's Manual
.ds doc-volume-ds-KM    Kernel Manual
.ds doc-volume-ds-IND   Manual Master Index
.ds doc-volume-ds-LOCAL Local Manual
.ds doc-volume-ds-CON   Contributed Software Manual
.
.als doc-volume-ds-MMI doc-volume-ds-IND
.als doc-volume-ds-LOC doc-volume-ds-LOCAL
.
.ds doc-volume-as-alpha        alpha
.als doc-volume-as-Alpha doc-volume-as-alpha
.ds doc-volume-as-acorn26      acorn26
.ds doc-volume-as-acorn32      acorn32
.ds doc-volume-as-algor        algor
.ds doc-volume-as-amd64        amd64
.ds doc-volume-as-amiga        amiga
.ds doc-volume-as-amigappc     amigappc
.ds doc-volume-as-arc          arc
.ds doc-volume-as-arm          arm
.ds doc-volume-as-arm26        arm26
.ds doc-volume-as-arm32        arm32
.ds doc-volume-as-armish       armish
.ds doc-volume-as-atari        atari
.ds doc-volume-as-aviion       aviion
.ds doc-volume-as-beagle       beagle
.ds doc-volume-as-bebox        bebox
.ds doc-volume-as-cats         cats
.ds doc-volume-as-cesfic       cesfic
.ds doc-volume-as-cobalt       cobalt
.ds doc-volume-as-dreamcast    dreamcast
.ds doc-volume-as-emips        emips
.ds doc-volume-as-evbarm       evbarm
.ds doc-volume-as-evbmips      evbmips
.ds doc-volume-as-evbppc       evbppc
.ds doc-volume-as-evbsh3       evbsh3
.ds doc-volume-as-ews4800mips  ews4800mips
.ds doc-volume-as-hp300        hp300
.ds doc-volume-as-hp700        hp700
.ds doc-volume-as-hpcarm       hpcarm
.ds doc-volume-as-hpcmips      hpcmips
.ds doc-volume-as-hpcsh        hpcsh
.ds doc-volume-as-hppa         hppa
.ds doc-volume-as-hppa64       hppa64
.ds doc-volume-as-i386         i386
.ds doc-volume-as-ia64         ia64
.ds doc-volume-as-ibmnws       ibmnws
.ds doc-volume-as-iyonix       iyonix
.ds doc-volume-as-landisk      landisk
.ds doc-volume-as-loongson     loongson
.ds doc-volume-as-luna68k      luna68k
.ds doc-volume-as-luna88k      luna88k
.ds doc-volume-as-m68k         m68k
.ds doc-volume-as-mac68k       mac68k
.ds doc-volume-as-macppc       macppc
.ds doc-volume-as-mips         mips
.ds doc-volume-as-mips64       mips64
.ds doc-volume-as-mipsco       mipsco
.ds doc-volume-as-mmeye        mmeye
.ds doc-volume-as-mvme68k      mvme68k
.ds doc-volume-as-mvme88k      mvme88k
.ds doc-volume-as-mvmeppc      mvmeppc
.ds doc-volume-as-netwinder    netwinder
.ds doc-volume-as-news68k      news68k
.ds doc-volume-as-newsmips     newsmips
.ds doc-volume-as-next68k      next68k
.ds doc-volume-as-ofppc        ofppc
.ds doc-volume-as-palm         palm
.ds doc-volume-as-pc532        pc532
.ds doc-volume-as-playstation2 playstation2
.ds doc-volume-as-pmax         pmax
.ds doc-volume-as-pmppc        pmppc
.ds doc-volume-as-powerpc      powerpc
.ds doc-volume-as-prep         prep
.ds doc-volume-as-rs6000       rs6000
.ds doc-volume-as-sandpoint    sandpoint
.ds doc-volume-as-sbmips       sbmips
.ds doc-volume-as-sgi          sgi
.ds doc-volume-as-sgimips      sgimips
.ds doc-volume-as-sh3          sh3
.ds doc-volume-as-shark        shark
.ds doc-volume-as-socppc       socppc
.ds doc-volume-as-solbourne    solbourne
.ds doc-volume-as-sparc        sparc
.ds doc-volume-as-sparc64      sparc64
.ds doc-volume-as-sun2         sun2
.ds doc-volume-as-sun3         sun3
.ds doc-volume-as-tahoe        tahoe
.ds doc-volume-as-vax          vax
.ds doc-volume-as-x68k         x68k
.ds doc-volume-as-x86_64       x86_64
.ds doc-volume-as-xen          xen
.ds doc-volume-as-zaurus       zaurus
.
.eo
.de Dt
.  if !\n[.$] \
.    doc-warn .Dt directive expects one or more arguments
.  if !"\$1"" \
.    ds doc-page-identifier "\$1
.
.  if \n[CT] \
.    stringup doc-page-identifier
.
.  if !"\$2"" \{\
.    ds doc-section \$2
.    ie \B'\$2' \{\
.      if ((\$2 >= 1) & (\$2 <= 9)) \{\
.        ds doc-volume \" empty (not "LOCAL")
.        if \A'\$3' \{\
.          if d doc-volume-as-\$3 \
.            as doc-volume "\*[doc-volume-as-\$3]
.          \}
.        as doc-volume " \*[doc-volume-ds-\$2]
.      \}
.    \}
.    el \{\
.      ie "\$2"unass" \
.        ds doc-volume DRAFT
.      el \{ .ie "\$2"draft" \
.        ds doc-volume DRAFT
.      el .if "\$2"paper" \
.        ds doc-volume UNTITLED
.      \}
.   \}
.   if \A'\$3' \{\
.     if d doc-volume-ds-\$3 \
.       ds doc-volume "\*[doc-volume-ds-\$3]
.   \}
. \}
.
.  if !"\$3"" \
.    if "\*[doc-volume]"LOCAL" \
.      ds doc-volume \$3
..
.ec
.
.
.\" NS doc-default-operating-system global string
.\" NS   the default OS to associate with man pages
.\" NS
.\" NS override this in 'mdoc.local', if necessary
.
.ds doc-default-operating-system GNU\"
.
.
.\" NS doc-operating-system global string
.\" NS   the OS or software project associated with the man page
.
.ds doc-operating-system \" empty
.
.
.\" NS Os user macro (not parsed, not callable)
.\" NS   operating system
.\" NS
.\" NS modifies:
.\" NS   doc-operating-system
.\" NS
.\" NS local variables:
.\" NS   doc-operating-system-XXX-XXX
.\" NS   doc-page-tag
.\" NS
.\" NS width register 'Os' set above
.
.ds doc-operating-system-ATT-7   7th\~Edition
.als doc-operating-system-ATT-7th doc-operating-system-ATT-7
.ds doc-operating-system-ATT-3   System\~III
.als doc-operating-system-ATT-III doc-operating-system-ATT-3
.ds doc-operating-system-ATT-V   System\~V
.ds doc-operating-system-ATT-V.2 System\~V Release\~2
.ds doc-operating-system-ATT-V.3 System\~V Release\~3
.ds doc-operating-system-ATT-V.4 System\~V Release\~4
.
.ds doc-operating-system-BSD-3    3rd\~Berkeley Distribution
.ds doc-operating-system-BSD-4    4th\~Berkeley Distribution
.ds doc-operating-system-BSD-4.1  4.1\~Berkeley Distribution
.ds doc-operating-system-BSD-4.2  4.2\~Berkeley Distribution
.ds doc-operating-system-BSD-4.3  4.3\~Berkeley Distribution
.ds doc-operating-system-BSD-4.3T 4.3-Tahoe Berkeley Distribution
.ds doc-operating-system-BSD-4.3R 4.3-Reno Berkeley Distribution
.als doc-operating-system-BSD-4.3t doc-operating-system-BSD-4.3T
.als doc-operating-system-BSD-4.3r doc-operating-system-BSD-4.3R
.ds doc-operating-system-BSD-4.4  4.4BSD
.
.ds doc-operating-system-NetBSD-0.8   0.8
.ds doc-operating-system-NetBSD-0.8a  0.8A
.ds doc-operating-system-NetBSD-0.9   0.9
.ds doc-operating-system-NetBSD-0.9a  0.9A
.ds doc-operating-system-NetBSD-1.0   1.0
.ds doc-operating-system-NetBSD-1.0a  1.0A
.ds doc-operating-system-NetBSD-1.1   1.1
.ds doc-operating-system-NetBSD-1.2   1.2
.ds doc-operating-system-NetBSD-1.2a  1.2A
.ds doc-operating-system-NetBSD-1.2b  1.2B
.ds doc-operating-system-NetBSD-1.2c  1.2C
.ds doc-operating-system-NetBSD-1.2d  1.2D
.ds doc-operating-system-NetBSD-1.2e  1.2E
.ds doc-operating-system-NetBSD-1.3   1.3
.ds doc-operating-system-NetBSD-1.3a  1.3A
.ds doc-operating-system-NetBSD-1.4   1.4
.ds doc-operating-system-NetBSD-1.4.1 1.4.1
.ds doc-operating-system-NetBSD-1.4.2 1.4.2
.ds doc-operating-system-NetBSD-1.4.3 1.4.3
.ds doc-operating-system-NetBSD-1.5   1.5
.ds doc-operating-system-NetBSD-1.5.1 1.5.1
.ds doc-operating-system-NetBSD-1.5.2 1.5.2
.ds doc-operating-system-NetBSD-1.5.3 1.5.3
.ds doc-operating-system-NetBSD-1.6   1.6
.ds doc-operating-system-NetBSD-1.6.1 1.6.1
.ds doc-operating-system-NetBSD-1.6.2 1.6.2
.ds doc-operating-system-NetBSD-1.6.3 1.6.3
.ds doc-operating-system-NetBSD-2.0   2.0
.ds doc-operating-system-NetBSD-2.0.1 2.0.1
.ds doc-operating-system-NetBSD-2.0.2 2.0.2
.ds doc-operating-system-NetBSD-2.0.3 2.0.3
.ds doc-operating-system-NetBSD-2.1   2.1
.ds doc-operating-system-NetBSD-3.0   3.0
.ds doc-operating-system-NetBSD-3.0.1 3.0.1
.ds doc-operating-system-NetBSD-3.0.2 3.0.2
.ds doc-operating-system-NetBSD-3.0.3 3.0.3
.ds doc-operating-system-NetBSD-3.1   3.1
.ds doc-operating-system-NetBSD-3.1.1 3.1.1
.ds doc-operating-system-NetBSD-4.0   4.0
.ds doc-operating-system-NetBSD-4.0.1 4.0.1
.ds doc-operating-system-NetBSD-5.0   5.0
.ds doc-operating-system-NetBSD-5.0.1 5.0.1
.ds doc-operating-system-NetBSD-5.0.2 5.0.2
.ds doc-operating-system-NetBSD-5.1   5.1
.ds doc-operating-system-NetBSD-5.1.2 5.1.2
.ds doc-operating-system-NetBSD-5.1.3 5.1.3
.ds doc-operating-system-NetBSD-5.1.4 5.1.4
.ds doc-operating-system-NetBSD-5.2   5.2
.ds doc-operating-system-NetBSD-5.2.1 5.2.1
.ds doc-operating-system-NetBSD-5.2.2 5.2.2
.ds doc-operating-system-NetBSD-6.0   6.0
.ds doc-operating-system-NetBSD-6.0.1 6.0.1
.ds doc-operating-system-NetBSD-6.0.2 6.0.2
.ds doc-operating-system-NetBSD-6.0.3 6.0.3
.ds doc-operating-system-NetBSD-6.0.4 6.0.4
.ds doc-operating-system-NetBSD-6.0.5 6.0.5
.ds doc-operating-system-NetBSD-6.0.6 6.0.6
.ds doc-operating-system-NetBSD-6.1   6.1
.ds doc-operating-system-NetBSD-6.1.1 6.1.1
.ds doc-operating-system-NetBSD-6.1.2 6.1.2
.ds doc-operating-system-NetBSD-6.1.3 6.1.3
.ds doc-operating-system-NetBSD-6.1.4 6.1.4
.ds doc-operating-system-NetBSD-6.1.5 6.1.5
.ds doc-operating-system-NetBSD-7.0   7.0
.ds doc-operating-system-NetBSD-7.0.1 7.0.1
.ds doc-operating-system-NetBSD-7.0.2 7.0.2
.ds doc-operating-system-NetBSD-7.1   7.1
.ds doc-operating-system-NetBSD-7.1.1 7.1.1
.ds doc-operating-system-NetBSD-7.1.2 7.1.2
.ds doc-operating-system-NetBSD-7.2   7.2
.ds doc-operating-system-NetBSD-8.0   8.0
.ds doc-operating-system-NetBSD-8.1   8.1
.
.ds doc-operating-system-OpenBSD-2.0  2.0
.ds doc-operating-system-OpenBSD-2.1  2.1
.ds doc-operating-system-OpenBSD-2.2  2.2
.ds doc-operating-system-OpenBSD-2.3  2.3
.ds doc-operating-system-OpenBSD-2.4  2.4
.ds doc-operating-system-OpenBSD-2.5  2.5
.ds doc-operating-system-OpenBSD-2.6  2.6
.ds doc-operating-system-OpenBSD-2.7  2.7
.ds doc-operating-system-OpenBSD-2.8  2.8
.ds doc-operating-system-OpenBSD-2.9  2.9
.ds doc-operating-system-OpenBSD-3.0  3.0
.ds doc-operating-system-OpenBSD-3.1  3.1
.ds doc-operating-system-OpenBSD-3.2  3.2
.ds doc-operating-system-OpenBSD-3.3  3.3
.ds doc-operating-system-OpenBSD-3.4  3.4
.ds doc-operating-system-OpenBSD-3.5  3.5
.ds doc-operating-system-OpenBSD-3.6  3.6
.ds doc-operating-system-OpenBSD-3.7  3.7
.ds doc-operating-system-OpenBSD-3.8  3.8
.ds doc-operating-system-OpenBSD-3.9  3.9
.ds doc-operating-system-OpenBSD-4.0  4.0
.ds doc-operating-system-OpenBSD-4.1  4.1
.ds doc-operating-system-OpenBSD-4.2  4.2
.ds doc-operating-system-OpenBSD-4.3  4.3
.ds doc-operating-system-OpenBSD-4.4  4.4
.ds doc-operating-system-OpenBSD-4.5  4.5
.ds doc-operating-system-OpenBSD-4.6  4.6
.ds doc-operating-system-OpenBSD-4.7  4.7
.ds doc-operating-system-OpenBSD-4.8  4.8
.ds doc-operating-system-OpenBSD-4.9  4.9
.ds doc-operating-system-OpenBSD-5.0  5.0
.ds doc-operating-system-OpenBSD-5.1  5.1
.ds doc-operating-system-OpenBSD-5.2  5.2
.ds doc-operating-system-OpenBSD-5.3  5.3
.ds doc-operating-system-OpenBSD-5.4  5.4
.ds doc-operating-system-OpenBSD-5.5  5.5
.ds doc-operating-system-OpenBSD-5.6  5.6
.ds doc-operating-system-OpenBSD-5.7  5.7
.ds doc-operating-system-OpenBSD-5.8  5.8
.ds doc-operating-system-OpenBSD-5.9  5.9
.ds doc-operating-system-OpenBSD-6.0  6.0
.ds doc-operating-system-OpenBSD-6.1  6.1
.ds doc-operating-system-OpenBSD-6.2  6.2
.ds doc-operating-system-OpenBSD-6.3  6.3
.ds doc-operating-system-OpenBSD-6.4  6.4
.ds doc-operating-system-OpenBSD-6.5  6.5
.ds doc-operating-system-OpenBSD-6.6  6.6
.
.ds doc-operating-system-FreeBSD-1.0     1.0
.ds doc-operating-system-FreeBSD-1.1     1.1
.ds doc-operating-system-FreeBSD-1.1.5   1.1.5
.ds doc-operating-system-FreeBSD-1.1.5.1 1.1.5.1
.ds doc-operating-system-FreeBSD-2.0     2.0
.ds doc-operating-system-FreeBSD-2.0.5   2.0.5
.ds doc-operating-system-FreeBSD-2.1     2.1
.ds doc-operating-system-FreeBSD-2.1.5   2.1.5
.ds doc-operating-system-FreeBSD-2.1.6   2.1.6
.ds doc-operating-system-FreeBSD-2.1.7   2.1.7
.ds doc-operating-system-FreeBSD-2.2     2.2
.ds doc-operating-system-FreeBSD-2.2.1   2.2.1
.ds doc-operating-system-FreeBSD-2.2.2   2.2.2
.ds doc-operating-system-FreeBSD-2.2.5   2.2.5
.ds doc-operating-system-FreeBSD-2.2.6   2.2.6
.ds doc-operating-system-FreeBSD-2.2.7   2.2.7
.ds doc-operating-system-FreeBSD-2.2.8   2.2.8
.ds doc-operating-system-FreeBSD-2.2.9   2.2.9
.ds doc-operating-system-FreeBSD-3.0     3.0
.ds doc-operating-system-FreeBSD-3.1     3.1
.ds doc-operating-system-FreeBSD-3.2     3.2
.ds doc-operating-system-FreeBSD-3.3     3.3
.ds doc-operating-system-FreeBSD-3.4     3.4
.ds doc-operating-system-FreeBSD-3.5     3.5
.ds doc-operating-system-FreeBSD-4.0     4.0
.ds doc-operating-system-FreeBSD-4.1     4.1
.ds doc-operating-system-FreeBSD-4.1.1   4.1.1
.ds doc-operating-system-FreeBSD-4.2     4.2
.ds doc-operating-system-FreeBSD-4.3     4.3
.ds doc-operating-system-FreeBSD-4.4     4.4
.ds doc-operating-system-FreeBSD-4.5     4.5
.ds doc-operating-system-FreeBSD-4.6     4.6
.ds doc-operating-system-FreeBSD-4.6.2   4.6.2
.ds doc-operating-system-FreeBSD-4.7     4.7
.ds doc-operating-system-FreeBSD-4.8     4.8
.ds doc-operating-system-FreeBSD-4.9     4.9
.ds doc-operating-system-FreeBSD-4.10    4.10
.ds doc-operating-system-FreeBSD-4.11    4.11
.ds doc-operating-system-FreeBSD-5.0     5.0
.ds doc-operating-system-FreeBSD-5.1     5.1
.ds doc-operating-system-FreeBSD-5.2     5.2
.ds doc-operating-system-FreeBSD-5.2.1   5.2.1
.ds doc-operating-system-FreeBSD-5.3     5.3
.ds doc-operating-system-FreeBSD-5.4     5.4
.ds doc-operating-system-FreeBSD-5.5     5.5
.ds doc-operating-system-FreeBSD-6.0     6.0
.ds doc-operating-system-FreeBSD-6.1     6.1
.ds doc-operating-system-FreeBSD-6.2     6.2
.ds doc-operating-system-FreeBSD-6.3     6.3
.ds doc-operating-system-FreeBSD-6.4     6.4
.ds doc-operating-system-FreeBSD-7.0     7.0
.ds doc-operating-system-FreeBSD-7.1     7.1
.ds doc-operating-system-FreeBSD-7.2     7.2
.ds doc-operating-system-FreeBSD-7.3     7.3
.ds doc-operating-system-FreeBSD-7.4     7.4
.ds doc-operating-system-FreeBSD-8.0     8.0
.ds doc-operating-system-FreeBSD-8.1     8.1
.ds doc-operating-system-FreeBSD-8.2     8.2
.ds doc-operating-system-FreeBSD-8.3     8.3
.ds doc-operating-system-FreeBSD-8.4     8.4
.ds doc-operating-system-FreeBSD-9.0     9.0
.ds doc-operating-system-FreeBSD-9.1     9.1
.ds doc-operating-system-FreeBSD-9.2     9.2
.ds doc-operating-system-FreeBSD-9.3     9.3
.ds doc-operating-system-FreeBSD-10.0    10.0
.ds doc-operating-system-FreeBSD-10.1    10.1
.ds doc-operating-system-FreeBSD-10.2    10.2
.ds doc-operating-system-FreeBSD-10.3    10.3
.ds doc-operating-system-FreeBSD-10.4    10.4
.ds doc-operating-system-FreeBSD-11.0    11.0
.ds doc-operating-system-FreeBSD-11.1    11.1
.ds doc-operating-system-FreeBSD-11.2    11.2
.ds doc-operating-system-FreeBSD-11.3    11.3
.ds doc-operating-system-FreeBSD-12.0    12.0
.ds doc-operating-system-FreeBSD-12.1    12.1
.
.ds doc-operating-system-Darwin-8.0.0  8.0.0
.ds doc-operating-system-Darwin-8.1.0  8.1.0
.ds doc-operating-system-Darwin-8.2.0  8.2.0
.ds doc-operating-system-Darwin-8.3.0  8.3.0
.ds doc-operating-system-Darwin-8.4.0  8.4.0
.ds doc-operating-system-Darwin-8.5.0  8.5.0
.ds doc-operating-system-Darwin-8.6.0  8.6.0
.ds doc-operating-system-Darwin-8.7.0  8.7.0
.ds doc-operating-system-Darwin-8.8.0  8.8.0
.ds doc-operating-system-Darwin-8.9.0  8.9.0
.ds doc-operating-system-Darwin-8.10.0 8.10.0
.ds doc-operating-system-Darwin-8.11.0 8.11.0
.ds doc-operating-system-Darwin-9.0.0  9.0.0
.ds doc-operating-system-Darwin-9.1.0  9.1.0
.ds doc-operating-system-Darwin-9.2.0  9.2.0
.ds doc-operating-system-Darwin-9.3.0  9.3.0
.ds doc-operating-system-Darwin-9.4.0  9.4.0
.ds doc-operating-system-Darwin-9.5.0  9.5.0
.ds doc-operating-system-Darwin-9.6.0  9.6.0
.ds doc-operating-system-Darwin-9.7.0  9.7.0
.ds doc-operating-system-Darwin-9.8.0  9.8.0
.ds doc-operating-system-Darwin-10.0.0 10.0.0
.ds doc-operating-system-Darwin-10.1.0 10.1.0
.ds doc-operating-system-Darwin-10.2.0 10.2.0
.ds doc-operating-system-Darwin-10.3.0 10.3.0
.ds doc-operating-system-Darwin-10.4.0 10.4.0
.ds doc-operating-system-Darwin-10.5.0 10.5.0
.ds doc-operating-system-Darwin-10.6.0 10.6.0
.ds doc-operating-system-Darwin-10.7.0 10.7.0
.ds doc-operating-system-Darwin-10.8.0 10.8.0
.ds doc-operating-system-Darwin-11.0.0 11.0.0
.ds doc-operating-system-Darwin-11.1.0 11.1.0
.ds doc-operating-system-Darwin-11.2.0 11.2.0
.ds doc-operating-system-Darwin-11.3.0 11.3.0
.ds doc-operating-system-Darwin-11.4.0 11.4.0
.ds doc-operating-system-Darwin-11.5.0 11.5.0
.ds doc-operating-system-Darwin-12.0.0 12.0.0
.ds doc-operating-system-Darwin-12.1.0 12.1.0
.ds doc-operating-system-Darwin-12.2.0 12.2.0
.ds doc-operating-system-Darwin-13.0.0 13.0.0
.ds doc-operating-system-Darwin-13.1.0 13.1.0
.ds doc-operating-system-Darwin-13.2.0 13.2.0
.ds doc-operating-system-Darwin-13.3.0 13.3.0
.ds doc-operating-system-Darwin-13.4.0 13.4.0
.ds doc-operating-system-Darwin-14.0.0 14.0.0
.ds doc-operating-system-Darwin-14.1.0 14.1.0
.ds doc-operating-system-Darwin-14.2.0 14.2.0
.ds doc-operating-system-Darwin-14.3.0 14.3.0
.ds doc-operating-system-Darwin-14.4.0 14.4.0
.ds doc-operating-system-Darwin-14.5.0 14.5.0
.ds doc-operating-system-Darwin-15.0.0 15.0.0
.ds doc-operating-system-Darwin-15.1.0 15.1.0
.ds doc-operating-system-Darwin-15.2.0 15.2.0
.ds doc-operating-system-Darwin-15.3.0 15.3.0
.ds doc-operating-system-Darwin-15.4.0 15.4.0
.ds doc-operating-system-Darwin-15.5.0 15.5.0
.ds doc-operating-system-Darwin-15.6.0 15.6.0
.ds doc-operating-system-Darwin-16.0.0 16.0.0
.ds doc-operating-system-Darwin-16.1.0 16.1.0
.ds doc-operating-system-Darwin-16.2.0 16.2.0
.ds doc-operating-system-Darwin-16.3.0 16.3.0
.ds doc-operating-system-Darwin-16.4.0 16.4.0
.ds doc-operating-system-Darwin-16.5.0 16.5.0
.ds doc-operating-system-Darwin-16.6.0 16.6.0
.ds doc-operating-system-Darwin-17.0.0 17.0.0
.ds doc-operating-system-Darwin-17.1.0 17.1.0
.ds doc-operating-system-Darwin-17.2.0 17.2.0
.ds doc-operating-system-Darwin-17.3.0 17.3.0
.ds doc-operating-system-Darwin-17.4.0 17.4.0
.ds doc-operating-system-Darwin-17.5.0 17.5.0
.ds doc-operating-system-Darwin-17.6.0 17.6.0
.ds doc-operating-system-Darwin-17.7.0 17.7.0
.ds doc-operating-system-Darwin-18.0.0 18.0.0
.ds doc-operating-system-Darwin-18.1.0 18.1.0
.ds doc-operating-system-Darwin-18.2.0 18.2.0
.ds doc-operating-system-Darwin-18.3.0 18.3.0
.ds doc-operating-system-Darwin-18.4.0 18.4.0
.ds doc-operating-system-Darwin-18.5.0 18.5.0
.ds doc-operating-system-Darwin-18.6.0 18.6.0
.ds doc-operating-system-Darwin-18.7.0 18.7.0
.ds doc-operating-system-Darwin-19.0.0 19.0.0
.ds doc-operating-system-Darwin-19.1.0 19.1.0
.ds doc-operating-system-Darwin-19.2.0 19.2.0
.
.ds doc-operating-system-DragonFly-1.0    1.0
.ds doc-operating-system-DragonFly-1.1    1.1
.ds doc-operating-system-DragonFly-1.2    1.2
.ds doc-operating-system-DragonFly-1.3    1.3
.ds doc-operating-system-DragonFly-1.4    1.4
.ds doc-operating-system-DragonFly-1.5    1.5
.ds doc-operating-system-DragonFly-1.6    1.6
.ds doc-operating-system-DragonFly-1.7    1.7
.ds doc-operating-system-DragonFly-1.8    1.8
.ds doc-operating-system-DragonFly-1.8.1  1.8.1
.ds doc-operating-system-DragonFly-1.9    1.9
.ds doc-operating-system-DragonFly-1.10   1.10
.ds doc-operating-system-DragonFly-1.11   1.11
.ds doc-operating-system-DragonFly-1.12   1.12
.ds doc-operating-system-DragonFly-1.12.2 1.12.2
.ds doc-operating-system-DragonFly-1.13   1.13
.ds doc-operating-system-DragonFly-2.0    2.0
.ds doc-operating-system-DragonFly-2.1    2.1
.ds doc-operating-system-DragonFly-2.2    2.2
.ds doc-operating-system-DragonFly-2.3    2.3
.ds doc-operating-system-DragonFly-2.4    2.4
.ds doc-operating-system-DragonFly-2.5    2.5
.ds doc-operating-system-DragonFly-2.6    2.6
.ds doc-operating-system-DragonFly-2.7    2.7
.ds doc-operating-system-DragonFly-2.8    2.8
.ds doc-operating-system-DragonFly-2.9    2.9
.ds doc-operating-system-DragonFly-2.9.1  2.9.1
.ds doc-operating-system-DragonFly-2.10   2.10
.ds doc-operating-system-DragonFly-2.10.1 2.10.1
.ds doc-operating-system-DragonFly-2.11   2.11
.ds doc-operating-system-DragonFly-2.12   2.12
.ds doc-operating-system-DragonFly-2.13   2.13
.ds doc-operating-system-DragonFly-3.0    3.0
.ds doc-operating-system-DragonFly-3.0.1  3.0.1
.ds doc-operating-system-DragonFly-3.0.2  3.0.2
.ds doc-operating-system-DragonFly-3.1    3.1
.ds doc-operating-system-DragonFly-3.2    3.2
.ds doc-operating-system-DragonFly-3.2.1  3.2.1
.ds doc-operating-system-DragonFly-3.2.2  3.2.2
.ds doc-operating-system-DragonFly-3.3    3.3
.ds doc-operating-system-DragonFly-3.4    3.4
.ds doc-operating-system-DragonFly-3.4.1  3.4.1
.ds doc-operating-system-DragonFly-3.4.2  3.4.2
.ds doc-operating-system-DragonFly-3.4.3  3.4.3
.ds doc-operating-system-DragonFly-3.5    3.5
.ds doc-operating-system-DragonFly-3.6    3.6
.ds doc-operating-system-DragonFly-3.6.1  3.6.1
.ds doc-operating-system-DragonFly-3.6.2  3.6.2
.ds doc-operating-system-DragonFly-3.7    3.7
.ds doc-operating-system-DragonFly-3.8    3.8
.ds doc-operating-system-DragonFly-3.8.1  3.8.1
.ds doc-operating-system-DragonFly-3.8.2  3.8.2
.ds doc-operating-system-DragonFly-4.0    4.0
.ds doc-operating-system-DragonFly-4.0.1  4.0.1
.ds doc-operating-system-DragonFly-4.0.2  4.0.2
.ds doc-operating-system-DragonFly-4.0.3  4.0.3
.ds doc-operating-system-DragonFly-4.0.4  4.0.4
.ds doc-operating-system-DragonFly-4.0.5  4.0.5
.ds doc-operating-system-DragonFly-4.0.6  4.0.6
.ds doc-operating-system-DragonFly-4.1    4.1
.ds doc-operating-system-DragonFly-4.2    4.2
.ds doc-operating-system-DragonFly-4.2.1  4.2.1
.ds doc-operating-system-DragonFly-4.2.2  4.2.2
.ds doc-operating-system-DragonFly-4.2.3  4.2.3
.ds doc-operating-system-DragonFly-4.2.4  4.2.4
.ds doc-operating-system-DragonFly-4.3    4.3
.ds doc-operating-system-DragonFly-4.4    4.4
.ds doc-operating-system-DragonFly-4.4.1  4.4.1
.ds doc-operating-system-DragonFly-4.4.2  4.4.2
.ds doc-operating-system-DragonFly-4.4.3  4.4.3
.ds doc-operating-system-DragonFly-4.5    4.5
.ds doc-operating-system-DragonFly-4.6    4.6
.ds doc-operating-system-DragonFly-4.6.1  4.6.1
.ds doc-operating-system-DragonFly-4.6.2  4.6.2
.ds doc-operating-system-DragonFly-4.7    4.7
.ds doc-operating-system-DragonFly-4.8    4.8
.ds doc-operating-system-DragonFly-4.8.1  4.8.1
.ds doc-operating-system-DragonFly-4.9    4.9
.ds doc-operating-system-DragonFly-5.0    5.0
.ds doc-operating-system-DragonFly-5.0.1  5.0.1
.ds doc-operating-system-DragonFly-5.0.2  5.0.2
.ds doc-operating-system-DragonFly-5.1    5.1
.ds doc-operating-system-DragonFly-5.2    5.2
.ds doc-operating-system-DragonFly-5.2.1  5.2.1
.ds doc-operating-system-DragonFly-5.2.2  5.2.2
.ds doc-operating-system-DragonFly-5.3    5.3
.ds doc-operating-system-DragonFly-5.4    5.4
.ds doc-operating-system-DragonFly-5.4.1  5.4.1
.ds doc-operating-system-DragonFly-5.4.2  5.4.2
.ds doc-operating-system-DragonFly-5.4.3  5.4.3
.ds doc-operating-system-DragonFly-5.5    5.5
.ds doc-operating-system-DragonFly-5.6    5.6
.ds doc-operating-system-DragonFly-5.6.1  5.6.1
.ds doc-operating-system-DragonFly-5.6.2  5.6.2
.
.eo
.de Os
.  ie "\$1"" \
.    ds doc-operating-system "\*[doc-default-operating-system]
.  el \{ .ie "\$1"ATT" \{\
.    ds doc-operating-system AT&T
.    if \A'\$2' \{\
.      ie d doc-operating-system-ATT-\$2 \
.        as doc-operating-system " \*[doc-operating-system-ATT-\$2]
.      el \
.        as doc-operating-system " UNIX
.  \}\}
.  el \{ .ie "\$1"BSD" \{\
.    if \A'\$2' \{\
.      ie d doc-operating-system-BSD-\$2 \
.        ds doc-operating-system "\*[doc-operating-system-BSD-\$2]
.      el \
.        doc-warn .Os: Unknown BSD version '\$2'
.  \}\}
.  el \{ .ie "\$1"FreeBSD" \{\
.    ds doc-operating-system FreeBSD
.    if \A'\$2' \{\
.      ie d doc-operating-system-FreeBSD-\$2 \
.        as doc-operating-system \~\*[doc-operating-system-FreeBSD-\$2]
.      el \
.        doc-warn .Os: Unknown FreeBSD version '\$2'
.  \}\}
.  el \{ .ie "\$1"DragonFly" \{\
.    ds doc-operating-system DragonFly
.    if \A'\$2' \{\
.      ie d doc-operating-system-DragonFly-\$2 \
.        as doc-operating-system \~\*[doc-operating-system-DragonFly-\$2]
.      el \
.        doc-warn .Os: Unknown DragonFly version '\$2'
.  \}\}
.  el \{ .ie "\$1"NetBSD" \{\
.    ds doc-operating-system NetBSD
.    if \A'\$2' \{\
.      ie d doc-operating-system-NetBSD-\$2 \
.        as doc-operating-system \~\*[doc-operating-system-NetBSD-\$2]
.      el \
.        doc-warn .Os: Unknown NetBSD version '\$2'
.  \}\}
.  el \{ .ie "\$1"OpenBSD" \{\
.    ds doc-operating-system OpenBSD
.    if \A'\$2' \{\
.      ie d doc-operating-system-OpenBSD-\$2 \
.        as doc-operating-system \~\*[doc-operating-system-OpenBSD-\$2]
.      el \
.        doc-warn .Os: Unknown OpenBSD version '\$2'
.  \}\}
.  el \{ .ie "\$1"Darwin" \{\
.    ds doc-operating-system Darwin
.    if \A'\$2' \{\
.      ie d doc-operating-system-Darwin-\$2 \
.        as doc-operating-system \~\*[doc-operating-system-Darwin-\$2]
.      el \
.        doc-warn .Os: Unknown Darwin version '\$2'
.  \}\}
.  el \{\
.    ds doc-operating-system \$1
.    if !"\$2"" \
.      as doc-operating-system " \$2
.  \}\}\}\}\}\}\}\}
.
.  doc-set-up-titles
.
.  if '\*[.T]'pdf' \{\
.    ds doc-page-tag "\*[doc-page-identifier](\*[doc-section])\"
.    pdfbookmark -T "\*[doc-page-tag]" 1 "\*[doc-page-tag]"
.    rm doc-page-tag
.  \}
.
.  doc-header
.  nr doc-end-previous-document 1
..
.ec
.
.
.\" NS doc-header macro
.\" NS   print page header
.\" NS
.\" NS local variables:
.\" NS   doc-xref
.\" NS   doc-abbv
.\" NS   doc-reg-dh
.\" NS   doc-reg-dh1
.\" NS   doc-hs-len
.\" NS   doc-hs-len-prev
.
.eo
.de1 doc-header
.  ds doc-xref \f[\*[doc-page-identifier-font]]\*[doc-page-identifier]\f[]\"
.  as doc-xref \f[\*[doc-page-section-font]](\*[doc-section])\f[]\"
.  ds doc-abbv \*[doc-page-identifier]\"
.  ev doc-env-dh
.  doc-setup-page-layout
.  ie \n[cR] .pl +1v
.  el        .sp |(.5i - .5m)
.  nr doc-reg-dh \w'\f[\*[doc-page-identifier-font]]\*[doc-xref]\f[]'
.  nr doc-reg-dh1 \w'\*[doc-volume]'
.  if (\n[doc-reg-dh] + \n[doc-reg-dh1] + \n[doc-reg-dh] >= \n[.lt]) \{\
.    while (\n[doc-reg-dh] + \n[doc-reg-dh1] + \n[doc-reg-dh] >= \n[.lt]) \{\
.      ds doc-xref \f[\*[doc-page-identifier-font]]\*[doc-abbv]\f[]\"
.      as doc-xref \f[\*[doc-page-section-font]](\*[doc-section])\f[]\"
.      length doc-abbv-len-prev \*[doc-abbv]
.      substring doc-abbv 0 -2
.      length doc-abbv-len \*[doc-abbv]
.      nr doc-reg-dh \w'\f[\*[doc-page-identifier-font]]\*[doc-abbv]\|.\|.\|.\f[]'
.      \" If header string didn't actually get shorter, stop trying.
.      if (\n[doc-abbv-len-prev] <= \n[doc-abbv-len]) \
.        break
.    \}
.    rr doc-abbv-len
.    rr doc-abbv-len-prev
.    as doc-abbv \|.\|.\|.
.  \}
.  tl '\*[doc-xref]'\*[doc-volume]\f[]'\*[doc-xref]'
.  ie \n[cR] \{\
.    pl +1v
.    sp 1v
.  \}
.  el .sp .5i
.  ev
.  ns
.  rm doc-xref
.  rm doc-abbv
..
.ec
.
.
.\" NS doc-break-body-text
.\" NS   Schedule a page break when the next output line is written (not
.\" NS   called if continuously rendering).
.de1 doc-break-body-text
'  bp
..
.
.
.\" NS doc-footer macro
.\" NS   print page footer
.\"
.\" NS local variables:
.\" NS   doc-xref
.\" NS   doc-page-id
.
.eo
.de1 doc-footer
.  ds doc-xref \f[\*[doc-page-identifier-font]]\*[doc-page-identifier]\f[]\"
.  as doc-xref \f[\*[doc-page-section-font]](\*[doc-section])\f[]\"
.  ds doc-page-id \n[%]
.  if r X \{\
.    if (\n[%] > \n[X]) \{\
.      nr doc-page-letter (\n[%] - \n[X])
.      ds doc-page-id \n[X]\n[doc-page-letter]\"
.    \}
.  \}
.  ev doc-caption-enviroment
.  doc-setup-page-layout
.  ie \n[D] \{\
.    ie e \
.      tl '%'\*[doc-date-string]'\*[doc-operating-system]'
.    el \
.      tl '\*[doc-operating-system]'\*[doc-date-string]'\*[doc-page-id]'
.  \}
.  el \{\
.    ie \n[cR] \
.      tl '\*[doc-operating-system]'\*[doc-date-string]'\*[doc-xref]'
.    el \
.      tl '\*[doc-operating-system]'\*[doc-date-string]'\*[doc-page-id]'
.  \}
.  if !\n[cR] .bp
.  ev
.  rm doc-page-id
.  rm doc-xref
..
.ec
.
.
.\" NS doc-check-depth macro
.\" NS   check paired macros
.
.eo
.de doc-check-depth
.  if \n[doc-list-depth] \{\
.    doc-warn A .Bl directive has no matching .El
.    nr doc-list-depth 0
.  \}
.  if \n[doc-display-depth] \{\
.    doc-warn A .Bd directive has no matching .Ed
.    nr doc-display-depth 0
.  \}
.  if \n[doc-fontmode-depth] \{\
.    doc-warn A .Bf directive has no matching .Ef
.    nr doc-fontmode-depth 0
.  \}
..
.ec
.
.
.\" NS doc-reset-titles macro
.\" NS   prepare for a new mdoc(7) document
.
.eo
.de doc-reset-titles
.  \" Reset strings to reduce info leaks from one man page to the next.
.  ds doc-date-string UNDATED\"
.  ds doc-page-identifier UNTITLED\"
.  ds doc-volume LOCAL\"
.  ds doc-section \" empty
.  ds doc-operating-system \" empty
.  ds doc-topic-name \" empty
..
.ec
.
.
.\" NS doc-reset-adjustment-mode
.\" NS   Repair output line adjustment after man page meddling.
.\"
.\" Resetting the adjustment mode is a complicated dance.
.\"   1.  Man pages sometimes disable adjustment--when they do, they
.\"       often forget to put it back the way it was.
.\"   2.  When they do remember to put it back, they often fail to do
.\"       so correctly because of the `ad` request's quirky semantics
.\"       starting from Seventh Edition Unix troff/nroff.  Briefly, the
.\"       `ad` request without arguments turns adjustment back on after
.\"       an `na` even if the previous adjustment mode was `l` (align to
.\"       the left with NO adjustment).
.\"   3.  The default adjustment mode historically has not been
.\"       predictable; it can depend on nroff vs. troff mode and on the
.\"       vendor of the *roff system in use.
.\"   4.  It's possible (and portable) to obtain the previous adjustment
.\"       mode via the `.j` register so that it can be saved prior to
.\"       meddling and restored later, but in practice man page authors
.\"       neglect to do so.
.\"   5.  groff mdoc(7)'s `AD` string isn't supported everywhere.
.\"   6.  We want user preferences, if expressed, to override the page
.\"       author's.
.\"   7.  Even if we didn't want (6), one page author's can override
.\"       another's when formatting multiple mdoc(7) documents in
.\"       sequence--we thus keep track of the initial adjustment mode.
.\"
.\" So we recover the "page's" preferred adjustment mode, if expressed
.\" via `AD`, at every paragraph (and (sub)sectioning) macro call; and
.\" recover the user's preferred adjustment mode at each new document by
.\" accepting it as an argument (see the `Dd` macro definition).  Also
.\" see the initialization logic in "tmac/doc.tmac".
.\"
.\" This macro is at pains to distinguish alignment from adjustment.
.
.eo
.de doc-reset-adjustment-mode
.  if \n[.$] .ds AD \$1\"
.  nr doc-want-adjustment 1
.  if d AD .if '\?\*[AD]\?'\?l\?' .nr doc-want-adjustment 0
.  if d AD .if '\?\*[AD]\?'\?c\?' .nr doc-want-adjustment 0
.  if d AD .if '\?\*[AD]\?'\?r\?' .nr doc-want-adjustment 0
.  ie \n[doc-want-adjustment] .ds doc-adjustment-mode b
.  el                         .ds doc-adjustment-mode l
.  ad \*[doc-adjustment-mode]
.  rr doc-want-adjustment
..
.ec
.
.
.\" NS doc-reset-hyphenation-mode
.\" NS   Repair automatic hyphenation after man page meddling.
.\"
.\" Resetting the hyphenation mode is a complicated dance.
.\"   1.  Man pages sometimes disable automatic hyphenation--when they
.\"       do, they nearly always forget to put it back the way it was.
.\"   2.  In AT&T troff there was no register exposing the hyphenation
.\"       mode (nor the enablement status of automatic hyphenation), so
.\"       no idioms for performing such restoration have arisen.
.\"   3.  groff mdoc(7)'s `HY` register isn't supported everywhere.
.\"   4.  We want user preferences, if expressed, to override the page
.\"       author's.
.\"   5.  Even if we didn't want (4), one page author's can override
.\"       another's when formatting multiple mdoc(7) documents in
.\"       sequence--we thus keep track of the initial hyphenation mode.
.\"
.\" So we recover the "page's" preferred hyphenation mode, if expressed
.\" via `HY`, at every paragraph (and (sub)sectioning) macro call; and
.\" recover the user's preferred hyphenation mode at each new document
.\" by accepting it as an argument (see the `Dd` macro definition).
.\" Also see the initialization logic in "tmac/doc.tmac".
.
.eo
.de doc-reset-hyphenation-mode
.  if \n[.$] .if \B'\$1' .nr HY \$1
.  nr doc-want-hyphenation 1
.  if r HY .ie !\n[HY] .nr doc-want-hyphenation 0
.  ie \n[doc-want-hyphenation] \
.    nr doc-hyphenation-mode \n[\*[locale]*hyphenation-mode-trap]
.  el .nr doc-hyphenation-mode 0
.  hy \n[doc-hyphenation-mode]
.  rr doc-want-hyphenation
..
.ec
.
.
.\" NS doc-end-document macro
.\" NS   Finish document output.
.\" NS
.\" NS modifies:
.\" NS   doc-end-previous-document
.
.eo
.de1 doc-end-document
.  doc-check-depth
.
.  if \n[cR] \{\
.    sp 1v
.    doc-footer
.    \" If we're processing multiple documents and have started a new
.    \" one, draw a line between this footer and the next header.
.    if !'\n[.F]'' \{\
.      pl +1v
.      nf
.      ti 0
.      nop \D'l \n[doc-line-length]u 0'
.      fi
.    \}
.  \}
.  ch doc-header
.  \" At the end of the last document, the file name becomes empty;
.  \" force the page length to match the vertical drawing position in
.  \" continuous rendering mode.
.  ie \n[cR] .if '\n[.F]'' .pl \n[nl]u
.  el        .doc-break-page-with-new-number
..
.ec
.
.
.\" NS doc-break-page-with-new-number macro
.\" NS   Break the page and update its number depending on the C
.\" NS   (consecutive numbering) register.
.\" NS
.\" NS  Corner case: if formatting multiple documents and P (starting
.\" NS  page number) is defined but C is not set, start numbering each
.\" NS  document at \n[P].  Not strictly necessary if not switching
.\" NS  macro packages.
.
.eo
.de doc-break-page-with-new-number
.  ie \n[C] .bp (\n[%] + 1) \" argument NOT redundant before page 1
.  el \{\
.    ie r P .bp \n[P]
.    el     .bp 1
.  \}
..
.ec
.
.
.\" NS doc-paragraph macro
.\" NS   insert a paragraph
.
.eo
.de doc-paragraph
.  sp \n[doc-paragraph-space]u
.  if !\n[cR] \
.    ne 2
.  ns
..
.ec
.
.
.\" NS Pp user macro (not parsed, not callable)
.\" NS   new paragraph
.\" NS
.\" NS width register 'Pp' set above
.
.als Pp doc-paragraph
.
.
.\" NS Lp user macro (not parsed, not callable)
.\" NS   same as .Pp
.\" NS
.\" NS width register 'Lp' set above
.
.als Lp doc-paragraph
.
.
.eo
.de LP
.  doc-warn \$0 is not an mdoc macro name
..
.ec
.
.
.eo
.de PP
.  doc-warn \$0 is not an mdoc macro name
..
.ec
.
.
.eo
.de pp
.  doc-warn \$0 is not an mdoc macro name
..
.ec
.
.
.eo
.de SH
.  doc-warn \$0 is not an mdoc macro name
..
.ec
.
.
.\" NS Nd user macro (not parsed, not callable)
.\" NS   print name description
.\" NS
.\" NS width register 'Nd' set above
.
.eo
.de Nd
.  doc-reset-adjustment-mode
.  doc-reset-hyphenation-mode
.  nop \[em] \$*
..
.ec
.
.
.\" NS doc-in-name-section global register (bool)
.\" NS   whether we are in the 'name' section
.
.nr doc-in-name-section 0
.
.
.\" NS doc-in-synopsis-section global register (bool)
.\" NS   whether we are in the 'synopsis' section
.
.nr doc-in-synopsis-section 0
.
.
.\" NS doc-in-library-section global register (bool)
.\" NS   whether we are in the 'library' section
.
.nr doc-in-library-section 0
.
.
.\" NS doc-in-see-also-section global register (bool)
.\" NS   whether we are in the 'see also' section
.
.nr doc-in-see-also-section 0
.
.
.\" NS doc-in-files-section global register (bool)
.\" NS   whether we are in the 'files' section
.
.nr doc-in-files-section 0
.
.
.\" NS doc-in-authors-section global register (bool)
.\" NS   whether we are in the 'authors' section
.
.nr doc-in-authors-section 0
.
.
.\" NS doc-end-previous-document global register (bool)
.\" NS   whether the strings that set header and footer text need to be
.\" NS   reconfigured
.\" NS
.\" NS This happens when batch-rendering and starting a new document.
.
.nr doc-end-previous-document 0
.
.
.\" NS doc-first-parameter macro
.\" NS   return first parameter
.\" NS
.\" NS local variables:
.\" NS   doc-str-dfp
.
.eo
.de doc-first-parameter
.  ds doc-str-dfp "\$1
..
.ec
.
.
.\" NS doc-prepare-section-heading macro
.\" NS   define `doc-sec-head`, `macro` prepared for string matching
.\"
.\" NS
.\" NS local variables:
.\" NS   doc-str-tmp1
.\" NS   doc-str-tmp2
.\" NS   doc-tmp-strlen
.
.eo
.de doc-prepare-section-heading
.  ds doc-str-tmp1 "\$*
.  ds doc-str-tmp2 "\$*
.  length doc-tmp-strlen \$*
.  \" Leave (nonstandard) section headings of length 0 or 1 unchanged.
.  ie \n[doc-tmp-strlen]>1 \{\
.    substring doc-str-tmp1 0 0
.    substring doc-str-tmp2 1
.    stringdown doc-str-tmp2
.    ds doc-sec-head \*[doc-str-tmp1]\*[doc-str-tmp2]\"
.  \}
.  el \
.    ds doc-sec-head "\$*
.  rm doc-str-tmp1
.  rm doc-str-tmp2
.  rr doc-tmp-strlen
..
.ec
.
.
.\" NS Sh user macro (not callable)
.\" NS   section headers
.\" NS
.\" NS modifies:
.\" NS   doc-func-args-processed
.\" NS   doc-func-count
.\" NS   doc-in-authors-section
.\" NS   doc-in-files-section
.\" NS   doc-in-library-section
.\" NS   doc-in-name-section
.\" NS   doc-in-see-also-section
.\" NS   doc-in-synopsis-section
.\" NS   doc-indent-synopsis
.\" NS   doc-indent-synopsis-active
.\" NS   doc-is-func
.\" NS   doc-num-func-args
.\" NS
.\" NS local variables:
.\" NS   doc-reg-Sh
.\" NS   doc-reg-Sh1
.\" NS   doc-section-XXX
.\" NS
.\" NS width register 'Sh' set in doc-common
.
.ds doc-section-name        Name\"
.ds doc-section-synopsis    Synopsis\"
.ds doc-section-library     Library\"
.ds doc-section-description Description\"
.ds doc-section-see-also    See also\"
.ds doc-section-files       Files\"
.ds doc-section-authors     Authors\"
.
.eo
.de Sh
.  \" Tell doc-print-recursive whether to force capitalization.
.  nr doc-do-capitalize \n[CS]
.
.  \" Normalize capitalization of section heading.
.  doc-prepare-section-heading \$*
.
.  ie "\*[doc-sec-head]"\*[doc-section-name]" \
.    nr doc-in-name-section 1
.  el \
.    nr doc-in-name-section 0
.
.  ie \n[doc-arg-count] \{\
.    \" we only allow 'Sh' within 'Sh'; it will change the font back to
.    \" 'doc-Sh-font'
.    ie "\*[doc-macro-name]"Sh" \{\
.      nr doc-arg-ptr +1
.      ie (\n[doc-arg-count] >= \n[doc-arg-ptr]) \{\
.        nr doc-curr-font \n[.f]
.        nop \f[\*[doc-Sh-font]]\c
.        doc-print-recursive
.      \}
.      el \{\
.        doc-report-usage .Sh section_name ...
.        doc-reset-args
.    \}\}
.    el \{\
.      doc-report-usage .Sh not callable by other macros
.      doc-reset-args
.  \}\}
.  el \{\
.    if !\n[.$] \{\
.      doc-report-usage .Sh section_name ...
.      return
.    \}
.  \}
.
.  ds doc-macro-name Sh
.  doc-parse-args \$@
.
.  ie "\*[doc-sec-head]"\*[doc-section-name]" \{\
.    doc-set-up-titles
.    in 0
.  \}
.  el \{\
.    nr doc-in-name-section 0
.    nr doc-in-synopsis-section 0
.    nr doc-in-library-section 0
.    nr doc-in-see-also-section 0
.    nr doc-in-files-section 0
.    nr doc-in-authors-section 0
.
.    ie        "\*[doc-sec-head]"\*[doc-section-synopsis]" \{\
.      nr doc-in-synopsis-section 1
.      nr doc-indent-synopsis 0
.      nr doc-indent-synopsis-active 0
.    \}
.    el \{ .ie "\*[doc-sec-head]"\*[doc-section-library]" \{\
.      nr doc-in-library-section 1
.    \}
.    el \{ .ie "\*[doc-sec-head]"\*[doc-section-description]" \{\
.      nr doc-is-func 0
.      nr doc-func-count 0
.      nr doc-func-args-processed 0
.      nr doc-num-func-args 0
.    \}
.    el \{ .ie "\*[doc-sec-head]"\*[doc-section-see-also]" \{\
.      nr doc-in-see-also-section 1
.    \}
.    el \{ .ie "\*[doc-sec-head]"\*[doc-section-files]" \
.      nr doc-in-files-section 1
.    el .if    "\*[doc-sec-head]"\*[doc-section-authors]" \
.      nr doc-in-authors-section 1
.    \}\}\}\}
.
.    in 0
.    nr doc-have-author 0
.  \}
.
.  ie \n[doc-in-synopsis-section] \{\
.    na
.    nh
.  \}
.  el \{\
.    doc-reset-adjustment-mode
.    doc-reset-hyphenation-mode
.  \}
.
.  doc-setup-page-layout
.  sp \n[doc-paragraph-space]u
.  ns
.  ta T .5i
.  if !\n[cR] \
.    ne 3
.  fi
.
.  if '\*[.T]'pdf' \
.    pdfbookmark 2 "\*[doc-sec-head]"
.
.  if t \{\
.    nr doc-reg-Sh \n[.ss]
.    nr doc-reg-Sh1 \n[.sss]
.    ss (\n[.ss] * 5 / 3) (\n[.sss] * 5 / 3)
.  \}
.
.  if \n[doc-remap-I-style-in-headings] \{\
.    ftr \*[doc-heading-family]I \*[doc-heading-family]BI
.
.    nr doc-arg-ptr +1
.    nr doc-curr-font \n[.f]
.    nop \f[\*[doc-Sh-font]]\c
.    doc-print-recursive
.
.    if t \
.      ss \n[doc-reg-Sh] \n[doc-reg-Sh1]
.
.    in \n[BP]u
.    ns
.
.    doc-check-depth
.
.    if \n[doc-remap-I-style-in-headings] \
.      ftr \*[doc-heading-family]I \*[doc-heading-family]I
.  \}
.
.  \" Don't let doc-print-recursive force caps on anything else.
.  nr doc-do-capitalize 0
..
.ec
.
.
.\" NS Ss user macro (not callable)
.\" NS   subsection
.\" NS
.\" NS modifies:
.\" NS   doc-subsection-heading
.\" NS
.\" NS local variable:
.\" NS   doc-reg-Ss
.\" NS   doc-reg-Ss1
.\" NS
.\" NS width register 'Ss' set above
.
.eo
.de Ss
.  ie \n[doc-arg-count] \{\
.    \" we only allow 'Ss' within 'Ss'; it will change the font back to
.    \" 'doc-Sh-font'
.    ie "\*[doc-macro-name]"Ss" \{\
.      nr doc-arg-ptr +1
.      ie (\n[doc-arg-count] >= \n[doc-arg-ptr]) \{\
.        nr doc-curr-font \n[.f]
.        nop \f[\*[doc-Sh-font]]\c
.        doc-print-recursive
.      \}
.      el \{\
.        doc-report-usage .Ss subsection_name ...
.        doc-reset-args
.    \}\}
.    el \{\
.      doc-report-usage .Ss not callable by other macros
.      doc-reset-args
.  \}\}
.  el \{\
.    if !\n[.$] \{\
.      doc-report-usage .Ss subsection_name ...
.      return
.    \}
.  \}
.
.  ds doc-macro-name Ss
.  doc-parse-args \$@
.
.  ds doc-subsection-heading \$*
.
.  ie \n[doc-in-synopsis-section] \{\
.    na
.    nh
.  \}
.  el \{\
.    doc-reset-adjustment-mode
.    doc-reset-hyphenation-mode
.  \}
.
.  sp \n[doc-paragraph-space]u
.  if !\n[cR] \
.    ne 3
.  in \n[SN]u
.
.  if '\*[.T]'pdf' \
.    pdfbookmark 3 "\*[doc-subsection-heading]"
.
.  nr doc-reg-Ss \n[.ss]
.  nr doc-reg-Ss1 \n[.sss]
.  ss (\n[.ss] * 5 / 4) (\n[.sss] * 5 / 4)
.
.  if \n[doc-remap-I-style-in-headings] \
.    ftr \*[doc-heading-family]I \*[doc-heading-family]BI
.
.  nr doc-arg-ptr +1
.  nr doc-curr-font \n[.f]
.  nop \f[\*[doc-Sh-font]]\c
.  doc-print-recursive
.
.  ss \n[doc-reg-Ss] \n[doc-reg-Ss1]
.
.  ta T .5i
.  in
.  if !\n[cR] \
.    ne 2
.  br
.  ns
.
.  doc-check-depth
.  if \n[doc-remap-I-style-in-headings] \
.    ftr \*[doc-heading-family]I \*[doc-heading-family]I
.  \}
.
..
.ec
.
.
.\" NS Rd macro (not parsed, not callable)
.\" NS   print global register dump to stderr
.\" NS
.\" NS local variables:
.\" NS   doc-reg-Rd
.
.eo
.de Rd
.  tm MDOC GLOBAL REGISTER DUMP
.  tm doc-macro-name == '\*[doc-macro-name]'
.  tm doc-arg-count == \n[doc-arg-count]
.  tm doc-num-args == \n[doc-num-args]
.  tm doc-arg-ptr == \n[doc-arg-ptr]
.
.  nr doc-reg-Rd 1
.  while (\n[doc-reg-Rd] <= \n[doc-arg-count]) \{\
.    tm doc-arg\n[doc-reg-Rd] == '\*[doc-arg\n[doc-reg-Rd]]'
.    tm doc-type\n[doc-reg-Rd] == \n[doc-type\n[doc-reg-Rd]]
.    tm doc-space\n[doc-reg-Rd] == '\*[doc-space\n[doc-reg-Rd]]'
.    nr doc-reg-Rd +1
.  \}
.
.  tm doc-curr-font == \n[doc-curr-font]
.  tm doc-indent-synopsis == \n[doc-indent-synopsis]
.  tm doc-indent-synopsis-active == \n[doc-indent-synopsis-active]
.  tm doc-have-decl == \n[doc-have-decl]
.  tm doc-have-var == \n[doc-have-var]
.  tm doc-topic-name == '\*[doc-topic-name]'
.  tm doc-quote-left == '\*[doc-quote-left]'
.  tm doc-quote-right == '\*[doc-quote-right]'
.  tm doc-nesting-level == \n[doc-nesting-level]
.  tm doc-in-list == \n[doc-in-list]
.  tm doc-space == '\*[doc-space]'
.  tm doc-saved-space == '\*[doc-saved-space]'
.  tm doc-space-mode == \n[doc-space-mode]
.  tm doc-have-space == \n[doc-have-space]
.  tm doc-have-slot == \n[doc-have-slot]
.  tm doc-keep-type == \n[doc-keep-type]
.  tm doc-display-depth == \n[doc-display-depth]
.  tm doc-is-compact == \n[doc-is-compact]
.
.  nr doc-reg-Rd 0
.  while (\n[doc-reg-Rd] <= \n[doc-display-depth]) \{\
.    tm doc-display-type-stack\n[doc-reg-Rd] == '\*[doc-display-type-stack\n[doc-reg-Rd]]'
.    tm doc-display-indent-stack\n[doc-reg-Rd] == \n[doc-display-indent-stack\n[doc-reg-Rd]]
.    tm doc-display-ad-stack\n[doc-reg-Rd] == \n[doc-display-ad-stack\n[doc-reg-Rd]]
.    tm doc-display-fi-stack\n[doc-reg-Rd] == \n[doc-display-fi-stack\n[doc-reg-Rd]]
.    tm doc-display-ft-stack\n[doc-reg-Rd] == \n[doc-display-ft-stack\n[doc-reg-Rd]]
.    tm doc-display-ps-stack\n[doc-reg-Rd] == \n[doc-display-ps-stack\n[doc-reg-Rd]]
.    nr doc-reg-Rd +1
.  \}
.
.  tm doc-fontmode-depth == \n[doc-fontmode-depth]
.
.  nr doc-reg-Rd 1
.  while (\n[doc-reg-Rd] <= \n[doc-fontmode-depth]) \{\
.    tm doc-fontmode-font-stack\n[doc-reg-Rd] == '\n[doc-fontmode-font-stack\n[doc-reg-Rd]]'
.    tm doc-fontmode-size-stack\n[doc-reg-Rd] == '\n[doc-fontmode-size-stack\n[doc-reg-Rd]]'
.    nr doc-reg-Rd +1
.  \}
.
.  tm doc-list-depth == \n[doc-list-depth]
.
.  nr doc-reg-Rd 1
.  while (\n[doc-reg-Rd] <= \n[doc-list-depth]) \{\
.    tm doc-list-type-stack\n[doc-reg-Rd] == '\*[doc-list-type-stack\n[doc-reg-Rd]]'
.    tm doc-list-have-indent-stack\n[doc-reg-Rd] == \n[doc-list-have-indent-stack\n[doc-reg-Rd]]
.    tm doc-list-indent-stack\n[doc-reg-Rd] == \n[doc-list-indent-stack\n[doc-reg-Rd]]
.    tm doc-compact-list-stack\n[doc-reg-Rd] == \n[doc-compact-list-stack\n[doc-reg-Rd]]
.    tm doc-tag-prefix-stack\n[doc-reg-Rd] == '\*[doc-tag-prefix-stack\n[doc-reg-Rd]]'
.    tm doc-tag-width-stack\n[doc-reg-Rd] == '\*[doc-tag-width-stack\n[doc-reg-Rd]]'
.    tm doc-list-offset-stack\n[doc-reg-Rd] == \n[doc-list-offset-stack\n[doc-reg-Rd]]
.    tm doc-enum-list-count-stack\n[doc-reg-Rd] == \n[doc-enum-list-count-stack\n[doc-reg-Rd]]
.    nr doc-reg-Rd +1
.  \}
.
.  tm doc-saved-Pa-font == '\*[doc-saved-Pa-font]'
.  tm doc-curr-type == \n[doc-curr-type]
.  tm doc-curr-arg == '\*[doc-curr-arg]'
.  tm doc-diag-list-input-line-count == \n[doc-diag-list-input-line-count]
.  tm doc-num-columns == \n[doc-num-columns]
.  tm doc-column-indent-width == \n[doc-column-indent-width]
.  tm doc-is-func == \n[doc-is-func]
.  tm doc-have-old-func == \n[doc-have-old-func]
.  tm doc-func-arg-count == \n[doc-func-arg-count]
.  tm doc-func-arg == '\*[doc-func-arg]'
.  tm doc-num-func-args == \n[doc-num-func-args]
.  tm doc-func-args-processed == \n[doc-func-args-processed]
.  tm doc-have-func == \n[doc-have-func]
.  tm doc-is-reference == \n[doc-is-reference]
.  tm doc-reference-count == \n[doc-reference-count]
.  tm doc-author-count == \n[doc-author-count]
.
.  nr doc-reg-Rd 0
.  while (\n[doc-reg-Rd] <= \n[doc-author-count]) \{\
.    tm doc-author-name\n[doc-reg-Rd] == '\*[doc-author-name\n[doc-reg-Rd]]'
.    nr doc-reg-Rd +1
.  \}
.
.  tm doc-book-count == \n[doc-book-count]
.  tm doc-book-name == '\*[doc-book-name]'
.  tm doc-date-count == \n[doc-date-count]
.  tm doc-date == '\*[doc-date]'
.  tm doc-publisher-count == \n[doc-publisher-count]
.  tm doc-publisher-name == '\*[doc-publisher-name]'
.  tm doc-journal-count == \n[doc-journal-count]
.  tm doc-journal-name == '\*[doc-journal-name]'
.  tm doc-issue-count == \n[doc-issue-count]
.  tm doc-issue-name == '\*[doc-issue-name]'
.  tm doc-optional-count == \n[doc-optional-count]
.  tm doc-optional-string == '\*[doc-optional-string]'
.  tm doc-page-number-count == \n[doc-page-number-count]
.  tm doc-page-number-string == '\*[doc-page-number-string]'
.  tm doc-corporate-count == \n[doc-corporate-count]
.  tm doc-corporate-name == '\*[doc-corporate-name]'
.  tm doc-report-count == \n[doc-report-count]
.  tm doc-report-name == '\*[doc-report-name]'
.  tm doc-reference-title-count == \n[doc-reference-title-count]
.  tm doc-reference-title-name == '\*[doc-reference-title-name]'
.  tm doc-reference-title-name-for-book == '\*[doc-reference-title-name-for-book]'
.  tm doc-url-count == \n[doc-url-count]
.  tm doc-url-name == '\*[doc-url-name]'
.  tm doc-volume-count == \n[doc-volume-count]
.  tm doc-volume-name == '\*[doc-volume-name]'
.  tm doc-have-author == \n[doc-have-author]
.
.  tm doc-page-identifier == '\*[doc-page-identifier]'
.  tm doc-volume == '\*[doc-volume]'
.  tm doc-section == '\*[doc-section]'
.  tm doc-operating-system == '\*[doc-operating-system]'
.  tm doc-date-string == '\*[doc-date-string]'
.  tm doc-display-vertical == \n[doc-display-vertical]
.  tm doc-in-name-section == \n[doc-in-name-section]
.  tm doc-in-synopsis-section == \n[doc-in-synopsis-section]
.  tm doc-in-library-section == \n[doc-in-library-section]
.  tm doc-in-see-also-section == \n[doc-in-see-also-section]
.  tm doc-in-files-section == \n[doc-in-files-section]
.  tm doc-in-authors-section == \n[doc-in-authors-section]
.
.  tm END OF GLOBAL REGISTER DUMP
..
.ec
.
.
.\" Local Variables:
.\" mode: nroff
.\" fill-column: 72
.\" End:
.\" vim: set filetype=groff textwidth=72:
