diff options
-rw-r--r-- | usr.bin/Makefile | 2 | ||||
-rw-r--r-- | usr.bin/ar/Makefile | 11 | ||||
-rw-r--r-- | usr.bin/ar/ar.5 | 145 | ||||
-rw-r--r-- | usr.bin/banner/Makefile | 2 | ||||
-rw-r--r-- | usr.bin/grep/egrep/Makefile | 2 | ||||
-rw-r--r-- | usr.bin/id/Makefile | 4 | ||||
-rw-r--r-- | usr.bin/lorder/Makefile | 2 | ||||
-rw-r--r-- | usr.bin/mkdep/Makefile | 2 | ||||
-rw-r--r-- | usr.bin/pagesize/Makefile | 2 | ||||
-rw-r--r-- | usr.bin/ranlib/Makefile | 12 | ||||
-rw-r--r-- | usr.bin/ranlib/ranlib.5 | 70 | ||||
-rw-r--r-- | usr.bin/shar/Makefile | 2 | ||||
-rw-r--r-- | usr.bin/tn3270/mset/Makefile | 4 | ||||
-rw-r--r-- | usr.bin/tn3270/tn3270/Makefile | 2 | ||||
-rw-r--r-- | usr.bin/uucp/acucntrl/Makefile | 2 | ||||
-rw-r--r-- | usr.bin/uucp/uupoll/Makefile | 2 | ||||
-rw-r--r-- | usr.bin/uucp/uusnap/Makefile | 2 | ||||
-rw-r--r-- | usr.bin/uuencode/Makefile | 7 | ||||
-rw-r--r-- | usr.bin/vgrind/Makefile | 4 | ||||
-rw-r--r-- | usr.bin/vmstat/Makefile | 2 | ||||
-rw-r--r-- | usr.bin/w/Makefile | 2 | ||||
-rw-r--r-- | usr.bin/window/Makefile | 2 | ||||
-rw-r--r-- | usr.bin/xinstall/Makefile | 2 |
23 files changed, 243 insertions, 44 deletions
diff --git a/usr.bin/Makefile b/usr.bin/Makefile index 51bfd248dd6f..5d0727c65e8d 100644 --- a/usr.bin/Makefile +++ b/usr.bin/Makefile @@ -14,7 +14,7 @@ SUBDIR= apply apropos ar banner basename bdes biff cal calendar \ lock logger login logname lorder m4 mail make mesg mkdep \ mkfifo mklocale mkstr more msgs mt netstat nfsstat nice nm nohup \ pagesize passwd paste patch pr printenv printf quota \ - ranlib rdist renice rev rlogin rs rsh ruptime rwho sccs \ + ranlib rdist renice rev rlogin rs rsh ruptime rwho \ script sed shar showmount size soelim split \ strings strip su talk tcopy tee telnet tftp time tip \ tn3270 touch tput tr true tset tsort tty ul uname unexpand \ diff --git a/usr.bin/ar/Makefile b/usr.bin/ar/Makefile index fef2a8f7fdf9..70d5a4c771e6 100644 --- a/usr.bin/ar/Makefile +++ b/usr.bin/ar/Makefile @@ -4,14 +4,7 @@ PROG= ar CFLAGS+=-I${.CURDIR} SRCS= append.c ar.c archive.c contents.c delete.c extract.c misc.c \ move.c print.c replace.c -MAN1= ar.0 -CLEANFILES=ar.5.0 - -ar.0: ar.5.0 - -# XXX BROKEN: afterinstall: -XXXafterinstall: - install -c -o ${MANOWN} -g ${MANGRP} -m ${MANMODE} ar.5.0 \ - ${DESTDIR}${MANDIR}5/ar.0 +MAN1= ar.1 +MAN5= ar.5 .include <bsd.prog.mk> diff --git a/usr.bin/ar/ar.5 b/usr.bin/ar/ar.5 new file mode 100644 index 000000000000..29c8f8c8102d --- /dev/null +++ b/usr.bin/ar/ar.5 @@ -0,0 +1,145 @@ +.\" Copyright (c) 1990, 1991, 1993 +.\" The Regents of the University of California. All rights reserved. +.\" +.\" 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. All advertising materials mentioning features or use of this software +.\" must display the following acknowledgement: +.\" This product includes software developed by the University of +.\" California, Berkeley and its contributors. +.\" 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. +.\" +.\" @(#)ar.5.5 8.1 (Berkeley) 6/9/93 +.\" +.Dd June 9, 1993 +.Dt AR 5 +.Os +.Sh NAME +.Nm ar +.Nd archive (library) file format +.Sh SYNOPSIS +.Fd #include <ar.h> +.Sh DESCRIPTION +The archive command +.Nm ar +combines several files into one. +Archives are mainly used as libraries of object files intended to be +loaded using the link-editor +.Xr ld 1 . +.Pp +A file created with +.Nm ar +begins with the ``magic'' string "!<arch>\en". +The rest of the archive is made up of objects, each of which is composed +of a header for a file, a possible file name, and the file contents. +The header is portable between machine architectures, and, if the file +contents are printable, the archive is itself printable. +.Pp +The header is made up of six variable length +.Tn ASCII +fields, followed by a +two character trailer. +The fields are the object name (16 characters), the file last modification +time (12 characters), the user and group id's (each 6 characters), the file +mode (8 characters) and the file size (10 characters). +All numeric fields are in decimal, except for the file mode which is in +octal. +.Pp +The modification time is the file +.Fa st_mtime +field, i.e., +.Dv CUT +seconds since +the epoch. +The user and group id's are the file +.Fa st_uid +and +.Fa st_gid +fields. +The file mode is the file +.Fa st_mode +field. +The file size is the file +.Fa st_size +field. +The two-byte trailer is the string "\`\en". +.Pp +Only the name field has any provision for overflow. +If any file name is more than 16 characters in length or contains an +embedded space, the string "#1/" followed by the +.Tn ASCII +length of the +name is written in the name field. +The file size (stored in the archive header) is incremented by the length +of the name. +The name is then written immediately following the archive header. +.Pp +Any unused characters in any of these fields are written as space +characters. +If any fields are their particular maximum number of characters in +length, there will be no separation between the fields. +.Pp +Objects in the archive are always an even number of bytes long; files +which are an odd number of bytes long are padded with a newline (``\en'') +character, although the size in the header does not reflect this. +.Sh SEE ALSO +.Xr ar 1 , +.Xr stat 2 +.Sh HISTORY +There have been at least four +.Nm ar +formats. +The first was denoted by the leading ``magic'' number 0177555 (stored as +type int). +These archives were almost certainly created on a 16-bit machine, and +contain headers made up of five fields. +The fields are the object name (8 characters), the file last modification +time (type long), the user id (type char), the file mode (type char) and +the file size (type unsigned int). +Files were padded to an even number of bytes. +.Pp +The second was denoted by the leading ``magic'' number 0177545 (stored as +type int). +These archives may have been created on either 16 or 32-bit machines, and +contain headers made up of six fields. +The fields are the object name (14 characters), the file last modification +time (type long), the user and group id's (each type char), the file mode +(type int) and the file size (type long). +Files were padded to an even number of bytes. +For more information on converting from this format see +.Xr arcv 8 . +.Pp +The current archive format (without support for long character names and +names with embedded spaces) was introduced in +.Bx 4.0 . +The headers were the same as the current format, with the exception that +names longer than 16 characters were truncated, and names with embedded +spaces (and often trailing spaces) were not supported. +It has been extended for these reasons, +as described above. +This format first appeared in 4.4BSD. +.Sh COMPATIBILITY +No archive format is currently specified by any standard. +.At V +has historically distributed archives in a different format from +all of the above. diff --git a/usr.bin/banner/Makefile b/usr.bin/banner/Makefile index 468368efdcec..54a3ad5cb20b 100644 --- a/usr.bin/banner/Makefile +++ b/usr.bin/banner/Makefile @@ -1,6 +1,6 @@ # @(#)Makefile 8.1 (Berkeley) 6/6/93 PROG= banner -MAN6= banner.0 +MAN6= banner.6 .include <bsd.prog.mk> diff --git a/usr.bin/grep/egrep/Makefile b/usr.bin/grep/egrep/Makefile index 556ebfe4e7f6..1e7d05adc2a0 100644 --- a/usr.bin/grep/egrep/Makefile +++ b/usr.bin/grep/egrep/Makefile @@ -9,7 +9,7 @@ PROG= egrep CFLAGS+=-Dstrrchr=rindex -Dstrchr=index -DNOKANJI LDADD= -lcompat # must search compat to get spencers early regexp package -MAN1= grep.0 +MAN1= grep.1 LINKS= ${BINDIR}/egrep ${BINDIR}/grep ${BINDIR}/egrep ${BINDIR}/fgrep MLINKS= grep.1 egrep.1 grep.1 fgrep.1 diff --git a/usr.bin/id/Makefile b/usr.bin/id/Makefile index 0168e7e0dd76..741c6deaf8ae 100644 --- a/usr.bin/id/Makefile +++ b/usr.bin/id/Makefile @@ -1,7 +1,7 @@ # @(#)Makefile 8.1 (Berkeley) 6/6/93 PROG= id -MAN1= id.0 groups.0 whoami.0 +MAN1= id.1 groups.1 whoami.1 # XXX BROKEN: afterinstall: afterinstall: @@ -9,7 +9,5 @@ afterinstall: ${.CURDIR}/groups.sh ${DESTDIR}/usr/bin/groups install -c -o ${BINOWN} -g ${BINGRP} -m ${BINMODE} \ ${.CURDIR}/whoami.sh ${DESTDIR}/usr/bin/whoami -#XXX ${MINSTALL} groups.0 ${DESTDIR}${MANDIR}1/groups.0 -#XXX ${MINSTALL} whoami.0 ${DESTDIR}${MANDIR}1/whoami.0 .include <bsd.prog.mk> diff --git a/usr.bin/lorder/Makefile b/usr.bin/lorder/Makefile index 96264e8b2049..9d34693088bb 100644 --- a/usr.bin/lorder/Makefile +++ b/usr.bin/lorder/Makefile @@ -1,6 +1,6 @@ # @(#)Makefile 8.1 (Berkeley) 6/6/93 -MAN1= lorder.0 +MAN1= lorder.1 install: install -c -o ${BINOWN} -g ${BINGRP} -m ${BINMODE} \ diff --git a/usr.bin/mkdep/Makefile b/usr.bin/mkdep/Makefile index 61f62fd9fc62..94c5d65d8710 100644 --- a/usr.bin/mkdep/Makefile +++ b/usr.bin/mkdep/Makefile @@ -1,6 +1,6 @@ # @(#)Makefile 8.1 (Berkeley) 6/6/93 -MAN1= mkdep.0 +MAN1= mkdep.1 .if (${MACHINE} == "hp300" || ${MACHINE} == "i386" || \ ${MACHINE} == "mips" || ${MACHINE} == "sparc") diff --git a/usr.bin/pagesize/Makefile b/usr.bin/pagesize/Makefile index a53468671b2d..2854a0a1c874 100644 --- a/usr.bin/pagesize/Makefile +++ b/usr.bin/pagesize/Makefile @@ -1,6 +1,6 @@ # @(#)Makefile 8.2 (Berkeley) 4/3/94 -MAN1= pagesize.0 +MAN1= pagesize.1 install: install -c -o ${BINOWN} -g ${BINGRP} -m ${BINMODE} \ diff --git a/usr.bin/ranlib/Makefile b/usr.bin/ranlib/Makefile index e7cdf1d376a9..a6382a629d87 100644 --- a/usr.bin/ranlib/Makefile +++ b/usr.bin/ranlib/Makefile @@ -3,16 +3,8 @@ PROG= ranlib SRCS= archive.c build.c misc.c ranlib.c touch.c CFLAGS+=-I${.CURDIR} -I${.CURDIR}/../ar -MAN1= ranlib.0 +MAN1= ranlib.1 +MAN5= ranlib.5 VPATH= ${.CURDIR}/../ar -# XXX BROKEN: manual pages -# XXX CLEANFILES=ranlib.5.0 - -# XXX ranlib.0: ranlib.5.0 - -# XXX afterinstall: -# XXX install -c -o ${MANOWN} -g ${MANGRP} -m ${MANMODE} ranlib.5.0 \ -# XXX ${DESTDIR}${MANDIR}5/ranlib.0 - .include <bsd.prog.mk> diff --git a/usr.bin/ranlib/ranlib.5 b/usr.bin/ranlib/ranlib.5 new file mode 100644 index 000000000000..e953c51056df --- /dev/null +++ b/usr.bin/ranlib/ranlib.5 @@ -0,0 +1,70 @@ +.\" Copyright (c) 1990, 1991, 1993 +.\" The Regents of the University of California. All rights reserved. +.\" +.\" 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. All advertising materials mentioning features or use of this software +.\" must display the following acknowledgement: +.\" This product includes software developed by the University of +.\" California, Berkeley and its contributors. +.\" 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. +.\" +.\" @(#)ranlib.5.5 8.1 (Berkeley) 6/6/93 +.\" +.Dd June 6, 1993 +.Dt RANLIB 5 +.Os +.Sh NAME +.Nm ranlib +.Nd archive (library) table-of-contents format +.Sh SYNOPSIS +.Fd #include <ranlib.h> +.Sh DESCRIPTION +The archive table-of-contents command +.Nm ranlib +creates a table of contents for archives, containing object files, to +be used by the link-editor +.Xr ld 1 . +It operates on archives created with the utility +.Xr ar 1 . +.Pp +The +.Nm Ranlib +function +prepends a new file to the archive which has three separate parts. +The first part is a standard archive header, which has a special name +field, "__.SYMDEF". +.Pp +The second part is a ``long'' followed by a list of ranlib structures. +The long is the size, in bytes, of the list of ranlib structures. +Each of the ranlib structures consists of a zero based offset into the +next section (a string table of symbols) and an offset from the beginning +of the archive to the start of the archive file which defines the symbol. +The actual number of ranlib structures is this number divided by the size +of an individual ranlib structure. +.Pp +The third part is a ``long'' followed by a string table. +The long is the size, in bytes of the string table. +.Sh SEE ALSO +.Xr ar 1 , +.Xr ranlib 1 diff --git a/usr.bin/shar/Makefile b/usr.bin/shar/Makefile index fc1295faa893..8e388be0f26f 100644 --- a/usr.bin/shar/Makefile +++ b/usr.bin/shar/Makefile @@ -1,6 +1,6 @@ # @(#)Makefile 8.1 (Berkeley) 6/6/93 -MAN1= shar.0 +MAN1= shar.1 beforeinstall: install -c -o ${BINOWN} -g ${BINGRP} -m ${BINMODE} \ diff --git a/usr.bin/tn3270/mset/Makefile b/usr.bin/tn3270/mset/Makefile index 0094fc8acfdf..753dd2fe84fb 100644 --- a/usr.bin/tn3270/mset/Makefile +++ b/usr.bin/tn3270/mset/Makefile @@ -3,8 +3,8 @@ PROG= mset CFLAGS+=-I${.CURDIR} -I. SRCS+= astosc.c map3270.c mset.c -MAN1= mset.0 -MAN5= map3270.0 +MAN1= mset.1 +MAN5= map3270.5 .PATH: ${.CURDIR}/../api ${.CURDIR}/../ascii CLEANFILES+= astosc.OUT astosc.out diff --git a/usr.bin/tn3270/tn3270/Makefile b/usr.bin/tn3270/tn3270/Makefile index a9f1641b3aba..662269b457f5 100644 --- a/usr.bin/tn3270/tn3270/Makefile +++ b/usr.bin/tn3270/tn3270/Makefile @@ -8,7 +8,7 @@ CLEANFILES+= asc_disp.OUT asc_disp.out disp_asc.OUT disp_asc.out TMPfunc.out .PATH: ${.CURDIR}/../api ${.CURDIR}/../ascii ${.CURDIR}/../ctlr .PATH: ${.CURDIR}/../general ${.CURDIR}/../sys_curses ${.CURDIR}/../../telnet -MAN1= tn3270.0 +MAN1= tn3270.1 SRCS+= apilib.c api_bsd.c api_exch.c asc_ebc.c astosc.c dctype.c SRCS+= disp_asc.c ebc_disp.c diff --git a/usr.bin/uucp/acucntrl/Makefile b/usr.bin/uucp/acucntrl/Makefile index 85bbfe4250ad..8a2b44f83a16 100644 --- a/usr.bin/uucp/acucntrl/Makefile +++ b/usr.bin/uucp/acucntrl/Makefile @@ -5,6 +5,6 @@ CFLAGS+=-I${.CURDIR}/../includes BINDIR= ${LIBDIR} BINOWN= root BINMODE=6550 -MAN8= acucntrl.0 +MAN8= acucntrl.8 .include <bsd.prog.mk> diff --git a/usr.bin/uucp/uupoll/Makefile b/usr.bin/uucp/uupoll/Makefile index fd39c3c20389..97794d5d50de 100644 --- a/usr.bin/uucp/uupoll/Makefile +++ b/usr.bin/uucp/uupoll/Makefile @@ -5,6 +5,6 @@ CFLAGS+=-I${.CURDIR}/../includes BINMODE=6555 DPADD= ${LIBCOMPAT} LDADD= ${LIBUU} -lcompat -MAN8= uupoll.0 +MAN8= uupoll.8 .include <bsd.prog.mk> diff --git a/usr.bin/uucp/uusnap/Makefile b/usr.bin/uucp/uusnap/Makefile index 6bf9137f79c1..d23ab2a3ac8b 100644 --- a/usr.bin/uucp/uusnap/Makefile +++ b/usr.bin/uucp/uusnap/Makefile @@ -3,6 +3,6 @@ PROG= uusnap CFLAGS+=-I${.CURDIR}/../includes BINMODE=6555 -MAN8= uusnap.0 +MAN8= uusnap.8 .include <bsd.prog.mk> diff --git a/usr.bin/uuencode/Makefile b/usr.bin/uuencode/Makefile index 051a6fea200f..cf14277cc4be 100644 --- a/usr.bin/uuencode/Makefile +++ b/usr.bin/uuencode/Makefile @@ -1,8 +1,9 @@ # @(#)Makefile 8.1 (Berkeley) 6/6/93 PROG= uuencode -MAN1= uuencode.0 -MAN5= uuencode.format.0 -MLINKS= uuencode.1 uudecode.1 +MAN1= uuencode.1 +MAN5= uuencode.format.5 +MLINKS= uuencode.1 uudecode.1 \ + uuencode.format.5 uuencode.5 .include <bsd.prog.mk> diff --git a/usr.bin/vgrind/Makefile b/usr.bin/vgrind/Makefile index 0bd4f00c914e..4e08e014e204 100644 --- a/usr.bin/vgrind/Makefile +++ b/usr.bin/vgrind/Makefile @@ -2,8 +2,8 @@ PROG= vfontedpr SRCS= regexp.c vfontedpr.c -MAN1= vgrind.0 -MAN5= vgrindefs.0 +MAN1= vgrind.1 +MAN5= vgrindefs.5 BINDIR= /usr/libexec CLEANFILES+=vgrindefs.src.db diff --git a/usr.bin/vmstat/Makefile b/usr.bin/vmstat/Makefile index 8e1a8605cc3f..109d6db2035d 100644 --- a/usr.bin/vmstat/Makefile +++ b/usr.bin/vmstat/Makefile @@ -2,7 +2,7 @@ PROG= vmstat CFLAGS+=-I/sys -MAN8= vmstat.0 +MAN8= vmstat.8 BINGRP= kmem BINMODE=2555 DPADD= names.c ${LIBKVM} diff --git a/usr.bin/w/Makefile b/usr.bin/w/Makefile index 621775386b19..c8ec72fab0b5 100644 --- a/usr.bin/w/Makefile +++ b/usr.bin/w/Makefile @@ -2,7 +2,7 @@ PROG= w SRCS= fmt.c pr_time.c proc_compare.c w.c -MAN1= w.0 uptime.0 +MAN1= w.1 uptime.1 DPADD= ${LIBKVM} LDADD= -lkvm BINGRP= kmem diff --git a/usr.bin/window/Makefile b/usr.bin/window/Makefile index 53ab6dada266..cd6dfdec6095 100644 --- a/usr.bin/window/Makefile +++ b/usr.bin/window/Makefile @@ -15,7 +15,7 @@ SRCS= char.c cmd.c cmd1.c cmd2.c cmd3.c cmd4.c cmd5.c cmd6.c cmd7.c \ wwredrawwin.c wwrint.c wwscroll.c wwsize.c wwspawn.c wwsuspend.c \ wwterminfo.c wwtty.c wwunframe.c wwupdate.c wwwrite.c xx.c xxflush.c \ compress.c -MAN= window.0 +MAN= window.1 DPADD= ${LIBTERMCAP} LDADD= -ltermcap diff --git a/usr.bin/xinstall/Makefile b/usr.bin/xinstall/Makefile index ae0192588d62..1e15e50ab86b 100644 --- a/usr.bin/xinstall/Makefile +++ b/usr.bin/xinstall/Makefile @@ -2,7 +2,7 @@ PROG= xinstall SRCS= stat_flags.c xinstall.c -MAN1= install.0 +MAN1= install.1 .PATH: ${.CURDIR}/../../bin/ls install: |