<?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>116586</bug_id>
          
          <creation_ts>2013-05-21 18:36:43 -0700</creation_ts>
          <short_desc>JIT probe for ARMv7 and ARM + bug fixes</short_desc>
          <delta_ts>2013-05-28 15:27:18 -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>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></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>fpizlo</cc>
    
    <cc>ggaren</cc>
    
    <cc>mhahnenberg</cc>
    
    <cc>msaboff</cc>
    
    <cc>oliver</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>892078</commentid>
    <comment_count>0</comment_count>
    <who name="Mark Lam">mark.lam</who>
    <bug_when>2013-05-21 18:36:43 -0700</bug_when>
    <thetext>1. ARMv7 + traditional ARM support
2. Fix bugs:
    a. Don&apos;t assume the sp is already aligned when we setup our probe call.  Ensure alignment ourselves.
    b. Ensure that we can handle the case where the user modifies the sp to point into the region where the ProbeContext is stored on the stack.
3. Make X86_64 dumps look nicer (sort registers to match gdb&apos;s order).
4. Save condition code registers.

Patch coming.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>892079</commentid>
    <comment_count>1</comment_count>
      <attachid>202487</attachid>
    <who name="Mark Lam">mark.lam</who>
    <bug_when>2013-05-21 18:38:39 -0700</bug_when>
    <thetext>Created attachment 202487
the patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>894515</commentid>
    <comment_count>2</comment_count>
      <attachid>203087</attachid>
    <who name="Mark Lam">mark.lam</who>
    <bug_when>2013-05-28 14:26:51 -0700</bug_when>
    <thetext>Created attachment 203087
updated patch: fixed some typos, and changed some &quot;copy-and-paste&quot;d comments to just refer to the X86_64 version.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>894518</commentid>
    <comment_count>3</comment_count>
      <attachid>203087</attachid>
    <who name="Mark Lam">mark.lam</who>
    <bug_when>2013-05-28 14:30:02 -0700</bug_when>
    <thetext>Comment on attachment 203087
updated patch: fixed some typos, and changed some &quot;copy-and-paste&quot;d comments to just refer to the X86_64 version. 

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

&gt; Source/JavaScriptCore/config.h:82
&gt; +#define WTF_USE_MASM_PROBE 1

should not have enabled by default.  Forgot to disable this after testing a build.  Will fix and upload another patch.

&gt; Source/WebKit2/Shared/mac/ChildProcessMac.mm:54
&gt; +// mlam extern &quot;C&quot; CGError CGSShutdownServerConnections();

These should not have been included in the patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>894519</commentid>
    <comment_count>4</comment_count>
      <attachid>203089</attachid>
    <who name="Mark Lam">mark.lam</who>
    <bug_when>2013-05-28 14:31:44 -0700</bug_when>
    <thetext>Created attachment 203089
corrected patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>894557</commentid>
    <comment_count>5</comment_count>
      <attachid>203089</attachid>
    <who name="Michael Saboff">msaboff</who>
    <bug_when>2013-05-28 15:12:33 -0700</bug_when>
    <thetext>Comment on attachment 203089
corrected patch.

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

r=me, with comments.

&gt; Source/JavaScriptCore/jit/JITStubsARM.h:290
&gt; +    // 2. Issue 1 means we will need to write to the stack location at
&gt; +    //    ProbeContext.cpu.sp - 4. But if the user probe function had  modified
&gt; +    //    the value of ProbeContext.cpu.sp to point in the range between
&gt; +    //    &amp;ProbeContext.cpu.ip thru &amp;ProbeContext.cpu.aspr, then the action for
&gt; +    //    Issue 1 may trash the values to be restored before we can restore
&gt; +    //    them.

Do we really care if the user modified sp?  Seems like something we shouldn&apos;t have to worry about.

&gt; Source/JavaScriptCore/jit/JITStubsARMv7.h:393
&gt; +    // 2. Issue 1 means we will need to write to the stack location at
&gt; +    //    ProbeContext.cpu.sp - 4. But if the user probe function had  modified
&gt; +    //    the value of ProbeContext.cpu.sp to point in the range between
&gt; +    //    &amp;ProbeContext.cpu.ip thru &amp;ProbeContext.cpu.aspr, then the action for
&gt; +    //    Issue 1 may trash the values to be restored before we can restore
&gt; +    //    them.

Same comment as above.

&gt; Source/JavaScriptCore/jit/JITStubsX86.h:196
&gt; +    // 2. The user probe function may have altered the restore value of esp to
&gt; +    //    point to the vicinity of one of the restore values for the remaining
&gt; +    //    registers left to be restored.
&gt; +    //    That means, for requirement 1, we may end up writing over some of the
&gt; +    //    restore values. We can check for this, and first copy the restore
&gt; +    //    values to a &quot;safe area&quot; on the stack before commencing with the action
&gt; +    //    for requirement 1.

Ditto.

&gt; Source/JavaScriptCore/jit/JITStubsX86_64.h:225
&gt; +    // 2. The user probe function may have altered the restore value of esp to
&gt; +    //    point to the vicinity of one of the restore values for the remaining
&gt; +    //    registers left to be restored.
&gt; +    //    That means, for requirement 1, we may end up writing over some of the
&gt; +    //    restore values. We can check for this, and first copy the restore
&gt; +    //    values to a &quot;safe area&quot; on the stack before commencing with the action
&gt; +    //    for requirement 1.

Ditto</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>894567</commentid>
    <comment_count>6</comment_count>
    <who name="Mark Lam">mark.lam</who>
    <bug_when>2013-05-28 15:22:15 -0700</bug_when>
    <thetext>(In reply to comment #5)
&gt; (From update of attachment 203089 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=203089&amp;action=review
&gt; 
&gt; r=me, with comments.
&gt; 
&gt; &gt; Source/JavaScriptCore/jit/JITStubsARM.h:290
&gt; &gt; +    // 2. Issue 1 means we will need to write to the stack location at
&gt; &gt; +    //    ProbeContext.cpu.sp - 4. But if the user probe function had  modified
&gt; &gt; +    //    the value of ProbeContext.cpu.sp to point in the range between
&gt; &gt; +    //    &amp;ProbeContext.cpu.ip thru &amp;ProbeContext.cpu.aspr, then the action for
&gt; &gt; +    //    Issue 1 may trash the values to be restored before we can restore
&gt; &gt; +    //    them.
&gt; 
&gt; Do we really care if the user modified sp?  Seems like something we shouldn&apos;t have to worry about.

The promise of the probe is that if the probe functions modify the registers values in the ProbeContext, we&apos;ll set the machine registers to those values upon returning.  The code as is honors that promise without exception.

The only case where we&apos;ll want that feature is if we&apos;re debugging JIT generated code with the probe mechanism, and encounter a case where we see the stack at a wrong place (e.g. some new JIT code we wrote forgot to pop 2 values), and we want to adjust it from our debugging session in gdb to see if that resolves the failure we&apos;re debugging.  It&apos;s rare that we&apos;ll encounter such situations, but it can happen.

I&apos;m going to commit it as is.  Thanks.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>894570</commentid>
    <comment_count>7</comment_count>
    <who name="Mark Lam">mark.lam</who>
    <bug_when>2013-05-28 15:27:18 -0700</bug_when>
    <thetext>Landed in r150844: &lt;http://trac.webkit.org/changeset/150844&gt;.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>202487</attachid>
            <date>2013-05-21 18:38:39 -0700</date>
            <delta_ts>2013-05-28 14:26:51 -0700</delta_ts>
            <desc>the patch</desc>
            <filename>bug-116586.patch</filename>
            <type>text/plain</type>
            <size>91385</size>
            <attacher name="Mark Lam">mark.lam</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkocmV2aXNpb24gMTUwNDkzKQorKysgU291cmNl
L0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDYxIEBA
CisyMDEzLTA1LTIxICBNYXJrIExhbSAgPG1hcmsubGFtQGFwcGxlLmNvbT4KKworICAgICAgICBN
aXNjIEpJVCBwcm9iZSBlbmhhY2VtZW50cy4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTExNjU4Ni4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkg
KE9PUFMhKS4KKworICAgICAgICAxLiBBZGRlZCBKSVQgcHJvYmUgc3VwcG9ydCBmb3IgQVJNdjcg
YW5kIHRyYWRpdGlvbmFsIEFSTS4KKyAgICAgICAgICAgQnVpbHQgYW5kIHRlc3RlZCBvbiBBUk12
Ny4gQVJNIHZlcnNpb24gbm90IHRlc3RlZCBub3IgYnVpbHQuIAorICAgICAgICAyLiBGaXggdGhl
IGZvbGxvd2luZyBidWdzIGluIHRoZSBYODYgYW5kIFg4Nl82NCBwcm9iZXM6CisgICAgICAgICAg
IGEuIENhbm5vdCBhc3N1bWUgdGhhdCB0aGUgc3RhY2sgcG9pbnRlciBpcyBhbHJlYWR5IGFsaWdu
ZWQgd2hlbgorICAgICAgICAgICAgICB3ZSBwdXNoIGFyZ3MgZm9yIHRoZSBwcm9iZS4gSW5zdGVh
ZCwgd2UgZW5zdXJlIHRoZSBzdGFjaworICAgICAgICAgICAgICBhbGlnbm1lbnQgYXQgcnVudGlt
ZSB3aGVuIHdlIHNldCB1cCB0aGUgcHJvYmUgY2FsbC4KKyAgICAgICAgICAgICAgVGhpcyBpcyBu
b3cgZG9uZSBpbiB0aGUgY3RpTWFzbVByb2JlVHJhbXBvbGluZS4KKyAgICAgICAgICAgYi4gT24g
cmV0dXJuLCB0aGUgdXNlciBwcm9iZSBmdW5jdGlvbiBtYXkgaGF2ZSBhbHRlcmVkIHRoZSBzdGFj
aworICAgICAgICAgICAgICBwb2ludGVyIHZhbHVlIHRvIGJlIHJlc3RvcmVkLiBQcmV2aW91c2x5
LCBpZiB0aGUgc3AgcmVzdG9yZSB2YWx1ZQorICAgICAgICAgICAgICBwb2ludHMgdG8gc29tZSBv
ZiB0aGUgb3RoZXIgcmVnaXN0ZXIgcmVzdG9yZSB2YWx1ZXMgaW4gdGhlCisgICAgICAgICAgICAg
IFByb2JlQ29udGV4dCByZWNvcmQsIHdlIHdpbGwgZmFpbCB0byByZXR1cm4gZnJvbSB0aGUgcHJv
YmUgaGF2aW5nCisgICAgICAgICAgICAgIHRob3NlIHVzZXIgc3BlY2lmaWVkIHZhbHVlIGFzIHdl
J3JlIGV4cGVjdGVkIHRvIGRvLgorICAgICAgICAgICAgICBUaGlzIGlzIG5vdyBmaXhlZC4KKyAg
ICAgICAgMy4gUmVhcnJhbmdlZCB0aGUgWDg2L1g4Nl82NCByZWdpc3RlcnMgb3JkZXIgdG8gb3Jn
YW5pemUgdGhlbSBsaWtlIGdkYgorICAgICAgICAgICBleHBlY3RzIG9uIFg4Nl82NC4KKyAgICAg
ICAgNC4gV2UgYWxzbyBub3cgcHJlc2VydmUgdGhlIGNvbmRpdGlvbiBjb2RlIHJlZ2lzdGVycy4K
KworICAgICAgICAqIEphdmFTY3JpcHRDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2o6Cisg
ICAgICAgICogYXNzZW1ibGVyL0FSTUFzc2VtYmxlci5oOgorICAgICAgICAqIGFzc2VtYmxlci9B
Uk12N0Fzc2VtYmxlci5oOgorICAgICAgICAqIGFzc2VtYmxlci9NYWNyb0Fzc2VtYmxlckFSTS5j
cHA6CisgICAgICAgIChKU0M6Ok1hY3JvQXNzZW1ibGVyQVJNdjc6OlByb2JlQ29udGV4dDo6ZHVt
cENQVVJlZ2lzdGVycyk6CisgICAgICAgIChKU0M6Ok1hY3JvQXNzZW1ibGVyQVJNdjc6OlByb2Jl
Q29udGV4dDo6ZHVtcCk6CisgICAgICAgIChKU0M6Ok1hY3JvQXNzZW1ibGVyQVJNdjc6OnByb2Jl
KToKKyAgICAgICAgKiBhc3NlbWJsZXIvTWFjcm9Bc3NlbWJsZXJBUk0uaDoKKyAgICAgICAgKE1h
Y3JvQXNzZW1ibGVyQVJNKToKKyAgICAgICAgKENQVVN0YXRlKToKKyAgICAgICAgKFByb2JlQ29u
dGV4dCk6CisgICAgICAgIChKU0M6Ok1hY3JvQXNzZW1ibGVyQVJNOjp0cnVzdGVkSW1tMzJGcm9t
UHRyKToKKyAgICAgICAgKiBhc3NlbWJsZXIvTWFjcm9Bc3NlbWJsZXJBUk12Ny5jcHA6IEFkZGVk
LgorICAgICAgICAoSlNDOjpNYWNyb0Fzc2VtYmxlckFSTXY3OjpQcm9iZUNvbnRleHQ6OmR1bXBD
UFVSZWdpc3RlcnMpOgorICAgICAgICAoSlNDOjpNYWNyb0Fzc2VtYmxlckFSTXY3OjpQcm9iZUNv
bnRleHQ6OmR1bXApOgorICAgICAgICAoSlNDOjpNYWNyb0Fzc2VtYmxlckFSTXY3Ojpwcm9iZSk6
CisgICAgICAgICogYXNzZW1ibGVyL01hY3JvQXNzZW1ibGVyQVJNdjcuaDoKKyAgICAgICAgKE1h
Y3JvQXNzZW1ibGVyQVJNdjcpOgorICAgICAgICAoQ1BVU3RhdGUpOgorICAgICAgICAoUHJvYmVD
b250ZXh0KToKKyAgICAgICAgKEpTQzo6TWFjcm9Bc3NlbWJsZXJBUk12Nzo6dHJ1c3RlZEltbTMy
RnJvbVB0cik6CisgICAgICAgICogYXNzZW1ibGVyL01hY3JvQXNzZW1ibGVyWDg2Lmg6CisgICAg
ICAgIChKU0M6Ok1hY3JvQXNzZW1ibGVyWDg2Ojpwcm9iZSk6CisgICAgICAgICogYXNzZW1ibGVy
L01hY3JvQXNzZW1ibGVyWDg2Q29tbW9uLmNwcDoKKyAgICAgICAgKEpTQzo6TWFjcm9Bc3NlbWJs
ZXJYODZDb21tb246OlByb2JlQ29udGV4dDo6ZHVtcENQVVJlZ2lzdGVycyk6CisgICAgICAgICog
YXNzZW1ibGVyL01hY3JvQXNzZW1ibGVyWDg2XzY0Lmg6CisgICAgICAgIChKU0M6Ok1hY3JvQXNz
ZW1ibGVyWDg2XzY0Ojpwcm9iZSk6CisgICAgICAgICogYXNzZW1ibGVyL1g4NkFzc2VtYmxlci5o
OgorICAgICAgICAqIGppdC9KSVRTdHVic0FSTS5oOgorICAgICAgICAqIGppdC9KSVRTdHVic0FS
TXY3Lmg6CisgICAgICAgICogaml0L0pJVFN0dWJzWDg2Lmg6CisgICAgICAgICogaml0L0pJVFN0
dWJzWDg2Q29tbW9uLmg6CisgICAgICAgICogaml0L0pJVFN0dWJzWDg2XzY0Lmg6CisKIDIwMTMt
MDUtMTIgIEZpbGlwIFBpemxvICA8ZnBpemxvQGFwcGxlLmNvbT4KIAogICAgICAgICBmb3VydGhU
aWVyOiBGVEwgc2hvdWxkbid0IHVzZSBGYXN0SVNlbCBhbmQgU21hbGwgY29kZSBtb2RlbCBzaG91
bGQgYmUgdHVybmVkIG9mZiBmb3Igbm93CkBAIC02MTAsNiArNjY4LDEwIEBACiAKICAgICAgICAg
UmV2aWV3ZWQgYnkgR2VvZmZyZXkgR2FyZW4uCiAKKyAgICAgICAgRWRpdDogRm9yIEMrKyBjb2Rl
LCB5b3UgY2FuIGRvIGRlYnVnZ2luZyBieSBhZGRpbmcgcHJpbnRmcyB0byB5b3VyCisgICAgICAg
IGNvZGUuIEZvciBKSVQgZ2VuZXJhdGVkIGNvZGUsIHlvdSBjYW4gbm93IGRvIHRoZSBlcXVpdmFs
ZW50IGJ5CisgICAgICAgIGluc2VydGluZyBhIHByb2JlIGFuZCBoYXZlIGl0IGVtaXQgYSBjYWxs
IHRvIHlvdXIgcHJvYmUgZnVuY3Rpb24uCisKICAgICAgICAgVGhlIHByb2JlIGlzIGluIHRoZSBm
b3JtIG9mIGEgTWFjcm9Bc3NlbWJsZXIgcHNldWRvIGluc3RydWN0aW9uLgogICAgICAgICBJdCB0
YWtlcyAzIGFyZ3VtZW50czogYSBQcm9iZUZ1bmN0aW9uLCBhbmQgMiB2b2lkKiBhcmdzLgogCklu
ZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvSmF2YVNjcmlwdENvcmUueGNvZGVwcm9qL3Byb2pl
Y3QucGJ4cHJvago9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvSmF2YVNjcmlw
dENvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagkocmV2aXNpb24gMTUwNDkzKQorKysgU291
cmNlL0phdmFTY3JpcHRDb3JlL0phdmFTY3JpcHRDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHBy
b2oJKHdvcmtpbmcgY29weSkKQEAgLTk1Niw2ICs5NTYsNyBAQAogCQlGRTk0MDMyMjE3NDQ0MjU5
MDA0N0NGNkUgLyogSklUU3R1YnNYODZDb21tb24uaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEZFOTQwMzIxMTc0NDQyNTkwMDQ3Q0Y2RSAvKiBKSVRTdHVi
c1g4NkNvbW1vbi5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07
IH07CiAJCUZFQ0U3NDU3MTc0NTQ1NjUwMEZGOTMwMCAvKiBNYWNyb0Fzc2VtYmxlclg4NkNvbW1v
bi5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBGRUNF
NzQ1NjE3NDU0NTY1MDBGRjkzMDAgLyogTWFjcm9Bc3NlbWJsZXJYODZDb21tb24uY3BwICovOyB9
OwogCQlGRUQyODdCMjE1RUM5QTU3MDBEQTgxNjEgLyogTExJbnRPcGNvZGUuaCBpbiBIZWFkZXJz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEZFRDI4N0IxMTVFQzlBNTcwMERB
ODE2MSAvKiBMTEludE9wY29kZS5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZh
dGUsICk7IH07IH07CisJCUZFRTMxNDdEMTc0QUFDQUYwMDEzQkNBQyAvKiBNYWNyb0Fzc2VtYmxl
ckFSTXY3LmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IEZFRTMxNDdDMTc0QUFDQUYwMDEzQkNBQyAvKiBNYWNyb0Fzc2VtYmxlckFSTXY3LmNwcCAqLzsg
fTsKIAkJRkVGNjgzNUUxNzQzNDNDQzAwQTMyRTI1IC8qIEpJVFN0dWJzQVJNLmggaW4gSGVhZGVy
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBGRUY2ODM1QTE3NDM0M0NDMDBB
MzJFMjUgLyogSklUU3R1YnNBUk0uaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2
YXRlLCApOyB9OyB9OwogCQlGRUY2ODM1RjE3NDM0M0NDMDBBMzJFMjUgLyogSklUU3R1YnNBUk12
Ny5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRkVGNjgz
NUIxNzQzNDNDQzAwQTMyRTI1IC8qIEpJVFN0dWJzQVJNdjcuaCAqLzsgc2V0dGluZ3MgPSB7QVRU
UklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQlGRUY2ODM2MDE3NDM0M0NDMDBBMzJFMjUg
LyogSklUU3R1YnNYODZfNjQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsg
ZmlsZVJlZiA9IEZFRjY4MzVDMTc0MzQzQ0MwMEEzMkUyNSAvKiBKSVRTdHVic1g4Nl82NC5oICov
OyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CkBAIC0xOTg3LDYg
KzE5ODgsNyBAQAogCQlGRTk0MDMyMTE3NDQ0MjU5MDA0N0NGNkUgLyogSklUU3R1YnNYODZDb21t
b24uaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0
S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSklUU3R1YnNYODZDb21tb24u
aDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJRkVDRTc0NTYxNzQ1NDU2NTAwRkY5MzAw
IC8qIE1hY3JvQXNzZW1ibGVyWDg2Q29tbW9uLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3Bw
LmNwcDsgcGF0aCA9IE1hY3JvQXNzZW1ibGVyWDg2Q29tbW9uLmNwcDsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKIAkJRkVEMjg3QjExNUVDOUE1NzAwREE4MTYxIC8qIExMSW50T3Bjb2RlLmgg
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3du
RmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgbmFtZSA9IExMSW50T3Bjb2RlLmg7IHBhdGggPSBs
bGludC9MTEludE9wY29kZS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlGRUUzMTQ3
QzE3NEFBQ0FGMDAxM0JDQUMgLyogTWFjcm9Bc3NlbWJsZXJBUk12Ny5jcHAgKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBz
b3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBNYWNyb0Fzc2VtYmxlckFSTXY3LmNwcDsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJRkVGNjgzNUExNzQzNDNDQzAwQTMyRTI1IC8qIEpJVFN0
dWJzQVJNLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEpJVFN0dWJzQVJNLmg7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUZFRjY4MzVCMTc0MzQzQ0MwMEEzMkUyNSAv
KiBKSVRTdHVic0FSTXY3LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29k
aW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEpJVFN0
dWJzQVJNdjcuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJRkVGNjgzNUMxNzQzNDND
QzAwQTMyRTI1IC8qIEpJVFN0dWJzWDg2XzY0LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsg
cGF0aCA9IEpJVFN0dWJzWDg2XzY0Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC0z
MTEzLDYgKzMxMTUsNyBAQAogCQkJCTg2QzM2RUU5MEVFMTI4OUQwMEIzREY1OSAvKiBNYWNyb0Fz
c2VtYmxlci5oICovLAogCQkJCTg2QzU2OEREMTFBMjEzRUUwMDA3RjdGMCAvKiBNYWNyb0Fzc2Vt
YmxlckFSTS5jcHAgKi8sCiAJCQkJODZEM0IyQzIxMDE1NkJERTAwMjg2NUU3IC8qIE1hY3JvQXNz
ZW1ibGVyQVJNLmggKi8sCisJCQkJRkVFMzE0N0MxNzRBQUNBRjAwMTNCQ0FDIC8qIE1hY3JvQXNz
ZW1ibGVyQVJNdjcuY3BwICovLAogCQkJCTg2QUREMTQ0MEZEREVBOTgwMDA2RUVDMiAvKiBNYWNy
b0Fzc2VtYmxlckFSTXY3LmggKi8sCiAJCQkJODYzQjIzREYwRkM2MEU2MjAwNzAzQUE0IC8qIE1h
Y3JvQXNzZW1ibGVyQ29kZVJlZi5oICovLAogCQkJCTg2QzU2OERFMTFBMjEzRUUwMDA3RjdGMCAv
KiBNYWNyb0Fzc2VtYmxlck1JUFMuaCAqLywKQEAgLTQ0MjAsNiArNDQyMyw3IEBACiAJCQkJMEZG
NDI3NEQxNThFQkZFNjAwNENCOUZGIC8qIHVkaXM4Nl9pdGFiX2hvbGRlci5jIGluIFNvdXJjZXMg
Ki8sCiAJCQkJMEZGNDI3NDUxNThFQkU5MTAwNENCOUZGIC8qIHVkaXM4Nl9zeW4tYXR0LmMgaW4g
U291cmNlcyAqLywKIAkJCQkwRkY0Mjc0NjE1OEVCRTkxMDA0Q0I5RkYgLyogdWRpczg2X3N5bi1p
bnRlbC5jIGluIFNvdXJjZXMgKi8sCisJCQkJRkVFMzE0N0QxNzRBQUNBRjAwMTNCQ0FDIC8qIE1h
Y3JvQXNzZW1ibGVyQVJNdjcuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJMEZGNDI3NDcxNThFQkU5
MTAwNENCOUZGIC8qIHVkaXM4Nl9zeW4uYyBpbiBTb3VyY2VzICovLAogCQkJCTBGRjQyNzMyMTU4
RUJENTgwMDRDQjlGRiAvKiBVRGlzODZEaXNhc3NlbWJsZXIuY3BwIGluIFNvdXJjZXMgKi8sCiAJ
CQkJQTc2RjI3OTQxNUYxM0M5NjAwNTE3RDY3IC8qIFVubGlua2VkQ29kZUJsb2NrLmNwcCBpbiBT
b3VyY2VzICovLApJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL2Fzc2VtYmxlci9BUk1Bc3Nl
bWJsZXIuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYXNzZW1ibGVyL0FS
TUFzc2VtYmxlci5oCShyZXZpc2lvbiAxNTA0OTMpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUv
YXNzZW1ibGVyL0FSTUFzc2VtYmxlci5oCSh3b3JraW5nIGNvcHkpCkBAIC01MCw3ICs1MCw3IEBA
IG5hbWVzcGFjZSBKU0MgewogICAgICAgICAgICAgcjksCiAgICAgICAgICAgICByMTAsCiAgICAg
ICAgICAgICByMTEsCi0gICAgICAgICAgICByMTIsIFMxID0gcjEyLAorICAgICAgICAgICAgcjEy
LCBpcCA9IHIxMiwgUzEgPSByMTIsCiAgICAgICAgICAgICByMTMsIHNwID0gcjEzLAogICAgICAg
ICAgICAgcjE0LCBsciA9IHIxNCwKICAgICAgICAgICAgIHIxNSwgcGMgPSByMTUKQEAgLTkxLDYg
KzkxLDUyIEBAIG5hbWVzcGFjZSBKU0MgewogICAgICAgICAgICAgZDMxCiAgICAgICAgIH0gRlBS
ZWdpc3RlcklEOwogCisjaWYgVVNFKE1BU01fUFJPQkUpCisgICAgI2RlZmluZSBGT1JfRUFDSF9D
UFVfUkVHSVNURVIoVikgXAorICAgICAgICBGT1JfRUFDSF9DUFVfR1BSRUdJU1RFUihWKSBcCisg
ICAgICAgIEZPUl9FQUNIX0NQVV9TUEVDSUFMX1JFR0lTVEVSKFYpIFwKKyAgICAgICAgRk9SX0VB
Q0hfQ1BVX0ZQUkVHSVNURVIoVikKKworICAgICNkZWZpbmUgRk9SX0VBQ0hfQ1BVX0dQUkVHSVNU
RVIoVikgXAorICAgICAgICBWKHZvaWQqLCByMCkgXAorICAgICAgICBWKHZvaWQqLCByMSkgXAor
ICAgICAgICBWKHZvaWQqLCByMikgXAorICAgICAgICBWKHZvaWQqLCByMykgXAorICAgICAgICBW
KHZvaWQqLCByNCkgXAorICAgICAgICBWKHZvaWQqLCByNSkgXAorICAgICAgICBWKHZvaWQqLCBy
NikgXAorICAgICAgICBWKHZvaWQqLCByNykgXAorICAgICAgICBWKHZvaWQqLCByOCkgXAorICAg
ICAgICBWKHZvaWQqLCByOSkgXAorICAgICAgICBWKHZvaWQqLCByMTApIFwKKyAgICAgICAgVih2
b2lkKiwgcjExKSBcCisgICAgICAgIFYodm9pZCosIGlwKSBcCisgICAgICAgIFYodm9pZCosIHNw
KSBcCisgICAgICAgIFYodm9pZCosIGxyKSBcCisgICAgICAgIFYodm9pZCosIHBjKQorCisgICAg
I2RlZmluZSBGT1JfRUFDSF9DUFVfU1BFQ0lBTF9SRUdJU1RFUihWKSBcCisgICAgICAgIFYodm9p
ZCosIGFwc3IpIFwKKyAgICAgICAgVih2b2lkKiwgZnBzY3IpIFwKKworICAgICNkZWZpbmUgRk9S
X0VBQ0hfQ1BVX0ZQUkVHSVNURVIoVikgXAorICAgICAgICBWKGRvdWJsZSwgZDApIFwKKyAgICAg
ICAgVihkb3VibGUsIGQxKSBcCisgICAgICAgIFYoZG91YmxlLCBkMikgXAorICAgICAgICBWKGRv
dWJsZSwgZDMpIFwKKyAgICAgICAgVihkb3VibGUsIGQ0KSBcCisgICAgICAgIFYoZG91YmxlLCBk
NSkgXAorICAgICAgICBWKGRvdWJsZSwgZDYpIFwKKyAgICAgICAgVihkb3VibGUsIGQ3KSBcCisg
ICAgICAgIFYoZG91YmxlLCBkOCkgXAorICAgICAgICBWKGRvdWJsZSwgZDkpIFwKKyAgICAgICAg
Vihkb3VibGUsIGQxMCkgXAorICAgICAgICBWKGRvdWJsZSwgZDExKSBcCisgICAgICAgIFYoZG91
YmxlLCBkMTIpIFwKKyAgICAgICAgVihkb3VibGUsIGQxMykgXAorICAgICAgICBWKGRvdWJsZSwg
ZDE0KSBcCisgICAgICAgIFYoZG91YmxlLCBkMTUpCisjZW5kaWYgLy8gVVNFKE1BU01fUFJPQkUp
CiAgICAgfSAvLyBuYW1lc3BhY2UgQVJNUmVnaXN0ZXJzCiAKICAgICBjbGFzcyBBUk1Bc3NlbWJs
ZXIgewpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL2Fzc2VtYmxlci9BUk12N0Fzc2VtYmxl
ci5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9hc3NlbWJsZXIvQVJNdjdB
c3NlbWJsZXIuaAkocmV2aXNpb24gMTUwNDkzKQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL2Fz
c2VtYmxlci9BUk12N0Fzc2VtYmxlci5oCSh3b3JraW5nIGNvcHkpCkBAIC0xNzIsNiArMTcyLDc3
IEBAIG5hbWVzcGFjZSBBUk1SZWdpc3RlcnMgewogICAgICAgICBBU1NFUlQoIShyZWcgJiAxKSk7
CiAgICAgICAgIHJldHVybiAoRlBEb3VibGVSZWdpc3RlcklEKShyZWcgPj4gMSk7CiAgICAgfQor
CisjaWYgVVNFKE1BU01fUFJPQkUpCisgICAgI2RlZmluZSBGT1JfRUFDSF9DUFVfUkVHSVNURVIo
VikgXAorICAgICAgICBGT1JfRUFDSF9DUFVfR1BSRUdJU1RFUihWKSBcCisgICAgICAgIEZPUl9F
QUNIX0NQVV9TUEVDSUFMX1JFR0lTVEVSKFYpIFwKKyAgICAgICAgRk9SX0VBQ0hfQ1BVX0ZQUkVH
SVNURVIoVikKKworICAgICNkZWZpbmUgRk9SX0VBQ0hfQ1BVX0dQUkVHSVNURVIoVikgXAorICAg
ICAgICBWKHZvaWQqLCByMCkgXAorICAgICAgICBWKHZvaWQqLCByMSkgXAorICAgICAgICBWKHZv
aWQqLCByMikgXAorICAgICAgICBWKHZvaWQqLCByMykgXAorICAgICAgICBWKHZvaWQqLCByNCkg
XAorICAgICAgICBWKHZvaWQqLCByNSkgXAorICAgICAgICBWKHZvaWQqLCByNikgXAorICAgICAg
ICBWKHZvaWQqLCByNykgXAorICAgICAgICBWKHZvaWQqLCByOCkgXAorICAgICAgICBWKHZvaWQq
LCByOSkgXAorICAgICAgICBWKHZvaWQqLCByMTApIFwKKyAgICAgICAgVih2b2lkKiwgcjExKSBc
CisgICAgICAgIFYodm9pZCosIGlwKSBcCisgICAgICAgIFYodm9pZCosIHNwKSBcCisgICAgICAg
IFYodm9pZCosIGxyKSBcCisgICAgICAgIFYodm9pZCosIHBjKQorCisgICAgI2RlZmluZSBGT1Jf
RUFDSF9DUFVfU1BFQ0lBTF9SRUdJU1RFUihWKSBcCisgICAgICAgIFYodm9pZCosIGFwc3IpIFwK
KyAgICAgICAgVih2b2lkKiwgZnBzY3IpIFwKKworICAgICNkZWZpbmUgRk9SX0VBQ0hfQ1BVX0ZQ
UkVHSVNURVIoVikgXAorICAgICAgICBWKGRvdWJsZSwgZDApIFwKKyAgICAgICAgVihkb3VibGUs
IGQxKSBcCisgICAgICAgIFYoZG91YmxlLCBkMikgXAorICAgICAgICBWKGRvdWJsZSwgZDMpIFwK
KyAgICAgICAgVihkb3VibGUsIGQ0KSBcCisgICAgICAgIFYoZG91YmxlLCBkNSkgXAorICAgICAg
ICBWKGRvdWJsZSwgZDYpIFwKKyAgICAgICAgVihkb3VibGUsIGQ3KSBcCisgICAgICAgIFYoZG91
YmxlLCBkOCkgXAorICAgICAgICBWKGRvdWJsZSwgZDkpIFwKKyAgICAgICAgVihkb3VibGUsIGQx
MCkgXAorICAgICAgICBWKGRvdWJsZSwgZDExKSBcCisgICAgICAgIFYoZG91YmxlLCBkMTIpIFwK
KyAgICAgICAgVihkb3VibGUsIGQxMykgXAorICAgICAgICBWKGRvdWJsZSwgZDE0KSBcCisgICAg
ICAgIFYoZG91YmxlLCBkMTUpIFwKKyAgICAgICAgRk9SX0VBQ0hfQ1BVX0ZQUkVHSVNURVJfRVhU
RU5TSU9OKFYpCisKKyNpZiBDUFUoQVBQTEVfQVJNVjdTKQorICAgICNkZWZpbmUgRk9SX0VBQ0hf
Q1BVX0ZQUkVHSVNURVJfRVhURU5TSU9OKFYpIFwKKyAgICAgICAgVihkb3VibGUsIGQxNikgXAor
ICAgICAgICBWKGRvdWJsZSwgZDE3KSBcCisgICAgICAgIFYoZG91YmxlLCBkMTgpIFwKKyAgICAg
ICAgVihkb3VibGUsIGQxOSkgXAorICAgICAgICBWKGRvdWJsZSwgZDIwKSBcCisgICAgICAgIFYo
ZG91YmxlLCBkMjEpIFwKKyAgICAgICAgVihkb3VibGUsIGQyMikgXAorICAgICAgICBWKGRvdWJs
ZSwgZDIzKSBcCisgICAgICAgIFYoZG91YmxlLCBkMjQpIFwKKyAgICAgICAgVihkb3VibGUsIGQy
NSkgXAorICAgICAgICBWKGRvdWJsZSwgZDI2KSBcCisgICAgICAgIFYoZG91YmxlLCBkMjcpIFwK
KyAgICAgICAgVihkb3VibGUsIGQyOCkgXAorICAgICAgICBWKGRvdWJsZSwgZDI5KSBcCisgICAg
ICAgIFYoZG91YmxlLCBkMzApIFwKKyAgICAgICAgVihkb3VibGUsIGQzMSkKKyNlbHNlCisgICAg
I2RlZmluZSBGT1JfRUFDSF9DUFVfRlBSRUdJU1RFUl9FWFRFTlNJT04oVikgLy8gTm90aGluZyB0
byBhZGQuCisjZW5kaWYgLy8gQ1BVKEFQUExFX0FSTVY3UykKKworI2VuZGlmIC8vIFVTRShNQVNN
X1BST0JFKQogfQogCiBjbGFzcyBBUk12N0Fzc2VtYmxlcjsKSW5kZXg6IFNvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9hc3NlbWJsZXIvTWFjcm9Bc3NlbWJsZXJBUk0uY3BwCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNv
dXJjZS9KYXZhU2NyaXB0Q29yZS9hc3NlbWJsZXIvTWFjcm9Bc3NlbWJsZXJBUk0uY3BwCShyZXZp
c2lvbiAxNTA0OTMpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYXNzZW1ibGVyL01hY3JvQXNz
ZW1ibGVyQVJNLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMSw0ICsxLDUgQEAKIC8qCisgKiBDb3B5
cmlnaHQgKEMpIDIwMTMgQXBwbGUgSW5jLgogICogQ29weXJpZ2h0IChDKSAyMDA5IFVuaXZlcnNp
dHkgb2YgU3plZ2VkCiAgKiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICoKQEAgLTMwLDYgKzMxLDEw
IEBACiAKICNpbmNsdWRlICJNYWNyb0Fzc2VtYmxlckFSTS5oIgogCisjaWYgVVNFKE1BU01fUFJP
QkUpCisjaW5jbHVkZSA8d3RmL1N0ZExpYkV4dHJhcy5oPgorI2VuZGlmCisKICNpZiBPUyhMSU5V
WCkKICNpbmNsdWRlIDxzeXMvdHlwZXMuaD4KICNpbmNsdWRlIDxzeXMvc3RhdC5oPgpAQCAtNTUs
NyArNjAsNyBAQCBzdGF0aWMgYm9vbCBpc1ZGUFByZXNlbnQoKQogICAgICAgICB9CiAgICAgICAg
IGNsb3NlKGZkKTsKICAgICB9Ci0jZW5kaWYKKyNlbmRpZiAvLyBPUyhMSU5VWCkKIAogI2lmIChD
T01QSUxFUihSVkNUKSAmJiBkZWZpbmVkKF9fVEFSR0VUX0ZQVV9WRlApKSB8fCAoQ09NUElMRVIo
R0NDKSAmJiBkZWZpbmVkKF9fVkZQX0ZQX18pKQogICAgIHJldHVybiB0cnVlOwpAQCAtOTIsOCAr
OTcsOTQgQEAgdm9pZCBNYWNyb0Fzc2VtYmxlckFSTTo6bG9hZDMyV2l0aFVuYWxpZwogICAgIH0K
ICAgICBtX2Fzc2VtYmxlci5vcnIoZGVzdCwgZGVzdCwgbV9hc3NlbWJsZXIubHNsKEFSTVJlZ2lz
dGVyczo6UzAsIDE2KSk7CiB9Ci0jZW5kaWYKKyNlbmRpZiAvLyBDUFUoQVJNVjVfT1JfTE9XRVIp
CisKKyNpZiBVU0UoTUFTTV9QUk9CRSkKIAordm9pZCBNYWNyb0Fzc2VtYmxlckFSTXY3OjpQcm9i
ZUNvbnRleHQ6OmR1bXBDUFVSZWdpc3RlcnMoY29uc3QgY2hhciogaW5kZW50YXRpb24pCit7Cisg
ICAgI2RlZmluZSBEVU1QX0dQUkVHSVNURVIoX3R5cGUsIF9yZWdOYW1lKSB7IFwKKyAgICAgICAg
aW50MzJfdCB2YWx1ZSA9IHJlaW50ZXJwcmV0X2Nhc3Q8aW50MzJfdD4oY3B1Ll9yZWdOYW1lKTsg
XAorICAgICAgICBkYXRhTG9nRigiJXMgICAgJTVzOiAweCUwOHggICAlZFxuIiwgaW5kZW50YXRp
b24sICNfcmVnTmFtZSwgdmFsdWUsIHZhbHVlKSA7IFwKKyAgICB9CisgICAgRk9SX0VBQ0hfQ1BV
X0dQUkVHSVNURVIoRFVNUF9HUFJFR0lTVEVSKQorICAgIEZPUl9FQUNIX0NQVV9TUEVDSUFMX1JF
R0lTVEVSKERVTVBfR1BSRUdJU1RFUikKKyAgICAjdW5kZWYgRFVNUF9HUFJFR0lTVEVSCisKKyAg
ICAjZGVmaW5lIERVTVBfRlBSRUdJU1RFUihfdHlwZSwgX3JlZ05hbWUpIHsgXAorICAgICAgICB1
aW50MzJfdCogdSA9IHJlaW50ZXJwcmV0X2Nhc3Q8dWludDMyX3QqPigmY3B1Ll9yZWdOYW1lKTsg
XAorICAgICAgICBkb3VibGUqIGQgPSByZWludGVycHJldF9jYXN0PGRvdWJsZSo+KCZjcHUuX3Jl
Z05hbWUpOyBcCisgICAgICAgIGRhdGFMb2dGKCIlcyAgICAlNXM6IDB4ICUwOHggJTA4eCAgICUx
MmdcbiIsIFwKKyAgICAgICAgICAgIGluZGVudGF0aW9uLCAjX3JlZ05hbWUsIHVbMV0sIHVbMF0s
IGRbMF0pOyBcCisgICAgfQorICAgIEZPUl9FQUNIX0NQVV9GUFJFR0lTVEVSKERVTVBfRlBSRUdJ
U1RFUikKKyAgICAjdW5kZWYgRFVNUF9GUFJFR0lTVEVSCiB9CiAKK3ZvaWQgTWFjcm9Bc3NlbWJs
ZXJBUk12Nzo6UHJvYmVDb250ZXh0OjpkdW1wKGNvbnN0IGNoYXIqIGluZGVudGF0aW9uKQorewor
ICAgIGlmICghaW5kZW50YXRpb24pCisgICAgICAgIGluZGVudGF0aW9uID0gIiI7CisKKyAgICBk
YXRhTG9nRigiJXNQcm9iZUNvbnRleHQgJXAge1xuIiwgaW5kZW50YXRpb24sIHRoaXMpOworICAg
IGRhdGFMb2dGKCIlcyAgcHJvYmVGdW5jdGlvbjogJXBcbiIsIGluZGVudGF0aW9uLCBwcm9iZUZ1
bmN0aW9uKTsKKyAgICBkYXRhTG9nRigiJXMgIGFyZzE6ICVwICVsbHVcbiIsIGluZGVudGF0aW9u
LCBhcmcxLCByZWludGVycHJldF9jYXN0PGludDY0X3Q+KGFyZzEpKTsKKyAgICBkYXRhTG9nRigi
JXMgIGFyZzI6ICVwICVsbHVcbiIsIGluZGVudGF0aW9uLCBhcmcyLCByZWludGVycHJldF9jYXN0
PGludDY0X3Q+KGFyZzIpKTsKKyAgICBkYXRhTG9nRigiJXMgIGppdFN0YWNrRnJhbWU6ICVwXG4i
LCBpbmRlbnRhdGlvbiwgaml0U3RhY2tGcmFtZSk7CisgICAgZGF0YUxvZ0YoIiVzICBjcHU6IHtc
biIsIGluZGVudGF0aW9uKTsKKworICAgIGR1bXBDUFVSZWdpc3RlcnMoaW5kZW50YXRpb24pOwor
CisgICAgZGF0YUxvZ0YoIiVzICB9XG4iLCBpbmRlbnRhdGlvbik7CisgICAgZGF0YUxvZ0YoIiVz
fVxuIiwgaW5kZW50YXRpb24pOworfQorCisKK2V4dGVybiAiQyIgdm9pZCBjdGlNYXNtUHJvYmVU
cmFtcG9saW5lKCk7CisKKy8vIFdoYXQgY29kZSBpcyBlbWl0dGVkIGZvciB0aGUgcHJvYmU/Cisv
LyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CisvLyBXZSB3YW50IHRvIGtlZXAg
dGhlIHNpemUgb2YgdGhlIGVtaXR0ZWQgcHJvYmUgaW52b2NhdGlvbiBjb2RlIGFzIGNvbXBhY3Qg
YXMKKy8vIHBvc3NpYmxlIHRvIG1pbmltaXplIHRoZSBwZXJ0dXJiYXRpb24gdG8gdGhlIEpJVCBn
ZW5lcmF0ZWQgY29kZS4gSG93ZXZlciwKKy8vIHdlIGFsc28gbmVlZCB0byBwcmVzZXJ2ZSB0aGUg
Q1BVIHJlZ2lzdGVycyBhbmQgc2V0IHVwIHRoZSBQcm9iZUNvbnRleHQgdG8gYmUKKy8vIHBhc3Nl
ZCB0byB0aGUgdXNlciBwcm9iZSBmdW5jdGlvbi4KKy8vCisvLyBIZW5jZSwgd2UgZG8gb25seSB0
aGUgbWluaW11bSBoZXJlIHRvIHByZXNlcnZlIHRoZSBpcCAodG8gYmUgdXNlZCBhcyBhCisvLyBz
Y3JhdGNoIHJlZ2lzdGVyKSwgbHIsIGFuZCBzcCByZWdpc3RlcnMsIGFuZCBwYXNzIHRoZSBwcm9i
ZSBhcmd1bWVudHMuIFdlJ2xsCisvLyBsZXQgdGhlIGN0aU1hc21Qcm9iZVRyYW1wb2xpbmUgaGFu
ZGxlIHRoZSByZXN0IG9mIHRoZSBwcm9iZSBpbnZvY2F0aW9uIHdvcmsKKy8vIGkuZS4gc2F2aW5n
IHRoZSBDUFVTdGF0ZSAoYW5kIHNldHRpbmcgdXAgdGhlIFByb2JlQ29udGV4dCksIGNhbGxpbmcg
dGhlIHVzZXIKKy8vIHByb2JlIGZ1bmN0aW9uLCBhbmQgcmVzdG9yaW5nIHRoZSBDUFVTdGF0ZSBi
ZWZvcmUgcmV0dXJuaW5nIHRvIEpJVCBnZW5lcmF0ZWQKKy8vIGNvZGUuCisvLworLy8gV2hhdCB2
YWx1ZXMgYXJlIGluIHRoZSBzYXZlZCByZWdpc3RlcnM/CisvLyA9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQorLy8gQ29uY2VwdHVhbGx5LCB0aGUgc2F2ZWQgcmVnaXN0ZXJz
IHNob3VsZCBjb250YWluIHZhbHVlcyBhcyBpZiB0aGUgcHJvYmUKKy8vIGlzIG5vdCBwcmVzZW50
IGluIHRoZSBKSVQgZ2VuZXJhdGVkIGNvZGUuIEhlbmNlLCB0aGV5IHNob3VsZCBjb250YWluIHZh
bHVlcworLy8gdGhhdCBhcmUgZXhwZWN0ZWQgYXQgdGhlIHN0YXJ0IG9mIHRoZSBpbnN0cnVjdGlv
biBpbW1lZGlhdGVseSBmb2xsb3dpbmcgdGhlCisvLyBwcm9iZS4KKy8vCisvLyBTcGVjaWZjYWxs
eSwgdGhlIHNhdmVkIHNwIHdpbGwgcG9pbnQgdG8gdGhlIHN0YWNrIHBvc2l0aW9uIGJlZm9yZSB3
ZQorLy8gcHVzaCB0aGUgUHJvYmVDb250ZXh0IGZyYW1lLiBUaGUgc2F2ZWQgcGMgd2lsbCBwb2lu
dCB0byB0aGUgYWRkcmVzcyBvZgorLy8gdGhlIGluc3RydWN0aW9uIGltbWVkaWF0ZWx5IGZvbGxv
d2luZyB0aGUgcHJvYmUuIAorCit2b2lkIE1hY3JvQXNzZW1ibGVyQVJNdjc6OnByb2JlKE1hY3Jv
QXNzZW1ibGVyQVJNdjc6OlByb2JlRnVuY3Rpb24gZnVuY3Rpb24sIHZvaWQqIGFyZzEsIHZvaWQq
IGFyZzIpCit7CisgICAgcHVzaChSZWdpc3RlcklEOjpzcCk7CisgICAgcHVzaChSZWdpc3RlcklE
Ojpscik7CisgICAgcHVzaChSZWdpc3RlcklEOjppcCk7CisgICAgcHVzaChSZWdpc3RlcklEOjpT
MCk7CisgICAgLy8gVGhlIGZvbGxvd2luZyB1c2VzIFJlZ2lzdGVySUQ6OlMwLiBTbywgdGhleSBt
dXN0IGNvbWUgYWZ0ZXIgd2UgcHVzaAorICAgIC8vIFMwIGFib3ZlLgorICAgIHB1c2godHJ1c3Rl
ZEltbTMyRnJvbVB0cihhcmcyKSk7CisgICAgcHVzaCh0cnVzdGVkSW1tMzJGcm9tUHRyKGFyZzEp
KTsKKyAgICBwdXNoKHRydXN0ZWRJbW0zMkZyb21QdHIoZnVuY3Rpb24pKTsKKworICAgIG1vdmUo
dHJ1c3RlZEltbTMyRnJvbVB0cihjdGlNYXNtUHJvYmVUcmFtcG9saW5lKSwgUmVnaXN0ZXJJRDo6
UzApOworICAgIG1fYXNzZW1ibGVyLmJseChSZWdpc3RlcklEOjpTMCk7CisKK30KKyNlbmRpZiAv
LyBVU0UoTUFTTV9QUk9CRSkKKworfSAvLyBuYW1lc3BhY2UgSlNDCisKICNlbmRpZiAvLyBFTkFC
TEUoQVNTRU1CTEVSKSAmJiBDUFUoQVJNX1RSQURJVElPTkFMKQpJbmRleDogU291cmNlL0phdmFT
Y3JpcHRDb3JlL2Fzc2VtYmxlci9NYWNyb0Fzc2VtYmxlckFSTS5oCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNv
dXJjZS9KYXZhU2NyaXB0Q29yZS9hc3NlbWJsZXIvTWFjcm9Bc3NlbWJsZXJBUk0uaAkocmV2aXNp
b24gMTUwNDkzKQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL2Fzc2VtYmxlci9NYWNyb0Fzc2Vt
YmxlckFSTS5oCSh3b3JraW5nIGNvcHkpCkBAIC0xLDUgKzEsNSBAQAogLyoKLSAqIENvcHlyaWdo
dCAoQykgMjAwOCBBcHBsZSBJbmMuCisgKiBDb3B5cmlnaHQgKEMpIDIwMDgsIDIwMTMgQXBwbGUg
SW5jLgogICogQ29weXJpZ2h0IChDKSAyMDA5LCAyMDEwIFVuaXZlcnNpdHkgb2YgU3plZ2VkCiAg
KiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICoKQEAgLTM1LDYgKzM1LDggQEAKIAogbmFtZXNwYWNl
IEpTQyB7CiAKK3N0cnVjdCBKSVRTdGFja0ZyYW1lOworCiBjbGFzcyBNYWNyb0Fzc2VtYmxlckFS
TSA6IHB1YmxpYyBBYnN0cmFjdE1hY3JvQXNzZW1ibGVyPEFSTUFzc2VtYmxlcj4gewogICAgIHN0
YXRpYyBjb25zdCBpbnQgRG91YmxlQ29uZGl0aW9uTWFzayA9IDB4MGY7CiAgICAgc3RhdGljIGNv
bnN0IGludCBEb3VibGVDb25kaXRpb25CaXRTcGVjaWFsID0gMHgxMDsKQEAgLTEzMjUsNiArMTMy
Nyw0OCBAQCBwdWJsaWM6CiAgICAgICAgIFVOUkVBQ0hBQkxFX0ZPUl9QTEFURk9STSgpOwogICAg
IH0KIAorI2lmIFVTRShNQVNNX1BST0JFKQorICAgIHN0cnVjdCBDUFVTdGF0ZSB7CisgICAgICAg
ICNkZWZpbmUgREVDTEFSRV9SRUdJU1RFUihfdHlwZSwgX3JlZ05hbWUpIFwKKyAgICAgICAgICAg
IF90eXBlIF9yZWdOYW1lOworICAgICAgICBGT1JfRUFDSF9DUFVfUkVHSVNURVIoREVDTEFSRV9S
RUdJU1RFUikKKyAgICAgICAgI3VuZGVmIERFQ0xBUkVfUkVHSVNURVIKKyAgICB9OworCisgICAg
c3RydWN0IFByb2JlQ29udGV4dDsKKyAgICB0eXBlZGVmIHZvaWQgKCpQcm9iZUZ1bmN0aW9uKShz
dHJ1Y3QgUHJvYmVDb250ZXh0Kik7CisKKyAgICBzdHJ1Y3QgUHJvYmVDb250ZXh0IHsKKyAgICAg
ICAgUHJvYmVGdW5jdGlvbiBwcm9iZUZ1bmN0aW9uOworICAgICAgICB2b2lkKiBhcmcxOworICAg
ICAgICB2b2lkKiBhcmcyOworICAgICAgICBKSVRTdGFja0ZyYW1lKiBqaXRTdGFja0ZyYW1lOwor
ICAgICAgICBDUFVTdGF0ZSBjcHU7CisKKyAgICAgICAgdm9pZCBkdW1wKGNvbnN0IGNoYXIqIGlu
ZGVudGF0aW9uID0gMCk7CisgICAgcHJpdmF0ZToKKyAgICAgICAgdm9pZCBkdW1wQ1BVUmVnaXN0
ZXJzKGNvbnN0IGNoYXIqIGluZGVudGF0aW9uKTsKKyAgICB9OworCisgICAgLy8gVGhpcyBmdW5j
dGlvbiBlbWl0cyBjb2RlIHRvIHByZXNlcnZlIHRoZSBDUFVTdGF0ZSAoZS5nLiByZWdpc3RlcnMp
LAorICAgIC8vIGNhbGwgYSB1c2VyIHN1cHBsaWVkIHByb2JlIGZ1bmN0aW9uLCBhbmQgcmVzdG9y
ZSB0aGUgQ1BVU3RhdGUgYmVmb3JlCisgICAgLy8gY29udGludWluZyB3aXRoIG90aGVyIEpJVCBn
ZW5lcmF0ZWQgY29kZS4KKyAgICAvLworICAgIC8vIFRoZSB1c2VyIHN1cHBsaWVkIHByb2JlIGZ1
bmN0aW9uIHdpbGwgYmUgY2FsbGVkIHdpdGggYSBzaW5nbGUgcG9pbnRlciB0bworICAgIC8vIGEg
UHJvYmVDb250ZXh0IHN0cnVjdCAoZGVmaW5lZCBhYm92ZSkgd2hpY2ggY29udGFpbnMsIGFtb25n
IG90aGVyIHRoaW5ncywKKyAgICAvLyB0aGUgcHJlc2VydmVkIENQVVN0YXRlLiBUaGlzIGFsbG93
cyB0aGUgdXNlciBwcm9iZSBmdW5jdGlvbiB0byBpbnNwZWN0CisgICAgLy8gdGhlIENQVVN0YXRl
IGF0IHRoYXQgcG9pbnQgaW4gdGhlIEpJVCBnZW5lcmF0ZWQgY29kZS4KKyAgICAvLworICAgIC8v
IElmIHRoZSB1c2VyIHByb2JlIGZ1bmN0aW9uIGFsdGVycyB0aGUgcmVnaXN0ZXIgdmFsdWVzIGlu
IHRoZSBQcm9iZUNvbnRleHQsCisgICAgLy8gdGhlIGFsdGVyZWQgdmFsdWVzIHdpbGwgYmUgbG9h
ZGVkIGludG8gdGhlIENQVSByZWdpc3RlcnMgd2hlbiB0aGUgcHJvYmUKKyAgICAvLyByZXR1cm5z
LgorICAgIC8vCisgICAgLy8gVGhlIFByb2JlQ29udGV4dCBpcyBzdGFjayBhbGxvY2F0ZWQgYW5k
IGlzIG9ubHkgdmFsaWQgZm9yIHRoZSBkdXJhdGlvbgorICAgIC8vIG9mIHRoZSBjYWxsIHRvIHRo
ZSB1c2VyIHByb2JlIGZ1bmN0aW9uLgorCisgICAgdm9pZCBwcm9iZShQcm9iZUZ1bmN0aW9uLCB2
b2lkKiBhcmcxID0gMCwgdm9pZCogYXJnMiA9IDApOworI2VuZGlmIC8vIFVTRShNQVNNX1BST0JF
KQorCiBwcm90ZWN0ZWQ6CiAgICAgQVJNQXNzZW1ibGVyOjpDb25kaXRpb24gQVJNQ29uZGl0aW9u
KFJlbGF0aW9uYWxDb25kaXRpb24gY29uZCkKICAgICB7CkBAIC0xMzgwLDYgKzE0MjQsMjMgQEAg
cHJpdmF0ZToKICAgICAgICAgQVJNQXNzZW1ibGVyOjpyZWxpbmtDYWxsKGNhbGwuZGF0YUxvY2F0
aW9uKCksIGRlc3RpbmF0aW9uLmV4ZWN1dGFibGVBZGRyZXNzKCkpOwogICAgIH0KIAorI2lmIFVT
RShNQVNNX1BST0JFKQorICAgIGlubGluZSBUcnVzdGVkSW1tMzIgdHJ1c3RlZEltbTMyRnJvbVB0
cih2b2lkKiBwdHIpCisgICAgeworICAgICAgICByZXR1cm4gVHJ1c3RlZEltbTMyKFRydXN0ZWRJ
bW1QdHIocHRyKSk7CisgICAgfQorCisgICAgaW5saW5lIFRydXN0ZWRJbW0zMiB0cnVzdGVkSW1t
MzJGcm9tUHRyKFByb2JlRnVuY3Rpb24gZnVuY3Rpb24pCisgICAgeworICAgICAgICByZXR1cm4g
VHJ1c3RlZEltbTMyKFRydXN0ZWRJbW1QdHIocmVpbnRlcnByZXRfY2FzdDx2b2lkKj4oZnVuY3Rp
b24pKSk7CisgICAgfQorCisgICAgaW5saW5lIFRydXN0ZWRJbW0zMiB0cnVzdGVkSW1tMzJGcm9t
UHRyKHZvaWQgKCpmdW5jdGlvbikoKSkKKyAgICB7CisgICAgICAgIHJldHVybiBUcnVzdGVkSW1t
MzIoVHJ1c3RlZEltbVB0cihyZWludGVycHJldF9jYXN0PHZvaWQqPihmdW5jdGlvbikpKTsKKyAg
ICB9CisjZW5kaWYKKwogICAgIHN0YXRpYyBjb25zdCBib29sIHNfaXNWRlBQcmVzZW50OwogfTsK
IApJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL2Fzc2VtYmxlci9NYWNyb0Fzc2VtYmxlckFS
TXY3LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYXNzZW1ibGVyL01h
Y3JvQXNzZW1ibGVyQVJNdjcuY3BwCShyZXZpc2lvbiAwKQorKysgU291cmNlL0phdmFTY3JpcHRD
b3JlL2Fzc2VtYmxlci9NYWNyb0Fzc2VtYmxlckFSTXY3LmNwcAkod29ya2luZyBjb3B5KQpAQCAt
MCwwICsxLDEyNSBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxMyBBcHBsZSBJbmMuIEFsbCBy
aWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2Ug
YW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBw
ZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBt
ZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhl
IGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBh
bmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJp
bmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGlj
ZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBp
biB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRl
ZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURF
RCBCWSBBUFBMRSBJTkMuIGBgQVMgSVMnJyBBTkQgQU5ZCisgKiBFWFBSRVNTIE9SIElNUExJRUQg
V0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQorICogSU1QTElF
RCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNV
TEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUg
SU5DLiBPUgorICogQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJF
Q1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsCisgKiBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwg
REFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBQUk9DVVJFTUVOVCBP
RiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IKKyAq
IFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9O
IEFOWSBUSEVPUlkKKyAqIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNU
IExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lT
RSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJF
LCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiAKKyAq
LworCisjaW5jbHVkZSAiY29uZmlnLmgiCisKKyNpZiBFTkFCTEUoQVNTRU1CTEVSKSAmJiBDUFUo
QVJNX1RIVU1CMikKKyNpbmNsdWRlICJNYWNyb0Fzc2VtYmxlckFSTXY3LmgiCisKKyNpZiBVU0Uo
TUFTTV9QUk9CRSkKKyNpbmNsdWRlIDx3dGYvU3RkTGliRXh0cmFzLmg+CisjZW5kaWYKKworbmFt
ZXNwYWNlIEpTQyB7CisKKyNpZiBVU0UoTUFTTV9QUk9CRSkKKwordm9pZCBNYWNyb0Fzc2VtYmxl
ckFSTXY3OjpQcm9iZUNvbnRleHQ6OmR1bXBDUFVSZWdpc3RlcnMoY29uc3QgY2hhciogaW5kZW50
YXRpb24pCit7CisgICAgI2RlZmluZSBEVU1QX0dQUkVHSVNURVIoX3R5cGUsIF9yZWdOYW1lKSB7
IFwKKyAgICAgICAgaW50MzJfdCB2YWx1ZSA9IHJlaW50ZXJwcmV0X2Nhc3Q8aW50MzJfdD4oY3B1
Ll9yZWdOYW1lKTsgXAorICAgICAgICBkYXRhTG9nRigiJXMgICAgJTVzOiAweCUwOHggICAlZFxu
IiwgaW5kZW50YXRpb24sICNfcmVnTmFtZSwgdmFsdWUsIHZhbHVlKSA7IFwKKyAgICB9CisgICAg
Rk9SX0VBQ0hfQ1BVX0dQUkVHSVNURVIoRFVNUF9HUFJFR0lTVEVSKQorICAgIEZPUl9FQUNIX0NQ
VV9TUEVDSUFMX1JFR0lTVEVSKERVTVBfR1BSRUdJU1RFUikKKyAgICAjdW5kZWYgRFVNUF9HUFJF
R0lTVEVSCisKKyAgICAjZGVmaW5lIERVTVBfRlBSRUdJU1RFUihfdHlwZSwgX3JlZ05hbWUpIHsg
XAorICAgICAgICB1aW50MzJfdCogdSA9IHJlaW50ZXJwcmV0X2Nhc3Q8dWludDMyX3QqPigmY3B1
Ll9yZWdOYW1lKTsgXAorICAgICAgICBkb3VibGUqIGQgPSByZWludGVycHJldF9jYXN0PGRvdWJs
ZSo+KCZjcHUuX3JlZ05hbWUpOyBcCisgICAgICAgIGRhdGFMb2dGKCIlcyAgICAlNXM6IDB4ICUw
OHggJTA4eCAgICUxMmdcbiIsIFwKKyAgICAgICAgICAgIGluZGVudGF0aW9uLCAjX3JlZ05hbWUs
IHVbMV0sIHVbMF0sIGRbMF0pOyBcCisgICAgfQorICAgIEZPUl9FQUNIX0NQVV9GUFJFR0lTVEVS
KERVTVBfRlBSRUdJU1RFUikKKyAgICAjdW5kZWYgRFVNUF9GUFJFR0lTVEVSCit9CisKK3ZvaWQg
TWFjcm9Bc3NlbWJsZXJBUk12Nzo6UHJvYmVDb250ZXh0OjpkdW1wKGNvbnN0IGNoYXIqIGluZGVu
dGF0aW9uKQoreworICAgIGlmICghaW5kZW50YXRpb24pCisgICAgICAgIGluZGVudGF0aW9uID0g
IiI7CisKKyAgICBkYXRhTG9nRigiJXNQcm9iZUNvbnRleHQgJXAge1xuIiwgaW5kZW50YXRpb24s
IHRoaXMpOworICAgIGRhdGFMb2dGKCIlcyAgcHJvYmVGdW5jdGlvbjogJXBcbiIsIGluZGVudGF0
aW9uLCBwcm9iZUZ1bmN0aW9uKTsKKyAgICBkYXRhTG9nRigiJXMgIGFyZzE6ICVwICVsbHVcbiIs
IGluZGVudGF0aW9uLCBhcmcxLCByZWludGVycHJldF9jYXN0PGludDY0X3Q+KGFyZzEpKTsKKyAg
ICBkYXRhTG9nRigiJXMgIGFyZzI6ICVwICVsbHVcbiIsIGluZGVudGF0aW9uLCBhcmcyLCByZWlu
dGVycHJldF9jYXN0PGludDY0X3Q+KGFyZzIpKTsKKyAgICBkYXRhTG9nRigiJXMgIGppdFN0YWNr
RnJhbWU6ICVwXG4iLCBpbmRlbnRhdGlvbiwgaml0U3RhY2tGcmFtZSk7CisgICAgZGF0YUxvZ0Yo
IiVzICBjcHU6IHtcbiIsIGluZGVudGF0aW9uKTsKKworICAgIGR1bXBDUFVSZWdpc3RlcnMoaW5k
ZW50YXRpb24pOworCisgICAgZGF0YUxvZ0YoIiVzICB9XG4iLCBpbmRlbnRhdGlvbik7CisgICAg
ZGF0YUxvZ0YoIiVzfVxuIiwgaW5kZW50YXRpb24pOworfQorCisKK2V4dGVybiAiQyIgdm9pZCBj
dGlNYXNtUHJvYmVUcmFtcG9saW5lKCk7CisKKy8vIFdoYXQgY29kZSBpcyBlbWl0dGVkIGZvciB0
aGUgcHJvYmU/CisvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CisvLyBXZSB3
YW50IHRvIGtlZXAgdGhlIHNpemUgb2YgdGhlIGVtaXR0ZWQgcHJvYmUgaW52b2NhdGlvbiBjb2Rl
IGFzIGNvbXBhY3QgYXMKKy8vIHBvc3NpYmxlIHRvIG1pbmltaXplIHRoZSBwZXJ0dXJiYXRpb24g
dG8gdGhlIEpJVCBnZW5lcmF0ZWQgY29kZS4gSG93ZXZlciwKKy8vIHdlIGFsc28gbmVlZCB0byBw
cmVzZXJ2ZSB0aGUgQ1BVIHJlZ2lzdGVycyBhbmQgc2V0IHVwIHRoZSBQcm9iZUNvbnRleHQgdG8g
YmUKKy8vIHBhc3NlZCB0byB0aGUgdXNlciBwcm9iZSBmdW5jdGlvbi4KKy8vCisvLyBIZW5jZSwg
d2UgZG8gb25seSB0aGUgbWluaW11bSBoZXJlIHRvIHByZXNlcnZlIHRoZSBpcCAodG8gYmUgdXNl
ZCBhcyBhCisvLyBzY3JhdGNoIHJlZ2lzdGVyKSwgbHIsIGFuZCBzcCByZWdpc3RlcnMsIGFuZCBw
YXNzIHRoZSBwcm9iZSBhcmd1bWVudHMuIFdlJ2xsCisvLyBsZXQgdGhlIGN0aU1hc21Qcm9iZVRy
YW1wb2xpbmUgaGFuZGxlIHRoZSByZXN0IG9mIHRoZSBwcm9iZSBpbnZvY2F0aW9uIHdvcmsKKy8v
IGkuZS4gc2F2aW5nIHRoZSBDUFVTdGF0ZSAoYW5kIHNldHRpbmcgdXAgdGhlIFByb2JlQ29udGV4
dCksIGNhbGxpbmcgdGhlIHVzZXIKKy8vIHByb2JlIGZ1bmN0aW9uLCBhbmQgcmVzdG9yaW5nIHRo
ZSBDUFVTdGF0ZSBiZWZvcmUgcmV0dXJuaW5nIHRvIEpJVCBnZW5lcmF0ZWQKKy8vIGNvZGUuCisv
LworLy8gV2hhdCB2YWx1ZXMgYXJlIGluIHRoZSBzYXZlZCByZWdpc3RlcnM/CisvLyA9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorLy8gQ29uY2VwdHVhbGx5LCB0aGUgc2F2
ZWQgcmVnaXN0ZXJzIHNob3VsZCBjb250YWluIHZhbHVlcyBhcyBpZiB0aGUgcHJvYmUKKy8vIGlz
IG5vdCBwcmVzZW50IGluIHRoZSBKSVQgZ2VuZXJhdGVkIGNvZGUuIEhlbmNlLCB0aGV5IHNob3Vs
ZCBjb250YWluIHZhbHVlcworLy8gdGhhdCBhcmUgZXhwZWN0ZWQgYXQgdGhlIHN0YXJ0IG9mIHRo
ZSBpbnN0cnVjdGlvbiBpbW1lZGlhdGVseSBmb2xsb3dpbmcgdGhlCisvLyBwcm9iZS4KKy8vCisv
LyBTcGVjaWZjYWxseSwgdGhlIHNhdmVkIHNwIHdpbGwgcG9pbnQgdG8gdGhlIHN0YWNrIHBvc2l0
aW9uIGJlZm9yZSB3ZQorLy8gcHVzaCB0aGUgUHJvYmVDb250ZXh0IGZyYW1lLiBUaGUgc2F2ZWQg
cGMgd2lsbCBwb2ludCB0byB0aGUgYWRkcmVzcyBvZgorLy8gdGhlIGluc3RydWN0aW9uIGltbWVk
aWF0ZWx5IGZvbGxvd2luZyB0aGUgcHJvYmUuIAorCit2b2lkIE1hY3JvQXNzZW1ibGVyQVJNdjc6
OnByb2JlKE1hY3JvQXNzZW1ibGVyQVJNdjc6OlByb2JlRnVuY3Rpb24gZnVuY3Rpb24sIHZvaWQq
IGFyZzEsIHZvaWQqIGFyZzIpCit7CisgICAgcHVzaChSZWdpc3RlcklEOjpzcCk7CisgICAgcHVz
aChSZWdpc3RlcklEOjpscik7CisgICAgcHVzaChSZWdpc3RlcklEOjppcCk7CisgICAgcHVzaChS
ZWdpc3RlcklEOjpyMCk7CisgICAgLy8gVGhlIGZvbGxvd2luZyB1c2VzIFJlZ2lzdGVySUQ6Omlw
LiBTbywgdGhleSBtdXN0IGNvbWUgYWZ0ZXIgd2UgcHVzaAorICAgIC8vIGlwIGFib3ZlLgorICAg
IHB1c2godHJ1c3RlZEltbTMyRnJvbVB0cihhcmcyKSk7CisgICAgcHVzaCh0cnVzdGVkSW1tMzJG
cm9tUHRyKGFyZzEpKTsKKyAgICBwdXNoKHRydXN0ZWRJbW0zMkZyb21QdHIoZnVuY3Rpb24pKTsK
KworICAgIG1vdmUodHJ1c3RlZEltbTMyRnJvbVB0cihjdGlNYXNtUHJvYmVUcmFtcG9saW5lKSwg
UmVnaXN0ZXJJRDo6aXApOworICAgIG1fYXNzZW1ibGVyLmJseChSZWdpc3RlcklEOjppcCk7Cit9
CisjZW5kaWYgLy8gVVNFKE1BU01fUFJPQkUpCisKK30gLy8gbmFtZXNwYWNlIEpTQworCisjZW5k
aWYgLy8gRU5BQkxFKEFTU0VNQkxFUikKKwpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL2Fz
c2VtYmxlci9NYWNyb0Fzc2VtYmxlckFSTXY3LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFT
Y3JpcHRDb3JlL2Fzc2VtYmxlci9NYWNyb0Fzc2VtYmxlckFSTXY3LmgJKHJldmlzaW9uIDE1MDQ5
MykKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9hc3NlbWJsZXIvTWFjcm9Bc3NlbWJsZXJBUk12
Ny5oCSh3b3JraW5nIGNvcHkpCkBAIC0zNCw2ICszNCw4IEBACiAKIG5hbWVzcGFjZSBKU0Mgewog
CitzdHJ1Y3QgSklUU3RhY2tGcmFtZTsKKwogY2xhc3MgTWFjcm9Bc3NlbWJsZXJBUk12NyA6IHB1
YmxpYyBBYnN0cmFjdE1hY3JvQXNzZW1ibGVyPEFSTXY3QXNzZW1ibGVyPiB7CiAgICAgLy8gRklY
TUU6IHN3aXRjaCBkYXRhVGVtcFJlZ2lzdGVyICYgYWRkcmVzc1RlbXBSZWdpc3Rlciwgb3IgcG9z
c2libHkgdXNlIHI3PwogICAgIC8vICAgICAgICAtIGRUUiBpcyBsaWtlbHkgdXNlZCBtb3JlIHRo
YW4gYVRSLCBhbmQgd2UnbGwgZ2V0IGJldHRlciBpbnN0cnVjdGlvbgpAQCAtMTc4OSw2ICsxNzkx
LDQ4IEBAIHB1YmxpYzoKICAgICAgICAgVU5SRUFDSEFCTEVfRk9SX1BMQVRGT1JNKCk7CiAgICAg
fQogCisjaWYgVVNFKE1BU01fUFJPQkUpCisgICAgc3RydWN0IENQVVN0YXRlIHsKKyAgICAgICAg
I2RlZmluZSBERUNMQVJFX1JFR0lTVEVSKF90eXBlLCBfcmVnTmFtZSkgXAorICAgICAgICAgICAg
X3R5cGUgX3JlZ05hbWU7CisgICAgICAgIEZPUl9FQUNIX0NQVV9SRUdJU1RFUihERUNMQVJFX1JF
R0lTVEVSKQorICAgICAgICAjdW5kZWYgREVDTEFSRV9SRUdJU1RFUgorICAgIH07CisKKyAgICBz
dHJ1Y3QgUHJvYmVDb250ZXh0OworICAgIHR5cGVkZWYgdm9pZCAoKlByb2JlRnVuY3Rpb24pKHN0
cnVjdCBQcm9iZUNvbnRleHQqKTsKKworICAgIHN0cnVjdCBQcm9iZUNvbnRleHQgeworICAgICAg
ICBQcm9iZUZ1bmN0aW9uIHByb2JlRnVuY3Rpb247CisgICAgICAgIHZvaWQqIGFyZzE7CisgICAg
ICAgIHZvaWQqIGFyZzI7CisgICAgICAgIEpJVFN0YWNrRnJhbWUqIGppdFN0YWNrRnJhbWU7Cisg
ICAgICAgIENQVVN0YXRlIGNwdTsKKworICAgICAgICB2b2lkIGR1bXAoY29uc3QgY2hhciogaW5k
ZW50YXRpb24gPSAwKTsKKyAgICBwcml2YXRlOgorICAgICAgICB2b2lkIGR1bXBDUFVSZWdpc3Rl
cnMoY29uc3QgY2hhciogaW5kZW50YXRpb24pOworICAgIH07CisKKyAgICAvLyBUaGlzIGZ1bmN0
aW9uIGVtaXRzIGNvZGUgdG8gcHJlc2VydmUgdGhlIENQVVN0YXRlIChlLmcuIHJlZ2lzdGVycyks
CisgICAgLy8gY2FsbCBhIHVzZXIgc3VwcGxpZWQgcHJvYmUgZnVuY3Rpb24sIGFuZCByZXN0b3Jl
IHRoZSBDUFVTdGF0ZSBiZWZvcmUKKyAgICAvLyBjb250aW51aW5nIHdpdGggb3RoZXIgSklUIGdl
bmVyYXRlZCBjb2RlLgorICAgIC8vCisgICAgLy8gVGhlIHVzZXIgc3VwcGxpZWQgcHJvYmUgZnVu
Y3Rpb24gd2lsbCBiZSBjYWxsZWQgd2l0aCBhIHNpbmdsZSBwb2ludGVyIHRvCisgICAgLy8gYSBQ
cm9iZUNvbnRleHQgc3RydWN0IChkZWZpbmVkIGFib3ZlKSB3aGljaCBjb250YWlucywgYW1vbmcg
b3RoZXIgdGhpbmdzLAorICAgIC8vIHRoZSBwcmVzZXJ2ZWQgQ1BVU3RhdGUuIFRoaXMgYWxsb3dz
IHRoZSB1c2VyIHByb2JlIGZ1bmN0aW9uIHRvIGluc3BlY3QKKyAgICAvLyB0aGUgQ1BVU3RhdGUg
YXQgdGhhdCBwb2ludCBpbiB0aGUgSklUIGdlbmVyYXRlZCBjb2RlLgorICAgIC8vCisgICAgLy8g
SWYgdGhlIHVzZXIgcHJvYmUgZnVuY3Rpb24gYWx0ZXJzIHRoZSByZWdpc3RlciB2YWx1ZXMgaW4g
dGhlIFByb2JlQ29udGV4dCwKKyAgICAvLyB0aGUgYWx0ZXJlZCB2YWx1ZXMgd2lsbCBiZSBsb2Fk
ZWQgaW50byB0aGUgQ1BVIHJlZ2lzdGVycyB3aGVuIHRoZSBwcm9iZQorICAgIC8vIHJldHVybnMu
CisgICAgLy8KKyAgICAvLyBUaGUgUHJvYmVDb250ZXh0IGlzIHN0YWNrIGFsbG9jYXRlZCBhbmQg
aXMgb25seSB2YWxpZCBmb3IgdGhlIGR1cmF0aW9uCisgICAgLy8gb2YgdGhlIGNhbGwgdG8gdGhl
IHVzZXIgcHJvYmUgZnVuY3Rpb24uCisKKyAgICB2b2lkIHByb2JlKFByb2JlRnVuY3Rpb24sIHZv
aWQqIGFyZzEgPSAwLCB2b2lkKiBhcmcyID0gMCk7CisjZW5kaWYgLy8gVVNFKE1BU01fUFJPQkUp
CisKIHByb3RlY3RlZDoKICAgICBBTFdBWVNfSU5MSU5FIEp1bXAganVtcCgpCiAgICAgewpAQCAt
MTg5OSw2ICsxOTQzLDIzIEBAIHByaXZhdGU6CiAgICAgICAgIEFSTXY3QXNzZW1ibGVyOjpyZWxp
bmtDYWxsKGNhbGwuZGF0YUxvY2F0aW9uKCksIGRlc3RpbmF0aW9uLmV4ZWN1dGFibGVBZGRyZXNz
KCkpOwogICAgIH0KIAorI2lmIFVTRShNQVNNX1BST0JFKQorICAgIGlubGluZSBUcnVzdGVkSW1t
MzIgdHJ1c3RlZEltbTMyRnJvbVB0cih2b2lkKiBwdHIpCisgICAgeworICAgICAgICByZXR1cm4g
VHJ1c3RlZEltbTMyKFRydXN0ZWRJbW1QdHIocHRyKSk7CisgICAgfQorCisgICAgaW5saW5lIFRy
dXN0ZWRJbW0zMiB0cnVzdGVkSW1tMzJGcm9tUHRyKFByb2JlRnVuY3Rpb24gZnVuY3Rpb24pCisg
ICAgeworICAgICAgICByZXR1cm4gVHJ1c3RlZEltbTMyKFRydXN0ZWRJbW1QdHIocmVpbnRlcnBy
ZXRfY2FzdDx2b2lkKj4oZnVuY3Rpb24pKSk7CisgICAgfQorCisgICAgaW5saW5lIFRydXN0ZWRJ
bW0zMiB0cnVzdGVkSW1tMzJGcm9tUHRyKHZvaWQgKCpmdW5jdGlvbikoKSkKKyAgICB7CisgICAg
ICAgIHJldHVybiBUcnVzdGVkSW1tMzIoVHJ1c3RlZEltbVB0cihyZWludGVycHJldF9jYXN0PHZv
aWQqPihmdW5jdGlvbikpKTsKKyAgICB9CisjZW5kaWYKKwogICAgIGJvb2wgbV9tYWtlSnVtcFBh
dGNoYWJsZTsKIH07CiAKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9hc3NlbWJsZXIvTWFj
cm9Bc3NlbWJsZXJYODYuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYXNz
ZW1ibGVyL01hY3JvQXNzZW1ibGVyWDg2LmgJKHJldmlzaW9uIDE1MDQ5MykKKysrIFNvdXJjZS9K
YXZhU2NyaXB0Q29yZS9hc3NlbWJsZXIvTWFjcm9Bc3NlbWJsZXJYODYuaAkod29ya2luZyBjb3B5
KQpAQCAtMzc5LDI4ICszNzksMTQgQEAgZXh0ZXJuICJDIiB2b2lkIGN0aU1hc21Qcm9iZVRyYW1w
b2xpbmUoKQogCiBpbmxpbmUgdm9pZCBNYWNyb0Fzc2VtYmxlclg4Njo6cHJvYmUoTWFjcm9Bc3Nl
bWJsZXJYODY6OlByb2JlRnVuY3Rpb24gZnVuY3Rpb24sIHZvaWQqIGFyZzEsIHZvaWQqIGFyZzIp
CiB7Ci0gICAgUmVnaXN0ZXJJRCBlc3AgPSBSZWdpc3RlcklEOjplc3A7Ci0gICAgI2RlZmluZSBw
cm9iZUNvbnRleHRGaWVsZChmaWVsZCkgQWRkcmVzcyhlc3AsIG9mZnNldG9mKFByb2JlQ29udGV4
dCwgZmllbGQpKQotCi0gICAgLy8gVGhlIFg4Nl82NCBBQkkgc3BlY2lmaWVzIHRoYXQgdGhlIHdv
cnNlIGNhc2Ugc3RhY2sgYWxpZ25tZW50IHJlcXVpcmVtZW50Ci0gICAgLy8gaXMgMzIgYnl0ZXMu
Ci0gICAgY29uc3QgaW50IHByb2JlRnJhbWVTaXplID0gV1RGOjpyb3VuZFVwVG9NdWx0aXBsZU9m
KDMyLCBzaXplb2YoUHJvYmVDb250ZXh0KSk7Ci0gICAgc3ViMzIoVHJ1c3RlZEltbTMyKHByb2Jl
RnJhbWVTaXplKSwgZXNwKTsKLQotICAgIHN0b3JlMzIoUmVnaXN0ZXJJRDo6ZWF4LCBwcm9iZUNv
bnRleHRGaWVsZChjcHUuZWF4KSk7Ci0KLSAgICBtb3ZlKFRydXN0ZWRJbW0zMihwcm9iZUZyYW1l
U2l6ZSksIFJlZ2lzdGVySUQ6OmVheCk7Ci0gICAgYWRkMzIoZXNwLCBSZWdpc3RlcklEOjplYXgp
OwotICAgIHN0b3JlMzIoUmVnaXN0ZXJJRDo6ZWF4LCBwcm9iZUNvbnRleHRGaWVsZChjcHUuZXNw
KSk7Ci0KLSAgICBzdG9yZTMyKHRydXN0ZWRJbW0zMkZyb21QdHIoZnVuY3Rpb24pLCBwcm9iZUNv
bnRleHRGaWVsZChwcm9iZUZ1bmN0aW9uKSk7Ci0gICAgc3RvcmUzMih0cnVzdGVkSW1tMzJGcm9t
UHRyKGFyZzEpLCBwcm9iZUNvbnRleHRGaWVsZChhcmcxKSk7Ci0gICAgc3RvcmUzMih0cnVzdGVk
SW1tMzJGcm9tUHRyKGFyZzIpLCBwcm9iZUNvbnRleHRGaWVsZChhcmcyKSk7CisgICAgcHVzaChS
ZWdpc3RlcklEOjplc3ApOworICAgIHB1c2goUmVnaXN0ZXJJRDo6ZWF4KTsKKyAgICBwdXNoKHRy
dXN0ZWRJbW0zMkZyb21QdHIoYXJnMikpOworICAgIHB1c2godHJ1c3RlZEltbTMyRnJvbVB0cihh
cmcxKSk7CisgICAgcHVzaCh0cnVzdGVkSW1tMzJGcm9tUHRyKGZ1bmN0aW9uKSk7CiAKICAgICBt
b3ZlKHRydXN0ZWRJbW0zMkZyb21QdHIoY3RpTWFzbVByb2JlVHJhbXBvbGluZSksIFJlZ2lzdGVy
SUQ6OmVheCk7CiAgICAgY2FsbChSZWdpc3RlcklEOjplYXgpOwotCi0gICAgI3VuZGVmIHByb2Jl
Q29udGV4dEZpZWxkCiB9CiAjZW5kaWYgLy8gVVNFKE1BU01fUFJPQkUpCiAKSW5kZXg6IFNvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9hc3NlbWJsZXIvTWFjcm9Bc3NlbWJsZXJYODZDb21tb24uY3BwCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9hc3NlbWJsZXIvTWFjcm9Bc3NlbWJs
ZXJYODZDb21tb24uY3BwCShyZXZpc2lvbiAxNTA0OTMpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENv
cmUvYXNzZW1ibGVyL01hY3JvQXNzZW1ibGVyWDg2Q29tbW9uLmNwcAkod29ya2luZyBjb3B5KQpA
QCAtMjQsNiArMjQsOCBAQAogICovCiAKICNpbmNsdWRlICJjb25maWcuaCIKKworI2lmIEVOQUJM
RShBU1NFTUJMRVIpICYmIChDUFUoWDg2KSB8fCBDUFUoWDg2XzY0KSkKICNpbmNsdWRlICJNYWNy
b0Fzc2VtYmxlclg4NkNvbW1vbi5oIgogCiBuYW1lc3BhY2UgSlNDIHsKQEAgLTM1LDIxICszNywy
MiBAQCB2b2lkIE1hY3JvQXNzZW1ibGVyWDg2Q29tbW9uOjpQcm9iZUNvbnRlCiAjaWYgQ1BVKFg4
NikKICAgICAjZGVmaW5lIERVTVBfR1BSRUdJU1RFUihfdHlwZSwgX3JlZ05hbWUpIHsgXAogICAg
ICAgICBpbnQzMl90IHZhbHVlID0gcmVpbnRlcnByZXRfY2FzdDxpbnQzMl90PihjcHUuX3JlZ05h
bWUpOyBcCi0gICAgICAgIGRhdGFMb2dGKCIlcyAgICAlNHM6IDB4JTA4eCAgICVkXG4iLCBpbmRl
bnRhdGlvbiwgI19yZWdOYW1lLCB2YWx1ZSwgdmFsdWUpIDsgXAorICAgICAgICBkYXRhTG9nRigi
JXMgICAgJTZzOiAweCUwOHggICAlZFxuIiwgaW5kZW50YXRpb24sICNfcmVnTmFtZSwgdmFsdWUs
IHZhbHVlKSA7IFwKICAgICB9CiAjZWxpZiBDUFUoWDg2XzY0KQogICAgICNkZWZpbmUgRFVNUF9H
UFJFR0lTVEVSKF90eXBlLCBfcmVnTmFtZSkgeyBcCiAgICAgICAgIGludDY0X3QgdmFsdWUgPSBy
ZWludGVycHJldF9jYXN0PGludDY0X3Q+KGNwdS5fcmVnTmFtZSk7IFwKLSAgICAgICAgZGF0YUxv
Z0YoIiVzICAgICU0czogMHglMDE2bGx4ICAgJWxsZFxuIiwgaW5kZW50YXRpb24sICNfcmVnTmFt
ZSwgdmFsdWUsIHZhbHVlKSA7IFwKKyAgICAgICAgZGF0YUxvZ0YoIiVzICAgICU2czogMHglMDE2
bGx4ICAgJWxsZFxuIiwgaW5kZW50YXRpb24sICNfcmVnTmFtZSwgdmFsdWUsIHZhbHVlKSA7IFwK
ICAgICB9CiAjZW5kaWYKICAgICBGT1JfRUFDSF9DUFVfR1BSRUdJU1RFUihEVU1QX0dQUkVHSVNU
RVIpCisgICAgRk9SX0VBQ0hfQ1BVX1NQRUNJQUxfUkVHSVNURVIoRFVNUF9HUFJFR0lTVEVSKQog
ICAgICN1bmRlZiBEVU1QX0dQUkVHSVNURVIKIAogICAgICNkZWZpbmUgRFVNUF9GUFJFR0lTVEVS
KF90eXBlLCBfcmVnTmFtZSkgeyBcCiAgICAgICAgIHVpbnQzMl90KiB1ID0gcmVpbnRlcnByZXRf
Y2FzdDx1aW50MzJfdCo+KCZjcHUuX3JlZ05hbWUpOyBcCiAgICAgICAgIGRvdWJsZSogZCA9IHJl
aW50ZXJwcmV0X2Nhc3Q8ZG91YmxlKj4oJmNwdS5fcmVnTmFtZSk7IFwKLSAgICAgICAgZGF0YUxv
Z0YoIiVzICAgICVzOiAweCUwOHglMDh4IDB4JTA4eCUwOHggICAlMTJnICUxMmdcbiIsIFwKKyAg
ICAgICAgZGF0YUxvZ0YoIiVzICAgICU2czogMHglMDh4JTA4eCAweCUwOHglMDh4ICAgJTEyZyAl
MTJnXG4iLCBcCiAgICAgICAgICAgICBpbmRlbnRhdGlvbiwgI19yZWdOYW1lLCB1WzNdLCB1WzJd
LCB1WzFdLCB1WzBdLCBkWzFdLCBkWzBdKTsgXAogICAgIH0KICAgICBGT1JfRUFDSF9DUFVfRlBS
RUdJU1RFUihEVU1QX0ZQUkVHSVNURVIpCkBAIC03NywzICs4MCw1IEBAIHZvaWQgTWFjcm9Bc3Nl
bWJsZXJYODZDb21tb246OlByb2JlQ29udGUKICNlbmRpZiAvLyBVU0UoTUFTTV9QUk9CRSkKIAog
fSAvLyBuYW1lc3BhY2UgSlNDCisKKyNlbmRpZiAvLyBFTkFCTEUoQVNTRU1CTEVSKSAmJiAoQ1BV
KFg4NikgfHwgQ1BVKFg4Nl82NCkpCkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYXNzZW1i
bGVyL01hY3JvQXNzZW1ibGVyWDg2XzY0LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3Jp
cHRDb3JlL2Fzc2VtYmxlci9NYWNyb0Fzc2VtYmxlclg4Nl82NC5oCShyZXZpc2lvbiAxNTA0OTMp
CisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYXNzZW1ibGVyL01hY3JvQXNzZW1ibGVyWDg2XzY0
LmgJKHdvcmtpbmcgY29weSkKQEAgLTcwNywyOCArNzA3LDE2IEBAIGV4dGVybiAiQyIgdm9pZCBj
dGlNYXNtUHJvYmVUcmFtcG9saW5lKCkKIAogaW5saW5lIHZvaWQgTWFjcm9Bc3NlbWJsZXJYODZf
NjQ6OnByb2JlKE1hY3JvQXNzZW1ibGVyWDg2XzY0OjpQcm9iZUZ1bmN0aW9uIGZ1bmN0aW9uLCB2
b2lkKiBhcmcxLCB2b2lkKiBhcmcyKQogewotICAgIFJlZ2lzdGVySUQgZXNwID0gUmVnaXN0ZXJJ
RDo6ZXNwOwotICAgICNkZWZpbmUgcHJvYmVDb250ZXh0RmllbGQoZmllbGQpIEFkZHJlc3MoZXNw
LCBvZmZzZXRvZihQcm9iZUNvbnRleHQsIGZpZWxkKSkKLQotICAgIC8vIFRoZSBYODZfNjQgQUJJ
IHNwZWNpZmllcyB0aGF0IHRoZSB3b3JzZSBjYXNlIHN0YWNrIGFsaWdubWVudCByZXF1aXJlbWVu
dAotICAgIC8vIGlzIDMyIGJ5dGVzLgotICAgIGNvbnN0IGludCBwcm9iZUZyYW1lU2l6ZSA9IFdU
Rjo6cm91bmRVcFRvTXVsdGlwbGVPZigzMiwgc2l6ZW9mKFByb2JlQ29udGV4dCkpOwotICAgIHN1
YjY0KFRydXN0ZWRJbW0zMihwcm9iZUZyYW1lU2l6ZSksIGVzcCk7Ci0KLSAgICBzdG9yZTY0KFJl
Z2lzdGVySUQ6OmVheCwgcHJvYmVDb250ZXh0RmllbGQoY3B1LmVheCkpOwotCi0gICAgbW92ZShU
cnVzdGVkSW1tMzIocHJvYmVGcmFtZVNpemUpLCBSZWdpc3RlcklEOjplYXgpOwotICAgIGFkZDY0
KGVzcCwgUmVnaXN0ZXJJRDo6ZWF4KTsKLSAgICBzdG9yZTY0KFJlZ2lzdGVySUQ6OmVheCwgcHJv
YmVDb250ZXh0RmllbGQoY3B1LmVzcCkpOwotCi0gICAgc3RvcmU2NCh0cnVzdGVkSW1tNjRGcm9t
UHRyKGZ1bmN0aW9uKSwgcHJvYmVDb250ZXh0RmllbGQocHJvYmVGdW5jdGlvbikpOwotICAgIHN0
b3JlNjQodHJ1c3RlZEltbTY0RnJvbVB0cihhcmcxKSwgcHJvYmVDb250ZXh0RmllbGQoYXJnMSkp
OwotICAgIHN0b3JlNjQodHJ1c3RlZEltbTY0RnJvbVB0cihhcmcyKSwgcHJvYmVDb250ZXh0Rmll
bGQoYXJnMikpOwotCisgICAgcHVzaChSZWdpc3RlcklEOjplc3ApOworICAgIHB1c2goUmVnaXN0
ZXJJRDo6ZWF4KTsKKyAgICBtb3ZlKHRydXN0ZWRJbW02NEZyb21QdHIoYXJnMiksIFJlZ2lzdGVy
SUQ6OmVheCk7CisgICAgcHVzaChSZWdpc3RlcklEOjplYXgpOworICAgIG1vdmUodHJ1c3RlZElt
bTY0RnJvbVB0cihhcmcxKSwgUmVnaXN0ZXJJRDo6ZWF4KTsKKyAgICBwdXNoKFJlZ2lzdGVySUQ6
OmVheCk7CisgICAgbW92ZSh0cnVzdGVkSW1tNjRGcm9tUHRyKGZ1bmN0aW9uKSwgUmVnaXN0ZXJJ
RDo6ZWF4KTsKKyAgICBwdXNoKFJlZ2lzdGVySUQ6OmVheCk7CiAgICAgbW92ZSh0cnVzdGVkSW1t
NjRGcm9tUHRyKGN0aU1hc21Qcm9iZVRyYW1wb2xpbmUpLCBSZWdpc3RlcklEOjplYXgpOwogICAg
IGNhbGwoUmVnaXN0ZXJJRDo6ZWF4KTsKLQotICAgICN1bmRlZiBwcm9iZUNvbnRleHRGaWVsZAog
fQogI2VuZGlmIC8vIFVTRShNQVNNX1BST0JFKQogCkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENv
cmUvYXNzZW1ibGVyL1g4NkFzc2VtYmxlci5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9hc3NlbWJsZXIvWDg2QXNzZW1ibGVyLmgJKHJldmlzaW9uIDE1MDQ5MykKKysrIFNv
dXJjZS9KYXZhU2NyaXB0Q29yZS9hc3NlbWJsZXIvWDg2QXNzZW1ibGVyLmgJKHdvcmtpbmcgY29w
eSkKQEAgLTc5LDE5ICs3OSwyMyBAQCBuYW1lc3BhY2UgWDg2UmVnaXN0ZXJzIHsKICNpZiBVU0Uo
TUFTTV9QUk9CRSkKICAgICAjZGVmaW5lIEZPUl9FQUNIX0NQVV9SRUdJU1RFUihWKSBcCiAgICAg
ICAgIEZPUl9FQUNIX0NQVV9HUFJFR0lTVEVSKFYpIFwKKyAgICAgICAgRk9SX0VBQ0hfQ1BVX1NQ
RUNJQUxfUkVHSVNURVIoVikgXAogICAgICAgICBGT1JfRUFDSF9DUFVfRlBSRUdJU1RFUihWKQog
CiAgICAgI2RlZmluZSBGT1JfRUFDSF9DUFVfR1BSRUdJU1RFUihWKSBcCiAgICAgICAgIFYodm9p
ZCosIGVheCkgXAorICAgICAgICBWKHZvaWQqLCBlYngpIFwKICAgICAgICAgVih2b2lkKiwgZWN4
KSBcCiAgICAgICAgIFYodm9pZCosIGVkeCkgXAotICAgICAgICBWKHZvaWQqLCBlYngpIFwKLSAg
ICAgICAgVih2b2lkKiwgZXNwKSBcCi0gICAgICAgIFYodm9pZCosIGVicCkgXAogICAgICAgICBW
KHZvaWQqLCBlc2kpIFwKICAgICAgICAgVih2b2lkKiwgZWRpKSBcCi0gICAgICAgIEZPUl9FQUNI
X1g4Nl82NF9DUFVfR1BSRUdJU1RFUihWKSBcCi0gICAgICAgIFYodm9pZCosIGVpcCkKKyAgICAg
ICAgVih2b2lkKiwgZWJwKSBcCisgICAgICAgIFYodm9pZCosIGVzcCkgXAorICAgICAgICBGT1Jf
RUFDSF9YODZfNjRfQ1BVX0dQUkVHSVNURVIoVikKKworICAgICNkZWZpbmUgRk9SX0VBQ0hfQ1BV
X1NQRUNJQUxfUkVHSVNURVIoVikgXAorICAgICAgICBWKHZvaWQqLCBlaXApIFwKKyAgICAgICAg
Vih2b2lkKiwgZWZsYWdzKSBcCiAKICAgICAjZGVmaW5lIEZPUl9FQUNIX0NQVV9GUFJFR0lTVEVS
KFYpIFwKICAgICAgICAgVihfX20xMjgsIHhtbTApIFwKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0
Q29yZS9qaXQvSklUU3R1YnNBUk0uaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENv
cmUvaml0L0pJVFN0dWJzQVJNLmgJKHJldmlzaW9uIDE1MDQ5MykKKysrIFNvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9qaXQvSklUU3R1YnNBUk0uaAkod29ya2luZyBjb3B5KQpAQCAtNDYsOSArNDYsMTEz
IEBAIG5hbWVzcGFjZSBKU0MgewogI2RlZmluZSBUSFVOS19SRVRVUk5fQUREUkVTU19PRkZTRVQg
NjQKICNkZWZpbmUgUFJFU0VSVkVEUjRfT0ZGU0VUICAgICAgICAgIDY4CiAKLQogI2lmIENPTVBJ
TEVSKEdDQykKIAorI2lmIFVTRShNQVNNX1BST0JFKQorLy8gVGhlIGZvbGxvd2luZyBhcmUgb2Zm
c2V0cyBmb3IgTWFjcm9Bc3NlbWJsZXI6OlByb2JlQ29udGV4dCBmaWVsZHMgYWNjZXNzZWQKKy8v
IGJ5IHRoZSBjdGlNYXNtUHJvYmVUcmFtcG9saW5lIHN0dWIuCisKKyNkZWZpbmUgUFRSX1NJWkUg
NAorI2RlZmluZSBQUk9CRV9QUk9CRV9GVU5DVElPTl9PRkZTRVQgKDAgKiBQVFJfU0laRSkKKyNk
ZWZpbmUgUFJPQkVfQVJHMV9PRkZTRVQgKDEgKiBQVFJfU0laRSkKKyNkZWZpbmUgUFJPQkVfQVJH
Ml9PRkZTRVQgKDIgKiBQVFJfU0laRSkKKyNkZWZpbmUgUFJPQkVfSklUX1NUQUNLX0ZSQU1FX09G
RlNFVCAoMyAqIFBUUl9TSVpFKQorCisjZGVmaW5lIFBST0JFX0ZJUlNUX0dQUkVHX09GRlNFVCAo
NCAqIFBUUl9TSVpFKQorCisjZGVmaW5lIEdQUkVHX1NJWkUgNAorI2RlZmluZSBQUk9CRV9DUFVf
UjBfT0ZGU0VUIChQUk9CRV9GSVJTVF9HUFJFR19PRkZTRVQgKyAoMCAqIEdQUkVHX1NJWkUpKQor
I2RlZmluZSBQUk9CRV9DUFVfUjFfT0ZGU0VUIChQUk9CRV9GSVJTVF9HUFJFR19PRkZTRVQgKyAo
MSAqIEdQUkVHX1NJWkUpKQorI2RlZmluZSBQUk9CRV9DUFVfUjJfT0ZGU0VUIChQUk9CRV9GSVJT
VF9HUFJFR19PRkZTRVQgKyAoMiAqIEdQUkVHX1NJWkUpKQorI2RlZmluZSBQUk9CRV9DUFVfUjNf
T0ZGU0VUIChQUk9CRV9GSVJTVF9HUFJFR19PRkZTRVQgKyAoMyAqIEdQUkVHX1NJWkUpKQorI2Rl
ZmluZSBQUk9CRV9DUFVfUjRfT0ZGU0VUIChQUk9CRV9GSVJTVF9HUFJFR19PRkZTRVQgKyAoNCAq
IEdQUkVHX1NJWkUpKQorI2RlZmluZSBQUk9CRV9DUFVfUjVfT0ZGU0VUIChQUk9CRV9GSVJTVF9H
UFJFR19PRkZTRVQgKyAoNSAqIEdQUkVHX1NJWkUpKQorI2RlZmluZSBQUk9CRV9DUFVfUjZfT0ZG
U0VUIChQUk9CRV9GSVJTVF9HUFJFR19PRkZTRVQgKyAoNiAqIEdQUkVHX1NJWkUpKQorI2RlZmlu
ZSBQUk9CRV9DUFVfUjdfT0ZGU0VUIChQUk9CRV9GSVJTVF9HUFJFR19PRkZTRVQgKyAoNyAqIEdQ
UkVHX1NJWkUpKQorI2RlZmluZSBQUk9CRV9DUFVfUjhfT0ZGU0VUIChQUk9CRV9GSVJTVF9HUFJF
R19PRkZTRVQgKyAoOCAqIEdQUkVHX1NJWkUpKQorI2RlZmluZSBQUk9CRV9DUFVfUjlfT0ZGU0VU
IChQUk9CRV9GSVJTVF9HUFJFR19PRkZTRVQgKyAoOSAqIEdQUkVHX1NJWkUpKQorI2RlZmluZSBQ
Uk9CRV9DUFVfUjEwX09GRlNFVCAoUFJPQkVfRklSU1RfR1BSRUdfT0ZGU0VUICsgKDEwICogR1BS
RUdfU0laRSkpCisjZGVmaW5lIFBST0JFX0NQVV9SMTFfT0ZGU0VUIChQUk9CRV9GSVJTVF9HUFJF
R19PRkZTRVQgKyAoMTEgKiBHUFJFR19TSVpFKSkKKyNkZWZpbmUgUFJPQkVfQ1BVX0lQX09GRlNF
VCAoUFJPQkVfRklSU1RfR1BSRUdfT0ZGU0VUICsgKDEyICogR1BSRUdfU0laRSkpCisjZGVmaW5l
IFBST0JFX0NQVV9TUF9PRkZTRVQgKFBST0JFX0ZJUlNUX0dQUkVHX09GRlNFVCArICgxMyAqIEdQ
UkVHX1NJWkUpKQorI2RlZmluZSBQUk9CRV9DUFVfTFJfT0ZGU0VUIChQUk9CRV9GSVJTVF9HUFJF
R19PRkZTRVQgKyAoMTQgKiBHUFJFR19TSVpFKSkKKyNkZWZpbmUgUFJPQkVfQ1BVX1BDX09GRlNF
VCAoUFJPQkVfRklSU1RfR1BSRUdfT0ZGU0VUICsgKDE1ICogR1BSRUdfU0laRSkpCisKKyNkZWZp
bmUgUFJPQkVfQ1BVX0FQU1JfT0ZGU0VUIChQUk9CRV9GSVJTVF9HUFJFR19PRkZTRVQgKyAoMTYg
KiBHUFJFR19TSVpFKSkKKyNkZWZpbmUgUFJPQkVfQ1BVX0ZQU0NSX09GRlNFVCAoUFJPQkVfRklS
U1RfR1BSRUdfT0ZGU0VUICsgKDE3ICogR1BSRUdfU0laRSkpCisKKyNkZWZpbmUgUFJPQkVfRklS
U1RfRlBSRUdfT0ZGU0VUIChQUk9CRV9GSVJTVF9HUFJFR19PRkZTRVQgKyAoMTggKiBHUFJFR19T
SVpFKSkKKworI2RlZmluZSBGUFJFR19TSVpFIDgKKyNkZWZpbmUgUFJPQkVfQ1BVX0QwX09GRlNF
VCAoUFJPQkVfRklSU1RfRlBSRUdfT0ZGU0VUICsgKDAgKiBGUFJFR19TSVpFKSkKKyNkZWZpbmUg
UFJPQkVfQ1BVX0QxX09GRlNFVCAoUFJPQkVfRklSU1RfRlBSRUdfT0ZGU0VUICsgKDEgKiBGUFJF
R19TSVpFKSkKKyNkZWZpbmUgUFJPQkVfQ1BVX0QyX09GRlNFVCAoUFJPQkVfRklSU1RfRlBSRUdf
T0ZGU0VUICsgKDIgKiBGUFJFR19TSVpFKSkKKyNkZWZpbmUgUFJPQkVfQ1BVX0QzX09GRlNFVCAo
UFJPQkVfRklSU1RfRlBSRUdfT0ZGU0VUICsgKDMgKiBGUFJFR19TSVpFKSkKKyNkZWZpbmUgUFJP
QkVfQ1BVX0Q0X09GRlNFVCAoUFJPQkVfRklSU1RfRlBSRUdfT0ZGU0VUICsgKDQgKiBGUFJFR19T
SVpFKSkKKyNkZWZpbmUgUFJPQkVfQ1BVX0Q1X09GRlNFVCAoUFJPQkVfRklSU1RfRlBSRUdfT0ZG
U0VUICsgKDUgKiBGUFJFR19TSVpFKSkKKyNkZWZpbmUgUFJPQkVfQ1BVX0Q2X09GRlNFVCAoUFJP
QkVfRklSU1RfRlBSRUdfT0ZGU0VUICsgKDYgKiBGUFJFR19TSVpFKSkKKyNkZWZpbmUgUFJPQkVf
Q1BVX0Q3X09GRlNFVCAoUFJPQkVfRklSU1RfRlBSRUdfT0ZGU0VUICsgKDcgKiBGUFJFR19TSVpF
KSkKKyNkZWZpbmUgUFJPQkVfQ1BVX0Q4X09GRlNFVCAoUFJPQkVfRklSU1RfRlBSRUdfT0ZGU0VU
ICsgKDggKiBGUFJFR19TSVpFKSkKKyNkZWZpbmUgUFJPQkVfQ1BVX0Q5X09GRlNFVCAoUFJPQkVf
RklSU1RfRlBSRUdfT0ZGU0VUICsgKDkgKiBGUFJFR19TSVpFKSkKKyNkZWZpbmUgUFJPQkVfQ1BV
X0QxMF9PRkZTRVQgKFBST0JFX0ZJUlNUX0ZQUkVHX09GRlNFVCArICgxMCAqIEZQUkVHX1NJWkUp
KQorI2RlZmluZSBQUk9CRV9DUFVfRDExX09GRlNFVCAoUFJPQkVfRklSU1RfRlBSRUdfT0ZGU0VU
ICsgKDExICogRlBSRUdfU0laRSkpCisjZGVmaW5lIFBST0JFX0NQVV9EMTJfT0ZGU0VUIChQUk9C
RV9GSVJTVF9GUFJFR19PRkZTRVQgKyAoMTIgKiBGUFJFR19TSVpFKSkKKyNkZWZpbmUgUFJPQkVf
Q1BVX0QxM19PRkZTRVQgKFBST0JFX0ZJUlNUX0ZQUkVHX09GRlNFVCArICgxMyAqIEZQUkVHX1NJ
WkUpKQorI2RlZmluZSBQUk9CRV9DUFVfRDE0X09GRlNFVCAoUFJPQkVfRklSU1RfRlBSRUdfT0ZG
U0VUICsgKDE0ICogRlBSRUdfU0laRSkpCisjZGVmaW5lIFBST0JFX0NQVV9EMTVfT0ZGU0VUIChQ
Uk9CRV9GSVJTVF9GUFJFR19PRkZTRVQgKyAoMTUgKiBGUFJFR19TSVpFKSkKKworI2RlZmluZSBQ
Uk9CRV9TSVpFIChQUk9CRV9GSVJTVF9GUFJFR19PRkZTRVQgKyAoMTYgKiBGUFJFR19TSVpFKSkK
KworLy8gVGhlc2UgQVNTRVJUcyByZW1pbmQgeW91IHRoYXQgaWYgeW91IGNoYW5nZSB0aGUgbGF5
b3V0IG9mIFByb2JlQ29udGV4dCwKKy8vIHlvdSBuZWVkIHRvIGNoYW5nZSBjdGlNYXNtUHJvYmVU
cmFtcG9saW5lIG9mZnNldHMgYWJvdmUgdG8gbWF0Y2guCisjZGVmaW5lIFBST0JFX09GRlNFVE9G
KHgpIG9mZnNldG9mKHN0cnVjdCBNYWNyb0Fzc2VtYmxlcjo6UHJvYmVDb250ZXh0LCB4KQorQ09N
UElMRV9BU1NFUlQoUFJPQkVfT0ZGU0VUT0YocHJvYmVGdW5jdGlvbikgPT0gUFJPQkVfUFJPQkVf
RlVOQ1RJT05fT0ZGU0VULCBQcm9iZUNvbnRleHRfcHJvYmVGdW5jdGlvbl9vZmZzZXRfbWF0Y2hl
c19jdGlNYXNtUHJvYmVUcmFtcG9saW5lKTsKK0NPTVBJTEVfQVNTRVJUKFBST0JFX09GRlNFVE9G
KGFyZzEpID09IFBST0JFX0FSRzFfT0ZGU0VULCBQcm9iZUNvbnRleHRfYXJnMV9vZmZzZXRfbWF0
Y2hlc19jdGlNYXNtUHJvYmVUcmFtcG9saW5lKTsKK0NPTVBJTEVfQVNTRVJUKFBST0JFX09GRlNF
VE9GKGFyZzIpID09IFBST0JFX0FSRzJfT0ZGU0VULCBQcm9iZUNvbnRleHRfYXJnMl9vZmZzZXRf
bWF0Y2hlc19jdGlNYXNtUHJvYmVUcmFtcG9saW5lKTsKK0NPTVBJTEVfQVNTRVJUKFBST0JFX09G
RlNFVE9GKGppdFN0YWNrRnJhbWUpID09IFBST0JFX0pJVF9TVEFDS19GUkFNRV9PRkZTRVQsIFBy
b2JlQ29udGV4dF9qaXRTdGFja0ZyYW1lX29mZnNldF9tYXRjaGVzX2N0aU1hc21Qcm9iZVRyYW1w
b2xpbmUpOworCitDT01QSUxFX0FTU0VSVChQUk9CRV9PRkZTRVRPRihjcHUucjApID09IFBST0JF
X0NQVV9SMF9PRkZTRVQsIFByb2JlQ29udGV4dF9jcHVfcjBfb2Zmc2V0X21hdGNoZXNfY3RpTWFz
bVByb2JlVHJhbXBvbGluZSk7CitDT01QSUxFX0FTU0VSVChQUk9CRV9PRkZTRVRPRihjcHUucjEp
ID09IFBST0JFX0NQVV9SMV9PRkZTRVQsIFByb2JlQ29udGV4dF9jcHVfcjFfb2Zmc2V0X21hdGNo
ZXNfY3RpTWFzbVByb2JlVHJhbXBvbGluZSk7CitDT01QSUxFX0FTU0VSVChQUk9CRV9PRkZTRVRP
RihjcHUucjIpID09IFBST0JFX0NQVV9SMl9PRkZTRVQsIFByb2JlQ29udGV4dF9jcHVfcjJfb2Zm
c2V0X21hdGNoZXNfY3RpTWFzbVByb2JlVHJhbXBvbGluZSk7CitDT01QSUxFX0FTU0VSVChQUk9C
RV9PRkZTRVRPRihjcHUucjMpID09IFBST0JFX0NQVV9SM19PRkZTRVQsIFByb2JlQ29udGV4dF9j
cHVfcjNfb2Zmc2V0X21hdGNoZXNfY3RpTWFzbVByb2JlVHJhbXBvbGluZSk7CitDT01QSUxFX0FT
U0VSVChQUk9CRV9PRkZTRVRPRihjcHUucjQpID09IFBST0JFX0NQVV9SNF9PRkZTRVQsIFByb2Jl
Q29udGV4dF9jcHVfcjRfb2Zmc2V0X21hdGNoZXNfY3RpTWFzbVByb2JlVHJhbXBvbGluZSk7CitD
T01QSUxFX0FTU0VSVChQUk9CRV9PRkZTRVRPRihjcHUucjUpID09IFBST0JFX0NQVV9SNV9PRkZT
RVQsIFByb2JlQ29udGV4dF9jcHVfcjVfb2Zmc2V0X21hdGNoZXNfY3RpTWFzbVByb2JlVHJhbXBv
bGluZSk7CitDT01QSUxFX0FTU0VSVChQUk9CRV9PRkZTRVRPRihjcHUucjYpID09IFBST0JFX0NQ
VV9SNl9PRkZTRVQsIFByb2JlQ29udGV4dF9jcHVfcjZfb2Zmc2V0X21hdGNoZXNfY3RpTWFzbVBy
b2JlVHJhbXBvbGluZSk7CitDT01QSUxFX0FTU0VSVChQUk9CRV9PRkZTRVRPRihjcHUucjcpID09
IFBST0JFX0NQVV9SN19PRkZTRVQsIFByb2JlQ29udGV4dF9jcHVfcjcwX29mZnNldF9tYXRjaGVz
X2N0aU1hc21Qcm9iZVRyYW1wb2xpbmUpOworQ09NUElMRV9BU1NFUlQoUFJPQkVfT0ZGU0VUT0Yo
Y3B1LnI4KSA9PSBQUk9CRV9DUFVfUjhfT0ZGU0VULCBQcm9iZUNvbnRleHRfY3B1X3I4X29mZnNl
dF9tYXRjaGVzX2N0aU1hc21Qcm9iZVRyYW1wb2xpbmUpOworQ09NUElMRV9BU1NFUlQoUFJPQkVf
T0ZGU0VUT0YoY3B1LnI5KSA9PSBQUk9CRV9DUFVfUjlfT0ZGU0VULCBQcm9iZUNvbnRleHRfY3B1
X3I5X29mZnNldF9tYXRjaGVzX2N0aU1hc21Qcm9iZVRyYW1wb2xpbmUpOworQ09NUElMRV9BU1NF
UlQoUFJPQkVfT0ZGU0VUT0YoY3B1LnIxMCkgPT0gUFJPQkVfQ1BVX1IxMF9PRkZTRVQsIFByb2Jl
Q29udGV4dF9jcHVfcjEwX29mZnNldF9tYXRjaGVzX2N0aU1hc21Qcm9iZVRyYW1wb2xpbmUpOwor
Q09NUElMRV9BU1NFUlQoUFJPQkVfT0ZGU0VUT0YoY3B1LnIxMSkgPT0gUFJPQkVfQ1BVX1IxMV9P
RkZTRVQsIFByb2JlQ29udGV4dF9jcHVfcjExX29mZnNldF9tYXRjaGVzX2N0aU1hc21Qcm9iZVRy
YW1wb2xpbmUpOworQ09NUElMRV9BU1NFUlQoUFJPQkVfT0ZGU0VUT0YoY3B1LmlwKSA9PSBQUk9C
RV9DUFVfSVBfT0ZGU0VULCBQcm9iZUNvbnRleHRfY3B1X2lwX29mZnNldF9tYXRjaGVzX2N0aU1h
c21Qcm9iZVRyYW1wb2xpbmUpOworQ09NUElMRV9BU1NFUlQoUFJPQkVfT0ZGU0VUT0YoY3B1LnNw
KSA9PSBQUk9CRV9DUFVfU1BfT0ZGU0VULCBQcm9iZUNvbnRleHRfY3B1X3NwX29mZnNldF9tYXRj
aGVzX2N0aU1hc21Qcm9iZVRyYW1wb2xpbmUpOworQ09NUElMRV9BU1NFUlQoUFJPQkVfT0ZGU0VU
T0YoY3B1LmxyKSA9PSBQUk9CRV9DUFVfTFJfT0ZGU0VULCBQcm9iZUNvbnRleHRfY3B1X2xyX29m
ZnNldF9tYXRjaGVzX2N0aU1hc21Qcm9iZVRyYW1wb2xpbmUpOworQ09NUElMRV9BU1NFUlQoUFJP
QkVfT0ZGU0VUT0YoY3B1LnBjKSA9PSBQUk9CRV9DUFVfUENfT0ZGU0VULCBQcm9iZUNvbnRleHRf
Y3B1X3BjX29mZnNldF9tYXRjaGVzX2N0aU1hc21Qcm9iZVRyYW1wb2xpbmUpOworCitDT01QSUxF
X0FTU0VSVChQUk9CRV9PRkZTRVRPRihjcHUuYXBzcikgPT0gUFJPQkVfQ1BVX0FQU1JfT0ZGU0VU
LCBQcm9iZUNvbnRleHRfY3B1X2Fwc3Jfb2Zmc2V0X21hdGNoZXNfY3RpTWFzbVByb2JlVHJhbXBv
bGluZSk7CitDT01QSUxFX0FTU0VSVChQUk9CRV9PRkZTRVRPRihjcHUuZnBzY3IpID09IFBST0JF
X0NQVV9GUFNDUl9PRkZTRVQsIFByb2JlQ29udGV4dF9jcHVfZnBzY3Jfb2Zmc2V0X21hdGNoZXNf
Y3RpTWFzbVByb2JlVHJhbXBvbGluZSk7CisKK0NPTVBJTEVfQVNTRVJUKFBST0JFX09GRlNFVE9G
KGNwdS5kMCkgPT0gUFJPQkVfQ1BVX0QwX09GRlNFVCwgUHJvYmVDb250ZXh0X2NwdV9kMF9vZmZz
ZXRfbWF0Y2hlc19jdGlNYXNtUHJvYmVUcmFtcG9saW5lKTsKK0NPTVBJTEVfQVNTRVJUKFBST0JF
X09GRlNFVE9GKGNwdS5kMSkgPT0gUFJPQkVfQ1BVX0QxX09GRlNFVCwgUHJvYmVDb250ZXh0X2Nw
dV9kMV9vZmZzZXRfbWF0Y2hlc19jdGlNYXNtUHJvYmVUcmFtcG9saW5lKTsKK0NPTVBJTEVfQVNT
RVJUKFBST0JFX09GRlNFVE9GKGNwdS5kMikgPT0gUFJPQkVfQ1BVX0QyX09GRlNFVCwgUHJvYmVD
b250ZXh0X2NwdV9kMl9vZmZzZXRfbWF0Y2hlc19jdGlNYXNtUHJvYmVUcmFtcG9saW5lKTsKK0NP
TVBJTEVfQVNTRVJUKFBST0JFX09GRlNFVE9GKGNwdS5kMykgPT0gUFJPQkVfQ1BVX0QzX09GRlNF
VCwgUHJvYmVDb250ZXh0X2NwdV9kM19vZmZzZXRfbWF0Y2hlc19jdGlNYXNtUHJvYmVUcmFtcG9s
aW5lKTsKK0NPTVBJTEVfQVNTRVJUKFBST0JFX09GRlNFVE9GKGNwdS5kNCkgPT0gUFJPQkVfQ1BV
X0Q0X09GRlNFVCwgUHJvYmVDb250ZXh0X2NwdV9kNF9vZmZzZXRfbWF0Y2hlc19jdGlNYXNtUHJv
YmVUcmFtcG9saW5lKTsKK0NPTVBJTEVfQVNTRVJUKFBST0JFX09GRlNFVE9GKGNwdS5kNSkgPT0g
UFJPQkVfQ1BVX0Q1X09GRlNFVCwgUHJvYmVDb250ZXh0X2NwdV9kNV9vZmZzZXRfbWF0Y2hlc19j
dGlNYXNtUHJvYmVUcmFtcG9saW5lKTsKK0NPTVBJTEVfQVNTRVJUKFBST0JFX09GRlNFVE9GKGNw
dS5kNikgPT0gUFJPQkVfQ1BVX0Q2X09GRlNFVCwgUHJvYmVDb250ZXh0X2NwdV9kNl9vZmZzZXRf
bWF0Y2hlc19jdGlNYXNtUHJvYmVUcmFtcG9saW5lKTsKK0NPTVBJTEVfQVNTRVJUKFBST0JFX09G
RlNFVE9GKGNwdS5kNykgPT0gUFJPQkVfQ1BVX0Q3X09GRlNFVCwgUHJvYmVDb250ZXh0X2NwdV9k
N19vZmZzZXRfbWF0Y2hlc19jdGlNYXNtUHJvYmVUcmFtcG9saW5lKTsKK0NPTVBJTEVfQVNTRVJU
KFBST0JFX09GRlNFVE9GKGNwdS5kOCkgPT0gUFJPQkVfQ1BVX0Q4X09GRlNFVCwgUHJvYmVDb250
ZXh0X2NwdV9kOF9vZmZzZXRfbWF0Y2hlc19jdGlNYXNtUHJvYmVUcmFtcG9saW5lKTsKK0NPTVBJ
TEVfQVNTRVJUKFBST0JFX09GRlNFVE9GKGNwdS5kOSkgPT0gUFJPQkVfQ1BVX0Q5X09GRlNFVCwg
UHJvYmVDb250ZXh0X2NwdV9kOV9vZmZzZXRfbWF0Y2hlc19jdGlNYXNtUHJvYmVUcmFtcG9saW5l
KTsKK0NPTVBJTEVfQVNTRVJUKFBST0JFX09GRlNFVE9GKGNwdS5kMTApID09IFBST0JFX0NQVV9E
MTBfT0ZGU0VULCBQcm9iZUNvbnRleHRfY3B1X2QxMF9vZmZzZXRfbWF0Y2hlc19jdGlNYXNtUHJv
YmVUcmFtcG9saW5lKTsKK0NPTVBJTEVfQVNTRVJUKFBST0JFX09GRlNFVE9GKGNwdS5kMTEpID09
IFBST0JFX0NQVV9EMTFfT0ZGU0VULCBQcm9iZUNvbnRleHRfY3B1X2QxMV9vZmZzZXRfbWF0Y2hl
c19jdGlNYXNtUHJvYmVUcmFtcG9saW5lKTsKK0NPTVBJTEVfQVNTRVJUKFBST0JFX09GRlNFVE9G
KGNwdS5kMTIpID09IFBST0JFX0NQVV9EMTJfT0ZGU0VULCBQcm9iZUNvbnRleHRfY3B1X2QxMl9v
ZmZzZXRfbWF0Y2hlc19jdGlNYXNtUHJvYmVUcmFtcG9saW5lKTsKK0NPTVBJTEVfQVNTRVJUKFBS
T0JFX09GRlNFVE9GKGNwdS5kMTMpID09IFBST0JFX0NQVV9EMTNfT0ZGU0VULCBQcm9iZUNvbnRl
eHRfY3B1X2QxM19vZmZzZXRfbWF0Y2hlc19jdGlNYXNtUHJvYmVUcmFtcG9saW5lKTsKK0NPTVBJ
TEVfQVNTRVJUKFBST0JFX09GRlNFVE9GKGNwdS5kMTQpID09IFBST0JFX0NQVV9EMTRfT0ZGU0VU
LCBQcm9iZUNvbnRleHRfY3B1X2QxNF9vZmZzZXRfbWF0Y2hlc19jdGlNYXNtUHJvYmVUcmFtcG9s
aW5lKTsKK0NPTVBJTEVfQVNTRVJUKFBST0JFX09GRlNFVE9GKGNwdS5kMTUpID09IFBST0JFX0NQ
VV9EMTVfT0ZGU0VULCBQcm9iZUNvbnRleHRfY3B1X2QxNV9vZmZzZXRfbWF0Y2hlc19jdGlNYXNt
UHJvYmVUcmFtcG9saW5lKTsKK0NPTVBJTEVfQVNTRVJUKHNpemVvZihNYWNyb0Fzc2VtYmxlcjo6
UHJvYmVDb250ZXh0KSA9PSBQUk9CRV9TSVpFLCBQcm9iZUNvbnRleHRfc2l6ZV9tYXRjaGVzX2N0
aU1hc21Qcm9iZVRyYW1wb2xpbmUpOworI3VuZGVmIFBST0JFX09GRlNFVE9GCisKKyNlbmRpZiAv
LyBVU0UoTUFTTV9QUk9CRSkKKworCiBhc20gKAogIi50ZXh0IiAiXG4iCiAiLmdsb2JsICIgU1lN
Qk9MX1NUUklORyhjdGlUcmFtcG9saW5lKSAiXG4iCkBAIC05Miw2ICsxOTYsMTU1IEBAIFNZTUJP
TF9TVFJJTkcoY3RpT3BUaHJvd05vdENhdWdodCkgIjoiICIKICAgICAiYnggbHIiICJcbiIKICk7
CiAKKyNpZiBVU0UoTUFTTV9QUk9CRSkKK2FzbSAoCisiLnRleHQiICJcbiIKKyIuZ2xvYmwgIiBT
WU1CT0xfU1RSSU5HKGN0aU1hc21Qcm9iZVRyYW1wb2xpbmUpICJcbiIKK0hJREVfU1lNQk9MKGN0
aU1hc21Qcm9iZVRyYW1wb2xpbmUpICJcbiIKK0lOTElORV9BUk1fRlVOQ1RJT04oY3RpTWFzbVBy
b2JlVHJhbXBvbGluZSkgIlxuIgorU1lNQk9MX1NUUklORyhjdGlNYXNtUHJvYmVUcmFtcG9saW5l
KSAiOiIgIlxuIgorCisgICAgLy8gTWFjcm9Bc3NlbWJsZXI6OnByb2JlKCkgaGFzIGFscmVhZHkg
Z2VuZXJhdGVkIGNvZGUgdG8gc3RvcmUgc29tZSB2YWx1ZXMuCisgICAgLy8gVGhlIHRvcCBvZiBz
dGFjayBub3cgbG9va3MgbGlrZSB0aGlzOgorICAgIC8vICAgICBlc3BbMCAqIHB0clNpemVdOiBw
cm9iZUZ1bmN0aW9uCisgICAgLy8gICAgIGVzcFsxICogcHRyU2l6ZV06IGFyZzEKKyAgICAvLyAg
ICAgZXNwWzIgKiBwdHJTaXplXTogYXJnMgorICAgIC8vICAgICBlc3BbMyAqIHB0clNpemVdOiBz
YXZlZCByMyAvIFMwCisgICAgLy8gICAgIGVzcFs0ICogcHRyU2l6ZV06IHNhdmVkIGlwCisgICAg
Ly8gICAgIGVzcFs1ICogcHRyU2l6ZV06IHNhdmVkIGxyCisgICAgLy8gICAgIGVzcFs2ICogcHRy
U2l6ZV06IHNhdmVkIHNwCisKKyAgICAibW92ICAgICAgIGlwLCBzcCIgIlxuIgorICAgICJtb3Yg
ICAgICAgcjMsIHNwIiAiXG4iCisgICAgInN1YiAgICAgICByMywgcjMsICMiIFNUUklOR0laRV9W
QUxVRV9PRihQUk9CRV9TSVpFKSAiXG4iCisKKyAgICAvLyBUaGUgQVJNIEVBQkkgc3BlY2lmaWVz
IHRoYXQgdGhlIHN0YWNrIG5lZWRzIHRvIGJlIDE2IGJ5dGUgYWxpZ25lZC4KKyAgICAiYmljICAg
ICAgIHIzLCByMywgIzB4ZiIgIlxuIgorICAgICJtb3YgICAgICAgc3AsIHIzIiAiXG4iCisKKyAg
ICAic3RyICAgICAgIGxyLCBbc3AsICMiIFNUUklOR0laRV9WQUxVRV9PRihQUk9CRV9DUFVfUENf
T0ZGU0VUKSAiXSIgIlxuIgorICAgICJhZGQgICAgICAgbHIsIHNwLCAjIiBTVFJJTkdJWkVfVkFM
VUVfT0YoUFJPQkVfQ1BVX1IwX09GRlNFVCkgIlxuIgorICAgICJzdG1pYSAgICAgbHIsIHsgcjAt
cjExIH0iICJcbiIKKyAgICAibXJzICAgICAgIGxyLCBBUFNSIiAiXG4iCisgICAgInN0ciAgICAg
ICBsciwgW3NwLCAjIiBTVFJJTkdJWkVfVkFMVUVfT0YoUFJPQkVfQ1BVX0FQU1JfT0ZGU0VUKSAi
XSIgIlxuIgorICAgICJ2bXJzICAgICAgbHIsIEZQU0NSIiAiXG4iCisgICAgInN0ciAgICAgICBs
ciwgW3NwLCAjIiBTVFJJTkdJWkVfVkFMVUVfT0YoUFJPQkVfQ1BVX0ZQU0NSX09GRlNFVCkgIl0i
ICJcbiIKKworICAgICJsZHIgICAgICAgbHIsIFtpcCwgIzAgKiAiIFNUUklOR0laRV9WQUxVRV9P
RihQVFJfU0laRSkgIl0iICJcbiIKKyAgICAic3RyICAgICAgIGxyLCBbc3AsICMiIFNUUklOR0la
RV9WQUxVRV9PRihQUk9CRV9QUk9CRV9GVU5DVElPTl9PRkZTRVQpICJdIiAiXG4iCisgICAgImxk
ciAgICAgICBsciwgW2lwLCAjMSAqICIgU1RSSU5HSVpFX1ZBTFVFX09GKFBUUl9TSVpFKSAiXSIg
IlxuIgorICAgICJzdHIgICAgICAgbHIsIFtzcCwgIyIgU1RSSU5HSVpFX1ZBTFVFX09GKFBST0JF
X0FSRzFfT0ZGU0VUKSAiXSIgIlxuIgorICAgICJsZHIgICAgICAgbHIsIFtpcCwgIzIgKiAiIFNU
UklOR0laRV9WQUxVRV9PRihQVFJfU0laRSkgIl0iICJcbiIKKyAgICAic3RyICAgICAgIGxyLCBb
c3AsICMiIFNUUklOR0laRV9WQUxVRV9PRihQUk9CRV9BUkcyX09GRlNFVCkgIl0iICJcbiIKKyAg
ICAibGRyICAgICAgIGxyLCBbaXAsICMzICogIiBTVFJJTkdJWkVfVkFMVUVfT0YoUFRSX1NJWkUp
ICJdIiAiXG4iCisgICAgInN0ciAgICAgICBsciwgW3NwLCAjIiBTVFJJTkdJWkVfVkFMVUVfT0Yo
UFJPQkVfQ1BVX1IzX09GRlNFVCkgIl0iICJcbiIKKyAgICAibGRyICAgICAgIGxyLCBbaXAsICM0
ICogIiBTVFJJTkdJWkVfVkFMVUVfT0YoUFRSX1NJWkUpICJdIiAiXG4iCisgICAgInN0ciAgICAg
ICBsciwgW3NwLCAjIiBTVFJJTkdJWkVfVkFMVUVfT0YoUFJPQkVfQ1BVX0lQX09GRlNFVCkgIl0i
ICJcbiIKKyAgICAibGRyICAgICAgIGxyLCBbaXAsICM1ICogIiBTVFJJTkdJWkVfVkFMVUVfT0Yo
UFRSX1NJWkUpICJdIiAiXG4iCisgICAgInN0ciAgICAgICBsciwgW3NwLCAjIiBTVFJJTkdJWkVf
VkFMVUVfT0YoUFJPQkVfQ1BVX0xSX09GRlNFVCkgIl0iICJcbiIKKyAgICAibGRyICAgICAgIGxy
LCBbaXAsICM2ICogIiBTVFJJTkdJWkVfVkFMVUVfT0YoUFRSX1NJWkUpICJdIiAiXG4iCisgICAg
InN0ciAgICAgICBsciwgW3NwLCAjIiBTVFJJTkdJWkVfVkFMVUVfT0YoUFJPQkVfQ1BVX1NQX09G
RlNFVCkgIl0iICJcbiIKKyAgICAic3RyICAgICAgIGxyLCBbc3AsICMiIFNUUklOR0laRV9WQUxV
RV9PRihQUk9CRV9KSVRfU1RBQ0tfRlJBTUVfT0ZGU0VUKSAiXSIgIlxuIgorCisgICAgImxkciAg
ICAgICBsciwgW3NwLCAjIiBTVFJJTkdJWkVfVkFMVUVfT0YoUFJPQkVfQ1BVX1BDX09GRlNFVCkg
Il0iICJcbiIKKworICAgICJhZGQgICAgICAgaXAsIHNwLCAjIiBTVFJJTkdJWkVfVkFMVUVfT0Yo
UFJPQkVfQ1BVX0QwX09GRlNFVCkgIlxuIgorICAgICJ2c3RtaWEuNjQgaXAsIHsgZDAtZDE1IH0i
ICJcbiIKKworICAgICJtb3YgICAgICAgZnAsIHNwIiAiXG4iIC8vIFNhdmUgdGhlIFByb2JlQ29u
dGV4dCouCisKKyAgICAibGRyICAgICAgIGlwLCBbc3AsICMiIFNUUklOR0laRV9WQUxVRV9PRihQ
Uk9CRV9QUk9CRV9GVU5DVElPTl9PRkZTRVQpICJdIiAiXG4iCisgICAgIm1vdiAgICAgICByMCwg
c3AiICJcbiIgLy8gdGhlIFByb2JlQ29udGV4dCogYXJnLgorICAgICJibHggICAgICAgaXAiICJc
biIKKworICAgICJtb3YgICAgICAgc3AsIGZwIiAiXG4iCisKKyAgICAvLyBUbyBlbmFibGUgcHJv
YmVzIHRvIG1vZGlmeSByZWdpc3RlciBzdGF0ZSwgd2UgY29weSBhbGwgcmVnaXN0ZXJzCisgICAg
Ly8gb3V0IG9mIHRoZSBQcm9iZUNvbnRleHQgYmVmb3JlIHJldHVybmluZy4KKworICAgICJhZGQg
ICAgICAgaXAsIHNwLCAjIiBTVFJJTkdJWkVfVkFMVUVfT0YoUFJPQkVfQ1BVX0QxNV9PRkZTRVQg
KyBGUFJFR19TSVpFKSAiXG4iCisgICAgInZsZG1kYi42NCBpcCEsIHsgZDAtZDE1IH0iICJcbiIK
KyAgICAiYWRkICAgICAgIGlwLCBzcCwgIyIgU1RSSU5HSVpFX1ZBTFVFX09GKFBST0JFX0NQVV9S
MTFfT0ZGU0VUICsgR1BSRUdfU0laRSkgIlxuIgorICAgICJsZG1kYiAgICAgaXAsIHsgcjAtcjEx
IH0iICJcbiIKKyAgICAibGRyICAgICAgIGlwLCBbc3AsICMiIFNUUklOR0laRV9WQUxVRV9PRihQ
Uk9CRV9DUFVfRlBTQ1JfT0ZGU0VUKSAiXSIgIlxuIgorICAgICJ2bXNyICAgICAgRlBTQ1IsIGlw
IiAiXG4iCisKKyAgICAvLyBUaGVyZSBhcmUgNSBtb3JlIHJlZ2lzdGVycyBsZWZ0IHRvIHJlc3Rv
cmU6IGlwLCBzcCwgbHIsIHBjLCBhbmQgYXBzci4KKyAgICAvLyBUaGVyZSBhcmUgMiBpc3N1ZXMg
dGhhdCBjb21wbGljYXRlIHRoZSByZXN0b3JhdGlvbiBvZiB0aGVzZSBsYXN0IGZldworICAgIC8v
IHJlZ2lzdGVyczoKKyAgICAvLworICAgIC8vIDEuIE5vcm1hbCBBUk0gY2FsbGluZyBjb252ZW50
aW9uIHJlbGllcyBvbiBtb3ZpbmcgbHIgdG8gcGMgdG8gcmV0dXJuIHRvCisgICAgLy8gICAgdGhl
IGNhbGxlci4gSW4gb3VyIGNhc2UsIHRoZSBhZGRyZXNzIHRvIHJldHVybiB0byBpcyBzcGVjaWZp
ZWQgYnkKKyAgICAvLyAgICBQcm9iZUNvbnRleHQuY3B1LnBjLiBBbmQgYXQgdGhhdCBtb21lbnQs
IHdlIHdvbid0IGhhdmUgYW55IGF2YWlsYWJsZQorICAgIC8vICAgIHNjcmF0Y2ggcmVnaXN0ZXJz
IHRvIGhvbGQgdGhlIHJldHVybiBhZGRyZXNzIChsciBuZWVkcyB0byBob2xkCisgICAgLy8gICAg
UHJvYmVDb250ZXh0LmNwdS5sciwgbm90IHRoZSByZXR1cm4gYWRkcmVzcykuCisgICAgLy8KKyAg
ICAvLyAgICBUaGUgc29sdXRpb24gaXMgdG8gc3RvcmUgdGhlIHJldHVybiBhZGRyZXNzIG9uIHRo
ZSBzdGFjayBhbmQgbG9hZCB0aGUKKyAgICAvLyAgICAgcGMgZnJvbSB0aGVyZS4KKyAgICAvLwor
ICAgIC8vIDIuIElzc3VlIDEgbWVhbnMgd2Ugd2lsbCBuZWVkIHRvIHdyaXRlIHRvIHRoZSBzdGFj
ayBsb2NhdGlvbiBhdAorICAgIC8vICAgIFByb2JlQ29udGV4dC5jcHUuc3AgLSA0LiBCdXQgaWYg
dGhlIHVzZXIgcHJvYmUgZnVuY3Rpb24gaGFkICBtb2RpZmllZAorICAgIC8vICAgIHRoZSB2YWx1
ZSBvZiBQcm9iZUNvbnRleHQuY3B1LnNwIHRvIHBvaW50IGluIHRoZSByYW5nZSBiZXR3ZWVuCisg
ICAgLy8gICAgJlByb2JlQ29udGV4dC5jcHUuaXAgdGhydSAmUHJvYmVDb250ZXh0LmNwdS5hc3By
LCB0aGVuIHRoZSBhY3Rpb24gZm9yCisgICAgLy8gICAgSXNzdWUgMSBtYXkgdHJhc2ggdGhlIHZh
bHVlcyB0byBiZSByZXN0b3JlZCBiZWZvcmUgd2UgY2FuIHJlc3RvcmUKKyAgICAvLyAgICB0aGVt
LgorICAgIC8vCisgICAgLy8gICAgVGhlIHNvbHV0aW9uIGlzIHRvIGNoZWNrIGlmIFByb2JlQ29u
dGV4dC5jcHUuc3AgY29udGFpbnMgYSB2YWx1ZSBpbgorICAgIC8vICAgIHRoZSB1bmRlc2lyYWJs
ZSByYW5nZS4gSWYgc28sIHdlIGNvcHkgdGhlIHJlbWFpbmluZyBQcm9iZUNvbnRleHQKKyAgICAv
LyAgICByZWdpc3RlciBkYXRhIHRvIGEgc2FmZSByYW5nZSAoYXQgbWVtb3J5IGxvd2VyIHRoYW4g
d2hlcmUKKyAgICAvLyAgICBQcm9iZUNvbnRleHQuY3B1LnNwIHBvaW50cykgZmlyc3QsIGFuZCBy
ZXN0b3JlIHRoZSByZW1haW5pbmcgcmVnaXN0ZXIKKyAgICAvLyAgICBmcm9tIHRoaXMgbmV3IHJh
bmdlLgorCisgICAgImFkZCAgICAgICBpcCwgc3AsICMiIFNUUklOR0laRV9WQUxVRV9PRihQUk9C
RV9DUFVfQVBTUl9PRkZTRVQpICJcbiIKKyAgICAibGRyICAgICAgIGxyLCBbc3AsICMiIFNUUklO
R0laRV9WQUxVRV9PRihQUk9CRV9DUFVfU1BfT0ZGU0VUKSAiXSIgIlxuIgorICAgICJjbXAgICAg
ICAgbHIsIGlwIiAiXG4iCisgICAgImJndCAgICAgIiBTWU1CT0xfU1RSSU5HKGN0aU1hc21Qcm9i
ZVRyYW1wb2xpbmVFbmQpICJcbiIKKworICAgIC8vIFdlIGdldCBoZXJlIGJlY2F1c2UgdGhlIG5l
dyBleHBlY3RlZCBzdGFjayBwb2ludGVyIGxvY2F0aW9uIGlzIGxvd2VyCisgICAgLy8gdGhhbiB3
aGVyZSBpdCdzIHN1cHBvc2VkIHRvIGJlLiBUaGlzIG1lYW5zIHRoZSBzYWZlIHJhbmdlIG9mIHN0
YWNrCisgICAgLy8gbWVtb3J5IHdoZXJlIHdlJ2xsIGJlIGNvcHlpbmcgdGhlIHJlbWFpbmluZyBy
ZWdpc3RlciByZXN0b3JlIHZhbHVlcyB0bworICAgIC8vIG1pZ2h0IGJlIGluIGEgcmVnaW9uIG9m
IG1lbW9yeSBiZWxvdyB0aGUgc3AgaS5lLiB1bmFsbG9jYXRlZCBzdGFjaworICAgIC8vIG1lbW9y
eS4gVGhpcyBpbiB0dXJuIG1ha2VzIGl0IHZ1bG5lcmFibGUgdG8gaW50ZXJydXB0cyBwb3RlbnRp
YWxseQorICAgIC8vIHRyYXNoaW5nIHRoZSBjb3BpZWQgdmFsdWVzLiBUbyBwcmV2ZW50IHRoYXQs
IHdlIG11c3QgZmlyc3QgYWxsb2NhdGUgdGhlCisgICAgLy8gbmVlZGVkIHN0YWNrIG1lbW9yeSBi
eSBhZGp1c3RpbmcgdGhlIHNwIGJlZm9yZSB0aGUgY29weWluZy4KKworICAgICJzdWIgICAgICAg
bHIsIGxyLCAjKDYgKiAiIFNUUklOR0laRV9WQUxVRV9PRihQVFJfU0laRSkgCisgICAgICAgICAg
ICAgICAgICAgICAgICAgIiArICIgU1RSSU5HSVpFX1ZBTFVFX09GKFBST0JFX0NQVV9JUF9PRkZT
RVQpICIpIiAiXG4iCisKKyAgICAibW92ICAgICAgIGlwLCBzcCIgIlxuIgorICAgICJtb3YgICAg
ICAgc3AsIGxyIiAiXG4iCisgICAgIm1vdiAgICAgICBsciwgaXAiICJcbiIKKworICAgICJsZHIg
ICAgICAgaXAsIFtsciwgIyIgU1RSSU5HSVpFX1ZBTFVFX09GKFBST0JFX0NQVV9JUF9PRkZTRVQp
ICJdIiAiXG4iCisgICAgInN0ciAgICAgICBpcCwgW3NwLCAjIiBTVFJJTkdJWkVfVkFMVUVfT0Yo
UFJPQkVfQ1BVX0lQX09GRlNFVCkgIl0iICJcbiIKKyAgICAibGRyICAgICAgIGlwLCBbbHIsICMi
IFNUUklOR0laRV9WQUxVRV9PRihQUk9CRV9DUFVfU1BfT0ZGU0VUKSAiXSIgIlxuIgorICAgICJz
dHIgICAgICAgaXAsIFtzcCwgIyIgU1RSSU5HSVpFX1ZBTFVFX09GKFBST0JFX0NQVV9TUF9PRkZT
RVQpICJdIiAiXG4iCisgICAgImxkciAgICAgICBpcCwgW2xyLCAjIiBTVFJJTkdJWkVfVkFMVUVf
T0YoUFJPQkVfQ1BVX0xSX09GRlNFVCkgIl0iICJcbiIKKyAgICAic3RyICAgICAgIGlwLCBbc3As
ICMiIFNUUklOR0laRV9WQUxVRV9PRihQUk9CRV9DUFVfTFJfT0ZGU0VUKSAiXSIgIlxuIgorICAg
ICJsZHIgICAgICAgaXAsIFtsciwgIyIgU1RSSU5HSVpFX1ZBTFVFX09GKFBST0JFX0NQVV9QQ19P
RkZTRVQpICJdIiAiXG4iCisgICAgInN0ciAgICAgICBpcCwgW3NwLCAjIiBTVFJJTkdJWkVfVkFM
VUVfT0YoUFJPQkVfQ1BVX1BDX09GRlNFVCkgIl0iICJcbiIKKyAgICAibGRyICAgICAgIGlwLCBb
bHIsICMiIFNUUklOR0laRV9WQUxVRV9PRihQUk9CRV9DUFVfQVBTUl9PRkZTRVQpICJdIiAiXG4i
CisgICAgInN0ciAgICAgICBpcCwgW3NwLCAjIiBTVFJJTkdJWkVfVkFMVUVfT0YoUFJPQkVfQ1BV
X0FQU1JfT0ZGU0VUKSAiXSIgIlxuIgorCitTWU1CT0xfU1RSSU5HKGN0aU1hc21Qcm9iZVRyYW1w
b2xpbmVFbmQpICI6IiAiXG4iCisgICAgImxkciAgICAgICBpcCwgW3NwLCAjIiBTVFJJTkdJWkVf
VkFMVUVfT0YoUFJPQkVfQ1BVX1BDX09GRlNFVCkgIl0iICJcbiIKKyAgICAibGRyICAgICAgIGxy
LCBbc3AsICMiIFNUUklOR0laRV9WQUxVRV9PRihQUk9CRV9DUFVfU1BfT0ZGU0VUKSAiXSIgIlxu
IgorICAgICJzdWIgICAgICAgbHIsIGxyLCAjIiBTVFJJTkdJWkVfVkFMVUVfT0YoUFRSX1NJWkUp
ICJcbiIKKyAgICAic3RyICAgICAgIGlwLCBbbHJdIiAiXG4iCisgICAgInN0ciAgICAgICBsciwg
W3NwLCAjIiBTVFJJTkdJWkVfVkFMVUVfT0YoUFJPQkVfQ1BVX1NQX09GRlNFVCkgIl0iICJcbiIK
KworICAgICJsZHIgICAgICAgaXAsIFtzcCwgIyIgU1RSSU5HSVpFX1ZBTFVFX09GKFBST0JFX0NQ
VV9BUFNSX09GRlNFVCkgIl0iICJcbiIKKyAgICAibXNyICAgICAgIEFQU1IsIGlwIiAiXG4iCisg
ICAgImxkciAgICAgICBpcCwgW3NwLCAjIiBTVFJJTkdJWkVfVkFMVUVfT0YoUFJPQkVfQ1BVX0xS
X09GRlNFVCkgIl0iICJcbiIKKyAgICAibW92ICAgICAgIGxyLCBpcCIgIlxuIgorICAgICJsZHIg
ICAgICAgaXAsIFtzcCwgIyIgU1RSSU5HSVpFX1ZBTFVFX09GKFBST0JFX0NQVV9JUF9PRkZTRVQp
ICJdIiAiXG4iCisgICAgImxkciAgICAgICBzcCwgW3NwLCAjIiBTVFJJTkdJWkVfVkFMVUVfT0Yo
UFJPQkVfQ1BVX1NQX09GRlNFVCkgIl0iICJcbiIKKworICAgICJwb3AgICAgICAgeyBwYyB9IiAi
XG4iCispOworI2VuZGlmIC8vIFVTRShNQVNNX1BST0JFKQorCisKICNkZWZpbmUgREVGSU5FX1NU
VUJfRlVOQ1RJT04ocnR5cGUsIG9wKSBcCiAgICAgZXh0ZXJuICJDIiB7IFwKICAgICAgICAgcnR5
cGUgSklUU3R1YlRodW5rZWRfIyNvcChTVFVCX0FSR1NfREVDTEFSQVRJT04pOyBcCkluZGV4OiBT
b3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0pJVFN0dWJzQVJNdjcuaAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBT
b3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0pJVFN0dWJzQVJNdjcuaAkocmV2aXNpb24gMTUwNDkz
KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9KSVRTdHVic0FSTXY3LmgJKHdvcmtpbmcg
Y29weSkKQEAgLTU2LDYgKzU2LDE1MyBAQCBuYW1lc3BhY2UgSlNDIHsKIAogI2lmIENPTVBJTEVS
KEdDQykKIAorI2lmIFVTRShNQVNNX1BST0JFKQorLy8gVGhlIGZvbGxvd2luZyBhcmUgb2Zmc2V0
cyBmb3IgTWFjcm9Bc3NlbWJsZXI6OlByb2JlQ29udGV4dCBmaWVsZHMgYWNjZXNzZWQKKy8vIGJ5
IHRoZSBjdGlNYXNtUHJvYmVUcmFtcG9saW5lIHN0dWIuCisKKyNkZWZpbmUgUFRSX1NJWkUgNAor
I2RlZmluZSBQUk9CRV9QUk9CRV9GVU5DVElPTl9PRkZTRVQgKDAgKiBQVFJfU0laRSkKKyNkZWZp
bmUgUFJPQkVfQVJHMV9PRkZTRVQgKDEgKiBQVFJfU0laRSkKKyNkZWZpbmUgUFJPQkVfQVJHMl9P
RkZTRVQgKDIgKiBQVFJfU0laRSkKKyNkZWZpbmUgUFJPQkVfSklUX1NUQUNLX0ZSQU1FX09GRlNF
VCAoMyAqIFBUUl9TSVpFKQorCisjZGVmaW5lIFBST0JFX0ZJUlNUX0dQUkVHX09GRlNFVCAoNCAq
IFBUUl9TSVpFKQorCisjZGVmaW5lIEdQUkVHX1NJWkUgNAorI2RlZmluZSBQUk9CRV9DUFVfUjBf
T0ZGU0VUIChQUk9CRV9GSVJTVF9HUFJFR19PRkZTRVQgKyAoMCAqIEdQUkVHX1NJWkUpKQorI2Rl
ZmluZSBQUk9CRV9DUFVfUjFfT0ZGU0VUIChQUk9CRV9GSVJTVF9HUFJFR19PRkZTRVQgKyAoMSAq
IEdQUkVHX1NJWkUpKQorI2RlZmluZSBQUk9CRV9DUFVfUjJfT0ZGU0VUIChQUk9CRV9GSVJTVF9H
UFJFR19PRkZTRVQgKyAoMiAqIEdQUkVHX1NJWkUpKQorI2RlZmluZSBQUk9CRV9DUFVfUjNfT0ZG
U0VUIChQUk9CRV9GSVJTVF9HUFJFR19PRkZTRVQgKyAoMyAqIEdQUkVHX1NJWkUpKQorI2RlZmlu
ZSBQUk9CRV9DUFVfUjRfT0ZGU0VUIChQUk9CRV9GSVJTVF9HUFJFR19PRkZTRVQgKyAoNCAqIEdQ
UkVHX1NJWkUpKQorI2RlZmluZSBQUk9CRV9DUFVfUjVfT0ZGU0VUIChQUk9CRV9GSVJTVF9HUFJF
R19PRkZTRVQgKyAoNSAqIEdQUkVHX1NJWkUpKQorI2RlZmluZSBQUk9CRV9DUFVfUjZfT0ZGU0VU
IChQUk9CRV9GSVJTVF9HUFJFR19PRkZTRVQgKyAoNiAqIEdQUkVHX1NJWkUpKQorI2RlZmluZSBQ
Uk9CRV9DUFVfUjdfT0ZGU0VUIChQUk9CRV9GSVJTVF9HUFJFR19PRkZTRVQgKyAoNyAqIEdQUkVH
X1NJWkUpKQorI2RlZmluZSBQUk9CRV9DUFVfUjhfT0ZGU0VUIChQUk9CRV9GSVJTVF9HUFJFR19P
RkZTRVQgKyAoOCAqIEdQUkVHX1NJWkUpKQorI2RlZmluZSBQUk9CRV9DUFVfUjlfT0ZGU0VUIChQ
Uk9CRV9GSVJTVF9HUFJFR19PRkZTRVQgKyAoOSAqIEdQUkVHX1NJWkUpKQorI2RlZmluZSBQUk9C
RV9DUFVfUjEwX09GRlNFVCAoUFJPQkVfRklSU1RfR1BSRUdfT0ZGU0VUICsgKDEwICogR1BSRUdf
U0laRSkpCisjZGVmaW5lIFBST0JFX0NQVV9SMTFfT0ZGU0VUIChQUk9CRV9GSVJTVF9HUFJFR19P
RkZTRVQgKyAoMTEgKiBHUFJFR19TSVpFKSkKKyNkZWZpbmUgUFJPQkVfQ1BVX0lQX09GRlNFVCAo
UFJPQkVfRklSU1RfR1BSRUdfT0ZGU0VUICsgKDEyICogR1BSRUdfU0laRSkpCisjZGVmaW5lIFBS
T0JFX0NQVV9TUF9PRkZTRVQgKFBST0JFX0ZJUlNUX0dQUkVHX09GRlNFVCArICgxMyAqIEdQUkVH
X1NJWkUpKQorI2RlZmluZSBQUk9CRV9DUFVfTFJfT0ZGU0VUIChQUk9CRV9GSVJTVF9HUFJFR19P
RkZTRVQgKyAoMTQgKiBHUFJFR19TSVpFKSkKKyNkZWZpbmUgUFJPQkVfQ1BVX1BDX09GRlNFVCAo
UFJPQkVfRklSU1RfR1BSRUdfT0ZGU0VUICsgKDE1ICogR1BSRUdfU0laRSkpCisKKyNkZWZpbmUg
UFJPQkVfQ1BVX0FQU1JfT0ZGU0VUIChQUk9CRV9GSVJTVF9HUFJFR19PRkZTRVQgKyAoMTYgKiBH
UFJFR19TSVpFKSkKKyNkZWZpbmUgUFJPQkVfQ1BVX0ZQU0NSX09GRlNFVCAoUFJPQkVfRklSU1Rf
R1BSRUdfT0ZGU0VUICsgKDE3ICogR1BSRUdfU0laRSkpCisKKyNkZWZpbmUgUFJPQkVfRklSU1Rf
RlBSRUdfT0ZGU0VUIChQUk9CRV9GSVJTVF9HUFJFR19PRkZTRVQgKyAoMTggKiBHUFJFR19TSVpF
KSkKKworI2RlZmluZSBGUFJFR19TSVpFIDgKKyNkZWZpbmUgUFJPQkVfQ1BVX0QwX09GRlNFVCAo
UFJPQkVfRklSU1RfRlBSRUdfT0ZGU0VUICsgKDAgKiBGUFJFR19TSVpFKSkKKyNkZWZpbmUgUFJP
QkVfQ1BVX0QxX09GRlNFVCAoUFJPQkVfRklSU1RfRlBSRUdfT0ZGU0VUICsgKDEgKiBGUFJFR19T
SVpFKSkKKyNkZWZpbmUgUFJPQkVfQ1BVX0QyX09GRlNFVCAoUFJPQkVfRklSU1RfRlBSRUdfT0ZG
U0VUICsgKDIgKiBGUFJFR19TSVpFKSkKKyNkZWZpbmUgUFJPQkVfQ1BVX0QzX09GRlNFVCAoUFJP
QkVfRklSU1RfRlBSRUdfT0ZGU0VUICsgKDMgKiBGUFJFR19TSVpFKSkKKyNkZWZpbmUgUFJPQkVf
Q1BVX0Q0X09GRlNFVCAoUFJPQkVfRklSU1RfRlBSRUdfT0ZGU0VUICsgKDQgKiBGUFJFR19TSVpF
KSkKKyNkZWZpbmUgUFJPQkVfQ1BVX0Q1X09GRlNFVCAoUFJPQkVfRklSU1RfRlBSRUdfT0ZGU0VU
ICsgKDUgKiBGUFJFR19TSVpFKSkKKyNkZWZpbmUgUFJPQkVfQ1BVX0Q2X09GRlNFVCAoUFJPQkVf
RklSU1RfRlBSRUdfT0ZGU0VUICsgKDYgKiBGUFJFR19TSVpFKSkKKyNkZWZpbmUgUFJPQkVfQ1BV
X0Q3X09GRlNFVCAoUFJPQkVfRklSU1RfRlBSRUdfT0ZGU0VUICsgKDcgKiBGUFJFR19TSVpFKSkK
KyNkZWZpbmUgUFJPQkVfQ1BVX0Q4X09GRlNFVCAoUFJPQkVfRklSU1RfRlBSRUdfT0ZGU0VUICsg
KDggKiBGUFJFR19TSVpFKSkKKyNkZWZpbmUgUFJPQkVfQ1BVX0Q5X09GRlNFVCAoUFJPQkVfRklS
U1RfRlBSRUdfT0ZGU0VUICsgKDkgKiBGUFJFR19TSVpFKSkKKyNkZWZpbmUgUFJPQkVfQ1BVX0Qx
MF9PRkZTRVQgKFBST0JFX0ZJUlNUX0ZQUkVHX09GRlNFVCArICgxMCAqIEZQUkVHX1NJWkUpKQor
I2RlZmluZSBQUk9CRV9DUFVfRDExX09GRlNFVCAoUFJPQkVfRklSU1RfRlBSRUdfT0ZGU0VUICsg
KDExICogRlBSRUdfU0laRSkpCisjZGVmaW5lIFBST0JFX0NQVV9EMTJfT0ZGU0VUIChQUk9CRV9G
SVJTVF9GUFJFR19PRkZTRVQgKyAoMTIgKiBGUFJFR19TSVpFKSkKKyNkZWZpbmUgUFJPQkVfQ1BV
X0QxM19PRkZTRVQgKFBST0JFX0ZJUlNUX0ZQUkVHX09GRlNFVCArICgxMyAqIEZQUkVHX1NJWkUp
KQorI2RlZmluZSBQUk9CRV9DUFVfRDE0X09GRlNFVCAoUFJPQkVfRklSU1RfRlBSRUdfT0ZGU0VU
ICsgKDE0ICogRlBSRUdfU0laRSkpCisjZGVmaW5lIFBST0JFX0NQVV9EMTVfT0ZGU0VUIChQUk9C
RV9GSVJTVF9GUFJFR19PRkZTRVQgKyAoMTUgKiBGUFJFR19TSVpFKSkKKworI2lmIENQVShBUFBM
RV9BUk1WN1MpCisjZGVmaW5lIFBST0JFX0NQVV9EMTZfT0ZGU0VUIChQUk9CRV9GSVJTVF9GUFJF
R19PRkZTRVQgKyAoMTYgKiBGUFJFR19TSVpFKSkKKyNkZWZpbmUgUFJPQkVfQ1BVX0QxN19PRkZT
RVQgKFBST0JFX0ZJUlNUX0ZQUkVHX09GRlNFVCArICgxNyAqIEZQUkVHX1NJWkUpKQorI2RlZmlu
ZSBQUk9CRV9DUFVfRDE4X09GRlNFVCAoUFJPQkVfRklSU1RfRlBSRUdfT0ZGU0VUICsgKDE4ICog
RlBSRUdfU0laRSkpCisjZGVmaW5lIFBST0JFX0NQVV9EMTlfT0ZGU0VUIChQUk9CRV9GSVJTVF9G
UFJFR19PRkZTRVQgKyAoMTkgKiBGUFJFR19TSVpFKSkKKyNkZWZpbmUgUFJPQkVfQ1BVX0QyMF9P
RkZTRVQgKFBST0JFX0ZJUlNUX0ZQUkVHX09GRlNFVCArICgyMCAqIEZQUkVHX1NJWkUpKQorI2Rl
ZmluZSBQUk9CRV9DUFVfRDIxX09GRlNFVCAoUFJPQkVfRklSU1RfRlBSRUdfT0ZGU0VUICsgKDIx
ICogRlBSRUdfU0laRSkpCisjZGVmaW5lIFBST0JFX0NQVV9EMjJfT0ZGU0VUIChQUk9CRV9GSVJT
VF9GUFJFR19PRkZTRVQgKyAoMjIgKiBGUFJFR19TSVpFKSkKKyNkZWZpbmUgUFJPQkVfQ1BVX0Qy
M19PRkZTRVQgKFBST0JFX0ZJUlNUX0ZQUkVHX09GRlNFVCArICgyMyAqIEZQUkVHX1NJWkUpKQor
I2RlZmluZSBQUk9CRV9DUFVfRDI0X09GRlNFVCAoUFJPQkVfRklSU1RfRlBSRUdfT0ZGU0VUICsg
KDI0ICogRlBSRUdfU0laRSkpCisjZGVmaW5lIFBST0JFX0NQVV9EMjVfT0ZGU0VUIChQUk9CRV9G
SVJTVF9GUFJFR19PRkZTRVQgKyAoMjUgKiBGUFJFR19TSVpFKSkKKyNkZWZpbmUgUFJPQkVfQ1BV
X0QyNl9PRkZTRVQgKFBST0JFX0ZJUlNUX0ZQUkVHX09GRlNFVCArICgyNiAqIEZQUkVHX1NJWkUp
KQorI2RlZmluZSBQUk9CRV9DUFVfRDI3X09GRlNFVCAoUFJPQkVfRklSU1RfRlBSRUdfT0ZGU0VU
ICsgKDI3ICogRlBSRUdfU0laRSkpCisjZGVmaW5lIFBST0JFX0NQVV9EMjhfT0ZGU0VUIChQUk9C
RV9GSVJTVF9GUFJFR19PRkZTRVQgKyAoMjggKiBGUFJFR19TSVpFKSkKKyNkZWZpbmUgUFJPQkVf
Q1BVX0QyOV9PRkZTRVQgKFBST0JFX0ZJUlNUX0ZQUkVHX09GRlNFVCArICgyOSAqIEZQUkVHX1NJ
WkUpKQorI2RlZmluZSBQUk9CRV9DUFVfRDMwX09GRlNFVCAoUFJPQkVfRklSU1RfRlBSRUdfT0ZG
U0VUICsgKDMwICogRlBSRUdfU0laRSkpCisjZGVmaW5lIFBST0JFX0NQVV9EMzFfT0ZGU0VUIChQ
Uk9CRV9GSVJTVF9GUFJFR19PRkZTRVQgKyAoMzEgKiBGUFJFR19TSVpFKSkKKyNkZWZpbmUgUFJP
QkVfU0laRSAoUFJPQkVfRklSU1RfRlBSRUdfT0ZGU0VUICsgKDMyICogRlBSRUdfU0laRSkpCisj
ZWxzZQorI2RlZmluZSBQUk9CRV9TSVpFIChQUk9CRV9GSVJTVF9GUFJFR19PRkZTRVQgKyAoMTYg
KiBGUFJFR19TSVpFKSkKKyNlbmRpZiAvLyBDUFUoQVBQTEVfQVJNVjdTKQorCisKKy8vIFRoZXNl
IEFTU0VSVHMgcmVtaW5kIHlvdSB0aGF0IGlmIHlvdSBjaGFuZ2UgdGhlIGxheW91dCBvZiBQcm9i
ZUNvbnRleHQsCisvLyB5b3UgbmVlZCB0byBjaGFuZ2UgY3RpTWFzbVByb2JlVHJhbXBvbGluZSBv
ZmZzZXRzIGFib3ZlIHRvIG1hdGNoLgorI2RlZmluZSBQUk9CRV9PRkZTRVRPRih4KSBvZmZzZXRv
ZihzdHJ1Y3QgTWFjcm9Bc3NlbWJsZXI6OlByb2JlQ29udGV4dCwgeCkKK0NPTVBJTEVfQVNTRVJU
KFBST0JFX09GRlNFVE9GKHByb2JlRnVuY3Rpb24pID09IFBST0JFX1BST0JFX0ZVTkNUSU9OX09G
RlNFVCwgUHJvYmVDb250ZXh0X3Byb2JlRnVuY3Rpb25fb2Zmc2V0X21hdGNoZXNfY3RpTWFzbVBy
b2JlVHJhbXBvbGluZSk7CitDT01QSUxFX0FTU0VSVChQUk9CRV9PRkZTRVRPRihhcmcxKSA9PSBQ
Uk9CRV9BUkcxX09GRlNFVCwgUHJvYmVDb250ZXh0X2FyZzFfb2Zmc2V0X21hdGNoZXNfY3RpTWFz
bVByb2JlVHJhbXBvbGluZSk7CitDT01QSUxFX0FTU0VSVChQUk9CRV9PRkZTRVRPRihhcmcyKSA9
PSBQUk9CRV9BUkcyX09GRlNFVCwgUHJvYmVDb250ZXh0X2FyZzJfb2Zmc2V0X21hdGNoZXNfY3Rp
TWFzbVByb2JlVHJhbXBvbGluZSk7CitDT01QSUxFX0FTU0VSVChQUk9CRV9PRkZTRVRPRihqaXRT
dGFja0ZyYW1lKSA9PSBQUk9CRV9KSVRfU1RBQ0tfRlJBTUVfT0ZGU0VULCBQcm9iZUNvbnRleHRf
aml0U3RhY2tGcmFtZV9vZmZzZXRfbWF0Y2hlc19jdGlNYXNtUHJvYmVUcmFtcG9saW5lKTsKKwor
Q09NUElMRV9BU1NFUlQoUFJPQkVfT0ZGU0VUT0YoY3B1LnIwKSA9PSBQUk9CRV9DUFVfUjBfT0ZG
U0VULCBQcm9iZUNvbnRleHRfY3B1X3IwX29mZnNldF9tYXRjaGVzX2N0aU1hc21Qcm9iZVRyYW1w
b2xpbmUpOworQ09NUElMRV9BU1NFUlQoUFJPQkVfT0ZGU0VUT0YoY3B1LnIxKSA9PSBQUk9CRV9D
UFVfUjFfT0ZGU0VULCBQcm9iZUNvbnRleHRfY3B1X3IxX29mZnNldF9tYXRjaGVzX2N0aU1hc21Q
cm9iZVRyYW1wb2xpbmUpOworQ09NUElMRV9BU1NFUlQoUFJPQkVfT0ZGU0VUT0YoY3B1LnIyKSA9
PSBQUk9CRV9DUFVfUjJfT0ZGU0VULCBQcm9iZUNvbnRleHRfY3B1X3IyX29mZnNldF9tYXRjaGVz
X2N0aU1hc21Qcm9iZVRyYW1wb2xpbmUpOworQ09NUElMRV9BU1NFUlQoUFJPQkVfT0ZGU0VUT0Yo
Y3B1LnIzKSA9PSBQUk9CRV9DUFVfUjNfT0ZGU0VULCBQcm9iZUNvbnRleHRfY3B1X3IzX29mZnNl
dF9tYXRjaGVzX2N0aU1hc21Qcm9iZVRyYW1wb2xpbmUpOworQ09NUElMRV9BU1NFUlQoUFJPQkVf
T0ZGU0VUT0YoY3B1LnI0KSA9PSBQUk9CRV9DUFVfUjRfT0ZGU0VULCBQcm9iZUNvbnRleHRfY3B1
X3I0X29mZnNldF9tYXRjaGVzX2N0aU1hc21Qcm9iZVRyYW1wb2xpbmUpOworQ09NUElMRV9BU1NF
UlQoUFJPQkVfT0ZGU0VUT0YoY3B1LnI1KSA9PSBQUk9CRV9DUFVfUjVfT0ZGU0VULCBQcm9iZUNv
bnRleHRfY3B1X3I1X29mZnNldF9tYXRjaGVzX2N0aU1hc21Qcm9iZVRyYW1wb2xpbmUpOworQ09N
UElMRV9BU1NFUlQoUFJPQkVfT0ZGU0VUT0YoY3B1LnI2KSA9PSBQUk9CRV9DUFVfUjZfT0ZGU0VU
LCBQcm9iZUNvbnRleHRfY3B1X3I2X29mZnNldF9tYXRjaGVzX2N0aU1hc21Qcm9iZVRyYW1wb2xp
bmUpOworQ09NUElMRV9BU1NFUlQoUFJPQkVfT0ZGU0VUT0YoY3B1LnI3KSA9PSBQUk9CRV9DUFVf
UjdfT0ZGU0VULCBQcm9iZUNvbnRleHRfY3B1X3I3MF9vZmZzZXRfbWF0Y2hlc19jdGlNYXNtUHJv
YmVUcmFtcG9saW5lKTsKK0NPTVBJTEVfQVNTRVJUKFBST0JFX09GRlNFVE9GKGNwdS5yOCkgPT0g
UFJPQkVfQ1BVX1I4X09GRlNFVCwgUHJvYmVDb250ZXh0X2NwdV9yOF9vZmZzZXRfbWF0Y2hlc19j
dGlNYXNtUHJvYmVUcmFtcG9saW5lKTsKK0NPTVBJTEVfQVNTRVJUKFBST0JFX09GRlNFVE9GKGNw
dS5yOSkgPT0gUFJPQkVfQ1BVX1I5X09GRlNFVCwgUHJvYmVDb250ZXh0X2NwdV9yOV9vZmZzZXRf
bWF0Y2hlc19jdGlNYXNtUHJvYmVUcmFtcG9saW5lKTsKK0NPTVBJTEVfQVNTRVJUKFBST0JFX09G
RlNFVE9GKGNwdS5yMTApID09IFBST0JFX0NQVV9SMTBfT0ZGU0VULCBQcm9iZUNvbnRleHRfY3B1
X3IxMF9vZmZzZXRfbWF0Y2hlc19jdGlNYXNtUHJvYmVUcmFtcG9saW5lKTsKK0NPTVBJTEVfQVNT
RVJUKFBST0JFX09GRlNFVE9GKGNwdS5yMTEpID09IFBST0JFX0NQVV9SMTFfT0ZGU0VULCBQcm9i
ZUNvbnRleHRfY3B1X3IxMV9vZmZzZXRfbWF0Y2hlc19jdGlNYXNtUHJvYmVUcmFtcG9saW5lKTsK
K0NPTVBJTEVfQVNTRVJUKFBST0JFX09GRlNFVE9GKGNwdS5pcCkgPT0gUFJPQkVfQ1BVX0lQX09G
RlNFVCwgUHJvYmVDb250ZXh0X2NwdV9pcF9vZmZzZXRfbWF0Y2hlc19jdGlNYXNtUHJvYmVUcmFt
cG9saW5lKTsKK0NPTVBJTEVfQVNTRVJUKFBST0JFX09GRlNFVE9GKGNwdS5zcCkgPT0gUFJPQkVf
Q1BVX1NQX09GRlNFVCwgUHJvYmVDb250ZXh0X2NwdV9zcF9vZmZzZXRfbWF0Y2hlc19jdGlNYXNt
UHJvYmVUcmFtcG9saW5lKTsKK0NPTVBJTEVfQVNTRVJUKFBST0JFX09GRlNFVE9GKGNwdS5scikg
PT0gUFJPQkVfQ1BVX0xSX09GRlNFVCwgUHJvYmVDb250ZXh0X2NwdV9scl9vZmZzZXRfbWF0Y2hl
c19jdGlNYXNtUHJvYmVUcmFtcG9saW5lKTsKK0NPTVBJTEVfQVNTRVJUKFBST0JFX09GRlNFVE9G
KGNwdS5wYykgPT0gUFJPQkVfQ1BVX1BDX09GRlNFVCwgUHJvYmVDb250ZXh0X2NwdV9wY19vZmZz
ZXRfbWF0Y2hlc19jdGlNYXNtUHJvYmVUcmFtcG9saW5lKTsKKworQ09NUElMRV9BU1NFUlQoUFJP
QkVfT0ZGU0VUT0YoY3B1LmFwc3IpID09IFBST0JFX0NQVV9BUFNSX09GRlNFVCwgUHJvYmVDb250
ZXh0X2NwdV9hcHNyX29mZnNldF9tYXRjaGVzX2N0aU1hc21Qcm9iZVRyYW1wb2xpbmUpOworQ09N
UElMRV9BU1NFUlQoUFJPQkVfT0ZGU0VUT0YoY3B1LmZwc2NyKSA9PSBQUk9CRV9DUFVfRlBTQ1Jf
T0ZGU0VULCBQcm9iZUNvbnRleHRfY3B1X2Zwc2NyX29mZnNldF9tYXRjaGVzX2N0aU1hc21Qcm9i
ZVRyYW1wb2xpbmUpOworCitDT01QSUxFX0FTU0VSVChQUk9CRV9PRkZTRVRPRihjcHUuZDApID09
IFBST0JFX0NQVV9EMF9PRkZTRVQsIFByb2JlQ29udGV4dF9jcHVfZDBfb2Zmc2V0X21hdGNoZXNf
Y3RpTWFzbVByb2JlVHJhbXBvbGluZSk7CitDT01QSUxFX0FTU0VSVChQUk9CRV9PRkZTRVRPRihj
cHUuZDEpID09IFBST0JFX0NQVV9EMV9PRkZTRVQsIFByb2JlQ29udGV4dF9jcHVfZDFfb2Zmc2V0
X21hdGNoZXNfY3RpTWFzbVByb2JlVHJhbXBvbGluZSk7CitDT01QSUxFX0FTU0VSVChQUk9CRV9P
RkZTRVRPRihjcHUuZDIpID09IFBST0JFX0NQVV9EMl9PRkZTRVQsIFByb2JlQ29udGV4dF9jcHVf
ZDJfb2Zmc2V0X21hdGNoZXNfY3RpTWFzbVByb2JlVHJhbXBvbGluZSk7CitDT01QSUxFX0FTU0VS
VChQUk9CRV9PRkZTRVRPRihjcHUuZDMpID09IFBST0JFX0NQVV9EM19PRkZTRVQsIFByb2JlQ29u
dGV4dF9jcHVfZDNfb2Zmc2V0X21hdGNoZXNfY3RpTWFzbVByb2JlVHJhbXBvbGluZSk7CitDT01Q
SUxFX0FTU0VSVChQUk9CRV9PRkZTRVRPRihjcHUuZDQpID09IFBST0JFX0NQVV9ENF9PRkZTRVQs
IFByb2JlQ29udGV4dF9jcHVfZDRfb2Zmc2V0X21hdGNoZXNfY3RpTWFzbVByb2JlVHJhbXBvbGlu
ZSk7CitDT01QSUxFX0FTU0VSVChQUk9CRV9PRkZTRVRPRihjcHUuZDUpID09IFBST0JFX0NQVV9E
NV9PRkZTRVQsIFByb2JlQ29udGV4dF9jcHVfZDVfb2Zmc2V0X21hdGNoZXNfY3RpTWFzbVByb2Jl
VHJhbXBvbGluZSk7CitDT01QSUxFX0FTU0VSVChQUk9CRV9PRkZTRVRPRihjcHUuZDYpID09IFBS
T0JFX0NQVV9ENl9PRkZTRVQsIFByb2JlQ29udGV4dF9jcHVfZDZfb2Zmc2V0X21hdGNoZXNfY3Rp
TWFzbVByb2JlVHJhbXBvbGluZSk7CitDT01QSUxFX0FTU0VSVChQUk9CRV9PRkZTRVRPRihjcHUu
ZDcpID09IFBST0JFX0NQVV9EN19PRkZTRVQsIFByb2JlQ29udGV4dF9jcHVfZDdfb2Zmc2V0X21h
dGNoZXNfY3RpTWFzbVByb2JlVHJhbXBvbGluZSk7CitDT01QSUxFX0FTU0VSVChQUk9CRV9PRkZT
RVRPRihjcHUuZDgpID09IFBST0JFX0NQVV9EOF9PRkZTRVQsIFByb2JlQ29udGV4dF9jcHVfZDhf
b2Zmc2V0X21hdGNoZXNfY3RpTWFzbVByb2JlVHJhbXBvbGluZSk7CitDT01QSUxFX0FTU0VSVChQ
Uk9CRV9PRkZTRVRPRihjcHUuZDkpID09IFBST0JFX0NQVV9EOV9PRkZTRVQsIFByb2JlQ29udGV4
dF9jcHVfZDlfb2Zmc2V0X21hdGNoZXNfY3RpTWFzbVByb2JlVHJhbXBvbGluZSk7CitDT01QSUxF
X0FTU0VSVChQUk9CRV9PRkZTRVRPRihjcHUuZDEwKSA9PSBQUk9CRV9DUFVfRDEwX09GRlNFVCwg
UHJvYmVDb250ZXh0X2NwdV9kMTBfb2Zmc2V0X21hdGNoZXNfY3RpTWFzbVByb2JlVHJhbXBvbGlu
ZSk7CitDT01QSUxFX0FTU0VSVChQUk9CRV9PRkZTRVRPRihjcHUuZDExKSA9PSBQUk9CRV9DUFVf
RDExX09GRlNFVCwgUHJvYmVDb250ZXh0X2NwdV9kMTFfb2Zmc2V0X21hdGNoZXNfY3RpTWFzbVBy
b2JlVHJhbXBvbGluZSk7CitDT01QSUxFX0FTU0VSVChQUk9CRV9PRkZTRVRPRihjcHUuZDEyKSA9
PSBQUk9CRV9DUFVfRDEyX09GRlNFVCwgUHJvYmVDb250ZXh0X2NwdV9kMTJfb2Zmc2V0X21hdGNo
ZXNfY3RpTWFzbVByb2JlVHJhbXBvbGluZSk7CitDT01QSUxFX0FTU0VSVChQUk9CRV9PRkZTRVRP
RihjcHUuZDEzKSA9PSBQUk9CRV9DUFVfRDEzX09GRlNFVCwgUHJvYmVDb250ZXh0X2NwdV9kMTNf
b2Zmc2V0X21hdGNoZXNfY3RpTWFzbVByb2JlVHJhbXBvbGluZSk7CitDT01QSUxFX0FTU0VSVChQ
Uk9CRV9PRkZTRVRPRihjcHUuZDE0KSA9PSBQUk9CRV9DUFVfRDE0X09GRlNFVCwgUHJvYmVDb250
ZXh0X2NwdV9kMTRfb2Zmc2V0X21hdGNoZXNfY3RpTWFzbVByb2JlVHJhbXBvbGluZSk7CitDT01Q
SUxFX0FTU0VSVChQUk9CRV9PRkZTRVRPRihjcHUuZDE1KSA9PSBQUk9CRV9DUFVfRDE1X09GRlNF
VCwgUHJvYmVDb250ZXh0X2NwdV9kMTVfb2Zmc2V0X21hdGNoZXNfY3RpTWFzbVByb2JlVHJhbXBv
bGluZSk7CisKKyNpZiBDUFUoQVBQTEVfQVJNVjdTKQorQ09NUElMRV9BU1NFUlQoUFJPQkVfT0ZG
U0VUT0YoY3B1LmQxNikgPT0gUFJPQkVfQ1BVX0QxNl9PRkZTRVQsIFByb2JlQ29udGV4dF9jcHVf
ZDE2X29mZnNldF9tYXRjaGVzX2N0aU1hc21Qcm9iZVRyYW1wb2xpbmUpOworQ09NUElMRV9BU1NF
UlQoUFJPQkVfT0ZGU0VUT0YoY3B1LmQxNykgPT0gUFJPQkVfQ1BVX0QxN19PRkZTRVQsIFByb2Jl
Q29udGV4dF9jcHVfZDE3X29mZnNldF9tYXRjaGVzX2N0aU1hc21Qcm9iZVRyYW1wb2xpbmUpOwor
Q09NUElMRV9BU1NFUlQoUFJPQkVfT0ZGU0VUT0YoY3B1LmQxOCkgPT0gUFJPQkVfQ1BVX0QxOF9P
RkZTRVQsIFByb2JlQ29udGV4dF9jcHVfZDE4X29mZnNldF9tYXRjaGVzX2N0aU1hc21Qcm9iZVRy
YW1wb2xpbmUpOworQ09NUElMRV9BU1NFUlQoUFJPQkVfT0ZGU0VUT0YoY3B1LmQxOSkgPT0gUFJP
QkVfQ1BVX0QxOV9PRkZTRVQsIFByb2JlQ29udGV4dF9jcHVfZDE5X29mZnNldF9tYXRjaGVzX2N0
aU1hc21Qcm9iZVRyYW1wb2xpbmUpOworQ09NUElMRV9BU1NFUlQoUFJPQkVfT0ZGU0VUT0YoY3B1
LmQyMCkgPT0gUFJPQkVfQ1BVX0QyMF9PRkZTRVQsIFByb2JlQ29udGV4dF9jcHVfZDIwX29mZnNl
dF9tYXRjaGVzX2N0aU1hc21Qcm9iZVRyYW1wb2xpbmUpOworQ09NUElMRV9BU1NFUlQoUFJPQkVf
T0ZGU0VUT0YoY3B1LmQyMSkgPT0gUFJPQkVfQ1BVX0QyMV9PRkZTRVQsIFByb2JlQ29udGV4dF9j
cHVfZDIxX29mZnNldF9tYXRjaGVzX2N0aU1hc21Qcm9iZVRyYW1wb2xpbmUpOworQ09NUElMRV9B
U1NFUlQoUFJPQkVfT0ZGU0VUT0YoY3B1LmQyMikgPT0gUFJPQkVfQ1BVX0QyMl9PRkZTRVQsIFBy
b2JlQ29udGV4dF9jcHVfZDIyX29mZnNldF9tYXRjaGVzX2N0aU1hc21Qcm9iZVRyYW1wb2xpbmUp
OworQ09NUElMRV9BU1NFUlQoUFJPQkVfT0ZGU0VUT0YoY3B1LmQyMykgPT0gUFJPQkVfQ1BVX0Qy
M19PRkZTRVQsIFByb2JlQ29udGV4dF9jcHVfZDIzX29mZnNldF9tYXRjaGVzX2N0aU1hc21Qcm9i
ZVRyYW1wb2xpbmUpOworQ09NUElMRV9BU1NFUlQoUFJPQkVfT0ZGU0VUT0YoY3B1LmQyNCkgPT0g
UFJPQkVfQ1BVX0QyNF9PRkZTRVQsIFByb2JlQ29udGV4dF9jcHVfZDI0X29mZnNldF9tYXRjaGVz
X2N0aU1hc21Qcm9iZVRyYW1wb2xpbmUpOworQ09NUElMRV9BU1NFUlQoUFJPQkVfT0ZGU0VUT0Yo
Y3B1LmQyNSkgPT0gUFJPQkVfQ1BVX0QyNV9PRkZTRVQsIFByb2JlQ29udGV4dF9jcHVfZDI1X29m
ZnNldF9tYXRjaGVzX2N0aU1hc21Qcm9iZVRyYW1wb2xpbmUpOworQ09NUElMRV9BU1NFUlQoUFJP
QkVfT0ZGU0VUT0YoY3B1LmQyNikgPT0gUFJPQkVfQ1BVX0QyNl9PRkZTRVQsIFByb2JlQ29udGV4
dF9jcHVfZDI2X29mZnNldF9tYXRjaGVzX2N0aU1hc21Qcm9iZVRyYW1wb2xpbmUpOworQ09NUElM
RV9BU1NFUlQoUFJPQkVfT0ZGU0VUT0YoY3B1LmQyNykgPT0gUFJPQkVfQ1BVX0QyN19PRkZTRVQs
IFByb2JlQ29udGV4dF9jcHVfZDI3X29mZnNldF9tYXRjaGVzX2N0aU1hc21Qcm9iZVRyYW1wb2xp
bmUpOworQ09NUElMRV9BU1NFUlQoUFJPQkVfT0ZGU0VUT0YoY3B1LmQyOCkgPT0gUFJPQkVfQ1BV
X0QyOF9PRkZTRVQsIFByb2JlQ29udGV4dF9jcHVfZDI4X29mZnNldF9tYXRjaGVzX2N0aU1hc21Q
cm9iZVRyYW1wb2xpbmUpOworQ09NUElMRV9BU1NFUlQoUFJPQkVfT0ZGU0VUT0YoY3B1LmQyOSkg
PT0gUFJPQkVfQ1BVX0QyOV9PRkZTRVQsIFByb2JlQ29udGV4dF9jcHVfZDI5X29mZnNldF9tYXRj
aGVzX2N0aU1hc21Qcm9iZVRyYW1wb2xpbmUpOworQ09NUElMRV9BU1NFUlQoUFJPQkVfT0ZGU0VU
T0YoY3B1LmQzMCkgPT0gUFJPQkVfQ1BVX0QzMF9PRkZTRVQsIFByb2JlQ29udGV4dF9jcHVfZDMw
X29mZnNldF9tYXRjaGVzX2N0aU1hc21Qcm9iZVRyYW1wb2xpbmUpOworQ09NUElMRV9BU1NFUlQo
UFJPQkVfT0ZGU0VUT0YoY3B1LmQzMSkgPT0gUFJPQkVfQ1BVX0QzMV9PRkZTRVQsIFByb2JlQ29u
dGV4dF9jcHVfZDMxX29mZnNldF9tYXRjaGVzX2N0aU1hc21Qcm9iZVRyYW1wb2xpbmUpOworI2Vu
ZGlmIC8vIENQVShBUFBMRV9BUk1WN1MpCisKK0NPTVBJTEVfQVNTRVJUKHNpemVvZihNYWNyb0Fz
c2VtYmxlcjo6UHJvYmVDb250ZXh0KSA9PSBQUk9CRV9TSVpFLCBQcm9iZUNvbnRleHRfc2l6ZV9t
YXRjaGVzX2N0aU1hc21Qcm9iZVRyYW1wb2xpbmUpOworCisjdW5kZWYgUFJPQkVfT0ZGU0VUT0YK
KworI2VuZGlmIC8vIFVTRShNQVNNX1BST0JFKQorCisKIGFzbSAoCiAiLnRleHQiICJcbiIKICIu
YWxpZ24gMiIgIlxuIgpAQCAtMTQxLDYgKzI4OCwxNjggQEAgU1lNQk9MX1NUUklORyhjdGlPcFRo
cm93Tm90Q2F1Z2h0KSAiOiIgIgogICAgICJieCBsciIgIlxuIgogKTsKIAorI2lmIFVTRShNQVNN
X1BST0JFKQorYXNtICgKKyIudGV4dCIgIlxuIgorIi5hbGlnbiAyIiAiXG4iCisiLmdsb2JsICIg
U1lNQk9MX1NUUklORyhjdGlNYXNtUHJvYmVUcmFtcG9saW5lKSAiXG4iCitISURFX1NZTUJPTChj
dGlNYXNtUHJvYmVUcmFtcG9saW5lKSAiXG4iCisiLnRodW1iIiAiXG4iCisiLnRodW1iX2Z1bmMg
IiBUSFVNQl9GVU5DX1BBUkFNKGN0aU1hc21Qcm9iZVRyYW1wb2xpbmUpICJcbiIKK1NZTUJPTF9T
VFJJTkcoY3RpTWFzbVByb2JlVHJhbXBvbGluZSkgIjoiICJcbiIKKworICAgIC8vIE1hY3JvQXNz
ZW1ibGVyOjpwcm9iZSgpIGhhcyBhbHJlYWR5IGdlbmVyYXRlZCBjb2RlIHRvIHN0b3JlIHNvbWUg
dmFsdWVzLgorICAgIC8vIFRoZSB0b3Agb2Ygc3RhY2sgbm93IGxvb2tzIGxpa2UgdGhpczoKKyAg
ICAvLyAgICAgZXNwWzAgKiBwdHJTaXplXTogcHJvYmVGdW5jdGlvbgorICAgIC8vICAgICBlc3Bb
MSAqIHB0clNpemVdOiBhcmcxCisgICAgLy8gICAgIGVzcFsyICogcHRyU2l6ZV06IGFyZzIKKyAg
ICAvLyAgICAgZXNwWzMgKiBwdHJTaXplXTogc2F2ZWQgcjAKKyAgICAvLyAgICAgZXNwWzQgKiBw
dHJTaXplXTogc2F2ZWQgaXAKKyAgICAvLyAgICAgZXNwWzUgKiBwdHJTaXplXTogc2F2ZWQgbHIK
KyAgICAvLyAgICAgZXNwWzYgKiBwdHJTaXplXTogc2F2ZWQgc3AKKworICAgICJtb3YgICAgICAg
aXAsIHNwIiAiXG4iCisgICAgIm1vdiAgICAgICByMCwgc3AiICJcbiIKKyAgICAic3ViICAgICAg
IHIwLCByMCwgIyIgU1RSSU5HSVpFX1ZBTFVFX09GKFBST0JFX1NJWkUpICJcbiIKKworICAgIC8v
IFRoZSBBUk0gRUFCSSBzcGVjaWZpZXMgdGhhdCB0aGUgc3RhY2sgbmVlZHMgdG8gYmUgMTYgYnl0
ZSBhbGlnbmVkLgorICAgICJiaWMgICAgICAgcjAsIHIwLCAjMHhmIiAiXG4iCisgICAgIm1vdiAg
ICAgICBzcCwgcjAiICJcbiIKKworICAgICJzdHIgICAgICAgbHIsIFtzcCwgIyIgU1RSSU5HSVpF
X1ZBTFVFX09GKFBST0JFX0NQVV9QQ19PRkZTRVQpICJdIiAiXG4iCisgICAgImFkZCAgICAgICBs
ciwgc3AsICMiIFNUUklOR0laRV9WQUxVRV9PRihQUk9CRV9DUFVfUjFfT0ZGU0VUKSAiXG4iCisg
ICAgInN0bWlhICAgICBsciwgeyByMS1yMTEgfSIgIlxuIgorICAgICJtcnMgICAgICAgbHIsIEFQ
U1IiICJcbiIKKyAgICAic3RyICAgICAgIGxyLCBbc3AsICMiIFNUUklOR0laRV9WQUxVRV9PRihQ
Uk9CRV9DUFVfQVBTUl9PRkZTRVQpICJdIiAiXG4iCisgICAgInZtcnMgICAgICBsciwgRlBTQ1Ii
ICJcbiIKKyAgICAic3RyICAgICAgIGxyLCBbc3AsICMiIFNUUklOR0laRV9WQUxVRV9PRihQUk9C
RV9DUFVfRlBTQ1JfT0ZGU0VUKSAiXSIgIlxuIgorCisgICAgImxkciAgICAgICBsciwgW2lwLCAj
MCAqICIgU1RSSU5HSVpFX1ZBTFVFX09GKFBUUl9TSVpFKSAiXSIgIlxuIgorICAgICJzdHIgICAg
ICAgbHIsIFtzcCwgIyIgU1RSSU5HSVpFX1ZBTFVFX09GKFBST0JFX1BST0JFX0ZVTkNUSU9OX09G
RlNFVCkgIl0iICJcbiIKKyAgICAibGRyICAgICAgIGxyLCBbaXAsICMxICogIiBTVFJJTkdJWkVf
VkFMVUVfT0YoUFRSX1NJWkUpICJdIiAiXG4iCisgICAgInN0ciAgICAgICBsciwgW3NwLCAjIiBT
VFJJTkdJWkVfVkFMVUVfT0YoUFJPQkVfQVJHMV9PRkZTRVQpICJdIiAiXG4iCisgICAgImxkciAg
ICAgICBsciwgW2lwLCAjMiAqICIgU1RSSU5HSVpFX1ZBTFVFX09GKFBUUl9TSVpFKSAiXSIgIlxu
IgorICAgICJzdHIgICAgICAgbHIsIFtzcCwgIyIgU1RSSU5HSVpFX1ZBTFVFX09GKFBST0JFX0FS
RzJfT0ZGU0VUKSAiXSIgIlxuIgorICAgICJsZHIgICAgICAgbHIsIFtpcCwgIzMgKiAiIFNUUklO
R0laRV9WQUxVRV9PRihQVFJfU0laRSkgIl0iICJcbiIKKyAgICAic3RyICAgICAgIGxyLCBbc3As
ICMiIFNUUklOR0laRV9WQUxVRV9PRihQUk9CRV9DUFVfUjBfT0ZGU0VUKSAiXSIgIlxuIgorICAg
ICJsZHIgICAgICAgbHIsIFtpcCwgIzQgKiAiIFNUUklOR0laRV9WQUxVRV9PRihQVFJfU0laRSkg
Il0iICJcbiIKKyAgICAic3RyICAgICAgIGxyLCBbc3AsICMiIFNUUklOR0laRV9WQUxVRV9PRihQ
Uk9CRV9DUFVfSVBfT0ZGU0VUKSAiXSIgIlxuIgorICAgICJsZHIgICAgICAgbHIsIFtpcCwgIzUg
KiAiIFNUUklOR0laRV9WQUxVRV9PRihQVFJfU0laRSkgIl0iICJcbiIKKyAgICAic3RyICAgICAg
IGxyLCBbc3AsICMiIFNUUklOR0laRV9WQUxVRV9PRihQUk9CRV9DUFVfTFJfT0ZGU0VUKSAiXSIg
IlxuIgorICAgICJsZHIgICAgICAgbHIsIFtpcCwgIzYgKiAiIFNUUklOR0laRV9WQUxVRV9PRihQ
VFJfU0laRSkgIl0iICJcbiIKKyAgICAic3RyICAgICAgIGxyLCBbc3AsICMiIFNUUklOR0laRV9W
QUxVRV9PRihQUk9CRV9DUFVfU1BfT0ZGU0VUKSAiXSIgIlxuIgorICAgICJzdHIgICAgICAgbHIs
IFtzcCwgIyIgU1RSSU5HSVpFX1ZBTFVFX09GKFBST0JFX0pJVF9TVEFDS19GUkFNRV9PRkZTRVQp
ICJdIiAiXG4iCisKKyAgICAibGRyICAgICAgIGxyLCBbc3AsICMiIFNUUklOR0laRV9WQUxVRV9P
RihQUk9CRV9DUFVfUENfT0ZGU0VUKSAiXSIgIlxuIgorCisgICAgImFkZCAgICAgICBpcCwgc3As
ICMiIFNUUklOR0laRV9WQUxVRV9PRihQUk9CRV9DUFVfRDBfT0ZGU0VUKSAiXG4iCisjaWYgQ1BV
KEFQUExFX0FSTVY3UykKKyAgICAidnN0bWlhLjY0IGlwLCB7IGQwLWQzMSB9IiAiXG4iCisjZWxz
ZQorICAgICJ2c3RtaWEuNjQgaXAsIHsgZDAtZDE1IH0iICJcbiIKKyNlbmRpZgorCisgICAgIm1v
diAgICAgICBmcCwgc3AiICJcbiIgLy8gU2F2ZSB0aGUgUHJvYmVDb250ZXh0Ki4KKworICAgICJs
ZHIgICAgICAgaXAsIFtzcCwgIyIgU1RSSU5HSVpFX1ZBTFVFX09GKFBST0JFX1BST0JFX0ZVTkNU
SU9OX09GRlNFVCkgIl0iICJcbiIKKyAgICAibW92ICAgICAgIHIwLCBzcCIgIlxuIiAvLyB0aGUg
UHJvYmVDb250ZXh0KiBhcmcuCisgICAgImJseCAgICAgICBpcCIgIlxuIgorCisgICAgIm1vdiAg
ICAgICBzcCwgZnAiICJcbiIKKworICAgIC8vIFRvIGVuYWJsZSBwcm9iZXMgdG8gbW9kaWZ5IHJl
Z2lzdGVyIHN0YXRlLCB3ZSBjb3B5IGFsbCByZWdpc3RlcnMKKyAgICAvLyBvdXQgb2YgdGhlIFBy
b2JlQ29udGV4dCBiZWZvcmUgcmV0dXJuaW5nLgorCisjaWYgQ1BVKEFQUExFX0FSTVY3UykKKyAg
ICAiYWRkICAgICAgIGlwLCBzcCwgIyIgU1RSSU5HSVpFX1ZBTFVFX09GKFBST0JFX0NQVV9EMzFf
T0ZGU0VUICsgRlBSRUdfU0laRSkgIlxuIgorICAgICJ2bGRtZGIuNjQgaXAhLCB7IGQwLWQzMSB9
IiAiXG4iCisjZWxzZQorICAgICJhZGQgICAgICAgaXAsIHNwLCAjIiBTVFJJTkdJWkVfVkFMVUVf
T0YoUFJPQkVfQ1BVX0QxNV9PRkZTRVQgKyBGUFJFR19TSVpFKSAiXG4iCisgICAgInZsZG1kYi42
NCBpcCEsIHsgZDAtZDE1IH0iICJcbiIKKyNlbmRpZgorICAgICJhZGQgICAgICAgaXAsIHNwLCAj
IiBTVFJJTkdJWkVfVkFMVUVfT0YoUFJPQkVfQ1BVX1IxMV9PRkZTRVQgKyBHUFJFR19TSVpFKSAi
XG4iCisgICAgImxkbWRiICAgICBpcCwgeyByMC1yMTEgfSIgIlxuIgorICAgICJsZHIgICAgICAg
aXAsIFtzcCwgIyIgU1RSSU5HSVpFX1ZBTFVFX09GKFBST0JFX0NQVV9GUFNDUl9PRkZTRVQpICJd
IiAiXG4iCisgICAgInZtc3IgICAgICBGUFNDUiwgaXAiICJcbiIKKworICAgIC8vIFRoZXJlIGFy
ZSA1IG1vcmUgcmVnaXN0ZXJzIGxlZnQgdG8gcmVzdG9yZTogaXAsIHNwLCBsciwgcGMsIGFuZCBh
cHNyLgorICAgIC8vIFRoZXJlIGFyZSAyIGlzc3VlcyB0aGF0IGNvbXBsaWNhdGUgdGhlIHJlc3Rv
cmF0aW9uIG9mIHRoZXNlIGxhc3QgZmV3CisgICAgLy8gcmVnaXN0ZXJzOgorICAgIC8vCisgICAg
Ly8gMS4gTm9ybWFsIEFSTSBjYWxsaW5nIGNvbnZlbnRpb24gcmVsaWVzIG9uIG1vdmluZyBsciB0
byBwYyB0byByZXR1cm4gdG8KKyAgICAvLyAgICB0aGUgY2FsbGVyLiBJbiBvdXIgY2FzZSwgdGhl
IGFkZHJlc3MgdG8gcmV0dXJuIHRvIGlzIHNwZWNpZmllZCBieQorICAgIC8vICAgIFByb2JlQ29u
dGV4dC5jcHUucGMuIEFuZCBhdCB0aGF0IG1vbWVudCwgd2Ugd29uJ3QgaGF2ZSBhbnkgYXZhaWxh
YmxlCisgICAgLy8gICAgc2NyYXRjaCByZWdpc3RlcnMgdG8gaG9sZCB0aGUgcmV0dXJuIGFkZHJl
c3MgKGxyIG5lZWRzIHRvIGhvbGQKKyAgICAvLyAgICBQcm9iZUNvbnRleHQuY3B1LmxyLCBub3Qg
dGhlIHJldHVybiBhZGRyZXNzKS4KKyAgICAvLworICAgIC8vICAgIFRoZSBzb2x1dGlvbiBpcyB0
byBzdG9yZSB0aGUgcmV0dXJuIGFkZHJlc3Mgb24gdGhlIHN0YWNrIGFuZCBsb2FkIHRoZQorICAg
IC8vICAgICBwYyBmcm9tIHRoZXJlLgorICAgIC8vCisgICAgLy8gMi4gSXNzdWUgMSBtZWFucyB3
ZSB3aWxsIG5lZWQgdG8gd3JpdGUgdG8gdGhlIHN0YWNrIGxvY2F0aW9uIGF0CisgICAgLy8gICAg
UHJvYmVDb250ZXh0LmNwdS5zcCAtIDQuIEJ1dCBpZiB0aGUgdXNlciBwcm9iZSBmdW5jdGlvbiBo
YWQgIG1vZGlmaWVkCisgICAgLy8gICAgdGhlIHZhbHVlIG9mIFByb2JlQ29udGV4dC5jcHUuc3Ag
dG8gcG9pbnQgaW4gdGhlIHJhbmdlIGJldHdlZW4KKyAgICAvLyAgICAmUHJvYmVDb250ZXh0LmNw
dS5pcCB0aHJ1ICZQcm9iZUNvbnRleHQuY3B1LmFzcHIsIHRoZW4gdGhlIGFjdGlvbiBmb3IKKyAg
ICAvLyAgICBJc3N1ZSAxIG1heSB0cmFzaCB0aGUgdmFsdWVzIHRvIGJlIHJlc3RvcmVkIGJlZm9y
ZSB3ZSBjYW4gcmVzdG9yZQorICAgIC8vICAgIHRoZW0uCisgICAgLy8KKyAgICAvLyAgICBUaGUg
c29sdXRpb24gaXMgdG8gY2hlY2sgaWYgUHJvYmVDb250ZXh0LmNwdS5zcCBjb250YWlucyBhIHZh
bHVlIGluCisgICAgLy8gICAgdGhlIHVuZGVzaXJhYmxlIHJhbmdlLiBJZiBzbywgd2UgY29weSB0
aGUgcmVtYWluaW5nIFByb2JlQ29udGV4dAorICAgIC8vICAgIHJlZ2lzdGVyIGRhdGEgdG8gYSBz
YWZlIHJhbmdlIChhdCBtZW1vcnkgbG93ZXIgdGhhbiB3aGVyZQorICAgIC8vICAgIFByb2JlQ29u
dGV4dC5jcHUuc3AgcG9pbnRzKSBmaXJzdCwgYW5kIHJlc3RvcmUgdGhlIHJlbWFpbmluZyByZWdp
c3RlcgorICAgIC8vICAgIGZyb20gdGhpcyBuZXcgcmFuZ2UuCisKKyAgICAiYWRkICAgICAgIGlw
LCBzcCwgIyIgU1RSSU5HSVpFX1ZBTFVFX09GKFBST0JFX0NQVV9BUFNSX09GRlNFVCkgIlxuIgor
ICAgICJsZHIgICAgICAgbHIsIFtzcCwgIyIgU1RSSU5HSVpFX1ZBTFVFX09GKFBST0JFX0NQVV9T
UF9PRkZTRVQpICJdIiAiXG4iCisgICAgImNtcCAgICAgICBsciwgaXAiICJcbiIKKyAgICAiaXQg
ICAgICAgIGd0IiAiXG4iCisgICAgImJndCAgICAgIiBTWU1CT0xfU1RSSU5HKGN0aU1hc21Qcm9i
ZVRyYW1wb2xpbmVFbmQpICJcbiIKKworICAgIC8vIFdlIGdldCBoZXJlIGJlY2F1c2UgdGhlIG5l
dyBleHBlY3RlZCBzdGFjayBwb2ludGVyIGxvY2F0aW9uIGlzIGxvd2VyCisgICAgLy8gdGhhbiB3
aGVyZSBpdCdzIHN1cHBvc2VkIHRvIGJlLiBUaGlzIG1lYW5zIHRoZSBzYWZlIHJhbmdlIG9mIHN0
YWNrCisgICAgLy8gbWVtb3J5IHdoZXJlIHdlJ2xsIGJlIGNvcHlpbmcgdGhlIHJlbWFpbmluZyBy
ZWdpc3RlciByZXN0b3JlIHZhbHVlcyB0bworICAgIC8vIG1pZ2h0IGJlIGluIGEgcmVnaW9uIG9m
IG1lbW9yeSBiZWxvdyB0aGUgc3AgaS5lLiB1bmFsbG9jYXRlZCBzdGFjaworICAgIC8vIG1lbW9y
eS4gVGhpcywgaW4gdHVybiwgbWFrZXMgaXQgdnVsbmVyYWJsZSB0byBpbnRlcnJ1cHRzIHBvdGVu
dGlhbGx5CisgICAgLy8gdHJhc2hpbmcgdGhlIGNvcGllZCB2YWx1ZXMuIFRvIHByZXZlbnQgdGhh
dCwgd2UgbXVzdCBmaXJzdCBhbGxvY2F0ZSB0aGUKKyAgICAvLyBuZWVkZWQgc3RhY2sgbWVtb3J5
IGJ5IGFkanVzdGluZyB0aGUgc3AgYmVmb3JlIHRoZSBjb3B5aW5nLgorCisgICAgInN1YiAgICAg
ICBsciwgbHIsICMoNiAqICIgU1RSSU5HSVpFX1ZBTFVFX09GKFBUUl9TSVpFKSAKKyAgICAgICAg
ICAgICAgICAgICAgICAgICAiICsgIiBTVFJJTkdJWkVfVkFMVUVfT0YoUFJPQkVfQ1BVX0lQX09G
RlNFVCkgIikiICJcbiIKKworICAgICJtb3YgICAgICAgaXAsIHNwIiAiXG4iCisgICAgIm1vdiAg
ICAgICBzcCwgbHIiICJcbiIKKyAgICAibW92ICAgICAgIGxyLCBpcCIgIlxuIgorCisgICAgImxk
ciAgICAgICBpcCwgW2xyLCAjIiBTVFJJTkdJWkVfVkFMVUVfT0YoUFJPQkVfQ1BVX0lQX09GRlNF
VCkgIl0iICJcbiIKKyAgICAic3RyICAgICAgIGlwLCBbc3AsICMiIFNUUklOR0laRV9WQUxVRV9P
RihQUk9CRV9DUFVfSVBfT0ZGU0VUKSAiXSIgIlxuIgorICAgICJsZHIgICAgICAgaXAsIFtsciwg
IyIgU1RSSU5HSVpFX1ZBTFVFX09GKFBST0JFX0NQVV9TUF9PRkZTRVQpICJdIiAiXG4iCisgICAg
InN0ciAgICAgICBpcCwgW3NwLCAjIiBTVFJJTkdJWkVfVkFMVUVfT0YoUFJPQkVfQ1BVX1NQX09G
RlNFVCkgIl0iICJcbiIKKyAgICAibGRyICAgICAgIGlwLCBbbHIsICMiIFNUUklOR0laRV9WQUxV
RV9PRihQUk9CRV9DUFVfTFJfT0ZGU0VUKSAiXSIgIlxuIgorICAgICJzdHIgICAgICAgaXAsIFtz
cCwgIyIgU1RSSU5HSVpFX1ZBTFVFX09GKFBST0JFX0NQVV9MUl9PRkZTRVQpICJdIiAiXG4iCisg
ICAgImxkciAgICAgICBpcCwgW2xyLCAjIiBTVFJJTkdJWkVfVkFMVUVfT0YoUFJPQkVfQ1BVX1BD
X09GRlNFVCkgIl0iICJcbiIKKyAgICAic3RyICAgICAgIGlwLCBbc3AsICMiIFNUUklOR0laRV9W
QUxVRV9PRihQUk9CRV9DUFVfUENfT0ZGU0VUKSAiXSIgIlxuIgorICAgICJsZHIgICAgICAgaXAs
IFtsciwgIyIgU1RSSU5HSVpFX1ZBTFVFX09GKFBST0JFX0NQVV9BUFNSX09GRlNFVCkgIl0iICJc
biIKKyAgICAic3RyICAgICAgIGlwLCBbc3AsICMiIFNUUklOR0laRV9WQUxVRV9PRihQUk9CRV9D
UFVfQVBTUl9PRkZTRVQpICJdIiAiXG4iCisKKyIudGh1bWJfZnVuYyAiIFRIVU1CX0ZVTkNfUEFS
QU0oY3RpTWFzbVByb2JlVHJhbXBvbGluZUVuZCkgIlxuIgorU1lNQk9MX1NUUklORyhjdGlNYXNt
UHJvYmVUcmFtcG9saW5lRW5kKSAiOiIgIlxuIgorICAgICJsZHIgICAgICAgaXAsIFtzcCwgIyIg
U1RSSU5HSVpFX1ZBTFVFX09GKFBST0JFX0NQVV9QQ19PRkZTRVQpICJdIiAiXG4iCisgICAgImxk
ciAgICAgICBsciwgW3NwLCAjIiBTVFJJTkdJWkVfVkFMVUVfT0YoUFJPQkVfQ1BVX1NQX09GRlNF
VCkgIl0iICJcbiIKKyAgICAic3ViICAgICAgIGxyLCBsciwgIyIgU1RSSU5HSVpFX1ZBTFVFX09G
KFBUUl9TSVpFKSAiXG4iCisgICAgInN0ciAgICAgICBpcCwgW2xyXSIgIlxuIgorICAgICJzdHIg
ICAgICAgbHIsIFtzcCwgIyIgU1RSSU5HSVpFX1ZBTFVFX09GKFBST0JFX0NQVV9TUF9PRkZTRVQp
ICJdIiAiXG4iCisKKyAgICAibGRyICAgICAgIGlwLCBbc3AsICMiIFNUUklOR0laRV9WQUxVRV9P
RihQUk9CRV9DUFVfQVBTUl9PRkZTRVQpICJdIiAiXG4iCisgICAgIm1zciAgICAgICBBUFNSLCBp
cCIgIlxuIgorICAgICJsZHIgICAgICAgaXAsIFtzcCwgIyIgU1RSSU5HSVpFX1ZBTFVFX09GKFBS
T0JFX0NQVV9MUl9PRkZTRVQpICJdIiAiXG4iCisgICAgIm1vdiAgICAgICBsciwgaXAiICJcbiIK
KyAgICAibGRyICAgICAgIGlwLCBbc3AsICMiIFNUUklOR0laRV9WQUxVRV9PRihQUk9CRV9DUFVf
SVBfT0ZGU0VUKSAiXSIgIlxuIgorICAgICJsZHIgICAgICAgc3AsIFtzcCwgIyIgU1RSSU5HSVpF
X1ZBTFVFX09GKFBST0JFX0NQVV9TUF9PRkZTRVQpICJdIiAiXG4iCisKKyAgICAicG9wICAgICAg
IHsgcGMgfSIgIlxuIgorKTsKKyNlbmRpZiAvLyBVU0UoTUFTTV9QUk9CRSkKKworCiAjZGVmaW5l
IERFRklORV9TVFVCX0ZVTkNUSU9OKHJ0eXBlLCBvcCkgXAogICAgIGV4dGVybiAiQyIgeyBcCiAg
ICAgICAgIHJ0eXBlIEpJVFN0dWJUaHVua2VkXyMjb3AoU1RVQl9BUkdTX0RFQ0xBUkFUSU9OKTsg
XApJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9KSVRTdHVic1g4Ni5oCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklUU3R1YnNYODYuaAkocmV2aXNpb24g
MTUwNDkzKQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9KSVRTdHVic1g4Ni5oCSh3b3Jr
aW5nIGNvcHkpCkBAIC0xMDMsMTIgKzEwMywyNSBAQCBhc20gKAogSElERV9TWU1CT0woY3RpTWFz
bVByb2JlVHJhbXBvbGluZSkgIlxuIgogU1lNQk9MX1NUUklORyhjdGlNYXNtUHJvYmVUcmFtcG9s
aW5lKSAiOiIgIlxuIgogCi0gICAgLy8gTWFjcm9Bc3NlbWJsZXI6OnByb2JlKCkgaGFzIGFscmVh
ZHkgZ2VuZXJhdGVkIGNvZGUgdG8gc2F2ZS9zdG9yZSB0aGUKLSAgICAvLyB2YWx1ZXMgZm9yIGVh
eCBhbmQgZXNwIGluIHRoZSBQcm9iZUNvbnRleHQuIFNhdmUvc3RvcmUgdGhlIHJlbWFpbmluZwot
ICAgIC8vIHJlZ2lzdGVycyBoZXJlLgorICAgICJwdXNoZmQiICJcbiIKIAotICAgICJwb3BsICVl
YXgiICJcbiIKLSAgICAibW92bCAlZWF4LCAiIFNUUklOR0laRV9WQUxVRV9PRihQUk9CRV9DUFVf
RUlQX09GRlNFVCkgIiglZXNwKSIgIlxuIgorICAgIC8vIE1hY3JvQXNzZW1ibGVyOjpwcm9iZSgp
IGhhcyBhbHJlYWR5IGdlbmVyYXRlZCBjb2RlIHRvIHN0b3JlIHNvbWUgdmFsdWVzLgorICAgIC8v
IFRvZ2V0aGVyIHdpdGggdGhlIGVmbGFncyBwdXNoZWQgYWJvdmUsIHRoZSB0b3Agb2Ygc3RhY2sg
bm93IGxvb2tzIGxpa2UKKyAgICAvLyB0aGlzOgorICAgIC8vICAgICBlc3BbMCAqIHB0clNpemVd
OiBlZmxhZ3MKKyAgICAvLyAgICAgZXNwWzEgKiBwdHJTaXplXTogcmV0dXJuIGFkZHJlc3MgLyBz
YXZlZCBlaXAKKyAgICAvLyAgICAgZXNwWzIgKiBwdHJTaXplXTogcHJvYmVGdW5jdGlvbgorICAg
IC8vICAgICBlc3BbMyAqIHB0clNpemVdOiBhcmcxCisgICAgLy8gICAgIGVzcFs0ICogcHRyU2l6
ZV06IGFyZzIKKyAgICAvLyAgICAgZXNwWzUgKiBwdHJTaXplXTogc2F2ZWQgZWF4CisgICAgLy8g
ICAgIGVzcFs2ICogcHRyU2l6ZV06IHNhdmVkIGVzcAorCisgICAgIm1vdmwgJWVzcCwgJWVheCIg
IlxuIgorICAgICJzdWJsICQiIFNUUklOR0laRV9WQUxVRV9PRihQUk9CRV9TSVpFKSAiLCAlZXNw
IiAiXG4iCisKKyAgICAvLyBUaGUgWDg2XzY0IEFCSSBzcGVjaWZpZXMgdGhhdCB0aGUgd29yc2Ug
Y2FzZSBzdGFjayBhbGlnbm1lbnQgcmVxdWlyZW1lbnQKKyAgICAvLyBpcyAzMiBieXRlcy4KKyAg
ICAiYW5kbCAkfjB4MWYsICVlc3AiICJcbiIKIAogICAgICJtb3ZsICVlYnAsICIgU1RSSU5HSVpF
X1ZBTFVFX09GKFBST0JFX0NQVV9FQlBfT0ZGU0VUKSAiKCVlc3ApIiAiXG4iCiAgICAgIm1vdmwg
JWVzcCwgJWVicCIgIlxuIiAvLyBTYXZlIHRoZSBQcm9iZUNvbnRleHQqLgpAQCAtMTE5LDYgKzEz
MiwyMiBAQCBTWU1CT0xfU1RSSU5HKGN0aU1hc21Qcm9iZVRyYW1wb2xpbmUpICI6CiAgICAgIm1v
dmwgJWVzaSwgIiBTVFJJTkdJWkVfVkFMVUVfT0YoUFJPQkVfQ1BVX0VTSV9PRkZTRVQpICIoJWVi
cCkiICJcbiIKICAgICAibW92bCAlZWRpLCAiIFNUUklOR0laRV9WQUxVRV9PRihQUk9CRV9DUFVf
RURJX09GRlNFVCkgIiglZWJwKSIgIlxuIgogCisgICAgIm1vdmwgMCAqICIgU1RSSU5HSVpFX1ZB
TFVFX09GKFBUUl9TSVpFKSAiKCVlYXgpLCAlZWN4IiAiXG4iCisgICAgIm1vdmwgJWVjeCwgIiBT
VFJJTkdJWkVfVkFMVUVfT0YoUFJPQkVfQ1BVX0VGTEFHU19PRkZTRVQpICIoJWVicCkiICJcbiIK
KyAgICAibW92bCAxICogIiBTVFJJTkdJWkVfVkFMVUVfT0YoUFRSX1NJWkUpICIoJWVheCksICVl
Y3giICJcbiIKKyAgICAibW92bCAlZWN4LCAiIFNUUklOR0laRV9WQUxVRV9PRihQUk9CRV9DUFVf
RUlQX09GRlNFVCkgIiglZWJwKSIgIlxuIgorICAgICJtb3ZsIDIgKiAiIFNUUklOR0laRV9WQUxV
RV9PRihQVFJfU0laRSkgIiglZWF4KSwgJWVjeCIgIlxuIgorICAgICJtb3ZsICVlY3gsICIgU1RS
SU5HSVpFX1ZBTFVFX09GKFBST0JFX1BST0JFX0ZVTkNUSU9OX09GRlNFVCkgIiglZWJwKSIgIlxu
IgorICAgICJtb3ZsIDMgKiAiIFNUUklOR0laRV9WQUxVRV9PRihQVFJfU0laRSkgIiglZWF4KSwg
JWVjeCIgIlxuIgorICAgICJtb3ZsICVlY3gsICIgU1RSSU5HSVpFX1ZBTFVFX09GKFBST0JFX0FS
RzFfT0ZGU0VUKSAiKCVlYnApIiAiXG4iCisgICAgIm1vdmwgNCAqICIgU1RSSU5HSVpFX1ZBTFVF
X09GKFBUUl9TSVpFKSAiKCVlYXgpLCAlZWN4IiAiXG4iCisgICAgIm1vdmwgJWVjeCwgIiBTVFJJ
TkdJWkVfVkFMVUVfT0YoUFJPQkVfQVJHMl9PRkZTRVQpICIoJWVicCkiICJcbiIKKyAgICAibW92
bCA1ICogIiBTVFJJTkdJWkVfVkFMVUVfT0YoUFRSX1NJWkUpICIoJWVheCksICVlY3giICJcbiIK
KyAgICAibW92bCAlZWN4LCAiIFNUUklOR0laRV9WQUxVRV9PRihQUk9CRV9DUFVfRUFYX09GRlNF
VCkgIiglZWJwKSIgIlxuIgorICAgICJtb3ZsIDYgKiAiIFNUUklOR0laRV9WQUxVRV9PRihQVFJf
U0laRSkgIiglZWF4KSwgJWVjeCIgIlxuIgorICAgICJtb3ZsICVlY3gsICIgU1RSSU5HSVpFX1ZB
TFVFX09GKFBST0JFX0NQVV9FU1BfT0ZGU0VUKSAiKCVlYnApIiAiXG4iCisgICAgIm1vdmwgJWVj
eCwgIiBTVFJJTkdJWkVfVkFMVUVfT0YoUFJPQkVfSklUX1NUQUNLX0ZSQU1FX09GRlNFVCkgIigl
ZWJwKSIgIlxuIgorCiAgICAgIm1vdmRxYSAleG1tMCwgIiBTVFJJTkdJWkVfVkFMVUVfT0YoUFJP
QkVfQ1BVX1hNTTBfT0ZGU0VUKSAiKCVlYnApIiAiXG4iCiAgICAgIm1vdmRxYSAleG1tMSwgIiBT
VFJJTkdJWkVfVkFMVUVfT0YoUFJPQkVfQ1BVX1hNTTFfT0ZGU0VUKSAiKCVlYnApIiAiXG4iCiAg
ICAgIm1vdmRxYSAleG1tMiwgIiBTVFJJTkdJWkVfVkFMVUVfT0YoUFJPQkVfQ1BVX1hNTTJfT0ZG
U0VUKSAiKCVlYnApIiAiXG4iCkBAIC0xMjgsOSArMTU3LDYgQEAgU1lNQk9MX1NUUklORyhjdGlN
YXNtUHJvYmVUcmFtcG9saW5lKSAiOgogICAgICJtb3ZkcWEgJXhtbTYsICIgU1RSSU5HSVpFX1ZB
TFVFX09GKFBST0JFX0NQVV9YTU02X09GRlNFVCkgIiglZWJwKSIgIlxuIgogICAgICJtb3ZkcWEg
JXhtbTcsICIgU1RSSU5HSVpFX1ZBTFVFX09GKFBST0JFX0NQVV9YTU03X09GRlNFVCkgIiglZWJw
KSIgIlxuIgogCi0gICAgIm1vdmwgIiBTVFJJTkdJWkVfVkFMVUVfT0YoUFJPQkVfQ1BVX0VTUF9P
RkZTRVQpICIoJWVicCksICVlYXgiICJcbiIKLSAgICAibW92bCAlZWF4LCAiIFNUUklOR0laRV9W
QUxVRV9PRihQUk9CRV9KSVRfU1RBQ0tfRlJBTUVfT0ZGU0VUKSAiKCVlYnApIiAiXG4iCi0KICAg
ICAvLyBSZXNlcnZlIHN0YWNrIHNwYWNlIGZvciB0aGUgYXJnIHdoaWxlIG1haW50YWluaW5nIHRo
ZSByZXF1aXJlZCBzdGFjawogICAgIC8vIHBvaW50ZXIgMzIgYnl0ZSBhbGlnbm1lbnQ6CiAgICAg
InN1YmwgJDB4MjAsICVlc3AiICJcbiIKQEAgLTEzOCwxNCArMTY0LDExIEBAIFNZTUJPTF9TVFJJ
TkcoY3RpTWFzbVByb2JlVHJhbXBvbGluZSkgIjoKIAogICAgICJjYWxsICoiIFNUUklOR0laRV9W
QUxVRV9PRihQUk9CRV9QUk9CRV9GVU5DVElPTl9PRkZTRVQpICIoJWVicCkiICJcbiIKIAotICAg
IC8vIFRvIGVuYWJsZSBwcm9iZXMgdG8gbW9kaWZ5IHJlZ2lzdGVyIHN0YXRlLCB3ZSBjb3B5IGFs
bCByZWdpZXN0ZXJzCisgICAgLy8gVG8gZW5hYmxlIHByb2JlcyB0byBtb2RpZnkgcmVnaXN0ZXIg
c3RhdGUsIHdlIGNvcHkgYWxsIHJlZ2lzdGVycwogICAgIC8vIG91dCBvZiB0aGUgUHJvYmVDb250
ZXh0IGJlZm9yZSByZXR1cm5pbmcuCiAKLSAgICAibW92bCAiIFNUUklOR0laRV9WQUxVRV9PRihQ
Uk9CRV9DUFVfRUFYX09GRlNFVCkgIiglZWJwKSwgJWVheCIgIlxuIgotICAgICJtb3ZsICIgU1RS
SU5HSVpFX1ZBTFVFX09GKFBST0JFX0NQVV9FQ1hfT0ZGU0VUKSAiKCVlYnApLCAlZWN4IiAiXG4i
CiAgICAgIm1vdmwgIiBTVFJJTkdJWkVfVkFMVUVfT0YoUFJPQkVfQ1BVX0VEWF9PRkZTRVQpICIo
JWVicCksICVlZHgiICJcbiIKICAgICAibW92bCAiIFNUUklOR0laRV9WQUxVRV9PRihQUk9CRV9D
UFVfRUJYX09GRlNFVCkgIiglZWJwKSwgJWVieCIgIlxuIgotICAgICJtb3ZsICIgU1RSSU5HSVpF
X1ZBTFVFX09GKFBST0JFX0NQVV9FU1BfT0ZGU0VUKSAiKCVlYnApLCAlZXNwIiAiXG4iCiAgICAg
Im1vdmwgIiBTVFJJTkdJWkVfVkFMVUVfT0YoUFJPQkVfQ1BVX0VTSV9PRkZTRVQpICIoJWVicCks
ICVlc2kiICJcbiIKICAgICAibW92bCAiIFNUUklOR0laRV9WQUxVRV9PRihQUk9CRV9DUFVfRURJ
X09GRlNFVCkgIiglZWJwKSwgJWVkaSIgIlxuIgogCkBAIC0xNTgsOSArMTgxLDcyIEBAIFNZTUJP
TF9TVFJJTkcoY3RpTWFzbVByb2JlVHJhbXBvbGluZSkgIjoKICAgICAibW92ZHFhICIgU1RSSU5H
SVpFX1ZBTFVFX09GKFBST0JFX0NQVV9YTU02X09GRlNFVCkgIiglZWJwKSwgJXhtbTYiICJcbiIK
ICAgICAibW92ZHFhICIgU1RSSU5HSVpFX1ZBTFVFX09GKFBST0JFX0NQVV9YTU03X09GRlNFVCkg
IiglZWJwKSwgJXhtbTciICJcbiIKIAotICAgICJwdXNobCAiIFNUUklOR0laRV9WQUxVRV9PRihQ
Uk9CRV9DUFVfRUlQX09GRlNFVCkgIiglZWJwKSIgIlxuIgorICAgIC8vIFRoZXJlIGFyZSA2IG1v
cmUgcmVnaXN0ZXJzIGxlZnQgdG8gcmVzdG9yZToKKyAgICAvLyAgICAgZWF4LCBlY3gsIGVicCwg
ZXNwLCBlaXAsIGFuZCBlZmxhZ3MuCisgICAgLy8gV2UgbmVlZCB0byBoYW5kbGUgdGhlc2UgbGFz
dCBmZXcgcmVzdG9yZXMgY2FyZWZ1bGx5IGJlY2F1c2U6CisgICAgLy8KKyAgICAvLyAxLiBXZSBu
ZWVkIHRvIHB1c2ggdGhlIHJldHVybiBhZGRyZXNzIG9uIHRoZSBzdGFjayBmb3IgcmV0IHRvIHVz
ZQorICAgIC8vICAgIFRoYXQgbWVhbnMgd2UgbmVlZCB0byB3cml0ZSB0byB0aGUgc3RhY2suCisg
ICAgLy8gMi4gVGhlIHVzZXIgcHJvYmUgZnVuY3Rpb24gbWF5IGhhdmUgYWx0ZXJlZCB0aGUgcmVz
dG9yZSB2YWx1ZSBvZiBlc3AgdG8KKyAgICAvLyAgICBwb2ludCB0byB0aGUgdmljaW5pdHkgb2Yg
b25lIG9mIHRoZSByZXN0b3JlIHZhbHVlcyBmb3IgdGhlIHJlbWFpbmluZworICAgIC8vICAgIHJl
Z2lzdGVycyBsZWZ0IHRvIGJlIHJlc3RvcmVkLgorICAgIC8vICAgIFRoYXQgbWVhbnMsIGZvciBy
ZXF1aXJlbWVudCAxLCB3ZSBtYXkgZW5kIHVwIHdyaXRpbmcgb3ZlciBzb21lIG9mIHRoZQorICAg
IC8vICAgIHJlc3RvcmUgdmFsdWVzLiBXZSBjYW4gY2hlY2sgZm9yIHRoaXMsIGFuZCBmaXJzdCBj
b3B5IHRoZSByZXN0b3JlCisgICAgLy8gICAgdmFsdWVzIHRvIGEgInNhZmUgYXJlYSIgb24gdGhl
IHN0YWNrIGJlZm9yZSBjb21tZW5jaW5nIHdpdGggdGhlIGFjdGlvbgorICAgIC8vICAgIGZvciBy
ZXF1aXJlbWVudCAxLgorICAgIC8vIDMuIEZvciBib3RoIHJlcXVpcmVtZW50IDIsIHdlIG5lZWQg
dG8gZW5zdXJlIHRoYXQgdGhlICJzYWZlIGFyZWEiIGlzCisgICAgLy8gICAgcHJvdGVjdGVkIGZy
b20gaW50ZXJydXB0IGhhbmRsZXJzIG92ZXJ3cml0aW5nIGl0LiBIZW5jZSwgdGhlIGVzcCBuZWVk
cworICAgIC8vICAgIHRvIGJlIGFkanVzdGVkIHRvIGluY2x1ZGUgdGhlICJzYWZlIGFyZWEiIGJl
Zm9yZSB3ZSBzdGFydCBjb3B5aW5nIHRoZQorICAgIC8vICAgIHRoZSByZXN0b3JlIHZhbHVlcy4K
KworICAgICJtb3ZsICVlYnAsICVlYXgiICJcbiIKKyAgICAiYWRkbCAkIiBTVFJJTkdJWkVfVkFM
VUVfT0YoUFJPQkVfQ1BVX0VGTEFHU19PRkZTRVQpICIsICVlYXgiICJcbiIKKyAgICAiY21wbCAl
ZWF4LCAiIFNUUklOR0laRV9WQUxVRV9PRihQUk9CRV9DUFVfRVNQX09GRlNFVCkgIiglZWJwKSIg
IlxuIgorICAgICJqZyAiIFNZTUJPTF9TVFJJTkcoY3RpTWFzbVByb2JlVHJhbXBvbGluZUVuZCkg
IlxuIgorCisgICAgLy8gTG9jYXRlIHRoZSAic2FmZSBhcmVhIiBhdCAyeCBzaXplb2YoUHJvYmVD
b250ZXh0KSBiZWxvdyB3aGVyZSB0aGUgbmV3CisgICAgLy8gcnNwIHdpbGwgYmUuIFRoaXMgdGlt
ZSB3ZSBkb24ndCBoYXZlIHRvIDMyLWJ5dGUgYWxpZ24gaXQgYmVjYXVzZSB3ZSdyZQorICAgIC8v
IG5vdCB1c2luZyB0byBzdG9yZSBhbnkgeG1tIHJlZ3MuCisgICAgIm1vdmwgIiBTVFJJTkdJWkVf
VkFMVUVfT0YoUFJPQkVfQ1BVX0VTUF9PRkZTRVQpICIoJWVicCksICVlYXgiICJcbiIKKyAgICAi
c3VibCAkMiAqICIgU1RSSU5HSVpFX1ZBTFVFX09GKFBST0JFX1NJWkUpICIsICVlYXgiICJcbiIK
KyAgICAibW92bCAlZWF4LCAlZXNwIiAiXG4iCiAKLSAgICAibW92bCAiIFNUUklOR0laRV9WQUxV
RV9PRihQUk9CRV9DUFVfRUJQX09GRlNFVCkgIiglZWJwKSwgJWVicCIgIlxuIgorICAgICJzdWJs
ICQiIFNUUklOR0laRV9WQUxVRV9PRihQUk9CRV9DUFVfRUFYX09GRlNFVCkgIiwgJWVheCIgIlxu
IgorICAgICJtb3ZsICIgU1RSSU5HSVpFX1ZBTFVFX09GKFBST0JFX0NQVV9FQVhfT0ZGU0VUKSAi
KCVlYnApLCAlZWN4IiAiXG4iCisgICAgIm1vdmwgJWVjeCwgIiBTVFJJTkdJWkVfVkFMVUVfT0Yo
UFJPQkVfQ1BVX0VBWF9PRkZTRVQpICIoJWVheCkiICJcbiIKKyAgICAibW92bCAiIFNUUklOR0la
RV9WQUxVRV9PRihQUk9CRV9DUFVfRUNYX09GRlNFVCkgIiglZWJwKSwgJWVjeCIgIlxuIgorICAg
ICJtb3ZsICVlY3gsICIgU1RSSU5HSVpFX1ZBTFVFX09GKFBST0JFX0NQVV9FQ1hfT0ZGU0VUKSAi
KCVlYXgpIiAiXG4iCisgICAgIm1vdmwgIiBTVFJJTkdJWkVfVkFMVUVfT0YoUFJPQkVfQ1BVX0VC
UF9PRkZTRVQpICIoJWVicCksICVlY3giICJcbiIKKyAgICAibW92bCAlZWN4LCAiIFNUUklOR0la
RV9WQUxVRV9PRihQUk9CRV9DUFVfRUJQX09GRlNFVCkgIiglZWF4KSIgIlxuIgorICAgICJtb3Zs
ICIgU1RSSU5HSVpFX1ZBTFVFX09GKFBST0JFX0NQVV9FU1BfT0ZGU0VUKSAiKCVlYnApLCAlZWN4
IiAiXG4iCisgICAgIm1vdmwgJWVjeCwgIiBTVFJJTkdJWkVfVkFMVUVfT0YoUFJPQkVfQ1BVX0VT
UF9PRkZTRVQpICIoJWVheCkiICJcbiIKKyAgICAibW92bCAiIFNUUklOR0laRV9WQUxVRV9PRihQ
Uk9CRV9DUFVfRUlQX09GRlNFVCkgIiglZWJwKSwgJWVjeCIgIlxuIgorICAgICJtb3ZsICVlY3gs
ICIgU1RSSU5HSVpFX1ZBTFVFX09GKFBST0JFX0NQVV9FSVBfT0ZGU0VUKSAiKCVlYXgpIiAiXG4i
CisgICAgIm1vdmwgIiBTVFJJTkdJWkVfVkFMVUVfT0YoUFJPQkVfQ1BVX0VGTEFHU19PRkZTRVQp
ICIoJWVicCksICVlY3giICJcbiIKKyAgICAibW92bCAlZWN4LCAiIFNUUklOR0laRV9WQUxVRV9P
RihQUk9CRV9DUFVfRUZMQUdTX09GRlNFVCkgIiglZWF4KSIgIlxuIgorICAgICJtb3ZsICVlYXgs
ICVlYnAiICJcbiIKKworU1lNQk9MX1NUUklORyhjdGlNYXNtUHJvYmVUcmFtcG9saW5lRW5kKSAi
OiIgIlxuIgorICAgICJtb3ZsICIgU1RSSU5HSVpFX1ZBTFVFX09GKFBST0JFX0NQVV9FU1BfT0ZG
U0VUKSAiKCVlYnApLCAlZWF4IiAiXG4iCisgICAgInN1YmwgJDUgKiAiIFNUUklOR0laRV9WQUxV
RV9PRihQVFJfU0laRSkgIiwgJWVheCIgIlxuIgorICAgIC8vIEF0IHRoaXMgcG9pbnQsICVlc3Ag
c2hvdWxkIGJlIDwgJWVheC4KKworICAgICJtb3ZsICIgU1RSSU5HSVpFX1ZBTFVFX09GKFBST0JF
X0NQVV9FRkxBR1NfT0ZGU0VUKSAiKCVlYnApLCAlZWN4IiAiXG4iCisgICAgIm1vdmwgJWVjeCwg
MCAqICIgU1RSSU5HSVpFX1ZBTFVFX09GKFBUUl9TSVpFKSAiKCVlYXgpIiAiXG4iCisgICAgIm1v
dmwgIiBTVFJJTkdJWkVfVkFMVUVfT0YoUFJPQkVfQ1BVX0VBWF9PRkZTRVQpICIoJWVicCksICVl
Y3giICJcbiIKKyAgICAibW92bCAlZWN4LCAxICogIiBTVFJJTkdJWkVfVkFMVUVfT0YoUFRSX1NJ
WkUpICIoJWVheCkiICJcbiIKKyAgICAibW92bCAiIFNUUklOR0laRV9WQUxVRV9PRihQUk9CRV9D
UFVfRUNYX09GRlNFVCkgIiglZWJwKSwgJWVjeCIgIlxuIgorICAgICJtb3ZsICVlY3gsIDIgKiAi
IFNUUklOR0laRV9WQUxVRV9PRihQVFJfU0laRSkgIiglZWF4KSIgIlxuIgorICAgICJtb3ZsICIg
U1RSSU5HSVpFX1ZBTFVFX09GKFBST0JFX0NQVV9FQlBfT0ZGU0VUKSAiKCVlYnApLCAlZWN4IiAi
XG4iCisgICAgIm1vdmwgJWVjeCwgMyAqICIgU1RSSU5HSVpFX1ZBTFVFX09GKFBUUl9TSVpFKSAi
KCVlYXgpIiAiXG4iCisgICAgIm1vdmwgIiBTVFJJTkdJWkVfVkFMVUVfT0YoUFJPQkVfQ1BVX0VJ
UF9PRkZTRVQpICIoJWVicCksICVlY3giICJcbiIKKyAgICAibW92bCAlZWN4LCA0ICogIiBTVFJJ
TkdJWkVfVkFMVUVfT0YoUFRSX1NJWkUpICIoJWVheCkiICJcbiIKKyAgICAibW92bCAlZWF4LCAl
ZXNwIiAiXG4iCisKKyAgICAicG9wZmQiICJcbiIKKyAgICAicG9wbCAlZWF4IiAiXG4iCisgICAg
InBvcGwgJWVjeCIgIlxuIgorICAgICJwb3BsICVlYnAiICJcbiIKICAgICAicmV0IiAiXG4iCiAp
OwogI2VuZGlmIC8vIFVTRShNQVNNX1BST0JFKQpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3Jl
L2ppdC9KSVRTdHVic1g4NkNvbW1vbi5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0
Q29yZS9qaXQvSklUU3R1YnNYODZDb21tb24uaAkocmV2aXNpb24gMTUwNDkzKQorKysgU291cmNl
L0phdmFTY3JpcHRDb3JlL2ppdC9KSVRTdHVic1g4NkNvbW1vbi5oCSh3b3JraW5nIGNvcHkpCkBA
IC01MiwxNyArNTIsMTYgQEAgbmFtZXNwYWNlIEpTQyB7CiAjZGVmaW5lIFBST0JFX0pJVF9TVEFD
S19GUkFNRV9PRkZTRVQgKDMgKiBQVFJfU0laRSkKIAogI2RlZmluZSBQUk9CRV9DUFVfRUFYX09G
RlNFVCAoNCAqIFBUUl9TSVpFKQotI2RlZmluZSBQUk9CRV9DUFVfRUNYX09GRlNFVCAoNSAqIFBU
Ul9TSVpFKQotI2RlZmluZSBQUk9CRV9DUFVfRURYX09GRlNFVCAoNiAqIFBUUl9TSVpFKQotI2Rl
ZmluZSBQUk9CRV9DUFVfRUJYX09GRlNFVCAoNyAqIFBUUl9TSVpFKQotI2RlZmluZSBQUk9CRV9D
UFVfRVNQX09GRlNFVCAoOCAqIFBUUl9TSVpFKQotI2RlZmluZSBQUk9CRV9DUFVfRUJQX09GRlNF
VCAoOSAqIFBUUl9TSVpFKQotI2RlZmluZSBQUk9CRV9DUFVfRVNJX09GRlNFVCAoMTAgKiBQVFJf
U0laRSkKLSNkZWZpbmUgUFJPQkVfQ1BVX0VESV9PRkZTRVQgKDExICogUFRSX1NJWkUpCisjZGVm
aW5lIFBST0JFX0NQVV9FQlhfT0ZGU0VUICg1ICogUFRSX1NJWkUpCisjZGVmaW5lIFBST0JFX0NQ
VV9FQ1hfT0ZGU0VUICg2ICogUFRSX1NJWkUpCisjZGVmaW5lIFBST0JFX0NQVV9FRFhfT0ZGU0VU
ICg3ICogUFRSX1NJWkUpCisjZGVmaW5lIFBST0JFX0NQVV9FU0lfT0ZGU0VUICg4ICogUFRSX1NJ
WkUpCisjZGVmaW5lIFBST0JFX0NQVV9FRElfT0ZGU0VUICg5ICogUFRSX1NJWkUpCisjZGVmaW5l
IFBST0JFX0NQVV9FQlBfT0ZGU0VUICgxMCAqIFBUUl9TSVpFKQorI2RlZmluZSBQUk9CRV9DUFVf
RVNQX09GRlNFVCAoMTEgKiBQVFJfU0laRSkKIAogI2lmIENQVShYODYpCi0jZGVmaW5lIFBST0JF
X0NQVV9FSVBfT0ZGU0VUICgxMiAqIFBUUl9TSVpFKQotI2RlZmluZSBQUk9CRV9GSVJTVF9YTU1f
T0ZGU0VUICgxNiAqIFBUUl9TSVpFKSAvLyBBZnRlciBwYWRkaW5nLgorI2RlZmluZSBQUk9CRV9G
SVJTVF9TUEVDSUFMX09GRlNFVCAoMTIgKiBQVFJfU0laRSkKICNlbHNlIC8vIENQVShYODZfNjQp
CiAjZGVmaW5lIFBST0JFX0NQVV9SOF9PRkZTRVQgKDEyICogUFRSX1NJWkUpCiAjZGVmaW5lIFBS
T0JFX0NQVV9SOV9PRkZTRVQgKDEzICogUFRSX1NJWkUpCkBAIC03Miw4ICs3MSwxNiBAQCBuYW1l
c3BhY2UgSlNDIHsKICNkZWZpbmUgUFJPQkVfQ1BVX1IxM19PRkZTRVQgKDE3ICogUFRSX1NJWkUp
CiAjZGVmaW5lIFBST0JFX0NQVV9SMTRfT0ZGU0VUICgxOCAqIFBUUl9TSVpFKQogI2RlZmluZSBQ
Uk9CRV9DUFVfUjE1X09GRlNFVCAoMTkgKiBQVFJfU0laRSkKLSNkZWZpbmUgUFJPQkVfQ1BVX0VJ
UF9PRkZTRVQgKDIwICogUFRSX1NJWkUpCi0jZGVmaW5lIFBST0JFX0ZJUlNUX1hNTV9PRkZTRVQg
KDIyICogUFRSX1NJWkUpIC8vIEFmdGVyIHBhZGRpbmcuCisjZGVmaW5lIFBST0JFX0ZJUlNUX1NQ
RUNJQUxfT0ZGU0VUICgyMCAqIFBUUl9TSVpFKQorI2VuZGlmIC8vIENQVShYODZfNjQpCisKKyNk
ZWZpbmUgUFJPQkVfQ1BVX0VJUF9PRkZTRVQgKFBST0JFX0ZJUlNUX1NQRUNJQUxfT0ZGU0VUICsg
KDAgKiBQVFJfU0laRSkpCisjZGVmaW5lIFBST0JFX0NQVV9FRkxBR1NfT0ZGU0VUIChQUk9CRV9G
SVJTVF9TUEVDSUFMX09GRlNFVCArICgxICogUFRSX1NJWkUpKQorCisjaWYgQ1BVKFg4NikKKyNk
ZWZpbmUgUFJPQkVfRklSU1RfWE1NX09GRlNFVCAoUFJPQkVfRklSU1RfU1BFQ0lBTF9PRkZTRVQg
KyAoNCAqIFBUUl9TSVpFKSkgLy8gQWZ0ZXIgcGFkZGluZy4KKyNlbHNlIC8vIENQVShYODZfNjQp
CisjZGVmaW5lIFBST0JFX0ZJUlNUX1hNTV9PRkZTRVQgKFBST0JFX0ZJUlNUX1NQRUNJQUxfT0ZG
U0VUICsgKDIgKiBQVFJfU0laRSkpIC8vIEFmdGVyIHBhZGRpbmcuCiAjZW5kaWYgLy8gQ1BVKFg4
Nl82NCkKIAogI2RlZmluZSBYTU1fU0laRSAxNgpAQCAtODYsNiArOTMsNyBAQCBuYW1lc3BhY2Ug
SlNDIHsKICNkZWZpbmUgUFJPQkVfQ1BVX1hNTTZfT0ZGU0VUIChQUk9CRV9GSVJTVF9YTU1fT0ZG
U0VUICsgKDYgKiBYTU1fU0laRSkpCiAjZGVmaW5lIFBST0JFX0NQVV9YTU03X09GRlNFVCAoUFJP
QkVfRklSU1RfWE1NX09GRlNFVCArICg3ICogWE1NX1NJWkUpKQogCisjZGVmaW5lIFBST0JFX1NJ
WkUgKFBST0JFX0NQVV9YTU03X09GRlNFVCArIFhNTV9TSVpFKQogCiAvLyBUaGVzZSBBU1NFUlRz
IHJlbWluZCB5b3UgdGhhdCBpZiB5b3UgY2hhbmdlIHRoZSBsYXlvdXQgb2YgUHJvYmVDb250ZXh0
LAogLy8geW91IG5lZWQgdG8gY2hhbmdlIGN0aU1hc21Qcm9iZVRyYW1wb2xpbmUgb2Zmc2V0cyBh
Ym92ZSB0byBtYXRjaC4KQEAgLTEwMyw2ICsxMTEsOCBAQCBDT01QSUxFX0FTU0VSVChQUk9CRV9P
RkZTRVRPRihjcHUuZXNwKSA9CiBDT01QSUxFX0FTU0VSVChQUk9CRV9PRkZTRVRPRihjcHUuZWJw
KSA9PSBQUk9CRV9DUFVfRUJQX09GRlNFVCwgUHJvYmVDb250ZXh0X2NwdV9lYnBfb2Zmc2V0X21h
dGNoZXNfY3RpTWFzbVByb2JlVHJhbXBvbGluZSk7CiBDT01QSUxFX0FTU0VSVChQUk9CRV9PRkZT
RVRPRihjcHUuZXNpKSA9PSBQUk9CRV9DUFVfRVNJX09GRlNFVCwgUHJvYmVDb250ZXh0X2NwdV9l
c2lfb2Zmc2V0X21hdGNoZXNfY3RpTWFzbVByb2JlVHJhbXBvbGluZSk7CiBDT01QSUxFX0FTU0VS
VChQUk9CRV9PRkZTRVRPRihjcHUuZWRpKSA9PSBQUk9CRV9DUFVfRURJX09GRlNFVCwgUHJvYmVD
b250ZXh0X2NwdV9lZGlfb2Zmc2V0X21hdGNoZXNfY3RpTWFzbVByb2JlVHJhbXBvbGluZSk7CitD
T01QSUxFX0FTU0VSVChQUk9CRV9PRkZTRVRPRihjcHUuZWlwKSA9PSBQUk9CRV9DUFVfRUlQX09G
RlNFVCwgUHJvYmVDb250ZXh0X2NwdV9laXBfb2Zmc2V0X21hdGNoZXNfY3RpTWFzbVByb2JlVHJh
bXBvbGluZSk7CitDT01QSUxFX0FTU0VSVChQUk9CRV9PRkZTRVRPRihjcHUuZWZsYWdzKSA9PSBQ
Uk9CRV9DUFVfRUZMQUdTX09GRlNFVCwgUHJvYmVDb250ZXh0X2NwdV9lZmxhZ3Nfb2Zmc2V0X21h
dGNoZXNfY3RpTWFzbVByb2JlVHJhbXBvbGluZSk7CiAKICNpZiBDUFUoWDg2XzY0KQogQ09NUElM
RV9BU1NFUlQoUFJPQkVfT0ZGU0VUT0YoY3B1LnI4KSA9PSBQUk9CRV9DUFVfUjhfT0ZGU0VULCBQ
cm9iZUNvbnRleHRfY3B1X3I4X29mZnNldF9tYXRjaGVzX2N0aU1hc21Qcm9iZVRyYW1wb2xpbmUp
OwpAQCAtMTE1LDggKzEyNSw2IEBAIENPTVBJTEVfQVNTRVJUKFBST0JFX09GRlNFVE9GKGNwdS5y
MTQpID0KIENPTVBJTEVfQVNTRVJUKFBST0JFX09GRlNFVE9GKGNwdS5yMTUpID09IFBST0JFX0NQ
VV9SMTVfT0ZGU0VULCBQcm9iZUNvbnRleHRfY3B1X3IxNV9vZmZzZXRfbWF0Y2hlc19jdGlNYXNt
UHJvYmVUcmFtcG9saW5lKTsKICNlbmRpZiAvLyBDUFUoWDg2XzY0KQogCi1DT01QSUxFX0FTU0VS
VChQUk9CRV9PRkZTRVRPRihjcHUuZWlwKSA9PSBQUk9CRV9DUFVfRUlQX09GRlNFVCwgUHJvYmVD
b250ZXh0X2NwdV9laXBfb2Zmc2V0X21hdGNoZXNfY3RpTWFzbVByb2JlVHJhbXBvbGluZSk7Ci0K
IENPTVBJTEVfQVNTRVJUKFBST0JFX09GRlNFVE9GKGNwdS54bW0wKSA9PSBQUk9CRV9DUFVfWE1N
MF9PRkZTRVQsIFByb2JlQ29udGV4dF9jcHVfeG1tMF9vZmZzZXRfbWF0Y2hlc19jdGlNYXNtUHJv
YmVUcmFtcG9saW5lKTsKIENPTVBJTEVfQVNTRVJUKFBST0JFX09GRlNFVE9GKGNwdS54bW0xKSA9
PSBQUk9CRV9DUFVfWE1NMV9PRkZTRVQsIFByb2JlQ29udGV4dF9jcHVfeG1tMV9vZmZzZXRfbWF0
Y2hlc19jdGlNYXNtUHJvYmVUcmFtcG9saW5lKTsKIENPTVBJTEVfQVNTRVJUKFBST0JFX09GRlNF
VE9GKGNwdS54bW0yKSA9PSBQUk9CRV9DUFVfWE1NMl9PRkZTRVQsIFByb2JlQ29udGV4dF9jcHVf
eG1tMl9vZmZzZXRfbWF0Y2hlc19jdGlNYXNtUHJvYmVUcmFtcG9saW5lKTsKQEAgLTEyNiw2ICsx
MzQsOCBAQCBDT01QSUxFX0FTU0VSVChQUk9CRV9PRkZTRVRPRihjcHUueG1tNSkgCiBDT01QSUxF
X0FTU0VSVChQUk9CRV9PRkZTRVRPRihjcHUueG1tNikgPT0gUFJPQkVfQ1BVX1hNTTZfT0ZGU0VU
LCBQcm9iZUNvbnRleHRfY3B1X3htbTZfb2Zmc2V0X21hdGNoZXNfY3RpTWFzbVByb2JlVHJhbXBv
bGluZSk7CiBDT01QSUxFX0FTU0VSVChQUk9CRV9PRkZTRVRPRihjcHUueG1tNykgPT0gUFJPQkVf
Q1BVX1hNTTdfT0ZGU0VULCBQcm9iZUNvbnRleHRfY3B1X3htbTdfb2Zmc2V0X21hdGNoZXNfY3Rp
TWFzbVByb2JlVHJhbXBvbGluZSk7CiAKK0NPTVBJTEVfQVNTRVJUKHNpemVvZihNYWNyb0Fzc2Vt
Ymxlcjo6UHJvYmVDb250ZXh0KSA9PSBQUk9CRV9TSVpFLCBQcm9iZUNvbnRleHRfc2l6ZV9tYXRj
aGVzX2N0aU1hc21Qcm9iZVRyYW1wb2xpbmUpOworCiAvLyBBbHNvIGRvdWJsZSBjaGVjayB0aGF0
IHRoZSB4bW0gcmVnaXN0ZXJzIGFyZSAxNiBieXRlICgxMjgtYml0KSBhbGlnbmVkIGFzCiAvLyBy
ZXF1aXJlZCBieSB0aGUgbW92ZHFhIGluc3RydWN0aW9uIHVzZWQgaW4gdGhlIHRyYW1wb2xpbmUu
CiBDT01QSUxFX0FTU0VSVCghKFBST0JFX09GRlNFVE9GKGNwdS54bW0wKSAlIDE2KSwgUHJvYmVD
b250ZXh0X3htbTBfb2Zmc2V0X25vdF9hbGlnbmVkX3Byb3Blcmx5KTsKSW5kZXg6IFNvdXJjZS9K
YXZhU2NyaXB0Q29yZS9qaXQvSklUU3R1YnNYODZfNjQuaAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2Uv
SmF2YVNjcmlwdENvcmUvaml0L0pJVFN0dWJzWDg2XzY0LmgJKHJldmlzaW9uIDE1MDQ5MykKKysr
IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklUU3R1YnNYODZfNjQuaAkod29ya2luZyBjb3B5
KQpAQCAtMTE4LDEyICsxMTgsMjUgQEAgYXNtICgKIEhJREVfU1lNQk9MKGN0aU1hc21Qcm9iZVRy
YW1wb2xpbmUpICJcbiIKIFNZTUJPTF9TVFJJTkcoY3RpTWFzbVByb2JlVHJhbXBvbGluZSkgIjoi
ICJcbiIKIAotICAgIC8vIE1hY3JvQXNzZW1ibGVyOjpwcm9iZSgpIGhhcyBhbHJlYWR5IGdlbmVy
YXRlZCBjb2RlIHRvIHNhdmUvc3RvcmUgdGhlCi0gICAgLy8gdmFsdWVzIGZvciByYXggYW5kIHJz
cCBpbiB0aGUgUHJvYmVDb250ZXh0LiBTYXZlL3N0b3JlIHRoZSByZW1haW5pbmcKLSAgICAvLyBy
ZWdpc3RlcnMgaGVyZS4KKyAgICAicHVzaGZxIiAiXG4iCiAKLSAgICAicG9wcSAlcmF4IiAiXG4i
Ci0gICAgIm1vdnEgJXJheCwgIiBTVFJJTkdJWkVfVkFMVUVfT0YoUFJPQkVfQ1BVX0VJUF9PRkZT
RVQpICIoJXJzcCkiICJcbiIKKyAgICAvLyBNYWNyb0Fzc2VtYmxlcjo6cHJvYmUoKSBoYXMgYWxy
ZWFkeSBnZW5lcmF0ZWQgY29kZSB0byBzdG9yZSBzb21lIHZhbHVlcy4KKyAgICAvLyBUb2dldGhl
ciB3aXRoIHRoZSByZmxhZ3MgcHVzaGVkIGFib3ZlLCB0aGUgdG9wIG9mIHN0YWNrIG5vdyBsb29r
cyBsaWtlCisgICAgLy8gdGhpczoKKyAgICAvLyAgICAgZXNwWzAgKiBwdHJTaXplXTogcmZsYWdz
CisgICAgLy8gICAgIGVzcFsxICogcHRyU2l6ZV06IHJldHVybiBhZGRyZXNzIC8gc2F2ZWQgcmlw
CisgICAgLy8gICAgIGVzcFsyICogcHRyU2l6ZV06IHByb2JlRnVuY3Rpb24KKyAgICAvLyAgICAg
ZXNwWzMgKiBwdHJTaXplXTogYXJnMQorICAgIC8vICAgICBlc3BbNCAqIHB0clNpemVdOiBhcmcy
CisgICAgLy8gICAgIGVzcFs1ICogcHRyU2l6ZV06IHNhdmVkIHJheAorICAgIC8vICAgICBlc3Bb
NiAqIHB0clNpemVdOiBzYXZlZCByc3AKKworICAgICJtb3ZxICVyc3AsICVyYXgiICJcbiIKKyAg
ICAic3VicSAkIiBTVFJJTkdJWkVfVkFMVUVfT0YoUFJPQkVfU0laRSkgIiwgJXJzcCIgIlxuIgor
CisgICAgLy8gVGhlIFg4Nl82NCBBQkkgc3BlY2lmaWVzIHRoYXQgdGhlIHdvcnNlIGNhc2Ugc3Rh
Y2sgYWxpZ25tZW50IHJlcXVpcmVtZW50CisgICAgLy8gaXMgMzIgYnl0ZXMuCisgICAgImFuZHEg
JH4weDFmLCAlcnNwIiAiXG4iCiAKICAgICAibW92cSAlcmJwLCAiIFNUUklOR0laRV9WQUxVRV9P
RihQUk9CRV9DUFVfRUJQX09GRlNFVCkgIiglcnNwKSIgIlxuIgogICAgICJtb3ZxICVyc3AsICVy
YnAiICJcbiIgLy8gU2F2ZSB0aGUgUHJvYmVDb250ZXh0Ki4KQEAgLTEzNCw2ICsxNDcsMjIgQEAg
U1lNQk9MX1NUUklORyhjdGlNYXNtUHJvYmVUcmFtcG9saW5lKSAiOgogICAgICJtb3ZxICVyc2ks
ICIgU1RSSU5HSVpFX1ZBTFVFX09GKFBST0JFX0NQVV9FU0lfT0ZGU0VUKSAiKCVyYnApIiAiXG4i
CiAgICAgIm1vdnEgJXJkaSwgIiBTVFJJTkdJWkVfVkFMVUVfT0YoUFJPQkVfQ1BVX0VESV9PRkZT
RVQpICIoJXJicCkiICJcbiIKIAorICAgICJtb3ZxIDAgKiAiIFNUUklOR0laRV9WQUxVRV9PRihQ
VFJfU0laRSkgIiglcmF4KSwgJXJjeCIgIlxuIgorICAgICJtb3ZxICVyY3gsICIgU1RSSU5HSVpF
X1ZBTFVFX09GKFBST0JFX0NQVV9FRkxBR1NfT0ZGU0VUKSAiKCVyYnApIiAiXG4iCisgICAgIm1v
dnEgMSAqICIgU1RSSU5HSVpFX1ZBTFVFX09GKFBUUl9TSVpFKSAiKCVyYXgpLCAlcmN4IiAiXG4i
CisgICAgIm1vdnEgJXJjeCwgIiBTVFJJTkdJWkVfVkFMVUVfT0YoUFJPQkVfQ1BVX0VJUF9PRkZT
RVQpICIoJXJicCkiICJcbiIKKyAgICAibW92cSAyICogIiBTVFJJTkdJWkVfVkFMVUVfT0YoUFRS
X1NJWkUpICIoJXJheCksICVyY3giICJcbiIKKyAgICAibW92cSAlcmN4LCAiIFNUUklOR0laRV9W
QUxVRV9PRihQUk9CRV9QUk9CRV9GVU5DVElPTl9PRkZTRVQpICIoJXJicCkiICJcbiIKKyAgICAi
bW92cSAzICogIiBTVFJJTkdJWkVfVkFMVUVfT0YoUFRSX1NJWkUpICIoJXJheCksICVyY3giICJc
biIKKyAgICAibW92cSAlcmN4LCAiIFNUUklOR0laRV9WQUxVRV9PRihQUk9CRV9BUkcxX09GRlNF
VCkgIiglcmJwKSIgIlxuIgorICAgICJtb3ZxIDQgKiAiIFNUUklOR0laRV9WQUxVRV9PRihQVFJf
U0laRSkgIiglcmF4KSwgJXJjeCIgIlxuIgorICAgICJtb3ZxICVyY3gsICIgU1RSSU5HSVpFX1ZB
TFVFX09GKFBST0JFX0FSRzJfT0ZGU0VUKSAiKCVyYnApIiAiXG4iCisgICAgIm1vdnEgNSAqICIg
U1RSSU5HSVpFX1ZBTFVFX09GKFBUUl9TSVpFKSAiKCVyYXgpLCAlcmN4IiAiXG4iCisgICAgIm1v
dnEgJXJjeCwgIiBTVFJJTkdJWkVfVkFMVUVfT0YoUFJPQkVfQ1BVX0VBWF9PRkZTRVQpICIoJXJi
cCkiICJcbiIKKyAgICAibW92cSA2ICogIiBTVFJJTkdJWkVfVkFMVUVfT0YoUFRSX1NJWkUpICIo
JXJheCksICVyY3giICJcbiIKKyAgICAibW92cSAlcmN4LCAiIFNUUklOR0laRV9WQUxVRV9PRihQ
Uk9CRV9DUFVfRVNQX09GRlNFVCkgIiglcmJwKSIgIlxuIgorICAgICJtb3ZxICVyY3gsICIgU1RS
SU5HSVpFX1ZBTFVFX09GKFBST0JFX0pJVF9TVEFDS19GUkFNRV9PRkZTRVQpICIoJXJicCkiICJc
biIKKwogICAgICJtb3ZxICVyOCwgIiBTVFJJTkdJWkVfVkFMVUVfT0YoUFJPQkVfQ1BVX1I4X09G
RlNFVCkgIiglcmJwKSIgIlxuIgogICAgICJtb3ZxICVyOSwgIiBTVFJJTkdJWkVfVkFMVUVfT0Yo
UFJPQkVfQ1BVX1I5X09GRlNFVCkgIiglcmJwKSIgIlxuIgogICAgICJtb3ZxICVyMTAsICIgU1RS
SU5HSVpFX1ZBTFVFX09GKFBST0JFX0NQVV9SMTBfT0ZGU0VUKSAiKCVyYnApIiAiXG4iCkBAIC0x
NTIsMjAgKzE4MSwxNCBAQCBTWU1CT0xfU1RSSU5HKGN0aU1hc21Qcm9iZVRyYW1wb2xpbmUpICI6
CiAgICAgIm1vdmRxYSAleG1tNiwgIiBTVFJJTkdJWkVfVkFMVUVfT0YoUFJPQkVfQ1BVX1hNTTZf
T0ZGU0VUKSAiKCVyYnApIiAiXG4iCiAgICAgIm1vdmRxYSAleG1tNywgIiBTVFJJTkdJWkVfVkFM
VUVfT0YoUFJPQkVfQ1BVX1hNTTdfT0ZGU0VUKSAiKCVyYnApIiAiXG4iCiAKLSAgICAibW92cSAi
IFNUUklOR0laRV9WQUxVRV9PRihQUk9CRV9DUFVfRVNQX09GRlNFVCkgIiglcmJwKSwgJXJheCIg
IlxuIgotICAgICJtb3ZxICVyYXgsICIgU1RSSU5HSVpFX1ZBTFVFX09GKFBST0JFX0pJVF9TVEFD
S19GUkFNRV9PRkZTRVQpICIoJXJicCkiICJcbiIKLQogICAgICJtb3ZxICVyYnAsICVyZGkiICJc
biIgLy8gdGhlIFByb2JlQ29udGV4dCogYXJnLgogICAgICJjYWxsICoiIFNUUklOR0laRV9WQUxV
RV9PRihQUk9CRV9QUk9CRV9GVU5DVElPTl9PRkZTRVQpICIoJXJicCkiICJcbiIKIAotICAgIC8v
IFRvIGVuYWJsZSBwcm9iZXMgdG8gbW9kaWZ5IHJlZ2lzdGVyIHN0YXRlLCB3ZSBjb3B5IGFsbCBy
ZWdpZXN0ZXJzCisgICAgLy8gVG8gZW5hYmxlIHByb2JlcyB0byBtb2RpZnkgcmVnaXN0ZXIgc3Rh
dGUsIHdlIGNvcHkgYWxsIHJlZ2lzdGVycwogICAgIC8vIG91dCBvZiB0aGUgUHJvYmVDb250ZXh0
IGJlZm9yZSByZXR1cm5pbmcuCiAKLSAgICAibW92cSAiIFNUUklOR0laRV9WQUxVRV9PRihQUk9C
RV9DUFVfRUFYX09GRlNFVCkgIiglcmJwKSwgJXJheCIgIlxuIgotICAgICJtb3ZxICIgU1RSSU5H
SVpFX1ZBTFVFX09GKFBST0JFX0NQVV9FQ1hfT0ZGU0VUKSAiKCVyYnApLCAlcmN4IiAiXG4iCiAg
ICAgIm1vdnEgIiBTVFJJTkdJWkVfVkFMVUVfT0YoUFJPQkVfQ1BVX0VEWF9PRkZTRVQpICIoJXJi
cCksICVyZHgiICJcbiIKICAgICAibW92cSAiIFNUUklOR0laRV9WQUxVRV9PRihQUk9CRV9DUFVf
RUJYX09GRlNFVCkgIiglcmJwKSwgJXJieCIgIlxuIgotICAgICJtb3ZxICIgU1RSSU5HSVpFX1ZB
TFVFX09GKFBST0JFX0NQVV9FU1BfT0ZGU0VUKSAiKCVyYnApLCAlcnNwIiAiXG4iCiAgICAgIm1v
dnEgIiBTVFJJTkdJWkVfVkFMVUVfT0YoUFJPQkVfQ1BVX0VTSV9PRkZTRVQpICIoJXJicCksICVy
c2kiICJcbiIKICAgICAibW92cSAiIFNUUklOR0laRV9WQUxVRV9PRihQUk9CRV9DUFVfRURJX09G
RlNFVCkgIiglcmJwKSwgJXJkaSIgIlxuIgogCkBAIC0xODcsOSArMjEwLDcxIEBAIFNZTUJPTF9T
VFJJTkcoY3RpTWFzbVByb2JlVHJhbXBvbGluZSkgIjoKICAgICAibW92ZHFhICIgU1RSSU5HSVpF
X1ZBTFVFX09GKFBST0JFX0NQVV9YTU02X09GRlNFVCkgIiglcmJwKSwgJXhtbTYiICJcbiIKICAg
ICAibW92ZHFhICIgU1RSSU5HSVpFX1ZBTFVFX09GKFBST0JFX0NQVV9YTU03X09GRlNFVCkgIigl
cmJwKSwgJXhtbTciICJcbiIKIAotICAgICJwdXNocSAiIFNUUklOR0laRV9WQUxVRV9PRihQUk9C
RV9DUFVfRUlQX09GRlNFVCkgIiglcmJwKSIgIlxuIgorICAgIC8vIFRoZXJlIGFyZSA2IG1vcmUg
cmVnaXN0ZXJzIGxlZnQgdG8gcmVzdG9yZToKKyAgICAvLyAgICAgcmF4LCByY3gsIHJicCwgcnNw
LCByaXAsIGFuZCByZmxhZ3MuCisgICAgLy8gV2UgbmVlZCB0byBoYW5kbGUgdGhlc2UgbGFzdCBm
ZXcgcmVzdG9yZXMgY2FyZWZ1bGx5IGJlY2F1c2U6CisgICAgLy8KKyAgICAvLyAxLiBXZSBuZWVk
IHRvIHB1c2ggdGhlIHJldHVybiBhZGRyZXNzIG9uIHRoZSBzdGFjayBmb3IgcmV0IHRvIHVzZQor
ICAgIC8vICAgIFRoYXQgbWVhbnMgd2UgbmVlZCB0byB3cml0ZSB0byB0aGUgc3RhY2suCisgICAg
Ly8gMi4gVGhlIHVzZXIgcHJvYmUgZnVuY3Rpb24gbWF5IGhhdmUgYWx0ZXJlZCB0aGUgcmVzdG9y
ZSB2YWx1ZSBvZiBlc3AgdG8KKyAgICAvLyAgICBwb2ludCB0byB0aGUgdmljaW5pdHkgb2Ygb25l
IG9mIHRoZSByZXN0b3JlIHZhbHVlcyBmb3IgdGhlIHJlbWFpbmluZworICAgIC8vICAgIHJlZ2lz
dGVycyBsZWZ0IHRvIGJlIHJlc3RvcmVkLgorICAgIC8vICAgIFRoYXQgbWVhbnMsIGZvciByZXF1
aXJlbWVudCAxLCB3ZSBtYXkgZW5kIHVwIHdyaXRpbmcgb3ZlciBzb21lIG9mIHRoZQorICAgIC8v
ICAgIHJlc3RvcmUgdmFsdWVzLiBXZSBjYW4gY2hlY2sgZm9yIHRoaXMsIGFuZCBmaXJzdCBjb3B5
IHRoZSByZXN0b3JlCisgICAgLy8gICAgdmFsdWVzIHRvIGEgInNhZmUgYXJlYSIgb24gdGhlIHN0
YWNrIGJlZm9yZSBjb21tZW5jaW5nIHdpdGggdGhlIGFjdGlvbgorICAgIC8vICAgIGZvciByZXF1
aXJlbWVudCAxLgorICAgIC8vIDMuIEZvciBib3RoIHJlcXVpcmVtZW50IDIsIHdlIG5lZWQgdG8g
ZW5zdXJlIHRoYXQgdGhlICJzYWZlIGFyZWEiIGlzCisgICAgLy8gICAgcHJvdGVjdGVkIGZyb20g
aW50ZXJydXB0IGhhbmRsZXJzIG92ZXJ3cml0aW5nIGl0LiBIZW5jZSwgdGhlIGVzcCBuZWVkcwor
ICAgIC8vICAgIHRvIGJlIGFkanVzdGVkIHRvIGluY2x1ZGUgdGhlICJzYWZlIGFyZWEiIGJlZm9y
ZSB3ZSBzdGFydCBjb3B5aW5nIHRoZQorICAgIC8vICAgIHRoZSByZXN0b3JlIHZhbHVlcy4KKwor
ICAgICJtb3ZxICVyYnAsICVyYXgiICJcbiIKKyAgICAiYWRkcSAkIiBTVFJJTkdJWkVfVkFMVUVf
T0YoUFJPQkVfQ1BVX0VGTEFHU19PRkZTRVQpICIsICVyYXgiICJcbiIKKyAgICAiY21wcSAlcmF4
LCAiIFNUUklOR0laRV9WQUxVRV9PRihQUk9CRV9DUFVfRVNQX09GRlNFVCkgIiglcmJwKSIgIlxu
IgorICAgICJqZyAiIFNZTUJPTF9TVFJJTkcoY3RpTWFzbVByb2JlVHJhbXBvbGluZUVuZCkgIlxu
IgorCisgICAgLy8gTG9jYXRlIHRoZSAic2FmZSBhcmVhIiBhdCAyeCBzaXplb2YoUHJvYmVDb250
ZXh0KSBiZWxvdyB3aGVyZSB0aGUgbmV3CisgICAgLy8gcnNwIHdpbGwgYmUuIFRoaXMgdGltZSB3
ZSBkb24ndCBoYXZlIHRvIDMyLWJ5dGUgYWxpZ24gaXQgYmVjYXVzZSB3ZSdyZQorICAgIC8vIG5v
dCB1c2luZyB0byBzdG9yZSBhbnkgeG1tIHJlZ3MuCisgICAgIm1vdnEgIiBTVFJJTkdJWkVfVkFM
VUVfT0YoUFJPQkVfQ1BVX0VTUF9PRkZTRVQpICIoJXJicCksICVyYXgiICJcbiIKKyAgICAic3Vi
cSAkMiAqICIgU1RSSU5HSVpFX1ZBTFVFX09GKFBST0JFX1NJWkUpICIsICVyYXgiICJcbiIKKyAg
ICAibW92cSAlcmF4LCAlcnNwIiAiXG4iCiAKLSAgICAibW92cSAiIFNUUklOR0laRV9WQUxVRV9P
RihQUk9CRV9DUFVfRUJQX09GRlNFVCkgIiglcmJwKSwgJXJicCIgIlxuIgorICAgICJtb3ZxICIg
U1RSSU5HSVpFX1ZBTFVFX09GKFBST0JFX0NQVV9FQVhfT0ZGU0VUKSAiKCVyYnApLCAlcmN4IiAi
XG4iCisgICAgIm1vdnEgJXJjeCwgIiBTVFJJTkdJWkVfVkFMVUVfT0YoUFJPQkVfQ1BVX0VBWF9P
RkZTRVQpICIoJXJheCkiICJcbiIKKyAgICAibW92cSAiIFNUUklOR0laRV9WQUxVRV9PRihQUk9C
RV9DUFVfRUNYX09GRlNFVCkgIiglcmJwKSwgJXJjeCIgIlxuIgorICAgICJtb3ZxICVyY3gsICIg
U1RSSU5HSVpFX1ZBTFVFX09GKFBST0JFX0NQVV9FQ1hfT0ZGU0VUKSAiKCVyYXgpIiAiXG4iCisg
ICAgIm1vdnEgIiBTVFJJTkdJWkVfVkFMVUVfT0YoUFJPQkVfQ1BVX0VCUF9PRkZTRVQpICIoJXJi
cCksICVyY3giICJcbiIKKyAgICAibW92cSAlcmN4LCAiIFNUUklOR0laRV9WQUxVRV9PRihQUk9C
RV9DUFVfRUJQX09GRlNFVCkgIiglcmF4KSIgIlxuIgorICAgICJtb3ZxICIgU1RSSU5HSVpFX1ZB
TFVFX09GKFBST0JFX0NQVV9FU1BfT0ZGU0VUKSAiKCVyYnApLCAlcmN4IiAiXG4iCisgICAgIm1v
dnEgJXJjeCwgIiBTVFJJTkdJWkVfVkFMVUVfT0YoUFJPQkVfQ1BVX0VTUF9PRkZTRVQpICIoJXJh
eCkiICJcbiIKKyAgICAibW92cSAiIFNUUklOR0laRV9WQUxVRV9PRihQUk9CRV9DUFVfRUlQX09G
RlNFVCkgIiglcmJwKSwgJXJjeCIgIlxuIgorICAgICJtb3ZxICVyY3gsICIgU1RSSU5HSVpFX1ZB
TFVFX09GKFBST0JFX0NQVV9FSVBfT0ZGU0VUKSAiKCVyYXgpIiAiXG4iCisgICAgIm1vdnEgIiBT
VFJJTkdJWkVfVkFMVUVfT0YoUFJPQkVfQ1BVX0VGTEFHU19PRkZTRVQpICIoJXJicCksICVyY3gi
ICJcbiIKKyAgICAibW92cSAlcmN4LCAiIFNUUklOR0laRV9WQUxVRV9PRihQUk9CRV9DUFVfRUZM
QUdTX09GRlNFVCkgIiglcmF4KSIgIlxuIgorICAgICJtb3ZxICVyYXgsICVyYnAiICJcbiIKKwor
U1lNQk9MX1NUUklORyhjdGlNYXNtUHJvYmVUcmFtcG9saW5lRW5kKSAiOiIgIlxuIgorICAgICJt
b3ZxICIgU1RSSU5HSVpFX1ZBTFVFX09GKFBST0JFX0NQVV9FU1BfT0ZGU0VUKSAiKCVyYnApLCAl
cmF4IiAiXG4iCisgICAgInN1YnEgJDUgKiAiIFNUUklOR0laRV9WQUxVRV9PRihQVFJfU0laRSkg
IiwgJXJheCIgIlxuIgorICAgIC8vIEF0IHRoaXMgcG9pbnQsICVyc3Agc2hvdWxkIGJlIDwgJXJh
eC4KKworICAgICJtb3ZxICIgU1RSSU5HSVpFX1ZBTFVFX09GKFBST0JFX0NQVV9FRkxBR1NfT0ZG
U0VUKSAiKCVyYnApLCAlcmN4IiAiXG4iCisgICAgIm1vdnEgJXJjeCwgMCAqICIgU1RSSU5HSVpF
X1ZBTFVFX09GKFBUUl9TSVpFKSAiKCVyYXgpIiAiXG4iCisgICAgIm1vdnEgIiBTVFJJTkdJWkVf
VkFMVUVfT0YoUFJPQkVfQ1BVX0VBWF9PRkZTRVQpICIoJXJicCksICVyY3giICJcbiIKKyAgICAi
bW92cSAlcmN4LCAxICogIiBTVFJJTkdJWkVfVkFMVUVfT0YoUFRSX1NJWkUpICIoJXJheCkiICJc
biIKKyAgICAibW92cSAiIFNUUklOR0laRV9WQUxVRV9PRihQUk9CRV9DUFVfRUNYX09GRlNFVCkg
IiglcmJwKSwgJXJjeCIgIlxuIgorICAgICJtb3ZxICVyY3gsIDIgKiAiIFNUUklOR0laRV9WQUxV
RV9PRihQVFJfU0laRSkgIiglcmF4KSIgIlxuIgorICAgICJtb3ZxICIgU1RSSU5HSVpFX1ZBTFVF
X09GKFBST0JFX0NQVV9FQlBfT0ZGU0VUKSAiKCVyYnApLCAlcmN4IiAiXG4iCisgICAgIm1vdnEg
JXJjeCwgMyAqICIgU1RSSU5HSVpFX1ZBTFVFX09GKFBUUl9TSVpFKSAiKCVyYXgpIiAiXG4iCisg
ICAgIm1vdnEgIiBTVFJJTkdJWkVfVkFMVUVfT0YoUFJPQkVfQ1BVX0VJUF9PRkZTRVQpICIoJXJi
cCksICVyY3giICJcbiIKKyAgICAibW92cSAlcmN4LCA0ICogIiBTVFJJTkdJWkVfVkFMVUVfT0Yo
UFRSX1NJWkUpICIoJXJheCkiICJcbiIKKyAgICAibW92cSAlcmF4LCAlcnNwIiAiXG4iCisKKyAg
ICAicG9wZnEiICJcbiIKKyAgICAicG9wcSAlcmF4IiAiXG4iCisgICAgInBvcHEgJXJjeCIgIlxu
IgorICAgICJwb3BxICVyYnAiICJcbiIKICAgICAicmV0IiAiXG4iCiApOwogI2VuZGlmIC8vIFVT
RShNQVNNX1BST0JFKQo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>203087</attachid>
            <date>2013-05-28 14:26:51 -0700</date>
            <delta_ts>2013-05-28 14:30:27 -0700</delta_ts>
            <desc>updated patch: fixed some typos, and changed some &quot;copy-and-paste&quot;d comments to just refer to the X86_64 version. </desc>
            <filename>bug-116586.patch</filename>
            <type>text/plain</type>
            <size>99822</size>
            <attacher name="Mark Lam">mark.lam</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkocmV2aXNpb24gMTUwODI5KQorKysgU291cmNl
L0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDYxIEBA
CisyMDEzLTA1LTI4ICBNYXJrIExhbSAgPG1hcmsubGFtQGFwcGxlLmNvbT4KKworICAgICAgICBN
aXNjIEpJVCBwcm9iZSBlbmhhY2VtZW50cy4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTExNjU4Ni4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkg
KE9PUFMhKS4KKworICAgICAgICAxLiBBZGRlZCBKSVQgcHJvYmUgc3VwcG9ydCBmb3IgQVJNdjcg
YW5kIHRyYWRpdGlvbmFsIEFSTS4KKyAgICAgICAgICAgQnVpbHQgYW5kIHRlc3RlZCBvbiBBUk12
Ny4gQVJNIHZlcnNpb24gbm90IHRlc3RlZCBub3IgYnVpbHQuIAorICAgICAgICAyLiBGaXggdGhl
IGZvbGxvd2luZyBidWdzIGluIHRoZSBYODYgYW5kIFg4Nl82NCBwcm9iZXM6CisgICAgICAgICAg
IGEuIENhbm5vdCBhc3N1bWUgdGhhdCB0aGUgc3RhY2sgcG9pbnRlciBpcyBhbHJlYWR5IGFsaWdu
ZWQgd2hlbgorICAgICAgICAgICAgICB3ZSBwdXNoIGFyZ3MgZm9yIHRoZSBwcm9iZS4gSW5zdGVh
ZCwgd2UgZW5zdXJlIHRoZSBzdGFjaworICAgICAgICAgICAgICBhbGlnbm1lbnQgYXQgcnVudGlt
ZSB3aGVuIHdlIHNldCB1cCB0aGUgcHJvYmUgY2FsbC4KKyAgICAgICAgICAgICAgVGhpcyBpcyBu
b3cgZG9uZSBpbiB0aGUgY3RpTWFzbVByb2JlVHJhbXBvbGluZS4KKyAgICAgICAgICAgYi4gT24g
cmV0dXJuLCB0aGUgdXNlciBwcm9iZSBmdW5jdGlvbiBtYXkgaGF2ZSBhbHRlcmVkIHRoZSBzdGFj
aworICAgICAgICAgICAgICBwb2ludGVyIHZhbHVlIHRvIGJlIHJlc3RvcmVkLiBQcmV2aW91c2x5
LCBpZiB0aGUgc3AgcmVzdG9yZSB2YWx1ZQorICAgICAgICAgICAgICBwb2ludHMgdG8gc29tZSBv
ZiB0aGUgb3RoZXIgcmVnaXN0ZXIgcmVzdG9yZSB2YWx1ZXMgaW4gdGhlCisgICAgICAgICAgICAg
IFByb2JlQ29udGV4dCByZWNvcmQsIHdlIHdpbGwgZmFpbCB0byByZXR1cm4gZnJvbSB0aGUgcHJv
YmUgaGF2aW5nCisgICAgICAgICAgICAgIHRob3NlIHVzZXIgc3BlY2lmaWVkIHZhbHVlIGFzIHdl
J3JlIGV4cGVjdGVkIHRvIGRvLgorICAgICAgICAgICAgICBUaGlzIGlzIG5vdyBmaXhlZC4KKyAg
ICAgICAgMy4gUmVhcnJhbmdlZCB0aGUgWDg2L1g4Nl82NCByZWdpc3RlcnMgb3JkZXIgdG8gb3Jn
YW5pemUgdGhlbSBsaWtlIGdkYgorICAgICAgICAgICBleHBlY3RzIG9uIFg4Nl82NC4KKyAgICAg
ICAgNC4gV2UgYWxzbyBub3cgcHJlc2VydmUgdGhlIGNvbmRpdGlvbiBjb2RlIHJlZ2lzdGVycy4K
KworICAgICAgICAqIEphdmFTY3JpcHRDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2o6Cisg
ICAgICAgICogYXNzZW1ibGVyL0FSTUFzc2VtYmxlci5oOgorICAgICAgICAqIGFzc2VtYmxlci9B
Uk12N0Fzc2VtYmxlci5oOgorICAgICAgICAoQVJNUmVnaXN0ZXJzKToKKyAgICAgICAgKiBhc3Nl
bWJsZXIvTWFjcm9Bc3NlbWJsZXJBUk0uY3BwOgorICAgICAgICAoSlNDOjppc1ZGUFByZXNlbnQp
OgorICAgICAgICAoSlNDOjpNYWNyb0Fzc2VtYmxlckFSTTo6UHJvYmVDb250ZXh0OjpkdW1wQ1BV
UmVnaXN0ZXJzKToKKyAgICAgICAgKEpTQzo6TWFjcm9Bc3NlbWJsZXJBUk06OlByb2JlQ29udGV4
dDo6ZHVtcCk6CisgICAgICAgIChKU0M6Ok1hY3JvQXNzZW1ibGVyQVJNOjpwcm9iZSk6CisgICAg
ICAgICogYXNzZW1ibGVyL01hY3JvQXNzZW1ibGVyQVJNLmg6CisgICAgICAgIChNYWNyb0Fzc2Vt
YmxlckFSTSk6CisgICAgICAgIChDUFVTdGF0ZSk6CisgICAgICAgIChQcm9iZUNvbnRleHQpOgor
ICAgICAgICAoSlNDOjpNYWNyb0Fzc2VtYmxlckFSTTo6dHJ1c3RlZEltbTMyRnJvbVB0cik6Cisg
ICAgICAgICogYXNzZW1ibGVyL01hY3JvQXNzZW1ibGVyQVJNdjcuaDoKKyAgICAgICAgKE1hY3Jv
QXNzZW1ibGVyQVJNdjcpOgorICAgICAgICAoQ1BVU3RhdGUpOgorICAgICAgICAoUHJvYmVDb250
ZXh0KToKKyAgICAgICAgKEpTQzo6TWFjcm9Bc3NlbWJsZXJBUk12Nzo6dHJ1c3RlZEltbTMyRnJv
bVB0cik6CisgICAgICAgICogYXNzZW1ibGVyL01hY3JvQXNzZW1ibGVyWDg2Lmg6CisgICAgICAg
IChNYWNyb0Fzc2VtYmxlclg4Nik6CisgICAgICAgIChKU0M6Ok1hY3JvQXNzZW1ibGVyWDg2Ojpw
cm9iZSk6CisgICAgICAgICogYXNzZW1ibGVyL01hY3JvQXNzZW1ibGVyWDg2Q29tbW9uLmNwcDoK
KyAgICAgICAgKEpTQzo6TWFjcm9Bc3NlbWJsZXJYODZDb21tb246OlByb2JlQ29udGV4dDo6ZHVt
cENQVVJlZ2lzdGVycyk6CisgICAgICAgICogYXNzZW1ibGVyL01hY3JvQXNzZW1ibGVyWDg2XzY0
Lmg6CisgICAgICAgIChKU0M6Ok1hY3JvQXNzZW1ibGVyWDg2XzY0Ojpwcm9iZSk6CisgICAgICAg
ICogYXNzZW1ibGVyL1g4NkFzc2VtYmxlci5oOgorICAgICAgICAqIGNvbmZpZy5oOgorICAgICAg
ICAqIGppdC9KSVRTdHVic0FSTS5oOgorICAgICAgICAqIGppdC9KSVRTdHVic0FSTXY3Lmg6Cisg
ICAgICAgICogaml0L0pJVFN0dWJzWDg2Lmg6CisgICAgICAgICogaml0L0pJVFN0dWJzWDg2Q29t
bW9uLmg6CisgICAgICAgICogaml0L0pJVFN0dWJzWDg2XzY0Lmg6CisKIDIwMTMtMDUtMjggIEZp
bGlwIFBpemxvICA8ZnBpemxvQGFwcGxlLmNvbT4KIAogICAgICAgICBmb3VydGhUaWVyOiBGVEwg
c2hvdWxkIHN1cHBvcnQgQXJpdGhNaW4vQXJpdGhNYXgKQEAgLTE0NTQsNiArMTUxMiwxMCBAQAog
CiAgICAgICAgIFJldmlld2VkIGJ5IEdlb2ZmcmV5IEdhcmVuLgogCisgICAgICAgIEVkaXQ6IEZv
ciBDKysgY29kZSwgeW91IGNhbiBkbyBkZWJ1Z2dpbmcgYnkgYWRkaW5nIHByaW50ZnMgdG8geW91
cgorICAgICAgICBjb2RlLiBGb3IgSklUIGdlbmVyYXRlZCBjb2RlLCB5b3UgY2FuIG5vdyBkbyB0
aGUgZXF1aXZhbGVudCBieQorICAgICAgICBpbnNlcnRpbmcgYSBwcm9iZSBhbmQgaGF2ZSBpdCBl
bWl0IGEgY2FsbCB0byB5b3VyIHByb2JlIGZ1bmN0aW9uLgorCiAgICAgICAgIFRoZSBwcm9iZSBp
cyBpbiB0aGUgZm9ybSBvZiBhIE1hY3JvQXNzZW1ibGVyIHBzZXVkbyBpbnN0cnVjdGlvbi4KICAg
ICAgICAgSXQgdGFrZXMgMyBhcmd1bWVudHM6IGEgUHJvYmVGdW5jdGlvbiwgYW5kIDIgdm9pZCog
YXJncy4KIApJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL2NvbmZpZy5oCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9jb25maWcuaAkocmV2aXNpb24gMTUwODI3KQorKysg
U291cmNlL0phdmFTY3JpcHRDb3JlL2NvbmZpZy5oCSh3b3JraW5nIGNvcHkpCkBAIC03OSw1ICs3
OSw1IEBACiAKIC8vIEVuYWJsZSB0aGUgZm9sbG93aW5nIGlmIHlvdSB3YW50IHRvIHVzZSB0aGUg
TWFjcm9Bc3NlbWJsZXI6OnByb2JlKCkgZmFjaWxpdHkKIC8vIHRvIGRvIEpJVCBkZWJ1Z2dpbmcu
Ci0jZGVmaW5lIFdURl9VU0VfTUFTTV9QUk9CRSAwCisjZGVmaW5lIFdURl9VU0VfTUFTTV9QUk9C
RSAxCiAKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9KYXZhU2NyaXB0Q29yZS54Y29kZXBy
b2ovcHJvamVjdC5wYnhwcm9qCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9K
YXZhU2NyaXB0Q29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCShyZXZpc2lvbiAxNTA4Mjcp
CisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvSmF2YVNjcmlwdENvcmUueGNvZGVwcm9qL3Byb2pl
Y3QucGJ4cHJvagkod29ya2luZyBjb3B5KQpAQCAtOTU5LDYgKzk1OSw3IEBACiAJCUZFOTQwMzIy
MTc0NDQyNTkwMDQ3Q0Y2RSAvKiBKSVRTdHVic1g4NkNvbW1vbi5oIGluIEhlYWRlcnMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRkU5NDAzMjExNzQ0NDI1OTAwNDdDRjZFIC8q
IEpJVFN0dWJzWDg2Q29tbW9uLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0
ZSwgKTsgfTsgfTsKIAkJRkVDRTc0NTcxNzQ1NDU2NTAwRkY5MzAwIC8qIE1hY3JvQXNzZW1ibGVy
WDg2Q29tbW9uLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IEZFQ0U3NDU2MTc0NTQ1NjUwMEZGOTMwMCAvKiBNYWNyb0Fzc2VtYmxlclg4NkNvbW1vbi5j
cHAgKi87IH07CiAJCUZFRDI4N0IyMTVFQzlBNTcwMERBODE2MSAvKiBMTEludE9wY29kZS5oIGlu
IEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRkVEMjg3QjExNUVD
OUE1NzAwREE4MTYxIC8qIExMSW50T3Bjb2RlLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMg
PSAoUHJpdmF0ZSwgKTsgfTsgfTsKKwkJRkVFMzE0N0QxNzRBQUNBRjAwMTNCQ0FDIC8qIE1hY3Jv
QXNzZW1ibGVyQVJNdjcuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gRkVFMzE0N0MxNzRBQUNBRjAwMTNCQ0FDIC8qIE1hY3JvQXNzZW1ibGVyQVJNdjcu
Y3BwICovOyB9OwogCQlGRUY2ODM1RTE3NDM0M0NDMDBBMzJFMjUgLyogSklUU3R1YnNBUk0uaCBp
biBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEZFRjY4MzVBMTc0
MzQzQ0MwMEEzMkUyNSAvKiBKSVRTdHVic0FSTS5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVT
ID0gKFByaXZhdGUsICk7IH07IH07CiAJCUZFRjY4MzVGMTc0MzQzQ0MwMEEzMkUyNSAvKiBKSVRT
dHVic0FSTXY3LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSBGRUY2ODM1QjE3NDM0M0NDMDBBMzJFMjUgLyogSklUU3R1YnNBUk12Ny5oICovOyBzZXR0aW5n
cyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCUZFRjY4MzYwMTc0MzQzQ0Mw
MEEzMkUyNSAvKiBKSVRTdHVic1g4Nl82NC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gRkVGNjgzNUMxNzQzNDNDQzAwQTMyRTI1IC8qIEpJVFN0dWJzWDg2
XzY0LmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKQEAg
LTE5OTMsNiArMTk5NCw3IEBACiAJCUZFOTQwMzIxMTc0NDQyNTkwMDQ3Q0Y2RSAvKiBKSVRTdHVi
c1g4NkNvbW1vbi5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9
IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBKSVRTdHVic1g4
NkNvbW1vbi5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlGRUNFNzQ1NjE3NDU0NTY1
MDBGRjkzMDAgLyogTWFjcm9Bc3NlbWJsZXJYODZDb21tb24uY3BwICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jcHAuY3BwOyBwYXRoID0gTWFjcm9Bc3NlbWJsZXJYODZDb21tb24uY3BwOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OwogCQlGRUQyODdCMTE1RUM5QTU3MDBEQTgxNjEgLyogTExJbnRP
cGNvZGUuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBuYW1lID0gTExJbnRPcGNvZGUuaDsg
cGF0aCA9IGxsaW50L0xMSW50T3Bjb2RlLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJ
CUZFRTMxNDdDMTc0QUFDQUYwMDEzQkNBQyAvKiBNYWNyb0Fzc2VtYmxlckFSTXY3LmNwcCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IE1hY3JvQXNzZW1ibGVyQVJNdjcuY3Bw
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlGRUY2ODM1QTE3NDM0M0NDMDBBMzJFMjUg
LyogSklUU3R1YnNBUk0uaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rp
bmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSklUU3R1
YnNBUk0uaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJRkVGNjgzNUIxNzQzNDNDQzAw
QTMyRTI1IC8qIEpJVFN0dWJzQVJNdjcuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBm
aWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRo
ID0gSklUU3R1YnNBUk12Ny5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlGRUY2ODM1
QzE3NDM0M0NDMDBBMzJFMjUgLyogSklUU3R1YnNYODZfNjQuaCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNv
ZGUuYy5oOyBwYXRoID0gSklUU3R1YnNYODZfNjQuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKQEAgLTMxMjIsNiArMzEyNCw3IEBACiAJCQkJODZDMzZFRTkwRUUxMjg5RDAwQjNERjU5IC8q
IE1hY3JvQXNzZW1ibGVyLmggKi8sCiAJCQkJODZDNTY4REQxMUEyMTNFRTAwMDdGN0YwIC8qIE1h
Y3JvQXNzZW1ibGVyQVJNLmNwcCAqLywKIAkJCQk4NkQzQjJDMjEwMTU2QkRFMDAyODY1RTcgLyog
TWFjcm9Bc3NlbWJsZXJBUk0uaCAqLywKKwkJCQlGRUUzMTQ3QzE3NEFBQ0FGMDAxM0JDQUMgLyog
TWFjcm9Bc3NlbWJsZXJBUk12Ny5jcHAgKi8sCiAJCQkJODZBREQxNDQwRkRERUE5ODAwMDZFRUMy
IC8qIE1hY3JvQXNzZW1ibGVyQVJNdjcuaCAqLywKIAkJCQk4NjNCMjNERjBGQzYwRTYyMDA3MDNB
QTQgLyogTWFjcm9Bc3NlbWJsZXJDb2RlUmVmLmggKi8sCiAJCQkJODZDNTY4REUxMUEyMTNFRTAw
MDdGN0YwIC8qIE1hY3JvQXNzZW1ibGVyTUlQUy5oICovLApAQCAtNDQzMSw2ICs0NDM0LDcgQEAK
IAkJCQkwRkY0Mjc0RDE1OEVCRkU2MDA0Q0I5RkYgLyogdWRpczg2X2l0YWJfaG9sZGVyLmMgaW4g
U291cmNlcyAqLywKIAkJCQkwRkY0Mjc0NTE1OEVCRTkxMDA0Q0I5RkYgLyogdWRpczg2X3N5bi1h
dHQuYyBpbiBTb3VyY2VzICovLAogCQkJCTBGRjQyNzQ2MTU4RUJFOTEwMDRDQjlGRiAvKiB1ZGlz
ODZfc3luLWludGVsLmMgaW4gU291cmNlcyAqLywKKwkJCQlGRUUzMTQ3RDE3NEFBQ0FGMDAxM0JD
QUMgLyogTWFjcm9Bc3NlbWJsZXJBUk12Ny5jcHAgaW4gU291cmNlcyAqLywKIAkJCQkwRkY0Mjc0
NzE1OEVCRTkxMDA0Q0I5RkYgLyogdWRpczg2X3N5bi5jIGluIFNvdXJjZXMgKi8sCiAJCQkJMEZG
NDI3MzIxNThFQkQ1ODAwNENCOUZGIC8qIFVEaXM4NkRpc2Fzc2VtYmxlci5jcHAgaW4gU291cmNl
cyAqLywKIAkJCQlBNzZGMjc5NDE1RjEzQzk2MDA1MTdENjcgLyogVW5saW5rZWRDb2RlQmxvY2su
Y3BwIGluIFNvdXJjZXMgKi8sCkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYXNzZW1ibGVy
L0FSTUFzc2VtYmxlci5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9hc3Nl
bWJsZXIvQVJNQXNzZW1ibGVyLmgJKHJldmlzaW9uIDE1MDgyNykKKysrIFNvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9hc3NlbWJsZXIvQVJNQXNzZW1ibGVyLmgJKHdvcmtpbmcgY29weSkKQEAgLTUwLDcg
KzUwLDcgQEAgbmFtZXNwYWNlIEpTQyB7CiAgICAgICAgICAgICByOSwKICAgICAgICAgICAgIHIx
MCwKICAgICAgICAgICAgIHIxMSwKLSAgICAgICAgICAgIHIxMiwgUzEgPSByMTIsCisgICAgICAg
ICAgICByMTIsIGlwID0gcjEyLCBTMSA9IHIxMiwKICAgICAgICAgICAgIHIxMywgc3AgPSByMTMs
CiAgICAgICAgICAgICByMTQsIGxyID0gcjE0LAogICAgICAgICAgICAgcjE1LCBwYyA9IHIxNQpA
QCAtOTEsNiArOTEsNTIgQEAgbmFtZXNwYWNlIEpTQyB7CiAgICAgICAgICAgICBkMzEKICAgICAg
ICAgfSBGUFJlZ2lzdGVySUQ7CiAKKyNpZiBVU0UoTUFTTV9QUk9CRSkKKyAgICAjZGVmaW5lIEZP
Ul9FQUNIX0NQVV9SRUdJU1RFUihWKSBcCisgICAgICAgIEZPUl9FQUNIX0NQVV9HUFJFR0lTVEVS
KFYpIFwKKyAgICAgICAgRk9SX0VBQ0hfQ1BVX1NQRUNJQUxfUkVHSVNURVIoVikgXAorICAgICAg
ICBGT1JfRUFDSF9DUFVfRlBSRUdJU1RFUihWKQorCisgICAgI2RlZmluZSBGT1JfRUFDSF9DUFVf
R1BSRUdJU1RFUihWKSBcCisgICAgICAgIFYodm9pZCosIHIwKSBcCisgICAgICAgIFYodm9pZCos
IHIxKSBcCisgICAgICAgIFYodm9pZCosIHIyKSBcCisgICAgICAgIFYodm9pZCosIHIzKSBcCisg
ICAgICAgIFYodm9pZCosIHI0KSBcCisgICAgICAgIFYodm9pZCosIHI1KSBcCisgICAgICAgIFYo
dm9pZCosIHI2KSBcCisgICAgICAgIFYodm9pZCosIHI3KSBcCisgICAgICAgIFYodm9pZCosIHI4
KSBcCisgICAgICAgIFYodm9pZCosIHI5KSBcCisgICAgICAgIFYodm9pZCosIHIxMCkgXAorICAg
ICAgICBWKHZvaWQqLCByMTEpIFwKKyAgICAgICAgVih2b2lkKiwgaXApIFwKKyAgICAgICAgVih2
b2lkKiwgc3ApIFwKKyAgICAgICAgVih2b2lkKiwgbHIpIFwKKyAgICAgICAgVih2b2lkKiwgcGMp
CisKKyAgICAjZGVmaW5lIEZPUl9FQUNIX0NQVV9TUEVDSUFMX1JFR0lTVEVSKFYpIFwKKyAgICAg
ICAgVih2b2lkKiwgYXBzcikgXAorICAgICAgICBWKHZvaWQqLCBmcHNjcikgXAorCisgICAgI2Rl
ZmluZSBGT1JfRUFDSF9DUFVfRlBSRUdJU1RFUihWKSBcCisgICAgICAgIFYoZG91YmxlLCBkMCkg
XAorICAgICAgICBWKGRvdWJsZSwgZDEpIFwKKyAgICAgICAgVihkb3VibGUsIGQyKSBcCisgICAg
ICAgIFYoZG91YmxlLCBkMykgXAorICAgICAgICBWKGRvdWJsZSwgZDQpIFwKKyAgICAgICAgVihk
b3VibGUsIGQ1KSBcCisgICAgICAgIFYoZG91YmxlLCBkNikgXAorICAgICAgICBWKGRvdWJsZSwg
ZDcpIFwKKyAgICAgICAgVihkb3VibGUsIGQ4KSBcCisgICAgICAgIFYoZG91YmxlLCBkOSkgXAor
ICAgICAgICBWKGRvdWJsZSwgZDEwKSBcCisgICAgICAgIFYoZG91YmxlLCBkMTEpIFwKKyAgICAg
ICAgVihkb3VibGUsIGQxMikgXAorICAgICAgICBWKGRvdWJsZSwgZDEzKSBcCisgICAgICAgIFYo
ZG91YmxlLCBkMTQpIFwKKyAgICAgICAgVihkb3VibGUsIGQxNSkKKyNlbmRpZiAvLyBVU0UoTUFT
TV9QUk9CRSkKICAgICB9IC8vIG5hbWVzcGFjZSBBUk1SZWdpc3RlcnMKIAogICAgIGNsYXNzIEFS
TUFzc2VtYmxlciB7CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYXNzZW1ibGVyL0FSTXY3
QXNzZW1ibGVyLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2Fzc2VtYmxl
ci9BUk12N0Fzc2VtYmxlci5oCShyZXZpc2lvbiAxNTA4MjcpCisrKyBTb3VyY2UvSmF2YVNjcmlw
dENvcmUvYXNzZW1ibGVyL0FSTXY3QXNzZW1ibGVyLmgJKHdvcmtpbmcgY29weSkKQEAgLTE3Miw2
ICsxNzIsNzcgQEAgbmFtZXNwYWNlIEFSTVJlZ2lzdGVycyB7CiAgICAgICAgIEFTU0VSVCghKHJl
ZyAmIDEpKTsKICAgICAgICAgcmV0dXJuIChGUERvdWJsZVJlZ2lzdGVySUQpKHJlZyA+PiAxKTsK
ICAgICB9CisKKyNpZiBVU0UoTUFTTV9QUk9CRSkKKyAgICAjZGVmaW5lIEZPUl9FQUNIX0NQVV9S
RUdJU1RFUihWKSBcCisgICAgICAgIEZPUl9FQUNIX0NQVV9HUFJFR0lTVEVSKFYpIFwKKyAgICAg
ICAgRk9SX0VBQ0hfQ1BVX1NQRUNJQUxfUkVHSVNURVIoVikgXAorICAgICAgICBGT1JfRUFDSF9D
UFVfRlBSRUdJU1RFUihWKQorCisgICAgI2RlZmluZSBGT1JfRUFDSF9DUFVfR1BSRUdJU1RFUihW
KSBcCisgICAgICAgIFYodm9pZCosIHIwKSBcCisgICAgICAgIFYodm9pZCosIHIxKSBcCisgICAg
ICAgIFYodm9pZCosIHIyKSBcCisgICAgICAgIFYodm9pZCosIHIzKSBcCisgICAgICAgIFYodm9p
ZCosIHI0KSBcCisgICAgICAgIFYodm9pZCosIHI1KSBcCisgICAgICAgIFYodm9pZCosIHI2KSBc
CisgICAgICAgIFYodm9pZCosIHI3KSBcCisgICAgICAgIFYodm9pZCosIHI4KSBcCisgICAgICAg
IFYodm9pZCosIHI5KSBcCisgICAgICAgIFYodm9pZCosIHIxMCkgXAorICAgICAgICBWKHZvaWQq
LCByMTEpIFwKKyAgICAgICAgVih2b2lkKiwgaXApIFwKKyAgICAgICAgVih2b2lkKiwgc3ApIFwK
KyAgICAgICAgVih2b2lkKiwgbHIpIFwKKyAgICAgICAgVih2b2lkKiwgcGMpCisKKyAgICAjZGVm
aW5lIEZPUl9FQUNIX0NQVV9TUEVDSUFMX1JFR0lTVEVSKFYpIFwKKyAgICAgICAgVih2b2lkKiwg
YXBzcikgXAorICAgICAgICBWKHZvaWQqLCBmcHNjcikgXAorCisgICAgI2RlZmluZSBGT1JfRUFD
SF9DUFVfRlBSRUdJU1RFUihWKSBcCisgICAgICAgIFYoZG91YmxlLCBkMCkgXAorICAgICAgICBW
KGRvdWJsZSwgZDEpIFwKKyAgICAgICAgVihkb3VibGUsIGQyKSBcCisgICAgICAgIFYoZG91Ymxl
LCBkMykgXAorICAgICAgICBWKGRvdWJsZSwgZDQpIFwKKyAgICAgICAgVihkb3VibGUsIGQ1KSBc
CisgICAgICAgIFYoZG91YmxlLCBkNikgXAorICAgICAgICBWKGRvdWJsZSwgZDcpIFwKKyAgICAg
ICAgVihkb3VibGUsIGQ4KSBcCisgICAgICAgIFYoZG91YmxlLCBkOSkgXAorICAgICAgICBWKGRv
dWJsZSwgZDEwKSBcCisgICAgICAgIFYoZG91YmxlLCBkMTEpIFwKKyAgICAgICAgVihkb3VibGUs
IGQxMikgXAorICAgICAgICBWKGRvdWJsZSwgZDEzKSBcCisgICAgICAgIFYoZG91YmxlLCBkMTQp
IFwKKyAgICAgICAgVihkb3VibGUsIGQxNSkgXAorICAgICAgICBGT1JfRUFDSF9DUFVfRlBSRUdJ
U1RFUl9FWFRFTlNJT04oVikKKworI2lmIENQVShBUFBMRV9BUk1WN1MpCisgICAgI2RlZmluZSBG
T1JfRUFDSF9DUFVfRlBSRUdJU1RFUl9FWFRFTlNJT04oVikgXAorICAgICAgICBWKGRvdWJsZSwg
ZDE2KSBcCisgICAgICAgIFYoZG91YmxlLCBkMTcpIFwKKyAgICAgICAgVihkb3VibGUsIGQxOCkg
XAorICAgICAgICBWKGRvdWJsZSwgZDE5KSBcCisgICAgICAgIFYoZG91YmxlLCBkMjApIFwKKyAg
ICAgICAgVihkb3VibGUsIGQyMSkgXAorICAgICAgICBWKGRvdWJsZSwgZDIyKSBcCisgICAgICAg
IFYoZG91YmxlLCBkMjMpIFwKKyAgICAgICAgVihkb3VibGUsIGQyNCkgXAorICAgICAgICBWKGRv
dWJsZSwgZDI1KSBcCisgICAgICAgIFYoZG91YmxlLCBkMjYpIFwKKyAgICAgICAgVihkb3VibGUs
IGQyNykgXAorICAgICAgICBWKGRvdWJsZSwgZDI4KSBcCisgICAgICAgIFYoZG91YmxlLCBkMjkp
IFwKKyAgICAgICAgVihkb3VibGUsIGQzMCkgXAorICAgICAgICBWKGRvdWJsZSwgZDMxKQorI2Vs
c2UKKyAgICAjZGVmaW5lIEZPUl9FQUNIX0NQVV9GUFJFR0lTVEVSX0VYVEVOU0lPTihWKSAvLyBO
b3RoaW5nIHRvIGFkZC4KKyNlbmRpZiAvLyBDUFUoQVBQTEVfQVJNVjdTKQorCisjZW5kaWYgLy8g
VVNFKE1BU01fUFJPQkUpCiB9CiAKIGNsYXNzIEFSTXY3QXNzZW1ibGVyOwpJbmRleDogU291cmNl
L0phdmFTY3JpcHRDb3JlL2Fzc2VtYmxlci9NYWNyb0Fzc2VtYmxlckFSTS5jcHAKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2Fzc2VtYmxlci9NYWNyb0Fzc2VtYmxlckFSTS5j
cHAJKHJldmlzaW9uIDE1MDgyNykKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9hc3NlbWJsZXIv
TWFjcm9Bc3NlbWJsZXJBUk0uY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xLDQgKzEsNSBAQAogLyoK
KyAqIENvcHlyaWdodCAoQykgMjAxMyBBcHBsZSBJbmMuCiAgKiBDb3B5cmlnaHQgKEMpIDIwMDkg
VW5pdmVyc2l0eSBvZiBTemVnZWQKICAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgKgpAQCAtMzAs
NiArMzEsMTAgQEAKIAogI2luY2x1ZGUgIk1hY3JvQXNzZW1ibGVyQVJNLmgiCiAKKyNpZiBVU0Uo
TUFTTV9QUk9CRSkKKyNpbmNsdWRlIDx3dGYvU3RkTGliRXh0cmFzLmg+CisjZW5kaWYKKwogI2lm
IE9TKExJTlVYKQogI2luY2x1ZGUgPHN5cy90eXBlcy5oPgogI2luY2x1ZGUgPHN5cy9zdGF0Lmg+
CkBAIC01NSw3ICs2MCw3IEBAIHN0YXRpYyBib29sIGlzVkZQUHJlc2VudCgpCiAgICAgICAgIH0K
ICAgICAgICAgY2xvc2UoZmQpOwogICAgIH0KLSNlbmRpZgorI2VuZGlmIC8vIE9TKExJTlVYKQog
CiAjaWYgKENPTVBJTEVSKFJWQ1QpICYmIGRlZmluZWQoX19UQVJHRVRfRlBVX1ZGUCkpIHx8IChD
T01QSUxFUihHQ0MpICYmIGRlZmluZWQoX19WRlBfRlBfXykpCiAgICAgcmV0dXJuIHRydWU7CkBA
IC05Miw4ICs5Nyw3MiBAQCB2b2lkIE1hY3JvQXNzZW1ibGVyQVJNOjpsb2FkMzJXaXRoVW5hbGln
CiAgICAgfQogICAgIG1fYXNzZW1ibGVyLm9ycihkZXN0LCBkZXN0LCBtX2Fzc2VtYmxlci5sc2wo
QVJNUmVnaXN0ZXJzOjpTMCwgMTYpKTsKIH0KLSNlbmRpZgorI2VuZGlmIC8vIENQVShBUk1WNV9P
Ul9MT1dFUikKKworI2lmIFVTRShNQVNNX1BST0JFKQogCit2b2lkIE1hY3JvQXNzZW1ibGVyQVJN
OjpQcm9iZUNvbnRleHQ6OmR1bXBDUFVSZWdpc3RlcnMoY29uc3QgY2hhciogaW5kZW50YXRpb24p
Cit7CisgICAgI2RlZmluZSBEVU1QX0dQUkVHSVNURVIoX3R5cGUsIF9yZWdOYW1lKSB7IFwKKyAg
ICAgICAgaW50MzJfdCB2YWx1ZSA9IHJlaW50ZXJwcmV0X2Nhc3Q8aW50MzJfdD4oY3B1Ll9yZWdO
YW1lKTsgXAorICAgICAgICBkYXRhTG9nRigiJXMgICAgJTVzOiAweCUwOHggICAlZFxuIiwgaW5k
ZW50YXRpb24sICNfcmVnTmFtZSwgdmFsdWUsIHZhbHVlKSA7IFwKKyAgICB9CisgICAgRk9SX0VB
Q0hfQ1BVX0dQUkVHSVNURVIoRFVNUF9HUFJFR0lTVEVSKQorICAgIEZPUl9FQUNIX0NQVV9TUEVD
SUFMX1JFR0lTVEVSKERVTVBfR1BSRUdJU1RFUikKKyAgICAjdW5kZWYgRFVNUF9HUFJFR0lTVEVS
CisKKyAgICAjZGVmaW5lIERVTVBfRlBSRUdJU1RFUihfdHlwZSwgX3JlZ05hbWUpIHsgXAorICAg
ICAgICB1aW50MzJfdCogdSA9IHJlaW50ZXJwcmV0X2Nhc3Q8dWludDMyX3QqPigmY3B1Ll9yZWdO
YW1lKTsgXAorICAgICAgICBkb3VibGUqIGQgPSByZWludGVycHJldF9jYXN0PGRvdWJsZSo+KCZj
cHUuX3JlZ05hbWUpOyBcCisgICAgICAgIGRhdGFMb2dGKCIlcyAgICAlNXM6IDB4ICUwOHggJTA4
eCAgICUxMmdcbiIsIFwKKyAgICAgICAgICAgIGluZGVudGF0aW9uLCAjX3JlZ05hbWUsIHVbMV0s
IHVbMF0sIGRbMF0pOyBcCisgICAgfQorICAgIEZPUl9FQUNIX0NQVV9GUFJFR0lTVEVSKERVTVBf
RlBSRUdJU1RFUikKKyAgICAjdW5kZWYgRFVNUF9GUFJFR0lTVEVSCiB9CiAKK3ZvaWQgTWFjcm9B
c3NlbWJsZXJBUk06OlByb2JlQ29udGV4dDo6ZHVtcChjb25zdCBjaGFyKiBpbmRlbnRhdGlvbikK
K3sKKyAgICBpZiAoIWluZGVudGF0aW9uKQorICAgICAgICBpbmRlbnRhdGlvbiA9ICIiOworCisg
ICAgZGF0YUxvZ0YoIiVzUHJvYmVDb250ZXh0ICVwIHtcbiIsIGluZGVudGF0aW9uLCB0aGlzKTsK
KyAgICBkYXRhTG9nRigiJXMgIHByb2JlRnVuY3Rpb246ICVwXG4iLCBpbmRlbnRhdGlvbiwgcHJv
YmVGdW5jdGlvbik7CisgICAgZGF0YUxvZ0YoIiVzICBhcmcxOiAlcCAlbGx1XG4iLCBpbmRlbnRh
dGlvbiwgYXJnMSwgcmVpbnRlcnByZXRfY2FzdDxpbnQ2NF90PihhcmcxKSk7CisgICAgZGF0YUxv
Z0YoIiVzICBhcmcyOiAlcCAlbGx1XG4iLCBpbmRlbnRhdGlvbiwgYXJnMiwgcmVpbnRlcnByZXRf
Y2FzdDxpbnQ2NF90PihhcmcyKSk7CisgICAgZGF0YUxvZ0YoIiVzICBqaXRTdGFja0ZyYW1lOiAl
cFxuIiwgaW5kZW50YXRpb24sIGppdFN0YWNrRnJhbWUpOworICAgIGRhdGFMb2dGKCIlcyAgY3B1
OiB7XG4iLCBpbmRlbnRhdGlvbik7CisKKyAgICBkdW1wQ1BVUmVnaXN0ZXJzKGluZGVudGF0aW9u
KTsKKworICAgIGRhdGFMb2dGKCIlcyAgfVxuIiwgaW5kZW50YXRpb24pOworICAgIGRhdGFMb2dG
KCIlc31cbiIsIGluZGVudGF0aW9uKTsKK30KKworCitleHRlcm4gIkMiIHZvaWQgY3RpTWFzbVBy
b2JlVHJhbXBvbGluZSgpOworCisvLyBGb3IgZGV0YWlscyBvbiAiV2hhdCBjb2RlIGlzIGVtaXR0
ZWQgZm9yIHRoZSBwcm9iZT8iIGFuZCAiV2hhdCB2YWx1ZXMgYXJlIGluCisvLyB0aGUgc2F2ZWQg
cmVnaXN0ZXJzPyIsIHNlZSBjb21tZW50IGZvciBNYWNyb0Fzc2VtYmxlclg4Njo6cHJvYmUoKSBp
bgorLy8gTWFjcm9Bc3NlbWJsZXJYODZfNjQuaC4KKwordm9pZCBNYWNyb0Fzc2VtYmxlckFSTTo6
cHJvYmUoTWFjcm9Bc3NlbWJsZXJBUk06OlByb2JlRnVuY3Rpb24gZnVuY3Rpb24sIHZvaWQqIGFy
ZzEsIHZvaWQqIGFyZzIpCit7CisgICAgcHVzaChSZWdpc3RlcklEOjpzcCk7CisgICAgcHVzaChS
ZWdpc3RlcklEOjpscik7CisgICAgcHVzaChSZWdpc3RlcklEOjppcCk7CisgICAgcHVzaChSZWdp
c3RlcklEOjpTMCk7CisgICAgLy8gVGhlIGZvbGxvd2luZyB1c2VzIFJlZ2lzdGVySUQ6OlMwLiBT
bywgdGhleSBtdXN0IGNvbWUgYWZ0ZXIgd2UgcHVzaCBTMCBhYm92ZS4KKyAgICBwdXNoKHRydXN0
ZWRJbW0zMkZyb21QdHIoYXJnMikpOworICAgIHB1c2godHJ1c3RlZEltbTMyRnJvbVB0cihhcmcx
KSk7CisgICAgcHVzaCh0cnVzdGVkSW1tMzJGcm9tUHRyKGZ1bmN0aW9uKSk7CisKKyAgICBtb3Zl
KHRydXN0ZWRJbW0zMkZyb21QdHIoY3RpTWFzbVByb2JlVHJhbXBvbGluZSksIFJlZ2lzdGVySUQ6
OlMwKTsKKyAgICBtX2Fzc2VtYmxlci5ibHgoUmVnaXN0ZXJJRDo6UzApOworCit9CisjZW5kaWYg
Ly8gVVNFKE1BU01fUFJPQkUpCisKK30gLy8gbmFtZXNwYWNlIEpTQworCiAjZW5kaWYgLy8gRU5B
QkxFKEFTU0VNQkxFUikgJiYgQ1BVKEFSTV9UUkFESVRJT05BTCkKSW5kZXg6IFNvdXJjZS9KYXZh
U2NyaXB0Q29yZS9hc3NlbWJsZXIvTWFjcm9Bc3NlbWJsZXJBUk0uaAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBT
b3VyY2UvSmF2YVNjcmlwdENvcmUvYXNzZW1ibGVyL01hY3JvQXNzZW1ibGVyQVJNLmgJKHJldmlz
aW9uIDE1MDgyNykKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9hc3NlbWJsZXIvTWFjcm9Bc3Nl
bWJsZXJBUk0uaAkod29ya2luZyBjb3B5KQpAQCAtMSw1ICsxLDUgQEAKIC8qCi0gKiBDb3B5cmln
aHQgKEMpIDIwMDggQXBwbGUgSW5jLgorICogQ29weXJpZ2h0IChDKSAyMDA4LCAyMDEzIEFwcGxl
IEluYy4KICAqIENvcHlyaWdodCAoQykgMjAwOSwgMjAxMCBVbml2ZXJzaXR5IG9mIFN6ZWdlZAog
ICogQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAqCkBAIC0zNSw2ICszNSw4IEBACiAKIG5hbWVzcGFj
ZSBKU0MgewogCitzdHJ1Y3QgSklUU3RhY2tGcmFtZTsKKwogY2xhc3MgTWFjcm9Bc3NlbWJsZXJB
Uk0gOiBwdWJsaWMgQWJzdHJhY3RNYWNyb0Fzc2VtYmxlcjxBUk1Bc3NlbWJsZXI+IHsKICAgICBz
dGF0aWMgY29uc3QgaW50IERvdWJsZUNvbmRpdGlvbk1hc2sgPSAweDBmOwogICAgIHN0YXRpYyBj
b25zdCBpbnQgRG91YmxlQ29uZGl0aW9uQml0U3BlY2lhbCA9IDB4MTA7CkBAIC0xMzI1LDYgKzEz
MjcsMzMgQEAgcHVibGljOgogICAgICAgICBVTlJFQUNIQUJMRV9GT1JfUExBVEZPUk0oKTsKICAg
ICB9CiAKKyNpZiBVU0UoTUFTTV9QUk9CRSkKKyAgICBzdHJ1Y3QgQ1BVU3RhdGUgeworICAgICAg
ICAjZGVmaW5lIERFQ0xBUkVfUkVHSVNURVIoX3R5cGUsIF9yZWdOYW1lKSBcCisgICAgICAgICAg
ICBfdHlwZSBfcmVnTmFtZTsKKyAgICAgICAgRk9SX0VBQ0hfQ1BVX1JFR0lTVEVSKERFQ0xBUkVf
UkVHSVNURVIpCisgICAgICAgICN1bmRlZiBERUNMQVJFX1JFR0lTVEVSCisgICAgfTsKKworICAg
IHN0cnVjdCBQcm9iZUNvbnRleHQ7CisgICAgdHlwZWRlZiB2b2lkICgqUHJvYmVGdW5jdGlvbiko
c3RydWN0IFByb2JlQ29udGV4dCopOworCisgICAgc3RydWN0IFByb2JlQ29udGV4dCB7CisgICAg
ICAgIFByb2JlRnVuY3Rpb24gcHJvYmVGdW5jdGlvbjsKKyAgICAgICAgdm9pZCogYXJnMTsKKyAg
ICAgICAgdm9pZCogYXJnMjsKKyAgICAgICAgSklUU3RhY2tGcmFtZSogaml0U3RhY2tGcmFtZTsK
KyAgICAgICAgQ1BVU3RhdGUgY3B1OworCisgICAgICAgIHZvaWQgZHVtcChjb25zdCBjaGFyKiBp
bmRlbnRhdGlvbiA9IDApOworICAgIHByaXZhdGU6CisgICAgICAgIHZvaWQgZHVtcENQVVJlZ2lz
dGVycyhjb25zdCBjaGFyKiBpbmRlbnRhdGlvbik7CisgICAgfTsKKworICAgIC8vIEZvciBkZXRh
aWxzIGFib3V0IHByb2JlKCksIHNlZSBjb21tZW50IGluIE1hY3JvQXNzZW1ibGVyWDg2XzY0Lmgu
CisgICAgdm9pZCBwcm9iZShQcm9iZUZ1bmN0aW9uLCB2b2lkKiBhcmcxID0gMCwgdm9pZCogYXJn
MiA9IDApOworI2VuZGlmIC8vIFVTRShNQVNNX1BST0JFKQorCiBwcm90ZWN0ZWQ6CiAgICAgQVJN
QXNzZW1ibGVyOjpDb25kaXRpb24gQVJNQ29uZGl0aW9uKFJlbGF0aW9uYWxDb25kaXRpb24gY29u
ZCkKICAgICB7CkBAIC0xMzgwLDYgKzE0MDksMjMgQEAgcHJpdmF0ZToKICAgICAgICAgQVJNQXNz
ZW1ibGVyOjpyZWxpbmtDYWxsKGNhbGwuZGF0YUxvY2F0aW9uKCksIGRlc3RpbmF0aW9uLmV4ZWN1
dGFibGVBZGRyZXNzKCkpOwogICAgIH0KIAorI2lmIFVTRShNQVNNX1BST0JFKQorICAgIGlubGlu
ZSBUcnVzdGVkSW1tMzIgdHJ1c3RlZEltbTMyRnJvbVB0cih2b2lkKiBwdHIpCisgICAgeworICAg
ICAgICByZXR1cm4gVHJ1c3RlZEltbTMyKFRydXN0ZWRJbW1QdHIocHRyKSk7CisgICAgfQorCisg
ICAgaW5saW5lIFRydXN0ZWRJbW0zMiB0cnVzdGVkSW1tMzJGcm9tUHRyKFByb2JlRnVuY3Rpb24g
ZnVuY3Rpb24pCisgICAgeworICAgICAgICByZXR1cm4gVHJ1c3RlZEltbTMyKFRydXN0ZWRJbW1Q
dHIocmVpbnRlcnByZXRfY2FzdDx2b2lkKj4oZnVuY3Rpb24pKSk7CisgICAgfQorCisgICAgaW5s
aW5lIFRydXN0ZWRJbW0zMiB0cnVzdGVkSW1tMzJGcm9tUHRyKHZvaWQgKCpmdW5jdGlvbikoKSkK
KyAgICB7CisgICAgICAgIHJldHVybiBUcnVzdGVkSW1tMzIoVHJ1c3RlZEltbVB0cihyZWludGVy
cHJldF9jYXN0PHZvaWQqPihmdW5jdGlvbikpKTsKKyAgICB9CisjZW5kaWYKKwogICAgIHN0YXRp
YyBjb25zdCBib29sIHNfaXNWRlBQcmVzZW50OwogfTsKIApJbmRleDogU291cmNlL0phdmFTY3Jp
cHRDb3JlL2Fzc2VtYmxlci9NYWNyb0Fzc2VtYmxlckFSTXY3LmNwcAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBT
b3VyY2UvSmF2YVNjcmlwdENvcmUvYXNzZW1ibGVyL01hY3JvQXNzZW1ibGVyQVJNdjcuY3BwCShy
ZXZpc2lvbiAwKQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL2Fzc2VtYmxlci9NYWNyb0Fzc2Vt
YmxlckFSTXY3LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDEwMyBAQAorLyoKKyAqIENv
cHlyaWdodCAoQykgMjAxMyBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICog
UmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBv
ciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0
aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlv
bnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAg
bm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFp
bWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNl
IHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlv
bnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRp
b24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24u
CisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIGBgQVMgSVMn
JyBBTkQgQU5ZCisgKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBC
VVQgTk9UIExJTUlURUQgVE8sIFRIRQorICogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5U
QUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVND
TEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUgorICogQ09OVFJJQlVUT1JT
IEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUws
CisgKiBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQg
Tk9UIExJTUlURUQgVE8sCisgKiBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNF
UlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IKKyAqIFBST0ZJVFM7IE9SIEJVU0lORVNTIElO
VEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkKKyAqIE9GIExJQUJJ
TElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICog
KElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9V
VCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhF
IFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiAKKyAqLworCisjaW5jbHVkZSAiY29uZmlnLmgi
CisKKyNpZiBFTkFCTEUoQVNTRU1CTEVSKSAmJiBDUFUoQVJNX1RIVU1CMikKKyNpbmNsdWRlICJN
YWNyb0Fzc2VtYmxlckFSTXY3LmgiCisKKyNpZiBVU0UoTUFTTV9QUk9CRSkKKyNpbmNsdWRlIDx3
dGYvU3RkTGliRXh0cmFzLmg+CisjZW5kaWYKKworbmFtZXNwYWNlIEpTQyB7CisKKyNpZiBVU0Uo
TUFTTV9QUk9CRSkKKwordm9pZCBNYWNyb0Fzc2VtYmxlckFSTXY3OjpQcm9iZUNvbnRleHQ6OmR1
bXBDUFVSZWdpc3RlcnMoY29uc3QgY2hhciogaW5kZW50YXRpb24pCit7CisgICAgI2RlZmluZSBE
VU1QX0dQUkVHSVNURVIoX3R5cGUsIF9yZWdOYW1lKSB7IFwKKyAgICAgICAgaW50MzJfdCB2YWx1
ZSA9IHJlaW50ZXJwcmV0X2Nhc3Q8aW50MzJfdD4oY3B1Ll9yZWdOYW1lKTsgXAorICAgICAgICBk
YXRhTG9nRigiJXMgICAgJTVzOiAweCUwOHggICAlZFxuIiwgaW5kZW50YXRpb24sICNfcmVnTmFt
ZSwgdmFsdWUsIHZhbHVlKSA7IFwKKyAgICB9CisgICAgRk9SX0VBQ0hfQ1BVX0dQUkVHSVNURVIo
RFVNUF9HUFJFR0lTVEVSKQorICAgIEZPUl9FQUNIX0NQVV9TUEVDSUFMX1JFR0lTVEVSKERVTVBf
R1BSRUdJU1RFUikKKyAgICAjdW5kZWYgRFVNUF9HUFJFR0lTVEVSCisKKyAgICAjZGVmaW5lIERV
TVBfRlBSRUdJU1RFUihfdHlwZSwgX3JlZ05hbWUpIHsgXAorICAgICAgICB1aW50MzJfdCogdSA9
IHJlaW50ZXJwcmV0X2Nhc3Q8dWludDMyX3QqPigmY3B1Ll9yZWdOYW1lKTsgXAorICAgICAgICBk
b3VibGUqIGQgPSByZWludGVycHJldF9jYXN0PGRvdWJsZSo+KCZjcHUuX3JlZ05hbWUpOyBcCisg
ICAgICAgIGRhdGFMb2dGKCIlcyAgICAlNXM6IDB4ICUwOHggJTA4eCAgICUxMmdcbiIsIFwKKyAg
ICAgICAgICAgIGluZGVudGF0aW9uLCAjX3JlZ05hbWUsIHVbMV0sIHVbMF0sIGRbMF0pOyBcCisg
ICAgfQorICAgIEZPUl9FQUNIX0NQVV9GUFJFR0lTVEVSKERVTVBfRlBSRUdJU1RFUikKKyAgICAj
dW5kZWYgRFVNUF9GUFJFR0lTVEVSCit9CisKK3ZvaWQgTWFjcm9Bc3NlbWJsZXJBUk12Nzo6UHJv
YmVDb250ZXh0OjpkdW1wKGNvbnN0IGNoYXIqIGluZGVudGF0aW9uKQoreworICAgIGlmICghaW5k
ZW50YXRpb24pCisgICAgICAgIGluZGVudGF0aW9uID0gIiI7CisKKyAgICBkYXRhTG9nRigiJXNQ
cm9iZUNvbnRleHQgJXAge1xuIiwgaW5kZW50YXRpb24sIHRoaXMpOworICAgIGRhdGFMb2dGKCIl
cyAgcHJvYmVGdW5jdGlvbjogJXBcbiIsIGluZGVudGF0aW9uLCBwcm9iZUZ1bmN0aW9uKTsKKyAg
ICBkYXRhTG9nRigiJXMgIGFyZzE6ICVwICVsbHVcbiIsIGluZGVudGF0aW9uLCBhcmcxLCByZWlu
dGVycHJldF9jYXN0PGludDY0X3Q+KGFyZzEpKTsKKyAgICBkYXRhTG9nRigiJXMgIGFyZzI6ICVw
ICVsbHVcbiIsIGluZGVudGF0aW9uLCBhcmcyLCByZWludGVycHJldF9jYXN0PGludDY0X3Q+KGFy
ZzIpKTsKKyAgICBkYXRhTG9nRigiJXMgIGppdFN0YWNrRnJhbWU6ICVwXG4iLCBpbmRlbnRhdGlv
biwgaml0U3RhY2tGcmFtZSk7CisgICAgZGF0YUxvZ0YoIiVzICBjcHU6IHtcbiIsIGluZGVudGF0
aW9uKTsKKworICAgIGR1bXBDUFVSZWdpc3RlcnMoaW5kZW50YXRpb24pOworCisgICAgZGF0YUxv
Z0YoIiVzICB9XG4iLCBpbmRlbnRhdGlvbik7CisgICAgZGF0YUxvZ0YoIiVzfVxuIiwgaW5kZW50
YXRpb24pOworfQorCisKK2V4dGVybiAiQyIgdm9pZCBjdGlNYXNtUHJvYmVUcmFtcG9saW5lKCk7
CisKKy8vIEZvciBkZXRhaWxzIG9uICJXaGF0IGNvZGUgaXMgZW1pdHRlZCBmb3IgdGhlIHByb2Jl
PyIgYW5kICJXaGF0IHZhbHVlcyBhcmUgaW4KKy8vIHRoZSBzYXZlZCByZWdpc3RlcnM/Iiwgc2Vl
IGNvbW1lbnQgZm9yIE1hY3JvQXNzZW1ibGVyWDg2Ojpwcm9iZSgpIGluCisvLyBNYWNyb0Fzc2Vt
Ymxlclg4Nl82NC5oLgorCit2b2lkIE1hY3JvQXNzZW1ibGVyQVJNdjc6OnByb2JlKE1hY3JvQXNz
ZW1ibGVyQVJNdjc6OlByb2JlRnVuY3Rpb24gZnVuY3Rpb24sIHZvaWQqIGFyZzEsIHZvaWQqIGFy
ZzIpCit7CisgICAgcHVzaChSZWdpc3RlcklEOjpzcCk7CisgICAgcHVzaChSZWdpc3RlcklEOjps
cik7CisgICAgcHVzaChSZWdpc3RlcklEOjppcCk7CisgICAgcHVzaChSZWdpc3RlcklEOjpyMCk7
CisgICAgLy8gVGhlIGZvbGxvd2luZyB1c2VzIFJlZ2lzdGVySUQ6OmlwLiBTbywgdGhleSBtdXN0
IGNvbWUgYWZ0ZXIgd2UgcHVzaCBpcCBhYm92ZS4KKyAgICBwdXNoKHRydXN0ZWRJbW0zMkZyb21Q
dHIoYXJnMikpOworICAgIHB1c2godHJ1c3RlZEltbTMyRnJvbVB0cihhcmcxKSk7CisgICAgcHVz
aCh0cnVzdGVkSW1tMzJGcm9tUHRyKGZ1bmN0aW9uKSk7CisKKyAgICBtb3ZlKHRydXN0ZWRJbW0z
MkZyb21QdHIoY3RpTWFzbVByb2JlVHJhbXBvbGluZSksIFJlZ2lzdGVySUQ6OmlwKTsKKyAgICBt
X2Fzc2VtYmxlci5ibHgoUmVnaXN0ZXJJRDo6aXApOworfQorI2VuZGlmIC8vIFVTRShNQVNNX1BS
T0JFKQorCit9IC8vIG5hbWVzcGFjZSBKU0MKKworI2VuZGlmIC8vIEVOQUJMRShBU1NFTUJMRVIp
CisKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9hc3NlbWJsZXIvTWFjcm9Bc3NlbWJsZXJB
Uk12Ny5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9hc3NlbWJsZXIvTWFj
cm9Bc3NlbWJsZXJBUk12Ny5oCShyZXZpc2lvbiAxNTA4MjcpCisrKyBTb3VyY2UvSmF2YVNjcmlw
dENvcmUvYXNzZW1ibGVyL01hY3JvQXNzZW1ibGVyQVJNdjcuaAkod29ya2luZyBjb3B5KQpAQCAt
MzQsNiArMzQsOCBAQAogCiBuYW1lc3BhY2UgSlNDIHsKIAorc3RydWN0IEpJVFN0YWNrRnJhbWU7
CisKIGNsYXNzIE1hY3JvQXNzZW1ibGVyQVJNdjcgOiBwdWJsaWMgQWJzdHJhY3RNYWNyb0Fzc2Vt
YmxlcjxBUk12N0Fzc2VtYmxlcj4gewogICAgIC8vIEZJWE1FOiBzd2l0Y2ggZGF0YVRlbXBSZWdp
c3RlciAmIGFkZHJlc3NUZW1wUmVnaXN0ZXIsIG9yIHBvc3NpYmx5IHVzZSByNz8KICAgICAvLyAg
ICAgICAgLSBkVFIgaXMgbGlrZWx5IHVzZWQgbW9yZSB0aGFuIGFUUiwgYW5kIHdlJ2xsIGdldCBi
ZXR0ZXIgaW5zdHJ1Y3Rpb24KQEAgLTE3ODksNiArMTc5MSwzMyBAQCBwdWJsaWM6CiAgICAgICAg
IFVOUkVBQ0hBQkxFX0ZPUl9QTEFURk9STSgpOwogICAgIH0KIAorI2lmIFVTRShNQVNNX1BST0JF
KQorICAgIHN0cnVjdCBDUFVTdGF0ZSB7CisgICAgICAgICNkZWZpbmUgREVDTEFSRV9SRUdJU1RF
UihfdHlwZSwgX3JlZ05hbWUpIFwKKyAgICAgICAgICAgIF90eXBlIF9yZWdOYW1lOworICAgICAg
ICBGT1JfRUFDSF9DUFVfUkVHSVNURVIoREVDTEFSRV9SRUdJU1RFUikKKyAgICAgICAgI3VuZGVm
IERFQ0xBUkVfUkVHSVNURVIKKyAgICB9OworCisgICAgc3RydWN0IFByb2JlQ29udGV4dDsKKyAg
ICB0eXBlZGVmIHZvaWQgKCpQcm9iZUZ1bmN0aW9uKShzdHJ1Y3QgUHJvYmVDb250ZXh0Kik7CisK
KyAgICBzdHJ1Y3QgUHJvYmVDb250ZXh0IHsKKyAgICAgICAgUHJvYmVGdW5jdGlvbiBwcm9iZUZ1
bmN0aW9uOworICAgICAgICB2b2lkKiBhcmcxOworICAgICAgICB2b2lkKiBhcmcyOworICAgICAg
ICBKSVRTdGFja0ZyYW1lKiBqaXRTdGFja0ZyYW1lOworICAgICAgICBDUFVTdGF0ZSBjcHU7CisK
KyAgICAgICAgdm9pZCBkdW1wKGNvbnN0IGNoYXIqIGluZGVudGF0aW9uID0gMCk7CisgICAgcHJp
dmF0ZToKKyAgICAgICAgdm9pZCBkdW1wQ1BVUmVnaXN0ZXJzKGNvbnN0IGNoYXIqIGluZGVudGF0
aW9uKTsKKyAgICB9OworCisgICAgLy8gRm9yIGRldGFpbHMgYWJvdXQgcHJvYmUoKSwgc2VlIGNv
bW1lbnQgaW4gTWFjcm9Bc3NlbWJsZXJYODZfNjQuaC4KKyAgICB2b2lkIHByb2JlKFByb2JlRnVu
Y3Rpb24sIHZvaWQqIGFyZzEgPSAwLCB2b2lkKiBhcmcyID0gMCk7CisjZW5kaWYgLy8gVVNFKE1B
U01fUFJPQkUpCisKIHByb3RlY3RlZDoKICAgICBBTFdBWVNfSU5MSU5FIEp1bXAganVtcCgpCiAg
ICAgewpAQCAtMTg5OSw2ICsxOTI4LDIzIEBAIHByaXZhdGU6CiAgICAgICAgIEFSTXY3QXNzZW1i
bGVyOjpyZWxpbmtDYWxsKGNhbGwuZGF0YUxvY2F0aW9uKCksIGRlc3RpbmF0aW9uLmV4ZWN1dGFi
bGVBZGRyZXNzKCkpOwogICAgIH0KIAorI2lmIFVTRShNQVNNX1BST0JFKQorICAgIGlubGluZSBU
cnVzdGVkSW1tMzIgdHJ1c3RlZEltbTMyRnJvbVB0cih2b2lkKiBwdHIpCisgICAgeworICAgICAg
ICByZXR1cm4gVHJ1c3RlZEltbTMyKFRydXN0ZWRJbW1QdHIocHRyKSk7CisgICAgfQorCisgICAg
aW5saW5lIFRydXN0ZWRJbW0zMiB0cnVzdGVkSW1tMzJGcm9tUHRyKFByb2JlRnVuY3Rpb24gZnVu
Y3Rpb24pCisgICAgeworICAgICAgICByZXR1cm4gVHJ1c3RlZEltbTMyKFRydXN0ZWRJbW1QdHIo
cmVpbnRlcnByZXRfY2FzdDx2b2lkKj4oZnVuY3Rpb24pKSk7CisgICAgfQorCisgICAgaW5saW5l
IFRydXN0ZWRJbW0zMiB0cnVzdGVkSW1tMzJGcm9tUHRyKHZvaWQgKCpmdW5jdGlvbikoKSkKKyAg
ICB7CisgICAgICAgIHJldHVybiBUcnVzdGVkSW1tMzIoVHJ1c3RlZEltbVB0cihyZWludGVycHJl
dF9jYXN0PHZvaWQqPihmdW5jdGlvbikpKTsKKyAgICB9CisjZW5kaWYKKwogICAgIGJvb2wgbV9t
YWtlSnVtcFBhdGNoYWJsZTsKIH07CiAKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9hc3Nl
bWJsZXIvTWFjcm9Bc3NlbWJsZXJYODYuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlw
dENvcmUvYXNzZW1ibGVyL01hY3JvQXNzZW1ibGVyWDg2LmgJKHJldmlzaW9uIDE1MDgyNykKKysr
IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9hc3NlbWJsZXIvTWFjcm9Bc3NlbWJsZXJYODYuaAkod29y
a2luZyBjb3B5KQpAQCAtMjkyLDIyICsyOTIsNyBAQCBwdWJsaWM6CiAgICAgfQogCiAjaWYgVVNF
KE1BU01fUFJPQkUpCi0gICAgLy8gVGhpcyBmdW5jdGlvbiBlbWl0cyBjb2RlIHRvIHByZXNlcnZl
IHRoZSBDUFVTdGF0ZSAoZS5nLiByZWdpc3RlcnMpLAotICAgIC8vIGNhbGwgYSB1c2VyIHN1cHBs
aWVkIHByb2JlIGZ1bmN0aW9uLCBhbmQgcmVzdG9yZSB0aGUgQ1BVU3RhdGUgYmVmb3JlCi0gICAg
Ly8gY29udGludWluZyB3aXRoIG90aGVyIEpJVCBnZW5lcmF0ZWQgY29kZS4KLSAgICAvLwotICAg
IC8vIFRoZSB1c2VyIHN1cHBsaWVkIHByb2JlIGZ1bmN0aW9uIHdpbGwgYmUgY2FsbGVkIHdpdGgg
YSBzaW5nbGUgcG9pbnRlciB0bwotICAgIC8vIGEgUHJvYmVDb250ZXh0IHN0cnVjdCAoZGVmaW5l
ZCBhYm92ZSkgd2hpY2ggY29udGFpbnMsIGFtb25nIG90aGVyIHRoaW5ncywKLSAgICAvLyB0aGUg
cHJlc2VydmVkIENQVVN0YXRlLiBUaGlzIGFsbG93cyB0aGUgdXNlciBwcm9iZSBmdW5jdGlvbiB0
byBpbnNwZWN0Ci0gICAgLy8gdGhlIENQVVN0YXRlIGF0IHRoYXQgcG9pbnQgaW4gdGhlIEpJVCBn
ZW5lcmF0ZWQgY29kZS4KLSAgICAvLwotICAgIC8vIElmIHRoZSB1c2VyIHByb2JlIGZ1bmN0aW9u
IGFsdGVycyB0aGUgcmVnaXN0ZXIgdmFsdWVzIGluIHRoZSBQcm9iZUNvbnRleHQsCi0gICAgLy8g
dGhlIGFsdGVyZWQgdmFsdWVzIHdpbGwgYmUgbG9hZGVkIGludG8gdGhlIENQVSByZWdpc3RlcnMg
d2hlbiB0aGUgcHJvYmUKLSAgICAvLyByZXR1cm5zLgotICAgIC8vCi0gICAgLy8gVGhlIFByb2Jl
Q29udGV4dCBpcyBzdGFjayBhbGxvY2F0ZWQgYW5kIGlzIG9ubHkgdmFsaWQgZm9yIHRoZSBkdXJh
dGlvbgotICAgIC8vIG9mIHRoZSBjYWxsIHRvIHRoZSB1c2VyIHByb2JlIGZ1bmN0aW9uLgotCisg
ICAgLy8gRm9yIGRldGFpbHMgYWJvdXQgcHJvYmUoKSwgc2VlIGNvbW1lbnQgaW4gTWFjcm9Bc3Nl
bWJsZXJYODZfNjQuaC4KICAgICB2b2lkIHByb2JlKFByb2JlRnVuY3Rpb24sIHZvaWQqIGFyZzEg
PSAwLCB2b2lkKiBhcmcyID0gMCk7CiAjZW5kaWYgLy8gVVNFKE1BU01fUFJPQkUpCiAKQEAgLTM1
Miw1NSArMzM3LDIwIEBAIHByaXZhdGU6CiAKIGV4dGVybiAiQyIgdm9pZCBjdGlNYXNtUHJvYmVU
cmFtcG9saW5lKCk7CiAKLS8vIFdoYXQgY29kZSBpcyBlbWl0dGVkIGZvciB0aGUgcHJvYmU/Ci0v
LyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0vLyBXZSB3YW50IHRvIGtlZXAg
dGhlIHNpemUgb2YgdGhlIGVtaXR0ZWQgcHJvYmUgaW52b2NhdGlvbiBjb2RlIGFzIGNvbXBhY3Qg
YXMKLS8vIHBvc3NpYmxlIHRvIG1pbmltaXplIHRoZSBwZXJ0dXJiYXRpb24gdG8gdGhlIEpJVCBn
ZW5lcmF0ZWQgY29kZS4gSG93ZXZlciwKLS8vIHdlIGFsc28gbmVlZCB0byBwcmVzZXJ2ZSB0aGUg
Q1BVIHJlZ2lzdGVycyBhbmQgc2V0IHVwIHRoZSBQcm9iZUNvbnRleHQgdG8gYmUKLS8vIHBhc3Nl
ZCB0byB0aGUgdXNlciBwcm9iZSBmdW5jdGlvbi4KLS8vCi0vLyBIZW5jZSwgd2UgZG8gb25seSB0
aGUgbWluaW11bSBoZXJlIHRvIHByZXNlcnZlIHRoZSBlYXggKHRvIGJlIHVzZWQgYXMgYQotLy8g
c2NyYXRjaCByZWdpc3RlcikgYW5kIGVzcCByZWdpc3RlcnMsIGFuZCBwYXNzIHRoZSBwcm9iZSBh
cmd1bWVudHMuIFdlJ2xsIGxldAotLy8gdGhlIGN0aU1hc21Qcm9iZVRyYW1wb2xpbmUgaGFuZGxl
IHRoZSByZXN0IG9mIHRoZSBwcm9iZSBpbnZvY2F0aW9uIHdvcmsKLS8vIGkuZS4gc2F2aW5nIHRo
ZSBDUFVTdGF0ZSAoYW5kIHNldHRpbmcgdXAgdGhlIFByb2JlQ29udGV4dCksIGNhbGxpbmcgdGhl
IHVzZXIKLS8vIHByb2JlIGZ1bmN0aW9uLCBhbmQgcmVzdG9yaW5nIHRoZSBDUFVTdGF0ZSBiZWZv
cmUgcmV0dXJuaW5nIHRvIEpJVCBnZW5lcmF0ZWQKLS8vIGNvZGUuCi0vLwotLy8gV2hhdCB2YWx1
ZXMgYXJlIGluIHRoZSBzYXZlZCByZWdpc3RlcnM/Ci0vLyA9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLy8gQ29uY2VwdHVhbGx5LCB0aGUgc2F2ZWQgcmVnaXN0ZXJzIHNo
b3VsZCBjb250YWluIHZhbHVlcyBhcyBpZiB0aGUgcHJvYmUKLS8vIGlzIG5vdCBwcmVzZW50IGlu
IHRoZSBKSVQgZ2VuZXJhdGVkIGNvZGUuIEhlbmNlLCB0aGV5IHNob3VsZCBjb250YWluIHZhbHVl
cwotLy8gdGhhdCBhcmUgZXhwZWN0ZWQgYXQgdGhlIHN0YXJ0IG9mIHRoZSBpbnN0cnVjdGlvbiBp
bW1lZGlhdGVseSBmb2xsb3dpbmcgdGhlCi0vLyBwcm9iZS4KLS8vCi0vLyBTcGVjaWZjYWxseSwg
dGhlIHNhdmVkIGVzcCB3aWxsIHBvaW50IHRvIHRoZSBzdGFjayBwb3NpdGlvbiBiZWZvcmUgd2UK
LS8vIHB1c2ggdGhlIFByb2JlQ29udGV4dCBmcmFtZS4gVGhlIHNhdmVkIGVpcCB3aWxsIHBvaW50
IHRvIHRoZSBhZGRyZXNzIG9mCi0vLyB0aGUgaW5zdHJ1Y3Rpb24gaW1tZWRpYXRlbHkgZm9sbG93
aW5nIHRoZSBwcm9iZS4gCisvLyBGb3IgZGV0YWlscyBvbiAiV2hhdCBjb2RlIGlzIGVtaXR0ZWQg
Zm9yIHRoZSBwcm9iZT8iIGFuZCAiV2hhdCB2YWx1ZXMgYXJlIGluCisvLyB0aGUgc2F2ZWQgcmVn
aXN0ZXJzPyIsIHNlZSBjb21tZW50IGZvciBNYWNyb0Fzc2VtYmxlclg4Njo6cHJvYmUoKSBpbgor
Ly8gTWFjcm9Bc3NlbWJsZXJYODZfNjQuaC4KIAogaW5saW5lIHZvaWQgTWFjcm9Bc3NlbWJsZXJY
ODY6OnByb2JlKE1hY3JvQXNzZW1ibGVyWDg2OjpQcm9iZUZ1bmN0aW9uIGZ1bmN0aW9uLCB2b2lk
KiBhcmcxLCB2b2lkKiBhcmcyKQogewotICAgIFJlZ2lzdGVySUQgZXNwID0gUmVnaXN0ZXJJRDo6
ZXNwOwotICAgICNkZWZpbmUgcHJvYmVDb250ZXh0RmllbGQoZmllbGQpIEFkZHJlc3MoZXNwLCBv
ZmZzZXRvZihQcm9iZUNvbnRleHQsIGZpZWxkKSkKLQotICAgIC8vIFRoZSBYODZfNjQgQUJJIHNw
ZWNpZmllcyB0aGF0IHRoZSB3b3JzZSBjYXNlIHN0YWNrIGFsaWdubWVudCByZXF1aXJlbWVudAot
ICAgIC8vIGlzIDMyIGJ5dGVzLgotICAgIGNvbnN0IGludCBwcm9iZUZyYW1lU2l6ZSA9IFdURjo6
cm91bmRVcFRvTXVsdGlwbGVPZigzMiwgc2l6ZW9mKFByb2JlQ29udGV4dCkpOwotICAgIHN1YjMy
KFRydXN0ZWRJbW0zMihwcm9iZUZyYW1lU2l6ZSksIGVzcCk7Ci0KLSAgICBzdG9yZTMyKFJlZ2lz
dGVySUQ6OmVheCwgcHJvYmVDb250ZXh0RmllbGQoY3B1LmVheCkpOwotCi0gICAgbW92ZShUcnVz
dGVkSW1tMzIocHJvYmVGcmFtZVNpemUpLCBSZWdpc3RlcklEOjplYXgpOwotICAgIGFkZDMyKGVz
cCwgUmVnaXN0ZXJJRDo6ZWF4KTsKLSAgICBzdG9yZTMyKFJlZ2lzdGVySUQ6OmVheCwgcHJvYmVD
b250ZXh0RmllbGQoY3B1LmVzcCkpOwotCi0gICAgc3RvcmUzMih0cnVzdGVkSW1tMzJGcm9tUHRy
KGZ1bmN0aW9uKSwgcHJvYmVDb250ZXh0RmllbGQocHJvYmVGdW5jdGlvbikpOwotICAgIHN0b3Jl
MzIodHJ1c3RlZEltbTMyRnJvbVB0cihhcmcxKSwgcHJvYmVDb250ZXh0RmllbGQoYXJnMSkpOwot
ICAgIHN0b3JlMzIodHJ1c3RlZEltbTMyRnJvbVB0cihhcmcyKSwgcHJvYmVDb250ZXh0RmllbGQo
YXJnMikpOworICAgIHB1c2goUmVnaXN0ZXJJRDo6ZXNwKTsKKyAgICBwdXNoKFJlZ2lzdGVySUQ6
OmVheCk7CisgICAgcHVzaCh0cnVzdGVkSW1tMzJGcm9tUHRyKGFyZzIpKTsKKyAgICBwdXNoKHRy
dXN0ZWRJbW0zMkZyb21QdHIoYXJnMSkpOworICAgIHB1c2godHJ1c3RlZEltbTMyRnJvbVB0cihm
dW5jdGlvbikpOwogCiAgICAgbW92ZSh0cnVzdGVkSW1tMzJGcm9tUHRyKGN0aU1hc21Qcm9iZVRy
YW1wb2xpbmUpLCBSZWdpc3RlcklEOjplYXgpOwogICAgIGNhbGwoUmVnaXN0ZXJJRDo6ZWF4KTsK
LQotICAgICN1bmRlZiBwcm9iZUNvbnRleHRGaWVsZAogfQogI2VuZGlmIC8vIFVTRShNQVNNX1BS
T0JFKQogCkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYXNzZW1ibGVyL01hY3JvQXNzZW1i
bGVyWDg2Q29tbW9uLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYXNz
ZW1ibGVyL01hY3JvQXNzZW1ibGVyWDg2Q29tbW9uLmNwcAkocmV2aXNpb24gMTUwODI3KQorKysg
U291cmNlL0phdmFTY3JpcHRDb3JlL2Fzc2VtYmxlci9NYWNyb0Fzc2VtYmxlclg4NkNvbW1vbi5j
cHAJKHdvcmtpbmcgY29weSkKQEAgLTI0LDYgKzI0LDggQEAKICAqLwogCiAjaW5jbHVkZSAiY29u
ZmlnLmgiCisKKyNpZiBFTkFCTEUoQVNTRU1CTEVSKSAmJiAoQ1BVKFg4NikgfHwgQ1BVKFg4Nl82
NCkpCiAjaW5jbHVkZSAiTWFjcm9Bc3NlbWJsZXJYODZDb21tb24uaCIKIAogbmFtZXNwYWNlIEpT
QyB7CkBAIC0zNSwyMSArMzcsMjIgQEAgdm9pZCBNYWNyb0Fzc2VtYmxlclg4NkNvbW1vbjo6UHJv
YmVDb250ZQogI2lmIENQVShYODYpCiAgICAgI2RlZmluZSBEVU1QX0dQUkVHSVNURVIoX3R5cGUs
IF9yZWdOYW1lKSB7IFwKICAgICAgICAgaW50MzJfdCB2YWx1ZSA9IHJlaW50ZXJwcmV0X2Nhc3Q8
aW50MzJfdD4oY3B1Ll9yZWdOYW1lKTsgXAotICAgICAgICBkYXRhTG9nRigiJXMgICAgJTRzOiAw
eCUwOHggICAlZFxuIiwgaW5kZW50YXRpb24sICNfcmVnTmFtZSwgdmFsdWUsIHZhbHVlKSA7IFwK
KyAgICAgICAgZGF0YUxvZ0YoIiVzICAgICU2czogMHglMDh4ICAgJWRcbiIsIGluZGVudGF0aW9u
LCAjX3JlZ05hbWUsIHZhbHVlLCB2YWx1ZSkgOyBcCiAgICAgfQogI2VsaWYgQ1BVKFg4Nl82NCkK
ICAgICAjZGVmaW5lIERVTVBfR1BSRUdJU1RFUihfdHlwZSwgX3JlZ05hbWUpIHsgXAogICAgICAg
ICBpbnQ2NF90IHZhbHVlID0gcmVpbnRlcnByZXRfY2FzdDxpbnQ2NF90PihjcHUuX3JlZ05hbWUp
OyBcCi0gICAgICAgIGRhdGFMb2dGKCIlcyAgICAlNHM6IDB4JTAxNmxseCAgICVsbGRcbiIsIGlu
ZGVudGF0aW9uLCAjX3JlZ05hbWUsIHZhbHVlLCB2YWx1ZSkgOyBcCisgICAgICAgIGRhdGFMb2dG
KCIlcyAgICAlNnM6IDB4JTAxNmxseCAgICVsbGRcbiIsIGluZGVudGF0aW9uLCAjX3JlZ05hbWUs
IHZhbHVlLCB2YWx1ZSkgOyBcCiAgICAgfQogI2VuZGlmCiAgICAgRk9SX0VBQ0hfQ1BVX0dQUkVH
SVNURVIoRFVNUF9HUFJFR0lTVEVSKQorICAgIEZPUl9FQUNIX0NQVV9TUEVDSUFMX1JFR0lTVEVS
KERVTVBfR1BSRUdJU1RFUikKICAgICAjdW5kZWYgRFVNUF9HUFJFR0lTVEVSCiAKICAgICAjZGVm
aW5lIERVTVBfRlBSRUdJU1RFUihfdHlwZSwgX3JlZ05hbWUpIHsgXAogICAgICAgICB1aW50MzJf
dCogdSA9IHJlaW50ZXJwcmV0X2Nhc3Q8dWludDMyX3QqPigmY3B1Ll9yZWdOYW1lKTsgXAogICAg
ICAgICBkb3VibGUqIGQgPSByZWludGVycHJldF9jYXN0PGRvdWJsZSo+KCZjcHUuX3JlZ05hbWUp
OyBcCi0gICAgICAgIGRhdGFMb2dGKCIlcyAgICAlczogMHglMDh4JTA4eCAweCUwOHglMDh4ICAg
JTEyZyAlMTJnXG4iLCBcCisgICAgICAgIGRhdGFMb2dGKCIlcyAgICAlNnM6IDB4JTA4eCUwOHgg
MHglMDh4JTA4eCAgICUxMmcgJTEyZ1xuIiwgXAogICAgICAgICAgICAgaW5kZW50YXRpb24sICNf
cmVnTmFtZSwgdVszXSwgdVsyXSwgdVsxXSwgdVswXSwgZFsxXSwgZFswXSk7IFwKICAgICB9CiAg
ICAgRk9SX0VBQ0hfQ1BVX0ZQUkVHSVNURVIoRFVNUF9GUFJFR0lTVEVSKQpAQCAtNzcsMyArODAs
NSBAQCB2b2lkIE1hY3JvQXNzZW1ibGVyWDg2Q29tbW9uOjpQcm9iZUNvbnRlCiAjZW5kaWYgLy8g
VVNFKE1BU01fUFJPQkUpCiAKIH0gLy8gbmFtZXNwYWNlIEpTQworCisjZW5kaWYgLy8gRU5BQkxF
KEFTU0VNQkxFUikgJiYgKENQVShYODYpIHx8IENQVShYODZfNjQpKQpJbmRleDogU291cmNlL0ph
dmFTY3JpcHRDb3JlL2Fzc2VtYmxlci9NYWNyb0Fzc2VtYmxlclg4Nl82NC5oCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9hc3NlbWJsZXIvTWFjcm9Bc3NlbWJsZXJYODZfNjQu
aAkocmV2aXNpb24gMTUwODI3KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL2Fzc2VtYmxlci9N
YWNyb0Fzc2VtYmxlclg4Nl82NC5oCSh3b3JraW5nIGNvcHkpCkBAIC02ODcsMTIgKzY4NywxMiBA
QCBleHRlcm4gIkMiIHZvaWQgY3RpTWFzbVByb2JlVHJhbXBvbGluZSgpCiAvLyB3ZSBhbHNvIG5l
ZWQgdG8gcHJlc2VydmUgdGhlIENQVSByZWdpc3RlcnMgYW5kIHNldCB1cCB0aGUgUHJvYmVDb250
ZXh0IHRvIGJlCiAvLyBwYXNzZWQgdG8gdGhlIHVzZXIgcHJvYmUgZnVuY3Rpb24uCiAvLwotLy8g
SGVuY2UsIHdlIGRvIG9ubHkgdGhlIG1pbmltdW0gaGVyZSB0byBwcmVzZXJ2ZSB0aGUgcmF4ICh0
byBiZSB1c2VkIGFzIGEKLS8vIHNjcmF0Y2ggcmVnaXN0ZXIpIGFuZCByc3AgcmVnaXN0ZXJzLCBh
bmQgcGFzcyB0aGUgcHJvYmUgYXJndW1lbnRzLiBXZSdsbCBsZXQKLS8vIHRoZSBjdGlNYXNtUHJv
YmVUcmFtcG9saW5lIGhhbmRsZSB0aGUgcmVzdCBvZiB0aGUgcHJvYmUgaW52b2NhdGlvbiB3b3Jr
Ci0vLyBpLmUuIHNhdmluZyB0aGUgQ1BVU3RhdGUgKGFuZCBzZXR0aW5nIHVwIHRoZSBQcm9iZUNv
bnRleHQpLCBjYWxsaW5nIHRoZSB1c2VyCi0vLyBwcm9iZSBmdW5jdGlvbiwgYW5kIHJlc3Rvcmlu
ZyB0aGUgQ1BVU3RhdGUgYmVmb3JlIHJldHVybmluZyB0byBKSVQgZ2VuZXJhdGVkCi0vLyBjb2Rl
LgorLy8gSGVuY2UsIHdlIGRvIG9ubHkgdGhlIG1pbmltdW0gaGVyZSB0byBwcmVzZXJ2ZSBhIHNj
cmF0Y2ggcmVnaXN0ZXIgKGkuZS4gcmF4CisvLyBpbiB0aGlzIGNhc2UpIGFuZCB0aGUgc3RhY2sg
cG9pbnRlciAoaS5lLiByc3ApLCBhbmQgcGFzcyB0aGUgcHJvYmUgYXJndW1lbnRzLgorLy8gV2Un
bGwgbGV0IHRoZSBjdGlNYXNtUHJvYmVUcmFtcG9saW5lIGhhbmRsZSB0aGUgcmVzdCBvZiB0aGUg
cHJvYmUgaW52b2NhdGlvbgorLy8gd29yayBpLmUuIHNhdmluZyB0aGUgQ1BVU3RhdGUgKGFuZCBz
ZXR0aW5nIHVwIHRoZSBQcm9iZUNvbnRleHQpLCBjYWxsaW5nIHRoZQorLy8gdXNlciBwcm9iZSBm
dW5jdGlvbiwgYW5kIHJlc3RvcmluZyB0aGUgQ1BVU3RhdGUgYmVmb3JlIHJldHVybmluZyB0byBK
SVQKKy8vIGdlbmVyYXRlZCBjb2RlLgogLy8KIC8vIFdoYXQgdmFsdWVzIGFyZSBpbiB0aGUgc2F2
ZWQgcmVnaXN0ZXJzPwogLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
QEAgLTcwMSwzNCArNzAxLDIyIEBAIGV4dGVybiAiQyIgdm9pZCBjdGlNYXNtUHJvYmVUcmFtcG9s
aW5lKCkKIC8vIHRoYXQgYXJlIGV4cGVjdGVkIGF0IHRoZSBzdGFydCBvZiB0aGUgaW5zdHJ1Y3Rp
b24gaW1tZWRpYXRlbHkgZm9sbG93aW5nIHRoZQogLy8gcHJvYmUuCiAvLwotLy8gU3BlY2lmY2Fs
bHksIHRoZSBzYXZlZCByc3Agd2lsbCBwb2ludCB0byB0aGUgc3RhY2sgcG9zaXRpb24gYmVmb3Jl
IHdlCi0vLyBwdXNoIHRoZSBQcm9iZUNvbnRleHQgZnJhbWUuIFRoZSBzYXZlZCByaXAgd2lsbCBw
b2ludCB0byB0aGUgYWRkcmVzcyBvZgotLy8gdGhlIGluc3RydWN0aW9uIGltbWVkaWF0ZWx5IGZv
bGxvd2luZyB0aGUgcHJvYmUuIAorLy8gU3BlY2lmY2FsbHksIHRoZSBzYXZlZCBzdGFjayBwb2lu
dGVyIHJlZ2lzdGVyIHdpbGwgcG9pbnQgdG8gdGhlIHN0YWNrCisvLyBwb3NpdGlvbiBiZWZvcmUg
d2UgcHVzaCB0aGUgUHJvYmVDb250ZXh0IGZyYW1lLiBUaGUgc2F2ZWQgcmlwIHdpbGwgcG9pbnQg
dG8KKy8vIHRoZSBhZGRyZXNzIG9mIHRoZSBpbnN0cnVjdGlvbiBpbW1lZGlhdGVseSBmb2xsb3dp
bmcgdGhlIHByb2JlLiAKIAogaW5saW5lIHZvaWQgTWFjcm9Bc3NlbWJsZXJYODZfNjQ6OnByb2Jl
KE1hY3JvQXNzZW1ibGVyWDg2XzY0OjpQcm9iZUZ1bmN0aW9uIGZ1bmN0aW9uLCB2b2lkKiBhcmcx
LCB2b2lkKiBhcmcyKQogewotICAgIFJlZ2lzdGVySUQgZXNwID0gUmVnaXN0ZXJJRDo6ZXNwOwot
ICAgICNkZWZpbmUgcHJvYmVDb250ZXh0RmllbGQoZmllbGQpIEFkZHJlc3MoZXNwLCBvZmZzZXRv
ZihQcm9iZUNvbnRleHQsIGZpZWxkKSkKLQotICAgIC8vIFRoZSBYODZfNjQgQUJJIHNwZWNpZmll
cyB0aGF0IHRoZSB3b3JzZSBjYXNlIHN0YWNrIGFsaWdubWVudCByZXF1aXJlbWVudAotICAgIC8v
IGlzIDMyIGJ5dGVzLgotICAgIGNvbnN0IGludCBwcm9iZUZyYW1lU2l6ZSA9IFdURjo6cm91bmRV
cFRvTXVsdGlwbGVPZigzMiwgc2l6ZW9mKFByb2JlQ29udGV4dCkpOwotICAgIHN1YjY0KFRydXN0
ZWRJbW0zMihwcm9iZUZyYW1lU2l6ZSksIGVzcCk7Ci0KLSAgICBzdG9yZTY0KFJlZ2lzdGVySUQ6
OmVheCwgcHJvYmVDb250ZXh0RmllbGQoY3B1LmVheCkpOwotCi0gICAgbW92ZShUcnVzdGVkSW1t
MzIocHJvYmVGcmFtZVNpemUpLCBSZWdpc3RlcklEOjplYXgpOwotICAgIGFkZDY0KGVzcCwgUmVn
aXN0ZXJJRDo6ZWF4KTsKLSAgICBzdG9yZTY0KFJlZ2lzdGVySUQ6OmVheCwgcHJvYmVDb250ZXh0
RmllbGQoY3B1LmVzcCkpOwotCi0gICAgc3RvcmU2NCh0cnVzdGVkSW1tNjRGcm9tUHRyKGZ1bmN0
aW9uKSwgcHJvYmVDb250ZXh0RmllbGQocHJvYmVGdW5jdGlvbikpOwotICAgIHN0b3JlNjQodHJ1
c3RlZEltbTY0RnJvbVB0cihhcmcxKSwgcHJvYmVDb250ZXh0RmllbGQoYXJnMSkpOwotICAgIHN0
b3JlNjQodHJ1c3RlZEltbTY0RnJvbVB0cihhcmcyKSwgcHJvYmVDb250ZXh0RmllbGQoYXJnMikp
OwotCisgICAgcHVzaChSZWdpc3RlcklEOjplc3ApOworICAgIHB1c2goUmVnaXN0ZXJJRDo6ZWF4
KTsKKyAgICBtb3ZlKHRydXN0ZWRJbW02NEZyb21QdHIoYXJnMiksIFJlZ2lzdGVySUQ6OmVheCk7
CisgICAgcHVzaChSZWdpc3RlcklEOjplYXgpOworICAgIG1vdmUodHJ1c3RlZEltbTY0RnJvbVB0
cihhcmcxKSwgUmVnaXN0ZXJJRDo6ZWF4KTsKKyAgICBwdXNoKFJlZ2lzdGVySUQ6OmVheCk7Cisg
ICAgbW92ZSh0cnVzdGVkSW1tNjRGcm9tUHRyKGZ1bmN0aW9uKSwgUmVnaXN0ZXJJRDo6ZWF4KTsK
KyAgICBwdXNoKFJlZ2lzdGVySUQ6OmVheCk7CiAgICAgbW92ZSh0cnVzdGVkSW1tNjRGcm9tUHRy
KGN0aU1hc21Qcm9iZVRyYW1wb2xpbmUpLCBSZWdpc3RlcklEOjplYXgpOwogICAgIGNhbGwoUmVn
aXN0ZXJJRDo6ZWF4KTsKLQotICAgICN1bmRlZiBwcm9iZUNvbnRleHRGaWVsZAogfQogI2VuZGlm
IC8vIFVTRShNQVNNX1BST0JFKQogCkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYXNzZW1i
bGVyL1g4NkFzc2VtYmxlci5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9h
c3NlbWJsZXIvWDg2QXNzZW1ibGVyLmgJKHJldmlzaW9uIDE1MDgyNykKKysrIFNvdXJjZS9KYXZh
U2NyaXB0Q29yZS9hc3NlbWJsZXIvWDg2QXNzZW1ibGVyLmgJKHdvcmtpbmcgY29weSkKQEAgLTc5
LDE5ICs3OSwyMyBAQCBuYW1lc3BhY2UgWDg2UmVnaXN0ZXJzIHsKICNpZiBVU0UoTUFTTV9QUk9C
RSkKICAgICAjZGVmaW5lIEZPUl9FQUNIX0NQVV9SRUdJU1RFUihWKSBcCiAgICAgICAgIEZPUl9F
QUNIX0NQVV9HUFJFR0lTVEVSKFYpIFwKKyAgICAgICAgRk9SX0VBQ0hfQ1BVX1NQRUNJQUxfUkVH
SVNURVIoVikgXAogICAgICAgICBGT1JfRUFDSF9DUFVfRlBSRUdJU1RFUihWKQogCiAgICAgI2Rl
ZmluZSBGT1JfRUFDSF9DUFVfR1BSRUdJU1RFUihWKSBcCiAgICAgICAgIFYodm9pZCosIGVheCkg
XAorICAgICAgICBWKHZvaWQqLCBlYngpIFwKICAgICAgICAgVih2b2lkKiwgZWN4KSBcCiAgICAg
ICAgIFYodm9pZCosIGVkeCkgXAotICAgICAgICBWKHZvaWQqLCBlYngpIFwKLSAgICAgICAgVih2
b2lkKiwgZXNwKSBcCi0gICAgICAgIFYodm9pZCosIGVicCkgXAogICAgICAgICBWKHZvaWQqLCBl
c2kpIFwKICAgICAgICAgVih2b2lkKiwgZWRpKSBcCi0gICAgICAgIEZPUl9FQUNIX1g4Nl82NF9D
UFVfR1BSRUdJU1RFUihWKSBcCi0gICAgICAgIFYodm9pZCosIGVpcCkKKyAgICAgICAgVih2b2lk
KiwgZWJwKSBcCisgICAgICAgIFYodm9pZCosIGVzcCkgXAorICAgICAgICBGT1JfRUFDSF9YODZf
NjRfQ1BVX0dQUkVHSVNURVIoVikKKworICAgICNkZWZpbmUgRk9SX0VBQ0hfQ1BVX1NQRUNJQUxf
UkVHSVNURVIoVikgXAorICAgICAgICBWKHZvaWQqLCBlaXApIFwKKyAgICAgICAgVih2b2lkKiwg
ZWZsYWdzKSBcCiAKICAgICAjZGVmaW5lIEZPUl9FQUNIX0NQVV9GUFJFR0lTVEVSKFYpIFwKICAg
ICAgICAgVihfX20xMjgsIHhtbTApIFwKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQv
SklUU3R1YnNBUk0uaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0pJ
VFN0dWJzQVJNLmgJKHJldmlzaW9uIDE1MDgyNykKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9q
aXQvSklUU3R1YnNBUk0uaAkod29ya2luZyBjb3B5KQpAQCAtNDYsOSArNDYsMTEzIEBAIG5hbWVz
cGFjZSBKU0MgewogI2RlZmluZSBUSFVOS19SRVRVUk5fQUREUkVTU19PRkZTRVQgNjQKICNkZWZp
bmUgUFJFU0VSVkVEUjRfT0ZGU0VUICAgICAgICAgIDY4CiAKLQogI2lmIENPTVBJTEVSKEdDQykK
IAorI2lmIFVTRShNQVNNX1BST0JFKQorLy8gVGhlIGZvbGxvd2luZyBhcmUgb2Zmc2V0cyBmb3Ig
TWFjcm9Bc3NlbWJsZXI6OlByb2JlQ29udGV4dCBmaWVsZHMgYWNjZXNzZWQKKy8vIGJ5IHRoZSBj
dGlNYXNtUHJvYmVUcmFtcG9saW5lIHN0dWIuCisKKyNkZWZpbmUgUFRSX1NJWkUgNAorI2RlZmlu
ZSBQUk9CRV9QUk9CRV9GVU5DVElPTl9PRkZTRVQgKDAgKiBQVFJfU0laRSkKKyNkZWZpbmUgUFJP
QkVfQVJHMV9PRkZTRVQgKDEgKiBQVFJfU0laRSkKKyNkZWZpbmUgUFJPQkVfQVJHMl9PRkZTRVQg
KDIgKiBQVFJfU0laRSkKKyNkZWZpbmUgUFJPQkVfSklUX1NUQUNLX0ZSQU1FX09GRlNFVCAoMyAq
IFBUUl9TSVpFKQorCisjZGVmaW5lIFBST0JFX0ZJUlNUX0dQUkVHX09GRlNFVCAoNCAqIFBUUl9T
SVpFKQorCisjZGVmaW5lIEdQUkVHX1NJWkUgNAorI2RlZmluZSBQUk9CRV9DUFVfUjBfT0ZGU0VU
IChQUk9CRV9GSVJTVF9HUFJFR19PRkZTRVQgKyAoMCAqIEdQUkVHX1NJWkUpKQorI2RlZmluZSBQ
Uk9CRV9DUFVfUjFfT0ZGU0VUIChQUk9CRV9GSVJTVF9HUFJFR19PRkZTRVQgKyAoMSAqIEdQUkVH
X1NJWkUpKQorI2RlZmluZSBQUk9CRV9DUFVfUjJfT0ZGU0VUIChQUk9CRV9GSVJTVF9HUFJFR19P
RkZTRVQgKyAoMiAqIEdQUkVHX1NJWkUpKQorI2RlZmluZSBQUk9CRV9DUFVfUjNfT0ZGU0VUIChQ
Uk9CRV9GSVJTVF9HUFJFR19PRkZTRVQgKyAoMyAqIEdQUkVHX1NJWkUpKQorI2RlZmluZSBQUk9C
RV9DUFVfUjRfT0ZGU0VUIChQUk9CRV9GSVJTVF9HUFJFR19PRkZTRVQgKyAoNCAqIEdQUkVHX1NJ
WkUpKQorI2RlZmluZSBQUk9CRV9DUFVfUjVfT0ZGU0VUIChQUk9CRV9GSVJTVF9HUFJFR19PRkZT
RVQgKyAoNSAqIEdQUkVHX1NJWkUpKQorI2RlZmluZSBQUk9CRV9DUFVfUjZfT0ZGU0VUIChQUk9C
RV9GSVJTVF9HUFJFR19PRkZTRVQgKyAoNiAqIEdQUkVHX1NJWkUpKQorI2RlZmluZSBQUk9CRV9D
UFVfUjdfT0ZGU0VUIChQUk9CRV9GSVJTVF9HUFJFR19PRkZTRVQgKyAoNyAqIEdQUkVHX1NJWkUp
KQorI2RlZmluZSBQUk9CRV9DUFVfUjhfT0ZGU0VUIChQUk9CRV9GSVJTVF9HUFJFR19PRkZTRVQg
KyAoOCAqIEdQUkVHX1NJWkUpKQorI2RlZmluZSBQUk9CRV9DUFVfUjlfT0ZGU0VUIChQUk9CRV9G
SVJTVF9HUFJFR19PRkZTRVQgKyAoOSAqIEdQUkVHX1NJWkUpKQorI2RlZmluZSBQUk9CRV9DUFVf
UjEwX09GRlNFVCAoUFJPQkVfRklSU1RfR1BSRUdfT0ZGU0VUICsgKDEwICogR1BSRUdfU0laRSkp
CisjZGVmaW5lIFBST0JFX0NQVV9SMTFfT0ZGU0VUIChQUk9CRV9GSVJTVF9HUFJFR19PRkZTRVQg
KyAoMTEgKiBHUFJFR19TSVpFKSkKKyNkZWZpbmUgUFJPQkVfQ1BVX0lQX09GRlNFVCAoUFJPQkVf
RklSU1RfR1BSRUdfT0ZGU0VUICsgKDEyICogR1BSRUdfU0laRSkpCisjZGVmaW5lIFBST0JFX0NQ
VV9TUF9PRkZTRVQgKFBST0JFX0ZJUlNUX0dQUkVHX09GRlNFVCArICgxMyAqIEdQUkVHX1NJWkUp
KQorI2RlZmluZSBQUk9CRV9DUFVfTFJfT0ZGU0VUIChQUk9CRV9GSVJTVF9HUFJFR19PRkZTRVQg
KyAoMTQgKiBHUFJFR19TSVpFKSkKKyNkZWZpbmUgUFJPQkVfQ1BVX1BDX09GRlNFVCAoUFJPQkVf
RklSU1RfR1BSRUdfT0ZGU0VUICsgKDE1ICogR1BSRUdfU0laRSkpCisKKyNkZWZpbmUgUFJPQkVf
Q1BVX0FQU1JfT0ZGU0VUIChQUk9CRV9GSVJTVF9HUFJFR19PRkZTRVQgKyAoMTYgKiBHUFJFR19T
SVpFKSkKKyNkZWZpbmUgUFJPQkVfQ1BVX0ZQU0NSX09GRlNFVCAoUFJPQkVfRklSU1RfR1BSRUdf
T0ZGU0VUICsgKDE3ICogR1BSRUdfU0laRSkpCisKKyNkZWZpbmUgUFJPQkVfRklSU1RfRlBSRUdf
T0ZGU0VUIChQUk9CRV9GSVJTVF9HUFJFR19PRkZTRVQgKyAoMTggKiBHUFJFR19TSVpFKSkKKwor
I2RlZmluZSBGUFJFR19TSVpFIDgKKyNkZWZpbmUgUFJPQkVfQ1BVX0QwX09GRlNFVCAoUFJPQkVf
RklSU1RfRlBSRUdfT0ZGU0VUICsgKDAgKiBGUFJFR19TSVpFKSkKKyNkZWZpbmUgUFJPQkVfQ1BV
X0QxX09GRlNFVCAoUFJPQkVfRklSU1RfRlBSRUdfT0ZGU0VUICsgKDEgKiBGUFJFR19TSVpFKSkK
KyNkZWZpbmUgUFJPQkVfQ1BVX0QyX09GRlNFVCAoUFJPQkVfRklSU1RfRlBSRUdfT0ZGU0VUICsg
KDIgKiBGUFJFR19TSVpFKSkKKyNkZWZpbmUgUFJPQkVfQ1BVX0QzX09GRlNFVCAoUFJPQkVfRklS
U1RfRlBSRUdfT0ZGU0VUICsgKDMgKiBGUFJFR19TSVpFKSkKKyNkZWZpbmUgUFJPQkVfQ1BVX0Q0
X09GRlNFVCAoUFJPQkVfRklSU1RfRlBSRUdfT0ZGU0VUICsgKDQgKiBGUFJFR19TSVpFKSkKKyNk
ZWZpbmUgUFJPQkVfQ1BVX0Q1X09GRlNFVCAoUFJPQkVfRklSU1RfRlBSRUdfT0ZGU0VUICsgKDUg
KiBGUFJFR19TSVpFKSkKKyNkZWZpbmUgUFJPQkVfQ1BVX0Q2X09GRlNFVCAoUFJPQkVfRklSU1Rf
RlBSRUdfT0ZGU0VUICsgKDYgKiBGUFJFR19TSVpFKSkKKyNkZWZpbmUgUFJPQkVfQ1BVX0Q3X09G
RlNFVCAoUFJPQkVfRklSU1RfRlBSRUdfT0ZGU0VUICsgKDcgKiBGUFJFR19TSVpFKSkKKyNkZWZp
bmUgUFJPQkVfQ1BVX0Q4X09GRlNFVCAoUFJPQkVfRklSU1RfRlBSRUdfT0ZGU0VUICsgKDggKiBG
UFJFR19TSVpFKSkKKyNkZWZpbmUgUFJPQkVfQ1BVX0Q5X09GRlNFVCAoUFJPQkVfRklSU1RfRlBS
RUdfT0ZGU0VUICsgKDkgKiBGUFJFR19TSVpFKSkKKyNkZWZpbmUgUFJPQkVfQ1BVX0QxMF9PRkZT
RVQgKFBST0JFX0ZJUlNUX0ZQUkVHX09GRlNFVCArICgxMCAqIEZQUkVHX1NJWkUpKQorI2RlZmlu
ZSBQUk9CRV9DUFVfRDExX09GRlNFVCAoUFJPQkVfRklSU1RfRlBSRUdfT0ZGU0VUICsgKDExICog
RlBSRUdfU0laRSkpCisjZGVmaW5lIFBST0JFX0NQVV9EMTJfT0ZGU0VUIChQUk9CRV9GSVJTVF9G
UFJFR19PRkZTRVQgKyAoMTIgKiBGUFJFR19TSVpFKSkKKyNkZWZpbmUgUFJPQkVfQ1BVX0QxM19P
RkZTRVQgKFBST0JFX0ZJUlNUX0ZQUkVHX09GRlNFVCArICgxMyAqIEZQUkVHX1NJWkUpKQorI2Rl
ZmluZSBQUk9CRV9DUFVfRDE0X09GRlNFVCAoUFJPQkVfRklSU1RfRlBSRUdfT0ZGU0VUICsgKDE0
ICogRlBSRUdfU0laRSkpCisjZGVmaW5lIFBST0JFX0NQVV9EMTVfT0ZGU0VUIChQUk9CRV9GSVJT
VF9GUFJFR19PRkZTRVQgKyAoMTUgKiBGUFJFR19TSVpFKSkKKworI2RlZmluZSBQUk9CRV9TSVpF
IChQUk9CRV9GSVJTVF9GUFJFR19PRkZTRVQgKyAoMTYgKiBGUFJFR19TSVpFKSkKKworLy8gVGhl
c2UgQVNTRVJUcyByZW1pbmQgeW91IHRoYXQgaWYgeW91IGNoYW5nZSB0aGUgbGF5b3V0IG9mIFBy
b2JlQ29udGV4dCwKKy8vIHlvdSBuZWVkIHRvIGNoYW5nZSBjdGlNYXNtUHJvYmVUcmFtcG9saW5l
IG9mZnNldHMgYWJvdmUgdG8gbWF0Y2guCisjZGVmaW5lIFBST0JFX09GRlNFVE9GKHgpIG9mZnNl
dG9mKHN0cnVjdCBNYWNyb0Fzc2VtYmxlcjo6UHJvYmVDb250ZXh0LCB4KQorQ09NUElMRV9BU1NF
UlQoUFJPQkVfT0ZGU0VUT0YocHJvYmVGdW5jdGlvbikgPT0gUFJPQkVfUFJPQkVfRlVOQ1RJT05f
T0ZGU0VULCBQcm9iZUNvbnRleHRfcHJvYmVGdW5jdGlvbl9vZmZzZXRfbWF0Y2hlc19jdGlNYXNt
UHJvYmVUcmFtcG9saW5lKTsKK0NPTVBJTEVfQVNTRVJUKFBST0JFX09GRlNFVE9GKGFyZzEpID09
IFBST0JFX0FSRzFfT0ZGU0VULCBQcm9iZUNvbnRleHRfYXJnMV9vZmZzZXRfbWF0Y2hlc19jdGlN
YXNtUHJvYmVUcmFtcG9saW5lKTsKK0NPTVBJTEVfQVNTRVJUKFBST0JFX09GRlNFVE9GKGFyZzIp
ID09IFBST0JFX0FSRzJfT0ZGU0VULCBQcm9iZUNvbnRleHRfYXJnMl9vZmZzZXRfbWF0Y2hlc19j
dGlNYXNtUHJvYmVUcmFtcG9saW5lKTsKK0NPTVBJTEVfQVNTRVJUKFBST0JFX09GRlNFVE9GKGpp
dFN0YWNrRnJhbWUpID09IFBST0JFX0pJVF9TVEFDS19GUkFNRV9PRkZTRVQsIFByb2JlQ29udGV4
dF9qaXRTdGFja0ZyYW1lX29mZnNldF9tYXRjaGVzX2N0aU1hc21Qcm9iZVRyYW1wb2xpbmUpOwor
CitDT01QSUxFX0FTU0VSVChQUk9CRV9PRkZTRVRPRihjcHUucjApID09IFBST0JFX0NQVV9SMF9P
RkZTRVQsIFByb2JlQ29udGV4dF9jcHVfcjBfb2Zmc2V0X21hdGNoZXNfY3RpTWFzbVByb2JlVHJh
bXBvbGluZSk7CitDT01QSUxFX0FTU0VSVChQUk9CRV9PRkZTRVRPRihjcHUucjEpID09IFBST0JF
X0NQVV9SMV9PRkZTRVQsIFByb2JlQ29udGV4dF9jcHVfcjFfb2Zmc2V0X21hdGNoZXNfY3RpTWFz
bVByb2JlVHJhbXBvbGluZSk7CitDT01QSUxFX0FTU0VSVChQUk9CRV9PRkZTRVRPRihjcHUucjIp
ID09IFBST0JFX0NQVV9SMl9PRkZTRVQsIFByb2JlQ29udGV4dF9jcHVfcjJfb2Zmc2V0X21hdGNo
ZXNfY3RpTWFzbVByb2JlVHJhbXBvbGluZSk7CitDT01QSUxFX0FTU0VSVChQUk9CRV9PRkZTRVRP
RihjcHUucjMpID09IFBST0JFX0NQVV9SM19PRkZTRVQsIFByb2JlQ29udGV4dF9jcHVfcjNfb2Zm
c2V0X21hdGNoZXNfY3RpTWFzbVByb2JlVHJhbXBvbGluZSk7CitDT01QSUxFX0FTU0VSVChQUk9C
RV9PRkZTRVRPRihjcHUucjQpID09IFBST0JFX0NQVV9SNF9PRkZTRVQsIFByb2JlQ29udGV4dF9j
cHVfcjRfb2Zmc2V0X21hdGNoZXNfY3RpTWFzbVByb2JlVHJhbXBvbGluZSk7CitDT01QSUxFX0FT
U0VSVChQUk9CRV9PRkZTRVRPRihjcHUucjUpID09IFBST0JFX0NQVV9SNV9PRkZTRVQsIFByb2Jl
Q29udGV4dF9jcHVfcjVfb2Zmc2V0X21hdGNoZXNfY3RpTWFzbVByb2JlVHJhbXBvbGluZSk7CitD
T01QSUxFX0FTU0VSVChQUk9CRV9PRkZTRVRPRihjcHUucjYpID09IFBST0JFX0NQVV9SNl9PRkZT
RVQsIFByb2JlQ29udGV4dF9jcHVfcjZfb2Zmc2V0X21hdGNoZXNfY3RpTWFzbVByb2JlVHJhbXBv
bGluZSk7CitDT01QSUxFX0FTU0VSVChQUk9CRV9PRkZTRVRPRihjcHUucjcpID09IFBST0JFX0NQ
VV9SN19PRkZTRVQsIFByb2JlQ29udGV4dF9jcHVfcjcwX29mZnNldF9tYXRjaGVzX2N0aU1hc21Q
cm9iZVRyYW1wb2xpbmUpOworQ09NUElMRV9BU1NFUlQoUFJPQkVfT0ZGU0VUT0YoY3B1LnI4KSA9
PSBQUk9CRV9DUFVfUjhfT0ZGU0VULCBQcm9iZUNvbnRleHRfY3B1X3I4X29mZnNldF9tYXRjaGVz
X2N0aU1hc21Qcm9iZVRyYW1wb2xpbmUpOworQ09NUElMRV9BU1NFUlQoUFJPQkVfT0ZGU0VUT0Yo
Y3B1LnI5KSA9PSBQUk9CRV9DUFVfUjlfT0ZGU0VULCBQcm9iZUNvbnRleHRfY3B1X3I5X29mZnNl
dF9tYXRjaGVzX2N0aU1hc21Qcm9iZVRyYW1wb2xpbmUpOworQ09NUElMRV9BU1NFUlQoUFJPQkVf
T0ZGU0VUT0YoY3B1LnIxMCkgPT0gUFJPQkVfQ1BVX1IxMF9PRkZTRVQsIFByb2JlQ29udGV4dF9j
cHVfcjEwX29mZnNldF9tYXRjaGVzX2N0aU1hc21Qcm9iZVRyYW1wb2xpbmUpOworQ09NUElMRV9B
U1NFUlQoUFJPQkVfT0ZGU0VUT0YoY3B1LnIxMSkgPT0gUFJPQkVfQ1BVX1IxMV9PRkZTRVQsIFBy
b2JlQ29udGV4dF9jcHVfcjExX29mZnNldF9tYXRjaGVzX2N0aU1hc21Qcm9iZVRyYW1wb2xpbmUp
OworQ09NUElMRV9BU1NFUlQoUFJPQkVfT0ZGU0VUT0YoY3B1LmlwKSA9PSBQUk9CRV9DUFVfSVBf
T0ZGU0VULCBQcm9iZUNvbnRleHRfY3B1X2lwX29mZnNldF9tYXRjaGVzX2N0aU1hc21Qcm9iZVRy
YW1wb2xpbmUpOworQ09NUElMRV9BU1NFUlQoUFJPQkVfT0ZGU0VUT0YoY3B1LnNwKSA9PSBQUk9C
RV9DUFVfU1BfT0ZGU0VULCBQcm9iZUNvbnRleHRfY3B1X3NwX29mZnNldF9tYXRjaGVzX2N0aU1h
c21Qcm9iZVRyYW1wb2xpbmUpOworQ09NUElMRV9BU1NFUlQoUFJPQkVfT0ZGU0VUT0YoY3B1Lmxy
KSA9PSBQUk9CRV9DUFVfTFJfT0ZGU0VULCBQcm9iZUNvbnRleHRfY3B1X2xyX29mZnNldF9tYXRj
aGVzX2N0aU1hc21Qcm9iZVRyYW1wb2xpbmUpOworQ09NUElMRV9BU1NFUlQoUFJPQkVfT0ZGU0VU
T0YoY3B1LnBjKSA9PSBQUk9CRV9DUFVfUENfT0ZGU0VULCBQcm9iZUNvbnRleHRfY3B1X3BjX29m
ZnNldF9tYXRjaGVzX2N0aU1hc21Qcm9iZVRyYW1wb2xpbmUpOworCitDT01QSUxFX0FTU0VSVChQ
Uk9CRV9PRkZTRVRPRihjcHUuYXBzcikgPT0gUFJPQkVfQ1BVX0FQU1JfT0ZGU0VULCBQcm9iZUNv
bnRleHRfY3B1X2Fwc3Jfb2Zmc2V0X21hdGNoZXNfY3RpTWFzbVByb2JlVHJhbXBvbGluZSk7CitD
T01QSUxFX0FTU0VSVChQUk9CRV9PRkZTRVRPRihjcHUuZnBzY3IpID09IFBST0JFX0NQVV9GUFND
Ul9PRkZTRVQsIFByb2JlQ29udGV4dF9jcHVfZnBzY3Jfb2Zmc2V0X21hdGNoZXNfY3RpTWFzbVBy
b2JlVHJhbXBvbGluZSk7CisKK0NPTVBJTEVfQVNTRVJUKFBST0JFX09GRlNFVE9GKGNwdS5kMCkg
PT0gUFJPQkVfQ1BVX0QwX09GRlNFVCwgUHJvYmVDb250ZXh0X2NwdV9kMF9vZmZzZXRfbWF0Y2hl
c19jdGlNYXNtUHJvYmVUcmFtcG9saW5lKTsKK0NPTVBJTEVfQVNTRVJUKFBST0JFX09GRlNFVE9G
KGNwdS5kMSkgPT0gUFJPQkVfQ1BVX0QxX09GRlNFVCwgUHJvYmVDb250ZXh0X2NwdV9kMV9vZmZz
ZXRfbWF0Y2hlc19jdGlNYXNtUHJvYmVUcmFtcG9saW5lKTsKK0NPTVBJTEVfQVNTRVJUKFBST0JF
X09GRlNFVE9GKGNwdS5kMikgPT0gUFJPQkVfQ1BVX0QyX09GRlNFVCwgUHJvYmVDb250ZXh0X2Nw
dV9kMl9vZmZzZXRfbWF0Y2hlc19jdGlNYXNtUHJvYmVUcmFtcG9saW5lKTsKK0NPTVBJTEVfQVNT
RVJUKFBST0JFX09GRlNFVE9GKGNwdS5kMykgPT0gUFJPQkVfQ1BVX0QzX09GRlNFVCwgUHJvYmVD
b250ZXh0X2NwdV9kM19vZmZzZXRfbWF0Y2hlc19jdGlNYXNtUHJvYmVUcmFtcG9saW5lKTsKK0NP
TVBJTEVfQVNTRVJUKFBST0JFX09GRlNFVE9GKGNwdS5kNCkgPT0gUFJPQkVfQ1BVX0Q0X09GRlNF
VCwgUHJvYmVDb250ZXh0X2NwdV9kNF9vZmZzZXRfbWF0Y2hlc19jdGlNYXNtUHJvYmVUcmFtcG9s
aW5lKTsKK0NPTVBJTEVfQVNTRVJUKFBST0JFX09GRlNFVE9GKGNwdS5kNSkgPT0gUFJPQkVfQ1BV
X0Q1X09GRlNFVCwgUHJvYmVDb250ZXh0X2NwdV9kNV9vZmZzZXRfbWF0Y2hlc19jdGlNYXNtUHJv
YmVUcmFtcG9saW5lKTsKK0NPTVBJTEVfQVNTRVJUKFBST0JFX09GRlNFVE9GKGNwdS5kNikgPT0g
UFJPQkVfQ1BVX0Q2X09GRlNFVCwgUHJvYmVDb250ZXh0X2NwdV9kNl9vZmZzZXRfbWF0Y2hlc19j
dGlNYXNtUHJvYmVUcmFtcG9saW5lKTsKK0NPTVBJTEVfQVNTRVJUKFBST0JFX09GRlNFVE9GKGNw
dS5kNykgPT0gUFJPQkVfQ1BVX0Q3X09GRlNFVCwgUHJvYmVDb250ZXh0X2NwdV9kN19vZmZzZXRf
bWF0Y2hlc19jdGlNYXNtUHJvYmVUcmFtcG9saW5lKTsKK0NPTVBJTEVfQVNTRVJUKFBST0JFX09G
RlNFVE9GKGNwdS5kOCkgPT0gUFJPQkVfQ1BVX0Q4X09GRlNFVCwgUHJvYmVDb250ZXh0X2NwdV9k
OF9vZmZzZXRfbWF0Y2hlc19jdGlNYXNtUHJvYmVUcmFtcG9saW5lKTsKK0NPTVBJTEVfQVNTRVJU
KFBST0JFX09GRlNFVE9GKGNwdS5kOSkgPT0gUFJPQkVfQ1BVX0Q5X09GRlNFVCwgUHJvYmVDb250
ZXh0X2NwdV9kOV9vZmZzZXRfbWF0Y2hlc19jdGlNYXNtUHJvYmVUcmFtcG9saW5lKTsKK0NPTVBJ
TEVfQVNTRVJUKFBST0JFX09GRlNFVE9GKGNwdS5kMTApID09IFBST0JFX0NQVV9EMTBfT0ZGU0VU
LCBQcm9iZUNvbnRleHRfY3B1X2QxMF9vZmZzZXRfbWF0Y2hlc19jdGlNYXNtUHJvYmVUcmFtcG9s
aW5lKTsKK0NPTVBJTEVfQVNTRVJUKFBST0JFX09GRlNFVE9GKGNwdS5kMTEpID09IFBST0JFX0NQ
VV9EMTFfT0ZGU0VULCBQcm9iZUNvbnRleHRfY3B1X2QxMV9vZmZzZXRfbWF0Y2hlc19jdGlNYXNt
UHJvYmVUcmFtcG9saW5lKTsKK0NPTVBJTEVfQVNTRVJUKFBST0JFX09GRlNFVE9GKGNwdS5kMTIp
ID09IFBST0JFX0NQVV9EMTJfT0ZGU0VULCBQcm9iZUNvbnRleHRfY3B1X2QxMl9vZmZzZXRfbWF0
Y2hlc19jdGlNYXNtUHJvYmVUcmFtcG9saW5lKTsKK0NPTVBJTEVfQVNTRVJUKFBST0JFX09GRlNF
VE9GKGNwdS5kMTMpID09IFBST0JFX0NQVV9EMTNfT0ZGU0VULCBQcm9iZUNvbnRleHRfY3B1X2Qx
M19vZmZzZXRfbWF0Y2hlc19jdGlNYXNtUHJvYmVUcmFtcG9saW5lKTsKK0NPTVBJTEVfQVNTRVJU
KFBST0JFX09GRlNFVE9GKGNwdS5kMTQpID09IFBST0JFX0NQVV9EMTRfT0ZGU0VULCBQcm9iZUNv
bnRleHRfY3B1X2QxNF9vZmZzZXRfbWF0Y2hlc19jdGlNYXNtUHJvYmVUcmFtcG9saW5lKTsKK0NP
TVBJTEVfQVNTRVJUKFBST0JFX09GRlNFVE9GKGNwdS5kMTUpID09IFBST0JFX0NQVV9EMTVfT0ZG
U0VULCBQcm9iZUNvbnRleHRfY3B1X2QxNV9vZmZzZXRfbWF0Y2hlc19jdGlNYXNtUHJvYmVUcmFt
cG9saW5lKTsKK0NPTVBJTEVfQVNTRVJUKHNpemVvZihNYWNyb0Fzc2VtYmxlcjo6UHJvYmVDb250
ZXh0KSA9PSBQUk9CRV9TSVpFLCBQcm9iZUNvbnRleHRfc2l6ZV9tYXRjaGVzX2N0aU1hc21Qcm9i
ZVRyYW1wb2xpbmUpOworI3VuZGVmIFBST0JFX09GRlNFVE9GCisKKyNlbmRpZiAvLyBVU0UoTUFT
TV9QUk9CRSkKKworCiBhc20gKAogIi50ZXh0IiAiXG4iCiAiLmdsb2JsICIgU1lNQk9MX1NUUklO
RyhjdGlUcmFtcG9saW5lKSAiXG4iCkBAIC05Miw2ICsxOTYsMTU1IEBAIFNZTUJPTF9TVFJJTkco
Y3RpT3BUaHJvd05vdENhdWdodCkgIjoiICIKICAgICAiYnggbHIiICJcbiIKICk7CiAKKyNpZiBV
U0UoTUFTTV9QUk9CRSkKK2FzbSAoCisiLnRleHQiICJcbiIKKyIuZ2xvYmwgIiBTWU1CT0xfU1RS
SU5HKGN0aU1hc21Qcm9iZVRyYW1wb2xpbmUpICJcbiIKK0hJREVfU1lNQk9MKGN0aU1hc21Qcm9i
ZVRyYW1wb2xpbmUpICJcbiIKK0lOTElORV9BUk1fRlVOQ1RJT04oY3RpTWFzbVByb2JlVHJhbXBv
bGluZSkgIlxuIgorU1lNQk9MX1NUUklORyhjdGlNYXNtUHJvYmVUcmFtcG9saW5lKSAiOiIgIlxu
IgorCisgICAgLy8gTWFjcm9Bc3NlbWJsZXI6OnByb2JlKCkgaGFzIGFscmVhZHkgZ2VuZXJhdGVk
IGNvZGUgdG8gc3RvcmUgc29tZSB2YWx1ZXMuCisgICAgLy8gVGhlIHRvcCBvZiBzdGFjayBub3cg
bG9va3MgbGlrZSB0aGlzOgorICAgIC8vICAgICBlc3BbMCAqIHB0clNpemVdOiBwcm9iZUZ1bmN0
aW9uCisgICAgLy8gICAgIGVzcFsxICogcHRyU2l6ZV06IGFyZzEKKyAgICAvLyAgICAgZXNwWzIg
KiBwdHJTaXplXTogYXJnMgorICAgIC8vICAgICBlc3BbMyAqIHB0clNpemVdOiBzYXZlZCByMyAv
IFMwCisgICAgLy8gICAgIGVzcFs0ICogcHRyU2l6ZV06IHNhdmVkIGlwCisgICAgLy8gICAgIGVz
cFs1ICogcHRyU2l6ZV06IHNhdmVkIGxyCisgICAgLy8gICAgIGVzcFs2ICogcHRyU2l6ZV06IHNh
dmVkIHNwCisKKyAgICAibW92ICAgICAgIGlwLCBzcCIgIlxuIgorICAgICJtb3YgICAgICAgcjMs
IHNwIiAiXG4iCisgICAgInN1YiAgICAgICByMywgcjMsICMiIFNUUklOR0laRV9WQUxVRV9PRihQ
Uk9CRV9TSVpFKSAiXG4iCisKKyAgICAvLyBUaGUgQVJNIEVBQkkgc3BlY2lmaWVzIHRoYXQgdGhl
IHN0YWNrIG5lZWRzIHRvIGJlIDE2IGJ5dGUgYWxpZ25lZC4KKyAgICAiYmljICAgICAgIHIzLCBy
MywgIzB4ZiIgIlxuIgorICAgICJtb3YgICAgICAgc3AsIHIzIiAiXG4iCisKKyAgICAic3RyICAg
ICAgIGxyLCBbc3AsICMiIFNUUklOR0laRV9WQUxVRV9PRihQUk9CRV9DUFVfUENfT0ZGU0VUKSAi
XSIgIlxuIgorICAgICJhZGQgICAgICAgbHIsIHNwLCAjIiBTVFJJTkdJWkVfVkFMVUVfT0YoUFJP
QkVfQ1BVX1IwX09GRlNFVCkgIlxuIgorICAgICJzdG1pYSAgICAgbHIsIHsgcjAtcjExIH0iICJc
biIKKyAgICAibXJzICAgICAgIGxyLCBBUFNSIiAiXG4iCisgICAgInN0ciAgICAgICBsciwgW3Nw
LCAjIiBTVFJJTkdJWkVfVkFMVUVfT0YoUFJPQkVfQ1BVX0FQU1JfT0ZGU0VUKSAiXSIgIlxuIgor
ICAgICJ2bXJzICAgICAgbHIsIEZQU0NSIiAiXG4iCisgICAgInN0ciAgICAgICBsciwgW3NwLCAj
IiBTVFJJTkdJWkVfVkFMVUVfT0YoUFJPQkVfQ1BVX0ZQU0NSX09GRlNFVCkgIl0iICJcbiIKKwor
ICAgICJsZHIgICAgICAgbHIsIFtpcCwgIzAgKiAiIFNUUklOR0laRV9WQUxVRV9PRihQVFJfU0la
RSkgIl0iICJcbiIKKyAgICAic3RyICAgICAgIGxyLCBbc3AsICMiIFNUUklOR0laRV9WQUxVRV9P
RihQUk9CRV9QUk9CRV9GVU5DVElPTl9PRkZTRVQpICJdIiAiXG4iCisgICAgImxkciAgICAgICBs
ciwgW2lwLCAjMSAqICIgU1RSSU5HSVpFX1ZBTFVFX09GKFBUUl9TSVpFKSAiXSIgIlxuIgorICAg
ICJzdHIgICAgICAgbHIsIFtzcCwgIyIgU1RSSU5HSVpFX1ZBTFVFX09GKFBST0JFX0FSRzFfT0ZG
U0VUKSAiXSIgIlxuIgorICAgICJsZHIgICAgICAgbHIsIFtpcCwgIzIgKiAiIFNUUklOR0laRV9W
QUxVRV9PRihQVFJfU0laRSkgIl0iICJcbiIKKyAgICAic3RyICAgICAgIGxyLCBbc3AsICMiIFNU
UklOR0laRV9WQUxVRV9PRihQUk9CRV9BUkcyX09GRlNFVCkgIl0iICJcbiIKKyAgICAibGRyICAg
ICAgIGxyLCBbaXAsICMzICogIiBTVFJJTkdJWkVfVkFMVUVfT0YoUFRSX1NJWkUpICJdIiAiXG4i
CisgICAgInN0ciAgICAgICBsciwgW3NwLCAjIiBTVFJJTkdJWkVfVkFMVUVfT0YoUFJPQkVfQ1BV
X1IzX09GRlNFVCkgIl0iICJcbiIKKyAgICAibGRyICAgICAgIGxyLCBbaXAsICM0ICogIiBTVFJJ
TkdJWkVfVkFMVUVfT0YoUFRSX1NJWkUpICJdIiAiXG4iCisgICAgInN0ciAgICAgICBsciwgW3Nw
LCAjIiBTVFJJTkdJWkVfVkFMVUVfT0YoUFJPQkVfQ1BVX0lQX09GRlNFVCkgIl0iICJcbiIKKyAg
ICAibGRyICAgICAgIGxyLCBbaXAsICM1ICogIiBTVFJJTkdJWkVfVkFMVUVfT0YoUFRSX1NJWkUp
ICJdIiAiXG4iCisgICAgInN0ciAgICAgICBsciwgW3NwLCAjIiBTVFJJTkdJWkVfVkFMVUVfT0Yo
UFJPQkVfQ1BVX0xSX09GRlNFVCkgIl0iICJcbiIKKyAgICAibGRyICAgICAgIGxyLCBbaXAsICM2
ICogIiBTVFJJTkdJWkVfVkFMVUVfT0YoUFRSX1NJWkUpICJdIiAiXG4iCisgICAgInN0ciAgICAg
ICBsciwgW3NwLCAjIiBTVFJJTkdJWkVfVkFMVUVfT0YoUFJPQkVfQ1BVX1NQX09GRlNFVCkgIl0i
ICJcbiIKKyAgICAic3RyICAgICAgIGxyLCBbc3AsICMiIFNUUklOR0laRV9WQUxVRV9PRihQUk9C
RV9KSVRfU1RBQ0tfRlJBTUVfT0ZGU0VUKSAiXSIgIlxuIgorCisgICAgImxkciAgICAgICBsciwg
W3NwLCAjIiBTVFJJTkdJWkVfVkFMVUVfT0YoUFJPQkVfQ1BVX1BDX09GRlNFVCkgIl0iICJcbiIK
KworICAgICJhZGQgICAgICAgaXAsIHNwLCAjIiBTVFJJTkdJWkVfVkFMVUVfT0YoUFJPQkVfQ1BV
X0QwX09GRlNFVCkgIlxuIgorICAgICJ2c3RtaWEuNjQgaXAsIHsgZDAtZDE1IH0iICJcbiIKKwor
ICAgICJtb3YgICAgICAgZnAsIHNwIiAiXG4iIC8vIFNhdmUgdGhlIFByb2JlQ29udGV4dCouCisK
KyAgICAibGRyICAgICAgIGlwLCBbc3AsICMiIFNUUklOR0laRV9WQUxVRV9PRihQUk9CRV9QUk9C
RV9GVU5DVElPTl9PRkZTRVQpICJdIiAiXG4iCisgICAgIm1vdiAgICAgICByMCwgc3AiICJcbiIg
Ly8gdGhlIFByb2JlQ29udGV4dCogYXJnLgorICAgICJibHggICAgICAgaXAiICJcbiIKKworICAg
ICJtb3YgICAgICAgc3AsIGZwIiAiXG4iCisKKyAgICAvLyBUbyBlbmFibGUgcHJvYmVzIHRvIG1v
ZGlmeSByZWdpc3RlciBzdGF0ZSwgd2UgY29weSBhbGwgcmVnaXN0ZXJzCisgICAgLy8gb3V0IG9m
IHRoZSBQcm9iZUNvbnRleHQgYmVmb3JlIHJldHVybmluZy4KKworICAgICJhZGQgICAgICAgaXAs
IHNwLCAjIiBTVFJJTkdJWkVfVkFMVUVfT0YoUFJPQkVfQ1BVX0QxNV9PRkZTRVQgKyBGUFJFR19T
SVpFKSAiXG4iCisgICAgInZsZG1kYi42NCBpcCEsIHsgZDAtZDE1IH0iICJcbiIKKyAgICAiYWRk
ICAgICAgIGlwLCBzcCwgIyIgU1RSSU5HSVpFX1ZBTFVFX09GKFBST0JFX0NQVV9SMTFfT0ZGU0VU
ICsgR1BSRUdfU0laRSkgIlxuIgorICAgICJsZG1kYiAgICAgaXAsIHsgcjAtcjExIH0iICJcbiIK
KyAgICAibGRyICAgICAgIGlwLCBbc3AsICMiIFNUUklOR0laRV9WQUxVRV9PRihQUk9CRV9DUFVf
RlBTQ1JfT0ZGU0VUKSAiXSIgIlxuIgorICAgICJ2bXNyICAgICAgRlBTQ1IsIGlwIiAiXG4iCisK
KyAgICAvLyBUaGVyZSBhcmUgNSBtb3JlIHJlZ2lzdGVycyBsZWZ0IHRvIHJlc3RvcmU6IGlwLCBz
cCwgbHIsIHBjLCBhbmQgYXBzci4KKyAgICAvLyBUaGVyZSBhcmUgMiBpc3N1ZXMgdGhhdCBjb21w
bGljYXRlIHRoZSByZXN0b3JhdGlvbiBvZiB0aGVzZSBsYXN0IGZldworICAgIC8vIHJlZ2lzdGVy
czoKKyAgICAvLworICAgIC8vIDEuIE5vcm1hbCBBUk0gY2FsbGluZyBjb252ZW50aW9uIHJlbGll
cyBvbiBtb3ZpbmcgbHIgdG8gcGMgdG8gcmV0dXJuIHRvCisgICAgLy8gICAgdGhlIGNhbGxlci4g
SW4gb3VyIGNhc2UsIHRoZSBhZGRyZXNzIHRvIHJldHVybiB0byBpcyBzcGVjaWZpZWQgYnkKKyAg
ICAvLyAgICBQcm9iZUNvbnRleHQuY3B1LnBjLiBBbmQgYXQgdGhhdCBtb21lbnQsIHdlIHdvbid0
IGhhdmUgYW55IGF2YWlsYWJsZQorICAgIC8vICAgIHNjcmF0Y2ggcmVnaXN0ZXJzIHRvIGhvbGQg
dGhlIHJldHVybiBhZGRyZXNzIChsciBuZWVkcyB0byBob2xkCisgICAgLy8gICAgUHJvYmVDb250
ZXh0LmNwdS5sciwgbm90IHRoZSByZXR1cm4gYWRkcmVzcykuCisgICAgLy8KKyAgICAvLyAgICBU
aGUgc29sdXRpb24gaXMgdG8gc3RvcmUgdGhlIHJldHVybiBhZGRyZXNzIG9uIHRoZSBzdGFjayBh
bmQgbG9hZCB0aGUKKyAgICAvLyAgICAgcGMgZnJvbSB0aGVyZS4KKyAgICAvLworICAgIC8vIDIu
IElzc3VlIDEgbWVhbnMgd2Ugd2lsbCBuZWVkIHRvIHdyaXRlIHRvIHRoZSBzdGFjayBsb2NhdGlv
biBhdAorICAgIC8vICAgIFByb2JlQ29udGV4dC5jcHUuc3AgLSA0LiBCdXQgaWYgdGhlIHVzZXIg
cHJvYmUgZnVuY3Rpb24gaGFkICBtb2RpZmllZAorICAgIC8vICAgIHRoZSB2YWx1ZSBvZiBQcm9i
ZUNvbnRleHQuY3B1LnNwIHRvIHBvaW50IGluIHRoZSByYW5nZSBiZXR3ZWVuCisgICAgLy8gICAg
JlByb2JlQ29udGV4dC5jcHUuaXAgdGhydSAmUHJvYmVDb250ZXh0LmNwdS5hc3ByLCB0aGVuIHRo
ZSBhY3Rpb24gZm9yCisgICAgLy8gICAgSXNzdWUgMSBtYXkgdHJhc2ggdGhlIHZhbHVlcyB0byBi
ZSByZXN0b3JlZCBiZWZvcmUgd2UgY2FuIHJlc3RvcmUKKyAgICAvLyAgICB0aGVtLgorICAgIC8v
CisgICAgLy8gICAgVGhlIHNvbHV0aW9uIGlzIHRvIGNoZWNrIGlmIFByb2JlQ29udGV4dC5jcHUu
c3AgY29udGFpbnMgYSB2YWx1ZSBpbgorICAgIC8vICAgIHRoZSB1bmRlc2lyYWJsZSByYW5nZS4g
SWYgc28sIHdlIGNvcHkgdGhlIHJlbWFpbmluZyBQcm9iZUNvbnRleHQKKyAgICAvLyAgICByZWdp
c3RlciBkYXRhIHRvIGEgc2FmZSByYW5nZSAoYXQgbWVtb3J5IGxvd2VyIHRoYW4gd2hlcmUKKyAg
ICAvLyAgICBQcm9iZUNvbnRleHQuY3B1LnNwIHBvaW50cykgZmlyc3QsIGFuZCByZXN0b3JlIHRo
ZSByZW1haW5pbmcgcmVnaXN0ZXIKKyAgICAvLyAgICBmcm9tIHRoaXMgbmV3IHJhbmdlLgorCisg
ICAgImFkZCAgICAgICBpcCwgc3AsICMiIFNUUklOR0laRV9WQUxVRV9PRihQUk9CRV9DUFVfQVBT
Ul9PRkZTRVQpICJcbiIKKyAgICAibGRyICAgICAgIGxyLCBbc3AsICMiIFNUUklOR0laRV9WQUxV
RV9PRihQUk9CRV9DUFVfU1BfT0ZGU0VUKSAiXSIgIlxuIgorICAgICJjbXAgICAgICAgbHIsIGlw
IiAiXG4iCisgICAgImJndCAgICAgIiBTWU1CT0xfU1RSSU5HKGN0aU1hc21Qcm9iZVRyYW1wb2xp
bmVFbmQpICJcbiIKKworICAgIC8vIFdlIGdldCBoZXJlIGJlY2F1c2UgdGhlIG5ldyBleHBlY3Rl
ZCBzdGFjayBwb2ludGVyIGxvY2F0aW9uIGlzIGxvd2VyCisgICAgLy8gdGhhbiB3aGVyZSBpdCdz
IHN1cHBvc2VkIHRvIGJlLiBUaGlzIG1lYW5zIHRoZSBzYWZlIHJhbmdlIG9mIHN0YWNrCisgICAg
Ly8gbWVtb3J5IHdoZXJlIHdlJ2xsIGJlIGNvcHlpbmcgdGhlIHJlbWFpbmluZyByZWdpc3RlciBy
ZXN0b3JlIHZhbHVlcyB0bworICAgIC8vIG1pZ2h0IGJlIGluIGEgcmVnaW9uIG9mIG1lbW9yeSBi
ZWxvdyB0aGUgc3AgaS5lLiB1bmFsbG9jYXRlZCBzdGFjaworICAgIC8vIG1lbW9yeS4gVGhpcyBp
biB0dXJuIG1ha2VzIGl0IHZ1bG5lcmFibGUgdG8gaW50ZXJydXB0cyBwb3RlbnRpYWxseQorICAg
IC8vIHRyYXNoaW5nIHRoZSBjb3BpZWQgdmFsdWVzLiBUbyBwcmV2ZW50IHRoYXQsIHdlIG11c3Qg
Zmlyc3QgYWxsb2NhdGUgdGhlCisgICAgLy8gbmVlZGVkIHN0YWNrIG1lbW9yeSBieSBhZGp1c3Rp
bmcgdGhlIHNwIGJlZm9yZSB0aGUgY29weWluZy4KKworICAgICJzdWIgICAgICAgbHIsIGxyLCAj
KDYgKiAiIFNUUklOR0laRV9WQUxVRV9PRihQVFJfU0laRSkgCisgICAgICAgICAgICAgICAgICAg
ICAgICAgIiArICIgU1RSSU5HSVpFX1ZBTFVFX09GKFBST0JFX0NQVV9JUF9PRkZTRVQpICIpIiAi
XG4iCisKKyAgICAibW92ICAgICAgIGlwLCBzcCIgIlxuIgorICAgICJtb3YgICAgICAgc3AsIGxy
IiAiXG4iCisgICAgIm1vdiAgICAgICBsciwgaXAiICJcbiIKKworICAgICJsZHIgICAgICAgaXAs
IFtsciwgIyIgU1RSSU5HSVpFX1ZBTFVFX09GKFBST0JFX0NQVV9JUF9PRkZTRVQpICJdIiAiXG4i
CisgICAgInN0ciAgICAgICBpcCwgW3NwLCAjIiBTVFJJTkdJWkVfVkFMVUVfT0YoUFJPQkVfQ1BV
X0lQX09GRlNFVCkgIl0iICJcbiIKKyAgICAibGRyICAgICAgIGlwLCBbbHIsICMiIFNUUklOR0la
RV9WQUxVRV9PRihQUk9CRV9DUFVfU1BfT0ZGU0VUKSAiXSIgIlxuIgorICAgICJzdHIgICAgICAg
aXAsIFtzcCwgIyIgU1RSSU5HSVpFX1ZBTFVFX09GKFBST0JFX0NQVV9TUF9PRkZTRVQpICJdIiAi
XG4iCisgICAgImxkciAgICAgICBpcCwgW2xyLCAjIiBTVFJJTkdJWkVfVkFMVUVfT0YoUFJPQkVf
Q1BVX0xSX09GRlNFVCkgIl0iICJcbiIKKyAgICAic3RyICAgICAgIGlwLCBbc3AsICMiIFNUUklO
R0laRV9WQUxVRV9PRihQUk9CRV9DUFVfTFJfT0ZGU0VUKSAiXSIgIlxuIgorICAgICJsZHIgICAg
ICAgaXAsIFtsciwgIyIgU1RSSU5HSVpFX1ZBTFVFX09GKFBST0JFX0NQVV9QQ19PRkZTRVQpICJd
IiAiXG4iCisgICAgInN0ciAgICAgICBpcCwgW3NwLCAjIiBTVFJJTkdJWkVfVkFMVUVfT0YoUFJP
QkVfQ1BVX1BDX09GRlNFVCkgIl0iICJcbiIKKyAgICAibGRyICAgICAgIGlwLCBbbHIsICMiIFNU
UklOR0laRV9WQUxVRV9PRihQUk9CRV9DUFVfQVBTUl9PRkZTRVQpICJdIiAiXG4iCisgICAgInN0
ciAgICAgICBpcCwgW3NwLCAjIiBTVFJJTkdJWkVfVkFMVUVfT0YoUFJPQkVfQ1BVX0FQU1JfT0ZG
U0VUKSAiXSIgIlxuIgorCitTWU1CT0xfU1RSSU5HKGN0aU1hc21Qcm9iZVRyYW1wb2xpbmVFbmQp
ICI6IiAiXG4iCisgICAgImxkciAgICAgICBpcCwgW3NwLCAjIiBTVFJJTkdJWkVfVkFMVUVfT0Yo
UFJPQkVfQ1BVX1BDX09GRlNFVCkgIl0iICJcbiIKKyAgICAibGRyICAgICAgIGxyLCBbc3AsICMi
IFNUUklOR0laRV9WQUxVRV9PRihQUk9CRV9DUFVfU1BfT0ZGU0VUKSAiXSIgIlxuIgorICAgICJz
dWIgICAgICAgbHIsIGxyLCAjIiBTVFJJTkdJWkVfVkFMVUVfT0YoUFRSX1NJWkUpICJcbiIKKyAg
ICAic3RyICAgICAgIGlwLCBbbHJdIiAiXG4iCisgICAgInN0ciAgICAgICBsciwgW3NwLCAjIiBT
VFJJTkdJWkVfVkFMVUVfT0YoUFJPQkVfQ1BVX1NQX09GRlNFVCkgIl0iICJcbiIKKworICAgICJs
ZHIgICAgICAgaXAsIFtzcCwgIyIgU1RSSU5HSVpFX1ZBTFVFX09GKFBST0JFX0NQVV9BUFNSX09G
RlNFVCkgIl0iICJcbiIKKyAgICAibXNyICAgICAgIEFQU1IsIGlwIiAiXG4iCisgICAgImxkciAg
ICAgICBpcCwgW3NwLCAjIiBTVFJJTkdJWkVfVkFMVUVfT0YoUFJPQkVfQ1BVX0xSX09GRlNFVCkg
Il0iICJcbiIKKyAgICAibW92ICAgICAgIGxyLCBpcCIgIlxuIgorICAgICJsZHIgICAgICAgaXAs
IFtzcCwgIyIgU1RSSU5HSVpFX1ZBTFVFX09GKFBST0JFX0NQVV9JUF9PRkZTRVQpICJdIiAiXG4i
CisgICAgImxkciAgICAgICBzcCwgW3NwLCAjIiBTVFJJTkdJWkVfVkFMVUVfT0YoUFJPQkVfQ1BV
X1NQX09GRlNFVCkgIl0iICJcbiIKKworICAgICJwb3AgICAgICAgeyBwYyB9IiAiXG4iCispOwor
I2VuZGlmIC8vIFVTRShNQVNNX1BST0JFKQorCisKICNkZWZpbmUgREVGSU5FX1NUVUJfRlVOQ1RJ
T04ocnR5cGUsIG9wKSBcCiAgICAgZXh0ZXJuICJDIiB7IFwKICAgICAgICAgcnR5cGUgSklUU3R1
YlRodW5rZWRfIyNvcChTVFVCX0FSR1NfREVDTEFSQVRJT04pOyBcCkluZGV4OiBTb3VyY2UvSmF2
YVNjcmlwdENvcmUvaml0L0pJVFN0dWJzQVJNdjcuaAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2
YVNjcmlwdENvcmUvaml0L0pJVFN0dWJzQVJNdjcuaAkocmV2aXNpb24gMTUwODI3KQorKysgU291
cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9KSVRTdHVic0FSTXY3LmgJKHdvcmtpbmcgY29weSkKQEAg
LTU2LDYgKzU2LDE1MyBAQCBuYW1lc3BhY2UgSlNDIHsKIAogI2lmIENPTVBJTEVSKEdDQykKIAor
I2lmIFVTRShNQVNNX1BST0JFKQorLy8gVGhlIGZvbGxvd2luZyBhcmUgb2Zmc2V0cyBmb3IgTWFj
cm9Bc3NlbWJsZXI6OlByb2JlQ29udGV4dCBmaWVsZHMgYWNjZXNzZWQKKy8vIGJ5IHRoZSBjdGlN
YXNtUHJvYmVUcmFtcG9saW5lIHN0dWIuCisKKyNkZWZpbmUgUFRSX1NJWkUgNAorI2RlZmluZSBQ
Uk9CRV9QUk9CRV9GVU5DVElPTl9PRkZTRVQgKDAgKiBQVFJfU0laRSkKKyNkZWZpbmUgUFJPQkVf
QVJHMV9PRkZTRVQgKDEgKiBQVFJfU0laRSkKKyNkZWZpbmUgUFJPQkVfQVJHMl9PRkZTRVQgKDIg
KiBQVFJfU0laRSkKKyNkZWZpbmUgUFJPQkVfSklUX1NUQUNLX0ZSQU1FX09GRlNFVCAoMyAqIFBU
Ul9TSVpFKQorCisjZGVmaW5lIFBST0JFX0ZJUlNUX0dQUkVHX09GRlNFVCAoNCAqIFBUUl9TSVpF
KQorCisjZGVmaW5lIEdQUkVHX1NJWkUgNAorI2RlZmluZSBQUk9CRV9DUFVfUjBfT0ZGU0VUIChQ
Uk9CRV9GSVJTVF9HUFJFR19PRkZTRVQgKyAoMCAqIEdQUkVHX1NJWkUpKQorI2RlZmluZSBQUk9C
RV9DUFVfUjFfT0ZGU0VUIChQUk9CRV9GSVJTVF9HUFJFR19PRkZTRVQgKyAoMSAqIEdQUkVHX1NJ
WkUpKQorI2RlZmluZSBQUk9CRV9DUFVfUjJfT0ZGU0VUIChQUk9CRV9GSVJTVF9HUFJFR19PRkZT
RVQgKyAoMiAqIEdQUkVHX1NJWkUpKQorI2RlZmluZSBQUk9CRV9DUFVfUjNfT0ZGU0VUIChQUk9C
RV9GSVJTVF9HUFJFR19PRkZTRVQgKyAoMyAqIEdQUkVHX1NJWkUpKQorI2RlZmluZSBQUk9CRV9D
UFVfUjRfT0ZGU0VUIChQUk9CRV9GSVJTVF9HUFJFR19PRkZTRVQgKyAoNCAqIEdQUkVHX1NJWkUp
KQorI2RlZmluZSBQUk9CRV9DUFVfUjVfT0ZGU0VUIChQUk9CRV9GSVJTVF9HUFJFR19PRkZTRVQg
KyAoNSAqIEdQUkVHX1NJWkUpKQorI2RlZmluZSBQUk9CRV9DUFVfUjZfT0ZGU0VUIChQUk9CRV9G
SVJTVF9HUFJFR19PRkZTRVQgKyAoNiAqIEdQUkVHX1NJWkUpKQorI2RlZmluZSBQUk9CRV9DUFVf
UjdfT0ZGU0VUIChQUk9CRV9GSVJTVF9HUFJFR19PRkZTRVQgKyAoNyAqIEdQUkVHX1NJWkUpKQor
I2RlZmluZSBQUk9CRV9DUFVfUjhfT0ZGU0VUIChQUk9CRV9GSVJTVF9HUFJFR19PRkZTRVQgKyAo
OCAqIEdQUkVHX1NJWkUpKQorI2RlZmluZSBQUk9CRV9DUFVfUjlfT0ZGU0VUIChQUk9CRV9GSVJT
VF9HUFJFR19PRkZTRVQgKyAoOSAqIEdQUkVHX1NJWkUpKQorI2RlZmluZSBQUk9CRV9DUFVfUjEw
X09GRlNFVCAoUFJPQkVfRklSU1RfR1BSRUdfT0ZGU0VUICsgKDEwICogR1BSRUdfU0laRSkpCisj
ZGVmaW5lIFBST0JFX0NQVV9SMTFfT0ZGU0VUIChQUk9CRV9GSVJTVF9HUFJFR19PRkZTRVQgKyAo
MTEgKiBHUFJFR19TSVpFKSkKKyNkZWZpbmUgUFJPQkVfQ1BVX0lQX09GRlNFVCAoUFJPQkVfRklS
U1RfR1BSRUdfT0ZGU0VUICsgKDEyICogR1BSRUdfU0laRSkpCisjZGVmaW5lIFBST0JFX0NQVV9T
UF9PRkZTRVQgKFBST0JFX0ZJUlNUX0dQUkVHX09GRlNFVCArICgxMyAqIEdQUkVHX1NJWkUpKQor
I2RlZmluZSBQUk9CRV9DUFVfTFJfT0ZGU0VUIChQUk9CRV9GSVJTVF9HUFJFR19PRkZTRVQgKyAo
MTQgKiBHUFJFR19TSVpFKSkKKyNkZWZpbmUgUFJPQkVfQ1BVX1BDX09GRlNFVCAoUFJPQkVfRklS
U1RfR1BSRUdfT0ZGU0VUICsgKDE1ICogR1BSRUdfU0laRSkpCisKKyNkZWZpbmUgUFJPQkVfQ1BV
X0FQU1JfT0ZGU0VUIChQUk9CRV9GSVJTVF9HUFJFR19PRkZTRVQgKyAoMTYgKiBHUFJFR19TSVpF
KSkKKyNkZWZpbmUgUFJPQkVfQ1BVX0ZQU0NSX09GRlNFVCAoUFJPQkVfRklSU1RfR1BSRUdfT0ZG
U0VUICsgKDE3ICogR1BSRUdfU0laRSkpCisKKyNkZWZpbmUgUFJPQkVfRklSU1RfRlBSRUdfT0ZG
U0VUIChQUk9CRV9GSVJTVF9HUFJFR19PRkZTRVQgKyAoMTggKiBHUFJFR19TSVpFKSkKKworI2Rl
ZmluZSBGUFJFR19TSVpFIDgKKyNkZWZpbmUgUFJPQkVfQ1BVX0QwX09GRlNFVCAoUFJPQkVfRklS
U1RfRlBSRUdfT0ZGU0VUICsgKDAgKiBGUFJFR19TSVpFKSkKKyNkZWZpbmUgUFJPQkVfQ1BVX0Qx
X09GRlNFVCAoUFJPQkVfRklSU1RfRlBSRUdfT0ZGU0VUICsgKDEgKiBGUFJFR19TSVpFKSkKKyNk
ZWZpbmUgUFJPQkVfQ1BVX0QyX09GRlNFVCAoUFJPQkVfRklSU1RfRlBSRUdfT0ZGU0VUICsgKDIg
KiBGUFJFR19TSVpFKSkKKyNkZWZpbmUgUFJPQkVfQ1BVX0QzX09GRlNFVCAoUFJPQkVfRklSU1Rf
RlBSRUdfT0ZGU0VUICsgKDMgKiBGUFJFR19TSVpFKSkKKyNkZWZpbmUgUFJPQkVfQ1BVX0Q0X09G
RlNFVCAoUFJPQkVfRklSU1RfRlBSRUdfT0ZGU0VUICsgKDQgKiBGUFJFR19TSVpFKSkKKyNkZWZp
bmUgUFJPQkVfQ1BVX0Q1X09GRlNFVCAoUFJPQkVfRklSU1RfRlBSRUdfT0ZGU0VUICsgKDUgKiBG
UFJFR19TSVpFKSkKKyNkZWZpbmUgUFJPQkVfQ1BVX0Q2X09GRlNFVCAoUFJPQkVfRklSU1RfRlBS
RUdfT0ZGU0VUICsgKDYgKiBGUFJFR19TSVpFKSkKKyNkZWZpbmUgUFJPQkVfQ1BVX0Q3X09GRlNF
VCAoUFJPQkVfRklSU1RfRlBSRUdfT0ZGU0VUICsgKDcgKiBGUFJFR19TSVpFKSkKKyNkZWZpbmUg
UFJPQkVfQ1BVX0Q4X09GRlNFVCAoUFJPQkVfRklSU1RfRlBSRUdfT0ZGU0VUICsgKDggKiBGUFJF
R19TSVpFKSkKKyNkZWZpbmUgUFJPQkVfQ1BVX0Q5X09GRlNFVCAoUFJPQkVfRklSU1RfRlBSRUdf
T0ZGU0VUICsgKDkgKiBGUFJFR19TSVpFKSkKKyNkZWZpbmUgUFJPQkVfQ1BVX0QxMF9PRkZTRVQg
KFBST0JFX0ZJUlNUX0ZQUkVHX09GRlNFVCArICgxMCAqIEZQUkVHX1NJWkUpKQorI2RlZmluZSBQ
Uk9CRV9DUFVfRDExX09GRlNFVCAoUFJPQkVfRklSU1RfRlBSRUdfT0ZGU0VUICsgKDExICogRlBS
RUdfU0laRSkpCisjZGVmaW5lIFBST0JFX0NQVV9EMTJfT0ZGU0VUIChQUk9CRV9GSVJTVF9GUFJF
R19PRkZTRVQgKyAoMTIgKiBGUFJFR19TSVpFKSkKKyNkZWZpbmUgUFJPQkVfQ1BVX0QxM19PRkZT
RVQgKFBST0JFX0ZJUlNUX0ZQUkVHX09GRlNFVCArICgxMyAqIEZQUkVHX1NJWkUpKQorI2RlZmlu
ZSBQUk9CRV9DUFVfRDE0X09GRlNFVCAoUFJPQkVfRklSU1RfRlBSRUdfT0ZGU0VUICsgKDE0ICog
RlBSRUdfU0laRSkpCisjZGVmaW5lIFBST0JFX0NQVV9EMTVfT0ZGU0VUIChQUk9CRV9GSVJTVF9G
UFJFR19PRkZTRVQgKyAoMTUgKiBGUFJFR19TSVpFKSkKKworI2lmIENQVShBUFBMRV9BUk1WN1Mp
CisjZGVmaW5lIFBST0JFX0NQVV9EMTZfT0ZGU0VUIChQUk9CRV9GSVJTVF9GUFJFR19PRkZTRVQg
KyAoMTYgKiBGUFJFR19TSVpFKSkKKyNkZWZpbmUgUFJPQkVfQ1BVX0QxN19PRkZTRVQgKFBST0JF
X0ZJUlNUX0ZQUkVHX09GRlNFVCArICgxNyAqIEZQUkVHX1NJWkUpKQorI2RlZmluZSBQUk9CRV9D
UFVfRDE4X09GRlNFVCAoUFJPQkVfRklSU1RfRlBSRUdfT0ZGU0VUICsgKDE4ICogRlBSRUdfU0la
RSkpCisjZGVmaW5lIFBST0JFX0NQVV9EMTlfT0ZGU0VUIChQUk9CRV9GSVJTVF9GUFJFR19PRkZT
RVQgKyAoMTkgKiBGUFJFR19TSVpFKSkKKyNkZWZpbmUgUFJPQkVfQ1BVX0QyMF9PRkZTRVQgKFBS
T0JFX0ZJUlNUX0ZQUkVHX09GRlNFVCArICgyMCAqIEZQUkVHX1NJWkUpKQorI2RlZmluZSBQUk9C
RV9DUFVfRDIxX09GRlNFVCAoUFJPQkVfRklSU1RfRlBSRUdfT0ZGU0VUICsgKDIxICogRlBSRUdf
U0laRSkpCisjZGVmaW5lIFBST0JFX0NQVV9EMjJfT0ZGU0VUIChQUk9CRV9GSVJTVF9GUFJFR19P
RkZTRVQgKyAoMjIgKiBGUFJFR19TSVpFKSkKKyNkZWZpbmUgUFJPQkVfQ1BVX0QyM19PRkZTRVQg
KFBST0JFX0ZJUlNUX0ZQUkVHX09GRlNFVCArICgyMyAqIEZQUkVHX1NJWkUpKQorI2RlZmluZSBQ
Uk9CRV9DUFVfRDI0X09GRlNFVCAoUFJPQkVfRklSU1RfRlBSRUdfT0ZGU0VUICsgKDI0ICogRlBS
RUdfU0laRSkpCisjZGVmaW5lIFBST0JFX0NQVV9EMjVfT0ZGU0VUIChQUk9CRV9GSVJTVF9GUFJF
R19PRkZTRVQgKyAoMjUgKiBGUFJFR19TSVpFKSkKKyNkZWZpbmUgUFJPQkVfQ1BVX0QyNl9PRkZT
RVQgKFBST0JFX0ZJUlNUX0ZQUkVHX09GRlNFVCArICgyNiAqIEZQUkVHX1NJWkUpKQorI2RlZmlu
ZSBQUk9CRV9DUFVfRDI3X09GRlNFVCAoUFJPQkVfRklSU1RfRlBSRUdfT0ZGU0VUICsgKDI3ICog
RlBSRUdfU0laRSkpCisjZGVmaW5lIFBST0JFX0NQVV9EMjhfT0ZGU0VUIChQUk9CRV9GSVJTVF9G
UFJFR19PRkZTRVQgKyAoMjggKiBGUFJFR19TSVpFKSkKKyNkZWZpbmUgUFJPQkVfQ1BVX0QyOV9P
RkZTRVQgKFBST0JFX0ZJUlNUX0ZQUkVHX09GRlNFVCArICgyOSAqIEZQUkVHX1NJWkUpKQorI2Rl
ZmluZSBQUk9CRV9DUFVfRDMwX09GRlNFVCAoUFJPQkVfRklSU1RfRlBSRUdfT0ZGU0VUICsgKDMw
ICogRlBSRUdfU0laRSkpCisjZGVmaW5lIFBST0JFX0NQVV9EMzFfT0ZGU0VUIChQUk9CRV9GSVJT
VF9GUFJFR19PRkZTRVQgKyAoMzEgKiBGUFJFR19TSVpFKSkKKyNkZWZpbmUgUFJPQkVfU0laRSAo
UFJPQkVfRklSU1RfRlBSRUdfT0ZGU0VUICsgKDMyICogRlBSRUdfU0laRSkpCisjZWxzZQorI2Rl
ZmluZSBQUk9CRV9TSVpFIChQUk9CRV9GSVJTVF9GUFJFR19PRkZTRVQgKyAoMTYgKiBGUFJFR19T
SVpFKSkKKyNlbmRpZiAvLyBDUFUoQVBQTEVfQVJNVjdTKQorCisKKy8vIFRoZXNlIEFTU0VSVHMg
cmVtaW5kIHlvdSB0aGF0IGlmIHlvdSBjaGFuZ2UgdGhlIGxheW91dCBvZiBQcm9iZUNvbnRleHQs
CisvLyB5b3UgbmVlZCB0byBjaGFuZ2UgY3RpTWFzbVByb2JlVHJhbXBvbGluZSBvZmZzZXRzIGFi
b3ZlIHRvIG1hdGNoLgorI2RlZmluZSBQUk9CRV9PRkZTRVRPRih4KSBvZmZzZXRvZihzdHJ1Y3Qg
TWFjcm9Bc3NlbWJsZXI6OlByb2JlQ29udGV4dCwgeCkKK0NPTVBJTEVfQVNTRVJUKFBST0JFX09G
RlNFVE9GKHByb2JlRnVuY3Rpb24pID09IFBST0JFX1BST0JFX0ZVTkNUSU9OX09GRlNFVCwgUHJv
YmVDb250ZXh0X3Byb2JlRnVuY3Rpb25fb2Zmc2V0X21hdGNoZXNfY3RpTWFzbVByb2JlVHJhbXBv
bGluZSk7CitDT01QSUxFX0FTU0VSVChQUk9CRV9PRkZTRVRPRihhcmcxKSA9PSBQUk9CRV9BUkcx
X09GRlNFVCwgUHJvYmVDb250ZXh0X2FyZzFfb2Zmc2V0X21hdGNoZXNfY3RpTWFzbVByb2JlVHJh
bXBvbGluZSk7CitDT01QSUxFX0FTU0VSVChQUk9CRV9PRkZTRVRPRihhcmcyKSA9PSBQUk9CRV9B
UkcyX09GRlNFVCwgUHJvYmVDb250ZXh0X2FyZzJfb2Zmc2V0X21hdGNoZXNfY3RpTWFzbVByb2Jl
VHJhbXBvbGluZSk7CitDT01QSUxFX0FTU0VSVChQUk9CRV9PRkZTRVRPRihqaXRTdGFja0ZyYW1l
KSA9PSBQUk9CRV9KSVRfU1RBQ0tfRlJBTUVfT0ZGU0VULCBQcm9iZUNvbnRleHRfaml0U3RhY2tG
cmFtZV9vZmZzZXRfbWF0Y2hlc19jdGlNYXNtUHJvYmVUcmFtcG9saW5lKTsKKworQ09NUElMRV9B
U1NFUlQoUFJPQkVfT0ZGU0VUT0YoY3B1LnIwKSA9PSBQUk9CRV9DUFVfUjBfT0ZGU0VULCBQcm9i
ZUNvbnRleHRfY3B1X3IwX29mZnNldF9tYXRjaGVzX2N0aU1hc21Qcm9iZVRyYW1wb2xpbmUpOwor
Q09NUElMRV9BU1NFUlQoUFJPQkVfT0ZGU0VUT0YoY3B1LnIxKSA9PSBQUk9CRV9DUFVfUjFfT0ZG
U0VULCBQcm9iZUNvbnRleHRfY3B1X3IxX29mZnNldF9tYXRjaGVzX2N0aU1hc21Qcm9iZVRyYW1w
b2xpbmUpOworQ09NUElMRV9BU1NFUlQoUFJPQkVfT0ZGU0VUT0YoY3B1LnIyKSA9PSBQUk9CRV9D
UFVfUjJfT0ZGU0VULCBQcm9iZUNvbnRleHRfY3B1X3IyX29mZnNldF9tYXRjaGVzX2N0aU1hc21Q
cm9iZVRyYW1wb2xpbmUpOworQ09NUElMRV9BU1NFUlQoUFJPQkVfT0ZGU0VUT0YoY3B1LnIzKSA9
PSBQUk9CRV9DUFVfUjNfT0ZGU0VULCBQcm9iZUNvbnRleHRfY3B1X3IzX29mZnNldF9tYXRjaGVz
X2N0aU1hc21Qcm9iZVRyYW1wb2xpbmUpOworQ09NUElMRV9BU1NFUlQoUFJPQkVfT0ZGU0VUT0Yo
Y3B1LnI0KSA9PSBQUk9CRV9DUFVfUjRfT0ZGU0VULCBQcm9iZUNvbnRleHRfY3B1X3I0X29mZnNl
dF9tYXRjaGVzX2N0aU1hc21Qcm9iZVRyYW1wb2xpbmUpOworQ09NUElMRV9BU1NFUlQoUFJPQkVf
T0ZGU0VUT0YoY3B1LnI1KSA9PSBQUk9CRV9DUFVfUjVfT0ZGU0VULCBQcm9iZUNvbnRleHRfY3B1
X3I1X29mZnNldF9tYXRjaGVzX2N0aU1hc21Qcm9iZVRyYW1wb2xpbmUpOworQ09NUElMRV9BU1NF
UlQoUFJPQkVfT0ZGU0VUT0YoY3B1LnI2KSA9PSBQUk9CRV9DUFVfUjZfT0ZGU0VULCBQcm9iZUNv
bnRleHRfY3B1X3I2X29mZnNldF9tYXRjaGVzX2N0aU1hc21Qcm9iZVRyYW1wb2xpbmUpOworQ09N
UElMRV9BU1NFUlQoUFJPQkVfT0ZGU0VUT0YoY3B1LnI3KSA9PSBQUk9CRV9DUFVfUjdfT0ZGU0VU
LCBQcm9iZUNvbnRleHRfY3B1X3I3MF9vZmZzZXRfbWF0Y2hlc19jdGlNYXNtUHJvYmVUcmFtcG9s
aW5lKTsKK0NPTVBJTEVfQVNTRVJUKFBST0JFX09GRlNFVE9GKGNwdS5yOCkgPT0gUFJPQkVfQ1BV
X1I4X09GRlNFVCwgUHJvYmVDb250ZXh0X2NwdV9yOF9vZmZzZXRfbWF0Y2hlc19jdGlNYXNtUHJv
YmVUcmFtcG9saW5lKTsKK0NPTVBJTEVfQVNTRVJUKFBST0JFX09GRlNFVE9GKGNwdS5yOSkgPT0g
UFJPQkVfQ1BVX1I5X09GRlNFVCwgUHJvYmVDb250ZXh0X2NwdV9yOV9vZmZzZXRfbWF0Y2hlc19j
dGlNYXNtUHJvYmVUcmFtcG9saW5lKTsKK0NPTVBJTEVfQVNTRVJUKFBST0JFX09GRlNFVE9GKGNw
dS5yMTApID09IFBST0JFX0NQVV9SMTBfT0ZGU0VULCBQcm9iZUNvbnRleHRfY3B1X3IxMF9vZmZz
ZXRfbWF0Y2hlc19jdGlNYXNtUHJvYmVUcmFtcG9saW5lKTsKK0NPTVBJTEVfQVNTRVJUKFBST0JF
X09GRlNFVE9GKGNwdS5yMTEpID09IFBST0JFX0NQVV9SMTFfT0ZGU0VULCBQcm9iZUNvbnRleHRf
Y3B1X3IxMV9vZmZzZXRfbWF0Y2hlc19jdGlNYXNtUHJvYmVUcmFtcG9saW5lKTsKK0NPTVBJTEVf
QVNTRVJUKFBST0JFX09GRlNFVE9GKGNwdS5pcCkgPT0gUFJPQkVfQ1BVX0lQX09GRlNFVCwgUHJv
YmVDb250ZXh0X2NwdV9pcF9vZmZzZXRfbWF0Y2hlc19jdGlNYXNtUHJvYmVUcmFtcG9saW5lKTsK
K0NPTVBJTEVfQVNTRVJUKFBST0JFX09GRlNFVE9GKGNwdS5zcCkgPT0gUFJPQkVfQ1BVX1NQX09G
RlNFVCwgUHJvYmVDb250ZXh0X2NwdV9zcF9vZmZzZXRfbWF0Y2hlc19jdGlNYXNtUHJvYmVUcmFt
cG9saW5lKTsKK0NPTVBJTEVfQVNTRVJUKFBST0JFX09GRlNFVE9GKGNwdS5scikgPT0gUFJPQkVf
Q1BVX0xSX09GRlNFVCwgUHJvYmVDb250ZXh0X2NwdV9scl9vZmZzZXRfbWF0Y2hlc19jdGlNYXNt
UHJvYmVUcmFtcG9saW5lKTsKK0NPTVBJTEVfQVNTRVJUKFBST0JFX09GRlNFVE9GKGNwdS5wYykg
PT0gUFJPQkVfQ1BVX1BDX09GRlNFVCwgUHJvYmVDb250ZXh0X2NwdV9wY19vZmZzZXRfbWF0Y2hl
c19jdGlNYXNtUHJvYmVUcmFtcG9saW5lKTsKKworQ09NUElMRV9BU1NFUlQoUFJPQkVfT0ZGU0VU
T0YoY3B1LmFwc3IpID09IFBST0JFX0NQVV9BUFNSX09GRlNFVCwgUHJvYmVDb250ZXh0X2NwdV9h
cHNyX29mZnNldF9tYXRjaGVzX2N0aU1hc21Qcm9iZVRyYW1wb2xpbmUpOworQ09NUElMRV9BU1NF
UlQoUFJPQkVfT0ZGU0VUT0YoY3B1LmZwc2NyKSA9PSBQUk9CRV9DUFVfRlBTQ1JfT0ZGU0VULCBQ
cm9iZUNvbnRleHRfY3B1X2Zwc2NyX29mZnNldF9tYXRjaGVzX2N0aU1hc21Qcm9iZVRyYW1wb2xp
bmUpOworCitDT01QSUxFX0FTU0VSVChQUk9CRV9PRkZTRVRPRihjcHUuZDApID09IFBST0JFX0NQ
VV9EMF9PRkZTRVQsIFByb2JlQ29udGV4dF9jcHVfZDBfb2Zmc2V0X21hdGNoZXNfY3RpTWFzbVBy
b2JlVHJhbXBvbGluZSk7CitDT01QSUxFX0FTU0VSVChQUk9CRV9PRkZTRVRPRihjcHUuZDEpID09
IFBST0JFX0NQVV9EMV9PRkZTRVQsIFByb2JlQ29udGV4dF9jcHVfZDFfb2Zmc2V0X21hdGNoZXNf
Y3RpTWFzbVByb2JlVHJhbXBvbGluZSk7CitDT01QSUxFX0FTU0VSVChQUk9CRV9PRkZTRVRPRihj
cHUuZDIpID09IFBST0JFX0NQVV9EMl9PRkZTRVQsIFByb2JlQ29udGV4dF9jcHVfZDJfb2Zmc2V0
X21hdGNoZXNfY3RpTWFzbVByb2JlVHJhbXBvbGluZSk7CitDT01QSUxFX0FTU0VSVChQUk9CRV9P
RkZTRVRPRihjcHUuZDMpID09IFBST0JFX0NQVV9EM19PRkZTRVQsIFByb2JlQ29udGV4dF9jcHVf
ZDNfb2Zmc2V0X21hdGNoZXNfY3RpTWFzbVByb2JlVHJhbXBvbGluZSk7CitDT01QSUxFX0FTU0VS
VChQUk9CRV9PRkZTRVRPRihjcHUuZDQpID09IFBST0JFX0NQVV9ENF9PRkZTRVQsIFByb2JlQ29u
dGV4dF9jcHVfZDRfb2Zmc2V0X21hdGNoZXNfY3RpTWFzbVByb2JlVHJhbXBvbGluZSk7CitDT01Q
SUxFX0FTU0VSVChQUk9CRV9PRkZTRVRPRihjcHUuZDUpID09IFBST0JFX0NQVV9ENV9PRkZTRVQs
IFByb2JlQ29udGV4dF9jcHVfZDVfb2Zmc2V0X21hdGNoZXNfY3RpTWFzbVByb2JlVHJhbXBvbGlu
ZSk7CitDT01QSUxFX0FTU0VSVChQUk9CRV9PRkZTRVRPRihjcHUuZDYpID09IFBST0JFX0NQVV9E
Nl9PRkZTRVQsIFByb2JlQ29udGV4dF9jcHVfZDZfb2Zmc2V0X21hdGNoZXNfY3RpTWFzbVByb2Jl
VHJhbXBvbGluZSk7CitDT01QSUxFX0FTU0VSVChQUk9CRV9PRkZTRVRPRihjcHUuZDcpID09IFBS
T0JFX0NQVV9EN19PRkZTRVQsIFByb2JlQ29udGV4dF9jcHVfZDdfb2Zmc2V0X21hdGNoZXNfY3Rp
TWFzbVByb2JlVHJhbXBvbGluZSk7CitDT01QSUxFX0FTU0VSVChQUk9CRV9PRkZTRVRPRihjcHUu
ZDgpID09IFBST0JFX0NQVV9EOF9PRkZTRVQsIFByb2JlQ29udGV4dF9jcHVfZDhfb2Zmc2V0X21h
dGNoZXNfY3RpTWFzbVByb2JlVHJhbXBvbGluZSk7CitDT01QSUxFX0FTU0VSVChQUk9CRV9PRkZT
RVRPRihjcHUuZDkpID09IFBST0JFX0NQVV9EOV9PRkZTRVQsIFByb2JlQ29udGV4dF9jcHVfZDlf
b2Zmc2V0X21hdGNoZXNfY3RpTWFzbVByb2JlVHJhbXBvbGluZSk7CitDT01QSUxFX0FTU0VSVChQ
Uk9CRV9PRkZTRVRPRihjcHUuZDEwKSA9PSBQUk9CRV9DUFVfRDEwX09GRlNFVCwgUHJvYmVDb250
ZXh0X2NwdV9kMTBfb2Zmc2V0X21hdGNoZXNfY3RpTWFzbVByb2JlVHJhbXBvbGluZSk7CitDT01Q
SUxFX0FTU0VSVChQUk9CRV9PRkZTRVRPRihjcHUuZDExKSA9PSBQUk9CRV9DUFVfRDExX09GRlNF
VCwgUHJvYmVDb250ZXh0X2NwdV9kMTFfb2Zmc2V0X21hdGNoZXNfY3RpTWFzbVByb2JlVHJhbXBv
bGluZSk7CitDT01QSUxFX0FTU0VSVChQUk9CRV9PRkZTRVRPRihjcHUuZDEyKSA9PSBQUk9CRV9D
UFVfRDEyX09GRlNFVCwgUHJvYmVDb250ZXh0X2NwdV9kMTJfb2Zmc2V0X21hdGNoZXNfY3RpTWFz
bVByb2JlVHJhbXBvbGluZSk7CitDT01QSUxFX0FTU0VSVChQUk9CRV9PRkZTRVRPRihjcHUuZDEz
KSA9PSBQUk9CRV9DUFVfRDEzX09GRlNFVCwgUHJvYmVDb250ZXh0X2NwdV9kMTNfb2Zmc2V0X21h
dGNoZXNfY3RpTWFzbVByb2JlVHJhbXBvbGluZSk7CitDT01QSUxFX0FTU0VSVChQUk9CRV9PRkZT
RVRPRihjcHUuZDE0KSA9PSBQUk9CRV9DUFVfRDE0X09GRlNFVCwgUHJvYmVDb250ZXh0X2NwdV9k
MTRfb2Zmc2V0X21hdGNoZXNfY3RpTWFzbVByb2JlVHJhbXBvbGluZSk7CitDT01QSUxFX0FTU0VS
VChQUk9CRV9PRkZTRVRPRihjcHUuZDE1KSA9PSBQUk9CRV9DUFVfRDE1X09GRlNFVCwgUHJvYmVD
b250ZXh0X2NwdV9kMTVfb2Zmc2V0X21hdGNoZXNfY3RpTWFzbVByb2JlVHJhbXBvbGluZSk7CisK
KyNpZiBDUFUoQVBQTEVfQVJNVjdTKQorQ09NUElMRV9BU1NFUlQoUFJPQkVfT0ZGU0VUT0YoY3B1
LmQxNikgPT0gUFJPQkVfQ1BVX0QxNl9PRkZTRVQsIFByb2JlQ29udGV4dF9jcHVfZDE2X29mZnNl
dF9tYXRjaGVzX2N0aU1hc21Qcm9iZVRyYW1wb2xpbmUpOworQ09NUElMRV9BU1NFUlQoUFJPQkVf
T0ZGU0VUT0YoY3B1LmQxNykgPT0gUFJPQkVfQ1BVX0QxN19PRkZTRVQsIFByb2JlQ29udGV4dF9j
cHVfZDE3X29mZnNldF9tYXRjaGVzX2N0aU1hc21Qcm9iZVRyYW1wb2xpbmUpOworQ09NUElMRV9B
U1NFUlQoUFJPQkVfT0ZGU0VUT0YoY3B1LmQxOCkgPT0gUFJPQkVfQ1BVX0QxOF9PRkZTRVQsIFBy
b2JlQ29udGV4dF9jcHVfZDE4X29mZnNldF9tYXRjaGVzX2N0aU1hc21Qcm9iZVRyYW1wb2xpbmUp
OworQ09NUElMRV9BU1NFUlQoUFJPQkVfT0ZGU0VUT0YoY3B1LmQxOSkgPT0gUFJPQkVfQ1BVX0Qx
OV9PRkZTRVQsIFByb2JlQ29udGV4dF9jcHVfZDE5X29mZnNldF9tYXRjaGVzX2N0aU1hc21Qcm9i
ZVRyYW1wb2xpbmUpOworQ09NUElMRV9BU1NFUlQoUFJPQkVfT0ZGU0VUT0YoY3B1LmQyMCkgPT0g
UFJPQkVfQ1BVX0QyMF9PRkZTRVQsIFByb2JlQ29udGV4dF9jcHVfZDIwX29mZnNldF9tYXRjaGVz
X2N0aU1hc21Qcm9iZVRyYW1wb2xpbmUpOworQ09NUElMRV9BU1NFUlQoUFJPQkVfT0ZGU0VUT0Yo
Y3B1LmQyMSkgPT0gUFJPQkVfQ1BVX0QyMV9PRkZTRVQsIFByb2JlQ29udGV4dF9jcHVfZDIxX29m
ZnNldF9tYXRjaGVzX2N0aU1hc21Qcm9iZVRyYW1wb2xpbmUpOworQ09NUElMRV9BU1NFUlQoUFJP
QkVfT0ZGU0VUT0YoY3B1LmQyMikgPT0gUFJPQkVfQ1BVX0QyMl9PRkZTRVQsIFByb2JlQ29udGV4
dF9jcHVfZDIyX29mZnNldF9tYXRjaGVzX2N0aU1hc21Qcm9iZVRyYW1wb2xpbmUpOworQ09NUElM
RV9BU1NFUlQoUFJPQkVfT0ZGU0VUT0YoY3B1LmQyMykgPT0gUFJPQkVfQ1BVX0QyM19PRkZTRVQs
IFByb2JlQ29udGV4dF9jcHVfZDIzX29mZnNldF9tYXRjaGVzX2N0aU1hc21Qcm9iZVRyYW1wb2xp
bmUpOworQ09NUElMRV9BU1NFUlQoUFJPQkVfT0ZGU0VUT0YoY3B1LmQyNCkgPT0gUFJPQkVfQ1BV
X0QyNF9PRkZTRVQsIFByb2JlQ29udGV4dF9jcHVfZDI0X29mZnNldF9tYXRjaGVzX2N0aU1hc21Q
cm9iZVRyYW1wb2xpbmUpOworQ09NUElMRV9BU1NFUlQoUFJPQkVfT0ZGU0VUT0YoY3B1LmQyNSkg
PT0gUFJPQkVfQ1BVX0QyNV9PRkZTRVQsIFByb2JlQ29udGV4dF9jcHVfZDI1X29mZnNldF9tYXRj
aGVzX2N0aU1hc21Qcm9iZVRyYW1wb2xpbmUpOworQ09NUElMRV9BU1NFUlQoUFJPQkVfT0ZGU0VU
T0YoY3B1LmQyNikgPT0gUFJPQkVfQ1BVX0QyNl9PRkZTRVQsIFByb2JlQ29udGV4dF9jcHVfZDI2
X29mZnNldF9tYXRjaGVzX2N0aU1hc21Qcm9iZVRyYW1wb2xpbmUpOworQ09NUElMRV9BU1NFUlQo
UFJPQkVfT0ZGU0VUT0YoY3B1LmQyNykgPT0gUFJPQkVfQ1BVX0QyN19PRkZTRVQsIFByb2JlQ29u
dGV4dF9jcHVfZDI3X29mZnNldF9tYXRjaGVzX2N0aU1hc21Qcm9iZVRyYW1wb2xpbmUpOworQ09N
UElMRV9BU1NFUlQoUFJPQkVfT0ZGU0VUT0YoY3B1LmQyOCkgPT0gUFJPQkVfQ1BVX0QyOF9PRkZT
RVQsIFByb2JlQ29udGV4dF9jcHVfZDI4X29mZnNldF9tYXRjaGVzX2N0aU1hc21Qcm9iZVRyYW1w
b2xpbmUpOworQ09NUElMRV9BU1NFUlQoUFJPQkVfT0ZGU0VUT0YoY3B1LmQyOSkgPT0gUFJPQkVf
Q1BVX0QyOV9PRkZTRVQsIFByb2JlQ29udGV4dF9jcHVfZDI5X29mZnNldF9tYXRjaGVzX2N0aU1h
c21Qcm9iZVRyYW1wb2xpbmUpOworQ09NUElMRV9BU1NFUlQoUFJPQkVfT0ZGU0VUT0YoY3B1LmQz
MCkgPT0gUFJPQkVfQ1BVX0QzMF9PRkZTRVQsIFByb2JlQ29udGV4dF9jcHVfZDMwX29mZnNldF9t
YXRjaGVzX2N0aU1hc21Qcm9iZVRyYW1wb2xpbmUpOworQ09NUElMRV9BU1NFUlQoUFJPQkVfT0ZG
U0VUT0YoY3B1LmQzMSkgPT0gUFJPQkVfQ1BVX0QzMV9PRkZTRVQsIFByb2JlQ29udGV4dF9jcHVf
ZDMxX29mZnNldF9tYXRjaGVzX2N0aU1hc21Qcm9iZVRyYW1wb2xpbmUpOworI2VuZGlmIC8vIENQ
VShBUFBMRV9BUk1WN1MpCisKK0NPTVBJTEVfQVNTRVJUKHNpemVvZihNYWNyb0Fzc2VtYmxlcjo6
UHJvYmVDb250ZXh0KSA9PSBQUk9CRV9TSVpFLCBQcm9iZUNvbnRleHRfc2l6ZV9tYXRjaGVzX2N0
aU1hc21Qcm9iZVRyYW1wb2xpbmUpOworCisjdW5kZWYgUFJPQkVfT0ZGU0VUT0YKKworI2VuZGlm
IC8vIFVTRShNQVNNX1BST0JFKQorCisKIGFzbSAoCiAiLnRleHQiICJcbiIKICIuYWxpZ24gMiIg
IlxuIgpAQCAtMTQxLDYgKzI4OCwxNjggQEAgU1lNQk9MX1NUUklORyhjdGlPcFRocm93Tm90Q2F1
Z2h0KSAiOiIgIgogICAgICJieCBsciIgIlxuIgogKTsKIAorI2lmIFVTRShNQVNNX1BST0JFKQor
YXNtICgKKyIudGV4dCIgIlxuIgorIi5hbGlnbiAyIiAiXG4iCisiLmdsb2JsICIgU1lNQk9MX1NU
UklORyhjdGlNYXNtUHJvYmVUcmFtcG9saW5lKSAiXG4iCitISURFX1NZTUJPTChjdGlNYXNtUHJv
YmVUcmFtcG9saW5lKSAiXG4iCisiLnRodW1iIiAiXG4iCisiLnRodW1iX2Z1bmMgIiBUSFVNQl9G
VU5DX1BBUkFNKGN0aU1hc21Qcm9iZVRyYW1wb2xpbmUpICJcbiIKK1NZTUJPTF9TVFJJTkcoY3Rp
TWFzbVByb2JlVHJhbXBvbGluZSkgIjoiICJcbiIKKworICAgIC8vIE1hY3JvQXNzZW1ibGVyOjpw
cm9iZSgpIGhhcyBhbHJlYWR5IGdlbmVyYXRlZCBjb2RlIHRvIHN0b3JlIHNvbWUgdmFsdWVzLgor
ICAgIC8vIFRoZSB0b3Agb2Ygc3RhY2sgbm93IGxvb2tzIGxpa2UgdGhpczoKKyAgICAvLyAgICAg
ZXNwWzAgKiBwdHJTaXplXTogcHJvYmVGdW5jdGlvbgorICAgIC8vICAgICBlc3BbMSAqIHB0clNp
emVdOiBhcmcxCisgICAgLy8gICAgIGVzcFsyICogcHRyU2l6ZV06IGFyZzIKKyAgICAvLyAgICAg
ZXNwWzMgKiBwdHJTaXplXTogc2F2ZWQgcjAKKyAgICAvLyAgICAgZXNwWzQgKiBwdHJTaXplXTog
c2F2ZWQgaXAKKyAgICAvLyAgICAgZXNwWzUgKiBwdHJTaXplXTogc2F2ZWQgbHIKKyAgICAvLyAg
ICAgZXNwWzYgKiBwdHJTaXplXTogc2F2ZWQgc3AKKworICAgICJtb3YgICAgICAgaXAsIHNwIiAi
XG4iCisgICAgIm1vdiAgICAgICByMCwgc3AiICJcbiIKKyAgICAic3ViICAgICAgIHIwLCByMCwg
IyIgU1RSSU5HSVpFX1ZBTFVFX09GKFBST0JFX1NJWkUpICJcbiIKKworICAgIC8vIFRoZSBBUk0g
RUFCSSBzcGVjaWZpZXMgdGhhdCB0aGUgc3RhY2sgbmVlZHMgdG8gYmUgMTYgYnl0ZSBhbGlnbmVk
LgorICAgICJiaWMgICAgICAgcjAsIHIwLCAjMHhmIiAiXG4iCisgICAgIm1vdiAgICAgICBzcCwg
cjAiICJcbiIKKworICAgICJzdHIgICAgICAgbHIsIFtzcCwgIyIgU1RSSU5HSVpFX1ZBTFVFX09G
KFBST0JFX0NQVV9QQ19PRkZTRVQpICJdIiAiXG4iCisgICAgImFkZCAgICAgICBsciwgc3AsICMi
IFNUUklOR0laRV9WQUxVRV9PRihQUk9CRV9DUFVfUjFfT0ZGU0VUKSAiXG4iCisgICAgInN0bWlh
ICAgICBsciwgeyByMS1yMTEgfSIgIlxuIgorICAgICJtcnMgICAgICAgbHIsIEFQU1IiICJcbiIK
KyAgICAic3RyICAgICAgIGxyLCBbc3AsICMiIFNUUklOR0laRV9WQUxVRV9PRihQUk9CRV9DUFVf
QVBTUl9PRkZTRVQpICJdIiAiXG4iCisgICAgInZtcnMgICAgICBsciwgRlBTQ1IiICJcbiIKKyAg
ICAic3RyICAgICAgIGxyLCBbc3AsICMiIFNUUklOR0laRV9WQUxVRV9PRihQUk9CRV9DUFVfRlBT
Q1JfT0ZGU0VUKSAiXSIgIlxuIgorCisgICAgImxkciAgICAgICBsciwgW2lwLCAjMCAqICIgU1RS
SU5HSVpFX1ZBTFVFX09GKFBUUl9TSVpFKSAiXSIgIlxuIgorICAgICJzdHIgICAgICAgbHIsIFtz
cCwgIyIgU1RSSU5HSVpFX1ZBTFVFX09GKFBST0JFX1BST0JFX0ZVTkNUSU9OX09GRlNFVCkgIl0i
ICJcbiIKKyAgICAibGRyICAgICAgIGxyLCBbaXAsICMxICogIiBTVFJJTkdJWkVfVkFMVUVfT0Yo
UFRSX1NJWkUpICJdIiAiXG4iCisgICAgInN0ciAgICAgICBsciwgW3NwLCAjIiBTVFJJTkdJWkVf
VkFMVUVfT0YoUFJPQkVfQVJHMV9PRkZTRVQpICJdIiAiXG4iCisgICAgImxkciAgICAgICBsciwg
W2lwLCAjMiAqICIgU1RSSU5HSVpFX1ZBTFVFX09GKFBUUl9TSVpFKSAiXSIgIlxuIgorICAgICJz
dHIgICAgICAgbHIsIFtzcCwgIyIgU1RSSU5HSVpFX1ZBTFVFX09GKFBST0JFX0FSRzJfT0ZGU0VU
KSAiXSIgIlxuIgorICAgICJsZHIgICAgICAgbHIsIFtpcCwgIzMgKiAiIFNUUklOR0laRV9WQUxV
RV9PRihQVFJfU0laRSkgIl0iICJcbiIKKyAgICAic3RyICAgICAgIGxyLCBbc3AsICMiIFNUUklO
R0laRV9WQUxVRV9PRihQUk9CRV9DUFVfUjBfT0ZGU0VUKSAiXSIgIlxuIgorICAgICJsZHIgICAg
ICAgbHIsIFtpcCwgIzQgKiAiIFNUUklOR0laRV9WQUxVRV9PRihQVFJfU0laRSkgIl0iICJcbiIK
KyAgICAic3RyICAgICAgIGxyLCBbc3AsICMiIFNUUklOR0laRV9WQUxVRV9PRihQUk9CRV9DUFVf
SVBfT0ZGU0VUKSAiXSIgIlxuIgorICAgICJsZHIgICAgICAgbHIsIFtpcCwgIzUgKiAiIFNUUklO
R0laRV9WQUxVRV9PRihQVFJfU0laRSkgIl0iICJcbiIKKyAgICAic3RyICAgICAgIGxyLCBbc3As
ICMiIFNUUklOR0laRV9WQUxVRV9PRihQUk9CRV9DUFVfTFJfT0ZGU0VUKSAiXSIgIlxuIgorICAg
ICJsZHIgICAgICAgbHIsIFtpcCwgIzYgKiAiIFNUUklOR0laRV9WQUxVRV9PRihQVFJfU0laRSkg
Il0iICJcbiIKKyAgICAic3RyICAgICAgIGxyLCBbc3AsICMiIFNUUklOR0laRV9WQUxVRV9PRihQ
Uk9CRV9DUFVfU1BfT0ZGU0VUKSAiXSIgIlxuIgorICAgICJzdHIgICAgICAgbHIsIFtzcCwgIyIg
U1RSSU5HSVpFX1ZBTFVFX09GKFBST0JFX0pJVF9TVEFDS19GUkFNRV9PRkZTRVQpICJdIiAiXG4i
CisKKyAgICAibGRyICAgICAgIGxyLCBbc3AsICMiIFNUUklOR0laRV9WQUxVRV9PRihQUk9CRV9D
UFVfUENfT0ZGU0VUKSAiXSIgIlxuIgorCisgICAgImFkZCAgICAgICBpcCwgc3AsICMiIFNUUklO
R0laRV9WQUxVRV9PRihQUk9CRV9DUFVfRDBfT0ZGU0VUKSAiXG4iCisjaWYgQ1BVKEFQUExFX0FS
TVY3UykKKyAgICAidnN0bWlhLjY0IGlwLCB7IGQwLWQzMSB9IiAiXG4iCisjZWxzZQorICAgICJ2
c3RtaWEuNjQgaXAsIHsgZDAtZDE1IH0iICJcbiIKKyNlbmRpZgorCisgICAgIm1vdiAgICAgICBm
cCwgc3AiICJcbiIgLy8gU2F2ZSB0aGUgUHJvYmVDb250ZXh0Ki4KKworICAgICJsZHIgICAgICAg
aXAsIFtzcCwgIyIgU1RSSU5HSVpFX1ZBTFVFX09GKFBST0JFX1BST0JFX0ZVTkNUSU9OX09GRlNF
VCkgIl0iICJcbiIKKyAgICAibW92ICAgICAgIHIwLCBzcCIgIlxuIiAvLyB0aGUgUHJvYmVDb250
ZXh0KiBhcmcuCisgICAgImJseCAgICAgICBpcCIgIlxuIgorCisgICAgIm1vdiAgICAgICBzcCwg
ZnAiICJcbiIKKworICAgIC8vIFRvIGVuYWJsZSBwcm9iZXMgdG8gbW9kaWZ5IHJlZ2lzdGVyIHN0
YXRlLCB3ZSBjb3B5IGFsbCByZWdpc3RlcnMKKyAgICAvLyBvdXQgb2YgdGhlIFByb2JlQ29udGV4
dCBiZWZvcmUgcmV0dXJuaW5nLgorCisjaWYgQ1BVKEFQUExFX0FSTVY3UykKKyAgICAiYWRkICAg
ICAgIGlwLCBzcCwgIyIgU1RSSU5HSVpFX1ZBTFVFX09GKFBST0JFX0NQVV9EMzFfT0ZGU0VUICsg
RlBSRUdfU0laRSkgIlxuIgorICAgICJ2bGRtZGIuNjQgaXAhLCB7IGQwLWQzMSB9IiAiXG4iCisj
ZWxzZQorICAgICJhZGQgICAgICAgaXAsIHNwLCAjIiBTVFJJTkdJWkVfVkFMVUVfT0YoUFJPQkVf
Q1BVX0QxNV9PRkZTRVQgKyBGUFJFR19TSVpFKSAiXG4iCisgICAgInZsZG1kYi42NCBpcCEsIHsg
ZDAtZDE1IH0iICJcbiIKKyNlbmRpZgorICAgICJhZGQgICAgICAgaXAsIHNwLCAjIiBTVFJJTkdJ
WkVfVkFMVUVfT0YoUFJPQkVfQ1BVX1IxMV9PRkZTRVQgKyBHUFJFR19TSVpFKSAiXG4iCisgICAg
ImxkbWRiICAgICBpcCwgeyByMC1yMTEgfSIgIlxuIgorICAgICJsZHIgICAgICAgaXAsIFtzcCwg
IyIgU1RSSU5HSVpFX1ZBTFVFX09GKFBST0JFX0NQVV9GUFNDUl9PRkZTRVQpICJdIiAiXG4iCisg
ICAgInZtc3IgICAgICBGUFNDUiwgaXAiICJcbiIKKworICAgIC8vIFRoZXJlIGFyZSA1IG1vcmUg
cmVnaXN0ZXJzIGxlZnQgdG8gcmVzdG9yZTogaXAsIHNwLCBsciwgcGMsIGFuZCBhcHNyLgorICAg
IC8vIFRoZXJlIGFyZSAyIGlzc3VlcyB0aGF0IGNvbXBsaWNhdGUgdGhlIHJlc3RvcmF0aW9uIG9m
IHRoZXNlIGxhc3QgZmV3CisgICAgLy8gcmVnaXN0ZXJzOgorICAgIC8vCisgICAgLy8gMS4gTm9y
bWFsIEFSTSBjYWxsaW5nIGNvbnZlbnRpb24gcmVsaWVzIG9uIG1vdmluZyBsciB0byBwYyB0byBy
ZXR1cm4gdG8KKyAgICAvLyAgICB0aGUgY2FsbGVyLiBJbiBvdXIgY2FzZSwgdGhlIGFkZHJlc3Mg
dG8gcmV0dXJuIHRvIGlzIHNwZWNpZmllZCBieQorICAgIC8vICAgIFByb2JlQ29udGV4dC5jcHUu
cGMuIEFuZCBhdCB0aGF0IG1vbWVudCwgd2Ugd29uJ3QgaGF2ZSBhbnkgYXZhaWxhYmxlCisgICAg
Ly8gICAgc2NyYXRjaCByZWdpc3RlcnMgdG8gaG9sZCB0aGUgcmV0dXJuIGFkZHJlc3MgKGxyIG5l
ZWRzIHRvIGhvbGQKKyAgICAvLyAgICBQcm9iZUNvbnRleHQuY3B1LmxyLCBub3QgdGhlIHJldHVy
biBhZGRyZXNzKS4KKyAgICAvLworICAgIC8vICAgIFRoZSBzb2x1dGlvbiBpcyB0byBzdG9yZSB0
aGUgcmV0dXJuIGFkZHJlc3Mgb24gdGhlIHN0YWNrIGFuZCBsb2FkIHRoZQorICAgIC8vICAgICBw
YyBmcm9tIHRoZXJlLgorICAgIC8vCisgICAgLy8gMi4gSXNzdWUgMSBtZWFucyB3ZSB3aWxsIG5l
ZWQgdG8gd3JpdGUgdG8gdGhlIHN0YWNrIGxvY2F0aW9uIGF0CisgICAgLy8gICAgUHJvYmVDb250
ZXh0LmNwdS5zcCAtIDQuIEJ1dCBpZiB0aGUgdXNlciBwcm9iZSBmdW5jdGlvbiBoYWQgIG1vZGlm
aWVkCisgICAgLy8gICAgdGhlIHZhbHVlIG9mIFByb2JlQ29udGV4dC5jcHUuc3AgdG8gcG9pbnQg
aW4gdGhlIHJhbmdlIGJldHdlZW4KKyAgICAvLyAgICAmUHJvYmVDb250ZXh0LmNwdS5pcCB0aHJ1
ICZQcm9iZUNvbnRleHQuY3B1LmFzcHIsIHRoZW4gdGhlIGFjdGlvbiBmb3IKKyAgICAvLyAgICBJ
c3N1ZSAxIG1heSB0cmFzaCB0aGUgdmFsdWVzIHRvIGJlIHJlc3RvcmVkIGJlZm9yZSB3ZSBjYW4g
cmVzdG9yZQorICAgIC8vICAgIHRoZW0uCisgICAgLy8KKyAgICAvLyAgICBUaGUgc29sdXRpb24g
aXMgdG8gY2hlY2sgaWYgUHJvYmVDb250ZXh0LmNwdS5zcCBjb250YWlucyBhIHZhbHVlIGluCisg
ICAgLy8gICAgdGhlIHVuZGVzaXJhYmxlIHJhbmdlLiBJZiBzbywgd2UgY29weSB0aGUgcmVtYWlu
aW5nIFByb2JlQ29udGV4dAorICAgIC8vICAgIHJlZ2lzdGVyIGRhdGEgdG8gYSBzYWZlIHJhbmdl
IChhdCBtZW1vcnkgbG93ZXIgdGhhbiB3aGVyZQorICAgIC8vICAgIFByb2JlQ29udGV4dC5jcHUu
c3AgcG9pbnRzKSBmaXJzdCwgYW5kIHJlc3RvcmUgdGhlIHJlbWFpbmluZyByZWdpc3RlcgorICAg
IC8vICAgIGZyb20gdGhpcyBuZXcgcmFuZ2UuCisKKyAgICAiYWRkICAgICAgIGlwLCBzcCwgIyIg
U1RSSU5HSVpFX1ZBTFVFX09GKFBST0JFX0NQVV9BUFNSX09GRlNFVCkgIlxuIgorICAgICJsZHIg
ICAgICAgbHIsIFtzcCwgIyIgU1RSSU5HSVpFX1ZBTFVFX09GKFBST0JFX0NQVV9TUF9PRkZTRVQp
ICJdIiAiXG4iCisgICAgImNtcCAgICAgICBsciwgaXAiICJcbiIKKyAgICAiaXQgICAgICAgIGd0
IiAiXG4iCisgICAgImJndCAgICAgIiBTWU1CT0xfU1RSSU5HKGN0aU1hc21Qcm9iZVRyYW1wb2xp
bmVFbmQpICJcbiIKKworICAgIC8vIFdlIGdldCBoZXJlIGJlY2F1c2UgdGhlIG5ldyBleHBlY3Rl
ZCBzdGFjayBwb2ludGVyIGxvY2F0aW9uIGlzIGxvd2VyCisgICAgLy8gdGhhbiB3aGVyZSBpdCdz
IHN1cHBvc2VkIHRvIGJlLiBUaGlzIG1lYW5zIHRoZSBzYWZlIHJhbmdlIG9mIHN0YWNrCisgICAg
Ly8gbWVtb3J5IHdoZXJlIHdlJ2xsIGJlIGNvcHlpbmcgdGhlIHJlbWFpbmluZyByZWdpc3RlciBy
ZXN0b3JlIHZhbHVlcyB0bworICAgIC8vIG1pZ2h0IGJlIGluIGEgcmVnaW9uIG9mIG1lbW9yeSBi
ZWxvdyB0aGUgc3AgaS5lLiB1bmFsbG9jYXRlZCBzdGFjaworICAgIC8vIG1lbW9yeS4gVGhpcywg
aW4gdHVybiwgbWFrZXMgaXQgdnVsbmVyYWJsZSB0byBpbnRlcnJ1cHRzIHBvdGVudGlhbGx5Cisg
ICAgLy8gdHJhc2hpbmcgdGhlIGNvcGllZCB2YWx1ZXMuIFRvIHByZXZlbnQgdGhhdCwgd2UgbXVz
dCBmaXJzdCBhbGxvY2F0ZSB0aGUKKyAgICAvLyBuZWVkZWQgc3RhY2sgbWVtb3J5IGJ5IGFkanVz
dGluZyB0aGUgc3AgYmVmb3JlIHRoZSBjb3B5aW5nLgorCisgICAgInN1YiAgICAgICBsciwgbHIs
ICMoNiAqICIgU1RSSU5HSVpFX1ZBTFVFX09GKFBUUl9TSVpFKSAKKyAgICAgICAgICAgICAgICAg
ICAgICAgICAiICsgIiBTVFJJTkdJWkVfVkFMVUVfT0YoUFJPQkVfQ1BVX0lQX09GRlNFVCkgIiki
ICJcbiIKKworICAgICJtb3YgICAgICAgaXAsIHNwIiAiXG4iCisgICAgIm1vdiAgICAgICBzcCwg
bHIiICJcbiIKKyAgICAibW92ICAgICAgIGxyLCBpcCIgIlxuIgorCisgICAgImxkciAgICAgICBp
cCwgW2xyLCAjIiBTVFJJTkdJWkVfVkFMVUVfT0YoUFJPQkVfQ1BVX0lQX09GRlNFVCkgIl0iICJc
biIKKyAgICAic3RyICAgICAgIGlwLCBbc3AsICMiIFNUUklOR0laRV9WQUxVRV9PRihQUk9CRV9D
UFVfSVBfT0ZGU0VUKSAiXSIgIlxuIgorICAgICJsZHIgICAgICAgaXAsIFtsciwgIyIgU1RSSU5H
SVpFX1ZBTFVFX09GKFBST0JFX0NQVV9TUF9PRkZTRVQpICJdIiAiXG4iCisgICAgInN0ciAgICAg
ICBpcCwgW3NwLCAjIiBTVFJJTkdJWkVfVkFMVUVfT0YoUFJPQkVfQ1BVX1NQX09GRlNFVCkgIl0i
ICJcbiIKKyAgICAibGRyICAgICAgIGlwLCBbbHIsICMiIFNUUklOR0laRV9WQUxVRV9PRihQUk9C
RV9DUFVfTFJfT0ZGU0VUKSAiXSIgIlxuIgorICAgICJzdHIgICAgICAgaXAsIFtzcCwgIyIgU1RS
SU5HSVpFX1ZBTFVFX09GKFBST0JFX0NQVV9MUl9PRkZTRVQpICJdIiAiXG4iCisgICAgImxkciAg
ICAgICBpcCwgW2xyLCAjIiBTVFJJTkdJWkVfVkFMVUVfT0YoUFJPQkVfQ1BVX1BDX09GRlNFVCkg
Il0iICJcbiIKKyAgICAic3RyICAgICAgIGlwLCBbc3AsICMiIFNUUklOR0laRV9WQUxVRV9PRihQ
Uk9CRV9DUFVfUENfT0ZGU0VUKSAiXSIgIlxuIgorICAgICJsZHIgICAgICAgaXAsIFtsciwgIyIg
U1RSSU5HSVpFX1ZBTFVFX09GKFBST0JFX0NQVV9BUFNSX09GRlNFVCkgIl0iICJcbiIKKyAgICAi
c3RyICAgICAgIGlwLCBbc3AsICMiIFNUUklOR0laRV9WQUxVRV9PRihQUk9CRV9DUFVfQVBTUl9P
RkZTRVQpICJdIiAiXG4iCisKKyIudGh1bWJfZnVuYyAiIFRIVU1CX0ZVTkNfUEFSQU0oY3RpTWFz
bVByb2JlVHJhbXBvbGluZUVuZCkgIlxuIgorU1lNQk9MX1NUUklORyhjdGlNYXNtUHJvYmVUcmFt
cG9saW5lRW5kKSAiOiIgIlxuIgorICAgICJsZHIgICAgICAgaXAsIFtzcCwgIyIgU1RSSU5HSVpF
X1ZBTFVFX09GKFBST0JFX0NQVV9QQ19PRkZTRVQpICJdIiAiXG4iCisgICAgImxkciAgICAgICBs
ciwgW3NwLCAjIiBTVFJJTkdJWkVfVkFMVUVfT0YoUFJPQkVfQ1BVX1NQX09GRlNFVCkgIl0iICJc
biIKKyAgICAic3ViICAgICAgIGxyLCBsciwgIyIgU1RSSU5HSVpFX1ZBTFVFX09GKFBUUl9TSVpF
KSAiXG4iCisgICAgInN0ciAgICAgICBpcCwgW2xyXSIgIlxuIgorICAgICJzdHIgICAgICAgbHIs
IFtzcCwgIyIgU1RSSU5HSVpFX1ZBTFVFX09GKFBST0JFX0NQVV9TUF9PRkZTRVQpICJdIiAiXG4i
CisKKyAgICAibGRyICAgICAgIGlwLCBbc3AsICMiIFNUUklOR0laRV9WQUxVRV9PRihQUk9CRV9D
UFVfQVBTUl9PRkZTRVQpICJdIiAiXG4iCisgICAgIm1zciAgICAgICBBUFNSLCBpcCIgIlxuIgor
ICAgICJsZHIgICAgICAgaXAsIFtzcCwgIyIgU1RSSU5HSVpFX1ZBTFVFX09GKFBST0JFX0NQVV9M
Ul9PRkZTRVQpICJdIiAiXG4iCisgICAgIm1vdiAgICAgICBsciwgaXAiICJcbiIKKyAgICAibGRy
ICAgICAgIGlwLCBbc3AsICMiIFNUUklOR0laRV9WQUxVRV9PRihQUk9CRV9DUFVfSVBfT0ZGU0VU
KSAiXSIgIlxuIgorICAgICJsZHIgICAgICAgc3AsIFtzcCwgIyIgU1RSSU5HSVpFX1ZBTFVFX09G
KFBST0JFX0NQVV9TUF9PRkZTRVQpICJdIiAiXG4iCisKKyAgICAicG9wICAgICAgIHsgcGMgfSIg
IlxuIgorKTsKKyNlbmRpZiAvLyBVU0UoTUFTTV9QUk9CRSkKKworCiAjZGVmaW5lIERFRklORV9T
VFVCX0ZVTkNUSU9OKHJ0eXBlLCBvcCkgXAogICAgIGV4dGVybiAiQyIgeyBcCiAgICAgICAgIHJ0
eXBlIEpJVFN0dWJUaHVua2VkXyMjb3AoU1RVQl9BUkdTX0RFQ0xBUkFUSU9OKTsgXApJbmRleDog
U291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9KSVRTdHVic1g4Ni5oCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNv
dXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklUU3R1YnNYODYuaAkocmV2aXNpb24gMTUwODI3KQor
KysgU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9KSVRTdHVic1g4Ni5oCSh3b3JraW5nIGNvcHkp
CkBAIC0xMDMsMTIgKzEwMywyNSBAQCBhc20gKAogSElERV9TWU1CT0woY3RpTWFzbVByb2JlVHJh
bXBvbGluZSkgIlxuIgogU1lNQk9MX1NUUklORyhjdGlNYXNtUHJvYmVUcmFtcG9saW5lKSAiOiIg
IlxuIgogCi0gICAgLy8gTWFjcm9Bc3NlbWJsZXI6OnByb2JlKCkgaGFzIGFscmVhZHkgZ2VuZXJh
dGVkIGNvZGUgdG8gc2F2ZS9zdG9yZSB0aGUKLSAgICAvLyB2YWx1ZXMgZm9yIGVheCBhbmQgZXNw
IGluIHRoZSBQcm9iZUNvbnRleHQuIFNhdmUvc3RvcmUgdGhlIHJlbWFpbmluZwotICAgIC8vIHJl
Z2lzdGVycyBoZXJlLgorICAgICJwdXNoZmQiICJcbiIKIAotICAgICJwb3BsICVlYXgiICJcbiIK
LSAgICAibW92bCAlZWF4LCAiIFNUUklOR0laRV9WQUxVRV9PRihQUk9CRV9DUFVfRUlQX09GRlNF
VCkgIiglZXNwKSIgIlxuIgorICAgIC8vIE1hY3JvQXNzZW1ibGVyOjpwcm9iZSgpIGhhcyBhbHJl
YWR5IGdlbmVyYXRlZCBjb2RlIHRvIHN0b3JlIHNvbWUgdmFsdWVzLgorICAgIC8vIFRvZ2V0aGVy
IHdpdGggdGhlIGVmbGFncyBwdXNoZWQgYWJvdmUsIHRoZSB0b3Agb2Ygc3RhY2sgbm93IGxvb2tz
IGxpa2UKKyAgICAvLyB0aGlzOgorICAgIC8vICAgICBlc3BbMCAqIHB0clNpemVdOiBlZmxhZ3MK
KyAgICAvLyAgICAgZXNwWzEgKiBwdHJTaXplXTogcmV0dXJuIGFkZHJlc3MgLyBzYXZlZCBlaXAK
KyAgICAvLyAgICAgZXNwWzIgKiBwdHJTaXplXTogcHJvYmVGdW5jdGlvbgorICAgIC8vICAgICBl
c3BbMyAqIHB0clNpemVdOiBhcmcxCisgICAgLy8gICAgIGVzcFs0ICogcHRyU2l6ZV06IGFyZzIK
KyAgICAvLyAgICAgZXNwWzUgKiBwdHJTaXplXTogc2F2ZWQgZWF4CisgICAgLy8gICAgIGVzcFs2
ICogcHRyU2l6ZV06IHNhdmVkIGVzcAorCisgICAgIm1vdmwgJWVzcCwgJWVheCIgIlxuIgorICAg
ICJzdWJsICQiIFNUUklOR0laRV9WQUxVRV9PRihQUk9CRV9TSVpFKSAiLCAlZXNwIiAiXG4iCisK
KyAgICAvLyBUaGUgWDg2XzY0IEFCSSBzcGVjaWZpZXMgdGhhdCB0aGUgd29yc2UgY2FzZSBzdGFj
ayBhbGlnbm1lbnQgcmVxdWlyZW1lbnQKKyAgICAvLyBpcyAzMiBieXRlcy4KKyAgICAiYW5kbCAk
fjB4MWYsICVlc3AiICJcbiIKIAogICAgICJtb3ZsICVlYnAsICIgU1RSSU5HSVpFX1ZBTFVFX09G
KFBST0JFX0NQVV9FQlBfT0ZGU0VUKSAiKCVlc3ApIiAiXG4iCiAgICAgIm1vdmwgJWVzcCwgJWVi
cCIgIlxuIiAvLyBTYXZlIHRoZSBQcm9iZUNvbnRleHQqLgpAQCAtMTE5LDYgKzEzMiwyMiBAQCBT
WU1CT0xfU1RSSU5HKGN0aU1hc21Qcm9iZVRyYW1wb2xpbmUpICI6CiAgICAgIm1vdmwgJWVzaSwg
IiBTVFJJTkdJWkVfVkFMVUVfT0YoUFJPQkVfQ1BVX0VTSV9PRkZTRVQpICIoJWVicCkiICJcbiIK
ICAgICAibW92bCAlZWRpLCAiIFNUUklOR0laRV9WQUxVRV9PRihQUk9CRV9DUFVfRURJX09GRlNF
VCkgIiglZWJwKSIgIlxuIgogCisgICAgIm1vdmwgMCAqICIgU1RSSU5HSVpFX1ZBTFVFX09GKFBU
Ul9TSVpFKSAiKCVlYXgpLCAlZWN4IiAiXG4iCisgICAgIm1vdmwgJWVjeCwgIiBTVFJJTkdJWkVf
VkFMVUVfT0YoUFJPQkVfQ1BVX0VGTEFHU19PRkZTRVQpICIoJWVicCkiICJcbiIKKyAgICAibW92
bCAxICogIiBTVFJJTkdJWkVfVkFMVUVfT0YoUFRSX1NJWkUpICIoJWVheCksICVlY3giICJcbiIK
KyAgICAibW92bCAlZWN4LCAiIFNUUklOR0laRV9WQUxVRV9PRihQUk9CRV9DUFVfRUlQX09GRlNF
VCkgIiglZWJwKSIgIlxuIgorICAgICJtb3ZsIDIgKiAiIFNUUklOR0laRV9WQUxVRV9PRihQVFJf
U0laRSkgIiglZWF4KSwgJWVjeCIgIlxuIgorICAgICJtb3ZsICVlY3gsICIgU1RSSU5HSVpFX1ZB
TFVFX09GKFBST0JFX1BST0JFX0ZVTkNUSU9OX09GRlNFVCkgIiglZWJwKSIgIlxuIgorICAgICJt
b3ZsIDMgKiAiIFNUUklOR0laRV9WQUxVRV9PRihQVFJfU0laRSkgIiglZWF4KSwgJWVjeCIgIlxu
IgorICAgICJtb3ZsICVlY3gsICIgU1RSSU5HSVpFX1ZBTFVFX09GKFBST0JFX0FSRzFfT0ZGU0VU
KSAiKCVlYnApIiAiXG4iCisgICAgIm1vdmwgNCAqICIgU1RSSU5HSVpFX1ZBTFVFX09GKFBUUl9T
SVpFKSAiKCVlYXgpLCAlZWN4IiAiXG4iCisgICAgIm1vdmwgJWVjeCwgIiBTVFJJTkdJWkVfVkFM
VUVfT0YoUFJPQkVfQVJHMl9PRkZTRVQpICIoJWVicCkiICJcbiIKKyAgICAibW92bCA1ICogIiBT
VFJJTkdJWkVfVkFMVUVfT0YoUFRSX1NJWkUpICIoJWVheCksICVlY3giICJcbiIKKyAgICAibW92
bCAlZWN4LCAiIFNUUklOR0laRV9WQUxVRV9PRihQUk9CRV9DUFVfRUFYX09GRlNFVCkgIiglZWJw
KSIgIlxuIgorICAgICJtb3ZsIDYgKiAiIFNUUklOR0laRV9WQUxVRV9PRihQVFJfU0laRSkgIigl
ZWF4KSwgJWVjeCIgIlxuIgorICAgICJtb3ZsICVlY3gsICIgU1RSSU5HSVpFX1ZBTFVFX09GKFBS
T0JFX0NQVV9FU1BfT0ZGU0VUKSAiKCVlYnApIiAiXG4iCisgICAgIm1vdmwgJWVjeCwgIiBTVFJJ
TkdJWkVfVkFMVUVfT0YoUFJPQkVfSklUX1NUQUNLX0ZSQU1FX09GRlNFVCkgIiglZWJwKSIgIlxu
IgorCiAgICAgIm1vdmRxYSAleG1tMCwgIiBTVFJJTkdJWkVfVkFMVUVfT0YoUFJPQkVfQ1BVX1hN
TTBfT0ZGU0VUKSAiKCVlYnApIiAiXG4iCiAgICAgIm1vdmRxYSAleG1tMSwgIiBTVFJJTkdJWkVf
VkFMVUVfT0YoUFJPQkVfQ1BVX1hNTTFfT0ZGU0VUKSAiKCVlYnApIiAiXG4iCiAgICAgIm1vdmRx
YSAleG1tMiwgIiBTVFJJTkdJWkVfVkFMVUVfT0YoUFJPQkVfQ1BVX1hNTTJfT0ZGU0VUKSAiKCVl
YnApIiAiXG4iCkBAIC0xMjgsOSArMTU3LDYgQEAgU1lNQk9MX1NUUklORyhjdGlNYXNtUHJvYmVU
cmFtcG9saW5lKSAiOgogICAgICJtb3ZkcWEgJXhtbTYsICIgU1RSSU5HSVpFX1ZBTFVFX09GKFBS
T0JFX0NQVV9YTU02X09GRlNFVCkgIiglZWJwKSIgIlxuIgogICAgICJtb3ZkcWEgJXhtbTcsICIg
U1RSSU5HSVpFX1ZBTFVFX09GKFBST0JFX0NQVV9YTU03X09GRlNFVCkgIiglZWJwKSIgIlxuIgog
Ci0gICAgIm1vdmwgIiBTVFJJTkdJWkVfVkFMVUVfT0YoUFJPQkVfQ1BVX0VTUF9PRkZTRVQpICIo
JWVicCksICVlYXgiICJcbiIKLSAgICAibW92bCAlZWF4LCAiIFNUUklOR0laRV9WQUxVRV9PRihQ
Uk9CRV9KSVRfU1RBQ0tfRlJBTUVfT0ZGU0VUKSAiKCVlYnApIiAiXG4iCi0KICAgICAvLyBSZXNl
cnZlIHN0YWNrIHNwYWNlIGZvciB0aGUgYXJnIHdoaWxlIG1haW50YWluaW5nIHRoZSByZXF1aXJl
ZCBzdGFjawogICAgIC8vIHBvaW50ZXIgMzIgYnl0ZSBhbGlnbm1lbnQ6CiAgICAgInN1YmwgJDB4
MjAsICVlc3AiICJcbiIKQEAgLTEzOCwxNCArMTY0LDExIEBAIFNZTUJPTF9TVFJJTkcoY3RpTWFz
bVByb2JlVHJhbXBvbGluZSkgIjoKIAogICAgICJjYWxsICoiIFNUUklOR0laRV9WQUxVRV9PRihQ
Uk9CRV9QUk9CRV9GVU5DVElPTl9PRkZTRVQpICIoJWVicCkiICJcbiIKIAotICAgIC8vIFRvIGVu
YWJsZSBwcm9iZXMgdG8gbW9kaWZ5IHJlZ2lzdGVyIHN0YXRlLCB3ZSBjb3B5IGFsbCByZWdpZXN0
ZXJzCisgICAgLy8gVG8gZW5hYmxlIHByb2JlcyB0byBtb2RpZnkgcmVnaXN0ZXIgc3RhdGUsIHdl
IGNvcHkgYWxsIHJlZ2lzdGVycwogICAgIC8vIG91dCBvZiB0aGUgUHJvYmVDb250ZXh0IGJlZm9y
ZSByZXR1cm5pbmcuCiAKLSAgICAibW92bCAiIFNUUklOR0laRV9WQUxVRV9PRihQUk9CRV9DUFVf
RUFYX09GRlNFVCkgIiglZWJwKSwgJWVheCIgIlxuIgotICAgICJtb3ZsICIgU1RSSU5HSVpFX1ZB
TFVFX09GKFBST0JFX0NQVV9FQ1hfT0ZGU0VUKSAiKCVlYnApLCAlZWN4IiAiXG4iCiAgICAgIm1v
dmwgIiBTVFJJTkdJWkVfVkFMVUVfT0YoUFJPQkVfQ1BVX0VEWF9PRkZTRVQpICIoJWVicCksICVl
ZHgiICJcbiIKICAgICAibW92bCAiIFNUUklOR0laRV9WQUxVRV9PRihQUk9CRV9DUFVfRUJYX09G
RlNFVCkgIiglZWJwKSwgJWVieCIgIlxuIgotICAgICJtb3ZsICIgU1RSSU5HSVpFX1ZBTFVFX09G
KFBST0JFX0NQVV9FU1BfT0ZGU0VUKSAiKCVlYnApLCAlZXNwIiAiXG4iCiAgICAgIm1vdmwgIiBT
VFJJTkdJWkVfVkFMVUVfT0YoUFJPQkVfQ1BVX0VTSV9PRkZTRVQpICIoJWVicCksICVlc2kiICJc
biIKICAgICAibW92bCAiIFNUUklOR0laRV9WQUxVRV9PRihQUk9CRV9DUFVfRURJX09GRlNFVCkg
IiglZWJwKSwgJWVkaSIgIlxuIgogCkBAIC0xNTgsOSArMTgxLDcyIEBAIFNZTUJPTF9TVFJJTkco
Y3RpTWFzbVByb2JlVHJhbXBvbGluZSkgIjoKICAgICAibW92ZHFhICIgU1RSSU5HSVpFX1ZBTFVF
X09GKFBST0JFX0NQVV9YTU02X09GRlNFVCkgIiglZWJwKSwgJXhtbTYiICJcbiIKICAgICAibW92
ZHFhICIgU1RSSU5HSVpFX1ZBTFVFX09GKFBST0JFX0NQVV9YTU03X09GRlNFVCkgIiglZWJwKSwg
JXhtbTciICJcbiIKIAotICAgICJwdXNobCAiIFNUUklOR0laRV9WQUxVRV9PRihQUk9CRV9DUFVf
RUlQX09GRlNFVCkgIiglZWJwKSIgIlxuIgorICAgIC8vIFRoZXJlIGFyZSA2IG1vcmUgcmVnaXN0
ZXJzIGxlZnQgdG8gcmVzdG9yZToKKyAgICAvLyAgICAgZWF4LCBlY3gsIGVicCwgZXNwLCBlaXAs
IGFuZCBlZmxhZ3MuCisgICAgLy8gV2UgbmVlZCB0byBoYW5kbGUgdGhlc2UgbGFzdCBmZXcgcmVz
dG9yZXMgY2FyZWZ1bGx5IGJlY2F1c2U6CisgICAgLy8KKyAgICAvLyAxLiBXZSBuZWVkIHRvIHB1
c2ggdGhlIHJldHVybiBhZGRyZXNzIG9uIHRoZSBzdGFjayBmb3IgcmV0IHRvIHVzZS4KKyAgICAv
LyAgICBUaGF0IG1lYW5zIHdlIG5lZWQgdG8gd3JpdGUgdG8gdGhlIHN0YWNrLgorICAgIC8vIDIu
IFRoZSB1c2VyIHByb2JlIGZ1bmN0aW9uIG1heSBoYXZlIGFsdGVyZWQgdGhlIHJlc3RvcmUgdmFs
dWUgb2YgZXNwIHRvCisgICAgLy8gICAgcG9pbnQgdG8gdGhlIHZpY2luaXR5IG9mIG9uZSBvZiB0
aGUgcmVzdG9yZSB2YWx1ZXMgZm9yIHRoZSByZW1haW5pbmcKKyAgICAvLyAgICByZWdpc3RlcnMg
bGVmdCB0byBiZSByZXN0b3JlZC4KKyAgICAvLyAgICBUaGF0IG1lYW5zLCBmb3IgcmVxdWlyZW1l
bnQgMSwgd2UgbWF5IGVuZCB1cCB3cml0aW5nIG92ZXIgc29tZSBvZiB0aGUKKyAgICAvLyAgICBy
ZXN0b3JlIHZhbHVlcy4gV2UgY2FuIGNoZWNrIGZvciB0aGlzLCBhbmQgZmlyc3QgY29weSB0aGUg
cmVzdG9yZQorICAgIC8vICAgIHZhbHVlcyB0byBhICJzYWZlIGFyZWEiIG9uIHRoZSBzdGFjayBi
ZWZvcmUgY29tbWVuY2luZyB3aXRoIHRoZSBhY3Rpb24KKyAgICAvLyAgICBmb3IgcmVxdWlyZW1l
bnQgMS4KKyAgICAvLyAzLiBGb3IgcmVxdWlyZW1lbnQgMiwgd2UgbmVlZCB0byBlbnN1cmUgdGhh
dCB0aGUgInNhZmUgYXJlYSIgaXMKKyAgICAvLyAgICBwcm90ZWN0ZWQgZnJvbSBpbnRlcnJ1cHQg
aGFuZGxlcnMgb3ZlcndyaXRpbmcgaXQuIEhlbmNlLCB0aGUgZXNwIG5lZWRzCisgICAgLy8gICAg
dG8gYmUgYWRqdXN0ZWQgdG8gaW5jbHVkZSB0aGUgInNhZmUgYXJlYSIgYmVmb3JlIHdlIHN0YXJ0
IGNvcHlpbmcgdGhlCisgICAgLy8gICAgdGhlIHJlc3RvcmUgdmFsdWVzLgorCisgICAgIm1vdmwg
JWVicCwgJWVheCIgIlxuIgorICAgICJhZGRsICQiIFNUUklOR0laRV9WQUxVRV9PRihQUk9CRV9D
UFVfRUZMQUdTX09GRlNFVCkgIiwgJWVheCIgIlxuIgorICAgICJjbXBsICVlYXgsICIgU1RSSU5H
SVpFX1ZBTFVFX09GKFBST0JFX0NQVV9FU1BfT0ZGU0VUKSAiKCVlYnApIiAiXG4iCisgICAgImpn
ICIgU1lNQk9MX1NUUklORyhjdGlNYXNtUHJvYmVUcmFtcG9saW5lRW5kKSAiXG4iCisKKyAgICAv
LyBMb2NhdGUgdGhlICJzYWZlIGFyZWEiIGF0IDJ4IHNpemVvZihQcm9iZUNvbnRleHQpIGJlbG93
IHdoZXJlIHRoZSBuZXcKKyAgICAvLyByc3Agd2lsbCBiZS4gVGhpcyB0aW1lIHdlIGRvbid0IGhh
dmUgdG8gMzItYnl0ZSBhbGlnbiBpdCBiZWNhdXNlIHdlJ3JlCisgICAgLy8gbm90IHVzaW5nIHRv
IHN0b3JlIGFueSB4bW0gcmVncy4KKyAgICAibW92bCAiIFNUUklOR0laRV9WQUxVRV9PRihQUk9C
RV9DUFVfRVNQX09GRlNFVCkgIiglZWJwKSwgJWVheCIgIlxuIgorICAgICJzdWJsICQyICogIiBT
VFJJTkdJWkVfVkFMVUVfT0YoUFJPQkVfU0laRSkgIiwgJWVheCIgIlxuIgorICAgICJtb3ZsICVl
YXgsICVlc3AiICJcbiIKIAotICAgICJtb3ZsICIgU1RSSU5HSVpFX1ZBTFVFX09GKFBST0JFX0NQ
VV9FQlBfT0ZGU0VUKSAiKCVlYnApLCAlZWJwIiAiXG4iCisgICAgInN1YmwgJCIgU1RSSU5HSVpF
X1ZBTFVFX09GKFBST0JFX0NQVV9FQVhfT0ZGU0VUKSAiLCAlZWF4IiAiXG4iCisgICAgIm1vdmwg
IiBTVFJJTkdJWkVfVkFMVUVfT0YoUFJPQkVfQ1BVX0VBWF9PRkZTRVQpICIoJWVicCksICVlY3gi
ICJcbiIKKyAgICAibW92bCAlZWN4LCAiIFNUUklOR0laRV9WQUxVRV9PRihQUk9CRV9DUFVfRUFY
X09GRlNFVCkgIiglZWF4KSIgIlxuIgorICAgICJtb3ZsICIgU1RSSU5HSVpFX1ZBTFVFX09GKFBS
T0JFX0NQVV9FQ1hfT0ZGU0VUKSAiKCVlYnApLCAlZWN4IiAiXG4iCisgICAgIm1vdmwgJWVjeCwg
IiBTVFJJTkdJWkVfVkFMVUVfT0YoUFJPQkVfQ1BVX0VDWF9PRkZTRVQpICIoJWVheCkiICJcbiIK
KyAgICAibW92bCAiIFNUUklOR0laRV9WQUxVRV9PRihQUk9CRV9DUFVfRUJQX09GRlNFVCkgIigl
ZWJwKSwgJWVjeCIgIlxuIgorICAgICJtb3ZsICVlY3gsICIgU1RSSU5HSVpFX1ZBTFVFX09GKFBS
T0JFX0NQVV9FQlBfT0ZGU0VUKSAiKCVlYXgpIiAiXG4iCisgICAgIm1vdmwgIiBTVFJJTkdJWkVf
VkFMVUVfT0YoUFJPQkVfQ1BVX0VTUF9PRkZTRVQpICIoJWVicCksICVlY3giICJcbiIKKyAgICAi
bW92bCAlZWN4LCAiIFNUUklOR0laRV9WQUxVRV9PRihQUk9CRV9DUFVfRVNQX09GRlNFVCkgIigl
ZWF4KSIgIlxuIgorICAgICJtb3ZsICIgU1RSSU5HSVpFX1ZBTFVFX09GKFBST0JFX0NQVV9FSVBf
T0ZGU0VUKSAiKCVlYnApLCAlZWN4IiAiXG4iCisgICAgIm1vdmwgJWVjeCwgIiBTVFJJTkdJWkVf
VkFMVUVfT0YoUFJPQkVfQ1BVX0VJUF9PRkZTRVQpICIoJWVheCkiICJcbiIKKyAgICAibW92bCAi
IFNUUklOR0laRV9WQUxVRV9PRihQUk9CRV9DUFVfRUZMQUdTX09GRlNFVCkgIiglZWJwKSwgJWVj
eCIgIlxuIgorICAgICJtb3ZsICVlY3gsICIgU1RSSU5HSVpFX1ZBTFVFX09GKFBST0JFX0NQVV9F
RkxBR1NfT0ZGU0VUKSAiKCVlYXgpIiAiXG4iCisgICAgIm1vdmwgJWVheCwgJWVicCIgIlxuIgor
CitTWU1CT0xfU1RSSU5HKGN0aU1hc21Qcm9iZVRyYW1wb2xpbmVFbmQpICI6IiAiXG4iCisgICAg
Im1vdmwgIiBTVFJJTkdJWkVfVkFMVUVfT0YoUFJPQkVfQ1BVX0VTUF9PRkZTRVQpICIoJWVicCks
ICVlYXgiICJcbiIKKyAgICAic3VibCAkNSAqICIgU1RSSU5HSVpFX1ZBTFVFX09GKFBUUl9TSVpF
KSAiLCAlZWF4IiAiXG4iCisgICAgLy8gQXQgdGhpcyBwb2ludCwgJWVzcCBzaG91bGQgYmUgPCAl
ZWF4LgorCisgICAgIm1vdmwgIiBTVFJJTkdJWkVfVkFMVUVfT0YoUFJPQkVfQ1BVX0VGTEFHU19P
RkZTRVQpICIoJWVicCksICVlY3giICJcbiIKKyAgICAibW92bCAlZWN4LCAwICogIiBTVFJJTkdJ
WkVfVkFMVUVfT0YoUFRSX1NJWkUpICIoJWVheCkiICJcbiIKKyAgICAibW92bCAiIFNUUklOR0la
RV9WQUxVRV9PRihQUk9CRV9DUFVfRUFYX09GRlNFVCkgIiglZWJwKSwgJWVjeCIgIlxuIgorICAg
ICJtb3ZsICVlY3gsIDEgKiAiIFNUUklOR0laRV9WQUxVRV9PRihQVFJfU0laRSkgIiglZWF4KSIg
IlxuIgorICAgICJtb3ZsICIgU1RSSU5HSVpFX1ZBTFVFX09GKFBST0JFX0NQVV9FQ1hfT0ZGU0VU
KSAiKCVlYnApLCAlZWN4IiAiXG4iCisgICAgIm1vdmwgJWVjeCwgMiAqICIgU1RSSU5HSVpFX1ZB
TFVFX09GKFBUUl9TSVpFKSAiKCVlYXgpIiAiXG4iCisgICAgIm1vdmwgIiBTVFJJTkdJWkVfVkFM
VUVfT0YoUFJPQkVfQ1BVX0VCUF9PRkZTRVQpICIoJWVicCksICVlY3giICJcbiIKKyAgICAibW92
bCAlZWN4LCAzICogIiBTVFJJTkdJWkVfVkFMVUVfT0YoUFRSX1NJWkUpICIoJWVheCkiICJcbiIK
KyAgICAibW92bCAiIFNUUklOR0laRV9WQUxVRV9PRihQUk9CRV9DUFVfRUlQX09GRlNFVCkgIigl
ZWJwKSwgJWVjeCIgIlxuIgorICAgICJtb3ZsICVlY3gsIDQgKiAiIFNUUklOR0laRV9WQUxVRV9P
RihQVFJfU0laRSkgIiglZWF4KSIgIlxuIgorICAgICJtb3ZsICVlYXgsICVlc3AiICJcbiIKKwor
ICAgICJwb3BmZCIgIlxuIgorICAgICJwb3BsICVlYXgiICJcbiIKKyAgICAicG9wbCAlZWN4IiAi
XG4iCisgICAgInBvcGwgJWVicCIgIlxuIgogICAgICJyZXQiICJcbiIKICk7CiAjZW5kaWYgLy8g
VVNFKE1BU01fUFJPQkUpCkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0pJVFN0dWJz
WDg2Q29tbW9uLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9KSVRT
dHVic1g4NkNvbW1vbi5oCShyZXZpc2lvbiAxNTA4MjcpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENv
cmUvaml0L0pJVFN0dWJzWDg2Q29tbW9uLmgJKHdvcmtpbmcgY29weSkKQEAgLTUyLDE3ICs1Miwx
NiBAQCBuYW1lc3BhY2UgSlNDIHsKICNkZWZpbmUgUFJPQkVfSklUX1NUQUNLX0ZSQU1FX09GRlNF
VCAoMyAqIFBUUl9TSVpFKQogCiAjZGVmaW5lIFBST0JFX0NQVV9FQVhfT0ZGU0VUICg0ICogUFRS
X1NJWkUpCi0jZGVmaW5lIFBST0JFX0NQVV9FQ1hfT0ZGU0VUICg1ICogUFRSX1NJWkUpCi0jZGVm
aW5lIFBST0JFX0NQVV9FRFhfT0ZGU0VUICg2ICogUFRSX1NJWkUpCi0jZGVmaW5lIFBST0JFX0NQ
VV9FQlhfT0ZGU0VUICg3ICogUFRSX1NJWkUpCi0jZGVmaW5lIFBST0JFX0NQVV9FU1BfT0ZGU0VU
ICg4ICogUFRSX1NJWkUpCi0jZGVmaW5lIFBST0JFX0NQVV9FQlBfT0ZGU0VUICg5ICogUFRSX1NJ
WkUpCi0jZGVmaW5lIFBST0JFX0NQVV9FU0lfT0ZGU0VUICgxMCAqIFBUUl9TSVpFKQotI2RlZmlu
ZSBQUk9CRV9DUFVfRURJX09GRlNFVCAoMTEgKiBQVFJfU0laRSkKKyNkZWZpbmUgUFJPQkVfQ1BV
X0VCWF9PRkZTRVQgKDUgKiBQVFJfU0laRSkKKyNkZWZpbmUgUFJPQkVfQ1BVX0VDWF9PRkZTRVQg
KDYgKiBQVFJfU0laRSkKKyNkZWZpbmUgUFJPQkVfQ1BVX0VEWF9PRkZTRVQgKDcgKiBQVFJfU0la
RSkKKyNkZWZpbmUgUFJPQkVfQ1BVX0VTSV9PRkZTRVQgKDggKiBQVFJfU0laRSkKKyNkZWZpbmUg
UFJPQkVfQ1BVX0VESV9PRkZTRVQgKDkgKiBQVFJfU0laRSkKKyNkZWZpbmUgUFJPQkVfQ1BVX0VC
UF9PRkZTRVQgKDEwICogUFRSX1NJWkUpCisjZGVmaW5lIFBST0JFX0NQVV9FU1BfT0ZGU0VUICgx
MSAqIFBUUl9TSVpFKQogCiAjaWYgQ1BVKFg4NikKLSNkZWZpbmUgUFJPQkVfQ1BVX0VJUF9PRkZT
RVQgKDEyICogUFRSX1NJWkUpCi0jZGVmaW5lIFBST0JFX0ZJUlNUX1hNTV9PRkZTRVQgKDE2ICog
UFRSX1NJWkUpIC8vIEFmdGVyIHBhZGRpbmcuCisjZGVmaW5lIFBST0JFX0ZJUlNUX1NQRUNJQUxf
T0ZGU0VUICgxMiAqIFBUUl9TSVpFKQogI2Vsc2UgLy8gQ1BVKFg4Nl82NCkKICNkZWZpbmUgUFJP
QkVfQ1BVX1I4X09GRlNFVCAoMTIgKiBQVFJfU0laRSkKICNkZWZpbmUgUFJPQkVfQ1BVX1I5X09G
RlNFVCAoMTMgKiBQVFJfU0laRSkKQEAgLTcyLDggKzcxLDE2IEBAIG5hbWVzcGFjZSBKU0Mgewog
I2RlZmluZSBQUk9CRV9DUFVfUjEzX09GRlNFVCAoMTcgKiBQVFJfU0laRSkKICNkZWZpbmUgUFJP
QkVfQ1BVX1IxNF9PRkZTRVQgKDE4ICogUFRSX1NJWkUpCiAjZGVmaW5lIFBST0JFX0NQVV9SMTVf
T0ZGU0VUICgxOSAqIFBUUl9TSVpFKQotI2RlZmluZSBQUk9CRV9DUFVfRUlQX09GRlNFVCAoMjAg
KiBQVFJfU0laRSkKLSNkZWZpbmUgUFJPQkVfRklSU1RfWE1NX09GRlNFVCAoMjIgKiBQVFJfU0la
RSkgLy8gQWZ0ZXIgcGFkZGluZy4KKyNkZWZpbmUgUFJPQkVfRklSU1RfU1BFQ0lBTF9PRkZTRVQg
KDIwICogUFRSX1NJWkUpCisjZW5kaWYgLy8gQ1BVKFg4Nl82NCkKKworI2RlZmluZSBQUk9CRV9D
UFVfRUlQX09GRlNFVCAoUFJPQkVfRklSU1RfU1BFQ0lBTF9PRkZTRVQgKyAoMCAqIFBUUl9TSVpF
KSkKKyNkZWZpbmUgUFJPQkVfQ1BVX0VGTEFHU19PRkZTRVQgKFBST0JFX0ZJUlNUX1NQRUNJQUxf
T0ZGU0VUICsgKDEgKiBQVFJfU0laRSkpCisKKyNpZiBDUFUoWDg2KQorI2RlZmluZSBQUk9CRV9G
SVJTVF9YTU1fT0ZGU0VUIChQUk9CRV9GSVJTVF9TUEVDSUFMX09GRlNFVCArICg0ICogUFRSX1NJ
WkUpKSAvLyBBZnRlciBwYWRkaW5nLgorI2Vsc2UgLy8gQ1BVKFg4Nl82NCkKKyNkZWZpbmUgUFJP
QkVfRklSU1RfWE1NX09GRlNFVCAoUFJPQkVfRklSU1RfU1BFQ0lBTF9PRkZTRVQgKyAoMiAqIFBU
Ul9TSVpFKSkgLy8gQWZ0ZXIgcGFkZGluZy4KICNlbmRpZiAvLyBDUFUoWDg2XzY0KQogCiAjZGVm
aW5lIFhNTV9TSVpFIDE2CkBAIC04Niw2ICs5Myw3IEBAIG5hbWVzcGFjZSBKU0MgewogI2RlZmlu
ZSBQUk9CRV9DUFVfWE1NNl9PRkZTRVQgKFBST0JFX0ZJUlNUX1hNTV9PRkZTRVQgKyAoNiAqIFhN
TV9TSVpFKSkKICNkZWZpbmUgUFJPQkVfQ1BVX1hNTTdfT0ZGU0VUIChQUk9CRV9GSVJTVF9YTU1f
T0ZGU0VUICsgKDcgKiBYTU1fU0laRSkpCiAKKyNkZWZpbmUgUFJPQkVfU0laRSAoUFJPQkVfQ1BV
X1hNTTdfT0ZGU0VUICsgWE1NX1NJWkUpCiAKIC8vIFRoZXNlIEFTU0VSVHMgcmVtaW5kIHlvdSB0
aGF0IGlmIHlvdSBjaGFuZ2UgdGhlIGxheW91dCBvZiBQcm9iZUNvbnRleHQsCiAvLyB5b3UgbmVl
ZCB0byBjaGFuZ2UgY3RpTWFzbVByb2JlVHJhbXBvbGluZSBvZmZzZXRzIGFib3ZlIHRvIG1hdGNo
LgpAQCAtMTAzLDYgKzExMSw4IEBAIENPTVBJTEVfQVNTRVJUKFBST0JFX09GRlNFVE9GKGNwdS5l
c3ApID0KIENPTVBJTEVfQVNTRVJUKFBST0JFX09GRlNFVE9GKGNwdS5lYnApID09IFBST0JFX0NQ
VV9FQlBfT0ZGU0VULCBQcm9iZUNvbnRleHRfY3B1X2VicF9vZmZzZXRfbWF0Y2hlc19jdGlNYXNt
UHJvYmVUcmFtcG9saW5lKTsKIENPTVBJTEVfQVNTRVJUKFBST0JFX09GRlNFVE9GKGNwdS5lc2kp
ID09IFBST0JFX0NQVV9FU0lfT0ZGU0VULCBQcm9iZUNvbnRleHRfY3B1X2VzaV9vZmZzZXRfbWF0
Y2hlc19jdGlNYXNtUHJvYmVUcmFtcG9saW5lKTsKIENPTVBJTEVfQVNTRVJUKFBST0JFX09GRlNF
VE9GKGNwdS5lZGkpID09IFBST0JFX0NQVV9FRElfT0ZGU0VULCBQcm9iZUNvbnRleHRfY3B1X2Vk
aV9vZmZzZXRfbWF0Y2hlc19jdGlNYXNtUHJvYmVUcmFtcG9saW5lKTsKK0NPTVBJTEVfQVNTRVJU
KFBST0JFX09GRlNFVE9GKGNwdS5laXApID09IFBST0JFX0NQVV9FSVBfT0ZGU0VULCBQcm9iZUNv
bnRleHRfY3B1X2VpcF9vZmZzZXRfbWF0Y2hlc19jdGlNYXNtUHJvYmVUcmFtcG9saW5lKTsKK0NP
TVBJTEVfQVNTRVJUKFBST0JFX09GRlNFVE9GKGNwdS5lZmxhZ3MpID09IFBST0JFX0NQVV9FRkxB
R1NfT0ZGU0VULCBQcm9iZUNvbnRleHRfY3B1X2VmbGFnc19vZmZzZXRfbWF0Y2hlc19jdGlNYXNt
UHJvYmVUcmFtcG9saW5lKTsKIAogI2lmIENQVShYODZfNjQpCiBDT01QSUxFX0FTU0VSVChQUk9C
RV9PRkZTRVRPRihjcHUucjgpID09IFBST0JFX0NQVV9SOF9PRkZTRVQsIFByb2JlQ29udGV4dF9j
cHVfcjhfb2Zmc2V0X21hdGNoZXNfY3RpTWFzbVByb2JlVHJhbXBvbGluZSk7CkBAIC0xMTUsOCAr
MTI1LDYgQEAgQ09NUElMRV9BU1NFUlQoUFJPQkVfT0ZGU0VUT0YoY3B1LnIxNCkgPQogQ09NUElM
RV9BU1NFUlQoUFJPQkVfT0ZGU0VUT0YoY3B1LnIxNSkgPT0gUFJPQkVfQ1BVX1IxNV9PRkZTRVQs
IFByb2JlQ29udGV4dF9jcHVfcjE1X29mZnNldF9tYXRjaGVzX2N0aU1hc21Qcm9iZVRyYW1wb2xp
bmUpOwogI2VuZGlmIC8vIENQVShYODZfNjQpCiAKLUNPTVBJTEVfQVNTRVJUKFBST0JFX09GRlNF
VE9GKGNwdS5laXApID09IFBST0JFX0NQVV9FSVBfT0ZGU0VULCBQcm9iZUNvbnRleHRfY3B1X2Vp
cF9vZmZzZXRfbWF0Y2hlc19jdGlNYXNtUHJvYmVUcmFtcG9saW5lKTsKLQogQ09NUElMRV9BU1NF
UlQoUFJPQkVfT0ZGU0VUT0YoY3B1LnhtbTApID09IFBST0JFX0NQVV9YTU0wX09GRlNFVCwgUHJv
YmVDb250ZXh0X2NwdV94bW0wX29mZnNldF9tYXRjaGVzX2N0aU1hc21Qcm9iZVRyYW1wb2xpbmUp
OwogQ09NUElMRV9BU1NFUlQoUFJPQkVfT0ZGU0VUT0YoY3B1LnhtbTEpID09IFBST0JFX0NQVV9Y
TU0xX09GRlNFVCwgUHJvYmVDb250ZXh0X2NwdV94bW0xX29mZnNldF9tYXRjaGVzX2N0aU1hc21Q
cm9iZVRyYW1wb2xpbmUpOwogQ09NUElMRV9BU1NFUlQoUFJPQkVfT0ZGU0VUT0YoY3B1LnhtbTIp
ID09IFBST0JFX0NQVV9YTU0yX09GRlNFVCwgUHJvYmVDb250ZXh0X2NwdV94bW0yX29mZnNldF9t
YXRjaGVzX2N0aU1hc21Qcm9iZVRyYW1wb2xpbmUpOwpAQCAtMTI2LDYgKzEzNCw4IEBAIENPTVBJ
TEVfQVNTRVJUKFBST0JFX09GRlNFVE9GKGNwdS54bW01KSAKIENPTVBJTEVfQVNTRVJUKFBST0JF
X09GRlNFVE9GKGNwdS54bW02KSA9PSBQUk9CRV9DUFVfWE1NNl9PRkZTRVQsIFByb2JlQ29udGV4
dF9jcHVfeG1tNl9vZmZzZXRfbWF0Y2hlc19jdGlNYXNtUHJvYmVUcmFtcG9saW5lKTsKIENPTVBJ
TEVfQVNTRVJUKFBST0JFX09GRlNFVE9GKGNwdS54bW03KSA9PSBQUk9CRV9DUFVfWE1NN19PRkZT
RVQsIFByb2JlQ29udGV4dF9jcHVfeG1tN19vZmZzZXRfbWF0Y2hlc19jdGlNYXNtUHJvYmVUcmFt
cG9saW5lKTsKIAorQ09NUElMRV9BU1NFUlQoc2l6ZW9mKE1hY3JvQXNzZW1ibGVyOjpQcm9iZUNv
bnRleHQpID09IFBST0JFX1NJWkUsIFByb2JlQ29udGV4dF9zaXplX21hdGNoZXNfY3RpTWFzbVBy
b2JlVHJhbXBvbGluZSk7CisKIC8vIEFsc28gZG91YmxlIGNoZWNrIHRoYXQgdGhlIHhtbSByZWdp
c3RlcnMgYXJlIDE2IGJ5dGUgKDEyOC1iaXQpIGFsaWduZWQgYXMKIC8vIHJlcXVpcmVkIGJ5IHRo
ZSBtb3ZkcWEgaW5zdHJ1Y3Rpb24gdXNlZCBpbiB0aGUgdHJhbXBvbGluZS4KIENPTVBJTEVfQVNT
RVJUKCEoUFJPQkVfT0ZGU0VUT0YoY3B1LnhtbTApICUgMTYpLCBQcm9iZUNvbnRleHRfeG1tMF9v
ZmZzZXRfbm90X2FsaWduZWRfcHJvcGVybHkpOwpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3Jl
L2ppdC9KSVRTdHVic1g4Nl82NC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9qaXQvSklUU3R1YnNYODZfNjQuaAkocmV2aXNpb24gMTUwODI3KQorKysgU291cmNlL0phdmFT
Y3JpcHRDb3JlL2ppdC9KSVRTdHVic1g4Nl82NC5oCSh3b3JraW5nIGNvcHkpCkBAIC0xMTgsMTIg
KzExOCwyNSBAQCBhc20gKAogSElERV9TWU1CT0woY3RpTWFzbVByb2JlVHJhbXBvbGluZSkgIlxu
IgogU1lNQk9MX1NUUklORyhjdGlNYXNtUHJvYmVUcmFtcG9saW5lKSAiOiIgIlxuIgogCi0gICAg
Ly8gTWFjcm9Bc3NlbWJsZXI6OnByb2JlKCkgaGFzIGFscmVhZHkgZ2VuZXJhdGVkIGNvZGUgdG8g
c2F2ZS9zdG9yZSB0aGUKLSAgICAvLyB2YWx1ZXMgZm9yIHJheCBhbmQgcnNwIGluIHRoZSBQcm9i
ZUNvbnRleHQuIFNhdmUvc3RvcmUgdGhlIHJlbWFpbmluZwotICAgIC8vIHJlZ2lzdGVycyBoZXJl
LgorICAgICJwdXNoZnEiICJcbiIKIAotICAgICJwb3BxICVyYXgiICJcbiIKLSAgICAibW92cSAl
cmF4LCAiIFNUUklOR0laRV9WQUxVRV9PRihQUk9CRV9DUFVfRUlQX09GRlNFVCkgIiglcnNwKSIg
IlxuIgorICAgIC8vIE1hY3JvQXNzZW1ibGVyOjpwcm9iZSgpIGhhcyBhbHJlYWR5IGdlbmVyYXRl
ZCBjb2RlIHRvIHN0b3JlIHNvbWUgdmFsdWVzLgorICAgIC8vIFRvZ2V0aGVyIHdpdGggdGhlIHJm
bGFncyBwdXNoZWQgYWJvdmUsIHRoZSB0b3Agb2Ygc3RhY2sgbm93IGxvb2tzIGxpa2UKKyAgICAv
LyB0aGlzOgorICAgIC8vICAgICBlc3BbMCAqIHB0clNpemVdOiByZmxhZ3MKKyAgICAvLyAgICAg
ZXNwWzEgKiBwdHJTaXplXTogcmV0dXJuIGFkZHJlc3MgLyBzYXZlZCByaXAKKyAgICAvLyAgICAg
ZXNwWzIgKiBwdHJTaXplXTogcHJvYmVGdW5jdGlvbgorICAgIC8vICAgICBlc3BbMyAqIHB0clNp
emVdOiBhcmcxCisgICAgLy8gICAgIGVzcFs0ICogcHRyU2l6ZV06IGFyZzIKKyAgICAvLyAgICAg
ZXNwWzUgKiBwdHJTaXplXTogc2F2ZWQgcmF4CisgICAgLy8gICAgIGVzcFs2ICogcHRyU2l6ZV06
IHNhdmVkIHJzcAorCisgICAgIm1vdnEgJXJzcCwgJXJheCIgIlxuIgorICAgICJzdWJxICQiIFNU
UklOR0laRV9WQUxVRV9PRihQUk9CRV9TSVpFKSAiLCAlcnNwIiAiXG4iCisKKyAgICAvLyBUaGUg
WDg2XzY0IEFCSSBzcGVjaWZpZXMgdGhhdCB0aGUgd29yc2UgY2FzZSBzdGFjayBhbGlnbm1lbnQg
cmVxdWlyZW1lbnQKKyAgICAvLyBpcyAzMiBieXRlcy4KKyAgICAiYW5kcSAkfjB4MWYsICVyc3Ai
ICJcbiIKIAogICAgICJtb3ZxICVyYnAsICIgU1RSSU5HSVpFX1ZBTFVFX09GKFBST0JFX0NQVV9F
QlBfT0ZGU0VUKSAiKCVyc3ApIiAiXG4iCiAgICAgIm1vdnEgJXJzcCwgJXJicCIgIlxuIiAvLyBT
YXZlIHRoZSBQcm9iZUNvbnRleHQqLgpAQCAtMTM0LDYgKzE0NywyMiBAQCBTWU1CT0xfU1RSSU5H
KGN0aU1hc21Qcm9iZVRyYW1wb2xpbmUpICI6CiAgICAgIm1vdnEgJXJzaSwgIiBTVFJJTkdJWkVf
VkFMVUVfT0YoUFJPQkVfQ1BVX0VTSV9PRkZTRVQpICIoJXJicCkiICJcbiIKICAgICAibW92cSAl
cmRpLCAiIFNUUklOR0laRV9WQUxVRV9PRihQUk9CRV9DUFVfRURJX09GRlNFVCkgIiglcmJwKSIg
IlxuIgogCisgICAgIm1vdnEgMCAqICIgU1RSSU5HSVpFX1ZBTFVFX09GKFBUUl9TSVpFKSAiKCVy
YXgpLCAlcmN4IiAiXG4iCisgICAgIm1vdnEgJXJjeCwgIiBTVFJJTkdJWkVfVkFMVUVfT0YoUFJP
QkVfQ1BVX0VGTEFHU19PRkZTRVQpICIoJXJicCkiICJcbiIKKyAgICAibW92cSAxICogIiBTVFJJ
TkdJWkVfVkFMVUVfT0YoUFRSX1NJWkUpICIoJXJheCksICVyY3giICJcbiIKKyAgICAibW92cSAl
cmN4LCAiIFNUUklOR0laRV9WQUxVRV9PRihQUk9CRV9DUFVfRUlQX09GRlNFVCkgIiglcmJwKSIg
IlxuIgorICAgICJtb3ZxIDIgKiAiIFNUUklOR0laRV9WQUxVRV9PRihQVFJfU0laRSkgIiglcmF4
KSwgJXJjeCIgIlxuIgorICAgICJtb3ZxICVyY3gsICIgU1RSSU5HSVpFX1ZBTFVFX09GKFBST0JF
X1BST0JFX0ZVTkNUSU9OX09GRlNFVCkgIiglcmJwKSIgIlxuIgorICAgICJtb3ZxIDMgKiAiIFNU
UklOR0laRV9WQUxVRV9PRihQVFJfU0laRSkgIiglcmF4KSwgJXJjeCIgIlxuIgorICAgICJtb3Zx
ICVyY3gsICIgU1RSSU5HSVpFX1ZBTFVFX09GKFBST0JFX0FSRzFfT0ZGU0VUKSAiKCVyYnApIiAi
XG4iCisgICAgIm1vdnEgNCAqICIgU1RSSU5HSVpFX1ZBTFVFX09GKFBUUl9TSVpFKSAiKCVyYXgp
LCAlcmN4IiAiXG4iCisgICAgIm1vdnEgJXJjeCwgIiBTVFJJTkdJWkVfVkFMVUVfT0YoUFJPQkVf
QVJHMl9PRkZTRVQpICIoJXJicCkiICJcbiIKKyAgICAibW92cSA1ICogIiBTVFJJTkdJWkVfVkFM
VUVfT0YoUFRSX1NJWkUpICIoJXJheCksICVyY3giICJcbiIKKyAgICAibW92cSAlcmN4LCAiIFNU
UklOR0laRV9WQUxVRV9PRihQUk9CRV9DUFVfRUFYX09GRlNFVCkgIiglcmJwKSIgIlxuIgorICAg
ICJtb3ZxIDYgKiAiIFNUUklOR0laRV9WQUxVRV9PRihQVFJfU0laRSkgIiglcmF4KSwgJXJjeCIg
IlxuIgorICAgICJtb3ZxICVyY3gsICIgU1RSSU5HSVpFX1ZBTFVFX09GKFBST0JFX0NQVV9FU1Bf
T0ZGU0VUKSAiKCVyYnApIiAiXG4iCisgICAgIm1vdnEgJXJjeCwgIiBTVFJJTkdJWkVfVkFMVUVf
T0YoUFJPQkVfSklUX1NUQUNLX0ZSQU1FX09GRlNFVCkgIiglcmJwKSIgIlxuIgorCiAgICAgIm1v
dnEgJXI4LCAiIFNUUklOR0laRV9WQUxVRV9PRihQUk9CRV9DUFVfUjhfT0ZGU0VUKSAiKCVyYnAp
IiAiXG4iCiAgICAgIm1vdnEgJXI5LCAiIFNUUklOR0laRV9WQUxVRV9PRihQUk9CRV9DUFVfUjlf
T0ZGU0VUKSAiKCVyYnApIiAiXG4iCiAgICAgIm1vdnEgJXIxMCwgIiBTVFJJTkdJWkVfVkFMVUVf
T0YoUFJPQkVfQ1BVX1IxMF9PRkZTRVQpICIoJXJicCkiICJcbiIKQEAgLTE1MiwyMCArMTgxLDE0
IEBAIFNZTUJPTF9TVFJJTkcoY3RpTWFzbVByb2JlVHJhbXBvbGluZSkgIjoKICAgICAibW92ZHFh
ICV4bW02LCAiIFNUUklOR0laRV9WQUxVRV9PRihQUk9CRV9DUFVfWE1NNl9PRkZTRVQpICIoJXJi
cCkiICJcbiIKICAgICAibW92ZHFhICV4bW03LCAiIFNUUklOR0laRV9WQUxVRV9PRihQUk9CRV9D
UFVfWE1NN19PRkZTRVQpICIoJXJicCkiICJcbiIKIAotICAgICJtb3ZxICIgU1RSSU5HSVpFX1ZB
TFVFX09GKFBST0JFX0NQVV9FU1BfT0ZGU0VUKSAiKCVyYnApLCAlcmF4IiAiXG4iCi0gICAgIm1v
dnEgJXJheCwgIiBTVFJJTkdJWkVfVkFMVUVfT0YoUFJPQkVfSklUX1NUQUNLX0ZSQU1FX09GRlNF
VCkgIiglcmJwKSIgIlxuIgotCiAgICAgIm1vdnEgJXJicCwgJXJkaSIgIlxuIiAvLyB0aGUgUHJv
YmVDb250ZXh0KiBhcmcuCiAgICAgImNhbGwgKiIgU1RSSU5HSVpFX1ZBTFVFX09GKFBST0JFX1BS
T0JFX0ZVTkNUSU9OX09GRlNFVCkgIiglcmJwKSIgIlxuIgogCi0gICAgLy8gVG8gZW5hYmxlIHBy
b2JlcyB0byBtb2RpZnkgcmVnaXN0ZXIgc3RhdGUsIHdlIGNvcHkgYWxsIHJlZ2llc3RlcnMKKyAg
ICAvLyBUbyBlbmFibGUgcHJvYmVzIHRvIG1vZGlmeSByZWdpc3RlciBzdGF0ZSwgd2UgY29weSBh
bGwgcmVnaXN0ZXJzCiAgICAgLy8gb3V0IG9mIHRoZSBQcm9iZUNvbnRleHQgYmVmb3JlIHJldHVy
bmluZy4KIAotICAgICJtb3ZxICIgU1RSSU5HSVpFX1ZBTFVFX09GKFBST0JFX0NQVV9FQVhfT0ZG
U0VUKSAiKCVyYnApLCAlcmF4IiAiXG4iCi0gICAgIm1vdnEgIiBTVFJJTkdJWkVfVkFMVUVfT0Yo
UFJPQkVfQ1BVX0VDWF9PRkZTRVQpICIoJXJicCksICVyY3giICJcbiIKICAgICAibW92cSAiIFNU
UklOR0laRV9WQUxVRV9PRihQUk9CRV9DUFVfRURYX09GRlNFVCkgIiglcmJwKSwgJXJkeCIgIlxu
IgogICAgICJtb3ZxICIgU1RSSU5HSVpFX1ZBTFVFX09GKFBST0JFX0NQVV9FQlhfT0ZGU0VUKSAi
KCVyYnApLCAlcmJ4IiAiXG4iCi0gICAgIm1vdnEgIiBTVFJJTkdJWkVfVkFMVUVfT0YoUFJPQkVf
Q1BVX0VTUF9PRkZTRVQpICIoJXJicCksICVyc3AiICJcbiIKICAgICAibW92cSAiIFNUUklOR0la
RV9WQUxVRV9PRihQUk9CRV9DUFVfRVNJX09GRlNFVCkgIiglcmJwKSwgJXJzaSIgIlxuIgogICAg
ICJtb3ZxICIgU1RSSU5HSVpFX1ZBTFVFX09GKFBST0JFX0NQVV9FRElfT0ZGU0VUKSAiKCVyYnAp
LCAlcmRpIiAiXG4iCiAKQEAgLTE4Nyw5ICsyMTAsNzEgQEAgU1lNQk9MX1NUUklORyhjdGlNYXNt
UHJvYmVUcmFtcG9saW5lKSAiOgogICAgICJtb3ZkcWEgIiBTVFJJTkdJWkVfVkFMVUVfT0YoUFJP
QkVfQ1BVX1hNTTZfT0ZGU0VUKSAiKCVyYnApLCAleG1tNiIgIlxuIgogICAgICJtb3ZkcWEgIiBT
VFJJTkdJWkVfVkFMVUVfT0YoUFJPQkVfQ1BVX1hNTTdfT0ZGU0VUKSAiKCVyYnApLCAleG1tNyIg
IlxuIgogCi0gICAgInB1c2hxICIgU1RSSU5HSVpFX1ZBTFVFX09GKFBST0JFX0NQVV9FSVBfT0ZG
U0VUKSAiKCVyYnApIiAiXG4iCisgICAgLy8gVGhlcmUgYXJlIDYgbW9yZSByZWdpc3RlcnMgbGVm
dCB0byByZXN0b3JlOgorICAgIC8vICAgICByYXgsIHJjeCwgcmJwLCByc3AsIHJpcCwgYW5kIHJm
bGFncy4KKyAgICAvLyBXZSBuZWVkIHRvIGhhbmRsZSB0aGVzZSBsYXN0IGZldyByZXN0b3JlcyBj
YXJlZnVsbHkgYmVjYXVzZToKKyAgICAvLworICAgIC8vIDEuIFdlIG5lZWQgdG8gcHVzaCB0aGUg
cmV0dXJuIGFkZHJlc3Mgb24gdGhlIHN0YWNrIGZvciByZXQgdG8gdXNlCisgICAgLy8gICAgVGhh
dCBtZWFucyB3ZSBuZWVkIHRvIHdyaXRlIHRvIHRoZSBzdGFjay4KKyAgICAvLyAyLiBUaGUgdXNl
ciBwcm9iZSBmdW5jdGlvbiBtYXkgaGF2ZSBhbHRlcmVkIHRoZSByZXN0b3JlIHZhbHVlIG9mIGVz
cCB0bworICAgIC8vICAgIHBvaW50IHRvIHRoZSB2aWNpbml0eSBvZiBvbmUgb2YgdGhlIHJlc3Rv
cmUgdmFsdWVzIGZvciB0aGUgcmVtYWluaW5nCisgICAgLy8gICAgcmVnaXN0ZXJzIGxlZnQgdG8g
YmUgcmVzdG9yZWQuCisgICAgLy8gICAgVGhhdCBtZWFucywgZm9yIHJlcXVpcmVtZW50IDEsIHdl
IG1heSBlbmQgdXAgd3JpdGluZyBvdmVyIHNvbWUgb2YgdGhlCisgICAgLy8gICAgcmVzdG9yZSB2
YWx1ZXMuIFdlIGNhbiBjaGVjayBmb3IgdGhpcywgYW5kIGZpcnN0IGNvcHkgdGhlIHJlc3RvcmUK
KyAgICAvLyAgICB2YWx1ZXMgdG8gYSAic2FmZSBhcmVhIiBvbiB0aGUgc3RhY2sgYmVmb3JlIGNv
bW1lbmNpbmcgd2l0aCB0aGUgYWN0aW9uCisgICAgLy8gICAgZm9yIHJlcXVpcmVtZW50IDEuCisg
ICAgLy8gMy4gRm9yIGJvdGggcmVxdWlyZW1lbnQgMiwgd2UgbmVlZCB0byBlbnN1cmUgdGhhdCB0
aGUgInNhZmUgYXJlYSIgaXMKKyAgICAvLyAgICBwcm90ZWN0ZWQgZnJvbSBpbnRlcnJ1cHQgaGFu
ZGxlcnMgb3ZlcndyaXRpbmcgaXQuIEhlbmNlLCB0aGUgZXNwIG5lZWRzCisgICAgLy8gICAgdG8g
YmUgYWRqdXN0ZWQgdG8gaW5jbHVkZSB0aGUgInNhZmUgYXJlYSIgYmVmb3JlIHdlIHN0YXJ0IGNv
cHlpbmcgdGhlCisgICAgLy8gICAgdGhlIHJlc3RvcmUgdmFsdWVzLgorCisgICAgIm1vdnEgJXJi
cCwgJXJheCIgIlxuIgorICAgICJhZGRxICQiIFNUUklOR0laRV9WQUxVRV9PRihQUk9CRV9DUFVf
RUZMQUdTX09GRlNFVCkgIiwgJXJheCIgIlxuIgorICAgICJjbXBxICVyYXgsICIgU1RSSU5HSVpF
X1ZBTFVFX09GKFBST0JFX0NQVV9FU1BfT0ZGU0VUKSAiKCVyYnApIiAiXG4iCisgICAgImpnICIg
U1lNQk9MX1NUUklORyhjdGlNYXNtUHJvYmVUcmFtcG9saW5lRW5kKSAiXG4iCisKKyAgICAvLyBM
b2NhdGUgdGhlICJzYWZlIGFyZWEiIGF0IDJ4IHNpemVvZihQcm9iZUNvbnRleHQpIGJlbG93IHdo
ZXJlIHRoZSBuZXcKKyAgICAvLyByc3Agd2lsbCBiZS4gVGhpcyB0aW1lIHdlIGRvbid0IGhhdmUg
dG8gMzItYnl0ZSBhbGlnbiBpdCBiZWNhdXNlIHdlJ3JlCisgICAgLy8gbm90IHVzaW5nIHRvIHN0
b3JlIGFueSB4bW0gcmVncy4KKyAgICAibW92cSAiIFNUUklOR0laRV9WQUxVRV9PRihQUk9CRV9D
UFVfRVNQX09GRlNFVCkgIiglcmJwKSwgJXJheCIgIlxuIgorICAgICJzdWJxICQyICogIiBTVFJJ
TkdJWkVfVkFMVUVfT0YoUFJPQkVfU0laRSkgIiwgJXJheCIgIlxuIgorICAgICJtb3ZxICVyYXgs
ICVyc3AiICJcbiIKIAotICAgICJtb3ZxICIgU1RSSU5HSVpFX1ZBTFVFX09GKFBST0JFX0NQVV9F
QlBfT0ZGU0VUKSAiKCVyYnApLCAlcmJwIiAiXG4iCisgICAgIm1vdnEgIiBTVFJJTkdJWkVfVkFM
VUVfT0YoUFJPQkVfQ1BVX0VBWF9PRkZTRVQpICIoJXJicCksICVyY3giICJcbiIKKyAgICAibW92
cSAlcmN4LCAiIFNUUklOR0laRV9WQUxVRV9PRihQUk9CRV9DUFVfRUFYX09GRlNFVCkgIiglcmF4
KSIgIlxuIgorICAgICJtb3ZxICIgU1RSSU5HSVpFX1ZBTFVFX09GKFBST0JFX0NQVV9FQ1hfT0ZG
U0VUKSAiKCVyYnApLCAlcmN4IiAiXG4iCisgICAgIm1vdnEgJXJjeCwgIiBTVFJJTkdJWkVfVkFM
VUVfT0YoUFJPQkVfQ1BVX0VDWF9PRkZTRVQpICIoJXJheCkiICJcbiIKKyAgICAibW92cSAiIFNU
UklOR0laRV9WQUxVRV9PRihQUk9CRV9DUFVfRUJQX09GRlNFVCkgIiglcmJwKSwgJXJjeCIgIlxu
IgorICAgICJtb3ZxICVyY3gsICIgU1RSSU5HSVpFX1ZBTFVFX09GKFBST0JFX0NQVV9FQlBfT0ZG
U0VUKSAiKCVyYXgpIiAiXG4iCisgICAgIm1vdnEgIiBTVFJJTkdJWkVfVkFMVUVfT0YoUFJPQkVf
Q1BVX0VTUF9PRkZTRVQpICIoJXJicCksICVyY3giICJcbiIKKyAgICAibW92cSAlcmN4LCAiIFNU
UklOR0laRV9WQUxVRV9PRihQUk9CRV9DUFVfRVNQX09GRlNFVCkgIiglcmF4KSIgIlxuIgorICAg
ICJtb3ZxICIgU1RSSU5HSVpFX1ZBTFVFX09GKFBST0JFX0NQVV9FSVBfT0ZGU0VUKSAiKCVyYnAp
LCAlcmN4IiAiXG4iCisgICAgIm1vdnEgJXJjeCwgIiBTVFJJTkdJWkVfVkFMVUVfT0YoUFJPQkVf
Q1BVX0VJUF9PRkZTRVQpICIoJXJheCkiICJcbiIKKyAgICAibW92cSAiIFNUUklOR0laRV9WQUxV
RV9PRihQUk9CRV9DUFVfRUZMQUdTX09GRlNFVCkgIiglcmJwKSwgJXJjeCIgIlxuIgorICAgICJt
b3ZxICVyY3gsICIgU1RSSU5HSVpFX1ZBTFVFX09GKFBST0JFX0NQVV9FRkxBR1NfT0ZGU0VUKSAi
KCVyYXgpIiAiXG4iCisgICAgIm1vdnEgJXJheCwgJXJicCIgIlxuIgorCitTWU1CT0xfU1RSSU5H
KGN0aU1hc21Qcm9iZVRyYW1wb2xpbmVFbmQpICI6IiAiXG4iCisgICAgIm1vdnEgIiBTVFJJTkdJ
WkVfVkFMVUVfT0YoUFJPQkVfQ1BVX0VTUF9PRkZTRVQpICIoJXJicCksICVyYXgiICJcbiIKKyAg
ICAic3VicSAkNSAqICIgU1RSSU5HSVpFX1ZBTFVFX09GKFBUUl9TSVpFKSAiLCAlcmF4IiAiXG4i
CisgICAgLy8gQXQgdGhpcyBwb2ludCwgJXJzcCBzaG91bGQgYmUgPCAlcmF4LgorCisgICAgIm1v
dnEgIiBTVFJJTkdJWkVfVkFMVUVfT0YoUFJPQkVfQ1BVX0VGTEFHU19PRkZTRVQpICIoJXJicCks
ICVyY3giICJcbiIKKyAgICAibW92cSAlcmN4LCAwICogIiBTVFJJTkdJWkVfVkFMVUVfT0YoUFRS
X1NJWkUpICIoJXJheCkiICJcbiIKKyAgICAibW92cSAiIFNUUklOR0laRV9WQUxVRV9PRihQUk9C
RV9DUFVfRUFYX09GRlNFVCkgIiglcmJwKSwgJXJjeCIgIlxuIgorICAgICJtb3ZxICVyY3gsIDEg
KiAiIFNUUklOR0laRV9WQUxVRV9PRihQVFJfU0laRSkgIiglcmF4KSIgIlxuIgorICAgICJtb3Zx
ICIgU1RSSU5HSVpFX1ZBTFVFX09GKFBST0JFX0NQVV9FQ1hfT0ZGU0VUKSAiKCVyYnApLCAlcmN4
IiAiXG4iCisgICAgIm1vdnEgJXJjeCwgMiAqICIgU1RSSU5HSVpFX1ZBTFVFX09GKFBUUl9TSVpF
KSAiKCVyYXgpIiAiXG4iCisgICAgIm1vdnEgIiBTVFJJTkdJWkVfVkFMVUVfT0YoUFJPQkVfQ1BV
X0VCUF9PRkZTRVQpICIoJXJicCksICVyY3giICJcbiIKKyAgICAibW92cSAlcmN4LCAzICogIiBT
VFJJTkdJWkVfVkFMVUVfT0YoUFRSX1NJWkUpICIoJXJheCkiICJcbiIKKyAgICAibW92cSAiIFNU
UklOR0laRV9WQUxVRV9PRihQUk9CRV9DUFVfRUlQX09GRlNFVCkgIiglcmJwKSwgJXJjeCIgIlxu
IgorICAgICJtb3ZxICVyY3gsIDQgKiAiIFNUUklOR0laRV9WQUxVRV9PRihQVFJfU0laRSkgIigl
cmF4KSIgIlxuIgorICAgICJtb3ZxICVyYXgsICVyc3AiICJcbiIKKworICAgICJwb3BmcSIgIlxu
IgorICAgICJwb3BxICVyYXgiICJcbiIKKyAgICAicG9wcSAlcmN4IiAiXG4iCisgICAgInBvcHEg
JXJicCIgIlxuIgogICAgICJyZXQiICJcbiIKICk7CiAjZW5kaWYgLy8gVVNFKE1BU01fUFJPQkUp
CkluZGV4OiBTb3VyY2UvV2ViS2l0Mi9TaGFyZWQvbWFjL0NoaWxkUHJvY2Vzc01hYy5tbQo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0Mi9TaGFyZWQvbWFjL0NoaWxkUHJvY2Vzc01hYy5tbQko
cmV2aXNpb24gMTUwODI3KQorKysgU291cmNlL1dlYktpdDIvU2hhcmVkL21hYy9DaGlsZFByb2Nl
c3NNYWMubW0JKHdvcmtpbmcgY29weSkKQEAgLTUxLDcgKzUxLDcgQEAgZXh0ZXJuICJDIiBpbnQg
c2FuZGJveF9pbml0X3dpdGhfcGFyYW1ldAogI2VuZGlmCiAjZW5kaWYKIAotZXh0ZXJuICJDIiBD
R0Vycm9yIENHU1NodXRkb3duU2VydmVyQ29ubmVjdGlvbnMoKTsKKy8vIG1sYW0gZXh0ZXJuICJD
IiBDR0Vycm9yIENHU1NodXRkb3duU2VydmVyQ29ubmVjdGlvbnMoKTsKIGV4dGVybiAiQyIgT1NT
dGF0dXMgU2V0QXBwbGljYXRpb25Jc0RhZW1vbihCb29sZWFuIGlzRGFlbW9uKTsKIAogdXNpbmcg
bmFtZXNwYWNlIFdlYkNvcmU7CkBAIC02Niw4ICs2NiwxMCBAQCB2b2lkIENoaWxkUHJvY2Vzczo6
c2V0UHJvY2Vzc1N1cHByZXNzaW9uCiAKICAgICBpZiAocHJvY2Vzc1N1cHByZXNzaW9uRW5hYmxl
ZCkKICAgICAgICAgbV9wcm9jZXNzU3VwcHJlc3Npb25Bc3NlcnRpb24uY2xlYXIoKTsKKyAgICAv
KiBtbGFtCiAgICAgZWxzZQogICAgICAgICBtX3Byb2Nlc3NTdXBwcmVzc2lvbkFzc2VydGlvbiA9
IFtbTlNQcm9jZXNzSW5mbyBwcm9jZXNzSW5mb10gYmVnaW5TdXNwZW5zaW9uT2ZTeXN0ZW1CZWhh
dmlvcnM6V0tQcm9jZXNzU3VwcHJlc3Npb25TeXN0ZW1CZWhhdmlvcnMgcmVhc29uOkAiUHJvY2Vz
cyBTdXBwcmVzc2lvbiBEaXNhYmxlZCJdOworICAgIC8vIG1sYW0gKi8KICNlbHNlCiAgICAgVU5V
U0VEX1BBUkFNKHByb2Nlc3NTdXBwcmVzc2lvbkVuYWJsZWQpOwogI2VuZGlmCkluZGV4OiBTb3Vy
Y2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL21hYy9XS1ZpZXcubW0KPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9tYWMvV0tWaWV3Lm1tCShyZXZpc2lvbiAxNTA4Mjcp
CisrKyBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL21hYy9XS1ZpZXcubW0JKHdvcmtpbmcg
Y29weSkKQEAgLTIyODcsMTAgKzIyODcsMTIgQEAgLSAodm9pZClfZW5hYmxlV2luZG93T2NjbHVz
aW9uTm90aWZpY2F0aQogICAgICAgICByZXR1cm47CiAKICAgICBib29sIGlzV2luZG93T2NjbHVk
ZWQgPSBmYWxzZTsKKyAgICAvKiBtbGFtCiAgICAgaWYgKCFXS0VuYWJsZVdpbmRvd09jY2x1c2lv
bk5vdGlmaWNhdGlvbnMod2luZG93SUQsICZpc1dpbmRvd09jY2x1ZGVkKSkgewogICAgICAgICBX
VEZMb2dBbHdheXMoIkVuYWJsaW5nIHdpbmRvdyBvY2NsdXNpb24gbm90aWZpY2F0aW9ucyBmb3Ig
d2luZG93ICVsZCBmYWlsZWQuXG4iLCB3aW5kb3dJRCk7CiAgICAgICAgIHJldHVybjsKICAgICB9
CisgICAgLy8gbWxhbSAqLwogCiAgICAgaWYgKGlzV2luZG93T2NjbHVkZWQpCiAgICAgICAgIFtz
ZWxmIF9zZXRJc1dpbmRvd09jY2x1ZGVkOllFU107CkBAIC0yMzEyLDYgKzIzMTQsNyBAQCAtICh2
b2lkKV9kaXNhYmxlV2luZG93T2NjbHVzaW9uTm90aWZpY2F0CiAKICNpZiBfX01BQ19PU19YX1ZF
UlNJT05fTUlOX1JFUVVJUkVEID49IDEwOTAKIAorLyogbWxhbQogc3RhdGljIHZvaWQgd2luZG93
QmVjYW1lVmlzaWJsZSh1aW50MzJfdCwgdm9pZCogZGF0YSwgdWludDMyX3QgZGF0YUxlbmd0aCwg
dm9pZCosIHVpbnQzMl90KQogewogICAgIEFTU0VSVChkYXRhTGVuZ3RoID09IHNpemVvZihXS1dp
bmRvd0lEKSk7CkBAIC0yMzM3LDYgKzIzNDAsNyBAQCBzdGF0aWMgdm9pZCB3aW5kb3dCZWNhbWVP
Y2NsdWRlZCh1aW50MzJfCiAgICAgICAgICAgICBbdmlldyBfc2V0SXNXaW5kb3dPY2NsdWRlZDpZ
RVNdOwogICAgIH0KIH0KKy8vIG1sYW0gKi8KIAogKyAoQk9PTClfcmVnaXN0ZXJXaW5kb3dPY2Ns
dXNpb25Ob3RpZmljYXRpb25IYW5kbGVycwogewpAQCAtMjM0OCw2ICsyMzUyLDcgQEAgKyAoQk9P
TClfcmVnaXN0ZXJXaW5kb3dPY2NsdXNpb25Ob3RpZmljYQogICAgIGlmICh3aW5kb3dPY2NsdXNp
b25Ob3RpZmljYXRpb25zQXJlUmVnaXN0ZXJlZCkKICAgICAgICAgcmV0dXJuIFlFUzsKIAorICAg
IC8qIG1sYW0KICAgICBpZiAoIVdLUmVnaXN0ZXJPY2NsdXNpb25Ob3RpZmljYXRpb25IYW5kbGVy
KFdLT2NjbHVzaW9uTm90aWZpY2F0aW9uVHlwZVdpbmRvd0JlY2FtZVZpc2libGUsIHdpbmRvd0Jl
Y2FtZVZpc2libGUpKSB7CiAgICAgICAgIFdURkxvZ0Fsd2F5cygiUmVnaXN0ZXJhdGlvbiBvZiBc
IldpbmRvdyBCZWNhbWUgVmlzaWJsZVwiIG5vdGlmaWNhdGlvbiBoYW5kbGVyIGZhaWxlZC5cbiIp
OwogICAgICAgICByZXR1cm4gTk87CkBAIC0yMzU3LDYgKzIzNjIsNyBAQCArIChCT09MKV9yZWdp
c3RlcldpbmRvd09jY2x1c2lvbk5vdGlmaWNhCiAgICAgICAgIFdURkxvZ0Fsd2F5cygiUmVnaXN0
ZXJhdGlvbiBvZiBcIldpbmRvdyBCZWNhbWUgT2NjbHVkZWRcIiBub3RpZmljYXRpb24gaGFuZGxl
ciBmYWlsZWQuXG4iKTsKICAgICAgICAgcmV0dXJuIE5POwogICAgIH0KKyAgICAvLyBtbGFtICov
CiAKICAgICB3aW5kb3dPY2NsdXNpb25Ob3RpZmljYXRpb25zQXJlUmVnaXN0ZXJlZCA9IFlFUzsK
ICAgICByZXR1cm4gWUVTOwpAQCAtMjM2Nyw2ICsyMzczLDcgQEAgKyAoQk9PTClfdW5yZWdpc3Rl
cldpbmRvd09jY2x1c2lvbk5vdGlmaQogICAgIGlmICghd2luZG93T2NjbHVzaW9uTm90aWZpY2F0
aW9uc0FyZVJlZ2lzdGVyZWQpCiAgICAgICAgIHJldHVybiBZRVM7CiAKKyAgICAvKiBtbGFtCiAg
ICAgaWYgKCFXS1VucmVnaXN0ZXJPY2NsdXNpb25Ob3RpZmljYXRpb25IYW5kbGVyKFdLT2NjbHVz
aW9uTm90aWZpY2F0aW9uVHlwZVdpbmRvd0JlY2FtZU9jY2x1ZGVkLCB3aW5kb3dCZWNhbWVPY2Ns
dWRlZCkpIHsKICAgICAgICAgV1RGTG9nQWx3YXlzKCJVbnJlZ2lzdGVyYXRpb24gb2YgXCJXaW5k
b3cgQmVjYW1lIE9jY2x1ZGVkXCIgbm90aWZpY2F0aW9uIGhhbmRsZXIgZmFpbGVkLlxuIik7CiAg
ICAgICAgIHJldHVybiBOTzsKQEAgLTIzNzYsNiArMjM4Myw3IEBAICsgKEJPT0wpX3VucmVnaXN0
ZXJXaW5kb3dPY2NsdXNpb25Ob3RpZmkKICAgICAgICAgV1RGTG9nQWx3YXlzKCJVbnJlZ2lzdGVy
YXRpb24gb2YgXCJXaW5kb3cgQmVjYW1lIFZpc2libGVcIiBub3RpZmljYXRpb24gaGFuZGxlciBm
YWlsZWQuXG4iKTsKICAgICAgICAgcmV0dXJuIE5POwogICAgIH0KKyAgICAvLyBtbGFtICovCiAK
ICAgICB3aW5kb3dPY2NsdXNpb25Ob3RpZmljYXRpb25zQXJlUmVnaXN0ZXJlZCA9IE5POwogICAg
IHJldHVybiBZRVM7CkluZGV4OiBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvbWFjL1dlYkNvbnRl
eHRNYWMubW0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL21hYy9XZWJD
b250ZXh0TWFjLm1tCShyZXZpc2lvbiAxNTA4MjcpCisrKyBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nl
c3MvbWFjL1dlYkNvbnRleHRNYWMubW0JKHdvcmtpbmcgY29weSkKQEAgLTEwMSw2ICsxMDEsNyBA
QCBzdGF0aWMgdm9pZCB1cGRhdGVQcm9jZXNzU3VwcHJlc3Npb25TdGF0CiB9CiAKICNpZiBfX01B
Q19PU19YX1ZFUlNJT05fTUlOX1JFUVVJUkVEID49IDEwOTAKKy8qIG1sYW0KIHN0YXRpYyB2b2lk
IGFwcGxpY2F0aW9uT2NjbHVzaW9uU3RhdGVDaGFuZ2VkKCkKIHsKICAgICBjb25zdCBWZWN0b3I8
V2ViQ29udGV4dCo+JiBjb250ZXh0cyA9IFdlYkNvbnRleHQ6OmFsbENvbnRleHRzKCk7CkBAIC0x
MjgsMTEgKzEyOSwxMyBAQCBzdGF0aWMgdm9pZCBhcHBsaWNhdGlvbkJlY2FtZU9jY2x1ZGVkKHVp
CiAgICAgc19hcHBsaWNhdGlvbklzT2NjbHVkZWQgPSB0cnVlOwogICAgIGFwcGxpY2F0aW9uT2Nj
bHVzaW9uU3RhdGVDaGFuZ2VkKCk7CiB9CisvLyBtbGFtICovCiAjZW5kaWYKIAogc3RhdGljIHZv
aWQgcmVnaXN0ZXJPY2NsdXNpb25Ob3RpZmljYXRpb25IYW5kbGVycygpCiB7CiAjaWYgX19NQUNf
T1NfWF9WRVJTSU9OX01JTl9SRVFVSVJFRCA+PSAxMDkwCisvKiBtbGFtCiAgICAgaWYgKCFXS1Jl
Z2lzdGVyT2NjbHVzaW9uTm90aWZpY2F0aW9uSGFuZGxlcihXS09jY2x1c2lvbk5vdGlmaWNhdGlv
blR5cGVBcHBsaWNhdGlvbkJlY2FtZVZpc2libGUsIGFwcGxpY2F0aW9uQmVjYW1lVmlzaWJsZSkp
IHsKICAgICAgICAgV1RGTG9nQWx3YXlzKCJSZWdpc3RyYXRpb24gb2YgXCJBcHBsaWNhdGlvbiBC
ZWNhbWUgVmlzaWJsZVwiIG5vdGlmaWNhdGlvbiBoYW5kbGVyIGZhaWxlZC5cbiIpOwogICAgICAg
ICByZXR1cm47CkBAIC0xNDAsMTIgKzE0MywxNCBAQCBzdGF0aWMgdm9pZCByZWdpc3Rlck9jY2x1
c2lvbk5vdGlmaWNhdGlvCiAgICAgCiAgICAgaWYgKCFXS1JlZ2lzdGVyT2NjbHVzaW9uTm90aWZp
Y2F0aW9uSGFuZGxlcihXS09jY2x1c2lvbk5vdGlmaWNhdGlvblR5cGVBcHBsaWNhdGlvbkJlY2Ft
ZU9jY2x1ZGVkLCBhcHBsaWNhdGlvbkJlY2FtZU9jY2x1ZGVkKSkKICAgICAgICAgV1RGTG9nQWx3
YXlzKCJSZWdpc3RyYXRpb24gb2YgXCJBcHBsaWNhdGlvbiBCZWNhbWUgT2NjbHVkZWRcIiBub3Rp
ZmljYXRpb24gaGFuZGxlciBmYWlsZWQuXG4iKTsKKy8vIG1sYW0gKi8KICNlbmRpZgogfQogCiBz
dGF0aWMgdm9pZCB1bnJlZ2lzdGVyT2NjbHVzaW9uTm90aWZpY2F0aW9uSGFuZGxlcnMoKQogewog
I2lmIF9fTUFDX09TX1hfVkVSU0lPTl9NSU5fUkVRVUlSRUQgPj0gMTA5MAorLyogbWxhbQogICAg
IGlmICghV0tVbnJlZ2lzdGVyT2NjbHVzaW9uTm90aWZpY2F0aW9uSGFuZGxlcihXS09jY2x1c2lv
bk5vdGlmaWNhdGlvblR5cGVBcHBsaWNhdGlvbkJlY2FtZU9jY2x1ZGVkLCBhcHBsaWNhdGlvbkJl
Y2FtZU9jY2x1ZGVkKSkgewogICAgICAgICBXVEZMb2dBbHdheXMoIlVucmVnaXN0cmF0aW9uIG9m
IFwiQXBwbGljYXRpb24gQmVjYW1lIE9jY2x1ZGVkXCIgbm90aWZpY2F0aW9uIGhhbmRsZXIgZmFp
bGVkLlxuIik7CiAgICAgICAgIHJldHVybjsKQEAgLTE1Myw2ICsxNTgsNyBAQCBzdGF0aWMgdm9p
ZCB1bnJlZ2lzdGVyT2NjbHVzaW9uTm90aWZpY2F0CiAgICAgCiAgICAgaWYgKCFXS1VucmVnaXN0
ZXJPY2NsdXNpb25Ob3RpZmljYXRpb25IYW5kbGVyKFdLT2NjbHVzaW9uTm90aWZpY2F0aW9uVHlw
ZUFwcGxpY2F0aW9uQmVjYW1lT2NjbHVkZWQsIGFwcGxpY2F0aW9uQmVjYW1lVmlzaWJsZSkpCiAg
ICAgICAgIFdURkxvZ0Fsd2F5cygiVW5yZWdpc3RyYXRpb24gb2YgXCJBcHBsaWNhdGlvbiBCZWNh
bWUgVmlzaWJsZVwiIG5vdGlmaWNhdGlvbiBoYW5kbGVyIGZhaWxlZC5cbiIpOworLy8gbWxhbSAq
LwogI2VuZGlmCiB9CiAKSW5kZXg6IFNvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViQ29yZVN1
cHBvcnQvbWFjL1dlYlN5c3RlbUludGVyZmFjZS5tbQo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
S2l0Mi9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L21hYy9XZWJTeXN0ZW1JbnRlcmZhY2UubW0J
KHJldmlzaW9uIDE1MDgyNykKKysrIFNvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViQ29yZVN1
cHBvcnQvbWFjL1dlYlN5c3RlbUludGVyZmFjZS5tbQkod29ya2luZyBjb3B5KQpAQCAtNDYsNyAr
NDYsNyBAQCB2b2lkIEluaXRXZWJDb3JlU3lzdGVtSW50ZXJmYWNlKHZvaWQpCiAgICAgICAgIElO
SVQoQ0dDb250ZXh0RHJhd3NXaXRoQ29ycmVjdFNoYWRvd09mZnNldHMpOwogI2VuZGlmCiAjaWYg
X19NQUNfT1NfWF9WRVJTSU9OX01JTl9SRVFVSVJFRCA+PSAxMDkwCi0gICAgICAgIElOSVQoQ1RG
b250VHJhbnNmb3JtR2x5cGhzKTsKKyAgICAgICAgLy8gbWxhbSBJTklUKENURm9udFRyYW5zZm9y
bUdseXBocyk7CiAjZW5kaWYKICAgICAgICAgSU5JVChDb3B5Q09OTkVDVFByb3h5UmVzcG9uc2Up
OwogICAgICAgICBJTklUKENvcHlOU1VSTFJlc3BvbnNlU3RhdHVzTGluZSk7CkluZGV4OiBTb3Vy
Y2UvV2ViS2l0L21hYy9XZWJDb3JlU3VwcG9ydC9XZWJFZGl0b3JDbGllbnQubW0KPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gU291cmNlL1dlYktpdC9tYWMvV2ViQ29yZVN1cHBvcnQvV2ViRWRpdG9yQ2xpZW50Lm1t
CShyZXZpc2lvbiAxNTA4MjcpCisrKyBTb3VyY2UvV2ViS2l0L21hYy9XZWJDb3JlU3VwcG9ydC9X
ZWJFZGl0b3JDbGllbnQubW0JKHdvcmtpbmcgY29weSkKQEAgLTg5MCwxMSArODkwLDEzIEBAIHZv
aWQgV2ViRWRpdG9yQ2xpZW50Ojp1cGRhdGVTcGVsbGluZ1VJV2kKICAgICAgICAgTlNTdHJpbmcq
IGd1ZXNzID0gZ3JhbW1hckRldGFpbC5ndWVzc2VzW2ldOwogICAgICAgICBbY29ycmVjdGlvbnMg
YWRkT2JqZWN0Omd1ZXNzXTsKICAgICB9CisJLyogbWxhbQogICAgIE5TUmFuZ2UgZ3JhbW1hclJh
bmdlID0gTlNNYWtlUmFuZ2UoZ3JhbW1hckRldGFpbC5sb2NhdGlvbiwgZ3JhbW1hckRldGFpbC5s
ZW5ndGgpOwogICAgIE5TU3RyaW5nKiBncmFtbWFyVXNlckRlc2NyaXB0aW9uID0gZ3JhbW1hckRl
dGFpbC51c2VyRGVzY3JpcHRpb247CiAgICAgTlNNdXRhYmxlRGljdGlvbmFyeSogZ3JhbW1hckRl
dGFpbERpY3QgPSBbTlNEaWN0aW9uYXJ5IGRpY3Rpb25hcnlXaXRoT2JqZWN0c0FuZEtleXM6W05T
VmFsdWUgdmFsdWVXaXRoUmFuZ2U6Z3JhbW1hclJhbmdlXSwgTlNHcmFtbWFyUmFuZ2UsIGdyYW1t
YXJVc2VyRGVzY3JpcHRpb24sIE5TR3JhbW1hclVzZXJEZXNjcmlwdGlvbiwgY29ycmVjdGlvbnMs
IE5TR3JhbW1hckNvcnJlY3Rpb25zLCBuaWxdOwogICAgIAogICAgIFtbTlNTcGVsbENoZWNrZXIg
c2hhcmVkU3BlbGxDaGVja2VyXSB1cGRhdGVTcGVsbGluZ1BhbmVsV2l0aEdyYW1tYXJTdHJpbmc6
YmFkR3JhbW1hclBocmFzZSBkZXRhaWw6Z3JhbW1hckRldGFpbERpY3RdOworCS8vIG1sYW0gKi8K
IH0KIAogdm9pZCBXZWJFZGl0b3JDbGllbnQ6OnVwZGF0ZVNwZWxsaW5nVUlXaXRoTWlzc3BlbGxl
ZFdvcmQoY29uc3QgU3RyaW5nJiBtaXNzcGVsbGVkV29yZCkKSW5kZXg6IFNvdXJjZS9XZWJLaXQv
bWFjL1dlYkNvcmVTdXBwb3J0L1dlYlN5c3RlbUludGVyZmFjZS5tbQo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBT
b3VyY2UvV2ViS2l0L21hYy9XZWJDb3JlU3VwcG9ydC9XZWJTeXN0ZW1JbnRlcmZhY2UubW0JKHJl
dmlzaW9uIDE1MDgyNykKKysrIFNvdXJjZS9XZWJLaXQvbWFjL1dlYkNvcmVTdXBwb3J0L1dlYlN5
c3RlbUludGVyZmFjZS5tbQkod29ya2luZyBjb3B5KQpAQCAtNTMsNyArNTMsNyBAQCB2b2lkIElu
aXRXZWJDb3JlU3lzdGVtSW50ZXJmYWNlKHZvaWQpCiAgICAgSU5JVChDR0NvbnRleHREcmF3c1dp
dGhDb3JyZWN0U2hhZG93T2Zmc2V0cyk7CiAjZW5kaWYKICNpZiBfX01BQ19PU19YX1ZFUlNJT05f
TUlOX1JFUVVJUkVEID49IDEwOTAKLSAgICBJTklUKENURm9udFRyYW5zZm9ybUdseXBocyk7Cisg
ICAgLy8gbWxhbSBJTklUKENURm9udFRyYW5zZm9ybUdseXBocyk7CiAjZW5kaWYKICAgICBJTklU
KENvcHlDRkxvY2FsaXphdGlvblByZWZlcnJlZE5hbWUpOwogICAgIElOSVQoQ29weUNPTk5FQ1RQ
cm94eVJlc3BvbnNlKTsK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>203089</attachid>
            <date>2013-05-28 14:31:44 -0700</date>
            <delta_ts>2013-05-28 15:12:32 -0700</delta_ts>
            <desc>corrected patch.</desc>
            <filename>bug-116586.patch</filename>
            <type>text/plain</type>
            <size>91602</size>
            <attacher name="Mark Lam">mark.lam</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkocmV2aXNpb24gMTUwODI5KQorKysgU291cmNl
L0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDYxIEBA
CisyMDEzLTA1LTI4ICBNYXJrIExhbSAgPG1hcmsubGFtQGFwcGxlLmNvbT4KKworICAgICAgICBN
aXNjIEpJVCBwcm9iZSBlbmhhY2VtZW50cy4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTExNjU4Ni4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkg
KE9PUFMhKS4KKworICAgICAgICAxLiBBZGRlZCBKSVQgcHJvYmUgc3VwcG9ydCBmb3IgQVJNdjcg
YW5kIHRyYWRpdGlvbmFsIEFSTS4KKyAgICAgICAgICAgQnVpbHQgYW5kIHRlc3RlZCBvbiBBUk12
Ny4gQVJNIHZlcnNpb24gbm90IHRlc3RlZCBub3IgYnVpbHQuIAorICAgICAgICAyLiBGaXggdGhl
IGZvbGxvd2luZyBidWdzIGluIHRoZSBYODYgYW5kIFg4Nl82NCBwcm9iZXM6CisgICAgICAgICAg
IGEuIENhbm5vdCBhc3N1bWUgdGhhdCB0aGUgc3RhY2sgcG9pbnRlciBpcyBhbHJlYWR5IGFsaWdu
ZWQgd2hlbgorICAgICAgICAgICAgICB3ZSBwdXNoIGFyZ3MgZm9yIHRoZSBwcm9iZS4gSW5zdGVh
ZCwgd2UgZW5zdXJlIHRoZSBzdGFjaworICAgICAgICAgICAgICBhbGlnbm1lbnQgYXQgcnVudGlt
ZSB3aGVuIHdlIHNldCB1cCB0aGUgcHJvYmUgY2FsbC4KKyAgICAgICAgICAgICAgVGhpcyBpcyBu
b3cgZG9uZSBpbiB0aGUgY3RpTWFzbVByb2JlVHJhbXBvbGluZS4KKyAgICAgICAgICAgYi4gT24g
cmV0dXJuLCB0aGUgdXNlciBwcm9iZSBmdW5jdGlvbiBtYXkgaGF2ZSBhbHRlcmVkIHRoZSBzdGFj
aworICAgICAgICAgICAgICBwb2ludGVyIHZhbHVlIHRvIGJlIHJlc3RvcmVkLiBQcmV2aW91c2x5
LCBpZiB0aGUgc3AgcmVzdG9yZSB2YWx1ZQorICAgICAgICAgICAgICBwb2ludHMgdG8gc29tZSBv
ZiB0aGUgb3RoZXIgcmVnaXN0ZXIgcmVzdG9yZSB2YWx1ZXMgaW4gdGhlCisgICAgICAgICAgICAg
IFByb2JlQ29udGV4dCByZWNvcmQsIHdlIHdpbGwgZmFpbCB0byByZXR1cm4gZnJvbSB0aGUgcHJv
YmUgaGF2aW5nCisgICAgICAgICAgICAgIHRob3NlIHVzZXIgc3BlY2lmaWVkIHZhbHVlIGFzIHdl
J3JlIGV4cGVjdGVkIHRvIGRvLgorICAgICAgICAgICAgICBUaGlzIGlzIG5vdyBmaXhlZC4KKyAg
ICAgICAgMy4gUmVhcnJhbmdlZCB0aGUgWDg2L1g4Nl82NCByZWdpc3RlcnMgb3JkZXIgdG8gb3Jn
YW5pemUgdGhlbSBsaWtlIGdkYgorICAgICAgICAgICBleHBlY3RzIG9uIFg4Nl82NC4KKyAgICAg
ICAgNC4gV2UgYWxzbyBub3cgcHJlc2VydmUgdGhlIGNvbmRpdGlvbiBjb2RlIHJlZ2lzdGVycy4K
KworICAgICAgICAqIEphdmFTY3JpcHRDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2o6Cisg
ICAgICAgICogYXNzZW1ibGVyL0FSTUFzc2VtYmxlci5oOgorICAgICAgICAqIGFzc2VtYmxlci9B
Uk12N0Fzc2VtYmxlci5oOgorICAgICAgICAoQVJNUmVnaXN0ZXJzKToKKyAgICAgICAgKiBhc3Nl
bWJsZXIvTWFjcm9Bc3NlbWJsZXJBUk0uY3BwOgorICAgICAgICAoSlNDOjppc1ZGUFByZXNlbnQp
OgorICAgICAgICAoSlNDOjpNYWNyb0Fzc2VtYmxlckFSTTo6UHJvYmVDb250ZXh0OjpkdW1wQ1BV
UmVnaXN0ZXJzKToKKyAgICAgICAgKEpTQzo6TWFjcm9Bc3NlbWJsZXJBUk06OlByb2JlQ29udGV4
dDo6ZHVtcCk6CisgICAgICAgIChKU0M6Ok1hY3JvQXNzZW1ibGVyQVJNOjpwcm9iZSk6CisgICAg
ICAgICogYXNzZW1ibGVyL01hY3JvQXNzZW1ibGVyQVJNLmg6CisgICAgICAgIChNYWNyb0Fzc2Vt
YmxlckFSTSk6CisgICAgICAgIChDUFVTdGF0ZSk6CisgICAgICAgIChQcm9iZUNvbnRleHQpOgor
ICAgICAgICAoSlNDOjpNYWNyb0Fzc2VtYmxlckFSTTo6dHJ1c3RlZEltbTMyRnJvbVB0cik6Cisg
ICAgICAgICogYXNzZW1ibGVyL01hY3JvQXNzZW1ibGVyQVJNdjcuaDoKKyAgICAgICAgKE1hY3Jv
QXNzZW1ibGVyQVJNdjcpOgorICAgICAgICAoQ1BVU3RhdGUpOgorICAgICAgICAoUHJvYmVDb250
ZXh0KToKKyAgICAgICAgKEpTQzo6TWFjcm9Bc3NlbWJsZXJBUk12Nzo6dHJ1c3RlZEltbTMyRnJv
bVB0cik6CisgICAgICAgICogYXNzZW1ibGVyL01hY3JvQXNzZW1ibGVyWDg2Lmg6CisgICAgICAg
IChNYWNyb0Fzc2VtYmxlclg4Nik6CisgICAgICAgIChKU0M6Ok1hY3JvQXNzZW1ibGVyWDg2Ojpw
cm9iZSk6CisgICAgICAgICogYXNzZW1ibGVyL01hY3JvQXNzZW1ibGVyWDg2Q29tbW9uLmNwcDoK
KyAgICAgICAgKEpTQzo6TWFjcm9Bc3NlbWJsZXJYODZDb21tb246OlByb2JlQ29udGV4dDo6ZHVt
cENQVVJlZ2lzdGVycyk6CisgICAgICAgICogYXNzZW1ibGVyL01hY3JvQXNzZW1ibGVyWDg2XzY0
Lmg6CisgICAgICAgIChKU0M6Ok1hY3JvQXNzZW1ibGVyWDg2XzY0Ojpwcm9iZSk6CisgICAgICAg
ICogYXNzZW1ibGVyL1g4NkFzc2VtYmxlci5oOgorICAgICAgICAqIGNvbmZpZy5oOgorICAgICAg
ICAqIGppdC9KSVRTdHVic0FSTS5oOgorICAgICAgICAqIGppdC9KSVRTdHVic0FSTXY3Lmg6Cisg
ICAgICAgICogaml0L0pJVFN0dWJzWDg2Lmg6CisgICAgICAgICogaml0L0pJVFN0dWJzWDg2Q29t
bW9uLmg6CisgICAgICAgICogaml0L0pJVFN0dWJzWDg2XzY0Lmg6CisKIDIwMTMtMDUtMjggIEZp
bGlwIFBpemxvICA8ZnBpemxvQGFwcGxlLmNvbT4KIAogICAgICAgICBmb3VydGhUaWVyOiBGVEwg
c2hvdWxkIHN1cHBvcnQgQXJpdGhNaW4vQXJpdGhNYXgKQEAgLTE0NTQsNiArMTUxMiwxMCBAQAog
CiAgICAgICAgIFJldmlld2VkIGJ5IEdlb2ZmcmV5IEdhcmVuLgogCisgICAgICAgIEVkaXQ6IEZv
ciBDKysgY29kZSwgeW91IGNhbiBkbyBkZWJ1Z2dpbmcgYnkgYWRkaW5nIHByaW50ZnMgdG8geW91
cgorICAgICAgICBjb2RlLiBGb3IgSklUIGdlbmVyYXRlZCBjb2RlLCB5b3UgY2FuIG5vdyBkbyB0
aGUgZXF1aXZhbGVudCBieQorICAgICAgICBpbnNlcnRpbmcgYSBwcm9iZSBhbmQgaGF2ZSBpdCBl
bWl0IGEgY2FsbCB0byB5b3VyIHByb2JlIGZ1bmN0aW9uLgorCiAgICAgICAgIFRoZSBwcm9iZSBp
cyBpbiB0aGUgZm9ybSBvZiBhIE1hY3JvQXNzZW1ibGVyIHBzZXVkbyBpbnN0cnVjdGlvbi4KICAg
ICAgICAgSXQgdGFrZXMgMyBhcmd1bWVudHM6IGEgUHJvYmVGdW5jdGlvbiwgYW5kIDIgdm9pZCog
YXJncy4KIApJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL0phdmFTY3JpcHRDb3JlLnhjb2Rl
cHJvai9wcm9qZWN0LnBieHByb2oKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3Jl
L0phdmFTY3JpcHRDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oJKHJldmlzaW9uIDE1MDgy
NykKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9KYXZhU2NyaXB0Q29yZS54Y29kZXByb2ovcHJv
amVjdC5wYnhwcm9qCSh3b3JraW5nIGNvcHkpCkBAIC05NTksNiArOTU5LDcgQEAKIAkJRkU5NDAz
MjIxNzQ0NDI1OTAwNDdDRjZFIC8qIEpJVFN0dWJzWDg2Q29tbW9uLmggaW4gSGVhZGVycyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBGRTk0MDMyMTE3NDQ0MjU5MDA0N0NGNkUg
LyogSklUU3R1YnNYODZDb21tb24uaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2
YXRlLCApOyB9OyB9OwogCQlGRUNFNzQ1NzE3NDU0NTY1MDBGRjkzMDAgLyogTWFjcm9Bc3NlbWJs
ZXJYODZDb21tb24uY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxl
UmVmID0gRkVDRTc0NTYxNzQ1NDU2NTAwRkY5MzAwIC8qIE1hY3JvQXNzZW1ibGVyWDg2Q29tbW9u
LmNwcCAqLzsgfTsKIAkJRkVEMjg3QjIxNUVDOUE1NzAwREE4MTYxIC8qIExMSW50T3Bjb2RlLmgg
aW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBGRUQyODdCMTE1
RUM5QTU3MDBEQTgxNjEgLyogTExJbnRPcGNvZGUuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRF
UyA9IChQcml2YXRlLCApOyB9OyB9OworCQlGRUUzMTQ3RDE3NEFBQ0FGMDAxM0JDQUMgLyogTWFj
cm9Bc3NlbWJsZXJBUk12Ny5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSBGRUUzMTQ3QzE3NEFBQ0FGMDAxM0JDQUMgLyogTWFjcm9Bc3NlbWJsZXJBUk12
Ny5jcHAgKi87IH07CiAJCUZFRjY4MzVFMTc0MzQzQ0MwMEEzMkUyNSAvKiBKSVRTdHVic0FSTS5o
IGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRkVGNjgzNUEx
NzQzNDNDQzAwQTMyRTI1IC8qIEpJVFN0dWJzQVJNLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVU
RVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJRkVGNjgzNUYxNzQzNDNDQzAwQTMyRTI1IC8qIEpJ
VFN0dWJzQVJNdjcuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IEZFRjY4MzVCMTc0MzQzQ0MwMEEzMkUyNSAvKiBKSVRTdHVic0FSTXY3LmggKi87IHNldHRp
bmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJRkVGNjgzNjAxNzQzNDND
QzAwQTMyRTI1IC8qIEpJVFN0dWJzWDg2XzY0LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSBGRUY2ODM1QzE3NDM0M0NDMDBBMzJFMjUgLyogSklUU3R1YnNY
ODZfNjQuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwpA
QCAtMTk5Myw2ICsxOTk0LDcgQEAKIAkJRkU5NDAzMjExNzQ0NDI1OTAwNDdDRjZFIC8qIEpJVFN0
dWJzWDg2Q29tbW9uLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5n
ID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEpJVFN0dWJz
WDg2Q29tbW9uLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUZFQ0U3NDU2MTc0NTQ1
NjUwMEZGOTMwMCAvKiBNYWNyb0Fzc2VtYmxlclg4NkNvbW1vbi5jcHAgKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3Vy
Y2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBNYWNyb0Fzc2VtYmxlclg4NkNvbW1vbi5jcHA7IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUZFRDI4N0IxMTVFQzlBNTcwMERBODE2MSAvKiBMTElu
dE9wY29kZS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IG5hbWUgPSBMTEludE9wY29kZS5o
OyBwYXRoID0gbGxpbnQvTExJbnRPcGNvZGUuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
KwkJRkVFMzE0N0MxNzRBQUNBRjAwMTNCQ0FDIC8qIE1hY3JvQXNzZW1ibGVyQVJNdjcuY3BwICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZp
bGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gTWFjcm9Bc3NlbWJsZXJBUk12Ny5j
cHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUZFRjY4MzVBMTc0MzQzQ0MwMEEzMkUy
NSAvKiBKSVRTdHVic0FSTS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNv
ZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBKSVRT
dHVic0FSTS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlGRUY2ODM1QjE3NDM0M0ND
MDBBMzJFMjUgLyogSklUU3R1YnNBUk12Ny5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBh
dGggPSBKSVRTdHVic0FSTXY3Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUZFRjY4
MzVDMTc0MzQzQ0MwMEEzMkUyNSAvKiBKSVRTdHVic1g4Nl82NC5oICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jLmg7IHBhdGggPSBKSVRTdHVic1g4Nl82NC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4i
OyB9OwpAQCAtMzEyMiw2ICszMTI0LDcgQEAKIAkJCQk4NkMzNkVFOTBFRTEyODlEMDBCM0RGNTkg
LyogTWFjcm9Bc3NlbWJsZXIuaCAqLywKIAkJCQk4NkM1NjhERDExQTIxM0VFMDAwN0Y3RjAgLyog
TWFjcm9Bc3NlbWJsZXJBUk0uY3BwICovLAogCQkJCTg2RDNCMkMyMTAxNTZCREUwMDI4NjVFNyAv
KiBNYWNyb0Fzc2VtYmxlckFSTS5oICovLAorCQkJCUZFRTMxNDdDMTc0QUFDQUYwMDEzQkNBQyAv
KiBNYWNyb0Fzc2VtYmxlckFSTXY3LmNwcCAqLywKIAkJCQk4NkFERDE0NDBGRERFQTk4MDAwNkVF
QzIgLyogTWFjcm9Bc3NlbWJsZXJBUk12Ny5oICovLAogCQkJCTg2M0IyM0RGMEZDNjBFNjIwMDcw
M0FBNCAvKiBNYWNyb0Fzc2VtYmxlckNvZGVSZWYuaCAqLywKIAkJCQk4NkM1NjhERTExQTIxM0VF
MDAwN0Y3RjAgLyogTWFjcm9Bc3NlbWJsZXJNSVBTLmggKi8sCkBAIC00NDMxLDYgKzQ0MzQsNyBA
QAogCQkJCTBGRjQyNzREMTU4RUJGRTYwMDRDQjlGRiAvKiB1ZGlzODZfaXRhYl9ob2xkZXIuYyBp
biBTb3VyY2VzICovLAogCQkJCTBGRjQyNzQ1MTU4RUJFOTEwMDRDQjlGRiAvKiB1ZGlzODZfc3lu
LWF0dC5jIGluIFNvdXJjZXMgKi8sCiAJCQkJMEZGNDI3NDYxNThFQkU5MTAwNENCOUZGIC8qIHVk
aXM4Nl9zeW4taW50ZWwuYyBpbiBTb3VyY2VzICovLAorCQkJCUZFRTMxNDdEMTc0QUFDQUYwMDEz
QkNBQyAvKiBNYWNyb0Fzc2VtYmxlckFSTXY3LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTBGRjQy
NzQ3MTU4RUJFOTEwMDRDQjlGRiAvKiB1ZGlzODZfc3luLmMgaW4gU291cmNlcyAqLywKIAkJCQkw
RkY0MjczMjE1OEVCRDU4MDA0Q0I5RkYgLyogVURpczg2RGlzYXNzZW1ibGVyLmNwcCBpbiBTb3Vy
Y2VzICovLAogCQkJCUE3NkYyNzk0MTVGMTNDOTYwMDUxN0Q2NyAvKiBVbmxpbmtlZENvZGVCbG9j
ay5jcHAgaW4gU291cmNlcyAqLywKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9hc3NlbWJs
ZXIvQVJNQXNzZW1ibGVyLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2Fz
c2VtYmxlci9BUk1Bc3NlbWJsZXIuaAkocmV2aXNpb24gMTUwODI3KQorKysgU291cmNlL0phdmFT
Y3JpcHRDb3JlL2Fzc2VtYmxlci9BUk1Bc3NlbWJsZXIuaAkod29ya2luZyBjb3B5KQpAQCAtNTAs
NyArNTAsNyBAQCBuYW1lc3BhY2UgSlNDIHsKICAgICAgICAgICAgIHI5LAogICAgICAgICAgICAg
cjEwLAogICAgICAgICAgICAgcjExLAotICAgICAgICAgICAgcjEyLCBTMSA9IHIxMiwKKyAgICAg
ICAgICAgIHIxMiwgaXAgPSByMTIsIFMxID0gcjEyLAogICAgICAgICAgICAgcjEzLCBzcCA9IHIx
MywKICAgICAgICAgICAgIHIxNCwgbHIgPSByMTQsCiAgICAgICAgICAgICByMTUsIHBjID0gcjE1
CkBAIC05MSw2ICs5MSw1MiBAQCBuYW1lc3BhY2UgSlNDIHsKICAgICAgICAgICAgIGQzMQogICAg
ICAgICB9IEZQUmVnaXN0ZXJJRDsKIAorI2lmIFVTRShNQVNNX1BST0JFKQorICAgICNkZWZpbmUg
Rk9SX0VBQ0hfQ1BVX1JFR0lTVEVSKFYpIFwKKyAgICAgICAgRk9SX0VBQ0hfQ1BVX0dQUkVHSVNU
RVIoVikgXAorICAgICAgICBGT1JfRUFDSF9DUFVfU1BFQ0lBTF9SRUdJU1RFUihWKSBcCisgICAg
ICAgIEZPUl9FQUNIX0NQVV9GUFJFR0lTVEVSKFYpCisKKyAgICAjZGVmaW5lIEZPUl9FQUNIX0NQ
VV9HUFJFR0lTVEVSKFYpIFwKKyAgICAgICAgVih2b2lkKiwgcjApIFwKKyAgICAgICAgVih2b2lk
KiwgcjEpIFwKKyAgICAgICAgVih2b2lkKiwgcjIpIFwKKyAgICAgICAgVih2b2lkKiwgcjMpIFwK
KyAgICAgICAgVih2b2lkKiwgcjQpIFwKKyAgICAgICAgVih2b2lkKiwgcjUpIFwKKyAgICAgICAg
Vih2b2lkKiwgcjYpIFwKKyAgICAgICAgVih2b2lkKiwgcjcpIFwKKyAgICAgICAgVih2b2lkKiwg
cjgpIFwKKyAgICAgICAgVih2b2lkKiwgcjkpIFwKKyAgICAgICAgVih2b2lkKiwgcjEwKSBcCisg
ICAgICAgIFYodm9pZCosIHIxMSkgXAorICAgICAgICBWKHZvaWQqLCBpcCkgXAorICAgICAgICBW
KHZvaWQqLCBzcCkgXAorICAgICAgICBWKHZvaWQqLCBscikgXAorICAgICAgICBWKHZvaWQqLCBw
YykKKworICAgICNkZWZpbmUgRk9SX0VBQ0hfQ1BVX1NQRUNJQUxfUkVHSVNURVIoVikgXAorICAg
ICAgICBWKHZvaWQqLCBhcHNyKSBcCisgICAgICAgIFYodm9pZCosIGZwc2NyKSBcCisKKyAgICAj
ZGVmaW5lIEZPUl9FQUNIX0NQVV9GUFJFR0lTVEVSKFYpIFwKKyAgICAgICAgVihkb3VibGUsIGQw
KSBcCisgICAgICAgIFYoZG91YmxlLCBkMSkgXAorICAgICAgICBWKGRvdWJsZSwgZDIpIFwKKyAg
ICAgICAgVihkb3VibGUsIGQzKSBcCisgICAgICAgIFYoZG91YmxlLCBkNCkgXAorICAgICAgICBW
KGRvdWJsZSwgZDUpIFwKKyAgICAgICAgVihkb3VibGUsIGQ2KSBcCisgICAgICAgIFYoZG91Ymxl
LCBkNykgXAorICAgICAgICBWKGRvdWJsZSwgZDgpIFwKKyAgICAgICAgVihkb3VibGUsIGQ5KSBc
CisgICAgICAgIFYoZG91YmxlLCBkMTApIFwKKyAgICAgICAgVihkb3VibGUsIGQxMSkgXAorICAg
ICAgICBWKGRvdWJsZSwgZDEyKSBcCisgICAgICAgIFYoZG91YmxlLCBkMTMpIFwKKyAgICAgICAg
Vihkb3VibGUsIGQxNCkgXAorICAgICAgICBWKGRvdWJsZSwgZDE1KQorI2VuZGlmIC8vIFVTRShN
QVNNX1BST0JFKQogICAgIH0gLy8gbmFtZXNwYWNlIEFSTVJlZ2lzdGVycwogCiAgICAgY2xhc3Mg
QVJNQXNzZW1ibGVyIHsKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9hc3NlbWJsZXIvQVJN
djdBc3NlbWJsZXIuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYXNzZW1i
bGVyL0FSTXY3QXNzZW1ibGVyLmgJKHJldmlzaW9uIDE1MDgyNykKKysrIFNvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9hc3NlbWJsZXIvQVJNdjdBc3NlbWJsZXIuaAkod29ya2luZyBjb3B5KQpAQCAtMTcy
LDYgKzE3Miw3NyBAQCBuYW1lc3BhY2UgQVJNUmVnaXN0ZXJzIHsKICAgICAgICAgQVNTRVJUKCEo
cmVnICYgMSkpOwogICAgICAgICByZXR1cm4gKEZQRG91YmxlUmVnaXN0ZXJJRCkocmVnID4+IDEp
OwogICAgIH0KKworI2lmIFVTRShNQVNNX1BST0JFKQorICAgICNkZWZpbmUgRk9SX0VBQ0hfQ1BV
X1JFR0lTVEVSKFYpIFwKKyAgICAgICAgRk9SX0VBQ0hfQ1BVX0dQUkVHSVNURVIoVikgXAorICAg
ICAgICBGT1JfRUFDSF9DUFVfU1BFQ0lBTF9SRUdJU1RFUihWKSBcCisgICAgICAgIEZPUl9FQUNI
X0NQVV9GUFJFR0lTVEVSKFYpCisKKyAgICAjZGVmaW5lIEZPUl9FQUNIX0NQVV9HUFJFR0lTVEVS
KFYpIFwKKyAgICAgICAgVih2b2lkKiwgcjApIFwKKyAgICAgICAgVih2b2lkKiwgcjEpIFwKKyAg
ICAgICAgVih2b2lkKiwgcjIpIFwKKyAgICAgICAgVih2b2lkKiwgcjMpIFwKKyAgICAgICAgVih2
b2lkKiwgcjQpIFwKKyAgICAgICAgVih2b2lkKiwgcjUpIFwKKyAgICAgICAgVih2b2lkKiwgcjYp
IFwKKyAgICAgICAgVih2b2lkKiwgcjcpIFwKKyAgICAgICAgVih2b2lkKiwgcjgpIFwKKyAgICAg
ICAgVih2b2lkKiwgcjkpIFwKKyAgICAgICAgVih2b2lkKiwgcjEwKSBcCisgICAgICAgIFYodm9p
ZCosIHIxMSkgXAorICAgICAgICBWKHZvaWQqLCBpcCkgXAorICAgICAgICBWKHZvaWQqLCBzcCkg
XAorICAgICAgICBWKHZvaWQqLCBscikgXAorICAgICAgICBWKHZvaWQqLCBwYykKKworICAgICNk
ZWZpbmUgRk9SX0VBQ0hfQ1BVX1NQRUNJQUxfUkVHSVNURVIoVikgXAorICAgICAgICBWKHZvaWQq
LCBhcHNyKSBcCisgICAgICAgIFYodm9pZCosIGZwc2NyKSBcCisKKyAgICAjZGVmaW5lIEZPUl9F
QUNIX0NQVV9GUFJFR0lTVEVSKFYpIFwKKyAgICAgICAgVihkb3VibGUsIGQwKSBcCisgICAgICAg
IFYoZG91YmxlLCBkMSkgXAorICAgICAgICBWKGRvdWJsZSwgZDIpIFwKKyAgICAgICAgVihkb3Vi
bGUsIGQzKSBcCisgICAgICAgIFYoZG91YmxlLCBkNCkgXAorICAgICAgICBWKGRvdWJsZSwgZDUp
IFwKKyAgICAgICAgVihkb3VibGUsIGQ2KSBcCisgICAgICAgIFYoZG91YmxlLCBkNykgXAorICAg
ICAgICBWKGRvdWJsZSwgZDgpIFwKKyAgICAgICAgVihkb3VibGUsIGQ5KSBcCisgICAgICAgIFYo
ZG91YmxlLCBkMTApIFwKKyAgICAgICAgVihkb3VibGUsIGQxMSkgXAorICAgICAgICBWKGRvdWJs
ZSwgZDEyKSBcCisgICAgICAgIFYoZG91YmxlLCBkMTMpIFwKKyAgICAgICAgVihkb3VibGUsIGQx
NCkgXAorICAgICAgICBWKGRvdWJsZSwgZDE1KSBcCisgICAgICAgIEZPUl9FQUNIX0NQVV9GUFJF
R0lTVEVSX0VYVEVOU0lPTihWKQorCisjaWYgQ1BVKEFQUExFX0FSTVY3UykKKyAgICAjZGVmaW5l
IEZPUl9FQUNIX0NQVV9GUFJFR0lTVEVSX0VYVEVOU0lPTihWKSBcCisgICAgICAgIFYoZG91Ymxl
LCBkMTYpIFwKKyAgICAgICAgVihkb3VibGUsIGQxNykgXAorICAgICAgICBWKGRvdWJsZSwgZDE4
KSBcCisgICAgICAgIFYoZG91YmxlLCBkMTkpIFwKKyAgICAgICAgVihkb3VibGUsIGQyMCkgXAor
ICAgICAgICBWKGRvdWJsZSwgZDIxKSBcCisgICAgICAgIFYoZG91YmxlLCBkMjIpIFwKKyAgICAg
ICAgVihkb3VibGUsIGQyMykgXAorICAgICAgICBWKGRvdWJsZSwgZDI0KSBcCisgICAgICAgIFYo
ZG91YmxlLCBkMjUpIFwKKyAgICAgICAgVihkb3VibGUsIGQyNikgXAorICAgICAgICBWKGRvdWJs
ZSwgZDI3KSBcCisgICAgICAgIFYoZG91YmxlLCBkMjgpIFwKKyAgICAgICAgVihkb3VibGUsIGQy
OSkgXAorICAgICAgICBWKGRvdWJsZSwgZDMwKSBcCisgICAgICAgIFYoZG91YmxlLCBkMzEpCisj
ZWxzZQorICAgICNkZWZpbmUgRk9SX0VBQ0hfQ1BVX0ZQUkVHSVNURVJfRVhURU5TSU9OKFYpIC8v
IE5vdGhpbmcgdG8gYWRkLgorI2VuZGlmIC8vIENQVShBUFBMRV9BUk1WN1MpCisKKyNlbmRpZiAv
LyBVU0UoTUFTTV9QUk9CRSkKIH0KIAogY2xhc3MgQVJNdjdBc3NlbWJsZXI7CkluZGV4OiBTb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvYXNzZW1ibGVyL01hY3JvQXNzZW1ibGVyQVJNLmNwcAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYXNzZW1ibGVyL01hY3JvQXNzZW1ibGVyQVJN
LmNwcAkocmV2aXNpb24gMTUwODI3KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL2Fzc2VtYmxl
ci9NYWNyb0Fzc2VtYmxlckFSTS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTEsNCArMSw1IEBACiAv
KgorICogQ29weXJpZ2h0IChDKSAyMDEzIEFwcGxlIEluYy4KICAqIENvcHlyaWdodCAoQykgMjAw
OSBVbml2ZXJzaXR5IG9mIFN6ZWdlZAogICogQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAqCkBAIC0z
MCw2ICszMSwxMCBAQAogCiAjaW5jbHVkZSAiTWFjcm9Bc3NlbWJsZXJBUk0uaCIKIAorI2lmIFVT
RShNQVNNX1BST0JFKQorI2luY2x1ZGUgPHd0Zi9TdGRMaWJFeHRyYXMuaD4KKyNlbmRpZgorCiAj
aWYgT1MoTElOVVgpCiAjaW5jbHVkZSA8c3lzL3R5cGVzLmg+CiAjaW5jbHVkZSA8c3lzL3N0YXQu
aD4KQEAgLTU1LDcgKzYwLDcgQEAgc3RhdGljIGJvb2wgaXNWRlBQcmVzZW50KCkKICAgICAgICAg
fQogICAgICAgICBjbG9zZShmZCk7CiAgICAgfQotI2VuZGlmCisjZW5kaWYgLy8gT1MoTElOVVgp
CiAKICNpZiAoQ09NUElMRVIoUlZDVCkgJiYgZGVmaW5lZChfX1RBUkdFVF9GUFVfVkZQKSkgfHwg
KENPTVBJTEVSKEdDQykgJiYgZGVmaW5lZChfX1ZGUF9GUF9fKSkKICAgICByZXR1cm4gdHJ1ZTsK
QEAgLTkyLDggKzk3LDcyIEBAIHZvaWQgTWFjcm9Bc3NlbWJsZXJBUk06OmxvYWQzMldpdGhVbmFs
aWcKICAgICB9CiAgICAgbV9hc3NlbWJsZXIub3JyKGRlc3QsIGRlc3QsIG1fYXNzZW1ibGVyLmxz
bChBUk1SZWdpc3RlcnM6OlMwLCAxNikpOwogfQotI2VuZGlmCisjZW5kaWYgLy8gQ1BVKEFSTVY1
X09SX0xPV0VSKQorCisjaWYgVVNFKE1BU01fUFJPQkUpCiAKK3ZvaWQgTWFjcm9Bc3NlbWJsZXJB
Uk06OlByb2JlQ29udGV4dDo6ZHVtcENQVVJlZ2lzdGVycyhjb25zdCBjaGFyKiBpbmRlbnRhdGlv
bikKK3sKKyAgICAjZGVmaW5lIERVTVBfR1BSRUdJU1RFUihfdHlwZSwgX3JlZ05hbWUpIHsgXAor
ICAgICAgICBpbnQzMl90IHZhbHVlID0gcmVpbnRlcnByZXRfY2FzdDxpbnQzMl90PihjcHUuX3Jl
Z05hbWUpOyBcCisgICAgICAgIGRhdGFMb2dGKCIlcyAgICAlNXM6IDB4JTA4eCAgICVkXG4iLCBp
bmRlbnRhdGlvbiwgI19yZWdOYW1lLCB2YWx1ZSwgdmFsdWUpIDsgXAorICAgIH0KKyAgICBGT1Jf
RUFDSF9DUFVfR1BSRUdJU1RFUihEVU1QX0dQUkVHSVNURVIpCisgICAgRk9SX0VBQ0hfQ1BVX1NQ
RUNJQUxfUkVHSVNURVIoRFVNUF9HUFJFR0lTVEVSKQorICAgICN1bmRlZiBEVU1QX0dQUkVHSVNU
RVIKKworICAgICNkZWZpbmUgRFVNUF9GUFJFR0lTVEVSKF90eXBlLCBfcmVnTmFtZSkgeyBcCisg
ICAgICAgIHVpbnQzMl90KiB1ID0gcmVpbnRlcnByZXRfY2FzdDx1aW50MzJfdCo+KCZjcHUuX3Jl
Z05hbWUpOyBcCisgICAgICAgIGRvdWJsZSogZCA9IHJlaW50ZXJwcmV0X2Nhc3Q8ZG91YmxlKj4o
JmNwdS5fcmVnTmFtZSk7IFwKKyAgICAgICAgZGF0YUxvZ0YoIiVzICAgICU1czogMHggJTA4eCAl
MDh4ICAgJTEyZ1xuIiwgXAorICAgICAgICAgICAgaW5kZW50YXRpb24sICNfcmVnTmFtZSwgdVsx
XSwgdVswXSwgZFswXSk7IFwKKyAgICB9CisgICAgRk9SX0VBQ0hfQ1BVX0ZQUkVHSVNURVIoRFVN
UF9GUFJFR0lTVEVSKQorICAgICN1bmRlZiBEVU1QX0ZQUkVHSVNURVIKIH0KIAordm9pZCBNYWNy
b0Fzc2VtYmxlckFSTTo6UHJvYmVDb250ZXh0OjpkdW1wKGNvbnN0IGNoYXIqIGluZGVudGF0aW9u
KQoreworICAgIGlmICghaW5kZW50YXRpb24pCisgICAgICAgIGluZGVudGF0aW9uID0gIiI7CisK
KyAgICBkYXRhTG9nRigiJXNQcm9iZUNvbnRleHQgJXAge1xuIiwgaW5kZW50YXRpb24sIHRoaXMp
OworICAgIGRhdGFMb2dGKCIlcyAgcHJvYmVGdW5jdGlvbjogJXBcbiIsIGluZGVudGF0aW9uLCBw
cm9iZUZ1bmN0aW9uKTsKKyAgICBkYXRhTG9nRigiJXMgIGFyZzE6ICVwICVsbHVcbiIsIGluZGVu
dGF0aW9uLCBhcmcxLCByZWludGVycHJldF9jYXN0PGludDY0X3Q+KGFyZzEpKTsKKyAgICBkYXRh
TG9nRigiJXMgIGFyZzI6ICVwICVsbHVcbiIsIGluZGVudGF0aW9uLCBhcmcyLCByZWludGVycHJl
dF9jYXN0PGludDY0X3Q+KGFyZzIpKTsKKyAgICBkYXRhTG9nRigiJXMgIGppdFN0YWNrRnJhbWU6
ICVwXG4iLCBpbmRlbnRhdGlvbiwgaml0U3RhY2tGcmFtZSk7CisgICAgZGF0YUxvZ0YoIiVzICBj
cHU6IHtcbiIsIGluZGVudGF0aW9uKTsKKworICAgIGR1bXBDUFVSZWdpc3RlcnMoaW5kZW50YXRp
b24pOworCisgICAgZGF0YUxvZ0YoIiVzICB9XG4iLCBpbmRlbnRhdGlvbik7CisgICAgZGF0YUxv
Z0YoIiVzfVxuIiwgaW5kZW50YXRpb24pOworfQorCisKK2V4dGVybiAiQyIgdm9pZCBjdGlNYXNt
UHJvYmVUcmFtcG9saW5lKCk7CisKKy8vIEZvciBkZXRhaWxzIG9uICJXaGF0IGNvZGUgaXMgZW1p
dHRlZCBmb3IgdGhlIHByb2JlPyIgYW5kICJXaGF0IHZhbHVlcyBhcmUgaW4KKy8vIHRoZSBzYXZl
ZCByZWdpc3RlcnM/Iiwgc2VlIGNvbW1lbnQgZm9yIE1hY3JvQXNzZW1ibGVyWDg2Ojpwcm9iZSgp
IGluCisvLyBNYWNyb0Fzc2VtYmxlclg4Nl82NC5oLgorCit2b2lkIE1hY3JvQXNzZW1ibGVyQVJN
Ojpwcm9iZShNYWNyb0Fzc2VtYmxlckFSTTo6UHJvYmVGdW5jdGlvbiBmdW5jdGlvbiwgdm9pZCog
YXJnMSwgdm9pZCogYXJnMikKK3sKKyAgICBwdXNoKFJlZ2lzdGVySUQ6OnNwKTsKKyAgICBwdXNo
KFJlZ2lzdGVySUQ6OmxyKTsKKyAgICBwdXNoKFJlZ2lzdGVySUQ6OmlwKTsKKyAgICBwdXNoKFJl
Z2lzdGVySUQ6OlMwKTsKKyAgICAvLyBUaGUgZm9sbG93aW5nIHVzZXMgUmVnaXN0ZXJJRDo6UzAu
IFNvLCB0aGV5IG11c3QgY29tZSBhZnRlciB3ZSBwdXNoIFMwIGFib3ZlLgorICAgIHB1c2godHJ1
c3RlZEltbTMyRnJvbVB0cihhcmcyKSk7CisgICAgcHVzaCh0cnVzdGVkSW1tMzJGcm9tUHRyKGFy
ZzEpKTsKKyAgICBwdXNoKHRydXN0ZWRJbW0zMkZyb21QdHIoZnVuY3Rpb24pKTsKKworICAgIG1v
dmUodHJ1c3RlZEltbTMyRnJvbVB0cihjdGlNYXNtUHJvYmVUcmFtcG9saW5lKSwgUmVnaXN0ZXJJ
RDo6UzApOworICAgIG1fYXNzZW1ibGVyLmJseChSZWdpc3RlcklEOjpTMCk7CisKK30KKyNlbmRp
ZiAvLyBVU0UoTUFTTV9QUk9CRSkKKworfSAvLyBuYW1lc3BhY2UgSlNDCisKICNlbmRpZiAvLyBF
TkFCTEUoQVNTRU1CTEVSKSAmJiBDUFUoQVJNX1RSQURJVElPTkFMKQpJbmRleDogU291cmNlL0ph
dmFTY3JpcHRDb3JlL2Fzc2VtYmxlci9NYWNyb0Fzc2VtYmxlckFSTS5oCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9hc3NlbWJsZXIvTWFjcm9Bc3NlbWJsZXJBUk0uaAkocmV2
aXNpb24gMTUwODI3KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL2Fzc2VtYmxlci9NYWNyb0Fz
c2VtYmxlckFSTS5oCSh3b3JraW5nIGNvcHkpCkBAIC0xLDUgKzEsNSBAQAogLyoKLSAqIENvcHly
aWdodCAoQykgMjAwOCBBcHBsZSBJbmMuCisgKiBDb3B5cmlnaHQgKEMpIDIwMDgsIDIwMTMgQXBw
bGUgSW5jLgogICogQ29weXJpZ2h0IChDKSAyMDA5LCAyMDEwIFVuaXZlcnNpdHkgb2YgU3plZ2Vk
CiAgKiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICoKQEAgLTM1LDYgKzM1LDggQEAKIAogbmFtZXNw
YWNlIEpTQyB7CiAKK3N0cnVjdCBKSVRTdGFja0ZyYW1lOworCiBjbGFzcyBNYWNyb0Fzc2VtYmxl
ckFSTSA6IHB1YmxpYyBBYnN0cmFjdE1hY3JvQXNzZW1ibGVyPEFSTUFzc2VtYmxlcj4gewogICAg
IHN0YXRpYyBjb25zdCBpbnQgRG91YmxlQ29uZGl0aW9uTWFzayA9IDB4MGY7CiAgICAgc3RhdGlj
IGNvbnN0IGludCBEb3VibGVDb25kaXRpb25CaXRTcGVjaWFsID0gMHgxMDsKQEAgLTEzMjUsNiAr
MTMyNywzMyBAQCBwdWJsaWM6CiAgICAgICAgIFVOUkVBQ0hBQkxFX0ZPUl9QTEFURk9STSgpOwog
ICAgIH0KIAorI2lmIFVTRShNQVNNX1BST0JFKQorICAgIHN0cnVjdCBDUFVTdGF0ZSB7CisgICAg
ICAgICNkZWZpbmUgREVDTEFSRV9SRUdJU1RFUihfdHlwZSwgX3JlZ05hbWUpIFwKKyAgICAgICAg
ICAgIF90eXBlIF9yZWdOYW1lOworICAgICAgICBGT1JfRUFDSF9DUFVfUkVHSVNURVIoREVDTEFS
RV9SRUdJU1RFUikKKyAgICAgICAgI3VuZGVmIERFQ0xBUkVfUkVHSVNURVIKKyAgICB9OworCisg
ICAgc3RydWN0IFByb2JlQ29udGV4dDsKKyAgICB0eXBlZGVmIHZvaWQgKCpQcm9iZUZ1bmN0aW9u
KShzdHJ1Y3QgUHJvYmVDb250ZXh0Kik7CisKKyAgICBzdHJ1Y3QgUHJvYmVDb250ZXh0IHsKKyAg
ICAgICAgUHJvYmVGdW5jdGlvbiBwcm9iZUZ1bmN0aW9uOworICAgICAgICB2b2lkKiBhcmcxOwor
ICAgICAgICB2b2lkKiBhcmcyOworICAgICAgICBKSVRTdGFja0ZyYW1lKiBqaXRTdGFja0ZyYW1l
OworICAgICAgICBDUFVTdGF0ZSBjcHU7CisKKyAgICAgICAgdm9pZCBkdW1wKGNvbnN0IGNoYXIq
IGluZGVudGF0aW9uID0gMCk7CisgICAgcHJpdmF0ZToKKyAgICAgICAgdm9pZCBkdW1wQ1BVUmVn
aXN0ZXJzKGNvbnN0IGNoYXIqIGluZGVudGF0aW9uKTsKKyAgICB9OworCisgICAgLy8gRm9yIGRl
dGFpbHMgYWJvdXQgcHJvYmUoKSwgc2VlIGNvbW1lbnQgaW4gTWFjcm9Bc3NlbWJsZXJYODZfNjQu
aC4KKyAgICB2b2lkIHByb2JlKFByb2JlRnVuY3Rpb24sIHZvaWQqIGFyZzEgPSAwLCB2b2lkKiBh
cmcyID0gMCk7CisjZW5kaWYgLy8gVVNFKE1BU01fUFJPQkUpCisKIHByb3RlY3RlZDoKICAgICBB
Uk1Bc3NlbWJsZXI6OkNvbmRpdGlvbiBBUk1Db25kaXRpb24oUmVsYXRpb25hbENvbmRpdGlvbiBj
b25kKQogICAgIHsKQEAgLTEzODAsNiArMTQwOSwyMyBAQCBwcml2YXRlOgogICAgICAgICBBUk1B
c3NlbWJsZXI6OnJlbGlua0NhbGwoY2FsbC5kYXRhTG9jYXRpb24oKSwgZGVzdGluYXRpb24uZXhl
Y3V0YWJsZUFkZHJlc3MoKSk7CiAgICAgfQogCisjaWYgVVNFKE1BU01fUFJPQkUpCisgICAgaW5s
aW5lIFRydXN0ZWRJbW0zMiB0cnVzdGVkSW1tMzJGcm9tUHRyKHZvaWQqIHB0cikKKyAgICB7Cisg
ICAgICAgIHJldHVybiBUcnVzdGVkSW1tMzIoVHJ1c3RlZEltbVB0cihwdHIpKTsKKyAgICB9CisK
KyAgICBpbmxpbmUgVHJ1c3RlZEltbTMyIHRydXN0ZWRJbW0zMkZyb21QdHIoUHJvYmVGdW5jdGlv
biBmdW5jdGlvbikKKyAgICB7CisgICAgICAgIHJldHVybiBUcnVzdGVkSW1tMzIoVHJ1c3RlZElt
bVB0cihyZWludGVycHJldF9jYXN0PHZvaWQqPihmdW5jdGlvbikpKTsKKyAgICB9CisKKyAgICBp
bmxpbmUgVHJ1c3RlZEltbTMyIHRydXN0ZWRJbW0zMkZyb21QdHIodm9pZCAoKmZ1bmN0aW9uKSgp
KQorICAgIHsKKyAgICAgICAgcmV0dXJuIFRydXN0ZWRJbW0zMihUcnVzdGVkSW1tUHRyKHJlaW50
ZXJwcmV0X2Nhc3Q8dm9pZCo+KGZ1bmN0aW9uKSkpOworICAgIH0KKyNlbmRpZgorCiAgICAgc3Rh
dGljIGNvbnN0IGJvb2wgc19pc1ZGUFByZXNlbnQ7CiB9OwogCkluZGV4OiBTb3VyY2UvSmF2YVNj
cmlwdENvcmUvYXNzZW1ibGVyL01hY3JvQXNzZW1ibGVyQVJNdjcuY3BwCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9hc3NlbWJsZXIvTWFjcm9Bc3NlbWJsZXJBUk12Ny5jcHAJ
KHJldmlzaW9uIDApCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYXNzZW1ibGVyL01hY3JvQXNz
ZW1ibGVyQVJNdjcuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsMTAzIEBACisvKgorICog
Q29weXJpZ2h0IChDKSAyMDEzIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisg
KiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRo
IG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0
IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0
aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAg
ICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2Ns
YWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1
Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0
aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRh
dGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlv
bi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gYGBBUyBJ
UycnIEFORCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcs
IEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCisgKiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hB
TlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJ
U0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SCisgKiBDT05UUklCVVRP
UlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lB
TCwKKyAqIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJV
VCBOT1QgTElNSVRFRCBUTywKKyAqIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1Ig
U0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUgorICogUFJPRklUUzsgT1IgQlVTSU5FU1Mg
SU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWQorICogT0YgTElB
QklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisg
KiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkg
T1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBU
SEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIAorICovCisKKyNpbmNsdWRlICJjb25maWcu
aCIKKworI2lmIEVOQUJMRShBU1NFTUJMRVIpICYmIENQVShBUk1fVEhVTUIyKQorI2luY2x1ZGUg
Ik1hY3JvQXNzZW1ibGVyQVJNdjcuaCIKKworI2lmIFVTRShNQVNNX1BST0JFKQorI2luY2x1ZGUg
PHd0Zi9TdGRMaWJFeHRyYXMuaD4KKyNlbmRpZgorCituYW1lc3BhY2UgSlNDIHsKKworI2lmIFVT
RShNQVNNX1BST0JFKQorCit2b2lkIE1hY3JvQXNzZW1ibGVyQVJNdjc6OlByb2JlQ29udGV4dDo6
ZHVtcENQVVJlZ2lzdGVycyhjb25zdCBjaGFyKiBpbmRlbnRhdGlvbikKK3sKKyAgICAjZGVmaW5l
IERVTVBfR1BSRUdJU1RFUihfdHlwZSwgX3JlZ05hbWUpIHsgXAorICAgICAgICBpbnQzMl90IHZh
bHVlID0gcmVpbnRlcnByZXRfY2FzdDxpbnQzMl90PihjcHUuX3JlZ05hbWUpOyBcCisgICAgICAg
IGRhdGFMb2dGKCIlcyAgICAlNXM6IDB4JTA4eCAgICVkXG4iLCBpbmRlbnRhdGlvbiwgI19yZWdO
YW1lLCB2YWx1ZSwgdmFsdWUpIDsgXAorICAgIH0KKyAgICBGT1JfRUFDSF9DUFVfR1BSRUdJU1RF
UihEVU1QX0dQUkVHSVNURVIpCisgICAgRk9SX0VBQ0hfQ1BVX1NQRUNJQUxfUkVHSVNURVIoRFVN
UF9HUFJFR0lTVEVSKQorICAgICN1bmRlZiBEVU1QX0dQUkVHSVNURVIKKworICAgICNkZWZpbmUg
RFVNUF9GUFJFR0lTVEVSKF90eXBlLCBfcmVnTmFtZSkgeyBcCisgICAgICAgIHVpbnQzMl90KiB1
ID0gcmVpbnRlcnByZXRfY2FzdDx1aW50MzJfdCo+KCZjcHUuX3JlZ05hbWUpOyBcCisgICAgICAg
IGRvdWJsZSogZCA9IHJlaW50ZXJwcmV0X2Nhc3Q8ZG91YmxlKj4oJmNwdS5fcmVnTmFtZSk7IFwK
KyAgICAgICAgZGF0YUxvZ0YoIiVzICAgICU1czogMHggJTA4eCAlMDh4ICAgJTEyZ1xuIiwgXAor
ICAgICAgICAgICAgaW5kZW50YXRpb24sICNfcmVnTmFtZSwgdVsxXSwgdVswXSwgZFswXSk7IFwK
KyAgICB9CisgICAgRk9SX0VBQ0hfQ1BVX0ZQUkVHSVNURVIoRFVNUF9GUFJFR0lTVEVSKQorICAg
ICN1bmRlZiBEVU1QX0ZQUkVHSVNURVIKK30KKwordm9pZCBNYWNyb0Fzc2VtYmxlckFSTXY3OjpQ
cm9iZUNvbnRleHQ6OmR1bXAoY29uc3QgY2hhciogaW5kZW50YXRpb24pCit7CisgICAgaWYgKCFp
bmRlbnRhdGlvbikKKyAgICAgICAgaW5kZW50YXRpb24gPSAiIjsKKworICAgIGRhdGFMb2dGKCIl
c1Byb2JlQ29udGV4dCAlcCB7XG4iLCBpbmRlbnRhdGlvbiwgdGhpcyk7CisgICAgZGF0YUxvZ0Yo
IiVzICBwcm9iZUZ1bmN0aW9uOiAlcFxuIiwgaW5kZW50YXRpb24sIHByb2JlRnVuY3Rpb24pOwor
ICAgIGRhdGFMb2dGKCIlcyAgYXJnMTogJXAgJWxsdVxuIiwgaW5kZW50YXRpb24sIGFyZzEsIHJl
aW50ZXJwcmV0X2Nhc3Q8aW50NjRfdD4oYXJnMSkpOworICAgIGRhdGFMb2dGKCIlcyAgYXJnMjog
JXAgJWxsdVxuIiwgaW5kZW50YXRpb24sIGFyZzIsIHJlaW50ZXJwcmV0X2Nhc3Q8aW50NjRfdD4o
YXJnMikpOworICAgIGRhdGFMb2dGKCIlcyAgaml0U3RhY2tGcmFtZTogJXBcbiIsIGluZGVudGF0
aW9uLCBqaXRTdGFja0ZyYW1lKTsKKyAgICBkYXRhTG9nRigiJXMgIGNwdToge1xuIiwgaW5kZW50
YXRpb24pOworCisgICAgZHVtcENQVVJlZ2lzdGVycyhpbmRlbnRhdGlvbik7CisKKyAgICBkYXRh
TG9nRigiJXMgIH1cbiIsIGluZGVudGF0aW9uKTsKKyAgICBkYXRhTG9nRigiJXN9XG4iLCBpbmRl
bnRhdGlvbik7Cit9CisKKworZXh0ZXJuICJDIiB2b2lkIGN0aU1hc21Qcm9iZVRyYW1wb2xpbmUo
KTsKKworLy8gRm9yIGRldGFpbHMgb24gIldoYXQgY29kZSBpcyBlbWl0dGVkIGZvciB0aGUgcHJv
YmU/IiBhbmQgIldoYXQgdmFsdWVzIGFyZSBpbgorLy8gdGhlIHNhdmVkIHJlZ2lzdGVycz8iLCBz
ZWUgY29tbWVudCBmb3IgTWFjcm9Bc3NlbWJsZXJYODY6OnByb2JlKCkgaW4KKy8vIE1hY3JvQXNz
ZW1ibGVyWDg2XzY0LmguCisKK3ZvaWQgTWFjcm9Bc3NlbWJsZXJBUk12Nzo6cHJvYmUoTWFjcm9B
c3NlbWJsZXJBUk12Nzo6UHJvYmVGdW5jdGlvbiBmdW5jdGlvbiwgdm9pZCogYXJnMSwgdm9pZCog
YXJnMikKK3sKKyAgICBwdXNoKFJlZ2lzdGVySUQ6OnNwKTsKKyAgICBwdXNoKFJlZ2lzdGVySUQ6
OmxyKTsKKyAgICBwdXNoKFJlZ2lzdGVySUQ6OmlwKTsKKyAgICBwdXNoKFJlZ2lzdGVySUQ6OnIw
KTsKKyAgICAvLyBUaGUgZm9sbG93aW5nIHVzZXMgUmVnaXN0ZXJJRDo6aXAuIFNvLCB0aGV5IG11
c3QgY29tZSBhZnRlciB3ZSBwdXNoIGlwIGFib3ZlLgorICAgIHB1c2godHJ1c3RlZEltbTMyRnJv
bVB0cihhcmcyKSk7CisgICAgcHVzaCh0cnVzdGVkSW1tMzJGcm9tUHRyKGFyZzEpKTsKKyAgICBw
dXNoKHRydXN0ZWRJbW0zMkZyb21QdHIoZnVuY3Rpb24pKTsKKworICAgIG1vdmUodHJ1c3RlZElt
bTMyRnJvbVB0cihjdGlNYXNtUHJvYmVUcmFtcG9saW5lKSwgUmVnaXN0ZXJJRDo6aXApOworICAg
IG1fYXNzZW1ibGVyLmJseChSZWdpc3RlcklEOjppcCk7Cit9CisjZW5kaWYgLy8gVVNFKE1BU01f
UFJPQkUpCisKK30gLy8gbmFtZXNwYWNlIEpTQworCisjZW5kaWYgLy8gRU5BQkxFKEFTU0VNQkxF
UikKKwpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL2Fzc2VtYmxlci9NYWNyb0Fzc2VtYmxl
ckFSTXY3LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2Fzc2VtYmxlci9N
YWNyb0Fzc2VtYmxlckFSTXY3LmgJKHJldmlzaW9uIDE1MDgyNykKKysrIFNvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9hc3NlbWJsZXIvTWFjcm9Bc3NlbWJsZXJBUk12Ny5oCSh3b3JraW5nIGNvcHkpCkBA
IC0zNCw2ICszNCw4IEBACiAKIG5hbWVzcGFjZSBKU0MgewogCitzdHJ1Y3QgSklUU3RhY2tGcmFt
ZTsKKwogY2xhc3MgTWFjcm9Bc3NlbWJsZXJBUk12NyA6IHB1YmxpYyBBYnN0cmFjdE1hY3JvQXNz
ZW1ibGVyPEFSTXY3QXNzZW1ibGVyPiB7CiAgICAgLy8gRklYTUU6IHN3aXRjaCBkYXRhVGVtcFJl
Z2lzdGVyICYgYWRkcmVzc1RlbXBSZWdpc3Rlciwgb3IgcG9zc2libHkgdXNlIHI3PwogICAgIC8v
ICAgICAgICAtIGRUUiBpcyBsaWtlbHkgdXNlZCBtb3JlIHRoYW4gYVRSLCBhbmQgd2UnbGwgZ2V0
IGJldHRlciBpbnN0cnVjdGlvbgpAQCAtMTc4OSw2ICsxNzkxLDMzIEBAIHB1YmxpYzoKICAgICAg
ICAgVU5SRUFDSEFCTEVfRk9SX1BMQVRGT1JNKCk7CiAgICAgfQogCisjaWYgVVNFKE1BU01fUFJP
QkUpCisgICAgc3RydWN0IENQVVN0YXRlIHsKKyAgICAgICAgI2RlZmluZSBERUNMQVJFX1JFR0lT
VEVSKF90eXBlLCBfcmVnTmFtZSkgXAorICAgICAgICAgICAgX3R5cGUgX3JlZ05hbWU7CisgICAg
ICAgIEZPUl9FQUNIX0NQVV9SRUdJU1RFUihERUNMQVJFX1JFR0lTVEVSKQorICAgICAgICAjdW5k
ZWYgREVDTEFSRV9SRUdJU1RFUgorICAgIH07CisKKyAgICBzdHJ1Y3QgUHJvYmVDb250ZXh0Owor
ICAgIHR5cGVkZWYgdm9pZCAoKlByb2JlRnVuY3Rpb24pKHN0cnVjdCBQcm9iZUNvbnRleHQqKTsK
KworICAgIHN0cnVjdCBQcm9iZUNvbnRleHQgeworICAgICAgICBQcm9iZUZ1bmN0aW9uIHByb2Jl
RnVuY3Rpb247CisgICAgICAgIHZvaWQqIGFyZzE7CisgICAgICAgIHZvaWQqIGFyZzI7CisgICAg
ICAgIEpJVFN0YWNrRnJhbWUqIGppdFN0YWNrRnJhbWU7CisgICAgICAgIENQVVN0YXRlIGNwdTsK
KworICAgICAgICB2b2lkIGR1bXAoY29uc3QgY2hhciogaW5kZW50YXRpb24gPSAwKTsKKyAgICBw
cml2YXRlOgorICAgICAgICB2b2lkIGR1bXBDUFVSZWdpc3RlcnMoY29uc3QgY2hhciogaW5kZW50
YXRpb24pOworICAgIH07CisKKyAgICAvLyBGb3IgZGV0YWlscyBhYm91dCBwcm9iZSgpLCBzZWUg
Y29tbWVudCBpbiBNYWNyb0Fzc2VtYmxlclg4Nl82NC5oLgorICAgIHZvaWQgcHJvYmUoUHJvYmVG
dW5jdGlvbiwgdm9pZCogYXJnMSA9IDAsIHZvaWQqIGFyZzIgPSAwKTsKKyNlbmRpZiAvLyBVU0Uo
TUFTTV9QUk9CRSkKKwogcHJvdGVjdGVkOgogICAgIEFMV0FZU19JTkxJTkUgSnVtcCBqdW1wKCkK
ICAgICB7CkBAIC0xODk5LDYgKzE5MjgsMjMgQEAgcHJpdmF0ZToKICAgICAgICAgQVJNdjdBc3Nl
bWJsZXI6OnJlbGlua0NhbGwoY2FsbC5kYXRhTG9jYXRpb24oKSwgZGVzdGluYXRpb24uZXhlY3V0
YWJsZUFkZHJlc3MoKSk7CiAgICAgfQogCisjaWYgVVNFKE1BU01fUFJPQkUpCisgICAgaW5saW5l
IFRydXN0ZWRJbW0zMiB0cnVzdGVkSW1tMzJGcm9tUHRyKHZvaWQqIHB0cikKKyAgICB7CisgICAg
ICAgIHJldHVybiBUcnVzdGVkSW1tMzIoVHJ1c3RlZEltbVB0cihwdHIpKTsKKyAgICB9CisKKyAg
ICBpbmxpbmUgVHJ1c3RlZEltbTMyIHRydXN0ZWRJbW0zMkZyb21QdHIoUHJvYmVGdW5jdGlvbiBm
dW5jdGlvbikKKyAgICB7CisgICAgICAgIHJldHVybiBUcnVzdGVkSW1tMzIoVHJ1c3RlZEltbVB0
cihyZWludGVycHJldF9jYXN0PHZvaWQqPihmdW5jdGlvbikpKTsKKyAgICB9CisKKyAgICBpbmxp
bmUgVHJ1c3RlZEltbTMyIHRydXN0ZWRJbW0zMkZyb21QdHIodm9pZCAoKmZ1bmN0aW9uKSgpKQor
ICAgIHsKKyAgICAgICAgcmV0dXJuIFRydXN0ZWRJbW0zMihUcnVzdGVkSW1tUHRyKHJlaW50ZXJw
cmV0X2Nhc3Q8dm9pZCo+KGZ1bmN0aW9uKSkpOworICAgIH0KKyNlbmRpZgorCiAgICAgYm9vbCBt
X21ha2VKdW1wUGF0Y2hhYmxlOwogfTsKIApJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL2Fz
c2VtYmxlci9NYWNyb0Fzc2VtYmxlclg4Ni5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9hc3NlbWJsZXIvTWFjcm9Bc3NlbWJsZXJYODYuaAkocmV2aXNpb24gMTUwODI3KQor
KysgU291cmNlL0phdmFTY3JpcHRDb3JlL2Fzc2VtYmxlci9NYWNyb0Fzc2VtYmxlclg4Ni5oCSh3
b3JraW5nIGNvcHkpCkBAIC0yOTIsMjIgKzI5Miw3IEBAIHB1YmxpYzoKICAgICB9CiAKICNpZiBV
U0UoTUFTTV9QUk9CRSkKLSAgICAvLyBUaGlzIGZ1bmN0aW9uIGVtaXRzIGNvZGUgdG8gcHJlc2Vy
dmUgdGhlIENQVVN0YXRlIChlLmcuIHJlZ2lzdGVycyksCi0gICAgLy8gY2FsbCBhIHVzZXIgc3Vw
cGxpZWQgcHJvYmUgZnVuY3Rpb24sIGFuZCByZXN0b3JlIHRoZSBDUFVTdGF0ZSBiZWZvcmUKLSAg
ICAvLyBjb250aW51aW5nIHdpdGggb3RoZXIgSklUIGdlbmVyYXRlZCBjb2RlLgotICAgIC8vCi0g
ICAgLy8gVGhlIHVzZXIgc3VwcGxpZWQgcHJvYmUgZnVuY3Rpb24gd2lsbCBiZSBjYWxsZWQgd2l0
aCBhIHNpbmdsZSBwb2ludGVyIHRvCi0gICAgLy8gYSBQcm9iZUNvbnRleHQgc3RydWN0IChkZWZp
bmVkIGFib3ZlKSB3aGljaCBjb250YWlucywgYW1vbmcgb3RoZXIgdGhpbmdzLAotICAgIC8vIHRo
ZSBwcmVzZXJ2ZWQgQ1BVU3RhdGUuIFRoaXMgYWxsb3dzIHRoZSB1c2VyIHByb2JlIGZ1bmN0aW9u
IHRvIGluc3BlY3QKLSAgICAvLyB0aGUgQ1BVU3RhdGUgYXQgdGhhdCBwb2ludCBpbiB0aGUgSklU
IGdlbmVyYXRlZCBjb2RlLgotICAgIC8vCi0gICAgLy8gSWYgdGhlIHVzZXIgcHJvYmUgZnVuY3Rp
b24gYWx0ZXJzIHRoZSByZWdpc3RlciB2YWx1ZXMgaW4gdGhlIFByb2JlQ29udGV4dCwKLSAgICAv
LyB0aGUgYWx0ZXJlZCB2YWx1ZXMgd2lsbCBiZSBsb2FkZWQgaW50byB0aGUgQ1BVIHJlZ2lzdGVy
cyB3aGVuIHRoZSBwcm9iZQotICAgIC8vIHJldHVybnMuCi0gICAgLy8KLSAgICAvLyBUaGUgUHJv
YmVDb250ZXh0IGlzIHN0YWNrIGFsbG9jYXRlZCBhbmQgaXMgb25seSB2YWxpZCBmb3IgdGhlIGR1
cmF0aW9uCi0gICAgLy8gb2YgdGhlIGNhbGwgdG8gdGhlIHVzZXIgcHJvYmUgZnVuY3Rpb24uCi0K
KyAgICAvLyBGb3IgZGV0YWlscyBhYm91dCBwcm9iZSgpLCBzZWUgY29tbWVudCBpbiBNYWNyb0Fz
c2VtYmxlclg4Nl82NC5oLgogICAgIHZvaWQgcHJvYmUoUHJvYmVGdW5jdGlvbiwgdm9pZCogYXJn
MSA9IDAsIHZvaWQqIGFyZzIgPSAwKTsKICNlbmRpZiAvLyBVU0UoTUFTTV9QUk9CRSkKIApAQCAt
MzUyLDU1ICszMzcsMjAgQEAgcHJpdmF0ZToKIAogZXh0ZXJuICJDIiB2b2lkIGN0aU1hc21Qcm9i
ZVRyYW1wb2xpbmUoKTsKIAotLy8gV2hhdCBjb2RlIGlzIGVtaXR0ZWQgZm9yIHRoZSBwcm9iZT8K
LS8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS8vIFdlIHdhbnQgdG8ga2Vl
cCB0aGUgc2l6ZSBvZiB0aGUgZW1pdHRlZCBwcm9iZSBpbnZvY2F0aW9uIGNvZGUgYXMgY29tcGFj
dCBhcwotLy8gcG9zc2libGUgdG8gbWluaW1pemUgdGhlIHBlcnR1cmJhdGlvbiB0byB0aGUgSklU
IGdlbmVyYXRlZCBjb2RlLiBIb3dldmVyLAotLy8gd2UgYWxzbyBuZWVkIHRvIHByZXNlcnZlIHRo
ZSBDUFUgcmVnaXN0ZXJzIGFuZCBzZXQgdXAgdGhlIFByb2JlQ29udGV4dCB0byBiZQotLy8gcGFz
c2VkIHRvIHRoZSB1c2VyIHByb2JlIGZ1bmN0aW9uLgotLy8KLS8vIEhlbmNlLCB3ZSBkbyBvbmx5
IHRoZSBtaW5pbXVtIGhlcmUgdG8gcHJlc2VydmUgdGhlIGVheCAodG8gYmUgdXNlZCBhcyBhCi0v
LyBzY3JhdGNoIHJlZ2lzdGVyKSBhbmQgZXNwIHJlZ2lzdGVycywgYW5kIHBhc3MgdGhlIHByb2Jl
IGFyZ3VtZW50cy4gV2UnbGwgbGV0Ci0vLyB0aGUgY3RpTWFzbVByb2JlVHJhbXBvbGluZSBoYW5k
bGUgdGhlIHJlc3Qgb2YgdGhlIHByb2JlIGludm9jYXRpb24gd29yawotLy8gaS5lLiBzYXZpbmcg
dGhlIENQVVN0YXRlIChhbmQgc2V0dGluZyB1cCB0aGUgUHJvYmVDb250ZXh0KSwgY2FsbGluZyB0
aGUgdXNlcgotLy8gcHJvYmUgZnVuY3Rpb24sIGFuZCByZXN0b3JpbmcgdGhlIENQVVN0YXRlIGJl
Zm9yZSByZXR1cm5pbmcgdG8gSklUIGdlbmVyYXRlZAotLy8gY29kZS4KLS8vCi0vLyBXaGF0IHZh
bHVlcyBhcmUgaW4gdGhlIHNhdmVkIHJlZ2lzdGVycz8KLS8vID09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0vLyBDb25jZXB0dWFsbHksIHRoZSBzYXZlZCByZWdpc3RlcnMg
c2hvdWxkIGNvbnRhaW4gdmFsdWVzIGFzIGlmIHRoZSBwcm9iZQotLy8gaXMgbm90IHByZXNlbnQg
aW4gdGhlIEpJVCBnZW5lcmF0ZWQgY29kZS4gSGVuY2UsIHRoZXkgc2hvdWxkIGNvbnRhaW4gdmFs
dWVzCi0vLyB0aGF0IGFyZSBleHBlY3RlZCBhdCB0aGUgc3RhcnQgb2YgdGhlIGluc3RydWN0aW9u
IGltbWVkaWF0ZWx5IGZvbGxvd2luZyB0aGUKLS8vIHByb2JlLgotLy8KLS8vIFNwZWNpZmNhbGx5
LCB0aGUgc2F2ZWQgZXNwIHdpbGwgcG9pbnQgdG8gdGhlIHN0YWNrIHBvc2l0aW9uIGJlZm9yZSB3
ZQotLy8gcHVzaCB0aGUgUHJvYmVDb250ZXh0IGZyYW1lLiBUaGUgc2F2ZWQgZWlwIHdpbGwgcG9p
bnQgdG8gdGhlIGFkZHJlc3Mgb2YKLS8vIHRoZSBpbnN0cnVjdGlvbiBpbW1lZGlhdGVseSBmb2xs
b3dpbmcgdGhlIHByb2JlLiAKKy8vIEZvciBkZXRhaWxzIG9uICJXaGF0IGNvZGUgaXMgZW1pdHRl
ZCBmb3IgdGhlIHByb2JlPyIgYW5kICJXaGF0IHZhbHVlcyBhcmUgaW4KKy8vIHRoZSBzYXZlZCBy
ZWdpc3RlcnM/Iiwgc2VlIGNvbW1lbnQgZm9yIE1hY3JvQXNzZW1ibGVyWDg2Ojpwcm9iZSgpIGlu
CisvLyBNYWNyb0Fzc2VtYmxlclg4Nl82NC5oLgogCiBpbmxpbmUgdm9pZCBNYWNyb0Fzc2VtYmxl
clg4Njo6cHJvYmUoTWFjcm9Bc3NlbWJsZXJYODY6OlByb2JlRnVuY3Rpb24gZnVuY3Rpb24sIHZv
aWQqIGFyZzEsIHZvaWQqIGFyZzIpCiB7Ci0gICAgUmVnaXN0ZXJJRCBlc3AgPSBSZWdpc3RlcklE
Ojplc3A7Ci0gICAgI2RlZmluZSBwcm9iZUNvbnRleHRGaWVsZChmaWVsZCkgQWRkcmVzcyhlc3As
IG9mZnNldG9mKFByb2JlQ29udGV4dCwgZmllbGQpKQotCi0gICAgLy8gVGhlIFg4Nl82NCBBQkkg
c3BlY2lmaWVzIHRoYXQgdGhlIHdvcnNlIGNhc2Ugc3RhY2sgYWxpZ25tZW50IHJlcXVpcmVtZW50
Ci0gICAgLy8gaXMgMzIgYnl0ZXMuCi0gICAgY29uc3QgaW50IHByb2JlRnJhbWVTaXplID0gV1RG
Ojpyb3VuZFVwVG9NdWx0aXBsZU9mKDMyLCBzaXplb2YoUHJvYmVDb250ZXh0KSk7Ci0gICAgc3Vi
MzIoVHJ1c3RlZEltbTMyKHByb2JlRnJhbWVTaXplKSwgZXNwKTsKLQotICAgIHN0b3JlMzIoUmVn
aXN0ZXJJRDo6ZWF4LCBwcm9iZUNvbnRleHRGaWVsZChjcHUuZWF4KSk7Ci0KLSAgICBtb3ZlKFRy
dXN0ZWRJbW0zMihwcm9iZUZyYW1lU2l6ZSksIFJlZ2lzdGVySUQ6OmVheCk7Ci0gICAgYWRkMzIo
ZXNwLCBSZWdpc3RlcklEOjplYXgpOwotICAgIHN0b3JlMzIoUmVnaXN0ZXJJRDo6ZWF4LCBwcm9i
ZUNvbnRleHRGaWVsZChjcHUuZXNwKSk7Ci0KLSAgICBzdG9yZTMyKHRydXN0ZWRJbW0zMkZyb21Q
dHIoZnVuY3Rpb24pLCBwcm9iZUNvbnRleHRGaWVsZChwcm9iZUZ1bmN0aW9uKSk7Ci0gICAgc3Rv
cmUzMih0cnVzdGVkSW1tMzJGcm9tUHRyKGFyZzEpLCBwcm9iZUNvbnRleHRGaWVsZChhcmcxKSk7
Ci0gICAgc3RvcmUzMih0cnVzdGVkSW1tMzJGcm9tUHRyKGFyZzIpLCBwcm9iZUNvbnRleHRGaWVs
ZChhcmcyKSk7CisgICAgcHVzaChSZWdpc3RlcklEOjplc3ApOworICAgIHB1c2goUmVnaXN0ZXJJ
RDo6ZWF4KTsKKyAgICBwdXNoKHRydXN0ZWRJbW0zMkZyb21QdHIoYXJnMikpOworICAgIHB1c2go
dHJ1c3RlZEltbTMyRnJvbVB0cihhcmcxKSk7CisgICAgcHVzaCh0cnVzdGVkSW1tMzJGcm9tUHRy
KGZ1bmN0aW9uKSk7CiAKICAgICBtb3ZlKHRydXN0ZWRJbW0zMkZyb21QdHIoY3RpTWFzbVByb2Jl
VHJhbXBvbGluZSksIFJlZ2lzdGVySUQ6OmVheCk7CiAgICAgY2FsbChSZWdpc3RlcklEOjplYXgp
OwotCi0gICAgI3VuZGVmIHByb2JlQ29udGV4dEZpZWxkCiB9CiAjZW5kaWYgLy8gVVNFKE1BU01f
UFJPQkUpCiAKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9hc3NlbWJsZXIvTWFjcm9Bc3Nl
bWJsZXJYODZDb21tb24uY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9h
c3NlbWJsZXIvTWFjcm9Bc3NlbWJsZXJYODZDb21tb24uY3BwCShyZXZpc2lvbiAxNTA4MjcpCisr
KyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYXNzZW1ibGVyL01hY3JvQXNzZW1ibGVyWDg2Q29tbW9u
LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMjQsNiArMjQsOCBAQAogICovCiAKICNpbmNsdWRlICJj
b25maWcuaCIKKworI2lmIEVOQUJMRShBU1NFTUJMRVIpICYmIChDUFUoWDg2KSB8fCBDUFUoWDg2
XzY0KSkKICNpbmNsdWRlICJNYWNyb0Fzc2VtYmxlclg4NkNvbW1vbi5oIgogCiBuYW1lc3BhY2Ug
SlNDIHsKQEAgLTM1LDIxICszNywyMiBAQCB2b2lkIE1hY3JvQXNzZW1ibGVyWDg2Q29tbW9uOjpQ
cm9iZUNvbnRlCiAjaWYgQ1BVKFg4NikKICAgICAjZGVmaW5lIERVTVBfR1BSRUdJU1RFUihfdHlw
ZSwgX3JlZ05hbWUpIHsgXAogICAgICAgICBpbnQzMl90IHZhbHVlID0gcmVpbnRlcnByZXRfY2Fz
dDxpbnQzMl90PihjcHUuX3JlZ05hbWUpOyBcCi0gICAgICAgIGRhdGFMb2dGKCIlcyAgICAlNHM6
IDB4JTA4eCAgICVkXG4iLCBpbmRlbnRhdGlvbiwgI19yZWdOYW1lLCB2YWx1ZSwgdmFsdWUpIDsg
XAorICAgICAgICBkYXRhTG9nRigiJXMgICAgJTZzOiAweCUwOHggICAlZFxuIiwgaW5kZW50YXRp
b24sICNfcmVnTmFtZSwgdmFsdWUsIHZhbHVlKSA7IFwKICAgICB9CiAjZWxpZiBDUFUoWDg2XzY0
KQogICAgICNkZWZpbmUgRFVNUF9HUFJFR0lTVEVSKF90eXBlLCBfcmVnTmFtZSkgeyBcCiAgICAg
ICAgIGludDY0X3QgdmFsdWUgPSByZWludGVycHJldF9jYXN0PGludDY0X3Q+KGNwdS5fcmVnTmFt
ZSk7IFwKLSAgICAgICAgZGF0YUxvZ0YoIiVzICAgICU0czogMHglMDE2bGx4ICAgJWxsZFxuIiwg
aW5kZW50YXRpb24sICNfcmVnTmFtZSwgdmFsdWUsIHZhbHVlKSA7IFwKKyAgICAgICAgZGF0YUxv
Z0YoIiVzICAgICU2czogMHglMDE2bGx4ICAgJWxsZFxuIiwgaW5kZW50YXRpb24sICNfcmVnTmFt
ZSwgdmFsdWUsIHZhbHVlKSA7IFwKICAgICB9CiAjZW5kaWYKICAgICBGT1JfRUFDSF9DUFVfR1BS
RUdJU1RFUihEVU1QX0dQUkVHSVNURVIpCisgICAgRk9SX0VBQ0hfQ1BVX1NQRUNJQUxfUkVHSVNU
RVIoRFVNUF9HUFJFR0lTVEVSKQogICAgICN1bmRlZiBEVU1QX0dQUkVHSVNURVIKIAogICAgICNk
ZWZpbmUgRFVNUF9GUFJFR0lTVEVSKF90eXBlLCBfcmVnTmFtZSkgeyBcCiAgICAgICAgIHVpbnQz
Ml90KiB1ID0gcmVpbnRlcnByZXRfY2FzdDx1aW50MzJfdCo+KCZjcHUuX3JlZ05hbWUpOyBcCiAg
ICAgICAgIGRvdWJsZSogZCA9IHJlaW50ZXJwcmV0X2Nhc3Q8ZG91YmxlKj4oJmNwdS5fcmVnTmFt
ZSk7IFwKLSAgICAgICAgZGF0YUxvZ0YoIiVzICAgICVzOiAweCUwOHglMDh4IDB4JTA4eCUwOHgg
ICAlMTJnICUxMmdcbiIsIFwKKyAgICAgICAgZGF0YUxvZ0YoIiVzICAgICU2czogMHglMDh4JTA4
eCAweCUwOHglMDh4ICAgJTEyZyAlMTJnXG4iLCBcCiAgICAgICAgICAgICBpbmRlbnRhdGlvbiwg
I19yZWdOYW1lLCB1WzNdLCB1WzJdLCB1WzFdLCB1WzBdLCBkWzFdLCBkWzBdKTsgXAogICAgIH0K
ICAgICBGT1JfRUFDSF9DUFVfRlBSRUdJU1RFUihEVU1QX0ZQUkVHSVNURVIpCkBAIC03NywzICs4
MCw1IEBAIHZvaWQgTWFjcm9Bc3NlbWJsZXJYODZDb21tb246OlByb2JlQ29udGUKICNlbmRpZiAv
LyBVU0UoTUFTTV9QUk9CRSkKIAogfSAvLyBuYW1lc3BhY2UgSlNDCisKKyNlbmRpZiAvLyBFTkFC
TEUoQVNTRU1CTEVSKSAmJiAoQ1BVKFg4NikgfHwgQ1BVKFg4Nl82NCkpCkluZGV4OiBTb3VyY2Uv
SmF2YVNjcmlwdENvcmUvYXNzZW1ibGVyL01hY3JvQXNzZW1ibGVyWDg2XzY0LmgKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2Fzc2VtYmxlci9NYWNyb0Fzc2VtYmxlclg4Nl82
NC5oCShyZXZpc2lvbiAxNTA4MjcpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYXNzZW1ibGVy
L01hY3JvQXNzZW1ibGVyWDg2XzY0LmgJKHdvcmtpbmcgY29weSkKQEAgLTY4NywxMiArNjg3LDEy
IEBAIGV4dGVybiAiQyIgdm9pZCBjdGlNYXNtUHJvYmVUcmFtcG9saW5lKCkKIC8vIHdlIGFsc28g
bmVlZCB0byBwcmVzZXJ2ZSB0aGUgQ1BVIHJlZ2lzdGVycyBhbmQgc2V0IHVwIHRoZSBQcm9iZUNv
bnRleHQgdG8gYmUKIC8vIHBhc3NlZCB0byB0aGUgdXNlciBwcm9iZSBmdW5jdGlvbi4KIC8vCi0v
LyBIZW5jZSwgd2UgZG8gb25seSB0aGUgbWluaW11bSBoZXJlIHRvIHByZXNlcnZlIHRoZSByYXgg
KHRvIGJlIHVzZWQgYXMgYQotLy8gc2NyYXRjaCByZWdpc3RlcikgYW5kIHJzcCByZWdpc3RlcnMs
IGFuZCBwYXNzIHRoZSBwcm9iZSBhcmd1bWVudHMuIFdlJ2xsIGxldAotLy8gdGhlIGN0aU1hc21Q
cm9iZVRyYW1wb2xpbmUgaGFuZGxlIHRoZSByZXN0IG9mIHRoZSBwcm9iZSBpbnZvY2F0aW9uIHdv
cmsKLS8vIGkuZS4gc2F2aW5nIHRoZSBDUFVTdGF0ZSAoYW5kIHNldHRpbmcgdXAgdGhlIFByb2Jl
Q29udGV4dCksIGNhbGxpbmcgdGhlIHVzZXIKLS8vIHByb2JlIGZ1bmN0aW9uLCBhbmQgcmVzdG9y
aW5nIHRoZSBDUFVTdGF0ZSBiZWZvcmUgcmV0dXJuaW5nIHRvIEpJVCBnZW5lcmF0ZWQKLS8vIGNv
ZGUuCisvLyBIZW5jZSwgd2UgZG8gb25seSB0aGUgbWluaW11bSBoZXJlIHRvIHByZXNlcnZlIGEg
c2NyYXRjaCByZWdpc3RlciAoaS5lLiByYXgKKy8vIGluIHRoaXMgY2FzZSkgYW5kIHRoZSBzdGFj
ayBwb2ludGVyIChpLmUuIHJzcCksIGFuZCBwYXNzIHRoZSBwcm9iZSBhcmd1bWVudHMuCisvLyBX
ZSdsbCBsZXQgdGhlIGN0aU1hc21Qcm9iZVRyYW1wb2xpbmUgaGFuZGxlIHRoZSByZXN0IG9mIHRo
ZSBwcm9iZSBpbnZvY2F0aW9uCisvLyB3b3JrIGkuZS4gc2F2aW5nIHRoZSBDUFVTdGF0ZSAoYW5k
IHNldHRpbmcgdXAgdGhlIFByb2JlQ29udGV4dCksIGNhbGxpbmcgdGhlCisvLyB1c2VyIHByb2Jl
IGZ1bmN0aW9uLCBhbmQgcmVzdG9yaW5nIHRoZSBDUFVTdGF0ZSBiZWZvcmUgcmV0dXJuaW5nIHRv
IEpJVAorLy8gZ2VuZXJhdGVkIGNvZGUuCiAvLwogLy8gV2hhdCB2YWx1ZXMgYXJlIGluIHRoZSBz
YXZlZCByZWdpc3RlcnM/CiAvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQpAQCAtNzAxLDM0ICs3MDEsMjIgQEAgZXh0ZXJuICJDIiB2b2lkIGN0aU1hc21Qcm9iZVRyYW1w
b2xpbmUoKQogLy8gdGhhdCBhcmUgZXhwZWN0ZWQgYXQgdGhlIHN0YXJ0IG9mIHRoZSBpbnN0cnVj
dGlvbiBpbW1lZGlhdGVseSBmb2xsb3dpbmcgdGhlCiAvLyBwcm9iZS4KIC8vCi0vLyBTcGVjaWZj
YWxseSwgdGhlIHNhdmVkIHJzcCB3aWxsIHBvaW50IHRvIHRoZSBzdGFjayBwb3NpdGlvbiBiZWZv
cmUgd2UKLS8vIHB1c2ggdGhlIFByb2JlQ29udGV4dCBmcmFtZS4gVGhlIHNhdmVkIHJpcCB3aWxs
IHBvaW50IHRvIHRoZSBhZGRyZXNzIG9mCi0vLyB0aGUgaW5zdHJ1Y3Rpb24gaW1tZWRpYXRlbHkg
Zm9sbG93aW5nIHRoZSBwcm9iZS4gCisvLyBTcGVjaWZjYWxseSwgdGhlIHNhdmVkIHN0YWNrIHBv
aW50ZXIgcmVnaXN0ZXIgd2lsbCBwb2ludCB0byB0aGUgc3RhY2sKKy8vIHBvc2l0aW9uIGJlZm9y
ZSB3ZSBwdXNoIHRoZSBQcm9iZUNvbnRleHQgZnJhbWUuIFRoZSBzYXZlZCByaXAgd2lsbCBwb2lu
dCB0bworLy8gdGhlIGFkZHJlc3Mgb2YgdGhlIGluc3RydWN0aW9uIGltbWVkaWF0ZWx5IGZvbGxv
d2luZyB0aGUgcHJvYmUuIAogCiBpbmxpbmUgdm9pZCBNYWNyb0Fzc2VtYmxlclg4Nl82NDo6cHJv
YmUoTWFjcm9Bc3NlbWJsZXJYODZfNjQ6OlByb2JlRnVuY3Rpb24gZnVuY3Rpb24sIHZvaWQqIGFy
ZzEsIHZvaWQqIGFyZzIpCiB7Ci0gICAgUmVnaXN0ZXJJRCBlc3AgPSBSZWdpc3RlcklEOjplc3A7
Ci0gICAgI2RlZmluZSBwcm9iZUNvbnRleHRGaWVsZChmaWVsZCkgQWRkcmVzcyhlc3AsIG9mZnNl
dG9mKFByb2JlQ29udGV4dCwgZmllbGQpKQotCi0gICAgLy8gVGhlIFg4Nl82NCBBQkkgc3BlY2lm
aWVzIHRoYXQgdGhlIHdvcnNlIGNhc2Ugc3RhY2sgYWxpZ25tZW50IHJlcXVpcmVtZW50Ci0gICAg
Ly8gaXMgMzIgYnl0ZXMuCi0gICAgY29uc3QgaW50IHByb2JlRnJhbWVTaXplID0gV1RGOjpyb3Vu
ZFVwVG9NdWx0aXBsZU9mKDMyLCBzaXplb2YoUHJvYmVDb250ZXh0KSk7Ci0gICAgc3ViNjQoVHJ1
c3RlZEltbTMyKHByb2JlRnJhbWVTaXplKSwgZXNwKTsKLQotICAgIHN0b3JlNjQoUmVnaXN0ZXJJ
RDo6ZWF4LCBwcm9iZUNvbnRleHRGaWVsZChjcHUuZWF4KSk7Ci0KLSAgICBtb3ZlKFRydXN0ZWRJ
bW0zMihwcm9iZUZyYW1lU2l6ZSksIFJlZ2lzdGVySUQ6OmVheCk7Ci0gICAgYWRkNjQoZXNwLCBS
ZWdpc3RlcklEOjplYXgpOwotICAgIHN0b3JlNjQoUmVnaXN0ZXJJRDo6ZWF4LCBwcm9iZUNvbnRl
eHRGaWVsZChjcHUuZXNwKSk7Ci0KLSAgICBzdG9yZTY0KHRydXN0ZWRJbW02NEZyb21QdHIoZnVu
Y3Rpb24pLCBwcm9iZUNvbnRleHRGaWVsZChwcm9iZUZ1bmN0aW9uKSk7Ci0gICAgc3RvcmU2NCh0
cnVzdGVkSW1tNjRGcm9tUHRyKGFyZzEpLCBwcm9iZUNvbnRleHRGaWVsZChhcmcxKSk7Ci0gICAg
c3RvcmU2NCh0cnVzdGVkSW1tNjRGcm9tUHRyKGFyZzIpLCBwcm9iZUNvbnRleHRGaWVsZChhcmcy
KSk7Ci0KKyAgICBwdXNoKFJlZ2lzdGVySUQ6OmVzcCk7CisgICAgcHVzaChSZWdpc3RlcklEOjpl
YXgpOworICAgIG1vdmUodHJ1c3RlZEltbTY0RnJvbVB0cihhcmcyKSwgUmVnaXN0ZXJJRDo6ZWF4
KTsKKyAgICBwdXNoKFJlZ2lzdGVySUQ6OmVheCk7CisgICAgbW92ZSh0cnVzdGVkSW1tNjRGcm9t
UHRyKGFyZzEpLCBSZWdpc3RlcklEOjplYXgpOworICAgIHB1c2goUmVnaXN0ZXJJRDo6ZWF4KTsK
KyAgICBtb3ZlKHRydXN0ZWRJbW02NEZyb21QdHIoZnVuY3Rpb24pLCBSZWdpc3RlcklEOjplYXgp
OworICAgIHB1c2goUmVnaXN0ZXJJRDo6ZWF4KTsKICAgICBtb3ZlKHRydXN0ZWRJbW02NEZyb21Q
dHIoY3RpTWFzbVByb2JlVHJhbXBvbGluZSksIFJlZ2lzdGVySUQ6OmVheCk7CiAgICAgY2FsbChS
ZWdpc3RlcklEOjplYXgpOwotCi0gICAgI3VuZGVmIHByb2JlQ29udGV4dEZpZWxkCiB9CiAjZW5k
aWYgLy8gVVNFKE1BU01fUFJPQkUpCiAKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9hc3Nl
bWJsZXIvWDg2QXNzZW1ibGVyLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3Jl
L2Fzc2VtYmxlci9YODZBc3NlbWJsZXIuaAkocmV2aXNpb24gMTUwODI3KQorKysgU291cmNlL0ph
dmFTY3JpcHRDb3JlL2Fzc2VtYmxlci9YODZBc3NlbWJsZXIuaAkod29ya2luZyBjb3B5KQpAQCAt
NzksMTkgKzc5LDIzIEBAIG5hbWVzcGFjZSBYODZSZWdpc3RlcnMgewogI2lmIFVTRShNQVNNX1BS
T0JFKQogICAgICNkZWZpbmUgRk9SX0VBQ0hfQ1BVX1JFR0lTVEVSKFYpIFwKICAgICAgICAgRk9S
X0VBQ0hfQ1BVX0dQUkVHSVNURVIoVikgXAorICAgICAgICBGT1JfRUFDSF9DUFVfU1BFQ0lBTF9S
RUdJU1RFUihWKSBcCiAgICAgICAgIEZPUl9FQUNIX0NQVV9GUFJFR0lTVEVSKFYpCiAKICAgICAj
ZGVmaW5lIEZPUl9FQUNIX0NQVV9HUFJFR0lTVEVSKFYpIFwKICAgICAgICAgVih2b2lkKiwgZWF4
KSBcCisgICAgICAgIFYodm9pZCosIGVieCkgXAogICAgICAgICBWKHZvaWQqLCBlY3gpIFwKICAg
ICAgICAgVih2b2lkKiwgZWR4KSBcCi0gICAgICAgIFYodm9pZCosIGVieCkgXAotICAgICAgICBW
KHZvaWQqLCBlc3ApIFwKLSAgICAgICAgVih2b2lkKiwgZWJwKSBcCiAgICAgICAgIFYodm9pZCos
IGVzaSkgXAogICAgICAgICBWKHZvaWQqLCBlZGkpIFwKLSAgICAgICAgRk9SX0VBQ0hfWDg2XzY0
X0NQVV9HUFJFR0lTVEVSKFYpIFwKLSAgICAgICAgVih2b2lkKiwgZWlwKQorICAgICAgICBWKHZv
aWQqLCBlYnApIFwKKyAgICAgICAgVih2b2lkKiwgZXNwKSBcCisgICAgICAgIEZPUl9FQUNIX1g4
Nl82NF9DUFVfR1BSRUdJU1RFUihWKQorCisgICAgI2RlZmluZSBGT1JfRUFDSF9DUFVfU1BFQ0lB
TF9SRUdJU1RFUihWKSBcCisgICAgICAgIFYodm9pZCosIGVpcCkgXAorICAgICAgICBWKHZvaWQq
LCBlZmxhZ3MpIFwKIAogICAgICNkZWZpbmUgRk9SX0VBQ0hfQ1BVX0ZQUkVHSVNURVIoVikgXAog
ICAgICAgICBWKF9fbTEyOCwgeG1tMCkgXApJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL2pp
dC9KSVRTdHVic0FSTS5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQv
SklUU3R1YnNBUk0uaAkocmV2aXNpb24gMTUwODI3KQorKysgU291cmNlL0phdmFTY3JpcHRDb3Jl
L2ppdC9KSVRTdHVic0FSTS5oCSh3b3JraW5nIGNvcHkpCkBAIC00Niw5ICs0NiwxMTMgQEAgbmFt
ZXNwYWNlIEpTQyB7CiAjZGVmaW5lIFRIVU5LX1JFVFVSTl9BRERSRVNTX09GRlNFVCA2NAogI2Rl
ZmluZSBQUkVTRVJWRURSNF9PRkZTRVQgICAgICAgICAgNjgKIAotCiAjaWYgQ09NUElMRVIoR0ND
KQogCisjaWYgVVNFKE1BU01fUFJPQkUpCisvLyBUaGUgZm9sbG93aW5nIGFyZSBvZmZzZXRzIGZv
ciBNYWNyb0Fzc2VtYmxlcjo6UHJvYmVDb250ZXh0IGZpZWxkcyBhY2Nlc3NlZAorLy8gYnkgdGhl
IGN0aU1hc21Qcm9iZVRyYW1wb2xpbmUgc3R1Yi4KKworI2RlZmluZSBQVFJfU0laRSA0CisjZGVm
aW5lIFBST0JFX1BST0JFX0ZVTkNUSU9OX09GRlNFVCAoMCAqIFBUUl9TSVpFKQorI2RlZmluZSBQ
Uk9CRV9BUkcxX09GRlNFVCAoMSAqIFBUUl9TSVpFKQorI2RlZmluZSBQUk9CRV9BUkcyX09GRlNF
VCAoMiAqIFBUUl9TSVpFKQorI2RlZmluZSBQUk9CRV9KSVRfU1RBQ0tfRlJBTUVfT0ZGU0VUICgz
ICogUFRSX1NJWkUpCisKKyNkZWZpbmUgUFJPQkVfRklSU1RfR1BSRUdfT0ZGU0VUICg0ICogUFRS
X1NJWkUpCisKKyNkZWZpbmUgR1BSRUdfU0laRSA0CisjZGVmaW5lIFBST0JFX0NQVV9SMF9PRkZT
RVQgKFBST0JFX0ZJUlNUX0dQUkVHX09GRlNFVCArICgwICogR1BSRUdfU0laRSkpCisjZGVmaW5l
IFBST0JFX0NQVV9SMV9PRkZTRVQgKFBST0JFX0ZJUlNUX0dQUkVHX09GRlNFVCArICgxICogR1BS
RUdfU0laRSkpCisjZGVmaW5lIFBST0JFX0NQVV9SMl9PRkZTRVQgKFBST0JFX0ZJUlNUX0dQUkVH
X09GRlNFVCArICgyICogR1BSRUdfU0laRSkpCisjZGVmaW5lIFBST0JFX0NQVV9SM19PRkZTRVQg
KFBST0JFX0ZJUlNUX0dQUkVHX09GRlNFVCArICgzICogR1BSRUdfU0laRSkpCisjZGVmaW5lIFBS
T0JFX0NQVV9SNF9PRkZTRVQgKFBST0JFX0ZJUlNUX0dQUkVHX09GRlNFVCArICg0ICogR1BSRUdf
U0laRSkpCisjZGVmaW5lIFBST0JFX0NQVV9SNV9PRkZTRVQgKFBST0JFX0ZJUlNUX0dQUkVHX09G
RlNFVCArICg1ICogR1BSRUdfU0laRSkpCisjZGVmaW5lIFBST0JFX0NQVV9SNl9PRkZTRVQgKFBS
T0JFX0ZJUlNUX0dQUkVHX09GRlNFVCArICg2ICogR1BSRUdfU0laRSkpCisjZGVmaW5lIFBST0JF
X0NQVV9SN19PRkZTRVQgKFBST0JFX0ZJUlNUX0dQUkVHX09GRlNFVCArICg3ICogR1BSRUdfU0la
RSkpCisjZGVmaW5lIFBST0JFX0NQVV9SOF9PRkZTRVQgKFBST0JFX0ZJUlNUX0dQUkVHX09GRlNF
VCArICg4ICogR1BSRUdfU0laRSkpCisjZGVmaW5lIFBST0JFX0NQVV9SOV9PRkZTRVQgKFBST0JF
X0ZJUlNUX0dQUkVHX09GRlNFVCArICg5ICogR1BSRUdfU0laRSkpCisjZGVmaW5lIFBST0JFX0NQ
VV9SMTBfT0ZGU0VUIChQUk9CRV9GSVJTVF9HUFJFR19PRkZTRVQgKyAoMTAgKiBHUFJFR19TSVpF
KSkKKyNkZWZpbmUgUFJPQkVfQ1BVX1IxMV9PRkZTRVQgKFBST0JFX0ZJUlNUX0dQUkVHX09GRlNF
VCArICgxMSAqIEdQUkVHX1NJWkUpKQorI2RlZmluZSBQUk9CRV9DUFVfSVBfT0ZGU0VUIChQUk9C
RV9GSVJTVF9HUFJFR19PRkZTRVQgKyAoMTIgKiBHUFJFR19TSVpFKSkKKyNkZWZpbmUgUFJPQkVf
Q1BVX1NQX09GRlNFVCAoUFJPQkVfRklSU1RfR1BSRUdfT0ZGU0VUICsgKDEzICogR1BSRUdfU0la
RSkpCisjZGVmaW5lIFBST0JFX0NQVV9MUl9PRkZTRVQgKFBST0JFX0ZJUlNUX0dQUkVHX09GRlNF
VCArICgxNCAqIEdQUkVHX1NJWkUpKQorI2RlZmluZSBQUk9CRV9DUFVfUENfT0ZGU0VUIChQUk9C
RV9GSVJTVF9HUFJFR19PRkZTRVQgKyAoMTUgKiBHUFJFR19TSVpFKSkKKworI2RlZmluZSBQUk9C
RV9DUFVfQVBTUl9PRkZTRVQgKFBST0JFX0ZJUlNUX0dQUkVHX09GRlNFVCArICgxNiAqIEdQUkVH
X1NJWkUpKQorI2RlZmluZSBQUk9CRV9DUFVfRlBTQ1JfT0ZGU0VUIChQUk9CRV9GSVJTVF9HUFJF
R19PRkZTRVQgKyAoMTcgKiBHUFJFR19TSVpFKSkKKworI2RlZmluZSBQUk9CRV9GSVJTVF9GUFJF
R19PRkZTRVQgKFBST0JFX0ZJUlNUX0dQUkVHX09GRlNFVCArICgxOCAqIEdQUkVHX1NJWkUpKQor
CisjZGVmaW5lIEZQUkVHX1NJWkUgOAorI2RlZmluZSBQUk9CRV9DUFVfRDBfT0ZGU0VUIChQUk9C
RV9GSVJTVF9GUFJFR19PRkZTRVQgKyAoMCAqIEZQUkVHX1NJWkUpKQorI2RlZmluZSBQUk9CRV9D
UFVfRDFfT0ZGU0VUIChQUk9CRV9GSVJTVF9GUFJFR19PRkZTRVQgKyAoMSAqIEZQUkVHX1NJWkUp
KQorI2RlZmluZSBQUk9CRV9DUFVfRDJfT0ZGU0VUIChQUk9CRV9GSVJTVF9GUFJFR19PRkZTRVQg
KyAoMiAqIEZQUkVHX1NJWkUpKQorI2RlZmluZSBQUk9CRV9DUFVfRDNfT0ZGU0VUIChQUk9CRV9G
SVJTVF9GUFJFR19PRkZTRVQgKyAoMyAqIEZQUkVHX1NJWkUpKQorI2RlZmluZSBQUk9CRV9DUFVf
RDRfT0ZGU0VUIChQUk9CRV9GSVJTVF9GUFJFR19PRkZTRVQgKyAoNCAqIEZQUkVHX1NJWkUpKQor
I2RlZmluZSBQUk9CRV9DUFVfRDVfT0ZGU0VUIChQUk9CRV9GSVJTVF9GUFJFR19PRkZTRVQgKyAo
NSAqIEZQUkVHX1NJWkUpKQorI2RlZmluZSBQUk9CRV9DUFVfRDZfT0ZGU0VUIChQUk9CRV9GSVJT
VF9GUFJFR19PRkZTRVQgKyAoNiAqIEZQUkVHX1NJWkUpKQorI2RlZmluZSBQUk9CRV9DUFVfRDdf
T0ZGU0VUIChQUk9CRV9GSVJTVF9GUFJFR19PRkZTRVQgKyAoNyAqIEZQUkVHX1NJWkUpKQorI2Rl
ZmluZSBQUk9CRV9DUFVfRDhfT0ZGU0VUIChQUk9CRV9GSVJTVF9GUFJFR19PRkZTRVQgKyAoOCAq
IEZQUkVHX1NJWkUpKQorI2RlZmluZSBQUk9CRV9DUFVfRDlfT0ZGU0VUIChQUk9CRV9GSVJTVF9G
UFJFR19PRkZTRVQgKyAoOSAqIEZQUkVHX1NJWkUpKQorI2RlZmluZSBQUk9CRV9DUFVfRDEwX09G
RlNFVCAoUFJPQkVfRklSU1RfRlBSRUdfT0ZGU0VUICsgKDEwICogRlBSRUdfU0laRSkpCisjZGVm
aW5lIFBST0JFX0NQVV9EMTFfT0ZGU0VUIChQUk9CRV9GSVJTVF9GUFJFR19PRkZTRVQgKyAoMTEg
KiBGUFJFR19TSVpFKSkKKyNkZWZpbmUgUFJPQkVfQ1BVX0QxMl9PRkZTRVQgKFBST0JFX0ZJUlNU
X0ZQUkVHX09GRlNFVCArICgxMiAqIEZQUkVHX1NJWkUpKQorI2RlZmluZSBQUk9CRV9DUFVfRDEz
X09GRlNFVCAoUFJPQkVfRklSU1RfRlBSRUdfT0ZGU0VUICsgKDEzICogRlBSRUdfU0laRSkpCisj
ZGVmaW5lIFBST0JFX0NQVV9EMTRfT0ZGU0VUIChQUk9CRV9GSVJTVF9GUFJFR19PRkZTRVQgKyAo
MTQgKiBGUFJFR19TSVpFKSkKKyNkZWZpbmUgUFJPQkVfQ1BVX0QxNV9PRkZTRVQgKFBST0JFX0ZJ
UlNUX0ZQUkVHX09GRlNFVCArICgxNSAqIEZQUkVHX1NJWkUpKQorCisjZGVmaW5lIFBST0JFX1NJ
WkUgKFBST0JFX0ZJUlNUX0ZQUkVHX09GRlNFVCArICgxNiAqIEZQUkVHX1NJWkUpKQorCisvLyBU
aGVzZSBBU1NFUlRzIHJlbWluZCB5b3UgdGhhdCBpZiB5b3UgY2hhbmdlIHRoZSBsYXlvdXQgb2Yg
UHJvYmVDb250ZXh0LAorLy8geW91IG5lZWQgdG8gY2hhbmdlIGN0aU1hc21Qcm9iZVRyYW1wb2xp
bmUgb2Zmc2V0cyBhYm92ZSB0byBtYXRjaC4KKyNkZWZpbmUgUFJPQkVfT0ZGU0VUT0YoeCkgb2Zm
c2V0b2Yoc3RydWN0IE1hY3JvQXNzZW1ibGVyOjpQcm9iZUNvbnRleHQsIHgpCitDT01QSUxFX0FT
U0VSVChQUk9CRV9PRkZTRVRPRihwcm9iZUZ1bmN0aW9uKSA9PSBQUk9CRV9QUk9CRV9GVU5DVElP
Tl9PRkZTRVQsIFByb2JlQ29udGV4dF9wcm9iZUZ1bmN0aW9uX29mZnNldF9tYXRjaGVzX2N0aU1h
c21Qcm9iZVRyYW1wb2xpbmUpOworQ09NUElMRV9BU1NFUlQoUFJPQkVfT0ZGU0VUT0YoYXJnMSkg
PT0gUFJPQkVfQVJHMV9PRkZTRVQsIFByb2JlQ29udGV4dF9hcmcxX29mZnNldF9tYXRjaGVzX2N0
aU1hc21Qcm9iZVRyYW1wb2xpbmUpOworQ09NUElMRV9BU1NFUlQoUFJPQkVfT0ZGU0VUT0YoYXJn
MikgPT0gUFJPQkVfQVJHMl9PRkZTRVQsIFByb2JlQ29udGV4dF9hcmcyX29mZnNldF9tYXRjaGVz
X2N0aU1hc21Qcm9iZVRyYW1wb2xpbmUpOworQ09NUElMRV9BU1NFUlQoUFJPQkVfT0ZGU0VUT0Yo
aml0U3RhY2tGcmFtZSkgPT0gUFJPQkVfSklUX1NUQUNLX0ZSQU1FX09GRlNFVCwgUHJvYmVDb250
ZXh0X2ppdFN0YWNrRnJhbWVfb2Zmc2V0X21hdGNoZXNfY3RpTWFzbVByb2JlVHJhbXBvbGluZSk7
CisKK0NPTVBJTEVfQVNTRVJUKFBST0JFX09GRlNFVE9GKGNwdS5yMCkgPT0gUFJPQkVfQ1BVX1Iw
X09GRlNFVCwgUHJvYmVDb250ZXh0X2NwdV9yMF9vZmZzZXRfbWF0Y2hlc19jdGlNYXNtUHJvYmVU
cmFtcG9saW5lKTsKK0NPTVBJTEVfQVNTRVJUKFBST0JFX09GRlNFVE9GKGNwdS5yMSkgPT0gUFJP
QkVfQ1BVX1IxX09GRlNFVCwgUHJvYmVDb250ZXh0X2NwdV9yMV9vZmZzZXRfbWF0Y2hlc19jdGlN
YXNtUHJvYmVUcmFtcG9saW5lKTsKK0NPTVBJTEVfQVNTRVJUKFBST0JFX09GRlNFVE9GKGNwdS5y
MikgPT0gUFJPQkVfQ1BVX1IyX09GRlNFVCwgUHJvYmVDb250ZXh0X2NwdV9yMl9vZmZzZXRfbWF0
Y2hlc19jdGlNYXNtUHJvYmVUcmFtcG9saW5lKTsKK0NPTVBJTEVfQVNTRVJUKFBST0JFX09GRlNF
VE9GKGNwdS5yMykgPT0gUFJPQkVfQ1BVX1IzX09GRlNFVCwgUHJvYmVDb250ZXh0X2NwdV9yM19v
ZmZzZXRfbWF0Y2hlc19jdGlNYXNtUHJvYmVUcmFtcG9saW5lKTsKK0NPTVBJTEVfQVNTRVJUKFBS
T0JFX09GRlNFVE9GKGNwdS5yNCkgPT0gUFJPQkVfQ1BVX1I0X09GRlNFVCwgUHJvYmVDb250ZXh0
X2NwdV9yNF9vZmZzZXRfbWF0Y2hlc19jdGlNYXNtUHJvYmVUcmFtcG9saW5lKTsKK0NPTVBJTEVf
QVNTRVJUKFBST0JFX09GRlNFVE9GKGNwdS5yNSkgPT0gUFJPQkVfQ1BVX1I1X09GRlNFVCwgUHJv
YmVDb250ZXh0X2NwdV9yNV9vZmZzZXRfbWF0Y2hlc19jdGlNYXNtUHJvYmVUcmFtcG9saW5lKTsK
K0NPTVBJTEVfQVNTRVJUKFBST0JFX09GRlNFVE9GKGNwdS5yNikgPT0gUFJPQkVfQ1BVX1I2X09G
RlNFVCwgUHJvYmVDb250ZXh0X2NwdV9yNl9vZmZzZXRfbWF0Y2hlc19jdGlNYXNtUHJvYmVUcmFt
cG9saW5lKTsKK0NPTVBJTEVfQVNTRVJUKFBST0JFX09GRlNFVE9GKGNwdS5yNykgPT0gUFJPQkVf
Q1BVX1I3X09GRlNFVCwgUHJvYmVDb250ZXh0X2NwdV9yNzBfb2Zmc2V0X21hdGNoZXNfY3RpTWFz
bVByb2JlVHJhbXBvbGluZSk7CitDT01QSUxFX0FTU0VSVChQUk9CRV9PRkZTRVRPRihjcHUucjgp
ID09IFBST0JFX0NQVV9SOF9PRkZTRVQsIFByb2JlQ29udGV4dF9jcHVfcjhfb2Zmc2V0X21hdGNo
ZXNfY3RpTWFzbVByb2JlVHJhbXBvbGluZSk7CitDT01QSUxFX0FTU0VSVChQUk9CRV9PRkZTRVRP
RihjcHUucjkpID09IFBST0JFX0NQVV9SOV9PRkZTRVQsIFByb2JlQ29udGV4dF9jcHVfcjlfb2Zm
c2V0X21hdGNoZXNfY3RpTWFzbVByb2JlVHJhbXBvbGluZSk7CitDT01QSUxFX0FTU0VSVChQUk9C
RV9PRkZTRVRPRihjcHUucjEwKSA9PSBQUk9CRV9DUFVfUjEwX09GRlNFVCwgUHJvYmVDb250ZXh0
X2NwdV9yMTBfb2Zmc2V0X21hdGNoZXNfY3RpTWFzbVByb2JlVHJhbXBvbGluZSk7CitDT01QSUxF
X0FTU0VSVChQUk9CRV9PRkZTRVRPRihjcHUucjExKSA9PSBQUk9CRV9DUFVfUjExX09GRlNFVCwg
UHJvYmVDb250ZXh0X2NwdV9yMTFfb2Zmc2V0X21hdGNoZXNfY3RpTWFzbVByb2JlVHJhbXBvbGlu
ZSk7CitDT01QSUxFX0FTU0VSVChQUk9CRV9PRkZTRVRPRihjcHUuaXApID09IFBST0JFX0NQVV9J
UF9PRkZTRVQsIFByb2JlQ29udGV4dF9jcHVfaXBfb2Zmc2V0X21hdGNoZXNfY3RpTWFzbVByb2Jl
VHJhbXBvbGluZSk7CitDT01QSUxFX0FTU0VSVChQUk9CRV9PRkZTRVRPRihjcHUuc3ApID09IFBS
T0JFX0NQVV9TUF9PRkZTRVQsIFByb2JlQ29udGV4dF9jcHVfc3Bfb2Zmc2V0X21hdGNoZXNfY3Rp
TWFzbVByb2JlVHJhbXBvbGluZSk7CitDT01QSUxFX0FTU0VSVChQUk9CRV9PRkZTRVRPRihjcHUu
bHIpID09IFBST0JFX0NQVV9MUl9PRkZTRVQsIFByb2JlQ29udGV4dF9jcHVfbHJfb2Zmc2V0X21h
dGNoZXNfY3RpTWFzbVByb2JlVHJhbXBvbGluZSk7CitDT01QSUxFX0FTU0VSVChQUk9CRV9PRkZT
RVRPRihjcHUucGMpID09IFBST0JFX0NQVV9QQ19PRkZTRVQsIFByb2JlQ29udGV4dF9jcHVfcGNf
b2Zmc2V0X21hdGNoZXNfY3RpTWFzbVByb2JlVHJhbXBvbGluZSk7CisKK0NPTVBJTEVfQVNTRVJU
KFBST0JFX09GRlNFVE9GKGNwdS5hcHNyKSA9PSBQUk9CRV9DUFVfQVBTUl9PRkZTRVQsIFByb2Jl
Q29udGV4dF9jcHVfYXBzcl9vZmZzZXRfbWF0Y2hlc19jdGlNYXNtUHJvYmVUcmFtcG9saW5lKTsK
K0NPTVBJTEVfQVNTRVJUKFBST0JFX09GRlNFVE9GKGNwdS5mcHNjcikgPT0gUFJPQkVfQ1BVX0ZQ
U0NSX09GRlNFVCwgUHJvYmVDb250ZXh0X2NwdV9mcHNjcl9vZmZzZXRfbWF0Y2hlc19jdGlNYXNt
UHJvYmVUcmFtcG9saW5lKTsKKworQ09NUElMRV9BU1NFUlQoUFJPQkVfT0ZGU0VUT0YoY3B1LmQw
KSA9PSBQUk9CRV9DUFVfRDBfT0ZGU0VULCBQcm9iZUNvbnRleHRfY3B1X2QwX29mZnNldF9tYXRj
aGVzX2N0aU1hc21Qcm9iZVRyYW1wb2xpbmUpOworQ09NUElMRV9BU1NFUlQoUFJPQkVfT0ZGU0VU
T0YoY3B1LmQxKSA9PSBQUk9CRV9DUFVfRDFfT0ZGU0VULCBQcm9iZUNvbnRleHRfY3B1X2QxX29m
ZnNldF9tYXRjaGVzX2N0aU1hc21Qcm9iZVRyYW1wb2xpbmUpOworQ09NUElMRV9BU1NFUlQoUFJP
QkVfT0ZGU0VUT0YoY3B1LmQyKSA9PSBQUk9CRV9DUFVfRDJfT0ZGU0VULCBQcm9iZUNvbnRleHRf
Y3B1X2QyX29mZnNldF9tYXRjaGVzX2N0aU1hc21Qcm9iZVRyYW1wb2xpbmUpOworQ09NUElMRV9B
U1NFUlQoUFJPQkVfT0ZGU0VUT0YoY3B1LmQzKSA9PSBQUk9CRV9DUFVfRDNfT0ZGU0VULCBQcm9i
ZUNvbnRleHRfY3B1X2QzX29mZnNldF9tYXRjaGVzX2N0aU1hc21Qcm9iZVRyYW1wb2xpbmUpOwor
Q09NUElMRV9BU1NFUlQoUFJPQkVfT0ZGU0VUT0YoY3B1LmQ0KSA9PSBQUk9CRV9DUFVfRDRfT0ZG
U0VULCBQcm9iZUNvbnRleHRfY3B1X2Q0X29mZnNldF9tYXRjaGVzX2N0aU1hc21Qcm9iZVRyYW1w
b2xpbmUpOworQ09NUElMRV9BU1NFUlQoUFJPQkVfT0ZGU0VUT0YoY3B1LmQ1KSA9PSBQUk9CRV9D
UFVfRDVfT0ZGU0VULCBQcm9iZUNvbnRleHRfY3B1X2Q1X29mZnNldF9tYXRjaGVzX2N0aU1hc21Q
cm9iZVRyYW1wb2xpbmUpOworQ09NUElMRV9BU1NFUlQoUFJPQkVfT0ZGU0VUT0YoY3B1LmQ2KSA9
PSBQUk9CRV9DUFVfRDZfT0ZGU0VULCBQcm9iZUNvbnRleHRfY3B1X2Q2X29mZnNldF9tYXRjaGVz
X2N0aU1hc21Qcm9iZVRyYW1wb2xpbmUpOworQ09NUElMRV9BU1NFUlQoUFJPQkVfT0ZGU0VUT0Yo
Y3B1LmQ3KSA9PSBQUk9CRV9DUFVfRDdfT0ZGU0VULCBQcm9iZUNvbnRleHRfY3B1X2Q3X29mZnNl
dF9tYXRjaGVzX2N0aU1hc21Qcm9iZVRyYW1wb2xpbmUpOworQ09NUElMRV9BU1NFUlQoUFJPQkVf
T0ZGU0VUT0YoY3B1LmQ4KSA9PSBQUk9CRV9DUFVfRDhfT0ZGU0VULCBQcm9iZUNvbnRleHRfY3B1
X2Q4X29mZnNldF9tYXRjaGVzX2N0aU1hc21Qcm9iZVRyYW1wb2xpbmUpOworQ09NUElMRV9BU1NF
UlQoUFJPQkVfT0ZGU0VUT0YoY3B1LmQ5KSA9PSBQUk9CRV9DUFVfRDlfT0ZGU0VULCBQcm9iZUNv
bnRleHRfY3B1X2Q5X29mZnNldF9tYXRjaGVzX2N0aU1hc21Qcm9iZVRyYW1wb2xpbmUpOworQ09N
UElMRV9BU1NFUlQoUFJPQkVfT0ZGU0VUT0YoY3B1LmQxMCkgPT0gUFJPQkVfQ1BVX0QxMF9PRkZT
RVQsIFByb2JlQ29udGV4dF9jcHVfZDEwX29mZnNldF9tYXRjaGVzX2N0aU1hc21Qcm9iZVRyYW1w
b2xpbmUpOworQ09NUElMRV9BU1NFUlQoUFJPQkVfT0ZGU0VUT0YoY3B1LmQxMSkgPT0gUFJPQkVf
Q1BVX0QxMV9PRkZTRVQsIFByb2JlQ29udGV4dF9jcHVfZDExX29mZnNldF9tYXRjaGVzX2N0aU1h
c21Qcm9iZVRyYW1wb2xpbmUpOworQ09NUElMRV9BU1NFUlQoUFJPQkVfT0ZGU0VUT0YoY3B1LmQx
MikgPT0gUFJPQkVfQ1BVX0QxMl9PRkZTRVQsIFByb2JlQ29udGV4dF9jcHVfZDEyX29mZnNldF9t
YXRjaGVzX2N0aU1hc21Qcm9iZVRyYW1wb2xpbmUpOworQ09NUElMRV9BU1NFUlQoUFJPQkVfT0ZG
U0VUT0YoY3B1LmQxMykgPT0gUFJPQkVfQ1BVX0QxM19PRkZTRVQsIFByb2JlQ29udGV4dF9jcHVf
ZDEzX29mZnNldF9tYXRjaGVzX2N0aU1hc21Qcm9iZVRyYW1wb2xpbmUpOworQ09NUElMRV9BU1NF
UlQoUFJPQkVfT0ZGU0VUT0YoY3B1LmQxNCkgPT0gUFJPQkVfQ1BVX0QxNF9PRkZTRVQsIFByb2Jl
Q29udGV4dF9jcHVfZDE0X29mZnNldF9tYXRjaGVzX2N0aU1hc21Qcm9iZVRyYW1wb2xpbmUpOwor
Q09NUElMRV9BU1NFUlQoUFJPQkVfT0ZGU0VUT0YoY3B1LmQxNSkgPT0gUFJPQkVfQ1BVX0QxNV9P
RkZTRVQsIFByb2JlQ29udGV4dF9jcHVfZDE1X29mZnNldF9tYXRjaGVzX2N0aU1hc21Qcm9iZVRy
YW1wb2xpbmUpOworQ09NUElMRV9BU1NFUlQoc2l6ZW9mKE1hY3JvQXNzZW1ibGVyOjpQcm9iZUNv
bnRleHQpID09IFBST0JFX1NJWkUsIFByb2JlQ29udGV4dF9zaXplX21hdGNoZXNfY3RpTWFzbVBy
b2JlVHJhbXBvbGluZSk7CisjdW5kZWYgUFJPQkVfT0ZGU0VUT0YKKworI2VuZGlmIC8vIFVTRShN
QVNNX1BST0JFKQorCisKIGFzbSAoCiAiLnRleHQiICJcbiIKICIuZ2xvYmwgIiBTWU1CT0xfU1RS
SU5HKGN0aVRyYW1wb2xpbmUpICJcbiIKQEAgLTkyLDYgKzE5NiwxNTUgQEAgU1lNQk9MX1NUUklO
RyhjdGlPcFRocm93Tm90Q2F1Z2h0KSAiOiIgIgogICAgICJieCBsciIgIlxuIgogKTsKIAorI2lm
IFVTRShNQVNNX1BST0JFKQorYXNtICgKKyIudGV4dCIgIlxuIgorIi5nbG9ibCAiIFNZTUJPTF9T
VFJJTkcoY3RpTWFzbVByb2JlVHJhbXBvbGluZSkgIlxuIgorSElERV9TWU1CT0woY3RpTWFzbVBy
b2JlVHJhbXBvbGluZSkgIlxuIgorSU5MSU5FX0FSTV9GVU5DVElPTihjdGlNYXNtUHJvYmVUcmFt
cG9saW5lKSAiXG4iCitTWU1CT0xfU1RSSU5HKGN0aU1hc21Qcm9iZVRyYW1wb2xpbmUpICI6IiAi
XG4iCisKKyAgICAvLyBNYWNyb0Fzc2VtYmxlcjo6cHJvYmUoKSBoYXMgYWxyZWFkeSBnZW5lcmF0
ZWQgY29kZSB0byBzdG9yZSBzb21lIHZhbHVlcy4KKyAgICAvLyBUaGUgdG9wIG9mIHN0YWNrIG5v
dyBsb29rcyBsaWtlIHRoaXM6CisgICAgLy8gICAgIGVzcFswICogcHRyU2l6ZV06IHByb2JlRnVu
Y3Rpb24KKyAgICAvLyAgICAgZXNwWzEgKiBwdHJTaXplXTogYXJnMQorICAgIC8vICAgICBlc3Bb
MiAqIHB0clNpemVdOiBhcmcyCisgICAgLy8gICAgIGVzcFszICogcHRyU2l6ZV06IHNhdmVkIHIz
IC8gUzAKKyAgICAvLyAgICAgZXNwWzQgKiBwdHJTaXplXTogc2F2ZWQgaXAKKyAgICAvLyAgICAg
ZXNwWzUgKiBwdHJTaXplXTogc2F2ZWQgbHIKKyAgICAvLyAgICAgZXNwWzYgKiBwdHJTaXplXTog
c2F2ZWQgc3AKKworICAgICJtb3YgICAgICAgaXAsIHNwIiAiXG4iCisgICAgIm1vdiAgICAgICBy
Mywgc3AiICJcbiIKKyAgICAic3ViICAgICAgIHIzLCByMywgIyIgU1RSSU5HSVpFX1ZBTFVFX09G
KFBST0JFX1NJWkUpICJcbiIKKworICAgIC8vIFRoZSBBUk0gRUFCSSBzcGVjaWZpZXMgdGhhdCB0
aGUgc3RhY2sgbmVlZHMgdG8gYmUgMTYgYnl0ZSBhbGlnbmVkLgorICAgICJiaWMgICAgICAgcjMs
IHIzLCAjMHhmIiAiXG4iCisgICAgIm1vdiAgICAgICBzcCwgcjMiICJcbiIKKworICAgICJzdHIg
ICAgICAgbHIsIFtzcCwgIyIgU1RSSU5HSVpFX1ZBTFVFX09GKFBST0JFX0NQVV9QQ19PRkZTRVQp
ICJdIiAiXG4iCisgICAgImFkZCAgICAgICBsciwgc3AsICMiIFNUUklOR0laRV9WQUxVRV9PRihQ
Uk9CRV9DUFVfUjBfT0ZGU0VUKSAiXG4iCisgICAgInN0bWlhICAgICBsciwgeyByMC1yMTEgfSIg
IlxuIgorICAgICJtcnMgICAgICAgbHIsIEFQU1IiICJcbiIKKyAgICAic3RyICAgICAgIGxyLCBb
c3AsICMiIFNUUklOR0laRV9WQUxVRV9PRihQUk9CRV9DUFVfQVBTUl9PRkZTRVQpICJdIiAiXG4i
CisgICAgInZtcnMgICAgICBsciwgRlBTQ1IiICJcbiIKKyAgICAic3RyICAgICAgIGxyLCBbc3As
ICMiIFNUUklOR0laRV9WQUxVRV9PRihQUk9CRV9DUFVfRlBTQ1JfT0ZGU0VUKSAiXSIgIlxuIgor
CisgICAgImxkciAgICAgICBsciwgW2lwLCAjMCAqICIgU1RSSU5HSVpFX1ZBTFVFX09GKFBUUl9T
SVpFKSAiXSIgIlxuIgorICAgICJzdHIgICAgICAgbHIsIFtzcCwgIyIgU1RSSU5HSVpFX1ZBTFVF
X09GKFBST0JFX1BST0JFX0ZVTkNUSU9OX09GRlNFVCkgIl0iICJcbiIKKyAgICAibGRyICAgICAg
IGxyLCBbaXAsICMxICogIiBTVFJJTkdJWkVfVkFMVUVfT0YoUFRSX1NJWkUpICJdIiAiXG4iCisg
ICAgInN0ciAgICAgICBsciwgW3NwLCAjIiBTVFJJTkdJWkVfVkFMVUVfT0YoUFJPQkVfQVJHMV9P
RkZTRVQpICJdIiAiXG4iCisgICAgImxkciAgICAgICBsciwgW2lwLCAjMiAqICIgU1RSSU5HSVpF
X1ZBTFVFX09GKFBUUl9TSVpFKSAiXSIgIlxuIgorICAgICJzdHIgICAgICAgbHIsIFtzcCwgIyIg
U1RSSU5HSVpFX1ZBTFVFX09GKFBST0JFX0FSRzJfT0ZGU0VUKSAiXSIgIlxuIgorICAgICJsZHIg
ICAgICAgbHIsIFtpcCwgIzMgKiAiIFNUUklOR0laRV9WQUxVRV9PRihQVFJfU0laRSkgIl0iICJc
biIKKyAgICAic3RyICAgICAgIGxyLCBbc3AsICMiIFNUUklOR0laRV9WQUxVRV9PRihQUk9CRV9D
UFVfUjNfT0ZGU0VUKSAiXSIgIlxuIgorICAgICJsZHIgICAgICAgbHIsIFtpcCwgIzQgKiAiIFNU
UklOR0laRV9WQUxVRV9PRihQVFJfU0laRSkgIl0iICJcbiIKKyAgICAic3RyICAgICAgIGxyLCBb
c3AsICMiIFNUUklOR0laRV9WQUxVRV9PRihQUk9CRV9DUFVfSVBfT0ZGU0VUKSAiXSIgIlxuIgor
ICAgICJsZHIgICAgICAgbHIsIFtpcCwgIzUgKiAiIFNUUklOR0laRV9WQUxVRV9PRihQVFJfU0la
RSkgIl0iICJcbiIKKyAgICAic3RyICAgICAgIGxyLCBbc3AsICMiIFNUUklOR0laRV9WQUxVRV9P
RihQUk9CRV9DUFVfTFJfT0ZGU0VUKSAiXSIgIlxuIgorICAgICJsZHIgICAgICAgbHIsIFtpcCwg
IzYgKiAiIFNUUklOR0laRV9WQUxVRV9PRihQVFJfU0laRSkgIl0iICJcbiIKKyAgICAic3RyICAg
ICAgIGxyLCBbc3AsICMiIFNUUklOR0laRV9WQUxVRV9PRihQUk9CRV9DUFVfU1BfT0ZGU0VUKSAi
XSIgIlxuIgorICAgICJzdHIgICAgICAgbHIsIFtzcCwgIyIgU1RSSU5HSVpFX1ZBTFVFX09GKFBS
T0JFX0pJVF9TVEFDS19GUkFNRV9PRkZTRVQpICJdIiAiXG4iCisKKyAgICAibGRyICAgICAgIGxy
LCBbc3AsICMiIFNUUklOR0laRV9WQUxVRV9PRihQUk9CRV9DUFVfUENfT0ZGU0VUKSAiXSIgIlxu
IgorCisgICAgImFkZCAgICAgICBpcCwgc3AsICMiIFNUUklOR0laRV9WQUxVRV9PRihQUk9CRV9D
UFVfRDBfT0ZGU0VUKSAiXG4iCisgICAgInZzdG1pYS42NCBpcCwgeyBkMC1kMTUgfSIgIlxuIgor
CisgICAgIm1vdiAgICAgICBmcCwgc3AiICJcbiIgLy8gU2F2ZSB0aGUgUHJvYmVDb250ZXh0Ki4K
KworICAgICJsZHIgICAgICAgaXAsIFtzcCwgIyIgU1RSSU5HSVpFX1ZBTFVFX09GKFBST0JFX1BS
T0JFX0ZVTkNUSU9OX09GRlNFVCkgIl0iICJcbiIKKyAgICAibW92ICAgICAgIHIwLCBzcCIgIlxu
IiAvLyB0aGUgUHJvYmVDb250ZXh0KiBhcmcuCisgICAgImJseCAgICAgICBpcCIgIlxuIgorCisg
ICAgIm1vdiAgICAgICBzcCwgZnAiICJcbiIKKworICAgIC8vIFRvIGVuYWJsZSBwcm9iZXMgdG8g
bW9kaWZ5IHJlZ2lzdGVyIHN0YXRlLCB3ZSBjb3B5IGFsbCByZWdpc3RlcnMKKyAgICAvLyBvdXQg
b2YgdGhlIFByb2JlQ29udGV4dCBiZWZvcmUgcmV0dXJuaW5nLgorCisgICAgImFkZCAgICAgICBp
cCwgc3AsICMiIFNUUklOR0laRV9WQUxVRV9PRihQUk9CRV9DUFVfRDE1X09GRlNFVCArIEZQUkVH
X1NJWkUpICJcbiIKKyAgICAidmxkbWRiLjY0IGlwISwgeyBkMC1kMTUgfSIgIlxuIgorICAgICJh
ZGQgICAgICAgaXAsIHNwLCAjIiBTVFJJTkdJWkVfVkFMVUVfT0YoUFJPQkVfQ1BVX1IxMV9PRkZT
RVQgKyBHUFJFR19TSVpFKSAiXG4iCisgICAgImxkbWRiICAgICBpcCwgeyByMC1yMTEgfSIgIlxu
IgorICAgICJsZHIgICAgICAgaXAsIFtzcCwgIyIgU1RSSU5HSVpFX1ZBTFVFX09GKFBST0JFX0NQ
VV9GUFNDUl9PRkZTRVQpICJdIiAiXG4iCisgICAgInZtc3IgICAgICBGUFNDUiwgaXAiICJcbiIK
KworICAgIC8vIFRoZXJlIGFyZSA1IG1vcmUgcmVnaXN0ZXJzIGxlZnQgdG8gcmVzdG9yZTogaXAs
IHNwLCBsciwgcGMsIGFuZCBhcHNyLgorICAgIC8vIFRoZXJlIGFyZSAyIGlzc3VlcyB0aGF0IGNv
bXBsaWNhdGUgdGhlIHJlc3RvcmF0aW9uIG9mIHRoZXNlIGxhc3QgZmV3CisgICAgLy8gcmVnaXN0
ZXJzOgorICAgIC8vCisgICAgLy8gMS4gTm9ybWFsIEFSTSBjYWxsaW5nIGNvbnZlbnRpb24gcmVs
aWVzIG9uIG1vdmluZyBsciB0byBwYyB0byByZXR1cm4gdG8KKyAgICAvLyAgICB0aGUgY2FsbGVy
LiBJbiBvdXIgY2FzZSwgdGhlIGFkZHJlc3MgdG8gcmV0dXJuIHRvIGlzIHNwZWNpZmllZCBieQor
ICAgIC8vICAgIFByb2JlQ29udGV4dC5jcHUucGMuIEFuZCBhdCB0aGF0IG1vbWVudCwgd2Ugd29u
J3QgaGF2ZSBhbnkgYXZhaWxhYmxlCisgICAgLy8gICAgc2NyYXRjaCByZWdpc3RlcnMgdG8gaG9s
ZCB0aGUgcmV0dXJuIGFkZHJlc3MgKGxyIG5lZWRzIHRvIGhvbGQKKyAgICAvLyAgICBQcm9iZUNv
bnRleHQuY3B1LmxyLCBub3QgdGhlIHJldHVybiBhZGRyZXNzKS4KKyAgICAvLworICAgIC8vICAg
IFRoZSBzb2x1dGlvbiBpcyB0byBzdG9yZSB0aGUgcmV0dXJuIGFkZHJlc3Mgb24gdGhlIHN0YWNr
IGFuZCBsb2FkIHRoZQorICAgIC8vICAgICBwYyBmcm9tIHRoZXJlLgorICAgIC8vCisgICAgLy8g
Mi4gSXNzdWUgMSBtZWFucyB3ZSB3aWxsIG5lZWQgdG8gd3JpdGUgdG8gdGhlIHN0YWNrIGxvY2F0
aW9uIGF0CisgICAgLy8gICAgUHJvYmVDb250ZXh0LmNwdS5zcCAtIDQuIEJ1dCBpZiB0aGUgdXNl
ciBwcm9iZSBmdW5jdGlvbiBoYWQgIG1vZGlmaWVkCisgICAgLy8gICAgdGhlIHZhbHVlIG9mIFBy
b2JlQ29udGV4dC5jcHUuc3AgdG8gcG9pbnQgaW4gdGhlIHJhbmdlIGJldHdlZW4KKyAgICAvLyAg
ICAmUHJvYmVDb250ZXh0LmNwdS5pcCB0aHJ1ICZQcm9iZUNvbnRleHQuY3B1LmFzcHIsIHRoZW4g
dGhlIGFjdGlvbiBmb3IKKyAgICAvLyAgICBJc3N1ZSAxIG1heSB0cmFzaCB0aGUgdmFsdWVzIHRv
IGJlIHJlc3RvcmVkIGJlZm9yZSB3ZSBjYW4gcmVzdG9yZQorICAgIC8vICAgIHRoZW0uCisgICAg
Ly8KKyAgICAvLyAgICBUaGUgc29sdXRpb24gaXMgdG8gY2hlY2sgaWYgUHJvYmVDb250ZXh0LmNw
dS5zcCBjb250YWlucyBhIHZhbHVlIGluCisgICAgLy8gICAgdGhlIHVuZGVzaXJhYmxlIHJhbmdl
LiBJZiBzbywgd2UgY29weSB0aGUgcmVtYWluaW5nIFByb2JlQ29udGV4dAorICAgIC8vICAgIHJl
Z2lzdGVyIGRhdGEgdG8gYSBzYWZlIHJhbmdlIChhdCBtZW1vcnkgbG93ZXIgdGhhbiB3aGVyZQor
ICAgIC8vICAgIFByb2JlQ29udGV4dC5jcHUuc3AgcG9pbnRzKSBmaXJzdCwgYW5kIHJlc3RvcmUg
dGhlIHJlbWFpbmluZyByZWdpc3RlcgorICAgIC8vICAgIGZyb20gdGhpcyBuZXcgcmFuZ2UuCisK
KyAgICAiYWRkICAgICAgIGlwLCBzcCwgIyIgU1RSSU5HSVpFX1ZBTFVFX09GKFBST0JFX0NQVV9B
UFNSX09GRlNFVCkgIlxuIgorICAgICJsZHIgICAgICAgbHIsIFtzcCwgIyIgU1RSSU5HSVpFX1ZB
TFVFX09GKFBST0JFX0NQVV9TUF9PRkZTRVQpICJdIiAiXG4iCisgICAgImNtcCAgICAgICBsciwg
aXAiICJcbiIKKyAgICAiYmd0ICAgICAiIFNZTUJPTF9TVFJJTkcoY3RpTWFzbVByb2JlVHJhbXBv
bGluZUVuZCkgIlxuIgorCisgICAgLy8gV2UgZ2V0IGhlcmUgYmVjYXVzZSB0aGUgbmV3IGV4cGVj
dGVkIHN0YWNrIHBvaW50ZXIgbG9jYXRpb24gaXMgbG93ZXIKKyAgICAvLyB0aGFuIHdoZXJlIGl0
J3Mgc3VwcG9zZWQgdG8gYmUuIFRoaXMgbWVhbnMgdGhlIHNhZmUgcmFuZ2Ugb2Ygc3RhY2sKKyAg
ICAvLyBtZW1vcnkgd2hlcmUgd2UnbGwgYmUgY29weWluZyB0aGUgcmVtYWluaW5nIHJlZ2lzdGVy
IHJlc3RvcmUgdmFsdWVzIHRvCisgICAgLy8gbWlnaHQgYmUgaW4gYSByZWdpb24gb2YgbWVtb3J5
IGJlbG93IHRoZSBzcCBpLmUuIHVuYWxsb2NhdGVkIHN0YWNrCisgICAgLy8gbWVtb3J5LiBUaGlz
IGluIHR1cm4gbWFrZXMgaXQgdnVsbmVyYWJsZSB0byBpbnRlcnJ1cHRzIHBvdGVudGlhbGx5Cisg
ICAgLy8gdHJhc2hpbmcgdGhlIGNvcGllZCB2YWx1ZXMuIFRvIHByZXZlbnQgdGhhdCwgd2UgbXVz
dCBmaXJzdCBhbGxvY2F0ZSB0aGUKKyAgICAvLyBuZWVkZWQgc3RhY2sgbWVtb3J5IGJ5IGFkanVz
dGluZyB0aGUgc3AgYmVmb3JlIHRoZSBjb3B5aW5nLgorCisgICAgInN1YiAgICAgICBsciwgbHIs
ICMoNiAqICIgU1RSSU5HSVpFX1ZBTFVFX09GKFBUUl9TSVpFKSAKKyAgICAgICAgICAgICAgICAg
ICAgICAgICAiICsgIiBTVFJJTkdJWkVfVkFMVUVfT0YoUFJPQkVfQ1BVX0lQX09GRlNFVCkgIiki
ICJcbiIKKworICAgICJtb3YgICAgICAgaXAsIHNwIiAiXG4iCisgICAgIm1vdiAgICAgICBzcCwg
bHIiICJcbiIKKyAgICAibW92ICAgICAgIGxyLCBpcCIgIlxuIgorCisgICAgImxkciAgICAgICBp
cCwgW2xyLCAjIiBTVFJJTkdJWkVfVkFMVUVfT0YoUFJPQkVfQ1BVX0lQX09GRlNFVCkgIl0iICJc
biIKKyAgICAic3RyICAgICAgIGlwLCBbc3AsICMiIFNUUklOR0laRV9WQUxVRV9PRihQUk9CRV9D
UFVfSVBfT0ZGU0VUKSAiXSIgIlxuIgorICAgICJsZHIgICAgICAgaXAsIFtsciwgIyIgU1RSSU5H
SVpFX1ZBTFVFX09GKFBST0JFX0NQVV9TUF9PRkZTRVQpICJdIiAiXG4iCisgICAgInN0ciAgICAg
ICBpcCwgW3NwLCAjIiBTVFJJTkdJWkVfVkFMVUVfT0YoUFJPQkVfQ1BVX1NQX09GRlNFVCkgIl0i
ICJcbiIKKyAgICAibGRyICAgICAgIGlwLCBbbHIsICMiIFNUUklOR0laRV9WQUxVRV9PRihQUk9C
RV9DUFVfTFJfT0ZGU0VUKSAiXSIgIlxuIgorICAgICJzdHIgICAgICAgaXAsIFtzcCwgIyIgU1RS
SU5HSVpFX1ZBTFVFX09GKFBST0JFX0NQVV9MUl9PRkZTRVQpICJdIiAiXG4iCisgICAgImxkciAg
ICAgICBpcCwgW2xyLCAjIiBTVFJJTkdJWkVfVkFMVUVfT0YoUFJPQkVfQ1BVX1BDX09GRlNFVCkg
Il0iICJcbiIKKyAgICAic3RyICAgICAgIGlwLCBbc3AsICMiIFNUUklOR0laRV9WQUxVRV9PRihQ
Uk9CRV9DUFVfUENfT0ZGU0VUKSAiXSIgIlxuIgorICAgICJsZHIgICAgICAgaXAsIFtsciwgIyIg
U1RSSU5HSVpFX1ZBTFVFX09GKFBST0JFX0NQVV9BUFNSX09GRlNFVCkgIl0iICJcbiIKKyAgICAi
c3RyICAgICAgIGlwLCBbc3AsICMiIFNUUklOR0laRV9WQUxVRV9PRihQUk9CRV9DUFVfQVBTUl9P
RkZTRVQpICJdIiAiXG4iCisKK1NZTUJPTF9TVFJJTkcoY3RpTWFzbVByb2JlVHJhbXBvbGluZUVu
ZCkgIjoiICJcbiIKKyAgICAibGRyICAgICAgIGlwLCBbc3AsICMiIFNUUklOR0laRV9WQUxVRV9P
RihQUk9CRV9DUFVfUENfT0ZGU0VUKSAiXSIgIlxuIgorICAgICJsZHIgICAgICAgbHIsIFtzcCwg
IyIgU1RSSU5HSVpFX1ZBTFVFX09GKFBST0JFX0NQVV9TUF9PRkZTRVQpICJdIiAiXG4iCisgICAg
InN1YiAgICAgICBsciwgbHIsICMiIFNUUklOR0laRV9WQUxVRV9PRihQVFJfU0laRSkgIlxuIgor
ICAgICJzdHIgICAgICAgaXAsIFtscl0iICJcbiIKKyAgICAic3RyICAgICAgIGxyLCBbc3AsICMi
IFNUUklOR0laRV9WQUxVRV9PRihQUk9CRV9DUFVfU1BfT0ZGU0VUKSAiXSIgIlxuIgorCisgICAg
ImxkciAgICAgICBpcCwgW3NwLCAjIiBTVFJJTkdJWkVfVkFMVUVfT0YoUFJPQkVfQ1BVX0FQU1Jf
T0ZGU0VUKSAiXSIgIlxuIgorICAgICJtc3IgICAgICAgQVBTUiwgaXAiICJcbiIKKyAgICAibGRy
ICAgICAgIGlwLCBbc3AsICMiIFNUUklOR0laRV9WQUxVRV9PRihQUk9CRV9DUFVfTFJfT0ZGU0VU
KSAiXSIgIlxuIgorICAgICJtb3YgICAgICAgbHIsIGlwIiAiXG4iCisgICAgImxkciAgICAgICBp
cCwgW3NwLCAjIiBTVFJJTkdJWkVfVkFMVUVfT0YoUFJPQkVfQ1BVX0lQX09GRlNFVCkgIl0iICJc
biIKKyAgICAibGRyICAgICAgIHNwLCBbc3AsICMiIFNUUklOR0laRV9WQUxVRV9PRihQUk9CRV9D
UFVfU1BfT0ZGU0VUKSAiXSIgIlxuIgorCisgICAgInBvcCAgICAgICB7IHBjIH0iICJcbiIKKyk7
CisjZW5kaWYgLy8gVVNFKE1BU01fUFJPQkUpCisKKwogI2RlZmluZSBERUZJTkVfU1RVQl9GVU5D
VElPTihydHlwZSwgb3ApIFwKICAgICBleHRlcm4gIkMiIHsgXAogICAgICAgICBydHlwZSBKSVRT
dHViVGh1bmtlZF8jI29wKFNUVUJfQVJHU19ERUNMQVJBVElPTik7IFwKSW5kZXg6IFNvdXJjZS9K
YXZhU2NyaXB0Q29yZS9qaXQvSklUU3R1YnNBUk12Ny5oCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9K
YXZhU2NyaXB0Q29yZS9qaXQvSklUU3R1YnNBUk12Ny5oCShyZXZpc2lvbiAxNTA4MjcpCisrKyBT
b3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0pJVFN0dWJzQVJNdjcuaAkod29ya2luZyBjb3B5KQpA
QCAtNTYsNiArNTYsMTUzIEBAIG5hbWVzcGFjZSBKU0MgewogCiAjaWYgQ09NUElMRVIoR0NDKQog
CisjaWYgVVNFKE1BU01fUFJPQkUpCisvLyBUaGUgZm9sbG93aW5nIGFyZSBvZmZzZXRzIGZvciBN
YWNyb0Fzc2VtYmxlcjo6UHJvYmVDb250ZXh0IGZpZWxkcyBhY2Nlc3NlZAorLy8gYnkgdGhlIGN0
aU1hc21Qcm9iZVRyYW1wb2xpbmUgc3R1Yi4KKworI2RlZmluZSBQVFJfU0laRSA0CisjZGVmaW5l
IFBST0JFX1BST0JFX0ZVTkNUSU9OX09GRlNFVCAoMCAqIFBUUl9TSVpFKQorI2RlZmluZSBQUk9C
RV9BUkcxX09GRlNFVCAoMSAqIFBUUl9TSVpFKQorI2RlZmluZSBQUk9CRV9BUkcyX09GRlNFVCAo
MiAqIFBUUl9TSVpFKQorI2RlZmluZSBQUk9CRV9KSVRfU1RBQ0tfRlJBTUVfT0ZGU0VUICgzICog
UFRSX1NJWkUpCisKKyNkZWZpbmUgUFJPQkVfRklSU1RfR1BSRUdfT0ZGU0VUICg0ICogUFRSX1NJ
WkUpCisKKyNkZWZpbmUgR1BSRUdfU0laRSA0CisjZGVmaW5lIFBST0JFX0NQVV9SMF9PRkZTRVQg
KFBST0JFX0ZJUlNUX0dQUkVHX09GRlNFVCArICgwICogR1BSRUdfU0laRSkpCisjZGVmaW5lIFBS
T0JFX0NQVV9SMV9PRkZTRVQgKFBST0JFX0ZJUlNUX0dQUkVHX09GRlNFVCArICgxICogR1BSRUdf
U0laRSkpCisjZGVmaW5lIFBST0JFX0NQVV9SMl9PRkZTRVQgKFBST0JFX0ZJUlNUX0dQUkVHX09G
RlNFVCArICgyICogR1BSRUdfU0laRSkpCisjZGVmaW5lIFBST0JFX0NQVV9SM19PRkZTRVQgKFBS
T0JFX0ZJUlNUX0dQUkVHX09GRlNFVCArICgzICogR1BSRUdfU0laRSkpCisjZGVmaW5lIFBST0JF
X0NQVV9SNF9PRkZTRVQgKFBST0JFX0ZJUlNUX0dQUkVHX09GRlNFVCArICg0ICogR1BSRUdfU0la
RSkpCisjZGVmaW5lIFBST0JFX0NQVV9SNV9PRkZTRVQgKFBST0JFX0ZJUlNUX0dQUkVHX09GRlNF
VCArICg1ICogR1BSRUdfU0laRSkpCisjZGVmaW5lIFBST0JFX0NQVV9SNl9PRkZTRVQgKFBST0JF
X0ZJUlNUX0dQUkVHX09GRlNFVCArICg2ICogR1BSRUdfU0laRSkpCisjZGVmaW5lIFBST0JFX0NQ
VV9SN19PRkZTRVQgKFBST0JFX0ZJUlNUX0dQUkVHX09GRlNFVCArICg3ICogR1BSRUdfU0laRSkp
CisjZGVmaW5lIFBST0JFX0NQVV9SOF9PRkZTRVQgKFBST0JFX0ZJUlNUX0dQUkVHX09GRlNFVCAr
ICg4ICogR1BSRUdfU0laRSkpCisjZGVmaW5lIFBST0JFX0NQVV9SOV9PRkZTRVQgKFBST0JFX0ZJ
UlNUX0dQUkVHX09GRlNFVCArICg5ICogR1BSRUdfU0laRSkpCisjZGVmaW5lIFBST0JFX0NQVV9S
MTBfT0ZGU0VUIChQUk9CRV9GSVJTVF9HUFJFR19PRkZTRVQgKyAoMTAgKiBHUFJFR19TSVpFKSkK
KyNkZWZpbmUgUFJPQkVfQ1BVX1IxMV9PRkZTRVQgKFBST0JFX0ZJUlNUX0dQUkVHX09GRlNFVCAr
ICgxMSAqIEdQUkVHX1NJWkUpKQorI2RlZmluZSBQUk9CRV9DUFVfSVBfT0ZGU0VUIChQUk9CRV9G
SVJTVF9HUFJFR19PRkZTRVQgKyAoMTIgKiBHUFJFR19TSVpFKSkKKyNkZWZpbmUgUFJPQkVfQ1BV
X1NQX09GRlNFVCAoUFJPQkVfRklSU1RfR1BSRUdfT0ZGU0VUICsgKDEzICogR1BSRUdfU0laRSkp
CisjZGVmaW5lIFBST0JFX0NQVV9MUl9PRkZTRVQgKFBST0JFX0ZJUlNUX0dQUkVHX09GRlNFVCAr
ICgxNCAqIEdQUkVHX1NJWkUpKQorI2RlZmluZSBQUk9CRV9DUFVfUENfT0ZGU0VUIChQUk9CRV9G
SVJTVF9HUFJFR19PRkZTRVQgKyAoMTUgKiBHUFJFR19TSVpFKSkKKworI2RlZmluZSBQUk9CRV9D
UFVfQVBTUl9PRkZTRVQgKFBST0JFX0ZJUlNUX0dQUkVHX09GRlNFVCArICgxNiAqIEdQUkVHX1NJ
WkUpKQorI2RlZmluZSBQUk9CRV9DUFVfRlBTQ1JfT0ZGU0VUIChQUk9CRV9GSVJTVF9HUFJFR19P
RkZTRVQgKyAoMTcgKiBHUFJFR19TSVpFKSkKKworI2RlZmluZSBQUk9CRV9GSVJTVF9GUFJFR19P
RkZTRVQgKFBST0JFX0ZJUlNUX0dQUkVHX09GRlNFVCArICgxOCAqIEdQUkVHX1NJWkUpKQorCisj
ZGVmaW5lIEZQUkVHX1NJWkUgOAorI2RlZmluZSBQUk9CRV9DUFVfRDBfT0ZGU0VUIChQUk9CRV9G
SVJTVF9GUFJFR19PRkZTRVQgKyAoMCAqIEZQUkVHX1NJWkUpKQorI2RlZmluZSBQUk9CRV9DUFVf
RDFfT0ZGU0VUIChQUk9CRV9GSVJTVF9GUFJFR19PRkZTRVQgKyAoMSAqIEZQUkVHX1NJWkUpKQor
I2RlZmluZSBQUk9CRV9DUFVfRDJfT0ZGU0VUIChQUk9CRV9GSVJTVF9GUFJFR19PRkZTRVQgKyAo
MiAqIEZQUkVHX1NJWkUpKQorI2RlZmluZSBQUk9CRV9DUFVfRDNfT0ZGU0VUIChQUk9CRV9GSVJT
VF9GUFJFR19PRkZTRVQgKyAoMyAqIEZQUkVHX1NJWkUpKQorI2RlZmluZSBQUk9CRV9DUFVfRDRf
T0ZGU0VUIChQUk9CRV9GSVJTVF9GUFJFR19PRkZTRVQgKyAoNCAqIEZQUkVHX1NJWkUpKQorI2Rl
ZmluZSBQUk9CRV9DUFVfRDVfT0ZGU0VUIChQUk9CRV9GSVJTVF9GUFJFR19PRkZTRVQgKyAoNSAq
IEZQUkVHX1NJWkUpKQorI2RlZmluZSBQUk9CRV9DUFVfRDZfT0ZGU0VUIChQUk9CRV9GSVJTVF9G
UFJFR19PRkZTRVQgKyAoNiAqIEZQUkVHX1NJWkUpKQorI2RlZmluZSBQUk9CRV9DUFVfRDdfT0ZG
U0VUIChQUk9CRV9GSVJTVF9GUFJFR19PRkZTRVQgKyAoNyAqIEZQUkVHX1NJWkUpKQorI2RlZmlu
ZSBQUk9CRV9DUFVfRDhfT0ZGU0VUIChQUk9CRV9GSVJTVF9GUFJFR19PRkZTRVQgKyAoOCAqIEZQ
UkVHX1NJWkUpKQorI2RlZmluZSBQUk9CRV9DUFVfRDlfT0ZGU0VUIChQUk9CRV9GSVJTVF9GUFJF
R19PRkZTRVQgKyAoOSAqIEZQUkVHX1NJWkUpKQorI2RlZmluZSBQUk9CRV9DUFVfRDEwX09GRlNF
VCAoUFJPQkVfRklSU1RfRlBSRUdfT0ZGU0VUICsgKDEwICogRlBSRUdfU0laRSkpCisjZGVmaW5l
IFBST0JFX0NQVV9EMTFfT0ZGU0VUIChQUk9CRV9GSVJTVF9GUFJFR19PRkZTRVQgKyAoMTEgKiBG
UFJFR19TSVpFKSkKKyNkZWZpbmUgUFJPQkVfQ1BVX0QxMl9PRkZTRVQgKFBST0JFX0ZJUlNUX0ZQ
UkVHX09GRlNFVCArICgxMiAqIEZQUkVHX1NJWkUpKQorI2RlZmluZSBQUk9CRV9DUFVfRDEzX09G
RlNFVCAoUFJPQkVfRklSU1RfRlBSRUdfT0ZGU0VUICsgKDEzICogRlBSRUdfU0laRSkpCisjZGVm
aW5lIFBST0JFX0NQVV9EMTRfT0ZGU0VUIChQUk9CRV9GSVJTVF9GUFJFR19PRkZTRVQgKyAoMTQg
KiBGUFJFR19TSVpFKSkKKyNkZWZpbmUgUFJPQkVfQ1BVX0QxNV9PRkZTRVQgKFBST0JFX0ZJUlNU
X0ZQUkVHX09GRlNFVCArICgxNSAqIEZQUkVHX1NJWkUpKQorCisjaWYgQ1BVKEFQUExFX0FSTVY3
UykKKyNkZWZpbmUgUFJPQkVfQ1BVX0QxNl9PRkZTRVQgKFBST0JFX0ZJUlNUX0ZQUkVHX09GRlNF
VCArICgxNiAqIEZQUkVHX1NJWkUpKQorI2RlZmluZSBQUk9CRV9DUFVfRDE3X09GRlNFVCAoUFJP
QkVfRklSU1RfRlBSRUdfT0ZGU0VUICsgKDE3ICogRlBSRUdfU0laRSkpCisjZGVmaW5lIFBST0JF
X0NQVV9EMThfT0ZGU0VUIChQUk9CRV9GSVJTVF9GUFJFR19PRkZTRVQgKyAoMTggKiBGUFJFR19T
SVpFKSkKKyNkZWZpbmUgUFJPQkVfQ1BVX0QxOV9PRkZTRVQgKFBST0JFX0ZJUlNUX0ZQUkVHX09G
RlNFVCArICgxOSAqIEZQUkVHX1NJWkUpKQorI2RlZmluZSBQUk9CRV9DUFVfRDIwX09GRlNFVCAo
UFJPQkVfRklSU1RfRlBSRUdfT0ZGU0VUICsgKDIwICogRlBSRUdfU0laRSkpCisjZGVmaW5lIFBS
T0JFX0NQVV9EMjFfT0ZGU0VUIChQUk9CRV9GSVJTVF9GUFJFR19PRkZTRVQgKyAoMjEgKiBGUFJF
R19TSVpFKSkKKyNkZWZpbmUgUFJPQkVfQ1BVX0QyMl9PRkZTRVQgKFBST0JFX0ZJUlNUX0ZQUkVH
X09GRlNFVCArICgyMiAqIEZQUkVHX1NJWkUpKQorI2RlZmluZSBQUk9CRV9DUFVfRDIzX09GRlNF
VCAoUFJPQkVfRklSU1RfRlBSRUdfT0ZGU0VUICsgKDIzICogRlBSRUdfU0laRSkpCisjZGVmaW5l
IFBST0JFX0NQVV9EMjRfT0ZGU0VUIChQUk9CRV9GSVJTVF9GUFJFR19PRkZTRVQgKyAoMjQgKiBG
UFJFR19TSVpFKSkKKyNkZWZpbmUgUFJPQkVfQ1BVX0QyNV9PRkZTRVQgKFBST0JFX0ZJUlNUX0ZQ
UkVHX09GRlNFVCArICgyNSAqIEZQUkVHX1NJWkUpKQorI2RlZmluZSBQUk9CRV9DUFVfRDI2X09G
RlNFVCAoUFJPQkVfRklSU1RfRlBSRUdfT0ZGU0VUICsgKDI2ICogRlBSRUdfU0laRSkpCisjZGVm
aW5lIFBST0JFX0NQVV9EMjdfT0ZGU0VUIChQUk9CRV9GSVJTVF9GUFJFR19PRkZTRVQgKyAoMjcg
KiBGUFJFR19TSVpFKSkKKyNkZWZpbmUgUFJPQkVfQ1BVX0QyOF9PRkZTRVQgKFBST0JFX0ZJUlNU
X0ZQUkVHX09GRlNFVCArICgyOCAqIEZQUkVHX1NJWkUpKQorI2RlZmluZSBQUk9CRV9DUFVfRDI5
X09GRlNFVCAoUFJPQkVfRklSU1RfRlBSRUdfT0ZGU0VUICsgKDI5ICogRlBSRUdfU0laRSkpCisj
ZGVmaW5lIFBST0JFX0NQVV9EMzBfT0ZGU0VUIChQUk9CRV9GSVJTVF9GUFJFR19PRkZTRVQgKyAo
MzAgKiBGUFJFR19TSVpFKSkKKyNkZWZpbmUgUFJPQkVfQ1BVX0QzMV9PRkZTRVQgKFBST0JFX0ZJ
UlNUX0ZQUkVHX09GRlNFVCArICgzMSAqIEZQUkVHX1NJWkUpKQorI2RlZmluZSBQUk9CRV9TSVpF
IChQUk9CRV9GSVJTVF9GUFJFR19PRkZTRVQgKyAoMzIgKiBGUFJFR19TSVpFKSkKKyNlbHNlCisj
ZGVmaW5lIFBST0JFX1NJWkUgKFBST0JFX0ZJUlNUX0ZQUkVHX09GRlNFVCArICgxNiAqIEZQUkVH
X1NJWkUpKQorI2VuZGlmIC8vIENQVShBUFBMRV9BUk1WN1MpCisKKworLy8gVGhlc2UgQVNTRVJU
cyByZW1pbmQgeW91IHRoYXQgaWYgeW91IGNoYW5nZSB0aGUgbGF5b3V0IG9mIFByb2JlQ29udGV4
dCwKKy8vIHlvdSBuZWVkIHRvIGNoYW5nZSBjdGlNYXNtUHJvYmVUcmFtcG9saW5lIG9mZnNldHMg
YWJvdmUgdG8gbWF0Y2guCisjZGVmaW5lIFBST0JFX09GRlNFVE9GKHgpIG9mZnNldG9mKHN0cnVj
dCBNYWNyb0Fzc2VtYmxlcjo6UHJvYmVDb250ZXh0LCB4KQorQ09NUElMRV9BU1NFUlQoUFJPQkVf
T0ZGU0VUT0YocHJvYmVGdW5jdGlvbikgPT0gUFJPQkVfUFJPQkVfRlVOQ1RJT05fT0ZGU0VULCBQ
cm9iZUNvbnRleHRfcHJvYmVGdW5jdGlvbl9vZmZzZXRfbWF0Y2hlc19jdGlNYXNtUHJvYmVUcmFt
cG9saW5lKTsKK0NPTVBJTEVfQVNTRVJUKFBST0JFX09GRlNFVE9GKGFyZzEpID09IFBST0JFX0FS
RzFfT0ZGU0VULCBQcm9iZUNvbnRleHRfYXJnMV9vZmZzZXRfbWF0Y2hlc19jdGlNYXNtUHJvYmVU
cmFtcG9saW5lKTsKK0NPTVBJTEVfQVNTRVJUKFBST0JFX09GRlNFVE9GKGFyZzIpID09IFBST0JF
X0FSRzJfT0ZGU0VULCBQcm9iZUNvbnRleHRfYXJnMl9vZmZzZXRfbWF0Y2hlc19jdGlNYXNtUHJv
YmVUcmFtcG9saW5lKTsKK0NPTVBJTEVfQVNTRVJUKFBST0JFX09GRlNFVE9GKGppdFN0YWNrRnJh
bWUpID09IFBST0JFX0pJVF9TVEFDS19GUkFNRV9PRkZTRVQsIFByb2JlQ29udGV4dF9qaXRTdGFj
a0ZyYW1lX29mZnNldF9tYXRjaGVzX2N0aU1hc21Qcm9iZVRyYW1wb2xpbmUpOworCitDT01QSUxF
X0FTU0VSVChQUk9CRV9PRkZTRVRPRihjcHUucjApID09IFBST0JFX0NQVV9SMF9PRkZTRVQsIFBy
b2JlQ29udGV4dF9jcHVfcjBfb2Zmc2V0X21hdGNoZXNfY3RpTWFzbVByb2JlVHJhbXBvbGluZSk7
CitDT01QSUxFX0FTU0VSVChQUk9CRV9PRkZTRVRPRihjcHUucjEpID09IFBST0JFX0NQVV9SMV9P
RkZTRVQsIFByb2JlQ29udGV4dF9jcHVfcjFfb2Zmc2V0X21hdGNoZXNfY3RpTWFzbVByb2JlVHJh
bXBvbGluZSk7CitDT01QSUxFX0FTU0VSVChQUk9CRV9PRkZTRVRPRihjcHUucjIpID09IFBST0JF
X0NQVV9SMl9PRkZTRVQsIFByb2JlQ29udGV4dF9jcHVfcjJfb2Zmc2V0X21hdGNoZXNfY3RpTWFz
bVByb2JlVHJhbXBvbGluZSk7CitDT01QSUxFX0FTU0VSVChQUk9CRV9PRkZTRVRPRihjcHUucjMp
ID09IFBST0JFX0NQVV9SM19PRkZTRVQsIFByb2JlQ29udGV4dF9jcHVfcjNfb2Zmc2V0X21hdGNo
ZXNfY3RpTWFzbVByb2JlVHJhbXBvbGluZSk7CitDT01QSUxFX0FTU0VSVChQUk9CRV9PRkZTRVRP
RihjcHUucjQpID09IFBST0JFX0NQVV9SNF9PRkZTRVQsIFByb2JlQ29udGV4dF9jcHVfcjRfb2Zm
c2V0X21hdGNoZXNfY3RpTWFzbVByb2JlVHJhbXBvbGluZSk7CitDT01QSUxFX0FTU0VSVChQUk9C
RV9PRkZTRVRPRihjcHUucjUpID09IFBST0JFX0NQVV9SNV9PRkZTRVQsIFByb2JlQ29udGV4dF9j
cHVfcjVfb2Zmc2V0X21hdGNoZXNfY3RpTWFzbVByb2JlVHJhbXBvbGluZSk7CitDT01QSUxFX0FT
U0VSVChQUk9CRV9PRkZTRVRPRihjcHUucjYpID09IFBST0JFX0NQVV9SNl9PRkZTRVQsIFByb2Jl
Q29udGV4dF9jcHVfcjZfb2Zmc2V0X21hdGNoZXNfY3RpTWFzbVByb2JlVHJhbXBvbGluZSk7CitD
T01QSUxFX0FTU0VSVChQUk9CRV9PRkZTRVRPRihjcHUucjcpID09IFBST0JFX0NQVV9SN19PRkZT
RVQsIFByb2JlQ29udGV4dF9jcHVfcjcwX29mZnNldF9tYXRjaGVzX2N0aU1hc21Qcm9iZVRyYW1w
b2xpbmUpOworQ09NUElMRV9BU1NFUlQoUFJPQkVfT0ZGU0VUT0YoY3B1LnI4KSA9PSBQUk9CRV9D
UFVfUjhfT0ZGU0VULCBQcm9iZUNvbnRleHRfY3B1X3I4X29mZnNldF9tYXRjaGVzX2N0aU1hc21Q
cm9iZVRyYW1wb2xpbmUpOworQ09NUElMRV9BU1NFUlQoUFJPQkVfT0ZGU0VUT0YoY3B1LnI5KSA9
PSBQUk9CRV9DUFVfUjlfT0ZGU0VULCBQcm9iZUNvbnRleHRfY3B1X3I5X29mZnNldF9tYXRjaGVz
X2N0aU1hc21Qcm9iZVRyYW1wb2xpbmUpOworQ09NUElMRV9BU1NFUlQoUFJPQkVfT0ZGU0VUT0Yo
Y3B1LnIxMCkgPT0gUFJPQkVfQ1BVX1IxMF9PRkZTRVQsIFByb2JlQ29udGV4dF9jcHVfcjEwX29m
ZnNldF9tYXRjaGVzX2N0aU1hc21Qcm9iZVRyYW1wb2xpbmUpOworQ09NUElMRV9BU1NFUlQoUFJP
QkVfT0ZGU0VUT0YoY3B1LnIxMSkgPT0gUFJPQkVfQ1BVX1IxMV9PRkZTRVQsIFByb2JlQ29udGV4
dF9jcHVfcjExX29mZnNldF9tYXRjaGVzX2N0aU1hc21Qcm9iZVRyYW1wb2xpbmUpOworQ09NUElM
RV9BU1NFUlQoUFJPQkVfT0ZGU0VUT0YoY3B1LmlwKSA9PSBQUk9CRV9DUFVfSVBfT0ZGU0VULCBQ
cm9iZUNvbnRleHRfY3B1X2lwX29mZnNldF9tYXRjaGVzX2N0aU1hc21Qcm9iZVRyYW1wb2xpbmUp
OworQ09NUElMRV9BU1NFUlQoUFJPQkVfT0ZGU0VUT0YoY3B1LnNwKSA9PSBQUk9CRV9DUFVfU1Bf
T0ZGU0VULCBQcm9iZUNvbnRleHRfY3B1X3NwX29mZnNldF9tYXRjaGVzX2N0aU1hc21Qcm9iZVRy
YW1wb2xpbmUpOworQ09NUElMRV9BU1NFUlQoUFJPQkVfT0ZGU0VUT0YoY3B1LmxyKSA9PSBQUk9C
RV9DUFVfTFJfT0ZGU0VULCBQcm9iZUNvbnRleHRfY3B1X2xyX29mZnNldF9tYXRjaGVzX2N0aU1h
c21Qcm9iZVRyYW1wb2xpbmUpOworQ09NUElMRV9BU1NFUlQoUFJPQkVfT0ZGU0VUT0YoY3B1LnBj
KSA9PSBQUk9CRV9DUFVfUENfT0ZGU0VULCBQcm9iZUNvbnRleHRfY3B1X3BjX29mZnNldF9tYXRj
aGVzX2N0aU1hc21Qcm9iZVRyYW1wb2xpbmUpOworCitDT01QSUxFX0FTU0VSVChQUk9CRV9PRkZT
RVRPRihjcHUuYXBzcikgPT0gUFJPQkVfQ1BVX0FQU1JfT0ZGU0VULCBQcm9iZUNvbnRleHRfY3B1
X2Fwc3Jfb2Zmc2V0X21hdGNoZXNfY3RpTWFzbVByb2JlVHJhbXBvbGluZSk7CitDT01QSUxFX0FT
U0VSVChQUk9CRV9PRkZTRVRPRihjcHUuZnBzY3IpID09IFBST0JFX0NQVV9GUFNDUl9PRkZTRVQs
IFByb2JlQ29udGV4dF9jcHVfZnBzY3Jfb2Zmc2V0X21hdGNoZXNfY3RpTWFzbVByb2JlVHJhbXBv
bGluZSk7CisKK0NPTVBJTEVfQVNTRVJUKFBST0JFX09GRlNFVE9GKGNwdS5kMCkgPT0gUFJPQkVf
Q1BVX0QwX09GRlNFVCwgUHJvYmVDb250ZXh0X2NwdV9kMF9vZmZzZXRfbWF0Y2hlc19jdGlNYXNt
UHJvYmVUcmFtcG9saW5lKTsKK0NPTVBJTEVfQVNTRVJUKFBST0JFX09GRlNFVE9GKGNwdS5kMSkg
PT0gUFJPQkVfQ1BVX0QxX09GRlNFVCwgUHJvYmVDb250ZXh0X2NwdV9kMV9vZmZzZXRfbWF0Y2hl
c19jdGlNYXNtUHJvYmVUcmFtcG9saW5lKTsKK0NPTVBJTEVfQVNTRVJUKFBST0JFX09GRlNFVE9G
KGNwdS5kMikgPT0gUFJPQkVfQ1BVX0QyX09GRlNFVCwgUHJvYmVDb250ZXh0X2NwdV9kMl9vZmZz
ZXRfbWF0Y2hlc19jdGlNYXNtUHJvYmVUcmFtcG9saW5lKTsKK0NPTVBJTEVfQVNTRVJUKFBST0JF
X09GRlNFVE9GKGNwdS5kMykgPT0gUFJPQkVfQ1BVX0QzX09GRlNFVCwgUHJvYmVDb250ZXh0X2Nw
dV9kM19vZmZzZXRfbWF0Y2hlc19jdGlNYXNtUHJvYmVUcmFtcG9saW5lKTsKK0NPTVBJTEVfQVNT
RVJUKFBST0JFX09GRlNFVE9GKGNwdS5kNCkgPT0gUFJPQkVfQ1BVX0Q0X09GRlNFVCwgUHJvYmVD
b250ZXh0X2NwdV9kNF9vZmZzZXRfbWF0Y2hlc19jdGlNYXNtUHJvYmVUcmFtcG9saW5lKTsKK0NP
TVBJTEVfQVNTRVJUKFBST0JFX09GRlNFVE9GKGNwdS5kNSkgPT0gUFJPQkVfQ1BVX0Q1X09GRlNF
VCwgUHJvYmVDb250ZXh0X2NwdV9kNV9vZmZzZXRfbWF0Y2hlc19jdGlNYXNtUHJvYmVUcmFtcG9s
aW5lKTsKK0NPTVBJTEVfQVNTRVJUKFBST0JFX09GRlNFVE9GKGNwdS5kNikgPT0gUFJPQkVfQ1BV
X0Q2X09GRlNFVCwgUHJvYmVDb250ZXh0X2NwdV9kNl9vZmZzZXRfbWF0Y2hlc19jdGlNYXNtUHJv
YmVUcmFtcG9saW5lKTsKK0NPTVBJTEVfQVNTRVJUKFBST0JFX09GRlNFVE9GKGNwdS5kNykgPT0g
UFJPQkVfQ1BVX0Q3X09GRlNFVCwgUHJvYmVDb250ZXh0X2NwdV9kN19vZmZzZXRfbWF0Y2hlc19j
dGlNYXNtUHJvYmVUcmFtcG9saW5lKTsKK0NPTVBJTEVfQVNTRVJUKFBST0JFX09GRlNFVE9GKGNw
dS5kOCkgPT0gUFJPQkVfQ1BVX0Q4X09GRlNFVCwgUHJvYmVDb250ZXh0X2NwdV9kOF9vZmZzZXRf
bWF0Y2hlc19jdGlNYXNtUHJvYmVUcmFtcG9saW5lKTsKK0NPTVBJTEVfQVNTRVJUKFBST0JFX09G
RlNFVE9GKGNwdS5kOSkgPT0gUFJPQkVfQ1BVX0Q5X09GRlNFVCwgUHJvYmVDb250ZXh0X2NwdV9k
OV9vZmZzZXRfbWF0Y2hlc19jdGlNYXNtUHJvYmVUcmFtcG9saW5lKTsKK0NPTVBJTEVfQVNTRVJU
KFBST0JFX09GRlNFVE9GKGNwdS5kMTApID09IFBST0JFX0NQVV9EMTBfT0ZGU0VULCBQcm9iZUNv
bnRleHRfY3B1X2QxMF9vZmZzZXRfbWF0Y2hlc19jdGlNYXNtUHJvYmVUcmFtcG9saW5lKTsKK0NP
TVBJTEVfQVNTRVJUKFBST0JFX09GRlNFVE9GKGNwdS5kMTEpID09IFBST0JFX0NQVV9EMTFfT0ZG
U0VULCBQcm9iZUNvbnRleHRfY3B1X2QxMV9vZmZzZXRfbWF0Y2hlc19jdGlNYXNtUHJvYmVUcmFt
cG9saW5lKTsKK0NPTVBJTEVfQVNTRVJUKFBST0JFX09GRlNFVE9GKGNwdS5kMTIpID09IFBST0JF
X0NQVV9EMTJfT0ZGU0VULCBQcm9iZUNvbnRleHRfY3B1X2QxMl9vZmZzZXRfbWF0Y2hlc19jdGlN
YXNtUHJvYmVUcmFtcG9saW5lKTsKK0NPTVBJTEVfQVNTRVJUKFBST0JFX09GRlNFVE9GKGNwdS5k
MTMpID09IFBST0JFX0NQVV9EMTNfT0ZGU0VULCBQcm9iZUNvbnRleHRfY3B1X2QxM19vZmZzZXRf
bWF0Y2hlc19jdGlNYXNtUHJvYmVUcmFtcG9saW5lKTsKK0NPTVBJTEVfQVNTRVJUKFBST0JFX09G
RlNFVE9GKGNwdS5kMTQpID09IFBST0JFX0NQVV9EMTRfT0ZGU0VULCBQcm9iZUNvbnRleHRfY3B1
X2QxNF9vZmZzZXRfbWF0Y2hlc19jdGlNYXNtUHJvYmVUcmFtcG9saW5lKTsKK0NPTVBJTEVfQVNT
RVJUKFBST0JFX09GRlNFVE9GKGNwdS5kMTUpID09IFBST0JFX0NQVV9EMTVfT0ZGU0VULCBQcm9i
ZUNvbnRleHRfY3B1X2QxNV9vZmZzZXRfbWF0Y2hlc19jdGlNYXNtUHJvYmVUcmFtcG9saW5lKTsK
KworI2lmIENQVShBUFBMRV9BUk1WN1MpCitDT01QSUxFX0FTU0VSVChQUk9CRV9PRkZTRVRPRihj
cHUuZDE2KSA9PSBQUk9CRV9DUFVfRDE2X09GRlNFVCwgUHJvYmVDb250ZXh0X2NwdV9kMTZfb2Zm
c2V0X21hdGNoZXNfY3RpTWFzbVByb2JlVHJhbXBvbGluZSk7CitDT01QSUxFX0FTU0VSVChQUk9C
RV9PRkZTRVRPRihjcHUuZDE3KSA9PSBQUk9CRV9DUFVfRDE3X09GRlNFVCwgUHJvYmVDb250ZXh0
X2NwdV9kMTdfb2Zmc2V0X21hdGNoZXNfY3RpTWFzbVByb2JlVHJhbXBvbGluZSk7CitDT01QSUxF
X0FTU0VSVChQUk9CRV9PRkZTRVRPRihjcHUuZDE4KSA9PSBQUk9CRV9DUFVfRDE4X09GRlNFVCwg
UHJvYmVDb250ZXh0X2NwdV9kMThfb2Zmc2V0X21hdGNoZXNfY3RpTWFzbVByb2JlVHJhbXBvbGlu
ZSk7CitDT01QSUxFX0FTU0VSVChQUk9CRV9PRkZTRVRPRihjcHUuZDE5KSA9PSBQUk9CRV9DUFVf
RDE5X09GRlNFVCwgUHJvYmVDb250ZXh0X2NwdV9kMTlfb2Zmc2V0X21hdGNoZXNfY3RpTWFzbVBy
b2JlVHJhbXBvbGluZSk7CitDT01QSUxFX0FTU0VSVChQUk9CRV9PRkZTRVRPRihjcHUuZDIwKSA9
PSBQUk9CRV9DUFVfRDIwX09GRlNFVCwgUHJvYmVDb250ZXh0X2NwdV9kMjBfb2Zmc2V0X21hdGNo
ZXNfY3RpTWFzbVByb2JlVHJhbXBvbGluZSk7CitDT01QSUxFX0FTU0VSVChQUk9CRV9PRkZTRVRP
RihjcHUuZDIxKSA9PSBQUk9CRV9DUFVfRDIxX09GRlNFVCwgUHJvYmVDb250ZXh0X2NwdV9kMjFf
b2Zmc2V0X21hdGNoZXNfY3RpTWFzbVByb2JlVHJhbXBvbGluZSk7CitDT01QSUxFX0FTU0VSVChQ
Uk9CRV9PRkZTRVRPRihjcHUuZDIyKSA9PSBQUk9CRV9DUFVfRDIyX09GRlNFVCwgUHJvYmVDb250
ZXh0X2NwdV9kMjJfb2Zmc2V0X21hdGNoZXNfY3RpTWFzbVByb2JlVHJhbXBvbGluZSk7CitDT01Q
SUxFX0FTU0VSVChQUk9CRV9PRkZTRVRPRihjcHUuZDIzKSA9PSBQUk9CRV9DUFVfRDIzX09GRlNF
VCwgUHJvYmVDb250ZXh0X2NwdV9kMjNfb2Zmc2V0X21hdGNoZXNfY3RpTWFzbVByb2JlVHJhbXBv
bGluZSk7CitDT01QSUxFX0FTU0VSVChQUk9CRV9PRkZTRVRPRihjcHUuZDI0KSA9PSBQUk9CRV9D
UFVfRDI0X09GRlNFVCwgUHJvYmVDb250ZXh0X2NwdV9kMjRfb2Zmc2V0X21hdGNoZXNfY3RpTWFz
bVByb2JlVHJhbXBvbGluZSk7CitDT01QSUxFX0FTU0VSVChQUk9CRV9PRkZTRVRPRihjcHUuZDI1
KSA9PSBQUk9CRV9DUFVfRDI1X09GRlNFVCwgUHJvYmVDb250ZXh0X2NwdV9kMjVfb2Zmc2V0X21h
dGNoZXNfY3RpTWFzbVByb2JlVHJhbXBvbGluZSk7CitDT01QSUxFX0FTU0VSVChQUk9CRV9PRkZT
RVRPRihjcHUuZDI2KSA9PSBQUk9CRV9DUFVfRDI2X09GRlNFVCwgUHJvYmVDb250ZXh0X2NwdV9k
MjZfb2Zmc2V0X21hdGNoZXNfY3RpTWFzbVByb2JlVHJhbXBvbGluZSk7CitDT01QSUxFX0FTU0VS
VChQUk9CRV9PRkZTRVRPRihjcHUuZDI3KSA9PSBQUk9CRV9DUFVfRDI3X09GRlNFVCwgUHJvYmVD
b250ZXh0X2NwdV9kMjdfb2Zmc2V0X21hdGNoZXNfY3RpTWFzbVByb2JlVHJhbXBvbGluZSk7CitD
T01QSUxFX0FTU0VSVChQUk9CRV9PRkZTRVRPRihjcHUuZDI4KSA9PSBQUk9CRV9DUFVfRDI4X09G
RlNFVCwgUHJvYmVDb250ZXh0X2NwdV9kMjhfb2Zmc2V0X21hdGNoZXNfY3RpTWFzbVByb2JlVHJh
bXBvbGluZSk7CitDT01QSUxFX0FTU0VSVChQUk9CRV9PRkZTRVRPRihjcHUuZDI5KSA9PSBQUk9C
RV9DUFVfRDI5X09GRlNFVCwgUHJvYmVDb250ZXh0X2NwdV9kMjlfb2Zmc2V0X21hdGNoZXNfY3Rp
TWFzbVByb2JlVHJhbXBvbGluZSk7CitDT01QSUxFX0FTU0VSVChQUk9CRV9PRkZTRVRPRihjcHUu
ZDMwKSA9PSBQUk9CRV9DUFVfRDMwX09GRlNFVCwgUHJvYmVDb250ZXh0X2NwdV9kMzBfb2Zmc2V0
X21hdGNoZXNfY3RpTWFzbVByb2JlVHJhbXBvbGluZSk7CitDT01QSUxFX0FTU0VSVChQUk9CRV9P
RkZTRVRPRihjcHUuZDMxKSA9PSBQUk9CRV9DUFVfRDMxX09GRlNFVCwgUHJvYmVDb250ZXh0X2Nw
dV9kMzFfb2Zmc2V0X21hdGNoZXNfY3RpTWFzbVByb2JlVHJhbXBvbGluZSk7CisjZW5kaWYgLy8g
Q1BVKEFQUExFX0FSTVY3UykKKworQ09NUElMRV9BU1NFUlQoc2l6ZW9mKE1hY3JvQXNzZW1ibGVy
OjpQcm9iZUNvbnRleHQpID09IFBST0JFX1NJWkUsIFByb2JlQ29udGV4dF9zaXplX21hdGNoZXNf
Y3RpTWFzbVByb2JlVHJhbXBvbGluZSk7CisKKyN1bmRlZiBQUk9CRV9PRkZTRVRPRgorCisjZW5k
aWYgLy8gVVNFKE1BU01fUFJPQkUpCisKKwogYXNtICgKICIudGV4dCIgIlxuIgogIi5hbGlnbiAy
IiAiXG4iCkBAIC0xNDEsNiArMjg4LDE2OCBAQCBTWU1CT0xfU1RSSU5HKGN0aU9wVGhyb3dOb3RD
YXVnaHQpICI6IiAiCiAgICAgImJ4IGxyIiAiXG4iCiApOwogCisjaWYgVVNFKE1BU01fUFJPQkUp
Cithc20gKAorIi50ZXh0IiAiXG4iCisiLmFsaWduIDIiICJcbiIKKyIuZ2xvYmwgIiBTWU1CT0xf
U1RSSU5HKGN0aU1hc21Qcm9iZVRyYW1wb2xpbmUpICJcbiIKK0hJREVfU1lNQk9MKGN0aU1hc21Q
cm9iZVRyYW1wb2xpbmUpICJcbiIKKyIudGh1bWIiICJcbiIKKyIudGh1bWJfZnVuYyAiIFRIVU1C
X0ZVTkNfUEFSQU0oY3RpTWFzbVByb2JlVHJhbXBvbGluZSkgIlxuIgorU1lNQk9MX1NUUklORyhj
dGlNYXNtUHJvYmVUcmFtcG9saW5lKSAiOiIgIlxuIgorCisgICAgLy8gTWFjcm9Bc3NlbWJsZXI6
OnByb2JlKCkgaGFzIGFscmVhZHkgZ2VuZXJhdGVkIGNvZGUgdG8gc3RvcmUgc29tZSB2YWx1ZXMu
CisgICAgLy8gVGhlIHRvcCBvZiBzdGFjayBub3cgbG9va3MgbGlrZSB0aGlzOgorICAgIC8vICAg
ICBlc3BbMCAqIHB0clNpemVdOiBwcm9iZUZ1bmN0aW9uCisgICAgLy8gICAgIGVzcFsxICogcHRy
U2l6ZV06IGFyZzEKKyAgICAvLyAgICAgZXNwWzIgKiBwdHJTaXplXTogYXJnMgorICAgIC8vICAg
ICBlc3BbMyAqIHB0clNpemVdOiBzYXZlZCByMAorICAgIC8vICAgICBlc3BbNCAqIHB0clNpemVd
OiBzYXZlZCBpcAorICAgIC8vICAgICBlc3BbNSAqIHB0clNpemVdOiBzYXZlZCBscgorICAgIC8v
ICAgICBlc3BbNiAqIHB0clNpemVdOiBzYXZlZCBzcAorCisgICAgIm1vdiAgICAgICBpcCwgc3Ai
ICJcbiIKKyAgICAibW92ICAgICAgIHIwLCBzcCIgIlxuIgorICAgICJzdWIgICAgICAgcjAsIHIw
LCAjIiBTVFJJTkdJWkVfVkFMVUVfT0YoUFJPQkVfU0laRSkgIlxuIgorCisgICAgLy8gVGhlIEFS
TSBFQUJJIHNwZWNpZmllcyB0aGF0IHRoZSBzdGFjayBuZWVkcyB0byBiZSAxNiBieXRlIGFsaWdu
ZWQuCisgICAgImJpYyAgICAgICByMCwgcjAsICMweGYiICJcbiIKKyAgICAibW92ICAgICAgIHNw
LCByMCIgIlxuIgorCisgICAgInN0ciAgICAgICBsciwgW3NwLCAjIiBTVFJJTkdJWkVfVkFMVUVf
T0YoUFJPQkVfQ1BVX1BDX09GRlNFVCkgIl0iICJcbiIKKyAgICAiYWRkICAgICAgIGxyLCBzcCwg
IyIgU1RSSU5HSVpFX1ZBTFVFX09GKFBST0JFX0NQVV9SMV9PRkZTRVQpICJcbiIKKyAgICAic3Rt
aWEgICAgIGxyLCB7IHIxLXIxMSB9IiAiXG4iCisgICAgIm1ycyAgICAgICBsciwgQVBTUiIgIlxu
IgorICAgICJzdHIgICAgICAgbHIsIFtzcCwgIyIgU1RSSU5HSVpFX1ZBTFVFX09GKFBST0JFX0NQ
VV9BUFNSX09GRlNFVCkgIl0iICJcbiIKKyAgICAidm1ycyAgICAgIGxyLCBGUFNDUiIgIlxuIgor
ICAgICJzdHIgICAgICAgbHIsIFtzcCwgIyIgU1RSSU5HSVpFX1ZBTFVFX09GKFBST0JFX0NQVV9G
UFNDUl9PRkZTRVQpICJdIiAiXG4iCisKKyAgICAibGRyICAgICAgIGxyLCBbaXAsICMwICogIiBT
VFJJTkdJWkVfVkFMVUVfT0YoUFRSX1NJWkUpICJdIiAiXG4iCisgICAgInN0ciAgICAgICBsciwg
W3NwLCAjIiBTVFJJTkdJWkVfVkFMVUVfT0YoUFJPQkVfUFJPQkVfRlVOQ1RJT05fT0ZGU0VUKSAi
XSIgIlxuIgorICAgICJsZHIgICAgICAgbHIsIFtpcCwgIzEgKiAiIFNUUklOR0laRV9WQUxVRV9P
RihQVFJfU0laRSkgIl0iICJcbiIKKyAgICAic3RyICAgICAgIGxyLCBbc3AsICMiIFNUUklOR0la
RV9WQUxVRV9PRihQUk9CRV9BUkcxX09GRlNFVCkgIl0iICJcbiIKKyAgICAibGRyICAgICAgIGxy
LCBbaXAsICMyICogIiBTVFJJTkdJWkVfVkFMVUVfT0YoUFRSX1NJWkUpICJdIiAiXG4iCisgICAg
InN0ciAgICAgICBsciwgW3NwLCAjIiBTVFJJTkdJWkVfVkFMVUVfT0YoUFJPQkVfQVJHMl9PRkZT
RVQpICJdIiAiXG4iCisgICAgImxkciAgICAgICBsciwgW2lwLCAjMyAqICIgU1RSSU5HSVpFX1ZB
TFVFX09GKFBUUl9TSVpFKSAiXSIgIlxuIgorICAgICJzdHIgICAgICAgbHIsIFtzcCwgIyIgU1RS
SU5HSVpFX1ZBTFVFX09GKFBST0JFX0NQVV9SMF9PRkZTRVQpICJdIiAiXG4iCisgICAgImxkciAg
ICAgICBsciwgW2lwLCAjNCAqICIgU1RSSU5HSVpFX1ZBTFVFX09GKFBUUl9TSVpFKSAiXSIgIlxu
IgorICAgICJzdHIgICAgICAgbHIsIFtzcCwgIyIgU1RSSU5HSVpFX1ZBTFVFX09GKFBST0JFX0NQ
VV9JUF9PRkZTRVQpICJdIiAiXG4iCisgICAgImxkciAgICAgICBsciwgW2lwLCAjNSAqICIgU1RS
SU5HSVpFX1ZBTFVFX09GKFBUUl9TSVpFKSAiXSIgIlxuIgorICAgICJzdHIgICAgICAgbHIsIFtz
cCwgIyIgU1RSSU5HSVpFX1ZBTFVFX09GKFBST0JFX0NQVV9MUl9PRkZTRVQpICJdIiAiXG4iCisg
ICAgImxkciAgICAgICBsciwgW2lwLCAjNiAqICIgU1RSSU5HSVpFX1ZBTFVFX09GKFBUUl9TSVpF
KSAiXSIgIlxuIgorICAgICJzdHIgICAgICAgbHIsIFtzcCwgIyIgU1RSSU5HSVpFX1ZBTFVFX09G
KFBST0JFX0NQVV9TUF9PRkZTRVQpICJdIiAiXG4iCisgICAgInN0ciAgICAgICBsciwgW3NwLCAj
IiBTVFJJTkdJWkVfVkFMVUVfT0YoUFJPQkVfSklUX1NUQUNLX0ZSQU1FX09GRlNFVCkgIl0iICJc
biIKKworICAgICJsZHIgICAgICAgbHIsIFtzcCwgIyIgU1RSSU5HSVpFX1ZBTFVFX09GKFBST0JF
X0NQVV9QQ19PRkZTRVQpICJdIiAiXG4iCisKKyAgICAiYWRkICAgICAgIGlwLCBzcCwgIyIgU1RS
SU5HSVpFX1ZBTFVFX09GKFBST0JFX0NQVV9EMF9PRkZTRVQpICJcbiIKKyNpZiBDUFUoQVBQTEVf
QVJNVjdTKQorICAgICJ2c3RtaWEuNjQgaXAsIHsgZDAtZDMxIH0iICJcbiIKKyNlbHNlCisgICAg
InZzdG1pYS42NCBpcCwgeyBkMC1kMTUgfSIgIlxuIgorI2VuZGlmCisKKyAgICAibW92ICAgICAg
IGZwLCBzcCIgIlxuIiAvLyBTYXZlIHRoZSBQcm9iZUNvbnRleHQqLgorCisgICAgImxkciAgICAg
ICBpcCwgW3NwLCAjIiBTVFJJTkdJWkVfVkFMVUVfT0YoUFJPQkVfUFJPQkVfRlVOQ1RJT05fT0ZG
U0VUKSAiXSIgIlxuIgorICAgICJtb3YgICAgICAgcjAsIHNwIiAiXG4iIC8vIHRoZSBQcm9iZUNv
bnRleHQqIGFyZy4KKyAgICAiYmx4ICAgICAgIGlwIiAiXG4iCisKKyAgICAibW92ICAgICAgIHNw
LCBmcCIgIlxuIgorCisgICAgLy8gVG8gZW5hYmxlIHByb2JlcyB0byBtb2RpZnkgcmVnaXN0ZXIg
c3RhdGUsIHdlIGNvcHkgYWxsIHJlZ2lzdGVycworICAgIC8vIG91dCBvZiB0aGUgUHJvYmVDb250
ZXh0IGJlZm9yZSByZXR1cm5pbmcuCisKKyNpZiBDUFUoQVBQTEVfQVJNVjdTKQorICAgICJhZGQg
ICAgICAgaXAsIHNwLCAjIiBTVFJJTkdJWkVfVkFMVUVfT0YoUFJPQkVfQ1BVX0QzMV9PRkZTRVQg
KyBGUFJFR19TSVpFKSAiXG4iCisgICAgInZsZG1kYi42NCBpcCEsIHsgZDAtZDMxIH0iICJcbiIK
KyNlbHNlCisgICAgImFkZCAgICAgICBpcCwgc3AsICMiIFNUUklOR0laRV9WQUxVRV9PRihQUk9C
RV9DUFVfRDE1X09GRlNFVCArIEZQUkVHX1NJWkUpICJcbiIKKyAgICAidmxkbWRiLjY0IGlwISwg
eyBkMC1kMTUgfSIgIlxuIgorI2VuZGlmCisgICAgImFkZCAgICAgICBpcCwgc3AsICMiIFNUUklO
R0laRV9WQUxVRV9PRihQUk9CRV9DUFVfUjExX09GRlNFVCArIEdQUkVHX1NJWkUpICJcbiIKKyAg
ICAibGRtZGIgICAgIGlwLCB7IHIwLXIxMSB9IiAiXG4iCisgICAgImxkciAgICAgICBpcCwgW3Nw
LCAjIiBTVFJJTkdJWkVfVkFMVUVfT0YoUFJPQkVfQ1BVX0ZQU0NSX09GRlNFVCkgIl0iICJcbiIK
KyAgICAidm1zciAgICAgIEZQU0NSLCBpcCIgIlxuIgorCisgICAgLy8gVGhlcmUgYXJlIDUgbW9y
ZSByZWdpc3RlcnMgbGVmdCB0byByZXN0b3JlOiBpcCwgc3AsIGxyLCBwYywgYW5kIGFwc3IuCisg
ICAgLy8gVGhlcmUgYXJlIDIgaXNzdWVzIHRoYXQgY29tcGxpY2F0ZSB0aGUgcmVzdG9yYXRpb24g
b2YgdGhlc2UgbGFzdCBmZXcKKyAgICAvLyByZWdpc3RlcnM6CisgICAgLy8KKyAgICAvLyAxLiBO
b3JtYWwgQVJNIGNhbGxpbmcgY29udmVudGlvbiByZWxpZXMgb24gbW92aW5nIGxyIHRvIHBjIHRv
IHJldHVybiB0bworICAgIC8vICAgIHRoZSBjYWxsZXIuIEluIG91ciBjYXNlLCB0aGUgYWRkcmVz
cyB0byByZXR1cm4gdG8gaXMgc3BlY2lmaWVkIGJ5CisgICAgLy8gICAgUHJvYmVDb250ZXh0LmNw
dS5wYy4gQW5kIGF0IHRoYXQgbW9tZW50LCB3ZSB3b24ndCBoYXZlIGFueSBhdmFpbGFibGUKKyAg
ICAvLyAgICBzY3JhdGNoIHJlZ2lzdGVycyB0byBob2xkIHRoZSByZXR1cm4gYWRkcmVzcyAobHIg
bmVlZHMgdG8gaG9sZAorICAgIC8vICAgIFByb2JlQ29udGV4dC5jcHUubHIsIG5vdCB0aGUgcmV0
dXJuIGFkZHJlc3MpLgorICAgIC8vCisgICAgLy8gICAgVGhlIHNvbHV0aW9uIGlzIHRvIHN0b3Jl
IHRoZSByZXR1cm4gYWRkcmVzcyBvbiB0aGUgc3RhY2sgYW5kIGxvYWQgdGhlCisgICAgLy8gICAg
IHBjIGZyb20gdGhlcmUuCisgICAgLy8KKyAgICAvLyAyLiBJc3N1ZSAxIG1lYW5zIHdlIHdpbGwg
bmVlZCB0byB3cml0ZSB0byB0aGUgc3RhY2sgbG9jYXRpb24gYXQKKyAgICAvLyAgICBQcm9iZUNv
bnRleHQuY3B1LnNwIC0gNC4gQnV0IGlmIHRoZSB1c2VyIHByb2JlIGZ1bmN0aW9uIGhhZCAgbW9k
aWZpZWQKKyAgICAvLyAgICB0aGUgdmFsdWUgb2YgUHJvYmVDb250ZXh0LmNwdS5zcCB0byBwb2lu
dCBpbiB0aGUgcmFuZ2UgYmV0d2VlbgorICAgIC8vICAgICZQcm9iZUNvbnRleHQuY3B1LmlwIHRo
cnUgJlByb2JlQ29udGV4dC5jcHUuYXNwciwgdGhlbiB0aGUgYWN0aW9uIGZvcgorICAgIC8vICAg
IElzc3VlIDEgbWF5IHRyYXNoIHRoZSB2YWx1ZXMgdG8gYmUgcmVzdG9yZWQgYmVmb3JlIHdlIGNh
biByZXN0b3JlCisgICAgLy8gICAgdGhlbS4KKyAgICAvLworICAgIC8vICAgIFRoZSBzb2x1dGlv
biBpcyB0byBjaGVjayBpZiBQcm9iZUNvbnRleHQuY3B1LnNwIGNvbnRhaW5zIGEgdmFsdWUgaW4K
KyAgICAvLyAgICB0aGUgdW5kZXNpcmFibGUgcmFuZ2UuIElmIHNvLCB3ZSBjb3B5IHRoZSByZW1h
aW5pbmcgUHJvYmVDb250ZXh0CisgICAgLy8gICAgcmVnaXN0ZXIgZGF0YSB0byBhIHNhZmUgcmFu
Z2UgKGF0IG1lbW9yeSBsb3dlciB0aGFuIHdoZXJlCisgICAgLy8gICAgUHJvYmVDb250ZXh0LmNw
dS5zcCBwb2ludHMpIGZpcnN0LCBhbmQgcmVzdG9yZSB0aGUgcmVtYWluaW5nIHJlZ2lzdGVyCisg
ICAgLy8gICAgZnJvbSB0aGlzIG5ldyByYW5nZS4KKworICAgICJhZGQgICAgICAgaXAsIHNwLCAj
IiBTVFJJTkdJWkVfVkFMVUVfT0YoUFJPQkVfQ1BVX0FQU1JfT0ZGU0VUKSAiXG4iCisgICAgImxk
ciAgICAgICBsciwgW3NwLCAjIiBTVFJJTkdJWkVfVkFMVUVfT0YoUFJPQkVfQ1BVX1NQX09GRlNF
VCkgIl0iICJcbiIKKyAgICAiY21wICAgICAgIGxyLCBpcCIgIlxuIgorICAgICJpdCAgICAgICAg
Z3QiICJcbiIKKyAgICAiYmd0ICAgICAiIFNZTUJPTF9TVFJJTkcoY3RpTWFzbVByb2JlVHJhbXBv
bGluZUVuZCkgIlxuIgorCisgICAgLy8gV2UgZ2V0IGhlcmUgYmVjYXVzZSB0aGUgbmV3IGV4cGVj
dGVkIHN0YWNrIHBvaW50ZXIgbG9jYXRpb24gaXMgbG93ZXIKKyAgICAvLyB0aGFuIHdoZXJlIGl0
J3Mgc3VwcG9zZWQgdG8gYmUuIFRoaXMgbWVhbnMgdGhlIHNhZmUgcmFuZ2Ugb2Ygc3RhY2sKKyAg
ICAvLyBtZW1vcnkgd2hlcmUgd2UnbGwgYmUgY29weWluZyB0aGUgcmVtYWluaW5nIHJlZ2lzdGVy
IHJlc3RvcmUgdmFsdWVzIHRvCisgICAgLy8gbWlnaHQgYmUgaW4gYSByZWdpb24gb2YgbWVtb3J5
IGJlbG93IHRoZSBzcCBpLmUuIHVuYWxsb2NhdGVkIHN0YWNrCisgICAgLy8gbWVtb3J5LiBUaGlz
LCBpbiB0dXJuLCBtYWtlcyBpdCB2dWxuZXJhYmxlIHRvIGludGVycnVwdHMgcG90ZW50aWFsbHkK
KyAgICAvLyB0cmFzaGluZyB0aGUgY29waWVkIHZhbHVlcy4gVG8gcHJldmVudCB0aGF0LCB3ZSBt
dXN0IGZpcnN0IGFsbG9jYXRlIHRoZQorICAgIC8vIG5lZWRlZCBzdGFjayBtZW1vcnkgYnkgYWRq
dXN0aW5nIHRoZSBzcCBiZWZvcmUgdGhlIGNvcHlpbmcuCisKKyAgICAic3ViICAgICAgIGxyLCBs
ciwgIyg2ICogIiBTVFJJTkdJWkVfVkFMVUVfT0YoUFRSX1NJWkUpIAorICAgICAgICAgICAgICAg
ICAgICAgICAgICIgKyAiIFNUUklOR0laRV9WQUxVRV9PRihQUk9CRV9DUFVfSVBfT0ZGU0VUKSAi
KSIgIlxuIgorCisgICAgIm1vdiAgICAgICBpcCwgc3AiICJcbiIKKyAgICAibW92ICAgICAgIHNw
LCBsciIgIlxuIgorICAgICJtb3YgICAgICAgbHIsIGlwIiAiXG4iCisKKyAgICAibGRyICAgICAg
IGlwLCBbbHIsICMiIFNUUklOR0laRV9WQUxVRV9PRihQUk9CRV9DUFVfSVBfT0ZGU0VUKSAiXSIg
IlxuIgorICAgICJzdHIgICAgICAgaXAsIFtzcCwgIyIgU1RSSU5HSVpFX1ZBTFVFX09GKFBST0JF
X0NQVV9JUF9PRkZTRVQpICJdIiAiXG4iCisgICAgImxkciAgICAgICBpcCwgW2xyLCAjIiBTVFJJ
TkdJWkVfVkFMVUVfT0YoUFJPQkVfQ1BVX1NQX09GRlNFVCkgIl0iICJcbiIKKyAgICAic3RyICAg
ICAgIGlwLCBbc3AsICMiIFNUUklOR0laRV9WQUxVRV9PRihQUk9CRV9DUFVfU1BfT0ZGU0VUKSAi
XSIgIlxuIgorICAgICJsZHIgICAgICAgaXAsIFtsciwgIyIgU1RSSU5HSVpFX1ZBTFVFX09GKFBS
T0JFX0NQVV9MUl9PRkZTRVQpICJdIiAiXG4iCisgICAgInN0ciAgICAgICBpcCwgW3NwLCAjIiBT
VFJJTkdJWkVfVkFMVUVfT0YoUFJPQkVfQ1BVX0xSX09GRlNFVCkgIl0iICJcbiIKKyAgICAibGRy
ICAgICAgIGlwLCBbbHIsICMiIFNUUklOR0laRV9WQUxVRV9PRihQUk9CRV9DUFVfUENfT0ZGU0VU
KSAiXSIgIlxuIgorICAgICJzdHIgICAgICAgaXAsIFtzcCwgIyIgU1RSSU5HSVpFX1ZBTFVFX09G
KFBST0JFX0NQVV9QQ19PRkZTRVQpICJdIiAiXG4iCisgICAgImxkciAgICAgICBpcCwgW2xyLCAj
IiBTVFJJTkdJWkVfVkFMVUVfT0YoUFJPQkVfQ1BVX0FQU1JfT0ZGU0VUKSAiXSIgIlxuIgorICAg
ICJzdHIgICAgICAgaXAsIFtzcCwgIyIgU1RSSU5HSVpFX1ZBTFVFX09GKFBST0JFX0NQVV9BUFNS
X09GRlNFVCkgIl0iICJcbiIKKworIi50aHVtYl9mdW5jICIgVEhVTUJfRlVOQ19QQVJBTShjdGlN
YXNtUHJvYmVUcmFtcG9saW5lRW5kKSAiXG4iCitTWU1CT0xfU1RSSU5HKGN0aU1hc21Qcm9iZVRy
YW1wb2xpbmVFbmQpICI6IiAiXG4iCisgICAgImxkciAgICAgICBpcCwgW3NwLCAjIiBTVFJJTkdJ
WkVfVkFMVUVfT0YoUFJPQkVfQ1BVX1BDX09GRlNFVCkgIl0iICJcbiIKKyAgICAibGRyICAgICAg
IGxyLCBbc3AsICMiIFNUUklOR0laRV9WQUxVRV9PRihQUk9CRV9DUFVfU1BfT0ZGU0VUKSAiXSIg
IlxuIgorICAgICJzdWIgICAgICAgbHIsIGxyLCAjIiBTVFJJTkdJWkVfVkFMVUVfT0YoUFRSX1NJ
WkUpICJcbiIKKyAgICAic3RyICAgICAgIGlwLCBbbHJdIiAiXG4iCisgICAgInN0ciAgICAgICBs
ciwgW3NwLCAjIiBTVFJJTkdJWkVfVkFMVUVfT0YoUFJPQkVfQ1BVX1NQX09GRlNFVCkgIl0iICJc
biIKKworICAgICJsZHIgICAgICAgaXAsIFtzcCwgIyIgU1RSSU5HSVpFX1ZBTFVFX09GKFBST0JF
X0NQVV9BUFNSX09GRlNFVCkgIl0iICJcbiIKKyAgICAibXNyICAgICAgIEFQU1IsIGlwIiAiXG4i
CisgICAgImxkciAgICAgICBpcCwgW3NwLCAjIiBTVFJJTkdJWkVfVkFMVUVfT0YoUFJPQkVfQ1BV
X0xSX09GRlNFVCkgIl0iICJcbiIKKyAgICAibW92ICAgICAgIGxyLCBpcCIgIlxuIgorICAgICJs
ZHIgICAgICAgaXAsIFtzcCwgIyIgU1RSSU5HSVpFX1ZBTFVFX09GKFBST0JFX0NQVV9JUF9PRkZT
RVQpICJdIiAiXG4iCisgICAgImxkciAgICAgICBzcCwgW3NwLCAjIiBTVFJJTkdJWkVfVkFMVUVf
T0YoUFJPQkVfQ1BVX1NQX09GRlNFVCkgIl0iICJcbiIKKworICAgICJwb3AgICAgICAgeyBwYyB9
IiAiXG4iCispOworI2VuZGlmIC8vIFVTRShNQVNNX1BST0JFKQorCisKICNkZWZpbmUgREVGSU5F
X1NUVUJfRlVOQ1RJT04ocnR5cGUsIG9wKSBcCiAgICAgZXh0ZXJuICJDIiB7IFwKICAgICAgICAg
cnR5cGUgSklUU3R1YlRodW5rZWRfIyNvcChTVFVCX0FSR1NfREVDTEFSQVRJT04pOyBcCkluZGV4
OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0pJVFN0dWJzWDg2LmgKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
U291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9KSVRTdHVic1g4Ni5oCShyZXZpc2lvbiAxNTA4Mjcp
CisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0pJVFN0dWJzWDg2LmgJKHdvcmtpbmcgY29w
eSkKQEAgLTEwMywxMiArMTAzLDI1IEBAIGFzbSAoCiBISURFX1NZTUJPTChjdGlNYXNtUHJvYmVU
cmFtcG9saW5lKSAiXG4iCiBTWU1CT0xfU1RSSU5HKGN0aU1hc21Qcm9iZVRyYW1wb2xpbmUpICI6
IiAiXG4iCiAKLSAgICAvLyBNYWNyb0Fzc2VtYmxlcjo6cHJvYmUoKSBoYXMgYWxyZWFkeSBnZW5l
cmF0ZWQgY29kZSB0byBzYXZlL3N0b3JlIHRoZQotICAgIC8vIHZhbHVlcyBmb3IgZWF4IGFuZCBl
c3AgaW4gdGhlIFByb2JlQ29udGV4dC4gU2F2ZS9zdG9yZSB0aGUgcmVtYWluaW5nCi0gICAgLy8g
cmVnaXN0ZXJzIGhlcmUuCisgICAgInB1c2hmZCIgIlxuIgogCi0gICAgInBvcGwgJWVheCIgIlxu
IgotICAgICJtb3ZsICVlYXgsICIgU1RSSU5HSVpFX1ZBTFVFX09GKFBST0JFX0NQVV9FSVBfT0ZG
U0VUKSAiKCVlc3ApIiAiXG4iCisgICAgLy8gTWFjcm9Bc3NlbWJsZXI6OnByb2JlKCkgaGFzIGFs
cmVhZHkgZ2VuZXJhdGVkIGNvZGUgdG8gc3RvcmUgc29tZSB2YWx1ZXMuCisgICAgLy8gVG9nZXRo
ZXIgd2l0aCB0aGUgZWZsYWdzIHB1c2hlZCBhYm92ZSwgdGhlIHRvcCBvZiBzdGFjayBub3cgbG9v
a3MgbGlrZQorICAgIC8vIHRoaXM6CisgICAgLy8gICAgIGVzcFswICogcHRyU2l6ZV06IGVmbGFn
cworICAgIC8vICAgICBlc3BbMSAqIHB0clNpemVdOiByZXR1cm4gYWRkcmVzcyAvIHNhdmVkIGVp
cAorICAgIC8vICAgICBlc3BbMiAqIHB0clNpemVdOiBwcm9iZUZ1bmN0aW9uCisgICAgLy8gICAg
IGVzcFszICogcHRyU2l6ZV06IGFyZzEKKyAgICAvLyAgICAgZXNwWzQgKiBwdHJTaXplXTogYXJn
MgorICAgIC8vICAgICBlc3BbNSAqIHB0clNpemVdOiBzYXZlZCBlYXgKKyAgICAvLyAgICAgZXNw
WzYgKiBwdHJTaXplXTogc2F2ZWQgZXNwCisKKyAgICAibW92bCAlZXNwLCAlZWF4IiAiXG4iCisg
ICAgInN1YmwgJCIgU1RSSU5HSVpFX1ZBTFVFX09GKFBST0JFX1NJWkUpICIsICVlc3AiICJcbiIK
KworICAgIC8vIFRoZSBYODZfNjQgQUJJIHNwZWNpZmllcyB0aGF0IHRoZSB3b3JzZSBjYXNlIHN0
YWNrIGFsaWdubWVudCByZXF1aXJlbWVudAorICAgIC8vIGlzIDMyIGJ5dGVzLgorICAgICJhbmRs
ICR+MHgxZiwgJWVzcCIgIlxuIgogCiAgICAgIm1vdmwgJWVicCwgIiBTVFJJTkdJWkVfVkFMVUVf
T0YoUFJPQkVfQ1BVX0VCUF9PRkZTRVQpICIoJWVzcCkiICJcbiIKICAgICAibW92bCAlZXNwLCAl
ZWJwIiAiXG4iIC8vIFNhdmUgdGhlIFByb2JlQ29udGV4dCouCkBAIC0xMTksNiArMTMyLDIyIEBA
IFNZTUJPTF9TVFJJTkcoY3RpTWFzbVByb2JlVHJhbXBvbGluZSkgIjoKICAgICAibW92bCAlZXNp
LCAiIFNUUklOR0laRV9WQUxVRV9PRihQUk9CRV9DUFVfRVNJX09GRlNFVCkgIiglZWJwKSIgIlxu
IgogICAgICJtb3ZsICVlZGksICIgU1RSSU5HSVpFX1ZBTFVFX09GKFBST0JFX0NQVV9FRElfT0ZG
U0VUKSAiKCVlYnApIiAiXG4iCiAKKyAgICAibW92bCAwICogIiBTVFJJTkdJWkVfVkFMVUVfT0Yo
UFRSX1NJWkUpICIoJWVheCksICVlY3giICJcbiIKKyAgICAibW92bCAlZWN4LCAiIFNUUklOR0la
RV9WQUxVRV9PRihQUk9CRV9DUFVfRUZMQUdTX09GRlNFVCkgIiglZWJwKSIgIlxuIgorICAgICJt
b3ZsIDEgKiAiIFNUUklOR0laRV9WQUxVRV9PRihQVFJfU0laRSkgIiglZWF4KSwgJWVjeCIgIlxu
IgorICAgICJtb3ZsICVlY3gsICIgU1RSSU5HSVpFX1ZBTFVFX09GKFBST0JFX0NQVV9FSVBfT0ZG
U0VUKSAiKCVlYnApIiAiXG4iCisgICAgIm1vdmwgMiAqICIgU1RSSU5HSVpFX1ZBTFVFX09GKFBU
Ul9TSVpFKSAiKCVlYXgpLCAlZWN4IiAiXG4iCisgICAgIm1vdmwgJWVjeCwgIiBTVFJJTkdJWkVf
VkFMVUVfT0YoUFJPQkVfUFJPQkVfRlVOQ1RJT05fT0ZGU0VUKSAiKCVlYnApIiAiXG4iCisgICAg
Im1vdmwgMyAqICIgU1RSSU5HSVpFX1ZBTFVFX09GKFBUUl9TSVpFKSAiKCVlYXgpLCAlZWN4IiAi
XG4iCisgICAgIm1vdmwgJWVjeCwgIiBTVFJJTkdJWkVfVkFMVUVfT0YoUFJPQkVfQVJHMV9PRkZT
RVQpICIoJWVicCkiICJcbiIKKyAgICAibW92bCA0ICogIiBTVFJJTkdJWkVfVkFMVUVfT0YoUFRS
X1NJWkUpICIoJWVheCksICVlY3giICJcbiIKKyAgICAibW92bCAlZWN4LCAiIFNUUklOR0laRV9W
QUxVRV9PRihQUk9CRV9BUkcyX09GRlNFVCkgIiglZWJwKSIgIlxuIgorICAgICJtb3ZsIDUgKiAi
IFNUUklOR0laRV9WQUxVRV9PRihQVFJfU0laRSkgIiglZWF4KSwgJWVjeCIgIlxuIgorICAgICJt
b3ZsICVlY3gsICIgU1RSSU5HSVpFX1ZBTFVFX09GKFBST0JFX0NQVV9FQVhfT0ZGU0VUKSAiKCVl
YnApIiAiXG4iCisgICAgIm1vdmwgNiAqICIgU1RSSU5HSVpFX1ZBTFVFX09GKFBUUl9TSVpFKSAi
KCVlYXgpLCAlZWN4IiAiXG4iCisgICAgIm1vdmwgJWVjeCwgIiBTVFJJTkdJWkVfVkFMVUVfT0Yo
UFJPQkVfQ1BVX0VTUF9PRkZTRVQpICIoJWVicCkiICJcbiIKKyAgICAibW92bCAlZWN4LCAiIFNU
UklOR0laRV9WQUxVRV9PRihQUk9CRV9KSVRfU1RBQ0tfRlJBTUVfT0ZGU0VUKSAiKCVlYnApIiAi
XG4iCisKICAgICAibW92ZHFhICV4bW0wLCAiIFNUUklOR0laRV9WQUxVRV9PRihQUk9CRV9DUFVf
WE1NMF9PRkZTRVQpICIoJWVicCkiICJcbiIKICAgICAibW92ZHFhICV4bW0xLCAiIFNUUklOR0la
RV9WQUxVRV9PRihQUk9CRV9DUFVfWE1NMV9PRkZTRVQpICIoJWVicCkiICJcbiIKICAgICAibW92
ZHFhICV4bW0yLCAiIFNUUklOR0laRV9WQUxVRV9PRihQUk9CRV9DUFVfWE1NMl9PRkZTRVQpICIo
JWVicCkiICJcbiIKQEAgLTEyOCw5ICsxNTcsNiBAQCBTWU1CT0xfU1RSSU5HKGN0aU1hc21Qcm9i
ZVRyYW1wb2xpbmUpICI6CiAgICAgIm1vdmRxYSAleG1tNiwgIiBTVFJJTkdJWkVfVkFMVUVfT0Yo
UFJPQkVfQ1BVX1hNTTZfT0ZGU0VUKSAiKCVlYnApIiAiXG4iCiAgICAgIm1vdmRxYSAleG1tNywg
IiBTVFJJTkdJWkVfVkFMVUVfT0YoUFJPQkVfQ1BVX1hNTTdfT0ZGU0VUKSAiKCVlYnApIiAiXG4i
CiAKLSAgICAibW92bCAiIFNUUklOR0laRV9WQUxVRV9PRihQUk9CRV9DUFVfRVNQX09GRlNFVCkg
IiglZWJwKSwgJWVheCIgIlxuIgotICAgICJtb3ZsICVlYXgsICIgU1RSSU5HSVpFX1ZBTFVFX09G
KFBST0JFX0pJVF9TVEFDS19GUkFNRV9PRkZTRVQpICIoJWVicCkiICJcbiIKLQogICAgIC8vIFJl
c2VydmUgc3RhY2sgc3BhY2UgZm9yIHRoZSBhcmcgd2hpbGUgbWFpbnRhaW5pbmcgdGhlIHJlcXVp
cmVkIHN0YWNrCiAgICAgLy8gcG9pbnRlciAzMiBieXRlIGFsaWdubWVudDoKICAgICAic3VibCAk
MHgyMCwgJWVzcCIgIlxuIgpAQCAtMTM4LDE0ICsxNjQsMTEgQEAgU1lNQk9MX1NUUklORyhjdGlN
YXNtUHJvYmVUcmFtcG9saW5lKSAiOgogCiAgICAgImNhbGwgKiIgU1RSSU5HSVpFX1ZBTFVFX09G
KFBST0JFX1BST0JFX0ZVTkNUSU9OX09GRlNFVCkgIiglZWJwKSIgIlxuIgogCi0gICAgLy8gVG8g
ZW5hYmxlIHByb2JlcyB0byBtb2RpZnkgcmVnaXN0ZXIgc3RhdGUsIHdlIGNvcHkgYWxsIHJlZ2ll
c3RlcnMKKyAgICAvLyBUbyBlbmFibGUgcHJvYmVzIHRvIG1vZGlmeSByZWdpc3RlciBzdGF0ZSwg
d2UgY29weSBhbGwgcmVnaXN0ZXJzCiAgICAgLy8gb3V0IG9mIHRoZSBQcm9iZUNvbnRleHQgYmVm
b3JlIHJldHVybmluZy4KIAotICAgICJtb3ZsICIgU1RSSU5HSVpFX1ZBTFVFX09GKFBST0JFX0NQ
VV9FQVhfT0ZGU0VUKSAiKCVlYnApLCAlZWF4IiAiXG4iCi0gICAgIm1vdmwgIiBTVFJJTkdJWkVf
VkFMVUVfT0YoUFJPQkVfQ1BVX0VDWF9PRkZTRVQpICIoJWVicCksICVlY3giICJcbiIKICAgICAi
bW92bCAiIFNUUklOR0laRV9WQUxVRV9PRihQUk9CRV9DUFVfRURYX09GRlNFVCkgIiglZWJwKSwg
JWVkeCIgIlxuIgogICAgICJtb3ZsICIgU1RSSU5HSVpFX1ZBTFVFX09GKFBST0JFX0NQVV9FQlhf
T0ZGU0VUKSAiKCVlYnApLCAlZWJ4IiAiXG4iCi0gICAgIm1vdmwgIiBTVFJJTkdJWkVfVkFMVUVf
T0YoUFJPQkVfQ1BVX0VTUF9PRkZTRVQpICIoJWVicCksICVlc3AiICJcbiIKICAgICAibW92bCAi
IFNUUklOR0laRV9WQUxVRV9PRihQUk9CRV9DUFVfRVNJX09GRlNFVCkgIiglZWJwKSwgJWVzaSIg
IlxuIgogICAgICJtb3ZsICIgU1RSSU5HSVpFX1ZBTFVFX09GKFBST0JFX0NQVV9FRElfT0ZGU0VU
KSAiKCVlYnApLCAlZWRpIiAiXG4iCiAKQEAgLTE1OCw5ICsxODEsNzIgQEAgU1lNQk9MX1NUUklO
RyhjdGlNYXNtUHJvYmVUcmFtcG9saW5lKSAiOgogICAgICJtb3ZkcWEgIiBTVFJJTkdJWkVfVkFM
VUVfT0YoUFJPQkVfQ1BVX1hNTTZfT0ZGU0VUKSAiKCVlYnApLCAleG1tNiIgIlxuIgogICAgICJt
b3ZkcWEgIiBTVFJJTkdJWkVfVkFMVUVfT0YoUFJPQkVfQ1BVX1hNTTdfT0ZGU0VUKSAiKCVlYnAp
LCAleG1tNyIgIlxuIgogCi0gICAgInB1c2hsICIgU1RSSU5HSVpFX1ZBTFVFX09GKFBST0JFX0NQ
VV9FSVBfT0ZGU0VUKSAiKCVlYnApIiAiXG4iCisgICAgLy8gVGhlcmUgYXJlIDYgbW9yZSByZWdp
c3RlcnMgbGVmdCB0byByZXN0b3JlOgorICAgIC8vICAgICBlYXgsIGVjeCwgZWJwLCBlc3AsIGVp
cCwgYW5kIGVmbGFncy4KKyAgICAvLyBXZSBuZWVkIHRvIGhhbmRsZSB0aGVzZSBsYXN0IGZldyBy
ZXN0b3JlcyBjYXJlZnVsbHkgYmVjYXVzZToKKyAgICAvLworICAgIC8vIDEuIFdlIG5lZWQgdG8g
cHVzaCB0aGUgcmV0dXJuIGFkZHJlc3Mgb24gdGhlIHN0YWNrIGZvciByZXQgdG8gdXNlLgorICAg
IC8vICAgIFRoYXQgbWVhbnMgd2UgbmVlZCB0byB3cml0ZSB0byB0aGUgc3RhY2suCisgICAgLy8g
Mi4gVGhlIHVzZXIgcHJvYmUgZnVuY3Rpb24gbWF5IGhhdmUgYWx0ZXJlZCB0aGUgcmVzdG9yZSB2
YWx1ZSBvZiBlc3AgdG8KKyAgICAvLyAgICBwb2ludCB0byB0aGUgdmljaW5pdHkgb2Ygb25lIG9m
IHRoZSByZXN0b3JlIHZhbHVlcyBmb3IgdGhlIHJlbWFpbmluZworICAgIC8vICAgIHJlZ2lzdGVy
cyBsZWZ0IHRvIGJlIHJlc3RvcmVkLgorICAgIC8vICAgIFRoYXQgbWVhbnMsIGZvciByZXF1aXJl
bWVudCAxLCB3ZSBtYXkgZW5kIHVwIHdyaXRpbmcgb3ZlciBzb21lIG9mIHRoZQorICAgIC8vICAg
IHJlc3RvcmUgdmFsdWVzLiBXZSBjYW4gY2hlY2sgZm9yIHRoaXMsIGFuZCBmaXJzdCBjb3B5IHRo
ZSByZXN0b3JlCisgICAgLy8gICAgdmFsdWVzIHRvIGEgInNhZmUgYXJlYSIgb24gdGhlIHN0YWNr
IGJlZm9yZSBjb21tZW5jaW5nIHdpdGggdGhlIGFjdGlvbgorICAgIC8vICAgIGZvciByZXF1aXJl
bWVudCAxLgorICAgIC8vIDMuIEZvciByZXF1aXJlbWVudCAyLCB3ZSBuZWVkIHRvIGVuc3VyZSB0
aGF0IHRoZSAic2FmZSBhcmVhIiBpcworICAgIC8vICAgIHByb3RlY3RlZCBmcm9tIGludGVycnVw
dCBoYW5kbGVycyBvdmVyd3JpdGluZyBpdC4gSGVuY2UsIHRoZSBlc3AgbmVlZHMKKyAgICAvLyAg
ICB0byBiZSBhZGp1c3RlZCB0byBpbmNsdWRlIHRoZSAic2FmZSBhcmVhIiBiZWZvcmUgd2Ugc3Rh
cnQgY29weWluZyB0aGUKKyAgICAvLyAgICB0aGUgcmVzdG9yZSB2YWx1ZXMuCisKKyAgICAibW92
bCAlZWJwLCAlZWF4IiAiXG4iCisgICAgImFkZGwgJCIgU1RSSU5HSVpFX1ZBTFVFX09GKFBST0JF
X0NQVV9FRkxBR1NfT0ZGU0VUKSAiLCAlZWF4IiAiXG4iCisgICAgImNtcGwgJWVheCwgIiBTVFJJ
TkdJWkVfVkFMVUVfT0YoUFJPQkVfQ1BVX0VTUF9PRkZTRVQpICIoJWVicCkiICJcbiIKKyAgICAi
amcgIiBTWU1CT0xfU1RSSU5HKGN0aU1hc21Qcm9iZVRyYW1wb2xpbmVFbmQpICJcbiIKKworICAg
IC8vIExvY2F0ZSB0aGUgInNhZmUgYXJlYSIgYXQgMnggc2l6ZW9mKFByb2JlQ29udGV4dCkgYmVs
b3cgd2hlcmUgdGhlIG5ldworICAgIC8vIHJzcCB3aWxsIGJlLiBUaGlzIHRpbWUgd2UgZG9uJ3Qg
aGF2ZSB0byAzMi1ieXRlIGFsaWduIGl0IGJlY2F1c2Ugd2UncmUKKyAgICAvLyBub3QgdXNpbmcg
dG8gc3RvcmUgYW55IHhtbSByZWdzLgorICAgICJtb3ZsICIgU1RSSU5HSVpFX1ZBTFVFX09GKFBS
T0JFX0NQVV9FU1BfT0ZGU0VUKSAiKCVlYnApLCAlZWF4IiAiXG4iCisgICAgInN1YmwgJDIgKiAi
IFNUUklOR0laRV9WQUxVRV9PRihQUk9CRV9TSVpFKSAiLCAlZWF4IiAiXG4iCisgICAgIm1vdmwg
JWVheCwgJWVzcCIgIlxuIgogCi0gICAgIm1vdmwgIiBTVFJJTkdJWkVfVkFMVUVfT0YoUFJPQkVf
Q1BVX0VCUF9PRkZTRVQpICIoJWVicCksICVlYnAiICJcbiIKKyAgICAic3VibCAkIiBTVFJJTkdJ
WkVfVkFMVUVfT0YoUFJPQkVfQ1BVX0VBWF9PRkZTRVQpICIsICVlYXgiICJcbiIKKyAgICAibW92
bCAiIFNUUklOR0laRV9WQUxVRV9PRihQUk9CRV9DUFVfRUFYX09GRlNFVCkgIiglZWJwKSwgJWVj
eCIgIlxuIgorICAgICJtb3ZsICVlY3gsICIgU1RSSU5HSVpFX1ZBTFVFX09GKFBST0JFX0NQVV9F
QVhfT0ZGU0VUKSAiKCVlYXgpIiAiXG4iCisgICAgIm1vdmwgIiBTVFJJTkdJWkVfVkFMVUVfT0Yo
UFJPQkVfQ1BVX0VDWF9PRkZTRVQpICIoJWVicCksICVlY3giICJcbiIKKyAgICAibW92bCAlZWN4
LCAiIFNUUklOR0laRV9WQUxVRV9PRihQUk9CRV9DUFVfRUNYX09GRlNFVCkgIiglZWF4KSIgIlxu
IgorICAgICJtb3ZsICIgU1RSSU5HSVpFX1ZBTFVFX09GKFBST0JFX0NQVV9FQlBfT0ZGU0VUKSAi
KCVlYnApLCAlZWN4IiAiXG4iCisgICAgIm1vdmwgJWVjeCwgIiBTVFJJTkdJWkVfVkFMVUVfT0Yo
UFJPQkVfQ1BVX0VCUF9PRkZTRVQpICIoJWVheCkiICJcbiIKKyAgICAibW92bCAiIFNUUklOR0la
RV9WQUxVRV9PRihQUk9CRV9DUFVfRVNQX09GRlNFVCkgIiglZWJwKSwgJWVjeCIgIlxuIgorICAg
ICJtb3ZsICVlY3gsICIgU1RSSU5HSVpFX1ZBTFVFX09GKFBST0JFX0NQVV9FU1BfT0ZGU0VUKSAi
KCVlYXgpIiAiXG4iCisgICAgIm1vdmwgIiBTVFJJTkdJWkVfVkFMVUVfT0YoUFJPQkVfQ1BVX0VJ
UF9PRkZTRVQpICIoJWVicCksICVlY3giICJcbiIKKyAgICAibW92bCAlZWN4LCAiIFNUUklOR0la
RV9WQUxVRV9PRihQUk9CRV9DUFVfRUlQX09GRlNFVCkgIiglZWF4KSIgIlxuIgorICAgICJtb3Zs
ICIgU1RSSU5HSVpFX1ZBTFVFX09GKFBST0JFX0NQVV9FRkxBR1NfT0ZGU0VUKSAiKCVlYnApLCAl
ZWN4IiAiXG4iCisgICAgIm1vdmwgJWVjeCwgIiBTVFJJTkdJWkVfVkFMVUVfT0YoUFJPQkVfQ1BV
X0VGTEFHU19PRkZTRVQpICIoJWVheCkiICJcbiIKKyAgICAibW92bCAlZWF4LCAlZWJwIiAiXG4i
CisKK1NZTUJPTF9TVFJJTkcoY3RpTWFzbVByb2JlVHJhbXBvbGluZUVuZCkgIjoiICJcbiIKKyAg
ICAibW92bCAiIFNUUklOR0laRV9WQUxVRV9PRihQUk9CRV9DUFVfRVNQX09GRlNFVCkgIiglZWJw
KSwgJWVheCIgIlxuIgorICAgICJzdWJsICQ1ICogIiBTVFJJTkdJWkVfVkFMVUVfT0YoUFRSX1NJ
WkUpICIsICVlYXgiICJcbiIKKyAgICAvLyBBdCB0aGlzIHBvaW50LCAlZXNwIHNob3VsZCBiZSA8
ICVlYXguCisKKyAgICAibW92bCAiIFNUUklOR0laRV9WQUxVRV9PRihQUk9CRV9DUFVfRUZMQUdT
X09GRlNFVCkgIiglZWJwKSwgJWVjeCIgIlxuIgorICAgICJtb3ZsICVlY3gsIDAgKiAiIFNUUklO
R0laRV9WQUxVRV9PRihQVFJfU0laRSkgIiglZWF4KSIgIlxuIgorICAgICJtb3ZsICIgU1RSSU5H
SVpFX1ZBTFVFX09GKFBST0JFX0NQVV9FQVhfT0ZGU0VUKSAiKCVlYnApLCAlZWN4IiAiXG4iCisg
ICAgIm1vdmwgJWVjeCwgMSAqICIgU1RSSU5HSVpFX1ZBTFVFX09GKFBUUl9TSVpFKSAiKCVlYXgp
IiAiXG4iCisgICAgIm1vdmwgIiBTVFJJTkdJWkVfVkFMVUVfT0YoUFJPQkVfQ1BVX0VDWF9PRkZT
RVQpICIoJWVicCksICVlY3giICJcbiIKKyAgICAibW92bCAlZWN4LCAyICogIiBTVFJJTkdJWkVf
VkFMVUVfT0YoUFRSX1NJWkUpICIoJWVheCkiICJcbiIKKyAgICAibW92bCAiIFNUUklOR0laRV9W
QUxVRV9PRihQUk9CRV9DUFVfRUJQX09GRlNFVCkgIiglZWJwKSwgJWVjeCIgIlxuIgorICAgICJt
b3ZsICVlY3gsIDMgKiAiIFNUUklOR0laRV9WQUxVRV9PRihQVFJfU0laRSkgIiglZWF4KSIgIlxu
IgorICAgICJtb3ZsICIgU1RSSU5HSVpFX1ZBTFVFX09GKFBST0JFX0NQVV9FSVBfT0ZGU0VUKSAi
KCVlYnApLCAlZWN4IiAiXG4iCisgICAgIm1vdmwgJWVjeCwgNCAqICIgU1RSSU5HSVpFX1ZBTFVF
X09GKFBUUl9TSVpFKSAiKCVlYXgpIiAiXG4iCisgICAgIm1vdmwgJWVheCwgJWVzcCIgIlxuIgor
CisgICAgInBvcGZkIiAiXG4iCisgICAgInBvcGwgJWVheCIgIlxuIgorICAgICJwb3BsICVlY3gi
ICJcbiIKKyAgICAicG9wbCAlZWJwIiAiXG4iCiAgICAgInJldCIgIlxuIgogKTsKICNlbmRpZiAv
LyBVU0UoTUFTTV9QUk9CRSkKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklUU3R1
YnNYODZDb21tb24uaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0pJ
VFN0dWJzWDg2Q29tbW9uLmgJKHJldmlzaW9uIDE1MDgyNykKKysrIFNvdXJjZS9KYXZhU2NyaXB0
Q29yZS9qaXQvSklUU3R1YnNYODZDb21tb24uaAkod29ya2luZyBjb3B5KQpAQCAtNTIsMTcgKzUy
LDE2IEBAIG5hbWVzcGFjZSBKU0MgewogI2RlZmluZSBQUk9CRV9KSVRfU1RBQ0tfRlJBTUVfT0ZG
U0VUICgzICogUFRSX1NJWkUpCiAKICNkZWZpbmUgUFJPQkVfQ1BVX0VBWF9PRkZTRVQgKDQgKiBQ
VFJfU0laRSkKLSNkZWZpbmUgUFJPQkVfQ1BVX0VDWF9PRkZTRVQgKDUgKiBQVFJfU0laRSkKLSNk
ZWZpbmUgUFJPQkVfQ1BVX0VEWF9PRkZTRVQgKDYgKiBQVFJfU0laRSkKLSNkZWZpbmUgUFJPQkVf
Q1BVX0VCWF9PRkZTRVQgKDcgKiBQVFJfU0laRSkKLSNkZWZpbmUgUFJPQkVfQ1BVX0VTUF9PRkZT
RVQgKDggKiBQVFJfU0laRSkKLSNkZWZpbmUgUFJPQkVfQ1BVX0VCUF9PRkZTRVQgKDkgKiBQVFJf
U0laRSkKLSNkZWZpbmUgUFJPQkVfQ1BVX0VTSV9PRkZTRVQgKDEwICogUFRSX1NJWkUpCi0jZGVm
aW5lIFBST0JFX0NQVV9FRElfT0ZGU0VUICgxMSAqIFBUUl9TSVpFKQorI2RlZmluZSBQUk9CRV9D
UFVfRUJYX09GRlNFVCAoNSAqIFBUUl9TSVpFKQorI2RlZmluZSBQUk9CRV9DUFVfRUNYX09GRlNF
VCAoNiAqIFBUUl9TSVpFKQorI2RlZmluZSBQUk9CRV9DUFVfRURYX09GRlNFVCAoNyAqIFBUUl9T
SVpFKQorI2RlZmluZSBQUk9CRV9DUFVfRVNJX09GRlNFVCAoOCAqIFBUUl9TSVpFKQorI2RlZmlu
ZSBQUk9CRV9DUFVfRURJX09GRlNFVCAoOSAqIFBUUl9TSVpFKQorI2RlZmluZSBQUk9CRV9DUFVf
RUJQX09GRlNFVCAoMTAgKiBQVFJfU0laRSkKKyNkZWZpbmUgUFJPQkVfQ1BVX0VTUF9PRkZTRVQg
KDExICogUFRSX1NJWkUpCiAKICNpZiBDUFUoWDg2KQotI2RlZmluZSBQUk9CRV9DUFVfRUlQX09G
RlNFVCAoMTIgKiBQVFJfU0laRSkKLSNkZWZpbmUgUFJPQkVfRklSU1RfWE1NX09GRlNFVCAoMTYg
KiBQVFJfU0laRSkgLy8gQWZ0ZXIgcGFkZGluZy4KKyNkZWZpbmUgUFJPQkVfRklSU1RfU1BFQ0lB
TF9PRkZTRVQgKDEyICogUFRSX1NJWkUpCiAjZWxzZSAvLyBDUFUoWDg2XzY0KQogI2RlZmluZSBQ
Uk9CRV9DUFVfUjhfT0ZGU0VUICgxMiAqIFBUUl9TSVpFKQogI2RlZmluZSBQUk9CRV9DUFVfUjlf
T0ZGU0VUICgxMyAqIFBUUl9TSVpFKQpAQCAtNzIsOCArNzEsMTYgQEAgbmFtZXNwYWNlIEpTQyB7
CiAjZGVmaW5lIFBST0JFX0NQVV9SMTNfT0ZGU0VUICgxNyAqIFBUUl9TSVpFKQogI2RlZmluZSBQ
Uk9CRV9DUFVfUjE0X09GRlNFVCAoMTggKiBQVFJfU0laRSkKICNkZWZpbmUgUFJPQkVfQ1BVX1Ix
NV9PRkZTRVQgKDE5ICogUFRSX1NJWkUpCi0jZGVmaW5lIFBST0JFX0NQVV9FSVBfT0ZGU0VUICgy
MCAqIFBUUl9TSVpFKQotI2RlZmluZSBQUk9CRV9GSVJTVF9YTU1fT0ZGU0VUICgyMiAqIFBUUl9T
SVpFKSAvLyBBZnRlciBwYWRkaW5nLgorI2RlZmluZSBQUk9CRV9GSVJTVF9TUEVDSUFMX09GRlNF
VCAoMjAgKiBQVFJfU0laRSkKKyNlbmRpZiAvLyBDUFUoWDg2XzY0KQorCisjZGVmaW5lIFBST0JF
X0NQVV9FSVBfT0ZGU0VUIChQUk9CRV9GSVJTVF9TUEVDSUFMX09GRlNFVCArICgwICogUFRSX1NJ
WkUpKQorI2RlZmluZSBQUk9CRV9DUFVfRUZMQUdTX09GRlNFVCAoUFJPQkVfRklSU1RfU1BFQ0lB
TF9PRkZTRVQgKyAoMSAqIFBUUl9TSVpFKSkKKworI2lmIENQVShYODYpCisjZGVmaW5lIFBST0JF
X0ZJUlNUX1hNTV9PRkZTRVQgKFBST0JFX0ZJUlNUX1NQRUNJQUxfT0ZGU0VUICsgKDQgKiBQVFJf
U0laRSkpIC8vIEFmdGVyIHBhZGRpbmcuCisjZWxzZSAvLyBDUFUoWDg2XzY0KQorI2RlZmluZSBQ
Uk9CRV9GSVJTVF9YTU1fT0ZGU0VUIChQUk9CRV9GSVJTVF9TUEVDSUFMX09GRlNFVCArICgyICog
UFRSX1NJWkUpKSAvLyBBZnRlciBwYWRkaW5nLgogI2VuZGlmIC8vIENQVShYODZfNjQpCiAKICNk
ZWZpbmUgWE1NX1NJWkUgMTYKQEAgLTg2LDYgKzkzLDcgQEAgbmFtZXNwYWNlIEpTQyB7CiAjZGVm
aW5lIFBST0JFX0NQVV9YTU02X09GRlNFVCAoUFJPQkVfRklSU1RfWE1NX09GRlNFVCArICg2ICog
WE1NX1NJWkUpKQogI2RlZmluZSBQUk9CRV9DUFVfWE1NN19PRkZTRVQgKFBST0JFX0ZJUlNUX1hN
TV9PRkZTRVQgKyAoNyAqIFhNTV9TSVpFKSkKIAorI2RlZmluZSBQUk9CRV9TSVpFIChQUk9CRV9D
UFVfWE1NN19PRkZTRVQgKyBYTU1fU0laRSkKIAogLy8gVGhlc2UgQVNTRVJUcyByZW1pbmQgeW91
IHRoYXQgaWYgeW91IGNoYW5nZSB0aGUgbGF5b3V0IG9mIFByb2JlQ29udGV4dCwKIC8vIHlvdSBu
ZWVkIHRvIGNoYW5nZSBjdGlNYXNtUHJvYmVUcmFtcG9saW5lIG9mZnNldHMgYWJvdmUgdG8gbWF0
Y2guCkBAIC0xMDMsNiArMTExLDggQEAgQ09NUElMRV9BU1NFUlQoUFJPQkVfT0ZGU0VUT0YoY3B1
LmVzcCkgPQogQ09NUElMRV9BU1NFUlQoUFJPQkVfT0ZGU0VUT0YoY3B1LmVicCkgPT0gUFJPQkVf
Q1BVX0VCUF9PRkZTRVQsIFByb2JlQ29udGV4dF9jcHVfZWJwX29mZnNldF9tYXRjaGVzX2N0aU1h
c21Qcm9iZVRyYW1wb2xpbmUpOwogQ09NUElMRV9BU1NFUlQoUFJPQkVfT0ZGU0VUT0YoY3B1LmVz
aSkgPT0gUFJPQkVfQ1BVX0VTSV9PRkZTRVQsIFByb2JlQ29udGV4dF9jcHVfZXNpX29mZnNldF9t
YXRjaGVzX2N0aU1hc21Qcm9iZVRyYW1wb2xpbmUpOwogQ09NUElMRV9BU1NFUlQoUFJPQkVfT0ZG
U0VUT0YoY3B1LmVkaSkgPT0gUFJPQkVfQ1BVX0VESV9PRkZTRVQsIFByb2JlQ29udGV4dF9jcHVf
ZWRpX29mZnNldF9tYXRjaGVzX2N0aU1hc21Qcm9iZVRyYW1wb2xpbmUpOworQ09NUElMRV9BU1NF
UlQoUFJPQkVfT0ZGU0VUT0YoY3B1LmVpcCkgPT0gUFJPQkVfQ1BVX0VJUF9PRkZTRVQsIFByb2Jl
Q29udGV4dF9jcHVfZWlwX29mZnNldF9tYXRjaGVzX2N0aU1hc21Qcm9iZVRyYW1wb2xpbmUpOwor
Q09NUElMRV9BU1NFUlQoUFJPQkVfT0ZGU0VUT0YoY3B1LmVmbGFncykgPT0gUFJPQkVfQ1BVX0VG
TEFHU19PRkZTRVQsIFByb2JlQ29udGV4dF9jcHVfZWZsYWdzX29mZnNldF9tYXRjaGVzX2N0aU1h
c21Qcm9iZVRyYW1wb2xpbmUpOwogCiAjaWYgQ1BVKFg4Nl82NCkKIENPTVBJTEVfQVNTRVJUKFBS
T0JFX09GRlNFVE9GKGNwdS5yOCkgPT0gUFJPQkVfQ1BVX1I4X09GRlNFVCwgUHJvYmVDb250ZXh0
X2NwdV9yOF9vZmZzZXRfbWF0Y2hlc19jdGlNYXNtUHJvYmVUcmFtcG9saW5lKTsKQEAgLTExNSw4
ICsxMjUsNiBAQCBDT01QSUxFX0FTU0VSVChQUk9CRV9PRkZTRVRPRihjcHUucjE0KSA9CiBDT01Q
SUxFX0FTU0VSVChQUk9CRV9PRkZTRVRPRihjcHUucjE1KSA9PSBQUk9CRV9DUFVfUjE1X09GRlNF
VCwgUHJvYmVDb250ZXh0X2NwdV9yMTVfb2Zmc2V0X21hdGNoZXNfY3RpTWFzbVByb2JlVHJhbXBv
bGluZSk7CiAjZW5kaWYgLy8gQ1BVKFg4Nl82NCkKIAotQ09NUElMRV9BU1NFUlQoUFJPQkVfT0ZG
U0VUT0YoY3B1LmVpcCkgPT0gUFJPQkVfQ1BVX0VJUF9PRkZTRVQsIFByb2JlQ29udGV4dF9jcHVf
ZWlwX29mZnNldF9tYXRjaGVzX2N0aU1hc21Qcm9iZVRyYW1wb2xpbmUpOwotCiBDT01QSUxFX0FT
U0VSVChQUk9CRV9PRkZTRVRPRihjcHUueG1tMCkgPT0gUFJPQkVfQ1BVX1hNTTBfT0ZGU0VULCBQ
cm9iZUNvbnRleHRfY3B1X3htbTBfb2Zmc2V0X21hdGNoZXNfY3RpTWFzbVByb2JlVHJhbXBvbGlu
ZSk7CiBDT01QSUxFX0FTU0VSVChQUk9CRV9PRkZTRVRPRihjcHUueG1tMSkgPT0gUFJPQkVfQ1BV
X1hNTTFfT0ZGU0VULCBQcm9iZUNvbnRleHRfY3B1X3htbTFfb2Zmc2V0X21hdGNoZXNfY3RpTWFz
bVByb2JlVHJhbXBvbGluZSk7CiBDT01QSUxFX0FTU0VSVChQUk9CRV9PRkZTRVRPRihjcHUueG1t
MikgPT0gUFJPQkVfQ1BVX1hNTTJfT0ZGU0VULCBQcm9iZUNvbnRleHRfY3B1X3htbTJfb2Zmc2V0
X21hdGNoZXNfY3RpTWFzbVByb2JlVHJhbXBvbGluZSk7CkBAIC0xMjYsNiArMTM0LDggQEAgQ09N
UElMRV9BU1NFUlQoUFJPQkVfT0ZGU0VUT0YoY3B1LnhtbTUpIAogQ09NUElMRV9BU1NFUlQoUFJP
QkVfT0ZGU0VUT0YoY3B1LnhtbTYpID09IFBST0JFX0NQVV9YTU02X09GRlNFVCwgUHJvYmVDb250
ZXh0X2NwdV94bW02X29mZnNldF9tYXRjaGVzX2N0aU1hc21Qcm9iZVRyYW1wb2xpbmUpOwogQ09N
UElMRV9BU1NFUlQoUFJPQkVfT0ZGU0VUT0YoY3B1LnhtbTcpID09IFBST0JFX0NQVV9YTU03X09G
RlNFVCwgUHJvYmVDb250ZXh0X2NwdV94bW03X29mZnNldF9tYXRjaGVzX2N0aU1hc21Qcm9iZVRy
YW1wb2xpbmUpOwogCitDT01QSUxFX0FTU0VSVChzaXplb2YoTWFjcm9Bc3NlbWJsZXI6OlByb2Jl
Q29udGV4dCkgPT0gUFJPQkVfU0laRSwgUHJvYmVDb250ZXh0X3NpemVfbWF0Y2hlc19jdGlNYXNt
UHJvYmVUcmFtcG9saW5lKTsKKwogLy8gQWxzbyBkb3VibGUgY2hlY2sgdGhhdCB0aGUgeG1tIHJl
Z2lzdGVycyBhcmUgMTYgYnl0ZSAoMTI4LWJpdCkgYWxpZ25lZCBhcwogLy8gcmVxdWlyZWQgYnkg
dGhlIG1vdmRxYSBpbnN0cnVjdGlvbiB1c2VkIGluIHRoZSB0cmFtcG9saW5lLgogQ09NUElMRV9B
U1NFUlQoIShQUk9CRV9PRkZTRVRPRihjcHUueG1tMCkgJSAxNiksIFByb2JlQ29udGV4dF94bW0w
X29mZnNldF9ub3RfYWxpZ25lZF9wcm9wZXJseSk7CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENv
cmUvaml0L0pJVFN0dWJzWDg2XzY0LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRD
b3JlL2ppdC9KSVRTdHVic1g4Nl82NC5oCShyZXZpc2lvbiAxNTA4MjcpCisrKyBTb3VyY2UvSmF2
YVNjcmlwdENvcmUvaml0L0pJVFN0dWJzWDg2XzY0LmgJKHdvcmtpbmcgY29weSkKQEAgLTExOCwx
MiArMTE4LDI1IEBAIGFzbSAoCiBISURFX1NZTUJPTChjdGlNYXNtUHJvYmVUcmFtcG9saW5lKSAi
XG4iCiBTWU1CT0xfU1RSSU5HKGN0aU1hc21Qcm9iZVRyYW1wb2xpbmUpICI6IiAiXG4iCiAKLSAg
ICAvLyBNYWNyb0Fzc2VtYmxlcjo6cHJvYmUoKSBoYXMgYWxyZWFkeSBnZW5lcmF0ZWQgY29kZSB0
byBzYXZlL3N0b3JlIHRoZQotICAgIC8vIHZhbHVlcyBmb3IgcmF4IGFuZCByc3AgaW4gdGhlIFBy
b2JlQ29udGV4dC4gU2F2ZS9zdG9yZSB0aGUgcmVtYWluaW5nCi0gICAgLy8gcmVnaXN0ZXJzIGhl
cmUuCisgICAgInB1c2hmcSIgIlxuIgogCi0gICAgInBvcHEgJXJheCIgIlxuIgotICAgICJtb3Zx
ICVyYXgsICIgU1RSSU5HSVpFX1ZBTFVFX09GKFBST0JFX0NQVV9FSVBfT0ZGU0VUKSAiKCVyc3Ap
IiAiXG4iCisgICAgLy8gTWFjcm9Bc3NlbWJsZXI6OnByb2JlKCkgaGFzIGFscmVhZHkgZ2VuZXJh
dGVkIGNvZGUgdG8gc3RvcmUgc29tZSB2YWx1ZXMuCisgICAgLy8gVG9nZXRoZXIgd2l0aCB0aGUg
cmZsYWdzIHB1c2hlZCBhYm92ZSwgdGhlIHRvcCBvZiBzdGFjayBub3cgbG9va3MgbGlrZQorICAg
IC8vIHRoaXM6CisgICAgLy8gICAgIGVzcFswICogcHRyU2l6ZV06IHJmbGFncworICAgIC8vICAg
ICBlc3BbMSAqIHB0clNpemVdOiByZXR1cm4gYWRkcmVzcyAvIHNhdmVkIHJpcAorICAgIC8vICAg
ICBlc3BbMiAqIHB0clNpemVdOiBwcm9iZUZ1bmN0aW9uCisgICAgLy8gICAgIGVzcFszICogcHRy
U2l6ZV06IGFyZzEKKyAgICAvLyAgICAgZXNwWzQgKiBwdHJTaXplXTogYXJnMgorICAgIC8vICAg
ICBlc3BbNSAqIHB0clNpemVdOiBzYXZlZCByYXgKKyAgICAvLyAgICAgZXNwWzYgKiBwdHJTaXpl
XTogc2F2ZWQgcnNwCisKKyAgICAibW92cSAlcnNwLCAlcmF4IiAiXG4iCisgICAgInN1YnEgJCIg
U1RSSU5HSVpFX1ZBTFVFX09GKFBST0JFX1NJWkUpICIsICVyc3AiICJcbiIKKworICAgIC8vIFRo
ZSBYODZfNjQgQUJJIHNwZWNpZmllcyB0aGF0IHRoZSB3b3JzZSBjYXNlIHN0YWNrIGFsaWdubWVu
dCByZXF1aXJlbWVudAorICAgIC8vIGlzIDMyIGJ5dGVzLgorICAgICJhbmRxICR+MHgxZiwgJXJz
cCIgIlxuIgogCiAgICAgIm1vdnEgJXJicCwgIiBTVFJJTkdJWkVfVkFMVUVfT0YoUFJPQkVfQ1BV
X0VCUF9PRkZTRVQpICIoJXJzcCkiICJcbiIKICAgICAibW92cSAlcnNwLCAlcmJwIiAiXG4iIC8v
IFNhdmUgdGhlIFByb2JlQ29udGV4dCouCkBAIC0xMzQsNiArMTQ3LDIyIEBAIFNZTUJPTF9TVFJJ
TkcoY3RpTWFzbVByb2JlVHJhbXBvbGluZSkgIjoKICAgICAibW92cSAlcnNpLCAiIFNUUklOR0la
RV9WQUxVRV9PRihQUk9CRV9DUFVfRVNJX09GRlNFVCkgIiglcmJwKSIgIlxuIgogICAgICJtb3Zx
ICVyZGksICIgU1RSSU5HSVpFX1ZBTFVFX09GKFBST0JFX0NQVV9FRElfT0ZGU0VUKSAiKCVyYnAp
IiAiXG4iCiAKKyAgICAibW92cSAwICogIiBTVFJJTkdJWkVfVkFMVUVfT0YoUFRSX1NJWkUpICIo
JXJheCksICVyY3giICJcbiIKKyAgICAibW92cSAlcmN4LCAiIFNUUklOR0laRV9WQUxVRV9PRihQ
Uk9CRV9DUFVfRUZMQUdTX09GRlNFVCkgIiglcmJwKSIgIlxuIgorICAgICJtb3ZxIDEgKiAiIFNU
UklOR0laRV9WQUxVRV9PRihQVFJfU0laRSkgIiglcmF4KSwgJXJjeCIgIlxuIgorICAgICJtb3Zx
ICVyY3gsICIgU1RSSU5HSVpFX1ZBTFVFX09GKFBST0JFX0NQVV9FSVBfT0ZGU0VUKSAiKCVyYnAp
IiAiXG4iCisgICAgIm1vdnEgMiAqICIgU1RSSU5HSVpFX1ZBTFVFX09GKFBUUl9TSVpFKSAiKCVy
YXgpLCAlcmN4IiAiXG4iCisgICAgIm1vdnEgJXJjeCwgIiBTVFJJTkdJWkVfVkFMVUVfT0YoUFJP
QkVfUFJPQkVfRlVOQ1RJT05fT0ZGU0VUKSAiKCVyYnApIiAiXG4iCisgICAgIm1vdnEgMyAqICIg
U1RSSU5HSVpFX1ZBTFVFX09GKFBUUl9TSVpFKSAiKCVyYXgpLCAlcmN4IiAiXG4iCisgICAgIm1v
dnEgJXJjeCwgIiBTVFJJTkdJWkVfVkFMVUVfT0YoUFJPQkVfQVJHMV9PRkZTRVQpICIoJXJicCki
ICJcbiIKKyAgICAibW92cSA0ICogIiBTVFJJTkdJWkVfVkFMVUVfT0YoUFRSX1NJWkUpICIoJXJh
eCksICVyY3giICJcbiIKKyAgICAibW92cSAlcmN4LCAiIFNUUklOR0laRV9WQUxVRV9PRihQUk9C
RV9BUkcyX09GRlNFVCkgIiglcmJwKSIgIlxuIgorICAgICJtb3ZxIDUgKiAiIFNUUklOR0laRV9W
QUxVRV9PRihQVFJfU0laRSkgIiglcmF4KSwgJXJjeCIgIlxuIgorICAgICJtb3ZxICVyY3gsICIg
U1RSSU5HSVpFX1ZBTFVFX09GKFBST0JFX0NQVV9FQVhfT0ZGU0VUKSAiKCVyYnApIiAiXG4iCisg
ICAgIm1vdnEgNiAqICIgU1RSSU5HSVpFX1ZBTFVFX09GKFBUUl9TSVpFKSAiKCVyYXgpLCAlcmN4
IiAiXG4iCisgICAgIm1vdnEgJXJjeCwgIiBTVFJJTkdJWkVfVkFMVUVfT0YoUFJPQkVfQ1BVX0VT
UF9PRkZTRVQpICIoJXJicCkiICJcbiIKKyAgICAibW92cSAlcmN4LCAiIFNUUklOR0laRV9WQUxV
RV9PRihQUk9CRV9KSVRfU1RBQ0tfRlJBTUVfT0ZGU0VUKSAiKCVyYnApIiAiXG4iCisKICAgICAi
bW92cSAlcjgsICIgU1RSSU5HSVpFX1ZBTFVFX09GKFBST0JFX0NQVV9SOF9PRkZTRVQpICIoJXJi
cCkiICJcbiIKICAgICAibW92cSAlcjksICIgU1RSSU5HSVpFX1ZBTFVFX09GKFBST0JFX0NQVV9S
OV9PRkZTRVQpICIoJXJicCkiICJcbiIKICAgICAibW92cSAlcjEwLCAiIFNUUklOR0laRV9WQUxV
RV9PRihQUk9CRV9DUFVfUjEwX09GRlNFVCkgIiglcmJwKSIgIlxuIgpAQCAtMTUyLDIwICsxODEs
MTQgQEAgU1lNQk9MX1NUUklORyhjdGlNYXNtUHJvYmVUcmFtcG9saW5lKSAiOgogICAgICJtb3Zk
cWEgJXhtbTYsICIgU1RSSU5HSVpFX1ZBTFVFX09GKFBST0JFX0NQVV9YTU02X09GRlNFVCkgIigl
cmJwKSIgIlxuIgogICAgICJtb3ZkcWEgJXhtbTcsICIgU1RSSU5HSVpFX1ZBTFVFX09GKFBST0JF
X0NQVV9YTU03X09GRlNFVCkgIiglcmJwKSIgIlxuIgogCi0gICAgIm1vdnEgIiBTVFJJTkdJWkVf
VkFMVUVfT0YoUFJPQkVfQ1BVX0VTUF9PRkZTRVQpICIoJXJicCksICVyYXgiICJcbiIKLSAgICAi
bW92cSAlcmF4LCAiIFNUUklOR0laRV9WQUxVRV9PRihQUk9CRV9KSVRfU1RBQ0tfRlJBTUVfT0ZG
U0VUKSAiKCVyYnApIiAiXG4iCi0KICAgICAibW92cSAlcmJwLCAlcmRpIiAiXG4iIC8vIHRoZSBQ
cm9iZUNvbnRleHQqIGFyZy4KICAgICAiY2FsbCAqIiBTVFJJTkdJWkVfVkFMVUVfT0YoUFJPQkVf
UFJPQkVfRlVOQ1RJT05fT0ZGU0VUKSAiKCVyYnApIiAiXG4iCiAKLSAgICAvLyBUbyBlbmFibGUg
cHJvYmVzIHRvIG1vZGlmeSByZWdpc3RlciBzdGF0ZSwgd2UgY29weSBhbGwgcmVnaWVzdGVycwor
ICAgIC8vIFRvIGVuYWJsZSBwcm9iZXMgdG8gbW9kaWZ5IHJlZ2lzdGVyIHN0YXRlLCB3ZSBjb3B5
IGFsbCByZWdpc3RlcnMKICAgICAvLyBvdXQgb2YgdGhlIFByb2JlQ29udGV4dCBiZWZvcmUgcmV0
dXJuaW5nLgogCi0gICAgIm1vdnEgIiBTVFJJTkdJWkVfVkFMVUVfT0YoUFJPQkVfQ1BVX0VBWF9P
RkZTRVQpICIoJXJicCksICVyYXgiICJcbiIKLSAgICAibW92cSAiIFNUUklOR0laRV9WQUxVRV9P
RihQUk9CRV9DUFVfRUNYX09GRlNFVCkgIiglcmJwKSwgJXJjeCIgIlxuIgogICAgICJtb3ZxICIg
U1RSSU5HSVpFX1ZBTFVFX09GKFBST0JFX0NQVV9FRFhfT0ZGU0VUKSAiKCVyYnApLCAlcmR4IiAi
XG4iCiAgICAgIm1vdnEgIiBTVFJJTkdJWkVfVkFMVUVfT0YoUFJPQkVfQ1BVX0VCWF9PRkZTRVQp
ICIoJXJicCksICVyYngiICJcbiIKLSAgICAibW92cSAiIFNUUklOR0laRV9WQUxVRV9PRihQUk9C
RV9DUFVfRVNQX09GRlNFVCkgIiglcmJwKSwgJXJzcCIgIlxuIgogICAgICJtb3ZxICIgU1RSSU5H
SVpFX1ZBTFVFX09GKFBST0JFX0NQVV9FU0lfT0ZGU0VUKSAiKCVyYnApLCAlcnNpIiAiXG4iCiAg
ICAgIm1vdnEgIiBTVFJJTkdJWkVfVkFMVUVfT0YoUFJPQkVfQ1BVX0VESV9PRkZTRVQpICIoJXJi
cCksICVyZGkiICJcbiIKIApAQCAtMTg3LDkgKzIxMCw3MSBAQCBTWU1CT0xfU1RSSU5HKGN0aU1h
c21Qcm9iZVRyYW1wb2xpbmUpICI6CiAgICAgIm1vdmRxYSAiIFNUUklOR0laRV9WQUxVRV9PRihQ
Uk9CRV9DUFVfWE1NNl9PRkZTRVQpICIoJXJicCksICV4bW02IiAiXG4iCiAgICAgIm1vdmRxYSAi
IFNUUklOR0laRV9WQUxVRV9PRihQUk9CRV9DUFVfWE1NN19PRkZTRVQpICIoJXJicCksICV4bW03
IiAiXG4iCiAKLSAgICAicHVzaHEgIiBTVFJJTkdJWkVfVkFMVUVfT0YoUFJPQkVfQ1BVX0VJUF9P
RkZTRVQpICIoJXJicCkiICJcbiIKKyAgICAvLyBUaGVyZSBhcmUgNiBtb3JlIHJlZ2lzdGVycyBs
ZWZ0IHRvIHJlc3RvcmU6CisgICAgLy8gICAgIHJheCwgcmN4LCByYnAsIHJzcCwgcmlwLCBhbmQg
cmZsYWdzLgorICAgIC8vIFdlIG5lZWQgdG8gaGFuZGxlIHRoZXNlIGxhc3QgZmV3IHJlc3RvcmVz
IGNhcmVmdWxseSBiZWNhdXNlOgorICAgIC8vCisgICAgLy8gMS4gV2UgbmVlZCB0byBwdXNoIHRo
ZSByZXR1cm4gYWRkcmVzcyBvbiB0aGUgc3RhY2sgZm9yIHJldCB0byB1c2UKKyAgICAvLyAgICBU
aGF0IG1lYW5zIHdlIG5lZWQgdG8gd3JpdGUgdG8gdGhlIHN0YWNrLgorICAgIC8vIDIuIFRoZSB1
c2VyIHByb2JlIGZ1bmN0aW9uIG1heSBoYXZlIGFsdGVyZWQgdGhlIHJlc3RvcmUgdmFsdWUgb2Yg
ZXNwIHRvCisgICAgLy8gICAgcG9pbnQgdG8gdGhlIHZpY2luaXR5IG9mIG9uZSBvZiB0aGUgcmVz
dG9yZSB2YWx1ZXMgZm9yIHRoZSByZW1haW5pbmcKKyAgICAvLyAgICByZWdpc3RlcnMgbGVmdCB0
byBiZSByZXN0b3JlZC4KKyAgICAvLyAgICBUaGF0IG1lYW5zLCBmb3IgcmVxdWlyZW1lbnQgMSwg
d2UgbWF5IGVuZCB1cCB3cml0aW5nIG92ZXIgc29tZSBvZiB0aGUKKyAgICAvLyAgICByZXN0b3Jl
IHZhbHVlcy4gV2UgY2FuIGNoZWNrIGZvciB0aGlzLCBhbmQgZmlyc3QgY29weSB0aGUgcmVzdG9y
ZQorICAgIC8vICAgIHZhbHVlcyB0byBhICJzYWZlIGFyZWEiIG9uIHRoZSBzdGFjayBiZWZvcmUg
Y29tbWVuY2luZyB3aXRoIHRoZSBhY3Rpb24KKyAgICAvLyAgICBmb3IgcmVxdWlyZW1lbnQgMS4K
KyAgICAvLyAzLiBGb3IgYm90aCByZXF1aXJlbWVudCAyLCB3ZSBuZWVkIHRvIGVuc3VyZSB0aGF0
IHRoZSAic2FmZSBhcmVhIiBpcworICAgIC8vICAgIHByb3RlY3RlZCBmcm9tIGludGVycnVwdCBo
YW5kbGVycyBvdmVyd3JpdGluZyBpdC4gSGVuY2UsIHRoZSBlc3AgbmVlZHMKKyAgICAvLyAgICB0
byBiZSBhZGp1c3RlZCB0byBpbmNsdWRlIHRoZSAic2FmZSBhcmVhIiBiZWZvcmUgd2Ugc3RhcnQg
Y29weWluZyB0aGUKKyAgICAvLyAgICB0aGUgcmVzdG9yZSB2YWx1ZXMuCisKKyAgICAibW92cSAl
cmJwLCAlcmF4IiAiXG4iCisgICAgImFkZHEgJCIgU1RSSU5HSVpFX1ZBTFVFX09GKFBST0JFX0NQ
VV9FRkxBR1NfT0ZGU0VUKSAiLCAlcmF4IiAiXG4iCisgICAgImNtcHEgJXJheCwgIiBTVFJJTkdJ
WkVfVkFMVUVfT0YoUFJPQkVfQ1BVX0VTUF9PRkZTRVQpICIoJXJicCkiICJcbiIKKyAgICAiamcg
IiBTWU1CT0xfU1RSSU5HKGN0aU1hc21Qcm9iZVRyYW1wb2xpbmVFbmQpICJcbiIKKworICAgIC8v
IExvY2F0ZSB0aGUgInNhZmUgYXJlYSIgYXQgMnggc2l6ZW9mKFByb2JlQ29udGV4dCkgYmVsb3cg
d2hlcmUgdGhlIG5ldworICAgIC8vIHJzcCB3aWxsIGJlLiBUaGlzIHRpbWUgd2UgZG9uJ3QgaGF2
ZSB0byAzMi1ieXRlIGFsaWduIGl0IGJlY2F1c2Ugd2UncmUKKyAgICAvLyBub3QgdXNpbmcgdG8g
c3RvcmUgYW55IHhtbSByZWdzLgorICAgICJtb3ZxICIgU1RSSU5HSVpFX1ZBTFVFX09GKFBST0JF
X0NQVV9FU1BfT0ZGU0VUKSAiKCVyYnApLCAlcmF4IiAiXG4iCisgICAgInN1YnEgJDIgKiAiIFNU
UklOR0laRV9WQUxVRV9PRihQUk9CRV9TSVpFKSAiLCAlcmF4IiAiXG4iCisgICAgIm1vdnEgJXJh
eCwgJXJzcCIgIlxuIgogCi0gICAgIm1vdnEgIiBTVFJJTkdJWkVfVkFMVUVfT0YoUFJPQkVfQ1BV
X0VCUF9PRkZTRVQpICIoJXJicCksICVyYnAiICJcbiIKKyAgICAibW92cSAiIFNUUklOR0laRV9W
QUxVRV9PRihQUk9CRV9DUFVfRUFYX09GRlNFVCkgIiglcmJwKSwgJXJjeCIgIlxuIgorICAgICJt
b3ZxICVyY3gsICIgU1RSSU5HSVpFX1ZBTFVFX09GKFBST0JFX0NQVV9FQVhfT0ZGU0VUKSAiKCVy
YXgpIiAiXG4iCisgICAgIm1vdnEgIiBTVFJJTkdJWkVfVkFMVUVfT0YoUFJPQkVfQ1BVX0VDWF9P
RkZTRVQpICIoJXJicCksICVyY3giICJcbiIKKyAgICAibW92cSAlcmN4LCAiIFNUUklOR0laRV9W
QUxVRV9PRihQUk9CRV9DUFVfRUNYX09GRlNFVCkgIiglcmF4KSIgIlxuIgorICAgICJtb3ZxICIg
U1RSSU5HSVpFX1ZBTFVFX09GKFBST0JFX0NQVV9FQlBfT0ZGU0VUKSAiKCVyYnApLCAlcmN4IiAi
XG4iCisgICAgIm1vdnEgJXJjeCwgIiBTVFJJTkdJWkVfVkFMVUVfT0YoUFJPQkVfQ1BVX0VCUF9P
RkZTRVQpICIoJXJheCkiICJcbiIKKyAgICAibW92cSAiIFNUUklOR0laRV9WQUxVRV9PRihQUk9C
RV9DUFVfRVNQX09GRlNFVCkgIiglcmJwKSwgJXJjeCIgIlxuIgorICAgICJtb3ZxICVyY3gsICIg
U1RSSU5HSVpFX1ZBTFVFX09GKFBST0JFX0NQVV9FU1BfT0ZGU0VUKSAiKCVyYXgpIiAiXG4iCisg
ICAgIm1vdnEgIiBTVFJJTkdJWkVfVkFMVUVfT0YoUFJPQkVfQ1BVX0VJUF9PRkZTRVQpICIoJXJi
cCksICVyY3giICJcbiIKKyAgICAibW92cSAlcmN4LCAiIFNUUklOR0laRV9WQUxVRV9PRihQUk9C
RV9DUFVfRUlQX09GRlNFVCkgIiglcmF4KSIgIlxuIgorICAgICJtb3ZxICIgU1RSSU5HSVpFX1ZB
TFVFX09GKFBST0JFX0NQVV9FRkxBR1NfT0ZGU0VUKSAiKCVyYnApLCAlcmN4IiAiXG4iCisgICAg
Im1vdnEgJXJjeCwgIiBTVFJJTkdJWkVfVkFMVUVfT0YoUFJPQkVfQ1BVX0VGTEFHU19PRkZTRVQp
ICIoJXJheCkiICJcbiIKKyAgICAibW92cSAlcmF4LCAlcmJwIiAiXG4iCisKK1NZTUJPTF9TVFJJ
TkcoY3RpTWFzbVByb2JlVHJhbXBvbGluZUVuZCkgIjoiICJcbiIKKyAgICAibW92cSAiIFNUUklO
R0laRV9WQUxVRV9PRihQUk9CRV9DUFVfRVNQX09GRlNFVCkgIiglcmJwKSwgJXJheCIgIlxuIgor
ICAgICJzdWJxICQ1ICogIiBTVFJJTkdJWkVfVkFMVUVfT0YoUFRSX1NJWkUpICIsICVyYXgiICJc
biIKKyAgICAvLyBBdCB0aGlzIHBvaW50LCAlcnNwIHNob3VsZCBiZSA8ICVyYXguCisKKyAgICAi
bW92cSAiIFNUUklOR0laRV9WQUxVRV9PRihQUk9CRV9DUFVfRUZMQUdTX09GRlNFVCkgIiglcmJw
KSwgJXJjeCIgIlxuIgorICAgICJtb3ZxICVyY3gsIDAgKiAiIFNUUklOR0laRV9WQUxVRV9PRihQ
VFJfU0laRSkgIiglcmF4KSIgIlxuIgorICAgICJtb3ZxICIgU1RSSU5HSVpFX1ZBTFVFX09GKFBS
T0JFX0NQVV9FQVhfT0ZGU0VUKSAiKCVyYnApLCAlcmN4IiAiXG4iCisgICAgIm1vdnEgJXJjeCwg
MSAqICIgU1RSSU5HSVpFX1ZBTFVFX09GKFBUUl9TSVpFKSAiKCVyYXgpIiAiXG4iCisgICAgIm1v
dnEgIiBTVFJJTkdJWkVfVkFMVUVfT0YoUFJPQkVfQ1BVX0VDWF9PRkZTRVQpICIoJXJicCksICVy
Y3giICJcbiIKKyAgICAibW92cSAlcmN4LCAyICogIiBTVFJJTkdJWkVfVkFMVUVfT0YoUFRSX1NJ
WkUpICIoJXJheCkiICJcbiIKKyAgICAibW92cSAiIFNUUklOR0laRV9WQUxVRV9PRihQUk9CRV9D
UFVfRUJQX09GRlNFVCkgIiglcmJwKSwgJXJjeCIgIlxuIgorICAgICJtb3ZxICVyY3gsIDMgKiAi
IFNUUklOR0laRV9WQUxVRV9PRihQVFJfU0laRSkgIiglcmF4KSIgIlxuIgorICAgICJtb3ZxICIg
U1RSSU5HSVpFX1ZBTFVFX09GKFBST0JFX0NQVV9FSVBfT0ZGU0VUKSAiKCVyYnApLCAlcmN4IiAi
XG4iCisgICAgIm1vdnEgJXJjeCwgNCAqICIgU1RSSU5HSVpFX1ZBTFVFX09GKFBUUl9TSVpFKSAi
KCVyYXgpIiAiXG4iCisgICAgIm1vdnEgJXJheCwgJXJzcCIgIlxuIgorCisgICAgInBvcGZxIiAi
XG4iCisgICAgInBvcHEgJXJheCIgIlxuIgorICAgICJwb3BxICVyY3giICJcbiIKKyAgICAicG9w
cSAlcmJwIiAiXG4iCiAgICAgInJldCIgIlxuIgogKTsKICNlbmRpZiAvLyBVU0UoTUFTTV9QUk9C
RSkK
</data>
<flag name="review"
          id="224546"
          type_id="1"
          status="+"
          setter="msaboff"
    />
          </attachment>
      

    </bug>

</bugzilla>