<?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>183895</bug_id>
          
          <creation_ts>2018-03-22 05:17:56 -0700</creation_ts>
          <short_desc>[TexMap] Make TextureMapperContextAttributes thread-specific</short_desc>
          <delta_ts>2018-03-22 11:08:32 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>New Bugs</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>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>cgarcia</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1408333</commentid>
    <comment_count>0</comment_count>
    <who name="Zan Dobersek">zan</who>
    <bug_when>2018-03-22 05:17:56 -0700</bug_when>
    <thetext>[TexMap] Make TextureMapperContextAttributes thread-specific</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1408334</commentid>
    <comment_count>1</comment_count>
      <attachid>336274</attachid>
    <who name="Zan Dobersek">zan</who>
    <bug_when>2018-03-22 05:25:55 -0700</bug_when>
    <thetext>Created attachment 336274
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1408345</commentid>
    <comment_count>2</comment_count>
      <attachid>336274</attachid>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2018-03-22 07:16:22 -0700</bug_when>
    <thetext>Comment on attachment 336274
Patch

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

&gt; Source/WebCore/platform/graphics/texmap/TextureMapperContextAttributes.cpp:42
&gt; +    static WTF::ThreadSpecific&lt;TextureMapperContextAttributes&gt;* s_textureMapperContextAttributes;
&gt; +    if (!s_textureMapperContextAttributes)
&gt; +        s_textureMapperContextAttributes = new WTF::ThreadSpecific&lt;TextureMapperContextAttributes&gt;;
&gt; +    return *s_textureMapperContextAttributes;

Should we use std::once here?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1408410</commentid>
    <comment_count>3</comment_count>
      <attachid>336274</attachid>
    <who name="Zan Dobersek">zan</who>
    <bug_when>2018-03-22 10:55:17 -0700</bug_when>
    <thetext>Comment on attachment 336274
Patch

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

&gt;&gt; Source/WebCore/platform/graphics/texmap/TextureMapperContextAttributes.cpp:42
&gt;&gt; +    return *s_textureMapperContextAttributes;
&gt; 
&gt; Should we use std::once here?

Yes.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1408411</commentid>
    <comment_count>4</comment_count>
      <attachid>336289</attachid>
    <who name="Zan Dobersek">zan</who>
    <bug_when>2018-03-22 11:01:29 -0700</bug_when>
    <thetext>Created attachment 336289
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1408415</commentid>
    <comment_count>5</comment_count>
      <attachid>336289</attachid>
    <who name="Zan Dobersek">zan</who>
    <bug_when>2018-03-22 11:07:07 -0700</bug_when>
    <thetext>Comment on attachment 336289
Patch for landing

Clearing flags on attachment: 336289

Committed r229857: &lt;https://trac.webkit.org/changeset/229857&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1408416</commentid>
    <comment_count>6</comment_count>
    <who name="Zan Dobersek">zan</who>
    <bug_when>2018-03-22 11:07:10 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1408417</commentid>
    <comment_count>7</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2018-03-22 11:08:32 -0700</bug_when>
    <thetext>&lt;rdar://problem/38758602&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>336274</attachid>
            <date>2018-03-22 05:25:55 -0700</date>
            <delta_ts>2018-03-22 11:01:26 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-183895-20180322132554.patch</filename>
            <type>text/plain</type>
            <size>14433</size>
            <attacher name="Zan Dobersek">zan</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjI5ODQ2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggOTY0ZmZlNDk5YTgwMzY0
N2VjMmQxNGNkOGVlNjg4YTU1NGNhMmNkZi4uMjMzZTg3OTI0YWU4YTFlN2NlOTVkYWE3ZjdmOGY1
ZmM5MjdlY2M4NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQwIEBACisyMDE4LTAzLTIyICBaYW4g
RG9iZXJzZWsgIDx6ZG9iZXJzZWtAaWdhbGlhLmNvbT4KKworICAgICAgICBbVGV4TWFwXSBNYWtl
IFRleHR1cmVNYXBwZXJDb250ZXh0QXR0cmlidXRlcyB0aHJlYWQtc3BlY2lmaWMKKyAgICAgICAg
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE4Mzg5NQorCisgICAgICAg
IFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFN0b3JlIHRoZSBUZXh0dXJl
TWFwcGVyQ29udGV4dEF0dHJpYnV0ZXMgaW4gYSB0aHJlYWQtc3BlY2lmaWMgbWFubmVyLgorICAg
ICAgICBUaGUgVGV4dHVyZU1hcHBlckNvbnRleHRBdHRyaWJ1dGVzOjpnZXQoKSBtZXRob2QgaXMg
bm93IHVzZWQgdG8gcmV0cmlldmUKKyAgICAgICAgYSByZWZlcmVuY2UgdG8gdGhhdCB0aHJlYWQt
c3BlY2lmaWMgb2JqZWN0LiBJZiBpdCdzIG5vdCBiZWVuIGluaXRpYWxpemVkCisgICAgICAgIHll
dCwgdGhlbiB0aGUgY3VycmVudCBHTCBjb250ZXh0IGlzIHVzZWQgZm9yIHRoZSBpbml0aWFsaXph
dGlvbiwgYXMgaXQKKyAgICAgICAgdXNlZCB0byBiZSBkb25lIGluIHRoZSBub3ctcmVtb3ZlZCBp
bml0aWFsaXplKCkgbWV0aG9kLgorCisgICAgICAgIFRleHR1cmVNYXBwZXJQbGF0Zm9ybUxheWVy
QnVmZmVyOjpjbG9uZSgpIG1ldGhvZCBub3cgZG9lc24ndCBuZWVkIHRvCisgICAgICAgIGJlIHBh
c3NlZCBhIFRleHR1cmVNYXBwZXJHTCBvYmplY3QsIHNpbmNlIHRoZSB0ZXh0dXJlIGNhbiBiZSBj
cmVhdGVkCisgICAgICAgIGRpcmVjdGx5IGJ5IGNhbGxpbmcgQml0bWFwVGV4dHVyZUdMOjpjcmVh
dGUoKSwgcGFzc2luZyB0aGUKKyAgICAgICAgVGV4dHVyZU1hcHBlckNvbnRleHRBdHRyaWJ1dGVz
IG9iamVjdCB0aGF0J3MgcmV0cmlldmVkIGZyb20gdGhlCisgICAgICAgIHRocmVhZC1zcGVjaWZp
YyBzdG9yYWdlLiBUaGlzIGZ1cnRoZXIgc2ltcGxpZmllcyB0aGUKKyAgICAgICAgVGV4dHVyZU1h
cHBlclBsYXRmb3JtTGF5ZXJQcm94eTo6Q29tcG9zaXRvciBpbnRlcmZhY2UsIHJlbW92aW5nIHRo
ZQorICAgICAgICB0ZXhtYXBHTCgpIGdldHRlciBmcm9tIGl0LgorCisgICAgICAgICogcGxhdGZv
cm0vZ3JhcGhpY3MvZ3N0cmVhbWVyL01lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lckJhc2UuY3Bw
OgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyQmFzZTo6cHVz
aFRleHR1cmVUb0NvbXBvc2l0b3IpOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL3RleG1h
cC9UZXh0dXJlTWFwcGVyQ29udGV4dEF0dHJpYnV0ZXMuY3BwOgorICAgICAgICAoV2ViQ29yZTo6
dGhyZWFkU3BlY2lmaWNBdHRyaWJ1dGVzKToKKyAgICAgICAgKFdlYkNvcmU6OlRleHR1cmVNYXBw
ZXJDb250ZXh0QXR0cmlidXRlczo6Z2V0KToKKyAgICAgICAgKFdlYkNvcmU6OlRleHR1cmVNYXBw
ZXJDb250ZXh0QXR0cmlidXRlczo6aW5pdGlhbGl6ZSk6IERlbGV0ZWQuCisgICAgICAgICogcGxh
dGZvcm0vZ3JhcGhpY3MvdGV4bWFwL1RleHR1cmVNYXBwZXJDb250ZXh0QXR0cmlidXRlcy5oOgor
ICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL3RleG1hcC9UZXh0dXJlTWFwcGVyR0wuY3BwOgor
ICAgICAgICAoV2ViQ29yZTo6VGV4dHVyZU1hcHBlckdMOjpUZXh0dXJlTWFwcGVyR0wpOgorICAg
ICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL3RleG1hcC9UZXh0dXJlTWFwcGVyUGxhdGZvcm1MYXll
ckJ1ZmZlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpUZXh0dXJlTWFwcGVyUGxhdGZvcm1MYXll
ckJ1ZmZlcjo6Y2xvbmUpOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL3RleG1hcC9UZXh0
dXJlTWFwcGVyUGxhdGZvcm1MYXllckJ1ZmZlci5oOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBo
aWNzL3RleG1hcC9UZXh0dXJlTWFwcGVyUGxhdGZvcm1MYXllclByb3h5LmNwcDoKKyAgICAgICAg
KFdlYkNvcmU6OlRleHR1cmVNYXBwZXJQbGF0Zm9ybUxheWVyUHJveHk6OmRyb3BDdXJyZW50QnVm
ZmVyV2hpbGVQcmVzZXJ2aW5nVGV4dHVyZSk6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3Mv
dGV4bWFwL1RleHR1cmVNYXBwZXJQbGF0Zm9ybUxheWVyUHJveHkuaDoKKwogMjAxOC0wMy0yMSAg
Q2hyaXMgRHVtZXogIDxjZHVtZXpAYXBwbGUuY29tPgogCiAgICAgICAgIFJlZ3Jlc3Npb24ocjIy
OTgyOCk6IFdlYktpdC5Ob0hpc3RvcnlJdGVtU2Nyb2xsVG9GcmFnbWVudCBBUEkgdGVzdCBpcyBm
YWlsaW5nIG9uIGlPUwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cgYi9Tb3Vy
Y2UvV2ViS2l0L0NoYW5nZUxvZwppbmRleCA2NTZjNzBhNDFkNWUzYjJjNzY5Mjc1ZDg4ZDRiNWQ1
YTI0ZGY2Zjc0Li4zNjE5YmQzZDY2MGQ4ZjVkZTY3MGZiNWRlZGVjMjljMDI0OGRkM2YxIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L0NoYW5n
ZUxvZwpAQCAtMSwzICsxLDE5IEBACisyMDE4LTAzLTIyICBaYW4gRG9iZXJzZWsgIDx6ZG9iZXJz
ZWtAaWdhbGlhLmNvbT4KKworICAgICAgICBbVGV4TWFwXSBNYWtlIFRleHR1cmVNYXBwZXJDb250
ZXh0QXR0cmlidXRlcyB0aHJlYWQtc3BlY2lmaWMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTE4Mzg5NQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9E
WSAoT09QUyEpLgorCisgICAgICAgIENvb3JkaW5hdGVkR3JhcGhpY3NTY2VuZSwgYXMgYW4gaW1w
bGVtZW50b3Igb2YgdGhlCisgICAgICAgIFRleHR1cmVNYXBwZXJQbGF0Zm9ybUxheWVyUHJveHk6
OkNvbXBvc2l0b3IgaW50ZXJmYWNlLCBkb2Vzbid0IGhhdmUgdG8KKyAgICAgICAgaW1wbGVtZW50
IHRoZSB0ZXhtYXBHTCgpIG1ldGhvZCBhbnltb3JlLgorCisgICAgICAgICogU2hhcmVkL0Nvb3Jk
aW5hdGVkR3JhcGhpY3MvQ29vcmRpbmF0ZWRHcmFwaGljc1NjZW5lLmNwcDoKKyAgICAgICAgKFdl
YktpdDo6Q29vcmRpbmF0ZWRHcmFwaGljc1NjZW5lOjpvbk5ld0J1ZmZlckF2YWlsYWJsZSk6Cisg
ICAgICAgIChXZWJLaXQ6OkNvb3JkaW5hdGVkR3JhcGhpY3NTY2VuZTo6dGV4bWFwR0wpOiBEZWxl
dGVkLgorICAgICAgICAqIFNoYXJlZC9Db29yZGluYXRlZEdyYXBoaWNzL0Nvb3JkaW5hdGVkR3Jh
cGhpY3NTY2VuZS5oOgorCiAyMDE4LTAzLTIxICBGcmVkZXJpYyBXYW5nICA8ZndhbmdAaWdhbGlh
LmNvbT4KIAogICAgICAgICBVbnJldmlld2VkLCB1cGRhdGUgY29tbWVudCBhZGRlZCBpbiByMjI5
ODAxLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVh
bWVyL01lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lckJhc2UuY3BwIGIvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVhbWVyL01lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lckJh
c2UuY3BwCmluZGV4IDgyYWI3YzhmMDBmZTg5NGRkNGNhNWU5ZTBjNjcxNzhjNjkwY2JjNmUuLmI3
NDFlMDAwOTYyNzhiM2EyYTc2ZDUwOGYzY2FmNTEyMGM2YzZkM2UgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dzdHJlYW1lci9NZWRpYVBsYXllclByaXZhdGVH
U3RyZWFtZXJCYXNlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9n
c3RyZWFtZXIvTWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyQmFzZS5jcHAKQEAgLTc2NCwxMCAr
NzY0LDcgQEAgdm9pZCBNZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXJCYXNlOjpwdXNoVGV4dHVy
ZVRvQ29tcG9zaXRvcigpCiAgICAgSW50U2l6ZSBzaXplID0gSW50U2l6ZShHU1RfVklERU9fSU5G
T19XSURUSCgmdmlkZW9JbmZvKSwgR1NUX1ZJREVPX0lORk9fSEVJR0hUKCZ2aWRlb0luZm8pKTsK
ICAgICBzdGQ6OnVuaXF1ZV9wdHI8VGV4dHVyZU1hcHBlclBsYXRmb3JtTGF5ZXJCdWZmZXI+IGJ1
ZmZlciA9IG1fcGxhdGZvcm1MYXllclByb3h5LT5nZXRBdmFpbGFibGVCdWZmZXIoc2l6ZSwgR0xf
RE9OVF9DQVJFKTsKICAgICBpZiAoVU5MSUtFTFkoIWJ1ZmZlcikpIHsKLSAgICAgICAgVGV4dHVy
ZU1hcHBlckNvbnRleHRBdHRyaWJ1dGVzIGNvbnRleHRBdHRyaWJ1dGVzOwotICAgICAgICBjb250
ZXh0QXR0cmlidXRlcy5pbml0aWFsaXplKCk7Ci0KLSAgICAgICAgYXV0byB0ZXh0dXJlID0gQml0
bWFwVGV4dHVyZUdMOjpjcmVhdGUoY29udGV4dEF0dHJpYnV0ZXMpOworICAgICAgICBhdXRvIHRl
eHR1cmUgPSBCaXRtYXBUZXh0dXJlR0w6OmNyZWF0ZShUZXh0dXJlTWFwcGVyQ29udGV4dEF0dHJp
YnV0ZXM6OmdldCgpKTsKICAgICAgICAgdGV4dHVyZS0+cmVzZXQoc2l6ZSwgR1NUX1ZJREVPX0lO
Rk9fSEFTX0FMUEhBKCZ2aWRlb0luZm8pID8gQml0bWFwVGV4dHVyZTo6U3VwcG9ydHNBbHBoYSA6
IEJpdG1hcFRleHR1cmU6Ok5vRmxhZyk7CiAgICAgICAgIGJ1ZmZlciA9IHN0ZDo6bWFrZV91bmlx
dWU8VGV4dHVyZU1hcHBlclBsYXRmb3JtTGF5ZXJCdWZmZXI+KFdURk1vdmUodGV4dHVyZSkpOwog
ICAgIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3RleG1h
cC9UZXh0dXJlTWFwcGVyQ29udGV4dEF0dHJpYnV0ZXMuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3MvdGV4bWFwL1RleHR1cmVNYXBwZXJDb250ZXh0QXR0cmlidXRlcy5jcHAK
aW5kZXggNGMzYmM0OTc0OGM5OTgwZjQwY2RiZmQ2OGIyMTM1NWZkZTliMGIwMy4uZDMwMWFhYTUw
YzhiZTBiZGY3ZTE1NjljZTU4MWQxNWY5NDBlMWNmMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvdGV4bWFwL1RleHR1cmVNYXBwZXJDb250ZXh0QXR0cmlidXRl
cy5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvdGV4bWFwL1RleHR1
cmVNYXBwZXJDb250ZXh0QXR0cmlidXRlcy5jcHAKQEAgLTI5LDI1ICsyOSwzOSBAQAogI2lmIFVT
RShURVhUVVJFX01BUFBFUl9HTCkKIAogI2luY2x1ZGUgIlRleHR1cmVNYXBwZXJHTEhlYWRlcnMu
aCIKKyNpbmNsdWRlIDx3dGYvVGhyZWFkU3BlY2lmaWMuaD4KICNpbmNsdWRlIDx3dGYvdGV4dC9X
VEZTdHJpbmcuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi12b2lkIFRleHR1cmVNYXBwZXJD
b250ZXh0QXR0cmlidXRlczo6aW5pdGlhbGl6ZSgpCitzdGF0aWMgV1RGOjpUaHJlYWRTcGVjaWZp
YzxUZXh0dXJlTWFwcGVyQ29udGV4dEF0dHJpYnV0ZXM+JiB0aHJlYWRTcGVjaWZpY0F0dHJpYnV0
ZXMoKQogeworICAgIHN0YXRpYyBXVEY6OlRocmVhZFNwZWNpZmljPFRleHR1cmVNYXBwZXJDb250
ZXh0QXR0cmlidXRlcz4qIHNfdGV4dHVyZU1hcHBlckNvbnRleHRBdHRyaWJ1dGVzOworICAgIGlm
ICghc190ZXh0dXJlTWFwcGVyQ29udGV4dEF0dHJpYnV0ZXMpCisgICAgICAgIHNfdGV4dHVyZU1h
cHBlckNvbnRleHRBdHRyaWJ1dGVzID0gbmV3IFdURjo6VGhyZWFkU3BlY2lmaWM8VGV4dHVyZU1h
cHBlckNvbnRleHRBdHRyaWJ1dGVzPjsKKyAgICByZXR1cm4gKnNfdGV4dHVyZU1hcHBlckNvbnRl
eHRBdHRyaWJ1dGVzOworfQorCitjb25zdCBUZXh0dXJlTWFwcGVyQ29udGV4dEF0dHJpYnV0ZXMm
IFRleHR1cmVNYXBwZXJDb250ZXh0QXR0cmlidXRlczo6Z2V0KCkKK3sKKyAgICBhdXRvJiBhdHRy
aWJ1dGVzID0gKnRocmVhZFNwZWNpZmljQXR0cmlidXRlcygpOworICAgIGlmICghYXR0cmlidXRl
cy5pbml0aWFsaXplZCkgewogI2lmIFVTRShPUEVOR0xfRVMpCi0gICAgaXNHTEVTMkNvbXBsaWFu
dCA9IHRydWU7CisgICAgICAgIGF0dHJpYnV0ZXMuaXNHTEVTMkNvbXBsaWFudCA9IHRydWU7CiAK
LSAgICBTdHJpbmcgZXh0ZW5zaW9uc1N0cmluZyhyZWludGVycHJldF9jYXN0PGNvbnN0IGNoYXIq
PihnbEdldFN0cmluZyhHTF9FWFRFTlNJT05TKSkpOwotICAgIHN1cHBvcnRzTlBPVFRleHR1cmVz
ID0gZXh0ZW5zaW9uc1N0cmluZy5jb250YWlucyhBU0NJSUxpdGVyYWwoIkdMX09FU190ZXh0dXJl
X25wb3QiKSk7Ci0gICAgc3VwcG9ydHNCR1JBODg4OCA9IGV4dGVuc2lvbnNTdHJpbmcuY29udGFp
bnMoQVNDSUlMaXRlcmFsKCJHTF9FWFRfdGV4dHVyZV9mb3JtYXRfQkdSQTg4ODgiKSk7Ci0gICAg
c3VwcG9ydHNVbnBhY2tTdWJpbWFnZSA9IGV4dGVuc2lvbnNTdHJpbmcuY29udGFpbnMoQVNDSUlM
aXRlcmFsKCJHTF9FWFRfdW5wYWNrX3N1YmltYWdlIikpOworICAgICAgICBTdHJpbmcgZXh0ZW5z
aW9uc1N0cmluZyhyZWludGVycHJldF9jYXN0PGNvbnN0IGNoYXIqPihnbEdldFN0cmluZyhHTF9F
WFRFTlNJT05TKSkpOworICAgICAgICBhdHRyaWJ1dGVzLnN1cHBvcnRzTlBPVFRleHR1cmVzID0g
ZXh0ZW5zaW9uc1N0cmluZy5jb250YWlucyhBU0NJSUxpdGVyYWwoIkdMX09FU190ZXh0dXJlX25w
b3QiKSk7CisgICAgICAgIGF0dHJpYnV0ZXMuc3VwcG9ydHNCR1JBODg4OCA9IGV4dGVuc2lvbnNT
dHJpbmcuY29udGFpbnMoQVNDSUlMaXRlcmFsKCJHTF9FWFRfdGV4dHVyZV9mb3JtYXRfQkdSQTg4
ODgiKSk7CisgICAgICAgIGF0dHJpYnV0ZXMuc3VwcG9ydHNVbnBhY2tTdWJpbWFnZSA9IGV4dGVu
c2lvbnNTdHJpbmcuY29udGFpbnMoQVNDSUlMaXRlcmFsKCJHTF9FWFRfdW5wYWNrX3N1YmltYWdl
IikpOwogI2Vsc2UKLSAgICBpc0dMRVMyQ29tcGxpYW50ID0gZmFsc2U7Ci0gICAgc3VwcG9ydHNO
UE9UVGV4dHVyZXMgPSB0cnVlOwotICAgIHN1cHBvcnRzQkdSQTg4ODggPSB0cnVlOwotICAgIHN1
cHBvcnRzVW5wYWNrU3ViaW1hZ2UgPSB0cnVlOworICAgICAgICBhdHRyaWJ1dGVzLmlzR0xFUzJD
b21wbGlhbnQgPSBmYWxzZTsKKyAgICAgICAgYXR0cmlidXRlcy5zdXBwb3J0c05QT1RUZXh0dXJl
cyA9IHRydWU7CisgICAgICAgIGF0dHJpYnV0ZXMuc3VwcG9ydHNCR1JBODg4OCA9IHRydWU7Cisg
ICAgICAgIGF0dHJpYnV0ZXMuc3VwcG9ydHNVbnBhY2tTdWJpbWFnZSA9IHRydWU7CiAjZW5kaWYK
KyAgICAgICAgYXR0cmlidXRlcy5pbml0aWFsaXplZCA9IHRydWU7CisgICAgfQorICAgIHJldHVy
biBhdHRyaWJ1dGVzOwogfQogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy90ZXhtYXAvVGV4dHVyZU1hcHBlckNvbnRl
eHRBdHRyaWJ1dGVzLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy90ZXhtYXAv
VGV4dHVyZU1hcHBlckNvbnRleHRBdHRyaWJ1dGVzLmgKaW5kZXggMmI2NjhlOWRiN2U2YjhiMzc2
YTJiMDllYjNhNjg3MmNiMDQ5ZTRmYy4uMjBkN2RlNjA4MGJlZDEzYjJhMjUwZmI2MDI2MGU0ZTMz
OWFhMmM0MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvdGV4
bWFwL1RleHR1cmVNYXBwZXJDb250ZXh0QXR0cmlidXRlcy5oCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL3RleG1hcC9UZXh0dXJlTWFwcGVyQ29udGV4dEF0dHJpYnV0ZXMu
aApAQCAtMzAsOCArMzAsOSBAQAogbmFtZXNwYWNlIFdlYkNvcmUgewogCiBzdHJ1Y3QgVGV4dHVy
ZU1hcHBlckNvbnRleHRBdHRyaWJ1dGVzIHsKLSAgICB2b2lkIGluaXRpYWxpemUoKTsKKyAgICBz
dGF0aWMgY29uc3QgVGV4dHVyZU1hcHBlckNvbnRleHRBdHRyaWJ1dGVzJiBnZXQoKTsKIAorICAg
IGJvb2wgaW5pdGlhbGl6ZWQgeyBmYWxzZSB9OwogICAgIGJvb2wgaXNHTEVTMkNvbXBsaWFudCB7
IGZhbHNlIH07CiAgICAgYm9vbCBzdXBwb3J0c05QT1RUZXh0dXJlcyB7IGZhbHNlIH07CiAgICAg
Ym9vbCBzdXBwb3J0c0JHUkE4ODg4IHsgZmFsc2UgfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL3RleG1hcC9UZXh0dXJlTWFwcGVyR0wuY3BwIGIvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvdGV4bWFwL1RleHR1cmVNYXBwZXJHTC5jcHAKaW5k
ZXggYmZkMmNlOGQxMTNlNDRlYjA0M2EyYTZjMGE5ZWM0MjFkMjU0NDIyMC4uN2JhMmU3ZjY3MDBj
Y2I2NjY2MWRmYTBjYTY4ZWYxNzc3ZjY5Mjg3ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3MvdGV4bWFwL1RleHR1cmVNYXBwZXJHTC5jcHAKKysrIGIvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvdGV4bWFwL1RleHR1cmVNYXBwZXJHTC5jcHAKQEAg
LTE3OCwxMCArMTc4LDkgQEAgUmVmPFRleHR1cmVNYXBwZXJTaGFkZXJQcm9ncmFtPiBUZXh0dXJl
TWFwcGVyR0xEYXRhOjpnZXRTaGFkZXJQcm9ncmFtKFRleHR1cmVNYXAKIH0KIAogVGV4dHVyZU1h
cHBlckdMOjpUZXh0dXJlTWFwcGVyR0woKQotICAgIDogbV9lbmFibGVFZGdlRGlzdGFuY2VBbnRp
YWxpYXNpbmcoZmFsc2UpCisgICAgOiBtX2NvbnRleHRBdHRyaWJ1dGVzKFRleHR1cmVNYXBwZXJD
b250ZXh0QXR0cmlidXRlczo6Z2V0KCkpCisgICAgLCBtX2VuYWJsZUVkZ2VEaXN0YW5jZUFudGlh
bGlhc2luZyhmYWxzZSkKIHsKLSAgICBtX2NvbnRleHRBdHRyaWJ1dGVzLmluaXRpYWxpemUoKTsK
LQogICAgIHZvaWQqIHBsYXRmb3JtQ29udGV4dCA9IEdMQ29udGV4dDo6Y3VycmVudCgpLT5wbGF0
Zm9ybUNvbnRleHQoKTsKICAgICBBU1NFUlQocGxhdGZvcm1Db250ZXh0KTsKIApkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvdGV4bWFwL1RleHR1cmVNYXBwZXJQ
bGF0Zm9ybUxheWVyQnVmZmVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L3RleG1hcC9UZXh0dXJlTWFwcGVyUGxhdGZvcm1MYXllckJ1ZmZlci5jcHAKaW5kZXggYTVhMDhl
ODYzNDE1YmU5MGRmNmI3ZmY1OGEzY2ZhNmNiYjUzNGE5Zi4uOGJiMWU4NWE0NzFmNjk3OTdkYTUx
NDYyYTUzMzJjOGFkMmMwZGI3NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3MvdGV4bWFwL1RleHR1cmVNYXBwZXJQbGF0Zm9ybUxheWVyQnVmZmVyLmNwcAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy90ZXhtYXAvVGV4dHVyZU1hcHBlclBs
YXRmb3JtTGF5ZXJCdWZmZXIuY3BwCkBAIC01MiwxMyArNTIsMTMgQEAgYm9vbCBUZXh0dXJlTWFw
cGVyUGxhdGZvcm1MYXllckJ1ZmZlcjo6Y2FuUmV1c2VXaXRob3V0UmVzZXQoY29uc3QgSW50U2l6
ZSYgc2l6ZSwKICAgICByZXR1cm4gbV90ZXh0dXJlICYmIChtX3RleHR1cmUtPnNpemUoKSA9PSBz
aXplKSAmJiAoc3RhdGljX2Nhc3Q8Qml0bWFwVGV4dHVyZUdMKj4obV90ZXh0dXJlLmdldCgpKS0+
aW50ZXJuYWxGb3JtYXQoKSA9PSBpbnRlcm5hbEZvcm1hdCB8fCBpbnRlcm5hbEZvcm1hdCA9PSBH
TF9ET05UX0NBUkUpOwogfQogCi1zdGQ6OnVuaXF1ZV9wdHI8VGV4dHVyZU1hcHBlclBsYXRmb3Jt
TGF5ZXJCdWZmZXI+IFRleHR1cmVNYXBwZXJQbGF0Zm9ybUxheWVyQnVmZmVyOjpjbG9uZShUZXh0
dXJlTWFwcGVyR0wmIHRleG1hcEdMKQorc3RkOjp1bmlxdWVfcHRyPFRleHR1cmVNYXBwZXJQbGF0
Zm9ybUxheWVyQnVmZmVyPiBUZXh0dXJlTWFwcGVyUGxhdGZvcm1MYXllckJ1ZmZlcjo6Y2xvbmUo
KQogewogICAgIGlmIChtX2hhc01hbmFnZWRUZXh0dXJlIHx8ICFtX3RleHR1cmVJRCkgewogICAg
ICAgICBub3RJbXBsZW1lbnRlZCgpOwogICAgICAgICByZXR1cm4gbnVsbHB0cjsKICAgICB9Ci0g
ICAgUmVmUHRyPEJpdG1hcFRleHR1cmU+IHRleHR1cmUgPSB0ZXhtYXBHTC5jcmVhdGVUZXh0dXJl
KG1faW50ZXJuYWxGb3JtYXQpOworICAgIFJlZlB0cjxCaXRtYXBUZXh0dXJlPiB0ZXh0dXJlID0g
Qml0bWFwVGV4dHVyZUdMOjpjcmVhdGUoVGV4dHVyZU1hcHBlckNvbnRleHRBdHRyaWJ1dGVzOjpn
ZXQoKSwgbV9pbnRlcm5hbEZvcm1hdCk7CiAgICAgdGV4dHVyZS0+cmVzZXQobV9zaXplKTsKICAg
ICBzdGF0aWNfY2FzdDxCaXRtYXBUZXh0dXJlR0wmPigqdGV4dHVyZSkuY29weUZyb21FeHRlcm5h
bFRleHR1cmUobV90ZXh0dXJlSUQpOwogICAgIHJldHVybiBzdGQ6Om1ha2VfdW5pcXVlPFRleHR1
cmVNYXBwZXJQbGF0Zm9ybUxheWVyQnVmZmVyPihXVEZNb3ZlKHRleHR1cmUpLCBtX2V4dHJhRmxh
Z3MpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvdGV4bWFw
L1RleHR1cmVNYXBwZXJQbGF0Zm9ybUxheWVyQnVmZmVyLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy90ZXhtYXAvVGV4dHVyZU1hcHBlclBsYXRmb3JtTGF5ZXJCdWZmZXIuaApp
bmRleCAwMzY0MzNiNjY2Y2U4Zjc1MWIyMTg2ZDdkY2RkMDY3NTkxNTk5YWUxLi43YzgwNjlkZmRl
OGU4NjU3ZmJmNThkOThmNzIxZDY4OWVjMDk0NTRmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy90ZXhtYXAvVGV4dHVyZU1hcHBlclBsYXRmb3JtTGF5ZXJCdWZm
ZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy90ZXhtYXAvVGV4dHVy
ZU1hcHBlclBsYXRmb3JtTGF5ZXJCdWZmZXIuaApAQCAtNjMsNyArNjMsNyBAQCBwdWJsaWM6CiAg
ICAgdm9pZCBzZXRVbm1hbmFnZWRCdWZmZXJEYXRhSG9sZGVyKHN0ZDo6dW5pcXVlX3B0cjxVbm1h
bmFnZWRCdWZmZXJEYXRhSG9sZGVyPiBob2xkZXIpIHsgbV91bm1hbmFnZWRCdWZmZXJEYXRhSG9s
ZGVyID0gV1RGTW92ZShob2xkZXIpOyB9CiAgICAgdm9pZCBzZXRFeHRyYUZsYWdzKFRleHR1cmVN
YXBwZXJHTDo6RmxhZ3MgZmxhZ3MpIHsgbV9leHRyYUZsYWdzID0gZmxhZ3M7IH0KIAotICAgIHN0
ZDo6dW5pcXVlX3B0cjxUZXh0dXJlTWFwcGVyUGxhdGZvcm1MYXllckJ1ZmZlcj4gY2xvbmUoVGV4
dHVyZU1hcHBlckdMJik7CisgICAgc3RkOjp1bmlxdWVfcHRyPFRleHR1cmVNYXBwZXJQbGF0Zm9y
bUxheWVyQnVmZmVyPiBjbG9uZSgpOwogCiBwcml2YXRlOgogCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy90ZXhtYXAvVGV4dHVyZU1hcHBlclBsYXRmb3JtTGF5
ZXJQcm94eS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy90ZXhtYXAvVGV4
dHVyZU1hcHBlclBsYXRmb3JtTGF5ZXJQcm94eS5jcHAKaW5kZXggOGM4NTJjODY5ZGMxNjljNDE5
OWIzNTRjZDE0MzMxZThkOTQ3MTgyOC4uYjkyMmNjM2MxMjFjMzcwNDg1OGY2N2U2NjY3MzMzNjI0
NTc5MGRkNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvdGV4
bWFwL1RleHR1cmVNYXBwZXJQbGF0Zm9ybUxheWVyUHJveHkuY3BwCisrKyBiL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL3RleG1hcC9UZXh0dXJlTWFwcGVyUGxhdGZvcm1MYXllclBy
b3h5LmNwcApAQCAtMjAzLDE0ICsyMDMsMTAgQEAgdm9pZCBUZXh0dXJlTWFwcGVyUGxhdGZvcm1M
YXllclByb3h5Ojpkcm9wQ3VycmVudEJ1ZmZlcldoaWxlUHJlc2VydmluZ1RleHR1cmUoKQogICAg
ICAgICBbdGhpc10gewogICAgICAgICAgICAgTG9ja0hvbGRlciBsb2NrZXIobV9sb2NrKTsKIAot
ICAgICAgICAgICAgaWYgKCFtX2NvbXBvc2l0b3IgfHwgIW1fdGFyZ2V0TGF5ZXIpCisgICAgICAg
ICAgICBpZiAoIW1fY29tcG9zaXRvciB8fCAhbV90YXJnZXRMYXllciB8fCAhbV9jdXJyZW50QnVm
ZmVyKQogICAgICAgICAgICAgICAgIHJldHVybjsKIAotICAgICAgICAgICAgVGV4dHVyZU1hcHBl
ckdMKiB0ZXhtYXBHTCA9IG1fY29tcG9zaXRvci0+dGV4bWFwR0woKTsKLSAgICAgICAgICAgIGlm
ICghdGV4bWFwR0wgfHwgIW1fY3VycmVudEJ1ZmZlcikKLSAgICAgICAgICAgICAgICByZXR1cm47
Ci0KLSAgICAgICAgICAgIG1fcGVuZGluZ0J1ZmZlciA9IG1fY3VycmVudEJ1ZmZlci0+Y2xvbmUo
KnRleG1hcEdMKTsKKyAgICAgICAgICAgIG1fcGVuZGluZ0J1ZmZlciA9IG1fY3VycmVudEJ1ZmZl
ci0+Y2xvbmUoKTsKICAgICAgICAgICAgIGF1dG8gcHJldkJ1ZmZlciA9IFdURk1vdmUobV9jdXJy
ZW50QnVmZmVyKTsKICAgICAgICAgICAgIG1fY3VycmVudEJ1ZmZlciA9IFdURk1vdmUobV9wZW5k
aW5nQnVmZmVyKTsKICAgICAgICAgICAgIG1fdGFyZ2V0TGF5ZXItPnNldENvbnRlbnRzTGF5ZXIo
bV9jdXJyZW50QnVmZmVyLmdldCgpKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL3RleG1hcC9UZXh0dXJlTWFwcGVyUGxhdGZvcm1MYXllclByb3h5LmggYi9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy90ZXhtYXAvVGV4dHVyZU1hcHBlclBsYXRm
b3JtTGF5ZXJQcm94eS5oCmluZGV4IGYwYzVhYjg4YTg4NWMzZGExNjRjYzlmZjUzODA0MTc5YTcy
MjFiYjYuLjkwYTI0M2NiMzJhMmM5MzUyMTgzMjY5NmFmOGQ2ZTIwZjkyM2U1MzcgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3RleG1hcC9UZXh0dXJlTWFwcGVy
UGxhdGZvcm1MYXllclByb3h5LmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3MvdGV4bWFwL1RleHR1cmVNYXBwZXJQbGF0Zm9ybUxheWVyUHJveHkuaApAQCAtNTIsNyArNTIs
NiBAQCBwdWJsaWM6CiAgICAgY2xhc3MgQ29tcG9zaXRvciB7CiAgICAgcHVibGljOgogICAgICAg
ICB2aXJ0dWFsIHZvaWQgb25OZXdCdWZmZXJBdmFpbGFibGUoKSA9IDA7Ci0gICAgICAgIHZpcnR1
YWwgVGV4dHVyZU1hcHBlckdMKiB0ZXhtYXBHTCgpID0gMDsKICAgICB9OwogCiAgICAgVGV4dHVy
ZU1hcHBlclBsYXRmb3JtTGF5ZXJQcm94eSgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9T
aGFyZWQvQ29vcmRpbmF0ZWRHcmFwaGljcy9Db29yZGluYXRlZEdyYXBoaWNzU2NlbmUuY3BwIGIv
U291cmNlL1dlYktpdC9TaGFyZWQvQ29vcmRpbmF0ZWRHcmFwaGljcy9Db29yZGluYXRlZEdyYXBo
aWNzU2NlbmUuY3BwCmluZGV4IDZjMmViZDU4MDg4YmJkYzRlOWNkMDcxZmJjNTY4ZjliNWZjMWQ1
N2QuLmE2ZDdmZGUwMjM5YjhjZDI1YTgzYzA1YWZmMmRmZmM0ZWYzNjE4ZTMgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJLaXQvU2hhcmVkL0Nvb3JkaW5hdGVkR3JhcGhpY3MvQ29vcmRpbmF0ZWRHcmFw
aGljc1NjZW5lLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9Db29yZGluYXRlZEdyYXBo
aWNzL0Nvb3JkaW5hdGVkR3JhcGhpY3NTY2VuZS5jcHAKQEAgLTE0NiwxNCArMTQ2LDYgQEAgdm9p
ZCBDb29yZGluYXRlZEdyYXBoaWNzU2NlbmU6Om9uTmV3QnVmZmVyQXZhaWxhYmxlKCkKIHsKICAg
ICB1cGRhdGVWaWV3cG9ydCgpOwogfQotCi1UZXh0dXJlTWFwcGVyR0wqIENvb3JkaW5hdGVkR3Jh
cGhpY3NTY2VuZTo6dGV4bWFwR0woKQotewotICAgIGlmICghbV90ZXh0dXJlTWFwcGVyKQotICAg
ICAgICByZXR1cm4gbnVsbHB0cjsKLQotICAgIHJldHVybiBzdGF0aWNfY2FzdDxUZXh0dXJlTWFw
cGVyR0wqPihtX3RleHR1cmVNYXBwZXIuZ2V0KCkpOwotfQogI2VuZGlmCiAKIHZvaWQgQ29vcmRp
bmF0ZWRHcmFwaGljc1NjZW5lOjpzZXRMYXllclJlcGFpbnRDb3VudElmTmVlZGVkKFRleHR1cmVN
YXBwZXJMYXllciogbGF5ZXIsIGNvbnN0IENvb3JkaW5hdGVkR3JhcGhpY3NMYXllclN0YXRlJiBz
dGF0ZSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvU2hhcmVkL0Nvb3JkaW5hdGVkR3JhcGhp
Y3MvQ29vcmRpbmF0ZWRHcmFwaGljc1NjZW5lLmggYi9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9Db29y
ZGluYXRlZEdyYXBoaWNzL0Nvb3JkaW5hdGVkR3JhcGhpY3NTY2VuZS5oCmluZGV4IDE0ZmJjNGMy
OWI3ZTIwNGFhNTM2NGU3Yjc5ZGQzNDQ1NjEzZDgwODQuLjE4NDU0YzMwYmQ3MGQyMTg0YjRmNTUw
ZTYwZGYxMWQ0YTEzZWZhNDcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvU2hhcmVkL0Nvb3Jk
aW5hdGVkR3JhcGhpY3MvQ29vcmRpbmF0ZWRHcmFwaGljc1NjZW5lLmgKKysrIGIvU291cmNlL1dl
YktpdC9TaGFyZWQvQ29vcmRpbmF0ZWRHcmFwaGljcy9Db29yZGluYXRlZEdyYXBoaWNzU2NlbmUu
aApAQCAtMTQ4LDcgKzE0OCw2IEBAIHByaXZhdGU6CiAKICNpZiBVU0UoQ09PUkRJTkFURURfR1JB
UEhJQ1NfVEhSRUFERUQpCiAgICAgdm9pZCBvbk5ld0J1ZmZlckF2YWlsYWJsZSgpIG92ZXJyaWRl
OwotICAgIFdlYkNvcmU6OlRleHR1cmVNYXBwZXJHTCogdGV4bWFwR0woKSBvdmVycmlkZTsKICNl
bmRpZgogCiAgICAgc3RkOjp1bmlxdWVfcHRyPFdlYkNvcmU6OlRleHR1cmVNYXBwZXI+IG1fdGV4
dHVyZU1hcHBlcjsK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>336289</attachid>
            <date>2018-03-22 11:01:29 -0700</date>
            <delta_ts>2018-03-22 11:01:29 -0700</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-183895-20180322190128.patch</filename>
            <type>text/plain</type>
            <size>14521</size>
            <attacher name="Zan Dobersek">zan</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjI5ODQ2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggOTY0ZmZlNDk5YTgwMzY0
N2VjMmQxNGNkOGVlNjg4YTU1NGNhMmNkZi4uZWY4NmJjN2FjMzRmOTUyNjA0ZTJiMGNhNzE0MTNm
ZTliZWI3NDc0NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQwIEBACisyMDE4LTAzLTIyICBaYW4g
RG9iZXJzZWsgIDx6ZG9iZXJzZWtAaWdhbGlhLmNvbT4KKworICAgICAgICBbVGV4TWFwXSBNYWtl
IFRleHR1cmVNYXBwZXJDb250ZXh0QXR0cmlidXRlcyB0aHJlYWQtc3BlY2lmaWMKKyAgICAgICAg
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE4Mzg5NQorCisgICAgICAg
IFJldmlld2VkIGJ5IENhcmxvcyBHYXJjaWEgQ2FtcG9zLgorCisgICAgICAgIFN0b3JlIHRoZSBU
ZXh0dXJlTWFwcGVyQ29udGV4dEF0dHJpYnV0ZXMgaW4gYSB0aHJlYWQtc3BlY2lmaWMgbWFubmVy
LgorICAgICAgICBUaGUgVGV4dHVyZU1hcHBlckNvbnRleHRBdHRyaWJ1dGVzOjpnZXQoKSBtZXRo
b2QgaXMgbm93IHVzZWQgdG8gcmV0cmlldmUKKyAgICAgICAgYSByZWZlcmVuY2UgdG8gdGhhdCB0
aHJlYWQtc3BlY2lmaWMgb2JqZWN0LiBJZiBpdCdzIG5vdCBiZWVuIGluaXRpYWxpemVkCisgICAg
ICAgIHlldCwgdGhlbiB0aGUgY3VycmVudCBHTCBjb250ZXh0IGlzIHVzZWQgZm9yIHRoZSBpbml0
aWFsaXphdGlvbiwgYXMgaXQKKyAgICAgICAgdXNlZCB0byBiZSBkb25lIGluIHRoZSBub3ctcmVt
b3ZlZCBpbml0aWFsaXplKCkgbWV0aG9kLgorCisgICAgICAgIFRleHR1cmVNYXBwZXJQbGF0Zm9y
bUxheWVyQnVmZmVyOjpjbG9uZSgpIG1ldGhvZCBub3cgZG9lc24ndCBuZWVkIHRvCisgICAgICAg
IGJlIHBhc3NlZCBhIFRleHR1cmVNYXBwZXJHTCBvYmplY3QsIHNpbmNlIHRoZSB0ZXh0dXJlIGNh
biBiZSBjcmVhdGVkCisgICAgICAgIGRpcmVjdGx5IGJ5IGNhbGxpbmcgQml0bWFwVGV4dHVyZUdM
OjpjcmVhdGUoKSwgcGFzc2luZyB0aGUKKyAgICAgICAgVGV4dHVyZU1hcHBlckNvbnRleHRBdHRy
aWJ1dGVzIG9iamVjdCB0aGF0J3MgcmV0cmlldmVkIGZyb20gdGhlCisgICAgICAgIHRocmVhZC1z
cGVjaWZpYyBzdG9yYWdlLiBUaGlzIGZ1cnRoZXIgc2ltcGxpZmllcyB0aGUKKyAgICAgICAgVGV4
dHVyZU1hcHBlclBsYXRmb3JtTGF5ZXJQcm94eTo6Q29tcG9zaXRvciBpbnRlcmZhY2UsIHJlbW92
aW5nIHRoZQorICAgICAgICB0ZXhtYXBHTCgpIGdldHRlciBmcm9tIGl0LgorCisgICAgICAgICog
cGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVhbWVyL01lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lckJh
c2UuY3BwOgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyQmFz
ZTo6cHVzaFRleHR1cmVUb0NvbXBvc2l0b3IpOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNz
L3RleG1hcC9UZXh0dXJlTWFwcGVyQ29udGV4dEF0dHJpYnV0ZXMuY3BwOgorICAgICAgICAoV2Vi
Q29yZTo6dGhyZWFkU3BlY2lmaWNBdHRyaWJ1dGVzKToKKyAgICAgICAgKFdlYkNvcmU6OlRleHR1
cmVNYXBwZXJDb250ZXh0QXR0cmlidXRlczo6Z2V0KToKKyAgICAgICAgKFdlYkNvcmU6OlRleHR1
cmVNYXBwZXJDb250ZXh0QXR0cmlidXRlczo6aW5pdGlhbGl6ZSk6IERlbGV0ZWQuCisgICAgICAg
ICogcGxhdGZvcm0vZ3JhcGhpY3MvdGV4bWFwL1RleHR1cmVNYXBwZXJDb250ZXh0QXR0cmlidXRl
cy5oOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL3RleG1hcC9UZXh0dXJlTWFwcGVyR0wu
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6VGV4dHVyZU1hcHBlckdMOjpUZXh0dXJlTWFwcGVyR0wp
OgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL3RleG1hcC9UZXh0dXJlTWFwcGVyUGxhdGZv
cm1MYXllckJ1ZmZlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpUZXh0dXJlTWFwcGVyUGxhdGZv
cm1MYXllckJ1ZmZlcjo6Y2xvbmUpOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL3RleG1h
cC9UZXh0dXJlTWFwcGVyUGxhdGZvcm1MYXllckJ1ZmZlci5oOgorICAgICAgICAqIHBsYXRmb3Jt
L2dyYXBoaWNzL3RleG1hcC9UZXh0dXJlTWFwcGVyUGxhdGZvcm1MYXllclByb3h5LmNwcDoKKyAg
ICAgICAgKFdlYkNvcmU6OlRleHR1cmVNYXBwZXJQbGF0Zm9ybUxheWVyUHJveHk6OmRyb3BDdXJy
ZW50QnVmZmVyV2hpbGVQcmVzZXJ2aW5nVGV4dHVyZSk6CisgICAgICAgICogcGxhdGZvcm0vZ3Jh
cGhpY3MvdGV4bWFwL1RleHR1cmVNYXBwZXJQbGF0Zm9ybUxheWVyUHJveHkuaDoKKwogMjAxOC0w
My0yMSAgQ2hyaXMgRHVtZXogIDxjZHVtZXpAYXBwbGUuY29tPgogCiAgICAgICAgIFJlZ3Jlc3Np
b24ocjIyOTgyOCk6IFdlYktpdC5Ob0hpc3RvcnlJdGVtU2Nyb2xsVG9GcmFnbWVudCBBUEkgdGVz
dCBpcyBmYWlsaW5nIG9uIGlPUwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cg
Yi9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwppbmRleCA2NTZjNzBhNDFkNWUzYjJjNzY5Mjc1ZDg4
ZDRiNWQ1YTI0ZGY2Zjc0Li5kNDcyZTYyMTFmZWE1ZTUyZjA4ZDc3M2RmZjFhOWI5NzRmYzM3NmE2
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0
L0NoYW5nZUxvZwpAQCAtMSwzICsxLDE5IEBACisyMDE4LTAzLTIyICBaYW4gRG9iZXJzZWsgIDx6
ZG9iZXJzZWtAaWdhbGlhLmNvbT4KKworICAgICAgICBbVGV4TWFwXSBNYWtlIFRleHR1cmVNYXBw
ZXJDb250ZXh0QXR0cmlidXRlcyB0aHJlYWQtc3BlY2lmaWMKKyAgICAgICAgaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE4Mzg5NQorCisgICAgICAgIFJldmlld2VkIGJ5
IENhcmxvcyBHYXJjaWEgQ2FtcG9zLgorCisgICAgICAgIENvb3JkaW5hdGVkR3JhcGhpY3NTY2Vu
ZSwgYXMgYW4gaW1wbGVtZW50b3Igb2YgdGhlCisgICAgICAgIFRleHR1cmVNYXBwZXJQbGF0Zm9y
bUxheWVyUHJveHk6OkNvbXBvc2l0b3IgaW50ZXJmYWNlLCBkb2Vzbid0IGhhdmUgdG8KKyAgICAg
ICAgaW1wbGVtZW50IHRoZSB0ZXhtYXBHTCgpIG1ldGhvZCBhbnltb3JlLgorCisgICAgICAgICog
U2hhcmVkL0Nvb3JkaW5hdGVkR3JhcGhpY3MvQ29vcmRpbmF0ZWRHcmFwaGljc1NjZW5lLmNwcDoK
KyAgICAgICAgKFdlYktpdDo6Q29vcmRpbmF0ZWRHcmFwaGljc1NjZW5lOjpvbk5ld0J1ZmZlckF2
YWlsYWJsZSk6CisgICAgICAgIChXZWJLaXQ6OkNvb3JkaW5hdGVkR3JhcGhpY3NTY2VuZTo6dGV4
bWFwR0wpOiBEZWxldGVkLgorICAgICAgICAqIFNoYXJlZC9Db29yZGluYXRlZEdyYXBoaWNzL0Nv
b3JkaW5hdGVkR3JhcGhpY3NTY2VuZS5oOgorCiAyMDE4LTAzLTIxICBGcmVkZXJpYyBXYW5nICA8
ZndhbmdAaWdhbGlhLmNvbT4KIAogICAgICAgICBVbnJldmlld2VkLCB1cGRhdGUgY29tbWVudCBh
ZGRlZCBpbiByMjI5ODAxLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3MvZ3N0cmVhbWVyL01lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lckJhc2UuY3BwIGIvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVhbWVyL01lZGlhUGxheWVyUHJpdmF0
ZUdTdHJlYW1lckJhc2UuY3BwCmluZGV4IDgyYWI3YzhmMDBmZTg5NGRkNGNhNWU5ZTBjNjcxNzhj
NjkwY2JjNmUuLmI3NDFlMDAwOTYyNzhiM2EyYTc2ZDUwOGYzY2FmNTEyMGM2YzZkM2UgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dzdHJlYW1lci9NZWRpYVBs
YXllclByaXZhdGVHU3RyZWFtZXJCYXNlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy9nc3RyZWFtZXIvTWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyQmFzZS5jcHAK
QEAgLTc2NCwxMCArNzY0LDcgQEAgdm9pZCBNZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXJCYXNl
OjpwdXNoVGV4dHVyZVRvQ29tcG9zaXRvcigpCiAgICAgSW50U2l6ZSBzaXplID0gSW50U2l6ZShH
U1RfVklERU9fSU5GT19XSURUSCgmdmlkZW9JbmZvKSwgR1NUX1ZJREVPX0lORk9fSEVJR0hUKCZ2
aWRlb0luZm8pKTsKICAgICBzdGQ6OnVuaXF1ZV9wdHI8VGV4dHVyZU1hcHBlclBsYXRmb3JtTGF5
ZXJCdWZmZXI+IGJ1ZmZlciA9IG1fcGxhdGZvcm1MYXllclByb3h5LT5nZXRBdmFpbGFibGVCdWZm
ZXIoc2l6ZSwgR0xfRE9OVF9DQVJFKTsKICAgICBpZiAoVU5MSUtFTFkoIWJ1ZmZlcikpIHsKLSAg
ICAgICAgVGV4dHVyZU1hcHBlckNvbnRleHRBdHRyaWJ1dGVzIGNvbnRleHRBdHRyaWJ1dGVzOwot
ICAgICAgICBjb250ZXh0QXR0cmlidXRlcy5pbml0aWFsaXplKCk7Ci0KLSAgICAgICAgYXV0byB0
ZXh0dXJlID0gQml0bWFwVGV4dHVyZUdMOjpjcmVhdGUoY29udGV4dEF0dHJpYnV0ZXMpOworICAg
ICAgICBhdXRvIHRleHR1cmUgPSBCaXRtYXBUZXh0dXJlR0w6OmNyZWF0ZShUZXh0dXJlTWFwcGVy
Q29udGV4dEF0dHJpYnV0ZXM6OmdldCgpKTsKICAgICAgICAgdGV4dHVyZS0+cmVzZXQoc2l6ZSwg
R1NUX1ZJREVPX0lORk9fSEFTX0FMUEhBKCZ2aWRlb0luZm8pID8gQml0bWFwVGV4dHVyZTo6U3Vw
cG9ydHNBbHBoYSA6IEJpdG1hcFRleHR1cmU6Ok5vRmxhZyk7CiAgICAgICAgIGJ1ZmZlciA9IHN0
ZDo6bWFrZV91bmlxdWU8VGV4dHVyZU1hcHBlclBsYXRmb3JtTGF5ZXJCdWZmZXI+KFdURk1vdmUo
dGV4dHVyZSkpOwogICAgIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL3RleG1hcC9UZXh0dXJlTWFwcGVyQ29udGV4dEF0dHJpYnV0ZXMuY3BwIGIvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvdGV4bWFwL1RleHR1cmVNYXBwZXJDb250ZXh0QXR0
cmlidXRlcy5jcHAKaW5kZXggNGMzYmM0OTc0OGM5OTgwZjQwY2RiZmQ2OGIyMTM1NWZkZTliMGIw
My4uODhjNjg5YmFiMWM4YWQ1YzhhNzc3OWU4ODdiNTdkOTM1YjNhYjI1NiAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvdGV4bWFwL1RleHR1cmVNYXBwZXJDb250
ZXh0QXR0cmlidXRlcy5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
dGV4bWFwL1RleHR1cmVNYXBwZXJDb250ZXh0QXR0cmlidXRlcy5jcHAKQEAgLTI5LDI1ICsyOSw0
MyBAQAogI2lmIFVTRShURVhUVVJFX01BUFBFUl9HTCkKIAogI2luY2x1ZGUgIlRleHR1cmVNYXBw
ZXJHTEhlYWRlcnMuaCIKKyNpbmNsdWRlIDxtdXRleD4KKyNpbmNsdWRlIDx3dGYvVGhyZWFkU3Bl
Y2lmaWMuaD4KICNpbmNsdWRlIDx3dGYvdGV4dC9XVEZTdHJpbmcuaD4KIAogbmFtZXNwYWNlIFdl
YkNvcmUgewogCi12b2lkIFRleHR1cmVNYXBwZXJDb250ZXh0QXR0cmlidXRlczo6aW5pdGlhbGl6
ZSgpCitzdGF0aWMgV1RGOjpUaHJlYWRTcGVjaWZpYzxUZXh0dXJlTWFwcGVyQ29udGV4dEF0dHJp
YnV0ZXM+JiB0aHJlYWRTcGVjaWZpY0F0dHJpYnV0ZXMoKQogeworICAgIHN0YXRpYyBXVEY6OlRo
cmVhZFNwZWNpZmljPFRleHR1cmVNYXBwZXJDb250ZXh0QXR0cmlidXRlcz4qIHNfdGV4dHVyZU1h
cHBlckNvbnRleHRBdHRyaWJ1dGVzOworICAgIHN0YXRpYyBzdGQ6Om9uY2VfZmxhZyBzX29uY2VG
bGFnOworICAgIHN0ZDo6Y2FsbF9vbmNlKHNfb25jZUZsYWcsCisgICAgICAgIFtdIHsKKyAgICAg
ICAgICAgIHNfdGV4dHVyZU1hcHBlckNvbnRleHRBdHRyaWJ1dGVzID0gbmV3IFdURjo6VGhyZWFk
U3BlY2lmaWM8VGV4dHVyZU1hcHBlckNvbnRleHRBdHRyaWJ1dGVzPjsKKyAgICAgICAgfSk7Cisg
ICAgcmV0dXJuICpzX3RleHR1cmVNYXBwZXJDb250ZXh0QXR0cmlidXRlczsKK30KKworY29uc3Qg
VGV4dHVyZU1hcHBlckNvbnRleHRBdHRyaWJ1dGVzJiBUZXh0dXJlTWFwcGVyQ29udGV4dEF0dHJp
YnV0ZXM6OmdldCgpCit7CisgICAgYXV0byYgYXR0cmlidXRlcyA9ICp0aHJlYWRTcGVjaWZpY0F0
dHJpYnV0ZXMoKTsKKyAgICBpZiAoIWF0dHJpYnV0ZXMuaW5pdGlhbGl6ZWQpIHsKKyAgICAgICAg
YXR0cmlidXRlcy5pbml0aWFsaXplZCA9IHRydWU7CiAjaWYgVVNFKE9QRU5HTF9FUykKLSAgICBp
c0dMRVMyQ29tcGxpYW50ID0gdHJ1ZTsKKyAgICAgICAgYXR0cmlidXRlcy5pc0dMRVMyQ29tcGxp
YW50ID0gdHJ1ZTsKIAotICAgIFN0cmluZyBleHRlbnNpb25zU3RyaW5nKHJlaW50ZXJwcmV0X2Nh
c3Q8Y29uc3QgY2hhcio+KGdsR2V0U3RyaW5nKEdMX0VYVEVOU0lPTlMpKSk7Ci0gICAgc3VwcG9y
dHNOUE9UVGV4dHVyZXMgPSBleHRlbnNpb25zU3RyaW5nLmNvbnRhaW5zKEFTQ0lJTGl0ZXJhbCgi
R0xfT0VTX3RleHR1cmVfbnBvdCIpKTsKLSAgICBzdXBwb3J0c0JHUkE4ODg4ID0gZXh0ZW5zaW9u
c1N0cmluZy5jb250YWlucyhBU0NJSUxpdGVyYWwoIkdMX0VYVF90ZXh0dXJlX2Zvcm1hdF9CR1JB
ODg4OCIpKTsKLSAgICBzdXBwb3J0c1VucGFja1N1YmltYWdlID0gZXh0ZW5zaW9uc1N0cmluZy5j
b250YWlucyhBU0NJSUxpdGVyYWwoIkdMX0VYVF91bnBhY2tfc3ViaW1hZ2UiKSk7CisgICAgICAg
IFN0cmluZyBleHRlbnNpb25zU3RyaW5nKHJlaW50ZXJwcmV0X2Nhc3Q8Y29uc3QgY2hhcio+KGds
R2V0U3RyaW5nKEdMX0VYVEVOU0lPTlMpKSk7CisgICAgICAgIGF0dHJpYnV0ZXMuc3VwcG9ydHNO
UE9UVGV4dHVyZXMgPSBleHRlbnNpb25zU3RyaW5nLmNvbnRhaW5zKEFTQ0lJTGl0ZXJhbCgiR0xf
T0VTX3RleHR1cmVfbnBvdCIpKTsKKyAgICAgICAgYXR0cmlidXRlcy5zdXBwb3J0c0JHUkE4ODg4
ID0gZXh0ZW5zaW9uc1N0cmluZy5jb250YWlucyhBU0NJSUxpdGVyYWwoIkdMX0VYVF90ZXh0dXJl
X2Zvcm1hdF9CR1JBODg4OCIpKTsKKyAgICAgICAgYXR0cmlidXRlcy5zdXBwb3J0c1VucGFja1N1
YmltYWdlID0gZXh0ZW5zaW9uc1N0cmluZy5jb250YWlucyhBU0NJSUxpdGVyYWwoIkdMX0VYVF91
bnBhY2tfc3ViaW1hZ2UiKSk7CiAjZWxzZQotICAgIGlzR0xFUzJDb21wbGlhbnQgPSBmYWxzZTsK
LSAgICBzdXBwb3J0c05QT1RUZXh0dXJlcyA9IHRydWU7Ci0gICAgc3VwcG9ydHNCR1JBODg4OCA9
IHRydWU7Ci0gICAgc3VwcG9ydHNVbnBhY2tTdWJpbWFnZSA9IHRydWU7CisgICAgICAgIGF0dHJp
YnV0ZXMuaXNHTEVTMkNvbXBsaWFudCA9IGZhbHNlOworICAgICAgICBhdHRyaWJ1dGVzLnN1cHBv
cnRzTlBPVFRleHR1cmVzID0gdHJ1ZTsKKyAgICAgICAgYXR0cmlidXRlcy5zdXBwb3J0c0JHUkE4
ODg4ID0gdHJ1ZTsKKyAgICAgICAgYXR0cmlidXRlcy5zdXBwb3J0c1VucGFja1N1YmltYWdlID0g
dHJ1ZTsKICNlbmRpZgorICAgIH0KKyAgICByZXR1cm4gYXR0cmlidXRlczsKIH0KIAogfSAvLyBu
YW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3MvdGV4bWFwL1RleHR1cmVNYXBwZXJDb250ZXh0QXR0cmlidXRlcy5oIGIvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvdGV4bWFwL1RleHR1cmVNYXBwZXJDb250ZXh0QXR0cmli
dXRlcy5oCmluZGV4IDJiNjY4ZTlkYjdlNmI4YjM3NmEyYjA5ZWIzYTY4NzJjYjA0OWU0ZmMuLjIw
ZDdkZTYwODBiZWQxM2IyYTI1MGZiNjAyNjBlNGUzMzlhYTJjNDMgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3RleG1hcC9UZXh0dXJlTWFwcGVyQ29udGV4dEF0
dHJpYnV0ZXMuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy90ZXhtYXAv
VGV4dHVyZU1hcHBlckNvbnRleHRBdHRyaWJ1dGVzLmgKQEAgLTMwLDggKzMwLDkgQEAKIG5hbWVz
cGFjZSBXZWJDb3JlIHsKIAogc3RydWN0IFRleHR1cmVNYXBwZXJDb250ZXh0QXR0cmlidXRlcyB7
Ci0gICAgdm9pZCBpbml0aWFsaXplKCk7CisgICAgc3RhdGljIGNvbnN0IFRleHR1cmVNYXBwZXJD
b250ZXh0QXR0cmlidXRlcyYgZ2V0KCk7CiAKKyAgICBib29sIGluaXRpYWxpemVkIHsgZmFsc2Ug
fTsKICAgICBib29sIGlzR0xFUzJDb21wbGlhbnQgeyBmYWxzZSB9OwogICAgIGJvb2wgc3VwcG9y
dHNOUE9UVGV4dHVyZXMgeyBmYWxzZSB9OwogICAgIGJvb2wgc3VwcG9ydHNCR1JBODg4OCB7IGZh
bHNlIH07CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy90ZXht
YXAvVGV4dHVyZU1hcHBlckdMLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L3RleG1hcC9UZXh0dXJlTWFwcGVyR0wuY3BwCmluZGV4IGJmZDJjZThkMTEzZTQ0ZWIwNDNhMmE2
YzBhOWVjNDIxZDI1NDQyMjAuLjdiYTJlN2Y2NzAwY2NiNjY2NjFkZmEwY2E2OGVmMTc3N2Y2OTI4
N2YgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3RleG1hcC9U
ZXh0dXJlTWFwcGVyR0wuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L3RleG1hcC9UZXh0dXJlTWFwcGVyR0wuY3BwCkBAIC0xNzgsMTAgKzE3OCw5IEBAIFJlZjxUZXh0
dXJlTWFwcGVyU2hhZGVyUHJvZ3JhbT4gVGV4dHVyZU1hcHBlckdMRGF0YTo6Z2V0U2hhZGVyUHJv
Z3JhbShUZXh0dXJlTWFwCiB9CiAKIFRleHR1cmVNYXBwZXJHTDo6VGV4dHVyZU1hcHBlckdMKCkK
LSAgICA6IG1fZW5hYmxlRWRnZURpc3RhbmNlQW50aWFsaWFzaW5nKGZhbHNlKQorICAgIDogbV9j
b250ZXh0QXR0cmlidXRlcyhUZXh0dXJlTWFwcGVyQ29udGV4dEF0dHJpYnV0ZXM6OmdldCgpKQor
ICAgICwgbV9lbmFibGVFZGdlRGlzdGFuY2VBbnRpYWxpYXNpbmcoZmFsc2UpCiB7Ci0gICAgbV9j
b250ZXh0QXR0cmlidXRlcy5pbml0aWFsaXplKCk7Ci0KICAgICB2b2lkKiBwbGF0Zm9ybUNvbnRl
eHQgPSBHTENvbnRleHQ6OmN1cnJlbnQoKS0+cGxhdGZvcm1Db250ZXh0KCk7CiAgICAgQVNTRVJU
KHBsYXRmb3JtQ29udGV4dCk7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL3RleG1hcC9UZXh0dXJlTWFwcGVyUGxhdGZvcm1MYXllckJ1ZmZlci5jcHAgYi9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy90ZXhtYXAvVGV4dHVyZU1hcHBlclBsYXRm
b3JtTGF5ZXJCdWZmZXIuY3BwCmluZGV4IGE1YTA4ZTg2MzQxNWJlOTBkZjZiN2ZmNThhM2NmYTZj
YmI1MzRhOWYuLjhiYjFlODVhNDcxZjY5Nzk3ZGE1MTQ2MmE1MzMyYzhhZDJjMGRiNzYgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3RleG1hcC9UZXh0dXJlTWFw
cGVyUGxhdGZvcm1MYXllckJ1ZmZlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3MvdGV4bWFwL1RleHR1cmVNYXBwZXJQbGF0Zm9ybUxheWVyQnVmZmVyLmNwcApAQCAt
NTIsMTMgKzUyLDEzIEBAIGJvb2wgVGV4dHVyZU1hcHBlclBsYXRmb3JtTGF5ZXJCdWZmZXI6OmNh
blJldXNlV2l0aG91dFJlc2V0KGNvbnN0IEludFNpemUmIHNpemUsCiAgICAgcmV0dXJuIG1fdGV4
dHVyZSAmJiAobV90ZXh0dXJlLT5zaXplKCkgPT0gc2l6ZSkgJiYgKHN0YXRpY19jYXN0PEJpdG1h
cFRleHR1cmVHTCo+KG1fdGV4dHVyZS5nZXQoKSktPmludGVybmFsRm9ybWF0KCkgPT0gaW50ZXJu
YWxGb3JtYXQgfHwgaW50ZXJuYWxGb3JtYXQgPT0gR0xfRE9OVF9DQVJFKTsKIH0KIAotc3RkOjp1
bmlxdWVfcHRyPFRleHR1cmVNYXBwZXJQbGF0Zm9ybUxheWVyQnVmZmVyPiBUZXh0dXJlTWFwcGVy
UGxhdGZvcm1MYXllckJ1ZmZlcjo6Y2xvbmUoVGV4dHVyZU1hcHBlckdMJiB0ZXhtYXBHTCkKK3N0
ZDo6dW5pcXVlX3B0cjxUZXh0dXJlTWFwcGVyUGxhdGZvcm1MYXllckJ1ZmZlcj4gVGV4dHVyZU1h
cHBlclBsYXRmb3JtTGF5ZXJCdWZmZXI6OmNsb25lKCkKIHsKICAgICBpZiAobV9oYXNNYW5hZ2Vk
VGV4dHVyZSB8fCAhbV90ZXh0dXJlSUQpIHsKICAgICAgICAgbm90SW1wbGVtZW50ZWQoKTsKICAg
ICAgICAgcmV0dXJuIG51bGxwdHI7CiAgICAgfQotICAgIFJlZlB0cjxCaXRtYXBUZXh0dXJlPiB0
ZXh0dXJlID0gdGV4bWFwR0wuY3JlYXRlVGV4dHVyZShtX2ludGVybmFsRm9ybWF0KTsKKyAgICBS
ZWZQdHI8Qml0bWFwVGV4dHVyZT4gdGV4dHVyZSA9IEJpdG1hcFRleHR1cmVHTDo6Y3JlYXRlKFRl
eHR1cmVNYXBwZXJDb250ZXh0QXR0cmlidXRlczo6Z2V0KCksIG1faW50ZXJuYWxGb3JtYXQpOwog
ICAgIHRleHR1cmUtPnJlc2V0KG1fc2l6ZSk7CiAgICAgc3RhdGljX2Nhc3Q8Qml0bWFwVGV4dHVy
ZUdMJj4oKnRleHR1cmUpLmNvcHlGcm9tRXh0ZXJuYWxUZXh0dXJlKG1fdGV4dHVyZUlEKTsKICAg
ICByZXR1cm4gc3RkOjptYWtlX3VuaXF1ZTxUZXh0dXJlTWFwcGVyUGxhdGZvcm1MYXllckJ1ZmZl
cj4oV1RGTW92ZSh0ZXh0dXJlKSwgbV9leHRyYUZsYWdzKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3RleG1hcC9UZXh0dXJlTWFwcGVyUGxhdGZvcm1MYXll
ckJ1ZmZlci5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvdGV4bWFwL1RleHR1
cmVNYXBwZXJQbGF0Zm9ybUxheWVyQnVmZmVyLmgKaW5kZXggMDM2NDMzYjY2NmNlOGY3NTFiMjE4
NmQ3ZGNkZDA2NzU5MTU5OWFlMS4uN2M4MDY5ZGZkZThlODY1N2ZiZjU4ZDk4ZjcyMWQ2ODllYzA5
NDU0ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvdGV4bWFw
L1RleHR1cmVNYXBwZXJQbGF0Zm9ybUxheWVyQnVmZmVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3MvdGV4bWFwL1RleHR1cmVNYXBwZXJQbGF0Zm9ybUxheWVyQnVmZmVy
LmgKQEAgLTYzLDcgKzYzLDcgQEAgcHVibGljOgogICAgIHZvaWQgc2V0VW5tYW5hZ2VkQnVmZmVy
RGF0YUhvbGRlcihzdGQ6OnVuaXF1ZV9wdHI8VW5tYW5hZ2VkQnVmZmVyRGF0YUhvbGRlcj4gaG9s
ZGVyKSB7IG1fdW5tYW5hZ2VkQnVmZmVyRGF0YUhvbGRlciA9IFdURk1vdmUoaG9sZGVyKTsgfQog
ICAgIHZvaWQgc2V0RXh0cmFGbGFncyhUZXh0dXJlTWFwcGVyR0w6OkZsYWdzIGZsYWdzKSB7IG1f
ZXh0cmFGbGFncyA9IGZsYWdzOyB9CiAKLSAgICBzdGQ6OnVuaXF1ZV9wdHI8VGV4dHVyZU1hcHBl
clBsYXRmb3JtTGF5ZXJCdWZmZXI+IGNsb25lKFRleHR1cmVNYXBwZXJHTCYpOworICAgIHN0ZDo6
dW5pcXVlX3B0cjxUZXh0dXJlTWFwcGVyUGxhdGZvcm1MYXllckJ1ZmZlcj4gY2xvbmUoKTsKIAog
cHJpdmF0ZToKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
dGV4bWFwL1RleHR1cmVNYXBwZXJQbGF0Zm9ybUxheWVyUHJveHkuY3BwIGIvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvdGV4bWFwL1RleHR1cmVNYXBwZXJQbGF0Zm9ybUxheWVyUHJv
eHkuY3BwCmluZGV4IDhjODUyYzg2OWRjMTY5YzQxOTliMzU0Y2QxNDMzMWU4ZDk0NzE4MjguLmI5
MjJjYzNjMTIxYzM3MDQ4NThmNjdlNjY2NzMzMzYyNDU3OTBkZDUgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3RleG1hcC9UZXh0dXJlTWFwcGVyUGxhdGZvcm1M
YXllclByb3h5LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy90ZXht
YXAvVGV4dHVyZU1hcHBlclBsYXRmb3JtTGF5ZXJQcm94eS5jcHAKQEAgLTIwMywxNCArMjAzLDEw
IEBAIHZvaWQgVGV4dHVyZU1hcHBlclBsYXRmb3JtTGF5ZXJQcm94eTo6ZHJvcEN1cnJlbnRCdWZm
ZXJXaGlsZVByZXNlcnZpbmdUZXh0dXJlKCkKICAgICAgICAgW3RoaXNdIHsKICAgICAgICAgICAg
IExvY2tIb2xkZXIgbG9ja2VyKG1fbG9jayk7CiAKLSAgICAgICAgICAgIGlmICghbV9jb21wb3Np
dG9yIHx8ICFtX3RhcmdldExheWVyKQorICAgICAgICAgICAgaWYgKCFtX2NvbXBvc2l0b3IgfHwg
IW1fdGFyZ2V0TGF5ZXIgfHwgIW1fY3VycmVudEJ1ZmZlcikKICAgICAgICAgICAgICAgICByZXR1
cm47CiAKLSAgICAgICAgICAgIFRleHR1cmVNYXBwZXJHTCogdGV4bWFwR0wgPSBtX2NvbXBvc2l0
b3ItPnRleG1hcEdMKCk7Ci0gICAgICAgICAgICBpZiAoIXRleG1hcEdMIHx8ICFtX2N1cnJlbnRC
dWZmZXIpCi0gICAgICAgICAgICAgICAgcmV0dXJuOwotCi0gICAgICAgICAgICBtX3BlbmRpbmdC
dWZmZXIgPSBtX2N1cnJlbnRCdWZmZXItPmNsb25lKCp0ZXhtYXBHTCk7CisgICAgICAgICAgICBt
X3BlbmRpbmdCdWZmZXIgPSBtX2N1cnJlbnRCdWZmZXItPmNsb25lKCk7CiAgICAgICAgICAgICBh
dXRvIHByZXZCdWZmZXIgPSBXVEZNb3ZlKG1fY3VycmVudEJ1ZmZlcik7CiAgICAgICAgICAgICBt
X2N1cnJlbnRCdWZmZXIgPSBXVEZNb3ZlKG1fcGVuZGluZ0J1ZmZlcik7CiAgICAgICAgICAgICBt
X3RhcmdldExheWVyLT5zZXRDb250ZW50c0xheWVyKG1fY3VycmVudEJ1ZmZlci5nZXQoKSk7CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy90ZXhtYXAvVGV4dHVy
ZU1hcHBlclBsYXRmb3JtTGF5ZXJQcm94eS5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3MvdGV4bWFwL1RleHR1cmVNYXBwZXJQbGF0Zm9ybUxheWVyUHJveHkuaAppbmRleCBmMGM1
YWI4OGE4ODVjM2RhMTY0Y2M5ZmY1MzgwNDE3OWE3MjIxYmI2Li45MGEyNDNjYjMyYTJjOTM1MjE4
MzI2OTZhZjhkNmUyMGY5MjNlNTM3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy90ZXhtYXAvVGV4dHVyZU1hcHBlclBsYXRmb3JtTGF5ZXJQcm94eS5oCisrKyBi
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3RleG1hcC9UZXh0dXJlTWFwcGVyUGxh
dGZvcm1MYXllclByb3h5LmgKQEAgLTUyLDcgKzUyLDYgQEAgcHVibGljOgogICAgIGNsYXNzIENv
bXBvc2l0b3IgewogICAgIHB1YmxpYzoKICAgICAgICAgdmlydHVhbCB2b2lkIG9uTmV3QnVmZmVy
QXZhaWxhYmxlKCkgPSAwOwotICAgICAgICB2aXJ0dWFsIFRleHR1cmVNYXBwZXJHTCogdGV4bWFw
R0woKSA9IDA7CiAgICAgfTsKIAogICAgIFRleHR1cmVNYXBwZXJQbGF0Zm9ybUxheWVyUHJveHko
KTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvU2hhcmVkL0Nvb3JkaW5hdGVkR3JhcGhpY3Mv
Q29vcmRpbmF0ZWRHcmFwaGljc1NjZW5lLmNwcCBiL1NvdXJjZS9XZWJLaXQvU2hhcmVkL0Nvb3Jk
aW5hdGVkR3JhcGhpY3MvQ29vcmRpbmF0ZWRHcmFwaGljc1NjZW5lLmNwcAppbmRleCA2YzJlYmQ1
ODA4OGJiZGM0ZTljZDA3MWZiYzU2OGY5YjVmYzFkNTdkLi5hNmQ3ZmRlMDIzOWI4Y2QyNWE4M2Mw
NWFmZjJkZmZjNGVmMzYxOGUzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9Db29y
ZGluYXRlZEdyYXBoaWNzL0Nvb3JkaW5hdGVkR3JhcGhpY3NTY2VuZS5jcHAKKysrIGIvU291cmNl
L1dlYktpdC9TaGFyZWQvQ29vcmRpbmF0ZWRHcmFwaGljcy9Db29yZGluYXRlZEdyYXBoaWNzU2Nl
bmUuY3BwCkBAIC0xNDYsMTQgKzE0Niw2IEBAIHZvaWQgQ29vcmRpbmF0ZWRHcmFwaGljc1NjZW5l
Ojpvbk5ld0J1ZmZlckF2YWlsYWJsZSgpCiB7CiAgICAgdXBkYXRlVmlld3BvcnQoKTsKIH0KLQot
VGV4dHVyZU1hcHBlckdMKiBDb29yZGluYXRlZEdyYXBoaWNzU2NlbmU6OnRleG1hcEdMKCkKLXsK
LSAgICBpZiAoIW1fdGV4dHVyZU1hcHBlcikKLSAgICAgICAgcmV0dXJuIG51bGxwdHI7Ci0KLSAg
ICByZXR1cm4gc3RhdGljX2Nhc3Q8VGV4dHVyZU1hcHBlckdMKj4obV90ZXh0dXJlTWFwcGVyLmdl
dCgpKTsKLX0KICNlbmRpZgogCiB2b2lkIENvb3JkaW5hdGVkR3JhcGhpY3NTY2VuZTo6c2V0TGF5
ZXJSZXBhaW50Q291bnRJZk5lZWRlZChUZXh0dXJlTWFwcGVyTGF5ZXIqIGxheWVyLCBjb25zdCBD
b29yZGluYXRlZEdyYXBoaWNzTGF5ZXJTdGF0ZSYgc3RhdGUpCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViS2l0L1NoYXJlZC9Db29yZGluYXRlZEdyYXBoaWNzL0Nvb3JkaW5hdGVkR3JhcGhpY3NTY2Vu
ZS5oIGIvU291cmNlL1dlYktpdC9TaGFyZWQvQ29vcmRpbmF0ZWRHcmFwaGljcy9Db29yZGluYXRl
ZEdyYXBoaWNzU2NlbmUuaAppbmRleCAxNGZiYzRjMjliN2UyMDRhYTUzNjRlN2I3OWRkMzQ0NTYx
M2Q4MDg0Li4xODQ1NGMzMGJkNzBkMjE4NGI0ZjU1MGU2MGRmMTFkNGExM2VmYTQ3IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9Db29yZGluYXRlZEdyYXBoaWNzL0Nvb3JkaW5hdGVk
R3JhcGhpY3NTY2VuZS5oCisrKyBiL1NvdXJjZS9XZWJLaXQvU2hhcmVkL0Nvb3JkaW5hdGVkR3Jh
cGhpY3MvQ29vcmRpbmF0ZWRHcmFwaGljc1NjZW5lLmgKQEAgLTE0OCw3ICsxNDgsNiBAQCBwcml2
YXRlOgogCiAjaWYgVVNFKENPT1JESU5BVEVEX0dSQVBISUNTX1RIUkVBREVEKQogICAgIHZvaWQg
b25OZXdCdWZmZXJBdmFpbGFibGUoKSBvdmVycmlkZTsKLSAgICBXZWJDb3JlOjpUZXh0dXJlTWFw
cGVyR0wqIHRleG1hcEdMKCkgb3ZlcnJpZGU7CiAjZW5kaWYKIAogICAgIHN0ZDo6dW5pcXVlX3B0
cjxXZWJDb3JlOjpUZXh0dXJlTWFwcGVyPiBtX3RleHR1cmVNYXBwZXI7Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>