<?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>176445</bug_id>
          
          <creation_ts>2017-09-06 02:49:16 -0700</creation_ts>
          <short_desc>[GStreamer] Implement MediaPlayerPrivateGStreamerMSE::attempToDecryptWithInstance()</short_desc>
          <delta_ts>2017-09-27 12:35:31 -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>Media</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>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Zan Dobersek">zan</reporter>
          <assigned_to name="Zan Dobersek">zan</assigned_to>
          <cc>buildbot</cc>
    
    <cc>calvaris</cc>
    
    <cc>cturner</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1345851</commentid>
    <comment_count>0</comment_count>
    <who name="Zan Dobersek">zan</who>
    <bug_when>2017-09-06 02:49:16 -0700</bug_when>
    <thetext>[GStreamer] Implement MediaPlayerPrivateGStreamerMSE::attempToDecryptWithInstance()</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1345853</commentid>
    <comment_count>1</comment_count>
      <attachid>319997</attachid>
    <who name="Zan Dobersek">zan</who>
    <bug_when>2017-09-06 02:56:11 -0700</bug_when>
    <thetext>Created attachment 319997
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1345854</commentid>
    <comment_count>2</comment_count>
    <who name="Build Bot">buildbot</who>
    <bug_when>2017-09-06 02:59:12 -0700</bug_when>
    <thetext>Attachment 319997 did not pass style-queue:


ERROR: Source/WebCore/platform/graphics/gstreamer/mse/MediaPlayerPrivateGStreamerMSE.cpp:952:  This { should be at the end of the previous line  [whitespace/braces] [4]
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>1345857</commentid>
    <comment_count>3</comment_count>
      <attachid>319997</attachid>
    <who name="Charlie Turner">cturner</who>
    <bug_when>2017-09-06 03:11:58 -0700</bug_when>
    <thetext>Comment on attachment 319997
Patch

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

&gt; Source/WebCore/platform/graphics/gstreamer/mse/MediaPlayerPrivateGStreamerMSE.cpp:944
&gt; +        if (keys.isEmpty())

Same check as above?

&gt; Source/WebCore/platform/graphics/gstreamer/mse/MediaPlayerPrivateGStreamerMSE.cpp:952
&gt; +            {

Why are the extra scopes used in the loop, is there some problem with have G variables as autos outside the loop?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1345858</commentid>
    <comment_count>4</comment_count>
      <attachid>319997</attachid>
    <who name="Zan Dobersek">zan</who>
    <bug_when>2017-09-06 03:22:52 -0700</bug_when>
    <thetext>Comment on attachment 319997
Patch

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

&gt;&gt; Source/WebCore/platform/graphics/gstreamer/mse/MediaPlayerPrivateGStreamerMSE.cpp:952
&gt;&gt; +            {
&gt; 
&gt; Why are the extra scopes used in the loop, is there some problem with have G variables as autos outside the loop?

It&apos;s used for clarity, and to not accidentally access resources across the two GValue constructions.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1345859</commentid>
    <comment_count>5</comment_count>
      <attachid>319998</attachid>
    <who name="Zan Dobersek">zan</who>
    <bug_when>2017-09-06 03:23:29 -0700</bug_when>
    <thetext>Created attachment 319998
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1345860</commentid>
    <comment_count>6</comment_count>
    <who name="Build Bot">buildbot</who>
    <bug_when>2017-09-06 03:26:28 -0700</bug_when>
    <thetext>Attachment 319998 did not pass style-queue:


ERROR: Source/WebCore/platform/graphics/gstreamer/mse/MediaPlayerPrivateGStreamerMSE.cpp:948:  This { should be at the end of the previous line  [whitespace/braces] [4]
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>1345863</commentid>
    <comment_count>7</comment_count>
      <attachid>320000</attachid>
    <who name="Zan Dobersek">zan</who>
    <bug_when>2017-09-06 03:38:50 -0700</bug_when>
    <thetext>Created attachment 320000
Patch

Now uses a functor to group the common code for GStreamer value list appends.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1345887</commentid>
    <comment_count>8</comment_count>
      <attachid>320000</attachid>
    <who name="Xabier Rodríguez Calvar">calvaris</who>
    <bug_when>2017-09-06 05:23:35 -0700</bug_when>
    <thetext>Comment on attachment 320000
Patch

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

&gt; Source/WebCore/platform/graphics/gstreamer/mse/MediaPlayerPrivateGStreamerMSE.cpp:950
&gt; +                GRefPtr&lt;GstBuffer&gt; gstBuffer(gst_buffer_new_wrapped(

You can use a single line

&gt; Source/WebCore/platform/graphics/gstreamer/mse/MediaPlayerPrivateGStreamerMSE.cpp:954
&gt; +                g_value_set_boxed(bufferValue, gstBuffer.get());

Use gst_value_take_buffer or adopt the reference and use set.

&gt; Source/WebCore/platform/graphics/gstreamer/mse/MediaPlayerPrivateGStreamerMSE.cpp:968
&gt; +        GUniquePtr&lt;GstStructure&gt; structure(gst_structure_new_empty(&quot;drm-cipher-clearkey&quot;));
&gt; +        gst_structure_set_value(structure.get(), &quot;key-ids&quot;, &amp;keyIDList);
&gt; +        gst_structure_set_value(structure.get(), &quot;key-values&quot;, &amp;keyValueList);
&gt; +
&gt; +        for (auto it : m_appendPipelinesMap)
&gt; +            it.value-&gt;dispatchDecryptionStructure(GUniquePtr&lt;GstStructure&gt;(gst_structure_copy(structure.get())));

I have comments about this code:
* Shouldn&apos;t we WTFMove the GUniquePtr as it the method takes a &amp;&amp; ?
* Considering that the copy is not shallow and can mean some memory copies, I think it would be interesting to unroll the loop once and copy the the structure in all cases but one, where we&apos;d move.

&gt; Source/WebCore/platform/graphics/gstreamer/mse/MediaPlayerPrivateGStreamerMSE.h:89
&gt; +    void attemptToDecryptWithInstance(const CDMInstance&amp;) override;

You can go with final here.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1345888</commentid>
    <comment_count>9</comment_count>
      <attachid>320000</attachid>
    <who name="Xabier Rodríguez Calvar">calvaris</who>
    <bug_when>2017-09-06 05:24:39 -0700</bug_when>
    <thetext>Comment on attachment 320000
Patch

Please, have a look at the comments before landing.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1345901</commentid>
    <comment_count>10</comment_count>
      <attachid>320000</attachid>
    <who name="Zan Dobersek">zan</who>
    <bug_when>2017-09-06 06:31:20 -0700</bug_when>
    <thetext>Comment on attachment 320000
Patch

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

&gt;&gt; Source/WebCore/platform/graphics/gstreamer/mse/MediaPlayerPrivateGStreamerMSE.cpp:954
&gt;&gt; +                g_value_set_boxed(bufferValue, gstBuffer.get());
&gt; 
&gt; Use gst_value_take_buffer or adopt the reference and use set.

I&apos;ll just inline the gst_buffer_new_wrapped() in the gst_value_take_buffer then.

&gt;&gt; Source/WebCore/platform/graphics/gstreamer/mse/MediaPlayerPrivateGStreamerMSE.cpp:968
&gt;&gt; +            it.value-&gt;dispatchDecryptionStructure(GUniquePtr&lt;GstStructure&gt;(gst_structure_copy(structure.get())));
&gt; 
&gt; I have comments about this code:
&gt; * Shouldn&apos;t we WTFMove the GUniquePtr as it the method takes a &amp;&amp; ?
&gt; * Considering that the copy is not shallow and can mean some memory copies, I think it would be interesting to unroll the loop once and copy the the structure in all cases but one, where we&apos;d move.

* No WTFMove is necessary, GUniquePtr&lt;&gt; as constructed here is an rvalue that binds fine to the GUniquePtr&lt;&gt;&amp;&amp; type used by the callee.
* This isn&apos;t worth the complexity. The copied data isn&apos;t large in size, and this altogether is not a frequent operation.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1345904</commentid>
    <comment_count>11</comment_count>
      <attachid>320015</attachid>
    <who name="Zan Dobersek">zan</who>
    <bug_when>2017-09-06 06:32:56 -0700</bug_when>
    <thetext>Created attachment 320015
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1346231</commentid>
    <comment_count>12</comment_count>
      <attachid>320015</attachid>
    <who name="Zan Dobersek">zan</who>
    <bug_when>2017-09-06 22:58:34 -0700</bug_when>
    <thetext>Comment on attachment 320015
Patch for landing

Clearing flags on attachment: 320015

Committed r221718: &lt;http://trac.webkit.org/changeset/221718&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1346232</commentid>
    <comment_count>13</comment_count>
    <who name="Zan Dobersek">zan</who>
    <bug_when>2017-09-06 22:58:38 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1353506</commentid>
    <comment_count>14</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2017-09-27 12:35:31 -0700</bug_when>
    <thetext>&lt;rdar://problem/34693553&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>319997</attachid>
            <date>2017-09-06 02:56:11 -0700</date>
            <delta_ts>2017-09-06 03:23:26 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-176445-20170906115610.patch</filename>
            <type>text/plain</type>
            <size>6460</size>
            <attacher name="Zan Dobersek">zan</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjIxNjY3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMGVmNzRjZDc4MGFkZjcx
NTA5MGE4NWEzMjZiZjk3YjcyODIyOTA2NC4uNGEzZmFjYjUxYWQxYmNlYTM3ODM5NWM3OGVmZmFl
ZDVjOGUyZmI2MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSw1ICsxLDMwIEBACiAyMDE3LTA5LTA2ICBaYW4g
RG9iZXJzZWsgIDx6ZG9iZXJzZWtAaWdhbGlhLmNvbT4KIAorICAgICAgICBbR1N0cmVhbWVyXSBJ
bXBsZW1lbnQgTWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyTVNFOjphdHRlbXBUb0RlY3J5cHRX
aXRoSW5zdGFuY2UoKQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9MTc2NDQ1CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAg
ICAgICAgSW1wbGVtZW50IE1lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lck1TRTo6YXR0ZW1wVG9E
ZWNyeXB0V2l0aEluc3RhbmNlKCksIGFsc28KKyAgICAgICAgYWRkaW5nIHN1cHBvcnQgZm9yIGRp
c3BhdGNoaW5nIENsZWFyS2V5IGtleXMgaW50byB0aGUgYXBwZW5kIHBpcGVsaW5lcy4KKworICAg
ICAgICBDRE1JbnN0YW5jZUNsZWFyS2V5OjpLZXkgaXMgYWRkZWQsIGNvbnRhaW5pbmcga2V5IElE
IGFuZCB2YWx1ZSBidWZmZXJzIGFzIHdlbGwKKyAgICAgICAgYXMgdGhlIGtleSBzdGF0dXMgdmFs
dWUuIFZlY3RvciBvZiBrZXlzIGZvciBhIHNwZWNpZmljIENETUluc3RhbmNlIGlzCisgICAgICAg
IGFjY2Vzc2libGUgdGhyb3VnaCB0aGUgQ0RNSW5zdGFuY2VDbGVhcktleTo6a2V5cygpIGdldHRl
ci4KKworICAgICAgICBJbiBNZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXJNU0UsIHRoYXQgVmVj
dG9yIGlzIHJldHJpZXZlZCBhbmQgdGhlbiBpdGVyYXRlZAorICAgICAgICBvdmVyLCBjb25zdHJ1
Y3RpbmcgY29ycmVzcG9uZGluZyBrZXkgSUQgYW5kIGtleSB2YWx1ZSBsaXN0cyB0aGF0IGNvbnRh
aW4KKyAgICAgICAgR3N0QnVmZmVyIG9iamVjdHMgaW50byB3aGljaCBlYWNoIGtleSBJRCBhbmQg
dmFsdWUgZGF0YSBpcyBjb3BpZWQuIEJvdGggbGlzdHMKKyAgICAgICAgYXJlIHRoZW4gc2V0IG9u
IHRoZSAnZHJtLWNpcGhlci1jbGVhcmtleScgc3RydWN0dXJlIGJlZm9yZSBpdCdzIGRpc3BhdGNo
ZWQKKyAgICAgICAgYWdhaW5zdCBlYWNoIEFwcGVuZFBpcGVsaW5lIG9iamVjdC4KKworICAgICAg
ICAqIHBsYXRmb3JtL2VuY3J5cHRlZG1lZGlhL2NsZWFya2V5L0NETUNsZWFyS2V5Lmg6CisgICAg
ICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVhbWVyL21zZS9NZWRpYVBsYXllclByaXZhdGVH
U3RyZWFtZXJNU0UuY3BwOgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFQbGF5ZXJQcml2YXRlR1N0
cmVhbWVyTVNFOjphdHRlbXB0VG9EZWNyeXB0V2l0aEluc3RhbmNlKToKKyAgICAgICAgKiBwbGF0
Zm9ybS9ncmFwaGljcy9nc3RyZWFtZXIvbXNlL01lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lck1T
RS5oOgorCisyMDE3LTA5LTA2ICBaYW4gRG9iZXJzZWsgIDx6ZG9iZXJzZWtAaWdhbGlhLmNvbT4K
KwogICAgICAgICBbV2ViR0wyXSBJbXBsZW1lbnQgZ2V0QWN0aXZlVW5pZm9ybXMoKQogICAgICAg
ICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTc1MjAzCiAKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2VuY3J5cHRlZG1lZGlhL2NsZWFya2V5L0NE
TUNsZWFyS2V5LmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9lbmNyeXB0ZWRtZWRpYS9jbGVh
cmtleS9DRE1DbGVhcktleS5oCmluZGV4IDE3ZjYzODY1YjE4MTgxYWI0MDU5MzcwMDc0N2U0NjQz
YmVhNDk3MGQuLmNlMjMwYWMxYzAxNzM4NGQ4YjA2YWVlODcxNTViNGJjNzU3OGQ5YzIgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2VuY3J5cHRlZG1lZGlhL2NsZWFya2V5L0NE
TUNsZWFyS2V5LmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZW5jcnlwdGVkbWVkaWEv
Y2xlYXJrZXkvQ0RNQ2xlYXJLZXkuaApAQCAtMzMsNiArMzMsNyBAQAogI2luY2x1ZGUgIkNETUZh
Y3RvcnkuaCIKICNpbmNsdWRlICJDRE1JbnN0YW5jZS5oIgogI2luY2x1ZGUgIkNETVByaXZhdGUu
aCIKKyNpbmNsdWRlICJTaGFyZWRCdWZmZXIuaCIKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCkBA
IC05MSw2ICs5MiwxNyBAQCBwdWJsaWM6CiAgICAgdm9pZCBzdG9yZVJlY29yZE9mS2V5VXNhZ2Uo
Y29uc3QgU3RyaW5nJikgb3ZlcnJpZGU7CiAKICAgICBjb25zdCBTdHJpbmcmIGtleVN5c3RlbSgp
IGNvbnN0IGZpbmFsOworCisgICAgc3RydWN0IEtleSB7CisgICAgICAgIEtleVN0YXR1cyBzdGF0
dXM7CisgICAgICAgIFJlZlB0cjxTaGFyZWRCdWZmZXI+IGtleUlERGF0YTsKKyAgICAgICAgUmVm
UHRyPFNoYXJlZEJ1ZmZlcj4ga2V5VmFsdWVEYXRhOworICAgIH07CisKKyAgICBjb25zdCBWZWN0
b3I8S2V5PiYga2V5cygpIGNvbnN0IHsgcmV0dXJuIG1fa2V5czsgfQorCitwcml2YXRlOgorICAg
IFZlY3RvcjxLZXk+IG1fa2V5czsKIH07CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dzdHJlYW1lci9tc2UvTWVk
aWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyTVNFLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL2dzdHJlYW1lci9tc2UvTWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyTVNFLmNw
cAppbmRleCAwMjQ2NzAwZDNmOTllNjQwZjQyYjQwYzc0N2UyZGI4YzYzOWM0ZmE5Li42YTRhOTc0
MWVlMzhmYmY4NmM4YjAzYWQ0Mzc4MjZjZGU5YTY2OWFhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy9nc3RyZWFtZXIvbXNlL01lZGlhUGxheWVyUHJpdmF0ZUdT
dHJlYW1lck1TRS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0
cmVhbWVyL21zZS9NZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXJNU0UuY3BwCkBAIC01Myw2ICs1
MywxMSBAQAogI2luY2x1ZGUgPHd0Zi90ZXh0L0F0b21pY1N0cmluZy5oPgogI2luY2x1ZGUgPHd0
Zi90ZXh0L0F0b21pY1N0cmluZ0hhc2guaD4KIAorI2lmIEVOQUJMRShFTkNSWVBURURfTUVESUEp
CisjaW5jbHVkZSAiQ0RNQ2xlYXJLZXkuaCIKKyNpbmNsdWRlICJTaGFyZWRCdWZmZXIuaCIKKyNl
bmRpZgorCiBzdGF0aWMgY29uc3QgY2hhciogZHVtcFJlYWR5U3RhdGUoV2ViQ29yZTo6TWVkaWFQ
bGF5ZXI6OlJlYWR5U3RhdGUgcmVhZHlTdGF0ZSkKIHsKICAgICBzd2l0Y2ggKHJlYWR5U3RhdGUp
IHsKQEAgLTkyNyw2ICs5MzIsNTUgQEAgZmxvYXQgTWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVy
TVNFOjptYXhUaW1lU2Vla2FibGUoKSBjb25zdAogICAgIHJldHVybiByZXN1bHQ7CiB9CiAKKyNp
ZiBFTkFCTEUoRU5DUllQVEVEX01FRElBKQordm9pZCBNZWRpYVBsYXllclByaXZhdGVHU3RyZWFt
ZXJNU0U6OmF0dGVtcHRUb0RlY3J5cHRXaXRoSW5zdGFuY2UoY29uc3QgQ0RNSW5zdGFuY2UmIGlu
c3RhbmNlKQoreworICAgIGlmIChpczxDRE1JbnN0YW5jZUNsZWFyS2V5PihpbnN0YW5jZSkpIHsK
KyAgICAgICAgYXV0byYgY2tJbnN0YW5jZSA9IGRvd25jYXN0PENETUluc3RhbmNlQ2xlYXJLZXk+
KGluc3RhbmNlKTsKKyAgICAgICAgaWYgKGNrSW5zdGFuY2Uua2V5cygpLmlzRW1wdHkoKSkKKyAg
ICAgICAgICAgIHJldHVybjsKKworICAgICAgICBhdXRvJiBrZXlzID0gY2tJbnN0YW5jZS5rZXlz
KCk7CisgICAgICAgIGlmIChrZXlzLmlzRW1wdHkoKSkKKyAgICAgICAgICAgIHJldHVybjsKKwor
ICAgICAgICBHVmFsdWUga2V5SURMaXN0ID0gR19WQUxVRV9JTklULCBrZXlWYWx1ZUxpc3QgPSBH
X1ZBTFVFX0lOSVQ7CisgICAgICAgIGdfdmFsdWVfaW5pdCgma2V5SURMaXN0LCBHU1RfVFlQRV9M
SVNUKTsKKyAgICAgICAgZ192YWx1ZV9pbml0KCZrZXlWYWx1ZUxpc3QsIEdTVF9UWVBFX0xJU1Qp
OworCisgICAgICAgIGZvciAoYXV0byYga2V5IDoga2V5cykgeworICAgICAgICAgICAgeworICAg
ICAgICAgICAgICAgIEdSZWZQdHI8R3N0QnVmZmVyPiBrZXlJREJ1ZmZlcihnc3RfYnVmZmVyX25l
d193cmFwcGVkKAorICAgICAgICAgICAgICAgICAgICBnX21lbWR1cChrZXkua2V5SUREYXRhLT5k
YXRhKCksIGtleS5rZXlJRERhdGEtPnNpemUoKSksCisgICAgICAgICAgICAgICAgICAgIGtleS5r
ZXlJRERhdGEtPnNpemUoKSkpOworCisgICAgICAgICAgICAgICAgR1ZhbHVlKiBidWZmZXJWYWx1
ZSA9IGdfbmV3MChHVmFsdWUsIDEpOworICAgICAgICAgICAgICAgIGdfdmFsdWVfaW5pdChidWZm
ZXJWYWx1ZSwgR1NUX1RZUEVfQlVGRkVSKTsKKyAgICAgICAgICAgICAgICBnX3ZhbHVlX3NldF9i
b3hlZChidWZmZXJWYWx1ZSwga2V5SURCdWZmZXIuZ2V0KCkpOworICAgICAgICAgICAgICAgIGdz
dF92YWx1ZV9saXN0X2FwcGVuZF9hbmRfdGFrZV92YWx1ZSgma2V5SURMaXN0LCBidWZmZXJWYWx1
ZSk7CisgICAgICAgICAgICB9CisgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgR1JlZlB0
cjxHc3RCdWZmZXI+IGtleVZhbHVlQnVmZmVyKGdzdF9idWZmZXJfbmV3X3dyYXBwZWQoCisgICAg
ICAgICAgICAgICAgICAgIGdfbWVtZHVwKGtleS5rZXlWYWx1ZURhdGEtPmRhdGEoKSwga2V5Lmtl
eVZhbHVlRGF0YS0+c2l6ZSgpKSwKKyAgICAgICAgICAgICAgICAgICAga2V5LmtleVZhbHVlRGF0
YS0+c2l6ZSgpKSk7CisKKyAgICAgICAgICAgICAgICBHVmFsdWUqIGJ1ZmZlclZhbHVlID0gZ19u
ZXcwKEdWYWx1ZSwgMSk7CisgICAgICAgICAgICAgICAgZ192YWx1ZV9pbml0KGJ1ZmZlclZhbHVl
LCBHU1RfVFlQRV9CVUZGRVIpOworICAgICAgICAgICAgICAgIGdfdmFsdWVfc2V0X2JveGVkKGJ1
ZmZlclZhbHVlLCBrZXlWYWx1ZUJ1ZmZlci5nZXQoKSk7CisgICAgICAgICAgICAgICAgZ3N0X3Zh
bHVlX2xpc3RfYXBwZW5kX2FuZF90YWtlX3ZhbHVlKCZrZXlWYWx1ZUxpc3QsIGJ1ZmZlclZhbHVl
KTsKKyAgICAgICAgICAgIH0KKyAgICAgICAgfQorCisgICAgICAgIEdVbmlxdWVQdHI8R3N0U3Ry
dWN0dXJlPiBzdHJ1Y3R1cmUoZ3N0X3N0cnVjdHVyZV9uZXdfZW1wdHkoImRybS1jaXBoZXItY2xl
YXJrZXkiKSk7CisgICAgICAgIGdzdF9zdHJ1Y3R1cmVfc2V0X3ZhbHVlKHN0cnVjdHVyZS5nZXQo
KSwgImtleS1pZHMiLCAma2V5SURMaXN0KTsKKyAgICAgICAgZ3N0X3N0cnVjdHVyZV9zZXRfdmFs
dWUoc3RydWN0dXJlLmdldCgpLCAia2V5LXZhbHVlcyIsICZrZXlWYWx1ZUxpc3QpOworCisgICAg
ICAgIGZvciAoYXV0byBpdCA6IG1fYXBwZW5kUGlwZWxpbmVzTWFwKQorICAgICAgICAgICAgaXQu
dmFsdWUtPmRpc3BhdGNoRGVjcnlwdGlvblN0cnVjdHVyZShHVW5pcXVlUHRyPEdzdFN0cnVjdHVy
ZT4oZ3N0X3N0cnVjdHVyZV9jb3B5KHN0cnVjdHVyZS5nZXQoKSkpKTsKKyAgICB9Cit9CisjZW5k
aWYKKwogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZS4KIAogI2VuZGlmIC8vIFVTRShHU1RSRUFNRVIp
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9nc3RyZWFtZXIv
bXNlL01lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lck1TRS5oIGIvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3MvZ3N0cmVhbWVyL21zZS9NZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXJN
U0UuaAppbmRleCAxOTQxMGY2NjZlYjNlYTliMmEwMDIyYzMxMTZlYzhjMTliODk4Y2UxLi5lNTcy
ZTAzZWM1Mjk5Y2NjN2VmN2NjODYyMWVjZDc1NjljNjA0YzNiIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9nc3RyZWFtZXIvbXNlL01lZGlhUGxheWVyUHJpdmF0
ZUdTdHJlYW1lck1TRS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dz
dHJlYW1lci9tc2UvTWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyTVNFLmgKQEAgLTg1LDYgKzg1
LDEwIEBAIHB1YmxpYzoKIAogICAgIHN0YXRpYyBib29sIHN1cHBvcnRzQ29kZWNzKGNvbnN0IFN0
cmluZyYgY29kZWNzKTsKIAorI2lmIEVOQUJMRShFTkNSWVBURURfTUVESUEpCisgICAgdm9pZCBh
dHRlbXB0VG9EZWNyeXB0V2l0aEluc3RhbmNlKGNvbnN0IENETUluc3RhbmNlJikgb3ZlcnJpZGU7
CisjZW5kaWYKKwogcHJpdmF0ZToKICAgICBzdGF0aWMgdm9pZCBnZXRTdXBwb3J0ZWRUeXBlcyhI
YXNoU2V0PFN0cmluZywgQVNDSUlDYXNlSW5zZW5zaXRpdmVIYXNoPiYpOwogICAgIHN0YXRpYyBN
ZWRpYVBsYXllcjo6U3VwcG9ydHNUeXBlIHN1cHBvcnRzVHlwZShjb25zdCBNZWRpYUVuZ2luZVN1
cHBvcnRQYXJhbWV0ZXJzJik7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>319998</attachid>
            <date>2017-09-06 03:23:29 -0700</date>
            <delta_ts>2017-09-06 03:38:46 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-176445-20170906122328.patch</filename>
            <type>text/plain</type>
            <size>6380</size>
            <attacher name="Zan Dobersek">zan</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjIxNjY3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMGVmNzRjZDc4MGFkZjcx
NTA5MGE4NWEzMjZiZjk3YjcyODIyOTA2NC4uNGEzZmFjYjUxYWQxYmNlYTM3ODM5NWM3OGVmZmFl
ZDVjOGUyZmI2MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSw1ICsxLDMwIEBACiAyMDE3LTA5LTA2ICBaYW4g
RG9iZXJzZWsgIDx6ZG9iZXJzZWtAaWdhbGlhLmNvbT4KIAorICAgICAgICBbR1N0cmVhbWVyXSBJ
bXBsZW1lbnQgTWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyTVNFOjphdHRlbXBUb0RlY3J5cHRX
aXRoSW5zdGFuY2UoKQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9MTc2NDQ1CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAg
ICAgICAgSW1wbGVtZW50IE1lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lck1TRTo6YXR0ZW1wVG9E
ZWNyeXB0V2l0aEluc3RhbmNlKCksIGFsc28KKyAgICAgICAgYWRkaW5nIHN1cHBvcnQgZm9yIGRp
c3BhdGNoaW5nIENsZWFyS2V5IGtleXMgaW50byB0aGUgYXBwZW5kIHBpcGVsaW5lcy4KKworICAg
ICAgICBDRE1JbnN0YW5jZUNsZWFyS2V5OjpLZXkgaXMgYWRkZWQsIGNvbnRhaW5pbmcga2V5IElE
IGFuZCB2YWx1ZSBidWZmZXJzIGFzIHdlbGwKKyAgICAgICAgYXMgdGhlIGtleSBzdGF0dXMgdmFs
dWUuIFZlY3RvciBvZiBrZXlzIGZvciBhIHNwZWNpZmljIENETUluc3RhbmNlIGlzCisgICAgICAg
IGFjY2Vzc2libGUgdGhyb3VnaCB0aGUgQ0RNSW5zdGFuY2VDbGVhcktleTo6a2V5cygpIGdldHRl
ci4KKworICAgICAgICBJbiBNZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXJNU0UsIHRoYXQgVmVj
dG9yIGlzIHJldHJpZXZlZCBhbmQgdGhlbiBpdGVyYXRlZAorICAgICAgICBvdmVyLCBjb25zdHJ1
Y3RpbmcgY29ycmVzcG9uZGluZyBrZXkgSUQgYW5kIGtleSB2YWx1ZSBsaXN0cyB0aGF0IGNvbnRh
aW4KKyAgICAgICAgR3N0QnVmZmVyIG9iamVjdHMgaW50byB3aGljaCBlYWNoIGtleSBJRCBhbmQg
dmFsdWUgZGF0YSBpcyBjb3BpZWQuIEJvdGggbGlzdHMKKyAgICAgICAgYXJlIHRoZW4gc2V0IG9u
IHRoZSAnZHJtLWNpcGhlci1jbGVhcmtleScgc3RydWN0dXJlIGJlZm9yZSBpdCdzIGRpc3BhdGNo
ZWQKKyAgICAgICAgYWdhaW5zdCBlYWNoIEFwcGVuZFBpcGVsaW5lIG9iamVjdC4KKworICAgICAg
ICAqIHBsYXRmb3JtL2VuY3J5cHRlZG1lZGlhL2NsZWFya2V5L0NETUNsZWFyS2V5Lmg6CisgICAg
ICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVhbWVyL21zZS9NZWRpYVBsYXllclByaXZhdGVH
U3RyZWFtZXJNU0UuY3BwOgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFQbGF5ZXJQcml2YXRlR1N0
cmVhbWVyTVNFOjphdHRlbXB0VG9EZWNyeXB0V2l0aEluc3RhbmNlKToKKyAgICAgICAgKiBwbGF0
Zm9ybS9ncmFwaGljcy9nc3RyZWFtZXIvbXNlL01lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lck1T
RS5oOgorCisyMDE3LTA5LTA2ICBaYW4gRG9iZXJzZWsgIDx6ZG9iZXJzZWtAaWdhbGlhLmNvbT4K
KwogICAgICAgICBbV2ViR0wyXSBJbXBsZW1lbnQgZ2V0QWN0aXZlVW5pZm9ybXMoKQogICAgICAg
ICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTc1MjAzCiAKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2VuY3J5cHRlZG1lZGlhL2NsZWFya2V5L0NE
TUNsZWFyS2V5LmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9lbmNyeXB0ZWRtZWRpYS9jbGVh
cmtleS9DRE1DbGVhcktleS5oCmluZGV4IDE3ZjYzODY1YjE4MTgxYWI0MDU5MzcwMDc0N2U0NjQz
YmVhNDk3MGQuLmNlMjMwYWMxYzAxNzM4NGQ4YjA2YWVlODcxNTViNGJjNzU3OGQ5YzIgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2VuY3J5cHRlZG1lZGlhL2NsZWFya2V5L0NE
TUNsZWFyS2V5LmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZW5jcnlwdGVkbWVkaWEv
Y2xlYXJrZXkvQ0RNQ2xlYXJLZXkuaApAQCAtMzMsNiArMzMsNyBAQAogI2luY2x1ZGUgIkNETUZh
Y3RvcnkuaCIKICNpbmNsdWRlICJDRE1JbnN0YW5jZS5oIgogI2luY2x1ZGUgIkNETVByaXZhdGUu
aCIKKyNpbmNsdWRlICJTaGFyZWRCdWZmZXIuaCIKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCkBA
IC05MSw2ICs5MiwxNyBAQCBwdWJsaWM6CiAgICAgdm9pZCBzdG9yZVJlY29yZE9mS2V5VXNhZ2Uo
Y29uc3QgU3RyaW5nJikgb3ZlcnJpZGU7CiAKICAgICBjb25zdCBTdHJpbmcmIGtleVN5c3RlbSgp
IGNvbnN0IGZpbmFsOworCisgICAgc3RydWN0IEtleSB7CisgICAgICAgIEtleVN0YXR1cyBzdGF0
dXM7CisgICAgICAgIFJlZlB0cjxTaGFyZWRCdWZmZXI+IGtleUlERGF0YTsKKyAgICAgICAgUmVm
UHRyPFNoYXJlZEJ1ZmZlcj4ga2V5VmFsdWVEYXRhOworICAgIH07CisKKyAgICBjb25zdCBWZWN0
b3I8S2V5PiYga2V5cygpIGNvbnN0IHsgcmV0dXJuIG1fa2V5czsgfQorCitwcml2YXRlOgorICAg
IFZlY3RvcjxLZXk+IG1fa2V5czsKIH07CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dzdHJlYW1lci9tc2UvTWVk
aWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyTVNFLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL2dzdHJlYW1lci9tc2UvTWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyTVNFLmNw
cAppbmRleCAwMjQ2NzAwZDNmOTllNjQwZjQyYjQwYzc0N2UyZGI4YzYzOWM0ZmE5Li5lZGVmZGFj
YmEwMDhhYzJmOTdlODVmNTBlNGQ2YTgzYzQyZTJhMzVhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy9nc3RyZWFtZXIvbXNlL01lZGlhUGxheWVyUHJpdmF0ZUdT
dHJlYW1lck1TRS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0
cmVhbWVyL21zZS9NZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXJNU0UuY3BwCkBAIC01Myw2ICs1
MywxMSBAQAogI2luY2x1ZGUgPHd0Zi90ZXh0L0F0b21pY1N0cmluZy5oPgogI2luY2x1ZGUgPHd0
Zi90ZXh0L0F0b21pY1N0cmluZ0hhc2guaD4KIAorI2lmIEVOQUJMRShFTkNSWVBURURfTUVESUEp
CisjaW5jbHVkZSAiQ0RNQ2xlYXJLZXkuaCIKKyNpbmNsdWRlICJTaGFyZWRCdWZmZXIuaCIKKyNl
bmRpZgorCiBzdGF0aWMgY29uc3QgY2hhciogZHVtcFJlYWR5U3RhdGUoV2ViQ29yZTo6TWVkaWFQ
bGF5ZXI6OlJlYWR5U3RhdGUgcmVhZHlTdGF0ZSkKIHsKICAgICBzd2l0Y2ggKHJlYWR5U3RhdGUp
IHsKQEAgLTkyNyw2ICs5MzIsNTEgQEAgZmxvYXQgTWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVy
TVNFOjptYXhUaW1lU2Vla2FibGUoKSBjb25zdAogICAgIHJldHVybiByZXN1bHQ7CiB9CiAKKyNp
ZiBFTkFCTEUoRU5DUllQVEVEX01FRElBKQordm9pZCBNZWRpYVBsYXllclByaXZhdGVHU3RyZWFt
ZXJNU0U6OmF0dGVtcHRUb0RlY3J5cHRXaXRoSW5zdGFuY2UoY29uc3QgQ0RNSW5zdGFuY2UmIGlu
c3RhbmNlKQoreworICAgIGlmIChpczxDRE1JbnN0YW5jZUNsZWFyS2V5PihpbnN0YW5jZSkpIHsK
KyAgICAgICAgYXV0byYgY2tJbnN0YW5jZSA9IGRvd25jYXN0PENETUluc3RhbmNlQ2xlYXJLZXk+
KGluc3RhbmNlKTsKKyAgICAgICAgaWYgKGNrSW5zdGFuY2Uua2V5cygpLmlzRW1wdHkoKSkKKyAg
ICAgICAgICAgIHJldHVybjsKKworICAgICAgICBHVmFsdWUga2V5SURMaXN0ID0gR19WQUxVRV9J
TklULCBrZXlWYWx1ZUxpc3QgPSBHX1ZBTFVFX0lOSVQ7CisgICAgICAgIGdfdmFsdWVfaW5pdCgm
a2V5SURMaXN0LCBHU1RfVFlQRV9MSVNUKTsKKyAgICAgICAgZ192YWx1ZV9pbml0KCZrZXlWYWx1
ZUxpc3QsIEdTVF9UWVBFX0xJU1QpOworCisgICAgICAgIGZvciAoYXV0byYga2V5IDogY2tJbnN0
YW5jZS5rZXlzKCkpIHsKKyAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICBHUmVmUHRyPEdz
dEJ1ZmZlcj4ga2V5SURCdWZmZXIoZ3N0X2J1ZmZlcl9uZXdfd3JhcHBlZCgKKyAgICAgICAgICAg
ICAgICAgICAgZ19tZW1kdXAoa2V5LmtleUlERGF0YS0+ZGF0YSgpLCBrZXkua2V5SUREYXRhLT5z
aXplKCkpLAorICAgICAgICAgICAgICAgICAgICBrZXkua2V5SUREYXRhLT5zaXplKCkpKTsKKwor
ICAgICAgICAgICAgICAgIEdWYWx1ZSogYnVmZmVyVmFsdWUgPSBnX25ldzAoR1ZhbHVlLCAxKTsK
KyAgICAgICAgICAgICAgICBnX3ZhbHVlX2luaXQoYnVmZmVyVmFsdWUsIEdTVF9UWVBFX0JVRkZF
Uik7CisgICAgICAgICAgICAgICAgZ192YWx1ZV9zZXRfYm94ZWQoYnVmZmVyVmFsdWUsIGtleUlE
QnVmZmVyLmdldCgpKTsKKyAgICAgICAgICAgICAgICBnc3RfdmFsdWVfbGlzdF9hcHBlbmRfYW5k
X3Rha2VfdmFsdWUoJmtleUlETGlzdCwgYnVmZmVyVmFsdWUpOworICAgICAgICAgICAgfQorICAg
ICAgICAgICAgeworICAgICAgICAgICAgICAgIEdSZWZQdHI8R3N0QnVmZmVyPiBrZXlWYWx1ZUJ1
ZmZlcihnc3RfYnVmZmVyX25ld193cmFwcGVkKAorICAgICAgICAgICAgICAgICAgICBnX21lbWR1
cChrZXkua2V5VmFsdWVEYXRhLT5kYXRhKCksIGtleS5rZXlWYWx1ZURhdGEtPnNpemUoKSksCisg
ICAgICAgICAgICAgICAgICAgIGtleS5rZXlWYWx1ZURhdGEtPnNpemUoKSkpOworCisgICAgICAg
ICAgICAgICAgR1ZhbHVlKiBidWZmZXJWYWx1ZSA9IGdfbmV3MChHVmFsdWUsIDEpOworICAgICAg
ICAgICAgICAgIGdfdmFsdWVfaW5pdChidWZmZXJWYWx1ZSwgR1NUX1RZUEVfQlVGRkVSKTsKKyAg
ICAgICAgICAgICAgICBnX3ZhbHVlX3NldF9ib3hlZChidWZmZXJWYWx1ZSwga2V5VmFsdWVCdWZm
ZXIuZ2V0KCkpOworICAgICAgICAgICAgICAgIGdzdF92YWx1ZV9saXN0X2FwcGVuZF9hbmRfdGFr
ZV92YWx1ZSgma2V5VmFsdWVMaXN0LCBidWZmZXJWYWx1ZSk7CisgICAgICAgICAgICB9CisgICAg
ICAgIH0KKworICAgICAgICBHVW5pcXVlUHRyPEdzdFN0cnVjdHVyZT4gc3RydWN0dXJlKGdzdF9z
dHJ1Y3R1cmVfbmV3X2VtcHR5KCJkcm0tY2lwaGVyLWNsZWFya2V5IikpOworICAgICAgICBnc3Rf
c3RydWN0dXJlX3NldF92YWx1ZShzdHJ1Y3R1cmUuZ2V0KCksICJrZXktaWRzIiwgJmtleUlETGlz
dCk7CisgICAgICAgIGdzdF9zdHJ1Y3R1cmVfc2V0X3ZhbHVlKHN0cnVjdHVyZS5nZXQoKSwgImtl
eS12YWx1ZXMiLCAma2V5VmFsdWVMaXN0KTsKKworICAgICAgICBmb3IgKGF1dG8gaXQgOiBtX2Fw
cGVuZFBpcGVsaW5lc01hcCkKKyAgICAgICAgICAgIGl0LnZhbHVlLT5kaXNwYXRjaERlY3J5cHRp
b25TdHJ1Y3R1cmUoR1VuaXF1ZVB0cjxHc3RTdHJ1Y3R1cmU+KGdzdF9zdHJ1Y3R1cmVfY29weShz
dHJ1Y3R1cmUuZ2V0KCkpKSk7CisgICAgfQorfQorI2VuZGlmCisKIH0gLy8gbmFtZXNwYWNlIFdl
YkNvcmUuCiAKICNlbmRpZiAvLyBVU0UoR1NUUkVBTUVSKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVhbWVyL21zZS9NZWRpYVBsYXllclByaXZhdGVH
U3RyZWFtZXJNU0UuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dzdHJlYW1l
ci9tc2UvTWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyTVNFLmgKaW5kZXggMTk0MTBmNjY2ZWIz
ZWE5YjJhMDAyMmMzMTE2ZWM4YzE5Yjg5OGNlMS4uZTU3MmUwM2VjNTI5OWNjYzdlZjdjYzg2MjFl
Y2Q3NTY5YzYwNGMzYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3MvZ3N0cmVhbWVyL21zZS9NZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXJNU0UuaAorKysgYi9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9nc3RyZWFtZXIvbXNlL01lZGlhUGxheWVy
UHJpdmF0ZUdTdHJlYW1lck1TRS5oCkBAIC04NSw2ICs4NSwxMCBAQCBwdWJsaWM6CiAKICAgICBz
dGF0aWMgYm9vbCBzdXBwb3J0c0NvZGVjcyhjb25zdCBTdHJpbmcmIGNvZGVjcyk7CiAKKyNpZiBF
TkFCTEUoRU5DUllQVEVEX01FRElBKQorICAgIHZvaWQgYXR0ZW1wdFRvRGVjcnlwdFdpdGhJbnN0
YW5jZShjb25zdCBDRE1JbnN0YW5jZSYpIG92ZXJyaWRlOworI2VuZGlmCisKIHByaXZhdGU6CiAg
ICAgc3RhdGljIHZvaWQgZ2V0U3VwcG9ydGVkVHlwZXMoSGFzaFNldDxTdHJpbmcsIEFTQ0lJQ2Fz
ZUluc2Vuc2l0aXZlSGFzaD4mKTsKICAgICBzdGF0aWMgTWVkaWFQbGF5ZXI6OlN1cHBvcnRzVHlw
ZSBzdXBwb3J0c1R5cGUoY29uc3QgTWVkaWFFbmdpbmVTdXBwb3J0UGFyYW1ldGVycyYpOwo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>320000</attachid>
            <date>2017-09-06 03:38:50 -0700</date>
            <delta_ts>2017-09-06 06:32:52 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-176445-20170906123848.patch</filename>
            <type>text/plain</type>
            <size>6027</size>
            <attacher name="Zan Dobersek">zan</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjIxNjY3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMGVmNzRjZDc4MGFkZjcx
NTA5MGE4NWEzMjZiZjk3YjcyODIyOTA2NC4uNGEzZmFjYjUxYWQxYmNlYTM3ODM5NWM3OGVmZmFl
ZDVjOGUyZmI2MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSw1ICsxLDMwIEBACiAyMDE3LTA5LTA2ICBaYW4g
RG9iZXJzZWsgIDx6ZG9iZXJzZWtAaWdhbGlhLmNvbT4KIAorICAgICAgICBbR1N0cmVhbWVyXSBJ
bXBsZW1lbnQgTWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyTVNFOjphdHRlbXBUb0RlY3J5cHRX
aXRoSW5zdGFuY2UoKQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9MTc2NDQ1CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAg
ICAgICAgSW1wbGVtZW50IE1lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lck1TRTo6YXR0ZW1wVG9E
ZWNyeXB0V2l0aEluc3RhbmNlKCksIGFsc28KKyAgICAgICAgYWRkaW5nIHN1cHBvcnQgZm9yIGRp
c3BhdGNoaW5nIENsZWFyS2V5IGtleXMgaW50byB0aGUgYXBwZW5kIHBpcGVsaW5lcy4KKworICAg
ICAgICBDRE1JbnN0YW5jZUNsZWFyS2V5OjpLZXkgaXMgYWRkZWQsIGNvbnRhaW5pbmcga2V5IElE
IGFuZCB2YWx1ZSBidWZmZXJzIGFzIHdlbGwKKyAgICAgICAgYXMgdGhlIGtleSBzdGF0dXMgdmFs
dWUuIFZlY3RvciBvZiBrZXlzIGZvciBhIHNwZWNpZmljIENETUluc3RhbmNlIGlzCisgICAgICAg
IGFjY2Vzc2libGUgdGhyb3VnaCB0aGUgQ0RNSW5zdGFuY2VDbGVhcktleTo6a2V5cygpIGdldHRl
ci4KKworICAgICAgICBJbiBNZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXJNU0UsIHRoYXQgVmVj
dG9yIGlzIHJldHJpZXZlZCBhbmQgdGhlbiBpdGVyYXRlZAorICAgICAgICBvdmVyLCBjb25zdHJ1
Y3RpbmcgY29ycmVzcG9uZGluZyBrZXkgSUQgYW5kIGtleSB2YWx1ZSBsaXN0cyB0aGF0IGNvbnRh
aW4KKyAgICAgICAgR3N0QnVmZmVyIG9iamVjdHMgaW50byB3aGljaCBlYWNoIGtleSBJRCBhbmQg
dmFsdWUgZGF0YSBpcyBjb3BpZWQuIEJvdGggbGlzdHMKKyAgICAgICAgYXJlIHRoZW4gc2V0IG9u
IHRoZSAnZHJtLWNpcGhlci1jbGVhcmtleScgc3RydWN0dXJlIGJlZm9yZSBpdCdzIGRpc3BhdGNo
ZWQKKyAgICAgICAgYWdhaW5zdCBlYWNoIEFwcGVuZFBpcGVsaW5lIG9iamVjdC4KKworICAgICAg
ICAqIHBsYXRmb3JtL2VuY3J5cHRlZG1lZGlhL2NsZWFya2V5L0NETUNsZWFyS2V5Lmg6CisgICAg
ICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVhbWVyL21zZS9NZWRpYVBsYXllclByaXZhdGVH
U3RyZWFtZXJNU0UuY3BwOgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFQbGF5ZXJQcml2YXRlR1N0
cmVhbWVyTVNFOjphdHRlbXB0VG9EZWNyeXB0V2l0aEluc3RhbmNlKToKKyAgICAgICAgKiBwbGF0
Zm9ybS9ncmFwaGljcy9nc3RyZWFtZXIvbXNlL01lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lck1T
RS5oOgorCisyMDE3LTA5LTA2ICBaYW4gRG9iZXJzZWsgIDx6ZG9iZXJzZWtAaWdhbGlhLmNvbT4K
KwogICAgICAgICBbV2ViR0wyXSBJbXBsZW1lbnQgZ2V0QWN0aXZlVW5pZm9ybXMoKQogICAgICAg
ICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTc1MjAzCiAKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2VuY3J5cHRlZG1lZGlhL2NsZWFya2V5L0NE
TUNsZWFyS2V5LmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9lbmNyeXB0ZWRtZWRpYS9jbGVh
cmtleS9DRE1DbGVhcktleS5oCmluZGV4IDE3ZjYzODY1YjE4MTgxYWI0MDU5MzcwMDc0N2U0NjQz
YmVhNDk3MGQuLmNlMjMwYWMxYzAxNzM4NGQ4YjA2YWVlODcxNTViNGJjNzU3OGQ5YzIgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2VuY3J5cHRlZG1lZGlhL2NsZWFya2V5L0NE
TUNsZWFyS2V5LmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZW5jcnlwdGVkbWVkaWEv
Y2xlYXJrZXkvQ0RNQ2xlYXJLZXkuaApAQCAtMzMsNiArMzMsNyBAQAogI2luY2x1ZGUgIkNETUZh
Y3RvcnkuaCIKICNpbmNsdWRlICJDRE1JbnN0YW5jZS5oIgogI2luY2x1ZGUgIkNETVByaXZhdGUu
aCIKKyNpbmNsdWRlICJTaGFyZWRCdWZmZXIuaCIKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCkBA
IC05MSw2ICs5MiwxNyBAQCBwdWJsaWM6CiAgICAgdm9pZCBzdG9yZVJlY29yZE9mS2V5VXNhZ2Uo
Y29uc3QgU3RyaW5nJikgb3ZlcnJpZGU7CiAKICAgICBjb25zdCBTdHJpbmcmIGtleVN5c3RlbSgp
IGNvbnN0IGZpbmFsOworCisgICAgc3RydWN0IEtleSB7CisgICAgICAgIEtleVN0YXR1cyBzdGF0
dXM7CisgICAgICAgIFJlZlB0cjxTaGFyZWRCdWZmZXI+IGtleUlERGF0YTsKKyAgICAgICAgUmVm
UHRyPFNoYXJlZEJ1ZmZlcj4ga2V5VmFsdWVEYXRhOworICAgIH07CisKKyAgICBjb25zdCBWZWN0
b3I8S2V5PiYga2V5cygpIGNvbnN0IHsgcmV0dXJuIG1fa2V5czsgfQorCitwcml2YXRlOgorICAg
IFZlY3RvcjxLZXk+IG1fa2V5czsKIH07CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dzdHJlYW1lci9tc2UvTWVk
aWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyTVNFLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL2dzdHJlYW1lci9tc2UvTWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyTVNFLmNw
cAppbmRleCAwMjQ2NzAwZDNmOTllNjQwZjQyYjQwYzc0N2UyZGI4YzYzOWM0ZmE5Li5mMGE4ZWU0
YjYwODljMmNhOTNmNjdhOTg1YTE1Mzg3NmQyMjFkOWJhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy9nc3RyZWFtZXIvbXNlL01lZGlhUGxheWVyUHJpdmF0ZUdT
dHJlYW1lck1TRS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0
cmVhbWVyL21zZS9NZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXJNU0UuY3BwCkBAIC01Myw2ICs1
MywxMSBAQAogI2luY2x1ZGUgPHd0Zi90ZXh0L0F0b21pY1N0cmluZy5oPgogI2luY2x1ZGUgPHd0
Zi90ZXh0L0F0b21pY1N0cmluZ0hhc2guaD4KIAorI2lmIEVOQUJMRShFTkNSWVBURURfTUVESUEp
CisjaW5jbHVkZSAiQ0RNQ2xlYXJLZXkuaCIKKyNpbmNsdWRlICJTaGFyZWRCdWZmZXIuaCIKKyNl
bmRpZgorCiBzdGF0aWMgY29uc3QgY2hhciogZHVtcFJlYWR5U3RhdGUoV2ViQ29yZTo6TWVkaWFQ
bGF5ZXI6OlJlYWR5U3RhdGUgcmVhZHlTdGF0ZSkKIHsKICAgICBzd2l0Y2ggKHJlYWR5U3RhdGUp
IHsKQEAgLTkyNyw2ICs5MzIsNDQgQEAgZmxvYXQgTWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVy
TVNFOjptYXhUaW1lU2Vla2FibGUoKSBjb25zdAogICAgIHJldHVybiByZXN1bHQ7CiB9CiAKKyNp
ZiBFTkFCTEUoRU5DUllQVEVEX01FRElBKQordm9pZCBNZWRpYVBsYXllclByaXZhdGVHU3RyZWFt
ZXJNU0U6OmF0dGVtcHRUb0RlY3J5cHRXaXRoSW5zdGFuY2UoY29uc3QgQ0RNSW5zdGFuY2UmIGlu
c3RhbmNlKQoreworICAgIGlmIChpczxDRE1JbnN0YW5jZUNsZWFyS2V5PihpbnN0YW5jZSkpIHsK
KyAgICAgICAgYXV0byYgY2tJbnN0YW5jZSA9IGRvd25jYXN0PENETUluc3RhbmNlQ2xlYXJLZXk+
KGluc3RhbmNlKTsKKyAgICAgICAgaWYgKGNrSW5zdGFuY2Uua2V5cygpLmlzRW1wdHkoKSkKKyAg
ICAgICAgICAgIHJldHVybjsKKworICAgICAgICBHVmFsdWUga2V5SURMaXN0ID0gR19WQUxVRV9J
TklULCBrZXlWYWx1ZUxpc3QgPSBHX1ZBTFVFX0lOSVQ7CisgICAgICAgIGdfdmFsdWVfaW5pdCgm
a2V5SURMaXN0LCBHU1RfVFlQRV9MSVNUKTsKKyAgICAgICAgZ192YWx1ZV9pbml0KCZrZXlWYWx1
ZUxpc3QsIEdTVF9UWVBFX0xJU1QpOworCisgICAgICAgIGF1dG8gYXBwZW5kQnVmZmVyID0KKyAg
ICAgICAgICAgIFtdKEdWYWx1ZSogdmFsdWVMaXN0LCBjb25zdCBTaGFyZWRCdWZmZXImIGJ1ZmZl
cikKKyAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICBHUmVmUHRyPEdzdEJ1ZmZlcj4gZ3N0
QnVmZmVyKGdzdF9idWZmZXJfbmV3X3dyYXBwZWQoCisgICAgICAgICAgICAgICAgICAgIGdfbWVt
ZHVwKGJ1ZmZlci5kYXRhKCksIGJ1ZmZlci5zaXplKCkpLCBidWZmZXIuc2l6ZSgpKSk7CisgICAg
ICAgICAgICAgICAgR1ZhbHVlKiBidWZmZXJWYWx1ZSA9IGdfbmV3MChHVmFsdWUsIDEpOworICAg
ICAgICAgICAgICAgIGdfdmFsdWVfaW5pdChidWZmZXJWYWx1ZSwgR1NUX1RZUEVfQlVGRkVSKTsK
KyAgICAgICAgICAgICAgICBnX3ZhbHVlX3NldF9ib3hlZChidWZmZXJWYWx1ZSwgZ3N0QnVmZmVy
LmdldCgpKTsKKyAgICAgICAgICAgICAgICBnc3RfdmFsdWVfbGlzdF9hcHBlbmRfYW5kX3Rha2Vf
dmFsdWUodmFsdWVMaXN0LCBidWZmZXJWYWx1ZSk7CisgICAgICAgICAgICB9OworCisgICAgICAg
IGZvciAoYXV0byYga2V5IDogY2tJbnN0YW5jZS5rZXlzKCkpIHsKKyAgICAgICAgICAgIGFwcGVu
ZEJ1ZmZlcigma2V5SURMaXN0LCAqa2V5LmtleUlERGF0YSk7CisgICAgICAgICAgICBhcHBlbmRC
dWZmZXIoJmtleVZhbHVlTGlzdCwgKmtleS5rZXlWYWx1ZURhdGEpOworICAgICAgICB9CisKKyAg
ICAgICAgR1VuaXF1ZVB0cjxHc3RTdHJ1Y3R1cmU+IHN0cnVjdHVyZShnc3Rfc3RydWN0dXJlX25l
d19lbXB0eSgiZHJtLWNpcGhlci1jbGVhcmtleSIpKTsKKyAgICAgICAgZ3N0X3N0cnVjdHVyZV9z
ZXRfdmFsdWUoc3RydWN0dXJlLmdldCgpLCAia2V5LWlkcyIsICZrZXlJRExpc3QpOworICAgICAg
ICBnc3Rfc3RydWN0dXJlX3NldF92YWx1ZShzdHJ1Y3R1cmUuZ2V0KCksICJrZXktdmFsdWVzIiwg
JmtleVZhbHVlTGlzdCk7CisKKyAgICAgICAgZm9yIChhdXRvIGl0IDogbV9hcHBlbmRQaXBlbGlu
ZXNNYXApCisgICAgICAgICAgICBpdC52YWx1ZS0+ZGlzcGF0Y2hEZWNyeXB0aW9uU3RydWN0dXJl
KEdVbmlxdWVQdHI8R3N0U3RydWN0dXJlPihnc3Rfc3RydWN0dXJlX2NvcHkoc3RydWN0dXJlLmdl
dCgpKSkpOworICAgIH0KK30KKyNlbmRpZgorCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlLgogCiAj
ZW5kaWYgLy8gVVNFKEdTVFJFQU1FUikKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL2dzdHJlYW1lci9tc2UvTWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyTVNF
LmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9nc3RyZWFtZXIvbXNlL01lZGlh
UGxheWVyUHJpdmF0ZUdTdHJlYW1lck1TRS5oCmluZGV4IDE5NDEwZjY2NmViM2VhOWIyYTAwMjJj
MzExNmVjOGMxOWI4OThjZTEuLmU1NzJlMDNlYzUyOTljY2M3ZWY3Y2M4NjIxZWNkNzU2OWM2MDRj
M2IgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dzdHJlYW1l
ci9tc2UvTWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyTVNFLmgKKysrIGIvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVhbWVyL21zZS9NZWRpYVBsYXllclByaXZhdGVHU3Ry
ZWFtZXJNU0UuaApAQCAtODUsNiArODUsMTAgQEAgcHVibGljOgogCiAgICAgc3RhdGljIGJvb2wg
c3VwcG9ydHNDb2RlY3MoY29uc3QgU3RyaW5nJiBjb2RlY3MpOwogCisjaWYgRU5BQkxFKEVOQ1JZ
UFRFRF9NRURJQSkKKyAgICB2b2lkIGF0dGVtcHRUb0RlY3J5cHRXaXRoSW5zdGFuY2UoY29uc3Qg
Q0RNSW5zdGFuY2UmKSBvdmVycmlkZTsKKyNlbmRpZgorCiBwcml2YXRlOgogICAgIHN0YXRpYyB2
b2lkIGdldFN1cHBvcnRlZFR5cGVzKEhhc2hTZXQ8U3RyaW5nLCBBU0NJSUNhc2VJbnNlbnNpdGl2
ZUhhc2g+Jik7CiAgICAgc3RhdGljIE1lZGlhUGxheWVyOjpTdXBwb3J0c1R5cGUgc3VwcG9ydHNU
eXBlKGNvbnN0IE1lZGlhRW5naW5lU3VwcG9ydFBhcmFtZXRlcnMmKTsK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>320015</attachid>
            <date>2017-09-06 06:32:56 -0700</date>
            <delta_ts>2017-09-06 06:32:56 -0700</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-176445-20170906153255.patch</filename>
            <type>text/plain</type>
            <size>5972</size>
            <attacher name="Zan Dobersek">zan</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjIxNjY3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMGVmNzRjZDc4MGFkZjcx
NTA5MGE4NWEzMjZiZjk3YjcyODIyOTA2NC4uODYwMTRjNjYwYWRlZDM2ZTk1NTUxNmU5ZWM5ZWQw
MWEzNTk2NGE5OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSw1ICsxLDMwIEBACiAyMDE3LTA5LTA2ICBaYW4g
RG9iZXJzZWsgIDx6ZG9iZXJzZWtAaWdhbGlhLmNvbT4KIAorICAgICAgICBbR1N0cmVhbWVyXSBJ
bXBsZW1lbnQgTWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyTVNFOjphdHRlbXBUb0RlY3J5cHRX
aXRoSW5zdGFuY2UoKQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9MTc2NDQ1CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgWGFiaWVyIFJvZHJpZ3Vlei1DYWx2
YXIuCisKKyAgICAgICAgSW1wbGVtZW50IE1lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lck1TRTo6
YXR0ZW1wVG9EZWNyeXB0V2l0aEluc3RhbmNlKCksIGFsc28KKyAgICAgICAgYWRkaW5nIHN1cHBv
cnQgZm9yIGRpc3BhdGNoaW5nIENsZWFyS2V5IGtleXMgaW50byB0aGUgYXBwZW5kIHBpcGVsaW5l
cy4KKworICAgICAgICBDRE1JbnN0YW5jZUNsZWFyS2V5OjpLZXkgaXMgYWRkZWQsIGNvbnRhaW5p
bmcga2V5IElEIGFuZCB2YWx1ZSBidWZmZXJzIGFzIHdlbGwKKyAgICAgICAgYXMgdGhlIGtleSBz
dGF0dXMgdmFsdWUuIFZlY3RvciBvZiBrZXlzIGZvciBhIHNwZWNpZmljIENETUluc3RhbmNlIGlz
CisgICAgICAgIGFjY2Vzc2libGUgdGhyb3VnaCB0aGUgQ0RNSW5zdGFuY2VDbGVhcktleTo6a2V5
cygpIGdldHRlci4KKworICAgICAgICBJbiBNZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXJNU0Us
IHRoYXQgVmVjdG9yIGlzIHJldHJpZXZlZCBhbmQgdGhlbiBpdGVyYXRlZAorICAgICAgICBvdmVy
LCBjb25zdHJ1Y3RpbmcgY29ycmVzcG9uZGluZyBrZXkgSUQgYW5kIGtleSB2YWx1ZSBsaXN0cyB0
aGF0IGNvbnRhaW4KKyAgICAgICAgR3N0QnVmZmVyIG9iamVjdHMgaW50byB3aGljaCBlYWNoIGtl
eSBJRCBhbmQgdmFsdWUgZGF0YSBpcyBjb3BpZWQuIEJvdGggbGlzdHMKKyAgICAgICAgYXJlIHRo
ZW4gc2V0IG9uIHRoZSAnZHJtLWNpcGhlci1jbGVhcmtleScgc3RydWN0dXJlIGJlZm9yZSBpdCdz
IGRpc3BhdGNoZWQKKyAgICAgICAgYWdhaW5zdCBlYWNoIEFwcGVuZFBpcGVsaW5lIG9iamVjdC4K
KworICAgICAgICAqIHBsYXRmb3JtL2VuY3J5cHRlZG1lZGlhL2NsZWFya2V5L0NETUNsZWFyS2V5
Lmg6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVhbWVyL21zZS9NZWRpYVBsYXll
clByaXZhdGVHU3RyZWFtZXJNU0UuY3BwOgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFQbGF5ZXJQ
cml2YXRlR1N0cmVhbWVyTVNFOjphdHRlbXB0VG9EZWNyeXB0V2l0aEluc3RhbmNlKToKKyAgICAg
ICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9nc3RyZWFtZXIvbXNlL01lZGlhUGxheWVyUHJpdmF0ZUdT
dHJlYW1lck1TRS5oOgorCisyMDE3LTA5LTA2ICBaYW4gRG9iZXJzZWsgIDx6ZG9iZXJzZWtAaWdh
bGlhLmNvbT4KKwogICAgICAgICBbV2ViR0wyXSBJbXBsZW1lbnQgZ2V0QWN0aXZlVW5pZm9ybXMo
KQogICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTc1MjAz
CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2VuY3J5cHRlZG1lZGlhL2Ns
ZWFya2V5L0NETUNsZWFyS2V5LmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9lbmNyeXB0ZWRt
ZWRpYS9jbGVhcmtleS9DRE1DbGVhcktleS5oCmluZGV4IDE3ZjYzODY1YjE4MTgxYWI0MDU5Mzcw
MDc0N2U0NjQzYmVhNDk3MGQuLmNlMjMwYWMxYzAxNzM4NGQ4YjA2YWVlODcxNTViNGJjNzU3OGQ5
YzIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2VuY3J5cHRlZG1lZGlhL2Ns
ZWFya2V5L0NETUNsZWFyS2V5LmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZW5jcnlw
dGVkbWVkaWEvY2xlYXJrZXkvQ0RNQ2xlYXJLZXkuaApAQCAtMzMsNiArMzMsNyBAQAogI2luY2x1
ZGUgIkNETUZhY3RvcnkuaCIKICNpbmNsdWRlICJDRE1JbnN0YW5jZS5oIgogI2luY2x1ZGUgIkNE
TVByaXZhdGUuaCIKKyNpbmNsdWRlICJTaGFyZWRCdWZmZXIuaCIKIAogbmFtZXNwYWNlIFdlYkNv
cmUgewogCkBAIC05MSw2ICs5MiwxNyBAQCBwdWJsaWM6CiAgICAgdm9pZCBzdG9yZVJlY29yZE9m
S2V5VXNhZ2UoY29uc3QgU3RyaW5nJikgb3ZlcnJpZGU7CiAKICAgICBjb25zdCBTdHJpbmcmIGtl
eVN5c3RlbSgpIGNvbnN0IGZpbmFsOworCisgICAgc3RydWN0IEtleSB7CisgICAgICAgIEtleVN0
YXR1cyBzdGF0dXM7CisgICAgICAgIFJlZlB0cjxTaGFyZWRCdWZmZXI+IGtleUlERGF0YTsKKyAg
ICAgICAgUmVmUHRyPFNoYXJlZEJ1ZmZlcj4ga2V5VmFsdWVEYXRhOworICAgIH07CisKKyAgICBj
b25zdCBWZWN0b3I8S2V5PiYga2V5cygpIGNvbnN0IHsgcmV0dXJuIG1fa2V5czsgfQorCitwcml2
YXRlOgorICAgIFZlY3RvcjxLZXk+IG1fa2V5czsKIH07CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNv
cmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dzdHJlYW1l
ci9tc2UvTWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyTVNFLmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL2dzdHJlYW1lci9tc2UvTWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVh
bWVyTVNFLmNwcAppbmRleCAwMjQ2NzAwZDNmOTllNjQwZjQyYjQwYzc0N2UyZGI4YzYzOWM0ZmE5
Li42NGI4NzUyYmMyZjc5NzAzN2Q4M2MzNmI1MGI0ZDNlYTNiZDEwYjI2IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9nc3RyZWFtZXIvbXNlL01lZGlhUGxheWVy
UHJpdmF0ZUdTdHJlYW1lck1TRS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3MvZ3N0cmVhbWVyL21zZS9NZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXJNU0UuY3BwCkBA
IC01Myw2ICs1MywxMSBAQAogI2luY2x1ZGUgPHd0Zi90ZXh0L0F0b21pY1N0cmluZy5oPgogI2lu
Y2x1ZGUgPHd0Zi90ZXh0L0F0b21pY1N0cmluZ0hhc2guaD4KIAorI2lmIEVOQUJMRShFTkNSWVBU
RURfTUVESUEpCisjaW5jbHVkZSAiQ0RNQ2xlYXJLZXkuaCIKKyNpbmNsdWRlICJTaGFyZWRCdWZm
ZXIuaCIKKyNlbmRpZgorCiBzdGF0aWMgY29uc3QgY2hhciogZHVtcFJlYWR5U3RhdGUoV2ViQ29y
ZTo6TWVkaWFQbGF5ZXI6OlJlYWR5U3RhdGUgcmVhZHlTdGF0ZSkKIHsKICAgICBzd2l0Y2ggKHJl
YWR5U3RhdGUpIHsKQEAgLTkyNyw2ICs5MzIsNDMgQEAgZmxvYXQgTWVkaWFQbGF5ZXJQcml2YXRl
R1N0cmVhbWVyTVNFOjptYXhUaW1lU2Vla2FibGUoKSBjb25zdAogICAgIHJldHVybiByZXN1bHQ7
CiB9CiAKKyNpZiBFTkFCTEUoRU5DUllQVEVEX01FRElBKQordm9pZCBNZWRpYVBsYXllclByaXZh
dGVHU3RyZWFtZXJNU0U6OmF0dGVtcHRUb0RlY3J5cHRXaXRoSW5zdGFuY2UoY29uc3QgQ0RNSW5z
dGFuY2UmIGluc3RhbmNlKQoreworICAgIGlmIChpczxDRE1JbnN0YW5jZUNsZWFyS2V5PihpbnN0
YW5jZSkpIHsKKyAgICAgICAgYXV0byYgY2tJbnN0YW5jZSA9IGRvd25jYXN0PENETUluc3RhbmNl
Q2xlYXJLZXk+KGluc3RhbmNlKTsKKyAgICAgICAgaWYgKGNrSW5zdGFuY2Uua2V5cygpLmlzRW1w
dHkoKSkKKyAgICAgICAgICAgIHJldHVybjsKKworICAgICAgICBHVmFsdWUga2V5SURMaXN0ID0g
R19WQUxVRV9JTklULCBrZXlWYWx1ZUxpc3QgPSBHX1ZBTFVFX0lOSVQ7CisgICAgICAgIGdfdmFs
dWVfaW5pdCgma2V5SURMaXN0LCBHU1RfVFlQRV9MSVNUKTsKKyAgICAgICAgZ192YWx1ZV9pbml0
KCZrZXlWYWx1ZUxpc3QsIEdTVF9UWVBFX0xJU1QpOworCisgICAgICAgIGF1dG8gYXBwZW5kQnVm
ZmVyID0KKyAgICAgICAgICAgIFtdKEdWYWx1ZSogdmFsdWVMaXN0LCBjb25zdCBTaGFyZWRCdWZm
ZXImIGJ1ZmZlcikKKyAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICBHVmFsdWUqIGJ1ZmZl
clZhbHVlID0gZ19uZXcwKEdWYWx1ZSwgMSk7CisgICAgICAgICAgICAgICAgZ192YWx1ZV9pbml0
KGJ1ZmZlclZhbHVlLCBHU1RfVFlQRV9CVUZGRVIpOworICAgICAgICAgICAgICAgIGdzdF92YWx1
ZV90YWtlX2J1ZmZlcihidWZmZXJWYWx1ZSwKKyAgICAgICAgICAgICAgICAgICAgZ3N0X2J1ZmZl
cl9uZXdfd3JhcHBlZChnX21lbWR1cChidWZmZXIuZGF0YSgpLCBidWZmZXIuc2l6ZSgpKSwgYnVm
ZmVyLnNpemUoKSkpOworICAgICAgICAgICAgICAgIGdzdF92YWx1ZV9saXN0X2FwcGVuZF9hbmRf
dGFrZV92YWx1ZSh2YWx1ZUxpc3QsIGJ1ZmZlclZhbHVlKTsKKyAgICAgICAgICAgIH07CisKKyAg
ICAgICAgZm9yIChhdXRvJiBrZXkgOiBja0luc3RhbmNlLmtleXMoKSkgeworICAgICAgICAgICAg
YXBwZW5kQnVmZmVyKCZrZXlJRExpc3QsICprZXkua2V5SUREYXRhKTsKKyAgICAgICAgICAgIGFw
cGVuZEJ1ZmZlcigma2V5VmFsdWVMaXN0LCAqa2V5LmtleVZhbHVlRGF0YSk7CisgICAgICAgIH0K
KworICAgICAgICBHVW5pcXVlUHRyPEdzdFN0cnVjdHVyZT4gc3RydWN0dXJlKGdzdF9zdHJ1Y3R1
cmVfbmV3X2VtcHR5KCJkcm0tY2lwaGVyLWNsZWFya2V5IikpOworICAgICAgICBnc3Rfc3RydWN0
dXJlX3NldF92YWx1ZShzdHJ1Y3R1cmUuZ2V0KCksICJrZXktaWRzIiwgJmtleUlETGlzdCk7Cisg
ICAgICAgIGdzdF9zdHJ1Y3R1cmVfc2V0X3ZhbHVlKHN0cnVjdHVyZS5nZXQoKSwgImtleS12YWx1
ZXMiLCAma2V5VmFsdWVMaXN0KTsKKworICAgICAgICBmb3IgKGF1dG8gaXQgOiBtX2FwcGVuZFBp
cGVsaW5lc01hcCkKKyAgICAgICAgICAgIGl0LnZhbHVlLT5kaXNwYXRjaERlY3J5cHRpb25TdHJ1
Y3R1cmUoR1VuaXF1ZVB0cjxHc3RTdHJ1Y3R1cmU+KGdzdF9zdHJ1Y3R1cmVfY29weShzdHJ1Y3R1
cmUuZ2V0KCkpKSk7CisgICAgfQorfQorI2VuZGlmCisKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUu
CiAKICNlbmRpZiAvLyBVU0UoR1NUUkVBTUVSKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVhbWVyL21zZS9NZWRpYVBsYXllclByaXZhdGVHU3RyZWFt
ZXJNU0UuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dzdHJlYW1lci9tc2Uv
TWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyTVNFLmgKaW5kZXggMTk0MTBmNjY2ZWIzZWE5YjJh
MDAyMmMzMTE2ZWM4YzE5Yjg5OGNlMS4uZTY3YzMyMDc1ZWU3Y2M5ZDI1MDBkZDBmZjNiYTgwYWE5
ODcxMTEyZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0
cmVhbWVyL21zZS9NZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXJNU0UuaAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9nc3RyZWFtZXIvbXNlL01lZGlhUGxheWVyUHJpdmF0
ZUdTdHJlYW1lck1TRS5oCkBAIC04NSw2ICs4NSwxMCBAQCBwdWJsaWM6CiAKICAgICBzdGF0aWMg
Ym9vbCBzdXBwb3J0c0NvZGVjcyhjb25zdCBTdHJpbmcmIGNvZGVjcyk7CiAKKyNpZiBFTkFCTEUo
RU5DUllQVEVEX01FRElBKQorICAgIHZvaWQgYXR0ZW1wdFRvRGVjcnlwdFdpdGhJbnN0YW5jZShj
b25zdCBDRE1JbnN0YW5jZSYpIGZpbmFsOworI2VuZGlmCisKIHByaXZhdGU6CiAgICAgc3RhdGlj
IHZvaWQgZ2V0U3VwcG9ydGVkVHlwZXMoSGFzaFNldDxTdHJpbmcsIEFTQ0lJQ2FzZUluc2Vuc2l0
aXZlSGFzaD4mKTsKICAgICBzdGF0aWMgTWVkaWFQbGF5ZXI6OlN1cHBvcnRzVHlwZSBzdXBwb3J0
c1R5cGUoY29uc3QgTWVkaWFFbmdpbmVTdXBwb3J0UGFyYW1ldGVycyYpOwo=
</data>

          </attachment>
      

    </bug>

</bugzilla>