<?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>152604</bug_id>
          
          <creation_ts>2015-12-30 20:38:26 -0800</creation_ts>
          <short_desc>[EFL] Remove wkView() from EwkView</short_desc>
          <delta_ts>2016-01-18 17:09:05 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>WebKit EFL</component>
          <version>Other</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>
          
          <blocked>152037</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Ryuan Choi">ryuan.choi</reporter>
          <assigned_to name="Ryuan Choi">ryuan.choi</assigned_to>
          <cc>commit-queue</cc>
    
    <cc>gyuyoung.kim</cc>
    
    <cc>lucas.de.marchi</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1151659</commentid>
    <comment_count>0</comment_count>
    <who name="Ryuan Choi">ryuan.choi</who>
    <bug_when>2015-12-30 20:38:26 -0800</bug_when>
    <thetext>As one of steps not to use WK2 C API, this bug will remove wkView() from EwkView.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1151681</commentid>
    <comment_count>1</comment_count>
      <attachid>268030</attachid>
    <who name="Ryuan Choi">ryuan.choi</who>
    <bug_when>2015-12-30 22:45:33 -0800</bug_when>
    <thetext>Created attachment 268030
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1151686</commentid>
    <comment_count>2</comment_count>
    <who name="Gyuyoung Kim">gyuyoung.kim</who>
    <bug_when>2015-12-30 23:04:26 -0800</bug_when>
    <thetext>I think you need to notify of webkit-efl mailing list about this change first.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1156390</commentid>
    <comment_count>3</comment_count>
    <who name="Gyuyoung Kim">gyuyoung.kim</who>
    <bug_when>2016-01-18 05:46:03 -0800</bug_when>
    <thetext>There was no objection to go ahead.

https://lists.webkit.org/pipermail/webkit-efl/2016-January/000668.html</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1156487</commentid>
    <comment_count>4</comment_count>
      <attachid>268030</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2016-01-18 17:08:59 -0800</bug_when>
    <thetext>Comment on attachment 268030
Patch

Clearing flags on attachment: 268030

Committed r195241: &lt;http://trac.webkit.org/changeset/195241&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1156489</commentid>
    <comment_count>5</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2016-01-18 17:09:05 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>268030</attachid>
            <date>2015-12-30 22:45:33 -0800</date>
            <delta_ts>2016-01-18 17:08:59 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-152604-20151231154457.patch</filename>
            <type>text/plain</type>
            <size>28403</size>
            <attacher name="Ryuan Choi">ryuan.choi</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTk0NDI2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKaW5kZXggYzM1NGE0MGUyMjgwNTUy
YjY3ZjFmZjRhNDU0Mjc0N2VhYjFiNzEzYi4uNTU4NGQ4NzllOTQxNzk2MDM4MWJiMzg3NmNhOWUz
NGNlMWFjZTIxZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJLaXQyL0NoYW5nZUxvZwpAQCAtMSwzICsxLDYwIEBACisyMDE1LTEyLTMwICBSeXVh
biBDaG9pICA8cnl1YW4uY2hvaUBuYXZlcmNvcnAuY29tPgorCisgICAgICAgIFtFRkxdIFJlbW92
ZSB3a1ZpZXcoKSBmcm9tIEV3a1ZpZXcKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcv
c2hvd19idWcuY2dpP2lkPTE1MjYwNAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09Q
UyEpLgorCisgICAgICAgICogVUlQcm9jZXNzL0FQSS9lZmwvRXdrVmlldy5jcHA6CisgICAgICAg
IChFd2tWaWV3RXZlbnRIYW5kbGVyPEVWQVNfQ0FMTEJBQ0tfU0hPVz46OmhhbmRsZUV2ZW50KToK
KyAgICAgICAgKEV3a1ZpZXdFdmVudEhhbmRsZXI8RVZBU19DQUxMQkFDS19ISURFPjo6aGFuZGxl
RXZlbnQpOgorICAgICAgICAoRXdrVmlldzo6RXdrVmlldyk6CisgICAgICAgIChFd2tWaWV3Ojpj
cmVhdGUpOgorICAgICAgICAoRXdrVmlldzo6d2tQYWdlKToKKyAgICAgICAgKEV3a1ZpZXc6Omlz
VmlzaWJsZSk6CisgICAgICAgIChFd2tWaWV3OjpzZXRWaXNpYmxlKToKKyAgICAgICAgKEV3a1Zp
ZXc6OnNldERldmljZVNjYWxlRmFjdG9yKToKKyAgICAgICAgKEV3a1ZpZXc6OmRldmljZVNpemUp
OgorICAgICAgICAoRXdrVmlldzo6ZGlzcGxheVRpbWVyRmlyZWQpOgorICAgICAgICAoRXdrVmll
dzo6c2V0Vmlld3BvcnRQb3NpdGlvbik6CisgICAgICAgIChFd2tWaWV3OjpyZXF1ZXN0RXhpdEZ1
bGxTY3JlZW4pOgorICAgICAgICAoRXdrVmlldzo6Y29udGVudHNTaXplKToKKyAgICAgICAgKEV3
a1ZpZXc6OnNldFRoZW1lUGF0aCk6CisgICAgICAgIChFd2tWaWV3OjpmZWVkVG91Y2hFdmVudCk6
CisgICAgICAgIChFd2tWaWV3OjpjcmVhdGVHTFN1cmZhY2UpOgorICAgICAgICAoRXdrVmlldzo6
c2hvd0NvbnRleHRNZW51KToKKyAgICAgICAgKEV3a1ZpZXc6OnJlcXVlc3RQb3B1cE1lbnUpOgor
ICAgICAgICAoRXdrVmlldzo6d2ViVmlldyk6CisgICAgICAgIChFd2tWaWV3OjpoYW5kbGVFdmFz
T2JqZWN0Q2FsY3VsYXRlKToKKyAgICAgICAgKEV3a1ZpZXc6OmhhbmRsZUV2YXNPYmplY3RDb2xv
clNldCk6CisgICAgICAgIChFd2tWaWV3OjpoYW5kbGVFd2tWaWV3Rm9jdXNJbik6CisgICAgICAg
IChFd2tWaWV3OjpoYW5kbGVFd2tWaWV3Rm9jdXNPdXQpOgorICAgICAgICAoRXdrVmlldzo6ZmVl
ZFRvdWNoRXZlbnRzKToKKyAgICAgICAgKEV3a1ZpZXc6OnRha2VTbmFwc2hvdCk6CisgICAgICAg
IChFd2tWaWV3OjpzY3JvbGxCeSk6CisgICAgICAgIChFd2tWaWV3OjpzZXRCYWNrZ3JvdW5kQ29s
b3IpOgorICAgICAgICAoRXdrVmlldzo6YmFja2dyb3VuZENvbG9yKToKKyAgICAgICAgKiBVSVBy
b2Nlc3MvQVBJL2VmbC9Fd2tWaWV3Lmg6CisgICAgICAgIChFd2tWaWV3Ojp3a1ZpZXcpOiBEZWxl
dGVkLgorICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvZWZsL0dlc3R1cmVSZWNvZ25pemVyLmNwcDoK
KyAgICAgICAgKFdlYktpdDo6R2VzdHVyZUhhbmRsZXI6OmhhbmRsZVNpbmdsZVRhcCk6CisgICAg
ICAgICogVUlQcm9jZXNzL0FQSS9lZmwvZXdrX3ZpZXcuY3BwOgorICAgICAgICAoRVdLVmlld0Ny
ZWF0ZSk6CisgICAgICAgIChFV0tWaWV3R2V0V0tWaWV3KToKKyAgICAgICAgKGV3a192aWV3X2Z1
bGxzY3JlZW5fZXhpdCk6CisgICAgICAgIChld2tfdmlld19sYXlvdXRfZml4ZWRfc2V0KToKKyAg
ICAgICAgKGV3a192aWV3X2xheW91dF9maXhlZF9nZXQpOgorICAgICAgICAoZXdrX3ZpZXdfbGF5
b3V0X2ZpeGVkX3NpemVfc2V0KToKKyAgICAgICAgKGV3a192aWV3X2xheW91dF9maXhlZF9zaXpl
X2dldCk6CisgICAgICAgIChld2tfdmlld19iZ19jb2xvcl9nZXQpOgorICAgICAgICAoZXdrX3Zp
ZXdfY29udGVudHNfc2l6ZV9nZXQpOgorICAgICAgICAqIFVJUHJvY2Vzcy9lZmwvUGFnZVZpZXdw
b3J0Q29udHJvbGxlckNsaWVudEVmbC5jcHA6CisgICAgICAgIChXZWJLaXQ6OlBhZ2VWaWV3cG9y
dENvbnRyb2xsZXJDbGllbnRFZmw6OnNldFBhZ2VTY2FsZUZhY3Rvcik6CisgICAgICAgICogVUlQ
cm9jZXNzL2VmbC9WaWV3Q2xpZW50RWZsLmNwcDoKKyAgICAgICAgKFdlYktpdDo6Vmlld0NsaWVu
dEVmbDo6d2ViUHJvY2Vzc0RpZFJlbGF1bmNoKToKKyAgICAgICAgKFdlYktpdDo6Vmlld0NsaWVu
dEVmbDo6Vmlld0NsaWVudEVmbCk6CisgICAgICAgIChXZWJLaXQ6OlZpZXdDbGllbnRFZmw6On5W
aWV3Q2xpZW50RWZsKToKKwogMjAxNS0xMi0yNiAgSm9vbmdodW4gUGFyayAgPGpoNzE4LnBhcmtA
c2Ftc3VuZy5jb20+CiAKICAgICAgICAgW1dLMl1bRUZMXSBVc2UgZWluYV9maWxlX3BhdGhfam9p
biBhdCBwbGF0Zm9ybURlZmF1bHRJY29uRGF0YWJhc2VQYXRoIGluIFdlYlByb2Nlc3NQb29sRWZs
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2VmbC9Fd2tWaWV3LmNw
cCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZWZsL0V3a1ZpZXcuY3BwCmluZGV4IGIy
NzFkNjkwZWY4MDJhZTFkOTMxZDBjZjI3MjZlMWQwZTVmMDVlZWEuLmY0MjNkMWUxODA4YjUyZWJi
OTI3MDVjOTU1NGU3ZDE2MzFhM2U0ZmEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJv
Y2Vzcy9BUEkvZWZsL0V3a1ZpZXcuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9B
UEkvZWZsL0V3a1ZpZXcuY3BwCkBAIC0yNTIsMTQgKzI1MiwxNCBAQCB0ZW1wbGF0ZSA8Pgogdm9p
ZCBFd2tWaWV3RXZlbnRIYW5kbGVyPEVWQVNfQ0FMTEJBQ0tfU0hPVz46OmhhbmRsZUV2ZW50KHZv
aWQqIGRhdGEsIEV2YXMqLCBFdmFzX09iamVjdCosIHZvaWQqKQogewogICAgIEV3a19WaWV3X1Nt
YXJ0X0RhdGEqIHNtYXJ0RGF0YSA9IHN0YXRpY19jYXN0PEV3a19WaWV3X1NtYXJ0X0RhdGEqPihk
YXRhKTsKLSAgICBXS1ZpZXdTZXRJc1Zpc2libGUodG9Fd2tWaWV3KHNtYXJ0RGF0YSktPndrVmll
dygpLCB0cnVlKTsKKyAgICB0b0V3a1ZpZXcoc21hcnREYXRhKS0+c2V0VmlzaWJsZSh0cnVlKTsK
IH0KIAogdGVtcGxhdGUgPD4KIHZvaWQgRXdrVmlld0V2ZW50SGFuZGxlcjxFVkFTX0NBTExCQUNL
X0hJREU+OjpoYW5kbGVFdmVudCh2b2lkKiBkYXRhLCBFdmFzKiwgRXZhc19PYmplY3QqLCB2b2lk
KikKIHsKICAgICBFd2tfVmlld19TbWFydF9EYXRhKiBzbWFydERhdGEgPSBzdGF0aWNfY2FzdDxF
d2tfVmlld19TbWFydF9EYXRhKj4oZGF0YSk7Ci0gICAgV0tWaWV3U2V0SXNWaXNpYmxlKHRvRXdr
VmlldyhzbWFydERhdGEpLT53a1ZpZXcoKSwgZmFsc2UpOworICAgIHRvRXdrVmlldyhzbWFydERh
dGEpLT5zZXRWaXNpYmxlKGZhbHNlKTsKIH0KIAogdHlwZWRlZiBIYXNoTWFwPFdLUGFnZVJlZiwg
RXZhc19PYmplY3QqPiBXS1BhZ2VUb0V2YXNPYmplY3RNYXA7CkBAIC0yNzIsNyArMjcyLDcgQEAg
c3RhdGljIGlubGluZSBXS1BhZ2VUb0V2YXNPYmplY3RNYXAmIHdrUGFnZVRvRXZhc09iamVjdE1h
cCgpCiAKIC8vIEV3a1ZpZXcgaW1wbGVtZW50YXRpb24uCiAKLUV3a1ZpZXc6OkV3a1ZpZXcoV0tW
aWV3UmVmIHZpZXcsIEV2YXNfT2JqZWN0KiBldmFzT2JqZWN0KQorRXdrVmlldzo6RXdrVmlldyhX
ZWJWaWV3KiB2aWV3LCBFdmFzX09iamVjdCogZXZhc09iamVjdCkKICAgICA6IG1fd2ViVmlldyh2
aWV3KQogICAgICwgbV9ldmFzT2JqZWN0KGV2YXNPYmplY3QpCiAgICAgLCBtX2NvbnRleHQoRXdr
Q29udGV4dDo6ZmluZE9yQ3JlYXRlV3JhcHBlcihXS1BhZ2VHZXRDb250ZXh0KHdrUGFnZSgpKSkp
CkBAIC0zMTEsNyArMzExLDcgQEAgRXdrVmlldzo6RXdrVmlldyhXS1ZpZXdSZWYgdmlldywgRXZh
c19PYmplY3QqIGV2YXNPYmplY3QpCiAgICAgQVNTRVJUKG1fY29udGV4dCk7CiAKICAgICAvLyBG
SVhNRTogUmVtb3ZlIHdoZW4gcG9zc2libGUuCi0gICAgc3RhdGljX2Nhc3Q8V2ViVmlld0VmbCo+
KHdlYlZpZXcoKSktPnNldEV3a1ZpZXcodGhpcyk7CisgICAgc3RhdGljX2Nhc3Q8V2ViVmlld0Vm
bCo+KG1fd2ViVmlldy5nZXQoKSktPnNldEV3a1ZpZXcodGhpcyk7CiAKICAgICAvLyBGSVhNRTog
Q29uc2lkZXIgaXQgdG8gbW92ZSBpbnRvIEV2YXNHTENvbnRleHQuCiAgICAgbV9ldmFzR0wgPSBl
dmFzX2dsX25ldyhldmFzX29iamVjdF9ldmFzX2dldChtX2V2YXNPYmplY3QpKTsKQEAgLTMzMyw3
ICszMzMsNyBAQCBFd2tWaWV3OjpFd2tWaWV3KFdLVmlld1JlZiB2aWV3LCBFdmFzX09iamVjdCog
ZXZhc09iamVjdCkKICAgICBtX3BlbmRpbmdTdXJmYWNlUmVzaXplID0gbV9pc0FjY2VsZXJhdGVk
OwogCiAgICAgLy8gRklYTUU6IEl0IHNob3VsZCBiZSBtb3ZlZCB0byBzb21lIGJldHRlciBwbGFj
ZSB0byBjcmVhdGUgYW4gaW5hY3RpdmUgZXdrX3ZpZXcuCi0gICAgV0tWaWV3U2V0SXNBY3RpdmUo
d2tWaWV3KCksIHRydWUpOworICAgIG1fd2ViVmlldy0+c2V0QWN0aXZlKHRydWUpOwogCiAgICAg
bV9wYWdlVUlDbGllbnQgPSBzdGQ6Om1ha2VfdW5pcXVlPFBhZ2VVSUNsaWVudEVmbD4odGhpcyk7
CiAKQEAgLTM1OCw3ICszNTgsNyBAQCBFd2tWaWV3Ojp+RXdrVmlldygpCiAgICAgICAgIGV2YXNf
Z2xfZnJlZShtX2V2YXNHTCk7CiB9CiAKLUV3a1ZpZXcqIEV3a1ZpZXc6OmNyZWF0ZShXS1ZpZXdS
ZWYgd2ViVmlldywgRXZhcyogY2FudmFzLCBFdmFzX1NtYXJ0KiBzbWFydCkKK0V3a1ZpZXcqIEV3
a1ZpZXc6OmNyZWF0ZShXZWJWaWV3KiB3ZWJWaWV3LCBFdmFzKiBjYW52YXMsIEV2YXNfU21hcnQq
IHNtYXJ0KQogewogICAgIEVJTkFfU0FGRVRZX09OX05VTExfUkVUVVJOX1ZBTChjYW52YXMsIG51
bGxwdHIpOwogCkBAIC00MjMsNyArNDIzLDcgQEAgRXZhc19PYmplY3QqIEV3a1ZpZXc6OnRvRXZh
c09iamVjdChXS1BhZ2VSZWYgcGFnZSkKIAogV0tQYWdlUmVmIEV3a1ZpZXc6OndrUGFnZSgpIGNv
bnN0CiB7Ci0gICAgcmV0dXJuIFdLVmlld0dldFBhZ2Uod2tWaWV3KCkpOworICAgIHJldHVybiBt
X3dlYlZpZXctPnBhZ2VSZWYoKTsKIH0KIAogI2lmZGVmIEhBVkVfRUNPUkVfWApAQCAtNDg0LDEz
ICs0ODQsMjMgQEAgdm9pZCBFd2tWaWV3OjpzZXRDdXJzb3IoY29uc3QgQ3Vyc29yJiBjdXJzb3Ip
CiAjZW5kaWYKIH0KIAorYm9vbCBFd2tWaWV3Ojppc1Zpc2libGUoKSBjb25zdAoreworICAgIHJl
dHVybiBtX3dlYlZpZXctPmlzVmlzaWJsZSgpOworfQorCit2b2lkIEV3a1ZpZXc6OnNldFZpc2li
bGUoYm9vbCB2aXNpYmxlKQoreworICAgIG1fd2ViVmlldy0+c2V0VmlzaWJsZSh2aXNpYmxlKTsK
K30KKwogdm9pZCBFd2tWaWV3OjpzZXREZXZpY2VTY2FsZUZhY3RvcihmbG9hdCBzY2FsZSkKIHsK
LSAgICBjb25zdCBXS1NpemUmIGRldmljZVNpemUgPSBXS1ZpZXdHZXRTaXplKHdrVmlldygpKTsK
KyAgICBjb25zdCBJbnRTaXplJiBzaXplID0gZGV2aWNlU2l6ZSgpOwogICAgIFdLUGFnZVNldEN1
c3RvbUJhY2tpbmdTY2FsZUZhY3Rvcih3a1BhZ2UoKSwgc2NhbGUpOwogCiAgICAgLy8gVXBkYXRl
IGludGVybmFsIHZpZXdwb3J0IHNpemUgYWZ0ZXIgZGV2aWNlLXNjYWxlIGNoYW5nZS4KLSAgICBX
S1ZpZXdTZXRTaXplKHdrVmlldygpLCBkZXZpY2VTaXplKTsKKyAgICBtX3dlYlZpZXctPnNldFNp
emUoc2l6ZSk7CiB9CiAKIGZsb2F0IEV3a1ZpZXc6OmRldmljZVNjYWxlRmFjdG9yKCkgY29uc3QK
QEAgLTU0Miw3ICs1NTIsNyBAQCBpbmxpbmUgSW50U2l6ZSBFd2tWaWV3OjpzaXplKCkgY29uc3QK
IAogaW5saW5lIEludFNpemUgRXdrVmlldzo6ZGV2aWNlU2l6ZSgpIGNvbnN0CiB7Ci0gICAgcmV0
dXJuIHRvSW50U2l6ZShXS1ZpZXdHZXRTaXplKHdrVmlldygpKSk7CisgICAgcmV0dXJuIG1fd2Vi
Vmlldy0+c2l6ZSgpOwogfQogCiB2b2lkIEV3a1ZpZXc6OmRpc3BsYXlUaW1lckZpcmVkKCkKQEAg
LTU2NCwxNCArNTc0LDE1IEBAIHZvaWQgRXdrVmlldzo6ZGlzcGxheVRpbWVyRmlyZWQoKQogICAg
ICAgICBpZiAoIXN1cmZhY2UpCiAgICAgICAgICAgICByZXR1cm47CiAKLSAgICAgICAgV0tWaWV3
UGFpbnRUb0NhaXJvU3VyZmFjZSh3a1ZpZXcoKSwgc3VyZmFjZS5nZXQoKSk7CisgICAgICAgIHN0
YXRpY19jYXN0PFdlYlZpZXdFZmwqPihtX3dlYlZpZXcuZ2V0KCkpLT5wYWludFRvQ2Fpcm9TdXJm
YWNlKHN1cmZhY2UuZ2V0KCkpOworCiAgICAgICAgIGV2YXNfb2JqZWN0X2ltYWdlX2RhdGFfdXBk
YXRlX2FkZChzZC0+aW1hZ2UsIDAsIDAsIHNkLT52aWV3LncsIHNkLT52aWV3LmgpOwogICAgICAg
ICByZXR1cm47CiAgICAgfQogCiAgICAgZXZhc19nbF9tYWtlX2N1cnJlbnQobV9ldmFzR0wsIG1f
ZXZhc0dMU3VyZmFjZS0+c3VyZmFjZSgpLCBtX2V2YXNHTENvbnRleHQtPmNvbnRleHQoKSk7CiAK
LSAgICBXS1ZpZXdQYWludFRvQ3VycmVudEdMQ29udGV4dCh3a1ZpZXcoKSk7CisgICAgbV93ZWJW
aWV3LT5wYWludFRvQ3VycmVudEdMQ29udGV4dCgpOwogCiAgICAgLy8gc2QtPmltYWdlIHNob3Vs
ZCBiZSB1cGRhdGVkIGZyb20gKDAsMCkgd2hlbiB1c2luZyB0aGUgZXZhc0dMIGZvciBncmFwaGlj
cyBiYWNrZW5kLgogICAgIGV2YXNfb2JqZWN0X2ltYWdlX2RhdGFfdXBkYXRlX2FkZChzZC0+aW1h
Z2UsIDAsIDAsIHNkLT52aWV3LncsIHNkLT52aWV3LmgpOwpAQCAtNTg4LDcgKzU5OSw3IEBAIHZv
aWQgRXdrVmlldzo6c2NoZWR1bGVVcGRhdGVEaXNwbGF5KCkKIAogdm9pZCBFd2tWaWV3OjpzZXRW
aWV3cG9ydFBvc2l0aW9uKGNvbnN0IEZsb2F0UG9pbnQmIGNvbnRlbnRzUG9zaXRpb24pCiB7Ci0g
ICAgV0tWaWV3U2V0Q29udGVudFBvc2l0aW9uKHdrVmlldygpLCBXS1BvaW50TWFrZShjb250ZW50
c1Bvc2l0aW9uLngoKSwgY29udGVudHNQb3NpdGlvbi55KCkpKTsKKyAgICBtX3dlYlZpZXctPnNl
dENvbnRlbnRQb3NpdGlvbihjb250ZW50c1Bvc2l0aW9uKTsKICAgICBtX3BhZ2VWaWV3cG9ydENv
bnRyb2xsZXIuZGlkQ2hhbmdlQ29udGVudHNWaXNpYmlsaXR5KGNvbnRlbnRzUG9zaXRpb24sIG1f
cGFnZVZpZXdwb3J0Q29udHJvbGxlci5jdXJyZW50U2NhbGUoKSk7CiB9CiAKQEAgLTYyMiw2ICs2
MzMsMTEgQEAgdm9pZCBFd2tWaWV3OjpleGl0RnVsbFNjcmVlbigpCiAgICAgICAgIGVjb3JlX2V2
YXNfZnVsbHNjcmVlbl9zZXQoZWNvcmVFdmFzLCBmYWxzZSk7CiAgICAgfQogfQorCitib29sIEV3
a1ZpZXc6OnJlcXVlc3RFeGl0RnVsbFNjcmVlbigpCit7CisgICAgcmV0dXJuIG1fd2ViVmlldy0+
cmVxdWVzdEV4aXRGdWxsU2NyZWVuKCk7Cit9CiAjZW5kaWYKIAogV0tSZWN0IEV3a1ZpZXc6Ondp
bmRvd0dlb21ldHJ5KCkgY29uc3QKQEAgLTY0Nyw2ICs2NjMsMTEgQEAgdm9pZCBFd2tWaWV3Ojpz
ZXRXaW5kb3dHZW9tZXRyeShjb25zdCBXS1JlY3QmIHJlY3QpCiAgICAgfQogfQogCitJbnRTaXpl
IEV3a1ZpZXc6OmNvbnRlbnRzU2l6ZSgpIGNvbnN0Cit7CisgICAgcmV0dXJuIG1fd2ViVmlldy0+
Y29udGVudHNTaXplKCk7Cit9CisKIGNvbnN0IGNoYXIqIEV3a1ZpZXc6OnRpdGxlKCkgY29uc3QK
IHsKICAgICBtX3RpdGxlID0gV0tFaW5hU2hhcmVkU3RyaW5nKEFkb3B0V0ssIFdLUGFnZUNvcHlU
aXRsZSh3a1BhZ2UoKSkpOwpAQCAtNjcwLDExICs2OTEsOCBAQCBjb25zdCBjaGFyKiBFd2tWaWV3
Ojp0aGVtZVBhdGgoKSBjb25zdAogCiB2b2lkIEV3a1ZpZXc6OnNldFRoZW1lUGF0aChjb25zdCBj
aGFyKiB0aGVtZSkKIHsKLSAgICBpZiAobV90aGVtZSAhPSB0aGVtZSkgewotICAgICAgICBtX3Ro
ZW1lID0gdGhlbWU7Ci0gICAgICAgIFdLUmV0YWluUHRyPFdLU3RyaW5nUmVmPiB3a1RoZW1lID0g
YWRvcHRXSyhXS1N0cmluZ0NyZWF0ZVdpdGhVVEY4Q1N0cmluZyh0aGVtZSkpOwotICAgICAgICBX
S1ZpZXdTZXRUaGVtZVBhdGgod2tWaWV3KCksIHdrVGhlbWUuZ2V0KCkpOwotICAgIH0KKyAgICBt
X3RoZW1lID0gdGhlbWU7CisgICAgc3RhdGljX2Nhc3Q8V2ViVmlld0VmbCo+KG1fd2ViVmlldy5n
ZXQoKSktPnNldFRoZW1lUGF0aChTdHJpbmc6OmZyb21VVEY4KG1fdGhlbWUsIG1fdGhlbWUubGVu
Z3RoKCkpKTsKIH0KIAogdm9pZCBFd2tWaWV3OjpzZXRDdXN0b21UZXh0RW5jb2RpbmdOYW1lKGNv
bnN0IGNoYXIqIGN1c3RvbUVuY29kaW5nKQpAQCAtNzc2LDcgKzc5NCw3IEBAIHZvaWQgRXdrVmll
dzo6ZmVlZFRvdWNoRXZlbnQoRXdrX1RvdWNoX0V2ZW50X1R5cGUgdHlwZSwgY29uc3QgRWluYV9M
aXN0KiBwb2ludHMsCiAgICAgfQogICAgIFdLUmV0YWluUHRyPFdLQXJyYXlSZWY+IHdrVG91Y2hQ
b2ludHMoQWRvcHRXSywgV0tBcnJheUNyZWF0ZUFkb3B0aW5nVmFsdWVzKHRvdWNoUG9pbnRzLmdl
dCgpLCBsZW5ndGgpKTsKIAotICAgIFdLVmlld1NlbmRUb3VjaEV2ZW50KHdrVmlldygpLCBhZG9w
dFdLKFdLVG91Y2hFdmVudENyZWF0ZShzdGF0aWNfY2FzdDxXS0V2ZW50VHlwZT4odHlwZSksIHdr
VG91Y2hQb2ludHMuZ2V0KCksIHRvV0tFdmVudE1vZGlmaWVycyhtb2RpZmllcnMpLCBlY29yZV90
aW1lX2dldCgpKSkuZ2V0KCkpOworICAgIHN0YXRpY19jYXN0PFdlYlZpZXdFZmwqPihtX3dlYlZp
ZXcuZ2V0KCkpLT5zZW5kVG91Y2hFdmVudChFd2tUb3VjaEV2ZW50OjpjcmVhdGUoc3RhdGljX2Nh
c3Q8V0tFdmVudFR5cGU+KHR5cGUpLCB3a1RvdWNoUG9pbnRzLmdldCgpLCB0b1dLRXZlbnRNb2Rp
ZmllcnMobW9kaWZpZXJzKSwgZWNvcmVfdGltZV9nZXQoKSkuZ2V0KCkpOwogfQogCiB2b2lkIEV3
a1ZpZXc6OnNldFRvdWNoRXZlbnRzRW5hYmxlZChib29sIGVuYWJsZWQpCkBAIC04MzcsOSArODU1
LDEwIEBAIGJvb2wgRXdrVmlldzo6Y3JlYXRlR0xTdXJmYWNlKCkKICAgICB9OwogCiAgICAgLy8g
UmVjcmVhdGUgdG8gY3VycmVudCBzaXplOiBSZXBsYWNlcyBpZiBub24tbnVsbCwgYW5kIGZyZWVz
IGV4aXN0aW5nIHN1cmZhY2UgYWZ0ZXIgKE93blB0cikuCi0gICAgaWYgKGRldmljZVNpemUoKS53
aWR0aCgpICYmIGRldmljZVNpemUoKS5oZWlnaHQoKSkgeworICAgIEludFNpemUgc2l6ZT0gZGV2
aWNlU2l6ZSgpOworICAgIGlmIChzaXplLndpZHRoKCkgJiYgc2l6ZS5oZWlnaHQoKSkgewogICAg
ICAgICBFdmFzX0dMX1N1cmZhY2UqIHN1cmZhY2UgPSBudWxscHRyOwotICAgICAgICBzdXJmYWNl
ID0gZXZhc19nbF9zdXJmYWNlX2NyZWF0ZShtX2V2YXNHTCwgJmV2YXNHTENvbmZpZywgZGV2aWNl
U2l6ZSgpLndpZHRoKCksIGRldmljZVNpemUoKS5oZWlnaHQoKSk7CisgICAgICAgIHN1cmZhY2Ug
PSBldmFzX2dsX3N1cmZhY2VfY3JlYXRlKG1fZXZhc0dMLCAmZXZhc0dMQ29uZmlnLCBzaXplLndp
ZHRoKCksIHNpemUuaGVpZ2h0KCkpOwogICAgICAgICBpZiAoIXN1cmZhY2UpCiAgICAgICAgICAg
ICByZXR1cm4gZmFsc2U7CiAKQEAgLTg1Nyw4ICs4NzYsOCBAQCBib29sIEV3a1ZpZXc6OmNyZWF0
ZUdMU3VyZmFjZSgpCiAKICAgICBFdmFzX0dMX0FQSSogZ2wgPSBldmFzX2dsX2FwaV9nZXQobV9l
dmFzR0wpOwogCi0gICAgV0tQb2ludCBib3VuZHNFbmQgPSBXS1ZpZXdVc2VyVmlld3BvcnRUb1Nj
ZW5lKHdrVmlldygpLCBXS1BvaW50TWFrZShkZXZpY2VTaXplKCkud2lkdGgoKSwgZGV2aWNlU2l6
ZSgpLmhlaWdodCgpKSk7Ci0gICAgZ2wtPmdsVmlld3BvcnQoMCwgMCwgYm91bmRzRW5kLngsIGJv
dW5kc0VuZC55KTsKKyAgICBJbnRQb2ludCBib3VuZHNFbmQgPSBtX3dlYlZpZXctPnVzZXJWaWV3
cG9ydFRvU2NlbmUoSW50UG9pbnQoc2l6ZS53aWR0aCgpLCBzaXplLmhlaWdodCgpKSk7CisgICAg
Z2wtPmdsVmlld3BvcnQoMCwgMCwgYm91bmRzRW5kLngoKSwgYm91bmRzRW5kLnkoKSk7CiAgICAg
Z2wtPmdsQ2xlYXJDb2xvcigxLjAsIDEuMCwgMS4wLCAwKTsKICAgICBnbC0+Z2xDbGVhcihHTF9D
T0xPUl9CVUZGRVJfQklUKTsKIApAQCAtOTMxLDkgKzk1MCw5IEBAIHZvaWQgRXdrVmlldzo6c2hv
d0NvbnRleHRNZW51KFdLUG9pbnQgcG9zaXRpb24sIFdLQXJyYXlSZWYgaXRlbXMpCiAKICAgICBt
X2NvbnRleHRNZW51ID0gRXdrQ29udGV4dE1lbnU6OmNyZWF0ZSh0aGlzLCBpdGVtcyk7CiAKLSAg
ICBwb3NpdGlvbiA9IFdLVmlld0NvbnRlbnRzVG9Vc2VyVmlld3BvcnQod2tWaWV3KCksIHBvc2l0
aW9uKTsKKyAgICBJbnRQb2ludCByZXN1bHQgPSBtX3dlYlZpZXctPmNvbnRlbnRzVG9Vc2VyVmll
d3BvcnQodG9JbnRQb2ludChwb3NpdGlvbikpOwogCi0gICAgc2QtPmFwaS0+Y29udGV4dF9tZW51
X3Nob3coc2QsIHBvc2l0aW9uLngsIHBvc2l0aW9uLnksIG1fY29udGV4dE1lbnUuZ2V0KCkpOwor
ICAgIHNkLT5hcGktPmNvbnRleHRfbWVudV9zaG93KHNkLCByZXN1bHQueCgpLCByZXN1bHQueSgp
LCBtX2NvbnRleHRNZW51LmdldCgpKTsKIH0KIAogdm9pZCBFd2tWaWV3OjpoaWRlQ29udGV4dE1l
bnUoKQpAQCAtOTY1LDEwICs5ODQsMTAgQEAgdm9pZCBFd2tWaWV3OjpyZXF1ZXN0UG9wdXBNZW51
KFdLUG9wdXBNZW51TGlzdGVuZXJSZWYgcG9wdXBNZW51TGlzdGVuZXIsIGNvbnN0IFcKIAogICAg
IG1fcG9wdXBNZW51ID0gc3RkOjptYWtlX3VuaXF1ZTxFd2tQb3B1cE1lbnU+KHRoaXMsIHBvcHVw
TWVudUxpc3RlbmVyLCBpdGVtcywgc2VsZWN0ZWRJbmRleCk7CiAKLSAgICBXS1BvaW50IHBvcHVw
TWVudVBvc2l0aW9uID0gV0tWaWV3Q29udGVudHNUb1VzZXJWaWV3cG9ydCh3a1ZpZXcoKSwgcmVj
dC5vcmlnaW4pOworICAgIEludFBvaW50IHBvcHVwTWVudVBvc2l0aW9uID0gbV93ZWJWaWV3LT5j
b250ZW50c1RvVXNlclZpZXdwb3J0KHRvSW50UG9pbnQocmVjdC5vcmlnaW4pKTsKIAogICAgIEVp
bmFfUmVjdGFuZ2xlIGVpbmFSZWN0OwotICAgIEVJTkFfUkVDVEFOR0xFX1NFVCgmZWluYVJlY3Qs
IHBvcHVwTWVudVBvc2l0aW9uLngsIHBvcHVwTWVudVBvc2l0aW9uLnksIHJlY3Quc2l6ZS53aWR0
aCwgcmVjdC5zaXplLmhlaWdodCk7CisgICAgRUlOQV9SRUNUQU5HTEVfU0VUKCZlaW5hUmVjdCwg
cG9wdXBNZW51UG9zaXRpb24ueCgpLCBwb3B1cE1lbnVQb3NpdGlvbi55KCksIHJlY3Quc2l6ZS53
aWR0aCwgcmVjdC5zaXplLmhlaWdodCk7CiAKICAgICBzd2l0Y2ggKHRleHREaXJlY3Rpb24pIHsK
ICAgICBjYXNlIGtXS1BvcHVwSXRlbVRleHREaXJlY3Rpb25SVEw6CkBAIC0xMDcyLDcgKzEwOTEs
NyBAQCB1bnNpZ25lZCBsb25nIGxvbmcgRXdrVmlldzo6aW5mb3JtRGF0YWJhc2VRdW90YVJlYWNo
ZWQoY29uc3QgU3RyaW5nJiBkYXRhYmFzZU5hbQogCiBXZWJWaWV3KiBFd2tWaWV3Ojp3ZWJWaWV3
KCkKIHsKLSAgICByZXR1cm4gdG9JbXBsKG1fd2ViVmlldy5nZXQoKSk7CisgICAgcmV0dXJuIG1f
d2ViVmlldy5nZXQoKTsKIH0KIAogLyoqCkBAIC0xMjQxLDcgKzEyNjAsNyBAQCB2b2lkIEV3a1Zp
ZXc6OmhhbmRsZUV2YXNPYmplY3RDYWxjdWxhdGUoRXZhc19PYmplY3QqIGV2YXNPYmplY3QpCiAg
ICAgICAgIHNtYXJ0RGF0YS0+dmlldy54ID0geDsKICAgICAgICAgc21hcnREYXRhLT52aWV3Lnkg
PSB5OwogICAgICAgICBldmFzX29iamVjdF9tb3ZlKHNtYXJ0RGF0YS0+aW1hZ2UsIHgsIHkpOwot
ICAgICAgICBXS1ZpZXdTZXRVc2VyVmlld3BvcnRUcmFuc2xhdGlvbihzZWxmLT53a1ZpZXcoKSwg
eCwgeSk7CisgICAgICAgIHNlbGYtPndlYlZpZXcoKS0+c2V0VXNlclZpZXdwb3J0VHJhbnNsYXRp
b24oeCwgeSk7CiAgICAgfQogCiAgICAgaWYgKHNtYXJ0RGF0YS0+Y2hhbmdlZC5zaXplKSB7CkBA
IC0xMjQ5LDcgKzEyNjgsNyBAQCB2b2lkIEV3a1ZpZXc6OmhhbmRsZUV2YXNPYmplY3RDYWxjdWxh
dGUoRXZhc19PYmplY3QqIGV2YXNPYmplY3QpCiAgICAgICAgIHNtYXJ0RGF0YS0+dmlldy53ID0g
d2lkdGg7CiAgICAgICAgIHNtYXJ0RGF0YS0+dmlldy5oID0gaGVpZ2h0OwogCi0gICAgICAgIFdL
Vmlld1NldFNpemUoc2VsZi0+d2tWaWV3KCksIFdLU2l6ZU1ha2Uod2lkdGgsIGhlaWdodCkpOwor
ICAgICAgICBzZWxmLT53ZWJWaWV3KCktPnNldFNpemUoSW50U2l6ZSh3aWR0aCwgaGVpZ2h0KSk7
CiAgICAgICAgIGlmIChXS1BhZ2VVc2VGaXhlZExheW91dChzZWxmLT53a1BhZ2UoKSkpCiAgICAg
ICAgICAgICBzZWxmLT5wYWdlVmlld3BvcnRDb250cm9sbGVyKCkuZGlkQ2hhbmdlVmlld3BvcnRT
aXplKHNlbGYtPnNpemUoKSk7CiAKQEAgLTEyODAsMjEgKzEyOTksMjEgQEAgdm9pZCBFd2tWaWV3
OjpoYW5kbGVFdmFzT2JqZWN0Q29sb3JTZXQoRXZhc19PYmplY3QqIGV2YXNPYmplY3QsIGludCBy
ZWQsIGludCBncmUKICAgICBFd2tfVmlld19TbWFydF9EYXRhKiBzbWFydERhdGEgPSB0b1NtYXJ0
RGF0YShldmFzT2JqZWN0KTsKICAgICBBU1NFUlQoc21hcnREYXRhKTsKIAotICAgIGludCBiYWNr
Z3JvdW5kQWxwaGE7Ci0gICAgV0tWaWV3R2V0QmFja2dyb3VuZENvbG9yKHRvRXdrVmlldyhzbWFy
dERhdGEpLT53a1ZpZXcoKSwgbnVsbHB0ciwgbnVsbHB0ciwgbnVsbHB0ciwgJmJhY2tncm91bmRB
bHBoYSk7Ci0gICAgZXZhc19vYmplY3RfaW1hZ2VfYWxwaGFfc2V0KHNtYXJ0RGF0YS0+aW1hZ2Us
IGFscGhhIDwgMjU1IHx8IGJhY2tncm91bmRBbHBoYSA8IDI1NSk7CisgICAgQ29sb3IgYmFja2dy
b3VuZENvbG9yID0gc3RhdGljX2Nhc3Q8V2ViVmlld0VmbCo+KHRvRXdrVmlldyhzbWFydERhdGEp
LT53ZWJWaWV3KCkpLT52aWV3QmFja2dyb3VuZENvbG9yKCk7CisKKyAgICBldmFzX29iamVjdF9p
bWFnZV9hbHBoYV9zZXQoc21hcnREYXRhLT5pbWFnZSwgYWxwaGEgPCAyNTUgfHwgYmFja2dyb3Vu
ZENvbG9yLmFscGhhKCkgPCAyNTUpOwogICAgIHBhcmVudFNtYXJ0Q2xhc3MuY29sb3Jfc2V0KGV2
YXNPYmplY3QsIHJlZCwgZ3JlZW4sIGJsdWUsIGFscGhhKTsKIH0KIAogRWluYV9Cb29sIEV3a1Zp
ZXc6OmhhbmRsZUV3a1ZpZXdGb2N1c0luKEV3a19WaWV3X1NtYXJ0X0RhdGEqIHNtYXJ0RGF0YSkK
IHsKLSAgICBXS1ZpZXdTZXRJc0ZvY3VzZWQodG9Fd2tWaWV3KHNtYXJ0RGF0YSktPndrVmlldygp
LCB0cnVlKTsKKyAgICB0b0V3a1ZpZXcoc21hcnREYXRhKS0+d2ViVmlldygpLT5zZXRGb2N1c2Vk
KHRydWUpOwogICAgIHJldHVybiB0cnVlOwogfQogCiBFaW5hX0Jvb2wgRXdrVmlldzo6aGFuZGxl
RXdrVmlld0ZvY3VzT3V0KEV3a19WaWV3X1NtYXJ0X0RhdGEqIHNtYXJ0RGF0YSkKIHsKLSAgICBX
S1ZpZXdTZXRJc0ZvY3VzZWQodG9Fd2tWaWV3KHNtYXJ0RGF0YSktPndrVmlldygpLCBmYWxzZSk7
CisgICAgdG9Fd2tWaWV3KHNtYXJ0RGF0YSktPndlYlZpZXcoKS0+c2V0Rm9jdXNlZCh0cnVlKTsK
ICAgICByZXR1cm4gdHJ1ZTsKIH0KIApAQCAtMTM2Nyw3ICsxMzg2LDcgQEAgdm9pZCBFd2tWaWV3
OjpmZWVkVG91Y2hFdmVudHMoRXdrX1RvdWNoX0V2ZW50X1R5cGUgdHlwZSwgZG91YmxlIHRpbWVz
dGFtcCkKICAgICB9CiAgICAgV0tSZXRhaW5QdHI8V0tBcnJheVJlZj4gd2tUb3VjaFBvaW50cyhB
ZG9wdFdLLCBXS0FycmF5Q3JlYXRlQWRvcHRpbmdWYWx1ZXModG91Y2hQb2ludHMuZ2V0KCksIGxl
bmd0aCkpOwogCi0gICAgV0tWaWV3U2VuZFRvdWNoRXZlbnQod2tWaWV3KCksIGFkb3B0V0soV0tU
b3VjaEV2ZW50Q3JlYXRlKHN0YXRpY19jYXN0PFdLRXZlbnRUeXBlPih0eXBlKSwgd2tUb3VjaFBv
aW50cy5nZXQoKSwgdG9XS0V2ZW50TW9kaWZpZXJzKGV2YXNfa2V5X21vZGlmaWVyX2dldChzZC0+
YmFzZS5ldmFzKSksIHRpbWVzdGFtcCkpLmdldCgpKTsKKyAgICBzdGF0aWNfY2FzdDxXZWJWaWV3
RWZsKj4obV93ZWJWaWV3LmdldCgpKS0+c2VuZFRvdWNoRXZlbnQoRXdrVG91Y2hFdmVudDo6Y3Jl
YXRlKHN0YXRpY19jYXN0PFdLRXZlbnRUeXBlPih0eXBlKSwgd2tUb3VjaFBvaW50cy5nZXQoKSwg
dG9XS0V2ZW50TW9kaWZpZXJzKGV2YXNfa2V5X21vZGlmaWVyX2dldChzZC0+YmFzZS5ldmFzKSks
IHRpbWVzdGFtcCkuZ2V0KCkpOwogfQogCiB2b2lkIEV3a1ZpZXc6OmhhbmRsZU1vdXNlRG93bkZv
clRvdWNoKHZvaWQqLCBFdmFzKiwgRXZhc19PYmplY3QqIGV3a1ZpZXcsIHZvaWQqIGV2ZW50SW5m
bykKQEAgLTE0MTIsNyArMTQzMSw3IEBAIHZvaWQgRXdrVmlldzo6aGFuZGxlRmF2aWNvbkNoYW5n
ZWQoY29uc3QgY2hhciogcGFnZVVSTCwgdm9pZCogZXZlbnRJbmZvKQogUGFzc1JlZlB0cjxjYWly
b19zdXJmYWNlX3Q+IEV3a1ZpZXc6OnRha2VTbmFwc2hvdCgpCiB7CiAgICAgLy8gU3VzcGVuZCBh
bGwgYW5pbWF0aW9ucyBiZWZvcmUgdGFraW5nIHRoZSBzbmFwc2hvdC4KLSAgICBXS1ZpZXdTdXNw
ZW5kQWN0aXZlRE9NT2JqZWN0c0FuZEFuaW1hdGlvbnMod2tWaWV3KCkpOworICAgIG1fd2ViVmll
dy0+c3VzcGVuZEFjdGl2ZURPTU9iamVjdHNBbmRBbmltYXRpb25zKCk7CiAKICAgICAvLyBXYWl0
IGZvciB0aGUgcGVuZGluZyByZXBhaW50IGV2ZW50cyB0byBiZSBwcm9jZXNzZWQuCiAgICAgd2hp
bGUgKG1fZGlzcGxheVRpbWVyLmlzQWN0aXZlKCkpCkBAIC0xNDIyLDE0ICsxNDQxLDE0IEBAIFBh
c3NSZWZQdHI8Y2Fpcm9fc3VyZmFjZV90PiBFd2tWaWV3Ojp0YWtlU25hcHNob3QoKQogICAgIGlm
IChtX2lzQWNjZWxlcmF0ZWQpIHsKICAgICAgICAgUmVmUHRyPGNhaXJvX3N1cmZhY2VfdD4gc25h
cHNob3QgPSBnZXRJbWFnZVN1cmZhY2VGcm9tRnJhbWVCdWZmZXIoMCwgMCwgc2QtPnZpZXcudywg
c2QtPnZpZXcuaCk7CiAgICAgICAgIC8vIFJlc3VtZSBhbGwgYW5pbWF0aW9ucy4KLSAgICAgICAg
V0tWaWV3UmVzdW1lQWN0aXZlRE9NT2JqZWN0c0FuZEFuaW1hdGlvbnMod2tWaWV3KCkpOworICAg
ICAgICBtX3dlYlZpZXctPnJlc3VtZUFjdGl2ZURPTU9iamVjdHNBbmRBbmltYXRpb25zKCk7CiAK
ICAgICAgICAgcmV0dXJuIHNuYXBzaG90LnJlbGVhc2UoKTsKICAgICB9CiAKICAgICBSZWZQdHI8
Y2Fpcm9fc3VyZmFjZV90PiBzbmFwc2hvdCA9IGNyZWF0ZVN1cmZhY2VGb3JJbWFnZShzZC0+aW1h
Z2UpOwogICAgIC8vIFJlc3VtZSBhbGwgYW5pbWF0aW9ucy4KLSAgICBXS1ZpZXdSZXN1bWVBY3Rp
dmVET01PYmplY3RzQW5kQW5pbWF0aW9ucyh3a1ZpZXcoKSk7CisgICAgbV93ZWJWaWV3LT5yZXN1
bWVBY3RpdmVET01PYmplY3RzQW5kQW5pbWF0aW9ucygpOwogCiAgICAgcmV0dXJuIHNuYXBzaG90
LnJlbGVhc2UoKTsKIH0KQEAgLTE0NDMsMzEgKzE0NjIsMzAgQEAgdm9pZCBFd2tWaWV3OjpkaWRG
aW5kWm9vbWFibGVBcmVhKGNvbnN0IFdLUG9pbnQmIHBvaW50LCBjb25zdCBXS1JlY3QmIGFyZWEp
CiAKIGJvb2wgRXdrVmlldzo6c2Nyb2xsQnkoY29uc3QgSW50U2l6ZSYgb2Zmc2V0KQogewotICAg
IFdLUG9pbnQgb2xkUG9zaXRpb24gPSBXS1ZpZXdHZXRDb250ZW50UG9zaXRpb24od2tWaWV3KCkp
OwotICAgIGZsb2F0IGNvbnRlbnRTY2FsZSA9IFdLVmlld0dldENvbnRlbnRTY2FsZUZhY3Rvcih3
a1ZpZXcoKSk7CisgICAgY29uc3QgRmxvYXRQb2ludCBvbGRQb3NpdGlvbiA9IG1fd2ViVmlldy0+
Y29udGVudFBvc2l0aW9uKCk7CisgICAgZmxvYXQgY29udGVudFNjYWxlID0gbV93ZWJWaWV3LT5j
b250ZW50U2NhbGVGYWN0b3IoKTsKIAogICAgIGZsb2F0IGVmZmVjdGl2ZVNjYWxlID0gY29udGVu
dFNjYWxlICogZGV2aWNlU2NhbGVGYWN0b3IoKTsKLSAgICBGbG9hdFBvaW50IG5ld1Bvc2l0aW9u
KG9sZFBvc2l0aW9uLnggKyBvZmZzZXQud2lkdGgoKSAvIGVmZmVjdGl2ZVNjYWxlLCBvbGRQb3Np
dGlvbi55ICsgb2Zmc2V0LmhlaWdodCgpIC8gZWZmZWN0aXZlU2NhbGUpOworICAgIEZsb2F0UG9p
bnQgbmV3UG9zaXRpb24ob2xkUG9zaXRpb24ueCgpICsgb2Zmc2V0LndpZHRoKCkgLyBlZmZlY3Rp
dmVTY2FsZSwgb2xkUG9zaXRpb24ueSgpICsgb2Zmc2V0LmhlaWdodCgpIC8gZWZmZWN0aXZlU2Nh
bGUpOwogCiAgICAgLy8gVXBkYXRlIG5ldyBwb3NpdGlvbiB0byB0aGUgUGFnZVZpZXdwb3J0Q29u
dHJvbGxlci4KICAgICBuZXdQb3NpdGlvbiA9IG1fcGFnZVZpZXdwb3J0Q29udHJvbGxlci5ib3Vu
ZENvbnRlbnRzUG9zaXRpb25BdFNjYWxlKG5ld1Bvc2l0aW9uLCBjb250ZW50U2NhbGUpOwogICAg
IG1fcGFnZVZpZXdwb3J0Q29udHJvbGxlci5kaWRDaGFuZ2VDb250ZW50c1Zpc2liaWxpdHkobmV3
UG9zaXRpb24sIGNvbnRlbnRTY2FsZSk7CiAKICAgICAvLyBVcGRhdGUgbmV3IHBvc2l0aW9uIHRv
IHRoZSBXS1ZpZXcuCi0gICAgV0tQb2ludCBwb3NpdGlvbiA9IFdLUG9pbnRNYWtlKG5ld1Bvc2l0
aW9uLngoKSwgbmV3UG9zaXRpb24ueSgpKTsKLSAgICBXS1ZpZXdTZXRDb250ZW50UG9zaXRpb24o
d2tWaWV3KCksIHBvc2l0aW9uKTsKKyAgICBtX3dlYlZpZXctPnNldENvbnRlbnRQb3NpdGlvbihu
ZXdQb3NpdGlvbik7CiAKICAgICAvLyBJZiB0aGUgcGFnZSBwb3NpdGlvbiBoYXMgbm90IGNoYW5n
ZWQsIG5vdGlmeSB0aGUgY2FsbGVyIHVzaW5nIHRoZSByZXR1cm4gdmFsdWUuCi0gICAgcmV0dXJu
ICEob2xkUG9zaXRpb24gPT0gcG9zaXRpb24pOworICAgIHJldHVybiAhKG9sZFBvc2l0aW9uID09
IG5ld1Bvc2l0aW9uKTsKIH0KIAogdm9pZCBFd2tWaWV3OjpzZXRCYWNrZ3JvdW5kQ29sb3IoaW50
IHJlZCwgaW50IGdyZWVuLCBpbnQgYmx1ZSwgaW50IGFscGhhKQogewogICAgIGlmIChyZWQgPT0g
MjU1ICYmIGdyZWVuID09IDI1NSAmJiBibHVlID09IDI1NSAmJiBhbHBoYSA9PSAyNTUpIHsKLSAg
ICAgICAgV0tWaWV3U2V0RHJhd3NCYWNrZ3JvdW5kKHdrVmlldygpLCB0cnVlKTsKKyAgICAgICAg
bV93ZWJWaWV3LT5zZXREcmF3c0JhY2tncm91bmQodHJ1ZSk7CiAgICAgICAgIFdLUGFnZVNldEJh
Y2tncm91bmRFeHRlbmRzQmV5b25kUGFnZSh3a1BhZ2UoKSwgdHJ1ZSk7CiAgICAgfSBlbHNlIHsK
LSAgICAgICAgV0tWaWV3U2V0RHJhd3NCYWNrZ3JvdW5kKHdrVmlldygpLCBmYWxzZSk7CisgICAg
ICAgIG1fd2ViVmlldy0+c2V0RHJhd3NCYWNrZ3JvdW5kKGZhbHNlKTsKICAgICAgICAgV0tQYWdl
U2V0QmFja2dyb3VuZEV4dGVuZHNCZXlvbmRQYWdlKHdrUGFnZSgpLCBmYWxzZSk7CiAgICAgfQog
CkBAIC0xNDc2LDcgKzE0OTQsMTIgQEAgdm9pZCBFd2tWaWV3OjpzZXRCYWNrZ3JvdW5kQ29sb3Io
aW50IHJlZCwgaW50IGdyZWVuLCBpbnQgYmx1ZSwgaW50IGFscGhhKQogICAgIGV2YXNfb2JqZWN0
X2NvbG9yX2dldChpbWFnZSwgbnVsbHB0ciwgbnVsbHB0ciwgbnVsbHB0ciwgJm9iamVjdEFscGhh
KTsKICAgICBldmFzX29iamVjdF9pbWFnZV9hbHBoYV9zZXQoaW1hZ2UsIGFscGhhIDwgMjU1IHx8
IG9iamVjdEFscGhhIDwgMjU1KTsKIAotICAgIFdLVmlld1NldEJhY2tncm91bmRDb2xvcih3a1Zp
ZXcoKSwgcmVkLCBncmVlbiwgYmx1ZSwgYWxwaGEpOworICAgIHN0YXRpY19jYXN0PFdlYlZpZXdF
ZmwqPihtX3dlYlZpZXcuZ2V0KCkpLT5zZXRWaWV3QmFja2dyb3VuZENvbG9yKFdlYkNvcmU6OkNv
bG9yKHJlZCwgZ3JlZW4sIGJsdWUsIGFscGhhKSk7Cit9CisKK0NvbG9yIEV3a1ZpZXc6OmJhY2tn
cm91bmRDb2xvcigpCit7CisgICAgcmV0dXJuIHN0YXRpY19jYXN0PFdlYlZpZXdFZmwqPihtX3dl
YlZpZXcuZ2V0KCkpLT52aWV3QmFja2dyb3VuZENvbG9yKCk7CiB9CiAKIEV2YXNfU21hcnRfQ2xh
c3MgRXdrVmlldzo6cGFyZW50U21hcnRDbGFzcyA9IEVWQVNfU01BUlRfQ0xBU1NfSU5JVF9OVUxM
OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9lZmwvRXdrVmlldy5o
IGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9lZmwvRXdrVmlldy5oCmluZGV4IGE0MTMx
ODQ4NmFkNmUxZmViMjM0ZjZmZTk5ZWM4NGI3Mzg3YWYwM2MuLjdiNjNiZTEzYWQ1NGQyN2QwMWE1
Y2UxNGY1NzlmYzM0ZTk1YjJmYTAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vz
cy9BUEkvZWZsL0V3a1ZpZXcuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2Vm
bC9Fd2tWaWV3LmgKQEAgLTkzLDcgKzkzLDcgQEAgdHlwZWRlZiBzdHJ1Y3QgRXdrX1ZpZXdfU21h
cnRfQ2xhc3MgRXdrX1ZpZXdfU21hcnRfQ2xhc3M7CiAKIGNsYXNzIEV3a1ZpZXcgewogcHVibGlj
OgotICAgIHN0YXRpYyBFd2tWaWV3KiBjcmVhdGUoV0tWaWV3UmVmLCBFdmFzKiBjYW52YXMsIEV2
YXNfU21hcnQqIHNtYXJ0ID0gMCk7CisgICAgc3RhdGljIEV3a1ZpZXcqIGNyZWF0ZShXZWJLaXQ6
OldlYlZpZXcqLCBFdmFzKiBjYW52YXMsIEV2YXNfU21hcnQqIHNtYXJ0ID0gMCk7CiAKICAgICBz
dGF0aWMgYm9vbCBpbml0U21hcnRDbGFzc0ludGVyZmFjZShFd2tfVmlld19TbWFydF9DbGFzcyYp
OwogCkBAIC0xMDEsNyArMTAxLDYgQEAgcHVibGljOgogCiAgICAgRXZhc19PYmplY3QqIGV2YXNP
YmplY3QoKSB7IHJldHVybiBtX2V2YXNPYmplY3Q7IH0KIAotICAgIFdLVmlld1JlZiB3a1ZpZXco
KSBjb25zdCB7IHJldHVybiBtX3dlYlZpZXcuZ2V0KCk7IH0KICAgICBXS1BhZ2VSZWYgd2tQYWdl
KCkgY29uc3Q7CiAKICAgICBXZWJLaXQ6OldlYlBhZ2VQcm94eSogcGFnZSgpIHsgcmV0dXJuIHdl
YlZpZXcoKS0+cGFnZSgpOyB9CkBAIC0xMTIsMTEgKzExMSwxNiBAQCBwdWJsaWM6CiAKICAgICBX
ZWJLaXQ6OlBhZ2VWaWV3cG9ydENvbnRyb2xsZXImIHBhZ2VWaWV3cG9ydENvbnRyb2xsZXIoKSB7
IHJldHVybiBtX3BhZ2VWaWV3cG9ydENvbnRyb2xsZXI7IH0KIAorICAgIGJvb2wgaXNWaXNpYmxl
KCkgY29uc3Q7CisgICAgdm9pZCBzZXRWaXNpYmxlKGJvb2wpOworCiAgICAgdm9pZCBzZXREZXZp
Y2VTY2FsZUZhY3RvcihmbG9hdCBzY2FsZSk7CiAgICAgZmxvYXQgZGV2aWNlU2NhbGVGYWN0b3Io
KSBjb25zdDsKIAogICAgIFdlYkNvcmU6OkFmZmluZVRyYW5zZm9ybSB0cmFuc2Zvcm1Ub1NjcmVl
bigpIGNvbnN0OwogCisgICAgV2ViQ29yZTo6SW50U2l6ZSBjb250ZW50c1NpemUoKSBjb25zdDsK
KwogICAgIGNvbnN0IGNoYXIqIHVybCgpIGNvbnN0IHsgcmV0dXJuIG1fdXJsOyB9CiAgICAgY29u
c3QgY2hhciogdGl0bGUoKSBjb25zdDsKICAgICBXZWJLaXQ6OklucHV0TWV0aG9kQ29udGV4dEVm
bCogaW5wdXRNZXRob2RDb250ZXh0KCk7CkBAIC0xNTAsNiArMTU0LDcgQEAgcHVibGljOgogI2lm
IEVOQUJMRShGVUxMU0NSRUVOX0FQSSkKICAgICB2b2lkIGVudGVyRnVsbFNjcmVlbigpOwogICAg
IHZvaWQgZXhpdEZ1bGxTY3JlZW4oKTsKKyAgICBib29sIHJlcXVlc3RFeGl0RnVsbFNjcmVlbigp
OwogI2VuZGlmCiAKICAgICBXS1JlY3Qgd2luZG93R2VvbWV0cnkoKSBjb25zdDsKQEAgLTIwMCw2
ICsyMDUsNyBAQCBwdWJsaWM6CiAgICAgYm9vbCBzY3JvbGxCeShjb25zdCBXZWJDb3JlOjpJbnRT
aXplJik7CiAKICAgICB2b2lkIHNldEJhY2tncm91bmRDb2xvcihpbnQgcmVkLCBpbnQgZ3JlZW4s
IGludCBibHVlLCBpbnQgYWxwaGEpOworICAgIFdlYkNvcmU6OkNvbG9yIGJhY2tncm91bmRDb2xv
cigpOwogCiAgICAgdm9pZCBkaWRGaW5kWm9vbWFibGVBcmVhKGNvbnN0IFdLUG9pbnQmLCBjb25z
dCBXS1JlY3QmKTsKIApAQCAtMjEwLDcgKzIxNiw3IEBAIHB1YmxpYzoKICNlbmRpZgogCiBwcml2
YXRlOgotICAgIEV3a1ZpZXcoV0tWaWV3UmVmLCBFdmFzX09iamVjdCopOworICAgIEV3a1ZpZXco
V2ViS2l0OjpXZWJWaWV3KiwgRXZhc19PYmplY3QqKTsKICAgICB+RXdrVmlldygpOwogCiAgICAg
dm9pZCBzZXREZXZpY2VTaXplKGNvbnN0IFdlYkNvcmU6OkludFNpemUmKTsKQEAgLTI1NCw3ICsy
NjAsNyBAQCBwcml2YXRlOgogCiBwcml2YXRlOgogICAgIC8vIE5vdGUsIGluaXRpYWxpemF0aW9u
IG9yZGVyIG1hdHRlcnMuCi0gICAgV0tSZXRhaW5QdHI8V0tWaWV3UmVmPiBtX3dlYlZpZXc7Cisg
ICAgUmVmUHRyPFdlYktpdDo6V2ViVmlldz4gbV93ZWJWaWV3OwogICAgIEV2YXNfT2JqZWN0KiBt
X2V2YXNPYmplY3Q7CiAgICAgUmVmUHRyPEV3a0NvbnRleHQ+IG1fY29udGV4dDsKICAgICBSZWZQ
dHI8RXdrUGFnZUdyb3VwPiBtX3BhZ2VHcm91cDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQy
L1VJUHJvY2Vzcy9BUEkvZWZsL0dlc3R1cmVSZWNvZ25pemVyLmNwcCBiL1NvdXJjZS9XZWJLaXQy
L1VJUHJvY2Vzcy9BUEkvZWZsL0dlc3R1cmVSZWNvZ25pemVyLmNwcAppbmRleCA3NmUzYzc1M2M3
ZDM1YzBkNTczNjg1YmQ1MjMwN2U1MGIxZDQ5NDZlLi4zN2Y3YjE5ZjU4NjM5NTg0MGQ3NDU5ZjYz
ZGUwNGMxYTFkNjY3ZDA2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJ
L2VmbC9HZXN0dXJlUmVjb2duaXplci5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNz
L0FQSS9lZmwvR2VzdHVyZVJlY29nbml6ZXIuY3BwCkBAIC0xMzUsNyArMTM1LDcgQEAgdm9pZCBH
ZXN0dXJlSGFuZGxlcjo6aGFuZGxlU2luZ2xlVGFwKGNvbnN0IEludFBvaW50JiBwb3NpdGlvbikK
ICAgICBtb3VzZU1vdmUudGltZXN0YW1wID0gZWNvcmVfbG9vcF90aW1lX2dldCgpOwogICAgIG1v
dXNlTW92ZS5ldmVudF9mbGFncyA9IEVWQVNfRVZFTlRfRkxBR19OT05FOwogICAgIG1vdXNlTW92
ZS5kZXYgPSAwOwotICAgIFdLVmlld1NlbmRNb3VzZU1vdmVFdmVudChtX2V3a1ZpZXctPndrVmll
dygpLCAmbW91c2VNb3ZlKTsKKyAgICBzdGF0aWNfY2FzdDxXZWJWaWV3RWZsKj4obV9ld2tWaWV3
LT53ZWJWaWV3KCkpLT5zZW5kTW91c2VFdmVudCgmbW91c2VNb3ZlKTsKIAogICAgIEV2YXNfRXZl
bnRfTW91c2VfRG93biBtb3VzZURvd247CiAgICAgbW91c2VEb3duLmJ1dHRvbiA9IDE7CkBAIC0x
NDgsNyArMTQ4LDcgQEAgdm9pZCBHZXN0dXJlSGFuZGxlcjo6aGFuZGxlU2luZ2xlVGFwKGNvbnN0
IEludFBvaW50JiBwb3NpdGlvbikKICAgICBtb3VzZURvd24udGltZXN0YW1wID0gZWNvcmVfbG9v
cF90aW1lX2dldCgpOwogICAgIG1vdXNlRG93bi5ldmVudF9mbGFncyA9IEVWQVNfRVZFTlRfRkxB
R19OT05FOwogICAgIG1vdXNlRG93bi5kZXYgPSAwOwotICAgIFdLVmlld1NlbmRNb3VzZURvd25F
dmVudChtX2V3a1ZpZXctPndrVmlldygpLCAmbW91c2VEb3duKTsKKyAgICBzdGF0aWNfY2FzdDxX
ZWJWaWV3RWZsKj4obV9ld2tWaWV3LT53ZWJWaWV3KCkpLT5zZW5kTW91c2VFdmVudCgmbW91c2VE
b3duKTsKIAogICAgIEV2YXNfRXZlbnRfTW91c2VfVXAgbW91c2VVcDsKICAgICBtb3VzZVVwLmJ1
dHRvbiA9IDE7CkBAIC0xNjEsNyArMTYxLDcgQEAgdm9pZCBHZXN0dXJlSGFuZGxlcjo6aGFuZGxl
U2luZ2xlVGFwKGNvbnN0IEludFBvaW50JiBwb3NpdGlvbikKICAgICBtb3VzZVVwLnRpbWVzdGFt
cCA9IGVjb3JlX2xvb3BfdGltZV9nZXQoKTsKICAgICBtb3VzZVVwLmV2ZW50X2ZsYWdzID0gRVZB
U19FVkVOVF9GTEFHX05PTkU7CiAgICAgbW91c2VVcC5kZXYgPSAwOwotICAgIFdLVmlld1NlbmRN
b3VzZVVwRXZlbnQobV9ld2tWaWV3LT53a1ZpZXcoKSwgJm1vdXNlVXApOworICAgIHN0YXRpY19j
YXN0PFdlYlZpZXdFZmwqPihtX2V3a1ZpZXctPndlYlZpZXcoKSktPnNlbmRNb3VzZUV2ZW50KCZt
b3VzZVVwKTsKIH0KIAogdm9pZCBHZXN0dXJlSGFuZGxlcjo6aGFuZGxlRG91YmxlVGFwKGNvbnN0
IEludFBvaW50JikKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZWZs
L2V3a192aWV3LmNwcCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZWZsL2V3a192aWV3
LmNwcAppbmRleCA5MWU2YWYwOGE0NTc5ZGRmNWUwMzk0ODdlNzViODdlODMxOWFmOGU3Li4xMjYy
ZjIzYjkzMWM4OTVkYzMyZmQ2OTJhYzhjMmQyZWY1NzY0MWMyIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2VmbC9ld2tfdmlldy5jcHAKKysrIGIvU291cmNlL1dlYktp
dDIvVUlQcm9jZXNzL0FQSS9lZmwvZXdrX3ZpZXcuY3BwCkBAIC04Nyw3ICs4Nyw3IEBAIEV2YXNf
T2JqZWN0KiBFV0tWaWV3Q3JlYXRlKFdLQ29udGV4dFJlZiBjb250ZXh0LCBXS1BhZ2VDb25maWd1
cmF0aW9uUmVmIHBhZ2VDb25mCiAgICAgfQogCiAgICAgV0tSZXRhaW5QdHI8V0tWaWV3UmVmPiB3
a1ZpZXcgPSBhZG9wdFdLKFdLVmlld0NyZWF0ZShjb250ZXh0LCBwYWdlQ29uZmlndXJhdGlvbikp
OwotICAgIGlmIChFd2tWaWV3KiBld2tWaWV3ID0gRXdrVmlldzo6Y3JlYXRlKHdrVmlldy5nZXQo
KSwgY2FudmFzLCBzbWFydCkpCisgICAgaWYgKEV3a1ZpZXcqIGV3a1ZpZXcgPSBFd2tWaWV3Ojpj
cmVhdGUodG9JbXBsKHdrVmlldy5nZXQoKSksIGNhbnZhcywgc21hcnQpKQogICAgICAgICByZXR1
cm4gZXdrVmlldy0+ZXZhc09iamVjdCgpOwogCiAgICAgcmV0dXJuIG51bGxwdHI7CkBAIC05Nyw3
ICs5Nyw3IEBAIFdLVmlld1JlZiBFV0tWaWV3R2V0V0tWaWV3KEV2YXNfT2JqZWN0KiBld2tWaWV3
KQogewogICAgIEVXS19WSUVXX0lNUExfR0VUX09SX1JFVFVSTihld2tWaWV3LCBpbXBsLCBudWxs
cHRyKTsKIAotICAgIHJldHVybiBpbXBsLT53a1ZpZXcoKTsKKyAgICByZXR1cm4gdG9BUEkoaW1w
bC0+d2ViVmlldygpKTsKIH0KIAogRXZhc19PYmplY3QqIGV3a192aWV3X3NtYXJ0X2FkZChFdmFz
KiBjYW52YXMsIEV2YXNfU21hcnQqIHNtYXJ0LCBFd2tfQ29udGV4dCogY29udGV4dCwgRXdrX1Bh
Z2VfR3JvdXAqIHBhZ2VHcm91cCkKQEAgLTYxOCw3ICs2MTgsNyBAQCBFaW5hX0Jvb2wgZXdrX3Zp
ZXdfZnVsbHNjcmVlbl9leGl0KEV2YXNfT2JqZWN0KiBld2tWaWV3KQogI2lmIEVOQUJMRShGVUxM
U0NSRUVOX0FQSSkKICAgICBFV0tfVklFV19JTVBMX0dFVF9PUl9SRVRVUk4oZXdrVmlldywgaW1w
bCwgZmFsc2UpOwogCi0gICAgcmV0dXJuIFdLVmlld0V4aXRGdWxsU2NyZWVuKGltcGwtPndrVmll
dygpKTsKKyAgICByZXR1cm4gaW1wbC0+cmVxdWVzdEV4aXRGdWxsU2NyZWVuKCk7CiAjZWxzZQog
ICAgIFVOVVNFRF9QQVJBTShld2tWaWV3KTsKICAgICByZXR1cm4gZmFsc2U7CkBAIC03NDMsNyAr
NzQzLDcgQEAgRWluYV9Cb29sIGV3a192aWV3X2xheW91dF9maXhlZF9zZXQoRXZhc19PYmplY3Qq
IGV3a1ZpZXcsIEVpbmFfQm9vbCBlbmFibGVkKQogewogICAgIEVXS19WSUVXX0lNUExfR0VUX09S
X1JFVFVSTihld2tWaWV3LCBpbXBsLCBmYWxzZSk7CiAKLSAgICBXS1BhZ2VTZXRVc2VGaXhlZExh
eW91dChXS1ZpZXdHZXRQYWdlKGltcGwtPndrVmlldygpKSwgZW5hYmxlZCk7CisgICAgV0tQYWdl
U2V0VXNlRml4ZWRMYXlvdXQoaW1wbC0+d2tQYWdlKCksIGVuYWJsZWQpOwogCiAgICAgcmV0dXJu
IHRydWU7CiB9CkBAIC03NTIsMjEgKzc1MiwyMSBAQCBFaW5hX0Jvb2wgZXdrX3ZpZXdfbGF5b3V0
X2ZpeGVkX2dldChjb25zdCBFdmFzX09iamVjdCogZXdrVmlldykKIHsKICAgICBFV0tfVklFV19J
TVBMX0dFVF9PUl9SRVRVUk4oZXdrVmlldywgaW1wbCwgZmFsc2UpOwogCi0gICAgcmV0dXJuIFdL
UGFnZVVzZUZpeGVkTGF5b3V0KFdLVmlld0dldFBhZ2UoaW1wbC0+d2tWaWV3KCkpKTsKKyAgICBy
ZXR1cm4gV0tQYWdlVXNlRml4ZWRMYXlvdXQoaW1wbC0+d2tQYWdlKCkpOwogfQogCiB2b2lkIGV3
a192aWV3X2xheW91dF9maXhlZF9zaXplX3NldChjb25zdCBFdmFzX09iamVjdCogZXdrVmlldywg
RXZhc19Db29yZCB3aWR0aCwgRXZhc19Db29yZCBoZWlnaHQpCiB7CiAgICAgRVdLX1ZJRVdfSU1Q
TF9HRVRfT1JfUkVUVVJOKGV3a1ZpZXcsIGltcGwpOwogCi0gICAgV0tQYWdlU2V0Rml4ZWRMYXlv
dXRTaXplKFdLVmlld0dldFBhZ2UoaW1wbC0+d2tWaWV3KCkpLCBXS1NpemVNYWtlKHdpZHRoLCBo
ZWlnaHQpKTsKKyAgICBXS1BhZ2VTZXRGaXhlZExheW91dFNpemUoaW1wbC0+d2tQYWdlKCksIFdL
U2l6ZU1ha2Uod2lkdGgsIGhlaWdodCkpOwogfQogCiB2b2lkIGV3a192aWV3X2xheW91dF9maXhl
ZF9zaXplX2dldChjb25zdCBFdmFzX09iamVjdCogZXdrVmlldywgRXZhc19Db29yZCogd2lkdGgs
IEV2YXNfQ29vcmQqIGhlaWdodCkKIHsKICAgICBFV0tfVklFV19JTVBMX0dFVF9PUl9SRVRVUk4o
ZXdrVmlldywgaW1wbCk7CiAKLSAgICBXS1NpemUgc2l6ZSA9IFdLUGFnZUZpeGVkTGF5b3V0U2l6
ZShXS1ZpZXdHZXRQYWdlKGltcGwtPndrVmlldygpKSk7CisgICAgV0tTaXplIHNpemUgPSBXS1Bh
Z2VGaXhlZExheW91dFNpemUoaW1wbC0+d2tQYWdlKCkpOwogCiAgICAgaWYgKHdpZHRoKQogICAg
ICAgICAqd2lkdGggPSBzaXplLndpZHRoOwpAQCAtNzkwLDcgKzc5MCwxNiBAQCB2b2lkIGV3a192
aWV3X2JnX2NvbG9yX2dldChjb25zdCBFdmFzX09iamVjdCogZXdrVmlldywgaW50KiByZWQsIGlu
dCogZ3JlZW4sIGludAogewogICAgIEVXS19WSUVXX0lNUExfR0VUX09SX1JFVFVSTihld2tWaWV3
LCBpbXBsKTsKIAotICAgIFdLVmlld0dldEJhY2tncm91bmRDb2xvcihpbXBsLT53a1ZpZXcoKSwg
cmVkLCBncmVlbiwgYmx1ZSwgYWxwaGEpOworICAgIFdlYkNvcmU6OkNvbG9yIGJhY2tncm91bmRD
b2xvciA9IGltcGwtPmJhY2tncm91bmRDb2xvcigpOworCisgICAgaWYgKHJlZCkKKyAgICAgICAg
KnJlZCA9IGJhY2tncm91bmRDb2xvci5yZWQoKTsKKyAgICBpZiAoZ3JlZW4pCisgICAgICAgICpn
cmVlbiA9IGJhY2tncm91bmRDb2xvci5ncmVlbigpOworICAgIGlmIChibHVlKQorICAgICAgICAq
Ymx1ZSA9IGJhY2tncm91bmRDb2xvci5ibHVlKCk7CisgICAgaWYgKGFscGhhKQorICAgICAgICAq
YWxwaGEgPSBiYWNrZ3JvdW5kQ29sb3IuYWxwaGEoKTsKIH0KIAogRWluYV9Cb29sIGV3a192aWV3
X2NvbnRlbnRzX3NpemVfZ2V0KGNvbnN0IEV2YXNfT2JqZWN0KiBld2tWaWV3LCBFdmFzX0Nvb3Jk
KiB3aWR0aCwgRXZhc19Db29yZCogaGVpZ2h0KQpAQCAtODA2LDExICs4MTUsMTEgQEAgRWluYV9C
b29sIGV3a192aWV3X2NvbnRlbnRzX3NpemVfZ2V0KGNvbnN0IEV2YXNfT2JqZWN0KiBld2tWaWV3
LCBFdmFzX0Nvb3JkKiB3aWQKICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgIH0KIAotICAgIFdL
U2l6ZSBjb250ZW50c1NpemUgPSBXS1ZpZXdHZXRDb250ZW50c1NpemUoaW1wbC0+d2tWaWV3KCkp
OworICAgIFdlYkNvcmU6OkludFNpemUgc2l6ZSA9IGltcGwtPmNvbnRlbnRzU2l6ZSgpOwogICAg
IGlmICh3aWR0aCkKLSAgICAgICAgKndpZHRoID0gY29udGVudHNTaXplLndpZHRoOworICAgICAg
ICAqd2lkdGggPSBzaXplLndpZHRoKCk7CiAgICAgaWYgKGhlaWdodCkKLSAgICAgICAgKmhlaWdo
dCA9IGNvbnRlbnRzU2l6ZS5oZWlnaHQ7CisgICAgICAgICpoZWlnaHQgPSBzaXplLmhlaWdodCgp
OwogCiAgICAgcmV0dXJuIHRydWU7CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVBy
b2Nlc3MvZWZsL1BhZ2VWaWV3cG9ydENvbnRyb2xsZXJDbGllbnRFZmwuY3BwIGIvU291cmNlL1dl
YktpdDIvVUlQcm9jZXNzL2VmbC9QYWdlVmlld3BvcnRDb250cm9sbGVyQ2xpZW50RWZsLmNwcApp
bmRleCBkNGVlMTllNjUwZDFkYzI4ZjFmNTA1ODk0MGMwZTYzMjcxOTkxMjFiLi5iNGEwZWU2MTYx
ZmZlNDc0MDlkZWVjYTlkNDk3OWMzNTg3OWRkOWEzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
Mi9VSVByb2Nlc3MvZWZsL1BhZ2VWaWV3cG9ydENvbnRyb2xsZXJDbGllbnRFZmwuY3BwCisrKyBi
L1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9lZmwvUGFnZVZpZXdwb3J0Q29udHJvbGxlckNsaWVu
dEVmbC5jcHAKQEAgLTUyLDcgKzUyLDcgQEAgdm9pZCBQYWdlVmlld3BvcnRDb250cm9sbGVyQ2xp
ZW50RWZsOjpzZXRWaWV3cG9ydFBvc2l0aW9uKGNvbnN0IFdlYkNvcmU6OkZsb2F0UG8KIAogdm9p
ZCBQYWdlVmlld3BvcnRDb250cm9sbGVyQ2xpZW50RWZsOjpzZXRQYWdlU2NhbGVGYWN0b3IoZmxv
YXQgbmV3U2NhbGUpCiB7Ci0gICAgV0tWaWV3U2V0Q29udGVudFNjYWxlRmFjdG9yKG1fdmlldy0+
d2tWaWV3KCksIG5ld1NjYWxlKTsKKyAgICBtX3ZpZXctPndlYlZpZXcoKS0+c2V0Q29udGVudFNj
YWxlRmFjdG9yKG5ld1NjYWxlKTsKIH0KIAogdm9pZCBQYWdlVmlld3BvcnRDb250cm9sbGVyQ2xp
ZW50RWZsOjpkaWRDaGFuZ2VWaXNpYmxlQ29udGVudHMoKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdDIvVUlQcm9jZXNzL2VmbC9WaWV3Q2xpZW50RWZsLmNwcCBiL1NvdXJjZS9XZWJLaXQyL1VJ
UHJvY2Vzcy9lZmwvVmlld0NsaWVudEVmbC5jcHAKaW5kZXggODk4YTMyYWYyZDM4NmY3NTRlNTc1
MTgyZWM4ODQ5YzA1YmE4NWMxMC4uMDc1NThjNWYxYmNiYWQ3YjQ5M2QxY2NiZjRjZTZiYzk4NWJi
MmYwZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL2VmbC9WaWV3Q2xpZW50
RWZsLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvZWZsL1ZpZXdDbGllbnRFZmwu
Y3BwCkBAIC04NiwxNCArODYsMTUgQEAgdm9pZCBWaWV3Q2xpZW50RWZsOjp3ZWJQcm9jZXNzQ3Jh
c2hlZChXS1ZpZXdSZWYsIFdLVVJMUmVmIHVybCwgY29uc3Qgdm9pZCogY2xpZW4KICAgICB9CiB9
CiAKLXZvaWQgVmlld0NsaWVudEVmbDo6d2ViUHJvY2Vzc0RpZFJlbGF1bmNoKFdLVmlld1JlZiB2
aWV3UmVmLCBjb25zdCB2b2lkKiBjbGllbnRJbmZvKQordm9pZCBWaWV3Q2xpZW50RWZsOjp3ZWJQ
cm9jZXNzRGlkUmVsYXVuY2goV0tWaWV3UmVmLCBjb25zdCB2b2lkKiBjbGllbnRJbmZvKQogewog
ICAgIC8vIFdlYlByb2Nlc3MganVzdCByZWxhdW5jaGVkIGFuZCB0aGUgdW5kZXJseWluZyBzY2Vu
ZSBmcm9tIHRoZSB2aWV3IGlzIG5vdCBzZXQgdG8gYWN0aXZlIGJ5IGRlZmF1bHQsIHdoaWNoCiAg
ICAgLy8gbWVhbnMgZnJvbSB0aGF0IHBvaW50IG9uIHdlIHdvdWxkIG9ubHkgZ2V0IGEgYmxhbmsg
c2NyZWVuLCBoZW5jZSB3ZSBzZXQgaXQgdG8gYWN0aXZlIGhlcmUgdG8gYXZvaWQgdGhhdC4KLSAg
ICBXS1ZpZXdTZXRJc0FjdGl2ZSh2aWV3UmVmLCB0cnVlKTsKKyAgICBFd2tWaWV3KiBld2tWaWV3
ID0gdG9Fd2tWaWV3KGNsaWVudEluZm8pOworICAgIGV3a1ZpZXctPnNldFZpc2libGUodHJ1ZSk7
CiAKLSAgICBpZiAoY29uc3QgY2hhciogdGhlbWVQYXRoID0gdG9Fd2tWaWV3KGNsaWVudEluZm8p
LT50aGVtZVBhdGgoKSkKLSAgICAgICAgV0tWaWV3U2V0VGhlbWVQYXRoKHZpZXdSZWYsIGFkb3B0
V0soV0tTdHJpbmdDcmVhdGVXaXRoVVRGOENTdHJpbmcodGhlbWVQYXRoKSkuZ2V0KCkpOworICAg
IGlmIChjb25zdCBjaGFyKiB0aGVtZVBhdGggPSBld2tWaWV3LT50aGVtZVBhdGgoKSkKKyAgICAg
ICAgZXdrVmlldy0+c2V0VGhlbWVQYXRoKHRoZW1lUGF0aCk7CiB9CiAKIHZvaWQgVmlld0NsaWVu
dEVmbDo6ZGlkQ2hhbmdlQ29udGVudHNQb3NpdGlvbihXS1ZpZXdSZWYsIFdLUG9pbnQgcG9zaXRp
b24sIGNvbnN0IHZvaWQqIGNsaWVudEluZm8pCkBAIC0xODgsNyArMTg5LDcgQEAgVmlld0NsaWVu
dEVmbDo6Vmlld0NsaWVudEVmbChFd2tWaWV3KiB2aWV3KQogICAgIHZpZXdDbGllbnQuZG9uZVdp
dGhUb3VjaEV2ZW50ID0gZG9uZVdpdGhUb3VjaEV2ZW50OwogI2VuZGlmCiAKLSAgICBXS1ZpZXdT
ZXRWaWV3Q2xpZW50KG1fdmlldy0+d2tWaWV3KCksICZ2aWV3Q2xpZW50LmJhc2UpOworICAgIG1f
dmlldy0+d2ViVmlldygpLT5pbml0aWFsaXplQ2xpZW50KCZ2aWV3Q2xpZW50LmJhc2UpOwogCiAj
aWYgRU5BQkxFKElOUFVUX1RZUEVfQ09MT1IpCiAgICAgV0tDb2xvclBpY2tlckNsaWVudFYwIGNv
bG9yUGlja2VyQ2xpZW50OwpAQCAtMTk3LDE2ICsxOTgsMTYgQEAgVmlld0NsaWVudEVmbDo6Vmll
d0NsaWVudEVmbChFd2tWaWV3KiB2aWV3KQogICAgIGNvbG9yUGlja2VyQ2xpZW50LmJhc2UuY2xp
ZW50SW5mbyA9IHRoaXM7CiAgICAgY29sb3JQaWNrZXJDbGllbnQuc2hvd0NvbG9yUGlja2VyID0g
c2hvd0NvbG9yUGlja2VyOwogICAgIGNvbG9yUGlja2VyQ2xpZW50LmVuZENvbG9yUGlja2VyID0g
ZW5kQ29sb3JQaWNrZXI7Ci0gICAgV0tWaWV3U2V0Q29sb3JQaWNrZXJDbGllbnQobV92aWV3LT53
a1ZpZXcoKSwgJmNvbG9yUGlja2VyQ2xpZW50LmJhc2UpOworICAgIHN0YXRpY19jYXN0PFdlYlZp
ZXdFZmwqPihtX3ZpZXctPndlYlZpZXcoKSktPmluaXRpYWxpemVDb2xvclBpY2tlckNsaWVudCgm
Y29sb3JQaWNrZXJDbGllbnQuYmFzZSk7CiAjZW5kaWYKIH0KIAogVmlld0NsaWVudEVmbDo6flZp
ZXdDbGllbnRFZmwoKQogewotICAgIFdLVmlld1NldFZpZXdDbGllbnQobV92aWV3LT53a1ZpZXco
KSwgMCk7CisgICAgbV92aWV3LT53ZWJWaWV3KCktPmluaXRpYWxpemVDbGllbnQobnVsbHB0cik7
CiAKICNpZiBFTkFCTEUoSU5QVVRfVFlQRV9DT0xPUikKLSAgICBXS1ZpZXdTZXRDb2xvclBpY2tl
ckNsaWVudChtX3ZpZXctPndrVmlldygpLCAwKTsKKyAgICBzdGF0aWNfY2FzdDxXZWJWaWV3RWZs
Kj4obV92aWV3LT53ZWJWaWV3KCkpLT5pbml0aWFsaXplQ29sb3JQaWNrZXJDbGllbnQobnVsbHB0
cik7CiAjZW5kaWYKIH0KIAo=
</data>

          </attachment>
      

    </bug>

</bugzilla>