<?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>214426</bug_id>
          
          <creation_ts>2020-07-16 15:05:40 -0700</creation_ts>
          <short_desc>REGRESSION (r261874): Typing near the bottom of a scrollable document causes the scroll position to jump</short_desc>
          <delta_ts>2020-07-20 15:54:04 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>HTML Editing</component>
          <version>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>ews-watchlist</cc>
    
    <cc>mifenton</cc>
    
    <cc>simon.fraser</cc>
    
    <cc>thorton</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>wenson_hsieh</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1672262</commentid>
    <comment_count>0</comment_count>
    <who name="Wenson Hsieh">wenson_hsieh</who>
    <bug_when>2020-07-16 15:05:40 -0700</bug_when>
    <thetext>&lt;rdar://problem/65302701&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1672408</commentid>
    <comment_count>1</comment_count>
      <attachid>404539</attachid>
    <who name="Wenson Hsieh">wenson_hsieh</who>
    <bug_when>2020-07-16 23:32:40 -0700</bug_when>
    <thetext>Created attachment 404539
For EWS</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1673169</commentid>
    <comment_count>2</comment_count>
      <attachid>404741</attachid>
    <who name="Wenson Hsieh">wenson_hsieh</who>
    <bug_when>2020-07-20 12:25:26 -0700</bug_when>
    <thetext>Created attachment 404741
For EWS</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1673223</commentid>
    <comment_count>3</comment_count>
      <attachid>404741</attachid>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2020-07-20 13:50:01 -0700</bug_when>
    <thetext>Comment on attachment 404741
For EWS

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

&gt; Source/WebCore/ChangeLog:17
&gt; +        the content size of view changes; if we happen to be scrolled all the way to the bottom of the main frame, this

I&apos;d like to see a mention of what triggers the layout that causes the content size to change.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1673232</commentid>
    <comment_count>4</comment_count>
      <attachid>404741</attachid>
    <who name="Wenson Hsieh">wenson_hsieh</who>
    <bug_when>2020-07-20 14:08:50 -0700</bug_when>
    <thetext>Comment on attachment 404741
For EWS

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

&gt;&gt; Source/WebCore/ChangeLog:17
&gt;&gt; +        the content size of view changes; if we happen to be scrolled all the way to the bottom of the main frame, this
&gt; 
&gt; I&apos;d like to see a mention of what triggers the layout that causes the content size to change.

👍🏻 added this information to the ChangeLog.

In this particular case, the layout happens right before we try and canonicalize under the constructor of VisiblePosition. However, it’s not always due to this; the content size may also change due to script (e.g. input event listeners) triggering layout (for instance, by asking for scrollHeight).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1673241</commentid>
    <comment_count>5</comment_count>
      <attachid>404759</attachid>
    <who name="Wenson Hsieh">wenson_hsieh</who>
    <bug_when>2020-07-20 14:44:34 -0700</bug_when>
    <thetext>Created attachment 404759
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1673280</commentid>
    <comment_count>6</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2020-07-20 15:54:03 -0700</bug_when>
    <thetext>Committed r264627: &lt;https://trac.webkit.org/changeset/264627&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 404759.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>404539</attachid>
            <date>2020-07-16 23:32:40 -0700</date>
            <delta_ts>2020-07-20 12:25:24 -0700</delta_ts>
            <desc>For EWS</desc>
            <filename>bug-214426-20200716233240.patch</filename>
            <type>text/plain</type>
            <size>16048</size>
            <attacher name="Wenson Hsieh">wenson_hsieh</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjY0MzgzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZWM4ZTBmNzE2MDQ3NTVk
NTZjYmUxMTc3M2VmZTcxOTgwMDUyN2Q4OS4uMzgyOTE1NzhiZWE1YmVkYjNkM2I3MjZlZmNhYzJj
NGNlNzQyMjNmYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDY4IEBACisyMDIwLTA3LTE2ICBXZW5z
b24gSHNpZWggIDx3ZW5zb25faHNpZWhAYXBwbGUuY29tPgorCisgICAgICAgIFJFR1JFU1NJT04g
KHIyNjE4NzQpOiBUeXBpbmcgbmVhciB0aGUgYm90dG9tIG9mIGEgc2Nyb2xsYWJsZSBkb2N1bWVu
dCBjYXVzZXMgdGhlIHNjcm9sbCBwb3NpdGlvbiB0byBqdW1wCisgICAgICAgIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMTQ0MjYKKyAgICAgICAgPHJkYXI6Ly9wcm9i
bGVtLzY1MzAyNzAxPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisg
ICAgICAgIEFmdGVyIHRoZSBjaGFuZ2VzIGluIHIyNjE4NzQsIGFueSBjb250ZW50IHNpemUgY2hh
bmdlcyB0aGF0IHRyaWdnZXIgYEZyYW1lVmlldzo6YWRqdXN0Vmlld1NpemVgIGNhdXNlIHRoZSBz
Y3JvbGwKKyAgICAgICAgcG9zaXRpb24gdG8gYmUgY2xhbXBlZCB0byBpdHMgbWluaW11bSBhbmQg
bWF4aW11bSBsaW1pdHMgYWZ0ZXIgdGhlIG5leHQgbGF5b3V0IHBhc3MuIEluIHRoZSBjb250ZXh0
IG9mIGVkaXQKKyAgICAgICAgY29tbWFuZHMsIHRoaXMgbWVhbnMgdGhhdCB0aGUgc2Nyb2xsIHBv
c2l0aW9uIG1heSBqdW1wIGVycmF0aWNhbGx5LCBzaW5jZSBtYW55IGVkaXQgY29tbWFuZHMgY2Fu
IHRlbXBvcmFyaWx5CisgICAgICAgIGxlYXZlIHRoZSBET00gaW4gYSBzdGF0ZSB3aGVyZSB0aGUg
Y29udGVudCBzaXplIGlzIHVuc3RhYmxlLgorCisgICAgICAgIEZvciBleGFtcGxlLCBpbiB0aGUg
dGVzdCBjYXNlIGJlbG93LCBkZWxldGluZyB0aGUgb25seSBjaGFyYWN0ZXIgaW4gYSBkaXYgZWxl
bWVudCBvbiBpdHMgb3duIGxpbmUgZmlyc3QgaW52b2x2ZXMKKyAgICAgICAgZW1wdHlpbmcgdGhl
IHRleHQgbm9kZSB1bmRlcm5lYXRoIHRoZSBkaXYgKGNhdXNpbmcgaXQgdG8gaGF2ZSBubyBoZWln
aHQpLCBiZWZvcmUgaW5zZXJ0aW5nIGEgQlIgZWxlbWVudCBpbiBpdHMKKyAgICAgICAgcGxhY2Ug
KHdoaWNoIHJlc3RvcmVzIGEgbm9uemVybyBoZWlnaHQpLiBBZnRlciB0aGUgdGV4dCBub2RlIGlz
IGVtcHRpZWQgKGJ1dCBiZWZvcmUgd2UgaW5zZXJ0IHRoZSBCUiBlbGVtZW50KSwKKyAgICAgICAg
dGhlIGNvbnRlbnQgc2l6ZSBvZiB2aWV3IGNoYW5nZXM7IGlmIHdlIGhhcHBlbiB0byBiZSBzY3Jv
bGxlZCBhbGwgdGhlIHdheSB0byB0aGUgYm90dG9tIG9mIHRoZSBtYWluIGZyYW1lLCB0aGlzCisg
ICAgICAgIG1lYW5zIHdlJ2xsIHNjcm9sbCB1cCwgZHVlIHRvIHRoZSBtYXhpbXVtIHNjcm9sbCBw
b3NpdGlvbiB0ZW1wb3JhcmlseSBkZWNyZWFzaW5nLiBBIHNpbWlsYXIgZWZmZWN0IGhhcHBlbnMg
d2hlbgorICAgICAgICBpbnNlcnRpbmcgdGhlIGZpcnN0IGNoYXJhY3RlciBvbiBhIGxpbmUsIHdo
ZXJlaW4gdGhlIGRpdiBpcyBlbXB0eSBhZnRlciBCUiBlbGVtZW50IGlzIHJlbW92ZWQgYnV0IGJl
Zm9yZSBpdCBpcworICAgICAgICByZXBsYWNlZCB3aXRoIGEgdGV4dCBub2RlLgorCisgICAgICAg
IFRvIG1pdGlnYXRlIHRoaXMsIGhvb2sgaW50byBhbiBleGlzdGluZyBtZWNoYW5pc20gKGN1cnJl
bnRseSBvbmx5IHVzZWQgZm9yIHRlc3RpbmcgcHVycG9zZXMpIHRvIHRlbXBvcmFyaWx5CisgICAg
ICAgIGFsbG93IGZvciB1bmNsYW1wZWQgc2Nyb2xsIHBvc2l0aW9ucyB3aGVuIHByb2Nlc3Npbmcg
ZWRpdCBjb21tYW5kcy4KKworICAgICAgICBUZXN0OiBlZGl0aW5nL2V4ZWNDb21tYW5kL3R5cGlu
Zy1zaG91bGQtbm90LXRyaWdnZXItc2Nyb2xsaW5nLXdoZW4tc2VsZWN0aW9uLWlzLXZpc2libGUu
aHRtbAorCisgICAgICAgICogZWRpdGluZy9Db21wb3NpdGVFZGl0Q29tbWFuZC5jcHA6CisgICAg
ICAgIChXZWJDb3JlOjpFZGl0Q29tbWFuZENvbXBvc2l0aW9uOjp1bmFwcGx5KToKKyAgICAgICAg
KFdlYkNvcmU6OkVkaXRDb21tYW5kQ29tcG9zaXRpb246OnJlYXBwbHkpOgorICAgICAgICAoV2Vi
Q29yZTo6Q29tcG9zaXRlRWRpdENvbW1hbmQ6OmFwcGx5KToKKworICAgICAgICBBcHBseSBgVW5j
bGFtcEZyYW1lVmlld1Njcm9sbFBvc2l0aW9uRm9yU2NvcGVgcyBoZXJlIHdoZW4gYXBwbHlpbmcs
IHVuZG9pbmcsIGFuZCByZWRvaW5nIGVkaXQgY29tbWFuZHMuCisKKyAgICAgICAgKiBlZGl0aW5n
L0VkaXRvci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpVbmNsYW1wRnJhbWVWaWV3U2Nyb2xsUG9z
aXRpb25Gb3JTY29wZTo6VW5jbGFtcEZyYW1lVmlld1Njcm9sbFBvc2l0aW9uRm9yU2NvcGUpOgor
ICAgICAgICAoV2ViQ29yZTo6VW5jbGFtcEZyYW1lVmlld1Njcm9sbFBvc2l0aW9uRm9yU2NvcGU6
On5VbmNsYW1wRnJhbWVWaWV3U2Nyb2xsUG9zaXRpb25Gb3JTY29wZSk6CisKKyAgICAgICAgQWRk
IGEgaGVscGVyIGNsYXNzIHRoYXQgc2V0cyBhIGBGcmFtZVZpZXdgJ3MgYEFsbG93c1VuY2xhbXBl
ZFNjcm9sbFBvc2l0aW9uYCB0byBgdHJ1ZWAsIGFuZCByZXN0b3JlcyBpdCB0bworICAgICAgICBg
ZmFsc2VgIHdoZW4gZGVzdHJveWVkIChpZiBpdCB3YXMgYGZhbHNlYCBiZWZvcmVoYW5kKS4gV2hp
bGUgaXQgd291bGQgYmUgbW9yZSBjb3JyZWN0IHRvIGluY3JlbWVudCBhbmQgZGVjcmVtZW50Cisg
ICAgICAgIHNjcm9sbCBwb3NpdGlvbiBjbGFtcGluZyBjb3VudHMsIHRoaXMgaXMgdW5uZWNlc3Nh
cnkgYXQgdGhlIG1vbWVudCwgYmVjYXVzZSB3ZSBzaG91bGRuJ3QgaGF2ZSBhbnkgc2NlbmFyaW9z
CisgICAgICAgIHdoZXJlIG9uZSBgVW5jbGFtcEZyYW1lVmlld1Njcm9sbFBvc2l0aW9uRm9yU2Nv
cGVgIG91dGxpdmVzIGFub3RoZXIgaW5zdGFuY2UgdGhhdCB3YXMgY3JlYXRlZCBiZWZvcmUgaXRz
ZWxmLgorCisgICAgICAgIChXZWJDb3JlOjpFZGl0b3I6OndpbGxBcHBseUVkaXRpbmcgY29uc3Qp
OgorICAgICAgICAoV2ViQ29yZTo6RWRpdG9yOjphcHBsaWVkRWRpdGluZyk6CisKKyAgICAgICAg
QWRkIGxvZ2ljIHRvIHNwZWNpZmljYWxseSBoYW5kbGUgdHlwaW5nIGNvbW1hbmRzIGhlcmUsIHNp
bmNlIHdlIGhhbmRsZSB0eXBpbmcgY29tbWFuZHMgYnkgYWRkaW5nIHRoZW0gdG8gdGhlCisgICAg
ICAgIGxhdGVzdCAib3BlbiIgdHlwaW5nIGNvbW1hbmQsIHJhdGhlciB0aGFuIGdvIHRocm91Z2gg
dGhlIG1vcmUgc3RhbmRhcmQgY29kZXBhdGhzIGluIEVkaXRDb21tYW5kQ29tcG9zaXRpb24KKyAg
ICAgICAgYWJvdmUuCisKKyAgICAgICAgKiBlZGl0aW5nL0VkaXRvci5oOgorICAgICAgICAqIHBs
YXRmb3JtL1Njcm9sbFZpZXcuY3BwOgorICAgICAgICAoV2ViQ29yZTo6U2Nyb2xsVmlldzo6c2V0
QWxsb3dzVW5jbGFtcGVkU2Nyb2xsUG9zaXRpb24pOgorCisgICAgICAgIFdoZW4gc2V0dGluZyBg
bV9hbGxvd3NVbmNsYW1wZWRTY3JvbGxQb3NpdGlvbmAgdG8gYGZhbHNlYCwgY2FsbCBgdXBkYXRl
U2Nyb2xsYmFyc2Agd2l0aCB0aGUgY3VycmVudCBzY3JvbGwKKyAgICAgICAgcG9zaXRpb24gdG8g
Y2xhbXAgaXQgYmFjayB3aXRoaW4gdGhlIHNjcm9sbCBwb3NpdGlvbiBsaW1pdHMuCisKKyAgICAg
ICAgKiBwbGF0Zm9ybS9TY3JvbGxWaWV3Lmg6CisgICAgICAgIChXZWJDb3JlOjpTY3JvbGxWaWV3
OjpzZXRBbGxvd3NVbmNsYW1wZWRTY3JvbGxQb3NpdGlvbik6CisgICAgICAgIChXZWJDb3JlOjpT
Y3JvbGxWaWV3OjpzZXRBbGxvd3NVbmNsYW1wZWRTY3JvbGxQb3NpdGlvbkZvclRlc3RpbmcpOiBE
ZWxldGVkLgorCisgICAgICAgIFJlbmFtZSBzZXRBbGxvd3NVbmNsYW1wZWRTY3JvbGxQb3NpdGlv
bkZvclRlc3RpbmcgdG8gc2V0QWxsb3dzVW5jbGFtcGVkU2Nyb2xsUG9zaXRpb24uCisKKyAgICAg
ICAgKiB0ZXN0aW5nL0ludGVybmFsU2V0dGluZ3MuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SW50
ZXJuYWxTZXR0aW5nczo6c2V0QWxsb3dVbmNsYW1wZWRTY3JvbGxQb3NpdGlvbik6CisKIDIwMjAt
MDctMTQgIEphbWVzIERhcnBpbmlhbiAgPGpkYXJwaW5pYW5AY2hyb21pdW0ub3JnPgogCiAgICAg
ICAgIFtXZWJHTDJdIHZlcnRleEF0dHJpYkkqIGFuZCBnZXRGcmFnRGF0YUxvY2F0aW9uCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5nL0NvbXBvc2l0ZUVkaXRDb21tYW5kLmNwcCBi
L1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvQ29tcG9zaXRlRWRpdENvbW1hbmQuY3BwCmluZGV4IDkw
YjIxYjhjZWIwOGNiMDc3OTMwNTRlNTQzNWQxNmU0YWJjYWE2MjQuLmFlMjE4YmM0MGI1NzJhMTlm
ZmVhYjY3YmRkMjFmMDRjY2Y2MGU5MGUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2VkaXRp
bmcvQ29tcG9zaXRlRWRpdENvbW1hbmQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcv
Q29tcG9zaXRlRWRpdENvbW1hbmQuY3BwCkBAIC0yMzEsNiArMjMxLDcgQEAgdm9pZCBFZGl0Q29t
bWFuZENvbXBvc2l0aW9uOjp1bmFwcGx5KCkKICAgICBtX2RvY3VtZW50LT5lZGl0b3IoKS5jYW5j
ZWxDb21wb3NpdGlvbigpOwogI2VuZGlmCiAKKyAgICBVbmNsYW1wRnJhbWVWaWV3U2Nyb2xsUG9z
aXRpb25Gb3JTY29wZSB1bmNsYW1wU2Nyb2xsUG9zaXRpb24oKm1fZG9jdW1lbnQpOwogICAgIGlm
ICghbV9kb2N1bWVudC0+ZWRpdG9yKCkud2lsbFVuYXBwbHlFZGl0aW5nKCp0aGlzKSkKICAgICAg
ICAgcmV0dXJuOwogCkBAIC0yNTgsNiArMjU5LDcgQEAgdm9pZCBFZGl0Q29tbWFuZENvbXBvc2l0
aW9uOjpyZWFwcGx5KCkKICAgICAvLyBpZiBvbmUgaXMgbmVjZXNzYXJ5IChsaWtlIGZvciB0aGUg
Y3JlYXRpb24gb2YgVmlzaWJsZVBvc2l0aW9ucykuCiAgICAgbV9kb2N1bWVudC0+dXBkYXRlTGF5
b3V0SWdub3JlUGVuZGluZ1N0eWxlc2hlZXRzKCk7CiAKKyAgICBVbmNsYW1wRnJhbWVWaWV3U2Ny
b2xsUG9zaXRpb25Gb3JTY29wZSB1bmNsYW1wU2Nyb2xsUG9zaXRpb24oKm1fZG9jdW1lbnQpOwog
ICAgIGlmICghbV9kb2N1bWVudC0+ZWRpdG9yKCkud2lsbFJlYXBwbHlFZGl0aW5nKCp0aGlzKSkK
ICAgICAgICAgcmV0dXJuOwogCkBAIC0zNjQsNiArMzY2LDcgQEAgdm9pZCBDb21wb3NpdGVFZGl0
Q29tbWFuZDo6YXBwbHkoKQogICAgIC8vIGlmIG9uZSBpcyBuZWNlc3NhcnkgKGxpa2UgZm9yIHRo
ZSBjcmVhdGlvbiBvZiBWaXNpYmxlUG9zaXRpb25zKS4KICAgICBkb2N1bWVudCgpLnVwZGF0ZUxh
eW91dElnbm9yZVBlbmRpbmdTdHlsZXNoZWV0cygpOwogCisgICAgVW5jbGFtcEZyYW1lVmlld1Nj
cm9sbFBvc2l0aW9uRm9yU2NvcGUgdW5jbGFtcFNjcm9sbFBvc2l0aW9uKGRvY3VtZW50KCkpOwog
ICAgIGlmICghd2lsbEFwcGx5Q29tbWFuZCgpKQogICAgICAgICByZXR1cm47CiAKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvRWRpdG9yLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2Vk
aXRpbmcvRWRpdG9yLmNwcAppbmRleCBjYTY4OGFlNDk1YmFjMWQ5MjE3NzBiZjQzNWZjZmMzZjdl
MmIwM2RjLi5kNjFmNDNhMWFhMDllYzQyYWY0OGE5YzhiYjA1ODQzNTczZTMyMzRjIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5nL0VkaXRvci5jcHAKKysrIGIvU291cmNlL1dlYkNv
cmUvZWRpdGluZy9FZGl0b3IuY3BwCkBAIC0yNTgsNiArMjU4LDIwIEBAIHZvaWQgVGVtcG9yYXJ5
U2VsZWN0aW9uQ2hhbmdlOjpzZXRTZWxlY3Rpb24oY29uc3QgVmlzaWJsZVNlbGVjdGlvbiYgc2Vs
ZWN0aW9uKQogICAgIG1fZG9jdW1lbnQtPnNlbGVjdGlvbigpLnNldFNlbGVjdGlvbihzZWxlY3Rp
b24sIG9wdGlvbnMpOwogfQogCitVbmNsYW1wRnJhbWVWaWV3U2Nyb2xsUG9zaXRpb25Gb3JTY29w
ZTo6VW5jbGFtcEZyYW1lVmlld1Njcm9sbFBvc2l0aW9uRm9yU2NvcGUoY29uc3QgRG9jdW1lbnQm
IGRvY3VtZW50KQorICAgIDogbV9mcmFtZVZpZXcobWFrZVdlYWtQdHIoZG9jdW1lbnQuZnJhbWUo
KSA/IGRvY3VtZW50LmZyYW1lKCktPnZpZXcoKSA6IG51bGxwdHIpKQorICAgICwgbV9zaG91bGRS
ZXN0b3JlU2Nyb2xsUG9zaXRpb25DbGFtcGluZyhtX2ZyYW1lVmlldyAmJiAhbV9mcmFtZVZpZXct
PmFsbG93c1VuY2xhbXBlZFNjcm9sbFBvc2l0aW9uKCkpCit7CisgICAgaWYgKG1fZnJhbWVWaWV3
KQorICAgICAgICBtX2ZyYW1lVmlldy0+c2V0QWxsb3dzVW5jbGFtcGVkU2Nyb2xsUG9zaXRpb24o
dHJ1ZSk7Cit9CisKK1VuY2xhbXBGcmFtZVZpZXdTY3JvbGxQb3NpdGlvbkZvclNjb3BlOjp+VW5j
bGFtcEZyYW1lVmlld1Njcm9sbFBvc2l0aW9uRm9yU2NvcGUoKQoreworICAgIGlmIChtX2ZyYW1l
VmlldyAmJiBtX3Nob3VsZFJlc3RvcmVTY3JvbGxQb3NpdGlvbkNsYW1waW5nKQorICAgICAgICBt
X2ZyYW1lVmlldy0+c2V0QWxsb3dzVW5jbGFtcGVkU2Nyb2xsUG9zaXRpb24oZmFsc2UpOworfQor
CiAvLyBXaGVuIGFuIGV2ZW50IGhhbmRsZXIgaGFzIG1vdmVkIHRoZSBzZWxlY3Rpb24gb3V0c2lk
ZSBvZiBhIHRleHQgY29udHJvbAogLy8gd2Ugc2hvdWxkIHVzZSB0aGUgdGFyZ2V0IGNvbnRyb2wn
cyBzZWxlY3Rpb24gZm9yIHRoaXMgZWRpdGluZyBvcGVyYXRpb24uCiBWaXNpYmxlU2VsZWN0aW9u
IEVkaXRvcjo6c2VsZWN0aW9uRm9yQ29tbWFuZChFdmVudCogZXZlbnQpCkBAIC0xMTA4LDYgKzEx
MjIsOSBAQCBib29sIEVkaXRvcjo6d2lsbEFwcGx5RWRpdGluZyhDb21wb3NpdGVFZGl0Q29tbWFu
ZCYgY29tbWFuZCwgVmVjdG9yPFJlZlB0cjxTdGF0aQogICAgIGlmICghY29tcG9zaXRpb24pCiAg
ICAgICAgIHJldHVybiB0cnVlOwogCisgICAgaWYgKGNvbW1hbmQuaXNUb3BMZXZlbENvbW1hbmQo
KSAmJiBjb21tYW5kLmlzVHlwaW5nQ29tbWFuZCgpKQorICAgICAgICBtX3VuY2xhbXBGcmFtZVZp
ZXdTY3JvbGxQb3NpdGlvbldoaWxlVHlwaW5nID0gbWFrZVVuaXF1ZTxVbmNsYW1wRnJhbWVWaWV3
U2Nyb2xsUG9zaXRpb25Gb3JTY29wZT4oZG9jdW1lbnQoKSk7CisKICAgICByZXR1cm4gZGlzcGF0
Y2hCZWZvcmVJbnB1dEV2ZW50cyhjb21wb3NpdGlvbi0+c3RhcnRpbmdSb290RWRpdGFibGVFbGVt
ZW50KCksIGNvbXBvc2l0aW9uLT5lbmRpbmdSb290RWRpdGFibGVFbGVtZW50KCksIGNvbW1hbmQu
aW5wdXRFdmVudFR5cGVOYW1lKCksCiAgICAgICAgIGNvbW1hbmQuaW5wdXRFdmVudERhdGEoKSwg
Y29tbWFuZC5pbnB1dEV2ZW50RGF0YVRyYW5zZmVyKCksIHRhcmdldFJhbmdlcywgY29tbWFuZC5p
c0JlZm9yZUlucHV0RXZlbnRDYW5jZWxhYmxlKCkgPyBFdmVudDo6SXNDYW5jZWxhYmxlOjpZZXMg
OiBFdmVudDo6SXNDYW5jZWxhYmxlOjpObyk7CiB9CkBAIC0xMTU1LDYgKzExNzIsOSBAQCB2b2lk
IEVkaXRvcjo6YXBwbGllZEVkaXRpbmcoQ29tcG9zaXRlRWRpdENvbW1hbmQmIGNvbW1hbmQpCiAg
ICAgICAgICAgICAgICAgY2xpZW50KCktPnJlZ2lzdGVyVW5kb1N0ZXAobV9sYXN0RWRpdENvbW1h
bmQtPmVuc3VyZUNvbXBvc2l0aW9uKCkpOwogICAgICAgICB9CiAgICAgICAgIHJlc3BvbmRUb0No
YW5nZWRDb250ZW50cyhuZXdTZWxlY3Rpb24pOworCisgICAgICAgIGlmIChjb21tYW5kLmlzVHlw
aW5nQ29tbWFuZCgpKQorICAgICAgICAgICAgbV91bmNsYW1wRnJhbWVWaWV3U2Nyb2xsUG9zaXRp
b25XaGlsZVR5cGluZyA9IG51bGxwdHI7CiAgICAgfQogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9lZGl0aW5nL0VkaXRvci5oIGIvU291cmNlL1dlYkNvcmUvZWRpdGluZy9FZGl0b3Iu
aAppbmRleCA2OWQ2MDU5MzAyNjUyZjY3MmZkMjU5MTUyZDNkY2ZiNDVmZjA5MjZmLi4wZmMyMzA2
YTlkNmJjYzAyNjI0OWY0MmNkNjg2NmJkZDc1OTg0Y2IyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9lZGl0aW5nL0VkaXRvci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvRWRpdG9y
LmgKQEAgLTE0OSw2ICsxNDksMTcgQEAgcHJpdmF0ZToKICAgICBUZW1wb3JhcnlTZWxlY3Rpb25D
aGFuZ2UgbV9zZWxlY3Rpb25DaGFuZ2U7CiB9OwogCitjbGFzcyBVbmNsYW1wRnJhbWVWaWV3U2Ny
b2xsUG9zaXRpb25Gb3JTY29wZSB7CisgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CitwdWJs
aWM6CisgICAgVW5jbGFtcEZyYW1lVmlld1Njcm9sbFBvc2l0aW9uRm9yU2NvcGUoY29uc3QgRG9j
dW1lbnQmKTsKKyAgICB+VW5jbGFtcEZyYW1lVmlld1Njcm9sbFBvc2l0aW9uRm9yU2NvcGUoKTsK
KworcHJpdmF0ZToKKyAgICBXZWFrUHRyPEZyYW1lVmlldz4gbV9mcmFtZVZpZXc7CisgICAgYm9v
bCBtX3Nob3VsZFJlc3RvcmVTY3JvbGxQb3NpdGlvbkNsYW1waW5nIHsgZmFsc2UgfTsKK307CisK
IGNsYXNzIEVkaXRvciB7CiAgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiBwdWJsaWM6CkBA
IC02NjksNiArNjgwLDggQEAgcHJpdmF0ZToKICAgICBWZWN0b3I8U2ltcGxlUmFuZ2U+IG1fZGV0
ZWN0ZWRUZWxlcGhvbmVOdW1iZXJSYW5nZXM7CiAjZW5kaWYKIAorICAgIG11dGFibGUgc3RkOjp1
bmlxdWVfcHRyPFVuY2xhbXBGcmFtZVZpZXdTY3JvbGxQb3NpdGlvbkZvclNjb3BlPiBtX3VuY2xh
bXBGcmFtZVZpZXdTY3JvbGxQb3NpdGlvbldoaWxlVHlwaW5nOworCiAgICAgYm9vbCBtX2lzR2V0
dGluZ0RpY3Rpb25hcnlQb3B1cEluZm8geyBmYWxzZSB9OwogICAgIEhhc2hTZXQ8UmVmUHRyPEhU
TUxJbWFnZUVsZW1lbnQ+PiBtX2ltYWdlRWxlbWVudHNUb0xvYWRCZWZvcmVSZXZlYWxpbmdTZWxl
Y3Rpb247CiB9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vU2Nyb2xsVmll
dy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9TY3JvbGxWaWV3LmNwcAppbmRleCA2NDk0
YzlmZTUyNGZjYWU3NzllYzBiOGQ2YmI0NzA1NTkwYTM1NDNhLi40MmNmMzZiMzUxYTkzYmY2NTkw
OWQ1ODNjZDliMTg3MzY1YzgwMGJlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9TY3JvbGxWaWV3LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9TY3JvbGxWaWV3
LmNwcApAQCAtNTcxLDYgKzU3MSwxNyBAQCBJbnRTaXplIFNjcm9sbFZpZXc6Om92ZXJoYW5nQW1v
dW50KCkgY29uc3QKICAgICByZXR1cm4gc3RyZXRjaDsKIH0KIAordm9pZCBTY3JvbGxWaWV3Ojpz
ZXRBbGxvd3NVbmNsYW1wZWRTY3JvbGxQb3NpdGlvbihib29sIGFsbG93c1VuY2xhbXBlZFNjcm9s
bFBvc2l0aW9uKQoreworICAgIGlmIChtX2FsbG93c1VuY2xhbXBlZFNjcm9sbFBvc2l0aW9uID09
IGFsbG93c1VuY2xhbXBlZFNjcm9sbFBvc2l0aW9uKQorICAgICAgICByZXR1cm47CisKKyAgICBt
X2FsbG93c1VuY2xhbXBlZFNjcm9sbFBvc2l0aW9uID0gYWxsb3dzVW5jbGFtcGVkU2Nyb2xsUG9z
aXRpb247CisKKyAgICBpZiAoIW1fYWxsb3dzVW5jbGFtcGVkU2Nyb2xsUG9zaXRpb24gJiYgIWlz
UnViYmVyQmFuZEluUHJvZ3Jlc3MoKSkKKyAgICAgICAgdXBkYXRlU2Nyb2xsYmFycyhzY3JvbGxQ
b3NpdGlvbigpKTsKK30KKwogYm9vbCBTY3JvbGxWaWV3OjptYW5hZ2VzU2Nyb2xsYmFycygpIGNv
bnN0CiB7CiAjaWYgUExBVEZPUk0oSU9TX0ZBTUlMWSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL1Njcm9sbFZpZXcuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1Njcm9s
bFZpZXcuaAppbmRleCA3MTA0MTUzZjU2MWYwYWNlNDI4MjRhMjk0MjY0MjM0NDQwOWM2YTI5Li43
NTQzZDhjZTM4MGNjZWNlODFiNDhhZWFiYzJjYWVlNTFmOTE0NDRiIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9TY3JvbGxWaWV3LmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vU2Nyb2xsVmlldy5oCkBAIC0zODEsNyArMzgxLDcgQEAgcHVibGljOgogCiAgICAgV0VC
Q09SRV9FWFBPUlQgdm9pZCBzY3JvbGxPZmZzZXRDaGFuZ2VkVmlhUGxhdGZvcm1XaWRnZXQoY29u
c3QgU2Nyb2xsT2Zmc2V0JiBvbGRPZmZzZXQsIGNvbnN0IFNjcm9sbE9mZnNldCYgbmV3T2Zmc2V0
KTsKIAotICAgIHZvaWQgc2V0QWxsb3dzVW5jbGFtcGVkU2Nyb2xsUG9zaXRpb25Gb3JUZXN0aW5n
KGJvb2wgYWxsb3dzVW5jbGFtcGVkU2Nyb2xsUG9zaXRpb24pIHsgbV9hbGxvd3NVbmNsYW1wZWRT
Y3JvbGxQb3NpdGlvbiA9IGFsbG93c1VuY2xhbXBlZFNjcm9sbFBvc2l0aW9uOyB9CisgICAgV0VC
Q09SRV9FWFBPUlQgdm9pZCBzZXRBbGxvd3NVbmNsYW1wZWRTY3JvbGxQb3NpdGlvbihib29sKTsK
ICAgICBib29sIGFsbG93c1VuY2xhbXBlZFNjcm9sbFBvc2l0aW9uKCkgY29uc3QgeyByZXR1cm4g
bV9hbGxvd3NVbmNsYW1wZWRTY3JvbGxQb3NpdGlvbjsgfQogCiAgICAgYm9vbCBtYW5hZ2VzU2Ny
b2xsYmFycygpIGNvbnN0OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRl
cm5hbFNldHRpbmdzLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxTZXR0aW5n
cy5jcHAKaW5kZXggNDYxNTE2MzRiZWIwNDBmYWIxMzQwYWZiMGYzZGZkYmMzODEyNmE2MS4uNGNk
YzJkOWE2ZTYxZWNlZjgwMmFjZDU4ODM3OTlmMDNmMjZhYWZmZCAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbFNldHRpbmdzLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS90ZXN0aW5nL0ludGVybmFsU2V0dGluZ3MuY3BwCkBAIC03NDIsNyArNzQyLDcgQEAgRXhjZXB0
aW9uT3I8dm9pZD4gSW50ZXJuYWxTZXR0aW5nczo6c2V0QWxsb3dVbmNsYW1wZWRTY3JvbGxQb3Np
dGlvbihib29sIGFsbG93VW4KICAgICBpZiAoIW1fcGFnZSB8fCAhbV9wYWdlLT5tYWluRnJhbWUo
KS52aWV3KCkpCiAgICAgICAgIHJldHVybiBFeGNlcHRpb24geyBJbnZhbGlkQWNjZXNzRXJyb3Ig
fTsKIAotICAgIG1fcGFnZS0+bWFpbkZyYW1lKCkudmlldygpLT5zZXRBbGxvd3NVbmNsYW1wZWRT
Y3JvbGxQb3NpdGlvbkZvclRlc3RpbmcoYWxsb3dVbmNsYW1wZWQpOworICAgIG1fcGFnZS0+bWFp
bkZyYW1lKCkudmlldygpLT5zZXRBbGxvd3NVbmNsYW1wZWRTY3JvbGxQb3NpdGlvbihhbGxvd1Vu
Y2xhbXBlZCk7CiAgICAgcmV0dXJuIHsgfTsKIH0KIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
Q2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4IGM1MWU5ZmY4OGNmOTdmMDIx
ODI4MjgzZTEyOWVlMGFmYmJmZTNmZmUuLjJkN2NiNjlhNDU4ZjQzNjljZWFiZGY2YzE4OGY0Zjll
Mjc5M2IxNzMgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5nZUxvZworKysgYi9MYXlvdXRU
ZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNyBAQAorMjAyMC0wNy0xNiAgV2Vuc29uIEhzaWVo
ICA8d2Vuc29uX2hzaWVoQGFwcGxlLmNvbT4KKworICAgICAgICBSRUdSRVNTSU9OIChyMjYxODc0
KTogVHlwaW5nIG5lYXIgdGhlIGJvdHRvbSBvZiBhIHNjcm9sbGFibGUgZG9jdW1lbnQgY2F1c2Vz
IHRoZSBzY3JvbGwgcG9zaXRpb24gdG8ganVtcAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjE0NDI2CisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS82NTMw
MjcwMT4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBB
ZGQgYSB0ZXN0IHRvIHZlcmlmeSB0aGF0IHRoZSBzY3JvbGwgcG9zaXRpb24gZG9lc24ndCBjaGFu
Z2Ugd2hlbiBkZWxldGluZyBhbmQgdGhlbiByZWluc2VydGluZyB0aGUgb25seQorICAgICAgICBj
aGFyYWN0ZXIgb24gYSBsaW5lIChpLmUuIGBkaXZgIGVsZW1lbnQpIGluIGEgY29udGVudGVkaXRh
YmxlIGVsZW1lbnQuCisKKyAgICAgICAgKiBlZGl0aW5nL2V4ZWNDb21tYW5kL3R5cGluZy1zaG91
bGQtbm90LXRyaWdnZXItc2Nyb2xsaW5nLXdoZW4tc2VsZWN0aW9uLWlzLXZpc2libGUtZXhwZWN0
ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2V4ZWNDb21tYW5kL3R5cGluZy1zaG91
bGQtbm90LXRyaWdnZXItc2Nyb2xsaW5nLXdoZW4tc2VsZWN0aW9uLWlzLXZpc2libGUuaHRtbDog
QWRkZWQuCisKIDIwMjAtMDctMTQgIEhlY3RvciBMb3BleiAgPGhlY3Rvcl9pX2xvcGV6QGFwcGxl
LmNvbT4KIAogICAgICAgICBSRUdSRVNTSU9OOiAocjI2Mzc2MSkgWyBpT1MgXSB3ZWJhbmltYXRp
b25zL2FjY2VsZXJhdGVkLWFuaW1hdGlvbi13aXRoLWVhc2luZy5odG1sIGlzIHN0aWxsIGZsYWt5
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2V4ZWNDb21tYW5kL3R5cGluZy1zaG91
bGQtbm90LXRyaWdnZXItc2Nyb2xsaW5nLXdoZW4tc2VsZWN0aW9uLWlzLXZpc2libGUtZXhwZWN0
ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9leGVjQ29tbWFuZC90eXBpbmctc2hvdWxkLW5v
dC10cmlnZ2VyLXNjcm9sbGluZy13aGVuLXNlbGVjdGlvbi1pcy12aXNpYmxlLWV4cGVjdGVkLnR4
dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi5jMzdhZTI2OWU4MmM3NzBhMjVkMDU2Nzg1MThkMGM4YmUwNWYwZTQzCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9leGVjQ29tbWFuZC90eXBpbmct
c2hvdWxkLW5vdC10cmlnZ2VyLXNjcm9sbGluZy13aGVuLXNlbGVjdGlvbi1pcy12aXNpYmxlLWV4
cGVjdGVkLnR4dApAQCAtMCwwICsxLDE0IEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCB0eXBp
bmcgdGV4dCwgdGhlbiB1bmRvaW5nLCBhbmQgdGhlbiByZWRvaW5nIGRvZXMgbm90IGNhdXNlIHRo
ZSBzY3JvbGwgcG9zaXRpb24gb2YgdGhlIGRvY3VtZW50IHRvIGp1bXAgYXJvdW5kLgorCitPbiBz
dWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dl
ZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1Mgc2Nyb2xsVG9wQWZ0ZXJUeXBpbmcgaXMgc2Ny
b2xsVG9wQWZ0ZXJEZWxldGluZworUEFTUyBzY3JvbGxUb3BBZnRlclVuZG9pbmcgaXMgc2Nyb2xs
VG9wQWZ0ZXJUeXBpbmcKK1BBU1Mgc2Nyb2xsVG9wQWZ0ZXJSZWRvaW5nIGlzIHNjcm9sbFRvcEFm
dGVyVW5kb2luZworUEFTUyBzY3JvbGxUb3BBZnRlckRlbGV0aW5nVHdpY2UgPCBzY3JvbGxUb3BB
ZnRlclJlZG9pbmcgaXMgdHJ1ZQorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitU
RVNUIENPTVBMRVRFCitUcnkgdG8gZGVsZXRlIHRoZSBsZXR0ZXJzIGJlbG93LgorQQorQgpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9leGVjQ29tbWFuZC90eXBpbmctc2hvdWxkLW5v
dC10cmlnZ2VyLXNjcm9sbGluZy13aGVuLXNlbGVjdGlvbi1pcy12aXNpYmxlLmh0bWwgYi9MYXlv
dXRUZXN0cy9lZGl0aW5nL2V4ZWNDb21tYW5kL3R5cGluZy1zaG91bGQtbm90LXRyaWdnZXItc2Ny
b2xsaW5nLXdoZW4tc2VsZWN0aW9uLWlzLXZpc2libGUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi45NTM2NTZi
Y2NjYmJhNmNjZDc3MDc0MTUzMDFiYmY0MWJkZThkMzk2Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9leGVjQ29tbWFuZC90eXBpbmctc2hvdWxkLW5vdC10cmlnZ2VyLXNj
cm9sbGluZy13aGVuLXNlbGVjdGlvbi1pcy12aXNpYmxlLmh0bWwKQEAgLTAsMCArMSw3NSBAQAor
PCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3
cG9ydD10cnVlIF0gLS0+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNv
bnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KKzxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vZWRp
dGluZy5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CitkaXZbY29udGVudGVkaXRhYmxlXSB7CisgICAg
bWFyZ2luLXRvcDogMjAwMHB4OworICAgIGZvbnQtc2l6ZTogMjBweDsKKyAgICBib3JkZXI6IHNv
bGlkIGJsYWNrIDFweDsKKyAgICBvdXRsaW5lOiBub25lOworfQorPC9zdHlsZT4KKzwvaGVhZD4K
Kzxib2R5PgorPGRpdiBpZD0ib3V0cHV0Ij4KKyAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9k
aXY+CisgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8L2Rpdj4KKzxkaXYgY29udGVudGVk
aXRhYmxlPgorICAgIDxkaXY+VHJ5IHRvIGRlbGV0ZSB0aGUgbGV0dGVycyBiZWxvdy48L2Rpdj4K
KyAgICA8ZGl2PkE8L2Rpdj4KKyAgICA8ZGl2PkI8L2Rpdj4KKyAgICA8ZGl2PkM8L2Rpdj4KKyAg
ICA8ZGl2IGlkPSJ0YXJnZXQiPjxicj48L2Rpdj4KKzwvZGl2PgorPHNjcmlwdD4KK2Rlc2NyaXB0
aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCB0eXBpbmcgdGV4dCwgdGhlbiB1bmRvaW5nLCBh
bmQgdGhlbiByZWRvaW5nIGRvZXMgbm90IGNhdXNlIHRoZSBzY3JvbGwgcG9zaXRpb24gb2YgdGhl
IGRvY3VtZW50IHRvIGp1bXAgYXJvdW5kLiIpOworCitqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKwor
YWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIGFzeW5jICgpID0+IHsKKyAgICBhd2FpdCBVSUhlbHBl
ci5lbnN1cmVQcmVzZW50YXRpb25VcGRhdGUoKTsKKworICAgIGdldFNlbGVjdGlvbigpLnNldFBv
c2l0aW9uKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJ0YXJnZXQiKSk7CisgICAgdGFyZ2V0LnNj
cm9sbEludG9WaWV3KCk7CisgICAgYXdhaXQgVUlIZWxwZXIuZW5zdXJlUHJlc2VudGF0aW9uVXBk
YXRlKCk7CisKKyAgICB0eXBlQ2hhcmFjdGVyQ29tbWFuZCgiRCIpOworICAgIGRlbGV0ZUNvbW1h
bmQoKTsKKyAgICBhd2FpdCBVSUhlbHBlci5lbnN1cmVQcmVzZW50YXRpb25VcGRhdGUoKTsKKwor
ICAgIHNjcm9sbFRvcEFmdGVyRGVsZXRpbmcgPSBkb2N1bWVudC5zY3JvbGxpbmdFbGVtZW50LnNj
cm9sbFRvcDsKKyAgICB0eXBlQ2hhcmFjdGVyQ29tbWFuZCgiRCIpOworICAgIGF3YWl0IFVJSGVs
cGVyLmVuc3VyZVByZXNlbnRhdGlvblVwZGF0ZSgpOworCisgICAgc2Nyb2xsVG9wQWZ0ZXJUeXBp
bmcgPSBkb2N1bWVudC5zY3JvbGxpbmdFbGVtZW50LnNjcm9sbFRvcDsKKyAgICB1bmRvQ29tbWFu
ZCgpOworICAgIGF3YWl0IFVJSGVscGVyLmVuc3VyZVByZXNlbnRhdGlvblVwZGF0ZSgpOworCisg
ICAgc2Nyb2xsVG9wQWZ0ZXJVbmRvaW5nID0gZG9jdW1lbnQuc2Nyb2xsaW5nRWxlbWVudC5zY3Jv
bGxUb3A7CisgICAgcmVkb0NvbW1hbmQoKTsKKyAgICBhd2FpdCBVSUhlbHBlci5lbnN1cmVQcmVz
ZW50YXRpb25VcGRhdGUoKTsKKworICAgIHNjcm9sbFRvcEFmdGVyUmVkb2luZyA9IGRvY3VtZW50
LnNjcm9sbGluZ0VsZW1lbnQuc2Nyb2xsVG9wOworICAgIGRlbGV0ZUNvbW1hbmQoKTsKKyAgICBk
ZWxldGVDb21tYW5kKCk7CisgICAgZGVsZXRlQ29tbWFuZCgpOworICAgIGRlbGV0ZUNvbW1hbmQo
KTsKKyAgICBhd2FpdCBVSUhlbHBlci5lbnN1cmVQcmVzZW50YXRpb25VcGRhdGUoKTsKKworICAg
IHNjcm9sbFRvcEFmdGVyRGVsZXRpbmdUd2ljZSA9IGRvY3VtZW50LnNjcm9sbGluZ0VsZW1lbnQu
c2Nyb2xsVG9wOworICAgIHNob3VsZEJlKCJzY3JvbGxUb3BBZnRlclR5cGluZyIsICJzY3JvbGxU
b3BBZnRlckRlbGV0aW5nIik7CisgICAgc2hvdWxkQmUoInNjcm9sbFRvcEFmdGVyVW5kb2luZyIs
ICJzY3JvbGxUb3BBZnRlclR5cGluZyIpOworICAgIHNob3VsZEJlKCJzY3JvbGxUb3BBZnRlclJl
ZG9pbmciLCAic2Nyb2xsVG9wQWZ0ZXJVbmRvaW5nIik7CisgICAgc2hvdWxkQmVUcnVlKCJzY3Jv
bGxUb3BBZnRlckRlbGV0aW5nVHdpY2UgPCBzY3JvbGxUb3BBZnRlclJlZG9pbmciKTsKKworICAg
IGZpbmlzaEpTVGVzdCgpOworfSk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KKzwvaHRt
bD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>404741</attachid>
            <date>2020-07-20 12:25:26 -0700</date>
            <delta_ts>2020-07-20 13:50:01 -0700</delta_ts>
            <desc>For EWS</desc>
            <filename>bug-214426-20200720122525.patch</filename>
            <type>text/plain</type>
            <size>22564</size>
            <attacher name="Wenson Hsieh">wenson_hsieh</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjY0NTU2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNDA5NjhmNmJhNjczYmQ3
YTBkZmRhOTU2ZWJhNWJmYWUwNDQwOTUxMi4uZTczYWQxYTg0OTNkMjIyNjc2NjJlYTQ1Yjc4NGFi
ZGEzZGEwODM4YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDgwIEBACisyMDIwLTA3LTIwICBXZW5z
b24gSHNpZWggIDx3ZW5zb25faHNpZWhAYXBwbGUuY29tPgorCisgICAgICAgIFJFR1JFU1NJT04g
KHIyNjE4NzQpOiBUeXBpbmcgbmVhciB0aGUgYm90dG9tIG9mIGEgc2Nyb2xsYWJsZSBkb2N1bWVu
dCBjYXVzZXMgdGhlIHNjcm9sbCBwb3NpdGlvbiB0byBqdW1wCisgICAgICAgIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMTQ0MjYKKyAgICAgICAgPHJkYXI6Ly9wcm9i
bGVtLzY1MzAyNzAxPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisg
ICAgICAgIEFmdGVyIHRoZSBjaGFuZ2VzIGluIHIyNjE4NzQsIGFueSBjb250ZW50IHNpemUgY2hh
bmdlcyB0aGF0IHRyaWdnZXIgYEZyYW1lVmlldzo6YWRqdXN0Vmlld1NpemVgIGNhdXNlIHRoZSBz
Y3JvbGwKKyAgICAgICAgcG9zaXRpb24gdG8gYmUgY2xhbXBlZCB0byBpdHMgbWluaW11bSBhbmQg
bWF4aW11bSBsaW1pdHMgYWZ0ZXIgdGhlIG5leHQgbGF5b3V0IHBhc3MuIEluIHRoZSBjb250ZXh0
IG9mIGVkaXQKKyAgICAgICAgY29tbWFuZHMsIHRoaXMgbWVhbnMgdGhhdCB0aGUgc2Nyb2xsIHBv
c2l0aW9uIG1heSBqdW1wIGVycmF0aWNhbGx5LCBzaW5jZSBtYW55IGVkaXQgY29tbWFuZHMgY2Fu
IHRlbXBvcmFyaWx5CisgICAgICAgIGxlYXZlIHRoZSBET00gaW4gYSBzdGF0ZSB3aGVyZSB0aGUg
Y29udGVudCBzaXplIGlzIHVuc3RhYmxlLgorCisgICAgICAgIEZvciBleGFtcGxlLCBpbiB0aGUg
dGVzdCBjYXNlIGJlbG93LCBkZWxldGluZyB0aGUgb25seSBjaGFyYWN0ZXIgaW4gYSBkaXYgZWxl
bWVudCBvbiBpdHMgb3duIGxpbmUgZmlyc3QgaW52b2x2ZXMKKyAgICAgICAgZW1wdHlpbmcgdGhl
IHRleHQgbm9kZSB1bmRlcm5lYXRoIHRoZSBkaXYgKGNhdXNpbmcgaXQgdG8gaGF2ZSBubyBoZWln
aHQpLCBiZWZvcmUgaW5zZXJ0aW5nIGEgQlIgZWxlbWVudCBpbiBpdHMKKyAgICAgICAgcGxhY2Ug
KHdoaWNoIHJlc3RvcmVzIGEgbm9uemVybyBoZWlnaHQpLiBBZnRlciB0aGUgdGV4dCBub2RlIGlz
IGVtcHRpZWQgKGJ1dCBiZWZvcmUgd2UgaW5zZXJ0IHRoZSBCUiBlbGVtZW50KSwKKyAgICAgICAg
dGhlIGNvbnRlbnQgc2l6ZSBvZiB2aWV3IGNoYW5nZXM7IGlmIHdlIGhhcHBlbiB0byBiZSBzY3Jv
bGxlZCBhbGwgdGhlIHdheSB0byB0aGUgYm90dG9tIG9mIHRoZSBtYWluIGZyYW1lLCB0aGlzCisg
ICAgICAgIG1lYW5zIHdlJ2xsIHNjcm9sbCB1cCwgZHVlIHRvIHRoZSBtYXhpbXVtIHNjcm9sbCBw
b3NpdGlvbiB0ZW1wb3JhcmlseSBkZWNyZWFzaW5nLiBBIHNpbWlsYXIgZWZmZWN0IGhhcHBlbnMg
d2hlbgorICAgICAgICBpbnNlcnRpbmcgdGhlIGZpcnN0IGNoYXJhY3RlciBvbiBhIGxpbmUsIHdo
ZXJlaW4gdGhlIGRpdiBpcyBlbXB0eSBhZnRlciBCUiBlbGVtZW50IGlzIHJlbW92ZWQgYnV0IGJl
Zm9yZSBpdCBpcworICAgICAgICByZXBsYWNlZCB3aXRoIGEgdGV4dCBub2RlLgorCisgICAgICAg
IFRvIG1pdGlnYXRlIHRoaXMsIGludHJvZHVjZSBhIG1lY2hhbmlzbSB0byB0ZW1wb3JhcmlseSBh
dm9pZCB1cGRhdGluZyB0aGUgc2Nyb2xsIHBvc2l0aW9uLCBhbmQgdXNlIGl0IHdoZW4KKyAgICAg
ICAgZXhlY3V0aW5nIGVkaXQgY29tbWFuZHMuIFNlZSBiZWxvdyBmb3IgbW9yZSBkZXRhaWxzLgor
CisgICAgICAgIFRlc3Q6IGVkaXRpbmcvZXhlY0NvbW1hbmQvdHlwaW5nLXNob3VsZC1ub3QtdHJp
Z2dlci1zY3JvbGxpbmctd2hlbi1zZWxlY3Rpb24taXMtdmlzaWJsZS5odG1sCisKKyAgICAgICAg
KiBlZGl0aW5nL0NvbXBvc2l0ZUVkaXRDb21tYW5kLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkVk
aXRDb21tYW5kQ29tcG9zaXRpb246OnVuYXBwbHkpOgorICAgICAgICAoV2ViQ29yZTo6RWRpdENv
bW1hbmRDb21wb3NpdGlvbjo6cmVhcHBseSk6CisgICAgICAgIChXZWJDb3JlOjpDb21wb3NpdGVF
ZGl0Q29tbWFuZDo6YXBwbHkpOgorICAgICAgICAqIGVkaXRpbmcvRWRpdG9yLmNwcDoKKyAgICAg
ICAgKFdlYkNvcmU6OkVkaXRvcjo6d2lsbEFwcGx5RWRpdGluZyBjb25zdCk6CisgICAgICAgIChX
ZWJDb3JlOjpFZGl0b3I6OmFwcGxpZWRFZGl0aW5nKToKKworICAgICAgICBBZGQgbG9naWMgdG8g
c3BlY2lmaWNhbGx5IGhhbmRsZSB0eXBpbmcgY29tbWFuZHMgaGVyZSwgc2luY2Ugd2UgaGFuZGxl
IHR5cGluZyBjb21tYW5kcyBieSBhZGRpbmcgdGhlbSB0byB0aGUKKyAgICAgICAgbGF0ZXN0ICJv
cGVuIiB0eXBpbmcgY29tbWFuZCwgcmF0aGVyIHRoYW4gZ28gdGhyb3VnaCB0aGUgbW9yZSBzdGFu
ZGFyZCBjb2RlcGF0aHMgaW4gRWRpdENvbW1hbmRDb21wb3NpdGlvbgorICAgICAgICBhYm92ZS4K
KworICAgICAgICAqIGVkaXRpbmcvRWRpdG9yLmg6CisgICAgICAgICogcGFnZS9GcmFtZVZpZXcu
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6RnJhbWVWaWV3OjpyZXNldCk6CisgICAgICAgIChXZWJD
b3JlOjpGcmFtZVZpZXc6OnRvcENvbnRlbnREaXJlY3Rpb25EaWRDaGFuZ2UpOgorICAgICAgICAo
V2ViQ29yZTo6RnJhbWVWaWV3OjpoYW5kbGVEZWZlcnJlZFNjcm9sbGJhcnNVcGRhdGUpOgorICAg
ICAgICAoV2ViQ29yZTo6RnJhbWVWaWV3OjpoYW5kbGVEZWZlcnJlZFBvc2l0aW9uU2Nyb2xsYmFy
TGF5ZXJzKToKKworICAgICAgICBTcGxpdCBleGlzdGluZyBsb2dpYyBmb3IgaGFuZGxpbmcgZGVm
ZXJyZWQgc2Nyb2xsYmFyIHVwZGF0ZXMgYW5kIGRlZmVycmVkIGNhbGxzIHRvIGBwb3NpdGlvblNj
cm9sbGJhckxheWVyc2AKKyAgICAgICAgaW50byB0d28gc2VwYXJhdGUgbWV0aG9kcywgd2l0aCBz
ZXBhcmF0ZSBib29sZWFuIGZsYWdzLiBgdG9wQ29udGVudERpcmVjdGlvbkRpZENoYW5nZWAgc2V0
cyBib3RoIG9mIHRoZXNlIGZsYWdzCisgICAgICAgICh3aGljaCBwcmVzZXJ2ZXMgZXhpc3Rpbmcg
YmVoYXZpb3IpLCB3aGlsZSBgZGVjcmVtZW50UHJvaGliaXRzU2Nyb2xsaW5nV2hlbkNoYW5naW5n
Q29udGVudFNpemVDb3VudGAganVzdAorICAgICAgICByZXF1ZXN0cyBhIHNjcm9sbGJhciB1cGRh
dGUuCisKKyAgICAgICAgKFdlYkNvcmU6OkZyYW1lVmlldzo6ZGlkTGF5b3V0KToKKyAgICAgICAg
KFdlYkNvcmU6OkZyYW1lVmlldzo6ZGlkRmluaXNoUHJvaGliaXRpbmdTY3JvbGxpbmdXaGVuQ2hh
bmdpbmdDb250ZW50U2l6ZSk6CisKKyAgICAgICAgQWZ0ZXIgZGVjcmVtZW50aW5nIGBtX3Byb2hp
Yml0c1Njcm9sbGluZ1doZW5DaGFuZ2luZ0NvbnRlbnRTaXplQ291bnRgIGJhY2sgdG8gemVybywg
ZW5zdXJlIHRoYXQgdGhlIHNjcm9sbAorICAgICAgICBwb3NpdGlvbiB1bHRpbWF0ZWx5IHJlbWFp
bnMgY2xhbXBlZCB0byB0aGUgbWluaW11bSBhbmQgbWF4aW11bSB2YWx1ZXMgYnkgZWl0aGVyIGlt
bWVkaWF0ZWx5IGNhbGxpbmcKKyAgICAgICAgYHVwZGF0ZVNjcm9sbGJhcnNgIHdpdGggdGhlIGN1
cnJlbnQgc2Nyb2xsIHBvc2l0aW9uIGlmIGxheW91dCBhbmQgc3R5bGUgYXJlIHVwIHRvIGRhdGUs
IG9yIGJ5IHNjaGVkdWxpbmcgYQorICAgICAgICBkZWZlcnJlZCBzY3JvbGxiYXIgdXBkYXRlIGlm
IHRoYXQgaXMgbm90IHRoZSBjYXNlLgorCisgICAgICAgIChXZWJDb3JlOjpGcmFtZVZpZXc6Omhh
bmRsZURlZmVycmVkU2Nyb2xsYmFyc1VwZGF0ZUFmdGVyRGlyZWN0aW9uQ2hhbmdlKTogRGVsZXRl
ZC4KKworICAgICAgICBSZW5hbWUgdGhpcyB0byBqdXN0IGBoYW5kbGVEZWZlcnJlZFNjcm9sbGJh
cnNVcGRhdGVgLgorCisgICAgICAgICogcGFnZS9GcmFtZVZpZXcuaDoKKyAgICAgICAgKiBwbGF0
Zm9ybS9TY3JvbGxWaWV3LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlNjcm9sbFZpZXc6OnNldENv
bnRlbnRzU2l6ZSk6CisgICAgICAgIChXZWJDb3JlOjpTY3JvbGxWaWV3Ojpwcm9oaWJpdFNjcm9s
bGluZ1doZW5DaGFuZ2luZ0NvbnRlbnRTaXplRm9yU2NvcGUpOgorICAgICAgICAoV2ViQ29yZTo6
U2Nyb2xsVmlldzo6UHJvaGliaXRTY3JvbGxpbmdXaGVuQ2hhbmdpbmdDb250ZW50U2l6ZUZvclNj
b3BlOjpQcm9oaWJpdFNjcm9sbGluZ1doZW5DaGFuZ2luZ0NvbnRlbnRTaXplRm9yU2NvcGUpOgor
ICAgICAgICAoV2ViQ29yZTo6U2Nyb2xsVmlldzo6UHJvaGliaXRTY3JvbGxpbmdXaGVuQ2hhbmdp
bmdDb250ZW50U2l6ZUZvclNjb3BlOjp+UHJvaGliaXRTY3JvbGxpbmdXaGVuQ2hhbmdpbmdDb250
ZW50U2l6ZUZvclNjb3BlKToKKworICAgICAgICBJbnRyb2R1Y2UgYSBuZXcgdG9rZW4gb2JqZWN0
LCBgUHJvaGliaXRTY3JvbGxpbmdXaGVuQ2hhbmdpbmdDb250ZW50U2l6ZUZvclNjb3BlYCwgd2hp
Y2ggaW5jcmVtZW50cyBhIGNvdW50IG9uCisgICAgICAgIGBTY3JvbGxWaWV3YCB3aGVuIGNyZWF0
ZWQgYW5kIGRlY3JlbWVudHMgdGhlIGNvdW50IHdoZW4gZGVzdHJveWVkLiBXaGlsZSB0aGlzIGNv
dW50ZXIgaXMgZ3JlYXRlciB0aGFuIHplcm8sIHdlCisgICAgICAgIHdpbGwgYXZvaWQgc2Nyb2xs
aW5nIGFzIGEgcmVzdWx0IG9mIGNoYW5naW5nIGNvbnRlbnQgc2l6ZS4KKworICAgICAgICAqIHBs
YXRmb3JtL1Njcm9sbFZpZXcuaDoKKyAgICAgICAgKFdlYkNvcmU6OlNjcm9sbFZpZXc6OmluY3Jl
bWVudFByb2hpYml0c1Njcm9sbGluZ1doZW5DaGFuZ2luZ0NvbnRlbnRTaXplQ291bnQpOgorICAg
ICAgICAoV2ViQ29yZTo6U2Nyb2xsVmlldzo6ZGVjcmVtZW50UHJvaGliaXRzU2Nyb2xsaW5nV2hl
bkNoYW5naW5nQ29udGVudFNpemVDb3VudCk6CisKIDIwMjAtMDctMTcgIFdlbnNvbiBIc2llaCAg
PHdlbnNvbl9oc2llaEBhcHBsZS5jb20+CiAKICAgICAgICAgRm9sbG93dXAgdG8gcjI2NDUzMQpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZWRpdGluZy9Db21wb3NpdGVFZGl0Q29tbWFuZC5j
cHAgYi9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5nL0NvbXBvc2l0ZUVkaXRDb21tYW5kLmNwcAppbmRl
eCA5MGIyMWI4Y2ViMDhjYjA3NzkzMDU0ZTU0MzVkMTZlNGFiY2FhNjI0Li4zNzFjNzlmMjdkOWRj
M2RlZjc4NTYwZmYwMGViMzY0NWNkY2YyOTc1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9l
ZGl0aW5nL0NvbXBvc2l0ZUVkaXRDb21tYW5kLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9lZGl0
aW5nL0NvbXBvc2l0ZUVkaXRDb21tYW5kLmNwcApAQCAtMjMxLDYgKzIzMSw3IEBAIHZvaWQgRWRp
dENvbW1hbmRDb21wb3NpdGlvbjo6dW5hcHBseSgpCiAgICAgbV9kb2N1bWVudC0+ZWRpdG9yKCku
Y2FuY2VsQ29tcG9zaXRpb24oKTsKICNlbmRpZgogCisgICAgYXV0byBwcm9oaWJpdFNjcm9sbGlu
Z0ZvclNjb3BlID0gbV9kb2N1bWVudC0+dmlldygpID8gbV9kb2N1bWVudC0+dmlldygpLT5wcm9o
aWJpdFNjcm9sbGluZ1doZW5DaGFuZ2luZ0NvbnRlbnRTaXplRm9yU2NvcGUoKSA6IG51bGxwdHI7
CiAgICAgaWYgKCFtX2RvY3VtZW50LT5lZGl0b3IoKS53aWxsVW5hcHBseUVkaXRpbmcoKnRoaXMp
KQogICAgICAgICByZXR1cm47CiAKQEAgLTI1OCw2ICsyNTksNyBAQCB2b2lkIEVkaXRDb21tYW5k
Q29tcG9zaXRpb246OnJlYXBwbHkoKQogICAgIC8vIGlmIG9uZSBpcyBuZWNlc3NhcnkgKGxpa2Ug
Zm9yIHRoZSBjcmVhdGlvbiBvZiBWaXNpYmxlUG9zaXRpb25zKS4KICAgICBtX2RvY3VtZW50LT51
cGRhdGVMYXlvdXRJZ25vcmVQZW5kaW5nU3R5bGVzaGVldHMoKTsKIAorICAgIGF1dG8gcHJvaGli
aXRTY3JvbGxpbmdGb3JTY29wZSA9IG1fZG9jdW1lbnQtPnZpZXcoKSA/IG1fZG9jdW1lbnQtPnZp
ZXcoKS0+cHJvaGliaXRTY3JvbGxpbmdXaGVuQ2hhbmdpbmdDb250ZW50U2l6ZUZvclNjb3BlKCkg
OiBudWxscHRyOwogICAgIGlmICghbV9kb2N1bWVudC0+ZWRpdG9yKCkud2lsbFJlYXBwbHlFZGl0
aW5nKCp0aGlzKSkKICAgICAgICAgcmV0dXJuOwogCkBAIC0zNjQsNiArMzY2LDcgQEAgdm9pZCBD
b21wb3NpdGVFZGl0Q29tbWFuZDo6YXBwbHkoKQogICAgIC8vIGlmIG9uZSBpcyBuZWNlc3Nhcnkg
KGxpa2UgZm9yIHRoZSBjcmVhdGlvbiBvZiBWaXNpYmxlUG9zaXRpb25zKS4KICAgICBkb2N1bWVu
dCgpLnVwZGF0ZUxheW91dElnbm9yZVBlbmRpbmdTdHlsZXNoZWV0cygpOwogCisgICAgYXV0byBw
cm9oaWJpdFNjcm9sbGluZ0ZvclNjb3BlID0gZG9jdW1lbnQoKS52aWV3KCkgPyBkb2N1bWVudCgp
LnZpZXcoKS0+cHJvaGliaXRTY3JvbGxpbmdXaGVuQ2hhbmdpbmdDb250ZW50U2l6ZUZvclNjb3Bl
KCkgOiBudWxscHRyOwogICAgIGlmICghd2lsbEFwcGx5Q29tbWFuZCgpKQogICAgICAgICByZXR1
cm47CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvRWRpdG9yLmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL2VkaXRpbmcvRWRpdG9yLmNwcAppbmRleCAyZDdhZTJhYTZkNTQxMTkxODAx
YzhmYzAyNDQxMGJlNmIzNTMxMjk3Li5kYjk3ZDM3NjdmZDhkYzcyODIzMzYxN2Y0NGU3MDYwMDc1
MWI0MGQ3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5nL0VkaXRvci5jcHAKKysr
IGIvU291cmNlL1dlYkNvcmUvZWRpdGluZy9FZGl0b3IuY3BwCkBAIC0xMTA4LDYgKzExMDgsOSBA
QCBib29sIEVkaXRvcjo6d2lsbEFwcGx5RWRpdGluZyhDb21wb3NpdGVFZGl0Q29tbWFuZCYgY29t
bWFuZCwgVmVjdG9yPFJlZlB0cjxTdGF0aQogICAgIGlmICghY29tcG9zaXRpb24pCiAgICAgICAg
IHJldHVybiB0cnVlOwogCisgICAgaWYgKGNvbW1hbmQuaXNUb3BMZXZlbENvbW1hbmQoKSAmJiBj
b21tYW5kLmlzVHlwaW5nQ29tbWFuZCgpICYmIGRvY3VtZW50KCkudmlldygpKQorICAgICAgICBt
X3Byb2hpYml0U2Nyb2xsaW5nRHVlVG9Db250ZW50U2l6ZUNoYW5nZXNXaGlsZVR5cGluZyA9IGRv
Y3VtZW50KCkudmlldygpLT5wcm9oaWJpdFNjcm9sbGluZ1doZW5DaGFuZ2luZ0NvbnRlbnRTaXpl
Rm9yU2NvcGUoKTsKKwogICAgIHJldHVybiBkaXNwYXRjaEJlZm9yZUlucHV0RXZlbnRzKGNvbXBv
c2l0aW9uLT5zdGFydGluZ1Jvb3RFZGl0YWJsZUVsZW1lbnQoKSwgY29tcG9zaXRpb24tPmVuZGlu
Z1Jvb3RFZGl0YWJsZUVsZW1lbnQoKSwgY29tbWFuZC5pbnB1dEV2ZW50VHlwZU5hbWUoKSwKICAg
ICAgICAgY29tbWFuZC5pbnB1dEV2ZW50RGF0YSgpLCBjb21tYW5kLmlucHV0RXZlbnREYXRhVHJh
bnNmZXIoKSwgdGFyZ2V0UmFuZ2VzLCBjb21tYW5kLmlzQmVmb3JlSW5wdXRFdmVudENhbmNlbGFi
bGUoKSA/IEV2ZW50OjpJc0NhbmNlbGFibGU6OlllcyA6IEV2ZW50OjpJc0NhbmNlbGFibGU6Ok5v
KTsKIH0KQEAgLTExNTUsNiArMTE1OCw5IEBAIHZvaWQgRWRpdG9yOjphcHBsaWVkRWRpdGluZyhD
b21wb3NpdGVFZGl0Q29tbWFuZCYgY29tbWFuZCkKICAgICAgICAgICAgICAgICBjbGllbnQoKS0+
cmVnaXN0ZXJVbmRvU3RlcChtX2xhc3RFZGl0Q29tbWFuZC0+ZW5zdXJlQ29tcG9zaXRpb24oKSk7
CiAgICAgICAgIH0KICAgICAgICAgcmVzcG9uZFRvQ2hhbmdlZENvbnRlbnRzKG5ld1NlbGVjdGlv
bik7CisKKyAgICAgICAgaWYgKGNvbW1hbmQuaXNUeXBpbmdDb21tYW5kKCkpCisgICAgICAgICAg
ICBtX3Byb2hpYml0U2Nyb2xsaW5nRHVlVG9Db250ZW50U2l6ZUNoYW5nZXNXaGlsZVR5cGluZyA9
IG51bGxwdHI7CiAgICAgfQogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5n
L0VkaXRvci5oIGIvU291cmNlL1dlYkNvcmUvZWRpdGluZy9FZGl0b3IuaAppbmRleCA2OWQ2MDU5
MzAyNjUyZjY3MmZkMjU5MTUyZDNkY2ZiNDVmZjA5MjZmLi4xMTE0NDBjMjZkNTQxMzgzNGVmMzkx
MmE2ZjIxYjI1ZmNkYjQzMDg4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5nL0Vk
aXRvci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvRWRpdG9yLmgKQEAgLTM1LDYgKzM1
LDcgQEAKICNpbmNsdWRlICJGcmFtZS5oIgogI2luY2x1ZGUgIkZyYW1lU2VsZWN0aW9uLmgiCiAj
aW5jbHVkZSAiUGFzdGVib2FyZFdyaXRlckRhdGEuaCIKKyNpbmNsdWRlICJTY3JvbGxWaWV3Lmgi
CiAjaW5jbHVkZSAiVGV4dENoZWNraW5nLmgiCiAjaW5jbHVkZSAiVGV4dEV2ZW50SW5wdXRUeXBl
LmgiCiAjaW5jbHVkZSAiVGV4dEl0ZXJhdG9yQmVoYXZpb3IuaCIKQEAgLTY2OSw2ICs2NzAsOCBA
QCBwcml2YXRlOgogICAgIFZlY3RvcjxTaW1wbGVSYW5nZT4gbV9kZXRlY3RlZFRlbGVwaG9uZU51
bWJlclJhbmdlczsKICNlbmRpZgogCisgICAgbXV0YWJsZSBzdGQ6OnVuaXF1ZV9wdHI8U2Nyb2xs
Vmlldzo6UHJvaGliaXRTY3JvbGxpbmdXaGVuQ2hhbmdpbmdDb250ZW50U2l6ZUZvclNjb3BlPiBt
X3Byb2hpYml0U2Nyb2xsaW5nRHVlVG9Db250ZW50U2l6ZUNoYW5nZXNXaGlsZVR5cGluZzsKKwog
ICAgIGJvb2wgbV9pc0dldHRpbmdEaWN0aW9uYXJ5UG9wdXBJbmZvIHsgZmFsc2UgfTsKICAgICBI
YXNoU2V0PFJlZlB0cjxIVE1MSW1hZ2VFbGVtZW50Pj4gbV9pbWFnZUVsZW1lbnRzVG9Mb2FkQmVm
b3JlUmV2ZWFsaW5nU2VsZWN0aW9uOwogfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Bh
Z2UvRnJhbWVWaWV3LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRnJhbWVWaWV3LmNwcAppbmRl
eCA5NWI4M2U2YWM3NDc0N2ZjOTFmNjE1NWVlMGNmYjIwYzk4MDhlZTYyLi5iNDU2NWJmNDU5MTdh
OTAyZDE5MTExMWE1YWQ2MTQ0MzVhODYwOTE0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9w
YWdlL0ZyYW1lVmlldy5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9GcmFtZVZpZXcuY3Bw
CkBAIC0yNTgsNiArMjU4LDcgQEAgdm9pZCBGcmFtZVZpZXc6OnJlc2V0KCkKICAgICBtX3BhaW50
QmVoYXZpb3IgPSBQYWludEJlaGF2aW9yOjpOb3JtYWw7CiAgICAgbV9pc1BhaW50aW5nID0gZmFs
c2U7CiAgICAgbV9uZWVkc0RlZmVycmVkU2Nyb2xsYmFyc1VwZGF0ZSA9IGZhbHNlOworICAgIG1f
bmVlZHNEZWZlcnJlZFBvc2l0aW9uU2Nyb2xsYmFyTGF5ZXJzID0gZmFsc2U7CiAgICAgbV9tYWlu
dGFpblNjcm9sbFBvc2l0aW9uQW5jaG9yID0gbnVsbHB0cjsKICAgICByZXNldExheW91dE1pbGVz
dG9uZXMoKTsKICAgICBsYXlvdXRDb250ZXh0KCkucmVzZXQoKTsKQEAgLTEwOTIsMTYgKzEwOTMs
MjQgQEAgdm9pZCBGcmFtZVZpZXc6OnRvcENvbnRlbnRJbnNldERpZENoYW5nZShmbG9hdCBuZXdU
b3BDb250ZW50SW5zZXQpCiB2b2lkIEZyYW1lVmlldzo6dG9wQ29udGVudERpcmVjdGlvbkRpZENo
YW5nZSgpCiB7CiAgICAgbV9uZWVkc0RlZmVycmVkU2Nyb2xsYmFyc1VwZGF0ZSA9IHRydWU7Cisg
ICAgbV9uZWVkc0RlZmVycmVkUG9zaXRpb25TY3JvbGxiYXJMYXllcnMgPSB0cnVlOwogfQogCi12
b2lkIEZyYW1lVmlldzo6aGFuZGxlRGVmZXJyZWRTY3JvbGxiYXJzVXBkYXRlQWZ0ZXJEaXJlY3Rp
b25DaGFuZ2UoKQordm9pZCBGcmFtZVZpZXc6OmhhbmRsZURlZmVycmVkU2Nyb2xsYmFyc1VwZGF0
ZSgpCiB7CiAgICAgaWYgKCFtX25lZWRzRGVmZXJyZWRTY3JvbGxiYXJzVXBkYXRlKQogICAgICAg
ICByZXR1cm47CiAKICAgICBtX25lZWRzRGVmZXJyZWRTY3JvbGxiYXJzVXBkYXRlID0gZmFsc2U7
Ci0KICAgICB1cGRhdGVTY3JvbGxiYXJzKHNjcm9sbFBvc2l0aW9uKCkpOworfQorCit2b2lkIEZy
YW1lVmlldzo6aGFuZGxlRGVmZXJyZWRQb3NpdGlvblNjcm9sbGJhckxheWVycygpCit7CisgICAg
aWYgKCFtX25lZWRzRGVmZXJyZWRQb3NpdGlvblNjcm9sbGJhckxheWVycykKKyAgICAgICAgcmV0
dXJuOworCisgICAgbV9uZWVkc0RlZmVycmVkUG9zaXRpb25TY3JvbGxiYXJMYXllcnMgPSBmYWxz
ZTsKICAgICBwb3NpdGlvblNjcm9sbGJhckxheWVycygpOwogfQogCkBAIC0xMjY1LDcgKzEyNzQs
OCBAQCB2b2lkIEZyYW1lVmlldzo6ZGlkTGF5b3V0KFdlYWtQdHI8UmVuZGVyRWxlbWVudD4gbGF5
b3V0Um9vdCkKIAogICAgIGhhbmRsZURlZmVycmVkU2Nyb2xsVXBkYXRlQWZ0ZXJDb250ZW50U2l6
ZUNoYW5nZSgpOwogCi0gICAgaGFuZGxlRGVmZXJyZWRTY3JvbGxiYXJzVXBkYXRlQWZ0ZXJEaXJl
Y3Rpb25DaGFuZ2UoKTsKKyAgICBoYW5kbGVEZWZlcnJlZFNjcm9sbGJhcnNVcGRhdGUoKTsKKyAg
ICBoYW5kbGVEZWZlcnJlZFBvc2l0aW9uU2Nyb2xsYmFyTGF5ZXJzKCk7CiAKICAgICBpZiAoZG9j
dW1lbnQtPmhhc0xpc3RlbmVyVHlwZShEb2N1bWVudDo6T1ZFUkZMT1dDSEFOR0VEX0xJU1RFTkVS
KSkKICAgICAgICAgdXBkYXRlT3ZlcmZsb3dTdGF0dXMobGF5b3V0V2lkdGgoKSA8IGNvbnRlbnRz
V2lkdGgoKSwgbGF5b3V0SGVpZ2h0KCkgPCBjb250ZW50c0hlaWdodCgpKTsKQEAgLTU0NjksNiAr
NTQ3OSwxNiBAQCBUZXh0U3RyZWFtJiBvcGVyYXRvcjw8KFRleHRTdHJlYW0mIHRzLCBjb25zdCBG
cmFtZVZpZXcmIHZpZXcpCiAgICAgcmV0dXJuIHRzOwogfQogCit2b2lkIEZyYW1lVmlldzo6ZGlk
RmluaXNoUHJvaGliaXRpbmdTY3JvbGxpbmdXaGVuQ2hhbmdpbmdDb250ZW50U2l6ZSgpCit7Cisg
ICAgaWYgKGF1dG8qIGRvY3VtZW50ID0gZnJhbWUoKS5kb2N1bWVudCgpKSB7CisgICAgICAgIGlm
ICghZG9jdW1lbnQtPm5lZWRzU3R5bGVSZWNhbGMoKSAmJiAhbmVlZHNMYXlvdXQoKSAmJiAhbGF5
b3V0Q29udGV4dCgpLmlzSW5MYXlvdXQoKSkKKyAgICAgICAgICAgIHVwZGF0ZVNjcm9sbGJhcnMo
c2Nyb2xsUG9zaXRpb24oKSk7CisgICAgICAgIGVsc2UKKyAgICAgICAgICAgIG1fbmVlZHNEZWZl
cnJlZFNjcm9sbGJhcnNVcGRhdGUgPSB0cnVlOworICAgIH0KK30KKwogfSAvLyBuYW1lc3BhY2Ug
V2ViQ29yZQogCiAjdW5kZWYgUEFHRV9JRApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFn
ZS9GcmFtZVZpZXcuaCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRnJhbWVWaWV3LmgKaW5kZXggOWVi
MTk1ZGQ4NjQxNWNhYjE1ZGY4ZGQzNWJmYTZkZGU1MmM5ZjdhMC4uZDdlOGRiOWFmNDAzY2U1Njgy
NWQ4Mjk2NThkYmQ3YTQwYTQ3MjRjOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9G
cmFtZVZpZXcuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0ZyYW1lVmlldy5oCkBAIC03NzUs
NyArNzc1LDggQEAgcHJpdmF0ZToKIAogICAgIHZvaWQgYWRqdXN0U2Nyb2xsYmFyc0ZvckxheW91
dChib29sIGZpcnN0TGF5b3V0KTsKIAotICAgIHZvaWQgaGFuZGxlRGVmZXJyZWRTY3JvbGxiYXJz
VXBkYXRlQWZ0ZXJEaXJlY3Rpb25DaGFuZ2UoKTsKKyAgICB2b2lkIGhhbmRsZURlZmVycmVkU2Ny
b2xsYmFyc1VwZGF0ZSgpOworICAgIHZvaWQgaGFuZGxlRGVmZXJyZWRQb3NpdGlvblNjcm9sbGJh
ckxheWVycygpOwogCiAgICAgdm9pZCB1cGRhdGVTY3JvbGxhYmxlQXJlYVNldCgpOwogICAgIHZv
aWQgdXBkYXRlTGF5b3V0Vmlld3BvcnQoKTsKQEAgLTgzNCw2ICs4MzUsOCBAQCBwcml2YXRlOgog
ICAgIHZvaWQgb3ZlcnJpZGVWaWV3cG9ydFdpZHRoRm9yQ1NTVmlld3BvcnRVbml0cyhpbnQpOwog
ICAgIHZvaWQgcmVzZXRPdmVycmlkZGVuVmlld3BvcnRXaWR0aEZvckNTU1ZpZXdwb3J0VW5pdHMo
KTsKIAorICAgIHZvaWQgZGlkRmluaXNoUHJvaGliaXRpbmdTY3JvbGxpbmdXaGVuQ2hhbmdpbmdD
b250ZW50U2l6ZSgpIGZpbmFsOworCiAgICAgc3RhdGljIE1vbm90b25pY1RpbWUgc0N1cnJlbnRQ
YWludFRpbWVTdGFtcDsgLy8gdXNlZCBmb3IgZGV0ZWN0aW5nIGRlY29kZWQgcmVzb3VyY2UgdGhy
YXNoIGluIHRoZSBjYWNoZQogCiAgICAgY29uc3QgUmVmPEZyYW1lPiBtX2ZyYW1lOwpAQCAtOTQ1
LDYgKzk0OCw3IEBAIHByaXZhdGU6CiAgICAgYm9vbCBtX2hhc1JlYWNoZWRTaWduaWZpY2FudFJl
bmRlcmVkVGV4dFRocmVzaG9sZCB7IGZhbHNlIH07CiAKICAgICBib29sIG1fbmVlZHNEZWZlcnJl
ZFNjcm9sbGJhcnNVcGRhdGUgeyBmYWxzZSB9OworICAgIGJvb2wgbV9uZWVkc0RlZmVycmVkUG9z
aXRpb25TY3JvbGxiYXJMYXllcnMgeyBmYWxzZSB9OwogICAgIGJvb2wgbV9zcGVjdWxhdGl2ZVRp
bGluZ0VuYWJsZWQgeyBmYWxzZSB9OwogICAgIGJvb2wgbV92aXN1YWxVcGRhdGVzQWxsb3dlZEJ5
Q2xpZW50IHsgdHJ1ZSB9OwogICAgIGJvb2wgbV9oYXNGbGlwcGVkQmxvY2tSZW5kZXJlcnMgeyBm
YWxzZSB9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vU2Nyb2xsVmlldy5j
cHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9TY3JvbGxWaWV3LmNwcAppbmRleCA4ZGU0NDA0
ZjU1ODJiMzc3YjkxOWRlOGFjYTEyNjg4NjNmYzc0ZGU4Li5kYWNhYWQ1MDBmZDcyNzE3M2JkOTQw
NDNlZTMyNDM5NGM3OWNmMTcwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9T
Y3JvbGxWaWV3LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9TY3JvbGxWaWV3LmNw
cApAQCAtMzk4LDcgKzM5OCw3IEBAIHZvaWQgU2Nyb2xsVmlldzo6c2V0Q29udGVudHNTaXplKGNv
bnN0IEludFNpemUmIG5ld1NpemUpCiAgICAgbV9jb250ZW50c1NpemUgPSBuZXdTaXplOwogICAg
IGlmIChwbGF0Zm9ybVdpZGdldCgpKQogICAgICAgICBwbGF0Zm9ybVNldENvbnRlbnRzU2l6ZSgp
OwotICAgIGVsc2UKKyAgICBlbHNlIGlmICghbV9wcm9oaWJpdHNTY3JvbGxpbmdXaGVuQ2hhbmdp
bmdDb250ZW50U2l6ZUNvdW50KQogICAgICAgICB1cGRhdGVTY3JvbGxiYXJzKHNjcm9sbFBvc2l0
aW9uKCkpOwogICAgIHVwZGF0ZU92ZXJoYW5nQXJlYXMoKTsKIH0KQEAgLTE1MzgsNiArMTUzOCwy
MyBAQCBJbnRQb2ludCBTY3JvbGxWaWV3Ojpsb2NhdGlvbk9mQ29udGVudHMoKSBjb25zdAogICAg
IHJldHVybiByZXN1bHQ7CiB9CiAKK3N0ZDo6dW5pcXVlX3B0cjxTY3JvbGxWaWV3OjpQcm9oaWJp
dFNjcm9sbGluZ1doZW5DaGFuZ2luZ0NvbnRlbnRTaXplRm9yU2NvcGU+IFNjcm9sbFZpZXc6OnBy
b2hpYml0U2Nyb2xsaW5nV2hlbkNoYW5naW5nQ29udGVudFNpemVGb3JTY29wZSgpCit7CisgICAg
cmV0dXJuIG1ha2VVbmlxdWU8UHJvaGliaXRTY3JvbGxpbmdXaGVuQ2hhbmdpbmdDb250ZW50U2l6
ZUZvclNjb3BlPigqdGhpcyk7Cit9CisKK1Njcm9sbFZpZXc6OlByb2hpYml0U2Nyb2xsaW5nV2hl
bkNoYW5naW5nQ29udGVudFNpemVGb3JTY29wZTo6UHJvaGliaXRTY3JvbGxpbmdXaGVuQ2hhbmdp
bmdDb250ZW50U2l6ZUZvclNjb3BlKFNjcm9sbFZpZXcmIHNjcm9sbFZpZXcpCisgICAgOiBtX3Nj
cm9sbFZpZXcobWFrZVdlYWtQdHIoc2Nyb2xsVmlldykpCit7CisgICAgc2Nyb2xsVmlldy5pbmNy
ZW1lbnRQcm9oaWJpdHNTY3JvbGxpbmdXaGVuQ2hhbmdpbmdDb250ZW50U2l6ZUNvdW50KCk7Cit9
CisKK1Njcm9sbFZpZXc6OlByb2hpYml0U2Nyb2xsaW5nV2hlbkNoYW5naW5nQ29udGVudFNpemVG
b3JTY29wZTo6flByb2hpYml0U2Nyb2xsaW5nV2hlbkNoYW5naW5nQ29udGVudFNpemVGb3JTY29w
ZSgpCit7CisgICAgaWYgKG1fc2Nyb2xsVmlldykKKyAgICAgICAgbV9zY3JvbGxWaWV3LT5kZWNy
ZW1lbnRQcm9oaWJpdHNTY3JvbGxpbmdXaGVuQ2hhbmdpbmdDb250ZW50U2l6ZUNvdW50KCk7Cit9
CisKIFN0cmluZyBTY3JvbGxWaWV3OjpkZWJ1Z0Rlc2NyaXB0aW9uKCkgY29uc3QKIHsKICAgICBy
ZXR1cm4gbWFrZVN0cmluZygiU2Nyb2xsVmlldyAweCIsIGhleChyZWludGVycHJldF9jYXN0PHVp
bnRwdHJfdD4odGhpcyksIExvd2VyY2FzZSkpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vU2Nyb2xsVmlldy5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vU2Nyb2xsVmll
dy5oCmluZGV4IDcxMDQxNTNmNTYxZjBhY2U0MjgyNGEyOTQyNjQyMzQ0NDA5YzZhMjkuLmZjYmM4
Mzc5ZTE4MjI5YjNlOGNlMzVlYWI4YjM1Y2I2YzQwNzYyNjUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL1Njcm9sbFZpZXcuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9TY3JvbGxWaWV3LmgKQEAgLTE0Niw2ICsxNDYsMTggQEAgcHVibGljOgogICAgIHZvaWQgc2V0
UHJvaGliaXRzU2Nyb2xsaW5nKGJvb2wgYikgeyBtX3Byb2hpYml0c1Njcm9sbGluZyA9IGI7IH0K
ICAgICBib29sIHByb2hpYml0c1Njcm9sbGluZygpIGNvbnN0IHsgcmV0dXJuIG1fcHJvaGliaXRz
U2Nyb2xsaW5nOyB9CiAKKyAgICBjbGFzcyBQcm9oaWJpdFNjcm9sbGluZ1doZW5DaGFuZ2luZ0Nv
bnRlbnRTaXplRm9yU2NvcGUgeworICAgICAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKKyAg
ICBwdWJsaWM6CisgICAgICAgIFByb2hpYml0U2Nyb2xsaW5nV2hlbkNoYW5naW5nQ29udGVudFNp
emVGb3JTY29wZShTY3JvbGxWaWV3Jik7CisgICAgICAgIH5Qcm9oaWJpdFNjcm9sbGluZ1doZW5D
aGFuZ2luZ0NvbnRlbnRTaXplRm9yU2NvcGUoKTsKKworICAgIHByaXZhdGU6CisgICAgICAgIFdl
YWtQdHI8U2Nyb2xsVmlldz4gbV9zY3JvbGxWaWV3OworICAgIH07CisKKyAgICBzdGQ6OnVuaXF1
ZV9wdHI8UHJvaGliaXRTY3JvbGxpbmdXaGVuQ2hhbmdpbmdDb250ZW50U2l6ZUZvclNjb3BlPiBw
cm9oaWJpdFNjcm9sbGluZ1doZW5DaGFuZ2luZ0NvbnRlbnRTaXplRm9yU2NvcGUoKTsKKwogICAg
IC8vIFdoZXRoZXIgb3Igbm90IGEgc2Nyb2xsIHZpZXcgd2lsbCBibGl0IHZpc2libGUgY29udGVu
dHMgd2hlbiBpdCBpcyBzY3JvbGxlZC4gQmxpdHRpbmcgaXMgZGlzYWJsZWQgaW4gc2l0dWF0aW9u
cwogICAgIC8vIHdoZXJlIGl0IHdvdWxkIGNhdXNlIHJlbmRlcmluZyBnbGl0Y2hlcyAoc3VjaCBh
cyB3aXRoIGZpeGVkIGJhY2tncm91bmRzIG9yIHdoZW4gdGhlIHZpZXcgaXMgcGFydGlhbGx5IHRy
YW5zcGFyZW50KS4KICAgICB2b2lkIHNldENhbkJsaXRPblNjcm9sbChib29sKTsKQEAgLTQzMSw2
ICs0NDMsOCBAQCBwcm90ZWN0ZWQ6CiAKICAgICB2aXJ0dWFsIHZvaWQgdW5vYnNjdXJlZENvbnRl
bnRTaXplQ2hhbmdlZCgpID0gMDsKIAorICAgIHZpcnR1YWwgdm9pZCBkaWRGaW5pc2hQcm9oaWJp
dGluZ1Njcm9sbGluZ1doZW5DaGFuZ2luZ0NvbnRlbnRTaXplKCkgPSAwOworCiAjaWYgUExBVEZP
Uk0oQ09DT0EpICYmIGRlZmluZWQgX19PQkpDX18KIHB1YmxpYzoKICAgICBXRUJDT1JFX0VYUE9S
VCBOU1ZpZXcqIGRvY3VtZW50VmlldygpIGNvbnN0OwpAQCAtNDkzLDYgKzUwNywxOCBAQCBwcml2
YXRlOgogICAgIHZvaWQgY2FsY3VsYXRlT3ZlcmhhbmdBcmVhc0ZvclBhaW50aW5nKEludFJlY3Qm
IGhvcml6b250YWxPdmVyaGFuZ1JlY3QsIEludFJlY3QmIHZlcnRpY2FsT3ZlcmhhbmdSZWN0KTsK
ICAgICB2b2lkIHVwZGF0ZU92ZXJoYW5nQXJlYXMoKTsKIAorICAgIHZvaWQgaW5jcmVtZW50UHJv
aGliaXRzU2Nyb2xsaW5nV2hlbkNoYW5naW5nQ29udGVudFNpemVDb3VudCgpIHsgKyttX3Byb2hp
Yml0c1Njcm9sbGluZ1doZW5DaGFuZ2luZ0NvbnRlbnRTaXplQ291bnQ7IH0KKyAgICB2b2lkIGRl
Y3JlbWVudFByb2hpYml0c1Njcm9sbGluZ1doZW5DaGFuZ2luZ0NvbnRlbnRTaXplQ291bnQoKQor
ICAgIHsKKyAgICAgICAgaWYgKCFtX3Byb2hpYml0c1Njcm9sbGluZ1doZW5DaGFuZ2luZ0NvbnRl
bnRTaXplQ291bnQpIHsKKyAgICAgICAgICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOworICAgICAg
ICAgICAgcmV0dXJuOworICAgICAgICB9CisKKyAgICAgICAgaWYgKCEtLW1fcHJvaGliaXRzU2Ny
b2xsaW5nV2hlbkNoYW5naW5nQ29udGVudFNpemVDb3VudCkKKyAgICAgICAgICAgIGRpZEZpbmlz
aFByb2hpYml0aW5nU2Nyb2xsaW5nV2hlbkNoYW5naW5nQ29udGVudFNpemUoKTsKKyAgICB9CisK
ICAgICBIYXNoU2V0PFJlZjxXaWRnZXQ+PiBtX2NoaWxkcmVuOwogCiAgICAgUmVmUHRyPFNjcm9s
bGJhcj4gbV9ob3Jpem9udGFsU2Nyb2xsYmFyOwpAQCAtNTI0LDYgKzU1MCw3IEBAIHByaXZhdGU6
CiAgICAgSW50UG9pbnQgbV9wYW5TY3JvbGxJY29uUG9pbnQ7CiAKICAgICB1bnNpZ25lZCBtX3Vw
ZGF0ZVNjcm9sbGJhcnNQYXNzIHsgMCB9OworICAgIHVuc2lnbmVkIG1fcHJvaGliaXRzU2Nyb2xs
aW5nV2hlbkNoYW5naW5nQ29udGVudFNpemVDb3VudCB7IDAgfTsKIAogICAgIGJvb2wgbV9ob3Jp
em9udGFsU2Nyb2xsYmFyTG9jayB7IGZhbHNlIH07CiAgICAgYm9vbCBtX3ZlcnRpY2FsU2Nyb2xs
YmFyTG9jayB7IGZhbHNlIH07CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9M
YXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggYzRlOGRmYzkwZjU2NjNlMTkyODZmM2VkOGE5MWY1
MDUxODZlMDgxYy4uMTQyMzlmYWM2YTgxM2QyMDNmNDExMmNkMzY3NTEzOTJmY2MwYmU1MyAxMDA2
NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwpAQCAtMSwzICsxLDIxIEBACisyMDIwLTA3LTIwICBXZW5zb24gSHNpZWggIDx3ZW5zb25faHNp
ZWhAYXBwbGUuY29tPgorCisgICAgICAgIFJFR1JFU1NJT04gKHIyNjE4NzQpOiBUeXBpbmcgbmVh
ciB0aGUgYm90dG9tIG9mIGEgc2Nyb2xsYWJsZSBkb2N1bWVudCBjYXVzZXMgdGhlIHNjcm9sbCBw
b3NpdGlvbiB0byBqdW1wCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVn
LmNnaT9pZD0yMTQ0MjYKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzY1MzAyNzAxPgorCisgICAg
ICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEFkZCBhIHRlc3QgdG8g
dmVyaWZ5IHRoYXQgdGhlIHNjcm9sbCBwb3NpdGlvbiBkb2Vzbid0IGNoYW5nZSB3aGVuIGRlbGV0
aW5nIGFuZCB0aGVuIHJlaW5zZXJ0aW5nIHRoZSBvbmx5CisgICAgICAgIGNoYXJhY3RlciBvbiBh
IGxpbmUgKGkuZS4gYGRpdmAgZWxlbWVudCkgaW4gYSBjb250ZW50ZWRpdGFibGUgZWxlbWVudC4g
VGhpcyB0ZXN0IGFsc28gdmVyaWZpZXMgdGhhdCBkZWxldGluZworICAgICAgICBsaW5lcyBpbiBh
IHdheSB0aGF0IGRlY3JlYXNlcyB0aGUgaGVpZ2h0IG9mIHRoZSBkb2N1bWVudCBzdGlsbCBjbGFt
cHMgdGhlIHNjcm9sbCBwb3NpdGlvbiBieSBzY3JvbGxpbmcgdXAuCisKKyAgICAgICAgKiBlZGl0
aW5nL2V4ZWNDb21tYW5kL3R5cGluZy1zaG91bGQtbm90LXRyaWdnZXItc2Nyb2xsaW5nLXdoZW4t
c2VsZWN0aW9uLWlzLXZpc2libGUtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0
aW5nL2V4ZWNDb21tYW5kL3R5cGluZy1zaG91bGQtbm90LXRyaWdnZXItc2Nyb2xsaW5nLXdoZW4t
c2VsZWN0aW9uLWlzLXZpc2libGUuaHRtbDogQWRkZWQuCisgICAgICAgICogcGxhdGZvcm0vbWFj
LXdrMS9UZXN0RXhwZWN0YXRpb25zOgorCisgICAgICAgIE1hcmsgdGhlIHRlc3QgYXMgZmFpbGlu
ZyBpbiBXZWJLaXQxIGZvciBub3csIHdoaWNoIHdpbGwgcmVxdWlyZSBzb21lIGFkZGl0aW9uYWwg
d29yay4KKwogMjAyMC0wNy0xNyAgTGF1cm8gTW91cmEgIDxsbW91cmFAaWdhbGlhLmNvbT4KIAog
ICAgICAgICBbR1RLXSBmYXN0L2V2ZW50cy9jb250ZXh0LWFjdGl2YXRlZC1ieS1rZXktZXZlbnQu
aHRtbCBpcyBjcmFzaGluZwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9leGVjQ29t
bWFuZC90eXBpbmctc2hvdWxkLW5vdC10cmlnZ2VyLXNjcm9sbGluZy13aGVuLXNlbGVjdGlvbi1p
cy12aXNpYmxlLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvZXhlY0NvbW1hbmQv
dHlwaW5nLXNob3VsZC1ub3QtdHJpZ2dlci1zY3JvbGxpbmctd2hlbi1zZWxlY3Rpb24taXMtdmlz
aWJsZS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYTYzMTI3ZWM2M2FkZDVkMTI1NTMwYWYwZTMx
MDc3YWRmMDMzOWE2MgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvZXhl
Y0NvbW1hbmQvdHlwaW5nLXNob3VsZC1ub3QtdHJpZ2dlci1zY3JvbGxpbmctd2hlbi1zZWxlY3Rp
b24taXMtdmlzaWJsZS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxNiBAQAorVGhpcyB0ZXN0IHZl
cmlmaWVzIHRoYXQgdHlwaW5nIHRleHQsIHRoZW4gdW5kb2luZywgYW5kIHRoZW4gcmVkb2luZyBk
b2VzIG5vdCBjYXVzZSB0aGUgc2Nyb2xsIHBvc2l0aW9uIG9mIHRoZSBkb2N1bWVudCB0byBqdW1w
IGFyb3VuZC4gVG8gcnVuIHRoZSB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCB3YWl0
IGZvciB0aGUgdGVzdCB0byBjb21wbGV0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEg
c2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgor
CitQQVNTIHNjcm9sbFRvcEFmdGVyVHlwaW5nIGlzIHNjcm9sbFRvcEJlZm9yZVR5cGluZworUEFT
UyBzY3JvbGxUb3BBZnRlckRlbGV0aW5nIGlzIHNjcm9sbFRvcEFmdGVyVHlwaW5nCitQQVNTIHNj
cm9sbFRvcEFmdGVyVW5kb2luZyBpcyBzY3JvbGxUb3BBZnRlckRlbGV0aW5nCitQQVNTIHNjcm9s
bFRvcEFmdGVyUmVkb2luZyBpcyBzY3JvbGxUb3BBZnRlclVuZG9pbmcKK1BBU1Mgc2Nyb2xsVG9w
QWZ0ZXJEZWxldGluZ0FnYWluIDwgc2Nyb2xsVG9wQWZ0ZXJSZWRvaW5nIGlzIHRydWUKK1BBU1Mg
c3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorVHJ5IHRvIGRlbGV0
ZSB0aGUgbGV0dGVycyBiZWxvdy4KK0EKK0IKK0MKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Vk
aXRpbmcvZXhlY0NvbW1hbmQvdHlwaW5nLXNob3VsZC1ub3QtdHJpZ2dlci1zY3JvbGxpbmctd2hl
bi1zZWxlY3Rpb24taXMtdmlzaWJsZS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9leGVjQ29t
bWFuZC90eXBpbmctc2hvdWxkLW5vdC10cmlnZ2VyLXNjcm9sbGluZy13aGVuLXNlbGVjdGlvbi1p
cy12aXNpYmxlLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZTUwN2ZkZjI4Y2FjN2M2Nzk2YjUyOWU1MDAwYWQz
NjU3MDRlZDhmNwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvZXhlY0Nv
bW1hbmQvdHlwaW5nLXNob3VsZC1ub3QtdHJpZ2dlci1zY3JvbGxpbmctd2hlbi1zZWxlY3Rpb24t
aXMtdmlzaWJsZS5odG1sCkBAIC0wLDAgKzEsODEgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdl
YmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorPGh0bWw+
Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lk
dGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRl
c3QuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIu
anMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uL2VkaXRpbmcuanMiPjwvc2NyaXB0PgorPHN0
eWxlPgorZGl2W2NvbnRlbnRlZGl0YWJsZV0geworICAgIG1hcmdpbi10b3A6IDIwMDBweDsKKyAg
ICBmb250LXNpemU6IDIwcHg7CisgICAgYm9yZGVyOiBzb2xpZCBibGFjayAxcHg7CisgICAgb3V0
bGluZTogbm9uZTsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXYgaWQ9Im91dHB1
dCI+CisgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2PgorICAgIDxkaXYgaWQ9ImNvbnNv
bGUiPjwvZGl2PgorPC9kaXY+Cis8ZGl2IGNvbnRlbnRlZGl0YWJsZT4KKyAgICA8ZGl2PlRyeSB0
byBkZWxldGUgdGhlIGxldHRlcnMgYmVsb3cuPC9kaXY+CisgICAgPGRpdj5BPC9kaXY+CisgICAg
PGRpdj5CPC9kaXY+CisgICAgPGRpdj5DPC9kaXY+CisgICAgPGRpdiBpZD0idGFyZ2V0Ij48YnI+
PC9kaXY+Cis8L2Rpdj4KKzxzY3JpcHQ+CitkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZlcmlmaWVz
IHRoYXQgdHlwaW5nIHRleHQsIHRoZW4gdW5kb2luZywgYW5kIHRoZW4gcmVkb2luZyBkb2VzIG5v
dCBjYXVzZSB0aGUgc2Nyb2xsIHBvc2l0aW9uIG9mIHRoZSBkb2N1bWVudCB0byBqdW1wIGFyb3Vu
ZC4gVG8gcnVuIHRoZSB0ZXN0IG1hbnVhbGx5LCBsb2FkIHRoZSBwYWdlIGFuZCB3YWl0IGZvciB0
aGUgdGVzdCB0byBjb21wbGV0ZS4iKTsKK2pzVGVzdElzQXN5bmMgPSB0cnVlOworCithc3luYyBm
dW5jdGlvbiBwcmVzZW50YXRpb25VcGRhdGUoKQoreworICAgIGlmICh3aW5kb3cudGVzdFJ1bm5l
cikKKyAgICAgICAgYXdhaXQgVUlIZWxwZXIuZW5zdXJlUHJlc2VudGF0aW9uVXBkYXRlKCk7Cisg
ICAgZWxzZQorICAgICAgICBhd2FpdCBuZXcgUHJvbWlzZShyZXNvbHZlID0+IHNldFRpbWVvdXQo
cmVzb2x2ZSwgMjUwKSk7Cit9CisKK2FkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBhc3luYyAoKSA9
PiB7CisgICAgZ2V0U2VsZWN0aW9uKCkuc2V0UG9zaXRpb24odGFyZ2V0LCAxKTsKKyAgICBhd2Fp
dCBwcmVzZW50YXRpb25VcGRhdGUoKTsKKworICAgIHRhcmdldC5zY3JvbGxJbnRvVmlldygpOwor
ICAgIGF3YWl0IHByZXNlbnRhdGlvblVwZGF0ZSgpOworICAgIHNjcm9sbFRvcEJlZm9yZVR5cGlu
ZyA9IGRvY3VtZW50LnNjcm9sbGluZ0VsZW1lbnQuc2Nyb2xsVG9wOworCisgICAgdHlwZUNoYXJh
Y3RlckNvbW1hbmQoIkQiKTsKKyAgICBhd2FpdCBwcmVzZW50YXRpb25VcGRhdGUoKTsKKyAgICBz
Y3JvbGxUb3BBZnRlclR5cGluZyA9IGRvY3VtZW50LnNjcm9sbGluZ0VsZW1lbnQuc2Nyb2xsVG9w
OworCisgICAgZGVsZXRlQ29tbWFuZCgpOworICAgIGF3YWl0IHByZXNlbnRhdGlvblVwZGF0ZSgp
OworICAgIHNjcm9sbFRvcEFmdGVyRGVsZXRpbmcgPSBkb2N1bWVudC5zY3JvbGxpbmdFbGVtZW50
LnNjcm9sbFRvcDsKKworICAgIHVuZG9Db21tYW5kKCk7CisgICAgYXdhaXQgcHJlc2VudGF0aW9u
VXBkYXRlKCk7CisgICAgc2Nyb2xsVG9wQWZ0ZXJVbmRvaW5nID0gZG9jdW1lbnQuc2Nyb2xsaW5n
RWxlbWVudC5zY3JvbGxUb3A7CisKKyAgICByZWRvQ29tbWFuZCgpOworICAgIGF3YWl0IHByZXNl
bnRhdGlvblVwZGF0ZSgpOworICAgIHNjcm9sbFRvcEFmdGVyUmVkb2luZyA9IGRvY3VtZW50LnNj
cm9sbGluZ0VsZW1lbnQuc2Nyb2xsVG9wOworCisgICAgZGVsZXRlQ29tbWFuZCgpOworICAgIGF3
YWl0IHByZXNlbnRhdGlvblVwZGF0ZSgpOworICAgIHNjcm9sbFRvcEFmdGVyRGVsZXRpbmdBZ2Fp
biA9IGRvY3VtZW50LnNjcm9sbGluZ0VsZW1lbnQuc2Nyb2xsVG9wOworCisgICAgc2hvdWxkQmUo
InNjcm9sbFRvcEFmdGVyVHlwaW5nIiwgInNjcm9sbFRvcEJlZm9yZVR5cGluZyIpOworICAgIHNo
b3VsZEJlKCJzY3JvbGxUb3BBZnRlckRlbGV0aW5nIiwgInNjcm9sbFRvcEFmdGVyVHlwaW5nIik7
CisgICAgc2hvdWxkQmUoInNjcm9sbFRvcEFmdGVyVW5kb2luZyIsICJzY3JvbGxUb3BBZnRlckRl
bGV0aW5nIik7CisgICAgc2hvdWxkQmUoInNjcm9sbFRvcEFmdGVyUmVkb2luZyIsICJzY3JvbGxU
b3BBZnRlclVuZG9pbmciKTsKKyAgICBzaG91bGRCZVRydWUoInNjcm9sbFRvcEFmdGVyRGVsZXRp
bmdBZ2FpbiA8IHNjcm9sbFRvcEFmdGVyUmVkb2luZyIpOworCisgICAgZG9jdW1lbnQuc2Nyb2xs
aW5nRWxlbWVudC5zY3JvbGxUbygwLCAwKTsKKyAgICBmaW5pc2hKU1Rlc3QoKTsKK30pOworPC9z
Y3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2Yg
ZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjLXdrMS9UZXN0RXhwZWN0
YXRpb25zIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjLXdrMS9UZXN0RXhwZWN0YXRpb25zCmlu
ZGV4IDFmY2E0NDQzMzQ0OWIzMGM4MzIzNDhmZmUxNWNiOGMxYTFmOTFiMzcuLmY4MzQxNjRkMWU4
NDYzZmU5NzBkNDdjZDQzMmE0NjdiMzQ3MzZkYTYgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3Bs
YXRmb3JtL21hYy13azEvVGVzdEV4cGVjdGF0aW9ucworKysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9y
bS9tYWMtd2sxL1Rlc3RFeHBlY3RhdGlvbnMKQEAgLTg4Miw2ICs4ODIsOCBAQCB3ZWJraXQub3Jn
L2IvMjA3MDU5IGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvSW5kZXhlZERCL2ludGVy
bGVhdmVkLWN1cnNvcgogCiB3ZWJraXQub3JnL2IvMjA3MDY2IGVkaXRpbmcvZXhlY0NvbW1hbmQv
aW5zZXJ0LW5lc3RlZC1saXN0cy5odG1sIFsgUGFzcyBGYWlsdXJlIF0KIAord2Via2l0Lm9yZy9i
LzIxNDU1OCBlZGl0aW5nL2V4ZWNDb21tYW5kL3R5cGluZy1zaG91bGQtbm90LXRyaWdnZXItc2Ny
b2xsaW5nLXdoZW4tc2VsZWN0aW9uLWlzLXZpc2libGUuaHRtbCBbIEZhaWx1cmUgXQorCiB3ZWJr
aXQub3JnL2IvMjA3MTI1IHRyYW5zaXRpb25zL3N0YXJ0LXRyYW5zZm9ybS10cmFuc2l0aW9uLmh0
bWwgWyBQYXNzIEZhaWx1cmUgXQogCiB3ZWJraXQub3JnL2IvMTgxMDg1IHN2Zy9jdXN0b20vb2Jq
ZWN0LXNpemluZy1leHBsaWNpdC13aWR0aC54aHRtbCBbIFBhc3MgRmFpbHVyZSBdCg==
</data>
<flag name="review"
          id="420143"
          type_id="1"
          status="+"
          setter="simon.fraser"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>404759</attachid>
            <date>2020-07-20 14:44:34 -0700</date>
            <delta_ts>2020-07-20 15:54:04 -0700</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-214426-20200720144433.patch</filename>
            <type>text/plain</type>
            <size>22670</size>
            <attacher name="Wenson Hsieh">wenson_hsieh</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjY0NTU2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNDA5NjhmNmJhNjczYmQ3
YTBkZmRhOTU2ZWJhNWJmYWUwNDQwOTUxMi4uOWVhODc0MjFlZGQwMDhiMWFlZTgwNjg4ZWNlMzUz
Njg1MWYzNDlkOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDgxIEBACisyMDIwLTA3LTIwICBXZW5z
b24gSHNpZWggIDx3ZW5zb25faHNpZWhAYXBwbGUuY29tPgorCisgICAgICAgIFJFR1JFU1NJT04g
KHIyNjE4NzQpOiBUeXBpbmcgbmVhciB0aGUgYm90dG9tIG9mIGEgc2Nyb2xsYWJsZSBkb2N1bWVu
dCBjYXVzZXMgdGhlIHNjcm9sbCBwb3NpdGlvbiB0byBqdW1wCisgICAgICAgIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMTQ0MjYKKyAgICAgICAgPHJkYXI6Ly9wcm9i
bGVtLzY1MzAyNzAxPgorCisgICAgICAgIFJldmlld2VkIGJ5IFNpbW9uIEZyYXNlci4KKworICAg
ICAgICBBZnRlciB0aGUgY2hhbmdlcyBpbiByMjYxODc0LCBhbnkgY29udGVudCBzaXplIGNoYW5n
ZXMgdGhhdCB0cmlnZ2VyIGBGcmFtZVZpZXc6OmFkanVzdFZpZXdTaXplYCBjYXVzZSB0aGUgc2Ny
b2xsCisgICAgICAgIHBvc2l0aW9uIHRvIGJlIGNsYW1wZWQgdG8gaXRzIG1pbmltdW0gYW5kIG1h
eGltdW0gbGltaXRzIGFmdGVyIHRoZSBuZXh0IGxheW91dCBwYXNzLiBJbiB0aGUgY29udGV4dCBv
ZiBlZGl0CisgICAgICAgIGNvbW1hbmRzLCB0aGlzIG1lYW5zIHRoYXQgdGhlIHNjcm9sbCBwb3Np
dGlvbiBtYXkganVtcCBlcnJhdGljYWxseSwgc2luY2UgbWFueSBlZGl0IGNvbW1hbmRzIGNhbiB0
ZW1wb3JhcmlseQorICAgICAgICBsZWF2ZSB0aGUgRE9NIGluIGEgc3RhdGUgd2hlcmUgdGhlIGNv
bnRlbnQgc2l6ZSBpcyB1bnN0YWJsZS4KKworICAgICAgICBGb3IgZXhhbXBsZSwgaW4gdGhlIHRl
c3QgY2FzZSBiZWxvdywgZGVsZXRpbmcgdGhlIG9ubHkgY2hhcmFjdGVyIGluIGEgZGl2IGVsZW1l
bnQgb24gaXRzIG93biBsaW5lIGZpcnN0IGludm9sdmVzCisgICAgICAgIGVtcHR5aW5nIHRoZSB0
ZXh0IG5vZGUgdW5kZXJuZWF0aCB0aGUgZGl2IChjYXVzaW5nIGl0IHRvIGhhdmUgbm8gaGVpZ2h0
KSwgYmVmb3JlIGluc2VydGluZyBhIEJSIGVsZW1lbnQgaW4gaXRzCisgICAgICAgIHBsYWNlICh3
aGljaCByZXN0b3JlcyBhIG5vbnplcm8gaGVpZ2h0KS4gQWZ0ZXIgdGhlIHRleHQgbm9kZSBpcyBl
bXB0aWVkIChidXQgYmVmb3JlIHdlIGluc2VydCB0aGUgQlIgZWxlbWVudCksCisgICAgICAgIHRo
ZSBjb250ZW50IHNpemUgb2YgdmlldyBjaGFuZ2VzIGR1ZSB0byBhIGxheW91dCB1cGRhdGUgd2hp
bGUgY3JlYXRpbmcgdmlzaWJsZSBwb3NpdGlvbnMgKHVuZGVyCisgICAgICAgIGBWaXNpYmxlUG9z
aXRpb246OmNhbm9uaWNhbFBvc2l0aW9uYCkuIElmIHdlIGhhcHBlbiB0byBiZSBzY3JvbGxlZCBh
bGwgdGhlIHdheSB0byB0aGUgYm90dG9tIG9mIHRoZSBtYWluIGZyYW1lLAorICAgICAgICB0aGlz
IG1lYW5zIHdlJ2xsIHNjcm9sbCB1cCwgZHVlIHRvIHRoZSBtYXhpbXVtIHNjcm9sbCBwb3NpdGlv
biB0ZW1wb3JhcmlseSBkZWNyZWFzaW5nLiBBIHNpbWlsYXIgZWZmZWN0IGhhcHBlbnMKKyAgICAg
ICAgd2hlbiBpbnNlcnRpbmcgdGhlIGZpcnN0IGNoYXJhY3RlciBvbiBhIGxpbmUsIHdoZXJlaW4g
dGhlIGRpdiBpcyBlbXB0eSBhZnRlciBCUiBlbGVtZW50IGlzIHJlbW92ZWQgYnV0IGJlZm9yZSBp
dAorICAgICAgICBpcyByZXBsYWNlZCB3aXRoIGEgdGV4dCBub2RlLgorCisgICAgICAgIFRvIG1p
dGlnYXRlIHRoaXMsIGludHJvZHVjZSBhIG1lY2hhbmlzbSB0byB0ZW1wb3JhcmlseSBhdm9pZCB1
cGRhdGluZyB0aGUgc2Nyb2xsIHBvc2l0aW9uLCBhbmQgdXNlIGl0IHdoZW4KKyAgICAgICAgZXhl
Y3V0aW5nIGVkaXQgY29tbWFuZHMuIFNlZSBiZWxvdyBmb3IgbW9yZSBkZXRhaWxzLgorCisgICAg
ICAgIFRlc3Q6IGVkaXRpbmcvZXhlY0NvbW1hbmQvdHlwaW5nLXNob3VsZC1ub3QtdHJpZ2dlci1z
Y3JvbGxpbmctd2hlbi1zZWxlY3Rpb24taXMtdmlzaWJsZS5odG1sCisKKyAgICAgICAgKiBlZGl0
aW5nL0NvbXBvc2l0ZUVkaXRDb21tYW5kLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkVkaXRDb21t
YW5kQ29tcG9zaXRpb246OnVuYXBwbHkpOgorICAgICAgICAoV2ViQ29yZTo6RWRpdENvbW1hbmRD
b21wb3NpdGlvbjo6cmVhcHBseSk6CisgICAgICAgIChXZWJDb3JlOjpDb21wb3NpdGVFZGl0Q29t
bWFuZDo6YXBwbHkpOgorICAgICAgICAqIGVkaXRpbmcvRWRpdG9yLmNwcDoKKyAgICAgICAgKFdl
YkNvcmU6OkVkaXRvcjo6d2lsbEFwcGx5RWRpdGluZyBjb25zdCk6CisgICAgICAgIChXZWJDb3Jl
OjpFZGl0b3I6OmFwcGxpZWRFZGl0aW5nKToKKworICAgICAgICBBZGQgbG9naWMgdG8gc3BlY2lm
aWNhbGx5IGhhbmRsZSB0eXBpbmcgY29tbWFuZHMgaGVyZSwgc2luY2Ugd2UgaGFuZGxlIHR5cGlu
ZyBjb21tYW5kcyBieSBhZGRpbmcgdGhlbSB0byB0aGUKKyAgICAgICAgbGF0ZXN0ICJvcGVuIiB0
eXBpbmcgY29tbWFuZCwgcmF0aGVyIHRoYW4gZ28gdGhyb3VnaCB0aGUgbW9yZSBzdGFuZGFyZCBj
b2RlcGF0aHMgaW4gRWRpdENvbW1hbmRDb21wb3NpdGlvbgorICAgICAgICBhYm92ZS4KKworICAg
ICAgICAqIGVkaXRpbmcvRWRpdG9yLmg6CisgICAgICAgICogcGFnZS9GcmFtZVZpZXcuY3BwOgor
ICAgICAgICAoV2ViQ29yZTo6RnJhbWVWaWV3OjpyZXNldCk6CisgICAgICAgIChXZWJDb3JlOjpG
cmFtZVZpZXc6OnRvcENvbnRlbnREaXJlY3Rpb25EaWRDaGFuZ2UpOgorICAgICAgICAoV2ViQ29y
ZTo6RnJhbWVWaWV3OjpoYW5kbGVEZWZlcnJlZFNjcm9sbGJhcnNVcGRhdGUpOgorICAgICAgICAo
V2ViQ29yZTo6RnJhbWVWaWV3OjpoYW5kbGVEZWZlcnJlZFBvc2l0aW9uU2Nyb2xsYmFyTGF5ZXJz
KToKKworICAgICAgICBTcGxpdCBleGlzdGluZyBsb2dpYyBmb3IgaGFuZGxpbmcgZGVmZXJyZWQg
c2Nyb2xsYmFyIHVwZGF0ZXMgYW5kIGRlZmVycmVkIGNhbGxzIHRvIGBwb3NpdGlvblNjcm9sbGJh
ckxheWVyc2AKKyAgICAgICAgaW50byB0d28gc2VwYXJhdGUgbWV0aG9kcywgd2l0aCBzZXBhcmF0
ZSBib29sZWFuIGZsYWdzLiBgdG9wQ29udGVudERpcmVjdGlvbkRpZENoYW5nZWAgc2V0cyBib3Ro
IG9mIHRoZXNlIGZsYWdzCisgICAgICAgICh3aGljaCBwcmVzZXJ2ZXMgZXhpc3RpbmcgYmVoYXZp
b3IpLCB3aGlsZSBgZGVjcmVtZW50UHJvaGliaXRzU2Nyb2xsaW5nV2hlbkNoYW5naW5nQ29udGVu
dFNpemVDb3VudGAganVzdAorICAgICAgICByZXF1ZXN0cyBhIHNjcm9sbGJhciB1cGRhdGUuCisK
KyAgICAgICAgKFdlYkNvcmU6OkZyYW1lVmlldzo6ZGlkTGF5b3V0KToKKyAgICAgICAgKFdlYkNv
cmU6OkZyYW1lVmlldzo6ZGlkRmluaXNoUHJvaGliaXRpbmdTY3JvbGxpbmdXaGVuQ2hhbmdpbmdD
b250ZW50U2l6ZSk6CisKKyAgICAgICAgQWZ0ZXIgZGVjcmVtZW50aW5nIGBtX3Byb2hpYml0c1Nj
cm9sbGluZ1doZW5DaGFuZ2luZ0NvbnRlbnRTaXplQ291bnRgIGJhY2sgdG8gemVybywgZW5zdXJl
IHRoYXQgdGhlIHNjcm9sbAorICAgICAgICBwb3NpdGlvbiB1bHRpbWF0ZWx5IHJlbWFpbnMgY2xh
bXBlZCB0byB0aGUgbWluaW11bSBhbmQgbWF4aW11bSB2YWx1ZXMgYnkgZWl0aGVyIGltbWVkaWF0
ZWx5IGNhbGxpbmcKKyAgICAgICAgYHVwZGF0ZVNjcm9sbGJhcnNgIHdpdGggdGhlIGN1cnJlbnQg
c2Nyb2xsIHBvc2l0aW9uIGlmIGxheW91dCBhbmQgc3R5bGUgYXJlIHVwIHRvIGRhdGUsIG9yIGJ5
IHNjaGVkdWxpbmcgYQorICAgICAgICBkZWZlcnJlZCBzY3JvbGxiYXIgdXBkYXRlIGlmIHRoYXQg
aXMgbm90IHRoZSBjYXNlLgorCisgICAgICAgIChXZWJDb3JlOjpGcmFtZVZpZXc6OmhhbmRsZURl
ZmVycmVkU2Nyb2xsYmFyc1VwZGF0ZUFmdGVyRGlyZWN0aW9uQ2hhbmdlKTogRGVsZXRlZC4KKwor
ICAgICAgICBSZW5hbWUgdGhpcyB0byBqdXN0IGBoYW5kbGVEZWZlcnJlZFNjcm9sbGJhcnNVcGRh
dGVgLgorCisgICAgICAgICogcGFnZS9GcmFtZVZpZXcuaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9T
Y3JvbGxWaWV3LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlNjcm9sbFZpZXc6OnNldENvbnRlbnRz
U2l6ZSk6CisgICAgICAgIChXZWJDb3JlOjpTY3JvbGxWaWV3Ojpwcm9oaWJpdFNjcm9sbGluZ1do
ZW5DaGFuZ2luZ0NvbnRlbnRTaXplRm9yU2NvcGUpOgorICAgICAgICAoV2ViQ29yZTo6U2Nyb2xs
Vmlldzo6UHJvaGliaXRTY3JvbGxpbmdXaGVuQ2hhbmdpbmdDb250ZW50U2l6ZUZvclNjb3BlOjpQ
cm9oaWJpdFNjcm9sbGluZ1doZW5DaGFuZ2luZ0NvbnRlbnRTaXplRm9yU2NvcGUpOgorICAgICAg
ICAoV2ViQ29yZTo6U2Nyb2xsVmlldzo6UHJvaGliaXRTY3JvbGxpbmdXaGVuQ2hhbmdpbmdDb250
ZW50U2l6ZUZvclNjb3BlOjp+UHJvaGliaXRTY3JvbGxpbmdXaGVuQ2hhbmdpbmdDb250ZW50U2l6
ZUZvclNjb3BlKToKKworICAgICAgICBJbnRyb2R1Y2UgYSBuZXcgdG9rZW4gb2JqZWN0LCBgUHJv
aGliaXRTY3JvbGxpbmdXaGVuQ2hhbmdpbmdDb250ZW50U2l6ZUZvclNjb3BlYCwgd2hpY2ggaW5j
cmVtZW50cyBhIGNvdW50IG9uCisgICAgICAgIGBTY3JvbGxWaWV3YCB3aGVuIGNyZWF0ZWQgYW5k
IGRlY3JlbWVudHMgdGhlIGNvdW50IHdoZW4gZGVzdHJveWVkLiBXaGlsZSB0aGlzIGNvdW50ZXIg
aXMgZ3JlYXRlciB0aGFuIHplcm8sIHdlCisgICAgICAgIHdpbGwgYXZvaWQgc2Nyb2xsaW5nIGFz
IGEgcmVzdWx0IG9mIGNoYW5naW5nIGNvbnRlbnQgc2l6ZS4KKworICAgICAgICAqIHBsYXRmb3Jt
L1Njcm9sbFZpZXcuaDoKKyAgICAgICAgKFdlYkNvcmU6OlNjcm9sbFZpZXc6OmluY3JlbWVudFBy
b2hpYml0c1Njcm9sbGluZ1doZW5DaGFuZ2luZ0NvbnRlbnRTaXplQ291bnQpOgorICAgICAgICAo
V2ViQ29yZTo6U2Nyb2xsVmlldzo6ZGVjcmVtZW50UHJvaGliaXRzU2Nyb2xsaW5nV2hlbkNoYW5n
aW5nQ29udGVudFNpemVDb3VudCk6CisKIDIwMjAtMDctMTcgIFdlbnNvbiBIc2llaCAgPHdlbnNv
bl9oc2llaEBhcHBsZS5jb20+CiAKICAgICAgICAgRm9sbG93dXAgdG8gcjI2NDUzMQpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvZWRpdGluZy9Db21wb3NpdGVFZGl0Q29tbWFuZC5jcHAgYi9T
b3VyY2UvV2ViQ29yZS9lZGl0aW5nL0NvbXBvc2l0ZUVkaXRDb21tYW5kLmNwcAppbmRleCA5MGIy
MWI4Y2ViMDhjYjA3NzkzMDU0ZTU0MzVkMTZlNGFiY2FhNjI0Li4zNzFjNzlmMjdkOWRjM2RlZjc4
NTYwZmYwMGViMzY0NWNkY2YyOTc1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5n
L0NvbXBvc2l0ZUVkaXRDb21tYW5kLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5nL0Nv
bXBvc2l0ZUVkaXRDb21tYW5kLmNwcApAQCAtMjMxLDYgKzIzMSw3IEBAIHZvaWQgRWRpdENvbW1h
bmRDb21wb3NpdGlvbjo6dW5hcHBseSgpCiAgICAgbV9kb2N1bWVudC0+ZWRpdG9yKCkuY2FuY2Vs
Q29tcG9zaXRpb24oKTsKICNlbmRpZgogCisgICAgYXV0byBwcm9oaWJpdFNjcm9sbGluZ0ZvclNj
b3BlID0gbV9kb2N1bWVudC0+dmlldygpID8gbV9kb2N1bWVudC0+dmlldygpLT5wcm9oaWJpdFNj
cm9sbGluZ1doZW5DaGFuZ2luZ0NvbnRlbnRTaXplRm9yU2NvcGUoKSA6IG51bGxwdHI7CiAgICAg
aWYgKCFtX2RvY3VtZW50LT5lZGl0b3IoKS53aWxsVW5hcHBseUVkaXRpbmcoKnRoaXMpKQogICAg
ICAgICByZXR1cm47CiAKQEAgLTI1OCw2ICsyNTksNyBAQCB2b2lkIEVkaXRDb21tYW5kQ29tcG9z
aXRpb246OnJlYXBwbHkoKQogICAgIC8vIGlmIG9uZSBpcyBuZWNlc3NhcnkgKGxpa2UgZm9yIHRo
ZSBjcmVhdGlvbiBvZiBWaXNpYmxlUG9zaXRpb25zKS4KICAgICBtX2RvY3VtZW50LT51cGRhdGVM
YXlvdXRJZ25vcmVQZW5kaW5nU3R5bGVzaGVldHMoKTsKIAorICAgIGF1dG8gcHJvaGliaXRTY3Jv
bGxpbmdGb3JTY29wZSA9IG1fZG9jdW1lbnQtPnZpZXcoKSA/IG1fZG9jdW1lbnQtPnZpZXcoKS0+
cHJvaGliaXRTY3JvbGxpbmdXaGVuQ2hhbmdpbmdDb250ZW50U2l6ZUZvclNjb3BlKCkgOiBudWxs
cHRyOwogICAgIGlmICghbV9kb2N1bWVudC0+ZWRpdG9yKCkud2lsbFJlYXBwbHlFZGl0aW5nKCp0
aGlzKSkKICAgICAgICAgcmV0dXJuOwogCkBAIC0zNjQsNiArMzY2LDcgQEAgdm9pZCBDb21wb3Np
dGVFZGl0Q29tbWFuZDo6YXBwbHkoKQogICAgIC8vIGlmIG9uZSBpcyBuZWNlc3NhcnkgKGxpa2Ug
Zm9yIHRoZSBjcmVhdGlvbiBvZiBWaXNpYmxlUG9zaXRpb25zKS4KICAgICBkb2N1bWVudCgpLnVw
ZGF0ZUxheW91dElnbm9yZVBlbmRpbmdTdHlsZXNoZWV0cygpOwogCisgICAgYXV0byBwcm9oaWJp
dFNjcm9sbGluZ0ZvclNjb3BlID0gZG9jdW1lbnQoKS52aWV3KCkgPyBkb2N1bWVudCgpLnZpZXco
KS0+cHJvaGliaXRTY3JvbGxpbmdXaGVuQ2hhbmdpbmdDb250ZW50U2l6ZUZvclNjb3BlKCkgOiBu
dWxscHRyOwogICAgIGlmICghd2lsbEFwcGx5Q29tbWFuZCgpKQogICAgICAgICByZXR1cm47CiAK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvRWRpdG9yLmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL2VkaXRpbmcvRWRpdG9yLmNwcAppbmRleCAyZDdhZTJhYTZkNTQxMTkxODAxYzhmYzAy
NDQxMGJlNmIzNTMxMjk3Li5kYjk3ZDM3NjdmZDhkYzcyODIzMzYxN2Y0NGU3MDYwMDc1MWI0MGQ3
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5nL0VkaXRvci5jcHAKKysrIGIvU291
cmNlL1dlYkNvcmUvZWRpdGluZy9FZGl0b3IuY3BwCkBAIC0xMTA4LDYgKzExMDgsOSBAQCBib29s
IEVkaXRvcjo6d2lsbEFwcGx5RWRpdGluZyhDb21wb3NpdGVFZGl0Q29tbWFuZCYgY29tbWFuZCwg
VmVjdG9yPFJlZlB0cjxTdGF0aQogICAgIGlmICghY29tcG9zaXRpb24pCiAgICAgICAgIHJldHVy
biB0cnVlOwogCisgICAgaWYgKGNvbW1hbmQuaXNUb3BMZXZlbENvbW1hbmQoKSAmJiBjb21tYW5k
LmlzVHlwaW5nQ29tbWFuZCgpICYmIGRvY3VtZW50KCkudmlldygpKQorICAgICAgICBtX3Byb2hp
Yml0U2Nyb2xsaW5nRHVlVG9Db250ZW50U2l6ZUNoYW5nZXNXaGlsZVR5cGluZyA9IGRvY3VtZW50
KCkudmlldygpLT5wcm9oaWJpdFNjcm9sbGluZ1doZW5DaGFuZ2luZ0NvbnRlbnRTaXplRm9yU2Nv
cGUoKTsKKwogICAgIHJldHVybiBkaXNwYXRjaEJlZm9yZUlucHV0RXZlbnRzKGNvbXBvc2l0aW9u
LT5zdGFydGluZ1Jvb3RFZGl0YWJsZUVsZW1lbnQoKSwgY29tcG9zaXRpb24tPmVuZGluZ1Jvb3RF
ZGl0YWJsZUVsZW1lbnQoKSwgY29tbWFuZC5pbnB1dEV2ZW50VHlwZU5hbWUoKSwKICAgICAgICAg
Y29tbWFuZC5pbnB1dEV2ZW50RGF0YSgpLCBjb21tYW5kLmlucHV0RXZlbnREYXRhVHJhbnNmZXIo
KSwgdGFyZ2V0UmFuZ2VzLCBjb21tYW5kLmlzQmVmb3JlSW5wdXRFdmVudENhbmNlbGFibGUoKSA/
IEV2ZW50OjpJc0NhbmNlbGFibGU6OlllcyA6IEV2ZW50OjpJc0NhbmNlbGFibGU6Ok5vKTsKIH0K
QEAgLTExNTUsNiArMTE1OCw5IEBAIHZvaWQgRWRpdG9yOjphcHBsaWVkRWRpdGluZyhDb21wb3Np
dGVFZGl0Q29tbWFuZCYgY29tbWFuZCkKICAgICAgICAgICAgICAgICBjbGllbnQoKS0+cmVnaXN0
ZXJVbmRvU3RlcChtX2xhc3RFZGl0Q29tbWFuZC0+ZW5zdXJlQ29tcG9zaXRpb24oKSk7CiAgICAg
ICAgIH0KICAgICAgICAgcmVzcG9uZFRvQ2hhbmdlZENvbnRlbnRzKG5ld1NlbGVjdGlvbik7CisK
KyAgICAgICAgaWYgKGNvbW1hbmQuaXNUeXBpbmdDb21tYW5kKCkpCisgICAgICAgICAgICBtX3By
b2hpYml0U2Nyb2xsaW5nRHVlVG9Db250ZW50U2l6ZUNoYW5nZXNXaGlsZVR5cGluZyA9IG51bGxw
dHI7CiAgICAgfQogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5nL0VkaXRv
ci5oIGIvU291cmNlL1dlYkNvcmUvZWRpdGluZy9FZGl0b3IuaAppbmRleCA2OWQ2MDU5MzAyNjUy
ZjY3MmZkMjU5MTUyZDNkY2ZiNDVmZjA5MjZmLi4xMTE0NDBjMjZkNTQxMzgzNGVmMzkxMmE2ZjIx
YjI1ZmNkYjQzMDg4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5nL0VkaXRvci5o
CisrKyBiL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvRWRpdG9yLmgKQEAgLTM1LDYgKzM1LDcgQEAK
ICNpbmNsdWRlICJGcmFtZS5oIgogI2luY2x1ZGUgIkZyYW1lU2VsZWN0aW9uLmgiCiAjaW5jbHVk
ZSAiUGFzdGVib2FyZFdyaXRlckRhdGEuaCIKKyNpbmNsdWRlICJTY3JvbGxWaWV3LmgiCiAjaW5j
bHVkZSAiVGV4dENoZWNraW5nLmgiCiAjaW5jbHVkZSAiVGV4dEV2ZW50SW5wdXRUeXBlLmgiCiAj
aW5jbHVkZSAiVGV4dEl0ZXJhdG9yQmVoYXZpb3IuaCIKQEAgLTY2OSw2ICs2NzAsOCBAQCBwcml2
YXRlOgogICAgIFZlY3RvcjxTaW1wbGVSYW5nZT4gbV9kZXRlY3RlZFRlbGVwaG9uZU51bWJlclJh
bmdlczsKICNlbmRpZgogCisgICAgbXV0YWJsZSBzdGQ6OnVuaXF1ZV9wdHI8U2Nyb2xsVmlldzo6
UHJvaGliaXRTY3JvbGxpbmdXaGVuQ2hhbmdpbmdDb250ZW50U2l6ZUZvclNjb3BlPiBtX3Byb2hp
Yml0U2Nyb2xsaW5nRHVlVG9Db250ZW50U2l6ZUNoYW5nZXNXaGlsZVR5cGluZzsKKwogICAgIGJv
b2wgbV9pc0dldHRpbmdEaWN0aW9uYXJ5UG9wdXBJbmZvIHsgZmFsc2UgfTsKICAgICBIYXNoU2V0
PFJlZlB0cjxIVE1MSW1hZ2VFbGVtZW50Pj4gbV9pbWFnZUVsZW1lbnRzVG9Mb2FkQmVmb3JlUmV2
ZWFsaW5nU2VsZWN0aW9uOwogfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRnJh
bWVWaWV3LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRnJhbWVWaWV3LmNwcAppbmRleCA5NWI4
M2U2YWM3NDc0N2ZjOTFmNjE1NWVlMGNmYjIwYzk4MDhlZTYyLi5iNDU2NWJmNDU5MTdhOTAyZDE5
MTExMWE1YWQ2MTQ0MzVhODYwOTE0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0Zy
YW1lVmlldy5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9GcmFtZVZpZXcuY3BwCkBAIC0y
NTgsNiArMjU4LDcgQEAgdm9pZCBGcmFtZVZpZXc6OnJlc2V0KCkKICAgICBtX3BhaW50QmVoYXZp
b3IgPSBQYWludEJlaGF2aW9yOjpOb3JtYWw7CiAgICAgbV9pc1BhaW50aW5nID0gZmFsc2U7CiAg
ICAgbV9uZWVkc0RlZmVycmVkU2Nyb2xsYmFyc1VwZGF0ZSA9IGZhbHNlOworICAgIG1fbmVlZHNE
ZWZlcnJlZFBvc2l0aW9uU2Nyb2xsYmFyTGF5ZXJzID0gZmFsc2U7CiAgICAgbV9tYWludGFpblNj
cm9sbFBvc2l0aW9uQW5jaG9yID0gbnVsbHB0cjsKICAgICByZXNldExheW91dE1pbGVzdG9uZXMo
KTsKICAgICBsYXlvdXRDb250ZXh0KCkucmVzZXQoKTsKQEAgLTEwOTIsMTYgKzEwOTMsMjQgQEAg
dm9pZCBGcmFtZVZpZXc6OnRvcENvbnRlbnRJbnNldERpZENoYW5nZShmbG9hdCBuZXdUb3BDb250
ZW50SW5zZXQpCiB2b2lkIEZyYW1lVmlldzo6dG9wQ29udGVudERpcmVjdGlvbkRpZENoYW5nZSgp
CiB7CiAgICAgbV9uZWVkc0RlZmVycmVkU2Nyb2xsYmFyc1VwZGF0ZSA9IHRydWU7CisgICAgbV9u
ZWVkc0RlZmVycmVkUG9zaXRpb25TY3JvbGxiYXJMYXllcnMgPSB0cnVlOwogfQogCi12b2lkIEZy
YW1lVmlldzo6aGFuZGxlRGVmZXJyZWRTY3JvbGxiYXJzVXBkYXRlQWZ0ZXJEaXJlY3Rpb25DaGFu
Z2UoKQordm9pZCBGcmFtZVZpZXc6OmhhbmRsZURlZmVycmVkU2Nyb2xsYmFyc1VwZGF0ZSgpCiB7
CiAgICAgaWYgKCFtX25lZWRzRGVmZXJyZWRTY3JvbGxiYXJzVXBkYXRlKQogICAgICAgICByZXR1
cm47CiAKICAgICBtX25lZWRzRGVmZXJyZWRTY3JvbGxiYXJzVXBkYXRlID0gZmFsc2U7Ci0KICAg
ICB1cGRhdGVTY3JvbGxiYXJzKHNjcm9sbFBvc2l0aW9uKCkpOworfQorCit2b2lkIEZyYW1lVmll
dzo6aGFuZGxlRGVmZXJyZWRQb3NpdGlvblNjcm9sbGJhckxheWVycygpCit7CisgICAgaWYgKCFt
X25lZWRzRGVmZXJyZWRQb3NpdGlvblNjcm9sbGJhckxheWVycykKKyAgICAgICAgcmV0dXJuOwor
CisgICAgbV9uZWVkc0RlZmVycmVkUG9zaXRpb25TY3JvbGxiYXJMYXllcnMgPSBmYWxzZTsKICAg
ICBwb3NpdGlvblNjcm9sbGJhckxheWVycygpOwogfQogCkBAIC0xMjY1LDcgKzEyNzQsOCBAQCB2
b2lkIEZyYW1lVmlldzo6ZGlkTGF5b3V0KFdlYWtQdHI8UmVuZGVyRWxlbWVudD4gbGF5b3V0Um9v
dCkKIAogICAgIGhhbmRsZURlZmVycmVkU2Nyb2xsVXBkYXRlQWZ0ZXJDb250ZW50U2l6ZUNoYW5n
ZSgpOwogCi0gICAgaGFuZGxlRGVmZXJyZWRTY3JvbGxiYXJzVXBkYXRlQWZ0ZXJEaXJlY3Rpb25D
aGFuZ2UoKTsKKyAgICBoYW5kbGVEZWZlcnJlZFNjcm9sbGJhcnNVcGRhdGUoKTsKKyAgICBoYW5k
bGVEZWZlcnJlZFBvc2l0aW9uU2Nyb2xsYmFyTGF5ZXJzKCk7CiAKICAgICBpZiAoZG9jdW1lbnQt
Pmhhc0xpc3RlbmVyVHlwZShEb2N1bWVudDo6T1ZFUkZMT1dDSEFOR0VEX0xJU1RFTkVSKSkKICAg
ICAgICAgdXBkYXRlT3ZlcmZsb3dTdGF0dXMobGF5b3V0V2lkdGgoKSA8IGNvbnRlbnRzV2lkdGgo
KSwgbGF5b3V0SGVpZ2h0KCkgPCBjb250ZW50c0hlaWdodCgpKTsKQEAgLTU0NjksNiArNTQ3OSwx
NiBAQCBUZXh0U3RyZWFtJiBvcGVyYXRvcjw8KFRleHRTdHJlYW0mIHRzLCBjb25zdCBGcmFtZVZp
ZXcmIHZpZXcpCiAgICAgcmV0dXJuIHRzOwogfQogCit2b2lkIEZyYW1lVmlldzo6ZGlkRmluaXNo
UHJvaGliaXRpbmdTY3JvbGxpbmdXaGVuQ2hhbmdpbmdDb250ZW50U2l6ZSgpCit7CisgICAgaWYg
KGF1dG8qIGRvY3VtZW50ID0gZnJhbWUoKS5kb2N1bWVudCgpKSB7CisgICAgICAgIGlmICghZG9j
dW1lbnQtPm5lZWRzU3R5bGVSZWNhbGMoKSAmJiAhbmVlZHNMYXlvdXQoKSAmJiAhbGF5b3V0Q29u
dGV4dCgpLmlzSW5MYXlvdXQoKSkKKyAgICAgICAgICAgIHVwZGF0ZVNjcm9sbGJhcnMoc2Nyb2xs
UG9zaXRpb24oKSk7CisgICAgICAgIGVsc2UKKyAgICAgICAgICAgIG1fbmVlZHNEZWZlcnJlZFNj
cm9sbGJhcnNVcGRhdGUgPSB0cnVlOworICAgIH0KK30KKwogfSAvLyBuYW1lc3BhY2UgV2ViQ29y
ZQogCiAjdW5kZWYgUEFHRV9JRApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9GcmFt
ZVZpZXcuaCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRnJhbWVWaWV3LmgKaW5kZXggOWViMTk1ZGQ4
NjQxNWNhYjE1ZGY4ZGQzNWJmYTZkZGU1MmM5ZjdhMC4uZDdlOGRiOWFmNDAzY2U1NjgyNWQ4Mjk2
NThkYmQ3YTQwYTQ3MjRjOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9GcmFtZVZp
ZXcuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0ZyYW1lVmlldy5oCkBAIC03NzUsNyArNzc1
LDggQEAgcHJpdmF0ZToKIAogICAgIHZvaWQgYWRqdXN0U2Nyb2xsYmFyc0ZvckxheW91dChib29s
IGZpcnN0TGF5b3V0KTsKIAotICAgIHZvaWQgaGFuZGxlRGVmZXJyZWRTY3JvbGxiYXJzVXBkYXRl
QWZ0ZXJEaXJlY3Rpb25DaGFuZ2UoKTsKKyAgICB2b2lkIGhhbmRsZURlZmVycmVkU2Nyb2xsYmFy
c1VwZGF0ZSgpOworICAgIHZvaWQgaGFuZGxlRGVmZXJyZWRQb3NpdGlvblNjcm9sbGJhckxheWVy
cygpOwogCiAgICAgdm9pZCB1cGRhdGVTY3JvbGxhYmxlQXJlYVNldCgpOwogICAgIHZvaWQgdXBk
YXRlTGF5b3V0Vmlld3BvcnQoKTsKQEAgLTgzNCw2ICs4MzUsOCBAQCBwcml2YXRlOgogICAgIHZv
aWQgb3ZlcnJpZGVWaWV3cG9ydFdpZHRoRm9yQ1NTVmlld3BvcnRVbml0cyhpbnQpOwogICAgIHZv
aWQgcmVzZXRPdmVycmlkZGVuVmlld3BvcnRXaWR0aEZvckNTU1ZpZXdwb3J0VW5pdHMoKTsKIAor
ICAgIHZvaWQgZGlkRmluaXNoUHJvaGliaXRpbmdTY3JvbGxpbmdXaGVuQ2hhbmdpbmdDb250ZW50
U2l6ZSgpIGZpbmFsOworCiAgICAgc3RhdGljIE1vbm90b25pY1RpbWUgc0N1cnJlbnRQYWludFRp
bWVTdGFtcDsgLy8gdXNlZCBmb3IgZGV0ZWN0aW5nIGRlY29kZWQgcmVzb3VyY2UgdGhyYXNoIGlu
IHRoZSBjYWNoZQogCiAgICAgY29uc3QgUmVmPEZyYW1lPiBtX2ZyYW1lOwpAQCAtOTQ1LDYgKzk0
OCw3IEBAIHByaXZhdGU6CiAgICAgYm9vbCBtX2hhc1JlYWNoZWRTaWduaWZpY2FudFJlbmRlcmVk
VGV4dFRocmVzaG9sZCB7IGZhbHNlIH07CiAKICAgICBib29sIG1fbmVlZHNEZWZlcnJlZFNjcm9s
bGJhcnNVcGRhdGUgeyBmYWxzZSB9OworICAgIGJvb2wgbV9uZWVkc0RlZmVycmVkUG9zaXRpb25T
Y3JvbGxiYXJMYXllcnMgeyBmYWxzZSB9OwogICAgIGJvb2wgbV9zcGVjdWxhdGl2ZVRpbGluZ0Vu
YWJsZWQgeyBmYWxzZSB9OwogICAgIGJvb2wgbV92aXN1YWxVcGRhdGVzQWxsb3dlZEJ5Q2xpZW50
IHsgdHJ1ZSB9OwogICAgIGJvb2wgbV9oYXNGbGlwcGVkQmxvY2tSZW5kZXJlcnMgeyBmYWxzZSB9
OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vU2Nyb2xsVmlldy5jcHAgYi9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9TY3JvbGxWaWV3LmNwcAppbmRleCA4ZGU0NDA0ZjU1ODJi
Mzc3YjkxOWRlOGFjYTEyNjg4NjNmYzc0ZGU4Li5kYWNhYWQ1MDBmZDcyNzE3M2JkOTQwNDNlZTMy
NDM5NGM3OWNmMTcwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9TY3JvbGxW
aWV3LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9TY3JvbGxWaWV3LmNwcApAQCAt
Mzk4LDcgKzM5OCw3IEBAIHZvaWQgU2Nyb2xsVmlldzo6c2V0Q29udGVudHNTaXplKGNvbnN0IElu
dFNpemUmIG5ld1NpemUpCiAgICAgbV9jb250ZW50c1NpemUgPSBuZXdTaXplOwogICAgIGlmIChw
bGF0Zm9ybVdpZGdldCgpKQogICAgICAgICBwbGF0Zm9ybVNldENvbnRlbnRzU2l6ZSgpOwotICAg
IGVsc2UKKyAgICBlbHNlIGlmICghbV9wcm9oaWJpdHNTY3JvbGxpbmdXaGVuQ2hhbmdpbmdDb250
ZW50U2l6ZUNvdW50KQogICAgICAgICB1cGRhdGVTY3JvbGxiYXJzKHNjcm9sbFBvc2l0aW9uKCkp
OwogICAgIHVwZGF0ZU92ZXJoYW5nQXJlYXMoKTsKIH0KQEAgLTE1MzgsNiArMTUzOCwyMyBAQCBJ
bnRQb2ludCBTY3JvbGxWaWV3Ojpsb2NhdGlvbk9mQ29udGVudHMoKSBjb25zdAogICAgIHJldHVy
biByZXN1bHQ7CiB9CiAKK3N0ZDo6dW5pcXVlX3B0cjxTY3JvbGxWaWV3OjpQcm9oaWJpdFNjcm9s
bGluZ1doZW5DaGFuZ2luZ0NvbnRlbnRTaXplRm9yU2NvcGU+IFNjcm9sbFZpZXc6OnByb2hpYml0
U2Nyb2xsaW5nV2hlbkNoYW5naW5nQ29udGVudFNpemVGb3JTY29wZSgpCit7CisgICAgcmV0dXJu
IG1ha2VVbmlxdWU8UHJvaGliaXRTY3JvbGxpbmdXaGVuQ2hhbmdpbmdDb250ZW50U2l6ZUZvclNj
b3BlPigqdGhpcyk7Cit9CisKK1Njcm9sbFZpZXc6OlByb2hpYml0U2Nyb2xsaW5nV2hlbkNoYW5n
aW5nQ29udGVudFNpemVGb3JTY29wZTo6UHJvaGliaXRTY3JvbGxpbmdXaGVuQ2hhbmdpbmdDb250
ZW50U2l6ZUZvclNjb3BlKFNjcm9sbFZpZXcmIHNjcm9sbFZpZXcpCisgICAgOiBtX3Njcm9sbFZp
ZXcobWFrZVdlYWtQdHIoc2Nyb2xsVmlldykpCit7CisgICAgc2Nyb2xsVmlldy5pbmNyZW1lbnRQ
cm9oaWJpdHNTY3JvbGxpbmdXaGVuQ2hhbmdpbmdDb250ZW50U2l6ZUNvdW50KCk7Cit9CisKK1Nj
cm9sbFZpZXc6OlByb2hpYml0U2Nyb2xsaW5nV2hlbkNoYW5naW5nQ29udGVudFNpemVGb3JTY29w
ZTo6flByb2hpYml0U2Nyb2xsaW5nV2hlbkNoYW5naW5nQ29udGVudFNpemVGb3JTY29wZSgpCit7
CisgICAgaWYgKG1fc2Nyb2xsVmlldykKKyAgICAgICAgbV9zY3JvbGxWaWV3LT5kZWNyZW1lbnRQ
cm9oaWJpdHNTY3JvbGxpbmdXaGVuQ2hhbmdpbmdDb250ZW50U2l6ZUNvdW50KCk7Cit9CisKIFN0
cmluZyBTY3JvbGxWaWV3OjpkZWJ1Z0Rlc2NyaXB0aW9uKCkgY29uc3QKIHsKICAgICByZXR1cm4g
bWFrZVN0cmluZygiU2Nyb2xsVmlldyAweCIsIGhleChyZWludGVycHJldF9jYXN0PHVpbnRwdHJf
dD4odGhpcyksIExvd2VyY2FzZSkpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vU2Nyb2xsVmlldy5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vU2Nyb2xsVmlldy5oCmlu
ZGV4IDcxMDQxNTNmNTYxZjBhY2U0MjgyNGEyOTQyNjQyMzQ0NDA5YzZhMjkuLmZjYmM4Mzc5ZTE4
MjI5YjNlOGNlMzVlYWI4YjM1Y2I2YzQwNzYyNjUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL1Njcm9sbFZpZXcuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9TY3Jv
bGxWaWV3LmgKQEAgLTE0Niw2ICsxNDYsMTggQEAgcHVibGljOgogICAgIHZvaWQgc2V0UHJvaGli
aXRzU2Nyb2xsaW5nKGJvb2wgYikgeyBtX3Byb2hpYml0c1Njcm9sbGluZyA9IGI7IH0KICAgICBi
b29sIHByb2hpYml0c1Njcm9sbGluZygpIGNvbnN0IHsgcmV0dXJuIG1fcHJvaGliaXRzU2Nyb2xs
aW5nOyB9CiAKKyAgICBjbGFzcyBQcm9oaWJpdFNjcm9sbGluZ1doZW5DaGFuZ2luZ0NvbnRlbnRT
aXplRm9yU2NvcGUgeworICAgICAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKKyAgICBwdWJs
aWM6CisgICAgICAgIFByb2hpYml0U2Nyb2xsaW5nV2hlbkNoYW5naW5nQ29udGVudFNpemVGb3JT
Y29wZShTY3JvbGxWaWV3Jik7CisgICAgICAgIH5Qcm9oaWJpdFNjcm9sbGluZ1doZW5DaGFuZ2lu
Z0NvbnRlbnRTaXplRm9yU2NvcGUoKTsKKworICAgIHByaXZhdGU6CisgICAgICAgIFdlYWtQdHI8
U2Nyb2xsVmlldz4gbV9zY3JvbGxWaWV3OworICAgIH07CisKKyAgICBzdGQ6OnVuaXF1ZV9wdHI8
UHJvaGliaXRTY3JvbGxpbmdXaGVuQ2hhbmdpbmdDb250ZW50U2l6ZUZvclNjb3BlPiBwcm9oaWJp
dFNjcm9sbGluZ1doZW5DaGFuZ2luZ0NvbnRlbnRTaXplRm9yU2NvcGUoKTsKKwogICAgIC8vIFdo
ZXRoZXIgb3Igbm90IGEgc2Nyb2xsIHZpZXcgd2lsbCBibGl0IHZpc2libGUgY29udGVudHMgd2hl
biBpdCBpcyBzY3JvbGxlZC4gQmxpdHRpbmcgaXMgZGlzYWJsZWQgaW4gc2l0dWF0aW9ucwogICAg
IC8vIHdoZXJlIGl0IHdvdWxkIGNhdXNlIHJlbmRlcmluZyBnbGl0Y2hlcyAoc3VjaCBhcyB3aXRo
IGZpeGVkIGJhY2tncm91bmRzIG9yIHdoZW4gdGhlIHZpZXcgaXMgcGFydGlhbGx5IHRyYW5zcGFy
ZW50KS4KICAgICB2b2lkIHNldENhbkJsaXRPblNjcm9sbChib29sKTsKQEAgLTQzMSw2ICs0NDMs
OCBAQCBwcm90ZWN0ZWQ6CiAKICAgICB2aXJ0dWFsIHZvaWQgdW5vYnNjdXJlZENvbnRlbnRTaXpl
Q2hhbmdlZCgpID0gMDsKIAorICAgIHZpcnR1YWwgdm9pZCBkaWRGaW5pc2hQcm9oaWJpdGluZ1Nj
cm9sbGluZ1doZW5DaGFuZ2luZ0NvbnRlbnRTaXplKCkgPSAwOworCiAjaWYgUExBVEZPUk0oQ09D
T0EpICYmIGRlZmluZWQgX19PQkpDX18KIHB1YmxpYzoKICAgICBXRUJDT1JFX0VYUE9SVCBOU1Zp
ZXcqIGRvY3VtZW50VmlldygpIGNvbnN0OwpAQCAtNDkzLDYgKzUwNywxOCBAQCBwcml2YXRlOgog
ICAgIHZvaWQgY2FsY3VsYXRlT3ZlcmhhbmdBcmVhc0ZvclBhaW50aW5nKEludFJlY3QmIGhvcml6
b250YWxPdmVyaGFuZ1JlY3QsIEludFJlY3QmIHZlcnRpY2FsT3ZlcmhhbmdSZWN0KTsKICAgICB2
b2lkIHVwZGF0ZU92ZXJoYW5nQXJlYXMoKTsKIAorICAgIHZvaWQgaW5jcmVtZW50UHJvaGliaXRz
U2Nyb2xsaW5nV2hlbkNoYW5naW5nQ29udGVudFNpemVDb3VudCgpIHsgKyttX3Byb2hpYml0c1Nj
cm9sbGluZ1doZW5DaGFuZ2luZ0NvbnRlbnRTaXplQ291bnQ7IH0KKyAgICB2b2lkIGRlY3JlbWVu
dFByb2hpYml0c1Njcm9sbGluZ1doZW5DaGFuZ2luZ0NvbnRlbnRTaXplQ291bnQoKQorICAgIHsK
KyAgICAgICAgaWYgKCFtX3Byb2hpYml0c1Njcm9sbGluZ1doZW5DaGFuZ2luZ0NvbnRlbnRTaXpl
Q291bnQpIHsKKyAgICAgICAgICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOworICAgICAgICAgICAg
cmV0dXJuOworICAgICAgICB9CisKKyAgICAgICAgaWYgKCEtLW1fcHJvaGliaXRzU2Nyb2xsaW5n
V2hlbkNoYW5naW5nQ29udGVudFNpemVDb3VudCkKKyAgICAgICAgICAgIGRpZEZpbmlzaFByb2hp
Yml0aW5nU2Nyb2xsaW5nV2hlbkNoYW5naW5nQ29udGVudFNpemUoKTsKKyAgICB9CisKICAgICBI
YXNoU2V0PFJlZjxXaWRnZXQ+PiBtX2NoaWxkcmVuOwogCiAgICAgUmVmUHRyPFNjcm9sbGJhcj4g
bV9ob3Jpem9udGFsU2Nyb2xsYmFyOwpAQCAtNTI0LDYgKzU1MCw3IEBAIHByaXZhdGU6CiAgICAg
SW50UG9pbnQgbV9wYW5TY3JvbGxJY29uUG9pbnQ7CiAKICAgICB1bnNpZ25lZCBtX3VwZGF0ZVNj
cm9sbGJhcnNQYXNzIHsgMCB9OworICAgIHVuc2lnbmVkIG1fcHJvaGliaXRzU2Nyb2xsaW5nV2hl
bkNoYW5naW5nQ29udGVudFNpemVDb3VudCB7IDAgfTsKIAogICAgIGJvb2wgbV9ob3Jpem9udGFs
U2Nyb2xsYmFyTG9jayB7IGZhbHNlIH07CiAgICAgYm9vbCBtX3ZlcnRpY2FsU2Nyb2xsYmFyTG9j
ayB7IGZhbHNlIH07CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRU
ZXN0cy9DaGFuZ2VMb2cKaW5kZXggYzRlOGRmYzkwZjU2NjNlMTkyODZmM2VkOGE5MWY1MDUxODZl
MDgxYy4uNWUxMzVlNjlkNDgyNzFmYjVjMjExZTQyYjBmY2ZmOWM1MzNmMWVjMSAxMDA2NDQKLS0t
IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAt
MSwzICsxLDIxIEBACisyMDIwLTA3LTIwICBXZW5zb24gSHNpZWggIDx3ZW5zb25faHNpZWhAYXBw
bGUuY29tPgorCisgICAgICAgIFJFR1JFU1NJT04gKHIyNjE4NzQpOiBUeXBpbmcgbmVhciB0aGUg
Ym90dG9tIG9mIGEgc2Nyb2xsYWJsZSBkb2N1bWVudCBjYXVzZXMgdGhlIHNjcm9sbCBwb3NpdGlv
biB0byBqdW1wCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9p
ZD0yMTQ0MjYKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzY1MzAyNzAxPgorCisgICAgICAgIFJl
dmlld2VkIGJ5IFNpbW9uIEZyYXNlci4KKworICAgICAgICBBZGQgYSB0ZXN0IHRvIHZlcmlmeSB0
aGF0IHRoZSBzY3JvbGwgcG9zaXRpb24gZG9lc24ndCBjaGFuZ2Ugd2hlbiBkZWxldGluZyBhbmQg
dGhlbiByZWluc2VydGluZyB0aGUgb25seQorICAgICAgICBjaGFyYWN0ZXIgb24gYSBsaW5lIChp
LmUuIGBkaXZgIGVsZW1lbnQpIGluIGEgY29udGVudGVkaXRhYmxlIGVsZW1lbnQuIFRoaXMgdGVz
dCBhbHNvIHZlcmlmaWVzIHRoYXQgZGVsZXRpbmcKKyAgICAgICAgbGluZXMgaW4gYSB3YXkgdGhh
dCBkZWNyZWFzZXMgdGhlIGhlaWdodCBvZiB0aGUgZG9jdW1lbnQgc3RpbGwgY2xhbXBzIHRoZSBz
Y3JvbGwgcG9zaXRpb24gYnkgc2Nyb2xsaW5nIHVwLgorCisgICAgICAgICogZWRpdGluZy9leGVj
Q29tbWFuZC90eXBpbmctc2hvdWxkLW5vdC10cmlnZ2VyLXNjcm9sbGluZy13aGVuLXNlbGVjdGlv
bi1pcy12aXNpYmxlLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9leGVj
Q29tbWFuZC90eXBpbmctc2hvdWxkLW5vdC10cmlnZ2VyLXNjcm9sbGluZy13aGVuLXNlbGVjdGlv
bi1pcy12aXNpYmxlLmh0bWw6IEFkZGVkLgorICAgICAgICAqIHBsYXRmb3JtL21hYy13azEvVGVz
dEV4cGVjdGF0aW9uczoKKworICAgICAgICBNYXJrIHRoZSB0ZXN0IGFzIGZhaWxpbmcgaW4gV2Vi
S2l0MSBmb3Igbm93LCB3aGljaCB3aWxsIHJlcXVpcmUgc29tZSBhZGRpdGlvbmFsIHdvcmsuCisK
IDIwMjAtMDctMTcgIExhdXJvIE1vdXJhICA8bG1vdXJhQGlnYWxpYS5jb20+CiAKICAgICAgICAg
W0dUS10gZmFzdC9ldmVudHMvY29udGV4dC1hY3RpdmF0ZWQtYnkta2V5LWV2ZW50Lmh0bWwgaXMg
Y3Jhc2hpbmcKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvZXhlY0NvbW1hbmQvdHlw
aW5nLXNob3VsZC1ub3QtdHJpZ2dlci1zY3JvbGxpbmctd2hlbi1zZWxlY3Rpb24taXMtdmlzaWJs
ZS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2V4ZWNDb21tYW5kL3R5cGluZy1z
aG91bGQtbm90LXRyaWdnZXItc2Nyb2xsaW5nLXdoZW4tc2VsZWN0aW9uLWlzLXZpc2libGUtZXhw
ZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLmE2MzEyN2VjNjNhZGQ1ZDEyNTUzMGFmMGUzMTA3N2FkZjAz
MzlhNjIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2V4ZWNDb21tYW5k
L3R5cGluZy1zaG91bGQtbm90LXRyaWdnZXItc2Nyb2xsaW5nLXdoZW4tc2VsZWN0aW9uLWlzLXZp
c2libGUtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTYgQEAKK1RoaXMgdGVzdCB2ZXJpZmllcyB0
aGF0IHR5cGluZyB0ZXh0LCB0aGVuIHVuZG9pbmcsIGFuZCB0aGVuIHJlZG9pbmcgZG9lcyBub3Qg
Y2F1c2UgdGhlIHNjcm9sbCBwb3NpdGlvbiBvZiB0aGUgZG9jdW1lbnQgdG8ganVtcCBhcm91bmQu
IFRvIHJ1biB0aGUgdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgd2FpdCBmb3IgdGhl
IHRlc3QgdG8gY29tcGxldGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBv
ZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworUEFTUyBz
Y3JvbGxUb3BBZnRlclR5cGluZyBpcyBzY3JvbGxUb3BCZWZvcmVUeXBpbmcKK1BBU1Mgc2Nyb2xs
VG9wQWZ0ZXJEZWxldGluZyBpcyBzY3JvbGxUb3BBZnRlclR5cGluZworUEFTUyBzY3JvbGxUb3BB
ZnRlclVuZG9pbmcgaXMgc2Nyb2xsVG9wQWZ0ZXJEZWxldGluZworUEFTUyBzY3JvbGxUb3BBZnRl
clJlZG9pbmcgaXMgc2Nyb2xsVG9wQWZ0ZXJVbmRvaW5nCitQQVNTIHNjcm9sbFRvcEFmdGVyRGVs
ZXRpbmdBZ2FpbiA8IHNjcm9sbFRvcEFmdGVyUmVkb2luZyBpcyB0cnVlCitQQVNTIHN1Y2Nlc3Nm
dWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKK1RyeSB0byBkZWxldGUgdGhlIGxl
dHRlcnMgYmVsb3cuCitBCitCCitDCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2V4
ZWNDb21tYW5kL3R5cGluZy1zaG91bGQtbm90LXRyaWdnZXItc2Nyb2xsaW5nLXdoZW4tc2VsZWN0
aW9uLWlzLXZpc2libGUuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvZXhlY0NvbW1hbmQvdHlw
aW5nLXNob3VsZC1ub3QtdHJpZ2dlci1zY3JvbGxpbmctd2hlbi1zZWxlY3Rpb24taXMtdmlzaWJs
ZS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLmU1MDdmZGYyOGNhYzdjNjc5NmI1MjllNTAwMGFkMzY1NzA0ZWQ4
ZjcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2V4ZWNDb21tYW5kL3R5
cGluZy1zaG91bGQtbm90LXRyaWdnZXItc2Nyb2xsaW5nLXdoZW4tc2VsZWN0aW9uLWlzLXZpc2li
bGUuaHRtbApAQCAtMCwwICsxLDgxIEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVz
dC1ydW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKzxodG1sPgorPGhlYWQ+
Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0
aWFsLXNjYWxlPTEiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48
L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3Nj
cmlwdD4KKzxzY3JpcHQgc3JjPSIuLi9lZGl0aW5nLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK2Rp
dltjb250ZW50ZWRpdGFibGVdIHsKKyAgICBtYXJnaW4tdG9wOiAyMDAwcHg7CisgICAgZm9udC1z
aXplOiAyMHB4OworICAgIGJvcmRlcjogc29saWQgYmxhY2sgMXB4OworICAgIG91dGxpbmU6IG5v
bmU7Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2IGlkPSJvdXRwdXQiPgorICAg
IDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rp
dj4KKzwvZGl2PgorPGRpdiBjb250ZW50ZWRpdGFibGU+CisgICAgPGRpdj5UcnkgdG8gZGVsZXRl
IHRoZSBsZXR0ZXJzIGJlbG93LjwvZGl2PgorICAgIDxkaXY+QTwvZGl2PgorICAgIDxkaXY+Qjwv
ZGl2PgorICAgIDxkaXY+QzwvZGl2PgorICAgIDxkaXYgaWQ9InRhcmdldCI+PGJyPjwvZGl2Pgor
PC9kaXY+Cis8c2NyaXB0PgorZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHR5
cGluZyB0ZXh0LCB0aGVuIHVuZG9pbmcsIGFuZCB0aGVuIHJlZG9pbmcgZG9lcyBub3QgY2F1c2Ug
dGhlIHNjcm9sbCBwb3NpdGlvbiBvZiB0aGUgZG9jdW1lbnQgdG8ganVtcCBhcm91bmQuIFRvIHJ1
biB0aGUgdGVzdCBtYW51YWxseSwgbG9hZCB0aGUgcGFnZSBhbmQgd2FpdCBmb3IgdGhlIHRlc3Qg
dG8gY29tcGxldGUuIik7Citqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworYXN5bmMgZnVuY3Rpb24g
cHJlc2VudGF0aW9uVXBkYXRlKCkKK3sKKyAgICBpZiAod2luZG93LnRlc3RSdW5uZXIpCisgICAg
ICAgIGF3YWl0IFVJSGVscGVyLmVuc3VyZVByZXNlbnRhdGlvblVwZGF0ZSgpOworICAgIGVsc2UK
KyAgICAgICAgYXdhaXQgbmV3IFByb21pc2UocmVzb2x2ZSA9PiBzZXRUaW1lb3V0KHJlc29sdmUs
IDI1MCkpOworfQorCithZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgYXN5bmMgKCkgPT4geworICAg
IGdldFNlbGVjdGlvbigpLnNldFBvc2l0aW9uKHRhcmdldCwgMSk7CisgICAgYXdhaXQgcHJlc2Vu
dGF0aW9uVXBkYXRlKCk7CisKKyAgICB0YXJnZXQuc2Nyb2xsSW50b1ZpZXcoKTsKKyAgICBhd2Fp
dCBwcmVzZW50YXRpb25VcGRhdGUoKTsKKyAgICBzY3JvbGxUb3BCZWZvcmVUeXBpbmcgPSBkb2N1
bWVudC5zY3JvbGxpbmdFbGVtZW50LnNjcm9sbFRvcDsKKworICAgIHR5cGVDaGFyYWN0ZXJDb21t
YW5kKCJEIik7CisgICAgYXdhaXQgcHJlc2VudGF0aW9uVXBkYXRlKCk7CisgICAgc2Nyb2xsVG9w
QWZ0ZXJUeXBpbmcgPSBkb2N1bWVudC5zY3JvbGxpbmdFbGVtZW50LnNjcm9sbFRvcDsKKworICAg
IGRlbGV0ZUNvbW1hbmQoKTsKKyAgICBhd2FpdCBwcmVzZW50YXRpb25VcGRhdGUoKTsKKyAgICBz
Y3JvbGxUb3BBZnRlckRlbGV0aW5nID0gZG9jdW1lbnQuc2Nyb2xsaW5nRWxlbWVudC5zY3JvbGxU
b3A7CisKKyAgICB1bmRvQ29tbWFuZCgpOworICAgIGF3YWl0IHByZXNlbnRhdGlvblVwZGF0ZSgp
OworICAgIHNjcm9sbFRvcEFmdGVyVW5kb2luZyA9IGRvY3VtZW50LnNjcm9sbGluZ0VsZW1lbnQu
c2Nyb2xsVG9wOworCisgICAgcmVkb0NvbW1hbmQoKTsKKyAgICBhd2FpdCBwcmVzZW50YXRpb25V
cGRhdGUoKTsKKyAgICBzY3JvbGxUb3BBZnRlclJlZG9pbmcgPSBkb2N1bWVudC5zY3JvbGxpbmdF
bGVtZW50LnNjcm9sbFRvcDsKKworICAgIGRlbGV0ZUNvbW1hbmQoKTsKKyAgICBhd2FpdCBwcmVz
ZW50YXRpb25VcGRhdGUoKTsKKyAgICBzY3JvbGxUb3BBZnRlckRlbGV0aW5nQWdhaW4gPSBkb2N1
bWVudC5zY3JvbGxpbmdFbGVtZW50LnNjcm9sbFRvcDsKKworICAgIHNob3VsZEJlKCJzY3JvbGxU
b3BBZnRlclR5cGluZyIsICJzY3JvbGxUb3BCZWZvcmVUeXBpbmciKTsKKyAgICBzaG91bGRCZSgi
c2Nyb2xsVG9wQWZ0ZXJEZWxldGluZyIsICJzY3JvbGxUb3BBZnRlclR5cGluZyIpOworICAgIHNo
b3VsZEJlKCJzY3JvbGxUb3BBZnRlclVuZG9pbmciLCAic2Nyb2xsVG9wQWZ0ZXJEZWxldGluZyIp
OworICAgIHNob3VsZEJlKCJzY3JvbGxUb3BBZnRlclJlZG9pbmciLCAic2Nyb2xsVG9wQWZ0ZXJV
bmRvaW5nIik7CisgICAgc2hvdWxkQmVUcnVlKCJzY3JvbGxUb3BBZnRlckRlbGV0aW5nQWdhaW4g
PCBzY3JvbGxUb3BBZnRlclJlZG9pbmciKTsKKworICAgIGRvY3VtZW50LnNjcm9sbGluZ0VsZW1l
bnQuc2Nyb2xsVG8oMCwgMCk7CisgICAgZmluaXNoSlNUZXN0KCk7Cit9KTsKKzwvc2NyaXB0Pgor
PC9ib2R5PgorPC9odG1sPgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy13azEvVGVzdEV4cGVjdGF0aW9ucyBi
L0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy13azEvVGVzdEV4cGVjdGF0aW9ucwppbmRleCAxZmNh
NDQ0MzM0NDliMzBjODMyMzQ4ZmZlMTVjYjhjMWExZjkxYjM3Li5mODM0MTY0ZDFlODQ2M2ZlOTcw
ZDQ3Y2Q0MzJhNDY3YjM0NzM2ZGE2IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9t
YWMtd2sxL1Rlc3RFeHBlY3RhdGlvbnMKKysrIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjLXdr
MS9UZXN0RXhwZWN0YXRpb25zCkBAIC04ODIsNiArODgyLDggQEAgd2Via2l0Lm9yZy9iLzIwNzA1
OSBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL0luZGV4ZWREQi9pbnRlcmxlYXZlZC1j
dXJzb3IKIAogd2Via2l0Lm9yZy9iLzIwNzA2NiBlZGl0aW5nL2V4ZWNDb21tYW5kL2luc2VydC1u
ZXN0ZWQtbGlzdHMuaHRtbCBbIFBhc3MgRmFpbHVyZSBdCiAKK3dlYmtpdC5vcmcvYi8yMTQ1NTgg
ZWRpdGluZy9leGVjQ29tbWFuZC90eXBpbmctc2hvdWxkLW5vdC10cmlnZ2VyLXNjcm9sbGluZy13
aGVuLXNlbGVjdGlvbi1pcy12aXNpYmxlLmh0bWwgWyBGYWlsdXJlIF0KKwogd2Via2l0Lm9yZy9i
LzIwNzEyNSB0cmFuc2l0aW9ucy9zdGFydC10cmFuc2Zvcm0tdHJhbnNpdGlvbi5odG1sIFsgUGFz
cyBGYWlsdXJlIF0KIAogd2Via2l0Lm9yZy9iLzE4MTA4NSBzdmcvY3VzdG9tL29iamVjdC1zaXpp
bmctZXhwbGljaXQtd2lkdGgueGh0bWwgWyBQYXNzIEZhaWx1cmUgXQo=
</data>

          </attachment>
      

    </bug>

</bugzilla>