<?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>87977</bug_id>
          
          <creation_ts>2012-05-31 07:49:35 -0700</creation_ts>
          <short_desc>[Qt] Clean up our viewport handling mess</short_desc>
          <delta_ts>2012-06-01 04:14:29 -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>WebKit Qt</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Kenneth Rohde Christiansen">kenneth</reporter>
          <assigned_to name="Kenneth Rohde Christiansen">kenneth</assigned_to>
          <cc>cmarcelo</cc>
    
    <cc>hausmann</cc>
    
    <cc>menard</cc>
    
    <cc>webkit.review.bot</cc>
    
    <cc>zalan</cc>
    
    <cc>zoltan</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>638413</commentid>
    <comment_count>0</comment_count>
    <who name="Kenneth Rohde Christiansen">kenneth</who>
    <bug_when>2012-05-31 07:49:35 -0700</bug_when>
    <thetext>Consolidated functionality from QQuickWebViewPrivate* into ViewportInteractionEngine that belongs there, in preparation for renaming ViewportInteractionEngine in the future.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>638414</commentid>
    <comment_count>1</comment_count>
      <attachid>145092</attachid>
    <who name="Kenneth Rohde Christiansen">kenneth</who>
    <bug_when>2012-05-31 07:50:28 -0700</bug_when>
    <thetext>Created attachment 145092
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>638455</commentid>
    <comment_count>2</comment_count>
      <attachid>145092</attachid>
    <who name="Andras Becsi">abecsi</who>
    <bug_when>2012-05-31 08:38:48 -0700</bug_when>
    <thetext>Comment on attachment 145092
Patch

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

The patch looks generally good to me.

&gt; Source/WebKit2/UIProcess/API/qt/qquickwebview.cpp:858
&gt; +    // FIXME: Examine why there is not an interactionEngine here in the beginning.

The interactionEngine is created when the WebView component is completed in QQuickWebViewFlickablePrivate::onComponentComplete().
This mainly has historical reasons but it also reduces updates on startup.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>639185</commentid>
    <comment_count>3</comment_count>
    <who name="Kenneth Rohde Christiansen">kenneth</who>
    <bug_when>2012-06-01 04:14:29 -0700</bug_when>
    <thetext>Landed in 119210</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>145092</attachid>
            <date>2012-05-31 07:50:28 -0700</date>
            <delta_ts>2012-06-01 03:46:39 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-87977-20120531164900.patch</filename>
            <type>text/plain</type>
            <size>20575</size>
            <attacher name="Kenneth Rohde Christiansen">kenneth</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTE5MDc1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKaW5kZXggNjRlMjY4YTExZjdiZGEz
YjY1YTJmM2M4MDk5YTY1NzMzMDc3YmUxNS4uODRhNzE3YTlmZDVmNWI2NGE2ZTBhYjRiNDYyMTJk
ZDVlMWE3OWU3YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJLaXQyL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQyIEBACisyMDEyLTA1LTMxICBLZW5u
ZXRoIFJvaGRlIENocmlzdGlhbnNlbiAgPGtlbm5ldGhAd2Via2l0Lm9yZz4KKworICAgICAgICBb
UXRdIENsZWFuIHVwIG91ciB2aWV3cG9ydCBoYW5kbGluZyBtZXNzCisgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD04Nzk3NworCisgICAgICAgIFJldmlld2Vk
IGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIENvbnNvbGlkYXRlZCBmdW5jdGlvbmFsaXR5
IGZyb20gUVF1aWNrV2ViVmlld1ByaXZhdGUqIGludG8KKyAgICAgICAgVmlld3BvcnRJbnRlcmFj
dGlvbkVuZ2luZSB0aGF0IGJlbG9uZ3MgdGhlcmUsIGluIHByZXBhcmF0aW9uIGZvcgorICAgICAg
ICByZW5hbWluZyBWaWV3cG9ydEludGVyYWN0aW9uRW5naW5lIGluIHRoZSBmdXR1cmUuCisKKyAg
ICAgICAgUmVtb3ZlIHVubmVlZGVkIG1ldGhvZHMgYW5kIG1vdmUgb3RoZXJzIHRvIHByaXZhdGUu
CisKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL3F0L3FxdWlja3dlYnZpZXcuY3BwOgorICAgICAg
ICAoUVF1aWNrV2ViVmlld0ZsaWNrYWJsZVByaXZhdGU6OlFRdWlja1dlYlZpZXdGbGlja2FibGVQ
cml2YXRlKToKKyAgICAgICAgKFFRdWlja1dlYlZpZXdGbGlja2FibGVQcml2YXRlOjpvbkNvbXBv
bmVudENvbXBsZXRlKToKKyAgICAgICAgKFFRdWlja1dlYlZpZXdGbGlja2FibGVQcml2YXRlOjpk
aWRDaGFuZ2VWaWV3cG9ydFByb3BlcnRpZXMpOgorICAgICAgICAoUVF1aWNrV2ViVmlld0ZsaWNr
YWJsZVByaXZhdGU6OnVwZGF0ZVZpZXdwb3J0U2l6ZSk6CisgICAgICAgIChRUXVpY2tXZWJWaWV3
RmxpY2thYmxlUHJpdmF0ZTo6X3FfcmVzdW1lKToKKyAgICAgICAgKFFRdWlja1dlYlZpZXdGbGlj
a2FibGVQcml2YXRlOjpwYWdlRGlkUmVxdWVzdFNjcm9sbCk6CisgICAgICAgICogVUlQcm9jZXNz
L0FQSS9xdC9xcXVpY2t3ZWJ2aWV3X3AuaDoKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL3F0L3Fx
dWlja3dlYnZpZXdfcF9wLmg6CisgICAgICAgIChRUXVpY2tXZWJWaWV3UHJpdmF0ZSk6CisgICAg
ICAgIChRUXVpY2tXZWJWaWV3RmxpY2thYmxlUHJpdmF0ZSk6CisgICAgICAgICogVUlQcm9jZXNz
L3F0L1F0Vmlld3BvcnRJbnRlcmFjdGlvbkVuZ2luZS5jcHA6CisgICAgICAgIChXZWJLaXQ6OlZp
ZXdwb3J0VXBkYXRlRGVmZXJyZXI6On5WaWV3cG9ydFVwZGF0ZURlZmVycmVyKToKKyAgICAgICAg
KFdlYktpdDo6UXRWaWV3cG9ydEludGVyYWN0aW9uRW5naW5lOjpRdFZpZXdwb3J0SW50ZXJhY3Rp
b25FbmdpbmUpOgorICAgICAgICAoV2ViS2l0OjpRdFZpZXdwb3J0SW50ZXJhY3Rpb25FbmdpbmU6
OnZpZXdwb3J0QXR0cmlidXRlc0NoYW5nZWQpOgorICAgICAgICAoV2ViS2l0OjpRdFZpZXdwb3J0
SW50ZXJhY3Rpb25FbmdpbmU6OnBhZ2VDb250ZW50c1NpemVDaGFuZ2VkKToKKyAgICAgICAgKFdl
YktpdDo6UXRWaWV3cG9ydEludGVyYWN0aW9uRW5naW5lOjpwYWdlSXRlbVBvc2l0aW9uQ2hhbmdl
ZCk6CisgICAgICAgIChXZWJLaXQ6OlF0Vmlld3BvcnRJbnRlcmFjdGlvbkVuZ2luZTo6cGFnZUNv
bnRlbnRQb3NpdGlvblJlcXVlc3RlZCk6CisgICAgICAgIChXZWJLaXQ6OlF0Vmlld3BvcnRJbnRl
cmFjdGlvbkVuZ2luZTo6dmlzaWJsZUNvbnRlbnRzUmVjdCk6CisgICAgICAgIChXZWJLaXQpOgor
ICAgICAgICAoV2ViS2l0OjpRdFZpZXdwb3J0SW50ZXJhY3Rpb25FbmdpbmU6OmluZm9ybVZpc2li
bGVDb250ZW50Q2hhbmdlKToKKyAgICAgICAgKFdlYktpdDo6UXRWaWV3cG9ydEludGVyYWN0aW9u
RW5naW5lOjp2aWV3cG9ydEl0ZW1TaXplQ2hhbmdlZCk6CisgICAgICAgICogVUlQcm9jZXNzL3F0
L1F0Vmlld3BvcnRJbnRlcmFjdGlvbkVuZ2luZS5oOgorICAgICAgICAoV2ViS2l0KToKKyAgICAg
ICAgKFF0Vmlld3BvcnRJbnRlcmFjdGlvbkVuZ2luZSk6CisKIDIwMTItMDUtMzEgIEFuZHkgRXN0
ZXMgIDxhZXN0ZXNAYXBwbGUuY29tPgogCiAgICAgICAgIE1vdmUgdGhlIHNwZWNpZmljYXRpb24g
b2YgZnJhbWV3b3JrIGFuZCBsaWJyYXJ5IGxpbmtpbmcgb3V0IG9mIFdlYktpdDIueGNvZGVwcm9q
IGFuZCBpbnRvIFdlYktpdDIueGNjb25maWcKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJ
UHJvY2Vzcy9BUEkvcXQvcXF1aWNrd2Vidmlldy5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nl
c3MvQVBJL3F0L3FxdWlja3dlYnZpZXcuY3BwCmluZGV4IDViNDNlMzM3ZDZjOGUwNTc5NTVjYjA5
YmI4ZGEwZmZlMmY3N2VhMWMuLjg1OGFiNmY2NjYzZTk0NDA2N2ZmOThjZDFiMDU2NGUzMTViOTQ5
MDEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvcXQvcXF1aWNrd2Vi
dmlldy5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9xdC9xcXVpY2t3ZWJ2
aWV3LmNwcApAQCAtNzM1LDE2ICs3MzUsNiBAQCB2b2lkIFFRdWlja1dlYlZpZXdQcml2YXRlOjpz
ZXRDb250ZW50UG9zKGNvbnN0IFFQb2ludEYmIHBvcykKICAgICBxLT5zZXRDb250ZW50WShwb3Mu
eSgpKTsKIH0KIAotUVJlY3QgUVF1aWNrV2ViVmlld1ByaXZhdGU6OnZpc2libGVDb250ZW50c1Jl
Y3QoKSBjb25zdAotewotICAgIFFfUShjb25zdCBRUXVpY2tXZWJWaWV3KTsKLSAgICBjb25zdCBR
UmVjdEYgdmlzaWJsZVJlY3QocS0+Ym91bmRpbmdSZWN0KCkuaW50ZXJzZWN0ZWQocGFnZVZpZXct
PmJvdW5kaW5nUmVjdCgpKSk7Ci0KLSAgICAvLyBXZSBhdm9pZCB1c2luZyB0b0FsaWduZWRSZWN0
KCkgYmVjYXVzZSBpdCBwcm9kdWNlcyBpbmNvbnNpc3RlbnQgd2lkdGggYW5kIGhlaWdodC4KLSAg
ICBRUmVjdEYgbWFwcGVkUmVjdChxLT5tYXBSZWN0VG9XZWJDb250ZW50KHZpc2libGVSZWN0KSk7
Ci0gICAgcmV0dXJuIFFSZWN0KGZsb29yKG1hcHBlZFJlY3QueCgpKSwgZmxvb3IobWFwcGVkUmVj
dC55KCkpLCBmbG9vcihtYXBwZWRSZWN0LndpZHRoKCkpLCBmbG9vcihtYXBwZWRSZWN0LmhlaWdo
dCgpKSk7Ci19Ci0KIFdlYkNvcmU6OkludFNpemUgUVF1aWNrV2ViVmlld1ByaXZhdGU6OnZpZXdT
aXplKCkgY29uc3QKIHsKICAgICByZXR1cm4gV2ViQ29yZTo6SW50U2l6ZShwYWdlVmlldy0+d2lk
dGgoKSwgcGFnZVZpZXctPmhlaWdodCgpKTsKQEAgLTgyMCw3ICs4MTAsNiBAQCB2b2lkIFFRdWlj
a1dlYlZpZXdMZWdhY3lQcml2YXRlOjpzZXRab29tRmFjdG9yKHFyZWFsIGZhY3RvcikKIFFRdWlj
a1dlYlZpZXdGbGlja2FibGVQcml2YXRlOjpRUXVpY2tXZWJWaWV3RmxpY2thYmxlUHJpdmF0ZShR
UXVpY2tXZWJWaWV3KiB2aWV3cG9ydCkKICAgICA6IFFRdWlja1dlYlZpZXdQcml2YXRlKHZpZXdw
b3J0KQogICAgICwgcGFnZUlzU3VzcGVuZGVkKGZhbHNlKQotICAgICwgbGFzdENvbW1pdHRlZFNj
YWxlKC0xKQogewogICAgIC8vIERpc2FibGUgbW91c2UgZXZlbnRzIG9uIHRoZSBmbGlja2FibGUg
d2ViIHZpZXcgc28gd2UgZG8gbm90CiAgICAgLy8gc2VsZWN0IHRleHQgZHVyaW5nIHBhbiBnZXN0
dXJlcyBvbiBwbGF0Zm9ybXMgd2hpY2ggc2VuZCBib3RoCkBAIC04NDYsMTIgKzgzNSwxMSBAQCB2
b2lkIFFRdWlja1dlYlZpZXdGbGlja2FibGVQcml2YXRlOjpvbkNvbXBvbmVudENvbXBsZXRlKCkK
IHsKICAgICBRX1EoUVF1aWNrV2ViVmlldyk7CiAKLSAgICBpbnRlcmFjdGlvbkVuZ2luZS5yZXNl
dChuZXcgUXRWaWV3cG9ydEludGVyYWN0aW9uRW5naW5lKHEsIHBhZ2VWaWV3LmRhdGEoKSkpOwor
ICAgIGludGVyYWN0aW9uRW5naW5lLnJlc2V0KG5ldyBRdFZpZXdwb3J0SW50ZXJhY3Rpb25Fbmdp
bmUod2ViUGFnZVByb3h5LmdldCgpLCBxLCBwYWdlVmlldy5kYXRhKCkpKTsKICAgICBwYWdlVmll
dy0+ZXZlbnRIYW5kbGVyKCktPnNldFZpZXdwb3J0SW50ZXJhY3Rpb25FbmdpbmUoaW50ZXJhY3Rp
b25FbmdpbmUuZGF0YSgpKTsKIAogICAgIFFPYmplY3Q6OmNvbm5lY3QoaW50ZXJhY3Rpb25Fbmdp
bmUuZGF0YSgpLCBTSUdOQUwoY29udGVudFN1c3BlbmRSZXF1ZXN0ZWQoKSksIHEsIFNMT1QoX3Ff
c3VzcGVuZCgpKSk7CiAgICAgUU9iamVjdDo6Y29ubmVjdChpbnRlcmFjdGlvbkVuZ2luZS5kYXRh
KCksIFNJR05BTChjb250ZW50UmVzdW1lUmVxdWVzdGVkKCkpLCBxLCBTTE9UKF9xX3Jlc3VtZSgp
KSk7Ci0gICAgUU9iamVjdDo6Y29ubmVjdChpbnRlcmFjdGlvbkVuZ2luZS5kYXRhKCksIFNJR05B
TChpbmZvcm1WaXNpYmxlQ29udGVudENoYW5nZShRUG9pbnRGKSksIHEsIFNMT1QoX3Ffb25JbmZv
cm1WaXNpYmxlQ29udGVudENoYW5nZShRUG9pbnRGKSkpOwogCiAgICAgX3FfcmVzdW1lKCk7CiAK
QEAgLTg2MSw1MiArODQ5LDE1IEBAIHZvaWQgUVF1aWNrV2ViVmlld0ZsaWNrYWJsZVByaXZhdGU6
Om9uQ29tcG9uZW50Q29tcGxldGUoKQogCiB2b2lkIFFRdWlja1dlYlZpZXdGbGlja2FibGVQcml2
YXRlOjpkaWRDaGFuZ2VWaWV3cG9ydFByb3BlcnRpZXMoY29uc3QgV2ViQ29yZTo6Vmlld3BvcnRB
dHRyaWJ1dGVzJiBuZXdBdHRyaWJ1dGVzKQogewotICAgIGludGVyYWN0aW9uRW5naW5lLT52aWV3
cG9ydEF0dHJpYnV0ZXNDaGFuZ2VkKG5ld0F0dHJpYnV0ZXMpOworICAgIGlmIChpbnRlcmFjdGlv
bkVuZ2luZSkKKyAgICAgICAgaW50ZXJhY3Rpb25FbmdpbmUtPnZpZXdwb3J0QXR0cmlidXRlc0No
YW5nZWQobmV3QXR0cmlidXRlcyk7CiB9CiAKIHZvaWQgUVF1aWNrV2ViVmlld0ZsaWNrYWJsZVBy
aXZhdGU6OnVwZGF0ZVZpZXdwb3J0U2l6ZSgpCiB7Ci0gICAgUV9RKFFRdWlja1dlYlZpZXcpOwot
ICAgIFFTaXplIHZpZXdwb3J0U2l6ZSA9IHEtPmJvdW5kaW5nUmVjdCgpLnNpemUoKS50b1NpemUo
KTsKLQotICAgIGlmICh2aWV3cG9ydFNpemUuaXNFbXB0eSgpIHx8ICFpbnRlcmFjdGlvbkVuZ2lu
ZSkKLSAgICAgICAgcmV0dXJuOwotCi0gICAgV2ViUHJlZmVyZW5jZXMqIHdrUHJlZnMgPSB3ZWJQ
YWdlUHJveHktPnBhZ2VHcm91cCgpLT5wcmVmZXJlbmNlcygpOwotICAgIHdrUHJlZnMtPnNldERl
dmljZVdpZHRoKHZpZXdwb3J0U2l6ZS53aWR0aCgpKTsKLSAgICB3a1ByZWZzLT5zZXREZXZpY2VI
ZWlnaHQodmlld3BvcnRTaXplLmhlaWdodCgpKTsKLQotICAgIC8vIExldCB0aGUgV2ViUHJvY2Vz
cyBrbm93IGFib3V0IHRoZSBuZXcgdmlld3BvcnQgc2l6ZSwgc28gdGhhdAotICAgIC8vIGl0IGNh
biByZXNpemUgdGhlIGNvbnRlbnQgYWNjb3JkaW5nbHkuCi0gICAgd2ViUGFnZVByb3h5LT5zZXRW
aWV3cG9ydFNpemUodmlld3BvcnRTaXplKTsKLQotICAgIF9xX29uSW5mb3JtVmlzaWJsZUNvbnRl
bnRDaGFuZ2UoUVBvaW50RigpKTsKLX0KLQotdm9pZCBRUXVpY2tXZWJWaWV3RmxpY2thYmxlUHJp
dmF0ZTo6X3Ffb25JbmZvcm1WaXNpYmxlQ29udGVudENoYW5nZShjb25zdCBRUG9pbnRGJiB0cmFq
ZWN0b3J5VmVjdG9yKQotewotICAgIFFfUShRUXVpY2tXZWJWaWV3KTsKLQotICAgIERyYXdpbmdB
cmVhUHJveHkqIGRyYXdpbmdBcmVhID0gd2ViUGFnZVByb3h5LT5kcmF3aW5nQXJlYSgpOwotICAg
IGlmICghZHJhd2luZ0FyZWEpCi0gICAgICAgIHJldHVybjsKLQotICAgIFFSZWN0RiBhY2N1cmF0
ZVZpc2libGVSZWN0KHEtPmJvdW5kaW5nUmVjdCgpKTsKLSAgICBhY2N1cmF0ZVZpc2libGVSZWN0
LnRyYW5zbGF0ZShjb250ZW50UG9zKCkpOwotCi0gICAgaWYgKGFjY3VyYXRlVmlzaWJsZVJlY3Qg
PT0gZHJhd2luZ0FyZWEtPmNvbnRlbnRzUmVjdCgpKQotICAgICAgICByZXR1cm47Ci0KLSAgICBm
bG9hdCBzY2FsZSA9IHBhZ2VWaWV3LT5jb250ZW50c1NjYWxlKCk7Ci0KLSAgICBpZiAoc2NhbGUg
IT0gbGFzdENvbW1pdHRlZFNjYWxlKQotICAgICAgICBlbWl0IHEtPmV4cGVyaW1lbnRhbCgpLT50
ZXN0KCktPmNvbnRlbnRzU2NhbGVDb21taXR0ZWQoKTsKLSAgICBsYXN0Q29tbWl0dGVkU2NhbGUg
PSBzY2FsZTsKLQotICAgIGRyYXdpbmdBcmVhLT5zZXRWaXNpYmxlQ29udGVudHNSZWN0KFFSZWN0
KHZpc2libGVDb250ZW50c1JlY3QoKSksIHNjYWxlLCB0cmFqZWN0b3J5VmVjdG9yLCBGbG9hdFBv
aW50KGFjY3VyYXRlVmlzaWJsZVJlY3QueCgpLCBhY2N1cmF0ZVZpc2libGVSZWN0LnkoKSkpOwot
Ci0gICAgLy8gRW5zdXJlIHRoYXQgdXBkYXRlUGFpbnROb2RlIGlzIGFsd2F5cyBjYWxsZWQgYmVm
b3JlIHBhaW50aW5nLgotICAgIHBhZ2VWaWV3LT51cGRhdGUoKTsKKyAgICAvLyBGSVhNRTogRXhh
bWluZSB3aHkgdGhlcmUgaXMgbm90IGFuIGludGVyYWN0aW9uRW5naW5lIGhlcmUgaW4gdGhlIGJl
Z2lubmluZy4KKyAgICBpZiAoaW50ZXJhY3Rpb25FbmdpbmUpCisgICAgICAgIGludGVyYWN0aW9u
RW5naW5lLT52aWV3cG9ydEl0ZW1TaXplQ2hhbmdlZCgpOwogfQogCiB2b2lkIFFRdWlja1dlYlZp
ZXdGbGlja2FibGVQcml2YXRlOjpfcV9zdXNwZW5kKCkKQEAgLTkyMiwxMyArODczLDExIEBAIHZv
aWQgUVF1aWNrV2ViVmlld0ZsaWNrYWJsZVByaXZhdGU6Ol9xX3Jlc3VtZSgpCiAKICAgICBwYWdl
SXNTdXNwZW5kZWQgPSBmYWxzZTsKICAgICB3ZWJQYWdlUHJveHktPnJlc3VtZUFjdGl2ZURPTU9i
amVjdHNBbmRBbmltYXRpb25zKCk7Ci0KLSAgICBfcV9vbkluZm9ybVZpc2libGVDb250ZW50Q2hh
bmdlKFFQb2ludEYoKSk7CiB9CiAKIHZvaWQgUVF1aWNrV2ViVmlld0ZsaWNrYWJsZVByaXZhdGU6
OnBhZ2VEaWRSZXF1ZXN0U2Nyb2xsKGNvbnN0IFFQb2ludCYgcG9zKQogewotICAgIGludGVyYWN0
aW9uRW5naW5lLT5wYWdlQ29udGVudFBvc2l0aW9uUmVxdWVzdChwb3MpOworICAgIGludGVyYWN0
aW9uRW5naW5lLT5wYWdlQ29udGVudFBvc2l0aW9uUmVxdWVzdGVkKHBvcyk7CiB9CiAKIHZvaWQg
UVF1aWNrV2ViVmlld0ZsaWNrYWJsZVByaXZhdGU6OmRpZENoYW5nZUNvbnRlbnRzU2l6ZShjb25z
dCBRU2l6ZSYgbmV3U2l6ZSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9B
UEkvcXQvcXF1aWNrd2Vidmlld19wLmggYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL3F0
L3FxdWlja3dlYnZpZXdfcC5oCmluZGV4IGNmNDY5ZmIxZTVkMTBiNDI5NjUyMzJkOWY1OTY4M2I5
OGU0NTRiOWEuLmY2NDVjODc2OTNhZjk1NWQ2YTQ5YTY1NjYwZWI3NzRmZTgwNWYxMWYgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvcXQvcXF1aWNrd2Vidmlld19wLmgK
KysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9xdC9xcXVpY2t3ZWJ2aWV3X3AuaApA
QCAtMjA3LDcgKzIwNyw2IEBAIHByaXZhdGU6CiAKICAgICBRX1BSSVZBVEVfU0xPVChkX2Z1bmMo
KSwgdm9pZCBfcV9zdXNwZW5kKCkpOwogICAgIFFfUFJJVkFURV9TTE9UKGRfZnVuYygpLCB2b2lk
IF9xX3Jlc3VtZSgpKTsKLSAgICBRX1BSSVZBVEVfU0xPVChkX2Z1bmMoKSwgdm9pZCBfcV9vbklu
Zm9ybVZpc2libGVDb250ZW50Q2hhbmdlKGNvbnN0IFFQb2ludEYmKSk7CiAKICAgICBRX1BSSVZB
VEVfU0xPVChkX2Z1bmMoKSwgdm9pZCBfcV9vblZpc2libGVDaGFuZ2VkKCkpOwogICAgIFFfUFJJ
VkFURV9TTE9UKGRfZnVuYygpLCB2b2lkIF9xX29uVXJsQ2hhbmdlZCgpKTsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvcXQvcXF1aWNrd2Vidmlld19wX3AuaCBiL1Nv
dXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvcXQvcXF1aWNrd2Vidmlld19wX3AuaAppbmRleCA2
OWFmYzJkNTRkMGUwMjkxODBlNzNiOTRkNzg2YWMyOWU4Y2VhOWNlLi5mMDNlMWM4MDUxZTJkMWIx
NDQ5YjNhMzQwY2QwYmY3ZTgwZjUwM2YwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVBy
b2Nlc3MvQVBJL3F0L3FxdWlja3dlYnZpZXdfcF9wLmgKKysrIGIvU291cmNlL1dlYktpdDIvVUlQ
cm9jZXNzL0FQSS9xdC9xcXVpY2t3ZWJ2aWV3X3BfcC5oCkBAIC05NSw3ICs5NSw2IEBAIHB1Ymxp
YzoKIAogICAgIHZpcnR1YWwgdm9pZCBfcV9zdXNwZW5kKCkgeyB9CiAgICAgdmlydHVhbCB2b2lk
IF9xX3Jlc3VtZSgpIHsgfQotICAgIHZpcnR1YWwgdm9pZCBfcV9vbkluZm9ybVZpc2libGVDb250
ZW50Q2hhbmdlKGNvbnN0IFFQb2ludEYmIHRyYWplY3RvcnkpIHsgfTsKIAogICAgIHZpcnR1YWwg
cXJlYWwgem9vbUZhY3RvcigpIGNvbnN0IHsgcmV0dXJuIDE7IH0KICAgICB2aXJ0dWFsIHZvaWQg
c2V0Wm9vbUZhY3RvcihxcmVhbCkgeyB9CkBAIC0xMjgsOCArMTI3LDYgQEAgcHVibGljOgogICAg
IFFQb2ludEYgY29udGVudFBvcygpIGNvbnN0OwogICAgIHZvaWQgc2V0Q29udGVudFBvcyhjb25z
dCBRUG9pbnRGJik7CiAKLSAgICBRUmVjdCB2aXNpYmxlQ29udGVudHNSZWN0KCkgY29uc3Q7Ci0K
ICAgICB2b2lkIHNldERpYWxvZ0FjdGl2ZShib29sIGFjdGl2ZSkgeyBtX2RpYWxvZ0FjdGl2ZSA9
IGFjdGl2ZTsgfQogCiAgICAgdm9pZCB1cGRhdGVJY29uKCk7CkBAIC0yMzMsNyArMjMwLDYgQEAg
cHVibGljOgogCiAgICAgdmlydHVhbCB2b2lkIF9xX3N1c3BlbmQoKTsKICAgICB2aXJ0dWFsIHZv
aWQgX3FfcmVzdW1lKCk7Ci0gICAgdmlydHVhbCB2b2lkIF9xX29uSW5mb3JtVmlzaWJsZUNvbnRl
bnRDaGFuZ2UoY29uc3QgUVBvaW50RiYgdHJhamVjdG9yeSk7CiAKICAgICB2aXJ0dWFsIHZvaWQg
cGFnZURpZFJlcXVlc3RTY3JvbGwoY29uc3QgUVBvaW50JiBwb3MpOwogICAgIHZpcnR1YWwgdm9p
ZCBkaWRDaGFuZ2VDb250ZW50c1NpemUoY29uc3QgUVNpemUmIG5ld1NpemUpOwpAQCAtMjQxLDcg
KzIzNyw2IEBAIHB1YmxpYzoKIHByaXZhdGU6CiAgICAgUVNjb3BlZFBvaW50ZXI8V2ViS2l0OjpR
dFZpZXdwb3J0SW50ZXJhY3Rpb25FbmdpbmU+IGludGVyYWN0aW9uRW5naW5lOwogICAgIGJvb2wg
cGFnZUlzU3VzcGVuZGVkOwotICAgIGZsb2F0IGxhc3RDb21taXR0ZWRTY2FsZTsKIH07CiAKICNl
bmRpZiAvLyBxcXVpY2t3ZWJ2aWV3X3BfcF9oCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9V
SVByb2Nlc3MvcXQvUXRWaWV3cG9ydEludGVyYWN0aW9uRW5naW5lLmNwcCBiL1NvdXJjZS9XZWJL
aXQyL1VJUHJvY2Vzcy9xdC9RdFZpZXdwb3J0SW50ZXJhY3Rpb25FbmdpbmUuY3BwCmluZGV4IDli
YzEzZTE5OWRiNTA0NDY3YmViMDE3YTA3YzIyZGQyNDhkOTIzYWYuLmE4OTQ3Y2FkNDYwNzY1ZmQy
M2I0ZWIyNmU5MWE5MWFhNTdhOGVlODUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJv
Y2Vzcy9xdC9RdFZpZXdwb3J0SW50ZXJhY3Rpb25FbmdpbmUuY3BwCisrKyBiL1NvdXJjZS9XZWJL
aXQyL1VJUHJvY2Vzcy9xdC9RdFZpZXdwb3J0SW50ZXJhY3Rpb25FbmdpbmUuY3BwCkBAIC0yMiw2
ICsyMiw5IEBACiAjaW5jbHVkZSAiY29uZmlnLmgiCiAjaW5jbHVkZSAiUXRWaWV3cG9ydEludGVy
YWN0aW9uRW5naW5lLmgiCiAKKyNpbmNsdWRlICJXZWJQYWdlR3JvdXAuaCIKKyNpbmNsdWRlICJX
ZWJQYWdlUHJveHkuaCIKKyNpbmNsdWRlICJXZWJQcmVmZXJlbmNlcy5oIgogI2luY2x1ZGUgInFx
dWlja3dlYnBhZ2VfcC5oIgogI2luY2x1ZGUgInFxdWlja3dlYnZpZXdfcC5oIgogI2luY2x1ZGUg
InF3ZWJraXR0ZXN0X3AuaCIKQEAgLTg2LDcgKzg5LDcgQEAgcHVibGljOgogICAgICAgICB9CiAK
ICAgICAgICAgLy8gTWFrZSBzdXJlIHRoYXQgdGlsZXMgYWxsIGFyb3VuZCB0aGUgdmlld3BvcnQg
d2lsbCBiZSByZXF1ZXN0ZWQuCi0gICAgICAgIGVtaXQgZW5naW5lLT5pbmZvcm1WaXNpYmxlQ29u
dGVudENoYW5nZShRUG9pbnRGKCkpOworICAgICAgICBlbmdpbmUtPmluZm9ybVZpc2libGVDb250
ZW50Q2hhbmdlKFFQb2ludEYoKSk7CiAgICAgfQogCiBwcml2YXRlOgpAQCAtMTMyLDE4ICsxMzUs
MjIgQEAgaW5saW5lIFFSZWN0RiBRdFZpZXdwb3J0SW50ZXJhY3Rpb25FbmdpbmU6Oml0ZW1SZWN0
RnJvbUNTUyhjb25zdCBRUmVjdEYmIGNzc1JlY3QKICAgICByZXR1cm4gaXRlbVJlY3Q7CiB9CiAK
LVF0Vmlld3BvcnRJbnRlcmFjdGlvbkVuZ2luZTo6UXRWaWV3cG9ydEludGVyYWN0aW9uRW5naW5l
KFFRdWlja1dlYlZpZXcqIHZpZXdwb3J0SXRlbSwgUVF1aWNrV2ViUGFnZSogcGFnZUl0ZW0pCi0g
ICAgOiBtX3ZpZXdwb3J0SXRlbSh2aWV3cG9ydEl0ZW0pCitRdFZpZXdwb3J0SW50ZXJhY3Rpb25F
bmdpbmU6OlF0Vmlld3BvcnRJbnRlcmFjdGlvbkVuZ2luZShXZWJLaXQ6OldlYlBhZ2VQcm94eSog
cHJveHksIFFRdWlja1dlYlZpZXcqIHZpZXdwb3J0SXRlbSwgUVF1aWNrV2ViUGFnZSogcGFnZUl0
ZW0pCisgICAgOiBtX3dlYlBhZ2VQcm94eShwcm94eSkKKyAgICAsIG1fdmlld3BvcnRJdGVtKHZp
ZXdwb3J0SXRlbSkKICAgICAsIG1fcGFnZUl0ZW0ocGFnZUl0ZW0pCisgICAgLCBtX2FsbG93c1Vz
ZXJTY2FsaW5nKGZhbHNlKQorICAgICwgbV9taW5pbXVtU2NhbGUoMSkKKyAgICAsIG1fbWF4aW11
bVNjYWxlKDEpCisgICAgLCBtX2RldmljZVBpeGVsUmF0aW8oMSkKICAgICAsIG1fc3VzcGVuZENv
dW50KDApCiAgICAgLCBtX2hhc1N1c3BlbmRlZENvbnRlbnQoZmFsc2UpCiAgICAgLCBtX2hhZFVz
ZXJJbnRlcmFjdGlvbihmYWxzZSkKICAgICAsIG1fc2NhbGVBbmltYXRpb24obmV3IFNjYWxlQW5p
bWF0aW9uKHRoaXMpKQogICAgICwgbV9waW5jaFN0YXJ0U2NhbGUoLTEpCisgICAgLCBtX2xhc3RD
b21taXR0ZWRTY2FsZSgtMSkKICAgICAsIG1fem9vbU91dFNjYWxlKDAuMCkKIHsKLSAgICByZXNl
dCgpOwotCiAgICAgY29ubmVjdChtX3BhZ2VJdGVtLCBTSUdOQUwod2lkdGhDaGFuZ2VkKCkpLCBT
TE9UKHBhZ2VJdGVtU2l6ZUNoYW5nZWQoKSksIFF0OjpEaXJlY3RDb25uZWN0aW9uKTsKICAgICBj
b25uZWN0KG1fcGFnZUl0ZW0sIFNJR05BTChoZWlnaHRDaGFuZ2VkKCkpLCBTTE9UKHBhZ2VJdGVt
U2l6ZUNoYW5nZWQoKSksIFF0OjpEaXJlY3RDb25uZWN0aW9uKTsKICAgICBjb25uZWN0KG1fdmll
d3BvcnRJdGVtLCBTSUdOQUwobW92ZW1lbnRTdGFydGVkKCkpLCBTTE9UKGZsaWNrTW92ZVN0YXJ0
ZWQoKSksIFF0OjpEaXJlY3RDb25uZWN0aW9uKTsKQEAgLTE4MCwxOCArMTg3LDM2IEBAIHZvaWQg
UXRWaWV3cG9ydEludGVyYWN0aW9uRW5naW5lOjp2aWV3cG9ydEF0dHJpYnV0ZXNDaGFuZ2VkKGNv
bnN0IFdlYkNvcmU6OlZpZXdwCiAgICAgbV9yYXdBdHRyaWJ1dGVzID0gbmV3QXR0cmlidXRlczsK
ICAgICBXZWJDb3JlOjpyZXN0cmljdFNjYWxlRmFjdG9yVG9Jbml0aWFsU2NhbGVJZk5vdFVzZXJT
Y2FsYWJsZShtX3Jhd0F0dHJpYnV0ZXMpOwogCi0gICAgLy8gRklYTUU6IFJlc2V0dGluZyBoZXJl
IGNhbiByZXNldCBtb3JlIHRoYW4gbmVlZGVkLiBGb3IgaW5zdGFuY2UgaXQgd2lsbCBlbmQgZGVm
ZXJyZXJzLgotICAgIC8vIFRoaXMgbmVlZHMgdG8gYmUgcmV2aXNlZCBhdCBzb21lIHBvaW50Lgot
ICAgIHJlc2V0KCk7CisgICAgeworICAgICAgICAvLyBGSVhNRTogUmVzZXR0aW5nIGhlcmUgaXMg
d3JvbmcsIGl0IHNob3VsZCBoYXBwZW4gb25seSBmb3IgdGhlIGZpcnN0CisgICAgICAgIC8vIHZp
ZXdwb3J0IGNoYW5nZSBmb3IgYSBnaXZlbiBwYWdlIGFuZCBmaXJzdCB3aGVuIHdlIHBhaW50IHRo
ZSBwYWdlIGZvcgorICAgICAgICAvLyB0aGUgZmlyc3QgdGltZS4KKworICAgICAgICBtX2hhZFVz
ZXJJbnRlcmFjdGlvbiA9IGZhbHNlOwogCisgICAgICAgIG1fem9vbU91dFNjYWxlID0gMC4wOwor
ICAgICAgICBtX3NjYWxlU3RhY2suY2xlYXIoKTsKIAotICAgIC8vIEZJWE1FOiBTaG91bGQgZ2V0
IGRpcmVjdGx5IGZyb20gdGhlIHdlYlBhZ2VQcm94eS4KLSAgICBzZXREZXZpY2VQaXhlbFJhdGlv
KG1fcmF3QXR0cmlidXRlcy5kZXZpY2VQaXhlbFJhdGlvKTsKKyAgICAgICAgLy8gVGhpcyBwYXJ0
IGJlbG93IHNob3VsZCBnbyBmdWxseSBhd2F5IHdoZW4gdGhlIGFib3ZlIHBsYW4gaXMgaW1wbGVt
ZW50ZWQuCiAKLSAgICBzZXRBbGxvd3NVc2VyU2NhbGluZyghIW1fcmF3QXR0cmlidXRlcy51c2Vy
U2NhbGFibGUpOwotICAgIHNldENTU1NjYWxlQm91bmRzKG1fcmF3QXR0cmlidXRlcy5taW5pbXVt
U2NhbGUsIG1fcmF3QXR0cmlidXRlcy5tYXhpbXVtU2NhbGUpOworICAgICAgICBtX3ZpZXdwb3J0
SXRlbS0+Y2FuY2VsRmxpY2soKTsKKyAgICAgICAgbV9zY2FsZUFuaW1hdGlvbi0+c3RvcCgpOwor
CisgICAgICAgIG1fc2NhbGVVcGRhdGVEZWZlcnJlci5jbGVhcigpOworICAgICAgICBtX3Njcm9s
bFVwZGF0ZURlZmVycmVyLmNsZWFyKCk7CisgICAgICAgIG1fdG91Y2hVcGRhdGVEZWZlcnJlci5j
bGVhcigpOworICAgICAgICBtX2FuaW1hdGlvblVwZGF0ZURlZmVycmVyLmNsZWFyKCk7CisgICAg
ICAgIEFTU0VSVCghbV9zdXNwZW5kQ291bnQpOworICAgICAgICBBU1NFUlQoIW1faGFzU3VzcGVu
ZGVkQ29udGVudCk7CisgICAgfQorCisgICAgbV9kZXZpY2VQaXhlbFJhdGlvID0gbV9yYXdBdHRy
aWJ1dGVzLmRldmljZVBpeGVsUmF0aW87IC8vIFNob3VsZCByZXR1cm4gdmFsdWUgZnJvbSB0aGUg
d2ViUGFnZVByb3h5LgorICAgIG1fYWxsb3dzVXNlclNjYWxpbmcgPSAhIW1fcmF3QXR0cmlidXRl
cy51c2VyU2NhbGFibGU7CisgICAgbV9taW5pbXVtU2NhbGUgPSBtX3Jhd0F0dHJpYnV0ZXMubWlu
aW11bVNjYWxlOworICAgIG1fbWF4aW11bVNjYWxlID0gbV9yYXdBdHRyaWJ1dGVzLm1heGltdW1T
Y2FsZTsKIAogICAgIGlmICghbV9oYWRVc2VySW50ZXJhY3Rpb24gJiYgIW1faGFzU3VzcGVuZGVk
Q29udGVudCkgeworICAgICAgICBBU1NFUlQobV9waW5jaFN0YXJ0U2NhbGUgPT0gLTEpOwogICAg
ICAgICAvLyBFbWl0cyBjb250ZW50c1NjYWxlQ2hhbmdlZCgpOwogICAgICAgICBzZXRDU1NTY2Fs
ZShtX3Jhd0F0dHJpYnV0ZXMuaW5pdGlhbFNjYWxlKTsKICAgICB9CkBAIC0yMDgsNyArMjMzLDcg
QEAgdm9pZCBRdFZpZXdwb3J0SW50ZXJhY3Rpb25FbmdpbmU6OnBhZ2VDb250ZW50c1NpemVDaGFu
Z2VkKGNvbnN0IFFTaXplJiBuZXdTaXplLAogICAgIGZsb2F0IG1pbmltdW1TY2FsZSA9IFdlYkNv
cmU6OmNvbXB1dGVNaW5pbXVtU2NhbGVGYWN0b3JGb3JDb250ZW50Q29udGFpbmVkKG1fcmF3QXR0
cmlidXRlcywgdmlld3BvcnRTaXplLCBuZXdTaXplKTsKIAogICAgIGlmICghcUZ1enp5Q29tcGFy
ZShtaW5pbXVtU2NhbGUsIG1fcmF3QXR0cmlidXRlcy5taW5pbXVtU2NhbGUpKSB7Ci0gICAgICAg
IHNldENTU1NjYWxlQm91bmRzKG1pbmltdW1TY2FsZSwgbV9yYXdBdHRyaWJ1dGVzLm1heGltdW1T
Y2FsZSk7CisgICAgICAgIG1fbWluaW11bVNjYWxlID0gbWluaW11bVNjYWxlOwogICAgICAgICBl
bWl0IG1fdmlld3BvcnRJdGVtLT5leHBlcmltZW50YWwoKS0+dGVzdCgpLT52aWV3cG9ydENoYW5n
ZWQoKTsKIAogICAgICAgICBpZiAoIW1faGFkVXNlckludGVyYWN0aW9uICYmICFtX2hhc1N1c3Bl
bmRlZENvbnRlbnQpIHsKQEAgLTI5OCwxMiArMzIzLDEyIEBAIHZvaWQgUXRWaWV3cG9ydEludGVy
YWN0aW9uRW5naW5lOjpwYWdlSXRlbVBvc2l0aW9uQ2hhbmdlZCgpCiB7CiAgICAgUVBvaW50RiBu
ZXdQb3NpdGlvbiA9IG1fdmlld3BvcnRJdGVtLT5jb250ZW50UG9zKCk7CiAKLSAgICBlbWl0IGlu
Zm9ybVZpc2libGVDb250ZW50Q2hhbmdlKG1fbGFzdFNjcm9sbFBvc2l0aW9uIC0gbmV3UG9zaXRp
b24pOworICAgIGluZm9ybVZpc2libGVDb250ZW50Q2hhbmdlKG1fbGFzdFNjcm9sbFBvc2l0aW9u
IC0gbmV3UG9zaXRpb24pOwogCiAgICAgbV9sYXN0U2Nyb2xsUG9zaXRpb24gPSBuZXdQb3NpdGlv
bjsKIH0KIAotdm9pZCBRdFZpZXdwb3J0SW50ZXJhY3Rpb25FbmdpbmU6OnBhZ2VDb250ZW50UG9z
aXRpb25SZXF1ZXN0KGNvbnN0IFFQb2ludCYgY3NzUG9zaXRpb24pCit2b2lkIFF0Vmlld3BvcnRJ
bnRlcmFjdGlvbkVuZ2luZTo6cGFnZUNvbnRlbnRQb3NpdGlvblJlcXVlc3RlZChjb25zdCBRUG9p
bnQmIGNzc1Bvc2l0aW9uKQogewogICAgIC8vIElnbm9yZSB0aGUgcmVxdWVzdCBpZiBzdXNwZW5k
ZWQuIENhbiBvbmx5IGhhcHBlbiBkdWUgdG8gZGVsYXkgaW4gZXZlbnQgZGVsaXZlcnkuCiAgICAg
aWYgKG1fc3VzcGVuZENvdW50KQpAQCAtNTA0LDMyICs1MjksNiBAQCBRUmVjdEYgUXRWaWV3cG9y
dEludGVyYWN0aW9uRW5naW5lOjpuZWFyZXN0VmFsaWRCb3VuZHMoKSBjb25zdAogICAgIHJldHVy
biBlbmRWaXNpYmxlQ29udGVudFJlY3Q7CiB9CiAKLXZvaWQgUXRWaWV3cG9ydEludGVyYWN0aW9u
RW5naW5lOjpyZXNldCgpCi17Ci0gICAgQVNTRVJUKCFtX3N1c3BlbmRDb3VudCk7Ci0KLSAgICBt
X2hhZFVzZXJJbnRlcmFjdGlvbiA9IGZhbHNlOwotCi0gICAgbV9hbGxvd3NVc2VyU2NhbGluZyA9
IGZhbHNlOwotICAgIG1fbWluaW11bVNjYWxlID0gMTsKLSAgICBtX21heGltdW1TY2FsZSA9IDE7
Ci0gICAgbV9kZXZpY2VQaXhlbFJhdGlvID0gMTsKLSAgICBtX3BpbmNoU3RhcnRTY2FsZSA9IC0x
OwotICAgIG1fem9vbU91dFNjYWxlID0gMC4wOwotCi0gICAgbV92aWV3cG9ydEl0ZW0tPmNhbmNl
bEZsaWNrKCk7Ci0gICAgbV9zY2FsZUFuaW1hdGlvbi0+c3RvcCgpOwotICAgIG1fc2NhbGVVcGRh
dGVEZWZlcnJlci5jbGVhcigpOwotICAgIG1fc2Nyb2xsVXBkYXRlRGVmZXJyZXIuY2xlYXIoKTsK
LSAgICBtX3NjYWxlU3RhY2suY2xlYXIoKTsKLX0KLQotdm9pZCBRdFZpZXdwb3J0SW50ZXJhY3Rp
b25FbmdpbmU6OnNldENTU1NjYWxlQm91bmRzKHFyZWFsIG1pbmltdW0sIHFyZWFsIG1heGltdW0p
Ci17Ci0gICAgbV9taW5pbXVtU2NhbGUgPSBtaW5pbXVtOwotICAgIG1fbWF4aW11bVNjYWxlID0g
bWF4aW11bTsKLX0KLQogdm9pZCBRdFZpZXdwb3J0SW50ZXJhY3Rpb25FbmdpbmU6OnNldENTU1Nj
YWxlKHFyZWFsIHNjYWxlKQogewogICAgIFZpZXdwb3J0VXBkYXRlRGVmZXJyZXIgZ3VhcmQodGhp
cyk7CkBAIC02NzUsNiArNjc0LDUyIEBAIHZvaWQgUXRWaWV3cG9ydEludGVyYWN0aW9uRW5naW5l
OjpwaW5jaEdlc3R1cmVDYW5jZWxsZWQoKQogICAgIG1fc2NhbGVVcGRhdGVEZWZlcnJlci5jbGVh
cigpOwogfQogCitRUmVjdCBRdFZpZXdwb3J0SW50ZXJhY3Rpb25FbmdpbmU6OnZpc2libGVDb250
ZW50c1JlY3QoKSBjb25zdAoreworICAgIGNvbnN0IFFSZWN0RiB2aXNpYmxlUmVjdChtX3ZpZXdw
b3J0SXRlbS0+Ym91bmRpbmdSZWN0KCkuaW50ZXJzZWN0ZWQobV9wYWdlSXRlbS0+Ym91bmRpbmdS
ZWN0KCkpKTsKKworICAgIC8vIFdlIGF2b2lkIHVzaW5nIHRvQWxpZ25lZFJlY3QoKSBiZWNhdXNl
IGl0IHByb2R1Y2VzIGluY29uc2lzdGVudCB3aWR0aCBhbmQgaGVpZ2h0LgorICAgIFFSZWN0RiBt
YXBwZWRSZWN0KG1fdmlld3BvcnRJdGVtLT5tYXBSZWN0VG9XZWJDb250ZW50KHZpc2libGVSZWN0
KSk7CisgICAgcmV0dXJuIFFSZWN0KGZsb29yKG1hcHBlZFJlY3QueCgpKSwgZmxvb3IobWFwcGVk
UmVjdC55KCkpLCBmbG9vcihtYXBwZWRSZWN0LndpZHRoKCkpLCBmbG9vcihtYXBwZWRSZWN0Lmhl
aWdodCgpKSk7Cit9CisKK3ZvaWQgUXRWaWV3cG9ydEludGVyYWN0aW9uRW5naW5lOjppbmZvcm1W
aXNpYmxlQ29udGVudENoYW5nZShjb25zdCBRUG9pbnRGJiB0cmFqZWN0b3J5VmVjdG9yKQorewor
ICAgIERyYXdpbmdBcmVhUHJveHkqIGRyYXdpbmdBcmVhID0gbV93ZWJQYWdlUHJveHktPmRyYXdp
bmdBcmVhKCk7CisgICAgaWYgKCFkcmF3aW5nQXJlYSkKKyAgICAgICAgcmV0dXJuOworCisgICAg
cXJlYWwgc2NhbGUgPSBtX3BhZ2VJdGVtLT5jb250ZW50c1NjYWxlKCk7CisKKyAgICBpZiAoc2Nh
bGUgIT0gbV9sYXN0Q29tbWl0dGVkU2NhbGUpCisgICAgICAgIGVtaXQgbV92aWV3cG9ydEl0ZW0t
PmV4cGVyaW1lbnRhbCgpLT50ZXN0KCktPmNvbnRlbnRzU2NhbGVDb21taXR0ZWQoKTsKKyAgICBt
X2xhc3RDb21taXR0ZWRTY2FsZSA9IHNjYWxlOworCisgICAgZHJhd2luZ0FyZWEtPnNldFZpc2li
bGVDb250ZW50c1JlY3QodmlzaWJsZUNvbnRlbnRzUmVjdCgpLCBzY2FsZSwgdHJhamVjdG9yeVZl
Y3RvciwgbV92aWV3cG9ydEl0ZW0tPmNvbnRlbnRQb3MoKSk7CisKKyAgICAvLyBFbnN1cmUgdGhh
dCB1cGRhdGVQYWludE5vZGUgaXMgYWx3YXlzIGNhbGxlZCBiZWZvcmUgcGFpbnRpbmcuCisgICAg
bV9wYWdlSXRlbS0+dXBkYXRlKCk7Cit9CisKK3ZvaWQgUXRWaWV3cG9ydEludGVyYWN0aW9uRW5n
aW5lOjp2aWV3cG9ydEl0ZW1TaXplQ2hhbmdlZCgpCit7CisgICAgUVNpemUgdmlld3BvcnRTaXpl
ID0gbV92aWV3cG9ydEl0ZW0tPmJvdW5kaW5nUmVjdCgpLnNpemUoKS50b1NpemUoKTsKKworICAg
IGlmICh2aWV3cG9ydFNpemUuaXNFbXB0eSgpKQorICAgICAgICByZXR1cm47CisKKyAgICAvLyBG
SVhNRTogVGhpcyBpcyB3cm9uZywgYWRkIFFNTCBhcGkhCisgICAgV2ViUHJlZmVyZW5jZXMqIHdr
UHJlZnMgPSBtX3dlYlBhZ2VQcm94eS0+cGFnZUdyb3VwKCktPnByZWZlcmVuY2VzKCk7CisgICAg
d2tQcmVmcy0+c2V0RGV2aWNlV2lkdGgodmlld3BvcnRTaXplLndpZHRoKCkpOworICAgIHdrUHJl
ZnMtPnNldERldmljZUhlaWdodCh2aWV3cG9ydFNpemUuaGVpZ2h0KCkpOworCisgICAgLy8gTGV0
IHRoZSBXZWJQcm9jZXNzIGtub3cgYWJvdXQgdGhlIG5ldyB2aWV3cG9ydCBzaXplLCBzbyB0aGF0
CisgICAgLy8gaXQgY2FuIHJlc2l6ZSB0aGUgY29udGVudCBhY2NvcmRpbmdseS4KKyAgICBtX3dl
YlBhZ2VQcm94eS0+c2V0Vmlld3BvcnRTaXplKHZpZXdwb3J0U2l6ZSk7CisKKyAgICBpbmZvcm1W
aXNpYmxlQ29udGVudENoYW5nZShRUG9pbnRGKCkpOworfQorCiAvKgogICogVGhpcyBpcyBjYWxs
ZWQgZm9yIGFsbCBjaGFuZ2VzIG9mIGl0ZW0gc2NhbGUsIHdpZHRoIG9yIGhlaWdodC4KICAqIFRo
aXMgaXMgY2FsbGVkIHdoZW4gaW50ZXJhY3RpbmcsIGllLiBkdXJpbmcgZm9yIGluc3RhbmNlIHBp
bmNoLXpvb21pbmcuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvcXQvUXRW
aWV3cG9ydEludGVyYWN0aW9uRW5naW5lLmggYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvcXQv
UXRWaWV3cG9ydEludGVyYWN0aW9uRW5naW5lLmgKaW5kZXggYjc1OTVlNTY5NzUyMTNlYTlhNGE2
ZTUzMjRkOThhNWU5ODNmMWFlOS4uZmIwYzU1ZGVlYTcwMmRkNDZlZWIyMjA1Mzg1ZGQ0NmI5Nzdl
ZDA0ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL3F0L1F0Vmlld3BvcnRJ
bnRlcmFjdGlvbkVuZ2luZS5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9xdC9RdFZp
ZXdwb3J0SW50ZXJhY3Rpb25FbmdpbmUuaApAQCAtNDAsMzQgKzQwLDE2IEBAIGNsYXNzIFFXZWJL
aXRUZXN0OwogCiBuYW1lc3BhY2UgV2ViS2l0IHsKIAorY2xhc3MgV2ViUGFnZVByb3h5OwogY2xh
c3MgVmlld3BvcnRVcGRhdGVEZWZlcnJlcjsKIAogY2xhc3MgUXRWaWV3cG9ydEludGVyYWN0aW9u
RW5naW5lIDogcHVibGljIFFPYmplY3QgewogICAgIFFfT0JKRUNUCiAKIHB1YmxpYzoKLSAgICBR
dFZpZXdwb3J0SW50ZXJhY3Rpb25FbmdpbmUoUVF1aWNrV2ViVmlldyosIFFRdWlja1dlYlBhZ2Uq
KTsKKyAgICBRdFZpZXdwb3J0SW50ZXJhY3Rpb25FbmdpbmUoV2ViUGFnZVByb3h5KiwgUVF1aWNr
V2ViVmlldyosIFFRdWlja1dlYlBhZ2UqKTsKICAgICB+UXRWaWV3cG9ydEludGVyYWN0aW9uRW5n
aW5lKCk7CiAKLSAgICB2b2lkIHJlc2V0KCk7Ci0KLSAgICBib29sIGhhZFVzZXJJbnRlcmFjdGlv
bigpIGNvbnN0IHsgcmV0dXJuIG1faGFkVXNlckludGVyYWN0aW9uOyB9Ci0KLSAgICB2b2lkIHNl
dENTU1NjYWxlQm91bmRzKHFyZWFsIG1pbmltdW0sIHFyZWFsIG1heGltdW0pOwotICAgIHZvaWQg
c2V0Q1NTU2NhbGUocXJlYWwpOwotCi0gICAgcXJlYWwgY3VycmVudENTU1NjYWxlKCkgY29uc3Q7
Ci0KLSAgICB2b2lkIHNldEFsbG93c1VzZXJTY2FsaW5nKGJvb2wgYWxsb3cpIHsgbV9hbGxvd3NV
c2VyU2NhbGluZyA9IGFsbG93OyB9Ci0gICAgdm9pZCBzZXREZXZpY2VQaXhlbFJhdGlvKHFyZWFs
IHJhdGlvKSB7IG1fZGV2aWNlUGl4ZWxSYXRpbyA9IHJhdGlvOyB9Ci0KLSAgICB2b2lkIHNldFBh
Z2VJdGVtUmVjdFZpc2libGUoY29uc3QgUVJlY3RGJik7Ci0gICAgdm9pZCBhbmltYXRlUGFnZUl0
ZW1SZWN0VmlzaWJsZShjb25zdCBRUmVjdEYmKTsKLQotICAgIFFSZWN0RiBuZWFyZXN0VmFsaWRC
b3VuZHMoKSBjb25zdDsKLQotICAgIHZvaWQgcGFnZUNvbnRlbnRQb3NpdGlvblJlcXVlc3QoY29u
c3QgUVBvaW50JiBwb3MpOwotCiAgICAgdm9pZCB0b3VjaEJlZ2luKCk7CiAgICAgdm9pZCB0b3Vj
aEVuZCgpOwogCkBAIC05MiwxNCArNzQsMTIgQEAgcHVibGljOgogICAgIHZvaWQgem9vbVRvQXJl
YUdlc3R1cmVFbmRlZChjb25zdCBRUG9pbnRGJiB0b3VjaFBvaW50LCBjb25zdCBRUmVjdEYmIHRh
cmdldEFyZWEpOwogICAgIHZvaWQgZm9jdXNFZGl0YWJsZUFyZWEoY29uc3QgUVJlY3RGJiBjYXJl
dEFyZWEsIGNvbnN0IFFSZWN0RiYgdGFyZ2V0QXJlYSk7CiAKLSAgICB2b2lkIHZpZXdwb3J0QXR0
cmlidXRlc0NoYW5nZWQoY29uc3QgV2ViQ29yZTo6Vmlld3BvcnRBdHRyaWJ1dGVzJik7Ci0gICAg
dm9pZCBwYWdlQ29udGVudHNTaXplQ2hhbmdlZChjb25zdCBRU2l6ZSYgbmV3U2l6ZSwgY29uc3Qg
UVNpemUmIHZpZXdwb3J0U2l6ZSk7Ci0KLVFfU0lHTkFMUzoKLSAgICB2b2lkIGNvbnRlbnRTdXNw
ZW5kUmVxdWVzdGVkKCk7Ci0gICAgdm9pZCBjb250ZW50UmVzdW1lUmVxdWVzdGVkKCk7CisgICAg
dm9pZCBwYWdlQ29udGVudFBvc2l0aW9uUmVxdWVzdGVkKGNvbnN0IFFQb2ludCYgcG9zaXRpb24p
OwogCisgICAgdm9pZCB2aWV3cG9ydEl0ZW1TaXplQ2hhbmdlZCgpOworICAgIHZvaWQgdmlld3Bv
cnRBdHRyaWJ1dGVzQ2hhbmdlZChjb25zdCBXZWJDb3JlOjpWaWV3cG9ydEF0dHJpYnV0ZXMmKTsK
ICAgICB2b2lkIGluZm9ybVZpc2libGVDb250ZW50Q2hhbmdlKGNvbnN0IFFQb2ludEYmIHRyYWpl
Y3RvcnkgPSBRUG9pbnRGKCkpOworICAgIHZvaWQgcGFnZUNvbnRlbnRzU2l6ZUNoYW5nZWQoY29u
c3QgUVNpemUmIG5ld1NpemUsIGNvbnN0IFFTaXplJiB2aWV3cG9ydFNpemUpOwogCiBwcml2YXRl
IFFfU0xPVFM6CiAgICAgLy8gUmVzcG9uZCB0byBjaGFuZ2VzIG9mIGNvbnRlbnQgdGhhdCBhcmUg
bm90IGRyaXZlbiBieSB1cywgbGlrZSB0aGUgcGFnZSByZXNpemluZyBpdHNlbGYuCkBAIC0xMTIs
MTAgKzkyLDE1IEBAIHByaXZhdGUgUV9TTE9UUzoKICAgICB2b2lkIGZsaWNrTW92ZVN0YXJ0ZWQo
KTsgLy8gQ2FsbGVkIHdoZW4gcGFubmluZyBzdGFydHMuCiAgICAgdm9pZCBmbGlja01vdmVFbmRl
ZCgpOyAvLyAgIENhbGxlZCB3aGVuIHBhbm5pbmcgKCsga2luZXRpYyBhbmltYXRpb24pIGVuZHMu
CiAKK1FfU0lHTkFMUzoKKyAgICB2b2lkIGNvbnRlbnRTdXNwZW5kUmVxdWVzdGVkKCk7CisgICAg
dm9pZCBjb250ZW50UmVzdW1lUmVxdWVzdGVkKCk7CisKIHByaXZhdGU6CiAgICAgZnJpZW5kIGNs
YXNzIFZpZXdwb3J0VXBkYXRlRGVmZXJyZXI7CiAgICAgZnJpZW5kIGNsYXNzIDo6UVdlYktpdFRl
c3Q7CiAKKyAgICBXZWJQYWdlUHJveHkqIGNvbnN0IG1fd2ViUGFnZVByb3h5OwogICAgIFFRdWlj
a1dlYlZpZXcqIGNvbnN0IG1fdmlld3BvcnRJdGVtOwogICAgIFFRdWlja1dlYlBhZ2UqIGNvbnN0
IG1fcGFnZUl0ZW07CiAKQEAgLTEyNyw2ICsxMTIsMTUgQEAgcHJpdmF0ZToKICAgICBxcmVhbCBp
bm5lckJvdW5kZWRDU1NTY2FsZShxcmVhbCkgY29uc3Q7CiAgICAgcXJlYWwgb3V0ZXJCb3VuZGVk
Q1NTU2NhbGUocXJlYWwpIGNvbnN0OwogCisgICAgdm9pZCBzZXRDU1NTY2FsZShxcmVhbCk7Cisg
ICAgcXJlYWwgY3VycmVudENTU1NjYWxlKCkgY29uc3Q7CisKKyAgICB2b2lkIHNldFBhZ2VJdGVt
UmVjdFZpc2libGUoY29uc3QgUVJlY3RGJik7CisgICAgdm9pZCBhbmltYXRlUGFnZUl0ZW1SZWN0
VmlzaWJsZShjb25zdCBRUmVjdEYmKTsKKworICAgIFFSZWN0IHZpc2libGVDb250ZW50c1JlY3Qo
KSBjb25zdDsKKyAgICBRUmVjdEYgbmVhcmVzdFZhbGlkQm91bmRzKCkgY29uc3Q7CisKICAgICBR
UmVjdEYgY29tcHV0ZVBvc1JhbmdlRm9yUGFnZUl0ZW1BdFNjYWxlKHFyZWFsIGl0ZW1TY2FsZSkg
Y29uc3Q7CiAgICAgdm9pZCBzY2FsZUNvbnRlbnQoY29uc3QgUVBvaW50RiYgY2VudGVySW5DU1ND
b29yZGluYXRlcywgcXJlYWwgY3NzU2NhbGUpOwogCkBAIC0xNzIsNiArMTY2LDcgQEAgcHJpdmF0
ZToKICAgICBRUG9pbnRGIG1fbGFzdFBpbmNoQ2VudGVySW5WaWV3cG9ydENvb3JkaW5hdGVzOwog
ICAgIFFQb2ludEYgbV9sYXN0U2Nyb2xsUG9zaXRpb247CiAgICAgcXJlYWwgbV9waW5jaFN0YXJ0
U2NhbGU7CisgICAgcXJlYWwgbV9sYXN0Q29tbWl0dGVkU2NhbGU7CiAgICAgcXJlYWwgbV96b29t
T3V0U2NhbGU7CiAgICAgUUxpc3Q8U2NhbGVTdGFja0l0ZW0+IG1fc2NhbGVTdGFjazsKIH07Cg==
</data>
<flag name="review"
          id="152136"
          type_id="1"
          status="+"
          setter="hausmann"
    />
          </attachment>
      

    </bug>

</bugzilla>