<?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>213051</bug_id>
          
          <creation_ts>2020-06-10 15:10:21 -0700</creation_ts>
          <short_desc>Some style improvements to main thread code</short_desc>
          <delta_ts>2022-02-28 03:35:00 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>New Bugs</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <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="Geoffrey Garen">ggaren</reporter>
          <assigned_to name="Geoffrey Garen">ggaren</assigned_to>
          <cc>benjamin</cc>
    
    <cc>cdumez</cc>
    
    <cc>cmarcelo</cc>
    
    <cc>darin</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>koivisto</cc>
    
    <cc>sihui_liu</cc>
    
    <cc>simon.fraser</cc>
    
    <cc>thorton</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1661384</commentid>
    <comment_count>0</comment_count>
    <who name="Geoffrey Garen">ggaren</who>
    <bug_when>2020-06-10 15:10:21 -0700</bug_when>
    <thetext>Some style improvements to main thread code</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1661392</commentid>
    <comment_count>1</comment_count>
      <attachid>401590</attachid>
    <who name="Geoffrey Garen">ggaren</who>
    <bug_when>2020-06-10 15:23:56 -0700</bug_when>
    <thetext>Created attachment 401590
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1661395</commentid>
    <comment_count>2</comment_count>
      <attachid>401591</attachid>
    <who name="Geoffrey Garen">ggaren</who>
    <bug_when>2020-06-10 15:32:45 -0700</bug_when>
    <thetext>Created attachment 401591
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1661415</commentid>
    <comment_count>3</comment_count>
      <attachid>401591</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2020-06-10 16:12:46 -0700</bug_when>
    <thetext>Comment on attachment 401591
Patch

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

&gt; Source/WTF/wtf/cocoa/MainThreadCocoa.mm:61
&gt; +static pthread_t s_webThreadPthread { nullptr };

The &quot;{ nullptr }&quot; has no effect or value here.

&gt; Source/WTF/wtf/cocoa/MainThreadCocoa.mm:106
&gt; +    if (RunLoop::webIfExists()) {
&gt;          RunLoop::web().dispatch(dispatchFunctionsFromMainThread);
&gt;          return;
&gt;      }

Why get it twice? Put it in a local variable and use it?

&gt; Source/WebKit/Shared/WebKit2Initialize.cpp:43
&gt;      JSC::initializeThreading();
&gt; -    RunLoop::initializeMainRunLoop();
&gt; +    RunLoop::initializeMain();

Is there any reason that these are two separate function calls that both need to be called in each location? If JSC::initializeThreading called RunLoop::initializeMain, what would go wrong?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1661421</commentid>
    <comment_count>4</comment_count>
    <who name="Geoffrey Garen">ggaren</who>
    <bug_when>2020-06-10 16:21:48 -0700</bug_when>
    <thetext>&gt; &gt; Source/WebKit/Shared/WebKit2Initialize.cpp:43
&gt; &gt;      JSC::initializeThreading();
&gt; &gt; -    RunLoop::initializeMainRunLoop();
&gt; &gt; +    RunLoop::initializeMain();
&gt; 
&gt; Is there any reason that these are two separate function calls that both
&gt; need to be called in each location? If JSC::initializeThreading called
&gt; RunLoop::initializeMain, what would go wrong?

JSC::initializeThreading can be called on any thread. RunLoop::initializeMain must be called on the main thread.

But maybe we could add a JSC::initializeMain() convenience function to do both from the main thread.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1661434</commentid>
    <comment_count>5</comment_count>
      <attachid>401603</attachid>
    <who name="Geoffrey Garen">ggaren</who>
    <bug_when>2020-06-10 16:43:21 -0700</bug_when>
    <thetext>Created attachment 401603
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1661451</commentid>
    <comment_count>6</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2020-06-10 17:15:11 -0700</bug_when>
    <thetext>Committed r262878: &lt;https://trac.webkit.org/changeset/262878&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 401603.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1661453</commentid>
    <comment_count>7</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2020-06-10 17:16:22 -0700</bug_when>
    <thetext>&lt;rdar://problem/64231824&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>401590</attachid>
            <date>2020-06-10 15:23:56 -0700</date>
            <delta_ts>2020-06-10 15:32:44 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-213051-20200610152356.patch</filename>
            <type>text/plain</type>
            <size>24163</size>
            <attacher name="Geoffrey Garen">ggaren</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XVEYvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XVEYvQ2hh
bmdlTG9nCShyZXZpc2lvbiAyNjI4NjMpCisrKyBTb3VyY2UvV1RGL0NoYW5nZUxvZwkod29ya2lu
ZyBjb3B5KQpAQCAtMSwzICsxLDMzIEBACisyMDIwLTA2LTEwICBHZW9mZnJleSBHYXJlbiAgPGdn
YXJlbkBhcHBsZS5jb20+CisKKyAgICAgICAgU29tZSBzdHlsZSBpbXByb3ZlbWVudHMgdG8gbWFp
biB0aHJlYWQgY29kZQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9MjEzMDUxCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAg
ICAgICAgKiB3dGYvUnVuTG9vcC5jcHA6CisgICAgICAgIChXVEY6OlJ1bkxvb3A6OmluaXRpYWxp
emVNYWluKTogUmVuYW1lZCBpbml0aWFsaXplTWFpblJ1bkxvb3AgPT4gaW5pdGlhbGl6ZU1haW4K
KyAgICAgICAgdG8gbWF0Y2ggdGhlIGdldHRlcidzIG5hbWUuCisgICAgICAgIChXVEY6OlJ1bkxv
b3A6OmluaXRpYWxpemVXZWIpOiBTYW1lc2llcy4KKyAgICAgICAgKFdURjo6UnVuTG9vcDo6d2Vi
SWZFeGlzdHMpOiBBZGRlZCBhbiBJZkV4aXN0cyBhY2Nlc3NvciBmb3IgdXNlIGluCisgICAgICAg
IHNjaGVkdWxlRGlzcGF0Y2hGdW5jdGlvbnNPbk1haW5UaHJlYWQoKS4KKyAgICAgICAgKFdURjo6
UnVuTG9vcDo6aW5pdGlhbGl6ZU1haW5SdW5Mb29wKTogRGVsZXRlZC4KKyAgICAgICAgKFdURjo6
UnVuTG9vcDo6aW5pdGlhbGl6ZVdlYlJ1bkxvb3ApOiBEZWxldGVkLgorCisgICAgICAgICogd3Rm
L1J1bkxvb3AuaDoKKworICAgICAgICAqIHd0Zi9jb2NvYS9NYWluVGhyZWFkQ29jb2EubW06Cisg
ICAgICAgIChXVEY6OnNjaGVkdWxlRGlzcGF0Y2hGdW5jdGlvbnNPbk1haW5UaHJlYWQpOiBVc2Ug
UnVuTG9vcDo6d2ViSWZFeGlzdHMoKQorICAgICAgICB0byBjaGVjayBmb3IgdGhlIHdlYiB0aHJl
YWQgcnVuIGxvb3AsIHNpbmNlIHRoYXQncyBtb3JlIGV4cGxpY2l0IHRoYW4KKyAgICAgICAgY2hl
Y2sgYSBwdGhyZWFkIHZhcmlhYmxlLgorCisgICAgICAgIChXVEY6OmlzV2ViVGhyZWFkKTogUmVu
YW1lZCBtYWluVGhyZWFkUHRocmVhZCA9PiB3ZWJUaHJlYWRQdGhyZWFkIGJlY2F1c2UKKyAgICAg
ICAgaXQncyB0aGUgd2ViIHRocmVhZC4gQ2hhbmdlZCBzdHlsZSBvbiBnbG9iYWxzIHRvICJzXyIg
Zm9yIGNvbnNpc3RlbmN5LgorICAgICAgICBSZW1vdmVkIG1haW5UaHJlYWROU1RocmVhZCBiZWNh
dXNlIGl0IHdhcyB1bnVzZWQuCisgICAgICAgIChXVEY6OmluaXRpYWxpemVBcHBsaWNhdGlvblVJ
VGhyZWFkKToKKyAgICAgICAgKFdURjo6aW5pdGlhbGl6ZVdlYlRocmVhZCk6CisgICAgICAgIChX
VEY6OmNhbkN1cnJlbnRUaHJlYWRBY2Nlc3NUaHJlYWRMb2NhbERhdGEpOgorCiAyMDIwLTA2LTEw
ICBHZW9mZnJleSBHYXJlbiAgPGdnYXJlbkBhcHBsZS5jb20+CiAKICAgICAgICAgW0NvY29hXSBC
dWlsZCBjYWxsT25NYWluVGhyZWFkIG9uIFdURjo6UnVuTG9vcCByYXRoZXIgdGhhbiBvbiBOU09i
amVjdCBtZXRob2RzCkluZGV4OiBTb3VyY2UvV1RGL3d0Zi9SdW5Mb29wLmNwcAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBTb3VyY2UvV1RGL3d0Zi9SdW5Mb29wLmNwcAkocmV2aXNpb24gMjYyODYzKQorKysgU291
cmNlL1dURi93dGYvUnVuTG9vcC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTUyLDcgKzUyLDcgQEAg
cHJpdmF0ZToKICAgICBSZWY8UnVuTG9vcD4gbV9ydW5Mb29wOwogfTsKIAotdm9pZCBSdW5Mb29w
Ojppbml0aWFsaXplTWFpblJ1bkxvb3AoKQordm9pZCBSdW5Mb29wOjppbml0aWFsaXplTWFpbigp
CiB7CiAgICAgaWYgKHNfbWFpblJ1bkxvb3ApCiAgICAgICAgIHJldHVybjsKQEAgLTczLDcgKzcz
LDcgQEAgUnVuTG9vcCYgUnVuTG9vcDo6bWFpbigpCiB9CiAKICNpZiBVU0UoV0VCX1RIUkVBRCkK
LXZvaWQgUnVuTG9vcDo6aW5pdGlhbGl6ZVdlYlJ1bkxvb3AoKQordm9pZCBSdW5Mb29wOjppbml0
aWFsaXplV2ViKCkKIHsKICAgICBzX3dlYlJ1bkxvb3AgPSAmUnVuTG9vcDo6Y3VycmVudCgpOwog
fQpAQCAtODMsNiArODMsMTEgQEAgUnVuTG9vcCYgUnVuTG9vcDo6d2ViKCkKICAgICBBU1NFUlQo
c193ZWJSdW5Mb29wKTsKICAgICByZXR1cm4gKnNfd2ViUnVuTG9vcDsKIH0KKworUnVuTG9vcCog
UnVuTG9vcDo6d2ViSWZFeGlzdHMoKQoreworICAgIHJldHVybiBzX3dlYlJ1bkxvb3A7Cit9CiAj
ZW5kaWYKIAogYm9vbCBSdW5Mb29wOjppc01haW4oKQpJbmRleDogU291cmNlL1dURi93dGYvUnVu
TG9vcC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XVEYvd3RmL1J1bkxvb3AuaAkocmV2aXNpb24g
MjYyODYzKQorKysgU291cmNlL1dURi93dGYvUnVuTG9vcC5oCSh3b3JraW5nIGNvcHkpCkBAIC02
MCwxNSArNjAsMTYgQEAgY2xhc3MgUnVuTG9vcCBmaW5hbCA6IHB1YmxpYyBGdW5jdGlvbkRpcwog
cHVibGljOgogICAgIC8vIE11c3QgYmUgY2FsbGVkIGZyb20gdGhlIG1haW4gdGhyZWFkIChleGNl
cHQgZm9yIHRoZSBNYWMgcGxhdGZvcm0sIHdoZXJlIGl0CiAgICAgLy8gY2FuIGJlIGNhbGxlZCBm
cm9tIGFueSB0aHJlYWQpLgotICAgIFdURl9FWFBPUlRfUFJJVkFURSBzdGF0aWMgdm9pZCBpbml0
aWFsaXplTWFpblJ1bkxvb3AoKTsKKyAgICBXVEZfRVhQT1JUX1BSSVZBVEUgc3RhdGljIHZvaWQg
aW5pdGlhbGl6ZU1haW4oKTsKICNpZiBVU0UoV0VCX1RIUkVBRCkKLSAgICBXVEZfRVhQT1JUX1BS
SVZBVEUgc3RhdGljIHZvaWQgaW5pdGlhbGl6ZVdlYlJ1bkxvb3AoKTsKKyAgICBXVEZfRVhQT1JU
X1BSSVZBVEUgc3RhdGljIHZvaWQgaW5pdGlhbGl6ZVdlYigpOwogI2VuZGlmCiAKICAgICBXVEZf
RVhQT1JUX1BSSVZBVEUgc3RhdGljIFJ1bkxvb3AmIGN1cnJlbnQoKTsKICAgICBXVEZfRVhQT1JU
X1BSSVZBVEUgc3RhdGljIFJ1bkxvb3AmIG1haW4oKTsKICNpZiBVU0UoV0VCX1RIUkVBRCkKICAg
ICBXVEZfRVhQT1JUX1BSSVZBVEUgc3RhdGljIFJ1bkxvb3AmIHdlYigpOworICAgIFdURl9FWFBP
UlRfUFJJVkFURSBzdGF0aWMgUnVuTG9vcCogd2ViSWZFeGlzdHMoKTsKICNlbmRpZgogICAgIFdU
Rl9FWFBPUlRfUFJJVkFURSBzdGF0aWMgYm9vbCBpc01haW4oKTsKICAgICB+UnVuTG9vcCgpIGZp
bmFsOwpJbmRleDogU291cmNlL1dURi93dGYvY29jb2EvTWFpblRocmVhZENvY29hLm1tCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFNvdXJjZS9XVEYvd3RmL2NvY29hL01haW5UaHJlYWRDb2NvYS5tbQkocmV2aXNp
b24gMjYyODYzKQorKysgU291cmNlL1dURi93dGYvY29jb2EvTWFpblRocmVhZENvY29hLm1tCSh3
b3JraW5nIGNvcHkpCkBAIC01OCwxMSArNTgsMTAgQEAgc3RhdGljIGJvb2wgaXNUaW1lclBvc3Rl
ZDsgLy8gVGhpcyBpcyBvbgogCiAjaWYgVVNFKFdFQl9USFJFQUQpCiAvLyBXaGVuIHRoZSBXZWIg
dGhyZWFkIGlzIGVuYWJsZWQsIHdlIGNvbnNpZGVyIGl0IHRvIGJlIHRoZSBtYWluIHRocmVhZCwg
bm90IHB0aHJlYWQgbWFpbi4KLXN0YXRpYyBwdGhyZWFkX3QgbWFpblRocmVhZFB0aHJlYWQgeyBu
dWxscHRyIH07Ci1zdGF0aWMgTlNUaHJlYWQqIG1haW5UaHJlYWROU1RocmVhZCB7IG51bGxwdHIg
fTsKK3N0YXRpYyBwdGhyZWFkX3Qgc193ZWJUaHJlYWRQdGhyZWFkIHsgbnVsbHB0ciB9OwogCi1z
dGF0aWMgVGhyZWFkKiBzQXBwbGljYXRpb25VSVRocmVhZDsKLXN0YXRpYyBUaHJlYWQqIHNXZWJU
aHJlYWQ7CitzdGF0aWMgVGhyZWFkKiBzX2FwcGxpY2F0aW9uVUlUaHJlYWQ7CitzdGF0aWMgVGhy
ZWFkKiBzX3dlYlRocmVhZDsKICNlbmRpZgogCiB2b2lkIGluaXRpYWxpemVNYWluVGhyZWFkUGxh
dGZvcm0oKQpAQCAtMTAxLDcgKzEwMCw3IEBAIHZvaWQgc2NoZWR1bGVEaXNwYXRjaEZ1bmN0aW9u
c09uTWFpblRocmUKICAgICAgICAgcmV0dXJuOwogICAgIH0KIAotICAgIGlmIChtYWluVGhyZWFk
UHRocmVhZCkgeworICAgIGlmIChSdW5Mb29wOjp3ZWJJZkV4aXN0cygpKSB7CiAgICAgICAgIFJ1
bkxvb3A6OndlYigpLmRpc3BhdGNoKGRpc3BhdGNoRnVuY3Rpb25zRnJvbU1haW5UaHJlYWQpOwog
ICAgICAgICByZXR1cm47CiAgICAgfQpAQCAtMTYwLDEzICsxNTksMTMgQEAgYm9vbCBpc1VJVGhy
ZWFkKCkKIC8vIEtlZXAgaW4gbWluZCB0aGF0IGlzV2ViVGhyZWFkIGNhbiBiZSBjYWxsZWQgZXZl
biB3aGVuIGRlc3Ryb3lpbmcgdGhlIGN1cnJlbnQgdGhyZWFkLgogYm9vbCBpc1dlYlRocmVhZCgp
CiB7Ci0gICAgcmV0dXJuIHB0aHJlYWRfZXF1YWwocHRocmVhZF9zZWxmKCksIG1haW5UaHJlYWRQ
dGhyZWFkKTsKKyAgICByZXR1cm4gcHRocmVhZF9lcXVhbChwdGhyZWFkX3NlbGYoKSwgc193ZWJU
aHJlYWRQdGhyZWFkKTsKIH0KIAogdm9pZCBpbml0aWFsaXplQXBwbGljYXRpb25VSVRocmVhZCgp
CiB7CiAgICAgQVNTRVJUKHB0aHJlYWRfbWFpbl9ucCgpKTsKLSAgICBzQXBwbGljYXRpb25VSVRo
cmVhZCA9ICZUaHJlYWQ6OmN1cnJlbnQoKTsKKyAgICBzX2FwcGxpY2F0aW9uVUlUaHJlYWQgPSAm
VGhyZWFkOjpjdXJyZW50KCk7CiB9CiAKIHZvaWQgaW5pdGlhbGl6ZVdlYlRocmVhZCgpCkBAIC0x
NzQsMTAgKzE3Myw5IEBAIHZvaWQgaW5pdGlhbGl6ZVdlYlRocmVhZCgpCiAgICAgc3RhdGljIHN0
ZDo6b25jZV9mbGFnIGluaXRpYWxpemVLZXk7CiAgICAgc3RkOjpjYWxsX29uY2UoaW5pdGlhbGl6
ZUtleSwgW10gewogICAgICAgICBBU1NFUlQoIXB0aHJlYWRfbWFpbl9ucCgpKTsKLSAgICAgICAg
bWFpblRocmVhZFB0aHJlYWQgPSBwdGhyZWFkX3NlbGYoKTsKLSAgICAgICAgbWFpblRocmVhZE5T
VGhyZWFkID0gW05TVGhyZWFkIGN1cnJlbnRUaHJlYWRdOwotICAgICAgICBzV2ViVGhyZWFkID0g
JlRocmVhZDo6Y3VycmVudCgpOwotICAgICAgICBSdW5Mb29wOjppbml0aWFsaXplV2ViUnVuTG9v
cCgpOworICAgICAgICBzX3dlYlRocmVhZFB0aHJlYWQgPSBwdGhyZWFkX3NlbGYoKTsKKyAgICAg
ICAgc193ZWJUaHJlYWQgPSAmVGhyZWFkOjpjdXJyZW50KCk7CisgICAgICAgIFJ1bkxvb3A6Omlu
aXRpYWxpemVXZWIoKTsKICAgICB9KTsKIH0KIApAQCAtMTg3LDggKzE4NSw4IEBAIGJvb2wgY2Fu
Q3VycmVudFRocmVhZEFjY2Vzc1RocmVhZExvY2FsRGEKICAgICBpZiAoJnRocmVhZCA9PSAmY3Vy
cmVudFRocmVhZCkKICAgICAgICAgcmV0dXJuIHRydWU7CiAKLSAgICBpZiAoJnRocmVhZCA9PSBz
V2ViVGhyZWFkIHx8ICZ0aHJlYWQgPT0gc0FwcGxpY2F0aW9uVUlUaHJlYWQpCi0gICAgICAgIHJl
dHVybiAoJmN1cnJlbnRUaHJlYWQgPT0gc1dlYlRocmVhZCB8fCAmY3VycmVudFRocmVhZCA9PSBz
QXBwbGljYXRpb25VSVRocmVhZCkgJiYgd2ViVGhyZWFkSXNVbmluaXRpYWxpemVkT3JMb2NrZWRP
ckRpc2FibGVkKCk7CisgICAgaWYgKCZ0aHJlYWQgPT0gc193ZWJUaHJlYWQgfHwgJnRocmVhZCA9
PSBzX2FwcGxpY2F0aW9uVUlUaHJlYWQpCisgICAgICAgIHJldHVybiAoJmN1cnJlbnRUaHJlYWQg
PT0gc193ZWJUaHJlYWQgfHwgJmN1cnJlbnRUaHJlYWQgPT0gc19hcHBsaWNhdGlvblVJVGhyZWFk
KSAmJiB3ZWJUaHJlYWRJc1VuaW5pdGlhbGl6ZWRPckxvY2tlZE9yRGlzYWJsZWQoKTsKIAogICAg
IHJldHVybiBmYWxzZTsKIH0KSW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDI2Mjg2MykKKysrIFNv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDE2IEBACisy
MDIwLTA2LTEwICBHZW9mZnJleSBHYXJlbiAgPGdnYXJlbkBhcHBsZS5jb20+CisKKyAgICAgICAg
U29tZSBzdHlsZSBpbXByb3ZlbWVudHMgdG8gbWFpbiB0aHJlYWQgY29kZQorICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjEzMDUxCisKKyAgICAgICAgUmV2
aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVXBkYXRlZCBmb3IgcmVuYW1lLgor
CisgICAgICAgICogV2ViQ29yZS5vcmRlcjoKKyAgICAgICAgKiBwbGF0Zm9ybS9pb3Mvd2FrL1dl
YkNvcmVUaHJlYWQubW06CisgICAgICAgIChTdGFydFdlYlRocmVhZCk6CisKIDIwMjAtMDYtMTAg
IEJyaWFuIEJ1cmcgIDxiYnVyZ0BhcHBsZS5jb20+CiAKICAgICAgICAgV2ViRHJpdmVyIG9uIG5v
bi1pT1MgcG9ydHMgY2Fubm90IHBlcmZvcm0gQWN0aW9uQ2hhaW4gd2hpY2ggaGFzIHNjcm9sbGlu
ZyBkb3duIHRvIHRoZSBlbGVtZW50IGFuZCBjbGljayBpdApJbmRleDogU291cmNlL1dlYkNvcmUv
V2ViQ29yZS5vcmRlcgo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9XZWJDb3JlLm9yZGVy
CShyZXZpc2lvbiAyNjI4NjMpCisrKyBTb3VyY2UvV2ViQ29yZS9XZWJDb3JlLm9yZGVyCSh3b3Jr
aW5nIGNvcHkpCkBAIC0yOTI2NSw3ICsyOTI2NSw2IEBAIF9fWlpOSzdXZWJDb3JlMjBSZXNvdXJj
ZVJlc3BvbnNlQmFzZTI3cGEKIF9fWkdWWk5LN1dlYkNvcmUyMFJlc291cmNlUmVzcG9uc2VCYXNl
MjdwYXJzZUNhY2hlQ29udHJvbERpcmVjdGl2ZXNFdkUxNW1heEFnZURpcmVjdGl2ZS5iCiBfX1pa
Tks3V2ViQ29yZTIwUmVzb3VyY2VSZXNwb25zZUJhc2UyN3BhcnNlQ2FjaGVDb250cm9sRGlyZWN0
aXZlc0V2RTEycHJhZ21hSGVhZGVyCiBfX1pHVlpOSzdXZWJDb3JlMjBSZXNvdXJjZVJlc3BvbnNl
QmFzZTI3cGFyc2VDYWNoZUNvbnRyb2xEaXJlY3RpdmVzRXZFMTJwcmFnbWFIZWFkZXIuYgotX19a
Wk43V2ViQ29yZTdSdW5Mb29wMjFpbml0aWFsaXplTWFpblJ1bkxvb3BFdkU5b25jZVRva2VuCiBf
X1pON1dlYkNvcmVMMTNzX21haW5SdW5Mb29wRQogX19aWk43V2ViQ29yZUwzN0NvbnRlbnRTZWN1
cml0eVBvbGljeUJ5cGFzc2luZ1NjaGVtZXNFdkU3c2NoZW1lcwogX19aR1ZaTjdXZWJDb3JlTDM3
Q29udGVudFNlY3VyaXR5UG9saWN5QnlwYXNzaW5nU2NoZW1lc0V2RTdzY2hlbWVzLmIKSW5kZXg6
IFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2lvcy93YWsvV2ViQ29yZVRocmVhZC5tbQo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9pb3Mvd2FrL1dlYkNvcmVUaHJlYWQubW0J
KHJldmlzaW9uIDI2Mjg2MykKKysrIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2lvcy93YWsvV2Vi
Q29yZVRocmVhZC5tbQkod29ya2luZyBjb3B5KQpAQCAtNjQzLDcgKzY0Myw3IEBAIHN0YXRpYyB2
b2lkIFN0YXJ0V2ViVGhyZWFkKCkKICAgICBXZWJDb3JlOjpUaHJlYWRHbG9iYWxEYXRhJiB1bnVz
ZWQgPSBXZWJDb3JlOjp0aHJlYWRHbG9iYWxEYXRhKCk7CiAgICAgVU5VU0VEX1BBUkFNKHVudXNl
ZCk7CiAKLSAgICBSdW5Mb29wOjppbml0aWFsaXplTWFpblJ1bkxvb3AoKTsKKyAgICBSdW5Mb29w
Ojppbml0aWFsaXplTWFpbigpOwogCiAgICAgLy8gcmVnaXN0ZXIgY2xhc3MgZm9yIFdlYlRocmVh
ZCBkZWFsbG9jYXRpb24KICAgICBXZWJDb3JlT2JqQ0RlYWxsb2NPbldlYlRocmVhZChbV0FLV2lu
ZG93IGNsYXNzXSk7CkluZGV4OiBTb3VyY2UvV2ViRHJpdmVyL0NoYW5nZUxvZwo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBTb3VyY2UvV2ViRHJpdmVyL0NoYW5nZUxvZwkocmV2aXNpb24gMjYyODYzKQorKysgU291
cmNlL1dlYkRyaXZlci9DaGFuZ2VMb2cJKHdvcmtpbmcgY29weSkKQEAgLTEsMyArMSwxNSBAQAor
MjAyMC0wNi0xMCAgR2VvZmZyZXkgR2FyZW4gIDxnZ2FyZW5AYXBwbGUuY29tPgorCisgICAgICAg
IFNvbWUgc3R5bGUgaW1wcm92ZW1lbnRzIHRvIG1haW4gdGhyZWFkIGNvZGUKKyAgICAgICAgaHR0
cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIxMzA1MQorCisgICAgICAgIFJl
dmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFVwZGF0ZWQgZm9yIHJlbmFtZS4K
KworICAgICAgICAqIFdlYkRyaXZlclNlcnZpY2UuY3BwOgorICAgICAgICAoV2ViRHJpdmVyOjpX
ZWJEcml2ZXJTZXJ2aWNlOjpydW4pOgorCiAyMDIwLTAzLTE5ICBDaGFybGllIFR1cm5lciAgPGN0
dXJuZXJAaWdhbGlhLmNvbT4KIAogICAgICAgICBGaXggbWFueSB3YXJuaW5ncyB3aXRoIENsYW5n
IDcuMCBvbiBHVEsgeDg2LTY0IGluIERlYnVnLgpJbmRleDogU291cmNlL1dlYkRyaXZlci9XZWJE
cml2ZXJTZXJ2aWNlLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViRHJpdmVyL1dlYkRyaXZl
clNlcnZpY2UuY3BwCShyZXZpc2lvbiAyNjI4NjMpCisrKyBTb3VyY2UvV2ViRHJpdmVyL1dlYkRy
aXZlclNlcnZpY2UuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC05Niw3ICs5Niw3IEBAIGludCBXZWJE
cml2ZXJTZXJ2aWNlOjpydW4oaW50IGFyZ2MsIGNoYXIKICAgICAgICAgcmV0dXJuIEVYSVRfRkFJ
TFVSRTsKICAgICB9CiAKLSAgICBSdW5Mb29wOjppbml0aWFsaXplTWFpblJ1bkxvb3AoKTsKKyAg
ICBSdW5Mb29wOjppbml0aWFsaXplTWFpbigpOwogCiAgICAgaWYgKCFtX3NlcnZlci5saXN0ZW4o
aG9zdCwgcG9ydCkpCiAgICAgICAgIHJldHVybiBFWElUX0ZBSUxVUkU7CkluZGV4OiBTb3VyY2Uv
V2ViS2l0L0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwko
cmV2aXNpb24gMjYyODYzKQorKysgU291cmNlL1dlYktpdC9DaGFuZ2VMb2cJKHdvcmtpbmcgY29w
eSkKQEAgLTEsMyArMSwxOCBAQAorMjAyMC0wNi0xMCAgR2VvZmZyZXkgR2FyZW4gIDxnZ2FyZW5A
YXBwbGUuY29tPgorCisgICAgICAgIFNvbWUgc3R5bGUgaW1wcm92ZW1lbnRzIHRvIG1haW4gdGhy
ZWFkIGNvZGUKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lk
PTIxMzA1MQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAg
IFVwZGF0ZWQgZm9yIHJlbmFtZS4KKworICAgICAgICAqIFNoYXJlZC9Db2NvYS9XZWJLaXQySW5p
dGlhbGl6ZUNvY29hLm1tOgorICAgICAgICAoV2ViS2l0OjpydW5Jbml0aWFsaXphdGlvbkNvZGUp
OgorICAgICAgICAoV2ViS2l0OjpJbml0aWFsaXplV2ViS2l0Mik6CisgICAgICAgICogU2hhcmVk
L1dlYktpdDJJbml0aWFsaXplLmNwcDoKKyAgICAgICAgKFdlYktpdDo6SW5pdGlhbGl6ZVdlYktp
dDIpOgorCiAyMDIwLTA2LTEwICBKb25hdGhhbiBCZWRhcmQgIDxqYmVkYXJkQGFwcGxlLmNvbT4K
IAogICAgICAgICBXZWJLaXQ6IEFkZCBDbG9ja0tpdFNQSS5oCkluZGV4OiBTb3VyY2UvV2ViS2l0
L1NoYXJlZC9XZWJLaXQySW5pdGlhbGl6ZS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktp
dC9TaGFyZWQvV2ViS2l0MkluaXRpYWxpemUuY3BwCShyZXZpc2lvbiAyNjI4NjMpCisrKyBTb3Vy
Y2UvV2ViS2l0L1NoYXJlZC9XZWJLaXQySW5pdGlhbGl6ZS5jcHAJKHdvcmtpbmcgY29weSkKQEAg
LTQwLDcgKzQwLDcgQEAgbmFtZXNwYWNlIFdlYktpdCB7CiB2b2lkIEluaXRpYWxpemVXZWJLaXQy
KCkKIHsKICAgICBKU0M6OmluaXRpYWxpemVUaHJlYWRpbmcoKTsKLSAgICBSdW5Mb29wOjppbml0
aWFsaXplTWFpblJ1bkxvb3AoKTsKKyAgICBSdW5Mb29wOjppbml0aWFsaXplTWFpbigpOwogICAg
IEF0b21TdHJpbmc6OmluaXQoKTsKIAogICAgIFdURjo6UmVmQ291bnRlZEJhc2U6OmVuYWJsZVRo
cmVhZGluZ0NoZWNrc0dsb2JhbGx5KCk7CkluZGV4OiBTb3VyY2UvV2ViS2l0L1NoYXJlZC9Db2Nv
YS9XZWJLaXQySW5pdGlhbGl6ZUNvY29hLm1tCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQv
U2hhcmVkL0NvY29hL1dlYktpdDJJbml0aWFsaXplQ29jb2EubW0JKHJldmlzaW9uIDI2Mjg2MykK
KysrIFNvdXJjZS9XZWJLaXQvU2hhcmVkL0NvY29hL1dlYktpdDJJbml0aWFsaXplQ29jb2EubW0J
KHdvcmtpbmcgY29weSkKQEAgLTUzLDcgKzUzLDcgQEAgc3RhdGljIHZvaWQgcnVuSW5pdGlhbGl6
YXRpb25Db2RlKHZvaWQqIAogI2VuZGlmCiAKICAgICBKU0M6OmluaXRpYWxpemVUaHJlYWRpbmco
KTsKLSAgICBSdW5Mb29wOjppbml0aWFsaXplTWFpblJ1bkxvb3AoKTsKKyAgICBSdW5Mb29wOjpp
bml0aWFsaXplTWFpbigpOwogCiAgICAgV1RGOjpSZWZDb3VudGVkQmFzZTo6ZW5hYmxlVGhyZWFk
aW5nQ2hlY2tzR2xvYmFsbHkoKTsKIApAQCAtNjUsNyArNjUsNyBAQCBzdGF0aWMgdm9pZCBydW5J
bml0aWFsaXphdGlvbkNvZGUodm9pZCogCiAKIHZvaWQgSW5pdGlhbGl6ZVdlYktpdDIoKQogewot
ICAgIC8vIE1ha2Ugc3VyZSB0aGUgaW5pdGlhbGl6YXRpb24gY29kZSBpcyBydW4gb25seSBvbmNl
IGFuZCBvbiB0aGUgbWFpbiB0aHJlYWQgc2luY2UgdGhpbmdzIGxpa2UgUnVuTG9vcDo6aW5pdGlh
bGl6ZU1haW5SdW5Mb29wKCkKKyAgICAvLyBNYWtlIHN1cmUgdGhlIGluaXRpYWxpemF0aW9uIGNv
ZGUgaXMgcnVuIG9ubHkgb25jZSBhbmQgb24gdGhlIG1haW4gdGhyZWFkIHNpbmNlIHRoaW5ncyBs
aWtlIFJ1bkxvb3A6OmluaXRpYWxpemVNYWluKCkKICAgICAvLyBhcmUgb25seSBzYWZlIHRvIGNh
bGwgb24gdGhlIG1haW4gdGhyZWFkLgogICAgIHN0ZDo6Y2FsbF9vbmNlKGZsYWcsIFtdIHsKICAg
ICAgICAgaWYgKFtOU1RocmVhZCBpc01haW5UaHJlYWRdIHx8IGxpbmtlZE9uT3JBZnRlcihTREtW
ZXJzaW9uOjpGaXJzdFdpdGhJbml0aWFsaXplV2ViS2l0Mk1haW5UaHJlYWRBc3NlcnRpb24pKQpJ
bmRleDogU291cmNlL1dlYktpdExlZ2FjeS9tYWMvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNv
dXJjZS9XZWJLaXRMZWdhY3kvbWFjL0NoYW5nZUxvZwkocmV2aXNpb24gMjYyODYzKQorKysgU291
cmNlL1dlYktpdExlZ2FjeS9tYWMvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEs
NTAgQEAKKzIwMjAtMDYtMTAgIEdlb2ZmcmV5IEdhcmVuICA8Z2dhcmVuQGFwcGxlLmNvbT4KKwor
ICAgICAgICBTb21lIHN0eWxlIGltcHJvdmVtZW50cyB0byBtYWluIHRocmVhZCBjb2RlCisgICAg
ICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMTMwNTEKKworICAg
ICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBVcGRhdGVkIGZvciBy
ZW5hbWUuCisKKyAgICAgICAgKiBIaXN0b3J5L1dlYkJhY2tGb3J3YXJkTGlzdC5tbToKKyAgICAg
ICAgKCtbV2ViQmFja0ZvcndhcmRMaXN0IGluaXRpYWxpemVdKToKKyAgICAgICAgKiBIaXN0b3J5
L1dlYkhpc3RvcnlJdGVtLm1tOgorICAgICAgICAoK1tXZWJIaXN0b3J5SXRlbSBpbml0aWFsaXpl
XSk6CisgICAgICAgICogTWlzYy9XZWJDYWNoZS5tbToKKyAgICAgICAgKCtbV2ViQ2FjaGUgaW5p
dGlhbGl6ZV0pOgorICAgICAgICAqIE1pc2MvV2ViRWxlbWVudERpY3Rpb25hcnkubW06CisgICAg
ICAgICgrW1dlYkVsZW1lbnREaWN0aW9uYXJ5IGluaXRpYWxpemVdKToKKyAgICAgICAgKiBNaXNj
L1dlYkljb25EYXRhYmFzZS5tbToKKyAgICAgICAgKiBQbHVnaW5zL0hvc3RlZC9XZWJIb3N0ZWRO
ZXRzY2FwZVBsdWdpblZpZXcubW06CisgICAgICAgICgrW1dlYkhvc3RlZE5ldHNjYXBlUGx1Z2lu
VmlldyBpbml0aWFsaXplXSk6CisgICAgICAgICogUGx1Z2lucy9XZWJCYXNlTmV0c2NhcGVQbHVn
aW5WaWV3Lm1tOgorICAgICAgICAqIFBsdWdpbnMvV2ViQmFzZVBsdWdpblBhY2thZ2UubW06Cisg
ICAgICAgICgrW1dlYkJhc2VQbHVnaW5QYWNrYWdlIGluaXRpYWxpemVdKToKKyAgICAgICAgKiBQ
bHVnaW5zL1dlYk5ldHNjYXBlUGx1Z2luVmlldy5tbToKKyAgICAgICAgKCtbV2ViTmV0c2NhcGVQ
bHVnaW5WaWV3IGluaXRpYWxpemVdKToKKyAgICAgICAgKiBXZWJDb3JlU3VwcG9ydC9XZWJFZGl0
b3JDbGllbnQubW06CisgICAgICAgICgrW1dlYlVuZG9TdGVwIGluaXRpYWxpemVdKToKKyAgICAg
ICAgKiBXZWJDb3JlU3VwcG9ydC9XZWJGcmFtZUxvYWRlckNsaWVudC5tbToKKyAgICAgICAgKCtb
V2ViRnJhbWVQb2xpY3lMaXN0ZW5lciBpbml0aWFsaXplXSk6CisgICAgICAgICogV2ViVmlldy9X
ZWJBcmNoaXZlLm1tOgorICAgICAgICAoK1tXZWJBcmNoaXZlUHJpdmF0ZSBpbml0aWFsaXplXSk6
CisgICAgICAgICogV2ViVmlldy9XZWJEYXRhU291cmNlLm1tOgorICAgICAgICAoK1tXZWJEYXRh
U291cmNlIGluaXRpYWxpemVdKToKKyAgICAgICAgKiBXZWJWaWV3L1dlYkhUTUxWaWV3Lm1tOgor
ICAgICAgICAoK1tXZWJIVE1MVmlld1ByaXZhdGUgaW5pdGlhbGl6ZV0pOgorICAgICAgICAoK1tX
ZWJIVE1MVmlldyBpbml0aWFsaXplXSk6CisgICAgICAgICogV2ViVmlldy9XZWJQcmVmZXJlbmNl
cy5tbToKKyAgICAgICAgKCtbV2ViUHJlZmVyZW5jZXMgaW5pdGlhbGl6ZV0pOgorICAgICAgICAq
IFdlYlZpZXcvV2ViUmVzb3VyY2UubW06CisgICAgICAgICgrW1dlYlJlc291cmNlUHJpdmF0ZSBp
bml0aWFsaXplXSk6CisgICAgICAgICogV2ViVmlldy9XZWJUZXh0SXRlcmF0b3IubW06CisgICAg
ICAgICgrW1dlYlRleHRJdGVyYXRvclByaXZhdGUgaW5pdGlhbGl6ZV0pOgorICAgICAgICAqIFdl
YlZpZXcvV2ViVmlldy5tbToKKyAgICAgICAgKCtbV2ViVmlldyBpbml0aWFsaXplXSk6CisgICAg
ICAgICogV2ViVmlldy9XZWJWaWV3RGF0YS5tbToKKyAgICAgICAgKCtbV2ViVmlld1ByaXZhdGUg
aW5pdGlhbGl6ZV0pOgorCiAyMDIwLTA2LTA5ICBEZWFuIEphY2tzb24gIDxkaW5vQGFwcGxlLmNv
bT4KIAogICAgICAgICBTdG9wIHVzaW5nIGRpc2NyaW1pbmF0b3J5IG5hbWVzIGZvciBXZWJHTCBh
bmQgUGx1Z2luIGJsb2NraW5nCkluZGV4OiBTb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9IaXN0b3J5
L1dlYkJhY2tGb3J3YXJkTGlzdC5tbQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0TGVnYWN5
L21hYy9IaXN0b3J5L1dlYkJhY2tGb3J3YXJkTGlzdC5tbQkocmV2aXNpb24gMjYyODYzKQorKysg
U291cmNlL1dlYktpdExlZ2FjeS9tYWMvSGlzdG9yeS9XZWJCYWNrRm9yd2FyZExpc3QubW0JKHdv
cmtpbmcgY29weSkKQEAgLTk5LDcgKzk5LDcgQEAgKyAodm9pZClpbml0aWFsaXplCiB7CiAjaWYg
IVBMQVRGT1JNKElPU19GQU1JTFkpCiAgICAgSlNDOjppbml0aWFsaXplVGhyZWFkaW5nKCk7Ci0g
ICAgUnVuTG9vcDo6aW5pdGlhbGl6ZU1haW5SdW5Mb29wKCk7CisgICAgUnVuTG9vcDo6aW5pdGlh
bGl6ZU1haW4oKTsKICNlbmRpZgogfQogCkluZGV4OiBTb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9I
aXN0b3J5L1dlYkhpc3RvcnlJdGVtLm1tCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXRMZWdh
Y3kvbWFjL0hpc3RvcnkvV2ViSGlzdG9yeUl0ZW0ubW0JKHJldmlzaW9uIDI2Mjg2MykKKysrIFNv
dXJjZS9XZWJLaXRMZWdhY3kvbWFjL0hpc3RvcnkvV2ViSGlzdG9yeUl0ZW0ubW0JKHdvcmtpbmcg
Y29weSkKQEAgLTEyNiw3ICsxMjYsNyBAQCArICh2b2lkKWluaXRpYWxpemUKIHsKICNpZiAhUExB
VEZPUk0oSU9TX0ZBTUlMWSkKICAgICBKU0M6OmluaXRpYWxpemVUaHJlYWRpbmcoKTsKLSAgICBS
dW5Mb29wOjppbml0aWFsaXplTWFpblJ1bkxvb3AoKTsKKyAgICBSdW5Mb29wOjppbml0aWFsaXpl
TWFpbigpOwogI2VuZGlmCiB9CiAKSW5kZXg6IFNvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL01pc2Mv
V2ViQ2FjaGUubW0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdExlZ2FjeS9tYWMvTWlzYy9X
ZWJDYWNoZS5tbQkocmV2aXNpb24gMjYyODYzKQorKysgU291cmNlL1dlYktpdExlZ2FjeS9tYWMv
TWlzYy9XZWJDYWNoZS5tbQkod29ya2luZyBjb3B5KQpAQCAtNjQsNyArNjQsNyBAQCArICh2b2lk
KWluaXRpYWxpemUKIHsKICNpZiAhUExBVEZPUk0oSU9TX0ZBTUlMWSkKICAgICBKU0M6OmluaXRp
YWxpemVUaHJlYWRpbmcoKTsKLSAgICBSdW5Mb29wOjppbml0aWFsaXplTWFpblJ1bkxvb3AoKTsK
KyAgICBSdW5Mb29wOjppbml0aWFsaXplTWFpbigpOwogI2VuZGlmCiB9CiAKSW5kZXg6IFNvdXJj
ZS9XZWJLaXRMZWdhY3kvbWFjL01pc2MvV2ViRWxlbWVudERpY3Rpb25hcnkubW0KPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gU291cmNlL1dlYktpdExlZ2FjeS9tYWMvTWlzYy9XZWJFbGVtZW50RGljdGlvbmFyeS5t
bQkocmV2aXNpb24gMjYyODYzKQorKysgU291cmNlL1dlYktpdExlZ2FjeS9tYWMvTWlzYy9XZWJF
bGVtZW50RGljdGlvbmFyeS5tbQkod29ya2luZyBjb3B5KQpAQCAtNjgsNyArNjgsNyBAQCArICh2
b2lkKWluaXRpYWxpemUKIHsKICNpZiAhUExBVEZPUk0oSU9TX0ZBTUlMWSkKICAgICBKU0M6Omlu
aXRpYWxpemVUaHJlYWRpbmcoKTsKLSAgICBSdW5Mb29wOjppbml0aWFsaXplTWFpblJ1bkxvb3Ao
KTsKKyAgICBSdW5Mb29wOjppbml0aWFsaXplTWFpbigpOwogI2VuZGlmCiB9CiAKSW5kZXg6IFNv
dXJjZS9XZWJLaXRMZWdhY3kvbWFjL01pc2MvV2ViSWNvbkRhdGFiYXNlLm1tCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFNvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL01pc2MvV2ViSWNvbkRhdGFiYXNlLm1tCShyZXZp
c2lvbiAyNjI4NjMpCisrKyBTb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9NaXNjL1dlYkljb25EYXRh
YmFzZS5tbQkod29ya2luZyBjb3B5KQpAQCAtOTgsNyArOTgsNyBAQCBBTExPV19ERVBSRUNBVEVE
X0lNUExFTUVOVEFUSU9OU19FTkQKICsgKHZvaWQpaW5pdGlhbGl6ZQogewogICAgIEpTQzo6aW5p
dGlhbGl6ZVRocmVhZGluZygpOwotICAgIFJ1bkxvb3A6OmluaXRpYWxpemVNYWluUnVuTG9vcCgp
OworICAgIFJ1bkxvb3A6OmluaXRpYWxpemVNYWluKCk7CiB9CiAKICsgKFdlYkljb25EYXRhYmFz
ZSAqKXNoYXJlZEljb25EYXRhYmFzZQpJbmRleDogU291cmNlL1dlYktpdExlZ2FjeS9tYWMvUGx1
Z2lucy9XZWJCYXNlTmV0c2NhcGVQbHVnaW5WaWV3Lm1tCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9X
ZWJLaXRMZWdhY3kvbWFjL1BsdWdpbnMvV2ViQmFzZU5ldHNjYXBlUGx1Z2luVmlldy5tbQkocmV2
aXNpb24gMjYyODYzKQorKysgU291cmNlL1dlYktpdExlZ2FjeS9tYWMvUGx1Z2lucy9XZWJCYXNl
TmV0c2NhcGVQbHVnaW5WaWV3Lm1tCSh3b3JraW5nIGNvcHkpCkBAIC03MSw3ICs3MSw3IEBAIHVz
aW5nIG5hbWVzcGFjZSBXZWJDb3JlOwogKyAodm9pZClpbml0aWFsaXplCiB7CiAgICAgSlNDOjpp
bml0aWFsaXplVGhyZWFkaW5nKCk7Ci0gICAgUnVuTG9vcDo6aW5pdGlhbGl6ZU1haW5SdW5Mb29w
KCk7CisgICAgUnVuTG9vcDo6aW5pdGlhbGl6ZU1haW4oKTsKICAgICBXZWJLaXQ6OnNlbmRVc2Vy
Q2hhbmdlTm90aWZpY2F0aW9ucygpOwogfQogCkluZGV4OiBTb3VyY2UvV2ViS2l0TGVnYWN5L21h
Yy9QbHVnaW5zL1dlYkJhc2VQbHVnaW5QYWNrYWdlLm1tCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9X
ZWJLaXRMZWdhY3kvbWFjL1BsdWdpbnMvV2ViQmFzZVBsdWdpblBhY2thZ2UubW0JKHJldmlzaW9u
IDI2Mjg2MykKKysrIFNvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL1BsdWdpbnMvV2ViQmFzZVBsdWdp
blBhY2thZ2UubW0JKHdvcmtpbmcgY29weSkKQEAgLTYwLDcgKzYwLDcgQEAgKyAodm9pZClpbml0
aWFsaXplCiB7CiAjaWYgIVBMQVRGT1JNKElPU19GQU1JTFkpCiAgICAgSlNDOjppbml0aWFsaXpl
VGhyZWFkaW5nKCk7Ci0gICAgUnVuTG9vcDo6aW5pdGlhbGl6ZU1haW5SdW5Mb29wKCk7CisgICAg
UnVuTG9vcDo6aW5pdGlhbGl6ZU1haW4oKTsKICNlbmRpZgogfQogCkluZGV4OiBTb3VyY2UvV2Vi
S2l0TGVnYWN5L21hYy9QbHVnaW5zL1dlYk5ldHNjYXBlUGx1Z2luVmlldy5tbQo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBTb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9QbHVnaW5zL1dlYk5ldHNjYXBlUGx1Z2luVmll
dy5tbQkocmV2aXNpb24gMjYyODYzKQorKysgU291cmNlL1dlYktpdExlZ2FjeS9tYWMvUGx1Z2lu
cy9XZWJOZXRzY2FwZVBsdWdpblZpZXcubW0JKHdvcmtpbmcgY29weSkKQEAgLTE2Myw3ICsxNjMs
NyBAQCAtIChOUEVycm9yKWxvYWRSZXF1ZXN0OihOU011dGFibGVVUkxSZXF1CiArICh2b2lkKWlu
aXRpYWxpemUKIHsKICAgICBKU0M6OmluaXRpYWxpemVUaHJlYWRpbmcoKTsKLSAgICBSdW5Mb29w
Ojppbml0aWFsaXplTWFpblJ1bkxvb3AoKTsKKyAgICBSdW5Mb29wOjppbml0aWFsaXplTWFpbigp
OwogICAgIHNlbmRVc2VyQ2hhbmdlTm90aWZpY2F0aW9ucygpOwogfQogCkluZGV4OiBTb3VyY2Uv
V2ViS2l0TGVnYWN5L21hYy9QbHVnaW5zL0hvc3RlZC9XZWJIb3N0ZWROZXRzY2FwZVBsdWdpblZp
ZXcubW0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdExlZ2FjeS9tYWMvUGx1Z2lucy9Ib3N0
ZWQvV2ViSG9zdGVkTmV0c2NhcGVQbHVnaW5WaWV3Lm1tCShyZXZpc2lvbiAyNjI4NjMpCisrKyBT
b3VyY2UvV2ViS2l0TGVnYWN5L21hYy9QbHVnaW5zL0hvc3RlZC9XZWJIb3N0ZWROZXRzY2FwZVBs
dWdpblZpZXcubW0JKHdvcmtpbmcgY29weSkKQEAgLTEwNiw3ICsxMDYsNyBAQCArICh2b2lkKWlu
aXRpYWxpemUKIHsKICNpZiAhUExBVEZPUk0oSU9TX0ZBTUlMWSkKICAgICBKU0M6OmluaXRpYWxp
emVUaHJlYWRpbmcoKTsKLSAgICBSdW5Mb29wOjppbml0aWFsaXplTWFpblJ1bkxvb3AoKTsKKyAg
ICBSdW5Mb29wOjppbml0aWFsaXplTWFpbigpOwogI2VuZGlmCiAgICAgc2VuZFVzZXJDaGFuZ2VO
b3RpZmljYXRpb25zKCk7CiB9CkluZGV4OiBTb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9XZWJDb3Jl
U3VwcG9ydC9XZWJFZGl0b3JDbGllbnQubW0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdExl
Z2FjeS9tYWMvV2ViQ29yZVN1cHBvcnQvV2ViRWRpdG9yQ2xpZW50Lm1tCShyZXZpc2lvbiAyNjI4
NjMpCisrKyBTb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9XZWJDb3JlU3VwcG9ydC9XZWJFZGl0b3JD
bGllbnQubW0JKHdvcmtpbmcgY29weSkKQEAgLTEzOSw3ICsxMzksNyBAQCArICh2b2lkKWluaXRp
YWxpemUKIHsKICNpZiAhUExBVEZPUk0oSU9TX0ZBTUlMWSkKICAgICBKU0M6OmluaXRpYWxpemVU
aHJlYWRpbmcoKTsKLSAgICBSdW5Mb29wOjppbml0aWFsaXplTWFpblJ1bkxvb3AoKTsKKyAgICBS
dW5Mb29wOjppbml0aWFsaXplTWFpbigpOwogI2VuZGlmCiB9CiAKSW5kZXg6IFNvdXJjZS9XZWJL
aXRMZWdhY3kvbWFjL1dlYkNvcmVTdXBwb3J0L1dlYkZyYW1lTG9hZGVyQ2xpZW50Lm1tCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFNvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL1dlYkNvcmVTdXBwb3J0L1dlYkZyYW1l
TG9hZGVyQ2xpZW50Lm1tCShyZXZpc2lvbiAyNjI4NjMpCisrKyBTb3VyY2UvV2ViS2l0TGVnYWN5
L21hYy9XZWJDb3JlU3VwcG9ydC9XZWJGcmFtZUxvYWRlckNsaWVudC5tbQkod29ya2luZyBjb3B5
KQpAQCAtMjM0Myw3ICsyMzQzLDcgQEAgKyAodm9pZClpbml0aWFsaXplCiB7CiAjaWYgIVBMQVRG
T1JNKElPU19GQU1JTFkpCiAgICAgSlNDOjppbml0aWFsaXplVGhyZWFkaW5nKCk7Ci0gICAgUnVu
TG9vcDo6aW5pdGlhbGl6ZU1haW5SdW5Mb29wKCk7CisgICAgUnVuTG9vcDo6aW5pdGlhbGl6ZU1h
aW4oKTsKICNlbmRpZgogfQogCkluZGV4OiBTb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9XZWJWaWV3
L1dlYkFyY2hpdmUubW0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdExlZ2FjeS9tYWMvV2Vi
Vmlldy9XZWJBcmNoaXZlLm1tCShyZXZpc2lvbiAyNjI4NjMpCisrKyBTb3VyY2UvV2ViS2l0TGVn
YWN5L21hYy9XZWJWaWV3L1dlYkFyY2hpdmUubW0JKHdvcmtpbmcgY29weSkKQEAgLTcwLDcgKzcw
LDcgQEAgKyAodm9pZClpbml0aWFsaXplCiB7CiAjaWYgIVBMQVRGT1JNKElPU19GQU1JTFkpCiAg
ICAgSlNDOjppbml0aWFsaXplVGhyZWFkaW5nKCk7Ci0gICAgUnVuTG9vcDo6aW5pdGlhbGl6ZU1h
aW5SdW5Mb29wKCk7CisgICAgUnVuTG9vcDo6aW5pdGlhbGl6ZU1haW4oKTsKICNlbmRpZgogfQog
CkluZGV4OiBTb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9XZWJWaWV3L1dlYkRhdGFTb3VyY2UubW0K
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdExlZ2FjeS9tYWMvV2ViVmlldy9XZWJEYXRhU291
cmNlLm1tCShyZXZpc2lvbiAyNjI4NjMpCisrKyBTb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9XZWJW
aWV3L1dlYkRhdGFTb3VyY2UubW0JKHdvcmtpbmcgY29weSkKQEAgLTE1NCw3ICsxNTQsNyBAQCAr
ICh2b2lkKWluaXRpYWxpemUKICAgICBpZiAoc2VsZiA9PSBbV2ViRGF0YVNvdXJjZSBjbGFzc10p
IHsKICNpZiAhUExBVEZPUk0oSU9TX0ZBTUlMWSkKICAgICAgICAgSlNDOjppbml0aWFsaXplVGhy
ZWFkaW5nKCk7Ci0gICAgICAgIFJ1bkxvb3A6OmluaXRpYWxpemVNYWluUnVuTG9vcCgpOworICAg
ICAgICBSdW5Mb29wOjppbml0aWFsaXplTWFpbigpOwogI2VuZGlmCiAgICAgfQogfQpJbmRleDog
U291cmNlL1dlYktpdExlZ2FjeS9tYWMvV2ViVmlldy9XZWJIVE1MVmlldy5tbQo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBTb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9XZWJWaWV3L1dlYkhUTUxWaWV3Lm1tCShyZXZp
c2lvbiAyNjI4NjMpCisrKyBTb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9XZWJWaWV3L1dlYkhUTUxW
aWV3Lm1tCSh3b3JraW5nIGNvcHkpCkBAIC0xMDMyLDcgKzEwMzIsNyBAQCArICh2b2lkKWluaXRp
YWxpemUKICAgICAvLyBBbmQgc29tZSBvZiB0aGlzIHdvcmsgaXMgbGlrZWx5IHJlZHVuZGFudCBz
aW5jZSArW1dlYkhUTUxWaWV3IGluaXRpYWxpemVdIGlzIGd1YXJhbnRlZWQgdG8gcnVuIGZpcnN0
LgogCiAgICAgSlNDOjppbml0aWFsaXplVGhyZWFkaW5nKCk7Ci0gICAgUnVuTG9vcDo6aW5pdGlh
bGl6ZU1haW5SdW5Mb29wKCk7CisgICAgUnVuTG9vcDo6aW5pdGlhbGl6ZU1haW4oKTsKIAogICAg
IGlmICghb2xkU2V0Q3Vyc29yRm9yTW91c2VMb2NhdGlvbklNUCkgewogICAgICAgICBNZXRob2Qg
c2V0Q3Vyc29yTWV0aG9kID0gY2xhc3NfZ2V0SW5zdGFuY2VNZXRob2QoW05TV2luZG93IGNsYXNz
XSwgQHNlbGVjdG9yKF9zZXRDdXJzb3JGb3JNb3VzZUxvY2F0aW9uOikpOwpAQCAtMjU2Niw3ICsy
NTY2LDcgQEAgKyAodm9pZClpbml0aWFsaXplCiAgICAgW05TQXBwIHJlZ2lzdGVyU2VydmljZXNN
ZW51U2VuZFR5cGVzOltbc2VsZiBjbGFzc10gX3NlbGVjdGlvblBhc3RlYm9hcmRUeXBlc10gcmV0
dXJuVHlwZXM6W1tzZWxmIGNsYXNzXSBfaW5zZXJ0YWJsZVBhc3RlYm9hcmRUeXBlc11dOwogCiAg
ICAgSlNDOjppbml0aWFsaXplVGhyZWFkaW5nKCk7Ci0gICAgUnVuTG9vcDo6aW5pdGlhbGl6ZU1h
aW5SdW5Mb29wKCk7CisgICAgUnVuTG9vcDo6aW5pdGlhbGl6ZU1haW4oKTsKIH0KIAogI2VuZGlm
CkluZGV4OiBTb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9XZWJWaWV3L1dlYlByZWZlcmVuY2VzLm1t
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL1dlYlZpZXcvV2ViUHJlZmVy
ZW5jZXMubW0JKHJldmlzaW9uIDI2Mjg2MykKKysrIFNvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL1dl
YlZpZXcvV2ViUHJlZmVyZW5jZXMubW0JKHdvcmtpbmcgY29weSkKQEAgLTM4OCw3ICszODgsNyBA
QCArICh2b2lkKWluaXRpYWxpemUKIHsKICNpZiAhUExBVEZPUk0oSU9TX0ZBTUlMWSkKICAgICBK
U0M6OmluaXRpYWxpemVUaHJlYWRpbmcoKTsKLSAgICBSdW5Mb29wOjppbml0aWFsaXplTWFpblJ1
bkxvb3AoKTsKKyAgICBSdW5Mb29wOjppbml0aWFsaXplTWFpbigpOwogICAgIGJvb2wgYXR0YWNo
bWVudEVsZW1lbnRFbmFibGVkID0gTWFjQXBwbGljYXRpb246OmlzQXBwbGVNYWlsKCk7CiAgICAg
Ym9vbCB3ZWJTUUxFbmFibGVkID0gZmFsc2U7CiAjZWxzZQpJbmRleDogU291cmNlL1dlYktpdExl
Z2FjeS9tYWMvV2ViVmlldy9XZWJSZXNvdXJjZS5tbQo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
S2l0TGVnYWN5L21hYy9XZWJWaWV3L1dlYlJlc291cmNlLm1tCShyZXZpc2lvbiAyNjI4NjMpCisr
KyBTb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9XZWJWaWV3L1dlYlJlc291cmNlLm1tCSh3b3JraW5n
IGNvcHkpCkBAIC02OCw3ICs2OCw3IEBAICsgKHZvaWQpaW5pdGlhbGl6ZQogewogI2lmICFQTEFU
Rk9STShJT1NfRkFNSUxZKQogICAgIEpTQzo6aW5pdGlhbGl6ZVRocmVhZGluZygpOwotICAgIFJ1
bkxvb3A6OmluaXRpYWxpemVNYWluUnVuTG9vcCgpOworICAgIFJ1bkxvb3A6OmluaXRpYWxpemVN
YWluKCk7CiAjZW5kaWYKIH0KIApJbmRleDogU291cmNlL1dlYktpdExlZ2FjeS9tYWMvV2ViVmll
dy9XZWJUZXh0SXRlcmF0b3IubW0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdExlZ2FjeS9t
YWMvV2ViVmlldy9XZWJUZXh0SXRlcmF0b3IubW0JKHJldmlzaW9uIDI2Mjg2MykKKysrIFNvdXJj
ZS9XZWJLaXRMZWdhY3kvbWFjL1dlYlZpZXcvV2ViVGV4dEl0ZXJhdG9yLm1tCSh3b3JraW5nIGNv
cHkpCkBAIC00OCw3ICs0OCw3IEBAICsgKHZvaWQpaW5pdGlhbGl6ZQogewogI2lmICFQTEFURk9S
TShJT1NfRkFNSUxZKQogICAgIEpTQzo6aW5pdGlhbGl6ZVRocmVhZGluZygpOwotICAgIFJ1bkxv
b3A6OmluaXRpYWxpemVNYWluUnVuTG9vcCgpOworICAgIFJ1bkxvb3A6OmluaXRpYWxpemVNYWlu
KCk7CiAjZW5kaWYKIH0KIApJbmRleDogU291cmNlL1dlYktpdExlZ2FjeS9tYWMvV2ViVmlldy9X
ZWJWaWV3Lm1tCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL1dlYlZpZXcv
V2ViVmlldy5tbQkocmV2aXNpb24gMjYyODYzKQorKysgU291cmNlL1dlYktpdExlZ2FjeS9tYWMv
V2ViVmlldy9XZWJWaWV3Lm1tCSh3b3JraW5nIGNvcHkpCkBAIC01NTIwLDcgKzU1MjAsNyBAQCAr
ICh2b2lkKWluaXRpYWxpemUKIAogI2lmICFQTEFURk9STShJT1NfRkFNSUxZKQogICAgIEpTQzo6
aW5pdGlhbGl6ZVRocmVhZGluZygpOwotICAgIFJ1bkxvb3A6OmluaXRpYWxpemVNYWluUnVuTG9v
cCgpOworICAgIFJ1bkxvb3A6OmluaXRpYWxpemVNYWluKCk7CiAjZW5kaWYKIAogICAgIFdURjo6
UmVmQ291bnRlZEJhc2U6OmVuYWJsZVRocmVhZGluZ0NoZWNrc0dsb2JhbGx5KCk7CkluZGV4OiBT
b3VyY2UvV2ViS2l0TGVnYWN5L21hYy9XZWJWaWV3L1dlYlZpZXdEYXRhLm1tCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFNvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL1dlYlZpZXcvV2ViVmlld0RhdGEubW0JKHJldmlz
aW9uIDI2Mjg2MykKKysrIFNvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL1dlYlZpZXcvV2ViVmlld0Rh
dGEubW0JKHdvcmtpbmcgY29weSkKQEAgLTE2OCw3ICsxNjgsNyBAQCArICh2b2lkKWluaXRpYWxp
emUKIHsKICNpZiAhUExBVEZPUk0oSU9TX0ZBTUlMWSkKICAgICBKU0M6OmluaXRpYWxpemVUaHJl
YWRpbmcoKTsKLSAgICBSdW5Mb29wOjppbml0aWFsaXplTWFpblJ1bkxvb3AoKTsKKyAgICBSdW5M
b29wOjppbml0aWFsaXplTWFpbigpOwogI2VuZGlmCiB9CiAKSW5kZXg6IFNvdXJjZS9XZWJLaXRM
ZWdhY3kvd2luL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0TGVnYWN5L3dp
bi9DaGFuZ2VMb2cJKHJldmlzaW9uIDI2Mjg2MykKKysrIFNvdXJjZS9XZWJLaXRMZWdhY3kvd2lu
L0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDE1IEBACisyMDIwLTA2LTEwICBH
ZW9mZnJleSBHYXJlbiAgPGdnYXJlbkBhcHBsZS5jb20+CisKKyAgICAgICAgU29tZSBzdHlsZSBp
bXByb3ZlbWVudHMgdG8gbWFpbiB0aHJlYWQgY29kZQorICAgICAgICBodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjEzMDUxCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9C
T0RZIChPT1BTISkuCisKKyAgICAgICAgVXBkYXRlZCBmb3IgcmVuYW1lLgorCisgICAgICAgICog
V2ViVmlldy5jcHA6CisgICAgICAgIChXZWJWaWV3OjpXZWJWaWV3KToKKwogMjAyMC0wNi0wOCAg
RGF2aWQgS2lsemVyICA8ZGRraWx6ZXJAYXBwbGUuY29tPgogCiAgICAgICAgIFtJUENdIEFkb3B0
IGVudW0gY2xhc3MgZm9yIERyYWdPcGVyYXRpb24KSW5kZXg6IFNvdXJjZS9XZWJLaXRMZWdhY3kv
d2luL1dlYlZpZXcuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXRMZWdhY3kvd2luL1dl
YlZpZXcuY3BwCShyZXZpc2lvbiAyNjI4NjMpCisrKyBTb3VyY2UvV2ViS2l0TGVnYWN5L3dpbi9X
ZWJWaWV3LmNwcAkod29ya2luZyBjb3B5KQpAQCAtNDIxLDcgKzQyMSw3IEBAIGJvb2wgV2ViVmll
dzo6c19hbGxvd1NpdGVTcGVjaWZpY0hhY2tzID0KIFdlYlZpZXc6OldlYlZpZXcoKQogewogICAg
IEpTQzo6aW5pdGlhbGl6ZVRocmVhZGluZygpOwotICAgIFJ1bkxvb3A6OmluaXRpYWxpemVNYWlu
UnVuTG9vcCgpOworICAgIFJ1bkxvb3A6OmluaXRpYWxpemVNYWluKCk7CiAgICAgV1RGOjpzZXRQ
cm9jZXNzUHJpdmlsZWdlcyhhbGxQcml2aWxlZ2VzKCkpOwogICAgIFdlYkNvcmU6Ok5ldHdvcmtT
dG9yYWdlU2Vzc2lvbjo6cGVybWl0UHJvY2Vzc1RvVXNlQ29va2llQVBJKHRydWUpOwogCg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>401591</attachid>
            <date>2020-06-10 15:32:45 -0700</date>
            <delta_ts>2022-02-28 03:35:00 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-213051-20200610153244.patch</filename>
            <type>text/plain</type>
            <size>34502</size>
            <attacher name="Geoffrey Garen">ggaren</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XVEYvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XVEYvQ2hh
bmdlTG9nCShyZXZpc2lvbiAyNjI4NjMpCisrKyBTb3VyY2UvV1RGL0NoYW5nZUxvZwkod29ya2lu
ZyBjb3B5KQpAQCAtMSwzICsxLDMzIEBACisyMDIwLTA2LTEwICBHZW9mZnJleSBHYXJlbiAgPGdn
YXJlbkBhcHBsZS5jb20+CisKKyAgICAgICAgU29tZSBzdHlsZSBpbXByb3ZlbWVudHMgdG8gbWFp
biB0aHJlYWQgY29kZQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9MjEzMDUxCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAg
ICAgICAgKiB3dGYvUnVuTG9vcC5jcHA6CisgICAgICAgIChXVEY6OlJ1bkxvb3A6OmluaXRpYWxp
emVNYWluKTogUmVuYW1lZCBpbml0aWFsaXplTWFpblJ1bkxvb3AgPT4gaW5pdGlhbGl6ZU1haW4K
KyAgICAgICAgdG8gbWF0Y2ggdGhlIGdldHRlcidzIG5hbWUuCisgICAgICAgIChXVEY6OlJ1bkxv
b3A6OmluaXRpYWxpemVXZWIpOiBTYW1lc2llcy4KKyAgICAgICAgKFdURjo6UnVuTG9vcDo6d2Vi
SWZFeGlzdHMpOiBBZGRlZCBhbiBJZkV4aXN0cyBhY2Nlc3NvciBmb3IgdXNlIGluCisgICAgICAg
IHNjaGVkdWxlRGlzcGF0Y2hGdW5jdGlvbnNPbk1haW5UaHJlYWQoKS4KKyAgICAgICAgKFdURjo6
UnVuTG9vcDo6aW5pdGlhbGl6ZU1haW5SdW5Mb29wKTogRGVsZXRlZC4KKyAgICAgICAgKFdURjo6
UnVuTG9vcDo6aW5pdGlhbGl6ZVdlYlJ1bkxvb3ApOiBEZWxldGVkLgorCisgICAgICAgICogd3Rm
L1J1bkxvb3AuaDoKKworICAgICAgICAqIHd0Zi9jb2NvYS9NYWluVGhyZWFkQ29jb2EubW06Cisg
ICAgICAgIChXVEY6OnNjaGVkdWxlRGlzcGF0Y2hGdW5jdGlvbnNPbk1haW5UaHJlYWQpOiBVc2Ug
UnVuTG9vcDo6d2ViSWZFeGlzdHMoKQorICAgICAgICB0byBjaGVjayBmb3IgdGhlIHdlYiB0aHJl
YWQgcnVuIGxvb3AsIHNpbmNlIHRoYXQncyBtb3JlIGV4cGxpY2l0IHRoYW4KKyAgICAgICAgY2hl
Y2sgYSBwdGhyZWFkIHZhcmlhYmxlLgorCisgICAgICAgIChXVEY6OmlzV2ViVGhyZWFkKTogUmVu
YW1lZCBtYWluVGhyZWFkUHRocmVhZCA9PiB3ZWJUaHJlYWRQdGhyZWFkIGJlY2F1c2UKKyAgICAg
ICAgaXQncyB0aGUgd2ViIHRocmVhZC4gQ2hhbmdlZCBzdHlsZSBvbiBnbG9iYWxzIHRvICJzXyIg
Zm9yIGNvbnNpc3RlbmN5LgorICAgICAgICBSZW1vdmVkIG1haW5UaHJlYWROU1RocmVhZCBiZWNh
dXNlIGl0IHdhcyB1bnVzZWQuCisgICAgICAgIChXVEY6OmluaXRpYWxpemVBcHBsaWNhdGlvblVJ
VGhyZWFkKToKKyAgICAgICAgKFdURjo6aW5pdGlhbGl6ZVdlYlRocmVhZCk6CisgICAgICAgIChX
VEY6OmNhbkN1cnJlbnRUaHJlYWRBY2Nlc3NUaHJlYWRMb2NhbERhdGEpOgorCiAyMDIwLTA2LTEw
ICBHZW9mZnJleSBHYXJlbiAgPGdnYXJlbkBhcHBsZS5jb20+CiAKICAgICAgICAgW0NvY29hXSBC
dWlsZCBjYWxsT25NYWluVGhyZWFkIG9uIFdURjo6UnVuTG9vcCByYXRoZXIgdGhhbiBvbiBOU09i
amVjdCBtZXRob2RzCkluZGV4OiBTb3VyY2UvV1RGL3d0Zi9SdW5Mb29wLmNwcAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBTb3VyY2UvV1RGL3d0Zi9SdW5Mb29wLmNwcAkocmV2aXNpb24gMjYyODYzKQorKysgU291
cmNlL1dURi93dGYvUnVuTG9vcC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTUyLDcgKzUyLDcgQEAg
cHJpdmF0ZToKICAgICBSZWY8UnVuTG9vcD4gbV9ydW5Mb29wOwogfTsKIAotdm9pZCBSdW5Mb29w
Ojppbml0aWFsaXplTWFpblJ1bkxvb3AoKQordm9pZCBSdW5Mb29wOjppbml0aWFsaXplTWFpbigp
CiB7CiAgICAgaWYgKHNfbWFpblJ1bkxvb3ApCiAgICAgICAgIHJldHVybjsKQEAgLTczLDcgKzcz
LDcgQEAgUnVuTG9vcCYgUnVuTG9vcDo6bWFpbigpCiB9CiAKICNpZiBVU0UoV0VCX1RIUkVBRCkK
LXZvaWQgUnVuTG9vcDo6aW5pdGlhbGl6ZVdlYlJ1bkxvb3AoKQordm9pZCBSdW5Mb29wOjppbml0
aWFsaXplV2ViKCkKIHsKICAgICBzX3dlYlJ1bkxvb3AgPSAmUnVuTG9vcDo6Y3VycmVudCgpOwog
fQpAQCAtODMsNiArODMsMTEgQEAgUnVuTG9vcCYgUnVuTG9vcDo6d2ViKCkKICAgICBBU1NFUlQo
c193ZWJSdW5Mb29wKTsKICAgICByZXR1cm4gKnNfd2ViUnVuTG9vcDsKIH0KKworUnVuTG9vcCog
UnVuTG9vcDo6d2ViSWZFeGlzdHMoKQoreworICAgIHJldHVybiBzX3dlYlJ1bkxvb3A7Cit9CiAj
ZW5kaWYKIAogYm9vbCBSdW5Mb29wOjppc01haW4oKQpJbmRleDogU291cmNlL1dURi93dGYvUnVu
TG9vcC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XVEYvd3RmL1J1bkxvb3AuaAkocmV2aXNpb24g
MjYyODYzKQorKysgU291cmNlL1dURi93dGYvUnVuTG9vcC5oCSh3b3JraW5nIGNvcHkpCkBAIC02
MCwxNSArNjAsMTYgQEAgY2xhc3MgUnVuTG9vcCBmaW5hbCA6IHB1YmxpYyBGdW5jdGlvbkRpcwog
cHVibGljOgogICAgIC8vIE11c3QgYmUgY2FsbGVkIGZyb20gdGhlIG1haW4gdGhyZWFkIChleGNl
cHQgZm9yIHRoZSBNYWMgcGxhdGZvcm0sIHdoZXJlIGl0CiAgICAgLy8gY2FuIGJlIGNhbGxlZCBm
cm9tIGFueSB0aHJlYWQpLgotICAgIFdURl9FWFBPUlRfUFJJVkFURSBzdGF0aWMgdm9pZCBpbml0
aWFsaXplTWFpblJ1bkxvb3AoKTsKKyAgICBXVEZfRVhQT1JUX1BSSVZBVEUgc3RhdGljIHZvaWQg
aW5pdGlhbGl6ZU1haW4oKTsKICNpZiBVU0UoV0VCX1RIUkVBRCkKLSAgICBXVEZfRVhQT1JUX1BS
SVZBVEUgc3RhdGljIHZvaWQgaW5pdGlhbGl6ZVdlYlJ1bkxvb3AoKTsKKyAgICBXVEZfRVhQT1JU
X1BSSVZBVEUgc3RhdGljIHZvaWQgaW5pdGlhbGl6ZVdlYigpOwogI2VuZGlmCiAKICAgICBXVEZf
RVhQT1JUX1BSSVZBVEUgc3RhdGljIFJ1bkxvb3AmIGN1cnJlbnQoKTsKICAgICBXVEZfRVhQT1JU
X1BSSVZBVEUgc3RhdGljIFJ1bkxvb3AmIG1haW4oKTsKICNpZiBVU0UoV0VCX1RIUkVBRCkKICAg
ICBXVEZfRVhQT1JUX1BSSVZBVEUgc3RhdGljIFJ1bkxvb3AmIHdlYigpOworICAgIFdURl9FWFBP
UlRfUFJJVkFURSBzdGF0aWMgUnVuTG9vcCogd2ViSWZFeGlzdHMoKTsKICNlbmRpZgogICAgIFdU
Rl9FWFBPUlRfUFJJVkFURSBzdGF0aWMgYm9vbCBpc01haW4oKTsKICAgICB+UnVuTG9vcCgpIGZp
bmFsOwpJbmRleDogU291cmNlL1dURi93dGYvY29jb2EvTWFpblRocmVhZENvY29hLm1tCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFNvdXJjZS9XVEYvd3RmL2NvY29hL01haW5UaHJlYWRDb2NvYS5tbQkocmV2aXNp
b24gMjYyODYzKQorKysgU291cmNlL1dURi93dGYvY29jb2EvTWFpblRocmVhZENvY29hLm1tCSh3
b3JraW5nIGNvcHkpCkBAIC01OCwxMSArNTgsMTAgQEAgc3RhdGljIGJvb2wgaXNUaW1lclBvc3Rl
ZDsgLy8gVGhpcyBpcyBvbgogCiAjaWYgVVNFKFdFQl9USFJFQUQpCiAvLyBXaGVuIHRoZSBXZWIg
dGhyZWFkIGlzIGVuYWJsZWQsIHdlIGNvbnNpZGVyIGl0IHRvIGJlIHRoZSBtYWluIHRocmVhZCwg
bm90IHB0aHJlYWQgbWFpbi4KLXN0YXRpYyBwdGhyZWFkX3QgbWFpblRocmVhZFB0aHJlYWQgeyBu
dWxscHRyIH07Ci1zdGF0aWMgTlNUaHJlYWQqIG1haW5UaHJlYWROU1RocmVhZCB7IG51bGxwdHIg
fTsKK3N0YXRpYyBwdGhyZWFkX3Qgc193ZWJUaHJlYWRQdGhyZWFkIHsgbnVsbHB0ciB9OwogCi1z
dGF0aWMgVGhyZWFkKiBzQXBwbGljYXRpb25VSVRocmVhZDsKLXN0YXRpYyBUaHJlYWQqIHNXZWJU
aHJlYWQ7CitzdGF0aWMgVGhyZWFkKiBzX2FwcGxpY2F0aW9uVUlUaHJlYWQ7CitzdGF0aWMgVGhy
ZWFkKiBzX3dlYlRocmVhZDsKICNlbmRpZgogCiB2b2lkIGluaXRpYWxpemVNYWluVGhyZWFkUGxh
dGZvcm0oKQpAQCAtMTAxLDcgKzEwMCw3IEBAIHZvaWQgc2NoZWR1bGVEaXNwYXRjaEZ1bmN0aW9u
c09uTWFpblRocmUKICAgICAgICAgcmV0dXJuOwogICAgIH0KIAotICAgIGlmIChtYWluVGhyZWFk
UHRocmVhZCkgeworICAgIGlmIChSdW5Mb29wOjp3ZWJJZkV4aXN0cygpKSB7CiAgICAgICAgIFJ1
bkxvb3A6OndlYigpLmRpc3BhdGNoKGRpc3BhdGNoRnVuY3Rpb25zRnJvbU1haW5UaHJlYWQpOwog
ICAgICAgICByZXR1cm47CiAgICAgfQpAQCAtMTYwLDEzICsxNTksMTMgQEAgYm9vbCBpc1VJVGhy
ZWFkKCkKIC8vIEtlZXAgaW4gbWluZCB0aGF0IGlzV2ViVGhyZWFkIGNhbiBiZSBjYWxsZWQgZXZl
biB3aGVuIGRlc3Ryb3lpbmcgdGhlIGN1cnJlbnQgdGhyZWFkLgogYm9vbCBpc1dlYlRocmVhZCgp
CiB7Ci0gICAgcmV0dXJuIHB0aHJlYWRfZXF1YWwocHRocmVhZF9zZWxmKCksIG1haW5UaHJlYWRQ
dGhyZWFkKTsKKyAgICByZXR1cm4gcHRocmVhZF9lcXVhbChwdGhyZWFkX3NlbGYoKSwgc193ZWJU
aHJlYWRQdGhyZWFkKTsKIH0KIAogdm9pZCBpbml0aWFsaXplQXBwbGljYXRpb25VSVRocmVhZCgp
CiB7CiAgICAgQVNTRVJUKHB0aHJlYWRfbWFpbl9ucCgpKTsKLSAgICBzQXBwbGljYXRpb25VSVRo
cmVhZCA9ICZUaHJlYWQ6OmN1cnJlbnQoKTsKKyAgICBzX2FwcGxpY2F0aW9uVUlUaHJlYWQgPSAm
VGhyZWFkOjpjdXJyZW50KCk7CiB9CiAKIHZvaWQgaW5pdGlhbGl6ZVdlYlRocmVhZCgpCkBAIC0x
NzQsMTAgKzE3Myw5IEBAIHZvaWQgaW5pdGlhbGl6ZVdlYlRocmVhZCgpCiAgICAgc3RhdGljIHN0
ZDo6b25jZV9mbGFnIGluaXRpYWxpemVLZXk7CiAgICAgc3RkOjpjYWxsX29uY2UoaW5pdGlhbGl6
ZUtleSwgW10gewogICAgICAgICBBU1NFUlQoIXB0aHJlYWRfbWFpbl9ucCgpKTsKLSAgICAgICAg
bWFpblRocmVhZFB0aHJlYWQgPSBwdGhyZWFkX3NlbGYoKTsKLSAgICAgICAgbWFpblRocmVhZE5T
VGhyZWFkID0gW05TVGhyZWFkIGN1cnJlbnRUaHJlYWRdOwotICAgICAgICBzV2ViVGhyZWFkID0g
JlRocmVhZDo6Y3VycmVudCgpOwotICAgICAgICBSdW5Mb29wOjppbml0aWFsaXplV2ViUnVuTG9v
cCgpOworICAgICAgICBzX3dlYlRocmVhZFB0aHJlYWQgPSBwdGhyZWFkX3NlbGYoKTsKKyAgICAg
ICAgc193ZWJUaHJlYWQgPSAmVGhyZWFkOjpjdXJyZW50KCk7CisgICAgICAgIFJ1bkxvb3A6Omlu
aXRpYWxpemVXZWIoKTsKICAgICB9KTsKIH0KIApAQCAtMTg3LDggKzE4NSw4IEBAIGJvb2wgY2Fu
Q3VycmVudFRocmVhZEFjY2Vzc1RocmVhZExvY2FsRGEKICAgICBpZiAoJnRocmVhZCA9PSAmY3Vy
cmVudFRocmVhZCkKICAgICAgICAgcmV0dXJuIHRydWU7CiAKLSAgICBpZiAoJnRocmVhZCA9PSBz
V2ViVGhyZWFkIHx8ICZ0aHJlYWQgPT0gc0FwcGxpY2F0aW9uVUlUaHJlYWQpCi0gICAgICAgIHJl
dHVybiAoJmN1cnJlbnRUaHJlYWQgPT0gc1dlYlRocmVhZCB8fCAmY3VycmVudFRocmVhZCA9PSBz
QXBwbGljYXRpb25VSVRocmVhZCkgJiYgd2ViVGhyZWFkSXNVbmluaXRpYWxpemVkT3JMb2NrZWRP
ckRpc2FibGVkKCk7CisgICAgaWYgKCZ0aHJlYWQgPT0gc193ZWJUaHJlYWQgfHwgJnRocmVhZCA9
PSBzX2FwcGxpY2F0aW9uVUlUaHJlYWQpCisgICAgICAgIHJldHVybiAoJmN1cnJlbnRUaHJlYWQg
PT0gc193ZWJUaHJlYWQgfHwgJmN1cnJlbnRUaHJlYWQgPT0gc19hcHBsaWNhdGlvblVJVGhyZWFk
KSAmJiB3ZWJUaHJlYWRJc1VuaW5pdGlhbGl6ZWRPckxvY2tlZE9yRGlzYWJsZWQoKTsKIAogICAg
IHJldHVybiBmYWxzZTsKIH0KSW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDI2Mjg2MykKKysrIFNv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDE2IEBACisy
MDIwLTA2LTEwICBHZW9mZnJleSBHYXJlbiAgPGdnYXJlbkBhcHBsZS5jb20+CisKKyAgICAgICAg
U29tZSBzdHlsZSBpbXByb3ZlbWVudHMgdG8gbWFpbiB0aHJlYWQgY29kZQorICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjEzMDUxCisKKyAgICAgICAgUmV2
aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVXBkYXRlZCBmb3IgcmVuYW1lLgor
CisgICAgICAgICogV2ViQ29yZS5vcmRlcjoKKyAgICAgICAgKiBwbGF0Zm9ybS9pb3Mvd2FrL1dl
YkNvcmVUaHJlYWQubW06CisgICAgICAgIChTdGFydFdlYlRocmVhZCk6CisKIDIwMjAtMDYtMTAg
IEJyaWFuIEJ1cmcgIDxiYnVyZ0BhcHBsZS5jb20+CiAKICAgICAgICAgV2ViRHJpdmVyIG9uIG5v
bi1pT1MgcG9ydHMgY2Fubm90IHBlcmZvcm0gQWN0aW9uQ2hhaW4gd2hpY2ggaGFzIHNjcm9sbGlu
ZyBkb3duIHRvIHRoZSBlbGVtZW50IGFuZCBjbGljayBpdApJbmRleDogU291cmNlL1dlYkNvcmUv
V2ViQ29yZS5vcmRlcgo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9XZWJDb3JlLm9yZGVy
CShyZXZpc2lvbiAyNjI4NjMpCisrKyBTb3VyY2UvV2ViQ29yZS9XZWJDb3JlLm9yZGVyCSh3b3Jr
aW5nIGNvcHkpCkBAIC0yOTI2NSw3ICsyOTI2NSw2IEBAIF9fWlpOSzdXZWJDb3JlMjBSZXNvdXJj
ZVJlc3BvbnNlQmFzZTI3cGEKIF9fWkdWWk5LN1dlYkNvcmUyMFJlc291cmNlUmVzcG9uc2VCYXNl
MjdwYXJzZUNhY2hlQ29udHJvbERpcmVjdGl2ZXNFdkUxNW1heEFnZURpcmVjdGl2ZS5iCiBfX1pa
Tks3V2ViQ29yZTIwUmVzb3VyY2VSZXNwb25zZUJhc2UyN3BhcnNlQ2FjaGVDb250cm9sRGlyZWN0
aXZlc0V2RTEycHJhZ21hSGVhZGVyCiBfX1pHVlpOSzdXZWJDb3JlMjBSZXNvdXJjZVJlc3BvbnNl
QmFzZTI3cGFyc2VDYWNoZUNvbnRyb2xEaXJlY3RpdmVzRXZFMTJwcmFnbWFIZWFkZXIuYgotX19a
Wk43V2ViQ29yZTdSdW5Mb29wMjFpbml0aWFsaXplTWFpblJ1bkxvb3BFdkU5b25jZVRva2VuCiBf
X1pON1dlYkNvcmVMMTNzX21haW5SdW5Mb29wRQogX19aWk43V2ViQ29yZUwzN0NvbnRlbnRTZWN1
cml0eVBvbGljeUJ5cGFzc2luZ1NjaGVtZXNFdkU3c2NoZW1lcwogX19aR1ZaTjdXZWJDb3JlTDM3
Q29udGVudFNlY3VyaXR5UG9saWN5QnlwYXNzaW5nU2NoZW1lc0V2RTdzY2hlbWVzLmIKSW5kZXg6
IFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2lvcy93YWsvV2ViQ29yZVRocmVhZC5tbQo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9pb3Mvd2FrL1dlYkNvcmVUaHJlYWQubW0J
KHJldmlzaW9uIDI2Mjg2MykKKysrIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2lvcy93YWsvV2Vi
Q29yZVRocmVhZC5tbQkod29ya2luZyBjb3B5KQpAQCAtNjQzLDcgKzY0Myw3IEBAIHN0YXRpYyB2
b2lkIFN0YXJ0V2ViVGhyZWFkKCkKICAgICBXZWJDb3JlOjpUaHJlYWRHbG9iYWxEYXRhJiB1bnVz
ZWQgPSBXZWJDb3JlOjp0aHJlYWRHbG9iYWxEYXRhKCk7CiAgICAgVU5VU0VEX1BBUkFNKHVudXNl
ZCk7CiAKLSAgICBSdW5Mb29wOjppbml0aWFsaXplTWFpblJ1bkxvb3AoKTsKKyAgICBSdW5Mb29w
Ojppbml0aWFsaXplTWFpbigpOwogCiAgICAgLy8gcmVnaXN0ZXIgY2xhc3MgZm9yIFdlYlRocmVh
ZCBkZWFsbG9jYXRpb24KICAgICBXZWJDb3JlT2JqQ0RlYWxsb2NPbldlYlRocmVhZChbV0FLV2lu
ZG93IGNsYXNzXSk7CkluZGV4OiBTb3VyY2UvV2ViRHJpdmVyL0NoYW5nZUxvZwo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBTb3VyY2UvV2ViRHJpdmVyL0NoYW5nZUxvZwkocmV2aXNpb24gMjYyODYzKQorKysgU291
cmNlL1dlYkRyaXZlci9DaGFuZ2VMb2cJKHdvcmtpbmcgY29weSkKQEAgLTEsMyArMSwxNSBAQAor
MjAyMC0wNi0xMCAgR2VvZmZyZXkgR2FyZW4gIDxnZ2FyZW5AYXBwbGUuY29tPgorCisgICAgICAg
IFNvbWUgc3R5bGUgaW1wcm92ZW1lbnRzIHRvIG1haW4gdGhyZWFkIGNvZGUKKyAgICAgICAgaHR0
cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIxMzA1MQorCisgICAgICAgIFJl
dmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFVwZGF0ZWQgZm9yIHJlbmFtZS4K
KworICAgICAgICAqIFdlYkRyaXZlclNlcnZpY2UuY3BwOgorICAgICAgICAoV2ViRHJpdmVyOjpX
ZWJEcml2ZXJTZXJ2aWNlOjpydW4pOgorCiAyMDIwLTAzLTE5ICBDaGFybGllIFR1cm5lciAgPGN0
dXJuZXJAaWdhbGlhLmNvbT4KIAogICAgICAgICBGaXggbWFueSB3YXJuaW5ncyB3aXRoIENsYW5n
IDcuMCBvbiBHVEsgeDg2LTY0IGluIERlYnVnLgpJbmRleDogU291cmNlL1dlYkRyaXZlci9XZWJE
cml2ZXJTZXJ2aWNlLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViRHJpdmVyL1dlYkRyaXZl
clNlcnZpY2UuY3BwCShyZXZpc2lvbiAyNjI4NjMpCisrKyBTb3VyY2UvV2ViRHJpdmVyL1dlYkRy
aXZlclNlcnZpY2UuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC05Niw3ICs5Niw3IEBAIGludCBXZWJE
cml2ZXJTZXJ2aWNlOjpydW4oaW50IGFyZ2MsIGNoYXIKICAgICAgICAgcmV0dXJuIEVYSVRfRkFJ
TFVSRTsKICAgICB9CiAKLSAgICBSdW5Mb29wOjppbml0aWFsaXplTWFpblJ1bkxvb3AoKTsKKyAg
ICBSdW5Mb29wOjppbml0aWFsaXplTWFpbigpOwogCiAgICAgaWYgKCFtX3NlcnZlci5saXN0ZW4o
aG9zdCwgcG9ydCkpCiAgICAgICAgIHJldHVybiBFWElUX0ZBSUxVUkU7CkluZGV4OiBTb3VyY2Uv
V2ViS2l0L0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwko
cmV2aXNpb24gMjYyODYzKQorKysgU291cmNlL1dlYktpdC9DaGFuZ2VMb2cJKHdvcmtpbmcgY29w
eSkKQEAgLTEsMyArMSwxOCBAQAorMjAyMC0wNi0xMCAgR2VvZmZyZXkgR2FyZW4gIDxnZ2FyZW5A
YXBwbGUuY29tPgorCisgICAgICAgIFNvbWUgc3R5bGUgaW1wcm92ZW1lbnRzIHRvIG1haW4gdGhy
ZWFkIGNvZGUKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lk
PTIxMzA1MQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAg
IFVwZGF0ZWQgZm9yIHJlbmFtZS4KKworICAgICAgICAqIFNoYXJlZC9Db2NvYS9XZWJLaXQySW5p
dGlhbGl6ZUNvY29hLm1tOgorICAgICAgICAoV2ViS2l0OjpydW5Jbml0aWFsaXphdGlvbkNvZGUp
OgorICAgICAgICAoV2ViS2l0OjpJbml0aWFsaXplV2ViS2l0Mik6CisgICAgICAgICogU2hhcmVk
L1dlYktpdDJJbml0aWFsaXplLmNwcDoKKyAgICAgICAgKFdlYktpdDo6SW5pdGlhbGl6ZVdlYktp
dDIpOgorCiAyMDIwLTA2LTEwICBKb25hdGhhbiBCZWRhcmQgIDxqYmVkYXJkQGFwcGxlLmNvbT4K
IAogICAgICAgICBXZWJLaXQ6IEFkZCBDbG9ja0tpdFNQSS5oCkluZGV4OiBTb3VyY2UvV2ViS2l0
L1NoYXJlZC9XZWJLaXQySW5pdGlhbGl6ZS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktp
dC9TaGFyZWQvV2ViS2l0MkluaXRpYWxpemUuY3BwCShyZXZpc2lvbiAyNjI4NjMpCisrKyBTb3Vy
Y2UvV2ViS2l0L1NoYXJlZC9XZWJLaXQySW5pdGlhbGl6ZS5jcHAJKHdvcmtpbmcgY29weSkKQEAg
LTQwLDcgKzQwLDcgQEAgbmFtZXNwYWNlIFdlYktpdCB7CiB2b2lkIEluaXRpYWxpemVXZWJLaXQy
KCkKIHsKICAgICBKU0M6OmluaXRpYWxpemVUaHJlYWRpbmcoKTsKLSAgICBSdW5Mb29wOjppbml0
aWFsaXplTWFpblJ1bkxvb3AoKTsKKyAgICBSdW5Mb29wOjppbml0aWFsaXplTWFpbigpOwogICAg
IEF0b21TdHJpbmc6OmluaXQoKTsKIAogICAgIFdURjo6UmVmQ291bnRlZEJhc2U6OmVuYWJsZVRo
cmVhZGluZ0NoZWNrc0dsb2JhbGx5KCk7CkluZGV4OiBTb3VyY2UvV2ViS2l0L1NoYXJlZC9Db2Nv
YS9XZWJLaXQySW5pdGlhbGl6ZUNvY29hLm1tCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQv
U2hhcmVkL0NvY29hL1dlYktpdDJJbml0aWFsaXplQ29jb2EubW0JKHJldmlzaW9uIDI2Mjg2MykK
KysrIFNvdXJjZS9XZWJLaXQvU2hhcmVkL0NvY29hL1dlYktpdDJJbml0aWFsaXplQ29jb2EubW0J
KHdvcmtpbmcgY29weSkKQEAgLTUzLDcgKzUzLDcgQEAgc3RhdGljIHZvaWQgcnVuSW5pdGlhbGl6
YXRpb25Db2RlKHZvaWQqIAogI2VuZGlmCiAKICAgICBKU0M6OmluaXRpYWxpemVUaHJlYWRpbmco
KTsKLSAgICBSdW5Mb29wOjppbml0aWFsaXplTWFpblJ1bkxvb3AoKTsKKyAgICBSdW5Mb29wOjpp
bml0aWFsaXplTWFpbigpOwogCiAgICAgV1RGOjpSZWZDb3VudGVkQmFzZTo6ZW5hYmxlVGhyZWFk
aW5nQ2hlY2tzR2xvYmFsbHkoKTsKIApAQCAtNjUsNyArNjUsNyBAQCBzdGF0aWMgdm9pZCBydW5J
bml0aWFsaXphdGlvbkNvZGUodm9pZCogCiAKIHZvaWQgSW5pdGlhbGl6ZVdlYktpdDIoKQogewot
ICAgIC8vIE1ha2Ugc3VyZSB0aGUgaW5pdGlhbGl6YXRpb24gY29kZSBpcyBydW4gb25seSBvbmNl
IGFuZCBvbiB0aGUgbWFpbiB0aHJlYWQgc2luY2UgdGhpbmdzIGxpa2UgUnVuTG9vcDo6aW5pdGlh
bGl6ZU1haW5SdW5Mb29wKCkKKyAgICAvLyBNYWtlIHN1cmUgdGhlIGluaXRpYWxpemF0aW9uIGNv
ZGUgaXMgcnVuIG9ubHkgb25jZSBhbmQgb24gdGhlIG1haW4gdGhyZWFkIHNpbmNlIHRoaW5ncyBs
aWtlIFJ1bkxvb3A6OmluaXRpYWxpemVNYWluKCkKICAgICAvLyBhcmUgb25seSBzYWZlIHRvIGNh
bGwgb24gdGhlIG1haW4gdGhyZWFkLgogICAgIHN0ZDo6Y2FsbF9vbmNlKGZsYWcsIFtdIHsKICAg
ICAgICAgaWYgKFtOU1RocmVhZCBpc01haW5UaHJlYWRdIHx8IGxpbmtlZE9uT3JBZnRlcihTREtW
ZXJzaW9uOjpGaXJzdFdpdGhJbml0aWFsaXplV2ViS2l0Mk1haW5UaHJlYWRBc3NlcnRpb24pKQpJ
bmRleDogU291cmNlL1dlYktpdExlZ2FjeS9tYWMvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNv
dXJjZS9XZWJLaXRMZWdhY3kvbWFjL0NoYW5nZUxvZwkocmV2aXNpb24gMjYyODYzKQorKysgU291
cmNlL1dlYktpdExlZ2FjeS9tYWMvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEs
NTAgQEAKKzIwMjAtMDYtMTAgIEdlb2ZmcmV5IEdhcmVuICA8Z2dhcmVuQGFwcGxlLmNvbT4KKwor
ICAgICAgICBTb21lIHN0eWxlIGltcHJvdmVtZW50cyB0byBtYWluIHRocmVhZCBjb2RlCisgICAg
ICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMTMwNTEKKworICAg
ICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBVcGRhdGVkIGZvciBy
ZW5hbWUuCisKKyAgICAgICAgKiBIaXN0b3J5L1dlYkJhY2tGb3J3YXJkTGlzdC5tbToKKyAgICAg
ICAgKCtbV2ViQmFja0ZvcndhcmRMaXN0IGluaXRpYWxpemVdKToKKyAgICAgICAgKiBIaXN0b3J5
L1dlYkhpc3RvcnlJdGVtLm1tOgorICAgICAgICAoK1tXZWJIaXN0b3J5SXRlbSBpbml0aWFsaXpl
XSk6CisgICAgICAgICogTWlzYy9XZWJDYWNoZS5tbToKKyAgICAgICAgKCtbV2ViQ2FjaGUgaW5p
dGlhbGl6ZV0pOgorICAgICAgICAqIE1pc2MvV2ViRWxlbWVudERpY3Rpb25hcnkubW06CisgICAg
ICAgICgrW1dlYkVsZW1lbnREaWN0aW9uYXJ5IGluaXRpYWxpemVdKToKKyAgICAgICAgKiBNaXNj
L1dlYkljb25EYXRhYmFzZS5tbToKKyAgICAgICAgKiBQbHVnaW5zL0hvc3RlZC9XZWJIb3N0ZWRO
ZXRzY2FwZVBsdWdpblZpZXcubW06CisgICAgICAgICgrW1dlYkhvc3RlZE5ldHNjYXBlUGx1Z2lu
VmlldyBpbml0aWFsaXplXSk6CisgICAgICAgICogUGx1Z2lucy9XZWJCYXNlTmV0c2NhcGVQbHVn
aW5WaWV3Lm1tOgorICAgICAgICAqIFBsdWdpbnMvV2ViQmFzZVBsdWdpblBhY2thZ2UubW06Cisg
ICAgICAgICgrW1dlYkJhc2VQbHVnaW5QYWNrYWdlIGluaXRpYWxpemVdKToKKyAgICAgICAgKiBQ
bHVnaW5zL1dlYk5ldHNjYXBlUGx1Z2luVmlldy5tbToKKyAgICAgICAgKCtbV2ViTmV0c2NhcGVQ
bHVnaW5WaWV3IGluaXRpYWxpemVdKToKKyAgICAgICAgKiBXZWJDb3JlU3VwcG9ydC9XZWJFZGl0
b3JDbGllbnQubW06CisgICAgICAgICgrW1dlYlVuZG9TdGVwIGluaXRpYWxpemVdKToKKyAgICAg
ICAgKiBXZWJDb3JlU3VwcG9ydC9XZWJGcmFtZUxvYWRlckNsaWVudC5tbToKKyAgICAgICAgKCtb
V2ViRnJhbWVQb2xpY3lMaXN0ZW5lciBpbml0aWFsaXplXSk6CisgICAgICAgICogV2ViVmlldy9X
ZWJBcmNoaXZlLm1tOgorICAgICAgICAoK1tXZWJBcmNoaXZlUHJpdmF0ZSBpbml0aWFsaXplXSk6
CisgICAgICAgICogV2ViVmlldy9XZWJEYXRhU291cmNlLm1tOgorICAgICAgICAoK1tXZWJEYXRh
U291cmNlIGluaXRpYWxpemVdKToKKyAgICAgICAgKiBXZWJWaWV3L1dlYkhUTUxWaWV3Lm1tOgor
ICAgICAgICAoK1tXZWJIVE1MVmlld1ByaXZhdGUgaW5pdGlhbGl6ZV0pOgorICAgICAgICAoK1tX
ZWJIVE1MVmlldyBpbml0aWFsaXplXSk6CisgICAgICAgICogV2ViVmlldy9XZWJQcmVmZXJlbmNl
cy5tbToKKyAgICAgICAgKCtbV2ViUHJlZmVyZW5jZXMgaW5pdGlhbGl6ZV0pOgorICAgICAgICAq
IFdlYlZpZXcvV2ViUmVzb3VyY2UubW06CisgICAgICAgICgrW1dlYlJlc291cmNlUHJpdmF0ZSBp
bml0aWFsaXplXSk6CisgICAgICAgICogV2ViVmlldy9XZWJUZXh0SXRlcmF0b3IubW06CisgICAg
ICAgICgrW1dlYlRleHRJdGVyYXRvclByaXZhdGUgaW5pdGlhbGl6ZV0pOgorICAgICAgICAqIFdl
YlZpZXcvV2ViVmlldy5tbToKKyAgICAgICAgKCtbV2ViVmlldyBpbml0aWFsaXplXSk6CisgICAg
ICAgICogV2ViVmlldy9XZWJWaWV3RGF0YS5tbToKKyAgICAgICAgKCtbV2ViVmlld1ByaXZhdGUg
aW5pdGlhbGl6ZV0pOgorCiAyMDIwLTA2LTA5ICBEZWFuIEphY2tzb24gIDxkaW5vQGFwcGxlLmNv
bT4KIAogICAgICAgICBTdG9wIHVzaW5nIGRpc2NyaW1pbmF0b3J5IG5hbWVzIGZvciBXZWJHTCBh
bmQgUGx1Z2luIGJsb2NraW5nCkluZGV4OiBTb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9IaXN0b3J5
L1dlYkJhY2tGb3J3YXJkTGlzdC5tbQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0TGVnYWN5
L21hYy9IaXN0b3J5L1dlYkJhY2tGb3J3YXJkTGlzdC5tbQkocmV2aXNpb24gMjYyODYzKQorKysg
U291cmNlL1dlYktpdExlZ2FjeS9tYWMvSGlzdG9yeS9XZWJCYWNrRm9yd2FyZExpc3QubW0JKHdv
cmtpbmcgY29weSkKQEAgLTk5LDcgKzk5LDcgQEAgKyAodm9pZClpbml0aWFsaXplCiB7CiAjaWYg
IVBMQVRGT1JNKElPU19GQU1JTFkpCiAgICAgSlNDOjppbml0aWFsaXplVGhyZWFkaW5nKCk7Ci0g
ICAgUnVuTG9vcDo6aW5pdGlhbGl6ZU1haW5SdW5Mb29wKCk7CisgICAgUnVuTG9vcDo6aW5pdGlh
bGl6ZU1haW4oKTsKICNlbmRpZgogfQogCkluZGV4OiBTb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9I
aXN0b3J5L1dlYkhpc3RvcnlJdGVtLm1tCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXRMZWdh
Y3kvbWFjL0hpc3RvcnkvV2ViSGlzdG9yeUl0ZW0ubW0JKHJldmlzaW9uIDI2Mjg2MykKKysrIFNv
dXJjZS9XZWJLaXRMZWdhY3kvbWFjL0hpc3RvcnkvV2ViSGlzdG9yeUl0ZW0ubW0JKHdvcmtpbmcg
Y29weSkKQEAgLTEyNiw3ICsxMjYsNyBAQCArICh2b2lkKWluaXRpYWxpemUKIHsKICNpZiAhUExB
VEZPUk0oSU9TX0ZBTUlMWSkKICAgICBKU0M6OmluaXRpYWxpemVUaHJlYWRpbmcoKTsKLSAgICBS
dW5Mb29wOjppbml0aWFsaXplTWFpblJ1bkxvb3AoKTsKKyAgICBSdW5Mb29wOjppbml0aWFsaXpl
TWFpbigpOwogI2VuZGlmCiB9CiAKSW5kZXg6IFNvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL01pc2Mv
V2ViQ2FjaGUubW0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdExlZ2FjeS9tYWMvTWlzYy9X
ZWJDYWNoZS5tbQkocmV2aXNpb24gMjYyODYzKQorKysgU291cmNlL1dlYktpdExlZ2FjeS9tYWMv
TWlzYy9XZWJDYWNoZS5tbQkod29ya2luZyBjb3B5KQpAQCAtNjQsNyArNjQsNyBAQCArICh2b2lk
KWluaXRpYWxpemUKIHsKICNpZiAhUExBVEZPUk0oSU9TX0ZBTUlMWSkKICAgICBKU0M6OmluaXRp
YWxpemVUaHJlYWRpbmcoKTsKLSAgICBSdW5Mb29wOjppbml0aWFsaXplTWFpblJ1bkxvb3AoKTsK
KyAgICBSdW5Mb29wOjppbml0aWFsaXplTWFpbigpOwogI2VuZGlmCiB9CiAKSW5kZXg6IFNvdXJj
ZS9XZWJLaXRMZWdhY3kvbWFjL01pc2MvV2ViRWxlbWVudERpY3Rpb25hcnkubW0KPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gU291cmNlL1dlYktpdExlZ2FjeS9tYWMvTWlzYy9XZWJFbGVtZW50RGljdGlvbmFyeS5t
bQkocmV2aXNpb24gMjYyODYzKQorKysgU291cmNlL1dlYktpdExlZ2FjeS9tYWMvTWlzYy9XZWJF
bGVtZW50RGljdGlvbmFyeS5tbQkod29ya2luZyBjb3B5KQpAQCAtNjgsNyArNjgsNyBAQCArICh2
b2lkKWluaXRpYWxpemUKIHsKICNpZiAhUExBVEZPUk0oSU9TX0ZBTUlMWSkKICAgICBKU0M6Omlu
aXRpYWxpemVUaHJlYWRpbmcoKTsKLSAgICBSdW5Mb29wOjppbml0aWFsaXplTWFpblJ1bkxvb3Ao
KTsKKyAgICBSdW5Mb29wOjppbml0aWFsaXplTWFpbigpOwogI2VuZGlmCiB9CiAKSW5kZXg6IFNv
dXJjZS9XZWJLaXRMZWdhY3kvbWFjL01pc2MvV2ViSWNvbkRhdGFiYXNlLm1tCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFNvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL01pc2MvV2ViSWNvbkRhdGFiYXNlLm1tCShyZXZp
c2lvbiAyNjI4NjMpCisrKyBTb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9NaXNjL1dlYkljb25EYXRh
YmFzZS5tbQkod29ya2luZyBjb3B5KQpAQCAtOTgsNyArOTgsNyBAQCBBTExPV19ERVBSRUNBVEVE
X0lNUExFTUVOVEFUSU9OU19FTkQKICsgKHZvaWQpaW5pdGlhbGl6ZQogewogICAgIEpTQzo6aW5p
dGlhbGl6ZVRocmVhZGluZygpOwotICAgIFJ1bkxvb3A6OmluaXRpYWxpemVNYWluUnVuTG9vcCgp
OworICAgIFJ1bkxvb3A6OmluaXRpYWxpemVNYWluKCk7CiB9CiAKICsgKFdlYkljb25EYXRhYmFz
ZSAqKXNoYXJlZEljb25EYXRhYmFzZQpJbmRleDogU291cmNlL1dlYktpdExlZ2FjeS9tYWMvUGx1
Z2lucy9XZWJCYXNlTmV0c2NhcGVQbHVnaW5WaWV3Lm1tCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9X
ZWJLaXRMZWdhY3kvbWFjL1BsdWdpbnMvV2ViQmFzZU5ldHNjYXBlUGx1Z2luVmlldy5tbQkocmV2
aXNpb24gMjYyODYzKQorKysgU291cmNlL1dlYktpdExlZ2FjeS9tYWMvUGx1Z2lucy9XZWJCYXNl
TmV0c2NhcGVQbHVnaW5WaWV3Lm1tCSh3b3JraW5nIGNvcHkpCkBAIC03MSw3ICs3MSw3IEBAIHVz
aW5nIG5hbWVzcGFjZSBXZWJDb3JlOwogKyAodm9pZClpbml0aWFsaXplCiB7CiAgICAgSlNDOjpp
bml0aWFsaXplVGhyZWFkaW5nKCk7Ci0gICAgUnVuTG9vcDo6aW5pdGlhbGl6ZU1haW5SdW5Mb29w
KCk7CisgICAgUnVuTG9vcDo6aW5pdGlhbGl6ZU1haW4oKTsKICAgICBXZWJLaXQ6OnNlbmRVc2Vy
Q2hhbmdlTm90aWZpY2F0aW9ucygpOwogfQogCkluZGV4OiBTb3VyY2UvV2ViS2l0TGVnYWN5L21h
Yy9QbHVnaW5zL1dlYkJhc2VQbHVnaW5QYWNrYWdlLm1tCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9X
ZWJLaXRMZWdhY3kvbWFjL1BsdWdpbnMvV2ViQmFzZVBsdWdpblBhY2thZ2UubW0JKHJldmlzaW9u
IDI2Mjg2MykKKysrIFNvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL1BsdWdpbnMvV2ViQmFzZVBsdWdp
blBhY2thZ2UubW0JKHdvcmtpbmcgY29weSkKQEAgLTYwLDcgKzYwLDcgQEAgKyAodm9pZClpbml0
aWFsaXplCiB7CiAjaWYgIVBMQVRGT1JNKElPU19GQU1JTFkpCiAgICAgSlNDOjppbml0aWFsaXpl
VGhyZWFkaW5nKCk7Ci0gICAgUnVuTG9vcDo6aW5pdGlhbGl6ZU1haW5SdW5Mb29wKCk7CisgICAg
UnVuTG9vcDo6aW5pdGlhbGl6ZU1haW4oKTsKICNlbmRpZgogfQogCkluZGV4OiBTb3VyY2UvV2Vi
S2l0TGVnYWN5L21hYy9QbHVnaW5zL1dlYk5ldHNjYXBlUGx1Z2luVmlldy5tbQo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBTb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9QbHVnaW5zL1dlYk5ldHNjYXBlUGx1Z2luVmll
dy5tbQkocmV2aXNpb24gMjYyODYzKQorKysgU291cmNlL1dlYktpdExlZ2FjeS9tYWMvUGx1Z2lu
cy9XZWJOZXRzY2FwZVBsdWdpblZpZXcubW0JKHdvcmtpbmcgY29weSkKQEAgLTE2Myw3ICsxNjMs
NyBAQCAtIChOUEVycm9yKWxvYWRSZXF1ZXN0OihOU011dGFibGVVUkxSZXF1CiArICh2b2lkKWlu
aXRpYWxpemUKIHsKICAgICBKU0M6OmluaXRpYWxpemVUaHJlYWRpbmcoKTsKLSAgICBSdW5Mb29w
Ojppbml0aWFsaXplTWFpblJ1bkxvb3AoKTsKKyAgICBSdW5Mb29wOjppbml0aWFsaXplTWFpbigp
OwogICAgIHNlbmRVc2VyQ2hhbmdlTm90aWZpY2F0aW9ucygpOwogfQogCkluZGV4OiBTb3VyY2Uv
V2ViS2l0TGVnYWN5L21hYy9QbHVnaW5zL0hvc3RlZC9XZWJIb3N0ZWROZXRzY2FwZVBsdWdpblZp
ZXcubW0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdExlZ2FjeS9tYWMvUGx1Z2lucy9Ib3N0
ZWQvV2ViSG9zdGVkTmV0c2NhcGVQbHVnaW5WaWV3Lm1tCShyZXZpc2lvbiAyNjI4NjMpCisrKyBT
b3VyY2UvV2ViS2l0TGVnYWN5L21hYy9QbHVnaW5zL0hvc3RlZC9XZWJIb3N0ZWROZXRzY2FwZVBs
dWdpblZpZXcubW0JKHdvcmtpbmcgY29weSkKQEAgLTEwNiw3ICsxMDYsNyBAQCArICh2b2lkKWlu
aXRpYWxpemUKIHsKICNpZiAhUExBVEZPUk0oSU9TX0ZBTUlMWSkKICAgICBKU0M6OmluaXRpYWxp
emVUaHJlYWRpbmcoKTsKLSAgICBSdW5Mb29wOjppbml0aWFsaXplTWFpblJ1bkxvb3AoKTsKKyAg
ICBSdW5Mb29wOjppbml0aWFsaXplTWFpbigpOwogI2VuZGlmCiAgICAgc2VuZFVzZXJDaGFuZ2VO
b3RpZmljYXRpb25zKCk7CiB9CkluZGV4OiBTb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9XZWJDb3Jl
U3VwcG9ydC9XZWJFZGl0b3JDbGllbnQubW0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdExl
Z2FjeS9tYWMvV2ViQ29yZVN1cHBvcnQvV2ViRWRpdG9yQ2xpZW50Lm1tCShyZXZpc2lvbiAyNjI4
NjMpCisrKyBTb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9XZWJDb3JlU3VwcG9ydC9XZWJFZGl0b3JD
bGllbnQubW0JKHdvcmtpbmcgY29weSkKQEAgLTEzOSw3ICsxMzksNyBAQCArICh2b2lkKWluaXRp
YWxpemUKIHsKICNpZiAhUExBVEZPUk0oSU9TX0ZBTUlMWSkKICAgICBKU0M6OmluaXRpYWxpemVU
aHJlYWRpbmcoKTsKLSAgICBSdW5Mb29wOjppbml0aWFsaXplTWFpblJ1bkxvb3AoKTsKKyAgICBS
dW5Mb29wOjppbml0aWFsaXplTWFpbigpOwogI2VuZGlmCiB9CiAKSW5kZXg6IFNvdXJjZS9XZWJL
aXRMZWdhY3kvbWFjL1dlYkNvcmVTdXBwb3J0L1dlYkZyYW1lTG9hZGVyQ2xpZW50Lm1tCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFNvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL1dlYkNvcmVTdXBwb3J0L1dlYkZyYW1l
TG9hZGVyQ2xpZW50Lm1tCShyZXZpc2lvbiAyNjI4NjMpCisrKyBTb3VyY2UvV2ViS2l0TGVnYWN5
L21hYy9XZWJDb3JlU3VwcG9ydC9XZWJGcmFtZUxvYWRlckNsaWVudC5tbQkod29ya2luZyBjb3B5
KQpAQCAtMjM0Myw3ICsyMzQzLDcgQEAgKyAodm9pZClpbml0aWFsaXplCiB7CiAjaWYgIVBMQVRG
T1JNKElPU19GQU1JTFkpCiAgICAgSlNDOjppbml0aWFsaXplVGhyZWFkaW5nKCk7Ci0gICAgUnVu
TG9vcDo6aW5pdGlhbGl6ZU1haW5SdW5Mb29wKCk7CisgICAgUnVuTG9vcDo6aW5pdGlhbGl6ZU1h
aW4oKTsKICNlbmRpZgogfQogCkluZGV4OiBTb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9XZWJWaWV3
L1dlYkFyY2hpdmUubW0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdExlZ2FjeS9tYWMvV2Vi
Vmlldy9XZWJBcmNoaXZlLm1tCShyZXZpc2lvbiAyNjI4NjMpCisrKyBTb3VyY2UvV2ViS2l0TGVn
YWN5L21hYy9XZWJWaWV3L1dlYkFyY2hpdmUubW0JKHdvcmtpbmcgY29weSkKQEAgLTcwLDcgKzcw
LDcgQEAgKyAodm9pZClpbml0aWFsaXplCiB7CiAjaWYgIVBMQVRGT1JNKElPU19GQU1JTFkpCiAg
ICAgSlNDOjppbml0aWFsaXplVGhyZWFkaW5nKCk7Ci0gICAgUnVuTG9vcDo6aW5pdGlhbGl6ZU1h
aW5SdW5Mb29wKCk7CisgICAgUnVuTG9vcDo6aW5pdGlhbGl6ZU1haW4oKTsKICNlbmRpZgogfQog
CkluZGV4OiBTb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9XZWJWaWV3L1dlYkRhdGFTb3VyY2UubW0K
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdExlZ2FjeS9tYWMvV2ViVmlldy9XZWJEYXRhU291
cmNlLm1tCShyZXZpc2lvbiAyNjI4NjMpCisrKyBTb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9XZWJW
aWV3L1dlYkRhdGFTb3VyY2UubW0JKHdvcmtpbmcgY29weSkKQEAgLTE1NCw3ICsxNTQsNyBAQCAr
ICh2b2lkKWluaXRpYWxpemUKICAgICBpZiAoc2VsZiA9PSBbV2ViRGF0YVNvdXJjZSBjbGFzc10p
IHsKICNpZiAhUExBVEZPUk0oSU9TX0ZBTUlMWSkKICAgICAgICAgSlNDOjppbml0aWFsaXplVGhy
ZWFkaW5nKCk7Ci0gICAgICAgIFJ1bkxvb3A6OmluaXRpYWxpemVNYWluUnVuTG9vcCgpOworICAg
ICAgICBSdW5Mb29wOjppbml0aWFsaXplTWFpbigpOwogI2VuZGlmCiAgICAgfQogfQpJbmRleDog
U291cmNlL1dlYktpdExlZ2FjeS9tYWMvV2ViVmlldy9XZWJIVE1MVmlldy5tbQo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBTb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9XZWJWaWV3L1dlYkhUTUxWaWV3Lm1tCShyZXZp
c2lvbiAyNjI4NjMpCisrKyBTb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9XZWJWaWV3L1dlYkhUTUxW
aWV3Lm1tCSh3b3JraW5nIGNvcHkpCkBAIC0xMDMyLDcgKzEwMzIsNyBAQCArICh2b2lkKWluaXRp
YWxpemUKICAgICAvLyBBbmQgc29tZSBvZiB0aGlzIHdvcmsgaXMgbGlrZWx5IHJlZHVuZGFudCBz
aW5jZSArW1dlYkhUTUxWaWV3IGluaXRpYWxpemVdIGlzIGd1YXJhbnRlZWQgdG8gcnVuIGZpcnN0
LgogCiAgICAgSlNDOjppbml0aWFsaXplVGhyZWFkaW5nKCk7Ci0gICAgUnVuTG9vcDo6aW5pdGlh
bGl6ZU1haW5SdW5Mb29wKCk7CisgICAgUnVuTG9vcDo6aW5pdGlhbGl6ZU1haW4oKTsKIAogICAg
IGlmICghb2xkU2V0Q3Vyc29yRm9yTW91c2VMb2NhdGlvbklNUCkgewogICAgICAgICBNZXRob2Qg
c2V0Q3Vyc29yTWV0aG9kID0gY2xhc3NfZ2V0SW5zdGFuY2VNZXRob2QoW05TV2luZG93IGNsYXNz
XSwgQHNlbGVjdG9yKF9zZXRDdXJzb3JGb3JNb3VzZUxvY2F0aW9uOikpOwpAQCAtMjU2Niw3ICsy
NTY2LDcgQEAgKyAodm9pZClpbml0aWFsaXplCiAgICAgW05TQXBwIHJlZ2lzdGVyU2VydmljZXNN
ZW51U2VuZFR5cGVzOltbc2VsZiBjbGFzc10gX3NlbGVjdGlvblBhc3RlYm9hcmRUeXBlc10gcmV0
dXJuVHlwZXM6W1tzZWxmIGNsYXNzXSBfaW5zZXJ0YWJsZVBhc3RlYm9hcmRUeXBlc11dOwogCiAg
ICAgSlNDOjppbml0aWFsaXplVGhyZWFkaW5nKCk7Ci0gICAgUnVuTG9vcDo6aW5pdGlhbGl6ZU1h
aW5SdW5Mb29wKCk7CisgICAgUnVuTG9vcDo6aW5pdGlhbGl6ZU1haW4oKTsKIH0KIAogI2VuZGlm
CkluZGV4OiBTb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9XZWJWaWV3L1dlYlByZWZlcmVuY2VzLm1t
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL1dlYlZpZXcvV2ViUHJlZmVy
ZW5jZXMubW0JKHJldmlzaW9uIDI2Mjg2MykKKysrIFNvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL1dl
YlZpZXcvV2ViUHJlZmVyZW5jZXMubW0JKHdvcmtpbmcgY29weSkKQEAgLTM4OCw3ICszODgsNyBA
QCArICh2b2lkKWluaXRpYWxpemUKIHsKICNpZiAhUExBVEZPUk0oSU9TX0ZBTUlMWSkKICAgICBK
U0M6OmluaXRpYWxpemVUaHJlYWRpbmcoKTsKLSAgICBSdW5Mb29wOjppbml0aWFsaXplTWFpblJ1
bkxvb3AoKTsKKyAgICBSdW5Mb29wOjppbml0aWFsaXplTWFpbigpOwogICAgIGJvb2wgYXR0YWNo
bWVudEVsZW1lbnRFbmFibGVkID0gTWFjQXBwbGljYXRpb246OmlzQXBwbGVNYWlsKCk7CiAgICAg
Ym9vbCB3ZWJTUUxFbmFibGVkID0gZmFsc2U7CiAjZWxzZQpJbmRleDogU291cmNlL1dlYktpdExl
Z2FjeS9tYWMvV2ViVmlldy9XZWJSZXNvdXJjZS5tbQo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
S2l0TGVnYWN5L21hYy9XZWJWaWV3L1dlYlJlc291cmNlLm1tCShyZXZpc2lvbiAyNjI4NjMpCisr
KyBTb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9XZWJWaWV3L1dlYlJlc291cmNlLm1tCSh3b3JraW5n
IGNvcHkpCkBAIC02OCw3ICs2OCw3IEBAICsgKHZvaWQpaW5pdGlhbGl6ZQogewogI2lmICFQTEFU
Rk9STShJT1NfRkFNSUxZKQogICAgIEpTQzo6aW5pdGlhbGl6ZVRocmVhZGluZygpOwotICAgIFJ1
bkxvb3A6OmluaXRpYWxpemVNYWluUnVuTG9vcCgpOworICAgIFJ1bkxvb3A6OmluaXRpYWxpemVN
YWluKCk7CiAjZW5kaWYKIH0KIApJbmRleDogU291cmNlL1dlYktpdExlZ2FjeS9tYWMvV2ViVmll
dy9XZWJUZXh0SXRlcmF0b3IubW0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdExlZ2FjeS9t
YWMvV2ViVmlldy9XZWJUZXh0SXRlcmF0b3IubW0JKHJldmlzaW9uIDI2Mjg2MykKKysrIFNvdXJj
ZS9XZWJLaXRMZWdhY3kvbWFjL1dlYlZpZXcvV2ViVGV4dEl0ZXJhdG9yLm1tCSh3b3JraW5nIGNv
cHkpCkBAIC00OCw3ICs0OCw3IEBAICsgKHZvaWQpaW5pdGlhbGl6ZQogewogI2lmICFQTEFURk9S
TShJT1NfRkFNSUxZKQogICAgIEpTQzo6aW5pdGlhbGl6ZVRocmVhZGluZygpOwotICAgIFJ1bkxv
b3A6OmluaXRpYWxpemVNYWluUnVuTG9vcCgpOworICAgIFJ1bkxvb3A6OmluaXRpYWxpemVNYWlu
KCk7CiAjZW5kaWYKIH0KIApJbmRleDogU291cmNlL1dlYktpdExlZ2FjeS9tYWMvV2ViVmlldy9X
ZWJWaWV3Lm1tCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL1dlYlZpZXcv
V2ViVmlldy5tbQkocmV2aXNpb24gMjYyODYzKQorKysgU291cmNlL1dlYktpdExlZ2FjeS9tYWMv
V2ViVmlldy9XZWJWaWV3Lm1tCSh3b3JraW5nIGNvcHkpCkBAIC01NTIwLDcgKzU1MjAsNyBAQCAr
ICh2b2lkKWluaXRpYWxpemUKIAogI2lmICFQTEFURk9STShJT1NfRkFNSUxZKQogICAgIEpTQzo6
aW5pdGlhbGl6ZVRocmVhZGluZygpOwotICAgIFJ1bkxvb3A6OmluaXRpYWxpemVNYWluUnVuTG9v
cCgpOworICAgIFJ1bkxvb3A6OmluaXRpYWxpemVNYWluKCk7CiAjZW5kaWYKIAogICAgIFdURjo6
UmVmQ291bnRlZEJhc2U6OmVuYWJsZVRocmVhZGluZ0NoZWNrc0dsb2JhbGx5KCk7CkluZGV4OiBT
b3VyY2UvV2ViS2l0TGVnYWN5L21hYy9XZWJWaWV3L1dlYlZpZXdEYXRhLm1tCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFNvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL1dlYlZpZXcvV2ViVmlld0RhdGEubW0JKHJldmlz
aW9uIDI2Mjg2MykKKysrIFNvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL1dlYlZpZXcvV2ViVmlld0Rh
dGEubW0JKHdvcmtpbmcgY29weSkKQEAgLTE2OCw3ICsxNjgsNyBAQCArICh2b2lkKWluaXRpYWxp
emUKIHsKICNpZiAhUExBVEZPUk0oSU9TX0ZBTUlMWSkKICAgICBKU0M6OmluaXRpYWxpemVUaHJl
YWRpbmcoKTsKLSAgICBSdW5Mb29wOjppbml0aWFsaXplTWFpblJ1bkxvb3AoKTsKKyAgICBSdW5M
b29wOjppbml0aWFsaXplTWFpbigpOwogI2VuZGlmCiB9CiAKSW5kZXg6IFNvdXJjZS9XZWJLaXRM
ZWdhY3kvd2luL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0TGVnYWN5L3dp
bi9DaGFuZ2VMb2cJKHJldmlzaW9uIDI2Mjg2MykKKysrIFNvdXJjZS9XZWJLaXRMZWdhY3kvd2lu
L0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDE1IEBACisyMDIwLTA2LTEwICBH
ZW9mZnJleSBHYXJlbiAgPGdnYXJlbkBhcHBsZS5jb20+CisKKyAgICAgICAgU29tZSBzdHlsZSBp
bXByb3ZlbWVudHMgdG8gbWFpbiB0aHJlYWQgY29kZQorICAgICAgICBodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjEzMDUxCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9C
T0RZIChPT1BTISkuCisKKyAgICAgICAgVXBkYXRlZCBmb3IgcmVuYW1lLgorCisgICAgICAgICog
V2ViVmlldy5jcHA6CisgICAgICAgIChXZWJWaWV3OjpXZWJWaWV3KToKKwogMjAyMC0wNi0wOCAg
RGF2aWQgS2lsemVyICA8ZGRraWx6ZXJAYXBwbGUuY29tPgogCiAgICAgICAgIFtJUENdIEFkb3B0
IGVudW0gY2xhc3MgZm9yIERyYWdPcGVyYXRpb24KSW5kZXg6IFNvdXJjZS9XZWJLaXRMZWdhY3kv
d2luL1dlYlZpZXcuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXRMZWdhY3kvd2luL1dl
YlZpZXcuY3BwCShyZXZpc2lvbiAyNjI4NjMpCisrKyBTb3VyY2UvV2ViS2l0TGVnYWN5L3dpbi9X
ZWJWaWV3LmNwcAkod29ya2luZyBjb3B5KQpAQCAtNDIxLDcgKzQyMSw3IEBAIGJvb2wgV2ViVmll
dzo6c19hbGxvd1NpdGVTcGVjaWZpY0hhY2tzID0KIFdlYlZpZXc6OldlYlZpZXcoKQogewogICAg
IEpTQzo6aW5pdGlhbGl6ZVRocmVhZGluZygpOwotICAgIFJ1bkxvb3A6OmluaXRpYWxpemVNYWlu
UnVuTG9vcCgpOworICAgIFJ1bkxvb3A6OmluaXRpYWxpemVNYWluKCk7CiAgICAgV1RGOjpzZXRQ
cm9jZXNzUHJpdmlsZWdlcyhhbGxQcml2aWxlZ2VzKCkpOwogICAgIFdlYkNvcmU6Ok5ldHdvcmtT
dG9yYWdlU2Vzc2lvbjo6cGVybWl0UHJvY2Vzc1RvVXNlQ29va2llQVBJKHRydWUpOwogCkluZGV4
OiBUb29scy9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gVG9vbHMvQ2hhbmdlTG9nCShyZXZpc2lv
biAyNjI4NjQpCisrKyBUb29scy9DaGFuZ2VMb2cJKHdvcmtpbmcgY29weSkKQEAgLTEsMyArMSwz
MyBAQAorMjAyMC0wNi0xMCAgR2VvZmZyZXkgR2FyZW4gIDxnZ2FyZW5AYXBwbGUuY29tPgorCisg
ICAgICAgIFNvbWUgc3R5bGUgaW1wcm92ZW1lbnRzIHRvIG1haW4gdGhyZWFkIGNvZGUKKyAgICAg
ICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIxMzA1MQorCisgICAg
ICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFVwZGF0ZWQgZm9yIHJl
bmFtZS4KKyAgICAgICAgCisgICAgICAgICogVGVzdFdlYktpdEFQSS9UZXN0cy9XVEYvUmVmUHRy
LmNwcDoKKyAgICAgICAgKFRlc3RXZWJLaXRBUEk6OlRFU1QpOgorICAgICAgICAqIFRlc3RXZWJL
aXRBUEkvVGVzdHMvV1RGL1J1bkxvb3AuY3BwOgorICAgICAgICAoVGVzdFdlYktpdEFQSTo6VEVT
VCk6CisgICAgICAgICogVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJDb3JlL0Fib3J0YWJsZVRhc2tR
dWV1ZS5jcHA6CisgICAgICAgIChUZXN0V2ViS2l0QVBJOjpURVNUKToKKyAgICAgICAgKiBUZXN0
V2ViS2l0QVBJL1Rlc3RzL1dlYkNvcmUvQXBwbGljYXRpb25NYW5pZmVzdFBhcnNlci5jcHA6Cisg
ICAgICAgIChBcHBsaWNhdGlvbk1hbmlmZXN0UGFyc2VyVGVzdDo6U2V0VXApOgorICAgICAgICAq
IFRlc3RXZWJLaXRBUEkvVGVzdHMvV2ViQ29yZS9Db21wbGV4VGV4dENvbnRyb2xsZXIuY3BwOgor
ICAgICAgICAoVGVzdFdlYktpdEFQSTo6Q29tcGxleFRleHRDb250cm9sbGVyVGVzdDo6U2V0VXAp
OgorICAgICAgICAqIFRlc3RXZWJLaXRBUEkvVGVzdHMvV2ViQ29yZS9Db250ZW50RXh0ZW5zaW9u
cy5jcHA6CisgICAgICAgIChUZXN0V2ViS2l0QVBJOjpDb250ZW50RXh0ZW5zaW9uVGVzdDo6U2V0
VXApOgorICAgICAgICAqIFRlc3RXZWJLaXRBUEkvVGVzdHMvV2ViQ29yZS9ETlMuY3BwOgorICAg
ICAgICAoVGVzdFdlYktpdEFQSTo6VEVTVCk6CisgICAgICAgICogVGVzdFdlYktpdEFQSS9UZXN0
cy9XZWJDb3JlL0ZpbGVNb25pdG9yLmNwcDoKKyAgICAgICAgKFRlc3RXZWJLaXRBUEk6OlRFU1Rf
Rik6CisgICAgICAgICogVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXRDb2NvYS9JbkFwcEJyb3dz
ZXJQcml2YWN5Lm1tOgorICAgICAgICAoaW5pdGlhbGl6ZUluQXBwQnJvd3NlclByaXZhY3lUZXN0
U2V0dGluZ3MpOgorICAgICAgICAqIFdlYktpdFRlc3RSdW5uZXIvVGVzdENvbnRyb2xsZXIuY3Bw
OgorICAgICAgICAoV1RSOjpUZXN0Q29udHJvbGxlcjo6aW5pdGlhbGl6ZSk6CisKIDIwMjAtMDYt
MTAgIEtlaXRoIE1pbGxlciAgPGtlaXRoX21pbGxlckBhcHBsZS5jb20+CiAKICAgICAgICAgcnVu
LWpzYy1zdHJlc3MtdGVzdHMgc2hvdWxkIHNraXAgdGVzdHMgbWFya2VkIGFzIHNsb3cgaW4gcXVp
Y2sgbW9kZS4KSW5kZXg6IFRvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV1RGL1JlZlB0ci5jcHAK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XVEYvUmVmUHRyLmNwcAko
cmV2aXNpb24gMjYyODYzKQorKysgVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XVEYvUmVmUHRy
LmNwcAkod29ya2luZyBjb3B5KQpAQCAtNTg1LDcgKzU4NSw3IEBAIFRFU1QoV1RGX1JlZlB0ciwg
UmVsZWFzZUluTm9uTWFpblRocmVhZCkKIAogVEVTVChXVEZfUmVmUHRyLCBSZWxlYXNlSW5Ob25N
YWluVGhyZWFkRGVzdHJveUluTWFpblRocmVhZCkKIHsKLSAgICBSdW5Mb29wOjppbml0aWFsaXpl
TWFpblJ1bkxvb3AoKTsKKyAgICBSdW5Mb29wOjppbml0aWFsaXplTWFpbigpOwogICAgIGRvbmUg
PSBmYWxzZTsKICAgICBUaHJlYWQ6OmNyZWF0ZSgiIiwgW29iamVjdCA9IE1haW5UaHJlYWRTYWZl
UmVmQ291bnRlZE9iamVjdDo6Y3JlYXRlKCldIHsgfSk7CiAgICAgVGVzdFdlYktpdEFQSTo6VXRp
bDo6cnVuKCZkb25lKTsKSW5kZXg6IFRvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV1RGL1J1bkxv
b3AuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFRvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV1RGL1J1bkxv
b3AuY3BwCShyZXZpc2lvbiAyNjI4NjMpCisrKyBUb29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dU
Ri9SdW5Mb29wLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMzYsNyArMzYsNyBAQCBzdGF0aWMgaW50
IGNvdW50ID0gMTAwOwogCiBURVNUKFdURl9SdW5Mb29wLCBEZWFkbG9jaykKIHsKLSAgICBSdW5M
b29wOjppbml0aWFsaXplTWFpblJ1bkxvb3AoKTsKKyAgICBSdW5Mb29wOjppbml0aWFsaXplTWFp
bigpOwogCiAgICAgc3RydWN0IERpc3BhdGNoRnJvbURlc3RydWN0b3JUZXN0ZXIgewogICAgICAg
ICB+RGlzcGF0Y2hGcm9tRGVzdHJ1Y3RvclRlc3RlcigpIHsKQEAgLTc2LDcgKzc2LDcgQEAgcHJp
dmF0ZToKIAogVEVTVChXVEZfUnVuTG9vcCwgT25lU2hvdFRpbWVyKQogewotICAgIFJ1bkxvb3A6
OmluaXRpYWxpemVNYWluUnVuTG9vcCgpOworICAgIFJ1bkxvb3A6OmluaXRpYWxpemVNYWluKCk7
CiAKICAgICBib29sIHRlc3RGaW5pc2hlZCA9IGZhbHNlOwogICAgIERlcml2ZWRPbmVTaG90VGlt
ZXIgdGltZXIodGVzdEZpbmlzaGVkKTsKQEAgLTEwOCw3ICsxMDgsNyBAQCBwcml2YXRlOgogCiBU
RVNUKFdURl9SdW5Mb29wLCBSZXBlYXRpbmdUaW1lcikKIHsKLSAgICBSdW5Mb29wOjppbml0aWFs
aXplTWFpblJ1bkxvb3AoKTsKKyAgICBSdW5Mb29wOjppbml0aWFsaXplTWFpbigpOwogCiAgICAg
Ym9vbCB0ZXN0RmluaXNoZWQgPSBmYWxzZTsKICAgICBEZXJpdmVkUmVwZWF0aW5nVGltZXIgdGlt
ZXIodGVzdEZpbmlzaGVkKTsKSW5kZXg6IFRvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViQ29y
ZS9BYm9ydGFibGVUYXNrUXVldWUuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFRvb2xzL1Rlc3RXZWJLaXRB
UEkvVGVzdHMvV2ViQ29yZS9BYm9ydGFibGVUYXNrUXVldWUuY3BwCShyZXZpc2lvbiAyNjI4NjMp
CisrKyBUb29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYkNvcmUvQWJvcnRhYmxlVGFza1F1ZXVl
LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMzksNyArMzksNyBAQCBURVNUKEFib3J0YWJsZVRhc2tR
dWV1ZSwgQXN5bmNUYXNrcykKICAgICBBYm9ydGFibGVUYXNrUXVldWUgdGFza1F1ZXVlOwogICAg
IGJvb2wgdGVzdEZpbmlzaGVkIHsgZmFsc2UgfTsKICAgICBpbnQgY3VycmVudFN0ZXAgeyAwIH07
Ci0gICAgUnVuTG9vcDo6aW5pdGlhbGl6ZU1haW5SdW5Mb29wKCk7CisgICAgUnVuTG9vcDo6aW5p
dGlhbGl6ZU1haW4oKTsKIAogICAgIGF1dG8gYmFja2dyb3VuZFRocmVhZEZ1bmN0aW9uID0gWyZd
KCkgewogICAgICAgICBFWFBFQ1RfRkFMU0UoaXNNYWluVGhyZWFkKCkpOwpAQCAtMTAxLDcgKzEw
MSw3IEBAIFRFU1QoQWJvcnRhYmxlVGFza1F1ZXVlLCBTeW5jVGFza3MpCiAgICAgYm9vbCB0ZXN0
RmluaXNoZWQgeyBmYWxzZSB9OwogICAgIGJvb2wgZGVzdHJ1Y3RlZFJlc3BvbnNlRmxhZyB7IGZh
bHNlIH07CiAgICAgaW50IGN1cnJlbnRTdGVwIHsgMCB9OwotICAgIFJ1bkxvb3A6OmluaXRpYWxp
emVNYWluUnVuTG9vcCgpOworICAgIFJ1bkxvb3A6OmluaXRpYWxpemVNYWluKCk7CiAKICAgICBh
dXRvIGJhY2tncm91bmRUaHJlYWRGdW5jdGlvbiA9IFsmXSgpIHsKICAgICAgICAgRVhQRUNUX0ZB
TFNFKGlzTWFpblRocmVhZCgpKTsKQEAgLTE4Myw3ICsxODMsNyBAQCBURVNUKEFib3J0YWJsZVRh
c2tRdWV1ZSwgQWJvcnQpCiAKICAgICBBYm9ydGFibGVUYXNrUXVldWUgdGFza1F1ZXVlOwogICAg
IGJvb2wgdGVzdEZpbmlzaGVkIHsgZmFsc2UgfTsKLSAgICBSdW5Mb29wOjppbml0aWFsaXplTWFp
blJ1bkxvb3AoKTsKKyAgICBSdW5Mb29wOjppbml0aWFsaXplTWFpbigpOwogCiAgICAgYXV0byBi
YWNrZ3JvdW5kVGhyZWFkRnVuY3Rpb24gPSBbJl0oKSB7CiAgICAgICAgIEVYUEVDVF9GQUxTRShp
c01haW5UaHJlYWQoKSk7CkBAIC0yNDAsNyArMjQwLDcgQEAgVEVTVChBYm9ydGFibGVUYXNrUXVl
dWUsIEFib3J0QmVmb3JlU3luYwogewogICAgIEFib3J0YWJsZVRhc2tRdWV1ZSB0YXNrUXVldWU7
CiAgICAgYm9vbCB0ZXN0RmluaXNoZWQgeyBmYWxzZSB9OwotICAgIFJ1bkxvb3A6OmluaXRpYWxp
emVNYWluUnVuTG9vcCgpOworICAgIFJ1bkxvb3A6OmluaXRpYWxpemVNYWluKCk7CiAKICAgICBh
dXRvIGJhY2tncm91bmRUaHJlYWRGdW5jdGlvbiA9IFsmXSgpIHsKICAgICAgICAgRVhQRUNUX0ZB
TFNFKGlzTWFpblRocmVhZCgpKTsKQEAgLTI3Nyw3ICsyNzcsNyBAQCBURVNUKEFib3J0YWJsZVRh
c2tRdWV1ZSwgQWJvcnRlZEJ5U3luY1RhCiAgICAgYm9vbCB0ZXN0RmluaXNoZWQgeyBmYWxzZSB9
OwogICAgIGludCBjdXJyZW50U3RlcCB7IDAgfTsKICAgICBib29sIGRlc3RydWN0ZWRSZXNwb25z
ZUZsYWcgeyBmYWxzZSB9OwotICAgIFJ1bkxvb3A6OmluaXRpYWxpemVNYWluUnVuTG9vcCgpOwor
ICAgIFJ1bkxvb3A6OmluaXRpYWxpemVNYWluKCk7CiAKICAgICBhdXRvIGJhY2tncm91bmRUaHJl
YWRGdW5jdGlvbiA9IFsmXSgpIHsKICAgICAgICAgRVhQRUNUX0ZBTFNFKGlzTWFpblRocmVhZCgp
KTsKSW5kZXg6IFRvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViQ29yZS9BcHBsaWNhdGlvbk1h
bmlmZXN0UGFyc2VyLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBUb29scy9UZXN0V2ViS2l0QVBJL1Rlc3Rz
L1dlYkNvcmUvQXBwbGljYXRpb25NYW5pZmVzdFBhcnNlci5jcHAJKHJldmlzaW9uIDI2Mjg2MykK
KysrIFRvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViQ29yZS9BcHBsaWNhdGlvbk1hbmlmZXN0
UGFyc2VyLmNwcAkod29ya2luZyBjb3B5KQpAQCAtNTcsNyArNTcsNyBAQCBwdWJsaWM6CiAgICAg
dmlydHVhbCB2b2lkIFNldFVwKCkKICAgICB7CiAgICAgICAgIEpTQzo6aW5pdGlhbGl6ZVRocmVh
ZGluZygpOwotICAgICAgICBSdW5Mb29wOjppbml0aWFsaXplTWFpblJ1bkxvb3AoKTsKKyAgICAg
ICAgUnVuTG9vcDo6aW5pdGlhbGl6ZU1haW4oKTsKIAogICAgICAgICBtX21hbmlmZXN0VVJMID0g
eyB7IH0sICJodHRwczovL2V4YW1wbGUuY29tL21hbmlmZXN0Lmpzb24iIH07CiAgICAgICAgIG1f
ZG9jdW1lbnRVUkwgPSB7IHsgfSwgImh0dHBzOi8vZXhhbXBsZS5jb20vIiB9OwpJbmRleDogVG9v
bHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJDb3JlL0NvbXBsZXhUZXh0Q29udHJvbGxlci5jcHAK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJDb3JlL0NvbXBsZXhU
ZXh0Q29udHJvbGxlci5jcHAJKHJldmlzaW9uIDI2Mjg2MykKKysrIFRvb2xzL1Rlc3RXZWJLaXRB
UEkvVGVzdHMvV2ViQ29yZS9Db21wbGV4VGV4dENvbnRyb2xsZXIuY3BwCSh3b3JraW5nIGNvcHkp
CkBAIC00MCw3ICs0MCw3IEBAIHB1YmxpYzoKICAgICB2aXJ0dWFsIHZvaWQgU2V0VXAoKQogICAg
IHsKICAgICAgICAgSlNDOjppbml0aWFsaXplVGhyZWFkaW5nKCk7Ci0gICAgICAgIFJ1bkxvb3A6
OmluaXRpYWxpemVNYWluUnVuTG9vcCgpOworICAgICAgICBSdW5Mb29wOjppbml0aWFsaXplTWFp
bigpOwogICAgIH0KIH07CiAKSW5kZXg6IFRvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViQ29y
ZS9Db250ZW50RXh0ZW5zaW9ucy5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gVG9vbHMvVGVzdFdlYktpdEFQ
SS9UZXN0cy9XZWJDb3JlL0NvbnRlbnRFeHRlbnNpb25zLmNwcAkocmV2aXNpb24gMjYyODYzKQor
KysgVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJDb3JlL0NvbnRlbnRFeHRlbnNpb25zLmNw
cAkod29ya2luZyBjb3B5KQpAQCAtNzYsNyArNzYsNyBAQCBwdWJsaWM6CiAgICAgdmlydHVhbCB2
b2lkIFNldFVwKCkKICAgICB7CiAgICAgICAgIEpTQzo6aW5pdGlhbGl6ZVRocmVhZGluZygpOwot
ICAgICAgICBSdW5Mb29wOjppbml0aWFsaXplTWFpblJ1bkxvb3AoKTsKKyAgICAgICAgUnVuTG9v
cDo6aW5pdGlhbGl6ZU1haW4oKTsKICAgICB9CiB9OwogCkluZGV4OiBUb29scy9UZXN0V2ViS2l0
QVBJL1Rlc3RzL1dlYkNvcmUvRE5TLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBUb29scy9UZXN0V2ViS2l0
QVBJL1Rlc3RzL1dlYkNvcmUvRE5TLmNwcAkocmV2aXNpb24gMjYyODYzKQorKysgVG9vbHMvVGVz
dFdlYktpdEFQSS9UZXN0cy9XZWJDb3JlL0ROUy5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTQxLDcg
KzQxLDcgQEAgYm9vbCBkb25lID0gZmFsc2U7CiAKIFRFU1QoRE5TVGVzdCwgY2FuY2VsUmVzb2x2
ZUROUykKIHsKLSAgICBSdW5Mb29wOjppbml0aWFsaXplTWFpblJ1bkxvb3AoKTsKKyAgICBSdW5M
b29wOjppbml0aWFsaXplTWFpbigpOwogCiAgICAgY29uc3QgU3RyaW5nIGhvc3RuYW1lID0gU3Ry
aW5nKCJ3d3cud2Via2l0Lm9yZyIpOwogICAgIHVpbnQ2NF90IGlkZW50aWZpZXIgPSAxOwpAQCAt
NjMsNyArNjMsNyBAQCBURVNUKEROU1Rlc3QsIGNhbmNlbFJlc29sdmVETlMpCiAKIFRFU1QoRE5T
VGVzdCwgY2Fubm90UmVzb2x2ZUROUykKIHsKLSAgICBSdW5Mb29wOjppbml0aWFsaXplTWFpblJ1
bkxvb3AoKTsKKyAgICBSdW5Mb29wOjppbml0aWFsaXplTWFpbigpOwogCiAgICAgY29uc3QgU3Ry
aW5nIGhvc3RuYW1lID0gU3RyaW5nKCJub3RhdmFsaWRkb21haW4ubm90YXZhbGlkZG9tYWluIik7
CiAgICAgdWludDY0X3QgaWRlbnRpZmllciA9IDE7CkBAIC04NCw3ICs4NCw3IEBAIFRFU1QoRE5T
VGVzdCwgY2Fubm90UmVzb2x2ZUROUykKIAogVEVTVChETlNUZXN0LCByZXNvbHZlRE5TKQogewot
ICAgIFJ1bkxvb3A6OmluaXRpYWxpemVNYWluUnVuTG9vcCgpOworICAgIFJ1bkxvb3A6OmluaXRp
YWxpemVNYWluKCk7CiAKICAgICBjb25zdCBTdHJpbmcgaG9zdG5hbWUgPSBTdHJpbmcoInd3dy53
ZWJraXQub3JnIik7CiAgICAgdWludDY0X3QgaWRlbnRpZmllciA9IDE7CkluZGV4OiBUb29scy9U
ZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYkNvcmUvRmlsZU1vbml0b3IuY3BwCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFRvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViQ29yZS9GaWxlTW9uaXRvci5jcHAJKHJldmlz
aW9uIDI2Mjg2MykKKysrIFRvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViQ29yZS9GaWxlTW9u
aXRvci5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTUyLDcgKzUyLDcgQEAgY2xhc3MgRmlsZU1vbml0
b3JUZXN0IDogcHVibGljIHRlc3Rpbmc6OgogcHVibGljOgogICAgIHZvaWQgU2V0VXAoKSBvdmVy
cmlkZQogICAgIHsKLSAgICAgICAgUnVuTG9vcDo6aW5pdGlhbGl6ZU1haW5SdW5Mb29wKCk7Cisg
ICAgICAgIFJ1bkxvb3A6OmluaXRpYWxpemVNYWluKCk7CiAgICAgICAgIAogICAgICAgICAvLyBj
cmVhdGUgdGVtcCBmaWxlCiAgICAgICAgIEZpbGVTeXN0ZW06OlBsYXRmb3JtRmlsZUhhbmRsZSBo
YW5kbGU7CkBAIC0xNDQsNyArMTQ0LDcgQEAgVEVTVF9GKEZpbGVNb25pdG9yVGVzdCwgRGV0ZWN0
Q2hhbmdlKQogewogICAgIEVYUEVDVF9UUlVFKEZpbGVTeXN0ZW06OmZpbGVFeGlzdHModGVtcEZp
bGVQYXRoKCkpKTsKIAotICAgIFJ1bkxvb3A6OmluaXRpYWxpemVNYWluUnVuTG9vcCgpOworICAg
IFJ1bkxvb3A6OmluaXRpYWxpemVNYWluKCk7CiAKICAgICBhdXRvIHRlc3RRdWV1ZSA9IFdvcmtR
dWV1ZTo6Y3JlYXRlKCJUZXN0IFdvcmsgUXVldWUiKTsKIApAQCAtMTg2LDcgKzE4Niw3IEBAIFRF
U1RfRihGaWxlTW9uaXRvclRlc3QsIERldGVjdE11bHRpcGxlQ2gKIHsKICAgICBFWFBFQ1RfVFJV
RShGaWxlU3lzdGVtOjpmaWxlRXhpc3RzKHRlbXBGaWxlUGF0aCgpKSk7CiAKLSAgICBSdW5Mb29w
Ojppbml0aWFsaXplTWFpblJ1bkxvb3AoKTsKKyAgICBSdW5Mb29wOjppbml0aWFsaXplTWFpbigp
OwogCiAgICAgYXV0byB0ZXN0UXVldWUgPSBXb3JrUXVldWU6OmNyZWF0ZSgiVGVzdCBXb3JrIFF1
ZXVlIik7CiAKQEAgLTI0Niw3ICsyNDYsNyBAQCBURVNUX0YoRmlsZU1vbml0b3JUZXN0LCBEZXRl
Y3REZWxldGlvbikKIHsKICAgICBFWFBFQ1RfVFJVRShGaWxlU3lzdGVtOjpmaWxlRXhpc3RzKHRl
bXBGaWxlUGF0aCgpKSk7CiAKLSAgICBSdW5Mb29wOjppbml0aWFsaXplTWFpblJ1bkxvb3AoKTsK
KyAgICBSdW5Mb29wOjppbml0aWFsaXplTWFpbigpOwogCiAgICAgYXV0byB0ZXN0UXVldWUgPSBX
b3JrUXVldWU6OmNyZWF0ZSgiVGVzdCBXb3JrIFF1ZXVlIik7CiAKQEAgLTI4NSw3ICsyODUsNyBA
QCBURVNUX0YoRmlsZU1vbml0b3JUZXN0LCBEZXRlY3RDaGFuZ2VBbmRUCiB7CiAgICAgRVhQRUNU
X1RSVUUoRmlsZVN5c3RlbTo6ZmlsZUV4aXN0cyh0ZW1wRmlsZVBhdGgoKSkpOwogCi0gICAgUnVu
TG9vcDo6aW5pdGlhbGl6ZU1haW5SdW5Mb29wKCk7CisgICAgUnVuTG9vcDo6aW5pdGlhbGl6ZU1h
aW4oKTsKIAogICAgIGF1dG8gdGVzdFF1ZXVlID0gV29ya1F1ZXVlOjpjcmVhdGUoIlRlc3QgV29y
ayBRdWV1ZSIpOwogCkBAIC0zNDIsNyArMzQyLDcgQEAgVEVTVF9GKEZpbGVNb25pdG9yVGVzdCwg
RGV0ZWN0RGVsZXRlQnV0TgogewogICAgIEVYUEVDVF9UUlVFKEZpbGVTeXN0ZW06OmZpbGVFeGlz
dHModGVtcEZpbGVQYXRoKCkpKTsKIAotICAgIFJ1bkxvb3A6OmluaXRpYWxpemVNYWluUnVuTG9v
cCgpOworICAgIFJ1bkxvb3A6OmluaXRpYWxpemVNYWluKCk7CiAKICAgICBhdXRvIHRlc3RRdWV1
ZSA9IFdvcmtRdWV1ZTo6Y3JlYXRlKCJUZXN0IFdvcmsgUXVldWUiKTsKIApJbmRleDogVG9vbHMv
VGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXRDb2NvYS9JbkFwcEJyb3dzZXJQcml2YWN5Lm1tCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFRvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0Q29jb2EvSW5BcHBC
cm93c2VyUHJpdmFjeS5tbQkocmV2aXNpb24gMjYyODYzKQorKysgVG9vbHMvVGVzdFdlYktpdEFQ
SS9UZXN0cy9XZWJLaXRDb2NvYS9JbkFwcEJyb3dzZXJQcml2YWN5Lm1tCSh3b3JraW5nIGNvcHkp
CkBAIC0xMjQsNyArMTI0LDcgQEAgc3RhdGljIHZvaWQgY2xlYW5VcEluQXBwQnJvd3NlclByaXZh
Y3lUZQogCiBzdGF0aWMgdm9pZCBpbml0aWFsaXplSW5BcHBCcm93c2VyUHJpdmFjeVRlc3RTZXR0
aW5ncygpCiB7Ci0gICAgUnVuTG9vcDo6aW5pdGlhbGl6ZU1haW5SdW5Mb29wKCk7CisgICAgUnVu
TG9vcDo6aW5pdGlhbGl6ZU1haW4oKTsKICAgICBXZWJDb3JlOjpjbGVhckFwcGxpY2F0aW9uQnVu
ZGxlSWRlbnRpZmllclRlc3RpbmdPdmVycmlkZSgpOwogICAgIElOX0FQUF9CUk9XU0VSX1BSSVZB
Q1lfQURESVRJT05TCiB9CkluZGV4OiBUb29scy9XZWJLaXRUZXN0UnVubmVyL1Rlc3RDb250cm9s
bGVyLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBUb29scy9XZWJLaXRUZXN0UnVubmVyL1Rlc3RDb250cm9s
bGVyLmNwcAkocmV2aXNpb24gMjYyODYzKQorKysgVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9UZXN0
Q29udHJvbGxlci5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTQ0NSw3ICs0NDUsNyBAQCB2b2lkIFRl
c3RDb250cm9sbGVyOjppbml0aWFsaXplKGludCBhcmdjCiAgICAgQXV0b2RyYWluZWRQb29sIHBv
b2w7CiAKICAgICBKU0M6OmluaXRpYWxpemVUaHJlYWRpbmcoKTsKLSAgICBSdW5Mb29wOjppbml0
aWFsaXplTWFpblJ1bkxvb3AoKTsKKyAgICBSdW5Mb29wOjppbml0aWFsaXplTWFpbigpOwogICAg
IFdURjo6c2V0UHJvY2Vzc1ByaXZpbGVnZXMoYWxsUHJpdmlsZWdlcygpKTsKIAogICAgIHBsYXRm
b3JtSW5pdGlhbGl6ZSgpOwo=
</data>
<flag name="review"
          id="417002"
          type_id="1"
          status="+"
          setter="darin"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>401603</attachid>
            <date>2020-06-10 16:43:21 -0700</date>
            <delta_ts>2020-06-10 17:15:12 -0700</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-213051-20200610164320.patch</filename>
            <type>text/plain</type>
            <size>34514</size>
            <attacher name="Geoffrey Garen">ggaren</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XVEYvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XVEYvQ2hh
bmdlTG9nCShyZXZpc2lvbiAyNjI4NzIpCisrKyBTb3VyY2UvV1RGL0NoYW5nZUxvZwkod29ya2lu
ZyBjb3B5KQpAQCAtMSwzICsxLDMzIEBACisyMDIwLTA2LTEwICBHZW9mZnJleSBHYXJlbiAgPGdn
YXJlbkBhcHBsZS5jb20+CisKKyAgICAgICAgU29tZSBzdHlsZSBpbXByb3ZlbWVudHMgdG8gbWFp
biB0aHJlYWQgY29kZQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9MjEzMDUxCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgRGFyaW4gQWRsZXIuCisKKyAgICAg
ICAgKiB3dGYvUnVuTG9vcC5jcHA6CisgICAgICAgIChXVEY6OlJ1bkxvb3A6OmluaXRpYWxpemVN
YWluKTogUmVuYW1lZCBpbml0aWFsaXplTWFpblJ1bkxvb3AgPT4gaW5pdGlhbGl6ZU1haW4KKyAg
ICAgICAgdG8gbWF0Y2ggdGhlIGdldHRlcidzIG5hbWUuCisgICAgICAgIChXVEY6OlJ1bkxvb3A6
OmluaXRpYWxpemVXZWIpOiBTYW1lc2llcy4KKyAgICAgICAgKFdURjo6UnVuTG9vcDo6d2ViSWZF
eGlzdHMpOiBBZGRlZCBhbiBJZkV4aXN0cyBhY2Nlc3NvciBmb3IgdXNlIGluCisgICAgICAgIHNj
aGVkdWxlRGlzcGF0Y2hGdW5jdGlvbnNPbk1haW5UaHJlYWQoKS4KKyAgICAgICAgKFdURjo6UnVu
TG9vcDo6aW5pdGlhbGl6ZU1haW5SdW5Mb29wKTogRGVsZXRlZC4KKyAgICAgICAgKFdURjo6UnVu
TG9vcDo6aW5pdGlhbGl6ZVdlYlJ1bkxvb3ApOiBEZWxldGVkLgorCisgICAgICAgICogd3RmL1J1
bkxvb3AuaDoKKworICAgICAgICAqIHd0Zi9jb2NvYS9NYWluVGhyZWFkQ29jb2EubW06CisgICAg
ICAgIChXVEY6OnNjaGVkdWxlRGlzcGF0Y2hGdW5jdGlvbnNPbk1haW5UaHJlYWQpOiBVc2UgUnVu
TG9vcDo6d2ViSWZFeGlzdHMoKQorICAgICAgICB0byBjaGVjayBmb3IgdGhlIHdlYiB0aHJlYWQg
cnVuIGxvb3AsIHNpbmNlIHRoYXQncyBtb3JlIGV4cGxpY2l0IHRoYW4KKyAgICAgICAgY2hlY2tp
bmcgYSBwdGhyZWFkIHZhcmlhYmxlLgorCisgICAgICAgIChXVEY6OmlzV2ViVGhyZWFkKTogUmVu
YW1lZCBtYWluVGhyZWFkUHRocmVhZCA9PiB3ZWJUaHJlYWRQdGhyZWFkIGJlY2F1c2UKKyAgICAg
ICAgaXQncyB0aGUgd2ViIHRocmVhZC4gQ2hhbmdlZCBzdHlsZSBvbiBnbG9iYWxzIHRvICJzXyIg
Zm9yIGNvbnNpc3RlbmN5LgorICAgICAgICBSZW1vdmVkIG1haW5UaHJlYWROU1RocmVhZCBiZWNh
dXNlIGl0IHdhcyB1bnVzZWQuCisgICAgICAgIChXVEY6OmluaXRpYWxpemVBcHBsaWNhdGlvblVJ
VGhyZWFkKToKKyAgICAgICAgKFdURjo6aW5pdGlhbGl6ZVdlYlRocmVhZCk6CisgICAgICAgIChX
VEY6OmNhbkN1cnJlbnRUaHJlYWRBY2Nlc3NUaHJlYWRMb2NhbERhdGEpOgorCiAyMDIwLTA2LTEw
ICBHZW9mZnJleSBHYXJlbiAgPGdnYXJlbkBhcHBsZS5jb20+CiAKICAgICAgICAgW0NvY29hXSBC
dWlsZCBjYWxsT25NYWluVGhyZWFkIG9uIFdURjo6UnVuTG9vcCByYXRoZXIgdGhhbiBvbiBOU09i
amVjdCBtZXRob2RzCkluZGV4OiBTb3VyY2UvV1RGL3d0Zi9SdW5Mb29wLmNwcAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBTb3VyY2UvV1RGL3d0Zi9SdW5Mb29wLmNwcAkocmV2aXNpb24gMjYyODcyKQorKysgU291
cmNlL1dURi93dGYvUnVuTG9vcC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTUyLDcgKzUyLDcgQEAg
cHJpdmF0ZToKICAgICBSZWY8UnVuTG9vcD4gbV9ydW5Mb29wOwogfTsKIAotdm9pZCBSdW5Mb29w
Ojppbml0aWFsaXplTWFpblJ1bkxvb3AoKQordm9pZCBSdW5Mb29wOjppbml0aWFsaXplTWFpbigp
CiB7CiAgICAgaWYgKHNfbWFpblJ1bkxvb3ApCiAgICAgICAgIHJldHVybjsKQEAgLTczLDcgKzcz
LDcgQEAgUnVuTG9vcCYgUnVuTG9vcDo6bWFpbigpCiB9CiAKICNpZiBVU0UoV0VCX1RIUkVBRCkK
LXZvaWQgUnVuTG9vcDo6aW5pdGlhbGl6ZVdlYlJ1bkxvb3AoKQordm9pZCBSdW5Mb29wOjppbml0
aWFsaXplV2ViKCkKIHsKICAgICBzX3dlYlJ1bkxvb3AgPSAmUnVuTG9vcDo6Y3VycmVudCgpOwog
fQpAQCAtODMsNiArODMsMTEgQEAgUnVuTG9vcCYgUnVuTG9vcDo6d2ViKCkKICAgICBBU1NFUlQo
c193ZWJSdW5Mb29wKTsKICAgICByZXR1cm4gKnNfd2ViUnVuTG9vcDsKIH0KKworUnVuTG9vcCog
UnVuTG9vcDo6d2ViSWZFeGlzdHMoKQoreworICAgIHJldHVybiBzX3dlYlJ1bkxvb3A7Cit9CiAj
ZW5kaWYKIAogYm9vbCBSdW5Mb29wOjppc01haW4oKQpJbmRleDogU291cmNlL1dURi93dGYvUnVu
TG9vcC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XVEYvd3RmL1J1bkxvb3AuaAkocmV2aXNpb24g
MjYyODcyKQorKysgU291cmNlL1dURi93dGYvUnVuTG9vcC5oCSh3b3JraW5nIGNvcHkpCkBAIC02
MCwxNSArNjAsMTYgQEAgY2xhc3MgUnVuTG9vcCBmaW5hbCA6IHB1YmxpYyBGdW5jdGlvbkRpcwog
cHVibGljOgogICAgIC8vIE11c3QgYmUgY2FsbGVkIGZyb20gdGhlIG1haW4gdGhyZWFkIChleGNl
cHQgZm9yIHRoZSBNYWMgcGxhdGZvcm0sIHdoZXJlIGl0CiAgICAgLy8gY2FuIGJlIGNhbGxlZCBm
cm9tIGFueSB0aHJlYWQpLgotICAgIFdURl9FWFBPUlRfUFJJVkFURSBzdGF0aWMgdm9pZCBpbml0
aWFsaXplTWFpblJ1bkxvb3AoKTsKKyAgICBXVEZfRVhQT1JUX1BSSVZBVEUgc3RhdGljIHZvaWQg
aW5pdGlhbGl6ZU1haW4oKTsKICNpZiBVU0UoV0VCX1RIUkVBRCkKLSAgICBXVEZfRVhQT1JUX1BS
SVZBVEUgc3RhdGljIHZvaWQgaW5pdGlhbGl6ZVdlYlJ1bkxvb3AoKTsKKyAgICBXVEZfRVhQT1JU
X1BSSVZBVEUgc3RhdGljIHZvaWQgaW5pdGlhbGl6ZVdlYigpOwogI2VuZGlmCiAKICAgICBXVEZf
RVhQT1JUX1BSSVZBVEUgc3RhdGljIFJ1bkxvb3AmIGN1cnJlbnQoKTsKICAgICBXVEZfRVhQT1JU
X1BSSVZBVEUgc3RhdGljIFJ1bkxvb3AmIG1haW4oKTsKICNpZiBVU0UoV0VCX1RIUkVBRCkKICAg
ICBXVEZfRVhQT1JUX1BSSVZBVEUgc3RhdGljIFJ1bkxvb3AmIHdlYigpOworICAgIFdURl9FWFBP
UlRfUFJJVkFURSBzdGF0aWMgUnVuTG9vcCogd2ViSWZFeGlzdHMoKTsKICNlbmRpZgogICAgIFdU
Rl9FWFBPUlRfUFJJVkFURSBzdGF0aWMgYm9vbCBpc01haW4oKTsKICAgICB+UnVuTG9vcCgpIGZp
bmFsOwpJbmRleDogU291cmNlL1dURi93dGYvY29jb2EvTWFpblRocmVhZENvY29hLm1tCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFNvdXJjZS9XVEYvd3RmL2NvY29hL01haW5UaHJlYWRDb2NvYS5tbQkocmV2aXNp
b24gMjYyODcyKQorKysgU291cmNlL1dURi93dGYvY29jb2EvTWFpblRocmVhZENvY29hLm1tCSh3
b3JraW5nIGNvcHkpCkBAIC01OCwxMSArNTgsMTAgQEAgc3RhdGljIGJvb2wgaXNUaW1lclBvc3Rl
ZDsgLy8gVGhpcyBpcyBvbgogCiAjaWYgVVNFKFdFQl9USFJFQUQpCiAvLyBXaGVuIHRoZSBXZWIg
dGhyZWFkIGlzIGVuYWJsZWQsIHdlIGNvbnNpZGVyIGl0IHRvIGJlIHRoZSBtYWluIHRocmVhZCwg
bm90IHB0aHJlYWQgbWFpbi4KLXN0YXRpYyBwdGhyZWFkX3QgbWFpblRocmVhZFB0aHJlYWQgeyBu
dWxscHRyIH07Ci1zdGF0aWMgTlNUaHJlYWQqIG1haW5UaHJlYWROU1RocmVhZCB7IG51bGxwdHIg
fTsKK3N0YXRpYyBwdGhyZWFkX3Qgc193ZWJUaHJlYWRQdGhyZWFkOwogCi1zdGF0aWMgVGhyZWFk
KiBzQXBwbGljYXRpb25VSVRocmVhZDsKLXN0YXRpYyBUaHJlYWQqIHNXZWJUaHJlYWQ7CitzdGF0
aWMgVGhyZWFkKiBzX2FwcGxpY2F0aW9uVUlUaHJlYWQ7CitzdGF0aWMgVGhyZWFkKiBzX3dlYlRo
cmVhZDsKICNlbmRpZgogCiB2b2lkIGluaXRpYWxpemVNYWluVGhyZWFkUGxhdGZvcm0oKQpAQCAt
MTAxLDggKzEwMCw4IEBAIHZvaWQgc2NoZWR1bGVEaXNwYXRjaEZ1bmN0aW9uc09uTWFpblRocmUK
ICAgICAgICAgcmV0dXJuOwogICAgIH0KIAotICAgIGlmIChtYWluVGhyZWFkUHRocmVhZCkgewot
ICAgICAgICBSdW5Mb29wOjp3ZWIoKS5kaXNwYXRjaChkaXNwYXRjaEZ1bmN0aW9uc0Zyb21NYWlu
VGhyZWFkKTsKKyAgICBpZiAoYXV0byogd2ViUnVuTG9vcCA9IFJ1bkxvb3A6OndlYklmRXhpc3Rz
KCkpIHsKKyAgICAgICAgd2ViUnVuTG9vcC0+ZGlzcGF0Y2goZGlzcGF0Y2hGdW5jdGlvbnNGcm9t
TWFpblRocmVhZCk7CiAgICAgICAgIHJldHVybjsKICAgICB9CiAjZWxzZQpAQCAtMTYwLDEzICsx
NTksMTMgQEAgYm9vbCBpc1VJVGhyZWFkKCkKIC8vIEtlZXAgaW4gbWluZCB0aGF0IGlzV2ViVGhy
ZWFkIGNhbiBiZSBjYWxsZWQgZXZlbiB3aGVuIGRlc3Ryb3lpbmcgdGhlIGN1cnJlbnQgdGhyZWFk
LgogYm9vbCBpc1dlYlRocmVhZCgpCiB7Ci0gICAgcmV0dXJuIHB0aHJlYWRfZXF1YWwocHRocmVh
ZF9zZWxmKCksIG1haW5UaHJlYWRQdGhyZWFkKTsKKyAgICByZXR1cm4gcHRocmVhZF9lcXVhbChw
dGhyZWFkX3NlbGYoKSwgc193ZWJUaHJlYWRQdGhyZWFkKTsKIH0KIAogdm9pZCBpbml0aWFsaXpl
QXBwbGljYXRpb25VSVRocmVhZCgpCiB7CiAgICAgQVNTRVJUKHB0aHJlYWRfbWFpbl9ucCgpKTsK
LSAgICBzQXBwbGljYXRpb25VSVRocmVhZCA9ICZUaHJlYWQ6OmN1cnJlbnQoKTsKKyAgICBzX2Fw
cGxpY2F0aW9uVUlUaHJlYWQgPSAmVGhyZWFkOjpjdXJyZW50KCk7CiB9CiAKIHZvaWQgaW5pdGlh
bGl6ZVdlYlRocmVhZCgpCkBAIC0xNzQsMTAgKzE3Myw5IEBAIHZvaWQgaW5pdGlhbGl6ZVdlYlRo
cmVhZCgpCiAgICAgc3RhdGljIHN0ZDo6b25jZV9mbGFnIGluaXRpYWxpemVLZXk7CiAgICAgc3Rk
OjpjYWxsX29uY2UoaW5pdGlhbGl6ZUtleSwgW10gewogICAgICAgICBBU1NFUlQoIXB0aHJlYWRf
bWFpbl9ucCgpKTsKLSAgICAgICAgbWFpblRocmVhZFB0aHJlYWQgPSBwdGhyZWFkX3NlbGYoKTsK
LSAgICAgICAgbWFpblRocmVhZE5TVGhyZWFkID0gW05TVGhyZWFkIGN1cnJlbnRUaHJlYWRdOwot
ICAgICAgICBzV2ViVGhyZWFkID0gJlRocmVhZDo6Y3VycmVudCgpOwotICAgICAgICBSdW5Mb29w
Ojppbml0aWFsaXplV2ViUnVuTG9vcCgpOworICAgICAgICBzX3dlYlRocmVhZFB0aHJlYWQgPSBw
dGhyZWFkX3NlbGYoKTsKKyAgICAgICAgc193ZWJUaHJlYWQgPSAmVGhyZWFkOjpjdXJyZW50KCk7
CisgICAgICAgIFJ1bkxvb3A6OmluaXRpYWxpemVXZWIoKTsKICAgICB9KTsKIH0KIApAQCAtMTg3
LDggKzE4NSw4IEBAIGJvb2wgY2FuQ3VycmVudFRocmVhZEFjY2Vzc1RocmVhZExvY2FsRGEKICAg
ICBpZiAoJnRocmVhZCA9PSAmY3VycmVudFRocmVhZCkKICAgICAgICAgcmV0dXJuIHRydWU7CiAK
LSAgICBpZiAoJnRocmVhZCA9PSBzV2ViVGhyZWFkIHx8ICZ0aHJlYWQgPT0gc0FwcGxpY2F0aW9u
VUlUaHJlYWQpCi0gICAgICAgIHJldHVybiAoJmN1cnJlbnRUaHJlYWQgPT0gc1dlYlRocmVhZCB8
fCAmY3VycmVudFRocmVhZCA9PSBzQXBwbGljYXRpb25VSVRocmVhZCkgJiYgd2ViVGhyZWFkSXNV
bmluaXRpYWxpemVkT3JMb2NrZWRPckRpc2FibGVkKCk7CisgICAgaWYgKCZ0aHJlYWQgPT0gc193
ZWJUaHJlYWQgfHwgJnRocmVhZCA9PSBzX2FwcGxpY2F0aW9uVUlUaHJlYWQpCisgICAgICAgIHJl
dHVybiAoJmN1cnJlbnRUaHJlYWQgPT0gc193ZWJUaHJlYWQgfHwgJmN1cnJlbnRUaHJlYWQgPT0g
c19hcHBsaWNhdGlvblVJVGhyZWFkKSAmJiB3ZWJUaHJlYWRJc1VuaW5pdGlhbGl6ZWRPckxvY2tl
ZE9yRGlzYWJsZWQoKTsKIAogICAgIHJldHVybiBmYWxzZTsKIH0KSW5kZXg6IFNvdXJjZS9XZWJD
b3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cJKHJl
dmlzaW9uIDI2Mjg3MikKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwkod29ya2luZyBjb3B5
KQpAQCAtMSwzICsxLDE2IEBACisyMDIwLTA2LTEwICBHZW9mZnJleSBHYXJlbiAgPGdnYXJlbkBh
cHBsZS5jb20+CisKKyAgICAgICAgU29tZSBzdHlsZSBpbXByb3ZlbWVudHMgdG8gbWFpbiB0aHJl
YWQgY29kZQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
MjEzMDUxCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgRGFyaW4gQWRsZXIuCisKKyAgICAgICAgVXBk
YXRlZCBmb3IgcmVuYW1lLgorCisgICAgICAgICogV2ViQ29yZS5vcmRlcjoKKyAgICAgICAgKiBw
bGF0Zm9ybS9pb3Mvd2FrL1dlYkNvcmVUaHJlYWQubW06CisgICAgICAgIChTdGFydFdlYlRocmVh
ZCk6CisKIDIwMjAtMDYtMTAgIEJyZW50IEZ1bGdoYW0gIDxiZnVsZ2hhbUBhcHBsZS5jb20+CiAK
ICAgICAgICAgSW1wcm92ZSBDU1AgY29tcGxpYW5jZSB1bmRlciBQU09OCkluZGV4OiBTb3VyY2Uv
V2ViQ29yZS9XZWJDb3JlLm9yZGVyCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL1dlYkNv
cmUub3JkZXIJKHJldmlzaW9uIDI2Mjg3MikKKysrIFNvdXJjZS9XZWJDb3JlL1dlYkNvcmUub3Jk
ZXIJKHdvcmtpbmcgY29weSkKQEAgLTI5MjY1LDcgKzI5MjY1LDYgQEAgX19aWk5LN1dlYkNvcmUy
MFJlc291cmNlUmVzcG9uc2VCYXNlMjdwYQogX19aR1ZaTks3V2ViQ29yZTIwUmVzb3VyY2VSZXNw
b25zZUJhc2UyN3BhcnNlQ2FjaGVDb250cm9sRGlyZWN0aXZlc0V2RTE1bWF4QWdlRGlyZWN0aXZl
LmIKIF9fWlpOSzdXZWJDb3JlMjBSZXNvdXJjZVJlc3BvbnNlQmFzZTI3cGFyc2VDYWNoZUNvbnRy
b2xEaXJlY3RpdmVzRXZFMTJwcmFnbWFIZWFkZXIKIF9fWkdWWk5LN1dlYkNvcmUyMFJlc291cmNl
UmVzcG9uc2VCYXNlMjdwYXJzZUNhY2hlQ29udHJvbERpcmVjdGl2ZXNFdkUxMnByYWdtYUhlYWRl
ci5iCi1fX1paTjdXZWJDb3JlN1J1bkxvb3AyMWluaXRpYWxpemVNYWluUnVuTG9vcEV2RTlvbmNl
VG9rZW4KIF9fWk43V2ViQ29yZUwxM3NfbWFpblJ1bkxvb3BFCiBfX1paTjdXZWJDb3JlTDM3Q29u
dGVudFNlY3VyaXR5UG9saWN5QnlwYXNzaW5nU2NoZW1lc0V2RTdzY2hlbWVzCiBfX1pHVlpON1dl
YkNvcmVMMzdDb250ZW50U2VjdXJpdHlQb2xpY3lCeXBhc3NpbmdTY2hlbWVzRXZFN3NjaGVtZXMu
YgpJbmRleDogU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vaW9zL3dhay9XZWJDb3JlVGhyZWFkLm1t
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2lvcy93YWsvV2ViQ29yZVRo
cmVhZC5tbQkocmV2aXNpb24gMjYyODcyKQorKysgU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vaW9z
L3dhay9XZWJDb3JlVGhyZWFkLm1tCSh3b3JraW5nIGNvcHkpCkBAIC02NDMsNyArNjQzLDcgQEAg
c3RhdGljIHZvaWQgU3RhcnRXZWJUaHJlYWQoKQogICAgIFdlYkNvcmU6OlRocmVhZEdsb2JhbERh
dGEmIHVudXNlZCA9IFdlYkNvcmU6OnRocmVhZEdsb2JhbERhdGEoKTsKICAgICBVTlVTRURfUEFS
QU0odW51c2VkKTsKIAotICAgIFJ1bkxvb3A6OmluaXRpYWxpemVNYWluUnVuTG9vcCgpOworICAg
IFJ1bkxvb3A6OmluaXRpYWxpemVNYWluKCk7CiAKICAgICAvLyByZWdpc3RlciBjbGFzcyBmb3Ig
V2ViVGhyZWFkIGRlYWxsb2NhdGlvbgogICAgIFdlYkNvcmVPYmpDRGVhbGxvY09uV2ViVGhyZWFk
KFtXQUtXaW5kb3cgY2xhc3NdKTsKSW5kZXg6IFNvdXJjZS9XZWJEcml2ZXIvQ2hhbmdlTG9nCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFNvdXJjZS9XZWJEcml2ZXIvQ2hhbmdlTG9nCShyZXZpc2lvbiAyNjI4NzIp
CisrKyBTb3VyY2UvV2ViRHJpdmVyL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsx
LDE1IEBACisyMDIwLTA2LTEwICBHZW9mZnJleSBHYXJlbiAgPGdnYXJlbkBhcHBsZS5jb20+CisK
KyAgICAgICAgU29tZSBzdHlsZSBpbXByb3ZlbWVudHMgdG8gbWFpbiB0aHJlYWQgY29kZQorICAg
ICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjEzMDUxCisKKyAg
ICAgICAgUmV2aWV3ZWQgYnkgRGFyaW4gQWRsZXIuCisKKyAgICAgICAgVXBkYXRlZCBmb3IgcmVu
YW1lLgorCisgICAgICAgICogV2ViRHJpdmVyU2VydmljZS5jcHA6CisgICAgICAgIChXZWJEcml2
ZXI6OldlYkRyaXZlclNlcnZpY2U6OnJ1bik6CisKIDIwMjAtMDMtMTkgIENoYXJsaWUgVHVybmVy
ICA8Y3R1cm5lckBpZ2FsaWEuY29tPgogCiAgICAgICAgIEZpeCBtYW55IHdhcm5pbmdzIHdpdGgg
Q2xhbmcgNy4wIG9uIEdUSyB4ODYtNjQgaW4gRGVidWcuCkluZGV4OiBTb3VyY2UvV2ViRHJpdmVy
L1dlYkRyaXZlclNlcnZpY2UuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJEcml2ZXIvV2Vi
RHJpdmVyU2VydmljZS5jcHAJKHJldmlzaW9uIDI2Mjg3MikKKysrIFNvdXJjZS9XZWJEcml2ZXIv
V2ViRHJpdmVyU2VydmljZS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTk2LDcgKzk2LDcgQEAgaW50
IFdlYkRyaXZlclNlcnZpY2U6OnJ1bihpbnQgYXJnYywgY2hhcgogICAgICAgICByZXR1cm4gRVhJ
VF9GQUlMVVJFOwogICAgIH0KIAotICAgIFJ1bkxvb3A6OmluaXRpYWxpemVNYWluUnVuTG9vcCgp
OworICAgIFJ1bkxvb3A6OmluaXRpYWxpemVNYWluKCk7CiAKICAgICBpZiAoIW1fc2VydmVyLmxp
c3Rlbihob3N0LCBwb3J0KSkKICAgICAgICAgcmV0dXJuIEVYSVRfRkFJTFVSRTsKSW5kZXg6IFNv
dXJjZS9XZWJLaXQvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvQ2hhbmdl
TG9nCShyZXZpc2lvbiAyNjI4NzIpCisrKyBTb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwkod29ya2lu
ZyBjb3B5KQpAQCAtMSwzICsxLDE4IEBACisyMDIwLTA2LTEwICBHZW9mZnJleSBHYXJlbiAgPGdn
YXJlbkBhcHBsZS5jb20+CisKKyAgICAgICAgU29tZSBzdHlsZSBpbXByb3ZlbWVudHMgdG8gbWFp
biB0aHJlYWQgY29kZQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9MjEzMDUxCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgRGFyaW4gQWRsZXIuCisKKyAgICAg
ICAgVXBkYXRlZCBmb3IgcmVuYW1lLgorCisgICAgICAgICogU2hhcmVkL0NvY29hL1dlYktpdDJJ
bml0aWFsaXplQ29jb2EubW06CisgICAgICAgIChXZWJLaXQ6OnJ1bkluaXRpYWxpemF0aW9uQ29k
ZSk6CisgICAgICAgIChXZWJLaXQ6OkluaXRpYWxpemVXZWJLaXQyKToKKyAgICAgICAgKiBTaGFy
ZWQvV2ViS2l0MkluaXRpYWxpemUuY3BwOgorICAgICAgICAoV2ViS2l0OjpJbml0aWFsaXplV2Vi
S2l0Mik6CisKIDIwMjAtMDYtMTAgIEpvbmF0aGFuIEJlZGFyZCAgPGpiZWRhcmRAYXBwbGUuY29t
PgogCiAgICAgICAgIFdlYktpdDpBZGQgUGVwcGVyVUlDb3JlU1BJLmggKEZvbGxvdy11cCBmaXgp
CkluZGV4OiBTb3VyY2UvV2ViS2l0L1NoYXJlZC9XZWJLaXQySW5pdGlhbGl6ZS5jcHAKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gU291cmNlL1dlYktpdC9TaGFyZWQvV2ViS2l0MkluaXRpYWxpemUuY3BwCShyZXZp
c2lvbiAyNjI4NzIpCisrKyBTb3VyY2UvV2ViS2l0L1NoYXJlZC9XZWJLaXQySW5pdGlhbGl6ZS5j
cHAJKHdvcmtpbmcgY29weSkKQEAgLTQwLDcgKzQwLDcgQEAgbmFtZXNwYWNlIFdlYktpdCB7CiB2
b2lkIEluaXRpYWxpemVXZWJLaXQyKCkKIHsKICAgICBKU0M6OmluaXRpYWxpemVUaHJlYWRpbmco
KTsKLSAgICBSdW5Mb29wOjppbml0aWFsaXplTWFpblJ1bkxvb3AoKTsKKyAgICBSdW5Mb29wOjpp
bml0aWFsaXplTWFpbigpOwogICAgIEF0b21TdHJpbmc6OmluaXQoKTsKIAogICAgIFdURjo6UmVm
Q291bnRlZEJhc2U6OmVuYWJsZVRocmVhZGluZ0NoZWNrc0dsb2JhbGx5KCk7CkluZGV4OiBTb3Vy
Y2UvV2ViS2l0L1NoYXJlZC9Db2NvYS9XZWJLaXQySW5pdGlhbGl6ZUNvY29hLm1tCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFNvdXJjZS9XZWJLaXQvU2hhcmVkL0NvY29hL1dlYktpdDJJbml0aWFsaXplQ29jb2Eu
bW0JKHJldmlzaW9uIDI2Mjg3MikKKysrIFNvdXJjZS9XZWJLaXQvU2hhcmVkL0NvY29hL1dlYktp
dDJJbml0aWFsaXplQ29jb2EubW0JKHdvcmtpbmcgY29weSkKQEAgLTUzLDcgKzUzLDcgQEAgc3Rh
dGljIHZvaWQgcnVuSW5pdGlhbGl6YXRpb25Db2RlKHZvaWQqIAogI2VuZGlmCiAKICAgICBKU0M6
OmluaXRpYWxpemVUaHJlYWRpbmcoKTsKLSAgICBSdW5Mb29wOjppbml0aWFsaXplTWFpblJ1bkxv
b3AoKTsKKyAgICBSdW5Mb29wOjppbml0aWFsaXplTWFpbigpOwogCiAgICAgV1RGOjpSZWZDb3Vu
dGVkQmFzZTo6ZW5hYmxlVGhyZWFkaW5nQ2hlY2tzR2xvYmFsbHkoKTsKIApAQCAtNjUsNyArNjUs
NyBAQCBzdGF0aWMgdm9pZCBydW5Jbml0aWFsaXphdGlvbkNvZGUodm9pZCogCiAKIHZvaWQgSW5p
dGlhbGl6ZVdlYktpdDIoKQogewotICAgIC8vIE1ha2Ugc3VyZSB0aGUgaW5pdGlhbGl6YXRpb24g
Y29kZSBpcyBydW4gb25seSBvbmNlIGFuZCBvbiB0aGUgbWFpbiB0aHJlYWQgc2luY2UgdGhpbmdz
IGxpa2UgUnVuTG9vcDo6aW5pdGlhbGl6ZU1haW5SdW5Mb29wKCkKKyAgICAvLyBNYWtlIHN1cmUg
dGhlIGluaXRpYWxpemF0aW9uIGNvZGUgaXMgcnVuIG9ubHkgb25jZSBhbmQgb24gdGhlIG1haW4g
dGhyZWFkIHNpbmNlIHRoaW5ncyBsaWtlIFJ1bkxvb3A6OmluaXRpYWxpemVNYWluKCkKICAgICAv
LyBhcmUgb25seSBzYWZlIHRvIGNhbGwgb24gdGhlIG1haW4gdGhyZWFkLgogICAgIHN0ZDo6Y2Fs
bF9vbmNlKGZsYWcsIFtdIHsKICAgICAgICAgaWYgKFtOU1RocmVhZCBpc01haW5UaHJlYWRdIHx8
IGxpbmtlZE9uT3JBZnRlcihTREtWZXJzaW9uOjpGaXJzdFdpdGhJbml0aWFsaXplV2ViS2l0Mk1h
aW5UaHJlYWRBc3NlcnRpb24pKQpJbmRleDogU291cmNlL1dlYktpdExlZ2FjeS9tYWMvQ2hhbmdl
TG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL0NoYW5nZUxvZwkocmV2
aXNpb24gMjYyODcyKQorKysgU291cmNlL1dlYktpdExlZ2FjeS9tYWMvQ2hhbmdlTG9nCSh3b3Jr
aW5nIGNvcHkpCkBAIC0xLDMgKzEsNTAgQEAKKzIwMjAtMDYtMTAgIEdlb2ZmcmV5IEdhcmVuICA8
Z2dhcmVuQGFwcGxlLmNvbT4KKworICAgICAgICBTb21lIHN0eWxlIGltcHJvdmVtZW50cyB0byBt
YWluIHRocmVhZCBjb2RlCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVn
LmNnaT9pZD0yMTMwNTEKKworICAgICAgICBSZXZpZXdlZCBieSBEYXJpbiBBZGxlci4KKworICAg
ICAgICBVcGRhdGVkIGZvciByZW5hbWUuCisKKyAgICAgICAgKiBIaXN0b3J5L1dlYkJhY2tGb3J3
YXJkTGlzdC5tbToKKyAgICAgICAgKCtbV2ViQmFja0ZvcndhcmRMaXN0IGluaXRpYWxpemVdKToK
KyAgICAgICAgKiBIaXN0b3J5L1dlYkhpc3RvcnlJdGVtLm1tOgorICAgICAgICAoK1tXZWJIaXN0
b3J5SXRlbSBpbml0aWFsaXplXSk6CisgICAgICAgICogTWlzYy9XZWJDYWNoZS5tbToKKyAgICAg
ICAgKCtbV2ViQ2FjaGUgaW5pdGlhbGl6ZV0pOgorICAgICAgICAqIE1pc2MvV2ViRWxlbWVudERp
Y3Rpb25hcnkubW06CisgICAgICAgICgrW1dlYkVsZW1lbnREaWN0aW9uYXJ5IGluaXRpYWxpemVd
KToKKyAgICAgICAgKiBNaXNjL1dlYkljb25EYXRhYmFzZS5tbToKKyAgICAgICAgKiBQbHVnaW5z
L0hvc3RlZC9XZWJIb3N0ZWROZXRzY2FwZVBsdWdpblZpZXcubW06CisgICAgICAgICgrW1dlYkhv
c3RlZE5ldHNjYXBlUGx1Z2luVmlldyBpbml0aWFsaXplXSk6CisgICAgICAgICogUGx1Z2lucy9X
ZWJCYXNlTmV0c2NhcGVQbHVnaW5WaWV3Lm1tOgorICAgICAgICAqIFBsdWdpbnMvV2ViQmFzZVBs
dWdpblBhY2thZ2UubW06CisgICAgICAgICgrW1dlYkJhc2VQbHVnaW5QYWNrYWdlIGluaXRpYWxp
emVdKToKKyAgICAgICAgKiBQbHVnaW5zL1dlYk5ldHNjYXBlUGx1Z2luVmlldy5tbToKKyAgICAg
ICAgKCtbV2ViTmV0c2NhcGVQbHVnaW5WaWV3IGluaXRpYWxpemVdKToKKyAgICAgICAgKiBXZWJD
b3JlU3VwcG9ydC9XZWJFZGl0b3JDbGllbnQubW06CisgICAgICAgICgrW1dlYlVuZG9TdGVwIGlu
aXRpYWxpemVdKToKKyAgICAgICAgKiBXZWJDb3JlU3VwcG9ydC9XZWJGcmFtZUxvYWRlckNsaWVu
dC5tbToKKyAgICAgICAgKCtbV2ViRnJhbWVQb2xpY3lMaXN0ZW5lciBpbml0aWFsaXplXSk6Cisg
ICAgICAgICogV2ViVmlldy9XZWJBcmNoaXZlLm1tOgorICAgICAgICAoK1tXZWJBcmNoaXZlUHJp
dmF0ZSBpbml0aWFsaXplXSk6CisgICAgICAgICogV2ViVmlldy9XZWJEYXRhU291cmNlLm1tOgor
ICAgICAgICAoK1tXZWJEYXRhU291cmNlIGluaXRpYWxpemVdKToKKyAgICAgICAgKiBXZWJWaWV3
L1dlYkhUTUxWaWV3Lm1tOgorICAgICAgICAoK1tXZWJIVE1MVmlld1ByaXZhdGUgaW5pdGlhbGl6
ZV0pOgorICAgICAgICAoK1tXZWJIVE1MVmlldyBpbml0aWFsaXplXSk6CisgICAgICAgICogV2Vi
Vmlldy9XZWJQcmVmZXJlbmNlcy5tbToKKyAgICAgICAgKCtbV2ViUHJlZmVyZW5jZXMgaW5pdGlh
bGl6ZV0pOgorICAgICAgICAqIFdlYlZpZXcvV2ViUmVzb3VyY2UubW06CisgICAgICAgICgrW1dl
YlJlc291cmNlUHJpdmF0ZSBpbml0aWFsaXplXSk6CisgICAgICAgICogV2ViVmlldy9XZWJUZXh0
SXRlcmF0b3IubW06CisgICAgICAgICgrW1dlYlRleHRJdGVyYXRvclByaXZhdGUgaW5pdGlhbGl6
ZV0pOgorICAgICAgICAqIFdlYlZpZXcvV2ViVmlldy5tbToKKyAgICAgICAgKCtbV2ViVmlldyBp
bml0aWFsaXplXSk6CisgICAgICAgICogV2ViVmlldy9XZWJWaWV3RGF0YS5tbToKKyAgICAgICAg
KCtbV2ViVmlld1ByaXZhdGUgaW5pdGlhbGl6ZV0pOgorCiAyMDIwLTA2LTA5ICBEZWFuIEphY2tz
b24gIDxkaW5vQGFwcGxlLmNvbT4KIAogICAgICAgICBTdG9wIHVzaW5nIGRpc2NyaW1pbmF0b3J5
IG5hbWVzIGZvciBXZWJHTCBhbmQgUGx1Z2luIGJsb2NraW5nCkluZGV4OiBTb3VyY2UvV2ViS2l0
TGVnYWN5L21hYy9IaXN0b3J5L1dlYkJhY2tGb3J3YXJkTGlzdC5tbQo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBT
b3VyY2UvV2ViS2l0TGVnYWN5L21hYy9IaXN0b3J5L1dlYkJhY2tGb3J3YXJkTGlzdC5tbQkocmV2
aXNpb24gMjYyODcyKQorKysgU291cmNlL1dlYktpdExlZ2FjeS9tYWMvSGlzdG9yeS9XZWJCYWNr
Rm9yd2FyZExpc3QubW0JKHdvcmtpbmcgY29weSkKQEAgLTk5LDcgKzk5LDcgQEAgKyAodm9pZClp
bml0aWFsaXplCiB7CiAjaWYgIVBMQVRGT1JNKElPU19GQU1JTFkpCiAgICAgSlNDOjppbml0aWFs
aXplVGhyZWFkaW5nKCk7Ci0gICAgUnVuTG9vcDo6aW5pdGlhbGl6ZU1haW5SdW5Mb29wKCk7Cisg
ICAgUnVuTG9vcDo6aW5pdGlhbGl6ZU1haW4oKTsKICNlbmRpZgogfQogCkluZGV4OiBTb3VyY2Uv
V2ViS2l0TGVnYWN5L21hYy9IaXN0b3J5L1dlYkhpc3RvcnlJdGVtLm1tCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFNvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL0hpc3RvcnkvV2ViSGlzdG9yeUl0ZW0ubW0JKHJldmlz
aW9uIDI2Mjg3MikKKysrIFNvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL0hpc3RvcnkvV2ViSGlzdG9y
eUl0ZW0ubW0JKHdvcmtpbmcgY29weSkKQEAgLTEyNiw3ICsxMjYsNyBAQCArICh2b2lkKWluaXRp
YWxpemUKIHsKICNpZiAhUExBVEZPUk0oSU9TX0ZBTUlMWSkKICAgICBKU0M6OmluaXRpYWxpemVU
aHJlYWRpbmcoKTsKLSAgICBSdW5Mb29wOjppbml0aWFsaXplTWFpblJ1bkxvb3AoKTsKKyAgICBS
dW5Mb29wOjppbml0aWFsaXplTWFpbigpOwogI2VuZGlmCiB9CiAKSW5kZXg6IFNvdXJjZS9XZWJL
aXRMZWdhY3kvbWFjL01pc2MvV2ViQ2FjaGUubW0KPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktp
dExlZ2FjeS9tYWMvTWlzYy9XZWJDYWNoZS5tbQkocmV2aXNpb24gMjYyODcyKQorKysgU291cmNl
L1dlYktpdExlZ2FjeS9tYWMvTWlzYy9XZWJDYWNoZS5tbQkod29ya2luZyBjb3B5KQpAQCAtNjQs
NyArNjQsNyBAQCArICh2b2lkKWluaXRpYWxpemUKIHsKICNpZiAhUExBVEZPUk0oSU9TX0ZBTUlM
WSkKICAgICBKU0M6OmluaXRpYWxpemVUaHJlYWRpbmcoKTsKLSAgICBSdW5Mb29wOjppbml0aWFs
aXplTWFpblJ1bkxvb3AoKTsKKyAgICBSdW5Mb29wOjppbml0aWFsaXplTWFpbigpOwogI2VuZGlm
CiB9CiAKSW5kZXg6IFNvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL01pc2MvV2ViRWxlbWVudERpY3Rp
b25hcnkubW0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdExlZ2FjeS9tYWMvTWlzYy9XZWJF
bGVtZW50RGljdGlvbmFyeS5tbQkocmV2aXNpb24gMjYyODcyKQorKysgU291cmNlL1dlYktpdExl
Z2FjeS9tYWMvTWlzYy9XZWJFbGVtZW50RGljdGlvbmFyeS5tbQkod29ya2luZyBjb3B5KQpAQCAt
NjgsNyArNjgsNyBAQCArICh2b2lkKWluaXRpYWxpemUKIHsKICNpZiAhUExBVEZPUk0oSU9TX0ZB
TUlMWSkKICAgICBKU0M6OmluaXRpYWxpemVUaHJlYWRpbmcoKTsKLSAgICBSdW5Mb29wOjppbml0
aWFsaXplTWFpblJ1bkxvb3AoKTsKKyAgICBSdW5Mb29wOjppbml0aWFsaXplTWFpbigpOwogI2Vu
ZGlmCiB9CiAKSW5kZXg6IFNvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL01pc2MvV2ViSWNvbkRhdGFi
YXNlLm1tCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL01pc2MvV2ViSWNv
bkRhdGFiYXNlLm1tCShyZXZpc2lvbiAyNjI4NzIpCisrKyBTb3VyY2UvV2ViS2l0TGVnYWN5L21h
Yy9NaXNjL1dlYkljb25EYXRhYmFzZS5tbQkod29ya2luZyBjb3B5KQpAQCAtOTgsNyArOTgsNyBA
QCBBTExPV19ERVBSRUNBVEVEX0lNUExFTUVOVEFUSU9OU19FTkQKICsgKHZvaWQpaW5pdGlhbGl6
ZQogewogICAgIEpTQzo6aW5pdGlhbGl6ZVRocmVhZGluZygpOwotICAgIFJ1bkxvb3A6OmluaXRp
YWxpemVNYWluUnVuTG9vcCgpOworICAgIFJ1bkxvb3A6OmluaXRpYWxpemVNYWluKCk7CiB9CiAK
ICsgKFdlYkljb25EYXRhYmFzZSAqKXNoYXJlZEljb25EYXRhYmFzZQpJbmRleDogU291cmNlL1dl
YktpdExlZ2FjeS9tYWMvUGx1Z2lucy9XZWJCYXNlTmV0c2NhcGVQbHVnaW5WaWV3Lm1tCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFNvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL1BsdWdpbnMvV2ViQmFzZU5ldHNjYXBl
UGx1Z2luVmlldy5tbQkocmV2aXNpb24gMjYyODcyKQorKysgU291cmNlL1dlYktpdExlZ2FjeS9t
YWMvUGx1Z2lucy9XZWJCYXNlTmV0c2NhcGVQbHVnaW5WaWV3Lm1tCSh3b3JraW5nIGNvcHkpCkBA
IC03MSw3ICs3MSw3IEBAIHVzaW5nIG5hbWVzcGFjZSBXZWJDb3JlOwogKyAodm9pZClpbml0aWFs
aXplCiB7CiAgICAgSlNDOjppbml0aWFsaXplVGhyZWFkaW5nKCk7Ci0gICAgUnVuTG9vcDo6aW5p
dGlhbGl6ZU1haW5SdW5Mb29wKCk7CisgICAgUnVuTG9vcDo6aW5pdGlhbGl6ZU1haW4oKTsKICAg
ICBXZWJLaXQ6OnNlbmRVc2VyQ2hhbmdlTm90aWZpY2F0aW9ucygpOwogfQogCkluZGV4OiBTb3Vy
Y2UvV2ViS2l0TGVnYWN5L21hYy9QbHVnaW5zL1dlYkJhc2VQbHVnaW5QYWNrYWdlLm1tCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFNvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL1BsdWdpbnMvV2ViQmFzZVBsdWdpblBh
Y2thZ2UubW0JKHJldmlzaW9uIDI2Mjg3MikKKysrIFNvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL1Bs
dWdpbnMvV2ViQmFzZVBsdWdpblBhY2thZ2UubW0JKHdvcmtpbmcgY29weSkKQEAgLTYwLDcgKzYw
LDcgQEAgKyAodm9pZClpbml0aWFsaXplCiB7CiAjaWYgIVBMQVRGT1JNKElPU19GQU1JTFkpCiAg
ICAgSlNDOjppbml0aWFsaXplVGhyZWFkaW5nKCk7Ci0gICAgUnVuTG9vcDo6aW5pdGlhbGl6ZU1h
aW5SdW5Mb29wKCk7CisgICAgUnVuTG9vcDo6aW5pdGlhbGl6ZU1haW4oKTsKICNlbmRpZgogfQog
CkluZGV4OiBTb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9QbHVnaW5zL1dlYk5ldHNjYXBlUGx1Z2lu
Vmlldy5tbQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9QbHVnaW5zL1dl
Yk5ldHNjYXBlUGx1Z2luVmlldy5tbQkocmV2aXNpb24gMjYyODcyKQorKysgU291cmNlL1dlYktp
dExlZ2FjeS9tYWMvUGx1Z2lucy9XZWJOZXRzY2FwZVBsdWdpblZpZXcubW0JKHdvcmtpbmcgY29w
eSkKQEAgLTE2Myw3ICsxNjMsNyBAQCAtIChOUEVycm9yKWxvYWRSZXF1ZXN0OihOU011dGFibGVV
UkxSZXF1CiArICh2b2lkKWluaXRpYWxpemUKIHsKICAgICBKU0M6OmluaXRpYWxpemVUaHJlYWRp
bmcoKTsKLSAgICBSdW5Mb29wOjppbml0aWFsaXplTWFpblJ1bkxvb3AoKTsKKyAgICBSdW5Mb29w
Ojppbml0aWFsaXplTWFpbigpOwogICAgIHNlbmRVc2VyQ2hhbmdlTm90aWZpY2F0aW9ucygpOwog
fQogCkluZGV4OiBTb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9QbHVnaW5zL0hvc3RlZC9XZWJIb3N0
ZWROZXRzY2FwZVBsdWdpblZpZXcubW0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdExlZ2Fj
eS9tYWMvUGx1Z2lucy9Ib3N0ZWQvV2ViSG9zdGVkTmV0c2NhcGVQbHVnaW5WaWV3Lm1tCShyZXZp
c2lvbiAyNjI4NzIpCisrKyBTb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9QbHVnaW5zL0hvc3RlZC9X
ZWJIb3N0ZWROZXRzY2FwZVBsdWdpblZpZXcubW0JKHdvcmtpbmcgY29weSkKQEAgLTEwNiw3ICsx
MDYsNyBAQCArICh2b2lkKWluaXRpYWxpemUKIHsKICNpZiAhUExBVEZPUk0oSU9TX0ZBTUlMWSkK
ICAgICBKU0M6OmluaXRpYWxpemVUaHJlYWRpbmcoKTsKLSAgICBSdW5Mb29wOjppbml0aWFsaXpl
TWFpblJ1bkxvb3AoKTsKKyAgICBSdW5Mb29wOjppbml0aWFsaXplTWFpbigpOwogI2VuZGlmCiAg
ICAgc2VuZFVzZXJDaGFuZ2VOb3RpZmljYXRpb25zKCk7CiB9CkluZGV4OiBTb3VyY2UvV2ViS2l0
TGVnYWN5L21hYy9XZWJDb3JlU3VwcG9ydC9XZWJFZGl0b3JDbGllbnQubW0KPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gU291cmNlL1dlYktpdExlZ2FjeS9tYWMvV2ViQ29yZVN1cHBvcnQvV2ViRWRpdG9yQ2xpZW50
Lm1tCShyZXZpc2lvbiAyNjI4NzIpCisrKyBTb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9XZWJDb3Jl
U3VwcG9ydC9XZWJFZGl0b3JDbGllbnQubW0JKHdvcmtpbmcgY29weSkKQEAgLTEzOSw3ICsxMzks
NyBAQCArICh2b2lkKWluaXRpYWxpemUKIHsKICNpZiAhUExBVEZPUk0oSU9TX0ZBTUlMWSkKICAg
ICBKU0M6OmluaXRpYWxpemVUaHJlYWRpbmcoKTsKLSAgICBSdW5Mb29wOjppbml0aWFsaXplTWFp
blJ1bkxvb3AoKTsKKyAgICBSdW5Mb29wOjppbml0aWFsaXplTWFpbigpOwogI2VuZGlmCiB9CiAK
SW5kZXg6IFNvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL1dlYkNvcmVTdXBwb3J0L1dlYkZyYW1lTG9h
ZGVyQ2xpZW50Lm1tCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL1dlYkNv
cmVTdXBwb3J0L1dlYkZyYW1lTG9hZGVyQ2xpZW50Lm1tCShyZXZpc2lvbiAyNjI4NzIpCisrKyBT
b3VyY2UvV2ViS2l0TGVnYWN5L21hYy9XZWJDb3JlU3VwcG9ydC9XZWJGcmFtZUxvYWRlckNsaWVu
dC5tbQkod29ya2luZyBjb3B5KQpAQCAtMjM0Myw3ICsyMzQzLDcgQEAgKyAodm9pZClpbml0aWFs
aXplCiB7CiAjaWYgIVBMQVRGT1JNKElPU19GQU1JTFkpCiAgICAgSlNDOjppbml0aWFsaXplVGhy
ZWFkaW5nKCk7Ci0gICAgUnVuTG9vcDo6aW5pdGlhbGl6ZU1haW5SdW5Mb29wKCk7CisgICAgUnVu
TG9vcDo6aW5pdGlhbGl6ZU1haW4oKTsKICNlbmRpZgogfQogCkluZGV4OiBTb3VyY2UvV2ViS2l0
TGVnYWN5L21hYy9XZWJWaWV3L1dlYkFyY2hpdmUubW0KPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dl
YktpdExlZ2FjeS9tYWMvV2ViVmlldy9XZWJBcmNoaXZlLm1tCShyZXZpc2lvbiAyNjI4NzIpCisr
KyBTb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9XZWJWaWV3L1dlYkFyY2hpdmUubW0JKHdvcmtpbmcg
Y29weSkKQEAgLTcwLDcgKzcwLDcgQEAgKyAodm9pZClpbml0aWFsaXplCiB7CiAjaWYgIVBMQVRG
T1JNKElPU19GQU1JTFkpCiAgICAgSlNDOjppbml0aWFsaXplVGhyZWFkaW5nKCk7Ci0gICAgUnVu
TG9vcDo6aW5pdGlhbGl6ZU1haW5SdW5Mb29wKCk7CisgICAgUnVuTG9vcDo6aW5pdGlhbGl6ZU1h
aW4oKTsKICNlbmRpZgogfQogCkluZGV4OiBTb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9XZWJWaWV3
L1dlYkRhdGFTb3VyY2UubW0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdExlZ2FjeS9tYWMv
V2ViVmlldy9XZWJEYXRhU291cmNlLm1tCShyZXZpc2lvbiAyNjI4NzIpCisrKyBTb3VyY2UvV2Vi
S2l0TGVnYWN5L21hYy9XZWJWaWV3L1dlYkRhdGFTb3VyY2UubW0JKHdvcmtpbmcgY29weSkKQEAg
LTE1NCw3ICsxNTQsNyBAQCArICh2b2lkKWluaXRpYWxpemUKICAgICBpZiAoc2VsZiA9PSBbV2Vi
RGF0YVNvdXJjZSBjbGFzc10pIHsKICNpZiAhUExBVEZPUk0oSU9TX0ZBTUlMWSkKICAgICAgICAg
SlNDOjppbml0aWFsaXplVGhyZWFkaW5nKCk7Ci0gICAgICAgIFJ1bkxvb3A6OmluaXRpYWxpemVN
YWluUnVuTG9vcCgpOworICAgICAgICBSdW5Mb29wOjppbml0aWFsaXplTWFpbigpOwogI2VuZGlm
CiAgICAgfQogfQpJbmRleDogU291cmNlL1dlYktpdExlZ2FjeS9tYWMvV2ViVmlldy9XZWJIVE1M
Vmlldy5tbQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9XZWJWaWV3L1dl
YkhUTUxWaWV3Lm1tCShyZXZpc2lvbiAyNjI4NzIpCisrKyBTb3VyY2UvV2ViS2l0TGVnYWN5L21h
Yy9XZWJWaWV3L1dlYkhUTUxWaWV3Lm1tCSh3b3JraW5nIGNvcHkpCkBAIC0xMDMyLDcgKzEwMzIs
NyBAQCArICh2b2lkKWluaXRpYWxpemUKICAgICAvLyBBbmQgc29tZSBvZiB0aGlzIHdvcmsgaXMg
bGlrZWx5IHJlZHVuZGFudCBzaW5jZSArW1dlYkhUTUxWaWV3IGluaXRpYWxpemVdIGlzIGd1YXJh
bnRlZWQgdG8gcnVuIGZpcnN0LgogCiAgICAgSlNDOjppbml0aWFsaXplVGhyZWFkaW5nKCk7Ci0g
ICAgUnVuTG9vcDo6aW5pdGlhbGl6ZU1haW5SdW5Mb29wKCk7CisgICAgUnVuTG9vcDo6aW5pdGlh
bGl6ZU1haW4oKTsKIAogICAgIGlmICghb2xkU2V0Q3Vyc29yRm9yTW91c2VMb2NhdGlvbklNUCkg
ewogICAgICAgICBNZXRob2Qgc2V0Q3Vyc29yTWV0aG9kID0gY2xhc3NfZ2V0SW5zdGFuY2VNZXRo
b2QoW05TV2luZG93IGNsYXNzXSwgQHNlbGVjdG9yKF9zZXRDdXJzb3JGb3JNb3VzZUxvY2F0aW9u
OikpOwpAQCAtMjU2Niw3ICsyNTY2LDcgQEAgKyAodm9pZClpbml0aWFsaXplCiAgICAgW05TQXBw
IHJlZ2lzdGVyU2VydmljZXNNZW51U2VuZFR5cGVzOltbc2VsZiBjbGFzc10gX3NlbGVjdGlvblBh
c3RlYm9hcmRUeXBlc10gcmV0dXJuVHlwZXM6W1tzZWxmIGNsYXNzXSBfaW5zZXJ0YWJsZVBhc3Rl
Ym9hcmRUeXBlc11dOwogCiAgICAgSlNDOjppbml0aWFsaXplVGhyZWFkaW5nKCk7Ci0gICAgUnVu
TG9vcDo6aW5pdGlhbGl6ZU1haW5SdW5Mb29wKCk7CisgICAgUnVuTG9vcDo6aW5pdGlhbGl6ZU1h
aW4oKTsKIH0KIAogI2VuZGlmCkluZGV4OiBTb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9XZWJWaWV3
L1dlYlByZWZlcmVuY2VzLm1tCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXRMZWdhY3kvbWFj
L1dlYlZpZXcvV2ViUHJlZmVyZW5jZXMubW0JKHJldmlzaW9uIDI2Mjg3MikKKysrIFNvdXJjZS9X
ZWJLaXRMZWdhY3kvbWFjL1dlYlZpZXcvV2ViUHJlZmVyZW5jZXMubW0JKHdvcmtpbmcgY29weSkK
QEAgLTM4OCw3ICszODgsNyBAQCArICh2b2lkKWluaXRpYWxpemUKIHsKICNpZiAhUExBVEZPUk0o
SU9TX0ZBTUlMWSkKICAgICBKU0M6OmluaXRpYWxpemVUaHJlYWRpbmcoKTsKLSAgICBSdW5Mb29w
Ojppbml0aWFsaXplTWFpblJ1bkxvb3AoKTsKKyAgICBSdW5Mb29wOjppbml0aWFsaXplTWFpbigp
OwogICAgIGJvb2wgYXR0YWNobWVudEVsZW1lbnRFbmFibGVkID0gTWFjQXBwbGljYXRpb246Omlz
QXBwbGVNYWlsKCk7CiAgICAgYm9vbCB3ZWJTUUxFbmFibGVkID0gZmFsc2U7CiAjZWxzZQpJbmRl
eDogU291cmNlL1dlYktpdExlZ2FjeS9tYWMvV2ViVmlldy9XZWJSZXNvdXJjZS5tbQo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBTb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9XZWJWaWV3L1dlYlJlc291cmNlLm1tCShy
ZXZpc2lvbiAyNjI4NzIpCisrKyBTb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9XZWJWaWV3L1dlYlJl
c291cmNlLm1tCSh3b3JraW5nIGNvcHkpCkBAIC02OCw3ICs2OCw3IEBAICsgKHZvaWQpaW5pdGlh
bGl6ZQogewogI2lmICFQTEFURk9STShJT1NfRkFNSUxZKQogICAgIEpTQzo6aW5pdGlhbGl6ZVRo
cmVhZGluZygpOwotICAgIFJ1bkxvb3A6OmluaXRpYWxpemVNYWluUnVuTG9vcCgpOworICAgIFJ1
bkxvb3A6OmluaXRpYWxpemVNYWluKCk7CiAjZW5kaWYKIH0KIApJbmRleDogU291cmNlL1dlYktp
dExlZ2FjeS9tYWMvV2ViVmlldy9XZWJUZXh0SXRlcmF0b3IubW0KPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL1dlYktpdExlZ2FjeS9tYWMvV2ViVmlldy9XZWJUZXh0SXRlcmF0b3IubW0JKHJldmlzaW9u
IDI2Mjg3MikKKysrIFNvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL1dlYlZpZXcvV2ViVGV4dEl0ZXJh
dG9yLm1tCSh3b3JraW5nIGNvcHkpCkBAIC00OCw3ICs0OCw3IEBAICsgKHZvaWQpaW5pdGlhbGl6
ZQogewogI2lmICFQTEFURk9STShJT1NfRkFNSUxZKQogICAgIEpTQzo6aW5pdGlhbGl6ZVRocmVh
ZGluZygpOwotICAgIFJ1bkxvb3A6OmluaXRpYWxpemVNYWluUnVuTG9vcCgpOworICAgIFJ1bkxv
b3A6OmluaXRpYWxpemVNYWluKCk7CiAjZW5kaWYKIH0KIApJbmRleDogU291cmNlL1dlYktpdExl
Z2FjeS9tYWMvV2ViVmlldy9XZWJWaWV3Lm1tCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXRM
ZWdhY3kvbWFjL1dlYlZpZXcvV2ViVmlldy5tbQkocmV2aXNpb24gMjYyODcyKQorKysgU291cmNl
L1dlYktpdExlZ2FjeS9tYWMvV2ViVmlldy9XZWJWaWV3Lm1tCSh3b3JraW5nIGNvcHkpCkBAIC01
NTIwLDcgKzU1MjAsNyBAQCArICh2b2lkKWluaXRpYWxpemUKIAogI2lmICFQTEFURk9STShJT1Nf
RkFNSUxZKQogICAgIEpTQzo6aW5pdGlhbGl6ZVRocmVhZGluZygpOwotICAgIFJ1bkxvb3A6Omlu
aXRpYWxpemVNYWluUnVuTG9vcCgpOworICAgIFJ1bkxvb3A6OmluaXRpYWxpemVNYWluKCk7CiAj
ZW5kaWYKIAogICAgIFdURjo6UmVmQ291bnRlZEJhc2U6OmVuYWJsZVRocmVhZGluZ0NoZWNrc0ds
b2JhbGx5KCk7CkluZGV4OiBTb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9XZWJWaWV3L1dlYlZpZXdE
YXRhLm1tCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL1dlYlZpZXcvV2Vi
Vmlld0RhdGEubW0JKHJldmlzaW9uIDI2Mjg3MikKKysrIFNvdXJjZS9XZWJLaXRMZWdhY3kvbWFj
L1dlYlZpZXcvV2ViVmlld0RhdGEubW0JKHdvcmtpbmcgY29weSkKQEAgLTE2OCw3ICsxNjgsNyBA
QCArICh2b2lkKWluaXRpYWxpemUKIHsKICNpZiAhUExBVEZPUk0oSU9TX0ZBTUlMWSkKICAgICBK
U0M6OmluaXRpYWxpemVUaHJlYWRpbmcoKTsKLSAgICBSdW5Mb29wOjppbml0aWFsaXplTWFpblJ1
bkxvb3AoKTsKKyAgICBSdW5Mb29wOjppbml0aWFsaXplTWFpbigpOwogI2VuZGlmCiB9CiAKSW5k
ZXg6IFNvdXJjZS9XZWJLaXRMZWdhY3kvd2luL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3Vy
Y2UvV2ViS2l0TGVnYWN5L3dpbi9DaGFuZ2VMb2cJKHJldmlzaW9uIDI2Mjg3MikKKysrIFNvdXJj
ZS9XZWJLaXRMZWdhY3kvd2luL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDE1
IEBACisyMDIwLTA2LTEwICBHZW9mZnJleSBHYXJlbiAgPGdnYXJlbkBhcHBsZS5jb20+CisKKyAg
ICAgICAgU29tZSBzdHlsZSBpbXByb3ZlbWVudHMgdG8gbWFpbiB0aHJlYWQgY29kZQorICAgICAg
ICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjEzMDUxCisKKyAgICAg
ICAgUmV2aWV3ZWQgYnkgRGFyaW4gQWRsZXIuCisKKyAgICAgICAgVXBkYXRlZCBmb3IgcmVuYW1l
LgorCisgICAgICAgICogV2ViVmlldy5jcHA6CisgICAgICAgIChXZWJWaWV3OjpXZWJWaWV3KToK
KwogMjAyMC0wNi0wOCAgRGF2aWQgS2lsemVyICA8ZGRraWx6ZXJAYXBwbGUuY29tPgogCiAgICAg
ICAgIFtJUENdIEFkb3B0IGVudW0gY2xhc3MgZm9yIERyYWdPcGVyYXRpb24KSW5kZXg6IFNvdXJj
ZS9XZWJLaXRMZWdhY3kvd2luL1dlYlZpZXcuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJL
aXRMZWdhY3kvd2luL1dlYlZpZXcuY3BwCShyZXZpc2lvbiAyNjI4NzIpCisrKyBTb3VyY2UvV2Vi
S2l0TGVnYWN5L3dpbi9XZWJWaWV3LmNwcAkod29ya2luZyBjb3B5KQpAQCAtNDIxLDcgKzQyMSw3
IEBAIGJvb2wgV2ViVmlldzo6c19hbGxvd1NpdGVTcGVjaWZpY0hhY2tzID0KIFdlYlZpZXc6Oldl
YlZpZXcoKQogewogICAgIEpTQzo6aW5pdGlhbGl6ZVRocmVhZGluZygpOwotICAgIFJ1bkxvb3A6
OmluaXRpYWxpemVNYWluUnVuTG9vcCgpOworICAgIFJ1bkxvb3A6OmluaXRpYWxpemVNYWluKCk7
CiAgICAgV1RGOjpzZXRQcm9jZXNzUHJpdmlsZWdlcyhhbGxQcml2aWxlZ2VzKCkpOwogICAgIFdl
YkNvcmU6Ok5ldHdvcmtTdG9yYWdlU2Vzc2lvbjo6cGVybWl0UHJvY2Vzc1RvVXNlQ29va2llQVBJ
KHRydWUpOwogCkluZGV4OiBUb29scy9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gVG9vbHMvQ2hh
bmdlTG9nCShyZXZpc2lvbiAyNjI4NzIpCisrKyBUb29scy9DaGFuZ2VMb2cJKHdvcmtpbmcgY29w
eSkKQEAgLTEsMyArMSwzMyBAQAorMjAyMC0wNi0xMCAgR2VvZmZyZXkgR2FyZW4gIDxnZ2FyZW5A
YXBwbGUuY29tPgorCisgICAgICAgIFNvbWUgc3R5bGUgaW1wcm92ZW1lbnRzIHRvIG1haW4gdGhy
ZWFkIGNvZGUKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lk
PTIxMzA1MQorCisgICAgICAgIFJldmlld2VkIGJ5IERhcmluIEFkbGVyLgorCisgICAgICAgIFVw
ZGF0ZWQgZm9yIHJlbmFtZS4KKyAgICAgICAgCisgICAgICAgICogVGVzdFdlYktpdEFQSS9UZXN0
cy9XVEYvUmVmUHRyLmNwcDoKKyAgICAgICAgKFRlc3RXZWJLaXRBUEk6OlRFU1QpOgorICAgICAg
ICAqIFRlc3RXZWJLaXRBUEkvVGVzdHMvV1RGL1J1bkxvb3AuY3BwOgorICAgICAgICAoVGVzdFdl
YktpdEFQSTo6VEVTVCk6CisgICAgICAgICogVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJDb3JlL0Fi
b3J0YWJsZVRhc2tRdWV1ZS5jcHA6CisgICAgICAgIChUZXN0V2ViS2l0QVBJOjpURVNUKToKKyAg
ICAgICAgKiBUZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYkNvcmUvQXBwbGljYXRpb25NYW5pZmVzdFBh
cnNlci5jcHA6CisgICAgICAgIChBcHBsaWNhdGlvbk1hbmlmZXN0UGFyc2VyVGVzdDo6U2V0VXAp
OgorICAgICAgICAqIFRlc3RXZWJLaXRBUEkvVGVzdHMvV2ViQ29yZS9Db21wbGV4VGV4dENvbnRy
b2xsZXIuY3BwOgorICAgICAgICAoVGVzdFdlYktpdEFQSTo6Q29tcGxleFRleHRDb250cm9sbGVy
VGVzdDo6U2V0VXApOgorICAgICAgICAqIFRlc3RXZWJLaXRBUEkvVGVzdHMvV2ViQ29yZS9Db250
ZW50RXh0ZW5zaW9ucy5jcHA6CisgICAgICAgIChUZXN0V2ViS2l0QVBJOjpDb250ZW50RXh0ZW5z
aW9uVGVzdDo6U2V0VXApOgorICAgICAgICAqIFRlc3RXZWJLaXRBUEkvVGVzdHMvV2ViQ29yZS9E
TlMuY3BwOgorICAgICAgICAoVGVzdFdlYktpdEFQSTo6VEVTVCk6CisgICAgICAgICogVGVzdFdl
YktpdEFQSS9UZXN0cy9XZWJDb3JlL0ZpbGVNb25pdG9yLmNwcDoKKyAgICAgICAgKFRlc3RXZWJL
aXRBUEk6OlRFU1RfRik6CisgICAgICAgICogVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXRDb2Nv
YS9JbkFwcEJyb3dzZXJQcml2YWN5Lm1tOgorICAgICAgICAoaW5pdGlhbGl6ZUluQXBwQnJvd3Nl
clByaXZhY3lUZXN0U2V0dGluZ3MpOgorICAgICAgICAqIFdlYktpdFRlc3RSdW5uZXIvVGVzdENv
bnRyb2xsZXIuY3BwOgorICAgICAgICAoV1RSOjpUZXN0Q29udHJvbGxlcjo6aW5pdGlhbGl6ZSk6
CisKIDIwMjAtMDYtMTAgIEtlaXRoIE1pbGxlciAgPGtlaXRoX21pbGxlckBhcHBsZS5jb20+CiAK
ICAgICAgICAgcnVuLWpzYy1zdHJlc3MtdGVzdHMgc2hvdWxkIHNraXAgdGVzdHMgbWFya2VkIGFz
IHNsb3cgaW4gcXVpY2sgbW9kZS4KSW5kZXg6IFRvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV1RG
L1JlZlB0ci5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XVEYv
UmVmUHRyLmNwcAkocmV2aXNpb24gMjYyODcyKQorKysgVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0
cy9XVEYvUmVmUHRyLmNwcAkod29ya2luZyBjb3B5KQpAQCAtNTg1LDcgKzU4NSw3IEBAIFRFU1Qo
V1RGX1JlZlB0ciwgUmVsZWFzZUluTm9uTWFpblRocmVhZCkKIAogVEVTVChXVEZfUmVmUHRyLCBS
ZWxlYXNlSW5Ob25NYWluVGhyZWFkRGVzdHJveUluTWFpblRocmVhZCkKIHsKLSAgICBSdW5Mb29w
Ojppbml0aWFsaXplTWFpblJ1bkxvb3AoKTsKKyAgICBSdW5Mb29wOjppbml0aWFsaXplTWFpbigp
OwogICAgIGRvbmUgPSBmYWxzZTsKICAgICBUaHJlYWQ6OmNyZWF0ZSgiIiwgW29iamVjdCA9IE1h
aW5UaHJlYWRTYWZlUmVmQ291bnRlZE9iamVjdDo6Y3JlYXRlKCldIHsgfSk7CiAgICAgVGVzdFdl
YktpdEFQSTo6VXRpbDo6cnVuKCZkb25lKTsKSW5kZXg6IFRvb2xzL1Rlc3RXZWJLaXRBUEkvVGVz
dHMvV1RGL1J1bkxvb3AuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFRvb2xzL1Rlc3RXZWJLaXRBUEkvVGVz
dHMvV1RGL1J1bkxvb3AuY3BwCShyZXZpc2lvbiAyNjI4NzIpCisrKyBUb29scy9UZXN0V2ViS2l0
QVBJL1Rlc3RzL1dURi9SdW5Mb29wLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMzYsNyArMzYsNyBA
QCBzdGF0aWMgaW50IGNvdW50ID0gMTAwOwogCiBURVNUKFdURl9SdW5Mb29wLCBEZWFkbG9jaykK
IHsKLSAgICBSdW5Mb29wOjppbml0aWFsaXplTWFpblJ1bkxvb3AoKTsKKyAgICBSdW5Mb29wOjpp
bml0aWFsaXplTWFpbigpOwogCiAgICAgc3RydWN0IERpc3BhdGNoRnJvbURlc3RydWN0b3JUZXN0
ZXIgewogICAgICAgICB+RGlzcGF0Y2hGcm9tRGVzdHJ1Y3RvclRlc3RlcigpIHsKQEAgLTc2LDcg
Kzc2LDcgQEAgcHJpdmF0ZToKIAogVEVTVChXVEZfUnVuTG9vcCwgT25lU2hvdFRpbWVyKQogewot
ICAgIFJ1bkxvb3A6OmluaXRpYWxpemVNYWluUnVuTG9vcCgpOworICAgIFJ1bkxvb3A6OmluaXRp
YWxpemVNYWluKCk7CiAKICAgICBib29sIHRlc3RGaW5pc2hlZCA9IGZhbHNlOwogICAgIERlcml2
ZWRPbmVTaG90VGltZXIgdGltZXIodGVzdEZpbmlzaGVkKTsKQEAgLTEwOCw3ICsxMDgsNyBAQCBw
cml2YXRlOgogCiBURVNUKFdURl9SdW5Mb29wLCBSZXBlYXRpbmdUaW1lcikKIHsKLSAgICBSdW5M
b29wOjppbml0aWFsaXplTWFpblJ1bkxvb3AoKTsKKyAgICBSdW5Mb29wOjppbml0aWFsaXplTWFp
bigpOwogCiAgICAgYm9vbCB0ZXN0RmluaXNoZWQgPSBmYWxzZTsKICAgICBEZXJpdmVkUmVwZWF0
aW5nVGltZXIgdGltZXIodGVzdEZpbmlzaGVkKTsKSW5kZXg6IFRvb2xzL1Rlc3RXZWJLaXRBUEkv
VGVzdHMvV2ViQ29yZS9BYm9ydGFibGVUYXNrUXVldWUuY3BwCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFRvb2xz
L1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViQ29yZS9BYm9ydGFibGVUYXNrUXVldWUuY3BwCShyZXZp
c2lvbiAyNjI4NzIpCisrKyBUb29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYkNvcmUvQWJvcnRh
YmxlVGFza1F1ZXVlLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMzksNyArMzksNyBAQCBURVNUKEFi
b3J0YWJsZVRhc2tRdWV1ZSwgQXN5bmNUYXNrcykKICAgICBBYm9ydGFibGVUYXNrUXVldWUgdGFz
a1F1ZXVlOwogICAgIGJvb2wgdGVzdEZpbmlzaGVkIHsgZmFsc2UgfTsKICAgICBpbnQgY3VycmVu
dFN0ZXAgeyAwIH07Ci0gICAgUnVuTG9vcDo6aW5pdGlhbGl6ZU1haW5SdW5Mb29wKCk7CisgICAg
UnVuTG9vcDo6aW5pdGlhbGl6ZU1haW4oKTsKIAogICAgIGF1dG8gYmFja2dyb3VuZFRocmVhZEZ1
bmN0aW9uID0gWyZdKCkgewogICAgICAgICBFWFBFQ1RfRkFMU0UoaXNNYWluVGhyZWFkKCkpOwpA
QCAtMTAxLDcgKzEwMSw3IEBAIFRFU1QoQWJvcnRhYmxlVGFza1F1ZXVlLCBTeW5jVGFza3MpCiAg
ICAgYm9vbCB0ZXN0RmluaXNoZWQgeyBmYWxzZSB9OwogICAgIGJvb2wgZGVzdHJ1Y3RlZFJlc3Bv
bnNlRmxhZyB7IGZhbHNlIH07CiAgICAgaW50IGN1cnJlbnRTdGVwIHsgMCB9OwotICAgIFJ1bkxv
b3A6OmluaXRpYWxpemVNYWluUnVuTG9vcCgpOworICAgIFJ1bkxvb3A6OmluaXRpYWxpemVNYWlu
KCk7CiAKICAgICBhdXRvIGJhY2tncm91bmRUaHJlYWRGdW5jdGlvbiA9IFsmXSgpIHsKICAgICAg
ICAgRVhQRUNUX0ZBTFNFKGlzTWFpblRocmVhZCgpKTsKQEAgLTE4Myw3ICsxODMsNyBAQCBURVNU
KEFib3J0YWJsZVRhc2tRdWV1ZSwgQWJvcnQpCiAKICAgICBBYm9ydGFibGVUYXNrUXVldWUgdGFz
a1F1ZXVlOwogICAgIGJvb2wgdGVzdEZpbmlzaGVkIHsgZmFsc2UgfTsKLSAgICBSdW5Mb29wOjpp
bml0aWFsaXplTWFpblJ1bkxvb3AoKTsKKyAgICBSdW5Mb29wOjppbml0aWFsaXplTWFpbigpOwog
CiAgICAgYXV0byBiYWNrZ3JvdW5kVGhyZWFkRnVuY3Rpb24gPSBbJl0oKSB7CiAgICAgICAgIEVY
UEVDVF9GQUxTRShpc01haW5UaHJlYWQoKSk7CkBAIC0yNDAsNyArMjQwLDcgQEAgVEVTVChBYm9y
dGFibGVUYXNrUXVldWUsIEFib3J0QmVmb3JlU3luYwogewogICAgIEFib3J0YWJsZVRhc2tRdWV1
ZSB0YXNrUXVldWU7CiAgICAgYm9vbCB0ZXN0RmluaXNoZWQgeyBmYWxzZSB9OwotICAgIFJ1bkxv
b3A6OmluaXRpYWxpemVNYWluUnVuTG9vcCgpOworICAgIFJ1bkxvb3A6OmluaXRpYWxpemVNYWlu
KCk7CiAKICAgICBhdXRvIGJhY2tncm91bmRUaHJlYWRGdW5jdGlvbiA9IFsmXSgpIHsKICAgICAg
ICAgRVhQRUNUX0ZBTFNFKGlzTWFpblRocmVhZCgpKTsKQEAgLTI3Nyw3ICsyNzcsNyBAQCBURVNU
KEFib3J0YWJsZVRhc2tRdWV1ZSwgQWJvcnRlZEJ5U3luY1RhCiAgICAgYm9vbCB0ZXN0RmluaXNo
ZWQgeyBmYWxzZSB9OwogICAgIGludCBjdXJyZW50U3RlcCB7IDAgfTsKICAgICBib29sIGRlc3Ry
dWN0ZWRSZXNwb25zZUZsYWcgeyBmYWxzZSB9OwotICAgIFJ1bkxvb3A6OmluaXRpYWxpemVNYWlu
UnVuTG9vcCgpOworICAgIFJ1bkxvb3A6OmluaXRpYWxpemVNYWluKCk7CiAKICAgICBhdXRvIGJh
Y2tncm91bmRUaHJlYWRGdW5jdGlvbiA9IFsmXSgpIHsKICAgICAgICAgRVhQRUNUX0ZBTFNFKGlz
TWFpblRocmVhZCgpKTsKSW5kZXg6IFRvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViQ29yZS9B
cHBsaWNhdGlvbk1hbmlmZXN0UGFyc2VyLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBUb29scy9UZXN0V2Vi
S2l0QVBJL1Rlc3RzL1dlYkNvcmUvQXBwbGljYXRpb25NYW5pZmVzdFBhcnNlci5jcHAJKHJldmlz
aW9uIDI2Mjg3MikKKysrIFRvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViQ29yZS9BcHBsaWNh
dGlvbk1hbmlmZXN0UGFyc2VyLmNwcAkod29ya2luZyBjb3B5KQpAQCAtNTcsNyArNTcsNyBAQCBw
dWJsaWM6CiAgICAgdmlydHVhbCB2b2lkIFNldFVwKCkKICAgICB7CiAgICAgICAgIEpTQzo6aW5p
dGlhbGl6ZVRocmVhZGluZygpOwotICAgICAgICBSdW5Mb29wOjppbml0aWFsaXplTWFpblJ1bkxv
b3AoKTsKKyAgICAgICAgUnVuTG9vcDo6aW5pdGlhbGl6ZU1haW4oKTsKIAogICAgICAgICBtX21h
bmlmZXN0VVJMID0geyB7IH0sICJodHRwczovL2V4YW1wbGUuY29tL21hbmlmZXN0Lmpzb24iIH07
CiAgICAgICAgIG1fZG9jdW1lbnRVUkwgPSB7IHsgfSwgImh0dHBzOi8vZXhhbXBsZS5jb20vIiB9
OwpJbmRleDogVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJDb3JlL0NvbXBsZXhUZXh0Q29u
dHJvbGxlci5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJD
b3JlL0NvbXBsZXhUZXh0Q29udHJvbGxlci5jcHAJKHJldmlzaW9uIDI2Mjg3MikKKysrIFRvb2xz
L1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViQ29yZS9Db21wbGV4VGV4dENvbnRyb2xsZXIuY3BwCSh3
b3JraW5nIGNvcHkpCkBAIC00MCw3ICs0MCw3IEBAIHB1YmxpYzoKICAgICB2aXJ0dWFsIHZvaWQg
U2V0VXAoKQogICAgIHsKICAgICAgICAgSlNDOjppbml0aWFsaXplVGhyZWFkaW5nKCk7Ci0gICAg
ICAgIFJ1bkxvb3A6OmluaXRpYWxpemVNYWluUnVuTG9vcCgpOworICAgICAgICBSdW5Mb29wOjpp
bml0aWFsaXplTWFpbigpOwogICAgIH0KIH07CiAKSW5kZXg6IFRvb2xzL1Rlc3RXZWJLaXRBUEkv
VGVzdHMvV2ViQ29yZS9Db250ZW50RXh0ZW5zaW9ucy5jcHAKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gVG9vbHMv
VGVzdFdlYktpdEFQSS9UZXN0cy9XZWJDb3JlL0NvbnRlbnRFeHRlbnNpb25zLmNwcAkocmV2aXNp
b24gMjYyODcyKQorKysgVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJDb3JlL0NvbnRlbnRF
eHRlbnNpb25zLmNwcAkod29ya2luZyBjb3B5KQpAQCAtNzYsNyArNzYsNyBAQCBwdWJsaWM6CiAg
ICAgdmlydHVhbCB2b2lkIFNldFVwKCkKICAgICB7CiAgICAgICAgIEpTQzo6aW5pdGlhbGl6ZVRo
cmVhZGluZygpOwotICAgICAgICBSdW5Mb29wOjppbml0aWFsaXplTWFpblJ1bkxvb3AoKTsKKyAg
ICAgICAgUnVuTG9vcDo6aW5pdGlhbGl6ZU1haW4oKTsKICAgICB9CiB9OwogCkluZGV4OiBUb29s
cy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYkNvcmUvRE5TLmNwcAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBUb29s
cy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYkNvcmUvRE5TLmNwcAkocmV2aXNpb24gMjYyODcyKQor
KysgVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJDb3JlL0ROUy5jcHAJKHdvcmtpbmcgY29w
eSkKQEAgLTQxLDcgKzQxLDcgQEAgYm9vbCBkb25lID0gZmFsc2U7CiAKIFRFU1QoRE5TVGVzdCwg
Y2FuY2VsUmVzb2x2ZUROUykKIHsKLSAgICBSdW5Mb29wOjppbml0aWFsaXplTWFpblJ1bkxvb3Ao
KTsKKyAgICBSdW5Mb29wOjppbml0aWFsaXplTWFpbigpOwogCiAgICAgY29uc3QgU3RyaW5nIGhv
c3RuYW1lID0gU3RyaW5nKCJ3d3cud2Via2l0Lm9yZyIpOwogICAgIHVpbnQ2NF90IGlkZW50aWZp
ZXIgPSAxOwpAQCAtNjMsNyArNjMsNyBAQCBURVNUKEROU1Rlc3QsIGNhbmNlbFJlc29sdmVETlMp
CiAKIFRFU1QoRE5TVGVzdCwgY2Fubm90UmVzb2x2ZUROUykKIHsKLSAgICBSdW5Mb29wOjppbml0
aWFsaXplTWFpblJ1bkxvb3AoKTsKKyAgICBSdW5Mb29wOjppbml0aWFsaXplTWFpbigpOwogCiAg
ICAgY29uc3QgU3RyaW5nIGhvc3RuYW1lID0gU3RyaW5nKCJub3RhdmFsaWRkb21haW4ubm90YXZh
bGlkZG9tYWluIik7CiAgICAgdWludDY0X3QgaWRlbnRpZmllciA9IDE7CkBAIC04NCw3ICs4NCw3
IEBAIFRFU1QoRE5TVGVzdCwgY2Fubm90UmVzb2x2ZUROUykKIAogVEVTVChETlNUZXN0LCByZXNv
bHZlRE5TKQogewotICAgIFJ1bkxvb3A6OmluaXRpYWxpemVNYWluUnVuTG9vcCgpOworICAgIFJ1
bkxvb3A6OmluaXRpYWxpemVNYWluKCk7CiAKICAgICBjb25zdCBTdHJpbmcgaG9zdG5hbWUgPSBT
dHJpbmcoInd3dy53ZWJraXQub3JnIik7CiAgICAgdWludDY0X3QgaWRlbnRpZmllciA9IDE7Cklu
ZGV4OiBUb29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYkNvcmUvRmlsZU1vbml0b3IuY3BwCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFRvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViQ29yZS9GaWxlTW9uaXRv
ci5jcHAJKHJldmlzaW9uIDI2Mjg3MikKKysrIFRvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2Vi
Q29yZS9GaWxlTW9uaXRvci5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTUyLDcgKzUyLDcgQEAgY2xh
c3MgRmlsZU1vbml0b3JUZXN0IDogcHVibGljIHRlc3Rpbmc6OgogcHVibGljOgogICAgIHZvaWQg
U2V0VXAoKSBvdmVycmlkZQogICAgIHsKLSAgICAgICAgUnVuTG9vcDo6aW5pdGlhbGl6ZU1haW5S
dW5Mb29wKCk7CisgICAgICAgIFJ1bkxvb3A6OmluaXRpYWxpemVNYWluKCk7CiAgICAgICAgIAog
ICAgICAgICAvLyBjcmVhdGUgdGVtcCBmaWxlCiAgICAgICAgIEZpbGVTeXN0ZW06OlBsYXRmb3Jt
RmlsZUhhbmRsZSBoYW5kbGU7CkBAIC0xNDQsNyArMTQ0LDcgQEAgVEVTVF9GKEZpbGVNb25pdG9y
VGVzdCwgRGV0ZWN0Q2hhbmdlKQogewogICAgIEVYUEVDVF9UUlVFKEZpbGVTeXN0ZW06OmZpbGVF
eGlzdHModGVtcEZpbGVQYXRoKCkpKTsKIAotICAgIFJ1bkxvb3A6OmluaXRpYWxpemVNYWluUnVu
TG9vcCgpOworICAgIFJ1bkxvb3A6OmluaXRpYWxpemVNYWluKCk7CiAKICAgICBhdXRvIHRlc3RR
dWV1ZSA9IFdvcmtRdWV1ZTo6Y3JlYXRlKCJUZXN0IFdvcmsgUXVldWUiKTsKIApAQCAtMTg2LDcg
KzE4Niw3IEBAIFRFU1RfRihGaWxlTW9uaXRvclRlc3QsIERldGVjdE11bHRpcGxlQ2gKIHsKICAg
ICBFWFBFQ1RfVFJVRShGaWxlU3lzdGVtOjpmaWxlRXhpc3RzKHRlbXBGaWxlUGF0aCgpKSk7CiAK
LSAgICBSdW5Mb29wOjppbml0aWFsaXplTWFpblJ1bkxvb3AoKTsKKyAgICBSdW5Mb29wOjppbml0
aWFsaXplTWFpbigpOwogCiAgICAgYXV0byB0ZXN0UXVldWUgPSBXb3JrUXVldWU6OmNyZWF0ZSgi
VGVzdCBXb3JrIFF1ZXVlIik7CiAKQEAgLTI0Niw3ICsyNDYsNyBAQCBURVNUX0YoRmlsZU1vbml0
b3JUZXN0LCBEZXRlY3REZWxldGlvbikKIHsKICAgICBFWFBFQ1RfVFJVRShGaWxlU3lzdGVtOjpm
aWxlRXhpc3RzKHRlbXBGaWxlUGF0aCgpKSk7CiAKLSAgICBSdW5Mb29wOjppbml0aWFsaXplTWFp
blJ1bkxvb3AoKTsKKyAgICBSdW5Mb29wOjppbml0aWFsaXplTWFpbigpOwogCiAgICAgYXV0byB0
ZXN0UXVldWUgPSBXb3JrUXVldWU6OmNyZWF0ZSgiVGVzdCBXb3JrIFF1ZXVlIik7CiAKQEAgLTI4
NSw3ICsyODUsNyBAQCBURVNUX0YoRmlsZU1vbml0b3JUZXN0LCBEZXRlY3RDaGFuZ2VBbmRUCiB7
CiAgICAgRVhQRUNUX1RSVUUoRmlsZVN5c3RlbTo6ZmlsZUV4aXN0cyh0ZW1wRmlsZVBhdGgoKSkp
OwogCi0gICAgUnVuTG9vcDo6aW5pdGlhbGl6ZU1haW5SdW5Mb29wKCk7CisgICAgUnVuTG9vcDo6
aW5pdGlhbGl6ZU1haW4oKTsKIAogICAgIGF1dG8gdGVzdFF1ZXVlID0gV29ya1F1ZXVlOjpjcmVh
dGUoIlRlc3QgV29yayBRdWV1ZSIpOwogCkBAIC0zNDIsNyArMzQyLDcgQEAgVEVTVF9GKEZpbGVN
b25pdG9yVGVzdCwgRGV0ZWN0RGVsZXRlQnV0TgogewogICAgIEVYUEVDVF9UUlVFKEZpbGVTeXN0
ZW06OmZpbGVFeGlzdHModGVtcEZpbGVQYXRoKCkpKTsKIAotICAgIFJ1bkxvb3A6OmluaXRpYWxp
emVNYWluUnVuTG9vcCgpOworICAgIFJ1bkxvb3A6OmluaXRpYWxpemVNYWluKCk7CiAKICAgICBh
dXRvIHRlc3RRdWV1ZSA9IFdvcmtRdWV1ZTo6Y3JlYXRlKCJUZXN0IFdvcmsgUXVldWUiKTsKIApJ
bmRleDogVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXRDb2NvYS9JbkFwcEJyb3dzZXJQ
cml2YWN5Lm1tCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFRvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0
Q29jb2EvSW5BcHBCcm93c2VyUHJpdmFjeS5tbQkocmV2aXNpb24gMjYyODcyKQorKysgVG9vbHMv
VGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXRDb2NvYS9JbkFwcEJyb3dzZXJQcml2YWN5Lm1tCSh3
b3JraW5nIGNvcHkpCkBAIC0xMjQsNyArMTI0LDcgQEAgc3RhdGljIHZvaWQgY2xlYW5VcEluQXBw
QnJvd3NlclByaXZhY3lUZQogCiBzdGF0aWMgdm9pZCBpbml0aWFsaXplSW5BcHBCcm93c2VyUHJp
dmFjeVRlc3RTZXR0aW5ncygpCiB7Ci0gICAgUnVuTG9vcDo6aW5pdGlhbGl6ZU1haW5SdW5Mb29w
KCk7CisgICAgUnVuTG9vcDo6aW5pdGlhbGl6ZU1haW4oKTsKICAgICBXZWJDb3JlOjpjbGVhckFw
cGxpY2F0aW9uQnVuZGxlSWRlbnRpZmllclRlc3RpbmdPdmVycmlkZSgpOwogICAgIElOX0FQUF9C
Uk9XU0VSX1BSSVZBQ1lfQURESVRJT05TCiB9CkluZGV4OiBUb29scy9XZWJLaXRUZXN0UnVubmVy
L1Rlc3RDb250cm9sbGVyLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBUb29scy9XZWJLaXRUZXN0UnVubmVy
L1Rlc3RDb250cm9sbGVyLmNwcAkocmV2aXNpb24gMjYyODcyKQorKysgVG9vbHMvV2ViS2l0VGVz
dFJ1bm5lci9UZXN0Q29udHJvbGxlci5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTQ0NSw3ICs0NDUs
NyBAQCB2b2lkIFRlc3RDb250cm9sbGVyOjppbml0aWFsaXplKGludCBhcmdjCiAgICAgQXV0b2Ry
YWluZWRQb29sIHBvb2w7CiAKICAgICBKU0M6OmluaXRpYWxpemVUaHJlYWRpbmcoKTsKLSAgICBS
dW5Mb29wOjppbml0aWFsaXplTWFpblJ1bkxvb3AoKTsKKyAgICBSdW5Mb29wOjppbml0aWFsaXpl
TWFpbigpOwogICAgIFdURjo6c2V0UHJvY2Vzc1ByaXZpbGVnZXMoYWxsUHJpdmlsZWdlcygpKTsK
IAogICAgIHBsYXRmb3JtSW5pdGlhbGl6ZSgpOwo=
</data>

          </attachment>
      

    </bug>

</bugzilla>