<?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>179272</bug_id>
          
          <creation_ts>2017-11-03 15:52:59 -0700</creation_ts>
          <short_desc>LayoutState should take RenderBox reference.</short_desc>
          <delta_ts>2017-11-03 22:40:27 -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>Layout and Rendering</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="alan">zalan</reporter>
          <assigned_to name="alan">zalan</assigned_to>
          <cc>bfulgham</cc>
    
    <cc>commit-queue</cc>
    
    <cc>simon.fraser</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>zalan</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1368213</commentid>
    <comment_count>0</comment_count>
    <who name="alan">zalan</who>
    <bug_when>2017-11-03 15:52:59 -0700</bug_when>
    <thetext>instead of RenderBox*</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1368214</commentid>
    <comment_count>1</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2017-11-03 15:53:23 -0700</bug_when>
    <thetext>&lt;rdar://problem/35345247&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1368226</commentid>
    <comment_count>2</comment_count>
      <attachid>325984</attachid>
    <who name="alan">zalan</who>
    <bug_when>2017-11-03 16:19:14 -0700</bug_when>
    <thetext>Created attachment 325984
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1368227</commentid>
    <comment_count>3</comment_count>
      <attachid>325984</attachid>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2017-11-03 16:21:17 -0700</bug_when>
    <thetext>Comment on attachment 325984
Patch

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

&gt; Source/WebCore/rendering/LayoutState.h:124
&gt; -    RenderObject* m_renderer { nullptr };
&gt; +    RenderElement* m_root { nullptr };

Isn&apos;t this the current renderer (the one associated with this state), not the root?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1368274</commentid>
    <comment_count>4</comment_count>
    <who name="alan">zalan</who>
    <bug_when>2017-11-03 18:46:33 -0700</bug_when>
    <thetext>(In reply to Simon Fraser (smfr) from comment #3)
&gt; Comment on attachment 325984 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=325984&amp;action=review
&gt; 
&gt; &gt; Source/WebCore/rendering/LayoutState.h:124
&gt; &gt; -    RenderObject* m_renderer { nullptr };
&gt; &gt; +    RenderElement* m_root { nullptr };
&gt; 
&gt; Isn&apos;t this the current renderer (the one associated with this state), not
&gt; the root?
It&apos;s the root of the LayoutState, but it indeed could be confusing. I&apos;ll revert it back to renderer.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1368275</commentid>
    <comment_count>5</comment_count>
      <attachid>325999</attachid>
    <who name="alan">zalan</who>
    <bug_when>2017-11-03 18:50:17 -0700</bug_when>
    <thetext>Created attachment 325999
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1368323</commentid>
    <comment_count>6</comment_count>
      <attachid>325999</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2017-11-03 22:40:26 -0700</bug_when>
    <thetext>Comment on attachment 325999
Patch

Clearing flags on attachment: 325999

Committed r224455: &lt;https://trac.webkit.org/changeset/224455&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1368324</commentid>
    <comment_count>7</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2017-11-03 22:40:27 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>325984</attachid>
            <date>2017-11-03 16:19:14 -0700</date>
            <delta_ts>2017-11-03 18:50:15 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-179272-20171103161913.patch</filename>
            <type>text/plain</type>
            <size>14227</size>
            <attacher name="alan">zalan</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjI0NDM5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNmQyM2I1Mzk1N2ZkNDAy
Y2M5ZDM3YmZhMjVjMzFkNWMyNzhjYzUwYy4uZjEwNTY3OTU0ZTllODc3MmQwNDc3YTUxNTM2MGFm
MjJjYTliOTVmZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI0IEBACisyMDE3LTExLTAzICBaYWxh
biBCdWp0YXMgIDx6YWxhbkBhcHBsZS5jb20+CisKKyAgICAgICAgTGF5b3V0U3RhdGUgc2hvdWxk
IHRha2UgUmVuZGVyQm94IHJlZmVyZW5jZS4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTE3OTI3MgorICAgICAgICA8cmRhcjovL3Byb2JsZW0vMzUzNDUy
NDc+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgTm8g
Y2hhbmdlIGluIGZ1bmN0aW9uYWxpdHkuCisKKyAgICAgICAgKiByZW5kZXJpbmcvTGF5b3V0U3Rh
dGUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6TGF5b3V0U3RhdGU6OkxheW91dFN0YXRlKToKKyAg
ICAgICAgKFdlYkNvcmU6OkxheW91dFN0YXRlOjpwcm9wYWdhdGVMaW5lR3JpZEluZm8pOgorICAg
ICAgICAoV2ViQ29yZTo6TGF5b3V0U3RhdGU6OmVzdGFibGlzaExpbmVHcmlkKToKKyAgICAgICAg
KiByZW5kZXJpbmcvTGF5b3V0U3RhdGUuaDogdHlwZSB0aWdodGVuaW5nLgorICAgICAgICAqIHJl
bmRlcmluZy9SZW5kZXJCbG9jay5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJCbG9jazo6
b2Zmc2V0RnJvbUxvZ2ljYWxUb3BPZkZpcnN0UGFnZSBjb25zdCk6CisgICAgICAgICogcmVuZGVy
aW5nL1JlbmRlclZpZXcuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyVmlldzo6cHVzaExh
eW91dFN0YXRlKToKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyVmlldy5oOgorCiAyMDE3LTEx
LTAzICBZb3Vlbm4gRmFibGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4KIAogICAgICAgICBSZXF1ZXN0
cyBoYW5kbGVkIGJ5IFNlcnZpY2UgV29ya2VyIHNob3VsZCBub3QgZ28gdGhyb3VnaCBwcmVmbGln
aHRpbmcKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9MYXlvdXRTdGF0ZS5j
cHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvTGF5b3V0U3RhdGUuY3BwCmluZGV4IGFlMmYx
Mzc3YWQ0ZGI3MGI0MmY0MzJlNDU5ZGVkZjJjZTYyMWM2NGYuLjJkNmY2NTUzMWY1Mzc0Y2U2ZWZj
YjIzYmE5ZDM4YTkyOTQ2NzE0OGMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmlu
Zy9MYXlvdXRTdGF0ZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL0xheW91dFN0
YXRlLmNwcApAQCAtMzQsNDAgKzM0LDQwIEBACiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotTGF5
b3V0U3RhdGU6OkxheW91dFN0YXRlKHN0ZDo6dW5pcXVlX3B0cjxMYXlvdXRTdGF0ZT4gYW5jZXN0
b3IsIFJlbmRlckJveCogcmVuZGVyZXIsIGNvbnN0IExheW91dFNpemUmIG9mZnNldCwgTGF5b3V0
VW5pdCBwYWdlTG9naWNhbEhlaWdodCwgYm9vbCBwYWdlTG9naWNhbEhlaWdodENoYW5nZWQpCitM
YXlvdXRTdGF0ZTo6TGF5b3V0U3RhdGUoc3RkOjp1bmlxdWVfcHRyPExheW91dFN0YXRlPiBhbmNl
c3RvciwgUmVuZGVyQm94JiByb290LCBjb25zdCBMYXlvdXRTaXplJiBvZmZzZXQsIExheW91dFVu
aXQgcGFnZUxvZ2ljYWxIZWlnaHQsIGJvb2wgcGFnZUxvZ2ljYWxIZWlnaHRDaGFuZ2VkKQogICAg
IDogbV9hbmNlc3RvcihXVEZNb3ZlKGFuY2VzdG9yKSkKICNpZm5kZWYgTkRFQlVHCi0gICAgLCBt
X3JlbmRlcmVyKHJlbmRlcmVyKQorICAgICwgbV9yb290KCZyb290KQogI2VuZGlmCiB7CiAgICAg
QVNTRVJUKG1fYW5jZXN0b3IpOwogCi0gICAgYm9vbCBmaXhlZCA9IHJlbmRlcmVyLT5pc0ZpeGVk
UG9zaXRpb25lZCgpOworICAgIGJvb2wgZml4ZWQgPSByb290LmlzRml4ZWRQb3NpdGlvbmVkKCk7
CiAgICAgaWYgKGZpeGVkKSB7CiAgICAgICAgIC8vIEZJWE1FOiBUaGlzIGRvZXNuJ3Qgd29yayBj
b3JyZWN0bHkgd2l0aCB0cmFuc2Zvcm1zLgotICAgICAgICBGbG9hdFBvaW50IGZpeGVkT2Zmc2V0
ID0gcmVuZGVyZXItPnZpZXcoKS5sb2NhbFRvQWJzb2x1dGUoRmxvYXRQb2ludCgpLCBJc0ZpeGVk
KTsKKyAgICAgICAgRmxvYXRQb2ludCBmaXhlZE9mZnNldCA9IHJvb3QudmlldygpLmxvY2FsVG9B
YnNvbHV0ZShGbG9hdFBvaW50KCksIElzRml4ZWQpOwogICAgICAgICBtX3BhaW50T2Zmc2V0ID0g
TGF5b3V0U2l6ZShmaXhlZE9mZnNldC54KCksIGZpeGVkT2Zmc2V0LnkoKSkgKyBvZmZzZXQ7CiAg
ICAgfSBlbHNlCiAgICAgICAgIG1fcGFpbnRPZmZzZXQgPSBtX2FuY2VzdG9yLT5tX3BhaW50T2Zm
c2V0ICsgb2Zmc2V0OwogCi0gICAgaWYgKHJlbmRlcmVyLT5pc091dE9mRmxvd1Bvc2l0aW9uZWQo
KSAmJiAhZml4ZWQpIHsKLSAgICAgICAgaWYgKFJlbmRlckVsZW1lbnQqIGNvbnRhaW5lciA9IHJl
bmRlcmVyLT5jb250YWluZXIoKSkgeworICAgIGlmIChyb290LmlzT3V0T2ZGbG93UG9zaXRpb25l
ZCgpICYmICFmaXhlZCkgeworICAgICAgICBpZiAoUmVuZGVyRWxlbWVudCogY29udGFpbmVyID0g
cm9vdC5jb250YWluZXIoKSkgewogICAgICAgICAgICAgaWYgKGNvbnRhaW5lci0+aXNJbkZsb3dQ
b3NpdGlvbmVkKCkgJiYgaXM8UmVuZGVySW5saW5lPigqY29udGFpbmVyKSkKLSAgICAgICAgICAg
ICAgICBtX3BhaW50T2Zmc2V0ICs9IGRvd25jYXN0PFJlbmRlcklubGluZT4oKmNvbnRhaW5lciku
b2Zmc2V0Rm9ySW5GbG93UG9zaXRpb25lZElubGluZShyZW5kZXJlcik7CisgICAgICAgICAgICAg
ICAgbV9wYWludE9mZnNldCArPSBkb3duY2FzdDxSZW5kZXJJbmxpbmU+KCpjb250YWluZXIpLm9m
ZnNldEZvckluRmxvd1Bvc2l0aW9uZWRJbmxpbmUoJnJvb3QpOwogICAgICAgICB9CiAgICAgfQog
CiAgICAgbV9sYXlvdXRPZmZzZXQgPSBtX3BhaW50T2Zmc2V0OwogCi0gICAgaWYgKHJlbmRlcmVy
LT5pc0luRmxvd1Bvc2l0aW9uZWQoKSAmJiByZW5kZXJlci0+aGFzTGF5ZXIoKSkKLSAgICAgICAg
bV9wYWludE9mZnNldCArPSByZW5kZXJlci0+bGF5ZXIoKS0+b2Zmc2V0Rm9ySW5GbG93UG9zaXRp
b24oKTsKKyAgICBpZiAocm9vdC5pc0luRmxvd1Bvc2l0aW9uZWQoKSAmJiByb290Lmhhc0xheWVy
KCkpCisgICAgICAgIG1fcGFpbnRPZmZzZXQgKz0gcm9vdC5sYXllcigpLT5vZmZzZXRGb3JJbkZs
b3dQb3NpdGlvbigpOwogCiAgICAgbV9jbGlwcGVkID0gIWZpeGVkICYmIG1fYW5jZXN0b3ItPm1f
Y2xpcHBlZDsKICAgICBpZiAobV9jbGlwcGVkKQogICAgICAgICBtX2NsaXBSZWN0ID0gbV9hbmNl
c3Rvci0+bV9jbGlwUmVjdDsKIAotICAgIGlmIChyZW5kZXJlci0+aGFzT3ZlcmZsb3dDbGlwKCkp
IHsKLSAgICAgICAgTGF5b3V0UmVjdCBjbGlwUmVjdCh0b0xheW91dFBvaW50KG1fcGFpbnRPZmZz
ZXQpICsgcmVuZGVyZXItPnZpZXcoKS5sYXlvdXREZWx0YSgpLCByZW5kZXJlci0+Y2FjaGVkU2l6
ZUZvck92ZXJmbG93Q2xpcCgpKTsKKyAgICBpZiAocm9vdC5oYXNPdmVyZmxvd0NsaXAoKSkgewor
ICAgICAgICBMYXlvdXRSZWN0IGNsaXBSZWN0KHRvTGF5b3V0UG9pbnQobV9wYWludE9mZnNldCkg
KyByb290LnZpZXcoKS5sYXlvdXREZWx0YSgpLCByb290LmNhY2hlZFNpemVGb3JPdmVyZmxvd0Ns
aXAoKSk7CiAgICAgICAgIGlmIChtX2NsaXBwZWQpCiAgICAgICAgICAgICBtX2NsaXBSZWN0Lmlu
dGVyc2VjdChjbGlwUmVjdCk7CiAgICAgICAgIGVsc2UgewpAQCAtNzUsMTYgKzc1LDE1IEBAIExh
eW91dFN0YXRlOjpMYXlvdXRTdGF0ZShzdGQ6OnVuaXF1ZV9wdHI8TGF5b3V0U3RhdGU+IGFuY2Vz
dG9yLCBSZW5kZXJCb3gqIHJlbmRlCiAgICAgICAgICAgICBtX2NsaXBwZWQgPSB0cnVlOwogICAg
ICAgICB9CiAKLSAgICAgICAgbV9wYWludE9mZnNldCAtPSB0b0xheW91dFNpemUocmVuZGVyZXIt
PnNjcm9sbFBvc2l0aW9uKCkpOworICAgICAgICBtX3BhaW50T2Zmc2V0IC09IHRvTGF5b3V0U2l6
ZShyb290LnNjcm9sbFBvc2l0aW9uKCkpOwogICAgIH0KIAogICAgIC8vIElmIHdlIGVzdGFibGlz
aCBhIG5ldyBwYWdlIGhlaWdodCwgdGhlbiBjYWNoZSB0aGUgb2Zmc2V0IHRvIHRoZSB0b3Agb2Yg
dGhlIGZpcnN0IHBhZ2UuCiAgICAgLy8gV2UgY2FuIGNvbXBhcmUgdGhpcyBsYXRlciBvbiB0byBm
aWd1cmUgb3V0IHdoYXQgcGFydCBvZiB0aGUgcGFnZSB3ZSdyZSBhY3R1YWxseSBvbiwKLSAgICBp
ZiAocGFnZUxvZ2ljYWxIZWlnaHQgfHwgcmVuZGVyZXItPmlzUmVuZGVyRnJhZ21lbnRlZEZsb3co
KSkgeworICAgIGlmIChwYWdlTG9naWNhbEhlaWdodCB8fCByb290LmlzUmVuZGVyRnJhZ21lbnRl
ZEZsb3coKSkgewogICAgICAgICBtX3BhZ2VMb2dpY2FsSGVpZ2h0ID0gcGFnZUxvZ2ljYWxIZWln
aHQ7Ci0gICAgICAgIGJvb2wgaXNGbGlwcGVkID0gcmVuZGVyZXItPnN0eWxlKCkuaXNGbGlwcGVk
QmxvY2tzV3JpdGluZ01vZGUoKTsKLSAgICAgICAgbV9wYWdlT2Zmc2V0ID0gTGF5b3V0U2l6ZSht
X2xheW91dE9mZnNldC53aWR0aCgpICsgKCFpc0ZsaXBwZWQgPyByZW5kZXJlci0+Ym9yZGVyTGVm
dCgpICsgcmVuZGVyZXItPnBhZGRpbmdMZWZ0KCkgOiByZW5kZXJlci0+Ym9yZGVyUmlnaHQoKSAr
IHJlbmRlcmVyLT5wYWRkaW5nUmlnaHQoKSksCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgbV9sYXlvdXRPZmZzZXQuaGVpZ2h0KCkgKyAoIWlzRmxpcHBlZCA/IHJlbmRlcmVyLT5ib3Jk
ZXJUb3AoKSArIHJlbmRlcmVyLT5wYWRkaW5nVG9wKCkgOiByZW5kZXJlci0+Ym9yZGVyQm90dG9t
KCkgKyByZW5kZXJlci0+cGFkZGluZ0JvdHRvbSgpKSk7CisgICAgICAgIGJvb2wgaXNGbGlwcGVk
ID0gcm9vdC5zdHlsZSgpLmlzRmxpcHBlZEJsb2Nrc1dyaXRpbmdNb2RlKCk7CisgICAgICAgIG1f
cGFnZU9mZnNldCA9IExheW91dFNpemUobV9sYXlvdXRPZmZzZXQud2lkdGgoKSArICghaXNGbGlw
cGVkID8gcm9vdC5ib3JkZXJMZWZ0KCkgKyByb290LnBhZGRpbmdMZWZ0KCkgOiByb290LmJvcmRl
clJpZ2h0KCkgKyByb290LnBhZGRpbmdSaWdodCgpKSwgbV9sYXlvdXRPZmZzZXQuaGVpZ2h0KCkg
KyAoIWlzRmxpcHBlZCA/IHJvb3QuYm9yZGVyVG9wKCkgKyByb290LnBhZGRpbmdUb3AoKSA6IHJv
b3QuYm9yZGVyQm90dG9tKCkgKyByb290LnBhZGRpbmdCb3R0b20oKSkpOwogICAgICAgICBtX3Bh
Z2VMb2dpY2FsSGVpZ2h0Q2hhbmdlZCA9IHBhZ2VMb2dpY2FsSGVpZ2h0Q2hhbmdlZDsKICAgICAg
ICAgbV9pc1BhZ2luYXRlZCA9IHRydWU7CiAgICAgfSBlbHNlIHsKQEAgLTk1LDE1ICs5NCwxNSBA
QCBMYXlvdXRTdGF0ZTo6TGF5b3V0U3RhdGUoc3RkOjp1bmlxdWVfcHRyPExheW91dFN0YXRlPiBh
bmNlc3RvciwgUmVuZGVyQm94KiByZW5kZQogICAgICAgICAKICAgICAgICAgLy8gRGlzYWJsZSBw
YWdpbmF0aW9uIGZvciBvYmplY3RzIHdlIGRvbid0IHN1cHBvcnQuIEZvciBub3cgdGhpcyBpbmNs
dWRlcyBvdmVyZmxvdzpzY3JvbGwvYXV0bywgaW5saW5lIGJsb2NrcyBhbmQKICAgICAgICAgLy8g
d3JpdGluZyBtb2RlIHJvb3RzLgotICAgICAgICBpZiAocmVuZGVyZXItPmlzVW5zcGxpdHRhYmxl
Rm9yUGFnaW5hdGlvbigpKSB7CisgICAgICAgIGlmIChyb290LmlzVW5zcGxpdHRhYmxlRm9yUGFn
aW5hdGlvbigpKSB7CiAgICAgICAgICAgICBtX3BhZ2VMb2dpY2FsSGVpZ2h0ID0gMDsKICAgICAg
ICAgICAgIG1faXNQYWdpbmF0ZWQgPSBmYWxzZTsKICAgICAgICAgfSBlbHNlCi0gICAgICAgICAg
ICBtX2lzUGFnaW5hdGVkID0gbV9wYWdlTG9naWNhbEhlaWdodCB8fCByZW5kZXJlci0+ZW5jbG9z
aW5nRnJhZ21lbnRlZEZsb3coKTsKKyAgICAgICAgICAgIG1faXNQYWdpbmF0ZWQgPSBtX3BhZ2VM
b2dpY2FsSGVpZ2h0IHx8IHJvb3QuZW5jbG9zaW5nRnJhZ21lbnRlZEZsb3coKTsKICAgICB9CiAg
ICAgCiAgICAgLy8gUHJvcGFnYXRlIGxpbmUgZ3JpZCBpbmZvcm1hdGlvbi4KLSAgICBwcm9wYWdh
dGVMaW5lR3JpZEluZm8ocmVuZGVyZXIpOworICAgIHByb3BhZ2F0ZUxpbmVHcmlkSW5mbyhyb290
KTsKIAogICAgIG1fbGF5b3V0RGVsdGEgPSBtX2FuY2VzdG9yLT5tX2xheW91dERlbHRhOwogI2lm
ICFBU1NFUlRfRElTQUJMRUQKQEAgLTExMSwxNyArMTEwLDE3IEBAIExheW91dFN0YXRlOjpMYXlv
dXRTdGF0ZShzdGQ6OnVuaXF1ZV9wdHI8TGF5b3V0U3RhdGU+IGFuY2VzdG9yLCBSZW5kZXJCb3gq
IHJlbmRlCiAgICAgbV9sYXlvdXREZWx0YVlTYXR1cmF0ZWQgPSBtX2FuY2VzdG9yLT5tX2xheW91
dERlbHRhWVNhdHVyYXRlZDsKICNlbmRpZgogCi0gICAgaWYgKGxpbmVHcmlkKCkgJiYgKGxpbmVH
cmlkKCktPnN0eWxlKCkud3JpdGluZ01vZGUoKSA9PSByZW5kZXJlci0+c3R5bGUoKS53cml0aW5n
TW9kZSgpKSAmJiBpczxSZW5kZXJNdWx0aUNvbHVtbkZsb3c+KCpyZW5kZXJlcikpCi0gICAgICAg
IGRvd25jYXN0PFJlbmRlck11bHRpQ29sdW1uRmxvdz4oKnJlbmRlcmVyKS5jb21wdXRlTGluZUdy
aWRQYWdpbmF0aW9uT3JpZ2luKCp0aGlzKTsKKyAgICBpZiAobGluZUdyaWQoKSAmJiAobGluZUdy
aWQoKS0+c3R5bGUoKS53cml0aW5nTW9kZSgpID09IHJvb3Quc3R5bGUoKS53cml0aW5nTW9kZSgp
KSAmJiBpczxSZW5kZXJNdWx0aUNvbHVtbkZsb3c+KHJvb3QpKQorICAgICAgICBkb3duY2FzdDxS
ZW5kZXJNdWx0aUNvbHVtbkZsb3c+KHJvb3QpLmNvbXB1dGVMaW5lR3JpZFBhZ2luYXRpb25Pcmln
aW4oKnRoaXMpOwogCiAgICAgLy8gSWYgd2UgaGF2ZSBhIG5ldyBncmlkIHRvIHRyYWNrLCB0aGVu
IGFkZCBpdCB0byBvdXIgc2V0LgotICAgIGlmIChyZW5kZXJlci0+c3R5bGUoKS5saW5lR3JpZCgp
ICE9IFJlbmRlclN0eWxlOjppbml0aWFsTGluZUdyaWQoKSAmJiBpczxSZW5kZXJCbG9ja0Zsb3c+
KCpyZW5kZXJlcikpCi0gICAgICAgIGVzdGFibGlzaExpbmVHcmlkKGRvd25jYXN0PFJlbmRlckJs
b2NrRmxvdz4ocmVuZGVyZXIpKTsKKyAgICBpZiAocm9vdC5zdHlsZSgpLmxpbmVHcmlkKCkgIT0g
UmVuZGVyU3R5bGU6OmluaXRpYWxMaW5lR3JpZCgpICYmIGlzPFJlbmRlckJsb2NrRmxvdz4ocm9v
dCkpCisgICAgICAgIGVzdGFibGlzaExpbmVHcmlkKGRvd25jYXN0PFJlbmRlckJsb2NrRmxvdz4o
cm9vdCkpOwogCiAgICAgLy8gRklYTUU6IDxodHRwOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVn
LmNnaT9pZD0xMzQ0Mz4gQXBwbHkgY29udHJvbCBjbGlwIGlmIHByZXNlbnQuCiB9CiAKLUxheW91
dFN0YXRlOjpMYXlvdXRTdGF0ZShSZW5kZXJPYmplY3QmIHJvb3QpCitMYXlvdXRTdGF0ZTo6TGF5
b3V0U3RhdGUoUmVuZGVyRWxlbWVudCYgcm9vdCkKICAgICA6IG1fY2xpcHBlZChmYWxzZSkKICAg
ICAsIG1faXNQYWdpbmF0ZWQoZmFsc2UpCiAgICAgLCBtX3BhZ2VMb2dpY2FsSGVpZ2h0Q2hhbmdl
ZChmYWxzZSkKQEAgLTEzMCw3ICsxMjksNyBAQCBMYXlvdXRTdGF0ZTo6TGF5b3V0U3RhdGUoUmVu
ZGVyT2JqZWN0JiByb290KQogICAgICwgbV9sYXlvdXREZWx0YVlTYXR1cmF0ZWQoZmFsc2UpCiAj
ZW5kaWYgICAgCiAjaWZuZGVmIE5ERUJVRwotICAgICwgbV9yZW5kZXJlcigmcm9vdCkKKyAgICAs
IG1fcm9vdCgmcm9vdCkKICNlbmRpZgogewogICAgIGlmIChSZW5kZXJFbGVtZW50KiBjb250YWlu
ZXIgPSByb290LmNvbnRhaW5lcigpKSB7CkBAIC0xNTksMTEgKzE1OCwxMSBAQCBMYXlvdXRVbml0
IExheW91dFN0YXRlOjpwYWdlTG9naWNhbE9mZnNldChSZW5kZXJCb3gqIGNoaWxkLCBMYXlvdXRV
bml0IGNoaWxkTG9naQogICAgIHJldHVybiBtX2xheW91dE9mZnNldC53aWR0aCgpICsgY2hpbGRM
b2dpY2FsT2Zmc2V0IC0gbV9wYWdlT2Zmc2V0LndpZHRoKCk7CiB9CiAKLXZvaWQgTGF5b3V0U3Rh
dGU6OnByb3BhZ2F0ZUxpbmVHcmlkSW5mbyhSZW5kZXJCb3gqIHJlbmRlcmVyKQordm9pZCBMYXlv
dXRTdGF0ZTo6cHJvcGFnYXRlTGluZUdyaWRJbmZvKFJlbmRlckJveCYgcmVuZGVyZXIpCiB7CiAg
ICAgLy8gRGlzYWJsZSBsaW5lIGdyaWRzIGZvciBvYmplY3RzIHdlIGRvbid0IHN1cHBvcnQuIEZv
ciBub3cgdGhpcyBpbmNsdWRlcyBvdmVyZmxvdzpzY3JvbGwvYXV0bywgaW5saW5lIGJsb2NrcyBh
bmQKICAgICAvLyB3cml0aW5nIG1vZGUgcm9vdHMuCi0gICAgaWYgKCFtX2FuY2VzdG9yIHx8IHJl
bmRlcmVyLT5pc1Vuc3BsaXR0YWJsZUZvclBhZ2luYXRpb24oKSkKKyAgICBpZiAoIW1fYW5jZXN0
b3IgfHwgcmVuZGVyZXIuaXNVbnNwbGl0dGFibGVGb3JQYWdpbmF0aW9uKCkpCiAgICAgICAgIHJl
dHVybjsKIAogICAgIG1fbGluZUdyaWQgPSBtX2FuY2VzdG9yLT5tX2xpbmVHcmlkOwpAQCAtMTcx
LDExICsxNzAsMTEgQEAgdm9pZCBMYXlvdXRTdGF0ZTo6cHJvcGFnYXRlTGluZUdyaWRJbmZvKFJl
bmRlckJveCogcmVuZGVyZXIpCiAgICAgbV9saW5lR3JpZFBhZ2luYXRpb25PcmlnaW4gPSBtX2Fu
Y2VzdG9yLT5tX2xpbmVHcmlkUGFnaW5hdGlvbk9yaWdpbjsKIH0KIAotdm9pZCBMYXlvdXRTdGF0
ZTo6ZXN0YWJsaXNoTGluZUdyaWQoUmVuZGVyQmxvY2tGbG93KiBibG9jaykKK3ZvaWQgTGF5b3V0
U3RhdGU6OmVzdGFibGlzaExpbmVHcmlkKFJlbmRlckJsb2NrRmxvdyYgcm9vdCkKIHsKICAgICAv
LyBGaXJzdCBjaGVjayB0byBzZWUgaWYgdGhpcyBncmlkIGhhcyBiZWVuIGVzdGFibGlzaGVkIGFs
cmVhZHkuCiAgICAgaWYgKG1fbGluZUdyaWQpIHsKLSAgICAgICAgaWYgKG1fbGluZUdyaWQtPnN0
eWxlKCkubGluZUdyaWQoKSA9PSBibG9jay0+c3R5bGUoKS5saW5lR3JpZCgpKQorICAgICAgICBp
ZiAobV9saW5lR3JpZC0+c3R5bGUoKS5saW5lR3JpZCgpID09IHJvb3Quc3R5bGUoKS5saW5lR3Jp
ZCgpKQogICAgICAgICAgICAgcmV0dXJuOwogICAgICAgICBSZW5kZXJCbG9ja0Zsb3cqIGN1cnJl
bnRHcmlkID0gbV9saW5lR3JpZDsKICAgICAgICAgZm9yIChMYXlvdXRTdGF0ZSogY3VycmVudFN0
YXRlID0gbV9hbmNlc3Rvci5nZXQoKTsgY3VycmVudFN0YXRlOyBjdXJyZW50U3RhdGUgPSBjdXJy
ZW50U3RhdGUtPm1fYW5jZXN0b3IuZ2V0KCkpIHsKQEAgLTE4NCw3ICsxODMsNyBAQCB2b2lkIExh
eW91dFN0YXRlOjplc3RhYmxpc2hMaW5lR3JpZChSZW5kZXJCbG9ja0Zsb3cqIGJsb2NrKQogICAg
ICAgICAgICAgY3VycmVudEdyaWQgPSBjdXJyZW50U3RhdGUtPm1fbGluZUdyaWQ7CiAgICAgICAg
ICAgICBpZiAoIWN1cnJlbnRHcmlkKQogICAgICAgICAgICAgICAgIGJyZWFrOwotICAgICAgICAg
ICAgaWYgKGN1cnJlbnRHcmlkLT5zdHlsZSgpLmxpbmVHcmlkKCkgPT0gYmxvY2stPnN0eWxlKCku
bGluZUdyaWQoKSkgeworICAgICAgICAgICAgaWYgKGN1cnJlbnRHcmlkLT5zdHlsZSgpLmxpbmVH
cmlkKCkgPT0gcm9vdC5zdHlsZSgpLmxpbmVHcmlkKCkpIHsKICAgICAgICAgICAgICAgICBtX2xp
bmVHcmlkID0gY3VycmVudEdyaWQ7CiAgICAgICAgICAgICAgICAgbV9saW5lR3JpZE9mZnNldCA9
IGN1cnJlbnRTdGF0ZS0+bV9saW5lR3JpZE9mZnNldDsKICAgICAgICAgICAgICAgICByZXR1cm47
CkBAIC0xOTMsNyArMTkyLDcgQEAgdm9pZCBMYXlvdXRTdGF0ZTo6ZXN0YWJsaXNoTGluZUdyaWQo
UmVuZGVyQmxvY2tGbG93KiBibG9jaykKICAgICB9CiAgICAgCiAgICAgLy8gV2UgZGlkbid0IGZp
bmQgYW4gYWxyZWFkeS1lc3RhYmxpc2hlZCBncmlkIHdpdGggdGhpcyBpZGVudGlmaWVyLiBPdXIg
cmVuZGVyIG9iamVjdCBlc3RhYmxpc2hlcyB0aGUgZ3JpZC4KLSAgICBtX2xpbmVHcmlkID0gYmxv
Y2s7CisgICAgbV9saW5lR3JpZCA9ICZyb290OwogICAgIG1fbGluZUdyaWRPZmZzZXQgPSBtX2xh
eW91dE9mZnNldDsgCiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9M
YXlvdXRTdGF0ZS5oIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL0xheW91dFN0YXRlLmgKaW5k
ZXggNmNmMGQxNjg1NjUwMTIzZDAwN2FkZWYxYjdjNmE2YjRkYmZjMGQwZi4uOGUzYjJlYzM0OGJj
ZjliMDBhNmNhZjAwYWI2ZjAwZDJjNjYzNWI5NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
cmVuZGVyaW5nL0xheW91dFN0YXRlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL0xh
eW91dFN0YXRlLmgKQEAgLTUzLDggKzUzLDggQEAgcHVibGljOgogICAgIHsKICAgICB9CiAKLSAg
ICBMYXlvdXRTdGF0ZShzdGQ6OnVuaXF1ZV9wdHI8TGF5b3V0U3RhdGU+IGFuY2VzdG9yLCBSZW5k
ZXJCb3gqLCBjb25zdCBMYXlvdXRTaXplJiBvZmZzZXQsIExheW91dFVuaXQgcGFnZUhlaWdodCwg
Ym9vbCBwYWdlSGVpZ2h0Q2hhbmdlZCk7Ci0gICAgZXhwbGljaXQgTGF5b3V0U3RhdGUoUmVuZGVy
T2JqZWN0Jik7CisgICAgTGF5b3V0U3RhdGUoc3RkOjp1bmlxdWVfcHRyPExheW91dFN0YXRlPiBh
bmNlc3RvciwgUmVuZGVyQm94JiwgY29uc3QgTGF5b3V0U2l6ZSYgb2Zmc2V0LCBMYXlvdXRVbml0
IHBhZ2VIZWlnaHQsIGJvb2wgcGFnZUhlaWdodENoYW5nZWQpOworICAgIGV4cGxpY2l0IExheW91
dFN0YXRlKFJlbmRlckVsZW1lbnQmKTsKIAogICAgIHZvaWQgY2xlYXJQYWdpbmF0aW9uSW5mb3Jt
YXRpb24oKTsKICAgICBib29sIGlzUGFnaW5hdGVkKCkgY29uc3QgeyByZXR1cm4gbV9pc1BhZ2lu
YXRlZDsgfQpAQCAtODEsOCArODEsOCBAQCBwdWJsaWM6CiAgICAgdm9pZCBzZXRDdXJyZW50UmVu
ZGVyRnJhZ21lbnRlZEZsb3coUmVuZGVyRnJhZ21lbnRlZEZsb3cqIGZyYWdtZW50ZWRGbG93KSB7
IG1fY3VycmVudFJlbmRlckZyYWdtZW50ZWRGbG93ID0gZnJhZ21lbnRlZEZsb3c7IH0KIAogcHJp
dmF0ZToKLSAgICB2b2lkIHByb3BhZ2F0ZUxpbmVHcmlkSW5mbyhSZW5kZXJCb3gqKTsKLSAgICB2
b2lkIGVzdGFibGlzaExpbmVHcmlkKFJlbmRlckJsb2NrRmxvdyopOworICAgIHZvaWQgcHJvcGFn
YXRlTGluZUdyaWRJbmZvKFJlbmRlckJveCYpOworICAgIHZvaWQgZXN0YWJsaXNoTGluZUdyaWQo
UmVuZGVyQmxvY2tGbG93Jik7CiAKIHB1YmxpYzoKICAgICAvLyBEbyBub3QgYWRkIGFueXRoaW5n
IGFwYXJ0IGZyb20gYml0ZmllbGRzLiBTZWUgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTEwMDE3MwpAQCAtMTIwLDkgKzEyMCw4IEBAIHB1YmxpYzoKICAgICBMYXlvdXRT
aXplIG1fbGluZUdyaWRQYWdpbmF0aW9uT3JpZ2luOwogCiAgICAgUmVuZGVyRnJhZ21lbnRlZEZs
b3cqIG1fY3VycmVudFJlbmRlckZyYWdtZW50ZWRGbG93IHsgbnVsbHB0ciB9OwotCiAjaWZuZGVm
IE5ERUJVRwotICAgIFJlbmRlck9iamVjdCogbV9yZW5kZXJlciB7IG51bGxwdHIgfTsKKyAgICBS
ZW5kZXJFbGVtZW50KiBtX3Jvb3QgeyBudWxscHRyIH07CiAjZW5kaWYKIH07CiAKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCbG9jay5jcHAgYi9Tb3VyY2UvV2Vi
Q29yZS9yZW5kZXJpbmcvUmVuZGVyQmxvY2suY3BwCmluZGV4IDJlNDEwYWY1YzVmNDVkOTUzMjNm
NjEyOGIwY2JlYWE5ZjRiM2Y1NzkuLjE1YzZkODAyZjY2OTgxMjA1Njc2MTY5YjM2ZDBlNDQwOGU0
ZjE4MGIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCbG9jay5j
cHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJsb2NrLmNwcApAQCAtMzMz
Nyw3ICszMzM3LDcgQEAgTGF5b3V0VW5pdCBSZW5kZXJCbG9jazo6b2Zmc2V0RnJvbUxvZ2ljYWxU
b3BPZkZpcnN0UGFnZSgpIGNvbnN0CiAgICAgICAgIHJldHVybiBmcmFnbWVudGVkRmxvdy0+b2Zm
c2V0RnJvbUxvZ2ljYWxUb3BPZkZpcnN0RnJhZ21lbnQodGhpcyk7CiAKICAgICBpZiAobGF5b3V0
U3RhdGUpIHsKLSAgICAgICAgQVNTRVJUKGxheW91dFN0YXRlLT5tX3JlbmRlcmVyID09IHRoaXMp
OworICAgICAgICBBU1NFUlQobGF5b3V0U3RhdGUtPm1fcm9vdCA9PSB0aGlzKTsKIAogICAgICAg
ICBMYXlvdXRTaXplIG9mZnNldERlbHRhID0gbGF5b3V0U3RhdGUtPm1fbGF5b3V0T2Zmc2V0IC0g
bGF5b3V0U3RhdGUtPm1fcGFnZU9mZnNldDsKICAgICAgICAgcmV0dXJuIGlzSG9yaXpvbnRhbFdy
aXRpbmdNb2RlKCkgPyBvZmZzZXREZWx0YS5oZWlnaHQoKSA6IG9mZnNldERlbHRhLndpZHRoKCk7
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVmlldy5jcHAgYi9T
b3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVmlldy5jcHAKaW5kZXggZTMxY2U2YjUzYTEw
YWE3YWZjNWViMjFhZWUwY2RhYzExOGYzMjI3OS4uMTRiMDM1MWQxNmZhMTY1ZTRiNDQ4MDEyYTkz
MjAyZTA0NWM4ZDk2NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRl
clZpZXcuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJWaWV3LmNwcApA
QCAtNzUzLDcgKzc1Myw3IEBAIGZsb2F0IFJlbmRlclZpZXc6Onpvb21GYWN0b3IoKSBjb25zdAog
ICAgIHJldHVybiBmcmFtZVZpZXcoKS5mcmFtZSgpLnBhZ2Vab29tRmFjdG9yKCk7CiB9CiAKLXZv
aWQgUmVuZGVyVmlldzo6cHVzaExheW91dFN0YXRlKFJlbmRlck9iamVjdCYgcm9vdCkKK3ZvaWQg
UmVuZGVyVmlldzo6cHVzaExheW91dFN0YXRlKFJlbmRlckVsZW1lbnQmIHJvb3QpCiB7CiAgICAg
QVNTRVJUKG1fbGF5b3V0U3RhdGVEaXNhYmxlQ291bnQgPT0gMCk7CiAgICAgQVNTRVJUKG1fbGF5
b3V0U3RhdGUgPT0gMCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVu
ZGVyVmlldy5oIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclZpZXcuaAppbmRleCA1
YzQ2OTRlMjMwNzc5MTc0ODJmNGY5YjY5NjQyZTA1ZjkzZWMyMmI4Li45ZjI5Y2IzODdlMjE1YTcz
M2MxOWFlOTllOGQyNDhkNjZlNmVlYTU3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5k
ZXJpbmcvUmVuZGVyVmlldy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJW
aWV3LmgKQEAgLTEyMCw3ICsxMjAsNyBAQCBwdWJsaWM6CiAgICAgYm9vbCBkb2luZ0Z1bGxSZXBh
aW50KCkgY29uc3QgeyByZXR1cm4gZnJhbWVWaWV3KCkubGF5b3V0Q29udGV4dCgpLm5lZWRzRnVs
bFJlcGFpbnQoKTsgfQogCiAgICAgLy8gU3VidHJlZSBwdXNoL3BvcAotICAgIHZvaWQgcHVzaExh
eW91dFN0YXRlKFJlbmRlck9iamVjdCYpOworICAgIHZvaWQgcHVzaExheW91dFN0YXRlKFJlbmRl
ckVsZW1lbnQmKTsKICAgICBib29sIHB1c2hMYXlvdXRTdGF0ZUZvclBhZ2luYXRpb25JZk5lZWRl
ZChSZW5kZXJCbG9ja0Zsb3cmKTsKICAgICB2b2lkIHBvcExheW91dFN0YXRlKFJlbmRlck9iamVj
dCYpIHsgcmV0dXJuIHBvcExheW91dFN0YXRlKCk7IH0gLy8gSnVzdCBkb2luZyB0aGlzIHRvIGtl
ZXAgcG9wTGF5b3V0U3RhdGUoKSBwcml2YXRlIGFuZCB0byBtYWtlIHRoZSBzdWJ0cmVlIGNhbGxz
IHN5bW1ldHJpY2FsLgogCkBAIC0yNTUsNyArMjU1LDcgQEAgcHJpdmF0ZToKICAgICAgICAgLy8g
V2UgcHVzaCBMYXlvdXRTdGF0ZSBldmVuIGlmIGxheW91dFN0YXRlIGlzIGRpc2FibGVkIGJlY2F1
c2UgaXQgc3RvcmVzIGxheW91dERlbHRhIHRvby4KICAgICAgICAgaWYgKCFkb2luZ0Z1bGxSZXBh
aW50KCkgfHwgbV9sYXlvdXRTdGF0ZS0+aXNQYWdpbmF0ZWQoKSB8fCByZW5kZXJlci5lbmNsb3Np
bmdGcmFnbWVudGVkRmxvdygpCiAgICAgICAgICAgICB8fCBtX2xheW91dFN0YXRlLT5saW5lR3Jp
ZCgpIHx8IChyZW5kZXJlci5zdHlsZSgpLmxpbmVHcmlkKCkgIT0gUmVuZGVyU3R5bGU6OmluaXRp
YWxMaW5lR3JpZCgpICYmIHJlbmRlcmVyLmlzUmVuZGVyQmxvY2tGbG93KCkpKSB7Ci0gICAgICAg
ICAgICBtX2xheW91dFN0YXRlID0gc3RkOjptYWtlX3VuaXF1ZTxMYXlvdXRTdGF0ZT4oV1RGTW92
ZShtX2xheW91dFN0YXRlKSwgJnJlbmRlcmVyLCBvZmZzZXQsIHBhZ2VIZWlnaHQsIHBhZ2VIZWln
aHRDaGFuZ2VkKTsKKyAgICAgICAgICAgIG1fbGF5b3V0U3RhdGUgPSBzdGQ6Om1ha2VfdW5pcXVl
PExheW91dFN0YXRlPihXVEZNb3ZlKG1fbGF5b3V0U3RhdGUpLCByZW5kZXJlciwgb2Zmc2V0LCBw
YWdlSGVpZ2h0LCBwYWdlSGVpZ2h0Q2hhbmdlZCk7CiAgICAgICAgICAgICByZXR1cm4gdHJ1ZTsK
ICAgICAgICAgfQogICAgICAgICByZXR1cm4gZmFsc2U7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>325999</attachid>
            <date>2017-11-03 18:50:17 -0700</date>
            <delta_ts>2017-11-03 22:40:26 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-179272-20171103185016.patch</filename>
            <type>text/plain</type>
            <size>13669</size>
            <attacher name="alan">zalan</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjI0NDM5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNmQyM2I1Mzk1N2ZkNDAy
Y2M5ZDM3YmZhMjVjMzFkNWMyNzhjYzUwYy4uZjEwNTY3OTU0ZTllODc3MmQwNDc3YTUxNTM2MGFm
MjJjYTliOTVmZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI0IEBACisyMDE3LTExLTAzICBaYWxh
biBCdWp0YXMgIDx6YWxhbkBhcHBsZS5jb20+CisKKyAgICAgICAgTGF5b3V0U3RhdGUgc2hvdWxk
IHRha2UgUmVuZGVyQm94IHJlZmVyZW5jZS4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTE3OTI3MgorICAgICAgICA8cmRhcjovL3Byb2JsZW0vMzUzNDUy
NDc+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgTm8g
Y2hhbmdlIGluIGZ1bmN0aW9uYWxpdHkuCisKKyAgICAgICAgKiByZW5kZXJpbmcvTGF5b3V0U3Rh
dGUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6TGF5b3V0U3RhdGU6OkxheW91dFN0YXRlKToKKyAg
ICAgICAgKFdlYkNvcmU6OkxheW91dFN0YXRlOjpwcm9wYWdhdGVMaW5lR3JpZEluZm8pOgorICAg
ICAgICAoV2ViQ29yZTo6TGF5b3V0U3RhdGU6OmVzdGFibGlzaExpbmVHcmlkKToKKyAgICAgICAg
KiByZW5kZXJpbmcvTGF5b3V0U3RhdGUuaDogdHlwZSB0aWdodGVuaW5nLgorICAgICAgICAqIHJl
bmRlcmluZy9SZW5kZXJCbG9jay5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJCbG9jazo6
b2Zmc2V0RnJvbUxvZ2ljYWxUb3BPZkZpcnN0UGFnZSBjb25zdCk6CisgICAgICAgICogcmVuZGVy
aW5nL1JlbmRlclZpZXcuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyVmlldzo6cHVzaExh
eW91dFN0YXRlKToKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyVmlldy5oOgorCiAyMDE3LTEx
LTAzICBZb3Vlbm4gRmFibGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4KIAogICAgICAgICBSZXF1ZXN0
cyBoYW5kbGVkIGJ5IFNlcnZpY2UgV29ya2VyIHNob3VsZCBub3QgZ28gdGhyb3VnaCBwcmVmbGln
aHRpbmcKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9MYXlvdXRTdGF0ZS5j
cHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvTGF5b3V0U3RhdGUuY3BwCmluZGV4IGFlMmYx
Mzc3YWQ0ZGI3MGI0MmY0MzJlNDU5ZGVkZjJjZTYyMWM2NGYuLjUyMWIxN2JkZmJiNTA1ZGFjZTA3
NmZmYmNhNzc1MGQwMDM4OWI0NjggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmlu
Zy9MYXlvdXRTdGF0ZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL0xheW91dFN0
YXRlLmNwcApAQCAtMzQsNDAgKzM0LDQwIEBACiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotTGF5
b3V0U3RhdGU6OkxheW91dFN0YXRlKHN0ZDo6dW5pcXVlX3B0cjxMYXlvdXRTdGF0ZT4gYW5jZXN0
b3IsIFJlbmRlckJveCogcmVuZGVyZXIsIGNvbnN0IExheW91dFNpemUmIG9mZnNldCwgTGF5b3V0
VW5pdCBwYWdlTG9naWNhbEhlaWdodCwgYm9vbCBwYWdlTG9naWNhbEhlaWdodENoYW5nZWQpCitM
YXlvdXRTdGF0ZTo6TGF5b3V0U3RhdGUoc3RkOjp1bmlxdWVfcHRyPExheW91dFN0YXRlPiBhbmNl
c3RvciwgUmVuZGVyQm94JiByZW5kZXJlciwgY29uc3QgTGF5b3V0U2l6ZSYgb2Zmc2V0LCBMYXlv
dXRVbml0IHBhZ2VMb2dpY2FsSGVpZ2h0LCBib29sIHBhZ2VMb2dpY2FsSGVpZ2h0Q2hhbmdlZCkK
ICAgICA6IG1fYW5jZXN0b3IoV1RGTW92ZShhbmNlc3RvcikpCiAjaWZuZGVmIE5ERUJVRwotICAg
ICwgbV9yZW5kZXJlcihyZW5kZXJlcikKKyAgICAsIG1fcmVuZGVyZXIoJnJlbmRlcmVyKQogI2Vu
ZGlmCiB7CiAgICAgQVNTRVJUKG1fYW5jZXN0b3IpOwogCi0gICAgYm9vbCBmaXhlZCA9IHJlbmRl
cmVyLT5pc0ZpeGVkUG9zaXRpb25lZCgpOworICAgIGJvb2wgZml4ZWQgPSByZW5kZXJlci5pc0Zp
eGVkUG9zaXRpb25lZCgpOwogICAgIGlmIChmaXhlZCkgewogICAgICAgICAvLyBGSVhNRTogVGhp
cyBkb2Vzbid0IHdvcmsgY29ycmVjdGx5IHdpdGggdHJhbnNmb3Jtcy4KLSAgICAgICAgRmxvYXRQ
b2ludCBmaXhlZE9mZnNldCA9IHJlbmRlcmVyLT52aWV3KCkubG9jYWxUb0Fic29sdXRlKEZsb2F0
UG9pbnQoKSwgSXNGaXhlZCk7CisgICAgICAgIEZsb2F0UG9pbnQgZml4ZWRPZmZzZXQgPSByZW5k
ZXJlci52aWV3KCkubG9jYWxUb0Fic29sdXRlKEZsb2F0UG9pbnQoKSwgSXNGaXhlZCk7CiAgICAg
ICAgIG1fcGFpbnRPZmZzZXQgPSBMYXlvdXRTaXplKGZpeGVkT2Zmc2V0LngoKSwgZml4ZWRPZmZz
ZXQueSgpKSArIG9mZnNldDsKICAgICB9IGVsc2UKICAgICAgICAgbV9wYWludE9mZnNldCA9IG1f
YW5jZXN0b3ItPm1fcGFpbnRPZmZzZXQgKyBvZmZzZXQ7CiAKLSAgICBpZiAocmVuZGVyZXItPmlz
T3V0T2ZGbG93UG9zaXRpb25lZCgpICYmICFmaXhlZCkgewotICAgICAgICBpZiAoUmVuZGVyRWxl
bWVudCogY29udGFpbmVyID0gcmVuZGVyZXItPmNvbnRhaW5lcigpKSB7CisgICAgaWYgKHJlbmRl
cmVyLmlzT3V0T2ZGbG93UG9zaXRpb25lZCgpICYmICFmaXhlZCkgeworICAgICAgICBpZiAoUmVu
ZGVyRWxlbWVudCogY29udGFpbmVyID0gcmVuZGVyZXIuY29udGFpbmVyKCkpIHsKICAgICAgICAg
ICAgIGlmIChjb250YWluZXItPmlzSW5GbG93UG9zaXRpb25lZCgpICYmIGlzPFJlbmRlcklubGlu
ZT4oKmNvbnRhaW5lcikpCi0gICAgICAgICAgICAgICAgbV9wYWludE9mZnNldCArPSBkb3duY2Fz
dDxSZW5kZXJJbmxpbmU+KCpjb250YWluZXIpLm9mZnNldEZvckluRmxvd1Bvc2l0aW9uZWRJbmxp
bmUocmVuZGVyZXIpOworICAgICAgICAgICAgICAgIG1fcGFpbnRPZmZzZXQgKz0gZG93bmNhc3Q8
UmVuZGVySW5saW5lPigqY29udGFpbmVyKS5vZmZzZXRGb3JJbkZsb3dQb3NpdGlvbmVkSW5saW5l
KCZyZW5kZXJlcik7CiAgICAgICAgIH0KICAgICB9CiAKICAgICBtX2xheW91dE9mZnNldCA9IG1f
cGFpbnRPZmZzZXQ7CiAKLSAgICBpZiAocmVuZGVyZXItPmlzSW5GbG93UG9zaXRpb25lZCgpICYm
IHJlbmRlcmVyLT5oYXNMYXllcigpKQotICAgICAgICBtX3BhaW50T2Zmc2V0ICs9IHJlbmRlcmVy
LT5sYXllcigpLT5vZmZzZXRGb3JJbkZsb3dQb3NpdGlvbigpOworICAgIGlmIChyZW5kZXJlci5p
c0luRmxvd1Bvc2l0aW9uZWQoKSAmJiByZW5kZXJlci5oYXNMYXllcigpKQorICAgICAgICBtX3Bh
aW50T2Zmc2V0ICs9IHJlbmRlcmVyLmxheWVyKCktPm9mZnNldEZvckluRmxvd1Bvc2l0aW9uKCk7
CiAKICAgICBtX2NsaXBwZWQgPSAhZml4ZWQgJiYgbV9hbmNlc3Rvci0+bV9jbGlwcGVkOwogICAg
IGlmIChtX2NsaXBwZWQpCiAgICAgICAgIG1fY2xpcFJlY3QgPSBtX2FuY2VzdG9yLT5tX2NsaXBS
ZWN0OwogCi0gICAgaWYgKHJlbmRlcmVyLT5oYXNPdmVyZmxvd0NsaXAoKSkgewotICAgICAgICBM
YXlvdXRSZWN0IGNsaXBSZWN0KHRvTGF5b3V0UG9pbnQobV9wYWludE9mZnNldCkgKyByZW5kZXJl
ci0+dmlldygpLmxheW91dERlbHRhKCksIHJlbmRlcmVyLT5jYWNoZWRTaXplRm9yT3ZlcmZsb3dD
bGlwKCkpOworICAgIGlmIChyZW5kZXJlci5oYXNPdmVyZmxvd0NsaXAoKSkgeworICAgICAgICBM
YXlvdXRSZWN0IGNsaXBSZWN0KHRvTGF5b3V0UG9pbnQobV9wYWludE9mZnNldCkgKyByZW5kZXJl
ci52aWV3KCkubGF5b3V0RGVsdGEoKSwgcmVuZGVyZXIuY2FjaGVkU2l6ZUZvck92ZXJmbG93Q2xp
cCgpKTsKICAgICAgICAgaWYgKG1fY2xpcHBlZCkKICAgICAgICAgICAgIG1fY2xpcFJlY3QuaW50
ZXJzZWN0KGNsaXBSZWN0KTsKICAgICAgICAgZWxzZSB7CkBAIC03NSwxNiArNzUsMTUgQEAgTGF5
b3V0U3RhdGU6OkxheW91dFN0YXRlKHN0ZDo6dW5pcXVlX3B0cjxMYXlvdXRTdGF0ZT4gYW5jZXN0
b3IsIFJlbmRlckJveCogcmVuZGUKICAgICAgICAgICAgIG1fY2xpcHBlZCA9IHRydWU7CiAgICAg
ICAgIH0KIAotICAgICAgICBtX3BhaW50T2Zmc2V0IC09IHRvTGF5b3V0U2l6ZShyZW5kZXJlci0+
c2Nyb2xsUG9zaXRpb24oKSk7CisgICAgICAgIG1fcGFpbnRPZmZzZXQgLT0gdG9MYXlvdXRTaXpl
KHJlbmRlcmVyLnNjcm9sbFBvc2l0aW9uKCkpOwogICAgIH0KIAogICAgIC8vIElmIHdlIGVzdGFi
bGlzaCBhIG5ldyBwYWdlIGhlaWdodCwgdGhlbiBjYWNoZSB0aGUgb2Zmc2V0IHRvIHRoZSB0b3Ag
b2YgdGhlIGZpcnN0IHBhZ2UuCiAgICAgLy8gV2UgY2FuIGNvbXBhcmUgdGhpcyBsYXRlciBvbiB0
byBmaWd1cmUgb3V0IHdoYXQgcGFydCBvZiB0aGUgcGFnZSB3ZSdyZSBhY3R1YWxseSBvbiwKLSAg
ICBpZiAocGFnZUxvZ2ljYWxIZWlnaHQgfHwgcmVuZGVyZXItPmlzUmVuZGVyRnJhZ21lbnRlZEZs
b3coKSkgeworICAgIGlmIChwYWdlTG9naWNhbEhlaWdodCB8fCByZW5kZXJlci5pc1JlbmRlckZy
YWdtZW50ZWRGbG93KCkpIHsKICAgICAgICAgbV9wYWdlTG9naWNhbEhlaWdodCA9IHBhZ2VMb2dp
Y2FsSGVpZ2h0OwotICAgICAgICBib29sIGlzRmxpcHBlZCA9IHJlbmRlcmVyLT5zdHlsZSgpLmlz
RmxpcHBlZEJsb2Nrc1dyaXRpbmdNb2RlKCk7Ci0gICAgICAgIG1fcGFnZU9mZnNldCA9IExheW91
dFNpemUobV9sYXlvdXRPZmZzZXQud2lkdGgoKSArICghaXNGbGlwcGVkID8gcmVuZGVyZXItPmJv
cmRlckxlZnQoKSArIHJlbmRlcmVyLT5wYWRkaW5nTGVmdCgpIDogcmVuZGVyZXItPmJvcmRlclJp
Z2h0KCkgKyByZW5kZXJlci0+cGFkZGluZ1JpZ2h0KCkpLAotICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIG1fbGF5b3V0T2Zmc2V0LmhlaWdodCgpICsgKCFpc0ZsaXBwZWQgPyByZW5kZXJl
ci0+Ym9yZGVyVG9wKCkgKyByZW5kZXJlci0+cGFkZGluZ1RvcCgpIDogcmVuZGVyZXItPmJvcmRl
ckJvdHRvbSgpICsgcmVuZGVyZXItPnBhZGRpbmdCb3R0b20oKSkpOworICAgICAgICBib29sIGlz
RmxpcHBlZCA9IHJlbmRlcmVyLnN0eWxlKCkuaXNGbGlwcGVkQmxvY2tzV3JpdGluZ01vZGUoKTsK
KyAgICAgICAgbV9wYWdlT2Zmc2V0ID0gTGF5b3V0U2l6ZShtX2xheW91dE9mZnNldC53aWR0aCgp
ICsgKCFpc0ZsaXBwZWQgPyByZW5kZXJlci5ib3JkZXJMZWZ0KCkgKyByZW5kZXJlci5wYWRkaW5n
TGVmdCgpIDogcmVuZGVyZXIuYm9yZGVyUmlnaHQoKSArIHJlbmRlcmVyLnBhZGRpbmdSaWdodCgp
KSwgbV9sYXlvdXRPZmZzZXQuaGVpZ2h0KCkgKyAoIWlzRmxpcHBlZCA/IHJlbmRlcmVyLmJvcmRl
clRvcCgpICsgcmVuZGVyZXIucGFkZGluZ1RvcCgpIDogcmVuZGVyZXIuYm9yZGVyQm90dG9tKCkg
KyByZW5kZXJlci5wYWRkaW5nQm90dG9tKCkpKTsKICAgICAgICAgbV9wYWdlTG9naWNhbEhlaWdo
dENoYW5nZWQgPSBwYWdlTG9naWNhbEhlaWdodENoYW5nZWQ7CiAgICAgICAgIG1faXNQYWdpbmF0
ZWQgPSB0cnVlOwogICAgIH0gZWxzZSB7CkBAIC05NSwxMSArOTQsMTEgQEAgTGF5b3V0U3RhdGU6
OkxheW91dFN0YXRlKHN0ZDo6dW5pcXVlX3B0cjxMYXlvdXRTdGF0ZT4gYW5jZXN0b3IsIFJlbmRl
ckJveCogcmVuZGUKICAgICAgICAgCiAgICAgICAgIC8vIERpc2FibGUgcGFnaW5hdGlvbiBmb3Ig
b2JqZWN0cyB3ZSBkb24ndCBzdXBwb3J0LiBGb3Igbm93IHRoaXMgaW5jbHVkZXMgb3ZlcmZsb3c6
c2Nyb2xsL2F1dG8sIGlubGluZSBibG9ja3MgYW5kCiAgICAgICAgIC8vIHdyaXRpbmcgbW9kZSBy
b290cy4KLSAgICAgICAgaWYgKHJlbmRlcmVyLT5pc1Vuc3BsaXR0YWJsZUZvclBhZ2luYXRpb24o
KSkgeworICAgICAgICBpZiAocmVuZGVyZXIuaXNVbnNwbGl0dGFibGVGb3JQYWdpbmF0aW9uKCkp
IHsKICAgICAgICAgICAgIG1fcGFnZUxvZ2ljYWxIZWlnaHQgPSAwOwogICAgICAgICAgICAgbV9p
c1BhZ2luYXRlZCA9IGZhbHNlOwogICAgICAgICB9IGVsc2UKLSAgICAgICAgICAgIG1faXNQYWdp
bmF0ZWQgPSBtX3BhZ2VMb2dpY2FsSGVpZ2h0IHx8IHJlbmRlcmVyLT5lbmNsb3NpbmdGcmFnbWVu
dGVkRmxvdygpOworICAgICAgICAgICAgbV9pc1BhZ2luYXRlZCA9IG1fcGFnZUxvZ2ljYWxIZWln
aHQgfHwgcmVuZGVyZXIuZW5jbG9zaW5nRnJhZ21lbnRlZEZsb3coKTsKICAgICB9CiAgICAgCiAg
ICAgLy8gUHJvcGFnYXRlIGxpbmUgZ3JpZCBpbmZvcm1hdGlvbi4KQEAgLTExMSwxNyArMTEwLDE3
IEBAIExheW91dFN0YXRlOjpMYXlvdXRTdGF0ZShzdGQ6OnVuaXF1ZV9wdHI8TGF5b3V0U3RhdGU+
IGFuY2VzdG9yLCBSZW5kZXJCb3gqIHJlbmRlCiAgICAgbV9sYXlvdXREZWx0YVlTYXR1cmF0ZWQg
PSBtX2FuY2VzdG9yLT5tX2xheW91dERlbHRhWVNhdHVyYXRlZDsKICNlbmRpZgogCi0gICAgaWYg
KGxpbmVHcmlkKCkgJiYgKGxpbmVHcmlkKCktPnN0eWxlKCkud3JpdGluZ01vZGUoKSA9PSByZW5k
ZXJlci0+c3R5bGUoKS53cml0aW5nTW9kZSgpKSAmJiBpczxSZW5kZXJNdWx0aUNvbHVtbkZsb3c+
KCpyZW5kZXJlcikpCi0gICAgICAgIGRvd25jYXN0PFJlbmRlck11bHRpQ29sdW1uRmxvdz4oKnJl
bmRlcmVyKS5jb21wdXRlTGluZUdyaWRQYWdpbmF0aW9uT3JpZ2luKCp0aGlzKTsKKyAgICBpZiAo
bGluZUdyaWQoKSAmJiAobGluZUdyaWQoKS0+c3R5bGUoKS53cml0aW5nTW9kZSgpID09IHJlbmRl
cmVyLnN0eWxlKCkud3JpdGluZ01vZGUoKSkgJiYgaXM8UmVuZGVyTXVsdGlDb2x1bW5GbG93Pihy
ZW5kZXJlcikpCisgICAgICAgIGRvd25jYXN0PFJlbmRlck11bHRpQ29sdW1uRmxvdz4ocmVuZGVy
ZXIpLmNvbXB1dGVMaW5lR3JpZFBhZ2luYXRpb25PcmlnaW4oKnRoaXMpOwogCiAgICAgLy8gSWYg
d2UgaGF2ZSBhIG5ldyBncmlkIHRvIHRyYWNrLCB0aGVuIGFkZCBpdCB0byBvdXIgc2V0LgotICAg
IGlmIChyZW5kZXJlci0+c3R5bGUoKS5saW5lR3JpZCgpICE9IFJlbmRlclN0eWxlOjppbml0aWFs
TGluZUdyaWQoKSAmJiBpczxSZW5kZXJCbG9ja0Zsb3c+KCpyZW5kZXJlcikpCisgICAgaWYgKHJl
bmRlcmVyLnN0eWxlKCkubGluZUdyaWQoKSAhPSBSZW5kZXJTdHlsZTo6aW5pdGlhbExpbmVHcmlk
KCkgJiYgaXM8UmVuZGVyQmxvY2tGbG93PihyZW5kZXJlcikpCiAgICAgICAgIGVzdGFibGlzaExp
bmVHcmlkKGRvd25jYXN0PFJlbmRlckJsb2NrRmxvdz4ocmVuZGVyZXIpKTsKIAogICAgIC8vIEZJ
WE1FOiA8aHR0cDovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTM0NDM+IEFwcGx5
IGNvbnRyb2wgY2xpcCBpZiBwcmVzZW50LgogfQogCi1MYXlvdXRTdGF0ZTo6TGF5b3V0U3RhdGUo
UmVuZGVyT2JqZWN0JiByb290KQorTGF5b3V0U3RhdGU6OkxheW91dFN0YXRlKFJlbmRlckVsZW1l
bnQmIHJlbmRlcmVyKQogICAgIDogbV9jbGlwcGVkKGZhbHNlKQogICAgICwgbV9pc1BhZ2luYXRl
ZChmYWxzZSkKICAgICAsIG1fcGFnZUxvZ2ljYWxIZWlnaHRDaGFuZ2VkKGZhbHNlKQpAQCAtMTMw
LDEwICsxMjksMTAgQEAgTGF5b3V0U3RhdGU6OkxheW91dFN0YXRlKFJlbmRlck9iamVjdCYgcm9v
dCkKICAgICAsIG1fbGF5b3V0RGVsdGFZU2F0dXJhdGVkKGZhbHNlKQogI2VuZGlmICAgIAogI2lm
bmRlZiBOREVCVUcKLSAgICAsIG1fcmVuZGVyZXIoJnJvb3QpCisgICAgLCBtX3JlbmRlcmVyKCZy
ZW5kZXJlcikKICNlbmRpZgogewotICAgIGlmIChSZW5kZXJFbGVtZW50KiBjb250YWluZXIgPSBy
b290LmNvbnRhaW5lcigpKSB7CisgICAgaWYgKFJlbmRlckVsZW1lbnQqIGNvbnRhaW5lciA9IHJl
bmRlcmVyLmNvbnRhaW5lcigpKSB7CiAgICAgICAgIEZsb2F0UG9pbnQgYWJzQ29udGVudFBvaW50
ID0gY29udGFpbmVyLT5sb2NhbFRvQWJzb2x1dGUoRmxvYXRQb2ludCgpLCBVc2VUcmFuc2Zvcm1z
KTsKICAgICAgICAgbV9wYWludE9mZnNldCA9IExheW91dFNpemUoYWJzQ29udGVudFBvaW50Lngo
KSwgYWJzQ29udGVudFBvaW50LnkoKSk7CiAKQEAgLTE1OSwxMSArMTU4LDExIEBAIExheW91dFVu
aXQgTGF5b3V0U3RhdGU6OnBhZ2VMb2dpY2FsT2Zmc2V0KFJlbmRlckJveCogY2hpbGQsIExheW91
dFVuaXQgY2hpbGRMb2dpCiAgICAgcmV0dXJuIG1fbGF5b3V0T2Zmc2V0LndpZHRoKCkgKyBjaGls
ZExvZ2ljYWxPZmZzZXQgLSBtX3BhZ2VPZmZzZXQud2lkdGgoKTsKIH0KIAotdm9pZCBMYXlvdXRT
dGF0ZTo6cHJvcGFnYXRlTGluZUdyaWRJbmZvKFJlbmRlckJveCogcmVuZGVyZXIpCit2b2lkIExh
eW91dFN0YXRlOjpwcm9wYWdhdGVMaW5lR3JpZEluZm8oUmVuZGVyQm94JiByZW5kZXJlcikKIHsK
ICAgICAvLyBEaXNhYmxlIGxpbmUgZ3JpZHMgZm9yIG9iamVjdHMgd2UgZG9uJ3Qgc3VwcG9ydC4g
Rm9yIG5vdyB0aGlzIGluY2x1ZGVzIG92ZXJmbG93OnNjcm9sbC9hdXRvLCBpbmxpbmUgYmxvY2tz
IGFuZAogICAgIC8vIHdyaXRpbmcgbW9kZSByb290cy4KLSAgICBpZiAoIW1fYW5jZXN0b3IgfHwg
cmVuZGVyZXItPmlzVW5zcGxpdHRhYmxlRm9yUGFnaW5hdGlvbigpKQorICAgIGlmICghbV9hbmNl
c3RvciB8fCByZW5kZXJlci5pc1Vuc3BsaXR0YWJsZUZvclBhZ2luYXRpb24oKSkKICAgICAgICAg
cmV0dXJuOwogCiAgICAgbV9saW5lR3JpZCA9IG1fYW5jZXN0b3ItPm1fbGluZUdyaWQ7CkBAIC0x
NzEsMTEgKzE3MCwxMSBAQCB2b2lkIExheW91dFN0YXRlOjpwcm9wYWdhdGVMaW5lR3JpZEluZm8o
UmVuZGVyQm94KiByZW5kZXJlcikKICAgICBtX2xpbmVHcmlkUGFnaW5hdGlvbk9yaWdpbiA9IG1f
YW5jZXN0b3ItPm1fbGluZUdyaWRQYWdpbmF0aW9uT3JpZ2luOwogfQogCi12b2lkIExheW91dFN0
YXRlOjplc3RhYmxpc2hMaW5lR3JpZChSZW5kZXJCbG9ja0Zsb3cqIGJsb2NrKQordm9pZCBMYXlv
dXRTdGF0ZTo6ZXN0YWJsaXNoTGluZUdyaWQoUmVuZGVyQmxvY2tGbG93JiByZW5kZXJlcikKIHsK
ICAgICAvLyBGaXJzdCBjaGVjayB0byBzZWUgaWYgdGhpcyBncmlkIGhhcyBiZWVuIGVzdGFibGlz
aGVkIGFscmVhZHkuCiAgICAgaWYgKG1fbGluZUdyaWQpIHsKLSAgICAgICAgaWYgKG1fbGluZUdy
aWQtPnN0eWxlKCkubGluZUdyaWQoKSA9PSBibG9jay0+c3R5bGUoKS5saW5lR3JpZCgpKQorICAg
ICAgICBpZiAobV9saW5lR3JpZC0+c3R5bGUoKS5saW5lR3JpZCgpID09IHJlbmRlcmVyLnN0eWxl
KCkubGluZUdyaWQoKSkKICAgICAgICAgICAgIHJldHVybjsKICAgICAgICAgUmVuZGVyQmxvY2tG
bG93KiBjdXJyZW50R3JpZCA9IG1fbGluZUdyaWQ7CiAgICAgICAgIGZvciAoTGF5b3V0U3RhdGUq
IGN1cnJlbnRTdGF0ZSA9IG1fYW5jZXN0b3IuZ2V0KCk7IGN1cnJlbnRTdGF0ZTsgY3VycmVudFN0
YXRlID0gY3VycmVudFN0YXRlLT5tX2FuY2VzdG9yLmdldCgpKSB7CkBAIC0xODQsNyArMTgzLDcg
QEAgdm9pZCBMYXlvdXRTdGF0ZTo6ZXN0YWJsaXNoTGluZUdyaWQoUmVuZGVyQmxvY2tGbG93KiBi
bG9jaykKICAgICAgICAgICAgIGN1cnJlbnRHcmlkID0gY3VycmVudFN0YXRlLT5tX2xpbmVHcmlk
OwogICAgICAgICAgICAgaWYgKCFjdXJyZW50R3JpZCkKICAgICAgICAgICAgICAgICBicmVhazsK
LSAgICAgICAgICAgIGlmIChjdXJyZW50R3JpZC0+c3R5bGUoKS5saW5lR3JpZCgpID09IGJsb2Nr
LT5zdHlsZSgpLmxpbmVHcmlkKCkpIHsKKyAgICAgICAgICAgIGlmIChjdXJyZW50R3JpZC0+c3R5
bGUoKS5saW5lR3JpZCgpID09IHJlbmRlcmVyLnN0eWxlKCkubGluZUdyaWQoKSkgewogICAgICAg
ICAgICAgICAgIG1fbGluZUdyaWQgPSBjdXJyZW50R3JpZDsKICAgICAgICAgICAgICAgICBtX2xp
bmVHcmlkT2Zmc2V0ID0gY3VycmVudFN0YXRlLT5tX2xpbmVHcmlkT2Zmc2V0OwogICAgICAgICAg
ICAgICAgIHJldHVybjsKQEAgLTE5Myw3ICsxOTIsNyBAQCB2b2lkIExheW91dFN0YXRlOjplc3Rh
Ymxpc2hMaW5lR3JpZChSZW5kZXJCbG9ja0Zsb3cqIGJsb2NrKQogICAgIH0KICAgICAKICAgICAv
LyBXZSBkaWRuJ3QgZmluZCBhbiBhbHJlYWR5LWVzdGFibGlzaGVkIGdyaWQgd2l0aCB0aGlzIGlk
ZW50aWZpZXIuIE91ciByZW5kZXIgb2JqZWN0IGVzdGFibGlzaGVzIHRoZSBncmlkLgotICAgIG1f
bGluZUdyaWQgPSBibG9jazsKKyAgICBtX2xpbmVHcmlkID0gJnJlbmRlcmVyOwogICAgIG1fbGlu
ZUdyaWRPZmZzZXQgPSBtX2xheW91dE9mZnNldDsgCiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL3JlbmRlcmluZy9MYXlvdXRTdGF0ZS5oIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5n
L0xheW91dFN0YXRlLmgKaW5kZXggNmNmMGQxNjg1NjUwMTIzZDAwN2FkZWYxYjdjNmE2YjRkYmZj
MGQwZi4uYzE0ZDViMTRiYmY3MjI0MmI3ZGY3ZjM1NDQ4ZTYxOTI3YmE1MWYxZCAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL0xheW91dFN0YXRlLmgKKysrIGIvU291cmNlL1dl
YkNvcmUvcmVuZGVyaW5nL0xheW91dFN0YXRlLmgKQEAgLTUzLDggKzUzLDggQEAgcHVibGljOgog
ICAgIHsKICAgICB9CiAKLSAgICBMYXlvdXRTdGF0ZShzdGQ6OnVuaXF1ZV9wdHI8TGF5b3V0U3Rh
dGU+IGFuY2VzdG9yLCBSZW5kZXJCb3gqLCBjb25zdCBMYXlvdXRTaXplJiBvZmZzZXQsIExheW91
dFVuaXQgcGFnZUhlaWdodCwgYm9vbCBwYWdlSGVpZ2h0Q2hhbmdlZCk7Ci0gICAgZXhwbGljaXQg
TGF5b3V0U3RhdGUoUmVuZGVyT2JqZWN0Jik7CisgICAgTGF5b3V0U3RhdGUoc3RkOjp1bmlxdWVf
cHRyPExheW91dFN0YXRlPiBhbmNlc3RvciwgUmVuZGVyQm94JiwgY29uc3QgTGF5b3V0U2l6ZSYg
b2Zmc2V0LCBMYXlvdXRVbml0IHBhZ2VIZWlnaHQsIGJvb2wgcGFnZUhlaWdodENoYW5nZWQpOwor
ICAgIGV4cGxpY2l0IExheW91dFN0YXRlKFJlbmRlckVsZW1lbnQmKTsKIAogICAgIHZvaWQgY2xl
YXJQYWdpbmF0aW9uSW5mb3JtYXRpb24oKTsKICAgICBib29sIGlzUGFnaW5hdGVkKCkgY29uc3Qg
eyByZXR1cm4gbV9pc1BhZ2luYXRlZDsgfQpAQCAtODEsOCArODEsOCBAQCBwdWJsaWM6CiAgICAg
dm9pZCBzZXRDdXJyZW50UmVuZGVyRnJhZ21lbnRlZEZsb3coUmVuZGVyRnJhZ21lbnRlZEZsb3cq
IGZyYWdtZW50ZWRGbG93KSB7IG1fY3VycmVudFJlbmRlckZyYWdtZW50ZWRGbG93ID0gZnJhZ21l
bnRlZEZsb3c7IH0KIAogcHJpdmF0ZToKLSAgICB2b2lkIHByb3BhZ2F0ZUxpbmVHcmlkSW5mbyhS
ZW5kZXJCb3gqKTsKLSAgICB2b2lkIGVzdGFibGlzaExpbmVHcmlkKFJlbmRlckJsb2NrRmxvdyop
OworICAgIHZvaWQgcHJvcGFnYXRlTGluZUdyaWRJbmZvKFJlbmRlckJveCYpOworICAgIHZvaWQg
ZXN0YWJsaXNoTGluZUdyaWQoUmVuZGVyQmxvY2tGbG93Jik7CiAKIHB1YmxpYzoKICAgICAvLyBE
byBub3QgYWRkIGFueXRoaW5nIGFwYXJ0IGZyb20gYml0ZmllbGRzLiBTZWUgaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEwMDE3MwpAQCAtMTIwLDkgKzEyMCw4IEBAIHB1
YmxpYzoKICAgICBMYXlvdXRTaXplIG1fbGluZUdyaWRQYWdpbmF0aW9uT3JpZ2luOwogCiAgICAg
UmVuZGVyRnJhZ21lbnRlZEZsb3cqIG1fY3VycmVudFJlbmRlckZyYWdtZW50ZWRGbG93IHsgbnVs
bHB0ciB9OwotCiAjaWZuZGVmIE5ERUJVRwotICAgIFJlbmRlck9iamVjdCogbV9yZW5kZXJlciB7
IG51bGxwdHIgfTsKKyAgICBSZW5kZXJFbGVtZW50KiBtX3JlbmRlcmVyIHsgbnVsbHB0ciB9Owog
I2VuZGlmCiB9OwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVy
Vmlldy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVmlldy5jcHAKaW5kZXgg
ZTMxY2U2YjUzYTEwYWE3YWZjNWViMjFhZWUwY2RhYzExOGYzMjI3OS4uMTRiMDM1MWQxNmZhMTY1
ZTRiNDQ4MDEyYTkzMjAyZTA0NWM4ZDk2NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVu
ZGVyaW5nL1JlbmRlclZpZXcuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5k
ZXJWaWV3LmNwcApAQCAtNzUzLDcgKzc1Myw3IEBAIGZsb2F0IFJlbmRlclZpZXc6Onpvb21GYWN0
b3IoKSBjb25zdAogICAgIHJldHVybiBmcmFtZVZpZXcoKS5mcmFtZSgpLnBhZ2Vab29tRmFjdG9y
KCk7CiB9CiAKLXZvaWQgUmVuZGVyVmlldzo6cHVzaExheW91dFN0YXRlKFJlbmRlck9iamVjdCYg
cm9vdCkKK3ZvaWQgUmVuZGVyVmlldzo6cHVzaExheW91dFN0YXRlKFJlbmRlckVsZW1lbnQmIHJv
b3QpCiB7CiAgICAgQVNTRVJUKG1fbGF5b3V0U3RhdGVEaXNhYmxlQ291bnQgPT0gMCk7CiAgICAg
QVNTRVJUKG1fbGF5b3V0U3RhdGUgPT0gMCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9y
ZW5kZXJpbmcvUmVuZGVyVmlldy5oIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclZp
ZXcuaAppbmRleCA1YzQ2OTRlMjMwNzc5MTc0ODJmNGY5YjY5NjQyZTA1ZjkzZWMyMmI4Li45ZjI5
Y2IzODdlMjE1YTczM2MxOWFlOTllOGQyNDhkNjZlNmVlYTU3IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVmlldy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRl
cmluZy9SZW5kZXJWaWV3LmgKQEAgLTEyMCw3ICsxMjAsNyBAQCBwdWJsaWM6CiAgICAgYm9vbCBk
b2luZ0Z1bGxSZXBhaW50KCkgY29uc3QgeyByZXR1cm4gZnJhbWVWaWV3KCkubGF5b3V0Q29udGV4
dCgpLm5lZWRzRnVsbFJlcGFpbnQoKTsgfQogCiAgICAgLy8gU3VidHJlZSBwdXNoL3BvcAotICAg
IHZvaWQgcHVzaExheW91dFN0YXRlKFJlbmRlck9iamVjdCYpOworICAgIHZvaWQgcHVzaExheW91
dFN0YXRlKFJlbmRlckVsZW1lbnQmKTsKICAgICBib29sIHB1c2hMYXlvdXRTdGF0ZUZvclBhZ2lu
YXRpb25JZk5lZWRlZChSZW5kZXJCbG9ja0Zsb3cmKTsKICAgICB2b2lkIHBvcExheW91dFN0YXRl
KFJlbmRlck9iamVjdCYpIHsgcmV0dXJuIHBvcExheW91dFN0YXRlKCk7IH0gLy8gSnVzdCBkb2lu
ZyB0aGlzIHRvIGtlZXAgcG9wTGF5b3V0U3RhdGUoKSBwcml2YXRlIGFuZCB0byBtYWtlIHRoZSBz
dWJ0cmVlIGNhbGxzIHN5bW1ldHJpY2FsLgogCkBAIC0yNTUsNyArMjU1LDcgQEAgcHJpdmF0ZToK
ICAgICAgICAgLy8gV2UgcHVzaCBMYXlvdXRTdGF0ZSBldmVuIGlmIGxheW91dFN0YXRlIGlzIGRp
c2FibGVkIGJlY2F1c2UgaXQgc3RvcmVzIGxheW91dERlbHRhIHRvby4KICAgICAgICAgaWYgKCFk
b2luZ0Z1bGxSZXBhaW50KCkgfHwgbV9sYXlvdXRTdGF0ZS0+aXNQYWdpbmF0ZWQoKSB8fCByZW5k
ZXJlci5lbmNsb3NpbmdGcmFnbWVudGVkRmxvdygpCiAgICAgICAgICAgICB8fCBtX2xheW91dFN0
YXRlLT5saW5lR3JpZCgpIHx8IChyZW5kZXJlci5zdHlsZSgpLmxpbmVHcmlkKCkgIT0gUmVuZGVy
U3R5bGU6OmluaXRpYWxMaW5lR3JpZCgpICYmIHJlbmRlcmVyLmlzUmVuZGVyQmxvY2tGbG93KCkp
KSB7Ci0gICAgICAgICAgICBtX2xheW91dFN0YXRlID0gc3RkOjptYWtlX3VuaXF1ZTxMYXlvdXRT
dGF0ZT4oV1RGTW92ZShtX2xheW91dFN0YXRlKSwgJnJlbmRlcmVyLCBvZmZzZXQsIHBhZ2VIZWln
aHQsIHBhZ2VIZWlnaHRDaGFuZ2VkKTsKKyAgICAgICAgICAgIG1fbGF5b3V0U3RhdGUgPSBzdGQ6
Om1ha2VfdW5pcXVlPExheW91dFN0YXRlPihXVEZNb3ZlKG1fbGF5b3V0U3RhdGUpLCByZW5kZXJl
ciwgb2Zmc2V0LCBwYWdlSGVpZ2h0LCBwYWdlSGVpZ2h0Q2hhbmdlZCk7CiAgICAgICAgICAgICBy
ZXR1cm4gdHJ1ZTsKICAgICAgICAgfQogICAgICAgICByZXR1cm4gZmFsc2U7Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>