<?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>25922</bug_id>
          
          <creation_ts>2009-05-21 03:37:02 -0700</creation_ts>
          <short_desc>setting event.dataTransfer.dropEffect = &apos;none&apos; from ondragover breaks, but ondragenter works</short_desc>
          <delta_ts>2009-07-08 10:09:49 -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>528+ (Nightly build)</version>
          <rep_platform>Mac</rep_platform>
          <op_sys>OS X 10.5</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Eric Seidel (no email)">eric</reporter>
          <assigned_to name="Eric Seidel (no email)">eric</assigned_to>
          <cc>noel.gordon</cc>
    
    <cc>oliver</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>122310</commentid>
    <comment_count>0</comment_count>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2009-05-21 03:37:02 -0700</bug_when>
    <thetext>setting event.dataTransfer.dropEffect from ondragover break, but ondragenter works

See attached test case.

The goal of the attached test case is to make the page *not* navigate when a file is dropped on it (as is the default browser behavior.  The page works correctly if you only set event.dataTransfer.dropEffect from within ondragenter.  If you also set dropEffect from ondragover, then the page breaks!  Seems like a bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>122311</commentid>
    <comment_count>1</comment_count>
      <attachid>30537</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2009-05-21 03:37:30 -0700</bug_when>
    <thetext>Created attachment 30537
test case which fails</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>122312</commentid>
    <comment_count>2</comment_count>
      <attachid>30538</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2009-05-21 03:38:15 -0700</bug_when>
    <thetext>Created attachment 30538
test case with one line commented out, success!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>122323</commentid>
    <comment_count>3</comment_count>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2009-05-21 04:44:05 -0700</bug_when>
    <thetext>I think this may be a combination of two factors.
1.  We create a new Clipboard for every event:
DragOperation DragController::tryDHTMLDrag(DragData* dragData)
    RefPtr&lt;Clipboard&gt; clipboard = dragData-&gt;createClipboard(policy);
2.  We use DragOperationNone to indicate that a document won&apos;t handle a drag:
DragOperation DragController::dragEnteredOrUpdated(DragData* dragData)
        operation = tryDocumentDrag(dragData, m_dragDestinationAction);
        if (operation == DragOperationNone &amp;&amp; (m_dragDestinationAction &amp; DragDestinationActionLoad))
            return operationForLoad(dragData);

tryDocumentDrag needs to return another parameter, which indicates if the document handled the drag or not.

And I don&apos;t think we should be creating a new clipboard on every event.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>122324</commentid>
    <comment_count>4</comment_count>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2009-05-21 04:45:48 -0700</bug_when>
    <thetext>Acually, the fact that we create a new Clipboard on every event is more likely the cause of bug 25925.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>124581</commentid>
    <comment_count>5</comment_count>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2009-06-05 15:30:11 -0700</bug_when>
    <thetext>I have a fix.  Creating tests now.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>124601</commentid>
    <comment_count>6</comment_count>
      <attachid>31021</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2009-06-05 17:51:42 -0700</bug_when>
    <thetext>Created attachment 31021
First pass fix

 10 files changed, 176 insertions(+), 52 deletions(-)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>124602</commentid>
    <comment_count>7</comment_count>
      <attachid>31021</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2009-06-05 17:52:42 -0700</bug_when>
    <thetext>Comment on attachment 31021
First pass fix

Btw, I tested this before my fix to make sure that prevent-drag-to-navigate.html failed as expected before the fix.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>127820</commentid>
    <comment_count>8</comment_count>
      <attachid>31021</attachid>
    <who name="Oliver Hunt">oliver</who>
    <bug_when>2009-06-23 23:00:57 -0700</bug_when>
    <thetext>Comment on attachment 31021
First pass fix

r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>127836</commentid>
    <comment_count>9</comment_count>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2009-06-24 00:08:03 -0700</bug_when>
    <thetext>Committing to http://svn.webkit.org/repository/webkit/trunk ...
	M	LayoutTests/ChangeLog
	A	LayoutTests/fast/events/drag-to-navigate-expected.txt
	A	LayoutTests/fast/events/drag-to-navigate.html
	A	LayoutTests/fast/events/prevent-drag-to-navigate-expected.txt
	A	LayoutTests/fast/events/prevent-drag-to-navigate.html
	A	LayoutTests/fast/events/resources/file-for-drag-to-navigate.html
	A	LayoutTests/fast/events/resources/file-for-prevent-drag-to-navigate.html
	M	WebCore/ChangeLog
	M	WebCore/page/DragController.cpp
	M	WebCore/page/DragController.h
Committed r45064
http://trac.webkit.org/changeset/45064</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>127840</commentid>
    <comment_count>10</comment_count>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2009-06-24 00:21:13 -0700</bug_when>
    <thetext>Build fix:
Committing to http://svn.webkit.org/repository/webkit/trunk ...
	M	WebCore/ChangeLog
	M	WebCore/page/DragController.cpp
Committed r45065
http://trac.webkit.org/changeset/45065</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>130447</commentid>
    <comment_count>11</comment_count>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2009-07-08 10:09:49 -0700</bug_when>
    <thetext>This caused bug 26787.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>30537</attachid>
            <date>2009-05-21 03:37:30 -0700</date>
            <delta_ts>2009-05-21 03:37:30 -0700</delta_ts>
            <desc>test case which fails</desc>
            <filename>protect.html</filename>
            <type>text/html</type>
            <size>1368</size>
            <attacher name="Eric Seidel (no email)">eric</attacher>
            
              <data encoding="base64">PGRpdj5JdCdzIG5vdCBwb3NzaWJsZSB0byBuYXZpZ2F0ZSB0aGlzIHBhZ2UgYnkgZHJvcHBpbmcg
YSBmaWxlIG9uIGl0ITwvZGl2Pgo8dGFibGUgaWQ9ImV2ZW50TG9nIiBzdHlsZT0iZm9udDogbW9u
b3NwYWNlIDEwcHgiPjwvdGFibGU+Cgo8c2NyaXB0Pgp2YXIgbGFzdEV2ZW50Um93OwpmdW5jdGlv
biBsb2cocykgewogICAgLy8gSW1wbGVtZW50IHJlcGVhdGluZyBldmVudCBjb3VudHMgdG8gbWFr
ZSB0aGUgbG9nIG1vcmUgcmVhZGFibGUuCiAgICBpZiAobGFzdEV2ZW50Um93ICYmIGxhc3RFdmVu
dFJvdy5maXJzdENoaWxkLmlubmVySFRNTCA9PSBzKSB7CiAgICAgICAgdmFyIGxhc3RFdmVudENv
dW50ID0gcGFyc2VJbnQobGFzdEV2ZW50Um93Lmxhc3RDaGlsZC5pbm5lckhUTUwsIDEwKTsKICAg
ICAgICBsYXN0RXZlbnRSb3cubGFzdENoaWxkLmlubmVySFRNTCA9IGxhc3RFdmVudENvdW50ID8g
bGFzdEV2ZW50Q291bnQgKyAxIDogMTsKICAgICAgICByZXR1cm47CiAgICB9CiAgICB2YXIgZXZl
bnRSb3cgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJ0ciIpOwogICAgZXZlbnRSb3cuaW5uZXJI
VE1MID0gIjx0ZD48L3RkPjx0ZD48L3RkPiI7CiAgICBldmVudFJvdy5maXJzdENoaWxkLmFwcGVu
ZENoaWxkKGRvY3VtZW50LmNyZWF0ZVRleHROb2RlKHMpKTsKICAgIGV2ZW50TG9nLmFwcGVuZENo
aWxkKGV2ZW50Um93KTsKICAgIGxhc3RFdmVudFJvdyA9IGV2ZW50Um93Owp9CgpmdW5jdGlvbiBs
b2dFdmVudCgpIHsKICAgIGxvZyhldmVudC50eXBlKTsKfQoKZnVuY3Rpb24gZHJhZ0VudGVyKCkg
ewogICAgZXZlbnQuZGF0YVRyYW5zZmVyLmRyb3BFZmZlY3QgPSAibm9uZSI7CiAgICBsb2dFdmVu
dCgpOwp9CmZ1bmN0aW9uIGRyYWdPdmVyKCkgewogICAgbG9nRXZlbnQoKTsKICAgIC8vICoqKiBS
RU1PVkUgVEhFIExJTkUgQkVMT1cgQU5EIFRISVMgUEFHRSBXT1JLUyBBUyBJTlRFTkRFRCAqKioq
CiAgICBldmVudC5kYXRhVHJhbnNmZXIuZHJvcEVmZmVjdCA9ICJub25lIjsKICAgIC8vICoqKiBS
RU1PVkUgVEhFIExJTkUgQUJPVkUgQU5EIFRISVMgUEFHRSBXT1JLUyBBUyBJTlRFTkRFRCAqKioq
CiAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpOwp9CmZ1bmN0aW9uIGRyb3AoKSB7CiAgICBsb2dF
dmVudCgpOwogICAgZXZlbnQucHJldmVudERlZmF1bHQoKTsKfQoKLy8gQ2FwdHVyZSBhbGwgZHJh
ZyBldmVudHMKd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoImRyYWdlbnRlciIsIGRyYWdFbnRlciwg
dHJ1ZSk7CndpbmRvdy5hZGRFdmVudExpc3RlbmVyKCJkcmFnb3ZlciIsIGRyYWdPdmVyLCB0cnVl
KTsKd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoImRyb3AiLCBkcm9wLCB0cnVlKTsKPC9zY3JpcHQ+
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>30538</attachid>
            <date>2009-05-21 03:38:15 -0700</date>
            <delta_ts>2009-05-21 03:38:15 -0700</delta_ts>
            <desc>test case with one line commented out, success!</desc>
            <filename>protect.html</filename>
            <type>text/html</type>
            <size>1370</size>
            <attacher name="Eric Seidel (no email)">eric</attacher>
            
              <data encoding="base64">PGRpdj5JdCdzIG5vdCBwb3NzaWJsZSB0byBuYXZpZ2F0ZSB0aGlzIHBhZ2UgYnkgZHJvcHBpbmcg
YSBmaWxlIG9uIGl0ITwvZGl2Pgo8dGFibGUgaWQ9ImV2ZW50TG9nIiBzdHlsZT0iZm9udDogbW9u
b3NwYWNlIDEwcHgiPjwvdGFibGU+Cgo8c2NyaXB0Pgp2YXIgbGFzdEV2ZW50Um93OwpmdW5jdGlv
biBsb2cocykgewogICAgLy8gSW1wbGVtZW50IHJlcGVhdGluZyBldmVudCBjb3VudHMgdG8gbWFr
ZSB0aGUgbG9nIG1vcmUgcmVhZGFibGUuCiAgICBpZiAobGFzdEV2ZW50Um93ICYmIGxhc3RFdmVu
dFJvdy5maXJzdENoaWxkLmlubmVySFRNTCA9PSBzKSB7CiAgICAgICAgdmFyIGxhc3RFdmVudENv
dW50ID0gcGFyc2VJbnQobGFzdEV2ZW50Um93Lmxhc3RDaGlsZC5pbm5lckhUTUwsIDEwKTsKICAg
ICAgICBsYXN0RXZlbnRSb3cubGFzdENoaWxkLmlubmVySFRNTCA9IGxhc3RFdmVudENvdW50ID8g
bGFzdEV2ZW50Q291bnQgKyAxIDogMTsKICAgICAgICByZXR1cm47CiAgICB9CiAgICB2YXIgZXZl
bnRSb3cgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJ0ciIpOwogICAgZXZlbnRSb3cuaW5uZXJI
VE1MID0gIjx0ZD48L3RkPjx0ZD48L3RkPiI7CiAgICBldmVudFJvdy5maXJzdENoaWxkLmFwcGVu
ZENoaWxkKGRvY3VtZW50LmNyZWF0ZVRleHROb2RlKHMpKTsKICAgIGV2ZW50TG9nLmFwcGVuZENo
aWxkKGV2ZW50Um93KTsKICAgIGxhc3RFdmVudFJvdyA9IGV2ZW50Um93Owp9CgpmdW5jdGlvbiBs
b2dFdmVudCgpIHsKICAgIGxvZyhldmVudC50eXBlKTsKfQoKZnVuY3Rpb24gZHJhZ0VudGVyKCkg
ewogICAgZXZlbnQuZGF0YVRyYW5zZmVyLmRyb3BFZmZlY3QgPSAibm9uZSI7CiAgICBsb2dFdmVu
dCgpOwp9CmZ1bmN0aW9uIGRyYWdPdmVyKCkgewogICAgbG9nRXZlbnQoKTsKICAgIC8vICoqKiBS
RU1PVkUgVEhFIExJTkUgQkVMT1cgQU5EIFRISVMgUEFHRSBXT1JLUyBBUyBJTlRFTkRFRCAqKioq
CiAgICAvL2V2ZW50LmRhdGFUcmFuc2Zlci5kcm9wRWZmZWN0ID0gIm5vbmUiOwogICAgLy8gKioq
IFJFTU9WRSBUSEUgTElORSBBQk9WRSBBTkQgVEhJUyBQQUdFIFdPUktTIEFTIElOVEVOREVEICoq
KioKICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7Cn0KZnVuY3Rpb24gZHJvcCgpIHsKICAgIGxv
Z0V2ZW50KCk7CiAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpOwp9CgovLyBDYXB0dXJlIGFsbCBk
cmFnIGV2ZW50cwp3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigiZHJhZ2VudGVyIiwgZHJhZ0VudGVy
LCB0cnVlKTsKd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoImRyYWdvdmVyIiwgZHJhZ092ZXIsIHRy
dWUpOwp3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigiZHJvcCIsIGRyb3AsIHRydWUpOwo8L3Njcmlw
dD4=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>31021</attachid>
            <date>2009-06-05 17:51:42 -0700</date>
            <delta_ts>2009-06-23 23:00:57 -0700</delta_ts>
            <desc>First pass fix</desc>
            <filename>First-pass-fix.patch</filename>
            <type>text/plain</type>
            <size>13710</size>
            <attacher name="Eric Seidel (no email)">eric</attacher>
            
              <data encoding="base64">MDg4N2U1ZDg1YTdkYjc2OWI4ZWYzMGZkY2MwNjA5NWUwMTg1NjFhMwpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4IGIxYjQzMmMu
LjFkMTJmYzIgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5nZUxvZworKysgYi9MYXlvdXRU
ZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNyBAQAorMjAwOS0wNi0wNSAgRXJpYyBTZWlkZWwg
IDxlcmljQHdlYmtpdC5vcmc+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISku
CisKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTI1OTIy
CisgICAgICAgIEZpeCBkcm9wRWZmZWN0ID0gIm5vbmUiIHRvIHdvcmsgYXMgZXhwZWN0ZWQuCisK
KyAgICAgICAgKiBmYXN0L2V2ZW50cy9kcmFnLXRvLW5hdmlnYXRlLWV4cGVjdGVkLnR4dDogQ29w
aWVkIGZyb20gTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vZG91YmxlY2xpY2std2hpdGVz
cGFjZS1pbWctY3Jhc2gtZXhwZWN0ZWQudHh0LgorICAgICAgICAqIGZhc3QvZXZlbnRzL2RyYWct
dG8tbmF2aWdhdGUuaHRtbDogQWRkZWQuCisgICAgICAgICogZmFzdC9ldmVudHMvcHJldmVudC1k
cmFnLXRvLW5hdmlnYXRlLWV4cGVjdGVkLnR4dDogQ29waWVkIGZyb20gTGF5b3V0VGVzdHMvZWRp
dGluZy9zZWxlY3Rpb24vZG91YmxlY2xpY2std2hpdGVzcGFjZS1pbWctY3Jhc2gtZXhwZWN0ZWQu
dHh0LgorICAgICAgICAqIGZhc3QvZXZlbnRzL3ByZXZlbnQtZHJhZy10by1uYXZpZ2F0ZS5odG1s
OiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L2V2ZW50cy9yZXNvdXJjZXMvZmlsZS1mb3ItZHJhZy10
by1uYXZpZ2F0ZS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L2V2ZW50cy9yZXNvdXJjZXMv
ZmlsZS1mb3ItcHJldmVudC1kcmFnLXRvLW5hdmlnYXRlLmh0bWw6IEFkZGVkLgorCiAyMDA5LTA2
LTAxICBCZW4gTXVyZG9jaCAgPGJlbm1AZ29vZ2xlLmNvbT4KIAogICAgICAgICA8aHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTI1NzEwPiBIVE1MNSBEYXRhYmFzZSBzdG9w
cyBleGVjdXRpbmcgdHJhbnNhY3Rpb25zIGlmIHRoZSBVUkwgaGFzaCBjaGFuZ2VzIHdoaWxlIGEg
dHJhbnNhY3Rpb24gaXMgb3BlbiBhbmQgYW4gWEhSIGlzIGluIHByb2dyZXNzLgpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZmFzdC9ldmVudHMvZHJhZy10by1uYXZpZ2F0ZS1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9mYXN0L2V2ZW50cy9kcmFnLXRvLW5hdmlnYXRlLWV4cGVjdGVkLnR4dApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi43ZWYyMmU5Ci0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZmFzdC9ldmVudHMvZHJhZy10by1uYXZpZ2F0ZS1leHBlY3RlZC50
eHQKQEAgLTAsMCArMSBAQAorUEFTUwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9ldmVu
dHMvZHJhZy10by1uYXZpZ2F0ZS5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9ldmVudHMvZHJhZy10
by1uYXZpZ2F0ZS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjZiMDNi
MWQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2V2ZW50cy9kcmFnLXRvLW5h
dmlnYXRlLmh0bWwKQEAgLTAsMCArMSwxNyBAQAorPGRpdj5GQUlMPC9kaXY+Cis8c2NyaXB0Pgor
ZnVuY3Rpb24gZG9UZXN0KCkgeworICAgIGxheW91dFRlc3RDb250cm9sbGVyLmR1bXBBc1RleHQo
KTsKKworICAgIGV2ZW50U2VuZGVyLmJlZ2luRHJhZ1dpdGhGaWxlcyhbInJlc291cmNlcy9maWxl
LWZvci1kcmFnLXRvLW5hdmlnYXRlLmh0bWwiXSk7CisgICAgZXZlbnRTZW5kZXIubW91c2VNb3Zl
VG8oMTAsIDEwKTsKKyAgICBldmVudFNlbmRlci5tb3VzZVVwKCk7Cit9CisKK2lmICh3aW5kb3cu
ZXZlbnRTZW5kZXIpIHsKKyAgICBsYXlvdXRUZXN0Q29udHJvbGxlci53YWl0VW50aWxEb25lKCk7
CisgICAgLy8gVGhlIGxvYWQgc2VlbXMgdG8gZmFpbCBpZiB3ZSB0cnkgdG8ga2ljayBvZiBhCisg
ICAgLy8gbmV3IGxvYWQgYmVmb3JlIHRoaXMgb25lIGlzIGZpbmlzaGVkLiAgU28gd2Ugd2FpdC4K
KyAgICB3aW5kb3cub25sb2FkID0gZG9UZXN0KCk7Cit9Cis8L3NjcmlwdD4KZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2Zhc3QvZXZlbnRzL3ByZXZlbnQtZHJhZy10by1uYXZpZ2F0ZS1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9mYXN0L2V2ZW50cy9wcmV2ZW50LWRyYWctdG8tbmF2aWdhdGUt
ZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjdlZjIyZTkK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2V2ZW50cy9wcmV2ZW50LWRyYWct
dG8tbmF2aWdhdGUtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEgQEAKK1BBU1MKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2Zhc3QvZXZlbnRzL3ByZXZlbnQtZHJhZy10by1uYXZpZ2F0ZS5odG1sIGIv
TGF5b3V0VGVzdHMvZmFzdC9ldmVudHMvcHJldmVudC1kcmFnLXRvLW5hdmlnYXRlLmh0bWwKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYTBmNDNmYQotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2Zhc3QvZXZlbnRzL3ByZXZlbnQtZHJhZy10by1uYXZpZ2F0ZS5odG1s
CkBAIC0wLDAgKzEsNDQgQEAKKzxkaXY+UEFTUzwvZGl2PgorPHNjcmlwdD4KK2Z1bmN0aW9uIGRy
YWdFbnRlcigpIHsKKyAgICBldmVudC5kYXRhVHJhbnNmZXIuZHJvcEVmZmVjdCA9ICJub25lIjsK
KyAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpOworfQorZnVuY3Rpb24gZHJhZ092ZXIoKSB7Cisg
ICAgLy8gU2VlIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yNTkyMgor
ICAgIC8vIFRoaXMgaXMgdGhlIGxpbmUgd2hpY2ggY2F1c2VzIGZhaWx1cmU6CisgICAgZXZlbnQu
ZGF0YVRyYW5zZmVyLmRyb3BFZmZlY3QgPSAibm9uZSI7CisKKyAgICBldmVudC5wcmV2ZW50RGVm
YXVsdCgpOworfQorZnVuY3Rpb24gZHJhZ0xlYXZlKCkgeworICAgIGV2ZW50LnByZXZlbnREZWZh
dWx0KCk7CisgICAgc2V0VGltZW91dChmdW5jdGlvbigpIHsKKyAgICAgICAgLy8gV2FpdCB1bnRp
bCBhZnRlciB0aGUgZHJvcCB0byBub3RpZnlEb25lLCBqdXN0IHRvIG1ha2Ugc3VyZQorICAgICAg
ICAvLyB0aGUgbmF2aWdhdGlvbiB3YXMgcHJldmVudGVkIGNvcnJlY3RseS4KKyAgICAgICAgaWYg
KHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlcikKKyAgICAgICAgICAgIGxheW91dFRlc3RDb250
cm9sbGVyLm5vdGlmeURvbmUoKTsKKyAgICB9LCAwKTsKK30KKworLy8gQ2FwdHVyZSBhbGwgZHJh
ZyBldmVudHMKK3dpbmRvdy5hZGRFdmVudExpc3RlbmVyKCJkcmFnZW50ZXIiLCBkcmFnRW50ZXIs
IHRydWUpOword2luZG93LmFkZEV2ZW50TGlzdGVuZXIoImRyYWdvdmVyIiwgZHJhZ092ZXIsIHRy
dWUpOworLy8gV2UgZG9uJ3QgZ2V0IGEgZHJvcCBldmVudCB3aGVuIHdlIHByZXZlbnQgZHJvcCwg
c28gbGlzdGVuIGZvciBkcmFnbGVhdmUKK3dpbmRvdy5hZGRFdmVudExpc3RlbmVyKCJkcmFnbGVh
dmUiLCBkcmFnTGVhdmUsIHRydWUpOworCitmdW5jdGlvbiBkb1Rlc3QoKSB7CisgICAgbGF5b3V0
VGVzdENvbnRyb2xsZXIuZHVtcEFzVGV4dCgpOworCisgICAgZXZlbnRTZW5kZXIuYmVnaW5EcmFn
V2l0aEZpbGVzKFsicmVzb3VyY2VzL2ZpbGUtZm9yLXByZXZlbnQtZHJhZy10by1uYXZpZ2F0ZS5o
dG1sIl0pOworICAgIGV2ZW50U2VuZGVyLm1vdXNlTW92ZVRvKDEwLCAxMCk7CisgICAgZXZlbnRT
ZW5kZXIubW91c2VVcCgpOworfQorCitpZiAod2luZG93LmV2ZW50U2VuZGVyKSB7CisgICAgbGF5
b3V0VGVzdENvbnRyb2xsZXIud2FpdFVudGlsRG9uZSgpOworICAgIC8vIFRoZSBsb2FkIHNlZW1z
IHRvIGZhaWwgKGZvciB0aGUgd3JvbmcgcmVhc29ucykgaWYgd2UgdHJ5IHRvIGtpY2sgb2YgYQor
ICAgIC8vIG5ldyBsb2FkIGJlZm9yZSB0aGlzIG9uZSBpcyBmaW5pc2hlZC4gIFNvIHdlIHdhaXQu
CisgICAgd2luZG93Lm9ubG9hZCA9IGRvVGVzdCgpOworfQorPC9zY3JpcHQ+CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9mYXN0L2V2ZW50cy9yZXNvdXJjZXMvZmlsZS1mb3ItZHJhZy10by1uYXZp
Z2F0ZS5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9ldmVudHMvcmVzb3VyY2VzL2ZpbGUtZm9yLWRy
YWctdG8tbmF2aWdhdGUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi44
NGJkOWNlCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9ldmVudHMvcmVzb3Vy
Y2VzL2ZpbGUtZm9yLWRyYWctdG8tbmF2aWdhdGUuaHRtbApAQCAtMCwwICsxLDQgQEAKK1BBU1MK
KzxzY3JpcHQ+CitsYXlvdXRUZXN0Q29udHJvbGxlci5ub3RpZnlEb25lKCk7Cis8L3NjcmlwdD4K
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZXZlbnRzL3Jlc291cmNlcy9maWxlLWZvci1w
cmV2ZW50LWRyYWctdG8tbmF2aWdhdGUuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvZXZlbnRzL3Jl
c291cmNlcy9maWxlLWZvci1wcmV2ZW50LWRyYWctdG8tbmF2aWdhdGUuaHRtbApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi45ZWYzZDhkCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZmFzdC9ldmVudHMvcmVzb3VyY2VzL2ZpbGUtZm9yLXByZXZlbnQtZHJhZy10by1u
YXZpZ2F0ZS5odG1sCkBAIC0wLDAgKzEsNSBAQAorRkFJTCAtIERyYWcgbmF2aWdhdGlvbiBvY2N1
cnJlZCBldmVuIHRob3VnaCB0aGUgcGFnZSB0cmllZCB0byBwcmV2ZW50IGl0LgorPHNjcmlwdD4K
Ky8vIFRoaXMgaXMgbmV2ZXIgY2FsbGVkLCBidXQgcHJldmVudHMgdGhlIHRlc3QgZnJvbSB0aW1p
bmcgb3V0IGlmIHdlIGV2ZXIgZmFpbCB0aGlzIHRlc3QuCitsYXlvdXRUZXN0Q29udHJvbGxlci5u
b3RpZnlEb25lKCk7Cis8L3NjcmlwdD4KZGlmZiAtLWdpdCBhL1dlYkNvcmUvQ2hhbmdlTG9nIGIv
V2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNjFjOWJlYi4uNzY1ZDQ1NSAxMDA2NDQKLS0tIGEvV2Vi
Q29yZS9DaGFuZ2VMb2cKKysrIGIvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyOCBAQAor
MjAwOS0wNi0wNSAgRXJpYyBTZWlkZWwgIDxlcmljQHdlYmtpdC5vcmc+CisKKyAgICAgICAgUmV2
aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTI1OTIyCisgICAgICAgIEpTIHNldHRpbmcgZHJvcEVmZmVjdCA9
ICJub25lIiBjYXVzZXMgdHJ5REhUTUxEcmFnCisgICAgICAgIHRvIHJldHVybiBEcmFnT3BlcmF0
aW9uTm9uZS4gIFdoaWNoIGlzIGFsc28gdGhlIHZhbHVlCisgICAgICAgIHRyeURIVE1MRHJhZyBw
cmV2aW91c2x5IHVzZWQgdG8gaW5kaWNhdGUgSlMgZGlkIG5vdAorICAgICAgICB3YW50IHRvIGhh
bmRsZSB0aGUgZHJhZy4KKworICAgICAgICBNYWtlIGl0IHBvc3NpYmxlIGZvciB0aGUgRHJhZ0Nv
bnRyb2xsZXI6OnRyeSogbWV0aG9kcworICAgICAgICB0byByZXR1cm4gYSBib29sIHRvIGluZGlj
YXRlIGlmIGphdmFzY3JpcHQgYWNjZXB0ZWQKKyAgICAgICAgb3IgcmVqZWN0ZWQgdGhlIGRyYWcg
ZXZlbnQsIHNlcGFyYXRlIGZyb20gdGhlIERyYWdPcGVyYXRpb24uCisKKyAgICAgICAgVGVzdHM6
CisgICAgICAgIC0gZmFzdC9ldmVudHMvZHJhZy10by1uYXZpZ2F0ZS5odG1sCisgICAgICAgIC0g
ZmFzdC9ldmVudHMvcHJldmVudC1kcmFnLXRvLW5hdmlnYXRlLmh0bWwKKworICAgICAgICAqIHBh
Z2UvRHJhZ0NvbnRyb2xsZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6RHJhZ0NvbnRyb2xsZXI6
OmRyYWdFbnRlcmVkT3JVcGRhdGVkKToKKyAgICAgICAgKFdlYkNvcmU6OkRyYWdDb250cm9sbGVy
Ojp0cnlEb2N1bWVudERyYWcpOgorICAgICAgICAoV2ViQ29yZTo6ZGVmYXVsdE9wZXJhdGlvbkZv
ckRyYWcpOgorICAgICAgICAoV2ViQ29yZTo6RHJhZ0NvbnRyb2xsZXI6OnRyeURIVE1MRHJhZyk6
CisgICAgICAgICogcGFnZS9EcmFnQ29udHJvbGxlci5oOgorCiAyMDA5LTA2LTA1ICBTYW0gV2Vp
bmlnICA8c2FtQHdlYmtpdC5vcmc+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgQW5kZXJzIENhcmxz
c29uLgpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wYWdlL0RyYWdDb250cm9sbGVyLmNwcCBiL1dlYkNv
cmUvcGFnZS9EcmFnQ29udHJvbGxlci5jcHAKaW5kZXggZTFiNWVhNy4uODNhOWQwMiAxMDA2NDQK
LS0tIGEvV2ViQ29yZS9wYWdlL0RyYWdDb250cm9sbGVyLmNwcAorKysgYi9XZWJDb3JlL3BhZ2Uv
RHJhZ0NvbnRyb2xsZXIuY3BwCkBAIC0yMjIsMTcgKzIyMiwxNSBAQCBEcmFnT3BlcmF0aW9uIERy
YWdDb250cm9sbGVyOjpkcmFnRW50ZXJlZE9yVXBkYXRlZChEcmFnRGF0YSogZHJhZ0RhdGEpCiAg
ICAgbW91c2VNb3ZlZEludG9Eb2N1bWVudChtX3BhZ2UtPm1haW5GcmFtZSgpLT5kb2N1bWVudEF0
UG9pbnQoZHJhZ0RhdGEtPmNsaWVudFBvc2l0aW9uKCkpKTsKIAogICAgIG1fZHJhZ0Rlc3RpbmF0
aW9uQWN0aW9uID0gbV9jbGllbnQtPmFjdGlvbk1hc2tGb3JEcmFnKGRyYWdEYXRhKTsKLSAgICAK
LSAgICBEcmFnT3BlcmF0aW9uIG9wZXJhdGlvbiA9IERyYWdPcGVyYXRpb25Ob25lOwotICAgIAot
ICAgIGlmIChtX2RyYWdEZXN0aW5hdGlvbkFjdGlvbiA9PSBEcmFnRGVzdGluYXRpb25BY3Rpb25O
b25lKQorICAgIGlmIChtX2RyYWdEZXN0aW5hdGlvbkFjdGlvbiA9PSBEcmFnRGVzdGluYXRpb25B
Y3Rpb25Ob25lKSB7CiAgICAgICAgIGNhbmNlbERyYWcoKTsgLy8gRklYTUU6IFdoeSBub3QgY2Fs
bCBtb3VzZU1vdmVkSW50b0RvY3VtZW50KDApPwotICAgIGVsc2UgewotICAgICAgICBvcGVyYXRp
b24gPSB0cnlEb2N1bWVudERyYWcoZHJhZ0RhdGEsIG1fZHJhZ0Rlc3RpbmF0aW9uQWN0aW9uKTsK
LSAgICAgICAgaWYgKG9wZXJhdGlvbiA9PSBEcmFnT3BlcmF0aW9uTm9uZSAmJiAobV9kcmFnRGVz
dGluYXRpb25BY3Rpb24gJiBEcmFnRGVzdGluYXRpb25BY3Rpb25Mb2FkKSkKLSAgICAgICAgICAg
IHJldHVybiBvcGVyYXRpb25Gb3JMb2FkKGRyYWdEYXRhKTsKKyAgICAgICAgcmV0dXJuIERyYWdP
cGVyYXRpb25Ob25lOwogICAgIH0KLSAgICAKKworICAgIERyYWdPcGVyYXRpb24gb3BlcmF0aW9u
ID0gRHJhZ09wZXJhdGlvbk5vbmU7CisgICAgYm9vbCBoYW5kbGVkQnlEb2N1bWVudCA9IHRyeURv
Y3VtZW50RHJhZyhkcmFnRGF0YSwgbV9kcmFnRGVzdGluYXRpb25BY3Rpb24sIG9wZXJhdGlvbik7
CisgICAgaWYgKCFoYW5kbGVkQnlEb2N1bWVudCAmJiAobV9kcmFnRGVzdGluYXRpb25BY3Rpb24g
JiBEcmFnRGVzdGluYXRpb25BY3Rpb25Mb2FkKSkKKyAgICAgICAgcmV0dXJuIG9wZXJhdGlvbkZv
ckxvYWQoZHJhZ0RhdGEpOwogICAgIHJldHVybiBvcGVyYXRpb247CiB9CiAKQEAgLTI1NiwyNSAr
MjU0LDMzIEBAIHN0YXRpYyBIVE1MSW5wdXRFbGVtZW50KiBhc0ZpbGVJbnB1dChOb2RlKiBub2Rl
KQogICAgIHJldHVybiAwOwogfQogICAgIAotRHJhZ09wZXJhdGlvbiBEcmFnQ29udHJvbGxlcjo6
dHJ5RG9jdW1lbnREcmFnKERyYWdEYXRhKiBkcmFnRGF0YSwgRHJhZ0Rlc3RpbmF0aW9uQWN0aW9u
IGFjdGlvbk1hc2spCitib29sIERyYWdDb250cm9sbGVyOjp0cnlEb2N1bWVudERyYWcoRHJhZ0Rh
dGEqIGRyYWdEYXRhLCBEcmFnRGVzdGluYXRpb25BY3Rpb24gYWN0aW9uTWFzaywgRHJhZ09wZXJh
dGlvbiYgb3BlcmF0aW9uKQogewogICAgIEFTU0VSVChkcmFnRGF0YSk7CiAgICAgCiAgICAgaWYg
KCFtX2RvY3VtZW50VW5kZXJNb3VzZSkKLSAgICAgICAgcmV0dXJuIERyYWdPcGVyYXRpb25Ob25l
OwotICAgIAotICAgIERyYWdPcGVyYXRpb24gb3BlcmF0aW9uID0gRHJhZ09wZXJhdGlvbk5vbmU7
CisgICAgICAgIHJldHVybiBmYWxzZTsKKworICAgIG1faXNIYW5kbGluZ0RyYWcgPSBmYWxzZTsK
ICAgICBpZiAoYWN0aW9uTWFzayAmIERyYWdEZXN0aW5hdGlvbkFjdGlvbkRIVE1MKQotICAgICAg
ICBvcGVyYXRpb24gPSB0cnlESFRNTERyYWcoZHJhZ0RhdGEpOwotICAgIG1faXNIYW5kbGluZ0Ry
YWcgPSBvcGVyYXRpb24gIT0gRHJhZ09wZXJhdGlvbk5vbmU7IAorICAgICAgICBtX2lzSGFuZGxp
bmdEcmFnID0gdHJ5REhUTUxEcmFnKGRyYWdEYXRhLCBvcGVyYXRpb24pOwogCisgICAgLy8gSXQn
cyB1bmNsZWFyIHdoeSB0aGlzIGNoZWNrIGlzIGFmdGVyIHRyeURIVE1MRHJhZy4KKyAgICAvLyBX
ZSBzZW5kIGRyYWcgZXZlbnRzIGluIHRyeURIVE1MRHJhZyBhbmQgdGhhdCBtYXkgYmUgdGhlIHJl
YXNvbi4KICAgICBSZWZQdHI8RnJhbWVWaWV3PiBmcmFtZVZpZXcgPSBtX2RvY3VtZW50VW5kZXJN
b3VzZS0+dmlldygpOwogICAgIGlmICghZnJhbWVWaWV3KQotICAgICAgICByZXR1cm4gb3BlcmF0
aW9uOwotICAgIAorICAgICAgICByZXR1cm4gZmFsc2U7CisKKyAgICBpZiAobV9pc0hhbmRsaW5n
RHJhZykgeworICAgICAgICBtX3BhZ2UtPmRyYWdDYXJldENvbnRyb2xsZXIoKS0+Y2xlYXIoKTsK
KyAgICAgICAgcmV0dXJuIHRydWU7CisgICAgfQorCiAgICAgaWYgKChhY3Rpb25NYXNrICYgRHJh
Z0Rlc3RpbmF0aW9uQWN0aW9uRWRpdCkgJiYgIW1faXNIYW5kbGluZ0RyYWcgJiYgY2FuUHJvY2Vz
c0RyYWcoZHJhZ0RhdGEpKSB7Ci0gICAgICAgIGlmIChkcmFnRGF0YS0+Y29udGFpbnNDb2xvcigp
KSAKLSAgICAgICAgICAgIHJldHVybiBEcmFnT3BlcmF0aW9uR2VuZXJpYzsKKyAgICAgICAgaWYg
KGRyYWdEYXRhLT5jb250YWluc0NvbG9yKCkpIHsKKyAgICAgICAgICAgIG9wZXJhdGlvbiA9IERy
YWdPcGVyYXRpb25HZW5lcmljOworICAgICAgICAgICAgcmV0dXJuIHRydWU7CisgICAgICAgIH0K
ICAgICAgICAgCiAgICAgICAgIEludFBvaW50IGRyYWdQb3MgPSBkcmFnRGF0YS0+Y2xpZW50UG9z
aXRpb24oKTsKICAgICAgICAgSW50UG9pbnQgcG9pbnQgPSBmcmFtZVZpZXctPndpbmRvd1RvQ29u
dGVudHMoZHJhZ1Bvcyk7CkBAIC0yODYsMTEgKzI5MiwxMCBAQCBEcmFnT3BlcmF0aW9uIERyYWdD
b250cm9sbGVyOjp0cnlEb2N1bWVudERyYWcoRHJhZ0RhdGEqIGRyYWdEYXRhLCBEcmFnRGVzdGlu
YXRpbwogICAgICAgICB9CiAKICAgICAgICAgRnJhbWUqIGlubmVyRnJhbWUgPSBlbGVtZW50LT5k
b2N1bWVudCgpLT5mcmFtZSgpOwotICAgICAgICByZXR1cm4gZHJhZ0lzTW92ZShpbm5lckZyYW1l
LT5zZWxlY3Rpb24oKSkgPyBEcmFnT3BlcmF0aW9uTW92ZSA6IERyYWdPcGVyYXRpb25Db3B5Owot
ICAgIH0gCi0gICAgCi0gICAgbV9wYWdlLT5kcmFnQ2FyZXRDb250cm9sbGVyKCktPmNsZWFyKCk7
Ci0gICAgcmV0dXJuIG9wZXJhdGlvbjsKKyAgICAgICAgb3BlcmF0aW9uID0gZHJhZ0lzTW92ZShp
bm5lckZyYW1lLT5zZWxlY3Rpb24oKSkgPyBEcmFnT3BlcmF0aW9uTW92ZSA6IERyYWdPcGVyYXRp
b25Db3B5OworICAgICAgICByZXR1cm4gdHJ1ZTsKKyAgICB9CisgICAgcmV0dXJuIGZhbHNlOwog
fQogCiBEcmFnU291cmNlQWN0aW9uIERyYWdDb250cm9sbGVyOjpkZWxlZ2F0ZURyYWdTb3VyY2VB
Y3Rpb24oY29uc3QgSW50UG9pbnQmIHdpbmRvd1BvaW50KQpAQCAtNDUzLDQzICs0NTgsNTEgQEAg
Ym9vbCBEcmFnQ29udHJvbGxlcjo6Y2FuUHJvY2Vzc0RyYWcoRHJhZ0RhdGEqIGRyYWdEYXRhKQog
ICAgIHJldHVybiB0cnVlOwogfQogCi1EcmFnT3BlcmF0aW9uIERyYWdDb250cm9sbGVyOjp0cnlE
SFRNTERyYWcoRHJhZ0RhdGEqIGRyYWdEYXRhKQorc3RhdGljIERyYWdPcGVyYXRpb24gZGVmYXVs
dE9wZXJhdGlvbkZvckRyYWcoRHJhZ09wZXJhdGlvbiBzcmNPcE1hc2spCit7CisgICAgLy8gVGhp
cyBpcyBkZXNpZ25lZCB0byBtYXRjaCBJRSdzIG9wZXJhdGlvbiBmYWxsYmFjayBmb3IgdGhlIGNh
c2Ugd2hlcmUKKyAgICAvLyB0aGUgcGFnZSBjYWxscyBwcmV2ZW50RGVmYXVsdCgpIGluIGEgZHJh
ZyBldmVudCBidXQgZG9lc24ndCBzZXQgZHJvcEVmZmVjdC4KKyAgICBpZiAoc3JjT3BNYXNrICYg
RHJhZ09wZXJhdGlvbkNvcHkpCisgICAgICAgICByZXR1cm4gRHJhZ09wZXJhdGlvbkNvcHk7Cisg
ICAgaWYgKHNyY09wTWFzayAmIERyYWdPcGVyYXRpb25Nb3ZlIHx8IHNyY09wTWFzayAmIERyYWdP
cGVyYXRpb25HZW5lcmljKQorICAgICAgICByZXR1cm4gRHJhZ09wZXJhdGlvbk1vdmU7CisgICAg
aWYgKHNyY09wTWFzayAmIERyYWdPcGVyYXRpb25MaW5rKQorICAgICAgICByZXR1cm4gRHJhZ09w
ZXJhdGlvbkxpbms7CisKKyAgICAvLyBGSVhNRTogRG9lcyBJRSByZWFsbHkgcmV0dXJuICJnZW5l
cmljIiBldmVuIGlmIG5vIG9wZXJhdGlvbnMgd2VyZSBhbGxvd2VkIGJ5IHRoZSBzb3VyY2U/Cisg
ICAgcmV0dXJuIERyYWdPcGVyYXRpb25HZW5lcmljOworfQorCitib29sIERyYWdDb250cm9sbGVy
Ojp0cnlESFRNTERyYWcoRHJhZ0RhdGEqIGRyYWdEYXRhLCBEcmFnT3BlcmF0aW9uJiBvcGVyYXRp
b24pCiB7ICAgCiAgICAgQVNTRVJUKGRyYWdEYXRhKTsKICAgICBBU1NFUlQobV9kb2N1bWVudFVu
ZGVyTW91c2UpOwotICAgIERyYWdPcGVyYXRpb24gb3AgPSBEcmFnT3BlcmF0aW9uTm9uZTsKICAg
ICBSZWZQdHI8RnJhbWU+IG1haW5GcmFtZSA9IG1fcGFnZS0+bWFpbkZyYW1lKCk7CiAgICAgUmVm
UHRyPEZyYW1lVmlldz4gdmlld1Byb3RlY3RvciA9IG1haW5GcmFtZS0+dmlldygpOwogICAgIGlm
ICghdmlld1Byb3RlY3RvcikKLSAgICAgICAgcmV0dXJuIERyYWdPcGVyYXRpb25Ob25lOwotICAg
IAorICAgICAgICByZXR1cm4gZmFsc2U7CisKICAgICBDbGlwYm9hcmRBY2Nlc3NQb2xpY3kgcG9s
aWN5ID0gbV9kb2N1bWVudFVuZGVyTW91c2UtPnNlY3VyaXR5T3JpZ2luKCktPmlzTG9jYWwoKSA/
IENsaXBib2FyZFJlYWRhYmxlIDogQ2xpcGJvYXJkVHlwZXNSZWFkYWJsZTsKICAgICBSZWZQdHI8
Q2xpcGJvYXJkPiBjbGlwYm9hcmQgPSBkcmFnRGF0YS0+Y3JlYXRlQ2xpcGJvYXJkKHBvbGljeSk7
Ci0gICAgRHJhZ09wZXJhdGlvbiBzcmNPcCA9IGRyYWdEYXRhLT5kcmFnZ2luZ1NvdXJjZU9wZXJh
dGlvbk1hc2soKTsKLSAgICBjbGlwYm9hcmQtPnNldFNvdXJjZU9wZXJhdGlvbihzcmNPcCk7Ci0g
ICAgCi0gICAgUGxhdGZvcm1Nb3VzZUV2ZW50IGV2ZW50ID0gY3JlYXRlTW91c2VFdmVudChkcmFn
RGF0YSk7Ci0gICAgaWYgKG1haW5GcmFtZS0+ZXZlbnRIYW5kbGVyKCktPnVwZGF0ZURyYWdBbmRE
cm9wKGV2ZW50LCBjbGlwYm9hcmQuZ2V0KCkpKSB7Ci0gICAgICAgIC8vICpvcCB1bmNoYW5nZWQg
aWYgbm8gc291cmNlIG9wIHdhcyBzZXQKLSAgICAgICAgaWYgKCFjbGlwYm9hcmQtPmRlc3RpbmF0
aW9uT3BlcmF0aW9uKG9wKSkgewotICAgICAgICAgICAgLy8gVGhlIGVsZW1lbnQgYWNjZXB0ZWQg
YnV0IHRoZXkgZGlkbid0IHBpY2sgYW4gb3BlcmF0aW9uLCBzbyB3ZSBwaWNrIG9uZSBmb3IgdGhl
bQotICAgICAgICAgICAgLy8gKGFzIGRvZXMgV2luSUUpLgotICAgICAgICAgICAgaWYgKHNyY09w
ICYgRHJhZ09wZXJhdGlvbkNvcHkpCi0gICAgICAgICAgICAgICAgb3AgPSBEcmFnT3BlcmF0aW9u
Q29weTsKLSAgICAgICAgICAgIGVsc2UgaWYgKHNyY09wICYgRHJhZ09wZXJhdGlvbk1vdmUgfHwg
c3JjT3AgJiBEcmFnT3BlcmF0aW9uR2VuZXJpYykKLSAgICAgICAgICAgICAgICBvcCA9IERyYWdP
cGVyYXRpb25Nb3ZlOwotICAgICAgICAgICAgZWxzZSBpZiAoc3JjT3AgJiBEcmFnT3BlcmF0aW9u
TGluaykKLSAgICAgICAgICAgICAgICBvcCA9IERyYWdPcGVyYXRpb25MaW5rOwotICAgICAgICAg
ICAgZWxzZQotICAgICAgICAgICAgICAgIG9wID0gRHJhZ09wZXJhdGlvbkdlbmVyaWM7Ci0gICAg
ICAgIH0gZWxzZSBpZiAoIShvcCAmIHNyY09wKSkgewotICAgICAgICAgICAgb3AgPSBEcmFnT3Bl
cmF0aW9uTm9uZTsKLSAgICAgICAgfQorICAgIERyYWdPcGVyYXRpb24gc3JjT3BNYXNrID0gZHJh
Z0RhdGEtPmRyYWdnaW5nU291cmNlT3BlcmF0aW9uTWFzaygpOworICAgIGNsaXBib2FyZC0+c2V0
U291cmNlT3BlcmF0aW9uKHNyY09wTWFzayk7CiAKKyAgICBQbGF0Zm9ybU1vdXNlRXZlbnQgZXZl
bnQgPSBjcmVhdGVNb3VzZUV2ZW50KGRyYWdEYXRhKTsKKyAgICBpZiAoIW1haW5GcmFtZS0+ZXZl
bnRIYW5kbGVyKCktPnVwZGF0ZURyYWdBbmREcm9wKGV2ZW50LCBjbGlwYm9hcmQuZ2V0KCkpKSB7
CiAgICAgICAgIGNsaXBib2FyZC0+c2V0QWNjZXNzUG9saWN5KENsaXBib2FyZE51bWIpOyAgICAv
LyBpbnZhbGlkYXRlIGNsaXBib2FyZCBoZXJlIGZvciBzZWN1cml0eQotICAgICAgICByZXR1cm4g
b3A7CisgICAgICAgIHJldHVybiBmYWxzZTsKKyAgICB9CisKKyAgICBpZiAoIWNsaXBib2FyZC0+
ZGVzdGluYXRpb25PcGVyYXRpb24ob3BlcmF0aW9uKSkgeworICAgICAgICAvLyBUaGUgZWxlbWVu
dCBhY2NlcHRlZCBidXQgdGhleSBkaWRuJ3QgcGljayBhbiBvcGVyYXRpb24sIHNvIHdlIHBpY2sg
b25lICh0byBtYXRjaCBJRSkuCisgICAgICAgIG9wZXJhdGlvbiA9IGRlZmF1bHRPcGVyYXRpb25G
b3JEcmFnKHNyY09wTWFzayk7CisgICAgfSBlbHNlIGlmICghKHNyY09wTWFzayAmIG9wZXJhdGlv
bikpIHsKKyAgICAgICAgLy8gVGhlIGVsZW1lbnQgcGlja2VkIGFuIG9wZXJhdGlvbiB3aGljaCBp
cyBub3Qgc3VwcG9ydGVkIGJ5IHRoZSBzb3VyY2UKKyAgICAgICAgb3BlcmF0aW9uID0gRHJhZ09w
ZXJhdGlvbk5vbmU7CiAgICAgfQotICAgIHJldHVybiBvcDsKKworICAgIGNsaXBib2FyZC0+c2V0
QWNjZXNzUG9saWN5KENsaXBib2FyZE51bWIpOyAgICAvLyBpbnZhbGlkYXRlIGNsaXBib2FyZCBo
ZXJlIGZvciBzZWN1cml0eQorICAgIHJldHVybiB0cnVlOwogfQogCiBib29sIERyYWdDb250cm9s
bGVyOjptYXlTdGFydERyYWdBdEV2ZW50TG9jYXRpb24oY29uc3QgRnJhbWUqIGZyYW1lLCBjb25z
dCBJbnRQb2ludCYgZnJhbWVQb3MpCmRpZmYgLS1naXQgYS9XZWJDb3JlL3BhZ2UvRHJhZ0NvbnRy
b2xsZXIuaCBiL1dlYkNvcmUvcGFnZS9EcmFnQ29udHJvbGxlci5oCmluZGV4IDZmZTFmN2YuLjk0
NzI1ODkgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGFnZS9EcmFnQ29udHJvbGxlci5oCisrKyBiL1dl
YkNvcmUvcGFnZS9EcmFnQ29udHJvbGxlci5oCkBAIC05Niw4ICs5Niw4IEBAIG5hbWVzcGFjZSBX
ZWJDb3JlIHsKICAgICAgICAgYm9vbCBjb25jbHVkZUVkaXREcmFnKERyYWdEYXRhKik7CiAgICAg
ICAgIERyYWdPcGVyYXRpb24gZHJhZ0VudGVyZWRPclVwZGF0ZWQoRHJhZ0RhdGEqKTsKICAgICAg
ICAgRHJhZ09wZXJhdGlvbiBvcGVyYXRpb25Gb3JMb2FkKERyYWdEYXRhKik7Ci0gICAgICAgIERy
YWdPcGVyYXRpb24gdHJ5RG9jdW1lbnREcmFnKERyYWdEYXRhKiwgRHJhZ0Rlc3RpbmF0aW9uQWN0
aW9uKTsKLSAgICAgICAgRHJhZ09wZXJhdGlvbiB0cnlESFRNTERyYWcoRHJhZ0RhdGEqKTsKKyAg
ICAgICAgYm9vbCB0cnlEb2N1bWVudERyYWcoRHJhZ0RhdGEqLCBEcmFnRGVzdGluYXRpb25BY3Rp
b24sIERyYWdPcGVyYXRpb24mKTsKKyAgICAgICAgYm9vbCB0cnlESFRNTERyYWcoRHJhZ0RhdGEq
LCBEcmFnT3BlcmF0aW9uJik7CiAgICAgICAgIERyYWdPcGVyYXRpb24gZHJhZ09wZXJhdGlvbihE
cmFnRGF0YSopOwogICAgICAgICB2b2lkIGNhbmNlbERyYWcoKTsKICAgICAgICAgYm9vbCBkcmFn
SXNNb3ZlKFNlbGVjdGlvbkNvbnRyb2xsZXIqKTsK
</data>
<flag name="review"
          id="15791"
          type_id="1"
          status="+"
          setter="oliver"
    />
          </attachment>
      

    </bug>

</bugzilla>