<?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>229618</bug_id>
          
          <creation_ts>2021-08-27 10:51:14 -0700</creation_ts>
          <short_desc>Make ARM64 and X86_64 probe code a little bit more efficient.</short_desc>
          <delta_ts>2021-09-02 04:04:29 -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>
          
          <see_also>https://bugs.webkit.org/show_bug.cgi?id=229629</see_also>
    
    <see_also>https://bugs.webkit.org/show_bug.cgi?id=229794</see_also>
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Mark Lam">mark.lam</reporter>
          <assigned_to name="Mark Lam">mark.lam</assigned_to>
          <cc>dpino</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>jmason</cc>
    
    <cc>keith_miller</cc>
    
    <cc>msaboff</cc>
    
    <cc>saam</cc>
    
    <cc>tzagallo</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>ysuzuki</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1788070</commentid>
    <comment_count>0</comment_count>
    <who name="Mark Lam">mark.lam</who>
    <bug_when>2021-08-27 10:51:14 -0700</bug_when>
    <thetext>We were using an unnecessary indirect call when we can be using a direct call.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1788071</commentid>
    <comment_count>1</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2021-08-27 10:51:43 -0700</bug_when>
    <thetext>&lt;rdar://problem/82445743&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1788076</commentid>
    <comment_count>2</comment_count>
      <attachid>436642</attachid>
    <who name="Mark Lam">mark.lam</who>
    <bug_when>2021-08-27 11:12:58 -0700</bug_when>
    <thetext>Created attachment 436642
proposed patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1788079</commentid>
    <comment_count>3</comment_count>
      <attachid>436643</attachid>
    <who name="Mark Lam">mark.lam</who>
    <bug_when>2021-08-27 11:19:17 -0700</bug_when>
    <thetext>Created attachment 436643
proposed patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1788082</commentid>
    <comment_count>4</comment_count>
      <attachid>436643</attachid>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2021-08-27 11:34:35 -0700</bug_when>
    <thetext>Comment on attachment 436643
proposed patch.

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

&gt; Source/JavaScriptCore/ChangeLog:18
&gt; +        For MacroAssemblerX86Common.cpp, we left the X86 and MSVC implementations unchanged.
&gt; +        For X86, I don&apos;t know the stack alignment requirements (if any) plus we might want
&gt; +        to delete this code eventually since we&apos;re not supporting the X86 JIT anymore.

Right.

&gt; Source/JavaScriptCore/assembler/MacroAssemblerARM64.cpp:-323
&gt; -static_assert(JIT_PROBE_EXECUTOR_PTR_TAG == JITProbeExecutorPtrTag);

Let&apos;s remove JITProbeExecutorPtrTag from JSCPtrTag.h since it is no longer used.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1788085</commentid>
    <comment_count>5</comment_count>
    <who name="Mark Lam">mark.lam</who>
    <bug_when>2021-08-27 11:36:47 -0700</bug_when>
    <thetext>(In reply to Yusuke Suzuki from comment #4)
&gt; &gt; Source/JavaScriptCore/assembler/MacroAssemblerARM64.cpp:-323
&gt; &gt; -static_assert(JIT_PROBE_EXECUTOR_PTR_TAG == JITProbeExecutorPtrTag);
&gt; 
&gt; Let&apos;s remove JITProbeExecutorPtrTag from JSCPtrTag.h since it is no longer
&gt; used.

Ah yes, I had planned to do that but forgot.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1788089</commentid>
    <comment_count>6</comment_count>
      <attachid>436647</attachid>
    <who name="Mark Lam">mark.lam</who>
    <bug_when>2021-08-27 11:41:02 -0700</bug_when>
    <thetext>Created attachment 436647
proposed patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1788135</commentid>
    <comment_count>7</comment_count>
      <attachid>436647</attachid>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2021-08-27 13:12:25 -0700</bug_when>
    <thetext>Comment on attachment 436647
proposed patch.

r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1788151</commentid>
    <comment_count>8</comment_count>
    <who name="Mark Lam">mark.lam</who>
    <bug_when>2021-08-27 13:50:24 -0700</bug_when>
    <thetext>Thanks for the review.  Landed in r281718: &lt;http://trac.webkit.org/r281718&gt;.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1788171</commentid>
    <comment_count>9</comment_count>
    <who name="Mark Lam">mark.lam</who>
    <bug_when>2021-08-27 14:19:31 -0700</bug_when>
    <thetext>This patch has a bug (accidentally deleted 2 lines) that is fixed in https://bugs.webkit.org/show_bug.cgi?id=229629.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1789617</commentid>
    <comment_count>10</comment_count>
    <who name="Diego Pino">dpino</who>
    <bug_when>2021-09-02 00:58:36 -0700</bug_when>
    <thetext>This patch introduced a regression in Ubuntu 18.04. Compilation aborts on a linking error:

https://build.webkit.org/#/builders/71/builds/222

FAILED: lib/libjavascriptcoregtk-4.0.so.18.19.2
: &amp;&amp; /usr/lib/ccache/g++-8 -fPIC -fdiagnostics-color=always -Wextra -Wall -Wno-expansion-to-defined -Wno-noexcept-type -Wno-psabi -Wno-misleading-indentation -Wno-maybe-uninitialized -Wwrite-strings -Wun
/usr/bin/ld.gold: error: Source/JavaScriptCore/CMakeFiles/JavaScriptCore.dir/__/__/JavaScriptCore/DerivedSources/unified-sources/UnifiedSource-cd2e8cfa-2.cpp.o: requires dynamic R_X86_64_PC32 reloc again
collect2: error: ld returned 1 exit status
[207/6083] Building CXX object Source/ThirdParty/ANGLE/CMakeFiles/ANGLE.dir/src/compiler/translator/tree_ops/RewriteAtomicFunctionExpressions.cpp.o
ninja: build stopped: subcommand failed.
program finished with exit code 254

This Ubuntu 18.04 bot uses GCC-8 (v8.4.0) and links with GNU Gold (GNU Binutils for Ubuntu 2.30 - 1.15).

On the Debian bot this regression didn&apos;t happen. It uses a similar compiler and linker. Compiler: v8.3.0. Linker: GNU Binutils for Debian 2.31.1 - 1.16.

Any clue or hint on what might have gone wrong?
There is a Debian bot with</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1789621</commentid>
    <comment_count>11</comment_count>
    <who name="Mark Lam">mark.lam</who>
    <bug_when>2021-09-02 01:16:58 -0700</bug_when>
    <thetext>(In reply to Diego Pino from comment #10)
&gt; This patch introduced a regression in Ubuntu 18.04. Compilation aborts on a
&gt; linking error:
&gt; 
...
&gt; /usr/bin/ld.gold: error:
&gt; Source/JavaScriptCore/CMakeFiles/JavaScriptCore.dir/__/__/JavaScriptCore/
&gt; DerivedSources/unified-sources/UnifiedSource-cd2e8cfa-2.cpp.o: requires
&gt; dynamic R_X86_64_PC32 reloc again
&gt; collect2: error: ld returned 1 exit status
...
&gt; Any clue or hint on what might have gone wrong?
&gt; There is a Debian bot with

Looks like your linker doesn&apos;t support linking the direct branch I used in the inline asm statement in ctiMasmProbeTrampoline.  I can try re-instating the old way of working for non-darwin ports since the diff isn&apos;t big in for X86_64.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1789626</commentid>
    <comment_count>12</comment_count>
    <who name="Mark Lam">mark.lam</who>
    <bug_when>2021-09-02 01:27:49 -0700</bug_when>
    <thetext>(In reply to Mark Lam from comment #11)
&gt; Looks like your linker doesn&apos;t support linking the direct branch I used in
&gt; the inline asm statement in ctiMasmProbeTrampoline.  I can try re-instating
&gt; the old way of working for non-darwin ports since the diff isn&apos;t big in for
&gt; X86_64.

See https://bugs.webkit.org/show_bug.cgi?id=229794.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1789644</commentid>
    <comment_count>13</comment_count>
    <who name="Jim Mason">jmason</who>
    <bug_when>2021-09-02 02:22:11 -0700</bug_when>
    <thetext>FYI, also getting an ld fatal error with the Sun linker.  It bails on the new X86_64 inline assembly instruction `call executeJSCJITProbe` (text relocation remains against symbol executeJSCJITProbe.)

If I change to `call executeJSCJITProbe@PLT`, it links and runs successfully.  I am patching it locally like this:

--- a/Source/JavaScriptCore/assembler/MacroAssemblerX86Common.cpp       2021-09-01 18:03:12.777668266 +0000
+++ b/Source/JavaScriptCore/assembler/MacroAssemblerX86Common.cpp       2021-09-01 19:00:37.913407269 +0000
@@ -596,7 +596,7 @@
     &quot;movq %xmm15, &quot; STRINGIZE_VALUE_OF(PROBE_CPU_XMM15_OFFSET) &quot;(%rsp)&quot; &quot;\n&quot;
 
     &quot;movq %rsp, %rdi&quot; &quot;\n&quot; // the Probe::State* arg.
-    &quot;call &quot; SYMBOL_STRING(executeJSCJITProbe) &quot;\n&quot;
+    &quot;call &quot; GLOBAL_REFERENCE(executeJSCJITProbe) &quot;\n&quot;
 
     // Make sure the Probe::State is entirely below the result stack pointer so
     // that register values are still preserved when we call the initializeStack

where the GLOBAL_REFERENCE macro is appending @PLT.

I may be the same linker issue Diego is reporting in Ubuntu.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1789658</commentid>
    <comment_count>14</comment_count>
    <who name="Jim Mason">jmason</who>
    <bug_when>2021-09-02 04:04:29 -0700</bug_when>
    <thetext>I applied Yusuke&apos;s speculative patch (r281911) instead of my own, and can confirm it clears the issue with the Sun linker.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>436642</attachid>
            <date>2021-08-27 11:12:58 -0700</date>
            <delta_ts>2021-08-27 11:29:37 -0700</delta_ts>
            <desc>proposed patch.</desc>
            <filename>bug-229618.patch</filename>
            <type>text/plain</type>
            <size>21182</size>
            <attacher name="Mark Lam">mark.lam</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkocmV2aXNpb24gMjgxNzAyKQorKysgU291cmNl
L0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDM5IEBA
CisyMDIxLTA4LTI3ICBNYXJrIExhbSAgPG1hcmsubGFtQGFwcGxlLmNvbT4KKworICAgICAgICBN
YWtlIEFSTTY0IGFuZCBYODZfNjQgcHJvYmUgY29kZSBhIGxpdHRsZSBiaXQgbW9yZSBlZmZpY2ll
bnQuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMjk2
MTgKKyAgICAgICAgcmRhcjovLzgyNDQ1NzQzCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZ
IChPT1BTISkuCisKKyAgICAgICAgV2Ugd2VyZSB1c2luZyBhbiB1bm5lY2Vzc2FyeSBpbmRpcmVj
dCBjYWxsIHRvIGNhbGwgUHJvYmU6OmV4ZWN1dGVQcm9iZSgpIHdoZW4gd2UKKyAgICAgICAgY2Fu
IGJlIHVzaW5nIGEgZGlyZWN0IGNhbGwsIHdoaWNoIGVtaXRzIGxlc3MgSklUIGNvZGUuICBUaGlz
IHBhdGNoIGNoYW5nZXMgdGhlCisgICAgICAgIEFSTTY0IGFuZCBYODZfNjQgcG9ydHMgdG8gdXNl
IGEgZGlyZWN0IGNhbGwgbm93LgorCisgICAgICAgIEFsc28gcmVuYW1lIGV4ZWN1dGVQcm9iZSB0
byBleGVjdXRlSlNDSklUUHJvYmUgdG8gbWFrZSBpdCBtb3JlIHVuaXF1ZSBzaW5jZSB3ZSdyZQor
ICAgICAgICBzd2l0Y2hpbmcgdG8gZXh0ZXJuICJDIiBsaW5rYWdlIGZvciB0aGlzIGZ1bmN0aW9u
IG5vdy4KKworICAgICAgICBGb3IgTWFjcm9Bc3NlbWJsZXJYODZDb21tb24uY3BwLCB3ZSBsZWZ0
IHRoZSBYODYgYW5kIE1TVkMgaW1wbGVtZW50YXRpb25zIHVuY2hhbmdlZC4KKyAgICAgICAgRm9y
IFg4NiwgSSBkb24ndCBrbm93IHRoZSBzdGFjayBhbGlnbm1lbnQgcmVxdWlyZW1lbnRzIChpZiBh
bnkpIHBsdXMgd2UgbWlnaHQgd2FudAorICAgICAgICB0byBkZWxldGUgdGhpcyBjb2RlIGV2ZW50
dWFsbHkgc2luY2Ugd2UncmUgbm90IHN1cHBvcnRpbmcgdGhlIFg4NiBKSVQgYW55bW9yZS4KKyAg
ICAgICAgRm9yIE1TVkMsIEkgZG9uJ3Qga25vdyB0aGUgd2F5IHRvIGV4cHJlc3MgYSBkaXJlY3Qg
Y2FsbCBpbiBNU1ZDIGFzc2VtYmx5LCBhbmQgaGF2ZQorICAgICAgICBubyB3YXkgdG8gdGVzdCBp
dC4gIFdpbGwgbGVhdmUgdGhhdCBhcyBhbiBleGVyY2lzZSBmb3IgZm9sa3Mgd29ya2luZyBvbiB0
aGUgV2luZG93cworICAgICAgICBwb3J0cyBpZiB0aGV5IGFyZSBpbnRlcmVzdGVkLgorCisgICAg
ICAgICogYXNzZW1ibGVyL01hY3JvQXNzZW1ibGVyQVJNNjQuY3BwOgorICAgICAgICAoSlNDOjpN
YWNyb0Fzc2VtYmxlcjo6cHJvYmUpOgorICAgICAgICAqIGFzc2VtYmxlci9NYWNyb0Fzc2VtYmxl
ckFSTXY3LmNwcDoKKyAgICAgICAgKEpTQzo6TWFjcm9Bc3NlbWJsZXI6OnByb2JlKToKKyAgICAg
ICAgKiBhc3NlbWJsZXIvTWFjcm9Bc3NlbWJsZXJNSVBTLmNwcDoKKyAgICAgICAgKEpTQzo6TWFj
cm9Bc3NlbWJsZXI6OnByb2JlKToKKyAgICAgICAgKiBhc3NlbWJsZXIvTWFjcm9Bc3NlbWJsZXJY
ODZDb21tb24uY3BwOgorICAgICAgICAoSlNDOjpjdGlNYXNtUHJvYmVUcmFtcG9saW5lKToKKyAg
ICAgICAgKEpTQzo6TWFjcm9Bc3NlbWJsZXI6OnByb2JlKToKKyAgICAgICAgKiBhc3NlbWJsZXIv
UHJvYmVDb250ZXh0LmNwcDoKKyAgICAgICAgKEpTQzo6UHJvYmU6OmV4ZWN1dGVKU0NKSVRQcm9i
ZSk6CisgICAgICAgIChKU0M6OlByb2JlOjpleGVjdXRlUHJvYmUpOiBEZWxldGVkLgorICAgICAg
ICAqIGFzc2VtYmxlci9Qcm9iZUNvbnRleHQuaDoKKwogMjAyMS0wOC0yNyAgTWlraGFpbCBSLiBH
YWRlbGhhICA8bWlraGFpbEBpZ2FsaWEuY29tPgogCiAgICAgICAgIEF2b2lkIGluY3JlYXNpbmcg
cmVxdWlyZWQgYWxpZ25tZW50IG9mIHRhcmdldCB0eXBlIHdhcm5pbmcgb24gQVJNIDMyIGJpdHMK
SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9hc3NlbWJsZXIvTWFjcm9Bc3NlbWJsZXJBUk02
NC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2Fzc2VtYmxlci9NYWNy
b0Fzc2VtYmxlckFSTTY0LmNwcAkocmV2aXNpb24gMjgxNjg0KQorKysgU291cmNlL0phdmFTY3Jp
cHRDb3JlL2Fzc2VtYmxlci9NYWNyb0Fzc2VtYmxlckFSTTY0LmNwcAkod29ya2luZyBjb3B5KQpA
QCAtMjU1LDI1ICsyNTUsMjQgQEAgc3RydWN0IEluY29taW5nUHJvYmVSZWNvcmQgewogICAgIFVD
UFVSZWdpc3RlciB4MjQ7CiAgICAgVUNQVVJlZ2lzdGVyIHgyNTsKICAgICBVQ1BVUmVnaXN0ZXIg
eDI2OwotICAgIFVDUFVSZWdpc3RlciB4Mjc7Ci0gICAgVUNQVVJlZ2lzdGVyIHgyODsKICAgICBV
Q1BVUmVnaXN0ZXIgeDMwOyAvLyBscgorICAgIFVDUFVSZWdpc3RlciB4Mjc7IC8vIFNhdmVkIGlu
IHRyYW1wb2xpbmUgdG8gdXNlIGFzIHNjcmF0Y2guCisgICAgVUNQVVJlZ2lzdGVyIHVudXNlZEZv
ckFsaWdubWVudDsKIH07CiAKICNkZWZpbmUgSU5fWDI0X09GRlNFVCAoMCAqIEdQUkVHX1NJWkUp
CiAjZGVmaW5lIElOX1gyNV9PRkZTRVQgKDEgKiBHUFJFR19TSVpFKQogI2RlZmluZSBJTl9YMjZf
T0ZGU0VUICgyICogR1BSRUdfU0laRSkKLSNkZWZpbmUgSU5fWDI3X09GRlNFVCAoMyAqIEdQUkVH
X1NJWkUpCi0jZGVmaW5lIElOX1gyOF9PRkZTRVQgKDQgKiBHUFJFR19TSVpFKQotI2RlZmluZSBJ
Tl9YMzBfT0ZGU0VUICg1ICogR1BSRUdfU0laRSkKKyNkZWZpbmUgSU5fWDMwX09GRlNFVCAoMyAq
IEdQUkVHX1NJWkUpCisjZGVmaW5lIElOX1gyN19PRkZTRVQgKDQgKiBHUFJFR19TSVpFKQorLy8g
VGhlIDV0aCBzbG90IGlzIHVudXNlZC4gSXQncyBvbmx5IHRoZXJlIGZvciBhbGlnbm1lbnQuCiAj
ZGVmaW5lIElOX1NJWkUgICAgICAgKDYgKiBHUFJFR19TSVpFKQogCiBzdGF0aWNfYXNzZXJ0KElO
X1gyNF9PRkZTRVQgPT0gb2Zmc2V0b2YoSW5jb21pbmdQcm9iZVJlY29yZCwgeDI0KSwgIklOX1gy
NF9PRkZTRVQgaXMgaW5jb3JyZWN0Iik7CiBzdGF0aWNfYXNzZXJ0KElOX1gyNV9PRkZTRVQgPT0g
b2Zmc2V0b2YoSW5jb21pbmdQcm9iZVJlY29yZCwgeDI1KSwgIklOX1gyNV9PRkZTRVQgaXMgaW5j
b3JyZWN0Iik7CiBzdGF0aWNfYXNzZXJ0KElOX1gyNl9PRkZTRVQgPT0gb2Zmc2V0b2YoSW5jb21p
bmdQcm9iZVJlY29yZCwgeDI2KSwgIklOX1gyNl9PRkZTRVQgaXMgaW5jb3JyZWN0Iik7Ci1zdGF0
aWNfYXNzZXJ0KElOX1gyN19PRkZTRVQgPT0gb2Zmc2V0b2YoSW5jb21pbmdQcm9iZVJlY29yZCwg
eDI3KSwgIklOX1gyN19PRkZTRVQgaXMgaW5jb3JyZWN0Iik7Ci1zdGF0aWNfYXNzZXJ0KElOX1gy
OF9PRkZTRVQgPT0gb2Zmc2V0b2YoSW5jb21pbmdQcm9iZVJlY29yZCwgeDI4KSwgIklOX1gyMl9P
RkZTRVQgaXMgaW5jb3JyZWN0Iik7CiBzdGF0aWNfYXNzZXJ0KElOX1gzMF9PRkZTRVQgPT0gb2Zm
c2V0b2YoSW5jb21pbmdQcm9iZVJlY29yZCwgeDMwKSwgIklOX1gyM19PRkZTRVQgaXMgaW5jb3Jy
ZWN0Iik7CitzdGF0aWNfYXNzZXJ0KElOX1gyN19PRkZTRVQgPT0gb2Zmc2V0b2YoSW5jb21pbmdQ
cm9iZVJlY29yZCwgeDI3KSwgIklOX1gyN19PRkZTRVQgaXMgaW5jb3JyZWN0Iik7CiBzdGF0aWNf
YXNzZXJ0KElOX1NJWkUgPT0gc2l6ZW9mKEluY29taW5nUHJvYmVSZWNvcmQpLCAiSU5fU0laRSBp
cyBpbmNvcnJlY3QiKTsKIHN0YXRpY19hc3NlcnQoIShzaXplb2YoSW5jb21pbmdQcm9iZVJlY29y
ZCkgJiAweGYpLCAiSW5jb21pbmdQcm9iZVN0YWNrIG11c3QgYmUgMTYtYnl0ZSBhbGlnbmVkIik7
CiAKQEAgLTMxNywxMCArMzE2LDggQEAgc3RhdGljX2Fzc2VydCghKHNpemVvZihMUlJlc3RvcmF0
aW9uUmVjbwogCiAjaWYgQ1BVKEFSTTY0RSkKICNkZWZpbmUgSklUX1BST0JFX1BDX1BUUl9UQUcg
MHhlZWFjCi0jZGVmaW5lIEpJVF9QUk9CRV9FWEVDVVRPUl9QVFJfVEFHIDB4MjhkZQogI2RlZmlu
ZSBKSVRfUFJPQkVfU1RBQ0tfSU5JVElBTElaQVRJT05fRlVOQ1RJT05fUFRSX1RBRyAweDMxNWMK
IHN0YXRpY19hc3NlcnQoSklUX1BST0JFX1BDX1BUUl9UQUcgPT0gSklUUHJvYmVQQ1B0clRhZyk7
Ci1zdGF0aWNfYXNzZXJ0KEpJVF9QUk9CRV9FWEVDVVRPUl9QVFJfVEFHID09IEpJVFByb2JlRXhl
Y3V0b3JQdHJUYWcpOwogc3RhdGljX2Fzc2VydChKSVRfUFJPQkVfU1RBQ0tfSU5JVElBTElaQVRJ
T05fRlVOQ1RJT05fUFRSX1RBRyA9PSBKSVRQcm9iZVN0YWNrSW5pdGlhbGl6YXRpb25GdW5jdGlv
blB0clRhZyk7CiAjZW5kaWYKIApAQCAtMzQwLDE2ICszMzcsMTIgQEAgYXNtICgKICAgICAvLyAg
ICAgeDI0OiBwcm9iZSBmdW5jdGlvbgogICAgIC8vICAgICB4MjU6IHByb2JlIGFyZwogICAgIC8v
ICAgICB4MjY6IHNjcmF0Y2gsIHdhcyBjdGlNYXNtUHJvYmVUcmFtcG9saW5lCi0gICAgLy8gICAg
IHgyNzogc2NyYXRjaAotICAgIC8vICAgICB4Mjg6IFByb2JlOjpleGVjdXRlUHJvYmUKICAgICAv
LyAgICAgeDMwOiByZXR1cm4gYWRkcmVzcwogCisgICAgInN0ciAgICAgICB4MjcsIFtzcCwgIyIg
U1RSSU5HSVpFX1ZBTFVFX09GKElOX1gyN19PRkZTRVQpICJdIiAiXG4iCiAgICAgIm1vdiAgICAg
ICB4MjYsIHNwIiAiXG4iCi0gICAgIm1vdiAgICAgICB4MjcsIHNwIiAiXG4iCi0KLSAgICAic3Vi
ICAgICAgIHgyNywgeDI3LCAjIiBTVFJJTkdJWkVfVkFMVUVfT0YoUFJPQkVfU0laRV9QTFVTX0VY
VFJBUyArIE9VVF9TSVpFKSAiXG4iCi0gICAgImJpYyAgICAgICB4MjcsIHgyNywgIzB4ZiIgIlxu
IiAvLyBUaGUgQVJNIEVBQkkgc3BlY2lmaWVzIHRoYXQgdGhlIHN0YWNrIG5lZWRzIHRvIGJlIDE2
IGJ5dGUgYWxpZ25lZC4KLSAgICAibW92ICAgICAgIHNwLCB4MjciICJcbiIgLy8gU2V0IHRoZSBz
cCB0byBwcm90ZWN0IHRoZSBQcm9iZTo6U3RhdGUgZnJvbSBpbnRlcnJ1cHRzIGJlZm9yZSB3ZSBp
bml0aWFsaXplIGl0LgorICAgICJzdWIgICAgICAgeDI3LCBzcCwgIyIgU1RSSU5HSVpFX1ZBTFVF
X09GKFBST0JFX1NJWkVfUExVU19FWFRSQVMgKyBPVVRfU0laRSkgIlxuIgorICAgICJiaWMgICAg
ICAgc3AsIHgyNywgIzB4ZiIgIlxuIiAvLyBUaGUgQVJNIEVBQkkgc3BlY2lmaWVzIHRoYXQgdGhl
IHN0YWNrIG5lZWRzIHRvIGJlIDE2IGJ5dGUgYWxpZ25lZC4KIAogICAgICJzdHAgICAgICAgeDI0
LCB4MjUsIFtzcCwgIyIgU1RSSU5HSVpFX1ZBTFVFX09GKFBST0JFX1BST0JFX0ZVTkNUSU9OX09G
RlNFVCkgIl0iICJcbiIgLy8gU3RvcmUgdGhlIHByb2JlIGhhbmRsZXIgZnVuY3Rpb24gYW5kIGFy
ZyAocHJlbG9hZGVkIGludG8geDI0IGFuZCB4MjUKIApAQCAtMzYyLDggKzM1NSw5IEBAIGFzbSAo
CiAgICAgInN0cCAgICAgICB4OCwgeDksIFtzcCwgIyIgU1RSSU5HSVpFX1ZBTFVFX09GKFBST0JF
X0NQVV9YOF9PRkZTRVQpICJdIiAiXG4iCiAKICAgICAibGRwICAgICAgIHgyLCB4MywgW3gyNiwg
IyIgU1RSSU5HSVpFX1ZBTFVFX09GKElOX1gyNF9PRkZTRVQpICJdIiAiXG4iIC8vIFByZWxvYWQg
c2F2ZWQgeDI0IGFuZCB4MjUuCi0gICAgImxkcCAgICAgICB4NCwgeDUsIFt4MjYsICMiIFNUUklO
R0laRV9WQUxVRV9PRihJTl9YMjZfT0ZGU0VUKSAiXSIgIlxuIiAvLyBQcmVsb2FkIHNhdmVkIHgy
NiBhbmQgeDI3LgotICAgICJsZHAgICAgICAgeDYsIHg3LCBbeDI2LCAjIiBTVFJJTkdJWkVfVkFM
VUVfT0YoSU5fWDI4X09GRlNFVCkgIl0iICJcbiIgLy8gUHJlbG9hZCBzYXZlZCB4MjggYW5kIGxy
LgorICAgICJsZHAgICAgICAgeDQsIHg1LCBbeDI2LCAjIiBTVFJJTkdJWkVfVkFMVUVfT0YoSU5f
WDI2X09GRlNFVCkgIl0iICJcbiIgLy8gUHJlbG9hZCBzYXZlZCB4MjYgYW5kIGxyLgorICAgICJs
ZHIgICAgICAgeDI3LCBbeDI2LCAjIiBTVFJJTkdJWkVfVkFMVUVfT0YoSU5fWDI3X09GRlNFVCkg
Il0iICJcbiIKKwogICAgICJhZGQgICAgICAgeDI2LCB4MjYsICMiIFNUUklOR0laRV9WQUxVRV9P
RihJTl9TSVpFKSAiXG4iIC8vIENvbXB1dGUgdGhlIHNwIGJlZm9yZSB0aGUgcHJvYmUuCiAKICAg
ICAic3RwICAgICAgIHgxMCwgeDExLCBbc3AsICMiIFNUUklOR0laRV9WQUxVRV9PRihQUk9CRV9D
UFVfWDEwX09GRlNFVCkgIl0iICJcbiIKQEAgLTM3MywxMCArMzY3LDEwIEBAIGFzbSAoCiAgICAg
InN0cCAgICAgICB4MTgsIHgxOSwgW3NwLCAjIiBTVFJJTkdJWkVfVkFMVUVfT0YoUFJPQkVfQ1BV
X1gxOF9PRkZTRVQpICJdIiAiXG4iCiAgICAgInN0cCAgICAgICB4MjAsIHgyMSwgW3NwLCAjIiBT
VFJJTkdJWkVfVkFMVUVfT0YoUFJPQkVfQ1BVX1gyMF9PRkZTRVQpICJdIiAiXG4iCiAgICAgInN0
cCAgICAgICB4MjIsIHgyMywgW3NwLCAjIiBTVFJJTkdJWkVfVkFMVUVfT0YoUFJPQkVfQ1BVX1gy
Ml9PRkZTRVQpICJdIiAiXG4iCi0gICAgInN0cCAgICAgICB4MiwgeDMsIFtzcCwgIyIgU1RSSU5H
SVpFX1ZBTFVFX09GKFBST0JFX0NQVV9YMjRfT0ZGU0VUKSAiXSIgIlxuIiAvLyBTdG9yZSBzYXZl
ZCByMjQgYW5kIHIyNSAocHJlbG9hZGVkIGludG8geDIgYW5kIHgzIGFib3ZlKS4KLSAgICAic3Rw
ICAgICAgIHg0LCB4NSwgW3NwLCAjIiBTVFJJTkdJWkVfVkFMVUVfT0YoUFJPQkVfQ1BVX1gyNl9P
RkZTRVQpICJdIiAiXG4iIC8vIFN0b3JlIHNhdmVkIHIyNiBhbmQgcjI3IChwcmVsb2FkZWQgaW50
byB4NCBhbmQgeDUgYWJvdmUpLgotICAgICJzdHAgICAgICAgeDYsIHgyOSwgW3NwLCAjIiBTVFJJ
TkdJWkVfVkFMVUVfT0YoUFJPQkVfQ1BVX1gyOF9PRkZTRVQpICJdIiAiXG4iCi0gICAgInN0cCAg
ICAgICB4NywgeDI2LCBbc3AsICMiIFNUUklOR0laRV9WQUxVRV9PRihQUk9CRV9DUFVfTFJfT0ZG
U0VUKSAiXSIgIlxuIiAvLyBTYXZlIHZhbHVlcyBsciBhbmQgc3AgKG9yaWdpbmFsIHNwIHZhbHVl
IGNvbXB1dGVkIGludG8geDI2IGFib3ZlKS4KKyAgICAic3RwICAgICAgIHgyLCAgeDMsICBbc3As
ICMiIFNUUklOR0laRV9WQUxVRV9PRihQUk9CRV9DUFVfWDI0X09GRlNFVCkgIl0iICJcbiIgLy8g
U3RvcmUgc2F2ZWQgcjI0IGFuZCByMjUgKHByZWxvYWRlZCBpbnRvIHgyIGFuZCB4MyBhYm92ZSku
CisgICAgInN0cCAgICAgICB4NCwgIHgyNywgW3NwLCAjIiBTVFJJTkdJWkVfVkFMVUVfT0YoUFJP
QkVfQ1BVX1gyNl9PRkZTRVQpICJdIiAiXG4iIC8vIFN0b3JlIHNhdmVkIHIyNiAocHJlbG9hZGVk
IGludG8geDQpIGFuZCByMjcuCisgICAgInN0cCAgICAgICB4MjgsIHgyOSwgW3NwLCAjIiBTVFJJ
TkdJWkVfVkFMVUVfT0YoUFJPQkVfQ1BVX1gyOF9PRkZTRVQpICJdIiAiXG4iCisgICAgInN0cCAg
ICAgICB4NSwgIHgyNiwgW3NwLCAjIiBTVFJJTkdJWkVfVkFMVUVfT0YoUFJPQkVfQ1BVX0xSX09G
RlNFVCkgIl0iICJcbiIgLy8gU2F2ZSB2YWx1ZXMgbHIgYW5kIHNwIChvcmlnaW5hbCBzcCB2YWx1
ZSBjb21wdXRlZCBpbnRvIHgyNiBhYm92ZSkuCiAKICAgICAiYWRkICAgICAgIHgzMCwgeDMwLCAj
IiBTVFJJTkdJWkVfVkFMVUVfT0YoMiAqIEdQUkVHX1NJWkUpICJcbiIgLy8gVGhlIFBDIGFmdGVy
IHRoZSBwcm9iZSBpcyBhdCAyIGluc3RydWN0aW9ucyBwYXN0IHRoZSByZXR1cm4gcG9pbnQuCiAj
aWYgQ1BVKEFSTTY0RSkKQEAgLTQxMSwxMiArNDA1LDcgQEAgYXNtICgKICAgICAvLyBOb3RlOiB3
ZSBoYXZlbid0IGNoYW5nZWQgdGhlIHZhbHVlIG9mIGZwLiBIZW5jZSwgaXQgaXMgc3RpbGwgcG9p
bnRpbmcgdG8gdGhlIGZyYW1lIG9mCiAgICAgLy8gdGhlIGNhbGxlciBvZiB0aGUgcHJvYmUgKHdo
aWNoIGlzIHdoYXQgd2Ugd2FudCBpbiBvcmRlciB0byBwbGF5IG5pY2Ugd2l0aCBkZWJ1Z2dlcnMg
ZS5nLiBsbGRiKS4KICAgICAibW92ICAgICAgIHgwLCBzcCIgIlxuIiAvLyBTZXQgdGhlIFByb2Jl
OjpTdGF0ZSogYXJnLgotI2lmIENQVShBUk02NEUpCi0gICAgIm1vdnogICAgICBsciwgIyIgU1RS
SU5HSVpFX1ZBTFVFX09GKEpJVF9QUk9CRV9FWEVDVVRPUl9QVFJfVEFHKSAiXG4iCi0gICAgImJs
cmFiICAgICB4MjgsIGxyIiAiXG4iIC8vIENhbGwgdGhlIHByb2JlIGhhbmRsZXIuCi0jZWxzZQot
ICAgICJibHIgICAgICAgeDI4IiAiXG4iIC8vIENhbGwgdGhlIHByb2JlIGhhbmRsZXIuCi0jZW5k
aWYKKyAgICAiYmwgICAgICAgIF9leGVjdXRlSlNDSklUUHJvYmUiICJcbiIKIAogICAgIC8vIE1h
a2Ugc3VyZSB0aGUgUHJvYmU6OlN0YXRlIGlzIGVudGlyZWx5IGJlbG93IHRoZSByZXN1bHQgc3Rh
Y2sgcG9pbnRlciBzbwogICAgIC8vIHRoYXQgcmVnaXN0ZXIgdmFsdWVzIGFyZSBzdGlsbCBwcmVz
ZXJ2ZWQgd2hlbiB3ZSBjYWxsIHRoZSBpbml0aWFsaXplU3RhY2sKQEAgLTUxMSwxNCArNTAwLDE0
IEBAIGFzbSAoCiAgICAgLy8gcmV0dXJucy4gU28sIHRoZSBBUk02NCBwcm9iZSBpbXBsZW1lbnRh
dGlvbiB3aWxsIGFsbG93IHRoZSBwcm9iZSBoYW5kbGVyIHRvCiAgICAgLy8gZWl0aGVyIG1vZGlm
eSBsciBvciBwYywgYnV0IG5vdCBib3RoIGluIHRoZSBzYW1lIHByb2JlIGludm9jYXRpb24uIFRo
ZSBwcm9iZQogICAgIC8vIG1lY2hhbmlzbSBlbnN1cmVzIHRoYXQgd2UgbmV2ZXIgdHJ5IHRvIG1v
ZGlmeSBib3RoIGxyIGFuZCBwYyB3aXRoIGEgUkVMRUFTRV9BU1NFUlQKLSAgICAvLyBpbiBQcm9i
ZTo6ZXhlY3V0ZVByb2JlKCkuCisgICAgLy8gaW4gUHJvYmU6OigpLgogCiAgICAgLy8gRGV0ZXJt
aW5lIGlmIHRoZSBwcm9iZSBoYW5kbGVyIGNoYW5nZWQgdGhlIHBjLgogICAgICJsZHIgICAgICAg
eDMwLCBbc3AsICMiIFNUUklOR0laRV9WQUxVRV9PRihQUk9CRV9DUFVfU1BfT0ZGU0VUKSAiXSIg
IlxuIiAvLyBwcmVsb2FkIHRoZSB0YXJnZXQgc3AuCiAgICAgImxkciAgICAgICB4MjcsIFtzcCwg
IyIgU1RSSU5HSVpFX1ZBTFVFX09GKFNBVkVEX1BST0JFX1JFVFVSTl9QQ19PRkZTRVQpICJdIiAi
XG4iCiAgICAgImxkciAgICAgICB4MjgsIFtzcCwgIyIgU1RSSU5HSVpFX1ZBTFVFX09GKFBST0JF
X0NQVV9QQ19PRkZTRVQpICJdIiAiXG4iCiAgICAgImNtcCAgICAgICB4MjcsIHgyOCIgIlxuIgot
ICAgICJibmUgICAgICIgTE9DQUxfTEFCRUxfU1RSSU5HKGN0aU1hc21Qcm9iZVRyYW1wb2xpbmVF
bmQpICJcbiIKKyAgICAiYm5lICAgICAiIExPQ0FMX0xBQkVMX1NUUklORyhjdGlNYXNtUGV4ZWN1
dGVKU0NKSVRQcm9iZXJvYmVUcmFtcG9saW5lRW5kKSAiXG4iCiAKICAgICAgLy8gV2UgZGlkbid0
IGNoYW5nZSB0aGUgUEMuIFNvLCBsZXQncyBwcmVwYXJlIGZvciBzZXR0aW5nIGEgcG90ZW50aWFs
bHkgbmV3IGxyIHZhbHVlLgogCkBAIC01NjEsOCArNTUwLDYgQEAgYXNtICgKICAgICAiYW5kICAg
ICAgIHgyNywgeDI3LCAjMHhmZjAwMDAwMDAwMDAwMCIgIlxuIgogICAgICJvcnIgICAgICAgeDI3
LCB4MjcsIHgyOCIgIlxuIgogICAgICJsZHJiICAgICAgdzI3LCBbeDI3XSIgIlxuIgotICAgICJh
ZGQgICAgICAgeDI3LCB4MzAsICM0OCIgIlxuIiAvLyBDb21wdXRlIHNwIGF0IHJldHVybiBwb2lu
dC4KLSAgICAicGFjaWIgICAgIHgyOCwgeDI3IiAiXG4iCiAjZW5kaWYKICAgICAibGRyICAgICAg
IHgyNywgW3NwLCAjIiBTVFJJTkdJWkVfVkFMVUVfT0YoUFJPQkVfQ1BVX0ZQX09GRlNFVCkgIl0i
ICJcbiIKICAgICAic3RwICAgICAgIHgyNywgeDI4LCBbeDMwLCAjIiBTVFJJTkdJWkVfVkFMVUVf
T0YoT1VUX0ZQX09GRlNFVCkgIl0iICJcbiIKQEAgLTU4NywxMCArNTc0LDggQEAgdm9pZCBNYWNy
b0Fzc2VtYmxlcjo6cHJvYmUoUHJvYmU6OkZ1bmN0aQogICAgIHN1YjY0KFRydXN0ZWRJbW0zMihz
aXplb2YoSW5jb21pbmdQcm9iZVJlY29yZCkpLCBzcCk7CiAKICAgICBzdG9yZVBhaXI2NCh4MjQs
IHgyNSwgc3AsIFRydXN0ZWRJbW0zMihvZmZzZXRvZihJbmNvbWluZ1Byb2JlUmVjb3JkLCB4MjQp
KSk7Ci0gICAgc3RvcmVQYWlyNjQoeDI2LCB4MjcsIHNwLCBUcnVzdGVkSW1tMzIob2Zmc2V0b2Yo
SW5jb21pbmdQcm9iZVJlY29yZCwgeDI2KSkpOwotICAgIHN0b3JlUGFpcjY0KHgyOCwgeDMwLCBz
cCwgVHJ1c3RlZEltbTMyKG9mZnNldG9mKEluY29taW5nUHJvYmVSZWNvcmQsIHgyOCkpKTsgLy8g
Tm90ZTogeDMwIGlzIGxyLgorICAgIHN0b3JlUGFpcjY0KHgyNiwgeDMwLCBzcCwgVHJ1c3RlZElt
bTMyKG9mZnNldG9mKEluY29taW5nUHJvYmVSZWNvcmQsIHgyNikpKTsgLy8gTm90ZTogeDMwIGlz
IGxyLgogICAgIG1vdmUoVHJ1c3RlZEltbVB0cih0YWdDRnVuY3Rpb248T3BlcmF0aW9uUHRyVGFn
PihjdGlNYXNtUHJvYmVUcmFtcG9saW5lKSksIHgyNik7Ci0gICAgbW92ZShUcnVzdGVkSW1tUHRy
KHRhZ0NGdW5jdGlvbjxKSVRQcm9iZUV4ZWN1dG9yUHRyVGFnPihQcm9iZTo6ZXhlY3V0ZVByb2Jl
KSksIHgyOCk7CiAjaWYgQ1BVKEFSTTY0RSkKICAgICBhc3NlcnRJc1RhZ2dlZFdpdGg8SklUUHJv
YmVQdHJUYWc+KGZ1bmN0aW9uKTsKICNlbmRpZgpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3Jl
L2Fzc2VtYmxlci9NYWNyb0Fzc2VtYmxlckFSTXY3LmNwcAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2Uv
SmF2YVNjcmlwdENvcmUvYXNzZW1ibGVyL01hY3JvQXNzZW1ibGVyQVJNdjcuY3BwCShyZXZpc2lv
biAyODE2ODQpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYXNzZW1ibGVyL01hY3JvQXNzZW1i
bGVyQVJNdjcuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0yMjgsMTIgKzIyOCwxMiBAQCBhc20gKAog
ICAgIC8vIEluY29taW5nIHJlZ2lzdGVyIHZhbHVlczoKICAgICAvLyAgICAgcjA6IHByb2JlIGZ1
bmN0aW9uCiAgICAgLy8gICAgIHIxOiBwcm9iZSBhcmcKLSAgICAvLyAgICAgcjI6IFByb2JlOjpl
eGVjdXRlUHJvYmUKKyAgICAvLyAgICAgcjI6IFByb2JlOjpleGVjdXRlSlNDSklUUHJvYmUKICAg
ICAvLyAgICAgaXA6IHNjcmF0Y2gsIHdhcyBjdGlNYXNtUHJvYmVUcmFtcG9saW5lCiAgICAgLy8g
ICAgIGxyOiByZXR1cm4gYWRkcmVzcwogCiAgICAgIm1vdiAgICAgICBpcCwgc3AiICJcbiIKLSAg
ICAic3RyICAgICAgIHIyLCBbaXAsICMtIiBTVFJJTkdJWkVfVkFMVUVfT0YoUFRSX1NJWkUpICJd
IiAiXG4iIC8vIFN0YXNoIFByb2JlOjpleGVjdXRlUHJvYmUuCisgICAgInN0ciAgICAgICByMiwg
W2lwLCAjLSIgU1RSSU5HSVpFX1ZBTFVFX09GKFBUUl9TSVpFKSAiXSIgIlxuIiAvLyBTdGFzaCBQ
cm9iZTo6ZXhlY3V0ZUpTQ0pJVFByb2JlLgogCiAgICAgIm1vdiAgICAgICByMiwgc3AiICJcbiIK
ICAgICAic3ViICAgICAgIHIyLCByMiwgIyIgU1RSSU5HSVpFX1ZBTFVFX09GKFBST0JFX1NJWkUg
KyBPVVRfU0laRSkgIlxuIgpAQCAtMjQxLDcgKzI0MSw3IEBAIGFzbSAoCiAgICAgLy8gVGhlIEFS
TSBFQUJJIHNwZWNpZmllcyB0aGF0IHRoZSBzdGFjayBuZWVkcyB0byBiZSAxNiBieXRlIGFsaWdu
ZWQuCiAgICAgImJpYyAgICAgICByMiwgcjIsICMweGYiICJcbiIKICAgICAibW92ICAgICAgIHNw
LCByMiIgIlxuIiAvLyBTZXQgdGhlIHNwIHRvIHByb3RlY3QgdGhlIFByb2JlOjpTdGF0ZSBmcm9t
IGludGVycnVwdHMgYmVmb3JlIHdlIGluaXRpYWxpemUgaXQuCi0gICAgImxkciAgICAgICByMiwg
W2lwLCAjLSIgU1RSSU5HSVpFX1ZBTFVFX09GKFBUUl9TSVpFKSAiXSIgIlxuIiAvLyBSZWxvYWQg
UHJvYmU6OmV4ZWN1dGVQcm9iZS4KKyAgICAibGRyICAgICAgIHIyLCBbaXAsICMtIiBTVFJJTkdJ
WkVfVkFMVUVfT0YoUFRSX1NJWkUpICJdIiAiXG4iIC8vIFJlbG9hZCBQcm9iZTo6ZXhlY3V0ZUpT
Q0pJVFByb2JlLgogCiAgICAgInN0ciAgICAgICByMCwgW3NwLCAjIiBTVFJJTkdJWkVfVkFMVUVf
T0YoUFJPQkVfUFJPQkVfRlVOQ1RJT05fT0ZGU0VUKSAiXSIgIlxuIgogICAgICJzdHIgICAgICAg
cjEsIFtzcCwgIyIgU1RSSU5HSVpFX1ZBTFVFX09GKFBST0JFX0FSR19PRkZTRVQpICJdIiAiXG4i
CkBAIC0yODAsNyArMjgwLDcgQEAgYXNtICgKICAgICAibW92ICAgICAgIHI1LCBzcCIgIlxuIgog
CiAgICAgIm1vdiAgICAgICByMCwgc3AiICJcbiIgLy8gdGhlIFByb2JlOjpTdGF0ZSogYXJnLgot
ICAgICJibHggICAgICAgcjIiICJcbiIgLy8gQ2FsbCBQcm9iZTo6ZXhlY3V0ZVByb2JlLgorICAg
ICJibHggICAgICAgcjIiICJcbiIgLy8gQ2FsbCBQcm9iZTo6ZXhlY3V0ZUpTQ0pJVFByb2JlLgog
CiAgICAgLy8gTWFrZSBzdXJlIHRoZSBQcm9iZTo6U3RhdGUgaXMgZW50aXJlbHkgYmVsb3cgdGhl
IHJlc3VsdCBzdGFjayBwb2ludGVyIHNvCiAgICAgLy8gdGhhdCByZWdpc3RlciB2YWx1ZXMgYXJl
IHN0aWxsIHByZXNlcnZlZCB3aGVuIHdlIGNhbGwgdGhlIGluaXRpYWxpemVTdGFjawpAQCAtMzgw
LDcgKzM4MCw3IEBAIHZvaWQgTWFjcm9Bc3NlbWJsZXI6OnByb2JlKFByb2JlOjpGdW5jdGkKICAg
ICAvLyBUaGlzIG1lYW5zIHdlIG11c3QgZmlyc3QgcHJlc2VydmUgdGhlIGFwc3IgZmxhZ3MgYWJv
dmUgZmlyc3QuCiAgICAgbW92ZShUcnVzdGVkSW1tUHRyKHJlaW50ZXJwcmV0X2Nhc3Q8dm9pZCo+
KGZ1bmN0aW9uKSksIHIwKTsKICAgICBtb3ZlKFRydXN0ZWRJbW1QdHIoYXJnKSwgcjEpOwotICAg
IG1vdmUoVHJ1c3RlZEltbVB0cihyZWludGVycHJldF9jYXN0PHZvaWQqPihQcm9iZTo6ZXhlY3V0
ZVByb2JlKSksIHIyKTsKKyAgICBtb3ZlKFRydXN0ZWRJbW1QdHIocmVpbnRlcnByZXRfY2FzdDx2
b2lkKj4oUHJvYmU6OmV4ZWN1dGVKU0NKSVRQcm9iZSkpLCByMik7CiAgICAgbW92ZShUcnVzdGVk
SW1tUHRyKHJlaW50ZXJwcmV0X2Nhc3Q8dm9pZCo+KGN0aU1hc21Qcm9iZVRyYW1wb2xpbmUpKSwg
aXApOwogICAgIG1fYXNzZW1ibGVyLmJseChpcCk7CiB9CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlw
dENvcmUvYXNzZW1ibGVyL01hY3JvQXNzZW1ibGVyTUlQUy5jcHAKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL2Fzc2VtYmxlci9NYWNyb0Fzc2VtYmxlck1JUFMuY3BwCShyZXZp
c2lvbiAyODE2ODQpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYXNzZW1ibGVyL01hY3JvQXNz
ZW1ibGVyTUlQUy5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTEsNSArMSw1IEBACiAvKgotICogQ29w
eXJpZ2h0IChDKSAyMDEzLTIwMTcgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICog
Q29weXJpZ2h0IChDKSAyMDEzLTIwMjEgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgog
ICoKICAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMs
IHdpdGggb3Igd2l0aG91dAogICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVk
IHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCkBAIC0zMDQsNyArMzA0LDcgQEAgYXNtICgK
ICAgICAvLyBJbmNvbWluZyByZWdpc3RlciB2YWx1ZXM6CiAgICAgLy8gICAgIGEwOiBwcm9iZSBm
dW5jdGlvbgogICAgIC8vICAgICBhMTogcHJvYmUgYXJnCi0gICAgLy8gICAgIGEyOiBQcm9iZTo6
ZXhlY3V0ZVByb2JlCisgICAgLy8gICAgIGEyOiBQcm9iZTo6ZXhlY3V0ZUpTQ0pJVFByb2JlCiAg
ICAgLy8gICAgIHMwOiBzY3JhdGNoLCB3YXMgY3RpTWFzbVByb2JlVHJhbXBvbGluZQogICAgIC8v
ICAgICBzMTogc2NyYXRjaAogICAgIC8vICAgICByYTogcmV0dXJuIGFkZHJlc3MKQEAgLTM5NCw3
ICszOTQsNyBAQCBhc20gKAogCiAgICAgIm1vdmUgICAgICAkYTAsICRzcCIgIlxuIiAvLyBTZXQg
dGhlIFByb2JlOjpTdGF0ZSogYXJnLgogICAgICJhZGRpdSAgICAgJHNwLCAkc3AsIC0xNiIgIlxu
IiAvLyBBbGxvY2F0ZSBzdGFjayBzcGFjZSBmb3IgKHVudXNlZCkgMTYgYnl0ZXMgKDgtYnl0ZSBh
bGlnbmVkKSBmb3IgNCBhcmd1bWVudHMuCi0gICAgIm1vdmUgICAgICAkdDksICRhMiIgIlxuIiAv
LyBQcm9iZTo6ZXhlY3V0ZVByb2JlKCkKKyAgICAibW92ZSAgICAgICR0OSwgJGEyIiAiXG4iIC8v
IFByb2JlOjpleGVjdXRlSlNDSklUUHJvYmUoKQogICAgICJqYWxyICAgICAgJHQ5IiAiXG4iIC8v
IENhbGwgdGhlIHByb2JlIGhhbmRsZXIuCiAgICAgIm5vcCIgIlxuIgogCkBAIC01MDgsNyArNTA4
LDcgQEAgYXNtICgKICAgICAvLyByZXR1cm5zLiBTbywgdGhlIE1JUFMgcHJvYmUgaW1wbGVtZW50
YXRpb24gd2lsbCBhbGxvdyB0aGUgcHJvYmUgaGFuZGxlciB0bwogICAgIC8vIGVpdGhlciBtb2Rp
ZnkgcmEgb3IgcGMsIGJ1dCBub3QgYm90aCBpbiB0aGUgc2FtZSBwcm9iZSBpbnZvY2F0aW9uLiBU
aGUgcHJvYmUKICAgICAvLyBtZWNoYW5pc20gZW5zdXJlcyB0aGF0IHdlIG5ldmVyIHRyeSB0byBt
b2RpZnkgYm90aCByYSBhbmQgcGMgd2l0aCBhIFJFTEVBU0VfQVNTRVJUCi0gICAgLy8gaW4gUHJv
YmU6OmV4ZWN1dGVQcm9iZSgpLgorICAgIC8vIGluIFByb2JlOjpleGVjdXRlSlNDSklUUHJvYmUo
KS4KIAogICAgIC8vIERldGVybWluZSBpZiB0aGUgcHJvYmUgaGFuZGxlciBjaGFuZ2VkIHRoZSBw
Yy4KICAgICAibHcgICAgICAgICRyYSwgIiBTVFJJTkdJWkVfVkFMVUVfT0YoUFJPQkVfQ1BVX1NQ
X09GRlNFVCkgIigkc3ApIiAiXG4iIC8vIHByZWxvYWQgdGhlIHRhcmdldCBzcC4KQEAgLTU2Myw3
ICs1NjMsNyBAQCB2b2lkIE1hY3JvQXNzZW1ibGVyOjpwcm9iZShQcm9iZTo6RnVuY3RpCiAgICAg
c3RvcmUzMihyYSwgQWRkcmVzcyhzcCwgb2Zmc2V0b2YoSW5jb21pbmdSZWNvcmQsIHJhKSkpOwog
ICAgIG1vdmUoVHJ1c3RlZEltbVB0cihyZWludGVycHJldF9jYXN0PHZvaWQqPihmdW5jdGlvbikp
LCBhMCk7CiAgICAgbW92ZShUcnVzdGVkSW1tUHRyKGFyZyksIGExKTsKLSAgICBtb3ZlKFRydXN0
ZWRJbW1QdHIocmVpbnRlcnByZXRfY2FzdDx2b2lkKj4oUHJvYmU6OmV4ZWN1dGVQcm9iZSkpLCBh
Mik7CisgICAgbW92ZShUcnVzdGVkSW1tUHRyKHJlaW50ZXJwcmV0X2Nhc3Q8dm9pZCo+KFByb2Jl
OjpleGVjdXRlSlNDSklUUHJvYmUpKSwgYTIpOwogICAgIG1vdmUoVHJ1c3RlZEltbVB0cihyZWlu
dGVycHJldF9jYXN0PHZvaWQqPihjdGlNYXNtUHJvYmVUcmFtcG9saW5lKSksIHMwKTsKICAgICBt
X2Fzc2VtYmxlci5qYWxyKHMwKTsKICAgICBtX2Fzc2VtYmxlci5ub3AoKTsKSW5kZXg6IFNvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9hc3NlbWJsZXIvTWFjcm9Bc3NlbWJsZXJYODZDb21tb24uY3BwCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9hc3NlbWJsZXIvTWFjcm9Bc3NlbWJs
ZXJYODZDb21tb24uY3BwCShyZXZpc2lvbiAyODE2ODQpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENv
cmUvYXNzZW1ibGVyL01hY3JvQXNzZW1ibGVyWDg2Q29tbW9uLmNwcAkod29ya2luZyBjb3B5KQpA
QCAtMTA1LDcgKzEwNSw5IEBAIEpTQ19BTk5PVEFURV9KSVRfT1BFUkFUSU9OKGN0aU1hc21Qcm9i
ZVQKICNkZWZpbmUgUFJPQkVfU0laRSAoUFJPQkVfQ1BVX1hNTTE1X09GRlNFVCArIFhNTV9TSVpF
KQogI2VuZGlmIC8vIENQVShYODZfNjQpCiAKLSNkZWZpbmUgUFJPQkVfRVhFQ1VUT1JfT0ZGU0VU
IFBST0JFX1NJWkUgLy8gU3Rhc2ggdGhlIGV4ZWN1dGVQcm9iZSBmdW5jdGlvbiBwb2ludGVyIGF0
IHRoZSBlbmQgb2YgdGhlIFByb2JlQ29udGV4dC4KKyNpZiBDT01QSUxFUihNU1ZDKSB8fCBDUFUo
WDg2KQorI2RlZmluZSBQUk9CRV9FWEVDVVRPUl9PRkZTRVQgUFJPQkVfU0laRSAvLyBTdGFzaCB0
aGUgZXhlY3V0ZUpTQ0pJVFByb2JlIGZ1bmN0aW9uIHBvaW50ZXIgYXQgdGhlIGVuZCBvZiB0aGUg
UHJvYmVDb250ZXh0LgorI2VuZGlmCiAKIC8vIFRoZSBvdXRnb2luZyByZWNvcmQgdG8gYmUgcG9w
cGVkIG9mZiB0aGUgc3RhY2sgYXQgdGhlIGVuZCBjb25zaXN0cyBvZjoKIC8vIGVmbGFncywgZWF4
LCBlY3gsIGVicCwgZWlwLgpAQCAtMTY1LDcgKzE2Nyw5IEBAIHN0YXRpY19hc3NlcnQoUFJPQkVf
T0ZGU0VUT0ZfUkVHKGNwdS5mcHIKICNlbmRpZiAvLyBDUFUoWDg2XzY0KQogCiBzdGF0aWNfYXNz
ZXJ0KHNpemVvZihQcm9iZTo6U3RhdGUpID09IFBST0JFX1NJWkUsICJQcm9iZTo6U3RhdGU6OnNp
emUncyBtYXRjaGVzIGN0aU1hc21Qcm9iZVRyYW1wb2xpbmUiKTsKKyNpZiBDT01QSUxFUihNU1ZD
KSB8fCBDUFUoWDg2KQogc3RhdGljX2Fzc2VydCgoUFJPQkVfRVhFQ1VUT1JfT0ZGU0VUICsgUFRS
X1NJWkUpIDw9IChQUk9CRV9TSVpFICsgT1VUX1NJWkUpLCAiTXVzdCBoYXZlIHJvb20gYWZ0ZXIg
UHJvYmVDb250ZXh0IHRvIHN0YXNoIHRoZSBwcm9iZSBoYW5kbGVyIik7CisjZW5kaWYKIAogI3Vu
ZGVmIFBST0JFX09GRlNFVE9GCiAKQEAgLTE4OSw3ICsxOTMsNyBAQCBhc20gKAogICAgIC8vICAg
ICBlc3BbNSAqIHB0clNpemVdOiBzYXZlZCBlYXgKICAgICAvLwogICAgIC8vIEluY29taW5nIHJl
Z2lzdGVycyBjb250YWluOgotICAgIC8vICAgICBlY3g6IFByb2JlOjpleGVjdXRlUHJvYmUKKyAg
ICAvLyAgICAgZWN4OiBQcm9iZTo6ZXhlY3V0ZUpTQ0pJVFByb2JlCiAgICAgLy8gICAgIGVkeDog
cHJvYmUgZnVuY3Rpb24KICAgICAvLyAgICAgZWJ4OiBwcm9iZSBhcmcKICAgICAvLyAgICAgZWF4
OiBzY3JhdGNoICh3YXMgY3RpTWFzbVByb2JlVHJhbXBvbGluZSkKQEAgLTM1Niw3ICszNjAsNyBA
QCBleHRlcm4gIkMiIF9fZGVjbHNwZWMobmFrZWQpIHZvaWQgY3RpTWFzCiAgICAgICAgIC8vICAg
ICBlc3BbNSAqIHB0clNpemVdOiBzYXZlZCBlYXgKICAgICAgICAgLy8KICAgICAgICAgLy8gSW5j
b21pbmcgcmVnaXN0ZXJzIGNvbnRhaW46Ci0gICAgICAgIC8vICAgICBlY3g6IFByb2JlOjpleGVj
dXRlUHJvYmUKKyAgICAgICAgLy8gICAgIGVjeDogUHJvYmU6OmV4ZWN1dGVKU0NKSVRQcm9iZQog
ICAgICAgICAvLyAgICAgZWR4OiBwcm9iZSBmdW5jdGlvbgogICAgICAgICAvLyAgICAgZWJ4OiBw
cm9iZSBhcmcKICAgICAgICAgLy8gICAgIGVheDogc2NyYXRjaCAod2FzIGN0aU1hc21Qcm9iZVRy
YW1wb2xpbmUpCkBAIC01MjgsMTEgKzUzMiw5IEBAIGFzbSAoCiAgICAgLy8gICAgIHJicFsxICog
cHRyU2l6ZV06IHJldHVybiBhZGRyZXNzIC8gc2F2ZWQgcmlwCiAgICAgLy8gICAgIHJicFsyICog
cHRyU2l6ZV06IHNhdmVkIHJieAogICAgIC8vICAgICByYnBbMyAqIHB0clNpemVdOiBzYXZlZCBy
ZHgKLSAgICAvLyAgICAgcmJwWzQgKiBwdHJTaXplXTogc2F2ZWQgcmN4Ci0gICAgLy8gICAgIHJi
cFs1ICogcHRyU2l6ZV06IHNhdmVkIHJheAorICAgIC8vICAgICByYnBbNCAqIHB0clNpemVdOiBz
YXZlZCByYXgKICAgICAvLwogICAgIC8vIEluY29taW5nIHJlZ2lzdGVycyBjb250YWluOgotICAg
IC8vICAgICByY3g6IFByb2JlOjpleGVjdXRlUHJvYmUKICAgICAvLyAgICAgcmR4OiBwcm9iZSBm
dW5jdGlvbgogICAgIC8vICAgICByYng6IHByb2JlIGFyZwogICAgIC8vICAgICByYXg6IHNjcmF0
Y2ggKHdhcyBjdGlNYXNtUHJvYmVUcmFtcG9saW5lKQpAQCAtNTQzLDEyICs1NDUsMTMgQEAgYXNt
ICgKICAgICAiYW5kcSAkfjB4MWYsICVyc3AiICJcbiIKICAgICAvLyBTaW5jZSBzcCBwb2ludHMg
dG8gdGhlIFByb2JlOjpTdGF0ZSwgd2UndmUgZW5zdXJlZCB0aGF0IGl0J3MgcHJvdGVjdGVkIGZy
b20gaW50ZXJydXB0cyBiZWZvcmUgd2UgaW5pdGlhbGl6ZSBpdC4KIAotICAgICJtb3ZxICVyY3gs
ICIgU1RSSU5HSVpFX1ZBTFVFX09GKFBST0JFX0VYRUNVVE9SX09GRlNFVCkgIiglcnNwKSIgIlxu
IgogICAgICJtb3ZxICVyZHgsICIgU1RSSU5HSVpFX1ZBTFVFX09GKFBST0JFX1BST0JFX0ZVTkNU
SU9OX09GRlNFVCkgIiglcnNwKSIgIlxuIgogICAgICJtb3ZxICVyYngsICIgU1RSSU5HSVpFX1ZB
TFVFX09GKFBST0JFX0FSR19PRkZTRVQpICIoJXJzcCkiICJcbiIKICAgICAibW92cSAlcnNpLCAi
IFNUUklOR0laRV9WQUxVRV9PRihQUk9CRV9DUFVfRVNJX09GRlNFVCkgIiglcnNwKSIgIlxuIgog
ICAgICJtb3ZxICVyZGksICIgU1RSSU5HSVpFX1ZBTFVFX09GKFBST0JFX0NQVV9FRElfT0ZGU0VU
KSAiKCVyc3ApIiAiXG4iCiAKKyAgICAibW92cSAlcmN4LCAiIFNUUklOR0laRV9WQUxVRV9PRihQ
Uk9CRV9DUFVfRUNYX09GRlNFVCkgIiglcnNwKSIgIlxuIgorCiAgICAgIm1vdnEgLTEgKiAiIFNU
UklOR0laRV9WQUxVRV9PRihQVFJfU0laRSkgIiglcmJwKSwgJXJjeCIgIlxuIgogICAgICJtb3Zx
ICVyY3gsICIgU1RSSU5HSVpFX1ZBTFVFX09GKFBST0JFX0NQVV9FRkxBR1NfT0ZGU0VUKSAiKCVy
c3ApIiAiXG4iCiAgICAgIm1vdnEgMCAqICIgU1RSSU5HSVpFX1ZBTFVFX09GKFBUUl9TSVpFKSAi
KCVyYnApLCAlcmN4IiAiXG4iCkBAIC01NjAsOCArNTYzLDYgQEAgYXNtICgKICAgICAibW92cSAz
ICogIiBTVFJJTkdJWkVfVkFMVUVfT0YoUFRSX1NJWkUpICIoJXJicCksICVyY3giICJcbiIKICAg
ICAibW92cSAlcmN4LCAiIFNUUklOR0laRV9WQUxVRV9PRihQUk9CRV9DUFVfRURYX09GRlNFVCkg
IiglcnNwKSIgIlxuIgogICAgICJtb3ZxIDQgKiAiIFNUUklOR0laRV9WQUxVRV9PRihQVFJfU0la
RSkgIiglcmJwKSwgJXJjeCIgIlxuIgotICAgICJtb3ZxICVyY3gsICIgU1RSSU5HSVpFX1ZBTFVF
X09GKFBST0JFX0NQVV9FQ1hfT0ZGU0VUKSAiKCVyc3ApIiAiXG4iCi0gICAgIm1vdnEgNSAqICIg
U1RSSU5HSVpFX1ZBTFVFX09GKFBUUl9TSVpFKSAiKCVyYnApLCAlcmN4IiAiXG4iCiAgICAgIm1v
dnEgJXJjeCwgIiBTVFJJTkdJWkVfVkFMVUVfT0YoUFJPQkVfQ1BVX0VBWF9PRkZTRVQpICIoJXJz
cCkiICJcbiIKIAogICAgICJtb3ZxICVyYnAsICVyY3giICJcbiIKQEAgLTU5NSw3ICs1OTYsNyBA
QCBhc20gKAogICAgICJtb3ZxICV4bW0xNSwgIiBTVFJJTkdJWkVfVkFMVUVfT0YoUFJPQkVfQ1BV
X1hNTTE1X09GRlNFVCkgIiglcnNwKSIgIlxuIgogCiAgICAgIm1vdnEgJXJzcCwgJXJkaSIgIlxu
IiAvLyB0aGUgUHJvYmU6OlN0YXRlKiBhcmcuCi0gICAgImNhbGwgKiIgU1RSSU5HSVpFX1ZBTFVF
X09GKFBST0JFX0VYRUNVVE9SX09GRlNFVCkgIiglcnNwKSIgIlxuIgorICAgICJjYWxsIF9leGVj
dXRlSlNDSklUUHJvYmUiICJcbiIKIAogICAgIC8vIE1ha2Ugc3VyZSB0aGUgUHJvYmU6OlN0YXRl
IGlzIGVudGlyZWx5IGJlbG93IHRoZSByZXN1bHQgc3RhY2sgcG9pbnRlciBzbwogICAgIC8vIHRo
YXQgcmVnaXN0ZXIgdmFsdWVzIGFyZSBzdGlsbCBwcmVzZXJ2ZWQgd2hlbiB3ZSBjYWxsIHRoZSBp
bml0aWFsaXplU3RhY2sKQEAgLTc1MSwxMCArNzUyLDE3IEBAIGFzbSAoCiAKIHZvaWQgTWFjcm9B
c3NlbWJsZXI6OnByb2JlKFByb2JlOjpGdW5jdGlvbiBmdW5jdGlvbiwgdm9pZCogYXJnKQogewor
I2lmIENQVShYODZfNjQpICYmIENPTVBJTEVSKEdDQ19DT01QQVRJQkxFKQorICAgIC8vIEV4dHJh
IHB1c2ggc28gdGhhdCB0aGUgdG90YWwgbnVtYmVyIG9mIHB1c2hlcyBwYWQgb3V0IHRvIDMyLWJ5
dGVzLCBhbmQgdGhlCisgICAgLy8gc3RhY2sgcG9pbnRlciByZW1haW5zIDMyIGJ5dGUgYWxpZ25l
ZCBhcyByZXF1aXJlZCBieSB0aGUgQUJJLgorICAgIHB1c2goUmVnaXN0ZXJJRDo6ZWF4KTsKKyNl
bmRpZgogICAgIHB1c2goUmVnaXN0ZXJJRDo6ZWF4KTsKICAgICBtb3ZlKFRydXN0ZWRJbW1QdHIo
cmVpbnRlcnByZXRfY2FzdDx2b2lkKj4oY3RpTWFzbVByb2JlVHJhbXBvbGluZSkpLCBSZWdpc3Rl
cklEOjplYXgpOworI2lmIENPTVBJTEVSKE1TVkMpIHx8IENQVShYODYpCiAgICAgcHVzaChSZWdp
c3RlcklEOjplY3gpOwotICAgIG1vdmUoVHJ1c3RlZEltbVB0cihyZWludGVycHJldF9jYXN0PHZv
aWQqPihQcm9iZTo6ZXhlY3V0ZVByb2JlKSksIFJlZ2lzdGVySUQ6OmVjeCk7CisgICAgbW92ZShU
cnVzdGVkSW1tUHRyKHJlaW50ZXJwcmV0X2Nhc3Q8dm9pZCo+KFByb2JlOjpleGVjdXRlSlNDSklU
UHJvYmUpKSwgUmVnaXN0ZXJJRDo6ZWN4KTsKKyNlbmRpZgogICAgIHB1c2goUmVnaXN0ZXJJRDo6
ZWR4KTsKICAgICBtb3ZlKFRydXN0ZWRJbW1QdHIocmVpbnRlcnByZXRfY2FzdDx2b2lkKj4oZnVu
Y3Rpb24pKSwgUmVnaXN0ZXJJRDo6ZWR4KTsKICAgICBwdXNoKFJlZ2lzdGVySUQ6OmVieCk7Cklu
ZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYXNzZW1ibGVyL1Byb2JlQ29udGV4dC5jcHAKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2Fzc2VtYmxlci9Qcm9iZUNvbnRleHQu
Y3BwCShyZXZpc2lvbiAyODE2ODQpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYXNzZW1ibGVy
L1Byb2JlQ29udGV4dC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTMzLDcgKzMzLDcgQEAgbmFtZXNw
YWNlIFByb2JlIHsKIAogc3RhdGljIHZvaWQgZmx1c2hEaXJ0eVN0YWNrUGFnZXMoU3RhdGUqKTsK
IAotdm9pZCBleGVjdXRlUHJvYmUoU3RhdGUqIHN0YXRlKQordm9pZCBleGVjdXRlSlNDSklUUHJv
YmUoU3RhdGUqIHN0YXRlKQogewogICAgIENvbnRleHQgY29udGV4dChzdGF0ZSk7CiAjaWYgQ1BV
KEFSTTY0KQpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL2Fzc2VtYmxlci9Qcm9iZUNvbnRl
eHQuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYXNzZW1ibGVyL1Byb2Jl
Q29udGV4dC5oCShyZXZpc2lvbiAyODE2ODQpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYXNz
ZW1ibGVyL1Byb2JlQ29udGV4dC5oCSh3b3JraW5nIGNvcHkpCkBAIC0yNDMsNyArMjQzLDcgQEAg
cHJpdmF0ZToKICAgICBmcmllbmQgSlNfRVhQT1JUX1BSSVZBVEUgdm9pZCogcHJvYmVTdGF0ZUZv
ckNvbnRleHQoQ29udGV4dCYpOyAvLyBOb3QgZm9yIGdlbmVyYWwgdXNlLiBUaGlzIHNob3VsZCBv
bmx5IGJlIGZvciB3cml0aW5nIHRlc3RzLgogfTsKIAotdm9pZCBleGVjdXRlUHJvYmUoU3RhdGUq
KTsKK2V4dGVybiAiQyIgdm9pZCBleGVjdXRlSlNDSklUUHJvYmUoU3RhdGUqKTsKIAogfSAvLyBu
YW1lc3BhY2UgUHJvYmUKIH0gLy8gbmFtZXNwYWNlIEpTQwo=
</data>
<flag name="commit-queue"
          id="459708"
          type_id="3"
          status="-"
          setter="ews-feeder"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>436643</attachid>
            <date>2021-08-27 11:19:17 -0700</date>
            <delta_ts>2021-08-27 11:41:02 -0700</delta_ts>
            <desc>proposed patch.</desc>
            <filename>bug-229618.patch</filename>
            <type>text/plain</type>
            <size>20736</size>
            <attacher name="Mark Lam">mark.lam</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkocmV2aXNpb24gMjgxNzAyKQorKysgU291cmNl
L0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDM5IEBA
CisyMDIxLTA4LTI3ICBNYXJrIExhbSAgPG1hcmsubGFtQGFwcGxlLmNvbT4KKworICAgICAgICBN
YWtlIEFSTTY0IGFuZCBYODZfNjQgcHJvYmUgY29kZSBhIGxpdHRsZSBiaXQgbW9yZSBlZmZpY2ll
bnQuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMjk2
MTgKKyAgICAgICAgcmRhcjovLzgyNDQ1NzQzCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZ
IChPT1BTISkuCisKKyAgICAgICAgV2Ugd2VyZSB1c2luZyBhbiB1bm5lY2Vzc2FyeSBpbmRpcmVj
dCBjYWxsIHRvIGNhbGwgUHJvYmU6OmV4ZWN1dGVQcm9iZSgpIHdoZW4gd2UKKyAgICAgICAgY2Fu
IGJlIHVzaW5nIGEgZGlyZWN0IGNhbGwsIHdoaWNoIGVtaXRzIGxlc3MgSklUIGNvZGUuICBUaGlz
IHBhdGNoIGNoYW5nZXMgdGhlCisgICAgICAgIEFSTTY0IGFuZCBYODZfNjQgcG9ydHMgdG8gdXNl
IGEgZGlyZWN0IGNhbGwgbm93LgorCisgICAgICAgIEFsc28gcmVuYW1lIGV4ZWN1dGVQcm9iZSB0
byBleGVjdXRlSlNDSklUUHJvYmUgdG8gbWFrZSBpdCBtb3JlIHVuaXF1ZSBzaW5jZSB3ZSdyZQor
ICAgICAgICBzd2l0Y2hpbmcgdG8gZXh0ZXJuICJDIiBsaW5rYWdlIGZvciB0aGlzIGZ1bmN0aW9u
IG5vdy4KKworICAgICAgICBGb3IgTWFjcm9Bc3NlbWJsZXJYODZDb21tb24uY3BwLCB3ZSBsZWZ0
IHRoZSBYODYgYW5kIE1TVkMgaW1wbGVtZW50YXRpb25zIHVuY2hhbmdlZC4KKyAgICAgICAgRm9y
IFg4NiwgSSBkb24ndCBrbm93IHRoZSBzdGFjayBhbGlnbm1lbnQgcmVxdWlyZW1lbnRzIChpZiBh
bnkpIHBsdXMgd2UgbWlnaHQgd2FudAorICAgICAgICB0byBkZWxldGUgdGhpcyBjb2RlIGV2ZW50
dWFsbHkgc2luY2Ugd2UncmUgbm90IHN1cHBvcnRpbmcgdGhlIFg4NiBKSVQgYW55bW9yZS4KKyAg
ICAgICAgRm9yIE1TVkMsIEkgZG9uJ3Qga25vdyB0aGUgd2F5IHRvIGV4cHJlc3MgYSBkaXJlY3Qg
Y2FsbCBpbiBNU1ZDIGFzc2VtYmx5LCBhbmQgaGF2ZQorICAgICAgICBubyB3YXkgdG8gdGVzdCBp
dC4gIFdpbGwgbGVhdmUgdGhhdCBhcyBhbiBleGVyY2lzZSBmb3IgZm9sa3Mgd29ya2luZyBvbiB0
aGUgV2luZG93cworICAgICAgICBwb3J0cyBpZiB0aGV5IGFyZSBpbnRlcmVzdGVkLgorCisgICAg
ICAgICogYXNzZW1ibGVyL01hY3JvQXNzZW1ibGVyQVJNNjQuY3BwOgorICAgICAgICAoSlNDOjpN
YWNyb0Fzc2VtYmxlcjo6cHJvYmUpOgorICAgICAgICAqIGFzc2VtYmxlci9NYWNyb0Fzc2VtYmxl
ckFSTXY3LmNwcDoKKyAgICAgICAgKEpTQzo6TWFjcm9Bc3NlbWJsZXI6OnByb2JlKToKKyAgICAg
ICAgKiBhc3NlbWJsZXIvTWFjcm9Bc3NlbWJsZXJNSVBTLmNwcDoKKyAgICAgICAgKEpTQzo6TWFj
cm9Bc3NlbWJsZXI6OnByb2JlKToKKyAgICAgICAgKiBhc3NlbWJsZXIvTWFjcm9Bc3NlbWJsZXJY
ODZDb21tb24uY3BwOgorICAgICAgICAoSlNDOjpjdGlNYXNtUHJvYmVUcmFtcG9saW5lKToKKyAg
ICAgICAgKEpTQzo6TWFjcm9Bc3NlbWJsZXI6OnByb2JlKToKKyAgICAgICAgKiBhc3NlbWJsZXIv
UHJvYmVDb250ZXh0LmNwcDoKKyAgICAgICAgKEpTQzo6UHJvYmU6OmV4ZWN1dGVKU0NKSVRQcm9i
ZSk6CisgICAgICAgIChKU0M6OlByb2JlOjpleGVjdXRlUHJvYmUpOiBEZWxldGVkLgorICAgICAg
ICAqIGFzc2VtYmxlci9Qcm9iZUNvbnRleHQuaDoKKwogMjAyMS0wOC0yNyAgTWlraGFpbCBSLiBH
YWRlbGhhICA8bWlraGFpbEBpZ2FsaWEuY29tPgogCiAgICAgICAgIEF2b2lkIGluY3JlYXNpbmcg
cmVxdWlyZWQgYWxpZ25tZW50IG9mIHRhcmdldCB0eXBlIHdhcm5pbmcgb24gQVJNIDMyIGJpdHMK
SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9hc3NlbWJsZXIvTWFjcm9Bc3NlbWJsZXJBUk02
NC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2Fzc2VtYmxlci9NYWNy
b0Fzc2VtYmxlckFSTTY0LmNwcAkocmV2aXNpb24gMjgxNjg0KQorKysgU291cmNlL0phdmFTY3Jp
cHRDb3JlL2Fzc2VtYmxlci9NYWNyb0Fzc2VtYmxlckFSTTY0LmNwcAkod29ya2luZyBjb3B5KQpA
QCAtMjU1LDI1ICsyNTUsMjQgQEAgc3RydWN0IEluY29taW5nUHJvYmVSZWNvcmQgewogICAgIFVD
UFVSZWdpc3RlciB4MjQ7CiAgICAgVUNQVVJlZ2lzdGVyIHgyNTsKICAgICBVQ1BVUmVnaXN0ZXIg
eDI2OwotICAgIFVDUFVSZWdpc3RlciB4Mjc7Ci0gICAgVUNQVVJlZ2lzdGVyIHgyODsKICAgICBV
Q1BVUmVnaXN0ZXIgeDMwOyAvLyBscgorICAgIFVDUFVSZWdpc3RlciB4Mjc7IC8vIFNhdmVkIGlu
IHRyYW1wb2xpbmUgdG8gdXNlIGFzIHNjcmF0Y2guCisgICAgVUNQVVJlZ2lzdGVyIHVudXNlZEZv
ckFsaWdubWVudDsKIH07CiAKICNkZWZpbmUgSU5fWDI0X09GRlNFVCAoMCAqIEdQUkVHX1NJWkUp
CiAjZGVmaW5lIElOX1gyNV9PRkZTRVQgKDEgKiBHUFJFR19TSVpFKQogI2RlZmluZSBJTl9YMjZf
T0ZGU0VUICgyICogR1BSRUdfU0laRSkKLSNkZWZpbmUgSU5fWDI3X09GRlNFVCAoMyAqIEdQUkVH
X1NJWkUpCi0jZGVmaW5lIElOX1gyOF9PRkZTRVQgKDQgKiBHUFJFR19TSVpFKQotI2RlZmluZSBJ
Tl9YMzBfT0ZGU0VUICg1ICogR1BSRUdfU0laRSkKKyNkZWZpbmUgSU5fWDMwX09GRlNFVCAoMyAq
IEdQUkVHX1NJWkUpCisjZGVmaW5lIElOX1gyN19PRkZTRVQgKDQgKiBHUFJFR19TSVpFKQorLy8g
VGhlIDV0aCBzbG90IGlzIHVudXNlZC4gSXQncyBvbmx5IHRoZXJlIGZvciBhbGlnbm1lbnQuCiAj
ZGVmaW5lIElOX1NJWkUgICAgICAgKDYgKiBHUFJFR19TSVpFKQogCiBzdGF0aWNfYXNzZXJ0KElO
X1gyNF9PRkZTRVQgPT0gb2Zmc2V0b2YoSW5jb21pbmdQcm9iZVJlY29yZCwgeDI0KSwgIklOX1gy
NF9PRkZTRVQgaXMgaW5jb3JyZWN0Iik7CiBzdGF0aWNfYXNzZXJ0KElOX1gyNV9PRkZTRVQgPT0g
b2Zmc2V0b2YoSW5jb21pbmdQcm9iZVJlY29yZCwgeDI1KSwgIklOX1gyNV9PRkZTRVQgaXMgaW5j
b3JyZWN0Iik7CiBzdGF0aWNfYXNzZXJ0KElOX1gyNl9PRkZTRVQgPT0gb2Zmc2V0b2YoSW5jb21p
bmdQcm9iZVJlY29yZCwgeDI2KSwgIklOX1gyNl9PRkZTRVQgaXMgaW5jb3JyZWN0Iik7Ci1zdGF0
aWNfYXNzZXJ0KElOX1gyN19PRkZTRVQgPT0gb2Zmc2V0b2YoSW5jb21pbmdQcm9iZVJlY29yZCwg
eDI3KSwgIklOX1gyN19PRkZTRVQgaXMgaW5jb3JyZWN0Iik7Ci1zdGF0aWNfYXNzZXJ0KElOX1gy
OF9PRkZTRVQgPT0gb2Zmc2V0b2YoSW5jb21pbmdQcm9iZVJlY29yZCwgeDI4KSwgIklOX1gyMl9P
RkZTRVQgaXMgaW5jb3JyZWN0Iik7CiBzdGF0aWNfYXNzZXJ0KElOX1gzMF9PRkZTRVQgPT0gb2Zm
c2V0b2YoSW5jb21pbmdQcm9iZVJlY29yZCwgeDMwKSwgIklOX1gyM19PRkZTRVQgaXMgaW5jb3Jy
ZWN0Iik7CitzdGF0aWNfYXNzZXJ0KElOX1gyN19PRkZTRVQgPT0gb2Zmc2V0b2YoSW5jb21pbmdQ
cm9iZVJlY29yZCwgeDI3KSwgIklOX1gyN19PRkZTRVQgaXMgaW5jb3JyZWN0Iik7CiBzdGF0aWNf
YXNzZXJ0KElOX1NJWkUgPT0gc2l6ZW9mKEluY29taW5nUHJvYmVSZWNvcmQpLCAiSU5fU0laRSBp
cyBpbmNvcnJlY3QiKTsKIHN0YXRpY19hc3NlcnQoIShzaXplb2YoSW5jb21pbmdQcm9iZVJlY29y
ZCkgJiAweGYpLCAiSW5jb21pbmdQcm9iZVN0YWNrIG11c3QgYmUgMTYtYnl0ZSBhbGlnbmVkIik7
CiAKQEAgLTMxNywxMCArMzE2LDggQEAgc3RhdGljX2Fzc2VydCghKHNpemVvZihMUlJlc3RvcmF0
aW9uUmVjbwogCiAjaWYgQ1BVKEFSTTY0RSkKICNkZWZpbmUgSklUX1BST0JFX1BDX1BUUl9UQUcg
MHhlZWFjCi0jZGVmaW5lIEpJVF9QUk9CRV9FWEVDVVRPUl9QVFJfVEFHIDB4MjhkZQogI2RlZmlu
ZSBKSVRfUFJPQkVfU1RBQ0tfSU5JVElBTElaQVRJT05fRlVOQ1RJT05fUFRSX1RBRyAweDMxNWMK
IHN0YXRpY19hc3NlcnQoSklUX1BST0JFX1BDX1BUUl9UQUcgPT0gSklUUHJvYmVQQ1B0clRhZyk7
Ci1zdGF0aWNfYXNzZXJ0KEpJVF9QUk9CRV9FWEVDVVRPUl9QVFJfVEFHID09IEpJVFByb2JlRXhl
Y3V0b3JQdHJUYWcpOwogc3RhdGljX2Fzc2VydChKSVRfUFJPQkVfU1RBQ0tfSU5JVElBTElaQVRJ
T05fRlVOQ1RJT05fUFRSX1RBRyA9PSBKSVRQcm9iZVN0YWNrSW5pdGlhbGl6YXRpb25GdW5jdGlv
blB0clRhZyk7CiAjZW5kaWYKIApAQCAtMzQwLDE2ICszMzcsMTIgQEAgYXNtICgKICAgICAvLyAg
ICAgeDI0OiBwcm9iZSBmdW5jdGlvbgogICAgIC8vICAgICB4MjU6IHByb2JlIGFyZwogICAgIC8v
ICAgICB4MjY6IHNjcmF0Y2gsIHdhcyBjdGlNYXNtUHJvYmVUcmFtcG9saW5lCi0gICAgLy8gICAg
IHgyNzogc2NyYXRjaAotICAgIC8vICAgICB4Mjg6IFByb2JlOjpleGVjdXRlUHJvYmUKICAgICAv
LyAgICAgeDMwOiByZXR1cm4gYWRkcmVzcwogCisgICAgInN0ciAgICAgICB4MjcsIFtzcCwgIyIg
U1RSSU5HSVpFX1ZBTFVFX09GKElOX1gyN19PRkZTRVQpICJdIiAiXG4iCiAgICAgIm1vdiAgICAg
ICB4MjYsIHNwIiAiXG4iCi0gICAgIm1vdiAgICAgICB4MjcsIHNwIiAiXG4iCi0KLSAgICAic3Vi
ICAgICAgIHgyNywgeDI3LCAjIiBTVFJJTkdJWkVfVkFMVUVfT0YoUFJPQkVfU0laRV9QTFVTX0VY
VFJBUyArIE9VVF9TSVpFKSAiXG4iCi0gICAgImJpYyAgICAgICB4MjcsIHgyNywgIzB4ZiIgIlxu
IiAvLyBUaGUgQVJNIEVBQkkgc3BlY2lmaWVzIHRoYXQgdGhlIHN0YWNrIG5lZWRzIHRvIGJlIDE2
IGJ5dGUgYWxpZ25lZC4KLSAgICAibW92ICAgICAgIHNwLCB4MjciICJcbiIgLy8gU2V0IHRoZSBz
cCB0byBwcm90ZWN0IHRoZSBQcm9iZTo6U3RhdGUgZnJvbSBpbnRlcnJ1cHRzIGJlZm9yZSB3ZSBp
bml0aWFsaXplIGl0LgorICAgICJzdWIgICAgICAgeDI3LCBzcCwgIyIgU1RSSU5HSVpFX1ZBTFVF
X09GKFBST0JFX1NJWkVfUExVU19FWFRSQVMgKyBPVVRfU0laRSkgIlxuIgorICAgICJiaWMgICAg
ICAgc3AsIHgyNywgIzB4ZiIgIlxuIiAvLyBUaGUgQVJNIEVBQkkgc3BlY2lmaWVzIHRoYXQgdGhl
IHN0YWNrIG5lZWRzIHRvIGJlIDE2IGJ5dGUgYWxpZ25lZC4KIAogICAgICJzdHAgICAgICAgeDI0
LCB4MjUsIFtzcCwgIyIgU1RSSU5HSVpFX1ZBTFVFX09GKFBST0JFX1BST0JFX0ZVTkNUSU9OX09G
RlNFVCkgIl0iICJcbiIgLy8gU3RvcmUgdGhlIHByb2JlIGhhbmRsZXIgZnVuY3Rpb24gYW5kIGFy
ZyAocHJlbG9hZGVkIGludG8geDI0IGFuZCB4MjUKIApAQCAtMzYyLDggKzM1NSw5IEBAIGFzbSAo
CiAgICAgInN0cCAgICAgICB4OCwgeDksIFtzcCwgIyIgU1RSSU5HSVpFX1ZBTFVFX09GKFBST0JF
X0NQVV9YOF9PRkZTRVQpICJdIiAiXG4iCiAKICAgICAibGRwICAgICAgIHgyLCB4MywgW3gyNiwg
IyIgU1RSSU5HSVpFX1ZBTFVFX09GKElOX1gyNF9PRkZTRVQpICJdIiAiXG4iIC8vIFByZWxvYWQg
c2F2ZWQgeDI0IGFuZCB4MjUuCi0gICAgImxkcCAgICAgICB4NCwgeDUsIFt4MjYsICMiIFNUUklO
R0laRV9WQUxVRV9PRihJTl9YMjZfT0ZGU0VUKSAiXSIgIlxuIiAvLyBQcmVsb2FkIHNhdmVkIHgy
NiBhbmQgeDI3LgotICAgICJsZHAgICAgICAgeDYsIHg3LCBbeDI2LCAjIiBTVFJJTkdJWkVfVkFM
VUVfT0YoSU5fWDI4X09GRlNFVCkgIl0iICJcbiIgLy8gUHJlbG9hZCBzYXZlZCB4MjggYW5kIGxy
LgorICAgICJsZHAgICAgICAgeDQsIHg1LCBbeDI2LCAjIiBTVFJJTkdJWkVfVkFMVUVfT0YoSU5f
WDI2X09GRlNFVCkgIl0iICJcbiIgLy8gUHJlbG9hZCBzYXZlZCB4MjYgYW5kIGxyLgorICAgICJs
ZHIgICAgICAgeDI3LCBbeDI2LCAjIiBTVFJJTkdJWkVfVkFMVUVfT0YoSU5fWDI3X09GRlNFVCkg
Il0iICJcbiIKKwogICAgICJhZGQgICAgICAgeDI2LCB4MjYsICMiIFNUUklOR0laRV9WQUxVRV9P
RihJTl9TSVpFKSAiXG4iIC8vIENvbXB1dGUgdGhlIHNwIGJlZm9yZSB0aGUgcHJvYmUuCiAKICAg
ICAic3RwICAgICAgIHgxMCwgeDExLCBbc3AsICMiIFNUUklOR0laRV9WQUxVRV9PRihQUk9CRV9D
UFVfWDEwX09GRlNFVCkgIl0iICJcbiIKQEAgLTM3MywxMCArMzY3LDEwIEBAIGFzbSAoCiAgICAg
InN0cCAgICAgICB4MTgsIHgxOSwgW3NwLCAjIiBTVFJJTkdJWkVfVkFMVUVfT0YoUFJPQkVfQ1BV
X1gxOF9PRkZTRVQpICJdIiAiXG4iCiAgICAgInN0cCAgICAgICB4MjAsIHgyMSwgW3NwLCAjIiBT
VFJJTkdJWkVfVkFMVUVfT0YoUFJPQkVfQ1BVX1gyMF9PRkZTRVQpICJdIiAiXG4iCiAgICAgInN0
cCAgICAgICB4MjIsIHgyMywgW3NwLCAjIiBTVFJJTkdJWkVfVkFMVUVfT0YoUFJPQkVfQ1BVX1gy
Ml9PRkZTRVQpICJdIiAiXG4iCi0gICAgInN0cCAgICAgICB4MiwgeDMsIFtzcCwgIyIgU1RSSU5H
SVpFX1ZBTFVFX09GKFBST0JFX0NQVV9YMjRfT0ZGU0VUKSAiXSIgIlxuIiAvLyBTdG9yZSBzYXZl
ZCByMjQgYW5kIHIyNSAocHJlbG9hZGVkIGludG8geDIgYW5kIHgzIGFib3ZlKS4KLSAgICAic3Rw
ICAgICAgIHg0LCB4NSwgW3NwLCAjIiBTVFJJTkdJWkVfVkFMVUVfT0YoUFJPQkVfQ1BVX1gyNl9P
RkZTRVQpICJdIiAiXG4iIC8vIFN0b3JlIHNhdmVkIHIyNiBhbmQgcjI3IChwcmVsb2FkZWQgaW50
byB4NCBhbmQgeDUgYWJvdmUpLgotICAgICJzdHAgICAgICAgeDYsIHgyOSwgW3NwLCAjIiBTVFJJ
TkdJWkVfVkFMVUVfT0YoUFJPQkVfQ1BVX1gyOF9PRkZTRVQpICJdIiAiXG4iCi0gICAgInN0cCAg
ICAgICB4NywgeDI2LCBbc3AsICMiIFNUUklOR0laRV9WQUxVRV9PRihQUk9CRV9DUFVfTFJfT0ZG
U0VUKSAiXSIgIlxuIiAvLyBTYXZlIHZhbHVlcyBsciBhbmQgc3AgKG9yaWdpbmFsIHNwIHZhbHVl
IGNvbXB1dGVkIGludG8geDI2IGFib3ZlKS4KKyAgICAic3RwICAgICAgIHgyLCAgeDMsICBbc3As
ICMiIFNUUklOR0laRV9WQUxVRV9PRihQUk9CRV9DUFVfWDI0X09GRlNFVCkgIl0iICJcbiIgLy8g
U3RvcmUgc2F2ZWQgcjI0IGFuZCByMjUgKHByZWxvYWRlZCBpbnRvIHgyIGFuZCB4MyBhYm92ZSku
CisgICAgInN0cCAgICAgICB4NCwgIHgyNywgW3NwLCAjIiBTVFJJTkdJWkVfVkFMVUVfT0YoUFJP
QkVfQ1BVX1gyNl9PRkZTRVQpICJdIiAiXG4iIC8vIFN0b3JlIHNhdmVkIHIyNiAocHJlbG9hZGVk
IGludG8geDQpIGFuZCByMjcuCisgICAgInN0cCAgICAgICB4MjgsIHgyOSwgW3NwLCAjIiBTVFJJ
TkdJWkVfVkFMVUVfT0YoUFJPQkVfQ1BVX1gyOF9PRkZTRVQpICJdIiAiXG4iCisgICAgInN0cCAg
ICAgICB4NSwgIHgyNiwgW3NwLCAjIiBTVFJJTkdJWkVfVkFMVUVfT0YoUFJPQkVfQ1BVX0xSX09G
RlNFVCkgIl0iICJcbiIgLy8gU2F2ZSB2YWx1ZXMgbHIgYW5kIHNwIChvcmlnaW5hbCBzcCB2YWx1
ZSBjb21wdXRlZCBpbnRvIHgyNiBhYm92ZSkuCiAKICAgICAiYWRkICAgICAgIHgzMCwgeDMwLCAj
IiBTVFJJTkdJWkVfVkFMVUVfT0YoMiAqIEdQUkVHX1NJWkUpICJcbiIgLy8gVGhlIFBDIGFmdGVy
IHRoZSBwcm9iZSBpcyBhdCAyIGluc3RydWN0aW9ucyBwYXN0IHRoZSByZXR1cm4gcG9pbnQuCiAj
aWYgQ1BVKEFSTTY0RSkKQEAgLTQxMSwxMiArNDA1LDcgQEAgYXNtICgKICAgICAvLyBOb3RlOiB3
ZSBoYXZlbid0IGNoYW5nZWQgdGhlIHZhbHVlIG9mIGZwLiBIZW5jZSwgaXQgaXMgc3RpbGwgcG9p
bnRpbmcgdG8gdGhlIGZyYW1lIG9mCiAgICAgLy8gdGhlIGNhbGxlciBvZiB0aGUgcHJvYmUgKHdo
aWNoIGlzIHdoYXQgd2Ugd2FudCBpbiBvcmRlciB0byBwbGF5IG5pY2Ugd2l0aCBkZWJ1Z2dlcnMg
ZS5nLiBsbGRiKS4KICAgICAibW92ICAgICAgIHgwLCBzcCIgIlxuIiAvLyBTZXQgdGhlIFByb2Jl
OjpTdGF0ZSogYXJnLgotI2lmIENQVShBUk02NEUpCi0gICAgIm1vdnogICAgICBsciwgIyIgU1RS
SU5HSVpFX1ZBTFVFX09GKEpJVF9QUk9CRV9FWEVDVVRPUl9QVFJfVEFHKSAiXG4iCi0gICAgImJs
cmFiICAgICB4MjgsIGxyIiAiXG4iIC8vIENhbGwgdGhlIHByb2JlIGhhbmRsZXIuCi0jZWxzZQot
ICAgICJibHIgICAgICAgeDI4IiAiXG4iIC8vIENhbGwgdGhlIHByb2JlIGhhbmRsZXIuCi0jZW5k
aWYKKyAgICAiYmwgICAgICAgIF9leGVjdXRlSlNDSklUUHJvYmUiICJcbiIKIAogICAgIC8vIE1h
a2Ugc3VyZSB0aGUgUHJvYmU6OlN0YXRlIGlzIGVudGlyZWx5IGJlbG93IHRoZSByZXN1bHQgc3Rh
Y2sgcG9pbnRlciBzbwogICAgIC8vIHRoYXQgcmVnaXN0ZXIgdmFsdWVzIGFyZSBzdGlsbCBwcmVz
ZXJ2ZWQgd2hlbiB3ZSBjYWxsIHRoZSBpbml0aWFsaXplU3RhY2sKQEAgLTUxMSw3ICs1MDAsNyBA
QCBhc20gKAogICAgIC8vIHJldHVybnMuIFNvLCB0aGUgQVJNNjQgcHJvYmUgaW1wbGVtZW50YXRp
b24gd2lsbCBhbGxvdyB0aGUgcHJvYmUgaGFuZGxlciB0bwogICAgIC8vIGVpdGhlciBtb2RpZnkg
bHIgb3IgcGMsIGJ1dCBub3QgYm90aCBpbiB0aGUgc2FtZSBwcm9iZSBpbnZvY2F0aW9uLiBUaGUg
cHJvYmUKICAgICAvLyBtZWNoYW5pc20gZW5zdXJlcyB0aGF0IHdlIG5ldmVyIHRyeSB0byBtb2Rp
ZnkgYm90aCBsciBhbmQgcGMgd2l0aCBhIFJFTEVBU0VfQVNTRVJUCi0gICAgLy8gaW4gUHJvYmU6
OmV4ZWN1dGVQcm9iZSgpLgorICAgIC8vIGluIFByb2JlOjooKS4KIAogICAgIC8vIERldGVybWlu
ZSBpZiB0aGUgcHJvYmUgaGFuZGxlciBjaGFuZ2VkIHRoZSBwYy4KICAgICAibGRyICAgICAgIHgz
MCwgW3NwLCAjIiBTVFJJTkdJWkVfVkFMVUVfT0YoUFJPQkVfQ1BVX1NQX09GRlNFVCkgIl0iICJc
biIgLy8gcHJlbG9hZCB0aGUgdGFyZ2V0IHNwLgpAQCAtNTYxLDggKzU1MCw2IEBAIGFzbSAoCiAg
ICAgImFuZCAgICAgICB4MjcsIHgyNywgIzB4ZmYwMDAwMDAwMDAwMDAiICJcbiIKICAgICAib3Jy
ICAgICAgIHgyNywgeDI3LCB4MjgiICJcbiIKICAgICAibGRyYiAgICAgIHcyNywgW3gyN10iICJc
biIKLSAgICAiYWRkICAgICAgIHgyNywgeDMwLCAjNDgiICJcbiIgLy8gQ29tcHV0ZSBzcCBhdCBy
ZXR1cm4gcG9pbnQuCi0gICAgInBhY2liICAgICB4MjgsIHgyNyIgIlxuIgogI2VuZGlmCiAgICAg
ImxkciAgICAgICB4MjcsIFtzcCwgIyIgU1RSSU5HSVpFX1ZBTFVFX09GKFBST0JFX0NQVV9GUF9P
RkZTRVQpICJdIiAiXG4iCiAgICAgInN0cCAgICAgICB4MjcsIHgyOCwgW3gzMCwgIyIgU1RSSU5H
SVpFX1ZBTFVFX09GKE9VVF9GUF9PRkZTRVQpICJdIiAiXG4iCkBAIC01ODcsMTAgKzU3NCw4IEBA
IHZvaWQgTWFjcm9Bc3NlbWJsZXI6OnByb2JlKFByb2JlOjpGdW5jdGkKICAgICBzdWI2NChUcnVz
dGVkSW1tMzIoc2l6ZW9mKEluY29taW5nUHJvYmVSZWNvcmQpKSwgc3ApOwogCiAgICAgc3RvcmVQ
YWlyNjQoeDI0LCB4MjUsIHNwLCBUcnVzdGVkSW1tMzIob2Zmc2V0b2YoSW5jb21pbmdQcm9iZVJl
Y29yZCwgeDI0KSkpOwotICAgIHN0b3JlUGFpcjY0KHgyNiwgeDI3LCBzcCwgVHJ1c3RlZEltbTMy
KG9mZnNldG9mKEluY29taW5nUHJvYmVSZWNvcmQsIHgyNikpKTsKLSAgICBzdG9yZVBhaXI2NCh4
MjgsIHgzMCwgc3AsIFRydXN0ZWRJbW0zMihvZmZzZXRvZihJbmNvbWluZ1Byb2JlUmVjb3JkLCB4
MjgpKSk7IC8vIE5vdGU6IHgzMCBpcyBsci4KKyAgICBzdG9yZVBhaXI2NCh4MjYsIHgzMCwgc3As
IFRydXN0ZWRJbW0zMihvZmZzZXRvZihJbmNvbWluZ1Byb2JlUmVjb3JkLCB4MjYpKSk7IC8vIE5v
dGU6IHgzMCBpcyBsci4KICAgICBtb3ZlKFRydXN0ZWRJbW1QdHIodGFnQ0Z1bmN0aW9uPE9wZXJh
dGlvblB0clRhZz4oY3RpTWFzbVByb2JlVHJhbXBvbGluZSkpLCB4MjYpOwotICAgIG1vdmUoVHJ1
c3RlZEltbVB0cih0YWdDRnVuY3Rpb248SklUUHJvYmVFeGVjdXRvclB0clRhZz4oUHJvYmU6OmV4
ZWN1dGVQcm9iZSkpLCB4MjgpOwogI2lmIENQVShBUk02NEUpCiAgICAgYXNzZXJ0SXNUYWdnZWRX
aXRoPEpJVFByb2JlUHRyVGFnPihmdW5jdGlvbik7CiAjZW5kaWYKSW5kZXg6IFNvdXJjZS9KYXZh
U2NyaXB0Q29yZS9hc3NlbWJsZXIvTWFjcm9Bc3NlbWJsZXJBUk12Ny5jcHAKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2Fzc2VtYmxlci9NYWNyb0Fzc2VtYmxlckFSTXY3LmNw
cAkocmV2aXNpb24gMjgxNjg0KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL2Fzc2VtYmxlci9N
YWNyb0Fzc2VtYmxlckFSTXY3LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMjI4LDEyICsyMjgsMTIg
QEAgYXNtICgKICAgICAvLyBJbmNvbWluZyByZWdpc3RlciB2YWx1ZXM6CiAgICAgLy8gICAgIHIw
OiBwcm9iZSBmdW5jdGlvbgogICAgIC8vICAgICByMTogcHJvYmUgYXJnCi0gICAgLy8gICAgIHIy
OiBQcm9iZTo6ZXhlY3V0ZVByb2JlCisgICAgLy8gICAgIHIyOiBQcm9iZTo6ZXhlY3V0ZUpTQ0pJ
VFByb2JlCiAgICAgLy8gICAgIGlwOiBzY3JhdGNoLCB3YXMgY3RpTWFzbVByb2JlVHJhbXBvbGlu
ZQogICAgIC8vICAgICBscjogcmV0dXJuIGFkZHJlc3MKIAogICAgICJtb3YgICAgICAgaXAsIHNw
IiAiXG4iCi0gICAgInN0ciAgICAgICByMiwgW2lwLCAjLSIgU1RSSU5HSVpFX1ZBTFVFX09GKFBU
Ul9TSVpFKSAiXSIgIlxuIiAvLyBTdGFzaCBQcm9iZTo6ZXhlY3V0ZVByb2JlLgorICAgICJzdHIg
ICAgICAgcjIsIFtpcCwgIy0iIFNUUklOR0laRV9WQUxVRV9PRihQVFJfU0laRSkgIl0iICJcbiIg
Ly8gU3Rhc2ggUHJvYmU6OmV4ZWN1dGVKU0NKSVRQcm9iZS4KIAogICAgICJtb3YgICAgICAgcjIs
IHNwIiAiXG4iCiAgICAgInN1YiAgICAgICByMiwgcjIsICMiIFNUUklOR0laRV9WQUxVRV9PRihQ
Uk9CRV9TSVpFICsgT1VUX1NJWkUpICJcbiIKQEAgLTI0MSw3ICsyNDEsNyBAQCBhc20gKAogICAg
IC8vIFRoZSBBUk0gRUFCSSBzcGVjaWZpZXMgdGhhdCB0aGUgc3RhY2sgbmVlZHMgdG8gYmUgMTYg
Ynl0ZSBhbGlnbmVkLgogICAgICJiaWMgICAgICAgcjIsIHIyLCAjMHhmIiAiXG4iCiAgICAgIm1v
diAgICAgICBzcCwgcjIiICJcbiIgLy8gU2V0IHRoZSBzcCB0byBwcm90ZWN0IHRoZSBQcm9iZTo6
U3RhdGUgZnJvbSBpbnRlcnJ1cHRzIGJlZm9yZSB3ZSBpbml0aWFsaXplIGl0LgotICAgICJsZHIg
ICAgICAgcjIsIFtpcCwgIy0iIFNUUklOR0laRV9WQUxVRV9PRihQVFJfU0laRSkgIl0iICJcbiIg
Ly8gUmVsb2FkIFByb2JlOjpleGVjdXRlUHJvYmUuCisgICAgImxkciAgICAgICByMiwgW2lwLCAj
LSIgU1RSSU5HSVpFX1ZBTFVFX09GKFBUUl9TSVpFKSAiXSIgIlxuIiAvLyBSZWxvYWQgUHJvYmU6
OmV4ZWN1dGVKU0NKSVRQcm9iZS4KIAogICAgICJzdHIgICAgICAgcjAsIFtzcCwgIyIgU1RSSU5H
SVpFX1ZBTFVFX09GKFBST0JFX1BST0JFX0ZVTkNUSU9OX09GRlNFVCkgIl0iICJcbiIKICAgICAi
c3RyICAgICAgIHIxLCBbc3AsICMiIFNUUklOR0laRV9WQUxVRV9PRihQUk9CRV9BUkdfT0ZGU0VU
KSAiXSIgIlxuIgpAQCAtMjgwLDcgKzI4MCw3IEBAIGFzbSAoCiAgICAgIm1vdiAgICAgICByNSwg
c3AiICJcbiIKIAogICAgICJtb3YgICAgICAgcjAsIHNwIiAiXG4iIC8vIHRoZSBQcm9iZTo6U3Rh
dGUqIGFyZy4KLSAgICAiYmx4ICAgICAgIHIyIiAiXG4iIC8vIENhbGwgUHJvYmU6OmV4ZWN1dGVQ
cm9iZS4KKyAgICAiYmx4ICAgICAgIHIyIiAiXG4iIC8vIENhbGwgUHJvYmU6OmV4ZWN1dGVKU0NK
SVRQcm9iZS4KIAogICAgIC8vIE1ha2Ugc3VyZSB0aGUgUHJvYmU6OlN0YXRlIGlzIGVudGlyZWx5
IGJlbG93IHRoZSByZXN1bHQgc3RhY2sgcG9pbnRlciBzbwogICAgIC8vIHRoYXQgcmVnaXN0ZXIg
dmFsdWVzIGFyZSBzdGlsbCBwcmVzZXJ2ZWQgd2hlbiB3ZSBjYWxsIHRoZSBpbml0aWFsaXplU3Rh
Y2sKQEAgLTM4MCw3ICszODAsNyBAQCB2b2lkIE1hY3JvQXNzZW1ibGVyOjpwcm9iZShQcm9iZTo6
RnVuY3RpCiAgICAgLy8gVGhpcyBtZWFucyB3ZSBtdXN0IGZpcnN0IHByZXNlcnZlIHRoZSBhcHNy
IGZsYWdzIGFib3ZlIGZpcnN0LgogICAgIG1vdmUoVHJ1c3RlZEltbVB0cihyZWludGVycHJldF9j
YXN0PHZvaWQqPihmdW5jdGlvbikpLCByMCk7CiAgICAgbW92ZShUcnVzdGVkSW1tUHRyKGFyZyks
IHIxKTsKLSAgICBtb3ZlKFRydXN0ZWRJbW1QdHIocmVpbnRlcnByZXRfY2FzdDx2b2lkKj4oUHJv
YmU6OmV4ZWN1dGVQcm9iZSkpLCByMik7CisgICAgbW92ZShUcnVzdGVkSW1tUHRyKHJlaW50ZXJw
cmV0X2Nhc3Q8dm9pZCo+KFByb2JlOjpleGVjdXRlSlNDSklUUHJvYmUpKSwgcjIpOwogICAgIG1v
dmUoVHJ1c3RlZEltbVB0cihyZWludGVycHJldF9jYXN0PHZvaWQqPihjdGlNYXNtUHJvYmVUcmFt
cG9saW5lKSksIGlwKTsKICAgICBtX2Fzc2VtYmxlci5ibHgoaXApOwogfQpJbmRleDogU291cmNl
L0phdmFTY3JpcHRDb3JlL2Fzc2VtYmxlci9NYWNyb0Fzc2VtYmxlck1JUFMuY3BwCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9hc3NlbWJsZXIvTWFjcm9Bc3NlbWJsZXJNSVBT
LmNwcAkocmV2aXNpb24gMjgxNjg0KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL2Fzc2VtYmxl
ci9NYWNyb0Fzc2VtYmxlck1JUFMuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xLDUgKzEsNSBAQAog
LyoKLSAqIENvcHlyaWdodCAoQykgMjAxMy0yMDE3IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNl
cnZlZC4KKyAqIENvcHlyaWdodCAoQykgMjAxMy0yMDIxIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyBy
ZXNlcnZlZC4KICAqCiAgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmlu
YXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKICAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRl
ZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwpAQCAtMzA0LDcgKzMwNCw3
IEBAIGFzbSAoCiAgICAgLy8gSW5jb21pbmcgcmVnaXN0ZXIgdmFsdWVzOgogICAgIC8vICAgICBh
MDogcHJvYmUgZnVuY3Rpb24KICAgICAvLyAgICAgYTE6IHByb2JlIGFyZwotICAgIC8vICAgICBh
MjogUHJvYmU6OmV4ZWN1dGVQcm9iZQorICAgIC8vICAgICBhMjogUHJvYmU6OmV4ZWN1dGVKU0NK
SVRQcm9iZQogICAgIC8vICAgICBzMDogc2NyYXRjaCwgd2FzIGN0aU1hc21Qcm9iZVRyYW1wb2xp
bmUKICAgICAvLyAgICAgczE6IHNjcmF0Y2gKICAgICAvLyAgICAgcmE6IHJldHVybiBhZGRyZXNz
CkBAIC0zOTQsNyArMzk0LDcgQEAgYXNtICgKIAogICAgICJtb3ZlICAgICAgJGEwLCAkc3AiICJc
biIgLy8gU2V0IHRoZSBQcm9iZTo6U3RhdGUqIGFyZy4KICAgICAiYWRkaXUgICAgICRzcCwgJHNw
LCAtMTYiICJcbiIgLy8gQWxsb2NhdGUgc3RhY2sgc3BhY2UgZm9yICh1bnVzZWQpIDE2IGJ5dGVz
ICg4LWJ5dGUgYWxpZ25lZCkgZm9yIDQgYXJndW1lbnRzLgotICAgICJtb3ZlICAgICAgJHQ5LCAk
YTIiICJcbiIgLy8gUHJvYmU6OmV4ZWN1dGVQcm9iZSgpCisgICAgIm1vdmUgICAgICAkdDksICRh
MiIgIlxuIiAvLyBQcm9iZTo6ZXhlY3V0ZUpTQ0pJVFByb2JlKCkKICAgICAiamFsciAgICAgICR0
OSIgIlxuIiAvLyBDYWxsIHRoZSBwcm9iZSBoYW5kbGVyLgogICAgICJub3AiICJcbiIKIApAQCAt
NTA4LDcgKzUwOCw3IEBAIGFzbSAoCiAgICAgLy8gcmV0dXJucy4gU28sIHRoZSBNSVBTIHByb2Jl
IGltcGxlbWVudGF0aW9uIHdpbGwgYWxsb3cgdGhlIHByb2JlIGhhbmRsZXIgdG8KICAgICAvLyBl
aXRoZXIgbW9kaWZ5IHJhIG9yIHBjLCBidXQgbm90IGJvdGggaW4gdGhlIHNhbWUgcHJvYmUgaW52
b2NhdGlvbi4gVGhlIHByb2JlCiAgICAgLy8gbWVjaGFuaXNtIGVuc3VyZXMgdGhhdCB3ZSBuZXZl
ciB0cnkgdG8gbW9kaWZ5IGJvdGggcmEgYW5kIHBjIHdpdGggYSBSRUxFQVNFX0FTU0VSVAotICAg
IC8vIGluIFByb2JlOjpleGVjdXRlUHJvYmUoKS4KKyAgICAvLyBpbiBQcm9iZTo6ZXhlY3V0ZUpT
Q0pJVFByb2JlKCkuCiAKICAgICAvLyBEZXRlcm1pbmUgaWYgdGhlIHByb2JlIGhhbmRsZXIgY2hh
bmdlZCB0aGUgcGMuCiAgICAgImx3ICAgICAgICAkcmEsICIgU1RSSU5HSVpFX1ZBTFVFX09GKFBS
T0JFX0NQVV9TUF9PRkZTRVQpICIoJHNwKSIgIlxuIiAvLyBwcmVsb2FkIHRoZSB0YXJnZXQgc3Au
CkBAIC01NjMsNyArNTYzLDcgQEAgdm9pZCBNYWNyb0Fzc2VtYmxlcjo6cHJvYmUoUHJvYmU6OkZ1
bmN0aQogICAgIHN0b3JlMzIocmEsIEFkZHJlc3Moc3AsIG9mZnNldG9mKEluY29taW5nUmVjb3Jk
LCByYSkpKTsKICAgICBtb3ZlKFRydXN0ZWRJbW1QdHIocmVpbnRlcnByZXRfY2FzdDx2b2lkKj4o
ZnVuY3Rpb24pKSwgYTApOwogICAgIG1vdmUoVHJ1c3RlZEltbVB0cihhcmcpLCBhMSk7Ci0gICAg
bW92ZShUcnVzdGVkSW1tUHRyKHJlaW50ZXJwcmV0X2Nhc3Q8dm9pZCo+KFByb2JlOjpleGVjdXRl
UHJvYmUpKSwgYTIpOworICAgIG1vdmUoVHJ1c3RlZEltbVB0cihyZWludGVycHJldF9jYXN0PHZv
aWQqPihQcm9iZTo6ZXhlY3V0ZUpTQ0pJVFByb2JlKSksIGEyKTsKICAgICBtb3ZlKFRydXN0ZWRJ
bW1QdHIocmVpbnRlcnByZXRfY2FzdDx2b2lkKj4oY3RpTWFzbVByb2JlVHJhbXBvbGluZSkpLCBz
MCk7CiAgICAgbV9hc3NlbWJsZXIuamFscihzMCk7CiAgICAgbV9hc3NlbWJsZXIubm9wKCk7Cklu
ZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYXNzZW1ibGVyL01hY3JvQXNzZW1ibGVyWDg2Q29t
bW9uLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYXNzZW1ibGVyL01h
Y3JvQXNzZW1ibGVyWDg2Q29tbW9uLmNwcAkocmV2aXNpb24gMjgxNjg0KQorKysgU291cmNlL0ph
dmFTY3JpcHRDb3JlL2Fzc2VtYmxlci9NYWNyb0Fzc2VtYmxlclg4NkNvbW1vbi5jcHAJKHdvcmtp
bmcgY29weSkKQEAgLTEwNSw3ICsxMDUsOSBAQCBKU0NfQU5OT1RBVEVfSklUX09QRVJBVElPTihj
dGlNYXNtUHJvYmVUCiAjZGVmaW5lIFBST0JFX1NJWkUgKFBST0JFX0NQVV9YTU0xNV9PRkZTRVQg
KyBYTU1fU0laRSkKICNlbmRpZiAvLyBDUFUoWDg2XzY0KQogCi0jZGVmaW5lIFBST0JFX0VYRUNV
VE9SX09GRlNFVCBQUk9CRV9TSVpFIC8vIFN0YXNoIHRoZSBleGVjdXRlUHJvYmUgZnVuY3Rpb24g
cG9pbnRlciBhdCB0aGUgZW5kIG9mIHRoZSBQcm9iZUNvbnRleHQuCisjaWYgQ09NUElMRVIoTVNW
QykgfHwgQ1BVKFg4NikKKyNkZWZpbmUgUFJPQkVfRVhFQ1VUT1JfT0ZGU0VUIFBST0JFX1NJWkUg
Ly8gU3Rhc2ggdGhlIGV4ZWN1dGVKU0NKSVRQcm9iZSBmdW5jdGlvbiBwb2ludGVyIGF0IHRoZSBl
bmQgb2YgdGhlIFByb2JlQ29udGV4dC4KKyNlbmRpZgogCiAvLyBUaGUgb3V0Z29pbmcgcmVjb3Jk
IHRvIGJlIHBvcHBlZCBvZmYgdGhlIHN0YWNrIGF0IHRoZSBlbmQgY29uc2lzdHMgb2Y6CiAvLyBl
ZmxhZ3MsIGVheCwgZWN4LCBlYnAsIGVpcC4KQEAgLTE2NSw3ICsxNjcsOSBAQCBzdGF0aWNfYXNz
ZXJ0KFBST0JFX09GRlNFVE9GX1JFRyhjcHUuZnByCiAjZW5kaWYgLy8gQ1BVKFg4Nl82NCkKIAog
c3RhdGljX2Fzc2VydChzaXplb2YoUHJvYmU6OlN0YXRlKSA9PSBQUk9CRV9TSVpFLCAiUHJvYmU6
OlN0YXRlOjpzaXplJ3MgbWF0Y2hlcyBjdGlNYXNtUHJvYmVUcmFtcG9saW5lIik7CisjaWYgQ09N
UElMRVIoTVNWQykgfHwgQ1BVKFg4NikKIHN0YXRpY19hc3NlcnQoKFBST0JFX0VYRUNVVE9SX09G
RlNFVCArIFBUUl9TSVpFKSA8PSAoUFJPQkVfU0laRSArIE9VVF9TSVpFKSwgIk11c3QgaGF2ZSBy
b29tIGFmdGVyIFByb2JlQ29udGV4dCB0byBzdGFzaCB0aGUgcHJvYmUgaGFuZGxlciIpOworI2Vu
ZGlmCiAKICN1bmRlZiBQUk9CRV9PRkZTRVRPRgogCkBAIC0xODksNyArMTkzLDcgQEAgYXNtICgK
ICAgICAvLyAgICAgZXNwWzUgKiBwdHJTaXplXTogc2F2ZWQgZWF4CiAgICAgLy8KICAgICAvLyBJ
bmNvbWluZyByZWdpc3RlcnMgY29udGFpbjoKLSAgICAvLyAgICAgZWN4OiBQcm9iZTo6ZXhlY3V0
ZVByb2JlCisgICAgLy8gICAgIGVjeDogUHJvYmU6OmV4ZWN1dGVKU0NKSVRQcm9iZQogICAgIC8v
ICAgICBlZHg6IHByb2JlIGZ1bmN0aW9uCiAgICAgLy8gICAgIGVieDogcHJvYmUgYXJnCiAgICAg
Ly8gICAgIGVheDogc2NyYXRjaCAod2FzIGN0aU1hc21Qcm9iZVRyYW1wb2xpbmUpCkBAIC0zNTYs
NyArMzYwLDcgQEAgZXh0ZXJuICJDIiBfX2RlY2xzcGVjKG5ha2VkKSB2b2lkIGN0aU1hcwogICAg
ICAgICAvLyAgICAgZXNwWzUgKiBwdHJTaXplXTogc2F2ZWQgZWF4CiAgICAgICAgIC8vCiAgICAg
ICAgIC8vIEluY29taW5nIHJlZ2lzdGVycyBjb250YWluOgotICAgICAgICAvLyAgICAgZWN4OiBQ
cm9iZTo6ZXhlY3V0ZVByb2JlCisgICAgICAgIC8vICAgICBlY3g6IFByb2JlOjpleGVjdXRlSlND
SklUUHJvYmUKICAgICAgICAgLy8gICAgIGVkeDogcHJvYmUgZnVuY3Rpb24KICAgICAgICAgLy8g
ICAgIGVieDogcHJvYmUgYXJnCiAgICAgICAgIC8vICAgICBlYXg6IHNjcmF0Y2ggKHdhcyBjdGlN
YXNtUHJvYmVUcmFtcG9saW5lKQpAQCAtNTI4LDExICs1MzIsOSBAQCBhc20gKAogICAgIC8vICAg
ICByYnBbMSAqIHB0clNpemVdOiByZXR1cm4gYWRkcmVzcyAvIHNhdmVkIHJpcAogICAgIC8vICAg
ICByYnBbMiAqIHB0clNpemVdOiBzYXZlZCByYngKICAgICAvLyAgICAgcmJwWzMgKiBwdHJTaXpl
XTogc2F2ZWQgcmR4Ci0gICAgLy8gICAgIHJicFs0ICogcHRyU2l6ZV06IHNhdmVkIHJjeAotICAg
IC8vICAgICByYnBbNSAqIHB0clNpemVdOiBzYXZlZCByYXgKKyAgICAvLyAgICAgcmJwWzQgKiBw
dHJTaXplXTogc2F2ZWQgcmF4CiAgICAgLy8KICAgICAvLyBJbmNvbWluZyByZWdpc3RlcnMgY29u
dGFpbjoKLSAgICAvLyAgICAgcmN4OiBQcm9iZTo6ZXhlY3V0ZVByb2JlCiAgICAgLy8gICAgIHJk
eDogcHJvYmUgZnVuY3Rpb24KICAgICAvLyAgICAgcmJ4OiBwcm9iZSBhcmcKICAgICAvLyAgICAg
cmF4OiBzY3JhdGNoICh3YXMgY3RpTWFzbVByb2JlVHJhbXBvbGluZSkKQEAgLTU0MywxMiArNTQ1
LDEzIEBAIGFzbSAoCiAgICAgImFuZHEgJH4weDFmLCAlcnNwIiAiXG4iCiAgICAgLy8gU2luY2Ug
c3AgcG9pbnRzIHRvIHRoZSBQcm9iZTo6U3RhdGUsIHdlJ3ZlIGVuc3VyZWQgdGhhdCBpdCdzIHBy
b3RlY3RlZCBmcm9tIGludGVycnVwdHMgYmVmb3JlIHdlIGluaXRpYWxpemUgaXQuCiAKLSAgICAi
bW92cSAlcmN4LCAiIFNUUklOR0laRV9WQUxVRV9PRihQUk9CRV9FWEVDVVRPUl9PRkZTRVQpICIo
JXJzcCkiICJcbiIKICAgICAibW92cSAlcmR4LCAiIFNUUklOR0laRV9WQUxVRV9PRihQUk9CRV9Q
Uk9CRV9GVU5DVElPTl9PRkZTRVQpICIoJXJzcCkiICJcbiIKICAgICAibW92cSAlcmJ4LCAiIFNU
UklOR0laRV9WQUxVRV9PRihQUk9CRV9BUkdfT0ZGU0VUKSAiKCVyc3ApIiAiXG4iCiAgICAgIm1v
dnEgJXJzaSwgIiBTVFJJTkdJWkVfVkFMVUVfT0YoUFJPQkVfQ1BVX0VTSV9PRkZTRVQpICIoJXJz
cCkiICJcbiIKICAgICAibW92cSAlcmRpLCAiIFNUUklOR0laRV9WQUxVRV9PRihQUk9CRV9DUFVf
RURJX09GRlNFVCkgIiglcnNwKSIgIlxuIgogCisgICAgIm1vdnEgJXJjeCwgIiBTVFJJTkdJWkVf
VkFMVUVfT0YoUFJPQkVfQ1BVX0VDWF9PRkZTRVQpICIoJXJzcCkiICJcbiIKKwogICAgICJtb3Zx
IC0xICogIiBTVFJJTkdJWkVfVkFMVUVfT0YoUFRSX1NJWkUpICIoJXJicCksICVyY3giICJcbiIK
ICAgICAibW92cSAlcmN4LCAiIFNUUklOR0laRV9WQUxVRV9PRihQUk9CRV9DUFVfRUZMQUdTX09G
RlNFVCkgIiglcnNwKSIgIlxuIgogICAgICJtb3ZxIDAgKiAiIFNUUklOR0laRV9WQUxVRV9PRihQ
VFJfU0laRSkgIiglcmJwKSwgJXJjeCIgIlxuIgpAQCAtNTYwLDggKzU2Myw2IEBAIGFzbSAoCiAg
ICAgIm1vdnEgMyAqICIgU1RSSU5HSVpFX1ZBTFVFX09GKFBUUl9TSVpFKSAiKCVyYnApLCAlcmN4
IiAiXG4iCiAgICAgIm1vdnEgJXJjeCwgIiBTVFJJTkdJWkVfVkFMVUVfT0YoUFJPQkVfQ1BVX0VE
WF9PRkZTRVQpICIoJXJzcCkiICJcbiIKICAgICAibW92cSA0ICogIiBTVFJJTkdJWkVfVkFMVUVf
T0YoUFRSX1NJWkUpICIoJXJicCksICVyY3giICJcbiIKLSAgICAibW92cSAlcmN4LCAiIFNUUklO
R0laRV9WQUxVRV9PRihQUk9CRV9DUFVfRUNYX09GRlNFVCkgIiglcnNwKSIgIlxuIgotICAgICJt
b3ZxIDUgKiAiIFNUUklOR0laRV9WQUxVRV9PRihQVFJfU0laRSkgIiglcmJwKSwgJXJjeCIgIlxu
IgogICAgICJtb3ZxICVyY3gsICIgU1RSSU5HSVpFX1ZBTFVFX09GKFBST0JFX0NQVV9FQVhfT0ZG
U0VUKSAiKCVyc3ApIiAiXG4iCiAKICAgICAibW92cSAlcmJwLCAlcmN4IiAiXG4iCkBAIC01OTUs
NyArNTk2LDcgQEAgYXNtICgKICAgICAibW92cSAleG1tMTUsICIgU1RSSU5HSVpFX1ZBTFVFX09G
KFBST0JFX0NQVV9YTU0xNV9PRkZTRVQpICIoJXJzcCkiICJcbiIKIAogICAgICJtb3ZxICVyc3As
ICVyZGkiICJcbiIgLy8gdGhlIFByb2JlOjpTdGF0ZSogYXJnLgotICAgICJjYWxsICoiIFNUUklO
R0laRV9WQUxVRV9PRihQUk9CRV9FWEVDVVRPUl9PRkZTRVQpICIoJXJzcCkiICJcbiIKKyAgICAi
Y2FsbCBfZXhlY3V0ZUpTQ0pJVFByb2JlIiAiXG4iCiAKICAgICAvLyBNYWtlIHN1cmUgdGhlIFBy
b2JlOjpTdGF0ZSBpcyBlbnRpcmVseSBiZWxvdyB0aGUgcmVzdWx0IHN0YWNrIHBvaW50ZXIgc28K
ICAgICAvLyB0aGF0IHJlZ2lzdGVyIHZhbHVlcyBhcmUgc3RpbGwgcHJlc2VydmVkIHdoZW4gd2Ug
Y2FsbCB0aGUgaW5pdGlhbGl6ZVN0YWNrCkBAIC03NTEsMTAgKzc1MiwxNyBAQCBhc20gKAogCiB2
b2lkIE1hY3JvQXNzZW1ibGVyOjpwcm9iZShQcm9iZTo6RnVuY3Rpb24gZnVuY3Rpb24sIHZvaWQq
IGFyZykKIHsKKyNpZiBDUFUoWDg2XzY0KSAmJiBDT01QSUxFUihHQ0NfQ09NUEFUSUJMRSkKKyAg
ICAvLyBFeHRyYSBwdXNoIHNvIHRoYXQgdGhlIHRvdGFsIG51bWJlciBvZiBwdXNoZXMgcGFkIG91
dCB0byAzMi1ieXRlcywgYW5kIHRoZQorICAgIC8vIHN0YWNrIHBvaW50ZXIgcmVtYWlucyAzMiBi
eXRlIGFsaWduZWQgYXMgcmVxdWlyZWQgYnkgdGhlIEFCSS4KKyAgICBwdXNoKFJlZ2lzdGVySUQ6
OmVheCk7CisjZW5kaWYKICAgICBwdXNoKFJlZ2lzdGVySUQ6OmVheCk7CiAgICAgbW92ZShUcnVz
dGVkSW1tUHRyKHJlaW50ZXJwcmV0X2Nhc3Q8dm9pZCo+KGN0aU1hc21Qcm9iZVRyYW1wb2xpbmUp
KSwgUmVnaXN0ZXJJRDo6ZWF4KTsKKyNpZiBDT01QSUxFUihNU1ZDKSB8fCBDUFUoWDg2KQogICAg
IHB1c2goUmVnaXN0ZXJJRDo6ZWN4KTsKLSAgICBtb3ZlKFRydXN0ZWRJbW1QdHIocmVpbnRlcnBy
ZXRfY2FzdDx2b2lkKj4oUHJvYmU6OmV4ZWN1dGVQcm9iZSkpLCBSZWdpc3RlcklEOjplY3gpOwor
ICAgIG1vdmUoVHJ1c3RlZEltbVB0cihyZWludGVycHJldF9jYXN0PHZvaWQqPihQcm9iZTo6ZXhl
Y3V0ZUpTQ0pJVFByb2JlKSksIFJlZ2lzdGVySUQ6OmVjeCk7CisjZW5kaWYKICAgICBwdXNoKFJl
Z2lzdGVySUQ6OmVkeCk7CiAgICAgbW92ZShUcnVzdGVkSW1tUHRyKHJlaW50ZXJwcmV0X2Nhc3Q8
dm9pZCo+KGZ1bmN0aW9uKSksIFJlZ2lzdGVySUQ6OmVkeCk7CiAgICAgcHVzaChSZWdpc3RlcklE
OjplYngpOwpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL2Fzc2VtYmxlci9Qcm9iZUNvbnRl
eHQuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9hc3NlbWJsZXIvUHJv
YmVDb250ZXh0LmNwcAkocmV2aXNpb24gMjgxNjg0KQorKysgU291cmNlL0phdmFTY3JpcHRDb3Jl
L2Fzc2VtYmxlci9Qcm9iZUNvbnRleHQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0zMyw3ICszMyw3
IEBAIG5hbWVzcGFjZSBQcm9iZSB7CiAKIHN0YXRpYyB2b2lkIGZsdXNoRGlydHlTdGFja1BhZ2Vz
KFN0YXRlKik7CiAKLXZvaWQgZXhlY3V0ZVByb2JlKFN0YXRlKiBzdGF0ZSkKK3ZvaWQgZXhlY3V0
ZUpTQ0pJVFByb2JlKFN0YXRlKiBzdGF0ZSkKIHsKICAgICBDb250ZXh0IGNvbnRleHQoc3RhdGUp
OwogI2lmIENQVShBUk02NCkKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9hc3NlbWJsZXIv
UHJvYmVDb250ZXh0LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2Fzc2Vt
Ymxlci9Qcm9iZUNvbnRleHQuaAkocmV2aXNpb24gMjgxNjg0KQorKysgU291cmNlL0phdmFTY3Jp
cHRDb3JlL2Fzc2VtYmxlci9Qcm9iZUNvbnRleHQuaAkod29ya2luZyBjb3B5KQpAQCAtMjQzLDcg
KzI0Myw3IEBAIHByaXZhdGU6CiAgICAgZnJpZW5kIEpTX0VYUE9SVF9QUklWQVRFIHZvaWQqIHBy
b2JlU3RhdGVGb3JDb250ZXh0KENvbnRleHQmKTsgLy8gTm90IGZvciBnZW5lcmFsIHVzZS4gVGhp
cyBzaG91bGQgb25seSBiZSBmb3Igd3JpdGluZyB0ZXN0cy4KIH07CiAKLXZvaWQgZXhlY3V0ZVBy
b2JlKFN0YXRlKik7CitleHRlcm4gIkMiIHZvaWQgZXhlY3V0ZUpTQ0pJVFByb2JlKFN0YXRlKik7
CiAKIH0gLy8gbmFtZXNwYWNlIFByb2JlCiB9IC8vIG5hbWVzcGFjZSBKU0MK
</data>
<flag name="commit-queue"
          id="459712"
          type_id="3"
          status="-"
          setter="ews-feeder"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>436647</attachid>
            <date>2021-08-27 11:41:02 -0700</date>
            <delta_ts>2021-08-27 13:12:25 -0700</delta_ts>
            <desc>proposed patch.</desc>
            <filename>bug-229618.patch</filename>
            <type>text/plain</type>
            <size>21750</size>
            <attacher name="Mark Lam">mark.lam</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkocmV2aXNpb24gMjgxNzA3KQorKysgU291cmNl
L0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDQyIEBA
CisyMDIxLTA4LTI3ICBNYXJrIExhbSAgPG1hcmsubGFtQGFwcGxlLmNvbT4KKworICAgICAgICBN
YWtlIEFSTTY0IGFuZCBYODZfNjQgcHJvYmUgY29kZSBhIGxpdHRsZSBiaXQgbW9yZSBlZmZpY2ll
bnQuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMjk2
MTgKKyAgICAgICAgcmRhcjovLzgyNDQ1NzQzCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZ
IChPT1BTISkuCisKKyAgICAgICAgV2Ugd2VyZSB1c2luZyBhbiB1bm5lY2Vzc2FyeSBpbmRpcmVj
dCBjYWxsIHRvIGNhbGwgUHJvYmU6OmV4ZWN1dGVQcm9iZSgpIHdoZW4gd2UKKyAgICAgICAgY2Fu
IGJlIHVzaW5nIGEgZGlyZWN0IGNhbGwsIHdoaWNoIGVtaXRzIGxlc3MgSklUIGNvZGUuICBUaGlz
IHBhdGNoIGNoYW5nZXMgdGhlCisgICAgICAgIEFSTTY0IGFuZCBYODZfNjQgcG9ydHMgdG8gdXNl
IGEgZGlyZWN0IGNhbGwgbm93LgorCisgICAgICAgIEFsc28gcmVuYW1lIGV4ZWN1dGVQcm9iZSB0
byBleGVjdXRlSlNDSklUUHJvYmUgdG8gbWFrZSBpdCBtb3JlIHVuaXF1ZSBzaW5jZSB3ZSdyZQor
ICAgICAgICBzd2l0Y2hpbmcgdG8gZXh0ZXJuICJDIiBsaW5rYWdlIGZvciB0aGlzIGZ1bmN0aW9u
IG5vdy4KKworICAgICAgICBGb3IgTWFjcm9Bc3NlbWJsZXJYODZDb21tb24uY3BwLCB3ZSBsZWZ0
IHRoZSBYODYgYW5kIE1TVkMgaW1wbGVtZW50YXRpb25zIHVuY2hhbmdlZC4KKyAgICAgICAgRm9y
IFg4NiwgSSBkb24ndCBrbm93IHRoZSBzdGFjayBhbGlnbm1lbnQgcmVxdWlyZW1lbnRzIChpZiBh
bnkpIHBsdXMgd2UgbWlnaHQgd2FudAorICAgICAgICB0byBkZWxldGUgdGhpcyBjb2RlIGV2ZW50
dWFsbHkgc2luY2Ugd2UncmUgbm90IHN1cHBvcnRpbmcgdGhlIFg4NiBKSVQgYW55bW9yZS4KKyAg
ICAgICAgRm9yIE1TVkMsIEkgZG9uJ3Qga25vdyB0aGUgd2F5IHRvIGV4cHJlc3MgYSBkaXJlY3Qg
Y2FsbCBpbiBNU1ZDIGFzc2VtYmx5LCBhbmQgaGF2ZQorICAgICAgICBubyB3YXkgdG8gdGVzdCBp
dC4gIFdpbGwgbGVhdmUgdGhhdCBhcyBhbiBleGVyY2lzZSBmb3IgZm9sa3Mgd29ya2luZyBvbiB0
aGUgV2luZG93cworICAgICAgICBwb3J0cyBpZiB0aGV5IGFyZSBpbnRlcmVzdGVkLgorCisgICAg
ICAgIEFsc28gcmVtb3ZlIEpJVFByb2JlRXhlY3V0b3JQdHJUYWcgc2luY2UgaXQncyBubyBsb25n
ZXIgbmVlZGVkLgorCisgICAgICAgICogYXNzZW1ibGVyL01hY3JvQXNzZW1ibGVyQVJNNjQuY3Bw
OgorICAgICAgICAoSlNDOjpNYWNyb0Fzc2VtYmxlcjo6cHJvYmUpOgorICAgICAgICAqIGFzc2Vt
Ymxlci9NYWNyb0Fzc2VtYmxlckFSTXY3LmNwcDoKKyAgICAgICAgKEpTQzo6TWFjcm9Bc3NlbWJs
ZXI6OnByb2JlKToKKyAgICAgICAgKiBhc3NlbWJsZXIvTWFjcm9Bc3NlbWJsZXJNSVBTLmNwcDoK
KyAgICAgICAgKEpTQzo6TWFjcm9Bc3NlbWJsZXI6OnByb2JlKToKKyAgICAgICAgKiBhc3NlbWJs
ZXIvTWFjcm9Bc3NlbWJsZXJYODZDb21tb24uY3BwOgorICAgICAgICAoSlNDOjpjdGlNYXNtUHJv
YmVUcmFtcG9saW5lKToKKyAgICAgICAgKEpTQzo6TWFjcm9Bc3NlbWJsZXI6OnByb2JlKToKKyAg
ICAgICAgKiBhc3NlbWJsZXIvUHJvYmVDb250ZXh0LmNwcDoKKyAgICAgICAgKEpTQzo6UHJvYmU6
OmV4ZWN1dGVKU0NKSVRQcm9iZSk6CisgICAgICAgIChKU0M6OlByb2JlOjpleGVjdXRlUHJvYmUp
OiBEZWxldGVkLgorICAgICAgICAqIGFzc2VtYmxlci9Qcm9iZUNvbnRleHQuaDoKKyAgICAgICAg
KiBydW50aW1lL0pTQ1B0clRhZy5oOgorCiAyMDIxLTA4LTI3ICBNaWtoYWlsIFIuIEdhZGVsaGEg
IDxtaWtoYWlsQGlnYWxpYS5jb20+CiAKICAgICAgICAgQXZvaWQgaW5jcmVhc2luZyByZXF1aXJl
ZCBhbGlnbm1lbnQgb2YgdGFyZ2V0IHR5cGUgd2FybmluZyBvbiBBUk0gMzIgYml0cwpJbmRleDog
U291cmNlL0phdmFTY3JpcHRDb3JlL2Fzc2VtYmxlci9NYWNyb0Fzc2VtYmxlckFSTTY0LmNwcAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYXNzZW1ibGVyL01hY3JvQXNzZW1i
bGVyQVJNNjQuY3BwCShyZXZpc2lvbiAyODE2ODQpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUv
YXNzZW1ibGVyL01hY3JvQXNzZW1ibGVyQVJNNjQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0yNTUs
MjUgKzI1NSwyNCBAQCBzdHJ1Y3QgSW5jb21pbmdQcm9iZVJlY29yZCB7CiAgICAgVUNQVVJlZ2lz
dGVyIHgyNDsKICAgICBVQ1BVUmVnaXN0ZXIgeDI1OwogICAgIFVDUFVSZWdpc3RlciB4MjY7Ci0g
ICAgVUNQVVJlZ2lzdGVyIHgyNzsKLSAgICBVQ1BVUmVnaXN0ZXIgeDI4OwogICAgIFVDUFVSZWdp
c3RlciB4MzA7IC8vIGxyCisgICAgVUNQVVJlZ2lzdGVyIHgyNzsgLy8gU2F2ZWQgaW4gdHJhbXBv
bGluZSB0byB1c2UgYXMgc2NyYXRjaC4KKyAgICBVQ1BVUmVnaXN0ZXIgdW51c2VkRm9yQWxpZ25t
ZW50OwogfTsKIAogI2RlZmluZSBJTl9YMjRfT0ZGU0VUICgwICogR1BSRUdfU0laRSkKICNkZWZp
bmUgSU5fWDI1X09GRlNFVCAoMSAqIEdQUkVHX1NJWkUpCiAjZGVmaW5lIElOX1gyNl9PRkZTRVQg
KDIgKiBHUFJFR19TSVpFKQotI2RlZmluZSBJTl9YMjdfT0ZGU0VUICgzICogR1BSRUdfU0laRSkK
LSNkZWZpbmUgSU5fWDI4X09GRlNFVCAoNCAqIEdQUkVHX1NJWkUpCi0jZGVmaW5lIElOX1gzMF9P
RkZTRVQgKDUgKiBHUFJFR19TSVpFKQorI2RlZmluZSBJTl9YMzBfT0ZGU0VUICgzICogR1BSRUdf
U0laRSkKKyNkZWZpbmUgSU5fWDI3X09GRlNFVCAoNCAqIEdQUkVHX1NJWkUpCisvLyBUaGUgNXRo
IHNsb3QgaXMgdW51c2VkLiBJdCdzIG9ubHkgdGhlcmUgZm9yIGFsaWdubWVudC4KICNkZWZpbmUg
SU5fU0laRSAgICAgICAoNiAqIEdQUkVHX1NJWkUpCiAKIHN0YXRpY19hc3NlcnQoSU5fWDI0X09G
RlNFVCA9PSBvZmZzZXRvZihJbmNvbWluZ1Byb2JlUmVjb3JkLCB4MjQpLCAiSU5fWDI0X09GRlNF
VCBpcyBpbmNvcnJlY3QiKTsKIHN0YXRpY19hc3NlcnQoSU5fWDI1X09GRlNFVCA9PSBvZmZzZXRv
ZihJbmNvbWluZ1Byb2JlUmVjb3JkLCB4MjUpLCAiSU5fWDI1X09GRlNFVCBpcyBpbmNvcnJlY3Qi
KTsKIHN0YXRpY19hc3NlcnQoSU5fWDI2X09GRlNFVCA9PSBvZmZzZXRvZihJbmNvbWluZ1Byb2Jl
UmVjb3JkLCB4MjYpLCAiSU5fWDI2X09GRlNFVCBpcyBpbmNvcnJlY3QiKTsKLXN0YXRpY19hc3Nl
cnQoSU5fWDI3X09GRlNFVCA9PSBvZmZzZXRvZihJbmNvbWluZ1Byb2JlUmVjb3JkLCB4MjcpLCAi
SU5fWDI3X09GRlNFVCBpcyBpbmNvcnJlY3QiKTsKLXN0YXRpY19hc3NlcnQoSU5fWDI4X09GRlNF
VCA9PSBvZmZzZXRvZihJbmNvbWluZ1Byb2JlUmVjb3JkLCB4MjgpLCAiSU5fWDIyX09GRlNFVCBp
cyBpbmNvcnJlY3QiKTsKIHN0YXRpY19hc3NlcnQoSU5fWDMwX09GRlNFVCA9PSBvZmZzZXRvZihJ
bmNvbWluZ1Byb2JlUmVjb3JkLCB4MzApLCAiSU5fWDIzX09GRlNFVCBpcyBpbmNvcnJlY3QiKTsK
K3N0YXRpY19hc3NlcnQoSU5fWDI3X09GRlNFVCA9PSBvZmZzZXRvZihJbmNvbWluZ1Byb2JlUmVj
b3JkLCB4MjcpLCAiSU5fWDI3X09GRlNFVCBpcyBpbmNvcnJlY3QiKTsKIHN0YXRpY19hc3NlcnQo
SU5fU0laRSA9PSBzaXplb2YoSW5jb21pbmdQcm9iZVJlY29yZCksICJJTl9TSVpFIGlzIGluY29y
cmVjdCIpOwogc3RhdGljX2Fzc2VydCghKHNpemVvZihJbmNvbWluZ1Byb2JlUmVjb3JkKSAmIDB4
ZiksICJJbmNvbWluZ1Byb2JlU3RhY2sgbXVzdCBiZSAxNi1ieXRlIGFsaWduZWQiKTsKIApAQCAt
MzE3LDEwICszMTYsOCBAQCBzdGF0aWNfYXNzZXJ0KCEoc2l6ZW9mKExSUmVzdG9yYXRpb25SZWNv
CiAKICNpZiBDUFUoQVJNNjRFKQogI2RlZmluZSBKSVRfUFJPQkVfUENfUFRSX1RBRyAweGVlYWMK
LSNkZWZpbmUgSklUX1BST0JFX0VYRUNVVE9SX1BUUl9UQUcgMHgyOGRlCiAjZGVmaW5lIEpJVF9Q
Uk9CRV9TVEFDS19JTklUSUFMSVpBVElPTl9GVU5DVElPTl9QVFJfVEFHIDB4MzE1Ywogc3RhdGlj
X2Fzc2VydChKSVRfUFJPQkVfUENfUFRSX1RBRyA9PSBKSVRQcm9iZVBDUHRyVGFnKTsKLXN0YXRp
Y19hc3NlcnQoSklUX1BST0JFX0VYRUNVVE9SX1BUUl9UQUcgPT0gSklUUHJvYmVFeGVjdXRvclB0
clRhZyk7CiBzdGF0aWNfYXNzZXJ0KEpJVF9QUk9CRV9TVEFDS19JTklUSUFMSVpBVElPTl9GVU5D
VElPTl9QVFJfVEFHID09IEpJVFByb2JlU3RhY2tJbml0aWFsaXphdGlvbkZ1bmN0aW9uUHRyVGFn
KTsKICNlbmRpZgogCkBAIC0zNDAsMTYgKzMzNywxMiBAQCBhc20gKAogICAgIC8vICAgICB4MjQ6
IHByb2JlIGZ1bmN0aW9uCiAgICAgLy8gICAgIHgyNTogcHJvYmUgYXJnCiAgICAgLy8gICAgIHgy
Njogc2NyYXRjaCwgd2FzIGN0aU1hc21Qcm9iZVRyYW1wb2xpbmUKLSAgICAvLyAgICAgeDI3OiBz
Y3JhdGNoCi0gICAgLy8gICAgIHgyODogUHJvYmU6OmV4ZWN1dGVQcm9iZQogICAgIC8vICAgICB4
MzA6IHJldHVybiBhZGRyZXNzCiAKKyAgICAic3RyICAgICAgIHgyNywgW3NwLCAjIiBTVFJJTkdJ
WkVfVkFMVUVfT0YoSU5fWDI3X09GRlNFVCkgIl0iICJcbiIKICAgICAibW92ICAgICAgIHgyNiwg
c3AiICJcbiIKLSAgICAibW92ICAgICAgIHgyNywgc3AiICJcbiIKLQotICAgICJzdWIgICAgICAg
eDI3LCB4MjcsICMiIFNUUklOR0laRV9WQUxVRV9PRihQUk9CRV9TSVpFX1BMVVNfRVhUUkFTICsg
T1VUX1NJWkUpICJcbiIKLSAgICAiYmljICAgICAgIHgyNywgeDI3LCAjMHhmIiAiXG4iIC8vIFRo
ZSBBUk0gRUFCSSBzcGVjaWZpZXMgdGhhdCB0aGUgc3RhY2sgbmVlZHMgdG8gYmUgMTYgYnl0ZSBh
bGlnbmVkLgotICAgICJtb3YgICAgICAgc3AsIHgyNyIgIlxuIiAvLyBTZXQgdGhlIHNwIHRvIHBy
b3RlY3QgdGhlIFByb2JlOjpTdGF0ZSBmcm9tIGludGVycnVwdHMgYmVmb3JlIHdlIGluaXRpYWxp
emUgaXQuCisgICAgInN1YiAgICAgICB4MjcsIHNwLCAjIiBTVFJJTkdJWkVfVkFMVUVfT0YoUFJP
QkVfU0laRV9QTFVTX0VYVFJBUyArIE9VVF9TSVpFKSAiXG4iCisgICAgImJpYyAgICAgICBzcCwg
eDI3LCAjMHhmIiAiXG4iIC8vIFRoZSBBUk0gRUFCSSBzcGVjaWZpZXMgdGhhdCB0aGUgc3RhY2sg
bmVlZHMgdG8gYmUgMTYgYnl0ZSBhbGlnbmVkLgogCiAgICAgInN0cCAgICAgICB4MjQsIHgyNSwg
W3NwLCAjIiBTVFJJTkdJWkVfVkFMVUVfT0YoUFJPQkVfUFJPQkVfRlVOQ1RJT05fT0ZGU0VUKSAi
XSIgIlxuIiAvLyBTdG9yZSB0aGUgcHJvYmUgaGFuZGxlciBmdW5jdGlvbiBhbmQgYXJnIChwcmVs
b2FkZWQgaW50byB4MjQgYW5kIHgyNQogCkBAIC0zNjIsOCArMzU1LDkgQEAgYXNtICgKICAgICAi
c3RwICAgICAgIHg4LCB4OSwgW3NwLCAjIiBTVFJJTkdJWkVfVkFMVUVfT0YoUFJPQkVfQ1BVX1g4
X09GRlNFVCkgIl0iICJcbiIKIAogICAgICJsZHAgICAgICAgeDIsIHgzLCBbeDI2LCAjIiBTVFJJ
TkdJWkVfVkFMVUVfT0YoSU5fWDI0X09GRlNFVCkgIl0iICJcbiIgLy8gUHJlbG9hZCBzYXZlZCB4
MjQgYW5kIHgyNS4KLSAgICAibGRwICAgICAgIHg0LCB4NSwgW3gyNiwgIyIgU1RSSU5HSVpFX1ZB
TFVFX09GKElOX1gyNl9PRkZTRVQpICJdIiAiXG4iIC8vIFByZWxvYWQgc2F2ZWQgeDI2IGFuZCB4
MjcuCi0gICAgImxkcCAgICAgICB4NiwgeDcsIFt4MjYsICMiIFNUUklOR0laRV9WQUxVRV9PRihJ
Tl9YMjhfT0ZGU0VUKSAiXSIgIlxuIiAvLyBQcmVsb2FkIHNhdmVkIHgyOCBhbmQgbHIuCisgICAg
ImxkcCAgICAgICB4NCwgeDUsIFt4MjYsICMiIFNUUklOR0laRV9WQUxVRV9PRihJTl9YMjZfT0ZG
U0VUKSAiXSIgIlxuIiAvLyBQcmVsb2FkIHNhdmVkIHgyNiBhbmQgbHIuCisgICAgImxkciAgICAg
ICB4MjcsIFt4MjYsICMiIFNUUklOR0laRV9WQUxVRV9PRihJTl9YMjdfT0ZGU0VUKSAiXSIgIlxu
IgorCiAgICAgImFkZCAgICAgICB4MjYsIHgyNiwgIyIgU1RSSU5HSVpFX1ZBTFVFX09GKElOX1NJ
WkUpICJcbiIgLy8gQ29tcHV0ZSB0aGUgc3AgYmVmb3JlIHRoZSBwcm9iZS4KIAogICAgICJzdHAg
ICAgICAgeDEwLCB4MTEsIFtzcCwgIyIgU1RSSU5HSVpFX1ZBTFVFX09GKFBST0JFX0NQVV9YMTBf
T0ZGU0VUKSAiXSIgIlxuIgpAQCAtMzczLDEwICszNjcsMTAgQEAgYXNtICgKICAgICAic3RwICAg
ICAgIHgxOCwgeDE5LCBbc3AsICMiIFNUUklOR0laRV9WQUxVRV9PRihQUk9CRV9DUFVfWDE4X09G
RlNFVCkgIl0iICJcbiIKICAgICAic3RwICAgICAgIHgyMCwgeDIxLCBbc3AsICMiIFNUUklOR0la
RV9WQUxVRV9PRihQUk9CRV9DUFVfWDIwX09GRlNFVCkgIl0iICJcbiIKICAgICAic3RwICAgICAg
IHgyMiwgeDIzLCBbc3AsICMiIFNUUklOR0laRV9WQUxVRV9PRihQUk9CRV9DUFVfWDIyX09GRlNF
VCkgIl0iICJcbiIKLSAgICAic3RwICAgICAgIHgyLCB4MywgW3NwLCAjIiBTVFJJTkdJWkVfVkFM
VUVfT0YoUFJPQkVfQ1BVX1gyNF9PRkZTRVQpICJdIiAiXG4iIC8vIFN0b3JlIHNhdmVkIHIyNCBh
bmQgcjI1IChwcmVsb2FkZWQgaW50byB4MiBhbmQgeDMgYWJvdmUpLgotICAgICJzdHAgICAgICAg
eDQsIHg1LCBbc3AsICMiIFNUUklOR0laRV9WQUxVRV9PRihQUk9CRV9DUFVfWDI2X09GRlNFVCkg
Il0iICJcbiIgLy8gU3RvcmUgc2F2ZWQgcjI2IGFuZCByMjcgKHByZWxvYWRlZCBpbnRvIHg0IGFu
ZCB4NSBhYm92ZSkuCi0gICAgInN0cCAgICAgICB4NiwgeDI5LCBbc3AsICMiIFNUUklOR0laRV9W
QUxVRV9PRihQUk9CRV9DUFVfWDI4X09GRlNFVCkgIl0iICJcbiIKLSAgICAic3RwICAgICAgIHg3
LCB4MjYsIFtzcCwgIyIgU1RSSU5HSVpFX1ZBTFVFX09GKFBST0JFX0NQVV9MUl9PRkZTRVQpICJd
IiAiXG4iIC8vIFNhdmUgdmFsdWVzIGxyIGFuZCBzcCAob3JpZ2luYWwgc3AgdmFsdWUgY29tcHV0
ZWQgaW50byB4MjYgYWJvdmUpLgorICAgICJzdHAgICAgICAgeDIsICB4MywgIFtzcCwgIyIgU1RS
SU5HSVpFX1ZBTFVFX09GKFBST0JFX0NQVV9YMjRfT0ZGU0VUKSAiXSIgIlxuIiAvLyBTdG9yZSBz
YXZlZCByMjQgYW5kIHIyNSAocHJlbG9hZGVkIGludG8geDIgYW5kIHgzIGFib3ZlKS4KKyAgICAi
c3RwICAgICAgIHg0LCAgeDI3LCBbc3AsICMiIFNUUklOR0laRV9WQUxVRV9PRihQUk9CRV9DUFVf
WDI2X09GRlNFVCkgIl0iICJcbiIgLy8gU3RvcmUgc2F2ZWQgcjI2IChwcmVsb2FkZWQgaW50byB4
NCkgYW5kIHIyNy4KKyAgICAic3RwICAgICAgIHgyOCwgeDI5LCBbc3AsICMiIFNUUklOR0laRV9W
QUxVRV9PRihQUk9CRV9DUFVfWDI4X09GRlNFVCkgIl0iICJcbiIKKyAgICAic3RwICAgICAgIHg1
LCAgeDI2LCBbc3AsICMiIFNUUklOR0laRV9WQUxVRV9PRihQUk9CRV9DUFVfTFJfT0ZGU0VUKSAi
XSIgIlxuIiAvLyBTYXZlIHZhbHVlcyBsciBhbmQgc3AgKG9yaWdpbmFsIHNwIHZhbHVlIGNvbXB1
dGVkIGludG8geDI2IGFib3ZlKS4KIAogICAgICJhZGQgICAgICAgeDMwLCB4MzAsICMiIFNUUklO
R0laRV9WQUxVRV9PRigyICogR1BSRUdfU0laRSkgIlxuIiAvLyBUaGUgUEMgYWZ0ZXIgdGhlIHBy
b2JlIGlzIGF0IDIgaW5zdHJ1Y3Rpb25zIHBhc3QgdGhlIHJldHVybiBwb2ludC4KICNpZiBDUFUo
QVJNNjRFKQpAQCAtNDExLDEyICs0MDUsNyBAQCBhc20gKAogICAgIC8vIE5vdGU6IHdlIGhhdmVu
J3QgY2hhbmdlZCB0aGUgdmFsdWUgb2YgZnAuIEhlbmNlLCBpdCBpcyBzdGlsbCBwb2ludGluZyB0
byB0aGUgZnJhbWUgb2YKICAgICAvLyB0aGUgY2FsbGVyIG9mIHRoZSBwcm9iZSAod2hpY2ggaXMg
d2hhdCB3ZSB3YW50IGluIG9yZGVyIHRvIHBsYXkgbmljZSB3aXRoIGRlYnVnZ2VycyBlLmcuIGxs
ZGIpLgogICAgICJtb3YgICAgICAgeDAsIHNwIiAiXG4iIC8vIFNldCB0aGUgUHJvYmU6OlN0YXRl
KiBhcmcuCi0jaWYgQ1BVKEFSTTY0RSkKLSAgICAibW92eiAgICAgIGxyLCAjIiBTVFJJTkdJWkVf
VkFMVUVfT0YoSklUX1BST0JFX0VYRUNVVE9SX1BUUl9UQUcpICJcbiIKLSAgICAiYmxyYWIgICAg
IHgyOCwgbHIiICJcbiIgLy8gQ2FsbCB0aGUgcHJvYmUgaGFuZGxlci4KLSNlbHNlCi0gICAgImJs
ciAgICAgICB4MjgiICJcbiIgLy8gQ2FsbCB0aGUgcHJvYmUgaGFuZGxlci4KLSNlbmRpZgorICAg
ICJibCAgICAgICIgU1lNQk9MX1NUUklORyhleGVjdXRlSlNDSklUUHJvYmUpICJcbiIKIAogICAg
IC8vIE1ha2Ugc3VyZSB0aGUgUHJvYmU6OlN0YXRlIGlzIGVudGlyZWx5IGJlbG93IHRoZSByZXN1
bHQgc3RhY2sgcG9pbnRlciBzbwogICAgIC8vIHRoYXQgcmVnaXN0ZXIgdmFsdWVzIGFyZSBzdGls
bCBwcmVzZXJ2ZWQgd2hlbiB3ZSBjYWxsIHRoZSBpbml0aWFsaXplU3RhY2sKQEAgLTUxMSw3ICs1
MDAsNyBAQCBhc20gKAogICAgIC8vIHJldHVybnMuIFNvLCB0aGUgQVJNNjQgcHJvYmUgaW1wbGVt
ZW50YXRpb24gd2lsbCBhbGxvdyB0aGUgcHJvYmUgaGFuZGxlciB0bwogICAgIC8vIGVpdGhlciBt
b2RpZnkgbHIgb3IgcGMsIGJ1dCBub3QgYm90aCBpbiB0aGUgc2FtZSBwcm9iZSBpbnZvY2F0aW9u
LiBUaGUgcHJvYmUKICAgICAvLyBtZWNoYW5pc20gZW5zdXJlcyB0aGF0IHdlIG5ldmVyIHRyeSB0
byBtb2RpZnkgYm90aCBsciBhbmQgcGMgd2l0aCBhIFJFTEVBU0VfQVNTRVJUCi0gICAgLy8gaW4g
UHJvYmU6OmV4ZWN1dGVQcm9iZSgpLgorICAgIC8vIGluIFByb2JlOjooKS4KIAogICAgIC8vIERl
dGVybWluZSBpZiB0aGUgcHJvYmUgaGFuZGxlciBjaGFuZ2VkIHRoZSBwYy4KICAgICAibGRyICAg
ICAgIHgzMCwgW3NwLCAjIiBTVFJJTkdJWkVfVkFMVUVfT0YoUFJPQkVfQ1BVX1NQX09GRlNFVCkg
Il0iICJcbiIgLy8gcHJlbG9hZCB0aGUgdGFyZ2V0IHNwLgpAQCAtNTYxLDggKzU1MCw2IEBAIGFz
bSAoCiAgICAgImFuZCAgICAgICB4MjcsIHgyNywgIzB4ZmYwMDAwMDAwMDAwMDAiICJcbiIKICAg
ICAib3JyICAgICAgIHgyNywgeDI3LCB4MjgiICJcbiIKICAgICAibGRyYiAgICAgIHcyNywgW3gy
N10iICJcbiIKLSAgICAiYWRkICAgICAgIHgyNywgeDMwLCAjNDgiICJcbiIgLy8gQ29tcHV0ZSBz
cCBhdCByZXR1cm4gcG9pbnQuCi0gICAgInBhY2liICAgICB4MjgsIHgyNyIgIlxuIgogI2VuZGlm
CiAgICAgImxkciAgICAgICB4MjcsIFtzcCwgIyIgU1RSSU5HSVpFX1ZBTFVFX09GKFBST0JFX0NQ
VV9GUF9PRkZTRVQpICJdIiAiXG4iCiAgICAgInN0cCAgICAgICB4MjcsIHgyOCwgW3gzMCwgIyIg
U1RSSU5HSVpFX1ZBTFVFX09GKE9VVF9GUF9PRkZTRVQpICJdIiAiXG4iCkBAIC01ODcsMTAgKzU3
NCw4IEBAIHZvaWQgTWFjcm9Bc3NlbWJsZXI6OnByb2JlKFByb2JlOjpGdW5jdGkKICAgICBzdWI2
NChUcnVzdGVkSW1tMzIoc2l6ZW9mKEluY29taW5nUHJvYmVSZWNvcmQpKSwgc3ApOwogCiAgICAg
c3RvcmVQYWlyNjQoeDI0LCB4MjUsIHNwLCBUcnVzdGVkSW1tMzIob2Zmc2V0b2YoSW5jb21pbmdQ
cm9iZVJlY29yZCwgeDI0KSkpOwotICAgIHN0b3JlUGFpcjY0KHgyNiwgeDI3LCBzcCwgVHJ1c3Rl
ZEltbTMyKG9mZnNldG9mKEluY29taW5nUHJvYmVSZWNvcmQsIHgyNikpKTsKLSAgICBzdG9yZVBh
aXI2NCh4MjgsIHgzMCwgc3AsIFRydXN0ZWRJbW0zMihvZmZzZXRvZihJbmNvbWluZ1Byb2JlUmVj
b3JkLCB4MjgpKSk7IC8vIE5vdGU6IHgzMCBpcyBsci4KKyAgICBzdG9yZVBhaXI2NCh4MjYsIHgz
MCwgc3AsIFRydXN0ZWRJbW0zMihvZmZzZXRvZihJbmNvbWluZ1Byb2JlUmVjb3JkLCB4MjYpKSk7
IC8vIE5vdGU6IHgzMCBpcyBsci4KICAgICBtb3ZlKFRydXN0ZWRJbW1QdHIodGFnQ0Z1bmN0aW9u
PE9wZXJhdGlvblB0clRhZz4oY3RpTWFzbVByb2JlVHJhbXBvbGluZSkpLCB4MjYpOwotICAgIG1v
dmUoVHJ1c3RlZEltbVB0cih0YWdDRnVuY3Rpb248SklUUHJvYmVFeGVjdXRvclB0clRhZz4oUHJv
YmU6OmV4ZWN1dGVQcm9iZSkpLCB4MjgpOwogI2lmIENQVShBUk02NEUpCiAgICAgYXNzZXJ0SXNU
YWdnZWRXaXRoPEpJVFByb2JlUHRyVGFnPihmdW5jdGlvbik7CiAjZW5kaWYKSW5kZXg6IFNvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9hc3NlbWJsZXIvTWFjcm9Bc3NlbWJsZXJBUk12Ny5jcHAKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2Fzc2VtYmxlci9NYWNyb0Fzc2VtYmxlckFS
TXY3LmNwcAkocmV2aXNpb24gMjgxNjg0KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL2Fzc2Vt
Ymxlci9NYWNyb0Fzc2VtYmxlckFSTXY3LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMjI4LDEyICsy
MjgsMTIgQEAgYXNtICgKICAgICAvLyBJbmNvbWluZyByZWdpc3RlciB2YWx1ZXM6CiAgICAgLy8g
ICAgIHIwOiBwcm9iZSBmdW5jdGlvbgogICAgIC8vICAgICByMTogcHJvYmUgYXJnCi0gICAgLy8g
ICAgIHIyOiBQcm9iZTo6ZXhlY3V0ZVByb2JlCisgICAgLy8gICAgIHIyOiBQcm9iZTo6ZXhlY3V0
ZUpTQ0pJVFByb2JlCiAgICAgLy8gICAgIGlwOiBzY3JhdGNoLCB3YXMgY3RpTWFzbVByb2JlVHJh
bXBvbGluZQogICAgIC8vICAgICBscjogcmV0dXJuIGFkZHJlc3MKIAogICAgICJtb3YgICAgICAg
aXAsIHNwIiAiXG4iCi0gICAgInN0ciAgICAgICByMiwgW2lwLCAjLSIgU1RSSU5HSVpFX1ZBTFVF
X09GKFBUUl9TSVpFKSAiXSIgIlxuIiAvLyBTdGFzaCBQcm9iZTo6ZXhlY3V0ZVByb2JlLgorICAg
ICJzdHIgICAgICAgcjIsIFtpcCwgIy0iIFNUUklOR0laRV9WQUxVRV9PRihQVFJfU0laRSkgIl0i
ICJcbiIgLy8gU3Rhc2ggUHJvYmU6OmV4ZWN1dGVKU0NKSVRQcm9iZS4KIAogICAgICJtb3YgICAg
ICAgcjIsIHNwIiAiXG4iCiAgICAgInN1YiAgICAgICByMiwgcjIsICMiIFNUUklOR0laRV9WQUxV
RV9PRihQUk9CRV9TSVpFICsgT1VUX1NJWkUpICJcbiIKQEAgLTI0MSw3ICsyNDEsNyBAQCBhc20g
KAogICAgIC8vIFRoZSBBUk0gRUFCSSBzcGVjaWZpZXMgdGhhdCB0aGUgc3RhY2sgbmVlZHMgdG8g
YmUgMTYgYnl0ZSBhbGlnbmVkLgogICAgICJiaWMgICAgICAgcjIsIHIyLCAjMHhmIiAiXG4iCiAg
ICAgIm1vdiAgICAgICBzcCwgcjIiICJcbiIgLy8gU2V0IHRoZSBzcCB0byBwcm90ZWN0IHRoZSBQ
cm9iZTo6U3RhdGUgZnJvbSBpbnRlcnJ1cHRzIGJlZm9yZSB3ZSBpbml0aWFsaXplIGl0LgotICAg
ICJsZHIgICAgICAgcjIsIFtpcCwgIy0iIFNUUklOR0laRV9WQUxVRV9PRihQVFJfU0laRSkgIl0i
ICJcbiIgLy8gUmVsb2FkIFByb2JlOjpleGVjdXRlUHJvYmUuCisgICAgImxkciAgICAgICByMiwg
W2lwLCAjLSIgU1RSSU5HSVpFX1ZBTFVFX09GKFBUUl9TSVpFKSAiXSIgIlxuIiAvLyBSZWxvYWQg
UHJvYmU6OmV4ZWN1dGVKU0NKSVRQcm9iZS4KIAogICAgICJzdHIgICAgICAgcjAsIFtzcCwgIyIg
U1RSSU5HSVpFX1ZBTFVFX09GKFBST0JFX1BST0JFX0ZVTkNUSU9OX09GRlNFVCkgIl0iICJcbiIK
ICAgICAic3RyICAgICAgIHIxLCBbc3AsICMiIFNUUklOR0laRV9WQUxVRV9PRihQUk9CRV9BUkdf
T0ZGU0VUKSAiXSIgIlxuIgpAQCAtMjgwLDcgKzI4MCw3IEBAIGFzbSAoCiAgICAgIm1vdiAgICAg
ICByNSwgc3AiICJcbiIKIAogICAgICJtb3YgICAgICAgcjAsIHNwIiAiXG4iIC8vIHRoZSBQcm9i
ZTo6U3RhdGUqIGFyZy4KLSAgICAiYmx4ICAgICAgIHIyIiAiXG4iIC8vIENhbGwgUHJvYmU6OmV4
ZWN1dGVQcm9iZS4KKyAgICAiYmx4ICAgICAgIHIyIiAiXG4iIC8vIENhbGwgUHJvYmU6OmV4ZWN1
dGVKU0NKSVRQcm9iZS4KIAogICAgIC8vIE1ha2Ugc3VyZSB0aGUgUHJvYmU6OlN0YXRlIGlzIGVu
dGlyZWx5IGJlbG93IHRoZSByZXN1bHQgc3RhY2sgcG9pbnRlciBzbwogICAgIC8vIHRoYXQgcmVn
aXN0ZXIgdmFsdWVzIGFyZSBzdGlsbCBwcmVzZXJ2ZWQgd2hlbiB3ZSBjYWxsIHRoZSBpbml0aWFs
aXplU3RhY2sKQEAgLTM4MCw3ICszODAsNyBAQCB2b2lkIE1hY3JvQXNzZW1ibGVyOjpwcm9iZShQ
cm9iZTo6RnVuY3RpCiAgICAgLy8gVGhpcyBtZWFucyB3ZSBtdXN0IGZpcnN0IHByZXNlcnZlIHRo
ZSBhcHNyIGZsYWdzIGFib3ZlIGZpcnN0LgogICAgIG1vdmUoVHJ1c3RlZEltbVB0cihyZWludGVy
cHJldF9jYXN0PHZvaWQqPihmdW5jdGlvbikpLCByMCk7CiAgICAgbW92ZShUcnVzdGVkSW1tUHRy
KGFyZyksIHIxKTsKLSAgICBtb3ZlKFRydXN0ZWRJbW1QdHIocmVpbnRlcnByZXRfY2FzdDx2b2lk
Kj4oUHJvYmU6OmV4ZWN1dGVQcm9iZSkpLCByMik7CisgICAgbW92ZShUcnVzdGVkSW1tUHRyKHJl
aW50ZXJwcmV0X2Nhc3Q8dm9pZCo+KFByb2JlOjpleGVjdXRlSlNDSklUUHJvYmUpKSwgcjIpOwog
ICAgIG1vdmUoVHJ1c3RlZEltbVB0cihyZWludGVycHJldF9jYXN0PHZvaWQqPihjdGlNYXNtUHJv
YmVUcmFtcG9saW5lKSksIGlwKTsKICAgICBtX2Fzc2VtYmxlci5ibHgoaXApOwogfQpJbmRleDog
U291cmNlL0phdmFTY3JpcHRDb3JlL2Fzc2VtYmxlci9NYWNyb0Fzc2VtYmxlck1JUFMuY3BwCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9hc3NlbWJsZXIvTWFjcm9Bc3NlbWJs
ZXJNSVBTLmNwcAkocmV2aXNpb24gMjgxNjg0KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL2Fz
c2VtYmxlci9NYWNyb0Fzc2VtYmxlck1JUFMuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xLDUgKzEs
NSBAQAogLyoKLSAqIENvcHlyaWdodCAoQykgMjAxMy0yMDE3IEFwcGxlIEluYy4gQWxsIHJpZ2h0
cyByZXNlcnZlZC4KKyAqIENvcHlyaWdodCAoQykgMjAxMy0yMDIxIEFwcGxlIEluYy4gQWxsIHJp
Z2h0cyByZXNlcnZlZC4KICAqCiAgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBh
bmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKICAqIG1vZGlmaWNhdGlvbiwgYXJlIHBl
cm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwpAQCAtMzA0LDcg
KzMwNCw3IEBAIGFzbSAoCiAgICAgLy8gSW5jb21pbmcgcmVnaXN0ZXIgdmFsdWVzOgogICAgIC8v
ICAgICBhMDogcHJvYmUgZnVuY3Rpb24KICAgICAvLyAgICAgYTE6IHByb2JlIGFyZwotICAgIC8v
ICAgICBhMjogUHJvYmU6OmV4ZWN1dGVQcm9iZQorICAgIC8vICAgICBhMjogUHJvYmU6OmV4ZWN1
dGVKU0NKSVRQcm9iZQogICAgIC8vICAgICBzMDogc2NyYXRjaCwgd2FzIGN0aU1hc21Qcm9iZVRy
YW1wb2xpbmUKICAgICAvLyAgICAgczE6IHNjcmF0Y2gKICAgICAvLyAgICAgcmE6IHJldHVybiBh
ZGRyZXNzCkBAIC0zOTQsNyArMzk0LDcgQEAgYXNtICgKIAogICAgICJtb3ZlICAgICAgJGEwLCAk
c3AiICJcbiIgLy8gU2V0IHRoZSBQcm9iZTo6U3RhdGUqIGFyZy4KICAgICAiYWRkaXUgICAgICRz
cCwgJHNwLCAtMTYiICJcbiIgLy8gQWxsb2NhdGUgc3RhY2sgc3BhY2UgZm9yICh1bnVzZWQpIDE2
IGJ5dGVzICg4LWJ5dGUgYWxpZ25lZCkgZm9yIDQgYXJndW1lbnRzLgotICAgICJtb3ZlICAgICAg
JHQ5LCAkYTIiICJcbiIgLy8gUHJvYmU6OmV4ZWN1dGVQcm9iZSgpCisgICAgIm1vdmUgICAgICAk
dDksICRhMiIgIlxuIiAvLyBQcm9iZTo6ZXhlY3V0ZUpTQ0pJVFByb2JlKCkKICAgICAiamFsciAg
ICAgICR0OSIgIlxuIiAvLyBDYWxsIHRoZSBwcm9iZSBoYW5kbGVyLgogICAgICJub3AiICJcbiIK
IApAQCAtNTA4LDcgKzUwOCw3IEBAIGFzbSAoCiAgICAgLy8gcmV0dXJucy4gU28sIHRoZSBNSVBT
IHByb2JlIGltcGxlbWVudGF0aW9uIHdpbGwgYWxsb3cgdGhlIHByb2JlIGhhbmRsZXIgdG8KICAg
ICAvLyBlaXRoZXIgbW9kaWZ5IHJhIG9yIHBjLCBidXQgbm90IGJvdGggaW4gdGhlIHNhbWUgcHJv
YmUgaW52b2NhdGlvbi4gVGhlIHByb2JlCiAgICAgLy8gbWVjaGFuaXNtIGVuc3VyZXMgdGhhdCB3
ZSBuZXZlciB0cnkgdG8gbW9kaWZ5IGJvdGggcmEgYW5kIHBjIHdpdGggYSBSRUxFQVNFX0FTU0VS
VAotICAgIC8vIGluIFByb2JlOjpleGVjdXRlUHJvYmUoKS4KKyAgICAvLyBpbiBQcm9iZTo6ZXhl
Y3V0ZUpTQ0pJVFByb2JlKCkuCiAKICAgICAvLyBEZXRlcm1pbmUgaWYgdGhlIHByb2JlIGhhbmRs
ZXIgY2hhbmdlZCB0aGUgcGMuCiAgICAgImx3ICAgICAgICAkcmEsICIgU1RSSU5HSVpFX1ZBTFVF
X09GKFBST0JFX0NQVV9TUF9PRkZTRVQpICIoJHNwKSIgIlxuIiAvLyBwcmVsb2FkIHRoZSB0YXJn
ZXQgc3AuCkBAIC01NjMsNyArNTYzLDcgQEAgdm9pZCBNYWNyb0Fzc2VtYmxlcjo6cHJvYmUoUHJv
YmU6OkZ1bmN0aQogICAgIHN0b3JlMzIocmEsIEFkZHJlc3Moc3AsIG9mZnNldG9mKEluY29taW5n
UmVjb3JkLCByYSkpKTsKICAgICBtb3ZlKFRydXN0ZWRJbW1QdHIocmVpbnRlcnByZXRfY2FzdDx2
b2lkKj4oZnVuY3Rpb24pKSwgYTApOwogICAgIG1vdmUoVHJ1c3RlZEltbVB0cihhcmcpLCBhMSk7
Ci0gICAgbW92ZShUcnVzdGVkSW1tUHRyKHJlaW50ZXJwcmV0X2Nhc3Q8dm9pZCo+KFByb2JlOjpl
eGVjdXRlUHJvYmUpKSwgYTIpOworICAgIG1vdmUoVHJ1c3RlZEltbVB0cihyZWludGVycHJldF9j
YXN0PHZvaWQqPihQcm9iZTo6ZXhlY3V0ZUpTQ0pJVFByb2JlKSksIGEyKTsKICAgICBtb3ZlKFRy
dXN0ZWRJbW1QdHIocmVpbnRlcnByZXRfY2FzdDx2b2lkKj4oY3RpTWFzbVByb2JlVHJhbXBvbGlu
ZSkpLCBzMCk7CiAgICAgbV9hc3NlbWJsZXIuamFscihzMCk7CiAgICAgbV9hc3NlbWJsZXIubm9w
KCk7CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYXNzZW1ibGVyL01hY3JvQXNzZW1ibGVy
WDg2Q29tbW9uLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYXNzZW1i
bGVyL01hY3JvQXNzZW1ibGVyWDg2Q29tbW9uLmNwcAkocmV2aXNpb24gMjgxNjg0KQorKysgU291
cmNlL0phdmFTY3JpcHRDb3JlL2Fzc2VtYmxlci9NYWNyb0Fzc2VtYmxlclg4NkNvbW1vbi5jcHAJ
KHdvcmtpbmcgY29weSkKQEAgLTEwNSw3ICsxMDUsOSBAQCBKU0NfQU5OT1RBVEVfSklUX09QRVJB
VElPTihjdGlNYXNtUHJvYmVUCiAjZGVmaW5lIFBST0JFX1NJWkUgKFBST0JFX0NQVV9YTU0xNV9P
RkZTRVQgKyBYTU1fU0laRSkKICNlbmRpZiAvLyBDUFUoWDg2XzY0KQogCi0jZGVmaW5lIFBST0JF
X0VYRUNVVE9SX09GRlNFVCBQUk9CRV9TSVpFIC8vIFN0YXNoIHRoZSBleGVjdXRlUHJvYmUgZnVu
Y3Rpb24gcG9pbnRlciBhdCB0aGUgZW5kIG9mIHRoZSBQcm9iZUNvbnRleHQuCisjaWYgQ09NUElM
RVIoTVNWQykgfHwgQ1BVKFg4NikKKyNkZWZpbmUgUFJPQkVfRVhFQ1VUT1JfT0ZGU0VUIFBST0JF
X1NJWkUgLy8gU3Rhc2ggdGhlIGV4ZWN1dGVKU0NKSVRQcm9iZSBmdW5jdGlvbiBwb2ludGVyIGF0
IHRoZSBlbmQgb2YgdGhlIFByb2JlQ29udGV4dC4KKyNlbmRpZgogCiAvLyBUaGUgb3V0Z29pbmcg
cmVjb3JkIHRvIGJlIHBvcHBlZCBvZmYgdGhlIHN0YWNrIGF0IHRoZSBlbmQgY29uc2lzdHMgb2Y6
CiAvLyBlZmxhZ3MsIGVheCwgZWN4LCBlYnAsIGVpcC4KQEAgLTE2NSw3ICsxNjcsOSBAQCBzdGF0
aWNfYXNzZXJ0KFBST0JFX09GRlNFVE9GX1JFRyhjcHUuZnByCiAjZW5kaWYgLy8gQ1BVKFg4Nl82
NCkKIAogc3RhdGljX2Fzc2VydChzaXplb2YoUHJvYmU6OlN0YXRlKSA9PSBQUk9CRV9TSVpFLCAi
UHJvYmU6OlN0YXRlOjpzaXplJ3MgbWF0Y2hlcyBjdGlNYXNtUHJvYmVUcmFtcG9saW5lIik7Cisj
aWYgQ09NUElMRVIoTVNWQykgfHwgQ1BVKFg4NikKIHN0YXRpY19hc3NlcnQoKFBST0JFX0VYRUNV
VE9SX09GRlNFVCArIFBUUl9TSVpFKSA8PSAoUFJPQkVfU0laRSArIE9VVF9TSVpFKSwgIk11c3Qg
aGF2ZSByb29tIGFmdGVyIFByb2JlQ29udGV4dCB0byBzdGFzaCB0aGUgcHJvYmUgaGFuZGxlciIp
OworI2VuZGlmCiAKICN1bmRlZiBQUk9CRV9PRkZTRVRPRgogCkBAIC0xODksNyArMTkzLDcgQEAg
YXNtICgKICAgICAvLyAgICAgZXNwWzUgKiBwdHJTaXplXTogc2F2ZWQgZWF4CiAgICAgLy8KICAg
ICAvLyBJbmNvbWluZyByZWdpc3RlcnMgY29udGFpbjoKLSAgICAvLyAgICAgZWN4OiBQcm9iZTo6
ZXhlY3V0ZVByb2JlCisgICAgLy8gICAgIGVjeDogUHJvYmU6OmV4ZWN1dGVKU0NKSVRQcm9iZQog
ICAgIC8vICAgICBlZHg6IHByb2JlIGZ1bmN0aW9uCiAgICAgLy8gICAgIGVieDogcHJvYmUgYXJn
CiAgICAgLy8gICAgIGVheDogc2NyYXRjaCAod2FzIGN0aU1hc21Qcm9iZVRyYW1wb2xpbmUpCkBA
IC0zNTYsNyArMzYwLDcgQEAgZXh0ZXJuICJDIiBfX2RlY2xzcGVjKG5ha2VkKSB2b2lkIGN0aU1h
cwogICAgICAgICAvLyAgICAgZXNwWzUgKiBwdHJTaXplXTogc2F2ZWQgZWF4CiAgICAgICAgIC8v
CiAgICAgICAgIC8vIEluY29taW5nIHJlZ2lzdGVycyBjb250YWluOgotICAgICAgICAvLyAgICAg
ZWN4OiBQcm9iZTo6ZXhlY3V0ZVByb2JlCisgICAgICAgIC8vICAgICBlY3g6IFByb2JlOjpleGVj
dXRlSlNDSklUUHJvYmUKICAgICAgICAgLy8gICAgIGVkeDogcHJvYmUgZnVuY3Rpb24KICAgICAg
ICAgLy8gICAgIGVieDogcHJvYmUgYXJnCiAgICAgICAgIC8vICAgICBlYXg6IHNjcmF0Y2ggKHdh
cyBjdGlNYXNtUHJvYmVUcmFtcG9saW5lKQpAQCAtNTI4LDExICs1MzIsOSBAQCBhc20gKAogICAg
IC8vICAgICByYnBbMSAqIHB0clNpemVdOiByZXR1cm4gYWRkcmVzcyAvIHNhdmVkIHJpcAogICAg
IC8vICAgICByYnBbMiAqIHB0clNpemVdOiBzYXZlZCByYngKICAgICAvLyAgICAgcmJwWzMgKiBw
dHJTaXplXTogc2F2ZWQgcmR4Ci0gICAgLy8gICAgIHJicFs0ICogcHRyU2l6ZV06IHNhdmVkIHJj
eAotICAgIC8vICAgICByYnBbNSAqIHB0clNpemVdOiBzYXZlZCByYXgKKyAgICAvLyAgICAgcmJw
WzQgKiBwdHJTaXplXTogc2F2ZWQgcmF4CiAgICAgLy8KICAgICAvLyBJbmNvbWluZyByZWdpc3Rl
cnMgY29udGFpbjoKLSAgICAvLyAgICAgcmN4OiBQcm9iZTo6ZXhlY3V0ZVByb2JlCiAgICAgLy8g
ICAgIHJkeDogcHJvYmUgZnVuY3Rpb24KICAgICAvLyAgICAgcmJ4OiBwcm9iZSBhcmcKICAgICAv
LyAgICAgcmF4OiBzY3JhdGNoICh3YXMgY3RpTWFzbVByb2JlVHJhbXBvbGluZSkKQEAgLTU0Mywx
MiArNTQ1LDEzIEBAIGFzbSAoCiAgICAgImFuZHEgJH4weDFmLCAlcnNwIiAiXG4iCiAgICAgLy8g
U2luY2Ugc3AgcG9pbnRzIHRvIHRoZSBQcm9iZTo6U3RhdGUsIHdlJ3ZlIGVuc3VyZWQgdGhhdCBp
dCdzIHByb3RlY3RlZCBmcm9tIGludGVycnVwdHMgYmVmb3JlIHdlIGluaXRpYWxpemUgaXQuCiAK
LSAgICAibW92cSAlcmN4LCAiIFNUUklOR0laRV9WQUxVRV9PRihQUk9CRV9FWEVDVVRPUl9PRkZT
RVQpICIoJXJzcCkiICJcbiIKICAgICAibW92cSAlcmR4LCAiIFNUUklOR0laRV9WQUxVRV9PRihQ
Uk9CRV9QUk9CRV9GVU5DVElPTl9PRkZTRVQpICIoJXJzcCkiICJcbiIKICAgICAibW92cSAlcmJ4
LCAiIFNUUklOR0laRV9WQUxVRV9PRihQUk9CRV9BUkdfT0ZGU0VUKSAiKCVyc3ApIiAiXG4iCiAg
ICAgIm1vdnEgJXJzaSwgIiBTVFJJTkdJWkVfVkFMVUVfT0YoUFJPQkVfQ1BVX0VTSV9PRkZTRVQp
ICIoJXJzcCkiICJcbiIKICAgICAibW92cSAlcmRpLCAiIFNUUklOR0laRV9WQUxVRV9PRihQUk9C
RV9DUFVfRURJX09GRlNFVCkgIiglcnNwKSIgIlxuIgogCisgICAgIm1vdnEgJXJjeCwgIiBTVFJJ
TkdJWkVfVkFMVUVfT0YoUFJPQkVfQ1BVX0VDWF9PRkZTRVQpICIoJXJzcCkiICJcbiIKKwogICAg
ICJtb3ZxIC0xICogIiBTVFJJTkdJWkVfVkFMVUVfT0YoUFRSX1NJWkUpICIoJXJicCksICVyY3gi
ICJcbiIKICAgICAibW92cSAlcmN4LCAiIFNUUklOR0laRV9WQUxVRV9PRihQUk9CRV9DUFVfRUZM
QUdTX09GRlNFVCkgIiglcnNwKSIgIlxuIgogICAgICJtb3ZxIDAgKiAiIFNUUklOR0laRV9WQUxV
RV9PRihQVFJfU0laRSkgIiglcmJwKSwgJXJjeCIgIlxuIgpAQCAtNTYwLDggKzU2Myw2IEBAIGFz
bSAoCiAgICAgIm1vdnEgMyAqICIgU1RSSU5HSVpFX1ZBTFVFX09GKFBUUl9TSVpFKSAiKCVyYnAp
LCAlcmN4IiAiXG4iCiAgICAgIm1vdnEgJXJjeCwgIiBTVFJJTkdJWkVfVkFMVUVfT0YoUFJPQkVf
Q1BVX0VEWF9PRkZTRVQpICIoJXJzcCkiICJcbiIKICAgICAibW92cSA0ICogIiBTVFJJTkdJWkVf
VkFMVUVfT0YoUFRSX1NJWkUpICIoJXJicCksICVyY3giICJcbiIKLSAgICAibW92cSAlcmN4LCAi
IFNUUklOR0laRV9WQUxVRV9PRihQUk9CRV9DUFVfRUNYX09GRlNFVCkgIiglcnNwKSIgIlxuIgot
ICAgICJtb3ZxIDUgKiAiIFNUUklOR0laRV9WQUxVRV9PRihQVFJfU0laRSkgIiglcmJwKSwgJXJj
eCIgIlxuIgogICAgICJtb3ZxICVyY3gsICIgU1RSSU5HSVpFX1ZBTFVFX09GKFBST0JFX0NQVV9F
QVhfT0ZGU0VUKSAiKCVyc3ApIiAiXG4iCiAKICAgICAibW92cSAlcmJwLCAlcmN4IiAiXG4iCkBA
IC01OTUsNyArNTk2LDcgQEAgYXNtICgKICAgICAibW92cSAleG1tMTUsICIgU1RSSU5HSVpFX1ZB
TFVFX09GKFBST0JFX0NQVV9YTU0xNV9PRkZTRVQpICIoJXJzcCkiICJcbiIKIAogICAgICJtb3Zx
ICVyc3AsICVyZGkiICJcbiIgLy8gdGhlIFByb2JlOjpTdGF0ZSogYXJnLgotICAgICJjYWxsICoi
IFNUUklOR0laRV9WQUxVRV9PRihQUk9CRV9FWEVDVVRPUl9PRkZTRVQpICIoJXJzcCkiICJcbiIK
KyAgICAiY2FsbCAiIFNZTUJPTF9TVFJJTkcoZXhlY3V0ZUpTQ0pJVFByb2JlKSAiXG4iCiAKICAg
ICAvLyBNYWtlIHN1cmUgdGhlIFByb2JlOjpTdGF0ZSBpcyBlbnRpcmVseSBiZWxvdyB0aGUgcmVz
dWx0IHN0YWNrIHBvaW50ZXIgc28KICAgICAvLyB0aGF0IHJlZ2lzdGVyIHZhbHVlcyBhcmUgc3Rp
bGwgcHJlc2VydmVkIHdoZW4gd2UgY2FsbCB0aGUgaW5pdGlhbGl6ZVN0YWNrCkBAIC03NTEsMTAg
Kzc1MiwxNyBAQCBhc20gKAogCiB2b2lkIE1hY3JvQXNzZW1ibGVyOjpwcm9iZShQcm9iZTo6RnVu
Y3Rpb24gZnVuY3Rpb24sIHZvaWQqIGFyZykKIHsKKyNpZiBDUFUoWDg2XzY0KSAmJiBDT01QSUxF
UihHQ0NfQ09NUEFUSUJMRSkKKyAgICAvLyBFeHRyYSBwdXNoIHNvIHRoYXQgdGhlIHRvdGFsIG51
bWJlciBvZiBwdXNoZXMgcGFkIG91dCB0byAzMi1ieXRlcywgYW5kIHRoZQorICAgIC8vIHN0YWNr
IHBvaW50ZXIgcmVtYWlucyAzMiBieXRlIGFsaWduZWQgYXMgcmVxdWlyZWQgYnkgdGhlIEFCSS4K
KyAgICBwdXNoKFJlZ2lzdGVySUQ6OmVheCk7CisjZW5kaWYKICAgICBwdXNoKFJlZ2lzdGVySUQ6
OmVheCk7CiAgICAgbW92ZShUcnVzdGVkSW1tUHRyKHJlaW50ZXJwcmV0X2Nhc3Q8dm9pZCo+KGN0
aU1hc21Qcm9iZVRyYW1wb2xpbmUpKSwgUmVnaXN0ZXJJRDo6ZWF4KTsKKyNpZiBDT01QSUxFUihN
U1ZDKSB8fCBDUFUoWDg2KQogICAgIHB1c2goUmVnaXN0ZXJJRDo6ZWN4KTsKLSAgICBtb3ZlKFRy
dXN0ZWRJbW1QdHIocmVpbnRlcnByZXRfY2FzdDx2b2lkKj4oUHJvYmU6OmV4ZWN1dGVQcm9iZSkp
LCBSZWdpc3RlcklEOjplY3gpOworICAgIG1vdmUoVHJ1c3RlZEltbVB0cihyZWludGVycHJldF9j
YXN0PHZvaWQqPihQcm9iZTo6ZXhlY3V0ZUpTQ0pJVFByb2JlKSksIFJlZ2lzdGVySUQ6OmVjeCk7
CisjZW5kaWYKICAgICBwdXNoKFJlZ2lzdGVySUQ6OmVkeCk7CiAgICAgbW92ZShUcnVzdGVkSW1t
UHRyKHJlaW50ZXJwcmV0X2Nhc3Q8dm9pZCo+KGZ1bmN0aW9uKSksIFJlZ2lzdGVySUQ6OmVkeCk7
CiAgICAgcHVzaChSZWdpc3RlcklEOjplYngpOwpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3Jl
L2Fzc2VtYmxlci9Qcm9iZUNvbnRleHQuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9hc3NlbWJsZXIvUHJvYmVDb250ZXh0LmNwcAkocmV2aXNpb24gMjgxNjg0KQorKysg
U291cmNlL0phdmFTY3JpcHRDb3JlL2Fzc2VtYmxlci9Qcm9iZUNvbnRleHQuY3BwCSh3b3JraW5n
IGNvcHkpCkBAIC0zMyw3ICszMyw3IEBAIG5hbWVzcGFjZSBQcm9iZSB7CiAKIHN0YXRpYyB2b2lk
IGZsdXNoRGlydHlTdGFja1BhZ2VzKFN0YXRlKik7CiAKLXZvaWQgZXhlY3V0ZVByb2JlKFN0YXRl
KiBzdGF0ZSkKK3ZvaWQgZXhlY3V0ZUpTQ0pJVFByb2JlKFN0YXRlKiBzdGF0ZSkKIHsKICAgICBD
b250ZXh0IGNvbnRleHQoc3RhdGUpOwogI2lmIENQVShBUk02NCkKSW5kZXg6IFNvdXJjZS9KYXZh
U2NyaXB0Q29yZS9hc3NlbWJsZXIvUHJvYmVDb250ZXh0LmgKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNl
L0phdmFTY3JpcHRDb3JlL2Fzc2VtYmxlci9Qcm9iZUNvbnRleHQuaAkocmV2aXNpb24gMjgxNjg0
KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL2Fzc2VtYmxlci9Qcm9iZUNvbnRleHQuaAkod29y
a2luZyBjb3B5KQpAQCAtMjQzLDcgKzI0Myw3IEBAIHByaXZhdGU6CiAgICAgZnJpZW5kIEpTX0VY
UE9SVF9QUklWQVRFIHZvaWQqIHByb2JlU3RhdGVGb3JDb250ZXh0KENvbnRleHQmKTsgLy8gTm90
IGZvciBnZW5lcmFsIHVzZS4gVGhpcyBzaG91bGQgb25seSBiZSBmb3Igd3JpdGluZyB0ZXN0cy4K
IH07CiAKLXZvaWQgZXhlY3V0ZVByb2JlKFN0YXRlKik7CitleHRlcm4gIkMiIHZvaWQgZXhlY3V0
ZUpTQ0pJVFByb2JlKFN0YXRlKik7CiAKIH0gLy8gbmFtZXNwYWNlIFByb2JlCiB9IC8vIG5hbWVz
cGFjZSBKU0MKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTQ1B0clRhZy5o
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTQ1B0clRhZy5o
CShyZXZpc2lvbiAyODE2ODQpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0NQ
dHJUYWcuaAkod29ya2luZyBjb3B5KQpAQCAtNTYsNyArNTYsNiBAQCB1c2luZyBQdHJUYWcgPSBX
VEY6OlB0clRhZzsKICAgICB2KEN1c3RvbUFjY2Vzc29yUHRyVGFnLCBQdHJUYWdDYWxsZWVUeXBl
OjpOYXRpdmUsIFB0clRhZ0NhbGxlclR5cGU6Ok5hdGl2ZSkgXAogICAgIHYoSG9zdEZ1bmN0aW9u
UHRyVGFnLCBQdHJUYWdDYWxsZWVUeXBlOjpOYXRpdmUsIFB0clRhZ0NhbGxlclR5cGU6Ok5hdGl2
ZSkgXAogICAgIHYoSklUUHJvYmVQdHJUYWcsIFB0clRhZ0NhbGxlZVR5cGU6Ok5hdGl2ZSwgUHRy
VGFnQ2FsbGVyVHlwZTo6TmF0aXZlKSBcCi0gICAgdihKSVRQcm9iZUV4ZWN1dG9yUHRyVGFnLCBQ
dHJUYWdDYWxsZWVUeXBlOjpOYXRpdmUsIFB0clRhZ0NhbGxlclR5cGU6Ok5hdGl2ZSkgXAogICAg
IHYoSklUUHJvYmVQQ1B0clRhZywgUHRyVGFnQ2FsbGVlVHlwZTo6TmF0aXZlLCBQdHJUYWdDYWxs
ZXJUeXBlOjpOYXRpdmUpIFwKICAgICB2KEpJVFByb2JlU3RhY2tJbml0aWFsaXphdGlvbkZ1bmN0
aW9uUHRyVGFnLCBQdHJUYWdDYWxsZWVUeXBlOjpOYXRpdmUsIFB0clRhZ0NhbGxlclR5cGU6Ok5h
dGl2ZSkgXAogICAgIHYoUmV0dXJuQWRkcmVzc1B0clRhZywgUHRyVGFnQ2FsbGVlVHlwZTo6TmF0
aXZlLCBQdHJUYWdDYWxsZXJUeXBlOjpOYXRpdmUpIFwK
</data>
<flag name="review"
          id="459713"
          type_id="1"
          status="+"
          setter="ysuzuki"
    />
          </attachment>
      

    </bug>

</bugzilla>