<?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>210778</bug_id>
          
          <creation_ts>2020-04-20 19:46:49 -0700</creation_ts>
          <short_desc>EventHandler::selectCursor() has broken resize over coordinate conversion code</short_desc>
          <delta_ts>2020-04-23 18:08:53 -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>UI Events</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=101857</see_also>
    
    <see_also>https://bugs.webkit.org/show_bug.cgi?id=156234</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="Simon Fraser (smfr)">simon.fraser</reporter>
          <assigned_to name="Simon Fraser (smfr)">simon.fraser</assigned_to>
          <cc>esprehn+autocc</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>fred.wang</cc>
    
    <cc>glenn</cc>
    
    <cc>gyuyoung.kim</cc>
    
    <cc>kondapallykalyan</cc>
    
    <cc>mitz</cc>
    
    <cc>pdr</cc>
    
    <cc>simon.fraser</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>zalan</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1643741</commentid>
    <comment_count>0</comment_count>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2020-04-20 19:46:49 -0700</bug_when>
    <thetext>This looks really wrong, and is broken:

                if (FrameView* view = m_frame.view())
                    inResizer = layer-&gt;isPointInResizeControl(view-&gt;windowToContents(roundedIntPoint(result.localPoint())));

Why windowToContents() on the localPoint from a HitTestResult?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1643764</commentid>
    <comment_count>1</comment_count>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2020-04-20 21:19:39 -0700</bug_when>
    <thetext>This is apparent in this very textfield, where you get the iBeam cursor over the resizer.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1644887</commentid>
    <comment_count>2</comment_count>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2020-04-23 11:51:50 -0700</bug_when>
    <thetext>Weirdly result.localPoint() is not local when set by RenderBlock::updateHitTestResult()</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1644949</commentid>
    <comment_count>3</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2020-04-23 13:45:18 -0700</bug_when>
    <thetext>&lt;rdar://problem/62261183&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1644982</commentid>
    <comment_count>4</comment_count>
      <attachid>397390</attachid>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2020-04-23 15:20:45 -0700</bug_when>
    <thetext>Created attachment 397390
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1644984</commentid>
    <comment_count>5</comment_count>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2020-04-23 15:21:02 -0700</bug_when>
    <thetext>*** Bug 156234 has been marked as a duplicate of this bug. ***</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1644987</commentid>
    <comment_count>6</comment_count>
      <attachid>397390</attachid>
    <who name="alan">zalan</who>
    <bug_when>2020-04-23 15:25:41 -0700</bug_when>
    <thetext>Comment on attachment 397390
Patch

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

&gt; Source/WebCore/page/EventHandler.cpp:1546
&gt; +            // FIXME: With right right-aligned text in a box, the renderer here is usually a RenderText, which prevents showing the resize cursor: webkit.org/b/210935.

too many rights.

&gt; Source/WebCore/page/EventHandler.cpp:1547
&gt; +            if (auto layer = downcast&lt;RenderLayerModelObject&gt;(*renderer).layer()) {

not sure what the WebKit style at this point, but I&apos;d prefer auto* layer =</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1644989</commentid>
    <comment_count>7</comment_count>
    <who name="alan">zalan</who>
    <bug_when>2020-04-23 15:26:23 -0700</bug_when>
    <thetext>&gt; not sure what the WebKit style at this point, but I&apos;d prefer auto* layer =
what the WebKit style is even</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1644990</commentid>
    <comment_count>8</comment_count>
      <attachid>397392</attachid>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2020-04-23 15:29:44 -0700</bug_when>
    <thetext>Created attachment 397392
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1645047</commentid>
    <comment_count>9</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2020-04-23 18:08:52 -0700</bug_when>
    <thetext>Committed r260615: &lt;https://trac.webkit.org/changeset/260615&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 397392.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>397390</attachid>
            <date>2020-04-23 15:20:45 -0700</date>
            <delta_ts>2020-04-23 15:25:41 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-210778-20200423152045.patch</filename>
            <type>text/plain</type>
            <size>18638</size>
            <attacher name="Simon Fraser (smfr)">simon.fraser</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjYwNTcxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMTYyYjkxYjk5MTQ5ZjMz
ZTk2NjBjM2YwYTFjYmJkNjgwNjM3ZjVlYS4uYjlmODkxMDYwNjNhMGE0MzQyYjI0ZDAzZjQ2OWQ5
ODViYjM4NTY2MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMyIEBACisyMDIwLTA0LTIzICBTaW1v
biBGcmFzZXIgIDxzaW1vbi5mcmFzZXJAYXBwbGUuY29tPgorCisgICAgICAgIEV2ZW50SGFuZGxl
cjo6c2VsZWN0Q3Vyc29yKCkgaGFzIGJyb2tlbiByZXNpemUgb3ZlciBjb29yZGluYXRlIGNvbnZl
cnNpb24gY29kZQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9MjEwNzc4CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAg
ICAgRXZlbnRIYW5kbGVyOjpzZWxlY3RDdXJzb3IoKSBhcHBlYXJlZCB0byBtYWtlIGEgbG9jYWwg
aGl0LXRlc3QgcG9pbnQgZnJvbSB3aW5kb3cKKyAgICAgICAgdG8gY29udGVudCBjb29yZGluYXRl
cywgd2hpY2ggbWFkZSBubyBzZW5zZSwgYnV0IHRoaXMgaGFwcGVuZWQgdG8gd29yayBiZWNhdXNl
IAorICAgICAgICBSZW5kZXJMYXllcjo6aGl0VGVzdExheWVyKCkgc2V0IHRoZSBIaXRUZXN0UmVz
dWx0IGxvY2FsUG9pbnQgdG8gYSBnbG9iYWwgcG9pbnQKKyAgICAgICAgaWYgeW91IGhpdCB0aGUg
cmVzaXplci4KKworICAgICAgICBDbGVhbiB1cCB0aGlzIG1lc3MgYnkgaGF2aW5nIGFsbCByZXNp
emVyLXJlbGF0ZWQgZ2VvbWV0cnkgcXVlcmllcyBiZSBpbiBsb2NhbCBjb29yZGluYXRlcy4KKwor
ICAgICAgICBBcyBhIGJvbnVzLCBhY3R1YWxseSBzZXQgdGhlIGN1cnNvciB0byBhIHJlc2l6ZSBj
dXJzb3Igd2hlbiBvdmVyIHRoZSByZXNpemVyLgorCisgICAgICAgIFRlc3Q6IGZhc3QvZXZlbnRz
L2N1cnNvcnMvbW91c2UtY3Vyc29yLW92ZXItcmVzaXplci5odG1sCisKKyAgICAgICAgKiBwYWdl
L0V2ZW50SGFuZGxlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpFdmVudEhhbmRsZXI6OnNlbGVj
dEN1cnNvcik6CisgICAgICAgIChXZWJDb3JlOjpFdmVudEhhbmRsZXI6OmhhbmRsZU1vdXNlUHJl
c3NFdmVudCk6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlckxheWVyLmNwcDoKKyAgICAgICAg
KFdlYkNvcmU6OlJlbmRlckxheWVyOjpyZXNpemUpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVy
TGF5ZXI6Om9mZnNldEZyb21SZXNpemVDb3JuZXIgY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6
UmVuZGVyTGF5ZXI6OmlzUG9pbnRJblJlc2l6ZUNvbnRyb2wgY29uc3QpOgorICAgICAgICAoV2Vi
Q29yZTo6UmVuZGVyTGF5ZXI6OmhpdFRlc3RMYXllcik6CisgICAgICAgIChXZWJDb3JlOjpSZW5k
ZXJMYXllcjo6aGl0VGVzdFJlc2l6ZXJJbkZyYWdtZW50cyBjb25zdCk6CisgICAgICAgICogcmVu
ZGVyaW5nL1JlbmRlckxheWVyLmg6CisKIDIwMjAtMDQtMjIgIFNpbW9uIEZyYXNlciAgPHNpbW9u
LmZyYXNlckBhcHBsZS5jb20+CiAKICAgICAgICAgSW4gdGhlIHNjcm9sbGluZyB0cmVlLCBzZXBh
cmF0ZSB3aGVlbCBldmVudCBoYW5kbGluZyBmcm9tIGxheWVyIHVwZGF0aW5nCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0V2ZW50SGFuZGxlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9w
YWdlL0V2ZW50SGFuZGxlci5jcHAKaW5kZXggMTQ4ZWEzOTBkMjc2MzE2MmE2YmRjYWUwMmVkMGE5
MGJjOGY5OTExNS4uMmExOGI0ODlmOTg0M2FkNzRjZmQxMGQ2ZDY3MGY2MmVlMWZiYzkyNyAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9FdmVudEhhbmRsZXIuY3BwCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL3BhZ2UvRXZlbnRIYW5kbGVyLmNwcApAQCAtMTU0MiwxMCArMTU0MiwxMiBAQCBP
cHRpb25hbDxDdXJzb3I+IEV2ZW50SGFuZGxlcjo6c2VsZWN0Q3Vyc29yKGNvbnN0IEhpdFRlc3RS
ZXN1bHQmIHJlc3VsdCwgYm9vbCBzaAogICAgICAgICAgICAgcmV0dXJuIGhhbmRDdXJzb3IoKTsK
IAogICAgICAgICBib29sIGluUmVzaXplciA9IGZhbHNlOwotICAgICAgICBpZiAocmVuZGVyZXIp
IHsKLSAgICAgICAgICAgIGlmIChSZW5kZXJMYXllciogbGF5ZXIgPSByZW5kZXJlci0+ZW5jbG9z
aW5nTGF5ZXIoKSkgewotICAgICAgICAgICAgICAgIGlmIChGcmFtZVZpZXcqIHZpZXcgPSBtX2Zy
YW1lLnZpZXcoKSkKLSAgICAgICAgICAgICAgICAgICAgaW5SZXNpemVyID0gbGF5ZXItPmlzUG9p
bnRJblJlc2l6ZUNvbnRyb2wodmlldy0+d2luZG93VG9Db250ZW50cyhyb3VuZGVkSW50UG9pbnQo
cmVzdWx0LmxvY2FsUG9pbnQoKSkpKTsgLy8gVGhpcyBjb29yZGluYXRlIGNvbnZlcnNpb24gaXMg
d3Jvbmc6IHdlYmtpdC5vcmcvYi8yMTA3NzguCisgICAgICAgIGlmIChyZW5kZXJlciAmJiByZW5k
ZXJlci0+aGFzTGF5ZXIoKSkgeworICAgICAgICAgICAgLy8gRklYTUU6IFdpdGggcmlnaHQgcmln
aHQtYWxpZ25lZCB0ZXh0IGluIGEgYm94LCB0aGUgcmVuZGVyZXIgaGVyZSBpcyB1c3VhbGx5IGEg
UmVuZGVyVGV4dCwgd2hpY2ggcHJldmVudHMgc2hvd2luZyB0aGUgcmVzaXplIGN1cnNvcjogd2Vi
a2l0Lm9yZy9iLzIxMDkzNS4KKyAgICAgICAgICAgIGlmIChhdXRvIGxheWVyID0gZG93bmNhc3Q8
UmVuZGVyTGF5ZXJNb2RlbE9iamVjdD4oKnJlbmRlcmVyKS5sYXllcigpKSB7CisgICAgICAgICAg
ICAgICAgaW5SZXNpemVyID0gbGF5ZXItPmlzUG9pbnRJblJlc2l6ZUNvbnRyb2wocm91bmRlZElu
dFBvaW50KHJlc3VsdC5sb2NhbFBvaW50KCkpKTsKKyAgICAgICAgICAgICAgICBpZiAoaW5SZXNp
emVyKQorICAgICAgICAgICAgICAgICAgICByZXR1cm4gbGF5ZXItPnNob3VsZFBsYWNlQmxvY2tE
aXJlY3Rpb25TY3JvbGxiYXJPbkxlZnQoKSA/IHNvdXRoV2VzdFJlc2l6ZUN1cnNvcigpIDogc291
dGhFYXN0UmVzaXplQ3Vyc29yKCk7CiAgICAgICAgICAgICB9CiAgICAgICAgIH0KIApAQCAtMTc4
NSwxMiArMTc4NywxMiBAQCBib29sIEV2ZW50SGFuZGxlcjo6aGFuZGxlTW91c2VQcmVzc0V2ZW50
KGNvbnN0IFBsYXRmb3JtTW91c2VFdmVudCYgcGxhdGZvcm1Nb3VzZQogICAgIH0KIAogICAgIGlm
IChGcmFtZVZpZXcqIHZpZXcgPSBtX2ZyYW1lLnZpZXcoKSkgewotICAgICAgICBSZW5kZXJMYXll
ciogbGF5ZXIgPSBtX2NsaWNrTm9kZS0+cmVuZGVyZXIoKSA/IG1fY2xpY2tOb2RlLT5yZW5kZXJl
cigpLT5lbmNsb3NpbmdMYXllcigpIDogMDsKLSAgICAgICAgSW50UG9pbnQgcCA9IHZpZXctPndp
bmRvd1RvQ29udGVudHMocGxhdGZvcm1Nb3VzZUV2ZW50LnBvc2l0aW9uKCkpOwotICAgICAgICBp
ZiAobGF5ZXIgJiYgbGF5ZXItPmlzUG9pbnRJblJlc2l6ZUNvbnRyb2wocCkpIHsKKyAgICAgICAg
UmVuZGVyTGF5ZXIqIGxheWVyID0gbV9jbGlja05vZGUtPnJlbmRlcmVyKCkgPyBtX2NsaWNrTm9k
ZS0+cmVuZGVyZXIoKS0+ZW5jbG9zaW5nTGF5ZXIoKSA6IG51bGxwdHI7CisgICAgICAgIGF1dG8g
bG9jYWxQb2ludCA9IHJvdW5kZWRJbnRQb2ludChtb3VzZUV2ZW50LmhpdFRlc3RSZXN1bHQoKS5s
b2NhbFBvaW50KCkpOworICAgICAgICBpZiAobGF5ZXIgJiYgbGF5ZXItPmlzUG9pbnRJblJlc2l6
ZUNvbnRyb2wobG9jYWxQb2ludCkpIHsKICAgICAgICAgICAgIGxheWVyLT5zZXRJblJlc2l6ZU1v
ZGUodHJ1ZSk7CiAgICAgICAgICAgICBtX3Jlc2l6ZUxheWVyID0gbGF5ZXI7Ci0gICAgICAgICAg
ICBtX29mZnNldEZyb21SZXNpemVDb3JuZXIgPSBsYXllci0+b2Zmc2V0RnJvbVJlc2l6ZUNvcm5l
cihwKTsKKyAgICAgICAgICAgIG1fb2Zmc2V0RnJvbVJlc2l6ZUNvcm5lciA9IGxheWVyLT5vZmZz
ZXRGcm9tUmVzaXplQ29ybmVyKGxvY2FsUG9pbnQpOwogICAgICAgICAgICAgaW52YWxpZGF0ZUNs
aWNrKCk7CiAgICAgICAgICAgICByZXR1cm4gdHJ1ZTsKICAgICAgICAgfQpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vQ3Vyc29yLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL0N1cnNvci5jcHAKaW5kZXggZGY0NzIwMGQ5YWViNzliYzVjNjA5NTMyOGU0NTFkZmZmN2Q0
NGI5Ni4uZTM1ZDQ0OWI1OTU3MjIzNTI2NDJmNWUyNmIwMjUxMzhmOGY4MzQwYSAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vQ3Vyc29yLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9DdXJzb3IuY3BwCkBAIC0xNTIsMTAgKzE1Miw2IEBAIEN1cnNvcjo6Q3Vyc29y
KEltYWdlKiBpbWFnZSwgY29uc3QgSW50UG9pbnQmIGhvdFNwb3QpCiAgICAgOiBtX3R5cGUoQ3Vz
dG9tKQogICAgICwgbV9pbWFnZShpbWFnZSkKICAgICAsIG1faG90U3BvdChkZXRlcm1pbmVIb3RT
cG90KGltYWdlLCBob3RTcG90KSkKLSNpZiBFTkFCTEUoTU9VU0VfQ1VSU09SX1NDQUxFKQotICAg
ICwgbV9pbWFnZVNjYWxlRmFjdG9yKDEpCi0jZW5kaWYKLSAgICAsIG1fcGxhdGZvcm1DdXJzb3Io
MCkKIHsKIH0KIApAQCAtMTY1LDE3ICsxNjEsMTIgQEAgQ3Vyc29yOjpDdXJzb3IoSW1hZ2UqIGlt
YWdlLCBjb25zdCBJbnRQb2ludCYgaG90U3BvdCwgZmxvYXQgc2NhbGUpCiAgICAgLCBtX2ltYWdl
KGltYWdlKQogICAgICwgbV9ob3RTcG90KGRldGVybWluZUhvdFNwb3QoaW1hZ2UsIGhvdFNwb3Qp
KQogICAgICwgbV9pbWFnZVNjYWxlRmFjdG9yKHNjYWxlKQotICAgICwgbV9wbGF0Zm9ybUN1cnNv
cigwKQogewogfQogI2VuZGlmCiAKIEN1cnNvcjo6Q3Vyc29yKFR5cGUgdHlwZSkKICAgICA6IG1f
dHlwZSh0eXBlKQotI2lmIEVOQUJMRShNT1VTRV9DVVJTT1JfU0NBTEUpCi0gICAgLCBtX2ltYWdl
U2NhbGVGYWN0b3IoMSkKLSNlbmRpZgotICAgICwgbV9wbGF0Zm9ybUN1cnNvcigwKQogewogfQog
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXIuY3BwIGIv
U291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyLmNwcAppbmRleCBjNWFiZDI3ZmYz
N2EyNjQyMDUzNTQyMTAwZDUyMWQ2MWMwZDYyNzAyLi43ODM3NDZmNDU2MjAyODRiYTk4ZGM5OGE2
ZTIzYjg1Mjk0M2JiMGUwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVu
ZGVyTGF5ZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllci5j
cHAKQEAgLTMwNzcsNyArMzA3NywxMCBAQCB2b2lkIFJlbmRlckxheWVyOjpyZXNpemUoY29uc3Qg
UGxhdGZvcm1Nb3VzZUV2ZW50JiBldnQsIGNvbnN0IExheW91dFNpemUmIG9sZE9mZgogCiAgICAg
ZmxvYXQgem9vbUZhY3RvciA9IHJlbmRlcmVyLT5zdHlsZSgpLmVmZmVjdGl2ZVpvb20oKTsKIAot
ICAgIExheW91dFNpemUgbmV3T2Zmc2V0ID0gb2Zmc2V0RnJvbVJlc2l6ZUNvcm5lcihkb2N1bWVu
dC52aWV3KCktPndpbmRvd1RvQ29udGVudHMoZXZ0LnBvc2l0aW9uKCkpKTsKKyAgICBhdXRvIGFi
c29sdXRlUG9pbnQgPSBkb2N1bWVudC52aWV3KCktPndpbmRvd1RvQ29udGVudHMoZXZ0LnBvc2l0
aW9uKCkpOworICAgIGF1dG8gbG9jYWxQb2ludCA9IHJvdW5kZWRJbnRQb2ludChhYnNvbHV0ZVRv
Q29udGVudHMoYWJzb2x1dGVQb2ludCkpOworCisgICAgTGF5b3V0U2l6ZSBuZXdPZmZzZXQgPSBv
ZmZzZXRGcm9tUmVzaXplQ29ybmVyKGxvY2FsUG9pbnQpOwogICAgIG5ld09mZnNldC5zZXRXaWR0
aChuZXdPZmZzZXQud2lkdGgoKSAvIHpvb21GYWN0b3IpOwogICAgIG5ld09mZnNldC5zZXRIZWln
aHQobmV3T2Zmc2V0LmhlaWdodCgpIC8gem9vbUZhY3Rvcik7CiAgICAgCkBAIC0zNjYzLDE2ICsz
NjY2LDExIEBAIGludCBSZW5kZXJMYXllcjo6aG9yaXpvbnRhbFNjcm9sbGJhckhlaWdodChPdmVy
bGF5U2Nyb2xsYmFyU2l6ZVJlbGV2YW5jeSByZWxldmFuCiAgICAgcmV0dXJuIG1faEJhci0+aGVp
Z2h0KCk7CiB9CiAKLUludFNpemUgUmVuZGVyTGF5ZXI6Om9mZnNldEZyb21SZXNpemVDb3JuZXIo
Y29uc3QgSW50UG9pbnQmIGFic29sdXRlUG9pbnQpIGNvbnN0CitJbnRTaXplIFJlbmRlckxheWVy
OjpvZmZzZXRGcm9tUmVzaXplQ29ybmVyKGNvbnN0IEludFBvaW50JiBsb2NhbFBvaW50KSBjb25z
dAogewotICAgIC8vIEN1cnJlbnRseSB0aGUgcmVzaXplIGNvcm5lciBpcyBlaXRoZXIgdGhlIGJv
dHRvbSByaWdodCBjb3JuZXIgb3IgdGhlIGJvdHRvbSBsZWZ0IGNvcm5lci4KLSAgICAvLyBGSVhN
RTogVGhpcyBhc3N1bWVzIHRoZSBsb2NhdGlvbiBpcyAwLCAwLiBJcyB0aGlzIGd1YXJhbnRlZWQg
dG8gYWx3YXlzIGJlIHRoZSBjYXNlPwotICAgIEludFNpemUgZWxlbWVudFNpemUgPSBzaXplKCk7
Ci0gICAgaWYgKHNob3VsZFBsYWNlQmxvY2tEaXJlY3Rpb25TY3JvbGxiYXJPbkxlZnQoKSkKLSAg
ICAgICAgZWxlbWVudFNpemUuc2V0V2lkdGgoMCk7Ci0gICAgSW50UG9pbnQgcmVzaXplclBvaW50
ID0gSW50UG9pbnQoZWxlbWVudFNpemUpOwotICAgIEludFBvaW50IGxvY2FsUG9pbnQgPSByb3Vu
ZGVkSW50UG9pbnQoYWJzb2x1dGVUb0NvbnRlbnRzKGFic29sdXRlUG9pbnQpKTsKLSAgICByZXR1
cm4gbG9jYWxQb2ludCAtIHJlc2l6ZXJQb2ludDsKKyAgICBhdXRvIHJlc2l6ZXJSZWN0ID0gb3Zl
cmZsb3dDb250cm9sc1JlY3RzKCkucmVzaXplcjsKKyAgICBhdXRvIHJlc2l6ZUNvcm5lciA9IHNo
b3VsZFBsYWNlQmxvY2tEaXJlY3Rpb25TY3JvbGxiYXJPbkxlZnQoKSA/IHJlc2l6ZXJSZWN0Lm1p
blhNYXhZQ29ybmVyKCkgOiByZXNpemVyUmVjdC5tYXhYTWF4WUNvcm5lcigpOworICAgIHJldHVy
biBsb2NhbFBvaW50IC0gcmVzaXplQ29ybmVyOwogfQogCiBib29sIFJlbmRlckxheWVyOjpoYXNP
dmVyZmxvd0NvbnRyb2xzKCkgY29uc3QKQEAgLTQxMTksMTUgKzQxMTcsMTIgQEAgdm9pZCBSZW5k
ZXJMYXllcjo6cGFpbnRSZXNpemVyKEdyYXBoaWNzQ29udGV4dCYgY29udGV4dCwgY29uc3QgTGF5
b3V0UG9pbnQmIHBhaW4KICAgICB9CiB9CiAKLWJvb2wgUmVuZGVyTGF5ZXI6OmlzUG9pbnRJblJl
c2l6ZUNvbnRyb2woY29uc3QgSW50UG9pbnQmIGFic29sdXRlUG9pbnQpIGNvbnN0Citib29sIFJl
bmRlckxheWVyOjppc1BvaW50SW5SZXNpemVDb250cm9sKEludFBvaW50IGxvY2FsUG9pbnQpIGNv
bnN0CiB7CiAgICAgaWYgKCFjYW5SZXNpemUoKSkKICAgICAgICAgcmV0dXJuIGZhbHNlOwogCi0g
ICAgYXV0byByZWN0cyA9IG92ZXJmbG93Q29udHJvbHNSZWN0cygpOwotCi0gICAgSW50UG9pbnQg
bG9jYWxQb2ludCA9IHJvdW5kZWRJbnRQb2ludChhYnNvbHV0ZVRvQ29udGVudHMoYWJzb2x1dGVQ
b2ludCkpOwotICAgIHJldHVybiByZWN0cy5yZXNpemVyLmNvbnRhaW5zKGxvY2FsUG9pbnQpOwor
ICAgIHJldHVybiBvdmVyZmxvd0NvbnRyb2xzUmVjdHMoKS5yZXNpemVyLmNvbnRhaW5zKGxvY2Fs
UG9pbnQpOwogfQogCiBib29sIFJlbmRlckxheWVyOjpoaXRUZXN0T3ZlcmZsb3dDb250cm9scyhI
aXRUZXN0UmVzdWx0JiByZXN1bHQsIGNvbnN0IEludFBvaW50JiBsb2NhbFBvaW50KQpAQCAtNTQ0
Niw4ICs1NDQxLDkgQEAgUmVuZGVyTGF5ZXIqIFJlbmRlckxheWVyOjpoaXRUZXN0TGF5ZXIoUmVu
ZGVyTGF5ZXIqIHJvb3RMYXllciwgUmVuZGVyTGF5ZXIqIGNvbnQKICAgICBjb2xsZWN0RnJhZ21l
bnRzKGxheWVyRnJhZ21lbnRzLCByb290TGF5ZXIsIGhpdFRlc3RSZWN0LCBJbmNsdWRlQ29tcG9z
aXRlZFBhZ2luYXRlZExheWVycywgUm9vdFJlbGF0aXZlQ2xpcFJlY3RzLCBJbmNsdWRlT3Zlcmxh
eVNjcm9sbGJhclNpemUsIFJlc3BlY3RPdmVyZmxvd0NsaXAsCiAgICAgICAgIG9mZnNldEZyb21B
bmNlc3Rvcihyb290TGF5ZXIpKTsKIAotICAgIGlmIChjYW5SZXNpemUoKSAmJiBoaXRUZXN0UmVz
aXplckluRnJhZ21lbnRzKGxheWVyRnJhZ21lbnRzLCBoaXRUZXN0TG9jYXRpb24pKSB7Ci0gICAg
ICAgIHJlbmRlcmVyKCkudXBkYXRlSGl0VGVzdFJlc3VsdChyZXN1bHQsIGhpdFRlc3RMb2NhdGlv
bi5wb2ludCgpKTsKKyAgICBMYXlvdXRQb2ludCBsb2NhbFBvaW50OworICAgIGlmIChjYW5SZXNp
emUoKSAmJiBoaXRUZXN0UmVzaXplckluRnJhZ21lbnRzKGxheWVyRnJhZ21lbnRzLCBoaXRUZXN0
TG9jYXRpb24sIGxvY2FsUG9pbnQpKSB7CisgICAgICAgIHJlbmRlcmVyKCkudXBkYXRlSGl0VGVz
dFJlc3VsdChyZXN1bHQsIGxvY2FsUG9pbnQpOwogICAgICAgICByZXR1cm4gdGhpczsKICAgICB9
CiAKQEAgLTU1MjEsNyArNTUxNyw3IEBAIGJvb2wgUmVuZGVyTGF5ZXI6OmhpdFRlc3RDb250ZW50
c0ZvckZyYWdtZW50cyhjb25zdCBMYXllckZyYWdtZW50cyYgbGF5ZXJGcmFnbWVuCiAgICAgcmV0
dXJuIGZhbHNlOwogfQogCi1ib29sIFJlbmRlckxheWVyOjpoaXRUZXN0UmVzaXplckluRnJhZ21l
bnRzKGNvbnN0IExheWVyRnJhZ21lbnRzJiBsYXllckZyYWdtZW50cywgY29uc3QgSGl0VGVzdExv
Y2F0aW9uJiBoaXRUZXN0TG9jYXRpb24pIGNvbnN0Citib29sIFJlbmRlckxheWVyOjpoaXRUZXN0
UmVzaXplckluRnJhZ21lbnRzKGNvbnN0IExheWVyRnJhZ21lbnRzJiBsYXllckZyYWdtZW50cywg
Y29uc3QgSGl0VGVzdExvY2F0aW9uJiBoaXRUZXN0TG9jYXRpb24sIExheW91dFBvaW50JiBwb2lu
dEluRnJhZ21lbnQpIGNvbnN0CiB7CiAgICAgaWYgKGxheWVyRnJhZ21lbnRzLmlzRW1wdHkoKSkK
ICAgICAgICAgcmV0dXJuIGZhbHNlOwpAQCAtNTU0MSwxMCArNTUzNywxMiBAQCBib29sIFJlbmRl
ckxheWVyOjpoaXRUZXN0UmVzaXplckluRnJhZ21lbnRzKGNvbnN0IExheWVyRnJhZ21lbnRzJiBs
YXllckZyYWdtZW50cwogICAgIGZvciAoaW50IGkgPSBsYXllckZyYWdtZW50cy5zaXplKCkgLSAx
OyBpID49IDA7IC0taSkgewogICAgICAgICBjb25zdCBMYXllckZyYWdtZW50JiBmcmFnbWVudCA9
IGxheWVyRnJhZ21lbnRzLmF0KGkpOwogICAgICAgICBhdXRvIHJlc2l6ZXJSZWN0SW5GcmFnbWVu
dCA9IGNvcm5lclJlY3RJbkZyYWdtZW50KHNuYXBwZWRJbnRSZWN0KGZyYWdtZW50LmxheWVyQm91
bmRzKSwgcmVjdHMucmVzaXplcik7Ci0gICAgICAgIGlmIChmcmFnbWVudC5iYWNrZ3JvdW5kUmVj
dC5pbnRlcnNlY3RzKGhpdFRlc3RMb2NhdGlvbikgJiYgcmVzaXplclJlY3RJbkZyYWdtZW50LmNv
bnRhaW5zKGhpdFRlc3RMb2NhdGlvbi5yb3VuZGVkUG9pbnQoKSkpCisgICAgICAgIGlmIChmcmFn
bWVudC5iYWNrZ3JvdW5kUmVjdC5pbnRlcnNlY3RzKGhpdFRlc3RMb2NhdGlvbikgJiYgcmVzaXpl
clJlY3RJbkZyYWdtZW50LmNvbnRhaW5zKGhpdFRlc3RMb2NhdGlvbi5yb3VuZGVkUG9pbnQoKSkp
IHsKKyAgICAgICAgICAgIHBvaW50SW5GcmFnbWVudCA9IHRvTGF5b3V0UG9pbnQoaGl0VGVzdExv
Y2F0aW9uLnBvaW50KCkgLSBmcmFnbWVudC5sYXllckJvdW5kcy5sb2NhdGlvbigpKTsKICAgICAg
ICAgICAgIHJldHVybiB0cnVlOworICAgICAgICB9CiAgICAgfQotICAgIAorCiAgICAgcmV0dXJu
IGZhbHNlOwogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVy
TGF5ZXIuaCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllci5oCmluZGV4IDA4
ZjllNjU4M2Q2ZTA4NTdiMGUyMDk3MGZiMmNlNTIwYTBlYTdlMjEuLjZkZTFmZWY0NjM5Mzg5Y2I1
MzdlZDA0MjJmZTM5NTg2MTgzMmRjYTAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRl
cmluZy9SZW5kZXJMYXllci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJM
YXllci5oCkBAIC01MjEsOSArNTIxLDkgQEAgcHVibGljOgogICAgIGludCBob3Jpem9udGFsU2Ny
b2xsYmFySGVpZ2h0KE92ZXJsYXlTY3JvbGxiYXJTaXplUmVsZXZhbmN5ID0gSWdub3JlT3Zlcmxh
eVNjcm9sbGJhclNpemUpIGNvbnN0OwogCiAgICAgYm9vbCBoYXNPdmVyZmxvd0NvbnRyb2xzKCkg
Y29uc3Q7Ci0gICAgYm9vbCBpc1BvaW50SW5SZXNpemVDb250cm9sKGNvbnN0IEludFBvaW50JiBh
YnNvbHV0ZVBvaW50KSBjb25zdDsKKyAgICBib29sIGlzUG9pbnRJblJlc2l6ZUNvbnRyb2woSW50
UG9pbnQgbG9jYWxQb2ludCkgY29uc3Q7CiAgICAgYm9vbCBoaXRUZXN0T3ZlcmZsb3dDb250cm9s
cyhIaXRUZXN0UmVzdWx0JiwgY29uc3QgSW50UG9pbnQmIGxvY2FsUG9pbnQpOwotICAgIEludFNp
emUgb2Zmc2V0RnJvbVJlc2l6ZUNvcm5lcihjb25zdCBJbnRQb2ludCYgYWJzb2x1dGVQb2ludCkg
Y29uc3Q7CisgICAgSW50U2l6ZSBvZmZzZXRGcm9tUmVzaXplQ29ybmVyKGNvbnN0IEludFBvaW50
JiBsb2NhbFBvaW50KSBjb25zdDsKIAogICAgIHZvaWQgcGFpbnRPdmVyZmxvd0NvbnRyb2xzKEdy
YXBoaWNzQ29udGV4dCYsIGNvbnN0IEludFBvaW50JiwgY29uc3QgSW50UmVjdCYgZGFtYWdlUmVj
dCwgYm9vbCBwYWludGluZ092ZXJsYXlDb250cm9scyA9IGZhbHNlKTsKICAgICB2b2lkIHBhaW50
U2Nyb2xsQ29ybmVyKEdyYXBoaWNzQ29udGV4dCYsIGNvbnN0IEludFBvaW50JiwgY29uc3QgSW50
UmVjdCYgZGFtYWdlUmVjdCk7CkBAIC0xMDk1LDcgKzEwOTUsNyBAQCBwcml2YXRlOgogICAgIAog
ICAgIGJvb2wgaGl0VGVzdENvbnRlbnRzKGNvbnN0IEhpdFRlc3RSZXF1ZXN0JiwgSGl0VGVzdFJl
c3VsdCYsIGNvbnN0IExheW91dFJlY3QmIGxheWVyQm91bmRzLCBjb25zdCBIaXRUZXN0TG9jYXRp
b24mLCBIaXRUZXN0RmlsdGVyKSBjb25zdDsKICAgICBib29sIGhpdFRlc3RDb250ZW50c0ZvckZy
YWdtZW50cyhjb25zdCBMYXllckZyYWdtZW50cyYsIGNvbnN0IEhpdFRlc3RSZXF1ZXN0JiwgSGl0
VGVzdFJlc3VsdCYsIGNvbnN0IEhpdFRlc3RMb2NhdGlvbiYsIEhpdFRlc3RGaWx0ZXIsIGJvb2wm
IGluc2lkZUNsaXBSZWN0KSBjb25zdDsKLSAgICBib29sIGhpdFRlc3RSZXNpemVySW5GcmFnbWVu
dHMoY29uc3QgTGF5ZXJGcmFnbWVudHMmLCBjb25zdCBIaXRUZXN0TG9jYXRpb24mKSBjb25zdDsK
KyAgICBib29sIGhpdFRlc3RSZXNpemVySW5GcmFnbWVudHMoY29uc3QgTGF5ZXJGcmFnbWVudHMm
LCBjb25zdCBIaXRUZXN0TG9jYXRpb24mLCBMYXlvdXRQb2ludCYgcG9pbnRJbkZyYWdtZW50KSBj
b25zdDsKICAgICBSZW5kZXJMYXllciogaGl0VGVzdFRyYW5zZm9ybWVkTGF5ZXJJbkZyYWdtZW50
cyhSZW5kZXJMYXllciogcm9vdExheWVyLCBSZW5kZXJMYXllciogY29udGFpbmVyTGF5ZXIsIGNv
bnN0IEhpdFRlc3RSZXF1ZXN0JiwgSGl0VGVzdFJlc3VsdCYsCiAgICAgICAgIGNvbnN0IExheW91
dFJlY3QmIGhpdFRlc3RSZWN0LCBjb25zdCBIaXRUZXN0TG9jYXRpb24mLCBjb25zdCBIaXRUZXN0
aW5nVHJhbnNmb3JtU3RhdGUqID0gbnVsbHB0ciwgZG91YmxlKiB6T2Zmc2V0ID0gbnVsbHB0cik7
CiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5n
ZUxvZwppbmRleCBjZWJmMDM2ODRkNjMyNTdiMzkwNjMxNzAxZjljNzhlMGUyMzM5MDU1Li41ODA3
YmM4YTRiOWU3ODE0NjgxZmJmNDYxNmIxODY0NWU0YjM0NjYxIDEwMDY0NAotLS0gYS9MYXlvdXRU
ZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTgg
QEAKKzIwMjAtMDQtMjMgIFNpbW9uIEZyYXNlciAgPHNpbW9uLmZyYXNlckBhcHBsZS5jb20+CisK
KyAgICAgICAgRXZlbnRIYW5kbGVyOjpzZWxlY3RDdXJzb3IoKSBoYXMgYnJva2VuIHJlc2l6ZSBv
dmVyIGNvb3JkaW5hdGUgY29udmVyc2lvbiBjb2RlCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJr
aXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMTA3NzgKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JP
RFkgKE9PUFMhKS4KKworICAgICAgICAqIFRlc3RFeHBlY3RhdGlvbnM6CisgICAgICAgICogZmFz
dC9ldmVudHMvY3Vyc29ycy9tb3VzZS1jdXJzb3Itb3Zlci1yZXNpemVyLWV4cGVjdGVkLnR4dDog
QWRkZWQuCisgICAgICAgICogZmFzdC9ldmVudHMvY3Vyc29ycy9tb3VzZS1jdXJzb3Itb3Zlci1y
ZXNpemVyLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGZhc3QvZXZlbnRzL21vdXNlLWN1cnNvci1j
aGFuZ2UuaHRtbDoKKyAgICAgICAgKiBwbGF0Zm9ybS9tYWMtd2syL1Rlc3RFeHBlY3RhdGlvbnM6
CisgICAgICAgICogcmVzb3VyY2VzL3VpLWhlbHBlci5qczoKKyAgICAgICAgKHdpbmRvdy5VSUhl
bHBlci5hc3luYyBtb3ZlTW91c2VBbmRXYWl0Rm9yRnJhbWUpOgorCiAyMDIwLTA0LTIzICBEaWVn
byBQaW5vIEdhcmNpYSAgPGRwaW5vQGlnYWxpYS5jb20+CiAKICAgICAgICAgW1dQRV0gR2FyZGVu
aW5nLCB1cGRhdGUgZXhwZWN0YXRpb25zIGFmdGVyIHIyNTk3MDUKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL1Rlc3RFeHBlY3RhdGlvbnMgYi9MYXlvdXRUZXN0cy9UZXN0RXhwZWN0YXRpb25zCmlu
ZGV4IGYwMDZiMDFjZWRhZDM3Y2FkMjEyMTQ2ZGJlY2EyMjEwYjY1ZmVkNjAuLmIyODU3YzZjNTlh
NGYwZDg0NDU2ODBiNTllNDc1MWU1ZjNjNTZiNDUgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL1Rl
c3RFeHBlY3RhdGlvbnMKKysrIGIvTGF5b3V0VGVzdHMvVGVzdEV4cGVjdGF0aW9ucwpAQCAtNDMs
NiArNDMsNyBAQCBmYXN0L2Zvcm1zL2lvcyBbIFNraXAgXQogZmFzdC92aWV3cG9ydC9pb3MgWyBT
a2lwIF0KIGZhc3QvdmlzdWFsLXZpZXdwb3J0L2lvcy8gWyBTa2lwIF0KIGZhc3QvZGV2aWNlLW9y
aWVudGF0aW9uIFsgU2tpcCBdCitmYXN0L2V2ZW50cy9jdXJzb3JzIFsgU2tpcCBdCiBmYXN0L2V2
ZW50cy9pb3MgWyBTa2lwIF0KIGZhc3QvZXZlbnRzL3dhdGNob3MgWyBTa2lwIF0KIGZhc3QvZXZl
bnRzL3BvaW50ZXIvaW9zIFsgU2tpcCBdCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2V2
ZW50cy9jdXJzb3JzL21vdXNlLWN1cnNvci1vdmVyLXJlc2l6ZXItZXhwZWN0ZWQudHh0IGIvTGF5
b3V0VGVzdHMvZmFzdC9ldmVudHMvY3Vyc29ycy9tb3VzZS1jdXJzb3Itb3Zlci1yZXNpemVyLWV4
cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi40OWM1OWQ0ZjBjYTIyN2RmNGFiNDUyNmI5MDgwYzMyZDlj
YWIzZjllCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9ldmVudHMvY3Vyc29y
cy9tb3VzZS1jdXJzb3Itb3Zlci1yZXNpemVyLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEyIEBA
CitUZXN0cyB0aGF0IHRoZSBtb3VzZSBjdXJzb3IgdXBkYXRlcyBvdmVyIHRoZSByZXNpemUgY29u
dHJvbC4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNz
YWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCisKK1BBU1MgaW50ZXJuYWxzLmdl
dEN1cnJlbnRDdXJzb3JJbmZvKCkgaXMgInR5cGU9UG9pbnRlciBob3RTcG90PTAsMCIKK1BBU1Mg
aW50ZXJuYWxzLmdldEN1cnJlbnRDdXJzb3JJbmZvKCkgaXMgInR5cGU9U291dGhFYXN0UmVzaXpl
IGhvdFNwb3Q9MCwwIgorUEFTUyBpbnRlcm5hbHMuZ2V0Q3VycmVudEN1cnNvckluZm8oKSBpcyAi
dHlwZT1Tb3V0aFdlc3RSZXNpemUgaG90U3BvdD0wLDAiCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNl
ZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFz
dC9ldmVudHMvY3Vyc29ycy9tb3VzZS1jdXJzb3Itb3Zlci1yZXNpemVyLmh0bWwgYi9MYXlvdXRU
ZXN0cy9mYXN0L2V2ZW50cy9jdXJzb3JzL21vdXNlLWN1cnNvci1vdmVyLXJlc2l6ZXIuaHRtbApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi40ZTA2ZWQ0NzU4YThkOGVhZDUwOGYwMWZlODQ2Zjk0YTViODZmYTdiCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9ldmVudHMvY3Vyc29ycy9tb3VzZS1jdXJz
b3Itb3Zlci1yZXNpemVyLmh0bWwKQEAgLTAsMCArMSw1OCBAQAorPCFET0NUWVBFIGh0bWw+Cis8
aHRtbD4KKzxoZWFkPgorICAgIDxzdHlsZT4KKyAgICAgICAgLnRhcmdldCB7CisgICAgICAgICAg
ICBtYXJnaW46IDEwcHg7CisgICAgICAgICAgICBvdmVyZmxvdzogaGlkZGVuOworICAgICAgICAg
ICAgd2lkdGg6IDIwMHB4OworICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAg
IHJlc2l6ZTogYm90aDsKKyAgICAgICAgICAgIGJvcmRlcjogMTJweCBzb2xpZCBzaWx2ZXI7Cisg
ICAgICAgIH0KKyAgICAgICAgI3J0bC10YXJnZXQgeworICAgICAgICAgICAgZGlyZWN0aW9uOiBy
dGw7CisgICAgICAgIH0KKyAgICA8L3N0eWxlPgorICAgIDxzY3JpcHQgc3JjPSIuLi8uLi8uLi9y
ZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorICAgIDxzY3JpcHQgc3JjPSIuLi8u
Li8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICA8c2NyaXB0PgorICAg
ICAgICB3aW5kb3cuanNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgY29uc3QgYm9yZGVy
V2lkdGggPSAxMjsKKworICAgICAgICB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcignbG9hZCcsIGFz
eW5jICgpID0+IHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUZXN0cyB0aGF0IHRoZSBtb3Vz
ZSBjdXJzb3IgdXBkYXRlcyBvdmVyIHRoZSByZXNpemUgY29udHJvbC4iKTsKKworICAgICAgICAg
ICAgYXdhaXQgVUlIZWxwZXIubW92ZU1vdXNlQW5kV2FpdEZvckZyYW1lKDIsIDIpOworICAgICAg
ICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdpbnRlcm5hbHMuZ2V0Q3VycmVudEN1cnNvcklu
Zm8oKScsICd0eXBlPVBvaW50ZXIgaG90U3BvdD0wLDAnKTsKKworICAgICAgICAgICAgbGV0IHRh
cmdldCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCd0YXJnZXQnKTsKKyAgICAgICAgICAgIGxl
dCB0YXJnZXRCb3VuZHMgPSB0YXJnZXQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7CisgICAgICAg
ICAgICBhd2FpdCBVSUhlbHBlci5tb3ZlTW91c2VBbmRXYWl0Rm9yRnJhbWUodGFyZ2V0Qm91bmRz
LnJpZ2h0IC0gYm9yZGVyV2lkdGggLSA0LCB0YXJnZXRCb3VuZHMuYm90dG9tIC0gYm9yZGVyV2lk
dGggLSA0KTsKKyAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygnaW50ZXJuYWxzLmdl
dEN1cnJlbnRDdXJzb3JJbmZvKCknLCAndHlwZT1Tb3V0aEVhc3RSZXNpemUgaG90U3BvdD0wLDAn
KTsKKworICAgICAgICAgICAgdGFyZ2V0ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3J0bC10
YXJnZXQnKTsKKyAgICAgICAgICAgIHRhcmdldEJvdW5kcyA9IHRhcmdldC5nZXRCb3VuZGluZ0Ns
aWVudFJlY3QoKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLm1vdmVNb3VzZUFuZFdhaXRG
b3JGcmFtZSh0YXJnZXRCb3VuZHMubGVmdCArIGJvcmRlcldpZHRoICsgNCwgdGFyZ2V0Qm91bmRz
LmJvdHRvbSAtIGJvcmRlcldpZHRoIC0gNCk7CisgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9T
dHJpbmcoJ2ludGVybmFscy5nZXRDdXJyZW50Q3Vyc29ySW5mbygpJywgJ3R5cGU9U291dGhXZXN0
UmVzaXplIGhvdFNwb3Q9MCwwJyk7CisgICAgICAgICAgICAKKyAgICAgICAgICAgIGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCd0ZXN0LWNvbnRhaW5lcicpLnJlbW92ZSgpOworICAgICAgICAgICAg
ZmluaXNoSlNUZXN0KCk7CisgICAgICAgIH0sIGZhbHNlKTsKKyAgICA8L3NjcmlwdD4KKzwvaGVh
ZD4KKzxib2R5PgorICAgIDxkaXYgaWQ9InRlc3QtY29udGFpbmVyIj4KKyAgICAgICAgPGRpdiBp
ZD0idGFyZ2V0IiBjbGFzcz0idGFyZ2V0Ij4KKyAgICAgICAgICAgIExvcmVtIGlwc3VtIGRvbG9y
IHNpdCBhbWV0LCBjb25zZWN0ZXR1ciBhZGlwaXNpY2luZyBlbGl0LCBzZWQgZG8gZWl1c21vZCB0
ZW1wb3IgaW5jaWRpZHVudCB1dCBsYWJvcmUgZXQgZG9sb3JlIG1hZ25hIGFsaXF1YS4gVXQgZW5p
bSBhZCBtaW5pbSB2ZW5pYW0sIHF1aXMgbm9zdHJ1ZCBleGVyY2l0YXRpb24gdWxsYW1jbyBsYWJv
cmlzIG5pc2kgdXQgYWxpcXVpcCBleCBlYSBjb21tb2RvIGNvbnNlcXVhdC4gRHVpcyBhdXRlIGly
dXJlIGRvbG9yIGluIHJlcHJlaGVuZGVyaXQgaW4gdm9sdXB0YXRlIHZlbGl0IGVzc2UgY2lsbHVt
IGRvbG9yZSBldSBmdWdpYXQgbnVsbGEgcGFyaWF0dXIuIEV4Y2VwdGV1ciBzaW50IG9jY2FlY2F0
IGN1cGlkYXRhdCBub24gcHJvaWRlbnQsIHN1bnQgaW4gY3VscGEgcXVpIG9mZmljaWEgZGVzZXJ1
bnQgbW9sbGl0IGFuaW0gaWQgZXN0IGxhYm9ydW0uCisgICAgICAgIDwvZGl2PgorCisgICAgICAg
IDxkaXYgaWQ9InJ0bC10YXJnZXQiIGNsYXNzPSJ0YXJnZXQiPgorICAgICAgICAgICAgTG9yZW0g
aXBzdW0gZG9sb3Igc2l0IGFtZXQsIGNvbnNlY3RldHVyIGFkaXBpc2ljaW5nIGVsaXQsIHNlZCBk
byBlaXVzbW9kIHRlbXBvciBpbmNpZGlkdW50IHV0IGxhYm9yZSBldCBkb2xvcmUgbWFnbmEgYWxp
cXVhLiBVdCBlbmltIGFkIG1pbmltIHZlbmlhbSwgcXVpcyBub3N0cnVkIGV4ZXJjaXRhdGlvbiB1
bGxhbWNvIGxhYm9yaXMgbmlzaSB1dCBhbGlxdWlwIGV4IGVhIGNvbW1vZG8gY29uc2VxdWF0LiBE
dWlzIGF1dGUgaXJ1cmUgZG9sb3IgaW4gcmVwcmVoZW5kZXJpdCBpbiB2b2x1cHRhdGUgdmVsaXQg
ZXNzZSBjaWxsdW0gZG9sb3JlIGV1IGZ1Z2lhdCBudWxsYSBwYXJpYXR1ci4gRXhjZXB0ZXVyIHNp
bnQgb2NjYWVjYXQgY3VwaWRhdGF0IG5vbiBwcm9pZGVudCwgc3VudCBpbiBjdWxwYSBxdWkgb2Zm
aWNpYSBkZXNlcnVudCBtb2xsaXQgYW5pbSBpZCBlc3QgbGFib3J1bS4KKyAgICAgICAgPC9kaXY+
CisgICAgPC9kaXY+CisgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPHNjcmlwdCBz
cmM9Ii4uLy4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5
PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9ldmVudHMvbW91c2UtY3Vy
c29yLWNoYW5nZS5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9ldmVudHMvbW91c2UtY3Vyc29yLWNo
YW5nZS5odG1sCmluZGV4IGM4NjczYzQ3MDdhMjdiZGFkYjhhM2YyYzhiMTdiYjIxMTY0ZjIxYjEu
LmY5ZjIxMzQ2MGE3YWY3MWQ2OWUwODU5ZDVhNWVmMmNlZGMwNmE2NjkgMTAwNjQ0Ci0tLSBhL0xh
eW91dFRlc3RzL2Zhc3QvZXZlbnRzL21vdXNlLWN1cnNvci1jaGFuZ2UuaHRtbAorKysgYi9MYXlv
dXRUZXN0cy9mYXN0L2V2ZW50cy9tb3VzZS1jdXJzb3ItY2hhbmdlLmh0bWwKQEAgLTIsOCArMiw2
IEBACiA8aHRtbD4KIDxoZWFkPgogPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0
LXByZS5qcyI+PC9zY3JpcHQ+Ci08c3R5bGUgdHlwZT0idGV4dC9jc3MiPgotPC9zdHlsZT4KIDwv
aGVhZD4KIDxib2R5PgogPHAgaWQ9ImRlc2NyaXB0aW9uIj48L3A+CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9wbGF0Zm9ybS9tYWMtd2syL1Rlc3RFeHBlY3RhdGlvbnMgYi9MYXlvdXRUZXN0cy9w
bGF0Zm9ybS9tYWMtd2syL1Rlc3RFeHBlY3RhdGlvbnMKaW5kZXggZjA0Y2NlZTQwMTUxN2RjNTI3
ZGI5YWEyYTgwYzY0Y2VhZmVhZjEzNC4uYzQzYzc1ZjFkYjNiMTM2MGU4OWY4M2YxY2M5NzEzZmFj
ODE0ZDNlOSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjLXdrMi9UZXN0RXhw
ZWN0YXRpb25zCisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy13azIvVGVzdEV4cGVjdGF0
aW9ucwpAQCAtMTEsNiArMTEsNyBAQCBjb21wb3NpdGluZy9sYXllci1jcmVhdGlvbi9jbGlwcGlu
Zy1zY29wZSBbIFBhc3MgXQogZWRpdGluZy9maW5kIFsgUGFzcyBdCiBlZGl0aW5nL3VuZG8tbWFu
YWdlciBbIFBhc3MgXQogZWRpdGluZy9wYXN0ZWJvYXJkL2RvbS1wYXN0ZSBbIFBhc3MgXQorZmFz
dC9ldmVudHMvY3Vyc29ycyBbIFBhc3MgXQogZmFzdC9mb3Jtcy9zZWxlY3QvbWFjLXdrMiBbIFBh
c3MgXQogZmFzdC9zYW5kYm94L21hYyBbIFBhc3MgXQogZmFzdC9zY3JvbGxpbmcvbWFjIFsgUGFz
cyBdCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9yZXNvdXJjZXMvdWktaGVscGVyLmpzIGIvTGF5
b3V0VGVzdHMvcmVzb3VyY2VzL3VpLWhlbHBlci5qcwppbmRleCAwMDhlMzUyMWMwYWM0ZWJjMzgx
OWE3ZDNmODMwMGYyNzkzOWUyODE1Li4yZDFkZWYyMzlmMDQ4ZTc3OWY4OWQ5NjMyNzMyZjU4ZDg0
NGM0MDJlIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9yZXNvdXJjZXMvdWktaGVscGVyLmpzCisr
KyBiL0xheW91dFRlc3RzL3Jlc291cmNlcy91aS1oZWxwZXIuanMKQEAgLTI5LDYgKzI5LDEyIEBA
IHdpbmRvdy5VSUhlbHBlciA9IGNsYXNzIFVJSGVscGVyIHsKICAgICAgICAgZXZlbnRTZW5kZXIu
bW91c2VVcCgpOwogICAgIH0KIAorICAgIHN0YXRpYyBhc3luYyBtb3ZlTW91c2VBbmRXYWl0Rm9y
RnJhbWUoeCwgeSkKKyAgICB7CisgICAgICAgIGV2ZW50U2VuZGVyLm1vdXNlTW92ZVRvKHgsIHkp
OworICAgICAgICBhd2FpdCBVSUhlbHBlci5hbmltYXRpb25GcmFtZSgpOworICAgIH0KKwogICAg
IHN0YXRpYyBhc3luYyBtb3VzZVdoZWVsU2Nyb2xsQXQoeCwgeSwgYmVnaW5YLCBiZWdpblksIGRl
bHRhWCwgZGVsdGFZKQogICAgIHsKICAgICAgICAgaWYgKGJlZ2luWCA9PT0gdW5kZWZpbmVkKQo=
</data>
<flag name="review"
          id="412782"
          type_id="1"
          status="+"
          setter="zalan"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>397392</attachid>
            <date>2020-04-23 15:29:44 -0700</date>
            <delta_ts>2020-04-23 18:08:53 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-210778-20200423152943.patch</filename>
            <type>text/plain</type>
            <size>18629</size>
            <attacher name="Simon Fraser (smfr)">simon.fraser</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjYwNTcxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMTYyYjkxYjk5MTQ5ZjMz
ZTk2NjBjM2YwYTFjYmJkNjgwNjM3ZjVlYS4uZjJkYWQxZjRhNTA4ZjZiNTVhYmNhYTM0YTAwM2Y3
ZWY2NDNhZGIwOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMyIEBACisyMDIwLTA0LTIzICBTaW1v
biBGcmFzZXIgIDxzaW1vbi5mcmFzZXJAYXBwbGUuY29tPgorCisgICAgICAgIEV2ZW50SGFuZGxl
cjo6c2VsZWN0Q3Vyc29yKCkgaGFzIGJyb2tlbiByZXNpemUgb3ZlciBjb29yZGluYXRlIGNvbnZl
cnNpb24gY29kZQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9MjEwNzc4CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgWmFsYW4gQnVqdGFzLgorCisgICAgICAg
IEV2ZW50SGFuZGxlcjo6c2VsZWN0Q3Vyc29yKCkgYXBwZWFyZWQgdG8gbWFrZSBhIGxvY2FsIGhp
dC10ZXN0IHBvaW50IGZyb20gd2luZG93CisgICAgICAgIHRvIGNvbnRlbnQgY29vcmRpbmF0ZXMs
IHdoaWNoIG1hZGUgbm8gc2Vuc2UsIGJ1dCB0aGlzIGhhcHBlbmVkIHRvIHdvcmsgYmVjYXVzZSAK
KyAgICAgICAgUmVuZGVyTGF5ZXI6OmhpdFRlc3RMYXllcigpIHNldCB0aGUgSGl0VGVzdFJlc3Vs
dCBsb2NhbFBvaW50IHRvIGEgZ2xvYmFsIHBvaW50CisgICAgICAgIGlmIHlvdSBoaXQgdGhlIHJl
c2l6ZXIuCisKKyAgICAgICAgQ2xlYW4gdXAgdGhpcyBtZXNzIGJ5IGhhdmluZyBhbGwgcmVzaXpl
ci1yZWxhdGVkIGdlb21ldHJ5IHF1ZXJpZXMgYmUgaW4gbG9jYWwgY29vcmRpbmF0ZXMuCisKKyAg
ICAgICAgQXMgYSBib251cywgYWN0dWFsbHkgc2V0IHRoZSBjdXJzb3IgdG8gYSByZXNpemUgY3Vy
c29yIHdoZW4gb3ZlciB0aGUgcmVzaXplci4KKworICAgICAgICBUZXN0OiBmYXN0L2V2ZW50cy9j
dXJzb3JzL21vdXNlLWN1cnNvci1vdmVyLXJlc2l6ZXIuaHRtbAorCisgICAgICAgICogcGFnZS9F
dmVudEhhbmRsZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6RXZlbnRIYW5kbGVyOjpzZWxlY3RD
dXJzb3IpOgorICAgICAgICAoV2ViQ29yZTo6RXZlbnRIYW5kbGVyOjpoYW5kbGVNb3VzZVByZXNz
RXZlbnQpOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJMYXllci5jcHA6CisgICAgICAgIChX
ZWJDb3JlOjpSZW5kZXJMYXllcjo6cmVzaXplKToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckxh
eWVyOjpvZmZzZXRGcm9tUmVzaXplQ29ybmVyIGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6OlJl
bmRlckxheWVyOjppc1BvaW50SW5SZXNpemVDb250cm9sIGNvbnN0KToKKyAgICAgICAgKFdlYkNv
cmU6OlJlbmRlckxheWVyOjpoaXRUZXN0TGF5ZXIpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVy
TGF5ZXI6OmhpdFRlc3RSZXNpemVySW5GcmFnbWVudHMgY29uc3QpOgorICAgICAgICAqIHJlbmRl
cmluZy9SZW5kZXJMYXllci5oOgorCiAyMDIwLTA0LTIyICBTaW1vbiBGcmFzZXIgIDxzaW1vbi5m
cmFzZXJAYXBwbGUuY29tPgogCiAgICAgICAgIEluIHRoZSBzY3JvbGxpbmcgdHJlZSwgc2VwYXJh
dGUgd2hlZWwgZXZlbnQgaGFuZGxpbmcgZnJvbSBsYXllciB1cGRhdGluZwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvcGFnZS9FdmVudEhhbmRsZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvcGFn
ZS9FdmVudEhhbmRsZXIuY3BwCmluZGV4IDE0OGVhMzkwZDI3NjMxNjJhNmJkY2FlMDJlZDBhOTBi
YzhmOTkxMTUuLmFhZTdmOGUyNjQ5MjkzYzdjOTE0YzFmMjVjY2M4MWJkMjE2NGY1MjYgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRXZlbnRIYW5kbGVyLmNwcAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9wYWdlL0V2ZW50SGFuZGxlci5jcHAKQEAgLTE1NDIsMTAgKzE1NDIsMTIgQEAgT3B0
aW9uYWw8Q3Vyc29yPiBFdmVudEhhbmRsZXI6OnNlbGVjdEN1cnNvcihjb25zdCBIaXRUZXN0UmVz
dWx0JiByZXN1bHQsIGJvb2wgc2gKICAgICAgICAgICAgIHJldHVybiBoYW5kQ3Vyc29yKCk7CiAK
ICAgICAgICAgYm9vbCBpblJlc2l6ZXIgPSBmYWxzZTsKLSAgICAgICAgaWYgKHJlbmRlcmVyKSB7
Ci0gICAgICAgICAgICBpZiAoUmVuZGVyTGF5ZXIqIGxheWVyID0gcmVuZGVyZXItPmVuY2xvc2lu
Z0xheWVyKCkpIHsKLSAgICAgICAgICAgICAgICBpZiAoRnJhbWVWaWV3KiB2aWV3ID0gbV9mcmFt
ZS52aWV3KCkpCi0gICAgICAgICAgICAgICAgICAgIGluUmVzaXplciA9IGxheWVyLT5pc1BvaW50
SW5SZXNpemVDb250cm9sKHZpZXctPndpbmRvd1RvQ29udGVudHMocm91bmRlZEludFBvaW50KHJl
c3VsdC5sb2NhbFBvaW50KCkpKSk7IC8vIFRoaXMgY29vcmRpbmF0ZSBjb252ZXJzaW9uIGlzIHdy
b25nOiB3ZWJraXQub3JnL2IvMjEwNzc4LgorICAgICAgICBpZiAocmVuZGVyZXIgJiYgcmVuZGVy
ZXItPmhhc0xheWVyKCkpIHsKKyAgICAgICAgICAgIC8vIEZJWE1FOiBXaXRoIHJpZ2h0LWFsaWdu
ZWQgdGV4dCBpbiBhIGJveCwgdGhlIHJlbmRlcmVyIGhlcmUgaXMgdXN1YWxseSBhIFJlbmRlclRl
eHQsIHdoaWNoIHByZXZlbnRzIHNob3dpbmcgdGhlIHJlc2l6ZSBjdXJzb3I6IHdlYmtpdC5vcmcv
Yi8yMTA5MzUuCisgICAgICAgICAgICBpZiAoYXV0byogbGF5ZXIgPSBkb3duY2FzdDxSZW5kZXJM
YXllck1vZGVsT2JqZWN0PigqcmVuZGVyZXIpLmxheWVyKCkpIHsKKyAgICAgICAgICAgICAgICBp
blJlc2l6ZXIgPSBsYXllci0+aXNQb2ludEluUmVzaXplQ29udHJvbChyb3VuZGVkSW50UG9pbnQo
cmVzdWx0LmxvY2FsUG9pbnQoKSkpOworICAgICAgICAgICAgICAgIGlmIChpblJlc2l6ZXIpCisg
ICAgICAgICAgICAgICAgICAgIHJldHVybiBsYXllci0+c2hvdWxkUGxhY2VCbG9ja0RpcmVjdGlv
blNjcm9sbGJhck9uTGVmdCgpID8gc291dGhXZXN0UmVzaXplQ3Vyc29yKCkgOiBzb3V0aEVhc3RS
ZXNpemVDdXJzb3IoKTsKICAgICAgICAgICAgIH0KICAgICAgICAgfQogCkBAIC0xNzg1LDEyICsx
Nzg3LDEyIEBAIGJvb2wgRXZlbnRIYW5kbGVyOjpoYW5kbGVNb3VzZVByZXNzRXZlbnQoY29uc3Qg
UGxhdGZvcm1Nb3VzZUV2ZW50JiBwbGF0Zm9ybU1vdXNlCiAgICAgfQogCiAgICAgaWYgKEZyYW1l
VmlldyogdmlldyA9IG1fZnJhbWUudmlldygpKSB7Ci0gICAgICAgIFJlbmRlckxheWVyKiBsYXll
ciA9IG1fY2xpY2tOb2RlLT5yZW5kZXJlcigpID8gbV9jbGlja05vZGUtPnJlbmRlcmVyKCktPmVu
Y2xvc2luZ0xheWVyKCkgOiAwOwotICAgICAgICBJbnRQb2ludCBwID0gdmlldy0+d2luZG93VG9D
b250ZW50cyhwbGF0Zm9ybU1vdXNlRXZlbnQucG9zaXRpb24oKSk7Ci0gICAgICAgIGlmIChsYXll
ciAmJiBsYXllci0+aXNQb2ludEluUmVzaXplQ29udHJvbChwKSkgeworICAgICAgICBSZW5kZXJM
YXllciogbGF5ZXIgPSBtX2NsaWNrTm9kZS0+cmVuZGVyZXIoKSA/IG1fY2xpY2tOb2RlLT5yZW5k
ZXJlcigpLT5lbmNsb3NpbmdMYXllcigpIDogbnVsbHB0cjsKKyAgICAgICAgYXV0byBsb2NhbFBv
aW50ID0gcm91bmRlZEludFBvaW50KG1vdXNlRXZlbnQuaGl0VGVzdFJlc3VsdCgpLmxvY2FsUG9p
bnQoKSk7CisgICAgICAgIGlmIChsYXllciAmJiBsYXllci0+aXNQb2ludEluUmVzaXplQ29udHJv
bChsb2NhbFBvaW50KSkgewogICAgICAgICAgICAgbGF5ZXItPnNldEluUmVzaXplTW9kZSh0cnVl
KTsKICAgICAgICAgICAgIG1fcmVzaXplTGF5ZXIgPSBsYXllcjsKLSAgICAgICAgICAgIG1fb2Zm
c2V0RnJvbVJlc2l6ZUNvcm5lciA9IGxheWVyLT5vZmZzZXRGcm9tUmVzaXplQ29ybmVyKHApOwor
ICAgICAgICAgICAgbV9vZmZzZXRGcm9tUmVzaXplQ29ybmVyID0gbGF5ZXItPm9mZnNldEZyb21S
ZXNpemVDb3JuZXIobG9jYWxQb2ludCk7CiAgICAgICAgICAgICBpbnZhbGlkYXRlQ2xpY2soKTsK
ICAgICAgICAgICAgIHJldHVybiB0cnVlOwogICAgICAgICB9CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9DdXJzb3IuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vQ3Vy
c29yLmNwcAppbmRleCBkZjQ3MjAwZDlhZWI3OWJjNWM2MDk1MzI4ZTQ1MWRmZmY3ZDQ0Yjk2Li5l
MzVkNDQ5YjU5NTcyMjM1MjY0MmY1ZTI2YjAyNTEzOGY4ZjgzNDBhIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9DdXJzb3IuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL0N1cnNvci5jcHAKQEAgLTE1MiwxMCArMTUyLDYgQEAgQ3Vyc29yOjpDdXJzb3IoSW1hZ2Uq
IGltYWdlLCBjb25zdCBJbnRQb2ludCYgaG90U3BvdCkKICAgICA6IG1fdHlwZShDdXN0b20pCiAg
ICAgLCBtX2ltYWdlKGltYWdlKQogICAgICwgbV9ob3RTcG90KGRldGVybWluZUhvdFNwb3QoaW1h
Z2UsIGhvdFNwb3QpKQotI2lmIEVOQUJMRShNT1VTRV9DVVJTT1JfU0NBTEUpCi0gICAgLCBtX2lt
YWdlU2NhbGVGYWN0b3IoMSkKLSNlbmRpZgotICAgICwgbV9wbGF0Zm9ybUN1cnNvcigwKQogewog
fQogCkBAIC0xNjUsMTcgKzE2MSwxMiBAQCBDdXJzb3I6OkN1cnNvcihJbWFnZSogaW1hZ2UsIGNv
bnN0IEludFBvaW50JiBob3RTcG90LCBmbG9hdCBzY2FsZSkKICAgICAsIG1faW1hZ2UoaW1hZ2Up
CiAgICAgLCBtX2hvdFNwb3QoZGV0ZXJtaW5lSG90U3BvdChpbWFnZSwgaG90U3BvdCkpCiAgICAg
LCBtX2ltYWdlU2NhbGVGYWN0b3Ioc2NhbGUpCi0gICAgLCBtX3BsYXRmb3JtQ3Vyc29yKDApCiB7
CiB9CiAjZW5kaWYKIAogQ3Vyc29yOjpDdXJzb3IoVHlwZSB0eXBlKQogICAgIDogbV90eXBlKHR5
cGUpCi0jaWYgRU5BQkxFKE1PVVNFX0NVUlNPUl9TQ0FMRSkKLSAgICAsIG1faW1hZ2VTY2FsZUZh
Y3RvcigxKQotI2VuZGlmCi0gICAgLCBtX3BsYXRmb3JtQ3Vyc29yKDApCiB7CiB9CiAKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllci5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXIuY3BwCmluZGV4IGM1YWJkMjdmZjM3YTI2NDIw
NTM1NDIxMDBkNTIxZDYxYzBkNjI3MDIuLjc4Mzc0NmY0NTYyMDI4NGJhOThkYzk4YTZlMjNiODUy
OTQzYmIwZTAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXll
ci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyLmNwcApAQCAt
MzA3Nyw3ICszMDc3LDEwIEBAIHZvaWQgUmVuZGVyTGF5ZXI6OnJlc2l6ZShjb25zdCBQbGF0Zm9y
bU1vdXNlRXZlbnQmIGV2dCwgY29uc3QgTGF5b3V0U2l6ZSYgb2xkT2ZmCiAKICAgICBmbG9hdCB6
b29tRmFjdG9yID0gcmVuZGVyZXItPnN0eWxlKCkuZWZmZWN0aXZlWm9vbSgpOwogCi0gICAgTGF5
b3V0U2l6ZSBuZXdPZmZzZXQgPSBvZmZzZXRGcm9tUmVzaXplQ29ybmVyKGRvY3VtZW50LnZpZXco
KS0+d2luZG93VG9Db250ZW50cyhldnQucG9zaXRpb24oKSkpOworICAgIGF1dG8gYWJzb2x1dGVQ
b2ludCA9IGRvY3VtZW50LnZpZXcoKS0+d2luZG93VG9Db250ZW50cyhldnQucG9zaXRpb24oKSk7
CisgICAgYXV0byBsb2NhbFBvaW50ID0gcm91bmRlZEludFBvaW50KGFic29sdXRlVG9Db250ZW50
cyhhYnNvbHV0ZVBvaW50KSk7CisKKyAgICBMYXlvdXRTaXplIG5ld09mZnNldCA9IG9mZnNldEZy
b21SZXNpemVDb3JuZXIobG9jYWxQb2ludCk7CiAgICAgbmV3T2Zmc2V0LnNldFdpZHRoKG5ld09m
ZnNldC53aWR0aCgpIC8gem9vbUZhY3Rvcik7CiAgICAgbmV3T2Zmc2V0LnNldEhlaWdodChuZXdP
ZmZzZXQuaGVpZ2h0KCkgLyB6b29tRmFjdG9yKTsKICAgICAKQEAgLTM2NjMsMTYgKzM2NjYsMTEg
QEAgaW50IFJlbmRlckxheWVyOjpob3Jpem9udGFsU2Nyb2xsYmFySGVpZ2h0KE92ZXJsYXlTY3Jv
bGxiYXJTaXplUmVsZXZhbmN5IHJlbGV2YW4KICAgICByZXR1cm4gbV9oQmFyLT5oZWlnaHQoKTsK
IH0KIAotSW50U2l6ZSBSZW5kZXJMYXllcjo6b2Zmc2V0RnJvbVJlc2l6ZUNvcm5lcihjb25zdCBJ
bnRQb2ludCYgYWJzb2x1dGVQb2ludCkgY29uc3QKK0ludFNpemUgUmVuZGVyTGF5ZXI6Om9mZnNl
dEZyb21SZXNpemVDb3JuZXIoY29uc3QgSW50UG9pbnQmIGxvY2FsUG9pbnQpIGNvbnN0CiB7Ci0g
ICAgLy8gQ3VycmVudGx5IHRoZSByZXNpemUgY29ybmVyIGlzIGVpdGhlciB0aGUgYm90dG9tIHJp
Z2h0IGNvcm5lciBvciB0aGUgYm90dG9tIGxlZnQgY29ybmVyLgotICAgIC8vIEZJWE1FOiBUaGlz
IGFzc3VtZXMgdGhlIGxvY2F0aW9uIGlzIDAsIDAuIElzIHRoaXMgZ3VhcmFudGVlZCB0byBhbHdh
eXMgYmUgdGhlIGNhc2U/Ci0gICAgSW50U2l6ZSBlbGVtZW50U2l6ZSA9IHNpemUoKTsKLSAgICBp
ZiAoc2hvdWxkUGxhY2VCbG9ja0RpcmVjdGlvblNjcm9sbGJhck9uTGVmdCgpKQotICAgICAgICBl
bGVtZW50U2l6ZS5zZXRXaWR0aCgwKTsKLSAgICBJbnRQb2ludCByZXNpemVyUG9pbnQgPSBJbnRQ
b2ludChlbGVtZW50U2l6ZSk7Ci0gICAgSW50UG9pbnQgbG9jYWxQb2ludCA9IHJvdW5kZWRJbnRQ
b2ludChhYnNvbHV0ZVRvQ29udGVudHMoYWJzb2x1dGVQb2ludCkpOwotICAgIHJldHVybiBsb2Nh
bFBvaW50IC0gcmVzaXplclBvaW50OworICAgIGF1dG8gcmVzaXplclJlY3QgPSBvdmVyZmxvd0Nv
bnRyb2xzUmVjdHMoKS5yZXNpemVyOworICAgIGF1dG8gcmVzaXplQ29ybmVyID0gc2hvdWxkUGxh
Y2VCbG9ja0RpcmVjdGlvblNjcm9sbGJhck9uTGVmdCgpID8gcmVzaXplclJlY3QubWluWE1heFlD
b3JuZXIoKSA6IHJlc2l6ZXJSZWN0Lm1heFhNYXhZQ29ybmVyKCk7CisgICAgcmV0dXJuIGxvY2Fs
UG9pbnQgLSByZXNpemVDb3JuZXI7CiB9CiAKIGJvb2wgUmVuZGVyTGF5ZXI6Omhhc092ZXJmbG93
Q29udHJvbHMoKSBjb25zdApAQCAtNDExOSwxNSArNDExNywxMiBAQCB2b2lkIFJlbmRlckxheWVy
OjpwYWludFJlc2l6ZXIoR3JhcGhpY3NDb250ZXh0JiBjb250ZXh0LCBjb25zdCBMYXlvdXRQb2lu
dCYgcGFpbgogICAgIH0KIH0KIAotYm9vbCBSZW5kZXJMYXllcjo6aXNQb2ludEluUmVzaXplQ29u
dHJvbChjb25zdCBJbnRQb2ludCYgYWJzb2x1dGVQb2ludCkgY29uc3QKK2Jvb2wgUmVuZGVyTGF5
ZXI6OmlzUG9pbnRJblJlc2l6ZUNvbnRyb2woSW50UG9pbnQgbG9jYWxQb2ludCkgY29uc3QKIHsK
ICAgICBpZiAoIWNhblJlc2l6ZSgpKQogICAgICAgICByZXR1cm4gZmFsc2U7CiAKLSAgICBhdXRv
IHJlY3RzID0gb3ZlcmZsb3dDb250cm9sc1JlY3RzKCk7Ci0KLSAgICBJbnRQb2ludCBsb2NhbFBv
aW50ID0gcm91bmRlZEludFBvaW50KGFic29sdXRlVG9Db250ZW50cyhhYnNvbHV0ZVBvaW50KSk7
Ci0gICAgcmV0dXJuIHJlY3RzLnJlc2l6ZXIuY29udGFpbnMobG9jYWxQb2ludCk7CisgICAgcmV0
dXJuIG92ZXJmbG93Q29udHJvbHNSZWN0cygpLnJlc2l6ZXIuY29udGFpbnMobG9jYWxQb2ludCk7
CiB9CiAKIGJvb2wgUmVuZGVyTGF5ZXI6OmhpdFRlc3RPdmVyZmxvd0NvbnRyb2xzKEhpdFRlc3RS
ZXN1bHQmIHJlc3VsdCwgY29uc3QgSW50UG9pbnQmIGxvY2FsUG9pbnQpCkBAIC01NDQ2LDggKzU0
NDEsOSBAQCBSZW5kZXJMYXllciogUmVuZGVyTGF5ZXI6OmhpdFRlc3RMYXllcihSZW5kZXJMYXll
ciogcm9vdExheWVyLCBSZW5kZXJMYXllciogY29udAogICAgIGNvbGxlY3RGcmFnbWVudHMobGF5
ZXJGcmFnbWVudHMsIHJvb3RMYXllciwgaGl0VGVzdFJlY3QsIEluY2x1ZGVDb21wb3NpdGVkUGFn
aW5hdGVkTGF5ZXJzLCBSb290UmVsYXRpdmVDbGlwUmVjdHMsIEluY2x1ZGVPdmVybGF5U2Nyb2xs
YmFyU2l6ZSwgUmVzcGVjdE92ZXJmbG93Q2xpcCwKICAgICAgICAgb2Zmc2V0RnJvbUFuY2VzdG9y
KHJvb3RMYXllcikpOwogCi0gICAgaWYgKGNhblJlc2l6ZSgpICYmIGhpdFRlc3RSZXNpemVySW5G
cmFnbWVudHMobGF5ZXJGcmFnbWVudHMsIGhpdFRlc3RMb2NhdGlvbikpIHsKLSAgICAgICAgcmVu
ZGVyZXIoKS51cGRhdGVIaXRUZXN0UmVzdWx0KHJlc3VsdCwgaGl0VGVzdExvY2F0aW9uLnBvaW50
KCkpOworICAgIExheW91dFBvaW50IGxvY2FsUG9pbnQ7CisgICAgaWYgKGNhblJlc2l6ZSgpICYm
IGhpdFRlc3RSZXNpemVySW5GcmFnbWVudHMobGF5ZXJGcmFnbWVudHMsIGhpdFRlc3RMb2NhdGlv
biwgbG9jYWxQb2ludCkpIHsKKyAgICAgICAgcmVuZGVyZXIoKS51cGRhdGVIaXRUZXN0UmVzdWx0
KHJlc3VsdCwgbG9jYWxQb2ludCk7CiAgICAgICAgIHJldHVybiB0aGlzOwogICAgIH0KIApAQCAt
NTUyMSw3ICs1NTE3LDcgQEAgYm9vbCBSZW5kZXJMYXllcjo6aGl0VGVzdENvbnRlbnRzRm9yRnJh
Z21lbnRzKGNvbnN0IExheWVyRnJhZ21lbnRzJiBsYXllckZyYWdtZW4KICAgICByZXR1cm4gZmFs
c2U7CiB9CiAKLWJvb2wgUmVuZGVyTGF5ZXI6OmhpdFRlc3RSZXNpemVySW5GcmFnbWVudHMoY29u
c3QgTGF5ZXJGcmFnbWVudHMmIGxheWVyRnJhZ21lbnRzLCBjb25zdCBIaXRUZXN0TG9jYXRpb24m
IGhpdFRlc3RMb2NhdGlvbikgY29uc3QKK2Jvb2wgUmVuZGVyTGF5ZXI6OmhpdFRlc3RSZXNpemVy
SW5GcmFnbWVudHMoY29uc3QgTGF5ZXJGcmFnbWVudHMmIGxheWVyRnJhZ21lbnRzLCBjb25zdCBI
aXRUZXN0TG9jYXRpb24mIGhpdFRlc3RMb2NhdGlvbiwgTGF5b3V0UG9pbnQmIHBvaW50SW5GcmFn
bWVudCkgY29uc3QKIHsKICAgICBpZiAobGF5ZXJGcmFnbWVudHMuaXNFbXB0eSgpKQogICAgICAg
ICByZXR1cm4gZmFsc2U7CkBAIC01NTQxLDEwICs1NTM3LDEyIEBAIGJvb2wgUmVuZGVyTGF5ZXI6
OmhpdFRlc3RSZXNpemVySW5GcmFnbWVudHMoY29uc3QgTGF5ZXJGcmFnbWVudHMmIGxheWVyRnJh
Z21lbnRzCiAgICAgZm9yIChpbnQgaSA9IGxheWVyRnJhZ21lbnRzLnNpemUoKSAtIDE7IGkgPj0g
MDsgLS1pKSB7CiAgICAgICAgIGNvbnN0IExheWVyRnJhZ21lbnQmIGZyYWdtZW50ID0gbGF5ZXJG
cmFnbWVudHMuYXQoaSk7CiAgICAgICAgIGF1dG8gcmVzaXplclJlY3RJbkZyYWdtZW50ID0gY29y
bmVyUmVjdEluRnJhZ21lbnQoc25hcHBlZEludFJlY3QoZnJhZ21lbnQubGF5ZXJCb3VuZHMpLCBy
ZWN0cy5yZXNpemVyKTsKLSAgICAgICAgaWYgKGZyYWdtZW50LmJhY2tncm91bmRSZWN0LmludGVy
c2VjdHMoaGl0VGVzdExvY2F0aW9uKSAmJiByZXNpemVyUmVjdEluRnJhZ21lbnQuY29udGFpbnMo
aGl0VGVzdExvY2F0aW9uLnJvdW5kZWRQb2ludCgpKSkKKyAgICAgICAgaWYgKGZyYWdtZW50LmJh
Y2tncm91bmRSZWN0LmludGVyc2VjdHMoaGl0VGVzdExvY2F0aW9uKSAmJiByZXNpemVyUmVjdElu
RnJhZ21lbnQuY29udGFpbnMoaGl0VGVzdExvY2F0aW9uLnJvdW5kZWRQb2ludCgpKSkgeworICAg
ICAgICAgICAgcG9pbnRJbkZyYWdtZW50ID0gdG9MYXlvdXRQb2ludChoaXRUZXN0TG9jYXRpb24u
cG9pbnQoKSAtIGZyYWdtZW50LmxheWVyQm91bmRzLmxvY2F0aW9uKCkpOwogICAgICAgICAgICAg
cmV0dXJuIHRydWU7CisgICAgICAgIH0KICAgICB9Ci0gICAgCisKICAgICByZXR1cm4gZmFsc2U7
CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllci5o
IGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyLmgKaW5kZXggMDhmOWU2NTgz
ZDZlMDg1N2IwZTIwOTcwZmIyY2U1MjBhMGVhN2UyMS4uNmRlMWZlZjQ2MzkzODljYjUzN2VkMDQy
MmZlMzk1ODYxODMyZGNhMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1Jl
bmRlckxheWVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyLmgK
QEAgLTUyMSw5ICs1MjEsOSBAQCBwdWJsaWM6CiAgICAgaW50IGhvcml6b250YWxTY3JvbGxiYXJI
ZWlnaHQoT3ZlcmxheVNjcm9sbGJhclNpemVSZWxldmFuY3kgPSBJZ25vcmVPdmVybGF5U2Nyb2xs
YmFyU2l6ZSkgY29uc3Q7CiAKICAgICBib29sIGhhc092ZXJmbG93Q29udHJvbHMoKSBjb25zdDsK
LSAgICBib29sIGlzUG9pbnRJblJlc2l6ZUNvbnRyb2woY29uc3QgSW50UG9pbnQmIGFic29sdXRl
UG9pbnQpIGNvbnN0OworICAgIGJvb2wgaXNQb2ludEluUmVzaXplQ29udHJvbChJbnRQb2ludCBs
b2NhbFBvaW50KSBjb25zdDsKICAgICBib29sIGhpdFRlc3RPdmVyZmxvd0NvbnRyb2xzKEhpdFRl
c3RSZXN1bHQmLCBjb25zdCBJbnRQb2ludCYgbG9jYWxQb2ludCk7Ci0gICAgSW50U2l6ZSBvZmZz
ZXRGcm9tUmVzaXplQ29ybmVyKGNvbnN0IEludFBvaW50JiBhYnNvbHV0ZVBvaW50KSBjb25zdDsK
KyAgICBJbnRTaXplIG9mZnNldEZyb21SZXNpemVDb3JuZXIoY29uc3QgSW50UG9pbnQmIGxvY2Fs
UG9pbnQpIGNvbnN0OwogCiAgICAgdm9pZCBwYWludE92ZXJmbG93Q29udHJvbHMoR3JhcGhpY3ND
b250ZXh0JiwgY29uc3QgSW50UG9pbnQmLCBjb25zdCBJbnRSZWN0JiBkYW1hZ2VSZWN0LCBib29s
IHBhaW50aW5nT3ZlcmxheUNvbnRyb2xzID0gZmFsc2UpOwogICAgIHZvaWQgcGFpbnRTY3JvbGxD
b3JuZXIoR3JhcGhpY3NDb250ZXh0JiwgY29uc3QgSW50UG9pbnQmLCBjb25zdCBJbnRSZWN0JiBk
YW1hZ2VSZWN0KTsKQEAgLTEwOTUsNyArMTA5NSw3IEBAIHByaXZhdGU6CiAgICAgCiAgICAgYm9v
bCBoaXRUZXN0Q29udGVudHMoY29uc3QgSGl0VGVzdFJlcXVlc3QmLCBIaXRUZXN0UmVzdWx0Jiwg
Y29uc3QgTGF5b3V0UmVjdCYgbGF5ZXJCb3VuZHMsIGNvbnN0IEhpdFRlc3RMb2NhdGlvbiYsIEhp
dFRlc3RGaWx0ZXIpIGNvbnN0OwogICAgIGJvb2wgaGl0VGVzdENvbnRlbnRzRm9yRnJhZ21lbnRz
KGNvbnN0IExheWVyRnJhZ21lbnRzJiwgY29uc3QgSGl0VGVzdFJlcXVlc3QmLCBIaXRUZXN0UmVz
dWx0JiwgY29uc3QgSGl0VGVzdExvY2F0aW9uJiwgSGl0VGVzdEZpbHRlciwgYm9vbCYgaW5zaWRl
Q2xpcFJlY3QpIGNvbnN0OwotICAgIGJvb2wgaGl0VGVzdFJlc2l6ZXJJbkZyYWdtZW50cyhjb25z
dCBMYXllckZyYWdtZW50cyYsIGNvbnN0IEhpdFRlc3RMb2NhdGlvbiYpIGNvbnN0OworICAgIGJv
b2wgaGl0VGVzdFJlc2l6ZXJJbkZyYWdtZW50cyhjb25zdCBMYXllckZyYWdtZW50cyYsIGNvbnN0
IEhpdFRlc3RMb2NhdGlvbiYsIExheW91dFBvaW50JiBwb2ludEluRnJhZ21lbnQpIGNvbnN0Owog
ICAgIFJlbmRlckxheWVyKiBoaXRUZXN0VHJhbnNmb3JtZWRMYXllckluRnJhZ21lbnRzKFJlbmRl
ckxheWVyKiByb290TGF5ZXIsIFJlbmRlckxheWVyKiBjb250YWluZXJMYXllciwgY29uc3QgSGl0
VGVzdFJlcXVlc3QmLCBIaXRUZXN0UmVzdWx0JiwKICAgICAgICAgY29uc3QgTGF5b3V0UmVjdCYg
aGl0VGVzdFJlY3QsIGNvbnN0IEhpdFRlc3RMb2NhdGlvbiYsIGNvbnN0IEhpdFRlc3RpbmdUcmFu
c2Zvcm1TdGF0ZSogPSBudWxscHRyLCBkb3VibGUqIHpPZmZzZXQgPSBudWxscHRyKTsKIApkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmlu
ZGV4IGNlYmYwMzY4NGQ2MzI1N2IzOTA2MzE3MDFmOWM3OGUwZTIzMzkwNTUuLmY5OGMwZDAzNjk2
Yzk5MzMwNzE2YTJjMTllNGMwMjU1N2U5Yzg0ZWEgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL0No
YW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxOCBAQAorMjAy
MC0wNC0yMyAgU2ltb24gRnJhc2VyICA8c2ltb24uZnJhc2VyQGFwcGxlLmNvbT4KKworICAgICAg
ICBFdmVudEhhbmRsZXI6OnNlbGVjdEN1cnNvcigpIGhhcyBicm9rZW4gcmVzaXplIG92ZXIgY29v
cmRpbmF0ZSBjb252ZXJzaW9uIGNvZGUKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcv
c2hvd19idWcuY2dpP2lkPTIxMDc3OAorCisgICAgICAgIFJldmlld2VkIGJ5IFphbGFuIEJ1anRh
cy4KKworICAgICAgICAqIFRlc3RFeHBlY3RhdGlvbnM6CisgICAgICAgICogZmFzdC9ldmVudHMv
Y3Vyc29ycy9tb3VzZS1jdXJzb3Itb3Zlci1yZXNpemVyLWV4cGVjdGVkLnR4dDogQWRkZWQuCisg
ICAgICAgICogZmFzdC9ldmVudHMvY3Vyc29ycy9tb3VzZS1jdXJzb3Itb3Zlci1yZXNpemVyLmh0
bWw6IEFkZGVkLgorICAgICAgICAqIGZhc3QvZXZlbnRzL21vdXNlLWN1cnNvci1jaGFuZ2UuaHRt
bDoKKyAgICAgICAgKiBwbGF0Zm9ybS9tYWMtd2syL1Rlc3RFeHBlY3RhdGlvbnM6CisgICAgICAg
ICogcmVzb3VyY2VzL3VpLWhlbHBlci5qczoKKyAgICAgICAgKHdpbmRvdy5VSUhlbHBlci5hc3lu
YyBtb3ZlTW91c2VBbmRXYWl0Rm9yRnJhbWUpOgorCiAyMDIwLTA0LTIzICBEaWVnbyBQaW5vIEdh
cmNpYSAgPGRwaW5vQGlnYWxpYS5jb20+CiAKICAgICAgICAgW1dQRV0gR2FyZGVuaW5nLCB1cGRh
dGUgZXhwZWN0YXRpb25zIGFmdGVyIHIyNTk3MDUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL1Rl
c3RFeHBlY3RhdGlvbnMgYi9MYXlvdXRUZXN0cy9UZXN0RXhwZWN0YXRpb25zCmluZGV4IGYwMDZi
MDFjZWRhZDM3Y2FkMjEyMTQ2ZGJlY2EyMjEwYjY1ZmVkNjAuLmIyODU3YzZjNTlhNGYwZDg0NDU2
ODBiNTllNDc1MWU1ZjNjNTZiNDUgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL1Rlc3RFeHBlY3Rh
dGlvbnMKKysrIGIvTGF5b3V0VGVzdHMvVGVzdEV4cGVjdGF0aW9ucwpAQCAtNDMsNiArNDMsNyBA
QCBmYXN0L2Zvcm1zL2lvcyBbIFNraXAgXQogZmFzdC92aWV3cG9ydC9pb3MgWyBTa2lwIF0KIGZh
c3QvdmlzdWFsLXZpZXdwb3J0L2lvcy8gWyBTa2lwIF0KIGZhc3QvZGV2aWNlLW9yaWVudGF0aW9u
IFsgU2tpcCBdCitmYXN0L2V2ZW50cy9jdXJzb3JzIFsgU2tpcCBdCiBmYXN0L2V2ZW50cy9pb3Mg
WyBTa2lwIF0KIGZhc3QvZXZlbnRzL3dhdGNob3MgWyBTa2lwIF0KIGZhc3QvZXZlbnRzL3BvaW50
ZXIvaW9zIFsgU2tpcCBdCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2V2ZW50cy9jdXJz
b3JzL21vdXNlLWN1cnNvci1vdmVyLXJlc2l6ZXItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMv
ZmFzdC9ldmVudHMvY3Vyc29ycy9tb3VzZS1jdXJzb3Itb3Zlci1yZXNpemVyLWV4cGVjdGVkLnR4
dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi40OWM1OWQ0ZjBjYTIyN2RmNGFiNDUyNmI5MDgwYzMyZDljYWIzZjllCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9ldmVudHMvY3Vyc29ycy9tb3VzZS1j
dXJzb3Itb3Zlci1yZXNpemVyLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEyIEBACitUZXN0cyB0
aGF0IHRoZSBtb3VzZSBjdXJzb3IgdXBkYXRlcyBvdmVyIHRoZSByZXNpemUgY29udHJvbC4KKwor
T24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9s
bG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCisKK1BBU1MgaW50ZXJuYWxzLmdldEN1cnJlbnRD
dXJzb3JJbmZvKCkgaXMgInR5cGU9UG9pbnRlciBob3RTcG90PTAsMCIKK1BBU1MgaW50ZXJuYWxz
LmdldEN1cnJlbnRDdXJzb3JJbmZvKCkgaXMgInR5cGU9U291dGhFYXN0UmVzaXplIGhvdFNwb3Q9
MCwwIgorUEFTUyBpbnRlcm5hbHMuZ2V0Q3VycmVudEN1cnNvckluZm8oKSBpcyAidHlwZT1Tb3V0
aFdlc3RSZXNpemUgaG90U3BvdD0wLDAiCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVl
CisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9ldmVudHMv
Y3Vyc29ycy9tb3VzZS1jdXJzb3Itb3Zlci1yZXNpemVyLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0
L2V2ZW50cy9jdXJzb3JzL21vdXNlLWN1cnNvci1vdmVyLXJlc2l6ZXIuaHRtbApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li40ZTA2ZWQ0NzU4YThkOGVhZDUwOGYwMWZlODQ2Zjk0YTViODZmYTdiCi0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZmFzdC9ldmVudHMvY3Vyc29ycy9tb3VzZS1jdXJzb3Itb3Zlci1y
ZXNpemVyLmh0bWwKQEAgLTAsMCArMSw1OCBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxo
ZWFkPgorICAgIDxzdHlsZT4KKyAgICAgICAgLnRhcmdldCB7CisgICAgICAgICAgICBtYXJnaW46
IDEwcHg7CisgICAgICAgICAgICBvdmVyZmxvdzogaGlkZGVuOworICAgICAgICAgICAgd2lkdGg6
IDIwMHB4OworICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgIHJlc2l6ZTog
Ym90aDsKKyAgICAgICAgICAgIGJvcmRlcjogMTJweCBzb2xpZCBzaWx2ZXI7CisgICAgICAgIH0K
KyAgICAgICAgI3J0bC10YXJnZXQgeworICAgICAgICAgICAgZGlyZWN0aW9uOiBydGw7CisgICAg
ICAgIH0KKyAgICA8L3N0eWxlPgorICAgIDxzY3JpcHQgc3JjPSIuLi8uLi8uLi9yZXNvdXJjZXMv
anMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorICAgIDxzY3JpcHQgc3JjPSIuLi8uLi8uLi9yZXNv
dXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKyAgICA8c2NyaXB0PgorICAgICAgICB3aW5k
b3cuanNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgY29uc3QgYm9yZGVyV2lkdGggPSAx
MjsKKworICAgICAgICB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcignbG9hZCcsIGFzeW5jICgpID0+
IHsKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uKCJUZXN0cyB0aGF0IHRoZSBtb3VzZSBjdXJzb3Ig
dXBkYXRlcyBvdmVyIHRoZSByZXNpemUgY29udHJvbC4iKTsKKworICAgICAgICAgICAgYXdhaXQg
VUlIZWxwZXIubW92ZU1vdXNlQW5kV2FpdEZvckZyYW1lKDIsIDIpOworICAgICAgICAgICAgc2hv
dWxkQmVFcXVhbFRvU3RyaW5nKCdpbnRlcm5hbHMuZ2V0Q3VycmVudEN1cnNvckluZm8oKScsICd0
eXBlPVBvaW50ZXIgaG90U3BvdD0wLDAnKTsKKworICAgICAgICAgICAgbGV0IHRhcmdldCA9IGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCd0YXJnZXQnKTsKKyAgICAgICAgICAgIGxldCB0YXJnZXRC
b3VuZHMgPSB0YXJnZXQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7CisgICAgICAgICAgICBhd2Fp
dCBVSUhlbHBlci5tb3ZlTW91c2VBbmRXYWl0Rm9yRnJhbWUodGFyZ2V0Qm91bmRzLnJpZ2h0IC0g
Ym9yZGVyV2lkdGggLSA0LCB0YXJnZXRCb3VuZHMuYm90dG9tIC0gYm9yZGVyV2lkdGggLSA0KTsK
KyAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygnaW50ZXJuYWxzLmdldEN1cnJlbnRD
dXJzb3JJbmZvKCknLCAndHlwZT1Tb3V0aEVhc3RSZXNpemUgaG90U3BvdD0wLDAnKTsKKworICAg
ICAgICAgICAgdGFyZ2V0ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3J0bC10YXJnZXQnKTsK
KyAgICAgICAgICAgIHRhcmdldEJvdW5kcyA9IHRhcmdldC5nZXRCb3VuZGluZ0NsaWVudFJlY3Qo
KTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLm1vdmVNb3VzZUFuZFdhaXRGb3JGcmFtZSh0
YXJnZXRCb3VuZHMubGVmdCArIGJvcmRlcldpZHRoICsgNCwgdGFyZ2V0Qm91bmRzLmJvdHRvbSAt
IGJvcmRlcldpZHRoIC0gNCk7CisgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoJ2lu
dGVybmFscy5nZXRDdXJyZW50Q3Vyc29ySW5mbygpJywgJ3R5cGU9U291dGhXZXN0UmVzaXplIGhv
dFNwb3Q9MCwwJyk7CisgICAgICAgICAgICAKKyAgICAgICAgICAgIGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCd0ZXN0LWNvbnRhaW5lcicpLnJlbW92ZSgpOworICAgICAgICAgICAgZmluaXNoSlNU
ZXN0KCk7CisgICAgICAgIH0sIGZhbHNlKTsKKyAgICA8L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5
PgorICAgIDxkaXYgaWQ9InRlc3QtY29udGFpbmVyIj4KKyAgICAgICAgPGRpdiBpZD0idGFyZ2V0
IiBjbGFzcz0idGFyZ2V0Ij4KKyAgICAgICAgICAgIExvcmVtIGlwc3VtIGRvbG9yIHNpdCBhbWV0
LCBjb25zZWN0ZXR1ciBhZGlwaXNpY2luZyBlbGl0LCBzZWQgZG8gZWl1c21vZCB0ZW1wb3IgaW5j
aWRpZHVudCB1dCBsYWJvcmUgZXQgZG9sb3JlIG1hZ25hIGFsaXF1YS4gVXQgZW5pbSBhZCBtaW5p
bSB2ZW5pYW0sIHF1aXMgbm9zdHJ1ZCBleGVyY2l0YXRpb24gdWxsYW1jbyBsYWJvcmlzIG5pc2kg
dXQgYWxpcXVpcCBleCBlYSBjb21tb2RvIGNvbnNlcXVhdC4gRHVpcyBhdXRlIGlydXJlIGRvbG9y
IGluIHJlcHJlaGVuZGVyaXQgaW4gdm9sdXB0YXRlIHZlbGl0IGVzc2UgY2lsbHVtIGRvbG9yZSBl
dSBmdWdpYXQgbnVsbGEgcGFyaWF0dXIuIEV4Y2VwdGV1ciBzaW50IG9jY2FlY2F0IGN1cGlkYXRh
dCBub24gcHJvaWRlbnQsIHN1bnQgaW4gY3VscGEgcXVpIG9mZmljaWEgZGVzZXJ1bnQgbW9sbGl0
IGFuaW0gaWQgZXN0IGxhYm9ydW0uCisgICAgICAgIDwvZGl2PgorCisgICAgICAgIDxkaXYgaWQ9
InJ0bC10YXJnZXQiIGNsYXNzPSJ0YXJnZXQiPgorICAgICAgICAgICAgTG9yZW0gaXBzdW0gZG9s
b3Igc2l0IGFtZXQsIGNvbnNlY3RldHVyIGFkaXBpc2ljaW5nIGVsaXQsIHNlZCBkbyBlaXVzbW9k
IHRlbXBvciBpbmNpZGlkdW50IHV0IGxhYm9yZSBldCBkb2xvcmUgbWFnbmEgYWxpcXVhLiBVdCBl
bmltIGFkIG1pbmltIHZlbmlhbSwgcXVpcyBub3N0cnVkIGV4ZXJjaXRhdGlvbiB1bGxhbWNvIGxh
Ym9yaXMgbmlzaSB1dCBhbGlxdWlwIGV4IGVhIGNvbW1vZG8gY29uc2VxdWF0LiBEdWlzIGF1dGUg
aXJ1cmUgZG9sb3IgaW4gcmVwcmVoZW5kZXJpdCBpbiB2b2x1cHRhdGUgdmVsaXQgZXNzZSBjaWxs
dW0gZG9sb3JlIGV1IGZ1Z2lhdCBudWxsYSBwYXJpYXR1ci4gRXhjZXB0ZXVyIHNpbnQgb2NjYWVj
YXQgY3VwaWRhdGF0IG5vbiBwcm9pZGVudCwgc3VudCBpbiBjdWxwYSBxdWkgb2ZmaWNpYSBkZXNl
cnVudCBtb2xsaXQgYW5pbSBpZCBlc3QgbGFib3J1bS4KKyAgICAgICAgPC9kaXY+CisgICAgPC9k
aXY+CisgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPHNjcmlwdCBzcmM9Ii4uLy4u
Ly4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1s
PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9ldmVudHMvbW91c2UtY3Vyc29yLWNoYW5n
ZS5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9ldmVudHMvbW91c2UtY3Vyc29yLWNoYW5nZS5odG1s
CmluZGV4IGM4NjczYzQ3MDdhMjdiZGFkYjhhM2YyYzhiMTdiYjIxMTY0ZjIxYjEuLmY5ZjIxMzQ2
MGE3YWY3MWQ2OWUwODU5ZDVhNWVmMmNlZGMwNmE2NjkgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3Rz
L2Zhc3QvZXZlbnRzL21vdXNlLWN1cnNvci1jaGFuZ2UuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9m
YXN0L2V2ZW50cy9tb3VzZS1jdXJzb3ItY2hhbmdlLmh0bWwKQEAgLTIsOCArMiw2IEBACiA8aHRt
bD4KIDxoZWFkPgogPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+
PC9zY3JpcHQ+Ci08c3R5bGUgdHlwZT0idGV4dC9jc3MiPgotPC9zdHlsZT4KIDwvaGVhZD4KIDxi
b2R5PgogPHAgaWQ9ImRlc2NyaXB0aW9uIj48L3A+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9w
bGF0Zm9ybS9tYWMtd2syL1Rlc3RFeHBlY3RhdGlvbnMgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9t
YWMtd2syL1Rlc3RFeHBlY3RhdGlvbnMKaW5kZXggZjA0Y2NlZTQwMTUxN2RjNTI3ZGI5YWEyYTgw
YzY0Y2VhZmVhZjEzNC4uYzQzYzc1ZjFkYjNiMTM2MGU4OWY4M2YxY2M5NzEzZmFjODE0ZDNlOSAx
MDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjLXdrMi9UZXN0RXhwZWN0YXRpb25z
CisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy13azIvVGVzdEV4cGVjdGF0aW9ucwpAQCAt
MTEsNiArMTEsNyBAQCBjb21wb3NpdGluZy9sYXllci1jcmVhdGlvbi9jbGlwcGluZy1zY29wZSBb
IFBhc3MgXQogZWRpdGluZy9maW5kIFsgUGFzcyBdCiBlZGl0aW5nL3VuZG8tbWFuYWdlciBbIFBh
c3MgXQogZWRpdGluZy9wYXN0ZWJvYXJkL2RvbS1wYXN0ZSBbIFBhc3MgXQorZmFzdC9ldmVudHMv
Y3Vyc29ycyBbIFBhc3MgXQogZmFzdC9mb3Jtcy9zZWxlY3QvbWFjLXdrMiBbIFBhc3MgXQogZmFz
dC9zYW5kYm94L21hYyBbIFBhc3MgXQogZmFzdC9zY3JvbGxpbmcvbWFjIFsgUGFzcyBdCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9yZXNvdXJjZXMvdWktaGVscGVyLmpzIGIvTGF5b3V0VGVzdHMv
cmVzb3VyY2VzL3VpLWhlbHBlci5qcwppbmRleCAwMDhlMzUyMWMwYWM0ZWJjMzgxOWE3ZDNmODMw
MGYyNzkzOWUyODE1Li4yZDFkZWYyMzlmMDQ4ZTc3OWY4OWQ5NjMyNzMyZjU4ZDg0NGM0MDJlIDEw
MDY0NAotLS0gYS9MYXlvdXRUZXN0cy9yZXNvdXJjZXMvdWktaGVscGVyLmpzCisrKyBiL0xheW91
dFRlc3RzL3Jlc291cmNlcy91aS1oZWxwZXIuanMKQEAgLTI5LDYgKzI5LDEyIEBAIHdpbmRvdy5V
SUhlbHBlciA9IGNsYXNzIFVJSGVscGVyIHsKICAgICAgICAgZXZlbnRTZW5kZXIubW91c2VVcCgp
OwogICAgIH0KIAorICAgIHN0YXRpYyBhc3luYyBtb3ZlTW91c2VBbmRXYWl0Rm9yRnJhbWUoeCwg
eSkKKyAgICB7CisgICAgICAgIGV2ZW50U2VuZGVyLm1vdXNlTW92ZVRvKHgsIHkpOworICAgICAg
ICBhd2FpdCBVSUhlbHBlci5hbmltYXRpb25GcmFtZSgpOworICAgIH0KKwogICAgIHN0YXRpYyBh
c3luYyBtb3VzZVdoZWVsU2Nyb2xsQXQoeCwgeSwgYmVnaW5YLCBiZWdpblksIGRlbHRhWCwgZGVs
dGFZKQogICAgIHsKICAgICAgICAgaWYgKGJlZ2luWCA9PT0gdW5kZWZpbmVkKQo=
</data>

          </attachment>
      

    </bug>

</bugzilla>