<?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>150240</bug_id>
          
          <creation_ts>2015-10-16 11:03:16 -0700</creation_ts>
          <short_desc>Move more code to WebContextMenuProxyMac</short_desc>
          <delta_ts>2015-12-21 00:39:13 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>New Bugs</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          <dependson>150272</dependson>
    
    <dependson>150276</dependson>
          <blocked>150310</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Anders Carlsson">andersca</reporter>
          <assigned_to name="Anders Carlsson">andersca</assigned_to>
          <cc>bugs-noreply</cc>
    
    <cc>ossy</cc>
    
    <cc>thorton</cc>
    
    <cc>ysuzuki</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1133928</commentid>
    <comment_count>0</comment_count>
    <who name="Anders Carlsson">andersca</who>
    <bug_when>2015-10-16 11:03:16 -0700</bug_when>
    <thetext>Move more code to WebContextMenuProxyMac</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1133929</commentid>
    <comment_count>1</comment_count>
      <attachid>263293</attachid>
    <who name="Anders Carlsson">andersca</who>
    <bug_when>2015-10-16 11:04:56 -0700</bug_when>
    <thetext>Created attachment 263293
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1133964</commentid>
    <comment_count>2</comment_count>
      <attachid>263307</attachid>
    <who name="Anders Carlsson">andersca</who>
    <bug_when>2015-10-16 12:08:33 -0700</bug_when>
    <thetext>Created attachment 263307
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1133977</commentid>
    <comment_count>3</comment_count>
      <attachid>263310</attachid>
    <who name="Anders Carlsson">andersca</who>
    <bug_when>2015-10-16 12:28:39 -0700</bug_when>
    <thetext>Created attachment 263310
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1133983</commentid>
    <comment_count>4</comment_count>
    <who name="Anders Carlsson">andersca</who>
    <bug_when>2015-10-16 12:53:17 -0700</bug_when>
    <thetext>Committed r191194: &lt;http://trac.webkit.org/changeset/191194&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1134172</commentid>
    <comment_count>5</comment_count>
    <who name="Csaba Osztrogonác">ossy</who>
    <bug_when>2015-10-17 01:35:16 -0700</bug_when>
    <thetext>(In reply to comment #4)
&gt; Committed r191194: &lt;http://trac.webkit.org/changeset/191194&gt;

EFL buildfix landed in https://trac.webkit.org/changeset/191239,
GTK build is still broken ...</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1134190</commentid>
    <comment_count>6</comment_count>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2015-10-17 09:24:42 -0700</bug_when>
    <thetext>(In reply to comment #5)
&gt; (In reply to comment #4)
&gt; &gt; Committed r191194: &lt;http://trac.webkit.org/changeset/191194&gt;
&gt; 
&gt; EFL buildfix landed in https://trac.webkit.org/changeset/191239,
&gt; GTK build is still broken ...

The patch is ready. https://bugs.webkit.org/show_bug.cgi?id=150276</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>263293</attachid>
            <date>2015-10-16 11:04:56 -0700</date>
            <delta_ts>2015-10-16 12:08:30 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-150240-20151016110417.patch</filename>
            <type>text/plain</type>
            <size>12540</size>
            <attacher name="Anders Carlsson">andersca</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTkxMTgxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKaW5kZXggMDJkZmIwMzM0YTYzMmI1
MjJhMjgzMjU1M2EwY2Y4ZDQ3NmViMjUyZC4uNTczZDBkMjc0ZDk2MTU5Zjk3ODIwNzZmNmNhYTkz
M2M0NGNhYjE0OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJLaXQyL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIyIEBACisyMDE1LTEwLTE2ICBBbmRl
cnMgQ2FybHNzb24gIDxhbmRlcnNjYUBhcHBsZS5jb20+CisKKyAgICAgICAgTW92ZSBtb3JlIGNv
ZGUgdG8gV2ViQ29udGV4dE1lbnVQcm94eU1hYworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTUwMjQwCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZ
IChPT1BTISkuCisKKyAgICAgICAgKiBVSVByb2Nlc3MvV2ViQ29udGV4dE1lbnVQcm94eS5oOgor
ICAgICAgICAqIFVJUHJvY2Vzcy9XZWJQYWdlUHJveHkuY3BwOgorICAgICAgICAoV2ViS2l0OjpX
ZWJQYWdlUHJveHk6OmludGVybmFsU2hvd0NvbnRleHRNZW51KToKKyAgICAgICAgKiBVSVByb2Nl
c3MvV2ViUGFnZVByb3h5Lmg6CisgICAgICAgIChXZWJLaXQ6OldlYlBhZ2VQcm94eTo6Y29udGV4
dE1lbnVDbGllbnQpOgorICAgICAgICAqIFVJUHJvY2Vzcy9tYWMvV2ViQ29udGV4dE1lbnVQcm94
eU1hYy5oOgorICAgICAgICAqIFVJUHJvY2Vzcy9tYWMvV2ViQ29udGV4dE1lbnVQcm94eU1hYy5t
bToKKyAgICAgICAgKFdlYktpdDo6V2ViQ29udGV4dE1lbnVQcm94eU1hYzo6aW5pdGlhbGl6ZVNo
YXJlTWVudUl0ZW0pOgorICAgICAgICAoV2ViS2l0OjpXZWJDb250ZXh0TWVudVByb3h5TWFjOjpz
aG93Q29udGV4dE1lbnUpOgorICAgICAgICAqIFVJUHJvY2Vzcy9tYWMvV2ViUGFnZVByb3h5TWFj
Lm1tOgorICAgICAgICAoV2ViS2l0OjpXZWJQYWdlUHJveHk6OnBsYXRmb3JtSW5pdGlhbGl6ZVNo
YXJlTWVudUl0ZW0pOiBEZWxldGVkLgorCiAyMDE1LTEwLTE1ICBBbmRlcnMgQ2FybHNzb24gIDxh
bmRlcnNjYUBhcHBsZS5jb20+CiAKICAgICAgICAgVXNlIHRoZSBTaG93Q29udGV4dE1lbnUgbWVz
c2FnZSBmb3Igc2VydmljZSBtZW51cyBhcyB3ZWxsCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
Mi9VSVByb2Nlc3MvV2ViQ29udGV4dE1lbnVQcm94eS5oIGIvU291cmNlL1dlYktpdDIvVUlQcm9j
ZXNzL1dlYkNvbnRleHRNZW51UHJveHkuaAppbmRleCBjNDEwNjhhYWJhYzc3Mzg4MzUxYjk5ODhi
N2ZmMDFlN2E4ZWE2ZjJhLi4xZDE5NmQwYjhjZjQ3ZTQ4ZjY0MTUzMzg0YzhhZDE2ZmJiMjQxOTQz
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViQ29udGV4dE1lbnVQcm94
eS5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJDb250ZXh0TWVudVByb3h5LmgK
QEAgLTQwLDcgKzQwLDcgQEAgY2xhc3MgV2ViQ29udGV4dE1lbnVQcm94eSA6IHB1YmxpYyBSZWZD
b3VudGVkPFdlYkNvbnRleHRNZW51UHJveHk+IHsKIHB1YmxpYzoKICAgICB2aXJ0dWFsIH5XZWJD
b250ZXh0TWVudVByb3h5KCk7CiAKLSAgICB2aXJ0dWFsIHZvaWQgc2hvd0NvbnRleHRNZW51KGNv
bnN0IFZlY3RvcjxSZWZQdHI8V2ViQ29udGV4dE1lbnVJdGVtPj4mKSA9IDA7CisgICAgdmlydHVh
bCB2b2lkIHNob3dDb250ZXh0TWVudSgpID0gMDsKICAgICB2aXJ0dWFsIHZvaWQgaGlkZUNvbnRl
eHRNZW51KCkgPSAwOwogICAgIHZpcnR1YWwgdm9pZCBjYW5jZWxUcmFja2luZygpIHsgfQogCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmNwcCBiL1Nv
dXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuY3BwCmluZGV4IGMzMzBkZWM4NzE1
NTJmYjY1ZTk2YzJhNmRjMWE3M2IxODg5MjQyODYuLjQ1ODMwMzMzNDA0ZGMzYmMyODg0ZTcyODE4
MzE1Y2ViZjk2NzZmZjYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQ
YWdlUHJveHkuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQYWdlUHJveHku
Y3BwCkBAIC00MjA5LDM2ICs0MjA5LDcgQEAgdm9pZCBXZWJQYWdlUHJveHk6OmludGVybmFsU2hv
d0NvbnRleHRNZW51KGNvbnN0IENvbnRleHRNZW51Q29udGV4dERhdGEmIGNvbnRleHQKICAgICAv
LyBTaW5jZSBzaG93Q29udGV4dE1lbnUoKSBjYW4gc3BpbiBhIG5lc3RlZCBydW4gbG9vcCB3ZSBu
ZWVkIHRvIHR1cm4gb2ZmIHRoZSByZXNwb25zaXZlbmVzcyB0aW1lci4KICAgICBtX3Byb2Nlc3Mt
PnJlc3BvbnNpdmVuZXNzVGltZXIoKS0+c3RvcCgpOwogCi0gICAgLy8gVW5sZXNzIHRoaXMgaXMg
YW4gaW1hZ2UgY29udHJvbCwgZ2l2ZSB0aGUgUGFnZUNvbnRleHRNZW51Q2xpZW50IG9uZSBsYXN0
IHN3aXBlIGF0IGNoYW5naW5nIHRoZSBtZW51LgotICAgIGJvb2wgYXNrQ2xpZW50VG9DaGFuZ2VN
ZW51ID0gdHJ1ZTsKLSNpZiBFTkFCTEUoU0VSVklDRV9DT05UUk9MUykKLSAgICBpZiAoY29udGV4
dE1lbnVDb250ZXh0RGF0YS5pc1NlcnZpY2VzTWVudSgpIHx8IGNvbnRleHRNZW51Q29udGV4dERh
dGEuY29udHJvbGxlZEltYWdlKCkpCi0gICAgICAgIGFza0NsaWVudFRvQ2hhbmdlTWVudSA9IGZh
bHNlOwotI2VuZGlmCi0KLSAgICBWZWN0b3I8UmVmUHRyPFdlYkNvbnRleHRNZW51SXRlbT4+IHBy
b3Bvc2VkQVBJSXRlbXM7Ci0gICAgZm9yIChhdXRvJiBpdGVtIDogY29udGV4dE1lbnVDb250ZXh0
RGF0YS5tZW51SXRlbXMoKSkgewotICAgICAgICBpZiAoaXRlbS5hY3Rpb24oKSAhPSBDb250ZXh0
TWVudUl0ZW1UYWdTaGFyZU1lbnUpIHsKLSAgICAgICAgICAgIHByb3Bvc2VkQVBJSXRlbXMuYXBw
ZW5kKFdlYkNvbnRleHRNZW51SXRlbTo6Y3JlYXRlKGl0ZW0pKTsKLSAgICAgICAgICAgIGNvbnRp
bnVlOwotICAgICAgICB9Ci0KLSAgICAgICAgQ29udGV4dE1lbnVJdGVtIGNvcmVJdGVtID0gcGxh
dGZvcm1Jbml0aWFsaXplU2hhcmVNZW51SXRlbShjb250ZXh0TWVudUNvbnRleHREYXRhKTsKLSAg
ICAgICAgaWYgKCFjb3JlSXRlbS5pc051bGwoKSkKLSAgICAgICAgICAgIHByb3Bvc2VkQVBJSXRl
bXMuYXBwZW5kKFdlYkNvbnRleHRNZW51SXRlbTo6Y3JlYXRlKGNvcmVJdGVtKSk7Ci0gICAgfQot
Ci0gICAgVmVjdG9yPFJlZlB0cjxXZWJDb250ZXh0TWVudUl0ZW0+PiBjbGllbnRJdGVtczsKLSAg
ICBib29sIHVzZVByb3Bvc2VkSXRlbXMgPSB0cnVlOwotCi0gICAgaWYgKGFza0NsaWVudFRvQ2hh
bmdlTWVudSAmJiBtX2NvbnRleHRNZW51Q2xpZW50LT5nZXRDb250ZXh0TWVudUZyb21Qcm9wb3Nl
ZE1lbnUoKnRoaXMsIHByb3Bvc2VkQVBJSXRlbXMsIGNsaWVudEl0ZW1zLCBjb250ZXh0TWVudUNv
bnRleHREYXRhLndlYkhpdFRlc3RSZXN1bHREYXRhKCksIG1fcHJvY2Vzcy0+dHJhbnNmb3JtSGFu
ZGxlc1RvT2JqZWN0cyh1c2VyRGF0YS5vYmplY3QoKSkuZ2V0KCkpKQotICAgICAgICB1c2VQcm9w
b3NlZEl0ZW1zID0gZmFsc2U7Ci0KLSAgICBjb25zdCBWZWN0b3I8UmVmUHRyPFdlYkNvbnRleHRN
ZW51SXRlbT4+JiBpdGVtc1RvU2hvdyA9IHVzZVByb3Bvc2VkSXRlbXMgPyBwcm9wb3NlZEFQSUl0
ZW1zIDogY2xpZW50SXRlbXM7Ci0gICAgaWYgKCFtX2NvbnRleHRNZW51Q2xpZW50LT5zaG93Q29u
dGV4dE1lbnUoKnRoaXMsIGNvbnRleHRNZW51Q29udGV4dERhdGEubWVudUxvY2F0aW9uKCksIGl0
ZW1zVG9TaG93KSkKLSAgICAgICAgbV9hY3RpdmVDb250ZXh0TWVudS0+c2hvd0NvbnRleHRNZW51
KGl0ZW1zVG9TaG93KTsKLQotICAgIG1fY29udGV4dE1lbnVDbGllbnQtPmNvbnRleHRNZW51RGlz
bWlzc2VkKCp0aGlzKTsKKyAgICBtX2FjdGl2ZUNvbnRleHRNZW51LT5zaG93Q29udGV4dE1lbnUo
KTsKIH0KIAogI2lmICFFTkFCTEUoU0VSVklDRV9DT05UUk9MUykKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuaCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJv
Y2Vzcy9XZWJQYWdlUHJveHkuaAppbmRleCBlZTNjZmE5YjY3Y2M3MGQ0MGZjZmU4MDkxYzBlYzVm
ZDBlYzljMTVhLi43ZTQ0ZjUxYWQ3YjhkNzE3ZmViMTg4ODQzZTIzNDMzNWQ2MWEzMjE5IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmgKKysrIGIvU291
cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5oCkBAIC0zMjYsNiArMzI2LDcgQEAg
cHVibGljOgogI2VuZGlmCiAKICNpZiBFTkFCTEUoQ09OVEVYVF9NRU5VUykKKyAgICBBUEk6OkNv
bnRleHRNZW51Q2xpZW50JiBjb250ZXh0TWVudUNsaWVudCgpIHsgcmV0dXJuICptX2NvbnRleHRN
ZW51Q2xpZW50OyB9CiAgICAgdm9pZCBzZXRDb250ZXh0TWVudUNsaWVudChzdGQ6OnVuaXF1ZV9w
dHI8QVBJOjpDb250ZXh0TWVudUNsaWVudD4pOwogI2VuZGlmCiAgICAgQVBJOjpGaW5kQ2xpZW50
JiBmaW5kQ2xpZW50KCkgeyByZXR1cm4gKm1fZmluZENsaWVudDsgfQpAQCAtMTI2NCw3ICsxMjY1
LDYgQEAgcHJpdmF0ZToKICNpZiBFTkFCTEUoQ09OVEVYVF9NRU5VUykKICAgICB2b2lkIHNob3dD
b250ZXh0TWVudShjb25zdCBDb250ZXh0TWVudUNvbnRleHREYXRhJiwgY29uc3QgVXNlckRhdGEm
KTsKICAgICB2b2lkIGludGVybmFsU2hvd0NvbnRleHRNZW51KGNvbnN0IENvbnRleHRNZW51Q29u
dGV4dERhdGEmLCBjb25zdCBVc2VyRGF0YSYpOwotICAgIFdlYkNvcmU6OkNvbnRleHRNZW51SXRl
bSBwbGF0Zm9ybUluaXRpYWxpemVTaGFyZU1lbnVJdGVtKGNvbnN0IENvbnRleHRNZW51Q29udGV4
dERhdGEmKTsKICNlbmRpZgogCiAjaWYgRU5BQkxFKFRFTEVQSE9ORV9OVU1CRVJfREVURUNUSU9O
KQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL21hYy9XZWJDb250ZXh0TWVu
dVByb3h5TWFjLmggYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvbWFjL1dlYkNvbnRleHRNZW51
UHJveHlNYWMuaAppbmRleCA3N2I5ZjE4MTc2NDljNTk4MjMyYzk5OGQ1MzczOTcyZGQyOWU5NjVm
Li44OTliNTI0MDI1NDZhOTc1ODc0Mjc4ZjlmZThjN2YzYWFkNjVmZWIyIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvbWFjL1dlYkNvbnRleHRNZW51UHJveHlNYWMuaAorKysg
Yi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvbWFjL1dlYkNvbnRleHRNZW51UHJveHlNYWMuaApA
QCAtNTAsNyArNTAsNyBAQCBwdWJsaWM6CiAgICAgfQogICAgIH5XZWJDb250ZXh0TWVudVByb3h5
TWFjKCk7CiAKLSAgICB2aXJ0dWFsIHZvaWQgc2hvd0NvbnRleHRNZW51KGNvbnN0IFZlY3RvcjxS
ZWZQdHI8V2ViQ29udGV4dE1lbnVJdGVtPj4mKSBvdmVycmlkZTsKKyAgICB2aXJ0dWFsIHZvaWQg
c2hvd0NvbnRleHRNZW51KCkgb3ZlcnJpZGU7CiAKICAgICB2aXJ0dWFsIHZvaWQgaGlkZUNvbnRl
eHRNZW51KCkgb3ZlcnJpZGU7CiAgICAgdmlydHVhbCB2b2lkIGNhbmNlbFRyYWNraW5nKCkgb3Zl
cnJpZGU7CkBAIC03MSw2ICs3MSw3IEBAIHByaXZhdGU6CiAKICNpZiBFTkFCTEUoU0VSVklDRV9D
T05UUk9MUykKICAgICB2b2lkIHNldHVwU2VydmljZXNNZW51KGNvbnN0IENvbnRleHRNZW51Q29u
dGV4dERhdGEmKTsKKyAgICBXZWJDb3JlOjpDb250ZXh0TWVudUl0ZW0gaW5pdGlhbGl6ZVNoYXJl
TWVudUl0ZW0oKTsKICNlbmRpZgogCiAgICAgUmV0YWluUHRyPE5TUG9wVXBCdXR0b25DZWxsPiBt
X3BvcHVwOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL21hYy9XZWJDb250
ZXh0TWVudVByb3h5TWFjLm1tIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL21hYy9XZWJDb250
ZXh0TWVudVByb3h5TWFjLm1tCmluZGV4IDMzYmFhOTdkZDk1NWQ4YjVkMzk0YTA5ZGZkMGRmNjUy
NDBmNjJiMjEuLmJhN2NmMWEzZjgwMjE2ZjBkY2QwOWY1Yjg2MTk2ZDZkNGRlZWE4OWEgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9tYWMvV2ViQ29udGV4dE1lbnVQcm94eU1h
Yy5tbQorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvbWFjL1dlYkNvbnRleHRNZW51UHJv
eHlNYWMubW0KQEAgLTI4LDYgKzI4LDcgQEAKIAogI2lmIFBMQVRGT1JNKE1BQykKIAorI2ltcG9y
dCAiQVBJQ29udGV4dE1lbnVDbGllbnQuaCIKICNpbXBvcnQgIkRhdGFSZWZlcmVuY2UuaCIKICNp
bXBvcnQgIk1lbnVVdGlsaXRpZXMuaCIKICNpbXBvcnQgIlBhZ2VDbGllbnRJbXBsLmgiCkBAIC0y
NTEsNyArMjUyLDYgQEAgdGVtcGxhdGU8dHlwZW5hbWUgSXRlbVR5cGU+IHN0YXRpYyBWZWN0b3I8
UmV0YWluUHRyPE5TTWVudUl0ZW0+PiBuc01lbnVJdGVtVmVjdG8KIH0KIAogI2lmIEVOQUJMRShT
RVJWSUNFX0NPTlRST0xTKQotCiB2b2lkIFdlYkNvbnRleHRNZW51UHJveHlNYWM6OnNldHVwU2Vy
dmljZXNNZW51KGNvbnN0IENvbnRleHRNZW51Q29udGV4dERhdGEmIGNvbnRleHQpCiB7CiAgICAg
Ym9vbCBpbmNsdWRlRWRpdG9yU2VydmljZXMgPSBjb250ZXh0LmNvbnRyb2xsZWREYXRhSXNFZGl0
YWJsZSgpOwpAQCAtMzIxLDYgKzMyMSwzOSBAQCB2b2lkIFdlYkNvbnRleHRNZW51UHJveHlNYWM6
OmNsZWFyU2VydmljZXNNZW51KCkKICAgICBbW1dLU2hhcmluZ1NlcnZpY2VQaWNrZXJEZWxlZ2F0
ZSBzaGFyZWRTaGFyaW5nU2VydmljZVBpY2tlckRlbGVnYXRlXSBzZXRQaWNrZXI6bnVsbHB0cl07
CiAgICAgbV9zZXJ2aWNlc01lbnUgPSBudWxscHRyOwogfQorCitDb250ZXh0TWVudUl0ZW0gV2Vi
Q29udGV4dE1lbnVQcm94eU1hYzo6aW5pdGlhbGl6ZVNoYXJlTWVudUl0ZW0oKQoreworICAgIGNv
bnN0IFdlYkhpdFRlc3RSZXN1bHREYXRhJiBoaXRUZXN0RGF0YSA9IG1fY29udGV4dC53ZWJIaXRU
ZXN0UmVzdWx0RGF0YSgpOworCisgICAgVVJMIGFic29sdXRlTGlua1VSTDsKKyAgICBpZiAoIWhp
dFRlc3REYXRhLmFic29sdXRlTGlua1VSTC5pc0VtcHR5KCkpCisgICAgICAgIGFic29sdXRlTGlu
a1VSTCA9IFVSTChQYXJzZWRVUkxTdHJpbmcsIGhpdFRlc3REYXRhLmFic29sdXRlTGlua1VSTCk7
CisKKyAgICBVUkwgZG93bmxvYWRhYmxlTWVkaWFVUkw7CisgICAgaWYgKCFoaXRUZXN0RGF0YS5h
YnNvbHV0ZU1lZGlhVVJMLmlzRW1wdHkoKSAmJiBoaXRUZXN0RGF0YS5pc0Rvd25sb2FkYWJsZU1l
ZGlhKQorICAgICAgICBkb3dubG9hZGFibGVNZWRpYVVSTCA9IFVSTChQYXJzZWRVUkxTdHJpbmcs
IGhpdFRlc3REYXRhLmFic29sdXRlTWVkaWFVUkwpOworCisgICAgUmV0YWluUHRyPE5TSW1hZ2U+
IGltYWdlOworICAgIGlmIChoaXRUZXN0RGF0YS5pbWFnZVNoYXJlZE1lbW9yeSAmJiBoaXRUZXN0
RGF0YS5pbWFnZVNpemUpCisgICAgICAgIGltYWdlID0gYWRvcHROUyhbW05TSW1hZ2UgYWxsb2Nd
IGluaXRXaXRoRGF0YTpbTlNEYXRhIGRhdGFXaXRoQnl0ZXM6KHVuc2lnbmVkIGNoYXIqKWhpdFRl
c3REYXRhLmltYWdlU2hhcmVkTWVtb3J5LT5kYXRhKCkgbGVuZ3RoOmhpdFRlc3REYXRhLmltYWdl
U2l6ZV1dKTsKKworICAgIENvbnRleHRNZW51SXRlbSBpdGVtID0gQ29udGV4dE1lbnVJdGVtOjpz
aGFyZU1lbnVJdGVtKGFic29sdXRlTGlua1VSTCwgZG93bmxvYWRhYmxlTWVkaWFVUkwsIGltYWdl
LmdldCgpLCBtX2NvbnRleHQuc2VsZWN0ZWRUZXh0KCkpOworCisgICAgTlNNZW51SXRlbSAqbnNJ
dGVtID0gaXRlbS5wbGF0Zm9ybURlc2NyaXB0aW9uKCk7CisKKyAgICBOU1NoYXJpbmdTZXJ2aWNl
UGlja2VyICpzaGFyaW5nU2VydmljZVBpY2tlciA9IFtuc0l0ZW0gcmVwcmVzZW50ZWRPYmplY3Rd
OworICAgIHNoYXJpbmdTZXJ2aWNlUGlja2VyLmRlbGVnYXRlID0gW1dLU2hhcmluZ1NlcnZpY2VQ
aWNrZXJEZWxlZ2F0ZSBzaGFyZWRTaGFyaW5nU2VydmljZVBpY2tlckRlbGVnYXRlXTsKKworICAg
IFtbV0tTaGFyaW5nU2VydmljZVBpY2tlckRlbGVnYXRlIHNoYXJlZFNoYXJpbmdTZXJ2aWNlUGlj
a2VyRGVsZWdhdGVdIHNldEZpbHRlcnNFZGl0aW5nU2VydmljZXM6Tk9dOworICAgIFtbV0tTaGFy
aW5nU2VydmljZVBpY2tlckRlbGVnYXRlIHNoYXJlZFNoYXJpbmdTZXJ2aWNlUGlja2VyRGVsZWdh
dGVdIHNldEhhbmRsZXNFZGl0aW5nUmVwbGFjZW1lbnQ6Tk9dOworICAgIFtbV0tTaGFyaW5nU2Vy
dmljZVBpY2tlckRlbGVnYXRlIHNoYXJlZFNoYXJpbmdTZXJ2aWNlUGlja2VyRGVsZWdhdGVdIHNl
dE1lbnVQcm94eTp0aGlzXTsKKworICAgIC8vIFNldHRpbmcgdGhlIHBpY2tlciBsZXRzIHRoZSBk
ZWxlZ2F0ZSByZXRhaW4gaXQgdG8ga2VlcCBpdCBhbGl2ZSwgYnV0IHRoaXMgcGlja2VyIGlzIGtl
cHQgYWxpdmUgYnkgdGhlIG1lbnUgaXRlbS4KKyAgICBbW1dLU2hhcmluZ1NlcnZpY2VQaWNrZXJE
ZWxlZ2F0ZSBzaGFyZWRTaGFyaW5nU2VydmljZVBpY2tlckRlbGVnYXRlXSBzZXRQaWNrZXI6bmls
XTsKKworICAgIHJldHVybiBpdGVtOworfQogI2VuZGlmCiAKIHZvaWQgV2ViQ29udGV4dE1lbnVQ
cm94eU1hYzo6cG9wdWxhdGUoY29uc3QgVmVjdG9yPFJlZlB0cjxXZWJDb250ZXh0TWVudUl0ZW0+
PiYgaXRlbXMpCkBAIC0zNDUsOCArMzc4LDM1IEBAIHZvaWQgV2ViQ29udGV4dE1lbnVQcm94eU1h
Yzo6cG9wdWxhdGUoY29uc3QgVmVjdG9yPFJlZlB0cjxXZWJDb250ZXh0TWVudUl0ZW0+PiYKICAg
ICBwb3B1bGF0ZU5TTWVudShtZW51LCBuc01lbnVJdGVtVmVjdG9yKGl0ZW1zKSk7CiB9CiAKLXZv
aWQgV2ViQ29udGV4dE1lbnVQcm94eU1hYzo6c2hvd0NvbnRleHRNZW51KGNvbnN0IFZlY3RvcjxS
ZWZQdHI8V2ViQ29udGV4dE1lbnVJdGVtPj4mIGl0ZW1zKQordm9pZCBXZWJDb250ZXh0TWVudVBy
b3h5TWFjOjpzaG93Q29udGV4dE1lbnUoKQogeworICAgIC8vIFVubGVzcyB0aGlzIGlzIGFuIGlt
YWdlIGNvbnRyb2wsIGdpdmUgdGhlIFBhZ2VDb250ZXh0TWVudUNsaWVudCBvbmUgbGFzdCBzd2lw
ZSBhdCBjaGFuZ2luZyB0aGUgbWVudS4KKyAgICBib29sIGFza0NsaWVudFRvQ2hhbmdlTWVudSA9
IHRydWU7CisjaWYgRU5BQkxFKFNFUlZJQ0VfQ09OVFJPTFMpCisgICAgaWYgKG1fY29udGV4dC5p
c1NlcnZpY2VzTWVudSgpIHx8IG1fY29udGV4dC5jb250cm9sbGVkSW1hZ2UoKSkKKyAgICAgICAg
YXNrQ2xpZW50VG9DaGFuZ2VNZW51ID0gZmFsc2U7CisjZW5kaWYKKworICAgIFZlY3RvcjxSZWZQ
dHI8V2ViQ29udGV4dE1lbnVJdGVtPj4gcHJvcG9zZWRBUElJdGVtczsKKyAgICBmb3IgKGF1dG8m
IGl0ZW0gOiBtX2NvbnRleHQubWVudUl0ZW1zKCkpIHsKKyAgICAgICAgaWYgKGl0ZW0uYWN0aW9u
KCkgIT0gQ29udGV4dE1lbnVJdGVtVGFnU2hhcmVNZW51KSB7CisgICAgICAgICAgICBwcm9wb3Nl
ZEFQSUl0ZW1zLmFwcGVuZChXZWJDb250ZXh0TWVudUl0ZW06OmNyZWF0ZShpdGVtKSk7CisgICAg
ICAgICAgICBjb250aW51ZTsKKyAgICAgICAgfQorCisgICAgICAgIENvbnRleHRNZW51SXRlbSBj
b3JlSXRlbSA9IGluaXRpYWxpemVTaGFyZU1lbnVJdGVtKCk7CisgICAgICAgIGlmICghY29yZUl0
ZW0uaXNOdWxsKCkpCisgICAgICAgICAgICBwcm9wb3NlZEFQSUl0ZW1zLmFwcGVuZChXZWJDb250
ZXh0TWVudUl0ZW06OmNyZWF0ZShjb3JlSXRlbSkpOworICAgIH0KKworICAgIFZlY3RvcjxSZWZQ
dHI8V2ViQ29udGV4dE1lbnVJdGVtPj4gY2xpZW50SXRlbXM7CisgICAgYm9vbCB1c2VQcm9wb3Nl
ZEl0ZW1zID0gdHJ1ZTsKKworICAgIGlmIChhc2tDbGllbnRUb0NoYW5nZU1lbnUgJiYgbV9wYWdl
LmNvbnRleHRNZW51Q2xpZW50KCkuZ2V0Q29udGV4dE1lbnVGcm9tUHJvcG9zZWRNZW51KG1fcGFn
ZSwgcHJvcG9zZWRBUElJdGVtcywgY2xpZW50SXRlbXMsIG1fY29udGV4dC53ZWJIaXRUZXN0UmVz
dWx0RGF0YSgpLCBtX3BhZ2UucHJvY2VzcygpLnRyYW5zZm9ybUhhbmRsZXNUb09iamVjdHMobV91
c2VyRGF0YS5vYmplY3QoKSkuZ2V0KCkpKQorICAgICAgICB1c2VQcm9wb3NlZEl0ZW1zID0gZmFs
c2U7CisKKyAgICBjb25zdCBWZWN0b3I8UmVmUHRyPFdlYkNvbnRleHRNZW51SXRlbT4+JiBpdGVt
cyA9IHVzZVByb3Bvc2VkSXRlbXMgPyBwcm9wb3NlZEFQSUl0ZW1zIDogY2xpZW50SXRlbXM7CisK
ICNpZiBFTkFCTEUoU0VSVklDRV9DT05UUk9MUykKICAgICBpZiAoaXRlbXMuaXNFbXB0eSgpICYm
ICFtX2NvbnRleHQuaXNTZXJ2aWNlc01lbnUoKSkKICAgICAgICAgcmV0dXJuOwpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL21hYy9XZWJQYWdlUHJveHlNYWMubW0gYi9Tb3Vy
Y2UvV2ViS2l0Mi9VSVByb2Nlc3MvbWFjL1dlYlBhZ2VQcm94eU1hYy5tbQppbmRleCA1ZTAyNTcz
OGZmNDgyOGQxMGJkNmNkMGY3YTQzMTYzY2VkZTFkMDdmLi42NzRhN2I2OWEwZWFlNzdlMWRlNGYw
OGIxMDI3NjgyYTYyYTJmZWU3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3Mv
bWFjL1dlYlBhZ2VQcm94eU1hYy5tbQorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvbWFj
L1dlYlBhZ2VQcm94eU1hYy5tbQpAQCAtNzM4LDQxICs3MzgsNiBAQCB2b2lkIFdlYlBhZ2VQcm94
eTo6ZWRpdG9yU3RhdGVDaGFuZ2VkKGNvbnN0IEVkaXRvclN0YXRlJiBlZGl0b3JTdGF0ZSkKICNl
bmRpZgogfQogCi0jaWYgRU5BQkxFKFNFUlZJQ0VfQ09OVFJPTFMpCi1Db250ZXh0TWVudUl0ZW0g
V2ViUGFnZVByb3h5OjpwbGF0Zm9ybUluaXRpYWxpemVTaGFyZU1lbnVJdGVtKGNvbnN0IENvbnRl
eHRNZW51Q29udGV4dERhdGEmIGNvbnRleHRNZW51Q29udGV4dERhdGEpCi17Ci0gICAgY29uc3Qg
V2ViSGl0VGVzdFJlc3VsdERhdGEmIGhpdFRlc3REYXRhID0gY29udGV4dE1lbnVDb250ZXh0RGF0
YS53ZWJIaXRUZXN0UmVzdWx0RGF0YSgpOwotCi0gICAgVVJMIGFic29sdXRlTGlua1VSTDsKLSAg
ICBpZiAoIWhpdFRlc3REYXRhLmFic29sdXRlTGlua1VSTC5pc0VtcHR5KCkpCi0gICAgICAgIGFi
c29sdXRlTGlua1VSTCA9IFVSTChQYXJzZWRVUkxTdHJpbmcsIGhpdFRlc3REYXRhLmFic29sdXRl
TGlua1VSTCk7Ci0KLSAgICBVUkwgZG93bmxvYWRhYmxlTWVkaWFVUkw7Ci0gICAgaWYgKCFoaXRU
ZXN0RGF0YS5hYnNvbHV0ZU1lZGlhVVJMLmlzRW1wdHkoKSAmJiBoaXRUZXN0RGF0YS5pc0Rvd25s
b2FkYWJsZU1lZGlhKQotICAgICAgICBkb3dubG9hZGFibGVNZWRpYVVSTCA9IFVSTChQYXJzZWRV
UkxTdHJpbmcsIGhpdFRlc3REYXRhLmFic29sdXRlTWVkaWFVUkwpOwotCi0gICAgUmV0YWluUHRy
PE5TSW1hZ2U+IGltYWdlOwotICAgIGlmIChoaXRUZXN0RGF0YS5pbWFnZVNoYXJlZE1lbW9yeSAm
JiBoaXRUZXN0RGF0YS5pbWFnZVNpemUpCi0gICAgICAgIGltYWdlID0gYWRvcHROUyhbW05TSW1h
Z2UgYWxsb2NdIGluaXRXaXRoRGF0YTpbTlNEYXRhIGRhdGFXaXRoQnl0ZXM6KHVuc2lnbmVkIGNo
YXIqKWhpdFRlc3REYXRhLmltYWdlU2hhcmVkTWVtb3J5LT5kYXRhKCkgbGVuZ3RoOmhpdFRlc3RE
YXRhLmltYWdlU2l6ZV1dKTsKLQotICAgIENvbnRleHRNZW51SXRlbSBpdGVtID0gQ29udGV4dE1l
bnVJdGVtOjpzaGFyZU1lbnVJdGVtKGFic29sdXRlTGlua1VSTCwgZG93bmxvYWRhYmxlTWVkaWFV
UkwsIGltYWdlLmdldCgpLCBjb250ZXh0TWVudUNvbnRleHREYXRhLnNlbGVjdGVkVGV4dCgpKTsK
LQotICAgIE5TTWVudUl0ZW0gKm5zSXRlbSA9IGl0ZW0ucGxhdGZvcm1EZXNjcmlwdGlvbigpOwot
Ci0gICAgTlNTaGFyaW5nU2VydmljZVBpY2tlciAqc2hhcmluZ1NlcnZpY2VQaWNrZXIgPSBbbnNJ
dGVtIHJlcHJlc2VudGVkT2JqZWN0XTsKLSAgICBzaGFyaW5nU2VydmljZVBpY2tlci5kZWxlZ2F0
ZSA9IFtXS1NoYXJpbmdTZXJ2aWNlUGlja2VyRGVsZWdhdGUgc2hhcmVkU2hhcmluZ1NlcnZpY2VQ
aWNrZXJEZWxlZ2F0ZV07Ci0gICAgCi0gICAgW1tXS1NoYXJpbmdTZXJ2aWNlUGlja2VyRGVsZWdh
dGUgc2hhcmVkU2hhcmluZ1NlcnZpY2VQaWNrZXJEZWxlZ2F0ZV0gc2V0RmlsdGVyc0VkaXRpbmdT
ZXJ2aWNlczpOT107Ci0gICAgW1tXS1NoYXJpbmdTZXJ2aWNlUGlja2VyRGVsZWdhdGUgc2hhcmVk
U2hhcmluZ1NlcnZpY2VQaWNrZXJEZWxlZ2F0ZV0gc2V0SGFuZGxlc0VkaXRpbmdSZXBsYWNlbWVu
dDpOT107Ci0gICAgW1tXS1NoYXJpbmdTZXJ2aWNlUGlja2VyRGVsZWdhdGUgc2hhcmVkU2hhcmlu
Z1NlcnZpY2VQaWNrZXJEZWxlZ2F0ZV0gc2V0TWVudVByb3h5OnN0YXRpY19jYXN0PFdlYkNvbnRl
eHRNZW51UHJveHlNYWMqPihtX2FjdGl2ZUNvbnRleHRNZW51LmdldCgpKV07Ci0KLSAgICAvLyBT
ZXR0aW5nIHRoZSBwaWNrZXIgbGV0cyB0aGUgZGVsZWdhdGUgcmV0YWluIGl0IHRvIGtlZXAgaXQg
YWxpdmUsIGJ1dCB0aGlzIHBpY2tlciBpcyBrZXB0IGFsaXZlIGJ5IHRoZSBtZW51IGl0ZW0uCi0g
ICAgW1tXS1NoYXJpbmdTZXJ2aWNlUGlja2VyRGVsZWdhdGUgc2hhcmVkU2hhcmluZ1NlcnZpY2VQ
aWNrZXJEZWxlZ2F0ZV0gc2V0UGlja2VyOm5pbF07Ci0KLSAgICByZXR1cm4gaXRlbTsKLX0KLSNl
bmRpZgotCiB9IC8vIG5hbWVzcGFjZSBXZWJLaXQKIAogI2VuZGlmIC8vIFBMQVRGT1JNKE1BQykK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>263307</attachid>
            <date>2015-10-16 12:08:33 -0700</date>
            <delta_ts>2015-10-16 12:28:36 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-150240-20151016120754.patch</filename>
            <type>text/plain</type>
            <size>12540</size>
            <attacher name="Anders Carlsson">andersca</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTkxMTgxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKaW5kZXggMDJkZmIwMzM0YTYzMmI1
MjJhMjgzMjU1M2EwY2Y4ZDQ3NmViMjUyZC4uNTczZDBkMjc0ZDk2MTU5Zjk3ODIwNzZmNmNhYTkz
M2M0NGNhYjE0OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJLaXQyL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIyIEBACisyMDE1LTEwLTE2ICBBbmRl
cnMgQ2FybHNzb24gIDxhbmRlcnNjYUBhcHBsZS5jb20+CisKKyAgICAgICAgTW92ZSBtb3JlIGNv
ZGUgdG8gV2ViQ29udGV4dE1lbnVQcm94eU1hYworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTUwMjQwCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZ
IChPT1BTISkuCisKKyAgICAgICAgKiBVSVByb2Nlc3MvV2ViQ29udGV4dE1lbnVQcm94eS5oOgor
ICAgICAgICAqIFVJUHJvY2Vzcy9XZWJQYWdlUHJveHkuY3BwOgorICAgICAgICAoV2ViS2l0OjpX
ZWJQYWdlUHJveHk6OmludGVybmFsU2hvd0NvbnRleHRNZW51KToKKyAgICAgICAgKiBVSVByb2Nl
c3MvV2ViUGFnZVByb3h5Lmg6CisgICAgICAgIChXZWJLaXQ6OldlYlBhZ2VQcm94eTo6Y29udGV4
dE1lbnVDbGllbnQpOgorICAgICAgICAqIFVJUHJvY2Vzcy9tYWMvV2ViQ29udGV4dE1lbnVQcm94
eU1hYy5oOgorICAgICAgICAqIFVJUHJvY2Vzcy9tYWMvV2ViQ29udGV4dE1lbnVQcm94eU1hYy5t
bToKKyAgICAgICAgKFdlYktpdDo6V2ViQ29udGV4dE1lbnVQcm94eU1hYzo6aW5pdGlhbGl6ZVNo
YXJlTWVudUl0ZW0pOgorICAgICAgICAoV2ViS2l0OjpXZWJDb250ZXh0TWVudVByb3h5TWFjOjpz
aG93Q29udGV4dE1lbnUpOgorICAgICAgICAqIFVJUHJvY2Vzcy9tYWMvV2ViUGFnZVByb3h5TWFj
Lm1tOgorICAgICAgICAoV2ViS2l0OjpXZWJQYWdlUHJveHk6OnBsYXRmb3JtSW5pdGlhbGl6ZVNo
YXJlTWVudUl0ZW0pOiBEZWxldGVkLgorCiAyMDE1LTEwLTE1ICBBbmRlcnMgQ2FybHNzb24gIDxh
bmRlcnNjYUBhcHBsZS5jb20+CiAKICAgICAgICAgVXNlIHRoZSBTaG93Q29udGV4dE1lbnUgbWVz
c2FnZSBmb3Igc2VydmljZSBtZW51cyBhcyB3ZWxsCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
Mi9VSVByb2Nlc3MvV2ViQ29udGV4dE1lbnVQcm94eS5oIGIvU291cmNlL1dlYktpdDIvVUlQcm9j
ZXNzL1dlYkNvbnRleHRNZW51UHJveHkuaAppbmRleCBjNDEwNjhhYWJhYzc3Mzg4MzUxYjk5ODhi
N2ZmMDFlN2E4ZWE2ZjJhLi4xZDE5NmQwYjhjZjQ3ZTQ4ZjY0MTUzMzg0YzhhZDE2ZmJiMjQxOTQz
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViQ29udGV4dE1lbnVQcm94
eS5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJDb250ZXh0TWVudVByb3h5LmgK
QEAgLTQwLDcgKzQwLDcgQEAgY2xhc3MgV2ViQ29udGV4dE1lbnVQcm94eSA6IHB1YmxpYyBSZWZD
b3VudGVkPFdlYkNvbnRleHRNZW51UHJveHk+IHsKIHB1YmxpYzoKICAgICB2aXJ0dWFsIH5XZWJD
b250ZXh0TWVudVByb3h5KCk7CiAKLSAgICB2aXJ0dWFsIHZvaWQgc2hvd0NvbnRleHRNZW51KGNv
bnN0IFZlY3RvcjxSZWZQdHI8V2ViQ29udGV4dE1lbnVJdGVtPj4mKSA9IDA7CisgICAgdmlydHVh
bCB2b2lkIHNob3dDb250ZXh0TWVudSgpID0gMDsKICAgICB2aXJ0dWFsIHZvaWQgaGlkZUNvbnRl
eHRNZW51KCkgPSAwOwogICAgIHZpcnR1YWwgdm9pZCBjYW5jZWxUcmFja2luZygpIHsgfQogCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmNwcCBiL1Nv
dXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuY3BwCmluZGV4IGMzMzBkZWM4NzE1
NTJmYjY1ZTk2YzJhNmRjMWE3M2IxODg5MjQyODYuLjQ1ODMwMzMzNDA0ZGMzYmMyODg0ZTcyODE4
MzE1Y2ViZjk2NzZmZjYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQ
YWdlUHJveHkuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQYWdlUHJveHku
Y3BwCkBAIC00MjA5LDM2ICs0MjA5LDcgQEAgdm9pZCBXZWJQYWdlUHJveHk6OmludGVybmFsU2hv
d0NvbnRleHRNZW51KGNvbnN0IENvbnRleHRNZW51Q29udGV4dERhdGEmIGNvbnRleHQKICAgICAv
LyBTaW5jZSBzaG93Q29udGV4dE1lbnUoKSBjYW4gc3BpbiBhIG5lc3RlZCBydW4gbG9vcCB3ZSBu
ZWVkIHRvIHR1cm4gb2ZmIHRoZSByZXNwb25zaXZlbmVzcyB0aW1lci4KICAgICBtX3Byb2Nlc3Mt
PnJlc3BvbnNpdmVuZXNzVGltZXIoKS0+c3RvcCgpOwogCi0gICAgLy8gVW5sZXNzIHRoaXMgaXMg
YW4gaW1hZ2UgY29udHJvbCwgZ2l2ZSB0aGUgUGFnZUNvbnRleHRNZW51Q2xpZW50IG9uZSBsYXN0
IHN3aXBlIGF0IGNoYW5naW5nIHRoZSBtZW51LgotICAgIGJvb2wgYXNrQ2xpZW50VG9DaGFuZ2VN
ZW51ID0gdHJ1ZTsKLSNpZiBFTkFCTEUoU0VSVklDRV9DT05UUk9MUykKLSAgICBpZiAoY29udGV4
dE1lbnVDb250ZXh0RGF0YS5pc1NlcnZpY2VzTWVudSgpIHx8IGNvbnRleHRNZW51Q29udGV4dERh
dGEuY29udHJvbGxlZEltYWdlKCkpCi0gICAgICAgIGFza0NsaWVudFRvQ2hhbmdlTWVudSA9IGZh
bHNlOwotI2VuZGlmCi0KLSAgICBWZWN0b3I8UmVmUHRyPFdlYkNvbnRleHRNZW51SXRlbT4+IHBy
b3Bvc2VkQVBJSXRlbXM7Ci0gICAgZm9yIChhdXRvJiBpdGVtIDogY29udGV4dE1lbnVDb250ZXh0
RGF0YS5tZW51SXRlbXMoKSkgewotICAgICAgICBpZiAoaXRlbS5hY3Rpb24oKSAhPSBDb250ZXh0
TWVudUl0ZW1UYWdTaGFyZU1lbnUpIHsKLSAgICAgICAgICAgIHByb3Bvc2VkQVBJSXRlbXMuYXBw
ZW5kKFdlYkNvbnRleHRNZW51SXRlbTo6Y3JlYXRlKGl0ZW0pKTsKLSAgICAgICAgICAgIGNvbnRp
bnVlOwotICAgICAgICB9Ci0KLSAgICAgICAgQ29udGV4dE1lbnVJdGVtIGNvcmVJdGVtID0gcGxh
dGZvcm1Jbml0aWFsaXplU2hhcmVNZW51SXRlbShjb250ZXh0TWVudUNvbnRleHREYXRhKTsKLSAg
ICAgICAgaWYgKCFjb3JlSXRlbS5pc051bGwoKSkKLSAgICAgICAgICAgIHByb3Bvc2VkQVBJSXRl
bXMuYXBwZW5kKFdlYkNvbnRleHRNZW51SXRlbTo6Y3JlYXRlKGNvcmVJdGVtKSk7Ci0gICAgfQot
Ci0gICAgVmVjdG9yPFJlZlB0cjxXZWJDb250ZXh0TWVudUl0ZW0+PiBjbGllbnRJdGVtczsKLSAg
ICBib29sIHVzZVByb3Bvc2VkSXRlbXMgPSB0cnVlOwotCi0gICAgaWYgKGFza0NsaWVudFRvQ2hh
bmdlTWVudSAmJiBtX2NvbnRleHRNZW51Q2xpZW50LT5nZXRDb250ZXh0TWVudUZyb21Qcm9wb3Nl
ZE1lbnUoKnRoaXMsIHByb3Bvc2VkQVBJSXRlbXMsIGNsaWVudEl0ZW1zLCBjb250ZXh0TWVudUNv
bnRleHREYXRhLndlYkhpdFRlc3RSZXN1bHREYXRhKCksIG1fcHJvY2Vzcy0+dHJhbnNmb3JtSGFu
ZGxlc1RvT2JqZWN0cyh1c2VyRGF0YS5vYmplY3QoKSkuZ2V0KCkpKQotICAgICAgICB1c2VQcm9w
b3NlZEl0ZW1zID0gZmFsc2U7Ci0KLSAgICBjb25zdCBWZWN0b3I8UmVmUHRyPFdlYkNvbnRleHRN
ZW51SXRlbT4+JiBpdGVtc1RvU2hvdyA9IHVzZVByb3Bvc2VkSXRlbXMgPyBwcm9wb3NlZEFQSUl0
ZW1zIDogY2xpZW50SXRlbXM7Ci0gICAgaWYgKCFtX2NvbnRleHRNZW51Q2xpZW50LT5zaG93Q29u
dGV4dE1lbnUoKnRoaXMsIGNvbnRleHRNZW51Q29udGV4dERhdGEubWVudUxvY2F0aW9uKCksIGl0
ZW1zVG9TaG93KSkKLSAgICAgICAgbV9hY3RpdmVDb250ZXh0TWVudS0+c2hvd0NvbnRleHRNZW51
KGl0ZW1zVG9TaG93KTsKLQotICAgIG1fY29udGV4dE1lbnVDbGllbnQtPmNvbnRleHRNZW51RGlz
bWlzc2VkKCp0aGlzKTsKKyAgICBtX2FjdGl2ZUNvbnRleHRNZW51LT5zaG93Q29udGV4dE1lbnUo
KTsKIH0KIAogI2lmICFFTkFCTEUoU0VSVklDRV9DT05UUk9MUykKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuaCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJv
Y2Vzcy9XZWJQYWdlUHJveHkuaAppbmRleCBlZTNjZmE5YjY3Y2M3MGQ0MGZjZmU4MDkxYzBlYzVm
ZDBlYzljMTVhLi43ZTQ0ZjUxYWQ3YjhkNzE3ZmViMTg4ODQzZTIzNDMzNWQ2MWEzMjE5IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmgKKysrIGIvU291
cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5oCkBAIC0zMjYsNiArMzI2LDcgQEAg
cHVibGljOgogI2VuZGlmCiAKICNpZiBFTkFCTEUoQ09OVEVYVF9NRU5VUykKKyAgICBBUEk6OkNv
bnRleHRNZW51Q2xpZW50JiBjb250ZXh0TWVudUNsaWVudCgpIHsgcmV0dXJuICptX2NvbnRleHRN
ZW51Q2xpZW50OyB9CiAgICAgdm9pZCBzZXRDb250ZXh0TWVudUNsaWVudChzdGQ6OnVuaXF1ZV9w
dHI8QVBJOjpDb250ZXh0TWVudUNsaWVudD4pOwogI2VuZGlmCiAgICAgQVBJOjpGaW5kQ2xpZW50
JiBmaW5kQ2xpZW50KCkgeyByZXR1cm4gKm1fZmluZENsaWVudDsgfQpAQCAtMTI2NCw3ICsxMjY1
LDYgQEAgcHJpdmF0ZToKICNpZiBFTkFCTEUoQ09OVEVYVF9NRU5VUykKICAgICB2b2lkIHNob3dD
b250ZXh0TWVudShjb25zdCBDb250ZXh0TWVudUNvbnRleHREYXRhJiwgY29uc3QgVXNlckRhdGEm
KTsKICAgICB2b2lkIGludGVybmFsU2hvd0NvbnRleHRNZW51KGNvbnN0IENvbnRleHRNZW51Q29u
dGV4dERhdGEmLCBjb25zdCBVc2VyRGF0YSYpOwotICAgIFdlYkNvcmU6OkNvbnRleHRNZW51SXRl
bSBwbGF0Zm9ybUluaXRpYWxpemVTaGFyZU1lbnVJdGVtKGNvbnN0IENvbnRleHRNZW51Q29udGV4
dERhdGEmKTsKICNlbmRpZgogCiAjaWYgRU5BQkxFKFRFTEVQSE9ORV9OVU1CRVJfREVURUNUSU9O
KQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL21hYy9XZWJDb250ZXh0TWVu
dVByb3h5TWFjLmggYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvbWFjL1dlYkNvbnRleHRNZW51
UHJveHlNYWMuaAppbmRleCA3N2I5ZjE4MTc2NDljNTk4MjMyYzk5OGQ1MzczOTcyZGQyOWU5NjVm
Li5lYTlkNGIxZmI2M2MyMzIwZGFlOWY2M2VmYmNiNWQ2N2IxZmZjOTYyIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvbWFjL1dlYkNvbnRleHRNZW51UHJveHlNYWMuaAorKysg
Yi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvbWFjL1dlYkNvbnRleHRNZW51UHJveHlNYWMuaApA
QCAtNTAsNyArNTAsNyBAQCBwdWJsaWM6CiAgICAgfQogICAgIH5XZWJDb250ZXh0TWVudVByb3h5
TWFjKCk7CiAKLSAgICB2aXJ0dWFsIHZvaWQgc2hvd0NvbnRleHRNZW51KGNvbnN0IFZlY3RvcjxS
ZWZQdHI8V2ViQ29udGV4dE1lbnVJdGVtPj4mKSBvdmVycmlkZTsKKyAgICB2aXJ0dWFsIHZvaWQg
c2hvd0NvbnRleHRNZW51KCkgb3ZlcnJpZGU7CiAKICAgICB2aXJ0dWFsIHZvaWQgaGlkZUNvbnRl
eHRNZW51KCkgb3ZlcnJpZGU7CiAgICAgdmlydHVhbCB2b2lkIGNhbmNlbFRyYWNraW5nKCkgb3Zl
cnJpZGU7CkBAIC02OCw2ICs2OCw3IEBAIHByaXZhdGU6CiAgICAgV2ViQ29udGV4dE1lbnVQcm94
eU1hYyhXS1ZpZXcqLCBXZWJQYWdlUHJveHkmLCBjb25zdCBDb250ZXh0TWVudUNvbnRleHREYXRh
JiwgY29uc3QgVXNlckRhdGEmKTsKIAogICAgIHZvaWQgcG9wdWxhdGUoY29uc3QgVmVjdG9yPFJl
ZlB0cjxXZWJDb250ZXh0TWVudUl0ZW0+PiYpOworICAgIFdlYkNvcmU6OkNvbnRleHRNZW51SXRl
bSBzaGFyZU1lbnVJdGVtKCk7CiAKICNpZiBFTkFCTEUoU0VSVklDRV9DT05UUk9MUykKICAgICB2
b2lkIHNldHVwU2VydmljZXNNZW51KGNvbnN0IENvbnRleHRNZW51Q29udGV4dERhdGEmKTsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9tYWMvV2ViQ29udGV4dE1lbnVQcm94
eU1hYy5tbSBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9tYWMvV2ViQ29udGV4dE1lbnVQcm94
eU1hYy5tbQppbmRleCAzM2JhYTk3ZGQ5NTVkOGI1ZDM5NGEwOWRmZDBkZjY1MjQwZjYyYjIxLi40
NjhkNjZkYzJlODMzOTEzMTA2MzFhYzdjODUzMTI5ZWQwNjdjYzBkIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViS2l0Mi9VSVByb2Nlc3MvbWFjL1dlYkNvbnRleHRNZW51UHJveHlNYWMubW0KKysrIGIv
U291cmNlL1dlYktpdDIvVUlQcm9jZXNzL21hYy9XZWJDb250ZXh0TWVudVByb3h5TWFjLm1tCkBA
IC0yOCw2ICsyOCw3IEBACiAKICNpZiBQTEFURk9STShNQUMpCiAKKyNpbXBvcnQgIkFQSUNvbnRl
eHRNZW51Q2xpZW50LmgiCiAjaW1wb3J0ICJEYXRhUmVmZXJlbmNlLmgiCiAjaW1wb3J0ICJNZW51
VXRpbGl0aWVzLmgiCiAjaW1wb3J0ICJQYWdlQ2xpZW50SW1wbC5oIgpAQCAtMjUxLDcgKzI1Miw2
IEBAIHRlbXBsYXRlPHR5cGVuYW1lIEl0ZW1UeXBlPiBzdGF0aWMgVmVjdG9yPFJldGFpblB0cjxO
U01lbnVJdGVtPj4gbnNNZW51SXRlbVZlY3RvCiB9CiAKICNpZiBFTkFCTEUoU0VSVklDRV9DT05U
Uk9MUykKLQogdm9pZCBXZWJDb250ZXh0TWVudVByb3h5TWFjOjpzZXR1cFNlcnZpY2VzTWVudShj
b25zdCBDb250ZXh0TWVudUNvbnRleHREYXRhJiBjb250ZXh0KQogewogICAgIGJvb2wgaW5jbHVk
ZUVkaXRvclNlcnZpY2VzID0gY29udGV4dC5jb250cm9sbGVkRGF0YUlzRWRpdGFibGUoKTsKQEAg
LTMyMSw2ICszMjEsMzkgQEAgdm9pZCBXZWJDb250ZXh0TWVudVByb3h5TWFjOjpjbGVhclNlcnZp
Y2VzTWVudSgpCiAgICAgW1tXS1NoYXJpbmdTZXJ2aWNlUGlja2VyRGVsZWdhdGUgc2hhcmVkU2hh
cmluZ1NlcnZpY2VQaWNrZXJEZWxlZ2F0ZV0gc2V0UGlja2VyOm51bGxwdHJdOwogICAgIG1fc2Vy
dmljZXNNZW51ID0gbnVsbHB0cjsKIH0KKworQ29udGV4dE1lbnVJdGVtIFdlYkNvbnRleHRNZW51
UHJveHlNYWM6OnNoYXJlTWVudUl0ZW0oKQoreworICAgIGNvbnN0IFdlYkhpdFRlc3RSZXN1bHRE
YXRhJiBoaXRUZXN0RGF0YSA9IG1fY29udGV4dC53ZWJIaXRUZXN0UmVzdWx0RGF0YSgpOworCisg
ICAgVVJMIGFic29sdXRlTGlua1VSTDsKKyAgICBpZiAoIWhpdFRlc3REYXRhLmFic29sdXRlTGlu
a1VSTC5pc0VtcHR5KCkpCisgICAgICAgIGFic29sdXRlTGlua1VSTCA9IFVSTChQYXJzZWRVUkxT
dHJpbmcsIGhpdFRlc3REYXRhLmFic29sdXRlTGlua1VSTCk7CisKKyAgICBVUkwgZG93bmxvYWRh
YmxlTWVkaWFVUkw7CisgICAgaWYgKCFoaXRUZXN0RGF0YS5hYnNvbHV0ZU1lZGlhVVJMLmlzRW1w
dHkoKSAmJiBoaXRUZXN0RGF0YS5pc0Rvd25sb2FkYWJsZU1lZGlhKQorICAgICAgICBkb3dubG9h
ZGFibGVNZWRpYVVSTCA9IFVSTChQYXJzZWRVUkxTdHJpbmcsIGhpdFRlc3REYXRhLmFic29sdXRl
TWVkaWFVUkwpOworCisgICAgUmV0YWluUHRyPE5TSW1hZ2U+IGltYWdlOworICAgIGlmIChoaXRU
ZXN0RGF0YS5pbWFnZVNoYXJlZE1lbW9yeSAmJiBoaXRUZXN0RGF0YS5pbWFnZVNpemUpCisgICAg
ICAgIGltYWdlID0gYWRvcHROUyhbW05TSW1hZ2UgYWxsb2NdIGluaXRXaXRoRGF0YTpbTlNEYXRh
IGRhdGFXaXRoQnl0ZXM6KHVuc2lnbmVkIGNoYXIqKWhpdFRlc3REYXRhLmltYWdlU2hhcmVkTWVt
b3J5LT5kYXRhKCkgbGVuZ3RoOmhpdFRlc3REYXRhLmltYWdlU2l6ZV1dKTsKKworICAgIENvbnRl
eHRNZW51SXRlbSBpdGVtID0gQ29udGV4dE1lbnVJdGVtOjpzaGFyZU1lbnVJdGVtKGFic29sdXRl
TGlua1VSTCwgZG93bmxvYWRhYmxlTWVkaWFVUkwsIGltYWdlLmdldCgpLCBtX2NvbnRleHQuc2Vs
ZWN0ZWRUZXh0KCkpOworCisgICAgTlNNZW51SXRlbSAqbnNJdGVtID0gaXRlbS5wbGF0Zm9ybURl
c2NyaXB0aW9uKCk7CisKKyAgICBOU1NoYXJpbmdTZXJ2aWNlUGlja2VyICpzaGFyaW5nU2Vydmlj
ZVBpY2tlciA9IFtuc0l0ZW0gcmVwcmVzZW50ZWRPYmplY3RdOworICAgIHNoYXJpbmdTZXJ2aWNl
UGlja2VyLmRlbGVnYXRlID0gW1dLU2hhcmluZ1NlcnZpY2VQaWNrZXJEZWxlZ2F0ZSBzaGFyZWRT
aGFyaW5nU2VydmljZVBpY2tlckRlbGVnYXRlXTsKKworICAgIFtbV0tTaGFyaW5nU2VydmljZVBp
Y2tlckRlbGVnYXRlIHNoYXJlZFNoYXJpbmdTZXJ2aWNlUGlja2VyRGVsZWdhdGVdIHNldEZpbHRl
cnNFZGl0aW5nU2VydmljZXM6Tk9dOworICAgIFtbV0tTaGFyaW5nU2VydmljZVBpY2tlckRlbGVn
YXRlIHNoYXJlZFNoYXJpbmdTZXJ2aWNlUGlja2VyRGVsZWdhdGVdIHNldEhhbmRsZXNFZGl0aW5n
UmVwbGFjZW1lbnQ6Tk9dOworICAgIFtbV0tTaGFyaW5nU2VydmljZVBpY2tlckRlbGVnYXRlIHNo
YXJlZFNoYXJpbmdTZXJ2aWNlUGlja2VyRGVsZWdhdGVdIHNldE1lbnVQcm94eTp0aGlzXTsKKwor
ICAgIC8vIFNldHRpbmcgdGhlIHBpY2tlciBsZXRzIHRoZSBkZWxlZ2F0ZSByZXRhaW4gaXQgdG8g
a2VlcCBpdCBhbGl2ZSwgYnV0IHRoaXMgcGlja2VyIGlzIGtlcHQgYWxpdmUgYnkgdGhlIG1lbnUg
aXRlbS4KKyAgICBbW1dLU2hhcmluZ1NlcnZpY2VQaWNrZXJEZWxlZ2F0ZSBzaGFyZWRTaGFyaW5n
U2VydmljZVBpY2tlckRlbGVnYXRlXSBzZXRQaWNrZXI6bmlsXTsKKworICAgIHJldHVybiBpdGVt
OworfQogI2VuZGlmCiAKIHZvaWQgV2ViQ29udGV4dE1lbnVQcm94eU1hYzo6cG9wdWxhdGUoY29u
c3QgVmVjdG9yPFJlZlB0cjxXZWJDb250ZXh0TWVudUl0ZW0+PiYgaXRlbXMpCkBAIC0zNDUsOCAr
Mzc4LDMzIEBAIHZvaWQgV2ViQ29udGV4dE1lbnVQcm94eU1hYzo6cG9wdWxhdGUoY29uc3QgVmVj
dG9yPFJlZlB0cjxXZWJDb250ZXh0TWVudUl0ZW0+PiYKICAgICBwb3B1bGF0ZU5TTWVudShtZW51
LCBuc01lbnVJdGVtVmVjdG9yKGl0ZW1zKSk7CiB9CiAKLXZvaWQgV2ViQ29udGV4dE1lbnVQcm94
eU1hYzo6c2hvd0NvbnRleHRNZW51KGNvbnN0IFZlY3RvcjxSZWZQdHI8V2ViQ29udGV4dE1lbnVJ
dGVtPj4mIGl0ZW1zKQordm9pZCBXZWJDb250ZXh0TWVudVByb3h5TWFjOjpzaG93Q29udGV4dE1l
bnUoKQogeworICAgIC8vIFVubGVzcyB0aGlzIGlzIGFuIGltYWdlIGNvbnRyb2wsIGdpdmUgdGhl
IFBhZ2VDb250ZXh0TWVudUNsaWVudCBvbmUgbGFzdCBzd2lwZSBhdCBjaGFuZ2luZyB0aGUgbWVu
dS4KKyAgICBib29sIGFza0NsaWVudFRvQ2hhbmdlTWVudSA9IHRydWU7CisjaWYgRU5BQkxFKFNF
UlZJQ0VfQ09OVFJPTFMpCisgICAgaWYgKG1fY29udGV4dC5pc1NlcnZpY2VzTWVudSgpIHx8IG1f
Y29udGV4dC5jb250cm9sbGVkSW1hZ2UoKSkKKyAgICAgICAgYXNrQ2xpZW50VG9DaGFuZ2VNZW51
ID0gZmFsc2U7CisjZW5kaWYKKworICAgIFZlY3RvcjxSZWZQdHI8V2ViQ29udGV4dE1lbnVJdGVt
Pj4gcHJvcG9zZWRBUElJdGVtczsKKyAgICBmb3IgKGF1dG8mIGl0ZW0gOiBtX2NvbnRleHQubWVu
dUl0ZW1zKCkpIHsKKyAgICAgICAgaWYgKGl0ZW0uYWN0aW9uKCkgIT0gQ29udGV4dE1lbnVJdGVt
VGFnU2hhcmVNZW51KSB7CisgICAgICAgICAgICBwcm9wb3NlZEFQSUl0ZW1zLmFwcGVuZChXZWJD
b250ZXh0TWVudUl0ZW06OmNyZWF0ZShpdGVtKSk7CisgICAgICAgICAgICBjb250aW51ZTsKKyAg
ICAgICAgfQorCisgICAgICAgIHByb3Bvc2VkQVBJSXRlbXMuYXBwZW5kKFdlYkNvbnRleHRNZW51
SXRlbTo6Y3JlYXRlKHNoYXJlTWVudUl0ZW0oKSkpOworICAgIH0KKworICAgIFZlY3RvcjxSZWZQ
dHI8V2ViQ29udGV4dE1lbnVJdGVtPj4gY2xpZW50SXRlbXM7CisgICAgYm9vbCB1c2VQcm9wb3Nl
ZEl0ZW1zID0gdHJ1ZTsKKworICAgIGlmIChhc2tDbGllbnRUb0NoYW5nZU1lbnUgJiYgbV9wYWdl
LmNvbnRleHRNZW51Q2xpZW50KCkuZ2V0Q29udGV4dE1lbnVGcm9tUHJvcG9zZWRNZW51KG1fcGFn
ZSwgcHJvcG9zZWRBUElJdGVtcywgY2xpZW50SXRlbXMsIG1fY29udGV4dC53ZWJIaXRUZXN0UmVz
dWx0RGF0YSgpLCBtX3BhZ2UucHJvY2VzcygpLnRyYW5zZm9ybUhhbmRsZXNUb09iamVjdHMobV91
c2VyRGF0YS5vYmplY3QoKSkuZ2V0KCkpKQorICAgICAgICB1c2VQcm9wb3NlZEl0ZW1zID0gZmFs
c2U7CisKKyAgICBjb25zdCBWZWN0b3I8UmVmUHRyPFdlYkNvbnRleHRNZW51SXRlbT4+JiBpdGVt
cyA9IHVzZVByb3Bvc2VkSXRlbXMgPyBwcm9wb3NlZEFQSUl0ZW1zIDogY2xpZW50SXRlbXM7CisK
ICNpZiBFTkFCTEUoU0VSVklDRV9DT05UUk9MUykKICAgICBpZiAoaXRlbXMuaXNFbXB0eSgpICYm
ICFtX2NvbnRleHQuaXNTZXJ2aWNlc01lbnUoKSkKICAgICAgICAgcmV0dXJuOwpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL21hYy9XZWJQYWdlUHJveHlNYWMubW0gYi9Tb3Vy
Y2UvV2ViS2l0Mi9VSVByb2Nlc3MvbWFjL1dlYlBhZ2VQcm94eU1hYy5tbQppbmRleCA1ZTAyNTcz
OGZmNDgyOGQxMGJkNmNkMGY3YTQzMTYzY2VkZTFkMDdmLi42NzRhN2I2OWEwZWFlNzdlMWRlNGYw
OGIxMDI3NjgyYTYyYTJmZWU3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3Mv
bWFjL1dlYlBhZ2VQcm94eU1hYy5tbQorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvbWFj
L1dlYlBhZ2VQcm94eU1hYy5tbQpAQCAtNzM4LDQxICs3MzgsNiBAQCB2b2lkIFdlYlBhZ2VQcm94
eTo6ZWRpdG9yU3RhdGVDaGFuZ2VkKGNvbnN0IEVkaXRvclN0YXRlJiBlZGl0b3JTdGF0ZSkKICNl
bmRpZgogfQogCi0jaWYgRU5BQkxFKFNFUlZJQ0VfQ09OVFJPTFMpCi1Db250ZXh0TWVudUl0ZW0g
V2ViUGFnZVByb3h5OjpwbGF0Zm9ybUluaXRpYWxpemVTaGFyZU1lbnVJdGVtKGNvbnN0IENvbnRl
eHRNZW51Q29udGV4dERhdGEmIGNvbnRleHRNZW51Q29udGV4dERhdGEpCi17Ci0gICAgY29uc3Qg
V2ViSGl0VGVzdFJlc3VsdERhdGEmIGhpdFRlc3REYXRhID0gY29udGV4dE1lbnVDb250ZXh0RGF0
YS53ZWJIaXRUZXN0UmVzdWx0RGF0YSgpOwotCi0gICAgVVJMIGFic29sdXRlTGlua1VSTDsKLSAg
ICBpZiAoIWhpdFRlc3REYXRhLmFic29sdXRlTGlua1VSTC5pc0VtcHR5KCkpCi0gICAgICAgIGFi
c29sdXRlTGlua1VSTCA9IFVSTChQYXJzZWRVUkxTdHJpbmcsIGhpdFRlc3REYXRhLmFic29sdXRl
TGlua1VSTCk7Ci0KLSAgICBVUkwgZG93bmxvYWRhYmxlTWVkaWFVUkw7Ci0gICAgaWYgKCFoaXRU
ZXN0RGF0YS5hYnNvbHV0ZU1lZGlhVVJMLmlzRW1wdHkoKSAmJiBoaXRUZXN0RGF0YS5pc0Rvd25s
b2FkYWJsZU1lZGlhKQotICAgICAgICBkb3dubG9hZGFibGVNZWRpYVVSTCA9IFVSTChQYXJzZWRV
UkxTdHJpbmcsIGhpdFRlc3REYXRhLmFic29sdXRlTWVkaWFVUkwpOwotCi0gICAgUmV0YWluUHRy
PE5TSW1hZ2U+IGltYWdlOwotICAgIGlmIChoaXRUZXN0RGF0YS5pbWFnZVNoYXJlZE1lbW9yeSAm
JiBoaXRUZXN0RGF0YS5pbWFnZVNpemUpCi0gICAgICAgIGltYWdlID0gYWRvcHROUyhbW05TSW1h
Z2UgYWxsb2NdIGluaXRXaXRoRGF0YTpbTlNEYXRhIGRhdGFXaXRoQnl0ZXM6KHVuc2lnbmVkIGNo
YXIqKWhpdFRlc3REYXRhLmltYWdlU2hhcmVkTWVtb3J5LT5kYXRhKCkgbGVuZ3RoOmhpdFRlc3RE
YXRhLmltYWdlU2l6ZV1dKTsKLQotICAgIENvbnRleHRNZW51SXRlbSBpdGVtID0gQ29udGV4dE1l
bnVJdGVtOjpzaGFyZU1lbnVJdGVtKGFic29sdXRlTGlua1VSTCwgZG93bmxvYWRhYmxlTWVkaWFV
UkwsIGltYWdlLmdldCgpLCBjb250ZXh0TWVudUNvbnRleHREYXRhLnNlbGVjdGVkVGV4dCgpKTsK
LQotICAgIE5TTWVudUl0ZW0gKm5zSXRlbSA9IGl0ZW0ucGxhdGZvcm1EZXNjcmlwdGlvbigpOwot
Ci0gICAgTlNTaGFyaW5nU2VydmljZVBpY2tlciAqc2hhcmluZ1NlcnZpY2VQaWNrZXIgPSBbbnNJ
dGVtIHJlcHJlc2VudGVkT2JqZWN0XTsKLSAgICBzaGFyaW5nU2VydmljZVBpY2tlci5kZWxlZ2F0
ZSA9IFtXS1NoYXJpbmdTZXJ2aWNlUGlja2VyRGVsZWdhdGUgc2hhcmVkU2hhcmluZ1NlcnZpY2VQ
aWNrZXJEZWxlZ2F0ZV07Ci0gICAgCi0gICAgW1tXS1NoYXJpbmdTZXJ2aWNlUGlja2VyRGVsZWdh
dGUgc2hhcmVkU2hhcmluZ1NlcnZpY2VQaWNrZXJEZWxlZ2F0ZV0gc2V0RmlsdGVyc0VkaXRpbmdT
ZXJ2aWNlczpOT107Ci0gICAgW1tXS1NoYXJpbmdTZXJ2aWNlUGlja2VyRGVsZWdhdGUgc2hhcmVk
U2hhcmluZ1NlcnZpY2VQaWNrZXJEZWxlZ2F0ZV0gc2V0SGFuZGxlc0VkaXRpbmdSZXBsYWNlbWVu
dDpOT107Ci0gICAgW1tXS1NoYXJpbmdTZXJ2aWNlUGlja2VyRGVsZWdhdGUgc2hhcmVkU2hhcmlu
Z1NlcnZpY2VQaWNrZXJEZWxlZ2F0ZV0gc2V0TWVudVByb3h5OnN0YXRpY19jYXN0PFdlYkNvbnRl
eHRNZW51UHJveHlNYWMqPihtX2FjdGl2ZUNvbnRleHRNZW51LmdldCgpKV07Ci0KLSAgICAvLyBT
ZXR0aW5nIHRoZSBwaWNrZXIgbGV0cyB0aGUgZGVsZWdhdGUgcmV0YWluIGl0IHRvIGtlZXAgaXQg
YWxpdmUsIGJ1dCB0aGlzIHBpY2tlciBpcyBrZXB0IGFsaXZlIGJ5IHRoZSBtZW51IGl0ZW0uCi0g
ICAgW1tXS1NoYXJpbmdTZXJ2aWNlUGlja2VyRGVsZWdhdGUgc2hhcmVkU2hhcmluZ1NlcnZpY2VQ
aWNrZXJEZWxlZ2F0ZV0gc2V0UGlja2VyOm5pbF07Ci0KLSAgICByZXR1cm4gaXRlbTsKLX0KLSNl
bmRpZgotCiB9IC8vIG5hbWVzcGFjZSBXZWJLaXQKIAogI2VuZGlmIC8vIFBMQVRGT1JNKE1BQykK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>263310</attachid>
            <date>2015-10-16 12:28:39 -0700</date>
            <delta_ts>2015-10-16 12:35:07 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-150240-20151016122800.patch</filename>
            <type>text/plain</type>
            <size>12785</size>
            <attacher name="Anders Carlsson">andersca</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTkxMTgxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKaW5kZXggMDJkZmIwMzM0YTYzMmI1
MjJhMjgzMjU1M2EwY2Y4ZDQ3NmViMjUyZC4uNTczZDBkMjc0ZDk2MTU5Zjk3ODIwNzZmNmNhYTkz
M2M0NGNhYjE0OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJLaXQyL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIyIEBACisyMDE1LTEwLTE2ICBBbmRl
cnMgQ2FybHNzb24gIDxhbmRlcnNjYUBhcHBsZS5jb20+CisKKyAgICAgICAgTW92ZSBtb3JlIGNv
ZGUgdG8gV2ViQ29udGV4dE1lbnVQcm94eU1hYworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTUwMjQwCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZ
IChPT1BTISkuCisKKyAgICAgICAgKiBVSVByb2Nlc3MvV2ViQ29udGV4dE1lbnVQcm94eS5oOgor
ICAgICAgICAqIFVJUHJvY2Vzcy9XZWJQYWdlUHJveHkuY3BwOgorICAgICAgICAoV2ViS2l0OjpX
ZWJQYWdlUHJveHk6OmludGVybmFsU2hvd0NvbnRleHRNZW51KToKKyAgICAgICAgKiBVSVByb2Nl
c3MvV2ViUGFnZVByb3h5Lmg6CisgICAgICAgIChXZWJLaXQ6OldlYlBhZ2VQcm94eTo6Y29udGV4
dE1lbnVDbGllbnQpOgorICAgICAgICAqIFVJUHJvY2Vzcy9tYWMvV2ViQ29udGV4dE1lbnVQcm94
eU1hYy5oOgorICAgICAgICAqIFVJUHJvY2Vzcy9tYWMvV2ViQ29udGV4dE1lbnVQcm94eU1hYy5t
bToKKyAgICAgICAgKFdlYktpdDo6V2ViQ29udGV4dE1lbnVQcm94eU1hYzo6aW5pdGlhbGl6ZVNo
YXJlTWVudUl0ZW0pOgorICAgICAgICAoV2ViS2l0OjpXZWJDb250ZXh0TWVudVByb3h5TWFjOjpz
aG93Q29udGV4dE1lbnUpOgorICAgICAgICAqIFVJUHJvY2Vzcy9tYWMvV2ViUGFnZVByb3h5TWFj
Lm1tOgorICAgICAgICAoV2ViS2l0OjpXZWJQYWdlUHJveHk6OnBsYXRmb3JtSW5pdGlhbGl6ZVNo
YXJlTWVudUl0ZW0pOiBEZWxldGVkLgorCiAyMDE1LTEwLTE1ICBBbmRlcnMgQ2FybHNzb24gIDxh
bmRlcnNjYUBhcHBsZS5jb20+CiAKICAgICAgICAgVXNlIHRoZSBTaG93Q29udGV4dE1lbnUgbWVz
c2FnZSBmb3Igc2VydmljZSBtZW51cyBhcyB3ZWxsCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
Mi9VSVByb2Nlc3MvV2ViQ29udGV4dE1lbnVQcm94eS5oIGIvU291cmNlL1dlYktpdDIvVUlQcm9j
ZXNzL1dlYkNvbnRleHRNZW51UHJveHkuaAppbmRleCBjNDEwNjhhYWJhYzc3Mzg4MzUxYjk5ODhi
N2ZmMDFlN2E4ZWE2ZjJhLi4xZDE5NmQwYjhjZjQ3ZTQ4ZjY0MTUzMzg0YzhhZDE2ZmJiMjQxOTQz
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViQ29udGV4dE1lbnVQcm94
eS5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJDb250ZXh0TWVudVByb3h5LmgK
QEAgLTQwLDcgKzQwLDcgQEAgY2xhc3MgV2ViQ29udGV4dE1lbnVQcm94eSA6IHB1YmxpYyBSZWZD
b3VudGVkPFdlYkNvbnRleHRNZW51UHJveHk+IHsKIHB1YmxpYzoKICAgICB2aXJ0dWFsIH5XZWJD
b250ZXh0TWVudVByb3h5KCk7CiAKLSAgICB2aXJ0dWFsIHZvaWQgc2hvd0NvbnRleHRNZW51KGNv
bnN0IFZlY3RvcjxSZWZQdHI8V2ViQ29udGV4dE1lbnVJdGVtPj4mKSA9IDA7CisgICAgdmlydHVh
bCB2b2lkIHNob3dDb250ZXh0TWVudSgpID0gMDsKICAgICB2aXJ0dWFsIHZvaWQgaGlkZUNvbnRl
eHRNZW51KCkgPSAwOwogICAgIHZpcnR1YWwgdm9pZCBjYW5jZWxUcmFja2luZygpIHsgfQogCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmNwcCBiL1Nv
dXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuY3BwCmluZGV4IGMzMzBkZWM4NzE1
NTJmYjY1ZTk2YzJhNmRjMWE3M2IxODg5MjQyODYuLmU2M2QyYTM2MWQzZTQ4YTRhYmY5NjkzMTk2
OWViM2QyODA3NjQ2OWEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQ
YWdlUHJveHkuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQYWdlUHJveHku
Y3BwCkBAIC00MjA5LDQ1ICs0MjA5LDkgQEAgdm9pZCBXZWJQYWdlUHJveHk6OmludGVybmFsU2hv
d0NvbnRleHRNZW51KGNvbnN0IENvbnRleHRNZW51Q29udGV4dERhdGEmIGNvbnRleHQKICAgICAv
LyBTaW5jZSBzaG93Q29udGV4dE1lbnUoKSBjYW4gc3BpbiBhIG5lc3RlZCBydW4gbG9vcCB3ZSBu
ZWVkIHRvIHR1cm4gb2ZmIHRoZSByZXNwb25zaXZlbmVzcyB0aW1lci4KICAgICBtX3Byb2Nlc3Mt
PnJlc3BvbnNpdmVuZXNzVGltZXIoKS0+c3RvcCgpOwogCi0gICAgLy8gVW5sZXNzIHRoaXMgaXMg
YW4gaW1hZ2UgY29udHJvbCwgZ2l2ZSB0aGUgUGFnZUNvbnRleHRNZW51Q2xpZW50IG9uZSBsYXN0
IHN3aXBlIGF0IGNoYW5naW5nIHRoZSBtZW51LgotICAgIGJvb2wgYXNrQ2xpZW50VG9DaGFuZ2VN
ZW51ID0gdHJ1ZTsKLSNpZiBFTkFCTEUoU0VSVklDRV9DT05UUk9MUykKLSAgICBpZiAoY29udGV4
dE1lbnVDb250ZXh0RGF0YS5pc1NlcnZpY2VzTWVudSgpIHx8IGNvbnRleHRNZW51Q29udGV4dERh
dGEuY29udHJvbGxlZEltYWdlKCkpCi0gICAgICAgIGFza0NsaWVudFRvQ2hhbmdlTWVudSA9IGZh
bHNlOwotI2VuZGlmCi0KLSAgICBWZWN0b3I8UmVmUHRyPFdlYkNvbnRleHRNZW51SXRlbT4+IHBy
b3Bvc2VkQVBJSXRlbXM7Ci0gICAgZm9yIChhdXRvJiBpdGVtIDogY29udGV4dE1lbnVDb250ZXh0
RGF0YS5tZW51SXRlbXMoKSkgewotICAgICAgICBpZiAoaXRlbS5hY3Rpb24oKSAhPSBDb250ZXh0
TWVudUl0ZW1UYWdTaGFyZU1lbnUpIHsKLSAgICAgICAgICAgIHByb3Bvc2VkQVBJSXRlbXMuYXBw
ZW5kKFdlYkNvbnRleHRNZW51SXRlbTo6Y3JlYXRlKGl0ZW0pKTsKLSAgICAgICAgICAgIGNvbnRp
bnVlOwotICAgICAgICB9Ci0KLSAgICAgICAgQ29udGV4dE1lbnVJdGVtIGNvcmVJdGVtID0gcGxh
dGZvcm1Jbml0aWFsaXplU2hhcmVNZW51SXRlbShjb250ZXh0TWVudUNvbnRleHREYXRhKTsKLSAg
ICAgICAgaWYgKCFjb3JlSXRlbS5pc051bGwoKSkKLSAgICAgICAgICAgIHByb3Bvc2VkQVBJSXRl
bXMuYXBwZW5kKFdlYkNvbnRleHRNZW51SXRlbTo6Y3JlYXRlKGNvcmVJdGVtKSk7Ci0gICAgfQot
Ci0gICAgVmVjdG9yPFJlZlB0cjxXZWJDb250ZXh0TWVudUl0ZW0+PiBjbGllbnRJdGVtczsKLSAg
ICBib29sIHVzZVByb3Bvc2VkSXRlbXMgPSB0cnVlOwotCi0gICAgaWYgKGFza0NsaWVudFRvQ2hh
bmdlTWVudSAmJiBtX2NvbnRleHRNZW51Q2xpZW50LT5nZXRDb250ZXh0TWVudUZyb21Qcm9wb3Nl
ZE1lbnUoKnRoaXMsIHByb3Bvc2VkQVBJSXRlbXMsIGNsaWVudEl0ZW1zLCBjb250ZXh0TWVudUNv
bnRleHREYXRhLndlYkhpdFRlc3RSZXN1bHREYXRhKCksIG1fcHJvY2Vzcy0+dHJhbnNmb3JtSGFu
ZGxlc1RvT2JqZWN0cyh1c2VyRGF0YS5vYmplY3QoKSkuZ2V0KCkpKQotICAgICAgICB1c2VQcm9w
b3NlZEl0ZW1zID0gZmFsc2U7Ci0KLSAgICBjb25zdCBWZWN0b3I8UmVmUHRyPFdlYkNvbnRleHRN
ZW51SXRlbT4+JiBpdGVtc1RvU2hvdyA9IHVzZVByb3Bvc2VkSXRlbXMgPyBwcm9wb3NlZEFQSUl0
ZW1zIDogY2xpZW50SXRlbXM7Ci0gICAgaWYgKCFtX2NvbnRleHRNZW51Q2xpZW50LT5zaG93Q29u
dGV4dE1lbnUoKnRoaXMsIGNvbnRleHRNZW51Q29udGV4dERhdGEubWVudUxvY2F0aW9uKCksIGl0
ZW1zVG9TaG93KSkKLSAgICAgICAgbV9hY3RpdmVDb250ZXh0TWVudS0+c2hvd0NvbnRleHRNZW51
KGl0ZW1zVG9TaG93KTsKLQotICAgIG1fY29udGV4dE1lbnVDbGllbnQtPmNvbnRleHRNZW51RGlz
bWlzc2VkKCp0aGlzKTsKKyAgICBtX2FjdGl2ZUNvbnRleHRNZW51LT5zaG93Q29udGV4dE1lbnUo
KTsKIH0KIAotI2lmICFFTkFCTEUoU0VSVklDRV9DT05UUk9MUykKLUNvbnRleHRNZW51SXRlbSBX
ZWJQYWdlUHJveHk6OnBsYXRmb3JtSW5pdGlhbGl6ZVNoYXJlTWVudUl0ZW0oY29uc3QgQ29udGV4
dE1lbnVDb250ZXh0RGF0YSYpCi17Ci0gICAgcmV0dXJuIENvbnRleHRNZW51SXRlbSgpOwotfQot
I2VuZGlmCi0KIHZvaWQgV2ViUGFnZVByb3h5Ojpjb250ZXh0TWVudUl0ZW1TZWxlY3RlZChjb25z
dCBXZWJDb250ZXh0TWVudUl0ZW1EYXRhJiBpdGVtKQogewogICAgIC8vIEFwcGxpY2F0aW9uIGN1
c3RvbSBpdGVtcyBkb24ndCBuZWVkIHRvIHJvdW5kLXRyaXAgdGhyb3VnaCB0byBXZWJDb3JlIGlu
IHRoZSBXZWJQcm9jZXNzLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dl
YlBhZ2VQcm94eS5oIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5oCmlu
ZGV4IGVlM2NmYTliNjdjYzcwZDQwZmNmZTgwOTFjMGVjNWZkMGVjOWMxNWEuLjdlNDRmNTFhZDdi
OGQ3MTdmZWIxODg4NDNlMjM0MzM1ZDYxYTMyMTkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQy
L1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3Mv
V2ViUGFnZVByb3h5LmgKQEAgLTMyNiw2ICszMjYsNyBAQCBwdWJsaWM6CiAjZW5kaWYKIAogI2lm
IEVOQUJMRShDT05URVhUX01FTlVTKQorICAgIEFQSTo6Q29udGV4dE1lbnVDbGllbnQmIGNvbnRl
eHRNZW51Q2xpZW50KCkgeyByZXR1cm4gKm1fY29udGV4dE1lbnVDbGllbnQ7IH0KICAgICB2b2lk
IHNldENvbnRleHRNZW51Q2xpZW50KHN0ZDo6dW5pcXVlX3B0cjxBUEk6OkNvbnRleHRNZW51Q2xp
ZW50Pik7CiAjZW5kaWYKICAgICBBUEk6OkZpbmRDbGllbnQmIGZpbmRDbGllbnQoKSB7IHJldHVy
biAqbV9maW5kQ2xpZW50OyB9CkBAIC0xMjY0LDcgKzEyNjUsNiBAQCBwcml2YXRlOgogI2lmIEVO
QUJMRShDT05URVhUX01FTlVTKQogICAgIHZvaWQgc2hvd0NvbnRleHRNZW51KGNvbnN0IENvbnRl
eHRNZW51Q29udGV4dERhdGEmLCBjb25zdCBVc2VyRGF0YSYpOwogICAgIHZvaWQgaW50ZXJuYWxT
aG93Q29udGV4dE1lbnUoY29uc3QgQ29udGV4dE1lbnVDb250ZXh0RGF0YSYsIGNvbnN0IFVzZXJE
YXRhJik7Ci0gICAgV2ViQ29yZTo6Q29udGV4dE1lbnVJdGVtIHBsYXRmb3JtSW5pdGlhbGl6ZVNo
YXJlTWVudUl0ZW0oY29uc3QgQ29udGV4dE1lbnVDb250ZXh0RGF0YSYpOwogI2VuZGlmCiAKICNp
ZiBFTkFCTEUoVEVMRVBIT05FX05VTUJFUl9ERVRFQ1RJT04pCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViS2l0Mi9VSVByb2Nlc3MvbWFjL1dlYkNvbnRleHRNZW51UHJveHlNYWMuaCBiL1NvdXJjZS9X
ZWJLaXQyL1VJUHJvY2Vzcy9tYWMvV2ViQ29udGV4dE1lbnVQcm94eU1hYy5oCmluZGV4IDc3Yjlm
MTgxNzY0OWM1OTgyMzJjOTk4ZDUzNzM5NzJkZDI5ZTk2NWYuLmMwMWIzMzVkOGVlZTA2MWZkMmNm
ZTMxNzgzYjkwYzQyOGJiMmZiZTMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vz
cy9tYWMvV2ViQ29udGV4dE1lbnVQcm94eU1hYy5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJv
Y2Vzcy9tYWMvV2ViQ29udGV4dE1lbnVQcm94eU1hYy5oCkBAIC01MCw3ICs1MCw3IEBAIHB1Ymxp
YzoKICAgICB9CiAgICAgfldlYkNvbnRleHRNZW51UHJveHlNYWMoKTsKIAotICAgIHZpcnR1YWwg
dm9pZCBzaG93Q29udGV4dE1lbnUoY29uc3QgVmVjdG9yPFJlZlB0cjxXZWJDb250ZXh0TWVudUl0
ZW0+PiYpIG92ZXJyaWRlOworICAgIHZpcnR1YWwgdm9pZCBzaG93Q29udGV4dE1lbnUoKSBvdmVy
cmlkZTsKIAogICAgIHZpcnR1YWwgdm9pZCBoaWRlQ29udGV4dE1lbnUoKSBvdmVycmlkZTsKICAg
ICB2aXJ0dWFsIHZvaWQgY2FuY2VsVHJhY2tpbmcoKSBvdmVycmlkZTsKQEAgLTcxLDYgKzcxLDcg
QEAgcHJpdmF0ZToKIAogI2lmIEVOQUJMRShTRVJWSUNFX0NPTlRST0xTKQogICAgIHZvaWQgc2V0
dXBTZXJ2aWNlc01lbnUoY29uc3QgQ29udGV4dE1lbnVDb250ZXh0RGF0YSYpOworICAgIFdlYkNv
cmU6OkNvbnRleHRNZW51SXRlbSBzaGFyZU1lbnVJdGVtKCk7CiAjZW5kaWYKIAogICAgIFJldGFp
blB0cjxOU1BvcFVwQnV0dG9uQ2VsbD4gbV9wb3B1cDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJL
aXQyL1VJUHJvY2Vzcy9tYWMvV2ViQ29udGV4dE1lbnVQcm94eU1hYy5tbSBiL1NvdXJjZS9XZWJL
aXQyL1VJUHJvY2Vzcy9tYWMvV2ViQ29udGV4dE1lbnVQcm94eU1hYy5tbQppbmRleCAzM2JhYTk3
ZGQ5NTVkOGI1ZDM5NGEwOWRmZDBkZjY1MjQwZjYyYjIxLi43MDkxZWU4ODcwOTg5NjA4M2I1MWVh
NmQ0M2VhY2VlYThiNjNlNWIzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3Mv
bWFjL1dlYkNvbnRleHRNZW51UHJveHlNYWMubW0KKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9j
ZXNzL21hYy9XZWJDb250ZXh0TWVudVByb3h5TWFjLm1tCkBAIC0yOCw2ICsyOCw3IEBACiAKICNp
ZiBQTEFURk9STShNQUMpCiAKKyNpbXBvcnQgIkFQSUNvbnRleHRNZW51Q2xpZW50LmgiCiAjaW1w
b3J0ICJEYXRhUmVmZXJlbmNlLmgiCiAjaW1wb3J0ICJNZW51VXRpbGl0aWVzLmgiCiAjaW1wb3J0
ICJQYWdlQ2xpZW50SW1wbC5oIgpAQCAtMjUxLDcgKzI1Miw2IEBAIHRlbXBsYXRlPHR5cGVuYW1l
IEl0ZW1UeXBlPiBzdGF0aWMgVmVjdG9yPFJldGFpblB0cjxOU01lbnVJdGVtPj4gbnNNZW51SXRl
bVZlY3RvCiB9CiAKICNpZiBFTkFCTEUoU0VSVklDRV9DT05UUk9MUykKLQogdm9pZCBXZWJDb250
ZXh0TWVudVByb3h5TWFjOjpzZXR1cFNlcnZpY2VzTWVudShjb25zdCBDb250ZXh0TWVudUNvbnRl
eHREYXRhJiBjb250ZXh0KQogewogICAgIGJvb2wgaW5jbHVkZUVkaXRvclNlcnZpY2VzID0gY29u
dGV4dC5jb250cm9sbGVkRGF0YUlzRWRpdGFibGUoKTsKQEAgLTMyMSw2ICszMjEsMzkgQEAgdm9p
ZCBXZWJDb250ZXh0TWVudVByb3h5TWFjOjpjbGVhclNlcnZpY2VzTWVudSgpCiAgICAgW1tXS1No
YXJpbmdTZXJ2aWNlUGlja2VyRGVsZWdhdGUgc2hhcmVkU2hhcmluZ1NlcnZpY2VQaWNrZXJEZWxl
Z2F0ZV0gc2V0UGlja2VyOm51bGxwdHJdOwogICAgIG1fc2VydmljZXNNZW51ID0gbnVsbHB0cjsK
IH0KKworQ29udGV4dE1lbnVJdGVtIFdlYkNvbnRleHRNZW51UHJveHlNYWM6OnNoYXJlTWVudUl0
ZW0oKQoreworICAgIGNvbnN0IFdlYkhpdFRlc3RSZXN1bHREYXRhJiBoaXRUZXN0RGF0YSA9IG1f
Y29udGV4dC53ZWJIaXRUZXN0UmVzdWx0RGF0YSgpOworCisgICAgVVJMIGFic29sdXRlTGlua1VS
TDsKKyAgICBpZiAoIWhpdFRlc3REYXRhLmFic29sdXRlTGlua1VSTC5pc0VtcHR5KCkpCisgICAg
ICAgIGFic29sdXRlTGlua1VSTCA9IFVSTChQYXJzZWRVUkxTdHJpbmcsIGhpdFRlc3REYXRhLmFi
c29sdXRlTGlua1VSTCk7CisKKyAgICBVUkwgZG93bmxvYWRhYmxlTWVkaWFVUkw7CisgICAgaWYg
KCFoaXRUZXN0RGF0YS5hYnNvbHV0ZU1lZGlhVVJMLmlzRW1wdHkoKSAmJiBoaXRUZXN0RGF0YS5p
c0Rvd25sb2FkYWJsZU1lZGlhKQorICAgICAgICBkb3dubG9hZGFibGVNZWRpYVVSTCA9IFVSTChQ
YXJzZWRVUkxTdHJpbmcsIGhpdFRlc3REYXRhLmFic29sdXRlTWVkaWFVUkwpOworCisgICAgUmV0
YWluUHRyPE5TSW1hZ2U+IGltYWdlOworICAgIGlmIChoaXRUZXN0RGF0YS5pbWFnZVNoYXJlZE1l
bW9yeSAmJiBoaXRUZXN0RGF0YS5pbWFnZVNpemUpCisgICAgICAgIGltYWdlID0gYWRvcHROUyhb
W05TSW1hZ2UgYWxsb2NdIGluaXRXaXRoRGF0YTpbTlNEYXRhIGRhdGFXaXRoQnl0ZXM6KHVuc2ln
bmVkIGNoYXIqKWhpdFRlc3REYXRhLmltYWdlU2hhcmVkTWVtb3J5LT5kYXRhKCkgbGVuZ3RoOmhp
dFRlc3REYXRhLmltYWdlU2l6ZV1dKTsKKworICAgIENvbnRleHRNZW51SXRlbSBpdGVtID0gQ29u
dGV4dE1lbnVJdGVtOjpzaGFyZU1lbnVJdGVtKGFic29sdXRlTGlua1VSTCwgZG93bmxvYWRhYmxl
TWVkaWFVUkwsIGltYWdlLmdldCgpLCBtX2NvbnRleHQuc2VsZWN0ZWRUZXh0KCkpOworCisgICAg
TlNNZW51SXRlbSAqbnNJdGVtID0gaXRlbS5wbGF0Zm9ybURlc2NyaXB0aW9uKCk7CisKKyAgICBO
U1NoYXJpbmdTZXJ2aWNlUGlja2VyICpzaGFyaW5nU2VydmljZVBpY2tlciA9IFtuc0l0ZW0gcmVw
cmVzZW50ZWRPYmplY3RdOworICAgIHNoYXJpbmdTZXJ2aWNlUGlja2VyLmRlbGVnYXRlID0gW1dL
U2hhcmluZ1NlcnZpY2VQaWNrZXJEZWxlZ2F0ZSBzaGFyZWRTaGFyaW5nU2VydmljZVBpY2tlckRl
bGVnYXRlXTsKKworICAgIFtbV0tTaGFyaW5nU2VydmljZVBpY2tlckRlbGVnYXRlIHNoYXJlZFNo
YXJpbmdTZXJ2aWNlUGlja2VyRGVsZWdhdGVdIHNldEZpbHRlcnNFZGl0aW5nU2VydmljZXM6Tk9d
OworICAgIFtbV0tTaGFyaW5nU2VydmljZVBpY2tlckRlbGVnYXRlIHNoYXJlZFNoYXJpbmdTZXJ2
aWNlUGlja2VyRGVsZWdhdGVdIHNldEhhbmRsZXNFZGl0aW5nUmVwbGFjZW1lbnQ6Tk9dOworICAg
IFtbV0tTaGFyaW5nU2VydmljZVBpY2tlckRlbGVnYXRlIHNoYXJlZFNoYXJpbmdTZXJ2aWNlUGlj
a2VyRGVsZWdhdGVdIHNldE1lbnVQcm94eTp0aGlzXTsKKworICAgIC8vIFNldHRpbmcgdGhlIHBp
Y2tlciBsZXRzIHRoZSBkZWxlZ2F0ZSByZXRhaW4gaXQgdG8ga2VlcCBpdCBhbGl2ZSwgYnV0IHRo
aXMgcGlja2VyIGlzIGtlcHQgYWxpdmUgYnkgdGhlIG1lbnUgaXRlbS4KKyAgICBbW1dLU2hhcmlu
Z1NlcnZpY2VQaWNrZXJEZWxlZ2F0ZSBzaGFyZWRTaGFyaW5nU2VydmljZVBpY2tlckRlbGVnYXRl
XSBzZXRQaWNrZXI6bmlsXTsKKworICAgIHJldHVybiBpdGVtOworfQogI2VuZGlmCiAKIHZvaWQg
V2ViQ29udGV4dE1lbnVQcm94eU1hYzo6cG9wdWxhdGUoY29uc3QgVmVjdG9yPFJlZlB0cjxXZWJD
b250ZXh0TWVudUl0ZW0+PiYgaXRlbXMpCkBAIC0zNDUsOCArMzc4LDM1IEBAIHZvaWQgV2ViQ29u
dGV4dE1lbnVQcm94eU1hYzo6cG9wdWxhdGUoY29uc3QgVmVjdG9yPFJlZlB0cjxXZWJDb250ZXh0
TWVudUl0ZW0+PiYKICAgICBwb3B1bGF0ZU5TTWVudShtZW51LCBuc01lbnVJdGVtVmVjdG9yKGl0
ZW1zKSk7CiB9CiAKLXZvaWQgV2ViQ29udGV4dE1lbnVQcm94eU1hYzo6c2hvd0NvbnRleHRNZW51
KGNvbnN0IFZlY3RvcjxSZWZQdHI8V2ViQ29udGV4dE1lbnVJdGVtPj4mIGl0ZW1zKQordm9pZCBX
ZWJDb250ZXh0TWVudVByb3h5TWFjOjpzaG93Q29udGV4dE1lbnUoKQogeworICAgIC8vIFVubGVz
cyB0aGlzIGlzIGFuIGltYWdlIGNvbnRyb2wsIGdpdmUgdGhlIFBhZ2VDb250ZXh0TWVudUNsaWVu
dCBvbmUgbGFzdCBzd2lwZSBhdCBjaGFuZ2luZyB0aGUgbWVudS4KKyAgICBib29sIGFza0NsaWVu
dFRvQ2hhbmdlTWVudSA9IHRydWU7CisjaWYgRU5BQkxFKFNFUlZJQ0VfQ09OVFJPTFMpCisgICAg
aWYgKG1fY29udGV4dC5pc1NlcnZpY2VzTWVudSgpIHx8IG1fY29udGV4dC5jb250cm9sbGVkSW1h
Z2UoKSkKKyAgICAgICAgYXNrQ2xpZW50VG9DaGFuZ2VNZW51ID0gZmFsc2U7CisjZW5kaWYKKwor
ICAgIFZlY3RvcjxSZWZQdHI8V2ViQ29udGV4dE1lbnVJdGVtPj4gcHJvcG9zZWRBUElJdGVtczsK
KyAgICBmb3IgKGF1dG8mIGl0ZW0gOiBtX2NvbnRleHQubWVudUl0ZW1zKCkpIHsKKyAgICAgICAg
aWYgKGl0ZW0uYWN0aW9uKCkgIT0gQ29udGV4dE1lbnVJdGVtVGFnU2hhcmVNZW51KSB7CisgICAg
ICAgICAgICBwcm9wb3NlZEFQSUl0ZW1zLmFwcGVuZChXZWJDb250ZXh0TWVudUl0ZW06OmNyZWF0
ZShpdGVtKSk7CisgICAgICAgICAgICBjb250aW51ZTsKKyAgICAgICAgfQorCisjaWYgRU5BQkxF
KFNFUlZJQ0VfQ09OVFJPTFMpCisgICAgICAgIHByb3Bvc2VkQVBJSXRlbXMuYXBwZW5kKFdlYkNv
bnRleHRNZW51SXRlbTo6Y3JlYXRlKHNoYXJlTWVudUl0ZW0oKSkpOworI2VuZGlmCisgICAgfQor
CisgICAgVmVjdG9yPFJlZlB0cjxXZWJDb250ZXh0TWVudUl0ZW0+PiBjbGllbnRJdGVtczsKKyAg
ICBib29sIHVzZVByb3Bvc2VkSXRlbXMgPSB0cnVlOworCisgICAgaWYgKGFza0NsaWVudFRvQ2hh
bmdlTWVudSAmJiBtX3BhZ2UuY29udGV4dE1lbnVDbGllbnQoKS5nZXRDb250ZXh0TWVudUZyb21Q
cm9wb3NlZE1lbnUobV9wYWdlLCBwcm9wb3NlZEFQSUl0ZW1zLCBjbGllbnRJdGVtcywgbV9jb250
ZXh0LndlYkhpdFRlc3RSZXN1bHREYXRhKCksIG1fcGFnZS5wcm9jZXNzKCkudHJhbnNmb3JtSGFu
ZGxlc1RvT2JqZWN0cyhtX3VzZXJEYXRhLm9iamVjdCgpKS5nZXQoKSkpCisgICAgICAgIHVzZVBy
b3Bvc2VkSXRlbXMgPSBmYWxzZTsKKworICAgIGNvbnN0IFZlY3RvcjxSZWZQdHI8V2ViQ29udGV4
dE1lbnVJdGVtPj4mIGl0ZW1zID0gdXNlUHJvcG9zZWRJdGVtcyA/IHByb3Bvc2VkQVBJSXRlbXMg
OiBjbGllbnRJdGVtczsKKwogI2lmIEVOQUJMRShTRVJWSUNFX0NPTlRST0xTKQogICAgIGlmIChp
dGVtcy5pc0VtcHR5KCkgJiYgIW1fY29udGV4dC5pc1NlcnZpY2VzTWVudSgpKQogICAgICAgICBy
ZXR1cm47CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvbWFjL1dlYlBhZ2VQ
cm94eU1hYy5tbSBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9tYWMvV2ViUGFnZVByb3h5TWFj
Lm1tCmluZGV4IDVlMDI1NzM4ZmY0ODI4ZDEwYmQ2Y2QwZjdhNDMxNjNjZWRlMWQwN2YuLjY3NGE3
YjY5YTBlYWU3N2UxZGU0ZjA4YjEwMjc2ODJhNjJhMmZlZTcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJLaXQyL1VJUHJvY2Vzcy9tYWMvV2ViUGFnZVByb3h5TWFjLm1tCisrKyBiL1NvdXJjZS9XZWJL
aXQyL1VJUHJvY2Vzcy9tYWMvV2ViUGFnZVByb3h5TWFjLm1tCkBAIC03MzgsNDEgKzczOCw2IEBA
IHZvaWQgV2ViUGFnZVByb3h5OjplZGl0b3JTdGF0ZUNoYW5nZWQoY29uc3QgRWRpdG9yU3RhdGUm
IGVkaXRvclN0YXRlKQogI2VuZGlmCiB9CiAKLSNpZiBFTkFCTEUoU0VSVklDRV9DT05UUk9MUykK
LUNvbnRleHRNZW51SXRlbSBXZWJQYWdlUHJveHk6OnBsYXRmb3JtSW5pdGlhbGl6ZVNoYXJlTWVu
dUl0ZW0oY29uc3QgQ29udGV4dE1lbnVDb250ZXh0RGF0YSYgY29udGV4dE1lbnVDb250ZXh0RGF0
YSkKLXsKLSAgICBjb25zdCBXZWJIaXRUZXN0UmVzdWx0RGF0YSYgaGl0VGVzdERhdGEgPSBjb250
ZXh0TWVudUNvbnRleHREYXRhLndlYkhpdFRlc3RSZXN1bHREYXRhKCk7Ci0KLSAgICBVUkwgYWJz
b2x1dGVMaW5rVVJMOwotICAgIGlmICghaGl0VGVzdERhdGEuYWJzb2x1dGVMaW5rVVJMLmlzRW1w
dHkoKSkKLSAgICAgICAgYWJzb2x1dGVMaW5rVVJMID0gVVJMKFBhcnNlZFVSTFN0cmluZywgaGl0
VGVzdERhdGEuYWJzb2x1dGVMaW5rVVJMKTsKLQotICAgIFVSTCBkb3dubG9hZGFibGVNZWRpYVVS
TDsKLSAgICBpZiAoIWhpdFRlc3REYXRhLmFic29sdXRlTWVkaWFVUkwuaXNFbXB0eSgpICYmIGhp
dFRlc3REYXRhLmlzRG93bmxvYWRhYmxlTWVkaWEpCi0gICAgICAgIGRvd25sb2FkYWJsZU1lZGlh
VVJMID0gVVJMKFBhcnNlZFVSTFN0cmluZywgaGl0VGVzdERhdGEuYWJzb2x1dGVNZWRpYVVSTCk7
Ci0KLSAgICBSZXRhaW5QdHI8TlNJbWFnZT4gaW1hZ2U7Ci0gICAgaWYgKGhpdFRlc3REYXRhLmlt
YWdlU2hhcmVkTWVtb3J5ICYmIGhpdFRlc3REYXRhLmltYWdlU2l6ZSkKLSAgICAgICAgaW1hZ2Ug
PSBhZG9wdE5TKFtbTlNJbWFnZSBhbGxvY10gaW5pdFdpdGhEYXRhOltOU0RhdGEgZGF0YVdpdGhC
eXRlczoodW5zaWduZWQgY2hhciopaGl0VGVzdERhdGEuaW1hZ2VTaGFyZWRNZW1vcnktPmRhdGEo
KSBsZW5ndGg6aGl0VGVzdERhdGEuaW1hZ2VTaXplXV0pOwotCi0gICAgQ29udGV4dE1lbnVJdGVt
IGl0ZW0gPSBDb250ZXh0TWVudUl0ZW06OnNoYXJlTWVudUl0ZW0oYWJzb2x1dGVMaW5rVVJMLCBk
b3dubG9hZGFibGVNZWRpYVVSTCwgaW1hZ2UuZ2V0KCksIGNvbnRleHRNZW51Q29udGV4dERhdGEu
c2VsZWN0ZWRUZXh0KCkpOwotCi0gICAgTlNNZW51SXRlbSAqbnNJdGVtID0gaXRlbS5wbGF0Zm9y
bURlc2NyaXB0aW9uKCk7Ci0KLSAgICBOU1NoYXJpbmdTZXJ2aWNlUGlja2VyICpzaGFyaW5nU2Vy
dmljZVBpY2tlciA9IFtuc0l0ZW0gcmVwcmVzZW50ZWRPYmplY3RdOwotICAgIHNoYXJpbmdTZXJ2
aWNlUGlja2VyLmRlbGVnYXRlID0gW1dLU2hhcmluZ1NlcnZpY2VQaWNrZXJEZWxlZ2F0ZSBzaGFy
ZWRTaGFyaW5nU2VydmljZVBpY2tlckRlbGVnYXRlXTsKLSAgICAKLSAgICBbW1dLU2hhcmluZ1Nl
cnZpY2VQaWNrZXJEZWxlZ2F0ZSBzaGFyZWRTaGFyaW5nU2VydmljZVBpY2tlckRlbGVnYXRlXSBz
ZXRGaWx0ZXJzRWRpdGluZ1NlcnZpY2VzOk5PXTsKLSAgICBbW1dLU2hhcmluZ1NlcnZpY2VQaWNr
ZXJEZWxlZ2F0ZSBzaGFyZWRTaGFyaW5nU2VydmljZVBpY2tlckRlbGVnYXRlXSBzZXRIYW5kbGVz
RWRpdGluZ1JlcGxhY2VtZW50Ok5PXTsKLSAgICBbW1dLU2hhcmluZ1NlcnZpY2VQaWNrZXJEZWxl
Z2F0ZSBzaGFyZWRTaGFyaW5nU2VydmljZVBpY2tlckRlbGVnYXRlXSBzZXRNZW51UHJveHk6c3Rh
dGljX2Nhc3Q8V2ViQ29udGV4dE1lbnVQcm94eU1hYyo+KG1fYWN0aXZlQ29udGV4dE1lbnUuZ2V0
KCkpXTsKLQotICAgIC8vIFNldHRpbmcgdGhlIHBpY2tlciBsZXRzIHRoZSBkZWxlZ2F0ZSByZXRh
aW4gaXQgdG8ga2VlcCBpdCBhbGl2ZSwgYnV0IHRoaXMgcGlja2VyIGlzIGtlcHQgYWxpdmUgYnkg
dGhlIG1lbnUgaXRlbS4KLSAgICBbW1dLU2hhcmluZ1NlcnZpY2VQaWNrZXJEZWxlZ2F0ZSBzaGFy
ZWRTaGFyaW5nU2VydmljZVBpY2tlckRlbGVnYXRlXSBzZXRQaWNrZXI6bmlsXTsKLQotICAgIHJl
dHVybiBpdGVtOwotfQotI2VuZGlmCi0KIH0gLy8gbmFtZXNwYWNlIFdlYktpdAogCiAjZW5kaWYg
Ly8gUExBVEZPUk0oTUFDKQo=
</data>
<flag name="review"
          id="288467"
          type_id="1"
          status="+"
          setter="thorton"
    />
          </attachment>
      

    </bug>

</bugzilla>