<?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>168131</bug_id>
          
          <creation_ts>2017-02-10 10:50:15 -0800</creation_ts>
          <short_desc>Add a DragImage class that wraps a DragImageRef</short_desc>
          <delta_ts>2017-02-14 22:42:38 -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>
          
          <see_also>https://bugs.webkit.org/show_bug.cgi?id=168292</see_also>
          <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>168156</dependson>
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Anders Carlsson">andersca</reporter>
          <assigned_to name="Anders Carlsson">andersca</assigned_to>
          <cc>bdakin</cc>
    
    <cc>cdumez</cc>
    
    <cc>commit-queue</cc>
    
    <cc>dbates</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>kangil.han</cc>
    
    <cc>ossy</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1275401</commentid>
    <comment_count>0</comment_count>
    <who name="Anders Carlsson">andersca</who>
    <bug_when>2017-02-10 10:50:15 -0800</bug_when>
    <thetext>Add a DragImage class that wraps a DragImageRef</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1275403</commentid>
    <comment_count>1</comment_count>
      <attachid>301175</attachid>
    <who name="Anders Carlsson">andersca</who>
    <bug_when>2017-02-10 10:51:54 -0800</bug_when>
    <thetext>Created attachment 301175
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1275414</commentid>
    <comment_count>2</comment_count>
      <attachid>301180</attachid>
    <who name="Anders Carlsson">andersca</who>
    <bug_when>2017-02-10 10:59:42 -0800</bug_when>
    <thetext>Created attachment 301180
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1275561</commentid>
    <comment_count>3</comment_count>
    <who name="Anders Carlsson">andersca</who>
    <bug_when>2017-02-10 15:11:23 -0800</bug_when>
    <thetext>Committed r212154: &lt;http://trac.webkit.org/changeset/212154&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1275690</commentid>
    <comment_count>4</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2017-02-10 18:19:52 -0800</bug_when>
    <thetext>Re-opened since this is blocked by bug 168156</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1276304</commentid>
    <comment_count>5</comment_count>
    <who name="Anders Carlsson">andersca</who>
    <bug_when>2017-02-13 12:33:03 -0800</bug_when>
    <thetext>Committed r212239: &lt;http://trac.webkit.org/changeset/212239&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1276332</commentid>
    <comment_count>6</comment_count>
    <who name="Csaba Osztrogonác">ossy</who>
    <bug_when>2017-02-13 13:13:21 -0800</bug_when>
    <thetext>(In reply to comment #5)
&gt; Committed r212239: &lt;http://trac.webkit.org/changeset/212239&gt;

It broke the Apple Windows and the WinCairo build, see build.webkit.org for details.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>301175</attachid>
            <date>2017-02-10 10:51:54 -0800</date>
            <delta_ts>2017-02-10 10:59:39 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-168131-20170210104927.patch</filename>
            <type>text/plain</type>
            <size>19131</size>
            <attacher name="Anders Carlsson">andersca</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjExOTYxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMTliOTRiOGY1YzQ5ZDRl
NGNkN2I1ZjVjN2RlYTY5YzA4YjBhNTNkZS4uMTRiNmJkOTMwMjI5MWMwMjA3Y2E5ZTY0MzVjNjgz
ZmUyYWI3YzQzNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMwIEBACisyMDE3LTAyLTEwICBBbmRl
cnMgQ2FybHNzb24gIDxhbmRlcnNjYUBhcHBsZS5jb20+CisKKyAgICAgICAgQWRkIGEgRHJhZ0lt
YWdlIGNsYXNzIHRoYXQgd3JhcHMgYSBEcmFnSW1hZ2VSZWYKKyAgICAgICAgaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE2ODEzMQorCisgICAgICAgIFJldmlld2VkIGJ5
IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFRoaXMgYWxsb3dzIHVzIHRvIGdldCByaWQgb2Yg
dGhlIGV4cGxpY2l0IGRlbGV0ZURyYWdJbWFnZSBjYWxscyBhbmQgd2lsbCBtYWtlIGFkZGl0aW9u
YWwgY2xlYW51cCBvZiB0aGUKKyAgICAgICAgdmFyaW91cyBkcmFnIGNvZGUgcGF0aHMgcG9zc2li
bGUuIE5vIGZ1bmN0aW9uYWxpdHkgY2hhbmdlLgorCisgICAgICAgICogZG9tL0RhdGFUcmFuc2Zl
ci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpEYXRhVHJhbnNmZXI6OnVwZGF0ZURyYWdJbWFnZSk6
CisgICAgICAgICogcGFnZS9EcmFnQ29udHJvbGxlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpE
cmFnQ29udHJvbGxlcjo6c3RhcnREcmFnKToKKyAgICAgICAgKFdlYkNvcmU6OkRyYWdDb250cm9s
bGVyOjpkb0ltYWdlRHJhZyk6CisgICAgICAgIChXZWJDb3JlOjpEcmFnQ29udHJvbGxlcjo6ZG9T
eXN0ZW1EcmFnKToKKyAgICAgICAgKiBwYWdlL0RyYWdDb250cm9sbGVyLmg6CisgICAgICAgICog
cGxhdGZvcm0vRHJhZ0ltYWdlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkRyYWdJbWFnZTo6RHJh
Z0ltYWdlKToKKyAgICAgICAgKFdlYkNvcmU6OkRyYWdJbWFnZTo6b3BlcmF0b3I9KToKKyAgICAg
ICAgKFdlYkNvcmU6OkRyYWdJbWFnZTo6fkRyYWdJbWFnZSk6CisgICAgICAgICogcGxhdGZvcm0v
RHJhZ0ltYWdlLmg6CisgICAgICAgICogcGxhdGZvcm0vUGFzdGVib2FyZC5oOgorICAgICAgICAq
IHBsYXRmb3JtL1N0YXRpY1Bhc3RlYm9hcmQuaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9tYWMvUGFz
dGVib2FyZE1hYy5tbToKKyAgICAgICAgKFdlYkNvcmU6OlBhc3RlYm9hcmQ6OnNldERyYWdJbWFn
ZSk6CisKIDIwMTctMDItMDkgIEFudG9pbmUgUXVpbnQgIDxncmFvdXRzQGFwcGxlLmNvbT4KIAog
ICAgICAgICBbTW9kZXJuIE1lZGlhIENvbnRyb2xzXSBUYXBwaW5nIHRoZSBza2lwIGJhY2sgYnV0
dG9uIG9uIGlPUyBpbmxpbmUgbWVkaWEgY29udHJvbHMgbWFrZSB0aGUgY29udHJvbHMgZGlzYXBw
ZWFyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vRGF0YVRyYW5zZmVyLmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL2RvbS9EYXRhVHJhbnNmZXIuY3BwCmluZGV4IGFmNjlmYTBkMGM3NDI5MDBi
NWJkMDM1ZTliMGFlYWZkZTA2OWNmMTQuLjA4YTkxNDk4YjcwNDcxMGM2OTYzMWFmODU4ODVhNzdm
NjA2NjBmZTMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9EYXRhVHJhbnNmZXIuY3Bw
CisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9EYXRhVHJhbnNmZXIuY3BwCkBAIC0yODMsMTEgKzI4
MywxMSBAQCB2b2lkIERhdGFUcmFuc2Zlcjo6dXBkYXRlRHJhZ0ltYWdlKCkKICAgICAgICAgcmV0
dXJuOwogCiAgICAgSW50UG9pbnQgY29tcHV0ZWRIb3RTcG90OwotICAgIERyYWdJbWFnZVJlZiBj
b21wdXRlZEltYWdlID0gY3JlYXRlRHJhZ0ltYWdlKGNvbXB1dGVkSG90U3BvdCk7CisgICAgYXV0
byBjb21wdXRlZEltYWdlID0gRHJhZ0ltYWdlIHsgY3JlYXRlRHJhZ0ltYWdlKGNvbXB1dGVkSG90
U3BvdCkgfTsKICAgICBpZiAoIWNvbXB1dGVkSW1hZ2UpCiAgICAgICAgIHJldHVybjsKIAotICAg
IG1fcGFzdGVib2FyZC0+c2V0RHJhZ0ltYWdlKGNvbXB1dGVkSW1hZ2UsIGNvbXB1dGVkSG90U3Bv
dCk7CisgICAgbV9wYXN0ZWJvYXJkLT5zZXREcmFnSW1hZ2UoV1RGTW92ZShjb21wdXRlZEltYWdl
KSwgY29tcHV0ZWRIb3RTcG90KTsKIH0KIAogI2lmICFQTEFURk9STShNQUMpCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0RyYWdDb250cm9sbGVyLmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L3BhZ2UvRHJhZ0NvbnRyb2xsZXIuY3BwCmluZGV4IDkzZTQ4N2I3Yzc4MTZiZTYyNDIyNWU4NTM4
MmJmNGVlNDI3NjE5NTUuLjIxMDEyMTRlMDczZGRjYzQ2OGNmZTkxOTk4YTY1MjQ2MmE2ZWM1M2Ig
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRHJhZ0NvbnRyb2xsZXIuY3BwCisrKyBi
L1NvdXJjZS9XZWJDb3JlL3BhZ2UvRHJhZ0NvbnRyb2xsZXIuY3BwCkBAIC03NzIsMTEgKzc3Miwx
MyBAQCBib29sIERyYWdDb250cm9sbGVyOjpzdGFydERyYWcoRnJhbWUmIHNyYywgY29uc3QgRHJh
Z1N0YXRlJiBzdGF0ZSwgRHJhZ09wZXJhdGlvbgogICAgIGVsc2UKICAgICAgICAgc291cmNlQ29u
dGFpbnNIaXROb2RlID0gc3RhdGUuc291cmNlLT5jb250YWluc0luY2x1ZGluZ1NoYWRvd0RPTSho
aXRUZXN0UmVzdWx0LmlubmVyTm9kZSgpKTsKIAotICAgIGlmICghc291cmNlQ29udGFpbnNIaXRO
b2RlKQorICAgIGlmICghc291cmNlQ29udGFpbnNIaXROb2RlKSB7CiAgICAgICAgIC8vIFRoZSBv
cmlnaW5hbCBub2RlIGJlaW5nIGRyYWdnZWQgaXNuJ3QgdW5kZXIgdGhlIGRyYWcgb3JpZ2luIGFu
eW1vcmUuLi4gbWF5YmUgaXQgd2FzCiAgICAgICAgIC8vIGhpZGRlbiBvciBtb3ZlZCBvdXQgZnJv
bSB1bmRlciB0aGUgY3Vyc29yLiBSZWdhcmRsZXNzLCB3ZSBkb24ndCB3YW50IHRvIHN0YXJ0IGEg
ZHJhZyBvbgogICAgICAgICAvLyBzb21ldGhpbmcgdGhhdCdzIG5vdCBhY3R1YWxseSB1bmRlciB0
aGUgZHJhZyBvcmlnaW4uCiAgICAgICAgIHJldHVybiBmYWxzZTsKKyAgICB9CisKICAgICBVUkwg
bGlua1VSTCA9IGhpdFRlc3RSZXN1bHQuYWJzb2x1dGVMaW5rVVJMKCk7CiAgICAgVVJMIGltYWdl
VVJMID0gaGl0VGVzdFJlc3VsdC5hYnNvbHV0ZUltYWdlVVJMKCk7CiAjaWYgRU5BQkxFKEFUVEFD
SE1FTlRfRUxFTUVOVCkKQEAgLTc4OSw3ICs3OTEsNyBAQCBib29sIERyYWdDb250cm9sbGVyOjpz
dGFydERyYWcoRnJhbWUmIHNyYywgY29uc3QgRHJhZ1N0YXRlJiBzdGF0ZSwgRHJhZ09wZXJhdGlv
bgogICAgIG1fZHJhZ2dpbmdJbWFnZVVSTCA9IFVSTCgpOwogICAgIG1fc291cmNlRHJhZ09wZXJh
dGlvbiA9IHNyY09wOwogCi0gICAgRHJhZ0ltYWdlUmVmIGRyYWdJbWFnZSA9IG51bGxwdHI7Cisg
ICAgRHJhZ0ltYWdlIGRyYWdJbWFnZTsKICAgICBJbnRQb2ludCBkcmFnTG9jKDAsIDApOwogICAg
IEludFBvaW50IGRyYWdJbWFnZU9mZnNldCgwLCAwKTsKIApAQCAtNzk3LDcgKzc5OSw3IEBAIGJv
b2wgRHJhZ0NvbnRyb2xsZXI6OnN0YXJ0RHJhZyhGcmFtZSYgc3JjLCBjb25zdCBEcmFnU3RhdGUm
IHN0YXRlLCBEcmFnT3BlcmF0aW9uCiAKICAgICBEYXRhVHJhbnNmZXImIGRhdGFUcmFuc2ZlciA9
ICpzdGF0ZS5kYXRhVHJhbnNmZXI7CiAgICAgaWYgKHN0YXRlLnR5cGUgPT0gRHJhZ1NvdXJjZUFj
dGlvbkRIVE1MKQotICAgICAgICBkcmFnSW1hZ2UgPSBkYXRhVHJhbnNmZXIuY3JlYXRlRHJhZ0lt
YWdlKGRyYWdJbWFnZU9mZnNldCk7CisgICAgICAgIGRyYWdJbWFnZSA9IERyYWdJbWFnZSB7IGRh
dGFUcmFuc2Zlci5jcmVhdGVEcmFnSW1hZ2UoZHJhZ0ltYWdlT2Zmc2V0KSB9OwogICAgIGlmIChz
dGF0ZS50eXBlID09IERyYWdTb3VyY2VBY3Rpb25TZWxlY3Rpb24gfHwgIWltYWdlVVJMLmlzRW1w
dHkoKSB8fCAhbGlua1VSTC5pc0VtcHR5KCkpCiAgICAgICAgIC8vIFNlbGVjdGlvbiwgaW1hZ2Us
IGFuZCBsaW5rIGRyYWdzIHJlY2VpdmUgYSBkZWZhdWx0IHNldCBvZiBhbGxvd2VkIGRyYWcgb3Bl
cmF0aW9ucyB0aGF0CiAgICAgICAgIC8vIGZvbGxvd3MgZnJvbToKQEAgLTg1MCw3ICs4NTIsNyBA
QCBib29sIERyYWdDb250cm9sbGVyOjpzdGFydERyYWcoRnJhbWUmIHNyYywgY29uc3QgRHJhZ1N0
YXRlJiBzdGF0ZSwgRHJhZ09wZXJhdGlvbgogICAgICAgICB9CiAgICAgICAgIG1fY2xpZW50Lndp
bGxQZXJmb3JtRHJhZ1NvdXJjZUFjdGlvbihEcmFnU291cmNlQWN0aW9uU2VsZWN0aW9uLCBkcmFn
T3JpZ2luLCBkYXRhVHJhbnNmZXIpOwogICAgICAgICBpZiAoIWRyYWdJbWFnZSkgewotICAgICAg
ICAgICAgZHJhZ0ltYWdlID0gZGlzc29sdmVEcmFnSW1hZ2VUb0ZyYWN0aW9uKGNyZWF0ZURyYWdJ
bWFnZUZvclNlbGVjdGlvbihzcmMpLCBEcmFnSW1hZ2VBbHBoYSk7CisgICAgICAgICAgICBkcmFn
SW1hZ2UgPSBEcmFnSW1hZ2UgeyBkaXNzb2x2ZURyYWdJbWFnZVRvRnJhY3Rpb24oY3JlYXRlRHJh
Z0ltYWdlRm9yU2VsZWN0aW9uKHNyYyksIERyYWdJbWFnZUFscGhhKSB9OwogICAgICAgICAgICAg
ZHJhZ0xvYyA9IGRyYWdMb2NGb3JTZWxlY3Rpb25EcmFnKHNyYyk7CiAgICAgICAgICAgICBtX2Ry
YWdPZmZzZXQgPSBJbnRQb2ludChkcmFnT3JpZ2luLngoKSAtIGRyYWdMb2MueCgpLCBkcmFnT3Jp
Z2luLnkoKSAtIGRyYWdMb2MueSgpKTsKICAgICAgICAgfQpAQCAtODU4LDcgKzg2MCw3IEBAIGJv
b2wgRHJhZ0NvbnRyb2xsZXI6OnN0YXJ0RHJhZyhGcmFtZSYgc3JjLCBjb25zdCBEcmFnU3RhdGUm
IHN0YXRlLCBEcmFnT3BlcmF0aW9uCiAgICAgICAgIGlmICghZHJhZ0ltYWdlKQogICAgICAgICAg
ICAgcmV0dXJuIGZhbHNlOwogCi0gICAgICAgIGRvU3lzdGVtRHJhZyhkcmFnSW1hZ2UsIGRyYWdM
b2MsIGRyYWdPcmlnaW4sIGRyYWdJbWFnZUJvdW5kcywgZGF0YVRyYW5zZmVyLCBzcmMsIGZhbHNl
KTsKKyAgICAgICAgZG9TeXN0ZW1EcmFnKFdURk1vdmUoZHJhZ0ltYWdlKSwgZHJhZ0xvYywgZHJh
Z09yaWdpbiwgZHJhZ0ltYWdlQm91bmRzLCBkYXRhVHJhbnNmZXIsIHNyYywgZmFsc2UpOwogICAg
IH0gZWxzZSBpZiAoIXNyYy5kb2N1bWVudCgpLT5zZWN1cml0eU9yaWdpbigpLmNhbkRpc3BsYXko
bGlua1VSTCkpIHsKICAgICAgICAgc3JjLmRvY3VtZW50KCktPmFkZENvbnNvbGVNZXNzYWdlKE1l
c3NhZ2VTb3VyY2U6OlNlY3VyaXR5LCBNZXNzYWdlTGV2ZWw6OkVycm9yLCAiTm90IGFsbG93ZWQg
dG8gZHJhZyBsb2NhbCByZXNvdXJjZTogIiArIGxpbmtVUkwuc3RyaW5nQ2VudGVyRWxsaXBzaXpl
ZFRvTGVuZ3RoKCkpOwogICAgICAgICBzdGFydGVkRHJhZyA9IGZhbHNlOwpAQCAtODgxLDcgKzg4
Myw3IEBAIGJvb2wgRHJhZ0NvbnRyb2xsZXI6OnN0YXJ0RHJhZyhGcmFtZSYgc3JjLCBjb25zdCBE
cmFnU3RhdGUmIHN0YXRlLCBEcmFnT3BlcmF0aW9uCiAgICAgICAgICAgICBkb0ltYWdlRHJhZyhl
bGVtZW50LCBkcmFnT3JpZ2luLCBoaXRUZXN0UmVzdWx0LmltYWdlUmVjdCgpLCBkYXRhVHJhbnNm
ZXIsIHNyYywgbV9kcmFnT2Zmc2V0KTsKICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgIC8v
IERIVE1MIGRlZmluZWQgZHJhZyBpbWFnZQotICAgICAgICAgICAgZG9TeXN0ZW1EcmFnKGRyYWdJ
bWFnZSwgZHJhZ0xvYywgZHJhZ09yaWdpbiwgeyB9LCBkYXRhVHJhbnNmZXIsIHNyYywgZmFsc2Up
OworICAgICAgICAgICAgZG9TeXN0ZW1EcmFnKFdURk1vdmUoZHJhZ0ltYWdlKSwgZHJhZ0xvYywg
ZHJhZ09yaWdpbiwgeyB9LCBkYXRhVHJhbnNmZXIsIHNyYywgZmFsc2UpOwogICAgICAgICB9CiAg
ICAgfSBlbHNlIGlmICghbGlua1VSTC5pc0VtcHR5KCkgJiYgKG1fZHJhZ1NvdXJjZUFjdGlvbiAm
IERyYWdTb3VyY2VBY3Rpb25MaW5rKSkgewogICAgICAgICBpZiAoIWRhdGFUcmFuc2Zlci5wYXN0
ZWJvYXJkKCkuaGFzRGF0YSgpKSB7CkBAIC05MTAsMTQgKzkxMiwxNCBAQCBib29sIERyYWdDb250
cm9sbGVyOjpzdGFydERyYWcoRnJhbWUmIHNyYywgY29uc3QgRHJhZ1N0YXRlJiBzdGF0ZSwgRHJh
Z09wZXJhdGlvbgogCiAgICAgICAgIG1fY2xpZW50LndpbGxQZXJmb3JtRHJhZ1NvdXJjZUFjdGlv
bihEcmFnU291cmNlQWN0aW9uTGluaywgZHJhZ09yaWdpbiwgZGF0YVRyYW5zZmVyKTsKICAgICAg
ICAgaWYgKCFkcmFnSW1hZ2UpIHsKLSAgICAgICAgICAgIGRyYWdJbWFnZSA9IGNyZWF0ZURyYWdJ
bWFnZUZvckxpbmsobGlua1VSTCwgaGl0VGVzdFJlc3VsdC50ZXh0Q29udGVudCgpLCBzcmMuc2V0
dGluZ3MoKS5mb250UmVuZGVyaW5nTW9kZSgpKTsKLSAgICAgICAgICAgIEludFNpemUgc2l6ZSA9
IGRyYWdJbWFnZVNpemUoZHJhZ0ltYWdlKTsKKyAgICAgICAgICAgIGRyYWdJbWFnZSA9IERyYWdJ
bWFnZSB7IGNyZWF0ZURyYWdJbWFnZUZvckxpbmsobGlua1VSTCwgaGl0VGVzdFJlc3VsdC50ZXh0
Q29udGVudCgpLCBzcmMuc2V0dGluZ3MoKS5mb250UmVuZGVyaW5nTW9kZSgpKSB9OworICAgICAg
ICAgICAgSW50U2l6ZSBzaXplID0gZHJhZ0ltYWdlU2l6ZShkcmFnSW1hZ2UuZ2V0KCkpOwogICAg
ICAgICAgICAgbV9kcmFnT2Zmc2V0ID0gSW50UG9pbnQoLXNpemUud2lkdGgoKSAvIDIsIC1MaW5r
RHJhZ0JvcmRlckluc2V0KTsKICAgICAgICAgICAgIGRyYWdMb2MgPSBJbnRQb2ludChtb3VzZURy
YWdnZWRQb2ludC54KCkgKyBtX2RyYWdPZmZzZXQueCgpLCBtb3VzZURyYWdnZWRQb2ludC55KCkg
KyBtX2RyYWdPZmZzZXQueSgpKTsKICAgICAgICAgICAgIC8vIExhdGVyIGNvZGUgZXhwZWN0cyB0
aGUgZHJhZyBpbWFnZSB0byBiZSBzY2FsZWQgYnkgZGV2aWNlJ3Mgc2NhbGUgZmFjdG9yLgotICAg
ICAgICAgICAgZHJhZ0ltYWdlID0gc2NhbGVEcmFnSW1hZ2UoZHJhZ0ltYWdlLCBGbG9hdFNpemUo
bV9wYWdlLmRldmljZVNjYWxlRmFjdG9yKCksIG1fcGFnZS5kZXZpY2VTY2FsZUZhY3RvcigpKSk7
CisgICAgICAgICAgICBkcmFnSW1hZ2UgPSBEcmFnSW1hZ2UgeyBzY2FsZURyYWdJbWFnZShkcmFn
SW1hZ2UuZ2V0KCksIEZsb2F0U2l6ZShtX3BhZ2UuZGV2aWNlU2NhbGVGYWN0b3IoKSwgbV9wYWdl
LmRldmljZVNjYWxlRmFjdG9yKCkpKSB9OwogICAgICAgICB9Ci0gICAgICAgIGRvU3lzdGVtRHJh
ZyhkcmFnSW1hZ2UsIGRyYWdMb2MsIG1vdXNlRHJhZ2dlZFBvaW50LCB7IH0sIGRhdGFUcmFuc2Zl
ciwgc3JjLCB0cnVlKTsKKyAgICAgICAgZG9TeXN0ZW1EcmFnKFdURk1vdmUoZHJhZ0ltYWdlKSwg
ZHJhZ0xvYywgbW91c2VEcmFnZ2VkUG9pbnQsIHsgfSwgZGF0YVRyYW5zZmVyLCBzcmMsIHRydWUp
OwogI2lmIEVOQUJMRShBVFRBQ0hNRU5UX0VMRU1FTlQpCiAgICAgfSBlbHNlIGlmICghYXR0YWNo
bWVudFVSTC5pc0VtcHR5KCkgJiYgKG1fZHJhZ1NvdXJjZUFjdGlvbiAmIERyYWdTb3VyY2VBY3Rp
b25BdHRhY2htZW50KSkgewogICAgICAgICBpZiAoIWRhdGFUcmFuc2Zlci5wYXN0ZWJvYXJkKCku
aGFzRGF0YSgpKSB7CkBAIC05MjksMTcgKzkzMSwxNyBAQCBib29sIERyYWdDb250cm9sbGVyOjpz
dGFydERyYWcoRnJhbWUmIHNyYywgY29uc3QgRHJhZ1N0YXRlJiBzdGF0ZSwgRHJhZ09wZXJhdGlv
bgogICAgICAgICBtX2NsaWVudC53aWxsUGVyZm9ybURyYWdTb3VyY2VBY3Rpb24oRHJhZ1NvdXJj
ZUFjdGlvbkF0dGFjaG1lbnQsIGRyYWdPcmlnaW4sIGRhdGFUcmFuc2Zlcik7CiAgICAgICAgIAog
ICAgICAgICBpZiAoIWRyYWdJbWFnZSkgewotICAgICAgICAgICAgZHJhZ0ltYWdlID0gZGlzc29s
dmVEcmFnSW1hZ2VUb0ZyYWN0aW9uKGNyZWF0ZURyYWdJbWFnZUZvclNlbGVjdGlvbihzcmMpLCBE
cmFnSW1hZ2VBbHBoYSk7CisgICAgICAgICAgICBkcmFnSW1hZ2UgPSBEcmFnSW1hZ2UgeyBkaXNz
b2x2ZURyYWdJbWFnZVRvRnJhY3Rpb24oY3JlYXRlRHJhZ0ltYWdlRm9yU2VsZWN0aW9uKHNyYyks
IERyYWdJbWFnZUFscGhhKSB9OwogICAgICAgICAgICAgZHJhZ0xvYyA9IGRyYWdMb2NGb3JTZWxl
Y3Rpb25EcmFnKHNyYyk7CiAgICAgICAgICAgICBtX2RyYWdPZmZzZXQgPSBJbnRQb2ludChkcmFn
T3JpZ2luLngoKSAtIGRyYWdMb2MueCgpLCBkcmFnT3JpZ2luLnkoKSAtIGRyYWdMb2MueSgpKTsK
ICAgICAgICAgfQotICAgICAgICBkb1N5c3RlbURyYWcoZHJhZ0ltYWdlLCBkcmFnTG9jLCBkcmFn
T3JpZ2luLCB7IH0sIGRhdGFUcmFuc2Zlciwgc3JjLCBmYWxzZSk7CisgICAgICAgIGRvU3lzdGVt
RHJhZyhXVEZNb3ZlKGRyYWdJbWFnZSksIGRyYWdMb2MsIGRyYWdPcmlnaW4sIHsgfSwgZGF0YVRy
YW5zZmVyLCBzcmMsIGZhbHNlKTsKICNlbmRpZgogICAgIH0gZWxzZSBpZiAoc3RhdGUudHlwZSA9
PSBEcmFnU291cmNlQWN0aW9uREhUTUwpIHsKICAgICAgICAgaWYgKGRyYWdJbWFnZSkgewogICAg
ICAgICAgICAgQVNTRVJUKG1fZHJhZ1NvdXJjZUFjdGlvbiAmIERyYWdTb3VyY2VBY3Rpb25ESFRN
TCk7CiAgICAgICAgICAgICBtX2NsaWVudC53aWxsUGVyZm9ybURyYWdTb3VyY2VBY3Rpb24oRHJh
Z1NvdXJjZUFjdGlvbkRIVE1MLCBkcmFnT3JpZ2luLCBkYXRhVHJhbnNmZXIpOwotICAgICAgICAg
ICAgZG9TeXN0ZW1EcmFnKGRyYWdJbWFnZSwgZHJhZ0xvYywgZHJhZ09yaWdpbiwgeyB9LCBkYXRh
VHJhbnNmZXIsIHNyYywgZmFsc2UpOworICAgICAgICAgICAgZG9TeXN0ZW1EcmFnKFdURk1vdmUo
ZHJhZ0ltYWdlKSwgZHJhZ0xvYywgZHJhZ09yaWdpbiwgeyB9LCBkYXRhVHJhbnNmZXIsIHNyYywg
ZmFsc2UpOwogICAgICAgICB9IGVsc2UKICAgICAgICAgICAgIHN0YXJ0ZWREcmFnID0gZmFsc2U7
CiAgICAgfSBlbHNlIHsKQEAgLTk0OCwxNSArOTUwLDEzIEBAIGJvb2wgRHJhZ0NvbnRyb2xsZXI6
OnN0YXJ0RHJhZyhGcmFtZSYgc3JjLCBjb25zdCBEcmFnU3RhdGUmIHN0YXRlLCBEcmFnT3BlcmF0
aW9uCiAgICAgICAgIHN0YXJ0ZWREcmFnID0gZmFsc2U7CiAgICAgfQogCi0gICAgaWYgKGRyYWdJ
bWFnZSkKLSAgICAgICAgZGVsZXRlRHJhZ0ltYWdlKGRyYWdJbWFnZSk7CiAgICAgcmV0dXJuIHN0
YXJ0ZWREcmFnOwogfQogCiB2b2lkIERyYWdDb250cm9sbGVyOjpkb0ltYWdlRHJhZyhFbGVtZW50
JiBlbGVtZW50LCBjb25zdCBJbnRQb2ludCYgZHJhZ09yaWdpbiwgY29uc3QgSW50UmVjdCYgbGF5
b3V0UmVjdCwgRGF0YVRyYW5zZmVyJiBkYXRhVHJhbnNmZXIsIEZyYW1lJiBmcmFtZSwgSW50UG9p
bnQmIGRyYWdJbWFnZU9mZnNldCkKIHsKICAgICBJbnRQb2ludCBtb3VzZURvd25Qb2ludCA9IGRy
YWdPcmlnaW47Ci0gICAgRHJhZ0ltYWdlUmVmIGRyYWdJbWFnZSA9IG51bGxwdHI7CisgICAgRHJh
Z0ltYWdlIGRyYWdJbWFnZTsKICAgICBJbnRQb2ludCBzY2FsZWRPcmlnaW47CiAKICAgICBpZiAo
IWVsZW1lbnQucmVuZGVyZXIoKSkKQEAgLTk2NiwxMyArOTY2LDEzIEBAIHZvaWQgRHJhZ0NvbnRy
b2xsZXI6OmRvSW1hZ2VEcmFnKEVsZW1lbnQmIGVsZW1lbnQsIGNvbnN0IEludFBvaW50JiBkcmFn
T3JpZ2luLCBjCiAKICAgICBJbWFnZSogaW1hZ2UgPSBnZXRJbWFnZShlbGVtZW50KTsKICAgICBp
ZiAoaW1hZ2UgJiYgaW1hZ2UtPnNpemUoKS5oZWlnaHQoKSAqIGltYWdlLT5zaXplKCkud2lkdGgo
KSA8PSBNYXhPcmlnaW5hbEltYWdlQXJlYQotICAgICAgICAmJiAoZHJhZ0ltYWdlID0gY3JlYXRl
RHJhZ0ltYWdlRnJvbUltYWdlKGltYWdlLCBlbGVtZW50LnJlbmRlcmVyKCkgPyBvcmllbnRhdGlv
bkRlc2NyaXB0aW9uIDogSW1hZ2VPcmllbnRhdGlvbkRlc2NyaXB0aW9uKCkpKSkgeworICAgICAg
ICAmJiAoZHJhZ0ltYWdlID0gRHJhZ0ltYWdlIHsgY3JlYXRlRHJhZ0ltYWdlRnJvbUltYWdlKGlt
YWdlLCBlbGVtZW50LnJlbmRlcmVyKCkgPyBvcmllbnRhdGlvbkRlc2NyaXB0aW9uIDogSW1hZ2VP
cmllbnRhdGlvbkRlc2NyaXB0aW9uKCkpIH0pKSB7CiAKLSAgICAgICAgZHJhZ0ltYWdlID0gZml0
RHJhZ0ltYWdlVG9NYXhTaXplKGRyYWdJbWFnZSwgbGF5b3V0UmVjdC5zaXplKCksIG1heERyYWdJ
bWFnZVNpemUoKSk7Ci0gICAgICAgIEludFNpemUgZml0dGVkU2l6ZSA9IGRyYWdJbWFnZVNpemUo
ZHJhZ0ltYWdlKTsKKyAgICAgICAgZHJhZ0ltYWdlID0gRHJhZ0ltYWdlIHsgZml0RHJhZ0ltYWdl
VG9NYXhTaXplKGRyYWdJbWFnZS5nZXQoKSwgbGF5b3V0UmVjdC5zaXplKCksIG1heERyYWdJbWFn
ZVNpemUoKSkgfTsKKyAgICAgICAgSW50U2l6ZSBmaXR0ZWRTaXplID0gZHJhZ0ltYWdlU2l6ZShk
cmFnSW1hZ2UuZ2V0KCkpOwogCi0gICAgICAgIGRyYWdJbWFnZSA9IHNjYWxlRHJhZ0ltYWdlKGRy
YWdJbWFnZSwgRmxvYXRTaXplKG1fcGFnZS5kZXZpY2VTY2FsZUZhY3RvcigpLCBtX3BhZ2UuZGV2
aWNlU2NhbGVGYWN0b3IoKSkpOwotICAgICAgICBkcmFnSW1hZ2UgPSBkaXNzb2x2ZURyYWdJbWFn
ZVRvRnJhY3Rpb24oZHJhZ0ltYWdlLCBEcmFnSW1hZ2VBbHBoYSk7CisgICAgICAgIGRyYWdJbWFn
ZSA9IERyYWdJbWFnZSB7IHNjYWxlRHJhZ0ltYWdlKGRyYWdJbWFnZS5nZXQoKSwgRmxvYXRTaXpl
KG1fcGFnZS5kZXZpY2VTY2FsZUZhY3RvcigpLCBtX3BhZ2UuZGV2aWNlU2NhbGVGYWN0b3IoKSkp
IH07CisgICAgICAgIGRyYWdJbWFnZSA9IERyYWdJbWFnZSB7IGRpc3NvbHZlRHJhZ0ltYWdlVG9G
cmFjdGlvbihkcmFnSW1hZ2UuZ2V0KCksIERyYWdJbWFnZUFscGhhKSB9OwogCiAgICAgICAgIC8v
IFByb3Blcmx5IG9yaWVudCB0aGUgZHJhZyBpbWFnZSBhbmQgb3JpZW50IGl0IGRpZmZlcmVudGx5
IGlmIGl0J3Mgc21hbGxlciB0aGFuIHRoZSBvcmlnaW5hbC4KICAgICAgICAgZmxvYXQgc2NhbGUg
PSBmaXR0ZWRTaXplLndpZHRoKCkgLyAoZmxvYXQpbGF5b3V0UmVjdC53aWR0aCgpOwpAQCAtOTg2
LDkgKzk4Niw5IEBAIHZvaWQgRHJhZ0NvbnRyb2xsZXI6OmRvSW1hZ2VEcmFnKEVsZW1lbnQmIGVs
ZW1lbnQsIGNvbnN0IEludFBvaW50JiBkcmFnT3JpZ2luLCBjCiAgICAgICAgIHNjYWxlZE9yaWdp
biA9IEludFBvaW50KChpbnQpKGR4ICsgMC41KSwgKGludCkoZHkgKyAwLjUpKTsKICAgICB9IGVs
c2UgewogICAgICAgICBpZiAoQ2FjaGVkSW1hZ2UqIGNhY2hlZEltYWdlID0gZ2V0Q2FjaGVkSW1h
Z2UoZWxlbWVudCkpIHsKLSAgICAgICAgICAgIGRyYWdJbWFnZSA9IGNyZWF0ZURyYWdJbWFnZUlj
b25Gb3JDYWNoZWRJbWFnZUZpbGVuYW1lKGNhY2hlZEltYWdlLT5yZXNwb25zZSgpLnN1Z2dlc3Rl
ZEZpbGVuYW1lKCkpOworICAgICAgICAgICAgZHJhZ0ltYWdlID0gRHJhZ0ltYWdlIHsgY3JlYXRl
RHJhZ0ltYWdlSWNvbkZvckNhY2hlZEltYWdlRmlsZW5hbWUoY2FjaGVkSW1hZ2UtPnJlc3BvbnNl
KCkuc3VnZ2VzdGVkRmlsZW5hbWUoKSkgfTsKICAgICAgICAgICAgIGlmIChkcmFnSW1hZ2UpCi0g
ICAgICAgICAgICAgICAgc2NhbGVkT3JpZ2luID0gSW50UG9pbnQoRHJhZ0ljb25SaWdodEluc2V0
IC0gZHJhZ0ltYWdlU2l6ZShkcmFnSW1hZ2UpLndpZHRoKCksIERyYWdJY29uQm90dG9tSW5zZXQp
OworICAgICAgICAgICAgICAgIHNjYWxlZE9yaWdpbiA9IEludFBvaW50KERyYWdJY29uUmlnaHRJ
bnNldCAtIGRyYWdJbWFnZVNpemUoZHJhZ0ltYWdlLmdldCgpKS53aWR0aCgpLCBEcmFnSWNvbkJv
dHRvbUluc2V0KTsKICAgICAgICAgfQogICAgIH0KIApAQCAtOTk2LDEyICs5OTYsMTAgQEAgdm9p
ZCBEcmFnQ29udHJvbGxlcjo6ZG9JbWFnZURyYWcoRWxlbWVudCYgZWxlbWVudCwgY29uc3QgSW50
UG9pbnQmIGRyYWdPcmlnaW4sIGMKICAgICAgICAgcmV0dXJuOwogCiAgICAgZHJhZ0ltYWdlT2Zm
c2V0ID0gbW91c2VEb3duUG9pbnQgKyBzY2FsZWRPcmlnaW47Ci0gICAgZG9TeXN0ZW1EcmFnKGRy
YWdJbWFnZSwgZHJhZ0ltYWdlT2Zmc2V0LCBkcmFnT3JpZ2luLCBlbGVtZW50LmJvdW5kc0luUm9v
dFZpZXdTcGFjZSgpLCBkYXRhVHJhbnNmZXIsIGZyYW1lLCBmYWxzZSk7Ci0KLSAgICBkZWxldGVE
cmFnSW1hZ2UoZHJhZ0ltYWdlKTsKKyAgICBkb1N5c3RlbURyYWcoV1RGTW92ZShkcmFnSW1hZ2Up
LCBkcmFnSW1hZ2VPZmZzZXQsIGRyYWdPcmlnaW4sIGVsZW1lbnQuYm91bmRzSW5Sb290Vmlld1Nw
YWNlKCksIGRhdGFUcmFuc2ZlciwgZnJhbWUsIGZhbHNlKTsKIH0KIAotdm9pZCBEcmFnQ29udHJv
bGxlcjo6ZG9TeXN0ZW1EcmFnKERyYWdJbWFnZVJlZiBpbWFnZSwgY29uc3QgSW50UG9pbnQmIGRy
YWdMb2MsIGNvbnN0IEludFBvaW50JiBldmVudFBvcywgY29uc3QgSW50UmVjdCYgZHJhZ0ltYWdl
Qm91bmRzLCBEYXRhVHJhbnNmZXImIGRhdGFUcmFuc2ZlciwgRnJhbWUmIGZyYW1lLCBib29sIGZv
ckxpbmspCit2b2lkIERyYWdDb250cm9sbGVyOjpkb1N5c3RlbURyYWcoRHJhZ0ltYWdlIGltYWdl
LCBjb25zdCBJbnRQb2ludCYgZHJhZ0xvYywgY29uc3QgSW50UG9pbnQmIGV2ZW50UG9zLCBjb25z
dCBJbnRSZWN0JiBkcmFnSW1hZ2VCb3VuZHMsIERhdGFUcmFuc2ZlciYgZGF0YVRyYW5zZmVyLCBG
cmFtZSYgZnJhbWUsIGJvb2wgZm9yTGluaykKIHsKICAgICBGbG9hdFBvaW50IGRyYWdJbWFnZUFu
Y2hvciA9IHsgMC41LCAwLjUgfTsKICAgICBpZiAoIWRyYWdJbWFnZUJvdW5kcy5pc0VtcHR5KCkp
IHsKQEAgLTEwMTQsNyArMTAxMiw3IEBAIHZvaWQgRHJhZ0NvbnRyb2xsZXI6OmRvU3lzdGVtRHJh
ZyhEcmFnSW1hZ2VSZWYgaW1hZ2UsIGNvbnN0IEludFBvaW50JiBkcmFnTG9jLCBjCiAgICAgLy8g
UHJvdGVjdCB0aGlzIGZyYW1lIGFuZCB2aWV3LCBhcyBhIGxvYWQgbWF5IG9jY3VyIG1pZCBkcmFn
IGFuZCBhdHRlbXB0IHRvIHVubG9hZCB0aGlzIGZyYW1lCiAgICAgUmVmPE1haW5GcmFtZT4gZnJh
bWVQcm90ZWN0b3IobV9wYWdlLm1haW5GcmFtZSgpKTsKICAgICBSZWZQdHI8RnJhbWVWaWV3PiB2
aWV3UHJvdGVjdG9yID0gZnJhbWVQcm90ZWN0b3ItPnZpZXcoKTsKLSAgICBtX2NsaWVudC5zdGFy
dERyYWcoaW1hZ2UsIHZpZXdQcm90ZWN0b3ItPnJvb3RWaWV3VG9Db250ZW50cyhmcmFtZS52aWV3
KCktPmNvbnRlbnRzVG9Sb290VmlldyhkcmFnTG9jKSksIHZpZXdQcm90ZWN0b3ItPnJvb3RWaWV3
VG9Db250ZW50cyhmcmFtZS52aWV3KCktPmNvbnRlbnRzVG9Sb290VmlldyhldmVudFBvcykpLCBk
cmFnSW1hZ2VBbmNob3IsIGRhdGFUcmFuc2ZlciwgZnJhbWVQcm90ZWN0b3IuZ2V0KCksIGZvckxp
bmspOworICAgIG1fY2xpZW50LnN0YXJ0RHJhZyhpbWFnZS5nZXQoKSwgdmlld1Byb3RlY3Rvci0+
cm9vdFZpZXdUb0NvbnRlbnRzKGZyYW1lLnZpZXcoKS0+Y29udGVudHNUb1Jvb3RWaWV3KGRyYWdM
b2MpKSwgdmlld1Byb3RlY3Rvci0+cm9vdFZpZXdUb0NvbnRlbnRzKGZyYW1lLnZpZXcoKS0+Y29u
dGVudHNUb1Jvb3RWaWV3KGV2ZW50UG9zKSksIGRyYWdJbWFnZUFuY2hvciwgZGF0YVRyYW5zZmVy
LCBmcmFtZVByb3RlY3Rvci5nZXQoKSwgZm9yTGluayk7CiAgICAgLy8gRHJhZ0NsaWVudDo6c3Rh
cnREcmFnIGNhbiBjYXVzZSBvdXIgUGFnZSB0byBkaXNwZWFyLCBkZWFsbG9jYXRpbmcgfHRoaXN8
LgogICAgIGlmICghZnJhbWVQcm90ZWN0b3ItPnBhZ2UoKSkKICAgICAgICAgcmV0dXJuOwpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9EcmFnQ29udHJvbGxlci5oIGIvU291cmNlL1dl
YkNvcmUvcGFnZS9EcmFnQ29udHJvbGxlci5oCmluZGV4IDc4MjEwNGYyZDZiYWVlNDQ0OTRjOGQ5
MGE2MzRiZDZhZDg3NjQ0ZGYuLmQ3MWY0MjQ5N2Y4NmUwYzI2ZjVjYjIwZDQyYTAwMDQ4NDU0MTQw
NzIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRHJhZ0NvbnRyb2xsZXIuaAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0RyYWdDb250cm9sbGVyLmgKQEAgLTExMiw3ICsxMTIsNyBA
QCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgICAgIHZvaWQgbW91c2VNb3ZlZEludG9Eb2N1bWVu
dChEb2N1bWVudCopOwogCiAgICAgICAgIHZvaWQgZG9JbWFnZURyYWcoRWxlbWVudCYsIGNvbnN0
IEludFBvaW50JiwgY29uc3QgSW50UmVjdCYsIERhdGFUcmFuc2ZlciYsIEZyYW1lJiwgSW50UG9p
bnQmKTsKLSAgICAgICAgdm9pZCBkb1N5c3RlbURyYWcoRHJhZ0ltYWdlUmVmLCBjb25zdCBJbnRQ
b2ludCYsIGNvbnN0IEludFBvaW50JiwgY29uc3QgSW50UmVjdCYgZHJhZ0ltYWdlQm91bmRzLCBE
YXRhVHJhbnNmZXImLCBGcmFtZSYsIGJvb2wgZm9yTGluayk7CisgICAgICAgIHZvaWQgZG9TeXN0
ZW1EcmFnKERyYWdJbWFnZSwgY29uc3QgSW50UG9pbnQmLCBjb25zdCBJbnRQb2ludCYsIGNvbnN0
IEludFJlY3QmIGRyYWdJbWFnZUJvdW5kcywgRGF0YVRyYW5zZmVyJiwgRnJhbWUmLCBib29sIGZv
ckxpbmspOwogICAgICAgICB2b2lkIGNsZWFudXBBZnRlclN5c3RlbURyYWcoKTsKICAgICAgICAg
dm9pZCBkZWNsYXJlQW5kV3JpdGVEcmFnSW1hZ2UoRGF0YVRyYW5zZmVyJiwgRWxlbWVudCYsIGNv
bnN0IFVSTCYsIGNvbnN0IFN0cmluZyYgbGFiZWwpOwogI2lmIEVOQUJMRShBVFRBQ0hNRU5UX0VM
RU1FTlQpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9EcmFnSW1hZ2UuY3Bw
IGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vRHJhZ0ltYWdlLmNwcAppbmRleCBkOGI1ZGVhN2M2
YmRkOTVjYTMxMjc4NjZkMjVjNDVkOTA5NGFiNGQxLi5iYjcxNmFhYjgzNWFhY2IzNjQyYmE1ZjM0
ZTJhNmVjNDNjN2M5MmJiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9EcmFn
SW1hZ2UuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL0RyYWdJbWFnZS5jcHAKQEAg
LTIxNyw1ICsyMTcsMzYgQEAgRHJhZ0ltYWdlUmVmIGNyZWF0ZURyYWdJbWFnZUZvckxpbmsoVVJM
JiwgY29uc3QgU3RyaW5nJiwgRm9udFJlbmRlcmluZ01vZGUpCiB9CiAjZW5kaWYKIAorRHJhZ0lt
YWdlOjpEcmFnSW1hZ2UoKQorICAgIDogbV9kcmFnSW1hZ2VSZWYgeyBudWxscHRyIH0KK3sKK30K
KworRHJhZ0ltYWdlOjpEcmFnSW1hZ2UoRHJhZ0ltYWdlUmVmIGRyYWdJbWFnZVJlZikKKyAgICA6
IG1fZHJhZ0ltYWdlUmVmIHsgZHJhZ0ltYWdlUmVmIH0KK3sKK30KKworRHJhZ0ltYWdlOjpEcmFn
SW1hZ2UoRHJhZ0ltYWdlJiYgb3RoZXIpCisgICAgOiBtX2RyYWdJbWFnZVJlZiB7IHN0ZDo6ZXhj
aGFuZ2Uob3RoZXIubV9kcmFnSW1hZ2VSZWYsIG51bGxwdHIpIH0KK3sKK30KKworRHJhZ0ltYWdl
JiBEcmFnSW1hZ2U6Om9wZXJhdG9yPShEcmFnSW1hZ2UmJiBvdGhlcikKK3sKKyAgICBpZiAobV9k
cmFnSW1hZ2VSZWYpCisgICAgICAgIGRlbGV0ZURyYWdJbWFnZShtX2RyYWdJbWFnZVJlZik7CisK
KyAgICBtX2RyYWdJbWFnZVJlZiA9IHN0ZDo6ZXhjaGFuZ2Uob3RoZXIubV9kcmFnSW1hZ2VSZWYs
IG51bGxwdHIpOworCisgICAgcmV0dXJuICp0aGlzOworfQorCitEcmFnSW1hZ2U6On5EcmFnSW1h
Z2UoKQoreworICAgIGlmIChtX2RyYWdJbWFnZVJlZikKKyAgICAgICAgZGVsZXRlRHJhZ0ltYWdl
KG1fZHJhZ0ltYWdlUmVmKTsKK30KKwogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQogCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9EcmFnSW1hZ2UuaCBiL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL0RyYWdJbWFnZS5oCmluZGV4IGMzYjY2NWM2YjUyMDNlYjY3YTYyYmJiNTU0YzY2
Njk4MDFiODVlMjQuLjg0OGFkMmNlOWYwNzIwMzRhMmIyOWE2Y2MyYzkzZTljZjE5ZmY2YzUgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL0RyYWdJbWFnZS5oCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL0RyYWdJbWFnZS5oCkBAIC05MCw0ICs5MCwyMCBAQCBEcmFnSW1h
Z2VSZWYgY3JlYXRlRHJhZ0ltYWdlRm9ySW1hZ2UoRnJhbWUmLCBOb2RlJiwgSW50UmVjdCYgaW1h
Z2VSZWN0LCBJbnRSZWN0JgogRHJhZ0ltYWdlUmVmIGNyZWF0ZURyYWdJbWFnZUZvckxpbmsoVVJM
JiwgY29uc3QgU3RyaW5nJiBsYWJlbCwgRm9udFJlbmRlcmluZ01vZGUpOwogdm9pZCBkZWxldGVE
cmFnSW1hZ2UoRHJhZ0ltYWdlUmVmKTsKIAorY2xhc3MgRHJhZ0ltYWdlIGZpbmFsIHsKK3B1Ymxp
YzoKKyAgICBEcmFnSW1hZ2UoKTsKKyAgICBleHBsaWNpdCBEcmFnSW1hZ2UoRHJhZ0ltYWdlUmVm
KTsKKyAgICBEcmFnSW1hZ2UoRHJhZ0ltYWdlJiYpOworICAgIH5EcmFnSW1hZ2UoKTsKKworICAg
IERyYWdJbWFnZSYgb3BlcmF0b3I9KERyYWdJbWFnZSYmKTsKKworICAgIGV4cGxpY2l0IG9wZXJh
dG9yIGJvb2woKSBjb25zdCB7IHJldHVybiAhIW1fZHJhZ0ltYWdlUmVmOyB9CisgICAgY29uc3Qg
RHJhZ0ltYWdlUmVmIGdldCgpIGNvbnN0IHsgcmV0dXJuIG1fZHJhZ0ltYWdlUmVmOyB9CisKK3By
aXZhdGU6CisgICAgRHJhZ0ltYWdlUmVmIG1fZHJhZ0ltYWdlUmVmOworfTsKKwogfQpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vUGFzdGVib2FyZC5oIGIvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vUGFzdGVib2FyZC5oCmluZGV4IDA2YzNkZTc1ZWJjYWVjNTYxYjkxOGRlZDUx
MDg1YzhlNGFlYjdiNzcuLjllY2Q5ZmFjNmE3MDllMjE5NjgwNjRiNmZmOWE3MzkzZThiYTljY2Ug
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1Bhc3RlYm9hcmQuaAorKysgYi9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9QYXN0ZWJvYXJkLmgKQEAgLTIzLDggKzIzLDcgQEAKICAq
IE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0Yg
U1VDSCBEQU1BR0UuCiAgKi8KIAotI2lmbmRlZiBQYXN0ZWJvYXJkX2gKLSNkZWZpbmUgUGFzdGVi
b2FyZF9oCisjcHJhZ21hIG9uY2UKIAogI2luY2x1ZGUgIkRyYWdJbWFnZS5oIgogI2luY2x1ZGUg
IlVSTC5oIgpAQCAtMTgyLDcgKzE4MSw3IEBAIHB1YmxpYzoKICAgICBXRUJDT1JFX0VYUE9SVCBz
dGF0aWMgc3RkOjp1bmlxdWVfcHRyPFBhc3RlYm9hcmQ+IGNyZWF0ZUZvckRyYWdBbmREcm9wKCk7
CiAgICAgV0VCQ09SRV9FWFBPUlQgc3RhdGljIHN0ZDo6dW5pcXVlX3B0cjxQYXN0ZWJvYXJkPiBj
cmVhdGVGb3JEcmFnQW5kRHJvcChjb25zdCBEcmFnRGF0YSYpOwogCi0gICAgdmlydHVhbCB2b2lk
IHNldERyYWdJbWFnZShEcmFnSW1hZ2VSZWYsIGNvbnN0IEludFBvaW50JiBob3RTcG90KTsKKyAg
ICB2aXJ0dWFsIHZvaWQgc2V0RHJhZ0ltYWdlKERyYWdJbWFnZSwgY29uc3QgSW50UG9pbnQmIGhv
dFNwb3QpOwogI2VuZGlmCiAKICNpZiBQTEFURk9STShXSU4pCkBAIC0yNjIsNSArMjYxLDMgQEAg
aW5saW5lIFBhc3RlYm9hcmQ6On5QYXN0ZWJvYXJkKCkKICNlbmRpZgogCiB9IC8vIG5hbWVzcGFj
ZSBXZWJDb3JlCi0KLSNlbmRpZiAvLyBQYXN0ZWJvYXJkX2gKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL1N0YXRpY1Bhc3RlYm9hcmQuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL1N0YXRpY1Bhc3RlYm9hcmQuaAppbmRleCBkODY0NzkyZDMzY2ZjMWY2ZDcxNzI5YzI0YTRk
ZmY0MzhlYmIxNGM3Li5kZTcyYzA0ODJlZjhkYTA1NDFjNTEyYTgxYTNmYjEzY2MxYmZiMzE2IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9TdGF0aWNQYXN0ZWJvYXJkLmgKKysr
IGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vU3RhdGljUGFzdGVib2FyZC5oCkBAIC02Miw3ICs2
Miw3IEBAIHB1YmxpYzoKICAgICB2b2lkIHdyaXRlUGFzdGVib2FyZChjb25zdCBQYXN0ZWJvYXJk
JikgZmluYWwgeyB9CiAKICNpZiBFTkFCTEUoRFJBR19TVVBQT1JUKQotICAgIHZvaWQgc2V0RHJh
Z0ltYWdlKERyYWdJbWFnZVJlZiwgY29uc3QgSW50UG9pbnQmKSBmaW5hbCB7IH0KKyAgICB2b2lk
IHNldERyYWdJbWFnZShEcmFnSW1hZ2UsIGNvbnN0IEludFBvaW50JikgZmluYWwgeyB9CiAjZW5k
aWYKIAogcHJpdmF0ZToKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21hYy9Q
YXN0ZWJvYXJkTWFjLm1tIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWFjL1Bhc3RlYm9hcmRN
YWMubW0KaW5kZXggZWRiYzI5YTZkZjRkYmEyNTZkYmY1ZTMyYTA5MTcyZjYwYjgyMGZkNy4uN2Y5
Yjg1NzUwOTBiMzk3OGE4MTUyNTVjMjJmNjRjY2QwNWFjOTgwNSAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vbWFjL1Bhc3RlYm9hcmRNYWMubW0KKysrIGIvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vbWFjL1Bhc3RlYm9hcmRNYWMubW0KQEAgLTY2Myw3ICs2NjMsNyBAQCBWZWN0
b3I8U3RyaW5nPiBQYXN0ZWJvYXJkOjpyZWFkRmlsZW5hbWVzKCkKIH0KIAogI2lmIEVOQUJMRShE
UkFHX1NVUFBPUlQpCi12b2lkIFBhc3RlYm9hcmQ6OnNldERyYWdJbWFnZShEcmFnSW1hZ2VSZWYg
aW1hZ2UsIGNvbnN0IEludFBvaW50JiBsb2NhdGlvbikKK3ZvaWQgUGFzdGVib2FyZDo6c2V0RHJh
Z0ltYWdlKERyYWdJbWFnZSBpbWFnZSwgY29uc3QgSW50UG9pbnQmIGxvY2F0aW9uKQogewogICAg
IC8vIERvbid0IGFsbG93IHNldHRpbmcgdGhlIGRyYWcgaW1hZ2UgaWYgc29tZW9uZSBrZXB0IGEg
cGFzdGVib2FyZCBhbmQgaXMgdHJ5aW5nIHRvIHNldCB0aGUgaW1hZ2UgdG9vIGxhdGUuCiAgICAg
aWYgKG1fY2hhbmdlQ291bnQgIT0gcGxhdGZvcm1TdHJhdGVnaWVzKCktPnBhc3RlYm9hcmRTdHJh
dGVneSgpLT5jaGFuZ2VDb3VudChtX3Bhc3RlYm9hcmROYW1lKSkKQEAgLTY3MSw3ICs2NzEsNyBA
QCB2b2lkIFBhc3RlYm9hcmQ6OnNldERyYWdJbWFnZShEcmFnSW1hZ2VSZWYgaW1hZ2UsIGNvbnN0
IEludFBvaW50JiBsb2NhdGlvbikKIAogICAgIC8vIERhc2hib2FyZCB3YW50cyB0byBiZSBhYmxl
IHRvIHNldCB0aGUgZHJhZyBpbWFnZSBkdXJpbmcgZHJhZ2dpbmcsIGJ1dCBDb2NvYSBkb2VzIG5v
dCBhbGxvdyB0aGlzLgogICAgIC8vIEluc3RlYWQgd2UgbXVzdCBkcm9wIGRvd24gdG8gdGhlIENv
cmVHcmFwaGljcyBBUEkuCi0gICAgd2tTZXREcmFnSW1hZ2UoaW1hZ2UuZ2V0KCksIGxvY2F0aW9u
KTsKKyAgICB3a1NldERyYWdJbWFnZShpbWFnZS5nZXQoKS5nZXQoKSwgbG9jYXRpb24pOwogCiAg
ICAgLy8gSGFjazogV2UgbXVzdCBwb3N0IGFuIGV2ZW50IHRvIHdha2UgdXAgdGhlIE5TRHJhZ01h
bmFnZXIsIHdoaWNoIGlzIHNpdHRpbmcgaW4gYSBuZXh0RXZlbnQgY2FsbAogICAgIC8vIHVwIHRo
ZSBzdGFjayBmcm9tIHVzIGJlY2F1c2UgdGhlIENvcmVGb3VuZGF0aW9uIGRyYWcgbWFuYWdlciBk
b2VzIG5vdCB1c2UgdGhlIHJ1biBsb29wIGJ5IGl0c2VsZi4K
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>301180</attachid>
            <date>2017-02-10 10:59:42 -0800</date>
            <delta_ts>2017-02-10 14:20:38 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-168131-20170210105715.patch</filename>
            <type>text/plain</type>
            <size>20204</size>
            <attacher name="Anders Carlsson">andersca</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjExOTYxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMTliOTRiOGY1YzQ5ZDRl
NGNkN2I1ZjVjN2RlYTY5YzA4YjBhNTNkZS4uMTRiNmJkOTMwMjI5MWMwMjA3Y2E5ZTY0MzVjNjgz
ZmUyYWI3YzQzNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMwIEBACisyMDE3LTAyLTEwICBBbmRl
cnMgQ2FybHNzb24gIDxhbmRlcnNjYUBhcHBsZS5jb20+CisKKyAgICAgICAgQWRkIGEgRHJhZ0lt
YWdlIGNsYXNzIHRoYXQgd3JhcHMgYSBEcmFnSW1hZ2VSZWYKKyAgICAgICAgaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE2ODEzMQorCisgICAgICAgIFJldmlld2VkIGJ5
IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFRoaXMgYWxsb3dzIHVzIHRvIGdldCByaWQgb2Yg
dGhlIGV4cGxpY2l0IGRlbGV0ZURyYWdJbWFnZSBjYWxscyBhbmQgd2lsbCBtYWtlIGFkZGl0aW9u
YWwgY2xlYW51cCBvZiB0aGUKKyAgICAgICAgdmFyaW91cyBkcmFnIGNvZGUgcGF0aHMgcG9zc2li
bGUuIE5vIGZ1bmN0aW9uYWxpdHkgY2hhbmdlLgorCisgICAgICAgICogZG9tL0RhdGFUcmFuc2Zl
ci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpEYXRhVHJhbnNmZXI6OnVwZGF0ZURyYWdJbWFnZSk6
CisgICAgICAgICogcGFnZS9EcmFnQ29udHJvbGxlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpE
cmFnQ29udHJvbGxlcjo6c3RhcnREcmFnKToKKyAgICAgICAgKFdlYkNvcmU6OkRyYWdDb250cm9s
bGVyOjpkb0ltYWdlRHJhZyk6CisgICAgICAgIChXZWJDb3JlOjpEcmFnQ29udHJvbGxlcjo6ZG9T
eXN0ZW1EcmFnKToKKyAgICAgICAgKiBwYWdlL0RyYWdDb250cm9sbGVyLmg6CisgICAgICAgICog
cGxhdGZvcm0vRHJhZ0ltYWdlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkRyYWdJbWFnZTo6RHJh
Z0ltYWdlKToKKyAgICAgICAgKFdlYkNvcmU6OkRyYWdJbWFnZTo6b3BlcmF0b3I9KToKKyAgICAg
ICAgKFdlYkNvcmU6OkRyYWdJbWFnZTo6fkRyYWdJbWFnZSk6CisgICAgICAgICogcGxhdGZvcm0v
RHJhZ0ltYWdlLmg6CisgICAgICAgICogcGxhdGZvcm0vUGFzdGVib2FyZC5oOgorICAgICAgICAq
IHBsYXRmb3JtL1N0YXRpY1Bhc3RlYm9hcmQuaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9tYWMvUGFz
dGVib2FyZE1hYy5tbToKKyAgICAgICAgKFdlYkNvcmU6OlBhc3RlYm9hcmQ6OnNldERyYWdJbWFn
ZSk6CisKIDIwMTctMDItMDkgIEFudG9pbmUgUXVpbnQgIDxncmFvdXRzQGFwcGxlLmNvbT4KIAog
ICAgICAgICBbTW9kZXJuIE1lZGlhIENvbnRyb2xzXSBUYXBwaW5nIHRoZSBza2lwIGJhY2sgYnV0
dG9uIG9uIGlPUyBpbmxpbmUgbWVkaWEgY29udHJvbHMgbWFrZSB0aGUgY29udHJvbHMgZGlzYXBw
ZWFyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vRGF0YVRyYW5zZmVyLmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL2RvbS9EYXRhVHJhbnNmZXIuY3BwCmluZGV4IGFmNjlmYTBkMGM3NDI5MDBi
NWJkMDM1ZTliMGFlYWZkZTA2OWNmMTQuLjA4YTkxNDk4YjcwNDcxMGM2OTYzMWFmODU4ODVhNzdm
NjA2NjBmZTMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9EYXRhVHJhbnNmZXIuY3Bw
CisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9EYXRhVHJhbnNmZXIuY3BwCkBAIC0yODMsMTEgKzI4
MywxMSBAQCB2b2lkIERhdGFUcmFuc2Zlcjo6dXBkYXRlRHJhZ0ltYWdlKCkKICAgICAgICAgcmV0
dXJuOwogCiAgICAgSW50UG9pbnQgY29tcHV0ZWRIb3RTcG90OwotICAgIERyYWdJbWFnZVJlZiBj
b21wdXRlZEltYWdlID0gY3JlYXRlRHJhZ0ltYWdlKGNvbXB1dGVkSG90U3BvdCk7CisgICAgYXV0
byBjb21wdXRlZEltYWdlID0gRHJhZ0ltYWdlIHsgY3JlYXRlRHJhZ0ltYWdlKGNvbXB1dGVkSG90
U3BvdCkgfTsKICAgICBpZiAoIWNvbXB1dGVkSW1hZ2UpCiAgICAgICAgIHJldHVybjsKIAotICAg
IG1fcGFzdGVib2FyZC0+c2V0RHJhZ0ltYWdlKGNvbXB1dGVkSW1hZ2UsIGNvbXB1dGVkSG90U3Bv
dCk7CisgICAgbV9wYXN0ZWJvYXJkLT5zZXREcmFnSW1hZ2UoV1RGTW92ZShjb21wdXRlZEltYWdl
KSwgY29tcHV0ZWRIb3RTcG90KTsKIH0KIAogI2lmICFQTEFURk9STShNQUMpCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0RyYWdDb250cm9sbGVyLmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L3BhZ2UvRHJhZ0NvbnRyb2xsZXIuY3BwCmluZGV4IDkzZTQ4N2I3Yzc4MTZiZTYyNDIyNWU4NTM4
MmJmNGVlNDI3NjE5NTUuLjIxMDEyMTRlMDczZGRjYzQ2OGNmZTkxOTk4YTY1MjQ2MmE2ZWM1M2Ig
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRHJhZ0NvbnRyb2xsZXIuY3BwCisrKyBi
L1NvdXJjZS9XZWJDb3JlL3BhZ2UvRHJhZ0NvbnRyb2xsZXIuY3BwCkBAIC03NzIsMTEgKzc3Miwx
MyBAQCBib29sIERyYWdDb250cm9sbGVyOjpzdGFydERyYWcoRnJhbWUmIHNyYywgY29uc3QgRHJh
Z1N0YXRlJiBzdGF0ZSwgRHJhZ09wZXJhdGlvbgogICAgIGVsc2UKICAgICAgICAgc291cmNlQ29u
dGFpbnNIaXROb2RlID0gc3RhdGUuc291cmNlLT5jb250YWluc0luY2x1ZGluZ1NoYWRvd0RPTSho
aXRUZXN0UmVzdWx0LmlubmVyTm9kZSgpKTsKIAotICAgIGlmICghc291cmNlQ29udGFpbnNIaXRO
b2RlKQorICAgIGlmICghc291cmNlQ29udGFpbnNIaXROb2RlKSB7CiAgICAgICAgIC8vIFRoZSBv
cmlnaW5hbCBub2RlIGJlaW5nIGRyYWdnZWQgaXNuJ3QgdW5kZXIgdGhlIGRyYWcgb3JpZ2luIGFu
eW1vcmUuLi4gbWF5YmUgaXQgd2FzCiAgICAgICAgIC8vIGhpZGRlbiBvciBtb3ZlZCBvdXQgZnJv
bSB1bmRlciB0aGUgY3Vyc29yLiBSZWdhcmRsZXNzLCB3ZSBkb24ndCB3YW50IHRvIHN0YXJ0IGEg
ZHJhZyBvbgogICAgICAgICAvLyBzb21ldGhpbmcgdGhhdCdzIG5vdCBhY3R1YWxseSB1bmRlciB0
aGUgZHJhZyBvcmlnaW4uCiAgICAgICAgIHJldHVybiBmYWxzZTsKKyAgICB9CisKICAgICBVUkwg
bGlua1VSTCA9IGhpdFRlc3RSZXN1bHQuYWJzb2x1dGVMaW5rVVJMKCk7CiAgICAgVVJMIGltYWdl
VVJMID0gaGl0VGVzdFJlc3VsdC5hYnNvbHV0ZUltYWdlVVJMKCk7CiAjaWYgRU5BQkxFKEFUVEFD
SE1FTlRfRUxFTUVOVCkKQEAgLTc4OSw3ICs3OTEsNyBAQCBib29sIERyYWdDb250cm9sbGVyOjpz
dGFydERyYWcoRnJhbWUmIHNyYywgY29uc3QgRHJhZ1N0YXRlJiBzdGF0ZSwgRHJhZ09wZXJhdGlv
bgogICAgIG1fZHJhZ2dpbmdJbWFnZVVSTCA9IFVSTCgpOwogICAgIG1fc291cmNlRHJhZ09wZXJh
dGlvbiA9IHNyY09wOwogCi0gICAgRHJhZ0ltYWdlUmVmIGRyYWdJbWFnZSA9IG51bGxwdHI7Cisg
ICAgRHJhZ0ltYWdlIGRyYWdJbWFnZTsKICAgICBJbnRQb2ludCBkcmFnTG9jKDAsIDApOwogICAg
IEludFBvaW50IGRyYWdJbWFnZU9mZnNldCgwLCAwKTsKIApAQCAtNzk3LDcgKzc5OSw3IEBAIGJv
b2wgRHJhZ0NvbnRyb2xsZXI6OnN0YXJ0RHJhZyhGcmFtZSYgc3JjLCBjb25zdCBEcmFnU3RhdGUm
IHN0YXRlLCBEcmFnT3BlcmF0aW9uCiAKICAgICBEYXRhVHJhbnNmZXImIGRhdGFUcmFuc2ZlciA9
ICpzdGF0ZS5kYXRhVHJhbnNmZXI7CiAgICAgaWYgKHN0YXRlLnR5cGUgPT0gRHJhZ1NvdXJjZUFj
dGlvbkRIVE1MKQotICAgICAgICBkcmFnSW1hZ2UgPSBkYXRhVHJhbnNmZXIuY3JlYXRlRHJhZ0lt
YWdlKGRyYWdJbWFnZU9mZnNldCk7CisgICAgICAgIGRyYWdJbWFnZSA9IERyYWdJbWFnZSB7IGRh
dGFUcmFuc2Zlci5jcmVhdGVEcmFnSW1hZ2UoZHJhZ0ltYWdlT2Zmc2V0KSB9OwogICAgIGlmIChz
dGF0ZS50eXBlID09IERyYWdTb3VyY2VBY3Rpb25TZWxlY3Rpb24gfHwgIWltYWdlVVJMLmlzRW1w
dHkoKSB8fCAhbGlua1VSTC5pc0VtcHR5KCkpCiAgICAgICAgIC8vIFNlbGVjdGlvbiwgaW1hZ2Us
IGFuZCBsaW5rIGRyYWdzIHJlY2VpdmUgYSBkZWZhdWx0IHNldCBvZiBhbGxvd2VkIGRyYWcgb3Bl
cmF0aW9ucyB0aGF0CiAgICAgICAgIC8vIGZvbGxvd3MgZnJvbToKQEAgLTg1MCw3ICs4NTIsNyBA
QCBib29sIERyYWdDb250cm9sbGVyOjpzdGFydERyYWcoRnJhbWUmIHNyYywgY29uc3QgRHJhZ1N0
YXRlJiBzdGF0ZSwgRHJhZ09wZXJhdGlvbgogICAgICAgICB9CiAgICAgICAgIG1fY2xpZW50Lndp
bGxQZXJmb3JtRHJhZ1NvdXJjZUFjdGlvbihEcmFnU291cmNlQWN0aW9uU2VsZWN0aW9uLCBkcmFn
T3JpZ2luLCBkYXRhVHJhbnNmZXIpOwogICAgICAgICBpZiAoIWRyYWdJbWFnZSkgewotICAgICAg
ICAgICAgZHJhZ0ltYWdlID0gZGlzc29sdmVEcmFnSW1hZ2VUb0ZyYWN0aW9uKGNyZWF0ZURyYWdJ
bWFnZUZvclNlbGVjdGlvbihzcmMpLCBEcmFnSW1hZ2VBbHBoYSk7CisgICAgICAgICAgICBkcmFn
SW1hZ2UgPSBEcmFnSW1hZ2UgeyBkaXNzb2x2ZURyYWdJbWFnZVRvRnJhY3Rpb24oY3JlYXRlRHJh
Z0ltYWdlRm9yU2VsZWN0aW9uKHNyYyksIERyYWdJbWFnZUFscGhhKSB9OwogICAgICAgICAgICAg
ZHJhZ0xvYyA9IGRyYWdMb2NGb3JTZWxlY3Rpb25EcmFnKHNyYyk7CiAgICAgICAgICAgICBtX2Ry
YWdPZmZzZXQgPSBJbnRQb2ludChkcmFnT3JpZ2luLngoKSAtIGRyYWdMb2MueCgpLCBkcmFnT3Jp
Z2luLnkoKSAtIGRyYWdMb2MueSgpKTsKICAgICAgICAgfQpAQCAtODU4LDcgKzg2MCw3IEBAIGJv
b2wgRHJhZ0NvbnRyb2xsZXI6OnN0YXJ0RHJhZyhGcmFtZSYgc3JjLCBjb25zdCBEcmFnU3RhdGUm
IHN0YXRlLCBEcmFnT3BlcmF0aW9uCiAgICAgICAgIGlmICghZHJhZ0ltYWdlKQogICAgICAgICAg
ICAgcmV0dXJuIGZhbHNlOwogCi0gICAgICAgIGRvU3lzdGVtRHJhZyhkcmFnSW1hZ2UsIGRyYWdM
b2MsIGRyYWdPcmlnaW4sIGRyYWdJbWFnZUJvdW5kcywgZGF0YVRyYW5zZmVyLCBzcmMsIGZhbHNl
KTsKKyAgICAgICAgZG9TeXN0ZW1EcmFnKFdURk1vdmUoZHJhZ0ltYWdlKSwgZHJhZ0xvYywgZHJh
Z09yaWdpbiwgZHJhZ0ltYWdlQm91bmRzLCBkYXRhVHJhbnNmZXIsIHNyYywgZmFsc2UpOwogICAg
IH0gZWxzZSBpZiAoIXNyYy5kb2N1bWVudCgpLT5zZWN1cml0eU9yaWdpbigpLmNhbkRpc3BsYXko
bGlua1VSTCkpIHsKICAgICAgICAgc3JjLmRvY3VtZW50KCktPmFkZENvbnNvbGVNZXNzYWdlKE1l
c3NhZ2VTb3VyY2U6OlNlY3VyaXR5LCBNZXNzYWdlTGV2ZWw6OkVycm9yLCAiTm90IGFsbG93ZWQg
dG8gZHJhZyBsb2NhbCByZXNvdXJjZTogIiArIGxpbmtVUkwuc3RyaW5nQ2VudGVyRWxsaXBzaXpl
ZFRvTGVuZ3RoKCkpOwogICAgICAgICBzdGFydGVkRHJhZyA9IGZhbHNlOwpAQCAtODgxLDcgKzg4
Myw3IEBAIGJvb2wgRHJhZ0NvbnRyb2xsZXI6OnN0YXJ0RHJhZyhGcmFtZSYgc3JjLCBjb25zdCBE
cmFnU3RhdGUmIHN0YXRlLCBEcmFnT3BlcmF0aW9uCiAgICAgICAgICAgICBkb0ltYWdlRHJhZyhl
bGVtZW50LCBkcmFnT3JpZ2luLCBoaXRUZXN0UmVzdWx0LmltYWdlUmVjdCgpLCBkYXRhVHJhbnNm
ZXIsIHNyYywgbV9kcmFnT2Zmc2V0KTsKICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgIC8v
IERIVE1MIGRlZmluZWQgZHJhZyBpbWFnZQotICAgICAgICAgICAgZG9TeXN0ZW1EcmFnKGRyYWdJ
bWFnZSwgZHJhZ0xvYywgZHJhZ09yaWdpbiwgeyB9LCBkYXRhVHJhbnNmZXIsIHNyYywgZmFsc2Up
OworICAgICAgICAgICAgZG9TeXN0ZW1EcmFnKFdURk1vdmUoZHJhZ0ltYWdlKSwgZHJhZ0xvYywg
ZHJhZ09yaWdpbiwgeyB9LCBkYXRhVHJhbnNmZXIsIHNyYywgZmFsc2UpOwogICAgICAgICB9CiAg
ICAgfSBlbHNlIGlmICghbGlua1VSTC5pc0VtcHR5KCkgJiYgKG1fZHJhZ1NvdXJjZUFjdGlvbiAm
IERyYWdTb3VyY2VBY3Rpb25MaW5rKSkgewogICAgICAgICBpZiAoIWRhdGFUcmFuc2Zlci5wYXN0
ZWJvYXJkKCkuaGFzRGF0YSgpKSB7CkBAIC05MTAsMTQgKzkxMiwxNCBAQCBib29sIERyYWdDb250
cm9sbGVyOjpzdGFydERyYWcoRnJhbWUmIHNyYywgY29uc3QgRHJhZ1N0YXRlJiBzdGF0ZSwgRHJh
Z09wZXJhdGlvbgogCiAgICAgICAgIG1fY2xpZW50LndpbGxQZXJmb3JtRHJhZ1NvdXJjZUFjdGlv
bihEcmFnU291cmNlQWN0aW9uTGluaywgZHJhZ09yaWdpbiwgZGF0YVRyYW5zZmVyKTsKICAgICAg
ICAgaWYgKCFkcmFnSW1hZ2UpIHsKLSAgICAgICAgICAgIGRyYWdJbWFnZSA9IGNyZWF0ZURyYWdJ
bWFnZUZvckxpbmsobGlua1VSTCwgaGl0VGVzdFJlc3VsdC50ZXh0Q29udGVudCgpLCBzcmMuc2V0
dGluZ3MoKS5mb250UmVuZGVyaW5nTW9kZSgpKTsKLSAgICAgICAgICAgIEludFNpemUgc2l6ZSA9
IGRyYWdJbWFnZVNpemUoZHJhZ0ltYWdlKTsKKyAgICAgICAgICAgIGRyYWdJbWFnZSA9IERyYWdJ
bWFnZSB7IGNyZWF0ZURyYWdJbWFnZUZvckxpbmsobGlua1VSTCwgaGl0VGVzdFJlc3VsdC50ZXh0
Q29udGVudCgpLCBzcmMuc2V0dGluZ3MoKS5mb250UmVuZGVyaW5nTW9kZSgpKSB9OworICAgICAg
ICAgICAgSW50U2l6ZSBzaXplID0gZHJhZ0ltYWdlU2l6ZShkcmFnSW1hZ2UuZ2V0KCkpOwogICAg
ICAgICAgICAgbV9kcmFnT2Zmc2V0ID0gSW50UG9pbnQoLXNpemUud2lkdGgoKSAvIDIsIC1MaW5r
RHJhZ0JvcmRlckluc2V0KTsKICAgICAgICAgICAgIGRyYWdMb2MgPSBJbnRQb2ludChtb3VzZURy
YWdnZWRQb2ludC54KCkgKyBtX2RyYWdPZmZzZXQueCgpLCBtb3VzZURyYWdnZWRQb2ludC55KCkg
KyBtX2RyYWdPZmZzZXQueSgpKTsKICAgICAgICAgICAgIC8vIExhdGVyIGNvZGUgZXhwZWN0cyB0
aGUgZHJhZyBpbWFnZSB0byBiZSBzY2FsZWQgYnkgZGV2aWNlJ3Mgc2NhbGUgZmFjdG9yLgotICAg
ICAgICAgICAgZHJhZ0ltYWdlID0gc2NhbGVEcmFnSW1hZ2UoZHJhZ0ltYWdlLCBGbG9hdFNpemUo
bV9wYWdlLmRldmljZVNjYWxlRmFjdG9yKCksIG1fcGFnZS5kZXZpY2VTY2FsZUZhY3RvcigpKSk7
CisgICAgICAgICAgICBkcmFnSW1hZ2UgPSBEcmFnSW1hZ2UgeyBzY2FsZURyYWdJbWFnZShkcmFn
SW1hZ2UuZ2V0KCksIEZsb2F0U2l6ZShtX3BhZ2UuZGV2aWNlU2NhbGVGYWN0b3IoKSwgbV9wYWdl
LmRldmljZVNjYWxlRmFjdG9yKCkpKSB9OwogICAgICAgICB9Ci0gICAgICAgIGRvU3lzdGVtRHJh
ZyhkcmFnSW1hZ2UsIGRyYWdMb2MsIG1vdXNlRHJhZ2dlZFBvaW50LCB7IH0sIGRhdGFUcmFuc2Zl
ciwgc3JjLCB0cnVlKTsKKyAgICAgICAgZG9TeXN0ZW1EcmFnKFdURk1vdmUoZHJhZ0ltYWdlKSwg
ZHJhZ0xvYywgbW91c2VEcmFnZ2VkUG9pbnQsIHsgfSwgZGF0YVRyYW5zZmVyLCBzcmMsIHRydWUp
OwogI2lmIEVOQUJMRShBVFRBQ0hNRU5UX0VMRU1FTlQpCiAgICAgfSBlbHNlIGlmICghYXR0YWNo
bWVudFVSTC5pc0VtcHR5KCkgJiYgKG1fZHJhZ1NvdXJjZUFjdGlvbiAmIERyYWdTb3VyY2VBY3Rp
b25BdHRhY2htZW50KSkgewogICAgICAgICBpZiAoIWRhdGFUcmFuc2Zlci5wYXN0ZWJvYXJkKCku
aGFzRGF0YSgpKSB7CkBAIC05MjksMTcgKzkzMSwxNyBAQCBib29sIERyYWdDb250cm9sbGVyOjpz
dGFydERyYWcoRnJhbWUmIHNyYywgY29uc3QgRHJhZ1N0YXRlJiBzdGF0ZSwgRHJhZ09wZXJhdGlv
bgogICAgICAgICBtX2NsaWVudC53aWxsUGVyZm9ybURyYWdTb3VyY2VBY3Rpb24oRHJhZ1NvdXJj
ZUFjdGlvbkF0dGFjaG1lbnQsIGRyYWdPcmlnaW4sIGRhdGFUcmFuc2Zlcik7CiAgICAgICAgIAog
ICAgICAgICBpZiAoIWRyYWdJbWFnZSkgewotICAgICAgICAgICAgZHJhZ0ltYWdlID0gZGlzc29s
dmVEcmFnSW1hZ2VUb0ZyYWN0aW9uKGNyZWF0ZURyYWdJbWFnZUZvclNlbGVjdGlvbihzcmMpLCBE
cmFnSW1hZ2VBbHBoYSk7CisgICAgICAgICAgICBkcmFnSW1hZ2UgPSBEcmFnSW1hZ2UgeyBkaXNz
b2x2ZURyYWdJbWFnZVRvRnJhY3Rpb24oY3JlYXRlRHJhZ0ltYWdlRm9yU2VsZWN0aW9uKHNyYyks
IERyYWdJbWFnZUFscGhhKSB9OwogICAgICAgICAgICAgZHJhZ0xvYyA9IGRyYWdMb2NGb3JTZWxl
Y3Rpb25EcmFnKHNyYyk7CiAgICAgICAgICAgICBtX2RyYWdPZmZzZXQgPSBJbnRQb2ludChkcmFn
T3JpZ2luLngoKSAtIGRyYWdMb2MueCgpLCBkcmFnT3JpZ2luLnkoKSAtIGRyYWdMb2MueSgpKTsK
ICAgICAgICAgfQotICAgICAgICBkb1N5c3RlbURyYWcoZHJhZ0ltYWdlLCBkcmFnTG9jLCBkcmFn
T3JpZ2luLCB7IH0sIGRhdGFUcmFuc2Zlciwgc3JjLCBmYWxzZSk7CisgICAgICAgIGRvU3lzdGVt
RHJhZyhXVEZNb3ZlKGRyYWdJbWFnZSksIGRyYWdMb2MsIGRyYWdPcmlnaW4sIHsgfSwgZGF0YVRy
YW5zZmVyLCBzcmMsIGZhbHNlKTsKICNlbmRpZgogICAgIH0gZWxzZSBpZiAoc3RhdGUudHlwZSA9
PSBEcmFnU291cmNlQWN0aW9uREhUTUwpIHsKICAgICAgICAgaWYgKGRyYWdJbWFnZSkgewogICAg
ICAgICAgICAgQVNTRVJUKG1fZHJhZ1NvdXJjZUFjdGlvbiAmIERyYWdTb3VyY2VBY3Rpb25ESFRN
TCk7CiAgICAgICAgICAgICBtX2NsaWVudC53aWxsUGVyZm9ybURyYWdTb3VyY2VBY3Rpb24oRHJh
Z1NvdXJjZUFjdGlvbkRIVE1MLCBkcmFnT3JpZ2luLCBkYXRhVHJhbnNmZXIpOwotICAgICAgICAg
ICAgZG9TeXN0ZW1EcmFnKGRyYWdJbWFnZSwgZHJhZ0xvYywgZHJhZ09yaWdpbiwgeyB9LCBkYXRh
VHJhbnNmZXIsIHNyYywgZmFsc2UpOworICAgICAgICAgICAgZG9TeXN0ZW1EcmFnKFdURk1vdmUo
ZHJhZ0ltYWdlKSwgZHJhZ0xvYywgZHJhZ09yaWdpbiwgeyB9LCBkYXRhVHJhbnNmZXIsIHNyYywg
ZmFsc2UpOwogICAgICAgICB9IGVsc2UKICAgICAgICAgICAgIHN0YXJ0ZWREcmFnID0gZmFsc2U7
CiAgICAgfSBlbHNlIHsKQEAgLTk0OCwxNSArOTUwLDEzIEBAIGJvb2wgRHJhZ0NvbnRyb2xsZXI6
OnN0YXJ0RHJhZyhGcmFtZSYgc3JjLCBjb25zdCBEcmFnU3RhdGUmIHN0YXRlLCBEcmFnT3BlcmF0
aW9uCiAgICAgICAgIHN0YXJ0ZWREcmFnID0gZmFsc2U7CiAgICAgfQogCi0gICAgaWYgKGRyYWdJ
bWFnZSkKLSAgICAgICAgZGVsZXRlRHJhZ0ltYWdlKGRyYWdJbWFnZSk7CiAgICAgcmV0dXJuIHN0
YXJ0ZWREcmFnOwogfQogCiB2b2lkIERyYWdDb250cm9sbGVyOjpkb0ltYWdlRHJhZyhFbGVtZW50
JiBlbGVtZW50LCBjb25zdCBJbnRQb2ludCYgZHJhZ09yaWdpbiwgY29uc3QgSW50UmVjdCYgbGF5
b3V0UmVjdCwgRGF0YVRyYW5zZmVyJiBkYXRhVHJhbnNmZXIsIEZyYW1lJiBmcmFtZSwgSW50UG9p
bnQmIGRyYWdJbWFnZU9mZnNldCkKIHsKICAgICBJbnRQb2ludCBtb3VzZURvd25Qb2ludCA9IGRy
YWdPcmlnaW47Ci0gICAgRHJhZ0ltYWdlUmVmIGRyYWdJbWFnZSA9IG51bGxwdHI7CisgICAgRHJh
Z0ltYWdlIGRyYWdJbWFnZTsKICAgICBJbnRQb2ludCBzY2FsZWRPcmlnaW47CiAKICAgICBpZiAo
IWVsZW1lbnQucmVuZGVyZXIoKSkKQEAgLTk2NiwxMyArOTY2LDEzIEBAIHZvaWQgRHJhZ0NvbnRy
b2xsZXI6OmRvSW1hZ2VEcmFnKEVsZW1lbnQmIGVsZW1lbnQsIGNvbnN0IEludFBvaW50JiBkcmFn
T3JpZ2luLCBjCiAKICAgICBJbWFnZSogaW1hZ2UgPSBnZXRJbWFnZShlbGVtZW50KTsKICAgICBp
ZiAoaW1hZ2UgJiYgaW1hZ2UtPnNpemUoKS5oZWlnaHQoKSAqIGltYWdlLT5zaXplKCkud2lkdGgo
KSA8PSBNYXhPcmlnaW5hbEltYWdlQXJlYQotICAgICAgICAmJiAoZHJhZ0ltYWdlID0gY3JlYXRl
RHJhZ0ltYWdlRnJvbUltYWdlKGltYWdlLCBlbGVtZW50LnJlbmRlcmVyKCkgPyBvcmllbnRhdGlv
bkRlc2NyaXB0aW9uIDogSW1hZ2VPcmllbnRhdGlvbkRlc2NyaXB0aW9uKCkpKSkgeworICAgICAg
ICAmJiAoZHJhZ0ltYWdlID0gRHJhZ0ltYWdlIHsgY3JlYXRlRHJhZ0ltYWdlRnJvbUltYWdlKGlt
YWdlLCBlbGVtZW50LnJlbmRlcmVyKCkgPyBvcmllbnRhdGlvbkRlc2NyaXB0aW9uIDogSW1hZ2VP
cmllbnRhdGlvbkRlc2NyaXB0aW9uKCkpIH0pKSB7CiAKLSAgICAgICAgZHJhZ0ltYWdlID0gZml0
RHJhZ0ltYWdlVG9NYXhTaXplKGRyYWdJbWFnZSwgbGF5b3V0UmVjdC5zaXplKCksIG1heERyYWdJ
bWFnZVNpemUoKSk7Ci0gICAgICAgIEludFNpemUgZml0dGVkU2l6ZSA9IGRyYWdJbWFnZVNpemUo
ZHJhZ0ltYWdlKTsKKyAgICAgICAgZHJhZ0ltYWdlID0gRHJhZ0ltYWdlIHsgZml0RHJhZ0ltYWdl
VG9NYXhTaXplKGRyYWdJbWFnZS5nZXQoKSwgbGF5b3V0UmVjdC5zaXplKCksIG1heERyYWdJbWFn
ZVNpemUoKSkgfTsKKyAgICAgICAgSW50U2l6ZSBmaXR0ZWRTaXplID0gZHJhZ0ltYWdlU2l6ZShk
cmFnSW1hZ2UuZ2V0KCkpOwogCi0gICAgICAgIGRyYWdJbWFnZSA9IHNjYWxlRHJhZ0ltYWdlKGRy
YWdJbWFnZSwgRmxvYXRTaXplKG1fcGFnZS5kZXZpY2VTY2FsZUZhY3RvcigpLCBtX3BhZ2UuZGV2
aWNlU2NhbGVGYWN0b3IoKSkpOwotICAgICAgICBkcmFnSW1hZ2UgPSBkaXNzb2x2ZURyYWdJbWFn
ZVRvRnJhY3Rpb24oZHJhZ0ltYWdlLCBEcmFnSW1hZ2VBbHBoYSk7CisgICAgICAgIGRyYWdJbWFn
ZSA9IERyYWdJbWFnZSB7IHNjYWxlRHJhZ0ltYWdlKGRyYWdJbWFnZS5nZXQoKSwgRmxvYXRTaXpl
KG1fcGFnZS5kZXZpY2VTY2FsZUZhY3RvcigpLCBtX3BhZ2UuZGV2aWNlU2NhbGVGYWN0b3IoKSkp
IH07CisgICAgICAgIGRyYWdJbWFnZSA9IERyYWdJbWFnZSB7IGRpc3NvbHZlRHJhZ0ltYWdlVG9G
cmFjdGlvbihkcmFnSW1hZ2UuZ2V0KCksIERyYWdJbWFnZUFscGhhKSB9OwogCiAgICAgICAgIC8v
IFByb3Blcmx5IG9yaWVudCB0aGUgZHJhZyBpbWFnZSBhbmQgb3JpZW50IGl0IGRpZmZlcmVudGx5
IGlmIGl0J3Mgc21hbGxlciB0aGFuIHRoZSBvcmlnaW5hbC4KICAgICAgICAgZmxvYXQgc2NhbGUg
PSBmaXR0ZWRTaXplLndpZHRoKCkgLyAoZmxvYXQpbGF5b3V0UmVjdC53aWR0aCgpOwpAQCAtOTg2
LDkgKzk4Niw5IEBAIHZvaWQgRHJhZ0NvbnRyb2xsZXI6OmRvSW1hZ2VEcmFnKEVsZW1lbnQmIGVs
ZW1lbnQsIGNvbnN0IEludFBvaW50JiBkcmFnT3JpZ2luLCBjCiAgICAgICAgIHNjYWxlZE9yaWdp
biA9IEludFBvaW50KChpbnQpKGR4ICsgMC41KSwgKGludCkoZHkgKyAwLjUpKTsKICAgICB9IGVs
c2UgewogICAgICAgICBpZiAoQ2FjaGVkSW1hZ2UqIGNhY2hlZEltYWdlID0gZ2V0Q2FjaGVkSW1h
Z2UoZWxlbWVudCkpIHsKLSAgICAgICAgICAgIGRyYWdJbWFnZSA9IGNyZWF0ZURyYWdJbWFnZUlj
b25Gb3JDYWNoZWRJbWFnZUZpbGVuYW1lKGNhY2hlZEltYWdlLT5yZXNwb25zZSgpLnN1Z2dlc3Rl
ZEZpbGVuYW1lKCkpOworICAgICAgICAgICAgZHJhZ0ltYWdlID0gRHJhZ0ltYWdlIHsgY3JlYXRl
RHJhZ0ltYWdlSWNvbkZvckNhY2hlZEltYWdlRmlsZW5hbWUoY2FjaGVkSW1hZ2UtPnJlc3BvbnNl
KCkuc3VnZ2VzdGVkRmlsZW5hbWUoKSkgfTsKICAgICAgICAgICAgIGlmIChkcmFnSW1hZ2UpCi0g
ICAgICAgICAgICAgICAgc2NhbGVkT3JpZ2luID0gSW50UG9pbnQoRHJhZ0ljb25SaWdodEluc2V0
IC0gZHJhZ0ltYWdlU2l6ZShkcmFnSW1hZ2UpLndpZHRoKCksIERyYWdJY29uQm90dG9tSW5zZXQp
OworICAgICAgICAgICAgICAgIHNjYWxlZE9yaWdpbiA9IEludFBvaW50KERyYWdJY29uUmlnaHRJ
bnNldCAtIGRyYWdJbWFnZVNpemUoZHJhZ0ltYWdlLmdldCgpKS53aWR0aCgpLCBEcmFnSWNvbkJv
dHRvbUluc2V0KTsKICAgICAgICAgfQogICAgIH0KIApAQCAtOTk2LDEyICs5OTYsMTAgQEAgdm9p
ZCBEcmFnQ29udHJvbGxlcjo6ZG9JbWFnZURyYWcoRWxlbWVudCYgZWxlbWVudCwgY29uc3QgSW50
UG9pbnQmIGRyYWdPcmlnaW4sIGMKICAgICAgICAgcmV0dXJuOwogCiAgICAgZHJhZ0ltYWdlT2Zm
c2V0ID0gbW91c2VEb3duUG9pbnQgKyBzY2FsZWRPcmlnaW47Ci0gICAgZG9TeXN0ZW1EcmFnKGRy
YWdJbWFnZSwgZHJhZ0ltYWdlT2Zmc2V0LCBkcmFnT3JpZ2luLCBlbGVtZW50LmJvdW5kc0luUm9v
dFZpZXdTcGFjZSgpLCBkYXRhVHJhbnNmZXIsIGZyYW1lLCBmYWxzZSk7Ci0KLSAgICBkZWxldGVE
cmFnSW1hZ2UoZHJhZ0ltYWdlKTsKKyAgICBkb1N5c3RlbURyYWcoV1RGTW92ZShkcmFnSW1hZ2Up
LCBkcmFnSW1hZ2VPZmZzZXQsIGRyYWdPcmlnaW4sIGVsZW1lbnQuYm91bmRzSW5Sb290Vmlld1Nw
YWNlKCksIGRhdGFUcmFuc2ZlciwgZnJhbWUsIGZhbHNlKTsKIH0KIAotdm9pZCBEcmFnQ29udHJv
bGxlcjo6ZG9TeXN0ZW1EcmFnKERyYWdJbWFnZVJlZiBpbWFnZSwgY29uc3QgSW50UG9pbnQmIGRy
YWdMb2MsIGNvbnN0IEludFBvaW50JiBldmVudFBvcywgY29uc3QgSW50UmVjdCYgZHJhZ0ltYWdl
Qm91bmRzLCBEYXRhVHJhbnNmZXImIGRhdGFUcmFuc2ZlciwgRnJhbWUmIGZyYW1lLCBib29sIGZv
ckxpbmspCit2b2lkIERyYWdDb250cm9sbGVyOjpkb1N5c3RlbURyYWcoRHJhZ0ltYWdlIGltYWdl
LCBjb25zdCBJbnRQb2ludCYgZHJhZ0xvYywgY29uc3QgSW50UG9pbnQmIGV2ZW50UG9zLCBjb25z
dCBJbnRSZWN0JiBkcmFnSW1hZ2VCb3VuZHMsIERhdGFUcmFuc2ZlciYgZGF0YVRyYW5zZmVyLCBG
cmFtZSYgZnJhbWUsIGJvb2wgZm9yTGluaykKIHsKICAgICBGbG9hdFBvaW50IGRyYWdJbWFnZUFu
Y2hvciA9IHsgMC41LCAwLjUgfTsKICAgICBpZiAoIWRyYWdJbWFnZUJvdW5kcy5pc0VtcHR5KCkp
IHsKQEAgLTEwMTQsNyArMTAxMiw3IEBAIHZvaWQgRHJhZ0NvbnRyb2xsZXI6OmRvU3lzdGVtRHJh
ZyhEcmFnSW1hZ2VSZWYgaW1hZ2UsIGNvbnN0IEludFBvaW50JiBkcmFnTG9jLCBjCiAgICAgLy8g
UHJvdGVjdCB0aGlzIGZyYW1lIGFuZCB2aWV3LCBhcyBhIGxvYWQgbWF5IG9jY3VyIG1pZCBkcmFn
IGFuZCBhdHRlbXB0IHRvIHVubG9hZCB0aGlzIGZyYW1lCiAgICAgUmVmPE1haW5GcmFtZT4gZnJh
bWVQcm90ZWN0b3IobV9wYWdlLm1haW5GcmFtZSgpKTsKICAgICBSZWZQdHI8RnJhbWVWaWV3PiB2
aWV3UHJvdGVjdG9yID0gZnJhbWVQcm90ZWN0b3ItPnZpZXcoKTsKLSAgICBtX2NsaWVudC5zdGFy
dERyYWcoaW1hZ2UsIHZpZXdQcm90ZWN0b3ItPnJvb3RWaWV3VG9Db250ZW50cyhmcmFtZS52aWV3
KCktPmNvbnRlbnRzVG9Sb290VmlldyhkcmFnTG9jKSksIHZpZXdQcm90ZWN0b3ItPnJvb3RWaWV3
VG9Db250ZW50cyhmcmFtZS52aWV3KCktPmNvbnRlbnRzVG9Sb290VmlldyhldmVudFBvcykpLCBk
cmFnSW1hZ2VBbmNob3IsIGRhdGFUcmFuc2ZlciwgZnJhbWVQcm90ZWN0b3IuZ2V0KCksIGZvckxp
bmspOworICAgIG1fY2xpZW50LnN0YXJ0RHJhZyhpbWFnZS5nZXQoKSwgdmlld1Byb3RlY3Rvci0+
cm9vdFZpZXdUb0NvbnRlbnRzKGZyYW1lLnZpZXcoKS0+Y29udGVudHNUb1Jvb3RWaWV3KGRyYWdM
b2MpKSwgdmlld1Byb3RlY3Rvci0+cm9vdFZpZXdUb0NvbnRlbnRzKGZyYW1lLnZpZXcoKS0+Y29u
dGVudHNUb1Jvb3RWaWV3KGV2ZW50UG9zKSksIGRyYWdJbWFnZUFuY2hvciwgZGF0YVRyYW5zZmVy
LCBmcmFtZVByb3RlY3Rvci5nZXQoKSwgZm9yTGluayk7CiAgICAgLy8gRHJhZ0NsaWVudDo6c3Rh
cnREcmFnIGNhbiBjYXVzZSBvdXIgUGFnZSB0byBkaXNwZWFyLCBkZWFsbG9jYXRpbmcgfHRoaXN8
LgogICAgIGlmICghZnJhbWVQcm90ZWN0b3ItPnBhZ2UoKSkKICAgICAgICAgcmV0dXJuOwpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9EcmFnQ29udHJvbGxlci5oIGIvU291cmNlL1dl
YkNvcmUvcGFnZS9EcmFnQ29udHJvbGxlci5oCmluZGV4IDc4MjEwNGYyZDZiYWVlNDQ0OTRjOGQ5
MGE2MzRiZDZhZDg3NjQ0ZGYuLmQ3MWY0MjQ5N2Y4NmUwYzI2ZjVjYjIwZDQyYTAwMDQ4NDU0MTQw
NzIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRHJhZ0NvbnRyb2xsZXIuaAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0RyYWdDb250cm9sbGVyLmgKQEAgLTExMiw3ICsxMTIsNyBA
QCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgICAgIHZvaWQgbW91c2VNb3ZlZEludG9Eb2N1bWVu
dChEb2N1bWVudCopOwogCiAgICAgICAgIHZvaWQgZG9JbWFnZURyYWcoRWxlbWVudCYsIGNvbnN0
IEludFBvaW50JiwgY29uc3QgSW50UmVjdCYsIERhdGFUcmFuc2ZlciYsIEZyYW1lJiwgSW50UG9p
bnQmKTsKLSAgICAgICAgdm9pZCBkb1N5c3RlbURyYWcoRHJhZ0ltYWdlUmVmLCBjb25zdCBJbnRQ
b2ludCYsIGNvbnN0IEludFBvaW50JiwgY29uc3QgSW50UmVjdCYgZHJhZ0ltYWdlQm91bmRzLCBE
YXRhVHJhbnNmZXImLCBGcmFtZSYsIGJvb2wgZm9yTGluayk7CisgICAgICAgIHZvaWQgZG9TeXN0
ZW1EcmFnKERyYWdJbWFnZSwgY29uc3QgSW50UG9pbnQmLCBjb25zdCBJbnRQb2ludCYsIGNvbnN0
IEludFJlY3QmIGRyYWdJbWFnZUJvdW5kcywgRGF0YVRyYW5zZmVyJiwgRnJhbWUmLCBib29sIGZv
ckxpbmspOwogICAgICAgICB2b2lkIGNsZWFudXBBZnRlclN5c3RlbURyYWcoKTsKICAgICAgICAg
dm9pZCBkZWNsYXJlQW5kV3JpdGVEcmFnSW1hZ2UoRGF0YVRyYW5zZmVyJiwgRWxlbWVudCYsIGNv
bnN0IFVSTCYsIGNvbnN0IFN0cmluZyYgbGFiZWwpOwogI2lmIEVOQUJMRShBVFRBQ0hNRU5UX0VM
RU1FTlQpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9EcmFnSW1hZ2UuY3Bw
IGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vRHJhZ0ltYWdlLmNwcAppbmRleCBkOGI1ZGVhN2M2
YmRkOTVjYTMxMjc4NjZkMjVjNDVkOTA5NGFiNGQxLi5iYjcxNmFhYjgzNWFhY2IzNjQyYmE1ZjM0
ZTJhNmVjNDNjN2M5MmJiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9EcmFn
SW1hZ2UuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL0RyYWdJbWFnZS5jcHAKQEAg
LTIxNyw1ICsyMTcsMzYgQEAgRHJhZ0ltYWdlUmVmIGNyZWF0ZURyYWdJbWFnZUZvckxpbmsoVVJM
JiwgY29uc3QgU3RyaW5nJiwgRm9udFJlbmRlcmluZ01vZGUpCiB9CiAjZW5kaWYKIAorRHJhZ0lt
YWdlOjpEcmFnSW1hZ2UoKQorICAgIDogbV9kcmFnSW1hZ2VSZWYgeyBudWxscHRyIH0KK3sKK30K
KworRHJhZ0ltYWdlOjpEcmFnSW1hZ2UoRHJhZ0ltYWdlUmVmIGRyYWdJbWFnZVJlZikKKyAgICA6
IG1fZHJhZ0ltYWdlUmVmIHsgZHJhZ0ltYWdlUmVmIH0KK3sKK30KKworRHJhZ0ltYWdlOjpEcmFn
SW1hZ2UoRHJhZ0ltYWdlJiYgb3RoZXIpCisgICAgOiBtX2RyYWdJbWFnZVJlZiB7IHN0ZDo6ZXhj
aGFuZ2Uob3RoZXIubV9kcmFnSW1hZ2VSZWYsIG51bGxwdHIpIH0KK3sKK30KKworRHJhZ0ltYWdl
JiBEcmFnSW1hZ2U6Om9wZXJhdG9yPShEcmFnSW1hZ2UmJiBvdGhlcikKK3sKKyAgICBpZiAobV9k
cmFnSW1hZ2VSZWYpCisgICAgICAgIGRlbGV0ZURyYWdJbWFnZShtX2RyYWdJbWFnZVJlZik7CisK
KyAgICBtX2RyYWdJbWFnZVJlZiA9IHN0ZDo6ZXhjaGFuZ2Uob3RoZXIubV9kcmFnSW1hZ2VSZWYs
IG51bGxwdHIpOworCisgICAgcmV0dXJuICp0aGlzOworfQorCitEcmFnSW1hZ2U6On5EcmFnSW1h
Z2UoKQoreworICAgIGlmIChtX2RyYWdJbWFnZVJlZikKKyAgICAgICAgZGVsZXRlRHJhZ0ltYWdl
KG1fZHJhZ0ltYWdlUmVmKTsKK30KKwogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQogCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9EcmFnSW1hZ2UuaCBiL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL0RyYWdJbWFnZS5oCmluZGV4IGMzYjY2NWM2YjUyMDNlYjY3YTYyYmJiNTU0YzY2
Njk4MDFiODVlMjQuLmRhNTJhYjllODk0MjVhMWY4OWVhNDZkYjJjMDcxZGE4MGJiZWIwODQgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL0RyYWdJbWFnZS5oCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL0RyYWdJbWFnZS5oCkBAIC05MCw0ICs5MCwyMCBAQCBEcmFnSW1h
Z2VSZWYgY3JlYXRlRHJhZ0ltYWdlRm9ySW1hZ2UoRnJhbWUmLCBOb2RlJiwgSW50UmVjdCYgaW1h
Z2VSZWN0LCBJbnRSZWN0JgogRHJhZ0ltYWdlUmVmIGNyZWF0ZURyYWdJbWFnZUZvckxpbmsoVVJM
JiwgY29uc3QgU3RyaW5nJiBsYWJlbCwgRm9udFJlbmRlcmluZ01vZGUpOwogdm9pZCBkZWxldGVE
cmFnSW1hZ2UoRHJhZ0ltYWdlUmVmKTsKIAorY2xhc3MgRHJhZ0ltYWdlIGZpbmFsIHsKK3B1Ymxp
YzoKKyAgICBEcmFnSW1hZ2UoKTsKKyAgICBleHBsaWNpdCBEcmFnSW1hZ2UoRHJhZ0ltYWdlUmVm
KTsKKyAgICBEcmFnSW1hZ2UoRHJhZ0ltYWdlJiYpOworICAgIH5EcmFnSW1hZ2UoKTsKKworICAg
IERyYWdJbWFnZSYgb3BlcmF0b3I9KERyYWdJbWFnZSYmKTsKKworICAgIGV4cGxpY2l0IG9wZXJh
dG9yIGJvb2woKSBjb25zdCB7IHJldHVybiAhIW1fZHJhZ0ltYWdlUmVmOyB9CisgICAgRHJhZ0lt
YWdlUmVmIGdldCgpIGNvbnN0IHsgcmV0dXJuIG1fZHJhZ0ltYWdlUmVmOyB9CisKK3ByaXZhdGU6
CisgICAgRHJhZ0ltYWdlUmVmIG1fZHJhZ0ltYWdlUmVmOworfTsKKwogfQpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vUGFzdGVib2FyZC5oIGIvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vUGFzdGVib2FyZC5oCmluZGV4IDA2YzNkZTc1ZWJjYWVjNTYxYjkxOGRlZDUxMDg1Yzhl
NGFlYjdiNzcuLjllY2Q5ZmFjNmE3MDllMjE5NjgwNjRiNmZmOWE3MzkzZThiYTljY2UgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1Bhc3RlYm9hcmQuaAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9QYXN0ZWJvYXJkLmgKQEAgLTIzLDggKzIzLDcgQEAKICAqIE9GIFRI
SVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBE
QU1BR0UuCiAgKi8KIAotI2lmbmRlZiBQYXN0ZWJvYXJkX2gKLSNkZWZpbmUgUGFzdGVib2FyZF9o
CisjcHJhZ21hIG9uY2UKIAogI2luY2x1ZGUgIkRyYWdJbWFnZS5oIgogI2luY2x1ZGUgIlVSTC5o
IgpAQCAtMTgyLDcgKzE4MSw3IEBAIHB1YmxpYzoKICAgICBXRUJDT1JFX0VYUE9SVCBzdGF0aWMg
c3RkOjp1bmlxdWVfcHRyPFBhc3RlYm9hcmQ+IGNyZWF0ZUZvckRyYWdBbmREcm9wKCk7CiAgICAg
V0VCQ09SRV9FWFBPUlQgc3RhdGljIHN0ZDo6dW5pcXVlX3B0cjxQYXN0ZWJvYXJkPiBjcmVhdGVG
b3JEcmFnQW5kRHJvcChjb25zdCBEcmFnRGF0YSYpOwogCi0gICAgdmlydHVhbCB2b2lkIHNldERy
YWdJbWFnZShEcmFnSW1hZ2VSZWYsIGNvbnN0IEludFBvaW50JiBob3RTcG90KTsKKyAgICB2aXJ0
dWFsIHZvaWQgc2V0RHJhZ0ltYWdlKERyYWdJbWFnZSwgY29uc3QgSW50UG9pbnQmIGhvdFNwb3Qp
OwogI2VuZGlmCiAKICNpZiBQTEFURk9STShXSU4pCkBAIC0yNjIsNSArMjYxLDMgQEAgaW5saW5l
IFBhc3RlYm9hcmQ6On5QYXN0ZWJvYXJkKCkKICNlbmRpZgogCiB9IC8vIG5hbWVzcGFjZSBXZWJD
b3JlCi0KLSNlbmRpZiAvLyBQYXN0ZWJvYXJkX2gKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL1N0YXRpY1Bhc3RlYm9hcmQuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1N0
YXRpY1Bhc3RlYm9hcmQuaAppbmRleCBkODY0NzkyZDMzY2ZjMWY2ZDcxNzI5YzI0YTRkZmY0Mzhl
YmIxNGM3Li5kZTcyYzA0ODJlZjhkYTA1NDFjNTEyYTgxYTNmYjEzY2MxYmZiMzE2IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9TdGF0aWNQYXN0ZWJvYXJkLmgKKysrIGIvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vU3RhdGljUGFzdGVib2FyZC5oCkBAIC02Miw3ICs2Miw3IEBA
IHB1YmxpYzoKICAgICB2b2lkIHdyaXRlUGFzdGVib2FyZChjb25zdCBQYXN0ZWJvYXJkJikgZmlu
YWwgeyB9CiAKICNpZiBFTkFCTEUoRFJBR19TVVBQT1JUKQotICAgIHZvaWQgc2V0RHJhZ0ltYWdl
KERyYWdJbWFnZVJlZiwgY29uc3QgSW50UG9pbnQmKSBmaW5hbCB7IH0KKyAgICB2b2lkIHNldERy
YWdJbWFnZShEcmFnSW1hZ2UsIGNvbnN0IEludFBvaW50JikgZmluYWwgeyB9CiAjZW5kaWYKIAog
cHJpdmF0ZToKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2VmbC9QYXN0ZWJv
YXJkRWZsLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2VmbC9QYXN0ZWJvYXJkRWZsLmNw
cAppbmRleCBiNWI1YzI5YWE4YjMyYWZmYTkyNmMzMzhiN2RiODA1NGM0OTU2OTBmLi43Y2Q5NjBl
YTE3ZmEyZmEwMGJmNjgxOGJiNzhmZTk2YTQ4MjQwYWZhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9lZmwvUGFzdGVib2FyZEVmbC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vZWZsL1Bhc3RlYm9hcmRFZmwuY3BwCkBAIC0xMTksNyArMTE5LDcgQEAgVmVjdG9y
PFN0cmluZz4gUGFzdGVib2FyZDo6cmVhZEZpbGVuYW1lcygpCiB9CiAKICNpZiBFTkFCTEUoRFJB
R19TVVBQT1JUKQotdm9pZCBQYXN0ZWJvYXJkOjpzZXREcmFnSW1hZ2UoRHJhZ0ltYWdlUmVmLCBj
b25zdCBJbnRQb2ludCYpCit2b2lkIFBhc3RlYm9hcmQ6OnNldERyYWdJbWFnZShEcmFnSW1hZ2Us
IGNvbnN0IEludFBvaW50JikKIHsKICAgICBub3RJbXBsZW1lbnRlZCgpOwogfQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3RrL1Bhc3RlYm9hcmRHdGsuY3BwIGIvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vZ3RrL1Bhc3RlYm9hcmRHdGsuY3BwCmluZGV4IDM4N2RiZWU5OTBm
MzkzYmY4M2Y5ZTVhODdlMTBkMzU5NGRhZjc0MGEuLjdlNTEzMGEzYjA0MjQyZDE5ZTk1OWIyMTVj
ZjAwNzI2ZjFjNTdjZTkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2d0ay9Q
YXN0ZWJvYXJkR3RrLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ndGsvUGFzdGVi
b2FyZEd0ay5jcHAKQEAgLTI3MSw3ICsyNzEsNyBAQCBib29sIFBhc3RlYm9hcmQ6OmNhblNtYXJ0
UmVwbGFjZSgpCiB9CiAKICNpZiBFTkFCTEUoRFJBR19TVVBQT1JUKQotdm9pZCBQYXN0ZWJvYXJk
OjpzZXREcmFnSW1hZ2UoRHJhZ0ltYWdlUmVmLCBjb25zdCBJbnRQb2ludCYpCit2b2lkIFBhc3Rl
Ym9hcmQ6OnNldERyYWdJbWFnZShEcmFnSW1hZ2UsIGNvbnN0IEludFBvaW50JikKIHsKIH0KICNl
bmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWFjL1Bhc3RlYm9hcmRN
YWMubW0gYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tYWMvUGFzdGVib2FyZE1hYy5tbQppbmRl
eCBlZGJjMjlhNmRmNGRiYTI1NmRiZjVlMzJhMDkxNzJmNjBiODIwZmQ3Li43ZjliODU3NTA5MGIz
OTc4YTgxNTI1NWMyMmY2NGNjZDA1YWM5ODA1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9tYWMvUGFzdGVib2FyZE1hYy5tbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9tYWMvUGFzdGVib2FyZE1hYy5tbQpAQCAtNjYzLDcgKzY2Myw3IEBAIFZlY3RvcjxTdHJpbmc+
IFBhc3RlYm9hcmQ6OnJlYWRGaWxlbmFtZXMoKQogfQogCiAjaWYgRU5BQkxFKERSQUdfU1VQUE9S
VCkKLXZvaWQgUGFzdGVib2FyZDo6c2V0RHJhZ0ltYWdlKERyYWdJbWFnZVJlZiBpbWFnZSwgY29u
c3QgSW50UG9pbnQmIGxvY2F0aW9uKQordm9pZCBQYXN0ZWJvYXJkOjpzZXREcmFnSW1hZ2UoRHJh
Z0ltYWdlIGltYWdlLCBjb25zdCBJbnRQb2ludCYgbG9jYXRpb24pCiB7CiAgICAgLy8gRG9uJ3Qg
YWxsb3cgc2V0dGluZyB0aGUgZHJhZyBpbWFnZSBpZiBzb21lb25lIGtlcHQgYSBwYXN0ZWJvYXJk
IGFuZCBpcyB0cnlpbmcgdG8gc2V0IHRoZSBpbWFnZSB0b28gbGF0ZS4KICAgICBpZiAobV9jaGFu
Z2VDb3VudCAhPSBwbGF0Zm9ybVN0cmF0ZWdpZXMoKS0+cGFzdGVib2FyZFN0cmF0ZWd5KCktPmNo
YW5nZUNvdW50KG1fcGFzdGVib2FyZE5hbWUpKQpAQCAtNjcxLDcgKzY3MSw3IEBAIHZvaWQgUGFz
dGVib2FyZDo6c2V0RHJhZ0ltYWdlKERyYWdJbWFnZVJlZiBpbWFnZSwgY29uc3QgSW50UG9pbnQm
IGxvY2F0aW9uKQogCiAgICAgLy8gRGFzaGJvYXJkIHdhbnRzIHRvIGJlIGFibGUgdG8gc2V0IHRo
ZSBkcmFnIGltYWdlIGR1cmluZyBkcmFnZ2luZywgYnV0IENvY29hIGRvZXMgbm90IGFsbG93IHRo
aXMuCiAgICAgLy8gSW5zdGVhZCB3ZSBtdXN0IGRyb3AgZG93biB0byB0aGUgQ29yZUdyYXBoaWNz
IEFQSS4KLSAgICB3a1NldERyYWdJbWFnZShpbWFnZS5nZXQoKSwgbG9jYXRpb24pOworICAgIHdr
U2V0RHJhZ0ltYWdlKGltYWdlLmdldCgpLmdldCgpLCBsb2NhdGlvbik7CiAKICAgICAvLyBIYWNr
OiBXZSBtdXN0IHBvc3QgYW4gZXZlbnQgdG8gd2FrZSB1cCB0aGUgTlNEcmFnTWFuYWdlciwgd2hp
Y2ggaXMgc2l0dGluZyBpbiBhIG5leHRFdmVudCBjYWxsCiAgICAgLy8gdXAgdGhlIHN0YWNrIGZy
b20gdXMgYmVjYXVzZSB0aGUgQ29yZUZvdW5kYXRpb24gZHJhZyBtYW5hZ2VyIGRvZXMgbm90IHVz
ZSB0aGUgcnVuIGxvb3AgYnkgaXRzZWxmLgo=
</data>
<flag name="review"
          id="323018"
          type_id="1"
          status="+"
          setter="bdakin"
    />
          </attachment>
      

    </bug>

</bugzilla>