Package: cron
Version: 3.0pl1-189
Severity: minor

   * What led up to the situation?

     Checking for defects with

[test-][g|n]roff -mandoc -t -K utf8 -rF0 -rHY=0 -ww -b -z < "man page"

  ["test-groff" is a script in the repository for "groff"; is not shipped]
(local copy and "troff" slightly changed by me).

  [The fate of "test-nroff" was decided in groff bug #55941.]

   * What was the outcome of this action?

troff: backtrace: file '<stdin>':65
troff:<stdin>:65: warning: trailing space in the line

   * What outcome did you expect instead?

     No output (no warnings).

-.-

  General remarks and further material, if a diff-file exist, are in the
attachments.


-- System Information:
Debian Release: trixie/sid
  APT prefers testing
  APT policy: (500, 'testing')
Architecture: amd64 (x86_64)

Kernel: Linux 6.11.2-amd64 (SMP w/2 CPU threads; PREEMPT)
Locale: LANG=is_IS.iso88591, LC_CTYPE=is_IS.iso88591 (charmap=ISO-8859-1), 
LANGUAGE not set
Shell: /bin/sh linked to /usr/bin/dash
Init: sysvinit (via /sbin/init)

Versions of packages cron depends on:
ii  cron-daemon-common   3.0pl1-189
ii  init-system-helpers  1.67
ii  libc6                2.40-3
ii  libpam-runtime       1.5.3-7
ii  libpam0g             1.5.3-7
ii  libselinux1          3.7-3
ii  sensible-utils       0.0.24

Versions of packages cron recommends:
ii  exim4-daemon-light [mail-transport-agent]  4.98-1

Versions of packages cron suggests:
ii  anacron        2.3-40
pn  bat            <none>
pn  checksecurity  <none>
ii  logrotate      3.22.0-1
pn  supercat       <none>

Versions of packages cron is related to:
pn  libnss-ldap   <none>
pn  libnss-ldapd  <none>
pn  libpam-ldap   <none>
pn  libpam-mount  <none>
pn  nis           <none>
pn  nscd          <none>

-- no debconf information
  Any program (person), that produces man pages, should check the output
for defects by using (both groff and nroff)

[gn]roff -mandoc -t -ww -b -z -K utf8  <man page>

  The same goes for man pages that are used as an input.

  For a style guide use

  mandoc -T lint

-.-

  So any 'generator' should check its products with the above mentioned
'groff', 'mandoc',  and additionally with 'nroff ...'.

  This is just a simple quality control measure.

  The 'generator' may have to be corrected to get a better man page,
the source file may, and any additional file may.

  Common defects:

  Input text line longer than 80 bytes.

  Not removing trailing spaces (in in- and output).
  The reason for these trailing spaces should be found and eliminated.

  Not beginning each input sentence on a new line.
Lines should thus be shorter.

  See man-pages(7), item 'semantic newline'.

-.-

The difference between the formatted outputs can be seen with:

  nroff -mandoc <file1> > <out1>
  nroff -mandoc <file2> > <out2>
  diff -u <out1> <out2>

and for groff, using

"printf '%s\n%s\n' '.kern 0' '.ss 12 0' | groff -mandoc -Z - "

instead of 'nroff -mandoc'

  Add the option '-t', if the file contains a table.

  Read the output of 'diff -u' with 'less -R' or similar.

-.-.

  If 'man' (man-db) is used to check the manual for warnings,
the following must be set:

  The option "-warnings=w"

  The environmental variable:

export MAN_KEEP_STDERR=yes (or any non-empty value)

  or

  (produce only warnings):

export MANROFFOPT="-ww -b -z"

export MAN_KEEP_STDERR=yes (or any non-empty value)

-.-.

Output from "mandoc -T lint cron.8": (possibly shortened list)

mandoc: cron.8:38:2: WARNING: skipping paragraph macro: PP after SH
mandoc: cron.8:44:2: WARNING: skipping paragraph macro: PP after SH
mandoc: cron.8:52:119: STYLE: input text line longer than 80 bytes: Enable LSB 
compliant...
mandoc: cron.8:62:102: STYLE: input text line longer than 80 bytes: Include the 
FQDN in ...
mandoc: cron.8:67:85: STYLE: input text line longer than 80 bytes: Run cron 
jobs Now, i...
mandoc: cron.8:96:158: STYLE: input text line longer than 80 bytes: The default 
is to lo...
mandoc: cron.8:101:101: STYLE: input text line longer than 80 bytes: Tell cron 
to be more...
mandoc: cron.8:145:2: WARNING: skipping paragraph macro: PP after SH
mandoc: cron.8:147:104: STYLE: input text line longer than 80 bytes: searches 
its spool a...
mandoc: cron.8:148:130: STYLE: input text line longer than 80 bytes: 
/etc/passwd); cronta...
mandoc: cron.8:162:108: STYLE: input text line longer than 80 bytes: 
/etc/cron\&.monthly\...
mandoc: cron.8:177:141: STYLE: input text line longer than 80 bytes: 
/etc/crontab: they d...
mandoc: cron.8:184:87: STYLE: input text line longer than 80 bytes: directory 
are monito...
mandoc: cron.8:191:115: STYLE: input text line longer than 80 bytes: must be 
owned by roo...
mandoc: cron.8:199:115: STYLE: input text line longer than 80 bytes: may also 
be symlinks...
mandoc: cron.8:212:567: STYLE: input text line longer than 80 bytes: then wakes 
up every ...
mandoc: cron.8:216:85: STYLE: input text line longer than 80 bytes: checks each 
minute t...
mandoc: cron.8:220:89: STYLE: input text line longer than 80 bytes: will then 
examine th...
mandoc: cron.8:224:83: STYLE: input text line longer than 80 bytes: command 
updates the ...
mandoc: cron.8:226:404: STYLE: input text line longer than 80 bytes: Special 
consideratio...
mandoc: cron.8:228:221: STYLE: input text line longer than 80 bytes: Only jobs 
that run a...
mandoc: cron.8:230:121: STYLE: input text line longer than 80 bytes: Clock 
changes of mor...
mandoc: cron.8:233:103: STYLE: input text line longer than 80 bytes: logs its 
action to t...
mandoc: cron.8:237:2: WARNING: skipping paragraph macro: PP after SH
mandoc: cron.8:246:264: STYLE: input text line longer than 80 bytes: with 
values from the...
mandoc: cron.8:250:125: STYLE: input text line longer than 80 bytes: affect the 
environme...
mandoc: cron.8:257:122: STYLE: input text line longer than 80 bytes: The 
environment can ...
mandoc: cron.8:259:2: WARNING: skipping paragraph macro: PP after SH
mandoc: cron.8:260:130: STYLE: input text line longer than 80 bytes: Debian 
introduces so...
mandoc: cron.8:387:83: STYLE: input text line longer than 80 bytes: providing 
each one o...
mandoc: cron.8:389:86: STYLE: input text line longer than 80 bytes: is 
installed (except...
mandoc: cron.8:391:301: STYLE: input text line longer than 80 bytes: As 
described above, ...
mandoc: cron.8:395:223: STYLE: input text line longer than 80 bytes: This 
feature can be ...
mandoc: cron.8:401:159: STYLE: input text line longer than 80 bytes: daemon 
itself, which...
mandoc: cron.8:402:133: STYLE: input text line longer than 80 bytes: 
/etc/crontab, i\&.e\...
mandoc: cron.8:404:119: STYLE: input text line longer than 80 bytes: Files in 
this direct...
mandoc: cron.8:407:119: STYLE: input text line longer than 80 bytes: : they 
must consist ...
mandoc: cron.8:414:107: STYLE: input text line longer than 80 bytes: 
/etc/default/cron, s...
mandoc: cron.8:419:113: STYLE: input text line longer than 80 bytes: The 
intended purpose...
mandoc: cron.8:422:83: STYLE: input text line longer than 80 bytes: 
/etc/cron\&.d\&. Suc...
mandoc: cron.8:430:147: STYLE: input text line longer than 80 bytes: daemon\&. 
This file ...
mandoc: cron.8:432:109: STYLE: input text line longer than 80 bytes: program 
before it is...
mandoc: cron.8:435:2: WARNING: skipping paragraph macro: PP after SH
mandoc: cron.8:440:2: WARNING: skipping paragraph macro: PP after SH
mandoc: cron.8:466:2: WARNING: skipping paragraph macro: br after SH
mandoc: cron.8:470:503: STYLE: input text line longer than 80 bytes: Distribute 
freely, e...
mandoc: cron.8:472:109: STYLE: input text line longer than 80 bytes: Since year 
1994, man...

-.-.

Change '-' (\-) to '\(en' (en-dash) for a numeric range.
GNU gnulib has recently (2023-06-18) updated its
"build_aux/update-copyright" to recognize "\(en" in man pages.

cron.8:448:Maintained the package (1996\-2005)\&.
cron.8:453:Maintained the package (2005\-2014)\&.
cron.8:458:Maintained the package (2010\-2016)\&.
cron.8:463:Maintained the package (2022\-2024)\&.

-.-.

Wrong distance between sentences in the input file.

  Separate the sentences and subordinate clauses; each begins on a new
line.  See man-pages(7) ("Conventions for source file layout") and
"info groff" ("Input Conventions").

  The best procedure is to always start a new sentence on a new line,
at least, if you are typing on a computer.

Remember coding: Only one command ("sentence") on each (logical) line.

E-mail: Easier to quote exactly the relevant lines.

Generally: Easier to edit the sentence.

Patches: Less unaffected text.

Search for two adjacent words is easier, when they belong to the same line,
and the same phrase.

  The amount of space between sentences in the output can then be
controlled with the ".ss" request.

N.B.

  The number of lines affected can be too large to be in a patch.

52:Enable LSB compliant names for /etc/cron\&.d files\&. This setting, however, 
does not affect the parsing of files under
62:Include the FQDN in the subject when sending mails\&. By default, cron will 
abbreviate the hostname\&.
67:Run cron jobs Now, immediately, and exit\&. This option is useful to perform 
tests\&.
96:The default is to log the start of all jobs (1)\&. Logging will be disabled 
if levels is set to zero (0)\&. A value of fifteen (15) will select all 
options\&.
148:/etc/passwd); crontabs found are loaded into memory\&. Note that crontabs 
in this directory should not be accessed directly \- the
155:\fBcrontab\fR(5))\&. In Debian, the content of
162:/etc/cron\&.monthly\&. This configuration is specific to Debian, see the 
note under DEBIAN SPECIFIC below\&.
174:file (they follow the special format of that file, i\&.e\&. they include the
176:field)\&. However, they are independent of
177:/etc/crontab: they do not, for example, inherit environment variable 
settings from it\&. This change is specific to Debian see the note under
184:directory are monitored for changes\&. The system administrator may create 
cron jobs in
191:must be owned by root, and must not be group\- or other\-writable\&. In 
contrast to the spool area, the files under
199:may also be symlinks, provided that both the symlink and the file it points 
to are owned by root\&. The files under
212:then wakes up every minute, examining all stored crontabs, checking each 
command to see if it should be run in the current minute\&. When executing 
commands, any output is mailed to the owner of the crontab (or to the user 
named in the MAILTO environment variable in the crontab, if such exists) from 
the owner of the crontab (or from the email address given in the MAILFROM 
environment variable in the crontab, if such exists)\&. The children copies of 
cron running these processes have their name coerced to uppercase, as will be 
seen in the syslog and ps output\&.
220:will then examine the modtime on all crontabs and reload those which have 
changed\&. Thus
222:need not be restarted whenever a crontab file is modified\&. Note that the
226:Special considerations exist when the clock is changed by less than 3 
hours, for example at the beginning and end of daylight savings time\&. If the 
time has moved forwards, those jobs which would have run in the time that was 
skipped will be run soon after the change\&. Conversely, if the time has moved 
backwards by less than 3 hours, those jobs that fall into the repeated time 
will not be re\-run\&.
228:Only jobs that run at a particular time (not specified as @hourly, nor with 
\*(Aq*\*(Aq in the hour or minute specifier) are affected\&. Jobs which are 
specified with wildcards are run based on the new time immediately\&.
246:with values from the latter overriding values from the former\&. These 
files are read and they will be used to setup the LANG, LC_ALL, and LC_CTYPE 
environment variables\&. These variables are then used to set the charset of 
mails, which defaults to \*(AqC\*(Aq\&.
250:affect the environment of tasks running under cron\&. For more information 
on how to modify the environment of tasks, consult
260:Debian introduces some changes to cron that were not originally available 
upstream\&. The most significant changes introduced are:
385:\fBcrontab\fR(5))\&. The default system\-wide crontab contains four tasks: 
run every hour, every day, every week and every month\&. Each of these tasks 
will execute
387:providing each one of the directories as an argument\&. These tasks are 
disabled if
391:As described above, the files under these directories have to pass some 
sanity checks including the following: be executable, be owned by root, not be 
writable by group or other and, if symlinks, point to files owned by root\&. 
Additionally, the file names must conform to the filename requirements of
392:\fBrun\-parts\fR: they must be entirely made up of letters, digits and can 
only contain the special signs underscores (\*(Aq_\*(Aq) and hyphens 
(\*(Aq\-\*(Aq)\&. Any file that does not conform to these requirements will not 
be executed by
393:\fBrun\-parts\fR\&. For example, any file containing dots will be 
ignored\&. This is done to prevent cron from running any of the files that are 
left by the Debian package management system when handling files in 
/etc/cron\&.d/ as configuration files (i\&.e\&. files ending in \&.dpkg\-dist, 
\&.dpkg\-orig, \&.dpkg\-old, and \&.dpkg\-new)\&.
395:This feature can be used by system administrators and packages to include 
tasks that will be run at defined intervals\&. Files created by packages in 
these directories should be named after the package that supplies them\&.
401:daemon itself, which handles this location as the system\-wide crontab 
spool\&. This directory can contain any file defining tasks following the 
format used in
402:/etc/crontab, i\&.e\&. unlike the user cron spool, these files must provide 
the username to run the task as in the task definition\&.
407:: they must consist solely of upper\- and lower\-case letters, digits, 
underscores, and hyphens\&. This means that they
409:contain any dots\&. If the
422:/etc/cron\&.d\&. Such files should be named after the package that supplies 
them\&.
430:daemon\&. This file determines whether cron will read the system\*(Aqs 
environment variables and makes it possible to add additional options to the
470:Distribute freely, except: don\*(Aqt remove my name from the source or 
documentation (don\*(Aqt take credit for my work), mark your changes (don\*(Aqt 
get me blamed for your possible bugs), don\*(Aqt alter or remove this notice\&. 
May be sold if buildable source is provided to buyer\&. No warranty of any 
kind, express or implied, is included with this software; use at your own risk, 
responsibility for damages (if any) to anyone resulting from the use of this 
software rests entirely with the user\&.

-.-.

Split lines longer than 80 characters into two or more lines.
Appropriate break points are the end of a sentence and a subordinate
clause; after punctuation marks.

N.B.

  The number of lines affected can be too large to be in a patch.


Line 34, length 134

\fBcron\fR [\fB\-f\fR] [\fB\-l\fR] [\fB\-L\ \fR\fB\fIloglevel\fR\fR] [\fB\-n\ 
\fR\fB\fIfqdn\fR\fR] [\fB\-x\ \fR\fB\fIdebugflags\fR\fR]

Line 52, length 119

Enable LSB compliant names for /etc/cron\&.d files\&. This setting, however, 
does not affect the parsing of files under

Line 62, length 102

Include the FQDN in the subject when sending mails\&. By default, cron will 
abbreviate the hostname\&.

Line 67, length 85

Run cron jobs Now, immediately, and exit\&. This option is useful to perform 
tests\&.

Line 96, length 158

The default is to log the start of all jobs (1)\&. Logging will be disabled if 
levels is set to zero (0)\&. A value of fifteen (15) will select all options\&.

Line 101, length 101

Tell cron to be more verbose and output debugging information; debugflags is 
the sum of those values:

Line 147, length 104

searches its spool area (/var/spool/cron/crontabs/) for crontab files (which 
are named after accounts in

Line 148, length 130

/etc/passwd); crontabs found are loaded into memory\&. Note that crontabs in 
this directory should not be accessed directly \- the

Line 162, length 108

/etc/cron\&.monthly\&. This configuration is specific to Debian, see the note 
under DEBIAN SPECIFIC below\&.

Line 177, length 141

/etc/crontab: they do not, for example, inherit environment variable settings 
from it\&. This change is specific to Debian see the note under

Line 184, length 87

directory are monitored for changes\&. The system administrator may create cron 
jobs in

Line 191, length 115

must be owned by root, and must not be group\- or other\-writable\&. In 
contrast to the spool area, the files under

Line 199, length 115

may also be symlinks, provided that both the symlink and the file it points to 
are owned by root\&. The files under

Line 212, length 567

then wakes up every minute, examining all stored crontabs, checking each 
command to see if it should be run in the current minute\&. When executing 
commands, any output is mailed to the owner of the crontab (or to the user 
named in the MAILTO environment variable in the crontab, if such exists) from 
the owner of the crontab (or from the email address given in the MAILFROM 
environment variable in the crontab, if such exists)\&. The children copies of 
cron running these processes have their name coerced to uppercase, as will be 
seen in the syslog and ps output\&.

Line 216, length 85

checks each minute to see if its spool directory\*(Aqs modtime (or the modtime 
on the

Line 220, length 89

will then examine the modtime on all crontabs and reload those which have 
changed\&. Thus

Line 224, length 83

command updates the modtime of the spool directory whenever it changes a 
crontab\&.

Line 226, length 404

Special considerations exist when the clock is changed by less than 3 hours, 
for example at the beginning and end of daylight savings time\&. If the time 
has moved forwards, those jobs which would have run in the time that was 
skipped will be run soon after the change\&. Conversely, if the time has moved 
backwards by less than 3 hours, those jobs that fall into the repeated time 
will not be re\-run\&.

Line 228, length 221

Only jobs that run at a particular time (not specified as @hourly, nor with 
\*(Aq*\*(Aq in the hour or minute specifier) are affected\&. Jobs which are 
specified with wildcards are run based on the new time immediately\&.

Line 230, length 121

Clock changes of more than 3 hours are considered to be corrections to the 
clock, and the new time is used immediately\&.

Line 233, length 103

logs its action to the syslog facility \*(Aqcron\*(Aq, and logging may be 
controlled using the standard

Line 246, length 264

with values from the latter overriding values from the former\&. These files 
are read and they will be used to setup the LANG, LC_ALL, and LC_CTYPE 
environment variables\&. These variables are then used to set the charset of 
mails, which defaults to \*(AqC\*(Aq\&.

Line 250, length 125

affect the environment of tasks running under cron\&. For more information on 
how to modify the environment of tasks, consult

Line 257, length 122

The environment can be redefined in user\*(Aqs crontab definitions but cron 
will only handle tasks in a single timezone\&.

Line 260, length 130

Debian introduces some changes to cron that were not originally available 
upstream\&. The most significant changes introduced are:

Line 385, length 164

\fBcrontab\fR(5))\&. The default system\-wide crontab contains four tasks: run 
every hour, every day, every week and every month\&. Each of these tasks will 
execute

Line 387, length 83

providing each one of the directories as an argument\&. These tasks are 
disabled if

Line 389, length 86

is installed (except for the hourly task) to prevent conflicts between both 
daemons\&.

Line 391, length 301

As described above, the files under these directories have to pass some sanity 
checks including the following: be executable, be owned by root, not be 
writable by group or other and, if symlinks, point to files owned by root\&. 
Additionally, the file names must conform to the filename requirements of

Line 392, length 238

\fBrun\-parts\fR: they must be entirely made up of letters, digits and can only 
contain the special signs underscores (\*(Aq_\*(Aq) and hyphens 
(\*(Aq\-\*(Aq)\&. Any file that does not conform to these requirements will not 
be executed by

Line 393, length 341

\fBrun\-parts\fR\&. For example, any file containing dots will be ignored\&. 
This is done to prevent cron from running any of the files that are left by the 
Debian package management system when handling files in /etc/cron\&.d/ as 
configuration files (i\&.e\&. files ending in \&.dpkg\-dist, \&.dpkg\-orig, 
\&.dpkg\-old, and \&.dpkg\-new)\&.

Line 395, length 223

This feature can be used by system administrators and packages to include tasks 
that will be run at defined intervals\&. Files created by packages in these 
directories should be named after the package that supplies them\&.

Line 401, length 159

daemon itself, which handles this location as the system\-wide crontab spool\&. 
This directory can contain any file defining tasks following the format used in

Line 402, length 133

/etc/crontab, i\&.e\&. unlike the user cron spool, these files must provide the 
username to run the task as in the task definition\&.

Line 404, length 119

Files in this directory have to be owned by root, do not need to be executable 
(they are configuration files, just like

Line 407, length 119

: they must consist solely of upper\- and lower\-case letters, digits, 
underscores, and hyphens\&. This means that they

Line 414, length 107

/etc/default/cron, see below), then they must conform to the LSB namespace 
specification, exactly as in the

Line 419, length 113

The intended purpose of this feature is to allow packages that require finer 
control of their scheduling than the

Line 422, length 83

/etc/cron\&.d\&. Such files should be named after the package that supplies 
them\&.

Line 430, length 147

daemon\&. This file determines whether cron will read the system\*(Aqs 
environment variables and makes it possible to add additional options to the

Line 432, length 109

program before it is executed, either to configure its logging or to define how 
it will treat the files under

Line 470, length 503

Distribute freely, except: don\*(Aqt remove my name from the source or 
documentation (don\*(Aqt take credit for my work), mark your changes (don\*(Aqt 
get me blamed for your possible bugs), don\*(Aqt alter or remove this notice\&. 
May be sold if buildable source is provided to buyer\&. No warranty of any 
kind, express or implied, is included with this software; use at your own risk, 
responsibility for damages (if any) to anyone resulting from the use of this 
software rests entirely with the user\&.

Line 472, length 109

Since year 1994, many modifications were made in this manpage, authored by 
Debian Developers which maintained


-.-.

Show if docman-to-man created this

4:.\" Generator: DocBook XSL Stylesheets vsnapshot <http://docbook.sf.net/>

-.-.

Put a parenthetical sentence, phrase on a separate line,
if not part of a code.
See man-pages(7), item "semantic newline".

cron.8:65:will log all failed jobs (exit status != 0)
cron.8:124:searches its spool area (/var/spool/cron/crontabs/) for crontab 
files (which are named after accounts in
cron.8:189:then wakes up every minute, examining all stored crontabs, checking 
each command to see if it should be run in the current minute\&. When executing 
commands, any output is mailed to the owner of the crontab (or to the user 
named in the MAILTO environment variable in the crontab, if such exists) from 
the owner of the crontab (or from the email address given in the MAILFROM 
environment variable in the crontab, if such exists)\&. The children copies of 
cron running these processes have their name coerced to uppercase, as will be 
seen in the syslog and ps output\&.
cron.8:205:Only jobs that run at a particular time (not specified as @hourly, 
nor with \*(Aq*\*(Aq in the hour or minute specifier) are affected\&. Jobs 
which are specified with wildcards are run based on the new time immediately\&.
cron.8:339:Debian\-specific configuration (/etc/default/cron),
cron.8:366:is installed (except for the hourly task) to prevent conflicts 
between both daemons\&.
cron.8:369:\fBrun\-parts\fR: they must be entirely made up of letters, digits 
and can only contain the special signs underscores (\*(Aq_\*(Aq) and hyphens 
(\*(Aq\-\*(Aq)\&. Any file that does not conform to these requirements will not 
be executed by
cron.8:370:\fBrun\-parts\fR\&. For example, any file containing dots will be 
ignored\&. This is done to prevent cron from running any of the files that are 
left by the Debian package management system when handling files in 
/etc/cron\&.d/ as configuration files (i\&.e\&. files ending in \&.dpkg\-dist, 
\&.dpkg\-orig, \&.dpkg\-old, and \&.dpkg\-new)\&.
cron.8:447:Distribute freely, except: don\*(Aqt remove my name from the source 
or documentation (don\*(Aqt take credit for my work), mark your changes 
(don\*(Aqt get me blamed for your possible bugs), don\*(Aqt alter or remove 
this notice\&. May be sold if buildable source is provided to buyer\&. No 
warranty of any kind, express or implied, is included with this software; use 
at your own risk, responsibility for damages (if any) to anyone resulting from 
the use of this software rests entirely with the user\&.

-.-.

Output from "test-groff  -mandoc -t -K utf8 -rF0 -rHY=0 -ww -b -z ":

troff: backtrace: file '<stdin>':65
troff:<stdin>:65: warning: trailing space in the line

-.-.

  Additionally (general):

  Abbreviations get a '\&' added after their final full stop (.) to mark them
as such and not as an end of a sentence.

  There is no need to add a '\&' before a full stop (.) if it has a character
before it!

  NO PATCH; TOO MANY BAD LINES; FIX THE MAN PAGE GENERATOR (AND THE INPUT FILE)

Reply via email to