<?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>174017</bug_id>
          
          <creation_ts>2017-06-30 01:47:52 -0700</creation_ts>
          <short_desc>[iOS DnD] Drag caret rect is incorrectly computed when dropping in editable content in iframes</short_desc>
          <delta_ts>2017-06-30 09:08:26 -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>WebCore Misc.</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>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Wenson Hsieh">wenson_hsieh</reporter>
          <assigned_to name="Wenson Hsieh">wenson_hsieh</assigned_to>
          <cc>bdakin</cc>
    
    <cc>commit-queue</cc>
    
    <cc>megan_gardner</cc>
    
    <cc>rniwa</cc>
    
    <cc>simon.fraser</cc>
    
    <cc>thorton</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1324347</commentid>
    <comment_count>0</comment_count>
    <who name="Wenson Hsieh">wenson_hsieh</who>
    <bug_when>2017-06-30 01:47:52 -0700</bug_when>
    <thetext>&lt;rdar://problem/32959782&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1324356</commentid>
    <comment_count>1</comment_count>
      <attachid>314252</attachid>
    <who name="Wenson Hsieh">wenson_hsieh</who>
    <bug_when>2017-06-30 02:09:10 -0700</bug_when>
    <thetext>Created attachment 314252
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1324361</commentid>
    <comment_count>2</comment_count>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2017-06-30 02:14:02 -0700</bug_when>
    <thetext>Looks like you need to rebase the patch against trunk.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1324364</commentid>
    <comment_count>3</comment_count>
      <attachid>314254</attachid>
    <who name="Wenson Hsieh">wenson_hsieh</who>
    <bug_when>2017-06-30 02:21:06 -0700</bug_when>
    <thetext>Created attachment 314254
Rebase on master</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1324420</commentid>
    <comment_count>4</comment_count>
      <attachid>314254</attachid>
    <who name="Wenson Hsieh">wenson_hsieh</who>
    <bug_when>2017-06-30 08:39:05 -0700</bug_when>
    <thetext>Comment on attachment 314254
Rebase on master

Thanks Simon!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1324431</commentid>
    <comment_count>5</comment_count>
      <attachid>314254</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2017-06-30 09:08:24 -0700</bug_when>
    <thetext>Comment on attachment 314254
Rebase on master

Clearing flags on attachment: 314254

Committed r218998: &lt;http://trac.webkit.org/changeset/218998&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1324432</commentid>
    <comment_count>6</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2017-06-30 09:08:26 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>314252</attachid>
            <date>2017-06-30 02:09:10 -0700</date>
            <delta_ts>2017-06-30 02:21:04 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-174017-20170630020909.patch</filename>
            <type>text/plain</type>
            <size>20364</size>
            <attacher name="Wenson Hsieh">wenson_hsieh</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjE4OTA1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNjZiYjEzYTQ3YTdjN2Iz
NDYwYTFkZjk2NTJjNTQ3MmM1YTJmYjE1OC4uNGU0MDkzMjJiZDhiNjlhYWI2OTZlZTBjNzMyMjhl
YTQ4NmI0ODFjYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI1IEBACisyMDE3LTA2LTMwICBXZW5z
b24gSHNpZWggIDx3ZW5zb25faHNpZWhAYXBwbGUuY29tPgorCisgICAgICAgIFtpT1MgRG5EXSBE
cmFnIGNhcmV0IHJlY3QgaXMgaW5jb3JyZWN0bHkgY29tcHV0ZWQgd2hlbiBkcm9wcGluZyBpbiBl
ZGl0YWJsZSBjb250ZW50IGluIGlmcmFtZXMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTE3NDAxNworICAgICAgICA8cmRhcjovL3Byb2JsZW0vMzI5NTk3
ODI+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgV2Un
cmUgY3VycmVubHkgY29tcHV0aW5nIHRoZSBkcmFnIGNhcmV0IHJlY3QgKGZvciB0aGUgcHVycG9z
ZXMgb2YgcHJlc2VudGF0aW9uIGF0IHRoZSBjbGllbnQgbGF5ZXJzKQorICAgICAgICBpbmNvcnJl
Y3RseSwgaW4gcGVyLWZyYW1lIGRvY3VtZW50IGNvb3JkaW5hdGVzIGluc3RlYWQgb2Ygcm9vdCB2
aWV3IGNvb3JkaW5hdGVzIGluIHRoZSBtYWluZnJhbWUuIFRoaXMgbWVhbnMKKyAgICAgICAgZHJh
ZyBjYXJldCBnZW9tZXRyeSBmcm9tIGVtYmVkZGVkIGlmcmFtZXMgaW4gdGhlIGRvY3VtZW50IHdp
bGwgc2hvdyB1cCBpbiB0aGUgY29udGVudCB2aWV3IHdpdGggYSByZWN0IGluIHRoZQorICAgICAg
ICBjb29yZGluYXRlIHNwYWNlIG9mIHRoZSBpZnJhbWUuCisKKyAgICAgICAgVG8gZml4IHRoaXMs
IHdlIG5lZWQgdG8gY29udmVydCB0aGUgZHJhZyBjYXJldCByZWN0IHRvIHJvb3QgdmlldyBjb29y
ZGluYXRlcy4gVGhpcyBwYXRjaCB0ZWFjaGVzCisgICAgICAgIERyYWdDYXJldENvbnRyb2xsZXIg
dG8gZG8gdGhpcywgYW5kIHR3ZWFrcyBXZWJLaXQvV2ViS2l0MiB0byB1c2UgY2FyZXRSZWN0SW5S
b290Vmlld0Nvb3JkaW5hdGVzLgorCisgICAgICAgIFRlc3Q6IERhdGFJbnRlcmFjdGlvblRlc3Rz
LkV4dGVybmFsU291cmNlUGxhaW5UZXh0VG9JRnJhbWUKKworICAgICAgICAqIGVkaXRpbmcvRnJh
bWVTZWxlY3Rpb24uY3BwOgorICAgICAgICAoV2ViQ29yZTo6RHJhZ0NhcmV0Q29udHJvbGxlcjo6
Y2FyZXRSZWN0SW5Sb290Vmlld0Nvb3JkaW5hdGVzKToKKyAgICAgICAgKiBlZGl0aW5nL0ZyYW1l
U2VsZWN0aW9uLmg6CisKIDIwMTctMDYtMjggIFlvdWVubiBGYWJsZXQgIDx5b3Vlbm5AYXBwbGUu
Y29tPgogCiAgICAgICAgIFN1cHBvcnQgUGVlckNvbm5lY3Rpb25TdGF0ZXM6OkJ1bmRsZVBvbGlj
eTo6TWF4QnVuZGxlIHdoZW4gc2V0dGluZyBydGMgY29uZmlndXJhdGlvbgpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdC9tYWMvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC9tYWMvQ2hhbmdlTG9n
CmluZGV4IDMyNjkwMThmNmZkODU4YTQyZTBkYTEzMjNjYjE5OWU0MGQ0MDY5ZDAuLmEzYWRjMDMz
ZDVlNzA5NjE2OGZlODBmYjRlMDQ5MWE0NzdmZDNmZGQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJL
aXQvbWFjL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L21hYy9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwxNiBAQAorMjAxNy0wNi0zMCAgV2Vuc29uIEhzaWVoICA8d2Vuc29uX2hzaWVoQGFwcGxl
LmNvbT4KKworICAgICAgICBbaU9TIERuRF0gRHJhZyBjYXJldCByZWN0IGlzIGluY29ycmVjdGx5
IGNvbXB1dGVkIHdoZW4gZHJvcHBpbmcgaW4gZWRpdGFibGUgY29udGVudCBpbiBpZnJhbWVzCisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNzQwMTcKKyAg
ICAgICAgPHJkYXI6Ly9wcm9ibGVtLzMyOTU5NzgyPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5P
Qk9EWSAoT09QUyEpLgorCisgICAgICAgIFVzZSByb290IHZpZXcgY29vcmRpbmF0ZXMgd2hlbiBj
b21wdXRpbmcgdGhlIGRyYWcgY2FyZXQgcmVjdC4KKworICAgICAgICAqIFdlYlZpZXcvV2ViVmll
dy5tbToKKyAgICAgICAgKC1bV2ViVmlldyBfZGF0YUludGVyYWN0aW9uQ2FyZXRSZWN0XSk6CisK
IDIwMTctMDYtMjggIFNpbW9uIEZyYXNlciAgPHNpbW9uLmZyYXNlckBhcHBsZS5jb20+CiAKICAg
ICAgICAgTWFyayB0aGUgR3JhcGhpY3NDb250ZXh0IGFzIGFjY2VsZXJhdGVkIHdoZW4gdGhlIFdl
YkhUTUxWaWV3J3MgbGF5ZXIgaXMgZHJhd2luZyBhc3luY2hyb25vdXNseQpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdDIvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCmluZGV4
IDJhMGZmNzhkZjEwNDhkZDJiOGFhODIzOGY3ZTlmM2M2OTI4YmJhMzEuLjg5ZDY0NGYyNTEyMTU1
NzFlM2UxNDUwMDlmYmI5ZjE4MWE5Njk1YzUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL0No
YW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyMiBAQAor
MjAxNy0wNi0zMCAgV2Vuc29uIEhzaWVoICA8d2Vuc29uX2hzaWVoQGFwcGxlLmNvbT4KKworICAg
ICAgICBbaU9TIERuRF0gRHJhZyBjYXJldCByZWN0IGlzIGluY29ycmVjdGx5IGNvbXB1dGVkIHdo
ZW4gZHJvcHBpbmcgaW4gZWRpdGFibGUgY29udGVudCBpbiBpZnJhbWVzCisgICAgICAgIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNzQwMTcKKyAgICAgICAgPHJkYXI6
Ly9wcm9ibGVtLzMyOTU5NzgyPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEp
LgorCisgICAgICAgIFNlbmQgdGhlIGRyYWcgY2FyZXQgcmVjdCBpbiByb290IHZpZXcgY29vcmRp
bmF0ZXMgb3ZlciB0byB0aGUgVUkgcHJvY2Vzcy4KKworICAgICAgICAqIFVJUHJvY2Vzcy9BUEkv
Q29jb2EvV0tXZWJWaWV3Lm1tOgorICAgICAgICAoLVtXS1dlYlZpZXcgX2RyYWdDYXJldFJlY3Rd
KToKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL0NvY29hL1dLV2ViVmlld1ByaXZhdGUuaDoKKwor
ICAgICAgICBBZGQgYmFzaWMgdGVzdCBwbHVtYmluZyB0byBmZXRjaCB0aGUgY3VycmVudCBkcmFn
IGNhcmV0IHJlY3QuCisKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHA6
CisgICAgICAgIChXZWJLaXQ6OldlYlBhZ2U6OnBlcmZvcm1EcmFnQ29udHJvbGxlckFjdGlvbik6
CisKIDIwMTctMDYtMjggIFlvdWVubiBGYWJsZXQgIDx5b3Vlbm5AYXBwbGUuY29tPgogCiAgICAg
ICAgIFN1cHBvcnQgUGVlckNvbm5lY3Rpb25TdGF0ZXM6OkJ1bmRsZVBvbGljeTo6TWF4QnVuZGxl
IHdoZW4gc2V0dGluZyBydGMgY29uZmlndXJhdGlvbgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvZWRpdGluZy9GcmFtZVNlbGVjdGlvbi5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5nL0Zy
YW1lU2VsZWN0aW9uLmNwcAppbmRleCBjNzc3YjkyZDg5ODNkMGQ4OWJlN2ZkNjcxMzk1OWJkOTVi
N2VlMTRjLi4yZTA2ZTE3YmU0NDIyODUzZDFmNjIxNjg5MWJiNjNiN2U5MmJmYjA0IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5nL0ZyYW1lU2VsZWN0aW9uLmNwcAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9lZGl0aW5nL0ZyYW1lU2VsZWN0aW9uLmNwcApAQCAtMTAxLDYgKzEwMSwxOSBA
QCBib29sIERyYWdDYXJldENvbnRyb2xsZXI6OmlzQ29udGVudFJpY2hseUVkaXRhYmxlKCkgY29u
c3QKICAgICByZXR1cm4gaXNSaWNobHlFZGl0YWJsZVBvc2l0aW9uKG1fcG9zaXRpb24uZGVlcEVx
dWl2YWxlbnQoKSk7CiB9CiAKK0ludFJlY3QgRHJhZ0NhcmV0Q29udHJvbGxlcjo6Y2FyZXRSZWN0
SW5Sb290Vmlld0Nvb3JkaW5hdGVzKCkgY29uc3QKK3sKKyAgICBpZiAoIWhhc0NhcmV0KCkpCisg
ICAgICAgIHJldHVybiB7IH07CisKKyAgICBpZiAoYXV0byogZG9jdW1lbnQgPSBtX3Bvc2l0aW9u
LmRlZXBFcXVpdmFsZW50KCkuZG9jdW1lbnQoKSkgeworICAgICAgICBpZiAoYXV0byogZG9jdW1l
bnRWaWV3ID0gZG9jdW1lbnQtPnZpZXcoKSkKKyAgICAgICAgICAgIHJldHVybiBkb2N1bWVudFZp
ZXctPmNvbnRlbnRzVG9Sb290VmlldyhtX3Bvc2l0aW9uLmFic29sdXRlQ2FyZXRCb3VuZHMoKSk7
CisgICAgfQorCisgICAgcmV0dXJuIHsgfTsKK30KKwogc3RhdGljIGlubGluZSBib29sIHNob3Vs
ZEFsd2F5c1VzZURpcmVjdGlvbmFsU2VsZWN0aW9uKEZyYW1lKiBmcmFtZSkKIHsKICAgICByZXR1
cm4gIWZyYW1lIHx8IGZyYW1lLT5lZGl0b3IoKS5iZWhhdmlvcigpLnNob3VsZENvbnNpZGVyU2Vs
ZWN0aW9uQXNEaXJlY3Rpb25hbCgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZWRpdGlu
Zy9GcmFtZVNlbGVjdGlvbi5oIGIvU291cmNlL1dlYkNvcmUvZWRpdGluZy9GcmFtZVNlbGVjdGlv
bi5oCmluZGV4IDY4ZTVkYzFiMmU1N2Q1ZDU0Y2Y5YmM4ZGVhZTM5YTc3NDUxNDBjMGIuLjRiNTAw
ZjgzMDE0ODBlZThkZjM4NjlkZGQ2ODNjM2I5OGQyMTA1NDkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL2VkaXRpbmcvRnJhbWVTZWxlY3Rpb24uaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9lZGl0
aW5nL0ZyYW1lU2VsZWN0aW9uLmgKQEAgLTEwMyw2ICsxMDMsNyBAQCBwdWJsaWM6CiAgICAgY29u
c3QgVmlzaWJsZVBvc2l0aW9uJiBjYXJldFBvc2l0aW9uKCkgeyByZXR1cm4gbV9wb3NpdGlvbjsg
fQogICAgIHZvaWQgc2V0Q2FyZXRQb3NpdGlvbihjb25zdCBWaXNpYmxlUG9zaXRpb24mKTsKICAg
ICB2b2lkIGNsZWFyKCkgeyBzZXRDYXJldFBvc2l0aW9uKFZpc2libGVQb3NpdGlvbigpKTsgfQor
ICAgIFdFQkNPUkVfRVhQT1JUIEludFJlY3QgY2FyZXRSZWN0SW5Sb290Vmlld0Nvb3JkaW5hdGVz
KCkgY29uc3Q7CiAKICAgICB2b2lkIG5vZGVXaWxsQmVSZW1vdmVkKE5vZGUmKTsKIApkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYktpdC9tYWMvV2ViVmlldy9XZWJWaWV3Lm1tIGIvU291cmNlL1dlYktp
dC9tYWMvV2ViVmlldy9XZWJWaWV3Lm1tCmluZGV4IDc4MjZmYjQ3OGVlMzA1NDkxODVlNTc3NGVl
YTc1NmMyZTE1MjJlY2IuLmFlYTU0ZTQ4NWFmNzYwY2Y3MmI2YThiODQ1NGFiYWJkOTc0YjkwYWEg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvbWFjL1dlYlZpZXcvV2ViVmlldy5tbQorKysgYi9T
b3VyY2UvV2ViS2l0L21hYy9XZWJWaWV3L1dlYlZpZXcubW0KQEAgLTE4NDksNyArMTg0OSw3IEBA
IC0gKHZvaWQpX3N0YXJ0RHJhZzooY29uc3QgRHJhZ0l0ZW0mKWRyYWdJdGVtCiAtIChDR1JlY3Qp
X2RhdGFJbnRlcmFjdGlvbkNhcmV0UmVjdAogewogICAgIGlmIChhdXRvKiBwYWdlID0gX3ByaXZh
dGUtPnBhZ2UpCi0gICAgICAgIHJldHVybiBwYWdlLT5kcmFnQ2FyZXRDb250cm9sbGVyKCkuY2Fy
ZXRQb3NpdGlvbigpLmFic29sdXRlQ2FyZXRCb3VuZHMoKTsKKyAgICAgICAgcmV0dXJuIHBhZ2Ut
PmRyYWdDYXJldENvbnRyb2xsZXIoKS5jYXJldFJlY3RJblJvb3RWaWV3Q29vcmRpbmF0ZXMoKTsK
IAogICAgIHJldHVybiB7IH07CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nl
c3MvQVBJL0NvY29hL1dLV2ViVmlldy5tbSBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkv
Q29jb2EvV0tXZWJWaWV3Lm1tCmluZGV4IGVlOWUxMmQ0YmJlY2ZjZjJhZjc1YzI4ZDEzODQ0OTFh
NWNkZmFiMTQuLjZkMzgxOTZkMzNhZjY2NmFmYzYxNjc4NjY1MTcxNTdjNTFjOGE5NjggMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tXZWJWaWV3Lm1tCisr
KyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tXZWJWaWV3Lm1tCkBAIC01
NjM1LDYgKzU2MzUsMTUgQEAgLSAodm9pZClfc2ltdWxhdGVQcmVwYXJlRm9yRGF0YUludGVyYWN0
aW9uU2Vzc2lvbjooaWQpc2Vzc2lvbiBjb21wbGV0aW9uOihkaXNwYXQKICNlbmRpZgogfQogCist
IChDR1JlY3QpX2RyYWdDYXJldFJlY3QKK3sKKyNpZiBFTkFCTEUoRFJBR19TVVBQT1JUKQorICAg
IHJldHVybiBfcGFnZS0+Y3VycmVudERyYWdDYXJldFJlY3QoKTsKKyNlbHNlCisgICAgcmV0dXJu
IENHUmVjdFplcm87CisjZW5kaWYKK30KKwogLSAodm9pZClfc2ltdWxhdGVMb25nUHJlc3NBY3Rp
b25BdExvY2F0aW9uOihDR1BvaW50KWxvY2F0aW9uCiB7CiAgICAgW19jb250ZW50VmlldyBfc2lt
dWxhdGVMb25nUHJlc3NBY3Rpb25BdExvY2F0aW9uOmxvY2F0aW9uXTsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tXZWJWaWV3UHJpdmF0ZS5oIGIvU291
cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dlYlZpZXdQcml2YXRlLmgKaW5kZXgg
YTJiYjIzY2ZiN2Y1MmEzNmJhYTQzZmRiMTZlOGVkNjI4Njg5NjZhMC4uZGJlMTJhMDFlYjIzOTQ3
ZTRhNDllZWUzYTE4YWZkOTA3NmI2Nzk4YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQ
cm9jZXNzL0FQSS9Db2NvYS9XS1dlYlZpZXdQcml2YXRlLmgKKysrIGIvU291cmNlL1dlYktpdDIv
VUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dlYlZpZXdQcml2YXRlLmgKQEAgLTM1OCw2ICszNTgsOCBA
QCB0eXBlZGVmIE5TX0VOVU0oTlNJbnRlZ2VyLCBfV0tJbW1lZGlhdGVBY3Rpb25UeXBlKSB7CiAt
ICh2b2lkKV9zaW11bGF0ZVByZXBhcmVGb3JEYXRhSW50ZXJhY3Rpb25TZXNzaW9uOihpZClzZXNz
aW9uIGNvbXBsZXRpb246KGRpc3BhdGNoX2Jsb2NrX3QpY29tcGxldGlvbiBXS19BUElfQVZBSUxB
QkxFKGlvcyhXS19JT1NfVEJBKSk7CiAtICh2b2lkKV9zaW11bGF0ZUxvbmdQcmVzc0FjdGlvbkF0
TG9jYXRpb246KENHUG9pbnQpbG9jYXRpb247CiAKK0Bwcm9wZXJ0eSAobm9uYXRvbWljLCByZWFk
b25seSkgQ0dSZWN0IF9kcmFnQ2FyZXRSZWN0IFdLX0FQSV9BVkFJTEFCTEUoaW9zKFdLX0lPU19U
QkEpKTsKKwogLSAoX1dLRHJhZ2dhYmxlRWxlbWVudEluZm8gKilfZHJhZ2dhYmxlRWxlbWVudEF0
UG9zaXRpb246KENHUG9pbnQpcG9zaXRpb24gV0tfQVBJX0FWQUlMQUJMRShtYWNvc3goV0tfTUFD
X1RCQSksIGlvcyhXS19JT1NfVEJBKSk7CiAtICh2b2lkKV9yZXF1ZXN0RHJhZ2dhYmxlRWxlbWVu
dEF0UG9zaXRpb246KENHUG9pbnQpcG9zaXRpb24gY29tcGxldGlvbkJsb2NrOih2b2lkICheKShf
V0tEcmFnZ2FibGVFbGVtZW50SW5mbyAqKSlibG9jayBXS19BUElfQVZBSUxBQkxFKG1hY29zeChX
S19NQUNfVEJBKSwgaW9zKFdLX0lPU19UQkEpKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktp
dDIvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuY3BwIGIvU291cmNlL1dlYktpdDIvV2ViUHJv
Y2Vzcy9XZWJQYWdlL1dlYlBhZ2UuY3BwCmluZGV4IDYzOWJmMzA1MDliZGE4N2U0YWFiYmY5Mzc5
OWFiMjc1YjZmMjEzNzUuLjNlYjE1NGE3M2JmYjkxZTQzZmVhZDYwY2JhZTdhYTViNzhkNTY2MGIg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmNw
cAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHAKQEAg
LTM2MDEsMTMgKzM2MDEsMTMgQEAgdm9pZCBXZWJQYWdlOjpwZXJmb3JtRHJhZ0NvbnRyb2xsZXJB
Y3Rpb24odWludDY0X3QgYWN0aW9uLCBjb25zdCBXZWJDb3JlOjpEcmFnRGEKICAgICBzd2l0Y2gg
KGFjdGlvbikgewogICAgIGNhc2UgRHJhZ0NvbnRyb2xsZXJBY3Rpb25FbnRlcmVkOiB7CiAgICAg
ICAgIERyYWdPcGVyYXRpb24gcmVzb2x2ZWREcmFnT3BlcmF0aW9uID0gbV9wYWdlLT5kcmFnQ29u
dHJvbGxlcigpLmRyYWdFbnRlcmVkKGRyYWdEYXRhKTsKLSAgICAgICAgc2VuZChNZXNzYWdlczo6
V2ViUGFnZVByb3h5OjpEaWRQZXJmb3JtRHJhZ0NvbnRyb2xsZXJBY3Rpb24ocmVzb2x2ZWREcmFn
T3BlcmF0aW9uLCBtX3BhZ2UtPmRyYWdDb250cm9sbGVyKCkubW91c2VJc092ZXJGaWxlSW5wdXQo
KSwgbV9wYWdlLT5kcmFnQ29udHJvbGxlcigpLm51bWJlck9mSXRlbXNUb0JlQWNjZXB0ZWQoKSwg
bV9wYWdlLT5kcmFnQ2FyZXRDb250cm9sbGVyKCkuY2FyZXRQb3NpdGlvbigpLmFic29sdXRlQ2Fy
ZXRCb3VuZHMoKSkpOworICAgICAgICBzZW5kKE1lc3NhZ2VzOjpXZWJQYWdlUHJveHk6OkRpZFBl
cmZvcm1EcmFnQ29udHJvbGxlckFjdGlvbihyZXNvbHZlZERyYWdPcGVyYXRpb24sIG1fcGFnZS0+
ZHJhZ0NvbnRyb2xsZXIoKS5tb3VzZUlzT3ZlckZpbGVJbnB1dCgpLCBtX3BhZ2UtPmRyYWdDb250
cm9sbGVyKCkubnVtYmVyT2ZJdGVtc1RvQmVBY2NlcHRlZCgpLCBtX3BhZ2UtPmRyYWdDYXJldENv
bnRyb2xsZXIoKS5jYXJldFJlY3RJblJvb3RWaWV3Q29vcmRpbmF0ZXMoKSkpOwogICAgICAgICBi
cmVhazsKIAogICAgIH0KICAgICBjYXNlIERyYWdDb250cm9sbGVyQWN0aW9uVXBkYXRlZDogewog
ICAgICAgICBEcmFnT3BlcmF0aW9uIHJlc29sdmVkRHJhZ09wZXJhdGlvbiA9IG1fcGFnZS0+ZHJh
Z0NvbnRyb2xsZXIoKS5kcmFnVXBkYXRlZChkcmFnRGF0YSk7Ci0gICAgICAgIHNlbmQoTWVzc2Fn
ZXM6OldlYlBhZ2VQcm94eTo6RGlkUGVyZm9ybURyYWdDb250cm9sbGVyQWN0aW9uKHJlc29sdmVk
RHJhZ09wZXJhdGlvbiwgbV9wYWdlLT5kcmFnQ29udHJvbGxlcigpLm1vdXNlSXNPdmVyRmlsZUlu
cHV0KCksIG1fcGFnZS0+ZHJhZ0NvbnRyb2xsZXIoKS5udW1iZXJPZkl0ZW1zVG9CZUFjY2VwdGVk
KCksIG1fcGFnZS0+ZHJhZ0NhcmV0Q29udHJvbGxlcigpLmNhcmV0UG9zaXRpb24oKS5hYnNvbHV0
ZUNhcmV0Qm91bmRzKCkpKTsKKyAgICAgICAgc2VuZChNZXNzYWdlczo6V2ViUGFnZVByb3h5OjpE
aWRQZXJmb3JtRHJhZ0NvbnRyb2xsZXJBY3Rpb24ocmVzb2x2ZWREcmFnT3BlcmF0aW9uLCBtX3Bh
Z2UtPmRyYWdDb250cm9sbGVyKCkubW91c2VJc092ZXJGaWxlSW5wdXQoKSwgbV9wYWdlLT5kcmFn
Q29udHJvbGxlcigpLm51bWJlck9mSXRlbXNUb0JlQWNjZXB0ZWQoKSwgbV9wYWdlLT5kcmFnQ2Fy
ZXRDb250cm9sbGVyKCkuY2FyZXRSZWN0SW5Sb290Vmlld0Nvb3JkaW5hdGVzKCkpKTsKICAgICAg
ICAgYnJlYWs7CiAgICAgfQogICAgIGNhc2UgRHJhZ0NvbnRyb2xsZXJBY3Rpb25FeGl0ZWQ6CmRp
ZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VMb2cgYi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggMjk4ZTgy
OTU2YmU5MmFiZmE2YmQwMGYxNzRmNWE3YzJhNjU1NjE4NC4uODFiZDhkMzZkZmUzMGJmNDE3YjJj
NGU4MDJjODA3NDc4MjRiOTgxZiAxMDA2NDQKLS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rv
b2xzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI2IEBACisyMDE3LTA2LTMwICBXZW5zb24gSHNpZWgg
IDx3ZW5zb25faHNpZWhAYXBwbGUuY29tPgorCisgICAgICAgIFtpT1MgRG5EXSBEcmFnIGNhcmV0
IHJlY3QgaXMgaW5jb3JyZWN0bHkgY29tcHV0ZWQgd2hlbiBkcm9wcGluZyBpbiBlZGl0YWJsZSBj
b250ZW50IGluIGlmcmFtZXMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTE3NDAxNworICAgICAgICA8cmRhcjovL3Byb2JsZW0vMzI5NTk3ODI+CisKKyAg
ICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWRkIGEgbmV3IHRl
c3QgdmVyaWZ5aW5nIHRoYXQgdGhlIGRyYWcgY2FyZXQgaXMgdmlzdWFsbHkgY29udGFpbmVkIHdp
dGhpbiB0aGUgYm91bmRzIG9mIGFuIGlmcmFtZS4gQmVmb3JlIHRoZXNlCisgICAgICAgIGNoYW5n
ZXMsIHRoZSBjYXJldCB3b3VsZCBhcHBlYXIgb3V0c2lkZSBvZiB0aGUgaWZyYW1lLgorCisgICAg
ICAgICogVGVzdFdlYktpdEFQSS9UZXN0V2ViS2l0QVBJLnhjb2RlcHJvai9wcm9qZWN0LnBieHBy
b2o6CisgICAgICAgICogVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXQyQ29jb2EvY29udGVudGVk
aXRhYmxlLWluLWlmcmFtZS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBUZXN0V2ViS2l0QVBJL1Rl
c3RzL2lvcy9EYXRhSW50ZXJhY3Rpb25UZXN0cy5tbToKKyAgICAgICAgKGNoZWNrRHJhZ0NhcmV0
UmVjdElzQ29udGFpbmVkSW5SZWN0KToKKyAgICAgICAgKFRlc3RXZWJLaXRBUEk6OlRFU1QpOgor
ICAgICAgICAqIFRlc3RXZWJLaXRBUEkvaW9zL0RhdGFJbnRlcmFjdGlvblNpbXVsYXRvci5oOgor
ICAgICAgICAqIFRlc3RXZWJLaXRBUEkvaW9zL0RhdGFJbnRlcmFjdGlvblNpbXVsYXRvci5tbToK
KyAgICAgICAgKC1bRGF0YUludGVyYWN0aW9uU2ltdWxhdG9yIF9yZXNldFNpbXVsYXRlZFN0YXRl
XSk6CisgICAgICAgICgtW0RhdGFJbnRlcmFjdGlvblNpbXVsYXRvciBfY29uY2x1ZGVEYXRhSW50
ZXJhY3Rpb25BbmRQZXJmb3JtT3BlcmF0aW9uSWZOZWNlc3NhcnldKToKKyAgICAgICAgKC1bRGF0
YUludGVyYWN0aW9uU2ltdWxhdG9yIF9hZHZhbmNlUHJvZ3Jlc3NdKToKKyAgICAgICAgKC1bRGF0
YUludGVyYWN0aW9uU2ltdWxhdG9yIGxhc3RLbm93bkRyYWdDYXJldFJlY3RdKToKKwogMjAxNy0w
Ni0yOCAgQnJlbnQgRnVsZ2hhbSAgPGJmdWxnaGFtQGFwcGxlLmNvbT4KIAogICAgICAgICBUZWFj
aCBSZXNvdXJjZUxvYWRTdGF0aXN0aWNzIHRvIHJlY29nbml6ZSBjaGFuZ2VzIGluIHRoZSBmaWxl
IHN5c3RlbQpkaWZmIC0tZ2l0IGEvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0V2ViS2l0QVBJLnhj
b2RlcHJvai9wcm9qZWN0LnBieHByb2ogYi9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RXZWJLaXRB
UEkueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagppbmRleCAyMDRiZTVjZjhiMGMxZDZlMGVmYjUz
NmU4ZDdjNmUxMmI1NTdkNTg1Li44ZDcxZmU4NjA0N2Q1ZjBkZDZhZDdhMWNmNmVlZTY5YTk5MTY3
NjZhIDEwMDY0NAotLS0gYS9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RXZWJLaXRBUEkueGNvZGVw
cm9qL3Byb2plY3QucGJ4cHJvagorKysgYi9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RXZWJLaXRB
UEkueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagpAQCAtNjQ4LDYgKzY0OCw3IEBACiAJCUY0NkEw
OTVCMUVEOEE2RTYwMEQ0QUE1NSAvKiBnaWYtYW5kLWZpbGUtaW5wdXQuaHRtbCBpbiBDb3B5IFJl
c291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBGNDdEMzBFRDFFRDI4
QTZDMDAwNDgyRTEgLyogZ2lmLWFuZC1maWxlLWlucHV0Lmh0bWwgKi87IH07CiAJCUY0NzcyODk5
MUU0QUUzQzEwMDdBQkY2QSAvKiBmdWxsLXBhZ2UtY29udGVudGVkaXRhYmxlLmh0bWwgaW4gQ29w
eSBSZXNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRjQ3NzI4OTgx
RTRBRTNBRDAwN0FCRjZBIC8qIGZ1bGwtcGFnZS1jb250ZW50ZWRpdGFibGUuaHRtbCAqLzsgfTsK
IAkJRjQ4NTZDQTMxRTY0OUVBODAwOUQ3RUU3IC8qIGF0dGFjaG1lbnQtZWxlbWVudC5odG1sIGlu
IENvcHkgUmVzb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEY0ODU2
Q0EyMUU2NDk4QTgwMDlEN0VFNyAvKiBhdHRhY2htZW50LWVsZW1lbnQuaHRtbCAqLzsgfTsKKwkJ
RjRBMzJFQ0IxRjA2NDMzNzAwNDdDNTQ0IC8qIGNvbnRlbnRlZGl0YWJsZS1pbi1pZnJhbWUuaHRt
bCBpbiBDb3B5IFJlc291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBG
NEEzMkVDQTFGMDY0MkY0MDA0N0M1NDQgLyogY29udGVudGVkaXRhYmxlLWluLWlmcmFtZS5odG1s
ICovOyB9OwogCQlGNEI4MjVEODFFRjREQkZCMDA2RTQxN0YgLyogY29tcHJlc3NlZC1maWxlcy56
aXAgaW4gQ29weSBSZXNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0g
RjRCODI1RDYxRUY0REJENDAwNkU0MTdGIC8qIGNvbXByZXNzZWQtZmlsZXMuemlwICovOyB9Owog
CQlGNEJGQTY4RTFFNEFEMDgwMDAxNTQyOTggLyogRHJhZ0FuZERyb3BQYXN0ZWJvYXJkVGVzdHMu
bW0gaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBGNEJGQTY4
QzFFNEFEMDgwMDAxNTQyOTggLyogRHJhZ0FuZERyb3BQYXN0ZWJvYXJkVGVzdHMubW0gKi87IH07
CiAJCUY0QzJBQjIyMURENkQ5NUUwMEUwNkQ1QiAvKiBlbm9ybW91cy12aWRlby13aXRoLXNvdW5k
Lmh0bWwgaW4gQ29weSBSZXNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gRjRDMkFCMjExREQ2RDk0MTAwRTA2RDVCIC8qIGVub3Jtb3VzLXZpZGVvLXdpdGgtc291bmQu
aHRtbCAqLzsgfTsKQEAgLTcyOSw2ICs3MzAsNyBAQAogCQkJZHN0UGF0aCA9IFRlc3RXZWJLaXRB
UEkucmVzb3VyY2VzOwogCQkJZHN0U3ViZm9sZGVyU3BlYyA9IDc7CiAJCQlmaWxlcyA9ICgKKwkJ
CQlGNEEzMkVDQjFGMDY0MzM3MDA0N0M1NDQgLyogY29udGVudGVkaXRhYmxlLWluLWlmcmFtZS5o
dG1sIGluIENvcHkgUmVzb3VyY2VzICovLAogCQkJCUY0NjlGQjI0MUYwMTgwNEIwMDQwMTUzOSAv
KiBjb250ZW50ZWRpdGFibGUtYW5kLXRhcmdldC5odG1sIGluIENvcHkgUmVzb3VyY2VzICovLAog
CQkJCUY0QjgyNUQ4MUVGNERCRkIwMDZFNDE3RiAvKiBjb21wcmVzc2VkLWZpbGVzLnppcCBpbiBD
b3B5IFJlc291cmNlcyAqLywKIAkJCQlGNDFBQjk5RjFFRjQ2OTZCMDA4M0ZBMDggLyogYXV0b2Zv
Y3VzLWNvbnRlbnRlZGl0YWJsZS5odG1sIGluIENvcHkgUmVzb3VyY2VzICovLApAQCAtMTYxOCw2
ICsxNjIwLDcgQEAKIAkJRjQ3RDMwRUIxRUQyODYxOTAwMDQ4MkUxIC8qIGFwcGxlLmdpZiAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IGltYWdlLmdpZjsg
cGF0aCA9IGFwcGxlLmdpZjsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJRjQ3RDMwRUQx
RUQyOEE2QzAwMDQ4MkUxIC8qIGdpZi1hbmQtZmlsZS1pbnB1dC5odG1sICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dC5odG1sOyBwYXRoID0gImdp
Zi1hbmQtZmlsZS1pbnB1dC5odG1sIjsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJRjQ4
NTZDQTIxRTY0OThBODAwOUQ3RUU3IC8qIGF0dGFjaG1lbnQtZWxlbWVudC5odG1sICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBl
ID0gdGV4dC5odG1sOyBwYXRoID0gImF0dGFjaG1lbnQtZWxlbWVudC5odG1sIjsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKKwkJRjRBMzJFQ0ExRjA2NDJGNDAwNDdDNTQ0IC8qIGNvbnRlbnRl
ZGl0YWJsZS1pbi1pZnJhbWUuaHRtbCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0
S25vd25GaWxlVHlwZSA9IHRleHQuaHRtbDsgcGF0aCA9ICJjb250ZW50ZWRpdGFibGUtaW4taWZy
YW1lLmh0bWwiOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlGNEI4MjVENjFFRjREQkQ0
MDA2RTQxN0YgLyogY29tcHJlc3NlZC1maWxlcy56aXAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBhcmNoaXZlLnppcDsgcGF0aCA9ICJjb21wcmVzc2Vk
LWZpbGVzLnppcCI7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUY0QkZBNjhDMUU0QUQw
ODAwMDE1NDI5OCAvKiBEcmFnQW5kRHJvcFBhc3RlYm9hcmRUZXN0cy5tbSAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNv
dXJjZWNvZGUuY3BwLm9iamNwcDsgcGF0aCA9IERyYWdBbmREcm9wUGFzdGVib2FyZFRlc3RzLm1t
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlGNEMyQUIyMTFERDZEOTQxMDBFMDZENUIg
LyogZW5vcm1vdXMtdmlkZW8td2l0aC1zb3VuZC5odG1sICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dC5odG1sOyBw
YXRoID0gImVub3Jtb3VzLXZpZGVvLXdpdGgtc291bmQuaHRtbCI7IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07CkBAIC0yMDE2LDYgKzIwMTksNyBAQAogCQkJCUY0MUFCOTk3MUVGNDY5MkMwMDgz
RkEwOCAvKiBiYWNrZ3JvdW5kLWltYWdlLWxpbmstYW5kLWlucHV0Lmh0bWwgKi8sCiAJCQkJRjQ2
OUZCMjMxRjAxODAzNTAwNDAxNTM5IC8qIGNvbnRlbnRlZGl0YWJsZS1hbmQtdGFyZ2V0Lmh0bWwg
Ki8sCiAJCQkJRjQxQUI5OUMxRUY0NjkyQzAwODNGQTA4IC8qIGNvbnRlbnRlZGl0YWJsZS1hbmQt
dGV4dGFyZWEuaHRtbCAqLywKKwkJCQlGNEEzMkVDQTFGMDY0MkY0MDA0N0M1NDQgLyogY29udGVu
dGVkaXRhYmxlLWluLWlmcmFtZS5odG1sICovLAogCQkJCUY0MUFCOTlFMUVGNDY5MkMwMDgzRkEw
OCAvKiBkaXYtYW5kLWxhcmdlLWltYWdlLmh0bWwgKi8sCiAJCQkJRjQxQUI5OUIxRUY0NjkyQzAw
ODNGQTA4IC8qIGZpbGUtdXBsb2FkaW5nLmh0bWwgKi8sCiAJCQkJRjQxQUI5OTkxRUY0NjkyQzAw
ODNGQTA4IC8qIGltYWdlLWFuZC1jb250ZW50ZWRpdGFibGUuaHRtbCAqLywKZGlmZiAtLWdpdCBh
L1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0MkNvY29hL2NvbnRlbnRlZGl0YWJsZS1p
bi1pZnJhbWUuaHRtbCBiL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0MkNvY29hL2Nv
bnRlbnRlZGl0YWJsZS1pbi1pZnJhbWUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xZWI3ODVhZmRlNmZiZWJi
NDYyMmJkYjMzYzM0N2E4OGZkNDJlMTkyCi0tLSAvZGV2L251bGwKKysrIGIvVG9vbHMvVGVzdFdl
YktpdEFQSS9UZXN0cy9XZWJLaXQyQ29jb2EvY29udGVudGVkaXRhYmxlLWluLWlmcmFtZS5odG1s
CkBAIC0wLDAgKzEsMjIgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8bWV0YSBuYW1lPSJ2
aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoIj4KKzxzdHlsZT4KK2JvZHkgewor
ICAgIHdpZHRoOiAxMDAlOworICAgIGhlaWdodDogMTAwJTsKKyAgICBtYXJnaW46IDA7CisgICAg
cG9zaXRpb246IGFic29sdXRlOworfQorI2NvbnRhaW5lciB7CisgICAgd2lkdGg6IGNhbGMoMTAw
JSAtIDEwMHB4KTsKKyAgICBoZWlnaHQ6IGNhbGMoMTAwJSAtIDEwMHB4KTsKKyAgICBtYXJnaW46
IDUwcHg7Cit9CisjZWRpdG9yIHsKKyAgICB3aWR0aDogMTAwJTsKKyAgICBoZWlnaHQ6IDEwMCU7
Cit9Cis8L3N0eWxlPgorPGRpdiBpZD0iY29udGFpbmVyIj48aWZyYW1lIGlkPSJlZGl0b3IiIHNy
Yz0iZGF0YTp0ZXh0L2h0bWwsPGJvZHklMjBjb250ZW50ZWRpdGFibGUlMjBzdHlsZT0nd2lkdGg6
JTIwMTAwJTslMjBoZWlnaHQ6JTIwMTAwJTslMjBtYXJnaW46JTIwMDsnPiI+PC9pZnJhbWU+PC9k
aXY+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL2lvcy9E
YXRhSW50ZXJhY3Rpb25UZXN0cy5tbSBiL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvaW9zL0Rh
dGFJbnRlcmFjdGlvblRlc3RzLm1tCmluZGV4IDc2ZmRiNmIzODFmY2RkNDA0ZWE3ODA5OGY1MjRl
NWZkNDlkMTA3MzIuLmFhYWI5NjgxNDIxNGEzZTMxMWY3ZWQwZmFlZmYxOThiN2VjYmIzYmUgMTAw
NjQ0Ci0tLSBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvaW9zL0RhdGFJbnRlcmFjdGlvblRl
c3RzLm1tCisrKyBiL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvaW9zL0RhdGFJbnRlcmFjdGlv
blRlc3RzLm1tCkBAIC0xMzIsNiArMTMyLDE0IEBAIHN0YXRpYyB2b2lkIGNoZWNrU3RyaW5nQXJy
YXlzQXJlRXF1YWwoTlNBcnJheTxOU1N0cmluZyAqPiAqZXhwZWN0ZWQsIE5TQXJyYXk8TlNTCiAg
ICAgfQogfQogCitzdGF0aWMgdm9pZCBjaGVja0RyYWdDYXJldFJlY3RJc0NvbnRhaW5lZEluUmVj
dChDR1JlY3QgY2FyZXRSZWN0LCBDR1JlY3QgY29udGFpbmVyUmVjdCkKK3sKKyAgICBCT09MIGNv
bnRhaW5lZCA9IENHUmVjdENvbnRhaW5zUmVjdChjb250YWluZXJSZWN0LCBjYXJldFJlY3QpOwor
ICAgIEVYUEVDVF9UUlVFKGNvbnRhaW5lZCk7CisgICAgaWYgKCFjb250YWluZWQpCisgICAgICAg
IE5TTG9nKEAiRXhwZWN0ZWQgY2FyZXQgcmVjdDogJUAgdG8gZml0IHdpdGhpbiBjb250YWluZXIg
cmVjdDogJUAiLCBOU1N0cmluZ0Zyb21DR1JlY3QoY2FyZXRSZWN0KSwgTlNTdHJpbmdGcm9tQ0dS
ZWN0KGNvbnRhaW5lclJlY3QpKTsKK30KKwogbmFtZXNwYWNlIFRlc3RXZWJLaXRBUEkgewogCiBU
RVNUKERhdGFJbnRlcmFjdGlvblRlc3RzLCBJbWFnZVRvQ29udGVudEVkaXRhYmxlKQpAQCAtNDM0
LDYgKzQ0MiwyNSBAQCBURVNUKERhdGFJbnRlcmFjdGlvblRlc3RzLCBFbnRlckFuZExlYXZlRXZl
bnRzKQogICAgIGNoZWNrU2VsZWN0aW9uUmVjdHNXaXRoTG9nZ2luZyhAWyBdLCBbZGF0YUludGVy
YWN0aW9uU2ltdWxhdG9yIGZpbmFsU2VsZWN0aW9uUmVjdHNdKTsKIH0KIAorVEVTVChEYXRhSW50
ZXJhY3Rpb25UZXN0cywgRXh0ZXJuYWxTb3VyY2VQbGFpblRleHRUb0lGcmFtZSkKK3sKKyAgICBh
dXRvIHdlYlZpZXcgPSBhZG9wdE5TKFtbVGVzdFdLV2ViVmlldyBhbGxvY10gaW5pdFdpdGhGcmFt
ZTpDR1JlY3RNYWtlKDAsIDAsIDMyMCwgNTAwKV0pOworICAgIFt3ZWJWaWV3IHN5bmNocm9ub3Vz
bHlMb2FkVGVzdFBhZ2VOYW1lZDpAImNvbnRlbnRlZGl0YWJsZS1pbi1pZnJhbWUiXTsKKworICAg
IGF1dG8gaXRlbVByb3ZpZGVyID0gYWRvcHROUyhbW1VJSXRlbVByb3ZpZGVyIGFsbG9jXSBpbml0
XSk7CisgICAgW2l0ZW1Qcm92aWRlciByZWdpc3Rlck9iamVjdDpAIkhlbGxvIHdvcmxkIiB2aXNp
YmlsaXR5OlVJSXRlbVByb3ZpZGVyUmVwcmVzZW50YXRpb25PcHRpb25zVmlzaWJpbGl0eUFsbF07
CisKKyAgICBhdXRvIHNpbXVsYXRvciA9IGFkb3B0TlMoW1tEYXRhSW50ZXJhY3Rpb25TaW11bGF0
b3IgYWxsb2NdIGluaXRXaXRoV2ViVmlldzp3ZWJWaWV3LmdldCgpXSk7CisgICAgW3NpbXVsYXRv
ciBzZXRFeHRlcm5hbEl0ZW1Qcm92aWRlcnM6QFsgaXRlbVByb3ZpZGVyLmdldCgpIF1dOworICAg
IFtzaW11bGF0b3IgcnVuRnJvbTpDR1BvaW50TWFrZSgwLCAwKSB0bzpDR1BvaW50TWFrZSgxNjAs
IDI1MCldOworCisgICAgYXV0byBjb250YWluZXJMZWZ0ID0gW3dlYlZpZXcgc3RyaW5nQnlFdmFs
dWF0aW5nSmF2YVNjcmlwdDpAImNvbnRhaW5lci5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKS5sZWZ0
Il0uZmxvYXRWYWx1ZTsKKyAgICBhdXRvIGNvbnRhaW5lclRvcCA9IFt3ZWJWaWV3IHN0cmluZ0J5
RXZhbHVhdGluZ0phdmFTY3JpcHQ6QCJjb250YWluZXIuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCku
dG9wIl0uZmxvYXRWYWx1ZTsKKyAgICBhdXRvIGNvbnRhaW5lcldpZHRoID0gW3dlYlZpZXcgc3Ry
aW5nQnlFdmFsdWF0aW5nSmF2YVNjcmlwdDpAImNvbnRhaW5lci5nZXRCb3VuZGluZ0NsaWVudFJl
Y3QoKS53aWR0aCJdLmZsb2F0VmFsdWU7CisgICAgYXV0byBjb250YWluZXJIZWlnaHQgPSBbd2Vi
VmlldyBzdHJpbmdCeUV2YWx1YXRpbmdKYXZhU2NyaXB0OkAiY29udGFpbmVyLmdldEJvdW5kaW5n
Q2xpZW50UmVjdCgpLmhlaWdodCJdLmZsb2F0VmFsdWU7CisgICAgY2hlY2tEcmFnQ2FyZXRSZWN0
SXNDb250YWluZWRJblJlY3QoW3NpbXVsYXRvciBsYXN0S25vd25EcmFnQ2FyZXRSZWN0XSwgQ0dS
ZWN0TWFrZShjb250YWluZXJMZWZ0LCBjb250YWluZXJUb3AsIGNvbnRhaW5lcldpZHRoLCBjb250
YWluZXJIZWlnaHQpKTsKK30KKwogVEVTVChEYXRhSW50ZXJhY3Rpb25UZXN0cywgRXh0ZXJuYWxT
b3VyY2VKU09OVG9GaWxlSW5wdXQpCiB7CiAgICAgUmV0YWluUHRyPFRlc3RXS1dlYlZpZXc+IHdl
YlZpZXcgPSBhZG9wdE5TKFtbVGVzdFdLV2ViVmlldyBhbGxvY10gaW5pdFdpdGhGcmFtZTpDR1Jl
Y3RNYWtlKDAsIDAsIDMyMCwgNTAwKV0pOwpkaWZmIC0tZ2l0IGEvVG9vbHMvVGVzdFdlYktpdEFQ
SS9pb3MvRGF0YUludGVyYWN0aW9uU2ltdWxhdG9yLmggYi9Ub29scy9UZXN0V2ViS2l0QVBJL2lv
cy9EYXRhSW50ZXJhY3Rpb25TaW11bGF0b3IuaAppbmRleCAxODA4YWEwMGZlNTc4OTYyOThkZjAy
YTQ1MGU5MTE1MjUyYzU5OWI4Li5iYTAxMTE3YTU4NTBlMTNhZDNmMDQ5NTBmYTljMDJjMmQ4Zjgy
NjBlIDEwMDY0NAotLS0gYS9Ub29scy9UZXN0V2ViS2l0QVBJL2lvcy9EYXRhSW50ZXJhY3Rpb25T
aW11bGF0b3IuaAorKysgYi9Ub29scy9UZXN0V2ViS2l0QVBJL2lvcy9EYXRhSW50ZXJhY3Rpb25T
aW11bGF0b3IuaApAQCAtNjAsNiArNjAsNyBAQCB0eXBlZGVmIE5TX0VOVU0oTlNJbnRlZ2VyLCBE
YXRhSW50ZXJhY3Rpb25QaGFzZSkgewogICAgIFJldGFpblB0cjxOU0FycmF5ICo+IF9maW5hbFNl
bGVjdGlvblJlY3RzOwogICAgIENHUG9pbnQgX3N0YXJ0TG9jYXRpb247CiAgICAgQ0dQb2ludCBf
ZW5kTG9jYXRpb247CisgICAgQ0dSZWN0IF9sYXN0S25vd25EcmFnQ2FyZXRSZWN0OwogCiAgICAg
Ym9vbCBfaXNEb25lV2FpdGluZ0ZvcklucHV0U2Vzc2lvbjsKICAgICBCT09MIF9zaG91bGRQZXJm
b3JtT3BlcmF0aW9uOwpAQCAtODUsNiArODYsNyBAQCB0eXBlZGVmIE5TX0VOVU0oTlNJbnRlZ2Vy
LCBEYXRhSW50ZXJhY3Rpb25QaGFzZSkgewogQHByb3BlcnR5IChub25hdG9taWMsIHJlYWRvbmx5
KSBOU0FycmF5ICpvYnNlcnZlZEV2ZW50TmFtZXM7CiBAcHJvcGVydHkgKG5vbmF0b21pYywgcmVh
ZG9ubHkpIE5TQXJyYXkgKmZpbmFsU2VsZWN0aW9uUmVjdHM7CiBAcHJvcGVydHkgKG5vbmF0b21p
YywgcmVhZG9ubHkpIERhdGFJbnRlcmFjdGlvblBoYXNlIHBoYXNlOworQHByb3BlcnR5IChub25h
dG9taWMsIHJlYWRvbmx5KSBDR1JlY3QgbGFzdEtub3duRHJhZ0NhcmV0UmVjdDsKIAogQGVuZAog
CmRpZmYgLS1naXQgYS9Ub29scy9UZXN0V2ViS2l0QVBJL2lvcy9EYXRhSW50ZXJhY3Rpb25TaW11
bGF0b3IubW0gYi9Ub29scy9UZXN0V2ViS2l0QVBJL2lvcy9EYXRhSW50ZXJhY3Rpb25TaW11bGF0
b3IubW0KaW5kZXggZDcwNDBjNmQzNzQwODRhMmQyNzI1NjVjZjViYjZlNmM2OWYwYTg4Mi4uMDFh
NDUxNDgwYTE3NTA5NDk3MDRmNWZhMzEzZGQxNDgxNGNkOGJlOCAxMDA2NDQKLS0tIGEvVG9vbHMv
VGVzdFdlYktpdEFQSS9pb3MvRGF0YUludGVyYWN0aW9uU2ltdWxhdG9yLm1tCisrKyBiL1Rvb2xz
L1Rlc3RXZWJLaXRBUEkvaW9zL0RhdGFJbnRlcmFjdGlvblNpbXVsYXRvci5tbQpAQCAtMjkxLDYg
KzI5MSw3IEBAIC0gKHZvaWQpX3Jlc2V0U2ltdWxhdGVkU3RhdGUKICAgICBfZGF0YUludGVyYWN0
aW9uU2Vzc2lvbiA9IG5pbDsKICAgICBfZGF0YU9wZXJhdGlvblNlc3Npb24gPSBuaWw7CiAgICAg
X3Nob3VsZFBlcmZvcm1PcGVyYXRpb24gPSBOTzsKKyAgICBfbGFzdEtub3duRHJhZ0NhcmV0UmVj
dCA9IENHUmVjdFplcm87CiB9CiAKIC0gKE5TQXJyYXkgKilvYnNlcnZlZEV2ZW50TmFtZXMKQEAg
LTM2MCw2ICszNjEsNyBAQCAtIChOU0FycmF5ICopZmluYWxTZWxlY3Rpb25SZWN0cwogCiAtICh2
b2lkKV9jb25jbHVkZURhdGFJbnRlcmFjdGlvbkFuZFBlcmZvcm1PcGVyYXRpb25JZk5lY2Vzc2Fy
eQogeworICAgIF9sYXN0S25vd25EcmFnQ2FyZXRSZWN0ID0gW193ZWJWaWV3IF9kcmFnQ2FyZXRS
ZWN0XTsKICAgICBpZiAoX3Nob3VsZFBlcmZvcm1PcGVyYXRpb24pIHsKICAgICAgICAgW193ZWJW
aWV3IF9zaW11bGF0ZURhdGFJbnRlcmFjdGlvblBlcmZvcm1PcGVyYXRpb246X2RhdGFPcGVyYXRp
b25TZXNzaW9uLmdldCgpXTsKICAgICAgICAgX3BoYXNlID0gRGF0YUludGVyYWN0aW9uUGVyZm9y
bWluZzsKQEAgLTM3Niw2ICszNzgsNyBAQCAtICh2b2lkKV9jb25jbHVkZURhdGFJbnRlcmFjdGlv
bkFuZFBlcmZvcm1PcGVyYXRpb25JZk5lY2Vzc2FyeQogCiAtICh2b2lkKV9hZHZhbmNlUHJvZ3Jl
c3MKIHsKKyAgICBfbGFzdEtub3duRHJhZ0NhcmV0UmVjdCA9IFtfd2ViVmlldyBfZHJhZ0NhcmV0
UmVjdF07CiAgICAgX2N1cnJlbnRQcm9ncmVzcyArPSBwcm9ncmVzc0luY3JlbWVudFN0ZXA7CiAg
ICAgQ0dQb2ludCBsb2NhdGlvbkluV2luZG93ID0gc2VsZi5fY3VycmVudExvY2F0aW9uOwogICAg
IFtfZGF0YUludGVyYWN0aW9uU2Vzc2lvbiBzZXRNb2NrTG9jYXRpb25JbldpbmRvdzpsb2NhdGlv
bkluV2luZG93XTsKQEAgLTQ2OCw2ICs0NzEsMTEgQEAgLSAoRGF0YUludGVyYWN0aW9uUGhhc2Up
cGhhc2UKICAgICByZXR1cm4gX3BoYXNlOwogfQogCistIChDR1JlY3QpbGFzdEtub3duRHJhZ0Nh
cmV0UmVjdAoreworICAgIHJldHVybiBfbGFzdEtub3duRHJhZ0NhcmV0UmVjdDsKK30KKwogLSAo
dm9pZCl3YWl0Rm9ySW5wdXRTZXNzaW9uCiB7CiAgICAgX2lzRG9uZVdhaXRpbmdGb3JJbnB1dFNl
c3Npb24gPSBmYWxzZTsK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>314254</attachid>
            <date>2017-06-30 02:21:06 -0700</date>
            <delta_ts>2017-06-30 09:08:24 -0700</delta_ts>
            <desc>Rebase on master</desc>
            <filename>bug-174017-20170630022105.patch</filename>
            <type>text/plain</type>
            <size>20550</size>
            <attacher name="Wenson Hsieh">wenson_hsieh</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjE4OTkyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggM2I2ZDVhMGNlNTEyMDQ5
MmU1YTA5Mjc4OGY0ZjhkNDg3ZDAzODU4OS4uOWM0Mjg3NzZhMTliNzA2NDNhMzBjOTk0NjkwYzI0
YTUzYWVmYTJiOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI1IEBACisyMDE3LTA2LTMwICBXZW5z
b24gSHNpZWggIDx3ZW5zb25faHNpZWhAYXBwbGUuY29tPgorCisgICAgICAgIFtpT1MgRG5EXSBE
cmFnIGNhcmV0IHJlY3QgaXMgaW5jb3JyZWN0bHkgY29tcHV0ZWQgd2hlbiBkcm9wcGluZyBpbiBl
ZGl0YWJsZSBjb250ZW50IGluIGlmcmFtZXMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTE3NDAxNworICAgICAgICA8cmRhcjovL3Byb2JsZW0vMzI5NTk3
ODI+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgV2Un
cmUgY3VycmVubHkgY29tcHV0aW5nIHRoZSBkcmFnIGNhcmV0IHJlY3QgKGZvciB0aGUgcHVycG9z
ZXMgb2YgcHJlc2VudGF0aW9uIGF0IHRoZSBjbGllbnQgbGF5ZXJzKQorICAgICAgICBpbmNvcnJl
Y3RseSwgaW4gcGVyLWZyYW1lIGRvY3VtZW50IGNvb3JkaW5hdGVzIGluc3RlYWQgb2Ygcm9vdCB2
aWV3IGNvb3JkaW5hdGVzIGluIHRoZSBtYWluZnJhbWUuIFRoaXMgbWVhbnMKKyAgICAgICAgZHJh
ZyBjYXJldCBnZW9tZXRyeSBmcm9tIGVtYmVkZGVkIGlmcmFtZXMgaW4gdGhlIGRvY3VtZW50IHdp
bGwgc2hvdyB1cCBpbiB0aGUgY29udGVudCB2aWV3IHdpdGggYSByZWN0IGluIHRoZQorICAgICAg
ICBjb29yZGluYXRlIHNwYWNlIG9mIHRoZSBpZnJhbWUuCisKKyAgICAgICAgVG8gZml4IHRoaXMs
IHdlIG5lZWQgdG8gY29udmVydCB0aGUgZHJhZyBjYXJldCByZWN0IHRvIHJvb3QgdmlldyBjb29y
ZGluYXRlcy4gVGhpcyBwYXRjaCB0ZWFjaGVzCisgICAgICAgIERyYWdDYXJldENvbnRyb2xsZXIg
dG8gZG8gdGhpcywgYW5kIHR3ZWFrcyBXZWJLaXQvV2ViS2l0MiB0byB1c2UgY2FyZXRSZWN0SW5S
b290Vmlld0Nvb3JkaW5hdGVzLgorCisgICAgICAgIFRlc3Q6IERhdGFJbnRlcmFjdGlvblRlc3Rz
LkV4dGVybmFsU291cmNlUGxhaW5UZXh0VG9JRnJhbWUKKworICAgICAgICAqIGVkaXRpbmcvRnJh
bWVTZWxlY3Rpb24uY3BwOgorICAgICAgICAoV2ViQ29yZTo6RHJhZ0NhcmV0Q29udHJvbGxlcjo6
Y2FyZXRSZWN0SW5Sb290Vmlld0Nvb3JkaW5hdGVzKToKKyAgICAgICAgKiBlZGl0aW5nL0ZyYW1l
U2VsZWN0aW9uLmg6CisKIDIwMTctMDYtMzAgIEFudG9pbmUgUXVpbnQgIDxncmFvdXRzQGFwcGxl
LmNvbT4KIAogICAgICAgICBUb3AgY29udHJvbHMgYmFycyBzaG91bGQgaW52ZXJ0IHdpdGggcmln
aHQtdG8tbGVmdCB1c2VyIGludGVyZmFjZSBsYXlvdXQgZGlyZWN0aW9uIGxvY2FsZQpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYktpdC9tYWMvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC9tYWMvQ2hh
bmdlTG9nCmluZGV4IDMyNjkwMThmNmZkODU4YTQyZTBkYTEzMjNjYjE5OWU0MGQ0MDY5ZDAuLmEz
YWRjMDMzZDVlNzA5NjE2OGZlODBmYjRlMDQ5MWE0NzdmZDNmZGQgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXQvbWFjL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L21hYy9DaGFuZ2VMb2cK
QEAgLTEsMyArMSwxNiBAQAorMjAxNy0wNi0zMCAgV2Vuc29uIEhzaWVoICA8d2Vuc29uX2hzaWVo
QGFwcGxlLmNvbT4KKworICAgICAgICBbaU9TIERuRF0gRHJhZyBjYXJldCByZWN0IGlzIGluY29y
cmVjdGx5IGNvbXB1dGVkIHdoZW4gZHJvcHBpbmcgaW4gZWRpdGFibGUgY29udGVudCBpbiBpZnJh
bWVzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNzQw
MTcKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzMyOTU5NzgyPgorCisgICAgICAgIFJldmlld2Vk
IGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFVzZSByb290IHZpZXcgY29vcmRpbmF0ZXMg
d2hlbiBjb21wdXRpbmcgdGhlIGRyYWcgY2FyZXQgcmVjdC4KKworICAgICAgICAqIFdlYlZpZXcv
V2ViVmlldy5tbToKKyAgICAgICAgKC1bV2ViVmlldyBfZGF0YUludGVyYWN0aW9uQ2FyZXRSZWN0
XSk6CisKIDIwMTctMDYtMjggIFNpbW9uIEZyYXNlciAgPHNpbW9uLmZyYXNlckBhcHBsZS5jb20+
CiAKICAgICAgICAgTWFyayB0aGUgR3JhcGhpY3NDb250ZXh0IGFzIGFjY2VsZXJhdGVkIHdoZW4g
dGhlIFdlYkhUTUxWaWV3J3MgbGF5ZXIgaXMgZHJhd2luZyBhc3luY2hyb25vdXNseQpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9n
CmluZGV4IGQyOGE3OWRmMzllMGI3ZWIzZjRjMDk0NzMzY2Q3YTBjNGU4NGE1YmUuLjQ1ZjZiMzdm
NTlmZTE3Y2NlYmZkZGY3MDQxNTA3OTAwMTM3ODZlZWEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJL
aXQyL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKQEAgLTEsMyArMSwy
MiBAQAorMjAxNy0wNi0zMCAgV2Vuc29uIEhzaWVoICA8d2Vuc29uX2hzaWVoQGFwcGxlLmNvbT4K
KworICAgICAgICBbaU9TIERuRF0gRHJhZyBjYXJldCByZWN0IGlzIGluY29ycmVjdGx5IGNvbXB1
dGVkIHdoZW4gZHJvcHBpbmcgaW4gZWRpdGFibGUgY29udGVudCBpbiBpZnJhbWVzCisgICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNzQwMTcKKyAgICAgICAg
PHJkYXI6Ly9wcm9ibGVtLzMyOTU5NzgyPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAo
T09QUyEpLgorCisgICAgICAgIFNlbmQgdGhlIGRyYWcgY2FyZXQgcmVjdCBpbiByb290IHZpZXcg
Y29vcmRpbmF0ZXMgb3ZlciB0byB0aGUgVUkgcHJvY2Vzcy4KKworICAgICAgICAqIFVJUHJvY2Vz
cy9BUEkvQ29jb2EvV0tXZWJWaWV3Lm1tOgorICAgICAgICAoLVtXS1dlYlZpZXcgX2RyYWdDYXJl
dFJlY3RdKToKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL0NvY29hL1dLV2ViVmlld1ByaXZhdGUu
aDoKKworICAgICAgICBBZGQgYmFzaWMgdGVzdCBwbHVtYmluZyB0byBmZXRjaCB0aGUgY3VycmVu
dCBkcmFnIGNhcmV0IHJlY3QuCisKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFn
ZS5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYlBhZ2U6OnBlcmZvcm1EcmFnQ29udHJvbGxlckFj
dGlvbik6CisKIDIwMTctMDYtMjkgIFJ5b3N1a2UgTml3YSAgPHJuaXdhQHdlYmtpdC5vcmc+CiAK
ICAgICAgICAgQXNzZXJ0IHRoYXQgY2FsbGJhY2sgSUQgaXMgbm90IDAgb3IgLTEgZHVyaW5nIGVu
Y29kaW5nIGFuZCBkZWNvZGluZwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZWRpdGluZy9G
cmFtZVNlbGVjdGlvbi5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5nL0ZyYW1lU2VsZWN0aW9u
LmNwcAppbmRleCBjNzc3YjkyZDg5ODNkMGQ4OWJlN2ZkNjcxMzk1OWJkOTViN2VlMTRjLi4yZTA2
ZTE3YmU0NDIyODUzZDFmNjIxNjg5MWJiNjNiN2U5MmJmYjA0IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9lZGl0aW5nL0ZyYW1lU2VsZWN0aW9uLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9l
ZGl0aW5nL0ZyYW1lU2VsZWN0aW9uLmNwcApAQCAtMTAxLDYgKzEwMSwxOSBAQCBib29sIERyYWdD
YXJldENvbnRyb2xsZXI6OmlzQ29udGVudFJpY2hseUVkaXRhYmxlKCkgY29uc3QKICAgICByZXR1
cm4gaXNSaWNobHlFZGl0YWJsZVBvc2l0aW9uKG1fcG9zaXRpb24uZGVlcEVxdWl2YWxlbnQoKSk7
CiB9CiAKK0ludFJlY3QgRHJhZ0NhcmV0Q29udHJvbGxlcjo6Y2FyZXRSZWN0SW5Sb290Vmlld0Nv
b3JkaW5hdGVzKCkgY29uc3QKK3sKKyAgICBpZiAoIWhhc0NhcmV0KCkpCisgICAgICAgIHJldHVy
biB7IH07CisKKyAgICBpZiAoYXV0byogZG9jdW1lbnQgPSBtX3Bvc2l0aW9uLmRlZXBFcXVpdmFs
ZW50KCkuZG9jdW1lbnQoKSkgeworICAgICAgICBpZiAoYXV0byogZG9jdW1lbnRWaWV3ID0gZG9j
dW1lbnQtPnZpZXcoKSkKKyAgICAgICAgICAgIHJldHVybiBkb2N1bWVudFZpZXctPmNvbnRlbnRz
VG9Sb290VmlldyhtX3Bvc2l0aW9uLmFic29sdXRlQ2FyZXRCb3VuZHMoKSk7CisgICAgfQorCisg
ICAgcmV0dXJuIHsgfTsKK30KKwogc3RhdGljIGlubGluZSBib29sIHNob3VsZEFsd2F5c1VzZURp
cmVjdGlvbmFsU2VsZWN0aW9uKEZyYW1lKiBmcmFtZSkKIHsKICAgICByZXR1cm4gIWZyYW1lIHx8
IGZyYW1lLT5lZGl0b3IoKS5iZWhhdmlvcigpLnNob3VsZENvbnNpZGVyU2VsZWN0aW9uQXNEaXJl
Y3Rpb25hbCgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZWRpdGluZy9GcmFtZVNlbGVj
dGlvbi5oIGIvU291cmNlL1dlYkNvcmUvZWRpdGluZy9GcmFtZVNlbGVjdGlvbi5oCmluZGV4IDY4
ZTVkYzFiMmU1N2Q1ZDU0Y2Y5YmM4ZGVhZTM5YTc3NDUxNDBjMGIuLjRiNTAwZjgzMDE0ODBlZThk
ZjM4NjlkZGQ2ODNjM2I5OGQyMTA1NDkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2VkaXRp
bmcvRnJhbWVTZWxlY3Rpb24uaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5nL0ZyYW1lU2Vs
ZWN0aW9uLmgKQEAgLTEwMyw2ICsxMDMsNyBAQCBwdWJsaWM6CiAgICAgY29uc3QgVmlzaWJsZVBv
c2l0aW9uJiBjYXJldFBvc2l0aW9uKCkgeyByZXR1cm4gbV9wb3NpdGlvbjsgfQogICAgIHZvaWQg
c2V0Q2FyZXRQb3NpdGlvbihjb25zdCBWaXNpYmxlUG9zaXRpb24mKTsKICAgICB2b2lkIGNsZWFy
KCkgeyBzZXRDYXJldFBvc2l0aW9uKFZpc2libGVQb3NpdGlvbigpKTsgfQorICAgIFdFQkNPUkVf
RVhQT1JUIEludFJlY3QgY2FyZXRSZWN0SW5Sb290Vmlld0Nvb3JkaW5hdGVzKCkgY29uc3Q7CiAK
ICAgICB2b2lkIG5vZGVXaWxsQmVSZW1vdmVkKE5vZGUmKTsKIApkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdC9tYWMvV2ViVmlldy9XZWJWaWV3Lm1tIGIvU291cmNlL1dlYktpdC9tYWMvV2ViVmll
dy9XZWJWaWV3Lm1tCmluZGV4IDc4MjZmYjQ3OGVlMzA1NDkxODVlNTc3NGVlYTc1NmMyZTE1MjJl
Y2IuLmFlYTU0ZTQ4NWFmNzYwY2Y3MmI2YThiODQ1NGFiYWJkOTc0YjkwYWEgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJLaXQvbWFjL1dlYlZpZXcvV2ViVmlldy5tbQorKysgYi9Tb3VyY2UvV2ViS2l0
L21hYy9XZWJWaWV3L1dlYlZpZXcubW0KQEAgLTE4NDksNyArMTg0OSw3IEBAIC0gKHZvaWQpX3N0
YXJ0RHJhZzooY29uc3QgRHJhZ0l0ZW0mKWRyYWdJdGVtCiAtIChDR1JlY3QpX2RhdGFJbnRlcmFj
dGlvbkNhcmV0UmVjdAogewogICAgIGlmIChhdXRvKiBwYWdlID0gX3ByaXZhdGUtPnBhZ2UpCi0g
ICAgICAgIHJldHVybiBwYWdlLT5kcmFnQ2FyZXRDb250cm9sbGVyKCkuY2FyZXRQb3NpdGlvbigp
LmFic29sdXRlQ2FyZXRCb3VuZHMoKTsKKyAgICAgICAgcmV0dXJuIHBhZ2UtPmRyYWdDYXJldENv
bnRyb2xsZXIoKS5jYXJldFJlY3RJblJvb3RWaWV3Q29vcmRpbmF0ZXMoKTsKIAogICAgIHJldHVy
biB7IH07CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0NvY29h
L1dLV2ViVmlldy5tbSBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tXZWJW
aWV3Lm1tCmluZGV4IGFmNTA0ZWEzY2FlMGMzYzczYzcxNzdhOWE3YTcwMmExMDY2ZTY0MDQuLmRj
OTNkOGRjYzhhYjlmMzM5NjRhNGJmOGQwOWYwOTY1OWUyYTM1MTUgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tXZWJWaWV3Lm1tCisrKyBiL1NvdXJjZS9X
ZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tXZWJWaWV3Lm1tCkBAIC01NjUwLDYgKzU2NTAs
MTUgQEAgLSAodm9pZClfc2ltdWxhdGVQcmVwYXJlRm9yRGF0YUludGVyYWN0aW9uU2Vzc2lvbjoo
aWQpc2Vzc2lvbiBjb21wbGV0aW9uOihkaXNwYXQKICNlbmRpZgogfQogCistIChDR1JlY3QpX2Ry
YWdDYXJldFJlY3QKK3sKKyNpZiBFTkFCTEUoRFJBR19TVVBQT1JUKQorICAgIHJldHVybiBfcGFn
ZS0+Y3VycmVudERyYWdDYXJldFJlY3QoKTsKKyNlbHNlCisgICAgcmV0dXJuIENHUmVjdFplcm87
CisjZW5kaWYKK30KKwogLSAodm9pZClfc2ltdWxhdGVMb25nUHJlc3NBY3Rpb25BdExvY2F0aW9u
OihDR1BvaW50KWxvY2F0aW9uCiB7CiAgICAgW19jb250ZW50VmlldyBfc2ltdWxhdGVMb25nUHJl
c3NBY3Rpb25BdExvY2F0aW9uOmxvY2F0aW9uXTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQy
L1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tXZWJWaWV3UHJpdmF0ZS5oIGIvU291cmNlL1dlYktpdDIv
VUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dlYlZpZXdQcml2YXRlLmgKaW5kZXggYTJiYjIzY2ZiN2Y1
MmEzNmJhYTQzZmRiMTZlOGVkNjI4Njg5NjZhMC4uZGJlMTJhMDFlYjIzOTQ3ZTRhNDllZWUzYTE4
YWZkOTA3NmI2Nzk4YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9D
b2NvYS9XS1dlYlZpZXdQcml2YXRlLmgKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQ
SS9Db2NvYS9XS1dlYlZpZXdQcml2YXRlLmgKQEAgLTM1OCw2ICszNTgsOCBAQCB0eXBlZGVmIE5T
X0VOVU0oTlNJbnRlZ2VyLCBfV0tJbW1lZGlhdGVBY3Rpb25UeXBlKSB7CiAtICh2b2lkKV9zaW11
bGF0ZVByZXBhcmVGb3JEYXRhSW50ZXJhY3Rpb25TZXNzaW9uOihpZClzZXNzaW9uIGNvbXBsZXRp
b246KGRpc3BhdGNoX2Jsb2NrX3QpY29tcGxldGlvbiBXS19BUElfQVZBSUxBQkxFKGlvcyhXS19J
T1NfVEJBKSk7CiAtICh2b2lkKV9zaW11bGF0ZUxvbmdQcmVzc0FjdGlvbkF0TG9jYXRpb246KENH
UG9pbnQpbG9jYXRpb247CiAKK0Bwcm9wZXJ0eSAobm9uYXRvbWljLCByZWFkb25seSkgQ0dSZWN0
IF9kcmFnQ2FyZXRSZWN0IFdLX0FQSV9BVkFJTEFCTEUoaW9zKFdLX0lPU19UQkEpKTsKKwogLSAo
X1dLRHJhZ2dhYmxlRWxlbWVudEluZm8gKilfZHJhZ2dhYmxlRWxlbWVudEF0UG9zaXRpb246KENH
UG9pbnQpcG9zaXRpb24gV0tfQVBJX0FWQUlMQUJMRShtYWNvc3goV0tfTUFDX1RCQSksIGlvcyhX
S19JT1NfVEJBKSk7CiAtICh2b2lkKV9yZXF1ZXN0RHJhZ2dhYmxlRWxlbWVudEF0UG9zaXRpb246
KENHUG9pbnQpcG9zaXRpb24gY29tcGxldGlvbkJsb2NrOih2b2lkICheKShfV0tEcmFnZ2FibGVF
bGVtZW50SW5mbyAqKSlibG9jayBXS19BUElfQVZBSUxBQkxFKG1hY29zeChXS19NQUNfVEJBKSwg
aW9zKFdLX0lPU19UQkEpKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vz
cy9XZWJQYWdlL1dlYlBhZ2UuY3BwIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdl
L1dlYlBhZ2UuY3BwCmluZGV4IDY5NjIwODE1MTFmMGE0NTViZTRiNDEzYmFlMmIwYzg3MWI4YjZj
NDIuLmZjY2U3ZGFlMzdlZjIyNzExMTNmMTgwM2NiMjc2YzI0NTVjNzY3MWEgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmNwcAorKysgYi9Tb3Vy
Y2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHAKQEAgLTM1OTAsMTMgKzM1
OTAsMTMgQEAgdm9pZCBXZWJQYWdlOjpwZXJmb3JtRHJhZ0NvbnRyb2xsZXJBY3Rpb24odWludDY0
X3QgYWN0aW9uLCBjb25zdCBXZWJDb3JlOjpEcmFnRGEKICAgICBzd2l0Y2ggKGFjdGlvbikgewog
ICAgIGNhc2UgRHJhZ0NvbnRyb2xsZXJBY3Rpb25FbnRlcmVkOiB7CiAgICAgICAgIERyYWdPcGVy
YXRpb24gcmVzb2x2ZWREcmFnT3BlcmF0aW9uID0gbV9wYWdlLT5kcmFnQ29udHJvbGxlcigpLmRy
YWdFbnRlcmVkKGRyYWdEYXRhKTsKLSAgICAgICAgc2VuZChNZXNzYWdlczo6V2ViUGFnZVByb3h5
OjpEaWRQZXJmb3JtRHJhZ0NvbnRyb2xsZXJBY3Rpb24ocmVzb2x2ZWREcmFnT3BlcmF0aW9uLCBt
X3BhZ2UtPmRyYWdDb250cm9sbGVyKCkubW91c2VJc092ZXJGaWxlSW5wdXQoKSwgbV9wYWdlLT5k
cmFnQ29udHJvbGxlcigpLm51bWJlck9mSXRlbXNUb0JlQWNjZXB0ZWQoKSwgbV9wYWdlLT5kcmFn
Q2FyZXRDb250cm9sbGVyKCkuY2FyZXRQb3NpdGlvbigpLmFic29sdXRlQ2FyZXRCb3VuZHMoKSkp
OworICAgICAgICBzZW5kKE1lc3NhZ2VzOjpXZWJQYWdlUHJveHk6OkRpZFBlcmZvcm1EcmFnQ29u
dHJvbGxlckFjdGlvbihyZXNvbHZlZERyYWdPcGVyYXRpb24sIG1fcGFnZS0+ZHJhZ0NvbnRyb2xs
ZXIoKS5tb3VzZUlzT3ZlckZpbGVJbnB1dCgpLCBtX3BhZ2UtPmRyYWdDb250cm9sbGVyKCkubnVt
YmVyT2ZJdGVtc1RvQmVBY2NlcHRlZCgpLCBtX3BhZ2UtPmRyYWdDYXJldENvbnRyb2xsZXIoKS5j
YXJldFJlY3RJblJvb3RWaWV3Q29vcmRpbmF0ZXMoKSkpOwogICAgICAgICBicmVhazsKIAogICAg
IH0KICAgICBjYXNlIERyYWdDb250cm9sbGVyQWN0aW9uVXBkYXRlZDogewogICAgICAgICBEcmFn
T3BlcmF0aW9uIHJlc29sdmVkRHJhZ09wZXJhdGlvbiA9IG1fcGFnZS0+ZHJhZ0NvbnRyb2xsZXIo
KS5kcmFnVXBkYXRlZChkcmFnRGF0YSk7Ci0gICAgICAgIHNlbmQoTWVzc2FnZXM6OldlYlBhZ2VQ
cm94eTo6RGlkUGVyZm9ybURyYWdDb250cm9sbGVyQWN0aW9uKHJlc29sdmVkRHJhZ09wZXJhdGlv
biwgbV9wYWdlLT5kcmFnQ29udHJvbGxlcigpLm1vdXNlSXNPdmVyRmlsZUlucHV0KCksIG1fcGFn
ZS0+ZHJhZ0NvbnRyb2xsZXIoKS5udW1iZXJPZkl0ZW1zVG9CZUFjY2VwdGVkKCksIG1fcGFnZS0+
ZHJhZ0NhcmV0Q29udHJvbGxlcigpLmNhcmV0UG9zaXRpb24oKS5hYnNvbHV0ZUNhcmV0Qm91bmRz
KCkpKTsKKyAgICAgICAgc2VuZChNZXNzYWdlczo6V2ViUGFnZVByb3h5OjpEaWRQZXJmb3JtRHJh
Z0NvbnRyb2xsZXJBY3Rpb24ocmVzb2x2ZWREcmFnT3BlcmF0aW9uLCBtX3BhZ2UtPmRyYWdDb250
cm9sbGVyKCkubW91c2VJc092ZXJGaWxlSW5wdXQoKSwgbV9wYWdlLT5kcmFnQ29udHJvbGxlcigp
Lm51bWJlck9mSXRlbXNUb0JlQWNjZXB0ZWQoKSwgbV9wYWdlLT5kcmFnQ2FyZXRDb250cm9sbGVy
KCkuY2FyZXRSZWN0SW5Sb290Vmlld0Nvb3JkaW5hdGVzKCkpKTsKICAgICAgICAgYnJlYWs7CiAg
ICAgfQogICAgIGNhc2UgRHJhZ0NvbnRyb2xsZXJBY3Rpb25FeGl0ZWQ6CmRpZmYgLS1naXQgYS9U
b29scy9DaGFuZ2VMb2cgYi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggNDkwOTJlNjI4NWRjOWE1MzQ1
NmY0YzllOTIwMzJjMmRhOGRjY2E3NC4uMjEwY2Y1NDlhMTViMzMxODAzNjQxMjMwMGY1NTUzYWU5
OWVkNGUwNCAxMDA2NDQKLS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxv
ZwpAQCAtMSwzICsxLDI2IEBACisyMDE3LTA2LTMwICBXZW5zb24gSHNpZWggIDx3ZW5zb25faHNp
ZWhAYXBwbGUuY29tPgorCisgICAgICAgIFtpT1MgRG5EXSBEcmFnIGNhcmV0IHJlY3QgaXMgaW5j
b3JyZWN0bHkgY29tcHV0ZWQgd2hlbiBkcm9wcGluZyBpbiBlZGl0YWJsZSBjb250ZW50IGluIGlm
cmFtZXMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE3
NDAxNworICAgICAgICA8cmRhcjovL3Byb2JsZW0vMzI5NTk3ODI+CisKKyAgICAgICAgUmV2aWV3
ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWRkIGEgbmV3IHRlc3QgdmVyaWZ5aW5n
IHRoYXQgdGhlIGRyYWcgY2FyZXQgaXMgdmlzdWFsbHkgY29udGFpbmVkIHdpdGhpbiB0aGUgYm91
bmRzIG9mIGFuIGlmcmFtZS4gQmVmb3JlIHRoZXNlCisgICAgICAgIGNoYW5nZXMsIHRoZSBjYXJl
dCB3b3VsZCBhcHBlYXIgb3V0c2lkZSBvZiB0aGUgaWZyYW1lLgorCisgICAgICAgICogVGVzdFdl
YktpdEFQSS9UZXN0V2ViS2l0QVBJLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2o6CisgICAgICAg
ICogVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXQyQ29jb2EvY29udGVudGVkaXRhYmxlLWluLWlm
cmFtZS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBUZXN0V2ViS2l0QVBJL1Rlc3RzL2lvcy9EYXRh
SW50ZXJhY3Rpb25UZXN0cy5tbToKKyAgICAgICAgKGNoZWNrRHJhZ0NhcmV0UmVjdElzQ29udGFp
bmVkSW5SZWN0KToKKyAgICAgICAgKFRlc3RXZWJLaXRBUEk6OlRFU1QpOgorICAgICAgICAqIFRl
c3RXZWJLaXRBUEkvaW9zL0RhdGFJbnRlcmFjdGlvblNpbXVsYXRvci5oOgorICAgICAgICAqIFRl
c3RXZWJLaXRBUEkvaW9zL0RhdGFJbnRlcmFjdGlvblNpbXVsYXRvci5tbToKKyAgICAgICAgKC1b
RGF0YUludGVyYWN0aW9uU2ltdWxhdG9yIF9yZXNldFNpbXVsYXRlZFN0YXRlXSk6CisgICAgICAg
ICgtW0RhdGFJbnRlcmFjdGlvblNpbXVsYXRvciBfY29uY2x1ZGVEYXRhSW50ZXJhY3Rpb25BbmRQ
ZXJmb3JtT3BlcmF0aW9uSWZOZWNlc3NhcnldKToKKyAgICAgICAgKC1bRGF0YUludGVyYWN0aW9u
U2ltdWxhdG9yIF9hZHZhbmNlUHJvZ3Jlc3NdKToKKyAgICAgICAgKC1bRGF0YUludGVyYWN0aW9u
U2ltdWxhdG9yIGxhc3RLbm93bkRyYWdDYXJldFJlY3RdKToKKwogMjAxNy0wNi0yOSAgV2Vuc29u
IEhzaWVoICA8d2Vuc29uX2hzaWVoQGFwcGxlLmNvbT4KIAogICAgICAgICBbaU9TIERuRF0gV2Vi
IGNvbnRlbnQgcHJvY2VzcyBjcmFzaGVzIHdoZW4gdGhlIHNlbGVjdGlvbiBpcyBtb3ZlZCBmYXIg
b2Zmc2NyZWVuIGluIGRyYWdzdGFydApkaWZmIC0tZ2l0IGEvVG9vbHMvVGVzdFdlYktpdEFQSS9U
ZXN0V2ViS2l0QVBJLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2ogYi9Ub29scy9UZXN0V2ViS2l0
QVBJL1Rlc3RXZWJLaXRBUEkueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagppbmRleCA2OWJmNDdk
MzcyOTljYzI5Nzg4N2IwZjBiN2I3MDI1NjgwMDYyOTZiLi5lMWZiMjU1MjdlMzgyN2NlNmMxZTkw
ZWFjMTU3NzYyMWQ4YTdhOGNlIDEwMDY0NAotLS0gYS9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RX
ZWJLaXRBUEkueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagorKysgYi9Ub29scy9UZXN0V2ViS2l0
QVBJL1Rlc3RXZWJLaXRBUEkueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagpAQCAtNjUwLDYgKzY1
MCw3IEBACiAJCUY0NzcyODk5MUU0QUUzQzEwMDdBQkY2QSAvKiBmdWxsLXBhZ2UtY29udGVudGVk
aXRhYmxlLmh0bWwgaW4gQ29weSBSZXNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gRjQ3NzI4OTgxRTRBRTNBRDAwN0FCRjZBIC8qIGZ1bGwtcGFnZS1jb250ZW50ZWRp
dGFibGUuaHRtbCAqLzsgfTsKIAkJRjQ4NTZDQTMxRTY0OUVBODAwOUQ3RUU3IC8qIGF0dGFjaG1l
bnQtZWxlbWVudC5odG1sIGluIENvcHkgUmVzb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IEY0ODU2Q0EyMUU2NDk4QTgwMDlEN0VFNyAvKiBhdHRhY2htZW50LWVsZW1l
bnQuaHRtbCAqLzsgfTsKIAkJRjRBMzJFQzQxRjA1RjM4NTAwNDdDNTQ0IC8qIGRyYWdzdGFydC1j
aGFuZ2Utc2VsZWN0aW9uLW9mZnNjcmVlbi5odG1sIGluIENvcHkgUmVzb3VyY2VzICovID0ge2lz
YSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEY0QTMyRUMzMUYwNUYzNzgwMDQ3QzU0NCAvKiBk
cmFnc3RhcnQtY2hhbmdlLXNlbGVjdGlvbi1vZmZzY3JlZW4uaHRtbCAqLzsgfTsKKwkJRjRBMzJF
Q0IxRjA2NDMzNzAwNDdDNTQ0IC8qIGNvbnRlbnRlZGl0YWJsZS1pbi1pZnJhbWUuaHRtbCBpbiBD
b3B5IFJlc291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBGNEEzMkVD
QTFGMDY0MkY0MDA0N0M1NDQgLyogY29udGVudGVkaXRhYmxlLWluLWlmcmFtZS5odG1sICovOyB9
OwogCQlGNEI4MjVEODFFRjREQkZCMDA2RTQxN0YgLyogY29tcHJlc3NlZC1maWxlcy56aXAgaW4g
Q29weSBSZXNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRjRCODI1
RDYxRUY0REJENDAwNkU0MTdGIC8qIGNvbXByZXNzZWQtZmlsZXMuemlwICovOyB9OwogCQlGNEJG
QTY4RTFFNEFEMDgwMDAxNTQyOTggLyogRHJhZ0FuZERyb3BQYXN0ZWJvYXJkVGVzdHMubW0gaW4g
U291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBGNEJGQTY4QzFFNEFE
MDgwMDAxNTQyOTggLyogRHJhZ0FuZERyb3BQYXN0ZWJvYXJkVGVzdHMubW0gKi87IH07CiAJCUY0
QzJBQjIyMURENkQ5NUUwMEUwNkQ1QiAvKiBlbm9ybW91cy12aWRlby13aXRoLXNvdW5kLmh0bWwg
aW4gQ29weSBSZXNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRjRD
MkFCMjExREQ2RDk0MTAwRTA2RDVCIC8qIGVub3Jtb3VzLXZpZGVvLXdpdGgtc291bmQuaHRtbCAq
LzsgfTsKQEAgLTczMiw2ICs3MzMsNyBAQAogCQkJZHN0U3ViZm9sZGVyU3BlYyA9IDc7CiAJCQlm
aWxlcyA9ICgKIAkJCQlGNEEzMkVDNDFGMDVGMzg1MDA0N0M1NDQgLyogZHJhZ3N0YXJ0LWNoYW5n
ZS1zZWxlY3Rpb24tb2Zmc2NyZWVuLmh0bWwgaW4gQ29weSBSZXNvdXJjZXMgKi8sCisJCQkJRjRB
MzJFQ0IxRjA2NDMzNzAwNDdDNTQ0IC8qIGNvbnRlbnRlZGl0YWJsZS1pbi1pZnJhbWUuaHRtbCBp
biBDb3B5IFJlc291cmNlcyAqLywKIAkJCQlGNDY5RkIyNDFGMDE4MDRCMDA0MDE1MzkgLyogY29u
dGVudGVkaXRhYmxlLWFuZC10YXJnZXQuaHRtbCBpbiBDb3B5IFJlc291cmNlcyAqLywKIAkJCQlG
NEI4MjVEODFFRjREQkZCMDA2RTQxN0YgLyogY29tcHJlc3NlZC1maWxlcy56aXAgaW4gQ29weSBS
ZXNvdXJjZXMgKi8sCiAJCQkJRjQxQUI5OUYxRUY0Njk2QjAwODNGQTA4IC8qIGF1dG9mb2N1cy1j
b250ZW50ZWRpdGFibGUuaHRtbCBpbiBDb3B5IFJlc291cmNlcyAqLywKQEAgLTE2MjMsNiArMTYy
NSw3IEBACiAJCUY0N0QzMEVEMUVEMjhBNkMwMDA0ODJFMSAvKiBnaWYtYW5kLWZpbGUtaW5wdXQu
aHRtbCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHRl
eHQuaHRtbDsgcGF0aCA9ICJnaWYtYW5kLWZpbGUtaW5wdXQuaHRtbCI7IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07CiAJCUY0ODU2Q0EyMUU2NDk4QTgwMDlEN0VFNyAvKiBhdHRhY2htZW50LWVs
ZW1lbnQuaHRtbCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0
OyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQuaHRtbDsgcGF0aCA9ICJhdHRhY2htZW50LWVsZW1l
bnQuaHRtbCI7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUY0QTMyRUMzMUYwNUYzNzgw
MDQ3QzU0NCAvKiBkcmFnc3RhcnQtY2hhbmdlLXNlbGVjdGlvbi1vZmZzY3JlZW4uaHRtbCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQuaHRtbDsg
cGF0aCA9ICJkcmFnc3RhcnQtY2hhbmdlLXNlbGVjdGlvbi1vZmZzY3JlZW4uaHRtbCI7IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUY0QTMyRUNBMUYwNjQyRjQwMDQ3QzU0NCAvKiBjb250
ZW50ZWRpdGFibGUtaW4taWZyYW1lLmh0bWwgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
bGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0Lmh0bWw7IHBhdGggPSAiY29udGVudGVkaXRhYmxlLWlu
LWlmcmFtZS5odG1sIjsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJRjRCODI1RDYxRUY0
REJENDAwNkU0MTdGIC8qIGNvbXByZXNzZWQtZmlsZXMuemlwICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gYXJjaGl2ZS56aXA7IHBhdGggPSAiY29tcHJl
c3NlZC1maWxlcy56aXAiOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlGNEJGQTY4QzFF
NEFEMDgwMDAxNTQyOTggLyogRHJhZ0FuZERyb3BQYXN0ZWJvYXJkVGVzdHMubW0gKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUg
PSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7IHBhdGggPSBEcmFnQW5kRHJvcFBhc3RlYm9hcmRUZXN0
cy5tbTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJRjRDMkFCMjExREQ2RDk0MTAwRTA2
RDVCIC8qIGVub3Jtb3VzLXZpZGVvLXdpdGgtc291bmQuaHRtbCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQuaHRt
bDsgcGF0aCA9ICJlbm9ybW91cy12aWRlby13aXRoLXNvdW5kLmh0bWwiOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OwpAQCAtMjAyMiw2ICsyMDI1LDcgQEAKIAkJCQlGNDFBQjk5NzFFRjQ2OTJD
MDA4M0ZBMDggLyogYmFja2dyb3VuZC1pbWFnZS1saW5rLWFuZC1pbnB1dC5odG1sICovLAogCQkJ
CUY0NjlGQjIzMUYwMTgwMzUwMDQwMTUzOSAvKiBjb250ZW50ZWRpdGFibGUtYW5kLXRhcmdldC5o
dG1sICovLAogCQkJCUY0MUFCOTlDMUVGNDY5MkMwMDgzRkEwOCAvKiBjb250ZW50ZWRpdGFibGUt
YW5kLXRleHRhcmVhLmh0bWwgKi8sCisJCQkJRjRBMzJFQ0ExRjA2NDJGNDAwNDdDNTQ0IC8qIGNv
bnRlbnRlZGl0YWJsZS1pbi1pZnJhbWUuaHRtbCAqLywKIAkJCQlGNDFBQjk5RTFFRjQ2OTJDMDA4
M0ZBMDggLyogZGl2LWFuZC1sYXJnZS1pbWFnZS5odG1sICovLAogCQkJCUY0QTMyRUMzMUYwNUYz
NzgwMDQ3QzU0NCAvKiBkcmFnc3RhcnQtY2hhbmdlLXNlbGVjdGlvbi1vZmZzY3JlZW4uaHRtbCAq
LywKIAkJCQlGNDFBQjk5QjFFRjQ2OTJDMDA4M0ZBMDggLyogZmlsZS11cGxvYWRpbmcuaHRtbCAq
LywKZGlmZiAtLWdpdCBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0MkNvY29hL2Nv
bnRlbnRlZGl0YWJsZS1pbi1pZnJhbWUuaHRtbCBiL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMv
V2ViS2l0MkNvY29hL2NvbnRlbnRlZGl0YWJsZS1pbi1pZnJhbWUuaHRtbApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4x
ZWI3ODVhZmRlNmZiZWJiNDYyMmJkYjMzYzM0N2E4OGZkNDJlMTkyCi0tLSAvZGV2L251bGwKKysr
IGIvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXQyQ29jb2EvY29udGVudGVkaXRhYmxl
LWluLWlmcmFtZS5odG1sCkBAIC0wLDAgKzEsMjIgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+
Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoIj4KKzxz
dHlsZT4KK2JvZHkgeworICAgIHdpZHRoOiAxMDAlOworICAgIGhlaWdodDogMTAwJTsKKyAgICBt
YXJnaW46IDA7CisgICAgcG9zaXRpb246IGFic29sdXRlOworfQorI2NvbnRhaW5lciB7CisgICAg
d2lkdGg6IGNhbGMoMTAwJSAtIDEwMHB4KTsKKyAgICBoZWlnaHQ6IGNhbGMoMTAwJSAtIDEwMHB4
KTsKKyAgICBtYXJnaW46IDUwcHg7Cit9CisjZWRpdG9yIHsKKyAgICB3aWR0aDogMTAwJTsKKyAg
ICBoZWlnaHQ6IDEwMCU7Cit9Cis8L3N0eWxlPgorPGRpdiBpZD0iY29udGFpbmVyIj48aWZyYW1l
IGlkPSJlZGl0b3IiIHNyYz0iZGF0YTp0ZXh0L2h0bWwsPGJvZHklMjBjb250ZW50ZWRpdGFibGUl
MjBzdHlsZT0nd2lkdGg6JTIwMTAwJTslMjBoZWlnaHQ6JTIwMTAwJTslMjBtYXJnaW46JTIwMDsn
PiI+PC9pZnJhbWU+PC9kaXY+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9Ub29scy9UZXN0V2ViS2l0
QVBJL1Rlc3RzL2lvcy9EYXRhSW50ZXJhY3Rpb25UZXN0cy5tbSBiL1Rvb2xzL1Rlc3RXZWJLaXRB
UEkvVGVzdHMvaW9zL0RhdGFJbnRlcmFjdGlvblRlc3RzLm1tCmluZGV4IDE1ZmExNDFhMzM0MmYw
ZTFhYzc4MGM3YzBmNGRlNjY3YzYzZmRkM2UuLjM3OTg0Zjk4YzNmOGUxYzE2MGNlZDBhMGQ0YTJh
MmIyZTUwMTg2YWEgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvaW9zL0Rh
dGFJbnRlcmFjdGlvblRlc3RzLm1tCisrKyBiL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvaW9z
L0RhdGFJbnRlcmFjdGlvblRlc3RzLm1tCkBAIC0xMzIsNiArMTMyLDE0IEBAIHN0YXRpYyB2b2lk
IGNoZWNrU3RyaW5nQXJyYXlzQXJlRXF1YWwoTlNBcnJheTxOU1N0cmluZyAqPiAqZXhwZWN0ZWQs
IE5TQXJyYXk8TlNTCiAgICAgfQogfQogCitzdGF0aWMgdm9pZCBjaGVja0RyYWdDYXJldFJlY3RJ
c0NvbnRhaW5lZEluUmVjdChDR1JlY3QgY2FyZXRSZWN0LCBDR1JlY3QgY29udGFpbmVyUmVjdCkK
K3sKKyAgICBCT09MIGNvbnRhaW5lZCA9IENHUmVjdENvbnRhaW5zUmVjdChjb250YWluZXJSZWN0
LCBjYXJldFJlY3QpOworICAgIEVYUEVDVF9UUlVFKGNvbnRhaW5lZCk7CisgICAgaWYgKCFjb250
YWluZWQpCisgICAgICAgIE5TTG9nKEAiRXhwZWN0ZWQgY2FyZXQgcmVjdDogJUAgdG8gZml0IHdp
dGhpbiBjb250YWluZXIgcmVjdDogJUAiLCBOU1N0cmluZ0Zyb21DR1JlY3QoY2FyZXRSZWN0KSwg
TlNTdHJpbmdGcm9tQ0dSZWN0KGNvbnRhaW5lclJlY3QpKTsKK30KKwogbmFtZXNwYWNlIFRlc3RX
ZWJLaXRBUEkgewogCiBURVNUKERhdGFJbnRlcmFjdGlvblRlc3RzLCBJbWFnZVRvQ29udGVudEVk
aXRhYmxlKQpAQCAtNDM0LDYgKzQ0MiwyNSBAQCBURVNUKERhdGFJbnRlcmFjdGlvblRlc3RzLCBF
bnRlckFuZExlYXZlRXZlbnRzKQogICAgIGNoZWNrU2VsZWN0aW9uUmVjdHNXaXRoTG9nZ2luZyhA
WyBdLCBbZGF0YUludGVyYWN0aW9uU2ltdWxhdG9yIGZpbmFsU2VsZWN0aW9uUmVjdHNdKTsKIH0K
IAorVEVTVChEYXRhSW50ZXJhY3Rpb25UZXN0cywgRXh0ZXJuYWxTb3VyY2VQbGFpblRleHRUb0lG
cmFtZSkKK3sKKyAgICBhdXRvIHdlYlZpZXcgPSBhZG9wdE5TKFtbVGVzdFdLV2ViVmlldyBhbGxv
Y10gaW5pdFdpdGhGcmFtZTpDR1JlY3RNYWtlKDAsIDAsIDMyMCwgNTAwKV0pOworICAgIFt3ZWJW
aWV3IHN5bmNocm9ub3VzbHlMb2FkVGVzdFBhZ2VOYW1lZDpAImNvbnRlbnRlZGl0YWJsZS1pbi1p
ZnJhbWUiXTsKKworICAgIGF1dG8gaXRlbVByb3ZpZGVyID0gYWRvcHROUyhbW1VJSXRlbVByb3Zp
ZGVyIGFsbG9jXSBpbml0XSk7CisgICAgW2l0ZW1Qcm92aWRlciByZWdpc3Rlck9iamVjdDpAIkhl
bGxvIHdvcmxkIiB2aXNpYmlsaXR5OlVJSXRlbVByb3ZpZGVyUmVwcmVzZW50YXRpb25PcHRpb25z
VmlzaWJpbGl0eUFsbF07CisKKyAgICBhdXRvIHNpbXVsYXRvciA9IGFkb3B0TlMoW1tEYXRhSW50
ZXJhY3Rpb25TaW11bGF0b3IgYWxsb2NdIGluaXRXaXRoV2ViVmlldzp3ZWJWaWV3LmdldCgpXSk7
CisgICAgW3NpbXVsYXRvciBzZXRFeHRlcm5hbEl0ZW1Qcm92aWRlcnM6QFsgaXRlbVByb3ZpZGVy
LmdldCgpIF1dOworICAgIFtzaW11bGF0b3IgcnVuRnJvbTpDR1BvaW50TWFrZSgwLCAwKSB0bzpD
R1BvaW50TWFrZSgxNjAsIDI1MCldOworCisgICAgYXV0byBjb250YWluZXJMZWZ0ID0gW3dlYlZp
ZXcgc3RyaW5nQnlFdmFsdWF0aW5nSmF2YVNjcmlwdDpAImNvbnRhaW5lci5nZXRCb3VuZGluZ0Ns
aWVudFJlY3QoKS5sZWZ0Il0uZmxvYXRWYWx1ZTsKKyAgICBhdXRvIGNvbnRhaW5lclRvcCA9IFt3
ZWJWaWV3IHN0cmluZ0J5RXZhbHVhdGluZ0phdmFTY3JpcHQ6QCJjb250YWluZXIuZ2V0Qm91bmRp
bmdDbGllbnRSZWN0KCkudG9wIl0uZmxvYXRWYWx1ZTsKKyAgICBhdXRvIGNvbnRhaW5lcldpZHRo
ID0gW3dlYlZpZXcgc3RyaW5nQnlFdmFsdWF0aW5nSmF2YVNjcmlwdDpAImNvbnRhaW5lci5nZXRC
b3VuZGluZ0NsaWVudFJlY3QoKS53aWR0aCJdLmZsb2F0VmFsdWU7CisgICAgYXV0byBjb250YWlu
ZXJIZWlnaHQgPSBbd2ViVmlldyBzdHJpbmdCeUV2YWx1YXRpbmdKYXZhU2NyaXB0OkAiY29udGFp
bmVyLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLmhlaWdodCJdLmZsb2F0VmFsdWU7CisgICAgY2hl
Y2tEcmFnQ2FyZXRSZWN0SXNDb250YWluZWRJblJlY3QoW3NpbXVsYXRvciBsYXN0S25vd25EcmFn
Q2FyZXRSZWN0XSwgQ0dSZWN0TWFrZShjb250YWluZXJMZWZ0LCBjb250YWluZXJUb3AsIGNvbnRh
aW5lcldpZHRoLCBjb250YWluZXJIZWlnaHQpKTsKK30KKwogVEVTVChEYXRhSW50ZXJhY3Rpb25U
ZXN0cywgRXh0ZXJuYWxTb3VyY2VKU09OVG9GaWxlSW5wdXQpCiB7CiAgICAgUmV0YWluUHRyPFRl
c3RXS1dlYlZpZXc+IHdlYlZpZXcgPSBhZG9wdE5TKFtbVGVzdFdLV2ViVmlldyBhbGxvY10gaW5p
dFdpdGhGcmFtZTpDR1JlY3RNYWtlKDAsIDAsIDMyMCwgNTAwKV0pOwpkaWZmIC0tZ2l0IGEvVG9v
bHMvVGVzdFdlYktpdEFQSS9pb3MvRGF0YUludGVyYWN0aW9uU2ltdWxhdG9yLmggYi9Ub29scy9U
ZXN0V2ViS2l0QVBJL2lvcy9EYXRhSW50ZXJhY3Rpb25TaW11bGF0b3IuaAppbmRleCAxODA4YWEw
MGZlNTc4OTYyOThkZjAyYTQ1MGU5MTE1MjUyYzU5OWI4Li5iYTAxMTE3YTU4NTBlMTNhZDNmMDQ5
NTBmYTljMDJjMmQ4ZjgyNjBlIDEwMDY0NAotLS0gYS9Ub29scy9UZXN0V2ViS2l0QVBJL2lvcy9E
YXRhSW50ZXJhY3Rpb25TaW11bGF0b3IuaAorKysgYi9Ub29scy9UZXN0V2ViS2l0QVBJL2lvcy9E
YXRhSW50ZXJhY3Rpb25TaW11bGF0b3IuaApAQCAtNjAsNiArNjAsNyBAQCB0eXBlZGVmIE5TX0VO
VU0oTlNJbnRlZ2VyLCBEYXRhSW50ZXJhY3Rpb25QaGFzZSkgewogICAgIFJldGFpblB0cjxOU0Fy
cmF5ICo+IF9maW5hbFNlbGVjdGlvblJlY3RzOwogICAgIENHUG9pbnQgX3N0YXJ0TG9jYXRpb247
CiAgICAgQ0dQb2ludCBfZW5kTG9jYXRpb247CisgICAgQ0dSZWN0IF9sYXN0S25vd25EcmFnQ2Fy
ZXRSZWN0OwogCiAgICAgYm9vbCBfaXNEb25lV2FpdGluZ0ZvcklucHV0U2Vzc2lvbjsKICAgICBC
T09MIF9zaG91bGRQZXJmb3JtT3BlcmF0aW9uOwpAQCAtODUsNiArODYsNyBAQCB0eXBlZGVmIE5T
X0VOVU0oTlNJbnRlZ2VyLCBEYXRhSW50ZXJhY3Rpb25QaGFzZSkgewogQHByb3BlcnR5IChub25h
dG9taWMsIHJlYWRvbmx5KSBOU0FycmF5ICpvYnNlcnZlZEV2ZW50TmFtZXM7CiBAcHJvcGVydHkg
KG5vbmF0b21pYywgcmVhZG9ubHkpIE5TQXJyYXkgKmZpbmFsU2VsZWN0aW9uUmVjdHM7CiBAcHJv
cGVydHkgKG5vbmF0b21pYywgcmVhZG9ubHkpIERhdGFJbnRlcmFjdGlvblBoYXNlIHBoYXNlOwor
QHByb3BlcnR5IChub25hdG9taWMsIHJlYWRvbmx5KSBDR1JlY3QgbGFzdEtub3duRHJhZ0NhcmV0
UmVjdDsKIAogQGVuZAogCmRpZmYgLS1naXQgYS9Ub29scy9UZXN0V2ViS2l0QVBJL2lvcy9EYXRh
SW50ZXJhY3Rpb25TaW11bGF0b3IubW0gYi9Ub29scy9UZXN0V2ViS2l0QVBJL2lvcy9EYXRhSW50
ZXJhY3Rpb25TaW11bGF0b3IubW0KaW5kZXggZDcwNDBjNmQzNzQwODRhMmQyNzI1NjVjZjViYjZl
NmM2OWYwYTg4Mi4uMDFhNDUxNDgwYTE3NTA5NDk3MDRmNWZhMzEzZGQxNDgxNGNkOGJlOCAxMDA2
NDQKLS0tIGEvVG9vbHMvVGVzdFdlYktpdEFQSS9pb3MvRGF0YUludGVyYWN0aW9uU2ltdWxhdG9y
Lm1tCisrKyBiL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvaW9zL0RhdGFJbnRlcmFjdGlvblNpbXVsYXRv
ci5tbQpAQCAtMjkxLDYgKzI5MSw3IEBAIC0gKHZvaWQpX3Jlc2V0U2ltdWxhdGVkU3RhdGUKICAg
ICBfZGF0YUludGVyYWN0aW9uU2Vzc2lvbiA9IG5pbDsKICAgICBfZGF0YU9wZXJhdGlvblNlc3Np
b24gPSBuaWw7CiAgICAgX3Nob3VsZFBlcmZvcm1PcGVyYXRpb24gPSBOTzsKKyAgICBfbGFzdEtu
b3duRHJhZ0NhcmV0UmVjdCA9IENHUmVjdFplcm87CiB9CiAKIC0gKE5TQXJyYXkgKilvYnNlcnZl
ZEV2ZW50TmFtZXMKQEAgLTM2MCw2ICszNjEsNyBAQCAtIChOU0FycmF5ICopZmluYWxTZWxlY3Rp
b25SZWN0cwogCiAtICh2b2lkKV9jb25jbHVkZURhdGFJbnRlcmFjdGlvbkFuZFBlcmZvcm1PcGVy
YXRpb25JZk5lY2Vzc2FyeQogeworICAgIF9sYXN0S25vd25EcmFnQ2FyZXRSZWN0ID0gW193ZWJW
aWV3IF9kcmFnQ2FyZXRSZWN0XTsKICAgICBpZiAoX3Nob3VsZFBlcmZvcm1PcGVyYXRpb24pIHsK
ICAgICAgICAgW193ZWJWaWV3IF9zaW11bGF0ZURhdGFJbnRlcmFjdGlvblBlcmZvcm1PcGVyYXRp
b246X2RhdGFPcGVyYXRpb25TZXNzaW9uLmdldCgpXTsKICAgICAgICAgX3BoYXNlID0gRGF0YUlu
dGVyYWN0aW9uUGVyZm9ybWluZzsKQEAgLTM3Niw2ICszNzgsNyBAQCAtICh2b2lkKV9jb25jbHVk
ZURhdGFJbnRlcmFjdGlvbkFuZFBlcmZvcm1PcGVyYXRpb25JZk5lY2Vzc2FyeQogCiAtICh2b2lk
KV9hZHZhbmNlUHJvZ3Jlc3MKIHsKKyAgICBfbGFzdEtub3duRHJhZ0NhcmV0UmVjdCA9IFtfd2Vi
VmlldyBfZHJhZ0NhcmV0UmVjdF07CiAgICAgX2N1cnJlbnRQcm9ncmVzcyArPSBwcm9ncmVzc0lu
Y3JlbWVudFN0ZXA7CiAgICAgQ0dQb2ludCBsb2NhdGlvbkluV2luZG93ID0gc2VsZi5fY3VycmVu
dExvY2F0aW9uOwogICAgIFtfZGF0YUludGVyYWN0aW9uU2Vzc2lvbiBzZXRNb2NrTG9jYXRpb25J
bldpbmRvdzpsb2NhdGlvbkluV2luZG93XTsKQEAgLTQ2OCw2ICs0NzEsMTEgQEAgLSAoRGF0YUlu
dGVyYWN0aW9uUGhhc2UpcGhhc2UKICAgICByZXR1cm4gX3BoYXNlOwogfQogCistIChDR1JlY3Qp
bGFzdEtub3duRHJhZ0NhcmV0UmVjdAoreworICAgIHJldHVybiBfbGFzdEtub3duRHJhZ0NhcmV0
UmVjdDsKK30KKwogLSAodm9pZCl3YWl0Rm9ySW5wdXRTZXNzaW9uCiB7CiAgICAgX2lzRG9uZVdh
aXRpbmdGb3JJbnB1dFNlc3Npb24gPSBmYWxzZTsK
</data>

          </attachment>
      

    </bug>

</bugzilla>