<?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>212614</bug_id>
          
          <creation_ts>2020-06-01 15:00:48 -0700</creation_ts>
          <short_desc>Add a helper method to populate a DataTransfer before dispatching a &quot;dragstart&quot; event</short_desc>
          <delta_ts>2020-06-02 18:50:51 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>HTML Editing</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>DoNotImportToRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Wenson Hsieh">wenson_hsieh</reporter>
          <assigned_to name="Wenson Hsieh">wenson_hsieh</assigned_to>
          <cc>aestes</cc>
    
    <cc>bdakin</cc>
    
    <cc>megan_gardner</cc>
    
    <cc>thorton</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>wenson_hsieh</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1658077</commentid>
    <comment_count>0</comment_count>
    <who name="Wenson Hsieh">wenson_hsieh</who>
    <bug_when>2020-06-01 15:00:48 -0700</bug_when>
    <thetext>Work towards &lt;rdar://problem/61368402&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1658119</commentid>
    <comment_count>1</comment_count>
      <attachid>400772</attachid>
    <who name="Wenson Hsieh">wenson_hsieh</who>
    <bug_when>2020-06-01 17:02:29 -0700</bug_when>
    <thetext>Created attachment 400772
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1658120</commentid>
    <comment_count>2</comment_count>
      <attachid>400773</attachid>
    <who name="Wenson Hsieh">wenson_hsieh</who>
    <bug_when>2020-06-01 17:07:21 -0700</bug_when>
    <thetext>Created attachment 400773
Fix WinCairo build</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1658122</commentid>
    <comment_count>3</comment_count>
      <attachid>400773</attachid>
    <who name="Tim Horton">thorton</who>
    <bug_when>2020-06-01 17:20:59 -0700</bug_when>
    <thetext>Comment on attachment 400773
Fix WinCairo build

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

&gt; Source/WebCore/ChangeLog:11
&gt; +        dispatching the &quot;dragstart&quot; event. There should be no change in behavior yet, since StaticPasteboard doesn&apos;t
&gt; +        implement methods for writing data to the pasteboard, which this new method uses.

This feels oddly backwards (landing the patch that does nothing because it calls unimplemented methods). But I assume the follow-up is coming shortly?

&gt; Source/WebCore/page/DragController.cpp:965
&gt; +    auto hitTestResult = hitTestResultForDragStart(src, *state.source, dragOrigin);

Are we hit testing twice now? Must we?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1658131</commentid>
    <comment_count>4</comment_count>
      <attachid>400773</attachid>
    <who name="Wenson Hsieh">wenson_hsieh</who>
    <bug_when>2020-06-01 17:41:40 -0700</bug_when>
    <thetext>Comment on attachment 400773
Fix WinCairo build

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

&gt;&gt; Source/WebCore/ChangeLog:11
&gt;&gt; +        implement methods for writing data to the pasteboard, which this new method uses.
&gt; 
&gt; This feels oddly backwards (landing the patch that does nothing because it calls unimplemented methods). But I assume the follow-up is coming shortly?

The second part is on the way!

&gt;&gt; Source/WebCore/page/DragController.cpp:965
&gt;&gt; +    auto hitTestResult = hitTestResultForDragStart(src, *state.source, dragOrigin);
&gt; 
&gt; Are we hit testing twice now? Must we?

Hm…we might be able to, but then again it’s possible that the “dragstart” event handler might’ve changed the DOM such that the hit-tested node is no longer the same as it was during this point in time.

I considered making prepareForDragStart() return an Optional&lt;HitTestResult&gt;, which could then be handed back to startDrag() to avoid the (probably) redundant hit-testing.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1658553</commentid>
    <comment_count>5</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2020-06-02 18:50:50 -0700</bug_when>
    <thetext>Committed r262469: &lt;https://trac.webkit.org/changeset/262469&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 400773.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>400772</attachid>
            <date>2020-06-01 17:02:29 -0700</date>
            <delta_ts>2020-06-01 17:07:18 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-212614-20200601170228.patch</filename>
            <type>text/plain</type>
            <size>9954</size>
            <attacher name="Wenson Hsieh">wenson_hsieh</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjYyMzY3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNzBjNTQzMmVlMmFjMjUz
YTVhMTk0MWE0YTllMTExZGIzMmIxMGEyYS4uMTk1Yzc4MmY3ZTIyY2M5OGI3YTRkYWQ4YzUxYmNh
MjEzZDkxMmRlMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIzIEBACisyMDIwLTA2LTAxICBXZW5z
b24gSHNpZWggIDx3ZW5zb25faHNpZWhAYXBwbGUuY29tPgorCisgICAgICAgIEFkZCBhIGhlbHBl
ciBtZXRob2QgdG8gcG9wdWxhdGUgYSBEYXRhVHJhbnNmZXIgYmVmb3JlIGRpc3BhdGNoaW5nIGEg
ImRyYWdzdGFydCIgZXZlbnQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTIxMjYxNAorICAgICAgICBXb3JrIHRvd2FyZHMgPHJkYXI6Ly9wcm9ibGVtLzYx
MzY4NDAyPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAg
IEFkZCBhIGhlbHBlciBtZXRob2QgaW4gRHJhZ0NvbnRyb2xsZXIgdG8gcHJlLXBvcHVsYXRlIHRo
ZSBTdGF0aWNQYXN0ZWJvYXJkLWJhY2tlZCBEYXRhVHJhbnNmZXIgYmVmb3JlCisgICAgICAgIGRp
c3BhdGNoaW5nIHRoZSAiZHJhZ3N0YXJ0IiBldmVudC4gVGhlcmUgc2hvdWxkIGJlIG5vIGNoYW5n
ZSBpbiBiZWhhdmlvciB5ZXQsIHNpbmNlIFN0YXRpY1Bhc3RlYm9hcmQgZG9lc24ndAorICAgICAg
ICBpbXBsZW1lbnQgbWV0aG9kcyBmb3Igd3JpdGluZyBkYXRhIHRvIHRoZSBwYXN0ZWJvYXJkLCB3
aGljaCB0aGlzIG5ldyBtZXRob2QgdXNlcy4KKworICAgICAgICAqIHBhZ2UvRHJhZ0NvbnRyb2xs
ZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6RHJhZ0NvbnRyb2xsZXI6OnByZXBhcmVGb3JEcmFn
U3RhcnQgY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6RHJhZ0NvbnRyb2xsZXI6OmhpdFRlc3RS
ZXN1bHRGb3JEcmFnU3RhcnQgY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6RHJhZ0NvbnRyb2xs
ZXI6OnN0YXJ0RHJhZyk6CisgICAgICAgICogcGFnZS9EcmFnQ29udHJvbGxlci5oOgorICAgICAg
ICAqIHBhZ2UvRXZlbnRIYW5kbGVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkV2ZW50SGFuZGxl
cjo6ZGlzcGF0Y2hEcmFnU3RhcnRFdmVudE9uU291cmNlRWxlbWVudCk6CisKIDIwMjAtMDUtMzEg
IFdlbnNvbiBIc2llaCAgPHdlbnNvbl9oc2llaEBhcHBsZS5jb20+CiAKICAgICAgICAgVGlkeSB1
cCBTb3VyY2UvV2ViQ29yZS9wYWdlL0RyYWdDb250cm9sbGVyLmgKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL3BhZ2UvRHJhZ0NvbnRyb2xsZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvcGFnZS9E
cmFnQ29udHJvbGxlci5jcHAKaW5kZXggZTNhODkwMWE0ODUwYjJlMDAwZGNmZDE0ZmEzOGRjMjhj
ZDFiNDQ2Ni4uNGVlMmUyZmIzNTg0ZDc4OTU0MTYzYmFiOWIxMWM1ZTc1YmYyZGQ1MSAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9EcmFnQ29udHJvbGxlci5jcHAKKysrIGIvU291cmNl
L1dlYkNvcmUvcGFnZS9EcmFnQ29udHJvbGxlci5jcHAKQEAgLTg5OSwyNSArODk5LDc1IEBAIHN0
YXRpYyBJbnRQb2ludCBkcmFnTG9jRm9yU2VsZWN0aW9uRHJhZyhGcmFtZSYgc3JjKQogICAgIHJl
dHVybiBJbnRQb2ludCh4cG9zLCB5cG9zKTsKIH0KIAotYm9vbCBEcmFnQ29udHJvbGxlcjo6c3Rh
cnREcmFnKEZyYW1lJiBzcmMsIGNvbnN0IERyYWdTdGF0ZSYgc3RhdGUsIERyYWdPcGVyYXRpb24g
c3JjT3AsIGNvbnN0IFBsYXRmb3JtTW91c2VFdmVudCYgZHJhZ0V2ZW50LCBjb25zdCBJbnRQb2lu
dCYgZHJhZ09yaWdpbiwgSGFzTm9uRGVmYXVsdFBhc3RlYm9hcmREYXRhIGhhc0RhdGEpCit2b2lk
IERyYWdDb250cm9sbGVyOjpwcmVwYXJlRm9yRHJhZ1N0YXJ0KEZyYW1lJiBzb3VyY2UsIERyYWdT
b3VyY2VBY3Rpb24gYWN0aW9uLCBFbGVtZW50JiBlbGVtZW50LCBEYXRhVHJhbnNmZXImIGRhdGFU
cmFuc2ZlciwgY29uc3QgSW50UG9pbnQmIGRyYWdPcmlnaW4pIGNvbnN0CiB7Ci0gICAgaWYgKCFz
cmMudmlldygpIHx8ICFzcmMuY29udGVudFJlbmRlcmVyKCkgfHwgIXN0YXRlLnNvdXJjZSkKLSAg
ICAgICAgcmV0dXJuIGZhbHNlOworI2lmICFQTEFURk9STShXSU4pCisgICAgUmVmPEZyYW1lPiBw
cm90ZWN0b3Ioc291cmNlKTsKKyAgICBhdXRvIGhpdFRlc3RSZXN1bHQgPSBoaXRUZXN0UmVzdWx0
Rm9yRHJhZ1N0YXJ0KHNvdXJjZSwgZWxlbWVudCwgZHJhZ09yaWdpbik7CisgICAgaWYgKCFoaXRU
ZXN0UmVzdWx0KQorICAgICAgICByZXR1cm47CisKKyAgICBhdXRvJiBwYXN0ZWJvYXJkID0gZGF0
YVRyYW5zZmVyLnBhc3RlYm9hcmQoKTsKKyAgICBhdXRvJiBlZGl0b3IgPSBzb3VyY2UuZWRpdG9y
KCk7CisgICAgaWYgKGFjdGlvbiA9PSBEcmFnU291cmNlQWN0aW9uU2VsZWN0aW9uKSB7CisgICAg
ICAgIGlmIChlbmNsb3NpbmdUZXh0Rm9ybUNvbnRyb2woc291cmNlLnNlbGVjdGlvbigpLnNlbGVj
dGlvbigpLnN0YXJ0KCkpKQorICAgICAgICAgICAgcGFzdGVib2FyZC53cml0ZVBsYWluVGV4dChl
ZGl0b3Iuc2VsZWN0ZWRUZXh0Rm9yRGF0YVRyYW5zZmVyKCksIFBhc3RlYm9hcmQ6OkNhbm5vdFNt
YXJ0UmVwbGFjZSk7CisgICAgICAgIGVsc2UKKyAgICAgICAgICAgIGVkaXRvci53cml0ZVNlbGVj
dGlvblRvUGFzdGVib2FyZChwYXN0ZWJvYXJkKTsKKyAgICAgICAgcmV0dXJuOworICAgIH0KKwor
ICAgIGF1dG8qIGltYWdlID0gZ2V0SW1hZ2UoZWxlbWVudCk7CisgICAgYXV0byBpbWFnZVVSTCA9
IGhpdFRlc3RSZXN1bHQtPmFic29sdXRlSW1hZ2VVUkwoKTsKKyAgICBpZiAoKGFjdGlvbiAmIERy
YWdTb3VyY2VBY3Rpb25JbWFnZSkgJiYgIWltYWdlVVJMLmlzRW1wdHkoKSAmJiBpbWFnZSAmJiAh
aW1hZ2UtPmlzTnVsbCgpKSB7CisgICAgICAgIGVkaXRvci53cml0ZUltYWdlVG9QYXN0ZWJvYXJk
KHBhc3RlYm9hcmQsIGVsZW1lbnQsIGltYWdlVVJMLCB7IH0pOworICAgICAgICByZXR1cm47Cisg
ICAgfQorCisgICAgYXV0byBsaW5rVVJMID0gaGl0VGVzdFJlc3VsdC0+YWJzb2x1dGVMaW5rVVJM
KCk7CisgICAgaWYgKChhY3Rpb24gJiBEcmFnU291cmNlQWN0aW9uTGluaykgJiYgIWxpbmtVUkwu
aXNFbXB0eSgpICYmIHNvdXJjZS5kb2N1bWVudCgpLT5zZWN1cml0eU9yaWdpbigpLmNhbkRpc3Bs
YXkobGlua1VSTCkpCisgICAgICAgIGVkaXRvci5jb3B5VVJMKGxpbmtVUkwsIGhpdFRlc3RSZXN1
bHQtPnRleHRDb250ZW50KCkuc2ltcGxpZnlXaGl0ZVNwYWNlKCksIHBhc3RlYm9hcmQpOworI2Vs
c2UKKyAgICAvLyBGSVhNRTogTWFrZSB0aGlzIHdvcmsgb24gV2luZG93cyBieSBpbXBsZW1lbnRp
bmcgRWRpdG9yOjp3cml0ZVNlbGVjdGlvblRvUGFzdGVib2FyZCBhbmQgRWRpdG9yOjp3cml0ZUlt
YWdlVG9QYXN0ZWJvYXJkLgorICAgIFVOVVNFRF9QQVJBTShzb3VyY2UpOworICAgIFVOVVNFRF9Q
QVJBTShhY3Rpb24pOworICAgIFVOVVNFRF9QQVJBTShlbGVtZW50KTsKKyAgICBVTlVTRURfUEFS
QU0oZGF0YVRyYW5zZmVyKTsKKyAgICBVTlVTRURfUEFSQU0oZHJhZ09yaWdpbik7CisjZW5kaWYK
K30KKworT3B0aW9uYWw8SGl0VGVzdFJlc3VsdD4gRHJhZ0NvbnRyb2xsZXI6OmhpdFRlc3RSZXN1
bHRGb3JEcmFnU3RhcnQoRnJhbWUmIHNvdXJjZSwgRWxlbWVudCYgZWxlbWVudCwgY29uc3QgSW50
UG9pbnQmIGxvY2F0aW9uKSBjb25zdAoreworICAgIGlmICghc291cmNlLnZpZXcoKSB8fCAhc291
cmNlLmNvbnRlbnRSZW5kZXJlcigpKQorICAgICAgICByZXR1cm4gV1RGOjpudWxsb3B0OwogCi0g
ICAgUmVmPEZyYW1lPiBwcm90ZWN0b3Ioc3JjKTsKICAgICBjb25zdGV4cHIgT3B0aW9uU2V0PEhp
dFRlc3RSZXF1ZXN0OjpSZXF1ZXN0VHlwZT4gaGl0VHlwZSB7IEhpdFRlc3RSZXF1ZXN0OjpSZWFk
T25seSwgSGl0VGVzdFJlcXVlc3Q6OkFjdGl2ZSwgSGl0VGVzdFJlcXVlc3Q6OkFsbG93Q2hpbGRG
cmFtZUNvbnRlbnQgfTsKLSAgICBIaXRUZXN0UmVzdWx0IGhpdFRlc3RSZXN1bHQgPSBzcmMuZXZl
bnRIYW5kbGVyKCkuaGl0VGVzdFJlc3VsdEF0UG9pbnQoZHJhZ09yaWdpbiwgaGl0VHlwZSk7Cisg
ICAgYXV0byBoaXRUZXN0UmVzdWx0ID0gc291cmNlLmV2ZW50SGFuZGxlcigpLmhpdFRlc3RSZXN1
bHRBdFBvaW50KGxvY2F0aW9uLCBoaXRUeXBlKTsKIAotICAgIGJvb2wgc291cmNlQ29udGFpbnNI
aXROb2RlID0gc3RhdGUuc291cmNlLT5jb250YWluc0luY2x1ZGluZ1NoYWRvd0RPTShoaXRUZXN0
UmVzdWx0LmlubmVyTm9kZSgpKTsKKyAgICBib29sIHNvdXJjZUNvbnRhaW5zSGl0Tm9kZSA9IGVs
ZW1lbnQuY29udGFpbnNJbmNsdWRpbmdTaGFkb3dET00oaGl0VGVzdFJlc3VsdC5pbm5lck5vZGUo
KSk7CiAgICAgaWYgKCFzb3VyY2VDb250YWluc0hpdE5vZGUpIHsKICAgICAgICAgLy8gVGhlIG9y
aWdpbmFsIG5vZGUgYmVpbmcgZHJhZ2dlZCBpc24ndCB1bmRlciB0aGUgZHJhZyBvcmlnaW4gYW55
bW9yZS4uLiBtYXliZSBpdCB3YXMKICAgICAgICAgLy8gaGlkZGVuIG9yIG1vdmVkIG91dCBmcm9t
IHVuZGVyIHRoZSBjdXJzb3IuIFJlZ2FyZGxlc3MsIHdlIGRvbid0IHdhbnQgdG8gc3RhcnQgYSBk
cmFnIG9uCiAgICAgICAgIC8vIHNvbWV0aGluZyB0aGF0J3Mgbm90IGFjdHVhbGx5IHVuZGVyIHRo
ZSBkcmFnIG9yaWdpbi4KLSAgICAgICAgcmV0dXJuIGZhbHNlOworICAgICAgICByZXR1cm4gV1RG
OjpudWxsb3B0OwogICAgIH0KIAotICAgIFVSTCBsaW5rVVJMID0gaGl0VGVzdFJlc3VsdC5hYnNv
bHV0ZUxpbmtVUkwoKTsKLSAgICBVUkwgaW1hZ2VVUkwgPSBoaXRUZXN0UmVzdWx0LmFic29sdXRl
SW1hZ2VVUkwoKTsKKyAgICByZXR1cm4geyBoaXRUZXN0UmVzdWx0IH07Cit9CisKK2Jvb2wgRHJh
Z0NvbnRyb2xsZXI6OnN0YXJ0RHJhZyhGcmFtZSYgc3JjLCBjb25zdCBEcmFnU3RhdGUmIHN0YXRl
LCBEcmFnT3BlcmF0aW9uIHNyY09wLCBjb25zdCBQbGF0Zm9ybU1vdXNlRXZlbnQmIGRyYWdFdmVu
dCwgY29uc3QgSW50UG9pbnQmIGRyYWdPcmlnaW4sIEhhc05vbkRlZmF1bHRQYXN0ZWJvYXJkRGF0
YSBoYXNEYXRhKQoreworICAgIGlmICghc3RhdGUuc291cmNlKQorICAgICAgICByZXR1cm4gZmFs
c2U7CisKKyAgICBSZWY8RnJhbWU+IHByb3RlY3RvcihzcmMpOworICAgIGF1dG8gaGl0VGVzdFJl
c3VsdCA9IGhpdFRlc3RSZXN1bHRGb3JEcmFnU3RhcnQoc3JjLCAqc3RhdGUuc291cmNlLCBkcmFn
T3JpZ2luKTsKKyAgICBpZiAoIWhpdFRlc3RSZXN1bHQpCisgICAgICAgIHJldHVybiBmYWxzZTsK
KworICAgIGF1dG8gbGlua1VSTCA9IGhpdFRlc3RSZXN1bHQtPmFic29sdXRlTGlua1VSTCgpOwor
ICAgIGF1dG8gaW1hZ2VVUkwgPSBoaXRUZXN0UmVzdWx0LT5hYnNvbHV0ZUltYWdlVVJMKCk7CiAK
ICAgICBJbnRQb2ludCBtb3VzZURyYWdnZWRQb2ludCA9IHNyYy52aWV3KCktPndpbmRvd1RvQ29u
dGVudHMoZHJhZ0V2ZW50LnBvc2l0aW9uKCkpOwogCkBAIC0xMDQ2LDEzICsxMDk2LDEzIEBAIGJv
b2wgRHJhZ0NvbnRyb2xsZXI6OnN0YXJ0RHJhZyhGcmFtZSYgc3JjLCBjb25zdCBEcmFnU3RhdGUm
IHN0YXRlLCBEcmFnT3BlcmF0aW9uCiAgICAgICAgICAgICBpZiAoZWxlbWVudC5pc0NvbnRlbnRS
aWNobHlFZGl0YWJsZSgpKQogICAgICAgICAgICAgICAgIHNlbGVjdEVsZW1lbnQoZWxlbWVudCk7
CiAgICAgICAgICAgICBpZiAoIWF0dGFjaG1lbnRJbmZvKQotICAgICAgICAgICAgICAgIGRlY2xh
cmVBbmRXcml0ZURyYWdJbWFnZShkYXRhVHJhbnNmZXIsIGVsZW1lbnQsICFsaW5rVVJMLmlzRW1w
dHkoKSA/IGxpbmtVUkwgOiBpbWFnZVVSTCwgaGl0VGVzdFJlc3VsdC5hbHREaXNwbGF5U3RyaW5n
KCkpOworICAgICAgICAgICAgICAgIGRlY2xhcmVBbmRXcml0ZURyYWdJbWFnZShkYXRhVHJhbnNm
ZXIsIGVsZW1lbnQsICFsaW5rVVJMLmlzRW1wdHkoKSA/IGxpbmtVUkwgOiBpbWFnZVVSTCwgaGl0
VGVzdFJlc3VsdC0+YWx0RGlzcGxheVN0cmluZygpKTsKICAgICAgICAgfQogCiAgICAgICAgIGNs
aWVudCgpLndpbGxQZXJmb3JtRHJhZ1NvdXJjZUFjdGlvbihEcmFnU291cmNlQWN0aW9uSW1hZ2Us
IGRyYWdPcmlnaW4sIGRhdGFUcmFuc2Zlcik7CiAKICAgICAgICAgaWYgKCFkcmFnSW1hZ2UpCi0g
ICAgICAgICAgICBkb0ltYWdlRHJhZyhlbGVtZW50LCBkcmFnT3JpZ2luLCBoaXRUZXN0UmVzdWx0
LmltYWdlUmVjdCgpLCBzcmMsIG1fZHJhZ09mZnNldCwgc3RhdGUsIFdURk1vdmUoYXR0YWNobWVu
dEluZm8pKTsKKyAgICAgICAgICAgIGRvSW1hZ2VEcmFnKGVsZW1lbnQsIGRyYWdPcmlnaW4sIGhp
dFRlc3RSZXN1bHQtPmltYWdlUmVjdCgpLCBzcmMsIG1fZHJhZ09mZnNldCwgc3RhdGUsIFdURk1v
dmUoYXR0YWNobWVudEluZm8pKTsKICAgICAgICAgZWxzZSB7CiAgICAgICAgICAgICAvLyBESFRN
TCBkZWZpbmVkIGRyYWcgaW1hZ2UKICAgICAgICAgICAgIGRvU3lzdGVtRHJhZyhXVEZNb3ZlKGRy
YWdJbWFnZSksIGRyYWdMb2MsIGRyYWdPcmlnaW4sIHNyYywgc3RhdGUsIFdURk1vdmUoYXR0YWNo
bWVudEluZm8pKTsKQEAgLTEwNjQsNyArMTExNCw3IEBAIGJvb2wgRHJhZ0NvbnRyb2xsZXI6OnN0
YXJ0RHJhZyhGcmFtZSYgc3JjLCBjb25zdCBEcmFnU3RhdGUmIHN0YXRlLCBEcmFnT3BlcmF0aW9u
CiAgICAgaWYgKCFsaW5rVVJMLmlzRW1wdHkoKSAmJiAobV9kcmFnU291cmNlQWN0aW9uICYgRHJh
Z1NvdXJjZUFjdGlvbkxpbmspKSB7CiAgICAgICAgIFBhc3RlYm9hcmRXcml0ZXJEYXRhIHBhc3Rl
Ym9hcmRXcml0ZXJEYXRhOwogCi0gICAgICAgIFN0cmluZyB0ZXh0Q29udGVudFdpdGhTaW1wbGlm
aWVkV2hpdGVTcGFjZSA9IGhpdFRlc3RSZXN1bHQudGV4dENvbnRlbnQoKS5zaW1wbGlmeVdoaXRl
U3BhY2UoKTsKKyAgICAgICAgU3RyaW5nIHRleHRDb250ZW50V2l0aFNpbXBsaWZpZWRXaGl0ZVNw
YWNlID0gaGl0VGVzdFJlc3VsdC0+dGV4dENvbnRlbnQoKS5zaW1wbGlmeVdoaXRlU3BhY2UoKTsK
IAogICAgICAgICBpZiAoaGFzRGF0YSA9PSBIYXNOb25EZWZhdWx0UGFzdGVib2FyZERhdGE6Ok5v
KSB7CiAgICAgICAgICAgICAvLyBTaW1wbGlmeSB3aGl0ZXNwYWNlIHNvIHRoZSB0aXRsZSBwdXQg
b24gdGhlIGRhdGFUcmFuc2ZlciByZXNlbWJsZXMgd2hhdCB0aGUgdXNlciBzZWVzCkBAIC0xMDc4
LDcgKzExMjgsNyBAQCBib29sIERyYWdDb250cm9sbGVyOjpzdGFydERyYWcoRnJhbWUmIHNyYywg
Y29uc3QgRHJhZ1N0YXRlJiBzdGF0ZSwgRHJhZ09wZXJhdGlvbgogICAgICAgICAgICAgLy8gYnV0
IGRvbid0IG92ZXJ3cml0ZSBtb3JlIGdlbmVyYWwgcGFzdGVib2FyZCB0eXBlcy4KICAgICAgICAg
ICAgIFBhc3RlYm9hcmRVUkwgcGFzdGVib2FyZFVSTDsKICAgICAgICAgICAgIHBhc3RlYm9hcmRV
UkwudXJsID0gbGlua1VSTDsKLSAgICAgICAgICAgIHBhc3RlYm9hcmRVUkwudGl0bGUgPSBoaXRU
ZXN0UmVzdWx0LnRleHRDb250ZW50KCk7CisgICAgICAgICAgICBwYXN0ZWJvYXJkVVJMLnRpdGxl
ID0gaGl0VGVzdFJlc3VsdC0+dGV4dENvbnRlbnQoKTsKICAgICAgICAgICAgIGRhdGFUcmFuc2Zl
ci5wYXN0ZWJvYXJkKCkud3JpdGVUcnVzdHdvcnRoeVdlYlVSTHNQYm9hcmRUeXBlKHBhc3RlYm9h
cmRVUkwpOwogICAgICAgICB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRHJh
Z0NvbnRyb2xsZXIuaCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRHJhZ0NvbnRyb2xsZXIuaAppbmRl
eCA5NTdmYWIxMGY2MDMwN2I3Nzk2YmE3MTIxYjljYjc3NzY2N2VjY2NhLi40NTZkOTBlODc2YjYy
NGIzNjUzYzljMjZmNWU3NDM4YTQ4MDgzOWMzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9w
YWdlL0RyYWdDb250cm9sbGVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9EcmFnQ29udHJv
bGxlci5oCkBAIC05Myw2ICs5Myw3IEBAIHB1YmxpYzoKICAgICBXRUJDT1JFX0VYUE9SVCB2b2lk
IGZpbmFsaXplRHJvcHBlZEltYWdlUGxhY2Vob2xkZXIoSFRNTEltYWdlRWxlbWVudCYpOwogICAg
IFdFQkNPUkVfRVhQT1JUIHZvaWQgaW5zZXJ0RHJvcHBlZEltYWdlUGxhY2Vob2xkZXJzQXRDYXJl
dChjb25zdCBWZWN0b3I8SW50U2l6ZT4mIGltYWdlU2l6ZXMpOwogCisgICAgdm9pZCBwcmVwYXJl
Rm9yRHJhZ1N0YXJ0KEZyYW1lJiBzb3VyY2VGcmFtZSwgRHJhZ1NvdXJjZUFjdGlvbiwgRWxlbWVu
dCYgc291cmNlRWxlbWVudCwgRGF0YVRyYW5zZmVyJiwgY29uc3QgSW50UG9pbnQmIGRyYWdPcmln
aW4pIGNvbnN0OwogICAgIGJvb2wgc3RhcnREcmFnKEZyYW1lJiBzcmMsIGNvbnN0IERyYWdTdGF0
ZSYsIERyYWdPcGVyYXRpb24gc3JjT3AsIGNvbnN0IFBsYXRmb3JtTW91c2VFdmVudCYgZHJhZ0V2
ZW50LCBjb25zdCBJbnRQb2ludCYgZHJhZ09yaWdpbiwgSGFzTm9uRGVmYXVsdFBhc3RlYm9hcmRE
YXRhKTsKICAgICBzdGF0aWMgY29uc3QgSW50U2l6ZSYgbWF4RHJhZ0ltYWdlU2l6ZSgpOwogCkBA
IC0xMTgsNiArMTE5LDggQEAgcHJpdmF0ZToKICAgICB2b2lkIG1vdXNlTW92ZWRJbnRvRG9jdW1l
bnQoRG9jdW1lbnQqKTsKICAgICBib29sIHNob3VsZFVzZUNhY2hlZEltYWdlRm9yRHJhZ0ltYWdl
KGNvbnN0IEltYWdlJikgY29uc3Q7CiAKKyAgICBPcHRpb25hbDxIaXRUZXN0UmVzdWx0PiBoaXRU
ZXN0UmVzdWx0Rm9yRHJhZ1N0YXJ0KEZyYW1lJiwgRWxlbWVudCYsIGNvbnN0IEludFBvaW50Jikg
Y29uc3Q7CisKICAgICB2b2lkIGRvSW1hZ2VEcmFnKEVsZW1lbnQmLCBjb25zdCBJbnRQb2ludCYs
IGNvbnN0IEludFJlY3QmLCBGcmFtZSYsIEludFBvaW50JiwgY29uc3QgRHJhZ1N0YXRlJiwgUHJv
bWlzZWRBdHRhY2htZW50SW5mbyYmKTsKICAgICB2b2lkIGRvU3lzdGVtRHJhZyhEcmFnSW1hZ2Us
IGNvbnN0IEludFBvaW50JiwgY29uc3QgSW50UG9pbnQmLCBGcmFtZSYsIGNvbnN0IERyYWdTdGF0
ZSYsIFByb21pc2VkQXR0YWNobWVudEluZm8mJik7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL3BhZ2UvRXZlbnRIYW5kbGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRXZlbnRIYW5k
bGVyLmNwcAppbmRleCA0YzZmYjk1ZTZjMGJjZTE3MzVhZWUwM2MwNmQzMTExMDRmMjM0NGJiLi5k
NTU3N2VlZjExNDg4NjAzMWM4YTc3ZGM4YWU0M2EyNjRjOGVhY2U1IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9wYWdlL0V2ZW50SGFuZGxlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGFn
ZS9FdmVudEhhbmRsZXIuY3BwCkBAIC0zNzcxLDkgKzM3NzEsMTEgQEAgdm9pZCBFdmVudEhhbmRs
ZXI6OmRpc3BhdGNoRXZlbnRUb0RyYWdTb3VyY2VFbGVtZW50KGNvbnN0IEF0b21TdHJpbmcmIGV2
ZW50VHlwZSwKIAogYm9vbCBFdmVudEhhbmRsZXI6OmRpc3BhdGNoRHJhZ1N0YXJ0RXZlbnRPblNv
dXJjZUVsZW1lbnQoRGF0YVRyYW5zZmVyJiBkYXRhVHJhbnNmZXIpCiB7CisgICAgaWYgKGF1dG8q
IHBhZ2UgPSBtX2ZyYW1lLnBhZ2UoKSkKKyAgICAgICAgcGFnZS0+ZHJhZ0NvbnRyb2xsZXIoKS5w
cmVwYXJlRm9yRHJhZ1N0YXJ0KG1fZnJhbWUsIGRyYWdTdGF0ZSgpLnR5cGUsICpkcmFnU3RhdGUo
KS5zb3VyY2UsIGRhdGFUcmFuc2ZlciwgbV9tb3VzZURvd25Db250ZW50c1Bvc2l0aW9uKTsKICAg
ICByZXR1cm4gIWRpc3BhdGNoRHJhZ0V2ZW50KGV2ZW50TmFtZXMoKS5kcmFnc3RhcnRFdmVudCwg
KmRyYWdTdGF0ZSgpLnNvdXJjZSwgbV9tb3VzZURvd25FdmVudCwgZGF0YVRyYW5zZmVyKSAmJiAh
bV9mcmFtZS5zZWxlY3Rpb24oKS5zZWxlY3Rpb24oKS5pc0luUGFzc3dvcmRGaWVsZCgpOwogfQot
ICAgIAorCiBzdGF0aWMgYm9vbCBFeGFjdGx5T25lQml0U2V0KERyYWdTb3VyY2VBY3Rpb24gbikK
IHsKICAgICByZXR1cm4gbiAmJiAhKG4gJiAobiAtIDEpKTsK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>400773</attachid>
            <date>2020-06-01 17:07:21 -0700</date>
            <delta_ts>2020-06-02 18:50:51 -0700</delta_ts>
            <desc>Fix WinCairo build</desc>
            <filename>bug-212614-20200601170719.patch</filename>
            <type>text/plain</type>
            <size>10136</size>
            <attacher name="Wenson Hsieh">wenson_hsieh</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjYyMzY3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNzBjNTQzMmVlMmFjMjUz
YTVhMTk0MWE0YTllMTExZGIzMmIxMGEyYS4uMTk1Yzc4MmY3ZTIyY2M5OGI3YTRkYWQ4YzUxYmNh
MjEzZDkxMmRlMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIzIEBACisyMDIwLTA2LTAxICBXZW5z
b24gSHNpZWggIDx3ZW5zb25faHNpZWhAYXBwbGUuY29tPgorCisgICAgICAgIEFkZCBhIGhlbHBl
ciBtZXRob2QgdG8gcG9wdWxhdGUgYSBEYXRhVHJhbnNmZXIgYmVmb3JlIGRpc3BhdGNoaW5nIGEg
ImRyYWdzdGFydCIgZXZlbnQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTIxMjYxNAorICAgICAgICBXb3JrIHRvd2FyZHMgPHJkYXI6Ly9wcm9ibGVtLzYx
MzY4NDAyPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAg
IEFkZCBhIGhlbHBlciBtZXRob2QgaW4gRHJhZ0NvbnRyb2xsZXIgdG8gcHJlLXBvcHVsYXRlIHRo
ZSBTdGF0aWNQYXN0ZWJvYXJkLWJhY2tlZCBEYXRhVHJhbnNmZXIgYmVmb3JlCisgICAgICAgIGRp
c3BhdGNoaW5nIHRoZSAiZHJhZ3N0YXJ0IiBldmVudC4gVGhlcmUgc2hvdWxkIGJlIG5vIGNoYW5n
ZSBpbiBiZWhhdmlvciB5ZXQsIHNpbmNlIFN0YXRpY1Bhc3RlYm9hcmQgZG9lc24ndAorICAgICAg
ICBpbXBsZW1lbnQgbWV0aG9kcyBmb3Igd3JpdGluZyBkYXRhIHRvIHRoZSBwYXN0ZWJvYXJkLCB3
aGljaCB0aGlzIG5ldyBtZXRob2QgdXNlcy4KKworICAgICAgICAqIHBhZ2UvRHJhZ0NvbnRyb2xs
ZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6RHJhZ0NvbnRyb2xsZXI6OnByZXBhcmVGb3JEcmFn
U3RhcnQgY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6RHJhZ0NvbnRyb2xsZXI6OmhpdFRlc3RS
ZXN1bHRGb3JEcmFnU3RhcnQgY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6RHJhZ0NvbnRyb2xs
ZXI6OnN0YXJ0RHJhZyk6CisgICAgICAgICogcGFnZS9EcmFnQ29udHJvbGxlci5oOgorICAgICAg
ICAqIHBhZ2UvRXZlbnRIYW5kbGVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkV2ZW50SGFuZGxl
cjo6ZGlzcGF0Y2hEcmFnU3RhcnRFdmVudE9uU291cmNlRWxlbWVudCk6CisKIDIwMjAtMDUtMzEg
IFdlbnNvbiBIc2llaCAgPHdlbnNvbl9oc2llaEBhcHBsZS5jb20+CiAKICAgICAgICAgVGlkeSB1
cCBTb3VyY2UvV2ViQ29yZS9wYWdlL0RyYWdDb250cm9sbGVyLmgKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL3BhZ2UvRHJhZ0NvbnRyb2xsZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvcGFnZS9E
cmFnQ29udHJvbGxlci5jcHAKaW5kZXggZTNhODkwMWE0ODUwYjJlMDAwZGNmZDE0ZmEzOGRjMjhj
ZDFiNDQ2Ni4uNGVlMmUyZmIzNTg0ZDc4OTU0MTYzYmFiOWIxMWM1ZTc1YmYyZGQ1MSAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9EcmFnQ29udHJvbGxlci5jcHAKKysrIGIvU291cmNl
L1dlYkNvcmUvcGFnZS9EcmFnQ29udHJvbGxlci5jcHAKQEAgLTg5OSwyNSArODk5LDc1IEBAIHN0
YXRpYyBJbnRQb2ludCBkcmFnTG9jRm9yU2VsZWN0aW9uRHJhZyhGcmFtZSYgc3JjKQogICAgIHJl
dHVybiBJbnRQb2ludCh4cG9zLCB5cG9zKTsKIH0KIAotYm9vbCBEcmFnQ29udHJvbGxlcjo6c3Rh
cnREcmFnKEZyYW1lJiBzcmMsIGNvbnN0IERyYWdTdGF0ZSYgc3RhdGUsIERyYWdPcGVyYXRpb24g
c3JjT3AsIGNvbnN0IFBsYXRmb3JtTW91c2VFdmVudCYgZHJhZ0V2ZW50LCBjb25zdCBJbnRQb2lu
dCYgZHJhZ09yaWdpbiwgSGFzTm9uRGVmYXVsdFBhc3RlYm9hcmREYXRhIGhhc0RhdGEpCit2b2lk
IERyYWdDb250cm9sbGVyOjpwcmVwYXJlRm9yRHJhZ1N0YXJ0KEZyYW1lJiBzb3VyY2UsIERyYWdT
b3VyY2VBY3Rpb24gYWN0aW9uLCBFbGVtZW50JiBlbGVtZW50LCBEYXRhVHJhbnNmZXImIGRhdGFU
cmFuc2ZlciwgY29uc3QgSW50UG9pbnQmIGRyYWdPcmlnaW4pIGNvbnN0CiB7Ci0gICAgaWYgKCFz
cmMudmlldygpIHx8ICFzcmMuY29udGVudFJlbmRlcmVyKCkgfHwgIXN0YXRlLnNvdXJjZSkKLSAg
ICAgICAgcmV0dXJuIGZhbHNlOworI2lmICFQTEFURk9STShXSU4pCisgICAgUmVmPEZyYW1lPiBw
cm90ZWN0b3Ioc291cmNlKTsKKyAgICBhdXRvIGhpdFRlc3RSZXN1bHQgPSBoaXRUZXN0UmVzdWx0
Rm9yRHJhZ1N0YXJ0KHNvdXJjZSwgZWxlbWVudCwgZHJhZ09yaWdpbik7CisgICAgaWYgKCFoaXRU
ZXN0UmVzdWx0KQorICAgICAgICByZXR1cm47CisKKyAgICBhdXRvJiBwYXN0ZWJvYXJkID0gZGF0
YVRyYW5zZmVyLnBhc3RlYm9hcmQoKTsKKyAgICBhdXRvJiBlZGl0b3IgPSBzb3VyY2UuZWRpdG9y
KCk7CisgICAgaWYgKGFjdGlvbiA9PSBEcmFnU291cmNlQWN0aW9uU2VsZWN0aW9uKSB7CisgICAg
ICAgIGlmIChlbmNsb3NpbmdUZXh0Rm9ybUNvbnRyb2woc291cmNlLnNlbGVjdGlvbigpLnNlbGVj
dGlvbigpLnN0YXJ0KCkpKQorICAgICAgICAgICAgcGFzdGVib2FyZC53cml0ZVBsYWluVGV4dChl
ZGl0b3Iuc2VsZWN0ZWRUZXh0Rm9yRGF0YVRyYW5zZmVyKCksIFBhc3RlYm9hcmQ6OkNhbm5vdFNt
YXJ0UmVwbGFjZSk7CisgICAgICAgIGVsc2UKKyAgICAgICAgICAgIGVkaXRvci53cml0ZVNlbGVj
dGlvblRvUGFzdGVib2FyZChwYXN0ZWJvYXJkKTsKKyAgICAgICAgcmV0dXJuOworICAgIH0KKwor
ICAgIGF1dG8qIGltYWdlID0gZ2V0SW1hZ2UoZWxlbWVudCk7CisgICAgYXV0byBpbWFnZVVSTCA9
IGhpdFRlc3RSZXN1bHQtPmFic29sdXRlSW1hZ2VVUkwoKTsKKyAgICBpZiAoKGFjdGlvbiAmIERy
YWdTb3VyY2VBY3Rpb25JbWFnZSkgJiYgIWltYWdlVVJMLmlzRW1wdHkoKSAmJiBpbWFnZSAmJiAh
aW1hZ2UtPmlzTnVsbCgpKSB7CisgICAgICAgIGVkaXRvci53cml0ZUltYWdlVG9QYXN0ZWJvYXJk
KHBhc3RlYm9hcmQsIGVsZW1lbnQsIGltYWdlVVJMLCB7IH0pOworICAgICAgICByZXR1cm47Cisg
ICAgfQorCisgICAgYXV0byBsaW5rVVJMID0gaGl0VGVzdFJlc3VsdC0+YWJzb2x1dGVMaW5rVVJM
KCk7CisgICAgaWYgKChhY3Rpb24gJiBEcmFnU291cmNlQWN0aW9uTGluaykgJiYgIWxpbmtVUkwu
aXNFbXB0eSgpICYmIHNvdXJjZS5kb2N1bWVudCgpLT5zZWN1cml0eU9yaWdpbigpLmNhbkRpc3Bs
YXkobGlua1VSTCkpCisgICAgICAgIGVkaXRvci5jb3B5VVJMKGxpbmtVUkwsIGhpdFRlc3RSZXN1
bHQtPnRleHRDb250ZW50KCkuc2ltcGxpZnlXaGl0ZVNwYWNlKCksIHBhc3RlYm9hcmQpOworI2Vs
c2UKKyAgICAvLyBGSVhNRTogTWFrZSB0aGlzIHdvcmsgb24gV2luZG93cyBieSBpbXBsZW1lbnRp
bmcgRWRpdG9yOjp3cml0ZVNlbGVjdGlvblRvUGFzdGVib2FyZCBhbmQgRWRpdG9yOjp3cml0ZUlt
YWdlVG9QYXN0ZWJvYXJkLgorICAgIFVOVVNFRF9QQVJBTShzb3VyY2UpOworICAgIFVOVVNFRF9Q
QVJBTShhY3Rpb24pOworICAgIFVOVVNFRF9QQVJBTShlbGVtZW50KTsKKyAgICBVTlVTRURfUEFS
QU0oZGF0YVRyYW5zZmVyKTsKKyAgICBVTlVTRURfUEFSQU0oZHJhZ09yaWdpbik7CisjZW5kaWYK
K30KKworT3B0aW9uYWw8SGl0VGVzdFJlc3VsdD4gRHJhZ0NvbnRyb2xsZXI6OmhpdFRlc3RSZXN1
bHRGb3JEcmFnU3RhcnQoRnJhbWUmIHNvdXJjZSwgRWxlbWVudCYgZWxlbWVudCwgY29uc3QgSW50
UG9pbnQmIGxvY2F0aW9uKSBjb25zdAoreworICAgIGlmICghc291cmNlLnZpZXcoKSB8fCAhc291
cmNlLmNvbnRlbnRSZW5kZXJlcigpKQorICAgICAgICByZXR1cm4gV1RGOjpudWxsb3B0OwogCi0g
ICAgUmVmPEZyYW1lPiBwcm90ZWN0b3Ioc3JjKTsKICAgICBjb25zdGV4cHIgT3B0aW9uU2V0PEhp
dFRlc3RSZXF1ZXN0OjpSZXF1ZXN0VHlwZT4gaGl0VHlwZSB7IEhpdFRlc3RSZXF1ZXN0OjpSZWFk
T25seSwgSGl0VGVzdFJlcXVlc3Q6OkFjdGl2ZSwgSGl0VGVzdFJlcXVlc3Q6OkFsbG93Q2hpbGRG
cmFtZUNvbnRlbnQgfTsKLSAgICBIaXRUZXN0UmVzdWx0IGhpdFRlc3RSZXN1bHQgPSBzcmMuZXZl
bnRIYW5kbGVyKCkuaGl0VGVzdFJlc3VsdEF0UG9pbnQoZHJhZ09yaWdpbiwgaGl0VHlwZSk7Cisg
ICAgYXV0byBoaXRUZXN0UmVzdWx0ID0gc291cmNlLmV2ZW50SGFuZGxlcigpLmhpdFRlc3RSZXN1
bHRBdFBvaW50KGxvY2F0aW9uLCBoaXRUeXBlKTsKIAotICAgIGJvb2wgc291cmNlQ29udGFpbnNI
aXROb2RlID0gc3RhdGUuc291cmNlLT5jb250YWluc0luY2x1ZGluZ1NoYWRvd0RPTShoaXRUZXN0
UmVzdWx0LmlubmVyTm9kZSgpKTsKKyAgICBib29sIHNvdXJjZUNvbnRhaW5zSGl0Tm9kZSA9IGVs
ZW1lbnQuY29udGFpbnNJbmNsdWRpbmdTaGFkb3dET00oaGl0VGVzdFJlc3VsdC5pbm5lck5vZGUo
KSk7CiAgICAgaWYgKCFzb3VyY2VDb250YWluc0hpdE5vZGUpIHsKICAgICAgICAgLy8gVGhlIG9y
aWdpbmFsIG5vZGUgYmVpbmcgZHJhZ2dlZCBpc24ndCB1bmRlciB0aGUgZHJhZyBvcmlnaW4gYW55
bW9yZS4uLiBtYXliZSBpdCB3YXMKICAgICAgICAgLy8gaGlkZGVuIG9yIG1vdmVkIG91dCBmcm9t
IHVuZGVyIHRoZSBjdXJzb3IuIFJlZ2FyZGxlc3MsIHdlIGRvbid0IHdhbnQgdG8gc3RhcnQgYSBk
cmFnIG9uCiAgICAgICAgIC8vIHNvbWV0aGluZyB0aGF0J3Mgbm90IGFjdHVhbGx5IHVuZGVyIHRo
ZSBkcmFnIG9yaWdpbi4KLSAgICAgICAgcmV0dXJuIGZhbHNlOworICAgICAgICByZXR1cm4gV1RG
OjpudWxsb3B0OwogICAgIH0KIAotICAgIFVSTCBsaW5rVVJMID0gaGl0VGVzdFJlc3VsdC5hYnNv
bHV0ZUxpbmtVUkwoKTsKLSAgICBVUkwgaW1hZ2VVUkwgPSBoaXRUZXN0UmVzdWx0LmFic29sdXRl
SW1hZ2VVUkwoKTsKKyAgICByZXR1cm4geyBoaXRUZXN0UmVzdWx0IH07Cit9CisKK2Jvb2wgRHJh
Z0NvbnRyb2xsZXI6OnN0YXJ0RHJhZyhGcmFtZSYgc3JjLCBjb25zdCBEcmFnU3RhdGUmIHN0YXRl
LCBEcmFnT3BlcmF0aW9uIHNyY09wLCBjb25zdCBQbGF0Zm9ybU1vdXNlRXZlbnQmIGRyYWdFdmVu
dCwgY29uc3QgSW50UG9pbnQmIGRyYWdPcmlnaW4sIEhhc05vbkRlZmF1bHRQYXN0ZWJvYXJkRGF0
YSBoYXNEYXRhKQoreworICAgIGlmICghc3RhdGUuc291cmNlKQorICAgICAgICByZXR1cm4gZmFs
c2U7CisKKyAgICBSZWY8RnJhbWU+IHByb3RlY3RvcihzcmMpOworICAgIGF1dG8gaGl0VGVzdFJl
c3VsdCA9IGhpdFRlc3RSZXN1bHRGb3JEcmFnU3RhcnQoc3JjLCAqc3RhdGUuc291cmNlLCBkcmFn
T3JpZ2luKTsKKyAgICBpZiAoIWhpdFRlc3RSZXN1bHQpCisgICAgICAgIHJldHVybiBmYWxzZTsK
KworICAgIGF1dG8gbGlua1VSTCA9IGhpdFRlc3RSZXN1bHQtPmFic29sdXRlTGlua1VSTCgpOwor
ICAgIGF1dG8gaW1hZ2VVUkwgPSBoaXRUZXN0UmVzdWx0LT5hYnNvbHV0ZUltYWdlVVJMKCk7CiAK
ICAgICBJbnRQb2ludCBtb3VzZURyYWdnZWRQb2ludCA9IHNyYy52aWV3KCktPndpbmRvd1RvQ29u
dGVudHMoZHJhZ0V2ZW50LnBvc2l0aW9uKCkpOwogCkBAIC0xMDQ2LDEzICsxMDk2LDEzIEBAIGJv
b2wgRHJhZ0NvbnRyb2xsZXI6OnN0YXJ0RHJhZyhGcmFtZSYgc3JjLCBjb25zdCBEcmFnU3RhdGUm
IHN0YXRlLCBEcmFnT3BlcmF0aW9uCiAgICAgICAgICAgICBpZiAoZWxlbWVudC5pc0NvbnRlbnRS
aWNobHlFZGl0YWJsZSgpKQogICAgICAgICAgICAgICAgIHNlbGVjdEVsZW1lbnQoZWxlbWVudCk7
CiAgICAgICAgICAgICBpZiAoIWF0dGFjaG1lbnRJbmZvKQotICAgICAgICAgICAgICAgIGRlY2xh
cmVBbmRXcml0ZURyYWdJbWFnZShkYXRhVHJhbnNmZXIsIGVsZW1lbnQsICFsaW5rVVJMLmlzRW1w
dHkoKSA/IGxpbmtVUkwgOiBpbWFnZVVSTCwgaGl0VGVzdFJlc3VsdC5hbHREaXNwbGF5U3RyaW5n
KCkpOworICAgICAgICAgICAgICAgIGRlY2xhcmVBbmRXcml0ZURyYWdJbWFnZShkYXRhVHJhbnNm
ZXIsIGVsZW1lbnQsICFsaW5rVVJMLmlzRW1wdHkoKSA/IGxpbmtVUkwgOiBpbWFnZVVSTCwgaGl0
VGVzdFJlc3VsdC0+YWx0RGlzcGxheVN0cmluZygpKTsKICAgICAgICAgfQogCiAgICAgICAgIGNs
aWVudCgpLndpbGxQZXJmb3JtRHJhZ1NvdXJjZUFjdGlvbihEcmFnU291cmNlQWN0aW9uSW1hZ2Us
IGRyYWdPcmlnaW4sIGRhdGFUcmFuc2Zlcik7CiAKICAgICAgICAgaWYgKCFkcmFnSW1hZ2UpCi0g
ICAgICAgICAgICBkb0ltYWdlRHJhZyhlbGVtZW50LCBkcmFnT3JpZ2luLCBoaXRUZXN0UmVzdWx0
LmltYWdlUmVjdCgpLCBzcmMsIG1fZHJhZ09mZnNldCwgc3RhdGUsIFdURk1vdmUoYXR0YWNobWVu
dEluZm8pKTsKKyAgICAgICAgICAgIGRvSW1hZ2VEcmFnKGVsZW1lbnQsIGRyYWdPcmlnaW4sIGhp
dFRlc3RSZXN1bHQtPmltYWdlUmVjdCgpLCBzcmMsIG1fZHJhZ09mZnNldCwgc3RhdGUsIFdURk1v
dmUoYXR0YWNobWVudEluZm8pKTsKICAgICAgICAgZWxzZSB7CiAgICAgICAgICAgICAvLyBESFRN
TCBkZWZpbmVkIGRyYWcgaW1hZ2UKICAgICAgICAgICAgIGRvU3lzdGVtRHJhZyhXVEZNb3ZlKGRy
YWdJbWFnZSksIGRyYWdMb2MsIGRyYWdPcmlnaW4sIHNyYywgc3RhdGUsIFdURk1vdmUoYXR0YWNo
bWVudEluZm8pKTsKQEAgLTEwNjQsNyArMTExNCw3IEBAIGJvb2wgRHJhZ0NvbnRyb2xsZXI6OnN0
YXJ0RHJhZyhGcmFtZSYgc3JjLCBjb25zdCBEcmFnU3RhdGUmIHN0YXRlLCBEcmFnT3BlcmF0aW9u
CiAgICAgaWYgKCFsaW5rVVJMLmlzRW1wdHkoKSAmJiAobV9kcmFnU291cmNlQWN0aW9uICYgRHJh
Z1NvdXJjZUFjdGlvbkxpbmspKSB7CiAgICAgICAgIFBhc3RlYm9hcmRXcml0ZXJEYXRhIHBhc3Rl
Ym9hcmRXcml0ZXJEYXRhOwogCi0gICAgICAgIFN0cmluZyB0ZXh0Q29udGVudFdpdGhTaW1wbGlm
aWVkV2hpdGVTcGFjZSA9IGhpdFRlc3RSZXN1bHQudGV4dENvbnRlbnQoKS5zaW1wbGlmeVdoaXRl
U3BhY2UoKTsKKyAgICAgICAgU3RyaW5nIHRleHRDb250ZW50V2l0aFNpbXBsaWZpZWRXaGl0ZVNw
YWNlID0gaGl0VGVzdFJlc3VsdC0+dGV4dENvbnRlbnQoKS5zaW1wbGlmeVdoaXRlU3BhY2UoKTsK
IAogICAgICAgICBpZiAoaGFzRGF0YSA9PSBIYXNOb25EZWZhdWx0UGFzdGVib2FyZERhdGE6Ok5v
KSB7CiAgICAgICAgICAgICAvLyBTaW1wbGlmeSB3aGl0ZXNwYWNlIHNvIHRoZSB0aXRsZSBwdXQg
b24gdGhlIGRhdGFUcmFuc2ZlciByZXNlbWJsZXMgd2hhdCB0aGUgdXNlciBzZWVzCkBAIC0xMDc4
LDcgKzExMjgsNyBAQCBib29sIERyYWdDb250cm9sbGVyOjpzdGFydERyYWcoRnJhbWUmIHNyYywg
Y29uc3QgRHJhZ1N0YXRlJiBzdGF0ZSwgRHJhZ09wZXJhdGlvbgogICAgICAgICAgICAgLy8gYnV0
IGRvbid0IG92ZXJ3cml0ZSBtb3JlIGdlbmVyYWwgcGFzdGVib2FyZCB0eXBlcy4KICAgICAgICAg
ICAgIFBhc3RlYm9hcmRVUkwgcGFzdGVib2FyZFVSTDsKICAgICAgICAgICAgIHBhc3RlYm9hcmRV
UkwudXJsID0gbGlua1VSTDsKLSAgICAgICAgICAgIHBhc3RlYm9hcmRVUkwudGl0bGUgPSBoaXRU
ZXN0UmVzdWx0LnRleHRDb250ZW50KCk7CisgICAgICAgICAgICBwYXN0ZWJvYXJkVVJMLnRpdGxl
ID0gaGl0VGVzdFJlc3VsdC0+dGV4dENvbnRlbnQoKTsKICAgICAgICAgICAgIGRhdGFUcmFuc2Zl
ci5wYXN0ZWJvYXJkKCkud3JpdGVUcnVzdHdvcnRoeVdlYlVSTHNQYm9hcmRUeXBlKHBhc3RlYm9h
cmRVUkwpOwogICAgICAgICB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRHJh
Z0NvbnRyb2xsZXIuaCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRHJhZ0NvbnRyb2xsZXIuaAppbmRl
eCA5NTdmYWIxMGY2MDMwN2I3Nzk2YmE3MTIxYjljYjc3NzY2N2VjY2NhLi45MGY4NzVjMDY3YTVj
NmExYTcwMDBkZGE1ZmEzODBhZTg2ZGQ3MTQ5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9w
YWdlL0RyYWdDb250cm9sbGVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9EcmFnQ29udHJv
bGxlci5oCkBAIC00Miw2ICs0Miw3IEBAIGNsYXNzIEZyYW1lOwogY2xhc3MgRnJhbWVTZWxlY3Rp
b247CiBjbGFzcyBIVE1MSW1hZ2VFbGVtZW50OwogY2xhc3MgSFRNTElucHV0RWxlbWVudDsKK2Ns
YXNzIEhpdFRlc3RSZXN1bHQ7CiBjbGFzcyBJbnRSZWN0OwogY2xhc3MgUGFnZTsKIGNsYXNzIFBs
YXRmb3JtTW91c2VFdmVudDsKQEAgLTkzLDYgKzk0LDcgQEAgcHVibGljOgogICAgIFdFQkNPUkVf
RVhQT1JUIHZvaWQgZmluYWxpemVEcm9wcGVkSW1hZ2VQbGFjZWhvbGRlcihIVE1MSW1hZ2VFbGVt
ZW50Jik7CiAgICAgV0VCQ09SRV9FWFBPUlQgdm9pZCBpbnNlcnREcm9wcGVkSW1hZ2VQbGFjZWhv
bGRlcnNBdENhcmV0KGNvbnN0IFZlY3RvcjxJbnRTaXplPiYgaW1hZ2VTaXplcyk7CiAKKyAgICB2
b2lkIHByZXBhcmVGb3JEcmFnU3RhcnQoRnJhbWUmIHNvdXJjZUZyYW1lLCBEcmFnU291cmNlQWN0
aW9uLCBFbGVtZW50JiBzb3VyY2VFbGVtZW50LCBEYXRhVHJhbnNmZXImLCBjb25zdCBJbnRQb2lu
dCYgZHJhZ09yaWdpbikgY29uc3Q7CiAgICAgYm9vbCBzdGFydERyYWcoRnJhbWUmIHNyYywgY29u
c3QgRHJhZ1N0YXRlJiwgRHJhZ09wZXJhdGlvbiBzcmNPcCwgY29uc3QgUGxhdGZvcm1Nb3VzZUV2
ZW50JiBkcmFnRXZlbnQsIGNvbnN0IEludFBvaW50JiBkcmFnT3JpZ2luLCBIYXNOb25EZWZhdWx0
UGFzdGVib2FyZERhdGEpOwogICAgIHN0YXRpYyBjb25zdCBJbnRTaXplJiBtYXhEcmFnSW1hZ2VT
aXplKCk7CiAKQEAgLTExOCw2ICsxMjAsOCBAQCBwcml2YXRlOgogICAgIHZvaWQgbW91c2VNb3Zl
ZEludG9Eb2N1bWVudChEb2N1bWVudCopOwogICAgIGJvb2wgc2hvdWxkVXNlQ2FjaGVkSW1hZ2VG
b3JEcmFnSW1hZ2UoY29uc3QgSW1hZ2UmKSBjb25zdDsKIAorICAgIE9wdGlvbmFsPEhpdFRlc3RS
ZXN1bHQ+IGhpdFRlc3RSZXN1bHRGb3JEcmFnU3RhcnQoRnJhbWUmLCBFbGVtZW50JiwgY29uc3Qg
SW50UG9pbnQmKSBjb25zdDsKKwogICAgIHZvaWQgZG9JbWFnZURyYWcoRWxlbWVudCYsIGNvbnN0
IEludFBvaW50JiwgY29uc3QgSW50UmVjdCYsIEZyYW1lJiwgSW50UG9pbnQmLCBjb25zdCBEcmFn
U3RhdGUmLCBQcm9taXNlZEF0dGFjaG1lbnRJbmZvJiYpOwogICAgIHZvaWQgZG9TeXN0ZW1EcmFn
KERyYWdJbWFnZSwgY29uc3QgSW50UG9pbnQmLCBjb25zdCBJbnRQb2ludCYsIEZyYW1lJiwgY29u
c3QgRHJhZ1N0YXRlJiwgUHJvbWlzZWRBdHRhY2htZW50SW5mbyYmKTsKIApkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvcGFnZS9FdmVudEhhbmRsZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvcGFn
ZS9FdmVudEhhbmRsZXIuY3BwCmluZGV4IDRjNmZiOTVlNmMwYmNlMTczNWFlZTAzYzA2ZDMxMTEw
NGYyMzQ0YmIuLmQ1NTc3ZWVmMTE0ODg2MDMxYzhhNzdkYzhhZTQzYTI2NGM4ZWFjZTUgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRXZlbnRIYW5kbGVyLmNwcAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9wYWdlL0V2ZW50SGFuZGxlci5jcHAKQEAgLTM3NzEsOSArMzc3MSwxMSBAQCB2b2lk
IEV2ZW50SGFuZGxlcjo6ZGlzcGF0Y2hFdmVudFRvRHJhZ1NvdXJjZUVsZW1lbnQoY29uc3QgQXRv
bVN0cmluZyYgZXZlbnRUeXBlLAogCiBib29sIEV2ZW50SGFuZGxlcjo6ZGlzcGF0Y2hEcmFnU3Rh
cnRFdmVudE9uU291cmNlRWxlbWVudChEYXRhVHJhbnNmZXImIGRhdGFUcmFuc2ZlcikKIHsKKyAg
ICBpZiAoYXV0byogcGFnZSA9IG1fZnJhbWUucGFnZSgpKQorICAgICAgICBwYWdlLT5kcmFnQ29u
dHJvbGxlcigpLnByZXBhcmVGb3JEcmFnU3RhcnQobV9mcmFtZSwgZHJhZ1N0YXRlKCkudHlwZSwg
KmRyYWdTdGF0ZSgpLnNvdXJjZSwgZGF0YVRyYW5zZmVyLCBtX21vdXNlRG93bkNvbnRlbnRzUG9z
aXRpb24pOwogICAgIHJldHVybiAhZGlzcGF0Y2hEcmFnRXZlbnQoZXZlbnROYW1lcygpLmRyYWdz
dGFydEV2ZW50LCAqZHJhZ1N0YXRlKCkuc291cmNlLCBtX21vdXNlRG93bkV2ZW50LCBkYXRhVHJh
bnNmZXIpICYmICFtX2ZyYW1lLnNlbGVjdGlvbigpLnNlbGVjdGlvbigpLmlzSW5QYXNzd29yZEZp
ZWxkKCk7CiB9Ci0gICAgCisKIHN0YXRpYyBib29sIEV4YWN0bHlPbmVCaXRTZXQoRHJhZ1NvdXJj
ZUFjdGlvbiBuKQogewogICAgIHJldHVybiBuICYmICEobiAmIChuIC0gMSkpOwo=
</data>

          </attachment>
      

    </bug>

</bugzilla>