<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<!DOCTYPE bugzilla SYSTEM "http://bugs.gentoo.org/bugzilla.dtd">

<bugzilla version="2.22.7"
          urlbase="http://bugs.gentoo.org/"
          maintainer="bugzilla@gentoo.org"
>

    <bug>
          <bug_id>247129</bug_id>
          
          <creation_ts>2008-11-17 01:48 0000</creation_ts>
          <short_desc>Add support to gcc to work around R10K errata</short_desc>
          <delta_ts>2008-11-23 18:26:24 0000</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>Gentoo Linux</product>
          <component>Development</component>
          <version>unspecified</version>
          <rep_platform>All</rep_platform>
          <op_sys>Linux</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          
          <priority>P2</priority>
          <bug_severity>normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          
          <everconfirmed>1</everconfirmed>
          <reporter>kumba@gentoo.org</reporter>
          <assigned_to>toolchain@gentoo.org</assigned_to>
          <cc>mips@gentoo.org</cc>

      

      
          <long_desc isprivate="0">
            <who>kumba@gentoo.org</who>
            <bug_when>2008-11-17 01:48:14 0000</bug_when>
            <thetext>Got this patch submitted to upstream, and I&apos;ve since backported it to 4.3.2.  Tested on a cross-compiler, which builds fine, and built a kernel with it (although, the kernel has its own workarounds anyways).

Option is implied by default if --march=r10000, else by specifying -mfix-r10000.  Cannot be used with -march=mips1, since it relies on branch-likely instructions (beql, beqzl) being available, and those were introduced in the MIPS-II ISA specification.  It was decided in the patch discussion on gcc-patches that we would not implement the workaround for MIPS-I binaries (which involves substituting in 28 nops after the branch), because most modern binaries that run on R10K processors are either n32 MIPS-IV (Irix 6.x) or o32 MIPS-II (Irix 5.x, Debian stable, and Gentoo) minimum.

Start of discussion:
http://gcc.gnu.org/ml/gcc-patches/2008-10/msg01332.html

Final Patch committed to upstream:
http://gcc.gnu.org/ml/gcc-patches/2008-11/msg00707.html</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>kumba@gentoo.org</who>
            <bug_when>2008-11-17 01:48:42 0000</bug_when>
            <thetext>Created an attachment (id=172037)
Add -mfix-r10000 support to gcc 4.3.x

</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>halcy0n@gentoo.org</who>
            <bug_when>2008-11-23 18:26:24 0000</bug_when>
            <thetext>Thanks.  In the newest patchset.</thetext>
          </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>172037</attachid>
            <date>2008-11-17 01:48 0000</date>
            <desc>Add -mfix-r10000 support to gcc 4.3.x</desc>
            <filename>77_all_mips-r10k-support-for-atomic-memory-fixes.patch</filename>
            <type>text/plain</type>
            <data encoding="base64">ZGlmZiAtTmF1cnAgZ2NjLTQuMy4yLm9yaWcvZ2NjL2NvbmZpZy9taXBzL21pcHMtcHJvdG9zLmgg
Z2NjLTQuMy4yL2djYy9jb25maWcvbWlwcy9taXBzLXByb3Rvcy5oCi0tLSBnY2MtNC4zLjIub3Jp
Zy9nY2MvY29uZmlnL21pcHMvbWlwcy1wcm90b3MuaAkyMDA4LTAxLTI2IDA1OjIyOjE0LjAwMDAw
MDAwMCAtMDUwMAorKysgZ2NjLTQuMy4yL2djYy9jb25maWcvbWlwcy9taXBzLXByb3Rvcy5oCTIw
MDgtMTEtMTYgMDI6MDg6MDkuMDAwMDAwMDAwIC0wNTAwCkBAIC0yNzgsNiArMjc4LDcgQEAgZXh0
ZXJuIGNvbnN0IGNoYXIgKm1pcHNfb3V0cHV0X2xvYWRfbGFiZQogZXh0ZXJuIGNvbnN0IGNoYXIg
Km1pcHNfb3V0cHV0X2NvbmRpdGlvbmFsX2JyYW5jaCAocnR4LCBydHggKiwgY29uc3QgY2hhciAq
LAogCQkJCQkJICAgY29uc3QgY2hhciAqKTsKIGV4dGVybiBjb25zdCBjaGFyICptaXBzX291dHB1
dF9vcmRlcl9jb25kaXRpb25hbF9icmFuY2ggKHJ0eCwgcnR4ICosIGJvb2wpOworZXh0ZXJuIGNv
bnN0IGNoYXIgKm1pcHNfb3V0cHV0X3N5bmNfbG9vcCAoY29uc3QgY2hhciAqKTsKIGV4dGVybiBj
b25zdCBjaGFyICptaXBzX291dHB1dF9kaXZpc2lvbiAoY29uc3QgY2hhciAqLCBydHggKik7CiBl
eHRlcm4gdW5zaWduZWQgaW50IG1pcHNfaGFyZF9yZWdub19ucmVncyAoaW50LCBlbnVtIG1hY2hp
bmVfbW9kZSk7CiBleHRlcm4gYm9vbCBtaXBzX2xpbmtlZF9tYWRkX3AgKHJ0eCwgcnR4KTsKZGlm
ZiAtTmF1cnAgZ2NjLTQuMy4yLm9yaWcvZ2NjL2NvbmZpZy9taXBzL21pcHMuYyBnY2MtNC4zLjIv
Z2NjL2NvbmZpZy9taXBzL21pcHMuYwotLS0gZ2NjLTQuMy4yLm9yaWcvZ2NjL2NvbmZpZy9taXBz
L21pcHMuYwkyMDA4LTExLTE2IDAxOjU3OjE0LjAwMDAwMDAwMCAtMDUwMAorKysgZ2NjLTQuMy4y
L2djYy9jb25maWcvbWlwcy9taXBzLmMJMjAwOC0xMS0xNiAwMjowOTozNy4wMDAwMDAwMDAgLTA1
MDAKQEAgLTYyNTMsNiArNjI1Myw3IEBAIG1pcHNfcHJpbnRfb3BlcmFuZF9yZWxvYyAoRklMRSAq
ZmlsZSwgcnQKICAgICcjJwlQcmludCBhIG5vcCBpZiBpbiBhICIuc2V0IG5vcmVvcmRlciIgYmxv
Y2suCiAgICAnLycJTGlrZSAnIycsIGJ1dCBkbyBub3RoaW5nIHdpdGhpbiBhIGRlbGF5ZWQtYnJh
bmNoIHNlcXVlbmNlLgogICAgJz8nCVByaW50ICJsIiBpZiBtaXBzX2JyYW5jaF9saWtlbHkgaXMg
dHJ1ZQorICAgJ34nCVByaW50IGEgbm9wIGlmIG1pcHNfYnJhbmNoX2xpa2VseSBpcyB0cnVlCiAg
ICAnLicJUHJpbnQgdGhlIG5hbWUgb2YgdGhlIHJlZ2lzdGVyIHdpdGggYSBoYXJkLXdpcmVkIHpl
cm8gKHplcm8gb3IgJDApLgogICAgJ0AnCVByaW50IHRoZSBuYW1lIG9mIHRoZSBhc3NlbWJsZXIg
dGVtcG9yYXJ5IHJlZ2lzdGVyIChhdCBvciAkMSkuCiAgICAnXicJUHJpbnQgdGhlIG5hbWUgb2Yg
dGhlIHBpYyBjYWxsLXRocm91Z2ggcmVnaXN0ZXIgKHQ5IG9yICQyNSkuCkBAIC02MzI3LDYgKzYz
MjgsMTEgQEAgbWlwc19wcmludF9vcGVyYW5kX3B1bmN0dWF0aW9uIChGSUxFICpmaQogCXB1dGMg
KCdsJywgZmlsZSk7CiAgICAgICBicmVhazsKIAorICAgIGNhc2UgJ34nOgorICAgICAgaWYgKG1p
cHNfYnJhbmNoX2xpa2VseSkKKwlmcHV0cyAoIlxuXHRub3AiLCBmaWxlKTsKKyAgICAgIGJyZWFr
OworCiAgICAgY2FzZSAnLic6CiAgICAgICBmcHV0cyAocmVnX25hbWVzW0dQX1JFR19GSVJTVCAr
IDBdLCBmaWxlKTsKICAgICAgIGJyZWFrOwpAQCAtNjM3MCw3ICs2Mzc2LDcgQEAgbWlwc19pbml0
X3ByaW50X29wZXJhbmRfcHVuY3QgKHZvaWQpCiB7CiAgIGNvbnN0IGNoYXIgKnA7CiAKLSAgZm9y
IChwID0gIigpW108PiojLz8uQF4rJHwtIjsgKnA7IHArKykKKyAgZm9yIChwID0gIigpW108Pioj
Lz9+LkBeKyR8LSI7ICpwOyBwKyspCiAgICAgbWlwc19wcmludF9vcGVyYW5kX3B1bmN0Wyh1bnNp
Z25lZCBjaGFyKSAqcF0gPSB0cnVlOwogfQogCkBAIC05Mzc1LDYgKzkzODEsMTcgQEAgbWlwc19v
dXRwdXRfb3JkZXJfY29uZGl0aW9uYWxfYnJhbmNoIChydAogICByZXR1cm4gbWlwc19vdXRwdXRf
Y29uZGl0aW9uYWxfYnJhbmNoIChpbnNuLCBvcGVyYW5kcywgYnJhbmNoWzFdLCBicmFuY2hbMF0p
OwogfQogDAorLyogUmV0dXJuIHRoZSBhc3NlbWJseSBjb2RlIGZvciBfX3N5bmNfKigpIGxvb3Ag
TE9PUC4gIFRoZSBsb29wIHNob3VsZCBzdXBwb3J0CisgICBib3RoIG5vcm1hbCBhbmQgbGlrZWx5
IGJyYW5jaGVzLCB1c2luZyAlPyBhbmQgJX4gd2hlcmUgYXBwcm9wcmlhdGUuICAqLworCitjb25z
dCBjaGFyICoKK21pcHNfb3V0cHV0X3N5bmNfbG9vcCAoY29uc3QgY2hhciAqbG9vcCkKK3sKKyAg
ICAvKiBVc2UgYnJhbmNoLWxpa2VseSBpbnN0cnVjdGlvbnMgdG8gd29yayBhcm91bmQgdGhlIExM
L1NDIFIxMDAwMCBlcnJhdGEuICAqLworICAgIG1pcHNfYnJhbmNoX2xpa2VseSA9IFRBUkdFVF9G
SVhfUjEwMDAwOworICAgIHJldHVybiBsb29wOworfQorDAogLyogUmV0dXJuIHRoZSBhc3NlbWJs
eSBjb2RlIGZvciBESVYgb3IgRERJViBpbnN0cnVjdGlvbiBESVZJU0lPTiwgd2hpY2ggaGFzCiAg
ICB0aGUgb3BlcmFuZHMgZ2l2ZW4gYnkgT1BFUkFORFMuICBBZGQgaW4gYSBkaXZpZGUtYnktemVy
byBjaGVjayBpZiBuZWVkZWQuCiAKQEAgLTEyNzEwLDYgKzEyNzI3LDI0IEBAIG1pcHNfb3ZlcnJp
ZGVfb3B0aW9ucyAodm9pZCkKICAgICAgICYmIG1pcHNfbWF0Y2hpbmdfY3B1X25hbWVfcCAobWlw
c19hcmNoX2luZm8tPm5hbWUsICJyNDQwMCIpKQogICAgIHRhcmdldF9mbGFncyB8PSBNQVNLX0ZJ
WF9SNDQwMDsKIAorICAvKiBEZWZhdWx0IHRvIHdvcmtpbmcgYXJvdW5kIFIxMDAwMCBlcnJhdGEg
b25seSBpZiB0aGUgcHJvY2Vzc29yCisgICAgIHdhcyBzZWxlY3RlZCBleHBsaWNpdGx5LiAgKi8K
KyAgaWYgKCh0YXJnZXRfZmxhZ3NfZXhwbGljaXQgJiBNQVNLX0ZJWF9SMTAwMDApID09IDAKKyAg
ICAgICYmIG1pcHNfbWF0Y2hpbmdfY3B1X25hbWVfcCAobWlwc19hcmNoX2luZm8tPm5hbWUsICJy
MTAwMDAiKSkKKyAgICB0YXJnZXRfZmxhZ3MgfD0gTUFTS19GSVhfUjEwMDAwOworCisgIC8qIE1h
a2Ugc3VyZSB0aGF0IGJyYW5jaC1saWtlbHkgaW5zdHJ1Y3Rpb25zIGF2YWlsYWJsZSB3aGVuIHVz
aW5nCisgICAgIC1tZml4LXIxMDAwMC4gIFRoZSBpbnN0cnVjdGlvbnMgYXJlIG5vdCBhdmFpbGFi
bGUgaWYgZWl0aGVyOgorCisJMS4gLW1uby1icmFuY2gtbGlrZWx5IHdhcyBwYXNzZWQuCisJMi4g
VGhlIHNlbGVjdGVkIElTQSBkb2VzIG5vdCBzdXBwb3J0IGJyYW5jaC1saWtlbHkgYW5kCisJICAg
dGhlIGNvbW1hbmQgbGluZSBkb2VzIG5vdCBpbmNsdWRlIC1tYnJhbmNoLWxpa2VseS4gICovCisg
IGlmIChUQVJHRVRfRklYX1IxMDAwMAorICAgICAgJiYgKCh0YXJnZXRfZmxhZ3NfZXhwbGljaXQg
JiBNQVNLX0JSQU5DSExJS0VMWSkgPT0gMAorICAgICAgICAgID8gIUlTQV9IQVNfQlJBTkNITElL
RUxZCisgICAgICAgICAgOiAhVEFSR0VUX0JSQU5DSExJS0VMWSkpCisgICAgc29ycnkgKCIlcXMg
cmVxdWlyZXMgYnJhbmNoLWxpa2VseSBpbnN0cnVjdGlvbnMiLCAiLW1maXgtcjEwMDAwIik7CisK
ICAgLyogU2F2ZSBiYXNlIHN0YXRlIG9mIG9wdGlvbnMuICAqLwogICBtaXBzX2Jhc2VfbWlwczE2
ID0gVEFSR0VUX01JUFMxNjsKICAgbWlwc19iYXNlX3RhcmdldF9mbGFncyA9IHRhcmdldF9mbGFn
czsKZGlmZiAtTmF1cnAgZ2NjLTQuMy4yLm9yaWcvZ2NjL2NvbmZpZy9taXBzL21pcHMuaCBnY2Mt
NC4zLjIvZ2NjL2NvbmZpZy9taXBzL21pcHMuaAotLS0gZ2NjLTQuMy4yLm9yaWcvZ2NjL2NvbmZp
Zy9taXBzL21pcHMuaAkyMDA4LTExLTE2IDAxOjU3OjE0LjAwMDAwMDAwMCAtMDUwMAorKysgZ2Nj
LTQuMy4yL2djYy9jb25maWcvbWlwcy9taXBzLmgJMjAwOC0xMS0xNiAwMjoxMToyMC4wMDAwMDAw
MDAgLTA1MDAKQEAgLTI5MTEsNyArMjkxMSw3IEBAIHdoaWxlICgwKQogICAiXHRibmVcdCUwLCV6
MiwyZlxuIgkJCQlcCiAgICJcdCIgT1AgIlx0JUAsJTNcbiIJCQkJXAogICAiXHRzYyIgU1VGRklY
ICJcdCVALCUxXG4iCQkJXAotICAiXHRiZXFcdCVALCUuLDFiXG4iCQkJCVwKKyAgIlx0YmVxJT9c
dCVALCUuLDFiXG4iCQkJCVwKICAgIlx0bm9wXG4iCQkJCQlcCiAgICIyOlx0c3luYyUtJV0lPiUp
IgogCkBAIC0yOTI2LDcgKzI5MjYsNyBAQCB3aGlsZSAoMCkKICAgIjE6XHRsbCIgU1VGRklYICJc
dCVALCUwXG4iCQkJXAogICAiXHQiIElOU04gIlx0JUAsJUAsJTFcbiIJCQlcCiAgICJcdHNjIiBT
VUZGSVggIlx0JUAsJTBcbiIJCQlcCi0gICJcdGJlcVx0JUAsJS4sMWJcbiIJCQkJXAorICAiXHRi
ZXElP1x0JUAsJS4sMWJcbiIJCQkJXAogICAiXHRub3BcbiIJCQkJCVwKICAgIlx0c3luYyUtJV0l
PiUpIgogCkBAIC0yOTQzLDcgKzI5NDMsNyBAQCB3aGlsZSAoMCkKICAgIjE6XHRsbCIgU1VGRklY
ICJcdCUwLCUxXG4iCQkJXAogICAiXHQiIElOU04gIlx0JUAsJTAsJTJcbiIJCQlcCiAgICJcdHNj
IiBTVUZGSVggIlx0JUAsJTFcbiIJCQlcCi0gICJcdGJlcVx0JUAsJS4sMWJcbiIJCQkJXAorICAi
XHRiZXElP1x0JUAsJS4sMWJcbiIJCQkJXAogICAiXHRub3BcbiIJCQkJCVwKICAgIlx0c3luYyUt
JV0lPiUpIgogCkBAIC0yOTYwLDcgKzI5NjAsNyBAQCB3aGlsZSAoMCkKICAgIjE6XHRsbCIgU1VG
RklYICJcdCUwLCUxXG4iCQkJXAogICAiXHQiIElOU04gIlx0JUAsJTAsJTJcbiIJCQlcCiAgICJc
dHNjIiBTVUZGSVggIlx0JUAsJTFcbiIJCQlcCi0gICJcdGJlcVx0JUAsJS4sMWJcbiIJCQkJXAor
ICAiXHRiZXElP1x0JUAsJS4sMWIlflxuIgkJCQlcCiAgICJcdCIgSU5TTiAiXHQlMCwlMCwlMlxu
IgkJCVwKICAgIlx0c3luYyUtJV0lPiUpIgogCkBAIC0yOTc3LDcgKzI5NzcsNyBAQCB3aGlsZSAo
MCkKICAgIlx0bm9yXHQlQCwlQCwlLlxuIgkJCQlcCiAgICJcdCIgSU5TTiAiXHQlQCwlQCwlMVxu
IgkJCVwKICAgIlx0c2MiIFNVRkZJWCAiXHQlQCwlMFxuIgkJCVwKLSAgIlx0YmVxXHQlQCwlLiwx
YlxuIgkJCQlcCisgICJcdGJlcSU/XHQlQCwlLiwxYlxuIgkJCQlcCiAgICJcdG5vcFxuIgkJCQkJ
XAogICAiXHRzeW5jJS0lXSU+JSkiCiAKQEAgLTI5OTYsNyArMjk5Niw3IEBAIHdoaWxlICgwKQog
ICAiXHRub3JcdCVALCUwLCUuXG4iCQkJCVwKICAgIlx0IiBJTlNOICJcdCVALCVALCUyXG4iCQkJ
XAogICAiXHRzYyIgU1VGRklYICJcdCVALCUxXG4iCQkJXAotICAiXHRiZXFcdCVALCUuLDFiXG4i
CQkJCVwKKyAgIlx0YmVxJT9cdCVALCUuLDFiXG4iCQkJCVwKICAgIlx0bm9wXG4iCQkJCQlcCiAg
ICJcdHN5bmMlLSVdJT4lKSIKIApAQCAtMzAxNSw3ICszMDE1LDcgQEAgd2hpbGUgKDApCiAgICJc
dG5vclx0JTAsJTAsJS5cbiIJCQkJXAogICAiXHQiIElOU04gIlx0JUAsJTAsJTJcbiIJCQlcCiAg
ICJcdHNjIiBTVUZGSVggIlx0JUAsJTFcbiIJCQlcCi0gICJcdGJlcVx0JUAsJS4sMWJcbiIJCQkJ
XAorICAiXHRiZXElP1x0JUAsJS4sMWIlflxuIgkJCQlcCiAgICJcdCIgSU5TTiAiXHQlMCwlMCwl
MlxuIgkJCVwKICAgIlx0c3luYyUtJV0lPiUpIgogCkBAIC0zMDMzLDcgKzMwMzMsNyBAQCB3aGls
ZSAoMCkKICAgIjE6XHRsbCIgU1VGRklYICJcdCUwLCUxXG4iCQkJXAogICAiXHQiIE9QICJcdCVA
LCUyXG4iCQkJCVwKICAgIlx0c2MiIFNVRkZJWCAiXHQlQCwlMVxuIgkJCVwKLSAgIlx0YmVxXHQl
QCwlLiwxYlxuIgkJCQlcCisgICJcdGJlcSU/XHQlQCwlLiwxYlxuIgkJCQlcCiAgICJcdG5vcFxu
IgkJCQkJXAogICAiXHRzeW5jJS0lXSU+JSkiCiAKZGlmZiAtTmF1cnAgZ2NjLTQuMy4yLm9yaWcv
Z2NjL2NvbmZpZy9taXBzL21pcHMubWQgZ2NjLTQuMy4yL2djYy9jb25maWcvbWlwcy9taXBzLm1k
Ci0tLSBnY2MtNC4zLjIub3JpZy9nY2MvY29uZmlnL21pcHMvbWlwcy5tZAkyMDA4LTExLTE2IDAx
OjU3OjE0LjAwMDAwMDAwMCAtMDUwMAorKysgZ2NjLTQuMy4yL2djYy9jb25maWcvbWlwcy9taXBz
Lm1kCTIwMDgtMTEtMTYgMDI6MTc6MzAuMDAwMDAwMDAwIC0wNTAwCkBAIC00NDQ5LDkgKzQ0NDks
OSBAQAogICAiR0VORVJBVEVfTExfU0MiCiB7CiAgIGlmICh3aGljaF9hbHRlcm5hdGl2ZSA9PSAw
KQotICAgIHJldHVybiBNSVBTX0NPTVBBUkVfQU5EX1NXQVAgKCI8ZD4iLCAibGkiKTsKKyAgICBy
ZXR1cm4gbWlwc19vdXRwdXRfc3luY19sb29wIChNSVBTX0NPTVBBUkVfQU5EX1NXQVAgKCI8ZD4i
LCAibGkiKSk7CiAgIGVsc2UKLSAgICByZXR1cm4gTUlQU19DT01QQVJFX0FORF9TV0FQICgiPGQ+
IiwgIm1vdmUiKTsKKyAgICByZXR1cm4gbWlwc19vdXRwdXRfc3luY19sb29wIChNSVBTX0NPTVBB
UkVfQU5EX1NXQVAgKCI8ZD4iLCAibW92ZSIpKTsKIH0KICAgWyhzZXRfYXR0ciAibGVuZ3RoIiAi
MzIiKV0pCiAKQEAgLTQ0NjQsOSArNDQ2NCw5IEBACiAgICJHRU5FUkFURV9MTF9TQyIKIHsKICAg
aWYgKHdoaWNoX2FsdGVybmF0aXZlID09IDApCi0gICAgcmV0dXJuIE1JUFNfU1lOQ19PUCAoIjxk
PiIsICI8ZD5hZGRpdSIpOwkKKyAgICByZXR1cm4gbWlwc19vdXRwdXRfc3luY19sb29wIChNSVBT
X1NZTkNfT1AgKCI8ZD4iLCAiPGQ+YWRkaXUiKSk7CiAgIGVsc2UKLSAgICByZXR1cm4gTUlQU19T
WU5DX09QICgiPGQ+IiwgIjxkPmFkZHUiKTsJCisgICAgcmV0dXJuIG1pcHNfb3V0cHV0X3N5bmNf
bG9vcCAoTUlQU19TWU5DX09QICgiPGQ+IiwgIjxkPmFkZHUiKSk7CiB9CiAgIFsoc2V0X2F0dHIg
Imxlbmd0aCIgIjI4IildKQogCkBAIC00NDc4LDcgKzQ0NzgsNyBAQAogCSBVTlNQRUNfU1lOQ19P
TERfT1ApKV0KICAgIkdFTkVSQVRFX0xMX1NDIgogewotICByZXR1cm4gTUlQU19TWU5DX09QICgi
PGQ+IiwgIjxkPnN1YnUiKTsJCisgIHJldHVybiBtaXBzX291dHB1dF9zeW5jX2xvb3AgKE1JUFNf
U1lOQ19PUCAoIjxkPiIsICI8ZD5zdWJ1IikpOwogfQogICBbKHNldF9hdHRyICJsZW5ndGgiICIy
OCIpXSkKIApAQCAtNDQ5Myw5ICs0NDkzLDkgQEAKICAgIkdFTkVSQVRFX0xMX1NDIgogewogICBp
ZiAod2hpY2hfYWx0ZXJuYXRpdmUgPT0gMCkKLSAgICByZXR1cm4gTUlQU19TWU5DX09MRF9PUCAo
IjxkPiIsICI8ZD5hZGRpdSIpOwkKKyAgICByZXR1cm4gbWlwc19vdXRwdXRfc3luY19sb29wIChN
SVBTX1NZTkNfT0xEX09QICgiPGQ+IiwgIjxkPmFkZGl1IikpOwogICBlbHNlCi0gICAgcmV0dXJu
IE1JUFNfU1lOQ19PTERfT1AgKCI8ZD4iLCAiPGQ+YWRkdSIpOwkKKyAgICByZXR1cm4gbWlwc19v
dXRwdXRfc3luY19sb29wIChNSVBTX1NZTkNfT0xEX09QICgiPGQ+IiwgIjxkPmFkZHUiKSk7CiB9
CiAgIFsoc2V0X2F0dHIgImxlbmd0aCIgIjI4IildKQogCkBAIC00NTA5LDcgKzQ1MDksNyBAQAog
CSBVTlNQRUNfU1lOQ19PTERfT1ApKV0KICAgIkdFTkVSQVRFX0xMX1NDIgogewotICByZXR1cm4g
TUlQU19TWU5DX09MRF9PUCAoIjxkPiIsICI8ZD5zdWJ1Iik7CQorICByZXR1cm4gbWlwc19vdXRw
dXRfc3luY19sb29wIChNSVBTX1NZTkNfT0xEX09QICgiPGQ+IiwgIjxkPnN1YnUiKSk7CiB9CiAg
IFsoc2V0X2F0dHIgImxlbmd0aCIgIjI4IildKQogCkBAIC00NTI0LDkgKzQ1MjQsOSBAQAogICAi
R0VORVJBVEVfTExfU0MiCiB7CiAgIGlmICh3aGljaF9hbHRlcm5hdGl2ZSA9PSAwKQotICAgIHJl
dHVybiBNSVBTX1NZTkNfTkVXX09QICgiPGQ+IiwgIjxkPmFkZGl1Iik7CQorICAgIHJldHVybiBt
aXBzX291dHB1dF9zeW5jX2xvb3AgKE1JUFNfU1lOQ19ORVdfT1AgKCI8ZD4iLCAiPGQ+YWRkaXUi
KSk7CiAgIGVsc2UKLSAgICByZXR1cm4gTUlQU19TWU5DX05FV19PUCAoIjxkPiIsICI8ZD5hZGR1
Iik7CQorICAgIHJldHVybiBtaXBzX291dHB1dF9zeW5jX2xvb3AgKE1JUFNfU1lOQ19ORVdfT1Ag
KCI8ZD4iLCAiPGQ+YWRkdSIpKTsKIH0KICAgWyhzZXRfYXR0ciAibGVuZ3RoIiAiMjgiKV0pCiAK
QEAgLTQ1NDAsNyArNDU0MCw3IEBACiAJIFVOU1BFQ19TWU5DX05FV19PUCkpXQogICAiR0VORVJB
VEVfTExfU0MiCiB7Ci0gIHJldHVybiBNSVBTX1NZTkNfTkVXX09QICgiPGQ+IiwgIjxkPnN1YnUi
KTsJCisgIHJldHVybiBtaXBzX291dHB1dF9zeW5jX2xvb3AgKE1JUFNfU1lOQ19ORVdfT1AgKCI8
ZD4iLCAiPGQ+c3VidSIpKTsKIH0KICAgWyhzZXRfYXR0ciAibGVuZ3RoIiAiMjgiKV0pCiAKQEAg
LTQ1NTMsOSArNDU1Myw5IEBACiAgICJHRU5FUkFURV9MTF9TQyIKIHsKICAgaWYgKHdoaWNoX2Fs
dGVybmF0aXZlID09IDApCi0gICAgcmV0dXJuIE1JUFNfU1lOQ19PUCAoIjxkPiIsICI8aW1tZWRp
YXRlX2luc24+Iik7CQorICAgIHJldHVybiBtaXBzX291dHB1dF9zeW5jX2xvb3AgKE1JUFNfU1lO
Q19PUCAoIjxkPiIsICI8aW1tZWRpYXRlX2luc24+IikpOwogICBlbHNlCi0gICAgcmV0dXJuIE1J
UFNfU1lOQ19PUCAoIjxkPiIsICI8aW5zbj4iKTsJCisgICAgcmV0dXJuIG1pcHNfb3V0cHV0X3N5
bmNfbG9vcCAoTUlQU19TWU5DX09QICgiPGQ+IiwgIjxpbnNuPiIpKTsKIH0KICAgWyhzZXRfYXR0
ciAibGVuZ3RoIiAiMjgiKV0pCiAKQEAgLTQ1NzAsOSArNDU3MCw5IEBACiAgICJHRU5FUkFURV9M
TF9TQyIKIHsKICAgaWYgKHdoaWNoX2FsdGVybmF0aXZlID09IDApCi0gICAgcmV0dXJuIE1JUFNf
U1lOQ19PTERfT1AgKCI8ZD4iLCAiPGltbWVkaWF0ZV9pbnNuPiIpOwkKKyAgICByZXR1cm4gbWlw
c19vdXRwdXRfc3luY19sb29wIChNSVBTX1NZTkNfT0xEX09QICgiPGQ+IiwgIjxpbW1lZGlhdGVf
aW5zbj4iKSk7CiAgIGVsc2UKLSAgICByZXR1cm4gTUlQU19TWU5DX09MRF9PUCAoIjxkPiIsICI8
aW5zbj4iKTsJCisgICAgcmV0dXJuIG1pcHNfb3V0cHV0X3N5bmNfbG9vcCAoTUlQU19TWU5DX09M
RF9PUCAoIjxkPiIsICI8aW5zbj4iKSk7CiB9CiAgIFsoc2V0X2F0dHIgImxlbmd0aCIgIjI4Iild
KQogCkBAIC00NTg3LDkgKzQ1ODcsMTAgQEAKICAgIkdFTkVSQVRFX0xMX1NDIgogewogICBpZiAo
d2hpY2hfYWx0ZXJuYXRpdmUgPT0gMCkKLSAgICByZXR1cm4gTUlQU19TWU5DX05FV19PUCAoIjxk
PiIsICI8aW1tZWRpYXRlX2luc24+Iik7CQorICAgIHJldHVybiAobWlwc19vdXRwdXRfc3luY19s
b29wCisJICAgIChNSVBTX1NZTkNfTkVXX09QICgiPGQ+IiwgIjxpbW1lZGlhdGVfaW5zbj4iKSkp
OwogICBlbHNlCi0gICAgcmV0dXJuIE1JUFNfU1lOQ19ORVdfT1AgKCI8ZD4iLCAiPGluc24+Iik7
CQorICAgIHJldHVybiBtaXBzX291dHB1dF9zeW5jX2xvb3AgKE1JUFNfU1lOQ19ORVdfT1AgKCI8
ZD4iLCAiPGluc24+IikpOwogfQogICBbKHNldF9hdHRyICJsZW5ndGgiICIyOCIpXSkKIApAQCAt
NDYwMCw5ICs0NjAxLDkgQEAKICAgIkdFTkVSQVRFX0xMX1NDIgogewogICBpZiAod2hpY2hfYWx0
ZXJuYXRpdmUgPT0gMCkKLSAgICByZXR1cm4gTUlQU19TWU5DX05BTkQgKCI8ZD4iLCAiYW5kaSIp
OwkKKyAgICByZXR1cm4gbWlwc19vdXRwdXRfc3luY19sb29wIChNSVBTX1NZTkNfTkFORCAoIjxk
PiIsICJhbmRpIikpOwogICBlbHNlCi0gICAgcmV0dXJuIE1JUFNfU1lOQ19OQU5EICgiPGQ+Iiwg
ImFuZCIpOwkKKyAgICByZXR1cm4gbWlwc19vdXRwdXRfc3luY19sb29wIChNSVBTX1NZTkNfTkFO
RCAoIjxkPiIsICJhbmQiKSk7CiB9CiAgIFsoc2V0X2F0dHIgImxlbmd0aCIgIjMyIildKQogCkBA
IC00NjE1LDkgKzQ2MTYsOSBAQAogICAiR0VORVJBVEVfTExfU0MiCiB7CiAgIGlmICh3aGljaF9h
bHRlcm5hdGl2ZSA9PSAwKQotICAgIHJldHVybiBNSVBTX1NZTkNfT0xEX05BTkQgKCI8ZD4iLCAi
YW5kaSIpOwkKKyAgICByZXR1cm4gbWlwc19vdXRwdXRfc3luY19sb29wIChNSVBTX1NZTkNfT0xE
X05BTkQgKCI8ZD4iLCAiYW5kaSIpKTsKICAgZWxzZQotICAgIHJldHVybiBNSVBTX1NZTkNfT0xE
X05BTkQgKCI8ZD4iLCAiYW5kIik7CQorICAgIHJldHVybiBtaXBzX291dHB1dF9zeW5jX2xvb3Ag
KE1JUFNfU1lOQ19PTERfTkFORCAoIjxkPiIsICJhbmQiKSk7CiB9CiAgIFsoc2V0X2F0dHIgImxl
bmd0aCIgIjMyIildKQogCkBAIC00NjMwLDkgKzQ2MzEsOSBAQAogICAiR0VORVJBVEVfTExfU0Mi
CiB7CiAgIGlmICh3aGljaF9hbHRlcm5hdGl2ZSA9PSAwKQotICAgIHJldHVybiBNSVBTX1NZTkNf
TkVXX05BTkQgKCI8ZD4iLCAiYW5kaSIpOwkKKyAgICByZXR1cm4gbWlwc19vdXRwdXRfc3luY19s
b29wIChNSVBTX1NZTkNfTkVXX05BTkQgKCI8ZD4iLCAiYW5kaSIpKTsKICAgZWxzZQotICAgIHJl
dHVybiBNSVBTX1NZTkNfTkVXX05BTkQgKCI8ZD4iLCAiYW5kIik7CQorICAgIHJldHVybiBtaXBz
X291dHB1dF9zeW5jX2xvb3AgKE1JUFNfU1lOQ19ORVdfTkFORCAoIjxkPiIsICJhbmQiKSk7CiB9
CiAgIFsoc2V0X2F0dHIgImxlbmd0aCIgIjMyIildKQogCkBAIC00NjQ1LDkgKzQ2NDYsOSBAQAog
ICAiR0VORVJBVEVfTExfU0MiCiB7CiAgIGlmICh3aGljaF9hbHRlcm5hdGl2ZSA9PSAwKQotICAg
IHJldHVybiBNSVBTX1NZTkNfRVhDSEFOR0UgKCI8ZD4iLCAibGkiKTsKKyAgICByZXR1cm4gbWlw
c19vdXRwdXRfc3luY19sb29wIChNSVBTX1NZTkNfRVhDSEFOR0UgKCI8ZD4iLCAibGkiKSk7CiAg
IGVsc2UKLSAgICByZXR1cm4gTUlQU19TWU5DX0VYQ0hBTkdFICgiPGQ+IiwgIm1vdmUiKTsKKyAg
ICByZXR1cm4gbWlwc19vdXRwdXRfc3luY19sb29wIChNSVBTX1NZTkNfRVhDSEFOR0UgKCI8ZD4i
LCAibW92ZSIpKTsKIH0KICAgWyhzZXRfYXR0ciAibGVuZ3RoIiAiMjQiKV0pCiAMCmRpZmYgLU5h
dXJwIGdjYy00LjMuMi5vcmlnL2djYy9jb25maWcvbWlwcy9taXBzLm9wdCBnY2MtNC4zLjIvZ2Nj
L2NvbmZpZy9taXBzL21pcHMub3B0Ci0tLSBnY2MtNC4zLjIub3JpZy9nY2MvY29uZmlnL21pcHMv
bWlwcy5vcHQJMjAwOC0xMS0xNiAwMTo1NzoxNC4wMDAwMDAwMDAgLTA1MDAKKysrIGdjYy00LjMu
Mi9nY2MvY29uZmlnL21pcHMvbWlwcy5vcHQJMjAwOC0xMS0xNiAwMjowODowOS4wMDAwMDAwMDAg
LTA1MDAKQEAgLTExMiw2ICsxMTIsMTAgQEAgbWZpeC1yNDQwMAogVGFyZ2V0IFJlcG9ydCBNYXNr
KEZJWF9SNDQwMCkKIFdvcmsgYXJvdW5kIGNlcnRhaW4gUjQ0MDAgZXJyYXRhCiAKK21maXgtcjEw
MDAwCitUYXJnZXQgUmVwb3J0IE1hc2soRklYX1IxMDAwMCkKK1dvcmsgYXJvdW5kIGNlcnRhaW4g
UjEwMDAwIGVycmF0YQorCiBtZml4LXNiMQogVGFyZ2V0IFJlcG9ydCBWYXIoVEFSR0VUX0ZJWF9T
QjEpCiBXb3JrIGFyb3VuZCBlcnJhdGEgZm9yIGVhcmx5IFNCLTEgcmV2aXNpb24gMiBjb3Jlcwpk
aWZmIC1OYXVycCBnY2MtNC4zLjIub3JpZy9nY2MvZG9jL2ludm9rZS50ZXhpIGdjYy00LjMuMi9n
Y2MvZG9jL2ludm9rZS50ZXhpCi0tLSBnY2MtNC4zLjIub3JpZy9nY2MvZG9jL2ludm9rZS50ZXhp
CTIwMDgtMTEtMTYgMDE6NTc6MTQuMDAwMDAwMDAwIC0wNTAwCisrKyBnY2MtNC4zLjIvZ2NjL2Rv
Yy9pbnZva2UudGV4aQkyMDA4LTExLTE2IDAyOjA4OjA5LjAwMDAwMDAwMCAtMDUwMApAQCAtNjQx
LDggKzY0MSw4IEBAIE9iamVjdGl2ZS1DIGFuZCBPYmplY3RpdmUtQysrIERpYWxlY3RzfS4KIC1t
bWVtY3B5ICAtbW5vLW1lbWNweSAgLW1sb25nLWNhbGxzICAtbW5vLWxvbmctY2FsbHMgQGdvbAog
LW1tYWQgIC1tbm8tbWFkICAtbWZ1c2VkLW1hZGQgIC1tbm8tZnVzZWQtbWFkZCAgLW5vY3BwIEBn
b2wKIC1tZml4LXI0MDAwICAtbW5vLWZpeC1yNDAwMCAgLW1maXgtcjQ0MDAgIC1tbm8tZml4LXI0
NDAwIEBnb2wKLS1tZml4LXZyNDEyMCAgLW1uby1maXgtdnI0MTIwICAtbWZpeC12cjQxMzAgIC1t
bm8tZml4LXZyNDEzMCBAZ29sCi0tbWZpeC1zYjEgIC1tbm8tZml4LXNiMSBAZ29sCistbWZpeC1y
MTAwMDAgLW1uby1maXgtcjEwMDAwICAtbWZpeC12cjQxMjAgIC1tbm8tZml4LXZyNDEyMCBAZ29s
CistbWZpeC12cjQxMzAgIC1tbm8tZml4LXZyNDEzMCAgLW1maXgtc2IxICAtbW5vLWZpeC1zYjEg
QGdvbAogLW1mbHVzaC1mdW5jPUB2YXJ7ZnVuY30gIC1tbm8tZmx1c2gtZnVuYyBAZ29sCiAtbWJy
YW5jaC1jb3N0PUB2YXJ7bnVtfSAgLW1icmFuY2gtbGlrZWx5ICAtbW5vLWJyYW5jaC1saWtlbHkg
QGdvbAogLW1mcC1leGNlcHRpb25zIC1tbm8tZnAtZXhjZXB0aW9ucyBAZ29sCkBAIC0xMjQyNyw2
ICsxMjQyNywyMiBAQCBBIGRvdWJsZS13b3JkIG9yIGEgdmFyaWFibGUgc2hpZnQgbWF5IGdpCiBp
bW1lZGlhdGVseSBhZnRlciBzdGFydGluZyBhbiBpbnRlZ2VyIGRpdmlzaW9uLgogQGVuZCBpdGVt
aXplCiAKK0BpdGVtIC1tZml4LXIxMDAwMAorQGl0ZW14IC1tbm8tZml4LXIxMDAwMAorQG9waW5k
ZXggbWZpeC1yMTAwMDAKK0BvcGluZGV4IG1uby1maXgtcjEwMDAwCitXb3JrIGFyb3VuZCBjZXJ0
YWluIFIxMDAwMCBlcnJhdGE6CitAaXRlbWl6ZSBAbWludXMKK0BpdGVtCitAY29kZXtsbH0vQGNv
ZGV7c2N9IHNlcXVlbmNlcyBtYXkgbm90IGJlaGF2ZSBhdG9taWNhbGx5IG9uIHJldmlzaW9ucwor
cHJpb3IgdG8gMy4wLiAgVGhleSBtYXkgZGVhZGxvY2sgb24gcmV2aXNpb25zIDIuNiBhbmQgZWFy
bGllci4KK0BlbmQgaXRlbWl6ZQorCitUaGlzIG9wdGlvbiBjYW4gb25seSBiZSB1c2VkIGlmIHRo
ZSB0YXJnZXQgYXJjaGl0ZWN0dXJlIHN1cHBvcnRzCiticmFuY2gtbGlrZWx5IGluc3RydWN0aW9u
cy4gIEBvcHRpb257LW1maXgtcjEwMDAwfSBpcyB0aGUgZGVmYXVsdCB3aGVuCitAb3B0aW9uey1t
YXJjaD1yMTAwMDB9IGlzIHVzZWQ7IEBvcHRpb257LW1uby1maXgtcjEwMDAwfSBpcyB0aGUgZGVm
YXVsdAorb3RoZXJ3aXNlLgorCiBAaXRlbSAtbWZpeC12cjQxMjAKIEBpdGVteCAtbW5vLWZpeC12
cjQxMjAKIEBvcGluZGV4IG1maXgtdnI0MTIwCmRpZmYgLU5hdXJwIGdjYy00LjMuMi5vcmlnL2dj
Yy90ZXN0c3VpdGUvZ2NjLnRhcmdldC9taXBzL2ZpeC1yMTAwMDAtMS5jIGdjYy00LjMuMi9nY2Mv
dGVzdHN1aXRlL2djYy50YXJnZXQvbWlwcy9maXgtcjEwMDAwLTEuYwotLS0gZ2NjLTQuMy4yLm9y
aWcvZ2NjL3Rlc3RzdWl0ZS9nY2MudGFyZ2V0L21pcHMvZml4LXIxMDAwMC0xLmMJMTk2OS0xMi0z
MSAxOTowMDowMC4wMDAwMDAwMDAgLTA1MDAKKysrIGdjYy00LjMuMi9nY2MvdGVzdHN1aXRlL2dj
Yy50YXJnZXQvbWlwcy9maXgtcjEwMDAwLTEuYwkyMDA4LTExLTE2IDAyOjA4OjA5LjAwMDAwMDAw
MCAtMDUwMApAQCAtMCwwICsxLDIxIEBACisvKiB7IGRnLWRvIGNvbXBpbGUgfSAqLworLyogeyBk
Zy1taXBzLW9wdGlvbnMgIi1PMiAtbWFyY2g9bWlwczQgLW1maXgtcjEwMDAwIiB9ICovCisvKiB7
IGRnLWZpbmFsIHsgc2Nhbi1hc3NlbWJsZXItdGltZXMgIlx0YmVxbFx0IiAzIH0gfSAqLworCitO
T01JUFMxNiBpbnQKK2YxIChpbnQgKnopCit7CisgIHJldHVybiBfX3N5bmNfZmV0Y2hfYW5kX2Fk
ZCAoeiwgNDIpOworfQorCitOT01JUFMxNiBzaG9ydAorZjIgKHNob3J0ICp6KQoreworICByZXR1
cm4gX19zeW5jX2ZldGNoX2FuZF9hZGQgKHosIDQyKTsKK30KKworTk9NSVBTMTYgY2hhcgorZjMg
KGNoYXIgKnopCit7CisgIHJldHVybiBfX3N5bmNfZmV0Y2hfYW5kX2FkZCAoeiwgNDIpOworfQpk
aWZmIC1OYXVycCBnY2MtNC4zLjIub3JpZy9nY2MvdGVzdHN1aXRlL2djYy50YXJnZXQvbWlwcy9m
aXgtcjEwMDAwLTEwLmMgZ2NjLTQuMy4yL2djYy90ZXN0c3VpdGUvZ2NjLnRhcmdldC9taXBzL2Zp
eC1yMTAwMDAtMTAuYwotLS0gZ2NjLTQuMy4yLm9yaWcvZ2NjL3Rlc3RzdWl0ZS9nY2MudGFyZ2V0
L21pcHMvZml4LXIxMDAwMC0xMC5jCTE5NjktMTItMzEgMTk6MDA6MDAuMDAwMDAwMDAwIC0wNTAw
CisrKyBnY2MtNC4zLjIvZ2NjL3Rlc3RzdWl0ZS9nY2MudGFyZ2V0L21pcHMvZml4LXIxMDAwMC0x
MC5jCTIwMDgtMTEtMTYgMDI6MDg6MDkuMDAwMDAwMDAwIC0wNTAwCkBAIC0wLDAgKzEsMjEgQEAK
Ky8qIHsgZGctZG8gY29tcGlsZSB9ICovCisvKiB7IGRnLW1pcHMtb3B0aW9ucyAiLU8yIC1tYXJj
aD1taXBzNCAtbWZpeC1yMTAwMDAiIH0gKi8KKy8qIHsgZGctZmluYWwgeyBzY2FuLWFzc2VtYmxl
ci10aW1lcyAiXHRiZXFsXHQiIDMgfSB9ICovCisKK05PTUlQUzE2IGludAorZjEgKGludCAqeikK
K3sKKyAgcmV0dXJuIF9fc3luY19hbmRfYW5kX2ZldGNoICh6LCA0Mik7Cit9CisKK05PTUlQUzE2
IHNob3J0CitmMiAoc2hvcnQgKnopCit7CisgIHJldHVybiBfX3N5bmNfYW5kX2FuZF9mZXRjaCAo
eiwgNDIpOworfQorCitOT01JUFMxNiBjaGFyCitmMyAoY2hhciAqeikKK3sKKyAgcmV0dXJuIF9f
c3luY19hbmRfYW5kX2ZldGNoICh6LCA0Mik7Cit9CmRpZmYgLU5hdXJwIGdjYy00LjMuMi5vcmln
L2djYy90ZXN0c3VpdGUvZ2NjLnRhcmdldC9taXBzL2ZpeC1yMTAwMDAtMTEuYyBnY2MtNC4zLjIv
Z2NjL3Rlc3RzdWl0ZS9nY2MudGFyZ2V0L21pcHMvZml4LXIxMDAwMC0xMS5jCi0tLSBnY2MtNC4z
LjIub3JpZy9nY2MvdGVzdHN1aXRlL2djYy50YXJnZXQvbWlwcy9maXgtcjEwMDAwLTExLmMJMTk2
OS0xMi0zMSAxOTowMDowMC4wMDAwMDAwMDAgLTA1MDAKKysrIGdjYy00LjMuMi9nY2MvdGVzdHN1
aXRlL2djYy50YXJnZXQvbWlwcy9maXgtcjEwMDAwLTExLmMJMjAwOC0xMS0xNiAwMjowODowOS4w
MDAwMDAwMDAgLTA1MDAKQEAgLTAsMCArMSwyMSBAQAorLyogeyBkZy1kbyBjb21waWxlIH0gKi8K
Ky8qIHsgZGctbWlwcy1vcHRpb25zICItTzIgLW1hcmNoPW1pcHM0IC1tZml4LXIxMDAwMCIgfSAq
LworLyogeyBkZy1maW5hbCB7IHNjYW4tYXNzZW1ibGVyLXRpbWVzICJcdGJlcWxcdCIgMyB9IH0g
Ki8KKworTk9NSVBTMTYgaW50CitmMSAoaW50ICp6KQoreworICByZXR1cm4gX19zeW5jX3hvcl9h
bmRfZmV0Y2ggKHosIDQyKTsKK30KKworTk9NSVBTMTYgc2hvcnQKK2YyIChzaG9ydCAqeikKK3sK
KyAgcmV0dXJuIF9fc3luY194b3JfYW5kX2ZldGNoICh6LCA0Mik7Cit9CisKK05PTUlQUzE2IGNo
YXIKK2YzIChjaGFyICp6KQoreworICByZXR1cm4gX19zeW5jX3hvcl9hbmRfZmV0Y2ggKHosIDQy
KTsKK30KZGlmZiAtTmF1cnAgZ2NjLTQuMy4yLm9yaWcvZ2NjL3Rlc3RzdWl0ZS9nY2MudGFyZ2V0
L21pcHMvZml4LXIxMDAwMC0xMi5jIGdjYy00LjMuMi9nY2MvdGVzdHN1aXRlL2djYy50YXJnZXQv
bWlwcy9maXgtcjEwMDAwLTEyLmMKLS0tIGdjYy00LjMuMi5vcmlnL2djYy90ZXN0c3VpdGUvZ2Nj
LnRhcmdldC9taXBzL2ZpeC1yMTAwMDAtMTIuYwkxOTY5LTEyLTMxIDE5OjAwOjAwLjAwMDAwMDAw
MCAtMDUwMAorKysgZ2NjLTQuMy4yL2djYy90ZXN0c3VpdGUvZ2NjLnRhcmdldC9taXBzL2ZpeC1y
MTAwMDAtMTIuYwkyMDA4LTExLTE2IDAyOjA4OjA5LjAwMDAwMDAwMCAtMDUwMApAQCAtMCwwICsx
LDIxIEBACisvKiB7IGRnLWRvIGNvbXBpbGUgfSAqLworLyogeyBkZy1taXBzLW9wdGlvbnMgIi1P
MiAtbWFyY2g9bWlwczQgLW1maXgtcjEwMDAwIiB9ICovCisvKiB7IGRnLWZpbmFsIHsgc2Nhbi1h
c3NlbWJsZXItdGltZXMgIlx0YmVxbFx0IiAzIH0gfSAqLworCitOT01JUFMxNiBpbnQKK2YxIChp
bnQgKnopCit7CisgIHJldHVybiBfX3N5bmNfbmFuZF9hbmRfZmV0Y2ggKHosIDQyKTsKK30KKwor
Tk9NSVBTMTYgc2hvcnQKK2YyIChzaG9ydCAqeikKK3sKKyAgcmV0dXJuIF9fc3luY19uYW5kX2Fu
ZF9mZXRjaCAoeiwgNDIpOworfQorCitOT01JUFMxNiBjaGFyCitmMyAoY2hhciAqeikKK3sKKyAg
cmV0dXJuIF9fc3luY19uYW5kX2FuZF9mZXRjaCAoeiwgNDIpOworfQpkaWZmIC1OYXVycCBnY2Mt
NC4zLjIub3JpZy9nY2MvdGVzdHN1aXRlL2djYy50YXJnZXQvbWlwcy9maXgtcjEwMDAwLTEzLmMg
Z2NjLTQuMy4yL2djYy90ZXN0c3VpdGUvZ2NjLnRhcmdldC9taXBzL2ZpeC1yMTAwMDAtMTMuYwot
LS0gZ2NjLTQuMy4yLm9yaWcvZ2NjL3Rlc3RzdWl0ZS9nY2MudGFyZ2V0L21pcHMvZml4LXIxMDAw
MC0xMy5jCTE5NjktMTItMzEgMTk6MDA6MDAuMDAwMDAwMDAwIC0wNTAwCisrKyBnY2MtNC4zLjIv
Z2NjL3Rlc3RzdWl0ZS9nY2MudGFyZ2V0L21pcHMvZml4LXIxMDAwMC0xMy5jCTIwMDgtMTEtMTYg
MDI6MDg6MDkuMDAwMDAwMDAwIC0wNTAwCkBAIC0wLDAgKzEsMjEgQEAKKy8qIHsgZGctZG8gY29t
cGlsZSB9ICovCisvKiB7IGRnLW1pcHMtb3B0aW9ucyAiLU8yIC1tYXJjaD1taXBzNCAtbWZpeC1y
MTAwMDAiIH0gKi8KKy8qIHsgZGctZmluYWwgeyBzY2FuLWFzc2VtYmxlci10aW1lcyAiXHRiZXFs
XHQiIDMgfSB9ICovCisKK05PTUlQUzE2IGludAorZjEgKGludCAqeikKK3sKKyAgcmV0dXJuIF9f
c3luY19ib29sX2NvbXBhcmVfYW5kX3N3YXAgKHosIDAsIDQyKTsKK30KKworTk9NSVBTMTYgc2hv
cnQKK2YyIChzaG9ydCAqeikKK3sKKyAgcmV0dXJuIF9fc3luY19ib29sX2NvbXBhcmVfYW5kX3N3
YXAgKHosIDAsIDQyKTsKK30KKworTk9NSVBTMTYgY2hhcgorZjMgKGNoYXIgKnopCit7CisgIHJl
dHVybiBfX3N5bmNfYm9vbF9jb21wYXJlX2FuZF9zd2FwICh6LCAwLCA0Mik7Cit9CmRpZmYgLU5h
dXJwIGdjYy00LjMuMi5vcmlnL2djYy90ZXN0c3VpdGUvZ2NjLnRhcmdldC9taXBzL2ZpeC1yMTAw
MDAtMTQuYyBnY2MtNC4zLjIvZ2NjL3Rlc3RzdWl0ZS9nY2MudGFyZ2V0L21pcHMvZml4LXIxMDAw
MC0xNC5jCi0tLSBnY2MtNC4zLjIub3JpZy9nY2MvdGVzdHN1aXRlL2djYy50YXJnZXQvbWlwcy9m
aXgtcjEwMDAwLTE0LmMJMTk2OS0xMi0zMSAxOTowMDowMC4wMDAwMDAwMDAgLTA1MDAKKysrIGdj
Yy00LjMuMi9nY2MvdGVzdHN1aXRlL2djYy50YXJnZXQvbWlwcy9maXgtcjEwMDAwLTE0LmMJMjAw
OC0xMS0xNiAwMjowODowOS4wMDAwMDAwMDAgLTA1MDAKQEAgLTAsMCArMSwyMSBAQAorLyogeyBk
Zy1kbyBjb21waWxlIH0gKi8KKy8qIHsgZGctbWlwcy1vcHRpb25zICItTzIgLW1hcmNoPW1pcHM0
IC1tZml4LXIxMDAwMCIgfSAqLworLyogeyBkZy1maW5hbCB7IHNjYW4tYXNzZW1ibGVyLXRpbWVz
ICJcdGJlcWxcdCIgMyB9IH0gKi8KKworTk9NSVBTMTYgaW50CitmMSAoaW50ICp6KQoreworICBy
ZXR1cm4gX19zeW5jX3ZhbF9jb21wYXJlX2FuZF9zd2FwICh6LCAwLCA0Mik7Cit9CisKK05PTUlQ
UzE2IHNob3J0CitmMiAoc2hvcnQgKnopCit7CisgIHJldHVybiBfX3N5bmNfdmFsX2NvbXBhcmVf
YW5kX3N3YXAgKHosIDAsIDQyKTsKK30KKworTk9NSVBTMTYgY2hhcgorZjMgKGNoYXIgKnopCit7
CisgIHJldHVybiBfX3N5bmNfdmFsX2NvbXBhcmVfYW5kX3N3YXAgKHosIDAsIDQyKTsKK30KZGlm
ZiAtTmF1cnAgZ2NjLTQuMy4yLm9yaWcvZ2NjL3Rlc3RzdWl0ZS9nY2MudGFyZ2V0L21pcHMvZml4
LXIxMDAwMC0xNS5jIGdjYy00LjMuMi9nY2MvdGVzdHN1aXRlL2djYy50YXJnZXQvbWlwcy9maXgt
cjEwMDAwLTE1LmMKLS0tIGdjYy00LjMuMi5vcmlnL2djYy90ZXN0c3VpdGUvZ2NjLnRhcmdldC9t
aXBzL2ZpeC1yMTAwMDAtMTUuYwkxOTY5LTEyLTMxIDE5OjAwOjAwLjAwMDAwMDAwMCAtMDUwMAor
KysgZ2NjLTQuMy4yL2djYy90ZXN0c3VpdGUvZ2NjLnRhcmdldC9taXBzL2ZpeC1yMTAwMDAtMTUu
YwkyMDA4LTExLTE2IDAyOjA4OjA5LjAwMDAwMDAwMCAtMDUwMApAQCAtMCwwICsxLDMzIEBACisv
KiB7IGRnLWRvIGNvbXBpbGUgfSAqLworLyogeyBkZy1taXBzLW9wdGlvbnMgIi1PMiAtbWFyY2g9
bWlwczQgLW1maXgtcjEwMDAwIiB9ICovCisvKiB7IGRnLWZpbmFsIHsgc2Nhbi1hc3NlbWJsZXIt
dGltZXMgIlx0YmVxbFx0IiAzIH0gfSAqLworCitOT01JUFMxNiBpbnQKK2YxIChpbnQgKnopCit7
CisgIGludCByZXN1bHQ7CisKKyAgcmVzdWx0ID0gX19zeW5jX2xvY2tfdGVzdF9hbmRfc2V0ICh6
LCA0Mik7CisgIF9fc3luY19sb2NrX3JlbGVhc2UgKHopOworICByZXR1cm4gcmVzdWx0OworfQor
CitOT01JUFMxNiBzaG9ydAorZjIgKHNob3J0ICp6KQoreworICBzaG9ydCByZXN1bHQ7CisKKyAg
cmVzdWx0ID0gX19zeW5jX2xvY2tfdGVzdF9hbmRfc2V0ICh6LCA0Mik7CisgIF9fc3luY19sb2Nr
X3JlbGVhc2UgKHopOworICByZXR1cm4gcmVzdWx0OworfQorCitOT01JUFMxNiBjaGFyCitmMyAo
Y2hhciAqeikKK3sKKyAgY2hhciByZXN1bHQ7CisKKyAgcmVzdWx0ID0gX19zeW5jX2xvY2tfdGVz
dF9hbmRfc2V0ICh6LCA0Mik7CisgIF9fc3luY19sb2NrX3JlbGVhc2UgKHopOworICByZXR1cm4g
cmVzdWx0OworfQpkaWZmIC1OYXVycCBnY2MtNC4zLjIub3JpZy9nY2MvdGVzdHN1aXRlL2djYy50
YXJnZXQvbWlwcy9maXgtcjEwMDAwLTIuYyBnY2MtNC4zLjIvZ2NjL3Rlc3RzdWl0ZS9nY2MudGFy
Z2V0L21pcHMvZml4LXIxMDAwMC0yLmMKLS0tIGdjYy00LjMuMi5vcmlnL2djYy90ZXN0c3VpdGUv
Z2NjLnRhcmdldC9taXBzL2ZpeC1yMTAwMDAtMi5jCTE5NjktMTItMzEgMTk6MDA6MDAuMDAwMDAw
MDAwIC0wNTAwCisrKyBnY2MtNC4zLjIvZ2NjL3Rlc3RzdWl0ZS9nY2MudGFyZ2V0L21pcHMvZml4
LXIxMDAwMC0yLmMJMjAwOC0xMS0xNiAwMjowODowOS4wMDAwMDAwMDAgLTA1MDAKQEAgLTAsMCAr
MSwyMSBAQAorLyogeyBkZy1kbyBjb21waWxlIH0gKi8KKy8qIHsgZGctbWlwcy1vcHRpb25zICIt
TzIgLW1hcmNoPW1pcHM0IC1tZml4LXIxMDAwMCIgfSAqLworLyogeyBkZy1maW5hbCB7IHNjYW4t
YXNzZW1ibGVyLXRpbWVzICJcdGJlcWxcdCIgMyB9IH0gKi8KKworTk9NSVBTMTYgaW50CitmMSAo
aW50ICp6LCBpbnQgYW10KQoreworICByZXR1cm4gX19zeW5jX2ZldGNoX2FuZF9zdWIgKHosIGFt
dCk7Cit9CisKK05PTUlQUzE2IHNob3J0CitmMiAoc2hvcnQgKnosIHNob3J0IGFtdCkKK3sKKyAg
cmV0dXJuIF9fc3luY19mZXRjaF9hbmRfc3ViICh6LCBhbXQpOworfQorCitOT01JUFMxNiBjaGFy
CitmMyAoY2hhciAqeiwgY2hhciBhbXQpCit7CisgIHJldHVybiBfX3N5bmNfZmV0Y2hfYW5kX3N1
YiAoeiwgYW10KTsKK30KZGlmZiAtTmF1cnAgZ2NjLTQuMy4yLm9yaWcvZ2NjL3Rlc3RzdWl0ZS9n
Y2MudGFyZ2V0L21pcHMvZml4LXIxMDAwMC0zLmMgZ2NjLTQuMy4yL2djYy90ZXN0c3VpdGUvZ2Nj
LnRhcmdldC9taXBzL2ZpeC1yMTAwMDAtMy5jCi0tLSBnY2MtNC4zLjIub3JpZy9nY2MvdGVzdHN1
aXRlL2djYy50YXJnZXQvbWlwcy9maXgtcjEwMDAwLTMuYwkxOTY5LTEyLTMxIDE5OjAwOjAwLjAw
MDAwMDAwMCAtMDUwMAorKysgZ2NjLTQuMy4yL2djYy90ZXN0c3VpdGUvZ2NjLnRhcmdldC9taXBz
L2ZpeC1yMTAwMDAtMy5jCTIwMDgtMTEtMTYgMDI6MDg6MDkuMDAwMDAwMDAwIC0wNTAwCkBAIC0w
LDAgKzEsMjEgQEAKKy8qIHsgZGctZG8gY29tcGlsZSB9ICovCisvKiB7IGRnLW1pcHMtb3B0aW9u
cyAiLU8yIC1tYXJjaD1taXBzNCAtbWZpeC1yMTAwMDAiIH0gKi8KKy8qIHsgZGctZmluYWwgeyBz
Y2FuLWFzc2VtYmxlci10aW1lcyAiXHRiZXFsXHQiIDMgfSB9ICovCisKK05PTUlQUzE2IGludAor
ZjEgKGludCAqeikKK3sKKyAgcmV0dXJuIF9fc3luY19mZXRjaF9hbmRfb3IgKHosIDQyKTsKK30K
KworTk9NSVBTMTYgc2hvcnQKK2YyIChzaG9ydCAqeikKK3sKKyAgcmV0dXJuIF9fc3luY19mZXRj
aF9hbmRfb3IgKHosIDQyKTsKK30KKworTk9NSVBTMTYgY2hhcgorZjMgKGNoYXIgKnopCit7Cisg
IHJldHVybiBfX3N5bmNfZmV0Y2hfYW5kX29yICh6LCA0Mik7Cit9CmRpZmYgLU5hdXJwIGdjYy00
LjMuMi5vcmlnL2djYy90ZXN0c3VpdGUvZ2NjLnRhcmdldC9taXBzL2ZpeC1yMTAwMDAtNC5jIGdj
Yy00LjMuMi9nY2MvdGVzdHN1aXRlL2djYy50YXJnZXQvbWlwcy9maXgtcjEwMDAwLTQuYwotLS0g
Z2NjLTQuMy4yLm9yaWcvZ2NjL3Rlc3RzdWl0ZS9nY2MudGFyZ2V0L21pcHMvZml4LXIxMDAwMC00
LmMJMTk2OS0xMi0zMSAxOTowMDowMC4wMDAwMDAwMDAgLTA1MDAKKysrIGdjYy00LjMuMi9nY2Mv
dGVzdHN1aXRlL2djYy50YXJnZXQvbWlwcy9maXgtcjEwMDAwLTQuYwkyMDA4LTExLTE2IDAyOjA4
OjA5LjAwMDAwMDAwMCAtMDUwMApAQCAtMCwwICsxLDIxIEBACisvKiB7IGRnLWRvIGNvbXBpbGUg
fSAqLworLyogeyBkZy1taXBzLW9wdGlvbnMgIi1PMiAtbWFyY2g9bWlwczQgLW1maXgtcjEwMDAw
IiB9ICovCisvKiB7IGRnLWZpbmFsIHsgc2Nhbi1hc3NlbWJsZXItdGltZXMgIlx0YmVxbFx0IiAz
IH0gfSAqLworCitOT01JUFMxNiBpbnQKK2YxIChpbnQgKnopCit7CisgIHJldHVybiBfX3N5bmNf
ZmV0Y2hfYW5kX2FuZCAoeiwgNDIpOworfQorCitOT01JUFMxNiBzaG9ydAorZjIgKHNob3J0ICp6
KQoreworICByZXR1cm4gX19zeW5jX2ZldGNoX2FuZF9hbmQgKHosIDQyKTsKK30KKworTk9NSVBT
MTYgY2hhcgorZjMgKGNoYXIgKnopCit7CisgIHJldHVybiBfX3N5bmNfZmV0Y2hfYW5kX2FuZCAo
eiwgNDIpOworfQpkaWZmIC1OYXVycCBnY2MtNC4zLjIub3JpZy9nY2MvdGVzdHN1aXRlL2djYy50
YXJnZXQvbWlwcy9maXgtcjEwMDAwLTUuYyBnY2MtNC4zLjIvZ2NjL3Rlc3RzdWl0ZS9nY2MudGFy
Z2V0L21pcHMvZml4LXIxMDAwMC01LmMKLS0tIGdjYy00LjMuMi5vcmlnL2djYy90ZXN0c3VpdGUv
Z2NjLnRhcmdldC9taXBzL2ZpeC1yMTAwMDAtNS5jCTE5NjktMTItMzEgMTk6MDA6MDAuMDAwMDAw
MDAwIC0wNTAwCisrKyBnY2MtNC4zLjIvZ2NjL3Rlc3RzdWl0ZS9nY2MudGFyZ2V0L21pcHMvZml4
LXIxMDAwMC01LmMJMjAwOC0xMS0xNiAwMjowODowOS4wMDAwMDAwMDAgLTA1MDAKQEAgLTAsMCAr
MSwyMSBAQAorLyogeyBkZy1kbyBjb21waWxlIH0gKi8KKy8qIHsgZGctbWlwcy1vcHRpb25zICIt
TzIgLW1hcmNoPW1pcHM0IC1tZml4LXIxMDAwMCIgfSAqLworLyogeyBkZy1maW5hbCB7IHNjYW4t
YXNzZW1ibGVyLXRpbWVzICJcdGJlcWxcdCIgMyB9IH0gKi8KKworTk9NSVBTMTYgaW50CitmMSAo
aW50ICp6KQoreworICByZXR1cm4gX19zeW5jX2ZldGNoX2FuZF94b3IgKHosIDQyKTsKK30KKwor
Tk9NSVBTMTYgc2hvcnQKK2YyIChzaG9ydCAqeikKK3sKKyAgcmV0dXJuIF9fc3luY19mZXRjaF9h
bmRfeG9yICh6LCA0Mik7Cit9CisKK05PTUlQUzE2IGNoYXIKK2YzIChjaGFyICp6KQoreworICBy
ZXR1cm4gX19zeW5jX2ZldGNoX2FuZF94b3IgKHosIDQyKTsKK30KZGlmZiAtTmF1cnAgZ2NjLTQu
My4yLm9yaWcvZ2NjL3Rlc3RzdWl0ZS9nY2MudGFyZ2V0L21pcHMvZml4LXIxMDAwMC02LmMgZ2Nj
LTQuMy4yL2djYy90ZXN0c3VpdGUvZ2NjLnRhcmdldC9taXBzL2ZpeC1yMTAwMDAtNi5jCi0tLSBn
Y2MtNC4zLjIub3JpZy9nY2MvdGVzdHN1aXRlL2djYy50YXJnZXQvbWlwcy9maXgtcjEwMDAwLTYu
YwkxOTY5LTEyLTMxIDE5OjAwOjAwLjAwMDAwMDAwMCAtMDUwMAorKysgZ2NjLTQuMy4yL2djYy90
ZXN0c3VpdGUvZ2NjLnRhcmdldC9taXBzL2ZpeC1yMTAwMDAtNi5jCTIwMDgtMTEtMTYgMDI6MDg6
MDkuMDAwMDAwMDAwIC0wNTAwCkBAIC0wLDAgKzEsMjEgQEAKKy8qIHsgZGctZG8gY29tcGlsZSB9
ICovCisvKiB7IGRnLW1pcHMtb3B0aW9ucyAiLU8yIC1tYXJjaD1taXBzNCAtbWZpeC1yMTAwMDAi
IH0gKi8KKy8qIHsgZGctZmluYWwgeyBzY2FuLWFzc2VtYmxlci10aW1lcyAiXHRiZXFsXHQiIDMg
fSB9ICovCisKK05PTUlQUzE2IGludAorZjEgKGludCAqeikKK3sKKyAgcmV0dXJuIF9fc3luY19m
ZXRjaF9hbmRfbmFuZCAoeiwgNDIpOworfQorCitOT01JUFMxNiBzaG9ydAorZjIgKHNob3J0ICp6
KQoreworICByZXR1cm4gX19zeW5jX2ZldGNoX2FuZF9uYW5kICh6LCA0Mik7Cit9CisKK05PTUlQ
UzE2IGNoYXIKK2YzIChjaGFyICp6KQoreworICByZXR1cm4gX19zeW5jX2ZldGNoX2FuZF9uYW5k
ICh6LCA0Mik7Cit9CmRpZmYgLU5hdXJwIGdjYy00LjMuMi5vcmlnL2djYy90ZXN0c3VpdGUvZ2Nj
LnRhcmdldC9taXBzL2ZpeC1yMTAwMDAtNy5jIGdjYy00LjMuMi9nY2MvdGVzdHN1aXRlL2djYy50
YXJnZXQvbWlwcy9maXgtcjEwMDAwLTcuYwotLS0gZ2NjLTQuMy4yLm9yaWcvZ2NjL3Rlc3RzdWl0
ZS9nY2MudGFyZ2V0L21pcHMvZml4LXIxMDAwMC03LmMJMTk2OS0xMi0zMSAxOTowMDowMC4wMDAw
MDAwMDAgLTA1MDAKKysrIGdjYy00LjMuMi9nY2MvdGVzdHN1aXRlL2djYy50YXJnZXQvbWlwcy9m
aXgtcjEwMDAwLTcuYwkyMDA4LTExLTE2IDAyOjA4OjA5LjAwMDAwMDAwMCAtMDUwMApAQCAtMCww
ICsxLDIxIEBACisvKiB7IGRnLWRvIGNvbXBpbGUgfSAqLworLyogeyBkZy1taXBzLW9wdGlvbnMg
Ii1PMiAtbWFyY2g9bWlwczQgLW1maXgtcjEwMDAwIiB9ICovCisvKiB7IGRnLWZpbmFsIHsgc2Nh
bi1hc3NlbWJsZXItdGltZXMgIlx0YmVxbFx0IiAzIH0gfSAqLworCitOT01JUFMxNiBpbnQKK2Yx
IChpbnQgKnopCit7CisgIHJldHVybiBfX3N5bmNfYWRkX2FuZF9mZXRjaCAoeiwgNDIpOworfQor
CitOT01JUFMxNiBzaG9ydAorZjIgKHNob3J0ICp6KQoreworICByZXR1cm4gX19zeW5jX2FkZF9h
bmRfZmV0Y2ggKHosIDQyKTsKK30KKworTk9NSVBTMTYgY2hhcgorZjMgKGNoYXIgKnopCit7Cisg
IHJldHVybiBfX3N5bmNfYWRkX2FuZF9mZXRjaCAoeiwgNDIpOworfQpkaWZmIC1OYXVycCBnY2Mt
NC4zLjIub3JpZy9nY2MvdGVzdHN1aXRlL2djYy50YXJnZXQvbWlwcy9maXgtcjEwMDAwLTguYyBn
Y2MtNC4zLjIvZ2NjL3Rlc3RzdWl0ZS9nY2MudGFyZ2V0L21pcHMvZml4LXIxMDAwMC04LmMKLS0t
IGdjYy00LjMuMi5vcmlnL2djYy90ZXN0c3VpdGUvZ2NjLnRhcmdldC9taXBzL2ZpeC1yMTAwMDAt
OC5jCTE5NjktMTItMzEgMTk6MDA6MDAuMDAwMDAwMDAwIC0wNTAwCisrKyBnY2MtNC4zLjIvZ2Nj
L3Rlc3RzdWl0ZS9nY2MudGFyZ2V0L21pcHMvZml4LXIxMDAwMC04LmMJMjAwOC0xMS0xNiAwMjow
ODowOS4wMDAwMDAwMDAgLTA1MDAKQEAgLTAsMCArMSwyMSBAQAorLyogeyBkZy1kbyBjb21waWxl
IH0gKi8KKy8qIHsgZGctbWlwcy1vcHRpb25zICItTzIgLW1hcmNoPW1pcHM0IC1tZml4LXIxMDAw
MCIgfSAqLworLyogeyBkZy1maW5hbCB7IHNjYW4tYXNzZW1ibGVyLXRpbWVzICJcdGJlcWxcdCIg
MyB9IH0gKi8KKworTk9NSVBTMTYgaW50CitmMSAoaW50ICp6LCBpbnQgYW10KQoreworICByZXR1
cm4gX19zeW5jX3N1Yl9hbmRfZmV0Y2ggKHosIGFtdCk7Cit9CisKK05PTUlQUzE2IHNob3J0Citm
MiAoc2hvcnQgKnosIHNob3J0IGFtdCkKK3sKKyAgcmV0dXJuIF9fc3luY19zdWJfYW5kX2ZldGNo
ICh6LCBhbXQpOworfQorCitOT01JUFMxNiBjaGFyCitmMyAoY2hhciAqeiwgY2hhciBhbXQpCit7
CisgIHJldHVybiBfX3N5bmNfc3ViX2FuZF9mZXRjaCAoeiwgYW10KTsKK30KZGlmZiAtTmF1cnAg
Z2NjLTQuMy4yLm9yaWcvZ2NjL3Rlc3RzdWl0ZS9nY2MudGFyZ2V0L21pcHMvZml4LXIxMDAwMC05
LmMgZ2NjLTQuMy4yL2djYy90ZXN0c3VpdGUvZ2NjLnRhcmdldC9taXBzL2ZpeC1yMTAwMDAtOS5j
Ci0tLSBnY2MtNC4zLjIub3JpZy9nY2MvdGVzdHN1aXRlL2djYy50YXJnZXQvbWlwcy9maXgtcjEw
MDAwLTkuYwkxOTY5LTEyLTMxIDE5OjAwOjAwLjAwMDAwMDAwMCAtMDUwMAorKysgZ2NjLTQuMy4y
L2djYy90ZXN0c3VpdGUvZ2NjLnRhcmdldC9taXBzL2ZpeC1yMTAwMDAtOS5jCTIwMDgtMTEtMTYg
MDI6MDg6MDkuMDAwMDAwMDAwIC0wNTAwCkBAIC0wLDAgKzEsMjEgQEAKKy8qIHsgZGctZG8gY29t
cGlsZSB9ICovCisvKiB7IGRnLW1pcHMtb3B0aW9ucyAiLU8yIC1tYXJjaD1taXBzNCAtbWZpeC1y
MTAwMDAiIH0gKi8KKy8qIHsgZGctZmluYWwgeyBzY2FuLWFzc2VtYmxlci10aW1lcyAiXHRiZXFs
XHQiIDMgfSB9ICovCisKK05PTUlQUzE2IGludAorZjEgKGludCAqeikKK3sKKyAgcmV0dXJuIF9f
c3luY19vcl9hbmRfZmV0Y2ggKHosIDQyKTsKK30KKworTk9NSVBTMTYgc2hvcnQKK2YyIChzaG9y
dCAqeikKK3sKKyAgcmV0dXJuIF9fc3luY19vcl9hbmRfZmV0Y2ggKHosIDQyKTsKK30KKworTk9N
SVBTMTYgY2hhcgorZjMgKGNoYXIgKnopCit7CisgIHJldHVybiBfX3N5bmNfb3JfYW5kX2ZldGNo
ICh6LCA0Mik7Cit9Cg==
</data>        

          </attachment>
    </bug>

</bugzilla>