<?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>211747</bug_id>
          
          <creation_ts>2020-05-11 14:44:44 -0700</creation_ts>
          <short_desc>[ macOS ] scrollingcoordinator/mac/latching/scrolling-select-should-not-latch-mainframe.html is a flaky failure</short_desc>
          <delta_ts>2020-05-11 19:10: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>Scrolling</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Jacob Uphoff">jacob_uphoff</reporter>
          <assigned_to name="Simon Fraser (smfr)">simon.fraser</assigned_to>
          <cc>cmarcelo</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>fred.wang</cc>
    
    <cc>jamesr</cc>
    
    <cc>luiz</cc>
    
    <cc>simon.fraser</cc>
    
    <cc>thorton</cc>
    
    <cc>tonikitoo</cc>
    
    <cc>webkit-bot-watchers-bugzilla</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1651461</commentid>
    <comment_count>0</comment_count>
    <who name="Jacob Uphoff">jacob_uphoff</who>
    <bug_when>2020-05-11 14:44:44 -0700</bug_when>
    <thetext>scrollingcoordinator/mac/latching/scrolling-select-should-not-latch-mainframe.html

This test is a flaky failure on macOS since it was introduce in commit r261427

History:

https://results.webkit.org/?suite=layout-tests&amp;test=scrollingcoordinator%2Fmac%2Flatching%2Fscrolling-select-should-not-latch-mainframe.html

Diff:

@@ -8,7 +8,7 @@
 PASS window.pageYOffset is 0
 Scrolling up then down in the select
 PASS select.scrollTop &gt; 0 is true
-PASS window.pageYOffset is 0
+FAIL window.pageYOffset should be 0. Was -10.
 PASS successfullyParsed is true
 
 TEST COMPLETE</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1651462</commentid>
    <comment_count>1</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2020-05-11 14:45:13 -0700</bug_when>
    <thetext>&lt;rdar://problem/63106628&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1651466</commentid>
    <comment_count>2</comment_count>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2020-05-11 14:49:19 -0700</bug_when>
    <thetext>Looks like we catch main frame during the rubberband</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1651520</commentid>
    <comment_count>3</comment_count>
      <attachid>399069</attachid>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2020-05-11 16:37:33 -0700</bug_when>
    <thetext>Created attachment 399069
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1651528</commentid>
    <comment_count>4</comment_count>
      <attachid>399070</attachid>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2020-05-11 17:10:34 -0700</bug_when>
    <thetext>Created attachment 399070
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1651547</commentid>
    <comment_count>5</comment_count>
      <attachid>399076</attachid>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2020-05-11 17:40:02 -0700</bug_when>
    <thetext>Created attachment 399076
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1651573</commentid>
    <comment_count>6</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2020-05-11 19:10:14 -0700</bug_when>
    <thetext>Committed r261539: &lt;https://trac.webkit.org/changeset/261539&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 399076.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>399069</attachid>
            <date>2020-05-11 16:37:33 -0700</date>
            <delta_ts>2020-05-11 16:39:53 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-211747-20200511163732.patch</filename>
            <type>text/plain</type>
            <size>20558</size>
            <attacher name="Simon Fraser (smfr)">simon.fraser</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjYxNDk0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNTlmZjQ4OGM5MGYyODFi
MGI5NjI2NjNlNTg3MzY0MWY3OTRmYmRjZS4uNjlmMjMyNzliNDViYmFhYzI5MzljNGFiOWI2MTRj
NzI5MTg1ZjA1ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI0IEBACisyMDIwLTA1LTExICBTaW1v
biBGcmFzZXIgIDxzaW1vbi5mcmFzZXJAYXBwbGUuY29tPgorCisgICAgICAgIFsgbWFjT1MgXSBz
Y3JvbGxpbmdjb29yZGluYXRvci9tYWMvbGF0Y2hpbmcvc2Nyb2xsaW5nLXNlbGVjdC1zaG91bGQt
bm90LWxhdGNoLW1haW5mcmFtZS5odG1sIGlzIGEgZmxha3kgZmFpbHVyZQorICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjExNzQ3CisKKyAgICAgICAgUmV2
aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWRkIGFuIG9wdGlvbiB0byBtb25p
dG9yV2hlZWxFdmVudHMgdG8gcmVzZXQgbGF0Y2hpbmcuCisKKyAgICAgICAgKiBwYWdlL1BhZ2Uu
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6UGFnZTo6c3RhcnRNb25pdG9yaW5nV2hlZWxFdmVudHMp
OgorICAgICAgICAqIHBhZ2UvUGFnZS5oOgorICAgICAgICAqIHBhZ2Uvc2Nyb2xsaW5nL1Njcm9s
bGluZ0Nvb3JkaW5hdG9yLmg6CisgICAgICAgIChXZWJDb3JlOjpTY3JvbGxpbmdDb29yZGluYXRv
cjo6c3RhcnRNb25pdG9yaW5nV2hlZWxFdmVudHMpOgorICAgICAgICAqIHBhZ2Uvc2Nyb2xsaW5n
L21hYy9TY3JvbGxpbmdDb29yZGluYXRvck1hYy5oOgorICAgICAgICAqIHBhZ2Uvc2Nyb2xsaW5n
L21hYy9TY3JvbGxpbmdDb29yZGluYXRvck1hYy5tbToKKyAgICAgICAgKFdlYkNvcmU6OlNjcm9s
bGluZ0Nvb3JkaW5hdG9yTWFjOjpzdGFydE1vbml0b3JpbmdXaGVlbEV2ZW50cyk6CisgICAgICAg
ICogdGVzdGluZy9qcy9XZWJDb3JlVGVzdFN1cHBvcnQuY3BwOgorICAgICAgICAoV2ViQ29yZVRl
c3RTdXBwb3J0Ojptb25pdG9yV2hlZWxFdmVudHMpOgorICAgICAgICAqIHRlc3RpbmcvanMvV2Vi
Q29yZVRlc3RTdXBwb3J0Lmg6CisKIDIwMjAtMDUtMTEgIFNpbW9uIEZyYXNlciAgPHNpbW9uLmZy
YXNlckBhcHBsZS5jb20+CiAKICAgICAgICAgSGF2ZSBTY3JvbGxpbmdUaHJlYWQgdXNlIGEgUnVu
TG9vcCByYXRoZXIgdGhhbiByb2xsaW5nIGl0cyBvd24KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJL
aXQvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKaW5kZXggZjUwMzE3YmYxYmU4
MGQ4ZTFkNDkxNjczODBmNmUwNzlhZjJiZDU3ZC4uYzI1OGMzN2U2ZDA1Njg4Njg5MDc3MjhhZjRh
MDU5NjA0YzAzNTk2OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKKysrIGIv
U291cmNlL1dlYktpdC9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNiBAQAorMjAyMC0wNS0xMSAgU2lt
b24gRnJhc2VyICA8c2ltb24uZnJhc2VyQGFwcGxlLmNvbT4KKworICAgICAgICBbIG1hY09TIF0g
c2Nyb2xsaW5nY29vcmRpbmF0b3IvbWFjL2xhdGNoaW5nL3Njcm9sbGluZy1zZWxlY3Qtc2hvdWxk
LW5vdC1sYXRjaC1tYWluZnJhbWUuaHRtbCBpcyBhIGZsYWt5IGZhaWx1cmUKKyAgICAgICAgaHR0
cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIxMTc0NworCisgICAgICAgIFJl
dmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEFkZCBhbiBvcHRpb24gdG8gbW9u
aXRvcldoZWVsRXZlbnRzIHRvIHJlc2V0IGxhdGNoaW5nLgorCisgICAgICAgICogV2ViUHJvY2Vz
cy9JbmplY3RlZEJ1bmRsZS9BUEkvYy9XS0J1bmRsZVBhZ2UuY3BwOgorICAgICAgICAoV0tCdW5k
bGVQYWdlU3RhcnRNb25pdG9yaW5nU2Nyb2xsT3BlcmF0aW9ucyk6CisgICAgICAgICogV2ViUHJv
Y2Vzcy9JbmplY3RlZEJ1bmRsZS9BUEkvYy9XS0J1bmRsZVBhZ2UuaDoKKwogMjAyMC0wNS0xMSAg
UGVuZyBMaXUgIDxwZW5nLmxpdTZAYXBwbGUuY29tPgogCiAgICAgICAgIEVuYWJsZSB0aGUgbW9j
ayB2aWRlbyBwcmVzZW50YXRpb24gbW9kZSBpbiByZWxhdGVkIGxheW91dCB0ZXN0cyBhbmQgZml4
IHRlc3QgZmFpbHVyZXMKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGFnZS5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2UuY3BwCmluZGV4IDA2ODE4YzgyNTZhN2E0ZDY5MDU2
YzkzMTBjMWMxZDRmZmY2NWQ3YmQuLmZjY2E2NTJkZGI5MDdhNWNjMGNjYzQ1NjM3YjA1YmMzZTJl
YmUyMjkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGFnZS5jcHAKKysrIGIvU291
cmNlL1dlYkNvcmUvcGFnZS9QYWdlLmNwcApAQCAtMjcyMCwxNyArMjcyMCwxOCBAQCBib29sIFBh
Z2U6OmlzTW9uaXRvcmluZ1doZWVsRXZlbnRzKCkgY29uc3QKICAgICByZXR1cm4gISFtX3doZWVs
RXZlbnRUZXN0TW9uaXRvcjsKIH0KIAotdm9pZCBQYWdlOjpzdGFydE1vbml0b3JpbmdXaGVlbEV2
ZW50cygpCit2b2lkIFBhZ2U6OnN0YXJ0TW9uaXRvcmluZ1doZWVsRXZlbnRzKGJvb2wgY2xlYXJM
YXRjaGluZ1N0YXRlKQogewogICAgIGVuc3VyZVdoZWVsRXZlbnRUZXN0TW9uaXRvcigpLmNsZWFy
QWxsVGVzdERlZmVycmFscygpOwogCiAjaWYgRU5BQkxFKFdIRUVMX0VWRU5UX0xBVENISU5HKQot
ICAgIHJlc2V0TGF0Y2hpbmdTdGF0ZSgpOworICAgIGlmIChjbGVhckxhdGNoaW5nU3RhdGUpCisg
ICAgICAgIHJlc2V0TGF0Y2hpbmdTdGF0ZSgpOwogI2VuZGlmCiAKICAgICBpZiAoYXV0byogZnJh
bWVWaWV3ID0gbWFpbkZyYW1lKCkudmlldygpKSB7CiAgICAgICAgIGlmIChtX3Njcm9sbGluZ0Nv
b3JkaW5hdG9yKSB7Ci0gICAgICAgICAgICBtX3Njcm9sbGluZ0Nvb3JkaW5hdG9yLT5zdGFydE1v
bml0b3JpbmdXaGVlbEV2ZW50cygpOworICAgICAgICAgICAgbV9zY3JvbGxpbmdDb29yZGluYXRv
ci0+c3RhcnRNb25pdG9yaW5nV2hlZWxFdmVudHMoY2xlYXJMYXRjaGluZ1N0YXRlKTsKICAgICAg
ICAgICAgIG1fc2Nyb2xsaW5nQ29vcmRpbmF0b3ItPnVwZGF0ZUlzTW9uaXRvcmluZ1doZWVsRXZl
bnRzRm9yRnJhbWVWaWV3KCpmcmFtZVZpZXcpOwogICAgICAgICB9CiAgICAgfQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvcGFnZS9QYWdlLmggYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2Uu
aAppbmRleCAwYTk4MTNhMGY1MWI0ZmQxNDQ5OTExY2UyNWQ0NTUyN2ZiZWU5ODUyLi44MjUyN2Nl
YTBiM2ZhNzAwZDg0YTRhMjlhMzZmNzg0ZWNhNDQ1NDA5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9wYWdlL1BhZ2UuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2UuaApAQCAtNjY4
LDcgKzY2OCw3IEBAIHB1YmxpYzoKIAogICAgIFdFQkNPUkVfRVhQT1JUIFJlZlB0cjxXaGVlbEV2
ZW50VGVzdE1vbml0b3I+IHdoZWVsRXZlbnRUZXN0TW9uaXRvcigpIGNvbnN0OwogICAgIFdFQkNP
UkVfRVhQT1JUIHZvaWQgY2xlYXJXaGVlbEV2ZW50VGVzdE1vbml0b3IoKTsKLSAgICBXRUJDT1JF
X0VYUE9SVCB2b2lkIHN0YXJ0TW9uaXRvcmluZ1doZWVsRXZlbnRzKCk7CisgICAgV0VCQ09SRV9F
WFBPUlQgdm9pZCBzdGFydE1vbml0b3JpbmdXaGVlbEV2ZW50cyhib29sIGNsZWFyTGF0Y2hpbmdT
dGF0ZSk7CiAgICAgV0VCQ09SRV9FWFBPUlQgYm9vbCBpc01vbml0b3JpbmdXaGVlbEV2ZW50cygp
IGNvbnN0OwogCiAjaWYgRU5BQkxFKFZJREVPKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
cGFnZS9zY3JvbGxpbmcvU2Nyb2xsaW5nQ29vcmRpbmF0b3IuaCBiL1NvdXJjZS9XZWJDb3JlL3Bh
Z2Uvc2Nyb2xsaW5nL1Njcm9sbGluZ0Nvb3JkaW5hdG9yLmgKaW5kZXggMWI0MmJhYjM1ODA4Nzdk
NjEzODNiNTZlY2YwMjM2NzQ1NjhkNTMyNS4uMGJmZDE1OTYwMWY5ZjUxNzQ4NzViNWRjNDdiNWU2
OTY0YWJjMGU1YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvU2Ny
b2xsaW5nQ29vcmRpbmF0b3IuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9T
Y3JvbGxpbmdDb29yZGluYXRvci5oCkBAIC0xODUsNyArMTg1LDcgQEAgcHVibGljOgogICAgIEV2
ZW50VHJhY2tpbmdSZWdpb25zIGFic29sdXRlRXZlbnRUcmFja2luZ1JlZ2lvbnMoKSBjb25zdDsK
ICAgICB2aXJ0dWFsIHZvaWQgdXBkYXRlSXNNb25pdG9yaW5nV2hlZWxFdmVudHNGb3JGcmFtZVZp
ZXcoY29uc3QgRnJhbWVWaWV3JikgeyB9CiAKLSAgICB2aXJ0dWFsIHZvaWQgc3RhcnRNb25pdG9y
aW5nV2hlZWxFdmVudHMoKSB7IH0KKyAgICB2aXJ0dWFsIHZvaWQgc3RhcnRNb25pdG9yaW5nV2hl
ZWxFdmVudHMoYm9vbCAvKiBjbGVhckxhdGNoaW5nU3RhdGUgKi8pIHsgfQogICAgIHZpcnR1YWwg
dm9pZCBzdG9wTW9uaXRvcmluZ1doZWVsRXZlbnRzKCkgeyB9CiAKIHByb3RlY3RlZDoKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL21hYy9TY3JvbGxpbmdDb29yZGlu
YXRvck1hYy5oIGIvU291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvbWFjL1Njcm9sbGluZ0Nv
b3JkaW5hdG9yTWFjLmgKaW5kZXggMDg4MDMyYTRjNDhiZDBlMTdjZDFhNDg4ZDVjNWI4NTU0NTk1
OTQ0ZC4uOTNlYTA4MmYwOGVhNDM1YjcyNDBhNzY4NjM5ZjA1MDYwMjlhNjUyNSAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvbWFjL1Njcm9sbGluZ0Nvb3JkaW5hdG9y
TWFjLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvbWFjL1Njcm9sbGluZ0Nv
b3JkaW5hdG9yTWFjLmgKQEAgLTQ4LDcgKzQ4LDcgQEAgcHJpdmF0ZToKIAogICAgIHZvaWQgdXBk
YXRlVGlsZWRTY3JvbGxpbmdJbmRpY2F0b3IoKTsKIAotICAgIHZvaWQgc3RhcnRNb25pdG9yaW5n
V2hlZWxFdmVudHMoKSBmaW5hbDsKKyAgICB2b2lkIHN0YXJ0TW9uaXRvcmluZ1doZWVsRXZlbnRz
KGJvb2wgY2xlYXJMYXRjaGluZ1N0YXRlKSBmaW5hbDsKICAgICB2b2lkIHN0b3BNb25pdG9yaW5n
V2hlZWxFdmVudHMoKSBmaW5hbDsKIH07CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Bh
Z2Uvc2Nyb2xsaW5nL21hYy9TY3JvbGxpbmdDb29yZGluYXRvck1hYy5tbSBiL1NvdXJjZS9XZWJD
b3JlL3BhZ2Uvc2Nyb2xsaW5nL21hYy9TY3JvbGxpbmdDb29yZGluYXRvck1hYy5tbQppbmRleCBm
ZGUzODI3YzdkYjczNmM3N2I2Njg1M2QyYTUyNDljNWI3ZWE2OTBjLi5kZTZiNzQzMTYwZmQ4YTYy
Yzg1M2M3OWQ4N2NlZGNmM2ZmZjFiNjhkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdl
L3Njcm9sbGluZy9tYWMvU2Nyb2xsaW5nQ29vcmRpbmF0b3JNYWMubW0KKysrIGIvU291cmNlL1dl
YkNvcmUvcGFnZS9zY3JvbGxpbmcvbWFjL1Njcm9sbGluZ0Nvb3JkaW5hdG9yTWFjLm1tCkBAIC0x
MjksOSArMTI5LDEwIEBAIHZvaWQgU2Nyb2xsaW5nQ29vcmRpbmF0b3JNYWM6OnVwZGF0ZVRpbGVk
U2Nyb2xsaW5nSW5kaWNhdG9yKCkKICAgICB0aWxlZEJhY2tpbmctPnNldFNjcm9sbGluZ01vZGVJ
bmRpY2F0aW9uKGluZGljYXRvck1vZGUpOwogfQogCi12b2lkIFNjcm9sbGluZ0Nvb3JkaW5hdG9y
TWFjOjpzdGFydE1vbml0b3JpbmdXaGVlbEV2ZW50cygpCit2b2lkIFNjcm9sbGluZ0Nvb3JkaW5h
dG9yTWFjOjpzdGFydE1vbml0b3JpbmdXaGVlbEV2ZW50cyhib29sIGNsZWFyTGF0Y2hpbmdTdGF0
ZSkKIHsKLSAgICBzY3JvbGxpbmdUcmVlKCktPmNsZWFyTGF0Y2hlZE5vZGUoKTsKKyAgICBpZiAo
Y2xlYXJMYXRjaGluZ1N0YXRlKQorICAgICAgICBzY3JvbGxpbmdUcmVlKCktPmNsZWFyTGF0Y2hl
ZE5vZGUoKTsKICAgICBhdXRvIG1vbml0b3IgPSBtX3BhZ2UtPndoZWVsRXZlbnRUZXN0TW9uaXRv
cigpOwogICAgIHNjcm9sbGluZ1RyZWUoKS0+c2V0V2hlZWxFdmVudFRlc3RNb25pdG9yKFdURk1v
dmUobW9uaXRvcikpOwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvdGVzdGluZy9qcy9X
ZWJDb3JlVGVzdFN1cHBvcnQuY3BwIGIvU291cmNlL1dlYkNvcmUvdGVzdGluZy9qcy9XZWJDb3Jl
VGVzdFN1cHBvcnQuY3BwCmluZGV4IDQ1OTVkM2NkNzljNDljZjRhOGRiOTIzOGQ2ZTNjYjIyNTUx
MTM1NTMuLmFjYmE3YTFkYzBkMDAzNjg2NjEzOGEyZDA1M2U0YmQ2ODUyOTlkNDYgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvanMvV2ViQ29yZVRlc3RTdXBwb3J0LmNwcAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL2pzL1dlYkNvcmVUZXN0U3VwcG9ydC5jcHAKQEAgLTc5
LDEzICs3OSwxMyBAQCB2b2lkIHJlc2V0SW50ZXJuYWxzT2JqZWN0KEpTQ29udGV4dFJlZiBjb250
ZXh0KQogICAgIEludGVybmFsU2V0dGluZ3M6OmZyb20ocGFnZSktPnJlc2V0VG9Db25zaXN0ZW50
U3RhdGUoKTsKIH0KIAotdm9pZCBtb25pdG9yV2hlZWxFdmVudHMoV2ViQ29yZTo6RnJhbWUmIGZy
YW1lKQordm9pZCBtb25pdG9yV2hlZWxFdmVudHMoV2ViQ29yZTo6RnJhbWUmIGZyYW1lLCBib29s
IGNsZWFyTGF0Y2hpbmdTdGF0ZSkKIHsKICAgICBQYWdlKiBwYWdlID0gZnJhbWUucGFnZSgpOwog
ICAgIGlmICghcGFnZSkKICAgICAgICAgcmV0dXJuOwogCi0gICAgcGFnZS0+c3RhcnRNb25pdG9y
aW5nV2hlZWxFdmVudHMoKTsKKyAgICBwYWdlLT5zdGFydE1vbml0b3JpbmdXaGVlbEV2ZW50cyhj
bGVhckxhdGNoaW5nU3RhdGUpOwogfQogCiB2b2lkIHNldFdoZWVsRXZlbnRNb25pdG9yVGVzdENh
bGxiYWNrQW5kU3RhcnRNb25pdG9yaW5nKGJvb2wgZXhwZWN0V2hlZWxFbmRPckNhbmNlbCwgYm9v
bCBleHBlY3RNb21lbnR1bUVuZCwgV2ViQ29yZTo6RnJhbWUmIGZyYW1lLCBKU0NvbnRleHRSZWYg
Y29udGV4dCwgSlNPYmplY3RSZWYganNDYWxsYmFja0Z1bmN0aW9uKQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvdGVzdGluZy9qcy9XZWJDb3JlVGVzdFN1cHBvcnQuaCBiL1NvdXJjZS9XZWJD
b3JlL3Rlc3RpbmcvanMvV2ViQ29yZVRlc3RTdXBwb3J0LmgKaW5kZXggMmMzNjE2MzBkZDQ0Y2Y5
ZjQ5NjJlNzk5OWJkMmQ2ZDE1MTk4ZWEzZC4uOGU0MWEwNmZkNTFiNmM0ZGY2MDA2ZWIwNmU4NGYw
MDIwMjRjNzViNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvdGVzdGluZy9qcy9XZWJDb3Jl
VGVzdFN1cHBvcnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL2pzL1dlYkNvcmVUZXN0
U3VwcG9ydC5oCkBAIC00Niw3ICs0Niw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlVGVzdFN1cHBvcnQg
ewogCiB2b2lkIGluamVjdEludGVybmFsc09iamVjdChKU0NvbnRleHRSZWYpIFRFU1RfU1VQUE9S
VF9FWFBPUlQ7CiB2b2lkIHJlc2V0SW50ZXJuYWxzT2JqZWN0KEpTQ29udGV4dFJlZikgVEVTVF9T
VVBQT1JUX0VYUE9SVDsKLXZvaWQgbW9uaXRvcldoZWVsRXZlbnRzKFdlYkNvcmU6OkZyYW1lJikg
VEVTVF9TVVBQT1JUX0VYUE9SVDsKK3ZvaWQgbW9uaXRvcldoZWVsRXZlbnRzKFdlYkNvcmU6OkZy
YW1lJiwgYm9vbCBjbGVhckxhdGNoaW5nU3RhdGUpIFRFU1RfU1VQUE9SVF9FWFBPUlQ7CiB2b2lk
IHNldFdoZWVsRXZlbnRNb25pdG9yVGVzdENhbGxiYWNrQW5kU3RhcnRNb25pdG9yaW5nKGJvb2wg
ZXhwZWN0V2hlZWxFbmRPckNhbmNlbCwgYm9vbCBleHBlY3RNb21lbnR1bUVuZCwgV2ViQ29yZTo6
RnJhbWUmLCBKU0NvbnRleHRSZWYsIEpTT2JqZWN0UmVmKSBURVNUX1NVUFBPUlRfRVhQT1JUOwog
dm9pZCBjbGVhcldoZWVsRXZlbnRUZXN0TW9uaXRvcihXZWJDb3JlOjpGcmFtZSYpIFRFU1RfU1VQ
UE9SVF9FWFBPUlQ7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9Jbmpl
Y3RlZEJ1bmRsZS9BUEkvYy9XS0J1bmRsZVBhZ2UuY3BwIGIvU291cmNlL1dlYktpdC9XZWJQcm9j
ZXNzL0luamVjdGVkQnVuZGxlL0FQSS9jL1dLQnVuZGxlUGFnZS5jcHAKaW5kZXggZTkzOWE0ZTNl
ZDU2N2M2MjUwZWI1MDgxZDJjNGZjZjBiZWRkNWMzMy4uYzhmZDViODcwMjgwNmVlYjhkOWE1YjUw
OTRhYzYxZDhhOTM4M2JjZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0lu
amVjdGVkQnVuZGxlL0FQSS9jL1dLQnVuZGxlUGFnZS5jcHAKKysrIGIvU291cmNlL1dlYktpdC9X
ZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL0FQSS9jL1dLQnVuZGxlUGFnZS5jcHAKQEAgLTY5NCw3
ICs2OTQsNyBAQCB2b2lkIFdLQnVuZGxlUGFnZVNldFVzZVRlc3RpbmdWaWV3cG9ydENvbmZpZ3Vy
YXRpb24oV0tCdW5kbGVQYWdlUmVmIHBhZ2VSZWYsIGJvbwogfQogI2VuZGlmCiAKLXZvaWQgV0tC
dW5kbGVQYWdlU3RhcnRNb25pdG9yaW5nU2Nyb2xsT3BlcmF0aW9ucyhXS0J1bmRsZVBhZ2VSZWYg
cGFnZVJlZikKK3ZvaWQgV0tCdW5kbGVQYWdlU3RhcnRNb25pdG9yaW5nU2Nyb2xsT3BlcmF0aW9u
cyhXS0J1bmRsZVBhZ2VSZWYgcGFnZVJlZiwgYm9vbCBjbGVhckxhdGNoaW5nU3RhdGUpCiB7CiAg
ICAgV2ViS2l0OjpXZWJQYWdlKiB3ZWJQYWdlID0gV2ViS2l0Ojp0b0ltcGwocGFnZVJlZik7CiAg
ICAgV2ViQ29yZTo6UGFnZSogcGFnZSA9IHdlYlBhZ2UgPyB3ZWJQYWdlLT5jb3JlUGFnZSgpIDog
bnVsbHB0cjsKQEAgLTcwMiw3ICs3MDIsNyBAQCB2b2lkIFdLQnVuZGxlUGFnZVN0YXJ0TW9uaXRv
cmluZ1Njcm9sbE9wZXJhdGlvbnMoV0tCdW5kbGVQYWdlUmVmIHBhZ2VSZWYpCiAgICAgaWYgKCFw
YWdlKQogICAgICAgICByZXR1cm47CiAKLSAgICBwYWdlLT5zdGFydE1vbml0b3JpbmdXaGVlbEV2
ZW50cygpOworICAgIHBhZ2UtPnN0YXJ0TW9uaXRvcmluZ1doZWVsRXZlbnRzKGNsZWFyTGF0Y2hp
bmdTdGF0ZSk7CiB9CiAKIGJvb2wgV0tCdW5kbGVQYWdlUmVnaXN0ZXJTY3JvbGxPcGVyYXRpb25D
b21wbGV0aW9uQ2FsbGJhY2soV0tCdW5kbGVQYWdlUmVmIHBhZ2VSZWYsIFdLQnVuZGxlUGFnZVRl
c3ROb3RpZmljYXRpb25DYWxsYmFjayBjYWxsYmFjaywgYm9vbCBleHBlY3RXaGVlbEVuZE9yQ2Fu
Y2VsLCBib29sIGV4cGVjdE1vbWVudHVtRW5kLCB2b2lkKiBjb250ZXh0KQpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL0FQSS9jL1dLQnVuZGxlUGFn
ZS5oIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL0FQSS9jL1dLQnVu
ZGxlUGFnZS5oCmluZGV4IDRmODNiOGVmMGM4MDJiY2MxYjNkN2JjZjk0MmNlYWVhMTQ3ZWFhY2Yu
LmRmNzJlOGUwNTUwODY5OGViOTViNDU5YWE0YzU1OWUwYzhkYjE3MDIgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9BUEkvYy9XS0J1bmRsZVBhZ2Uu
aAorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUvQVBJL2MvV0tC
dW5kbGVQYWdlLmgKQEAgLTExNSw3ICsxMTUsNyBAQCBXS19FWFBPUlQgYm9vbCBXS0J1bmRsZVBh
Z2VJc1VzaW5nRXBoZW1lcmFsU2Vzc2lvbihXS0J1bmRsZVBhZ2VSZWYgcGFnZSk7CiAKIFdLX0VY
UE9SVCBib29sIFdLQnVuZGxlUGFnZUlzQ29udHJvbGxlZEJ5QXV0b21hdGlvbihXS0J1bmRsZVBh
Z2VSZWYgcGFnZSk7CiAKLVdLX0VYUE9SVCB2b2lkIFdLQnVuZGxlUGFnZVN0YXJ0TW9uaXRvcmlu
Z1Njcm9sbE9wZXJhdGlvbnMoV0tCdW5kbGVQYWdlUmVmIHBhZ2UpOworV0tfRVhQT1JUIHZvaWQg
V0tCdW5kbGVQYWdlU3RhcnRNb25pdG9yaW5nU2Nyb2xsT3BlcmF0aW9ucyhXS0J1bmRsZVBhZ2VS
ZWYgcGFnZSwgYm9vbCBjbGVhckxhdGNoaW5nU3RhdGUpOwogCiBXS19FWFBPUlQgV0tTdHJpbmdS
ZWYgV0tCdW5kbGVQYWdlQ29weUdyb3VwSWRlbnRpZmllcihXS0J1bmRsZVBhZ2VSZWYgcGFnZSk7
CiAKZGlmZiAtLWdpdCBhL1Rvb2xzL0NoYW5nZUxvZyBiL1Rvb2xzL0NoYW5nZUxvZwppbmRleCBm
ZGNjZWJiNjQ4MTk1MWJiYjZlYTg3NTU1OWJmMzcyZTZiZmJjY2FmLi44N2Q4MDhiYzg5MjlhOTA5
ZWVhNTM0ZGE4NDYxMjNkNDQ4NDJmZmM2IDEwMDY0NAotLS0gYS9Ub29scy9DaGFuZ2VMb2cKKysr
IGIvVG9vbHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjUgQEAKKzIwMjAtMDUtMTEgIFNpbW9uIEZy
YXNlciAgPHNpbW9uLmZyYXNlckBhcHBsZS5jb20+CisKKyAgICAgICAgWyBtYWNPUyBdIHNjcm9s
bGluZ2Nvb3JkaW5hdG9yL21hYy9sYXRjaGluZy9zY3JvbGxpbmctc2VsZWN0LXNob3VsZC1ub3Qt
bGF0Y2gtbWFpbmZyYW1lLmh0bWwgaXMgYSBmbGFreSBmYWlsdXJlCisgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMTE3NDcKKworICAgICAgICBSZXZpZXdl
ZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBZGQgYW4gb3B0aW9uIHRvIG1vbml0b3JX
aGVlbEV2ZW50cyB0byByZXNldCBsYXRjaGluZy4KKworICAgICAgICAqIER1bXBSZW5kZXJUcmVl
L21hYy9FdmVudFNlbmRpbmdDb250cm9sbGVyLm1tOgorICAgICAgICAoK1tFdmVudFNlbmRpbmdD
b250cm9sbGVyIGlzU2VsZWN0b3JFeGNsdWRlZEZyb21XZWJTY3JpcHQ6XSk6CisgICAgICAgICgr
W0V2ZW50U2VuZGluZ0NvbnRyb2xsZXIgd2ViU2NyaXB0TmFtZUZvclNlbGVjdG9yOl0pOgorICAg
ICAgICAoLVtFdmVudFNlbmRpbmdDb250cm9sbGVyIG1vbml0b3JXaGVlbEV2ZW50c1dpdGhPcHRp
b25zOl0pOgorICAgICAgICAoLVtFdmVudFNlbmRpbmdDb250cm9sbGVyIG1vbml0b3JXaGVlbEV2
ZW50c10pOiBEZWxldGVkLgorICAgICAgICAqIFdlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5k
bGUvQmluZGluZ3MvRXZlbnRTZW5kaW5nQ29udHJvbGxlci5pZGw6CisgICAgICAgICogV2ViS2l0
VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9FdmVudFNlbmRpbmdDb250cm9sbGVyLmNwcDoKKyAg
ICAgICAgKFdUUjo6dG9Nb25pdG9yV2hlZWxFdmVudHNPcHRpb25zKTogV2UgaGF2ZSB0byByZXR1
cm4gYSBwb2ludGVyIHRvIGEgc3RhdGljLCBiZWNhdXNlIHRoZSBnZW5lcmF0ZWQgY29kZQorICAg
ICAgICBkb2Vzbid0IHVzZSBzbWFydCBwb2ludGVycy4KKyAgICAgICAgKFdUUjo6RXZlbnRTZW5k
aW5nQ29udHJvbGxlcjo6bW9uaXRvcldoZWVsRXZlbnRzKToKKyAgICAgICAgKiBXZWJLaXRUZXN0
UnVubmVyL0luamVjdGVkQnVuZGxlL0V2ZW50U2VuZGluZ0NvbnRyb2xsZXIuaDoKKyAgICAgICAg
KFdUUjo6TW9uaXRvcldoZWVsRXZlbnRzT3B0aW9uczo6TW9uaXRvcldoZWVsRXZlbnRzT3B0aW9u
cyk6CisKIDIwMjAtMDUtMTEgIEFsZXggQ2hyaXN0ZW5zZW4gIDxhY2hyaXN0ZW5zZW5Ad2Via2l0
Lm9yZz4KIAogICAgICAgICBBZGQgc29tZSBsb2dzIHRvIGRpYWdub3NlIHdoeSBXZWJLaXRMZWdh
Y3kuQ3Jvc3NQYXJ0aXRpb25GaWxlU2NoZW1lQWNjZXNzIEFQSSB0ZXN0IHRpbWVzIG91dCBpbiBF
V1MKZGlmZiAtLWdpdCBhL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL21hYy9FdmVudFNlbmRpbmdDb250
cm9sbGVyLm1tIGIvVG9vbHMvRHVtcFJlbmRlclRyZWUvbWFjL0V2ZW50U2VuZGluZ0NvbnRyb2xs
ZXIubW0KaW5kZXggYTZkZGI0YzkyZmRjYmUzNDdmNjhmYTE5NmVmMDlmY2NjMWY2M2Q1Ny4uNDhi
NjY3ZGUxNDJiZWM1OWRiYzIyMWNiYWUwMGRjODUwNGRkMmU5MiAxMDA2NDQKLS0tIGEvVG9vbHMv
RHVtcFJlbmRlclRyZWUvbWFjL0V2ZW50U2VuZGluZ0NvbnRyb2xsZXIubW0KKysrIGIvVG9vbHMv
RHVtcFJlbmRlclRyZWUvbWFjL0V2ZW50U2VuZGluZ0NvbnRyb2xsZXIubW0KQEAgLTI1Myw3ICsy
NTMsNyBAQCArIChCT09MKWlzU2VsZWN0b3JFeGNsdWRlZEZyb21XZWJTY3JpcHQ6KFNFTClhU2Vs
ZWN0b3IKICAgICAgICAgICAgIHx8IGFTZWxlY3RvciA9PSBAc2VsZWN0b3IobW91c2VTY3JvbGxC
eVg6YW5kWTopCiAgICAgICAgICAgICB8fCBhU2VsZWN0b3IgPT0gQHNlbGVjdG9yKG1vdXNlU2Ny
b2xsQnlYOmFuZFk6d2l0aFdoZWVsOmFuZE1vbWVudHVtUGhhc2VzOikKICAgICAgICAgICAgIHx8
IGFTZWxlY3RvciA9PSBAc2VsZWN0b3IoY29udGludW91c01vdXNlU2Nyb2xsQnlYOmFuZFk6KQot
ICAgICAgICAgICAgfHwgYVNlbGVjdG9yID09IEBzZWxlY3Rvcihtb25pdG9yV2hlZWxFdmVudHMp
CisgICAgICAgICAgICB8fCBhU2VsZWN0b3IgPT0gQHNlbGVjdG9yKG1vbml0b3JXaGVlbEV2ZW50
c1dpdGhPcHRpb25zOikKICAgICAgICAgICAgIHx8IGFTZWxlY3RvciA9PSBAc2VsZWN0b3IoY2Fs
bEFmdGVyU2Nyb2xsaW5nQ29tcGxldGVzOikKICNpZiBQTEFURk9STShNQUMpCiAgICAgICAgICAg
ICB8fCBhU2VsZWN0b3IgPT0gQHNlbGVjdG9yKGJlZ2luRHJhZ1dpdGhGaWxlczopCkBAIC0zMTgs
NyArMzE4LDcgQEAgKyAoTlNTdHJpbmcgKil3ZWJTY3JpcHROYW1lRm9yU2VsZWN0b3I6KFNFTClh
U2VsZWN0b3IKICAgICAgICAgcmV0dXJuIEAiY29udGludW91c01vdXNlU2Nyb2xsQnkiOwogICAg
IGlmIChhU2VsZWN0b3IgPT0gQHNlbGVjdG9yKHNjYWxlUGFnZUJ5OmF0WDphbmRZOikpCiAgICAg
ICAgIHJldHVybiBAInNjYWxlUGFnZUJ5IjsKLSAgICBpZiAoYVNlbGVjdG9yID09IEBzZWxlY3Rv
cihtb25pdG9yV2hlZWxFdmVudHMpKQorICAgIGlmIChhU2VsZWN0b3IgPT0gQHNlbGVjdG9yKG1v
bml0b3JXaGVlbEV2ZW50c1dpdGhPcHRpb25zOikpCiAgICAgICAgIHJldHVybiBAIm1vbml0b3JX
aGVlbEV2ZW50cyI7CiAgICAgaWYgKGFTZWxlY3RvciA9PSBAc2VsZWN0b3IoY2FsbEFmdGVyU2Ny
b2xsaW5nQ29tcGxldGVzOikpCiAgICAgICAgIHJldHVybiBAImNhbGxBZnRlclNjcm9sbGluZ0Nv
bXBsZXRlcyI7CkBAIC0xMzg3LDcgKzEzODcsNyBAQCAtICh2b2lkKWZpcmVLZXlib2FyZEV2ZW50
c1RvRWxlbWVudDooV2ViU2NyaXB0T2JqZWN0ICopZWxlbWVudCB7CiAgICAgCiB9CiAKLS0gKHZv
aWQpbW9uaXRvcldoZWVsRXZlbnRzCistICh2b2lkKW1vbml0b3JXaGVlbEV2ZW50c1dpdGhPcHRp
b25zOihXZWJTY3JpcHRPYmplY3QqKW9wdGlvbnMKIHsKICNpZiBQTEFURk9STShNQUMpCiAgICAg
V2ViQ29yZTo6RnJhbWUqIGZyYW1lID0gW1ttYWluRnJhbWUgd2ViVmlld10gX21haW5Db3JlRnJh
bWVdOwpAQCAtMTM5Niw3ICsxMzk2LDE3IEBAIC0gKHZvaWQpbW9uaXRvcldoZWVsRXZlbnRzCiAK
ICAgICBfc2VudFdoZWVsUGhhc2VFbmRPckNhbmNlbCA9IE5POwogICAgIF9zZW50TW9tZW50dW1Q
aGFzZUVuZCA9IE5POwotICAgIFdlYkNvcmVUZXN0U3VwcG9ydDo6bW9uaXRvcldoZWVsRXZlbnRz
KCpmcmFtZSk7CisKKyAgICBib29sIHJlc2V0TGF0Y2hpbmcgPSB0cnVlOworCisgICAgaWYgKCFb
b3B0aW9ucyBpc0tpbmRPZkNsYXNzOltXZWJVbmRlZmluZWQgc2VsZl1dKSB7CisgICAgICAgIGlm
IChpZCByZXNldExhdGNoaW5nVmFsdWUgPSBbb3B0aW9ucyB2YWx1ZUZvcktleTpAInJlc2V0TGF0
Y2hpbmciXSkgeworICAgICAgICAgICAgaWYgKFtyZXNldExhdGNoaW5nVmFsdWUgaXNLaW5kT2ZD
bGFzczpbTlNOdW1iZXIgc2VsZl1dKQorICAgICAgICAgICAgICAgIHJlc2V0TGF0Y2hpbmcgPSBb
cmVzZXRMYXRjaGluZ1ZhbHVlIGJvb2xWYWx1ZV07CisgICAgICAgIH0KKyAgICB9CisKKyAgICBX
ZWJDb3JlVGVzdFN1cHBvcnQ6Om1vbml0b3JXaGVlbEV2ZW50cygqZnJhbWUsIHJlc2V0TGF0Y2hp
bmcpOwogI2VuZGlmCiB9CiAKZGlmZiAtLWdpdCBhL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvSW5q
ZWN0ZWRCdW5kbGUvQmluZGluZ3MvRXZlbnRTZW5kaW5nQ29udHJvbGxlci5pZGwgYi9Ub29scy9X
ZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL0JpbmRpbmdzL0V2ZW50U2VuZGluZ0NvbnRy
b2xsZXIuaWRsCmluZGV4IGQ1YjgwMzg0NTllNzZiOTg5MTQ5OThjNjA5YjZmMzYxNjc0MDdkODEu
LjFhYWQwYTZlYzNjOWJhMmVjYTA3OGYyODFkYTcyMmNjOTUyMTYxZWEgMTAwNjQ0Ci0tLSBhL1Rv
b2xzL1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvQmluZGluZ3MvRXZlbnRTZW5kaW5n
Q29udHJvbGxlci5pZGwKKysrIGIvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRs
ZS9CaW5kaW5ncy9FdmVudFNlbmRpbmdDb250cm9sbGVyLmlkbApAQCAtMjMsNiArMjMsMTAgQEAK
ICAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KICAqLwogCitkaWN0aW9uYXJ5IE1v
bml0b3JXaGVlbEV2ZW50c09wdGlvbnMgeworICAgIGJvb2xlYW4gcmVzZXRMYXRjaGluZyA9IHRy
dWU7Cit9OworCiBpbnRlcmZhY2UgRXZlbnRTZW5kaW5nQ29udHJvbGxlciB7CiAgICAgdm9pZCBt
b3VzZURvd24obG9uZyBidXR0b25OdW1iZXIsIG9iamVjdCBtb2RpZmllckFycmF5KTsKICAgICB2
b2lkIG1vdXNlVXAobG9uZyBidXR0b25OdW1iZXIsIG9iamVjdCBtb2RpZmllckFycmF5KTsKQEAg
LTUwLDcgKzU0LDcgQEAgaW50ZXJmYWNlIEV2ZW50U2VuZGluZ0NvbnRyb2xsZXIgewogICAgIHZv
aWQgem9vbVBhZ2VPdXQoKTsKICAgICB2b2lkIHNjYWxlUGFnZUJ5KGRvdWJsZSBzY2FsZSwgZG91
YmxlIHgsIGRvdWJsZSB5KTsKIAotICAgIHZvaWQgbW9uaXRvcldoZWVsRXZlbnRzKCk7CisgICAg
dm9pZCBtb25pdG9yV2hlZWxFdmVudHMob3B0aW9uYWwgTW9uaXRvcldoZWVsRXZlbnRzT3B0aW9u
cyBvcHRpb25zKTsKICAgICB2b2lkIGNhbGxBZnRlclNjcm9sbGluZ0NvbXBsZXRlcyhvYmplY3Qg
ZnVuY3Rpb25DYWxsYmFjayk7CiAKICNpZiBkZWZpbmVkKEVOQUJMRV9UT1VDSF9FVkVOVFMpICYm
IEVOQUJMRV9UT1VDSF9FVkVOVFMKZGlmZiAtLWdpdCBhL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIv
SW5qZWN0ZWRCdW5kbGUvRXZlbnRTZW5kaW5nQ29udHJvbGxlci5jcHAgYi9Ub29scy9XZWJLaXRU
ZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL0V2ZW50U2VuZGluZ0NvbnRyb2xsZXIuY3BwCmluZGV4
IDBjMWYwNjczMzdiZjc5OWMzMTM3OTY5Mjk0OWM0ZWU4NTM2ZjZlNDguLjNhZTMwZTkyNWE3YzE0
ZTA3MmE0NjZjMDRhNDQyOGIxMzc2NTlmMDggMTAwNjQ0Ci0tLSBhL1Rvb2xzL1dlYktpdFRlc3RS
dW5uZXIvSW5qZWN0ZWRCdW5kbGUvRXZlbnRTZW5kaW5nQ29udHJvbGxlci5jcHAKKysrIGIvVG9v
bHMvV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9FdmVudFNlbmRpbmdDb250cm9sbGVy
LmNwcApAQCAtNjEwLDEzICs2MTAsMzAgQEAgdm9pZCBFdmVudFNlbmRpbmdDb250cm9sbGVyOjpz
Y2FsZVBhZ2VCeShkb3VibGUgc2NhbGUsIGRvdWJsZSB4LCBkb3VibGUgeSkKICAgICBXS0J1bmRs
ZVBhZ2VTZXRTY2FsZUF0T3JpZ2luKEluamVjdGVkQnVuZGxlOjpzaW5nbGV0b24oKS5wYWdlKCkt
PnBhZ2UoKSwgc2NhbGUsIG9yaWdpbik7CiB9CiAKLXZvaWQgRXZlbnRTZW5kaW5nQ29udHJvbGxl
cjo6bW9uaXRvcldoZWVsRXZlbnRzKCkKK01vbml0b3JXaGVlbEV2ZW50c09wdGlvbnMqIHRvTW9u
aXRvcldoZWVsRXZlbnRzT3B0aW9ucyhKU0NvbnRleHRSZWYgY29udGV4dCwgSlNWYWx1ZVJlZiBh
cmd1bWVudCkKK3sKKyAgICBpZiAoIUpTVmFsdWVJc09iamVjdChjb250ZXh0LCBhcmd1bWVudCkp
CisgICAgICAgIHJldHVybiBudWxscHRyOworCisgICAgYXV0byByZXNldExhdGNoaW5nU3RyaW5n
ID0gYWRvcHQoSlNTdHJpbmdDcmVhdGVXaXRoVVRGOENTdHJpbmcoInJlc2V0TGF0Y2hpbmciKSk7
CisgICAgYXV0byByZXNldExhdGNoaW5nVmFsdWUgPSBKU09iamVjdEdldFByb3BlcnR5KGNvbnRl
eHQsIEpTVmFsdWVUb09iamVjdChjb250ZXh0LCBhcmd1bWVudCwgbnVsbHB0ciksIHJlc2V0TGF0
Y2hpbmdTdHJpbmcuZ2V0KCksIG51bGxwdHIpOworCisgICAgYXV0byByZXNldExhdGNoaW5nID0g
dHJ1ZTsKKyAgICBpZiAocmVzZXRMYXRjaGluZ1ZhbHVlICYmIEpTVmFsdWVJc0Jvb2xlYW4oY29u
dGV4dCwgcmVzZXRMYXRjaGluZ1ZhbHVlKSkKKyAgICAgICAgcmVzZXRMYXRjaGluZyA9IEpTVmFs
dWVUb0Jvb2xlYW4oY29udGV4dCwgcmVzZXRMYXRjaGluZ1ZhbHVlKTsKKworICAgIHN0YXRpYyBN
b25pdG9yV2hlZWxFdmVudHNPcHRpb25zIG9wdGlvbnM7CisgICAgb3B0aW9ucy5yZXNldExhdGNo
aW5nID0gcmVzZXRMYXRjaGluZzsKKyAgICByZXR1cm4gJm9wdGlvbnM7Cit9CisKK3ZvaWQgRXZl
bnRTZW5kaW5nQ29udHJvbGxlcjo6bW9uaXRvcldoZWVsRXZlbnRzKE1vbml0b3JXaGVlbEV2ZW50
c09wdGlvbnMqIG9wdGlvbnMpCiB7CiAgICAgV0tCdW5kbGVQYWdlUmVmIHBhZ2UgPSBJbmplY3Rl
ZEJ1bmRsZTo6c2luZ2xldG9uKCkucGFnZSgpLT5wYWdlKCk7CiAgICAgCiAgICAgbV9zZW50V2hl
ZWxQaGFzZUVuZE9yQ2FuY2VsID0gZmFsc2U7CiAgICAgbV9zZW50V2hlZWxNb21lbnR1bVBoYXNl
RW5kID0gZmFsc2U7Ci0gICAgV0tCdW5kbGVQYWdlU3RhcnRNb25pdG9yaW5nU2Nyb2xsT3BlcmF0
aW9ucyhwYWdlKTsKKyAgICBXS0J1bmRsZVBhZ2VTdGFydE1vbml0b3JpbmdTY3JvbGxPcGVyYXRp
b25zKHBhZ2UsIG9wdGlvbnMgPyBvcHRpb25zLT5yZXNldExhdGNoaW5nIDogdHJ1ZSk7CiB9CiAK
IHN0cnVjdCBTY3JvbGxDb21wbGV0aW9uQ2FsbGJhY2tEYXRhIHsKZGlmZiAtLWdpdCBhL1Rvb2xz
L1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvRXZlbnRTZW5kaW5nQ29udHJvbGxlci5o
IGIvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9FdmVudFNlbmRpbmdDb250
cm9sbGVyLmgKaW5kZXggNTIzMjZhYzg1MDgyZDBjMmRlOWFiZTk1NWYyNjE4NTBlYzg5ODMwNy4u
OWEyYWZkOTU4Y2NkNzBlY2QyMWVjNGUzYjNmZWM0Y2Y3Y2M4NWJhOCAxMDA2NDQKLS0tIGEvVG9v
bHMvV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9FdmVudFNlbmRpbmdDb250cm9sbGVy
LmgKKysrIGIvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9FdmVudFNlbmRp
bmdDb250cm9sbGVyLmgKQEAgLTMyLDYgKzMyLDE2IEBACiAKIG5hbWVzcGFjZSBXVFIgewogCitz
dHJ1Y3QgTW9uaXRvcldoZWVsRXZlbnRzT3B0aW9ucyB7CisgICAgTW9uaXRvcldoZWVsRXZlbnRz
T3B0aW9ucyhib29sIHJlc2V0TGF0Y2hpbmcgPSB0cnVlKQorICAgICAgICA6IHJlc2V0TGF0Y2hp
bmcocmVzZXRMYXRjaGluZykKKyAgICB7IH0KKworICAgIGJvb2wgcmVzZXRMYXRjaGluZyB7IHRy
dWUgfTsKK307CisKK01vbml0b3JXaGVlbEV2ZW50c09wdGlvbnMqIHRvTW9uaXRvcldoZWVsRXZl
bnRzT3B0aW9ucyhKU0NvbnRleHRSZWYsIEpTVmFsdWVSZWYpOworCiBjbGFzcyBFdmVudFNlbmRp
bmdDb250cm9sbGVyIDogcHVibGljIEpTV3JhcHBhYmxlIHsKIHB1YmxpYzoKICAgICBzdGF0aWMg
UmVmPEV2ZW50U2VuZGluZ0NvbnRyb2xsZXI+IGNyZWF0ZSgpOwpAQCAtNTYsNyArNjYsOCBAQCBw
dWJsaWM6CiAgICAgSlNWYWx1ZVJlZiBjb250ZXh0Q2xpY2soKTsKICAgICB2b2lkIGxlYXBGb3J3
YXJkKGludCBtaWxsaXNlY29uZHMpOwogICAgIHZvaWQgc2NoZWR1bGVBc3luY2hyb25vdXNDbGlj
aygpOwotICAgIHZvaWQgbW9uaXRvcldoZWVsRXZlbnRzKCk7CisKKyAgICB2b2lkIG1vbml0b3JX
aGVlbEV2ZW50cyhNb25pdG9yV2hlZWxFdmVudHNPcHRpb25zKik7CiAgICAgdm9pZCBjYWxsQWZ0
ZXJTY3JvbGxpbmdDb21wbGV0ZXMoSlNWYWx1ZVJlZiBmdW5jdGlvbkNhbGxiYWNrKTsKIAogICAg
IHZvaWQga2V5RG93bihKU1N0cmluZ1JlZiBrZXksIEpTVmFsdWVSZWYgbW9kaWZpZXJBcnJheSwg
aW50IGxvY2F0aW9uKTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91
dFRlc3RzL0NoYW5nZUxvZwppbmRleCA2NDQ3Mzg5OWY3YzQzYmY2MjQ5NDBhNjg2NzRlNzRjNWE3
Njg1ZThiLi5lZGYyNDFiMWRiM2E2OTBiNGJlYzQ4Y2Q2NmM2M2QzNmE4MThjN2ZjIDEwMDY0NAot
LS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBA
IC0xLDMgKzEsMTQgQEAKKzIwMjAtMDUtMTEgIFNpbW9uIEZyYXNlciAgPHNpbW9uLmZyYXNlckBh
cHBsZS5jb20+CisKKyAgICAgICAgWyBtYWNPUyBdIHNjcm9sbGluZ2Nvb3JkaW5hdG9yL21hYy9s
YXRjaGluZy9zY3JvbGxpbmctc2VsZWN0LXNob3VsZC1ub3QtbGF0Y2gtbWFpbmZyYW1lLmh0bWwg
aXMgYSBmbGFreSBmYWlsdXJlCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD0yMTE3NDcKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4K
KworICAgICAgICBDaGFuZ2UgdGhlIHRlc3QgdG8gdXNlIG1vbml0b3JXaGVlbEV2ZW50cygpIGZv
ciBlYWNoIHBoYXNlLgorCisgICAgICAgICogc2Nyb2xsaW5nY29vcmRpbmF0b3IvbWFjL2xhdGNo
aW5nL3Njcm9sbGluZy1zZWxlY3Qtc2hvdWxkLW5vdC1sYXRjaC1tYWluZnJhbWUuaHRtbDoKKwog
MjAyMC0wNS0xMSAgUGVuZyBMaXUgIDxwZW5nLmxpdTZAYXBwbGUuY29tPgogCiAgICAgICAgIEVu
YWJsZSB0aGUgbW9jayB2aWRlbyBwcmVzZW50YXRpb24gbW9kZSBpbiByZWxhdGVkIGxheW91dCB0
ZXN0cyBhbmQgZml4IHRlc3QgZmFpbHVyZXMKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3Njcm9s
bGluZ2Nvb3JkaW5hdG9yL21hYy9sYXRjaGluZy9zY3JvbGxpbmctc2VsZWN0LXNob3VsZC1ub3Qt
bGF0Y2gtbWFpbmZyYW1lLmh0bWwgYi9MYXlvdXRUZXN0cy9zY3JvbGxpbmdjb29yZGluYXRvci9t
YWMvbGF0Y2hpbmcvc2Nyb2xsaW5nLXNlbGVjdC1zaG91bGQtbm90LWxhdGNoLW1haW5mcmFtZS5o
dG1sCmluZGV4IDkyY2RhMTAyMDcwY2MxMThkOTI5Y2VlYTJhYTBmODRlMTNlODBhZjQuLjYxM2Ji
NjA0NTc2MTFlMjJkYzU5YWI0YTZhNjNjNWRmNzhjYTc4YTAgMTAwNjQ0Ci0tLSBhL0xheW91dFRl
c3RzL3Njcm9sbGluZ2Nvb3JkaW5hdG9yL21hYy9sYXRjaGluZy9zY3JvbGxpbmctc2VsZWN0LXNo
b3VsZC1ub3QtbGF0Y2gtbWFpbmZyYW1lLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvc2Nyb2xsaW5n
Y29vcmRpbmF0b3IvbWFjL2xhdGNoaW5nL3Njcm9sbGluZy1zZWxlY3Qtc2hvdWxkLW5vdC1sYXRj
aC1tYWluZnJhbWUuaHRtbApAQCAtMzUsNyArMzUsNiBAQAogICAgICAgICAgICAgY29uc3QgeCA9
IHNlbGVjdEJvdW5kcy5sZWZ0ICsgMTA7CiAgICAgICAgICAgICBjb25zdCB5ID0gc2VsZWN0Qm91
bmRzLnRvcCArIDEwOwogCi0gICAgICAgICAgICAvLyBXZSBoYXZlIHRvIHNlbmQgYWxsIHRoZXNl
IGFzIG9uZSBzZXF1ZW5jZSwgYmVjYXVzZSBtb25pdG9yV2hlZWxFdmVudHMoKSBjbGVhcnMgdGhl
IGxhdGNoaW5nIHN0YXRlLgogICAgICAgICAgICAgZXZlbnRTZW5kZXIubW9uaXRvcldoZWVsRXZl
bnRzKCk7CiAgICAgICAgICAgICBldmVudFNlbmRlci5tb3VzZU1vdmVUbyh4LCB5KTsKIApAQCAt
NDUsMTYgKzQ0LDE4IEBACiAgICAgICAgICAgICBldmVudFNlbmRlci5tb3VzZVNjcm9sbEJ5V2l0
aFdoZWVsQW5kTW9tZW50dW1QaGFzZXMoMCwgMjAsICJjaGFuZ2VkIiwgIm5vbmUiKTsKICAgICAg
ICAgICAgIGV2ZW50U2VuZGVyLm1vdXNlU2Nyb2xsQnlXaXRoV2hlZWxBbmRNb21lbnR1bVBoYXNl
cygwLCAwLCAiZW5kZWQiLCAibm9uZSIpOwogCi0gICAgICAgICAgICBhd2FpdCBVSUhlbHBlci5h
bmltYXRpb25GcmFtZSgpOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIud2FpdEZvclNjcm9s
bENvbXBsZXRpb24oKTsKIAogICAgICAgICAgICAgLy8gU2Nyb2xsIHVwIGFnYWluIHRvIHRyaWdn
ZXIgYSBkb2N1bWVudCBib3VuY2UuCisgICAgICAgICAgICBldmVudFNlbmRlci5tb25pdG9yV2hl
ZWxFdmVudHMoeyByZXNldExhdGNoaW5nOiBmYWxzZSB9KTsKICAgICAgICAgICAgIGV2ZW50U2Vu
ZGVyLm1vdXNlU2Nyb2xsQnlXaXRoV2hlZWxBbmRNb21lbnR1bVBoYXNlcygwLCAxLCAiYmVnYW4i
LCAibm9uZSIpOwogICAgICAgICAgICAgZXZlbnRTZW5kZXIubW91c2VTY3JvbGxCeVdpdGhXaGVl
bEFuZE1vbWVudHVtUGhhc2VzKDAsIDIwLCAiY2hhbmdlZCIsICJub25lIik7CiAgICAgICAgICAg
ICBldmVudFNlbmRlci5tb3VzZVNjcm9sbEJ5V2l0aFdoZWVsQW5kTW9tZW50dW1QaGFzZXMoMCwg
MCwgImVuZGVkIiwgIm5vbmUiKTsKIAotICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYW5pbWF0
aW9uRnJhbWUoKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLndhaXRGb3JTY3JvbGxDb21w
bGV0aW9uKCk7CiAKICAgICAgICAgICAgIC8vIFNjcm9sbCBkb3duLiBUaGlzIHNob3VsZCBzY3Jv
bGwgdGhlIHNlbGVjdCwgbm90IHRoZSBkb2N1bWVudC4KKyAgICAgICAgICAgIGV2ZW50U2VuZGVy
Lm1vbml0b3JXaGVlbEV2ZW50cyh7IHJlc2V0TGF0Y2hpbmc6IGZhbHNlIH0pOwogICAgICAgICAg
ICAgZXZlbnRTZW5kZXIubW91c2VTY3JvbGxCeVdpdGhXaGVlbEFuZE1vbWVudHVtUGhhc2VzKDAs
IC0yLCAiYmVnYW4iLCAibm9uZSIpOwogICAgICAgICAgICAgZXZlbnRTZW5kZXIubW91c2VTY3Jv
bGxCeVdpdGhXaGVlbEFuZE1vbWVudHVtUGhhc2VzKDAsIC0yMCwgImNoYW5nZWQiLCAibm9uZSIp
OwogICAgICAgICAgICAgZXZlbnRTZW5kZXIubW91c2VTY3JvbGxCeVdpdGhXaGVlbEFuZE1vbWVu
dHVtUGhhc2VzKDAsIC0yMCwgImNoYW5nZWQiLCAibm9uZSIpOwo=
</data>
<flag name="review"
          id="414491"
          type_id="1"
          status="+"
          setter="thorton"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>399070</attachid>
            <date>2020-05-11 17:10:34 -0700</date>
            <delta_ts>2020-05-11 17:40:23 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-211747-20200511171033.patch</filename>
            <type>text/plain</type>
            <size>21644</size>
            <attacher name="Simon Fraser (smfr)">simon.fraser</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjYxNTA0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMjI5MTc1MzZkOGZiMjgw
NDA3MTVjN2FiYmY2MDVhN2E0Y2U5Njg0Yy4uY2Q4MTlkNWI5MzA1ZjIxOWI2ZTcwNmI5ZjE1OTM0
ZTY0NWQyMGUxMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI0IEBACisyMDIwLTA1LTExICBTaW1v
biBGcmFzZXIgIDxzaW1vbi5mcmFzZXJAYXBwbGUuY29tPgorCisgICAgICAgIFsgbWFjT1MgXSBz
Y3JvbGxpbmdjb29yZGluYXRvci9tYWMvbGF0Y2hpbmcvc2Nyb2xsaW5nLXNlbGVjdC1zaG91bGQt
bm90LWxhdGNoLW1haW5mcmFtZS5odG1sIGlzIGEgZmxha3kgZmFpbHVyZQorICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjExNzQ3CisKKyAgICAgICAgUmV2
aWV3ZWQgYnkgVGltIEhvcnRvbi4KKworICAgICAgICBBZGQgYW4gb3B0aW9uIHRvIG1vbml0b3JX
aGVlbEV2ZW50cyB0byByZXNldCBsYXRjaGluZy4KKworICAgICAgICAqIHBhZ2UvUGFnZS5jcHA6
CisgICAgICAgIChXZWJDb3JlOjpQYWdlOjpzdGFydE1vbml0b3JpbmdXaGVlbEV2ZW50cyk6Cisg
ICAgICAgICogcGFnZS9QYWdlLmg6CisgICAgICAgICogcGFnZS9zY3JvbGxpbmcvU2Nyb2xsaW5n
Q29vcmRpbmF0b3IuaDoKKyAgICAgICAgKFdlYkNvcmU6OlNjcm9sbGluZ0Nvb3JkaW5hdG9yOjpz
dGFydE1vbml0b3JpbmdXaGVlbEV2ZW50cyk6CisgICAgICAgICogcGFnZS9zY3JvbGxpbmcvbWFj
L1Njcm9sbGluZ0Nvb3JkaW5hdG9yTWFjLmg6CisgICAgICAgICogcGFnZS9zY3JvbGxpbmcvbWFj
L1Njcm9sbGluZ0Nvb3JkaW5hdG9yTWFjLm1tOgorICAgICAgICAoV2ViQ29yZTo6U2Nyb2xsaW5n
Q29vcmRpbmF0b3JNYWM6OnN0YXJ0TW9uaXRvcmluZ1doZWVsRXZlbnRzKToKKyAgICAgICAgKiB0
ZXN0aW5nL2pzL1dlYkNvcmVUZXN0U3VwcG9ydC5jcHA6CisgICAgICAgIChXZWJDb3JlVGVzdFN1
cHBvcnQ6Om1vbml0b3JXaGVlbEV2ZW50cyk6CisgICAgICAgICogdGVzdGluZy9qcy9XZWJDb3Jl
VGVzdFN1cHBvcnQuaDoKKwogMjAyMC0wNS0xMSAgUGVuZyBMaXUgIDxwZW5nLmxpdTZAYXBwbGUu
Y29tPgogCiAgICAgICAgIEVuYWJsZSB0aGUgbW9jayB2aWRlbyBwcmVzZW50YXRpb24gbW9kZSBp
biByZWxhdGVkIGxheW91dCB0ZXN0cyBhbmQgZml4IHRlc3QgZmFpbHVyZXMKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKaW5kZXgg
YzBiOTk1Y2NlYWZiMjI2ZmFkOGJhODQ5NjAwZTM3MzUzMjlkZWRkOS4uODYxZTVjODMzNzFiOTM1
NDgyMjI0MzI1NDRjOGNmNjMxNmExM2U3NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9DaGFu
Z2VMb2cKKysrIGIvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNiBAQAorMjAy
MC0wNS0xMSAgU2ltb24gRnJhc2VyICA8c2ltb24uZnJhc2VyQGFwcGxlLmNvbT4KKworICAgICAg
ICBbIG1hY09TIF0gc2Nyb2xsaW5nY29vcmRpbmF0b3IvbWFjL2xhdGNoaW5nL3Njcm9sbGluZy1z
ZWxlY3Qtc2hvdWxkLW5vdC1sYXRjaC1tYWluZnJhbWUuaHRtbCBpcyBhIGZsYWt5IGZhaWx1cmUK
KyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIxMTc0Nwor
CisgICAgICAgIFJldmlld2VkIGJ5IFRpbSBIb3J0b24uCisKKyAgICAgICAgQWRkIGFuIG9wdGlv
biB0byBtb25pdG9yV2hlZWxFdmVudHMgdG8gcmVzZXQgbGF0Y2hpbmcuCisKKyAgICAgICAgKiBX
ZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL0FQSS9jL1dLQnVuZGxlUGFnZS5jcHA6CisgICAgICAg
IChXS0J1bmRsZVBhZ2VTdGFydE1vbml0b3JpbmdTY3JvbGxPcGVyYXRpb25zKToKKyAgICAgICAg
KiBXZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL0FQSS9jL1dLQnVuZGxlUGFnZS5oOgorCiAyMDIw
LTA1LTExICBXZW5zb24gSHNpZWggIDx3ZW5zb25faHNpZWhAYXBwbGUuY29tPgogCiAgICAgICAg
IFJlbW92ZSBzb21lIHVubmVjZXNzYXJ5IGluZGlyZWN0aW9uIHdoZW4gZ2V0dGluZyBEb2N1bWVu
dOKAmXMgRWRpdG9yCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2UuY3BwIGIv
U291cmNlL1dlYkNvcmUvcGFnZS9QYWdlLmNwcAppbmRleCAwNjgxOGM4MjU2YTdhNGQ2OTA1NmM5
MzEwYzFjMWQ0ZmZmNjVkN2JkLi5mY2NhNjUyZGRiOTA3YTVjYzBjY2M0NTYzN2IwNWJjM2UyZWJl
MjI5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2UuY3BwCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL3BhZ2UvUGFnZS5jcHAKQEAgLTI3MjAsMTcgKzI3MjAsMTggQEAgYm9vbCBQYWdl
Ojppc01vbml0b3JpbmdXaGVlbEV2ZW50cygpIGNvbnN0CiAgICAgcmV0dXJuICEhbV93aGVlbEV2
ZW50VGVzdE1vbml0b3I7CiB9CiAKLXZvaWQgUGFnZTo6c3RhcnRNb25pdG9yaW5nV2hlZWxFdmVu
dHMoKQordm9pZCBQYWdlOjpzdGFydE1vbml0b3JpbmdXaGVlbEV2ZW50cyhib29sIGNsZWFyTGF0
Y2hpbmdTdGF0ZSkKIHsKICAgICBlbnN1cmVXaGVlbEV2ZW50VGVzdE1vbml0b3IoKS5jbGVhckFs
bFRlc3REZWZlcnJhbHMoKTsKIAogI2lmIEVOQUJMRShXSEVFTF9FVkVOVF9MQVRDSElORykKLSAg
ICByZXNldExhdGNoaW5nU3RhdGUoKTsKKyAgICBpZiAoY2xlYXJMYXRjaGluZ1N0YXRlKQorICAg
ICAgICByZXNldExhdGNoaW5nU3RhdGUoKTsKICNlbmRpZgogCiAgICAgaWYgKGF1dG8qIGZyYW1l
VmlldyA9IG1haW5GcmFtZSgpLnZpZXcoKSkgewogICAgICAgICBpZiAobV9zY3JvbGxpbmdDb29y
ZGluYXRvcikgewotICAgICAgICAgICAgbV9zY3JvbGxpbmdDb29yZGluYXRvci0+c3RhcnRNb25p
dG9yaW5nV2hlZWxFdmVudHMoKTsKKyAgICAgICAgICAgIG1fc2Nyb2xsaW5nQ29vcmRpbmF0b3It
PnN0YXJ0TW9uaXRvcmluZ1doZWVsRXZlbnRzKGNsZWFyTGF0Y2hpbmdTdGF0ZSk7CiAgICAgICAg
ICAgICBtX3Njcm9sbGluZ0Nvb3JkaW5hdG9yLT51cGRhdGVJc01vbml0b3JpbmdXaGVlbEV2ZW50
c0ZvckZyYW1lVmlldygqZnJhbWVWaWV3KTsKICAgICAgICAgfQogICAgIH0KZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGFnZS5oIGIvU291cmNlL1dlYkNvcmUvcGFnZS9QYWdlLmgK
aW5kZXggMGE5ODEzYTBmNTFiNGZkMTQ0OTkxMWNlMjVkNDU1MjdmYmVlOTg1Mi4uODI1MjdjZWEw
YjNmYTcwMGQ4NGE0YTI5YTM2Zjc4NGVjYTQ0NTQwOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvcGFnZS9QYWdlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9QYWdlLmgKQEAgLTY2OCw3
ICs2NjgsNyBAQCBwdWJsaWM6CiAKICAgICBXRUJDT1JFX0VYUE9SVCBSZWZQdHI8V2hlZWxFdmVu
dFRlc3RNb25pdG9yPiB3aGVlbEV2ZW50VGVzdE1vbml0b3IoKSBjb25zdDsKICAgICBXRUJDT1JF
X0VYUE9SVCB2b2lkIGNsZWFyV2hlZWxFdmVudFRlc3RNb25pdG9yKCk7Ci0gICAgV0VCQ09SRV9F
WFBPUlQgdm9pZCBzdGFydE1vbml0b3JpbmdXaGVlbEV2ZW50cygpOworICAgIFdFQkNPUkVfRVhQ
T1JUIHZvaWQgc3RhcnRNb25pdG9yaW5nV2hlZWxFdmVudHMoYm9vbCBjbGVhckxhdGNoaW5nU3Rh
dGUpOwogICAgIFdFQkNPUkVfRVhQT1JUIGJvb2wgaXNNb25pdG9yaW5nV2hlZWxFdmVudHMoKSBj
b25zdDsKIAogI2lmIEVOQUJMRShWSURFTykKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Bh
Z2Uvc2Nyb2xsaW5nL1Njcm9sbGluZ0Nvb3JkaW5hdG9yLmggYi9Tb3VyY2UvV2ViQ29yZS9wYWdl
L3Njcm9sbGluZy9TY3JvbGxpbmdDb29yZGluYXRvci5oCmluZGV4IDFiNDJiYWIzNTgwODc3ZDYx
MzgzYjU2ZWNmMDIzNjc0NTY4ZDUzMjUuLjBiZmQxNTk2MDFmOWY1MTc0ODc1YjVkYzQ3YjVlNjk2
NGFiYzBlNWEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL1Njcm9s
bGluZ0Nvb3JkaW5hdG9yLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvU2Ny
b2xsaW5nQ29vcmRpbmF0b3IuaApAQCAtMTg1LDcgKzE4NSw3IEBAIHB1YmxpYzoKICAgICBFdmVu
dFRyYWNraW5nUmVnaW9ucyBhYnNvbHV0ZUV2ZW50VHJhY2tpbmdSZWdpb25zKCkgY29uc3Q7CiAg
ICAgdmlydHVhbCB2b2lkIHVwZGF0ZUlzTW9uaXRvcmluZ1doZWVsRXZlbnRzRm9yRnJhbWVWaWV3
KGNvbnN0IEZyYW1lVmlldyYpIHsgfQogCi0gICAgdmlydHVhbCB2b2lkIHN0YXJ0TW9uaXRvcmlu
Z1doZWVsRXZlbnRzKCkgeyB9CisgICAgdmlydHVhbCB2b2lkIHN0YXJ0TW9uaXRvcmluZ1doZWVs
RXZlbnRzKGJvb2wgLyogY2xlYXJMYXRjaGluZ1N0YXRlICovKSB7IH0KICAgICB2aXJ0dWFsIHZv
aWQgc3RvcE1vbml0b3JpbmdXaGVlbEV2ZW50cygpIHsgfQogCiBwcm90ZWN0ZWQ6CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9tYWMvU2Nyb2xsaW5nQ29vcmRpbmF0
b3JNYWMuaCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL21hYy9TY3JvbGxpbmdDb29y
ZGluYXRvck1hYy5oCmluZGV4IDA4ODAzMmE0YzQ4YmQwZTE3Y2QxYTQ4OGQ1YzViODU1NDU5NTk0
NGQuLjkzZWEwODJmMDhlYTQzNWI3MjQwYTc2ODYzOWYwNTA2MDI5YTY1MjUgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL21hYy9TY3JvbGxpbmdDb29yZGluYXRvck1h
Yy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL21hYy9TY3JvbGxpbmdDb29y
ZGluYXRvck1hYy5oCkBAIC00OCw3ICs0OCw3IEBAIHByaXZhdGU6CiAKICAgICB2b2lkIHVwZGF0
ZVRpbGVkU2Nyb2xsaW5nSW5kaWNhdG9yKCk7CiAKLSAgICB2b2lkIHN0YXJ0TW9uaXRvcmluZ1do
ZWVsRXZlbnRzKCkgZmluYWw7CisgICAgdm9pZCBzdGFydE1vbml0b3JpbmdXaGVlbEV2ZW50cyhi
b29sIGNsZWFyTGF0Y2hpbmdTdGF0ZSkgZmluYWw7CiAgICAgdm9pZCBzdG9wTW9uaXRvcmluZ1do
ZWVsRXZlbnRzKCkgZmluYWw7CiB9OwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdl
L3Njcm9sbGluZy9tYWMvU2Nyb2xsaW5nQ29vcmRpbmF0b3JNYWMubW0gYi9Tb3VyY2UvV2ViQ29y
ZS9wYWdlL3Njcm9sbGluZy9tYWMvU2Nyb2xsaW5nQ29vcmRpbmF0b3JNYWMubW0KaW5kZXggZmRl
MzgyN2M3ZGI3MzZjNzdiNjY4NTNkMmE1MjQ5YzViN2VhNjkwYy4uZGU2Yjc0MzE2MGZkOGE2MmM4
NTNjNzlkODdjZWRjZjNmZmYxYjY4ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9z
Y3JvbGxpbmcvbWFjL1Njcm9sbGluZ0Nvb3JkaW5hdG9yTWFjLm1tCisrKyBiL1NvdXJjZS9XZWJD
b3JlL3BhZ2Uvc2Nyb2xsaW5nL21hYy9TY3JvbGxpbmdDb29yZGluYXRvck1hYy5tbQpAQCAtMTI5
LDkgKzEyOSwxMCBAQCB2b2lkIFNjcm9sbGluZ0Nvb3JkaW5hdG9yTWFjOjp1cGRhdGVUaWxlZFNj
cm9sbGluZ0luZGljYXRvcigpCiAgICAgdGlsZWRCYWNraW5nLT5zZXRTY3JvbGxpbmdNb2RlSW5k
aWNhdGlvbihpbmRpY2F0b3JNb2RlKTsKIH0KIAotdm9pZCBTY3JvbGxpbmdDb29yZGluYXRvck1h
Yzo6c3RhcnRNb25pdG9yaW5nV2hlZWxFdmVudHMoKQordm9pZCBTY3JvbGxpbmdDb29yZGluYXRv
ck1hYzo6c3RhcnRNb25pdG9yaW5nV2hlZWxFdmVudHMoYm9vbCBjbGVhckxhdGNoaW5nU3RhdGUp
CiB7Ci0gICAgc2Nyb2xsaW5nVHJlZSgpLT5jbGVhckxhdGNoZWROb2RlKCk7CisgICAgaWYgKGNs
ZWFyTGF0Y2hpbmdTdGF0ZSkKKyAgICAgICAgc2Nyb2xsaW5nVHJlZSgpLT5jbGVhckxhdGNoZWRO
b2RlKCk7CiAgICAgYXV0byBtb25pdG9yID0gbV9wYWdlLT53aGVlbEV2ZW50VGVzdE1vbml0b3Io
KTsKICAgICBzY3JvbGxpbmdUcmVlKCktPnNldFdoZWVsRXZlbnRUZXN0TW9uaXRvcihXVEZNb3Zl
KG1vbml0b3IpKTsKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvanMvV2Vi
Q29yZVRlc3RTdXBwb3J0LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvanMvV2ViQ29yZVRl
c3RTdXBwb3J0LmNwcAppbmRleCA0NTk1ZDNjZDc5YzQ5Y2Y0YThkYjkyMzhkNmUzY2IyMjU1MTEz
NTUzLi5hY2JhN2ExZGMwZDAwMzY4NjYxMzhhMmQwNTNlNGJkNjg1Mjk5ZDQ2IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL2pzL1dlYkNvcmVUZXN0U3VwcG9ydC5jcHAKKysrIGIv
U291cmNlL1dlYkNvcmUvdGVzdGluZy9qcy9XZWJDb3JlVGVzdFN1cHBvcnQuY3BwCkBAIC03OSwx
MyArNzksMTMgQEAgdm9pZCByZXNldEludGVybmFsc09iamVjdChKU0NvbnRleHRSZWYgY29udGV4
dCkKICAgICBJbnRlcm5hbFNldHRpbmdzOjpmcm9tKHBhZ2UpLT5yZXNldFRvQ29uc2lzdGVudFN0
YXRlKCk7CiB9CiAKLXZvaWQgbW9uaXRvcldoZWVsRXZlbnRzKFdlYkNvcmU6OkZyYW1lJiBmcmFt
ZSkKK3ZvaWQgbW9uaXRvcldoZWVsRXZlbnRzKFdlYkNvcmU6OkZyYW1lJiBmcmFtZSwgYm9vbCBj
bGVhckxhdGNoaW5nU3RhdGUpCiB7CiAgICAgUGFnZSogcGFnZSA9IGZyYW1lLnBhZ2UoKTsKICAg
ICBpZiAoIXBhZ2UpCiAgICAgICAgIHJldHVybjsKIAotICAgIHBhZ2UtPnN0YXJ0TW9uaXRvcmlu
Z1doZWVsRXZlbnRzKCk7CisgICAgcGFnZS0+c3RhcnRNb25pdG9yaW5nV2hlZWxFdmVudHMoY2xl
YXJMYXRjaGluZ1N0YXRlKTsKIH0KIAogdm9pZCBzZXRXaGVlbEV2ZW50TW9uaXRvclRlc3RDYWxs
YmFja0FuZFN0YXJ0TW9uaXRvcmluZyhib29sIGV4cGVjdFdoZWVsRW5kT3JDYW5jZWwsIGJvb2wg
ZXhwZWN0TW9tZW50dW1FbmQsIFdlYkNvcmU6OkZyYW1lJiBmcmFtZSwgSlNDb250ZXh0UmVmIGNv
bnRleHQsIEpTT2JqZWN0UmVmIGpzQ2FsbGJhY2tGdW5jdGlvbikKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL3Rlc3RpbmcvanMvV2ViQ29yZVRlc3RTdXBwb3J0LmggYi9Tb3VyY2UvV2ViQ29y
ZS90ZXN0aW5nL2pzL1dlYkNvcmVUZXN0U3VwcG9ydC5oCmluZGV4IDJjMzYxNjMwZGQ0NGNmOWY0
OTYyZTc5OTliZDJkNmQxNTE5OGVhM2QuLjhlNDFhMDZmZDUxYjZjNGRmNjAwNmViMDZlODRmMDAy
MDI0Yzc1YjcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvanMvV2ViQ29yZVRl
c3RTdXBwb3J0LmgKKysrIGIvU291cmNlL1dlYkNvcmUvdGVzdGluZy9qcy9XZWJDb3JlVGVzdFN1
cHBvcnQuaApAQCAtNDYsNyArNDYsNyBAQCBuYW1lc3BhY2UgV2ViQ29yZVRlc3RTdXBwb3J0IHsK
IAogdm9pZCBpbmplY3RJbnRlcm5hbHNPYmplY3QoSlNDb250ZXh0UmVmKSBURVNUX1NVUFBPUlRf
RVhQT1JUOwogdm9pZCByZXNldEludGVybmFsc09iamVjdChKU0NvbnRleHRSZWYpIFRFU1RfU1VQ
UE9SVF9FWFBPUlQ7Ci12b2lkIG1vbml0b3JXaGVlbEV2ZW50cyhXZWJDb3JlOjpGcmFtZSYpIFRF
U1RfU1VQUE9SVF9FWFBPUlQ7Cit2b2lkIG1vbml0b3JXaGVlbEV2ZW50cyhXZWJDb3JlOjpGcmFt
ZSYsIGJvb2wgY2xlYXJMYXRjaGluZ1N0YXRlKSBURVNUX1NVUFBPUlRfRVhQT1JUOwogdm9pZCBz
ZXRXaGVlbEV2ZW50TW9uaXRvclRlc3RDYWxsYmFja0FuZFN0YXJ0TW9uaXRvcmluZyhib29sIGV4
cGVjdFdoZWVsRW5kT3JDYW5jZWwsIGJvb2wgZXhwZWN0TW9tZW50dW1FbmQsIFdlYkNvcmU6OkZy
YW1lJiwgSlNDb250ZXh0UmVmLCBKU09iamVjdFJlZikgVEVTVF9TVVBQT1JUX0VYUE9SVDsKIHZv
aWQgY2xlYXJXaGVlbEV2ZW50VGVzdE1vbml0b3IoV2ViQ29yZTo6RnJhbWUmKSBURVNUX1NVUFBP
UlRfRVhQT1JUOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvSW5qZWN0
ZWRCdW5kbGUvQVBJL2MvV0tCdW5kbGVQYWdlLmNwcCBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vz
cy9JbmplY3RlZEJ1bmRsZS9BUEkvYy9XS0J1bmRsZVBhZ2UuY3BwCmluZGV4IGU5MzlhNGUzZWQ1
NjdjNjI1MGViNTA4MWQyYzRmY2YwYmVkZDVjMzMuLmM4ZmQ1Yjg3MDI4MDZlZWI4ZDlhNWI1MDk0
YWM2MWQ4YTkzODNiY2YgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9Jbmpl
Y3RlZEJ1bmRsZS9BUEkvYy9XS0J1bmRsZVBhZ2UuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvV2Vi
UHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9BUEkvYy9XS0J1bmRsZVBhZ2UuY3BwCkBAIC02OTQsNyAr
Njk0LDcgQEAgdm9pZCBXS0J1bmRsZVBhZ2VTZXRVc2VUZXN0aW5nVmlld3BvcnRDb25maWd1cmF0
aW9uKFdLQnVuZGxlUGFnZVJlZiBwYWdlUmVmLCBib28KIH0KICNlbmRpZgogCi12b2lkIFdLQnVu
ZGxlUGFnZVN0YXJ0TW9uaXRvcmluZ1Njcm9sbE9wZXJhdGlvbnMoV0tCdW5kbGVQYWdlUmVmIHBh
Z2VSZWYpCit2b2lkIFdLQnVuZGxlUGFnZVN0YXJ0TW9uaXRvcmluZ1Njcm9sbE9wZXJhdGlvbnMo
V0tCdW5kbGVQYWdlUmVmIHBhZ2VSZWYsIGJvb2wgY2xlYXJMYXRjaGluZ1N0YXRlKQogewogICAg
IFdlYktpdDo6V2ViUGFnZSogd2ViUGFnZSA9IFdlYktpdDo6dG9JbXBsKHBhZ2VSZWYpOwogICAg
IFdlYkNvcmU6OlBhZ2UqIHBhZ2UgPSB3ZWJQYWdlID8gd2ViUGFnZS0+Y29yZVBhZ2UoKSA6IG51
bGxwdHI7CkBAIC03MDIsNyArNzAyLDcgQEAgdm9pZCBXS0J1bmRsZVBhZ2VTdGFydE1vbml0b3Jp
bmdTY3JvbGxPcGVyYXRpb25zKFdLQnVuZGxlUGFnZVJlZiBwYWdlUmVmKQogICAgIGlmICghcGFn
ZSkKICAgICAgICAgcmV0dXJuOwogCi0gICAgcGFnZS0+c3RhcnRNb25pdG9yaW5nV2hlZWxFdmVu
dHMoKTsKKyAgICBwYWdlLT5zdGFydE1vbml0b3JpbmdXaGVlbEV2ZW50cyhjbGVhckxhdGNoaW5n
U3RhdGUpOwogfQogCiBib29sIFdLQnVuZGxlUGFnZVJlZ2lzdGVyU2Nyb2xsT3BlcmF0aW9uQ29t
cGxldGlvbkNhbGxiYWNrKFdLQnVuZGxlUGFnZVJlZiBwYWdlUmVmLCBXS0J1bmRsZVBhZ2VUZXN0
Tm90aWZpY2F0aW9uQ2FsbGJhY2sgY2FsbGJhY2ssIGJvb2wgZXhwZWN0V2hlZWxFbmRPckNhbmNl
bCwgYm9vbCBleHBlY3RNb21lbnR1bUVuZCwgdm9pZCogY29udGV4dCkKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9BUEkvYy9XS0J1bmRsZVBhZ2Uu
aCBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9BUEkvYy9XS0J1bmRs
ZVBhZ2UuaAppbmRleCA0ZjgzYjhlZjBjODAyYmNjMWIzZDdiY2Y5NDJjZWFlYTE0N2VhYWNmLi5k
ZjcyZThlMDU1MDg2OThlYjk1YjQ1OWFhNGM1NTllMGM4ZGIxNzAyIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViS2l0L1dlYlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUvQVBJL2MvV0tCdW5kbGVQYWdlLmgK
KysrIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL0FQSS9jL1dLQnVu
ZGxlUGFnZS5oCkBAIC0xMTUsNyArMTE1LDcgQEAgV0tfRVhQT1JUIGJvb2wgV0tCdW5kbGVQYWdl
SXNVc2luZ0VwaGVtZXJhbFNlc3Npb24oV0tCdW5kbGVQYWdlUmVmIHBhZ2UpOwogCiBXS19FWFBP
UlQgYm9vbCBXS0J1bmRsZVBhZ2VJc0NvbnRyb2xsZWRCeUF1dG9tYXRpb24oV0tCdW5kbGVQYWdl
UmVmIHBhZ2UpOwogCi1XS19FWFBPUlQgdm9pZCBXS0J1bmRsZVBhZ2VTdGFydE1vbml0b3JpbmdT
Y3JvbGxPcGVyYXRpb25zKFdLQnVuZGxlUGFnZVJlZiBwYWdlKTsKK1dLX0VYUE9SVCB2b2lkIFdL
QnVuZGxlUGFnZVN0YXJ0TW9uaXRvcmluZ1Njcm9sbE9wZXJhdGlvbnMoV0tCdW5kbGVQYWdlUmVm
IHBhZ2UsIGJvb2wgY2xlYXJMYXRjaGluZ1N0YXRlKTsKIAogV0tfRVhQT1JUIFdLU3RyaW5nUmVm
IFdLQnVuZGxlUGFnZUNvcHlHcm91cElkZW50aWZpZXIoV0tCdW5kbGVQYWdlUmVmIHBhZ2UpOwog
CmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VMb2cgYi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggZDY0
NjJhYTMwMGYxMmI0OTNkNzk4MDViYWU2ZmM2ZGUxNmRiNzRhOC4uMGRkODkyZTNmMThmOTZiZWQ3
NGY0ZjBkOGM0MWZhMTU1ZDNmMGM1YyAxMDA2NDQKLS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBi
L1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI1IEBACisyMDIwLTA1LTExICBTaW1vbiBGcmFz
ZXIgIDxzaW1vbi5mcmFzZXJAYXBwbGUuY29tPgorCisgICAgICAgIFsgbWFjT1MgXSBzY3JvbGxp
bmdjb29yZGluYXRvci9tYWMvbGF0Y2hpbmcvc2Nyb2xsaW5nLXNlbGVjdC1zaG91bGQtbm90LWxh
dGNoLW1haW5mcmFtZS5odG1sIGlzIGEgZmxha3kgZmFpbHVyZQorICAgICAgICBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjExNzQ3CisKKyAgICAgICAgUmV2aWV3ZWQg
YnkgVGltIEhvcnRvbi4KKworICAgICAgICBBZGQgYW4gb3B0aW9uIHRvIG1vbml0b3JXaGVlbEV2
ZW50cyB0byByZXNldCBsYXRjaGluZy4KKworICAgICAgICAqIER1bXBSZW5kZXJUcmVlL21hYy9F
dmVudFNlbmRpbmdDb250cm9sbGVyLm1tOgorICAgICAgICAoK1tFdmVudFNlbmRpbmdDb250cm9s
bGVyIGlzU2VsZWN0b3JFeGNsdWRlZEZyb21XZWJTY3JpcHQ6XSk6CisgICAgICAgICgrW0V2ZW50
U2VuZGluZ0NvbnRyb2xsZXIgd2ViU2NyaXB0TmFtZUZvclNlbGVjdG9yOl0pOgorICAgICAgICAo
LVtFdmVudFNlbmRpbmdDb250cm9sbGVyIG1vbml0b3JXaGVlbEV2ZW50c1dpdGhPcHRpb25zOl0p
OgorICAgICAgICAoLVtFdmVudFNlbmRpbmdDb250cm9sbGVyIG1vbml0b3JXaGVlbEV2ZW50c10p
OiBEZWxldGVkLgorICAgICAgICAqIFdlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvQmlu
ZGluZ3MvRXZlbnRTZW5kaW5nQ29udHJvbGxlci5pZGw6CisgICAgICAgICogV2ViS2l0VGVzdFJ1
bm5lci9JbmplY3RlZEJ1bmRsZS9FdmVudFNlbmRpbmdDb250cm9sbGVyLmNwcDoKKyAgICAgICAg
KFdUUjo6dG9Nb25pdG9yV2hlZWxFdmVudHNPcHRpb25zKTogV2UgaGF2ZSB0byByZXR1cm4gYSBw
b2ludGVyIHRvIGEgc3RhdGljLCBiZWNhdXNlIHRoZSBnZW5lcmF0ZWQgY29kZQorICAgICAgICBk
b2Vzbid0IHVzZSBzbWFydCBwb2ludGVycy4KKyAgICAgICAgKFdUUjo6RXZlbnRTZW5kaW5nQ29u
dHJvbGxlcjo6bW9uaXRvcldoZWVsRXZlbnRzKToKKyAgICAgICAgKiBXZWJLaXRUZXN0UnVubmVy
L0luamVjdGVkQnVuZGxlL0V2ZW50U2VuZGluZ0NvbnRyb2xsZXIuaDoKKyAgICAgICAgKFdUUjo6
TW9uaXRvcldoZWVsRXZlbnRzT3B0aW9uczo6TW9uaXRvcldoZWVsRXZlbnRzT3B0aW9ucyk6CisK
IDIwMjAtMDUtMTEgIEFsZXggQ2hyaXN0ZW5zZW4gIDxhY2hyaXN0ZW5zZW5Ad2Via2l0Lm9yZz4K
IAogICAgICAgICBBZGQgc29tZSBsb2dzIHRvIGRpYWdub3NlIHdoeSBXZWJLaXRMZWdhY3kuQ3Jv
c3NQYXJ0aXRpb25GaWxlU2NoZW1lQWNjZXNzIEFQSSB0ZXN0IHRpbWVzIG91dCBpbiBFV1MKZGlm
ZiAtLWdpdCBhL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL21hYy9FdmVudFNlbmRpbmdDb250cm9sbGVy
Lm1tIGIvVG9vbHMvRHVtcFJlbmRlclRyZWUvbWFjL0V2ZW50U2VuZGluZ0NvbnRyb2xsZXIubW0K
aW5kZXggYTZkZGI0YzkyZmRjYmUzNDdmNjhmYTE5NmVmMDlmY2NjMWY2M2Q1Ny4uNDhiNjY3ZGUx
NDJiZWM1OWRiYzIyMWNiYWUwMGRjODUwNGRkMmU5MiAxMDA2NDQKLS0tIGEvVG9vbHMvRHVtcFJl
bmRlclRyZWUvbWFjL0V2ZW50U2VuZGluZ0NvbnRyb2xsZXIubW0KKysrIGIvVG9vbHMvRHVtcFJl
bmRlclRyZWUvbWFjL0V2ZW50U2VuZGluZ0NvbnRyb2xsZXIubW0KQEAgLTI1Myw3ICsyNTMsNyBA
QCArIChCT09MKWlzU2VsZWN0b3JFeGNsdWRlZEZyb21XZWJTY3JpcHQ6KFNFTClhU2VsZWN0b3IK
ICAgICAgICAgICAgIHx8IGFTZWxlY3RvciA9PSBAc2VsZWN0b3IobW91c2VTY3JvbGxCeVg6YW5k
WTopCiAgICAgICAgICAgICB8fCBhU2VsZWN0b3IgPT0gQHNlbGVjdG9yKG1vdXNlU2Nyb2xsQnlY
OmFuZFk6d2l0aFdoZWVsOmFuZE1vbWVudHVtUGhhc2VzOikKICAgICAgICAgICAgIHx8IGFTZWxl
Y3RvciA9PSBAc2VsZWN0b3IoY29udGludW91c01vdXNlU2Nyb2xsQnlYOmFuZFk6KQotICAgICAg
ICAgICAgfHwgYVNlbGVjdG9yID09IEBzZWxlY3Rvcihtb25pdG9yV2hlZWxFdmVudHMpCisgICAg
ICAgICAgICB8fCBhU2VsZWN0b3IgPT0gQHNlbGVjdG9yKG1vbml0b3JXaGVlbEV2ZW50c1dpdGhP
cHRpb25zOikKICAgICAgICAgICAgIHx8IGFTZWxlY3RvciA9PSBAc2VsZWN0b3IoY2FsbEFmdGVy
U2Nyb2xsaW5nQ29tcGxldGVzOikKICNpZiBQTEFURk9STShNQUMpCiAgICAgICAgICAgICB8fCBh
U2VsZWN0b3IgPT0gQHNlbGVjdG9yKGJlZ2luRHJhZ1dpdGhGaWxlczopCkBAIC0zMTgsNyArMzE4
LDcgQEAgKyAoTlNTdHJpbmcgKil3ZWJTY3JpcHROYW1lRm9yU2VsZWN0b3I6KFNFTClhU2VsZWN0
b3IKICAgICAgICAgcmV0dXJuIEAiY29udGludW91c01vdXNlU2Nyb2xsQnkiOwogICAgIGlmIChh
U2VsZWN0b3IgPT0gQHNlbGVjdG9yKHNjYWxlUGFnZUJ5OmF0WDphbmRZOikpCiAgICAgICAgIHJl
dHVybiBAInNjYWxlUGFnZUJ5IjsKLSAgICBpZiAoYVNlbGVjdG9yID09IEBzZWxlY3Rvcihtb25p
dG9yV2hlZWxFdmVudHMpKQorICAgIGlmIChhU2VsZWN0b3IgPT0gQHNlbGVjdG9yKG1vbml0b3JX
aGVlbEV2ZW50c1dpdGhPcHRpb25zOikpCiAgICAgICAgIHJldHVybiBAIm1vbml0b3JXaGVlbEV2
ZW50cyI7CiAgICAgaWYgKGFTZWxlY3RvciA9PSBAc2VsZWN0b3IoY2FsbEFmdGVyU2Nyb2xsaW5n
Q29tcGxldGVzOikpCiAgICAgICAgIHJldHVybiBAImNhbGxBZnRlclNjcm9sbGluZ0NvbXBsZXRl
cyI7CkBAIC0xMzg3LDcgKzEzODcsNyBAQCAtICh2b2lkKWZpcmVLZXlib2FyZEV2ZW50c1RvRWxl
bWVudDooV2ViU2NyaXB0T2JqZWN0ICopZWxlbWVudCB7CiAgICAgCiB9CiAKLS0gKHZvaWQpbW9u
aXRvcldoZWVsRXZlbnRzCistICh2b2lkKW1vbml0b3JXaGVlbEV2ZW50c1dpdGhPcHRpb25zOihX
ZWJTY3JpcHRPYmplY3QqKW9wdGlvbnMKIHsKICNpZiBQTEFURk9STShNQUMpCiAgICAgV2ViQ29y
ZTo6RnJhbWUqIGZyYW1lID0gW1ttYWluRnJhbWUgd2ViVmlld10gX21haW5Db3JlRnJhbWVdOwpA
QCAtMTM5Niw3ICsxMzk2LDE3IEBAIC0gKHZvaWQpbW9uaXRvcldoZWVsRXZlbnRzCiAKICAgICBf
c2VudFdoZWVsUGhhc2VFbmRPckNhbmNlbCA9IE5POwogICAgIF9zZW50TW9tZW50dW1QaGFzZUVu
ZCA9IE5POwotICAgIFdlYkNvcmVUZXN0U3VwcG9ydDo6bW9uaXRvcldoZWVsRXZlbnRzKCpmcmFt
ZSk7CisKKyAgICBib29sIHJlc2V0TGF0Y2hpbmcgPSB0cnVlOworCisgICAgaWYgKCFbb3B0aW9u
cyBpc0tpbmRPZkNsYXNzOltXZWJVbmRlZmluZWQgc2VsZl1dKSB7CisgICAgICAgIGlmIChpZCBy
ZXNldExhdGNoaW5nVmFsdWUgPSBbb3B0aW9ucyB2YWx1ZUZvcktleTpAInJlc2V0TGF0Y2hpbmci
XSkgeworICAgICAgICAgICAgaWYgKFtyZXNldExhdGNoaW5nVmFsdWUgaXNLaW5kT2ZDbGFzczpb
TlNOdW1iZXIgc2VsZl1dKQorICAgICAgICAgICAgICAgIHJlc2V0TGF0Y2hpbmcgPSBbcmVzZXRM
YXRjaGluZ1ZhbHVlIGJvb2xWYWx1ZV07CisgICAgICAgIH0KKyAgICB9CisKKyAgICBXZWJDb3Jl
VGVzdFN1cHBvcnQ6Om1vbml0b3JXaGVlbEV2ZW50cygqZnJhbWUsIHJlc2V0TGF0Y2hpbmcpOwog
I2VuZGlmCiB9CiAKZGlmZiAtLWdpdCBhL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL3dpbi9FdmVudFNl
bmRlci5jcHAgYi9Ub29scy9EdW1wUmVuZGVyVHJlZS93aW4vRXZlbnRTZW5kZXIuY3BwCmluZGV4
IGU3ZTI4YzRhZTlkM2VkYjFhYmZkNTIxNWQ5MmQyZmE3NzdkYTNlYjkuLmRhMjk1NjY4NzYzNDRj
YzdmOThmYjEwYjJkZjU0YTc5YTU0MzM3NGIgMTAwNjQ0Ci0tLSBhL1Rvb2xzL0R1bXBSZW5kZXJU
cmVlL3dpbi9FdmVudFNlbmRlci5jcHAKKysrIGIvVG9vbHMvRHVtcFJlbmRlclRyZWUvd2luL0V2
ZW50U2VuZGVyLmNwcApAQCAtOTAzLDcgKzkwMywxNSBAQCBzdGF0aWMgSlNWYWx1ZVJlZiBtb25p
dG9yV2hlZWxFdmVudHMoSlNDb250ZXh0UmVmIGNvbnRleHQsIEpTT2JqZWN0UmVmIGZ1bmN0aW9u
LAogICAgICAgICByZXR1cm4gSlNWYWx1ZU1ha2VVbmRlZmluZWQoY29udGV4dCk7CiAKICAgICBX
ZWJDb3JlOjpGcmFtZSogY29yZUZyYW1lID0gY29yZShzdGF0aWNfY2FzdDxXZWJGcmFtZSo+KGZy
YW1lMi5nZXQoKSkpOwotICAgIFdlYkNvcmVUZXN0U3VwcG9ydDo6bW9uaXRvcldoZWVsRXZlbnRz
KCpjb3JlRnJhbWUpOworCisgICAgYXV0byByZXNldExhdGNoaW5nU3RyaW5nID0gYWRvcHQoSlNT
dHJpbmdDcmVhdGVXaXRoVVRGOENTdHJpbmcoInJlc2V0TGF0Y2hpbmciKSk7CisgICAgYXV0byBy
ZXNldExhdGNoaW5nVmFsdWUgPSBKU09iamVjdEdldFByb3BlcnR5KGNvbnRleHQsIEpTVmFsdWVU
b09iamVjdChjb250ZXh0LCBhcmd1bWVudCwgbnVsbHB0ciksIHJlc2V0TGF0Y2hpbmdTdHJpbmcu
Z2V0KCksIG51bGxwdHIpOworCisgICAgYm9vbCByZXNldExhdGNoaW5nID0gdHJ1ZTsKKyAgICBp
ZiAocmVzZXRMYXRjaGluZ1ZhbHVlICYmIEpTVmFsdWVJc0Jvb2xlYW4oY29udGV4dCwgcmVzZXRM
YXRjaGluZ1ZhbHVlKSkKKyAgICAgICAgcmVzZXRMYXRjaGluZyA9IEpTVmFsdWVUb0Jvb2xlYW4o
Y29udGV4dCwgcmVzZXRMYXRjaGluZ1ZhbHVlKTsKKworICAgIFdlYkNvcmVUZXN0U3VwcG9ydDo6
bW9uaXRvcldoZWVsRXZlbnRzKCpjb3JlRnJhbWUsIHJlc2V0TGF0Y2hpbmcpOwogICAgIAogICAg
IHJldHVybiBKU1ZhbHVlTWFrZVVuZGVmaW5lZChjb250ZXh0KTsKIH0KZGlmZiAtLWdpdCBhL1Rv
b2xzL1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvQmluZGluZ3MvRXZlbnRTZW5kaW5n
Q29udHJvbGxlci5pZGwgYi9Ub29scy9XZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL0Jp
bmRpbmdzL0V2ZW50U2VuZGluZ0NvbnRyb2xsZXIuaWRsCmluZGV4IGQ1YjgwMzg0NTllNzZiOTg5
MTQ5OThjNjA5YjZmMzYxNjc0MDdkODEuLjFhYWQwYTZlYzNjOWJhMmVjYTA3OGYyODFkYTcyMmNj
OTUyMTYxZWEgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5k
bGUvQmluZGluZ3MvRXZlbnRTZW5kaW5nQ29udHJvbGxlci5pZGwKKysrIGIvVG9vbHMvV2ViS2l0
VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9CaW5kaW5ncy9FdmVudFNlbmRpbmdDb250cm9sbGVy
LmlkbApAQCAtMjMsNiArMjMsMTAgQEAKICAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFH
RS4KICAqLwogCitkaWN0aW9uYXJ5IE1vbml0b3JXaGVlbEV2ZW50c09wdGlvbnMgeworICAgIGJv
b2xlYW4gcmVzZXRMYXRjaGluZyA9IHRydWU7Cit9OworCiBpbnRlcmZhY2UgRXZlbnRTZW5kaW5n
Q29udHJvbGxlciB7CiAgICAgdm9pZCBtb3VzZURvd24obG9uZyBidXR0b25OdW1iZXIsIG9iamVj
dCBtb2RpZmllckFycmF5KTsKICAgICB2b2lkIG1vdXNlVXAobG9uZyBidXR0b25OdW1iZXIsIG9i
amVjdCBtb2RpZmllckFycmF5KTsKQEAgLTUwLDcgKzU0LDcgQEAgaW50ZXJmYWNlIEV2ZW50U2Vu
ZGluZ0NvbnRyb2xsZXIgewogICAgIHZvaWQgem9vbVBhZ2VPdXQoKTsKICAgICB2b2lkIHNjYWxl
UGFnZUJ5KGRvdWJsZSBzY2FsZSwgZG91YmxlIHgsIGRvdWJsZSB5KTsKIAotICAgIHZvaWQgbW9u
aXRvcldoZWVsRXZlbnRzKCk7CisgICAgdm9pZCBtb25pdG9yV2hlZWxFdmVudHMob3B0aW9uYWwg
TW9uaXRvcldoZWVsRXZlbnRzT3B0aW9ucyBvcHRpb25zKTsKICAgICB2b2lkIGNhbGxBZnRlclNj
cm9sbGluZ0NvbXBsZXRlcyhvYmplY3QgZnVuY3Rpb25DYWxsYmFjayk7CiAKICNpZiBkZWZpbmVk
KEVOQUJMRV9UT1VDSF9FVkVOVFMpICYmIEVOQUJMRV9UT1VDSF9FVkVOVFMKZGlmZiAtLWdpdCBh
L1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvRXZlbnRTZW5kaW5nQ29udHJv
bGxlci5jcHAgYi9Ub29scy9XZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL0V2ZW50U2Vu
ZGluZ0NvbnRyb2xsZXIuY3BwCmluZGV4IDBjMWYwNjczMzdiZjc5OWMzMTM3OTY5Mjk0OWM0ZWU4
NTM2ZjZlNDguLjU1M2ZkMDVlZjE2OWYzNTIzYTA0MzFmMTMxNzQyZmJjMjIxNzA0MDkgMTAwNjQ0
Ci0tLSBhL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvRXZlbnRTZW5kaW5n
Q29udHJvbGxlci5jcHAKKysrIGIvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRs
ZS9FdmVudFNlbmRpbmdDb250cm9sbGVyLmNwcApAQCAtNjEwLDEzICs2MTAsMzAgQEAgdm9pZCBF
dmVudFNlbmRpbmdDb250cm9sbGVyOjpzY2FsZVBhZ2VCeShkb3VibGUgc2NhbGUsIGRvdWJsZSB4
LCBkb3VibGUgeSkKICAgICBXS0J1bmRsZVBhZ2VTZXRTY2FsZUF0T3JpZ2luKEluamVjdGVkQnVu
ZGxlOjpzaW5nbGV0b24oKS5wYWdlKCktPnBhZ2UoKSwgc2NhbGUsIG9yaWdpbik7CiB9CiAKLXZv
aWQgRXZlbnRTZW5kaW5nQ29udHJvbGxlcjo6bW9uaXRvcldoZWVsRXZlbnRzKCkKK01vbml0b3JX
aGVlbEV2ZW50c09wdGlvbnMqIHRvTW9uaXRvcldoZWVsRXZlbnRzT3B0aW9ucyhKU0NvbnRleHRS
ZWYgY29udGV4dCwgSlNWYWx1ZVJlZiBhcmd1bWVudCkKK3sKKyAgICBpZiAoIUpTVmFsdWVJc09i
amVjdChjb250ZXh0LCBhcmd1bWVudCkpCisgICAgICAgIHJldHVybiBudWxscHRyOworCisgICAg
YXV0byByZXNldExhdGNoaW5nU3RyaW5nID0gYWRvcHQoSlNTdHJpbmdDcmVhdGVXaXRoVVRGOENT
dHJpbmcoInJlc2V0TGF0Y2hpbmciKSk7CisgICAgYXV0byByZXNldExhdGNoaW5nVmFsdWUgPSBK
U09iamVjdEdldFByb3BlcnR5KGNvbnRleHQsIEpTVmFsdWVUb09iamVjdChjb250ZXh0LCBhcmd1
bWVudCwgbnVsbHB0ciksIHJlc2V0TGF0Y2hpbmdTdHJpbmcuZ2V0KCksIG51bGxwdHIpOworCisg
ICAgYm9vbCByZXNldExhdGNoaW5nID0gdHJ1ZTsKKyAgICBpZiAocmVzZXRMYXRjaGluZ1ZhbHVl
ICYmIEpTVmFsdWVJc0Jvb2xlYW4oY29udGV4dCwgcmVzZXRMYXRjaGluZ1ZhbHVlKSkKKyAgICAg
ICAgcmVzZXRMYXRjaGluZyA9IEpTVmFsdWVUb0Jvb2xlYW4oY29udGV4dCwgcmVzZXRMYXRjaGlu
Z1ZhbHVlKTsKKworICAgIHN0YXRpYyBNb25pdG9yV2hlZWxFdmVudHNPcHRpb25zIG9wdGlvbnM7
CisgICAgb3B0aW9ucy5yZXNldExhdGNoaW5nID0gcmVzZXRMYXRjaGluZzsKKyAgICByZXR1cm4g
Jm9wdGlvbnM7Cit9CisKK3ZvaWQgRXZlbnRTZW5kaW5nQ29udHJvbGxlcjo6bW9uaXRvcldoZWVs
RXZlbnRzKE1vbml0b3JXaGVlbEV2ZW50c09wdGlvbnMqIG9wdGlvbnMpCiB7CiAgICAgV0tCdW5k
bGVQYWdlUmVmIHBhZ2UgPSBJbmplY3RlZEJ1bmRsZTo6c2luZ2xldG9uKCkucGFnZSgpLT5wYWdl
KCk7CiAgICAgCiAgICAgbV9zZW50V2hlZWxQaGFzZUVuZE9yQ2FuY2VsID0gZmFsc2U7CiAgICAg
bV9zZW50V2hlZWxNb21lbnR1bVBoYXNlRW5kID0gZmFsc2U7Ci0gICAgV0tCdW5kbGVQYWdlU3Rh
cnRNb25pdG9yaW5nU2Nyb2xsT3BlcmF0aW9ucyhwYWdlKTsKKyAgICBXS0J1bmRsZVBhZ2VTdGFy
dE1vbml0b3JpbmdTY3JvbGxPcGVyYXRpb25zKHBhZ2UsIG9wdGlvbnMgPyBvcHRpb25zLT5yZXNl
dExhdGNoaW5nIDogdHJ1ZSk7CiB9CiAKIHN0cnVjdCBTY3JvbGxDb21wbGV0aW9uQ2FsbGJhY2tE
YXRhIHsKZGlmZiAtLWdpdCBhL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUv
RXZlbnRTZW5kaW5nQ29udHJvbGxlci5oIGIvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9JbmplY3Rl
ZEJ1bmRsZS9FdmVudFNlbmRpbmdDb250cm9sbGVyLmgKaW5kZXggNTIzMjZhYzg1MDgyZDBjMmRl
OWFiZTk1NWYyNjE4NTBlYzg5ODMwNy4uOWEyYWZkOTU4Y2NkNzBlY2QyMWVjNGUzYjNmZWM0Y2Y3
Y2M4NWJhOCAxMDA2NDQKLS0tIGEvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRs
ZS9FdmVudFNlbmRpbmdDb250cm9sbGVyLmgKKysrIGIvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9J
bmplY3RlZEJ1bmRsZS9FdmVudFNlbmRpbmdDb250cm9sbGVyLmgKQEAgLTMyLDYgKzMyLDE2IEBA
CiAKIG5hbWVzcGFjZSBXVFIgewogCitzdHJ1Y3QgTW9uaXRvcldoZWVsRXZlbnRzT3B0aW9ucyB7
CisgICAgTW9uaXRvcldoZWVsRXZlbnRzT3B0aW9ucyhib29sIHJlc2V0TGF0Y2hpbmcgPSB0cnVl
KQorICAgICAgICA6IHJlc2V0TGF0Y2hpbmcocmVzZXRMYXRjaGluZykKKyAgICB7IH0KKworICAg
IGJvb2wgcmVzZXRMYXRjaGluZyB7IHRydWUgfTsKK307CisKK01vbml0b3JXaGVlbEV2ZW50c09w
dGlvbnMqIHRvTW9uaXRvcldoZWVsRXZlbnRzT3B0aW9ucyhKU0NvbnRleHRSZWYsIEpTVmFsdWVS
ZWYpOworCiBjbGFzcyBFdmVudFNlbmRpbmdDb250cm9sbGVyIDogcHVibGljIEpTV3JhcHBhYmxl
IHsKIHB1YmxpYzoKICAgICBzdGF0aWMgUmVmPEV2ZW50U2VuZGluZ0NvbnRyb2xsZXI+IGNyZWF0
ZSgpOwpAQCAtNTYsNyArNjYsOCBAQCBwdWJsaWM6CiAgICAgSlNWYWx1ZVJlZiBjb250ZXh0Q2xp
Y2soKTsKICAgICB2b2lkIGxlYXBGb3J3YXJkKGludCBtaWxsaXNlY29uZHMpOwogICAgIHZvaWQg
c2NoZWR1bGVBc3luY2hyb25vdXNDbGljaygpOwotICAgIHZvaWQgbW9uaXRvcldoZWVsRXZlbnRz
KCk7CisKKyAgICB2b2lkIG1vbml0b3JXaGVlbEV2ZW50cyhNb25pdG9yV2hlZWxFdmVudHNPcHRp
b25zKik7CiAgICAgdm9pZCBjYWxsQWZ0ZXJTY3JvbGxpbmdDb21wbGV0ZXMoSlNWYWx1ZVJlZiBm
dW5jdGlvbkNhbGxiYWNrKTsKIAogICAgIHZvaWQga2V5RG93bihKU1N0cmluZ1JlZiBrZXksIEpT
VmFsdWVSZWYgbW9kaWZpZXJBcnJheSwgaW50IGxvY2F0aW9uKTsKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCBlYzUwZTBlMDQ0
MDkzMDVlYTQ0ZTM0OWU5NGQ0YzJmYmVmZTg4M2RmLi5lNWJjYzdiY2FkZTM4YmRlODFmN2Q4NzE4
MTMwY2EyMDI0MjllOWEzIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIv
TGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTQgQEAKKzIwMjAtMDUtMTEgIFNpbW9u
IEZyYXNlciAgPHNpbW9uLmZyYXNlckBhcHBsZS5jb20+CisKKyAgICAgICAgWyBtYWNPUyBdIHNj
cm9sbGluZ2Nvb3JkaW5hdG9yL21hYy9sYXRjaGluZy9zY3JvbGxpbmctc2VsZWN0LXNob3VsZC1u
b3QtbGF0Y2gtbWFpbmZyYW1lLmh0bWwgaXMgYSBmbGFreSBmYWlsdXJlCisgICAgICAgIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMTE3NDcKKworICAgICAgICBSZXZp
ZXdlZCBieSBUaW0gSG9ydG9uLgorCisgICAgICAgIENoYW5nZSB0aGUgdGVzdCB0byB1c2UgbW9u
aXRvcldoZWVsRXZlbnRzKCkgZm9yIGVhY2ggcGhhc2UuCisKKyAgICAgICAgKiBzY3JvbGxpbmdj
b29yZGluYXRvci9tYWMvbGF0Y2hpbmcvc2Nyb2xsaW5nLXNlbGVjdC1zaG91bGQtbm90LWxhdGNo
LW1haW5mcmFtZS5odG1sOgorCiAyMDIwLTA1LTExICBEZXZpbiBSb3Vzc28gIDxkcm91c3NvQGFw
cGxlLmNvbT4KIAogICAgICAgICBXZWIgSW5zcGVjdG9yOiBzaG93IEphdmFTY3JpcHQgV29ya2Vy
IG5hbWUgYXMgYW4gaW50ZXJuYWwgcHJvcGVydHkKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3Nj
cm9sbGluZ2Nvb3JkaW5hdG9yL21hYy9sYXRjaGluZy9zY3JvbGxpbmctc2VsZWN0LXNob3VsZC1u
b3QtbGF0Y2gtbWFpbmZyYW1lLmh0bWwgYi9MYXlvdXRUZXN0cy9zY3JvbGxpbmdjb29yZGluYXRv
ci9tYWMvbGF0Y2hpbmcvc2Nyb2xsaW5nLXNlbGVjdC1zaG91bGQtbm90LWxhdGNoLW1haW5mcmFt
ZS5odG1sCmluZGV4IDkyY2RhMTAyMDcwY2MxMThkOTI5Y2VlYTJhYTBmODRlMTNlODBhZjQuLjYx
M2JiNjA0NTc2MTFlMjJkYzU5YWI0YTZhNjNjNWRmNzhjYTc4YTAgMTAwNjQ0Ci0tLSBhL0xheW91
dFRlc3RzL3Njcm9sbGluZ2Nvb3JkaW5hdG9yL21hYy9sYXRjaGluZy9zY3JvbGxpbmctc2VsZWN0
LXNob3VsZC1ub3QtbGF0Y2gtbWFpbmZyYW1lLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvc2Nyb2xs
aW5nY29vcmRpbmF0b3IvbWFjL2xhdGNoaW5nL3Njcm9sbGluZy1zZWxlY3Qtc2hvdWxkLW5vdC1s
YXRjaC1tYWluZnJhbWUuaHRtbApAQCAtMzUsNyArMzUsNiBAQAogICAgICAgICAgICAgY29uc3Qg
eCA9IHNlbGVjdEJvdW5kcy5sZWZ0ICsgMTA7CiAgICAgICAgICAgICBjb25zdCB5ID0gc2VsZWN0
Qm91bmRzLnRvcCArIDEwOwogCi0gICAgICAgICAgICAvLyBXZSBoYXZlIHRvIHNlbmQgYWxsIHRo
ZXNlIGFzIG9uZSBzZXF1ZW5jZSwgYmVjYXVzZSBtb25pdG9yV2hlZWxFdmVudHMoKSBjbGVhcnMg
dGhlIGxhdGNoaW5nIHN0YXRlLgogICAgICAgICAgICAgZXZlbnRTZW5kZXIubW9uaXRvcldoZWVs
RXZlbnRzKCk7CiAgICAgICAgICAgICBldmVudFNlbmRlci5tb3VzZU1vdmVUbyh4LCB5KTsKIApA
QCAtNDUsMTYgKzQ0LDE4IEBACiAgICAgICAgICAgICBldmVudFNlbmRlci5tb3VzZVNjcm9sbEJ5
V2l0aFdoZWVsQW5kTW9tZW50dW1QaGFzZXMoMCwgMjAsICJjaGFuZ2VkIiwgIm5vbmUiKTsKICAg
ICAgICAgICAgIGV2ZW50U2VuZGVyLm1vdXNlU2Nyb2xsQnlXaXRoV2hlZWxBbmRNb21lbnR1bVBo
YXNlcygwLCAwLCAiZW5kZWQiLCAibm9uZSIpOwogCi0gICAgICAgICAgICBhd2FpdCBVSUhlbHBl
ci5hbmltYXRpb25GcmFtZSgpOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIud2FpdEZvclNj
cm9sbENvbXBsZXRpb24oKTsKIAogICAgICAgICAgICAgLy8gU2Nyb2xsIHVwIGFnYWluIHRvIHRy
aWdnZXIgYSBkb2N1bWVudCBib3VuY2UuCisgICAgICAgICAgICBldmVudFNlbmRlci5tb25pdG9y
V2hlZWxFdmVudHMoeyByZXNldExhdGNoaW5nOiBmYWxzZSB9KTsKICAgICAgICAgICAgIGV2ZW50
U2VuZGVyLm1vdXNlU2Nyb2xsQnlXaXRoV2hlZWxBbmRNb21lbnR1bVBoYXNlcygwLCAxLCAiYmVn
YW4iLCAibm9uZSIpOwogICAgICAgICAgICAgZXZlbnRTZW5kZXIubW91c2VTY3JvbGxCeVdpdGhX
aGVlbEFuZE1vbWVudHVtUGhhc2VzKDAsIDIwLCAiY2hhbmdlZCIsICJub25lIik7CiAgICAgICAg
ICAgICBldmVudFNlbmRlci5tb3VzZVNjcm9sbEJ5V2l0aFdoZWVsQW5kTW9tZW50dW1QaGFzZXMo
MCwgMCwgImVuZGVkIiwgIm5vbmUiKTsKIAotICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYW5p
bWF0aW9uRnJhbWUoKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLndhaXRGb3JTY3JvbGxD
b21wbGV0aW9uKCk7CiAKICAgICAgICAgICAgIC8vIFNjcm9sbCBkb3duLiBUaGlzIHNob3VsZCBz
Y3JvbGwgdGhlIHNlbGVjdCwgbm90IHRoZSBkb2N1bWVudC4KKyAgICAgICAgICAgIGV2ZW50U2Vu
ZGVyLm1vbml0b3JXaGVlbEV2ZW50cyh7IHJlc2V0TGF0Y2hpbmc6IGZhbHNlIH0pOwogICAgICAg
ICAgICAgZXZlbnRTZW5kZXIubW91c2VTY3JvbGxCeVdpdGhXaGVlbEFuZE1vbWVudHVtUGhhc2Vz
KDAsIC0yLCAiYmVnYW4iLCAibm9uZSIpOwogICAgICAgICAgICAgZXZlbnRTZW5kZXIubW91c2VT
Y3JvbGxCeVdpdGhXaGVlbEFuZE1vbWVudHVtUGhhc2VzKDAsIC0yMCwgImNoYW5nZWQiLCAibm9u
ZSIpOwogICAgICAgICAgICAgZXZlbnRTZW5kZXIubW91c2VTY3JvbGxCeVdpdGhXaGVlbEFuZE1v
bWVudHVtUGhhc2VzKDAsIC0yMCwgImNoYW5nZWQiLCAibm9uZSIpOwo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>399076</attachid>
            <date>2020-05-11 17:40:02 -0700</date>
            <delta_ts>2020-05-11 19:10:15 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-211747-20200511174002.patch</filename>
            <type>text/plain</type>
            <size>21938</size>
            <attacher name="Simon Fraser (smfr)">simon.fraser</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjYxNTA0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMjI5MTc1MzZkOGZiMjgw
NDA3MTVjN2FiYmY2MDVhN2E0Y2U5Njg0Yy4uY2Q4MTlkNWI5MzA1ZjIxOWI2ZTcwNmI5ZjE1OTM0
ZTY0NWQyMGUxMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI0IEBACisyMDIwLTA1LTExICBTaW1v
biBGcmFzZXIgIDxzaW1vbi5mcmFzZXJAYXBwbGUuY29tPgorCisgICAgICAgIFsgbWFjT1MgXSBz
Y3JvbGxpbmdjb29yZGluYXRvci9tYWMvbGF0Y2hpbmcvc2Nyb2xsaW5nLXNlbGVjdC1zaG91bGQt
bm90LWxhdGNoLW1haW5mcmFtZS5odG1sIGlzIGEgZmxha3kgZmFpbHVyZQorICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjExNzQ3CisKKyAgICAgICAgUmV2
aWV3ZWQgYnkgVGltIEhvcnRvbi4KKworICAgICAgICBBZGQgYW4gb3B0aW9uIHRvIG1vbml0b3JX
aGVlbEV2ZW50cyB0byByZXNldCBsYXRjaGluZy4KKworICAgICAgICAqIHBhZ2UvUGFnZS5jcHA6
CisgICAgICAgIChXZWJDb3JlOjpQYWdlOjpzdGFydE1vbml0b3JpbmdXaGVlbEV2ZW50cyk6Cisg
ICAgICAgICogcGFnZS9QYWdlLmg6CisgICAgICAgICogcGFnZS9zY3JvbGxpbmcvU2Nyb2xsaW5n
Q29vcmRpbmF0b3IuaDoKKyAgICAgICAgKFdlYkNvcmU6OlNjcm9sbGluZ0Nvb3JkaW5hdG9yOjpz
dGFydE1vbml0b3JpbmdXaGVlbEV2ZW50cyk6CisgICAgICAgICogcGFnZS9zY3JvbGxpbmcvbWFj
L1Njcm9sbGluZ0Nvb3JkaW5hdG9yTWFjLmg6CisgICAgICAgICogcGFnZS9zY3JvbGxpbmcvbWFj
L1Njcm9sbGluZ0Nvb3JkaW5hdG9yTWFjLm1tOgorICAgICAgICAoV2ViQ29yZTo6U2Nyb2xsaW5n
Q29vcmRpbmF0b3JNYWM6OnN0YXJ0TW9uaXRvcmluZ1doZWVsRXZlbnRzKToKKyAgICAgICAgKiB0
ZXN0aW5nL2pzL1dlYkNvcmVUZXN0U3VwcG9ydC5jcHA6CisgICAgICAgIChXZWJDb3JlVGVzdFN1
cHBvcnQ6Om1vbml0b3JXaGVlbEV2ZW50cyk6CisgICAgICAgICogdGVzdGluZy9qcy9XZWJDb3Jl
VGVzdFN1cHBvcnQuaDoKKwogMjAyMC0wNS0xMSAgUGVuZyBMaXUgIDxwZW5nLmxpdTZAYXBwbGUu
Y29tPgogCiAgICAgICAgIEVuYWJsZSB0aGUgbW9jayB2aWRlbyBwcmVzZW50YXRpb24gbW9kZSBp
biByZWxhdGVkIGxheW91dCB0ZXN0cyBhbmQgZml4IHRlc3QgZmFpbHVyZXMKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKaW5kZXgg
YzBiOTk1Y2NlYWZiMjI2ZmFkOGJhODQ5NjAwZTM3MzUzMjlkZWRkOS4uODYxZTVjODMzNzFiOTM1
NDgyMjI0MzI1NDRjOGNmNjMxNmExM2U3NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9DaGFu
Z2VMb2cKKysrIGIvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNiBAQAorMjAy
MC0wNS0xMSAgU2ltb24gRnJhc2VyICA8c2ltb24uZnJhc2VyQGFwcGxlLmNvbT4KKworICAgICAg
ICBbIG1hY09TIF0gc2Nyb2xsaW5nY29vcmRpbmF0b3IvbWFjL2xhdGNoaW5nL3Njcm9sbGluZy1z
ZWxlY3Qtc2hvdWxkLW5vdC1sYXRjaC1tYWluZnJhbWUuaHRtbCBpcyBhIGZsYWt5IGZhaWx1cmUK
KyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIxMTc0Nwor
CisgICAgICAgIFJldmlld2VkIGJ5IFRpbSBIb3J0b24uCisKKyAgICAgICAgQWRkIGFuIG9wdGlv
biB0byBtb25pdG9yV2hlZWxFdmVudHMgdG8gcmVzZXQgbGF0Y2hpbmcuCisKKyAgICAgICAgKiBX
ZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL0FQSS9jL1dLQnVuZGxlUGFnZS5jcHA6CisgICAgICAg
IChXS0J1bmRsZVBhZ2VTdGFydE1vbml0b3JpbmdTY3JvbGxPcGVyYXRpb25zKToKKyAgICAgICAg
KiBXZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL0FQSS9jL1dLQnVuZGxlUGFnZS5oOgorCiAyMDIw
LTA1LTExICBXZW5zb24gSHNpZWggIDx3ZW5zb25faHNpZWhAYXBwbGUuY29tPgogCiAgICAgICAg
IFJlbW92ZSBzb21lIHVubmVjZXNzYXJ5IGluZGlyZWN0aW9uIHdoZW4gZ2V0dGluZyBEb2N1bWVu
dOKAmXMgRWRpdG9yCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2UuY3BwIGIv
U291cmNlL1dlYkNvcmUvcGFnZS9QYWdlLmNwcAppbmRleCAwNjgxOGM4MjU2YTdhNGQ2OTA1NmM5
MzEwYzFjMWQ0ZmZmNjVkN2JkLi5mY2NhNjUyZGRiOTA3YTVjYzBjY2M0NTYzN2IwNWJjM2UyZWJl
MjI5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2UuY3BwCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL3BhZ2UvUGFnZS5jcHAKQEAgLTI3MjAsMTcgKzI3MjAsMTggQEAgYm9vbCBQYWdl
Ojppc01vbml0b3JpbmdXaGVlbEV2ZW50cygpIGNvbnN0CiAgICAgcmV0dXJuICEhbV93aGVlbEV2
ZW50VGVzdE1vbml0b3I7CiB9CiAKLXZvaWQgUGFnZTo6c3RhcnRNb25pdG9yaW5nV2hlZWxFdmVu
dHMoKQordm9pZCBQYWdlOjpzdGFydE1vbml0b3JpbmdXaGVlbEV2ZW50cyhib29sIGNsZWFyTGF0
Y2hpbmdTdGF0ZSkKIHsKICAgICBlbnN1cmVXaGVlbEV2ZW50VGVzdE1vbml0b3IoKS5jbGVhckFs
bFRlc3REZWZlcnJhbHMoKTsKIAogI2lmIEVOQUJMRShXSEVFTF9FVkVOVF9MQVRDSElORykKLSAg
ICByZXNldExhdGNoaW5nU3RhdGUoKTsKKyAgICBpZiAoY2xlYXJMYXRjaGluZ1N0YXRlKQorICAg
ICAgICByZXNldExhdGNoaW5nU3RhdGUoKTsKICNlbmRpZgogCiAgICAgaWYgKGF1dG8qIGZyYW1l
VmlldyA9IG1haW5GcmFtZSgpLnZpZXcoKSkgewogICAgICAgICBpZiAobV9zY3JvbGxpbmdDb29y
ZGluYXRvcikgewotICAgICAgICAgICAgbV9zY3JvbGxpbmdDb29yZGluYXRvci0+c3RhcnRNb25p
dG9yaW5nV2hlZWxFdmVudHMoKTsKKyAgICAgICAgICAgIG1fc2Nyb2xsaW5nQ29vcmRpbmF0b3It
PnN0YXJ0TW9uaXRvcmluZ1doZWVsRXZlbnRzKGNsZWFyTGF0Y2hpbmdTdGF0ZSk7CiAgICAgICAg
ICAgICBtX3Njcm9sbGluZ0Nvb3JkaW5hdG9yLT51cGRhdGVJc01vbml0b3JpbmdXaGVlbEV2ZW50
c0ZvckZyYW1lVmlldygqZnJhbWVWaWV3KTsKICAgICAgICAgfQogICAgIH0KZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGFnZS5oIGIvU291cmNlL1dlYkNvcmUvcGFnZS9QYWdlLmgK
aW5kZXggMGE5ODEzYTBmNTFiNGZkMTQ0OTkxMWNlMjVkNDU1MjdmYmVlOTg1Mi4uODI1MjdjZWEw
YjNmYTcwMGQ4NGE0YTI5YTM2Zjc4NGVjYTQ0NTQwOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvcGFnZS9QYWdlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9QYWdlLmgKQEAgLTY2OCw3
ICs2NjgsNyBAQCBwdWJsaWM6CiAKICAgICBXRUJDT1JFX0VYUE9SVCBSZWZQdHI8V2hlZWxFdmVu
dFRlc3RNb25pdG9yPiB3aGVlbEV2ZW50VGVzdE1vbml0b3IoKSBjb25zdDsKICAgICBXRUJDT1JF
X0VYUE9SVCB2b2lkIGNsZWFyV2hlZWxFdmVudFRlc3RNb25pdG9yKCk7Ci0gICAgV0VCQ09SRV9F
WFBPUlQgdm9pZCBzdGFydE1vbml0b3JpbmdXaGVlbEV2ZW50cygpOworICAgIFdFQkNPUkVfRVhQ
T1JUIHZvaWQgc3RhcnRNb25pdG9yaW5nV2hlZWxFdmVudHMoYm9vbCBjbGVhckxhdGNoaW5nU3Rh
dGUpOwogICAgIFdFQkNPUkVfRVhQT1JUIGJvb2wgaXNNb25pdG9yaW5nV2hlZWxFdmVudHMoKSBj
b25zdDsKIAogI2lmIEVOQUJMRShWSURFTykKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Bh
Z2Uvc2Nyb2xsaW5nL1Njcm9sbGluZ0Nvb3JkaW5hdG9yLmggYi9Tb3VyY2UvV2ViQ29yZS9wYWdl
L3Njcm9sbGluZy9TY3JvbGxpbmdDb29yZGluYXRvci5oCmluZGV4IDFiNDJiYWIzNTgwODc3ZDYx
MzgzYjU2ZWNmMDIzNjc0NTY4ZDUzMjUuLjBiZmQxNTk2MDFmOWY1MTc0ODc1YjVkYzQ3YjVlNjk2
NGFiYzBlNWEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL1Njcm9s
bGluZ0Nvb3JkaW5hdG9yLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvU2Ny
b2xsaW5nQ29vcmRpbmF0b3IuaApAQCAtMTg1LDcgKzE4NSw3IEBAIHB1YmxpYzoKICAgICBFdmVu
dFRyYWNraW5nUmVnaW9ucyBhYnNvbHV0ZUV2ZW50VHJhY2tpbmdSZWdpb25zKCkgY29uc3Q7CiAg
ICAgdmlydHVhbCB2b2lkIHVwZGF0ZUlzTW9uaXRvcmluZ1doZWVsRXZlbnRzRm9yRnJhbWVWaWV3
KGNvbnN0IEZyYW1lVmlldyYpIHsgfQogCi0gICAgdmlydHVhbCB2b2lkIHN0YXJ0TW9uaXRvcmlu
Z1doZWVsRXZlbnRzKCkgeyB9CisgICAgdmlydHVhbCB2b2lkIHN0YXJ0TW9uaXRvcmluZ1doZWVs
RXZlbnRzKGJvb2wgLyogY2xlYXJMYXRjaGluZ1N0YXRlICovKSB7IH0KICAgICB2aXJ0dWFsIHZv
aWQgc3RvcE1vbml0b3JpbmdXaGVlbEV2ZW50cygpIHsgfQogCiBwcm90ZWN0ZWQ6CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9tYWMvU2Nyb2xsaW5nQ29vcmRpbmF0
b3JNYWMuaCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL21hYy9TY3JvbGxpbmdDb29y
ZGluYXRvck1hYy5oCmluZGV4IDA4ODAzMmE0YzQ4YmQwZTE3Y2QxYTQ4OGQ1YzViODU1NDU5NTk0
NGQuLjkzZWEwODJmMDhlYTQzNWI3MjQwYTc2ODYzOWYwNTA2MDI5YTY1MjUgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL21hYy9TY3JvbGxpbmdDb29yZGluYXRvck1h
Yy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL21hYy9TY3JvbGxpbmdDb29y
ZGluYXRvck1hYy5oCkBAIC00OCw3ICs0OCw3IEBAIHByaXZhdGU6CiAKICAgICB2b2lkIHVwZGF0
ZVRpbGVkU2Nyb2xsaW5nSW5kaWNhdG9yKCk7CiAKLSAgICB2b2lkIHN0YXJ0TW9uaXRvcmluZ1do
ZWVsRXZlbnRzKCkgZmluYWw7CisgICAgdm9pZCBzdGFydE1vbml0b3JpbmdXaGVlbEV2ZW50cyhi
b29sIGNsZWFyTGF0Y2hpbmdTdGF0ZSkgZmluYWw7CiAgICAgdm9pZCBzdG9wTW9uaXRvcmluZ1do
ZWVsRXZlbnRzKCkgZmluYWw7CiB9OwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdl
L3Njcm9sbGluZy9tYWMvU2Nyb2xsaW5nQ29vcmRpbmF0b3JNYWMubW0gYi9Tb3VyY2UvV2ViQ29y
ZS9wYWdlL3Njcm9sbGluZy9tYWMvU2Nyb2xsaW5nQ29vcmRpbmF0b3JNYWMubW0KaW5kZXggZmRl
MzgyN2M3ZGI3MzZjNzdiNjY4NTNkMmE1MjQ5YzViN2VhNjkwYy4uZGU2Yjc0MzE2MGZkOGE2MmM4
NTNjNzlkODdjZWRjZjNmZmYxYjY4ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9z
Y3JvbGxpbmcvbWFjL1Njcm9sbGluZ0Nvb3JkaW5hdG9yTWFjLm1tCisrKyBiL1NvdXJjZS9XZWJD
b3JlL3BhZ2Uvc2Nyb2xsaW5nL21hYy9TY3JvbGxpbmdDb29yZGluYXRvck1hYy5tbQpAQCAtMTI5
LDkgKzEyOSwxMCBAQCB2b2lkIFNjcm9sbGluZ0Nvb3JkaW5hdG9yTWFjOjp1cGRhdGVUaWxlZFNj
cm9sbGluZ0luZGljYXRvcigpCiAgICAgdGlsZWRCYWNraW5nLT5zZXRTY3JvbGxpbmdNb2RlSW5k
aWNhdGlvbihpbmRpY2F0b3JNb2RlKTsKIH0KIAotdm9pZCBTY3JvbGxpbmdDb29yZGluYXRvck1h
Yzo6c3RhcnRNb25pdG9yaW5nV2hlZWxFdmVudHMoKQordm9pZCBTY3JvbGxpbmdDb29yZGluYXRv
ck1hYzo6c3RhcnRNb25pdG9yaW5nV2hlZWxFdmVudHMoYm9vbCBjbGVhckxhdGNoaW5nU3RhdGUp
CiB7Ci0gICAgc2Nyb2xsaW5nVHJlZSgpLT5jbGVhckxhdGNoZWROb2RlKCk7CisgICAgaWYgKGNs
ZWFyTGF0Y2hpbmdTdGF0ZSkKKyAgICAgICAgc2Nyb2xsaW5nVHJlZSgpLT5jbGVhckxhdGNoZWRO
b2RlKCk7CiAgICAgYXV0byBtb25pdG9yID0gbV9wYWdlLT53aGVlbEV2ZW50VGVzdE1vbml0b3Io
KTsKICAgICBzY3JvbGxpbmdUcmVlKCktPnNldFdoZWVsRXZlbnRUZXN0TW9uaXRvcihXVEZNb3Zl
KG1vbml0b3IpKTsKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvanMvV2Vi
Q29yZVRlc3RTdXBwb3J0LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvanMvV2ViQ29yZVRl
c3RTdXBwb3J0LmNwcAppbmRleCA0NTk1ZDNjZDc5YzQ5Y2Y0YThkYjkyMzhkNmUzY2IyMjU1MTEz
NTUzLi5hY2JhN2ExZGMwZDAwMzY4NjYxMzhhMmQwNTNlNGJkNjg1Mjk5ZDQ2IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL2pzL1dlYkNvcmVUZXN0U3VwcG9ydC5jcHAKKysrIGIv
U291cmNlL1dlYkNvcmUvdGVzdGluZy9qcy9XZWJDb3JlVGVzdFN1cHBvcnQuY3BwCkBAIC03OSwx
MyArNzksMTMgQEAgdm9pZCByZXNldEludGVybmFsc09iamVjdChKU0NvbnRleHRSZWYgY29udGV4
dCkKICAgICBJbnRlcm5hbFNldHRpbmdzOjpmcm9tKHBhZ2UpLT5yZXNldFRvQ29uc2lzdGVudFN0
YXRlKCk7CiB9CiAKLXZvaWQgbW9uaXRvcldoZWVsRXZlbnRzKFdlYkNvcmU6OkZyYW1lJiBmcmFt
ZSkKK3ZvaWQgbW9uaXRvcldoZWVsRXZlbnRzKFdlYkNvcmU6OkZyYW1lJiBmcmFtZSwgYm9vbCBj
bGVhckxhdGNoaW5nU3RhdGUpCiB7CiAgICAgUGFnZSogcGFnZSA9IGZyYW1lLnBhZ2UoKTsKICAg
ICBpZiAoIXBhZ2UpCiAgICAgICAgIHJldHVybjsKIAotICAgIHBhZ2UtPnN0YXJ0TW9uaXRvcmlu
Z1doZWVsRXZlbnRzKCk7CisgICAgcGFnZS0+c3RhcnRNb25pdG9yaW5nV2hlZWxFdmVudHMoY2xl
YXJMYXRjaGluZ1N0YXRlKTsKIH0KIAogdm9pZCBzZXRXaGVlbEV2ZW50TW9uaXRvclRlc3RDYWxs
YmFja0FuZFN0YXJ0TW9uaXRvcmluZyhib29sIGV4cGVjdFdoZWVsRW5kT3JDYW5jZWwsIGJvb2wg
ZXhwZWN0TW9tZW50dW1FbmQsIFdlYkNvcmU6OkZyYW1lJiBmcmFtZSwgSlNDb250ZXh0UmVmIGNv
bnRleHQsIEpTT2JqZWN0UmVmIGpzQ2FsbGJhY2tGdW5jdGlvbikKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL3Rlc3RpbmcvanMvV2ViQ29yZVRlc3RTdXBwb3J0LmggYi9Tb3VyY2UvV2ViQ29y
ZS90ZXN0aW5nL2pzL1dlYkNvcmVUZXN0U3VwcG9ydC5oCmluZGV4IDJjMzYxNjMwZGQ0NGNmOWY0
OTYyZTc5OTliZDJkNmQxNTE5OGVhM2QuLjhlNDFhMDZmZDUxYjZjNGRmNjAwNmViMDZlODRmMDAy
MDI0Yzc1YjcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvanMvV2ViQ29yZVRl
c3RTdXBwb3J0LmgKKysrIGIvU291cmNlL1dlYkNvcmUvdGVzdGluZy9qcy9XZWJDb3JlVGVzdFN1
cHBvcnQuaApAQCAtNDYsNyArNDYsNyBAQCBuYW1lc3BhY2UgV2ViQ29yZVRlc3RTdXBwb3J0IHsK
IAogdm9pZCBpbmplY3RJbnRlcm5hbHNPYmplY3QoSlNDb250ZXh0UmVmKSBURVNUX1NVUFBPUlRf
RVhQT1JUOwogdm9pZCByZXNldEludGVybmFsc09iamVjdChKU0NvbnRleHRSZWYpIFRFU1RfU1VQ
UE9SVF9FWFBPUlQ7Ci12b2lkIG1vbml0b3JXaGVlbEV2ZW50cyhXZWJDb3JlOjpGcmFtZSYpIFRF
U1RfU1VQUE9SVF9FWFBPUlQ7Cit2b2lkIG1vbml0b3JXaGVlbEV2ZW50cyhXZWJDb3JlOjpGcmFt
ZSYsIGJvb2wgY2xlYXJMYXRjaGluZ1N0YXRlKSBURVNUX1NVUFBPUlRfRVhQT1JUOwogdm9pZCBz
ZXRXaGVlbEV2ZW50TW9uaXRvclRlc3RDYWxsYmFja0FuZFN0YXJ0TW9uaXRvcmluZyhib29sIGV4
cGVjdFdoZWVsRW5kT3JDYW5jZWwsIGJvb2wgZXhwZWN0TW9tZW50dW1FbmQsIFdlYkNvcmU6OkZy
YW1lJiwgSlNDb250ZXh0UmVmLCBKU09iamVjdFJlZikgVEVTVF9TVVBQT1JUX0VYUE9SVDsKIHZv
aWQgY2xlYXJXaGVlbEV2ZW50VGVzdE1vbml0b3IoV2ViQ29yZTo6RnJhbWUmKSBURVNUX1NVUFBP
UlRfRVhQT1JUOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvSW5qZWN0
ZWRCdW5kbGUvQVBJL2MvV0tCdW5kbGVQYWdlLmNwcCBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vz
cy9JbmplY3RlZEJ1bmRsZS9BUEkvYy9XS0J1bmRsZVBhZ2UuY3BwCmluZGV4IGU5MzlhNGUzZWQ1
NjdjNjI1MGViNTA4MWQyYzRmY2YwYmVkZDVjMzMuLmM4ZmQ1Yjg3MDI4MDZlZWI4ZDlhNWI1MDk0
YWM2MWQ4YTkzODNiY2YgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9Jbmpl
Y3RlZEJ1bmRsZS9BUEkvYy9XS0J1bmRsZVBhZ2UuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvV2Vi
UHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9BUEkvYy9XS0J1bmRsZVBhZ2UuY3BwCkBAIC02OTQsNyAr
Njk0LDcgQEAgdm9pZCBXS0J1bmRsZVBhZ2VTZXRVc2VUZXN0aW5nVmlld3BvcnRDb25maWd1cmF0
aW9uKFdLQnVuZGxlUGFnZVJlZiBwYWdlUmVmLCBib28KIH0KICNlbmRpZgogCi12b2lkIFdLQnVu
ZGxlUGFnZVN0YXJ0TW9uaXRvcmluZ1Njcm9sbE9wZXJhdGlvbnMoV0tCdW5kbGVQYWdlUmVmIHBh
Z2VSZWYpCit2b2lkIFdLQnVuZGxlUGFnZVN0YXJ0TW9uaXRvcmluZ1Njcm9sbE9wZXJhdGlvbnMo
V0tCdW5kbGVQYWdlUmVmIHBhZ2VSZWYsIGJvb2wgY2xlYXJMYXRjaGluZ1N0YXRlKQogewogICAg
IFdlYktpdDo6V2ViUGFnZSogd2ViUGFnZSA9IFdlYktpdDo6dG9JbXBsKHBhZ2VSZWYpOwogICAg
IFdlYkNvcmU6OlBhZ2UqIHBhZ2UgPSB3ZWJQYWdlID8gd2ViUGFnZS0+Y29yZVBhZ2UoKSA6IG51
bGxwdHI7CkBAIC03MDIsNyArNzAyLDcgQEAgdm9pZCBXS0J1bmRsZVBhZ2VTdGFydE1vbml0b3Jp
bmdTY3JvbGxPcGVyYXRpb25zKFdLQnVuZGxlUGFnZVJlZiBwYWdlUmVmKQogICAgIGlmICghcGFn
ZSkKICAgICAgICAgcmV0dXJuOwogCi0gICAgcGFnZS0+c3RhcnRNb25pdG9yaW5nV2hlZWxFdmVu
dHMoKTsKKyAgICBwYWdlLT5zdGFydE1vbml0b3JpbmdXaGVlbEV2ZW50cyhjbGVhckxhdGNoaW5n
U3RhdGUpOwogfQogCiBib29sIFdLQnVuZGxlUGFnZVJlZ2lzdGVyU2Nyb2xsT3BlcmF0aW9uQ29t
cGxldGlvbkNhbGxiYWNrKFdLQnVuZGxlUGFnZVJlZiBwYWdlUmVmLCBXS0J1bmRsZVBhZ2VUZXN0
Tm90aWZpY2F0aW9uQ2FsbGJhY2sgY2FsbGJhY2ssIGJvb2wgZXhwZWN0V2hlZWxFbmRPckNhbmNl
bCwgYm9vbCBleHBlY3RNb21lbnR1bUVuZCwgdm9pZCogY29udGV4dCkKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9BUEkvYy9XS0J1bmRsZVBhZ2Uu
aCBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9BUEkvYy9XS0J1bmRs
ZVBhZ2UuaAppbmRleCA0ZjgzYjhlZjBjODAyYmNjMWIzZDdiY2Y5NDJjZWFlYTE0N2VhYWNmLi5k
ZjcyZThlMDU1MDg2OThlYjk1YjQ1OWFhNGM1NTllMGM4ZGIxNzAyIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViS2l0L1dlYlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUvQVBJL2MvV0tCdW5kbGVQYWdlLmgK
KysrIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL0FQSS9jL1dLQnVu
ZGxlUGFnZS5oCkBAIC0xMTUsNyArMTE1LDcgQEAgV0tfRVhQT1JUIGJvb2wgV0tCdW5kbGVQYWdl
SXNVc2luZ0VwaGVtZXJhbFNlc3Npb24oV0tCdW5kbGVQYWdlUmVmIHBhZ2UpOwogCiBXS19FWFBP
UlQgYm9vbCBXS0J1bmRsZVBhZ2VJc0NvbnRyb2xsZWRCeUF1dG9tYXRpb24oV0tCdW5kbGVQYWdl
UmVmIHBhZ2UpOwogCi1XS19FWFBPUlQgdm9pZCBXS0J1bmRsZVBhZ2VTdGFydE1vbml0b3JpbmdT
Y3JvbGxPcGVyYXRpb25zKFdLQnVuZGxlUGFnZVJlZiBwYWdlKTsKK1dLX0VYUE9SVCB2b2lkIFdL
QnVuZGxlUGFnZVN0YXJ0TW9uaXRvcmluZ1Njcm9sbE9wZXJhdGlvbnMoV0tCdW5kbGVQYWdlUmVm
IHBhZ2UsIGJvb2wgY2xlYXJMYXRjaGluZ1N0YXRlKTsKIAogV0tfRVhQT1JUIFdLU3RyaW5nUmVm
IFdLQnVuZGxlUGFnZUNvcHlHcm91cElkZW50aWZpZXIoV0tCdW5kbGVQYWdlUmVmIHBhZ2UpOwog
CmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VMb2cgYi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggZDY0
NjJhYTMwMGYxMmI0OTNkNzk4MDViYWU2ZmM2ZGUxNmRiNzRhOC4uMGRkODkyZTNmMThmOTZiZWQ3
NGY0ZjBkOGM0MWZhMTU1ZDNmMGM1YyAxMDA2NDQKLS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBi
L1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI1IEBACisyMDIwLTA1LTExICBTaW1vbiBGcmFz
ZXIgIDxzaW1vbi5mcmFzZXJAYXBwbGUuY29tPgorCisgICAgICAgIFsgbWFjT1MgXSBzY3JvbGxp
bmdjb29yZGluYXRvci9tYWMvbGF0Y2hpbmcvc2Nyb2xsaW5nLXNlbGVjdC1zaG91bGQtbm90LWxh
dGNoLW1haW5mcmFtZS5odG1sIGlzIGEgZmxha3kgZmFpbHVyZQorICAgICAgICBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjExNzQ3CisKKyAgICAgICAgUmV2aWV3ZWQg
YnkgVGltIEhvcnRvbi4KKworICAgICAgICBBZGQgYW4gb3B0aW9uIHRvIG1vbml0b3JXaGVlbEV2
ZW50cyB0byByZXNldCBsYXRjaGluZy4KKworICAgICAgICAqIER1bXBSZW5kZXJUcmVlL21hYy9F
dmVudFNlbmRpbmdDb250cm9sbGVyLm1tOgorICAgICAgICAoK1tFdmVudFNlbmRpbmdDb250cm9s
bGVyIGlzU2VsZWN0b3JFeGNsdWRlZEZyb21XZWJTY3JpcHQ6XSk6CisgICAgICAgICgrW0V2ZW50
U2VuZGluZ0NvbnRyb2xsZXIgd2ViU2NyaXB0TmFtZUZvclNlbGVjdG9yOl0pOgorICAgICAgICAo
LVtFdmVudFNlbmRpbmdDb250cm9sbGVyIG1vbml0b3JXaGVlbEV2ZW50c1dpdGhPcHRpb25zOl0p
OgorICAgICAgICAoLVtFdmVudFNlbmRpbmdDb250cm9sbGVyIG1vbml0b3JXaGVlbEV2ZW50c10p
OiBEZWxldGVkLgorICAgICAgICAqIFdlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvQmlu
ZGluZ3MvRXZlbnRTZW5kaW5nQ29udHJvbGxlci5pZGw6CisgICAgICAgICogV2ViS2l0VGVzdFJ1
bm5lci9JbmplY3RlZEJ1bmRsZS9FdmVudFNlbmRpbmdDb250cm9sbGVyLmNwcDoKKyAgICAgICAg
KFdUUjo6dG9Nb25pdG9yV2hlZWxFdmVudHNPcHRpb25zKTogV2UgaGF2ZSB0byByZXR1cm4gYSBw
b2ludGVyIHRvIGEgc3RhdGljLCBiZWNhdXNlIHRoZSBnZW5lcmF0ZWQgY29kZQorICAgICAgICBk
b2Vzbid0IHVzZSBzbWFydCBwb2ludGVycy4KKyAgICAgICAgKFdUUjo6RXZlbnRTZW5kaW5nQ29u
dHJvbGxlcjo6bW9uaXRvcldoZWVsRXZlbnRzKToKKyAgICAgICAgKiBXZWJLaXRUZXN0UnVubmVy
L0luamVjdGVkQnVuZGxlL0V2ZW50U2VuZGluZ0NvbnRyb2xsZXIuaDoKKyAgICAgICAgKFdUUjo6
TW9uaXRvcldoZWVsRXZlbnRzT3B0aW9uczo6TW9uaXRvcldoZWVsRXZlbnRzT3B0aW9ucyk6CisK
IDIwMjAtMDUtMTEgIEFsZXggQ2hyaXN0ZW5zZW4gIDxhY2hyaXN0ZW5zZW5Ad2Via2l0Lm9yZz4K
IAogICAgICAgICBBZGQgc29tZSBsb2dzIHRvIGRpYWdub3NlIHdoeSBXZWJLaXRMZWdhY3kuQ3Jv
c3NQYXJ0aXRpb25GaWxlU2NoZW1lQWNjZXNzIEFQSSB0ZXN0IHRpbWVzIG91dCBpbiBFV1MKZGlm
ZiAtLWdpdCBhL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL21hYy9FdmVudFNlbmRpbmdDb250cm9sbGVy
Lm1tIGIvVG9vbHMvRHVtcFJlbmRlclRyZWUvbWFjL0V2ZW50U2VuZGluZ0NvbnRyb2xsZXIubW0K
aW5kZXggYTZkZGI0YzkyZmRjYmUzNDdmNjhmYTE5NmVmMDlmY2NjMWY2M2Q1Ny4uNDhiNjY3ZGUx
NDJiZWM1OWRiYzIyMWNiYWUwMGRjODUwNGRkMmU5MiAxMDA2NDQKLS0tIGEvVG9vbHMvRHVtcFJl
bmRlclRyZWUvbWFjL0V2ZW50U2VuZGluZ0NvbnRyb2xsZXIubW0KKysrIGIvVG9vbHMvRHVtcFJl
bmRlclRyZWUvbWFjL0V2ZW50U2VuZGluZ0NvbnRyb2xsZXIubW0KQEAgLTI1Myw3ICsyNTMsNyBA
QCArIChCT09MKWlzU2VsZWN0b3JFeGNsdWRlZEZyb21XZWJTY3JpcHQ6KFNFTClhU2VsZWN0b3IK
ICAgICAgICAgICAgIHx8IGFTZWxlY3RvciA9PSBAc2VsZWN0b3IobW91c2VTY3JvbGxCeVg6YW5k
WTopCiAgICAgICAgICAgICB8fCBhU2VsZWN0b3IgPT0gQHNlbGVjdG9yKG1vdXNlU2Nyb2xsQnlY
OmFuZFk6d2l0aFdoZWVsOmFuZE1vbWVudHVtUGhhc2VzOikKICAgICAgICAgICAgIHx8IGFTZWxl
Y3RvciA9PSBAc2VsZWN0b3IoY29udGludW91c01vdXNlU2Nyb2xsQnlYOmFuZFk6KQotICAgICAg
ICAgICAgfHwgYVNlbGVjdG9yID09IEBzZWxlY3Rvcihtb25pdG9yV2hlZWxFdmVudHMpCisgICAg
ICAgICAgICB8fCBhU2VsZWN0b3IgPT0gQHNlbGVjdG9yKG1vbml0b3JXaGVlbEV2ZW50c1dpdGhP
cHRpb25zOikKICAgICAgICAgICAgIHx8IGFTZWxlY3RvciA9PSBAc2VsZWN0b3IoY2FsbEFmdGVy
U2Nyb2xsaW5nQ29tcGxldGVzOikKICNpZiBQTEFURk9STShNQUMpCiAgICAgICAgICAgICB8fCBh
U2VsZWN0b3IgPT0gQHNlbGVjdG9yKGJlZ2luRHJhZ1dpdGhGaWxlczopCkBAIC0zMTgsNyArMzE4
LDcgQEAgKyAoTlNTdHJpbmcgKil3ZWJTY3JpcHROYW1lRm9yU2VsZWN0b3I6KFNFTClhU2VsZWN0
b3IKICAgICAgICAgcmV0dXJuIEAiY29udGludW91c01vdXNlU2Nyb2xsQnkiOwogICAgIGlmIChh
U2VsZWN0b3IgPT0gQHNlbGVjdG9yKHNjYWxlUGFnZUJ5OmF0WDphbmRZOikpCiAgICAgICAgIHJl
dHVybiBAInNjYWxlUGFnZUJ5IjsKLSAgICBpZiAoYVNlbGVjdG9yID09IEBzZWxlY3Rvcihtb25p
dG9yV2hlZWxFdmVudHMpKQorICAgIGlmIChhU2VsZWN0b3IgPT0gQHNlbGVjdG9yKG1vbml0b3JX
aGVlbEV2ZW50c1dpdGhPcHRpb25zOikpCiAgICAgICAgIHJldHVybiBAIm1vbml0b3JXaGVlbEV2
ZW50cyI7CiAgICAgaWYgKGFTZWxlY3RvciA9PSBAc2VsZWN0b3IoY2FsbEFmdGVyU2Nyb2xsaW5n
Q29tcGxldGVzOikpCiAgICAgICAgIHJldHVybiBAImNhbGxBZnRlclNjcm9sbGluZ0NvbXBsZXRl
cyI7CkBAIC0xMzg3LDcgKzEzODcsNyBAQCAtICh2b2lkKWZpcmVLZXlib2FyZEV2ZW50c1RvRWxl
bWVudDooV2ViU2NyaXB0T2JqZWN0ICopZWxlbWVudCB7CiAgICAgCiB9CiAKLS0gKHZvaWQpbW9u
aXRvcldoZWVsRXZlbnRzCistICh2b2lkKW1vbml0b3JXaGVlbEV2ZW50c1dpdGhPcHRpb25zOihX
ZWJTY3JpcHRPYmplY3QqKW9wdGlvbnMKIHsKICNpZiBQTEFURk9STShNQUMpCiAgICAgV2ViQ29y
ZTo6RnJhbWUqIGZyYW1lID0gW1ttYWluRnJhbWUgd2ViVmlld10gX21haW5Db3JlRnJhbWVdOwpA
QCAtMTM5Niw3ICsxMzk2LDE3IEBAIC0gKHZvaWQpbW9uaXRvcldoZWVsRXZlbnRzCiAKICAgICBf
c2VudFdoZWVsUGhhc2VFbmRPckNhbmNlbCA9IE5POwogICAgIF9zZW50TW9tZW50dW1QaGFzZUVu
ZCA9IE5POwotICAgIFdlYkNvcmVUZXN0U3VwcG9ydDo6bW9uaXRvcldoZWVsRXZlbnRzKCpmcmFt
ZSk7CisKKyAgICBib29sIHJlc2V0TGF0Y2hpbmcgPSB0cnVlOworCisgICAgaWYgKCFbb3B0aW9u
cyBpc0tpbmRPZkNsYXNzOltXZWJVbmRlZmluZWQgc2VsZl1dKSB7CisgICAgICAgIGlmIChpZCBy
ZXNldExhdGNoaW5nVmFsdWUgPSBbb3B0aW9ucyB2YWx1ZUZvcktleTpAInJlc2V0TGF0Y2hpbmci
XSkgeworICAgICAgICAgICAgaWYgKFtyZXNldExhdGNoaW5nVmFsdWUgaXNLaW5kT2ZDbGFzczpb
TlNOdW1iZXIgc2VsZl1dKQorICAgICAgICAgICAgICAgIHJlc2V0TGF0Y2hpbmcgPSBbcmVzZXRM
YXRjaGluZ1ZhbHVlIGJvb2xWYWx1ZV07CisgICAgICAgIH0KKyAgICB9CisKKyAgICBXZWJDb3Jl
VGVzdFN1cHBvcnQ6Om1vbml0b3JXaGVlbEV2ZW50cygqZnJhbWUsIHJlc2V0TGF0Y2hpbmcpOwog
I2VuZGlmCiB9CiAKZGlmZiAtLWdpdCBhL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL3dpbi9FdmVudFNl
bmRlci5jcHAgYi9Ub29scy9EdW1wUmVuZGVyVHJlZS93aW4vRXZlbnRTZW5kZXIuY3BwCmluZGV4
IGU3ZTI4YzRhZTlkM2VkYjFhYmZkNTIxNWQ5MmQyZmE3NzdkYTNlYjkuLjEwMzViYWY0ZGVkMjk4
Njk3ZGFmNTFlN2VlN2QxMTEyZjYwNGZhOTcgMTAwNjQ0Ci0tLSBhL1Rvb2xzL0R1bXBSZW5kZXJU
cmVlL3dpbi9FdmVudFNlbmRlci5jcHAKKysrIGIvVG9vbHMvRHVtcFJlbmRlclRyZWUvd2luL0V2
ZW50U2VuZGVyLmNwcApAQCAtMzYsNiArMzYsNyBAQAogI2luY2x1ZGUgIkR1bXBSZW5kZXJUcmVl
LmgiCiAjaW5jbHVkZSAiV2ViQ29yZVRlc3RTdXBwb3J0LmgiCiAKKyNpbmNsdWRlIDxKYXZhU2Ny
aXB0Q29yZS9KU1JldGFpblB0ci5oPgogI2luY2x1ZGUgPEphdmFTY3JpcHRDb3JlL0phdmFTY3Jp
cHRDb3JlLmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9DT01QdHIuaD4KICNpbmNsdWRlIDxXZWJDb3Jl
L1BsYXRmb3JtV2hlZWxFdmVudC5oPgpAQCAtOTAzLDcgKzkwNCwxNyBAQCBzdGF0aWMgSlNWYWx1
ZVJlZiBtb25pdG9yV2hlZWxFdmVudHMoSlNDb250ZXh0UmVmIGNvbnRleHQsIEpTT2JqZWN0UmVm
IGZ1bmN0aW9uLAogICAgICAgICByZXR1cm4gSlNWYWx1ZU1ha2VVbmRlZmluZWQoY29udGV4dCk7
CiAKICAgICBXZWJDb3JlOjpGcmFtZSogY29yZUZyYW1lID0gY29yZShzdGF0aWNfY2FzdDxXZWJG
cmFtZSo+KGZyYW1lMi5nZXQoKSkpOwotICAgIFdlYkNvcmVUZXN0U3VwcG9ydDo6bW9uaXRvcldo
ZWVsRXZlbnRzKCpjb3JlRnJhbWUpOworCisgICAgYm9vbCByZXNldExhdGNoaW5nID0gdHJ1ZTsK
KyAgICBpZiAoYXJndW1lbnRDb3VudCA+IDApIHsKKyAgICAgICAgYXV0byByZXNldExhdGNoaW5n
U3RyaW5nID0gYWRvcHQoSlNTdHJpbmdDcmVhdGVXaXRoVVRGOENTdHJpbmcoInJlc2V0TGF0Y2hp
bmciKSk7CisgICAgICAgIGF1dG8gcmVzZXRMYXRjaGluZ1ZhbHVlID0gSlNPYmplY3RHZXRQcm9w
ZXJ0eShjb250ZXh0LCBKU1ZhbHVlVG9PYmplY3QoY29udGV4dCwgYXJndW1lbnRzWzBdLCBudWxs
cHRyKSwgcmVzZXRMYXRjaGluZ1N0cmluZy5nZXQoKSwgbnVsbHB0cik7CisKKyAgICAgICAgaWYg
KHJlc2V0TGF0Y2hpbmdWYWx1ZSAmJiBKU1ZhbHVlSXNCb29sZWFuKGNvbnRleHQsIHJlc2V0TGF0
Y2hpbmdWYWx1ZSkpCisgICAgICAgICAgICByZXNldExhdGNoaW5nID0gSlNWYWx1ZVRvQm9vbGVh
bihjb250ZXh0LCByZXNldExhdGNoaW5nVmFsdWUpOworICAgIH0KKworICAgIFdlYkNvcmVUZXN0
U3VwcG9ydDo6bW9uaXRvcldoZWVsRXZlbnRzKCpjb3JlRnJhbWUsIHJlc2V0TGF0Y2hpbmcpOwog
ICAgIAogICAgIHJldHVybiBKU1ZhbHVlTWFrZVVuZGVmaW5lZChjb250ZXh0KTsKIH0KZGlmZiAt
LWdpdCBhL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvQmluZGluZ3MvRXZl
bnRTZW5kaW5nQ29udHJvbGxlci5pZGwgYi9Ub29scy9XZWJLaXRUZXN0UnVubmVyL0luamVjdGVk
QnVuZGxlL0JpbmRpbmdzL0V2ZW50U2VuZGluZ0NvbnRyb2xsZXIuaWRsCmluZGV4IGQ1YjgwMzg0
NTllNzZiOTg5MTQ5OThjNjA5YjZmMzYxNjc0MDdkODEuLjFhYWQwYTZlYzNjOWJhMmVjYTA3OGYy
ODFkYTcyMmNjOTUyMTYxZWEgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvSW5q
ZWN0ZWRCdW5kbGUvQmluZGluZ3MvRXZlbnRTZW5kaW5nQ29udHJvbGxlci5pZGwKKysrIGIvVG9v
bHMvV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9CaW5kaW5ncy9FdmVudFNlbmRpbmdD
b250cm9sbGVyLmlkbApAQCAtMjMsNiArMjMsMTAgQEAKICAqIFRIRSBQT1NTSUJJTElUWSBPRiBT
VUNIIERBTUFHRS4KICAqLwogCitkaWN0aW9uYXJ5IE1vbml0b3JXaGVlbEV2ZW50c09wdGlvbnMg
eworICAgIGJvb2xlYW4gcmVzZXRMYXRjaGluZyA9IHRydWU7Cit9OworCiBpbnRlcmZhY2UgRXZl
bnRTZW5kaW5nQ29udHJvbGxlciB7CiAgICAgdm9pZCBtb3VzZURvd24obG9uZyBidXR0b25OdW1i
ZXIsIG9iamVjdCBtb2RpZmllckFycmF5KTsKICAgICB2b2lkIG1vdXNlVXAobG9uZyBidXR0b25O
dW1iZXIsIG9iamVjdCBtb2RpZmllckFycmF5KTsKQEAgLTUwLDcgKzU0LDcgQEAgaW50ZXJmYWNl
IEV2ZW50U2VuZGluZ0NvbnRyb2xsZXIgewogICAgIHZvaWQgem9vbVBhZ2VPdXQoKTsKICAgICB2
b2lkIHNjYWxlUGFnZUJ5KGRvdWJsZSBzY2FsZSwgZG91YmxlIHgsIGRvdWJsZSB5KTsKIAotICAg
IHZvaWQgbW9uaXRvcldoZWVsRXZlbnRzKCk7CisgICAgdm9pZCBtb25pdG9yV2hlZWxFdmVudHMo
b3B0aW9uYWwgTW9uaXRvcldoZWVsRXZlbnRzT3B0aW9ucyBvcHRpb25zKTsKICAgICB2b2lkIGNh
bGxBZnRlclNjcm9sbGluZ0NvbXBsZXRlcyhvYmplY3QgZnVuY3Rpb25DYWxsYmFjayk7CiAKICNp
ZiBkZWZpbmVkKEVOQUJMRV9UT1VDSF9FVkVOVFMpICYmIEVOQUJMRV9UT1VDSF9FVkVOVFMKZGlm
ZiAtLWdpdCBhL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvRXZlbnRTZW5k
aW5nQ29udHJvbGxlci5jcHAgYi9Ub29scy9XZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxl
L0V2ZW50U2VuZGluZ0NvbnRyb2xsZXIuY3BwCmluZGV4IDBjMWYwNjczMzdiZjc5OWMzMTM3OTY5
Mjk0OWM0ZWU4NTM2ZjZlNDguLjU1M2ZkMDVlZjE2OWYzNTIzYTA0MzFmMTMxNzQyZmJjMjIxNzA0
MDkgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvRXZl
bnRTZW5kaW5nQ29udHJvbGxlci5jcHAKKysrIGIvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9Jbmpl
Y3RlZEJ1bmRsZS9FdmVudFNlbmRpbmdDb250cm9sbGVyLmNwcApAQCAtNjEwLDEzICs2MTAsMzAg
QEAgdm9pZCBFdmVudFNlbmRpbmdDb250cm9sbGVyOjpzY2FsZVBhZ2VCeShkb3VibGUgc2NhbGUs
IGRvdWJsZSB4LCBkb3VibGUgeSkKICAgICBXS0J1bmRsZVBhZ2VTZXRTY2FsZUF0T3JpZ2luKElu
amVjdGVkQnVuZGxlOjpzaW5nbGV0b24oKS5wYWdlKCktPnBhZ2UoKSwgc2NhbGUsIG9yaWdpbik7
CiB9CiAKLXZvaWQgRXZlbnRTZW5kaW5nQ29udHJvbGxlcjo6bW9uaXRvcldoZWVsRXZlbnRzKCkK
K01vbml0b3JXaGVlbEV2ZW50c09wdGlvbnMqIHRvTW9uaXRvcldoZWVsRXZlbnRzT3B0aW9ucyhK
U0NvbnRleHRSZWYgY29udGV4dCwgSlNWYWx1ZVJlZiBhcmd1bWVudCkKK3sKKyAgICBpZiAoIUpT
VmFsdWVJc09iamVjdChjb250ZXh0LCBhcmd1bWVudCkpCisgICAgICAgIHJldHVybiBudWxscHRy
OworCisgICAgYXV0byByZXNldExhdGNoaW5nU3RyaW5nID0gYWRvcHQoSlNTdHJpbmdDcmVhdGVX
aXRoVVRGOENTdHJpbmcoInJlc2V0TGF0Y2hpbmciKSk7CisgICAgYXV0byByZXNldExhdGNoaW5n
VmFsdWUgPSBKU09iamVjdEdldFByb3BlcnR5KGNvbnRleHQsIEpTVmFsdWVUb09iamVjdChjb250
ZXh0LCBhcmd1bWVudCwgbnVsbHB0ciksIHJlc2V0TGF0Y2hpbmdTdHJpbmcuZ2V0KCksIG51bGxw
dHIpOworCisgICAgYm9vbCByZXNldExhdGNoaW5nID0gdHJ1ZTsKKyAgICBpZiAocmVzZXRMYXRj
aGluZ1ZhbHVlICYmIEpTVmFsdWVJc0Jvb2xlYW4oY29udGV4dCwgcmVzZXRMYXRjaGluZ1ZhbHVl
KSkKKyAgICAgICAgcmVzZXRMYXRjaGluZyA9IEpTVmFsdWVUb0Jvb2xlYW4oY29udGV4dCwgcmVz
ZXRMYXRjaGluZ1ZhbHVlKTsKKworICAgIHN0YXRpYyBNb25pdG9yV2hlZWxFdmVudHNPcHRpb25z
IG9wdGlvbnM7CisgICAgb3B0aW9ucy5yZXNldExhdGNoaW5nID0gcmVzZXRMYXRjaGluZzsKKyAg
ICByZXR1cm4gJm9wdGlvbnM7Cit9CisKK3ZvaWQgRXZlbnRTZW5kaW5nQ29udHJvbGxlcjo6bW9u
aXRvcldoZWVsRXZlbnRzKE1vbml0b3JXaGVlbEV2ZW50c09wdGlvbnMqIG9wdGlvbnMpCiB7CiAg
ICAgV0tCdW5kbGVQYWdlUmVmIHBhZ2UgPSBJbmplY3RlZEJ1bmRsZTo6c2luZ2xldG9uKCkucGFn
ZSgpLT5wYWdlKCk7CiAgICAgCiAgICAgbV9zZW50V2hlZWxQaGFzZUVuZE9yQ2FuY2VsID0gZmFs
c2U7CiAgICAgbV9zZW50V2hlZWxNb21lbnR1bVBoYXNlRW5kID0gZmFsc2U7Ci0gICAgV0tCdW5k
bGVQYWdlU3RhcnRNb25pdG9yaW5nU2Nyb2xsT3BlcmF0aW9ucyhwYWdlKTsKKyAgICBXS0J1bmRs
ZVBhZ2VTdGFydE1vbml0b3JpbmdTY3JvbGxPcGVyYXRpb25zKHBhZ2UsIG9wdGlvbnMgPyBvcHRp
b25zLT5yZXNldExhdGNoaW5nIDogdHJ1ZSk7CiB9CiAKIHN0cnVjdCBTY3JvbGxDb21wbGV0aW9u
Q2FsbGJhY2tEYXRhIHsKZGlmZiAtLWdpdCBhL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0
ZWRCdW5kbGUvRXZlbnRTZW5kaW5nQ29udHJvbGxlci5oIGIvVG9vbHMvV2ViS2l0VGVzdFJ1bm5l
ci9JbmplY3RlZEJ1bmRsZS9FdmVudFNlbmRpbmdDb250cm9sbGVyLmgKaW5kZXggNTIzMjZhYzg1
MDgyZDBjMmRlOWFiZTk1NWYyNjE4NTBlYzg5ODMwNy4uOWEyYWZkOTU4Y2NkNzBlY2QyMWVjNGUz
YjNmZWM0Y2Y3Y2M4NWJhOCAxMDA2NDQKLS0tIGEvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9Jbmpl
Y3RlZEJ1bmRsZS9FdmVudFNlbmRpbmdDb250cm9sbGVyLmgKKysrIGIvVG9vbHMvV2ViS2l0VGVz
dFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9FdmVudFNlbmRpbmdDb250cm9sbGVyLmgKQEAgLTMyLDYg
KzMyLDE2IEBACiAKIG5hbWVzcGFjZSBXVFIgewogCitzdHJ1Y3QgTW9uaXRvcldoZWVsRXZlbnRz
T3B0aW9ucyB7CisgICAgTW9uaXRvcldoZWVsRXZlbnRzT3B0aW9ucyhib29sIHJlc2V0TGF0Y2hp
bmcgPSB0cnVlKQorICAgICAgICA6IHJlc2V0TGF0Y2hpbmcocmVzZXRMYXRjaGluZykKKyAgICB7
IH0KKworICAgIGJvb2wgcmVzZXRMYXRjaGluZyB7IHRydWUgfTsKK307CisKK01vbml0b3JXaGVl
bEV2ZW50c09wdGlvbnMqIHRvTW9uaXRvcldoZWVsRXZlbnRzT3B0aW9ucyhKU0NvbnRleHRSZWYs
IEpTVmFsdWVSZWYpOworCiBjbGFzcyBFdmVudFNlbmRpbmdDb250cm9sbGVyIDogcHVibGljIEpT
V3JhcHBhYmxlIHsKIHB1YmxpYzoKICAgICBzdGF0aWMgUmVmPEV2ZW50U2VuZGluZ0NvbnRyb2xs
ZXI+IGNyZWF0ZSgpOwpAQCAtNTYsNyArNjYsOCBAQCBwdWJsaWM6CiAgICAgSlNWYWx1ZVJlZiBj
b250ZXh0Q2xpY2soKTsKICAgICB2b2lkIGxlYXBGb3J3YXJkKGludCBtaWxsaXNlY29uZHMpOwog
ICAgIHZvaWQgc2NoZWR1bGVBc3luY2hyb25vdXNDbGljaygpOwotICAgIHZvaWQgbW9uaXRvcldo
ZWVsRXZlbnRzKCk7CisKKyAgICB2b2lkIG1vbml0b3JXaGVlbEV2ZW50cyhNb25pdG9yV2hlZWxF
dmVudHNPcHRpb25zKik7CiAgICAgdm9pZCBjYWxsQWZ0ZXJTY3JvbGxpbmdDb21wbGV0ZXMoSlNW
YWx1ZVJlZiBmdW5jdGlvbkNhbGxiYWNrKTsKIAogICAgIHZvaWQga2V5RG93bihKU1N0cmluZ1Jl
ZiBrZXksIEpTVmFsdWVSZWYgbW9kaWZpZXJBcnJheSwgaW50IGxvY2F0aW9uKTsKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCBl
YzUwZTBlMDQ0MDkzMDVlYTQ0ZTM0OWU5NGQ0YzJmYmVmZTg4M2RmLi5lNWJjYzdiY2FkZTM4YmRl
ODFmN2Q4NzE4MTMwY2EyMDI0MjllOWEzIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VM
b2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTQgQEAKKzIwMjAtMDUt
MTEgIFNpbW9uIEZyYXNlciAgPHNpbW9uLmZyYXNlckBhcHBsZS5jb20+CisKKyAgICAgICAgWyBt
YWNPUyBdIHNjcm9sbGluZ2Nvb3JkaW5hdG9yL21hYy9sYXRjaGluZy9zY3JvbGxpbmctc2VsZWN0
LXNob3VsZC1ub3QtbGF0Y2gtbWFpbmZyYW1lLmh0bWwgaXMgYSBmbGFreSBmYWlsdXJlCisgICAg
ICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMTE3NDcKKworICAg
ICAgICBSZXZpZXdlZCBieSBUaW0gSG9ydG9uLgorCisgICAgICAgIENoYW5nZSB0aGUgdGVzdCB0
byB1c2UgbW9uaXRvcldoZWVsRXZlbnRzKCkgZm9yIGVhY2ggcGhhc2UuCisKKyAgICAgICAgKiBz
Y3JvbGxpbmdjb29yZGluYXRvci9tYWMvbGF0Y2hpbmcvc2Nyb2xsaW5nLXNlbGVjdC1zaG91bGQt
bm90LWxhdGNoLW1haW5mcmFtZS5odG1sOgorCiAyMDIwLTA1LTExICBEZXZpbiBSb3Vzc28gIDxk
cm91c3NvQGFwcGxlLmNvbT4KIAogICAgICAgICBXZWIgSW5zcGVjdG9yOiBzaG93IEphdmFTY3Jp
cHQgV29ya2VyIG5hbWUgYXMgYW4gaW50ZXJuYWwgcHJvcGVydHkKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL3Njcm9sbGluZ2Nvb3JkaW5hdG9yL21hYy9sYXRjaGluZy9zY3JvbGxpbmctc2VsZWN0
LXNob3VsZC1ub3QtbGF0Y2gtbWFpbmZyYW1lLmh0bWwgYi9MYXlvdXRUZXN0cy9zY3JvbGxpbmdj
b29yZGluYXRvci9tYWMvbGF0Y2hpbmcvc2Nyb2xsaW5nLXNlbGVjdC1zaG91bGQtbm90LWxhdGNo
LW1haW5mcmFtZS5odG1sCmluZGV4IDkyY2RhMTAyMDcwY2MxMThkOTI5Y2VlYTJhYTBmODRlMTNl
ODBhZjQuLjYxM2JiNjA0NTc2MTFlMjJkYzU5YWI0YTZhNjNjNWRmNzhjYTc4YTAgMTAwNjQ0Ci0t
LSBhL0xheW91dFRlc3RzL3Njcm9sbGluZ2Nvb3JkaW5hdG9yL21hYy9sYXRjaGluZy9zY3JvbGxp
bmctc2VsZWN0LXNob3VsZC1ub3QtbGF0Y2gtbWFpbmZyYW1lLmh0bWwKKysrIGIvTGF5b3V0VGVz
dHMvc2Nyb2xsaW5nY29vcmRpbmF0b3IvbWFjL2xhdGNoaW5nL3Njcm9sbGluZy1zZWxlY3Qtc2hv
dWxkLW5vdC1sYXRjaC1tYWluZnJhbWUuaHRtbApAQCAtMzUsNyArMzUsNiBAQAogICAgICAgICAg
ICAgY29uc3QgeCA9IHNlbGVjdEJvdW5kcy5sZWZ0ICsgMTA7CiAgICAgICAgICAgICBjb25zdCB5
ID0gc2VsZWN0Qm91bmRzLnRvcCArIDEwOwogCi0gICAgICAgICAgICAvLyBXZSBoYXZlIHRvIHNl
bmQgYWxsIHRoZXNlIGFzIG9uZSBzZXF1ZW5jZSwgYmVjYXVzZSBtb25pdG9yV2hlZWxFdmVudHMo
KSBjbGVhcnMgdGhlIGxhdGNoaW5nIHN0YXRlLgogICAgICAgICAgICAgZXZlbnRTZW5kZXIubW9u
aXRvcldoZWVsRXZlbnRzKCk7CiAgICAgICAgICAgICBldmVudFNlbmRlci5tb3VzZU1vdmVUbyh4
LCB5KTsKIApAQCAtNDUsMTYgKzQ0LDE4IEBACiAgICAgICAgICAgICBldmVudFNlbmRlci5tb3Vz
ZVNjcm9sbEJ5V2l0aFdoZWVsQW5kTW9tZW50dW1QaGFzZXMoMCwgMjAsICJjaGFuZ2VkIiwgIm5v
bmUiKTsKICAgICAgICAgICAgIGV2ZW50U2VuZGVyLm1vdXNlU2Nyb2xsQnlXaXRoV2hlZWxBbmRN
b21lbnR1bVBoYXNlcygwLCAwLCAiZW5kZWQiLCAibm9uZSIpOwogCi0gICAgICAgICAgICBhd2Fp
dCBVSUhlbHBlci5hbmltYXRpb25GcmFtZSgpOworICAgICAgICAgICAgYXdhaXQgVUlIZWxwZXIu
d2FpdEZvclNjcm9sbENvbXBsZXRpb24oKTsKIAogICAgICAgICAgICAgLy8gU2Nyb2xsIHVwIGFn
YWluIHRvIHRyaWdnZXIgYSBkb2N1bWVudCBib3VuY2UuCisgICAgICAgICAgICBldmVudFNlbmRl
ci5tb25pdG9yV2hlZWxFdmVudHMoeyByZXNldExhdGNoaW5nOiBmYWxzZSB9KTsKICAgICAgICAg
ICAgIGV2ZW50U2VuZGVyLm1vdXNlU2Nyb2xsQnlXaXRoV2hlZWxBbmRNb21lbnR1bVBoYXNlcygw
LCAxLCAiYmVnYW4iLCAibm9uZSIpOwogICAgICAgICAgICAgZXZlbnRTZW5kZXIubW91c2VTY3Jv
bGxCeVdpdGhXaGVlbEFuZE1vbWVudHVtUGhhc2VzKDAsIDIwLCAiY2hhbmdlZCIsICJub25lIik7
CiAgICAgICAgICAgICBldmVudFNlbmRlci5tb3VzZVNjcm9sbEJ5V2l0aFdoZWVsQW5kTW9tZW50
dW1QaGFzZXMoMCwgMCwgImVuZGVkIiwgIm5vbmUiKTsKIAotICAgICAgICAgICAgYXdhaXQgVUlI
ZWxwZXIuYW5pbWF0aW9uRnJhbWUoKTsKKyAgICAgICAgICAgIGF3YWl0IFVJSGVscGVyLndhaXRG
b3JTY3JvbGxDb21wbGV0aW9uKCk7CiAKICAgICAgICAgICAgIC8vIFNjcm9sbCBkb3duLiBUaGlz
IHNob3VsZCBzY3JvbGwgdGhlIHNlbGVjdCwgbm90IHRoZSBkb2N1bWVudC4KKyAgICAgICAgICAg
IGV2ZW50U2VuZGVyLm1vbml0b3JXaGVlbEV2ZW50cyh7IHJlc2V0TGF0Y2hpbmc6IGZhbHNlIH0p
OwogICAgICAgICAgICAgZXZlbnRTZW5kZXIubW91c2VTY3JvbGxCeVdpdGhXaGVlbEFuZE1vbWVu
dHVtUGhhc2VzKDAsIC0yLCAiYmVnYW4iLCAibm9uZSIpOwogICAgICAgICAgICAgZXZlbnRTZW5k
ZXIubW91c2VTY3JvbGxCeVdpdGhXaGVlbEFuZE1vbWVudHVtUGhhc2VzKDAsIC0yMCwgImNoYW5n
ZWQiLCAibm9uZSIpOwogICAgICAgICAgICAgZXZlbnRTZW5kZXIubW91c2VTY3JvbGxCeVdpdGhX
aGVlbEFuZE1vbWVudHVtUGhhc2VzKDAsIC0yMCwgImNoYW5nZWQiLCAibm9uZSIpOwo=
</data>

          </attachment>
      

    </bug>

</bugzilla>