[From nobody Fri Jun 12 13:07:05 2026
Received: (at submit) by bugs.debian.org; 27 Jan 2022 08:40:05 +0000
X-Spam-Checker-Version: SpamAssassin 3.4.2-bugs.debian.org_2005_01_02
 (2018-09-13) on buxtehude.debian.org
X-Spam-Level: 
X-Spam-Status: No, score=-11.7 required=4.0 tests=BAYES_00, CHINA_PRODUCTS_BODY,
 FOURLA,GENDER,SPF_HELO_PASS,SPF_NONE,TXREP,XMAILER_REPORTBUG
 autolearn=ham autolearn_force=no
 version=3.4.2-bugs.debian.org_2005_01_02
X-Spam-Bayes: score:0.0000 Tokens: new, 105; hammy, 150; neutral, 397; spammy,
 0. spammytokens: hammytokens:0.000-+--H*M:reportbug,
 0.000-+--H*MI:reportbug, 0.000-+--H*x:reportbug,
 0.000-+--H*UA:reportbug, 0.000-+--H*x:7.10.3
Return-path: &lt;translation@hiereth.de&gt;
Received: from mail.qlogin.de ([45.12.51.44]:40785)
 by buxtehude.debian.org with esmtps (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.92) (envelope-from &lt;translation@hiereth.de&gt;)
 id 1nD0K4-0004Uy-NO
 for submit@bugs.debian.org; Thu, 27 Jan 2022 08:40:05 +0000
Received: from lune (p5b0513ab.dip0.t-ipconnect.de [91.5.19.171])
 by mail.qlogin.de (Postfix) with ESMTPSA id CA0EA402F7;
 Thu, 27 Jan 2022 09:39:59 +0100 (CET)
Received: from hiereth by lune with local (Exim 4.94.2)
 (envelope-from &lt;translation@hiereth.de&gt;)
 id 1nD0Jy-0000NW-Fj; Thu, 27 Jan 2022 09:39:58 +0100
Content-Type: multipart/mixed; boundary=&quot;===============0535809084==&quot;
MIME-Version: 1.0
From: Markus Hiereth &lt;translation@hiereth.de&gt;
To: Debian Bug Tracking System &lt;submit@bugs.debian.org&gt;
Subject: shadow: Improvements for man 8 pwconv
Message-ID: &lt;164327279834.1353.6484955478186585110.reportbug@lune&gt;
X-Mailer: reportbug 7.10.3+deb11u1
Date: Thu, 27 Jan 2022 09:39:58 +0100
Delivered-To: submit@bugs.debian.org

This is a multi-part MIME message sent by reportbug.


--===============0535809084==
Content-Type: text/plain; charset=&quot;us-ascii&quot;
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

Source: shadow
Severity: minor

Dear Serge,

attached the edited xml file for pwconv as discussed in our correspondence 
2022-01-24 / 2022-01-27.

The question whether the two phrases 

 &quot;Some password aging information is lost by &lt;command&gt;pwunconv&lt;/command&gt;. 
 It will convert what it can.&quot;

are adequate/necessary remained open. Perhaps you edit them on your own.

&gt; Sadly, the last sentence is needed - there is a comment 
&gt; in src/pwunconv.c which explains:
&gt; 
&gt; 187                 /*
&gt; 188                  * Password aging works differently in the two different
&gt; 189                  * systems. With shadow password files you apparently must
&gt; 190                  * have some aging information. The maxweeks or minweeks
&gt; 191                  * may not map exactly. In pwconv we set max == 10000,
&gt; 192                  * which is about 30 years. Here we have to undo that
&gt; 193                  * kludge. So, if maxdays == 10000, no aging information
is
&gt; 194                  * put into the new file. Otherwise, the days are
converted
&gt; 195                  * to weeks and so on.
&gt; 196                  */

I was not aware of these details. I just read that pwunconv and
grpunconv delete the shadowed files as the last step of action. On the
other hand, the plain (main) files have just a field for the password,
but no field for password aging information. Therefore i concluded
that password aging information gets lost completely. (And therefore,

Best regards
Markus

--===============0535809084==
Content-Type: text/plain; charset=&quot;us-ascii&quot;
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: attachment; filename=&quot;pwconf.8.diff&quot;

--- shadow-4.8.1/man/pwconv.8.xml	2019-07-23 17:26:08.000000000 +0200
+++ shadow-4.8.1_mh/man/pwconv.8.xml	2022-01-27 09:22:45.352728790 +0100
@@ -71,7 +71,7 @@
     &lt;refname&gt;pwunconv&lt;/refname&gt;
     &lt;refname&gt;grpconv&lt;/refname&gt;
     &lt;refname&gt;grpunconv&lt;/refname&gt;
-    &lt;refpurpose&gt;convert to and from shadow passwords and groups&lt;/refpurpose&gt;
+    &lt;refpurpose&gt;convert between the system's shadowed and plain account files&lt;/refpurpose&gt;
   &lt;/refnamediv&gt;
 
   &lt;refsynopsisdiv id='synopsis'&gt;
@@ -104,9 +104,9 @@
   &lt;refsect1 id='description'&gt;
     &lt;title&gt;DESCRIPTION&lt;/title&gt;
     &lt;para&gt;
-      The &lt;command&gt;pwconv&lt;/command&gt; command creates &lt;emphasis
-      remap='I'&gt;shadow&lt;/emphasis&gt; from &lt;emphasis remap='I'&gt;passwd&lt;/emphasis&gt;
-      and an optionally existing &lt;emphasis remap='I'&gt;shadow&lt;/emphasis&gt;.
+      The &lt;command&gt;pwconv&lt;/command&gt; command creates &lt;filename&gt;
+      shadow&lt;/filename&gt; from &lt;filename&gt;passwd&lt;/filename&gt;
+      and an optionally existing &lt;filename&gt;shadow&lt;/filename&gt;.
     &lt;/para&gt;
     &lt;para condition=&quot;tcb&quot;&gt;
       &lt;command&gt;pwconv&lt;/command&gt; does not work with
@@ -117,12 +117,12 @@
       using &lt;command&gt;tcb_convert&lt;/command&gt; (and re-enable
       &lt;option&gt;USE_TCB&lt;/option&gt; in &lt;filename&gt;login.defs&lt;/filename&gt;.)
     &lt;/para&gt;
-
+    
     &lt;para&gt;
-      The &lt;command&gt;pwunconv&lt;/command&gt; command creates &lt;emphasis
-      remap='I'&gt;passwd&lt;/emphasis&gt; from &lt;emphasis remap='I'&gt;passwd&lt;/emphasis&gt;
-      and &lt;emphasis remap='I'&gt;shadow&lt;/emphasis&gt; and then removes &lt;emphasis
-      remap='I'&gt;shadow&lt;/emphasis&gt;.
+      The &lt;command&gt;pwunconv&lt;/command&gt; command creates
+      &lt;filename&gt;passwd&lt;/filename&gt; from &lt;filename&gt;passwd&lt;/filename&gt; and
+      &lt;filename&gt;shadow&lt;/filename&gt; and then removes
+      &lt;filename&gt;shadow&lt;/filename&gt;.
     &lt;/para&gt;
     &lt;para condition=&quot;tcb&quot;&gt;
       &lt;command&gt;pwunconv&lt;/command&gt; does not work with
@@ -134,16 +134,16 @@
     &lt;/para&gt;
 
     &lt;para&gt;
-      The &lt;command&gt;grpconv&lt;/command&gt; command creates &lt;emphasis
-      remap='I'&gt;gshadow&lt;/emphasis&gt; from &lt;emphasis remap='I'&gt;group&lt;/emphasis&gt;
-      and an optionally existing &lt;emphasis remap='I'&gt;gshadow&lt;/emphasis&gt;.
+      The &lt;command&gt;grpconv&lt;/command&gt; command creates
+      &lt;filename&gt;gshadow&lt;/filename&gt; from &lt;filename&gt;group&lt;/filename&gt; and
+      an optionally existing &lt;filename&gt;gshadow&lt;/filename&gt;.
     &lt;/para&gt;
 
     &lt;para&gt;
-      The &lt;command&gt;grpunconv&lt;/command&gt; command creates &lt;emphasis
-      remap='I'&gt;group&lt;/emphasis&gt; from &lt;emphasis remap='I'&gt;group&lt;/emphasis&gt;
-      and &lt;emphasis remap='I'&gt;gshadow&lt;/emphasis&gt; and then removes &lt;emphasis
-      remap='I'&gt;gshadow&lt;/emphasis&gt;.
+      The &lt;command&gt;grpunconv&lt;/command&gt; command creates
+      &lt;filename&gt;group&lt;/filename&gt; from &lt;filename&gt;group&lt;/filename&gt; and
+      &lt;filename&gt;gshadow&lt;/filename&gt; and then removes
+      &lt;filename&gt;gshadow&lt;/filename&gt;.
     &lt;/para&gt;
 
     &lt;para&gt;
@@ -156,12 +156,12 @@
     &lt;para&gt;
       Each program acquires the necessary locks before conversion. 
       &lt;command&gt;pwconv&lt;/command&gt; and &lt;command&gt;grpconv&lt;/command&gt; are similar. 
-      First, entries in the shadowed file which don't exist in the main file
-      are removed. Then, shadowed entries which don't have `x' as the
-      password in the main file are updated. Any missing shadowed entries
-      are added. Finally, passwords in the main file are replaced with `x'. 
+      First, entries in the shadowed file which don't exist in the plain file
+      are removed. Then, entries in the shadowed file which don't have `x' 
+      as the password in plain file are updated. Any missing shadowed entries
+      are added. Finally, passwords in the plain file are replaced with `x'. 
       These programs can be used for initial conversion as well to update
-      the shadowed file if the main file is edited by hand.
+      the shadowed file if the plain file is edited by hand.
     &lt;/para&gt;
 
     &lt;para&gt;
@@ -175,8 +175,8 @@
 
     &lt;para&gt;
       Likewise &lt;command&gt;pwunconv&lt;/command&gt; and &lt;command&gt;grpunconv&lt;/command&gt;
-      are similar. Passwords in the main file are updated from the shadowed
-      file. Entries which exist in the main file but not in the shadowed
+      are similar. Passwords in the plain file are updated from the shadowed
+      file. Entries which exist in the plain file but not in the shadowed
       file are left alone. Finally, the shadowed file is removed. Some
       password aging information is lost by &lt;command&gt;pwunconv&lt;/command&gt;. It
       will convert what it can.
@@ -219,7 +219,7 @@
       entries) may cause these programs to loop forever or fail in other
       strange ways. Please run &lt;command&gt;pwck&lt;/command&gt; and
       &lt;command&gt;grpck&lt;/command&gt; to correct any such errors before converting
-      to or from shadow passwords or groups.
+      to or from shadowed files.
     &lt;/para&gt;
   &lt;/refsect1&gt;
 

--===============0535809084==
Content-Type: text/plain; charset=&quot;utf-8&quot;
MIME-Version: 1.0
Content-Transfer-Encoding: base64
Content-Disposition: attachment; filename=&quot;pwconv.8.xml&quot;

PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPCEtLQogICBDb3B5cmlnaHQg
KGMpIDE5OTYgLSAxOTk4LCBNYXJlayBNaWNoYcWCa2lld2ljegogICBDb3B5cmlnaHQgKGMpIDIw
MDAgLSAyMDA2LCBUb21hc3ogS8WCb2N6a28KICAgQ29weXJpZ2h0IChjKSAyMDA3IC0gMjAxMSwg
Tmljb2xhcyBGcmFuw6dvaXMKICAgQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAKICAgUmVkaXN0cmli
dXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0
CiAgIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dp
bmcgY29uZGl0aW9ucwogICBhcmUgbWV0OgogICAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNl
IGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAogICAgICBub3RpY2UsIHRoaXMg
bGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCiAgIDIuIFJl
ZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29w
eXJpZ2h0CiAgICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xs
b3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKICAgICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIg
bWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KICAgMy4gVGhlIG5hbWUg
b2YgdGhlIGNvcHlyaWdodCBob2xkZXJzIG9yIGNvbnRyaWJ1dG9ycyBtYXkgbm90IGJlIHVzZWQg
dG8KICAgICAgZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbSB0aGlzIHNv
ZnR3YXJlIHdpdGhvdXQKICAgICAgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgog
IAogICBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBB
TkQgQ09OVFJJQlVUT1JTCiAgIGBgQVMgSVMnJyBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBX
QVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QKICAgTElNSVRFRCBUTywgVEhFIElNUExJRUQg
V0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEKICAgUEFSVElD
VUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlS
SUdIVAogICBIT0xERVJTIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1Qs
IElORElSRUNULCBJTkNJREVOVEFMLAogICBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVF
TlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCiAgIExJTUlURUQgVE8sIFBST0NVUkVN
RU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLAogICBEQVRB
LCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFO
RCBPTiBBTlkKICAgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RS
SUNUIExJQUJJTElUWSwgT1IgVE9SVAogICAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJX
SVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKICAgT0YgVEhJUyBTT0ZUV0FS
RSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KLS0+
CjwhRE9DVFlQRSByZWZlbnRyeSBQVUJMSUMgIi0vL09BU0lTLy9EVEQgRG9jQm9vayBWNC41Ly9F
TiIKICAiaHR0cDovL3d3dy5vYXNpcy1vcGVuLm9yZy9kb2Nib29rL3htbC80LjUvZG9jYm9va3gu
ZHRkIiBbCjwhRU5USVRZIE1BWF9NRU1CRVJTX1BFUl9HUk9VUCBTWVNURU0gImxvZ2luLmRlZnMu
ZC9NQVhfTUVNQkVSU19QRVJfR1JPVVAueG1sIj4KPCFFTlRJVFkgUEFTU19NQVhfREFZUyAgICAg
ICAgIFNZU1RFTSAibG9naW4uZGVmcy5kL1BBU1NfTUFYX0RBWVMueG1sIj4KPCFFTlRJVFkgUEFT
U19NSU5fREFZUyAgICAgICAgIFNZU1RFTSAibG9naW4uZGVmcy5kL1BBU1NfTUlOX0RBWVMueG1s
Ij4KPCFFTlRJVFkgUEFTU19XQVJOX0FHRSAgICAgICAgIFNZU1RFTSAibG9naW4uZGVmcy5kL1BB
U1NfV0FSTl9BR0UueG1sIj4KPCFFTlRJVFkgVVNFX1RDQiAgICAgICAgICAgICAgIFNZU1RFTSAi
bG9naW4uZGVmcy5kL1VTRV9UQ0IueG1sIj4KPCEtLSBTSEFET1ctQ09ORklHLUhFUkUgLS0+Cl0+
CjxyZWZlbnRyeSBpZD0ncHdjb252LjgnPgogIDwhLS0gJElkJCAtLT4KICA8cmVmZW50cnlpbmZv
PgogICAgPGF1dGhvcj4KICAgICAgPGZpcnN0bmFtZT5NYXJlazwvZmlyc3RuYW1lPgogICAgICA8
c3VybmFtZT5NaWNoYcWCa2lld2ljejwvc3VybmFtZT4KICAgICAgPGNvbnRyaWI+Q3JlYXRpb24s
IDE5OTY8L2NvbnRyaWI+CiAgICA8L2F1dGhvcj4KICAgIDxhdXRob3I+CiAgICAgIDxmaXJzdG5h
bWU+VGhvbWFzPC9maXJzdG5hbWU+CiAgICAgIDxzdXJuYW1lPkvFgm9jemtvPC9zdXJuYW1lPgog
ICAgICA8ZW1haWw+a2xvY3pla0BwbGQub3JnLnBsPC9lbWFpbD4KICAgICAgPGNvbnRyaWI+c2hh
ZG93LXV0aWxzIG1haW50YWluZXIsIDIwMDAgLSAyMDA3PC9jb250cmliPgogICAgPC9hdXRob3I+
CiAgICA8YXV0aG9yPgogICAgICA8Zmlyc3RuYW1lPk5pY29sYXM8L2ZpcnN0bmFtZT4KICAgICAg
PHN1cm5hbWU+RnJhbsOnb2lzPC9zdXJuYW1lPgogICAgICA8ZW1haWw+bmljb2xhcy5mcmFuY29p
c0BjZW50cmFsaWVucy5uZXQ8L2VtYWlsPgogICAgICA8Y29udHJpYj5zaGFkb3ctdXRpbHMgbWFp
bnRhaW5lciwgMjAwNyAtIG5vdzwvY29udHJpYj4KICAgIDwvYXV0aG9yPgogIDwvcmVmZW50cnlp
bmZvPgogIDxyZWZtZXRhPgogICAgPHJlZmVudHJ5dGl0bGU+cHdjb252PC9yZWZlbnRyeXRpdGxl
PgogICAgPG1hbnZvbG51bT44PC9tYW52b2xudW0+CiAgICA8cmVmbWlzY2luZm8gY2xhc3M9InNl
Y3RkZXNjIj5TeXN0ZW0gTWFuYWdlbWVudCBDb21tYW5kczwvcmVmbWlzY2luZm8+CiAgICA8cmVm
bWlzY2luZm8gY2xhc3M9InNvdXJjZSI+c2hhZG93LXV0aWxzPC9yZWZtaXNjaW5mbz4KICAgIDxy
ZWZtaXNjaW5mbyBjbGFzcz0idmVyc2lvbiI+JlNIQURPV19VVElMU19WRVJTSU9OOzwvcmVmbWlz
Y2luZm8+CiAgPC9yZWZtZXRhPgogIDxyZWZuYW1lZGl2IGlkPSduYW1lJz4KICAgIDxyZWZuYW1l
PnB3Y29udjwvcmVmbmFtZT4KICAgIDxyZWZuYW1lPnB3dW5jb252PC9yZWZuYW1lPgogICAgPHJl
Zm5hbWU+Z3JwY29udjwvcmVmbmFtZT4KICAgIDxyZWZuYW1lPmdycHVuY29udjwvcmVmbmFtZT4K
ICAgIDxyZWZwdXJwb3NlPmNvbnZlcnQgYmV0d2VlbiB0aGUgc3lzdGVtJ3Mgc2hhZG93ZWQgYW5k
IHBsYWluIGFjY291bnQgZmlsZXM8L3JlZnB1cnBvc2U+CiAgPC9yZWZuYW1lZGl2PgoKICA8cmVm
c3lub3BzaXNkaXYgaWQ9J3N5bm9wc2lzJz4KICAgIDxjbWRzeW5vcHNpcz4KICAgICAgPGNvbW1h
bmQ+cHdjb252PC9jb21tYW5kPgogICAgICA8YXJnIGNob2ljZT0nb3B0Jz4KICAgICAgICA8cmVw
bGFjZWFibGU+b3B0aW9uczwvcmVwbGFjZWFibGU+CiAgICAgIDwvYXJnPgogICAgPC9jbWRzeW5v
cHNpcz4KICAgIDxjbWRzeW5vcHNpcz4KICAgICAgPGNvbW1hbmQ+cHd1bmNvbnY8L2NvbW1hbmQ+
CiAgICAgIDxhcmcgY2hvaWNlPSdvcHQnPgogICAgICAgIDxyZXBsYWNlYWJsZT5vcHRpb25zPC9y
ZXBsYWNlYWJsZT4KICAgICAgPC9hcmc+CiAgICA8L2NtZHN5bm9wc2lzPgogICAgPGNtZHN5bm9w
c2lzPgogICAgICA8Y29tbWFuZD5ncnBjb252PC9jb21tYW5kPgogICAgICA8YXJnIGNob2ljZT0n
b3B0Jz4KICAgICAgICA8cmVwbGFjZWFibGU+b3B0aW9uczwvcmVwbGFjZWFibGU+CiAgICAgIDwv
YXJnPgogICAgPC9jbWRzeW5vcHNpcz4KICAgIDxjbWRzeW5vcHNpcz4KICAgICAgPGNvbW1hbmQ+
Z3JwdW5jb252PC9jb21tYW5kPgogICAgICA8YXJnIGNob2ljZT0nb3B0Jz4KICAgICAgICA8cmVw
bGFjZWFibGU+b3B0aW9uczwvcmVwbGFjZWFibGU+CiAgICAgIDwvYXJnPgogICAgPC9jbWRzeW5v
cHNpcz4KICA8L3JlZnN5bm9wc2lzZGl2PgoKICA8cmVmc2VjdDEgaWQ9J2Rlc2NyaXB0aW9uJz4K
ICAgIDx0aXRsZT5ERVNDUklQVElPTjwvdGl0bGU+CiAgICA8cGFyYT4KICAgICAgVGhlIDxjb21t
YW5kPnB3Y29udjwvY29tbWFuZD4gY29tbWFuZCBjcmVhdGVzIDxmaWxlbmFtZT4KICAgICAgc2hh
ZG93PC9maWxlbmFtZT4gZnJvbSA8ZmlsZW5hbWU+cGFzc3dkPC9maWxlbmFtZT4KICAgICAgYW5k
IGFuIG9wdGlvbmFsbHkgZXhpc3RpbmcgPGZpbGVuYW1lPnNoYWRvdzwvZmlsZW5hbWU+LgogICAg
PC9wYXJhPgogICAgPHBhcmEgY29uZGl0aW9uPSJ0Y2IiPgogICAgICA8Y29tbWFuZD5wd2NvbnY8
L2NvbW1hbmQ+IGRvZXMgbm90IHdvcmsgd2l0aAogICAgICA8b3B0aW9uPlVTRV9UQ0I8L29wdGlv
bj4gZW5hYmxlZC4gVG8gY29udmVydCB0byB0Y2IgcGFzc3dvcmRzLCB5b3UKICAgICAgc2hvdWxk
IGZpcnN0IHVzZSA8Y29tbWFuZD5wd2NvbnY8L2NvbW1hbmQ+IHRvIGNvbnZlcnQgdG8gc2hhZG93
ZWQKICAgICAgcGFzc3dvcmRzIGJ5IGRpc2FibGluZyA8b3B0aW9uPlVTRV9UQ0I8L29wdGlvbj4g
aW4KICAgICAgPGZpbGVuYW1lPmxvZ2luLmRlZnM8L2ZpbGVuYW1lPiBhbmQgdGhlbiBjb252ZXJ0
IHRvIHRjYiBwYXNzd29yZAogICAgICB1c2luZyA8Y29tbWFuZD50Y2JfY29udmVydDwvY29tbWFu
ZD4gKGFuZCByZS1lbmFibGUKICAgICAgPG9wdGlvbj5VU0VfVENCPC9vcHRpb24+IGluIDxmaWxl
bmFtZT5sb2dpbi5kZWZzPC9maWxlbmFtZT4uKQogICAgPC9wYXJhPgogICAgCiAgICA8cGFyYT4K
ICAgICAgVGhlIDxjb21tYW5kPnB3dW5jb252PC9jb21tYW5kPiBjb21tYW5kIGNyZWF0ZXMKICAg
ICAgPGZpbGVuYW1lPnBhc3N3ZDwvZmlsZW5hbWU+IGZyb20gPGZpbGVuYW1lPnBhc3N3ZDwvZmls
ZW5hbWU+IGFuZAogICAgICA8ZmlsZW5hbWU+c2hhZG93PC9maWxlbmFtZT4gYW5kIHRoZW4gcmVt
b3ZlcwogICAgICA8ZmlsZW5hbWU+c2hhZG93PC9maWxlbmFtZT4uCiAgICA8L3BhcmE+CiAgICA8
cGFyYSBjb25kaXRpb249InRjYiI+CiAgICAgIDxjb21tYW5kPnB3dW5jb252PC9jb21tYW5kPiBk
b2VzIG5vdCB3b3JrIHdpdGgKICAgICAgPG9wdGlvbj5VU0VfVENCPC9vcHRpb24+IGVuYWJsZWQu
IFlvdSBzaG91bGQgZmlyc3Qgc3dpdGNoIGJhY2sgZnJvbQogICAgICB0Y2IgdG8gc2hhZG93ZWQg
cGFzc3dvcmRzIHVzaW5nIDxjb21tYW5kPnRjYl91bmNvbnZlcnQ8L2NvbW1hbmQ+LAogICAgICBh
bmQgdGhlbiBkaXNhYmxlIDxvcHRpb24+VVNFX1RDQjwvb3B0aW9uPiBpbgogICAgICA8ZmlsZW5h
bWU+bG9naW4uZGVmczwvZmlsZW5hbWU+IGJlZm9yZSB1c2luZwogICAgICA8Y29tbWFuZD5wd3Vu
Y29udjwvY29tbWFuZD4uCiAgICA8L3BhcmE+CgogICAgPHBhcmE+CiAgICAgIFRoZSA8Y29tbWFu
ZD5ncnBjb252PC9jb21tYW5kPiBjb21tYW5kIGNyZWF0ZXMKICAgICAgPGZpbGVuYW1lPmdzaGFk
b3c8L2ZpbGVuYW1lPiBmcm9tIDxmaWxlbmFtZT5ncm91cDwvZmlsZW5hbWU+IGFuZAogICAgICBh
biBvcHRpb25hbGx5IGV4aXN0aW5nIDxmaWxlbmFtZT5nc2hhZG93PC9maWxlbmFtZT4uCiAgICA8
L3BhcmE+CgogICAgPHBhcmE+CiAgICAgIFRoZSA8Y29tbWFuZD5ncnB1bmNvbnY8L2NvbW1hbmQ+
IGNvbW1hbmQgY3JlYXRlcwogICAgICA8ZmlsZW5hbWU+Z3JvdXA8L2ZpbGVuYW1lPiBmcm9tIDxm
aWxlbmFtZT5ncm91cDwvZmlsZW5hbWU+IGFuZAogICAgICA8ZmlsZW5hbWU+Z3NoYWRvdzwvZmls
ZW5hbWU+IGFuZCB0aGVuIHJlbW92ZXMKICAgICAgPGZpbGVuYW1lPmdzaGFkb3c8L2ZpbGVuYW1l
Pi4KICAgIDwvcGFyYT4KCiAgICA8cGFyYT4KICAgICAgVGhlc2UgZm91ciBwcm9ncmFtcyBhbGwg
b3BlcmF0ZSBvbiB0aGUgbm9ybWFsIGFuZCBzaGFkb3cgcGFzc3dvcmQgYW5kCiAgICAgIGdyb3Vw
IGZpbGVzOiA8ZmlsZW5hbWU+L2V0Yy9wYXNzd2Q8L2ZpbGVuYW1lPiwKICAgICAgPGZpbGVuYW1l
Pi9ldGMvZ3JvdXA8L2ZpbGVuYW1lPiwgPGZpbGVuYW1lPi9ldGMvc2hhZG93PC9maWxlbmFtZT4s
IGFuZAogICAgICA8ZmlsZW5hbWU+L2V0Yy9nc2hhZG93PC9maWxlbmFtZT4uCiAgICA8L3BhcmE+
CgogICAgPHBhcmE+CiAgICAgIEVhY2ggcHJvZ3JhbSBhY3F1aXJlcyB0aGUgbmVjZXNzYXJ5IGxv
Y2tzIGJlZm9yZSBjb252ZXJzaW9uLiAKICAgICAgPGNvbW1hbmQ+cHdjb252PC9jb21tYW5kPiBh
bmQgPGNvbW1hbmQ+Z3JwY29udjwvY29tbWFuZD4gYXJlIHNpbWlsYXIuIAogICAgICBGaXJzdCwg
ZW50cmllcyBpbiB0aGUgc2hhZG93ZWQgZmlsZSB3aGljaCBkb24ndCBleGlzdCBpbiB0aGUgcGxh
aW4gZmlsZQogICAgICBhcmUgcmVtb3ZlZC4gVGhlbiwgZW50cmllcyBpbiB0aGUgc2hhZG93ZWQg
ZmlsZSB3aGljaCBkb24ndCBoYXZlIGB4JyAKICAgICAgYXMgdGhlIHBhc3N3b3JkIGluIHBsYWlu
IGZpbGUgYXJlIHVwZGF0ZWQuIEFueSBtaXNzaW5nIHNoYWRvd2VkIGVudHJpZXMKICAgICAgYXJl
IGFkZGVkLiBGaW5hbGx5LCBwYXNzd29yZHMgaW4gdGhlIHBsYWluIGZpbGUgYXJlIHJlcGxhY2Vk
IHdpdGggYHgnLiAKICAgICAgVGhlc2UgcHJvZ3JhbXMgY2FuIGJlIHVzZWQgZm9yIGluaXRpYWwg
Y29udmVyc2lvbiBhcyB3ZWxsIHRvIHVwZGF0ZQogICAgICB0aGUgc2hhZG93ZWQgZmlsZSBpZiB0
aGUgcGxhaW4gZmlsZSBpcyBlZGl0ZWQgYnkgaGFuZC4KICAgIDwvcGFyYT4KCiAgICA8cGFyYT4K
ICAgICAgPGNvbW1hbmQ+cHdjb252PC9jb21tYW5kPiB3aWxsIHVzZSB0aGUgdmFsdWVzIG9mIDxl
bXBoYXNpcwogICAgICByZW1hcD0nSSc+UEFTU19NSU5fREFZUzwvZW1waGFzaXM+LCA8ZW1waGFz
aXMKICAgICAgcmVtYXA9J0knPlBBU1NfTUFYX0RBWVM8L2VtcGhhc2lzPiwgYW5kIDxlbXBoYXNp
cwogICAgICByZW1hcD0nSSc+UEFTU19XQVJOX0FHRTwvZW1waGFzaXM+IGZyb20KICAgICAgPGZp
bGVuYW1lPi9ldGMvbG9naW4uZGVmczwvZmlsZW5hbWU+IHdoZW4gYWRkaW5nIG5ldyBlbnRyaWVz
IHRvCiAgICAgIDxmaWxlbmFtZT4vZXRjL3NoYWRvdzwvZmlsZW5hbWU+LgogICAgPC9wYXJhPgoK
ICAgIDxwYXJhPgogICAgICBMaWtld2lzZSA8Y29tbWFuZD5wd3VuY29udjwvY29tbWFuZD4gYW5k
IDxjb21tYW5kPmdycHVuY29udjwvY29tbWFuZD4KICAgICAgYXJlIHNpbWlsYXIuIFBhc3N3b3Jk
cyBpbiB0aGUgcGxhaW4gZmlsZSBhcmUgdXBkYXRlZCBmcm9tIHRoZSBzaGFkb3dlZAogICAgICBm
aWxlLiBFbnRyaWVzIHdoaWNoIGV4aXN0IGluIHRoZSBwbGFpbiBmaWxlIGJ1dCBub3QgaW4gdGhl
IHNoYWRvd2VkCiAgICAgIGZpbGUgYXJlIGxlZnQgYWxvbmUuIEZpbmFsbHksIHRoZSBzaGFkb3dl
ZCBmaWxlIGlzIHJlbW92ZWQuIFNvbWUKICAgICAgcGFzc3dvcmQgYWdpbmcgaW5mb3JtYXRpb24g
aXMgbG9zdCBieSA8Y29tbWFuZD5wd3VuY29udjwvY29tbWFuZD4uIEl0CiAgICAgIHdpbGwgY29u
dmVydCB3aGF0IGl0IGNhbi4KICAgIDwvcGFyYT4KICA8L3JlZnNlY3QxPgoKICA8cmVmc2VjdDEg
aWQ9J29wdGlvbnMnPgogICAgPHRpdGxlPk9QVElPTlM8L3RpdGxlPgogICAgPHBhcmE+CiAgICAg
IFRoZSBvcHRpb25zIHdoaWNoIGFwcGx5IHRvIHRoZSA8Y29tbWFuZD5wd2NvbnY8L2NvbW1hbmQ+
LAogICAgICA8Y29tbWFuZD5wd3VuY29udjwvY29tbWFuZD4sIDxjb21tYW5kPmdycGNvbnY8L2Nv
bW1hbmQ+LCBhbmQKICAgICAgPGNvbW1hbmQ+Z3JwdW5jb252PC9jb21tYW5kPiBjb21tYW5kcyBh
cmU6CiAgICA8L3BhcmE+CiAgICA8dmFyaWFibGVsaXN0IHJlbWFwPSdJUCc+CiAgICAgIDx2YXJs
aXN0ZW50cnk+Cgk8dGVybT48b3B0aW9uPi1oPC9vcHRpb24+LCA8b3B0aW9uPi0taGVscDwvb3B0
aW9uPjwvdGVybT4KCTxsaXN0aXRlbT4KCSAgPHBhcmE+RGlzcGxheSBoZWxwIG1lc3NhZ2UgYW5k
IGV4aXQuPC9wYXJhPgoJPC9saXN0aXRlbT4KICAgICAgPC92YXJsaXN0ZW50cnk+CiAgICAgIDx2
YXJsaXN0ZW50cnk+Cgk8dGVybT4KCSAgPG9wdGlvbj4tUjwvb3B0aW9uPiwgPG9wdGlvbj4tLXJv
b3Q8L29wdGlvbj4mbmJzcDs8cmVwbGFjZWFibGU+Q0hST09UX0RJUjwvcmVwbGFjZWFibGU+Cgk8
L3Rlcm0+Cgk8bGlzdGl0ZW0+CgkgIDxwYXJhPgoJICAgIEFwcGx5IGNoYW5nZXMgaW4gdGhlIDxy
ZXBsYWNlYWJsZT5DSFJPT1RfRElSPC9yZXBsYWNlYWJsZT4KCSAgICBkaXJlY3RvcnkgYW5kIHVz
ZSB0aGUgY29uZmlndXJhdGlvbiBmaWxlcyBmcm9tIHRoZQoJICAgIDxyZXBsYWNlYWJsZT5DSFJP
T1RfRElSPC9yZXBsYWNlYWJsZT4gZGlyZWN0b3J5LgoJICA8L3BhcmE+Cgk8L2xpc3RpdGVtPgog
ICAgICA8L3Zhcmxpc3RlbnRyeT4KICAgIDwvdmFyaWFibGVsaXN0PgogIDwvcmVmc2VjdDE+Cgog
IDxyZWZzZWN0MSBpZD0nYnVncyc+CiAgICA8dGl0bGU+QlVHUzwvdGl0bGU+CiAgICA8cGFyYT4K
ICAgICAgRXJyb3JzIGluIHRoZSBwYXNzd29yZCBvciBncm91cCBmaWxlcyAoc3VjaCBhcyBpbnZh
bGlkIG9yIGR1cGxpY2F0ZQogICAgICBlbnRyaWVzKSBtYXkgY2F1c2UgdGhlc2UgcHJvZ3JhbXMg
dG8gbG9vcCBmb3JldmVyIG9yIGZhaWwgaW4gb3RoZXIKICAgICAgc3RyYW5nZSB3YXlzLiBQbGVh
c2UgcnVuIDxjb21tYW5kPnB3Y2s8L2NvbW1hbmQ+IGFuZAogICAgICA8Y29tbWFuZD5ncnBjazwv
Y29tbWFuZD4gdG8gY29ycmVjdCBhbnkgc3VjaCBlcnJvcnMgYmVmb3JlIGNvbnZlcnRpbmcKICAg
ICAgdG8gb3IgZnJvbSBzaGFkb3dlZCBmaWxlcy4KICAgIDwvcGFyYT4KICA8L3JlZnNlY3QxPgoK
ICA8cmVmc2VjdDEgaWQ9J2NvbmZpZ3VyYXRpb24nPgogICAgPHRpdGxlPkNPTkZJR1VSQVRJT048
L3RpdGxlPgogICAgPHBhcmE+CiAgICAgIFRoZSBmb2xsb3dpbmcgY29uZmlndXJhdGlvbiB2YXJp
YWJsZSBpbgogICAgICA8ZmlsZW5hbWU+L2V0Yy9sb2dpbi5kZWZzPC9maWxlbmFtZT4gY2hhbmdl
cyB0aGUgYmVoYXZpb3Igb2YKICAgICAgPGNvbW1hbmQ+Z3JwY29udjwvY29tbWFuZD4gYW5kIDxj
b21tYW5kPmdycHVuY29udjwvY29tbWFuZD46CiAgICA8L3BhcmE+CiAgICA8dmFyaWFibGVsaXN0
PgogICAgICAmTUFYX01FTUJFUlNfUEVSX0dST1VQOwogICAgPC92YXJpYWJsZWxpc3Q+CiAgICA8
cGFyYT4KICAgICAgVGhlIGZvbGxvd2luZyBjb25maWd1cmF0aW9uIHZhcmlhYmxlcyBpbgogICAg
ICA8ZmlsZW5hbWU+L2V0Yy9sb2dpbi5kZWZzPC9maWxlbmFtZT4gY2hhbmdlIHRoZSBiZWhhdmlv
ciBvZgogICAgICA8Y29tbWFuZD5wd2NvbnY8L2NvbW1hbmQ+OgogICAgPC9wYXJhPgogICAgPHZh
cmlhYmxlbGlzdD4KICAgICAgJlBBU1NfTUFYX0RBWVM7CiAgICAgICZQQVNTX01JTl9EQVlTOwog
ICAgICAmUEFTU19XQVJOX0FHRTsKICAgICAgJlVTRV9UQ0I7CiAgICA8L3ZhcmlhYmxlbGlzdD4K
ICA8L3JlZnNlY3QxPgoKICA8cmVmc2VjdDEgaWQ9J2ZpbGVzJz4KICAgIDx0aXRsZT5GSUxFUzwv
dGl0bGU+CiAgICA8dmFyaWFibGVsaXN0PgogICAgICA8dmFybGlzdGVudHJ5PgoJPHRlcm0+PGZp
bGVuYW1lPi9ldGMvbG9naW4uZGVmczwvZmlsZW5hbWU+PC90ZXJtPgoJPGxpc3RpdGVtPgoJICA8
cGFyYT5TaGFkb3cgcGFzc3dvcmQgc3VpdGUgY29uZmlndXJhdGlvbi48L3BhcmE+Cgk8L2xpc3Rp
dGVtPgogICAgICA8L3Zhcmxpc3RlbnRyeT4KICAgIDwvdmFyaWFibGVsaXN0PgogIDwvcmVmc2Vj
dDE+CgogIDxyZWZzZWN0MSBpZD0nc2VlX2Fsc28nPgogICAgPHRpdGxlPlNFRSBBTFNPPC90aXRs
ZT4KICAgIDxwYXJhPgogICAgICA8Y2l0ZXJlZmVudHJ5PgoJPHJlZmVudHJ5dGl0bGU+Z3JwY2s8
L3JlZmVudHJ5dGl0bGU+PG1hbnZvbG51bT44PC9tYW52b2xudW0+CiAgICAgIDwvY2l0ZXJlZmVu
dHJ5PiwKICAgICAgPGNpdGVyZWZlbnRyeT4KCTxyZWZlbnRyeXRpdGxlPmxvZ2luLmRlZnM8L3Jl
ZmVudHJ5dGl0bGU+PG1hbnZvbG51bT41PC9tYW52b2xudW0+CiAgICAgIDwvY2l0ZXJlZmVudHJ5
PiwKICAgICAgPGNpdGVyZWZlbnRyeT4KCTxyZWZlbnRyeXRpdGxlPnB3Y2s8L3JlZmVudHJ5dGl0
bGU+PG1hbnZvbG51bT44PC9tYW52b2xudW0+CiAgICAgIDwvY2l0ZXJlZmVudHJ5PjxwaHJhc2Ug
Y29uZGl0aW9uPSJ0Y2IiPiwKICAgICAgPGNpdGVyZWZlbnRyeT4KCTxyZWZlbnRyeXRpdGxlPnRj
Yl9jb252ZXJ0PC9yZWZlbnRyeXRpdGxlPjxtYW52b2xudW0+ODwvbWFudm9sbnVtPgogICAgICA8
L2NpdGVyZWZlbnRyeT4sCiAgICAgIDxjaXRlcmVmZW50cnk+Cgk8cmVmZW50cnl0aXRsZT50Y2Jf
dW5jb252ZXJ0PC9yZWZlbnRyeXRpdGxlPjxtYW52b2xudW0+ODwvbWFudm9sbnVtPgogICAgICA8
L2NpdGVyZWZlbnRyeT48L3BocmFzZT4uCiAgICA8L3BhcmE+CiAgPC9yZWZzZWN0MT4KPC9yZWZl
bnRyeT4K

--===============0535809084==--
]