<?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>168656</bug_id>
          
          <creation_ts>2017-02-21 08:31:37 -0800</creation_ts>
          <short_desc>Remove unused files.</short_desc>
          <delta_ts>2017-02-21 10:14:09 -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>WebKit2</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Daewoong Jang">daewoong.jang</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>achristensen</cc>
    
    <cc>commit-queue</cc>
    
    <cc>darin</cc>
    
    <cc>mcatanzaro</cc>
    
    <cc>ossy</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1279341</commentid>
    <comment_count>0</comment_count>
    <who name="Daewoong Jang">daewoong.jang</who>
    <bug_when>2017-02-21 08:31:37 -0800</bug_when>
    <thetext>Remove files which became unused after removal of EFL port.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1279346</commentid>
    <comment_count>1</comment_count>
      <attachid>302266</attachid>
    <who name="Daewoong Jang">daewoong.jang</who>
    <bug_when>2017-02-21 08:35:36 -0800</bug_when>
    <thetext>Created attachment 302266
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1279381</commentid>
    <comment_count>2</comment_count>
      <attachid>302266</attachid>
    <who name="Csaba Osztrogonác">ossy</who>
    <bug_when>2017-02-21 09:48:07 -0800</bug_when>
    <thetext>Comment on attachment 302266
Patch

LGTM</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1279403</commentid>
    <comment_count>3</comment_count>
      <attachid>302266</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2017-02-21 10:14:06 -0800</bug_when>
    <thetext>Comment on attachment 302266
Patch

Clearing flags on attachment: 302266

Committed r212718: &lt;http://trac.webkit.org/changeset/212718&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1279404</commentid>
    <comment_count>4</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2017-02-21 10:14:09 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>302266</attachid>
            <date>2017-02-21 08:35:36 -0800</date>
            <delta_ts>2017-02-21 10:14:06 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug168656.patch</filename>
            <type>text/plain</type>
            <size>21056</size>
            <attacher name="Daewoong Jang">daewoong.jang</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
S2l0Mi9DaGFuZ2VMb2cJKHJldmlzaW9uIDIxMjcxMikKKysrIFNvdXJjZS9XZWJLaXQyL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDE2IEBACisyMDE3LTAyLTIxICBEYWV3b29u
ZyBKYW5nICA8ZGFld29vbmcuamFuZ0BuYXZlcmNvcnAuY29tPgorCisgICAgICAgIFJlbW92ZSB1
bnVzZWQgZmlsZXMuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD0xNjg2NTYuCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAg
ICAgICAgUmVtb3ZlIGZpbGVzIHdoaWNoIGJlY2FtZSB1bnVzZWQgYWZ0ZXIgcmVtb3ZhbCBvZiBF
RkwgcG9ydC4KKworICAgICAgICAqIFVJUHJvY2Vzcy9Db29yZGluYXRlZEdyYXBoaWNzL1BhZ2VW
aWV3cG9ydENvbnRyb2xsZXIuY3BwOiBSZW1vdmVkLgorICAgICAgICAqIFVJUHJvY2Vzcy9Db29y
ZGluYXRlZEdyYXBoaWNzL1BhZ2VWaWV3cG9ydENvbnRyb2xsZXIuaDogUmVtb3ZlZC4KKyAgICAg
ICAgKiBVSVByb2Nlc3MvUGFnZVZpZXdwb3J0Q29udHJvbGxlckNsaWVudC5oOiBSZW1vdmVkLgor
CiAyMDE3LTAyLTIxICBBbGV4IENocmlzdGVuc2VuICA8YWNocmlzdGVuc2VuQHdlYmtpdC5vcmc+
CiAKICAgICAgICAgVW5yZXZpZXdlZCwgcm9sbGluZyBvdXQgcjIxMjY5OS4KSW5kZXg6IFNvdXJj
ZS9XZWJLaXQyL1VJUHJvY2Vzcy9QYWdlVmlld3BvcnRDb250cm9sbGVyQ2xpZW50LmgKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1BhZ2VWaWV3cG9ydENvbnRyb2xsZXJD
bGllbnQuaAkocmV2aXNpb24gMjEyNzEyKQorKysgU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1Bh
Z2VWaWV3cG9ydENvbnRyb2xsZXJDbGllbnQuaAkod29ya2luZyBjb3B5KQpAQCAtMSw0OSArMCww
IEBACi0vKgotICogQ29weXJpZ2h0IChDKSAyMDEyIE5va2lhIENvcnBvcmF0aW9uIGFuZC9vciBp
dHMgc3Vic2lkaWFyeSgtaWVzKQotICAqCi0gKiBUaGlzIGxpYnJhcnkgaXMgZnJlZSBzb2Z0d2Fy
ZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCi0gKiBtb2RpZnkgaXQgdW5kZXIgdGhl
IHRlcm1zIG9mIHRoZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1YmxpYwotICogTGljZW5zZSBhcyBw
dWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyCi0gKiB2ZXJz
aW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNp
b24uCi0gKgotICogVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQg
aXQgd2lsbCBiZSB1c2VmdWwsCi0gKiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQg
ZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgotICogTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5F
U1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZSBHTlUKLSAqIExpYnJhcnkgR2Vu
ZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgotICoKLSAqIFlvdSBzaG91bGQg
aGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVibGljIExp
Y2Vuc2UKLSAqIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBzZWUgdGhlIGZpbGUgQ09QWUlORy5M
SUIuICBJZiBub3QsIHdyaXRlIHRvCi0gKiB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJ
bmMuLCA1MSBGcmFua2xpbiBTdHJlZXQsIEZpZnRoIEZsb29yLAotICogQm9zdG9uLCBNQSAwMjEx
MC0xMzAxLCBVU0EuCi0gKgotICovCi0KLSNpZm5kZWYgUGFnZVZpZXdwb3J0Q29udHJvbGxlckNs
aWVudF9oCi0jZGVmaW5lIFBhZ2VWaWV3cG9ydENvbnRyb2xsZXJDbGllbnRfaAotCi0jaW5jbHVk
ZSA8d3RmL05vbmNvcHlhYmxlLmg+Ci0KLW5hbWVzcGFjZSBXZWJDb3JlIHsKLWNsYXNzIEZsb2F0
UG9pbnQ7Ci1jbGFzcyBJbnRTaXplOwotfQotCi1uYW1lc3BhY2UgV2ViS2l0IHsKLQotY2xhc3Mg
UGFnZVZpZXdwb3J0Q29udHJvbGxlckNsaWVudCB7Ci0gICAgV1RGX01BS0VfTk9OQ09QWUFCTEUo
UGFnZVZpZXdwb3J0Q29udHJvbGxlckNsaWVudCk7Ci1wdWJsaWM6Ci0gICAgUGFnZVZpZXdwb3J0
Q29udHJvbGxlckNsaWVudCgpIHsgfQotICAgIHZpcnR1YWwgflBhZ2VWaWV3cG9ydENvbnRyb2xs
ZXJDbGllbnQoKSB7IH0KLQotICAgIHZpcnR1YWwgdm9pZCBzZXRWaWV3cG9ydFBvc2l0aW9uKGNv
bnN0IFdlYkNvcmU6OkZsb2F0UG9pbnQmKSA9IDA7Ci0gICAgdmlydHVhbCB2b2lkIHNldFBhZ2VT
Y2FsZUZhY3RvcihmbG9hdCkgPSAwOwotCi0gICAgdmlydHVhbCB2b2lkIGRpZENoYW5nZUNvbnRl
bnRzU2l6ZShjb25zdCBXZWJDb3JlOjpJbnRTaXplJikgPSAwOwotICAgIHZpcnR1YWwgdm9pZCBk
aWRDaGFuZ2VWaXNpYmxlQ29udGVudHMoKSA9IDA7Ci0gICAgdmlydHVhbCB2b2lkIGRpZENoYW5n
ZVZpZXdwb3J0QXR0cmlidXRlcygpID0gMDsKLX07Ci0KLX0gLy8gbmFtZXNwYWNlIFdlYktpdAot
Ci0jZW5kaWYgLy8gUGFnZVZpZXdwb3J0Q29udHJvbGxlckNsaWVudF9oCkluZGV4OiBTb3VyY2Uv
V2ViS2l0Mi9VSVByb2Nlc3MvQ29vcmRpbmF0ZWRHcmFwaGljcy9QYWdlVmlld3BvcnRDb250cm9s
bGVyLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQ29vcmRpbmF0
ZWRHcmFwaGljcy9QYWdlVmlld3BvcnRDb250cm9sbGVyLmNwcAkocmV2aXNpb24gMjEyNzEyKQor
KysgU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0Nvb3JkaW5hdGVkR3JhcGhpY3MvUGFnZVZpZXdw
b3J0Q29udHJvbGxlci5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTEsMzQwICswLDAgQEAKLS8qCi0g
KiBDb3B5cmlnaHQgKEMpIDIwMTEsIDIwMTIgTm9raWEgQ29ycG9yYXRpb24gYW5kL29yIGl0cyBz
dWJzaWRpYXJ5KC1pZXMpCi0gKiBDb3B5cmlnaHQgKEMpIDIwMTEgQmVuamFtaW4gUG91bGFpbiA8
YmVuamFtaW5Ad2Via2l0Lm9yZz4KLSAqCi0gKiBUaGlzIGxpYnJhcnkgaXMgZnJlZSBzb2Z0d2Fy
ZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCi0gKiBtb2RpZnkgaXQgdW5kZXIgdGhl
IHRlcm1zIG9mIHRoZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1YmxpYwotICogTGljZW5zZSBhcyBw
dWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyCi0gKiB2ZXJz
aW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNp
b24uCi0gKgotICogVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQg
aXQgd2lsbCBiZSB1c2VmdWwsCi0gKiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQg
ZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgotICogTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5F
U1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZSBHTlUKLSAqIExpYnJhcnkgR2Vu
ZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgotICoKLSAqIFlvdSBzaG91bGQg
aGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVibGljIExp
Y2Vuc2UKLSAqIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBzZWUgdGhlIGZpbGUgQ09QWUlORy5M
SUIuICBJZiBub3QsIHdyaXRlIHRvCi0gKiB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJ
bmMuLCA1MSBGcmFua2xpbiBTdHJlZXQsIEZpZnRoIEZsb29yLAotICogQm9zdG9uLCBNQSAwMjEx
MC0xMzAxLCBVU0EuCi0gKgotICovCi0KLSNpbmNsdWRlICJjb25maWcuaCIKLSNpbmNsdWRlICJQ
YWdlVmlld3BvcnRDb250cm9sbGVyLmgiCi0KLSNpbmNsdWRlICJBY2NlbGVyYXRlZERyYXdpbmdB
cmVhUHJveHkuaCIKLSNpbmNsdWRlICJQYWdlVmlld3BvcnRDb250cm9sbGVyQ2xpZW50LmgiCi0j
aW5jbHVkZSAiV2ViUGFnZVByb3h5LmgiCi0jaW5jbHVkZSA8V2ViQ29yZS9GbG9hdFJlY3QuaD4K
LSNpbmNsdWRlIDxXZWJDb3JlL0Zsb2F0U2l6ZS5oPgotI2luY2x1ZGUgPHd0Zi9NYXRoRXh0cmFz
Lmg+Ci0KLXVzaW5nIG5hbWVzcGFjZSBXZWJDb3JlOwotCi1uYW1lc3BhY2UgV2ViS2l0IHsKLQot
UGFnZVZpZXdwb3J0Q29udHJvbGxlcjo6UGFnZVZpZXdwb3J0Q29udHJvbGxlcihXZWJLaXQ6Oldl
YlBhZ2VQcm94eSogcHJveHksIFBhZ2VWaWV3cG9ydENvbnRyb2xsZXJDbGllbnQmIGNsaWVudCkK
LSAgICA6IG1fd2ViUGFnZVByb3h5KHByb3h5KQotICAgICwgbV9jbGllbnQoY2xpZW50KQotICAg
ICwgbV9hbGxvd3NVc2VyU2NhbGluZyhmYWxzZSkKLSAgICAsIG1fbWluaW11bVNjYWxlVG9GaXQo
MSkKLSAgICAsIG1faW5pdGlhbGx5Rml0VG9WaWV3cG9ydCh0cnVlKQotICAgICwgbV9oYWRVc2Vy
SW50ZXJhY3Rpb24oZmFsc2UpCi0gICAgLCBtX3BhZ2VTY2FsZUZhY3RvcigxKQotICAgICwgbV9w
ZW5kaW5nUG9zaXRpb25DaGFuZ2UoZmFsc2UpCi0gICAgLCBtX3BlbmRpbmdTY2FsZUNoYW5nZShm
YWxzZSkKLSAgICAsIG1fbGF5ZXJUcmVlU3RhdGVJc0Zyb3plbihmYWxzZSkKLXsKLSAgICAvLyBJ
bml0aWFsaXppbmcgVmlld3BvcnQgUmF3IEF0dHJpYnV0ZXMgdG8gYXZvaWQgcmFuZG9tIG5lZ2F0
aXZlIG9yIGluZmluaXR5IHNjYWxlIGZhY3RvcnMKLSAgICAvLyBpZiB0aGVyZSBpcyBhIHJhY2Ug
Y29uZGl0aW9uIGJldHdlZW4gdGhlIGZpcnN0IGxheW91dCBhbmQgc2V0dGluZyB0aGUgdmlld3Bv
cnQgYXR0cmlidXRlcyBmb3IgdGhlIGZpcnN0IHRpbWUuCi0gICAgbV9yYXdBdHRyaWJ1dGVzLm1p
bmltdW1TY2FsZSA9IDE7Ci0gICAgbV9yYXdBdHRyaWJ1dGVzLm1heGltdW1TY2FsZSA9IDE7Ci0g
ICAgbV9yYXdBdHRyaWJ1dGVzLnVzZXJTY2FsYWJsZSA9IG1fYWxsb3dzVXNlclNjYWxpbmc7Ci0K
LSAgICAvLyBUaGUgaW5pdGlhbCBzY2FsZSBtaWdodCBiZSBpbXBsaWNpdCBhbmQgc2V0IHRvIC0x
LCBpbiB0aGlzIGNhc2Ugd2UgaGF2ZSB0byBpbmZlciBpdAotICAgIC8vIHVzaW5nIHRoZSB2aWV3
cG9ydCBzaXplIGFuZCB0aGUgZmluYWwgbGF5b3V0IHNpemUuCi0gICAgLy8gVG8gYmUgYWJsZSB0
byBhc3NlcnQgZm9yIHZhbGlkIHNjYWxlIHdlIGluaXRpYWxpemUgaXQgdG8gLTEuCi0gICAgbV9y
YXdBdHRyaWJ1dGVzLmluaXRpYWxTY2FsZSA9IC0xOwotfQotCi1mbG9hdCBQYWdlVmlld3BvcnRD
b250cm9sbGVyOjppbm5lckJvdW5kZWRWaWV3cG9ydFNjYWxlKGZsb2F0IHZpZXdwb3J0U2NhbGUp
IGNvbnN0Ci17Ci0gICAgcmV0dXJuIGNsYW1wVG8odmlld3BvcnRTY2FsZSwgbV9taW5pbXVtU2Nh
bGVUb0ZpdCwgbV9yYXdBdHRyaWJ1dGVzLm1heGltdW1TY2FsZSk7Ci19Ci0KLWZsb2F0IFBhZ2VW
aWV3cG9ydENvbnRyb2xsZXI6Om91dGVyQm91bmRlZFZpZXdwb3J0U2NhbGUoZmxvYXQgdmlld3Bv
cnRTY2FsZSkgY29uc3QKLXsKLSAgICBpZiAobV9hbGxvd3NVc2VyU2NhbGluZykgewotICAgICAg
ICAvLyBCb3VuZGVkIGJ5IFswLjEsIDEwLjBdIGxpa2UgdGhlIHZpZXdwb3J0IG1ldGEgY29kZSBp
biBXZWJDb3JlLgotICAgICAgICBmbG9hdCBoYXJkTWluID0gc3RkOjptYXg8ZmxvYXQ+KDAuMSwg
MC41ICogbV9taW5pbXVtU2NhbGVUb0ZpdCk7Ci0gICAgICAgIGZsb2F0IGhhcmRNYXggPSBzdGQ6
Om1pbjxmbG9hdD4oMTAsIDIgKiBtX3Jhd0F0dHJpYnV0ZXMubWF4aW11bVNjYWxlKTsKLSAgICAg
ICAgcmV0dXJuIGNsYW1wVG8odmlld3BvcnRTY2FsZSwgaGFyZE1pbiwgaGFyZE1heCk7Ci0gICAg
fQotICAgIHJldHVybiBpbm5lckJvdW5kZWRWaWV3cG9ydFNjYWxlKHZpZXdwb3J0U2NhbGUpOwot
fQotCi1mbG9hdCBQYWdlVmlld3BvcnRDb250cm9sbGVyOjpkZXZpY2VTY2FsZUZhY3RvcigpIGNv
bnN0Ci17Ci0gICAgcmV0dXJuIG1fd2ViUGFnZVByb3h5LT5kZXZpY2VTY2FsZUZhY3RvcigpOwot
fQotCi1zdGF0aWMgaW5saW5lIGJvb2wgaXNJbnRlZ3JhbChmbG9hdCB2YWx1ZSkKLXsKLSAgICBy
ZXR1cm4gc3RhdGljX2Nhc3Q8aW50Pih2YWx1ZSkgPT0gdmFsdWU7Ci19Ci0KLUZsb2F0UG9pbnQg
UGFnZVZpZXdwb3J0Q29udHJvbGxlcjo6cGl4ZWxBbGlnbmVkRmxvYXRQb2ludChjb25zdCBGbG9h
dFBvaW50JiBmcmFtZVBvc2l0aW9uKQotewotICAgIHJldHVybiBmcmFtZVBvc2l0aW9uOwotfQot
Ci1GbG9hdFBvaW50IFBhZ2VWaWV3cG9ydENvbnRyb2xsZXI6OmJvdW5kQ29udGVudHNQb3NpdGlv
bkF0U2NhbGUoY29uc3QgV2ViQ29yZTo6RmxvYXRQb2ludCYgZnJhbWVQb3NpdGlvbiwgZmxvYXQg
c2NhbGUpCi17Ci0gICAgLy8gV2UgbmVlZCB0byBmbG9vciB0aGUgdmlld3BvcnQgaGVyZSBhcyB0
byBhbGxvdyBhbGlnbmluZyB0aGUgY29udGVudCBpbiBkZXZpY2UgdW5pdHMuIElmIG5vdCwKLSAg
ICAvLyBpdCBtaWdodCBub3QgYmUgcG9zc2libGUgdG8gc2Nyb2xsIHRoZSBsYXN0IHBpeGVsIGFu
ZCB0aGF0IGFmZmVjdHMgZml4ZWQgcG9zaXRpb24gZWxlbWVudHMuCi0gICAgRmxvYXRSZWN0IGJv
dW5kczsKLSAgICBib3VuZHMuc2V0V2lkdGgoc3RkOjptYXgoMC5mLCBtX2NvbnRlbnRzU2l6ZS53
aWR0aCgpIC0gZmxvb3JmKG1fdmlld3BvcnRTaXplLndpZHRoKCkgLyBzY2FsZSkpKTsKLSAgICBi
b3VuZHMuc2V0SGVpZ2h0KHN0ZDo6bWF4KDAuZiwgbV9jb250ZW50c1NpemUuaGVpZ2h0KCkgLSBm
bG9vcmYobV92aWV3cG9ydFNpemUuaGVpZ2h0KCkgLyBzY2FsZSkpKTsKLQotICAgIEZsb2F0UG9p
bnQgcG9zaXRpb247Ci0gICAgcG9zaXRpb24uc2V0WChjbGFtcFRvKGZyYW1lUG9zaXRpb24ueCgp
LCBib3VuZHMueCgpLCBib3VuZHMud2lkdGgoKSkpOwotICAgIHBvc2l0aW9uLnNldFkoY2xhbXBU
byhmcmFtZVBvc2l0aW9uLnkoKSwgYm91bmRzLnkoKSwgYm91bmRzLmhlaWdodCgpKSk7Ci0KLSAg
ICByZXR1cm4gcG9zaXRpb247Ci19Ci0KLUZsb2F0UG9pbnQgUGFnZVZpZXdwb3J0Q29udHJvbGxl
cjo6Ym91bmRDb250ZW50c1Bvc2l0aW9uKGNvbnN0IFdlYkNvcmU6OkZsb2F0UG9pbnQmIGZyYW1l
UG9zaXRpb24pCi17Ci0gICAgcmV0dXJuIGJvdW5kQ29udGVudHNQb3NpdGlvbkF0U2NhbGUoZnJh
bWVQb3NpdGlvbiwgbV9wYWdlU2NhbGVGYWN0b3IpOwotfQotCi12b2lkIFBhZ2VWaWV3cG9ydENv
bnRyb2xsZXI6OmRpZENvbW1pdExvYWQoKQotewotICAgIC8vIERvIG5vdCBjb3VudCB0aGUgcHJl
dmlvdXMgY29tbWl0dGVkIHBhZ2UgY29udGVudHMgYXMgY292ZXJlZC4KLSAgICBtX2xhc3RGcmFt
ZUNvdmVyZWRSZWN0ID0gRmxvYXRSZWN0KCk7Ci0KLSAgICAvLyBEbyBub3QgY29udGludWUgdG8g
dXNlIHRoZSBjb250ZW50IHNpemUgb2YgdGhlIHByZXZpb3VzIHBhZ2UuCi0gICAgbV9jb250ZW50
c1NpemUgPSBJbnRTaXplKCk7Ci0KLSAgICBtX2NvbnRlbnRzUG9zaXRpb24gPSBGbG9hdFBvaW50
KCk7Ci0KLSAgICBtX2xheWVyVHJlZVN0YXRlSXNGcm96ZW4gPSB0cnVlOwotCi0gICAgbV9pbml0
aWFsbHlGaXRUb1ZpZXdwb3J0ID0gdHJ1ZTsKLQotICAgIC8vIFJlc2V0IHRoZSBwb3NpdGlvbiB0
byB0aGUgdG9wLCBwYWdlL2hpc3Rvcnkgc2Nyb2xsIHJlcXVlc3RzIG1heSBvdmVycmlkZSB0aGlz
IGJlZm9yZSB3ZSByZS1lbmFibGUgcmVuZGVyaW5nLgotICAgIGFwcGx5UG9zaXRpb25BZnRlclJl
bmRlcmluZ0NvbnRlbnRzKEZsb2F0UG9pbnQoKSk7Ci19Ci0KLXZvaWQgUGFnZVZpZXdwb3J0Q29u
dHJvbGxlcjo6ZGlkQ2hhbmdlQ29udGVudHNTaXplKGNvbnN0IEludFNpemUmIG5ld1NpemUpCi17
Ci0gICAgbV9jb250ZW50c1NpemUgPSBuZXdTaXplOwotCi0gICAgYm9vbCBtaW5pbXVtU2NhbGVV
cGRhdGVkID0gdXBkYXRlTWluaW11bVNjYWxlVG9GaXQoZmFsc2UpOwotCi0gICAgaWYgKG1faW5p
dGlhbGx5Rml0VG9WaWV3cG9ydCkgewotICAgICAgICAvLyBSZXN0cmljdCBzY2FsZSBmYWN0b3Jz
IHRvIG1fbWluaW11bVNjYWxlVG9GaXQuCi0gICAgICAgIEFTU0VSVChtX21pbmltdW1TY2FsZVRv
Rml0ID4gMCk7Ci0gICAgICAgIG1fcmF3QXR0cmlidXRlcy5pbml0aWFsU2NhbGUgPSBtX21pbmlt
dW1TY2FsZVRvRml0OwotICAgICAgICBXZWJDb3JlOjpyZXN0cmljdFNjYWxlRmFjdG9yVG9Jbml0
aWFsU2NhbGVJZk5vdFVzZXJTY2FsYWJsZShtX3Jhd0F0dHJpYnV0ZXMpOwotICAgIH0KLQotICAg
IGlmIChtaW5pbXVtU2NhbGVVcGRhdGVkKQotICAgICAgICBtX2NsaWVudC5kaWRDaGFuZ2VWaWV3
cG9ydEF0dHJpYnV0ZXMoKTsKLQotICAgIC8vIFdlIG1pZ2h0IGhhdmUgcGVuZGluZyBwb3NpdGlv
biBjaGFuZ2Ugd2hpY2ggaXMgbm93IHBvc3NpYmxlLgotICAgIHN5bmNWaXNpYmxlQ29udGVudHMo
KTsKLX0KLQotdm9pZCBQYWdlVmlld3BvcnRDb250cm9sbGVyOjpkaWRSZW5kZXJGcmFtZShjb25z
dCBJbnRTaXplJiBjb250ZW50c1NpemUsIGNvbnN0IEludFJlY3QmIGNvdmVyZWRSZWN0KQotewot
ICAgIGlmIChtX2NsaWVudENvbnRlbnRzU2l6ZSAhPSBjb250ZW50c1NpemUpIHsKLSAgICAgICAg
bV9jbGllbnRDb250ZW50c1NpemUgPSBjb250ZW50c1NpemU7Ci0gICAgICAgIC8vIE9ubHkgdXBk
YXRlIHRoZSB2aWV3cG9ydCdzIGNvbnRlbnRzIGRpbWVuc2lvbnMgYWxvbmcgd2l0aCBpdHMgcmVu
ZGVyIGlmIHRoZQotICAgICAgICAvLyBzaXplIGFjdHVhbGx5IGNoYW5nZWQgc2luY2UgYW5pbWF0
aW9ucyBvbiB0aGUgcGFnZSB0cmlnZ2VyIERpZFJlbmRlckZyYW1lCi0gICAgICAgIC8vIG1lc3Nh
Z2VzIHdpdGhvdXQgY2F1c2luZyBkaW1lbnNpb24gY2hhbmdlcy4KLSAgICAgICAgbV9jbGllbnQu
ZGlkQ2hhbmdlQ29udGVudHNTaXplKGNvbnRlbnRzU2l6ZSk7Ci0gICAgfQotCi0gICAgbV9sYXN0
RnJhbWVDb3ZlcmVkUmVjdCA9IGNvdmVyZWRSZWN0OwotCi0gICAgLy8gQXBwbHkgYW55IHNjYWxl
IG9yIHNjcm9sbCBwb3NpdGlvbiB3ZSBsb2NrZWQgdG8gYmUgc2V0IG9uIHRoZSB2aWV3cG9ydAot
ICAgIC8vIG9ubHkgd2hlbiB0aGVyZSBpcyBzb21ldGhpbmcgdG8gZGlzcGxheSB0aGVyZS4gVGhl
IHNjYWxlIGdvZXMgZmlyc3QgdG8KLSAgICAvLyBhdm9pZCBvZmZzZXR0aW5nIG91ciBkZWZlcnJl
ZCBwb3NpdGlvbiBieSBzY2FsaW5nIGF0IHRoZSB2aWV3cG9ydCBjZW50ZXIuCi0gICAgLy8gQWxs
IHBvc2l0aW9uIGFuZCBzY2FsZSBjaGFuZ2VzIHJlc3VsdGluZyBmcm9tIGEgd2ViIHByb2Nlc3Mg
ZXZlbnQgc2hvdWxkCi0gICAgLy8gZ28gdGhyb3VnaCBoZXJlIHRvIGJlIGFwcGxpZWQgb24gdGhl
IHZpZXdwb3J0IHRvIGF2b2lkIHNob3dpbmcgaW5jb21wbGV0ZQotICAgIC8vIHRpbGVzIHRvIHRo
ZSB1c2VyIGR1cmluZyBhIGZldyBtaWxsaXNlY29uZHMuCi0KLSAgICBpZiAobV9wZW5kaW5nU2Nh
bGVDaGFuZ2UpIHsKLSAgICAgICAgbV9wZW5kaW5nU2NhbGVDaGFuZ2UgPSBmYWxzZTsKLSAgICAg
ICAgbV9jbGllbnQuc2V0UGFnZVNjYWxlRmFjdG9yKG1fcGFnZVNjYWxlRmFjdG9yKTsKLQotICAg
ICAgICAvLyBUaGUgc2NhbGUgY2hhbmdlZCwgd2UgaGF2ZSB0byByZS1waXhlbCBhbGlnbi4KLSAg
ICAgICAgbV9wZW5kaW5nUG9zaXRpb25DaGFuZ2UgPSB0cnVlOwotICAgICAgICBGbG9hdFBvaW50
IGN1cnJlbnREaXNjcmV0ZVBvcyA9IHJvdW5kZWRJbnRQb2ludChtX2NvbnRlbnRzUG9zaXRpb24p
OwotICAgICAgICBGbG9hdFBvaW50IHBpeGVsQWxpZ25lZFBvcyA9IHBpeGVsQWxpZ25lZEZsb2F0
UG9pbnQoY3VycmVudERpc2NyZXRlUG9zKTsKLSAgICAgICAgbV9jb250ZW50c1Bvc2l0aW9uID0g
Ym91bmRDb250ZW50c1Bvc2l0aW9uKHBpeGVsQWxpZ25lZFBvcyk7Ci0KLSAgICAgICAgbV93ZWJQ
YWdlUHJveHktPnNjYWxlUGFnZShtX3BhZ2VTY2FsZUZhY3Rvciwgcm91bmRlZEludFBvaW50KG1f
Y29udGVudHNQb3NpdGlvbikpOwotICAgIH0KLQotICAgIC8vIFRoZXJlIG1pZ2h0IGJlIHJlbmRl
cmVkIGZyYW1lcyBub3QgY292ZXJpbmcgb3VyIHJlcXVlc3RlZCBwb3NpdGlvbiB5ZXQsIHdhaXQg
Zm9yIGl0LgotICAgIEZsb2F0UmVjdCBlbmRWaXNpYmxlQ29udGVudFJlY3QobV9jb250ZW50c1Bv
c2l0aW9uLCB2aXNpYmxlQ29udGVudHNTaXplKCkpOwotICAgIGlmIChtX3BlbmRpbmdQb3NpdGlv
bkNoYW5nZSAmJiBlbmRWaXNpYmxlQ29udGVudFJlY3QuaW50ZXJzZWN0cyhjb3ZlcmVkUmVjdCkp
IHsKLSAgICAgICAgbV9jbGllbnQuc2V0Vmlld3BvcnRQb3NpdGlvbihtX2NvbnRlbnRzUG9zaXRp
b24pOwotICAgICAgICBtX3BlbmRpbmdQb3NpdGlvbkNoYW5nZSA9IGZhbHNlOwotICAgIH0KLQot
ICAgIG1fbGF5ZXJUcmVlU3RhdGVJc0Zyb3plbiA9IGZhbHNlOwotfQotCi12b2lkIFBhZ2VWaWV3
cG9ydENvbnRyb2xsZXI6OnBhZ2VUcmFuc2l0aW9uVmlld3BvcnRSZWFkeSgpCi17Ci0gICAgaWYg
KCFtX3Jhd0F0dHJpYnV0ZXMubGF5b3V0U2l6ZS5pc0VtcHR5KCkgJiYgbV9pbml0aWFsbHlGaXRU
b1ZpZXdwb3J0KSB7Ci0gICAgICAgIG1faGFkVXNlckludGVyYWN0aW9uID0gZmFsc2U7Ci0gICAg
ICAgIGZsb2F0IGluaXRpYWxTY2FsZSA9IG1faW5pdGlhbGx5Rml0VG9WaWV3cG9ydCA/IG1fbWlu
aW11bVNjYWxlVG9GaXQgOiBtX3Jhd0F0dHJpYnV0ZXMuaW5pdGlhbFNjYWxlOwotICAgICAgICBh
cHBseVNjYWxlQWZ0ZXJSZW5kZXJpbmdDb250ZW50cyhpbm5lckJvdW5kZWRWaWV3cG9ydFNjYWxl
KGluaXRpYWxTY2FsZSkpOwotICAgIH0KLX0KLQotdm9pZCBQYWdlVmlld3BvcnRDb250cm9sbGVy
OjpwYWdlRGlkUmVxdWVzdFNjcm9sbChjb25zdCBJbnRQb2ludCYgY3NzUG9zaXRpb24pCi17Ci0g
ICAgLy8gSWdub3JlIHRoZSByZXF1ZXN0IGlmIHN1c3BlbmRlZC4gQ2FuIG9ubHkgaGFwcGVuIGR1
ZSB0byBkZWxheSBpbiBldmVudCBkZWxpdmVyeS4KLSAgICBpZiAobV93ZWJQYWdlUHJveHktPmFy
ZUFjdGl2ZURPTU9iamVjdHNBbmRBbmltYXRpb25zU3VzcGVuZGVkKCkpCi0gICAgICAgIHJldHVy
bjsKLQotICAgIEZsb2F0UG9pbnQgYm91bmRQb3NpdGlvbiA9IGJvdW5kQ29udGVudHNQb3NpdGlv
bihGbG9hdFBvaW50KGNzc1Bvc2l0aW9uKSk7Ci0gICAgRmxvYXRQb2ludCBhbGlnbmVkUG9zaXRp
b24gPSBwaXhlbEFsaWduZWRGbG9hdFBvaW50KGJvdW5kUG9zaXRpb24pOwotICAgIEZsb2F0UmVj
dCBlbmRWaXNpYmxlQ29udGVudFJlY3QoYWxpZ25lZFBvc2l0aW9uLCB2aXNpYmxlQ29udGVudHNT
aXplKCkpOwotCi0gICAgaWYgKG1fbGFzdEZyYW1lQ292ZXJlZFJlY3QuaW50ZXJzZWN0cyhlbmRW
aXNpYmxlQ29udGVudFJlY3QpKQotICAgICAgICBtX2NsaWVudC5zZXRWaWV3cG9ydFBvc2l0aW9u
KGFsaWduZWRQb3NpdGlvbik7Ci0gICAgZWxzZSB7Ci0gICAgICAgIC8vIEtlZXAgdGhlIHVuYm91
bmQgcG9zaXRpb24gaW4gY2FzZSB0aGUgY29udGVudHMgc2l6ZSBpcyBjaGFuZ2VkIGxhdGVyIG9u
LgotICAgICAgICBGbG9hdFBvaW50IHBvc2l0aW9uID0gcGl4ZWxBbGlnbmVkRmxvYXRQb2ludChG
bG9hdFBvaW50KGNzc1Bvc2l0aW9uKSk7Ci0gICAgICAgIGFwcGx5UG9zaXRpb25BZnRlclJlbmRl
cmluZ0NvbnRlbnRzKHBvc2l0aW9uKTsKLSAgICB9Ci19Ci0KLXZvaWQgUGFnZVZpZXdwb3J0Q29u
dHJvbGxlcjo6ZGlkQ2hhbmdlVmlld3BvcnRTaXplKGNvbnN0IEZsb2F0U2l6ZSYgbmV3U2l6ZSkK
LXsKLSAgICBpZiAobmV3U2l6ZS5pc0VtcHR5KCkpCi0gICAgICAgIHJldHVybjsKLQotICAgIG1f
dmlld3BvcnRTaXplID0gbmV3U2l6ZTsKLX0KLQotdm9pZCBQYWdlVmlld3BvcnRDb250cm9sbGVy
OjpkaWRDaGFuZ2VDb250ZW50c1Zpc2liaWxpdHkoY29uc3QgRmxvYXRQb2ludCYgcG9zaXRpb24s
IGZsb2F0IHNjYWxlLCBjb25zdCBGbG9hdFBvaW50JiB0cmFqZWN0b3J5VmVjdG9yKQotewotICAg
IGlmICghbV9wZW5kaW5nUG9zaXRpb25DaGFuZ2UpCi0gICAgICAgIG1fY29udGVudHNQb3NpdGlv
biA9IHBvc2l0aW9uOwotICAgIGlmICghbV9wZW5kaW5nU2NhbGVDaGFuZ2UpCi0gICAgICAgIGFw
cGx5U2NhbGVBZnRlclJlbmRlcmluZ0NvbnRlbnRzKHNjYWxlKTsKLQotICAgIHN5bmNWaXNpYmxl
Q29udGVudHModHJhamVjdG9yeVZlY3Rvcik7Ci19Ci0KLWJvb2wgUGFnZVZpZXdwb3J0Q29udHJv
bGxlcjo6c3luY1Zpc2libGVDb250ZW50cyhjb25zdCBGbG9hdFBvaW50JiB0cmFqZWN0b3J5VmVj
dG9yKQotewotICAgIGF1dG8qIGRyYXdpbmdBcmVhID0gc3RhdGljX2Nhc3Q8QWNjZWxlcmF0ZWRE
cmF3aW5nQXJlYVByb3h5Kj4obV93ZWJQYWdlUHJveHktPmRyYXdpbmdBcmVhKCkpOwotICAgIGlm
ICghZHJhd2luZ0FyZWEgfHwgbV92aWV3cG9ydFNpemUuaXNFbXB0eSgpIHx8IG1fY29udGVudHNT
aXplLmlzRW1wdHkoKSkKLSAgICAgICAgcmV0dXJuIGZhbHNlOwotCi0gICAgRmxvYXRSZWN0IHZp
c2libGVDb250ZW50c1JlY3QoYm91bmRDb250ZW50c1Bvc2l0aW9uKG1fY29udGVudHNQb3NpdGlv
biksIHZpc2libGVDb250ZW50c1NpemUoKSk7Ci0gICAgdmlzaWJsZUNvbnRlbnRzUmVjdC5pbnRl
cnNlY3QoRmxvYXRSZWN0KEZsb2F0UG9pbnQ6Onplcm8oKSwgbV9jb250ZW50c1NpemUpKTsKLSAg
ICBkcmF3aW5nQXJlYS0+Y29vcmRpbmF0ZWRMYXllclRyZWVIb3N0UHJveHkoKS5zZXRWaXNpYmxl
Q29udGVudHNSZWN0KHZpc2libGVDb250ZW50c1JlY3QsIHRyYWplY3RvcnlWZWN0b3IpOwotCi0g
ICAgaWYgKCFtX2xheWVyVHJlZVN0YXRlSXNGcm96ZW4pCi0gICAgICAgIG1fY2xpZW50LmRpZENo
YW5nZVZpc2libGVDb250ZW50cygpOwotCi0gICAgcmV0dXJuIHRydWU7Ci19Ci0KLXZvaWQgUGFn
ZVZpZXdwb3J0Q29udHJvbGxlcjo6ZGlkQ2hhbmdlVmlld3BvcnRBdHRyaWJ1dGVzKGNvbnN0IFdl
YkNvcmU6OlZpZXdwb3J0QXR0cmlidXRlcyYgbmV3QXR0cmlidXRlcykKLXsKLSAgICBpZiAoIW1f
aW5pdGlhbGx5Rml0VG9WaWV3cG9ydCkKLSAgICAgICAgcmV0dXJuOwotCi0gICAgaWYgKG5ld0F0
dHJpYnV0ZXMubGF5b3V0U2l6ZS5pc0VtcHR5KCkpCi0gICAgICAgIHJldHVybjsKLQotICAgIG1f
cmF3QXR0cmlidXRlcyA9IG5ld0F0dHJpYnV0ZXM7Ci0gICAgbV9hbGxvd3NVc2VyU2NhbGluZyA9
ICEhbV9yYXdBdHRyaWJ1dGVzLnVzZXJTY2FsYWJsZTsKLSAgICBtX2luaXRpYWxseUZpdFRvVmll
d3BvcnQgPSAobV9yYXdBdHRyaWJ1dGVzLmluaXRpYWxTY2FsZSA8IDApOwotCi0gICAgaWYgKCFt
X2luaXRpYWxseUZpdFRvVmlld3BvcnQpCi0gICAgICAgIFdlYkNvcmU6OnJlc3RyaWN0U2NhbGVG
YWN0b3JUb0luaXRpYWxTY2FsZUlmTm90VXNlclNjYWxhYmxlKG1fcmF3QXR0cmlidXRlcyk7Ci0K
LSAgICB1cGRhdGVNaW5pbXVtU2NhbGVUb0ZpdCh0cnVlKTsKLQotICAgIC8vIEFzIHRoZSB2aWV3
cG9ydCBhdHRyaWJ1dGVzIGFyZSBjYWxjdWxhdGVkIHdoZW4gbG9hZGluZyBwYWdlcywgYWZ0ZXIg
bG9hZCwgb3IgYWZ0ZXIKLSAgICAvLyB2aWV3cG9ydCByZXNpemUsIGl0IGlzIGltcG9ydGFudCB0
aGF0IHdlIGluZm9ybSB0aGUgY2xpZW50IG9mIHRoZSBuZXcgc2NhbGUgYW5kCi0gICAgLy8gcG9z
aXRpb24sIHNvIHRoYXQgdGhlIGNvbnRlbnQgY2FuIGJlIHBvc2l0aW9uZWQgY29ycmVjdGx5IGFu
ZCBwaXhlbCBhbGlnbmVkLgotICAgIG1fcGVuZGluZ1Bvc2l0aW9uQ2hhbmdlID0gdHJ1ZTsKLSAg
ICBtX3BlbmRpbmdTY2FsZUNoYW5nZSA9IHRydWU7Ci0KLSAgICBtX2NsaWVudC5kaWRDaGFuZ2VW
aWV3cG9ydEF0dHJpYnV0ZXMoKTsKLX0KLQotRmxvYXRTaXplIFBhZ2VWaWV3cG9ydENvbnRyb2xs
ZXI6OnZpc2libGVDb250ZW50c1NpemUoKSBjb25zdAotewotICAgIHJldHVybiBGbG9hdFNpemUo
bV92aWV3cG9ydFNpemUud2lkdGgoKSAvIG1fcGFnZVNjYWxlRmFjdG9yLCBtX3ZpZXdwb3J0U2l6
ZS5oZWlnaHQoKSAvIG1fcGFnZVNjYWxlRmFjdG9yKTsKLX0KLQotdm9pZCBQYWdlVmlld3BvcnRD
b250cm9sbGVyOjphcHBseVNjYWxlQWZ0ZXJSZW5kZXJpbmdDb250ZW50cyhmbG9hdCBzY2FsZSkK
LXsKLSAgICBpZiAobV9wYWdlU2NhbGVGYWN0b3IgPT0gc2NhbGUpCi0gICAgICAgIHJldHVybjsK
LQotICAgIGZsb2F0IG9sZFBhZ2VTY2FsZUZhY3RvciA9IG1fcGFnZVNjYWxlRmFjdG9yOwotICAg
IG1fcGFnZVNjYWxlRmFjdG9yID0gc2NhbGU7Ci0gICAgbV9wZW5kaW5nU2NhbGVDaGFuZ2UgPSB0
cnVlOwotICAgIGlmICghc3luY1Zpc2libGVDb250ZW50cygpKSB7Ci0gICAgICAgIG1fcGFnZVNj
YWxlRmFjdG9yID0gb2xkUGFnZVNjYWxlRmFjdG9yOwotICAgICAgICBtX3dlYlBhZ2VQcm94eS0+
c2NhbGVQYWdlKG1fcGFnZVNjYWxlRmFjdG9yLCByb3VuZGVkSW50UG9pbnQobV9jb250ZW50c1Bv
c2l0aW9uKSk7Ci0gICAgfQotfQotCi12b2lkIFBhZ2VWaWV3cG9ydENvbnRyb2xsZXI6OmFwcGx5
UG9zaXRpb25BZnRlclJlbmRlcmluZ0NvbnRlbnRzKGNvbnN0IEZsb2F0UG9pbnQmIHBvcykKLXsK
LSAgICBpZiAobV9jb250ZW50c1Bvc2l0aW9uID09IHBvcykKLSAgICAgICAgcmV0dXJuOwotCi0g
ICAgbV9jb250ZW50c1Bvc2l0aW9uID0gcG9zOwotICAgIG1fcGVuZGluZ1Bvc2l0aW9uQ2hhbmdl
ID0gdHJ1ZTsKLSAgICBzeW5jVmlzaWJsZUNvbnRlbnRzKCk7Ci19Ci0KLWJvb2wgUGFnZVZpZXdw
b3J0Q29udHJvbGxlcjo6dXBkYXRlTWluaW11bVNjYWxlVG9GaXQoYm9vbCB1c2VySW5pdGlhdGVk
VXBkYXRlKQotewotICAgIGlmIChtX3ZpZXdwb3J0U2l6ZS5pc0VtcHR5KCkgfHwgbV9jb250ZW50
c1NpemUuaXNFbXB0eSgpIHx8ICFtX2luaXRpYWxseUZpdFRvVmlld3BvcnQgfHwgbV9oYWRVc2Vy
SW50ZXJhY3Rpb24pCi0gICAgICAgIHJldHVybiBmYWxzZTsKLQotICAgIC8vIEZJWE1FOiBXaHkg
dGhpcyBhcmJpdHJhcnkgcHJlY2lzaW9uPyBXZSBsaWtlbHkgd2FudCB0byBvbWl0IHRoZSB0aGly
ZCBhcmd1bWVudCBzbyB0aGF0Ci0gICAgLy8gc3RkOjpudW1lcmljX2xpbWl0czxmbG9hdD46OmVw
c2lsb24oKSBpcyB1c2VkIGluc3RlYWQsIHNpbWlsYXJseSB0byBNYWMgLyBpT1MuCi0gICAgYm9v
bCBjdXJyZW50bHlTY2FsZWRUb0ZpdCA9IFdURjo6YXJlRXNzZW50aWFsbHlFcXVhbChtX3BhZ2VT
Y2FsZUZhY3RvciwgbV9taW5pbXVtU2NhbGVUb0ZpdCwgMC4wMDAxZik7Ci0gICAgZmxvYXQgbWlu
aW11bVNjYWxlID0gV2ViQ29yZTo6Y29tcHV0ZU1pbmltdW1TY2FsZUZhY3RvckZvckNvbnRlbnRD
b250YWluZWQobV9yYXdBdHRyaWJ1dGVzLCBXZWJDb3JlOjpyb3VuZGVkSW50U2l6ZShtX3ZpZXdw
b3J0U2l6ZSksIFdlYkNvcmU6OnJvdW5kZWRJbnRTaXplKG1fY29udGVudHNTaXplKSk7Ci0KLSAg
ICBpZiAobWluaW11bVNjYWxlIDw9IDApCi0gICAgICAgIHJldHVybiBmYWxzZTsKLQotICAgIGlm
ICghV1RGOjphcmVFc3NlbnRpYWxseUVxdWFsKG1pbmltdW1TY2FsZSwgbV9taW5pbXVtU2NhbGVU
b0ZpdCwgMC4wMDAxZikpIHsKLSAgICAgICAgbV9taW5pbXVtU2NhbGVUb0ZpdCA9IG1pbmltdW1T
Y2FsZTsKLQotICAgICAgICBpZiAoIW1fd2ViUGFnZVByb3h5LT5hcmVBY3RpdmVET01PYmplY3Rz
QW5kQW5pbWF0aW9uc1N1c3BlbmRlZCgpKSB7Ci0gICAgICAgICAgICBpZiAoIW1faGFkVXNlcklu
dGVyYWN0aW9uIHx8ICh1c2VySW5pdGlhdGVkVXBkYXRlICYmIGN1cnJlbnRseVNjYWxlZFRvRml0
KSkKLSAgICAgICAgICAgICAgICBhcHBseVNjYWxlQWZ0ZXJSZW5kZXJpbmdDb250ZW50cyhtX21p
bmltdW1TY2FsZVRvRml0KTsKLSAgICAgICAgICAgIGVsc2UgewotICAgICAgICAgICAgICAgIC8v
IEVuc3VyZSB0aGUgZWZmZWN0aXZlIHNjYWxlIHN0YXlzIHdpdGhpbiBib3VuZHMuCi0gICAgICAg
ICAgICAgICAgZmxvYXQgYm91bmRlZFNjYWxlID0gaW5uZXJCb3VuZGVkVmlld3BvcnRTY2FsZSht
X3BhZ2VTY2FsZUZhY3Rvcik7Ci0gICAgICAgICAgICAgICAgaWYgKCFXVEY6OmFyZUVzc2VudGlh
bGx5RXF1YWwoYm91bmRlZFNjYWxlLCBtX3BhZ2VTY2FsZUZhY3RvciwgMC4wMDAxZikpCi0gICAg
ICAgICAgICAgICAgICAgIGFwcGx5U2NhbGVBZnRlclJlbmRlcmluZ0NvbnRlbnRzKGJvdW5kZWRT
Y2FsZSk7Ci0gICAgICAgICAgICB9Ci0gICAgICAgIH0KLQotICAgICAgICByZXR1cm4gdHJ1ZTsK
LSAgICB9Ci0gICAgcmV0dXJuIGZhbHNlOwotfQotCi19IC8vIG5hbWVzcGFjZSBXZWJLaXQKSW5k
ZXg6IFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9Db29yZGluYXRlZEdyYXBoaWNzL1BhZ2VWaWV3
cG9ydENvbnRyb2xsZXIuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3Mv
Q29vcmRpbmF0ZWRHcmFwaGljcy9QYWdlVmlld3BvcnRDb250cm9sbGVyLmgJKHJldmlzaW9uIDIx
MjcxMikKKysrIFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9Db29yZGluYXRlZEdyYXBoaWNzL1Bh
Z2VWaWV3cG9ydENvbnRyb2xsZXIuaAkod29ya2luZyBjb3B5KQpAQCAtMSwxMTQgKzAsMCBAQAot
LyoKLSAqIENvcHlyaWdodCAoQykgMjAxMSwgMjAxMiBOb2tpYSBDb3Jwb3JhdGlvbiBhbmQvb3Ig
aXRzIHN1YnNpZGlhcnkoLWllcykKLSAqIENvcHlyaWdodCAoQykgMjAxMSBCZW5qYW1pbiBQb3Vs
YWluIDxiZW5qYW1pbkB3ZWJraXQub3JnPgotICoKLSAqIFRoaXMgbGlicmFyeSBpcyBmcmVlIHNv
ZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKLSAqIG1vZGlmeSBpdCB1bmRl
ciB0aGUgdGVybXMgb2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVibGljCi0gKiBMaWNlbnNl
IGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIKLSAq
IHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIg
dmVyc2lvbi4KLSAqCi0gKiBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUg
dGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKLSAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0
aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCi0gKiBNRVJDSEFOVEFCSUxJVFkgb3Ig
RklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlIEdOVQotICogTGlicmFy
eSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCi0gKgotICogWW91IHNo
b3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQdWJs
aWMgTGljZW5zZQotICogYWxvbmcgd2l0aCB0aGlzIHByb2dyYW07IHNlZSB0aGUgZmlsZSBDT1BZ
SU5HLkxJQi4gIElmIG5vdCwgd3JpdGUgdG8KLSAqIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRp
b24sIEluYy4sIDUxIEZyYW5rbGluIFN0cmVldCwgRmlmdGggRmxvb3IsCi0gKiBCb3N0b24sIE1B
IDAyMTEwLTEzMDEsIFVTQS4KLSAqCi0gKi8KLQotI2lmbmRlZiBQYWdlVmlld3BvcnRDb250cm9s
bGVyX2gKLSNkZWZpbmUgUGFnZVZpZXdwb3J0Q29udHJvbGxlcl9oCi0KLSNpbmNsdWRlIDxXZWJD
b3JlL0Zsb2F0UG9pbnQuaD4KLSNpbmNsdWRlIDxXZWJDb3JlL0Zsb2F0UmVjdC5oPgotI2luY2x1
ZGUgPFdlYkNvcmUvRmxvYXRTaXplLmg+Ci0jaW5jbHVkZSA8V2ViQ29yZS9WaWV3cG9ydEFyZ3Vt
ZW50cy5oPgotI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgotCi1uYW1lc3BhY2UgV2ViQ29y
ZSB7Ci1jbGFzcyBJbnRQb2ludDsKLWNsYXNzIEludFNpemU7Ci19Ci0KLW5hbWVzcGFjZSBXZWJL
aXQgewotCi1jbGFzcyBXZWJQYWdlUHJveHk7Ci1jbGFzcyBQYWdlVmlld3BvcnRDb250cm9sbGVy
OwotY2xhc3MgUGFnZVZpZXdwb3J0Q29udHJvbGxlckNsaWVudDsKLQotY2xhc3MgUGFnZVZpZXdw
b3J0Q29udHJvbGxlciB7Ci0gICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoUGFnZVZpZXdwb3J0Q29u
dHJvbGxlcik7Ci0KLXB1YmxpYzoKLSAgICBQYWdlVmlld3BvcnRDb250cm9sbGVyKFdlYktpdDo6
V2ViUGFnZVByb3h5KiwgUGFnZVZpZXdwb3J0Q29udHJvbGxlckNsaWVudCYpOwotICAgIHZpcnR1
YWwgflBhZ2VWaWV3cG9ydENvbnRyb2xsZXIoKSB7IH0KLQotICAgIGZsb2F0IGlubmVyQm91bmRl
ZFZpZXdwb3J0U2NhbGUoZmxvYXQpIGNvbnN0OwotICAgIGZsb2F0IG91dGVyQm91bmRlZFZpZXdw
b3J0U2NhbGUoZmxvYXQpIGNvbnN0OwotCi0gICAgV2ViQ29yZTo6RmxvYXRQb2ludCBwaXhlbEFs
aWduZWRGbG9hdFBvaW50KGNvbnN0IFdlYkNvcmU6OkZsb2F0UG9pbnQmKTsKLQotICAgIFdlYkNv
cmU6OkZsb2F0UG9pbnQgYm91bmRDb250ZW50c1Bvc2l0aW9uKGNvbnN0IFdlYkNvcmU6OkZsb2F0
UG9pbnQmKTsKLSAgICBXZWJDb3JlOjpGbG9hdFBvaW50IGJvdW5kQ29udGVudHNQb3NpdGlvbkF0
U2NhbGUoY29uc3QgV2ViQ29yZTo6RmxvYXRQb2ludCYsIGZsb2F0IHNjYWxlKTsKLQotICAgIFdl
YkNvcmU6OkZsb2F0U2l6ZSB2aXNpYmxlQ29udGVudHNTaXplKCkgY29uc3Q7Ci0KLSAgICBib29s
IGhhZFVzZXJJbnRlcmFjdGlvbigpIGNvbnN0IHsgcmV0dXJuIG1faGFkVXNlckludGVyYWN0aW9u
OyB9Ci0gICAgYm9vbCBhbGxvd3NVc2VyU2NhbGluZygpIGNvbnN0IHsgcmV0dXJuIG1fYWxsb3dz
VXNlclNjYWxpbmc7IH0KLQotICAgIFdlYkNvcmU6OkZsb2F0U2l6ZSBjb250ZW50c0xheW91dFNp
emUoKSBjb25zdCB7IHJldHVybiBtX3Jhd0F0dHJpYnV0ZXMubGF5b3V0U2l6ZTsgfQotICAgIGZs
b2F0IGRldmljZVNjYWxlRmFjdG9yKCkgY29uc3Q7Ci0gICAgZmxvYXQgbWluaW11bVNjYWxlKCkg
Y29uc3QgeyByZXR1cm4gbV9taW5pbXVtU2NhbGVUb0ZpdDsgfQotICAgIGZsb2F0IG1heGltdW1T
Y2FsZSgpIGNvbnN0IHsgcmV0dXJuIG1fcmF3QXR0cmlidXRlcy5tYXhpbXVtU2NhbGU7IH0KLSAg
ICBmbG9hdCBjdXJyZW50U2NhbGUoKSBjb25zdCB7IHJldHVybiBtX3BhZ2VTY2FsZUZhY3Rvcjsg
fQotCi0gICAgdm9pZCBzZXRIYWRVc2VySW50ZXJhY3Rpb24oYm9vbCBkaWRVc2VySW50ZXJhY3Qp
IHsgbV9oYWRVc2VySW50ZXJhY3Rpb24gPSBkaWRVc2VySW50ZXJhY3Q7IH0KLSAgICB2b2lkIHNl
dEluaXRpYWxseUZpdFRvVmlld3BvcnQoYm9vbCBpbml0aWFsbHlGaXQpIHsgbV9pbml0aWFsbHlG
aXRUb1ZpZXdwb3J0ID0gaW5pdGlhbGx5Rml0OyB9Ci0KLSAgICAvLyBOb3RpZmljYXRpb25zIGZy
b20gdGhlIHZpZXdwb3J0LgotICAgIHZvaWQgZGlkQ2hhbmdlVmlld3BvcnRTaXplKGNvbnN0IFdl
YkNvcmU6OkZsb2F0U2l6ZSYgbmV3U2l6ZSk7Ci0gICAgdm9pZCBkaWRDaGFuZ2VDb250ZW50c1Zp
c2liaWxpdHkoY29uc3QgV2ViQ29yZTo6RmxvYXRQb2ludCYsIGZsb2F0IHNjYWxlLCBjb25zdCBX
ZWJDb3JlOjpGbG9hdFBvaW50JiB0cmFqZWN0b3J5VmVjdG9yID0gV2ViQ29yZTo6RmxvYXRQb2lu
dDo6emVybygpKTsKLQotICAgIC8vIE5vdGlmaWNhdGlvbnMgZnJvbSB0aGUgV2ViUHJvY2Vzcy4K
LSAgICB2b2lkIGRpZENvbW1pdExvYWQoKTsKLSAgICB2b2lkIGRpZENoYW5nZUNvbnRlbnRzU2l6
ZShjb25zdCBXZWJDb3JlOjpJbnRTaXplJiBuZXdTaXplKTsKLSAgICB2b2lkIGRpZENoYW5nZVZp
ZXdwb3J0QXR0cmlidXRlcyhjb25zdCBXZWJDb3JlOjpWaWV3cG9ydEF0dHJpYnV0ZXMmKTsKLSAg
ICB2b2lkIGRpZFJlbmRlckZyYW1lKGNvbnN0IFdlYkNvcmU6OkludFNpemUmIGNvbnRlbnRzU2l6
ZSwgY29uc3QgV2ViQ29yZTo6SW50UmVjdCYgY292ZXJlZFJlY3QpOwotICAgIHZvaWQgcGFnZVRy
YW5zaXRpb25WaWV3cG9ydFJlYWR5KCk7Ci0gICAgdm9pZCBwYWdlRGlkUmVxdWVzdFNjcm9sbChj
b25zdCBXZWJDb3JlOjpJbnRQb2ludCYgY3NzUG9zaXRpb24pOwotCi1wcml2YXRlOgotICAgIGJv
b2wgc3luY1Zpc2libGVDb250ZW50cyhjb25zdCBXZWJDb3JlOjpGbG9hdFBvaW50ICZ0cmFqZWN0
b3J5VmVjdG9yID0gV2ViQ29yZTo6RmxvYXRQb2ludDo6emVybygpKTsKLSAgICB2b2lkIGFwcGx5
U2NhbGVBZnRlclJlbmRlcmluZ0NvbnRlbnRzKGZsb2F0IHNjYWxlKTsKLSAgICB2b2lkIGFwcGx5
UG9zaXRpb25BZnRlclJlbmRlcmluZ0NvbnRlbnRzKGNvbnN0IFdlYkNvcmU6OkZsb2F0UG9pbnQm
IHBvcyk7Ci0gICAgYm9vbCB1cGRhdGVNaW5pbXVtU2NhbGVUb0ZpdChib29sIHVzZXJJbml0aWF0
ZWRVcGRhdGUpOwotCi0gICAgV2ViUGFnZVByb3h5KiBjb25zdCBtX3dlYlBhZ2VQcm94eTsKLSAg
ICBQYWdlVmlld3BvcnRDb250cm9sbGVyQ2xpZW50JiBtX2NsaWVudDsKLQotICAgIFdlYkNvcmU6
OlZpZXdwb3J0QXR0cmlidXRlcyBtX3Jhd0F0dHJpYnV0ZXM7Ci0KLSAgICBib29sIG1fYWxsb3dz
VXNlclNjYWxpbmc7Ci0gICAgZmxvYXQgbV9taW5pbXVtU2NhbGVUb0ZpdDsKLSAgICBib29sIG1f
aW5pdGlhbGx5Rml0VG9WaWV3cG9ydDsKLQotICAgIGJvb2wgbV9oYWRVc2VySW50ZXJhY3Rpb247
Ci0KLSAgICBXZWJDb3JlOjpGbG9hdFBvaW50IG1fY29udGVudHNQb3NpdGlvbjsKLSAgICBXZWJD
b3JlOjpGbG9hdFNpemUgbV9jb250ZW50c1NpemU7Ci0gICAgV2ViQ29yZTo6RmxvYXRTaXplIG1f
dmlld3BvcnRTaXplOwotICAgIFdlYkNvcmU6OkludFNpemUgbV9jbGllbnRDb250ZW50c1NpemU7
Ci0gICAgZmxvYXQgbV9wYWdlU2NhbGVGYWN0b3I7Ci0KLSAgICBib29sIG1fcGVuZGluZ1Bvc2l0
aW9uQ2hhbmdlOwotICAgIGJvb2wgbV9wZW5kaW5nU2NhbGVDaGFuZ2U7Ci0gICAgYm9vbCBtX2xh
eWVyVHJlZVN0YXRlSXNGcm96ZW47Ci0gICAgV2ViQ29yZTo6RmxvYXRSZWN0IG1fbGFzdEZyYW1l
Q292ZXJlZFJlY3Q7Ci19OwotCi19IC8vIG5hbWVzcGFjZSBXZWJLaXQKLQotI2VuZGlmIC8vIFBh
Z2VWaWV3cG9ydENvbnRyb2xsZXJfaAo=
</data>

          </attachment>
      

    </bug>

</bugzilla>