<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<!DOCTYPE bugzilla SYSTEM "https://bugs.webkit.org/page.cgi?id=bugzilla.dtd">

<bugzilla version="5.0.4.1"
          urlbase="https://bugs.webkit.org/"
          
          maintainer="admin@webkit.org"
>

    <bug>
          <bug_id>173695</bug_id>
          
          <creation_ts>2017-06-21 23:18:47 -0700</creation_ts>
          <short_desc>[GCrypt] Implement CryptoKeyRSA SPKI exports</short_desc>
          <delta_ts>2017-07-13 03:09:03 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>New Bugs</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          <dependson>173646</dependson>
          <blocked>133122</blocked>
    
    <blocked>173697</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Zan Dobersek">zan</reporter>
          <assigned_to name="Zan Dobersek">zan</assigned_to>
          <cc>buildbot</cc>
    
    <cc>jiewen_tan</cc>
    
    <cc>mcatanzaro</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1321771</commentid>
    <comment_count>0</comment_count>
    <who name="Zan Dobersek">zan</who>
    <bug_when>2017-06-21 23:18:47 -0700</bug_when>
    <thetext>SSIA.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1321778</commentid>
    <comment_count>1</comment_count>
      <attachid>313588</attachid>
    <who name="Zan Dobersek">zan</who>
    <bug_when>2017-06-21 23:41:20 -0700</bug_when>
    <thetext>Created attachment 313588
WIP patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1321784</commentid>
    <comment_count>2</comment_count>
    <who name="Build Bot">buildbot</who>
    <bug_when>2017-06-22 00:16:33 -0700</bug_when>
    <thetext>Attachment 313588 did not pass style-queue:


ERROR: Source/WebCore/PAL/ChangeLog:8:  You should remove the &apos;No new tests&apos; and either add and list tests, or explain why no new tests were possible.  [changelog/nonewtests] [5]
ERROR: Source/WebCore/ChangeLog:8:  You should remove the &apos;No new tests&apos; and either add and list tests, or explain why no new tests were possible.  [changelog/nonewtests] [5]
Total errors found: 2 in 7 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1322800</commentid>
    <comment_count>3</comment_count>
      <attachid>313827</attachid>
    <who name="Zan Dobersek">zan</who>
    <bug_when>2017-06-26 04:58:31 -0700</bug_when>
    <thetext>Created attachment 313827
WIP patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1322804</commentid>
    <comment_count>4</comment_count>
    <who name="Build Bot">buildbot</who>
    <bug_when>2017-06-26 05:01:50 -0700</bug_when>
    <thetext>Attachment 313827 did not pass style-queue:


ERROR: Source/WebCore/ChangeLog:8:  You should remove the &apos;No new tests&apos; and either add and list tests, or explain why no new tests were possible.  [changelog/nonewtests] [5]
Total errors found: 1 in 4 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1323556</commentid>
    <comment_count>5</comment_count>
      <attachid>314028</attachid>
    <who name="Zan Dobersek">zan</who>
    <bug_when>2017-06-28 09:25:57 -0700</bug_when>
    <thetext>Created attachment 314028
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1323557</commentid>
    <comment_count>6</comment_count>
    <who name="Zan Dobersek">zan</who>
    <bug_when>2017-06-28 09:26:10 -0700</bug_when>
    <thetext>(In reply to Zan Dobersek from comment #5)
&gt; Created attachment 314028 [details]
&gt; Patch


This is ready for review, but the patch still relies on libtasn1 helpers that are being added in bug #173646.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1325055</commentid>
    <comment_count>7</comment_count>
      <attachid>314462</attachid>
    <who name="Zan Dobersek">zan</who>
    <bug_when>2017-07-03 01:01:44 -0700</bug_when>
    <thetext>Created attachment 314462
Patch

Now buildable.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1328147</commentid>
    <comment_count>8</comment_count>
      <attachid>314462</attachid>
    <who name="Jiewen Tan">jiewen_tan</who>
    <bug_when>2017-07-12 11:39:10 -0700</bug_when>
    <thetext>Comment on attachment 314462
Patch

View in context: https://bugs.webkit.org/attachment.cgi?id=314462&amp;action=review

Looks good to me. r=me.

&gt; Source/WebCore/ChangeLog:29
&gt; +        A helper mpiSignedData() function is added, providing overloads for gcry_mpi_t

Interesting.

&gt; Source/WebCore/crypto/gcrypt/CryptoKeyRSAGCrypt.cpp:304
&gt; +        if (!PAL::TASN1::writeElement(spki, &quot;algorithm.algorithm&quot;, &quot;1.2.840.113549.1.1.1&quot;, 1))

Remember we should replace &quot;1.2.840.113549.1.1.1&quot; with a constant.

&gt; Source/WebCore/crypto/gcrypt/CryptoKeyRSAGCrypt.cpp:308
&gt; +        if (!PAL::TASN1::writeElement(spki, &quot;algorithm.parameters&quot;, &quot;\x05\x00&quot;, 2))

Another constant here?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1328414</commentid>
    <comment_count>9</comment_count>
    <who name="Zan Dobersek">zan</who>
    <bug_when>2017-07-13 03:09:03 -0700</bug_when>
    <thetext>Committed r219449: &lt;http://trac.webkit.org/changeset/219449&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>313588</attachid>
            <date>2017-06-21 23:41:20 -0700</date>
            <delta_ts>2017-06-26 04:58:27 -0700</delta_ts>
            <desc>WIP patch</desc>
            <filename>bug-173695-20170622084118.patch</filename>
            <type>text/plain</type>
            <size>13686</size>
            <attacher name="Zan Dobersek">zan</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjE4Njc4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMmUwMjk2NmQ1NDViYTg1
MzM0OTY1YWYwZDlhNDliYjgzMTRiMWVjZC4uM2RjNTllZmQyYTllNGJhODU1N2QzYjFkM2FiYTY1
Yjg4YzQwZDJiMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE3IEBACisyMDE3LTA2LTIxICBaYW4g
RG9iZXJzZWsgIDx6ZG9iZXJzZWtAaWdhbGlhLmNvbT4KKworICAgICAgICBbR0NyeXB0XSBJbXBs
ZW1lbnQgQ3J5cHRvS2V5UlNBIFNQS0kgZXhwb3J0cworICAgICAgICBodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTczNjk1CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9C
T0RZIChPT1BTISkuCisKKyAgICAgICAgTm8gbmV3IHRlc3RzIChPT1BTISkuCisKKyAgICAgICAg
KiBjcnlwdG8vZ2NyeXB0L0NyeXB0b0tleVJTQUdDcnlwdC5jcHA6CisgICAgICAgIChXZWJDb3Jl
OjpDcnlwdG9LZXlSU0E6OmV4cG9ydFNwa2kpOgorICAgICAgICAqIGNyeXB0by9nY3J5cHQvR0Ny
eXB0VXRpbGl0aWVzLmg6CisgICAgICAgIChXZWJDb3JlOjptcGlTaWduZWREYXRhKToKKwogMjAx
Ny0wNi0yMSAgWW91ZW5uIEZhYmxldCAgPHlvdWVubkBhcHBsZS5jb20+CiAKICAgICAgICAgW0Zl
dGNoIEFQSV0gVHlwZUVycm9yIHdoZW4gY2FsbGVkIHdpdGggYm9keSA9PT0ge30KZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL1BBTC9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9QQUwvQ2hh
bmdlTG9nCmluZGV4IDhkZGJlMGVmMmVhMDNmN2U3ODg3Mzc2OWFmZjY5YTMzNzM3YjU2YmIuLmZj
OGRmNjk5NTNlMDA3YjgwZWIzZDZkNDY3ZjFkNmU2NGI2ODc4OWUgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL1BBTC9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvUEFML0NoYW5nZUxv
ZwpAQCAtMSwzICsxLDE5IEBACisyMDE3LTA2LTIxICBaYW4gRG9iZXJzZWsgIDx6ZG9iZXJzZWtA
aWdhbGlhLmNvbT4KKworICAgICAgICBbR0NyeXB0XSBJbXBsZW1lbnQgQ3J5cHRvS2V5UlNBIFNQ
S0kgZXhwb3J0cworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9MTczNjk1CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAg
ICAgTm8gbmV3IHRlc3RzIChPT1BTISkuCisKKyAgICAgICAgKiBwYWwvY3J5cHRvL3Rhc24xL1V0
aWxpdGllcy5jcHA6CisgICAgICAgIChQQUw6OlRBU04xOjpjcmVhdGVTdHJ1Y3R1cmUpOgorICAg
ICAgICAoUEFMOjpUQVNOMTo6ZGVjb2RlU3RydWN0dXJlKToKKyAgICAgICAgKFBBTDo6VEFTTjE6
OmVuY29kZWREYXRhKToKKyAgICAgICAgKFBBTDo6VEFTTjE6OndyaXRlRWxlbWVudCk6CisgICAg
ICAgICogcGFsL2NyeXB0by90YXNuMS9VdGlsaXRpZXMuaDoKKwogMjAxNy0wNi0yMCAgWmFuIERv
YmVyc2VrICA8emRvYmVyc2VrQGlnYWxpYS5jb20+CiAKICAgICAgICAgW0dDcnlwdF0gSW1wbGVt
ZW50IENyeXB0b0tleUVDIFNQS0kgaW1wb3J0cwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
UEFML3BhbC9jcnlwdG8vdGFzbjEvVXRpbGl0aWVzLmNwcCBiL1NvdXJjZS9XZWJDb3JlL1BBTC9w
YWwvY3J5cHRvL3Rhc24xL1V0aWxpdGllcy5jcHAKaW5kZXggNGZkZjA1NTE3ZTYwMTBjYjA4NDJl
YzU0NTU3NjUyMzA4NTY1NzU0OC4uOTQzZWZlNzQzODU5MDExNjJlODE3YWFkMzgwYmVlODYzYzFj
ZWNmNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvUEFML3BhbC9jcnlwdG8vdGFzbjEvVXRp
bGl0aWVzLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9QQUwvcGFsL2NyeXB0by90YXNuMS9VdGls
aXRpZXMuY3BwCkBAIC0xMDIsMTQgKzEwMiwxOSBAQCBzdGF0aWMgYXNuMV9ub2RlIGFzbjFEZWZp
bml0aW9ucygpCiAgICAgcmV0dXJuIHNfZGVmaW5pdGlvbnM7CiB9CiAKLWJvb2wgZGVjb2RlU3Ry
dWN0dXJlKGFzbjFfbm9kZSogcm9vdCwgY29uc3QgY2hhciogZWxlbWVudE5hbWUsIGNvbnN0IFZl
Y3Rvcjx1aW50OF90PiYgZGF0YSkKK2Jvb2wgY3JlYXRlU3RydWN0dXJlKGNvbnN0IGNoYXIqIGVs
ZW1lbnROYW1lLCBhc24xX25vZGUqIHJvb3QpCiB7CiAgICAgaW50IHJldCA9IGFzbjFfY3JlYXRl
X2VsZW1lbnQoYXNuMURlZmluaXRpb25zKCksIGVsZW1lbnROYW1lLCByb290KTsKLSAgICBpZiAo
cmV0ICE9IEFTTjFfU1VDQ0VTUykKKyAgICByZXR1cm4gcmV0ID09IEFTTjFfU1VDQ0VTUzsKK30K
KworYm9vbCBkZWNvZGVTdHJ1Y3R1cmUoYXNuMV9ub2RlKiByb290LCBjb25zdCBjaGFyKiBlbGVt
ZW50TmFtZSwgY29uc3QgVmVjdG9yPHVpbnQ4X3Q+JiBkYXRhKQoreworICAgIGlmICghY3JlYXRl
U3RydWN0dXJlKGVsZW1lbnROYW1lLCByb290KSkKICAgICAgICAgcmV0dXJuIGZhbHNlOwogCiAg
ICAgaW50IGRhdGFTaXplID0gZGF0YS5zaXplKCk7Ci0gICAgcmV0ID0gYXNuMV9kZXJfZGVjb2Rp
bmcyKHJvb3QsIGRhdGEuZGF0YSgpLCAmZGF0YVNpemUsIEFTTjFfREVDT0RFX0ZMQUdfU1RSSUNU
X0RFUiwgbnVsbHB0cik7CisgICAgaW50IHJldCA9IGFzbjFfZGVyX2RlY29kaW5nMihyb290LCBk
YXRhLmRhdGEoKSwgJmRhdGFTaXplLCBBU04xX0RFQ09ERV9GTEFHX1NUUklDVF9ERVIsIG51bGxw
dHIpOwogICAgIHJldHVybiByZXQgPT0gQVNOMV9TVUNDRVNTOwogfQogCkBAIC0xMzUsNSArMTQw
LDM1IEBAIHN0ZDo6b3B0aW9uYWw8VmVjdG9yPHVpbnQ4X3Q+PiBlbGVtZW50RGF0YShhc24xX25v
ZGUgcm9vdCwgY29uc3QgY2hhciogZWxlbWVudE5hCiAgICAgcmV0dXJuIGRhdGE7CiB9CiAKK3N0
ZDo6b3B0aW9uYWw8VmVjdG9yPHVpbnQ4X3Q+PiBlbmNvZGVkRGF0YShhc24xX25vZGUgcm9vdCwg
Y29uc3QgY2hhciogZWxlbWVudE5hbWUpCit7CisgICAgaW50IGxlbmd0aCA9IDA7CisgICAgaW50
IHJldCA9IGFzbjFfZGVyX2NvZGluZyhyb290LCBlbGVtZW50TmFtZSwgbnVsbHB0ciwgJmxlbmd0
aCwgbnVsbHB0cik7CisgICAgaWYgKHJldCAhPSBBU04xX01FTV9FUlJPUikKKyAgICAgICAgcmV0
dXJuIHN0ZDo6bnVsbG9wdDsKKworICAgIFZlY3Rvcjx1aW50OF90PiBkYXRhKGxlbmd0aCk7Cisg
ICAgcmV0ID0gYXNuMV9kZXJfY29kaW5nKHJvb3QsIGVsZW1lbnROYW1lLCBkYXRhLmRhdGEoKSwg
Jmxlbmd0aCwgbnVsbHB0cik7CisgICAgaWYgKHJldCAhPSBBU04xX1NVQ0NFU1MpCisgICAgICAg
IHJldHVybiBzdGQ6Om51bGxvcHQ7CisKKyAgICByZXR1cm4gZGF0YTsKK30KKworYm9vbCB3cml0
ZUVsZW1lbnQoYXNuMV9ub2RlIHJvb3QsIGNvbnN0IGNoYXIqIGVsZW1lbnROYW1lLCBjb25zdCBj
aGFyKiBkYXRhLCBzaXplX3QgZGF0YVNpemUpCit7CisgICAgaW50IHJldCA9IGFzbjFfd3JpdGVf
dmFsdWUocm9vdCwgZWxlbWVudE5hbWUsIGRhdGEsIGRhdGFTaXplKTsKKyAgICByZXR1cm4gcmV0
ID09IEFTTjFfU1VDQ0VTUzsKK30KKworYm9vbCB3cml0ZUVsZW1lbnQoYXNuMV9ub2RlIHJvb3Qs
IGNvbnN0IGNoYXIqIGVsZW1lbnROYW1lLCBjb25zdCBWZWN0b3I8dWludDhfdD4mIGRhdGEsIHNp
emVfdCBkYXRhU2l6ZSkKK3sKKyAgICBpZiAoIWRhdGFTaXplKQorICAgICAgICBkYXRhU2l6ZSA9
IGRhdGEuc2l6ZSgpOworCisgICAgaW50IHJldCA9IGFzbjFfd3JpdGVfdmFsdWUocm9vdCwgZWxl
bWVudE5hbWUsIGRhdGEuZGF0YSgpLCBkYXRhU2l6ZSk7CisgICAgcmV0dXJuIHJldCA9PSBBU04x
X1NVQ0NFU1M7Cit9CisKIH0gLy8gbmFtZXNwYWNlIFRBU04xCiB9IC8vIG5hbWVzcGFjZSBQQUwK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1BBTC9wYWwvY3J5cHRvL3Rhc24xL1V0aWxpdGll
cy5oIGIvU291cmNlL1dlYkNvcmUvUEFML3BhbC9jcnlwdG8vdGFzbjEvVXRpbGl0aWVzLmgKaW5k
ZXggOTYzZjQ2NTA2Y2ViZDlkNmYxNWM3OWFmYjA5M2Q1NGJkMDkzNWI5Mi4uYWRmNzRiYmFmOTVj
MzA1YjFmNzg2NzM3ZWYxNzg5Mzc1YzEzMDNjMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
UEFML3BhbC9jcnlwdG8vdGFzbjEvVXRpbGl0aWVzLmgKKysrIGIvU291cmNlL1dlYkNvcmUvUEFM
L3BhbC9jcnlwdG8vdGFzbjEvVXRpbGl0aWVzLmgKQEAgLTU1LDggKzU1LDEyIEBAIHByaXZhdGU6
CiAgICAgYXNuMV9ub2RlIG1fc3RydWN0dXJlIHsgbnVsbHB0ciB9OwogfTsKIAorYm9vbCBjcmVh
dGVTdHJ1Y3R1cmUoY29uc3QgY2hhciogZWxlbWVudE5hbWUsIGFzbjFfbm9kZSogcm9vdCk7CiBi
b29sIGRlY29kZVN0cnVjdHVyZShhc24xX25vZGUqIHJvb3QsIGNvbnN0IGNoYXIqIGVsZW1lbnRO
YW1lLCBjb25zdCBWZWN0b3I8dWludDhfdD4mIGRhdGEpOwogc3RkOjpvcHRpb25hbDxWZWN0b3I8
dWludDhfdD4+IGVsZW1lbnREYXRhKGFzbjFfbm9kZSByb290LCBjb25zdCBjaGFyKiBlbGVtZW50
TmFtZSk7CitzdGQ6Om9wdGlvbmFsPFZlY3Rvcjx1aW50OF90Pj4gZW5jb2RlZERhdGEoYXNuMV9u
b2RlIHJvb3QsIGNvbnN0IGNoYXIqIGVsZW1lbnROYW1lKTsKK2Jvb2wgd3JpdGVFbGVtZW50KGFz
bjFfbm9kZSByb290LCBjb25zdCBjaGFyKiBlbGVtZW50TmFtZSwgY29uc3QgY2hhciogZGF0YSwg
c2l6ZV90IGRhdGFTaXplID0gMCk7Citib29sIHdyaXRlRWxlbWVudChhc24xX25vZGUgcm9vdCwg
Y29uc3QgY2hhciogZWxlbWVudE5hbWUsIGNvbnN0IFZlY3Rvcjx1aW50OF90PiYgZGF0YSwgc2l6
ZV90IGRhdGFTaXplID0gMCk7CiAKIH0gLy8gbmFtZXNwYWNlIFRBU04xCiB9IC8vIG5hbWVzcGFj
ZSBQQUwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2NyeXB0by9nY3J5cHQvQ3J5cHRvS2V5
UlNBR0NyeXB0LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2NyeXB0by9nY3J5cHQvQ3J5cHRvS2V5UlNB
R0NyeXB0LmNwcAppbmRleCAxMjQ1YmUyYTc1NmRkODk3MWQ0NDAyMzlkY2Q5ZmI5NGUyYTRiMGJj
Li5iNTllZTZmNTU2YmU3YWNkYzMwZmVlZjExMjJhODhjYWFlMTM2ZjRlIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9jcnlwdG8vZ2NyeXB0L0NyeXB0b0tleVJTQUdDcnlwdC5jcHAKKysrIGIv
U291cmNlL1dlYkNvcmUvY3J5cHRvL2djcnlwdC9DcnlwdG9LZXlSU0FHQ3J5cHQuY3BwCkBAIC0z
Nyw2ICszNyw3IEBACiAjaW5jbHVkZSAiU2NyaXB0RXhlY3V0aW9uQ29udGV4dC5oIgogI2luY2x1
ZGUgPHBhbC9jcnlwdG8vZ2NyeXB0L0hhbmRsZS5oPgogI2luY2x1ZGUgPHBhbC9jcnlwdG8vZ2Ny
eXB0L1V0aWxpdGllcy5oPgorI2luY2x1ZGUgPHBhbC9jcnlwdG8vdGFzbjEvVXRpbGl0aWVzLmg+
CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIApAQCAtMjU2LDkgKzI1Nyw3MiBAQCBSZWZQdHI8Q3J5
cHRvS2V5UlNBPiBDcnlwdG9LZXlSU0E6OmltcG9ydFBrY3M4KENyeXB0b0FsZ29yaXRobUlkZW50
aWZpZXIsIHN0ZDo6bwogCiBFeGNlcHRpb25PcjxWZWN0b3I8dWludDhfdD4+IENyeXB0b0tleVJT
QTo6ZXhwb3J0U3BraSgpIGNvbnN0CiB7Ci0gICAgbm90SW1wbGVtZW50ZWQoKTsKKyAgICBpZiAo
dHlwZSgpICE9IENyeXB0b0tleVR5cGU6OlB1YmxpYykKKyAgICAgICAgcmV0dXJuIEV4Y2VwdGlv
biB7IElOVkFMSURfQUNDRVNTX0VSUiB9OwogCi0gICAgcmV0dXJuIEV4Y2VwdGlvbiB7IE5PVF9T
VVBQT1JURURfRVJSIH07CisgICAgUEFMOjpUQVNOMTo6U3RydWN0dXJlIHJzYVB1YmxpY0tleTsK
KyAgICB7CisgICAgICAgIC8vIENyZWF0ZSB0aGUgYFJTQVB1YmxpY0tleWAgc3RydWN0dXJlLgor
ICAgICAgICBpZiAoIVBBTDo6VEFTTjE6OmNyZWF0ZVN0cnVjdHVyZSgiV2ViQ3J5cHRvLlJTQVB1
YmxpY0tleSIsICZyc2FQdWJsaWNLZXkpKQorICAgICAgICAgICAgcmV0dXJuIEV4Y2VwdGlvbiB7
IE9wZXJhdGlvbkVycm9yIH07CisKKyAgICAgICAgLy8gUmV0cmlldmUgdGhlIG1vZHVsdXMgYW5k
IHB1YmxpYyBleHBvbmVudCBzLWV4cHJlc3Npb25zLgorICAgICAgICBQQUw6OkdDcnlwdDo6SGFu
ZGxlPGdjcnlfc2V4cF90PiBtb2R1bHVzU2V4cChnY3J5X3NleHBfZmluZF90b2tlbihtX3BsYXRm
b3JtS2V5LCAibiIsIDApKTsKKyAgICAgICAgUEFMOjpHQ3J5cHQ6OkhhbmRsZTxnY3J5X3NleHBf
dD4gcHVibGljRXhwb25lbnRTZXhwKGdjcnlfc2V4cF9maW5kX3Rva2VuKG1fcGxhdGZvcm1LZXks
ICJlIiwgMCkpOworICAgICAgICBpZiAoIW1vZHVsdXNTZXhwIHx8ICFwdWJsaWNFeHBvbmVudFNl
eHApCisgICAgICAgICAgICByZXR1cm4gRXhjZXB0aW9uIHsgT3BlcmF0aW9uRXJyb3IgfTsKKwor
ICAgICAgICAvLyBSZXRyaWV2ZSBNUEkgZGF0YSBmb3IgdGhlIG1vZHVsdXMgYW5kIHB1YmxpYyBl
eHBvbmVudCBjb21wb25lbnRzLgorICAgICAgICBhdXRvIG1vZHVsdXMgPSBtcGlTaWduZWREYXRh
KG1vZHVsdXNTZXhwKTsKKyAgICAgICAgYXV0byBwdWJsaWNFeHBvbmVudCA9IG1waVNpZ25lZERh
dGEocHVibGljRXhwb25lbnRTZXhwKTsKKyAgICAgICAgaWYgKCFtb2R1bHVzIHx8ICFwdWJsaWNF
eHBvbmVudCkKKyAgICAgICAgICAgIHJldHVybiBFeGNlcHRpb24geyBPcGVyYXRpb25FcnJvciB9
OworCisgICAgICAgIC8vIFdyaXRlIG91dCB0aGUgbW9kdWx1cyBkYXRhIHVuZGVyIGBtb2R1bHVz
YC4KKyAgICAgICAgaWYgKCFQQUw6OlRBU04xOjp3cml0ZUVsZW1lbnQocnNhUHVibGljS2V5LCAi
bW9kdWx1cyIsICptb2R1bHVzKSkKKyAgICAgICAgICAgIHJldHVybiBFeGNlcHRpb24geyBPcGVy
YXRpb25FcnJvciB9OworCisgICAgICAgIC8vIFdyaXRlIG91dCB0aGUgcHVibGljIGV4cG9uZW50
IGRhdGEgdW5kZXIgYHB1YmxpY0V4cG9uZW50YC4KKyAgICAgICAgaWYgKCFQQUw6OlRBU04xOjp3
cml0ZUVsZW1lbnQocnNhUHVibGljS2V5LCAicHVibGljRXhwb25lbnQiLCAqcHVibGljRXhwb25l
bnQpKQorICAgICAgICAgICAgcmV0dXJuIEV4Y2VwdGlvbiB7IE9wZXJhdGlvbkVycm9yIH07Cisg
ICAgfQorCisgICAgUEFMOjpUQVNOMTo6U3RydWN0dXJlIHNwa2k7CisgICAgeworICAgICAgICAv
LyBDcmVhdGUgdGhlIGBTdWJqZWN0UHVibGljS2V5SW5mb2Agc3RydWN0dXJlLgorICAgICAgICBp
ZiAoIVBBTDo6VEFTTjE6OmNyZWF0ZVN0cnVjdHVyZSgiV2ViQ3J5cHRvLlN1YmplY3RQdWJsaWNL
ZXlJbmZvIiwgJnNwa2kpKQorICAgICAgICAgICAgcmV0dXJuIEV4Y2VwdGlvbiB7IE9wZXJhdGlv
bkVycm9yIH07CisKKyAgICAgICAgLy8gV3JpdGUgb3V0IHRoZSBpZC1yc2FFbmNyeXB0aW9uIGlk
ZW50aWZpZXIgdW5kZXIgYGFsZ29yaXRobS5hbGdvcml0aG1gLgorICAgICAgICAvLyBGSVhNRTog
SW4gY2FzZSB0aGUga2V5IGFsZ29yaXRobSBpczoKKyAgICAgICAgLy8gLSBSU0EtUFNTOgorICAg
ICAgICAvLyAgICAgLSB0aGlzIHNob3VsZCB3cml0ZSBvdXQgaWQtUlNBU1NBLVBTUywgYWxvbmcg
d2l0aCBzZXR0aW5nIGBhbGdvcml0aG0ucGFyYW1ldGVyc2AKKyAgICAgICAgLy8gICAgICAgdG8g
YSBSU0FTU0EtUFNTLXBhcmFtcyBzdHJ1Y3R1cmUKKyAgICAgICAgLy8gLSBSU0EtT0FFUDoKKyAg
ICAgICAgLy8gICAgIC0gdGhpcyBzaG91bGQgd3JpdGUgb3V0IGlkLVJTQUVTLU9BRVAsIGFsb25n
IHdpdGggc2V0dGluZyBgYWxnb3JpdGhtLnBhcmFtZXRlcnNgCisgICAgICAgIC8vICAgICAgIHRv
IGEgUlNBRVMtT0FFUC1wYXJhbXMgc3RydWN0dXJlCisgICAgICAgIGlmICghUEFMOjpUQVNOMTo6
d3JpdGVFbGVtZW50KHNwa2ksICJhbGdvcml0aG0uYWxnb3JpdGhtIiwgIjEuMi44NDAuMTEzNTQ5
LjEuMS4xIikpCisgICAgICAgICAgICByZXR1cm4gRXhjZXB0aW9uIHsgT3BlcmF0aW9uRXJyb3Ig
fTsKKworICAgICAgICAvLyBXcml0ZSBvdXQgdGhlIG51bGwgdmFsdWUgdW5kZXIgYGFsZ29yaXRo
bS5wYXJhbWV0ZXJzYC4KKyAgICAgICAgaWYgKCFQQUw6OlRBU04xOjp3cml0ZUVsZW1lbnQoc3Br
aSwgImFsZ29yaXRobS5wYXJhbWV0ZXJzIiwgIlx4MDVceDAwIiwgMikpCisgICAgICAgICAgICBy
ZXR1cm4gRXhjZXB0aW9uIHsgT3BlcmF0aW9uRXJyb3IgfTsKKworICAgICAgICAvLyBXcml0ZSBv
dXQgdGhlIGBSU0FQdWJsaWNLZXlgIGRhdGEgdW5kZXIgYHN1YmplY3RQdWJsaWNLZXlgLiBCZWNh
dXNlIHRoaXMgaXMgYQorICAgICAgICAvLyBiaXQgc3RyaW5nIHBhcmFtZXRlciwgdGhlIGRhdGEg
c2l6ZSBoYXMgdG8gYmUgbXVsdGlwbGllZCBieSA4LgorICAgICAgICB7CisgICAgICAgICAgICBh
dXRvIGRhdGEgPSBQQUw6OlRBU04xOjplbmNvZGVkRGF0YShyc2FQdWJsaWNLZXksICIiKTsKKyAg
ICAgICAgICAgIGlmICghZGF0YSB8fCAhUEFMOjpUQVNOMTo6d3JpdGVFbGVtZW50KHNwa2ksICJz
dWJqZWN0UHVibGljS2V5IiwgKmRhdGEsIGRhdGEtPnNpemUoKSAqIDgpKQorICAgICAgICAgICAg
ICAgIHJldHVybiBFeGNlcHRpb24geyBPcGVyYXRpb25FcnJvciB9OworICAgICAgICB9CisgICAg
fQorCisgICAgLy8gUmV0cmlldmUgdGhlIGVuY29kZWQgYFN1YmplY3RQdWJsaWNLZXlJbmZvYCBk
YXRhIGFuZCByZXR1cm4gaXQuCisgICAgYXV0byByZXN1bHQgPSBQQUw6OlRBU04xOjplbmNvZGVk
RGF0YShzcGtpLCAiIik7CisgICAgaWYgKCFyZXN1bHQpCisgICAgICAgIHJldHVybiBFeGNlcHRp
b24geyBPcGVyYXRpb25FcnJvciB9OworCisgICAgcmV0dXJuIFdURk1vdmUocmVzdWx0LnZhbHVl
KCkpOwogfQogCiBFeGNlcHRpb25PcjxWZWN0b3I8dWludDhfdD4+IENyeXB0b0tleVJTQTo6ZXhw
b3J0UGtjczgoKSBjb25zdApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3J5cHRvL2djcnlw
dC9HQ3J5cHRVdGlsaXRpZXMuaCBiL1NvdXJjZS9XZWJDb3JlL2NyeXB0by9nY3J5cHQvR0NyeXB0
VXRpbGl0aWVzLmgKaW5kZXggMmZmZmExOWZjMGM3NzBjY2I1MzM2NTFmOTMyOTQ5ZDAyNTY2YWQy
My4uZjczZTcxYzJlZjdlOWQzNThjZThiZDUwM2RkZTJiNDkzYmY0Nzg0NyAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvY3J5cHRvL2djcnlwdC9HQ3J5cHRVdGlsaXRpZXMuaAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9jcnlwdG8vZ2NyeXB0L0dDcnlwdFV0aWxpdGllcy5oCkBAIC0xNTYsNCArMTU2
LDI4IEBAIHN0YXRpYyBpbmxpbmUgc3RkOjpvcHRpb25hbDxWZWN0b3I8dWludDhfdD4+IG1waURh
dGEoZ2NyeV9zZXhwX3QgcGFyYW1TZXhwKQogICAgIHJldHVybiBtcGlEYXRhKHBhcmFtTVBJKTsK
IH0KIAorc3RhdGljIGlubGluZSBzdGQ6Om9wdGlvbmFsPFZlY3Rvcjx1aW50OF90Pj4gbXBpU2ln
bmVkRGF0YShnY3J5X21waV90IG1waSkKK3sKKyAgICBhdXRvIGRhdGEgPSBtcGlEYXRhKG1waSk7
CisgICAgaWYgKCFkYXRhKQorICAgICAgICByZXR1cm4gc3RkOjpudWxsb3B0OworCisgICAgaWYg
KGRhdGEtPmF0KDApICYgMHg4MCkKKyAgICAgICAgZGF0YS0+aW5zZXJ0KDAsIDB4MDApOworCisg
ICAgcmV0dXJuIGRhdGE7Cit9CisKK3N0YXRpYyBpbmxpbmUgc3RkOjpvcHRpb25hbDxWZWN0b3I8
dWludDhfdD4+IG1waVNpZ25lZERhdGEoZ2NyeV9zZXhwX3QgcGFyYW1TZXhwKQoreworICAgIGF1
dG8gZGF0YSA9IG1waURhdGEocGFyYW1TZXhwKTsKKyAgICBpZiAoIWRhdGEpCisgICAgICAgIHJl
dHVybiBzdGQ6Om51bGxvcHQ7CisKKyAgICBpZiAoZGF0YS0+YXQoMCkgJiAweDgwKQorICAgICAg
ICBkYXRhLT5pbnNlcnQoMCwgMHgwMCk7CisKKyAgICByZXR1cm4gZGF0YTsKK30KKwogfSAvLyBu
YW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5
b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4IDQ0OWFmZThmODI5ZDUwZWZiZmE0ZTBjZDE3ZmE0Zjc0
MGUyOTczZWMuLmUwMWQ1MWI5YzRhM2M0MDNjMjRkNGFlNTAxYWNjMGRmNGYwYzM0NzEgMTAwNjQ0
Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cK
QEAgLTEsMyArMSwxMiBAQAorMjAxNy0wNi0yMSAgWmFuIERvYmVyc2VrICA8emRvYmVyc2VrQGln
YWxpYS5jb20+CisKKyAgICAgICAgW0dDcnlwdF0gSW1wbGVtZW50IENyeXB0b0tleVJTQSBTUEtJ
IGV4cG9ydHMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lk
PTE3MzY5NQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAg
ICogcGxhdGZvcm0vZ3RrL1Rlc3RFeHBlY3RhdGlvbnM6CisKIDIwMTctMDYtMjEgIFlvdWVubiBG
YWJsZXQgIDx5b3Vlbm5AYXBwbGUuY29tPgogCiAgICAgICAgIFtGZXRjaCBBUEldIFR5cGVFcnJv
ciB3aGVuIGNhbGxlZCB3aXRoIGJvZHkgPT09IHt9CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9w
bGF0Zm9ybS9ndGsvVGVzdEV4cGVjdGF0aW9ucyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2d0ay9U
ZXN0RXhwZWN0YXRpb25zCmluZGV4IDBlYzcyMjFlOTZkZDkwY2ZmY2IzMDFiY2ZhNWI3YmVjY2Zk
M2U2ZGEuLjcyMjhlMWQ2MWVmMjIzMWM0ODUwMjYyMTlhNDNjZGMzNzMwZGE2MjggMTAwNjQ0Ci0t
LSBhL0xheW91dFRlc3RzL3BsYXRmb3JtL2d0ay9UZXN0RXhwZWN0YXRpb25zCisrKyBiL0xheW91
dFRlc3RzL3BsYXRmb3JtL2d0ay9UZXN0RXhwZWN0YXRpb25zCkBAIC03NzEsNyArNzcxLDYgQEAg
d2Via2l0Lm9yZy9iLzEzMzEyMiBjcnlwdG8vc3VidGxlL2VjLWltcG9ydC1zcGtpLWtleS1leHBv
cnQtc3BraS1rZXktcDI1Ni5odG1sIFsKIHdlYmtpdC5vcmcvYi8xMzMxMjIgY3J5cHRvL3N1YnRs
ZS9lYy1pbXBvcnQtc3BraS1rZXktZXhwb3J0LXNwa2kta2V5LXAzODQuaHRtbCBbIFNraXAgXQog
d2Via2l0Lm9yZy9iLzEzMzEyMiBjcnlwdG8vc3VidGxlL3JzYS1leHBvcnQta2V5LW1hbGZvcm1l
ZC1wYXJhbWV0ZXJzLmh0bWwgWyBTa2lwIF0KIHdlYmtpdC5vcmcvYi8xMzMxMjIgY3J5cHRvL3N1
YnRsZS9yc2EtaW1wb3J0LWp3ay1rZXktZXhwb3J0LXBrY3M4LWtleS5odG1sIFsgU2tpcCBdCi13
ZWJraXQub3JnL2IvMTMzMTIyIGNyeXB0by9zdWJ0bGUvcnNhLWltcG9ydC1qd2sta2V5LWV4cG9y
dC1zcGtpLWtleS5odG1sIFsgU2tpcCBdCiB3ZWJraXQub3JnL2IvMTMzMTIyIGNyeXB0by9zdWJ0
bGUvcnNhLWltcG9ydC1wa2NzOC1rZXktZXhwb3J0LWp3ay1rZXkuaHRtbCBbIFNraXAgXQogd2Vi
a2l0Lm9yZy9iLzEzMzEyMiBjcnlwdG8vc3VidGxlL3JzYS1pbXBvcnQtcGtjczgta2V5LWV4cG9y
dC1wa2NzOC1rZXkuaHRtbCBbIFNraXAgXQogd2Via2l0Lm9yZy9iLzEzMzEyMiBjcnlwdG8vc3Vi
dGxlL3JzYS1pbXBvcnQtc3BraS1rZXktZXhwb3J0LWp3ay1rZXkuaHRtbCBbIFNraXAgXQpAQCAt
NzgyLDE5ICs3ODEsMTUgQEAgd2Via2l0Lm9yZy9iLzEzMzEyMiBjcnlwdG8vc3VidGxlL3JzYS1p
bmRleGVkZGItbm9uLWV4cG9ydGFibGUuaHRtbCBbIFNraXAgXQogd2Via2l0Lm9yZy9iLzEzMzEy
MiBjcnlwdG8vc3VidGxlL3JzYS1pbmRleGVkZGItcHJpdmF0ZS5odG1sIFsgU2tpcCBdCiB3ZWJr
aXQub3JnL2IvMTMzMTIyIGNyeXB0by9zdWJ0bGUvcnNhLWluZGV4ZWRkYi5odG1sIFsgU2tpcCBd
CiB3ZWJraXQub3JnL2IvMTMzMTIyIGNyeXB0by9zdWJ0bGUvcnNhLW9hZXAtZ2VuZXJhdGUtZXhw
b3J0LWtleS1wa2NzOC5odG1sIFsgU2tpcCBdCi13ZWJraXQub3JnL2IvMTMzMTIyIGNyeXB0by9z
dWJ0bGUvcnNhLW9hZXAtZ2VuZXJhdGUtZXhwb3J0LWtleS1zcGtpLmh0bWwgWyBTa2lwIF0KIHdl
YmtpdC5vcmcvYi8xMzMxMjIgY3J5cHRvL3N1YnRsZS9yc2Etb2FlcC1pbXBvcnQtcGtjczgta2V5
Lmh0bWwgWyBTa2lwIF0KIHdlYmtpdC5vcmcvYi8xMzMxMjIgY3J5cHRvL3N1YnRsZS9yc2Etb2Fl
cC1pbXBvcnQtc3BraS1rZXktZW1wdHktdXNhZ2VzLmh0bWwgWyBTa2lwIF0KIHdlYmtpdC5vcmcv
Yi8xMzMxMjIgY3J5cHRvL3N1YnRsZS9yc2Etb2FlcC1pbXBvcnQtc3BraS1rZXkuaHRtbCBbIFNr
aXAgXQogd2Via2l0Lm9yZy9iLzEzMzEyMiBjcnlwdG8vc3VidGxlL3JzYS1wc3MtZ2VuZXJhdGUt
ZXhwb3J0LWtleS1wa2NzOC5odG1sIFsgU2tpcCBdCi13ZWJraXQub3JnL2IvMTMzMTIyIGNyeXB0
by9zdWJ0bGUvcnNhLXBzcy1nZW5lcmF0ZS1leHBvcnQta2V5LXNwa2kuaHRtbCBbIFNraXAgXQog
d2Via2l0Lm9yZy9iLzEzMzEyMiBjcnlwdG8vc3VidGxlL3JzYWVzLXBrY3MxLXYxXzUtZ2VuZXJh
dGUtZXhwb3J0LWtleS1wa2NzOC5odG1sIFsgU2tpcCBdCi13ZWJraXQub3JnL2IvMTMzMTIyIGNy
eXB0by9zdWJ0bGUvcnNhZXMtcGtjczEtdjFfNS1nZW5lcmF0ZS1leHBvcnQta2V5LXNwa2kuaHRt
bCBbIFNraXAgXQogd2Via2l0Lm9yZy9iLzEzMzEyMiBjcnlwdG8vc3VidGxlL3JzYWVzLXBrY3Mx
LXYxXzUtaW1wb3J0LXBrY3M4LWtleS5odG1sIFsgU2tpcCBdCiB3ZWJraXQub3JnL2IvMTMzMTIy
IGNyeXB0by9zdWJ0bGUvcnNhZXMtcGtjczEtdjFfNS1pbXBvcnQtc3BraS1rZXktZW1wdHktdXNh
Z2VzLmh0bWwgWyBTa2lwIF0KIHdlYmtpdC5vcmcvYi8xMzMxMjIgY3J5cHRvL3N1YnRsZS9yc2Fl
cy1wa2NzMS12MV81LWltcG9ydC1zcGtpLWtleS5odG1sIFsgU2tpcCBdCiB3ZWJraXQub3JnL2Iv
MTMzMTIyIGNyeXB0by9zdWJ0bGUvcnNhc3NhLXBrY3MxLXYxXzUtZ2VuZXJhdGUtZXhwb3J0LWtl
eS1wa2NzOC5odG1sIFsgU2tpcCBdCi13ZWJraXQub3JnL2IvMTMzMTIyIGNyeXB0by9zdWJ0bGUv
cnNhc3NhLXBrY3MxLXYxXzUtZ2VuZXJhdGUtZXhwb3J0LWtleS1zcGtpLmh0bWwgWyBTa2lwIF0K
IHdlYmtpdC5vcmcvYi8xMzMxMjIgY3J5cHRvL3N1YnRsZS9yc2Fzc2EtcGtjczEtdjFfNS1pbXBv
cnQtcGtjczgta2V5Lmh0bWwgWyBTa2lwIF0KIHdlYmtpdC5vcmcvYi8xMzMxMjIgY3J5cHRvL3N1
YnRsZS9yc2Fzc2EtcGtjczEtdjFfNS1pbXBvcnQtc3BraS1rZXktZW1wdHktdXNhZ2VzLmh0bWwg
WyBTa2lwIF0KIHdlYmtpdC5vcmcvYi8xMzMxMjIgY3J5cHRvL3N1YnRsZS9yc2Fzc2EtcGtjczEt
djFfNS1pbXBvcnQtc3BraS1rZXkuaHRtbCBbIFNraXAgXQpAQCAtODEyLDcgKzgwNyw2IEBAIHdl
YmtpdC5vcmcvYi8xMzMxMjIgY3J5cHRvL3dvcmtlcnMvc3VidGxlL2hyc2EtcG9zdE1lc3NhZ2Ut
d29ya2VyLmh0bWwgWyBTa2lwIF0KIHdlYmtpdC5vcmcvYi8xMzMxMjIgY3J5cHRvL3dvcmtlcnMv
c3VidGxlL211bHRpcGxlLXBvc3RNZXNzYWdlLXdvcmtlci5odG1sIFsgU2tpcCBdCiB3ZWJraXQu
b3JnL2IvMTMzMTIyIGNyeXB0by93b3JrZXJzL3N1YnRsZS9yYXctcG9zdE1lc3NhZ2Utd29ya2Vy
Lmh0bWwgWyBTa2lwIF0KIHdlYmtpdC5vcmcvYi8xMzMxMjIgY3J5cHRvL3dvcmtlcnMvc3VidGxl
L3JzYS1leHBvcnQtcGtjczgta2V5Lmh0bWwgWyBTa2lwIF0KLXdlYmtpdC5vcmcvYi8xMzMxMjIg
Y3J5cHRvL3dvcmtlcnMvc3VidGxlL3JzYS1leHBvcnQtc3BraS1rZXkuaHRtbCBbIFNraXAgXQog
d2Via2l0Lm9yZy9iLzEzMzEyMiBjcnlwdG8vd29ya2Vycy9zdWJ0bGUvcnNhLWltcG9ydC1wa2Nz
OC1rZXkuaHRtbCBbIFNraXAgXQogd2Via2l0Lm9yZy9iLzEzMzEyMiBjcnlwdG8vd29ya2Vycy9z
dWJ0bGUvcnNhLWltcG9ydC1zcGtpLWtleS5odG1sIFsgU2tpcCBdCiB3ZWJraXQub3JnL2IvMTMz
MTIyIGNyeXB0by93b3JrZXJzL3N1YnRsZS9yc2EtcG9zdE1lc3NhZ2Utd29ya2VyLmh0bWwgWyBT
a2lwIF0K
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>313827</attachid>
            <date>2017-06-26 04:58:31 -0700</date>
            <delta_ts>2017-06-28 09:25:53 -0700</delta_ts>
            <desc>WIP patch</desc>
            <filename>bug-173695-20170626135829.patch</filename>
            <type>text/plain</type>
            <size>9712</size>
            <attacher name="Zan Dobersek">zan</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjE4ODAwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNDJmZDRhYjJmY2JhZTU4
ZDM1ZjMxMzE1ZDdlMTQzNTRmZGU2YzcyZi4uYjY0MWI0YjU1ZmMyZjBiMzA0NGY5Mzc2NjFlMmFh
ZjZkNTlmNjM2ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE3IEBACisyMDE3LTA2LTI2ICBaYW4g
RG9iZXJzZWsgIDx6ZG9iZXJzZWtAaWdhbGlhLmNvbT4KKworICAgICAgICBbR0NyeXB0XSBJbXBs
ZW1lbnQgQ3J5cHRvS2V5UlNBIFNQS0kgZXhwb3J0cworICAgICAgICBodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTczNjk1CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9C
T0RZIChPT1BTISkuCisKKyAgICAgICAgTm8gbmV3IHRlc3RzIChPT1BTISkuCisKKyAgICAgICAg
KiBjcnlwdG8vZ2NyeXB0L0NyeXB0b0tleVJTQUdDcnlwdC5jcHA6CisgICAgICAgIChXZWJDb3Jl
OjpDcnlwdG9LZXlSU0E6OmV4cG9ydFNwa2kpOgorICAgICAgICAqIGNyeXB0by9nY3J5cHQvR0Ny
eXB0VXRpbGl0aWVzLmg6CisgICAgICAgIChXZWJDb3JlOjptcGlTaWduZWREYXRhKToKKwogMjAx
Ny0wNi0yNSAgS29uc3RhbnRpbiBUb2thcmV2ICA8YW5udWxlbkB5YW5kZXgucnU+CiAKICAgICAg
ICAgUmVtb3ZlIGV4Y2Vzc2l2ZSBoZWFkZXJzIGZyb20gV2ViQ29yZS9wbGF0Zm9ybQpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvY3J5cHRvL2djcnlwdC9DcnlwdG9LZXlSU0FHQ3J5cHQuY3Bw
IGIvU291cmNlL1dlYkNvcmUvY3J5cHRvL2djcnlwdC9DcnlwdG9LZXlSU0FHQ3J5cHQuY3BwCmlu
ZGV4IDEyNDViZTJhNzU2ZGQ4OTcxZDQ0MDIzOWRjZDlmYjk0ZTJhNGIwYmMuLjFkMzYyMjQ1YmE1
MTk3NzQ3NTZiNjg1MTExNzZlZGI3YzA2NTYyNjAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L2NyeXB0by9nY3J5cHQvQ3J5cHRvS2V5UlNBR0NyeXB0LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9jcnlwdG8vZ2NyeXB0L0NyeXB0b0tleVJTQUdDcnlwdC5jcHAKQEAgLTM3LDYgKzM3LDcgQEAK
ICNpbmNsdWRlICJTY3JpcHRFeGVjdXRpb25Db250ZXh0LmgiCiAjaW5jbHVkZSA8cGFsL2NyeXB0
by9nY3J5cHQvSGFuZGxlLmg+CiAjaW5jbHVkZSA8cGFsL2NyeXB0by9nY3J5cHQvVXRpbGl0aWVz
Lmg+CisjaW5jbHVkZSA8cGFsL2NyeXB0by90YXNuMS9VdGlsaXRpZXMuaD4KIAogbmFtZXNwYWNl
IFdlYkNvcmUgewogCkBAIC0yNTYsOSArMjU3LDcyIEBAIFJlZlB0cjxDcnlwdG9LZXlSU0E+IENy
eXB0b0tleVJTQTo6aW1wb3J0UGtjczgoQ3J5cHRvQWxnb3JpdGhtSWRlbnRpZmllciwgc3RkOjpv
CiAKIEV4Y2VwdGlvbk9yPFZlY3Rvcjx1aW50OF90Pj4gQ3J5cHRvS2V5UlNBOjpleHBvcnRTcGtp
KCkgY29uc3QKIHsKLSAgICBub3RJbXBsZW1lbnRlZCgpOworICAgIGlmICh0eXBlKCkgIT0gQ3J5
cHRvS2V5VHlwZTo6UHVibGljKQorICAgICAgICByZXR1cm4gRXhjZXB0aW9uIHsgSU5WQUxJRF9B
Q0NFU1NfRVJSIH07CiAKLSAgICByZXR1cm4gRXhjZXB0aW9uIHsgTk9UX1NVUFBPUlRFRF9FUlIg
fTsKKyAgICBQQUw6OlRBU04xOjpTdHJ1Y3R1cmUgcnNhUHVibGljS2V5OworICAgIHsKKyAgICAg
ICAgLy8gQ3JlYXRlIHRoZSBgUlNBUHVibGljS2V5YCBzdHJ1Y3R1cmUuCisgICAgICAgIGlmICgh
UEFMOjpUQVNOMTo6Y3JlYXRlU3RydWN0dXJlKCJXZWJDcnlwdG8uUlNBUHVibGljS2V5IiwgJnJz
YVB1YmxpY0tleSkpCisgICAgICAgICAgICByZXR1cm4gRXhjZXB0aW9uIHsgT3BlcmF0aW9uRXJy
b3IgfTsKKworICAgICAgICAvLyBSZXRyaWV2ZSB0aGUgbW9kdWx1cyBhbmQgcHVibGljIGV4cG9u
ZW50IHMtZXhwcmVzc2lvbnMuCisgICAgICAgIFBBTDo6R0NyeXB0OjpIYW5kbGU8Z2NyeV9zZXhw
X3Q+IG1vZHVsdXNTZXhwKGdjcnlfc2V4cF9maW5kX3Rva2VuKG1fcGxhdGZvcm1LZXksICJuIiwg
MCkpOworICAgICAgICBQQUw6OkdDcnlwdDo6SGFuZGxlPGdjcnlfc2V4cF90PiBwdWJsaWNFeHBv
bmVudFNleHAoZ2NyeV9zZXhwX2ZpbmRfdG9rZW4obV9wbGF0Zm9ybUtleSwgImUiLCAwKSk7Cisg
ICAgICAgIGlmICghbW9kdWx1c1NleHAgfHwgIXB1YmxpY0V4cG9uZW50U2V4cCkKKyAgICAgICAg
ICAgIHJldHVybiBFeGNlcHRpb24geyBPcGVyYXRpb25FcnJvciB9OworCisgICAgICAgIC8vIFJl
dHJpZXZlIE1QSSBkYXRhIGZvciB0aGUgbW9kdWx1cyBhbmQgcHVibGljIGV4cG9uZW50IGNvbXBv
bmVudHMuCisgICAgICAgIGF1dG8gbW9kdWx1cyA9IG1waVNpZ25lZERhdGEobW9kdWx1c1NleHAp
OworICAgICAgICBhdXRvIHB1YmxpY0V4cG9uZW50ID0gbXBpU2lnbmVkRGF0YShwdWJsaWNFeHBv
bmVudFNleHApOworICAgICAgICBpZiAoIW1vZHVsdXMgfHwgIXB1YmxpY0V4cG9uZW50KQorICAg
ICAgICAgICAgcmV0dXJuIEV4Y2VwdGlvbiB7IE9wZXJhdGlvbkVycm9yIH07CisKKyAgICAgICAg
Ly8gV3JpdGUgb3V0IHRoZSBtb2R1bHVzIGRhdGEgdW5kZXIgYG1vZHVsdXNgLgorICAgICAgICBp
ZiAoIVBBTDo6VEFTTjE6OndyaXRlRWxlbWVudChyc2FQdWJsaWNLZXksICJtb2R1bHVzIiwgbW9k
dWx1cy0+ZGF0YSgpLCBtb2R1bHVzLT5zaXplKCkpKQorICAgICAgICAgICAgcmV0dXJuIEV4Y2Vw
dGlvbiB7IE9wZXJhdGlvbkVycm9yIH07CisKKyAgICAgICAgLy8gV3JpdGUgb3V0IHRoZSBwdWJs
aWMgZXhwb25lbnQgZGF0YSB1bmRlciBgcHVibGljRXhwb25lbnRgLgorICAgICAgICBpZiAoIVBB
TDo6VEFTTjE6OndyaXRlRWxlbWVudChyc2FQdWJsaWNLZXksICJwdWJsaWNFeHBvbmVudCIsIHB1
YmxpY0V4cG9uZW50LT5kYXRhKCksIHB1YmxpY0V4cG9uZW50LT5zaXplKCkpKQorICAgICAgICAg
ICAgcmV0dXJuIEV4Y2VwdGlvbiB7IE9wZXJhdGlvbkVycm9yIH07CisgICAgfQorCisgICAgUEFM
OjpUQVNOMTo6U3RydWN0dXJlIHNwa2k7CisgICAgeworICAgICAgICAvLyBDcmVhdGUgdGhlIGBT
dWJqZWN0UHVibGljS2V5SW5mb2Agc3RydWN0dXJlLgorICAgICAgICBpZiAoIVBBTDo6VEFTTjE6
OmNyZWF0ZVN0cnVjdHVyZSgiV2ViQ3J5cHRvLlN1YmplY3RQdWJsaWNLZXlJbmZvIiwgJnNwa2kp
KQorICAgICAgICAgICAgcmV0dXJuIEV4Y2VwdGlvbiB7IE9wZXJhdGlvbkVycm9yIH07CisKKyAg
ICAgICAgLy8gV3JpdGUgb3V0IHRoZSBpZC1yc2FFbmNyeXB0aW9uIGlkZW50aWZpZXIgdW5kZXIg
YGFsZ29yaXRobS5hbGdvcml0aG1gLgorICAgICAgICAvLyBGSVhNRTogSW4gY2FzZSB0aGUga2V5
IGFsZ29yaXRobSBpczoKKyAgICAgICAgLy8gLSBSU0EtUFNTOgorICAgICAgICAvLyAgICAgLSB0
aGlzIHNob3VsZCB3cml0ZSBvdXQgaWQtUlNBU1NBLVBTUywgYWxvbmcgd2l0aCBzZXR0aW5nIGBh
bGdvcml0aG0ucGFyYW1ldGVyc2AKKyAgICAgICAgLy8gICAgICAgdG8gYSBSU0FTU0EtUFNTLXBh
cmFtcyBzdHJ1Y3R1cmUKKyAgICAgICAgLy8gLSBSU0EtT0FFUDoKKyAgICAgICAgLy8gICAgIC0g
dGhpcyBzaG91bGQgd3JpdGUgb3V0IGlkLVJTQUVTLU9BRVAsIGFsb25nIHdpdGggc2V0dGluZyBg
YWxnb3JpdGhtLnBhcmFtZXRlcnNgCisgICAgICAgIC8vICAgICAgIHRvIGEgUlNBRVMtT0FFUC1w
YXJhbXMgc3RydWN0dXJlCisgICAgICAgIGlmICghUEFMOjpUQVNOMTo6d3JpdGVFbGVtZW50KHNw
a2ksICJhbGdvcml0aG0uYWxnb3JpdGhtIiwgIjEuMi44NDAuMTEzNTQ5LjEuMS4xIiwgMSkpCisg
ICAgICAgICAgICByZXR1cm4gRXhjZXB0aW9uIHsgT3BlcmF0aW9uRXJyb3IgfTsKKworICAgICAg
ICAvLyBXcml0ZSBvdXQgdGhlIG51bGwgdmFsdWUgdW5kZXIgYGFsZ29yaXRobS5wYXJhbWV0ZXJz
YC4KKyAgICAgICAgaWYgKCFQQUw6OlRBU04xOjp3cml0ZUVsZW1lbnQoc3BraSwgImFsZ29yaXRo
bS5wYXJhbWV0ZXJzIiwgIlx4MDVceDAwIiwgMikpCisgICAgICAgICAgICByZXR1cm4gRXhjZXB0
aW9uIHsgT3BlcmF0aW9uRXJyb3IgfTsKKworICAgICAgICAvLyBXcml0ZSBvdXQgdGhlIGBSU0FQ
dWJsaWNLZXlgIGRhdGEgdW5kZXIgYHN1YmplY3RQdWJsaWNLZXlgLiBCZWNhdXNlIHRoaXMgaXMg
YQorICAgICAgICAvLyBiaXQgc3RyaW5nIHBhcmFtZXRlciwgdGhlIGRhdGEgc2l6ZSBoYXMgdG8g
YmUgbXVsdGlwbGllZCBieSA4LgorICAgICAgICB7CisgICAgICAgICAgICBhdXRvIGRhdGEgPSBQ
QUw6OlRBU04xOjplbmNvZGVkRGF0YShyc2FQdWJsaWNLZXksICIiKTsKKyAgICAgICAgICAgIGlm
ICghZGF0YSB8fCAhUEFMOjpUQVNOMTo6d3JpdGVFbGVtZW50KHNwa2ksICJzdWJqZWN0UHVibGlj
S2V5IiwgZGF0YS0+ZGF0YSgpLCBkYXRhLT5zaXplKCkgKiA4KSkKKyAgICAgICAgICAgICAgICBy
ZXR1cm4gRXhjZXB0aW9uIHsgT3BlcmF0aW9uRXJyb3IgfTsKKyAgICAgICAgfQorICAgIH0KKwor
ICAgIC8vIFJldHJpZXZlIHRoZSBlbmNvZGVkIGBTdWJqZWN0UHVibGljS2V5SW5mb2AgZGF0YSBh
bmQgcmV0dXJuIGl0LgorICAgIGF1dG8gcmVzdWx0ID0gUEFMOjpUQVNOMTo6ZW5jb2RlZERhdGEo
c3BraSwgIiIpOworICAgIGlmICghcmVzdWx0KQorICAgICAgICByZXR1cm4gRXhjZXB0aW9uIHsg
T3BlcmF0aW9uRXJyb3IgfTsKKworICAgIHJldHVybiBXVEZNb3ZlKHJlc3VsdC52YWx1ZSgpKTsK
IH0KIAogRXhjZXB0aW9uT3I8VmVjdG9yPHVpbnQ4X3Q+PiBDcnlwdG9LZXlSU0E6OmV4cG9ydFBr
Y3M4KCkgY29uc3QKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2NyeXB0by9nY3J5cHQvR0Ny
eXB0VXRpbGl0aWVzLmggYi9Tb3VyY2UvV2ViQ29yZS9jcnlwdG8vZ2NyeXB0L0dDcnlwdFV0aWxp
dGllcy5oCmluZGV4IDJmZmZhMTlmYzBjNzcwY2NiNTMzNjUxZjkzMjk0OWQwMjU2NmFkMjMuLmY3
M2U3MWMyZWY3ZTlkMzU4Y2U4YmQ1MDNkZGUyYjQ5M2JmNDc4NDcgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL2NyeXB0by9nY3J5cHQvR0NyeXB0VXRpbGl0aWVzLmgKKysrIGIvU291cmNlL1dl
YkNvcmUvY3J5cHRvL2djcnlwdC9HQ3J5cHRVdGlsaXRpZXMuaApAQCAtMTU2LDQgKzE1NiwyOCBA
QCBzdGF0aWMgaW5saW5lIHN0ZDo6b3B0aW9uYWw8VmVjdG9yPHVpbnQ4X3Q+PiBtcGlEYXRhKGdj
cnlfc2V4cF90IHBhcmFtU2V4cCkKICAgICByZXR1cm4gbXBpRGF0YShwYXJhbU1QSSk7CiB9CiAK
K3N0YXRpYyBpbmxpbmUgc3RkOjpvcHRpb25hbDxWZWN0b3I8dWludDhfdD4+IG1waVNpZ25lZERh
dGEoZ2NyeV9tcGlfdCBtcGkpCit7CisgICAgYXV0byBkYXRhID0gbXBpRGF0YShtcGkpOworICAg
IGlmICghZGF0YSkKKyAgICAgICAgcmV0dXJuIHN0ZDo6bnVsbG9wdDsKKworICAgIGlmIChkYXRh
LT5hdCgwKSAmIDB4ODApCisgICAgICAgIGRhdGEtPmluc2VydCgwLCAweDAwKTsKKworICAgIHJl
dHVybiBkYXRhOworfQorCitzdGF0aWMgaW5saW5lIHN0ZDo6b3B0aW9uYWw8VmVjdG9yPHVpbnQ4
X3Q+PiBtcGlTaWduZWREYXRhKGdjcnlfc2V4cF90IHBhcmFtU2V4cCkKK3sKKyAgICBhdXRvIGRh
dGEgPSBtcGlEYXRhKHBhcmFtU2V4cCk7CisgICAgaWYgKCFkYXRhKQorICAgICAgICByZXR1cm4g
c3RkOjpudWxsb3B0OworCisgICAgaWYgKGRhdGEtPmF0KDApICYgMHg4MCkKKyAgICAgICAgZGF0
YS0+aW5zZXJ0KDAsIDB4MDApOworCisgICAgcmV0dXJuIGRhdGE7Cit9CisKIH0gLy8gbmFtZXNw
YWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRl
c3RzL0NoYW5nZUxvZwppbmRleCA2NWVlZTAzMTIzMDhmZWNjNTQ2NjY3NDc1MzZjYjZiNDZmNjBi
OWViLi45YmRiMDY4YmZkNWIzODIzYmY1ZjljMjM1YjkwNThmZTAxNjgyZTJlIDEwMDY0NAotLS0g
YS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0x
LDMgKzEsMTIgQEAKKzIwMTctMDYtMjYgIFphbiBEb2JlcnNlayAgPHpkb2JlcnNla0BpZ2FsaWEu
Y29tPgorCisgICAgICAgIFtHQ3J5cHRdIEltcGxlbWVudCBDcnlwdG9LZXlSU0EgU1BLSSBleHBv
cnRzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNzM2
OTUKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIHBs
YXRmb3JtL2d0ay9UZXN0RXhwZWN0YXRpb25zOgorCiAyMDE3LTA2LTI1ICBZb3Vlbm4gRmFibGV0
ICA8eW91ZW5uQGFwcGxlLmNvbT4KIAogICAgICAgICBSZW1vdmUgdXNlIG9mIG1vY2sgd2VicnRj
IGJhY2tlbmQgZmFjdG9yeSBhdCBpbmplY3RlZCBidW5kbGUgcmVzZXQgdGltZQpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vZ3RrL1Rlc3RFeHBlY3RhdGlvbnMgYi9MYXlvdXRUZXN0
cy9wbGF0Zm9ybS9ndGsvVGVzdEV4cGVjdGF0aW9ucwppbmRleCAwZWM3MjIxZTk2ZGQ5MGNmZmNi
MzAxYmNmYTViN2JlY2NmZDNlNmRhLi43MjI4ZTFkNjFlZjIyMzFjNDg1MDI2MjE5YTQzY2RjMzcz
MGRhNjI4IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9ndGsvVGVzdEV4cGVjdGF0
aW9ucworKysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9ndGsvVGVzdEV4cGVjdGF0aW9ucwpAQCAt
NzcxLDcgKzc3MSw2IEBAIHdlYmtpdC5vcmcvYi8xMzMxMjIgY3J5cHRvL3N1YnRsZS9lYy1pbXBv
cnQtc3BraS1rZXktZXhwb3J0LXNwa2kta2V5LXAyNTYuaHRtbCBbCiB3ZWJraXQub3JnL2IvMTMz
MTIyIGNyeXB0by9zdWJ0bGUvZWMtaW1wb3J0LXNwa2kta2V5LWV4cG9ydC1zcGtpLWtleS1wMzg0
Lmh0bWwgWyBTa2lwIF0KIHdlYmtpdC5vcmcvYi8xMzMxMjIgY3J5cHRvL3N1YnRsZS9yc2EtZXhw
b3J0LWtleS1tYWxmb3JtZWQtcGFyYW1ldGVycy5odG1sIFsgU2tpcCBdCiB3ZWJraXQub3JnL2Iv
MTMzMTIyIGNyeXB0by9zdWJ0bGUvcnNhLWltcG9ydC1qd2sta2V5LWV4cG9ydC1wa2NzOC1rZXku
aHRtbCBbIFNraXAgXQotd2Via2l0Lm9yZy9iLzEzMzEyMiBjcnlwdG8vc3VidGxlL3JzYS1pbXBv
cnQtandrLWtleS1leHBvcnQtc3BraS1rZXkuaHRtbCBbIFNraXAgXQogd2Via2l0Lm9yZy9iLzEz
MzEyMiBjcnlwdG8vc3VidGxlL3JzYS1pbXBvcnQtcGtjczgta2V5LWV4cG9ydC1qd2sta2V5Lmh0
bWwgWyBTa2lwIF0KIHdlYmtpdC5vcmcvYi8xMzMxMjIgY3J5cHRvL3N1YnRsZS9yc2EtaW1wb3J0
LXBrY3M4LWtleS1leHBvcnQtcGtjczgta2V5Lmh0bWwgWyBTa2lwIF0KIHdlYmtpdC5vcmcvYi8x
MzMxMjIgY3J5cHRvL3N1YnRsZS9yc2EtaW1wb3J0LXNwa2kta2V5LWV4cG9ydC1qd2sta2V5Lmh0
bWwgWyBTa2lwIF0KQEAgLTc4MiwxOSArNzgxLDE1IEBAIHdlYmtpdC5vcmcvYi8xMzMxMjIgY3J5
cHRvL3N1YnRsZS9yc2EtaW5kZXhlZGRiLW5vbi1leHBvcnRhYmxlLmh0bWwgWyBTa2lwIF0KIHdl
YmtpdC5vcmcvYi8xMzMxMjIgY3J5cHRvL3N1YnRsZS9yc2EtaW5kZXhlZGRiLXByaXZhdGUuaHRt
bCBbIFNraXAgXQogd2Via2l0Lm9yZy9iLzEzMzEyMiBjcnlwdG8vc3VidGxlL3JzYS1pbmRleGVk
ZGIuaHRtbCBbIFNraXAgXQogd2Via2l0Lm9yZy9iLzEzMzEyMiBjcnlwdG8vc3VidGxlL3JzYS1v
YWVwLWdlbmVyYXRlLWV4cG9ydC1rZXktcGtjczguaHRtbCBbIFNraXAgXQotd2Via2l0Lm9yZy9i
LzEzMzEyMiBjcnlwdG8vc3VidGxlL3JzYS1vYWVwLWdlbmVyYXRlLWV4cG9ydC1rZXktc3BraS5o
dG1sIFsgU2tpcCBdCiB3ZWJraXQub3JnL2IvMTMzMTIyIGNyeXB0by9zdWJ0bGUvcnNhLW9hZXAt
aW1wb3J0LXBrY3M4LWtleS5odG1sIFsgU2tpcCBdCiB3ZWJraXQub3JnL2IvMTMzMTIyIGNyeXB0
by9zdWJ0bGUvcnNhLW9hZXAtaW1wb3J0LXNwa2kta2V5LWVtcHR5LXVzYWdlcy5odG1sIFsgU2tp
cCBdCiB3ZWJraXQub3JnL2IvMTMzMTIyIGNyeXB0by9zdWJ0bGUvcnNhLW9hZXAtaW1wb3J0LXNw
a2kta2V5Lmh0bWwgWyBTa2lwIF0KIHdlYmtpdC5vcmcvYi8xMzMxMjIgY3J5cHRvL3N1YnRsZS9y
c2EtcHNzLWdlbmVyYXRlLWV4cG9ydC1rZXktcGtjczguaHRtbCBbIFNraXAgXQotd2Via2l0Lm9y
Zy9iLzEzMzEyMiBjcnlwdG8vc3VidGxlL3JzYS1wc3MtZ2VuZXJhdGUtZXhwb3J0LWtleS1zcGtp
Lmh0bWwgWyBTa2lwIF0KIHdlYmtpdC5vcmcvYi8xMzMxMjIgY3J5cHRvL3N1YnRsZS9yc2Flcy1w
a2NzMS12MV81LWdlbmVyYXRlLWV4cG9ydC1rZXktcGtjczguaHRtbCBbIFNraXAgXQotd2Via2l0
Lm9yZy9iLzEzMzEyMiBjcnlwdG8vc3VidGxlL3JzYWVzLXBrY3MxLXYxXzUtZ2VuZXJhdGUtZXhw
b3J0LWtleS1zcGtpLmh0bWwgWyBTa2lwIF0KIHdlYmtpdC5vcmcvYi8xMzMxMjIgY3J5cHRvL3N1
YnRsZS9yc2Flcy1wa2NzMS12MV81LWltcG9ydC1wa2NzOC1rZXkuaHRtbCBbIFNraXAgXQogd2Vi
a2l0Lm9yZy9iLzEzMzEyMiBjcnlwdG8vc3VidGxlL3JzYWVzLXBrY3MxLXYxXzUtaW1wb3J0LXNw
a2kta2V5LWVtcHR5LXVzYWdlcy5odG1sIFsgU2tpcCBdCiB3ZWJraXQub3JnL2IvMTMzMTIyIGNy
eXB0by9zdWJ0bGUvcnNhZXMtcGtjczEtdjFfNS1pbXBvcnQtc3BraS1rZXkuaHRtbCBbIFNraXAg
XQogd2Via2l0Lm9yZy9iLzEzMzEyMiBjcnlwdG8vc3VidGxlL3JzYXNzYS1wa2NzMS12MV81LWdl
bmVyYXRlLWV4cG9ydC1rZXktcGtjczguaHRtbCBbIFNraXAgXQotd2Via2l0Lm9yZy9iLzEzMzEy
MiBjcnlwdG8vc3VidGxlL3JzYXNzYS1wa2NzMS12MV81LWdlbmVyYXRlLWV4cG9ydC1rZXktc3Br
aS5odG1sIFsgU2tpcCBdCiB3ZWJraXQub3JnL2IvMTMzMTIyIGNyeXB0by9zdWJ0bGUvcnNhc3Nh
LXBrY3MxLXYxXzUtaW1wb3J0LXBrY3M4LWtleS5odG1sIFsgU2tpcCBdCiB3ZWJraXQub3JnL2Iv
MTMzMTIyIGNyeXB0by9zdWJ0bGUvcnNhc3NhLXBrY3MxLXYxXzUtaW1wb3J0LXNwa2kta2V5LWVt
cHR5LXVzYWdlcy5odG1sIFsgU2tpcCBdCiB3ZWJraXQub3JnL2IvMTMzMTIyIGNyeXB0by9zdWJ0
bGUvcnNhc3NhLXBrY3MxLXYxXzUtaW1wb3J0LXNwa2kta2V5Lmh0bWwgWyBTa2lwIF0KQEAgLTgx
Miw3ICs4MDcsNiBAQCB3ZWJraXQub3JnL2IvMTMzMTIyIGNyeXB0by93b3JrZXJzL3N1YnRsZS9o
cnNhLXBvc3RNZXNzYWdlLXdvcmtlci5odG1sIFsgU2tpcCBdCiB3ZWJraXQub3JnL2IvMTMzMTIy
IGNyeXB0by93b3JrZXJzL3N1YnRsZS9tdWx0aXBsZS1wb3N0TWVzc2FnZS13b3JrZXIuaHRtbCBb
IFNraXAgXQogd2Via2l0Lm9yZy9iLzEzMzEyMiBjcnlwdG8vd29ya2Vycy9zdWJ0bGUvcmF3LXBv
c3RNZXNzYWdlLXdvcmtlci5odG1sIFsgU2tpcCBdCiB3ZWJraXQub3JnL2IvMTMzMTIyIGNyeXB0
by93b3JrZXJzL3N1YnRsZS9yc2EtZXhwb3J0LXBrY3M4LWtleS5odG1sIFsgU2tpcCBdCi13ZWJr
aXQub3JnL2IvMTMzMTIyIGNyeXB0by93b3JrZXJzL3N1YnRsZS9yc2EtZXhwb3J0LXNwa2kta2V5
Lmh0bWwgWyBTa2lwIF0KIHdlYmtpdC5vcmcvYi8xMzMxMjIgY3J5cHRvL3dvcmtlcnMvc3VidGxl
L3JzYS1pbXBvcnQtcGtjczgta2V5Lmh0bWwgWyBTa2lwIF0KIHdlYmtpdC5vcmcvYi8xMzMxMjIg
Y3J5cHRvL3dvcmtlcnMvc3VidGxlL3JzYS1pbXBvcnQtc3BraS1rZXkuaHRtbCBbIFNraXAgXQog
d2Via2l0Lm9yZy9iLzEzMzEyMiBjcnlwdG8vd29ya2Vycy9zdWJ0bGUvcnNhLXBvc3RNZXNzYWdl
LXdvcmtlci5odG1sIFsgU2tpcCBdCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>314028</attachid>
            <date>2017-06-28 09:25:57 -0700</date>
            <delta_ts>2017-07-03 01:01:40 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-173695-20170628182556.patch</filename>
            <type>text/plain</type>
            <size>11616</size>
            <attacher name="Zan Dobersek">zan</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjE4ODczCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZThkY2U3MmFmNTFiMzRk
Njk4ZmQ1MTk4ZTU4YzczNjQzMzc0NWRjYi4uMTk2ODAxYjU4ZTkwMzFiMjAzNTA1MThmNDgwMWNm
NjVkNmY0OTI0YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQ0IEBACisyMDE3LTA2LTI4ICBaYW4g
RG9iZXJzZWsgIDx6ZG9iZXJzZWtAaWdhbGlhLmNvbT4KKworICAgICAgICBbR0NyeXB0XSBJbXBs
ZW1lbnQgQ3J5cHRvS2V5UlNBIFNQS0kgZXhwb3J0cworICAgICAgICBodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTczNjk1CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9C
T0RZIChPT1BTISkuCisKKyAgICAgICAgSW1wbGVtZW50IHRoZSBTUEtJIGV4cG9ydCBvcGVyYXRp
b24gZm9yIFJTQSBrZXlzIGZvciBwbGF0Zm9ybXMgdGhhdCB1c2UKKyAgICAgICAgbGliZ2NyeXB0
LgorCisgICAgICAgIEluIENyeXB0b0tleVJTQTo6ZXhwb3J0U3BraSgpLCB3ZSBiYWlsIGVhcmx5
IHdpdGggYW4gaW52YWxpZCBhY2Nlc3MgZXhjZXB0aW9uIGlmCisgICAgICAgIHRoaXMgZXhwb3J0
IGlzIG5vdCBiZWluZyBkb25lIGZvciBhIHB1YmxpYyBrZXkuIE90aGVyd2lzZSwgd2Ugc3RhcnQg
d2l0aCBjcmVhdGluZworICAgICAgICB0aGUgYFJTQVB1YmxpY0tleWAgQVNOLjEgc3RydWN0dXJl
LCBmaWxsaW5nIGluIHRoZSBtb2R1bHVzIGFuZCBwdWJsaWMgZXhwb25lbnQKKyAgICAgICAgZGF0
YSB0aGF0J3MgcmV0cmlldmVkIGZyb20gdGhlIGBwdWJsaWMta2V5YCBzLWV4cHJlc3Npb24gaW4g
dGhlIHNpZ25lZCBNUEkgZm9ybWF0LgorCisgICAgICAgIFdlIHRoZW4gY3JlYXRlIHRoZSBgU3Vi
amVjdFB1YmxpY0tleUluZm9gIEFTTi4xIHN0cnVjdHVyZSBhbmQgZmlsbCBpdCBvdXQgd2l0aAor
ICAgICAgICB0aGUgbmVjZXNzYXJ5IGRhdGEuIFRoZSBpZC1yc2FFbmNyeXB0aW9uIG9iamVjdCBp
ZGVudGlmaWVyIGlzIHdyaXR0ZW4gb3V0IHVuZGVyCisgICAgICAgIHRoZSBgYWxnb3JpdGhtLmFs
Z29yaXRobWAgZWxlbWVudCwgYW5kIGEgbnVsbCB2YWx1ZSBpcyB3cml0dGVuIG91dCB1bmRlciB0
aGUKKyAgICAgICAgYGFsZ29yaXRobS5wYXJhbWV0ZXJzYCBlbGVtZW50LiBUaGlzIGRvZXNuJ3Qg
Zm9sbG93IHRoZSBzcGVjaWZpY2F0aW9uIGF0IHRoZQorICAgICAgICBtb21lbnQsIHNpbmNlIGlk
LVJTQVNTQS1QU1Mgd291bGQgaGF2ZSB0byBiZSB3cml0dGVuIGZvciB0aGUgUlNBLVBTUyBhbGdv
cml0aG0sCisgICAgICAgIGFuZCBpZC1SU0FFUy1PQUVQIGZvciB0aGUgUlNBLU9BRVAgYWxnb3Jp
dGhtLCBhbG9uZyB3aXRoIHNwZWNpZmljIHBhcmFtZXRlcgorICAgICAgICBzdHJ1Y3R1cmVzLiBC
dXQgbm8gdGVzdCBpbiBXZWJLaXQgb3IgdGhlIHdlYi1wbGF0Zm9ybS10ZXN0cyBzdWl0ZSBjb3Zl
cnMgdGhpcywKKyAgICAgICAgc28gdGhpcyBkZXZpYXRpb24gc2hvdWxkIGJlIGFkZHJlc3NlZCBs
YXRlci4KKworICAgICAgICBEYXRhIG9mIHRoZSBwcmV2aW91c2x5LWNvbnN0cnVjdGVkIGBSU0FQ
dWJsaWNLZXlgIHN0cnVjdHVyZSBpcyByZXRyaWV2ZWQgYW5kCisgICAgICAgIHdyaXR0ZW4gb3V0
IHVuZGVyIHRoZSBgc3ViamVjdFB1YmxpY0tleWAgZWxlbWVudCwgYmVmb3JlIGZpbmFsbHkgcmV0
cmlldmluZworICAgICAgICBkYXRhIG9mIHRoZSBgU3ViamVjdFB1YmxpY0tleUluZm9gIHN0cnVj
dHVyZSBhbmQgcmV0dXJuaW5nIHRoYXQgdG8gdGhlIGNhbGxlci4KKworICAgICAgICBBIGhlbHBl
ciBtcGlTaWduZWREYXRhKCkgZnVuY3Rpb24gaXMgYWRkZWQsIHByb3ZpZGluZyBvdmVybG9hZHMg
Zm9yIGdjcnlfbXBpX3QKKyAgICAgICAgYW5kIGdjcnlfc2V4cF90IHBhcmFtZXRlcnMuIE1QSSBk
YXRhIGZvciB0aGF0IHBhcmFtZXRlciBpcyByZXRyaWV2ZWQgYW5kIHRoZQorICAgICAgICBmaXJz
dCBieXRlIG9mIHRoYXQgZGF0YSBpcyB0ZXN0ZWQsIGluc2VydGluZyBhbiBhZGRpdGlvbmFsIDB4
MDAgYnl0ZSBhdCB0aGUKKyAgICAgICAgYmVnaW5uaW5nIG9mIHRoZSBWZWN0b3IgaWYgdGhhdCBm
aXJzdCBieXRlIGhhcyB0aGUgZmlyc3QgYml0IHNldCwgYXZvaWRpbmcgdGhpcworICAgICAgICBk
YXRhIGFjY2lkZW50YWxseSBiZWluZyBpbnRlcnByZXRlZCBhcyBhIHNpZ25lZCBpbnRlZ2VyLgor
CisgICAgICAgIE5vIG5ldyB0ZXN0cyAtLSByZWxhdGVkIHRlc3RzIGFyZSBub3cgcGFzc2luZyBh
bmQgYXJlIHVuc2tpcHBlZC4KKworICAgICAgICAqIGNyeXB0by9nY3J5cHQvQ3J5cHRvS2V5UlNB
R0NyeXB0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkNyeXB0b0tleVJTQTo6ZXhwb3J0U3BraSk6
CisgICAgICAgICogY3J5cHRvL2djcnlwdC9HQ3J5cHRVdGlsaXRpZXMuaDoKKyAgICAgICAgKFdl
YkNvcmU6Om1waVNpZ25lZERhdGEpOgorCiAyMDE3LTA2LTI4ICBDYXJsb3MgR2FyY2lhIENhbXBv
cyAgPGNnYXJjaWFAaWdhbGlhLmNvbT4KIAogICAgICAgICBSRUdSRVNTSU9OKHIyMTg3OTkpOiBb
R1RLXVtXUEVdIENyaXRpY2FsIHdhcm5pbmcgYXQgZXhpdApkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvY3J5cHRvL2djcnlwdC9DcnlwdG9LZXlSU0FHQ3J5cHQuY3BwIGIvU291cmNlL1dlYkNv
cmUvY3J5cHRvL2djcnlwdC9DcnlwdG9LZXlSU0FHQ3J5cHQuY3BwCmluZGV4IDEyNDViZTJhNzU2
ZGQ4OTcxZDQ0MDIzOWRjZDlmYjk0ZTJhNGIwYmMuLjFkMzYyMjQ1YmE1MTk3NzQ3NTZiNjg1MTEx
NzZlZGI3YzA2NTYyNjAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2NyeXB0by9nY3J5cHQv
Q3J5cHRvS2V5UlNBR0NyeXB0LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jcnlwdG8vZ2NyeXB0
L0NyeXB0b0tleVJTQUdDcnlwdC5jcHAKQEAgLTM3LDYgKzM3LDcgQEAKICNpbmNsdWRlICJTY3Jp
cHRFeGVjdXRpb25Db250ZXh0LmgiCiAjaW5jbHVkZSA8cGFsL2NyeXB0by9nY3J5cHQvSGFuZGxl
Lmg+CiAjaW5jbHVkZSA8cGFsL2NyeXB0by9nY3J5cHQvVXRpbGl0aWVzLmg+CisjaW5jbHVkZSA8
cGFsL2NyeXB0by90YXNuMS9VdGlsaXRpZXMuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCkBA
IC0yNTYsOSArMjU3LDcyIEBAIFJlZlB0cjxDcnlwdG9LZXlSU0E+IENyeXB0b0tleVJTQTo6aW1w
b3J0UGtjczgoQ3J5cHRvQWxnb3JpdGhtSWRlbnRpZmllciwgc3RkOjpvCiAKIEV4Y2VwdGlvbk9y
PFZlY3Rvcjx1aW50OF90Pj4gQ3J5cHRvS2V5UlNBOjpleHBvcnRTcGtpKCkgY29uc3QKIHsKLSAg
ICBub3RJbXBsZW1lbnRlZCgpOworICAgIGlmICh0eXBlKCkgIT0gQ3J5cHRvS2V5VHlwZTo6UHVi
bGljKQorICAgICAgICByZXR1cm4gRXhjZXB0aW9uIHsgSU5WQUxJRF9BQ0NFU1NfRVJSIH07CiAK
LSAgICByZXR1cm4gRXhjZXB0aW9uIHsgTk9UX1NVUFBPUlRFRF9FUlIgfTsKKyAgICBQQUw6OlRB
U04xOjpTdHJ1Y3R1cmUgcnNhUHVibGljS2V5OworICAgIHsKKyAgICAgICAgLy8gQ3JlYXRlIHRo
ZSBgUlNBUHVibGljS2V5YCBzdHJ1Y3R1cmUuCisgICAgICAgIGlmICghUEFMOjpUQVNOMTo6Y3Jl
YXRlU3RydWN0dXJlKCJXZWJDcnlwdG8uUlNBUHVibGljS2V5IiwgJnJzYVB1YmxpY0tleSkpCisg
ICAgICAgICAgICByZXR1cm4gRXhjZXB0aW9uIHsgT3BlcmF0aW9uRXJyb3IgfTsKKworICAgICAg
ICAvLyBSZXRyaWV2ZSB0aGUgbW9kdWx1cyBhbmQgcHVibGljIGV4cG9uZW50IHMtZXhwcmVzc2lv
bnMuCisgICAgICAgIFBBTDo6R0NyeXB0OjpIYW5kbGU8Z2NyeV9zZXhwX3Q+IG1vZHVsdXNTZXhw
KGdjcnlfc2V4cF9maW5kX3Rva2VuKG1fcGxhdGZvcm1LZXksICJuIiwgMCkpOworICAgICAgICBQ
QUw6OkdDcnlwdDo6SGFuZGxlPGdjcnlfc2V4cF90PiBwdWJsaWNFeHBvbmVudFNleHAoZ2NyeV9z
ZXhwX2ZpbmRfdG9rZW4obV9wbGF0Zm9ybUtleSwgImUiLCAwKSk7CisgICAgICAgIGlmICghbW9k
dWx1c1NleHAgfHwgIXB1YmxpY0V4cG9uZW50U2V4cCkKKyAgICAgICAgICAgIHJldHVybiBFeGNl
cHRpb24geyBPcGVyYXRpb25FcnJvciB9OworCisgICAgICAgIC8vIFJldHJpZXZlIE1QSSBkYXRh
IGZvciB0aGUgbW9kdWx1cyBhbmQgcHVibGljIGV4cG9uZW50IGNvbXBvbmVudHMuCisgICAgICAg
IGF1dG8gbW9kdWx1cyA9IG1waVNpZ25lZERhdGEobW9kdWx1c1NleHApOworICAgICAgICBhdXRv
IHB1YmxpY0V4cG9uZW50ID0gbXBpU2lnbmVkRGF0YShwdWJsaWNFeHBvbmVudFNleHApOworICAg
ICAgICBpZiAoIW1vZHVsdXMgfHwgIXB1YmxpY0V4cG9uZW50KQorICAgICAgICAgICAgcmV0dXJu
IEV4Y2VwdGlvbiB7IE9wZXJhdGlvbkVycm9yIH07CisKKyAgICAgICAgLy8gV3JpdGUgb3V0IHRo
ZSBtb2R1bHVzIGRhdGEgdW5kZXIgYG1vZHVsdXNgLgorICAgICAgICBpZiAoIVBBTDo6VEFTTjE6
OndyaXRlRWxlbWVudChyc2FQdWJsaWNLZXksICJtb2R1bHVzIiwgbW9kdWx1cy0+ZGF0YSgpLCBt
b2R1bHVzLT5zaXplKCkpKQorICAgICAgICAgICAgcmV0dXJuIEV4Y2VwdGlvbiB7IE9wZXJhdGlv
bkVycm9yIH07CisKKyAgICAgICAgLy8gV3JpdGUgb3V0IHRoZSBwdWJsaWMgZXhwb25lbnQgZGF0
YSB1bmRlciBgcHVibGljRXhwb25lbnRgLgorICAgICAgICBpZiAoIVBBTDo6VEFTTjE6OndyaXRl
RWxlbWVudChyc2FQdWJsaWNLZXksICJwdWJsaWNFeHBvbmVudCIsIHB1YmxpY0V4cG9uZW50LT5k
YXRhKCksIHB1YmxpY0V4cG9uZW50LT5zaXplKCkpKQorICAgICAgICAgICAgcmV0dXJuIEV4Y2Vw
dGlvbiB7IE9wZXJhdGlvbkVycm9yIH07CisgICAgfQorCisgICAgUEFMOjpUQVNOMTo6U3RydWN0
dXJlIHNwa2k7CisgICAgeworICAgICAgICAvLyBDcmVhdGUgdGhlIGBTdWJqZWN0UHVibGljS2V5
SW5mb2Agc3RydWN0dXJlLgorICAgICAgICBpZiAoIVBBTDo6VEFTTjE6OmNyZWF0ZVN0cnVjdHVy
ZSgiV2ViQ3J5cHRvLlN1YmplY3RQdWJsaWNLZXlJbmZvIiwgJnNwa2kpKQorICAgICAgICAgICAg
cmV0dXJuIEV4Y2VwdGlvbiB7IE9wZXJhdGlvbkVycm9yIH07CisKKyAgICAgICAgLy8gV3JpdGUg
b3V0IHRoZSBpZC1yc2FFbmNyeXB0aW9uIGlkZW50aWZpZXIgdW5kZXIgYGFsZ29yaXRobS5hbGdv
cml0aG1gLgorICAgICAgICAvLyBGSVhNRTogSW4gY2FzZSB0aGUga2V5IGFsZ29yaXRobSBpczoK
KyAgICAgICAgLy8gLSBSU0EtUFNTOgorICAgICAgICAvLyAgICAgLSB0aGlzIHNob3VsZCB3cml0
ZSBvdXQgaWQtUlNBU1NBLVBTUywgYWxvbmcgd2l0aCBzZXR0aW5nIGBhbGdvcml0aG0ucGFyYW1l
dGVyc2AKKyAgICAgICAgLy8gICAgICAgdG8gYSBSU0FTU0EtUFNTLXBhcmFtcyBzdHJ1Y3R1cmUK
KyAgICAgICAgLy8gLSBSU0EtT0FFUDoKKyAgICAgICAgLy8gICAgIC0gdGhpcyBzaG91bGQgd3Jp
dGUgb3V0IGlkLVJTQUVTLU9BRVAsIGFsb25nIHdpdGggc2V0dGluZyBgYWxnb3JpdGhtLnBhcmFt
ZXRlcnNgCisgICAgICAgIC8vICAgICAgIHRvIGEgUlNBRVMtT0FFUC1wYXJhbXMgc3RydWN0dXJl
CisgICAgICAgIGlmICghUEFMOjpUQVNOMTo6d3JpdGVFbGVtZW50KHNwa2ksICJhbGdvcml0aG0u
YWxnb3JpdGhtIiwgIjEuMi44NDAuMTEzNTQ5LjEuMS4xIiwgMSkpCisgICAgICAgICAgICByZXR1
cm4gRXhjZXB0aW9uIHsgT3BlcmF0aW9uRXJyb3IgfTsKKworICAgICAgICAvLyBXcml0ZSBvdXQg
dGhlIG51bGwgdmFsdWUgdW5kZXIgYGFsZ29yaXRobS5wYXJhbWV0ZXJzYC4KKyAgICAgICAgaWYg
KCFQQUw6OlRBU04xOjp3cml0ZUVsZW1lbnQoc3BraSwgImFsZ29yaXRobS5wYXJhbWV0ZXJzIiwg
Ilx4MDVceDAwIiwgMikpCisgICAgICAgICAgICByZXR1cm4gRXhjZXB0aW9uIHsgT3BlcmF0aW9u
RXJyb3IgfTsKKworICAgICAgICAvLyBXcml0ZSBvdXQgdGhlIGBSU0FQdWJsaWNLZXlgIGRhdGEg
dW5kZXIgYHN1YmplY3RQdWJsaWNLZXlgLiBCZWNhdXNlIHRoaXMgaXMgYQorICAgICAgICAvLyBi
aXQgc3RyaW5nIHBhcmFtZXRlciwgdGhlIGRhdGEgc2l6ZSBoYXMgdG8gYmUgbXVsdGlwbGllZCBi
eSA4LgorICAgICAgICB7CisgICAgICAgICAgICBhdXRvIGRhdGEgPSBQQUw6OlRBU04xOjplbmNv
ZGVkRGF0YShyc2FQdWJsaWNLZXksICIiKTsKKyAgICAgICAgICAgIGlmICghZGF0YSB8fCAhUEFM
OjpUQVNOMTo6d3JpdGVFbGVtZW50KHNwa2ksICJzdWJqZWN0UHVibGljS2V5IiwgZGF0YS0+ZGF0
YSgpLCBkYXRhLT5zaXplKCkgKiA4KSkKKyAgICAgICAgICAgICAgICByZXR1cm4gRXhjZXB0aW9u
IHsgT3BlcmF0aW9uRXJyb3IgfTsKKyAgICAgICAgfQorICAgIH0KKworICAgIC8vIFJldHJpZXZl
IHRoZSBlbmNvZGVkIGBTdWJqZWN0UHVibGljS2V5SW5mb2AgZGF0YSBhbmQgcmV0dXJuIGl0Lgor
ICAgIGF1dG8gcmVzdWx0ID0gUEFMOjpUQVNOMTo6ZW5jb2RlZERhdGEoc3BraSwgIiIpOworICAg
IGlmICghcmVzdWx0KQorICAgICAgICByZXR1cm4gRXhjZXB0aW9uIHsgT3BlcmF0aW9uRXJyb3Ig
fTsKKworICAgIHJldHVybiBXVEZNb3ZlKHJlc3VsdC52YWx1ZSgpKTsKIH0KIAogRXhjZXB0aW9u
T3I8VmVjdG9yPHVpbnQ4X3Q+PiBDcnlwdG9LZXlSU0E6OmV4cG9ydFBrY3M4KCkgY29uc3QKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2NyeXB0by9nY3J5cHQvR0NyeXB0VXRpbGl0aWVzLmgg
Yi9Tb3VyY2UvV2ViQ29yZS9jcnlwdG8vZ2NyeXB0L0dDcnlwdFV0aWxpdGllcy5oCmluZGV4IDJm
ZmZhMTlmYzBjNzcwY2NiNTMzNjUxZjkzMjk0OWQwMjU2NmFkMjMuLmY3M2U3MWMyZWY3ZTlkMzU4
Y2U4YmQ1MDNkZGUyYjQ5M2JmNDc4NDcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2NyeXB0
by9nY3J5cHQvR0NyeXB0VXRpbGl0aWVzLmgKKysrIGIvU291cmNlL1dlYkNvcmUvY3J5cHRvL2dj
cnlwdC9HQ3J5cHRVdGlsaXRpZXMuaApAQCAtMTU2LDQgKzE1NiwyOCBAQCBzdGF0aWMgaW5saW5l
IHN0ZDo6b3B0aW9uYWw8VmVjdG9yPHVpbnQ4X3Q+PiBtcGlEYXRhKGdjcnlfc2V4cF90IHBhcmFt
U2V4cCkKICAgICByZXR1cm4gbXBpRGF0YShwYXJhbU1QSSk7CiB9CiAKK3N0YXRpYyBpbmxpbmUg
c3RkOjpvcHRpb25hbDxWZWN0b3I8dWludDhfdD4+IG1waVNpZ25lZERhdGEoZ2NyeV9tcGlfdCBt
cGkpCit7CisgICAgYXV0byBkYXRhID0gbXBpRGF0YShtcGkpOworICAgIGlmICghZGF0YSkKKyAg
ICAgICAgcmV0dXJuIHN0ZDo6bnVsbG9wdDsKKworICAgIGlmIChkYXRhLT5hdCgwKSAmIDB4ODAp
CisgICAgICAgIGRhdGEtPmluc2VydCgwLCAweDAwKTsKKworICAgIHJldHVybiBkYXRhOworfQor
CitzdGF0aWMgaW5saW5lIHN0ZDo6b3B0aW9uYWw8VmVjdG9yPHVpbnQ4X3Q+PiBtcGlTaWduZWRE
YXRhKGdjcnlfc2V4cF90IHBhcmFtU2V4cCkKK3sKKyAgICBhdXRvIGRhdGEgPSBtcGlEYXRhKHBh
cmFtU2V4cCk7CisgICAgaWYgKCFkYXRhKQorICAgICAgICByZXR1cm4gc3RkOjpudWxsb3B0Owor
CisgICAgaWYgKGRhdGEtPmF0KDApICYgMHg4MCkKKyAgICAgICAgZGF0YS0+aW5zZXJ0KDAsIDB4
MDApOworCisgICAgcmV0dXJuIGRhdGE7Cit9CisKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpp
bmRleCA3ODM0ZDQyODdlNWFkY2MzMmYwMTBhN2Q3ZGZhYTg4YzlhMjhkNzY0Li44ZDg3NWU1Mjk2
OGJlNmI5NzdhZjU4MzZhZWIzOWFkNjdiMzhkM2E0IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9D
aGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTMgQEAKKzIw
MTctMDYtMjggIFphbiBEb2JlcnNlayAgPHpkb2JlcnNla0BpZ2FsaWEuY29tPgorCisgICAgICAg
IFtHQ3J5cHRdIEltcGxlbWVudCBDcnlwdG9LZXlSU0EgU1BLSSBleHBvcnRzCisgICAgICAgIGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNzM2OTUKKworICAgICAgICBS
ZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIHBsYXRmb3JtL2d0ay9UZXN0
RXhwZWN0YXRpb25zOiBVbnNraXAgdGhlIFJTQSBTUEtJIGV4cG9ydCB0ZXN0cworICAgICAgICB0
aGF0IGFyZSBub3cgcGFzc2luZy4KKwogMjAxNy0wNi0yNyAgSm9zZXBoIFBlY29yYXJvICA8cGVj
b3Jhcm9AYXBwbGUuY29tPgogCiAgICAgICAgIFdlYiBJbnNwZWN0b3I6IENsZWFudXAgUmVtb3Rl
T2JqZWN0IHRlc3RzCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9ndGsvVGVzdEV4
cGVjdGF0aW9ucyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2d0ay9UZXN0RXhwZWN0YXRpb25zCmlu
ZGV4IDBlYzcyMjFlOTZkZDkwY2ZmY2IzMDFiY2ZhNWI3YmVjY2ZkM2U2ZGEuLjcyMjhlMWQ2MWVm
MjIzMWM0ODUwMjYyMTlhNDNjZGMzNzMwZGE2MjggMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3Bs
YXRmb3JtL2d0ay9UZXN0RXhwZWN0YXRpb25zCisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2d0
ay9UZXN0RXhwZWN0YXRpb25zCkBAIC03NzEsNyArNzcxLDYgQEAgd2Via2l0Lm9yZy9iLzEzMzEy
MiBjcnlwdG8vc3VidGxlL2VjLWltcG9ydC1zcGtpLWtleS1leHBvcnQtc3BraS1rZXktcDI1Ni5o
dG1sIFsKIHdlYmtpdC5vcmcvYi8xMzMxMjIgY3J5cHRvL3N1YnRsZS9lYy1pbXBvcnQtc3BraS1r
ZXktZXhwb3J0LXNwa2kta2V5LXAzODQuaHRtbCBbIFNraXAgXQogd2Via2l0Lm9yZy9iLzEzMzEy
MiBjcnlwdG8vc3VidGxlL3JzYS1leHBvcnQta2V5LW1hbGZvcm1lZC1wYXJhbWV0ZXJzLmh0bWwg
WyBTa2lwIF0KIHdlYmtpdC5vcmcvYi8xMzMxMjIgY3J5cHRvL3N1YnRsZS9yc2EtaW1wb3J0LWp3
ay1rZXktZXhwb3J0LXBrY3M4LWtleS5odG1sIFsgU2tpcCBdCi13ZWJraXQub3JnL2IvMTMzMTIy
IGNyeXB0by9zdWJ0bGUvcnNhLWltcG9ydC1qd2sta2V5LWV4cG9ydC1zcGtpLWtleS5odG1sIFsg
U2tpcCBdCiB3ZWJraXQub3JnL2IvMTMzMTIyIGNyeXB0by9zdWJ0bGUvcnNhLWltcG9ydC1wa2Nz
OC1rZXktZXhwb3J0LWp3ay1rZXkuaHRtbCBbIFNraXAgXQogd2Via2l0Lm9yZy9iLzEzMzEyMiBj
cnlwdG8vc3VidGxlL3JzYS1pbXBvcnQtcGtjczgta2V5LWV4cG9ydC1wa2NzOC1rZXkuaHRtbCBb
IFNraXAgXQogd2Via2l0Lm9yZy9iLzEzMzEyMiBjcnlwdG8vc3VidGxlL3JzYS1pbXBvcnQtc3Br
aS1rZXktZXhwb3J0LWp3ay1rZXkuaHRtbCBbIFNraXAgXQpAQCAtNzgyLDE5ICs3ODEsMTUgQEAg
d2Via2l0Lm9yZy9iLzEzMzEyMiBjcnlwdG8vc3VidGxlL3JzYS1pbmRleGVkZGItbm9uLWV4cG9y
dGFibGUuaHRtbCBbIFNraXAgXQogd2Via2l0Lm9yZy9iLzEzMzEyMiBjcnlwdG8vc3VidGxlL3Jz
YS1pbmRleGVkZGItcHJpdmF0ZS5odG1sIFsgU2tpcCBdCiB3ZWJraXQub3JnL2IvMTMzMTIyIGNy
eXB0by9zdWJ0bGUvcnNhLWluZGV4ZWRkYi5odG1sIFsgU2tpcCBdCiB3ZWJraXQub3JnL2IvMTMz
MTIyIGNyeXB0by9zdWJ0bGUvcnNhLW9hZXAtZ2VuZXJhdGUtZXhwb3J0LWtleS1wa2NzOC5odG1s
IFsgU2tpcCBdCi13ZWJraXQub3JnL2IvMTMzMTIyIGNyeXB0by9zdWJ0bGUvcnNhLW9hZXAtZ2Vu
ZXJhdGUtZXhwb3J0LWtleS1zcGtpLmh0bWwgWyBTa2lwIF0KIHdlYmtpdC5vcmcvYi8xMzMxMjIg
Y3J5cHRvL3N1YnRsZS9yc2Etb2FlcC1pbXBvcnQtcGtjczgta2V5Lmh0bWwgWyBTa2lwIF0KIHdl
YmtpdC5vcmcvYi8xMzMxMjIgY3J5cHRvL3N1YnRsZS9yc2Etb2FlcC1pbXBvcnQtc3BraS1rZXkt
ZW1wdHktdXNhZ2VzLmh0bWwgWyBTa2lwIF0KIHdlYmtpdC5vcmcvYi8xMzMxMjIgY3J5cHRvL3N1
YnRsZS9yc2Etb2FlcC1pbXBvcnQtc3BraS1rZXkuaHRtbCBbIFNraXAgXQogd2Via2l0Lm9yZy9i
LzEzMzEyMiBjcnlwdG8vc3VidGxlL3JzYS1wc3MtZ2VuZXJhdGUtZXhwb3J0LWtleS1wa2NzOC5o
dG1sIFsgU2tpcCBdCi13ZWJraXQub3JnL2IvMTMzMTIyIGNyeXB0by9zdWJ0bGUvcnNhLXBzcy1n
ZW5lcmF0ZS1leHBvcnQta2V5LXNwa2kuaHRtbCBbIFNraXAgXQogd2Via2l0Lm9yZy9iLzEzMzEy
MiBjcnlwdG8vc3VidGxlL3JzYWVzLXBrY3MxLXYxXzUtZ2VuZXJhdGUtZXhwb3J0LWtleS1wa2Nz
OC5odG1sIFsgU2tpcCBdCi13ZWJraXQub3JnL2IvMTMzMTIyIGNyeXB0by9zdWJ0bGUvcnNhZXMt
cGtjczEtdjFfNS1nZW5lcmF0ZS1leHBvcnQta2V5LXNwa2kuaHRtbCBbIFNraXAgXQogd2Via2l0
Lm9yZy9iLzEzMzEyMiBjcnlwdG8vc3VidGxlL3JzYWVzLXBrY3MxLXYxXzUtaW1wb3J0LXBrY3M4
LWtleS5odG1sIFsgU2tpcCBdCiB3ZWJraXQub3JnL2IvMTMzMTIyIGNyeXB0by9zdWJ0bGUvcnNh
ZXMtcGtjczEtdjFfNS1pbXBvcnQtc3BraS1rZXktZW1wdHktdXNhZ2VzLmh0bWwgWyBTa2lwIF0K
IHdlYmtpdC5vcmcvYi8xMzMxMjIgY3J5cHRvL3N1YnRsZS9yc2Flcy1wa2NzMS12MV81LWltcG9y
dC1zcGtpLWtleS5odG1sIFsgU2tpcCBdCiB3ZWJraXQub3JnL2IvMTMzMTIyIGNyeXB0by9zdWJ0
bGUvcnNhc3NhLXBrY3MxLXYxXzUtZ2VuZXJhdGUtZXhwb3J0LWtleS1wa2NzOC5odG1sIFsgU2tp
cCBdCi13ZWJraXQub3JnL2IvMTMzMTIyIGNyeXB0by9zdWJ0bGUvcnNhc3NhLXBrY3MxLXYxXzUt
Z2VuZXJhdGUtZXhwb3J0LWtleS1zcGtpLmh0bWwgWyBTa2lwIF0KIHdlYmtpdC5vcmcvYi8xMzMx
MjIgY3J5cHRvL3N1YnRsZS9yc2Fzc2EtcGtjczEtdjFfNS1pbXBvcnQtcGtjczgta2V5Lmh0bWwg
WyBTa2lwIF0KIHdlYmtpdC5vcmcvYi8xMzMxMjIgY3J5cHRvL3N1YnRsZS9yc2Fzc2EtcGtjczEt
djFfNS1pbXBvcnQtc3BraS1rZXktZW1wdHktdXNhZ2VzLmh0bWwgWyBTa2lwIF0KIHdlYmtpdC5v
cmcvYi8xMzMxMjIgY3J5cHRvL3N1YnRsZS9yc2Fzc2EtcGtjczEtdjFfNS1pbXBvcnQtc3BraS1r
ZXkuaHRtbCBbIFNraXAgXQpAQCAtODEyLDcgKzgwNyw2IEBAIHdlYmtpdC5vcmcvYi8xMzMxMjIg
Y3J5cHRvL3dvcmtlcnMvc3VidGxlL2hyc2EtcG9zdE1lc3NhZ2Utd29ya2VyLmh0bWwgWyBTa2lw
IF0KIHdlYmtpdC5vcmcvYi8xMzMxMjIgY3J5cHRvL3dvcmtlcnMvc3VidGxlL211bHRpcGxlLXBv
c3RNZXNzYWdlLXdvcmtlci5odG1sIFsgU2tpcCBdCiB3ZWJraXQub3JnL2IvMTMzMTIyIGNyeXB0
by93b3JrZXJzL3N1YnRsZS9yYXctcG9zdE1lc3NhZ2Utd29ya2VyLmh0bWwgWyBTa2lwIF0KIHdl
YmtpdC5vcmcvYi8xMzMxMjIgY3J5cHRvL3dvcmtlcnMvc3VidGxlL3JzYS1leHBvcnQtcGtjczgt
a2V5Lmh0bWwgWyBTa2lwIF0KLXdlYmtpdC5vcmcvYi8xMzMxMjIgY3J5cHRvL3dvcmtlcnMvc3Vi
dGxlL3JzYS1leHBvcnQtc3BraS1rZXkuaHRtbCBbIFNraXAgXQogd2Via2l0Lm9yZy9iLzEzMzEy
MiBjcnlwdG8vd29ya2Vycy9zdWJ0bGUvcnNhLWltcG9ydC1wa2NzOC1rZXkuaHRtbCBbIFNraXAg
XQogd2Via2l0Lm9yZy9iLzEzMzEyMiBjcnlwdG8vd29ya2Vycy9zdWJ0bGUvcnNhLWltcG9ydC1z
cGtpLWtleS5odG1sIFsgU2tpcCBdCiB3ZWJraXQub3JnL2IvMTMzMTIyIGNyeXB0by93b3JrZXJz
L3N1YnRsZS9yc2EtcG9zdE1lc3NhZ2Utd29ya2VyLmh0bWwgWyBTa2lwIF0K
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>314462</attachid>
            <date>2017-07-03 01:01:44 -0700</date>
            <delta_ts>2017-07-12 11:39:10 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-173695-20170703100143.patch</filename>
            <type>text/plain</type>
            <size>11716</size>
            <attacher name="Zan Dobersek">zan</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjE5MDY0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMmFkM2IxZjE2MGQ5OWU2
ZGJkZGRmZDUwZWI1ZjM3YThlZDAwYmFiMy4uNzY4MDc2NzAxYTllMjFhMmRjMDNhNzVmZjI0NWNl
OTBlNTIwZjYwMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSw1ICsxLDQ2IEBACiAyMDE3LTA3LTAzICBaYW4g
RG9iZXJzZWsgIDx6ZG9iZXJzZWtAaWdhbGlhLmNvbT4KIAorICAgICAgICBbR0NyeXB0XSBJbXBs
ZW1lbnQgQ3J5cHRvS2V5UlNBIFNQS0kgZXhwb3J0cworICAgICAgICBodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTczNjk1CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9C
T0RZIChPT1BTISkuCisKKyAgICAgICAgSW1wbGVtZW50IHRoZSBTUEtJIGV4cG9ydCBvcGVyYXRp
b24gZm9yIFJTQSBrZXlzIGZvciBwbGF0Zm9ybXMgdGhhdCB1c2UKKyAgICAgICAgbGliZ2NyeXB0
LgorCisgICAgICAgIEluIENyeXB0b0tleVJTQTo6ZXhwb3J0U3BraSgpLCB3ZSBiYWlsIGVhcmx5
IHdpdGggYW4gaW52YWxpZCBhY2Nlc3MgZXhjZXB0aW9uIGlmCisgICAgICAgIHRoaXMgZXhwb3J0
IGlzIG5vdCBiZWluZyBkb25lIGZvciBhIHB1YmxpYyBrZXkuIE90aGVyd2lzZSwgd2Ugc3RhcnQg
d2l0aCBjcmVhdGluZworICAgICAgICB0aGUgYFJTQVB1YmxpY0tleWAgQVNOLjEgc3RydWN0dXJl
LCBmaWxsaW5nIGluIHRoZSBtb2R1bHVzIGFuZCBwdWJsaWMgZXhwb25lbnQKKyAgICAgICAgZGF0
YSB0aGF0J3MgcmV0cmlldmVkIGZyb20gdGhlIGBwdWJsaWMta2V5YCBzLWV4cHJlc3Npb24gaW4g
dGhlIHNpZ25lZCBNUEkgZm9ybWF0LgorCisgICAgICAgIFdlIHRoZW4gY3JlYXRlIHRoZSBgU3Vi
amVjdFB1YmxpY0tleUluZm9gIEFTTi4xIHN0cnVjdHVyZSBhbmQgZmlsbCBpdCBvdXQgd2l0aAor
ICAgICAgICB0aGUgbmVjZXNzYXJ5IGRhdGEuIFRoZSBpZC1yc2FFbmNyeXB0aW9uIG9iamVjdCBp
ZGVudGlmaWVyIGlzIHdyaXR0ZW4gb3V0IHVuZGVyCisgICAgICAgIHRoZSBgYWxnb3JpdGhtLmFs
Z29yaXRobWAgZWxlbWVudCwgYW5kIGEgbnVsbCB2YWx1ZSBpcyB3cml0dGVuIG91dCB1bmRlciB0
aGUKKyAgICAgICAgYGFsZ29yaXRobS5wYXJhbWV0ZXJzYCBlbGVtZW50LiBUaGlzIGRvZXNuJ3Qg
Zm9sbG93IHRoZSBzcGVjaWZpY2F0aW9uIGF0IHRoZQorICAgICAgICBtb21lbnQsIHNpbmNlIGlk
LVJTQVNTQS1QU1Mgd291bGQgaGF2ZSB0byBiZSB3cml0dGVuIGZvciB0aGUgUlNBLVBTUyBhbGdv
cml0aG0sCisgICAgICAgIGFuZCBpZC1SU0FFUy1PQUVQIGZvciB0aGUgUlNBLU9BRVAgYWxnb3Jp
dGhtLCBhbG9uZyB3aXRoIHNwZWNpZmljIHBhcmFtZXRlcgorICAgICAgICBzdHJ1Y3R1cmVzLiBC
dXQgbm8gdGVzdCBpbiBXZWJLaXQgb3IgdGhlIHdlYi1wbGF0Zm9ybS10ZXN0cyBzdWl0ZSBjb3Zl
cnMgdGhpcywKKyAgICAgICAgc28gdGhpcyBkZXZpYXRpb24gc2hvdWxkIGJlIGFkZHJlc3NlZCBs
YXRlci4KKworICAgICAgICBEYXRhIG9mIHRoZSBwcmV2aW91c2x5LWNvbnN0cnVjdGVkIGBSU0FQ
dWJsaWNLZXlgIHN0cnVjdHVyZSBpcyByZXRyaWV2ZWQgYW5kCisgICAgICAgIHdyaXR0ZW4gb3V0
IHVuZGVyIHRoZSBgc3ViamVjdFB1YmxpY0tleWAgZWxlbWVudCwgYmVmb3JlIGZpbmFsbHkgcmV0
cmlldmluZworICAgICAgICBkYXRhIG9mIHRoZSBgU3ViamVjdFB1YmxpY0tleUluZm9gIHN0cnVj
dHVyZSBhbmQgcmV0dXJuaW5nIHRoYXQgdG8gdGhlIGNhbGxlci4KKworICAgICAgICBBIGhlbHBl
ciBtcGlTaWduZWREYXRhKCkgZnVuY3Rpb24gaXMgYWRkZWQsIHByb3ZpZGluZyBvdmVybG9hZHMg
Zm9yIGdjcnlfbXBpX3QKKyAgICAgICAgYW5kIGdjcnlfc2V4cF90IHBhcmFtZXRlcnMuIE1QSSBk
YXRhIGZvciB0aGF0IHBhcmFtZXRlciBpcyByZXRyaWV2ZWQgYW5kIHRoZQorICAgICAgICBmaXJz
dCBieXRlIG9mIHRoYXQgZGF0YSBpcyB0ZXN0ZWQsIGluc2VydGluZyBhbiBhZGRpdGlvbmFsIDB4
MDAgYnl0ZSBhdCB0aGUKKyAgICAgICAgYmVnaW5uaW5nIG9mIHRoZSBWZWN0b3IgaWYgdGhhdCBm
aXJzdCBieXRlIGhhcyB0aGUgZmlyc3QgYml0IHNldCwgYXZvaWRpbmcgdGhpcworICAgICAgICBk
YXRhIGFjY2lkZW50YWxseSBiZWluZyBpbnRlcnByZXRlZCBhcyBhIHNpZ25lZCBpbnRlZ2VyLgor
CisgICAgICAgIE5vIG5ldyB0ZXN0cyAtLSByZWxhdGVkIHRlc3RzIGFyZSBub3cgcGFzc2luZyBh
bmQgYXJlIHVuc2tpcHBlZC4KKworICAgICAgICAqIGNyeXB0by9nY3J5cHQvQ3J5cHRvS2V5UlNB
R0NyeXB0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkNyeXB0b0tleVJTQTo6ZXhwb3J0U3BraSk6
CisgICAgICAgICogY3J5cHRvL2djcnlwdC9HQ3J5cHRVdGlsaXRpZXMuaDoKKyAgICAgICAgKFdl
YkNvcmU6Om1waVNpZ25lZERhdGEpOgorCisyMDE3LTA3LTAzICBaYW4gRG9iZXJzZWsgIDx6ZG9i
ZXJzZWtAaWdhbGlhLmNvbT4KKwogICAgICAgICBbR0NyeXB0XSBJbXBsZW1lbnQgQ3J5cHRvS2V5
RUMgU1BLSSBleHBvcnRzCiAgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVn
LmNnaT9pZD0xNzM2NDYKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3J5cHRvL2djcnlw
dC9DcnlwdG9LZXlSU0FHQ3J5cHQuY3BwIGIvU291cmNlL1dlYkNvcmUvY3J5cHRvL2djcnlwdC9D
cnlwdG9LZXlSU0FHQ3J5cHQuY3BwCmluZGV4IDEyNDViZTJhNzU2ZGQ4OTcxZDQ0MDIzOWRjZDlm
Yjk0ZTJhNGIwYmMuLjFkMzYyMjQ1YmE1MTk3NzQ3NTZiNjg1MTExNzZlZGI3YzA2NTYyNjAgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2NyeXB0by9nY3J5cHQvQ3J5cHRvS2V5UlNBR0NyeXB0
LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jcnlwdG8vZ2NyeXB0L0NyeXB0b0tleVJTQUdDcnlw
dC5jcHAKQEAgLTM3LDYgKzM3LDcgQEAKICNpbmNsdWRlICJTY3JpcHRFeGVjdXRpb25Db250ZXh0
LmgiCiAjaW5jbHVkZSA8cGFsL2NyeXB0by9nY3J5cHQvSGFuZGxlLmg+CiAjaW5jbHVkZSA8cGFs
L2NyeXB0by9nY3J5cHQvVXRpbGl0aWVzLmg+CisjaW5jbHVkZSA8cGFsL2NyeXB0by90YXNuMS9V
dGlsaXRpZXMuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCkBAIC0yNTYsOSArMjU3LDcyIEBA
IFJlZlB0cjxDcnlwdG9LZXlSU0E+IENyeXB0b0tleVJTQTo6aW1wb3J0UGtjczgoQ3J5cHRvQWxn
b3JpdGhtSWRlbnRpZmllciwgc3RkOjpvCiAKIEV4Y2VwdGlvbk9yPFZlY3Rvcjx1aW50OF90Pj4g
Q3J5cHRvS2V5UlNBOjpleHBvcnRTcGtpKCkgY29uc3QKIHsKLSAgICBub3RJbXBsZW1lbnRlZCgp
OworICAgIGlmICh0eXBlKCkgIT0gQ3J5cHRvS2V5VHlwZTo6UHVibGljKQorICAgICAgICByZXR1
cm4gRXhjZXB0aW9uIHsgSU5WQUxJRF9BQ0NFU1NfRVJSIH07CiAKLSAgICByZXR1cm4gRXhjZXB0
aW9uIHsgTk9UX1NVUFBPUlRFRF9FUlIgfTsKKyAgICBQQUw6OlRBU04xOjpTdHJ1Y3R1cmUgcnNh
UHVibGljS2V5OworICAgIHsKKyAgICAgICAgLy8gQ3JlYXRlIHRoZSBgUlNBUHVibGljS2V5YCBz
dHJ1Y3R1cmUuCisgICAgICAgIGlmICghUEFMOjpUQVNOMTo6Y3JlYXRlU3RydWN0dXJlKCJXZWJD
cnlwdG8uUlNBUHVibGljS2V5IiwgJnJzYVB1YmxpY0tleSkpCisgICAgICAgICAgICByZXR1cm4g
RXhjZXB0aW9uIHsgT3BlcmF0aW9uRXJyb3IgfTsKKworICAgICAgICAvLyBSZXRyaWV2ZSB0aGUg
bW9kdWx1cyBhbmQgcHVibGljIGV4cG9uZW50IHMtZXhwcmVzc2lvbnMuCisgICAgICAgIFBBTDo6
R0NyeXB0OjpIYW5kbGU8Z2NyeV9zZXhwX3Q+IG1vZHVsdXNTZXhwKGdjcnlfc2V4cF9maW5kX3Rv
a2VuKG1fcGxhdGZvcm1LZXksICJuIiwgMCkpOworICAgICAgICBQQUw6OkdDcnlwdDo6SGFuZGxl
PGdjcnlfc2V4cF90PiBwdWJsaWNFeHBvbmVudFNleHAoZ2NyeV9zZXhwX2ZpbmRfdG9rZW4obV9w
bGF0Zm9ybUtleSwgImUiLCAwKSk7CisgICAgICAgIGlmICghbW9kdWx1c1NleHAgfHwgIXB1Ymxp
Y0V4cG9uZW50U2V4cCkKKyAgICAgICAgICAgIHJldHVybiBFeGNlcHRpb24geyBPcGVyYXRpb25F
cnJvciB9OworCisgICAgICAgIC8vIFJldHJpZXZlIE1QSSBkYXRhIGZvciB0aGUgbW9kdWx1cyBh
bmQgcHVibGljIGV4cG9uZW50IGNvbXBvbmVudHMuCisgICAgICAgIGF1dG8gbW9kdWx1cyA9IG1w
aVNpZ25lZERhdGEobW9kdWx1c1NleHApOworICAgICAgICBhdXRvIHB1YmxpY0V4cG9uZW50ID0g
bXBpU2lnbmVkRGF0YShwdWJsaWNFeHBvbmVudFNleHApOworICAgICAgICBpZiAoIW1vZHVsdXMg
fHwgIXB1YmxpY0V4cG9uZW50KQorICAgICAgICAgICAgcmV0dXJuIEV4Y2VwdGlvbiB7IE9wZXJh
dGlvbkVycm9yIH07CisKKyAgICAgICAgLy8gV3JpdGUgb3V0IHRoZSBtb2R1bHVzIGRhdGEgdW5k
ZXIgYG1vZHVsdXNgLgorICAgICAgICBpZiAoIVBBTDo6VEFTTjE6OndyaXRlRWxlbWVudChyc2FQ
dWJsaWNLZXksICJtb2R1bHVzIiwgbW9kdWx1cy0+ZGF0YSgpLCBtb2R1bHVzLT5zaXplKCkpKQor
ICAgICAgICAgICAgcmV0dXJuIEV4Y2VwdGlvbiB7IE9wZXJhdGlvbkVycm9yIH07CisKKyAgICAg
ICAgLy8gV3JpdGUgb3V0IHRoZSBwdWJsaWMgZXhwb25lbnQgZGF0YSB1bmRlciBgcHVibGljRXhw
b25lbnRgLgorICAgICAgICBpZiAoIVBBTDo6VEFTTjE6OndyaXRlRWxlbWVudChyc2FQdWJsaWNL
ZXksICJwdWJsaWNFeHBvbmVudCIsIHB1YmxpY0V4cG9uZW50LT5kYXRhKCksIHB1YmxpY0V4cG9u
ZW50LT5zaXplKCkpKQorICAgICAgICAgICAgcmV0dXJuIEV4Y2VwdGlvbiB7IE9wZXJhdGlvbkVy
cm9yIH07CisgICAgfQorCisgICAgUEFMOjpUQVNOMTo6U3RydWN0dXJlIHNwa2k7CisgICAgewor
ICAgICAgICAvLyBDcmVhdGUgdGhlIGBTdWJqZWN0UHVibGljS2V5SW5mb2Agc3RydWN0dXJlLgor
ICAgICAgICBpZiAoIVBBTDo6VEFTTjE6OmNyZWF0ZVN0cnVjdHVyZSgiV2ViQ3J5cHRvLlN1Ympl
Y3RQdWJsaWNLZXlJbmZvIiwgJnNwa2kpKQorICAgICAgICAgICAgcmV0dXJuIEV4Y2VwdGlvbiB7
IE9wZXJhdGlvbkVycm9yIH07CisKKyAgICAgICAgLy8gV3JpdGUgb3V0IHRoZSBpZC1yc2FFbmNy
eXB0aW9uIGlkZW50aWZpZXIgdW5kZXIgYGFsZ29yaXRobS5hbGdvcml0aG1gLgorICAgICAgICAv
LyBGSVhNRTogSW4gY2FzZSB0aGUga2V5IGFsZ29yaXRobSBpczoKKyAgICAgICAgLy8gLSBSU0Et
UFNTOgorICAgICAgICAvLyAgICAgLSB0aGlzIHNob3VsZCB3cml0ZSBvdXQgaWQtUlNBU1NBLVBT
UywgYWxvbmcgd2l0aCBzZXR0aW5nIGBhbGdvcml0aG0ucGFyYW1ldGVyc2AKKyAgICAgICAgLy8g
ICAgICAgdG8gYSBSU0FTU0EtUFNTLXBhcmFtcyBzdHJ1Y3R1cmUKKyAgICAgICAgLy8gLSBSU0Et
T0FFUDoKKyAgICAgICAgLy8gICAgIC0gdGhpcyBzaG91bGQgd3JpdGUgb3V0IGlkLVJTQUVTLU9B
RVAsIGFsb25nIHdpdGggc2V0dGluZyBgYWxnb3JpdGhtLnBhcmFtZXRlcnNgCisgICAgICAgIC8v
ICAgICAgIHRvIGEgUlNBRVMtT0FFUC1wYXJhbXMgc3RydWN0dXJlCisgICAgICAgIGlmICghUEFM
OjpUQVNOMTo6d3JpdGVFbGVtZW50KHNwa2ksICJhbGdvcml0aG0uYWxnb3JpdGhtIiwgIjEuMi44
NDAuMTEzNTQ5LjEuMS4xIiwgMSkpCisgICAgICAgICAgICByZXR1cm4gRXhjZXB0aW9uIHsgT3Bl
cmF0aW9uRXJyb3IgfTsKKworICAgICAgICAvLyBXcml0ZSBvdXQgdGhlIG51bGwgdmFsdWUgdW5k
ZXIgYGFsZ29yaXRobS5wYXJhbWV0ZXJzYC4KKyAgICAgICAgaWYgKCFQQUw6OlRBU04xOjp3cml0
ZUVsZW1lbnQoc3BraSwgImFsZ29yaXRobS5wYXJhbWV0ZXJzIiwgIlx4MDVceDAwIiwgMikpCisg
ICAgICAgICAgICByZXR1cm4gRXhjZXB0aW9uIHsgT3BlcmF0aW9uRXJyb3IgfTsKKworICAgICAg
ICAvLyBXcml0ZSBvdXQgdGhlIGBSU0FQdWJsaWNLZXlgIGRhdGEgdW5kZXIgYHN1YmplY3RQdWJs
aWNLZXlgLiBCZWNhdXNlIHRoaXMgaXMgYQorICAgICAgICAvLyBiaXQgc3RyaW5nIHBhcmFtZXRl
ciwgdGhlIGRhdGEgc2l6ZSBoYXMgdG8gYmUgbXVsdGlwbGllZCBieSA4LgorICAgICAgICB7Cisg
ICAgICAgICAgICBhdXRvIGRhdGEgPSBQQUw6OlRBU04xOjplbmNvZGVkRGF0YShyc2FQdWJsaWNL
ZXksICIiKTsKKyAgICAgICAgICAgIGlmICghZGF0YSB8fCAhUEFMOjpUQVNOMTo6d3JpdGVFbGVt
ZW50KHNwa2ksICJzdWJqZWN0UHVibGljS2V5IiwgZGF0YS0+ZGF0YSgpLCBkYXRhLT5zaXplKCkg
KiA4KSkKKyAgICAgICAgICAgICAgICByZXR1cm4gRXhjZXB0aW9uIHsgT3BlcmF0aW9uRXJyb3Ig
fTsKKyAgICAgICAgfQorICAgIH0KKworICAgIC8vIFJldHJpZXZlIHRoZSBlbmNvZGVkIGBTdWJq
ZWN0UHVibGljS2V5SW5mb2AgZGF0YSBhbmQgcmV0dXJuIGl0LgorICAgIGF1dG8gcmVzdWx0ID0g
UEFMOjpUQVNOMTo6ZW5jb2RlZERhdGEoc3BraSwgIiIpOworICAgIGlmICghcmVzdWx0KQorICAg
ICAgICByZXR1cm4gRXhjZXB0aW9uIHsgT3BlcmF0aW9uRXJyb3IgfTsKKworICAgIHJldHVybiBX
VEZNb3ZlKHJlc3VsdC52YWx1ZSgpKTsKIH0KIAogRXhjZXB0aW9uT3I8VmVjdG9yPHVpbnQ4X3Q+
PiBDcnlwdG9LZXlSU0E6OmV4cG9ydFBrY3M4KCkgY29uc3QKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL2NyeXB0by9nY3J5cHQvR0NyeXB0VXRpbGl0aWVzLmggYi9Tb3VyY2UvV2ViQ29yZS9j
cnlwdG8vZ2NyeXB0L0dDcnlwdFV0aWxpdGllcy5oCmluZGV4IDJmZmZhMTlmYzBjNzcwY2NiNTMz
NjUxZjkzMjk0OWQwMjU2NmFkMjMuLmY3M2U3MWMyZWY3ZTlkMzU4Y2U4YmQ1MDNkZGUyYjQ5M2Jm
NDc4NDcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2NyeXB0by9nY3J5cHQvR0NyeXB0VXRp
bGl0aWVzLmgKKysrIGIvU291cmNlL1dlYkNvcmUvY3J5cHRvL2djcnlwdC9HQ3J5cHRVdGlsaXRp
ZXMuaApAQCAtMTU2LDQgKzE1NiwyOCBAQCBzdGF0aWMgaW5saW5lIHN0ZDo6b3B0aW9uYWw8VmVj
dG9yPHVpbnQ4X3Q+PiBtcGlEYXRhKGdjcnlfc2V4cF90IHBhcmFtU2V4cCkKICAgICByZXR1cm4g
bXBpRGF0YShwYXJhbU1QSSk7CiB9CiAKK3N0YXRpYyBpbmxpbmUgc3RkOjpvcHRpb25hbDxWZWN0
b3I8dWludDhfdD4+IG1waVNpZ25lZERhdGEoZ2NyeV9tcGlfdCBtcGkpCit7CisgICAgYXV0byBk
YXRhID0gbXBpRGF0YShtcGkpOworICAgIGlmICghZGF0YSkKKyAgICAgICAgcmV0dXJuIHN0ZDo6
bnVsbG9wdDsKKworICAgIGlmIChkYXRhLT5hdCgwKSAmIDB4ODApCisgICAgICAgIGRhdGEtPmlu
c2VydCgwLCAweDAwKTsKKworICAgIHJldHVybiBkYXRhOworfQorCitzdGF0aWMgaW5saW5lIHN0
ZDo6b3B0aW9uYWw8VmVjdG9yPHVpbnQ4X3Q+PiBtcGlTaWduZWREYXRhKGdjcnlfc2V4cF90IHBh
cmFtU2V4cCkKK3sKKyAgICBhdXRvIGRhdGEgPSBtcGlEYXRhKHBhcmFtU2V4cCk7CisgICAgaWYg
KCFkYXRhKQorICAgICAgICByZXR1cm4gc3RkOjpudWxsb3B0OworCisgICAgaWYgKGRhdGEtPmF0
KDApICYgMHg4MCkKKyAgICAgICAgZGF0YS0+aW5zZXJ0KDAsIDB4MDApOworCisgICAgcmV0dXJu
IGRhdGE7Cit9CisKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCBkNDU2OWFiODljNGUx
Y2I3MmM1ZmYzYWQ0NjIzODM5MTVlOGY3NzliLi5mOWEyYzQzZWI2ZTI4ZDZlMjY0OTAwZGQ1ZGY0
YWUxN2ZhMTBlNTIxIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5
b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDUgKzEsMTUgQEAKIDIwMTctMDctMDMgIFphbiBEb2Jl
cnNlayAgPHpkb2JlcnNla0BpZ2FsaWEuY29tPgogCisgICAgICAgIFtHQ3J5cHRdIEltcGxlbWVu
dCBDcnlwdG9LZXlSU0EgU1BLSSBleHBvcnRzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD0xNzM2OTUKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkg
KE9PUFMhKS4KKworICAgICAgICAqIHBsYXRmb3JtL2d0ay9UZXN0RXhwZWN0YXRpb25zOiBVbnNr
aXAgdGhlIFJTQSBTUEtJIGV4cG9ydCB0ZXN0cworICAgICAgICB0aGF0IGFyZSBub3cgcGFzc2lu
Zy4KKworMjAxNy0wNy0wMyAgWmFuIERvYmVyc2VrICA8emRvYmVyc2VrQGlnYWxpYS5jb20+CisK
ICAgICAgICAgW0dDcnlwdF0gSW1wbGVtZW50IENyeXB0b0tleUVDIFNQS0kgZXhwb3J0cwogICAg
ICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTczNjQ2CiAKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL2d0ay9UZXN0RXhwZWN0YXRpb25zIGIvTGF5
b3V0VGVzdHMvcGxhdGZvcm0vZ3RrL1Rlc3RFeHBlY3RhdGlvbnMKaW5kZXggNTE4YzRiNjkyZmFh
MjQ5YTU3ZTAyYjYzZDRhMTJlMTg4MDRmMWRjNS4uMWViNTdiZmIwYzRkNjMyZWI0ZTViOGU1ZTBk
NTNmMTk4MTYzNzEzMSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vZ3RrL1Rlc3RF
eHBlY3RhdGlvbnMKKysrIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vZ3RrL1Rlc3RFeHBlY3RhdGlv
bnMKQEAgLTc2NCw3ICs3NjQsNiBAQCB3ZWJraXQub3JnL2IvMTMzMTIyIGNyeXB0by9zdWJ0bGUv
ZWMtaW1wb3J0LXBrY3M4LWtleS1leHBvcnQtcGtjczgta2V5LXAyNTYuaHRtbAogd2Via2l0Lm9y
Zy9iLzEzMzEyMiBjcnlwdG8vc3VidGxlL2VjLWltcG9ydC1wa2NzOC1rZXktZXhwb3J0LXBrY3M4
LWtleS1wMzg0Lmh0bWwgWyBTa2lwIF0KIHdlYmtpdC5vcmcvYi8xMzMxMjIgY3J5cHRvL3N1YnRs
ZS9yc2EtZXhwb3J0LWtleS1tYWxmb3JtZWQtcGFyYW1ldGVycy5odG1sIFsgU2tpcCBdCiB3ZWJr
aXQub3JnL2IvMTMzMTIyIGNyeXB0by9zdWJ0bGUvcnNhLWltcG9ydC1qd2sta2V5LWV4cG9ydC1w
a2NzOC1rZXkuaHRtbCBbIFNraXAgXQotd2Via2l0Lm9yZy9iLzEzMzEyMiBjcnlwdG8vc3VidGxl
L3JzYS1pbXBvcnQtandrLWtleS1leHBvcnQtc3BraS1rZXkuaHRtbCBbIFNraXAgXQogd2Via2l0
Lm9yZy9iLzEzMzEyMiBjcnlwdG8vc3VidGxlL3JzYS1pbXBvcnQtcGtjczgta2V5LWV4cG9ydC1q
d2sta2V5Lmh0bWwgWyBTa2lwIF0KIHdlYmtpdC5vcmcvYi8xMzMxMjIgY3J5cHRvL3N1YnRsZS9y
c2EtaW1wb3J0LXBrY3M4LWtleS1leHBvcnQtcGtjczgta2V5Lmh0bWwgWyBTa2lwIF0KIHdlYmtp
dC5vcmcvYi8xMzMxMjIgY3J5cHRvL3N1YnRsZS9yc2EtaW1wb3J0LXNwa2kta2V5LWV4cG9ydC1q
d2sta2V5Lmh0bWwgWyBTa2lwIF0KQEAgLTc3NSwxOSArNzc0LDE1IEBAIHdlYmtpdC5vcmcvYi8x
MzMxMjIgY3J5cHRvL3N1YnRsZS9yc2EtaW5kZXhlZGRiLW5vbi1leHBvcnRhYmxlLmh0bWwgWyBT
a2lwIF0KIHdlYmtpdC5vcmcvYi8xMzMxMjIgY3J5cHRvL3N1YnRsZS9yc2EtaW5kZXhlZGRiLXBy
aXZhdGUuaHRtbCBbIFNraXAgXQogd2Via2l0Lm9yZy9iLzEzMzEyMiBjcnlwdG8vc3VidGxlL3Jz
YS1pbmRleGVkZGIuaHRtbCBbIFNraXAgXQogd2Via2l0Lm9yZy9iLzEzMzEyMiBjcnlwdG8vc3Vi
dGxlL3JzYS1vYWVwLWdlbmVyYXRlLWV4cG9ydC1rZXktcGtjczguaHRtbCBbIFNraXAgXQotd2Vi
a2l0Lm9yZy9iLzEzMzEyMiBjcnlwdG8vc3VidGxlL3JzYS1vYWVwLWdlbmVyYXRlLWV4cG9ydC1r
ZXktc3BraS5odG1sIFsgU2tpcCBdCiB3ZWJraXQub3JnL2IvMTMzMTIyIGNyeXB0by9zdWJ0bGUv
cnNhLW9hZXAtaW1wb3J0LXBrY3M4LWtleS5odG1sIFsgU2tpcCBdCiB3ZWJraXQub3JnL2IvMTMz
MTIyIGNyeXB0by9zdWJ0bGUvcnNhLW9hZXAtaW1wb3J0LXNwa2kta2V5LWVtcHR5LXVzYWdlcy5o
dG1sIFsgU2tpcCBdCiB3ZWJraXQub3JnL2IvMTMzMTIyIGNyeXB0by9zdWJ0bGUvcnNhLW9hZXAt
aW1wb3J0LXNwa2kta2V5Lmh0bWwgWyBTa2lwIF0KIHdlYmtpdC5vcmcvYi8xMzMxMjIgY3J5cHRv
L3N1YnRsZS9yc2EtcHNzLWdlbmVyYXRlLWV4cG9ydC1rZXktcGtjczguaHRtbCBbIFNraXAgXQot
d2Via2l0Lm9yZy9iLzEzMzEyMiBjcnlwdG8vc3VidGxlL3JzYS1wc3MtZ2VuZXJhdGUtZXhwb3J0
LWtleS1zcGtpLmh0bWwgWyBTa2lwIF0KIHdlYmtpdC5vcmcvYi8xMzMxMjIgY3J5cHRvL3N1YnRs
ZS9yc2Flcy1wa2NzMS12MV81LWdlbmVyYXRlLWV4cG9ydC1rZXktcGtjczguaHRtbCBbIFNraXAg
XQotd2Via2l0Lm9yZy9iLzEzMzEyMiBjcnlwdG8vc3VidGxlL3JzYWVzLXBrY3MxLXYxXzUtZ2Vu
ZXJhdGUtZXhwb3J0LWtleS1zcGtpLmh0bWwgWyBTa2lwIF0KIHdlYmtpdC5vcmcvYi8xMzMxMjIg
Y3J5cHRvL3N1YnRsZS9yc2Flcy1wa2NzMS12MV81LWltcG9ydC1wa2NzOC1rZXkuaHRtbCBbIFNr
aXAgXQogd2Via2l0Lm9yZy9iLzEzMzEyMiBjcnlwdG8vc3VidGxlL3JzYWVzLXBrY3MxLXYxXzUt
aW1wb3J0LXNwa2kta2V5LWVtcHR5LXVzYWdlcy5odG1sIFsgU2tpcCBdCiB3ZWJraXQub3JnL2Iv
MTMzMTIyIGNyeXB0by9zdWJ0bGUvcnNhZXMtcGtjczEtdjFfNS1pbXBvcnQtc3BraS1rZXkuaHRt
bCBbIFNraXAgXQogd2Via2l0Lm9yZy9iLzEzMzEyMiBjcnlwdG8vc3VidGxlL3JzYXNzYS1wa2Nz
MS12MV81LWdlbmVyYXRlLWV4cG9ydC1rZXktcGtjczguaHRtbCBbIFNraXAgXQotd2Via2l0Lm9y
Zy9iLzEzMzEyMiBjcnlwdG8vc3VidGxlL3JzYXNzYS1wa2NzMS12MV81LWdlbmVyYXRlLWV4cG9y
dC1rZXktc3BraS5odG1sIFsgU2tpcCBdCiB3ZWJraXQub3JnL2IvMTMzMTIyIGNyeXB0by9zdWJ0
bGUvcnNhc3NhLXBrY3MxLXYxXzUtaW1wb3J0LXBrY3M4LWtleS5odG1sIFsgU2tpcCBdCiB3ZWJr
aXQub3JnL2IvMTMzMTIyIGNyeXB0by9zdWJ0bGUvcnNhc3NhLXBrY3MxLXYxXzUtaW1wb3J0LXNw
a2kta2V5LWVtcHR5LXVzYWdlcy5odG1sIFsgU2tpcCBdCiB3ZWJraXQub3JnL2IvMTMzMTIyIGNy
eXB0by9zdWJ0bGUvcnNhc3NhLXBrY3MxLXYxXzUtaW1wb3J0LXNwa2kta2V5Lmh0bWwgWyBTa2lw
IF0KQEAgLTgwNCw3ICs3OTksNiBAQCB3ZWJraXQub3JnL2IvMTMzMTIyIGNyeXB0by93b3JrZXJz
L3N1YnRsZS9ocnNhLXBvc3RNZXNzYWdlLXdvcmtlci5odG1sIFsgU2tpcCBdCiB3ZWJraXQub3Jn
L2IvMTMzMTIyIGNyeXB0by93b3JrZXJzL3N1YnRsZS9tdWx0aXBsZS1wb3N0TWVzc2FnZS13b3Jr
ZXIuaHRtbCBbIFNraXAgXQogd2Via2l0Lm9yZy9iLzEzMzEyMiBjcnlwdG8vd29ya2Vycy9zdWJ0
bGUvcmF3LXBvc3RNZXNzYWdlLXdvcmtlci5odG1sIFsgU2tpcCBdCiB3ZWJraXQub3JnL2IvMTMz
MTIyIGNyeXB0by93b3JrZXJzL3N1YnRsZS9yc2EtZXhwb3J0LXBrY3M4LWtleS5odG1sIFsgU2tp
cCBdCi13ZWJraXQub3JnL2IvMTMzMTIyIGNyeXB0by93b3JrZXJzL3N1YnRsZS9yc2EtZXhwb3J0
LXNwa2kta2V5Lmh0bWwgWyBTa2lwIF0KIHdlYmtpdC5vcmcvYi8xMzMxMjIgY3J5cHRvL3dvcmtl
cnMvc3VidGxlL3JzYS1pbXBvcnQtcGtjczgta2V5Lmh0bWwgWyBTa2lwIF0KIHdlYmtpdC5vcmcv
Yi8xMzMxMjIgY3J5cHRvL3dvcmtlcnMvc3VidGxlL3JzYS1pbXBvcnQtc3BraS1rZXkuaHRtbCBb
IFNraXAgXQogd2Via2l0Lm9yZy9iLzEzMzEyMiBjcnlwdG8vd29ya2Vycy9zdWJ0bGUvcnNhLXBv
c3RNZXNzYWdlLXdvcmtlci5odG1sIFsgU2tpcCBdCg==
</data>
<flag name="review"
          id="335337"
          type_id="1"
          status="+"
          setter="jiewen_tan"
    />
          </attachment>
      

    </bug>

</bugzilla>