<?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>226313</bug_id>
          
          <creation_ts>2021-05-26 20:23:47 -0700</creation_ts>
          <short_desc>Sampled Page Top Color: allow snapshotting of elements with CSS animations/transitions if they&apos;re paused</short_desc>
          <delta_ts>2021-06-01 14:47:15 -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>New Bugs</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          <see_also>https://bugs.webkit.org/show_bug.cgi?id=225338</see_also>
          <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="Devin Rousso">hi</reporter>
          <assigned_to name="Devin Rousso">hi</assigned_to>
          <cc>bdakin</cc>
    
    <cc>darin</cc>
    
    <cc>hi</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>1764189</commentid>
    <comment_count>0</comment_count>
    <who name="Devin Rousso">hi</who>
    <bug_when>2021-05-26 20:23:47 -0700</bug_when>
    <thetext>.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1764190</commentid>
    <comment_count>1</comment_count>
    <who name="Devin Rousso">hi</who>
    <bug_when>2021-05-26 20:24:01 -0700</bug_when>
    <thetext>&lt;rdar://problem/78534076&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1764192</commentid>
    <comment_count>2</comment_count>
      <attachid>429836</attachid>
    <who name="Devin Rousso">hi</who>
    <bug_when>2021-05-26 20:30:38 -0700</bug_when>
    <thetext>Created attachment 429836
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1764446</commentid>
    <comment_count>3</comment_count>
      <attachid>429836</attachid>
    <who name="Tim Horton">thorton</who>
    <bug_when>2021-05-27 11:58:21 -0700</bug_when>
    <thetext>Comment on attachment 429836
Patch

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

&gt; Source/WebCore/ChangeLog:12
&gt; +        animation/transition is. This is only really an issue for CSS animations/transitions that
&gt; +        are actively running, not ones that have yet to run or have finished.

Kinda weird logic? It&apos;s a race; if the animation wins the race all the way, you&apos;re treating it like the race never happened?

(if you snapshot the same page twice, and catch it in the animation the first time, and after the animation is done the second time, you&apos;ll get two different colors after your patch where you would have gotten the same color before it?)

(I also don&apos;t know that any of this is at all important)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1764610</commentid>
    <comment_count>4</comment_count>
      <attachid>429967</attachid>
    <who name="Devin Rousso">hi</who>
    <bug_when>2021-05-27 17:48:17 -0700</bug_when>
    <thetext>Created attachment 429967
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1764668</commentid>
    <comment_count>5</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2021-05-27 22:02:57 -0700</bug_when>
    <thetext>Committed r278189 (238232@main): &lt;https://commits.webkit.org/238232@main&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 429967.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1765767</commentid>
    <comment_count>6</comment_count>
      <attachid>429967</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2021-06-01 14:47:15 -0700</bug_when>
    <thetext>Comment on attachment 429967
Patch

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

&gt; Source/WebCore/page/PageColorSampler.cpp:31
&gt; +#include &quot;Element.h&quot;

This should not be needed. HTMLCanvasElement and HTMLIFrameElement are both derived from Element, so there would be no need to include the &quot;grand-base&quot; class too.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>429836</attachid>
            <date>2021-05-26 20:30:38 -0700</date>
            <delta_ts>2021-05-27 17:48:17 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>226313.diff</filename>
            <type>text/plain</type>
            <size>11641</size>
            <attacher name="Devin Rousso">hi</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZwppbmRleCAwMjY0ZTdhMWNhMDAuLjhlM2E2ZTU5MDliMSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAt
MSwzICsxLDI3IEBACisyMDIxLTA1LTI2ICBEZXZpbiBSb3Vzc28gIDxkcm91c3NvQGFwcGxlLmNv
bT4KKworICAgICAgICBTYW1wbGVkIFBhZ2UgVG9wIENvbG9yOiBhbGxvdyBzbmFwc2hvdHRpbmcg
b2YgZWxlbWVudHMgd2l0aCBDU1MgYW5pbWF0aW9ucy90cmFuc2l0aW9ucyBpZiB0aGV5J3JlIHBh
dXNlZAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjI2
MzEzCisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS83ODUzNDA3Nj4KKworICAgICAgICBSZXZpZXdl
ZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBUaGUgcHJpbWFyeSBjb25jZXJuIG9mIHNh
bXBsaW5nIGVsZW1lbnRzIHdpdGggQ1NTIGFuaW1hdGlvbnMvdHJhbnNpdGlvbnMgaXMgdGhhdCBp
dAorICAgICAgICBpbnRyb2R1Y2VzIHNvbWUgaW5kZXRlcm1pbmlzbSBpbiB3aGVuIHRoZSBzYW1w
bGluZyBoYXBwZW5zIHZzIGhvdyBmYXIgcHJvZ3Jlc3NlZCB0aGUgQ1NTCisgICAgICAgIGFuaW1h
dGlvbi90cmFuc2l0aW9uIGlzLiBUaGlzIGlzIG9ubHkgcmVhbGx5IGFuIGlzc3VlIGZvciBDU1Mg
YW5pbWF0aW9ucy90cmFuc2l0aW9ucyB0aGF0CisgICAgICAgIGFyZSBhY3RpdmVseSBydW5uaW5n
LCBub3Qgb25lcyB0aGF0IGhhdmUgeWV0IHRvIHJ1biBvciBoYXZlIGZpbmlzaGVkLgorCisgICAg
ICAgIFRlc3RzOiBTYW1wbGVkUGFnZVRvcENvbG9yLkhpdFRlc3RCZWZvcmVDU1NUcmFuc2l0aW9u
CisgICAgICAgICAgICAgICBTYW1wbGVkUGFnZVRvcENvbG9yLkhpdFRlc3REdXJpbmdDU1NUcmFu
c2l0aW9uCisgICAgICAgICAgICAgICBTYW1wbGVkUGFnZVRvcENvbG9yLkhpdFRlc3RBZnRlckNT
U1RyYW5zaXRpb24KKyAgICAgICAgICAgICAgIFNhbXBsZWRQYWdlVG9wQ29sb3IuSGl0VGVzdEJl
Zm9yZUNTU0FuaW1hdGlvbgorICAgICAgICAgICAgICAgU2FtcGxlZFBhZ2VUb3BDb2xvci5IaXRU
ZXN0RHVyaW5nQ1NTQW5pbWF0aW9uCisgICAgICAgICAgICAgICBTYW1wbGVkUGFnZVRvcENvbG9y
LkhpdFRlc3RBZnRlckNTU0FuaW1hdGlvbgorCisgICAgICAgICogcGFnZS9QYWdlQ29sb3JTYW1w
bGVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OmlzVmFsaWRTYW1wbGVMb2NhdGlvbik6CisgICAg
ICAgIFVzZSBgU3R5bGVhYmxlYCBpbnN0ZWFkIG9mIGBSZW5kZXJTdHlsZWAgdG8gZ2V0IG1vcmUg
aW5mb3JtYXRpb24gYWJvdXQgYWN0aXZlIENTUyBhbmltYXRpb25zL3RyYW5zaXRpb25zLgorCiAy
MDIxLTA1LTI1ICBEZXZpbiBSb3Vzc28gIDxkcm91c3NvQGFwcGxlLmNvbT4KIAogICAgICAgICBb
TW9kZXJuIE1lZGlhIENvbnRyb2xzXSBSRUdSRVNTSU9OKHIyNTQzODkpIG1lZGlhIGNvbnRyb2xz
IG5lZWRzIHRoZSBmdWxsIGxpc3Qgb2YgbGFuZ3VhZ2UgcHJlZmVyZW5jZXMgZm9yIG9yZGVyaW5n
IHRyYWNrcwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9QYWdlQ29sb3JTYW1wbGVy
LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGFnZUNvbG9yU2FtcGxlci5jcHAKaW5kZXggMWIy
MjhjNjY2MDQxLi4zYjc4ZDg3NTBjODEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2Uv
UGFnZUNvbG9yU2FtcGxlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9QYWdlQ29sb3JT
YW1wbGVyLmNwcApAQCAtMjgsNiArMjgsNyBAQAogCiAjaW5jbHVkZSAiQ29udGVudGZ1bFBhaW50
Q2hlY2tlci5oIgogI2luY2x1ZGUgIkRvY3VtZW50LmgiCisjaW5jbHVkZSAiRWxlbWVudC5oIgog
I2luY2x1ZGUgIkZyYW1lLmgiCiAjaW5jbHVkZSAiRnJhbWVTbmFwc2hvdHRpbmcuaCIKICNpbmNs
dWRlICJGcmFtZVZpZXcuaCIKQEAgLTM5LDYgKzQwLDcgQEAKICNpbmNsdWRlICJJbnRQb2ludC5o
IgogI2luY2x1ZGUgIkludFJlY3QuaCIKICNpbmNsdWRlICJJbnRTaXplLmgiCisjaW5jbHVkZSAi
TG9nZ2luZy5oIgogI2luY2x1ZGUgIk5vZGUuaCIKICNpbmNsdWRlICJQYWdlLmgiCiAjaW5jbHVk
ZSAiUGl4ZWxCdWZmZXIuaCIKQEAgLTQ3LDYgKzQ5LDggQEAKICNpbmNsdWRlICJSZW5kZXJPYmpl
Y3QuaCIKICNpbmNsdWRlICJSZW5kZXJTdHlsZS5oIgogI2luY2x1ZGUgIlNldHRpbmdzLmgiCisj
aW5jbHVkZSAiU3R5bGVhYmxlLmgiCisjaW5jbHVkZSAiV2ViQW5pbWF0aW9uLmgiCiAjaW5jbHVk
ZSA8d3RmL0xpc3RIYXNoU2V0Lmg+CiAjaW5jbHVkZSA8d3RmL09wdGlvblNldC5oPgogI2luY2x1
ZGUgPHd0Zi9PcHRpb25hbC5oPgpAQCAtNzUsMTcgKzc5LDMxIEBAIHN0YXRpYyBib29sIGlzVmFs
aWRTYW1wbGVMb2NhdGlvbihEb2N1bWVudCYgZG9jdW1lbnQsIGNvbnN0IEludFBvaW50JiBsb2Nh
dGlvbikKICAgICAgICAgaWYgKGlzPFJlbmRlckltYWdlPihyZW5kZXJlcikgfHwgcmVuZGVyZXIt
PnN0eWxlKCkuaGFzQmFja2dyb3VuZEltYWdlKCkpCiAgICAgICAgICAgICByZXR1cm4gZmFsc2U7
CiAKKyAgICAgICAgaWYgKCFpczxFbGVtZW50Pihub2RlKSkKKyAgICAgICAgICAgIGNvbnRpbnVl
OworCisgICAgICAgIGF1dG8mIGVsZW1lbnQgPSBkb3duY2FzdDxFbGVtZW50Pihub2RlKTsKKyAg
ICAgICAgYXV0byBzdHlsZWFibGUgPSBTdHlsZWFibGU6OmZyb21FbGVtZW50KGVsZW1lbnQpOwor
CiAgICAgICAgIC8vIFNraXAgbm9kZXMgd2l0aCBhbmltYXRpb25zIGFzIHRoZSBzYW1wbGUgbWF5
IGdldCBhbiBvZGQgY29sb3IgaWYgdGhlIGFuaW1hdGlvbiBpcyBpbi1wcm9ncmVzcy4KLSAgICAg
ICAgaWYgKHJlbmRlcmVyLT5zdHlsZSgpLmhhc1RyYW5zaXRpb25zKCkgfHwgcmVuZGVyZXItPnN0
eWxlKCkuaGFzQW5pbWF0aW9ucygpKQorICAgICAgICBpZiAoc3R5bGVhYmxlLmhhc1J1bm5pbmdU
cmFuc2l0aW9ucygpKQogICAgICAgICAgICAgcmV0dXJuIGZhbHNlOworICAgICAgICBpZiAoYXV0
byogYW5pbWF0aW9ucyA9IHN0eWxlYWJsZS5hbmltYXRpb25zKCkpIHsKKyAgICAgICAgICAgIGZv
ciAoYXV0byYgYW5pbWF0aW9uIDogKmFuaW1hdGlvbnMpIHsKKyAgICAgICAgICAgICAgICBpZiAo
IWFuaW1hdGlvbikKKyAgICAgICAgICAgICAgICAgICAgY29udGludWU7CisgICAgICAgICAgICAg
ICAgaWYgKGFuaW1hdGlvbi0+cGxheVN0YXRlKCkgPT0gV2ViQW5pbWF0aW9uOjpQbGF5U3RhdGU6
OlJ1bm5pbmcpCisgICAgICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKKyAgICAgICAgICAg
IH0KKyAgICAgICAgfQogCiAgICAgICAgIC8vIFNraXAgYDxjYW52YXM+YCBidXQgb25seSBpZiB0
aGV5J3ZlIGJlZW4gZHJhd24gaW50by4gR3Vlc3MgdGhpcyBieSBzZWVpbmcgaWYgdGhlcmUncyBh
bHJlYWR5CiAgICAgICAgIC8vIGEgYENhbnZhc1JlbmRlcmluZ0NvbnRleHRgLCB3aGljaCBpcyBv
bmx5IGNyZWF0ZWQgYnkgSmF2YVNjcmlwdC4KLSAgICAgICAgaWYgKGlzPEhUTUxDYW52YXNFbGVt
ZW50Pihub2RlKSAmJiBkb3duY2FzdDxIVE1MQ2FudmFzRWxlbWVudD4obm9kZSkucmVuZGVyaW5n
Q29udGV4dCgpKQorICAgICAgICBpZiAoaXM8SFRNTENhbnZhc0VsZW1lbnQ+KGVsZW1lbnQpICYm
IGRvd25jYXN0PEhUTUxDYW52YXNFbGVtZW50PihlbGVtZW50KS5yZW5kZXJpbmdDb250ZXh0KCkp
CiAgICAgICAgICAgICByZXR1cm4gZmFsc2U7CiAKICAgICAgICAgLy8gU2tpcCAzcmQtcGFydHkg
YDxpZnJhbWU+YCBhcyB0aGUgY29udGVudCBsaWtlbHkgd29uJ3QgbWF0Y2ggdGhlIHJlc3Qgb2Yg
dGhlIHBhZ2UuCi0gICAgICAgIGlmIChpczxIVE1MSUZyYW1lRWxlbWVudD4obm9kZSkgJiYgIWFy
ZVJlZ2lzdHJhYmxlRG9tYWluc0VxdWFsKGRvd25jYXN0PEhUTUxJRnJhbWVFbGVtZW50Pihub2Rl
KS5sb2NhdGlvbigpLCBkb2N1bWVudC51cmwoKSkpCisgICAgICAgIGlmIChpczxIVE1MSUZyYW1l
RWxlbWVudD4oZWxlbWVudCkgJiYgIWFyZVJlZ2lzdHJhYmxlRG9tYWluc0VxdWFsKGRvd25jYXN0
PEhUTUxJRnJhbWVFbGVtZW50PihlbGVtZW50KS5sb2NhdGlvbigpLCBkb2N1bWVudC51cmwoKSkp
CiAgICAgICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgfQogCmRpZmYgLS1naXQgYS9Ub29scy9D
aGFuZ2VMb2cgYi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggYzRmMDU2MWVhYzkzLi40OWNkYzA2OWZh
YWIgMTAwNjQ0Ci0tLSBhL1Rvb2xzL0NoYW5nZUxvZworKysgYi9Ub29scy9DaGFuZ2VMb2cKQEAg
LTEsMyArMSwyMiBAQAorMjAyMS0wNS0yNiAgRGV2aW4gUm91c3NvICA8ZHJvdXNzb0BhcHBsZS5j
b20+CisKKyAgICAgICAgU2FtcGxlZCBQYWdlIFRvcCBDb2xvcjogYWxsb3cgc25hcHNob3R0aW5n
IG9mIGVsZW1lbnRzIHdpdGggQ1NTIGFuaW1hdGlvbnMvdHJhbnNpdGlvbnMgaWYgdGhleSdyZSBw
YXVzZWQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIy
NjMxMworICAgICAgICA8cmRhcjovL3Byb2JsZW0vNzg1MzQwNzY+CisKKyAgICAgICAgUmV2aWV3
ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBUZXN0V2ViS2l0QVBJL1Rlc3RzL1dl
YktpdENvY29hL1NhbXBsZWRQYWdlVG9wQ29sb3IubW06CisgICAgICAgICh3YWl0Rm9yU2FtcGxl
ZFBhZ2VUb3BDb2xvclRvQ2hhbmdlKTogQWRkZWQuCisgICAgICAgICh3YWl0Rm9yU2FtcGxlZFBh
Z2VUb3BDb2xvclRvQ2hhbmdlRm9ySFRNTCk6CisgICAgICAgIChURVNULlNhbXBsZWRQYWdlVG9w
Q29sb3IuSGl0VGVzdEJlZm9yZUNTU1RyYW5zaXRpb24pOiBBZGRlZC4KKyAgICAgICAgKFRFU1Qu
U2FtcGxlZFBhZ2VUb3BDb2xvci5IaXRUZXN0RHVyaW5nQ1NTVHJhbnNpdGlvbik6IEFkZGVkLgor
ICAgICAgICAoVEVTVC5TYW1wbGVkUGFnZVRvcENvbG9yLkhpdFRlc3RBZnRlckNTU1RyYW5zaXRp
b24pOiBBZGRlZC4KKyAgICAgICAgKFRFU1QuU2FtcGxlZFBhZ2VUb3BDb2xvci5IaXRUZXN0QmVm
b3JlQ1NTQW5pbWF0aW9uKTogQWRkZWQuCisgICAgICAgIChURVNULlNhbXBsZWRQYWdlVG9wQ29s
b3IuSGl0VGVzdER1cmluZ0NTU0FuaW1hdGlvbik6IEFkZGVkLgorICAgICAgICAoVEVTVC5TYW1w
bGVkUGFnZVRvcENvbG9yLkhpdFRlc3RBZnRlckNTU0FuaW1hdGlvbik6IEFkZGVkLgorICAgICAg
ICAoVEVTVC5TYW1wbGVkUGFnZVRvcENvbG9yLkhpdFRlc3RDU1NBbmltYXRpb24pOiBEZWxldGVk
LgorCiAyMDIxLTA1LTI1ICBDaHJpcyBGbGVpemFjaCAgPGNmbGVpemFjaEBhcHBsZS5jb20+CiAK
ICAgICAgICAgQVg6IEltcHJvdmUgc3RyaW5nIGNvbnZlcnNpb24gaW4gQWNjZXNzaWJpbGl0eUNv
bnRyb2xsZXI6OmluamVjdEFjY2Vzc2liaWxpdHlQcmVmZXJlbmNlCmRpZmYgLS1naXQgYS9Ub29s
cy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdENvY29hL1NhbXBsZWRQYWdlVG9wQ29sb3IubW0g
Yi9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdENvY29hL1NhbXBsZWRQYWdlVG9wQ29s
b3IubW0KaW5kZXggOGFkODQyYTE1MDI4Li43YTZiZTA5YTMxNzUgMTAwNjQ0Ci0tLSBhL1Rvb2xz
L1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0Q29jb2EvU2FtcGxlZFBhZ2VUb3BDb2xvci5tbQor
KysgYi9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdENvY29hL1NhbXBsZWRQYWdlVG9w
Q29sb3IubW0KQEAgLTkwLDE2ICs5MCwyNiBAQCBzdGF0aWMgUmV0YWluUHRyPFRlc3RXS1dlYlZp
ZXc+IGNyZWF0ZVdlYlZpZXdXaXRoU2FtcGxlZFBhZ2VUb3BDb2xvck1heERpZmZlcmVuYwogICAg
IHJldHVybiBhZG9wdE5TKFtbVGVzdFdLV2ViVmlldyBhbGxvY10gaW5pdFdpdGhGcmFtZTpDR1Jl
Y3RNYWtlKDAsIDAsIDgwMCwgNjAwKSBjb25maWd1cmF0aW9uOmNvbmZpZ3VyYXRpb24uZ2V0KCld
KTsKIH0KIAotc3RhdGljIHZvaWQgd2FpdEZvclNhbXBsZWRQYWdlVG9wQ29sb3JUb0NoYW5nZUZv
ckhUTUwoVGVzdFdLV2ViVmlldyAqd2ViVmlldywgU3RyaW5nJiYgaHRtbCkKK3N0YXRpYyB2b2lk
IHdhaXRGb3JTYW1wbGVkUGFnZVRvcENvbG9yVG9DaGFuZ2UoVGVzdFdLV2ViVmlldyAqd2ViVmll
dywgRnVuY3Rpb248dm9pZCgpPiYmIHRyaWdnZXIgPSBudWxscHRyKQogewogICAgIGJvb2wgZG9u
ZSA9IGZhbHNlOwogICAgIGF1dG8gc2FtcGxlZFBhZ2VUb3BDb2xvck9ic2VydmVyID0gYWRvcHRO
UyhbW1Rlc3RLVk9XcmFwcGVyIGFsbG9jXSBpbml0V2l0aE9ic2VydmFibGU6d2ViVmlldyBrZXlQ
YXRoOkAiX3NhbXBsZWRQYWdlVG9wQ29sb3IiIGNhbGxiYWNrOlsmXSB7CiAgICAgICAgIGRvbmUg
PSB0cnVlOwogICAgIH1dKTsKLSAgICBbd2ViVmlldyBzeW5jaHJvbm91c2x5TG9hZEhUTUxTdHJp
bmdBbmRXYWl0VW50aWxBbGxJbW1lZGlhdGVDaGlsZEZyYW1lc1BhaW50OldURk1vdmUoaHRtbCld
OworCisgICAgaWYgKHRyaWdnZXIpCisgICAgICAgIHRyaWdnZXIoKTsKKwogICAgIFRlc3RXZWJL
aXRBUEk6OlV0aWw6OnJ1bigmZG9uZSk7CiB9CiAKK3N0YXRpYyB2b2lkIHdhaXRGb3JTYW1wbGVk
UGFnZVRvcENvbG9yVG9DaGFuZ2VGb3JIVE1MKFRlc3RXS1dlYlZpZXcgKndlYlZpZXcsIFN0cmlu
ZyYmIGh0bWwpCit7CisgICAgd2FpdEZvclNhbXBsZWRQYWdlVG9wQ29sb3JUb0NoYW5nZSh3ZWJW
aWV3LCBbd2ViVmlldywgaHRtbCA9IFdURk1vdmUoaHRtbCldICgpIG11dGFibGUgeworICAgICAg
ICBbd2ViVmlldyBzeW5jaHJvbm91c2x5TG9hZEhUTUxTdHJpbmdBbmRXYWl0VW50aWxBbGxJbW1l
ZGlhdGVDaGlsZEZyYW1lc1BhaW50OldURk1vdmUoaHRtbCldOworICAgIH0pOworfQorCiBzdGF0
aWMgU3RyaW5nIGNyZWF0ZUhUTUxHcmFkaWVudFdpdGhDb2xvclN0b3BzKFN0cmluZyYmIGRpcmVj
dGlvbiwgVmVjdG9yPFN0cmluZz4mJiBjb2xvclN0b3BzKQogewogICAgIEVYUEVDVF9HRShjb2xv
clN0b3BzLnNpemUoKSwgMlVMKTsKQEAgLTMxMiwxMyArMzIyLDg0IEBAIFRFU1QoU2FtcGxlZFBh
Z2VUb3BDb2xvciwgSGl0VGVzdENTU0JhY2tncm91bmRJbWFnZSkKICAgICBFWFBFQ1RfTlVMTChb
d2ViVmlldyBfc2FtcGxlZFBhZ2VUb3BDb2xvcl0pOwogfQogCi1URVNUKFNhbXBsZWRQYWdlVG9w
Q29sb3IsIEhpdFRlc3RDU1NBbmltYXRpb24pCitURVNUKFNhbXBsZWRQYWdlVG9wQ29sb3IsIEhp
dFRlc3RCZWZvcmVDU1NUcmFuc2l0aW9uKQogewogICAgIGF1dG8gd2ViVmlldyA9IGNyZWF0ZVdl
YlZpZXdXaXRoU2FtcGxlZFBhZ2VUb3BDb2xvck1heERpZmZlcmVuY2UoNSk7CiAgICAgRVhQRUNU
X05VTEwoW3dlYlZpZXcgX3NhbXBsZWRQYWdlVG9wQ29sb3JdKTsKIAotICAgIFt3ZWJWaWV3IHN5
bmNocm9ub3VzbHlMb2FkSFRNTFN0cmluZ0FuZFdhaXRVbnRpbEFsbEltbWVkaWF0ZUNoaWxkRnJh
bWVzUGFpbnQ6QCI8c3R5bGU+QGtleWZyYW1lcyBmYWRlSW4geyBmcm9tIHsgb3BhY2l0eTogMDsg
fSB9PC9zdHlsZT48Ym9keSBzdHlsZT0nYW5pbWF0aW9uOiBmYWRlSW4gMXMgaW5maW5pdGUgYWx0
ZXJuYXRlJz5UZXN0Il07CisgICAgd2FpdEZvclNhbXBsZWRQYWdlVG9wQ29sb3JUb0NoYW5nZUZv
ckhUTUwod2ViVmlldy5nZXQoKSwgQCI8Ym9keSBzdHlsZT0nbWFyZ2luOiAwOyB0cmFuc2l0aW9u
OiBiYWNrZ3JvdW5kLWNvbG9yIDFzJz5UZXN0Iik7CisgICAgRVhQRUNUX0VRKFdlYkNvcmU6OkNv
bG9yKFt3ZWJWaWV3IF9zYW1wbGVkUGFnZVRvcENvbG9yXS5DR0NvbG9yKSwgV2ViQ29yZTo6Q29s
b3I6OndoaXRlKTsKK30KKworVEVTVChTYW1wbGVkUGFnZVRvcENvbG9yLCBIaXRUZXN0RHVyaW5n
Q1NTVHJhbnNpdGlvbikKK3sKKyAgICBhdXRvIHdlYlZpZXcgPSBjcmVhdGVXZWJWaWV3V2l0aFNh
bXBsZWRQYWdlVG9wQ29sb3JNYXhEaWZmZXJlbmNlKDUpOwogICAgIEVYUEVDVF9OVUxMKFt3ZWJW
aWV3IF9zYW1wbGVkUGFnZVRvcENvbG9yXSk7CisKKyAgICBbd2ViVmlldyBzeW5jaHJvbm91c2x5
TG9hZEhUTUxTdHJpbmdBbmRXYWl0VW50aWxBbGxJbW1lZGlhdGVDaGlsZEZyYW1lc1BhaW50OkAi
PGJvZHkgc3R5bGU9J21hcmdpbjogMDsgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAxMDAw
cyc+Il07CisgICAgW3dlYlZpZXcgb2JqZWN0QnlFdmFsdWF0aW5nSmF2YVNjcmlwdDpAImRvY3Vt
ZW50LmJvZHkuc3R5bGUuc2V0UHJvcGVydHkoJ2JhY2tncm91bmQtY29sb3InLCAncmVkJykiXTsK
KworICAgIFRlc3RXZWJLaXRBUEk6OlV0aWw6OnNsZWVwKDEpOworCisgICAgLy8gTm90IHNldHRp
bmcgdGhpcyB1bnRpbCBub3cgcHJldmVudHMgdGhlIHNhbXBsaW5nIGxvZ2ljIGZyb20gcnVubmlu
ZyBiZWNhdXNlIHdpdGhvdXQgaXQgdGhlIHBhZ2UgaXNuJ3QgY29uc2lkZXJlZCBjb250ZW50ZnVs
LgorICAgIFt3ZWJWaWV3IG9iamVjdEJ5RXZhbHVhdGluZ0phdmFTY3JpcHQ6QCJkb2N1bWVudC5i
b2R5LnRleHRDb250ZW50ID0gJ1Rlc3QnIl07CisgICAgW3dlYlZpZXcgd2FpdEZvck5leHRQcmVz
ZW50YXRpb25VcGRhdGVdOworICAgIEVYUEVDVF9OVUxMKFt3ZWJWaWV3IF9zYW1wbGVkUGFnZVRv
cENvbG9yXSk7Cit9CisKK1RFU1QoU2FtcGxlZFBhZ2VUb3BDb2xvciwgSGl0VGVzdEFmdGVyQ1NT
VHJhbnNpdGlvbikKK3sKKyAgICBhdXRvIHdlYlZpZXcgPSBjcmVhdGVXZWJWaWV3V2l0aFNhbXBs
ZWRQYWdlVG9wQ29sb3JNYXhEaWZmZXJlbmNlKDUpOworICAgIEVYUEVDVF9OVUxMKFt3ZWJWaWV3
IF9zYW1wbGVkUGFnZVRvcENvbG9yXSk7CisKKyAgICBbd2ViVmlldyBzeW5jaHJvbm91c2x5TG9h
ZEhUTUxTdHJpbmdBbmRXYWl0VW50aWxBbGxJbW1lZGlhdGVDaGlsZEZyYW1lc1BhaW50OkAiPGJv
ZHkgc3R5bGU9J21hcmdpbjogMDsgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjFzJz4i
XTsKKyAgICBbd2ViVmlldyBvYmplY3RCeUV2YWx1YXRpbmdKYXZhU2NyaXB0OkAiZG9jdW1lbnQu
Ym9keS5zdHlsZS5zZXRQcm9wZXJ0eSgnYmFja2dyb3VuZC1jb2xvcicsICdyZWQnKSJdOworCisg
ICAgVGVzdFdlYktpdEFQSTo6VXRpbDo6c2xlZXAoMSk7CisKKyAgICAvLyBOb3Qgc2V0dGluZyB0
aGlzIHVudGlsIG5vdyBwcmV2ZW50cyB0aGUgc2FtcGxpbmcgbG9naWMgZnJvbSBydW5uaW5nIGJl
Y2F1c2Ugd2l0aG91dCBpdCB0aGUgcGFnZSBpc24ndCBjb25zaWRlcmVkIGNvbnRlbnRmdWwuCisg
ICAgW3dlYlZpZXcgb2JqZWN0QnlFdmFsdWF0aW5nSmF2YVNjcmlwdDpAImRvY3VtZW50LmJvZHku
dGV4dENvbnRlbnQgPSAnVGVzdCciXTsKKyAgICB3YWl0Rm9yU2FtcGxlZFBhZ2VUb3BDb2xvclRv
Q2hhbmdlKHdlYlZpZXcuZ2V0KCkpOworICAgIEVYUEVDVF9FUShXZWJDb3JlOjpDb2xvcihbd2Vi
VmlldyBfc2FtcGxlZFBhZ2VUb3BDb2xvcl0uQ0dDb2xvciksIFdlYkNvcmU6OkNvbG9yOjpyZWQp
OworfQorCitURVNUKFNhbXBsZWRQYWdlVG9wQ29sb3IsIEhpdFRlc3RCZWZvcmVDU1NBbmltYXRp
b24pCit7CisgICAgYXV0byB3ZWJWaWV3ID0gY3JlYXRlV2ViVmlld1dpdGhTYW1wbGVkUGFnZVRv
cENvbG9yTWF4RGlmZmVyZW5jZSg1KTsKKyAgICBFWFBFQ1RfTlVMTChbd2ViVmlldyBfc2FtcGxl
ZFBhZ2VUb3BDb2xvcl0pOworCisgICAgd2FpdEZvclNhbXBsZWRQYWdlVG9wQ29sb3JUb0NoYW5n
ZUZvckhUTUwod2ViVmlldy5nZXQoKSwgQCI8c3R5bGU+QGtleWZyYW1lcyBjaGFuZ2VCYWNrZ3Jv
dW5kUmVkIHsgdG8geyBiYWNrZ3JvdW5kLWNvbG9yOiByZWQ7IH0gfTwvc3R5bGU+PGJvZHkgc3R5
bGU9J21hcmdpbjogMDsgYW5pbWF0aW9uOiBjaGFuZ2VCYWNrZ3JvdW5kUmVkIDFzIGZvcndhcmRz
IHBhdXNlZCc+VGVzdCIpOworICAgIEVYUEVDVF9FUShXZWJDb3JlOjpDb2xvcihbd2ViVmlldyBf
c2FtcGxlZFBhZ2VUb3BDb2xvcl0uQ0dDb2xvciksIFdlYkNvcmU6OkNvbG9yOjp3aGl0ZSk7Cit9
CisKK1RFU1QoU2FtcGxlZFBhZ2VUb3BDb2xvciwgSGl0VGVzdER1cmluZ0NTU0FuaW1hdGlvbikK
K3sKKyAgICBhdXRvIHdlYlZpZXcgPSBjcmVhdGVXZWJWaWV3V2l0aFNhbXBsZWRQYWdlVG9wQ29s
b3JNYXhEaWZmZXJlbmNlKDUpOworICAgIEVYUEVDVF9OVUxMKFt3ZWJWaWV3IF9zYW1wbGVkUGFn
ZVRvcENvbG9yXSk7CisKKyAgICBbd2ViVmlldyBzeW5jaHJvbm91c2x5TG9hZEhUTUxTdHJpbmdB
bmRXYWl0VW50aWxBbGxJbW1lZGlhdGVDaGlsZEZyYW1lc1BhaW50OkAiPHN0eWxlPkBrZXlmcmFt
ZXMgY2hhbmdlQmFja2dyb3VuZFJlZCB7IHRvIHsgYmFja2dyb3VuZC1jb2xvcjogcmVkOyB9IH08
L3N0eWxlPjxib2R5IHN0eWxlPSdtYXJnaW46IDA7IGFuaW1hdGlvbjogY2hhbmdlQmFja2dyb3Vu
ZFJlZCAxMDAwcyBmb3J3YXJkcyc+Il07CisKKyAgICBUZXN0V2ViS2l0QVBJOjpVdGlsOjpzbGVl
cCgxKTsKKworICAgIC8vIE5vdCBzZXR0aW5nIHRoaXMgdW50aWwgbm93IHByZXZlbnRzIHRoZSBz
YW1wbGluZyBsb2dpYyBmcm9tIHJ1bm5pbmcgYmVjYXVzZSB3aXRob3V0IGl0IHRoZSBwYWdlIGlz
bid0IGNvbnNpZGVyZWQgY29udGVudGZ1bC4KKyAgICBbd2ViVmlldyBvYmplY3RCeUV2YWx1YXRp
bmdKYXZhU2NyaXB0OkAiZG9jdW1lbnQuYm9keS50ZXh0Q29udGVudCA9ICdUZXN0JyJdOworICAg
IFt3ZWJWaWV3IHdhaXRGb3JOZXh0UHJlc2VudGF0aW9uVXBkYXRlXTsKKyAgICBFWFBFQ1RfTlVM
TChbd2ViVmlldyBfc2FtcGxlZFBhZ2VUb3BDb2xvcl0pOworfQorCitURVNUKFNhbXBsZWRQYWdl
VG9wQ29sb3IsIEhpdFRlc3RBZnRlckNTU0FuaW1hdGlvbikKK3sKKyAgICBhdXRvIHdlYlZpZXcg
PSBjcmVhdGVXZWJWaWV3V2l0aFNhbXBsZWRQYWdlVG9wQ29sb3JNYXhEaWZmZXJlbmNlKDUpOwor
ICAgIEVYUEVDVF9OVUxMKFt3ZWJWaWV3IF9zYW1wbGVkUGFnZVRvcENvbG9yXSk7CisKKyAgICBb
d2ViVmlldyBzeW5jaHJvbm91c2x5TG9hZEhUTUxTdHJpbmdBbmRXYWl0VW50aWxBbGxJbW1lZGlh
dGVDaGlsZEZyYW1lc1BhaW50OkAiPHN0eWxlPkBrZXlmcmFtZXMgY2hhbmdlQmFja2dyb3VuZFJl
ZCB7IHRvIHsgYmFja2dyb3VuZC1jb2xvcjogcmVkOyB9IH08L3N0eWxlPjxib2R5IHN0eWxlPSdt
YXJnaW46IDA7IGFuaW1hdGlvbjogY2hhbmdlQmFja2dyb3VuZFJlZCAwLjFzIGZvcndhcmRzJz4i
XTsKKworICAgIFRlc3RXZWJLaXRBUEk6OlV0aWw6OnNsZWVwKDEpOworCisgICAgLy8gTm90IHNl
dHRpbmcgdGhpcyB1bnRpbCBub3cgcHJldmVudHMgdGhlIHNhbXBsaW5nIGxvZ2ljIGZyb20gcnVu
bmluZyBiZWNhdXNlIHdpdGhvdXQgaXQgdGhlIHBhZ2UgaXNuJ3QgY29uc2lkZXJlZCBjb250ZW50
ZnVsLgorICAgIFt3ZWJWaWV3IG9iamVjdEJ5RXZhbHVhdGluZ0phdmFTY3JpcHQ6QCJkb2N1bWVu
dC5ib2R5LnRleHRDb250ZW50ID0gJ1Rlc3QnIl07CisgICAgd2FpdEZvclNhbXBsZWRQYWdlVG9w
Q29sb3JUb0NoYW5nZSh3ZWJWaWV3LmdldCgpKTsKKyAgICBFWFBFQ1RfRVEoV2ViQ29yZTo6Q29s
b3IoW3dlYlZpZXcgX3NhbXBsZWRQYWdlVG9wQ29sb3JdLkNHQ29sb3IpLCBXZWJDb3JlOjpDb2xv
cjo6cmVkKTsKIH0KIAogVEVTVChTYW1wbGVkUGFnZVRvcENvbG9yLCBIaXRUZXN0Q1NTUG9pbnRl
ckV2ZW50c05vbmUpCg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>429967</attachid>
            <date>2021-05-27 17:48:17 -0700</date>
            <delta_ts>2021-05-27 22:02:57 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>226313.diff</filename>
            <type>text/plain</type>
            <size>12561</size>
            <attacher name="Devin Rousso">hi</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZwppbmRleCAwMjY0ZTdhMWNhMDAuLjhlM2E2ZTU5MDliMSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAt
MSwzICsxLDM2IEBACisyMDIxLTA1LTI2ICBEZXZpbiBSb3Vzc28gIDxkcm91c3NvQGFwcGxlLmNv
bT4KKworICAgICAgICBTYW1wbGVkIFBhZ2UgVG9wIENvbG9yOiBhbGxvdyBzbmFwc2hvdHRpbmcg
b2YgZWxlbWVudHMgd2l0aCBDU1MgYW5pbWF0aW9ucy90cmFuc2l0aW9ucyBpZiB0aGV5J3JlIHBh
dXNlZAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjI2
MzEzCisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS83ODUzNDA3Nj4KKworICAgICAgICBSZXZpZXdl
ZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBUaGUgcHJpbWFyeSBjb25jZXJuIG9mIHNh
bXBsaW5nIGVsZW1lbnRzIHdpdGggQ1NTIGFuaW1hdGlvbnMvdHJhbnNpdGlvbnMgaXMgdGhhdCBp
dAorICAgICAgICBpbnRyb2R1Y2VzIHNvbWUgaW5kZXRlcm1pbmlzbSBpbiB3aGVuIHRoZSBzYW1w
bGluZyBoYXBwZW5zIHZzIGhvdyBmYXIgcHJvZ3Jlc3NlZCB0aGUgQ1NTCisgICAgICAgIGFuaW1h
dGlvbi90cmFuc2l0aW9uIGlzLiBBcyBhbiBleGFtcGxlLCBzYW1wbGluZyBmcm9tIGEgcGFnZSB3
aXRoIGFuIGlubGluZSBgPHN0eWxlPmAgdGhhdAorICAgICAgICBhcHBsaWVzIGEgQ1NTIGFuaW1h
dGlvbiB0byBmYWRlIGluIHRoZSBDU1MgYGJhY2tncm91bmQtY29sb3JgIGZyb20gYHdoaXRlYCB0
byBgYmxhY2tgIGlzCisgICAgICAgIG1vcmUgbGlrZWx5IHRvIGdldCBhIGNvbG9yIGNsb3NlciB0
byBgYmxhY2tgIHRoYW4gaWYgdGhhdCBzYW1lIENTUyB3YXMgaW4gYW4gZXh0ZXJuYWwKKyAgICAg
ICAgdW5jYWNoZWQgcmVzb3VyY2UuIFRoaXMgd291bGRuJ3QgbWFrZSBmb3IgYSBncmVhdCBleHBl
cmllbmNlLCBzbyByMjc3MDQ0IG1hZGUgaXQgc28gdGhhdCBhbnkKKyAgICAgICAgQ1NTIGFuaW1h
dGlvbnMvdHJhbnNpdGlvbnMgY2F1c2VkIHRoZSBzYW1wbGluZyBsb2dpYyB0byBiYWlsLCByZWdh
cmRsZXNzIG9mIHRoZSBzdGF0ZSBvZiB0aGUKKyAgICAgICAgQ1NTIGFuaW1hdGlvbi90cmFuc2l0
aW9uLiBUaGlzIGlzIG9ubHkgcmVhbGx5IGFuIGlzc3VlIGZvciBDU1MgYW5pbWF0aW9ucy90cmFu
c2l0aW9ucyB0aGF0CisgICAgICAgIGFyZSBhY3RpdmVseSBydW5uaW5nLCBob3dldmVyLCBub3Qg
b25lcyB0aGF0IGhhdmUgeWV0IHRvIHJ1biBvciBoYXZlIGFscmVhZHkgZmluaXNoZWQuIEl0J3MK
KyAgICAgICAgc3RpbGwgcG9zc2libGUgdGhhdCB0d28gbG9hZHMgb2YgdGhlIHNhbWUgcGFnZSBj
b3VsZCByZXN1bHQgaW4gZGlmZmVyZW50IGNvbG9ycyAob3IgYmFpbHMpCisgICAgICAgIGRlcGVu
ZGluZyBvbiBob3cgcXVpY2tseSB0aGUgQ1NTIGFuaW1hdGlvbi90cmFuc2l0aW9uIHJ1bnMgb3Ig
KGlmIHRoZSBDU1MgaXMgaW4gYW4gZXh0ZXJuYWwKKyAgICAgICAgcmVzb3VyY2UpIGhvdyBsb25n
IHRoZSBjb250YWluaW5nIHJlc291cmNlIHRha2VzIHRvIGxvYWQsIGJ1dCB3aXRoIHRoaXMgcGF0
Y2ggaXQncyBub3cgYQorICAgICAgICBiaW5hcnkgc3RhdGUgKHNhbXBsZSBvciBiYWlsKSBpbnN0
ZWFkIG9mIGFuIGluZGV0ZXJtaW5hdGUgcmFuZ2Ugb2YgcG9zc2libGUgc2FtcGxlZCBjb2xvcnMu
CisKKyAgICAgICAgVGVzdHM6IFNhbXBsZWRQYWdlVG9wQ29sb3IuSGl0VGVzdEJlZm9yZUNTU1Ry
YW5zaXRpb24KKyAgICAgICAgICAgICAgIFNhbXBsZWRQYWdlVG9wQ29sb3IuSGl0VGVzdER1cmlu
Z0NTU1RyYW5zaXRpb24KKyAgICAgICAgICAgICAgIFNhbXBsZWRQYWdlVG9wQ29sb3IuSGl0VGVz
dEFmdGVyQ1NTVHJhbnNpdGlvbgorICAgICAgICAgICAgICAgU2FtcGxlZFBhZ2VUb3BDb2xvci5I
aXRUZXN0QmVmb3JlQ1NTQW5pbWF0aW9uCisgICAgICAgICAgICAgICBTYW1wbGVkUGFnZVRvcENv
bG9yLkhpdFRlc3REdXJpbmdDU1NBbmltYXRpb24KKyAgICAgICAgICAgICAgIFNhbXBsZWRQYWdl
VG9wQ29sb3IuSGl0VGVzdEFmdGVyQ1NTQW5pbWF0aW9uCisKKyAgICAgICAgKiBwYWdlL1BhZ2VD
b2xvclNhbXBsZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6aXNWYWxpZFNhbXBsZUxvY2F0aW9u
KToKKyAgICAgICAgVXNlIGBTdHlsZWFibGVgIGluc3RlYWQgb2YgYFJlbmRlclN0eWxlYCB0byBn
ZXQgbW9yZSBpbmZvcm1hdGlvbiBhYm91dCBhY3RpdmUgQ1NTIGFuaW1hdGlvbnMvdHJhbnNpdGlv
bnMuCisKIDIwMjEtMDUtMjUgIERldmluIFJvdXNzbyAgPGRyb3Vzc29AYXBwbGUuY29tPgogCiAg
ICAgICAgIFtNb2Rlcm4gTWVkaWEgQ29udHJvbHNdIFJFR1JFU1NJT04ocjI1NDM4OSkgbWVkaWEg
Y29udHJvbHMgbmVlZHMgdGhlIGZ1bGwgbGlzdCBvZiBsYW5ndWFnZSBwcmVmZXJlbmNlcyBmb3Ig
b3JkZXJpbmcgdHJhY2tzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2VDb2xv
clNhbXBsZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvcGFnZS9QYWdlQ29sb3JTYW1wbGVyLmNwcApp
bmRleCAxYjIyOGM2NjYwNDEuLjNiNzhkODc1MGM4MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvcGFnZS9QYWdlQ29sb3JTYW1wbGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1Bh
Z2VDb2xvclNhbXBsZXIuY3BwCkBAIC0yOCw2ICsyOCw3IEBACiAKICNpbmNsdWRlICJDb250ZW50
ZnVsUGFpbnRDaGVja2VyLmgiCiAjaW5jbHVkZSAiRG9jdW1lbnQuaCIKKyNpbmNsdWRlICJFbGVt
ZW50LmgiCiAjaW5jbHVkZSAiRnJhbWUuaCIKICNpbmNsdWRlICJGcmFtZVNuYXBzaG90dGluZy5o
IgogI2luY2x1ZGUgIkZyYW1lVmlldy5oIgpAQCAtMzksNiArNDAsNyBAQAogI2luY2x1ZGUgIklu
dFBvaW50LmgiCiAjaW5jbHVkZSAiSW50UmVjdC5oIgogI2luY2x1ZGUgIkludFNpemUuaCIKKyNp
bmNsdWRlICJMb2dnaW5nLmgiCiAjaW5jbHVkZSAiTm9kZS5oIgogI2luY2x1ZGUgIlBhZ2UuaCIK
ICNpbmNsdWRlICJQaXhlbEJ1ZmZlci5oIgpAQCAtNDcsNiArNDksOCBAQAogI2luY2x1ZGUgIlJl
bmRlck9iamVjdC5oIgogI2luY2x1ZGUgIlJlbmRlclN0eWxlLmgiCiAjaW5jbHVkZSAiU2V0dGlu
Z3MuaCIKKyNpbmNsdWRlICJTdHlsZWFibGUuaCIKKyNpbmNsdWRlICJXZWJBbmltYXRpb24uaCIK
ICNpbmNsdWRlIDx3dGYvTGlzdEhhc2hTZXQuaD4KICNpbmNsdWRlIDx3dGYvT3B0aW9uU2V0Lmg+
CiAjaW5jbHVkZSA8d3RmL09wdGlvbmFsLmg+CkBAIC03NSwxNyArNzksMzEgQEAgc3RhdGljIGJv
b2wgaXNWYWxpZFNhbXBsZUxvY2F0aW9uKERvY3VtZW50JiBkb2N1bWVudCwgY29uc3QgSW50UG9p
bnQmIGxvY2F0aW9uKQogICAgICAgICBpZiAoaXM8UmVuZGVySW1hZ2U+KHJlbmRlcmVyKSB8fCBy
ZW5kZXJlci0+c3R5bGUoKS5oYXNCYWNrZ3JvdW5kSW1hZ2UoKSkKICAgICAgICAgICAgIHJldHVy
biBmYWxzZTsKIAorICAgICAgICBpZiAoIWlzPEVsZW1lbnQ+KG5vZGUpKQorICAgICAgICAgICAg
Y29udGludWU7CisKKyAgICAgICAgYXV0byYgZWxlbWVudCA9IGRvd25jYXN0PEVsZW1lbnQ+KG5v
ZGUpOworICAgICAgICBhdXRvIHN0eWxlYWJsZSA9IFN0eWxlYWJsZTo6ZnJvbUVsZW1lbnQoZWxl
bWVudCk7CisKICAgICAgICAgLy8gU2tpcCBub2RlcyB3aXRoIGFuaW1hdGlvbnMgYXMgdGhlIHNh
bXBsZSBtYXkgZ2V0IGFuIG9kZCBjb2xvciBpZiB0aGUgYW5pbWF0aW9uIGlzIGluLXByb2dyZXNz
LgotICAgICAgICBpZiAocmVuZGVyZXItPnN0eWxlKCkuaGFzVHJhbnNpdGlvbnMoKSB8fCByZW5k
ZXJlci0+c3R5bGUoKS5oYXNBbmltYXRpb25zKCkpCisgICAgICAgIGlmIChzdHlsZWFibGUuaGFz
UnVubmluZ1RyYW5zaXRpb25zKCkpCiAgICAgICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgICAg
IGlmIChhdXRvKiBhbmltYXRpb25zID0gc3R5bGVhYmxlLmFuaW1hdGlvbnMoKSkgeworICAgICAg
ICAgICAgZm9yIChhdXRvJiBhbmltYXRpb24gOiAqYW5pbWF0aW9ucykgeworICAgICAgICAgICAg
ICAgIGlmICghYW5pbWF0aW9uKQorICAgICAgICAgICAgICAgICAgICBjb250aW51ZTsKKyAgICAg
ICAgICAgICAgICBpZiAoYW5pbWF0aW9uLT5wbGF5U3RhdGUoKSA9PSBXZWJBbmltYXRpb246OlBs
YXlTdGF0ZTo6UnVubmluZykKKyAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlOworICAg
ICAgICAgICAgfQorICAgICAgICB9CiAKICAgICAgICAgLy8gU2tpcCBgPGNhbnZhcz5gIGJ1dCBv
bmx5IGlmIHRoZXkndmUgYmVlbiBkcmF3biBpbnRvLiBHdWVzcyB0aGlzIGJ5IHNlZWluZyBpZiB0
aGVyZSdzIGFscmVhZHkKICAgICAgICAgLy8gYSBgQ2FudmFzUmVuZGVyaW5nQ29udGV4dGAsIHdo
aWNoIGlzIG9ubHkgY3JlYXRlZCBieSBKYXZhU2NyaXB0LgotICAgICAgICBpZiAoaXM8SFRNTENh
bnZhc0VsZW1lbnQ+KG5vZGUpICYmIGRvd25jYXN0PEhUTUxDYW52YXNFbGVtZW50Pihub2RlKS5y
ZW5kZXJpbmdDb250ZXh0KCkpCisgICAgICAgIGlmIChpczxIVE1MQ2FudmFzRWxlbWVudD4oZWxl
bWVudCkgJiYgZG93bmNhc3Q8SFRNTENhbnZhc0VsZW1lbnQ+KGVsZW1lbnQpLnJlbmRlcmluZ0Nv
bnRleHQoKSkKICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKIAogICAgICAgICAvLyBTa2lwIDNy
ZC1wYXJ0eSBgPGlmcmFtZT5gIGFzIHRoZSBjb250ZW50IGxpa2VseSB3b24ndCBtYXRjaCB0aGUg
cmVzdCBvZiB0aGUgcGFnZS4KLSAgICAgICAgaWYgKGlzPEhUTUxJRnJhbWVFbGVtZW50Pihub2Rl
KSAmJiAhYXJlUmVnaXN0cmFibGVEb21haW5zRXF1YWwoZG93bmNhc3Q8SFRNTElGcmFtZUVsZW1l
bnQ+KG5vZGUpLmxvY2F0aW9uKCksIGRvY3VtZW50LnVybCgpKSkKKyAgICAgICAgaWYgKGlzPEhU
TUxJRnJhbWVFbGVtZW50PihlbGVtZW50KSAmJiAhYXJlUmVnaXN0cmFibGVEb21haW5zRXF1YWwo
ZG93bmNhc3Q8SFRNTElGcmFtZUVsZW1lbnQ+KGVsZW1lbnQpLmxvY2F0aW9uKCksIGRvY3VtZW50
LnVybCgpKSkKICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICB9CiAKZGlmZiAtLWdpdCBh
L1Rvb2xzL0NoYW5nZUxvZyBiL1Rvb2xzL0NoYW5nZUxvZwppbmRleCBjNGYwNTYxZWFjOTMuLjQ5
Y2RjMDY5ZmFhYiAxMDA2NDQKLS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5n
ZUxvZwpAQCAtMSwzICsxLDIyIEBACisyMDIxLTA1LTI2ICBEZXZpbiBSb3Vzc28gIDxkcm91c3Nv
QGFwcGxlLmNvbT4KKworICAgICAgICBTYW1wbGVkIFBhZ2UgVG9wIENvbG9yOiBhbGxvdyBzbmFw
c2hvdHRpbmcgb2YgZWxlbWVudHMgd2l0aCBDU1MgYW5pbWF0aW9ucy90cmFuc2l0aW9ucyBpZiB0
aGV5J3JlIHBhdXNlZAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9MjI2MzEzCisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS83ODUzNDA3Nj4KKworICAgICAg
ICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIFRlc3RXZWJLaXRBUEkv
VGVzdHMvV2ViS2l0Q29jb2EvU2FtcGxlZFBhZ2VUb3BDb2xvci5tbToKKyAgICAgICAgKHdhaXRG
b3JTYW1wbGVkUGFnZVRvcENvbG9yVG9DaGFuZ2UpOiBBZGRlZC4KKyAgICAgICAgKHdhaXRGb3JT
YW1wbGVkUGFnZVRvcENvbG9yVG9DaGFuZ2VGb3JIVE1MKToKKyAgICAgICAgKFRFU1QuU2FtcGxl
ZFBhZ2VUb3BDb2xvci5IaXRUZXN0QmVmb3JlQ1NTVHJhbnNpdGlvbik6IEFkZGVkLgorICAgICAg
ICAoVEVTVC5TYW1wbGVkUGFnZVRvcENvbG9yLkhpdFRlc3REdXJpbmdDU1NUcmFuc2l0aW9uKTog
QWRkZWQuCisgICAgICAgIChURVNULlNhbXBsZWRQYWdlVG9wQ29sb3IuSGl0VGVzdEFmdGVyQ1NT
VHJhbnNpdGlvbik6IEFkZGVkLgorICAgICAgICAoVEVTVC5TYW1wbGVkUGFnZVRvcENvbG9yLkhp
dFRlc3RCZWZvcmVDU1NBbmltYXRpb24pOiBBZGRlZC4KKyAgICAgICAgKFRFU1QuU2FtcGxlZFBh
Z2VUb3BDb2xvci5IaXRUZXN0RHVyaW5nQ1NTQW5pbWF0aW9uKTogQWRkZWQuCisgICAgICAgIChU
RVNULlNhbXBsZWRQYWdlVG9wQ29sb3IuSGl0VGVzdEFmdGVyQ1NTQW5pbWF0aW9uKTogQWRkZWQu
CisgICAgICAgIChURVNULlNhbXBsZWRQYWdlVG9wQ29sb3IuSGl0VGVzdENTU0FuaW1hdGlvbik6
IERlbGV0ZWQuCisKIDIwMjEtMDUtMjUgIENocmlzIEZsZWl6YWNoICA8Y2ZsZWl6YWNoQGFwcGxl
LmNvbT4KIAogICAgICAgICBBWDogSW1wcm92ZSBzdHJpbmcgY29udmVyc2lvbiBpbiBBY2Nlc3Np
YmlsaXR5Q29udHJvbGxlcjo6aW5qZWN0QWNjZXNzaWJpbGl0eVByZWZlcmVuY2UKZGlmZiAtLWdp
dCBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0Q29jb2EvU2FtcGxlZFBhZ2VUb3BD
b2xvci5tbSBiL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0Q29jb2EvU2FtcGxlZFBh
Z2VUb3BDb2xvci5tbQppbmRleCA4YWQ4NDJhMTUwMjguLjdhNmJlMDlhMzE3NSAxMDA2NDQKLS0t
IGEvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXRDb2NvYS9TYW1wbGVkUGFnZVRvcENv
bG9yLm1tCisrKyBiL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0Q29jb2EvU2FtcGxl
ZFBhZ2VUb3BDb2xvci5tbQpAQCAtOTAsMTYgKzkwLDI2IEBAIHN0YXRpYyBSZXRhaW5QdHI8VGVz
dFdLV2ViVmlldz4gY3JlYXRlV2ViVmlld1dpdGhTYW1wbGVkUGFnZVRvcENvbG9yTWF4RGlmZmVy
ZW5jCiAgICAgcmV0dXJuIGFkb3B0TlMoW1tUZXN0V0tXZWJWaWV3IGFsbG9jXSBpbml0V2l0aEZy
YW1lOkNHUmVjdE1ha2UoMCwgMCwgODAwLCA2MDApIGNvbmZpZ3VyYXRpb246Y29uZmlndXJhdGlv
bi5nZXQoKV0pOwogfQogCi1zdGF0aWMgdm9pZCB3YWl0Rm9yU2FtcGxlZFBhZ2VUb3BDb2xvclRv
Q2hhbmdlRm9ySFRNTChUZXN0V0tXZWJWaWV3ICp3ZWJWaWV3LCBTdHJpbmcmJiBodG1sKQorc3Rh
dGljIHZvaWQgd2FpdEZvclNhbXBsZWRQYWdlVG9wQ29sb3JUb0NoYW5nZShUZXN0V0tXZWJWaWV3
ICp3ZWJWaWV3LCBGdW5jdGlvbjx2b2lkKCk+JiYgdHJpZ2dlciA9IG51bGxwdHIpCiB7CiAgICAg
Ym9vbCBkb25lID0gZmFsc2U7CiAgICAgYXV0byBzYW1wbGVkUGFnZVRvcENvbG9yT2JzZXJ2ZXIg
PSBhZG9wdE5TKFtbVGVzdEtWT1dyYXBwZXIgYWxsb2NdIGluaXRXaXRoT2JzZXJ2YWJsZTp3ZWJW
aWV3IGtleVBhdGg6QCJfc2FtcGxlZFBhZ2VUb3BDb2xvciIgY2FsbGJhY2s6WyZdIHsKICAgICAg
ICAgZG9uZSA9IHRydWU7CiAgICAgfV0pOwotICAgIFt3ZWJWaWV3IHN5bmNocm9ub3VzbHlMb2Fk
SFRNTFN0cmluZ0FuZFdhaXRVbnRpbEFsbEltbWVkaWF0ZUNoaWxkRnJhbWVzUGFpbnQ6V1RGTW92
ZShodG1sKV07CisKKyAgICBpZiAodHJpZ2dlcikKKyAgICAgICAgdHJpZ2dlcigpOworCiAgICAg
VGVzdFdlYktpdEFQSTo6VXRpbDo6cnVuKCZkb25lKTsKIH0KIAorc3RhdGljIHZvaWQgd2FpdEZv
clNhbXBsZWRQYWdlVG9wQ29sb3JUb0NoYW5nZUZvckhUTUwoVGVzdFdLV2ViVmlldyAqd2ViVmll
dywgU3RyaW5nJiYgaHRtbCkKK3sKKyAgICB3YWl0Rm9yU2FtcGxlZFBhZ2VUb3BDb2xvclRvQ2hh
bmdlKHdlYlZpZXcsIFt3ZWJWaWV3LCBodG1sID0gV1RGTW92ZShodG1sKV0gKCkgbXV0YWJsZSB7
CisgICAgICAgIFt3ZWJWaWV3IHN5bmNocm9ub3VzbHlMb2FkSFRNTFN0cmluZ0FuZFdhaXRVbnRp
bEFsbEltbWVkaWF0ZUNoaWxkRnJhbWVzUGFpbnQ6V1RGTW92ZShodG1sKV07CisgICAgfSk7Cit9
CisKIHN0YXRpYyBTdHJpbmcgY3JlYXRlSFRNTEdyYWRpZW50V2l0aENvbG9yU3RvcHMoU3RyaW5n
JiYgZGlyZWN0aW9uLCBWZWN0b3I8U3RyaW5nPiYmIGNvbG9yU3RvcHMpCiB7CiAgICAgRVhQRUNU
X0dFKGNvbG9yU3RvcHMuc2l6ZSgpLCAyVUwpOwpAQCAtMzEyLDEzICszMjIsODQgQEAgVEVTVChT
YW1wbGVkUGFnZVRvcENvbG9yLCBIaXRUZXN0Q1NTQmFja2dyb3VuZEltYWdlKQogICAgIEVYUEVD
VF9OVUxMKFt3ZWJWaWV3IF9zYW1wbGVkUGFnZVRvcENvbG9yXSk7CiB9CiAKLVRFU1QoU2FtcGxl
ZFBhZ2VUb3BDb2xvciwgSGl0VGVzdENTU0FuaW1hdGlvbikKK1RFU1QoU2FtcGxlZFBhZ2VUb3BD
b2xvciwgSGl0VGVzdEJlZm9yZUNTU1RyYW5zaXRpb24pCiB7CiAgICAgYXV0byB3ZWJWaWV3ID0g
Y3JlYXRlV2ViVmlld1dpdGhTYW1wbGVkUGFnZVRvcENvbG9yTWF4RGlmZmVyZW5jZSg1KTsKICAg
ICBFWFBFQ1RfTlVMTChbd2ViVmlldyBfc2FtcGxlZFBhZ2VUb3BDb2xvcl0pOwogCi0gICAgW3dl
YlZpZXcgc3luY2hyb25vdXNseUxvYWRIVE1MU3RyaW5nQW5kV2FpdFVudGlsQWxsSW1tZWRpYXRl
Q2hpbGRGcmFtZXNQYWludDpAIjxzdHlsZT5Aa2V5ZnJhbWVzIGZhZGVJbiB7IGZyb20geyBvcGFj
aXR5OiAwOyB9IH08L3N0eWxlPjxib2R5IHN0eWxlPSdhbmltYXRpb246IGZhZGVJbiAxcyBpbmZp
bml0ZSBhbHRlcm5hdGUnPlRlc3QiXTsKKyAgICB3YWl0Rm9yU2FtcGxlZFBhZ2VUb3BDb2xvclRv
Q2hhbmdlRm9ySFRNTCh3ZWJWaWV3LmdldCgpLCBAIjxib2R5IHN0eWxlPSdtYXJnaW46IDA7IHRy
YW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMXMnPlRlc3QiKTsKKyAgICBFWFBFQ1RfRVEoV2Vi
Q29yZTo6Q29sb3IoW3dlYlZpZXcgX3NhbXBsZWRQYWdlVG9wQ29sb3JdLkNHQ29sb3IpLCBXZWJD
b3JlOjpDb2xvcjo6d2hpdGUpOworfQorCitURVNUKFNhbXBsZWRQYWdlVG9wQ29sb3IsIEhpdFRl
c3REdXJpbmdDU1NUcmFuc2l0aW9uKQoreworICAgIGF1dG8gd2ViVmlldyA9IGNyZWF0ZVdlYlZp
ZXdXaXRoU2FtcGxlZFBhZ2VUb3BDb2xvck1heERpZmZlcmVuY2UoNSk7CiAgICAgRVhQRUNUX05V
TEwoW3dlYlZpZXcgX3NhbXBsZWRQYWdlVG9wQ29sb3JdKTsKKworICAgIFt3ZWJWaWV3IHN5bmNo
cm9ub3VzbHlMb2FkSFRNTFN0cmluZ0FuZFdhaXRVbnRpbEFsbEltbWVkaWF0ZUNoaWxkRnJhbWVz
UGFpbnQ6QCI8Ym9keSBzdHlsZT0nbWFyZ2luOiAwOyB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNv
bG9yIDEwMDBzJz4iXTsKKyAgICBbd2ViVmlldyBvYmplY3RCeUV2YWx1YXRpbmdKYXZhU2NyaXB0
OkAiZG9jdW1lbnQuYm9keS5zdHlsZS5zZXRQcm9wZXJ0eSgnYmFja2dyb3VuZC1jb2xvcicsICdy
ZWQnKSJdOworCisgICAgVGVzdFdlYktpdEFQSTo6VXRpbDo6c2xlZXAoMSk7CisKKyAgICAvLyBO
b3Qgc2V0dGluZyB0aGlzIHVudGlsIG5vdyBwcmV2ZW50cyB0aGUgc2FtcGxpbmcgbG9naWMgZnJv
bSBydW5uaW5nIGJlY2F1c2Ugd2l0aG91dCBpdCB0aGUgcGFnZSBpc24ndCBjb25zaWRlcmVkIGNv
bnRlbnRmdWwuCisgICAgW3dlYlZpZXcgb2JqZWN0QnlFdmFsdWF0aW5nSmF2YVNjcmlwdDpAImRv
Y3VtZW50LmJvZHkudGV4dENvbnRlbnQgPSAnVGVzdCciXTsKKyAgICBbd2ViVmlldyB3YWl0Rm9y
TmV4dFByZXNlbnRhdGlvblVwZGF0ZV07CisgICAgRVhQRUNUX05VTEwoW3dlYlZpZXcgX3NhbXBs
ZWRQYWdlVG9wQ29sb3JdKTsKK30KKworVEVTVChTYW1wbGVkUGFnZVRvcENvbG9yLCBIaXRUZXN0
QWZ0ZXJDU1NUcmFuc2l0aW9uKQoreworICAgIGF1dG8gd2ViVmlldyA9IGNyZWF0ZVdlYlZpZXdX
aXRoU2FtcGxlZFBhZ2VUb3BDb2xvck1heERpZmZlcmVuY2UoNSk7CisgICAgRVhQRUNUX05VTEwo
W3dlYlZpZXcgX3NhbXBsZWRQYWdlVG9wQ29sb3JdKTsKKworICAgIFt3ZWJWaWV3IHN5bmNocm9u
b3VzbHlMb2FkSFRNTFN0cmluZ0FuZFdhaXRVbnRpbEFsbEltbWVkaWF0ZUNoaWxkRnJhbWVzUGFp
bnQ6QCI8Ym9keSBzdHlsZT0nbWFyZ2luOiAwOyB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9y
IDAuMXMnPiJdOworICAgIFt3ZWJWaWV3IG9iamVjdEJ5RXZhbHVhdGluZ0phdmFTY3JpcHQ6QCJk
b2N1bWVudC5ib2R5LnN0eWxlLnNldFByb3BlcnR5KCdiYWNrZ3JvdW5kLWNvbG9yJywgJ3JlZCcp
Il07CisKKyAgICBUZXN0V2ViS2l0QVBJOjpVdGlsOjpzbGVlcCgxKTsKKworICAgIC8vIE5vdCBz
ZXR0aW5nIHRoaXMgdW50aWwgbm93IHByZXZlbnRzIHRoZSBzYW1wbGluZyBsb2dpYyBmcm9tIHJ1
bm5pbmcgYmVjYXVzZSB3aXRob3V0IGl0IHRoZSBwYWdlIGlzbid0IGNvbnNpZGVyZWQgY29udGVu
dGZ1bC4KKyAgICBbd2ViVmlldyBvYmplY3RCeUV2YWx1YXRpbmdKYXZhU2NyaXB0OkAiZG9jdW1l
bnQuYm9keS50ZXh0Q29udGVudCA9ICdUZXN0JyJdOworICAgIHdhaXRGb3JTYW1wbGVkUGFnZVRv
cENvbG9yVG9DaGFuZ2Uod2ViVmlldy5nZXQoKSk7CisgICAgRVhQRUNUX0VRKFdlYkNvcmU6OkNv
bG9yKFt3ZWJWaWV3IF9zYW1wbGVkUGFnZVRvcENvbG9yXS5DR0NvbG9yKSwgV2ViQ29yZTo6Q29s
b3I6OnJlZCk7Cit9CisKK1RFU1QoU2FtcGxlZFBhZ2VUb3BDb2xvciwgSGl0VGVzdEJlZm9yZUNT
U0FuaW1hdGlvbikKK3sKKyAgICBhdXRvIHdlYlZpZXcgPSBjcmVhdGVXZWJWaWV3V2l0aFNhbXBs
ZWRQYWdlVG9wQ29sb3JNYXhEaWZmZXJlbmNlKDUpOworICAgIEVYUEVDVF9OVUxMKFt3ZWJWaWV3
IF9zYW1wbGVkUGFnZVRvcENvbG9yXSk7CisKKyAgICB3YWl0Rm9yU2FtcGxlZFBhZ2VUb3BDb2xv
clRvQ2hhbmdlRm9ySFRNTCh3ZWJWaWV3LmdldCgpLCBAIjxzdHlsZT5Aa2V5ZnJhbWVzIGNoYW5n
ZUJhY2tncm91bmRSZWQgeyB0byB7IGJhY2tncm91bmQtY29sb3I6IHJlZDsgfSB9PC9zdHlsZT48
Ym9keSBzdHlsZT0nbWFyZ2luOiAwOyBhbmltYXRpb246IGNoYW5nZUJhY2tncm91bmRSZWQgMXMg
Zm9yd2FyZHMgcGF1c2VkJz5UZXN0Iik7CisgICAgRVhQRUNUX0VRKFdlYkNvcmU6OkNvbG9yKFt3
ZWJWaWV3IF9zYW1wbGVkUGFnZVRvcENvbG9yXS5DR0NvbG9yKSwgV2ViQ29yZTo6Q29sb3I6Ondo
aXRlKTsKK30KKworVEVTVChTYW1wbGVkUGFnZVRvcENvbG9yLCBIaXRUZXN0RHVyaW5nQ1NTQW5p
bWF0aW9uKQoreworICAgIGF1dG8gd2ViVmlldyA9IGNyZWF0ZVdlYlZpZXdXaXRoU2FtcGxlZFBh
Z2VUb3BDb2xvck1heERpZmZlcmVuY2UoNSk7CisgICAgRVhQRUNUX05VTEwoW3dlYlZpZXcgX3Nh
bXBsZWRQYWdlVG9wQ29sb3JdKTsKKworICAgIFt3ZWJWaWV3IHN5bmNocm9ub3VzbHlMb2FkSFRN
TFN0cmluZ0FuZFdhaXRVbnRpbEFsbEltbWVkaWF0ZUNoaWxkRnJhbWVzUGFpbnQ6QCI8c3R5bGU+
QGtleWZyYW1lcyBjaGFuZ2VCYWNrZ3JvdW5kUmVkIHsgdG8geyBiYWNrZ3JvdW5kLWNvbG9yOiBy
ZWQ7IH0gfTwvc3R5bGU+PGJvZHkgc3R5bGU9J21hcmdpbjogMDsgYW5pbWF0aW9uOiBjaGFuZ2VC
YWNrZ3JvdW5kUmVkIDEwMDBzIGZvcndhcmRzJz4iXTsKKworICAgIFRlc3RXZWJLaXRBUEk6OlV0
aWw6OnNsZWVwKDEpOworCisgICAgLy8gTm90IHNldHRpbmcgdGhpcyB1bnRpbCBub3cgcHJldmVu
dHMgdGhlIHNhbXBsaW5nIGxvZ2ljIGZyb20gcnVubmluZyBiZWNhdXNlIHdpdGhvdXQgaXQgdGhl
IHBhZ2UgaXNuJ3QgY29uc2lkZXJlZCBjb250ZW50ZnVsLgorICAgIFt3ZWJWaWV3IG9iamVjdEJ5
RXZhbHVhdGluZ0phdmFTY3JpcHQ6QCJkb2N1bWVudC5ib2R5LnRleHRDb250ZW50ID0gJ1Rlc3Qn
Il07CisgICAgW3dlYlZpZXcgd2FpdEZvck5leHRQcmVzZW50YXRpb25VcGRhdGVdOworICAgIEVY
UEVDVF9OVUxMKFt3ZWJWaWV3IF9zYW1wbGVkUGFnZVRvcENvbG9yXSk7Cit9CisKK1RFU1QoU2Ft
cGxlZFBhZ2VUb3BDb2xvciwgSGl0VGVzdEFmdGVyQ1NTQW5pbWF0aW9uKQoreworICAgIGF1dG8g
d2ViVmlldyA9IGNyZWF0ZVdlYlZpZXdXaXRoU2FtcGxlZFBhZ2VUb3BDb2xvck1heERpZmZlcmVu
Y2UoNSk7CisgICAgRVhQRUNUX05VTEwoW3dlYlZpZXcgX3NhbXBsZWRQYWdlVG9wQ29sb3JdKTsK
KworICAgIFt3ZWJWaWV3IHN5bmNocm9ub3VzbHlMb2FkSFRNTFN0cmluZ0FuZFdhaXRVbnRpbEFs
bEltbWVkaWF0ZUNoaWxkRnJhbWVzUGFpbnQ6QCI8c3R5bGU+QGtleWZyYW1lcyBjaGFuZ2VCYWNr
Z3JvdW5kUmVkIHsgdG8geyBiYWNrZ3JvdW5kLWNvbG9yOiByZWQ7IH0gfTwvc3R5bGU+PGJvZHkg
c3R5bGU9J21hcmdpbjogMDsgYW5pbWF0aW9uOiBjaGFuZ2VCYWNrZ3JvdW5kUmVkIDAuMXMgZm9y
d2FyZHMnPiJdOworCisgICAgVGVzdFdlYktpdEFQSTo6VXRpbDo6c2xlZXAoMSk7CisKKyAgICAv
LyBOb3Qgc2V0dGluZyB0aGlzIHVudGlsIG5vdyBwcmV2ZW50cyB0aGUgc2FtcGxpbmcgbG9naWMg
ZnJvbSBydW5uaW5nIGJlY2F1c2Ugd2l0aG91dCBpdCB0aGUgcGFnZSBpc24ndCBjb25zaWRlcmVk
IGNvbnRlbnRmdWwuCisgICAgW3dlYlZpZXcgb2JqZWN0QnlFdmFsdWF0aW5nSmF2YVNjcmlwdDpA
ImRvY3VtZW50LmJvZHkudGV4dENvbnRlbnQgPSAnVGVzdCciXTsKKyAgICB3YWl0Rm9yU2FtcGxl
ZFBhZ2VUb3BDb2xvclRvQ2hhbmdlKHdlYlZpZXcuZ2V0KCkpOworICAgIEVYUEVDVF9FUShXZWJD
b3JlOjpDb2xvcihbd2ViVmlldyBfc2FtcGxlZFBhZ2VUb3BDb2xvcl0uQ0dDb2xvciksIFdlYkNv
cmU6OkNvbG9yOjpyZWQpOwogfQogCiBURVNUKFNhbXBsZWRQYWdlVG9wQ29sb3IsIEhpdFRlc3RD
U1NQb2ludGVyRXZlbnRzTm9uZSkK
</data>

          </attachment>
      

    </bug>

</bugzilla>