<?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>173050</bug_id>
          
          <creation_ts>2017-06-07 02:53:46 -0700</creation_ts>
          <short_desc>[GTK][WPE][GSTREAMER_GL] Change the colorspace used by the video frames provided by GStreamer</short_desc>
          <delta_ts>2018-05-09 05:09:24 -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>WebKitGTK</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>185470</dependson>
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Miguel Gomez">magomez</reporter>
          <assigned_to name="Miguel Gomez">magomez</assigned_to>
          <cc>bugs-noreply</cc>
    
    <cc>commit-queue</cc>
    
    <cc>zan</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1316425</commentid>
    <comment_count>0</comment_count>
    <who name="Miguel Gomez">magomez</who>
    <bug_when>2017-06-07 02:53:46 -0700</bug_when>
    <thetext>Currently, when using gstreamer-gl, the colorspace used by gstreamer to provide the video frames in RGBA. While this is convenient to paint the frames to the TextureMapper (which uses RGBA as well), it&apos;s a problem when the video frames need to be rendered with the CPU, for example when rendering to a non accelerated canvas or to webgl through glTexSubImage2D (yes, this is not accelerated!!). The problem comes because when the video frames are downloaded to the CPU, RGBA gets turned into ABGR (with the endianness change), and cairo expects ARGB, which means that the R and B components are swapped.

We could fix this by manually swapping the R and B components, but it&apos;s a waste of resources. What we need to do instead is changing the format used by gstreamer to BGRA, so when downloaded to the CPU it will automatically be the ARGB expected by cairo, and perform a colorspace conversion from BGRA to RGBA on with the shader when drawing the frames to the TextureMapper, so we don&apos;t waste CPU on byte swapping.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1316427</commentid>
    <comment_count>1</comment_count>
      <attachid>312176</attachid>
    <who name="Miguel Gomez">magomez</who>
    <bug_when>2017-06-07 03:13:09 -0700</bug_when>
    <thetext>Created attachment 312176
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1316459</commentid>
    <comment_count>2</comment_count>
      <attachid>312176</attachid>
    <who name="Zan Dobersek">zan</who>
    <bug_when>2017-06-07 07:13:35 -0700</bug_when>
    <thetext>Comment on attachment 312176
Patch

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

&gt; Source/WebCore/platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.cpp:53
&gt; +#define TEXTUREMAPPER_COLORCONVERT_FLAG TextureMapperGL::ShouldConvertTextureBGRAToRGBA
&gt; +#define TEXTURECOPIER_COLORCONVERT_FLAG VideoTextureCopierGStreamer::ColorConversion::ConvertBGRAToRGBA

These are hard to process IMO. TEXTURE_MAPPER_COLOR_CONVERT_FLAG and TEXTURE_COPIER_COLOR_CONVERT_FLAG are fine.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1316852</commentid>
    <comment_count>3</comment_count>
      <attachid>312287</attachid>
    <who name="Miguel Gomez">magomez</who>
    <bug_when>2017-06-08 01:48:25 -0700</bug_when>
    <thetext>Created attachment 312287
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1316853</commentid>
    <comment_count>4</comment_count>
      <attachid>312288</attachid>
    <who name="Miguel Gomez">magomez</who>
    <bug_when>2017-06-08 01:49:17 -0700</bug_when>
    <thetext>Created attachment 312288
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1316857</commentid>
    <comment_count>5</comment_count>
      <attachid>312288</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2017-06-08 03:16:43 -0700</bug_when>
    <thetext>Comment on attachment 312288
Patch

Clearing flags on attachment: 312288

Committed r217927: &lt;http://trac.webkit.org/changeset/217927&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1316858</commentid>
    <comment_count>6</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2017-06-08 03:16:45 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>312176</attachid>
            <date>2017-06-07 03:13:09 -0700</date>
            <delta_ts>2017-06-08 01:48:20 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-173050-20170607121308.patch</filename>
            <type>text/plain</type>
            <size>11856</size>
            <attacher name="Miguel Gomez">magomez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjE3ODc1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNzcxZTJmMDA3ZTc2YWJj
ZjQxNmYwMjBjNDI4NmJkN2ZkODg1ZWNjZC4uOWNmMmIzOTg3NDJjOWQyZWFhYjY3NWZlZjYxODhm
MjY4MzNjZGJiNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM4IEBACisyMDE3LTA2LTA3ICBNaWd1
ZWwgR29tZXogIDxtYWdvbWV6QGlnYWxpYS5jb20+CisKKyAgICAgICAgW0dUS11bV1BFXVtHU1RS
RUFNRVJfR0xdIENoYW5nZSB0aGUgY29sb3JzcGFjZSB1c2VkIGJ5IHRoZSB2aWRlbyBmcmFtZXMg
cHJvdmlkZWQgYnkgR1N0cmVhbWVyCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD0xNzMwNTAKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMh
KS4KKworICAgICAgICBXZSBhcmUgY3VycmVudGx5IHJlcXVlc3RpbmcgUkdCQSBhcyB0aGUgY29s
b3IgZm9ybWF0IG9mIHRoZSB2aWRlbyBmcmFtZXMgdG8gZ3N0cmVhbWVyLiBUaGlzIGlzIGEgcHJv
YmxlbQorICAgICAgICBiZWNhdXNlIHdoZW4gdGhvc2UgZnJhbWVzIGFyZSByZW5kZXJlZCB3aXRo
IHRoZSBDUFUsIHRoZSBSIGFuZCBCIGNvbXBvbmVudHMgYXJlIHN3YXBwZWQgYXMgY2Fpcm8gZXhw
ZWN0cworICAgICAgICBBUkdCIGFuZCBHU3RyZWFtZXIgZGVsaXZlcnMgQUJHUi4KKworICAgICAg
ICBJbiBvcmRlciB0byBmaXggdGhpcyB3aXRob3V0IHBlcmZvcm1pbmcgY29sb3IgY29udmVyc2lv
bnMgb24gdGhlIENQVSwgd2hhdCB3ZSBkbyBpcyBjaGFuZ2UgdGhlIGZvcm1hdAorICAgICAgICB1
c2VkIGJ5IEdTdHJlYW1lciBmb3IgdGhlIHZpZGVvIGZyYW1lcy4gV2UgZG8gdGhhdCB0YWtpbmcg
aW50byBhY2NvdW50IHRoZSBlbmRpYW5uZXNzIHVzZWQuIFNvIHdpdGgKKyAgICAgICAgbGl0dGxl
IGVuZGlhbiB3ZSB3aWxsIHVzZSBCR1J4IG9yIEJHUkEgYW5kIHdpdGggYmlnIGVuZGlhbiB4UkdC
IG9yIEFSR0IuIFRoYW5rcyB0byB0aGlzLCB3aGVuIGRvd25sb2FkaW5nCisgICAgICAgIHRoZSBm
cmFtZXMgdG8gdGhlIENQVSB0aGV5IHdpbGwgYXV0b21hdGljYWxseSBiZSB0dXJuZWQgaW50byB0
aGUgQVJHQiBleHBlY3RlZCBieSBjYWlyby4gQWxzbywgd2hlbgorICAgICAgICByZW5kZXJpbmcg
dGhlIGZyYW1lcyB1c2luZyBPcGVuR0wsIHdlIGluZGljYXRlIHRoYXQgdGhlIGNvbG9yIHNwYWNl
IG5lZWRzIHRvIGJlIGNvbnZlcnRlZCB0byB0aGUgUkdCQQorICAgICAgICBleHBlY3RlZCBieSB0
aGUgZGVzdGluYXRpb24gdGV4dHVyZSAoYnV0IHRoaXMgY29sb3IgY29udmVyc2lvbiBpcyBwZXJm
b3JtZWQgYnkgdGhlIEdQVSBzbyB0aGVyZSdzIG5vCisgICAgICAgIHBlbmFsdHkpLgorCisgICAg
ICAgIENvdmVyZWQgYnkgZXhpc3RlbnQgdGVzdHMuCisKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFw
aGljcy9nc3RyZWFtZXIvTWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyQmFzZS5jcHA6CisgICAg
ICAgIChXZWJDb3JlOjpHc3RWaWRlb0ZyYW1lSG9sZGVyOjpHc3RWaWRlb0ZyYW1lSG9sZGVyKToK
KyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lckJhc2U6OmNvcHlW
aWRlb1RleHR1cmVUb1BsYXRmb3JtVGV4dHVyZSk6CisgICAgICAgIChXZWJDb3JlOjpNZWRpYVBs
YXllclByaXZhdGVHU3RyZWFtZXJCYXNlOjpuYXRpdmVJbWFnZUZvckN1cnJlbnRUaW1lKToKKyAg
ICAgICAgKFdlYkNvcmU6Ok1lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lckJhc2U6OmNyZWF0ZVZp
ZGVvU2lua0dMKToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9nc3RyZWFtZXIvVmlkZW9U
ZXh0dXJlQ29waWVyR1N0cmVhbWVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlZpZGVvVGV4dHVy
ZUNvcGllckdTdHJlYW1lcjo6VmlkZW9UZXh0dXJlQ29waWVyR1N0cmVhbWVyKToKKyAgICAgICAg
KFdlYkNvcmU6OlZpZGVvVGV4dHVyZUNvcGllckdTdHJlYW1lcjo6dXBkYXRlQ29sb3JDb252ZXJz
aW9uTWF0cml4KToKKyAgICAgICAgKFdlYkNvcmU6OlZpZGVvVGV4dHVyZUNvcGllckdTdHJlYW1l
cjo6Y29weVZpZGVvVGV4dHVyZVRvUGxhdGZvcm1UZXh0dXJlKToKKyAgICAgICAgKiBwbGF0Zm9y
bS9ncmFwaGljcy9nc3RyZWFtZXIvVmlkZW9UZXh0dXJlQ29waWVyR1N0cmVhbWVyLmg6CisgICAg
ICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvdGV4bWFwL1RleHR1cmVNYXBwZXJHTC5jcHA6CisgICAg
ICAgIChXZWJDb3JlOjpjb2xvclNwYWNlTWF0cml4Rm9yRmxhZ3MpOgorICAgICAgICAqIHBsYXRm
b3JtL2dyYXBoaWNzL3RleG1hcC9UZXh0dXJlTWFwcGVyR0wuaDoKKwogMjAxNy0wNi0wNiAgUnlv
c3VrZSBOaXdhICA8cm5pd2FAd2Via2l0Lm9yZz4KIAogICAgICAgICBVc2UgYSBkZWRpY2F0ZWQg
bm9kZSBmbGFnIHRvIGlkZW50aWZ5IGEgRG9jdW1lbnQgbm9kZQpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVhbWVyL01lZGlhUGxheWVyUHJpdmF0ZUdT
dHJlYW1lckJhc2UuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVh
bWVyL01lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lckJhc2UuY3BwCmluZGV4IGQ1NjE1MmE5MzA1
ZmExMTZhZTU3NzI5NGFmOWMxYzJhNDJiMWIzZTcuLjgzNWYzMjRjODRjYzMyMmY1MjAyNzg0OTZh
Y2E2ODZjZWExMTBkNjMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL2dzdHJlYW1lci9NZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXJCYXNlLmNwcAorKysgYi9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9nc3RyZWFtZXIvTWVkaWFQbGF5ZXJQcml2
YXRlR1N0cmVhbWVyQmFzZS5jcHAKQEAgLTQ3LDYgKzQ3LDE2IEBACiAjaW5jbHVkZSA8Z3N0L3Zp
ZGVvL2dzdHZpZGVvbWV0YS5oPgogCiAjaWYgVVNFKEdTVFJFQU1FUl9HTCkKKyNpZiBHX0JZVEVf
T1JERVIgPT0gR19MSVRUTEVfRU5ESUFOCisjZGVmaW5lIEdTVF9HTF9DQVBTX0ZPUk1BVCAieyBC
R1J4LCBCR1JBIH0iCisjZGVmaW5lIFRFWFRVUkVNQVBQRVJfQ09MT1JDT05WRVJUX0ZMQUcgVGV4
dHVyZU1hcHBlckdMOjpTaG91bGRDb252ZXJ0VGV4dHVyZUJHUkFUb1JHQkEKKyNkZWZpbmUgVEVY
VFVSRUNPUElFUl9DT0xPUkNPTlZFUlRfRkxBRyBWaWRlb1RleHR1cmVDb3BpZXJHU3RyZWFtZXI6
OkNvbG9yQ29udmVyc2lvbjo6Q29udmVydEJHUkFUb1JHQkEKKyNlbHNlCisjZGVmaW5lIEdTVF9H
TF9DQVBTX0ZPUk1BVCAieyB4UkdCLCBBUkdCIH0iCisjZGVmaW5lIFRFWFRVUkVNQVBQRVJfQ09M
T1JDT05WRVJUX0ZMQUcgVGV4dHVyZU1hcHBlckdMOjpTaG91bGRDb252ZXJ0VGV4dHVyZUFSR0JU
b1JHQkEKKyNkZWZpbmUgVEVYVFVSRUNPUElFUl9DT0xPUkNPTlZFUlRfRkxBRyBWaWRlb1RleHR1
cmVDb3BpZXJHU3RyZWFtZXI6OkNvbG9yQ29udmVyc2lvbjo6Q29udmVydEFSR0JUb1JHQkEKKyNl
bmRpZgorCiAjaW5jbHVkZSA8Z3N0L2FwcC9nc3RhcHBzaW5rLmg+CiAjZGVmaW5lIEdTVF9VU0Vf
VU5TVEFCTEVfQVBJCiAjaW5jbHVkZSA8Z3N0L2dsL2dsLmg+CkBAIC0xODMsNyArMTkzLDcgQEAg
cHVibGljOgogICAgICAgICAgICAgcmV0dXJuOwogCiAgICAgICAgIG1fc2l6ZSA9IEludFNpemUo
R1NUX1ZJREVPX0lORk9fV0lEVEgoJnZpZGVvSW5mbyksIEdTVF9WSURFT19JTkZPX0hFSUdIVCgm
dmlkZW9JbmZvKSk7Ci0gICAgICAgIG1fZmxhZ3MgPSBmbGFncyB8IChHU1RfVklERU9fSU5GT19I
QVNfQUxQSEEoJnZpZGVvSW5mbykgPyBUZXh0dXJlTWFwcGVyR0w6OlNob3VsZEJsZW5kIDogMCk7
CisgICAgICAgIG1fZmxhZ3MgPSBmbGFncyB8IChHU1RfVklERU9fSU5GT19IQVNfQUxQSEEoJnZp
ZGVvSW5mbykgPyBUZXh0dXJlTWFwcGVyR0w6OlNob3VsZEJsZW5kIDogMCkgfCBURVhUVVJFTUFQ
UEVSX0NPTE9SQ09OVkVSVF9GTEFHOwogCiAgICAgICAgIEdzdEJ1ZmZlciogYnVmZmVyID0gZ3N0
X3NhbXBsZV9nZXRfYnVmZmVyKHNhbXBsZSk7CiAgICAgICAgIGlmIChVTkxJS0VMWSghZ3N0X3Zp
ZGVvX2ZyYW1lX21hcCgmbV92aWRlb0ZyYW1lLCAmdmlkZW9JbmZvLCBidWZmZXIsIHN0YXRpY19j
YXN0PEdzdE1hcEZsYWdzPihHU1RfTUFQX1JFQUQgfCBHU1RfTUFQX0dMKSkpKQpAQCAtODcyLDcg
Kzg4Miw3IEBAIGJvb2wgTWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyQmFzZTo6Y29weVZpZGVv
VGV4dHVyZVRvUGxhdGZvcm1UZXh0dXJlKEdyYXBoaWNzCiAgICAgdW5zaWduZWQgdGV4dHVyZUlE
ID0gKnJlaW50ZXJwcmV0X2Nhc3Q8dW5zaWduZWQqPih2aWRlb0ZyYW1lLmRhdGFbMF0pOwogCiAg
ICAgaWYgKCFtX3ZpZGVvVGV4dHVyZUNvcGllcikKLSAgICAgICAgbV92aWRlb1RleHR1cmVDb3Bp
ZXIgPSBzdGQ6Om1ha2VfdW5pcXVlPFZpZGVvVGV4dHVyZUNvcGllckdTdHJlYW1lcj4oKTsKKyAg
ICAgICAgbV92aWRlb1RleHR1cmVDb3BpZXIgPSBzdGQ6Om1ha2VfdW5pcXVlPFZpZGVvVGV4dHVy
ZUNvcGllckdTdHJlYW1lcj4oVEVYVFVSRUNPUElFUl9DT0xPUkNPTlZFUlRfRkxBRyk7CiAKICAg
ICBib29sIGNvcGllZCA9IG1fdmlkZW9UZXh0dXJlQ29waWVyLT5jb3B5VmlkZW9UZXh0dXJlVG9Q
bGF0Zm9ybVRleHR1cmUodGV4dHVyZUlELCBzaXplLCBvdXRwdXRUZXh0dXJlLCBvdXRwdXRUYXJn
ZXQsIGxldmVsLCBpbnRlcm5hbEZvcm1hdCwgZm9ybWF0LCB0eXBlLCBmbGlwWSwgbV92aWRlb1Nv
dXJjZU9yaWVudGF0aW9uKTsKIApAQCAtOTA2LDcgKzkxNiw3IEBAIE5hdGl2ZUltYWdlUHRyIE1l
ZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lckJhc2U6Om5hdGl2ZUltYWdlRm9yQ3VycmVudFRpbWUo
KQogICAgIGNvbnRleHQtPm1ha2VDb250ZXh0Q3VycmVudCgpOwogCiAgICAgaWYgKCFtX3ZpZGVv
VGV4dHVyZUNvcGllcikKLSAgICAgICAgbV92aWRlb1RleHR1cmVDb3BpZXIgPSBzdGQ6Om1ha2Vf
dW5pcXVlPFZpZGVvVGV4dHVyZUNvcGllckdTdHJlYW1lcj4oKTsKKyAgICAgICAgbV92aWRlb1Rl
eHR1cmVDb3BpZXIgPSBzdGQ6Om1ha2VfdW5pcXVlPFZpZGVvVGV4dHVyZUNvcGllckdTdHJlYW1l
cj4oVEVYVFVSRUNPUElFUl9DT0xPUkNPTlZFUlRfRkxBRyk7CiAKICAgICB1bnNpZ25lZCB0ZXh0
dXJlSUQgPSAqcmVpbnRlcnByZXRfY2FzdDx1bnNpZ25lZCo+KHZpZGVvRnJhbWUuZGF0YVswXSk7
CiAgICAgYm9vbCBjb3BpZWQgPSBtX3ZpZGVvVGV4dHVyZUNvcGllci0+Y29weVZpZGVvVGV4dHVy
ZVRvUGxhdGZvcm1UZXh0dXJlKHRleHR1cmVJRCwgc2l6ZSwgMCwgR3JhcGhpY3NDb250ZXh0M0Q6
OlRFWFRVUkVfMkQsIDAsIEdyYXBoaWNzQ29udGV4dDNEOjpSR0JBLCBHcmFwaGljc0NvbnRleHQz
RDo6UkdCQSwgR3JhcGhpY3NDb250ZXh0M0Q6OlVOU0lHTkVEX0JZVEUsIGZhbHNlLCBtX3ZpZGVv
U291cmNlT3JpZW50YXRpb24pOwpAQCAtOTk5LDcgKzEwMDksNyBAQCBHc3RFbGVtZW50KiBNZWRp
YVBsYXllclByaXZhdGVHU3RyZWFtZXJCYXNlOjpjcmVhdGVWaWRlb1NpbmtHTCgpCiAKICAgICBn
c3RfYmluX2FkZF9tYW55KEdTVF9CSU4odmlkZW9TaW5rKSwgdXBsb2FkLCBjb2xvcmNvbnZlcnQs
IGFwcHNpbmssIG51bGxwdHIpOwogCi0gICAgR1JlZlB0cjxHc3RDYXBzPiBjYXBzID0gYWRvcHRH
UmVmKGdzdF9jYXBzX2Zyb21fc3RyaW5nKCJ2aWRlby94LXJhdygiIEdTVF9DQVBTX0ZFQVRVUkVf
TUVNT1JZX0dMX01FTU9SWSAiKSwgZm9ybWF0ID0gKHN0cmluZykgeyBSR0JBIH0iKSk7CisgICAg
R1JlZlB0cjxHc3RDYXBzPiBjYXBzID0gYWRvcHRHUmVmKGdzdF9jYXBzX2Zyb21fc3RyaW5nKCJ2
aWRlby94LXJhdygiIEdTVF9DQVBTX0ZFQVRVUkVfTUVNT1JZX0dMX01FTU9SWSAiKSwgZm9ybWF0
ID0gKHN0cmluZykgIiBHU1RfR0xfQ0FQU19GT1JNQVQpKTsKIAogICAgIHJlc3VsdCAmPSBnc3Rf
ZWxlbWVudF9saW5rX3BhZHModXBsb2FkLCAic3JjIiwgY29sb3Jjb252ZXJ0LCAic2luayIpOwog
ICAgIHJlc3VsdCAmPSBnc3RfZWxlbWVudF9saW5rX3BhZHNfZmlsdGVyZWQoY29sb3Jjb252ZXJ0
LCAic3JjIiwgYXBwc2luaywgInNpbmsiLCBjYXBzLmdldCgpKTsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dzdHJlYW1lci9WaWRlb1RleHR1cmVDb3BpZXJH
U3RyZWFtZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVhbWVy
L1ZpZGVvVGV4dHVyZUNvcGllckdTdHJlYW1lci5jcHAKaW5kZXggNjE2ZDQzNzE4NDMwNGM0ZTBj
NTU5NTBmNGYwMjNjZTVkMzBjNTFmNS4uYjg1YzU4NDk0YzU2YzUwN2JlNzY1ZjRlM2JmNDc3Zjhl
ZDJlMDkzNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0
cmVhbWVyL1ZpZGVvVGV4dHVyZUNvcGllckdTdHJlYW1lci5jcHAKKysrIGIvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVhbWVyL1ZpZGVvVGV4dHVyZUNvcGllckdTdHJlYW1l
ci5jcHAKQEAgLTI5LDcgKzI5LDcgQEAKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1WaWRlb1Rl
eHR1cmVDb3BpZXJHU3RyZWFtZXI6OlZpZGVvVGV4dHVyZUNvcGllckdTdHJlYW1lcigpCitWaWRl
b1RleHR1cmVDb3BpZXJHU3RyZWFtZXI6OlZpZGVvVGV4dHVyZUNvcGllckdTdHJlYW1lcihDb2xv
ckNvbnZlcnNpb24gY29sb3JDb252ZXJzaW9uKQogewogICAgIEdMQ29udGV4dCogcHJldmlvdXND
b250ZXh0ID0gR0xDb250ZXh0OjpjdXJyZW50KCk7CiAgICAgQVNTRVJUKHByZXZpb3VzQ29udGV4
dCk7CkBAIC00OCw2ICs0OCw3IEBAIFZpZGVvVGV4dHVyZUNvcGllckdTdHJlYW1lcjo6VmlkZW9U
ZXh0dXJlQ29waWVyR1N0cmVhbWVyKCkKICAgICBtX2NvbnRleHQzRC0+YmluZEJ1ZmZlcihHcmFw
aGljc0NvbnRleHQzRDo6QVJSQVlfQlVGRkVSLCBtX3Zibyk7CiAgICAgbV9jb250ZXh0M0QtPmJ1
ZmZlckRhdGEoR3JhcGhpY3NDb250ZXh0M0Q6OkFSUkFZX0JVRkZFUiwgc2l6ZW9mKEdDM0RmbG9h
dCkgKiA4LCB2ZXJ0aWNlcywgR3JhcGhpY3NDb250ZXh0M0Q6OlNUQVRJQ19EUkFXKTsKIAorICAg
IHVwZGF0ZUNvbG9yQ29udmVyc2lvbk1hdHJpeChjb2xvckNvbnZlcnNpb24pOwogICAgIHVwZGF0
ZVRleHR1cmVTcGFjZU1hdHJpeCgpOwogCiAgICAgcHJldmlvdXNDb250ZXh0LT5tYWtlQ29udGV4
dEN1cnJlbnQoKTsKQEAgLTY4LDYgKzY5LDIwIEBAIFZpZGVvVGV4dHVyZUNvcGllckdTdHJlYW1l
cjo6flZpZGVvVGV4dHVyZUNvcGllckdTdHJlYW1lcigpCiAgICAgcHJldmlvdXNDb250ZXh0LT5t
YWtlQ29udGV4dEN1cnJlbnQoKTsKIH0KIAordm9pZCBWaWRlb1RleHR1cmVDb3BpZXJHU3RyZWFt
ZXI6OnVwZGF0ZUNvbG9yQ29udmVyc2lvbk1hdHJpeChDb2xvckNvbnZlcnNpb24gY29sb3JDb252
ZXJzaW9uKQoreworICAgIHN3aXRjaCAoY29sb3JDb252ZXJzaW9uKSB7CisgICAgY2FzZSBDb2xv
ckNvbnZlcnNpb246OkNvbnZlcnRCR1JBVG9SR0JBOgorICAgICAgICBtX2NvbG9yQ29udmVyc2lv
bk1hdHJpeC5zZXRNYXRyaXgoMC4wLCAwLjAsIDEuMCwgMC4wLCAwLjAsIDEuMCwgMC4wLCAwLjAs
IDEuMCwgMC4wLCAwLjAsIDAuMCwgMC4wLCAwLjAsIDAuMCwgMS4wKTsKKyAgICAgICAgYnJlYWs7
CisgICAgY2FzZSBDb2xvckNvbnZlcnNpb246OkNvbnZlcnRBUkdCVG9SR0JBOgorICAgICAgICBt
X2NvbG9yQ29udmVyc2lvbk1hdHJpeC5zZXRNYXRyaXgoMC4wLCAxLjAsIDAuMCwgMC4wLCAwLjAs
IDAuMCwgMS4wLCAwLjAsIDAuMCwgMC4wLCAwLjAsIDEuMCwgMS4wLCAwLjAsIDAuMCwgMC4wKTsK
KyAgICAgICAgYnJlYWs7CisgICAgZGVmYXVsdDoKKyAgICAgICAgUkVMRUFTRV9BU1NFUlRfTk9U
X1JFQUNIRUQoKTsKKyAgICB9Cit9CisKIHZvaWQgVmlkZW9UZXh0dXJlQ29waWVyR1N0cmVhbWVy
Ojp1cGRhdGVUZXh0dXJlU3BhY2VNYXRyaXgoKQogewogICAgIG1fdGV4dHVyZVNwYWNlTWF0cml4
Lm1ha2VJZGVudGl0eSgpOwpAQCAtMTcwLDcgKzE4NSw3IEBAIGJvb2wgVmlkZW9UZXh0dXJlQ29w
aWVyR1N0cmVhbWVyOjpjb3B5VmlkZW9UZXh0dXJlVG9QbGF0Zm9ybVRleHR1cmUoUGxhdGZvcm0z
RE9iCiAgICAgbV9zaGFkZXJQcm9ncmFtLT5zZXRNYXRyaXgobV9zaGFkZXJQcm9ncmFtLT5tb2Rl
bFZpZXdNYXRyaXhMb2NhdGlvbigpLCBtX21vZGVsVmlld01hdHJpeCk7CiAgICAgbV9zaGFkZXJQ
cm9ncmFtLT5zZXRNYXRyaXgobV9zaGFkZXJQcm9ncmFtLT5wcm9qZWN0aW9uTWF0cml4TG9jYXRp
b24oKSwgbV9wcm9qZWN0aW9uTWF0cml4KTsKICAgICBtX3NoYWRlclByb2dyYW0tPnNldE1hdHJp
eChtX3NoYWRlclByb2dyYW0tPnRleHR1cmVTcGFjZU1hdHJpeExvY2F0aW9uKCksIG1fdGV4dHVy
ZVNwYWNlTWF0cml4KTsKLSAgICBtX3NoYWRlclByb2dyYW0tPnNldE1hdHJpeChtX3NoYWRlclBy
b2dyYW0tPnRleHR1cmVDb2xvclNwYWNlTWF0cml4TG9jYXRpb24oKSwgVHJhbnNmb3JtYXRpb25N
YXRyaXgoKSk7CisgICAgbV9zaGFkZXJQcm9ncmFtLT5zZXRNYXRyaXgobV9zaGFkZXJQcm9ncmFt
LT50ZXh0dXJlQ29sb3JTcGFjZU1hdHJpeExvY2F0aW9uKCksIG1fY29sb3JDb252ZXJzaW9uTWF0
cml4KTsKIAogICAgIC8vIFBlcmZvcm0gdGhlIGNvcHkuCiAgICAgbV9jb250ZXh0M0QtPmVuYWJs
ZVZlcnRleEF0dHJpYkFycmF5KG1fc2hhZGVyUHJvZ3JhbS0+dmVydGV4TG9jYXRpb24oKSk7CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9nc3RyZWFtZXIvVmlk
ZW9UZXh0dXJlQ29waWVyR1N0cmVhbWVyLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy9nc3RyZWFtZXIvVmlkZW9UZXh0dXJlQ29waWVyR1N0cmVhbWVyLmgKaW5kZXggN2M5ZDIz
NzM2MzU3NzI1NDg4NWRhNGUyZmY4ZGI2MTUwN2ZmN2MwNS4uNzU4NTBmZDFiMDQ5MGY5MDA4MDQ5
ZTI1YTYzZjdlOGY4ZDc0MjlkZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3MvZ3N0cmVhbWVyL1ZpZGVvVGV4dHVyZUNvcGllckdTdHJlYW1lci5oCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dzdHJlYW1lci9WaWRlb1RleHR1cmVDb3Bp
ZXJHU3RyZWFtZXIuaApAQCAtMzIsMTAgKzMyLDE2IEBAIGNsYXNzIEltYWdlT3JpZW50YXRpb247
CiAKIGNsYXNzIFZpZGVvVGV4dHVyZUNvcGllckdTdHJlYW1lciB7CiBwdWJsaWM6Ci0gICAgVmlk
ZW9UZXh0dXJlQ29waWVyR1N0cmVhbWVyKCk7CisgICAgZW51bSBjbGFzcyBDb2xvckNvbnZlcnNp
b24geworICAgICAgICBDb252ZXJ0QkdSQVRvUkdCQSwKKyAgICAgICAgQ29udmVydEFSR0JUb1JH
QkEKKyAgICB9OworCisgICAgVmlkZW9UZXh0dXJlQ29waWVyR1N0cmVhbWVyKENvbG9yQ29udmVy
c2lvbik7CiAgICAgflZpZGVvVGV4dHVyZUNvcGllckdTdHJlYW1lcigpOwogCiAgICAgYm9vbCBj
b3B5VmlkZW9UZXh0dXJlVG9QbGF0Zm9ybVRleHR1cmUoUGxhdGZvcm0zRE9iamVjdCBpbnB1dFRl
eHR1cmUsIEludFNpemUmIGZyYW1lU2l6ZSwgUGxhdGZvcm0zRE9iamVjdCBvdXRwdXRUZXh0dXJl
LCBHQzNEZW51bSBvdXRwdXRUYXJnZXQsIEdDM0RpbnQgbGV2ZWwsIEdDM0RlbnVtIGludGVybmFs
Rm9ybWF0LCBHQzNEZW51bSBmb3JtYXQsIEdDM0RlbnVtIHR5cGUsIGJvb2wgZmxpcFksIEltYWdl
T3JpZW50YXRpb24mIHNvdXJjZU9yaWVudGF0aW9uKTsKKyAgICB2b2lkIHVwZGF0ZUNvbG9yQ29u
dmVyc2lvbk1hdHJpeChDb2xvckNvbnZlcnNpb24pOwogICAgIHZvaWQgdXBkYXRlVGV4dHVyZVNw
YWNlTWF0cml4KCk7CiAgICAgdm9pZCB1cGRhdGVUcmFuc2Zvcm1hdGlvbk1hdHJpeCgpOwogICAg
IFBsYXRmb3JtM0RPYmplY3QgcmVzdWx0VGV4dHVyZSgpIHsgcmV0dXJuIG1fcmVzdWx0VGV4dHVy
ZTsgfQpAQCAtNTEsNiArNTcsNyBAQCBwcml2YXRlOgogICAgIFRyYW5zZm9ybWF0aW9uTWF0cml4
IG1fbW9kZWxWaWV3TWF0cml4OwogICAgIFRyYW5zZm9ybWF0aW9uTWF0cml4IG1fcHJvamVjdGlv
bk1hdHJpeDsKICAgICBUcmFuc2Zvcm1hdGlvbk1hdHJpeCBtX3RleHR1cmVTcGFjZU1hdHJpeDsK
KyAgICBUcmFuc2Zvcm1hdGlvbk1hdHJpeCBtX2NvbG9yQ29udmVyc2lvbk1hdHJpeDsKICAgICBQ
bGF0Zm9ybTNET2JqZWN0IG1fcmVzdWx0VGV4dHVyZSB7IDAgfTsKIH07CiAKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3RleG1hcC9UZXh0dXJlTWFwcGVyR0wu
Y3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvdGV4bWFwL1RleHR1cmVNYXBw
ZXJHTC5jcHAKaW5kZXggY2Y3OThmNGFhYWEwNDM3ZWU3N2UxZDgxY2M4ZTkwOWYwNzU2ZGI3Ny4u
ZWZjZGUwYmEzNzA3Mzc2OTZlZWQ4MzE4NzAzMmMxOWE0MTFlYWQzNSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvdGV4bWFwL1RleHR1cmVNYXBwZXJHTC5jcHAK
KysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvdGV4bWFwL1RleHR1cmVNYXBw
ZXJHTC5jcHAKQEAgLTQxNSw2ICs0MTUsOCBAQCBzdGF0aWMgVHJhbnNmb3JtYXRpb25NYXRyaXgg
Y29sb3JTcGFjZU1hdHJpeEZvckZsYWdzKFRleHR1cmVNYXBwZXJHTDo6RmxhZ3MgZmxhZwogICAg
IFRyYW5zZm9ybWF0aW9uTWF0cml4IG1hdHJpeDsKICAgICBpZiAoZmxhZ3MgJiBUZXh0dXJlTWFw
cGVyR0w6OlNob3VsZENvbnZlcnRUZXh0dXJlQkdSQVRvUkdCQSkKICAgICAgICAgbWF0cml4LnNl
dE1hdHJpeCgwLjAsIDAuMCwgMS4wLCAwLjAsIDAuMCwgMS4wLCAwLjAsIDAuMCwgMS4wLCAwLjAs
IDAuMCwgMC4wLCAwLjAsIDAuMCwgMC4wLCAxLjApOworICAgIGVsc2UgaWYgKGZsYWdzICYgVGV4
dHVyZU1hcHBlckdMOjpTaG91bGRDb252ZXJ0VGV4dHVyZUFSR0JUb1JHQkEpCisgICAgICAgIG1h
dHJpeC5zZXRNYXRyaXgoMC4wLCAxLjAsIDAuMCwgMC4wLCAwLjAsIDAuMCwgMS4wLCAwLjAsIDAu
MCwgMC4wLCAwLjAsIDEuMCwgMS4wLCAwLjAsIDAuMCwgMC4wKTsKIAogICAgIHJldHVybiBtYXRy
aXg7CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy90ZXht
YXAvVGV4dHVyZU1hcHBlckdMLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy90
ZXhtYXAvVGV4dHVyZU1hcHBlckdMLmgKaW5kZXggZGExODRhM2ZjMmQ3YmUzOGU3ZWU4MmIwNjMz
NmFiNWVhZDZmMjFiNC4uODU3ZDg2NWIyYTNhYzJkNTE2ZWNjYjZkYTk4NjBhYmUzODY1YjdkMiAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvdGV4bWFwL1RleHR1
cmVNYXBwZXJHTC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3RleG1h
cC9UZXh0dXJlTWFwcGVyR0wuaApAQCAtNTEsNyArNTEsOCBAQCBwdWJsaWM6CiAgICAgICAgIFNo
b3VsZFJvdGF0ZVRleHR1cmU5MCA9IDB4MTAsCiAgICAgICAgIFNob3VsZFJvdGF0ZVRleHR1cmUx
ODAgPSAweDIwLAogICAgICAgICBTaG91bGRSb3RhdGVUZXh0dXJlMjcwID0gMHg0MCwKLSAgICAg
ICAgU2hvdWxkQ29udmVydFRleHR1cmVCR1JBVG9SR0JBID0gMHg4MAorICAgICAgICBTaG91bGRD
b252ZXJ0VGV4dHVyZUJHUkFUb1JHQkEgPSAweDgwLAorICAgICAgICBTaG91bGRDb252ZXJ0VGV4
dHVyZUFSR0JUb1JHQkEgPSAweDEwMAogICAgIH07CiAKICAgICB0eXBlZGVmIGludCBGbGFnczsK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>312287</attachid>
            <date>2017-06-08 01:48:25 -0700</date>
            <delta_ts>2017-06-08 01:49:12 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-173050-20170608104824.patch</filename>
            <type>text/plain</type>
            <size>11881</size>
            <attacher name="Miguel Gomez">magomez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjE3OTI2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZjZiNjhjMzhhMTIwMzNj
N2UwMmM0N2Q0NzljZmE0NDU5ZDg4YzM1Yy4uYmU4OTYzYTk3ODM5ZjQ5MTY0NGM3NDA5NzY0MmVi
ZjdkODQzYTFiOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM4IEBACisyMDE3LTA2LTA4ICBNaWd1
ZWwgR29tZXogIDxtYWdvbWV6QGlnYWxpYS5jb20+CisKKyAgICAgICAgW0dUS11bV1BFXVtHU1RS
RUFNRVJfR0xdIENoYW5nZSB0aGUgY29sb3JzcGFjZSB1c2VkIGJ5IHRoZSB2aWRlbyBmcmFtZXMg
cHJvdmlkZWQgYnkgR1N0cmVhbWVyCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD0xNzMwNTAKKworICAgICAgICBSZXZpZXdlZCBieSDFvWFuIERvYmVyxaFl
ay4KKworICAgICAgICBXZSBhcmUgY3VycmVudGx5IHJlcXVlc3RpbmcgUkdCQSBhcyB0aGUgY29s
b3IgZm9ybWF0IG9mIHRoZSB2aWRlbyBmcmFtZXMgdG8gZ3N0cmVhbWVyLiBUaGlzIGlzIGEgcHJv
YmxlbQorICAgICAgICBiZWNhdXNlIHdoZW4gdGhvc2UgZnJhbWVzIGFyZSByZW5kZXJlZCB3aXRo
IHRoZSBDUFUsIHRoZSBSIGFuZCBCIGNvbXBvbmVudHMgYXJlIHN3YXBwZWQgYXMgY2Fpcm8gZXhw
ZWN0cworICAgICAgICBBUkdCIGFuZCBHU3RyZWFtZXIgZGVsaXZlcnMgQUJHUi4KKworICAgICAg
ICBJbiBvcmRlciB0byBmaXggdGhpcyB3aXRob3V0IHBlcmZvcm1pbmcgY29sb3IgY29udmVyc2lv
bnMgb24gdGhlIENQVSwgd2hhdCB3ZSBkbyBpcyBjaGFuZ2UgdGhlIGZvcm1hdAorICAgICAgICB1
c2VkIGJ5IEdTdHJlYW1lciBmb3IgdGhlIHZpZGVvIGZyYW1lcy4gV2UgZG8gdGhhdCB0YWtpbmcg
aW50byBhY2NvdW50IHRoZSBlbmRpYW5uZXNzIHVzZWQuIFNvIHdpdGgKKyAgICAgICAgbGl0dGxl
IGVuZGlhbiB3ZSB3aWxsIHVzZSBCR1J4IG9yIEJHUkEgYW5kIHdpdGggYmlnIGVuZGlhbiB4UkdC
IG9yIEFSR0IuIFRoYW5rcyB0byB0aGlzLCB3aGVuIGRvd25sb2FkaW5nCisgICAgICAgIHRoZSBm
cmFtZXMgdG8gdGhlIENQVSB0aGV5IHdpbGwgYXV0b21hdGljYWxseSBiZSB0dXJuZWQgaW50byB0
aGUgQVJHQiBleHBlY3RlZCBieSBjYWlyby4gQWxzbywgd2hlbgorICAgICAgICByZW5kZXJpbmcg
dGhlIGZyYW1lcyB1c2luZyBPcGVuR0wsIHdlIGluZGljYXRlIHRoYXQgdGhlIGNvbG9yIHNwYWNl
IG5lZWRzIHRvIGJlIGNvbnZlcnRlZCB0byB0aGUgUkdCQQorICAgICAgICBleHBlY3RlZCBieSB0
aGUgZGVzdGluYXRpb24gdGV4dHVyZSAoYnV0IHRoaXMgY29sb3IgY29udmVyc2lvbiBpcyBwZXJm
b3JtZWQgYnkgdGhlIEdQVSBzbyB0aGVyZSdzIG5vCisgICAgICAgIHBlbmFsdHkpLgorCisgICAg
ICAgIENvdmVyZWQgYnkgZXhpc3RlbnQgdGVzdHMuCisKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFw
aGljcy9nc3RyZWFtZXIvTWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyQmFzZS5jcHA6CisgICAg
ICAgIChXZWJDb3JlOjpHc3RWaWRlb0ZyYW1lSG9sZGVyOjpHc3RWaWRlb0ZyYW1lSG9sZGVyKToK
KyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lckJhc2U6OmNvcHlW
aWRlb1RleHR1cmVUb1BsYXRmb3JtVGV4dHVyZSk6CisgICAgICAgIChXZWJDb3JlOjpNZWRpYVBs
YXllclByaXZhdGVHU3RyZWFtZXJCYXNlOjpuYXRpdmVJbWFnZUZvckN1cnJlbnRUaW1lKToKKyAg
ICAgICAgKFdlYkNvcmU6Ok1lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lckJhc2U6OmNyZWF0ZVZp
ZGVvU2lua0dMKToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9nc3RyZWFtZXIvVmlkZW9U
ZXh0dXJlQ29waWVyR1N0cmVhbWVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlZpZGVvVGV4dHVy
ZUNvcGllckdTdHJlYW1lcjo6VmlkZW9UZXh0dXJlQ29waWVyR1N0cmVhbWVyKToKKyAgICAgICAg
KFdlYkNvcmU6OlZpZGVvVGV4dHVyZUNvcGllckdTdHJlYW1lcjo6dXBkYXRlQ29sb3JDb252ZXJz
aW9uTWF0cml4KToKKyAgICAgICAgKFdlYkNvcmU6OlZpZGVvVGV4dHVyZUNvcGllckdTdHJlYW1l
cjo6Y29weVZpZGVvVGV4dHVyZVRvUGxhdGZvcm1UZXh0dXJlKToKKyAgICAgICAgKiBwbGF0Zm9y
bS9ncmFwaGljcy9nc3RyZWFtZXIvVmlkZW9UZXh0dXJlQ29waWVyR1N0cmVhbWVyLmg6CisgICAg
ICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvdGV4bWFwL1RleHR1cmVNYXBwZXJHTC5jcHA6CisgICAg
ICAgIChXZWJDb3JlOjpjb2xvclNwYWNlTWF0cml4Rm9yRmxhZ3MpOgorICAgICAgICAqIHBsYXRm
b3JtL2dyYXBoaWNzL3RleG1hcC9UZXh0dXJlTWFwcGVyR0wuaDoKKwogMjAxNy0wNi0wNyAgUnlv
c3VrZSBOaXdhICA8cm5pd2FAd2Via2l0Lm9yZz4KIAogICAgICAgICBJc0luU2hhZG93VHJlZUZs
YWcgZG9lcyBub3QgZ2V0IHVwZGF0ZWQgZm9yIGEgbm9uLWNvbnRhaW5lciBub2RlCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9nc3RyZWFtZXIvTWVkaWFQbGF5
ZXJQcml2YXRlR1N0cmVhbWVyQmFzZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy9nc3RyZWFtZXIvTWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyQmFzZS5jcHAKaW5kZXgg
ZDU2MTUyYTkzMDVmYTExNmFlNTc3Mjk0YWY5YzFjMmE0MmIxYjNlNy4uMWE0OWE5OTFhYzcyNjM4
NDk5Y2M4YTNjOGIyZmYxYzAxZTFmNTYzNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3MvZ3N0cmVhbWVyL01lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lckJhc2Uu
Y3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dzdHJlYW1lci9NZWRp
YVBsYXllclByaXZhdGVHU3RyZWFtZXJCYXNlLmNwcApAQCAtNDcsNiArNDcsMTYgQEAKICNpbmNs
dWRlIDxnc3QvdmlkZW8vZ3N0dmlkZW9tZXRhLmg+CiAKICNpZiBVU0UoR1NUUkVBTUVSX0dMKQor
I2lmIEdfQllURV9PUkRFUiA9PSBHX0xJVFRMRV9FTkRJQU4KKyNkZWZpbmUgR1NUX0dMX0NBUFNf
Rk9STUFUICJ7IEJHUngsIEJHUkEgfSIKKyNkZWZpbmUgVEVYVFVSRV9NQVBQRVJfQ09MT1JfQ09O
VkVSVF9GTEFHIFRleHR1cmVNYXBwZXJHTDo6U2hvdWxkQ29udmVydFRleHR1cmVCR1JBVG9SR0JB
CisjZGVmaW5lIFRFWFRVUkVfQ09QSUVSX0NPTE9SX0NPTlZFUlRfRkxBRyBWaWRlb1RleHR1cmVD
b3BpZXJHU3RyZWFtZXI6OkNvbG9yQ29udmVyc2lvbjo6Q29udmVydEJHUkFUb1JHQkEKKyNlbHNl
CisjZGVmaW5lIEdTVF9HTF9DQVBTX0ZPUk1BVCAieyB4UkdCLCBBUkdCIH0iCisjZGVmaW5lIFRF
WFRVUkVfTUFQUEVSX0NPTE9SX0NPTlZFUlRfRkxBRyBUZXh0dXJlTWFwcGVyR0w6OlNob3VsZENv
bnZlcnRUZXh0dXJlQVJHQlRvUkdCQQorI2RlZmluZSBURVhUVVJFX0NPUElFUl9DT0xPUl9DT05W
RVJUX0ZMQUcgVmlkZW9UZXh0dXJlQ29waWVyR1N0cmVhbWVyOjpDb2xvckNvbnZlcnNpb246OkNv
bnZlcnRBUkdCVG9SR0JBCisjZW5kaWYKKwogI2luY2x1ZGUgPGdzdC9hcHAvZ3N0YXBwc2luay5o
PgogI2RlZmluZSBHU1RfVVNFX1VOU1RBQkxFX0FQSQogI2luY2x1ZGUgPGdzdC9nbC9nbC5oPgpA
QCAtMTgzLDcgKzE5Myw3IEBAIHB1YmxpYzoKICAgICAgICAgICAgIHJldHVybjsKIAogICAgICAg
ICBtX3NpemUgPSBJbnRTaXplKEdTVF9WSURFT19JTkZPX1dJRFRIKCZ2aWRlb0luZm8pLCBHU1Rf
VklERU9fSU5GT19IRUlHSFQoJnZpZGVvSW5mbykpOwotICAgICAgICBtX2ZsYWdzID0gZmxhZ3Mg
fCAoR1NUX1ZJREVPX0lORk9fSEFTX0FMUEhBKCZ2aWRlb0luZm8pID8gVGV4dHVyZU1hcHBlckdM
OjpTaG91bGRCbGVuZCA6IDApOworICAgICAgICBtX2ZsYWdzID0gZmxhZ3MgfCAoR1NUX1ZJREVP
X0lORk9fSEFTX0FMUEhBKCZ2aWRlb0luZm8pID8gVGV4dHVyZU1hcHBlckdMOjpTaG91bGRCbGVu
ZCA6IDApIHwgVEVYVFVSRV9NQVBQRVJfQ09MT1JfQ09OVkVSVF9GTEFHOwogCiAgICAgICAgIEdz
dEJ1ZmZlciogYnVmZmVyID0gZ3N0X3NhbXBsZV9nZXRfYnVmZmVyKHNhbXBsZSk7CiAgICAgICAg
IGlmIChVTkxJS0VMWSghZ3N0X3ZpZGVvX2ZyYW1lX21hcCgmbV92aWRlb0ZyYW1lLCAmdmlkZW9J
bmZvLCBidWZmZXIsIHN0YXRpY19jYXN0PEdzdE1hcEZsYWdzPihHU1RfTUFQX1JFQUQgfCBHU1Rf
TUFQX0dMKSkpKQpAQCAtODcyLDcgKzg4Miw3IEBAIGJvb2wgTWVkaWFQbGF5ZXJQcml2YXRlR1N0
cmVhbWVyQmFzZTo6Y29weVZpZGVvVGV4dHVyZVRvUGxhdGZvcm1UZXh0dXJlKEdyYXBoaWNzCiAg
ICAgdW5zaWduZWQgdGV4dHVyZUlEID0gKnJlaW50ZXJwcmV0X2Nhc3Q8dW5zaWduZWQqPih2aWRl
b0ZyYW1lLmRhdGFbMF0pOwogCiAgICAgaWYgKCFtX3ZpZGVvVGV4dHVyZUNvcGllcikKLSAgICAg
ICAgbV92aWRlb1RleHR1cmVDb3BpZXIgPSBzdGQ6Om1ha2VfdW5pcXVlPFZpZGVvVGV4dHVyZUNv
cGllckdTdHJlYW1lcj4oKTsKKyAgICAgICAgbV92aWRlb1RleHR1cmVDb3BpZXIgPSBzdGQ6Om1h
a2VfdW5pcXVlPFZpZGVvVGV4dHVyZUNvcGllckdTdHJlYW1lcj4oVEVYVFVSRV9DT1BJRVJfQ09M
T1JfQ09OVkVSVF9GTEFHKTsKIAogICAgIGJvb2wgY29waWVkID0gbV92aWRlb1RleHR1cmVDb3Bp
ZXItPmNvcHlWaWRlb1RleHR1cmVUb1BsYXRmb3JtVGV4dHVyZSh0ZXh0dXJlSUQsIHNpemUsIG91
dHB1dFRleHR1cmUsIG91dHB1dFRhcmdldCwgbGV2ZWwsIGludGVybmFsRm9ybWF0LCBmb3JtYXQs
IHR5cGUsIGZsaXBZLCBtX3ZpZGVvU291cmNlT3JpZW50YXRpb24pOwogCkBAIC05MDYsNyArOTE2
LDcgQEAgTmF0aXZlSW1hZ2VQdHIgTWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyQmFzZTo6bmF0
aXZlSW1hZ2VGb3JDdXJyZW50VGltZSgpCiAgICAgY29udGV4dC0+bWFrZUNvbnRleHRDdXJyZW50
KCk7CiAKICAgICBpZiAoIW1fdmlkZW9UZXh0dXJlQ29waWVyKQotICAgICAgICBtX3ZpZGVvVGV4
dHVyZUNvcGllciA9IHN0ZDo6bWFrZV91bmlxdWU8VmlkZW9UZXh0dXJlQ29waWVyR1N0cmVhbWVy
PigpOworICAgICAgICBtX3ZpZGVvVGV4dHVyZUNvcGllciA9IHN0ZDo6bWFrZV91bmlxdWU8Vmlk
ZW9UZXh0dXJlQ29waWVyR1N0cmVhbWVyPihURVhUVVJFX0NPUElFUl9DT0xPUl9DT05WRVJUX0ZM
QUcpOwogCiAgICAgdW5zaWduZWQgdGV4dHVyZUlEID0gKnJlaW50ZXJwcmV0X2Nhc3Q8dW5zaWdu
ZWQqPih2aWRlb0ZyYW1lLmRhdGFbMF0pOwogICAgIGJvb2wgY29waWVkID0gbV92aWRlb1RleHR1
cmVDb3BpZXItPmNvcHlWaWRlb1RleHR1cmVUb1BsYXRmb3JtVGV4dHVyZSh0ZXh0dXJlSUQsIHNp
emUsIDAsIEdyYXBoaWNzQ29udGV4dDNEOjpURVhUVVJFXzJELCAwLCBHcmFwaGljc0NvbnRleHQz
RDo6UkdCQSwgR3JhcGhpY3NDb250ZXh0M0Q6OlJHQkEsIEdyYXBoaWNzQ29udGV4dDNEOjpVTlNJ
R05FRF9CWVRFLCBmYWxzZSwgbV92aWRlb1NvdXJjZU9yaWVudGF0aW9uKTsKQEAgLTk5OSw3ICsx
MDA5LDcgQEAgR3N0RWxlbWVudCogTWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyQmFzZTo6Y3Jl
YXRlVmlkZW9TaW5rR0woKQogCiAgICAgZ3N0X2Jpbl9hZGRfbWFueShHU1RfQklOKHZpZGVvU2lu
ayksIHVwbG9hZCwgY29sb3Jjb252ZXJ0LCBhcHBzaW5rLCBudWxscHRyKTsKIAotICAgIEdSZWZQ
dHI8R3N0Q2Fwcz4gY2FwcyA9IGFkb3B0R1JlZihnc3RfY2Fwc19mcm9tX3N0cmluZygidmlkZW8v
eC1yYXcoIiBHU1RfQ0FQU19GRUFUVVJFX01FTU9SWV9HTF9NRU1PUlkgIiksIGZvcm1hdCA9IChz
dHJpbmcpIHsgUkdCQSB9IikpOworICAgIEdSZWZQdHI8R3N0Q2Fwcz4gY2FwcyA9IGFkb3B0R1Jl
Zihnc3RfY2Fwc19mcm9tX3N0cmluZygidmlkZW8veC1yYXcoIiBHU1RfQ0FQU19GRUFUVVJFX01F
TU9SWV9HTF9NRU1PUlkgIiksIGZvcm1hdCA9IChzdHJpbmcpICIgR1NUX0dMX0NBUFNfRk9STUFU
KSk7CiAKICAgICByZXN1bHQgJj0gZ3N0X2VsZW1lbnRfbGlua19wYWRzKHVwbG9hZCwgInNyYyIs
IGNvbG9yY29udmVydCwgInNpbmsiKTsKICAgICByZXN1bHQgJj0gZ3N0X2VsZW1lbnRfbGlua19w
YWRzX2ZpbHRlcmVkKGNvbG9yY29udmVydCwgInNyYyIsIGFwcHNpbmssICJzaW5rIiwgY2Fwcy5n
ZXQoKSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9nc3Ry
ZWFtZXIvVmlkZW9UZXh0dXJlQ29waWVyR1N0cmVhbWVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL2dzdHJlYW1lci9WaWRlb1RleHR1cmVDb3BpZXJHU3RyZWFtZXIuY3Bw
CmluZGV4IDYxNmQ0MzcxODQzMDRjNGUwYzU1OTUwZjRmMDIzY2U1ZDMwYzUxZjUuLmI4NWM1ODQ5
NGM1NmM1MDdiZTc2NWY0ZTNiZjQ3N2Y4ZWQyZTA5MzUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dzdHJlYW1lci9WaWRlb1RleHR1cmVDb3BpZXJHU3RyZWFt
ZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dzdHJlYW1lci9W
aWRlb1RleHR1cmVDb3BpZXJHU3RyZWFtZXIuY3BwCkBAIC0yOSw3ICsyOSw3IEBACiAKIG5hbWVz
cGFjZSBXZWJDb3JlIHsKIAotVmlkZW9UZXh0dXJlQ29waWVyR1N0cmVhbWVyOjpWaWRlb1RleHR1
cmVDb3BpZXJHU3RyZWFtZXIoKQorVmlkZW9UZXh0dXJlQ29waWVyR1N0cmVhbWVyOjpWaWRlb1Rl
eHR1cmVDb3BpZXJHU3RyZWFtZXIoQ29sb3JDb252ZXJzaW9uIGNvbG9yQ29udmVyc2lvbikKIHsK
ICAgICBHTENvbnRleHQqIHByZXZpb3VzQ29udGV4dCA9IEdMQ29udGV4dDo6Y3VycmVudCgpOwog
ICAgIEFTU0VSVChwcmV2aW91c0NvbnRleHQpOwpAQCAtNDgsNiArNDgsNyBAQCBWaWRlb1RleHR1
cmVDb3BpZXJHU3RyZWFtZXI6OlZpZGVvVGV4dHVyZUNvcGllckdTdHJlYW1lcigpCiAgICAgbV9j
b250ZXh0M0QtPmJpbmRCdWZmZXIoR3JhcGhpY3NDb250ZXh0M0Q6OkFSUkFZX0JVRkZFUiwgbV92
Ym8pOwogICAgIG1fY29udGV4dDNELT5idWZmZXJEYXRhKEdyYXBoaWNzQ29udGV4dDNEOjpBUlJB
WV9CVUZGRVIsIHNpemVvZihHQzNEZmxvYXQpICogOCwgdmVydGljZXMsIEdyYXBoaWNzQ29udGV4
dDNEOjpTVEFUSUNfRFJBVyk7CiAKKyAgICB1cGRhdGVDb2xvckNvbnZlcnNpb25NYXRyaXgoY29s
b3JDb252ZXJzaW9uKTsKICAgICB1cGRhdGVUZXh0dXJlU3BhY2VNYXRyaXgoKTsKIAogICAgIHBy
ZXZpb3VzQ29udGV4dC0+bWFrZUNvbnRleHRDdXJyZW50KCk7CkBAIC02OCw2ICs2OSwyMCBAQCBW
aWRlb1RleHR1cmVDb3BpZXJHU3RyZWFtZXI6On5WaWRlb1RleHR1cmVDb3BpZXJHU3RyZWFtZXIo
KQogICAgIHByZXZpb3VzQ29udGV4dC0+bWFrZUNvbnRleHRDdXJyZW50KCk7CiB9CiAKK3ZvaWQg
VmlkZW9UZXh0dXJlQ29waWVyR1N0cmVhbWVyOjp1cGRhdGVDb2xvckNvbnZlcnNpb25NYXRyaXgo
Q29sb3JDb252ZXJzaW9uIGNvbG9yQ29udmVyc2lvbikKK3sKKyAgICBzd2l0Y2ggKGNvbG9yQ29u
dmVyc2lvbikgeworICAgIGNhc2UgQ29sb3JDb252ZXJzaW9uOjpDb252ZXJ0QkdSQVRvUkdCQToK
KyAgICAgICAgbV9jb2xvckNvbnZlcnNpb25NYXRyaXguc2V0TWF0cml4KDAuMCwgMC4wLCAxLjAs
IDAuMCwgMC4wLCAxLjAsIDAuMCwgMC4wLCAxLjAsIDAuMCwgMC4wLCAwLjAsIDAuMCwgMC4wLCAw
LjAsIDEuMCk7CisgICAgICAgIGJyZWFrOworICAgIGNhc2UgQ29sb3JDb252ZXJzaW9uOjpDb252
ZXJ0QVJHQlRvUkdCQToKKyAgICAgICAgbV9jb2xvckNvbnZlcnNpb25NYXRyaXguc2V0TWF0cml4
KDAuMCwgMS4wLCAwLjAsIDAuMCwgMC4wLCAwLjAsIDEuMCwgMC4wLCAwLjAsIDAuMCwgMC4wLCAx
LjAsIDEuMCwgMC4wLCAwLjAsIDAuMCk7CisgICAgICAgIGJyZWFrOworICAgIGRlZmF1bHQ6Cisg
ICAgICAgIFJFTEVBU0VfQVNTRVJUX05PVF9SRUFDSEVEKCk7CisgICAgfQorfQorCiB2b2lkIFZp
ZGVvVGV4dHVyZUNvcGllckdTdHJlYW1lcjo6dXBkYXRlVGV4dHVyZVNwYWNlTWF0cml4KCkKIHsK
ICAgICBtX3RleHR1cmVTcGFjZU1hdHJpeC5tYWtlSWRlbnRpdHkoKTsKQEAgLTE3MCw3ICsxODUs
NyBAQCBib29sIFZpZGVvVGV4dHVyZUNvcGllckdTdHJlYW1lcjo6Y29weVZpZGVvVGV4dHVyZVRv
UGxhdGZvcm1UZXh0dXJlKFBsYXRmb3JtM0RPYgogICAgIG1fc2hhZGVyUHJvZ3JhbS0+c2V0TWF0
cml4KG1fc2hhZGVyUHJvZ3JhbS0+bW9kZWxWaWV3TWF0cml4TG9jYXRpb24oKSwgbV9tb2RlbFZp
ZXdNYXRyaXgpOwogICAgIG1fc2hhZGVyUHJvZ3JhbS0+c2V0TWF0cml4KG1fc2hhZGVyUHJvZ3Jh
bS0+cHJvamVjdGlvbk1hdHJpeExvY2F0aW9uKCksIG1fcHJvamVjdGlvbk1hdHJpeCk7CiAgICAg
bV9zaGFkZXJQcm9ncmFtLT5zZXRNYXRyaXgobV9zaGFkZXJQcm9ncmFtLT50ZXh0dXJlU3BhY2VN
YXRyaXhMb2NhdGlvbigpLCBtX3RleHR1cmVTcGFjZU1hdHJpeCk7Ci0gICAgbV9zaGFkZXJQcm9n
cmFtLT5zZXRNYXRyaXgobV9zaGFkZXJQcm9ncmFtLT50ZXh0dXJlQ29sb3JTcGFjZU1hdHJpeExv
Y2F0aW9uKCksIFRyYW5zZm9ybWF0aW9uTWF0cml4KCkpOworICAgIG1fc2hhZGVyUHJvZ3JhbS0+
c2V0TWF0cml4KG1fc2hhZGVyUHJvZ3JhbS0+dGV4dHVyZUNvbG9yU3BhY2VNYXRyaXhMb2NhdGlv
bigpLCBtX2NvbG9yQ29udmVyc2lvbk1hdHJpeCk7CiAKICAgICAvLyBQZXJmb3JtIHRoZSBjb3B5
LgogICAgIG1fY29udGV4dDNELT5lbmFibGVWZXJ0ZXhBdHRyaWJBcnJheShtX3NoYWRlclByb2dy
YW0tPnZlcnRleExvY2F0aW9uKCkpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3MvZ3N0cmVhbWVyL1ZpZGVvVGV4dHVyZUNvcGllckdTdHJlYW1lci5oIGIvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVhbWVyL1ZpZGVvVGV4dHVyZUNvcGll
ckdTdHJlYW1lci5oCmluZGV4IDdjOWQyMzczNjM1NzcyNTQ4ODVkYTRlMmZmOGRiNjE1MDdmZjdj
MDUuLjc1ODUwZmQxYjA0OTBmOTAwODA0OWUyNWE2M2Y3ZThmOGQ3NDI5ZGQgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dzdHJlYW1lci9WaWRlb1RleHR1cmVD
b3BpZXJHU3RyZWFtZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9n
c3RyZWFtZXIvVmlkZW9UZXh0dXJlQ29waWVyR1N0cmVhbWVyLmgKQEAgLTMyLDEwICszMiwxNiBA
QCBjbGFzcyBJbWFnZU9yaWVudGF0aW9uOwogCiBjbGFzcyBWaWRlb1RleHR1cmVDb3BpZXJHU3Ry
ZWFtZXIgewogcHVibGljOgotICAgIFZpZGVvVGV4dHVyZUNvcGllckdTdHJlYW1lcigpOworICAg
IGVudW0gY2xhc3MgQ29sb3JDb252ZXJzaW9uIHsKKyAgICAgICAgQ29udmVydEJHUkFUb1JHQkEs
CisgICAgICAgIENvbnZlcnRBUkdCVG9SR0JBCisgICAgfTsKKworICAgIFZpZGVvVGV4dHVyZUNv
cGllckdTdHJlYW1lcihDb2xvckNvbnZlcnNpb24pOwogICAgIH5WaWRlb1RleHR1cmVDb3BpZXJH
U3RyZWFtZXIoKTsKIAogICAgIGJvb2wgY29weVZpZGVvVGV4dHVyZVRvUGxhdGZvcm1UZXh0dXJl
KFBsYXRmb3JtM0RPYmplY3QgaW5wdXRUZXh0dXJlLCBJbnRTaXplJiBmcmFtZVNpemUsIFBsYXRm
b3JtM0RPYmplY3Qgb3V0cHV0VGV4dHVyZSwgR0MzRGVudW0gb3V0cHV0VGFyZ2V0LCBHQzNEaW50
IGxldmVsLCBHQzNEZW51bSBpbnRlcm5hbEZvcm1hdCwgR0MzRGVudW0gZm9ybWF0LCBHQzNEZW51
bSB0eXBlLCBib29sIGZsaXBZLCBJbWFnZU9yaWVudGF0aW9uJiBzb3VyY2VPcmllbnRhdGlvbik7
CisgICAgdm9pZCB1cGRhdGVDb2xvckNvbnZlcnNpb25NYXRyaXgoQ29sb3JDb252ZXJzaW9uKTsK
ICAgICB2b2lkIHVwZGF0ZVRleHR1cmVTcGFjZU1hdHJpeCgpOwogICAgIHZvaWQgdXBkYXRlVHJh
bnNmb3JtYXRpb25NYXRyaXgoKTsKICAgICBQbGF0Zm9ybTNET2JqZWN0IHJlc3VsdFRleHR1cmUo
KSB7IHJldHVybiBtX3Jlc3VsdFRleHR1cmU7IH0KQEAgLTUxLDYgKzU3LDcgQEAgcHJpdmF0ZToK
ICAgICBUcmFuc2Zvcm1hdGlvbk1hdHJpeCBtX21vZGVsVmlld01hdHJpeDsKICAgICBUcmFuc2Zv
cm1hdGlvbk1hdHJpeCBtX3Byb2plY3Rpb25NYXRyaXg7CiAgICAgVHJhbnNmb3JtYXRpb25NYXRy
aXggbV90ZXh0dXJlU3BhY2VNYXRyaXg7CisgICAgVHJhbnNmb3JtYXRpb25NYXRyaXggbV9jb2xv
ckNvbnZlcnNpb25NYXRyaXg7CiAgICAgUGxhdGZvcm0zRE9iamVjdCBtX3Jlc3VsdFRleHR1cmUg
eyAwIH07CiB9OwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy90ZXhtYXAvVGV4dHVyZU1hcHBlckdMLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL3RleG1hcC9UZXh0dXJlTWFwcGVyR0wuY3BwCmluZGV4IGNmNzk4ZjRhYWFhMDQzN2Vl
NzdlMWQ4MWNjOGU5MDlmMDc1NmRiNzcuLmVmY2RlMGJhMzcwNzM3Njk2ZWVkODMxODcwMzJjMTlh
NDExZWFkMzUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3Rl
eG1hcC9UZXh0dXJlTWFwcGVyR0wuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL3RleG1hcC9UZXh0dXJlTWFwcGVyR0wuY3BwCkBAIC00MTUsNiArNDE1LDggQEAgc3Rh
dGljIFRyYW5zZm9ybWF0aW9uTWF0cml4IGNvbG9yU3BhY2VNYXRyaXhGb3JGbGFncyhUZXh0dXJl
TWFwcGVyR0w6OkZsYWdzIGZsYWcKICAgICBUcmFuc2Zvcm1hdGlvbk1hdHJpeCBtYXRyaXg7CiAg
ICAgaWYgKGZsYWdzICYgVGV4dHVyZU1hcHBlckdMOjpTaG91bGRDb252ZXJ0VGV4dHVyZUJHUkFU
b1JHQkEpCiAgICAgICAgIG1hdHJpeC5zZXRNYXRyaXgoMC4wLCAwLjAsIDEuMCwgMC4wLCAwLjAs
IDEuMCwgMC4wLCAwLjAsIDEuMCwgMC4wLCAwLjAsIDAuMCwgMC4wLCAwLjAsIDAuMCwgMS4wKTsK
KyAgICBlbHNlIGlmIChmbGFncyAmIFRleHR1cmVNYXBwZXJHTDo6U2hvdWxkQ29udmVydFRleHR1
cmVBUkdCVG9SR0JBKQorICAgICAgICBtYXRyaXguc2V0TWF0cml4KDAuMCwgMS4wLCAwLjAsIDAu
MCwgMC4wLCAwLjAsIDEuMCwgMC4wLCAwLjAsIDAuMCwgMC4wLCAxLjAsIDEuMCwgMC4wLCAwLjAs
IDAuMCk7CiAKICAgICByZXR1cm4gbWF0cml4OwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvdGV4bWFwL1RleHR1cmVNYXBwZXJHTC5oIGIvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvdGV4bWFwL1RleHR1cmVNYXBwZXJHTC5oCmluZGV4IGRh
MTg0YTNmYzJkN2JlMzhlN2VlODJiMDYzMzZhYjVlYWQ2ZjIxYjQuLjg1N2Q4NjViMmEzYWMyZDUx
NmVjY2I2ZGE5ODYwYWJlMzg2NWI3ZDIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL3RleG1hcC9UZXh0dXJlTWFwcGVyR0wuaAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy90ZXhtYXAvVGV4dHVyZU1hcHBlckdMLmgKQEAgLTUxLDcgKzUx
LDggQEAgcHVibGljOgogICAgICAgICBTaG91bGRSb3RhdGVUZXh0dXJlOTAgPSAweDEwLAogICAg
ICAgICBTaG91bGRSb3RhdGVUZXh0dXJlMTgwID0gMHgyMCwKICAgICAgICAgU2hvdWxkUm90YXRl
VGV4dHVyZTI3MCA9IDB4NDAsCi0gICAgICAgIFNob3VsZENvbnZlcnRUZXh0dXJlQkdSQVRvUkdC
QSA9IDB4ODAKKyAgICAgICAgU2hvdWxkQ29udmVydFRleHR1cmVCR1JBVG9SR0JBID0gMHg4MCwK
KyAgICAgICAgU2hvdWxkQ29udmVydFRleHR1cmVBUkdCVG9SR0JBID0gMHgxMDAKICAgICB9Owog
CiAgICAgdHlwZWRlZiBpbnQgRmxhZ3M7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>312288</attachid>
            <date>2017-06-08 01:49:17 -0700</date>
            <delta_ts>2017-06-08 03:16:43 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-173050-20170608104915.patch</filename>
            <type>text/plain</type>
            <size>11881</size>
            <attacher name="Miguel Gomez">magomez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjE3OTI2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZjZiNjhjMzhhMTIwMzNj
N2UwMmM0N2Q0NzljZmE0NDU5ZDg4YzM1Yy4uYmU4OTYzYTk3ODM5ZjQ5MTY0NGM3NDA5NzY0MmVi
ZjdkODQzYTFiOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM4IEBACisyMDE3LTA2LTA4ICBNaWd1
ZWwgR29tZXogIDxtYWdvbWV6QGlnYWxpYS5jb20+CisKKyAgICAgICAgW0dUS11bV1BFXVtHU1RS
RUFNRVJfR0xdIENoYW5nZSB0aGUgY29sb3JzcGFjZSB1c2VkIGJ5IHRoZSB2aWRlbyBmcmFtZXMg
cHJvdmlkZWQgYnkgR1N0cmVhbWVyCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD0xNzMwNTAKKworICAgICAgICBSZXZpZXdlZCBieSDFvWFuIERvYmVyxaFl
ay4KKworICAgICAgICBXZSBhcmUgY3VycmVudGx5IHJlcXVlc3RpbmcgUkdCQSBhcyB0aGUgY29s
b3IgZm9ybWF0IG9mIHRoZSB2aWRlbyBmcmFtZXMgdG8gZ3N0cmVhbWVyLiBUaGlzIGlzIGEgcHJv
YmxlbQorICAgICAgICBiZWNhdXNlIHdoZW4gdGhvc2UgZnJhbWVzIGFyZSByZW5kZXJlZCB3aXRo
IHRoZSBDUFUsIHRoZSBSIGFuZCBCIGNvbXBvbmVudHMgYXJlIHN3YXBwZWQgYXMgY2Fpcm8gZXhw
ZWN0cworICAgICAgICBBUkdCIGFuZCBHU3RyZWFtZXIgZGVsaXZlcnMgQUJHUi4KKworICAgICAg
ICBJbiBvcmRlciB0byBmaXggdGhpcyB3aXRob3V0IHBlcmZvcm1pbmcgY29sb3IgY29udmVyc2lv
bnMgb24gdGhlIENQVSwgd2hhdCB3ZSBkbyBpcyBjaGFuZ2UgdGhlIGZvcm1hdAorICAgICAgICB1
c2VkIGJ5IEdTdHJlYW1lciBmb3IgdGhlIHZpZGVvIGZyYW1lcy4gV2UgZG8gdGhhdCB0YWtpbmcg
aW50byBhY2NvdW50IHRoZSBlbmRpYW5uZXNzIHVzZWQuIFNvIHdpdGgKKyAgICAgICAgbGl0dGxl
IGVuZGlhbiB3ZSB3aWxsIHVzZSBCR1J4IG9yIEJHUkEgYW5kIHdpdGggYmlnIGVuZGlhbiB4UkdC
IG9yIEFSR0IuIFRoYW5rcyB0byB0aGlzLCB3aGVuIGRvd25sb2FkaW5nCisgICAgICAgIHRoZSBm
cmFtZXMgdG8gdGhlIENQVSB0aGV5IHdpbGwgYXV0b21hdGljYWxseSBiZSB0dXJuZWQgaW50byB0
aGUgQVJHQiBleHBlY3RlZCBieSBjYWlyby4gQWxzbywgd2hlbgorICAgICAgICByZW5kZXJpbmcg
dGhlIGZyYW1lcyB1c2luZyBPcGVuR0wsIHdlIGluZGljYXRlIHRoYXQgdGhlIGNvbG9yIHNwYWNl
IG5lZWRzIHRvIGJlIGNvbnZlcnRlZCB0byB0aGUgUkdCQQorICAgICAgICBleHBlY3RlZCBieSB0
aGUgZGVzdGluYXRpb24gdGV4dHVyZSAoYnV0IHRoaXMgY29sb3IgY29udmVyc2lvbiBpcyBwZXJm
b3JtZWQgYnkgdGhlIEdQVSBzbyB0aGVyZSdzIG5vCisgICAgICAgIHBlbmFsdHkpLgorCisgICAg
ICAgIENvdmVyZWQgYnkgZXhpc3RlbnQgdGVzdHMuCisKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFw
aGljcy9nc3RyZWFtZXIvTWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyQmFzZS5jcHA6CisgICAg
ICAgIChXZWJDb3JlOjpHc3RWaWRlb0ZyYW1lSG9sZGVyOjpHc3RWaWRlb0ZyYW1lSG9sZGVyKToK
KyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lckJhc2U6OmNvcHlW
aWRlb1RleHR1cmVUb1BsYXRmb3JtVGV4dHVyZSk6CisgICAgICAgIChXZWJDb3JlOjpNZWRpYVBs
YXllclByaXZhdGVHU3RyZWFtZXJCYXNlOjpuYXRpdmVJbWFnZUZvckN1cnJlbnRUaW1lKToKKyAg
ICAgICAgKFdlYkNvcmU6Ok1lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lckJhc2U6OmNyZWF0ZVZp
ZGVvU2lua0dMKToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9nc3RyZWFtZXIvVmlkZW9U
ZXh0dXJlQ29waWVyR1N0cmVhbWVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlZpZGVvVGV4dHVy
ZUNvcGllckdTdHJlYW1lcjo6VmlkZW9UZXh0dXJlQ29waWVyR1N0cmVhbWVyKToKKyAgICAgICAg
KFdlYkNvcmU6OlZpZGVvVGV4dHVyZUNvcGllckdTdHJlYW1lcjo6dXBkYXRlQ29sb3JDb252ZXJz
aW9uTWF0cml4KToKKyAgICAgICAgKFdlYkNvcmU6OlZpZGVvVGV4dHVyZUNvcGllckdTdHJlYW1l
cjo6Y29weVZpZGVvVGV4dHVyZVRvUGxhdGZvcm1UZXh0dXJlKToKKyAgICAgICAgKiBwbGF0Zm9y
bS9ncmFwaGljcy9nc3RyZWFtZXIvVmlkZW9UZXh0dXJlQ29waWVyR1N0cmVhbWVyLmg6CisgICAg
ICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvdGV4bWFwL1RleHR1cmVNYXBwZXJHTC5jcHA6CisgICAg
ICAgIChXZWJDb3JlOjpjb2xvclNwYWNlTWF0cml4Rm9yRmxhZ3MpOgorICAgICAgICAqIHBsYXRm
b3JtL2dyYXBoaWNzL3RleG1hcC9UZXh0dXJlTWFwcGVyR0wuaDoKKwogMjAxNy0wNi0wNyAgUnlv
c3VrZSBOaXdhICA8cm5pd2FAd2Via2l0Lm9yZz4KIAogICAgICAgICBJc0luU2hhZG93VHJlZUZs
YWcgZG9lcyBub3QgZ2V0IHVwZGF0ZWQgZm9yIGEgbm9uLWNvbnRhaW5lciBub2RlCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9nc3RyZWFtZXIvTWVkaWFQbGF5
ZXJQcml2YXRlR1N0cmVhbWVyQmFzZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy9nc3RyZWFtZXIvTWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyQmFzZS5jcHAKaW5kZXgg
ZDU2MTUyYTkzMDVmYTExNmFlNTc3Mjk0YWY5YzFjMmE0MmIxYjNlNy4uMWE0OWE5OTFhYzcyNjM4
NDk5Y2M4YTNjOGIyZmYxYzAxZTFmNTYzNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3MvZ3N0cmVhbWVyL01lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lckJhc2Uu
Y3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dzdHJlYW1lci9NZWRp
YVBsYXllclByaXZhdGVHU3RyZWFtZXJCYXNlLmNwcApAQCAtNDcsNiArNDcsMTYgQEAKICNpbmNs
dWRlIDxnc3QvdmlkZW8vZ3N0dmlkZW9tZXRhLmg+CiAKICNpZiBVU0UoR1NUUkVBTUVSX0dMKQor
I2lmIEdfQllURV9PUkRFUiA9PSBHX0xJVFRMRV9FTkRJQU4KKyNkZWZpbmUgR1NUX0dMX0NBUFNf
Rk9STUFUICJ7IEJHUngsIEJHUkEgfSIKKyNkZWZpbmUgVEVYVFVSRV9NQVBQRVJfQ09MT1JfQ09O
VkVSVF9GTEFHIFRleHR1cmVNYXBwZXJHTDo6U2hvdWxkQ29udmVydFRleHR1cmVCR1JBVG9SR0JB
CisjZGVmaW5lIFRFWFRVUkVfQ09QSUVSX0NPTE9SX0NPTlZFUlRfRkxBRyBWaWRlb1RleHR1cmVD
b3BpZXJHU3RyZWFtZXI6OkNvbG9yQ29udmVyc2lvbjo6Q29udmVydEJHUkFUb1JHQkEKKyNlbHNl
CisjZGVmaW5lIEdTVF9HTF9DQVBTX0ZPUk1BVCAieyB4UkdCLCBBUkdCIH0iCisjZGVmaW5lIFRF
WFRVUkVfTUFQUEVSX0NPTE9SX0NPTlZFUlRfRkxBRyBUZXh0dXJlTWFwcGVyR0w6OlNob3VsZENv
bnZlcnRUZXh0dXJlQVJHQlRvUkdCQQorI2RlZmluZSBURVhUVVJFX0NPUElFUl9DT0xPUl9DT05W
RVJUX0ZMQUcgVmlkZW9UZXh0dXJlQ29waWVyR1N0cmVhbWVyOjpDb2xvckNvbnZlcnNpb246OkNv
bnZlcnRBUkdCVG9SR0JBCisjZW5kaWYKKwogI2luY2x1ZGUgPGdzdC9hcHAvZ3N0YXBwc2luay5o
PgogI2RlZmluZSBHU1RfVVNFX1VOU1RBQkxFX0FQSQogI2luY2x1ZGUgPGdzdC9nbC9nbC5oPgpA
QCAtMTgzLDcgKzE5Myw3IEBAIHB1YmxpYzoKICAgICAgICAgICAgIHJldHVybjsKIAogICAgICAg
ICBtX3NpemUgPSBJbnRTaXplKEdTVF9WSURFT19JTkZPX1dJRFRIKCZ2aWRlb0luZm8pLCBHU1Rf
VklERU9fSU5GT19IRUlHSFQoJnZpZGVvSW5mbykpOwotICAgICAgICBtX2ZsYWdzID0gZmxhZ3Mg
fCAoR1NUX1ZJREVPX0lORk9fSEFTX0FMUEhBKCZ2aWRlb0luZm8pID8gVGV4dHVyZU1hcHBlckdM
OjpTaG91bGRCbGVuZCA6IDApOworICAgICAgICBtX2ZsYWdzID0gZmxhZ3MgfCAoR1NUX1ZJREVP
X0lORk9fSEFTX0FMUEhBKCZ2aWRlb0luZm8pID8gVGV4dHVyZU1hcHBlckdMOjpTaG91bGRCbGVu
ZCA6IDApIHwgVEVYVFVSRV9NQVBQRVJfQ09MT1JfQ09OVkVSVF9GTEFHOwogCiAgICAgICAgIEdz
dEJ1ZmZlciogYnVmZmVyID0gZ3N0X3NhbXBsZV9nZXRfYnVmZmVyKHNhbXBsZSk7CiAgICAgICAg
IGlmIChVTkxJS0VMWSghZ3N0X3ZpZGVvX2ZyYW1lX21hcCgmbV92aWRlb0ZyYW1lLCAmdmlkZW9J
bmZvLCBidWZmZXIsIHN0YXRpY19jYXN0PEdzdE1hcEZsYWdzPihHU1RfTUFQX1JFQUQgfCBHU1Rf
TUFQX0dMKSkpKQpAQCAtODcyLDcgKzg4Miw3IEBAIGJvb2wgTWVkaWFQbGF5ZXJQcml2YXRlR1N0
cmVhbWVyQmFzZTo6Y29weVZpZGVvVGV4dHVyZVRvUGxhdGZvcm1UZXh0dXJlKEdyYXBoaWNzCiAg
ICAgdW5zaWduZWQgdGV4dHVyZUlEID0gKnJlaW50ZXJwcmV0X2Nhc3Q8dW5zaWduZWQqPih2aWRl
b0ZyYW1lLmRhdGFbMF0pOwogCiAgICAgaWYgKCFtX3ZpZGVvVGV4dHVyZUNvcGllcikKLSAgICAg
ICAgbV92aWRlb1RleHR1cmVDb3BpZXIgPSBzdGQ6Om1ha2VfdW5pcXVlPFZpZGVvVGV4dHVyZUNv
cGllckdTdHJlYW1lcj4oKTsKKyAgICAgICAgbV92aWRlb1RleHR1cmVDb3BpZXIgPSBzdGQ6Om1h
a2VfdW5pcXVlPFZpZGVvVGV4dHVyZUNvcGllckdTdHJlYW1lcj4oVEVYVFVSRV9DT1BJRVJfQ09M
T1JfQ09OVkVSVF9GTEFHKTsKIAogICAgIGJvb2wgY29waWVkID0gbV92aWRlb1RleHR1cmVDb3Bp
ZXItPmNvcHlWaWRlb1RleHR1cmVUb1BsYXRmb3JtVGV4dHVyZSh0ZXh0dXJlSUQsIHNpemUsIG91
dHB1dFRleHR1cmUsIG91dHB1dFRhcmdldCwgbGV2ZWwsIGludGVybmFsRm9ybWF0LCBmb3JtYXQs
IHR5cGUsIGZsaXBZLCBtX3ZpZGVvU291cmNlT3JpZW50YXRpb24pOwogCkBAIC05MDYsNyArOTE2
LDcgQEAgTmF0aXZlSW1hZ2VQdHIgTWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyQmFzZTo6bmF0
aXZlSW1hZ2VGb3JDdXJyZW50VGltZSgpCiAgICAgY29udGV4dC0+bWFrZUNvbnRleHRDdXJyZW50
KCk7CiAKICAgICBpZiAoIW1fdmlkZW9UZXh0dXJlQ29waWVyKQotICAgICAgICBtX3ZpZGVvVGV4
dHVyZUNvcGllciA9IHN0ZDo6bWFrZV91bmlxdWU8VmlkZW9UZXh0dXJlQ29waWVyR1N0cmVhbWVy
PigpOworICAgICAgICBtX3ZpZGVvVGV4dHVyZUNvcGllciA9IHN0ZDo6bWFrZV91bmlxdWU8Vmlk
ZW9UZXh0dXJlQ29waWVyR1N0cmVhbWVyPihURVhUVVJFX0NPUElFUl9DT0xPUl9DT05WRVJUX0ZM
QUcpOwogCiAgICAgdW5zaWduZWQgdGV4dHVyZUlEID0gKnJlaW50ZXJwcmV0X2Nhc3Q8dW5zaWdu
ZWQqPih2aWRlb0ZyYW1lLmRhdGFbMF0pOwogICAgIGJvb2wgY29waWVkID0gbV92aWRlb1RleHR1
cmVDb3BpZXItPmNvcHlWaWRlb1RleHR1cmVUb1BsYXRmb3JtVGV4dHVyZSh0ZXh0dXJlSUQsIHNp
emUsIDAsIEdyYXBoaWNzQ29udGV4dDNEOjpURVhUVVJFXzJELCAwLCBHcmFwaGljc0NvbnRleHQz
RDo6UkdCQSwgR3JhcGhpY3NDb250ZXh0M0Q6OlJHQkEsIEdyYXBoaWNzQ29udGV4dDNEOjpVTlNJ
R05FRF9CWVRFLCBmYWxzZSwgbV92aWRlb1NvdXJjZU9yaWVudGF0aW9uKTsKQEAgLTk5OSw3ICsx
MDA5LDcgQEAgR3N0RWxlbWVudCogTWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyQmFzZTo6Y3Jl
YXRlVmlkZW9TaW5rR0woKQogCiAgICAgZ3N0X2Jpbl9hZGRfbWFueShHU1RfQklOKHZpZGVvU2lu
ayksIHVwbG9hZCwgY29sb3Jjb252ZXJ0LCBhcHBzaW5rLCBudWxscHRyKTsKIAotICAgIEdSZWZQ
dHI8R3N0Q2Fwcz4gY2FwcyA9IGFkb3B0R1JlZihnc3RfY2Fwc19mcm9tX3N0cmluZygidmlkZW8v
eC1yYXcoIiBHU1RfQ0FQU19GRUFUVVJFX01FTU9SWV9HTF9NRU1PUlkgIiksIGZvcm1hdCA9IChz
dHJpbmcpIHsgUkdCQSB9IikpOworICAgIEdSZWZQdHI8R3N0Q2Fwcz4gY2FwcyA9IGFkb3B0R1Jl
Zihnc3RfY2Fwc19mcm9tX3N0cmluZygidmlkZW8veC1yYXcoIiBHU1RfQ0FQU19GRUFUVVJFX01F
TU9SWV9HTF9NRU1PUlkgIiksIGZvcm1hdCA9IChzdHJpbmcpICIgR1NUX0dMX0NBUFNfRk9STUFU
KSk7CiAKICAgICByZXN1bHQgJj0gZ3N0X2VsZW1lbnRfbGlua19wYWRzKHVwbG9hZCwgInNyYyIs
IGNvbG9yY29udmVydCwgInNpbmsiKTsKICAgICByZXN1bHQgJj0gZ3N0X2VsZW1lbnRfbGlua19w
YWRzX2ZpbHRlcmVkKGNvbG9yY29udmVydCwgInNyYyIsIGFwcHNpbmssICJzaW5rIiwgY2Fwcy5n
ZXQoKSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9nc3Ry
ZWFtZXIvVmlkZW9UZXh0dXJlQ29waWVyR1N0cmVhbWVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL2dzdHJlYW1lci9WaWRlb1RleHR1cmVDb3BpZXJHU3RyZWFtZXIuY3Bw
CmluZGV4IDYxNmQ0MzcxODQzMDRjNGUwYzU1OTUwZjRmMDIzY2U1ZDMwYzUxZjUuLmI4NWM1ODQ5
NGM1NmM1MDdiZTc2NWY0ZTNiZjQ3N2Y4ZWQyZTA5MzUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dzdHJlYW1lci9WaWRlb1RleHR1cmVDb3BpZXJHU3RyZWFt
ZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dzdHJlYW1lci9W
aWRlb1RleHR1cmVDb3BpZXJHU3RyZWFtZXIuY3BwCkBAIC0yOSw3ICsyOSw3IEBACiAKIG5hbWVz
cGFjZSBXZWJDb3JlIHsKIAotVmlkZW9UZXh0dXJlQ29waWVyR1N0cmVhbWVyOjpWaWRlb1RleHR1
cmVDb3BpZXJHU3RyZWFtZXIoKQorVmlkZW9UZXh0dXJlQ29waWVyR1N0cmVhbWVyOjpWaWRlb1Rl
eHR1cmVDb3BpZXJHU3RyZWFtZXIoQ29sb3JDb252ZXJzaW9uIGNvbG9yQ29udmVyc2lvbikKIHsK
ICAgICBHTENvbnRleHQqIHByZXZpb3VzQ29udGV4dCA9IEdMQ29udGV4dDo6Y3VycmVudCgpOwog
ICAgIEFTU0VSVChwcmV2aW91c0NvbnRleHQpOwpAQCAtNDgsNiArNDgsNyBAQCBWaWRlb1RleHR1
cmVDb3BpZXJHU3RyZWFtZXI6OlZpZGVvVGV4dHVyZUNvcGllckdTdHJlYW1lcigpCiAgICAgbV9j
b250ZXh0M0QtPmJpbmRCdWZmZXIoR3JhcGhpY3NDb250ZXh0M0Q6OkFSUkFZX0JVRkZFUiwgbV92
Ym8pOwogICAgIG1fY29udGV4dDNELT5idWZmZXJEYXRhKEdyYXBoaWNzQ29udGV4dDNEOjpBUlJB
WV9CVUZGRVIsIHNpemVvZihHQzNEZmxvYXQpICogOCwgdmVydGljZXMsIEdyYXBoaWNzQ29udGV4
dDNEOjpTVEFUSUNfRFJBVyk7CiAKKyAgICB1cGRhdGVDb2xvckNvbnZlcnNpb25NYXRyaXgoY29s
b3JDb252ZXJzaW9uKTsKICAgICB1cGRhdGVUZXh0dXJlU3BhY2VNYXRyaXgoKTsKIAogICAgIHBy
ZXZpb3VzQ29udGV4dC0+bWFrZUNvbnRleHRDdXJyZW50KCk7CkBAIC02OCw2ICs2OSwyMCBAQCBW
aWRlb1RleHR1cmVDb3BpZXJHU3RyZWFtZXI6On5WaWRlb1RleHR1cmVDb3BpZXJHU3RyZWFtZXIo
KQogICAgIHByZXZpb3VzQ29udGV4dC0+bWFrZUNvbnRleHRDdXJyZW50KCk7CiB9CiAKK3ZvaWQg
VmlkZW9UZXh0dXJlQ29waWVyR1N0cmVhbWVyOjp1cGRhdGVDb2xvckNvbnZlcnNpb25NYXRyaXgo
Q29sb3JDb252ZXJzaW9uIGNvbG9yQ29udmVyc2lvbikKK3sKKyAgICBzd2l0Y2ggKGNvbG9yQ29u
dmVyc2lvbikgeworICAgIGNhc2UgQ29sb3JDb252ZXJzaW9uOjpDb252ZXJ0QkdSQVRvUkdCQToK
KyAgICAgICAgbV9jb2xvckNvbnZlcnNpb25NYXRyaXguc2V0TWF0cml4KDAuMCwgMC4wLCAxLjAs
IDAuMCwgMC4wLCAxLjAsIDAuMCwgMC4wLCAxLjAsIDAuMCwgMC4wLCAwLjAsIDAuMCwgMC4wLCAw
LjAsIDEuMCk7CisgICAgICAgIGJyZWFrOworICAgIGNhc2UgQ29sb3JDb252ZXJzaW9uOjpDb252
ZXJ0QVJHQlRvUkdCQToKKyAgICAgICAgbV9jb2xvckNvbnZlcnNpb25NYXRyaXguc2V0TWF0cml4
KDAuMCwgMS4wLCAwLjAsIDAuMCwgMC4wLCAwLjAsIDEuMCwgMC4wLCAwLjAsIDAuMCwgMC4wLCAx
LjAsIDEuMCwgMC4wLCAwLjAsIDAuMCk7CisgICAgICAgIGJyZWFrOworICAgIGRlZmF1bHQ6Cisg
ICAgICAgIFJFTEVBU0VfQVNTRVJUX05PVF9SRUFDSEVEKCk7CisgICAgfQorfQorCiB2b2lkIFZp
ZGVvVGV4dHVyZUNvcGllckdTdHJlYW1lcjo6dXBkYXRlVGV4dHVyZVNwYWNlTWF0cml4KCkKIHsK
ICAgICBtX3RleHR1cmVTcGFjZU1hdHJpeC5tYWtlSWRlbnRpdHkoKTsKQEAgLTE3MCw3ICsxODUs
NyBAQCBib29sIFZpZGVvVGV4dHVyZUNvcGllckdTdHJlYW1lcjo6Y29weVZpZGVvVGV4dHVyZVRv
UGxhdGZvcm1UZXh0dXJlKFBsYXRmb3JtM0RPYgogICAgIG1fc2hhZGVyUHJvZ3JhbS0+c2V0TWF0
cml4KG1fc2hhZGVyUHJvZ3JhbS0+bW9kZWxWaWV3TWF0cml4TG9jYXRpb24oKSwgbV9tb2RlbFZp
ZXdNYXRyaXgpOwogICAgIG1fc2hhZGVyUHJvZ3JhbS0+c2V0TWF0cml4KG1fc2hhZGVyUHJvZ3Jh
bS0+cHJvamVjdGlvbk1hdHJpeExvY2F0aW9uKCksIG1fcHJvamVjdGlvbk1hdHJpeCk7CiAgICAg
bV9zaGFkZXJQcm9ncmFtLT5zZXRNYXRyaXgobV9zaGFkZXJQcm9ncmFtLT50ZXh0dXJlU3BhY2VN
YXRyaXhMb2NhdGlvbigpLCBtX3RleHR1cmVTcGFjZU1hdHJpeCk7Ci0gICAgbV9zaGFkZXJQcm9n
cmFtLT5zZXRNYXRyaXgobV9zaGFkZXJQcm9ncmFtLT50ZXh0dXJlQ29sb3JTcGFjZU1hdHJpeExv
Y2F0aW9uKCksIFRyYW5zZm9ybWF0aW9uTWF0cml4KCkpOworICAgIG1fc2hhZGVyUHJvZ3JhbS0+
c2V0TWF0cml4KG1fc2hhZGVyUHJvZ3JhbS0+dGV4dHVyZUNvbG9yU3BhY2VNYXRyaXhMb2NhdGlv
bigpLCBtX2NvbG9yQ29udmVyc2lvbk1hdHJpeCk7CiAKICAgICAvLyBQZXJmb3JtIHRoZSBjb3B5
LgogICAgIG1fY29udGV4dDNELT5lbmFibGVWZXJ0ZXhBdHRyaWJBcnJheShtX3NoYWRlclByb2dy
YW0tPnZlcnRleExvY2F0aW9uKCkpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3MvZ3N0cmVhbWVyL1ZpZGVvVGV4dHVyZUNvcGllckdTdHJlYW1lci5oIGIvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVhbWVyL1ZpZGVvVGV4dHVyZUNvcGll
ckdTdHJlYW1lci5oCmluZGV4IDdjOWQyMzczNjM1NzcyNTQ4ODVkYTRlMmZmOGRiNjE1MDdmZjdj
MDUuLjc1ODUwZmQxYjA0OTBmOTAwODA0OWUyNWE2M2Y3ZThmOGQ3NDI5ZGQgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dzdHJlYW1lci9WaWRlb1RleHR1cmVD
b3BpZXJHU3RyZWFtZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9n
c3RyZWFtZXIvVmlkZW9UZXh0dXJlQ29waWVyR1N0cmVhbWVyLmgKQEAgLTMyLDEwICszMiwxNiBA
QCBjbGFzcyBJbWFnZU9yaWVudGF0aW9uOwogCiBjbGFzcyBWaWRlb1RleHR1cmVDb3BpZXJHU3Ry
ZWFtZXIgewogcHVibGljOgotICAgIFZpZGVvVGV4dHVyZUNvcGllckdTdHJlYW1lcigpOworICAg
IGVudW0gY2xhc3MgQ29sb3JDb252ZXJzaW9uIHsKKyAgICAgICAgQ29udmVydEJHUkFUb1JHQkEs
CisgICAgICAgIENvbnZlcnRBUkdCVG9SR0JBCisgICAgfTsKKworICAgIFZpZGVvVGV4dHVyZUNv
cGllckdTdHJlYW1lcihDb2xvckNvbnZlcnNpb24pOwogICAgIH5WaWRlb1RleHR1cmVDb3BpZXJH
U3RyZWFtZXIoKTsKIAogICAgIGJvb2wgY29weVZpZGVvVGV4dHVyZVRvUGxhdGZvcm1UZXh0dXJl
KFBsYXRmb3JtM0RPYmplY3QgaW5wdXRUZXh0dXJlLCBJbnRTaXplJiBmcmFtZVNpemUsIFBsYXRm
b3JtM0RPYmplY3Qgb3V0cHV0VGV4dHVyZSwgR0MzRGVudW0gb3V0cHV0VGFyZ2V0LCBHQzNEaW50
IGxldmVsLCBHQzNEZW51bSBpbnRlcm5hbEZvcm1hdCwgR0MzRGVudW0gZm9ybWF0LCBHQzNEZW51
bSB0eXBlLCBib29sIGZsaXBZLCBJbWFnZU9yaWVudGF0aW9uJiBzb3VyY2VPcmllbnRhdGlvbik7
CisgICAgdm9pZCB1cGRhdGVDb2xvckNvbnZlcnNpb25NYXRyaXgoQ29sb3JDb252ZXJzaW9uKTsK
ICAgICB2b2lkIHVwZGF0ZVRleHR1cmVTcGFjZU1hdHJpeCgpOwogICAgIHZvaWQgdXBkYXRlVHJh
bnNmb3JtYXRpb25NYXRyaXgoKTsKICAgICBQbGF0Zm9ybTNET2JqZWN0IHJlc3VsdFRleHR1cmUo
KSB7IHJldHVybiBtX3Jlc3VsdFRleHR1cmU7IH0KQEAgLTUxLDYgKzU3LDcgQEAgcHJpdmF0ZToK
ICAgICBUcmFuc2Zvcm1hdGlvbk1hdHJpeCBtX21vZGVsVmlld01hdHJpeDsKICAgICBUcmFuc2Zv
cm1hdGlvbk1hdHJpeCBtX3Byb2plY3Rpb25NYXRyaXg7CiAgICAgVHJhbnNmb3JtYXRpb25NYXRy
aXggbV90ZXh0dXJlU3BhY2VNYXRyaXg7CisgICAgVHJhbnNmb3JtYXRpb25NYXRyaXggbV9jb2xv
ckNvbnZlcnNpb25NYXRyaXg7CiAgICAgUGxhdGZvcm0zRE9iamVjdCBtX3Jlc3VsdFRleHR1cmUg
eyAwIH07CiB9OwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy90ZXhtYXAvVGV4dHVyZU1hcHBlckdMLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL3RleG1hcC9UZXh0dXJlTWFwcGVyR0wuY3BwCmluZGV4IGNmNzk4ZjRhYWFhMDQzN2Vl
NzdlMWQ4MWNjOGU5MDlmMDc1NmRiNzcuLmVmY2RlMGJhMzcwNzM3Njk2ZWVkODMxODcwMzJjMTlh
NDExZWFkMzUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3Rl
eG1hcC9UZXh0dXJlTWFwcGVyR0wuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL3RleG1hcC9UZXh0dXJlTWFwcGVyR0wuY3BwCkBAIC00MTUsNiArNDE1LDggQEAgc3Rh
dGljIFRyYW5zZm9ybWF0aW9uTWF0cml4IGNvbG9yU3BhY2VNYXRyaXhGb3JGbGFncyhUZXh0dXJl
TWFwcGVyR0w6OkZsYWdzIGZsYWcKICAgICBUcmFuc2Zvcm1hdGlvbk1hdHJpeCBtYXRyaXg7CiAg
ICAgaWYgKGZsYWdzICYgVGV4dHVyZU1hcHBlckdMOjpTaG91bGRDb252ZXJ0VGV4dHVyZUJHUkFU
b1JHQkEpCiAgICAgICAgIG1hdHJpeC5zZXRNYXRyaXgoMC4wLCAwLjAsIDEuMCwgMC4wLCAwLjAs
IDEuMCwgMC4wLCAwLjAsIDEuMCwgMC4wLCAwLjAsIDAuMCwgMC4wLCAwLjAsIDAuMCwgMS4wKTsK
KyAgICBlbHNlIGlmIChmbGFncyAmIFRleHR1cmVNYXBwZXJHTDo6U2hvdWxkQ29udmVydFRleHR1
cmVBUkdCVG9SR0JBKQorICAgICAgICBtYXRyaXguc2V0TWF0cml4KDAuMCwgMS4wLCAwLjAsIDAu
MCwgMC4wLCAwLjAsIDEuMCwgMC4wLCAwLjAsIDAuMCwgMC4wLCAxLjAsIDEuMCwgMC4wLCAwLjAs
IDAuMCk7CiAKICAgICByZXR1cm4gbWF0cml4OwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvdGV4bWFwL1RleHR1cmVNYXBwZXJHTC5oIGIvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvdGV4bWFwL1RleHR1cmVNYXBwZXJHTC5oCmluZGV4IGRh
MTg0YTNmYzJkN2JlMzhlN2VlODJiMDYzMzZhYjVlYWQ2ZjIxYjQuLjg1N2Q4NjViMmEzYWMyZDUx
NmVjY2I2ZGE5ODYwYWJlMzg2NWI3ZDIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL3RleG1hcC9UZXh0dXJlTWFwcGVyR0wuaAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy90ZXhtYXAvVGV4dHVyZU1hcHBlckdMLmgKQEAgLTUxLDcgKzUx
LDggQEAgcHVibGljOgogICAgICAgICBTaG91bGRSb3RhdGVUZXh0dXJlOTAgPSAweDEwLAogICAg
ICAgICBTaG91bGRSb3RhdGVUZXh0dXJlMTgwID0gMHgyMCwKICAgICAgICAgU2hvdWxkUm90YXRl
VGV4dHVyZTI3MCA9IDB4NDAsCi0gICAgICAgIFNob3VsZENvbnZlcnRUZXh0dXJlQkdSQVRvUkdC
QSA9IDB4ODAKKyAgICAgICAgU2hvdWxkQ29udmVydFRleHR1cmVCR1JBVG9SR0JBID0gMHg4MCwK
KyAgICAgICAgU2hvdWxkQ29udmVydFRleHR1cmVBUkdCVG9SR0JBID0gMHgxMDAKICAgICB9Owog
CiAgICAgdHlwZWRlZiBpbnQgRmxhZ3M7Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>