<?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>194853</bug_id>
          
          <creation_ts>2019-02-20 02:49:50 -0800</creation_ts>
          <short_desc>[JSC][x86] Drop support for x87 floating point</short_desc>
          <delta_ts>2019-04-19 12:01:36 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>JavaScriptCore</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="Xan Lopez">xan.lopez</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>commit-queue</cc>
    
    <cc>dbates</cc>
    
    <cc>don.olmstead</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>karogyoker2+webkit</cc>
    
    <cc>keith_miller</cc>
    
    <cc>mark.lam</cc>
    
    <cc>msaboff</cc>
    
    <cc>saam</cc>
    
    <cc>ticaiolima</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>xan.lopez</cc>
    
    <cc>ysuzuki</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1508042</commentid>
    <comment_count>0</comment_count>
    <who name="Xan Lopez">xan.lopez</who>
    <bug_when>2019-02-20 02:49:50 -0800</bug_when>
    <thetext>A x86/32bit build (see bug #194147) fails a number of stress tests because of one-off rounding errors in floating point operations. This is caused by the use of extended precision FP registers, which is what x87 does unless told otherwise. We can work around this in a number of ways: forcing SSE2 for x86 at build time, forcing the use of double precision registers in x87, etc. After some digging up, though, it was noticed that other browsers are increasing their minimum requirements for intel hardware to pentium4/SSE2, as:

* Firefox: https://support.mozilla.org/en-US/kb/your-hardware-no-longer-supported
* Chrome: https://support.google.com/chrome/a/answer/7100626?hl=en

This simplifies our code, and intel hardware without SSE2 is in practice extremely rare. The following patch assumes SSE2 throughout the codebase, removes x87 support in certain places, and gets rid of a few obsolete comments. I have left in place SSE2 detection in MacroAssemblerX86 class, and required it through a static_assert. It&apos;s just a few lines of C++ code and it seems much easier than adding a lot of new CMake code to do the same thing.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1508044</commentid>
    <comment_count>1</comment_count>
      <attachid>362490</attachid>
    <who name="Xan Lopez">xan.lopez</who>
    <bug_when>2019-02-20 02:53:01 -0800</bug_when>
    <thetext>Created attachment 362490
Drop x87 support</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1508047</commentid>
    <comment_count>2</comment_count>
      <attachid>362490</attachid>
    <who name="Caio Lima">ticaiolima</who>
    <bug_when>2019-02-20 03:55:03 -0800</bug_when>
    <thetext>Comment on attachment 362490
Drop x87 support

LGTM. I wonder what EWS thinks about it.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1508048</commentid>
    <comment_count>3</comment_count>
      <attachid>362491</attachid>
    <who name="Xan Lopez">xan.lopez</who>
    <bug_when>2019-02-20 03:55:52 -0800</bug_when>
    <thetext>Created attachment 362491
Drop x87 support</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1508049</commentid>
    <comment_count>4</comment_count>
      <attachid>362492</attachid>
    <who name="Xan Lopez">xan.lopez</who>
    <bug_when>2019-02-20 04:07:35 -0800</bug_when>
    <thetext>Created attachment 362492
Drop x87 support</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1514832</commentid>
    <comment_count>5</comment_count>
      <attachid>362492</attachid>
    <who name="Keith Miller">keith_miller</who>
    <bug_when>2019-03-11 10:03:45 -0700</bug_when>
    <thetext>Comment on attachment 362492
Drop x87 support

r=me. Can we make sure no one else wants this on webkit-dev before landing though?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1514875</commentid>
    <comment_count>6</comment_count>
    <who name="Xan Lopez">xan.lopez</who>
    <bug_when>2019-03-11 11:01:20 -0700</bug_when>
    <thetext>(In reply to Keith Miller from comment #5)
&gt; Comment on attachment 362492 [details]
&gt; Drop x87 support
&gt; 
&gt; r=me. Can we make sure no one else wants this on webkit-dev before landing
&gt; though?

Sent the email, let&apos;s see: https://lists.webkit.org/pipermail/webkit-dev/2019-March/030529.html</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1514984</commentid>
    <comment_count>7</comment_count>
    <who name="Don Olmstead">don.olmstead</who>
    <bug_when>2019-03-11 14:01:33 -0700</bug_when>
    <thetext>WinCairo can technically build in 32-bit mode but we don&apos;t provide that anyways. Minimum install for Windows definitely requires a PC with SSE2 support so we&apos;re fine with this. PlayStation is x64 so again no problem.

Will let someone from the AppleWin side chime in here but honestly it doesn&apos;t seem like an issue.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1519614</commentid>
    <comment_count>8</comment_count>
      <attachid>365539</attachid>
    <who name="Xan Lopez">xan.lopez</who>
    <bug_when>2019-03-21 05:44:09 -0700</bug_when>
    <thetext>Created attachment 365539
Drop x87 support

Seems nobody has anything against this, so let&apos;s do it. Patch rebased against master.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1519661</commentid>
    <comment_count>9</comment_count>
      <attachid>365539</attachid>
    <who name="Don Olmstead">don.olmstead</who>
    <bug_when>2019-03-21 09:02:29 -0700</bug_when>
    <thetext>Comment on attachment 365539
Drop x87 support

Xan in the future after you get a r+ you can just replace the NOBODY (OOPS!) and just ask for a cq+ or if you&apos;re a committer just commit it.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1519676</commentid>
    <comment_count>10</comment_count>
      <attachid>365539</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2019-03-21 09:29:37 -0700</bug_when>
    <thetext>Comment on attachment 365539
Drop x87 support

Clearing flags on attachment: 365539

Committed r243293: &lt;https://trac.webkit.org/changeset/243293&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1519677</commentid>
    <comment_count>11</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2019-03-21 09:29:39 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1519679</commentid>
    <comment_count>12</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2019-03-21 09:30:22 -0700</bug_when>
    <thetext>&lt;rdar://problem/49109764&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1528804</commentid>
    <comment_count>13</comment_count>
    <who name="">karogyoker2+webkit</who>
    <bug_when>2019-04-19 11:37:07 -0700</bug_when>
    <thetext>(In reply to Don Olmstead from comment #7)
&gt; WinCairo can technically build in 32-bit mode but we don&apos;t provide that
&gt; anyways. Minimum install for Windows definitely requires a PC with SSE2
&gt; support so we&apos;re fine with this. PlayStation is x64 so again no problem.
&gt; 
&gt; Will let someone from the AppleWin side chime in here but honestly it
&gt; doesn&apos;t seem like an issue.

Except one thing: AMD Athlon XP processors on Linux are now cannot start the browser at all. I was using GNOME Web (epiphany-browser) on Lubuntu 18 until the latest WebKitGTK update, but since this SSE2 requirement, my computer became unable to use WebKit. So, this is an issue for me. It was working fine without SSE2, pages using JavaScript heavily (like agar.io and slither.io) and even YouTube videos worked just fine.

About one year ago I fixed the hardcoded SSE2 requirement, and it was working great until now.

Here I fixed the dependency on SSE2 last year (now it is a problem again):
https://bugs.webkit.org/show_bug.cgi?id=188145</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1528816</commentid>
    <comment_count>14</comment_count>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2019-04-19 12:01:36 -0700</bug_when>
    <thetext>(In reply to karogyoker2+webkit from comment #13)
&gt; (In reply to Don Olmstead from comment #7)
&gt; &gt; WinCairo can technically build in 32-bit mode but we don&apos;t provide that
&gt; &gt; anyways. Minimum install for Windows definitely requires a PC with SSE2
&gt; &gt; support so we&apos;re fine with this. PlayStation is x64 so again no problem.
&gt; &gt; 
&gt; &gt; Will let someone from the AppleWin side chime in here but honestly it
&gt; &gt; doesn&apos;t seem like an issue.
&gt; 
&gt; Except one thing: AMD Athlon XP processors on Linux are now cannot start the
&gt; browser at all. I was using GNOME Web (epiphany-browser) on Lubuntu 18 until
&gt; the latest WebKitGTK update, but since this SSE2 requirement, my computer
&gt; became unable to use WebKit. So, this is an issue for me. It was working
&gt; fine without SSE2, pages using JavaScript heavily (like agar.io and
&gt; slither.io) and even YouTube videos worked just fine.
&gt; 
&gt; About one year ago I fixed the hardcoded SSE2 requirement, and it was
&gt; working great until now.
&gt; 
&gt; Here I fixed the dependency on SSE2 last year (now it is a problem again):
&gt; https://bugs.webkit.org/show_bug.cgi?id=188145

We decide we no longer support it.
https://lists.webkit.org/pipermail/webkit-dev/2019-March/030569.html</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>362490</attachid>
            <date>2019-02-20 02:53:01 -0800</date>
            <delta_ts>2019-02-20 03:55:52 -0800</delta_ts>
            <desc>Drop x87 support</desc>
            <filename>drop-x87.diff</filename>
            <type>text/plain</type>
            <size>45657</size>
            <attacher name="Xan Lopez">xan.lopez</attacher>
            
              <data encoding="base64">RnJvbSA1NjM3NDI5MmUyNDNjMmQ1ODFiYjZjN2UzMzA1NjI5YjZlODBhM2U3IE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiA9P1VURi04P3E/WGFuPTIwTD1DMz1CM3Blej89IDx4YW5AaWdh
bGlhLmNvbT4KRGF0ZTogV2VkLCAyMCBGZWIgMjAxOSAxMTo1MjoxMCArMDEwMApTdWJqZWN0OiBb
UEFUQ0hdIFtKU0NdW3g4Nl0gRHJvcCBzdXBwb3J0IGZvciB4ODcgZmxvYXRpbmcgcG9pbnQKIGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xOTQ4NTMKClJldmlld2VkIGJ5
IE5PQk9EWSAoT09QUyEpLgoKU291cmNlL0phdmFTY3JpcHRDb3JlOgoKUmVxdWlyZSBTU0UyIHRo
cm91Z2hvdXQgdGhlIGNvZGViYXNlLCBhbmQgcmVtb3ZlIHg4NyBzdXBwb3J0IHdoZXJlCml0IHdh
cyBvcHRpb25hbGx5IGF2YWlsYWJsZS4gU1NFMiBkZXRlY3Rpb24gaGFwcGVucyBhdCBjb21waWxl
CnRpbWUgdGhyb3VnaCBhIHN0YXRpY19hc3NlcnQuCgoqIGFzc2VtYmxlci9NYWNyb0Fzc2VtYmxl
clg4Ni5oOgooSlNDOjpNYWNyb0Fzc2VtYmxlclg4Njo6c3RvcmVEb3VibGUpOgooSlNDOjpNYWNy
b0Fzc2VtYmxlclg4Njo6bW92ZURvdWJsZVRvSW50cyk6CihKU0M6Ok1hY3JvQXNzZW1ibGVyWDg2
OjpzdXBwb3J0c0Zsb2F0aW5nUG9pbnQpOgooSlNDOjpNYWNyb0Fzc2VtYmxlclg4Njo6c3VwcG9y
dHNGbG9hdGluZ1BvaW50VHJ1bmNhdGUpOgooSlNDOjpNYWNyb0Fzc2VtYmxlclg4Njo6c3VwcG9y
dHNGbG9hdGluZ1BvaW50U3FydCk6CihKU0M6Ok1hY3JvQXNzZW1ibGVyWDg2OjpzdXBwb3J0c0Zs
b2F0aW5nUG9pbnRBYnMpOgoqIGFzc2VtYmxlci9NYWNyb0Fzc2VtYmxlclg4NkNvbW1vbi5jcHA6
CiogYXNzZW1ibGVyL01hY3JvQXNzZW1ibGVyWDg2Q29tbW9uLmg6CihKU0M6Ok1hY3JvQXNzZW1i
bGVyWDg2Q29tbW9uOjptb3ZlRG91YmxlKToKKEpTQzo6TWFjcm9Bc3NlbWJsZXJYODZDb21tb246
OmxvYWREb3VibGUpOgooSlNDOjpNYWNyb0Fzc2VtYmxlclg4NkNvbW1vbjo6bG9hZEZsb2F0KToK
KEpTQzo6TWFjcm9Bc3NlbWJsZXJYODZDb21tb246OnN0b3JlRG91YmxlKToKKEpTQzo6TWFjcm9B
c3NlbWJsZXJYODZDb21tb246OnN0b3JlRmxvYXQpOgooSlNDOjpNYWNyb0Fzc2VtYmxlclg4NkNv
bW1vbjo6Y29udmVydERvdWJsZVRvRmxvYXQpOgooSlNDOjpNYWNyb0Fzc2VtYmxlclg4NkNvbW1v
bjo6Y29udmVydEZsb2F0VG9Eb3VibGUpOgooSlNDOjpNYWNyb0Fzc2VtYmxlclg4NkNvbW1vbjo6
YWRkRG91YmxlKToKKEpTQzo6TWFjcm9Bc3NlbWJsZXJYODZDb21tb246OmFkZEZsb2F0KToKKEpT
Qzo6TWFjcm9Bc3NlbWJsZXJYODZDb21tb246OmRpdkRvdWJsZSk6CihKU0M6Ok1hY3JvQXNzZW1i
bGVyWDg2Q29tbW9uOjpkaXZGbG9hdCk6CihKU0M6Ok1hY3JvQXNzZW1ibGVyWDg2Q29tbW9uOjpz
dWJEb3VibGUpOgooSlNDOjpNYWNyb0Fzc2VtYmxlclg4NkNvbW1vbjo6c3ViRmxvYXQpOgooSlND
OjpNYWNyb0Fzc2VtYmxlclg4NkNvbW1vbjo6bXVsRG91YmxlKToKKEpTQzo6TWFjcm9Bc3NlbWJs
ZXJYODZDb21tb246Om11bEZsb2F0KToKKEpTQzo6TWFjcm9Bc3NlbWJsZXJYODZDb21tb246OmNv
bnZlcnRJbnQzMlRvRG91YmxlKToKKEpTQzo6TWFjcm9Bc3NlbWJsZXJYODZDb21tb246OmNvbnZl
cnRJbnQzMlRvRmxvYXQpOgooSlNDOjpNYWNyb0Fzc2VtYmxlclg4NkNvbW1vbjo6YnJhbmNoRG91
YmxlKToKKEpTQzo6TWFjcm9Bc3NlbWJsZXJYODZDb21tb246OmJyYW5jaEZsb2F0KToKKEpTQzo6
TWFjcm9Bc3NlbWJsZXJYODZDb21tb246OmNvbXBhcmVEb3VibGUpOgooSlNDOjpNYWNyb0Fzc2Vt
Ymxlclg4NkNvbW1vbjo6Y29tcGFyZUZsb2F0KToKKEpTQzo6TWFjcm9Bc3NlbWJsZXJYODZDb21t
b246OmJyYW5jaFRydW5jYXRlRG91YmxlVG9JbnQzMik6CihKU0M6Ok1hY3JvQXNzZW1ibGVyWDg2
Q29tbW9uOjp0cnVuY2F0ZURvdWJsZVRvSW50MzIpOgooSlNDOjpNYWNyb0Fzc2VtYmxlclg4NkNv
bW1vbjo6dHJ1bmNhdGVGbG9hdFRvSW50MzIpOgooSlNDOjpNYWNyb0Fzc2VtYmxlclg4NkNvbW1v
bjo6YnJhbmNoQ29udmVydERvdWJsZVRvSW50MzIpOgooSlNDOjpNYWNyb0Fzc2VtYmxlclg4NkNv
bW1vbjo6YnJhbmNoRG91YmxlTm9uWmVybyk6CihKU0M6Ok1hY3JvQXNzZW1ibGVyWDg2Q29tbW9u
OjpicmFuY2hEb3VibGVaZXJvT3JOYU4pOgooSlNDOjpNYWNyb0Fzc2VtYmxlclg4NkNvbW1vbjo6
bHNoaWZ0UGFja2VkKToKKEpTQzo6TWFjcm9Bc3NlbWJsZXJYODZDb21tb246OnJzaGlmdFBhY2tl
ZCk6CihKU0M6Ok1hY3JvQXNzZW1ibGVyWDg2Q29tbW9uOjpvclBhY2tlZCk6CihKU0M6Ok1hY3Jv
QXNzZW1ibGVyWDg2Q29tbW9uOjptb3ZlMzJUb0Zsb2F0KToKKEpTQzo6TWFjcm9Bc3NlbWJsZXJY
ODZDb21tb246Om1vdmVGbG9hdFRvMzIpOgooSlNDOjpNYWNyb0Fzc2VtYmxlclg4NkNvbW1vbjo6
bW92ZUNvbmRpdGlvbmFsbHlEb3VibGUpOgooSlNDOjpNYWNyb0Fzc2VtYmxlclg4NkNvbW1vbjo6
bW92ZUNvbmRpdGlvbmFsbHlGbG9hdCk6Ciogb2ZmbGluZWFzbS94ODYucmI6CiogcnVudGltZS9N
YXRoQ29tbW9uLmNwcDoKKEpTQzo6b3BlcmF0aW9uTWF0aFBvdyk6CgpUb29sczoKCkZvcmNlIFNT
RTIgb24geDg2LzMyYml0IGJ1aWxkcy4KCiogU2NyaXB0cy93ZWJraXRkaXJzLnBtOgooZ2VuZXJh
dGVCdWlsZFN5c3RlbUZyb21DTWFrZVByb2plY3QpOgotLS0KIFNvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9DaGFuZ2VMb2cgICAgICAgICAgICAgICB8ICA1OCArKysrCiAuLi4vYXNzZW1ibGVyL01hY3Jv
QXNzZW1ibGVyWDg2LmggICAgICAgICAgICAgfCAgMTAgKy0KIC4uLi9hc3NlbWJsZXIvTWFjcm9B
c3NlbWJsZXJYODZDb21tb24uY3BwICAgICB8ICAgMyArCiAuLi4vYXNzZW1ibGVyL01hY3JvQXNz
ZW1ibGVyWDg2Q29tbW9uLmggICAgICAgfCAgNjcgLS0tLQogU291cmNlL0phdmFTY3JpcHRDb3Jl
L29mZmxpbmVhc20veDg2LnJiICAgICAgIHwgMzAxICsrKy0tLS0tLS0tLS0tLS0tLQogU291cmNl
L0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvTWF0aENvbW1vbi5jcHAgIHwgIDE2ICstCiBUb29scy9D
aGFuZ2VMb2cgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgMTIgKwogVG9vbHMvU2Ny
aXB0cy93ZWJraXRkaXJzLnBtICAgICAgICAgICAgICAgICAgIHwgICA5ICstCiA4IGZpbGVzIGNo
YW5nZWQsIDEyOSBpbnNlcnRpb25zKCspLCAzNDcgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEv
U291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9D
aGFuZ2VMb2cKaW5kZXggYmQzZDQ5NjczMjcuLjA5ZDYwOWM1YTZkIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9D
aGFuZ2VMb2cKQEAgLTEsMyArMSw2MSBAQAorMjAxOS0wMi0yMCAgWGFuIExvcGV6ICA8eGFuQGln
YWxpYS5jb20+CisKKyAgICAgICAgW0pTQ11beDg2XSBEcm9wIHN1cHBvcnQgZm9yIHg4NyBmbG9h
dGluZyBwb2ludAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9MTk0ODUzCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAg
ICAgUmVxdWlyZSBTU0UyIHRocm91Z2hvdXQgdGhlIGNvZGViYXNlLCBhbmQgcmVtb3ZlIHg4NyBz
dXBwb3J0IHdoZXJlCisgICAgICAgIGl0IHdhcyBvcHRpb25hbGx5IGF2YWlsYWJsZS4gU1NFMiBk
ZXRlY3Rpb24gaGFwcGVucyBhdCBjb21waWxlCisgICAgICAgIHRpbWUgdGhyb3VnaCBhIHN0YXRp
Y19hc3NlcnQuCisKKyAgICAgICAgKiBhc3NlbWJsZXIvTWFjcm9Bc3NlbWJsZXJYODYuaDoKKyAg
ICAgICAgKEpTQzo6TWFjcm9Bc3NlbWJsZXJYODY6OnN0b3JlRG91YmxlKToKKyAgICAgICAgKEpT
Qzo6TWFjcm9Bc3NlbWJsZXJYODY6Om1vdmVEb3VibGVUb0ludHMpOgorICAgICAgICAoSlNDOjpN
YWNyb0Fzc2VtYmxlclg4Njo6c3VwcG9ydHNGbG9hdGluZ1BvaW50KToKKyAgICAgICAgKEpTQzo6
TWFjcm9Bc3NlbWJsZXJYODY6OnN1cHBvcnRzRmxvYXRpbmdQb2ludFRydW5jYXRlKToKKyAgICAg
ICAgKEpTQzo6TWFjcm9Bc3NlbWJsZXJYODY6OnN1cHBvcnRzRmxvYXRpbmdQb2ludFNxcnQpOgor
ICAgICAgICAoSlNDOjpNYWNyb0Fzc2VtYmxlclg4Njo6c3VwcG9ydHNGbG9hdGluZ1BvaW50QWJz
KToKKyAgICAgICAgKiBhc3NlbWJsZXIvTWFjcm9Bc3NlbWJsZXJYODZDb21tb24uY3BwOgorICAg
ICAgICAqIGFzc2VtYmxlci9NYWNyb0Fzc2VtYmxlclg4NkNvbW1vbi5oOgorICAgICAgICAoSlND
OjpNYWNyb0Fzc2VtYmxlclg4NkNvbW1vbjo6bW92ZURvdWJsZSk6CisgICAgICAgIChKU0M6Ok1h
Y3JvQXNzZW1ibGVyWDg2Q29tbW9uOjpsb2FkRG91YmxlKToKKyAgICAgICAgKEpTQzo6TWFjcm9B
c3NlbWJsZXJYODZDb21tb246OmxvYWRGbG9hdCk6CisgICAgICAgIChKU0M6Ok1hY3JvQXNzZW1i
bGVyWDg2Q29tbW9uOjpzdG9yZURvdWJsZSk6CisgICAgICAgIChKU0M6Ok1hY3JvQXNzZW1ibGVy
WDg2Q29tbW9uOjpzdG9yZUZsb2F0KToKKyAgICAgICAgKEpTQzo6TWFjcm9Bc3NlbWJsZXJYODZD
b21tb246OmNvbnZlcnREb3VibGVUb0Zsb2F0KToKKyAgICAgICAgKEpTQzo6TWFjcm9Bc3NlbWJs
ZXJYODZDb21tb246OmNvbnZlcnRGbG9hdFRvRG91YmxlKToKKyAgICAgICAgKEpTQzo6TWFjcm9B
c3NlbWJsZXJYODZDb21tb246OmFkZERvdWJsZSk6CisgICAgICAgIChKU0M6Ok1hY3JvQXNzZW1i
bGVyWDg2Q29tbW9uOjphZGRGbG9hdCk6CisgICAgICAgIChKU0M6Ok1hY3JvQXNzZW1ibGVyWDg2
Q29tbW9uOjpkaXZEb3VibGUpOgorICAgICAgICAoSlNDOjpNYWNyb0Fzc2VtYmxlclg4NkNvbW1v
bjo6ZGl2RmxvYXQpOgorICAgICAgICAoSlNDOjpNYWNyb0Fzc2VtYmxlclg4NkNvbW1vbjo6c3Vi
RG91YmxlKToKKyAgICAgICAgKEpTQzo6TWFjcm9Bc3NlbWJsZXJYODZDb21tb246OnN1YkZsb2F0
KToKKyAgICAgICAgKEpTQzo6TWFjcm9Bc3NlbWJsZXJYODZDb21tb246Om11bERvdWJsZSk6Cisg
ICAgICAgIChKU0M6Ok1hY3JvQXNzZW1ibGVyWDg2Q29tbW9uOjptdWxGbG9hdCk6CisgICAgICAg
IChKU0M6Ok1hY3JvQXNzZW1ibGVyWDg2Q29tbW9uOjpjb252ZXJ0SW50MzJUb0RvdWJsZSk6Cisg
ICAgICAgIChKU0M6Ok1hY3JvQXNzZW1ibGVyWDg2Q29tbW9uOjpjb252ZXJ0SW50MzJUb0Zsb2F0
KToKKyAgICAgICAgKEpTQzo6TWFjcm9Bc3NlbWJsZXJYODZDb21tb246OmJyYW5jaERvdWJsZSk6
CisgICAgICAgIChKU0M6Ok1hY3JvQXNzZW1ibGVyWDg2Q29tbW9uOjpicmFuY2hGbG9hdCk6Cisg
ICAgICAgIChKU0M6Ok1hY3JvQXNzZW1ibGVyWDg2Q29tbW9uOjpjb21wYXJlRG91YmxlKToKKyAg
ICAgICAgKEpTQzo6TWFjcm9Bc3NlbWJsZXJYODZDb21tb246OmNvbXBhcmVGbG9hdCk6CisgICAg
ICAgIChKU0M6Ok1hY3JvQXNzZW1ibGVyWDg2Q29tbW9uOjpicmFuY2hUcnVuY2F0ZURvdWJsZVRv
SW50MzIpOgorICAgICAgICAoSlNDOjpNYWNyb0Fzc2VtYmxlclg4NkNvbW1vbjo6dHJ1bmNhdGVE
b3VibGVUb0ludDMyKToKKyAgICAgICAgKEpTQzo6TWFjcm9Bc3NlbWJsZXJYODZDb21tb246OnRy
dW5jYXRlRmxvYXRUb0ludDMyKToKKyAgICAgICAgKEpTQzo6TWFjcm9Bc3NlbWJsZXJYODZDb21t
b246OmJyYW5jaENvbnZlcnREb3VibGVUb0ludDMyKToKKyAgICAgICAgKEpTQzo6TWFjcm9Bc3Nl
bWJsZXJYODZDb21tb246OmJyYW5jaERvdWJsZU5vblplcm8pOgorICAgICAgICAoSlNDOjpNYWNy
b0Fzc2VtYmxlclg4NkNvbW1vbjo6YnJhbmNoRG91YmxlWmVyb09yTmFOKToKKyAgICAgICAgKEpT
Qzo6TWFjcm9Bc3NlbWJsZXJYODZDb21tb246OmxzaGlmdFBhY2tlZCk6CisgICAgICAgIChKU0M6
Ok1hY3JvQXNzZW1ibGVyWDg2Q29tbW9uOjpyc2hpZnRQYWNrZWQpOgorICAgICAgICAoSlNDOjpN
YWNyb0Fzc2VtYmxlclg4NkNvbW1vbjo6b3JQYWNrZWQpOgorICAgICAgICAoSlNDOjpNYWNyb0Fz
c2VtYmxlclg4NkNvbW1vbjo6bW92ZTMyVG9GbG9hdCk6CisgICAgICAgIChKU0M6Ok1hY3JvQXNz
ZW1ibGVyWDg2Q29tbW9uOjptb3ZlRmxvYXRUbzMyKToKKyAgICAgICAgKEpTQzo6TWFjcm9Bc3Nl
bWJsZXJYODZDb21tb246Om1vdmVDb25kaXRpb25hbGx5RG91YmxlKToKKyAgICAgICAgKEpTQzo6
TWFjcm9Bc3NlbWJsZXJYODZDb21tb246Om1vdmVDb25kaXRpb25hbGx5RmxvYXQpOgorICAgICAg
ICAqIG9mZmxpbmVhc20veDg2LnJiOgorICAgICAgICAqIHJ1bnRpbWUvTWF0aENvbW1vbi5jcHA6
CisgICAgICAgIChKU0M6Om9wZXJhdGlvbk1hdGhQb3cpOgorCiAyMDE5LTAyLTE5ICBKb3NlcGgg
UGVjb3Jhcm8gIDxwZWNvcmFyb0BhcHBsZS5jb20+CiAKICAgICAgICAgV2ViIEluc3BlY3Rvcjog
SW1wcm92ZSBFUzYgQ2xhc3MgaW5zdGFuY2VzIGluIEhlYXAgU25hcHNob3QgaW5zdGFuY2VzIHZp
ZXcKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9hc3NlbWJsZXIvTWFjcm9Bc3Nl
bWJsZXJYODYuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9hc3NlbWJsZXIvTWFjcm9Bc3NlbWJs
ZXJYODYuaAppbmRleCA3MmRlZjcyYzZiNC4uZTRiYWNlZGQ4YmIgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9hc3NlbWJsZXIvTWFjcm9Bc3NlbWJsZXJYODYuaAorKysgYi9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvYXNzZW1ibGVyL01hY3JvQXNzZW1ibGVyWDg2LmgKQEAgLTE0MCw3
ICsxNDAsNiBAQCBwdWJsaWM6CiAKICAgICB2b2lkIHN0b3JlRG91YmxlKEZQUmVnaXN0ZXJJRCBz
cmMsIFRydXN0ZWRJbW1QdHIgYWRkcmVzcykKICAgICB7Ci0gICAgICAgIEFTU0VSVChpc1NTRTJQ
cmVzZW50KCkpOwogICAgICAgICBBU1NFUlQoYWRkcmVzcy5tX3ZhbHVlKTsKICAgICAgICAgbV9h
c3NlbWJsZXIubW92c2Rfcm0oc3JjLCBhZGRyZXNzLmFzUHRyKCkpOwogICAgIH0KQEAgLTE3Myw3
ICsxNzIsNiBAQCBwdWJsaWM6CiAgICAgCiAgICAgdm9pZCBtb3ZlRG91YmxlVG9JbnRzKEZQUmVn
aXN0ZXJJRCBzcmMsIFJlZ2lzdGVySUQgZGVzdDEsIFJlZ2lzdGVySUQgZGVzdDIpCiAgICAgewot
ICAgICAgICBBU1NFUlQoaXNTU0UyUHJlc2VudCgpKTsKICAgICAgICAgbV9hc3NlbWJsZXIucGV4
dHJ3X2lycigzLCBzcmMsIGRlc3QxKTsKICAgICAgICAgbV9hc3NlbWJsZXIucGV4dHJ3X2lycigy
LCBzcmMsIGRlc3QyKTsKICAgICAgICAgbHNoaWZ0MzIoVHJ1c3RlZEltbTMyKDE2KSwgZGVzdDEp
OwpAQCAtMjk0LDEwICsyOTIsMTAgQEAgcHVibGljOgogICAgICAgICByZXR1cm4gRGF0YUxhYmVs
UHRyKHRoaXMpOwogICAgIH0KIAotICAgIHN0YXRpYyBib29sIHN1cHBvcnRzRmxvYXRpbmdQb2lu
dCgpIHsgcmV0dXJuIGlzU1NFMlByZXNlbnQoKTsgfQotICAgIHN0YXRpYyBib29sIHN1cHBvcnRz
RmxvYXRpbmdQb2ludFRydW5jYXRlKCkgeyByZXR1cm4gaXNTU0UyUHJlc2VudCgpOyB9Ci0gICAg
c3RhdGljIGJvb2wgc3VwcG9ydHNGbG9hdGluZ1BvaW50U3FydCgpIHsgcmV0dXJuIGlzU1NFMlBy
ZXNlbnQoKTsgfQotICAgIHN0YXRpYyBib29sIHN1cHBvcnRzRmxvYXRpbmdQb2ludEFicygpIHsg
cmV0dXJuIGlzU1NFMlByZXNlbnQoKTsgfQorICAgIHN0YXRpYyBib29sIHN1cHBvcnRzRmxvYXRp
bmdQb2ludCgpIHsgcmV0dXJuIHRydWU7IH0KKyAgICBzdGF0aWMgYm9vbCBzdXBwb3J0c0Zsb2F0
aW5nUG9pbnRUcnVuY2F0ZSgpIHsgcmV0dXJuIHRydWU7IH0KKyAgICBzdGF0aWMgYm9vbCBzdXBw
b3J0c0Zsb2F0aW5nUG9pbnRTcXJ0KCkgeyByZXR1cm4gdHJ1ZTsgfQorICAgIHN0YXRpYyBib29s
IHN1cHBvcnRzRmxvYXRpbmdQb2ludEFicygpIHsgcmV0dXJuIHRydWU7IH0KIAogICAgIHRlbXBs
YXRlPFB0clRhZyByZXN1bHRUYWcsIFB0clRhZyBsb2NhdGlvblRhZz4KICAgICBzdGF0aWMgRnVu
Y3Rpb25QdHI8cmVzdWx0VGFnPiByZWFkQ2FsbFRhcmdldChDb2RlTG9jYXRpb25DYWxsPGxvY2F0
aW9uVGFnPiBjYWxsKQpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2Fzc2VtYmxl
ci9NYWNyb0Fzc2VtYmxlclg4NkNvbW1vbi5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYXNz
ZW1ibGVyL01hY3JvQXNzZW1ibGVyWDg2Q29tbW9uLmNwcAppbmRleCA4YjE0OGNmNTllNS4uMTc0
OWM3MTNiYjggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9hc3NlbWJsZXIvTWFj
cm9Bc3NlbWJsZXJYODZDb21tb24uY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9hc3Nl
bWJsZXIvTWFjcm9Bc3NlbWJsZXJYODZDb21tb24uY3BwCkBAIC0xNjgsNiArMTY4LDkgQEAgc3Rh
dGljX2Fzc2VydChQUk9CRV9PRkZTRVRPRl9SRUcoY3B1LmZwcnMsIFg4NlJlZ2lzdGVyczo6eG1t
MTUpID09IFBST0JFX0NQVV9YTU0KIHN0YXRpY19hc3NlcnQoc2l6ZW9mKFByb2JlOjpTdGF0ZSkg
PT0gUFJPQkVfU0laRSwgIlByb2JlOjpTdGF0ZTo6c2l6ZSdzIG1hdGNoZXMgY3RpTWFzbVByb2Jl
VHJhbXBvbGluZSIpOwogc3RhdGljX2Fzc2VydCgoUFJPQkVfRVhFQ1VUT1JfT0ZGU0VUICsgUFRS
X1NJWkUpIDw9IChQUk9CRV9TSVpFICsgT1VUX1NJWkUpLCAiTXVzdCBoYXZlIHJvb20gYWZ0ZXIg
UHJvYmVDb250ZXh0IHRvIHN0YXNoIHRoZSBwcm9iZSBoYW5kbGVyIik7CiAKKy8vIFNTRTIgaXMg
YSBoYXJkIHJlcXVpcmVtZW50IG9uIHg4Ngorc3RhdGljX2Fzc2VydChpc1NTRTJQcmVzZW50KCkp
OworCiAjdW5kZWYgUFJPQkVfT0ZGU0VUT0YKIAogI2lmIENQVShYODYpCmRpZmYgLS1naXQgYS9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvYXNzZW1ibGVyL01hY3JvQXNzZW1ibGVyWDg2Q29tbW9uLmgg
Yi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYXNzZW1ibGVyL01hY3JvQXNzZW1ibGVyWDg2Q29tbW9u
LmgKaW5kZXggMTI0MzQyMjVhY2QuLjM1MDliNDVhZDNiIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvYXNzZW1ibGVyL01hY3JvQXNzZW1ibGVyWDg2Q29tbW9uLmgKKysrIGIvU291
cmNlL0phdmFTY3JpcHRDb3JlL2Fzc2VtYmxlci9NYWNyb0Fzc2VtYmxlclg4NkNvbW1vbi5oCkBA
IC0xNDQxLDExICsxNDQxLDggQEAgcHVibGljOgogCiAgICAgLy8gRmxvYXRpbmctcG9pbnQgb3Bl
cmF0aW9uOgogICAgIC8vCi0gICAgLy8gUHJlc2VudGx5IG9ubHkgc3VwcG9ydHMgU1NFLCBub3Qg
eDg3IGZsb2F0aW5nIHBvaW50LgotCiAgICAgdm9pZCBtb3ZlRG91YmxlKEZQUmVnaXN0ZXJJRCBz
cmMsIEZQUmVnaXN0ZXJJRCBkZXN0KQogICAgIHsKLSAgICAgICAgQVNTRVJUKGlzU1NFMlByZXNl
bnQoKSk7CiAgICAgICAgIGlmIChzcmMgIT0gZGVzdCkKICAgICAgICAgICAgIG1fYXNzZW1ibGVy
Lm1vdmFwc19ycihzcmMsIGRlc3QpOwogICAgIH0KQEAgLTE0NTMsNyArMTQ1MCw2IEBAIHB1Ymxp
YzoKICAgICB2b2lkIGxvYWREb3VibGUoVHJ1c3RlZEltbVB0ciBhZGRyZXNzLCBGUFJlZ2lzdGVy
SUQgZGVzdCkKICAgICB7CiAjaWYgQ1BVKFg4NikKLSAgICAgICAgQVNTRVJUKGlzU1NFMlByZXNl
bnQoKSk7CiAgICAgICAgIG1fYXNzZW1ibGVyLm1vdnNkX21yKGFkZHJlc3MuYXNQdHIoKSwgZGVz
dCk7CiAjZWxzZQogICAgICAgICBtb3ZlKGFkZHJlc3MsIHNjcmF0Y2hSZWdpc3RlcigpKTsKQEAg
LTE0NjMsMjAgKzE0NTksMTcgQEAgcHVibGljOgogCiAgICAgdm9pZCBsb2FkRG91YmxlKEltcGxp
Y2l0QWRkcmVzcyBhZGRyZXNzLCBGUFJlZ2lzdGVySUQgZGVzdCkKICAgICB7Ci0gICAgICAgIEFT
U0VSVChpc1NTRTJQcmVzZW50KCkpOwogICAgICAgICBtX2Fzc2VtYmxlci5tb3ZzZF9tcihhZGRy
ZXNzLm9mZnNldCwgYWRkcmVzcy5iYXNlLCBkZXN0KTsKICAgICB9CiAKICAgICB2b2lkIGxvYWRE
b3VibGUoQmFzZUluZGV4IGFkZHJlc3MsIEZQUmVnaXN0ZXJJRCBkZXN0KQogICAgIHsKLSAgICAg
ICAgQVNTRVJUKGlzU1NFMlByZXNlbnQoKSk7CiAgICAgICAgIG1fYXNzZW1ibGVyLm1vdnNkX21y
KGFkZHJlc3Mub2Zmc2V0LCBhZGRyZXNzLmJhc2UsIGFkZHJlc3MuaW5kZXgsIGFkZHJlc3Muc2Nh
bGUsIGRlc3QpOwogICAgIH0KIAogICAgIHZvaWQgbG9hZEZsb2F0KFRydXN0ZWRJbW1QdHIgYWRk
cmVzcywgRlBSZWdpc3RlcklEIGRlc3QpCiAgICAgewogI2lmIENQVShYODYpCi0gICAgICAgIEFT
U0VSVChpc1NTRTJQcmVzZW50KCkpOwogICAgICAgICBtX2Fzc2VtYmxlci5tb3Zzc19tcihhZGRy
ZXNzLmFzUHRyKCksIGRlc3QpOwogI2Vsc2UKICAgICAgICAgbW92ZShhZGRyZXNzLCBzY3JhdGNo
UmVnaXN0ZXIoKSk7CkBAIC0xNDg2LDYxICsxNDc5LDUxIEBAIHB1YmxpYzoKIAogICAgIHZvaWQg
bG9hZEZsb2F0KEltcGxpY2l0QWRkcmVzcyBhZGRyZXNzLCBGUFJlZ2lzdGVySUQgZGVzdCkKICAg
ICB7Ci0gICAgICAgIEFTU0VSVChpc1NTRTJQcmVzZW50KCkpOwogICAgICAgICBtX2Fzc2VtYmxl
ci5tb3Zzc19tcihhZGRyZXNzLm9mZnNldCwgYWRkcmVzcy5iYXNlLCBkZXN0KTsKICAgICB9CiAK
ICAgICB2b2lkIGxvYWRGbG9hdChCYXNlSW5kZXggYWRkcmVzcywgRlBSZWdpc3RlcklEIGRlc3Qp
CiAgICAgewotICAgICAgICBBU1NFUlQoaXNTU0UyUHJlc2VudCgpKTsKICAgICAgICAgbV9hc3Nl
bWJsZXIubW92c3NfbXIoYWRkcmVzcy5vZmZzZXQsIGFkZHJlc3MuYmFzZSwgYWRkcmVzcy5pbmRl
eCwgYWRkcmVzcy5zY2FsZSwgZGVzdCk7CiAgICAgfQogCiAgICAgdm9pZCBzdG9yZURvdWJsZShG
UFJlZ2lzdGVySUQgc3JjLCBJbXBsaWNpdEFkZHJlc3MgYWRkcmVzcykKICAgICB7Ci0gICAgICAg
IEFTU0VSVChpc1NTRTJQcmVzZW50KCkpOwogICAgICAgICBtX2Fzc2VtYmxlci5tb3ZzZF9ybShz
cmMsIGFkZHJlc3Mub2Zmc2V0LCBhZGRyZXNzLmJhc2UpOwogICAgIH0KICAgICAKICAgICB2b2lk
IHN0b3JlRG91YmxlKEZQUmVnaXN0ZXJJRCBzcmMsIEJhc2VJbmRleCBhZGRyZXNzKQogICAgIHsK
LSAgICAgICAgQVNTRVJUKGlzU1NFMlByZXNlbnQoKSk7CiAgICAgICAgIG1fYXNzZW1ibGVyLm1v
dnNkX3JtKHNyYywgYWRkcmVzcy5vZmZzZXQsIGFkZHJlc3MuYmFzZSwgYWRkcmVzcy5pbmRleCwg
YWRkcmVzcy5zY2FsZSk7CiAgICAgfQogCiAgICAgdm9pZCBzdG9yZUZsb2F0KEZQUmVnaXN0ZXJJ
RCBzcmMsIEltcGxpY2l0QWRkcmVzcyBhZGRyZXNzKQogICAgIHsKLSAgICAgICAgQVNTRVJUKGlz
U1NFMlByZXNlbnQoKSk7CiAgICAgICAgIG1fYXNzZW1ibGVyLm1vdnNzX3JtKHNyYywgYWRkcmVz
cy5vZmZzZXQsIGFkZHJlc3MuYmFzZSk7CiAgICAgfQogCiAgICAgdm9pZCBzdG9yZUZsb2F0KEZQ
UmVnaXN0ZXJJRCBzcmMsIEJhc2VJbmRleCBhZGRyZXNzKQogICAgIHsKLSAgICAgICAgQVNTRVJU
KGlzU1NFMlByZXNlbnQoKSk7CiAgICAgICAgIG1fYXNzZW1ibGVyLm1vdnNzX3JtKHNyYywgYWRk
cmVzcy5vZmZzZXQsIGFkZHJlc3MuYmFzZSwgYWRkcmVzcy5pbmRleCwgYWRkcmVzcy5zY2FsZSk7
CiAgICAgfQogICAgIAogICAgIHZvaWQgY29udmVydERvdWJsZVRvRmxvYXQoRlBSZWdpc3RlcklE
IHNyYywgRlBSZWdpc3RlcklEIGRzdCkKICAgICB7Ci0gICAgICAgIEFTU0VSVChpc1NTRTJQcmVz
ZW50KCkpOwogICAgICAgICBtX2Fzc2VtYmxlci5jdnRzZDJzc19ycihzcmMsIGRzdCk7CiAgICAg
fQogCiAgICAgdm9pZCBjb252ZXJ0RG91YmxlVG9GbG9hdChBZGRyZXNzIGFkZHJlc3MsIEZQUmVn
aXN0ZXJJRCBkc3QpCiAgICAgewotICAgICAgICBBU1NFUlQoaXNTU0UyUHJlc2VudCgpKTsKICAg
ICAgICAgbV9hc3NlbWJsZXIuY3Z0c2Qyc3NfbXIoYWRkcmVzcy5vZmZzZXQsIGFkZHJlc3MuYmFz
ZSwgZHN0KTsKICAgICB9CiAKICAgICB2b2lkIGNvbnZlcnRGbG9hdFRvRG91YmxlKEZQUmVnaXN0
ZXJJRCBzcmMsIEZQUmVnaXN0ZXJJRCBkc3QpCiAgICAgewotICAgICAgICBBU1NFUlQoaXNTU0Uy
UHJlc2VudCgpKTsKICAgICAgICAgbV9hc3NlbWJsZXIuY3Z0c3Myc2RfcnIoc3JjLCBkc3QpOwog
ICAgIH0KIAogICAgIHZvaWQgY29udmVydEZsb2F0VG9Eb3VibGUoQWRkcmVzcyBhZGRyZXNzLCBG
UFJlZ2lzdGVySUQgZHN0KQogICAgIHsKLSAgICAgICAgQVNTRVJUKGlzU1NFMlByZXNlbnQoKSk7
CiAgICAgICAgIG1fYXNzZW1ibGVyLmN2dHNzMnNkX21yKGFkZHJlc3Mub2Zmc2V0LCBhZGRyZXNz
LmJhc2UsIGRzdCk7CiAgICAgfQogCkBAIC0xNTU0LDcgKzE1MzcsNiBAQCBwdWJsaWM6CiAgICAg
ICAgIGlmIChzdXBwb3J0c0FWWCgpKQogICAgICAgICAgICAgbV9hc3NlbWJsZXIudmFkZHNkX3Jy
KG9wMSwgb3AyLCBkZXN0KTsKICAgICAgICAgZWxzZSB7Ci0gICAgICAgICAgICBBU1NFUlQoaXNT
U0UyUHJlc2VudCgpKTsKICAgICAgICAgICAgIGlmIChvcDEgPT0gZGVzdCkKICAgICAgICAgICAg
ICAgICBtX2Fzc2VtYmxlci5hZGRzZF9ycihvcDIsIGRlc3QpOwogICAgICAgICAgICAgZWxzZSB7
CkBAIC0xNTc0LDcgKzE1NTYsNiBAQCBwdWJsaWM6CiAgICAgICAgIGlmIChzdXBwb3J0c0FWWCgp
KQogICAgICAgICAgICAgbV9hc3NlbWJsZXIudmFkZHNkX21yKG9wMS5vZmZzZXQsIG9wMS5iYXNl
LCBvcDIsIGRlc3QpOwogICAgICAgICBlbHNlIHsKLSAgICAgICAgICAgIEFTU0VSVChpc1NTRTJQ
cmVzZW50KCkpOwogICAgICAgICAgICAgaWYgKG9wMiA9PSBkZXN0KSB7CiAgICAgICAgICAgICAg
ICAgbV9hc3NlbWJsZXIuYWRkc2RfbXIob3AxLm9mZnNldCwgb3AxLmJhc2UsIGRlc3QpOwogICAg
ICAgICAgICAgICAgIHJldHVybjsKQEAgLTE1OTUsNyArMTU3Niw2IEBAIHB1YmxpYzoKICAgICAg
ICAgaWYgKHN1cHBvcnRzQVZYKCkpCiAgICAgICAgICAgICBtX2Fzc2VtYmxlci52YWRkc2RfbXIo
b3AxLm9mZnNldCwgb3AxLmJhc2UsIG9wMS5pbmRleCwgb3AxLnNjYWxlLCBvcDIsIGRlc3QpOwog
ICAgICAgICBlbHNlIHsKLSAgICAgICAgICAgIEFTU0VSVChpc1NTRTJQcmVzZW50KCkpOwogICAg
ICAgICAgICAgaWYgKG9wMiA9PSBkZXN0KSB7CiAgICAgICAgICAgICAgICAgbV9hc3NlbWJsZXIu
YWRkc2RfbXIob3AxLm9mZnNldCwgb3AxLmJhc2UsIG9wMS5pbmRleCwgb3AxLnNjYWxlLCBkZXN0
KTsKICAgICAgICAgICAgICAgICByZXR1cm47CkBAIC0xNjIwLDcgKzE2MDAsNiBAQCBwdWJsaWM6
CiAgICAgICAgIGlmIChzdXBwb3J0c0FWWCgpKQogICAgICAgICAgICAgbV9hc3NlbWJsZXIudmFk
ZHNzX3JyKG9wMSwgb3AyLCBkZXN0KTsKICAgICAgICAgZWxzZSB7Ci0gICAgICAgICAgICBBU1NF
UlQoaXNTU0UyUHJlc2VudCgpKTsKICAgICAgICAgICAgIGlmIChvcDEgPT0gZGVzdCkKICAgICAg
ICAgICAgICAgICBtX2Fzc2VtYmxlci5hZGRzc19ycihvcDIsIGRlc3QpOwogICAgICAgICAgICAg
ZWxzZSB7CkBAIC0xNjM1LDcgKzE2MTQsNiBAQCBwdWJsaWM6CiAgICAgICAgIGlmIChzdXBwb3J0
c0FWWCgpKQogICAgICAgICAgICAgbV9hc3NlbWJsZXIudmFkZHNzX21yKG9wMS5vZmZzZXQsIG9w
MS5iYXNlLCBvcDIsIGRlc3QpOwogICAgICAgICBlbHNlIHsKLSAgICAgICAgICAgIEFTU0VSVChp
c1NTRTJQcmVzZW50KCkpOwogICAgICAgICAgICAgaWYgKG9wMiA9PSBkZXN0KSB7CiAgICAgICAg
ICAgICAgICAgbV9hc3NlbWJsZXIuYWRkc3NfbXIob3AxLm9mZnNldCwgb3AxLmJhc2UsIGRlc3Qp
OwogICAgICAgICAgICAgICAgIHJldHVybjsKQEAgLTE2NTYsNyArMTYzNCw2IEBAIHB1YmxpYzoK
ICAgICAgICAgaWYgKHN1cHBvcnRzQVZYKCkpCiAgICAgICAgICAgICBtX2Fzc2VtYmxlci52YWRk
c3NfbXIob3AxLm9mZnNldCwgb3AxLmJhc2UsIG9wMS5pbmRleCwgb3AxLnNjYWxlLCBvcDIsIGRl
c3QpOwogICAgICAgICBlbHNlIHsKLSAgICAgICAgICAgIEFTU0VSVChpc1NTRTJQcmVzZW50KCkp
OwogICAgICAgICAgICAgaWYgKG9wMiA9PSBkZXN0KSB7CiAgICAgICAgICAgICAgICAgbV9hc3Nl
bWJsZXIuYWRkc3NfbXIob3AxLm9mZnNldCwgb3AxLmJhc2UsIG9wMS5pbmRleCwgb3AxLnNjYWxl
LCBkZXN0KTsKICAgICAgICAgICAgICAgICByZXR1cm47CkBAIC0xNjY4LDcgKzE2NDUsNiBAQCBw
dWJsaWM6CiAKICAgICB2b2lkIGRpdkRvdWJsZShGUFJlZ2lzdGVySUQgc3JjLCBGUFJlZ2lzdGVy
SUQgZGVzdCkKICAgICB7Ci0gICAgICAgIEFTU0VSVChpc1NTRTJQcmVzZW50KCkpOwogICAgICAg
ICBtX2Fzc2VtYmxlci5kaXZzZF9ycihzcmMsIGRlc3QpOwogICAgIH0KIApAQCAtMTY4MywxOSAr
MTY1OSwxNiBAQCBwdWJsaWM6CiAKICAgICB2b2lkIGRpdkRvdWJsZShBZGRyZXNzIHNyYywgRlBS
ZWdpc3RlcklEIGRlc3QpCiAgICAgewotICAgICAgICBBU1NFUlQoaXNTU0UyUHJlc2VudCgpKTsK
ICAgICAgICAgbV9hc3NlbWJsZXIuZGl2c2RfbXIoc3JjLm9mZnNldCwgc3JjLmJhc2UsIGRlc3Qp
OwogICAgIH0KIAogICAgIHZvaWQgZGl2RmxvYXQoRlBSZWdpc3RlcklEIHNyYywgRlBSZWdpc3Rl
cklEIGRlc3QpCiAgICAgewotICAgICAgICBBU1NFUlQoaXNTU0UyUHJlc2VudCgpKTsKICAgICAg
ICAgbV9hc3NlbWJsZXIuZGl2c3NfcnIoc3JjLCBkZXN0KTsKICAgICB9CiAKICAgICB2b2lkIGRp
dkZsb2F0KEFkZHJlc3Mgc3JjLCBGUFJlZ2lzdGVySUQgZGVzdCkKICAgICB7Ci0gICAgICAgIEFT
U0VSVChpc1NTRTJQcmVzZW50KCkpOwogICAgICAgICBtX2Fzc2VtYmxlci5kaXZzc19tcihzcmMu
b2Zmc2V0LCBzcmMuYmFzZSwgZGVzdCk7CiAgICAgfQogCkBAIC0xNzA5LDggKzE2ODIsNiBAQCBw
dWJsaWM6CiAgICAgICAgIGlmIChzdXBwb3J0c0FWWCgpKQogICAgICAgICAgICAgbV9hc3NlbWJs
ZXIudnN1YnNkX3JyKG9wMSwgb3AyLCBkZXN0KTsKICAgICAgICAgZWxzZSB7Ci0gICAgICAgICAg
ICBBU1NFUlQoaXNTU0UyUHJlc2VudCgpKTsKLQogICAgICAgICAgICAgLy8gQiA6PSBBIC0gQiBp
cyBpbnZhbGlkLgogICAgICAgICAgICAgQVNTRVJUKG9wMSA9PSBkZXN0IHx8IG9wMiAhPSBkZXN0
KTsKICAgICAgICAgICAgIG1vdmVEb3VibGUob3AxLCBkZXN0KTsKQEAgLTE3NTMsNyArMTcyNCw2
IEBAIHB1YmxpYzoKICAgICAgICAgaWYgKHN1cHBvcnRzQVZYKCkpCiAgICAgICAgICAgICBtX2Fz
c2VtYmxlci52c3Vic3NfcnIob3AxLCBvcDIsIGRlc3QpOwogICAgICAgICBlbHNlIHsKLSAgICAg
ICAgICAgIEFTU0VSVChpc1NTRTJQcmVzZW50KCkpOwogICAgICAgICAgICAgLy8gQiA6PSBBIC0g
QiBpcyBpbnZhbGlkLgogICAgICAgICAgICAgQVNTRVJUKG9wMSA9PSBkZXN0IHx8IG9wMiAhPSBk
ZXN0KTsKICAgICAgICAgICAgIG1vdmVEb3VibGUob3AxLCBkZXN0KTsKQEAgLTE3OTYsNyArMTc2
Niw2IEBAIHB1YmxpYzoKICAgICAgICAgaWYgKHN1cHBvcnRzQVZYKCkpCiAgICAgICAgICAgICBt
X2Fzc2VtYmxlci52bXVsc2RfcnIob3AxLCBvcDIsIGRlc3QpOwogICAgICAgICBlbHNlIHsKLSAg
ICAgICAgICAgIEFTU0VSVChpc1NTRTJQcmVzZW50KCkpOwogICAgICAgICAgICAgaWYgKG9wMSA9
PSBkZXN0KQogICAgICAgICAgICAgICAgIG1fYXNzZW1ibGVyLm11bHNkX3JyKG9wMiwgZGVzdCk7
CiAgICAgICAgICAgICBlbHNlIHsKQEAgLTE4MTYsNyArMTc4NSw2IEBAIHB1YmxpYzoKICAgICAg
ICAgaWYgKHN1cHBvcnRzQVZYKCkpCiAgICAgICAgICAgICBtX2Fzc2VtYmxlci52bXVsc2RfbXIo
b3AxLm9mZnNldCwgb3AxLmJhc2UsIG9wMiwgZGVzdCk7CiAgICAgICAgIGVsc2UgewotICAgICAg
ICAgICAgQVNTRVJUKGlzU1NFMlByZXNlbnQoKSk7CiAgICAgICAgICAgICBpZiAob3AyID09IGRl
c3QpIHsKICAgICAgICAgICAgICAgICBtX2Fzc2VtYmxlci5tdWxzZF9tcihvcDEub2Zmc2V0LCBv
cDEuYmFzZSwgZGVzdCk7CiAgICAgICAgICAgICAgICAgcmV0dXJuOwpAQCAtMTgzNiw3ICsxODA0
LDYgQEAgcHVibGljOgogICAgICAgICBpZiAoc3VwcG9ydHNBVlgoKSkKICAgICAgICAgICAgIG1f
YXNzZW1ibGVyLnZtdWxzZF9tcihvcDEub2Zmc2V0LCBvcDEuYmFzZSwgb3AxLmluZGV4LCBvcDEu
c2NhbGUsIG9wMiwgZGVzdCk7CiAgICAgICAgIGVsc2UgewotICAgICAgICAgICAgQVNTRVJUKGlz
U1NFMlByZXNlbnQoKSk7CiAgICAgICAgICAgICBpZiAob3AyID09IGRlc3QpIHsKICAgICAgICAg
ICAgICAgICBtX2Fzc2VtYmxlci5tdWxzZF9tcihvcDEub2Zmc2V0LCBvcDEuYmFzZSwgb3AxLmlu
ZGV4LCBvcDEuc2NhbGUsIGRlc3QpOwogICAgICAgICAgICAgICAgIHJldHVybjsKQEAgLTE4NjEs
NyArMTgyOCw2IEBAIHB1YmxpYzoKICAgICAgICAgaWYgKHN1cHBvcnRzQVZYKCkpCiAgICAgICAg
ICAgICBtX2Fzc2VtYmxlci52bXVsc3NfcnIob3AxLCBvcDIsIGRlc3QpOwogICAgICAgICBlbHNl
IHsKLSAgICAgICAgICAgIEFTU0VSVChpc1NTRTJQcmVzZW50KCkpOwogICAgICAgICAgICAgaWYg
KG9wMSA9PSBkZXN0KQogICAgICAgICAgICAgICAgIG1fYXNzZW1ibGVyLm11bHNzX3JyKG9wMiwg
ZGVzdCk7CiAgICAgICAgICAgICBlbHNlIHsKQEAgLTE4NzYsNyArMTg0Miw2IEBAIHB1YmxpYzoK
ICAgICAgICAgaWYgKHN1cHBvcnRzQVZYKCkpCiAgICAgICAgICAgICBtX2Fzc2VtYmxlci52bXVs
c3NfbXIob3AxLm9mZnNldCwgb3AxLmJhc2UsIG9wMiwgZGVzdCk7CiAgICAgICAgIGVsc2Ugewot
ICAgICAgICAgICAgQVNTRVJUKGlzU1NFMlByZXNlbnQoKSk7CiAgICAgICAgICAgICBpZiAob3Ay
ID09IGRlc3QpIHsKICAgICAgICAgICAgICAgICBtX2Fzc2VtYmxlci5tdWxzc19tcihvcDEub2Zm
c2V0LCBvcDEuYmFzZSwgZGVzdCk7CiAgICAgICAgICAgICAgICAgcmV0dXJuOwpAQCAtMTg5Niw3
ICsxODYxLDYgQEAgcHVibGljOgogICAgICAgICBpZiAoc3VwcG9ydHNBVlgoKSkKICAgICAgICAg
ICAgIG1fYXNzZW1ibGVyLnZtdWxzc19tcihvcDEub2Zmc2V0LCBvcDEuYmFzZSwgb3AxLmluZGV4
LCBvcDEuc2NhbGUsIG9wMiwgZGVzdCk7CiAgICAgICAgIGVsc2UgewotICAgICAgICAgICAgQVNT
RVJUKGlzU1NFMlByZXNlbnQoKSk7CiAgICAgICAgICAgICBpZiAob3AyID09IGRlc3QpIHsKICAg
ICAgICAgICAgICAgICBtX2Fzc2VtYmxlci5tdWxzc19tcihvcDEub2Zmc2V0LCBvcDEuYmFzZSwg
b3AxLmluZGV4LCBvcDEuc2NhbGUsIGRlc3QpOwogICAgICAgICAgICAgICAgIHJldHVybjsKQEAg
LTE5OTksMzIgKzE5NjMsMjYgQEAgcHVibGljOgogCiAgICAgdm9pZCBjb252ZXJ0SW50MzJUb0Rv
dWJsZShSZWdpc3RlcklEIHNyYywgRlBSZWdpc3RlcklEIGRlc3QpCiAgICAgewotICAgICAgICBB
U1NFUlQoaXNTU0UyUHJlc2VudCgpKTsKICAgICAgICAgbV9hc3NlbWJsZXIuY3Z0c2kyc2RfcnIo
c3JjLCBkZXN0KTsKICAgICB9CiAKICAgICB2b2lkIGNvbnZlcnRJbnQzMlRvRG91YmxlKEFkZHJl
c3Mgc3JjLCBGUFJlZ2lzdGVySUQgZGVzdCkKICAgICB7Ci0gICAgICAgIEFTU0VSVChpc1NTRTJQ
cmVzZW50KCkpOwogICAgICAgICBtX2Fzc2VtYmxlci5jdnRzaTJzZF9tcihzcmMub2Zmc2V0LCBz
cmMuYmFzZSwgZGVzdCk7CiAgICAgfQogCiAgICAgdm9pZCBjb252ZXJ0SW50MzJUb0Zsb2F0KFJl
Z2lzdGVySUQgc3JjLCBGUFJlZ2lzdGVySUQgZGVzdCkKICAgICB7Ci0gICAgICAgIEFTU0VSVChp
c1NTRTJQcmVzZW50KCkpOwogICAgICAgICBtX2Fzc2VtYmxlci5jdnRzaTJzc19ycihzcmMsIGRl
c3QpOwogICAgIH0KIAogICAgIHZvaWQgY29udmVydEludDMyVG9GbG9hdChBZGRyZXNzIHNyYywg
RlBSZWdpc3RlcklEIGRlc3QpCiAgICAgewotICAgICAgICBBU1NFUlQoaXNTU0UyUHJlc2VudCgp
KTsKICAgICAgICAgbV9hc3NlbWJsZXIuY3Z0c2kyc3NfbXIoc3JjLm9mZnNldCwgc3JjLmJhc2Us
IGRlc3QpOwogICAgIH0KIAogICAgIEp1bXAgYnJhbmNoRG91YmxlKERvdWJsZUNvbmRpdGlvbiBj
b25kLCBGUFJlZ2lzdGVySUQgbGVmdCwgRlBSZWdpc3RlcklEIHJpZ2h0KQogICAgIHsKLSAgICAg
ICAgQVNTRVJUKGlzU1NFMlByZXNlbnQoKSk7Ci0KICAgICAgICAgaWYgKGNvbmQgJiBEb3VibGVD
b25kaXRpb25CaXRJbnZlcnQpCiAgICAgICAgICAgICBtX2Fzc2VtYmxlci51Y29taXNkX3JyKGxl
ZnQsIHJpZ2h0KTsKICAgICAgICAgZWxzZQpAQCAtMjAzNCw4ICsxOTkyLDYgQEAgcHVibGljOgog
CiAgICAgSnVtcCBicmFuY2hGbG9hdChEb3VibGVDb25kaXRpb24gY29uZCwgRlBSZWdpc3RlcklE
IGxlZnQsIEZQUmVnaXN0ZXJJRCByaWdodCkKICAgICB7Ci0gICAgICAgIEFTU0VSVChpc1NTRTJQ
cmVzZW50KCkpOwotCiAgICAgICAgIGlmIChjb25kICYgRG91YmxlQ29uZGl0aW9uQml0SW52ZXJ0
KQogICAgICAgICAgICAgbV9hc3NlbWJsZXIudWNvbWlzc19ycihsZWZ0LCByaWdodCk7CiAgICAg
ICAgIGVsc2UKQEAgLTIwNDUsNyArMjAwMSw2IEBAIHB1YmxpYzoKIAogICAgIHZvaWQgY29tcGFy
ZURvdWJsZShEb3VibGVDb25kaXRpb24gY29uZCwgRlBSZWdpc3RlcklEIGxlZnQsIEZQUmVnaXN0
ZXJJRCByaWdodCwgUmVnaXN0ZXJJRCBkZXN0KQogICAgIHsKLSAgICAgICAgQVNTRVJUKGlzU1NF
MlByZXNlbnQoKSk7CiAgICAgICAgIGZsb2F0aW5nUG9pbnRDb21wYXJlKGNvbmQsIGxlZnQsIHJp
Z2h0LCBkZXN0LCBbdGhpc10gKEZQUmVnaXN0ZXJJRCBhcmcxLCBGUFJlZ2lzdGVySUQgYXJnMikg
ewogICAgICAgICAgICAgbV9hc3NlbWJsZXIudWNvbWlzZF9ycihhcmcxLCBhcmcyKTsKICAgICAg
ICAgfSk7CkBAIC0yMDUzLDcgKzIwMDgsNiBAQCBwdWJsaWM6CiAKICAgICB2b2lkIGNvbXBhcmVG
bG9hdChEb3VibGVDb25kaXRpb24gY29uZCwgRlBSZWdpc3RlcklEIGxlZnQsIEZQUmVnaXN0ZXJJ
RCByaWdodCwgUmVnaXN0ZXJJRCBkZXN0KQogICAgIHsKLSAgICAgICAgQVNTRVJUKGlzU1NFMlBy
ZXNlbnQoKSk7CiAgICAgICAgIGZsb2F0aW5nUG9pbnRDb21wYXJlKGNvbmQsIGxlZnQsIHJpZ2h0
LCBkZXN0LCBbdGhpc10gKEZQUmVnaXN0ZXJJRCBhcmcxLCBGUFJlZ2lzdGVySUQgYXJnMikgewog
ICAgICAgICAgICAgbV9hc3NlbWJsZXIudWNvbWlzc19ycihhcmcxLCBhcmcyKTsKICAgICAgICAg
fSk7CkBAIC0yMDY2LDIwICsyMDIwLDE3IEBAIHB1YmxpYzoKICAgICBlbnVtIEJyYW5jaFRydW5j
YXRlVHlwZSB7IEJyYW5jaElmVHJ1bmNhdGVGYWlsZWQsIEJyYW5jaElmVHJ1bmNhdGVTdWNjZXNz
ZnVsIH07CiAgICAgSnVtcCBicmFuY2hUcnVuY2F0ZURvdWJsZVRvSW50MzIoRlBSZWdpc3RlcklE
IHNyYywgUmVnaXN0ZXJJRCBkZXN0LCBCcmFuY2hUcnVuY2F0ZVR5cGUgYnJhbmNoVHlwZSA9IEJy
YW5jaElmVHJ1bmNhdGVGYWlsZWQpCiAgICAgewotICAgICAgICBBU1NFUlQoaXNTU0UyUHJlc2Vu
dCgpKTsKICAgICAgICAgbV9hc3NlbWJsZXIuY3Z0dHNkMnNpX3JyKHNyYywgZGVzdCk7CiAgICAg
ICAgIHJldHVybiBicmFuY2gzMihicmFuY2hUeXBlID8gTm90RXF1YWwgOiBFcXVhbCwgZGVzdCwg
VHJ1c3RlZEltbTMyKDB4ODAwMDAwMDApKTsKICAgICB9CiAKICAgICB2b2lkIHRydW5jYXRlRG91
YmxlVG9JbnQzMihGUFJlZ2lzdGVySUQgc3JjLCBSZWdpc3RlcklEIGRlc3QpCiAgICAgewotICAg
ICAgICBBU1NFUlQoaXNTU0UyUHJlc2VudCgpKTsKICAgICAgICAgbV9hc3NlbWJsZXIuY3Z0dHNk
MnNpX3JyKHNyYywgZGVzdCk7CiAgICAgfQogCiAgICAgdm9pZCB0cnVuY2F0ZUZsb2F0VG9JbnQz
MihGUFJlZ2lzdGVySUQgc3JjLCBSZWdpc3RlcklEIGRlc3QpCiAgICAgewotICAgICAgICBBU1NF
UlQoaXNTU0UyUHJlc2VudCgpKTsKICAgICAgICAgbV9hc3NlbWJsZXIuY3Z0dHNzMnNpX3JyKHNy
YywgZGVzdCk7CiAgICAgfQogCkBAIC0yMDg5LDcgKzIwNDAsNiBAQCBwdWJsaWM6CiAgICAgLy8g
KHNwZWNpZmljYWxseSwgaW4gdGhpcyBjYXNlLCAwKS4KICAgICB2b2lkIGJyYW5jaENvbnZlcnRE
b3VibGVUb0ludDMyKEZQUmVnaXN0ZXJJRCBzcmMsIFJlZ2lzdGVySUQgZGVzdCwgSnVtcExpc3Qm
IGZhaWx1cmVDYXNlcywgRlBSZWdpc3RlcklEIGZwVGVtcCwgYm9vbCBuZWdaZXJvQ2hlY2sgPSB0
cnVlKQogICAgIHsKLSAgICAgICAgQVNTRVJUKGlzU1NFMlByZXNlbnQoKSk7CiAgICAgICAgIG1f
YXNzZW1ibGVyLmN2dHRzZDJzaV9ycihzcmMsIGRlc3QpOwogCiAgICAgICAgIC8vIElmIHRoZSBy
ZXN1bHQgaXMgemVybywgaXQgbWlnaHQgaGF2ZSBiZWVuIC0wLjAsIGFuZCB0aGUgZG91YmxlIGNv
bXBhcmlzb24gd29uJ3QgY2F0Y2ggdGhpcyEKQEAgLTIxMTksNDUgKzIwNjksMzggQEAgcHVibGlj
OgogCiAgICAgSnVtcCBicmFuY2hEb3VibGVOb25aZXJvKEZQUmVnaXN0ZXJJRCByZWcsIEZQUmVn
aXN0ZXJJRCBzY3JhdGNoKQogICAgIHsKLSAgICAgICAgQVNTRVJUKGlzU1NFMlByZXNlbnQoKSk7
CiAgICAgICAgIG1fYXNzZW1ibGVyLnhvcnBkX3JyKHNjcmF0Y2gsIHNjcmF0Y2gpOwogICAgICAg
ICByZXR1cm4gYnJhbmNoRG91YmxlKERvdWJsZU5vdEVxdWFsLCByZWcsIHNjcmF0Y2gpOwogICAg
IH0KIAogICAgIEp1bXAgYnJhbmNoRG91YmxlWmVyb09yTmFOKEZQUmVnaXN0ZXJJRCByZWcsIEZQ
UmVnaXN0ZXJJRCBzY3JhdGNoKQogICAgIHsKLSAgICAgICAgQVNTRVJUKGlzU1NFMlByZXNlbnQo
KSk7CiAgICAgICAgIG1fYXNzZW1ibGVyLnhvcnBkX3JyKHNjcmF0Y2gsIHNjcmF0Y2gpOwogICAg
ICAgICByZXR1cm4gYnJhbmNoRG91YmxlKERvdWJsZUVxdWFsT3JVbm9yZGVyZWQsIHJlZywgc2Ny
YXRjaCk7CiAgICAgfQogCiAgICAgdm9pZCBsc2hpZnRQYWNrZWQoVHJ1c3RlZEltbTMyIGltbSwg
WE1NUmVnaXN0ZXJJRCByZWcpCiAgICAgewotICAgICAgICBBU1NFUlQoaXNTU0UyUHJlc2VudCgp
KTsKICAgICAgICAgbV9hc3NlbWJsZXIucHNsbHFfaThyKGltbS5tX3ZhbHVlLCByZWcpOwogICAg
IH0KIAogICAgIHZvaWQgcnNoaWZ0UGFja2VkKFRydXN0ZWRJbW0zMiBpbW0sIFhNTVJlZ2lzdGVy
SUQgcmVnKQogICAgIHsKLSAgICAgICAgQVNTRVJUKGlzU1NFMlByZXNlbnQoKSk7CiAgICAgICAg
IG1fYXNzZW1ibGVyLnBzcmxxX2k4cihpbW0ubV92YWx1ZSwgcmVnKTsKICAgICB9CiAKICAgICB2
b2lkIG9yUGFja2VkKFhNTVJlZ2lzdGVySUQgc3JjLCBYTU1SZWdpc3RlcklEIGRzdCkKICAgICB7
Ci0gICAgICAgIEFTU0VSVChpc1NTRTJQcmVzZW50KCkpOwogICAgICAgICBtX2Fzc2VtYmxlci5w
b3JfcnIoc3JjLCBkc3QpOwogICAgIH0KIAogICAgIHZvaWQgbW92ZTMyVG9GbG9hdChSZWdpc3Rl
cklEIHNyYywgWE1NUmVnaXN0ZXJJRCBkc3QpCiAgICAgewotICAgICAgICBBU1NFUlQoaXNTU0Uy
UHJlc2VudCgpKTsKICAgICAgICAgbV9hc3NlbWJsZXIubW92ZF9ycihzcmMsIGRzdCk7CiAgICAg
fQogCiAgICAgdm9pZCBtb3ZlRmxvYXRUbzMyKFhNTVJlZ2lzdGVySUQgc3JjLCBSZWdpc3RlcklE
IGRzdCkKICAgICB7Ci0gICAgICAgIEFTU0VSVChpc1NTRTJQcmVzZW50KCkpOwogICAgICAgICBt
X2Fzc2VtYmxlci5tb3ZkX3JyKHNyYywgZHN0KTsKICAgICB9CiAKQEAgLTIyNDIsOCArMjE4NSw2
IEBAIHB1YmxpYzoKIAogICAgIHZvaWQgbW92ZUNvbmRpdGlvbmFsbHlEb3VibGUoRG91YmxlQ29u
ZGl0aW9uIGNvbmQsIEZQUmVnaXN0ZXJJRCBsZWZ0LCBGUFJlZ2lzdGVySUQgcmlnaHQsIFJlZ2lz
dGVySUQgc3JjLCBSZWdpc3RlcklEIGRlc3QpCiAgICAgewotICAgICAgICBBU1NFUlQoaXNTU0Uy
UHJlc2VudCgpKTsKLQogICAgICAgICBpZiAoY29uZCAmIERvdWJsZUNvbmRpdGlvbkJpdEludmVy
dCkKICAgICAgICAgICAgIG1fYXNzZW1ibGVyLnVjb21pc2RfcnIobGVmdCwgcmlnaHQpOwogICAg
ICAgICBlbHNlCkBAIC0yMjUzLDggKzIxOTQsNiBAQCBwdWJsaWM6CiAKICAgICB2b2lkIG1vdmVD
b25kaXRpb25hbGx5RG91YmxlKERvdWJsZUNvbmRpdGlvbiBjb25kLCBGUFJlZ2lzdGVySUQgbGVm
dCwgRlBSZWdpc3RlcklEIHJpZ2h0LCBSZWdpc3RlcklEIHRoZW5DYXNlLCBSZWdpc3RlcklEIGVs
c2VDYXNlLCBSZWdpc3RlcklEIGRlc3QpCiAgICAgewotICAgICAgICBBU1NFUlQoaXNTU0UyUHJl
c2VudCgpKTsKLQogICAgICAgICBpZiAodGhlbkNhc2UgIT0gZGVzdCAmJiBlbHNlQ2FzZSAhPSBk
ZXN0KSB7CiAgICAgICAgICAgICBtb3ZlKGVsc2VDYXNlLCBkZXN0KTsKICAgICAgICAgICAgIGVs
c2VDYXNlID0gZGVzdDsKQEAgLTIyNzcsOCArMjIxNiw2IEBAIHB1YmxpYzoKIAogICAgIHZvaWQg
bW92ZUNvbmRpdGlvbmFsbHlGbG9hdChEb3VibGVDb25kaXRpb24gY29uZCwgRlBSZWdpc3RlcklE
IGxlZnQsIEZQUmVnaXN0ZXJJRCByaWdodCwgUmVnaXN0ZXJJRCBzcmMsIFJlZ2lzdGVySUQgZGVz
dCkKICAgICB7Ci0gICAgICAgIEFTU0VSVChpc1NTRTJQcmVzZW50KCkpOwotCiAgICAgICAgIGlm
IChjb25kICYgRG91YmxlQ29uZGl0aW9uQml0SW52ZXJ0KQogICAgICAgICAgICAgbV9hc3NlbWJs
ZXIudWNvbWlzc19ycihsZWZ0LCByaWdodCk7CiAgICAgICAgIGVsc2UKQEAgLTIyODgsOCArMjIy
NSw2IEBAIHB1YmxpYzoKIAogICAgIHZvaWQgbW92ZUNvbmRpdGlvbmFsbHlGbG9hdChEb3VibGVD
b25kaXRpb24gY29uZCwgRlBSZWdpc3RlcklEIGxlZnQsIEZQUmVnaXN0ZXJJRCByaWdodCwgUmVn
aXN0ZXJJRCB0aGVuQ2FzZSwgUmVnaXN0ZXJJRCBlbHNlQ2FzZSwgUmVnaXN0ZXJJRCBkZXN0KQog
ICAgIHsKLSAgICAgICAgQVNTRVJUKGlzU1NFMlByZXNlbnQoKSk7Ci0KICAgICAgICAgaWYgKHRo
ZW5DYXNlICE9IGRlc3QgJiYgZWxzZUNhc2UgIT0gZGVzdCkgewogICAgICAgICAgICAgbW92ZShl
bHNlQ2FzZSwgZGVzdCk7CiAgICAgICAgICAgICBlbHNlQ2FzZSA9IGRlc3Q7CkBAIC0yMzc0LDgg
KzIzMDksNiBAQCBwdWJsaWM6CiAKICAgICB2b2lkIG1vdmVDb25kaXRpb25hbGx5RG91YmxlKERv
dWJsZUNvbmRpdGlvbiBjb25kLCBGUFJlZ2lzdGVySUQgbGVmdCwgRlBSZWdpc3RlcklEIHJpZ2h0
LCBSZWdpc3RlcklEIHNyYywgUmVnaXN0ZXJJRCBkZXN0KQogICAgIHsKLSAgICAgICAgQVNTRVJU
KGlzU1NFMlByZXNlbnQoKSk7Ci0KICAgICAgICAgaWYgKGNvbmQgJiBEb3VibGVDb25kaXRpb25C
aXRJbnZlcnQpCiAgICAgICAgICAgICBtX2Fzc2VtYmxlci51Y29taXNkX3JyKGxlZnQsIHJpZ2h0
KTsKICAgICAgICAgZWxzZQpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL29mZmxp
bmVhc20veDg2LnJiIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL29mZmxpbmVhc20veDg2LnJiCmlu
ZGV4IDYyYWEzNWE1MTUwLi43OTY5OTY0NjhlMiAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3Jp
cHRDb3JlL29mZmxpbmVhc20veDg2LnJiCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9vZmZs
aW5lYXNtL3g4Ni5yYgpAQCAtMTEwLDIxICsxMTAsNiBAQCBkZWYgaXNXaW4KICAgICBlbmQKIGVu
ZAogCi1kZWYgdXNlWDg3Ci0gICAgY2FzZSAkYWN0aXZlQmFja2VuZAotICAgIHdoZW4gIlg4NiIK
LSAgICAgICAgdHJ1ZQotICAgIHdoZW4gIlg4Nl9XSU4iCi0gICAgICAgIHRydWUKLSAgICB3aGVu
ICJYODZfNjQiCi0gICAgICAgIGZhbHNlCi0gICAgd2hlbiAiWDg2XzY0X1dJTiIKLSAgICAgICAg
ZmFsc2UKLSAgICBlbHNlCi0gICAgICAgIHJhaXNlICJiYWQgdmFsdWUgZm9yICRhY3RpdmVCYWNr
ZW5kOiAjeyRhY3RpdmVCYWNrZW5kfSIKLSAgICBlbmQKLWVuZAotCiBkZWYgaXNNU1ZDCiAgICAg
JG9wdGlvbnMuaGFzX2tleT8oOmFzc2VtYmxlcikgJiYgJG9wdGlvbnNbOmFzc2VtYmxlcl0gPT0g
Ik1BU00iCiBlbmQKQEAgLTM0MSw3ICszMjYsNiBAQCBlbmQKIGNsYXNzIEZQUmVnaXN0ZXJJRAog
ICAgIGRlZiB4ODZPcGVyYW5kKGtpbmQpCiAgICAgICAgIHJhaXNlIHVubGVzcyBraW5kID09IDpk
b3VibGUKLSAgICAgICAgcmFpc2UgaWYgdXNlWDg3CiAgICAgICAgIGNhc2UgbmFtZQogICAgICAg
ICB3aGVuICJmdDAiLCAiZmEwIiwgImZyIgogICAgICAgICAgICAgcmVnaXN0ZXIoInhtbTAiKQpA
QCAtMzU5LDIzICszNDMsNiBAQCBjbGFzcyBGUFJlZ2lzdGVySUQKICAgICAgICAgICAgIHJhaXNl
ICJCYWQgcmVnaXN0ZXIgI3tuYW1lfSBmb3IgWDg2IGF0ICN7Y29kZU9yaWdpblN0cmluZ30iCiAg
ICAgICAgIGVuZAogICAgIGVuZAotICAgIGRlZiB4ODdEZWZhdWx0U3RhY2tQb3NpdGlvbgotICAg
ICAgICBjYXNlIG5hbWUKLSAgICAgICAgd2hlbiAiZnQwIiwgImZyIgotICAgICAgICAgICAgMAot
ICAgICAgICB3aGVuICJmdDEiCi0gICAgICAgICAgICAxCi0gICAgICAgIHdoZW4gImZ0MiIsICJm
dDMiLCAiZnQ0IiwgImZ0NSIKLSAgICAgICAgICAgIHJhaXNlICJVbmltcGxlbWVudGVkIHJlZ2lz
dGVyICN7bmFtZX0gZm9yIFg4NiBhdCAje2NvZGVPcmlnaW5TdHJpbmd9IgotICAgICAgICBlbHNl
Ci0gICAgICAgICAgICByYWlzZSAiQmFkIHJlZ2lzdGVyICN7bmFtZX0gZm9yIFg4NiBhdCAje2Nv
ZGVPcmlnaW5TdHJpbmd9IgotICAgICAgICBlbmQKLSAgICBlbmQKLSAgICBkZWYgeDg3T3BlcmFu
ZChvZmZzZXQpCi0gICAgICAgIHJhaXNlIHVubGVzcyB1c2VYODcKLSAgICAgICAgcmFpc2UgdW5s
ZXNzIG9mZnNldCA9PSAwIG9yIG9mZnNldCA9PSAxCi0gICAgICAgICIje3JlZ2lzdGVyKCJzdCIp
fSgje3g4N0RlZmF1bHRTdGFja1Bvc2l0aW9uICsgb2Zmc2V0fSkiCi0gICAgZW5kCiAgICAgZGVm
IHg4NkNhbGxPcGVyYW5kKGtpbmQpCiAgICAgICAgICIje2NhbGxQcmVmaXh9I3t4ODZPcGVyYW5k
KGtpbmQpfSIKICAgICBlbmQKQEAgLTU2MSw3ICs1MjgsNyBAQCBjbGFzcyBJbnN0cnVjdGlvbgog
ICAgICAgICB3aGVuIDpxdWFkCiAgICAgICAgICAgICBpc1g2NCA/ICJxIiA6IHJhaXNlCiAgICAg
ICAgIHdoZW4gOmRvdWJsZQotICAgICAgICAgICAgbm90IHVzZVg4NyA/ICJzZCIgOiByYWlzZQor
ICAgICAgICAgICAgInNkIgogICAgICAgICBlbHNlCiAgICAgICAgICAgICByYWlzZQogICAgICAg
ICBlbmQKQEAgLTYzMywxNyArNjAwLDEzIEBAIGNsYXNzIEluc3RydWN0aW9uCiAgICAgZW5kCiAg
ICAgCiAgICAgZGVmIGhhbmRsZVg4NkRvdWJsZUJyYW5jaChicmFuY2hPcGNvZGUsIG1vZGUpCi0g
ICAgICAgIGlmIHVzZVg4NwotICAgICAgICAgICAgaGFuZGxlWDg3Q29tcGFyZShtb2RlKQorICAg
ICAgICBjYXNlIG1vZGUKKyAgICAgICAgd2hlbiA6bm9ybWFsCisgICAgICAgICAgICAkYXNtLnB1
dHMgInVjb21pc2QgI3tvcmRlck9wZXJhbmRzKG9wZXJhbmRzWzFdLng4Nk9wZXJhbmQoOmRvdWJs
ZSksIG9wZXJhbmRzWzBdLng4Nk9wZXJhbmQoOmRvdWJsZSkpfSIKKyAgICAgICAgd2hlbiA6cmV2
ZXJzZQorICAgICAgICAgICAgJGFzbS5wdXRzICJ1Y29taXNkICN7b3JkZXJPcGVyYW5kcyhvcGVy
YW5kc1swXS54ODZPcGVyYW5kKDpkb3VibGUpLCBvcGVyYW5kc1sxXS54ODZPcGVyYW5kKDpkb3Vi
bGUpKX0iCiAgICAgICAgIGVsc2UKLSAgICAgICAgICAgIGNhc2UgbW9kZQotICAgICAgICAgICAg
d2hlbiA6bm9ybWFsCi0gICAgICAgICAgICAgICAgJGFzbS5wdXRzICJ1Y29taXNkICN7b3JkZXJP
cGVyYW5kcyhvcGVyYW5kc1sxXS54ODZPcGVyYW5kKDpkb3VibGUpLCBvcGVyYW5kc1swXS54ODZP
cGVyYW5kKDpkb3VibGUpKX0iCi0gICAgICAgICAgICB3aGVuIDpyZXZlcnNlCi0gICAgICAgICAg
ICAgICAgJGFzbS5wdXRzICJ1Y29taXNkICN7b3JkZXJPcGVyYW5kcyhvcGVyYW5kc1swXS54ODZP
cGVyYW5kKDpkb3VibGUpLCBvcGVyYW5kc1sxXS54ODZPcGVyYW5kKDpkb3VibGUpKX0iCi0gICAg
ICAgICAgICBlbHNlCi0gICAgICAgICAgICAgICAgcmFpc2UgbW9kZS5pbnNwZWN0Ci0gICAgICAg
ICAgICBlbmQKKyAgICAgICAgICAgIHJhaXNlIG1vZGUuaW5zcGVjdAogICAgICAgICBlbmQKICAg
ICAgICAgJGFzbS5wdXRzICIje2JyYW5jaE9wY29kZX0gI3tvcGVyYW5kc1syXS5hc21MYWJlbH0i
CiAgICAgZW5kCkBAIC04NjEsNDMgKzgyNCw2IEBAIGNsYXNzIEluc3RydWN0aW9uCiAgICAgICAg
IGVuZAogICAgIGVuZAogCi0gICAgZGVmIGhhbmRsZVg4N0NvbXBhcmUobW9kZSkKLSAgICAgICAg
ZmxvYXRpbmdQb2ludENvbXBhcmVJbXBsaWNpdE9wZXJhbmQgPSBnZXRJbXBsaWNpdE9wZXJhbmRT
dHJpbmcKLSAgICAgICAgY2FzZSBtb2RlCi0gICAgICAgIHdoZW4gOm5vcm1hbAotICAgICAgICAg
ICAgaWYgKG9wZXJhbmRzWzBdLng4N0RlZmF1bHRTdGFja1Bvc2l0aW9uID09IDApCi0gICAgICAg
ICAgICAgICAgJGFzbS5wdXRzICJmdWNvbWkgI3tmbG9hdGluZ1BvaW50Q29tcGFyZUltcGxpY2l0
T3BlcmFuZH0je29wZXJhbmRzWzFdLng4N09wZXJhbmQoMCl9IgotICAgICAgICAgICAgZWxzZQot
ICAgICAgICAgICAgICAgICRhc20ucHV0cyAiZmxkICN7b3BlcmFuZHNbMF0ueDg3T3BlcmFuZCgw
KX0iCi0gICAgICAgICAgICAgICAgJGFzbS5wdXRzICJmdWNvbWlwICN7ZmxvYXRpbmdQb2ludENv
bXBhcmVJbXBsaWNpdE9wZXJhbmR9I3tvcGVyYW5kc1sxXS54ODdPcGVyYW5kKDEpfSIKLSAgICAg
ICAgICAgIGVuZAotICAgICAgICB3aGVuIDpyZXZlcnNlCi0gICAgICAgICAgICBpZiAob3BlcmFu
ZHNbMV0ueDg3RGVmYXVsdFN0YWNrUG9zaXRpb24gPT0gMCkKLSAgICAgICAgICAgICAgICAkYXNt
LnB1dHMgImZ1Y29taSAje2Zsb2F0aW5nUG9pbnRDb21wYXJlSW1wbGljaXRPcGVyYW5kfSN7b3Bl
cmFuZHNbMF0ueDg3T3BlcmFuZCgwKX0iCi0gICAgICAgICAgICBlbHNlCi0gICAgICAgICAgICAg
ICAgJGFzbS5wdXRzICJmbGQgI3tvcGVyYW5kc1sxXS54ODdPcGVyYW5kKDApfSIKLSAgICAgICAg
ICAgICAgICAkYXNtLnB1dHMgImZ1Y29taXAgI3tmbG9hdGluZ1BvaW50Q29tcGFyZUltcGxpY2l0
T3BlcmFuZH0je29wZXJhbmRzWzBdLng4N09wZXJhbmQoMSl9IgotICAgICAgICAgICAgZW5kCi0g
ICAgICAgIGVsc2UKLSAgICAgICAgICAgIHJhaXNlIG1vZGUuaW5zcGVjdAotICAgICAgICBlbmQK
LSAgICBlbmQKLQotICAgIGRlZiBoYW5kbGVYODdCaW5PcChvcGNvZGUsIG9wY29kZXJldmVyc2Up
Ci0gICAgICAgIGlmIChvcGVyYW5kc1sxXS54ODdEZWZhdWx0U3RhY2tQb3NpdGlvbiA9PSAwKQot
ICAgICAgICAgICAgJGFzbS5wdXRzICIje29wY29kZX0gI3tvcmRlck9wZXJhbmRzKG9wZXJhbmRz
WzBdLng4N09wZXJhbmQoMCksIHJlZ2lzdGVyKCJzdCIpKX0iCi0gICAgICAgIGVsc2lmIChvcGVy
YW5kc1swXS54ODdEZWZhdWx0U3RhY2tQb3NpdGlvbiA9PSAwKQotICAgICAgICAgICAgaWYgIWlz
SW50ZWxTeW50YXgKLSAgICAgICAgICAgICAgICAkYXNtLnB1dHMgIiN7b3Bjb2RlcmV2ZXJzZX0g
I3tyZWdpc3Rlcigic3QiKX0sICN7b3BlcmFuZHNbMV0ueDg3T3BlcmFuZCgwKX0iCi0gICAgICAg
ICAgICBlbHNlCi0gICAgICAgICAgICAgICAgJGFzbS5wdXRzICIje29wY29kZX0gI3tvcGVyYW5k
c1sxXS54ODdPcGVyYW5kKDApfSwgI3tyZWdpc3Rlcigic3QiKX0iCi0gICAgICAgICAgICBlbmQK
LSAgICAgICAgZWxzZQotICAgICAgICAgICAgJGFzbS5wdXRzICJmbGQgI3tvcGVyYW5kc1swXS54
ODdPcGVyYW5kKDApfSIKLSAgICAgICAgICAgICRhc20ucHV0cyAiI3tvcGNvZGVyZXZlcnNlfXAg
I3tvcmRlck9wZXJhbmRzKHJlZ2lzdGVyKCJzdCIpLCBvcGVyYW5kc1sxXS54ODdPcGVyYW5kKDEp
KX0iCi0gICAgICAgIGVuZAotICAgIGVuZAotCiAgICAgZGVmIGxvd2VyWDg2CiAgICAgICAgIHJh
aXNlIHVubGVzcyAkYWN0aXZlQmFja2VuZCA9PSAiWDg2IgogICAgICAgICBsb3dlclg4NkNvbW1v
bgpAQCAtMTAzOSw4OSArOTY1LDI1IEBAIGNsYXNzIEluc3RydWN0aW9uCiAgICAgICAgIHdoZW4g
InN0b3JlYiIKICAgICAgICAgICAgICRhc20ucHV0cyAibW92I3t4ODZTdWZmaXgoOmJ5dGUpfSAj
e3g4Nk9wZXJhbmRzKDpieXRlLCA6Ynl0ZSl9IgogICAgICAgICB3aGVuICJsb2FkZCIKLSAgICAg
ICAgICAgIGlmIHVzZVg4NwotICAgICAgICAgICAgICAgIGlmICFpc0ludGVsU3ludGF4Ci0gICAg
ICAgICAgICAgICAgICAgICRhc20ucHV0cyAiZmxkbCAje29wZXJhbmRzWzBdLng4Nk9wZXJhbmQo
OmRvdWJsZSl9IgotICAgICAgICAgICAgICAgIGVsc2UKLSAgICAgICAgICAgICAgICAgICAgJGFz
bS5wdXRzICJmbGQgI3tvcGVyYW5kc1swXS54ODZPcGVyYW5kKDpkb3VibGUpfSIKLSAgICAgICAg
ICAgICAgICBlbmQKLSAgICAgICAgICAgICAgICAkYXNtLnB1dHMgImZzdHAgI3tvcGVyYW5kc1sx
XS54ODdPcGVyYW5kKDEpfSIKLSAgICAgICAgICAgIGVsc2UKLSAgICAgICAgICAgICAgICAkYXNt
LnB1dHMgIm1vdnNkICN7eDg2T3BlcmFuZHMoOmRvdWJsZSwgOmRvdWJsZSl9IgotICAgICAgICAg
ICAgZW5kCisgICAgICAgICAgICAkYXNtLnB1dHMgIm1vdnNkICN7eDg2T3BlcmFuZHMoOmRvdWJs
ZSwgOmRvdWJsZSl9IgogICAgICAgICB3aGVuICJtb3ZlZCIKLSAgICAgICAgICAgIGlmIHVzZVg4
NwotICAgICAgICAgICAgICAgIGlmIChvcGVyYW5kc1swXS54ODdEZWZhdWx0U3RhY2tQb3NpdGlv
biA9PSAwKQotICAgICAgICAgICAgICAgICAgICAkYXNtLnB1dHMgImZzdCAje29wZXJhbmRzWzFd
Lng4N09wZXJhbmQoMCl9IgotICAgICAgICAgICAgICAgIGVsc2UKLSAgICAgICAgICAgICAgICAg
ICAgJGFzbS5wdXRzICJmbGQgI3tvcGVyYW5kc1swXS54ODdPcGVyYW5kKDApfSIKLSAgICAgICAg
ICAgICAgICAgICAgJGFzbS5wdXRzICJmc3RwICN7b3BlcmFuZHNbMV0ueDg3T3BlcmFuZCgxKX0i
Ci0gICAgICAgICAgICAgICAgZW5kCi0gICAgICAgICAgICBlbHNlCi0gICAgICAgICAgICAgICAg
JGFzbS5wdXRzICJtb3ZzZCAje3g4Nk9wZXJhbmRzKDpkb3VibGUsIDpkb3VibGUpfSIKLSAgICAg
ICAgICAgIGVuZAorICAgICAgICAgICAgJGFzbS5wdXRzICJtb3ZzZCAje3g4Nk9wZXJhbmRzKDpk
b3VibGUsIDpkb3VibGUpfSIKICAgICAgICAgd2hlbiAic3RvcmVkIgotICAgICAgICAgICAgaWYg
dXNlWDg3Ci0gICAgICAgICAgICAgICAgaWYgKG9wZXJhbmRzWzBdLng4N0RlZmF1bHRTdGFja1Bv
c2l0aW9uID09IDApCi0gICAgICAgICAgICAgICAgICAgICRhc20ucHV0cyAiZnN0I3t4ODZTdWZm
aXgoOmludCl9ICN7b3BlcmFuZHNbMV0ueDg2T3BlcmFuZCg6ZG91YmxlKX0iCi0gICAgICAgICAg
ICAgICAgZWxzZQotICAgICAgICAgICAgICAgICAgICAkYXNtLnB1dHMgImZsZCAje29wZXJhbmRz
WzBdLng4N09wZXJhbmQoMCl9IgotICAgICAgICAgICAgICAgICAgICBpZiAhaXNJbnRlbFN5bnRh
eAotICAgICAgICAgICAgICAgICAgICAgICAgJGFzbS5wdXRzICJmc3RwbCAje29wZXJhbmRzWzFd
Lng4Nk9wZXJhbmQoOmRvdWJsZSl9IgotICAgICAgICAgICAgICAgICAgICBlbHNlCi0gICAgICAg
ICAgICAgICAgICAgICAgICAkYXNtLnB1dHMgImZzdHAgI3tvcGVyYW5kc1sxXS54ODZPcGVyYW5k
KDpkb3VibGUpfSIKLSAgICAgICAgICAgICAgICAgICAgZW5kCi0gICAgICAgICAgICAgICAgZW5k
Ci0gICAgICAgICAgICBlbHNlCi0gICAgICAgICAgICAgICAgJGFzbS5wdXRzICJtb3ZzZCAje3g4
Nk9wZXJhbmRzKDpkb3VibGUsIDpkb3VibGUpfSIKLSAgICAgICAgICAgIGVuZAorICAgICAgICAg
ICAgJGFzbS5wdXRzICJtb3ZzZCAje3g4Nk9wZXJhbmRzKDpkb3VibGUsIDpkb3VibGUpfSIKICAg
ICAgICAgd2hlbiAiYWRkZCIKLSAgICAgICAgICAgIGlmIHVzZVg4NwotICAgICAgICAgICAgICAg
IGhhbmRsZVg4N0Jpbk9wKCJmYWRkIiwgImZhZGQiKQotICAgICAgICAgICAgZWxzZQotICAgICAg
ICAgICAgICAgICRhc20ucHV0cyAiYWRkc2QgI3t4ODZPcGVyYW5kcyg6ZG91YmxlLCA6ZG91Ymxl
KX0iCi0gICAgICAgICAgICBlbmQKKyAgICAgICAgICAgICRhc20ucHV0cyAiYWRkc2QgI3t4ODZP
cGVyYW5kcyg6ZG91YmxlLCA6ZG91YmxlKX0iCiAgICAgICAgIHdoZW4gIm11bGQiCi0gICAgICAg
ICAgICBpZiB1c2VYODcKLSAgICAgICAgICAgICAgICBoYW5kbGVYODdCaW5PcCgiZm11bCIsICJm
bXVsIikKLSAgICAgICAgICAgIGVsc2UKLSAgICAgICAgICAgICAgICAkYXNtLnB1dHMgIm11bHNk
ICN7eDg2T3BlcmFuZHMoOmRvdWJsZSwgOmRvdWJsZSl9IgotICAgICAgICAgICAgZW5kCisgICAg
ICAgICAgICAkYXNtLnB1dHMgIm11bHNkICN7eDg2T3BlcmFuZHMoOmRvdWJsZSwgOmRvdWJsZSl9
IgogICAgICAgICB3aGVuICJzdWJkIgotICAgICAgICAgICAgaWYgdXNlWDg3Ci0gICAgICAgICAg
ICAgICAgaGFuZGxlWDg3QmluT3AoImZzdWIiLCAiZnN1YnIiKQotICAgICAgICAgICAgZWxzZQot
ICAgICAgICAgICAgICAgICRhc20ucHV0cyAic3Vic2QgI3t4ODZPcGVyYW5kcyg6ZG91YmxlLCA6
ZG91YmxlKX0iCi0gICAgICAgICAgICBlbmQKKyAgICAgICAgICAgICRhc20ucHV0cyAic3Vic2Qg
I3t4ODZPcGVyYW5kcyg6ZG91YmxlLCA6ZG91YmxlKX0iCiAgICAgICAgIHdoZW4gImRpdmQiCi0g
ICAgICAgICAgICBpZiB1c2VYODcKLSAgICAgICAgICAgICAgICBoYW5kbGVYODdCaW5PcCgiZmRp
diIsICJmZGl2ciIpCi0gICAgICAgICAgICBlbHNlCi0gICAgICAgICAgICAgICAgJGFzbS5wdXRz
ICJkaXZzZCAje3g4Nk9wZXJhbmRzKDpkb3VibGUsIDpkb3VibGUpfSIKLSAgICAgICAgICAgIGVu
ZAorICAgICAgICAgICAgJGFzbS5wdXRzICJkaXZzZCAje3g4Nk9wZXJhbmRzKDpkb3VibGUsIDpk
b3VibGUpfSIKICAgICAgICAgd2hlbiAic3FydGQiCi0gICAgICAgICAgICBpZiB1c2VYODcKLSAg
ICAgICAgICAgICAgICAkYXNtLnB1dHMgImZsZCAje29wZXJhbmRzWzBdLng4N09wZXJhbmQoMCl9
IgotICAgICAgICAgICAgICAgICRhc20ucHV0cyAiZnNxcnRsIgotICAgICAgICAgICAgICAgICRh
c20ucHV0cyAiZnN0cCAje29wZXJhbmRzWzFdLng4N09wZXJhbmQoMSl9IgotICAgICAgICAgICAg
ZWxzZQotICAgICAgICAgICAgICAgICRhc20ucHV0cyAic3FydHNkICN7b3BlcmFuZHNbMF0ueDg2
T3BlcmFuZCg6ZG91YmxlKX0sICN7b3BlcmFuZHNbMV0ueDg2T3BlcmFuZCg6ZG91YmxlKX0iCi0g
ICAgICAgICAgICBlbmQKKyAgICAgICAgICAgICRhc20ucHV0cyAic3FydHNkICN7b3BlcmFuZHNb
MF0ueDg2T3BlcmFuZCg6ZG91YmxlKX0sICN7b3BlcmFuZHNbMV0ueDg2T3BlcmFuZCg6ZG91Ymxl
KX0iCiAgICAgICAgIHdoZW4gImNpMmQiCi0gICAgICAgICAgICBpZiB1c2VYODcKLSAgICAgICAg
ICAgICAgICBzcCA9IFJlZ2lzdGVySUQubmV3KG5pbCwgInNwIikKLSAgICAgICAgICAgICAgICAk
YXNtLnB1dHMgIm1vdiN7eDg2U3VmZml4KDppbnQpfSAje29yZGVyT3BlcmFuZHMob3BlcmFuZHNb
MF0ueDg2T3BlcmFuZCg6aW50KSwgb2Zmc2V0UmVnaXN0ZXIoLTQsIHNwLng4Nk9wZXJhbmQoOnB0
cikpKX0iCi0gICAgICAgICAgICAgICAgJGFzbS5wdXRzICJmaWxkI3t4ODZTdWZmaXgoOnB0cil9
ICN7Z2V0U2l6ZVN0cmluZyg6cHRyKX0je29mZnNldFJlZ2lzdGVyKC00LCBzcC54ODZPcGVyYW5k
KDpwdHIpKX0iCi0gICAgICAgICAgICAgICAgJGFzbS5wdXRzICJmc3RwICN7b3BlcmFuZHNbMV0u
eDg3T3BlcmFuZCgxKX0iCi0gICAgICAgICAgICBlbHNlCi0gICAgICAgICAgICAgICAgJGFzbS5w
dXRzICJjdnRzaTJzZCAje29yZGVyT3BlcmFuZHMob3BlcmFuZHNbMF0ueDg2T3BlcmFuZCg6aW50
KSwgb3BlcmFuZHNbMV0ueDg2T3BlcmFuZCg6ZG91YmxlKSl9IgotICAgICAgICAgICAgZW5kCisg
ICAgICAgICAgICAkYXNtLnB1dHMgImN2dHNpMnNkICN7b3JkZXJPcGVyYW5kcyhvcGVyYW5kc1sw
XS54ODZPcGVyYW5kKDppbnQpLCBvcGVyYW5kc1sxXS54ODZPcGVyYW5kKDpkb3VibGUpKX0iCiAg
ICAgICAgIHdoZW4gImJkZXEiCi0gICAgICAgICAgICBpZiB1c2VYODcKLSAgICAgICAgICAgICAg
ICBoYW5kbGVYODdDb21wYXJlKDpub3JtYWwpCi0gICAgICAgICAgICBlbHNlCi0gICAgICAgICAg
ICAgICAgJGFzbS5wdXRzICJ1Y29taXNkICN7b3JkZXJPcGVyYW5kcyhvcGVyYW5kc1swXS54ODZP
cGVyYW5kKDpkb3VibGUpLCBvcGVyYW5kc1sxXS54ODZPcGVyYW5kKDpkb3VibGUpKX0iCi0gICAg
ICAgICAgICBlbmQKKyAgICAgICAgICAgICRhc20ucHV0cyAidWNvbWlzZCAje29yZGVyT3BlcmFu
ZHMob3BlcmFuZHNbMF0ueDg2T3BlcmFuZCg6ZG91YmxlKSwgb3BlcmFuZHNbMV0ueDg2T3BlcmFu
ZCg6ZG91YmxlKSl9IgogICAgICAgICAgICAgaWYgb3BlcmFuZHNbMF0gPT0gb3BlcmFuZHNbMV0K
ICAgICAgICAgICAgICAgICAjIFRoaXMgaXMganVzdCBhIGp1bXAgb3JkZXJlZCwgd2hpY2ggaXMg
YSBqbnAuCiAgICAgICAgICAgICAgICAgJGFzbS5wdXRzICJqbnAgI3tvcGVyYW5kc1syXS5hc21M
YWJlbH0iCkBAIC0xMTQ0LDExICsxMDA2LDcgQEAgY2xhc3MgSW5zdHJ1Y3Rpb24KICAgICAgICAg
d2hlbiAiYmRlcXVuIgogICAgICAgICAgICAgaGFuZGxlWDg2RG91YmxlQnJhbmNoKCJqZSIsIDpu
b3JtYWwpCiAgICAgICAgIHdoZW4gImJkbmVxdW4iCi0gICAgICAgICAgICBpZiB1c2VYODcKLSAg
ICAgICAgICAgICAgICBoYW5kbGVYODdDb21wYXJlKDpub3JtYWwpCi0gICAgICAgICAgICBlbHNl
Ci0gICAgICAgICAgICAgICAgJGFzbS5wdXRzICJ1Y29taXNkICN7b3JkZXJPcGVyYW5kcyhvcGVy
YW5kc1swXS54ODZPcGVyYW5kKDpkb3VibGUpLCBvcGVyYW5kc1sxXS54ODZPcGVyYW5kKDpkb3Vi
bGUpKX0iCi0gICAgICAgICAgICBlbmQKKyAgICAgICAgICAgICRhc20ucHV0cyAidWNvbWlzZCAj
e29yZGVyT3BlcmFuZHMob3BlcmFuZHNbMF0ueDg2T3BlcmFuZCg6ZG91YmxlKSwgb3BlcmFuZHNb
MV0ueDg2T3BlcmFuZCg6ZG91YmxlKSl9IgogICAgICAgICAgICAgaWYgb3BlcmFuZHNbMF0gPT0g
b3BlcmFuZHNbMV0KICAgICAgICAgICAgICAgICAjIFRoaXMgaXMganVzdCBhIGp1bXAgdW5vcmRl
cmVkLCB3aGljaCBpcyBhIGpwLgogICAgICAgICAgICAgICAgICRhc20ucHV0cyAianAgI3tvcGVy
YW5kc1syXS5hc21MYWJlbH0iCkBAIC0xMTcwLDQ4ICsxMDI4LDIxIEBAIGNsYXNzIEluc3RydWN0
aW9uCiAgICAgICAgIHdoZW4gImJkbHRlcXVuIgogICAgICAgICAgICAgaGFuZGxlWDg2RG91Ymxl
QnJhbmNoKCJqYmUiLCA6bm9ybWFsKQogICAgICAgICB3aGVuICJidGQyaSIKLSAgICAgICAgICAg
ICMgRklYTUU6IHVudXNlZCBhbmQgdW5pbXBsZW1lbnRlZCBmb3IgeDg3Ci0gICAgICAgICAgICBy
YWlzZSBpZiB1c2VYODcKICAgICAgICAgICAgICRhc20ucHV0cyAiY3Z0dHNkMnNpICN7b3BlcmFu
ZHNbMF0ueDg2T3BlcmFuZCg6ZG91YmxlKX0sICN7b3BlcmFuZHNbMV0ueDg2T3BlcmFuZCg6aW50
KX0iCiAgICAgICAgICAgICAkYXNtLnB1dHMgImNtcGwgJDB4ODAwMDAwMDAgI3tvcGVyYW5kc1sx
XS54ODZPcGVyYW5kKDppbnQpfSIKICAgICAgICAgICAgICRhc20ucHV0cyAiamUgI3tvcGVyYW5k
c1syXS5hc21MYWJlbH0iCiAgICAgICAgIHdoZW4gInRkMmkiCi0gICAgICAgICAgICAjIEZJWE1F
OiB1bnVzZWQgYW5kIHVuaW1wbGVtZW50ZWQgZm9yIHg4NwotICAgICAgICAgICAgcmFpc2UgaWYg
dXNlWDg3CiAgICAgICAgICAgICAkYXNtLnB1dHMgImN2dHRzZDJzaSAje29wZXJhbmRzWzBdLng4
Nk9wZXJhbmQoOmRvdWJsZSl9LCAje29wZXJhbmRzWzFdLng4Nk9wZXJhbmQoOmludCl9IgogICAg
ICAgICB3aGVuICJiY2QyaSIKLSAgICAgICAgICAgIGlmIHVzZVg4NwotICAgICAgICAgICAgICAg
IGZsb2F0aW5nUG9pbnRDb21wYXJlSW1wbGljaXRPcGVyYW5kID0gZ2V0SW1wbGljaXRPcGVyYW5k
U3RyaW5nCi0gICAgICAgICAgICAgICAgc3AgPSBSZWdpc3RlcklELm5ldyhuaWwsICJzcCIpCi0g
ICAgICAgICAgICAgICAgaWYgKG9wZXJhbmRzWzBdLng4N0RlZmF1bHRTdGFja1Bvc2l0aW9uID09
IDApCi0gICAgICAgICAgICAgICAgICAgICRhc20ucHV0cyAiZmlzdGwgLTQoI3tzcC54ODZPcGVy
YW5kKDpwdHIpfSkiCi0gICAgICAgICAgICAgICAgZWxzZQotICAgICAgICAgICAgICAgICAgICAk
YXNtLnB1dHMgImZsZCAje29wZXJhbmRzWzBdLng4N09wZXJhbmQoMCl9IgotICAgICAgICAgICAg
ICAgICAgICAkYXNtLnB1dHMgImZpc3RwI3t4ODZTdWZmaXgoOnB0cil9ICN7Z2V0U2l6ZVN0cmlu
Zyg6cHRyKX0je29mZnNldFJlZ2lzdGVyKC00LCBzcC54ODZPcGVyYW5kKDpwdHIpKX0iCi0gICAg
ICAgICAgICAgICAgZW5kCi0gICAgICAgICAgICAgICAgJGFzbS5wdXRzICJtb3Yje3g4NlN1ZmZp
eCg6aW50KX0gI3tvcmRlck9wZXJhbmRzKG9mZnNldFJlZ2lzdGVyKC00LCBzcC54ODZPcGVyYW5k
KDpwdHIpKSwgb3BlcmFuZHNbMV0ueDg2T3BlcmFuZCg6aW50KSl9IgotICAgICAgICAgICAgICAg
ICRhc20ucHV0cyAidGVzdCN7eDg2U3VmZml4KDppbnQpfSAje29wZXJhbmRzWzFdLng4Nk9wZXJh
bmQoOmludCl9LCAje29wZXJhbmRzWzFdLng4Nk9wZXJhbmQoOmludCl9IgotICAgICAgICAgICAg
ICAgICRhc20ucHV0cyAiamUgI3tvcGVyYW5kc1syXS5hc21MYWJlbH0iCi0gICAgICAgICAgICAg
ICAgJGFzbS5wdXRzICJmaWxkI3t4ODZTdWZmaXgoOmludCl9ICN7Z2V0U2l6ZVN0cmluZyg6aW50
KX0je29mZnNldFJlZ2lzdGVyKC00LCBzcC54ODZPcGVyYW5kKDpwdHIpKX0iCi0gICAgICAgICAg
ICAgICAgJGFzbS5wdXRzICJmdWNvbWlwICN7ZmxvYXRpbmdQb2ludENvbXBhcmVJbXBsaWNpdE9w
ZXJhbmR9I3tvcGVyYW5kc1swXS54ODdPcGVyYW5kKDEpfSIKLSAgICAgICAgICAgICAgICAkYXNt
LnB1dHMgImpwICN7b3BlcmFuZHNbMl0uYXNtTGFiZWx9IgotICAgICAgICAgICAgICAgICRhc20u
cHV0cyAiam5lICN7b3BlcmFuZHNbMl0uYXNtTGFiZWx9IgotICAgICAgICAgICAgZWxzZQotICAg
ICAgICAgICAgICAgICRhc20ucHV0cyAiY3Z0dHNkMnNpICN7b3BlcmFuZHNbMF0ueDg2T3BlcmFu
ZCg6ZG91YmxlKX0sICN7b3BlcmFuZHNbMV0ueDg2T3BlcmFuZCg6aW50KX0iCi0gICAgICAgICAg
ICAgICAgJGFzbS5wdXRzICJ0ZXN0I3t4ODZTdWZmaXgoOmludCl9ICN7b3BlcmFuZHNbMV0ueDg2
T3BlcmFuZCg6aW50KX0sICN7b3BlcmFuZHNbMV0ueDg2T3BlcmFuZCg6aW50KX0iCi0gICAgICAg
ICAgICAgICAgJGFzbS5wdXRzICJqZSAje29wZXJhbmRzWzJdLmFzbUxhYmVsfSIKLSAgICAgICAg
ICAgICAgICAkYXNtLnB1dHMgImN2dHNpMnNkICN7b3BlcmFuZHNbMV0ueDg2T3BlcmFuZCg6aW50
KX0sICV4bW03IgotICAgICAgICAgICAgICAgICRhc20ucHV0cyAidWNvbWlzZCAje29wZXJhbmRz
WzBdLng4Nk9wZXJhbmQoOmRvdWJsZSl9LCAleG1tNyIKLSAgICAgICAgICAgICAgICAkYXNtLnB1
dHMgImpwICN7b3BlcmFuZHNbMl0uYXNtTGFiZWx9IgotICAgICAgICAgICAgICAgICRhc20ucHV0
cyAiam5lICN7b3BlcmFuZHNbMl0uYXNtTGFiZWx9IgotICAgICAgICAgICAgZW5kCisgICAgICAg
ICAgICAkYXNtLnB1dHMgImN2dHRzZDJzaSAje29wZXJhbmRzWzBdLng4Nk9wZXJhbmQoOmRvdWJs
ZSl9LCAje29wZXJhbmRzWzFdLng4Nk9wZXJhbmQoOmludCl9IgorICAgICAgICAgICAgJGFzbS5w
dXRzICJ0ZXN0I3t4ODZTdWZmaXgoOmludCl9ICN7b3BlcmFuZHNbMV0ueDg2T3BlcmFuZCg6aW50
KX0sICN7b3BlcmFuZHNbMV0ueDg2T3BlcmFuZCg6aW50KX0iCisgICAgICAgICAgICAkYXNtLnB1
dHMgImplICN7b3BlcmFuZHNbMl0uYXNtTGFiZWx9IgorICAgICAgICAgICAgJGFzbS5wdXRzICJj
dnRzaTJzZCAje29wZXJhbmRzWzFdLng4Nk9wZXJhbmQoOmludCl9LCAleG1tNyIKKyAgICAgICAg
ICAgICRhc20ucHV0cyAidWNvbWlzZCAje29wZXJhbmRzWzBdLng4Nk9wZXJhbmQoOmRvdWJsZSl9
LCAleG1tNyIKKyAgICAgICAgICAgICRhc20ucHV0cyAianAgI3tvcGVyYW5kc1syXS5hc21MYWJl
bH0iCisgICAgICAgICAgICAkYXNtLnB1dHMgImpuZSAje29wZXJhbmRzWzJdLmFzbUxhYmVsfSIK
ICAgICAgICAgd2hlbiAibW92ZHoiCi0gICAgICAgICAgICBpZiB1c2VYODcKLSAgICAgICAgICAg
ICAgICAkYXNtLnB1dHMgImZsZHpsIgotICAgICAgICAgICAgICAgICRhc20ucHV0cyAiZnN0cCAj
e29wZXJhbmRzWzBdLng4N09wZXJhbmQoMSl9IgotICAgICAgICAgICAgZWxzZQotICAgICAgICAg
ICAgICAgICRhc20ucHV0cyAieG9ycGQgI3tvcGVyYW5kc1swXS54ODZPcGVyYW5kKDpkb3VibGUp
fSwgI3tvcGVyYW5kc1swXS54ODZPcGVyYW5kKDpkb3VibGUpfSIKLSAgICAgICAgICAgIGVuZAor
ICAgICAgICAgICAgJGFzbS5wdXRzICJ4b3JwZCAje29wZXJhbmRzWzBdLng4Nk9wZXJhbmQoOmRv
dWJsZSl9LCAje29wZXJhbmRzWzBdLng4Nk9wZXJhbmQoOmRvdWJsZSl9IgogICAgICAgICB3aGVu
ICJwb3AiCiAgICAgICAgICAgICBvcGVyYW5kcy5lYWNoIHsKICAgICAgICAgICAgICAgICB8IG9w
IHwKQEAgLTEzOTEsMTIgKzEyMjIsNiBAQCBjbGFzcyBJbnN0cnVjdGlvbgogICAgICAgICB3aGVu
ICJicmVhayIKICAgICAgICAgICAgICRhc20ucHV0cyAiaW50ICN7Y29uc3QoMyl9IgogICAgICAg
ICB3aGVuICJjYWxsIgotICAgICAgICAgICAgaWYgdXNlWDg3Ci0gICAgICAgICAgICAgICAgMi50
aW1lcyB7Ci0gICAgICAgICAgICAgICAgICAgIHwgb2Zmc2V0IHwKLSAgICAgICAgICAgICAgICAg
ICAgJGFzbS5wdXRzICJmZnJlZSAje3JlZ2lzdGVyKCJzdCIpfSgje29mZnNldH0pIgotICAgICAg
ICAgICAgICAgIH0KLSAgICAgICAgICAgIGVuZAogICAgICAgICAgICAgb3AgPSBvcGVyYW5kc1sw
XS54ODZDYWxsT3BlcmFuZCg6cHRyKQogICAgICAgICAgICAgaWYgb3BlcmFuZHNbMF0uaXNfYT8g
TGFiZWxSZWZlcmVuY2UKICAgICAgICAgICAgICAgICBvcGVyYW5kc1swXS51c2VkCkBAIC0xNTE3
LDY4ICsxMzQyLDMwIEBAIGNsYXNzIEluc3RydWN0aW9uCiAgICAgICAgIHdoZW4gImlkaXZpIgog
ICAgICAgICAgICAgJGFzbS5wdXRzICJpZGl2I3t4ODZTdWZmaXgoOmludCl9ICN7b3BlcmFuZHNb
MF0ueDg2T3BlcmFuZCg6aW50KX0iCiAgICAgICAgIHdoZW4gImZpaTJkIgotICAgICAgICAgICAg
aWYgdXNlWDg3Ci0gICAgICAgICAgICAgICAgc3AgPSBSZWdpc3RlcklELm5ldyhuaWwsICJzcCIp
Ci0gICAgICAgICAgICAgICAgJGFzbS5wdXRzICJtb3Yje3g4NlN1ZmZpeCg6aW50KX0gI3tvcmRl
ck9wZXJhbmRzKG9wZXJhbmRzWzBdLng4Nk9wZXJhbmQoOmludCksIG9mZnNldFJlZ2lzdGVyKC04
LCBzcC54ODZPcGVyYW5kKDpwdHIpKSl9IgotICAgICAgICAgICAgICAgICRhc20ucHV0cyAibW92
I3t4ODZTdWZmaXgoOmludCl9ICN7b3JkZXJPcGVyYW5kcyhvcGVyYW5kc1sxXS54ODZPcGVyYW5k
KDppbnQpLCBvZmZzZXRSZWdpc3RlcigtNCwgc3AueDg2T3BlcmFuZCg6cHRyKSkpfSIKLSAgICAg
ICAgICAgICAgICAkYXNtLnB1dHMgImZsZCN7eDg2U3VmZml4KDpwdHIpfSAje2dldFNpemVTdHJp
bmcoOmRvdWJsZSl9I3tvZmZzZXRSZWdpc3RlcigtOCwgc3AueDg2T3BlcmFuZCg6cHRyKSl9Igot
ICAgICAgICAgICAgICAgICRhc20ucHV0cyAiZnN0cCAje29wZXJhbmRzWzJdLng4N09wZXJhbmQo
MSl9IgotICAgICAgICAgICAgZWxzZQotICAgICAgICAgICAgICAgICRhc20ucHV0cyAibW92ZCAj
e29wZXJhbmRzWzBdLng4Nk9wZXJhbmQoOmludCl9LCAje29wZXJhbmRzWzJdLng4Nk9wZXJhbmQo
OmRvdWJsZSl9IgotICAgICAgICAgICAgICAgICRhc20ucHV0cyAibW92ZCAje29wZXJhbmRzWzFd
Lng4Nk9wZXJhbmQoOmludCl9LCAleG1tNyIKLSAgICAgICAgICAgICAgICAkYXNtLnB1dHMgInBz
bGxxICQzMiwgJXhtbTciCi0gICAgICAgICAgICAgICAgJGFzbS5wdXRzICJwb3IgJXhtbTcsICN7
b3BlcmFuZHNbMl0ueDg2T3BlcmFuZCg6ZG91YmxlKX0iCi0gICAgICAgICAgICBlbmQKKyAgICAg
ICAgICAgICRhc20ucHV0cyAibW92ZCAje29wZXJhbmRzWzBdLng4Nk9wZXJhbmQoOmludCl9LCAj
e29wZXJhbmRzWzJdLng4Nk9wZXJhbmQoOmRvdWJsZSl9IgorICAgICAgICAgICAgJGFzbS5wdXRz
ICJtb3ZkICN7b3BlcmFuZHNbMV0ueDg2T3BlcmFuZCg6aW50KX0sICV4bW03IgorICAgICAgICAg
ICAgJGFzbS5wdXRzICJwc2xscSAkMzIsICV4bW03IgorICAgICAgICAgICAgJGFzbS5wdXRzICJw
b3IgJXhtbTcsICN7b3BlcmFuZHNbMl0ueDg2T3BlcmFuZCg6ZG91YmxlKX0iCiAgICAgICAgIHdo
ZW4gImZkMmlpIgotICAgICAgICAgICAgaWYgdXNlWDg3Ci0gICAgICAgICAgICAgICAgc3AgPSBS
ZWdpc3RlcklELm5ldyhuaWwsICJzcCIpCi0gICAgICAgICAgICAgICAgaWYgKG9wZXJhbmRzWzBd
Lng4N0RlZmF1bHRTdGFja1Bvc2l0aW9uID09IDApCi0gICAgICAgICAgICAgICAgICAgICRhc20u
cHV0cyAiZnN0I3t4ODZTdWZmaXgoOnB0cil9ICN7Z2V0U2l6ZVN0cmluZyg6ZG91YmxlKX0je29m
ZnNldFJlZ2lzdGVyKC04LCBzcC54ODZPcGVyYW5kKDpwdHIpKX0iCi0gICAgICAgICAgICAgICAg
ZWxzZQotICAgICAgICAgICAgICAgICAgICAkYXNtLnB1dHMgImZsZCAje29wZXJhbmRzWzBdLng4
N09wZXJhbmQoMCl9IgotICAgICAgICAgICAgICAgICAgICAkYXNtLnB1dHMgImZzdHBsIC04KCN7
c3AueDg2T3BlcmFuZCg6cHRyKX0pIgotICAgICAgICAgICAgICAgIGVuZAotICAgICAgICAgICAg
ICAgICRhc20ucHV0cyAibW92I3t4ODZTdWZmaXgoOmludCl9ICN7b3JkZXJPcGVyYW5kcyhvZmZz
ZXRSZWdpc3RlcigtOCwgc3AueDg2T3BlcmFuZCg6cHRyKSksIG9wZXJhbmRzWzFdLng4Nk9wZXJh
bmQoOmludCkpfSIKLSAgICAgICAgICAgICAgICAkYXNtLnB1dHMgIm1vdiN7eDg2U3VmZml4KDpp
bnQpfSAje29yZGVyT3BlcmFuZHMob2Zmc2V0UmVnaXN0ZXIoLTQsIHNwLng4Nk9wZXJhbmQoOnB0
cikpLCBvcGVyYW5kc1syXS54ODZPcGVyYW5kKDppbnQpKX0iCi0gICAgICAgICAgICBlbHNlCi0g
ICAgICAgICAgICAgICAgJGFzbS5wdXRzICJtb3ZkICN7b3BlcmFuZHNbMF0ueDg2T3BlcmFuZCg6
ZG91YmxlKX0sICN7b3BlcmFuZHNbMV0ueDg2T3BlcmFuZCg6aW50KX0iCi0gICAgICAgICAgICAg
ICAgJGFzbS5wdXRzICJtb3ZzZCAje29wZXJhbmRzWzBdLng4Nk9wZXJhbmQoOmRvdWJsZSl9LCAl
eG1tNyIKLSAgICAgICAgICAgICAgICAkYXNtLnB1dHMgInBzcmxxICQzMiwgJXhtbTciCi0gICAg
ICAgICAgICAgICAgJGFzbS5wdXRzICJtb3ZkICV4bW03LCAje29wZXJhbmRzWzJdLng4Nk9wZXJh
bmQoOmludCl9IgotICAgICAgICAgICAgZW5kCisgICAgICAgICAgICAkYXNtLnB1dHMgIm1vdmQg
I3tvcGVyYW5kc1swXS54ODZPcGVyYW5kKDpkb3VibGUpfSwgI3tvcGVyYW5kc1sxXS54ODZPcGVy
YW5kKDppbnQpfSIKKyAgICAgICAgICAgICRhc20ucHV0cyAibW92c2QgI3tvcGVyYW5kc1swXS54
ODZPcGVyYW5kKDpkb3VibGUpfSwgJXhtbTciCisgICAgICAgICAgICAkYXNtLnB1dHMgInBzcmxx
ICQzMiwgJXhtbTciCisgICAgICAgICAgICAkYXNtLnB1dHMgIm1vdmQgJXhtbTcsICN7b3BlcmFu
ZHNbMl0ueDg2T3BlcmFuZCg6aW50KX0iCiAgICAgICAgIHdoZW4gImZxMmQiCi0gICAgICAgICAg
ICBpZiB1c2VYODcKLSAgICAgICAgICAgICAgICBzcCA9IFJlZ2lzdGVySUQubmV3KG5pbCwgInNw
IikKLSAgICAgICAgICAgICAgICAkYXNtLnB1dHMgIm1vdnEgI3tvcGVyYW5kc1swXS54ODZPcGVy
YW5kKDpxdWFkKX0sIC04KCN7c3AueDg2T3BlcmFuZCg6cHRyKX0pIgotICAgICAgICAgICAgICAg
ICRhc20ucHV0cyAiZmxkbCAtOCgje3NwLng4Nk9wZXJhbmQoOnB0cil9KSIKLSAgICAgICAgICAg
ICAgICAkYXNtLnB1dHMgImZzdHAgI3tvcGVyYW5kc1sxXS54ODdPcGVyYW5kKDEpfSIKKyAgICAg
ICAgICAgIGlmICFpc0ludGVsU3ludGF4CisgICAgICAgICAgICAgICAgJGFzbS5wdXRzICJtb3Zx
ICN7b3BlcmFuZHNbMF0ueDg2T3BlcmFuZCg6cXVhZCl9LCAje29wZXJhbmRzWzFdLng4Nk9wZXJh
bmQoOmRvdWJsZSl9IgogICAgICAgICAgICAgZWxzZQotICAgICAgICAgICAgICAgIGlmICFpc0lu
dGVsU3ludGF4Ci0gICAgICAgICAgICAgICAgICAgICRhc20ucHV0cyAibW92cSAje29wZXJhbmRz
WzBdLng4Nk9wZXJhbmQoOnF1YWQpfSwgI3tvcGVyYW5kc1sxXS54ODZPcGVyYW5kKDpkb3VibGUp
fSIKLSAgICAgICAgICAgICAgICBlbHNlCi0gICAgICAgICAgICAgICAgICAgICMgTUFTTSBkb2Vz
IG5vdCBhY2NlcHQgcmVnaXN0ZXIgb3BlcmFuZHMgd2l0aCBtb3ZxLgotICAgICAgICAgICAgICAg
ICAgICAjIERlYnVnZ2luZyBzaG93cyB0aGF0IG1vdmQgYWN0dWFsbHkgbW92ZXMgYSBxd29yZCB3
aGVuIHVzaW5nIE1BU00uCi0gICAgICAgICAgICAgICAgICAgICRhc20ucHV0cyAibW92ZCAje29w
ZXJhbmRzWzFdLng4Nk9wZXJhbmQoOmRvdWJsZSl9LCAje29wZXJhbmRzWzBdLng4Nk9wZXJhbmQo
OnF1YWQpfSIKLSAgICAgICAgICAgICAgICBlbmQKKyAgICAgICAgICAgICAgICAjIE1BU00gZG9l
cyBub3QgYWNjZXB0IHJlZ2lzdGVyIG9wZXJhbmRzIHdpdGggbW92cS4KKyAgICAgICAgICAgICAg
ICAjIERlYnVnZ2luZyBzaG93cyB0aGF0IG1vdmQgYWN0dWFsbHkgbW92ZXMgYSBxd29yZCB3aGVu
IHVzaW5nIE1BU00uCisgICAgICAgICAgICAgICAgJGFzbS5wdXRzICJtb3ZkICN7b3BlcmFuZHNb
MV0ueDg2T3BlcmFuZCg6ZG91YmxlKX0sICN7b3BlcmFuZHNbMF0ueDg2T3BlcmFuZCg6cXVhZCl9
IgogICAgICAgICAgICAgZW5kCiAgICAgICAgIHdoZW4gImZkMnEiCi0gICAgICAgICAgICBpZiB1
c2VYODcKLSAgICAgICAgICAgICAgICBzcCA9IFJlZ2lzdGVySUQubmV3KG5pbCwgInNwIikKLSAg
ICAgICAgICAgICAgICBpZiAob3BlcmFuZHNbMF0ueDg3RGVmYXVsdFN0YWNrUG9zaXRpb24gPT0g
MCkKLSAgICAgICAgICAgICAgICAgICAgJGFzbS5wdXRzICJmc3Qje3g4NlN1ZmZpeCg6aW50KX0g
I3tnZXRTaXplU3RyaW5nKDppbnQpfSN7b2Zmc2V0UmVnaXN0ZXIoLTgsIHNwLng4Nk9wZXJhbmQo
OnB0cikpfSIKLSAgICAgICAgICAgICAgICBlbHNlCi0gICAgICAgICAgICAgICAgICAgICRhc20u
cHV0cyAiZmxkICN7b3BlcmFuZHNbMF0ueDg3T3BlcmFuZCgwKX0iCi0gICAgICAgICAgICAgICAg
ICAgICRhc20ucHV0cyAiZnN0cGwgLTgoI3tzcC54ODZPcGVyYW5kKDpwdHIpfSkiCi0gICAgICAg
ICAgICAgICAgZW5kCi0gICAgICAgICAgICAgICAgJGFzbS5wdXRzICJtb3ZxIC04KCN7c3AueDg2
T3BlcmFuZCg6cHRyKX0pLCAje29wZXJhbmRzWzFdLng4Nk9wZXJhbmQoOnF1YWQpfSIKKyAgICAg
ICAgICAgIGlmICFpc0ludGVsU3ludGF4CisgICAgICAgICAgICAgICAgJGFzbS5wdXRzICJtb3Zx
ICN7b3BlcmFuZHNbMF0ueDg2T3BlcmFuZCg6ZG91YmxlKX0sICN7b3BlcmFuZHNbMV0ueDg2T3Bl
cmFuZCg6cXVhZCl9IgogICAgICAgICAgICAgZWxzZQotICAgICAgICAgICAgICAgIGlmICFpc0lu
dGVsU3ludGF4Ci0gICAgICAgICAgICAgICAgICAgICRhc20ucHV0cyAibW92cSAje29wZXJhbmRz
WzBdLng4Nk9wZXJhbmQoOmRvdWJsZSl9LCAje29wZXJhbmRzWzFdLng4Nk9wZXJhbmQoOnF1YWQp
fSIKLSAgICAgICAgICAgICAgICBlbHNlCi0gICAgICAgICAgICAgICAgICAgICMgTUFTTSBkb2Vz
IG5vdCBhY2NlcHQgcmVnaXN0ZXIgb3BlcmFuZHMgd2l0aCBtb3ZxLgotICAgICAgICAgICAgICAg
ICAgICAjIERlYnVnZ2luZyBzaG93cyB0aGF0IG1vdmQgYWN0dWFsbHkgbW92ZXMgYSBxd29yZCB3
aGVuIHVzaW5nIE1BU00uCi0gICAgICAgICAgICAgICAgICAgICRhc20ucHV0cyAibW92ZCAje29w
ZXJhbmRzWzFdLng4Nk9wZXJhbmQoOnF1YWQpfSwgI3tvcGVyYW5kc1swXS54ODZPcGVyYW5kKDpk
b3VibGUpfSIKLSAgICAgICAgICAgICAgICBlbmQKKyAgICAgICAgICAgICAgICAjIE1BU00gZG9l
cyBub3QgYWNjZXB0IHJlZ2lzdGVyIG9wZXJhbmRzIHdpdGggbW92cS4KKyAgICAgICAgICAgICAg
ICAjIERlYnVnZ2luZyBzaG93cyB0aGF0IG1vdmQgYWN0dWFsbHkgbW92ZXMgYSBxd29yZCB3aGVu
IHVzaW5nIE1BU00uCisgICAgICAgICAgICAgICAgJGFzbS5wdXRzICJtb3ZkICN7b3BlcmFuZHNb
MV0ueDg2T3BlcmFuZCg6cXVhZCl9LCAje29wZXJhbmRzWzBdLng4Nk9wZXJhbmQoOmRvdWJsZSl9
IgogICAgICAgICAgICAgZW5kCiAgICAgICAgIHdoZW4gImJvIgogICAgICAgICAgICAgJGFzbS5w
dXRzICJqbyAje29wZXJhbmRzWzBdLmFzbUxhYmVsfSIKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9ydW50aW1lL01hdGhDb21tb24uY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3Jl
L3J1bnRpbWUvTWF0aENvbW1vbi5jcHAKaW5kZXggYWJlMjZjYzcyYTguLmUyYjc2MWY2MGU0IDEw
MDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9NYXRoQ29tbW9uLmNwcAor
KysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9NYXRoQ29tbW9uLmNwcApAQCAtNDM3
LDIwICs0MzcsOCBAQCBkb3VibGUgSklUX09QRVJBVElPTiBvcGVyYXRpb25NYXRoUG93KGRvdWJs
ZSB4LCBkb3VibGUgeSkKICAgICBpbnQzMl90IHlBc0ludCA9IHk7CiAgICAgaWYgKHN0YXRpY19j
YXN0PGRvdWJsZT4oeUFzSW50KSA9PSB5ICYmIHlBc0ludCA+PSAwICYmIHlBc0ludCA8PSBtYXhF
eHBvbmVudEZvckludGVnZXJNYXRoUG93KSB7CiAgICAgICAgIC8vIElmIHRoZSBleHBvbmVudCBp
cyBhIHNtYWxsIHBvc2l0aXZlIGludDMyIGludGVnZXIsIHdlIGRvIGEgZmFzdCBleHBvbmVudGlh
dGlvbgotCi0gICAgICAgIC8vIERvIG5vdCB1c2UgeDg3IHZhbHVlcyBmb3IgYWNjdW11bGF0aW9u
LiB4ODcgdmFsdWVzIGhhcyA4MGJpdCBwcmVjaXNpb24uCi0gICAgICAgIC8vIFRoZSByZXN1bHQg
cHJvZHVjZWQgYnkgeDg3J3MgODBiaXQgZG91YmxlIHByZWNpc2lvbiBkaWZmZXJzIGZyb20gdGhl
IG9uZSBjYWxjdWxhdGVkIHdpdGggU1NFMiBpbiBERkcuCi0gICAgICAgIC8vIFVzaW5nIHZvbGF0
aWxlIGRvdWJsZSBpcyB3b3JrYXJvdW5kIGZvciB0aGlzIHByb2JsZW0uIEJ5IHNwZWNpZnlpbmcg
dm9sYXRpbGUsIHdlIGV4cGVjdCB0aGF0IGByZXN1bHRgIGFuZCBgeGRgCi0gICAgICAgIC8vIGFy
ZSBzdG9yZWQgaW4gdGhlIHN0YWNrLiBBbmQgYXQgdGhhdCB0aW1lLCB3ZSBleHBlY3QgdGhhdCB0
aGV5IGFyZSByb3VuZGVkIGJ5IGZzdC9mc3RwWzEsIDJdLgotICAgICAgICAvLyBbMV06IGh0dHBz
Oi8vZ2NjLmdudS5vcmcvd2lraS94ODdub3RlCi0gICAgICAgIC8vIFsyXTogaHR0cHM6Ly9nY2Mu
Z251Lm9yZy9idWd6aWxsYS9zaG93X2J1Zy5jZ2k/aWQ9MzIzCi0jaWYgIUNQVShYODYpIHx8IChk
ZWZpbmVkKF9fU1NFMl9NQVRIX18pICYmIGRlZmluZWQoX19TU0UyX18pKQotICAgICAgICB0eXBl
ZGVmIGRvdWJsZSBEb3VibGVWYWx1ZTsKLSNlbHNlCi0gICAgICAgIHR5cGVkZWYgdm9sYXRpbGUg
ZG91YmxlIERvdWJsZVZhbHVlOwotI2VuZGlmCi0gICAgICAgIERvdWJsZVZhbHVlIHJlc3VsdCA9
IDE7Ci0gICAgICAgIERvdWJsZVZhbHVlIHhkID0geDsKKyAgICAgICAgZG91YmxlIHJlc3VsdCA9
IDE7CisgICAgICAgIGRvdWJsZSB4ZCA9IHg7CiAgICAgICAgIHdoaWxlICh5QXNJbnQpIHsKICAg
ICAgICAgICAgIGlmICh5QXNJbnQgJiAxKQogICAgICAgICAgICAgICAgIHJlc3VsdCAqPSB4ZDsK
ZGlmZiAtLWdpdCBhL1Rvb2xzL0NoYW5nZUxvZyBiL1Rvb2xzL0NoYW5nZUxvZwppbmRleCBhMWVl
MmY5YzNlNS4uYmI2NTVmMDFlNTIgMTAwNjQ0Ci0tLSBhL1Rvb2xzL0NoYW5nZUxvZworKysgYi9U
b29scy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNSBAQAorMjAxOS0wMi0yMCAgWGFuIExvcGV6ICA8
eGFuQGlnYWxpYS5jb20+CisKKyAgICAgICAgW0pTQ11beDg2XSBEcm9wIHN1cHBvcnQgZm9yIHg4
NyBmbG9hdGluZyBwb2ludAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9MTk0ODUzCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisK
KyAgICAgICAgRm9yY2UgU1NFMiBvbiB4ODYvMzJiaXQgYnVpbGRzLgorCisgICAgICAgICogU2Ny
aXB0cy93ZWJraXRkaXJzLnBtOgorICAgICAgICAoZ2VuZXJhdGVCdWlsZFN5c3RlbUZyb21DTWFr
ZVByb2plY3QpOgorCiAyMDE5LTAyLTAxICBYYW4gTG9wZXogIDx4YW5AaWdhbGlhLmNvbT4KIAog
ICAgICAgICBbQ01ha2VdIEJ1aWxkIDMyYml0IGJpbmFyaWVzIG9uIExpbnV4LzY0Yml0IHdoZW4g
dGhlIC0tMzItYml0IGlzIHBhc3NlZCB0byBidWlsZC1qc2MKZGlmZiAtLWdpdCBhL1Rvb2xzL1Nj
cmlwdHMvd2Via2l0ZGlycy5wbSBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0ZGlycy5wbQppbmRleCA0
MTNmNDNkMTgzNy4uYzczMTlhNDI1MTUgMTAwNzU1Ci0tLSBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0
ZGlycy5wbQorKysgYi9Ub29scy9TY3JpcHRzL3dlYmtpdGRpcnMucG0KQEAgLTIyNjIsNiArMjI2
Miw3IEBAIHN1YiBnZW5lcmF0ZUJ1aWxkU3lzdGVtRnJvbUNNYWtlUHJvamVjdAogICAgICMgU29t
ZSBwb3J0cyBoYXZlIHByb2R1Y3Rpb24gbW9kZSwgYnV0IGJ1aWxkLXdlYmtpdCBzaG91bGQgYWx3
YXlzIHVzZSBkZXZlbG9wZXIgbW9kZS4KICAgICBwdXNoIEBhcmdzLCAiLURERVZFTE9QRVJfTU9E
RT1PTiIgaWYgaXNHdGsoKSB8fCBpc0pTQ09ubHkoKSB8fCBpc1dQRSgpIHx8IGlzV2luQ2Fpcm8o
KTsKIAorICAgIGRldGVybWluZUFyY2hpdGVjdHVyZSgpOwogICAgIGlmICgkYXJjaGl0ZWN0dXJl
IGVxICJ4ODZfNjQiICAmJiBzaG91bGRCdWlsZDMyQml0KCkpIHsKICAgICAgICAgIyBDTUFLRV9M
SUJSQVJZX0FSQ0hJVEVDVFVSRSBpcyBuZWVkZWQgdG8gZ2V0IHRoZSByaWdodCAucGMKICAgICAg
ICAgIyBmaWxlcyBpbiBkZWJpYW4tYmFzZWQgc3lzdGVtcywgZm9yIHRoZSBvdGhlcnMKQEAgLTIy
NzcsOSArMjI3OCwxMSBAQCBzdWIgZ2VuZXJhdGVCdWlsZFN5c3RlbUZyb21DTWFrZVByb2plY3QK
ICAgICBwdXNoIEBhcmdzLCAnIicgLiAkY21ha2VTb3VyY2VEaXIgLiAnIic7CiAKICAgICAjIENv
bXBpbGVyIG9wdGlvbnMgdG8ga2VlcCBmbG9hdGluZyBwb2ludCB2YWx1ZXMgY29uc2lzdGVudAot
ICAgICMgYmV0d2VlbiAzMi1iaXQgYW5kIDY0LWJpdCBhcmNoaXRlY3R1cmVzLgotICAgIGRldGVy
bWluZUFyY2hpdGVjdHVyZSgpOwotICAgIGlmICgkYXJjaGl0ZWN0dXJlIGVxICJpNjg2IiAmJiAh
aXNDcm9zc0NvbXBpbGF0aW9uKCkgJiYgIWlzQW55V2luZG93cygpKSB7CisgICAgIyBiZXR3ZWVu
IDMyLWJpdCBhbmQgNjQtYml0IGFyY2hpdGVjdHVyZXMuIFRoaXMgbWFrZXMgdXMgdXNlIFNTRQor
ICAgICMgd2hlbiBvdXIgYXJjaGl0ZWN0dXJlIGlzIDMyLWJpdCAoJ2k2ODYnKSBvciB3aGVuIGl0
J3Mgbm90IGJ1dAorICAgICMgdGhlIHVzZXIgaGFzIHJlcXVlc3RlZCBhIDMyLWJpdCBidWlsZC4K
KyAgICBpZiAoKCRhcmNoaXRlY3R1cmUgZXEgImk2ODYiIHx8ICgkYXJjaGl0ZWN0dXJlIGVxICJ4
ODZfNjQiICYmIHNob3VsZEJ1aWxkMzJCaXQoKSkpICYmICFpc0Nyb3NzQ29tcGlsYXRpb24oKSAm
JiAhaXNBbnlXaW5kb3dzKCkpIHsKKyAgICAgICAgJEVOVnsnQ0ZMQUdTJ30gPSAiLW1hcmNoPXBl
bnRpdW00IC1tc3NlMiAtbWZwbWF0aD1zc2UgIiAuICgkRU5WeydDRkxBR1MnfSB8fCAiIik7CiAg
ICAgICAgICRFTlZ7J0NYWEZMQUdTJ30gPSAiLW1hcmNoPXBlbnRpdW00IC1tc3NlMiAtbWZwbWF0
aD1zc2UgIiAuICgkRU5WeydDWFhGTEFHUyd9IHx8ICIiKTsKICAgICB9CiAKLS0gCjIuMjAuMQoK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>362491</attachid>
            <date>2019-02-20 03:55:52 -0800</date>
            <delta_ts>2019-02-20 04:07:35 -0800</delta_ts>
            <desc>Drop x87 support</desc>
            <filename>drop-x87.diff</filename>
            <type>text/plain</type>
            <size>45218</size>
            <attacher name="Xan Lopez">xan.lopez</attacher>
            
              <data encoding="base64">RnJvbSAwYzgzYWVhN2U4OGY0NjBkNmExZWIyMmM3OWI2NzA1NDIwZDk5ZDk2IE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiA9P1VURi04P3E/WGFuPTIwTD1DMz1CM3Blej89IDx4YW5AaWdh
bGlhLmNvbT4KRGF0ZTogV2VkLCAyMCBGZWIgMjAxOSAxMTo1MjoxMCArMDEwMApTdWJqZWN0OiBb
UEFUQ0hdIFtKU0NdW3g4Nl0gRHJvcCBzdXBwb3J0IGZvciB4ODcgZmxvYXRpbmcgcG9pbnQKIGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xOTQ4NTMKClJldmlld2VkIGJ5
IE5PQk9EWSAoT09QUyEpLgoKU291cmNlL0phdmFTY3JpcHRDb3JlOgoKUmVxdWlyZSBTU0UyIHRo
cm91Z2hvdXQgdGhlIGNvZGViYXNlLCBhbmQgcmVtb3ZlIHg4NyBzdXBwb3J0IHdoZXJlCml0IHdh
cyBvcHRpb25hbGx5IGF2YWlsYWJsZS4gU1NFMiBkZXRlY3Rpb24gaGFwcGVucyBhdCBjb21waWxl
CnRpbWUgdGhyb3VnaCBhIHN0YXRpY19hc3NlcnQuCgoqIGFzc2VtYmxlci9NYWNyb0Fzc2VtYmxl
clg4Ni5oOgooSlNDOjpNYWNyb0Fzc2VtYmxlclg4Njo6c3RvcmVEb3VibGUpOgooSlNDOjpNYWNy
b0Fzc2VtYmxlclg4Njo6bW92ZURvdWJsZVRvSW50cyk6CihKU0M6Ok1hY3JvQXNzZW1ibGVyWDg2
OjpzdXBwb3J0c0Zsb2F0aW5nUG9pbnQpOgooSlNDOjpNYWNyb0Fzc2VtYmxlclg4Njo6c3VwcG9y
dHNGbG9hdGluZ1BvaW50VHJ1bmNhdGUpOgooSlNDOjpNYWNyb0Fzc2VtYmxlclg4Njo6c3VwcG9y
dHNGbG9hdGluZ1BvaW50U3FydCk6CihKU0M6Ok1hY3JvQXNzZW1ibGVyWDg2OjpzdXBwb3J0c0Zs
b2F0aW5nUG9pbnRBYnMpOgoqIGFzc2VtYmxlci9NYWNyb0Fzc2VtYmxlclg4NkNvbW1vbi5jcHA6
CiogYXNzZW1ibGVyL01hY3JvQXNzZW1ibGVyWDg2Q29tbW9uLmg6CihKU0M6Ok1hY3JvQXNzZW1i
bGVyWDg2Q29tbW9uOjptb3ZlRG91YmxlKToKKEpTQzo6TWFjcm9Bc3NlbWJsZXJYODZDb21tb246
OmxvYWREb3VibGUpOgooSlNDOjpNYWNyb0Fzc2VtYmxlclg4NkNvbW1vbjo6bG9hZEZsb2F0KToK
KEpTQzo6TWFjcm9Bc3NlbWJsZXJYODZDb21tb246OnN0b3JlRG91YmxlKToKKEpTQzo6TWFjcm9B
c3NlbWJsZXJYODZDb21tb246OnN0b3JlRmxvYXQpOgooSlNDOjpNYWNyb0Fzc2VtYmxlclg4NkNv
bW1vbjo6Y29udmVydERvdWJsZVRvRmxvYXQpOgooSlNDOjpNYWNyb0Fzc2VtYmxlclg4NkNvbW1v
bjo6Y29udmVydEZsb2F0VG9Eb3VibGUpOgooSlNDOjpNYWNyb0Fzc2VtYmxlclg4NkNvbW1vbjo6
YWRkRG91YmxlKToKKEpTQzo6TWFjcm9Bc3NlbWJsZXJYODZDb21tb246OmFkZEZsb2F0KToKKEpT
Qzo6TWFjcm9Bc3NlbWJsZXJYODZDb21tb246OmRpdkRvdWJsZSk6CihKU0M6Ok1hY3JvQXNzZW1i
bGVyWDg2Q29tbW9uOjpkaXZGbG9hdCk6CihKU0M6Ok1hY3JvQXNzZW1ibGVyWDg2Q29tbW9uOjpz
dWJEb3VibGUpOgooSlNDOjpNYWNyb0Fzc2VtYmxlclg4NkNvbW1vbjo6c3ViRmxvYXQpOgooSlND
OjpNYWNyb0Fzc2VtYmxlclg4NkNvbW1vbjo6bXVsRG91YmxlKToKKEpTQzo6TWFjcm9Bc3NlbWJs
ZXJYODZDb21tb246Om11bEZsb2F0KToKKEpTQzo6TWFjcm9Bc3NlbWJsZXJYODZDb21tb246OmNv
bnZlcnRJbnQzMlRvRG91YmxlKToKKEpTQzo6TWFjcm9Bc3NlbWJsZXJYODZDb21tb246OmNvbnZl
cnRJbnQzMlRvRmxvYXQpOgooSlNDOjpNYWNyb0Fzc2VtYmxlclg4NkNvbW1vbjo6YnJhbmNoRG91
YmxlKToKKEpTQzo6TWFjcm9Bc3NlbWJsZXJYODZDb21tb246OmJyYW5jaEZsb2F0KToKKEpTQzo6
TWFjcm9Bc3NlbWJsZXJYODZDb21tb246OmNvbXBhcmVEb3VibGUpOgooSlNDOjpNYWNyb0Fzc2Vt
Ymxlclg4NkNvbW1vbjo6Y29tcGFyZUZsb2F0KToKKEpTQzo6TWFjcm9Bc3NlbWJsZXJYODZDb21t
b246OmJyYW5jaFRydW5jYXRlRG91YmxlVG9JbnQzMik6CihKU0M6Ok1hY3JvQXNzZW1ibGVyWDg2
Q29tbW9uOjp0cnVuY2F0ZURvdWJsZVRvSW50MzIpOgooSlNDOjpNYWNyb0Fzc2VtYmxlclg4NkNv
bW1vbjo6dHJ1bmNhdGVGbG9hdFRvSW50MzIpOgooSlNDOjpNYWNyb0Fzc2VtYmxlclg4NkNvbW1v
bjo6YnJhbmNoQ29udmVydERvdWJsZVRvSW50MzIpOgooSlNDOjpNYWNyb0Fzc2VtYmxlclg4NkNv
bW1vbjo6YnJhbmNoRG91YmxlTm9uWmVybyk6CihKU0M6Ok1hY3JvQXNzZW1ibGVyWDg2Q29tbW9u
OjpicmFuY2hEb3VibGVaZXJvT3JOYU4pOgooSlNDOjpNYWNyb0Fzc2VtYmxlclg4NkNvbW1vbjo6
bHNoaWZ0UGFja2VkKToKKEpTQzo6TWFjcm9Bc3NlbWJsZXJYODZDb21tb246OnJzaGlmdFBhY2tl
ZCk6CihKU0M6Ok1hY3JvQXNzZW1ibGVyWDg2Q29tbW9uOjpvclBhY2tlZCk6CihKU0M6Ok1hY3Jv
QXNzZW1ibGVyWDg2Q29tbW9uOjptb3ZlMzJUb0Zsb2F0KToKKEpTQzo6TWFjcm9Bc3NlbWJsZXJY
ODZDb21tb246Om1vdmVGbG9hdFRvMzIpOgooSlNDOjpNYWNyb0Fzc2VtYmxlclg4NkNvbW1vbjo6
bW92ZUNvbmRpdGlvbmFsbHlEb3VibGUpOgooSlNDOjpNYWNyb0Fzc2VtYmxlclg4NkNvbW1vbjo6
bW92ZUNvbmRpdGlvbmFsbHlGbG9hdCk6Ciogb2ZmbGluZWFzbS94ODYucmI6CiogcnVudGltZS9N
YXRoQ29tbW9uLmNwcDoKKEpTQzo6b3BlcmF0aW9uTWF0aFBvdyk6CgpUb29sczoKCkZvcmNlIFNT
RTIgb24geDg2LzMyYml0IGJ1aWxkcy4KCiogU2NyaXB0cy93ZWJraXRkaXJzLnBtOgooZ2VuZXJh
dGVCdWlsZFN5c3RlbUZyb21DTWFrZVByb2plY3QpOgotLS0KIFNvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9DaGFuZ2VMb2cgICAgICAgICAgICAgICB8ICA1OCArKysrCiAuLi4vYXNzZW1ibGVyL01hY3Jv
QXNzZW1ibGVyWDg2LmggICAgICAgICAgICAgfCAgMTAgKy0KIC4uLi9hc3NlbWJsZXIvTWFjcm9B
c3NlbWJsZXJYODZDb21tb24uY3BwICAgICB8ICAgMyArCiAuLi4vYXNzZW1ibGVyL01hY3JvQXNz
ZW1ibGVyWDg2Q29tbW9uLmggICAgICAgfCAgNjcgLS0tLQogU291cmNlL0phdmFTY3JpcHRDb3Jl
L29mZmxpbmVhc20veDg2LnJiICAgICAgIHwgMzAxICsrKy0tLS0tLS0tLS0tLS0tLQogU291cmNl
L0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvTWF0aENvbW1vbi5jcHAgIHwgIDE2ICstCiBUb29scy9D
aGFuZ2VMb2cgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgMTIgKwogVG9vbHMvU2Ny
aXB0cy93ZWJraXRkaXJzLnBtICAgICAgICAgICAgICAgICAgIHwgICA3ICstCiA4IGZpbGVzIGNo
YW5nZWQsIDEyOCBpbnNlcnRpb25zKCspLCAzNDYgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEv
U291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9D
aGFuZ2VMb2cKaW5kZXggYmQzZDQ5NjczMjcuLjA5ZDYwOWM1YTZkIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9D
aGFuZ2VMb2cKQEAgLTEsMyArMSw2MSBAQAorMjAxOS0wMi0yMCAgWGFuIExvcGV6ICA8eGFuQGln
YWxpYS5jb20+CisKKyAgICAgICAgW0pTQ11beDg2XSBEcm9wIHN1cHBvcnQgZm9yIHg4NyBmbG9h
dGluZyBwb2ludAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9MTk0ODUzCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAg
ICAgUmVxdWlyZSBTU0UyIHRocm91Z2hvdXQgdGhlIGNvZGViYXNlLCBhbmQgcmVtb3ZlIHg4NyBz
dXBwb3J0IHdoZXJlCisgICAgICAgIGl0IHdhcyBvcHRpb25hbGx5IGF2YWlsYWJsZS4gU1NFMiBk
ZXRlY3Rpb24gaGFwcGVucyBhdCBjb21waWxlCisgICAgICAgIHRpbWUgdGhyb3VnaCBhIHN0YXRp
Y19hc3NlcnQuCisKKyAgICAgICAgKiBhc3NlbWJsZXIvTWFjcm9Bc3NlbWJsZXJYODYuaDoKKyAg
ICAgICAgKEpTQzo6TWFjcm9Bc3NlbWJsZXJYODY6OnN0b3JlRG91YmxlKToKKyAgICAgICAgKEpT
Qzo6TWFjcm9Bc3NlbWJsZXJYODY6Om1vdmVEb3VibGVUb0ludHMpOgorICAgICAgICAoSlNDOjpN
YWNyb0Fzc2VtYmxlclg4Njo6c3VwcG9ydHNGbG9hdGluZ1BvaW50KToKKyAgICAgICAgKEpTQzo6
TWFjcm9Bc3NlbWJsZXJYODY6OnN1cHBvcnRzRmxvYXRpbmdQb2ludFRydW5jYXRlKToKKyAgICAg
ICAgKEpTQzo6TWFjcm9Bc3NlbWJsZXJYODY6OnN1cHBvcnRzRmxvYXRpbmdQb2ludFNxcnQpOgor
ICAgICAgICAoSlNDOjpNYWNyb0Fzc2VtYmxlclg4Njo6c3VwcG9ydHNGbG9hdGluZ1BvaW50QWJz
KToKKyAgICAgICAgKiBhc3NlbWJsZXIvTWFjcm9Bc3NlbWJsZXJYODZDb21tb24uY3BwOgorICAg
ICAgICAqIGFzc2VtYmxlci9NYWNyb0Fzc2VtYmxlclg4NkNvbW1vbi5oOgorICAgICAgICAoSlND
OjpNYWNyb0Fzc2VtYmxlclg4NkNvbW1vbjo6bW92ZURvdWJsZSk6CisgICAgICAgIChKU0M6Ok1h
Y3JvQXNzZW1ibGVyWDg2Q29tbW9uOjpsb2FkRG91YmxlKToKKyAgICAgICAgKEpTQzo6TWFjcm9B
c3NlbWJsZXJYODZDb21tb246OmxvYWRGbG9hdCk6CisgICAgICAgIChKU0M6Ok1hY3JvQXNzZW1i
bGVyWDg2Q29tbW9uOjpzdG9yZURvdWJsZSk6CisgICAgICAgIChKU0M6Ok1hY3JvQXNzZW1ibGVy
WDg2Q29tbW9uOjpzdG9yZUZsb2F0KToKKyAgICAgICAgKEpTQzo6TWFjcm9Bc3NlbWJsZXJYODZD
b21tb246OmNvbnZlcnREb3VibGVUb0Zsb2F0KToKKyAgICAgICAgKEpTQzo6TWFjcm9Bc3NlbWJs
ZXJYODZDb21tb246OmNvbnZlcnRGbG9hdFRvRG91YmxlKToKKyAgICAgICAgKEpTQzo6TWFjcm9B
c3NlbWJsZXJYODZDb21tb246OmFkZERvdWJsZSk6CisgICAgICAgIChKU0M6Ok1hY3JvQXNzZW1i
bGVyWDg2Q29tbW9uOjphZGRGbG9hdCk6CisgICAgICAgIChKU0M6Ok1hY3JvQXNzZW1ibGVyWDg2
Q29tbW9uOjpkaXZEb3VibGUpOgorICAgICAgICAoSlNDOjpNYWNyb0Fzc2VtYmxlclg4NkNvbW1v
bjo6ZGl2RmxvYXQpOgorICAgICAgICAoSlNDOjpNYWNyb0Fzc2VtYmxlclg4NkNvbW1vbjo6c3Vi
RG91YmxlKToKKyAgICAgICAgKEpTQzo6TWFjcm9Bc3NlbWJsZXJYODZDb21tb246OnN1YkZsb2F0
KToKKyAgICAgICAgKEpTQzo6TWFjcm9Bc3NlbWJsZXJYODZDb21tb246Om11bERvdWJsZSk6Cisg
ICAgICAgIChKU0M6Ok1hY3JvQXNzZW1ibGVyWDg2Q29tbW9uOjptdWxGbG9hdCk6CisgICAgICAg
IChKU0M6Ok1hY3JvQXNzZW1ibGVyWDg2Q29tbW9uOjpjb252ZXJ0SW50MzJUb0RvdWJsZSk6Cisg
ICAgICAgIChKU0M6Ok1hY3JvQXNzZW1ibGVyWDg2Q29tbW9uOjpjb252ZXJ0SW50MzJUb0Zsb2F0
KToKKyAgICAgICAgKEpTQzo6TWFjcm9Bc3NlbWJsZXJYODZDb21tb246OmJyYW5jaERvdWJsZSk6
CisgICAgICAgIChKU0M6Ok1hY3JvQXNzZW1ibGVyWDg2Q29tbW9uOjpicmFuY2hGbG9hdCk6Cisg
ICAgICAgIChKU0M6Ok1hY3JvQXNzZW1ibGVyWDg2Q29tbW9uOjpjb21wYXJlRG91YmxlKToKKyAg
ICAgICAgKEpTQzo6TWFjcm9Bc3NlbWJsZXJYODZDb21tb246OmNvbXBhcmVGbG9hdCk6CisgICAg
ICAgIChKU0M6Ok1hY3JvQXNzZW1ibGVyWDg2Q29tbW9uOjpicmFuY2hUcnVuY2F0ZURvdWJsZVRv
SW50MzIpOgorICAgICAgICAoSlNDOjpNYWNyb0Fzc2VtYmxlclg4NkNvbW1vbjo6dHJ1bmNhdGVE
b3VibGVUb0ludDMyKToKKyAgICAgICAgKEpTQzo6TWFjcm9Bc3NlbWJsZXJYODZDb21tb246OnRy
dW5jYXRlRmxvYXRUb0ludDMyKToKKyAgICAgICAgKEpTQzo6TWFjcm9Bc3NlbWJsZXJYODZDb21t
b246OmJyYW5jaENvbnZlcnREb3VibGVUb0ludDMyKToKKyAgICAgICAgKEpTQzo6TWFjcm9Bc3Nl
bWJsZXJYODZDb21tb246OmJyYW5jaERvdWJsZU5vblplcm8pOgorICAgICAgICAoSlNDOjpNYWNy
b0Fzc2VtYmxlclg4NkNvbW1vbjo6YnJhbmNoRG91YmxlWmVyb09yTmFOKToKKyAgICAgICAgKEpT
Qzo6TWFjcm9Bc3NlbWJsZXJYODZDb21tb246OmxzaGlmdFBhY2tlZCk6CisgICAgICAgIChKU0M6
Ok1hY3JvQXNzZW1ibGVyWDg2Q29tbW9uOjpyc2hpZnRQYWNrZWQpOgorICAgICAgICAoSlNDOjpN
YWNyb0Fzc2VtYmxlclg4NkNvbW1vbjo6b3JQYWNrZWQpOgorICAgICAgICAoSlNDOjpNYWNyb0Fz
c2VtYmxlclg4NkNvbW1vbjo6bW92ZTMyVG9GbG9hdCk6CisgICAgICAgIChKU0M6Ok1hY3JvQXNz
ZW1ibGVyWDg2Q29tbW9uOjptb3ZlRmxvYXRUbzMyKToKKyAgICAgICAgKEpTQzo6TWFjcm9Bc3Nl
bWJsZXJYODZDb21tb246Om1vdmVDb25kaXRpb25hbGx5RG91YmxlKToKKyAgICAgICAgKEpTQzo6
TWFjcm9Bc3NlbWJsZXJYODZDb21tb246Om1vdmVDb25kaXRpb25hbGx5RmxvYXQpOgorICAgICAg
ICAqIG9mZmxpbmVhc20veDg2LnJiOgorICAgICAgICAqIHJ1bnRpbWUvTWF0aENvbW1vbi5jcHA6
CisgICAgICAgIChKU0M6Om9wZXJhdGlvbk1hdGhQb3cpOgorCiAyMDE5LTAyLTE5ICBKb3NlcGgg
UGVjb3Jhcm8gIDxwZWNvcmFyb0BhcHBsZS5jb20+CiAKICAgICAgICAgV2ViIEluc3BlY3Rvcjog
SW1wcm92ZSBFUzYgQ2xhc3MgaW5zdGFuY2VzIGluIEhlYXAgU25hcHNob3QgaW5zdGFuY2VzIHZp
ZXcKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9hc3NlbWJsZXIvTWFjcm9Bc3Nl
bWJsZXJYODYuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9hc3NlbWJsZXIvTWFjcm9Bc3NlbWJs
ZXJYODYuaAppbmRleCA3MmRlZjcyYzZiNC4uZTRiYWNlZGQ4YmIgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9hc3NlbWJsZXIvTWFjcm9Bc3NlbWJsZXJYODYuaAorKysgYi9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvYXNzZW1ibGVyL01hY3JvQXNzZW1ibGVyWDg2LmgKQEAgLTE0MCw3
ICsxNDAsNiBAQCBwdWJsaWM6CiAKICAgICB2b2lkIHN0b3JlRG91YmxlKEZQUmVnaXN0ZXJJRCBz
cmMsIFRydXN0ZWRJbW1QdHIgYWRkcmVzcykKICAgICB7Ci0gICAgICAgIEFTU0VSVChpc1NTRTJQ
cmVzZW50KCkpOwogICAgICAgICBBU1NFUlQoYWRkcmVzcy5tX3ZhbHVlKTsKICAgICAgICAgbV9h
c3NlbWJsZXIubW92c2Rfcm0oc3JjLCBhZGRyZXNzLmFzUHRyKCkpOwogICAgIH0KQEAgLTE3Myw3
ICsxNzIsNiBAQCBwdWJsaWM6CiAgICAgCiAgICAgdm9pZCBtb3ZlRG91YmxlVG9JbnRzKEZQUmVn
aXN0ZXJJRCBzcmMsIFJlZ2lzdGVySUQgZGVzdDEsIFJlZ2lzdGVySUQgZGVzdDIpCiAgICAgewot
ICAgICAgICBBU1NFUlQoaXNTU0UyUHJlc2VudCgpKTsKICAgICAgICAgbV9hc3NlbWJsZXIucGV4
dHJ3X2lycigzLCBzcmMsIGRlc3QxKTsKICAgICAgICAgbV9hc3NlbWJsZXIucGV4dHJ3X2lycigy
LCBzcmMsIGRlc3QyKTsKICAgICAgICAgbHNoaWZ0MzIoVHJ1c3RlZEltbTMyKDE2KSwgZGVzdDEp
OwpAQCAtMjk0LDEwICsyOTIsMTAgQEAgcHVibGljOgogICAgICAgICByZXR1cm4gRGF0YUxhYmVs
UHRyKHRoaXMpOwogICAgIH0KIAotICAgIHN0YXRpYyBib29sIHN1cHBvcnRzRmxvYXRpbmdQb2lu
dCgpIHsgcmV0dXJuIGlzU1NFMlByZXNlbnQoKTsgfQotICAgIHN0YXRpYyBib29sIHN1cHBvcnRz
RmxvYXRpbmdQb2ludFRydW5jYXRlKCkgeyByZXR1cm4gaXNTU0UyUHJlc2VudCgpOyB9Ci0gICAg
c3RhdGljIGJvb2wgc3VwcG9ydHNGbG9hdGluZ1BvaW50U3FydCgpIHsgcmV0dXJuIGlzU1NFMlBy
ZXNlbnQoKTsgfQotICAgIHN0YXRpYyBib29sIHN1cHBvcnRzRmxvYXRpbmdQb2ludEFicygpIHsg
cmV0dXJuIGlzU1NFMlByZXNlbnQoKTsgfQorICAgIHN0YXRpYyBib29sIHN1cHBvcnRzRmxvYXRp
bmdQb2ludCgpIHsgcmV0dXJuIHRydWU7IH0KKyAgICBzdGF0aWMgYm9vbCBzdXBwb3J0c0Zsb2F0
aW5nUG9pbnRUcnVuY2F0ZSgpIHsgcmV0dXJuIHRydWU7IH0KKyAgICBzdGF0aWMgYm9vbCBzdXBw
b3J0c0Zsb2F0aW5nUG9pbnRTcXJ0KCkgeyByZXR1cm4gdHJ1ZTsgfQorICAgIHN0YXRpYyBib29s
IHN1cHBvcnRzRmxvYXRpbmdQb2ludEFicygpIHsgcmV0dXJuIHRydWU7IH0KIAogICAgIHRlbXBs
YXRlPFB0clRhZyByZXN1bHRUYWcsIFB0clRhZyBsb2NhdGlvblRhZz4KICAgICBzdGF0aWMgRnVu
Y3Rpb25QdHI8cmVzdWx0VGFnPiByZWFkQ2FsbFRhcmdldChDb2RlTG9jYXRpb25DYWxsPGxvY2F0
aW9uVGFnPiBjYWxsKQpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2Fzc2VtYmxl
ci9NYWNyb0Fzc2VtYmxlclg4NkNvbW1vbi5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYXNz
ZW1ibGVyL01hY3JvQXNzZW1ibGVyWDg2Q29tbW9uLmNwcAppbmRleCA4YjE0OGNmNTllNS4uZmZm
YzY3YWE0MWYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9hc3NlbWJsZXIvTWFj
cm9Bc3NlbWJsZXJYODZDb21tb24uY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9hc3Nl
bWJsZXIvTWFjcm9Bc3NlbWJsZXJYODZDb21tb24uY3BwCkBAIC0xNjgsNiArMTY4LDkgQEAgc3Rh
dGljX2Fzc2VydChQUk9CRV9PRkZTRVRPRl9SRUcoY3B1LmZwcnMsIFg4NlJlZ2lzdGVyczo6eG1t
MTUpID09IFBST0JFX0NQVV9YTU0KIHN0YXRpY19hc3NlcnQoc2l6ZW9mKFByb2JlOjpTdGF0ZSkg
PT0gUFJPQkVfU0laRSwgIlByb2JlOjpTdGF0ZTo6c2l6ZSdzIG1hdGNoZXMgY3RpTWFzbVByb2Jl
VHJhbXBvbGluZSIpOwogc3RhdGljX2Fzc2VydCgoUFJPQkVfRVhFQ1VUT1JfT0ZGU0VUICsgUFRS
X1NJWkUpIDw9IChQUk9CRV9TSVpFICsgT1VUX1NJWkUpLCAiTXVzdCBoYXZlIHJvb20gYWZ0ZXIg
UHJvYmVDb250ZXh0IHRvIHN0YXNoIHRoZSBwcm9iZSBoYW5kbGVyIik7CiAKKy8vIFNTRTIgaXMg
YSBoYXJkIHJlcXVpcmVtZW50IG9uIHg4Ngorc3RhdGljX2Fzc2VydChpc1NTRTJQcmVzZW50KCks
ICJTU0UyIHN1cHBvcnQgaXMgcmVxdWlyZWQgaW4gSmF2YVNjcmlwdENvcmUiKTsKKwogI3VuZGVm
IFBST0JFX09GRlNFVE9GCiAKICNpZiBDUFUoWDg2KQpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2Fzc2VtYmxlci9NYWNyb0Fzc2VtYmxlclg4NkNvbW1vbi5oIGIvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2Fzc2VtYmxlci9NYWNyb0Fzc2VtYmxlclg4NkNvbW1vbi5oCmluZGV4IDEy
NDM0MjI1YWNkLi4zNTA5YjQ1YWQzYiAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2Fzc2VtYmxlci9NYWNyb0Fzc2VtYmxlclg4NkNvbW1vbi5oCisrKyBiL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9hc3NlbWJsZXIvTWFjcm9Bc3NlbWJsZXJYODZDb21tb24uaApAQCAtMTQ0MSwxMSAr
MTQ0MSw4IEBAIHB1YmxpYzoKIAogICAgIC8vIEZsb2F0aW5nLXBvaW50IG9wZXJhdGlvbjoKICAg
ICAvLwotICAgIC8vIFByZXNlbnRseSBvbmx5IHN1cHBvcnRzIFNTRSwgbm90IHg4NyBmbG9hdGlu
ZyBwb2ludC4KLQogICAgIHZvaWQgbW92ZURvdWJsZShGUFJlZ2lzdGVySUQgc3JjLCBGUFJlZ2lz
dGVySUQgZGVzdCkKICAgICB7Ci0gICAgICAgIEFTU0VSVChpc1NTRTJQcmVzZW50KCkpOwogICAg
ICAgICBpZiAoc3JjICE9IGRlc3QpCiAgICAgICAgICAgICBtX2Fzc2VtYmxlci5tb3ZhcHNfcnIo
c3JjLCBkZXN0KTsKICAgICB9CkBAIC0xNDUzLDcgKzE0NTAsNiBAQCBwdWJsaWM6CiAgICAgdm9p
ZCBsb2FkRG91YmxlKFRydXN0ZWRJbW1QdHIgYWRkcmVzcywgRlBSZWdpc3RlcklEIGRlc3QpCiAg
ICAgewogI2lmIENQVShYODYpCi0gICAgICAgIEFTU0VSVChpc1NTRTJQcmVzZW50KCkpOwogICAg
ICAgICBtX2Fzc2VtYmxlci5tb3ZzZF9tcihhZGRyZXNzLmFzUHRyKCksIGRlc3QpOwogI2Vsc2UK
ICAgICAgICAgbW92ZShhZGRyZXNzLCBzY3JhdGNoUmVnaXN0ZXIoKSk7CkBAIC0xNDYzLDIwICsx
NDU5LDE3IEBAIHB1YmxpYzoKIAogICAgIHZvaWQgbG9hZERvdWJsZShJbXBsaWNpdEFkZHJlc3Mg
YWRkcmVzcywgRlBSZWdpc3RlcklEIGRlc3QpCiAgICAgewotICAgICAgICBBU1NFUlQoaXNTU0Uy
UHJlc2VudCgpKTsKICAgICAgICAgbV9hc3NlbWJsZXIubW92c2RfbXIoYWRkcmVzcy5vZmZzZXQs
IGFkZHJlc3MuYmFzZSwgZGVzdCk7CiAgICAgfQogCiAgICAgdm9pZCBsb2FkRG91YmxlKEJhc2VJ
bmRleCBhZGRyZXNzLCBGUFJlZ2lzdGVySUQgZGVzdCkKICAgICB7Ci0gICAgICAgIEFTU0VSVChp
c1NTRTJQcmVzZW50KCkpOwogICAgICAgICBtX2Fzc2VtYmxlci5tb3ZzZF9tcihhZGRyZXNzLm9m
ZnNldCwgYWRkcmVzcy5iYXNlLCBhZGRyZXNzLmluZGV4LCBhZGRyZXNzLnNjYWxlLCBkZXN0KTsK
ICAgICB9CiAKICAgICB2b2lkIGxvYWRGbG9hdChUcnVzdGVkSW1tUHRyIGFkZHJlc3MsIEZQUmVn
aXN0ZXJJRCBkZXN0KQogICAgIHsKICNpZiBDUFUoWDg2KQotICAgICAgICBBU1NFUlQoaXNTU0Uy
UHJlc2VudCgpKTsKICAgICAgICAgbV9hc3NlbWJsZXIubW92c3NfbXIoYWRkcmVzcy5hc1B0cigp
LCBkZXN0KTsKICNlbHNlCiAgICAgICAgIG1vdmUoYWRkcmVzcywgc2NyYXRjaFJlZ2lzdGVyKCkp
OwpAQCAtMTQ4Niw2MSArMTQ3OSw1MSBAQCBwdWJsaWM6CiAKICAgICB2b2lkIGxvYWRGbG9hdChJ
bXBsaWNpdEFkZHJlc3MgYWRkcmVzcywgRlBSZWdpc3RlcklEIGRlc3QpCiAgICAgewotICAgICAg
ICBBU1NFUlQoaXNTU0UyUHJlc2VudCgpKTsKICAgICAgICAgbV9hc3NlbWJsZXIubW92c3NfbXIo
YWRkcmVzcy5vZmZzZXQsIGFkZHJlc3MuYmFzZSwgZGVzdCk7CiAgICAgfQogCiAgICAgdm9pZCBs
b2FkRmxvYXQoQmFzZUluZGV4IGFkZHJlc3MsIEZQUmVnaXN0ZXJJRCBkZXN0KQogICAgIHsKLSAg
ICAgICAgQVNTRVJUKGlzU1NFMlByZXNlbnQoKSk7CiAgICAgICAgIG1fYXNzZW1ibGVyLm1vdnNz
X21yKGFkZHJlc3Mub2Zmc2V0LCBhZGRyZXNzLmJhc2UsIGFkZHJlc3MuaW5kZXgsIGFkZHJlc3Mu
c2NhbGUsIGRlc3QpOwogICAgIH0KIAogICAgIHZvaWQgc3RvcmVEb3VibGUoRlBSZWdpc3RlcklE
IHNyYywgSW1wbGljaXRBZGRyZXNzIGFkZHJlc3MpCiAgICAgewotICAgICAgICBBU1NFUlQoaXNT
U0UyUHJlc2VudCgpKTsKICAgICAgICAgbV9hc3NlbWJsZXIubW92c2Rfcm0oc3JjLCBhZGRyZXNz
Lm9mZnNldCwgYWRkcmVzcy5iYXNlKTsKICAgICB9CiAgICAgCiAgICAgdm9pZCBzdG9yZURvdWJs
ZShGUFJlZ2lzdGVySUQgc3JjLCBCYXNlSW5kZXggYWRkcmVzcykKICAgICB7Ci0gICAgICAgIEFT
U0VSVChpc1NTRTJQcmVzZW50KCkpOwogICAgICAgICBtX2Fzc2VtYmxlci5tb3ZzZF9ybShzcmMs
IGFkZHJlc3Mub2Zmc2V0LCBhZGRyZXNzLmJhc2UsIGFkZHJlc3MuaW5kZXgsIGFkZHJlc3Muc2Nh
bGUpOwogICAgIH0KIAogICAgIHZvaWQgc3RvcmVGbG9hdChGUFJlZ2lzdGVySUQgc3JjLCBJbXBs
aWNpdEFkZHJlc3MgYWRkcmVzcykKICAgICB7Ci0gICAgICAgIEFTU0VSVChpc1NTRTJQcmVzZW50
KCkpOwogICAgICAgICBtX2Fzc2VtYmxlci5tb3Zzc19ybShzcmMsIGFkZHJlc3Mub2Zmc2V0LCBh
ZGRyZXNzLmJhc2UpOwogICAgIH0KIAogICAgIHZvaWQgc3RvcmVGbG9hdChGUFJlZ2lzdGVySUQg
c3JjLCBCYXNlSW5kZXggYWRkcmVzcykKICAgICB7Ci0gICAgICAgIEFTU0VSVChpc1NTRTJQcmVz
ZW50KCkpOwogICAgICAgICBtX2Fzc2VtYmxlci5tb3Zzc19ybShzcmMsIGFkZHJlc3Mub2Zmc2V0
LCBhZGRyZXNzLmJhc2UsIGFkZHJlc3MuaW5kZXgsIGFkZHJlc3Muc2NhbGUpOwogICAgIH0KICAg
ICAKICAgICB2b2lkIGNvbnZlcnREb3VibGVUb0Zsb2F0KEZQUmVnaXN0ZXJJRCBzcmMsIEZQUmVn
aXN0ZXJJRCBkc3QpCiAgICAgewotICAgICAgICBBU1NFUlQoaXNTU0UyUHJlc2VudCgpKTsKICAg
ICAgICAgbV9hc3NlbWJsZXIuY3Z0c2Qyc3NfcnIoc3JjLCBkc3QpOwogICAgIH0KIAogICAgIHZv
aWQgY29udmVydERvdWJsZVRvRmxvYXQoQWRkcmVzcyBhZGRyZXNzLCBGUFJlZ2lzdGVySUQgZHN0
KQogICAgIHsKLSAgICAgICAgQVNTRVJUKGlzU1NFMlByZXNlbnQoKSk7CiAgICAgICAgIG1fYXNz
ZW1ibGVyLmN2dHNkMnNzX21yKGFkZHJlc3Mub2Zmc2V0LCBhZGRyZXNzLmJhc2UsIGRzdCk7CiAg
ICAgfQogCiAgICAgdm9pZCBjb252ZXJ0RmxvYXRUb0RvdWJsZShGUFJlZ2lzdGVySUQgc3JjLCBG
UFJlZ2lzdGVySUQgZHN0KQogICAgIHsKLSAgICAgICAgQVNTRVJUKGlzU1NFMlByZXNlbnQoKSk7
CiAgICAgICAgIG1fYXNzZW1ibGVyLmN2dHNzMnNkX3JyKHNyYywgZHN0KTsKICAgICB9CiAKICAg
ICB2b2lkIGNvbnZlcnRGbG9hdFRvRG91YmxlKEFkZHJlc3MgYWRkcmVzcywgRlBSZWdpc3RlcklE
IGRzdCkKICAgICB7Ci0gICAgICAgIEFTU0VSVChpc1NTRTJQcmVzZW50KCkpOwogICAgICAgICBt
X2Fzc2VtYmxlci5jdnRzczJzZF9tcihhZGRyZXNzLm9mZnNldCwgYWRkcmVzcy5iYXNlLCBkc3Qp
OwogICAgIH0KIApAQCAtMTU1NCw3ICsxNTM3LDYgQEAgcHVibGljOgogICAgICAgICBpZiAoc3Vw
cG9ydHNBVlgoKSkKICAgICAgICAgICAgIG1fYXNzZW1ibGVyLnZhZGRzZF9ycihvcDEsIG9wMiwg
ZGVzdCk7CiAgICAgICAgIGVsc2UgewotICAgICAgICAgICAgQVNTRVJUKGlzU1NFMlByZXNlbnQo
KSk7CiAgICAgICAgICAgICBpZiAob3AxID09IGRlc3QpCiAgICAgICAgICAgICAgICAgbV9hc3Nl
bWJsZXIuYWRkc2RfcnIob3AyLCBkZXN0KTsKICAgICAgICAgICAgIGVsc2UgewpAQCAtMTU3NCw3
ICsxNTU2LDYgQEAgcHVibGljOgogICAgICAgICBpZiAoc3VwcG9ydHNBVlgoKSkKICAgICAgICAg
ICAgIG1fYXNzZW1ibGVyLnZhZGRzZF9tcihvcDEub2Zmc2V0LCBvcDEuYmFzZSwgb3AyLCBkZXN0
KTsKICAgICAgICAgZWxzZSB7Ci0gICAgICAgICAgICBBU1NFUlQoaXNTU0UyUHJlc2VudCgpKTsK
ICAgICAgICAgICAgIGlmIChvcDIgPT0gZGVzdCkgewogICAgICAgICAgICAgICAgIG1fYXNzZW1i
bGVyLmFkZHNkX21yKG9wMS5vZmZzZXQsIG9wMS5iYXNlLCBkZXN0KTsKICAgICAgICAgICAgICAg
ICByZXR1cm47CkBAIC0xNTk1LDcgKzE1NzYsNiBAQCBwdWJsaWM6CiAgICAgICAgIGlmIChzdXBw
b3J0c0FWWCgpKQogICAgICAgICAgICAgbV9hc3NlbWJsZXIudmFkZHNkX21yKG9wMS5vZmZzZXQs
IG9wMS5iYXNlLCBvcDEuaW5kZXgsIG9wMS5zY2FsZSwgb3AyLCBkZXN0KTsKICAgICAgICAgZWxz
ZSB7Ci0gICAgICAgICAgICBBU1NFUlQoaXNTU0UyUHJlc2VudCgpKTsKICAgICAgICAgICAgIGlm
IChvcDIgPT0gZGVzdCkgewogICAgICAgICAgICAgICAgIG1fYXNzZW1ibGVyLmFkZHNkX21yKG9w
MS5vZmZzZXQsIG9wMS5iYXNlLCBvcDEuaW5kZXgsIG9wMS5zY2FsZSwgZGVzdCk7CiAgICAgICAg
ICAgICAgICAgcmV0dXJuOwpAQCAtMTYyMCw3ICsxNjAwLDYgQEAgcHVibGljOgogICAgICAgICBp
ZiAoc3VwcG9ydHNBVlgoKSkKICAgICAgICAgICAgIG1fYXNzZW1ibGVyLnZhZGRzc19ycihvcDEs
IG9wMiwgZGVzdCk7CiAgICAgICAgIGVsc2UgewotICAgICAgICAgICAgQVNTRVJUKGlzU1NFMlBy
ZXNlbnQoKSk7CiAgICAgICAgICAgICBpZiAob3AxID09IGRlc3QpCiAgICAgICAgICAgICAgICAg
bV9hc3NlbWJsZXIuYWRkc3NfcnIob3AyLCBkZXN0KTsKICAgICAgICAgICAgIGVsc2UgewpAQCAt
MTYzNSw3ICsxNjE0LDYgQEAgcHVibGljOgogICAgICAgICBpZiAoc3VwcG9ydHNBVlgoKSkKICAg
ICAgICAgICAgIG1fYXNzZW1ibGVyLnZhZGRzc19tcihvcDEub2Zmc2V0LCBvcDEuYmFzZSwgb3Ay
LCBkZXN0KTsKICAgICAgICAgZWxzZSB7Ci0gICAgICAgICAgICBBU1NFUlQoaXNTU0UyUHJlc2Vu
dCgpKTsKICAgICAgICAgICAgIGlmIChvcDIgPT0gZGVzdCkgewogICAgICAgICAgICAgICAgIG1f
YXNzZW1ibGVyLmFkZHNzX21yKG9wMS5vZmZzZXQsIG9wMS5iYXNlLCBkZXN0KTsKICAgICAgICAg
ICAgICAgICByZXR1cm47CkBAIC0xNjU2LDcgKzE2MzQsNiBAQCBwdWJsaWM6CiAgICAgICAgIGlm
IChzdXBwb3J0c0FWWCgpKQogICAgICAgICAgICAgbV9hc3NlbWJsZXIudmFkZHNzX21yKG9wMS5v
ZmZzZXQsIG9wMS5iYXNlLCBvcDEuaW5kZXgsIG9wMS5zY2FsZSwgb3AyLCBkZXN0KTsKICAgICAg
ICAgZWxzZSB7Ci0gICAgICAgICAgICBBU1NFUlQoaXNTU0UyUHJlc2VudCgpKTsKICAgICAgICAg
ICAgIGlmIChvcDIgPT0gZGVzdCkgewogICAgICAgICAgICAgICAgIG1fYXNzZW1ibGVyLmFkZHNz
X21yKG9wMS5vZmZzZXQsIG9wMS5iYXNlLCBvcDEuaW5kZXgsIG9wMS5zY2FsZSwgZGVzdCk7CiAg
ICAgICAgICAgICAgICAgcmV0dXJuOwpAQCAtMTY2OCw3ICsxNjQ1LDYgQEAgcHVibGljOgogCiAg
ICAgdm9pZCBkaXZEb3VibGUoRlBSZWdpc3RlcklEIHNyYywgRlBSZWdpc3RlcklEIGRlc3QpCiAg
ICAgewotICAgICAgICBBU1NFUlQoaXNTU0UyUHJlc2VudCgpKTsKICAgICAgICAgbV9hc3NlbWJs
ZXIuZGl2c2RfcnIoc3JjLCBkZXN0KTsKICAgICB9CiAKQEAgLTE2ODMsMTkgKzE2NTksMTYgQEAg
cHVibGljOgogCiAgICAgdm9pZCBkaXZEb3VibGUoQWRkcmVzcyBzcmMsIEZQUmVnaXN0ZXJJRCBk
ZXN0KQogICAgIHsKLSAgICAgICAgQVNTRVJUKGlzU1NFMlByZXNlbnQoKSk7CiAgICAgICAgIG1f
YXNzZW1ibGVyLmRpdnNkX21yKHNyYy5vZmZzZXQsIHNyYy5iYXNlLCBkZXN0KTsKICAgICB9CiAK
ICAgICB2b2lkIGRpdkZsb2F0KEZQUmVnaXN0ZXJJRCBzcmMsIEZQUmVnaXN0ZXJJRCBkZXN0KQog
ICAgIHsKLSAgICAgICAgQVNTRVJUKGlzU1NFMlByZXNlbnQoKSk7CiAgICAgICAgIG1fYXNzZW1i
bGVyLmRpdnNzX3JyKHNyYywgZGVzdCk7CiAgICAgfQogCiAgICAgdm9pZCBkaXZGbG9hdChBZGRy
ZXNzIHNyYywgRlBSZWdpc3RlcklEIGRlc3QpCiAgICAgewotICAgICAgICBBU1NFUlQoaXNTU0Uy
UHJlc2VudCgpKTsKICAgICAgICAgbV9hc3NlbWJsZXIuZGl2c3NfbXIoc3JjLm9mZnNldCwgc3Jj
LmJhc2UsIGRlc3QpOwogICAgIH0KIApAQCAtMTcwOSw4ICsxNjgyLDYgQEAgcHVibGljOgogICAg
ICAgICBpZiAoc3VwcG9ydHNBVlgoKSkKICAgICAgICAgICAgIG1fYXNzZW1ibGVyLnZzdWJzZF9y
cihvcDEsIG9wMiwgZGVzdCk7CiAgICAgICAgIGVsc2UgewotICAgICAgICAgICAgQVNTRVJUKGlz
U1NFMlByZXNlbnQoKSk7Ci0KICAgICAgICAgICAgIC8vIEIgOj0gQSAtIEIgaXMgaW52YWxpZC4K
ICAgICAgICAgICAgIEFTU0VSVChvcDEgPT0gZGVzdCB8fCBvcDIgIT0gZGVzdCk7CiAgICAgICAg
ICAgICBtb3ZlRG91YmxlKG9wMSwgZGVzdCk7CkBAIC0xNzUzLDcgKzE3MjQsNiBAQCBwdWJsaWM6
CiAgICAgICAgIGlmIChzdXBwb3J0c0FWWCgpKQogICAgICAgICAgICAgbV9hc3NlbWJsZXIudnN1
YnNzX3JyKG9wMSwgb3AyLCBkZXN0KTsKICAgICAgICAgZWxzZSB7Ci0gICAgICAgICAgICBBU1NF
UlQoaXNTU0UyUHJlc2VudCgpKTsKICAgICAgICAgICAgIC8vIEIgOj0gQSAtIEIgaXMgaW52YWxp
ZC4KICAgICAgICAgICAgIEFTU0VSVChvcDEgPT0gZGVzdCB8fCBvcDIgIT0gZGVzdCk7CiAgICAg
ICAgICAgICBtb3ZlRG91YmxlKG9wMSwgZGVzdCk7CkBAIC0xNzk2LDcgKzE3NjYsNiBAQCBwdWJs
aWM6CiAgICAgICAgIGlmIChzdXBwb3J0c0FWWCgpKQogICAgICAgICAgICAgbV9hc3NlbWJsZXIu
dm11bHNkX3JyKG9wMSwgb3AyLCBkZXN0KTsKICAgICAgICAgZWxzZSB7Ci0gICAgICAgICAgICBB
U1NFUlQoaXNTU0UyUHJlc2VudCgpKTsKICAgICAgICAgICAgIGlmIChvcDEgPT0gZGVzdCkKICAg
ICAgICAgICAgICAgICBtX2Fzc2VtYmxlci5tdWxzZF9ycihvcDIsIGRlc3QpOwogICAgICAgICAg
ICAgZWxzZSB7CkBAIC0xODE2LDcgKzE3ODUsNiBAQCBwdWJsaWM6CiAgICAgICAgIGlmIChzdXBw
b3J0c0FWWCgpKQogICAgICAgICAgICAgbV9hc3NlbWJsZXIudm11bHNkX21yKG9wMS5vZmZzZXQs
IG9wMS5iYXNlLCBvcDIsIGRlc3QpOwogICAgICAgICBlbHNlIHsKLSAgICAgICAgICAgIEFTU0VS
VChpc1NTRTJQcmVzZW50KCkpOwogICAgICAgICAgICAgaWYgKG9wMiA9PSBkZXN0KSB7CiAgICAg
ICAgICAgICAgICAgbV9hc3NlbWJsZXIubXVsc2RfbXIob3AxLm9mZnNldCwgb3AxLmJhc2UsIGRl
c3QpOwogICAgICAgICAgICAgICAgIHJldHVybjsKQEAgLTE4MzYsNyArMTgwNCw2IEBAIHB1Ymxp
YzoKICAgICAgICAgaWYgKHN1cHBvcnRzQVZYKCkpCiAgICAgICAgICAgICBtX2Fzc2VtYmxlci52
bXVsc2RfbXIob3AxLm9mZnNldCwgb3AxLmJhc2UsIG9wMS5pbmRleCwgb3AxLnNjYWxlLCBvcDIs
IGRlc3QpOwogICAgICAgICBlbHNlIHsKLSAgICAgICAgICAgIEFTU0VSVChpc1NTRTJQcmVzZW50
KCkpOwogICAgICAgICAgICAgaWYgKG9wMiA9PSBkZXN0KSB7CiAgICAgICAgICAgICAgICAgbV9h
c3NlbWJsZXIubXVsc2RfbXIob3AxLm9mZnNldCwgb3AxLmJhc2UsIG9wMS5pbmRleCwgb3AxLnNj
YWxlLCBkZXN0KTsKICAgICAgICAgICAgICAgICByZXR1cm47CkBAIC0xODYxLDcgKzE4MjgsNiBA
QCBwdWJsaWM6CiAgICAgICAgIGlmIChzdXBwb3J0c0FWWCgpKQogICAgICAgICAgICAgbV9hc3Nl
bWJsZXIudm11bHNzX3JyKG9wMSwgb3AyLCBkZXN0KTsKICAgICAgICAgZWxzZSB7Ci0gICAgICAg
ICAgICBBU1NFUlQoaXNTU0UyUHJlc2VudCgpKTsKICAgICAgICAgICAgIGlmIChvcDEgPT0gZGVz
dCkKICAgICAgICAgICAgICAgICBtX2Fzc2VtYmxlci5tdWxzc19ycihvcDIsIGRlc3QpOwogICAg
ICAgICAgICAgZWxzZSB7CkBAIC0xODc2LDcgKzE4NDIsNiBAQCBwdWJsaWM6CiAgICAgICAgIGlm
IChzdXBwb3J0c0FWWCgpKQogICAgICAgICAgICAgbV9hc3NlbWJsZXIudm11bHNzX21yKG9wMS5v
ZmZzZXQsIG9wMS5iYXNlLCBvcDIsIGRlc3QpOwogICAgICAgICBlbHNlIHsKLSAgICAgICAgICAg
IEFTU0VSVChpc1NTRTJQcmVzZW50KCkpOwogICAgICAgICAgICAgaWYgKG9wMiA9PSBkZXN0KSB7
CiAgICAgICAgICAgICAgICAgbV9hc3NlbWJsZXIubXVsc3NfbXIob3AxLm9mZnNldCwgb3AxLmJh
c2UsIGRlc3QpOwogICAgICAgICAgICAgICAgIHJldHVybjsKQEAgLTE4OTYsNyArMTg2MSw2IEBA
IHB1YmxpYzoKICAgICAgICAgaWYgKHN1cHBvcnRzQVZYKCkpCiAgICAgICAgICAgICBtX2Fzc2Vt
Ymxlci52bXVsc3NfbXIob3AxLm9mZnNldCwgb3AxLmJhc2UsIG9wMS5pbmRleCwgb3AxLnNjYWxl
LCBvcDIsIGRlc3QpOwogICAgICAgICBlbHNlIHsKLSAgICAgICAgICAgIEFTU0VSVChpc1NTRTJQ
cmVzZW50KCkpOwogICAgICAgICAgICAgaWYgKG9wMiA9PSBkZXN0KSB7CiAgICAgICAgICAgICAg
ICAgbV9hc3NlbWJsZXIubXVsc3NfbXIob3AxLm9mZnNldCwgb3AxLmJhc2UsIG9wMS5pbmRleCwg
b3AxLnNjYWxlLCBkZXN0KTsKICAgICAgICAgICAgICAgICByZXR1cm47CkBAIC0xOTk5LDMyICsx
OTYzLDI2IEBAIHB1YmxpYzoKIAogICAgIHZvaWQgY29udmVydEludDMyVG9Eb3VibGUoUmVnaXN0
ZXJJRCBzcmMsIEZQUmVnaXN0ZXJJRCBkZXN0KQogICAgIHsKLSAgICAgICAgQVNTRVJUKGlzU1NF
MlByZXNlbnQoKSk7CiAgICAgICAgIG1fYXNzZW1ibGVyLmN2dHNpMnNkX3JyKHNyYywgZGVzdCk7
CiAgICAgfQogCiAgICAgdm9pZCBjb252ZXJ0SW50MzJUb0RvdWJsZShBZGRyZXNzIHNyYywgRlBS
ZWdpc3RlcklEIGRlc3QpCiAgICAgewotICAgICAgICBBU1NFUlQoaXNTU0UyUHJlc2VudCgpKTsK
ICAgICAgICAgbV9hc3NlbWJsZXIuY3Z0c2kyc2RfbXIoc3JjLm9mZnNldCwgc3JjLmJhc2UsIGRl
c3QpOwogICAgIH0KIAogICAgIHZvaWQgY29udmVydEludDMyVG9GbG9hdChSZWdpc3RlcklEIHNy
YywgRlBSZWdpc3RlcklEIGRlc3QpCiAgICAgewotICAgICAgICBBU1NFUlQoaXNTU0UyUHJlc2Vu
dCgpKTsKICAgICAgICAgbV9hc3NlbWJsZXIuY3Z0c2kyc3NfcnIoc3JjLCBkZXN0KTsKICAgICB9
CiAKICAgICB2b2lkIGNvbnZlcnRJbnQzMlRvRmxvYXQoQWRkcmVzcyBzcmMsIEZQUmVnaXN0ZXJJ
RCBkZXN0KQogICAgIHsKLSAgICAgICAgQVNTRVJUKGlzU1NFMlByZXNlbnQoKSk7CiAgICAgICAg
IG1fYXNzZW1ibGVyLmN2dHNpMnNzX21yKHNyYy5vZmZzZXQsIHNyYy5iYXNlLCBkZXN0KTsKICAg
ICB9CiAKICAgICBKdW1wIGJyYW5jaERvdWJsZShEb3VibGVDb25kaXRpb24gY29uZCwgRlBSZWdp
c3RlcklEIGxlZnQsIEZQUmVnaXN0ZXJJRCByaWdodCkKICAgICB7Ci0gICAgICAgIEFTU0VSVChp
c1NTRTJQcmVzZW50KCkpOwotCiAgICAgICAgIGlmIChjb25kICYgRG91YmxlQ29uZGl0aW9uQml0
SW52ZXJ0KQogICAgICAgICAgICAgbV9hc3NlbWJsZXIudWNvbWlzZF9ycihsZWZ0LCByaWdodCk7
CiAgICAgICAgIGVsc2UKQEAgLTIwMzQsOCArMTk5Miw2IEBAIHB1YmxpYzoKIAogICAgIEp1bXAg
YnJhbmNoRmxvYXQoRG91YmxlQ29uZGl0aW9uIGNvbmQsIEZQUmVnaXN0ZXJJRCBsZWZ0LCBGUFJl
Z2lzdGVySUQgcmlnaHQpCiAgICAgewotICAgICAgICBBU1NFUlQoaXNTU0UyUHJlc2VudCgpKTsK
LQogICAgICAgICBpZiAoY29uZCAmIERvdWJsZUNvbmRpdGlvbkJpdEludmVydCkKICAgICAgICAg
ICAgIG1fYXNzZW1ibGVyLnVjb21pc3NfcnIobGVmdCwgcmlnaHQpOwogICAgICAgICBlbHNlCkBA
IC0yMDQ1LDcgKzIwMDEsNiBAQCBwdWJsaWM6CiAKICAgICB2b2lkIGNvbXBhcmVEb3VibGUoRG91
YmxlQ29uZGl0aW9uIGNvbmQsIEZQUmVnaXN0ZXJJRCBsZWZ0LCBGUFJlZ2lzdGVySUQgcmlnaHQs
IFJlZ2lzdGVySUQgZGVzdCkKICAgICB7Ci0gICAgICAgIEFTU0VSVChpc1NTRTJQcmVzZW50KCkp
OwogICAgICAgICBmbG9hdGluZ1BvaW50Q29tcGFyZShjb25kLCBsZWZ0LCByaWdodCwgZGVzdCwg
W3RoaXNdIChGUFJlZ2lzdGVySUQgYXJnMSwgRlBSZWdpc3RlcklEIGFyZzIpIHsKICAgICAgICAg
ICAgIG1fYXNzZW1ibGVyLnVjb21pc2RfcnIoYXJnMSwgYXJnMik7CiAgICAgICAgIH0pOwpAQCAt
MjA1Myw3ICsyMDA4LDYgQEAgcHVibGljOgogCiAgICAgdm9pZCBjb21wYXJlRmxvYXQoRG91Ymxl
Q29uZGl0aW9uIGNvbmQsIEZQUmVnaXN0ZXJJRCBsZWZ0LCBGUFJlZ2lzdGVySUQgcmlnaHQsIFJl
Z2lzdGVySUQgZGVzdCkKICAgICB7Ci0gICAgICAgIEFTU0VSVChpc1NTRTJQcmVzZW50KCkpOwog
ICAgICAgICBmbG9hdGluZ1BvaW50Q29tcGFyZShjb25kLCBsZWZ0LCByaWdodCwgZGVzdCwgW3Ro
aXNdIChGUFJlZ2lzdGVySUQgYXJnMSwgRlBSZWdpc3RlcklEIGFyZzIpIHsKICAgICAgICAgICAg
IG1fYXNzZW1ibGVyLnVjb21pc3NfcnIoYXJnMSwgYXJnMik7CiAgICAgICAgIH0pOwpAQCAtMjA2
NiwyMCArMjAyMCwxNyBAQCBwdWJsaWM6CiAgICAgZW51bSBCcmFuY2hUcnVuY2F0ZVR5cGUgeyBC
cmFuY2hJZlRydW5jYXRlRmFpbGVkLCBCcmFuY2hJZlRydW5jYXRlU3VjY2Vzc2Z1bCB9OwogICAg
IEp1bXAgYnJhbmNoVHJ1bmNhdGVEb3VibGVUb0ludDMyKEZQUmVnaXN0ZXJJRCBzcmMsIFJlZ2lz
dGVySUQgZGVzdCwgQnJhbmNoVHJ1bmNhdGVUeXBlIGJyYW5jaFR5cGUgPSBCcmFuY2hJZlRydW5j
YXRlRmFpbGVkKQogICAgIHsKLSAgICAgICAgQVNTRVJUKGlzU1NFMlByZXNlbnQoKSk7CiAgICAg
ICAgIG1fYXNzZW1ibGVyLmN2dHRzZDJzaV9ycihzcmMsIGRlc3QpOwogICAgICAgICByZXR1cm4g
YnJhbmNoMzIoYnJhbmNoVHlwZSA/IE5vdEVxdWFsIDogRXF1YWwsIGRlc3QsIFRydXN0ZWRJbW0z
MigweDgwMDAwMDAwKSk7CiAgICAgfQogCiAgICAgdm9pZCB0cnVuY2F0ZURvdWJsZVRvSW50MzIo
RlBSZWdpc3RlcklEIHNyYywgUmVnaXN0ZXJJRCBkZXN0KQogICAgIHsKLSAgICAgICAgQVNTRVJU
KGlzU1NFMlByZXNlbnQoKSk7CiAgICAgICAgIG1fYXNzZW1ibGVyLmN2dHRzZDJzaV9ycihzcmMs
IGRlc3QpOwogICAgIH0KIAogICAgIHZvaWQgdHJ1bmNhdGVGbG9hdFRvSW50MzIoRlBSZWdpc3Rl
cklEIHNyYywgUmVnaXN0ZXJJRCBkZXN0KQogICAgIHsKLSAgICAgICAgQVNTRVJUKGlzU1NFMlBy
ZXNlbnQoKSk7CiAgICAgICAgIG1fYXNzZW1ibGVyLmN2dHRzczJzaV9ycihzcmMsIGRlc3QpOwog
ICAgIH0KIApAQCAtMjA4OSw3ICsyMDQwLDYgQEAgcHVibGljOgogICAgIC8vIChzcGVjaWZpY2Fs
bHksIGluIHRoaXMgY2FzZSwgMCkuCiAgICAgdm9pZCBicmFuY2hDb252ZXJ0RG91YmxlVG9JbnQz
MihGUFJlZ2lzdGVySUQgc3JjLCBSZWdpc3RlcklEIGRlc3QsIEp1bXBMaXN0JiBmYWlsdXJlQ2Fz
ZXMsIEZQUmVnaXN0ZXJJRCBmcFRlbXAsIGJvb2wgbmVnWmVyb0NoZWNrID0gdHJ1ZSkKICAgICB7
Ci0gICAgICAgIEFTU0VSVChpc1NTRTJQcmVzZW50KCkpOwogICAgICAgICBtX2Fzc2VtYmxlci5j
dnR0c2Qyc2lfcnIoc3JjLCBkZXN0KTsKIAogICAgICAgICAvLyBJZiB0aGUgcmVzdWx0IGlzIHpl
cm8sIGl0IG1pZ2h0IGhhdmUgYmVlbiAtMC4wLCBhbmQgdGhlIGRvdWJsZSBjb21wYXJpc29uIHdv
bid0IGNhdGNoIHRoaXMhCkBAIC0yMTE5LDQ1ICsyMDY5LDM4IEBAIHB1YmxpYzoKIAogICAgIEp1
bXAgYnJhbmNoRG91YmxlTm9uWmVybyhGUFJlZ2lzdGVySUQgcmVnLCBGUFJlZ2lzdGVySUQgc2Ny
YXRjaCkKICAgICB7Ci0gICAgICAgIEFTU0VSVChpc1NTRTJQcmVzZW50KCkpOwogICAgICAgICBt
X2Fzc2VtYmxlci54b3JwZF9ycihzY3JhdGNoLCBzY3JhdGNoKTsKICAgICAgICAgcmV0dXJuIGJy
YW5jaERvdWJsZShEb3VibGVOb3RFcXVhbCwgcmVnLCBzY3JhdGNoKTsKICAgICB9CiAKICAgICBK
dW1wIGJyYW5jaERvdWJsZVplcm9Pck5hTihGUFJlZ2lzdGVySUQgcmVnLCBGUFJlZ2lzdGVySUQg
c2NyYXRjaCkKICAgICB7Ci0gICAgICAgIEFTU0VSVChpc1NTRTJQcmVzZW50KCkpOwogICAgICAg
ICBtX2Fzc2VtYmxlci54b3JwZF9ycihzY3JhdGNoLCBzY3JhdGNoKTsKICAgICAgICAgcmV0dXJu
IGJyYW5jaERvdWJsZShEb3VibGVFcXVhbE9yVW5vcmRlcmVkLCByZWcsIHNjcmF0Y2gpOwogICAg
IH0KIAogICAgIHZvaWQgbHNoaWZ0UGFja2VkKFRydXN0ZWRJbW0zMiBpbW0sIFhNTVJlZ2lzdGVy
SUQgcmVnKQogICAgIHsKLSAgICAgICAgQVNTRVJUKGlzU1NFMlByZXNlbnQoKSk7CiAgICAgICAg
IG1fYXNzZW1ibGVyLnBzbGxxX2k4cihpbW0ubV92YWx1ZSwgcmVnKTsKICAgICB9CiAKICAgICB2
b2lkIHJzaGlmdFBhY2tlZChUcnVzdGVkSW1tMzIgaW1tLCBYTU1SZWdpc3RlcklEIHJlZykKICAg
ICB7Ci0gICAgICAgIEFTU0VSVChpc1NTRTJQcmVzZW50KCkpOwogICAgICAgICBtX2Fzc2VtYmxl
ci5wc3JscV9pOHIoaW1tLm1fdmFsdWUsIHJlZyk7CiAgICAgfQogCiAgICAgdm9pZCBvclBhY2tl
ZChYTU1SZWdpc3RlcklEIHNyYywgWE1NUmVnaXN0ZXJJRCBkc3QpCiAgICAgewotICAgICAgICBB
U1NFUlQoaXNTU0UyUHJlc2VudCgpKTsKICAgICAgICAgbV9hc3NlbWJsZXIucG9yX3JyKHNyYywg
ZHN0KTsKICAgICB9CiAKICAgICB2b2lkIG1vdmUzMlRvRmxvYXQoUmVnaXN0ZXJJRCBzcmMsIFhN
TVJlZ2lzdGVySUQgZHN0KQogICAgIHsKLSAgICAgICAgQVNTRVJUKGlzU1NFMlByZXNlbnQoKSk7
CiAgICAgICAgIG1fYXNzZW1ibGVyLm1vdmRfcnIoc3JjLCBkc3QpOwogICAgIH0KIAogICAgIHZv
aWQgbW92ZUZsb2F0VG8zMihYTU1SZWdpc3RlcklEIHNyYywgUmVnaXN0ZXJJRCBkc3QpCiAgICAg
ewotICAgICAgICBBU1NFUlQoaXNTU0UyUHJlc2VudCgpKTsKICAgICAgICAgbV9hc3NlbWJsZXIu
bW92ZF9ycihzcmMsIGRzdCk7CiAgICAgfQogCkBAIC0yMjQyLDggKzIxODUsNiBAQCBwdWJsaWM6
CiAKICAgICB2b2lkIG1vdmVDb25kaXRpb25hbGx5RG91YmxlKERvdWJsZUNvbmRpdGlvbiBjb25k
LCBGUFJlZ2lzdGVySUQgbGVmdCwgRlBSZWdpc3RlcklEIHJpZ2h0LCBSZWdpc3RlcklEIHNyYywg
UmVnaXN0ZXJJRCBkZXN0KQogICAgIHsKLSAgICAgICAgQVNTRVJUKGlzU1NFMlByZXNlbnQoKSk7
Ci0KICAgICAgICAgaWYgKGNvbmQgJiBEb3VibGVDb25kaXRpb25CaXRJbnZlcnQpCiAgICAgICAg
ICAgICBtX2Fzc2VtYmxlci51Y29taXNkX3JyKGxlZnQsIHJpZ2h0KTsKICAgICAgICAgZWxzZQpA
QCAtMjI1Myw4ICsyMTk0LDYgQEAgcHVibGljOgogCiAgICAgdm9pZCBtb3ZlQ29uZGl0aW9uYWxs
eURvdWJsZShEb3VibGVDb25kaXRpb24gY29uZCwgRlBSZWdpc3RlcklEIGxlZnQsIEZQUmVnaXN0
ZXJJRCByaWdodCwgUmVnaXN0ZXJJRCB0aGVuQ2FzZSwgUmVnaXN0ZXJJRCBlbHNlQ2FzZSwgUmVn
aXN0ZXJJRCBkZXN0KQogICAgIHsKLSAgICAgICAgQVNTRVJUKGlzU1NFMlByZXNlbnQoKSk7Ci0K
ICAgICAgICAgaWYgKHRoZW5DYXNlICE9IGRlc3QgJiYgZWxzZUNhc2UgIT0gZGVzdCkgewogICAg
ICAgICAgICAgbW92ZShlbHNlQ2FzZSwgZGVzdCk7CiAgICAgICAgICAgICBlbHNlQ2FzZSA9IGRl
c3Q7CkBAIC0yMjc3LDggKzIyMTYsNiBAQCBwdWJsaWM6CiAKICAgICB2b2lkIG1vdmVDb25kaXRp
b25hbGx5RmxvYXQoRG91YmxlQ29uZGl0aW9uIGNvbmQsIEZQUmVnaXN0ZXJJRCBsZWZ0LCBGUFJl
Z2lzdGVySUQgcmlnaHQsIFJlZ2lzdGVySUQgc3JjLCBSZWdpc3RlcklEIGRlc3QpCiAgICAgewot
ICAgICAgICBBU1NFUlQoaXNTU0UyUHJlc2VudCgpKTsKLQogICAgICAgICBpZiAoY29uZCAmIERv
dWJsZUNvbmRpdGlvbkJpdEludmVydCkKICAgICAgICAgICAgIG1fYXNzZW1ibGVyLnVjb21pc3Nf
cnIobGVmdCwgcmlnaHQpOwogICAgICAgICBlbHNlCkBAIC0yMjg4LDggKzIyMjUsNiBAQCBwdWJs
aWM6CiAKICAgICB2b2lkIG1vdmVDb25kaXRpb25hbGx5RmxvYXQoRG91YmxlQ29uZGl0aW9uIGNv
bmQsIEZQUmVnaXN0ZXJJRCBsZWZ0LCBGUFJlZ2lzdGVySUQgcmlnaHQsIFJlZ2lzdGVySUQgdGhl
bkNhc2UsIFJlZ2lzdGVySUQgZWxzZUNhc2UsIFJlZ2lzdGVySUQgZGVzdCkKICAgICB7Ci0gICAg
ICAgIEFTU0VSVChpc1NTRTJQcmVzZW50KCkpOwotCiAgICAgICAgIGlmICh0aGVuQ2FzZSAhPSBk
ZXN0ICYmIGVsc2VDYXNlICE9IGRlc3QpIHsKICAgICAgICAgICAgIG1vdmUoZWxzZUNhc2UsIGRl
c3QpOwogICAgICAgICAgICAgZWxzZUNhc2UgPSBkZXN0OwpAQCAtMjM3NCw4ICsyMzA5LDYgQEAg
cHVibGljOgogCiAgICAgdm9pZCBtb3ZlQ29uZGl0aW9uYWxseURvdWJsZShEb3VibGVDb25kaXRp
b24gY29uZCwgRlBSZWdpc3RlcklEIGxlZnQsIEZQUmVnaXN0ZXJJRCByaWdodCwgUmVnaXN0ZXJJ
RCBzcmMsIFJlZ2lzdGVySUQgZGVzdCkKICAgICB7Ci0gICAgICAgIEFTU0VSVChpc1NTRTJQcmVz
ZW50KCkpOwotCiAgICAgICAgIGlmIChjb25kICYgRG91YmxlQ29uZGl0aW9uQml0SW52ZXJ0KQog
ICAgICAgICAgICAgbV9hc3NlbWJsZXIudWNvbWlzZF9ycihsZWZ0LCByaWdodCk7CiAgICAgICAg
IGVsc2UKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9vZmZsaW5lYXNtL3g4Ni5y
YiBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9vZmZsaW5lYXNtL3g4Ni5yYgppbmRleCA2MmFhMzVh
NTE1MC4uNzk2OTk2NDY4ZTIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9vZmZs
aW5lYXNtL3g4Ni5yYgorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvb2ZmbGluZWFzbS94ODYu
cmIKQEAgLTExMCwyMSArMTEwLDYgQEAgZGVmIGlzV2luCiAgICAgZW5kCiBlbmQKIAotZGVmIHVz
ZVg4NwotICAgIGNhc2UgJGFjdGl2ZUJhY2tlbmQKLSAgICB3aGVuICJYODYiCi0gICAgICAgIHRy
dWUKLSAgICB3aGVuICJYODZfV0lOIgotICAgICAgICB0cnVlCi0gICAgd2hlbiAiWDg2XzY0Igot
ICAgICAgICBmYWxzZQotICAgIHdoZW4gIlg4Nl82NF9XSU4iCi0gICAgICAgIGZhbHNlCi0gICAg
ZWxzZQotICAgICAgICByYWlzZSAiYmFkIHZhbHVlIGZvciAkYWN0aXZlQmFja2VuZDogI3skYWN0
aXZlQmFja2VuZH0iCi0gICAgZW5kCi1lbmQKLQogZGVmIGlzTVNWQwogICAgICRvcHRpb25zLmhh
c19rZXk/KDphc3NlbWJsZXIpICYmICRvcHRpb25zWzphc3NlbWJsZXJdID09ICJNQVNNIgogZW5k
CkBAIC0zNDEsNyArMzI2LDYgQEAgZW5kCiBjbGFzcyBGUFJlZ2lzdGVySUQKICAgICBkZWYgeDg2
T3BlcmFuZChraW5kKQogICAgICAgICByYWlzZSB1bmxlc3Mga2luZCA9PSA6ZG91YmxlCi0gICAg
ICAgIHJhaXNlIGlmIHVzZVg4NwogICAgICAgICBjYXNlIG5hbWUKICAgICAgICAgd2hlbiAiZnQw
IiwgImZhMCIsICJmciIKICAgICAgICAgICAgIHJlZ2lzdGVyKCJ4bW0wIikKQEAgLTM1OSwyMyAr
MzQzLDYgQEAgY2xhc3MgRlBSZWdpc3RlcklECiAgICAgICAgICAgICByYWlzZSAiQmFkIHJlZ2lz
dGVyICN7bmFtZX0gZm9yIFg4NiBhdCAje2NvZGVPcmlnaW5TdHJpbmd9IgogICAgICAgICBlbmQK
ICAgICBlbmQKLSAgICBkZWYgeDg3RGVmYXVsdFN0YWNrUG9zaXRpb24KLSAgICAgICAgY2FzZSBu
YW1lCi0gICAgICAgIHdoZW4gImZ0MCIsICJmciIKLSAgICAgICAgICAgIDAKLSAgICAgICAgd2hl
biAiZnQxIgotICAgICAgICAgICAgMQotICAgICAgICB3aGVuICJmdDIiLCAiZnQzIiwgImZ0NCIs
ICJmdDUiCi0gICAgICAgICAgICByYWlzZSAiVW5pbXBsZW1lbnRlZCByZWdpc3RlciAje25hbWV9
IGZvciBYODYgYXQgI3tjb2RlT3JpZ2luU3RyaW5nfSIKLSAgICAgICAgZWxzZQotICAgICAgICAg
ICAgcmFpc2UgIkJhZCByZWdpc3RlciAje25hbWV9IGZvciBYODYgYXQgI3tjb2RlT3JpZ2luU3Ry
aW5nfSIKLSAgICAgICAgZW5kCi0gICAgZW5kCi0gICAgZGVmIHg4N09wZXJhbmQob2Zmc2V0KQot
ICAgICAgICByYWlzZSB1bmxlc3MgdXNlWDg3Ci0gICAgICAgIHJhaXNlIHVubGVzcyBvZmZzZXQg
PT0gMCBvciBvZmZzZXQgPT0gMQotICAgICAgICAiI3tyZWdpc3Rlcigic3QiKX0oI3t4ODdEZWZh
dWx0U3RhY2tQb3NpdGlvbiArIG9mZnNldH0pIgotICAgIGVuZAogICAgIGRlZiB4ODZDYWxsT3Bl
cmFuZChraW5kKQogICAgICAgICAiI3tjYWxsUHJlZml4fSN7eDg2T3BlcmFuZChraW5kKX0iCiAg
ICAgZW5kCkBAIC01NjEsNyArNTI4LDcgQEAgY2xhc3MgSW5zdHJ1Y3Rpb24KICAgICAgICAgd2hl
biA6cXVhZAogICAgICAgICAgICAgaXNYNjQgPyAicSIgOiByYWlzZQogICAgICAgICB3aGVuIDpk
b3VibGUKLSAgICAgICAgICAgIG5vdCB1c2VYODcgPyAic2QiIDogcmFpc2UKKyAgICAgICAgICAg
ICJzZCIKICAgICAgICAgZWxzZQogICAgICAgICAgICAgcmFpc2UKICAgICAgICAgZW5kCkBAIC02
MzMsMTcgKzYwMCwxMyBAQCBjbGFzcyBJbnN0cnVjdGlvbgogICAgIGVuZAogICAgIAogICAgIGRl
ZiBoYW5kbGVYODZEb3VibGVCcmFuY2goYnJhbmNoT3Bjb2RlLCBtb2RlKQotICAgICAgICBpZiB1
c2VYODcKLSAgICAgICAgICAgIGhhbmRsZVg4N0NvbXBhcmUobW9kZSkKKyAgICAgICAgY2FzZSBt
b2RlCisgICAgICAgIHdoZW4gOm5vcm1hbAorICAgICAgICAgICAgJGFzbS5wdXRzICJ1Y29taXNk
ICN7b3JkZXJPcGVyYW5kcyhvcGVyYW5kc1sxXS54ODZPcGVyYW5kKDpkb3VibGUpLCBvcGVyYW5k
c1swXS54ODZPcGVyYW5kKDpkb3VibGUpKX0iCisgICAgICAgIHdoZW4gOnJldmVyc2UKKyAgICAg
ICAgICAgICRhc20ucHV0cyAidWNvbWlzZCAje29yZGVyT3BlcmFuZHMob3BlcmFuZHNbMF0ueDg2
T3BlcmFuZCg6ZG91YmxlKSwgb3BlcmFuZHNbMV0ueDg2T3BlcmFuZCg6ZG91YmxlKSl9IgogICAg
ICAgICBlbHNlCi0gICAgICAgICAgICBjYXNlIG1vZGUKLSAgICAgICAgICAgIHdoZW4gOm5vcm1h
bAotICAgICAgICAgICAgICAgICRhc20ucHV0cyAidWNvbWlzZCAje29yZGVyT3BlcmFuZHMob3Bl
cmFuZHNbMV0ueDg2T3BlcmFuZCg6ZG91YmxlKSwgb3BlcmFuZHNbMF0ueDg2T3BlcmFuZCg6ZG91
YmxlKSl9IgotICAgICAgICAgICAgd2hlbiA6cmV2ZXJzZQotICAgICAgICAgICAgICAgICRhc20u
cHV0cyAidWNvbWlzZCAje29yZGVyT3BlcmFuZHMob3BlcmFuZHNbMF0ueDg2T3BlcmFuZCg6ZG91
YmxlKSwgb3BlcmFuZHNbMV0ueDg2T3BlcmFuZCg6ZG91YmxlKSl9IgotICAgICAgICAgICAgZWxz
ZQotICAgICAgICAgICAgICAgIHJhaXNlIG1vZGUuaW5zcGVjdAotICAgICAgICAgICAgZW5kCisg
ICAgICAgICAgICByYWlzZSBtb2RlLmluc3BlY3QKICAgICAgICAgZW5kCiAgICAgICAgICRhc20u
cHV0cyAiI3ticmFuY2hPcGNvZGV9ICN7b3BlcmFuZHNbMl0uYXNtTGFiZWx9IgogICAgIGVuZApA
QCAtODYxLDQzICs4MjQsNiBAQCBjbGFzcyBJbnN0cnVjdGlvbgogICAgICAgICBlbmQKICAgICBl
bmQKIAotICAgIGRlZiBoYW5kbGVYODdDb21wYXJlKG1vZGUpCi0gICAgICAgIGZsb2F0aW5nUG9p
bnRDb21wYXJlSW1wbGljaXRPcGVyYW5kID0gZ2V0SW1wbGljaXRPcGVyYW5kU3RyaW5nCi0gICAg
ICAgIGNhc2UgbW9kZQotICAgICAgICB3aGVuIDpub3JtYWwKLSAgICAgICAgICAgIGlmIChvcGVy
YW5kc1swXS54ODdEZWZhdWx0U3RhY2tQb3NpdGlvbiA9PSAwKQotICAgICAgICAgICAgICAgICRh
c20ucHV0cyAiZnVjb21pICN7ZmxvYXRpbmdQb2ludENvbXBhcmVJbXBsaWNpdE9wZXJhbmR9I3tv
cGVyYW5kc1sxXS54ODdPcGVyYW5kKDApfSIKLSAgICAgICAgICAgIGVsc2UKLSAgICAgICAgICAg
ICAgICAkYXNtLnB1dHMgImZsZCAje29wZXJhbmRzWzBdLng4N09wZXJhbmQoMCl9IgotICAgICAg
ICAgICAgICAgICRhc20ucHV0cyAiZnVjb21pcCAje2Zsb2F0aW5nUG9pbnRDb21wYXJlSW1wbGlj
aXRPcGVyYW5kfSN7b3BlcmFuZHNbMV0ueDg3T3BlcmFuZCgxKX0iCi0gICAgICAgICAgICBlbmQK
LSAgICAgICAgd2hlbiA6cmV2ZXJzZQotICAgICAgICAgICAgaWYgKG9wZXJhbmRzWzFdLng4N0Rl
ZmF1bHRTdGFja1Bvc2l0aW9uID09IDApCi0gICAgICAgICAgICAgICAgJGFzbS5wdXRzICJmdWNv
bWkgI3tmbG9hdGluZ1BvaW50Q29tcGFyZUltcGxpY2l0T3BlcmFuZH0je29wZXJhbmRzWzBdLng4
N09wZXJhbmQoMCl9IgotICAgICAgICAgICAgZWxzZQotICAgICAgICAgICAgICAgICRhc20ucHV0
cyAiZmxkICN7b3BlcmFuZHNbMV0ueDg3T3BlcmFuZCgwKX0iCi0gICAgICAgICAgICAgICAgJGFz
bS5wdXRzICJmdWNvbWlwICN7ZmxvYXRpbmdQb2ludENvbXBhcmVJbXBsaWNpdE9wZXJhbmR9I3tv
cGVyYW5kc1swXS54ODdPcGVyYW5kKDEpfSIKLSAgICAgICAgICAgIGVuZAotICAgICAgICBlbHNl
Ci0gICAgICAgICAgICByYWlzZSBtb2RlLmluc3BlY3QKLSAgICAgICAgZW5kCi0gICAgZW5kCi0K
LSAgICBkZWYgaGFuZGxlWDg3QmluT3Aob3Bjb2RlLCBvcGNvZGVyZXZlcnNlKQotICAgICAgICBp
ZiAob3BlcmFuZHNbMV0ueDg3RGVmYXVsdFN0YWNrUG9zaXRpb24gPT0gMCkKLSAgICAgICAgICAg
ICRhc20ucHV0cyAiI3tvcGNvZGV9ICN7b3JkZXJPcGVyYW5kcyhvcGVyYW5kc1swXS54ODdPcGVy
YW5kKDApLCByZWdpc3Rlcigic3QiKSl9IgotICAgICAgICBlbHNpZiAob3BlcmFuZHNbMF0ueDg3
RGVmYXVsdFN0YWNrUG9zaXRpb24gPT0gMCkKLSAgICAgICAgICAgIGlmICFpc0ludGVsU3ludGF4
Ci0gICAgICAgICAgICAgICAgJGFzbS5wdXRzICIje29wY29kZXJldmVyc2V9ICN7cmVnaXN0ZXIo
InN0Iil9LCAje29wZXJhbmRzWzFdLng4N09wZXJhbmQoMCl9IgotICAgICAgICAgICAgZWxzZQot
ICAgICAgICAgICAgICAgICRhc20ucHV0cyAiI3tvcGNvZGV9ICN7b3BlcmFuZHNbMV0ueDg3T3Bl
cmFuZCgwKX0sICN7cmVnaXN0ZXIoInN0Iil9IgotICAgICAgICAgICAgZW5kCi0gICAgICAgIGVs
c2UKLSAgICAgICAgICAgICRhc20ucHV0cyAiZmxkICN7b3BlcmFuZHNbMF0ueDg3T3BlcmFuZCgw
KX0iCi0gICAgICAgICAgICAkYXNtLnB1dHMgIiN7b3Bjb2RlcmV2ZXJzZX1wICN7b3JkZXJPcGVy
YW5kcyhyZWdpc3Rlcigic3QiKSwgb3BlcmFuZHNbMV0ueDg3T3BlcmFuZCgxKSl9IgotICAgICAg
ICBlbmQKLSAgICBlbmQKLQogICAgIGRlZiBsb3dlclg4NgogICAgICAgICByYWlzZSB1bmxlc3Mg
JGFjdGl2ZUJhY2tlbmQgPT0gIlg4NiIKICAgICAgICAgbG93ZXJYODZDb21tb24KQEAgLTEwMzks
ODkgKzk2NSwyNSBAQCBjbGFzcyBJbnN0cnVjdGlvbgogICAgICAgICB3aGVuICJzdG9yZWIiCiAg
ICAgICAgICAgICAkYXNtLnB1dHMgIm1vdiN7eDg2U3VmZml4KDpieXRlKX0gI3t4ODZPcGVyYW5k
cyg6Ynl0ZSwgOmJ5dGUpfSIKICAgICAgICAgd2hlbiAibG9hZGQiCi0gICAgICAgICAgICBpZiB1
c2VYODcKLSAgICAgICAgICAgICAgICBpZiAhaXNJbnRlbFN5bnRheAotICAgICAgICAgICAgICAg
ICAgICAkYXNtLnB1dHMgImZsZGwgI3tvcGVyYW5kc1swXS54ODZPcGVyYW5kKDpkb3VibGUpfSIK
LSAgICAgICAgICAgICAgICBlbHNlCi0gICAgICAgICAgICAgICAgICAgICRhc20ucHV0cyAiZmxk
ICN7b3BlcmFuZHNbMF0ueDg2T3BlcmFuZCg6ZG91YmxlKX0iCi0gICAgICAgICAgICAgICAgZW5k
Ci0gICAgICAgICAgICAgICAgJGFzbS5wdXRzICJmc3RwICN7b3BlcmFuZHNbMV0ueDg3T3BlcmFu
ZCgxKX0iCi0gICAgICAgICAgICBlbHNlCi0gICAgICAgICAgICAgICAgJGFzbS5wdXRzICJtb3Zz
ZCAje3g4Nk9wZXJhbmRzKDpkb3VibGUsIDpkb3VibGUpfSIKLSAgICAgICAgICAgIGVuZAorICAg
ICAgICAgICAgJGFzbS5wdXRzICJtb3ZzZCAje3g4Nk9wZXJhbmRzKDpkb3VibGUsIDpkb3VibGUp
fSIKICAgICAgICAgd2hlbiAibW92ZWQiCi0gICAgICAgICAgICBpZiB1c2VYODcKLSAgICAgICAg
ICAgICAgICBpZiAob3BlcmFuZHNbMF0ueDg3RGVmYXVsdFN0YWNrUG9zaXRpb24gPT0gMCkKLSAg
ICAgICAgICAgICAgICAgICAgJGFzbS5wdXRzICJmc3QgI3tvcGVyYW5kc1sxXS54ODdPcGVyYW5k
KDApfSIKLSAgICAgICAgICAgICAgICBlbHNlCi0gICAgICAgICAgICAgICAgICAgICRhc20ucHV0
cyAiZmxkICN7b3BlcmFuZHNbMF0ueDg3T3BlcmFuZCgwKX0iCi0gICAgICAgICAgICAgICAgICAg
ICRhc20ucHV0cyAiZnN0cCAje29wZXJhbmRzWzFdLng4N09wZXJhbmQoMSl9IgotICAgICAgICAg
ICAgICAgIGVuZAotICAgICAgICAgICAgZWxzZQotICAgICAgICAgICAgICAgICRhc20ucHV0cyAi
bW92c2QgI3t4ODZPcGVyYW5kcyg6ZG91YmxlLCA6ZG91YmxlKX0iCi0gICAgICAgICAgICBlbmQK
KyAgICAgICAgICAgICRhc20ucHV0cyAibW92c2QgI3t4ODZPcGVyYW5kcyg6ZG91YmxlLCA6ZG91
YmxlKX0iCiAgICAgICAgIHdoZW4gInN0b3JlZCIKLSAgICAgICAgICAgIGlmIHVzZVg4NwotICAg
ICAgICAgICAgICAgIGlmIChvcGVyYW5kc1swXS54ODdEZWZhdWx0U3RhY2tQb3NpdGlvbiA9PSAw
KQotICAgICAgICAgICAgICAgICAgICAkYXNtLnB1dHMgImZzdCN7eDg2U3VmZml4KDppbnQpfSAj
e29wZXJhbmRzWzFdLng4Nk9wZXJhbmQoOmRvdWJsZSl9IgotICAgICAgICAgICAgICAgIGVsc2UK
LSAgICAgICAgICAgICAgICAgICAgJGFzbS5wdXRzICJmbGQgI3tvcGVyYW5kc1swXS54ODdPcGVy
YW5kKDApfSIKLSAgICAgICAgICAgICAgICAgICAgaWYgIWlzSW50ZWxTeW50YXgKLSAgICAgICAg
ICAgICAgICAgICAgICAgICRhc20ucHV0cyAiZnN0cGwgI3tvcGVyYW5kc1sxXS54ODZPcGVyYW5k
KDpkb3VibGUpfSIKLSAgICAgICAgICAgICAgICAgICAgZWxzZQotICAgICAgICAgICAgICAgICAg
ICAgICAgJGFzbS5wdXRzICJmc3RwICN7b3BlcmFuZHNbMV0ueDg2T3BlcmFuZCg6ZG91YmxlKX0i
Ci0gICAgICAgICAgICAgICAgICAgIGVuZAotICAgICAgICAgICAgICAgIGVuZAotICAgICAgICAg
ICAgZWxzZQotICAgICAgICAgICAgICAgICRhc20ucHV0cyAibW92c2QgI3t4ODZPcGVyYW5kcyg6
ZG91YmxlLCA6ZG91YmxlKX0iCi0gICAgICAgICAgICBlbmQKKyAgICAgICAgICAgICRhc20ucHV0
cyAibW92c2QgI3t4ODZPcGVyYW5kcyg6ZG91YmxlLCA6ZG91YmxlKX0iCiAgICAgICAgIHdoZW4g
ImFkZGQiCi0gICAgICAgICAgICBpZiB1c2VYODcKLSAgICAgICAgICAgICAgICBoYW5kbGVYODdC
aW5PcCgiZmFkZCIsICJmYWRkIikKLSAgICAgICAgICAgIGVsc2UKLSAgICAgICAgICAgICAgICAk
YXNtLnB1dHMgImFkZHNkICN7eDg2T3BlcmFuZHMoOmRvdWJsZSwgOmRvdWJsZSl9IgotICAgICAg
ICAgICAgZW5kCisgICAgICAgICAgICAkYXNtLnB1dHMgImFkZHNkICN7eDg2T3BlcmFuZHMoOmRv
dWJsZSwgOmRvdWJsZSl9IgogICAgICAgICB3aGVuICJtdWxkIgotICAgICAgICAgICAgaWYgdXNl
WDg3Ci0gICAgICAgICAgICAgICAgaGFuZGxlWDg3QmluT3AoImZtdWwiLCAiZm11bCIpCi0gICAg
ICAgICAgICBlbHNlCi0gICAgICAgICAgICAgICAgJGFzbS5wdXRzICJtdWxzZCAje3g4Nk9wZXJh
bmRzKDpkb3VibGUsIDpkb3VibGUpfSIKLSAgICAgICAgICAgIGVuZAorICAgICAgICAgICAgJGFz
bS5wdXRzICJtdWxzZCAje3g4Nk9wZXJhbmRzKDpkb3VibGUsIDpkb3VibGUpfSIKICAgICAgICAg
d2hlbiAic3ViZCIKLSAgICAgICAgICAgIGlmIHVzZVg4NwotICAgICAgICAgICAgICAgIGhhbmRs
ZVg4N0Jpbk9wKCJmc3ViIiwgImZzdWJyIikKLSAgICAgICAgICAgIGVsc2UKLSAgICAgICAgICAg
ICAgICAkYXNtLnB1dHMgInN1YnNkICN7eDg2T3BlcmFuZHMoOmRvdWJsZSwgOmRvdWJsZSl9Igot
ICAgICAgICAgICAgZW5kCisgICAgICAgICAgICAkYXNtLnB1dHMgInN1YnNkICN7eDg2T3BlcmFu
ZHMoOmRvdWJsZSwgOmRvdWJsZSl9IgogICAgICAgICB3aGVuICJkaXZkIgotICAgICAgICAgICAg
aWYgdXNlWDg3Ci0gICAgICAgICAgICAgICAgaGFuZGxlWDg3QmluT3AoImZkaXYiLCAiZmRpdnIi
KQotICAgICAgICAgICAgZWxzZQotICAgICAgICAgICAgICAgICRhc20ucHV0cyAiZGl2c2QgI3t4
ODZPcGVyYW5kcyg6ZG91YmxlLCA6ZG91YmxlKX0iCi0gICAgICAgICAgICBlbmQKKyAgICAgICAg
ICAgICRhc20ucHV0cyAiZGl2c2QgI3t4ODZPcGVyYW5kcyg6ZG91YmxlLCA6ZG91YmxlKX0iCiAg
ICAgICAgIHdoZW4gInNxcnRkIgotICAgICAgICAgICAgaWYgdXNlWDg3Ci0gICAgICAgICAgICAg
ICAgJGFzbS5wdXRzICJmbGQgI3tvcGVyYW5kc1swXS54ODdPcGVyYW5kKDApfSIKLSAgICAgICAg
ICAgICAgICAkYXNtLnB1dHMgImZzcXJ0bCIKLSAgICAgICAgICAgICAgICAkYXNtLnB1dHMgImZz
dHAgI3tvcGVyYW5kc1sxXS54ODdPcGVyYW5kKDEpfSIKLSAgICAgICAgICAgIGVsc2UKLSAgICAg
ICAgICAgICAgICAkYXNtLnB1dHMgInNxcnRzZCAje29wZXJhbmRzWzBdLng4Nk9wZXJhbmQoOmRv
dWJsZSl9LCAje29wZXJhbmRzWzFdLng4Nk9wZXJhbmQoOmRvdWJsZSl9IgotICAgICAgICAgICAg
ZW5kCisgICAgICAgICAgICAkYXNtLnB1dHMgInNxcnRzZCAje29wZXJhbmRzWzBdLng4Nk9wZXJh
bmQoOmRvdWJsZSl9LCAje29wZXJhbmRzWzFdLng4Nk9wZXJhbmQoOmRvdWJsZSl9IgogICAgICAg
ICB3aGVuICJjaTJkIgotICAgICAgICAgICAgaWYgdXNlWDg3Ci0gICAgICAgICAgICAgICAgc3Ag
PSBSZWdpc3RlcklELm5ldyhuaWwsICJzcCIpCi0gICAgICAgICAgICAgICAgJGFzbS5wdXRzICJt
b3Yje3g4NlN1ZmZpeCg6aW50KX0gI3tvcmRlck9wZXJhbmRzKG9wZXJhbmRzWzBdLng4Nk9wZXJh
bmQoOmludCksIG9mZnNldFJlZ2lzdGVyKC00LCBzcC54ODZPcGVyYW5kKDpwdHIpKSl9IgotICAg
ICAgICAgICAgICAgICRhc20ucHV0cyAiZmlsZCN7eDg2U3VmZml4KDpwdHIpfSAje2dldFNpemVT
dHJpbmcoOnB0cil9I3tvZmZzZXRSZWdpc3RlcigtNCwgc3AueDg2T3BlcmFuZCg6cHRyKSl9Igot
ICAgICAgICAgICAgICAgICRhc20ucHV0cyAiZnN0cCAje29wZXJhbmRzWzFdLng4N09wZXJhbmQo
MSl9IgotICAgICAgICAgICAgZWxzZQotICAgICAgICAgICAgICAgICRhc20ucHV0cyAiY3Z0c2ky
c2QgI3tvcmRlck9wZXJhbmRzKG9wZXJhbmRzWzBdLng4Nk9wZXJhbmQoOmludCksIG9wZXJhbmRz
WzFdLng4Nk9wZXJhbmQoOmRvdWJsZSkpfSIKLSAgICAgICAgICAgIGVuZAorICAgICAgICAgICAg
JGFzbS5wdXRzICJjdnRzaTJzZCAje29yZGVyT3BlcmFuZHMob3BlcmFuZHNbMF0ueDg2T3BlcmFu
ZCg6aW50KSwgb3BlcmFuZHNbMV0ueDg2T3BlcmFuZCg6ZG91YmxlKSl9IgogICAgICAgICB3aGVu
ICJiZGVxIgotICAgICAgICAgICAgaWYgdXNlWDg3Ci0gICAgICAgICAgICAgICAgaGFuZGxlWDg3
Q29tcGFyZSg6bm9ybWFsKQotICAgICAgICAgICAgZWxzZQotICAgICAgICAgICAgICAgICRhc20u
cHV0cyAidWNvbWlzZCAje29yZGVyT3BlcmFuZHMob3BlcmFuZHNbMF0ueDg2T3BlcmFuZCg6ZG91
YmxlKSwgb3BlcmFuZHNbMV0ueDg2T3BlcmFuZCg6ZG91YmxlKSl9IgotICAgICAgICAgICAgZW5k
CisgICAgICAgICAgICAkYXNtLnB1dHMgInVjb21pc2QgI3tvcmRlck9wZXJhbmRzKG9wZXJhbmRz
WzBdLng4Nk9wZXJhbmQoOmRvdWJsZSksIG9wZXJhbmRzWzFdLng4Nk9wZXJhbmQoOmRvdWJsZSkp
fSIKICAgICAgICAgICAgIGlmIG9wZXJhbmRzWzBdID09IG9wZXJhbmRzWzFdCiAgICAgICAgICAg
ICAgICAgIyBUaGlzIGlzIGp1c3QgYSBqdW1wIG9yZGVyZWQsIHdoaWNoIGlzIGEgam5wLgogICAg
ICAgICAgICAgICAgICRhc20ucHV0cyAiam5wICN7b3BlcmFuZHNbMl0uYXNtTGFiZWx9IgpAQCAt
MTE0NCwxMSArMTAwNiw3IEBAIGNsYXNzIEluc3RydWN0aW9uCiAgICAgICAgIHdoZW4gImJkZXF1
biIKICAgICAgICAgICAgIGhhbmRsZVg4NkRvdWJsZUJyYW5jaCgiamUiLCA6bm9ybWFsKQogICAg
ICAgICB3aGVuICJiZG5lcXVuIgotICAgICAgICAgICAgaWYgdXNlWDg3Ci0gICAgICAgICAgICAg
ICAgaGFuZGxlWDg3Q29tcGFyZSg6bm9ybWFsKQotICAgICAgICAgICAgZWxzZQotICAgICAgICAg
ICAgICAgICRhc20ucHV0cyAidWNvbWlzZCAje29yZGVyT3BlcmFuZHMob3BlcmFuZHNbMF0ueDg2
T3BlcmFuZCg6ZG91YmxlKSwgb3BlcmFuZHNbMV0ueDg2T3BlcmFuZCg6ZG91YmxlKSl9IgotICAg
ICAgICAgICAgZW5kCisgICAgICAgICAgICAkYXNtLnB1dHMgInVjb21pc2QgI3tvcmRlck9wZXJh
bmRzKG9wZXJhbmRzWzBdLng4Nk9wZXJhbmQoOmRvdWJsZSksIG9wZXJhbmRzWzFdLng4Nk9wZXJh
bmQoOmRvdWJsZSkpfSIKICAgICAgICAgICAgIGlmIG9wZXJhbmRzWzBdID09IG9wZXJhbmRzWzFd
CiAgICAgICAgICAgICAgICAgIyBUaGlzIGlzIGp1c3QgYSBqdW1wIHVub3JkZXJlZCwgd2hpY2gg
aXMgYSBqcC4KICAgICAgICAgICAgICAgICAkYXNtLnB1dHMgImpwICN7b3BlcmFuZHNbMl0uYXNt
TGFiZWx9IgpAQCAtMTE3MCw0OCArMTAyOCwyMSBAQCBjbGFzcyBJbnN0cnVjdGlvbgogICAgICAg
ICB3aGVuICJiZGx0ZXF1biIKICAgICAgICAgICAgIGhhbmRsZVg4NkRvdWJsZUJyYW5jaCgiamJl
IiwgOm5vcm1hbCkKICAgICAgICAgd2hlbiAiYnRkMmkiCi0gICAgICAgICAgICAjIEZJWE1FOiB1
bnVzZWQgYW5kIHVuaW1wbGVtZW50ZWQgZm9yIHg4NwotICAgICAgICAgICAgcmFpc2UgaWYgdXNl
WDg3CiAgICAgICAgICAgICAkYXNtLnB1dHMgImN2dHRzZDJzaSAje29wZXJhbmRzWzBdLng4Nk9w
ZXJhbmQoOmRvdWJsZSl9LCAje29wZXJhbmRzWzFdLng4Nk9wZXJhbmQoOmludCl9IgogICAgICAg
ICAgICAgJGFzbS5wdXRzICJjbXBsICQweDgwMDAwMDAwICN7b3BlcmFuZHNbMV0ueDg2T3BlcmFu
ZCg6aW50KX0iCiAgICAgICAgICAgICAkYXNtLnB1dHMgImplICN7b3BlcmFuZHNbMl0uYXNtTGFi
ZWx9IgogICAgICAgICB3aGVuICJ0ZDJpIgotICAgICAgICAgICAgIyBGSVhNRTogdW51c2VkIGFu
ZCB1bmltcGxlbWVudGVkIGZvciB4ODcKLSAgICAgICAgICAgIHJhaXNlIGlmIHVzZVg4NwogICAg
ICAgICAgICAgJGFzbS5wdXRzICJjdnR0c2Qyc2kgI3tvcGVyYW5kc1swXS54ODZPcGVyYW5kKDpk
b3VibGUpfSwgI3tvcGVyYW5kc1sxXS54ODZPcGVyYW5kKDppbnQpfSIKICAgICAgICAgd2hlbiAi
YmNkMmkiCi0gICAgICAgICAgICBpZiB1c2VYODcKLSAgICAgICAgICAgICAgICBmbG9hdGluZ1Bv
aW50Q29tcGFyZUltcGxpY2l0T3BlcmFuZCA9IGdldEltcGxpY2l0T3BlcmFuZFN0cmluZwotICAg
ICAgICAgICAgICAgIHNwID0gUmVnaXN0ZXJJRC5uZXcobmlsLCAic3AiKQotICAgICAgICAgICAg
ICAgIGlmIChvcGVyYW5kc1swXS54ODdEZWZhdWx0U3RhY2tQb3NpdGlvbiA9PSAwKQotICAgICAg
ICAgICAgICAgICAgICAkYXNtLnB1dHMgImZpc3RsIC00KCN7c3AueDg2T3BlcmFuZCg6cHRyKX0p
IgotICAgICAgICAgICAgICAgIGVsc2UKLSAgICAgICAgICAgICAgICAgICAgJGFzbS5wdXRzICJm
bGQgI3tvcGVyYW5kc1swXS54ODdPcGVyYW5kKDApfSIKLSAgICAgICAgICAgICAgICAgICAgJGFz
bS5wdXRzICJmaXN0cCN7eDg2U3VmZml4KDpwdHIpfSAje2dldFNpemVTdHJpbmcoOnB0cil9I3tv
ZmZzZXRSZWdpc3RlcigtNCwgc3AueDg2T3BlcmFuZCg6cHRyKSl9IgotICAgICAgICAgICAgICAg
IGVuZAotICAgICAgICAgICAgICAgICRhc20ucHV0cyAibW92I3t4ODZTdWZmaXgoOmludCl9ICN7
b3JkZXJPcGVyYW5kcyhvZmZzZXRSZWdpc3RlcigtNCwgc3AueDg2T3BlcmFuZCg6cHRyKSksIG9w
ZXJhbmRzWzFdLng4Nk9wZXJhbmQoOmludCkpfSIKLSAgICAgICAgICAgICAgICAkYXNtLnB1dHMg
InRlc3Qje3g4NlN1ZmZpeCg6aW50KX0gI3tvcGVyYW5kc1sxXS54ODZPcGVyYW5kKDppbnQpfSwg
I3tvcGVyYW5kc1sxXS54ODZPcGVyYW5kKDppbnQpfSIKLSAgICAgICAgICAgICAgICAkYXNtLnB1
dHMgImplICN7b3BlcmFuZHNbMl0uYXNtTGFiZWx9IgotICAgICAgICAgICAgICAgICRhc20ucHV0
cyAiZmlsZCN7eDg2U3VmZml4KDppbnQpfSAje2dldFNpemVTdHJpbmcoOmludCl9I3tvZmZzZXRS
ZWdpc3RlcigtNCwgc3AueDg2T3BlcmFuZCg6cHRyKSl9IgotICAgICAgICAgICAgICAgICRhc20u
cHV0cyAiZnVjb21pcCAje2Zsb2F0aW5nUG9pbnRDb21wYXJlSW1wbGljaXRPcGVyYW5kfSN7b3Bl
cmFuZHNbMF0ueDg3T3BlcmFuZCgxKX0iCi0gICAgICAgICAgICAgICAgJGFzbS5wdXRzICJqcCAj
e29wZXJhbmRzWzJdLmFzbUxhYmVsfSIKLSAgICAgICAgICAgICAgICAkYXNtLnB1dHMgImpuZSAj
e29wZXJhbmRzWzJdLmFzbUxhYmVsfSIKLSAgICAgICAgICAgIGVsc2UKLSAgICAgICAgICAgICAg
ICAkYXNtLnB1dHMgImN2dHRzZDJzaSAje29wZXJhbmRzWzBdLng4Nk9wZXJhbmQoOmRvdWJsZSl9
LCAje29wZXJhbmRzWzFdLng4Nk9wZXJhbmQoOmludCl9IgotICAgICAgICAgICAgICAgICRhc20u
cHV0cyAidGVzdCN7eDg2U3VmZml4KDppbnQpfSAje29wZXJhbmRzWzFdLng4Nk9wZXJhbmQoOmlu
dCl9LCAje29wZXJhbmRzWzFdLng4Nk9wZXJhbmQoOmludCl9IgotICAgICAgICAgICAgICAgICRh
c20ucHV0cyAiamUgI3tvcGVyYW5kc1syXS5hc21MYWJlbH0iCi0gICAgICAgICAgICAgICAgJGFz
bS5wdXRzICJjdnRzaTJzZCAje29wZXJhbmRzWzFdLng4Nk9wZXJhbmQoOmludCl9LCAleG1tNyIK
LSAgICAgICAgICAgICAgICAkYXNtLnB1dHMgInVjb21pc2QgI3tvcGVyYW5kc1swXS54ODZPcGVy
YW5kKDpkb3VibGUpfSwgJXhtbTciCi0gICAgICAgICAgICAgICAgJGFzbS5wdXRzICJqcCAje29w
ZXJhbmRzWzJdLmFzbUxhYmVsfSIKLSAgICAgICAgICAgICAgICAkYXNtLnB1dHMgImpuZSAje29w
ZXJhbmRzWzJdLmFzbUxhYmVsfSIKLSAgICAgICAgICAgIGVuZAorICAgICAgICAgICAgJGFzbS5w
dXRzICJjdnR0c2Qyc2kgI3tvcGVyYW5kc1swXS54ODZPcGVyYW5kKDpkb3VibGUpfSwgI3tvcGVy
YW5kc1sxXS54ODZPcGVyYW5kKDppbnQpfSIKKyAgICAgICAgICAgICRhc20ucHV0cyAidGVzdCN7
eDg2U3VmZml4KDppbnQpfSAje29wZXJhbmRzWzFdLng4Nk9wZXJhbmQoOmludCl9LCAje29wZXJh
bmRzWzFdLng4Nk9wZXJhbmQoOmludCl9IgorICAgICAgICAgICAgJGFzbS5wdXRzICJqZSAje29w
ZXJhbmRzWzJdLmFzbUxhYmVsfSIKKyAgICAgICAgICAgICRhc20ucHV0cyAiY3Z0c2kyc2QgI3tv
cGVyYW5kc1sxXS54ODZPcGVyYW5kKDppbnQpfSwgJXhtbTciCisgICAgICAgICAgICAkYXNtLnB1
dHMgInVjb21pc2QgI3tvcGVyYW5kc1swXS54ODZPcGVyYW5kKDpkb3VibGUpfSwgJXhtbTciCisg
ICAgICAgICAgICAkYXNtLnB1dHMgImpwICN7b3BlcmFuZHNbMl0uYXNtTGFiZWx9IgorICAgICAg
ICAgICAgJGFzbS5wdXRzICJqbmUgI3tvcGVyYW5kc1syXS5hc21MYWJlbH0iCiAgICAgICAgIHdo
ZW4gIm1vdmR6IgotICAgICAgICAgICAgaWYgdXNlWDg3Ci0gICAgICAgICAgICAgICAgJGFzbS5w
dXRzICJmbGR6bCIKLSAgICAgICAgICAgICAgICAkYXNtLnB1dHMgImZzdHAgI3tvcGVyYW5kc1sw
XS54ODdPcGVyYW5kKDEpfSIKLSAgICAgICAgICAgIGVsc2UKLSAgICAgICAgICAgICAgICAkYXNt
LnB1dHMgInhvcnBkICN7b3BlcmFuZHNbMF0ueDg2T3BlcmFuZCg6ZG91YmxlKX0sICN7b3BlcmFu
ZHNbMF0ueDg2T3BlcmFuZCg6ZG91YmxlKX0iCi0gICAgICAgICAgICBlbmQKKyAgICAgICAgICAg
ICRhc20ucHV0cyAieG9ycGQgI3tvcGVyYW5kc1swXS54ODZPcGVyYW5kKDpkb3VibGUpfSwgI3tv
cGVyYW5kc1swXS54ODZPcGVyYW5kKDpkb3VibGUpfSIKICAgICAgICAgd2hlbiAicG9wIgogICAg
ICAgICAgICAgb3BlcmFuZHMuZWFjaCB7CiAgICAgICAgICAgICAgICAgfCBvcCB8CkBAIC0xMzkx
LDEyICsxMjIyLDYgQEAgY2xhc3MgSW5zdHJ1Y3Rpb24KICAgICAgICAgd2hlbiAiYnJlYWsiCiAg
ICAgICAgICAgICAkYXNtLnB1dHMgImludCAje2NvbnN0KDMpfSIKICAgICAgICAgd2hlbiAiY2Fs
bCIKLSAgICAgICAgICAgIGlmIHVzZVg4NwotICAgICAgICAgICAgICAgIDIudGltZXMgewotICAg
ICAgICAgICAgICAgICAgICB8IG9mZnNldCB8Ci0gICAgICAgICAgICAgICAgICAgICRhc20ucHV0
cyAiZmZyZWUgI3tyZWdpc3Rlcigic3QiKX0oI3tvZmZzZXR9KSIKLSAgICAgICAgICAgICAgICB9
Ci0gICAgICAgICAgICBlbmQKICAgICAgICAgICAgIG9wID0gb3BlcmFuZHNbMF0ueDg2Q2FsbE9w
ZXJhbmQoOnB0cikKICAgICAgICAgICAgIGlmIG9wZXJhbmRzWzBdLmlzX2E/IExhYmVsUmVmZXJl
bmNlCiAgICAgICAgICAgICAgICAgb3BlcmFuZHNbMF0udXNlZApAQCAtMTUxNyw2OCArMTM0Miwz
MCBAQCBjbGFzcyBJbnN0cnVjdGlvbgogICAgICAgICB3aGVuICJpZGl2aSIKICAgICAgICAgICAg
ICRhc20ucHV0cyAiaWRpdiN7eDg2U3VmZml4KDppbnQpfSAje29wZXJhbmRzWzBdLng4Nk9wZXJh
bmQoOmludCl9IgogICAgICAgICB3aGVuICJmaWkyZCIKLSAgICAgICAgICAgIGlmIHVzZVg4Nwot
ICAgICAgICAgICAgICAgIHNwID0gUmVnaXN0ZXJJRC5uZXcobmlsLCAic3AiKQotICAgICAgICAg
ICAgICAgICRhc20ucHV0cyAibW92I3t4ODZTdWZmaXgoOmludCl9ICN7b3JkZXJPcGVyYW5kcyhv
cGVyYW5kc1swXS54ODZPcGVyYW5kKDppbnQpLCBvZmZzZXRSZWdpc3RlcigtOCwgc3AueDg2T3Bl
cmFuZCg6cHRyKSkpfSIKLSAgICAgICAgICAgICAgICAkYXNtLnB1dHMgIm1vdiN7eDg2U3VmZml4
KDppbnQpfSAje29yZGVyT3BlcmFuZHMob3BlcmFuZHNbMV0ueDg2T3BlcmFuZCg6aW50KSwgb2Zm
c2V0UmVnaXN0ZXIoLTQsIHNwLng4Nk9wZXJhbmQoOnB0cikpKX0iCi0gICAgICAgICAgICAgICAg
JGFzbS5wdXRzICJmbGQje3g4NlN1ZmZpeCg6cHRyKX0gI3tnZXRTaXplU3RyaW5nKDpkb3VibGUp
fSN7b2Zmc2V0UmVnaXN0ZXIoLTgsIHNwLng4Nk9wZXJhbmQoOnB0cikpfSIKLSAgICAgICAgICAg
ICAgICAkYXNtLnB1dHMgImZzdHAgI3tvcGVyYW5kc1syXS54ODdPcGVyYW5kKDEpfSIKLSAgICAg
ICAgICAgIGVsc2UKLSAgICAgICAgICAgICAgICAkYXNtLnB1dHMgIm1vdmQgI3tvcGVyYW5kc1sw
XS54ODZPcGVyYW5kKDppbnQpfSwgI3tvcGVyYW5kc1syXS54ODZPcGVyYW5kKDpkb3VibGUpfSIK
LSAgICAgICAgICAgICAgICAkYXNtLnB1dHMgIm1vdmQgI3tvcGVyYW5kc1sxXS54ODZPcGVyYW5k
KDppbnQpfSwgJXhtbTciCi0gICAgICAgICAgICAgICAgJGFzbS5wdXRzICJwc2xscSAkMzIsICV4
bW03IgotICAgICAgICAgICAgICAgICRhc20ucHV0cyAicG9yICV4bW03LCAje29wZXJhbmRzWzJd
Lng4Nk9wZXJhbmQoOmRvdWJsZSl9IgotICAgICAgICAgICAgZW5kCisgICAgICAgICAgICAkYXNt
LnB1dHMgIm1vdmQgI3tvcGVyYW5kc1swXS54ODZPcGVyYW5kKDppbnQpfSwgI3tvcGVyYW5kc1sy
XS54ODZPcGVyYW5kKDpkb3VibGUpfSIKKyAgICAgICAgICAgICRhc20ucHV0cyAibW92ZCAje29w
ZXJhbmRzWzFdLng4Nk9wZXJhbmQoOmludCl9LCAleG1tNyIKKyAgICAgICAgICAgICRhc20ucHV0
cyAicHNsbHEgJDMyLCAleG1tNyIKKyAgICAgICAgICAgICRhc20ucHV0cyAicG9yICV4bW03LCAj
e29wZXJhbmRzWzJdLng4Nk9wZXJhbmQoOmRvdWJsZSl9IgogICAgICAgICB3aGVuICJmZDJpaSIK
LSAgICAgICAgICAgIGlmIHVzZVg4NwotICAgICAgICAgICAgICAgIHNwID0gUmVnaXN0ZXJJRC5u
ZXcobmlsLCAic3AiKQotICAgICAgICAgICAgICAgIGlmIChvcGVyYW5kc1swXS54ODdEZWZhdWx0
U3RhY2tQb3NpdGlvbiA9PSAwKQotICAgICAgICAgICAgICAgICAgICAkYXNtLnB1dHMgImZzdCN7
eDg2U3VmZml4KDpwdHIpfSAje2dldFNpemVTdHJpbmcoOmRvdWJsZSl9I3tvZmZzZXRSZWdpc3Rl
cigtOCwgc3AueDg2T3BlcmFuZCg6cHRyKSl9IgotICAgICAgICAgICAgICAgIGVsc2UKLSAgICAg
ICAgICAgICAgICAgICAgJGFzbS5wdXRzICJmbGQgI3tvcGVyYW5kc1swXS54ODdPcGVyYW5kKDAp
fSIKLSAgICAgICAgICAgICAgICAgICAgJGFzbS5wdXRzICJmc3RwbCAtOCgje3NwLng4Nk9wZXJh
bmQoOnB0cil9KSIKLSAgICAgICAgICAgICAgICBlbmQKLSAgICAgICAgICAgICAgICAkYXNtLnB1
dHMgIm1vdiN7eDg2U3VmZml4KDppbnQpfSAje29yZGVyT3BlcmFuZHMob2Zmc2V0UmVnaXN0ZXIo
LTgsIHNwLng4Nk9wZXJhbmQoOnB0cikpLCBvcGVyYW5kc1sxXS54ODZPcGVyYW5kKDppbnQpKX0i
Ci0gICAgICAgICAgICAgICAgJGFzbS5wdXRzICJtb3Yje3g4NlN1ZmZpeCg6aW50KX0gI3tvcmRl
ck9wZXJhbmRzKG9mZnNldFJlZ2lzdGVyKC00LCBzcC54ODZPcGVyYW5kKDpwdHIpKSwgb3BlcmFu
ZHNbMl0ueDg2T3BlcmFuZCg6aW50KSl9IgotICAgICAgICAgICAgZWxzZQotICAgICAgICAgICAg
ICAgICRhc20ucHV0cyAibW92ZCAje29wZXJhbmRzWzBdLng4Nk9wZXJhbmQoOmRvdWJsZSl9LCAj
e29wZXJhbmRzWzFdLng4Nk9wZXJhbmQoOmludCl9IgotICAgICAgICAgICAgICAgICRhc20ucHV0
cyAibW92c2QgI3tvcGVyYW5kc1swXS54ODZPcGVyYW5kKDpkb3VibGUpfSwgJXhtbTciCi0gICAg
ICAgICAgICAgICAgJGFzbS5wdXRzICJwc3JscSAkMzIsICV4bW03IgotICAgICAgICAgICAgICAg
ICRhc20ucHV0cyAibW92ZCAleG1tNywgI3tvcGVyYW5kc1syXS54ODZPcGVyYW5kKDppbnQpfSIK
LSAgICAgICAgICAgIGVuZAorICAgICAgICAgICAgJGFzbS5wdXRzICJtb3ZkICN7b3BlcmFuZHNb
MF0ueDg2T3BlcmFuZCg6ZG91YmxlKX0sICN7b3BlcmFuZHNbMV0ueDg2T3BlcmFuZCg6aW50KX0i
CisgICAgICAgICAgICAkYXNtLnB1dHMgIm1vdnNkICN7b3BlcmFuZHNbMF0ueDg2T3BlcmFuZCg6
ZG91YmxlKX0sICV4bW03IgorICAgICAgICAgICAgJGFzbS5wdXRzICJwc3JscSAkMzIsICV4bW03
IgorICAgICAgICAgICAgJGFzbS5wdXRzICJtb3ZkICV4bW03LCAje29wZXJhbmRzWzJdLng4Nk9w
ZXJhbmQoOmludCl9IgogICAgICAgICB3aGVuICJmcTJkIgotICAgICAgICAgICAgaWYgdXNlWDg3
Ci0gICAgICAgICAgICAgICAgc3AgPSBSZWdpc3RlcklELm5ldyhuaWwsICJzcCIpCi0gICAgICAg
ICAgICAgICAgJGFzbS5wdXRzICJtb3ZxICN7b3BlcmFuZHNbMF0ueDg2T3BlcmFuZCg6cXVhZCl9
LCAtOCgje3NwLng4Nk9wZXJhbmQoOnB0cil9KSIKLSAgICAgICAgICAgICAgICAkYXNtLnB1dHMg
ImZsZGwgLTgoI3tzcC54ODZPcGVyYW5kKDpwdHIpfSkiCi0gICAgICAgICAgICAgICAgJGFzbS5w
dXRzICJmc3RwICN7b3BlcmFuZHNbMV0ueDg3T3BlcmFuZCgxKX0iCisgICAgICAgICAgICBpZiAh
aXNJbnRlbFN5bnRheAorICAgICAgICAgICAgICAgICRhc20ucHV0cyAibW92cSAje29wZXJhbmRz
WzBdLng4Nk9wZXJhbmQoOnF1YWQpfSwgI3tvcGVyYW5kc1sxXS54ODZPcGVyYW5kKDpkb3VibGUp
fSIKICAgICAgICAgICAgIGVsc2UKLSAgICAgICAgICAgICAgICBpZiAhaXNJbnRlbFN5bnRheAot
ICAgICAgICAgICAgICAgICAgICAkYXNtLnB1dHMgIm1vdnEgI3tvcGVyYW5kc1swXS54ODZPcGVy
YW5kKDpxdWFkKX0sICN7b3BlcmFuZHNbMV0ueDg2T3BlcmFuZCg6ZG91YmxlKX0iCi0gICAgICAg
ICAgICAgICAgZWxzZQotICAgICAgICAgICAgICAgICAgICAjIE1BU00gZG9lcyBub3QgYWNjZXB0
IHJlZ2lzdGVyIG9wZXJhbmRzIHdpdGggbW92cS4KLSAgICAgICAgICAgICAgICAgICAgIyBEZWJ1
Z2dpbmcgc2hvd3MgdGhhdCBtb3ZkIGFjdHVhbGx5IG1vdmVzIGEgcXdvcmQgd2hlbiB1c2luZyBN
QVNNLgotICAgICAgICAgICAgICAgICAgICAkYXNtLnB1dHMgIm1vdmQgI3tvcGVyYW5kc1sxXS54
ODZPcGVyYW5kKDpkb3VibGUpfSwgI3tvcGVyYW5kc1swXS54ODZPcGVyYW5kKDpxdWFkKX0iCi0g
ICAgICAgICAgICAgICAgZW5kCisgICAgICAgICAgICAgICAgIyBNQVNNIGRvZXMgbm90IGFjY2Vw
dCByZWdpc3RlciBvcGVyYW5kcyB3aXRoIG1vdnEuCisgICAgICAgICAgICAgICAgIyBEZWJ1Z2dp
bmcgc2hvd3MgdGhhdCBtb3ZkIGFjdHVhbGx5IG1vdmVzIGEgcXdvcmQgd2hlbiB1c2luZyBNQVNN
LgorICAgICAgICAgICAgICAgICRhc20ucHV0cyAibW92ZCAje29wZXJhbmRzWzFdLng4Nk9wZXJh
bmQoOmRvdWJsZSl9LCAje29wZXJhbmRzWzBdLng4Nk9wZXJhbmQoOnF1YWQpfSIKICAgICAgICAg
ICAgIGVuZAogICAgICAgICB3aGVuICJmZDJxIgotICAgICAgICAgICAgaWYgdXNlWDg3Ci0gICAg
ICAgICAgICAgICAgc3AgPSBSZWdpc3RlcklELm5ldyhuaWwsICJzcCIpCi0gICAgICAgICAgICAg
ICAgaWYgKG9wZXJhbmRzWzBdLng4N0RlZmF1bHRTdGFja1Bvc2l0aW9uID09IDApCi0gICAgICAg
ICAgICAgICAgICAgICRhc20ucHV0cyAiZnN0I3t4ODZTdWZmaXgoOmludCl9ICN7Z2V0U2l6ZVN0
cmluZyg6aW50KX0je29mZnNldFJlZ2lzdGVyKC04LCBzcC54ODZPcGVyYW5kKDpwdHIpKX0iCi0g
ICAgICAgICAgICAgICAgZWxzZQotICAgICAgICAgICAgICAgICAgICAkYXNtLnB1dHMgImZsZCAj
e29wZXJhbmRzWzBdLng4N09wZXJhbmQoMCl9IgotICAgICAgICAgICAgICAgICAgICAkYXNtLnB1
dHMgImZzdHBsIC04KCN7c3AueDg2T3BlcmFuZCg6cHRyKX0pIgotICAgICAgICAgICAgICAgIGVu
ZAotICAgICAgICAgICAgICAgICRhc20ucHV0cyAibW92cSAtOCgje3NwLng4Nk9wZXJhbmQoOnB0
cil9KSwgI3tvcGVyYW5kc1sxXS54ODZPcGVyYW5kKDpxdWFkKX0iCisgICAgICAgICAgICBpZiAh
aXNJbnRlbFN5bnRheAorICAgICAgICAgICAgICAgICRhc20ucHV0cyAibW92cSAje29wZXJhbmRz
WzBdLng4Nk9wZXJhbmQoOmRvdWJsZSl9LCAje29wZXJhbmRzWzFdLng4Nk9wZXJhbmQoOnF1YWQp
fSIKICAgICAgICAgICAgIGVsc2UKLSAgICAgICAgICAgICAgICBpZiAhaXNJbnRlbFN5bnRheAot
ICAgICAgICAgICAgICAgICAgICAkYXNtLnB1dHMgIm1vdnEgI3tvcGVyYW5kc1swXS54ODZPcGVy
YW5kKDpkb3VibGUpfSwgI3tvcGVyYW5kc1sxXS54ODZPcGVyYW5kKDpxdWFkKX0iCi0gICAgICAg
ICAgICAgICAgZWxzZQotICAgICAgICAgICAgICAgICAgICAjIE1BU00gZG9lcyBub3QgYWNjZXB0
IHJlZ2lzdGVyIG9wZXJhbmRzIHdpdGggbW92cS4KLSAgICAgICAgICAgICAgICAgICAgIyBEZWJ1
Z2dpbmcgc2hvd3MgdGhhdCBtb3ZkIGFjdHVhbGx5IG1vdmVzIGEgcXdvcmQgd2hlbiB1c2luZyBN
QVNNLgotICAgICAgICAgICAgICAgICAgICAkYXNtLnB1dHMgIm1vdmQgI3tvcGVyYW5kc1sxXS54
ODZPcGVyYW5kKDpxdWFkKX0sICN7b3BlcmFuZHNbMF0ueDg2T3BlcmFuZCg6ZG91YmxlKX0iCi0g
ICAgICAgICAgICAgICAgZW5kCisgICAgICAgICAgICAgICAgIyBNQVNNIGRvZXMgbm90IGFjY2Vw
dCByZWdpc3RlciBvcGVyYW5kcyB3aXRoIG1vdnEuCisgICAgICAgICAgICAgICAgIyBEZWJ1Z2dp
bmcgc2hvd3MgdGhhdCBtb3ZkIGFjdHVhbGx5IG1vdmVzIGEgcXdvcmQgd2hlbiB1c2luZyBNQVNN
LgorICAgICAgICAgICAgICAgICRhc20ucHV0cyAibW92ZCAje29wZXJhbmRzWzFdLng4Nk9wZXJh
bmQoOnF1YWQpfSwgI3tvcGVyYW5kc1swXS54ODZPcGVyYW5kKDpkb3VibGUpfSIKICAgICAgICAg
ICAgIGVuZAogICAgICAgICB3aGVuICJibyIKICAgICAgICAgICAgICRhc20ucHV0cyAiam8gI3tv
cGVyYW5kc1swXS5hc21MYWJlbH0iCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
cnVudGltZS9NYXRoQ29tbW9uLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL01h
dGhDb21tb24uY3BwCmluZGV4IGFiZTI2Y2M3MmE4Li5lMmI3NjFmNjBlNCAxMDA2NDQKLS0tIGEv
U291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvTWF0aENvbW1vbi5jcHAKKysrIGIvU291cmNl
L0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvTWF0aENvbW1vbi5jcHAKQEAgLTQzNywyMCArNDM3LDgg
QEAgZG91YmxlIEpJVF9PUEVSQVRJT04gb3BlcmF0aW9uTWF0aFBvdyhkb3VibGUgeCwgZG91Ymxl
IHkpCiAgICAgaW50MzJfdCB5QXNJbnQgPSB5OwogICAgIGlmIChzdGF0aWNfY2FzdDxkb3VibGU+
KHlBc0ludCkgPT0geSAmJiB5QXNJbnQgPj0gMCAmJiB5QXNJbnQgPD0gbWF4RXhwb25lbnRGb3JJ
bnRlZ2VyTWF0aFBvdykgewogICAgICAgICAvLyBJZiB0aGUgZXhwb25lbnQgaXMgYSBzbWFsbCBw
b3NpdGl2ZSBpbnQzMiBpbnRlZ2VyLCB3ZSBkbyBhIGZhc3QgZXhwb25lbnRpYXRpb24KLQotICAg
ICAgICAvLyBEbyBub3QgdXNlIHg4NyB2YWx1ZXMgZm9yIGFjY3VtdWxhdGlvbi4geDg3IHZhbHVl
cyBoYXMgODBiaXQgcHJlY2lzaW9uLgotICAgICAgICAvLyBUaGUgcmVzdWx0IHByb2R1Y2VkIGJ5
IHg4NydzIDgwYml0IGRvdWJsZSBwcmVjaXNpb24gZGlmZmVycyBmcm9tIHRoZSBvbmUgY2FsY3Vs
YXRlZCB3aXRoIFNTRTIgaW4gREZHLgotICAgICAgICAvLyBVc2luZyB2b2xhdGlsZSBkb3VibGUg
aXMgd29ya2Fyb3VuZCBmb3IgdGhpcyBwcm9ibGVtLiBCeSBzcGVjaWZ5aW5nIHZvbGF0aWxlLCB3
ZSBleHBlY3QgdGhhdCBgcmVzdWx0YCBhbmQgYHhkYAotICAgICAgICAvLyBhcmUgc3RvcmVkIGlu
IHRoZSBzdGFjay4gQW5kIGF0IHRoYXQgdGltZSwgd2UgZXhwZWN0IHRoYXQgdGhleSBhcmUgcm91
bmRlZCBieSBmc3QvZnN0cFsxLCAyXS4KLSAgICAgICAgLy8gWzFdOiBodHRwczovL2djYy5nbnUu
b3JnL3dpa2kveDg3bm90ZQotICAgICAgICAvLyBbMl06IGh0dHBzOi8vZ2NjLmdudS5vcmcvYnVn
emlsbGEvc2hvd19idWcuY2dpP2lkPTMyMwotI2lmICFDUFUoWDg2KSB8fCAoZGVmaW5lZChfX1NT
RTJfTUFUSF9fKSAmJiBkZWZpbmVkKF9fU1NFMl9fKSkKLSAgICAgICAgdHlwZWRlZiBkb3VibGUg
RG91YmxlVmFsdWU7Ci0jZWxzZQotICAgICAgICB0eXBlZGVmIHZvbGF0aWxlIGRvdWJsZSBEb3Vi
bGVWYWx1ZTsKLSNlbmRpZgotICAgICAgICBEb3VibGVWYWx1ZSByZXN1bHQgPSAxOwotICAgICAg
ICBEb3VibGVWYWx1ZSB4ZCA9IHg7CisgICAgICAgIGRvdWJsZSByZXN1bHQgPSAxOworICAgICAg
ICBkb3VibGUgeGQgPSB4OwogICAgICAgICB3aGlsZSAoeUFzSW50KSB7CiAgICAgICAgICAgICBp
ZiAoeUFzSW50ICYgMSkKICAgICAgICAgICAgICAgICByZXN1bHQgKj0geGQ7CmRpZmYgLS1naXQg
YS9Ub29scy9DaGFuZ2VMb2cgYi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggOTY3MDhlNzliYWQuLjg0
ZTY1Y2VhMGY4IDEwMDY0NAotLS0gYS9Ub29scy9DaGFuZ2VMb2cKKysrIGIvVG9vbHMvQ2hhbmdl
TG9nCkBAIC0xLDMgKzEsMTUgQEAKKzIwMTktMDItMjAgIFhhbiBMb3BleiAgPHhhbkBpZ2FsaWEu
Y29tPgorCisgICAgICAgIFtKU0NdW3g4Nl0gRHJvcCBzdXBwb3J0IGZvciB4ODcgZmxvYXRpbmcg
cG9pbnQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE5
NDg1MworCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEZv
cmNlIFNTRTIgb24geDg2LzMyYml0IGJ1aWxkcy4KKworICAgICAgICAqIFNjcmlwdHMvd2Via2l0
ZGlycy5wbToKKyAgICAgICAgKGdlbmVyYXRlQnVpbGRTeXN0ZW1Gcm9tQ01ha2VQcm9qZWN0KToK
KwogMjAxOS0wMi0yMCAgQWRyaWFuIFBlcmV6IGRlIENhc3RybyAgPGFwZXJlekBpZ2FsaWEuY29t
PgogCiAgICAgICAgIFtXUEVdW0dUS10gRW5hYmxlIHN1cHBvcnQgZm9yIENPTlRFTlRfRVhURU5T
SU9OUwpkaWZmIC0tZ2l0IGEvVG9vbHMvU2NyaXB0cy93ZWJraXRkaXJzLnBtIGIvVG9vbHMvU2Ny
aXB0cy93ZWJraXRkaXJzLnBtCmluZGV4IGY3ODM1ZTJjYzRhLi41ZjAyNTRkY2JiYyAxMDA3NTUK
LS0tIGEvVG9vbHMvU2NyaXB0cy93ZWJraXRkaXJzLnBtCisrKyBiL1Rvb2xzL1NjcmlwdHMvd2Vi
a2l0ZGlycy5wbQpAQCAtMjI2OCw5ICsyMjY4LDEyIEBAIHN1YiBnZW5lcmF0ZUJ1aWxkU3lzdGVt
RnJvbUNNYWtlUHJvamVjdAogICAgIHB1c2ggQGFyZ3MsICciJyAuICRjbWFrZVNvdXJjZURpciAu
ICciJzsKIAogICAgICMgQ29tcGlsZXIgb3B0aW9ucyB0byBrZWVwIGZsb2F0aW5nIHBvaW50IHZh
bHVlcyBjb25zaXN0ZW50Ci0gICAgIyBiZXR3ZWVuIDMyLWJpdCBhbmQgNjQtYml0IGFyY2hpdGVj
dHVyZXMuCisgICAgIyBiZXR3ZWVuIDMyLWJpdCBhbmQgNjQtYml0IGFyY2hpdGVjdHVyZXMuIFRo
aXMgbWFrZXMgdXMgdXNlIFNTRQorICAgICMgd2hlbiBvdXIgYXJjaGl0ZWN0dXJlIGlzIDMyLWJp
dCAoJ2k2ODYnKSBvciB3aGVuIGl0J3Mgbm90IGJ1dAorICAgICMgdGhlIHVzZXIgaGFzIHJlcXVl
c3RlZCBhIDMyLWJpdCBidWlsZC4KICAgICBkZXRlcm1pbmVBcmNoaXRlY3R1cmUoKTsKLSAgICBp
ZiAoJGFyY2hpdGVjdHVyZSBlcSAiaTY4NiIgJiYgIWlzQ3Jvc3NDb21waWxhdGlvbigpICYmICFp
c0FueVdpbmRvd3MoKSkgeworICAgIGlmICgoJGFyY2hpdGVjdHVyZSBlcSAiaTY4NiIgfHwgKCRh
cmNoaXRlY3R1cmUgZXEgIng4Nl82NCIgJiYgc2hvdWxkQnVpbGQzMkJpdCgpKSkgJiYgIWlzQ3Jv
c3NDb21waWxhdGlvbigpICYmICFpc0FueVdpbmRvd3MoKSkgeworICAgICAgICAkRU5WeydDRkxB
R1MnfSA9ICItbWFyY2g9cGVudGl1bTQgLW1zc2UyIC1tZnBtYXRoPXNzZSAiIC4gKCRFTlZ7J0NG
TEFHUyd9IHx8ICIiKTsKICAgICAgICAgJEVOVnsnQ1hYRkxBR1MnfSA9ICItbWFyY2g9cGVudGl1
bTQgLW1zc2UyIC1tZnBtYXRoPXNzZSAiIC4gKCRFTlZ7J0NYWEZMQUdTJ30gfHwgIiIpOwogICAg
IH0KIAotLSAKMi4yMC4xCgo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>362492</attachid>
            <date>2019-02-20 04:07:35 -0800</date>
            <delta_ts>2019-03-21 05:44:09 -0700</delta_ts>
            <desc>Drop x87 support</desc>
            <filename>drop-x87.diff</filename>
            <type>text/plain</type>
            <size>45242</size>
            <attacher name="Xan Lopez">xan.lopez</attacher>
            
              <data encoding="base64">RnJvbSBmZDBkMjhjZDU5MDhkYTY1MDdhZGQwMjNmMjJiMGIyNTMyNjBlMDdiIE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiA9P1VURi04P3E/WGFuPTIwTD1DMz1CM3Blej89IDx4YW5AaWdh
bGlhLmNvbT4KRGF0ZTogV2VkLCAyMCBGZWIgMjAxOSAxMTo1MjoxMCArMDEwMApTdWJqZWN0OiBb
UEFUQ0hdIFtKU0NdW3g4Nl0gRHJvcCBzdXBwb3J0IGZvciB4ODcgZmxvYXRpbmcgcG9pbnQKIGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xOTQ4NTMKClJldmlld2VkIGJ5
IE5PQk9EWSAoT09QUyEpLgoKU291cmNlL0phdmFTY3JpcHRDb3JlOgoKUmVxdWlyZSBTU0UyIHRo
cm91Z2hvdXQgdGhlIGNvZGViYXNlLCBhbmQgcmVtb3ZlIHg4NyBzdXBwb3J0IHdoZXJlCml0IHdh
cyBvcHRpb25hbGx5IGF2YWlsYWJsZS4gU1NFMiBkZXRlY3Rpb24gaGFwcGVucyBhdCBjb21waWxl
CnRpbWUgdGhyb3VnaCBhIHN0YXRpY19hc3NlcnQuCgoqIGFzc2VtYmxlci9NYWNyb0Fzc2VtYmxl
clg4Ni5oOgooSlNDOjpNYWNyb0Fzc2VtYmxlclg4Njo6c3RvcmVEb3VibGUpOgooSlNDOjpNYWNy
b0Fzc2VtYmxlclg4Njo6bW92ZURvdWJsZVRvSW50cyk6CihKU0M6Ok1hY3JvQXNzZW1ibGVyWDg2
OjpzdXBwb3J0c0Zsb2F0aW5nUG9pbnQpOgooSlNDOjpNYWNyb0Fzc2VtYmxlclg4Njo6c3VwcG9y
dHNGbG9hdGluZ1BvaW50VHJ1bmNhdGUpOgooSlNDOjpNYWNyb0Fzc2VtYmxlclg4Njo6c3VwcG9y
dHNGbG9hdGluZ1BvaW50U3FydCk6CihKU0M6Ok1hY3JvQXNzZW1ibGVyWDg2OjpzdXBwb3J0c0Zs
b2F0aW5nUG9pbnRBYnMpOgoqIGFzc2VtYmxlci9NYWNyb0Fzc2VtYmxlclg4NkNvbW1vbi5jcHA6
CiogYXNzZW1ibGVyL01hY3JvQXNzZW1ibGVyWDg2Q29tbW9uLmg6CihKU0M6Ok1hY3JvQXNzZW1i
bGVyWDg2Q29tbW9uOjptb3ZlRG91YmxlKToKKEpTQzo6TWFjcm9Bc3NlbWJsZXJYODZDb21tb246
OmxvYWREb3VibGUpOgooSlNDOjpNYWNyb0Fzc2VtYmxlclg4NkNvbW1vbjo6bG9hZEZsb2F0KToK
KEpTQzo6TWFjcm9Bc3NlbWJsZXJYODZDb21tb246OnN0b3JlRG91YmxlKToKKEpTQzo6TWFjcm9B
c3NlbWJsZXJYODZDb21tb246OnN0b3JlRmxvYXQpOgooSlNDOjpNYWNyb0Fzc2VtYmxlclg4NkNv
bW1vbjo6Y29udmVydERvdWJsZVRvRmxvYXQpOgooSlNDOjpNYWNyb0Fzc2VtYmxlclg4NkNvbW1v
bjo6Y29udmVydEZsb2F0VG9Eb3VibGUpOgooSlNDOjpNYWNyb0Fzc2VtYmxlclg4NkNvbW1vbjo6
YWRkRG91YmxlKToKKEpTQzo6TWFjcm9Bc3NlbWJsZXJYODZDb21tb246OmFkZEZsb2F0KToKKEpT
Qzo6TWFjcm9Bc3NlbWJsZXJYODZDb21tb246OmRpdkRvdWJsZSk6CihKU0M6Ok1hY3JvQXNzZW1i
bGVyWDg2Q29tbW9uOjpkaXZGbG9hdCk6CihKU0M6Ok1hY3JvQXNzZW1ibGVyWDg2Q29tbW9uOjpz
dWJEb3VibGUpOgooSlNDOjpNYWNyb0Fzc2VtYmxlclg4NkNvbW1vbjo6c3ViRmxvYXQpOgooSlND
OjpNYWNyb0Fzc2VtYmxlclg4NkNvbW1vbjo6bXVsRG91YmxlKToKKEpTQzo6TWFjcm9Bc3NlbWJs
ZXJYODZDb21tb246Om11bEZsb2F0KToKKEpTQzo6TWFjcm9Bc3NlbWJsZXJYODZDb21tb246OmNv
bnZlcnRJbnQzMlRvRG91YmxlKToKKEpTQzo6TWFjcm9Bc3NlbWJsZXJYODZDb21tb246OmNvbnZl
cnRJbnQzMlRvRmxvYXQpOgooSlNDOjpNYWNyb0Fzc2VtYmxlclg4NkNvbW1vbjo6YnJhbmNoRG91
YmxlKToKKEpTQzo6TWFjcm9Bc3NlbWJsZXJYODZDb21tb246OmJyYW5jaEZsb2F0KToKKEpTQzo6
TWFjcm9Bc3NlbWJsZXJYODZDb21tb246OmNvbXBhcmVEb3VibGUpOgooSlNDOjpNYWNyb0Fzc2Vt
Ymxlclg4NkNvbW1vbjo6Y29tcGFyZUZsb2F0KToKKEpTQzo6TWFjcm9Bc3NlbWJsZXJYODZDb21t
b246OmJyYW5jaFRydW5jYXRlRG91YmxlVG9JbnQzMik6CihKU0M6Ok1hY3JvQXNzZW1ibGVyWDg2
Q29tbW9uOjp0cnVuY2F0ZURvdWJsZVRvSW50MzIpOgooSlNDOjpNYWNyb0Fzc2VtYmxlclg4NkNv
bW1vbjo6dHJ1bmNhdGVGbG9hdFRvSW50MzIpOgooSlNDOjpNYWNyb0Fzc2VtYmxlclg4NkNvbW1v
bjo6YnJhbmNoQ29udmVydERvdWJsZVRvSW50MzIpOgooSlNDOjpNYWNyb0Fzc2VtYmxlclg4NkNv
bW1vbjo6YnJhbmNoRG91YmxlTm9uWmVybyk6CihKU0M6Ok1hY3JvQXNzZW1ibGVyWDg2Q29tbW9u
OjpicmFuY2hEb3VibGVaZXJvT3JOYU4pOgooSlNDOjpNYWNyb0Fzc2VtYmxlclg4NkNvbW1vbjo6
bHNoaWZ0UGFja2VkKToKKEpTQzo6TWFjcm9Bc3NlbWJsZXJYODZDb21tb246OnJzaGlmdFBhY2tl
ZCk6CihKU0M6Ok1hY3JvQXNzZW1ibGVyWDg2Q29tbW9uOjpvclBhY2tlZCk6CihKU0M6Ok1hY3Jv
QXNzZW1ibGVyWDg2Q29tbW9uOjptb3ZlMzJUb0Zsb2F0KToKKEpTQzo6TWFjcm9Bc3NlbWJsZXJY
ODZDb21tb246Om1vdmVGbG9hdFRvMzIpOgooSlNDOjpNYWNyb0Fzc2VtYmxlclg4NkNvbW1vbjo6
bW92ZUNvbmRpdGlvbmFsbHlEb3VibGUpOgooSlNDOjpNYWNyb0Fzc2VtYmxlclg4NkNvbW1vbjo6
bW92ZUNvbmRpdGlvbmFsbHlGbG9hdCk6Ciogb2ZmbGluZWFzbS94ODYucmI6CiogcnVudGltZS9N
YXRoQ29tbW9uLmNwcDoKKEpTQzo6b3BlcmF0aW9uTWF0aFBvdyk6CgpUb29sczoKCkZvcmNlIFNT
RTIgb24geDg2LzMyYml0IGJ1aWxkcy4KCiogU2NyaXB0cy93ZWJraXRkaXJzLnBtOgooZ2VuZXJh
dGVCdWlsZFN5c3RlbUZyb21DTWFrZVByb2plY3QpOgotLS0KIFNvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9DaGFuZ2VMb2cgICAgICAgICAgICAgICB8ICA1OCArKysrCiAuLi4vYXNzZW1ibGVyL01hY3Jv
QXNzZW1ibGVyWDg2LmggICAgICAgICAgICAgfCAgMTAgKy0KIC4uLi9hc3NlbWJsZXIvTWFjcm9B
c3NlbWJsZXJYODZDb21tb24uY3BwICAgICB8ICAgNSArCiAuLi4vYXNzZW1ibGVyL01hY3JvQXNz
ZW1ibGVyWDg2Q29tbW9uLmggICAgICAgfCAgNjcgLS0tLQogU291cmNlL0phdmFTY3JpcHRDb3Jl
L29mZmxpbmVhc20veDg2LnJiICAgICAgIHwgMzAxICsrKy0tLS0tLS0tLS0tLS0tLQogU291cmNl
L0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvTWF0aENvbW1vbi5jcHAgIHwgIDE2ICstCiBUb29scy9D
aGFuZ2VMb2cgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgMTIgKwogVG9vbHMvU2Ny
aXB0cy93ZWJraXRkaXJzLnBtICAgICAgICAgICAgICAgICAgIHwgICA3ICstCiA4IGZpbGVzIGNo
YW5nZWQsIDEzMCBpbnNlcnRpb25zKCspLCAzNDYgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEv
U291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9D
aGFuZ2VMb2cKaW5kZXggYmQzZDQ5NjczMjcuLjA5ZDYwOWM1YTZkIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9D
aGFuZ2VMb2cKQEAgLTEsMyArMSw2MSBAQAorMjAxOS0wMi0yMCAgWGFuIExvcGV6ICA8eGFuQGln
YWxpYS5jb20+CisKKyAgICAgICAgW0pTQ11beDg2XSBEcm9wIHN1cHBvcnQgZm9yIHg4NyBmbG9h
dGluZyBwb2ludAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9MTk0ODUzCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAg
ICAgUmVxdWlyZSBTU0UyIHRocm91Z2hvdXQgdGhlIGNvZGViYXNlLCBhbmQgcmVtb3ZlIHg4NyBz
dXBwb3J0IHdoZXJlCisgICAgICAgIGl0IHdhcyBvcHRpb25hbGx5IGF2YWlsYWJsZS4gU1NFMiBk
ZXRlY3Rpb24gaGFwcGVucyBhdCBjb21waWxlCisgICAgICAgIHRpbWUgdGhyb3VnaCBhIHN0YXRp
Y19hc3NlcnQuCisKKyAgICAgICAgKiBhc3NlbWJsZXIvTWFjcm9Bc3NlbWJsZXJYODYuaDoKKyAg
ICAgICAgKEpTQzo6TWFjcm9Bc3NlbWJsZXJYODY6OnN0b3JlRG91YmxlKToKKyAgICAgICAgKEpT
Qzo6TWFjcm9Bc3NlbWJsZXJYODY6Om1vdmVEb3VibGVUb0ludHMpOgorICAgICAgICAoSlNDOjpN
YWNyb0Fzc2VtYmxlclg4Njo6c3VwcG9ydHNGbG9hdGluZ1BvaW50KToKKyAgICAgICAgKEpTQzo6
TWFjcm9Bc3NlbWJsZXJYODY6OnN1cHBvcnRzRmxvYXRpbmdQb2ludFRydW5jYXRlKToKKyAgICAg
ICAgKEpTQzo6TWFjcm9Bc3NlbWJsZXJYODY6OnN1cHBvcnRzRmxvYXRpbmdQb2ludFNxcnQpOgor
ICAgICAgICAoSlNDOjpNYWNyb0Fzc2VtYmxlclg4Njo6c3VwcG9ydHNGbG9hdGluZ1BvaW50QWJz
KToKKyAgICAgICAgKiBhc3NlbWJsZXIvTWFjcm9Bc3NlbWJsZXJYODZDb21tb24uY3BwOgorICAg
ICAgICAqIGFzc2VtYmxlci9NYWNyb0Fzc2VtYmxlclg4NkNvbW1vbi5oOgorICAgICAgICAoSlND
OjpNYWNyb0Fzc2VtYmxlclg4NkNvbW1vbjo6bW92ZURvdWJsZSk6CisgICAgICAgIChKU0M6Ok1h
Y3JvQXNzZW1ibGVyWDg2Q29tbW9uOjpsb2FkRG91YmxlKToKKyAgICAgICAgKEpTQzo6TWFjcm9B
c3NlbWJsZXJYODZDb21tb246OmxvYWRGbG9hdCk6CisgICAgICAgIChKU0M6Ok1hY3JvQXNzZW1i
bGVyWDg2Q29tbW9uOjpzdG9yZURvdWJsZSk6CisgICAgICAgIChKU0M6Ok1hY3JvQXNzZW1ibGVy
WDg2Q29tbW9uOjpzdG9yZUZsb2F0KToKKyAgICAgICAgKEpTQzo6TWFjcm9Bc3NlbWJsZXJYODZD
b21tb246OmNvbnZlcnREb3VibGVUb0Zsb2F0KToKKyAgICAgICAgKEpTQzo6TWFjcm9Bc3NlbWJs
ZXJYODZDb21tb246OmNvbnZlcnRGbG9hdFRvRG91YmxlKToKKyAgICAgICAgKEpTQzo6TWFjcm9B
c3NlbWJsZXJYODZDb21tb246OmFkZERvdWJsZSk6CisgICAgICAgIChKU0M6Ok1hY3JvQXNzZW1i
bGVyWDg2Q29tbW9uOjphZGRGbG9hdCk6CisgICAgICAgIChKU0M6Ok1hY3JvQXNzZW1ibGVyWDg2
Q29tbW9uOjpkaXZEb3VibGUpOgorICAgICAgICAoSlNDOjpNYWNyb0Fzc2VtYmxlclg4NkNvbW1v
bjo6ZGl2RmxvYXQpOgorICAgICAgICAoSlNDOjpNYWNyb0Fzc2VtYmxlclg4NkNvbW1vbjo6c3Vi
RG91YmxlKToKKyAgICAgICAgKEpTQzo6TWFjcm9Bc3NlbWJsZXJYODZDb21tb246OnN1YkZsb2F0
KToKKyAgICAgICAgKEpTQzo6TWFjcm9Bc3NlbWJsZXJYODZDb21tb246Om11bERvdWJsZSk6Cisg
ICAgICAgIChKU0M6Ok1hY3JvQXNzZW1ibGVyWDg2Q29tbW9uOjptdWxGbG9hdCk6CisgICAgICAg
IChKU0M6Ok1hY3JvQXNzZW1ibGVyWDg2Q29tbW9uOjpjb252ZXJ0SW50MzJUb0RvdWJsZSk6Cisg
ICAgICAgIChKU0M6Ok1hY3JvQXNzZW1ibGVyWDg2Q29tbW9uOjpjb252ZXJ0SW50MzJUb0Zsb2F0
KToKKyAgICAgICAgKEpTQzo6TWFjcm9Bc3NlbWJsZXJYODZDb21tb246OmJyYW5jaERvdWJsZSk6
CisgICAgICAgIChKU0M6Ok1hY3JvQXNzZW1ibGVyWDg2Q29tbW9uOjpicmFuY2hGbG9hdCk6Cisg
ICAgICAgIChKU0M6Ok1hY3JvQXNzZW1ibGVyWDg2Q29tbW9uOjpjb21wYXJlRG91YmxlKToKKyAg
ICAgICAgKEpTQzo6TWFjcm9Bc3NlbWJsZXJYODZDb21tb246OmNvbXBhcmVGbG9hdCk6CisgICAg
ICAgIChKU0M6Ok1hY3JvQXNzZW1ibGVyWDg2Q29tbW9uOjpicmFuY2hUcnVuY2F0ZURvdWJsZVRv
SW50MzIpOgorICAgICAgICAoSlNDOjpNYWNyb0Fzc2VtYmxlclg4NkNvbW1vbjo6dHJ1bmNhdGVE
b3VibGVUb0ludDMyKToKKyAgICAgICAgKEpTQzo6TWFjcm9Bc3NlbWJsZXJYODZDb21tb246OnRy
dW5jYXRlRmxvYXRUb0ludDMyKToKKyAgICAgICAgKEpTQzo6TWFjcm9Bc3NlbWJsZXJYODZDb21t
b246OmJyYW5jaENvbnZlcnREb3VibGVUb0ludDMyKToKKyAgICAgICAgKEpTQzo6TWFjcm9Bc3Nl
bWJsZXJYODZDb21tb246OmJyYW5jaERvdWJsZU5vblplcm8pOgorICAgICAgICAoSlNDOjpNYWNy
b0Fzc2VtYmxlclg4NkNvbW1vbjo6YnJhbmNoRG91YmxlWmVyb09yTmFOKToKKyAgICAgICAgKEpT
Qzo6TWFjcm9Bc3NlbWJsZXJYODZDb21tb246OmxzaGlmdFBhY2tlZCk6CisgICAgICAgIChKU0M6
Ok1hY3JvQXNzZW1ibGVyWDg2Q29tbW9uOjpyc2hpZnRQYWNrZWQpOgorICAgICAgICAoSlNDOjpN
YWNyb0Fzc2VtYmxlclg4NkNvbW1vbjo6b3JQYWNrZWQpOgorICAgICAgICAoSlNDOjpNYWNyb0Fz
c2VtYmxlclg4NkNvbW1vbjo6bW92ZTMyVG9GbG9hdCk6CisgICAgICAgIChKU0M6Ok1hY3JvQXNz
ZW1ibGVyWDg2Q29tbW9uOjptb3ZlRmxvYXRUbzMyKToKKyAgICAgICAgKEpTQzo6TWFjcm9Bc3Nl
bWJsZXJYODZDb21tb246Om1vdmVDb25kaXRpb25hbGx5RG91YmxlKToKKyAgICAgICAgKEpTQzo6
TWFjcm9Bc3NlbWJsZXJYODZDb21tb246Om1vdmVDb25kaXRpb25hbGx5RmxvYXQpOgorICAgICAg
ICAqIG9mZmxpbmVhc20veDg2LnJiOgorICAgICAgICAqIHJ1bnRpbWUvTWF0aENvbW1vbi5jcHA6
CisgICAgICAgIChKU0M6Om9wZXJhdGlvbk1hdGhQb3cpOgorCiAyMDE5LTAyLTE5ICBKb3NlcGgg
UGVjb3Jhcm8gIDxwZWNvcmFyb0BhcHBsZS5jb20+CiAKICAgICAgICAgV2ViIEluc3BlY3Rvcjog
SW1wcm92ZSBFUzYgQ2xhc3MgaW5zdGFuY2VzIGluIEhlYXAgU25hcHNob3QgaW5zdGFuY2VzIHZp
ZXcKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9hc3NlbWJsZXIvTWFjcm9Bc3Nl
bWJsZXJYODYuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9hc3NlbWJsZXIvTWFjcm9Bc3NlbWJs
ZXJYODYuaAppbmRleCA3MmRlZjcyYzZiNC4uZTRiYWNlZGQ4YmIgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9hc3NlbWJsZXIvTWFjcm9Bc3NlbWJsZXJYODYuaAorKysgYi9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvYXNzZW1ibGVyL01hY3JvQXNzZW1ibGVyWDg2LmgKQEAgLTE0MCw3
ICsxNDAsNiBAQCBwdWJsaWM6CiAKICAgICB2b2lkIHN0b3JlRG91YmxlKEZQUmVnaXN0ZXJJRCBz
cmMsIFRydXN0ZWRJbW1QdHIgYWRkcmVzcykKICAgICB7Ci0gICAgICAgIEFTU0VSVChpc1NTRTJQ
cmVzZW50KCkpOwogICAgICAgICBBU1NFUlQoYWRkcmVzcy5tX3ZhbHVlKTsKICAgICAgICAgbV9h
c3NlbWJsZXIubW92c2Rfcm0oc3JjLCBhZGRyZXNzLmFzUHRyKCkpOwogICAgIH0KQEAgLTE3Myw3
ICsxNzIsNiBAQCBwdWJsaWM6CiAgICAgCiAgICAgdm9pZCBtb3ZlRG91YmxlVG9JbnRzKEZQUmVn
aXN0ZXJJRCBzcmMsIFJlZ2lzdGVySUQgZGVzdDEsIFJlZ2lzdGVySUQgZGVzdDIpCiAgICAgewot
ICAgICAgICBBU1NFUlQoaXNTU0UyUHJlc2VudCgpKTsKICAgICAgICAgbV9hc3NlbWJsZXIucGV4
dHJ3X2lycigzLCBzcmMsIGRlc3QxKTsKICAgICAgICAgbV9hc3NlbWJsZXIucGV4dHJ3X2lycigy
LCBzcmMsIGRlc3QyKTsKICAgICAgICAgbHNoaWZ0MzIoVHJ1c3RlZEltbTMyKDE2KSwgZGVzdDEp
OwpAQCAtMjk0LDEwICsyOTIsMTAgQEAgcHVibGljOgogICAgICAgICByZXR1cm4gRGF0YUxhYmVs
UHRyKHRoaXMpOwogICAgIH0KIAotICAgIHN0YXRpYyBib29sIHN1cHBvcnRzRmxvYXRpbmdQb2lu
dCgpIHsgcmV0dXJuIGlzU1NFMlByZXNlbnQoKTsgfQotICAgIHN0YXRpYyBib29sIHN1cHBvcnRz
RmxvYXRpbmdQb2ludFRydW5jYXRlKCkgeyByZXR1cm4gaXNTU0UyUHJlc2VudCgpOyB9Ci0gICAg
c3RhdGljIGJvb2wgc3VwcG9ydHNGbG9hdGluZ1BvaW50U3FydCgpIHsgcmV0dXJuIGlzU1NFMlBy
ZXNlbnQoKTsgfQotICAgIHN0YXRpYyBib29sIHN1cHBvcnRzRmxvYXRpbmdQb2ludEFicygpIHsg
cmV0dXJuIGlzU1NFMlByZXNlbnQoKTsgfQorICAgIHN0YXRpYyBib29sIHN1cHBvcnRzRmxvYXRp
bmdQb2ludCgpIHsgcmV0dXJuIHRydWU7IH0KKyAgICBzdGF0aWMgYm9vbCBzdXBwb3J0c0Zsb2F0
aW5nUG9pbnRUcnVuY2F0ZSgpIHsgcmV0dXJuIHRydWU7IH0KKyAgICBzdGF0aWMgYm9vbCBzdXBw
b3J0c0Zsb2F0aW5nUG9pbnRTcXJ0KCkgeyByZXR1cm4gdHJ1ZTsgfQorICAgIHN0YXRpYyBib29s
IHN1cHBvcnRzRmxvYXRpbmdQb2ludEFicygpIHsgcmV0dXJuIHRydWU7IH0KIAogICAgIHRlbXBs
YXRlPFB0clRhZyByZXN1bHRUYWcsIFB0clRhZyBsb2NhdGlvblRhZz4KICAgICBzdGF0aWMgRnVu
Y3Rpb25QdHI8cmVzdWx0VGFnPiByZWFkQ2FsbFRhcmdldChDb2RlTG9jYXRpb25DYWxsPGxvY2F0
aW9uVGFnPiBjYWxsKQpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2Fzc2VtYmxl
ci9NYWNyb0Fzc2VtYmxlclg4NkNvbW1vbi5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYXNz
ZW1ibGVyL01hY3JvQXNzZW1ibGVyWDg2Q29tbW9uLmNwcAppbmRleCA4YjE0OGNmNTllNS4uMzE3
NTM1ODlkZjcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9hc3NlbWJsZXIvTWFj
cm9Bc3NlbWJsZXJYODZDb21tb24uY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9hc3Nl
bWJsZXIvTWFjcm9Bc3NlbWJsZXJYODZDb21tb24uY3BwCkBAIC0xNjgsNiArMTY4LDExIEBAIHN0
YXRpY19hc3NlcnQoUFJPQkVfT0ZGU0VUT0ZfUkVHKGNwdS5mcHJzLCBYODZSZWdpc3RlcnM6Onht
bTE1KSA9PSBQUk9CRV9DUFVfWE1NCiBzdGF0aWNfYXNzZXJ0KHNpemVvZihQcm9iZTo6U3RhdGUp
ID09IFBST0JFX1NJWkUsICJQcm9iZTo6U3RhdGU6OnNpemUncyBtYXRjaGVzIGN0aU1hc21Qcm9i
ZVRyYW1wb2xpbmUiKTsKIHN0YXRpY19hc3NlcnQoKFBST0JFX0VYRUNVVE9SX09GRlNFVCArIFBU
Ul9TSVpFKSA8PSAoUFJPQkVfU0laRSArIE9VVF9TSVpFKSwgIk11c3QgaGF2ZSByb29tIGFmdGVy
IFByb2JlQ29udGV4dCB0byBzdGFzaCB0aGUgcHJvYmUgaGFuZGxlciIpOwogCisjaWYgQ1BVKFg4
NikKKy8vIFNTRTIgaXMgYSBoYXJkIHJlcXVpcmVtZW50IG9uIHg4Ni4KK3N0YXRpY19hc3NlcnQo
aXNTU0UyUHJlc2VudCgpLCAiU1NFMiBzdXBwb3J0IGlzIHJlcXVpcmVkIGluIEphdmFTY3JpcHRD
b3JlIik7CisjZW5kaWYKKwogI3VuZGVmIFBST0JFX09GRlNFVE9GCiAKICNpZiBDUFUoWDg2KQpk
aWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2Fzc2VtYmxlci9NYWNyb0Fzc2VtYmxl
clg4NkNvbW1vbi5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2Fzc2VtYmxlci9NYWNyb0Fzc2Vt
Ymxlclg4NkNvbW1vbi5oCmluZGV4IDEyNDM0MjI1YWNkLi4zNTA5YjQ1YWQzYiAxMDA2NDQKLS0t
IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2Fzc2VtYmxlci9NYWNyb0Fzc2VtYmxlclg4NkNvbW1v
bi5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9hc3NlbWJsZXIvTWFjcm9Bc3NlbWJsZXJY
ODZDb21tb24uaApAQCAtMTQ0MSwxMSArMTQ0MSw4IEBAIHB1YmxpYzoKIAogICAgIC8vIEZsb2F0
aW5nLXBvaW50IG9wZXJhdGlvbjoKICAgICAvLwotICAgIC8vIFByZXNlbnRseSBvbmx5IHN1cHBv
cnRzIFNTRSwgbm90IHg4NyBmbG9hdGluZyBwb2ludC4KLQogICAgIHZvaWQgbW92ZURvdWJsZShG
UFJlZ2lzdGVySUQgc3JjLCBGUFJlZ2lzdGVySUQgZGVzdCkKICAgICB7Ci0gICAgICAgIEFTU0VS
VChpc1NTRTJQcmVzZW50KCkpOwogICAgICAgICBpZiAoc3JjICE9IGRlc3QpCiAgICAgICAgICAg
ICBtX2Fzc2VtYmxlci5tb3ZhcHNfcnIoc3JjLCBkZXN0KTsKICAgICB9CkBAIC0xNDUzLDcgKzE0
NTAsNiBAQCBwdWJsaWM6CiAgICAgdm9pZCBsb2FkRG91YmxlKFRydXN0ZWRJbW1QdHIgYWRkcmVz
cywgRlBSZWdpc3RlcklEIGRlc3QpCiAgICAgewogI2lmIENQVShYODYpCi0gICAgICAgIEFTU0VS
VChpc1NTRTJQcmVzZW50KCkpOwogICAgICAgICBtX2Fzc2VtYmxlci5tb3ZzZF9tcihhZGRyZXNz
LmFzUHRyKCksIGRlc3QpOwogI2Vsc2UKICAgICAgICAgbW92ZShhZGRyZXNzLCBzY3JhdGNoUmVn
aXN0ZXIoKSk7CkBAIC0xNDYzLDIwICsxNDU5LDE3IEBAIHB1YmxpYzoKIAogICAgIHZvaWQgbG9h
ZERvdWJsZShJbXBsaWNpdEFkZHJlc3MgYWRkcmVzcywgRlBSZWdpc3RlcklEIGRlc3QpCiAgICAg
ewotICAgICAgICBBU1NFUlQoaXNTU0UyUHJlc2VudCgpKTsKICAgICAgICAgbV9hc3NlbWJsZXIu
bW92c2RfbXIoYWRkcmVzcy5vZmZzZXQsIGFkZHJlc3MuYmFzZSwgZGVzdCk7CiAgICAgfQogCiAg
ICAgdm9pZCBsb2FkRG91YmxlKEJhc2VJbmRleCBhZGRyZXNzLCBGUFJlZ2lzdGVySUQgZGVzdCkK
ICAgICB7Ci0gICAgICAgIEFTU0VSVChpc1NTRTJQcmVzZW50KCkpOwogICAgICAgICBtX2Fzc2Vt
Ymxlci5tb3ZzZF9tcihhZGRyZXNzLm9mZnNldCwgYWRkcmVzcy5iYXNlLCBhZGRyZXNzLmluZGV4
LCBhZGRyZXNzLnNjYWxlLCBkZXN0KTsKICAgICB9CiAKICAgICB2b2lkIGxvYWRGbG9hdChUcnVz
dGVkSW1tUHRyIGFkZHJlc3MsIEZQUmVnaXN0ZXJJRCBkZXN0KQogICAgIHsKICNpZiBDUFUoWDg2
KQotICAgICAgICBBU1NFUlQoaXNTU0UyUHJlc2VudCgpKTsKICAgICAgICAgbV9hc3NlbWJsZXIu
bW92c3NfbXIoYWRkcmVzcy5hc1B0cigpLCBkZXN0KTsKICNlbHNlCiAgICAgICAgIG1vdmUoYWRk
cmVzcywgc2NyYXRjaFJlZ2lzdGVyKCkpOwpAQCAtMTQ4Niw2MSArMTQ3OSw1MSBAQCBwdWJsaWM6
CiAKICAgICB2b2lkIGxvYWRGbG9hdChJbXBsaWNpdEFkZHJlc3MgYWRkcmVzcywgRlBSZWdpc3Rl
cklEIGRlc3QpCiAgICAgewotICAgICAgICBBU1NFUlQoaXNTU0UyUHJlc2VudCgpKTsKICAgICAg
ICAgbV9hc3NlbWJsZXIubW92c3NfbXIoYWRkcmVzcy5vZmZzZXQsIGFkZHJlc3MuYmFzZSwgZGVz
dCk7CiAgICAgfQogCiAgICAgdm9pZCBsb2FkRmxvYXQoQmFzZUluZGV4IGFkZHJlc3MsIEZQUmVn
aXN0ZXJJRCBkZXN0KQogICAgIHsKLSAgICAgICAgQVNTRVJUKGlzU1NFMlByZXNlbnQoKSk7CiAg
ICAgICAgIG1fYXNzZW1ibGVyLm1vdnNzX21yKGFkZHJlc3Mub2Zmc2V0LCBhZGRyZXNzLmJhc2Us
IGFkZHJlc3MuaW5kZXgsIGFkZHJlc3Muc2NhbGUsIGRlc3QpOwogICAgIH0KIAogICAgIHZvaWQg
c3RvcmVEb3VibGUoRlBSZWdpc3RlcklEIHNyYywgSW1wbGljaXRBZGRyZXNzIGFkZHJlc3MpCiAg
ICAgewotICAgICAgICBBU1NFUlQoaXNTU0UyUHJlc2VudCgpKTsKICAgICAgICAgbV9hc3NlbWJs
ZXIubW92c2Rfcm0oc3JjLCBhZGRyZXNzLm9mZnNldCwgYWRkcmVzcy5iYXNlKTsKICAgICB9CiAg
ICAgCiAgICAgdm9pZCBzdG9yZURvdWJsZShGUFJlZ2lzdGVySUQgc3JjLCBCYXNlSW5kZXggYWRk
cmVzcykKICAgICB7Ci0gICAgICAgIEFTU0VSVChpc1NTRTJQcmVzZW50KCkpOwogICAgICAgICBt
X2Fzc2VtYmxlci5tb3ZzZF9ybShzcmMsIGFkZHJlc3Mub2Zmc2V0LCBhZGRyZXNzLmJhc2UsIGFk
ZHJlc3MuaW5kZXgsIGFkZHJlc3Muc2NhbGUpOwogICAgIH0KIAogICAgIHZvaWQgc3RvcmVGbG9h
dChGUFJlZ2lzdGVySUQgc3JjLCBJbXBsaWNpdEFkZHJlc3MgYWRkcmVzcykKICAgICB7Ci0gICAg
ICAgIEFTU0VSVChpc1NTRTJQcmVzZW50KCkpOwogICAgICAgICBtX2Fzc2VtYmxlci5tb3Zzc19y
bShzcmMsIGFkZHJlc3Mub2Zmc2V0LCBhZGRyZXNzLmJhc2UpOwogICAgIH0KIAogICAgIHZvaWQg
c3RvcmVGbG9hdChGUFJlZ2lzdGVySUQgc3JjLCBCYXNlSW5kZXggYWRkcmVzcykKICAgICB7Ci0g
ICAgICAgIEFTU0VSVChpc1NTRTJQcmVzZW50KCkpOwogICAgICAgICBtX2Fzc2VtYmxlci5tb3Zz
c19ybShzcmMsIGFkZHJlc3Mub2Zmc2V0LCBhZGRyZXNzLmJhc2UsIGFkZHJlc3MuaW5kZXgsIGFk
ZHJlc3Muc2NhbGUpOwogICAgIH0KICAgICAKICAgICB2b2lkIGNvbnZlcnREb3VibGVUb0Zsb2F0
KEZQUmVnaXN0ZXJJRCBzcmMsIEZQUmVnaXN0ZXJJRCBkc3QpCiAgICAgewotICAgICAgICBBU1NF
UlQoaXNTU0UyUHJlc2VudCgpKTsKICAgICAgICAgbV9hc3NlbWJsZXIuY3Z0c2Qyc3NfcnIoc3Jj
LCBkc3QpOwogICAgIH0KIAogICAgIHZvaWQgY29udmVydERvdWJsZVRvRmxvYXQoQWRkcmVzcyBh
ZGRyZXNzLCBGUFJlZ2lzdGVySUQgZHN0KQogICAgIHsKLSAgICAgICAgQVNTRVJUKGlzU1NFMlBy
ZXNlbnQoKSk7CiAgICAgICAgIG1fYXNzZW1ibGVyLmN2dHNkMnNzX21yKGFkZHJlc3Mub2Zmc2V0
LCBhZGRyZXNzLmJhc2UsIGRzdCk7CiAgICAgfQogCiAgICAgdm9pZCBjb252ZXJ0RmxvYXRUb0Rv
dWJsZShGUFJlZ2lzdGVySUQgc3JjLCBGUFJlZ2lzdGVySUQgZHN0KQogICAgIHsKLSAgICAgICAg
QVNTRVJUKGlzU1NFMlByZXNlbnQoKSk7CiAgICAgICAgIG1fYXNzZW1ibGVyLmN2dHNzMnNkX3Jy
KHNyYywgZHN0KTsKICAgICB9CiAKICAgICB2b2lkIGNvbnZlcnRGbG9hdFRvRG91YmxlKEFkZHJl
c3MgYWRkcmVzcywgRlBSZWdpc3RlcklEIGRzdCkKICAgICB7Ci0gICAgICAgIEFTU0VSVChpc1NT
RTJQcmVzZW50KCkpOwogICAgICAgICBtX2Fzc2VtYmxlci5jdnRzczJzZF9tcihhZGRyZXNzLm9m
ZnNldCwgYWRkcmVzcy5iYXNlLCBkc3QpOwogICAgIH0KIApAQCAtMTU1NCw3ICsxNTM3LDYgQEAg
cHVibGljOgogICAgICAgICBpZiAoc3VwcG9ydHNBVlgoKSkKICAgICAgICAgICAgIG1fYXNzZW1i
bGVyLnZhZGRzZF9ycihvcDEsIG9wMiwgZGVzdCk7CiAgICAgICAgIGVsc2UgewotICAgICAgICAg
ICAgQVNTRVJUKGlzU1NFMlByZXNlbnQoKSk7CiAgICAgICAgICAgICBpZiAob3AxID09IGRlc3Qp
CiAgICAgICAgICAgICAgICAgbV9hc3NlbWJsZXIuYWRkc2RfcnIob3AyLCBkZXN0KTsKICAgICAg
ICAgICAgIGVsc2UgewpAQCAtMTU3NCw3ICsxNTU2LDYgQEAgcHVibGljOgogICAgICAgICBpZiAo
c3VwcG9ydHNBVlgoKSkKICAgICAgICAgICAgIG1fYXNzZW1ibGVyLnZhZGRzZF9tcihvcDEub2Zm
c2V0LCBvcDEuYmFzZSwgb3AyLCBkZXN0KTsKICAgICAgICAgZWxzZSB7Ci0gICAgICAgICAgICBB
U1NFUlQoaXNTU0UyUHJlc2VudCgpKTsKICAgICAgICAgICAgIGlmIChvcDIgPT0gZGVzdCkgewog
ICAgICAgICAgICAgICAgIG1fYXNzZW1ibGVyLmFkZHNkX21yKG9wMS5vZmZzZXQsIG9wMS5iYXNl
LCBkZXN0KTsKICAgICAgICAgICAgICAgICByZXR1cm47CkBAIC0xNTk1LDcgKzE1NzYsNiBAQCBw
dWJsaWM6CiAgICAgICAgIGlmIChzdXBwb3J0c0FWWCgpKQogICAgICAgICAgICAgbV9hc3NlbWJs
ZXIudmFkZHNkX21yKG9wMS5vZmZzZXQsIG9wMS5iYXNlLCBvcDEuaW5kZXgsIG9wMS5zY2FsZSwg
b3AyLCBkZXN0KTsKICAgICAgICAgZWxzZSB7Ci0gICAgICAgICAgICBBU1NFUlQoaXNTU0UyUHJl
c2VudCgpKTsKICAgICAgICAgICAgIGlmIChvcDIgPT0gZGVzdCkgewogICAgICAgICAgICAgICAg
IG1fYXNzZW1ibGVyLmFkZHNkX21yKG9wMS5vZmZzZXQsIG9wMS5iYXNlLCBvcDEuaW5kZXgsIG9w
MS5zY2FsZSwgZGVzdCk7CiAgICAgICAgICAgICAgICAgcmV0dXJuOwpAQCAtMTYyMCw3ICsxNjAw
LDYgQEAgcHVibGljOgogICAgICAgICBpZiAoc3VwcG9ydHNBVlgoKSkKICAgICAgICAgICAgIG1f
YXNzZW1ibGVyLnZhZGRzc19ycihvcDEsIG9wMiwgZGVzdCk7CiAgICAgICAgIGVsc2UgewotICAg
ICAgICAgICAgQVNTRVJUKGlzU1NFMlByZXNlbnQoKSk7CiAgICAgICAgICAgICBpZiAob3AxID09
IGRlc3QpCiAgICAgICAgICAgICAgICAgbV9hc3NlbWJsZXIuYWRkc3NfcnIob3AyLCBkZXN0KTsK
ICAgICAgICAgICAgIGVsc2UgewpAQCAtMTYzNSw3ICsxNjE0LDYgQEAgcHVibGljOgogICAgICAg
ICBpZiAoc3VwcG9ydHNBVlgoKSkKICAgICAgICAgICAgIG1fYXNzZW1ibGVyLnZhZGRzc19tcihv
cDEub2Zmc2V0LCBvcDEuYmFzZSwgb3AyLCBkZXN0KTsKICAgICAgICAgZWxzZSB7Ci0gICAgICAg
ICAgICBBU1NFUlQoaXNTU0UyUHJlc2VudCgpKTsKICAgICAgICAgICAgIGlmIChvcDIgPT0gZGVz
dCkgewogICAgICAgICAgICAgICAgIG1fYXNzZW1ibGVyLmFkZHNzX21yKG9wMS5vZmZzZXQsIG9w
MS5iYXNlLCBkZXN0KTsKICAgICAgICAgICAgICAgICByZXR1cm47CkBAIC0xNjU2LDcgKzE2MzQs
NiBAQCBwdWJsaWM6CiAgICAgICAgIGlmIChzdXBwb3J0c0FWWCgpKQogICAgICAgICAgICAgbV9h
c3NlbWJsZXIudmFkZHNzX21yKG9wMS5vZmZzZXQsIG9wMS5iYXNlLCBvcDEuaW5kZXgsIG9wMS5z
Y2FsZSwgb3AyLCBkZXN0KTsKICAgICAgICAgZWxzZSB7Ci0gICAgICAgICAgICBBU1NFUlQoaXNT
U0UyUHJlc2VudCgpKTsKICAgICAgICAgICAgIGlmIChvcDIgPT0gZGVzdCkgewogICAgICAgICAg
ICAgICAgIG1fYXNzZW1ibGVyLmFkZHNzX21yKG9wMS5vZmZzZXQsIG9wMS5iYXNlLCBvcDEuaW5k
ZXgsIG9wMS5zY2FsZSwgZGVzdCk7CiAgICAgICAgICAgICAgICAgcmV0dXJuOwpAQCAtMTY2OCw3
ICsxNjQ1LDYgQEAgcHVibGljOgogCiAgICAgdm9pZCBkaXZEb3VibGUoRlBSZWdpc3RlcklEIHNy
YywgRlBSZWdpc3RlcklEIGRlc3QpCiAgICAgewotICAgICAgICBBU1NFUlQoaXNTU0UyUHJlc2Vu
dCgpKTsKICAgICAgICAgbV9hc3NlbWJsZXIuZGl2c2RfcnIoc3JjLCBkZXN0KTsKICAgICB9CiAK
QEAgLTE2ODMsMTkgKzE2NTksMTYgQEAgcHVibGljOgogCiAgICAgdm9pZCBkaXZEb3VibGUoQWRk
cmVzcyBzcmMsIEZQUmVnaXN0ZXJJRCBkZXN0KQogICAgIHsKLSAgICAgICAgQVNTRVJUKGlzU1NF
MlByZXNlbnQoKSk7CiAgICAgICAgIG1fYXNzZW1ibGVyLmRpdnNkX21yKHNyYy5vZmZzZXQsIHNy
Yy5iYXNlLCBkZXN0KTsKICAgICB9CiAKICAgICB2b2lkIGRpdkZsb2F0KEZQUmVnaXN0ZXJJRCBz
cmMsIEZQUmVnaXN0ZXJJRCBkZXN0KQogICAgIHsKLSAgICAgICAgQVNTRVJUKGlzU1NFMlByZXNl
bnQoKSk7CiAgICAgICAgIG1fYXNzZW1ibGVyLmRpdnNzX3JyKHNyYywgZGVzdCk7CiAgICAgfQog
CiAgICAgdm9pZCBkaXZGbG9hdChBZGRyZXNzIHNyYywgRlBSZWdpc3RlcklEIGRlc3QpCiAgICAg
ewotICAgICAgICBBU1NFUlQoaXNTU0UyUHJlc2VudCgpKTsKICAgICAgICAgbV9hc3NlbWJsZXIu
ZGl2c3NfbXIoc3JjLm9mZnNldCwgc3JjLmJhc2UsIGRlc3QpOwogICAgIH0KIApAQCAtMTcwOSw4
ICsxNjgyLDYgQEAgcHVibGljOgogICAgICAgICBpZiAoc3VwcG9ydHNBVlgoKSkKICAgICAgICAg
ICAgIG1fYXNzZW1ibGVyLnZzdWJzZF9ycihvcDEsIG9wMiwgZGVzdCk7CiAgICAgICAgIGVsc2Ug
ewotICAgICAgICAgICAgQVNTRVJUKGlzU1NFMlByZXNlbnQoKSk7Ci0KICAgICAgICAgICAgIC8v
IEIgOj0gQSAtIEIgaXMgaW52YWxpZC4KICAgICAgICAgICAgIEFTU0VSVChvcDEgPT0gZGVzdCB8
fCBvcDIgIT0gZGVzdCk7CiAgICAgICAgICAgICBtb3ZlRG91YmxlKG9wMSwgZGVzdCk7CkBAIC0x
NzUzLDcgKzE3MjQsNiBAQCBwdWJsaWM6CiAgICAgICAgIGlmIChzdXBwb3J0c0FWWCgpKQogICAg
ICAgICAgICAgbV9hc3NlbWJsZXIudnN1YnNzX3JyKG9wMSwgb3AyLCBkZXN0KTsKICAgICAgICAg
ZWxzZSB7Ci0gICAgICAgICAgICBBU1NFUlQoaXNTU0UyUHJlc2VudCgpKTsKICAgICAgICAgICAg
IC8vIEIgOj0gQSAtIEIgaXMgaW52YWxpZC4KICAgICAgICAgICAgIEFTU0VSVChvcDEgPT0gZGVz
dCB8fCBvcDIgIT0gZGVzdCk7CiAgICAgICAgICAgICBtb3ZlRG91YmxlKG9wMSwgZGVzdCk7CkBA
IC0xNzk2LDcgKzE3NjYsNiBAQCBwdWJsaWM6CiAgICAgICAgIGlmIChzdXBwb3J0c0FWWCgpKQog
ICAgICAgICAgICAgbV9hc3NlbWJsZXIudm11bHNkX3JyKG9wMSwgb3AyLCBkZXN0KTsKICAgICAg
ICAgZWxzZSB7Ci0gICAgICAgICAgICBBU1NFUlQoaXNTU0UyUHJlc2VudCgpKTsKICAgICAgICAg
ICAgIGlmIChvcDEgPT0gZGVzdCkKICAgICAgICAgICAgICAgICBtX2Fzc2VtYmxlci5tdWxzZF9y
cihvcDIsIGRlc3QpOwogICAgICAgICAgICAgZWxzZSB7CkBAIC0xODE2LDcgKzE3ODUsNiBAQCBw
dWJsaWM6CiAgICAgICAgIGlmIChzdXBwb3J0c0FWWCgpKQogICAgICAgICAgICAgbV9hc3NlbWJs
ZXIudm11bHNkX21yKG9wMS5vZmZzZXQsIG9wMS5iYXNlLCBvcDIsIGRlc3QpOwogICAgICAgICBl
bHNlIHsKLSAgICAgICAgICAgIEFTU0VSVChpc1NTRTJQcmVzZW50KCkpOwogICAgICAgICAgICAg
aWYgKG9wMiA9PSBkZXN0KSB7CiAgICAgICAgICAgICAgICAgbV9hc3NlbWJsZXIubXVsc2RfbXIo
b3AxLm9mZnNldCwgb3AxLmJhc2UsIGRlc3QpOwogICAgICAgICAgICAgICAgIHJldHVybjsKQEAg
LTE4MzYsNyArMTgwNCw2IEBAIHB1YmxpYzoKICAgICAgICAgaWYgKHN1cHBvcnRzQVZYKCkpCiAg
ICAgICAgICAgICBtX2Fzc2VtYmxlci52bXVsc2RfbXIob3AxLm9mZnNldCwgb3AxLmJhc2UsIG9w
MS5pbmRleCwgb3AxLnNjYWxlLCBvcDIsIGRlc3QpOwogICAgICAgICBlbHNlIHsKLSAgICAgICAg
ICAgIEFTU0VSVChpc1NTRTJQcmVzZW50KCkpOwogICAgICAgICAgICAgaWYgKG9wMiA9PSBkZXN0
KSB7CiAgICAgICAgICAgICAgICAgbV9hc3NlbWJsZXIubXVsc2RfbXIob3AxLm9mZnNldCwgb3Ax
LmJhc2UsIG9wMS5pbmRleCwgb3AxLnNjYWxlLCBkZXN0KTsKICAgICAgICAgICAgICAgICByZXR1
cm47CkBAIC0xODYxLDcgKzE4MjgsNiBAQCBwdWJsaWM6CiAgICAgICAgIGlmIChzdXBwb3J0c0FW
WCgpKQogICAgICAgICAgICAgbV9hc3NlbWJsZXIudm11bHNzX3JyKG9wMSwgb3AyLCBkZXN0KTsK
ICAgICAgICAgZWxzZSB7Ci0gICAgICAgICAgICBBU1NFUlQoaXNTU0UyUHJlc2VudCgpKTsKICAg
ICAgICAgICAgIGlmIChvcDEgPT0gZGVzdCkKICAgICAgICAgICAgICAgICBtX2Fzc2VtYmxlci5t
dWxzc19ycihvcDIsIGRlc3QpOwogICAgICAgICAgICAgZWxzZSB7CkBAIC0xODc2LDcgKzE4NDIs
NiBAQCBwdWJsaWM6CiAgICAgICAgIGlmIChzdXBwb3J0c0FWWCgpKQogICAgICAgICAgICAgbV9h
c3NlbWJsZXIudm11bHNzX21yKG9wMS5vZmZzZXQsIG9wMS5iYXNlLCBvcDIsIGRlc3QpOwogICAg
ICAgICBlbHNlIHsKLSAgICAgICAgICAgIEFTU0VSVChpc1NTRTJQcmVzZW50KCkpOwogICAgICAg
ICAgICAgaWYgKG9wMiA9PSBkZXN0KSB7CiAgICAgICAgICAgICAgICAgbV9hc3NlbWJsZXIubXVs
c3NfbXIob3AxLm9mZnNldCwgb3AxLmJhc2UsIGRlc3QpOwogICAgICAgICAgICAgICAgIHJldHVy
bjsKQEAgLTE4OTYsNyArMTg2MSw2IEBAIHB1YmxpYzoKICAgICAgICAgaWYgKHN1cHBvcnRzQVZY
KCkpCiAgICAgICAgICAgICBtX2Fzc2VtYmxlci52bXVsc3NfbXIob3AxLm9mZnNldCwgb3AxLmJh
c2UsIG9wMS5pbmRleCwgb3AxLnNjYWxlLCBvcDIsIGRlc3QpOwogICAgICAgICBlbHNlIHsKLSAg
ICAgICAgICAgIEFTU0VSVChpc1NTRTJQcmVzZW50KCkpOwogICAgICAgICAgICAgaWYgKG9wMiA9
PSBkZXN0KSB7CiAgICAgICAgICAgICAgICAgbV9hc3NlbWJsZXIubXVsc3NfbXIob3AxLm9mZnNl
dCwgb3AxLmJhc2UsIG9wMS5pbmRleCwgb3AxLnNjYWxlLCBkZXN0KTsKICAgICAgICAgICAgICAg
ICByZXR1cm47CkBAIC0xOTk5LDMyICsxOTYzLDI2IEBAIHB1YmxpYzoKIAogICAgIHZvaWQgY29u
dmVydEludDMyVG9Eb3VibGUoUmVnaXN0ZXJJRCBzcmMsIEZQUmVnaXN0ZXJJRCBkZXN0KQogICAg
IHsKLSAgICAgICAgQVNTRVJUKGlzU1NFMlByZXNlbnQoKSk7CiAgICAgICAgIG1fYXNzZW1ibGVy
LmN2dHNpMnNkX3JyKHNyYywgZGVzdCk7CiAgICAgfQogCiAgICAgdm9pZCBjb252ZXJ0SW50MzJU
b0RvdWJsZShBZGRyZXNzIHNyYywgRlBSZWdpc3RlcklEIGRlc3QpCiAgICAgewotICAgICAgICBB
U1NFUlQoaXNTU0UyUHJlc2VudCgpKTsKICAgICAgICAgbV9hc3NlbWJsZXIuY3Z0c2kyc2RfbXIo
c3JjLm9mZnNldCwgc3JjLmJhc2UsIGRlc3QpOwogICAgIH0KIAogICAgIHZvaWQgY29udmVydElu
dDMyVG9GbG9hdChSZWdpc3RlcklEIHNyYywgRlBSZWdpc3RlcklEIGRlc3QpCiAgICAgewotICAg
ICAgICBBU1NFUlQoaXNTU0UyUHJlc2VudCgpKTsKICAgICAgICAgbV9hc3NlbWJsZXIuY3Z0c2ky
c3NfcnIoc3JjLCBkZXN0KTsKICAgICB9CiAKICAgICB2b2lkIGNvbnZlcnRJbnQzMlRvRmxvYXQo
QWRkcmVzcyBzcmMsIEZQUmVnaXN0ZXJJRCBkZXN0KQogICAgIHsKLSAgICAgICAgQVNTRVJUKGlz
U1NFMlByZXNlbnQoKSk7CiAgICAgICAgIG1fYXNzZW1ibGVyLmN2dHNpMnNzX21yKHNyYy5vZmZz
ZXQsIHNyYy5iYXNlLCBkZXN0KTsKICAgICB9CiAKICAgICBKdW1wIGJyYW5jaERvdWJsZShEb3Vi
bGVDb25kaXRpb24gY29uZCwgRlBSZWdpc3RlcklEIGxlZnQsIEZQUmVnaXN0ZXJJRCByaWdodCkK
ICAgICB7Ci0gICAgICAgIEFTU0VSVChpc1NTRTJQcmVzZW50KCkpOwotCiAgICAgICAgIGlmIChj
b25kICYgRG91YmxlQ29uZGl0aW9uQml0SW52ZXJ0KQogICAgICAgICAgICAgbV9hc3NlbWJsZXIu
dWNvbWlzZF9ycihsZWZ0LCByaWdodCk7CiAgICAgICAgIGVsc2UKQEAgLTIwMzQsOCArMTk5Miw2
IEBAIHB1YmxpYzoKIAogICAgIEp1bXAgYnJhbmNoRmxvYXQoRG91YmxlQ29uZGl0aW9uIGNvbmQs
IEZQUmVnaXN0ZXJJRCBsZWZ0LCBGUFJlZ2lzdGVySUQgcmlnaHQpCiAgICAgewotICAgICAgICBB
U1NFUlQoaXNTU0UyUHJlc2VudCgpKTsKLQogICAgICAgICBpZiAoY29uZCAmIERvdWJsZUNvbmRp
dGlvbkJpdEludmVydCkKICAgICAgICAgICAgIG1fYXNzZW1ibGVyLnVjb21pc3NfcnIobGVmdCwg
cmlnaHQpOwogICAgICAgICBlbHNlCkBAIC0yMDQ1LDcgKzIwMDEsNiBAQCBwdWJsaWM6CiAKICAg
ICB2b2lkIGNvbXBhcmVEb3VibGUoRG91YmxlQ29uZGl0aW9uIGNvbmQsIEZQUmVnaXN0ZXJJRCBs
ZWZ0LCBGUFJlZ2lzdGVySUQgcmlnaHQsIFJlZ2lzdGVySUQgZGVzdCkKICAgICB7Ci0gICAgICAg
IEFTU0VSVChpc1NTRTJQcmVzZW50KCkpOwogICAgICAgICBmbG9hdGluZ1BvaW50Q29tcGFyZShj
b25kLCBsZWZ0LCByaWdodCwgZGVzdCwgW3RoaXNdIChGUFJlZ2lzdGVySUQgYXJnMSwgRlBSZWdp
c3RlcklEIGFyZzIpIHsKICAgICAgICAgICAgIG1fYXNzZW1ibGVyLnVjb21pc2RfcnIoYXJnMSwg
YXJnMik7CiAgICAgICAgIH0pOwpAQCAtMjA1Myw3ICsyMDA4LDYgQEAgcHVibGljOgogCiAgICAg
dm9pZCBjb21wYXJlRmxvYXQoRG91YmxlQ29uZGl0aW9uIGNvbmQsIEZQUmVnaXN0ZXJJRCBsZWZ0
LCBGUFJlZ2lzdGVySUQgcmlnaHQsIFJlZ2lzdGVySUQgZGVzdCkKICAgICB7Ci0gICAgICAgIEFT
U0VSVChpc1NTRTJQcmVzZW50KCkpOwogICAgICAgICBmbG9hdGluZ1BvaW50Q29tcGFyZShjb25k
LCBsZWZ0LCByaWdodCwgZGVzdCwgW3RoaXNdIChGUFJlZ2lzdGVySUQgYXJnMSwgRlBSZWdpc3Rl
cklEIGFyZzIpIHsKICAgICAgICAgICAgIG1fYXNzZW1ibGVyLnVjb21pc3NfcnIoYXJnMSwgYXJn
Mik7CiAgICAgICAgIH0pOwpAQCAtMjA2NiwyMCArMjAyMCwxNyBAQCBwdWJsaWM6CiAgICAgZW51
bSBCcmFuY2hUcnVuY2F0ZVR5cGUgeyBCcmFuY2hJZlRydW5jYXRlRmFpbGVkLCBCcmFuY2hJZlRy
dW5jYXRlU3VjY2Vzc2Z1bCB9OwogICAgIEp1bXAgYnJhbmNoVHJ1bmNhdGVEb3VibGVUb0ludDMy
KEZQUmVnaXN0ZXJJRCBzcmMsIFJlZ2lzdGVySUQgZGVzdCwgQnJhbmNoVHJ1bmNhdGVUeXBlIGJy
YW5jaFR5cGUgPSBCcmFuY2hJZlRydW5jYXRlRmFpbGVkKQogICAgIHsKLSAgICAgICAgQVNTRVJU
KGlzU1NFMlByZXNlbnQoKSk7CiAgICAgICAgIG1fYXNzZW1ibGVyLmN2dHRzZDJzaV9ycihzcmMs
IGRlc3QpOwogICAgICAgICByZXR1cm4gYnJhbmNoMzIoYnJhbmNoVHlwZSA/IE5vdEVxdWFsIDog
RXF1YWwsIGRlc3QsIFRydXN0ZWRJbW0zMigweDgwMDAwMDAwKSk7CiAgICAgfQogCiAgICAgdm9p
ZCB0cnVuY2F0ZURvdWJsZVRvSW50MzIoRlBSZWdpc3RlcklEIHNyYywgUmVnaXN0ZXJJRCBkZXN0
KQogICAgIHsKLSAgICAgICAgQVNTRVJUKGlzU1NFMlByZXNlbnQoKSk7CiAgICAgICAgIG1fYXNz
ZW1ibGVyLmN2dHRzZDJzaV9ycihzcmMsIGRlc3QpOwogICAgIH0KIAogICAgIHZvaWQgdHJ1bmNh
dGVGbG9hdFRvSW50MzIoRlBSZWdpc3RlcklEIHNyYywgUmVnaXN0ZXJJRCBkZXN0KQogICAgIHsK
LSAgICAgICAgQVNTRVJUKGlzU1NFMlByZXNlbnQoKSk7CiAgICAgICAgIG1fYXNzZW1ibGVyLmN2
dHRzczJzaV9ycihzcmMsIGRlc3QpOwogICAgIH0KIApAQCAtMjA4OSw3ICsyMDQwLDYgQEAgcHVi
bGljOgogICAgIC8vIChzcGVjaWZpY2FsbHksIGluIHRoaXMgY2FzZSwgMCkuCiAgICAgdm9pZCBi
cmFuY2hDb252ZXJ0RG91YmxlVG9JbnQzMihGUFJlZ2lzdGVySUQgc3JjLCBSZWdpc3RlcklEIGRl
c3QsIEp1bXBMaXN0JiBmYWlsdXJlQ2FzZXMsIEZQUmVnaXN0ZXJJRCBmcFRlbXAsIGJvb2wgbmVn
WmVyb0NoZWNrID0gdHJ1ZSkKICAgICB7Ci0gICAgICAgIEFTU0VSVChpc1NTRTJQcmVzZW50KCkp
OwogICAgICAgICBtX2Fzc2VtYmxlci5jdnR0c2Qyc2lfcnIoc3JjLCBkZXN0KTsKIAogICAgICAg
ICAvLyBJZiB0aGUgcmVzdWx0IGlzIHplcm8sIGl0IG1pZ2h0IGhhdmUgYmVlbiAtMC4wLCBhbmQg
dGhlIGRvdWJsZSBjb21wYXJpc29uIHdvbid0IGNhdGNoIHRoaXMhCkBAIC0yMTE5LDQ1ICsyMDY5
LDM4IEBAIHB1YmxpYzoKIAogICAgIEp1bXAgYnJhbmNoRG91YmxlTm9uWmVybyhGUFJlZ2lzdGVy
SUQgcmVnLCBGUFJlZ2lzdGVySUQgc2NyYXRjaCkKICAgICB7Ci0gICAgICAgIEFTU0VSVChpc1NT
RTJQcmVzZW50KCkpOwogICAgICAgICBtX2Fzc2VtYmxlci54b3JwZF9ycihzY3JhdGNoLCBzY3Jh
dGNoKTsKICAgICAgICAgcmV0dXJuIGJyYW5jaERvdWJsZShEb3VibGVOb3RFcXVhbCwgcmVnLCBz
Y3JhdGNoKTsKICAgICB9CiAKICAgICBKdW1wIGJyYW5jaERvdWJsZVplcm9Pck5hTihGUFJlZ2lz
dGVySUQgcmVnLCBGUFJlZ2lzdGVySUQgc2NyYXRjaCkKICAgICB7Ci0gICAgICAgIEFTU0VSVChp
c1NTRTJQcmVzZW50KCkpOwogICAgICAgICBtX2Fzc2VtYmxlci54b3JwZF9ycihzY3JhdGNoLCBz
Y3JhdGNoKTsKICAgICAgICAgcmV0dXJuIGJyYW5jaERvdWJsZShEb3VibGVFcXVhbE9yVW5vcmRl
cmVkLCByZWcsIHNjcmF0Y2gpOwogICAgIH0KIAogICAgIHZvaWQgbHNoaWZ0UGFja2VkKFRydXN0
ZWRJbW0zMiBpbW0sIFhNTVJlZ2lzdGVySUQgcmVnKQogICAgIHsKLSAgICAgICAgQVNTRVJUKGlz
U1NFMlByZXNlbnQoKSk7CiAgICAgICAgIG1fYXNzZW1ibGVyLnBzbGxxX2k4cihpbW0ubV92YWx1
ZSwgcmVnKTsKICAgICB9CiAKICAgICB2b2lkIHJzaGlmdFBhY2tlZChUcnVzdGVkSW1tMzIgaW1t
LCBYTU1SZWdpc3RlcklEIHJlZykKICAgICB7Ci0gICAgICAgIEFTU0VSVChpc1NTRTJQcmVzZW50
KCkpOwogICAgICAgICBtX2Fzc2VtYmxlci5wc3JscV9pOHIoaW1tLm1fdmFsdWUsIHJlZyk7CiAg
ICAgfQogCiAgICAgdm9pZCBvclBhY2tlZChYTU1SZWdpc3RlcklEIHNyYywgWE1NUmVnaXN0ZXJJ
RCBkc3QpCiAgICAgewotICAgICAgICBBU1NFUlQoaXNTU0UyUHJlc2VudCgpKTsKICAgICAgICAg
bV9hc3NlbWJsZXIucG9yX3JyKHNyYywgZHN0KTsKICAgICB9CiAKICAgICB2b2lkIG1vdmUzMlRv
RmxvYXQoUmVnaXN0ZXJJRCBzcmMsIFhNTVJlZ2lzdGVySUQgZHN0KQogICAgIHsKLSAgICAgICAg
QVNTRVJUKGlzU1NFMlByZXNlbnQoKSk7CiAgICAgICAgIG1fYXNzZW1ibGVyLm1vdmRfcnIoc3Jj
LCBkc3QpOwogICAgIH0KIAogICAgIHZvaWQgbW92ZUZsb2F0VG8zMihYTU1SZWdpc3RlcklEIHNy
YywgUmVnaXN0ZXJJRCBkc3QpCiAgICAgewotICAgICAgICBBU1NFUlQoaXNTU0UyUHJlc2VudCgp
KTsKICAgICAgICAgbV9hc3NlbWJsZXIubW92ZF9ycihzcmMsIGRzdCk7CiAgICAgfQogCkBAIC0y
MjQyLDggKzIxODUsNiBAQCBwdWJsaWM6CiAKICAgICB2b2lkIG1vdmVDb25kaXRpb25hbGx5RG91
YmxlKERvdWJsZUNvbmRpdGlvbiBjb25kLCBGUFJlZ2lzdGVySUQgbGVmdCwgRlBSZWdpc3RlcklE
IHJpZ2h0LCBSZWdpc3RlcklEIHNyYywgUmVnaXN0ZXJJRCBkZXN0KQogICAgIHsKLSAgICAgICAg
QVNTRVJUKGlzU1NFMlByZXNlbnQoKSk7Ci0KICAgICAgICAgaWYgKGNvbmQgJiBEb3VibGVDb25k
aXRpb25CaXRJbnZlcnQpCiAgICAgICAgICAgICBtX2Fzc2VtYmxlci51Y29taXNkX3JyKGxlZnQs
IHJpZ2h0KTsKICAgICAgICAgZWxzZQpAQCAtMjI1Myw4ICsyMTk0LDYgQEAgcHVibGljOgogCiAg
ICAgdm9pZCBtb3ZlQ29uZGl0aW9uYWxseURvdWJsZShEb3VibGVDb25kaXRpb24gY29uZCwgRlBS
ZWdpc3RlcklEIGxlZnQsIEZQUmVnaXN0ZXJJRCByaWdodCwgUmVnaXN0ZXJJRCB0aGVuQ2FzZSwg
UmVnaXN0ZXJJRCBlbHNlQ2FzZSwgUmVnaXN0ZXJJRCBkZXN0KQogICAgIHsKLSAgICAgICAgQVNT
RVJUKGlzU1NFMlByZXNlbnQoKSk7Ci0KICAgICAgICAgaWYgKHRoZW5DYXNlICE9IGRlc3QgJiYg
ZWxzZUNhc2UgIT0gZGVzdCkgewogICAgICAgICAgICAgbW92ZShlbHNlQ2FzZSwgZGVzdCk7CiAg
ICAgICAgICAgICBlbHNlQ2FzZSA9IGRlc3Q7CkBAIC0yMjc3LDggKzIyMTYsNiBAQCBwdWJsaWM6
CiAKICAgICB2b2lkIG1vdmVDb25kaXRpb25hbGx5RmxvYXQoRG91YmxlQ29uZGl0aW9uIGNvbmQs
IEZQUmVnaXN0ZXJJRCBsZWZ0LCBGUFJlZ2lzdGVySUQgcmlnaHQsIFJlZ2lzdGVySUQgc3JjLCBS
ZWdpc3RlcklEIGRlc3QpCiAgICAgewotICAgICAgICBBU1NFUlQoaXNTU0UyUHJlc2VudCgpKTsK
LQogICAgICAgICBpZiAoY29uZCAmIERvdWJsZUNvbmRpdGlvbkJpdEludmVydCkKICAgICAgICAg
ICAgIG1fYXNzZW1ibGVyLnVjb21pc3NfcnIobGVmdCwgcmlnaHQpOwogICAgICAgICBlbHNlCkBA
IC0yMjg4LDggKzIyMjUsNiBAQCBwdWJsaWM6CiAKICAgICB2b2lkIG1vdmVDb25kaXRpb25hbGx5
RmxvYXQoRG91YmxlQ29uZGl0aW9uIGNvbmQsIEZQUmVnaXN0ZXJJRCBsZWZ0LCBGUFJlZ2lzdGVy
SUQgcmlnaHQsIFJlZ2lzdGVySUQgdGhlbkNhc2UsIFJlZ2lzdGVySUQgZWxzZUNhc2UsIFJlZ2lz
dGVySUQgZGVzdCkKICAgICB7Ci0gICAgICAgIEFTU0VSVChpc1NTRTJQcmVzZW50KCkpOwotCiAg
ICAgICAgIGlmICh0aGVuQ2FzZSAhPSBkZXN0ICYmIGVsc2VDYXNlICE9IGRlc3QpIHsKICAgICAg
ICAgICAgIG1vdmUoZWxzZUNhc2UsIGRlc3QpOwogICAgICAgICAgICAgZWxzZUNhc2UgPSBkZXN0
OwpAQCAtMjM3NCw4ICsyMzA5LDYgQEAgcHVibGljOgogCiAgICAgdm9pZCBtb3ZlQ29uZGl0aW9u
YWxseURvdWJsZShEb3VibGVDb25kaXRpb24gY29uZCwgRlBSZWdpc3RlcklEIGxlZnQsIEZQUmVn
aXN0ZXJJRCByaWdodCwgUmVnaXN0ZXJJRCBzcmMsIFJlZ2lzdGVySUQgZGVzdCkKICAgICB7Ci0g
ICAgICAgIEFTU0VSVChpc1NTRTJQcmVzZW50KCkpOwotCiAgICAgICAgIGlmIChjb25kICYgRG91
YmxlQ29uZGl0aW9uQml0SW52ZXJ0KQogICAgICAgICAgICAgbV9hc3NlbWJsZXIudWNvbWlzZF9y
cihsZWZ0LCByaWdodCk7CiAgICAgICAgIGVsc2UKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9vZmZsaW5lYXNtL3g4Ni5yYiBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9vZmZsaW5l
YXNtL3g4Ni5yYgppbmRleCA2MmFhMzVhNTE1MC4uNzk2OTk2NDY4ZTIgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9vZmZsaW5lYXNtL3g4Ni5yYgorKysgYi9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvb2ZmbGluZWFzbS94ODYucmIKQEAgLTExMCwyMSArMTEwLDYgQEAgZGVmIGlzV2lu
CiAgICAgZW5kCiBlbmQKIAotZGVmIHVzZVg4NwotICAgIGNhc2UgJGFjdGl2ZUJhY2tlbmQKLSAg
ICB3aGVuICJYODYiCi0gICAgICAgIHRydWUKLSAgICB3aGVuICJYODZfV0lOIgotICAgICAgICB0
cnVlCi0gICAgd2hlbiAiWDg2XzY0IgotICAgICAgICBmYWxzZQotICAgIHdoZW4gIlg4Nl82NF9X
SU4iCi0gICAgICAgIGZhbHNlCi0gICAgZWxzZQotICAgICAgICByYWlzZSAiYmFkIHZhbHVlIGZv
ciAkYWN0aXZlQmFja2VuZDogI3skYWN0aXZlQmFja2VuZH0iCi0gICAgZW5kCi1lbmQKLQogZGVm
IGlzTVNWQwogICAgICRvcHRpb25zLmhhc19rZXk/KDphc3NlbWJsZXIpICYmICRvcHRpb25zWzph
c3NlbWJsZXJdID09ICJNQVNNIgogZW5kCkBAIC0zNDEsNyArMzI2LDYgQEAgZW5kCiBjbGFzcyBG
UFJlZ2lzdGVySUQKICAgICBkZWYgeDg2T3BlcmFuZChraW5kKQogICAgICAgICByYWlzZSB1bmxl
c3Mga2luZCA9PSA6ZG91YmxlCi0gICAgICAgIHJhaXNlIGlmIHVzZVg4NwogICAgICAgICBjYXNl
IG5hbWUKICAgICAgICAgd2hlbiAiZnQwIiwgImZhMCIsICJmciIKICAgICAgICAgICAgIHJlZ2lz
dGVyKCJ4bW0wIikKQEAgLTM1OSwyMyArMzQzLDYgQEAgY2xhc3MgRlBSZWdpc3RlcklECiAgICAg
ICAgICAgICByYWlzZSAiQmFkIHJlZ2lzdGVyICN7bmFtZX0gZm9yIFg4NiBhdCAje2NvZGVPcmln
aW5TdHJpbmd9IgogICAgICAgICBlbmQKICAgICBlbmQKLSAgICBkZWYgeDg3RGVmYXVsdFN0YWNr
UG9zaXRpb24KLSAgICAgICAgY2FzZSBuYW1lCi0gICAgICAgIHdoZW4gImZ0MCIsICJmciIKLSAg
ICAgICAgICAgIDAKLSAgICAgICAgd2hlbiAiZnQxIgotICAgICAgICAgICAgMQotICAgICAgICB3
aGVuICJmdDIiLCAiZnQzIiwgImZ0NCIsICJmdDUiCi0gICAgICAgICAgICByYWlzZSAiVW5pbXBs
ZW1lbnRlZCByZWdpc3RlciAje25hbWV9IGZvciBYODYgYXQgI3tjb2RlT3JpZ2luU3RyaW5nfSIK
LSAgICAgICAgZWxzZQotICAgICAgICAgICAgcmFpc2UgIkJhZCByZWdpc3RlciAje25hbWV9IGZv
ciBYODYgYXQgI3tjb2RlT3JpZ2luU3RyaW5nfSIKLSAgICAgICAgZW5kCi0gICAgZW5kCi0gICAg
ZGVmIHg4N09wZXJhbmQob2Zmc2V0KQotICAgICAgICByYWlzZSB1bmxlc3MgdXNlWDg3Ci0gICAg
ICAgIHJhaXNlIHVubGVzcyBvZmZzZXQgPT0gMCBvciBvZmZzZXQgPT0gMQotICAgICAgICAiI3ty
ZWdpc3Rlcigic3QiKX0oI3t4ODdEZWZhdWx0U3RhY2tQb3NpdGlvbiArIG9mZnNldH0pIgotICAg
IGVuZAogICAgIGRlZiB4ODZDYWxsT3BlcmFuZChraW5kKQogICAgICAgICAiI3tjYWxsUHJlZml4
fSN7eDg2T3BlcmFuZChraW5kKX0iCiAgICAgZW5kCkBAIC01NjEsNyArNTI4LDcgQEAgY2xhc3Mg
SW5zdHJ1Y3Rpb24KICAgICAgICAgd2hlbiA6cXVhZAogICAgICAgICAgICAgaXNYNjQgPyAicSIg
OiByYWlzZQogICAgICAgICB3aGVuIDpkb3VibGUKLSAgICAgICAgICAgIG5vdCB1c2VYODcgPyAi
c2QiIDogcmFpc2UKKyAgICAgICAgICAgICJzZCIKICAgICAgICAgZWxzZQogICAgICAgICAgICAg
cmFpc2UKICAgICAgICAgZW5kCkBAIC02MzMsMTcgKzYwMCwxMyBAQCBjbGFzcyBJbnN0cnVjdGlv
bgogICAgIGVuZAogICAgIAogICAgIGRlZiBoYW5kbGVYODZEb3VibGVCcmFuY2goYnJhbmNoT3Bj
b2RlLCBtb2RlKQotICAgICAgICBpZiB1c2VYODcKLSAgICAgICAgICAgIGhhbmRsZVg4N0NvbXBh
cmUobW9kZSkKKyAgICAgICAgY2FzZSBtb2RlCisgICAgICAgIHdoZW4gOm5vcm1hbAorICAgICAg
ICAgICAgJGFzbS5wdXRzICJ1Y29taXNkICN7b3JkZXJPcGVyYW5kcyhvcGVyYW5kc1sxXS54ODZP
cGVyYW5kKDpkb3VibGUpLCBvcGVyYW5kc1swXS54ODZPcGVyYW5kKDpkb3VibGUpKX0iCisgICAg
ICAgIHdoZW4gOnJldmVyc2UKKyAgICAgICAgICAgICRhc20ucHV0cyAidWNvbWlzZCAje29yZGVy
T3BlcmFuZHMob3BlcmFuZHNbMF0ueDg2T3BlcmFuZCg6ZG91YmxlKSwgb3BlcmFuZHNbMV0ueDg2
T3BlcmFuZCg6ZG91YmxlKSl9IgogICAgICAgICBlbHNlCi0gICAgICAgICAgICBjYXNlIG1vZGUK
LSAgICAgICAgICAgIHdoZW4gOm5vcm1hbAotICAgICAgICAgICAgICAgICRhc20ucHV0cyAidWNv
bWlzZCAje29yZGVyT3BlcmFuZHMob3BlcmFuZHNbMV0ueDg2T3BlcmFuZCg6ZG91YmxlKSwgb3Bl
cmFuZHNbMF0ueDg2T3BlcmFuZCg6ZG91YmxlKSl9IgotICAgICAgICAgICAgd2hlbiA6cmV2ZXJz
ZQotICAgICAgICAgICAgICAgICRhc20ucHV0cyAidWNvbWlzZCAje29yZGVyT3BlcmFuZHMob3Bl
cmFuZHNbMF0ueDg2T3BlcmFuZCg6ZG91YmxlKSwgb3BlcmFuZHNbMV0ueDg2T3BlcmFuZCg6ZG91
YmxlKSl9IgotICAgICAgICAgICAgZWxzZQotICAgICAgICAgICAgICAgIHJhaXNlIG1vZGUuaW5z
cGVjdAotICAgICAgICAgICAgZW5kCisgICAgICAgICAgICByYWlzZSBtb2RlLmluc3BlY3QKICAg
ICAgICAgZW5kCiAgICAgICAgICRhc20ucHV0cyAiI3ticmFuY2hPcGNvZGV9ICN7b3BlcmFuZHNb
Ml0uYXNtTGFiZWx9IgogICAgIGVuZApAQCAtODYxLDQzICs4MjQsNiBAQCBjbGFzcyBJbnN0cnVj
dGlvbgogICAgICAgICBlbmQKICAgICBlbmQKIAotICAgIGRlZiBoYW5kbGVYODdDb21wYXJlKG1v
ZGUpCi0gICAgICAgIGZsb2F0aW5nUG9pbnRDb21wYXJlSW1wbGljaXRPcGVyYW5kID0gZ2V0SW1w
bGljaXRPcGVyYW5kU3RyaW5nCi0gICAgICAgIGNhc2UgbW9kZQotICAgICAgICB3aGVuIDpub3Jt
YWwKLSAgICAgICAgICAgIGlmIChvcGVyYW5kc1swXS54ODdEZWZhdWx0U3RhY2tQb3NpdGlvbiA9
PSAwKQotICAgICAgICAgICAgICAgICRhc20ucHV0cyAiZnVjb21pICN7ZmxvYXRpbmdQb2ludENv
bXBhcmVJbXBsaWNpdE9wZXJhbmR9I3tvcGVyYW5kc1sxXS54ODdPcGVyYW5kKDApfSIKLSAgICAg
ICAgICAgIGVsc2UKLSAgICAgICAgICAgICAgICAkYXNtLnB1dHMgImZsZCAje29wZXJhbmRzWzBd
Lng4N09wZXJhbmQoMCl9IgotICAgICAgICAgICAgICAgICRhc20ucHV0cyAiZnVjb21pcCAje2Zs
b2F0aW5nUG9pbnRDb21wYXJlSW1wbGljaXRPcGVyYW5kfSN7b3BlcmFuZHNbMV0ueDg3T3BlcmFu
ZCgxKX0iCi0gICAgICAgICAgICBlbmQKLSAgICAgICAgd2hlbiA6cmV2ZXJzZQotICAgICAgICAg
ICAgaWYgKG9wZXJhbmRzWzFdLng4N0RlZmF1bHRTdGFja1Bvc2l0aW9uID09IDApCi0gICAgICAg
ICAgICAgICAgJGFzbS5wdXRzICJmdWNvbWkgI3tmbG9hdGluZ1BvaW50Q29tcGFyZUltcGxpY2l0
T3BlcmFuZH0je29wZXJhbmRzWzBdLng4N09wZXJhbmQoMCl9IgotICAgICAgICAgICAgZWxzZQot
ICAgICAgICAgICAgICAgICRhc20ucHV0cyAiZmxkICN7b3BlcmFuZHNbMV0ueDg3T3BlcmFuZCgw
KX0iCi0gICAgICAgICAgICAgICAgJGFzbS5wdXRzICJmdWNvbWlwICN7ZmxvYXRpbmdQb2ludENv
bXBhcmVJbXBsaWNpdE9wZXJhbmR9I3tvcGVyYW5kc1swXS54ODdPcGVyYW5kKDEpfSIKLSAgICAg
ICAgICAgIGVuZAotICAgICAgICBlbHNlCi0gICAgICAgICAgICByYWlzZSBtb2RlLmluc3BlY3QK
LSAgICAgICAgZW5kCi0gICAgZW5kCi0KLSAgICBkZWYgaGFuZGxlWDg3QmluT3Aob3Bjb2RlLCBv
cGNvZGVyZXZlcnNlKQotICAgICAgICBpZiAob3BlcmFuZHNbMV0ueDg3RGVmYXVsdFN0YWNrUG9z
aXRpb24gPT0gMCkKLSAgICAgICAgICAgICRhc20ucHV0cyAiI3tvcGNvZGV9ICN7b3JkZXJPcGVy
YW5kcyhvcGVyYW5kc1swXS54ODdPcGVyYW5kKDApLCByZWdpc3Rlcigic3QiKSl9IgotICAgICAg
ICBlbHNpZiAob3BlcmFuZHNbMF0ueDg3RGVmYXVsdFN0YWNrUG9zaXRpb24gPT0gMCkKLSAgICAg
ICAgICAgIGlmICFpc0ludGVsU3ludGF4Ci0gICAgICAgICAgICAgICAgJGFzbS5wdXRzICIje29w
Y29kZXJldmVyc2V9ICN7cmVnaXN0ZXIoInN0Iil9LCAje29wZXJhbmRzWzFdLng4N09wZXJhbmQo
MCl9IgotICAgICAgICAgICAgZWxzZQotICAgICAgICAgICAgICAgICRhc20ucHV0cyAiI3tvcGNv
ZGV9ICN7b3BlcmFuZHNbMV0ueDg3T3BlcmFuZCgwKX0sICN7cmVnaXN0ZXIoInN0Iil9IgotICAg
ICAgICAgICAgZW5kCi0gICAgICAgIGVsc2UKLSAgICAgICAgICAgICRhc20ucHV0cyAiZmxkICN7
b3BlcmFuZHNbMF0ueDg3T3BlcmFuZCgwKX0iCi0gICAgICAgICAgICAkYXNtLnB1dHMgIiN7b3Bj
b2RlcmV2ZXJzZX1wICN7b3JkZXJPcGVyYW5kcyhyZWdpc3Rlcigic3QiKSwgb3BlcmFuZHNbMV0u
eDg3T3BlcmFuZCgxKSl9IgotICAgICAgICBlbmQKLSAgICBlbmQKLQogICAgIGRlZiBsb3dlclg4
NgogICAgICAgICByYWlzZSB1bmxlc3MgJGFjdGl2ZUJhY2tlbmQgPT0gIlg4NiIKICAgICAgICAg
bG93ZXJYODZDb21tb24KQEAgLTEwMzksODkgKzk2NSwyNSBAQCBjbGFzcyBJbnN0cnVjdGlvbgog
ICAgICAgICB3aGVuICJzdG9yZWIiCiAgICAgICAgICAgICAkYXNtLnB1dHMgIm1vdiN7eDg2U3Vm
Zml4KDpieXRlKX0gI3t4ODZPcGVyYW5kcyg6Ynl0ZSwgOmJ5dGUpfSIKICAgICAgICAgd2hlbiAi
bG9hZGQiCi0gICAgICAgICAgICBpZiB1c2VYODcKLSAgICAgICAgICAgICAgICBpZiAhaXNJbnRl
bFN5bnRheAotICAgICAgICAgICAgICAgICAgICAkYXNtLnB1dHMgImZsZGwgI3tvcGVyYW5kc1sw
XS54ODZPcGVyYW5kKDpkb3VibGUpfSIKLSAgICAgICAgICAgICAgICBlbHNlCi0gICAgICAgICAg
ICAgICAgICAgICRhc20ucHV0cyAiZmxkICN7b3BlcmFuZHNbMF0ueDg2T3BlcmFuZCg6ZG91Ymxl
KX0iCi0gICAgICAgICAgICAgICAgZW5kCi0gICAgICAgICAgICAgICAgJGFzbS5wdXRzICJmc3Rw
ICN7b3BlcmFuZHNbMV0ueDg3T3BlcmFuZCgxKX0iCi0gICAgICAgICAgICBlbHNlCi0gICAgICAg
ICAgICAgICAgJGFzbS5wdXRzICJtb3ZzZCAje3g4Nk9wZXJhbmRzKDpkb3VibGUsIDpkb3VibGUp
fSIKLSAgICAgICAgICAgIGVuZAorICAgICAgICAgICAgJGFzbS5wdXRzICJtb3ZzZCAje3g4Nk9w
ZXJhbmRzKDpkb3VibGUsIDpkb3VibGUpfSIKICAgICAgICAgd2hlbiAibW92ZWQiCi0gICAgICAg
ICAgICBpZiB1c2VYODcKLSAgICAgICAgICAgICAgICBpZiAob3BlcmFuZHNbMF0ueDg3RGVmYXVs
dFN0YWNrUG9zaXRpb24gPT0gMCkKLSAgICAgICAgICAgICAgICAgICAgJGFzbS5wdXRzICJmc3Qg
I3tvcGVyYW5kc1sxXS54ODdPcGVyYW5kKDApfSIKLSAgICAgICAgICAgICAgICBlbHNlCi0gICAg
ICAgICAgICAgICAgICAgICRhc20ucHV0cyAiZmxkICN7b3BlcmFuZHNbMF0ueDg3T3BlcmFuZCgw
KX0iCi0gICAgICAgICAgICAgICAgICAgICRhc20ucHV0cyAiZnN0cCAje29wZXJhbmRzWzFdLng4
N09wZXJhbmQoMSl9IgotICAgICAgICAgICAgICAgIGVuZAotICAgICAgICAgICAgZWxzZQotICAg
ICAgICAgICAgICAgICRhc20ucHV0cyAibW92c2QgI3t4ODZPcGVyYW5kcyg6ZG91YmxlLCA6ZG91
YmxlKX0iCi0gICAgICAgICAgICBlbmQKKyAgICAgICAgICAgICRhc20ucHV0cyAibW92c2QgI3t4
ODZPcGVyYW5kcyg6ZG91YmxlLCA6ZG91YmxlKX0iCiAgICAgICAgIHdoZW4gInN0b3JlZCIKLSAg
ICAgICAgICAgIGlmIHVzZVg4NwotICAgICAgICAgICAgICAgIGlmIChvcGVyYW5kc1swXS54ODdE
ZWZhdWx0U3RhY2tQb3NpdGlvbiA9PSAwKQotICAgICAgICAgICAgICAgICAgICAkYXNtLnB1dHMg
ImZzdCN7eDg2U3VmZml4KDppbnQpfSAje29wZXJhbmRzWzFdLng4Nk9wZXJhbmQoOmRvdWJsZSl9
IgotICAgICAgICAgICAgICAgIGVsc2UKLSAgICAgICAgICAgICAgICAgICAgJGFzbS5wdXRzICJm
bGQgI3tvcGVyYW5kc1swXS54ODdPcGVyYW5kKDApfSIKLSAgICAgICAgICAgICAgICAgICAgaWYg
IWlzSW50ZWxTeW50YXgKLSAgICAgICAgICAgICAgICAgICAgICAgICRhc20ucHV0cyAiZnN0cGwg
I3tvcGVyYW5kc1sxXS54ODZPcGVyYW5kKDpkb3VibGUpfSIKLSAgICAgICAgICAgICAgICAgICAg
ZWxzZQotICAgICAgICAgICAgICAgICAgICAgICAgJGFzbS5wdXRzICJmc3RwICN7b3BlcmFuZHNb
MV0ueDg2T3BlcmFuZCg6ZG91YmxlKX0iCi0gICAgICAgICAgICAgICAgICAgIGVuZAotICAgICAg
ICAgICAgICAgIGVuZAotICAgICAgICAgICAgZWxzZQotICAgICAgICAgICAgICAgICRhc20ucHV0
cyAibW92c2QgI3t4ODZPcGVyYW5kcyg6ZG91YmxlLCA6ZG91YmxlKX0iCi0gICAgICAgICAgICBl
bmQKKyAgICAgICAgICAgICRhc20ucHV0cyAibW92c2QgI3t4ODZPcGVyYW5kcyg6ZG91YmxlLCA6
ZG91YmxlKX0iCiAgICAgICAgIHdoZW4gImFkZGQiCi0gICAgICAgICAgICBpZiB1c2VYODcKLSAg
ICAgICAgICAgICAgICBoYW5kbGVYODdCaW5PcCgiZmFkZCIsICJmYWRkIikKLSAgICAgICAgICAg
IGVsc2UKLSAgICAgICAgICAgICAgICAkYXNtLnB1dHMgImFkZHNkICN7eDg2T3BlcmFuZHMoOmRv
dWJsZSwgOmRvdWJsZSl9IgotICAgICAgICAgICAgZW5kCisgICAgICAgICAgICAkYXNtLnB1dHMg
ImFkZHNkICN7eDg2T3BlcmFuZHMoOmRvdWJsZSwgOmRvdWJsZSl9IgogICAgICAgICB3aGVuICJt
dWxkIgotICAgICAgICAgICAgaWYgdXNlWDg3Ci0gICAgICAgICAgICAgICAgaGFuZGxlWDg3Qmlu
T3AoImZtdWwiLCAiZm11bCIpCi0gICAgICAgICAgICBlbHNlCi0gICAgICAgICAgICAgICAgJGFz
bS5wdXRzICJtdWxzZCAje3g4Nk9wZXJhbmRzKDpkb3VibGUsIDpkb3VibGUpfSIKLSAgICAgICAg
ICAgIGVuZAorICAgICAgICAgICAgJGFzbS5wdXRzICJtdWxzZCAje3g4Nk9wZXJhbmRzKDpkb3Vi
bGUsIDpkb3VibGUpfSIKICAgICAgICAgd2hlbiAic3ViZCIKLSAgICAgICAgICAgIGlmIHVzZVg4
NwotICAgICAgICAgICAgICAgIGhhbmRsZVg4N0Jpbk9wKCJmc3ViIiwgImZzdWJyIikKLSAgICAg
ICAgICAgIGVsc2UKLSAgICAgICAgICAgICAgICAkYXNtLnB1dHMgInN1YnNkICN7eDg2T3BlcmFu
ZHMoOmRvdWJsZSwgOmRvdWJsZSl9IgotICAgICAgICAgICAgZW5kCisgICAgICAgICAgICAkYXNt
LnB1dHMgInN1YnNkICN7eDg2T3BlcmFuZHMoOmRvdWJsZSwgOmRvdWJsZSl9IgogICAgICAgICB3
aGVuICJkaXZkIgotICAgICAgICAgICAgaWYgdXNlWDg3Ci0gICAgICAgICAgICAgICAgaGFuZGxl
WDg3QmluT3AoImZkaXYiLCAiZmRpdnIiKQotICAgICAgICAgICAgZWxzZQotICAgICAgICAgICAg
ICAgICRhc20ucHV0cyAiZGl2c2QgI3t4ODZPcGVyYW5kcyg6ZG91YmxlLCA6ZG91YmxlKX0iCi0g
ICAgICAgICAgICBlbmQKKyAgICAgICAgICAgICRhc20ucHV0cyAiZGl2c2QgI3t4ODZPcGVyYW5k
cyg6ZG91YmxlLCA6ZG91YmxlKX0iCiAgICAgICAgIHdoZW4gInNxcnRkIgotICAgICAgICAgICAg
aWYgdXNlWDg3Ci0gICAgICAgICAgICAgICAgJGFzbS5wdXRzICJmbGQgI3tvcGVyYW5kc1swXS54
ODdPcGVyYW5kKDApfSIKLSAgICAgICAgICAgICAgICAkYXNtLnB1dHMgImZzcXJ0bCIKLSAgICAg
ICAgICAgICAgICAkYXNtLnB1dHMgImZzdHAgI3tvcGVyYW5kc1sxXS54ODdPcGVyYW5kKDEpfSIK
LSAgICAgICAgICAgIGVsc2UKLSAgICAgICAgICAgICAgICAkYXNtLnB1dHMgInNxcnRzZCAje29w
ZXJhbmRzWzBdLng4Nk9wZXJhbmQoOmRvdWJsZSl9LCAje29wZXJhbmRzWzFdLng4Nk9wZXJhbmQo
OmRvdWJsZSl9IgotICAgICAgICAgICAgZW5kCisgICAgICAgICAgICAkYXNtLnB1dHMgInNxcnRz
ZCAje29wZXJhbmRzWzBdLng4Nk9wZXJhbmQoOmRvdWJsZSl9LCAje29wZXJhbmRzWzFdLng4Nk9w
ZXJhbmQoOmRvdWJsZSl9IgogICAgICAgICB3aGVuICJjaTJkIgotICAgICAgICAgICAgaWYgdXNl
WDg3Ci0gICAgICAgICAgICAgICAgc3AgPSBSZWdpc3RlcklELm5ldyhuaWwsICJzcCIpCi0gICAg
ICAgICAgICAgICAgJGFzbS5wdXRzICJtb3Yje3g4NlN1ZmZpeCg6aW50KX0gI3tvcmRlck9wZXJh
bmRzKG9wZXJhbmRzWzBdLng4Nk9wZXJhbmQoOmludCksIG9mZnNldFJlZ2lzdGVyKC00LCBzcC54
ODZPcGVyYW5kKDpwdHIpKSl9IgotICAgICAgICAgICAgICAgICRhc20ucHV0cyAiZmlsZCN7eDg2
U3VmZml4KDpwdHIpfSAje2dldFNpemVTdHJpbmcoOnB0cil9I3tvZmZzZXRSZWdpc3RlcigtNCwg
c3AueDg2T3BlcmFuZCg6cHRyKSl9IgotICAgICAgICAgICAgICAgICRhc20ucHV0cyAiZnN0cCAj
e29wZXJhbmRzWzFdLng4N09wZXJhbmQoMSl9IgotICAgICAgICAgICAgZWxzZQotICAgICAgICAg
ICAgICAgICRhc20ucHV0cyAiY3Z0c2kyc2QgI3tvcmRlck9wZXJhbmRzKG9wZXJhbmRzWzBdLng4
Nk9wZXJhbmQoOmludCksIG9wZXJhbmRzWzFdLng4Nk9wZXJhbmQoOmRvdWJsZSkpfSIKLSAgICAg
ICAgICAgIGVuZAorICAgICAgICAgICAgJGFzbS5wdXRzICJjdnRzaTJzZCAje29yZGVyT3BlcmFu
ZHMob3BlcmFuZHNbMF0ueDg2T3BlcmFuZCg6aW50KSwgb3BlcmFuZHNbMV0ueDg2T3BlcmFuZCg6
ZG91YmxlKSl9IgogICAgICAgICB3aGVuICJiZGVxIgotICAgICAgICAgICAgaWYgdXNlWDg3Ci0g
ICAgICAgICAgICAgICAgaGFuZGxlWDg3Q29tcGFyZSg6bm9ybWFsKQotICAgICAgICAgICAgZWxz
ZQotICAgICAgICAgICAgICAgICRhc20ucHV0cyAidWNvbWlzZCAje29yZGVyT3BlcmFuZHMob3Bl
cmFuZHNbMF0ueDg2T3BlcmFuZCg6ZG91YmxlKSwgb3BlcmFuZHNbMV0ueDg2T3BlcmFuZCg6ZG91
YmxlKSl9IgotICAgICAgICAgICAgZW5kCisgICAgICAgICAgICAkYXNtLnB1dHMgInVjb21pc2Qg
I3tvcmRlck9wZXJhbmRzKG9wZXJhbmRzWzBdLng4Nk9wZXJhbmQoOmRvdWJsZSksIG9wZXJhbmRz
WzFdLng4Nk9wZXJhbmQoOmRvdWJsZSkpfSIKICAgICAgICAgICAgIGlmIG9wZXJhbmRzWzBdID09
IG9wZXJhbmRzWzFdCiAgICAgICAgICAgICAgICAgIyBUaGlzIGlzIGp1c3QgYSBqdW1wIG9yZGVy
ZWQsIHdoaWNoIGlzIGEgam5wLgogICAgICAgICAgICAgICAgICRhc20ucHV0cyAiam5wICN7b3Bl
cmFuZHNbMl0uYXNtTGFiZWx9IgpAQCAtMTE0NCwxMSArMTAwNiw3IEBAIGNsYXNzIEluc3RydWN0
aW9uCiAgICAgICAgIHdoZW4gImJkZXF1biIKICAgICAgICAgICAgIGhhbmRsZVg4NkRvdWJsZUJy
YW5jaCgiamUiLCA6bm9ybWFsKQogICAgICAgICB3aGVuICJiZG5lcXVuIgotICAgICAgICAgICAg
aWYgdXNlWDg3Ci0gICAgICAgICAgICAgICAgaGFuZGxlWDg3Q29tcGFyZSg6bm9ybWFsKQotICAg
ICAgICAgICAgZWxzZQotICAgICAgICAgICAgICAgICRhc20ucHV0cyAidWNvbWlzZCAje29yZGVy
T3BlcmFuZHMob3BlcmFuZHNbMF0ueDg2T3BlcmFuZCg6ZG91YmxlKSwgb3BlcmFuZHNbMV0ueDg2
T3BlcmFuZCg6ZG91YmxlKSl9IgotICAgICAgICAgICAgZW5kCisgICAgICAgICAgICAkYXNtLnB1
dHMgInVjb21pc2QgI3tvcmRlck9wZXJhbmRzKG9wZXJhbmRzWzBdLng4Nk9wZXJhbmQoOmRvdWJs
ZSksIG9wZXJhbmRzWzFdLng4Nk9wZXJhbmQoOmRvdWJsZSkpfSIKICAgICAgICAgICAgIGlmIG9w
ZXJhbmRzWzBdID09IG9wZXJhbmRzWzFdCiAgICAgICAgICAgICAgICAgIyBUaGlzIGlzIGp1c3Qg
YSBqdW1wIHVub3JkZXJlZCwgd2hpY2ggaXMgYSBqcC4KICAgICAgICAgICAgICAgICAkYXNtLnB1
dHMgImpwICN7b3BlcmFuZHNbMl0uYXNtTGFiZWx9IgpAQCAtMTE3MCw0OCArMTAyOCwyMSBAQCBj
bGFzcyBJbnN0cnVjdGlvbgogICAgICAgICB3aGVuICJiZGx0ZXF1biIKICAgICAgICAgICAgIGhh
bmRsZVg4NkRvdWJsZUJyYW5jaCgiamJlIiwgOm5vcm1hbCkKICAgICAgICAgd2hlbiAiYnRkMmki
Ci0gICAgICAgICAgICAjIEZJWE1FOiB1bnVzZWQgYW5kIHVuaW1wbGVtZW50ZWQgZm9yIHg4Nwot
ICAgICAgICAgICAgcmFpc2UgaWYgdXNlWDg3CiAgICAgICAgICAgICAkYXNtLnB1dHMgImN2dHRz
ZDJzaSAje29wZXJhbmRzWzBdLng4Nk9wZXJhbmQoOmRvdWJsZSl9LCAje29wZXJhbmRzWzFdLng4
Nk9wZXJhbmQoOmludCl9IgogICAgICAgICAgICAgJGFzbS5wdXRzICJjbXBsICQweDgwMDAwMDAw
ICN7b3BlcmFuZHNbMV0ueDg2T3BlcmFuZCg6aW50KX0iCiAgICAgICAgICAgICAkYXNtLnB1dHMg
ImplICN7b3BlcmFuZHNbMl0uYXNtTGFiZWx9IgogICAgICAgICB3aGVuICJ0ZDJpIgotICAgICAg
ICAgICAgIyBGSVhNRTogdW51c2VkIGFuZCB1bmltcGxlbWVudGVkIGZvciB4ODcKLSAgICAgICAg
ICAgIHJhaXNlIGlmIHVzZVg4NwogICAgICAgICAgICAgJGFzbS5wdXRzICJjdnR0c2Qyc2kgI3tv
cGVyYW5kc1swXS54ODZPcGVyYW5kKDpkb3VibGUpfSwgI3tvcGVyYW5kc1sxXS54ODZPcGVyYW5k
KDppbnQpfSIKICAgICAgICAgd2hlbiAiYmNkMmkiCi0gICAgICAgICAgICBpZiB1c2VYODcKLSAg
ICAgICAgICAgICAgICBmbG9hdGluZ1BvaW50Q29tcGFyZUltcGxpY2l0T3BlcmFuZCA9IGdldElt
cGxpY2l0T3BlcmFuZFN0cmluZwotICAgICAgICAgICAgICAgIHNwID0gUmVnaXN0ZXJJRC5uZXco
bmlsLCAic3AiKQotICAgICAgICAgICAgICAgIGlmIChvcGVyYW5kc1swXS54ODdEZWZhdWx0U3Rh
Y2tQb3NpdGlvbiA9PSAwKQotICAgICAgICAgICAgICAgICAgICAkYXNtLnB1dHMgImZpc3RsIC00
KCN7c3AueDg2T3BlcmFuZCg6cHRyKX0pIgotICAgICAgICAgICAgICAgIGVsc2UKLSAgICAgICAg
ICAgICAgICAgICAgJGFzbS5wdXRzICJmbGQgI3tvcGVyYW5kc1swXS54ODdPcGVyYW5kKDApfSIK
LSAgICAgICAgICAgICAgICAgICAgJGFzbS5wdXRzICJmaXN0cCN7eDg2U3VmZml4KDpwdHIpfSAj
e2dldFNpemVTdHJpbmcoOnB0cil9I3tvZmZzZXRSZWdpc3RlcigtNCwgc3AueDg2T3BlcmFuZCg6
cHRyKSl9IgotICAgICAgICAgICAgICAgIGVuZAotICAgICAgICAgICAgICAgICRhc20ucHV0cyAi
bW92I3t4ODZTdWZmaXgoOmludCl9ICN7b3JkZXJPcGVyYW5kcyhvZmZzZXRSZWdpc3RlcigtNCwg
c3AueDg2T3BlcmFuZCg6cHRyKSksIG9wZXJhbmRzWzFdLng4Nk9wZXJhbmQoOmludCkpfSIKLSAg
ICAgICAgICAgICAgICAkYXNtLnB1dHMgInRlc3Qje3g4NlN1ZmZpeCg6aW50KX0gI3tvcGVyYW5k
c1sxXS54ODZPcGVyYW5kKDppbnQpfSwgI3tvcGVyYW5kc1sxXS54ODZPcGVyYW5kKDppbnQpfSIK
LSAgICAgICAgICAgICAgICAkYXNtLnB1dHMgImplICN7b3BlcmFuZHNbMl0uYXNtTGFiZWx9Igot
ICAgICAgICAgICAgICAgICRhc20ucHV0cyAiZmlsZCN7eDg2U3VmZml4KDppbnQpfSAje2dldFNp
emVTdHJpbmcoOmludCl9I3tvZmZzZXRSZWdpc3RlcigtNCwgc3AueDg2T3BlcmFuZCg6cHRyKSl9
IgotICAgICAgICAgICAgICAgICRhc20ucHV0cyAiZnVjb21pcCAje2Zsb2F0aW5nUG9pbnRDb21w
YXJlSW1wbGljaXRPcGVyYW5kfSN7b3BlcmFuZHNbMF0ueDg3T3BlcmFuZCgxKX0iCi0gICAgICAg
ICAgICAgICAgJGFzbS5wdXRzICJqcCAje29wZXJhbmRzWzJdLmFzbUxhYmVsfSIKLSAgICAgICAg
ICAgICAgICAkYXNtLnB1dHMgImpuZSAje29wZXJhbmRzWzJdLmFzbUxhYmVsfSIKLSAgICAgICAg
ICAgIGVsc2UKLSAgICAgICAgICAgICAgICAkYXNtLnB1dHMgImN2dHRzZDJzaSAje29wZXJhbmRz
WzBdLng4Nk9wZXJhbmQoOmRvdWJsZSl9LCAje29wZXJhbmRzWzFdLng4Nk9wZXJhbmQoOmludCl9
IgotICAgICAgICAgICAgICAgICRhc20ucHV0cyAidGVzdCN7eDg2U3VmZml4KDppbnQpfSAje29w
ZXJhbmRzWzFdLng4Nk9wZXJhbmQoOmludCl9LCAje29wZXJhbmRzWzFdLng4Nk9wZXJhbmQoOmlu
dCl9IgotICAgICAgICAgICAgICAgICRhc20ucHV0cyAiamUgI3tvcGVyYW5kc1syXS5hc21MYWJl
bH0iCi0gICAgICAgICAgICAgICAgJGFzbS5wdXRzICJjdnRzaTJzZCAje29wZXJhbmRzWzFdLng4
Nk9wZXJhbmQoOmludCl9LCAleG1tNyIKLSAgICAgICAgICAgICAgICAkYXNtLnB1dHMgInVjb21p
c2QgI3tvcGVyYW5kc1swXS54ODZPcGVyYW5kKDpkb3VibGUpfSwgJXhtbTciCi0gICAgICAgICAg
ICAgICAgJGFzbS5wdXRzICJqcCAje29wZXJhbmRzWzJdLmFzbUxhYmVsfSIKLSAgICAgICAgICAg
ICAgICAkYXNtLnB1dHMgImpuZSAje29wZXJhbmRzWzJdLmFzbUxhYmVsfSIKLSAgICAgICAgICAg
IGVuZAorICAgICAgICAgICAgJGFzbS5wdXRzICJjdnR0c2Qyc2kgI3tvcGVyYW5kc1swXS54ODZP
cGVyYW5kKDpkb3VibGUpfSwgI3tvcGVyYW5kc1sxXS54ODZPcGVyYW5kKDppbnQpfSIKKyAgICAg
ICAgICAgICRhc20ucHV0cyAidGVzdCN7eDg2U3VmZml4KDppbnQpfSAje29wZXJhbmRzWzFdLng4
Nk9wZXJhbmQoOmludCl9LCAje29wZXJhbmRzWzFdLng4Nk9wZXJhbmQoOmludCl9IgorICAgICAg
ICAgICAgJGFzbS5wdXRzICJqZSAje29wZXJhbmRzWzJdLmFzbUxhYmVsfSIKKyAgICAgICAgICAg
ICRhc20ucHV0cyAiY3Z0c2kyc2QgI3tvcGVyYW5kc1sxXS54ODZPcGVyYW5kKDppbnQpfSwgJXht
bTciCisgICAgICAgICAgICAkYXNtLnB1dHMgInVjb21pc2QgI3tvcGVyYW5kc1swXS54ODZPcGVy
YW5kKDpkb3VibGUpfSwgJXhtbTciCisgICAgICAgICAgICAkYXNtLnB1dHMgImpwICN7b3BlcmFu
ZHNbMl0uYXNtTGFiZWx9IgorICAgICAgICAgICAgJGFzbS5wdXRzICJqbmUgI3tvcGVyYW5kc1sy
XS5hc21MYWJlbH0iCiAgICAgICAgIHdoZW4gIm1vdmR6IgotICAgICAgICAgICAgaWYgdXNlWDg3
Ci0gICAgICAgICAgICAgICAgJGFzbS5wdXRzICJmbGR6bCIKLSAgICAgICAgICAgICAgICAkYXNt
LnB1dHMgImZzdHAgI3tvcGVyYW5kc1swXS54ODdPcGVyYW5kKDEpfSIKLSAgICAgICAgICAgIGVs
c2UKLSAgICAgICAgICAgICAgICAkYXNtLnB1dHMgInhvcnBkICN7b3BlcmFuZHNbMF0ueDg2T3Bl
cmFuZCg6ZG91YmxlKX0sICN7b3BlcmFuZHNbMF0ueDg2T3BlcmFuZCg6ZG91YmxlKX0iCi0gICAg
ICAgICAgICBlbmQKKyAgICAgICAgICAgICRhc20ucHV0cyAieG9ycGQgI3tvcGVyYW5kc1swXS54
ODZPcGVyYW5kKDpkb3VibGUpfSwgI3tvcGVyYW5kc1swXS54ODZPcGVyYW5kKDpkb3VibGUpfSIK
ICAgICAgICAgd2hlbiAicG9wIgogICAgICAgICAgICAgb3BlcmFuZHMuZWFjaCB7CiAgICAgICAg
ICAgICAgICAgfCBvcCB8CkBAIC0xMzkxLDEyICsxMjIyLDYgQEAgY2xhc3MgSW5zdHJ1Y3Rpb24K
ICAgICAgICAgd2hlbiAiYnJlYWsiCiAgICAgICAgICAgICAkYXNtLnB1dHMgImludCAje2NvbnN0
KDMpfSIKICAgICAgICAgd2hlbiAiY2FsbCIKLSAgICAgICAgICAgIGlmIHVzZVg4NwotICAgICAg
ICAgICAgICAgIDIudGltZXMgewotICAgICAgICAgICAgICAgICAgICB8IG9mZnNldCB8Ci0gICAg
ICAgICAgICAgICAgICAgICRhc20ucHV0cyAiZmZyZWUgI3tyZWdpc3Rlcigic3QiKX0oI3tvZmZz
ZXR9KSIKLSAgICAgICAgICAgICAgICB9Ci0gICAgICAgICAgICBlbmQKICAgICAgICAgICAgIG9w
ID0gb3BlcmFuZHNbMF0ueDg2Q2FsbE9wZXJhbmQoOnB0cikKICAgICAgICAgICAgIGlmIG9wZXJh
bmRzWzBdLmlzX2E/IExhYmVsUmVmZXJlbmNlCiAgICAgICAgICAgICAgICAgb3BlcmFuZHNbMF0u
dXNlZApAQCAtMTUxNyw2OCArMTM0MiwzMCBAQCBjbGFzcyBJbnN0cnVjdGlvbgogICAgICAgICB3
aGVuICJpZGl2aSIKICAgICAgICAgICAgICRhc20ucHV0cyAiaWRpdiN7eDg2U3VmZml4KDppbnQp
fSAje29wZXJhbmRzWzBdLng4Nk9wZXJhbmQoOmludCl9IgogICAgICAgICB3aGVuICJmaWkyZCIK
LSAgICAgICAgICAgIGlmIHVzZVg4NwotICAgICAgICAgICAgICAgIHNwID0gUmVnaXN0ZXJJRC5u
ZXcobmlsLCAic3AiKQotICAgICAgICAgICAgICAgICRhc20ucHV0cyAibW92I3t4ODZTdWZmaXgo
OmludCl9ICN7b3JkZXJPcGVyYW5kcyhvcGVyYW5kc1swXS54ODZPcGVyYW5kKDppbnQpLCBvZmZz
ZXRSZWdpc3RlcigtOCwgc3AueDg2T3BlcmFuZCg6cHRyKSkpfSIKLSAgICAgICAgICAgICAgICAk
YXNtLnB1dHMgIm1vdiN7eDg2U3VmZml4KDppbnQpfSAje29yZGVyT3BlcmFuZHMob3BlcmFuZHNb
MV0ueDg2T3BlcmFuZCg6aW50KSwgb2Zmc2V0UmVnaXN0ZXIoLTQsIHNwLng4Nk9wZXJhbmQoOnB0
cikpKX0iCi0gICAgICAgICAgICAgICAgJGFzbS5wdXRzICJmbGQje3g4NlN1ZmZpeCg6cHRyKX0g
I3tnZXRTaXplU3RyaW5nKDpkb3VibGUpfSN7b2Zmc2V0UmVnaXN0ZXIoLTgsIHNwLng4Nk9wZXJh
bmQoOnB0cikpfSIKLSAgICAgICAgICAgICAgICAkYXNtLnB1dHMgImZzdHAgI3tvcGVyYW5kc1sy
XS54ODdPcGVyYW5kKDEpfSIKLSAgICAgICAgICAgIGVsc2UKLSAgICAgICAgICAgICAgICAkYXNt
LnB1dHMgIm1vdmQgI3tvcGVyYW5kc1swXS54ODZPcGVyYW5kKDppbnQpfSwgI3tvcGVyYW5kc1sy
XS54ODZPcGVyYW5kKDpkb3VibGUpfSIKLSAgICAgICAgICAgICAgICAkYXNtLnB1dHMgIm1vdmQg
I3tvcGVyYW5kc1sxXS54ODZPcGVyYW5kKDppbnQpfSwgJXhtbTciCi0gICAgICAgICAgICAgICAg
JGFzbS5wdXRzICJwc2xscSAkMzIsICV4bW03IgotICAgICAgICAgICAgICAgICRhc20ucHV0cyAi
cG9yICV4bW03LCAje29wZXJhbmRzWzJdLng4Nk9wZXJhbmQoOmRvdWJsZSl9IgotICAgICAgICAg
ICAgZW5kCisgICAgICAgICAgICAkYXNtLnB1dHMgIm1vdmQgI3tvcGVyYW5kc1swXS54ODZPcGVy
YW5kKDppbnQpfSwgI3tvcGVyYW5kc1syXS54ODZPcGVyYW5kKDpkb3VibGUpfSIKKyAgICAgICAg
ICAgICRhc20ucHV0cyAibW92ZCAje29wZXJhbmRzWzFdLng4Nk9wZXJhbmQoOmludCl9LCAleG1t
NyIKKyAgICAgICAgICAgICRhc20ucHV0cyAicHNsbHEgJDMyLCAleG1tNyIKKyAgICAgICAgICAg
ICRhc20ucHV0cyAicG9yICV4bW03LCAje29wZXJhbmRzWzJdLng4Nk9wZXJhbmQoOmRvdWJsZSl9
IgogICAgICAgICB3aGVuICJmZDJpaSIKLSAgICAgICAgICAgIGlmIHVzZVg4NwotICAgICAgICAg
ICAgICAgIHNwID0gUmVnaXN0ZXJJRC5uZXcobmlsLCAic3AiKQotICAgICAgICAgICAgICAgIGlm
IChvcGVyYW5kc1swXS54ODdEZWZhdWx0U3RhY2tQb3NpdGlvbiA9PSAwKQotICAgICAgICAgICAg
ICAgICAgICAkYXNtLnB1dHMgImZzdCN7eDg2U3VmZml4KDpwdHIpfSAje2dldFNpemVTdHJpbmco
OmRvdWJsZSl9I3tvZmZzZXRSZWdpc3RlcigtOCwgc3AueDg2T3BlcmFuZCg6cHRyKSl9IgotICAg
ICAgICAgICAgICAgIGVsc2UKLSAgICAgICAgICAgICAgICAgICAgJGFzbS5wdXRzICJmbGQgI3tv
cGVyYW5kc1swXS54ODdPcGVyYW5kKDApfSIKLSAgICAgICAgICAgICAgICAgICAgJGFzbS5wdXRz
ICJmc3RwbCAtOCgje3NwLng4Nk9wZXJhbmQoOnB0cil9KSIKLSAgICAgICAgICAgICAgICBlbmQK
LSAgICAgICAgICAgICAgICAkYXNtLnB1dHMgIm1vdiN7eDg2U3VmZml4KDppbnQpfSAje29yZGVy
T3BlcmFuZHMob2Zmc2V0UmVnaXN0ZXIoLTgsIHNwLng4Nk9wZXJhbmQoOnB0cikpLCBvcGVyYW5k
c1sxXS54ODZPcGVyYW5kKDppbnQpKX0iCi0gICAgICAgICAgICAgICAgJGFzbS5wdXRzICJtb3Yj
e3g4NlN1ZmZpeCg6aW50KX0gI3tvcmRlck9wZXJhbmRzKG9mZnNldFJlZ2lzdGVyKC00LCBzcC54
ODZPcGVyYW5kKDpwdHIpKSwgb3BlcmFuZHNbMl0ueDg2T3BlcmFuZCg6aW50KSl9IgotICAgICAg
ICAgICAgZWxzZQotICAgICAgICAgICAgICAgICRhc20ucHV0cyAibW92ZCAje29wZXJhbmRzWzBd
Lng4Nk9wZXJhbmQoOmRvdWJsZSl9LCAje29wZXJhbmRzWzFdLng4Nk9wZXJhbmQoOmludCl9Igot
ICAgICAgICAgICAgICAgICRhc20ucHV0cyAibW92c2QgI3tvcGVyYW5kc1swXS54ODZPcGVyYW5k
KDpkb3VibGUpfSwgJXhtbTciCi0gICAgICAgICAgICAgICAgJGFzbS5wdXRzICJwc3JscSAkMzIs
ICV4bW03IgotICAgICAgICAgICAgICAgICRhc20ucHV0cyAibW92ZCAleG1tNywgI3tvcGVyYW5k
c1syXS54ODZPcGVyYW5kKDppbnQpfSIKLSAgICAgICAgICAgIGVuZAorICAgICAgICAgICAgJGFz
bS5wdXRzICJtb3ZkICN7b3BlcmFuZHNbMF0ueDg2T3BlcmFuZCg6ZG91YmxlKX0sICN7b3BlcmFu
ZHNbMV0ueDg2T3BlcmFuZCg6aW50KX0iCisgICAgICAgICAgICAkYXNtLnB1dHMgIm1vdnNkICN7
b3BlcmFuZHNbMF0ueDg2T3BlcmFuZCg6ZG91YmxlKX0sICV4bW03IgorICAgICAgICAgICAgJGFz
bS5wdXRzICJwc3JscSAkMzIsICV4bW03IgorICAgICAgICAgICAgJGFzbS5wdXRzICJtb3ZkICV4
bW03LCAje29wZXJhbmRzWzJdLng4Nk9wZXJhbmQoOmludCl9IgogICAgICAgICB3aGVuICJmcTJk
IgotICAgICAgICAgICAgaWYgdXNlWDg3Ci0gICAgICAgICAgICAgICAgc3AgPSBSZWdpc3RlcklE
Lm5ldyhuaWwsICJzcCIpCi0gICAgICAgICAgICAgICAgJGFzbS5wdXRzICJtb3ZxICN7b3BlcmFu
ZHNbMF0ueDg2T3BlcmFuZCg6cXVhZCl9LCAtOCgje3NwLng4Nk9wZXJhbmQoOnB0cil9KSIKLSAg
ICAgICAgICAgICAgICAkYXNtLnB1dHMgImZsZGwgLTgoI3tzcC54ODZPcGVyYW5kKDpwdHIpfSki
Ci0gICAgICAgICAgICAgICAgJGFzbS5wdXRzICJmc3RwICN7b3BlcmFuZHNbMV0ueDg3T3BlcmFu
ZCgxKX0iCisgICAgICAgICAgICBpZiAhaXNJbnRlbFN5bnRheAorICAgICAgICAgICAgICAgICRh
c20ucHV0cyAibW92cSAje29wZXJhbmRzWzBdLng4Nk9wZXJhbmQoOnF1YWQpfSwgI3tvcGVyYW5k
c1sxXS54ODZPcGVyYW5kKDpkb3VibGUpfSIKICAgICAgICAgICAgIGVsc2UKLSAgICAgICAgICAg
ICAgICBpZiAhaXNJbnRlbFN5bnRheAotICAgICAgICAgICAgICAgICAgICAkYXNtLnB1dHMgIm1v
dnEgI3tvcGVyYW5kc1swXS54ODZPcGVyYW5kKDpxdWFkKX0sICN7b3BlcmFuZHNbMV0ueDg2T3Bl
cmFuZCg6ZG91YmxlKX0iCi0gICAgICAgICAgICAgICAgZWxzZQotICAgICAgICAgICAgICAgICAg
ICAjIE1BU00gZG9lcyBub3QgYWNjZXB0IHJlZ2lzdGVyIG9wZXJhbmRzIHdpdGggbW92cS4KLSAg
ICAgICAgICAgICAgICAgICAgIyBEZWJ1Z2dpbmcgc2hvd3MgdGhhdCBtb3ZkIGFjdHVhbGx5IG1v
dmVzIGEgcXdvcmQgd2hlbiB1c2luZyBNQVNNLgotICAgICAgICAgICAgICAgICAgICAkYXNtLnB1
dHMgIm1vdmQgI3tvcGVyYW5kc1sxXS54ODZPcGVyYW5kKDpkb3VibGUpfSwgI3tvcGVyYW5kc1sw
XS54ODZPcGVyYW5kKDpxdWFkKX0iCi0gICAgICAgICAgICAgICAgZW5kCisgICAgICAgICAgICAg
ICAgIyBNQVNNIGRvZXMgbm90IGFjY2VwdCByZWdpc3RlciBvcGVyYW5kcyB3aXRoIG1vdnEuCisg
ICAgICAgICAgICAgICAgIyBEZWJ1Z2dpbmcgc2hvd3MgdGhhdCBtb3ZkIGFjdHVhbGx5IG1vdmVz
IGEgcXdvcmQgd2hlbiB1c2luZyBNQVNNLgorICAgICAgICAgICAgICAgICRhc20ucHV0cyAibW92
ZCAje29wZXJhbmRzWzFdLng4Nk9wZXJhbmQoOmRvdWJsZSl9LCAje29wZXJhbmRzWzBdLng4Nk9w
ZXJhbmQoOnF1YWQpfSIKICAgICAgICAgICAgIGVuZAogICAgICAgICB3aGVuICJmZDJxIgotICAg
ICAgICAgICAgaWYgdXNlWDg3Ci0gICAgICAgICAgICAgICAgc3AgPSBSZWdpc3RlcklELm5ldyhu
aWwsICJzcCIpCi0gICAgICAgICAgICAgICAgaWYgKG9wZXJhbmRzWzBdLng4N0RlZmF1bHRTdGFj
a1Bvc2l0aW9uID09IDApCi0gICAgICAgICAgICAgICAgICAgICRhc20ucHV0cyAiZnN0I3t4ODZT
dWZmaXgoOmludCl9ICN7Z2V0U2l6ZVN0cmluZyg6aW50KX0je29mZnNldFJlZ2lzdGVyKC04LCBz
cC54ODZPcGVyYW5kKDpwdHIpKX0iCi0gICAgICAgICAgICAgICAgZWxzZQotICAgICAgICAgICAg
ICAgICAgICAkYXNtLnB1dHMgImZsZCAje29wZXJhbmRzWzBdLng4N09wZXJhbmQoMCl9IgotICAg
ICAgICAgICAgICAgICAgICAkYXNtLnB1dHMgImZzdHBsIC04KCN7c3AueDg2T3BlcmFuZCg6cHRy
KX0pIgotICAgICAgICAgICAgICAgIGVuZAotICAgICAgICAgICAgICAgICRhc20ucHV0cyAibW92
cSAtOCgje3NwLng4Nk9wZXJhbmQoOnB0cil9KSwgI3tvcGVyYW5kc1sxXS54ODZPcGVyYW5kKDpx
dWFkKX0iCisgICAgICAgICAgICBpZiAhaXNJbnRlbFN5bnRheAorICAgICAgICAgICAgICAgICRh
c20ucHV0cyAibW92cSAje29wZXJhbmRzWzBdLng4Nk9wZXJhbmQoOmRvdWJsZSl9LCAje29wZXJh
bmRzWzFdLng4Nk9wZXJhbmQoOnF1YWQpfSIKICAgICAgICAgICAgIGVsc2UKLSAgICAgICAgICAg
ICAgICBpZiAhaXNJbnRlbFN5bnRheAotICAgICAgICAgICAgICAgICAgICAkYXNtLnB1dHMgIm1v
dnEgI3tvcGVyYW5kc1swXS54ODZPcGVyYW5kKDpkb3VibGUpfSwgI3tvcGVyYW5kc1sxXS54ODZP
cGVyYW5kKDpxdWFkKX0iCi0gICAgICAgICAgICAgICAgZWxzZQotICAgICAgICAgICAgICAgICAg
ICAjIE1BU00gZG9lcyBub3QgYWNjZXB0IHJlZ2lzdGVyIG9wZXJhbmRzIHdpdGggbW92cS4KLSAg
ICAgICAgICAgICAgICAgICAgIyBEZWJ1Z2dpbmcgc2hvd3MgdGhhdCBtb3ZkIGFjdHVhbGx5IG1v
dmVzIGEgcXdvcmQgd2hlbiB1c2luZyBNQVNNLgotICAgICAgICAgICAgICAgICAgICAkYXNtLnB1
dHMgIm1vdmQgI3tvcGVyYW5kc1sxXS54ODZPcGVyYW5kKDpxdWFkKX0sICN7b3BlcmFuZHNbMF0u
eDg2T3BlcmFuZCg6ZG91YmxlKX0iCi0gICAgICAgICAgICAgICAgZW5kCisgICAgICAgICAgICAg
ICAgIyBNQVNNIGRvZXMgbm90IGFjY2VwdCByZWdpc3RlciBvcGVyYW5kcyB3aXRoIG1vdnEuCisg
ICAgICAgICAgICAgICAgIyBEZWJ1Z2dpbmcgc2hvd3MgdGhhdCBtb3ZkIGFjdHVhbGx5IG1vdmVz
IGEgcXdvcmQgd2hlbiB1c2luZyBNQVNNLgorICAgICAgICAgICAgICAgICRhc20ucHV0cyAibW92
ZCAje29wZXJhbmRzWzFdLng4Nk9wZXJhbmQoOnF1YWQpfSwgI3tvcGVyYW5kc1swXS54ODZPcGVy
YW5kKDpkb3VibGUpfSIKICAgICAgICAgICAgIGVuZAogICAgICAgICB3aGVuICJibyIKICAgICAg
ICAgICAgICRhc20ucHV0cyAiam8gI3tvcGVyYW5kc1swXS5hc21MYWJlbH0iCmRpZmYgLS1naXQg
YS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9NYXRoQ29tbW9uLmNwcCBiL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9ydW50aW1lL01hdGhDb21tb24uY3BwCmluZGV4IGFiZTI2Y2M3MmE4Li5l
MmI3NjFmNjBlNCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvTWF0
aENvbW1vbi5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvTWF0aENvbW1v
bi5jcHAKQEAgLTQzNywyMCArNDM3LDggQEAgZG91YmxlIEpJVF9PUEVSQVRJT04gb3BlcmF0aW9u
TWF0aFBvdyhkb3VibGUgeCwgZG91YmxlIHkpCiAgICAgaW50MzJfdCB5QXNJbnQgPSB5OwogICAg
IGlmIChzdGF0aWNfY2FzdDxkb3VibGU+KHlBc0ludCkgPT0geSAmJiB5QXNJbnQgPj0gMCAmJiB5
QXNJbnQgPD0gbWF4RXhwb25lbnRGb3JJbnRlZ2VyTWF0aFBvdykgewogICAgICAgICAvLyBJZiB0
aGUgZXhwb25lbnQgaXMgYSBzbWFsbCBwb3NpdGl2ZSBpbnQzMiBpbnRlZ2VyLCB3ZSBkbyBhIGZh
c3QgZXhwb25lbnRpYXRpb24KLQotICAgICAgICAvLyBEbyBub3QgdXNlIHg4NyB2YWx1ZXMgZm9y
IGFjY3VtdWxhdGlvbi4geDg3IHZhbHVlcyBoYXMgODBiaXQgcHJlY2lzaW9uLgotICAgICAgICAv
LyBUaGUgcmVzdWx0IHByb2R1Y2VkIGJ5IHg4NydzIDgwYml0IGRvdWJsZSBwcmVjaXNpb24gZGlm
ZmVycyBmcm9tIHRoZSBvbmUgY2FsY3VsYXRlZCB3aXRoIFNTRTIgaW4gREZHLgotICAgICAgICAv
LyBVc2luZyB2b2xhdGlsZSBkb3VibGUgaXMgd29ya2Fyb3VuZCBmb3IgdGhpcyBwcm9ibGVtLiBC
eSBzcGVjaWZ5aW5nIHZvbGF0aWxlLCB3ZSBleHBlY3QgdGhhdCBgcmVzdWx0YCBhbmQgYHhkYAot
ICAgICAgICAvLyBhcmUgc3RvcmVkIGluIHRoZSBzdGFjay4gQW5kIGF0IHRoYXQgdGltZSwgd2Ug
ZXhwZWN0IHRoYXQgdGhleSBhcmUgcm91bmRlZCBieSBmc3QvZnN0cFsxLCAyXS4KLSAgICAgICAg
Ly8gWzFdOiBodHRwczovL2djYy5nbnUub3JnL3dpa2kveDg3bm90ZQotICAgICAgICAvLyBbMl06
IGh0dHBzOi8vZ2NjLmdudS5vcmcvYnVnemlsbGEvc2hvd19idWcuY2dpP2lkPTMyMwotI2lmICFD
UFUoWDg2KSB8fCAoZGVmaW5lZChfX1NTRTJfTUFUSF9fKSAmJiBkZWZpbmVkKF9fU1NFMl9fKSkK
LSAgICAgICAgdHlwZWRlZiBkb3VibGUgRG91YmxlVmFsdWU7Ci0jZWxzZQotICAgICAgICB0eXBl
ZGVmIHZvbGF0aWxlIGRvdWJsZSBEb3VibGVWYWx1ZTsKLSNlbmRpZgotICAgICAgICBEb3VibGVW
YWx1ZSByZXN1bHQgPSAxOwotICAgICAgICBEb3VibGVWYWx1ZSB4ZCA9IHg7CisgICAgICAgIGRv
dWJsZSByZXN1bHQgPSAxOworICAgICAgICBkb3VibGUgeGQgPSB4OwogICAgICAgICB3aGlsZSAo
eUFzSW50KSB7CiAgICAgICAgICAgICBpZiAoeUFzSW50ICYgMSkKICAgICAgICAgICAgICAgICBy
ZXN1bHQgKj0geGQ7CmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VMb2cgYi9Ub29scy9DaGFuZ2VM
b2cKaW5kZXggOTY3MDhlNzliYWQuLjg0ZTY1Y2VhMGY4IDEwMDY0NAotLS0gYS9Ub29scy9DaGFu
Z2VMb2cKKysrIGIvVG9vbHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTUgQEAKKzIwMTktMDItMjAg
IFhhbiBMb3BleiAgPHhhbkBpZ2FsaWEuY29tPgorCisgICAgICAgIFtKU0NdW3g4Nl0gRHJvcCBz
dXBwb3J0IGZvciB4ODcgZmxvYXRpbmcgcG9pbnQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTE5NDg1MworCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9E
WSAoT09QUyEpLgorCisgICAgICAgIEZvcmNlIFNTRTIgb24geDg2LzMyYml0IGJ1aWxkcy4KKwor
ICAgICAgICAqIFNjcmlwdHMvd2Via2l0ZGlycy5wbToKKyAgICAgICAgKGdlbmVyYXRlQnVpbGRT
eXN0ZW1Gcm9tQ01ha2VQcm9qZWN0KToKKwogMjAxOS0wMi0yMCAgQWRyaWFuIFBlcmV6IGRlIENh
c3RybyAgPGFwZXJlekBpZ2FsaWEuY29tPgogCiAgICAgICAgIFtXUEVdW0dUS10gRW5hYmxlIHN1
cHBvcnQgZm9yIENPTlRFTlRfRVhURU5TSU9OUwpkaWZmIC0tZ2l0IGEvVG9vbHMvU2NyaXB0cy93
ZWJraXRkaXJzLnBtIGIvVG9vbHMvU2NyaXB0cy93ZWJraXRkaXJzLnBtCmluZGV4IGY3ODM1ZTJj
YzRhLi41ZjAyNTRkY2JiYyAxMDA3NTUKLS0tIGEvVG9vbHMvU2NyaXB0cy93ZWJraXRkaXJzLnBt
CisrKyBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0ZGlycy5wbQpAQCAtMjI2OCw5ICsyMjY4LDEyIEBA
IHN1YiBnZW5lcmF0ZUJ1aWxkU3lzdGVtRnJvbUNNYWtlUHJvamVjdAogICAgIHB1c2ggQGFyZ3Ms
ICciJyAuICRjbWFrZVNvdXJjZURpciAuICciJzsKIAogICAgICMgQ29tcGlsZXIgb3B0aW9ucyB0
byBrZWVwIGZsb2F0aW5nIHBvaW50IHZhbHVlcyBjb25zaXN0ZW50Ci0gICAgIyBiZXR3ZWVuIDMy
LWJpdCBhbmQgNjQtYml0IGFyY2hpdGVjdHVyZXMuCisgICAgIyBiZXR3ZWVuIDMyLWJpdCBhbmQg
NjQtYml0IGFyY2hpdGVjdHVyZXMuIFRoaXMgbWFrZXMgdXMgdXNlIFNTRQorICAgICMgd2hlbiBv
dXIgYXJjaGl0ZWN0dXJlIGlzIDMyLWJpdCAoJ2k2ODYnKSBvciB3aGVuIGl0J3Mgbm90IGJ1dAor
ICAgICMgdGhlIHVzZXIgaGFzIHJlcXVlc3RlZCBhIDMyLWJpdCBidWlsZC4KICAgICBkZXRlcm1p
bmVBcmNoaXRlY3R1cmUoKTsKLSAgICBpZiAoJGFyY2hpdGVjdHVyZSBlcSAiaTY4NiIgJiYgIWlz
Q3Jvc3NDb21waWxhdGlvbigpICYmICFpc0FueVdpbmRvd3MoKSkgeworICAgIGlmICgoJGFyY2hp
dGVjdHVyZSBlcSAiaTY4NiIgfHwgKCRhcmNoaXRlY3R1cmUgZXEgIng4Nl82NCIgJiYgc2hvdWxk
QnVpbGQzMkJpdCgpKSkgJiYgIWlzQ3Jvc3NDb21waWxhdGlvbigpICYmICFpc0FueVdpbmRvd3Mo
KSkgeworICAgICAgICAkRU5WeydDRkxBR1MnfSA9ICItbWFyY2g9cGVudGl1bTQgLW1zc2UyIC1t
ZnBtYXRoPXNzZSAiIC4gKCRFTlZ7J0NGTEFHUyd9IHx8ICIiKTsKICAgICAgICAgJEVOVnsnQ1hY
RkxBR1MnfSA9ICItbWFyY2g9cGVudGl1bTQgLW1zc2UyIC1tZnBtYXRoPXNzZSAiIC4gKCRFTlZ7
J0NYWEZMQUdTJ30gfHwgIiIpOwogICAgIH0KIAotLSAKMi4yMC4xCgo=
</data>
<flag name="review"
          id="379112"
          type_id="1"
          status="+"
          setter="keith_miller"
    />
    <flag name="commit-queue"
          id="379113"
          type_id="3"
          status="-"
          setter="keith_miller"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>365539</attachid>
            <date>2019-03-21 05:44:09 -0700</date>
            <delta_ts>2019-03-21 09:29:37 -0700</delta_ts>
            <desc>Drop x87 support</desc>
            <filename>drop-x87.diff</filename>
            <type>text/plain</type>
            <size>45096</size>
            <attacher name="Xan Lopez">xan.lopez</attacher>
            
              <data encoding="base64">RnJvbSBhOTY4OTA0MGVlMzk0NDk5NzYxN2NiOWI2NTI1NGRjMjAzODk3MTRlIE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiA9P1VURi04P3E/WGFuPTIwTD1DMz1CM3Blej89IDx4YW5AaWdh
bGlhLmNvbT4KRGF0ZTogV2VkLCAyMCBGZWIgMjAxOSAxMTo1MjoxMCArMDEwMApTdWJqZWN0OiBb
UEFUQ0hdIFtKU0NdW3g4Nl0gRHJvcCBzdXBwb3J0IGZvciB4ODcgZmxvYXRpbmcgcG9pbnQKIGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xOTQ4NTMKClJldmlld2VkIGJ5
IE5PQk9EWSAoT09QUyEpLgoKU291cmNlL0phdmFTY3JpcHRDb3JlOgoKUmVxdWlyZSBTU0UyIHRo
cm91Z2hvdXQgdGhlIGNvZGViYXNlLCBhbmQgcmVtb3ZlIHg4NyBzdXBwb3J0IHdoZXJlCml0IHdh
cyBvcHRpb25hbGx5IGF2YWlsYWJsZS4gU1NFMiBkZXRlY3Rpb24gaGFwcGVucyBhdCBjb21waWxl
CnRpbWUgdGhyb3VnaCBhIHN0YXRpY19hc3NlcnQuCgoqIGFzc2VtYmxlci9NYWNyb0Fzc2VtYmxl
clg4Ni5oOgooSlNDOjpNYWNyb0Fzc2VtYmxlclg4Njo6c3RvcmVEb3VibGUpOgooSlNDOjpNYWNy
b0Fzc2VtYmxlclg4Njo6bW92ZURvdWJsZVRvSW50cyk6CihKU0M6Ok1hY3JvQXNzZW1ibGVyWDg2
OjpzdXBwb3J0c0Zsb2F0aW5nUG9pbnQpOgooSlNDOjpNYWNyb0Fzc2VtYmxlclg4Njo6c3VwcG9y
dHNGbG9hdGluZ1BvaW50VHJ1bmNhdGUpOgooSlNDOjpNYWNyb0Fzc2VtYmxlclg4Njo6c3VwcG9y
dHNGbG9hdGluZ1BvaW50U3FydCk6CihKU0M6Ok1hY3JvQXNzZW1ibGVyWDg2OjpzdXBwb3J0c0Zs
b2F0aW5nUG9pbnRBYnMpOgoqIGFzc2VtYmxlci9NYWNyb0Fzc2VtYmxlclg4NkNvbW1vbi5jcHA6
CiogYXNzZW1ibGVyL01hY3JvQXNzZW1ibGVyWDg2Q29tbW9uLmg6CihKU0M6Ok1hY3JvQXNzZW1i
bGVyWDg2Q29tbW9uOjptb3ZlRG91YmxlKToKKEpTQzo6TWFjcm9Bc3NlbWJsZXJYODZDb21tb246
OmxvYWREb3VibGUpOgooSlNDOjpNYWNyb0Fzc2VtYmxlclg4NkNvbW1vbjo6bG9hZEZsb2F0KToK
KEpTQzo6TWFjcm9Bc3NlbWJsZXJYODZDb21tb246OnN0b3JlRG91YmxlKToKKEpTQzo6TWFjcm9B
c3NlbWJsZXJYODZDb21tb246OnN0b3JlRmxvYXQpOgooSlNDOjpNYWNyb0Fzc2VtYmxlclg4NkNv
bW1vbjo6Y29udmVydERvdWJsZVRvRmxvYXQpOgooSlNDOjpNYWNyb0Fzc2VtYmxlclg4NkNvbW1v
bjo6Y29udmVydEZsb2F0VG9Eb3VibGUpOgooSlNDOjpNYWNyb0Fzc2VtYmxlclg4NkNvbW1vbjo6
YWRkRG91YmxlKToKKEpTQzo6TWFjcm9Bc3NlbWJsZXJYODZDb21tb246OmFkZEZsb2F0KToKKEpT
Qzo6TWFjcm9Bc3NlbWJsZXJYODZDb21tb246OmRpdkRvdWJsZSk6CihKU0M6Ok1hY3JvQXNzZW1i
bGVyWDg2Q29tbW9uOjpkaXZGbG9hdCk6CihKU0M6Ok1hY3JvQXNzZW1ibGVyWDg2Q29tbW9uOjpz
dWJEb3VibGUpOgooSlNDOjpNYWNyb0Fzc2VtYmxlclg4NkNvbW1vbjo6c3ViRmxvYXQpOgooSlND
OjpNYWNyb0Fzc2VtYmxlclg4NkNvbW1vbjo6bXVsRG91YmxlKToKKEpTQzo6TWFjcm9Bc3NlbWJs
ZXJYODZDb21tb246Om11bEZsb2F0KToKKEpTQzo6TWFjcm9Bc3NlbWJsZXJYODZDb21tb246OmNv
bnZlcnRJbnQzMlRvRG91YmxlKToKKEpTQzo6TWFjcm9Bc3NlbWJsZXJYODZDb21tb246OmNvbnZl
cnRJbnQzMlRvRmxvYXQpOgooSlNDOjpNYWNyb0Fzc2VtYmxlclg4NkNvbW1vbjo6YnJhbmNoRG91
YmxlKToKKEpTQzo6TWFjcm9Bc3NlbWJsZXJYODZDb21tb246OmJyYW5jaEZsb2F0KToKKEpTQzo6
TWFjcm9Bc3NlbWJsZXJYODZDb21tb246OmNvbXBhcmVEb3VibGUpOgooSlNDOjpNYWNyb0Fzc2Vt
Ymxlclg4NkNvbW1vbjo6Y29tcGFyZUZsb2F0KToKKEpTQzo6TWFjcm9Bc3NlbWJsZXJYODZDb21t
b246OmJyYW5jaFRydW5jYXRlRG91YmxlVG9JbnQzMik6CihKU0M6Ok1hY3JvQXNzZW1ibGVyWDg2
Q29tbW9uOjp0cnVuY2F0ZURvdWJsZVRvSW50MzIpOgooSlNDOjpNYWNyb0Fzc2VtYmxlclg4NkNv
bW1vbjo6dHJ1bmNhdGVGbG9hdFRvSW50MzIpOgooSlNDOjpNYWNyb0Fzc2VtYmxlclg4NkNvbW1v
bjo6YnJhbmNoQ29udmVydERvdWJsZVRvSW50MzIpOgooSlNDOjpNYWNyb0Fzc2VtYmxlclg4NkNv
bW1vbjo6YnJhbmNoRG91YmxlTm9uWmVybyk6CihKU0M6Ok1hY3JvQXNzZW1ibGVyWDg2Q29tbW9u
OjpicmFuY2hEb3VibGVaZXJvT3JOYU4pOgooSlNDOjpNYWNyb0Fzc2VtYmxlclg4NkNvbW1vbjo6
bHNoaWZ0UGFja2VkKToKKEpTQzo6TWFjcm9Bc3NlbWJsZXJYODZDb21tb246OnJzaGlmdFBhY2tl
ZCk6CihKU0M6Ok1hY3JvQXNzZW1ibGVyWDg2Q29tbW9uOjpvclBhY2tlZCk6CihKU0M6Ok1hY3Jv
QXNzZW1ibGVyWDg2Q29tbW9uOjptb3ZlMzJUb0Zsb2F0KToKKEpTQzo6TWFjcm9Bc3NlbWJsZXJY
ODZDb21tb246Om1vdmVGbG9hdFRvMzIpOgooSlNDOjpNYWNyb0Fzc2VtYmxlclg4NkNvbW1vbjo6
bW92ZUNvbmRpdGlvbmFsbHlEb3VibGUpOgooSlNDOjpNYWNyb0Fzc2VtYmxlclg4NkNvbW1vbjo6
bW92ZUNvbmRpdGlvbmFsbHlGbG9hdCk6Ciogb2ZmbGluZWFzbS94ODYucmI6CiogcnVudGltZS9N
YXRoQ29tbW9uLmNwcDoKKEpTQzo6b3BlcmF0aW9uTWF0aFBvdyk6CgpUb29sczoKCkZvcmNlIFNT
RTIgb24geDg2LzMyYml0IGJ1aWxkcy4KCiogU2NyaXB0cy93ZWJraXRkaXJzLnBtOgooZ2VuZXJh
dGVCdWlsZFN5c3RlbUZyb21DTWFrZVByb2plY3QpOgotLS0KIFNvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9DaGFuZ2VMb2cgICAgICAgICAgICAgICB8ICA1OCArKysrCiAuLi4vYXNzZW1ibGVyL01hY3Jv
QXNzZW1ibGVyWDg2LmggICAgICAgICAgICAgfCAgMTAgKy0KIC4uLi9hc3NlbWJsZXIvTWFjcm9B
c3NlbWJsZXJYODZDb21tb24uY3BwICAgICB8ICAgNSArCiAuLi4vYXNzZW1ibGVyL01hY3JvQXNz
ZW1ibGVyWDg2Q29tbW9uLmggICAgICAgfCAgNjcgLS0tLQogU291cmNlL0phdmFTY3JpcHRDb3Jl
L29mZmxpbmVhc20veDg2LnJiICAgICAgIHwgMzAxICsrKy0tLS0tLS0tLS0tLS0tLQogU291cmNl
L0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvTWF0aENvbW1vbi5jcHAgIHwgIDE2ICstCiBUb29scy9D
aGFuZ2VMb2cgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgMTIgKwogVG9vbHMvU2Ny
aXB0cy93ZWJraXRkaXJzLnBtICAgICAgICAgICAgICAgICAgIHwgICA0ICstCiA4IGZpbGVzIGNo
YW5nZWQsIDEyOCBpbnNlcnRpb25zKCspLCAzNDUgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEv
U291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9D
aGFuZ2VMb2cKaW5kZXggNTM5MTc1N2UwNjkuLjBkMTYxZjRiYjFhIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9D
aGFuZ2VMb2cKQEAgLTEsMyArMSw2MSBAQAorMjAxOS0wMi0yMCAgWGFuIExvcGV6ICA8eGFuQGln
YWxpYS5jb20+CisKKyAgICAgICAgW0pTQ11beDg2XSBEcm9wIHN1cHBvcnQgZm9yIHg4NyBmbG9h
dGluZyBwb2ludAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9MTk0ODUzCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAg
ICAgUmVxdWlyZSBTU0UyIHRocm91Z2hvdXQgdGhlIGNvZGViYXNlLCBhbmQgcmVtb3ZlIHg4NyBz
dXBwb3J0IHdoZXJlCisgICAgICAgIGl0IHdhcyBvcHRpb25hbGx5IGF2YWlsYWJsZS4gU1NFMiBk
ZXRlY3Rpb24gaGFwcGVucyBhdCBjb21waWxlCisgICAgICAgIHRpbWUgdGhyb3VnaCBhIHN0YXRp
Y19hc3NlcnQuCisKKyAgICAgICAgKiBhc3NlbWJsZXIvTWFjcm9Bc3NlbWJsZXJYODYuaDoKKyAg
ICAgICAgKEpTQzo6TWFjcm9Bc3NlbWJsZXJYODY6OnN0b3JlRG91YmxlKToKKyAgICAgICAgKEpT
Qzo6TWFjcm9Bc3NlbWJsZXJYODY6Om1vdmVEb3VibGVUb0ludHMpOgorICAgICAgICAoSlNDOjpN
YWNyb0Fzc2VtYmxlclg4Njo6c3VwcG9ydHNGbG9hdGluZ1BvaW50KToKKyAgICAgICAgKEpTQzo6
TWFjcm9Bc3NlbWJsZXJYODY6OnN1cHBvcnRzRmxvYXRpbmdQb2ludFRydW5jYXRlKToKKyAgICAg
ICAgKEpTQzo6TWFjcm9Bc3NlbWJsZXJYODY6OnN1cHBvcnRzRmxvYXRpbmdQb2ludFNxcnQpOgor
ICAgICAgICAoSlNDOjpNYWNyb0Fzc2VtYmxlclg4Njo6c3VwcG9ydHNGbG9hdGluZ1BvaW50QWJz
KToKKyAgICAgICAgKiBhc3NlbWJsZXIvTWFjcm9Bc3NlbWJsZXJYODZDb21tb24uY3BwOgorICAg
ICAgICAqIGFzc2VtYmxlci9NYWNyb0Fzc2VtYmxlclg4NkNvbW1vbi5oOgorICAgICAgICAoSlND
OjpNYWNyb0Fzc2VtYmxlclg4NkNvbW1vbjo6bW92ZURvdWJsZSk6CisgICAgICAgIChKU0M6Ok1h
Y3JvQXNzZW1ibGVyWDg2Q29tbW9uOjpsb2FkRG91YmxlKToKKyAgICAgICAgKEpTQzo6TWFjcm9B
c3NlbWJsZXJYODZDb21tb246OmxvYWRGbG9hdCk6CisgICAgICAgIChKU0M6Ok1hY3JvQXNzZW1i
bGVyWDg2Q29tbW9uOjpzdG9yZURvdWJsZSk6CisgICAgICAgIChKU0M6Ok1hY3JvQXNzZW1ibGVy
WDg2Q29tbW9uOjpzdG9yZUZsb2F0KToKKyAgICAgICAgKEpTQzo6TWFjcm9Bc3NlbWJsZXJYODZD
b21tb246OmNvbnZlcnREb3VibGVUb0Zsb2F0KToKKyAgICAgICAgKEpTQzo6TWFjcm9Bc3NlbWJs
ZXJYODZDb21tb246OmNvbnZlcnRGbG9hdFRvRG91YmxlKToKKyAgICAgICAgKEpTQzo6TWFjcm9B
c3NlbWJsZXJYODZDb21tb246OmFkZERvdWJsZSk6CisgICAgICAgIChKU0M6Ok1hY3JvQXNzZW1i
bGVyWDg2Q29tbW9uOjphZGRGbG9hdCk6CisgICAgICAgIChKU0M6Ok1hY3JvQXNzZW1ibGVyWDg2
Q29tbW9uOjpkaXZEb3VibGUpOgorICAgICAgICAoSlNDOjpNYWNyb0Fzc2VtYmxlclg4NkNvbW1v
bjo6ZGl2RmxvYXQpOgorICAgICAgICAoSlNDOjpNYWNyb0Fzc2VtYmxlclg4NkNvbW1vbjo6c3Vi
RG91YmxlKToKKyAgICAgICAgKEpTQzo6TWFjcm9Bc3NlbWJsZXJYODZDb21tb246OnN1YkZsb2F0
KToKKyAgICAgICAgKEpTQzo6TWFjcm9Bc3NlbWJsZXJYODZDb21tb246Om11bERvdWJsZSk6Cisg
ICAgICAgIChKU0M6Ok1hY3JvQXNzZW1ibGVyWDg2Q29tbW9uOjptdWxGbG9hdCk6CisgICAgICAg
IChKU0M6Ok1hY3JvQXNzZW1ibGVyWDg2Q29tbW9uOjpjb252ZXJ0SW50MzJUb0RvdWJsZSk6Cisg
ICAgICAgIChKU0M6Ok1hY3JvQXNzZW1ibGVyWDg2Q29tbW9uOjpjb252ZXJ0SW50MzJUb0Zsb2F0
KToKKyAgICAgICAgKEpTQzo6TWFjcm9Bc3NlbWJsZXJYODZDb21tb246OmJyYW5jaERvdWJsZSk6
CisgICAgICAgIChKU0M6Ok1hY3JvQXNzZW1ibGVyWDg2Q29tbW9uOjpicmFuY2hGbG9hdCk6Cisg
ICAgICAgIChKU0M6Ok1hY3JvQXNzZW1ibGVyWDg2Q29tbW9uOjpjb21wYXJlRG91YmxlKToKKyAg
ICAgICAgKEpTQzo6TWFjcm9Bc3NlbWJsZXJYODZDb21tb246OmNvbXBhcmVGbG9hdCk6CisgICAg
ICAgIChKU0M6Ok1hY3JvQXNzZW1ibGVyWDg2Q29tbW9uOjpicmFuY2hUcnVuY2F0ZURvdWJsZVRv
SW50MzIpOgorICAgICAgICAoSlNDOjpNYWNyb0Fzc2VtYmxlclg4NkNvbW1vbjo6dHJ1bmNhdGVE
b3VibGVUb0ludDMyKToKKyAgICAgICAgKEpTQzo6TWFjcm9Bc3NlbWJsZXJYODZDb21tb246OnRy
dW5jYXRlRmxvYXRUb0ludDMyKToKKyAgICAgICAgKEpTQzo6TWFjcm9Bc3NlbWJsZXJYODZDb21t
b246OmJyYW5jaENvbnZlcnREb3VibGVUb0ludDMyKToKKyAgICAgICAgKEpTQzo6TWFjcm9Bc3Nl
bWJsZXJYODZDb21tb246OmJyYW5jaERvdWJsZU5vblplcm8pOgorICAgICAgICAoSlNDOjpNYWNy
b0Fzc2VtYmxlclg4NkNvbW1vbjo6YnJhbmNoRG91YmxlWmVyb09yTmFOKToKKyAgICAgICAgKEpT
Qzo6TWFjcm9Bc3NlbWJsZXJYODZDb21tb246OmxzaGlmdFBhY2tlZCk6CisgICAgICAgIChKU0M6
Ok1hY3JvQXNzZW1ibGVyWDg2Q29tbW9uOjpyc2hpZnRQYWNrZWQpOgorICAgICAgICAoSlNDOjpN
YWNyb0Fzc2VtYmxlclg4NkNvbW1vbjo6b3JQYWNrZWQpOgorICAgICAgICAoSlNDOjpNYWNyb0Fz
c2VtYmxlclg4NkNvbW1vbjo6bW92ZTMyVG9GbG9hdCk6CisgICAgICAgIChKU0M6Ok1hY3JvQXNz
ZW1ibGVyWDg2Q29tbW9uOjptb3ZlRmxvYXRUbzMyKToKKyAgICAgICAgKEpTQzo6TWFjcm9Bc3Nl
bWJsZXJYODZDb21tb246Om1vdmVDb25kaXRpb25hbGx5RG91YmxlKToKKyAgICAgICAgKEpTQzo6
TWFjcm9Bc3NlbWJsZXJYODZDb21tb246Om1vdmVDb25kaXRpb25hbGx5RmxvYXQpOgorICAgICAg
ICAqIG9mZmxpbmVhc20veDg2LnJiOgorICAgICAgICAqIHJ1bnRpbWUvTWF0aENvbW1vbi5jcHA6
CisgICAgICAgIChKU0M6Om9wZXJhdGlvbk1hdGhQb3cpOgorCiAyMDE5LTAzLTIxICBQYWJsbyBT
YWF2ZWRyYSAgPHBzYWF2ZWRyYUBpZ2FsaWEuY29tPgogCiAgICAgICAgIFtKU0NdWzMyLWJpdF0g
QnVpbGQgZmFpbHVyZSBhZnRlciByMjQzMjMyCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvYXNzZW1ibGVyL01hY3JvQXNzZW1ibGVyWDg2LmggYi9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvYXNzZW1ibGVyL01hY3JvQXNzZW1ibGVyWDg2LmgKaW5kZXggNzJkZWY3MmM2YjQuLmU0YmFj
ZWRkOGJiIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYXNzZW1ibGVyL01hY3Jv
QXNzZW1ibGVyWDg2LmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2Fzc2VtYmxlci9NYWNy
b0Fzc2VtYmxlclg4Ni5oCkBAIC0xNDAsNyArMTQwLDYgQEAgcHVibGljOgogCiAgICAgdm9pZCBz
dG9yZURvdWJsZShGUFJlZ2lzdGVySUQgc3JjLCBUcnVzdGVkSW1tUHRyIGFkZHJlc3MpCiAgICAg
ewotICAgICAgICBBU1NFUlQoaXNTU0UyUHJlc2VudCgpKTsKICAgICAgICAgQVNTRVJUKGFkZHJl
c3MubV92YWx1ZSk7CiAgICAgICAgIG1fYXNzZW1ibGVyLm1vdnNkX3JtKHNyYywgYWRkcmVzcy5h
c1B0cigpKTsKICAgICB9CkBAIC0xNzMsNyArMTcyLDYgQEAgcHVibGljOgogICAgIAogICAgIHZv
aWQgbW92ZURvdWJsZVRvSW50cyhGUFJlZ2lzdGVySUQgc3JjLCBSZWdpc3RlcklEIGRlc3QxLCBS
ZWdpc3RlcklEIGRlc3QyKQogICAgIHsKLSAgICAgICAgQVNTRVJUKGlzU1NFMlByZXNlbnQoKSk7
CiAgICAgICAgIG1fYXNzZW1ibGVyLnBleHRyd19pcnIoMywgc3JjLCBkZXN0MSk7CiAgICAgICAg
IG1fYXNzZW1ibGVyLnBleHRyd19pcnIoMiwgc3JjLCBkZXN0Mik7CiAgICAgICAgIGxzaGlmdDMy
KFRydXN0ZWRJbW0zMigxNiksIGRlc3QxKTsKQEAgLTI5NCwxMCArMjkyLDEwIEBAIHB1YmxpYzoK
ICAgICAgICAgcmV0dXJuIERhdGFMYWJlbFB0cih0aGlzKTsKICAgICB9CiAKLSAgICBzdGF0aWMg
Ym9vbCBzdXBwb3J0c0Zsb2F0aW5nUG9pbnQoKSB7IHJldHVybiBpc1NTRTJQcmVzZW50KCk7IH0K
LSAgICBzdGF0aWMgYm9vbCBzdXBwb3J0c0Zsb2F0aW5nUG9pbnRUcnVuY2F0ZSgpIHsgcmV0dXJu
IGlzU1NFMlByZXNlbnQoKTsgfQotICAgIHN0YXRpYyBib29sIHN1cHBvcnRzRmxvYXRpbmdQb2lu
dFNxcnQoKSB7IHJldHVybiBpc1NTRTJQcmVzZW50KCk7IH0KLSAgICBzdGF0aWMgYm9vbCBzdXBw
b3J0c0Zsb2F0aW5nUG9pbnRBYnMoKSB7IHJldHVybiBpc1NTRTJQcmVzZW50KCk7IH0KKyAgICBz
dGF0aWMgYm9vbCBzdXBwb3J0c0Zsb2F0aW5nUG9pbnQoKSB7IHJldHVybiB0cnVlOyB9CisgICAg
c3RhdGljIGJvb2wgc3VwcG9ydHNGbG9hdGluZ1BvaW50VHJ1bmNhdGUoKSB7IHJldHVybiB0cnVl
OyB9CisgICAgc3RhdGljIGJvb2wgc3VwcG9ydHNGbG9hdGluZ1BvaW50U3FydCgpIHsgcmV0dXJu
IHRydWU7IH0KKyAgICBzdGF0aWMgYm9vbCBzdXBwb3J0c0Zsb2F0aW5nUG9pbnRBYnMoKSB7IHJl
dHVybiB0cnVlOyB9CiAKICAgICB0ZW1wbGF0ZTxQdHJUYWcgcmVzdWx0VGFnLCBQdHJUYWcgbG9j
YXRpb25UYWc+CiAgICAgc3RhdGljIEZ1bmN0aW9uUHRyPHJlc3VsdFRhZz4gcmVhZENhbGxUYXJn
ZXQoQ29kZUxvY2F0aW9uQ2FsbDxsb2NhdGlvblRhZz4gY2FsbCkKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9hc3NlbWJsZXIvTWFjcm9Bc3NlbWJsZXJYODZDb21tb24uY3BwIGIv
U291cmNlL0phdmFTY3JpcHRDb3JlL2Fzc2VtYmxlci9NYWNyb0Fzc2VtYmxlclg4NkNvbW1vbi5j
cHAKaW5kZXggOGIxNDhjZjU5ZTUuLjMxNzUzNTg5ZGY3IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvYXNzZW1ibGVyL01hY3JvQXNzZW1ibGVyWDg2Q29tbW9uLmNwcAorKysgYi9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvYXNzZW1ibGVyL01hY3JvQXNzZW1ibGVyWDg2Q29tbW9uLmNw
cApAQCAtMTY4LDYgKzE2OCwxMSBAQCBzdGF0aWNfYXNzZXJ0KFBST0JFX09GRlNFVE9GX1JFRyhj
cHUuZnBycywgWDg2UmVnaXN0ZXJzOjp4bW0xNSkgPT0gUFJPQkVfQ1BVX1hNTQogc3RhdGljX2Fz
c2VydChzaXplb2YoUHJvYmU6OlN0YXRlKSA9PSBQUk9CRV9TSVpFLCAiUHJvYmU6OlN0YXRlOjpz
aXplJ3MgbWF0Y2hlcyBjdGlNYXNtUHJvYmVUcmFtcG9saW5lIik7CiBzdGF0aWNfYXNzZXJ0KChQ
Uk9CRV9FWEVDVVRPUl9PRkZTRVQgKyBQVFJfU0laRSkgPD0gKFBST0JFX1NJWkUgKyBPVVRfU0la
RSksICJNdXN0IGhhdmUgcm9vbSBhZnRlciBQcm9iZUNvbnRleHQgdG8gc3Rhc2ggdGhlIHByb2Jl
IGhhbmRsZXIiKTsKIAorI2lmIENQVShYODYpCisvLyBTU0UyIGlzIGEgaGFyZCByZXF1aXJlbWVu
dCBvbiB4ODYuCitzdGF0aWNfYXNzZXJ0KGlzU1NFMlByZXNlbnQoKSwgIlNTRTIgc3VwcG9ydCBp
cyByZXF1aXJlZCBpbiBKYXZhU2NyaXB0Q29yZSIpOworI2VuZGlmCisKICN1bmRlZiBQUk9CRV9P
RkZTRVRPRgogCiAjaWYgQ1BVKFg4NikKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9hc3NlbWJsZXIvTWFjcm9Bc3NlbWJsZXJYODZDb21tb24uaCBiL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9hc3NlbWJsZXIvTWFjcm9Bc3NlbWJsZXJYODZDb21tb24uaAppbmRleCA4ZmU5ZWE3ZGQx
My4uMDk3YmNiMGJiODYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9hc3NlbWJs
ZXIvTWFjcm9Bc3NlbWJsZXJYODZDb21tb24uaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
YXNzZW1ibGVyL01hY3JvQXNzZW1ibGVyWDg2Q29tbW9uLmgKQEAgLTE0NTEsMTEgKzE0NTEsOCBA
QCBwdWJsaWM6CiAKICAgICAvLyBGbG9hdGluZy1wb2ludCBvcGVyYXRpb246CiAgICAgLy8KLSAg
ICAvLyBQcmVzZW50bHkgb25seSBzdXBwb3J0cyBTU0UsIG5vdCB4ODcgZmxvYXRpbmcgcG9pbnQu
Ci0KICAgICB2b2lkIG1vdmVEb3VibGUoRlBSZWdpc3RlcklEIHNyYywgRlBSZWdpc3RlcklEIGRl
c3QpCiAgICAgewotICAgICAgICBBU1NFUlQoaXNTU0UyUHJlc2VudCgpKTsKICAgICAgICAgaWYg
KHNyYyAhPSBkZXN0KQogICAgICAgICAgICAgbV9hc3NlbWJsZXIubW92YXBzX3JyKHNyYywgZGVz
dCk7CiAgICAgfQpAQCAtMTQ2Myw3ICsxNDYwLDYgQEAgcHVibGljOgogICAgIHZvaWQgbG9hZERv
dWJsZShUcnVzdGVkSW1tUHRyIGFkZHJlc3MsIEZQUmVnaXN0ZXJJRCBkZXN0KQogICAgIHsKICNp
ZiBDUFUoWDg2KQotICAgICAgICBBU1NFUlQoaXNTU0UyUHJlc2VudCgpKTsKICAgICAgICAgbV9h
c3NlbWJsZXIubW92c2RfbXIoYWRkcmVzcy5hc1B0cigpLCBkZXN0KTsKICNlbHNlCiAgICAgICAg
IG1vdmUoYWRkcmVzcywgc2NyYXRjaFJlZ2lzdGVyKCkpOwpAQCAtMTQ3MywyMCArMTQ2OSwxNyBA
QCBwdWJsaWM6CiAKICAgICB2b2lkIGxvYWREb3VibGUoSW1wbGljaXRBZGRyZXNzIGFkZHJlc3Ms
IEZQUmVnaXN0ZXJJRCBkZXN0KQogICAgIHsKLSAgICAgICAgQVNTRVJUKGlzU1NFMlByZXNlbnQo
KSk7CiAgICAgICAgIG1fYXNzZW1ibGVyLm1vdnNkX21yKGFkZHJlc3Mub2Zmc2V0LCBhZGRyZXNz
LmJhc2UsIGRlc3QpOwogICAgIH0KIAogICAgIHZvaWQgbG9hZERvdWJsZShCYXNlSW5kZXggYWRk
cmVzcywgRlBSZWdpc3RlcklEIGRlc3QpCiAgICAgewotICAgICAgICBBU1NFUlQoaXNTU0UyUHJl
c2VudCgpKTsKICAgICAgICAgbV9hc3NlbWJsZXIubW92c2RfbXIoYWRkcmVzcy5vZmZzZXQsIGFk
ZHJlc3MuYmFzZSwgYWRkcmVzcy5pbmRleCwgYWRkcmVzcy5zY2FsZSwgZGVzdCk7CiAgICAgfQog
CiAgICAgdm9pZCBsb2FkRmxvYXQoVHJ1c3RlZEltbVB0ciBhZGRyZXNzLCBGUFJlZ2lzdGVySUQg
ZGVzdCkKICAgICB7CiAjaWYgQ1BVKFg4NikKLSAgICAgICAgQVNTRVJUKGlzU1NFMlByZXNlbnQo
KSk7CiAgICAgICAgIG1fYXNzZW1ibGVyLm1vdnNzX21yKGFkZHJlc3MuYXNQdHIoKSwgZGVzdCk7
CiAjZWxzZQogICAgICAgICBtb3ZlKGFkZHJlc3MsIHNjcmF0Y2hSZWdpc3RlcigpKTsKQEAgLTE0
OTYsNjEgKzE0ODksNTEgQEAgcHVibGljOgogCiAgICAgdm9pZCBsb2FkRmxvYXQoSW1wbGljaXRB
ZGRyZXNzIGFkZHJlc3MsIEZQUmVnaXN0ZXJJRCBkZXN0KQogICAgIHsKLSAgICAgICAgQVNTRVJU
KGlzU1NFMlByZXNlbnQoKSk7CiAgICAgICAgIG1fYXNzZW1ibGVyLm1vdnNzX21yKGFkZHJlc3Mu
b2Zmc2V0LCBhZGRyZXNzLmJhc2UsIGRlc3QpOwogICAgIH0KIAogICAgIHZvaWQgbG9hZEZsb2F0
KEJhc2VJbmRleCBhZGRyZXNzLCBGUFJlZ2lzdGVySUQgZGVzdCkKICAgICB7Ci0gICAgICAgIEFT
U0VSVChpc1NTRTJQcmVzZW50KCkpOwogICAgICAgICBtX2Fzc2VtYmxlci5tb3Zzc19tcihhZGRy
ZXNzLm9mZnNldCwgYWRkcmVzcy5iYXNlLCBhZGRyZXNzLmluZGV4LCBhZGRyZXNzLnNjYWxlLCBk
ZXN0KTsKICAgICB9CiAKICAgICB2b2lkIHN0b3JlRG91YmxlKEZQUmVnaXN0ZXJJRCBzcmMsIElt
cGxpY2l0QWRkcmVzcyBhZGRyZXNzKQogICAgIHsKLSAgICAgICAgQVNTRVJUKGlzU1NFMlByZXNl
bnQoKSk7CiAgICAgICAgIG1fYXNzZW1ibGVyLm1vdnNkX3JtKHNyYywgYWRkcmVzcy5vZmZzZXQs
IGFkZHJlc3MuYmFzZSk7CiAgICAgfQogICAgIAogICAgIHZvaWQgc3RvcmVEb3VibGUoRlBSZWdp
c3RlcklEIHNyYywgQmFzZUluZGV4IGFkZHJlc3MpCiAgICAgewotICAgICAgICBBU1NFUlQoaXNT
U0UyUHJlc2VudCgpKTsKICAgICAgICAgbV9hc3NlbWJsZXIubW92c2Rfcm0oc3JjLCBhZGRyZXNz
Lm9mZnNldCwgYWRkcmVzcy5iYXNlLCBhZGRyZXNzLmluZGV4LCBhZGRyZXNzLnNjYWxlKTsKICAg
ICB9CiAKICAgICB2b2lkIHN0b3JlRmxvYXQoRlBSZWdpc3RlcklEIHNyYywgSW1wbGljaXRBZGRy
ZXNzIGFkZHJlc3MpCiAgICAgewotICAgICAgICBBU1NFUlQoaXNTU0UyUHJlc2VudCgpKTsKICAg
ICAgICAgbV9hc3NlbWJsZXIubW92c3Nfcm0oc3JjLCBhZGRyZXNzLm9mZnNldCwgYWRkcmVzcy5i
YXNlKTsKICAgICB9CiAKICAgICB2b2lkIHN0b3JlRmxvYXQoRlBSZWdpc3RlcklEIHNyYywgQmFz
ZUluZGV4IGFkZHJlc3MpCiAgICAgewotICAgICAgICBBU1NFUlQoaXNTU0UyUHJlc2VudCgpKTsK
ICAgICAgICAgbV9hc3NlbWJsZXIubW92c3Nfcm0oc3JjLCBhZGRyZXNzLm9mZnNldCwgYWRkcmVz
cy5iYXNlLCBhZGRyZXNzLmluZGV4LCBhZGRyZXNzLnNjYWxlKTsKICAgICB9CiAgICAgCiAgICAg
dm9pZCBjb252ZXJ0RG91YmxlVG9GbG9hdChGUFJlZ2lzdGVySUQgc3JjLCBGUFJlZ2lzdGVySUQg
ZHN0KQogICAgIHsKLSAgICAgICAgQVNTRVJUKGlzU1NFMlByZXNlbnQoKSk7CiAgICAgICAgIG1f
YXNzZW1ibGVyLmN2dHNkMnNzX3JyKHNyYywgZHN0KTsKICAgICB9CiAKICAgICB2b2lkIGNvbnZl
cnREb3VibGVUb0Zsb2F0KEFkZHJlc3MgYWRkcmVzcywgRlBSZWdpc3RlcklEIGRzdCkKICAgICB7
Ci0gICAgICAgIEFTU0VSVChpc1NTRTJQcmVzZW50KCkpOwogICAgICAgICBtX2Fzc2VtYmxlci5j
dnRzZDJzc19tcihhZGRyZXNzLm9mZnNldCwgYWRkcmVzcy5iYXNlLCBkc3QpOwogICAgIH0KIAog
ICAgIHZvaWQgY29udmVydEZsb2F0VG9Eb3VibGUoRlBSZWdpc3RlcklEIHNyYywgRlBSZWdpc3Rl
cklEIGRzdCkKICAgICB7Ci0gICAgICAgIEFTU0VSVChpc1NTRTJQcmVzZW50KCkpOwogICAgICAg
ICBtX2Fzc2VtYmxlci5jdnRzczJzZF9ycihzcmMsIGRzdCk7CiAgICAgfQogCiAgICAgdm9pZCBj
b252ZXJ0RmxvYXRUb0RvdWJsZShBZGRyZXNzIGFkZHJlc3MsIEZQUmVnaXN0ZXJJRCBkc3QpCiAg
ICAgewotICAgICAgICBBU1NFUlQoaXNTU0UyUHJlc2VudCgpKTsKICAgICAgICAgbV9hc3NlbWJs
ZXIuY3Z0c3Myc2RfbXIoYWRkcmVzcy5vZmZzZXQsIGFkZHJlc3MuYmFzZSwgZHN0KTsKICAgICB9
CiAKQEAgLTE1NjQsNyArMTU0Nyw2IEBAIHB1YmxpYzoKICAgICAgICAgaWYgKHN1cHBvcnRzQVZY
KCkpCiAgICAgICAgICAgICBtX2Fzc2VtYmxlci52YWRkc2RfcnIob3AxLCBvcDIsIGRlc3QpOwog
ICAgICAgICBlbHNlIHsKLSAgICAgICAgICAgIEFTU0VSVChpc1NTRTJQcmVzZW50KCkpOwogICAg
ICAgICAgICAgaWYgKG9wMSA9PSBkZXN0KQogICAgICAgICAgICAgICAgIG1fYXNzZW1ibGVyLmFk
ZHNkX3JyKG9wMiwgZGVzdCk7CiAgICAgICAgICAgICBlbHNlIHsKQEAgLTE1ODQsNyArMTU2Niw2
IEBAIHB1YmxpYzoKICAgICAgICAgaWYgKHN1cHBvcnRzQVZYKCkpCiAgICAgICAgICAgICBtX2Fz
c2VtYmxlci52YWRkc2RfbXIob3AxLm9mZnNldCwgb3AxLmJhc2UsIG9wMiwgZGVzdCk7CiAgICAg
ICAgIGVsc2UgewotICAgICAgICAgICAgQVNTRVJUKGlzU1NFMlByZXNlbnQoKSk7CiAgICAgICAg
ICAgICBpZiAob3AyID09IGRlc3QpIHsKICAgICAgICAgICAgICAgICBtX2Fzc2VtYmxlci5hZGRz
ZF9tcihvcDEub2Zmc2V0LCBvcDEuYmFzZSwgZGVzdCk7CiAgICAgICAgICAgICAgICAgcmV0dXJu
OwpAQCAtMTYwNSw3ICsxNTg2LDYgQEAgcHVibGljOgogICAgICAgICBpZiAoc3VwcG9ydHNBVlgo
KSkKICAgICAgICAgICAgIG1fYXNzZW1ibGVyLnZhZGRzZF9tcihvcDEub2Zmc2V0LCBvcDEuYmFz
ZSwgb3AxLmluZGV4LCBvcDEuc2NhbGUsIG9wMiwgZGVzdCk7CiAgICAgICAgIGVsc2UgewotICAg
ICAgICAgICAgQVNTRVJUKGlzU1NFMlByZXNlbnQoKSk7CiAgICAgICAgICAgICBpZiAob3AyID09
IGRlc3QpIHsKICAgICAgICAgICAgICAgICBtX2Fzc2VtYmxlci5hZGRzZF9tcihvcDEub2Zmc2V0
LCBvcDEuYmFzZSwgb3AxLmluZGV4LCBvcDEuc2NhbGUsIGRlc3QpOwogICAgICAgICAgICAgICAg
IHJldHVybjsKQEAgLTE2MzAsNyArMTYxMCw2IEBAIHB1YmxpYzoKICAgICAgICAgaWYgKHN1cHBv
cnRzQVZYKCkpCiAgICAgICAgICAgICBtX2Fzc2VtYmxlci52YWRkc3NfcnIob3AxLCBvcDIsIGRl
c3QpOwogICAgICAgICBlbHNlIHsKLSAgICAgICAgICAgIEFTU0VSVChpc1NTRTJQcmVzZW50KCkp
OwogICAgICAgICAgICAgaWYgKG9wMSA9PSBkZXN0KQogICAgICAgICAgICAgICAgIG1fYXNzZW1i
bGVyLmFkZHNzX3JyKG9wMiwgZGVzdCk7CiAgICAgICAgICAgICBlbHNlIHsKQEAgLTE2NDUsNyAr
MTYyNCw2IEBAIHB1YmxpYzoKICAgICAgICAgaWYgKHN1cHBvcnRzQVZYKCkpCiAgICAgICAgICAg
ICBtX2Fzc2VtYmxlci52YWRkc3NfbXIob3AxLm9mZnNldCwgb3AxLmJhc2UsIG9wMiwgZGVzdCk7
CiAgICAgICAgIGVsc2UgewotICAgICAgICAgICAgQVNTRVJUKGlzU1NFMlByZXNlbnQoKSk7CiAg
ICAgICAgICAgICBpZiAob3AyID09IGRlc3QpIHsKICAgICAgICAgICAgICAgICBtX2Fzc2VtYmxl
ci5hZGRzc19tcihvcDEub2Zmc2V0LCBvcDEuYmFzZSwgZGVzdCk7CiAgICAgICAgICAgICAgICAg
cmV0dXJuOwpAQCAtMTY2Niw3ICsxNjQ0LDYgQEAgcHVibGljOgogICAgICAgICBpZiAoc3VwcG9y
dHNBVlgoKSkKICAgICAgICAgICAgIG1fYXNzZW1ibGVyLnZhZGRzc19tcihvcDEub2Zmc2V0LCBv
cDEuYmFzZSwgb3AxLmluZGV4LCBvcDEuc2NhbGUsIG9wMiwgZGVzdCk7CiAgICAgICAgIGVsc2Ug
ewotICAgICAgICAgICAgQVNTRVJUKGlzU1NFMlByZXNlbnQoKSk7CiAgICAgICAgICAgICBpZiAo
b3AyID09IGRlc3QpIHsKICAgICAgICAgICAgICAgICBtX2Fzc2VtYmxlci5hZGRzc19tcihvcDEu
b2Zmc2V0LCBvcDEuYmFzZSwgb3AxLmluZGV4LCBvcDEuc2NhbGUsIGRlc3QpOwogICAgICAgICAg
ICAgICAgIHJldHVybjsKQEAgLTE2NzgsNyArMTY1NSw2IEBAIHB1YmxpYzoKIAogICAgIHZvaWQg
ZGl2RG91YmxlKEZQUmVnaXN0ZXJJRCBzcmMsIEZQUmVnaXN0ZXJJRCBkZXN0KQogICAgIHsKLSAg
ICAgICAgQVNTRVJUKGlzU1NFMlByZXNlbnQoKSk7CiAgICAgICAgIG1fYXNzZW1ibGVyLmRpdnNk
X3JyKHNyYywgZGVzdCk7CiAgICAgfQogCkBAIC0xNjkzLDE5ICsxNjY5LDE2IEBAIHB1YmxpYzoK
IAogICAgIHZvaWQgZGl2RG91YmxlKEFkZHJlc3Mgc3JjLCBGUFJlZ2lzdGVySUQgZGVzdCkKICAg
ICB7Ci0gICAgICAgIEFTU0VSVChpc1NTRTJQcmVzZW50KCkpOwogICAgICAgICBtX2Fzc2VtYmxl
ci5kaXZzZF9tcihzcmMub2Zmc2V0LCBzcmMuYmFzZSwgZGVzdCk7CiAgICAgfQogCiAgICAgdm9p
ZCBkaXZGbG9hdChGUFJlZ2lzdGVySUQgc3JjLCBGUFJlZ2lzdGVySUQgZGVzdCkKICAgICB7Ci0g
ICAgICAgIEFTU0VSVChpc1NTRTJQcmVzZW50KCkpOwogICAgICAgICBtX2Fzc2VtYmxlci5kaXZz
c19ycihzcmMsIGRlc3QpOwogICAgIH0KIAogICAgIHZvaWQgZGl2RmxvYXQoQWRkcmVzcyBzcmMs
IEZQUmVnaXN0ZXJJRCBkZXN0KQogICAgIHsKLSAgICAgICAgQVNTRVJUKGlzU1NFMlByZXNlbnQo
KSk7CiAgICAgICAgIG1fYXNzZW1ibGVyLmRpdnNzX21yKHNyYy5vZmZzZXQsIHNyYy5iYXNlLCBk
ZXN0KTsKICAgICB9CiAKQEAgLTE3MTksOCArMTY5Miw2IEBAIHB1YmxpYzoKICAgICAgICAgaWYg
KHN1cHBvcnRzQVZYKCkpCiAgICAgICAgICAgICBtX2Fzc2VtYmxlci52c3Vic2RfcnIob3AxLCBv
cDIsIGRlc3QpOwogICAgICAgICBlbHNlIHsKLSAgICAgICAgICAgIEFTU0VSVChpc1NTRTJQcmVz
ZW50KCkpOwotCiAgICAgICAgICAgICAvLyBCIDo9IEEgLSBCIGlzIGludmFsaWQuCiAgICAgICAg
ICAgICBBU1NFUlQob3AxID09IGRlc3QgfHwgb3AyICE9IGRlc3QpOwogICAgICAgICAgICAgbW92
ZURvdWJsZShvcDEsIGRlc3QpOwpAQCAtMTc2Myw3ICsxNzM0LDYgQEAgcHVibGljOgogICAgICAg
ICBpZiAoc3VwcG9ydHNBVlgoKSkKICAgICAgICAgICAgIG1fYXNzZW1ibGVyLnZzdWJzc19ycihv
cDEsIG9wMiwgZGVzdCk7CiAgICAgICAgIGVsc2UgewotICAgICAgICAgICAgQVNTRVJUKGlzU1NF
MlByZXNlbnQoKSk7CiAgICAgICAgICAgICAvLyBCIDo9IEEgLSBCIGlzIGludmFsaWQuCiAgICAg
ICAgICAgICBBU1NFUlQob3AxID09IGRlc3QgfHwgb3AyICE9IGRlc3QpOwogICAgICAgICAgICAg
bW92ZURvdWJsZShvcDEsIGRlc3QpOwpAQCAtMTgwNiw3ICsxNzc2LDYgQEAgcHVibGljOgogICAg
ICAgICBpZiAoc3VwcG9ydHNBVlgoKSkKICAgICAgICAgICAgIG1fYXNzZW1ibGVyLnZtdWxzZF9y
cihvcDEsIG9wMiwgZGVzdCk7CiAgICAgICAgIGVsc2UgewotICAgICAgICAgICAgQVNTRVJUKGlz
U1NFMlByZXNlbnQoKSk7CiAgICAgICAgICAgICBpZiAob3AxID09IGRlc3QpCiAgICAgICAgICAg
ICAgICAgbV9hc3NlbWJsZXIubXVsc2RfcnIob3AyLCBkZXN0KTsKICAgICAgICAgICAgIGVsc2Ug
ewpAQCAtMTgyNiw3ICsxNzk1LDYgQEAgcHVibGljOgogICAgICAgICBpZiAoc3VwcG9ydHNBVlgo
KSkKICAgICAgICAgICAgIG1fYXNzZW1ibGVyLnZtdWxzZF9tcihvcDEub2Zmc2V0LCBvcDEuYmFz
ZSwgb3AyLCBkZXN0KTsKICAgICAgICAgZWxzZSB7Ci0gICAgICAgICAgICBBU1NFUlQoaXNTU0Uy
UHJlc2VudCgpKTsKICAgICAgICAgICAgIGlmIChvcDIgPT0gZGVzdCkgewogICAgICAgICAgICAg
ICAgIG1fYXNzZW1ibGVyLm11bHNkX21yKG9wMS5vZmZzZXQsIG9wMS5iYXNlLCBkZXN0KTsKICAg
ICAgICAgICAgICAgICByZXR1cm47CkBAIC0xODQ2LDcgKzE4MTQsNiBAQCBwdWJsaWM6CiAgICAg
ICAgIGlmIChzdXBwb3J0c0FWWCgpKQogICAgICAgICAgICAgbV9hc3NlbWJsZXIudm11bHNkX21y
KG9wMS5vZmZzZXQsIG9wMS5iYXNlLCBvcDEuaW5kZXgsIG9wMS5zY2FsZSwgb3AyLCBkZXN0KTsK
ICAgICAgICAgZWxzZSB7Ci0gICAgICAgICAgICBBU1NFUlQoaXNTU0UyUHJlc2VudCgpKTsKICAg
ICAgICAgICAgIGlmIChvcDIgPT0gZGVzdCkgewogICAgICAgICAgICAgICAgIG1fYXNzZW1ibGVy
Lm11bHNkX21yKG9wMS5vZmZzZXQsIG9wMS5iYXNlLCBvcDEuaW5kZXgsIG9wMS5zY2FsZSwgZGVz
dCk7CiAgICAgICAgICAgICAgICAgcmV0dXJuOwpAQCAtMTg3MSw3ICsxODM4LDYgQEAgcHVibGlj
OgogICAgICAgICBpZiAoc3VwcG9ydHNBVlgoKSkKICAgICAgICAgICAgIG1fYXNzZW1ibGVyLnZt
dWxzc19ycihvcDEsIG9wMiwgZGVzdCk7CiAgICAgICAgIGVsc2UgewotICAgICAgICAgICAgQVNT
RVJUKGlzU1NFMlByZXNlbnQoKSk7CiAgICAgICAgICAgICBpZiAob3AxID09IGRlc3QpCiAgICAg
ICAgICAgICAgICAgbV9hc3NlbWJsZXIubXVsc3NfcnIob3AyLCBkZXN0KTsKICAgICAgICAgICAg
IGVsc2UgewpAQCAtMTg4Niw3ICsxODUyLDYgQEAgcHVibGljOgogICAgICAgICBpZiAoc3VwcG9y
dHNBVlgoKSkKICAgICAgICAgICAgIG1fYXNzZW1ibGVyLnZtdWxzc19tcihvcDEub2Zmc2V0LCBv
cDEuYmFzZSwgb3AyLCBkZXN0KTsKICAgICAgICAgZWxzZSB7Ci0gICAgICAgICAgICBBU1NFUlQo
aXNTU0UyUHJlc2VudCgpKTsKICAgICAgICAgICAgIGlmIChvcDIgPT0gZGVzdCkgewogICAgICAg
ICAgICAgICAgIG1fYXNzZW1ibGVyLm11bHNzX21yKG9wMS5vZmZzZXQsIG9wMS5iYXNlLCBkZXN0
KTsKICAgICAgICAgICAgICAgICByZXR1cm47CkBAIC0xOTA2LDcgKzE4NzEsNiBAQCBwdWJsaWM6
CiAgICAgICAgIGlmIChzdXBwb3J0c0FWWCgpKQogICAgICAgICAgICAgbV9hc3NlbWJsZXIudm11
bHNzX21yKG9wMS5vZmZzZXQsIG9wMS5iYXNlLCBvcDEuaW5kZXgsIG9wMS5zY2FsZSwgb3AyLCBk
ZXN0KTsKICAgICAgICAgZWxzZSB7Ci0gICAgICAgICAgICBBU1NFUlQoaXNTU0UyUHJlc2VudCgp
KTsKICAgICAgICAgICAgIGlmIChvcDIgPT0gZGVzdCkgewogICAgICAgICAgICAgICAgIG1fYXNz
ZW1ibGVyLm11bHNzX21yKG9wMS5vZmZzZXQsIG9wMS5iYXNlLCBvcDEuaW5kZXgsIG9wMS5zY2Fs
ZSwgZGVzdCk7CiAgICAgICAgICAgICAgICAgcmV0dXJuOwpAQCAtMjAwOSwzMiArMTk3MywyNiBA
QCBwdWJsaWM6CiAKICAgICB2b2lkIGNvbnZlcnRJbnQzMlRvRG91YmxlKFJlZ2lzdGVySUQgc3Jj
LCBGUFJlZ2lzdGVySUQgZGVzdCkKICAgICB7Ci0gICAgICAgIEFTU0VSVChpc1NTRTJQcmVzZW50
KCkpOwogICAgICAgICBtX2Fzc2VtYmxlci5jdnRzaTJzZF9ycihzcmMsIGRlc3QpOwogICAgIH0K
IAogICAgIHZvaWQgY29udmVydEludDMyVG9Eb3VibGUoQWRkcmVzcyBzcmMsIEZQUmVnaXN0ZXJJ
RCBkZXN0KQogICAgIHsKLSAgICAgICAgQVNTRVJUKGlzU1NFMlByZXNlbnQoKSk7CiAgICAgICAg
IG1fYXNzZW1ibGVyLmN2dHNpMnNkX21yKHNyYy5vZmZzZXQsIHNyYy5iYXNlLCBkZXN0KTsKICAg
ICB9CiAKICAgICB2b2lkIGNvbnZlcnRJbnQzMlRvRmxvYXQoUmVnaXN0ZXJJRCBzcmMsIEZQUmVn
aXN0ZXJJRCBkZXN0KQogICAgIHsKLSAgICAgICAgQVNTRVJUKGlzU1NFMlByZXNlbnQoKSk7CiAg
ICAgICAgIG1fYXNzZW1ibGVyLmN2dHNpMnNzX3JyKHNyYywgZGVzdCk7CiAgICAgfQogCiAgICAg
dm9pZCBjb252ZXJ0SW50MzJUb0Zsb2F0KEFkZHJlc3Mgc3JjLCBGUFJlZ2lzdGVySUQgZGVzdCkK
ICAgICB7Ci0gICAgICAgIEFTU0VSVChpc1NTRTJQcmVzZW50KCkpOwogICAgICAgICBtX2Fzc2Vt
Ymxlci5jdnRzaTJzc19tcihzcmMub2Zmc2V0LCBzcmMuYmFzZSwgZGVzdCk7CiAgICAgfQogCiAg
ICAgSnVtcCBicmFuY2hEb3VibGUoRG91YmxlQ29uZGl0aW9uIGNvbmQsIEZQUmVnaXN0ZXJJRCBs
ZWZ0LCBGUFJlZ2lzdGVySUQgcmlnaHQpCiAgICAgewotICAgICAgICBBU1NFUlQoaXNTU0UyUHJl
c2VudCgpKTsKLQogICAgICAgICBpZiAoY29uZCAmIERvdWJsZUNvbmRpdGlvbkJpdEludmVydCkK
ICAgICAgICAgICAgIG1fYXNzZW1ibGVyLnVjb21pc2RfcnIobGVmdCwgcmlnaHQpOwogICAgICAg
ICBlbHNlCkBAIC0yMDQ0LDggKzIwMDIsNiBAQCBwdWJsaWM6CiAKICAgICBKdW1wIGJyYW5jaEZs
b2F0KERvdWJsZUNvbmRpdGlvbiBjb25kLCBGUFJlZ2lzdGVySUQgbGVmdCwgRlBSZWdpc3RlcklE
IHJpZ2h0KQogICAgIHsKLSAgICAgICAgQVNTRVJUKGlzU1NFMlByZXNlbnQoKSk7Ci0KICAgICAg
ICAgaWYgKGNvbmQgJiBEb3VibGVDb25kaXRpb25CaXRJbnZlcnQpCiAgICAgICAgICAgICBtX2Fz
c2VtYmxlci51Y29taXNzX3JyKGxlZnQsIHJpZ2h0KTsKICAgICAgICAgZWxzZQpAQCAtMjA1NSw3
ICsyMDExLDYgQEAgcHVibGljOgogCiAgICAgdm9pZCBjb21wYXJlRG91YmxlKERvdWJsZUNvbmRp
dGlvbiBjb25kLCBGUFJlZ2lzdGVySUQgbGVmdCwgRlBSZWdpc3RlcklEIHJpZ2h0LCBSZWdpc3Rl
cklEIGRlc3QpCiAgICAgewotICAgICAgICBBU1NFUlQoaXNTU0UyUHJlc2VudCgpKTsKICAgICAg
ICAgZmxvYXRpbmdQb2ludENvbXBhcmUoY29uZCwgbGVmdCwgcmlnaHQsIGRlc3QsIFt0aGlzXSAo
RlBSZWdpc3RlcklEIGFyZzEsIEZQUmVnaXN0ZXJJRCBhcmcyKSB7CiAgICAgICAgICAgICBtX2Fz
c2VtYmxlci51Y29taXNkX3JyKGFyZzEsIGFyZzIpOwogICAgICAgICB9KTsKQEAgLTIwNjMsNyAr
MjAxOCw2IEBAIHB1YmxpYzoKIAogICAgIHZvaWQgY29tcGFyZUZsb2F0KERvdWJsZUNvbmRpdGlv
biBjb25kLCBGUFJlZ2lzdGVySUQgbGVmdCwgRlBSZWdpc3RlcklEIHJpZ2h0LCBSZWdpc3RlcklE
IGRlc3QpCiAgICAgewotICAgICAgICBBU1NFUlQoaXNTU0UyUHJlc2VudCgpKTsKICAgICAgICAg
ZmxvYXRpbmdQb2ludENvbXBhcmUoY29uZCwgbGVmdCwgcmlnaHQsIGRlc3QsIFt0aGlzXSAoRlBS
ZWdpc3RlcklEIGFyZzEsIEZQUmVnaXN0ZXJJRCBhcmcyKSB7CiAgICAgICAgICAgICBtX2Fzc2Vt
Ymxlci51Y29taXNzX3JyKGFyZzEsIGFyZzIpOwogICAgICAgICB9KTsKQEAgLTIwNzYsMjAgKzIw
MzAsMTcgQEAgcHVibGljOgogICAgIGVudW0gQnJhbmNoVHJ1bmNhdGVUeXBlIHsgQnJhbmNoSWZU
cnVuY2F0ZUZhaWxlZCwgQnJhbmNoSWZUcnVuY2F0ZVN1Y2Nlc3NmdWwgfTsKICAgICBKdW1wIGJy
YW5jaFRydW5jYXRlRG91YmxlVG9JbnQzMihGUFJlZ2lzdGVySUQgc3JjLCBSZWdpc3RlcklEIGRl
c3QsIEJyYW5jaFRydW5jYXRlVHlwZSBicmFuY2hUeXBlID0gQnJhbmNoSWZUcnVuY2F0ZUZhaWxl
ZCkKICAgICB7Ci0gICAgICAgIEFTU0VSVChpc1NTRTJQcmVzZW50KCkpOwogICAgICAgICBtX2Fz
c2VtYmxlci5jdnR0c2Qyc2lfcnIoc3JjLCBkZXN0KTsKICAgICAgICAgcmV0dXJuIGJyYW5jaDMy
KGJyYW5jaFR5cGUgPyBOb3RFcXVhbCA6IEVxdWFsLCBkZXN0LCBUcnVzdGVkSW1tMzIoMHg4MDAw
MDAwMCkpOwogICAgIH0KIAogICAgIHZvaWQgdHJ1bmNhdGVEb3VibGVUb0ludDMyKEZQUmVnaXN0
ZXJJRCBzcmMsIFJlZ2lzdGVySUQgZGVzdCkKICAgICB7Ci0gICAgICAgIEFTU0VSVChpc1NTRTJQ
cmVzZW50KCkpOwogICAgICAgICBtX2Fzc2VtYmxlci5jdnR0c2Qyc2lfcnIoc3JjLCBkZXN0KTsK
ICAgICB9CiAKICAgICB2b2lkIHRydW5jYXRlRmxvYXRUb0ludDMyKEZQUmVnaXN0ZXJJRCBzcmMs
IFJlZ2lzdGVySUQgZGVzdCkKICAgICB7Ci0gICAgICAgIEFTU0VSVChpc1NTRTJQcmVzZW50KCkp
OwogICAgICAgICBtX2Fzc2VtYmxlci5jdnR0c3Myc2lfcnIoc3JjLCBkZXN0KTsKICAgICB9CiAK
QEAgLTIwOTksNyArMjA1MCw2IEBAIHB1YmxpYzoKICAgICAvLyAoc3BlY2lmaWNhbGx5LCBpbiB0
aGlzIGNhc2UsIDApLgogICAgIHZvaWQgYnJhbmNoQ29udmVydERvdWJsZVRvSW50MzIoRlBSZWdp
c3RlcklEIHNyYywgUmVnaXN0ZXJJRCBkZXN0LCBKdW1wTGlzdCYgZmFpbHVyZUNhc2VzLCBGUFJl
Z2lzdGVySUQgZnBUZW1wLCBib29sIG5lZ1plcm9DaGVjayA9IHRydWUpCiAgICAgewotICAgICAg
ICBBU1NFUlQoaXNTU0UyUHJlc2VudCgpKTsKICAgICAgICAgbV9hc3NlbWJsZXIuY3Z0dHNkMnNp
X3JyKHNyYywgZGVzdCk7CiAKICAgICAgICAgLy8gSWYgdGhlIHJlc3VsdCBpcyB6ZXJvLCBpdCBt
aWdodCBoYXZlIGJlZW4gLTAuMCwgYW5kIHRoZSBkb3VibGUgY29tcGFyaXNvbiB3b24ndCBjYXRj
aCB0aGlzIQpAQCAtMjEyOSw0NSArMjA3OSwzOCBAQCBwdWJsaWM6CiAKICAgICBKdW1wIGJyYW5j
aERvdWJsZU5vblplcm8oRlBSZWdpc3RlcklEIHJlZywgRlBSZWdpc3RlcklEIHNjcmF0Y2gpCiAg
ICAgewotICAgICAgICBBU1NFUlQoaXNTU0UyUHJlc2VudCgpKTsKICAgICAgICAgbV9hc3NlbWJs
ZXIueG9ycGRfcnIoc2NyYXRjaCwgc2NyYXRjaCk7CiAgICAgICAgIHJldHVybiBicmFuY2hEb3Vi
bGUoRG91YmxlTm90RXF1YWwsIHJlZywgc2NyYXRjaCk7CiAgICAgfQogCiAgICAgSnVtcCBicmFu
Y2hEb3VibGVaZXJvT3JOYU4oRlBSZWdpc3RlcklEIHJlZywgRlBSZWdpc3RlcklEIHNjcmF0Y2gp
CiAgICAgewotICAgICAgICBBU1NFUlQoaXNTU0UyUHJlc2VudCgpKTsKICAgICAgICAgbV9hc3Nl
bWJsZXIueG9ycGRfcnIoc2NyYXRjaCwgc2NyYXRjaCk7CiAgICAgICAgIHJldHVybiBicmFuY2hE
b3VibGUoRG91YmxlRXF1YWxPclVub3JkZXJlZCwgcmVnLCBzY3JhdGNoKTsKICAgICB9CiAKICAg
ICB2b2lkIGxzaGlmdFBhY2tlZChUcnVzdGVkSW1tMzIgaW1tLCBYTU1SZWdpc3RlcklEIHJlZykK
ICAgICB7Ci0gICAgICAgIEFTU0VSVChpc1NTRTJQcmVzZW50KCkpOwogICAgICAgICBtX2Fzc2Vt
Ymxlci5wc2xscV9pOHIoaW1tLm1fdmFsdWUsIHJlZyk7CiAgICAgfQogCiAgICAgdm9pZCByc2hp
ZnRQYWNrZWQoVHJ1c3RlZEltbTMyIGltbSwgWE1NUmVnaXN0ZXJJRCByZWcpCiAgICAgewotICAg
ICAgICBBU1NFUlQoaXNTU0UyUHJlc2VudCgpKTsKICAgICAgICAgbV9hc3NlbWJsZXIucHNybHFf
aThyKGltbS5tX3ZhbHVlLCByZWcpOwogICAgIH0KIAogICAgIHZvaWQgb3JQYWNrZWQoWE1NUmVn
aXN0ZXJJRCBzcmMsIFhNTVJlZ2lzdGVySUQgZHN0KQogICAgIHsKLSAgICAgICAgQVNTRVJUKGlz
U1NFMlByZXNlbnQoKSk7CiAgICAgICAgIG1fYXNzZW1ibGVyLnBvcl9ycihzcmMsIGRzdCk7CiAg
ICAgfQogCiAgICAgdm9pZCBtb3ZlMzJUb0Zsb2F0KFJlZ2lzdGVySUQgc3JjLCBYTU1SZWdpc3Rl
cklEIGRzdCkKICAgICB7Ci0gICAgICAgIEFTU0VSVChpc1NTRTJQcmVzZW50KCkpOwogICAgICAg
ICBtX2Fzc2VtYmxlci5tb3ZkX3JyKHNyYywgZHN0KTsKICAgICB9CiAKICAgICB2b2lkIG1vdmVG
bG9hdFRvMzIoWE1NUmVnaXN0ZXJJRCBzcmMsIFJlZ2lzdGVySUQgZHN0KQogICAgIHsKLSAgICAg
ICAgQVNTRVJUKGlzU1NFMlByZXNlbnQoKSk7CiAgICAgICAgIG1fYXNzZW1ibGVyLm1vdmRfcnIo
c3JjLCBkc3QpOwogICAgIH0KIApAQCAtMjI1Miw4ICsyMTk1LDYgQEAgcHVibGljOgogCiAgICAg
dm9pZCBtb3ZlQ29uZGl0aW9uYWxseURvdWJsZShEb3VibGVDb25kaXRpb24gY29uZCwgRlBSZWdp
c3RlcklEIGxlZnQsIEZQUmVnaXN0ZXJJRCByaWdodCwgUmVnaXN0ZXJJRCBzcmMsIFJlZ2lzdGVy
SUQgZGVzdCkKICAgICB7Ci0gICAgICAgIEFTU0VSVChpc1NTRTJQcmVzZW50KCkpOwotCiAgICAg
ICAgIGlmIChjb25kICYgRG91YmxlQ29uZGl0aW9uQml0SW52ZXJ0KQogICAgICAgICAgICAgbV9h
c3NlbWJsZXIudWNvbWlzZF9ycihsZWZ0LCByaWdodCk7CiAgICAgICAgIGVsc2UKQEAgLTIyNjMs
OCArMjIwNCw2IEBAIHB1YmxpYzoKIAogICAgIHZvaWQgbW92ZUNvbmRpdGlvbmFsbHlEb3VibGUo
RG91YmxlQ29uZGl0aW9uIGNvbmQsIEZQUmVnaXN0ZXJJRCBsZWZ0LCBGUFJlZ2lzdGVySUQgcmln
aHQsIFJlZ2lzdGVySUQgdGhlbkNhc2UsIFJlZ2lzdGVySUQgZWxzZUNhc2UsIFJlZ2lzdGVySUQg
ZGVzdCkKICAgICB7Ci0gICAgICAgIEFTU0VSVChpc1NTRTJQcmVzZW50KCkpOwotCiAgICAgICAg
IGlmICh0aGVuQ2FzZSAhPSBkZXN0ICYmIGVsc2VDYXNlICE9IGRlc3QpIHsKICAgICAgICAgICAg
IG1vdmUoZWxzZUNhc2UsIGRlc3QpOwogICAgICAgICAgICAgZWxzZUNhc2UgPSBkZXN0OwpAQCAt
MjI4Nyw4ICsyMjI2LDYgQEAgcHVibGljOgogCiAgICAgdm9pZCBtb3ZlQ29uZGl0aW9uYWxseUZs
b2F0KERvdWJsZUNvbmRpdGlvbiBjb25kLCBGUFJlZ2lzdGVySUQgbGVmdCwgRlBSZWdpc3RlcklE
IHJpZ2h0LCBSZWdpc3RlcklEIHNyYywgUmVnaXN0ZXJJRCBkZXN0KQogICAgIHsKLSAgICAgICAg
QVNTRVJUKGlzU1NFMlByZXNlbnQoKSk7Ci0KICAgICAgICAgaWYgKGNvbmQgJiBEb3VibGVDb25k
aXRpb25CaXRJbnZlcnQpCiAgICAgICAgICAgICBtX2Fzc2VtYmxlci51Y29taXNzX3JyKGxlZnQs
IHJpZ2h0KTsKICAgICAgICAgZWxzZQpAQCAtMjI5OCw4ICsyMjM1LDYgQEAgcHVibGljOgogCiAg
ICAgdm9pZCBtb3ZlQ29uZGl0aW9uYWxseUZsb2F0KERvdWJsZUNvbmRpdGlvbiBjb25kLCBGUFJl
Z2lzdGVySUQgbGVmdCwgRlBSZWdpc3RlcklEIHJpZ2h0LCBSZWdpc3RlcklEIHRoZW5DYXNlLCBS
ZWdpc3RlcklEIGVsc2VDYXNlLCBSZWdpc3RlcklEIGRlc3QpCiAgICAgewotICAgICAgICBBU1NF
UlQoaXNTU0UyUHJlc2VudCgpKTsKLQogICAgICAgICBpZiAodGhlbkNhc2UgIT0gZGVzdCAmJiBl
bHNlQ2FzZSAhPSBkZXN0KSB7CiAgICAgICAgICAgICBtb3ZlKGVsc2VDYXNlLCBkZXN0KTsKICAg
ICAgICAgICAgIGVsc2VDYXNlID0gZGVzdDsKQEAgLTIzODQsOCArMjMxOSw2IEBAIHB1YmxpYzoK
IAogICAgIHZvaWQgbW92ZUNvbmRpdGlvbmFsbHlEb3VibGUoRG91YmxlQ29uZGl0aW9uIGNvbmQs
IEZQUmVnaXN0ZXJJRCBsZWZ0LCBGUFJlZ2lzdGVySUQgcmlnaHQsIFJlZ2lzdGVySUQgc3JjLCBS
ZWdpc3RlcklEIGRlc3QpCiAgICAgewotICAgICAgICBBU1NFUlQoaXNTU0UyUHJlc2VudCgpKTsK
LQogICAgICAgICBpZiAoY29uZCAmIERvdWJsZUNvbmRpdGlvbkJpdEludmVydCkKICAgICAgICAg
ICAgIG1fYXNzZW1ibGVyLnVjb21pc2RfcnIobGVmdCwgcmlnaHQpOwogICAgICAgICBlbHNlCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvb2ZmbGluZWFzbS94ODYucmIgYi9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvb2ZmbGluZWFzbS94ODYucmIKaW5kZXggNjJhYTM1YTUxNTAuLjc5
Njk5NjQ2OGUyIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvb2ZmbGluZWFzbS94
ODYucmIKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL29mZmxpbmVhc20veDg2LnJiCkBAIC0x
MTAsMjEgKzExMCw2IEBAIGRlZiBpc1dpbgogICAgIGVuZAogZW5kCiAKLWRlZiB1c2VYODcKLSAg
ICBjYXNlICRhY3RpdmVCYWNrZW5kCi0gICAgd2hlbiAiWDg2IgotICAgICAgICB0cnVlCi0gICAg
d2hlbiAiWDg2X1dJTiIKLSAgICAgICAgdHJ1ZQotICAgIHdoZW4gIlg4Nl82NCIKLSAgICAgICAg
ZmFsc2UKLSAgICB3aGVuICJYODZfNjRfV0lOIgotICAgICAgICBmYWxzZQotICAgIGVsc2UKLSAg
ICAgICAgcmFpc2UgImJhZCB2YWx1ZSBmb3IgJGFjdGl2ZUJhY2tlbmQ6ICN7JGFjdGl2ZUJhY2tl
bmR9IgotICAgIGVuZAotZW5kCi0KIGRlZiBpc01TVkMKICAgICAkb3B0aW9ucy5oYXNfa2V5Pyg6
YXNzZW1ibGVyKSAmJiAkb3B0aW9uc1s6YXNzZW1ibGVyXSA9PSAiTUFTTSIKIGVuZApAQCAtMzQx
LDcgKzMyNiw2IEBAIGVuZAogY2xhc3MgRlBSZWdpc3RlcklECiAgICAgZGVmIHg4Nk9wZXJhbmQo
a2luZCkKICAgICAgICAgcmFpc2UgdW5sZXNzIGtpbmQgPT0gOmRvdWJsZQotICAgICAgICByYWlz
ZSBpZiB1c2VYODcKICAgICAgICAgY2FzZSBuYW1lCiAgICAgICAgIHdoZW4gImZ0MCIsICJmYTAi
LCAiZnIiCiAgICAgICAgICAgICByZWdpc3RlcigieG1tMCIpCkBAIC0zNTksMjMgKzM0Myw2IEBA
IGNsYXNzIEZQUmVnaXN0ZXJJRAogICAgICAgICAgICAgcmFpc2UgIkJhZCByZWdpc3RlciAje25h
bWV9IGZvciBYODYgYXQgI3tjb2RlT3JpZ2luU3RyaW5nfSIKICAgICAgICAgZW5kCiAgICAgZW5k
Ci0gICAgZGVmIHg4N0RlZmF1bHRTdGFja1Bvc2l0aW9uCi0gICAgICAgIGNhc2UgbmFtZQotICAg
ICAgICB3aGVuICJmdDAiLCAiZnIiCi0gICAgICAgICAgICAwCi0gICAgICAgIHdoZW4gImZ0MSIK
LSAgICAgICAgICAgIDEKLSAgICAgICAgd2hlbiAiZnQyIiwgImZ0MyIsICJmdDQiLCAiZnQ1Igot
ICAgICAgICAgICAgcmFpc2UgIlVuaW1wbGVtZW50ZWQgcmVnaXN0ZXIgI3tuYW1lfSBmb3IgWDg2
IGF0ICN7Y29kZU9yaWdpblN0cmluZ30iCi0gICAgICAgIGVsc2UKLSAgICAgICAgICAgIHJhaXNl
ICJCYWQgcmVnaXN0ZXIgI3tuYW1lfSBmb3IgWDg2IGF0ICN7Y29kZU9yaWdpblN0cmluZ30iCi0g
ICAgICAgIGVuZAotICAgIGVuZAotICAgIGRlZiB4ODdPcGVyYW5kKG9mZnNldCkKLSAgICAgICAg
cmFpc2UgdW5sZXNzIHVzZVg4NwotICAgICAgICByYWlzZSB1bmxlc3Mgb2Zmc2V0ID09IDAgb3Ig
b2Zmc2V0ID09IDEKLSAgICAgICAgIiN7cmVnaXN0ZXIoInN0Iil9KCN7eDg3RGVmYXVsdFN0YWNr
UG9zaXRpb24gKyBvZmZzZXR9KSIKLSAgICBlbmQKICAgICBkZWYgeDg2Q2FsbE9wZXJhbmQoa2lu
ZCkKICAgICAgICAgIiN7Y2FsbFByZWZpeH0je3g4Nk9wZXJhbmQoa2luZCl9IgogICAgIGVuZApA
QCAtNTYxLDcgKzUyOCw3IEBAIGNsYXNzIEluc3RydWN0aW9uCiAgICAgICAgIHdoZW4gOnF1YWQK
ICAgICAgICAgICAgIGlzWDY0ID8gInEiIDogcmFpc2UKICAgICAgICAgd2hlbiA6ZG91YmxlCi0g
ICAgICAgICAgICBub3QgdXNlWDg3ID8gInNkIiA6IHJhaXNlCisgICAgICAgICAgICAic2QiCiAg
ICAgICAgIGVsc2UKICAgICAgICAgICAgIHJhaXNlCiAgICAgICAgIGVuZApAQCAtNjMzLDE3ICs2
MDAsMTMgQEAgY2xhc3MgSW5zdHJ1Y3Rpb24KICAgICBlbmQKICAgICAKICAgICBkZWYgaGFuZGxl
WDg2RG91YmxlQnJhbmNoKGJyYW5jaE9wY29kZSwgbW9kZSkKLSAgICAgICAgaWYgdXNlWDg3Ci0g
ICAgICAgICAgICBoYW5kbGVYODdDb21wYXJlKG1vZGUpCisgICAgICAgIGNhc2UgbW9kZQorICAg
ICAgICB3aGVuIDpub3JtYWwKKyAgICAgICAgICAgICRhc20ucHV0cyAidWNvbWlzZCAje29yZGVy
T3BlcmFuZHMob3BlcmFuZHNbMV0ueDg2T3BlcmFuZCg6ZG91YmxlKSwgb3BlcmFuZHNbMF0ueDg2
T3BlcmFuZCg6ZG91YmxlKSl9IgorICAgICAgICB3aGVuIDpyZXZlcnNlCisgICAgICAgICAgICAk
YXNtLnB1dHMgInVjb21pc2QgI3tvcmRlck9wZXJhbmRzKG9wZXJhbmRzWzBdLng4Nk9wZXJhbmQo
OmRvdWJsZSksIG9wZXJhbmRzWzFdLng4Nk9wZXJhbmQoOmRvdWJsZSkpfSIKICAgICAgICAgZWxz
ZQotICAgICAgICAgICAgY2FzZSBtb2RlCi0gICAgICAgICAgICB3aGVuIDpub3JtYWwKLSAgICAg
ICAgICAgICAgICAkYXNtLnB1dHMgInVjb21pc2QgI3tvcmRlck9wZXJhbmRzKG9wZXJhbmRzWzFd
Lng4Nk9wZXJhbmQoOmRvdWJsZSksIG9wZXJhbmRzWzBdLng4Nk9wZXJhbmQoOmRvdWJsZSkpfSIK
LSAgICAgICAgICAgIHdoZW4gOnJldmVyc2UKLSAgICAgICAgICAgICAgICAkYXNtLnB1dHMgInVj
b21pc2QgI3tvcmRlck9wZXJhbmRzKG9wZXJhbmRzWzBdLng4Nk9wZXJhbmQoOmRvdWJsZSksIG9w
ZXJhbmRzWzFdLng4Nk9wZXJhbmQoOmRvdWJsZSkpfSIKLSAgICAgICAgICAgIGVsc2UKLSAgICAg
ICAgICAgICAgICByYWlzZSBtb2RlLmluc3BlY3QKLSAgICAgICAgICAgIGVuZAorICAgICAgICAg
ICAgcmFpc2UgbW9kZS5pbnNwZWN0CiAgICAgICAgIGVuZAogICAgICAgICAkYXNtLnB1dHMgIiN7
YnJhbmNoT3Bjb2RlfSAje29wZXJhbmRzWzJdLmFzbUxhYmVsfSIKICAgICBlbmQKQEAgLTg2MSw0
MyArODI0LDYgQEAgY2xhc3MgSW5zdHJ1Y3Rpb24KICAgICAgICAgZW5kCiAgICAgZW5kCiAKLSAg
ICBkZWYgaGFuZGxlWDg3Q29tcGFyZShtb2RlKQotICAgICAgICBmbG9hdGluZ1BvaW50Q29tcGFy
ZUltcGxpY2l0T3BlcmFuZCA9IGdldEltcGxpY2l0T3BlcmFuZFN0cmluZwotICAgICAgICBjYXNl
IG1vZGUKLSAgICAgICAgd2hlbiA6bm9ybWFsCi0gICAgICAgICAgICBpZiAob3BlcmFuZHNbMF0u
eDg3RGVmYXVsdFN0YWNrUG9zaXRpb24gPT0gMCkKLSAgICAgICAgICAgICAgICAkYXNtLnB1dHMg
ImZ1Y29taSAje2Zsb2F0aW5nUG9pbnRDb21wYXJlSW1wbGljaXRPcGVyYW5kfSN7b3BlcmFuZHNb
MV0ueDg3T3BlcmFuZCgwKX0iCi0gICAgICAgICAgICBlbHNlCi0gICAgICAgICAgICAgICAgJGFz
bS5wdXRzICJmbGQgI3tvcGVyYW5kc1swXS54ODdPcGVyYW5kKDApfSIKLSAgICAgICAgICAgICAg
ICAkYXNtLnB1dHMgImZ1Y29taXAgI3tmbG9hdGluZ1BvaW50Q29tcGFyZUltcGxpY2l0T3BlcmFu
ZH0je29wZXJhbmRzWzFdLng4N09wZXJhbmQoMSl9IgotICAgICAgICAgICAgZW5kCi0gICAgICAg
IHdoZW4gOnJldmVyc2UKLSAgICAgICAgICAgIGlmIChvcGVyYW5kc1sxXS54ODdEZWZhdWx0U3Rh
Y2tQb3NpdGlvbiA9PSAwKQotICAgICAgICAgICAgICAgICRhc20ucHV0cyAiZnVjb21pICN7Zmxv
YXRpbmdQb2ludENvbXBhcmVJbXBsaWNpdE9wZXJhbmR9I3tvcGVyYW5kc1swXS54ODdPcGVyYW5k
KDApfSIKLSAgICAgICAgICAgIGVsc2UKLSAgICAgICAgICAgICAgICAkYXNtLnB1dHMgImZsZCAj
e29wZXJhbmRzWzFdLng4N09wZXJhbmQoMCl9IgotICAgICAgICAgICAgICAgICRhc20ucHV0cyAi
ZnVjb21pcCAje2Zsb2F0aW5nUG9pbnRDb21wYXJlSW1wbGljaXRPcGVyYW5kfSN7b3BlcmFuZHNb
MF0ueDg3T3BlcmFuZCgxKX0iCi0gICAgICAgICAgICBlbmQKLSAgICAgICAgZWxzZQotICAgICAg
ICAgICAgcmFpc2UgbW9kZS5pbnNwZWN0Ci0gICAgICAgIGVuZAotICAgIGVuZAotCi0gICAgZGVm
IGhhbmRsZVg4N0Jpbk9wKG9wY29kZSwgb3Bjb2RlcmV2ZXJzZSkKLSAgICAgICAgaWYgKG9wZXJh
bmRzWzFdLng4N0RlZmF1bHRTdGFja1Bvc2l0aW9uID09IDApCi0gICAgICAgICAgICAkYXNtLnB1
dHMgIiN7b3Bjb2RlfSAje29yZGVyT3BlcmFuZHMob3BlcmFuZHNbMF0ueDg3T3BlcmFuZCgwKSwg
cmVnaXN0ZXIoInN0IikpfSIKLSAgICAgICAgZWxzaWYgKG9wZXJhbmRzWzBdLng4N0RlZmF1bHRT
dGFja1Bvc2l0aW9uID09IDApCi0gICAgICAgICAgICBpZiAhaXNJbnRlbFN5bnRheAotICAgICAg
ICAgICAgICAgICRhc20ucHV0cyAiI3tvcGNvZGVyZXZlcnNlfSAje3JlZ2lzdGVyKCJzdCIpfSwg
I3tvcGVyYW5kc1sxXS54ODdPcGVyYW5kKDApfSIKLSAgICAgICAgICAgIGVsc2UKLSAgICAgICAg
ICAgICAgICAkYXNtLnB1dHMgIiN7b3Bjb2RlfSAje29wZXJhbmRzWzFdLng4N09wZXJhbmQoMCl9
LCAje3JlZ2lzdGVyKCJzdCIpfSIKLSAgICAgICAgICAgIGVuZAotICAgICAgICBlbHNlCi0gICAg
ICAgICAgICAkYXNtLnB1dHMgImZsZCAje29wZXJhbmRzWzBdLng4N09wZXJhbmQoMCl9IgotICAg
ICAgICAgICAgJGFzbS5wdXRzICIje29wY29kZXJldmVyc2V9cCAje29yZGVyT3BlcmFuZHMocmVn
aXN0ZXIoInN0IiksIG9wZXJhbmRzWzFdLng4N09wZXJhbmQoMSkpfSIKLSAgICAgICAgZW5kCi0g
ICAgZW5kCi0KICAgICBkZWYgbG93ZXJYODYKICAgICAgICAgcmFpc2UgdW5sZXNzICRhY3RpdmVC
YWNrZW5kID09ICJYODYiCiAgICAgICAgIGxvd2VyWDg2Q29tbW9uCkBAIC0xMDM5LDg5ICs5NjUs
MjUgQEAgY2xhc3MgSW5zdHJ1Y3Rpb24KICAgICAgICAgd2hlbiAic3RvcmViIgogICAgICAgICAg
ICAgJGFzbS5wdXRzICJtb3Yje3g4NlN1ZmZpeCg6Ynl0ZSl9ICN7eDg2T3BlcmFuZHMoOmJ5dGUs
IDpieXRlKX0iCiAgICAgICAgIHdoZW4gImxvYWRkIgotICAgICAgICAgICAgaWYgdXNlWDg3Ci0g
ICAgICAgICAgICAgICAgaWYgIWlzSW50ZWxTeW50YXgKLSAgICAgICAgICAgICAgICAgICAgJGFz
bS5wdXRzICJmbGRsICN7b3BlcmFuZHNbMF0ueDg2T3BlcmFuZCg6ZG91YmxlKX0iCi0gICAgICAg
ICAgICAgICAgZWxzZQotICAgICAgICAgICAgICAgICAgICAkYXNtLnB1dHMgImZsZCAje29wZXJh
bmRzWzBdLng4Nk9wZXJhbmQoOmRvdWJsZSl9IgotICAgICAgICAgICAgICAgIGVuZAotICAgICAg
ICAgICAgICAgICRhc20ucHV0cyAiZnN0cCAje29wZXJhbmRzWzFdLng4N09wZXJhbmQoMSl9Igot
ICAgICAgICAgICAgZWxzZQotICAgICAgICAgICAgICAgICRhc20ucHV0cyAibW92c2QgI3t4ODZP
cGVyYW5kcyg6ZG91YmxlLCA6ZG91YmxlKX0iCi0gICAgICAgICAgICBlbmQKKyAgICAgICAgICAg
ICRhc20ucHV0cyAibW92c2QgI3t4ODZPcGVyYW5kcyg6ZG91YmxlLCA6ZG91YmxlKX0iCiAgICAg
ICAgIHdoZW4gIm1vdmVkIgotICAgICAgICAgICAgaWYgdXNlWDg3Ci0gICAgICAgICAgICAgICAg
aWYgKG9wZXJhbmRzWzBdLng4N0RlZmF1bHRTdGFja1Bvc2l0aW9uID09IDApCi0gICAgICAgICAg
ICAgICAgICAgICRhc20ucHV0cyAiZnN0ICN7b3BlcmFuZHNbMV0ueDg3T3BlcmFuZCgwKX0iCi0g
ICAgICAgICAgICAgICAgZWxzZQotICAgICAgICAgICAgICAgICAgICAkYXNtLnB1dHMgImZsZCAj
e29wZXJhbmRzWzBdLng4N09wZXJhbmQoMCl9IgotICAgICAgICAgICAgICAgICAgICAkYXNtLnB1
dHMgImZzdHAgI3tvcGVyYW5kc1sxXS54ODdPcGVyYW5kKDEpfSIKLSAgICAgICAgICAgICAgICBl
bmQKLSAgICAgICAgICAgIGVsc2UKLSAgICAgICAgICAgICAgICAkYXNtLnB1dHMgIm1vdnNkICN7
eDg2T3BlcmFuZHMoOmRvdWJsZSwgOmRvdWJsZSl9IgotICAgICAgICAgICAgZW5kCisgICAgICAg
ICAgICAkYXNtLnB1dHMgIm1vdnNkICN7eDg2T3BlcmFuZHMoOmRvdWJsZSwgOmRvdWJsZSl9Igog
ICAgICAgICB3aGVuICJzdG9yZWQiCi0gICAgICAgICAgICBpZiB1c2VYODcKLSAgICAgICAgICAg
ICAgICBpZiAob3BlcmFuZHNbMF0ueDg3RGVmYXVsdFN0YWNrUG9zaXRpb24gPT0gMCkKLSAgICAg
ICAgICAgICAgICAgICAgJGFzbS5wdXRzICJmc3Qje3g4NlN1ZmZpeCg6aW50KX0gI3tvcGVyYW5k
c1sxXS54ODZPcGVyYW5kKDpkb3VibGUpfSIKLSAgICAgICAgICAgICAgICBlbHNlCi0gICAgICAg
ICAgICAgICAgICAgICRhc20ucHV0cyAiZmxkICN7b3BlcmFuZHNbMF0ueDg3T3BlcmFuZCgwKX0i
Ci0gICAgICAgICAgICAgICAgICAgIGlmICFpc0ludGVsU3ludGF4Ci0gICAgICAgICAgICAgICAg
ICAgICAgICAkYXNtLnB1dHMgImZzdHBsICN7b3BlcmFuZHNbMV0ueDg2T3BlcmFuZCg6ZG91Ymxl
KX0iCi0gICAgICAgICAgICAgICAgICAgIGVsc2UKLSAgICAgICAgICAgICAgICAgICAgICAgICRh
c20ucHV0cyAiZnN0cCAje29wZXJhbmRzWzFdLng4Nk9wZXJhbmQoOmRvdWJsZSl9IgotICAgICAg
ICAgICAgICAgICAgICBlbmQKLSAgICAgICAgICAgICAgICBlbmQKLSAgICAgICAgICAgIGVsc2UK
LSAgICAgICAgICAgICAgICAkYXNtLnB1dHMgIm1vdnNkICN7eDg2T3BlcmFuZHMoOmRvdWJsZSwg
OmRvdWJsZSl9IgotICAgICAgICAgICAgZW5kCisgICAgICAgICAgICAkYXNtLnB1dHMgIm1vdnNk
ICN7eDg2T3BlcmFuZHMoOmRvdWJsZSwgOmRvdWJsZSl9IgogICAgICAgICB3aGVuICJhZGRkIgot
ICAgICAgICAgICAgaWYgdXNlWDg3Ci0gICAgICAgICAgICAgICAgaGFuZGxlWDg3QmluT3AoImZh
ZGQiLCAiZmFkZCIpCi0gICAgICAgICAgICBlbHNlCi0gICAgICAgICAgICAgICAgJGFzbS5wdXRz
ICJhZGRzZCAje3g4Nk9wZXJhbmRzKDpkb3VibGUsIDpkb3VibGUpfSIKLSAgICAgICAgICAgIGVu
ZAorICAgICAgICAgICAgJGFzbS5wdXRzICJhZGRzZCAje3g4Nk9wZXJhbmRzKDpkb3VibGUsIDpk
b3VibGUpfSIKICAgICAgICAgd2hlbiAibXVsZCIKLSAgICAgICAgICAgIGlmIHVzZVg4NwotICAg
ICAgICAgICAgICAgIGhhbmRsZVg4N0Jpbk9wKCJmbXVsIiwgImZtdWwiKQotICAgICAgICAgICAg
ZWxzZQotICAgICAgICAgICAgICAgICRhc20ucHV0cyAibXVsc2QgI3t4ODZPcGVyYW5kcyg6ZG91
YmxlLCA6ZG91YmxlKX0iCi0gICAgICAgICAgICBlbmQKKyAgICAgICAgICAgICRhc20ucHV0cyAi
bXVsc2QgI3t4ODZPcGVyYW5kcyg6ZG91YmxlLCA6ZG91YmxlKX0iCiAgICAgICAgIHdoZW4gInN1
YmQiCi0gICAgICAgICAgICBpZiB1c2VYODcKLSAgICAgICAgICAgICAgICBoYW5kbGVYODdCaW5P
cCgiZnN1YiIsICJmc3ViciIpCi0gICAgICAgICAgICBlbHNlCi0gICAgICAgICAgICAgICAgJGFz
bS5wdXRzICJzdWJzZCAje3g4Nk9wZXJhbmRzKDpkb3VibGUsIDpkb3VibGUpfSIKLSAgICAgICAg
ICAgIGVuZAorICAgICAgICAgICAgJGFzbS5wdXRzICJzdWJzZCAje3g4Nk9wZXJhbmRzKDpkb3Vi
bGUsIDpkb3VibGUpfSIKICAgICAgICAgd2hlbiAiZGl2ZCIKLSAgICAgICAgICAgIGlmIHVzZVg4
NwotICAgICAgICAgICAgICAgIGhhbmRsZVg4N0Jpbk9wKCJmZGl2IiwgImZkaXZyIikKLSAgICAg
ICAgICAgIGVsc2UKLSAgICAgICAgICAgICAgICAkYXNtLnB1dHMgImRpdnNkICN7eDg2T3BlcmFu
ZHMoOmRvdWJsZSwgOmRvdWJsZSl9IgotICAgICAgICAgICAgZW5kCisgICAgICAgICAgICAkYXNt
LnB1dHMgImRpdnNkICN7eDg2T3BlcmFuZHMoOmRvdWJsZSwgOmRvdWJsZSl9IgogICAgICAgICB3
aGVuICJzcXJ0ZCIKLSAgICAgICAgICAgIGlmIHVzZVg4NwotICAgICAgICAgICAgICAgICRhc20u
cHV0cyAiZmxkICN7b3BlcmFuZHNbMF0ueDg3T3BlcmFuZCgwKX0iCi0gICAgICAgICAgICAgICAg
JGFzbS5wdXRzICJmc3FydGwiCi0gICAgICAgICAgICAgICAgJGFzbS5wdXRzICJmc3RwICN7b3Bl
cmFuZHNbMV0ueDg3T3BlcmFuZCgxKX0iCi0gICAgICAgICAgICBlbHNlCi0gICAgICAgICAgICAg
ICAgJGFzbS5wdXRzICJzcXJ0c2QgI3tvcGVyYW5kc1swXS54ODZPcGVyYW5kKDpkb3VibGUpfSwg
I3tvcGVyYW5kc1sxXS54ODZPcGVyYW5kKDpkb3VibGUpfSIKLSAgICAgICAgICAgIGVuZAorICAg
ICAgICAgICAgJGFzbS5wdXRzICJzcXJ0c2QgI3tvcGVyYW5kc1swXS54ODZPcGVyYW5kKDpkb3Vi
bGUpfSwgI3tvcGVyYW5kc1sxXS54ODZPcGVyYW5kKDpkb3VibGUpfSIKICAgICAgICAgd2hlbiAi
Y2kyZCIKLSAgICAgICAgICAgIGlmIHVzZVg4NwotICAgICAgICAgICAgICAgIHNwID0gUmVnaXN0
ZXJJRC5uZXcobmlsLCAic3AiKQotICAgICAgICAgICAgICAgICRhc20ucHV0cyAibW92I3t4ODZT
dWZmaXgoOmludCl9ICN7b3JkZXJPcGVyYW5kcyhvcGVyYW5kc1swXS54ODZPcGVyYW5kKDppbnQp
LCBvZmZzZXRSZWdpc3RlcigtNCwgc3AueDg2T3BlcmFuZCg6cHRyKSkpfSIKLSAgICAgICAgICAg
ICAgICAkYXNtLnB1dHMgImZpbGQje3g4NlN1ZmZpeCg6cHRyKX0gI3tnZXRTaXplU3RyaW5nKDpw
dHIpfSN7b2Zmc2V0UmVnaXN0ZXIoLTQsIHNwLng4Nk9wZXJhbmQoOnB0cikpfSIKLSAgICAgICAg
ICAgICAgICAkYXNtLnB1dHMgImZzdHAgI3tvcGVyYW5kc1sxXS54ODdPcGVyYW5kKDEpfSIKLSAg
ICAgICAgICAgIGVsc2UKLSAgICAgICAgICAgICAgICAkYXNtLnB1dHMgImN2dHNpMnNkICN7b3Jk
ZXJPcGVyYW5kcyhvcGVyYW5kc1swXS54ODZPcGVyYW5kKDppbnQpLCBvcGVyYW5kc1sxXS54ODZP
cGVyYW5kKDpkb3VibGUpKX0iCi0gICAgICAgICAgICBlbmQKKyAgICAgICAgICAgICRhc20ucHV0
cyAiY3Z0c2kyc2QgI3tvcmRlck9wZXJhbmRzKG9wZXJhbmRzWzBdLng4Nk9wZXJhbmQoOmludCks
IG9wZXJhbmRzWzFdLng4Nk9wZXJhbmQoOmRvdWJsZSkpfSIKICAgICAgICAgd2hlbiAiYmRlcSIK
LSAgICAgICAgICAgIGlmIHVzZVg4NwotICAgICAgICAgICAgICAgIGhhbmRsZVg4N0NvbXBhcmUo
Om5vcm1hbCkKLSAgICAgICAgICAgIGVsc2UKLSAgICAgICAgICAgICAgICAkYXNtLnB1dHMgInVj
b21pc2QgI3tvcmRlck9wZXJhbmRzKG9wZXJhbmRzWzBdLng4Nk9wZXJhbmQoOmRvdWJsZSksIG9w
ZXJhbmRzWzFdLng4Nk9wZXJhbmQoOmRvdWJsZSkpfSIKLSAgICAgICAgICAgIGVuZAorICAgICAg
ICAgICAgJGFzbS5wdXRzICJ1Y29taXNkICN7b3JkZXJPcGVyYW5kcyhvcGVyYW5kc1swXS54ODZP
cGVyYW5kKDpkb3VibGUpLCBvcGVyYW5kc1sxXS54ODZPcGVyYW5kKDpkb3VibGUpKX0iCiAgICAg
ICAgICAgICBpZiBvcGVyYW5kc1swXSA9PSBvcGVyYW5kc1sxXQogICAgICAgICAgICAgICAgICMg
VGhpcyBpcyBqdXN0IGEganVtcCBvcmRlcmVkLCB3aGljaCBpcyBhIGpucC4KICAgICAgICAgICAg
ICAgICAkYXNtLnB1dHMgImpucCAje29wZXJhbmRzWzJdLmFzbUxhYmVsfSIKQEAgLTExNDQsMTEg
KzEwMDYsNyBAQCBjbGFzcyBJbnN0cnVjdGlvbgogICAgICAgICB3aGVuICJiZGVxdW4iCiAgICAg
ICAgICAgICBoYW5kbGVYODZEb3VibGVCcmFuY2goImplIiwgOm5vcm1hbCkKICAgICAgICAgd2hl
biAiYmRuZXF1biIKLSAgICAgICAgICAgIGlmIHVzZVg4NwotICAgICAgICAgICAgICAgIGhhbmRs
ZVg4N0NvbXBhcmUoOm5vcm1hbCkKLSAgICAgICAgICAgIGVsc2UKLSAgICAgICAgICAgICAgICAk
YXNtLnB1dHMgInVjb21pc2QgI3tvcmRlck9wZXJhbmRzKG9wZXJhbmRzWzBdLng4Nk9wZXJhbmQo
OmRvdWJsZSksIG9wZXJhbmRzWzFdLng4Nk9wZXJhbmQoOmRvdWJsZSkpfSIKLSAgICAgICAgICAg
IGVuZAorICAgICAgICAgICAgJGFzbS5wdXRzICJ1Y29taXNkICN7b3JkZXJPcGVyYW5kcyhvcGVy
YW5kc1swXS54ODZPcGVyYW5kKDpkb3VibGUpLCBvcGVyYW5kc1sxXS54ODZPcGVyYW5kKDpkb3Vi
bGUpKX0iCiAgICAgICAgICAgICBpZiBvcGVyYW5kc1swXSA9PSBvcGVyYW5kc1sxXQogICAgICAg
ICAgICAgICAgICMgVGhpcyBpcyBqdXN0IGEganVtcCB1bm9yZGVyZWQsIHdoaWNoIGlzIGEganAu
CiAgICAgICAgICAgICAgICAgJGFzbS5wdXRzICJqcCAje29wZXJhbmRzWzJdLmFzbUxhYmVsfSIK
QEAgLTExNzAsNDggKzEwMjgsMjEgQEAgY2xhc3MgSW5zdHJ1Y3Rpb24KICAgICAgICAgd2hlbiAi
YmRsdGVxdW4iCiAgICAgICAgICAgICBoYW5kbGVYODZEb3VibGVCcmFuY2goImpiZSIsIDpub3Jt
YWwpCiAgICAgICAgIHdoZW4gImJ0ZDJpIgotICAgICAgICAgICAgIyBGSVhNRTogdW51c2VkIGFu
ZCB1bmltcGxlbWVudGVkIGZvciB4ODcKLSAgICAgICAgICAgIHJhaXNlIGlmIHVzZVg4NwogICAg
ICAgICAgICAgJGFzbS5wdXRzICJjdnR0c2Qyc2kgI3tvcGVyYW5kc1swXS54ODZPcGVyYW5kKDpk
b3VibGUpfSwgI3tvcGVyYW5kc1sxXS54ODZPcGVyYW5kKDppbnQpfSIKICAgICAgICAgICAgICRh
c20ucHV0cyAiY21wbCAkMHg4MDAwMDAwMCAje29wZXJhbmRzWzFdLng4Nk9wZXJhbmQoOmludCl9
IgogICAgICAgICAgICAgJGFzbS5wdXRzICJqZSAje29wZXJhbmRzWzJdLmFzbUxhYmVsfSIKICAg
ICAgICAgd2hlbiAidGQyaSIKLSAgICAgICAgICAgICMgRklYTUU6IHVudXNlZCBhbmQgdW5pbXBs
ZW1lbnRlZCBmb3IgeDg3Ci0gICAgICAgICAgICByYWlzZSBpZiB1c2VYODcKICAgICAgICAgICAg
ICRhc20ucHV0cyAiY3Z0dHNkMnNpICN7b3BlcmFuZHNbMF0ueDg2T3BlcmFuZCg6ZG91YmxlKX0s
ICN7b3BlcmFuZHNbMV0ueDg2T3BlcmFuZCg6aW50KX0iCiAgICAgICAgIHdoZW4gImJjZDJpIgot
ICAgICAgICAgICAgaWYgdXNlWDg3Ci0gICAgICAgICAgICAgICAgZmxvYXRpbmdQb2ludENvbXBh
cmVJbXBsaWNpdE9wZXJhbmQgPSBnZXRJbXBsaWNpdE9wZXJhbmRTdHJpbmcKLSAgICAgICAgICAg
ICAgICBzcCA9IFJlZ2lzdGVySUQubmV3KG5pbCwgInNwIikKLSAgICAgICAgICAgICAgICBpZiAo
b3BlcmFuZHNbMF0ueDg3RGVmYXVsdFN0YWNrUG9zaXRpb24gPT0gMCkKLSAgICAgICAgICAgICAg
ICAgICAgJGFzbS5wdXRzICJmaXN0bCAtNCgje3NwLng4Nk9wZXJhbmQoOnB0cil9KSIKLSAgICAg
ICAgICAgICAgICBlbHNlCi0gICAgICAgICAgICAgICAgICAgICRhc20ucHV0cyAiZmxkICN7b3Bl
cmFuZHNbMF0ueDg3T3BlcmFuZCgwKX0iCi0gICAgICAgICAgICAgICAgICAgICRhc20ucHV0cyAi
ZmlzdHAje3g4NlN1ZmZpeCg6cHRyKX0gI3tnZXRTaXplU3RyaW5nKDpwdHIpfSN7b2Zmc2V0UmVn
aXN0ZXIoLTQsIHNwLng4Nk9wZXJhbmQoOnB0cikpfSIKLSAgICAgICAgICAgICAgICBlbmQKLSAg
ICAgICAgICAgICAgICAkYXNtLnB1dHMgIm1vdiN7eDg2U3VmZml4KDppbnQpfSAje29yZGVyT3Bl
cmFuZHMob2Zmc2V0UmVnaXN0ZXIoLTQsIHNwLng4Nk9wZXJhbmQoOnB0cikpLCBvcGVyYW5kc1sx
XS54ODZPcGVyYW5kKDppbnQpKX0iCi0gICAgICAgICAgICAgICAgJGFzbS5wdXRzICJ0ZXN0I3t4
ODZTdWZmaXgoOmludCl9ICN7b3BlcmFuZHNbMV0ueDg2T3BlcmFuZCg6aW50KX0sICN7b3BlcmFu
ZHNbMV0ueDg2T3BlcmFuZCg6aW50KX0iCi0gICAgICAgICAgICAgICAgJGFzbS5wdXRzICJqZSAj
e29wZXJhbmRzWzJdLmFzbUxhYmVsfSIKLSAgICAgICAgICAgICAgICAkYXNtLnB1dHMgImZpbGQj
e3g4NlN1ZmZpeCg6aW50KX0gI3tnZXRTaXplU3RyaW5nKDppbnQpfSN7b2Zmc2V0UmVnaXN0ZXIo
LTQsIHNwLng4Nk9wZXJhbmQoOnB0cikpfSIKLSAgICAgICAgICAgICAgICAkYXNtLnB1dHMgImZ1
Y29taXAgI3tmbG9hdGluZ1BvaW50Q29tcGFyZUltcGxpY2l0T3BlcmFuZH0je29wZXJhbmRzWzBd
Lng4N09wZXJhbmQoMSl9IgotICAgICAgICAgICAgICAgICRhc20ucHV0cyAianAgI3tvcGVyYW5k
c1syXS5hc21MYWJlbH0iCi0gICAgICAgICAgICAgICAgJGFzbS5wdXRzICJqbmUgI3tvcGVyYW5k
c1syXS5hc21MYWJlbH0iCi0gICAgICAgICAgICBlbHNlCi0gICAgICAgICAgICAgICAgJGFzbS5w
dXRzICJjdnR0c2Qyc2kgI3tvcGVyYW5kc1swXS54ODZPcGVyYW5kKDpkb3VibGUpfSwgI3tvcGVy
YW5kc1sxXS54ODZPcGVyYW5kKDppbnQpfSIKLSAgICAgICAgICAgICAgICAkYXNtLnB1dHMgInRl
c3Qje3g4NlN1ZmZpeCg6aW50KX0gI3tvcGVyYW5kc1sxXS54ODZPcGVyYW5kKDppbnQpfSwgI3tv
cGVyYW5kc1sxXS54ODZPcGVyYW5kKDppbnQpfSIKLSAgICAgICAgICAgICAgICAkYXNtLnB1dHMg
ImplICN7b3BlcmFuZHNbMl0uYXNtTGFiZWx9IgotICAgICAgICAgICAgICAgICRhc20ucHV0cyAi
Y3Z0c2kyc2QgI3tvcGVyYW5kc1sxXS54ODZPcGVyYW5kKDppbnQpfSwgJXhtbTciCi0gICAgICAg
ICAgICAgICAgJGFzbS5wdXRzICJ1Y29taXNkICN7b3BlcmFuZHNbMF0ueDg2T3BlcmFuZCg6ZG91
YmxlKX0sICV4bW03IgotICAgICAgICAgICAgICAgICRhc20ucHV0cyAianAgI3tvcGVyYW5kc1sy
XS5hc21MYWJlbH0iCi0gICAgICAgICAgICAgICAgJGFzbS5wdXRzICJqbmUgI3tvcGVyYW5kc1sy
XS5hc21MYWJlbH0iCi0gICAgICAgICAgICBlbmQKKyAgICAgICAgICAgICRhc20ucHV0cyAiY3Z0
dHNkMnNpICN7b3BlcmFuZHNbMF0ueDg2T3BlcmFuZCg6ZG91YmxlKX0sICN7b3BlcmFuZHNbMV0u
eDg2T3BlcmFuZCg6aW50KX0iCisgICAgICAgICAgICAkYXNtLnB1dHMgInRlc3Qje3g4NlN1ZmZp
eCg6aW50KX0gI3tvcGVyYW5kc1sxXS54ODZPcGVyYW5kKDppbnQpfSwgI3tvcGVyYW5kc1sxXS54
ODZPcGVyYW5kKDppbnQpfSIKKyAgICAgICAgICAgICRhc20ucHV0cyAiamUgI3tvcGVyYW5kc1sy
XS5hc21MYWJlbH0iCisgICAgICAgICAgICAkYXNtLnB1dHMgImN2dHNpMnNkICN7b3BlcmFuZHNb
MV0ueDg2T3BlcmFuZCg6aW50KX0sICV4bW03IgorICAgICAgICAgICAgJGFzbS5wdXRzICJ1Y29t
aXNkICN7b3BlcmFuZHNbMF0ueDg2T3BlcmFuZCg6ZG91YmxlKX0sICV4bW03IgorICAgICAgICAg
ICAgJGFzbS5wdXRzICJqcCAje29wZXJhbmRzWzJdLmFzbUxhYmVsfSIKKyAgICAgICAgICAgICRh
c20ucHV0cyAiam5lICN7b3BlcmFuZHNbMl0uYXNtTGFiZWx9IgogICAgICAgICB3aGVuICJtb3Zk
eiIKLSAgICAgICAgICAgIGlmIHVzZVg4NwotICAgICAgICAgICAgICAgICRhc20ucHV0cyAiZmxk
emwiCi0gICAgICAgICAgICAgICAgJGFzbS5wdXRzICJmc3RwICN7b3BlcmFuZHNbMF0ueDg3T3Bl
cmFuZCgxKX0iCi0gICAgICAgICAgICBlbHNlCi0gICAgICAgICAgICAgICAgJGFzbS5wdXRzICJ4
b3JwZCAje29wZXJhbmRzWzBdLng4Nk9wZXJhbmQoOmRvdWJsZSl9LCAje29wZXJhbmRzWzBdLng4
Nk9wZXJhbmQoOmRvdWJsZSl9IgotICAgICAgICAgICAgZW5kCisgICAgICAgICAgICAkYXNtLnB1
dHMgInhvcnBkICN7b3BlcmFuZHNbMF0ueDg2T3BlcmFuZCg6ZG91YmxlKX0sICN7b3BlcmFuZHNb
MF0ueDg2T3BlcmFuZCg6ZG91YmxlKX0iCiAgICAgICAgIHdoZW4gInBvcCIKICAgICAgICAgICAg
IG9wZXJhbmRzLmVhY2ggewogICAgICAgICAgICAgICAgIHwgb3AgfApAQCAtMTM5MSwxMiArMTIy
Miw2IEBAIGNsYXNzIEluc3RydWN0aW9uCiAgICAgICAgIHdoZW4gImJyZWFrIgogICAgICAgICAg
ICAgJGFzbS5wdXRzICJpbnQgI3tjb25zdCgzKX0iCiAgICAgICAgIHdoZW4gImNhbGwiCi0gICAg
ICAgICAgICBpZiB1c2VYODcKLSAgICAgICAgICAgICAgICAyLnRpbWVzIHsKLSAgICAgICAgICAg
ICAgICAgICAgfCBvZmZzZXQgfAotICAgICAgICAgICAgICAgICAgICAkYXNtLnB1dHMgImZmcmVl
ICN7cmVnaXN0ZXIoInN0Iil9KCN7b2Zmc2V0fSkiCi0gICAgICAgICAgICAgICAgfQotICAgICAg
ICAgICAgZW5kCiAgICAgICAgICAgICBvcCA9IG9wZXJhbmRzWzBdLng4NkNhbGxPcGVyYW5kKDpw
dHIpCiAgICAgICAgICAgICBpZiBvcGVyYW5kc1swXS5pc19hPyBMYWJlbFJlZmVyZW5jZQogICAg
ICAgICAgICAgICAgIG9wZXJhbmRzWzBdLnVzZWQKQEAgLTE1MTcsNjggKzEzNDIsMzAgQEAgY2xh
c3MgSW5zdHJ1Y3Rpb24KICAgICAgICAgd2hlbiAiaWRpdmkiCiAgICAgICAgICAgICAkYXNtLnB1
dHMgImlkaXYje3g4NlN1ZmZpeCg6aW50KX0gI3tvcGVyYW5kc1swXS54ODZPcGVyYW5kKDppbnQp
fSIKICAgICAgICAgd2hlbiAiZmlpMmQiCi0gICAgICAgICAgICBpZiB1c2VYODcKLSAgICAgICAg
ICAgICAgICBzcCA9IFJlZ2lzdGVySUQubmV3KG5pbCwgInNwIikKLSAgICAgICAgICAgICAgICAk
YXNtLnB1dHMgIm1vdiN7eDg2U3VmZml4KDppbnQpfSAje29yZGVyT3BlcmFuZHMob3BlcmFuZHNb
MF0ueDg2T3BlcmFuZCg6aW50KSwgb2Zmc2V0UmVnaXN0ZXIoLTgsIHNwLng4Nk9wZXJhbmQoOnB0
cikpKX0iCi0gICAgICAgICAgICAgICAgJGFzbS5wdXRzICJtb3Yje3g4NlN1ZmZpeCg6aW50KX0g
I3tvcmRlck9wZXJhbmRzKG9wZXJhbmRzWzFdLng4Nk9wZXJhbmQoOmludCksIG9mZnNldFJlZ2lz
dGVyKC00LCBzcC54ODZPcGVyYW5kKDpwdHIpKSl9IgotICAgICAgICAgICAgICAgICRhc20ucHV0
cyAiZmxkI3t4ODZTdWZmaXgoOnB0cil9ICN7Z2V0U2l6ZVN0cmluZyg6ZG91YmxlKX0je29mZnNl
dFJlZ2lzdGVyKC04LCBzcC54ODZPcGVyYW5kKDpwdHIpKX0iCi0gICAgICAgICAgICAgICAgJGFz
bS5wdXRzICJmc3RwICN7b3BlcmFuZHNbMl0ueDg3T3BlcmFuZCgxKX0iCi0gICAgICAgICAgICBl
bHNlCi0gICAgICAgICAgICAgICAgJGFzbS5wdXRzICJtb3ZkICN7b3BlcmFuZHNbMF0ueDg2T3Bl
cmFuZCg6aW50KX0sICN7b3BlcmFuZHNbMl0ueDg2T3BlcmFuZCg6ZG91YmxlKX0iCi0gICAgICAg
ICAgICAgICAgJGFzbS5wdXRzICJtb3ZkICN7b3BlcmFuZHNbMV0ueDg2T3BlcmFuZCg6aW50KX0s
ICV4bW03IgotICAgICAgICAgICAgICAgICRhc20ucHV0cyAicHNsbHEgJDMyLCAleG1tNyIKLSAg
ICAgICAgICAgICAgICAkYXNtLnB1dHMgInBvciAleG1tNywgI3tvcGVyYW5kc1syXS54ODZPcGVy
YW5kKDpkb3VibGUpfSIKLSAgICAgICAgICAgIGVuZAorICAgICAgICAgICAgJGFzbS5wdXRzICJt
b3ZkICN7b3BlcmFuZHNbMF0ueDg2T3BlcmFuZCg6aW50KX0sICN7b3BlcmFuZHNbMl0ueDg2T3Bl
cmFuZCg6ZG91YmxlKX0iCisgICAgICAgICAgICAkYXNtLnB1dHMgIm1vdmQgI3tvcGVyYW5kc1sx
XS54ODZPcGVyYW5kKDppbnQpfSwgJXhtbTciCisgICAgICAgICAgICAkYXNtLnB1dHMgInBzbGxx
ICQzMiwgJXhtbTciCisgICAgICAgICAgICAkYXNtLnB1dHMgInBvciAleG1tNywgI3tvcGVyYW5k
c1syXS54ODZPcGVyYW5kKDpkb3VibGUpfSIKICAgICAgICAgd2hlbiAiZmQyaWkiCi0gICAgICAg
ICAgICBpZiB1c2VYODcKLSAgICAgICAgICAgICAgICBzcCA9IFJlZ2lzdGVySUQubmV3KG5pbCwg
InNwIikKLSAgICAgICAgICAgICAgICBpZiAob3BlcmFuZHNbMF0ueDg3RGVmYXVsdFN0YWNrUG9z
aXRpb24gPT0gMCkKLSAgICAgICAgICAgICAgICAgICAgJGFzbS5wdXRzICJmc3Qje3g4NlN1ZmZp
eCg6cHRyKX0gI3tnZXRTaXplU3RyaW5nKDpkb3VibGUpfSN7b2Zmc2V0UmVnaXN0ZXIoLTgsIHNw
Lng4Nk9wZXJhbmQoOnB0cikpfSIKLSAgICAgICAgICAgICAgICBlbHNlCi0gICAgICAgICAgICAg
ICAgICAgICRhc20ucHV0cyAiZmxkICN7b3BlcmFuZHNbMF0ueDg3T3BlcmFuZCgwKX0iCi0gICAg
ICAgICAgICAgICAgICAgICRhc20ucHV0cyAiZnN0cGwgLTgoI3tzcC54ODZPcGVyYW5kKDpwdHIp
fSkiCi0gICAgICAgICAgICAgICAgZW5kCi0gICAgICAgICAgICAgICAgJGFzbS5wdXRzICJtb3Yj
e3g4NlN1ZmZpeCg6aW50KX0gI3tvcmRlck9wZXJhbmRzKG9mZnNldFJlZ2lzdGVyKC04LCBzcC54
ODZPcGVyYW5kKDpwdHIpKSwgb3BlcmFuZHNbMV0ueDg2T3BlcmFuZCg6aW50KSl9IgotICAgICAg
ICAgICAgICAgICRhc20ucHV0cyAibW92I3t4ODZTdWZmaXgoOmludCl9ICN7b3JkZXJPcGVyYW5k
cyhvZmZzZXRSZWdpc3RlcigtNCwgc3AueDg2T3BlcmFuZCg6cHRyKSksIG9wZXJhbmRzWzJdLng4
Nk9wZXJhbmQoOmludCkpfSIKLSAgICAgICAgICAgIGVsc2UKLSAgICAgICAgICAgICAgICAkYXNt
LnB1dHMgIm1vdmQgI3tvcGVyYW5kc1swXS54ODZPcGVyYW5kKDpkb3VibGUpfSwgI3tvcGVyYW5k
c1sxXS54ODZPcGVyYW5kKDppbnQpfSIKLSAgICAgICAgICAgICAgICAkYXNtLnB1dHMgIm1vdnNk
ICN7b3BlcmFuZHNbMF0ueDg2T3BlcmFuZCg6ZG91YmxlKX0sICV4bW03IgotICAgICAgICAgICAg
ICAgICRhc20ucHV0cyAicHNybHEgJDMyLCAleG1tNyIKLSAgICAgICAgICAgICAgICAkYXNtLnB1
dHMgIm1vdmQgJXhtbTcsICN7b3BlcmFuZHNbMl0ueDg2T3BlcmFuZCg6aW50KX0iCi0gICAgICAg
ICAgICBlbmQKKyAgICAgICAgICAgICRhc20ucHV0cyAibW92ZCAje29wZXJhbmRzWzBdLng4Nk9w
ZXJhbmQoOmRvdWJsZSl9LCAje29wZXJhbmRzWzFdLng4Nk9wZXJhbmQoOmludCl9IgorICAgICAg
ICAgICAgJGFzbS5wdXRzICJtb3ZzZCAje29wZXJhbmRzWzBdLng4Nk9wZXJhbmQoOmRvdWJsZSl9
LCAleG1tNyIKKyAgICAgICAgICAgICRhc20ucHV0cyAicHNybHEgJDMyLCAleG1tNyIKKyAgICAg
ICAgICAgICRhc20ucHV0cyAibW92ZCAleG1tNywgI3tvcGVyYW5kc1syXS54ODZPcGVyYW5kKDpp
bnQpfSIKICAgICAgICAgd2hlbiAiZnEyZCIKLSAgICAgICAgICAgIGlmIHVzZVg4NwotICAgICAg
ICAgICAgICAgIHNwID0gUmVnaXN0ZXJJRC5uZXcobmlsLCAic3AiKQotICAgICAgICAgICAgICAg
ICRhc20ucHV0cyAibW92cSAje29wZXJhbmRzWzBdLng4Nk9wZXJhbmQoOnF1YWQpfSwgLTgoI3tz
cC54ODZPcGVyYW5kKDpwdHIpfSkiCi0gICAgICAgICAgICAgICAgJGFzbS5wdXRzICJmbGRsIC04
KCN7c3AueDg2T3BlcmFuZCg6cHRyKX0pIgotICAgICAgICAgICAgICAgICRhc20ucHV0cyAiZnN0
cCAje29wZXJhbmRzWzFdLng4N09wZXJhbmQoMSl9IgorICAgICAgICAgICAgaWYgIWlzSW50ZWxT
eW50YXgKKyAgICAgICAgICAgICAgICAkYXNtLnB1dHMgIm1vdnEgI3tvcGVyYW5kc1swXS54ODZP
cGVyYW5kKDpxdWFkKX0sICN7b3BlcmFuZHNbMV0ueDg2T3BlcmFuZCg6ZG91YmxlKX0iCiAgICAg
ICAgICAgICBlbHNlCi0gICAgICAgICAgICAgICAgaWYgIWlzSW50ZWxTeW50YXgKLSAgICAgICAg
ICAgICAgICAgICAgJGFzbS5wdXRzICJtb3ZxICN7b3BlcmFuZHNbMF0ueDg2T3BlcmFuZCg6cXVh
ZCl9LCAje29wZXJhbmRzWzFdLng4Nk9wZXJhbmQoOmRvdWJsZSl9IgotICAgICAgICAgICAgICAg
IGVsc2UKLSAgICAgICAgICAgICAgICAgICAgIyBNQVNNIGRvZXMgbm90IGFjY2VwdCByZWdpc3Rl
ciBvcGVyYW5kcyB3aXRoIG1vdnEuCi0gICAgICAgICAgICAgICAgICAgICMgRGVidWdnaW5nIHNo
b3dzIHRoYXQgbW92ZCBhY3R1YWxseSBtb3ZlcyBhIHF3b3JkIHdoZW4gdXNpbmcgTUFTTS4KLSAg
ICAgICAgICAgICAgICAgICAgJGFzbS5wdXRzICJtb3ZkICN7b3BlcmFuZHNbMV0ueDg2T3BlcmFu
ZCg6ZG91YmxlKX0sICN7b3BlcmFuZHNbMF0ueDg2T3BlcmFuZCg6cXVhZCl9IgotICAgICAgICAg
ICAgICAgIGVuZAorICAgICAgICAgICAgICAgICMgTUFTTSBkb2VzIG5vdCBhY2NlcHQgcmVnaXN0
ZXIgb3BlcmFuZHMgd2l0aCBtb3ZxLgorICAgICAgICAgICAgICAgICMgRGVidWdnaW5nIHNob3dz
IHRoYXQgbW92ZCBhY3R1YWxseSBtb3ZlcyBhIHF3b3JkIHdoZW4gdXNpbmcgTUFTTS4KKyAgICAg
ICAgICAgICAgICAkYXNtLnB1dHMgIm1vdmQgI3tvcGVyYW5kc1sxXS54ODZPcGVyYW5kKDpkb3Vi
bGUpfSwgI3tvcGVyYW5kc1swXS54ODZPcGVyYW5kKDpxdWFkKX0iCiAgICAgICAgICAgICBlbmQK
ICAgICAgICAgd2hlbiAiZmQycSIKLSAgICAgICAgICAgIGlmIHVzZVg4NwotICAgICAgICAgICAg
ICAgIHNwID0gUmVnaXN0ZXJJRC5uZXcobmlsLCAic3AiKQotICAgICAgICAgICAgICAgIGlmIChv
cGVyYW5kc1swXS54ODdEZWZhdWx0U3RhY2tQb3NpdGlvbiA9PSAwKQotICAgICAgICAgICAgICAg
ICAgICAkYXNtLnB1dHMgImZzdCN7eDg2U3VmZml4KDppbnQpfSAje2dldFNpemVTdHJpbmcoOmlu
dCl9I3tvZmZzZXRSZWdpc3RlcigtOCwgc3AueDg2T3BlcmFuZCg6cHRyKSl9IgotICAgICAgICAg
ICAgICAgIGVsc2UKLSAgICAgICAgICAgICAgICAgICAgJGFzbS5wdXRzICJmbGQgI3tvcGVyYW5k
c1swXS54ODdPcGVyYW5kKDApfSIKLSAgICAgICAgICAgICAgICAgICAgJGFzbS5wdXRzICJmc3Rw
bCAtOCgje3NwLng4Nk9wZXJhbmQoOnB0cil9KSIKLSAgICAgICAgICAgICAgICBlbmQKLSAgICAg
ICAgICAgICAgICAkYXNtLnB1dHMgIm1vdnEgLTgoI3tzcC54ODZPcGVyYW5kKDpwdHIpfSksICN7
b3BlcmFuZHNbMV0ueDg2T3BlcmFuZCg6cXVhZCl9IgorICAgICAgICAgICAgaWYgIWlzSW50ZWxT
eW50YXgKKyAgICAgICAgICAgICAgICAkYXNtLnB1dHMgIm1vdnEgI3tvcGVyYW5kc1swXS54ODZP
cGVyYW5kKDpkb3VibGUpfSwgI3tvcGVyYW5kc1sxXS54ODZPcGVyYW5kKDpxdWFkKX0iCiAgICAg
ICAgICAgICBlbHNlCi0gICAgICAgICAgICAgICAgaWYgIWlzSW50ZWxTeW50YXgKLSAgICAgICAg
ICAgICAgICAgICAgJGFzbS5wdXRzICJtb3ZxICN7b3BlcmFuZHNbMF0ueDg2T3BlcmFuZCg6ZG91
YmxlKX0sICN7b3BlcmFuZHNbMV0ueDg2T3BlcmFuZCg6cXVhZCl9IgotICAgICAgICAgICAgICAg
IGVsc2UKLSAgICAgICAgICAgICAgICAgICAgIyBNQVNNIGRvZXMgbm90IGFjY2VwdCByZWdpc3Rl
ciBvcGVyYW5kcyB3aXRoIG1vdnEuCi0gICAgICAgICAgICAgICAgICAgICMgRGVidWdnaW5nIHNo
b3dzIHRoYXQgbW92ZCBhY3R1YWxseSBtb3ZlcyBhIHF3b3JkIHdoZW4gdXNpbmcgTUFTTS4KLSAg
ICAgICAgICAgICAgICAgICAgJGFzbS5wdXRzICJtb3ZkICN7b3BlcmFuZHNbMV0ueDg2T3BlcmFu
ZCg6cXVhZCl9LCAje29wZXJhbmRzWzBdLng4Nk9wZXJhbmQoOmRvdWJsZSl9IgotICAgICAgICAg
ICAgICAgIGVuZAorICAgICAgICAgICAgICAgICMgTUFTTSBkb2VzIG5vdCBhY2NlcHQgcmVnaXN0
ZXIgb3BlcmFuZHMgd2l0aCBtb3ZxLgorICAgICAgICAgICAgICAgICMgRGVidWdnaW5nIHNob3dz
IHRoYXQgbW92ZCBhY3R1YWxseSBtb3ZlcyBhIHF3b3JkIHdoZW4gdXNpbmcgTUFTTS4KKyAgICAg
ICAgICAgICAgICAkYXNtLnB1dHMgIm1vdmQgI3tvcGVyYW5kc1sxXS54ODZPcGVyYW5kKDpxdWFk
KX0sICN7b3BlcmFuZHNbMF0ueDg2T3BlcmFuZCg6ZG91YmxlKX0iCiAgICAgICAgICAgICBlbmQK
ICAgICAgICAgd2hlbiAiYm8iCiAgICAgICAgICAgICAkYXNtLnB1dHMgImpvICN7b3BlcmFuZHNb
MF0uYXNtTGFiZWx9IgpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUv
TWF0aENvbW1vbi5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9NYXRoQ29tbW9u
LmNwcAppbmRleCBhYmUyNmNjNzJhOC4uZTJiNzYxZjYwZTQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9ydW50aW1lL01hdGhDb21tb24uY3BwCisrKyBiL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9ydW50aW1lL01hdGhDb21tb24uY3BwCkBAIC00MzcsMjAgKzQzNyw4IEBAIGRvdWJs
ZSBKSVRfT1BFUkFUSU9OIG9wZXJhdGlvbk1hdGhQb3coZG91YmxlIHgsIGRvdWJsZSB5KQogICAg
IGludDMyX3QgeUFzSW50ID0geTsKICAgICBpZiAoc3RhdGljX2Nhc3Q8ZG91YmxlPih5QXNJbnQp
ID09IHkgJiYgeUFzSW50ID49IDAgJiYgeUFzSW50IDw9IG1heEV4cG9uZW50Rm9ySW50ZWdlck1h
dGhQb3cpIHsKICAgICAgICAgLy8gSWYgdGhlIGV4cG9uZW50IGlzIGEgc21hbGwgcG9zaXRpdmUg
aW50MzIgaW50ZWdlciwgd2UgZG8gYSBmYXN0IGV4cG9uZW50aWF0aW9uCi0KLSAgICAgICAgLy8g
RG8gbm90IHVzZSB4ODcgdmFsdWVzIGZvciBhY2N1bXVsYXRpb24uIHg4NyB2YWx1ZXMgaGFzIDgw
Yml0IHByZWNpc2lvbi4KLSAgICAgICAgLy8gVGhlIHJlc3VsdCBwcm9kdWNlZCBieSB4ODcncyA4
MGJpdCBkb3VibGUgcHJlY2lzaW9uIGRpZmZlcnMgZnJvbSB0aGUgb25lIGNhbGN1bGF0ZWQgd2l0
aCBTU0UyIGluIERGRy4KLSAgICAgICAgLy8gVXNpbmcgdm9sYXRpbGUgZG91YmxlIGlzIHdvcmth
cm91bmQgZm9yIHRoaXMgcHJvYmxlbS4gQnkgc3BlY2lmeWluZyB2b2xhdGlsZSwgd2UgZXhwZWN0
IHRoYXQgYHJlc3VsdGAgYW5kIGB4ZGAKLSAgICAgICAgLy8gYXJlIHN0b3JlZCBpbiB0aGUgc3Rh
Y2suIEFuZCBhdCB0aGF0IHRpbWUsIHdlIGV4cGVjdCB0aGF0IHRoZXkgYXJlIHJvdW5kZWQgYnkg
ZnN0L2ZzdHBbMSwgMl0uCi0gICAgICAgIC8vIFsxXTogaHR0cHM6Ly9nY2MuZ251Lm9yZy93aWtp
L3g4N25vdGUKLSAgICAgICAgLy8gWzJdOiBodHRwczovL2djYy5nbnUub3JnL2J1Z3ppbGxhL3No
b3dfYnVnLmNnaT9pZD0zMjMKLSNpZiAhQ1BVKFg4NikgfHwgKGRlZmluZWQoX19TU0UyX01BVEhf
XykgJiYgZGVmaW5lZChfX1NTRTJfXykpCi0gICAgICAgIHR5cGVkZWYgZG91YmxlIERvdWJsZVZh
bHVlOwotI2Vsc2UKLSAgICAgICAgdHlwZWRlZiB2b2xhdGlsZSBkb3VibGUgRG91YmxlVmFsdWU7
Ci0jZW5kaWYKLSAgICAgICAgRG91YmxlVmFsdWUgcmVzdWx0ID0gMTsKLSAgICAgICAgRG91Ymxl
VmFsdWUgeGQgPSB4OworICAgICAgICBkb3VibGUgcmVzdWx0ID0gMTsKKyAgICAgICAgZG91Ymxl
IHhkID0geDsKICAgICAgICAgd2hpbGUgKHlBc0ludCkgewogICAgICAgICAgICAgaWYgKHlBc0lu
dCAmIDEpCiAgICAgICAgICAgICAgICAgcmVzdWx0ICo9IHhkOwpkaWZmIC0tZ2l0IGEvVG9vbHMv
Q2hhbmdlTG9nIGIvVG9vbHMvQ2hhbmdlTG9nCmluZGV4IDUzMmFmMTdhOTg2Li5jYmY4NmNiYjA2
NiAxMDA2NDQKLS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAt
MSwzICsxLDE1IEBACisyMDE5LTAyLTIwICBYYW4gTG9wZXogIDx4YW5AaWdhbGlhLmNvbT4KKwor
ICAgICAgICBbSlNDXVt4ODZdIERyb3Agc3VwcG9ydCBmb3IgeDg3IGZsb2F0aW5nIHBvaW50Cisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xOTQ4NTMKKwor
ICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBGb3JjZSBTU0Uy
IG9uIHg4Ni8zMmJpdCBidWlsZHMuCisKKyAgICAgICAgKiBTY3JpcHRzL3dlYmtpdGRpcnMucG06
CisgICAgICAgIChnZW5lcmF0ZUJ1aWxkU3lzdGVtRnJvbUNNYWtlUHJvamVjdCk6CisKIDIwMTkt
MDMtMjEgIENhcmxvcyBHYXJjaWEgQ2FtcG9zICA8Y2dhcmNpYUBpZ2FsaWEuY29tPgogCiAgICAg
ICAgIFtHVEtdW1dQRV0gQWRkIEFQSSB0byBwcm92aWRlIGdlb2xvY2F0aW9uIGluZm9ybWF0aW9u
CmRpZmYgLS1naXQgYS9Ub29scy9TY3JpcHRzL3dlYmtpdGRpcnMucG0gYi9Ub29scy9TY3JpcHRz
L3dlYmtpdGRpcnMucG0KaW5kZXggZDUyYjM1MWQxN2QuLjNkNTk3ZjIxNDVmIDEwMDc1NQotLS0g
YS9Ub29scy9TY3JpcHRzL3dlYmtpdGRpcnMucG0KKysrIGIvVG9vbHMvU2NyaXB0cy93ZWJraXRk
aXJzLnBtCkBAIC0yMjc3LDcgKzIyNzcsOSBAQCBzdWIgZ2VuZXJhdGVCdWlsZFN5c3RlbUZyb21D
TWFrZVByb2plY3QKICAgICBwdXNoIEBhcmdzLCAnIicgLiAkY21ha2VTb3VyY2VEaXIgLiAnIic7
CiAKICAgICAjIENvbXBpbGVyIG9wdGlvbnMgdG8ga2VlcCBmbG9hdGluZyBwb2ludCB2YWx1ZXMg
Y29uc2lzdGVudAotICAgICMgYmV0d2VlbiAzMi1iaXQgYW5kIDY0LWJpdCBhcmNoaXRlY3R1cmVz
LgorICAgICMgYmV0d2VlbiAzMi1iaXQgYW5kIDY0LWJpdCBhcmNoaXRlY3R1cmVzLiBUaGlzIG1h
a2VzIHVzIHVzZSBTU0UKKyAgICAjIHdoZW4gb3VyIGFyY2hpdGVjdHVyZSBpcyAzMi1iaXQgKCdp
Njg2Jykgb3Igd2hlbiBpdCdzIG5vdCBidXQKKyAgICAjIHRoZSB1c2VyIGhhcyByZXF1ZXN0ZWQg
YSAzMi1iaXQgYnVpbGQuCiAgICAgaWYgKChhcmNoaXRlY3R1cmUoKSBlcSAiaTY4NiIgfHwgKGFy
Y2hpdGVjdHVyZSgpIGVxICJ4ODZfNjQiICYmIHNob3VsZEJ1aWxkMzJCaXQoKSkpICYmICFpc0Ny
b3NzQ29tcGlsYXRpb24oKSAmJiAhaXNBbnlXaW5kb3dzKCkpIHsKICAgICAgICAgJEVOVnsnQ0ZM
QUdTJ30gPSAiLW1hcmNoPXBlbnRpdW00IC1tc3NlMiAtbWZwbWF0aD1zc2UgIiAuICgkRU5WeydD
RkxBR1MnfSB8fCAiIik7CiAgICAgICAgICRFTlZ7J0NYWEZMQUdTJ30gPSAiLW1hcmNoPXBlbnRp
dW00IC1tc3NlMiAtbWZwbWF0aD1zc2UgIiAuICgkRU5WeydDWFhGTEFHUyd9IHx8ICIiKTsKLS0g
CjIuMjAuMQoK
</data>

          </attachment>
      

    </bug>

</bugzilla>