<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<!DOCTYPE bugzilla SYSTEM "https://bugs.kde.org/page.cgi?id=bugzilla.dtd">

<bugzilla version="5.0.6"
          urlbase="https://bugs.kde.org/"
          
          maintainer="sysadmin@kde.org"
>

    <bug>
          <bug_id>426014</bug_id>
          
          <creation_ts>2020-08-31 10:51:24 +0000</creation_ts>
          <short_desc>arm64: implement fmadd and fmsub as Iop_MAdd/Sub instead of Iop_Add plus Iop_Mul</short_desc>
          <delta_ts>2020-12-15 15:36:07 +0000</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>6</classification_id>
          <classification>Developer tools</classification>
          <product>valgrind</product>
          <component>vex</component>
          <version>unspecified</version>
          <rep_platform>Other</rep_platform>
          <op_sys>Linux</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          <see_also>https://bugzilla.redhat.com/show_bug.cgi?id=1844910</see_also>
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>NOR</priority>
          <bug_severity>normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Mark Wielaard">mark</reporter>
          <assigned_to name="Mark Wielaard">mark</assigned_to>
          <cc>jseward</cc>
          
          <cf_commitlink></cf_commitlink>
          <cf_versionfixedin></cf_versionfixedin>
          <cf_sentryurl></cf_sentryurl>
          <votes>0</votes>

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1954325</commentid>
    <comment_count>0</comment_count>
    <who name="Mark Wielaard">mark</who>
    <bug_when>2020-08-31 10:51:24 +0000</bug_when>
    <thetext>The current implementation causes rounding issues as reported in https://bugzilla.redhat.com/show_bug.cgi?id=1844910#c7</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1963529</commentid>
    <comment_count>1</comment_count>
      <attachid>132242</attachid>
    <who name="Mark Wielaard">mark</who>
    <bug_when>2020-10-09 17:33:56 +0000</bug_when>
    <thetext>Created attachment 132242
arm64 VEX backend support for Iop_M{Add,Sub}F{32,64} to fmadd  and fmsub

Sassha was experimenting with turning the fmadd/fmsub into Iop_MAdd/Sub only to discover the VEX arm64 backend doesn&apos;t accept those Iops. This patch attempts to implement them in the backend. It compiles but it is totally untested otherwise.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1964813</commentid>
    <comment_count>2</comment_count>
      <attachid>132344</attachid>
    <who name="Alexandra Hajkova">ahajkova</who>
    <bug_when>2020-10-14 11:13:39 +0000</bug_when>
    <thetext>Created attachment 132344
tests patch

ests for both 32 and 64 bit versions for fmadd and fmsub

test results:
./fmadd32
FMADD 32bit: dst = z + x * y
76.246193 = 38.123096 + 55.000000 * 0.693147

/vg-in-place -q ./fmadd32
FMADD 32bit: dst = z + x * y
76.246193 = 38.123096 + 55.000000 * 0.693147

./fmadd64
FMADD 64bit: dst = z + x * y
76.246190 = 38.123095 + 55.000000 * 0.693147

./vg-in-place -q  ./fmadd64
FMADD 64bit: dst = z + x * y
76.246190 = 38.123095 + 55.000000 * 0.693147

/fmsub32
FMSUB 32bit: dst = z + (-x) * y
0.000001 = 38.123096 + (-55.000000) * 0.693147
dst = 0000000035c00000 = 1.430511474609375e-06

/vg-in-place -q ./fmsub32
FMSUB 32bit: dst = z + (-x) * y
0.000000 = 38.123096 + (-55.000000) * 0.693147
dst = 0000000000000000 = 0

./fmsub64
FMSUB 64bit: dst = z + (-x) * y
-0.000000 = 38.123095 + (-55.000000) * 0.693147
dst = bce9000000000000 = -2.7755575615628914e-15

./vg-in-place -q ./fmsub64
FMSUB 64bit: dst = z + (-x) * y
0.000000 = 38.123095 + (-55.000000) * 0.693147
dst = 0000000000000000 = 0</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1964878</commentid>
    <comment_count>3</comment_count>
      <attachid>132351</attachid>
    <who name="Mark Wielaard">mark</who>
    <bug_when>2020-10-14 14:42:35 +0000</bug_when>
    <thetext>Created attachment 132351
ARM64 VEX frontend support for fmadd/fmsub

This should implement the frontend support by replacing the separate Iop_Mul and Iop_Add with a single Iop_MAddF(32|64). But looking at the tests something is wrong because all results are garbled. Possibly we are not passing the arguments in the correct order. Will have to investigate with --trace-flags to see what IR is really generated and which fmadd/fmsub instructions are really produced by the backend.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1970165</commentid>
    <comment_count>4</comment_count>
      <attachid>132887</attachid>
    <who name="Mark Wielaard">mark</who>
    <bug_when>2020-10-30 11:20:05 +0000</bug_when>
    <thetext>Created attachment 132887
Fix ARM64Instr_VTriS/D argument order

Turned out we had one typo assigning arguments (skipping arg2 and using arg3 twice) and the order of the addend, multiplier product. Which obviously caused the result to be totally incorrect. With this fixed the results look sane.

There is a question whether the original argument order of the Iop_MAdd/SubF32/64 were correct in the first place. We better make sure we use the same as other arches (s390 and mips) so any VEX IR optimization PASS gets/keeps things in the correct order.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1984479</commentid>
    <comment_count>5</comment_count>
      <attachid>134086</attachid>
    <who name="Alexandra Hajkova">ahajkova</who>
    <bug_when>2020-12-15 10:33:22 +0000</bug_when>
    <thetext>Created attachment 134086
patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1984536</commentid>
    <comment_count>6</comment_count>
      <attachid>134093</attachid>
    <who name="Mark Wielaard">mark</who>
    <bug_when>2020-12-15 13:23:31 +0000</bug_when>
    <thetext>Created attachment 134093
patch

Thanks. Cleaned up the patch a little amd added a few more comments in the commit message.
- Removed the standalone tests_fmadd/sub32/64.c tests in the top level dir.
- Updated the SPEC/IMPL comment to show how we implement it now using fmadd and fmsub
- Removed the now unused opADD, opSUB, opMUL and eNxM
- Reindented the ix switch statement</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1984566</commentid>
    <comment_count>7</comment_count>
    <who name="Mark Wielaard">mark</who>
    <bug_when>2020-12-15 15:36:07 +0000</bug_when>
    <thetext>Pushed the patch with one small change. I replaced none/tests/arm64/fmadd_sub.stdout.exp with the exact output of running none/tests/arm64/fmadd_sub on bare metal. Now that we fixed the -0.0/+0.0 sign issues the result running under valgrind must be identical to running without.

commit 04cdc29b007594a0e58ffef0c9dd87df3ea595ea
Author: Mark Wielaard &lt;mark@klomp.org&gt;
Date:   Wed Oct 14 06:11:34 2020 -0400

    arm64 VEX frontend and backend support for Iop_M{Add,Sub}F{32,64}
    
    The arm64 frontend used to implement the scalar fmadd, fmsub, fnmadd
    and fnmsub iinstructions into separate addition/substraction and
    multiplication instructions, which caused rounding issues.
    
    This patch turns them into Iop_M{Add,Sub}F{32,64} instructions
    (with some arguments negated). And the backend now emits fmadd or fmsub
    instructions.
    
    Alexandra Hajkova &lt;ahajkova@redhat.com&gt; added tests and fixed up the
    implementation to make sure rounding (and sign) are correct now.
    
    https://bugs.kde.org/show_bug.cgi?id=426014</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="0"
              isprivate="0"
          >
            <attachid>132242</attachid>
            <date>2020-10-09 17:33:56 +0000</date>
            <delta_ts>2020-12-15 10:33:22 +0000</delta_ts>
            <desc>arm64 VEX backend support for Iop_M{Add,Sub}F{32,64} to fmadd  and fmsub</desc>
            <filename>0001-arm64-VEX-backend-support-for-Iop_M-Add-Sub-F-32-64-.patch</filename>
            <type>text/plain</type>
            <size>12431</size>
            <attacher name="Mark Wielaard">mark</attacher>
            
              <data encoding="base64">RnJvbSAyMGMzYzA1Zjk5NzQxYjQzOWY3Y2ZjN2RkNzhjMjg5NmQ1MWFkNDFlIE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBNYXJrIFdpZWxhYXJkIDxtYXJrQGtsb21wLm9yZz4KRGF0ZTog
RnJpLCA5IE9jdCAyMDIwIDE5OjIzOjU1ICswMjAwClN1YmplY3Q6IFtQQVRDSF0gYXJtNjQgVkVY
IGJhY2tlbmQgc3VwcG9ydCBmb3IgSW9wX017QWRkLFN1Yn1GezMyLDY0fSB0byBmbWFkZAogYW5k
IGZtc3ViCgpUdXJucyBJb3BfTUFkZEYzMiwgSW9wX01BZGRGNjQsIElvcF9NU3ViRjMyLCBJb3Bf
TVN1YkY2NCBpbnRvIGZtYWRkIGFuZApmbXN1YiBpbnN0cnVjdGlvbnMuCgpDdXJyZW50bHkgdW50
ZXN0ZWQgYmVjYXVzZSB0aGUgVkVYIGZyb250ZW5kIGZvciBhcm02NCBkb2Vzbid0IGdlbmVyYXRl
CnRob3NlIElvcHMgYXQgdGhlIG1vbWVudC4KCmh0dHBzOi8vYnVncy5rZGUub3JnL3Nob3dfYnVn
LmNnaT9pZD00MjYwMTQKLS0tCiBWRVgvcHJpdi9ob3N0X2FybTY0X2RlZnMuYyB8IDEzNiArKysr
KysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKystCiBWRVgvcHJpdi9ob3N0X2FybTY0X2Rl
ZnMuaCB8ICAzMCArKysrKysrKwogVkVYL3ByaXYvaG9zdF9hcm02NF9pc2VsLmMgfCAgMzkgKysr
KysrKysrKysKIDMgZmlsZXMgY2hhbmdlZCwgMjA0IGluc2VydGlvbnMoKyksIDEgZGVsZXRpb24o
LSkKCmRpZmYgLS1naXQgYS9WRVgvcHJpdi9ob3N0X2FybTY0X2RlZnMuYyBiL1ZFWC9wcml2L2hv
c3RfYXJtNjRfZGVmcy5jCmluZGV4IGU0ZWY1Njk4Ni4uZTNlYWZmYmI5IDEwMDY0NAotLS0gYS9W
RVgvcHJpdi9ob3N0X2FybTY0X2RlZnMuYworKysgYi9WRVgvcHJpdi9ob3N0X2FybTY0X2RlZnMu
YwpAQCAtNTQ2LDYgKzU0NiwxNCBAQCBzdGF0aWMgY29uc3QgSENoYXIqIHNob3dBUk02NEZwQmlu
T3AgKCBBUk02NEZwQmluT3Agb3AgKSB7CiAgICB9CiB9CiAKK3N0YXRpYyBjb25zdCBIQ2hhciog
c2hvd0FSTTY0RnBUcmlPcCAoIEFSTTY0RnBUcmlPcCBvcCApIHsKKyAgIHN3aXRjaCAob3ApIHsK
KyAgICAgIGNhc2UgQVJNNjRmcHRfRk1BREQ6IHJldHVybiAiZm1hZGQiOworICAgICAgY2FzZSBB
Uk02NGZwdF9GTVNVQjogcmV0dXJuICJmbXN1YiI7CisgICAgICBkZWZhdWx0OiB2cGFuaWMoInNo
b3dBUk02NEZwVHJpT3AiKTsKKyAgIH0KK30KKwogc3RhdGljIGNvbnN0IEhDaGFyKiBzaG93QVJN
NjRGcFVuYXJ5T3AgKCBBUk02NEZwVW5hcnlPcCBvcCApIHsKICAgIHN3aXRjaCAob3ApIHsKICAg
ICAgIGNhc2UgQVJNNjRmcHVfTkVHOiAgIHJldHVybiAibmVnICAiOwpAQCAtMTE1NCw2ICsxMTYy
LDI4IEBAIEFSTTY0SW5zdHIqIEFSTTY0SW5zdHJfVkJpblMgKCBBUk02NEZwQmluT3Agb3AsCiAg
ICBpLT5BUk02NGluLlZCaW5TLmFyZ1IgPSBhcmdSOwogICAgcmV0dXJuIGk7CiB9CitBUk02NElu
c3RyKiBBUk02NEluc3RyX1ZUcmlEICggQVJNNjRGcFRyaU9wIG9wLAorICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIEhSZWcgZHN0LCBIUmVnIGFyZzEsIEhSZWcgYXJnMiwgSFJlZyBhcmcz
ICkgeworICAgQVJNNjRJbnN0ciogaSA9IExpYlZFWF9BbGxvY19pbmxpbmUoc2l6ZW9mKEFSTTY0
SW5zdHIpKTsKKyAgIGktPnRhZyAgICAgICAgICAgICAgICA9IEFSTTY0aW5fVlRyaUQ7CisgICBp
LT5BUk02NGluLlZUcmlELm9wICAgPSBvcDsKKyAgIGktPkFSTTY0aW4uVlRyaUQuZHN0ICA9IGRz
dDsKKyAgIGktPkFSTTY0aW4uVlRyaUQuYXJnMSA9IGFyZzE7CisgICBpLT5BUk02NGluLlZUcmlE
LmFyZzIgPSBhcmczOworICAgaS0+QVJNNjRpbi5WVHJpRC5hcmczID0gYXJnMzsKKyAgIHJldHVy
biBpOworfQorQVJNNjRJbnN0ciogQVJNNjRJbnN0cl9WVHJpUyAoIEFSTTY0RnBUcmlPcCBvcCwK
KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBIUmVnIGRzdCwgSFJlZyBhcmcxLCBIUmVn
IGFyZzIsIEhSZWcgYXJnMyApIHsKKyAgIEFSTTY0SW5zdHIqIGkgPSBMaWJWRVhfQWxsb2NfaW5s
aW5lKHNpemVvZihBUk02NEluc3RyKSk7CisgICBpLT50YWcgICAgICAgICAgICAgICAgPSBBUk02
NGluX1ZUcmlTOworICAgaS0+QVJNNjRpbi5WVHJpUy5vcCAgID0gb3A7CisgICBpLT5BUk02NGlu
LlZUcmlTLmRzdCAgPSBkc3Q7CisgICBpLT5BUk02NGluLlZUcmlTLmFyZzEgPSBhcmcxOworICAg
aS0+QVJNNjRpbi5WVHJpUy5hcmcyID0gYXJnMjsKKyAgIGktPkFSTTY0aW4uVlRyaVMuYXJnMyA9
IGFyZzM7CisgICByZXR1cm4gaTsKK30KIEFSTTY0SW5zdHIqIEFSTTY0SW5zdHJfVkNtcEQgKCBI
UmVnIGFyZ0wsIEhSZWcgYXJnUiApIHsKICAgIEFSTTY0SW5zdHIqIGkgPSBMaWJWRVhfQWxsb2Nf
aW5saW5lKHNpemVvZihBUk02NEluc3RyKSk7CiAgICBpLT50YWcgICAgICAgICAgICAgICAgPSBB
Uk02NGluX1ZDbXBEOwpAQCAtMTc1Niw2ICsxNzg2LDI2IEBAIHZvaWQgcHBBUk02NEluc3RyICgg
Y29uc3QgQVJNNjRJbnN0ciogaSApIHsKICAgICAgICAgIHZleF9wcmludGYoIiwgIik7CiAgICAg
ICAgICBwcEhSZWdBUk02NGFzU3JlZyhpLT5BUk02NGluLlZCaW5TLmFyZ1IpOwogICAgICAgICAg
cmV0dXJuOworICAgICAgY2FzZSBBUk02NGluX1ZUcmlEOgorICAgICAgICAgdmV4X3ByaW50Zigi
ZiVzICAgIiwgc2hvd0FSTTY0RnBUcmlPcChpLT5BUk02NGluLlZUcmlELm9wKSk7CisgICAgICAg
ICBwcEhSZWdBUk02NChpLT5BUk02NGluLlZUcmlELmRzdCk7CisgICAgICAgICB2ZXhfcHJpbnRm
KCIsICIpOworICAgICAgICAgcHBIUmVnQVJNNjQoaS0+QVJNNjRpbi5WVHJpRC5hcmcxKTsKKyAg
ICAgICAgIHZleF9wcmludGYoIiwgIik7CisgICAgICAgICBwcEhSZWdBUk02NChpLT5BUk02NGlu
LlZUcmlELmFyZzIpOworICAgICAgICAgdmV4X3ByaW50ZigiLCAiKTsKKyAgICAgICAgIHBwSFJl
Z0FSTTY0KGktPkFSTTY0aW4uVlRyaUQuYXJnMyk7CisgICAgICAgICByZXR1cm47CisgICAgICBj
YXNlIEFSTTY0aW5fVlRyaVM6CisgICAgICAgICB2ZXhfcHJpbnRmKCJmJXMgICAiLCBzaG93QVJN
NjRGcFRyaU9wKGktPkFSTTY0aW4uVlRyaVMub3ApKTsKKyAgICAgICAgIHBwSFJlZ0FSTTY0YXNT
cmVnKGktPkFSTTY0aW4uVlRyaVMuZHN0KTsKKyAgICAgICAgIHZleF9wcmludGYoIiwgIik7Cisg
ICAgICAgICBwcEhSZWdBUk02NGFzU3JlZyhpLT5BUk02NGluLlZUcmlTLmFyZzEpOworICAgICAg
ICAgdmV4X3ByaW50ZigiLCAiKTsKKyAgICAgICAgIHBwSFJlZ0FSTTY0YXNTcmVnKGktPkFSTTY0
aW4uVlRyaVMuYXJnMik7CisgICAgICAgICB2ZXhfcHJpbnRmKCIsICIpOworICAgICAgICAgcHBI
UmVnQVJNNjRhc1NyZWcoaS0+QVJNNjRpbi5WVHJpUy5hcmczKTsKKyAgICAgICAgIHJldHVybjsK
ICAgICAgIGNhc2UgQVJNNjRpbl9WQ21wRDoKICAgICAgICAgIHZleF9wcmludGYoImZjbXAgICAi
KTsKICAgICAgICAgIHBwSFJlZ0FSTTY0KGktPkFSTTY0aW4uVkNtcEQuYXJnTCk7CkBAIC0yMTk3
LDYgKzIyNDcsMTggQEAgdm9pZCBnZXRSZWdVc2FnZV9BUk02NEluc3RyICggSFJlZ1VzYWdlKiB1
LCBjb25zdCBBUk02NEluc3RyKiBpLCBCb29sIG1vZGU2NCApCiAgICAgICAgICBhZGRIUmVnVXNl
KHUsIEhSbVJlYWQsIGktPkFSTTY0aW4uVkJpblMuYXJnTCk7CiAgICAgICAgICBhZGRIUmVnVXNl
KHUsIEhSbVJlYWQsIGktPkFSTTY0aW4uVkJpblMuYXJnUik7CiAgICAgICAgICByZXR1cm47Cisg
ICAgICBjYXNlIEFSTTY0aW5fVlRyaUQ6CisgICAgICAgICBhZGRIUmVnVXNlKHUsIEhSbVdyaXRl
LCBpLT5BUk02NGluLlZUcmlELmRzdCk7CisgICAgICAgICBhZGRIUmVnVXNlKHUsIEhSbVJlYWQs
IGktPkFSTTY0aW4uVlRyaUQuYXJnMSk7CisgICAgICAgICBhZGRIUmVnVXNlKHUsIEhSbVJlYWQs
IGktPkFSTTY0aW4uVlRyaUQuYXJnMik7CisgICAgICAgICBhZGRIUmVnVXNlKHUsIEhSbVJlYWQs
IGktPkFSTTY0aW4uVlRyaUQuYXJnMyk7CisgICAgICAgICByZXR1cm47CisgICAgICBjYXNlIEFS
TTY0aW5fVlRyaVM6CisgICAgICAgICBhZGRIUmVnVXNlKHUsIEhSbVdyaXRlLCBpLT5BUk02NGlu
LlZUcmlTLmRzdCk7CisgICAgICAgICBhZGRIUmVnVXNlKHUsIEhSbVJlYWQsIGktPkFSTTY0aW4u
VlRyaVMuYXJnMSk7CisgICAgICAgICBhZGRIUmVnVXNlKHUsIEhSbVJlYWQsIGktPkFSTTY0aW4u
VlRyaVMuYXJnMik7CisgICAgICAgICBhZGRIUmVnVXNlKHUsIEhSbVJlYWQsIGktPkFSTTY0aW4u
VlRyaVMuYXJnMyk7CisgICAgICAgICByZXR1cm47CiAgICAgICBjYXNlIEFSTTY0aW5fVkNtcEQ6
CiAgICAgICAgICBhZGRIUmVnVXNlKHUsIEhSbVJlYWQsIGktPkFSTTY0aW4uVkNtcEQuYXJnTCk7
CiAgICAgICAgICBhZGRIUmVnVXNlKHUsIEhSbVJlYWQsIGktPkFSTTY0aW4uVkNtcEQuYXJnUik7
CkBAIC0yNDU0LDYgKzI1MTYsMTggQEAgdm9pZCBtYXBSZWdzX0FSTTY0SW5zdHIgKCBIUmVnUmVt
YXAqIG0sIEFSTTY0SW5zdHIqIGksIEJvb2wgbW9kZTY0ICkKICAgICAgICAgIGktPkFSTTY0aW4u
VkJpblMuYXJnTCA9IGxvb2t1cEhSZWdSZW1hcChtLCBpLT5BUk02NGluLlZCaW5TLmFyZ0wpOwog
ICAgICAgICAgaS0+QVJNNjRpbi5WQmluUy5hcmdSID0gbG9va3VwSFJlZ1JlbWFwKG0sIGktPkFS
TTY0aW4uVkJpblMuYXJnUik7CiAgICAgICAgICByZXR1cm47CisgICAgICBjYXNlIEFSTTY0aW5f
VlRyaUQ6CisgICAgICAgICBpLT5BUk02NGluLlZUcmlELmRzdCAgPSBsb29rdXBIUmVnUmVtYXAo
bSwgaS0+QVJNNjRpbi5WVHJpRC5kc3QpOworICAgICAgICAgaS0+QVJNNjRpbi5WVHJpRC5hcmcx
ID0gbG9va3VwSFJlZ1JlbWFwKG0sIGktPkFSTTY0aW4uVlRyaUQuYXJnMSk7CisgICAgICAgICBp
LT5BUk02NGluLlZUcmlELmFyZzIgPSBsb29rdXBIUmVnUmVtYXAobSwgaS0+QVJNNjRpbi5WVHJp
RC5hcmcyKTsKKyAgICAgICAgIGktPkFSTTY0aW4uVlRyaUQuYXJnMyA9IGxvb2t1cEhSZWdSZW1h
cChtLCBpLT5BUk02NGluLlZUcmlELmFyZzMpOworICAgICAgICAgcmV0dXJuOworICAgICAgY2Fz
ZSBBUk02NGluX1ZUcmlTOgorICAgICAgICAgaS0+QVJNNjRpbi5WVHJpUy5kc3QgID0gbG9va3Vw
SFJlZ1JlbWFwKG0sIGktPkFSTTY0aW4uVlRyaVMuZHN0KTsKKyAgICAgICAgIGktPkFSTTY0aW4u
VlRyaVMuYXJnMSA9IGxvb2t1cEhSZWdSZW1hcChtLCBpLT5BUk02NGluLlZUcmlTLmFyZzEpOwor
ICAgICAgICAgaS0+QVJNNjRpbi5WVHJpUy5hcmcyID0gbG9va3VwSFJlZ1JlbWFwKG0sIGktPkFS
TTY0aW4uVlRyaVMuYXJnMik7CisgICAgICAgICBpLT5BUk02NGluLlZUcmlTLmFyZzMgPSBsb29r
dXBIUmVnUmVtYXAobSwgaS0+QVJNNjRpbi5WVHJpUy5hcmczKTsKKyAgICAgICAgIHJldHVybjsK
ICAgICAgIGNhc2UgQVJNNjRpbl9WQ21wRDoKICAgICAgICAgIGktPkFSTTY0aW4uVkNtcEQuYXJn
TCA9IGxvb2t1cEhSZWdSZW1hcChtLCBpLT5BUk02NGluLlZDbXBELmFyZ0wpOwogICAgICAgICAg
aS0+QVJNNjRpbi5WQ21wRC5hcmdSID0gbG9va3VwSFJlZ1JlbWFwKG0sIGktPkFSTTY0aW4uVkNt
cEQuYXJnUik7CkBAIC0yODEyLDcgKzI4ODYsOCBAQCBzdGF0aWMgaW5saW5lIFVJbnQgcXJlZ0Vu
YyAoIEhSZWcgciApCiAjZGVmaW5lIFgxMTExMDAxMSAgQklUUzgoMSwxLDEsMSwwLDAsMSwxKQog
I2RlZmluZSBYMTExMTAxMDEgIEJJVFM4KDEsMSwxLDEsMCwxLDAsMSkKICNkZWZpbmUgWDExMTEw
MTExICBCSVRTOCgxLDEsMSwxLDAsMSwxLDEpCi0KKyNkZWZpbmUgWDExMTExMDAwICBCSVRTOCgx
LDEsMSwxLDEsMCwwLDApCisjZGVmaW5lIFgxMTExMTAxMCAgQklUUzgoMSwxLDEsMSwxLDAsMSww
KQogCiAvKiAtLS0gNCBmaWVsZHMgLS0tICovCiAKQEAgLTI5NzIsNiArMzA0NywyNyBAQCBzdGF0
aWMgaW5saW5lIFVJbnQgWF8zXzZfMV82XzZfNV81ICggVUludCBmMSwgVUludCBmMiwgVUludCBm
MywKIH0KIAogCitzdGF0aWMgaW5saW5lIFVJbnQgWF8zXzhfNV8xXzVfNV81ICggVUludCBmMSwg
VUludCBmMiwgVUludCBmMywgVUludCBmNCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBVSW50IGY1LCBVSW50IGY2LCBVSW50IGY3ICkgeworICAgdmFzc2VydCgzKzgrNSsx
KzUrNSs1ID09IDMyKTsKKyAgIHZhc3NlcnQoZjEgPCAoMTw8MykpOworICAgdmFzc2VydChmMiA8
ICgxPDw4KSk7CisgICB2YXNzZXJ0KGYzIDwgKDE8PDUpKTsKKyAgIHZhc3NlcnQoZjQgPCAoMTw8
MSkpOworICAgdmFzc2VydChmNSA8ICgxPDw1KSk7CisgICB2YXNzZXJ0KGY2IDwgKDE8PDUpKTsK
KyAgIHZhc3NlcnQoZjcgPCAoMTw8NSkpOworICAgVUludCB3ID0gMDsKKyAgIHcgPSAodyA8PCAz
KSB8IGYxOworICAgdyA9ICh3IDw8IDgpIHwgZjI7CisgICB3ID0gKHcgPDwgNSkgfCBmMzsKKyAg
IHcgPSAodyA8PCAxKSB8IGY0OworICAgdyA9ICh3IDw8IDUpIHwgZjU7CisgICB3ID0gKHcgPDwg
NSkgfCBmNjsKKyAgIHcgPSAodyA8PCA1KSB8IGY3OworICAgcmV0dXJuIHc7Cit9CisKIC8vWlog
I2RlZmluZSBYMDAwMCAgQklUUzQoMCwwLDAsMCkKIC8vWlogI2RlZmluZSBYMDAwMSAgQklUUzQo
MCwwLDAsMSkKIC8vWlogI2RlZmluZSBYMDAxMCAgQklUUzQoMCwwLDEsMCkKQEAgLTQzMzksNiAr
NDQzNSw0NCBAQCBJbnQgZW1pdF9BUk02NEluc3RyICggLypNQl9NT0QqL0Jvb2wqIGlzX3Byb2ZJ
bmMsCiAgICAgICAgICAgICA9IFhfM184XzVfNl81XzUoWDAwMCwgWDExMTEwMDAxLCBzTSwgKGIx
NTEyIDw8IDIpIHwgWDEwLCBzTiwgc0QpOwogICAgICAgICAgZ290byBkb25lOwogICAgICAgfQor
ICAgICAgY2FzZSBBUk02NGluX1ZUcmlEOiB7CisgICAgICAgICAvKiAzMSAgICAgICAgICAgIDIw
IDE1IDE0IDkgNAorICAgICAgICAgICAgMDAwIDExMTExIDAxMCBtICAwICBhICBuIGQgRk1BREQg
IERkLERuLERtLERhCisgICAgICAgICAgICAtLS0tLS0tLS0tLS0tLS0tIDEgIC0tLS0tLSBGTVNV
QiAgLS0tLS0tLS0tLS0KKyAgICAgICAgICovCisgICAgICAgICBVSW50IGREID0gZHJlZ0VuYyhp
LT5BUk02NGluLlZUcmlELmRzdCk7CisgICAgICAgICBVSW50IGROID0gZHJlZ0VuYyhpLT5BUk02
NGluLlZUcmlELmFyZzEpOworICAgICAgICAgVUludCBkTSA9IGRyZWdFbmMoaS0+QVJNNjRpbi5W
VHJpRC5hcmcyKTsKKyAgICAgICAgIFVJbnQgZEEgPSBkcmVnRW5jKGktPkFSTTY0aW4uVlRyaUQu
YXJnMyk7CisgICAgICAgICBVSW50IGIxNSA9IDI7IC8qIGltcG9zc2libGUgKi8KKyAgICAgICAg
IHN3aXRjaCAoaS0+QVJNNjRpbi5WVHJpRC5vcCkgeworICAgICAgICAgICAgY2FzZSBBUk02NGZw
dF9GTUFERDogYjE1ID0gMDsgYnJlYWs7CisgICAgICAgICAgICBjYXNlIEFSTTY0ZnB0X0ZNU1VC
OiBiMTUgPSAxOyBicmVhazsKKyAgICAgICAgICAgIGRlZmF1bHQ6IGdvdG8gYmFkOworICAgICAg
ICAgfQorICAgICAgICAgdmFzc2VydChiMTUgPCAyKTsKKyAgICAgICAgICpwKysgPSBYXzNfOF81
XzFfNV81XzUoWDAwMCwgWDExMTExMDEwLCBkTSwgYjE1LCBkQSwgZE4sIGREKTsKKyAgICAgICAg
IGdvdG8gZG9uZTsKKyAgICAgIH0KKyAgICAgIGNhc2UgQVJNNjRpbl9WVHJpUzogeworICAgICAg
ICAgLyogMzEgICAgICAgICAgICAyMCAxNSAxNCA5IDQKKyAgICAgICAgICAgIDAwMCAxMTExMSAw
MDAgbSAgMCAgYSAgbiBkIEZNQUREICBEZCxEbixEbSxEYQorICAgICAgICAgICAgLS0tLS0tLS0t
LS0tLS0tLSAxICAtLS0tLS0gRk1TVUIgIC0tLS0tLS0tLS0tCisgICAgICAgICAqLworICAgICAg
ICAgVUludCBkRCA9IGRyZWdFbmMoaS0+QVJNNjRpbi5WVHJpRC5kc3QpOworICAgICAgICAgVUlu
dCBkTiA9IGRyZWdFbmMoaS0+QVJNNjRpbi5WVHJpRC5hcmcxKTsKKyAgICAgICAgIFVJbnQgZE0g
PSBkcmVnRW5jKGktPkFSTTY0aW4uVlRyaUQuYXJnMik7CisgICAgICAgICBVSW50IGRBID0gZHJl
Z0VuYyhpLT5BUk02NGluLlZUcmlELmFyZzMpOworICAgICAgICAgVUludCBiMTUgPSAyOyAvKiBp
bXBvc3NpYmxlICovCisgICAgICAgICBzd2l0Y2ggKGktPkFSTTY0aW4uVlRyaUQub3ApIHsKKyAg
ICAgICAgICAgIGNhc2UgQVJNNjRmcHRfRk1BREQ6IGIxNSA9IDA7IGJyZWFrOworICAgICAgICAg
ICAgY2FzZSBBUk02NGZwdF9GTVNVQjogYjE1ID0gMTsgYnJlYWs7CisgICAgICAgICAgICBkZWZh
dWx0OiBnb3RvIGJhZDsKKyAgICAgICAgIH0KKyAgICAgICAgIHZhc3NlcnQoYjE1IDwgMik7Cisg
ICAgICAgICAqcCsrID0gWF8zXzhfNV8xXzVfNV81KFgwMDAsIFgxMTExMTAwMCwgZE0sIGIxNSwg
ZEEsIGROLCBkRCk7CisgICAgICAgICBnb3RvIGRvbmU7CisgICAgICB9CiAgICAgICBjYXNlIEFS
TTY0aW5fVkNtcEQ6IHsKICAgICAgICAgIC8qIDAwMCAxMTExMCAwMSAxIG0gMDAgMTAwMCBuIDAw
IDAwMCAgRkNNUCBEbiwgRG0gKi8KICAgICAgICAgIFVJbnQgZE4gPSBkcmVnRW5jKGktPkFSTTY0
aW4uVkNtcEQuYXJnTCk7CmRpZmYgLS1naXQgYS9WRVgvcHJpdi9ob3N0X2FybTY0X2RlZnMuaCBi
L1ZFWC9wcml2L2hvc3RfYXJtNjRfZGVmcy5oCmluZGV4IDA1ZGJhN2FiOC4uNWE4MjU2NGNlIDEw
MDY0NAotLS0gYS9WRVgvcHJpdi9ob3N0X2FybTY0X2RlZnMuaAorKysgYi9WRVgvcHJpdi9ob3N0
X2FybTY0X2RlZnMuaApAQCAtMjg5LDYgKzI4OSwxNCBAQCB0eXBlZGVmCiAgICB9CiAgICBBUk02
NEZwQmluT3A7CiAKK3R5cGVkZWYKKyAgIGVudW0geworICAgICAgQVJNNjRmcHRfRk1BREQ9MTA1
LAorICAgICAgQVJNNjRmcHRfRk1TVUIsCisgICAgICBBUk02NGZwdF9JTlZBTElECisgICB9Cisg
ICBBUk02NEZwVHJpT3A7CisKIHR5cGVkZWYKICAgIGVudW0gewogICAgICAgQVJNNjRmcHVfTkVH
PTExMCwKQEAgLTQ5OCw2ICs1MDYsOCBAQCB0eXBlZGVmCiAgICAgICBBUk02NGluX1ZVbmFyeVMs
CiAgICAgICBBUk02NGluX1ZCaW5ELAogICAgICAgQVJNNjRpbl9WQmluUywKKyAgICAgIEFSTTY0
aW5fVlRyaUQsCisgICAgICBBUk02NGluX1ZUcmlTLAogICAgICAgQVJNNjRpbl9WQ21wRCwKICAg
ICAgIEFSTTY0aW5fVkNtcFMsCiAgICAgICBBUk02NGluX1ZGQ1NlbCwKQEAgLTc5OSw2ICs4MDks
MjIgQEAgdHlwZWRlZgogICAgICAgICAgICAgSFJlZyAgICAgICAgIGFyZ0w7CiAgICAgICAgICAg
ICBIUmVnICAgICAgICAgYXJnUjsKICAgICAgICAgIH0gVkJpblM7CisgICAgICAgICAvKiA2NC1i
aXQgRlAgdGVybmFyeSBhcml0aG1ldGljICovCisgICAgICAgICBzdHJ1Y3QgeworICAgICAgICAg
ICAgQVJNNjRGcFRyaU9wIG9wOworICAgICAgICAgICAgSFJlZyAgICAgICAgIGRzdDsKKyAgICAg
ICAgICAgIEhSZWcgICAgICAgICBhcmcxOworICAgICAgICAgICAgSFJlZyAgICAgICAgIGFyZzI7
CisgICAgICAgICAgICBIUmVnICAgICAgICAgYXJnMzsKKyAgICAgICAgIH0gVlRyaUQ7CisgICAg
ICAgICAvKiAzMi1iaXQgRlAgdGVybmFyeSBhcml0aG1ldGljICovCisgICAgICAgICBzdHJ1Y3Qg
eworICAgICAgICAgICAgQVJNNjRGcFRyaU9wIG9wOworICAgICAgICAgICAgSFJlZyAgICAgICAg
IGRzdDsKKyAgICAgICAgICAgIEhSZWcgICAgICAgICBhcmcxOworICAgICAgICAgICAgSFJlZyAg
ICAgICAgIGFyZzI7CisgICAgICAgICAgICBIUmVnICAgICAgICAgYXJnMzsKKyAgICAgICAgIH0g
VlRyaVM7CiAgICAgICAgICAvKiA2NC1iaXQgRlAgY29tcGFyZSAqLwogICAgICAgICAgc3RydWN0
IHsKICAgICAgICAgICAgIEhSZWcgYXJnTDsKQEAgLTk3MCw2ICs5OTYsMTAgQEAgZXh0ZXJuIEFS
TTY0SW5zdHIqIEFSTTY0SW5zdHJfVlVuYXJ5RCAoIEFSTTY0RnBVbmFyeU9wIG9wLCBIUmVnIGRz
dCwgSFJlZyBzcmMgKTsKIGV4dGVybiBBUk02NEluc3RyKiBBUk02NEluc3RyX1ZVbmFyeVMgKCBB
Uk02NEZwVW5hcnlPcCBvcCwgSFJlZyBkc3QsIEhSZWcgc3JjICk7CiBleHRlcm4gQVJNNjRJbnN0
ciogQVJNNjRJbnN0cl9WQmluRCAgICggQVJNNjRGcEJpbk9wIG9wLCBIUmVnLCBIUmVnLCBIUmVn
ICk7CiBleHRlcm4gQVJNNjRJbnN0ciogQVJNNjRJbnN0cl9WQmluUyAgICggQVJNNjRGcEJpbk9w
IG9wLCBIUmVnLCBIUmVnLCBIUmVnICk7CitleHRlcm4gQVJNNjRJbnN0ciogQVJNNjRJbnN0cl9W
VHJpRCAgICggQVJNNjRGcFRyaU9wIG9wLCBIUmVnIGRzdCwKKyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBIUmVnLCBIUmVnLCBIUmVnICk7CitleHRlcm4gQVJNNjRJbnN0
ciogQVJNNjRJbnN0cl9WVHJpUyAgICggQVJNNjRGcFRyaU9wIG9wLCBIUmVnIGRzdCwKKyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBIUmVnLCBIUmVnLCBIUmVnICk7CiBl
eHRlcm4gQVJNNjRJbnN0ciogQVJNNjRJbnN0cl9WQ21wRCAgICggSFJlZyBhcmdMLCBIUmVnIGFy
Z1IgKTsKIGV4dGVybiBBUk02NEluc3RyKiBBUk02NEluc3RyX1ZDbXBTICAgKCBIUmVnIGFyZ0ws
IEhSZWcgYXJnUiApOwogZXh0ZXJuIEFSTTY0SW5zdHIqIEFSTTY0SW5zdHJfVkZDU2VsICAoIEhS
ZWcgZHN0LCBIUmVnIGFyZ0wsIEhSZWcgYXJnUiwKZGlmZiAtLWdpdCBhL1ZFWC9wcml2L2hvc3Rf
YXJtNjRfaXNlbC5jIGIvVkVYL3ByaXYvaG9zdF9hcm02NF9pc2VsLmMKaW5kZXggMmYxOWVhYjgx
Li5lM2M4ZGJkZmMgMTAwNjQ0Ci0tLSBhL1ZFWC9wcml2L2hvc3RfYXJtNjRfaXNlbC5jCisrKyBi
L1ZFWC9wcml2L2hvc3RfYXJtNjRfaXNlbC5jCkBAIC0zMjU1LDYgKzMyNTUsMjUgQEAgc3RhdGlj
IEhSZWcgaXNlbERibEV4cHJfd3JrICggSVNlbEVudiogZW52LCBJUkV4cHIqIGUgKQogICAgICAg
fQogICAgfQogCisgICBpZiAoZS0+dGFnID09IElleF9Rb3ApIHsKKyAgICAgIElSUW9wKiAgICAg
ICBxb3AgPSBlLT5JZXguUW9wLmRldGFpbHM7CisgICAgICBBUk02NEZwVHJpT3AgdHJpb3AgPSBB
Uk02NGZwdF9JTlZBTElEOworICAgICAgc3dpdGNoIChxb3AtPm9wKSB7CisgICAgICAgICBjYXNl
IElvcF9NQWRkRjY0OiB0cmlvcCA9IEFSTTY0ZnB0X0ZNQUREOyBicmVhazsKKyAgICAgICAgIGNh
c2UgSW9wX01TdWJGNjQ6IHRyaW9wID0gQVJNNjRmcHRfRk1TVUI7IGJyZWFrOworICAgICAgICAg
ZGVmYXVsdDogYnJlYWs7CisgICAgICB9CisgICAgICBpZiAodHJpb3AgIT0gQVJNNjRmcHRfSU5W
QUxJRCkgeworICAgICAgICAgSFJlZyBhcmcxID0gaXNlbERibEV4cHIoZW52LCBxb3AtPmFyZzIp
OworICAgICAgICAgSFJlZyBhcmcyID0gaXNlbERibEV4cHIoZW52LCBxb3AtPmFyZzMpOworICAg
ICAgICAgSFJlZyBhcmczID0gaXNlbERibEV4cHIoZW52LCBxb3AtPmFyZzQpOworICAgICAgICAg
SFJlZyBkc3QgID0gbmV3VlJlZ0QoZW52KTsKKyAgICAgICAgIHNldF9GUENSX3JvdW5kaW5nX21v
ZGUoZW52LCBxb3AtPmFyZzEpOworICAgICAgICAgYWRkSW5zdHIoZW52LCBBUk02NEluc3RyX1ZU
cmlEKHRyaW9wLCBkc3QsIGFyZzEsIGFyZzIsIGFyZzMpKTsKKyAgICAgICAgIHJldHVybiBkc3Q7
CisgICAgICB9CisgICB9CisKICAgIGlmIChlLT50YWcgPT0gSWV4X0lURSkgewogICAgICAgLyog
SVRFKGNjZXhwciwgaWZ0cnVlLCBpZmZhbHNlKSAqLwogICAgICAgQVJNNjRDb25kQ29kZSBjYzsK
QEAgLTM0NTAsNiArMzQ2OSwyNiBAQCBzdGF0aWMgSFJlZyBpc2VsRmx0RXhwcl93cmsgKCBJU2Vs
RW52KiBlbnYsIElSRXhwciogZSApCiAgICAgICByZXR1cm4gZHN0OwogICAgfQogCisgICBpZiAo
ZS0+dGFnID09IElleF9Rb3ApIHsKKyAgICAgIElSUW9wKiAgICAgICBxb3AgPSBlLT5JZXguUW9w
LmRldGFpbHM7CisgICAgICBBUk02NEZwVHJpT3AgdHJpb3AgPSBBUk02NGZwdF9JTlZBTElEOwor
ICAgICAgc3dpdGNoIChxb3AtPm9wKSB7CisgICAgICAgICBjYXNlIElvcF9NQWRkRjMyOiB0cmlv
cCA9IEFSTTY0ZnB0X0ZNQUREOyBicmVhazsKKyAgICAgICAgIGNhc2UgSW9wX01TdWJGMzI6IHRy
aW9wID0gQVJNNjRmcHRfRk1TVUI7IGJyZWFrOworICAgICAgZGVmYXVsdDogYnJlYWs7CisgICAg
ICB9CisKKyAgICAgIGlmICh0cmlvcCAhPSBBUk02NGZwdF9JTlZBTElEKSB7CisgICAgICAgICBI
UmVnIGFyZzEgPSBpc2VsRmx0RXhwcihlbnYsIHFvcC0+YXJnMik7CisgICAgICAgICBIUmVnIGFy
ZzIgPSBpc2VsRmx0RXhwcihlbnYsIHFvcC0+YXJnMyk7CisgICAgICAgICBIUmVnIGFyZzMgPSBp
c2VsRmx0RXhwcihlbnYsIHFvcC0+YXJnNCk7CisgICAgICAgICBIUmVnIGRzdCAgPSBuZXdWUmVn
RChlbnYpOworICAgICAgICAgc2V0X0ZQQ1Jfcm91bmRpbmdfbW9kZShlbnYsIHFvcC0+YXJnMSk7
CisgICAgICAgICBhZGRJbnN0cihlbnYsIEFSTTY0SW5zdHJfVlRyaVModHJpb3AsIGRzdCwgYXJn
MSwgYXJnMiwgYXJnMykpOworICAgICAgICAgcmV0dXJuIGRzdDsKKyAgICAgIH0KKyAgIH0KKwog
ICAgcHBJUkV4cHIoZSk7CiAgICB2cGFuaWMoImlzZWxGbHRFeHByX3dyayIpOwogfQotLSAKMi4x
OC40Cgo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>132344</attachid>
            <date>2020-10-14 11:13:39 +0000</date>
            <delta_ts>2020-12-15 10:33:22 +0000</delta_ts>
            <desc>tests patch</desc>
            <filename>0001-Add-fmadd-fmsub-tests.patch</filename>
            <type>text/plain</type>
            <size>3808</size>
            <attacher name="Alexandra Hajkova">ahajkova</attacher>
            
              <data encoding="base64">RnJvbSA4NDNmMGZiZjBjZjc5NGJhZWNmYzMyZTc1MTQ1MjgwNzAwOWU3ZjIzIE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiByb290IDxyb290QGhwZS1hcG9sbG8tY245OXh4LTE1LXZtLTE3
LmtodzQubGFiLmVuZy5ib3MucmVkaGF0LmNvbT4KRGF0ZTogV2VkLCAxNCBPY3QgMjAyMCAwNjox
MTozNCAtMDQwMApTdWJqZWN0OiBbUEFUQ0hdIEFkZCBmbWFkZC9mbXN1YiB0ZXN0cwoKLS0tCiB0
ZXN0X2ZtYWRkMzIuYyB8IDM3ICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysK
IHRlc3RfZm1hZGQ2NC5jIHwgMzQgKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKwog
dGVzdF9mbXN1YjMyLmMgfCAzNCArKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrCiB0
ZXN0X2Ztc3ViNjQuYyB8IDMzICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKwogNCBm
aWxlcyBjaGFuZ2VkLCAxMzggaW5zZXJ0aW9ucygrKQogY3JlYXRlIG1vZGUgMTAwNjQ0IHRlc3Rf
Zm1hZGQzMi5jCiBjcmVhdGUgbW9kZSAxMDA2NDQgdGVzdF9mbWFkZDY0LmMKIGNyZWF0ZSBtb2Rl
IDEwMDY0NCB0ZXN0X2Ztc3ViMzIuYwogY3JlYXRlIG1vZGUgMTAwNjQ0IHRlc3RfZm1zdWI2NC5j
CgpkaWZmIC0tZ2l0IGEvdGVzdF9mbWFkZDMyLmMgYi90ZXN0X2ZtYWRkMzIuYwpuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAuLjVjN2VlMmE5MAotLS0gL2Rldi9udWxsCisrKyBi
L3Rlc3RfZm1hZGQzMi5jCkBAIC0wLDAgKzEsMzcgQEAKKyNpbmNsdWRlIDxtYXRoLmg+CisjaW5j
bHVkZSA8c3RkaW50Lmg+CisjaW5jbHVkZSA8c3RkaW8uaD4KKyNpbmNsdWRlIDxzdGRsaWIuaD4K
Kworc3RhdGljIHZvaWQKK3ByaW50X2Zsb2F0KGNvbnN0IGNoYXIgKmlkZW50LCBkb3VibGUgeCkK
K3sKKyAgdW5pb24KKyAgeworICAgIGRvdWJsZSBmOworICAgIHVpbnQ2NF90IGk7CisgIH0gdTsK
KworICB1LmYgPSB4OworICBwcmludGYoIiVzID0gJTAxNmx4ID0gJS4xN2dcbiIsIGlkZW50LCB1
LmksIHgpOworfQorCitpbnQKK21haW4oaW50IGFyZ2MsIGNoYXIgKiphcmd2KQoreworICBmbG9h
dCB4ID0gNTU7CisgIGZsb2F0IHkgPSAwLjY5MzE0NzE4MDU1OTk0NTI5OworICBmbG9hdCB6ID0g
MzguMTIzMDk0OTMwNzk2OTg4OworICBmbG9hdCBkc3Q7CisKKyAgLy8zMmJpdCB2YXJpYW50Cisg
IC8vIHB5dGhvbjIgcmVzdWx0CisgIC8vPj4+IDM4LjEyMzA5NiArIDU1LjAwMDAwMCAqIDAuNjkz
MTQ3CisgIC8vNzYuMjQ2MTgwOTk5OTk5OTkKKworICBhc20oImZtYWRkICVzMCwgJXMxLCAlczIs
ICVzM1xuOyIgOiAiPXciKGRzdCkgOiAidyIoeCksICJ3Iih5KSwgInciKHopKTsKKyAgcHJpbnRm
KCJGTUFERCAzMmJpdDogZHN0ID0geiArIHggKiB5XG4iKTsKKyAgcHJpbnRmKCIlZiA9ICVmICsg
JWYgKiAlZlxuIiwgZHN0LCB6LCB4LCB5KTsKKyAgCisgIHJldHVybiAwOworfQpkaWZmIC0tZ2l0
IGEvdGVzdF9mbWFkZDY0LmMgYi90ZXN0X2ZtYWRkNjQuYwpuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAuLmVkYzg0YjVjMAotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RfZm1hZGQ2
NC5jCkBAIC0wLDAgKzEsMzQgQEAKKyNpbmNsdWRlIDxtYXRoLmg+CisjaW5jbHVkZSA8c3RkaW50
Lmg+CisjaW5jbHVkZSA8c3RkaW8uaD4KKyNpbmNsdWRlIDxzdGRsaWIuaD4KKworc3RhdGljIHZv
aWQKK3ByaW50X2Zsb2F0KGNvbnN0IGNoYXIgKmlkZW50LCBkb3VibGUgeCkKK3sKKyAgdW5pb24K
KyAgeworICAgIGRvdWJsZSBmOworICAgIHVpbnQ2NF90IGk7CisgIH0gdTsKKworICB1LmYgPSB4
OworICBwcmludGYoIiVzID0gJTAxNmx4ID0gJS4xN2dcbiIsIGlkZW50LCB1LmksIHgpOworfQor
CitpbnQKK21haW4oaW50IGFyZ2MsIGNoYXIgKiphcmd2KQoreworICBkb3VibGUgeCA9IDU1Owor
ICBkb3VibGUgeSA9IDAuNjkzMTQ3MTgwNTU5OTQ1Mjk7CisgIGRvdWJsZSB6ID0gMzguMTIzMDk0
OTMwNzk2OTg4OworICBkb3VibGUgZHN0OworCisgIC8vNjRiaXQgdmFyaWFudAorICBhc20oImZt
YWRkICVkMCwgJWQxLCAlZDIsICVkM1xuOyIgOiAiPXciKGRzdCkgOiAidyIoeCksICJ3Iih5KSwg
InciKHopKTsKKyAgcHJpbnRmKCJGTUFERCA2NGJpdDogZHN0ID0geiArIHggKiB5XG4iKTsKKyAg
cHJpbnRmKCIlZiA9ICVmICsgJWYgKiAlZlxuIiwgZHN0LCB6LCB4LCB5KTsKKyAgCisgIHJldHVy
biAwOworfQorCmRpZmYgLS1naXQgYS90ZXN0X2Ztc3ViMzIuYyBiL3Rlc3RfZm1zdWIzMi5jCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMC4uODExMzAzYTFmCi0tLSAvZGV2L251
bGwKKysrIGIvdGVzdF9mbXN1YjMyLmMKQEAgLTAsMCArMSwzNCBAQAorI2luY2x1ZGUgPG1hdGgu
aD4KKyNpbmNsdWRlIDxzdGRpbnQuaD4KKyNpbmNsdWRlIDxzdGRpby5oPgorI2luY2x1ZGUgPHN0
ZGxpYi5oPgorCitzdGF0aWMgdm9pZAorcHJpbnRfZmxvYXQoY29uc3QgY2hhciAqaWRlbnQsIGZs
b2F0IHgpCit7CisgIHVuaW9uCisgIHsKKyAgICBmbG9hdCBmOworICAgIHVpbnQzMl90IGk7Cisg
IH0gdTsKKworICB1LmYgPSB4OworICBwcmludGYoIiVzID0gJTAxNmx4ID0gJS4xN2dcbiIsIGlk
ZW50LCB1LmksIHgpOworfQorCitpbnQKK21haW4oaW50IGFyZ2MsIGNoYXIgKiphcmd2KQorewor
ICBmbG9hdCB4ID0gNTU7CisgIGZsb2F0IHkgPSAwLjY5MzE0NzE4MDU1OTk0NTI5OworICBmbG9h
dCB6ID0gMzguMTIzMDk0OTMwNzk2OTg4OworICBmbG9hdCBkc3Q7CisKKyAgLy8zMmJpdCB2YXJp
YW50CisgIGFzbSgiZm1zdWIgJXMwLCAlczEsICVzMiwgJXMzXG47IiA6ICI9dyIoZHN0KSA6ICJ3
Iih4KSwgInciKHkpLCAidyIoeikpOworICBwcmludGYoIkZNU1VCIDMyYml0OiBkc3QgPSB6ICsg
KC14KSAqIHlcbiIpOworICBwcmludGYoIiVmID0gJWYgKyAoLSVmKSAqICVmXG4iLCBkc3QsIHos
IHgsIHkpOworICBwcmludF9mbG9hdCgiZHN0IiwgZHN0KTsKKyAgCisgIHJldHVybiAwOworfQpk
aWZmIC0tZ2l0IGEvdGVzdF9mbXN1YjY0LmMgYi90ZXN0X2Ztc3ViNjQuYwpuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAuLjM1ZmZlYzgyNQotLS0gL2Rldi9udWxsCisrKyBiL3Rl
c3RfZm1zdWI2NC5jCkBAIC0wLDAgKzEsMzMgQEAKKyNpbmNsdWRlIDxtYXRoLmg+CisjaW5jbHVk
ZSA8c3RkaW50Lmg+CisjaW5jbHVkZSA8c3RkaW8uaD4KKyNpbmNsdWRlIDxzdGRsaWIuaD4KKwor
c3RhdGljIHZvaWQKK3ByaW50X2RvdWJsZShjb25zdCBjaGFyICppZGVudCwgZG91YmxlIHgpCit7
CisgIHVuaW9uCisgIHsKKyAgICBkb3VibGUgZjsKKyAgICB1aW50NjRfdCBpOworICB9IHU7CisK
KyAgdS5mID0geDsKKyAgcHJpbnRmKCIlcyA9ICUwMTZseCA9ICUuMTdnXG4iLCBpZGVudCwgdS5p
LCB4KTsKK30KKworaW50CittYWluKGludCBhcmdjLCBjaGFyICoqYXJndikKK3sKKyAgZG91Ymxl
IHggPSA1NTsKKyAgZG91YmxlIHkgPSAwLjY5MzE0NzE4MDU1OTk0NTI5OworICBkb3VibGUgeiA9
IDM4LjEyMzA5NDkzMDc5Njk4ODsKKyAgZG91YmxlIGRzdDsKKworICBhc20oImZtc3ViICVkMCwg
JWQxLCAlZDIsICVkM1xuOyIgOiAiPXciKGRzdCkgOiAidyIoeCksICJ3Iih5KSwgInciKHopKTsK
KyAgcHJpbnRmKCJGTVNVQiA2NGJpdDogZHN0ID0geiArICgteCkgKiB5XG4iKTsKKyAgcHJpbnRm
KCIlZiA9ICVmICsgKC0lZikgKiAlZlxuIiwgZHN0LCB6LCB4LCB5KTsKKyAgcHJpbnRfZG91Ymxl
KCJkc3QiLCBkc3QpOworICAKKyAgcmV0dXJuIDA7Cit9Ci0tIAoyLjI3LjAKCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="0"
              isprivate="0"
          >
            <attachid>132351</attachid>
            <date>2020-10-14 14:42:35 +0000</date>
            <delta_ts>2020-12-15 10:33:22 +0000</delta_ts>
            <desc>ARM64 VEX frontend support for fmadd/fmsub</desc>
            <filename>arm64-fmadd-fmsub-frontend.patch</filename>
            <type>text/plain</type>
            <size>2526</size>
            <attacher name="Mark Wielaard">mark</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1ZFWC9wcml2L2d1ZXN0X2FybTY0X3RvSVIuYyBiL1ZFWC9wcml2L2d1ZXN0
X2FybTY0X3RvSVIuYwppbmRleCBmYTQ1OTZhOTAuLmZhNGEyZjIxMCAxMDA2NDQKLS0tIGEvVkVY
L3ByaXYvZ3Vlc3RfYXJtNjRfdG9JUi5jCisrKyBiL1ZFWC9wcml2L2d1ZXN0X2FybTY0X3RvSVIu
YwpAQCAtMjg2LDYgKzI4NiwxMiBAQCBzdGF0aWMgSVJFeHByKiB0cmlvcCAoIElST3Agb3AsIElS
RXhwciogYTEsIElSRXhwciogYTIsIElSRXhwciogYTMgKQogICAgcmV0dXJuIElSRXhwcl9Ucmlv
cChvcCwgYTEsIGEyLCBhMyk7CiB9CiAKK3N0YXRpYyBJUkV4cHIqIHFvcCAoIElST3Agb3AsIElS
RXhwciogYTEsIElSRXhwciogYTIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBJUkV4
cHIqIGEzLCBJUkV4cHIqIGE0ICkKK3sKKyAgIHJldHVybiBJUkV4cHJfUW9wKG9wLCBhMSwgYTIs
IGEzLCBhNCk7Cit9CisKIHN0YXRpYyBJUkV4cHIqIGxvYWRMRSAoIElSVHlwZSB0eSwgSVJFeHBy
KiBhZGRyICkKIHsKICAgIHJldHVybiBJUkV4cHJfTG9hZChJZW5kX0xFLCB0eSwgYWRkcik7CkBA
IC01MzIsNiArNTM4LDIyIEBAIHN0YXRpYyBJUk9wIG1rQURERiAoIElSVHlwZSB0eSApIHsKICAg
IH0KIH0KIAorc3RhdGljIElST3AgbWtGTUFEREYgKCBJUlR5cGUgdHkgKSB7CisgICBzd2l0Y2gg
KHR5KSB7CisgICAgICBjYXNlIEl0eV9GMzI6IHJldHVybiBJb3BfTUFkZEYzMjsKKyAgICAgIGNh
c2UgSXR5X0Y2NDogcmV0dXJuIElvcF9NQWRkRjY0OworICAgICAgZGVmYXVsdDogdnBhbmljKCJt
a0ZNQURERiIpOworICAgfQorfQorCitzdGF0aWMgSVJPcCBta0ZNU1VCRiAoIElSVHlwZSB0eSAp
IHsKKyAgIHN3aXRjaCAodHkpIHsKKyAgICAgIGNhc2UgSXR5X0YzMjogcmV0dXJuIElvcF9NU3Vi
RjMyOworICAgICAgY2FzZSBJdHlfRjY0OiByZXR1cm4gSW9wX01TdWJGNjQ7CisgICAgICBkZWZh
dWx0OiB2cGFuaWMoIm1rRk1TVUJGIik7CisgICB9Cit9CisKIHN0YXRpYyBJUk9wIG1rU1VCRiAo
IElSVHlwZSB0eSApIHsKICAgIHN3aXRjaCAodHkpIHsKICAgICAgIGNhc2UgSXR5X0YzMjogcmV0
dXJuIElvcF9TdWJGMzI7CkBAIC0xNDM3MywyMSArMTQzOTUsMTkgQEAgQm9vbCBkaXNfQWR2U0lN
RF9mcF9kYXRhX3Byb2NfM19zb3VyY2UoLypNQl9PVVQqL0Rpc1Jlc3VsdCogZHJlcywgVUludCBp
bnNuKQogICAgICAgQm9vbCAgICBpc0QgICA9ICh0eSAmIDEpID09IDE7CiAgICAgICBVSW50ICAg
IGl4ICAgID0gKGJpdE8xIDw8IDEpIHwgYml0TzA7CiAgICAgICBJUlR5cGUgIGl0eSAgID0gaXNE
ID8gSXR5X0Y2NCA6IEl0eV9GMzI7Ci0gICAgICBJUk9wICAgIG9wQUREID0gbWtBRERGKGl0eSk7
Ci0gICAgICBJUk9wICAgIG9wU1VCID0gbWtTVUJGKGl0eSk7Ci0gICAgICBJUk9wICAgIG9wTVVM
ID0gbWtNVUxGKGl0eSk7CiAgICAgICBJUk9wICAgIG9wTkVHID0gbWtORUdGKGl0eSk7CisgICAg
ICBJUk9wICAgIG9wRk1BREQgPSBta0ZNQURERihpdHkpOworICAgICAgSVJPcCAgICBvcEZNU1VC
ID0gbWtGTVNVQkYoaXR5KTsKICAgICAgIElSVGVtcCAgcmVzICAgPSBuZXdUZW1wKGl0eSk7CiAg
ICAgICBJUkV4cHIqIGVBICAgID0gZ2V0UVJlZ0xPKGFhLCBpdHkpOwogICAgICAgSVJFeHByKiBl
TiAgICA9IGdldFFSZWdMTyhubiwgaXR5KTsKICAgICAgIElSRXhwciogZU0gICAgPSBnZXRRUmVn
TE8obW0sIGl0eSk7CiAgICAgICBJUkV4cHIqIHJtICAgID0gbWtleHByKG1rX2dldF9JUl9yb3Vu
ZGluZ19tb2RlKCkpOwotICAgICAgSVJFeHByKiBlTnhNICA9IHRyaW9wKG9wTVVMLCBybSwgZU4s
IGVNKTsKICAgICAgIHN3aXRjaCAoaXgpIHsKLSAgICAgICAgIGNhc2UgMDogIGFzc2lnbihyZXMs
IHRyaW9wKG9wQURELCBybSwgZUEsIGVOeE0pKTsgYnJlYWs7Ci0gICAgICAgICBjYXNlIDE6ICBh
c3NpZ24ocmVzLCB0cmlvcChvcFNVQiwgcm0sIGVBLCBlTnhNKSk7IGJyZWFrOwotICAgICAgICAg
Y2FzZSAyOiAgYXNzaWduKHJlcywgdW5vcChvcE5FRywgdHJpb3Aob3BBREQsIHJtLCBlQSwgZU54
TSkpKTsgYnJlYWs7Ci0gICAgICAgICBjYXNlIDM6ICBhc3NpZ24ocmVzLCB1bm9wKG9wTkVHLCB0
cmlvcChvcFNVQiwgcm0sIGVBLCBlTnhNKSkpOyBicmVhazsKKyAgICAgICAgIGNhc2UgMDogIGFz
c2lnbihyZXMsIHFvcChvcEZNQURELCBybSwgZUEsIGVOLCBlTSkpOyBicmVhazsKKyAgICAgICAg
IGNhc2UgMTogIGFzc2lnbihyZXMsIHFvcChvcEZNU1VCLCBybSwgZUEsIGVOLCBlTSkpOyBicmVh
azsKKyAgICAgICAgIGNhc2UgMjogIGFzc2lnbihyZXMsIHVub3Aob3BORUcsIHFvcChvcEZNQURE
LCBybSwgZUEsIGVOLCBlTSkpKTsgYnJlYWs7CisgICAgICAgICBjYXNlIDM6ICBhc3NpZ24ocmVz
LCB1bm9wKG9wTkVHLCBxb3Aob3BGTVNVQiwgcm0sIGVBLCBlTiwgZU0pKSk7IGJyZWFrOwogICAg
ICAgICAgZGVmYXVsdDogdmFzc2VydCgwKTsKICAgICAgIH0KICAgICAgIHB1dFFSZWcxMjgoZGQs
IG1rVjEyOCgweDAwMDApKTsK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>132887</attachid>
            <date>2020-10-30 11:20:05 +0000</date>
            <delta_ts>2020-12-15 10:33:22 +0000</delta_ts>
            <desc>Fix ARM64Instr_VTriS/D argument order</desc>
            <filename>0001-Fix-fmadd-fmsub.patch</filename>
            <type>text/plain</type>
            <size>2361</size>
            <attacher name="Mark Wielaard">mark</attacher>
            
              <data encoding="base64">RnJvbSBkZWYwNDViZTA2Zjg2NGJhNmYyYTYxYjVmYzRjNDA1YzA0YzJjNDA2IE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBNYXJrIFdpZWxhYXJkIDxtYXJrQGtsb21wLm9yZz4KRGF0ZTog
TW9uLCAyNiBPY3QgMjAyMCAxMDowMjowNSAtMDQwMApTdWJqZWN0OiBbUEFUQ0hdIEZpeCBmbWFk
ZC9mbXN1YgoKLS0tCiBWRVgvcHJpdi9ob3N0X2FybTY0X2RlZnMuYyB8ICAyICstCiBWRVgvcHJp
di9ob3N0X2FybTY0X2lzZWwuYyB8IDE2ICsrKysrKysrLS0tLS0tLS0KIDIgZmlsZXMgY2hhbmdl
ZCwgOSBpbnNlcnRpb25zKCspLCA5IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL1ZFWC9wcml2
L2hvc3RfYXJtNjRfZGVmcy5jIGIvVkVYL3ByaXYvaG9zdF9hcm02NF9kZWZzLmMKaW5kZXggZTNl
YWZmYmI5Li4xM2I0OTdmNjAgMTAwNjQ0Ci0tLSBhL1ZFWC9wcml2L2hvc3RfYXJtNjRfZGVmcy5j
CisrKyBiL1ZFWC9wcml2L2hvc3RfYXJtNjRfZGVmcy5jCkBAIC0xMTY5LDcgKzExNjksNyBAQCBB
Uk02NEluc3RyKiBBUk02NEluc3RyX1ZUcmlEICggQVJNNjRGcFRyaU9wIG9wLAogICAgaS0+QVJN
NjRpbi5WVHJpRC5vcCAgID0gb3A7CiAgICBpLT5BUk02NGluLlZUcmlELmRzdCAgPSBkc3Q7CiAg
ICBpLT5BUk02NGluLlZUcmlELmFyZzEgPSBhcmcxOwotICAgaS0+QVJNNjRpbi5WVHJpRC5hcmcy
ID0gYXJnMzsKKyAgIGktPkFSTTY0aW4uVlRyaUQuYXJnMiA9IGFyZzI7CiAgICBpLT5BUk02NGlu
LlZUcmlELmFyZzMgPSBhcmczOwogICAgcmV0dXJuIGk7CiB9CmRpZmYgLS1naXQgYS9WRVgvcHJp
di9ob3N0X2FybTY0X2lzZWwuYyBiL1ZFWC9wcml2L2hvc3RfYXJtNjRfaXNlbC5jCmluZGV4IGUz
YzhkYmRmYy4uZGQ3MzE0ODg0IDEwMDY0NAotLS0gYS9WRVgvcHJpdi9ob3N0X2FybTY0X2lzZWwu
YworKysgYi9WRVgvcHJpdi9ob3N0X2FybTY0X2lzZWwuYwpAQCAtMzI2NCwxMiArMzI2NCwxMiBA
QCBzdGF0aWMgSFJlZyBpc2VsRGJsRXhwcl93cmsgKCBJU2VsRW52KiBlbnYsIElSRXhwciogZSAp
CiAgICAgICAgICBkZWZhdWx0OiBicmVhazsKICAgICAgIH0KICAgICAgIGlmICh0cmlvcCAhPSBB
Uk02NGZwdF9JTlZBTElEKSB7Ci0gICAgICAgICBIUmVnIGFyZzEgPSBpc2VsRGJsRXhwcihlbnYs
IHFvcC0+YXJnMik7Ci0gICAgICAgICBIUmVnIGFyZzIgPSBpc2VsRGJsRXhwcihlbnYsIHFvcC0+
YXJnMyk7Ci0gICAgICAgICBIUmVnIGFyZzMgPSBpc2VsRGJsRXhwcihlbnYsIHFvcC0+YXJnNCk7
CisgICAgICAgICBIUmVnIEEgPSBpc2VsRGJsRXhwcihlbnYsIHFvcC0+YXJnMik7CisgICAgICAg
ICBIUmVnIE4gPSBpc2VsRGJsRXhwcihlbnYsIHFvcC0+YXJnMyk7CisgICAgICAgICBIUmVnIE0g
PSBpc2VsRGJsRXhwcihlbnYsIHFvcC0+YXJnNCk7CiAgICAgICAgICBIUmVnIGRzdCAgPSBuZXdW
UmVnRChlbnYpOwogICAgICAgICAgc2V0X0ZQQ1Jfcm91bmRpbmdfbW9kZShlbnYsIHFvcC0+YXJn
MSk7Ci0gICAgICAgICBhZGRJbnN0cihlbnYsIEFSTTY0SW5zdHJfVlRyaUQodHJpb3AsIGRzdCwg
YXJnMSwgYXJnMiwgYXJnMykpOworICAgICAgICAgYWRkSW5zdHIoZW52LCBBUk02NEluc3RyX1ZU
cmlEKHRyaW9wLCBkc3QsIE4sIE0sIEEpKTsKICAgICAgICAgIHJldHVybiBkc3Q7CiAgICAgICB9
CiAgICB9CkBAIC0zNDc5LDEyICszNDc5LDEyIEBAIHN0YXRpYyBIUmVnIGlzZWxGbHRFeHByX3dy
ayAoIElTZWxFbnYqIGVudiwgSVJFeHByKiBlICkKICAgICAgIH0KIAogICAgICAgaWYgKHRyaW9w
ICE9IEFSTTY0ZnB0X0lOVkFMSUQpIHsKLSAgICAgICAgIEhSZWcgYXJnMSA9IGlzZWxGbHRFeHBy
KGVudiwgcW9wLT5hcmcyKTsKLSAgICAgICAgIEhSZWcgYXJnMiA9IGlzZWxGbHRFeHByKGVudiwg
cW9wLT5hcmczKTsKLSAgICAgICAgIEhSZWcgYXJnMyA9IGlzZWxGbHRFeHByKGVudiwgcW9wLT5h
cmc0KTsKKyAgICAgICAgIEhSZWcgQSA9IGlzZWxGbHRFeHByKGVudiwgcW9wLT5hcmcyKTsKKyAg
ICAgICAgIEhSZWcgTiA9IGlzZWxGbHRFeHByKGVudiwgcW9wLT5hcmczKTsKKyAgICAgICAgIEhS
ZWcgTSA9IGlzZWxGbHRFeHByKGVudiwgcW9wLT5hcmc0KTsKICAgICAgICAgIEhSZWcgZHN0ICA9
IG5ld1ZSZWdEKGVudik7CiAgICAgICAgICBzZXRfRlBDUl9yb3VuZGluZ19tb2RlKGVudiwgcW9w
LT5hcmcxKTsKLSAgICAgICAgIGFkZEluc3RyKGVudiwgQVJNNjRJbnN0cl9WVHJpUyh0cmlvcCwg
ZHN0LCBhcmcxLCBhcmcyLCBhcmczKSk7CisgICAgICAgICBhZGRJbnN0cihlbnYsIEFSTTY0SW5z
dHJfVlRyaVModHJpb3AsIGRzdCwgTiwgTSwgQSkpOwogICAgICAgICAgcmV0dXJuIGRzdDsKICAg
ICAgIH0KICAgIH0KLS0gCjIuMjcuMAoK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>134086</attachid>
            <date>2020-12-15 10:33:22 +0000</date>
            <delta_ts>2020-12-15 13:23:31 +0000</delta_ts>
            <desc>patch</desc>
            <filename>0001-arm64-VEX-backend-support-for-Iop_M-Add-Sub-F-32-64-.patch</filename>
            <type>text/plain</type>
            <size>28402</size>
            <attacher name="Alexandra Hajkova">ahajkova</attacher>
            
              <data encoding="base64">RnJvbSA2MDI5NDVhZWM1NmM5NDQ0MjJkY2QwZDYwMTU5YzMwZjUwOWRmNDk4IE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBNYXJrIFdpZWxhYXJkIDxtYXJrQGtsb21wLm9yZz4KRGF0ZTog
V2VkLCAxNCBPY3QgMjAyMCAwNjoxMTozNCAtMDQwMApTdWJqZWN0OiBbUEFUQ0hdIGFybTY0IFZF
WCBiYWNrZW5kIHN1cHBvcnQgZm9yIElvcF9Ne0FkZCxTdWJ9RnszMiw2NH0gdG8gZm1hZGQKIGFu
ZCBmbXN1YgoKVHVybnMgSW9wX01BZGRGMzIsIElvcF9NQWRkRjY0LCBJb3BfTVN1YkYzMiwgSW9w
X01TdWJGNjQgaW50byBmbWFkZCBhbmQKZm1zdWIgaW5zdHJ1Y3Rpb25zLgpBZGQgdGhlIG5ldyB0
ZXN0IG5vbmUvdGVzdHMvYXJtNjQvZm1hZGRfc3ViLmMgdG8gdGhlIHRlc3RzdWl0ZS4KaHR0cHM6
Ly9idWdzLmtkZS5vcmcvc2hvd19idWcuY2dpP2lkPTQyNjAxNAotLS0KIFZFWC9wcml2L2d1ZXN0
X2FybTY0X3RvSVIuYyAgICAgICAgICAgfCAgMzIgKysrKystCiBWRVgvcHJpdi9ob3N0X2FybTY0
X2RlZnMuYyAgICAgICAgICAgIHwgMTM2ICsrKysrKysrKysrKysrKysrKysrKysrKystCiBWRVgv
cHJpdi9ob3N0X2FybTY0X2RlZnMuaCAgICAgICAgICAgIHwgIDMwICsrKysrKwogVkVYL3ByaXYv
aG9zdF9hcm02NF9pc2VsLmMgICAgICAgICAgICB8ICAzOSArKysrKysrKwogbm9uZS90ZXN0cy9h
cm02NC9NYWtlZmlsZS5hbSAgICAgICAgICB8ICAgNiArLQogbm9uZS90ZXN0cy9hcm02NC9mbWFk
ZF9zdWIuYyAgICAgICAgICB8ICA5OCArKysrKysrKysrKysrKysrKysrCiBub25lL3Rlc3RzL2Fy
bTY0L2ZtYWRkX3N1Yi5zdGRlcnIuZXhwIHwgICAwCiBub25lL3Rlc3RzL2FybTY0L2ZtYWRkX3N1
Yi5zdGRvdXQuZXhwIHwgMTI1ICsrKysrKysrKysrKysrKysrKysrKysrCiBub25lL3Rlc3RzL2Fy
bTY0L2ZtYWRkX3N1Yi52Z3Rlc3QgICAgIHwgICAzICsKIHRlc3RfZm1hZGQzMi5jICAgICAgICAg
ICAgICAgICAgICAgICAgfCAgMzcgKysrKysrKwogdGVzdF9mbWFkZDY0LmMgICAgICAgICAgICAg
ICAgICAgICAgICB8ICAzNCArKysrKysrCiB0ZXN0X2Ztc3ViMzIuYyAgICAgICAgICAgICAgICAg
ICAgICAgIHwgIDM0ICsrKysrKysKIHRlc3RfZm1zdWI2NC5jICAgICAgICAgICAgICAgICAgICAg
ICAgfCAgMzMgKysrKysrKwogMTMgZmlsZXMgY2hhbmdlZCwgNjAwIGluc2VydGlvbnMoKyksIDcg
ZGVsZXRpb25zKC0pCiBjcmVhdGUgbW9kZSAxMDA2NDQgbm9uZS90ZXN0cy9hcm02NC9mbWFkZF9z
dWIuYwogY3JlYXRlIG1vZGUgMTAwNjQ0IG5vbmUvdGVzdHMvYXJtNjQvZm1hZGRfc3ViLnN0ZGVy
ci5leHAKIGNyZWF0ZSBtb2RlIDEwMDY0NCBub25lL3Rlc3RzL2FybTY0L2ZtYWRkX3N1Yi5zdGRv
dXQuZXhwCiBjcmVhdGUgbW9kZSAxMDA2NDQgbm9uZS90ZXN0cy9hcm02NC9mbWFkZF9zdWIudmd0
ZXN0CiBjcmVhdGUgbW9kZSAxMDA2NDQgdGVzdF9mbWFkZDMyLmMKIGNyZWF0ZSBtb2RlIDEwMDY0
NCB0ZXN0X2ZtYWRkNjQuYwogY3JlYXRlIG1vZGUgMTAwNjQ0IHRlc3RfZm1zdWIzMi5jCiBjcmVh
dGUgbW9kZSAxMDA2NDQgdGVzdF9mbXN1YjY0LmMKCmRpZmYgLS1naXQgYS9WRVgvcHJpdi9ndWVz
dF9hcm02NF90b0lSLmMgYi9WRVgvcHJpdi9ndWVzdF9hcm02NF90b0lSLmMKaW5kZXggNTU2Yjg1
YTZhLi5mOTlhNjJhZTIgMTAwNjQ0Ci0tLSBhL1ZFWC9wcml2L2d1ZXN0X2FybTY0X3RvSVIuYwor
KysgYi9WRVgvcHJpdi9ndWVzdF9hcm02NF90b0lSLmMKQEAgLTI4Niw2ICsyODYsMTIgQEAgc3Rh
dGljIElSRXhwciogdHJpb3AgKCBJUk9wIG9wLCBJUkV4cHIqIGExLCBJUkV4cHIqIGEyLCBJUkV4
cHIqIGEzICkKICAgIHJldHVybiBJUkV4cHJfVHJpb3Aob3AsIGExLCBhMiwgYTMpOwogfQogCitz
dGF0aWMgSVJFeHByKiBxb3AgKCBJUk9wIG9wLCBJUkV4cHIqIGExLCBJUkV4cHIqIGEyLAorICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgSVJFeHByKiBhMywgSVJFeHByKiBhNCApCit7Cisg
ICByZXR1cm4gSVJFeHByX1FvcChvcCwgYTEsIGEyLCBhMywgYTQpOworfQorCiBzdGF0aWMgSVJF
eHByKiBsb2FkTEUgKCBJUlR5cGUgdHksIElSRXhwciogYWRkciApCiB7CiAgICByZXR1cm4gSVJF
eHByX0xvYWQoSWVuZF9MRSwgdHksIGFkZHIpOwpAQCAtNTMyLDYgKzUzOCwyMiBAQCBzdGF0aWMg
SVJPcCBta0FEREYgKCBJUlR5cGUgdHkgKSB7CiAgICB9CiB9CiAKK3N0YXRpYyBJUk9wIG1rRk1B
RERGICggSVJUeXBlIHR5ICkgeworICAgc3dpdGNoICh0eSkgeworICAgICAgY2FzZSBJdHlfRjMy
OiByZXR1cm4gSW9wX01BZGRGMzI7CisgICAgICBjYXNlIEl0eV9GNjQ6IHJldHVybiBJb3BfTUFk
ZEY2NDsKKyAgICAgIGRlZmF1bHQ6IHZwYW5pYygibWtGTUFEREYiKTsKKyAgIH0KK30KKworc3Rh
dGljIElST3AgbWtGTVNVQkYgKCBJUlR5cGUgdHkgKSB7CisgICBzd2l0Y2ggKHR5KSB7CisgICAg
ICBjYXNlIEl0eV9GMzI6IHJldHVybiBJb3BfTVN1YkYzMjsKKyAgICAgIGNhc2UgSXR5X0Y2NDog
cmV0dXJuIElvcF9NU3ViRjY0OworICAgICAgZGVmYXVsdDogdnBhbmljKCJta0ZNU1VCRiIpOwor
ICAgfQorfQorCiBzdGF0aWMgSVJPcCBta1NVQkYgKCBJUlR5cGUgdHkgKSB7CiAgICBzd2l0Y2gg
KHR5KSB7CiAgICAgICBjYXNlIEl0eV9GMzI6IHJldHVybiBJb3BfU3ViRjMyOwpAQCAtMTQzNzYs
NiArMTQzOTgsOCBAQCBCb29sIGRpc19BZHZTSU1EX2ZwX2RhdGFfcHJvY18zX3NvdXJjZSgvKk1C
X09VVCovRGlzUmVzdWx0KiBkcmVzLCBVSW50IGluc24pCiAgICAgICBCb29sICAgIGlzRCAgID0g
KHR5ICYgMSkgPT0gMTsKICAgICAgIFVJbnQgICAgaXggICAgPSAoYml0TzEgPDwgMSkgfCBiaXRP
MDsKICAgICAgIElSVHlwZSAgaXR5ICAgPSBpc0QgPyBJdHlfRjY0IDogSXR5X0YzMjsKKyAgICAg
IElST3AgICAgb3BGTUFERCA9IG1rRk1BRERGKGl0eSk7CisgICAgICBJUk9wICAgIG9wRk1TVUIg
PSBta0ZNU1VCRihpdHkpOwogICAgICAgSVJPcCAgICBvcEFERCA9IG1rQURERihpdHkpOwogICAg
ICAgSVJPcCAgICBvcFNVQiA9IG1rU1VCRihpdHkpOwogICAgICAgSVJPcCAgICBvcE1VTCA9IG1r
TVVMRihpdHkpOwpAQCAtMTQzODcsMTAgKzE0NDExLDEwIEBAIEJvb2wgZGlzX0FkdlNJTURfZnBf
ZGF0YV9wcm9jXzNfc291cmNlKC8qTUJfT1VUKi9EaXNSZXN1bHQqIGRyZXMsIFVJbnQgaW5zbikK
ICAgICAgIElSRXhwciogcm0gICAgPSBta2V4cHIobWtfZ2V0X0lSX3JvdW5kaW5nX21vZGUoKSk7
CiAgICAgICBJUkV4cHIqIGVOeE0gID0gdHJpb3Aob3BNVUwsIHJtLCBlTiwgZU0pOwogICAgICAg
c3dpdGNoIChpeCkgewotICAgICAgICAgY2FzZSAwOiAgYXNzaWduKHJlcywgdHJpb3Aob3BBREQs
IHJtLCBlQSwgZU54TSkpOyBicmVhazsKLSAgICAgICAgIGNhc2UgMTogIGFzc2lnbihyZXMsIHRy
aW9wKG9wU1VCLCBybSwgZUEsIGVOeE0pKTsgYnJlYWs7Ci0gICAgICAgICBjYXNlIDI6ICBhc3Np
Z24ocmVzLCB1bm9wKG9wTkVHLCB0cmlvcChvcEFERCwgcm0sIGVBLCBlTnhNKSkpOyBicmVhazsK
LSAgICAgICAgIGNhc2UgMzogIGFzc2lnbihyZXMsIHVub3Aob3BORUcsIHRyaW9wKG9wU1VCLCBy
bSwgZUEsIGVOeE0pKSk7IGJyZWFrOworICAgICAgICAgY2FzZSAwOiAgYXNzaWduKHJlcywgcW9w
KG9wRk1BREQsIHJtLCBlTiwgZU0sIGVBKSk7IGJyZWFrOworICAgICAgICAgY2FzZSAxOiAgYXNz
aWduKHJlcywgcW9wKG9wRk1TVUIsIHJtLCBlTiwgZU0sIGVBKSk7IGJyZWFrOworCSBjYXNlIDI6
ICBhc3NpZ24ocmVzLCBxb3Aob3BGTUFERCwgcm0sIHVub3Aob3BORUcsIGVOKSwgZU0sIHVub3Ao
b3BORUcsZUEpKSk7IGJyZWFrOworCSBjYXNlIDM6ICBhc3NpZ24ocmVzLCBxb3Aob3BGTUFERCwg
cm0sIGVOLCBlTSwgdW5vcChvcE5FRywgZUEpKSk7IGJyZWFrOwogICAgICAgICAgZGVmYXVsdDog
dmFzc2VydCgwKTsKICAgICAgIH0KICAgICAgIHB1dFFSZWcxMjgoZGQsIG1rVjEyOCgweDAwMDAp
KTsKZGlmZiAtLWdpdCBhL1ZFWC9wcml2L2hvc3RfYXJtNjRfZGVmcy5jIGIvVkVYL3ByaXYvaG9z
dF9hcm02NF9kZWZzLmMKaW5kZXggZTRlZjU2OTg2Li4xM2I0OTdmNjAgMTAwNjQ0Ci0tLSBhL1ZF
WC9wcml2L2hvc3RfYXJtNjRfZGVmcy5jCisrKyBiL1ZFWC9wcml2L2hvc3RfYXJtNjRfZGVmcy5j
CkBAIC01NDYsNiArNTQ2LDE0IEBAIHN0YXRpYyBjb25zdCBIQ2hhciogc2hvd0FSTTY0RnBCaW5P
cCAoIEFSTTY0RnBCaW5PcCBvcCApIHsKICAgIH0KIH0KIAorc3RhdGljIGNvbnN0IEhDaGFyKiBz
aG93QVJNNjRGcFRyaU9wICggQVJNNjRGcFRyaU9wIG9wICkgeworICAgc3dpdGNoIChvcCkgewor
ICAgICAgY2FzZSBBUk02NGZwdF9GTUFERDogcmV0dXJuICJmbWFkZCI7CisgICAgICBjYXNlIEFS
TTY0ZnB0X0ZNU1VCOiByZXR1cm4gImZtc3ViIjsKKyAgICAgIGRlZmF1bHQ6IHZwYW5pYygic2hv
d0FSTTY0RnBUcmlPcCIpOworICAgfQorfQorCiBzdGF0aWMgY29uc3QgSENoYXIqIHNob3dBUk02
NEZwVW5hcnlPcCAoIEFSTTY0RnBVbmFyeU9wIG9wICkgewogICAgc3dpdGNoIChvcCkgewogICAg
ICAgY2FzZSBBUk02NGZwdV9ORUc6ICAgcmV0dXJuICJuZWcgICI7CkBAIC0xMTU0LDYgKzExNjIs
MjggQEAgQVJNNjRJbnN0ciogQVJNNjRJbnN0cl9WQmluUyAoIEFSTTY0RnBCaW5PcCBvcCwKICAg
IGktPkFSTTY0aW4uVkJpblMuYXJnUiA9IGFyZ1I7CiAgICByZXR1cm4gaTsKIH0KK0FSTTY0SW5z
dHIqIEFSTTY0SW5zdHJfVlRyaUQgKCBBUk02NEZwVHJpT3Agb3AsCisgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgSFJlZyBkc3QsIEhSZWcgYXJnMSwgSFJlZyBhcmcyLCBIUmVnIGFyZzMg
KSB7CisgICBBUk02NEluc3RyKiBpID0gTGliVkVYX0FsbG9jX2lubGluZShzaXplb2YoQVJNNjRJ
bnN0cikpOworICAgaS0+dGFnICAgICAgICAgICAgICAgID0gQVJNNjRpbl9WVHJpRDsKKyAgIGkt
PkFSTTY0aW4uVlRyaUQub3AgICA9IG9wOworICAgaS0+QVJNNjRpbi5WVHJpRC5kc3QgID0gZHN0
OworICAgaS0+QVJNNjRpbi5WVHJpRC5hcmcxID0gYXJnMTsKKyAgIGktPkFSTTY0aW4uVlRyaUQu
YXJnMiA9IGFyZzI7CisgICBpLT5BUk02NGluLlZUcmlELmFyZzMgPSBhcmczOworICAgcmV0dXJu
IGk7Cit9CitBUk02NEluc3RyKiBBUk02NEluc3RyX1ZUcmlTICggQVJNNjRGcFRyaU9wIG9wLAor
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEhSZWcgZHN0LCBIUmVnIGFyZzEsIEhSZWcg
YXJnMiwgSFJlZyBhcmczICkgeworICAgQVJNNjRJbnN0ciogaSA9IExpYlZFWF9BbGxvY19pbmxp
bmUoc2l6ZW9mKEFSTTY0SW5zdHIpKTsKKyAgIGktPnRhZyAgICAgICAgICAgICAgICA9IEFSTTY0
aW5fVlRyaVM7CisgICBpLT5BUk02NGluLlZUcmlTLm9wICAgPSBvcDsKKyAgIGktPkFSTTY0aW4u
VlRyaVMuZHN0ICA9IGRzdDsKKyAgIGktPkFSTTY0aW4uVlRyaVMuYXJnMSA9IGFyZzE7CisgICBp
LT5BUk02NGluLlZUcmlTLmFyZzIgPSBhcmcyOworICAgaS0+QVJNNjRpbi5WVHJpUy5hcmczID0g
YXJnMzsKKyAgIHJldHVybiBpOworfQogQVJNNjRJbnN0ciogQVJNNjRJbnN0cl9WQ21wRCAoIEhS
ZWcgYXJnTCwgSFJlZyBhcmdSICkgewogICAgQVJNNjRJbnN0ciogaSA9IExpYlZFWF9BbGxvY19p
bmxpbmUoc2l6ZW9mKEFSTTY0SW5zdHIpKTsKICAgIGktPnRhZyAgICAgICAgICAgICAgICA9IEFS
TTY0aW5fVkNtcEQ7CkBAIC0xNzU2LDYgKzE3ODYsMjYgQEAgdm9pZCBwcEFSTTY0SW5zdHIgKCBj
b25zdCBBUk02NEluc3RyKiBpICkgewogICAgICAgICAgdmV4X3ByaW50ZigiLCAiKTsKICAgICAg
ICAgIHBwSFJlZ0FSTTY0YXNTcmVnKGktPkFSTTY0aW4uVkJpblMuYXJnUik7CiAgICAgICAgICBy
ZXR1cm47CisgICAgICBjYXNlIEFSTTY0aW5fVlRyaUQ6CisgICAgICAgICB2ZXhfcHJpbnRmKCJm
JXMgICAiLCBzaG93QVJNNjRGcFRyaU9wKGktPkFSTTY0aW4uVlRyaUQub3ApKTsKKyAgICAgICAg
IHBwSFJlZ0FSTTY0KGktPkFSTTY0aW4uVlRyaUQuZHN0KTsKKyAgICAgICAgIHZleF9wcmludGYo
IiwgIik7CisgICAgICAgICBwcEhSZWdBUk02NChpLT5BUk02NGluLlZUcmlELmFyZzEpOworICAg
ICAgICAgdmV4X3ByaW50ZigiLCAiKTsKKyAgICAgICAgIHBwSFJlZ0FSTTY0KGktPkFSTTY0aW4u
VlRyaUQuYXJnMik7CisgICAgICAgICB2ZXhfcHJpbnRmKCIsICIpOworICAgICAgICAgcHBIUmVn
QVJNNjQoaS0+QVJNNjRpbi5WVHJpRC5hcmczKTsKKyAgICAgICAgIHJldHVybjsKKyAgICAgIGNh
c2UgQVJNNjRpbl9WVHJpUzoKKyAgICAgICAgIHZleF9wcmludGYoImYlcyAgICIsIHNob3dBUk02
NEZwVHJpT3AoaS0+QVJNNjRpbi5WVHJpUy5vcCkpOworICAgICAgICAgcHBIUmVnQVJNNjRhc1Ny
ZWcoaS0+QVJNNjRpbi5WVHJpUy5kc3QpOworICAgICAgICAgdmV4X3ByaW50ZigiLCAiKTsKKyAg
ICAgICAgIHBwSFJlZ0FSTTY0YXNTcmVnKGktPkFSTTY0aW4uVlRyaVMuYXJnMSk7CisgICAgICAg
ICB2ZXhfcHJpbnRmKCIsICIpOworICAgICAgICAgcHBIUmVnQVJNNjRhc1NyZWcoaS0+QVJNNjRp
bi5WVHJpUy5hcmcyKTsKKyAgICAgICAgIHZleF9wcmludGYoIiwgIik7CisgICAgICAgICBwcEhS
ZWdBUk02NGFzU3JlZyhpLT5BUk02NGluLlZUcmlTLmFyZzMpOworICAgICAgICAgcmV0dXJuOwog
ICAgICAgY2FzZSBBUk02NGluX1ZDbXBEOgogICAgICAgICAgdmV4X3ByaW50ZigiZmNtcCAgICIp
OwogICAgICAgICAgcHBIUmVnQVJNNjQoaS0+QVJNNjRpbi5WQ21wRC5hcmdMKTsKQEAgLTIxOTcs
NiArMjI0NywxOCBAQCB2b2lkIGdldFJlZ1VzYWdlX0FSTTY0SW5zdHIgKCBIUmVnVXNhZ2UqIHUs
IGNvbnN0IEFSTTY0SW5zdHIqIGksIEJvb2wgbW9kZTY0ICkKICAgICAgICAgIGFkZEhSZWdVc2Uo
dSwgSFJtUmVhZCwgaS0+QVJNNjRpbi5WQmluUy5hcmdMKTsKICAgICAgICAgIGFkZEhSZWdVc2Uo
dSwgSFJtUmVhZCwgaS0+QVJNNjRpbi5WQmluUy5hcmdSKTsKICAgICAgICAgIHJldHVybjsKKyAg
ICAgIGNhc2UgQVJNNjRpbl9WVHJpRDoKKyAgICAgICAgIGFkZEhSZWdVc2UodSwgSFJtV3JpdGUs
IGktPkFSTTY0aW4uVlRyaUQuZHN0KTsKKyAgICAgICAgIGFkZEhSZWdVc2UodSwgSFJtUmVhZCwg
aS0+QVJNNjRpbi5WVHJpRC5hcmcxKTsKKyAgICAgICAgIGFkZEhSZWdVc2UodSwgSFJtUmVhZCwg
aS0+QVJNNjRpbi5WVHJpRC5hcmcyKTsKKyAgICAgICAgIGFkZEhSZWdVc2UodSwgSFJtUmVhZCwg
aS0+QVJNNjRpbi5WVHJpRC5hcmczKTsKKyAgICAgICAgIHJldHVybjsKKyAgICAgIGNhc2UgQVJN
NjRpbl9WVHJpUzoKKyAgICAgICAgIGFkZEhSZWdVc2UodSwgSFJtV3JpdGUsIGktPkFSTTY0aW4u
VlRyaVMuZHN0KTsKKyAgICAgICAgIGFkZEhSZWdVc2UodSwgSFJtUmVhZCwgaS0+QVJNNjRpbi5W
VHJpUy5hcmcxKTsKKyAgICAgICAgIGFkZEhSZWdVc2UodSwgSFJtUmVhZCwgaS0+QVJNNjRpbi5W
VHJpUy5hcmcyKTsKKyAgICAgICAgIGFkZEhSZWdVc2UodSwgSFJtUmVhZCwgaS0+QVJNNjRpbi5W
VHJpUy5hcmczKTsKKyAgICAgICAgIHJldHVybjsKICAgICAgIGNhc2UgQVJNNjRpbl9WQ21wRDoK
ICAgICAgICAgIGFkZEhSZWdVc2UodSwgSFJtUmVhZCwgaS0+QVJNNjRpbi5WQ21wRC5hcmdMKTsK
ICAgICAgICAgIGFkZEhSZWdVc2UodSwgSFJtUmVhZCwgaS0+QVJNNjRpbi5WQ21wRC5hcmdSKTsK
QEAgLTI0NTQsNiArMjUxNiwxOCBAQCB2b2lkIG1hcFJlZ3NfQVJNNjRJbnN0ciAoIEhSZWdSZW1h
cCogbSwgQVJNNjRJbnN0ciogaSwgQm9vbCBtb2RlNjQgKQogICAgICAgICAgaS0+QVJNNjRpbi5W
QmluUy5hcmdMID0gbG9va3VwSFJlZ1JlbWFwKG0sIGktPkFSTTY0aW4uVkJpblMuYXJnTCk7CiAg
ICAgICAgICBpLT5BUk02NGluLlZCaW5TLmFyZ1IgPSBsb29rdXBIUmVnUmVtYXAobSwgaS0+QVJN
NjRpbi5WQmluUy5hcmdSKTsKICAgICAgICAgIHJldHVybjsKKyAgICAgIGNhc2UgQVJNNjRpbl9W
VHJpRDoKKyAgICAgICAgIGktPkFSTTY0aW4uVlRyaUQuZHN0ICA9IGxvb2t1cEhSZWdSZW1hcCht
LCBpLT5BUk02NGluLlZUcmlELmRzdCk7CisgICAgICAgICBpLT5BUk02NGluLlZUcmlELmFyZzEg
PSBsb29rdXBIUmVnUmVtYXAobSwgaS0+QVJNNjRpbi5WVHJpRC5hcmcxKTsKKyAgICAgICAgIGkt
PkFSTTY0aW4uVlRyaUQuYXJnMiA9IGxvb2t1cEhSZWdSZW1hcChtLCBpLT5BUk02NGluLlZUcmlE
LmFyZzIpOworICAgICAgICAgaS0+QVJNNjRpbi5WVHJpRC5hcmczID0gbG9va3VwSFJlZ1JlbWFw
KG0sIGktPkFSTTY0aW4uVlRyaUQuYXJnMyk7CisgICAgICAgICByZXR1cm47CisgICAgICBjYXNl
IEFSTTY0aW5fVlRyaVM6CisgICAgICAgICBpLT5BUk02NGluLlZUcmlTLmRzdCAgPSBsb29rdXBI
UmVnUmVtYXAobSwgaS0+QVJNNjRpbi5WVHJpUy5kc3QpOworICAgICAgICAgaS0+QVJNNjRpbi5W
VHJpUy5hcmcxID0gbG9va3VwSFJlZ1JlbWFwKG0sIGktPkFSTTY0aW4uVlRyaVMuYXJnMSk7Cisg
ICAgICAgICBpLT5BUk02NGluLlZUcmlTLmFyZzIgPSBsb29rdXBIUmVnUmVtYXAobSwgaS0+QVJN
NjRpbi5WVHJpUy5hcmcyKTsKKyAgICAgICAgIGktPkFSTTY0aW4uVlRyaVMuYXJnMyA9IGxvb2t1
cEhSZWdSZW1hcChtLCBpLT5BUk02NGluLlZUcmlTLmFyZzMpOworICAgICAgICAgcmV0dXJuOwog
ICAgICAgY2FzZSBBUk02NGluX1ZDbXBEOgogICAgICAgICAgaS0+QVJNNjRpbi5WQ21wRC5hcmdM
ID0gbG9va3VwSFJlZ1JlbWFwKG0sIGktPkFSTTY0aW4uVkNtcEQuYXJnTCk7CiAgICAgICAgICBp
LT5BUk02NGluLlZDbXBELmFyZ1IgPSBsb29rdXBIUmVnUmVtYXAobSwgaS0+QVJNNjRpbi5WQ21w
RC5hcmdSKTsKQEAgLTI4MTIsNyArMjg4Niw4IEBAIHN0YXRpYyBpbmxpbmUgVUludCBxcmVnRW5j
ICggSFJlZyByICkKICNkZWZpbmUgWDExMTEwMDExICBCSVRTOCgxLDEsMSwxLDAsMCwxLDEpCiAj
ZGVmaW5lIFgxMTExMDEwMSAgQklUUzgoMSwxLDEsMSwwLDEsMCwxKQogI2RlZmluZSBYMTExMTAx
MTEgIEJJVFM4KDEsMSwxLDEsMCwxLDEsMSkKLQorI2RlZmluZSBYMTExMTEwMDAgIEJJVFM4KDEs
MSwxLDEsMSwwLDAsMCkKKyNkZWZpbmUgWDExMTExMDEwICBCSVRTOCgxLDEsMSwxLDEsMCwxLDAp
CiAKIC8qIC0tLSA0IGZpZWxkcyAtLS0gKi8KIApAQCAtMjk3Miw2ICszMDQ3LDI3IEBAIHN0YXRp
YyBpbmxpbmUgVUludCBYXzNfNl8xXzZfNl81XzUgKCBVSW50IGYxLCBVSW50IGYyLCBVSW50IGYz
LAogfQogCiAKK3N0YXRpYyBpbmxpbmUgVUludCBYXzNfOF81XzFfNV81XzUgKCBVSW50IGYxLCBV
SW50IGYyLCBVSW50IGYzLCBVSW50IGY0LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIFVJbnQgZjUsIFVJbnQgZjYsIFVJbnQgZjcgKSB7CisgICB2YXNzZXJ0KDMrOCs1KzEr
NSs1KzUgPT0gMzIpOworICAgdmFzc2VydChmMSA8ICgxPDwzKSk7CisgICB2YXNzZXJ0KGYyIDwg
KDE8PDgpKTsKKyAgIHZhc3NlcnQoZjMgPCAoMTw8NSkpOworICAgdmFzc2VydChmNCA8ICgxPDwx
KSk7CisgICB2YXNzZXJ0KGY1IDwgKDE8PDUpKTsKKyAgIHZhc3NlcnQoZjYgPCAoMTw8NSkpOwor
ICAgdmFzc2VydChmNyA8ICgxPDw1KSk7CisgICBVSW50IHcgPSAwOworICAgdyA9ICh3IDw8IDMp
IHwgZjE7CisgICB3ID0gKHcgPDwgOCkgfCBmMjsKKyAgIHcgPSAodyA8PCA1KSB8IGYzOworICAg
dyA9ICh3IDw8IDEpIHwgZjQ7CisgICB3ID0gKHcgPDwgNSkgfCBmNTsKKyAgIHcgPSAodyA8PCA1
KSB8IGY2OworICAgdyA9ICh3IDw8IDUpIHwgZjc7CisgICByZXR1cm4gdzsKK30KKwogLy9aWiAj
ZGVmaW5lIFgwMDAwICBCSVRTNCgwLDAsMCwwKQogLy9aWiAjZGVmaW5lIFgwMDAxICBCSVRTNCgw
LDAsMCwxKQogLy9aWiAjZGVmaW5lIFgwMDEwICBCSVRTNCgwLDAsMSwwKQpAQCAtNDMzOSw2ICs0
NDM1LDQ0IEBAIEludCBlbWl0X0FSTTY0SW5zdHIgKCAvKk1CX01PRCovQm9vbCogaXNfcHJvZklu
YywKICAgICAgICAgICAgID0gWF8zXzhfNV82XzVfNShYMDAwLCBYMTExMTAwMDEsIHNNLCAoYjE1
MTIgPDwgMikgfCBYMTAsIHNOLCBzRCk7CiAgICAgICAgICBnb3RvIGRvbmU7CiAgICAgICB9Cisg
ICAgICBjYXNlIEFSTTY0aW5fVlRyaUQ6IHsKKyAgICAgICAgIC8qIDMxICAgICAgICAgICAgMjAg
MTUgMTQgOSA0CisgICAgICAgICAgICAwMDAgMTExMTEgMDEwIG0gIDAgIGEgIG4gZCBGTUFERCAg
RGQsRG4sRG0sRGEKKyAgICAgICAgICAgIC0tLS0tLS0tLS0tLS0tLS0gMSAgLS0tLS0tIEZNU1VC
ICAtLS0tLS0tLS0tLQorICAgICAgICAgKi8KKyAgICAgICAgIFVJbnQgZEQgPSBkcmVnRW5jKGkt
PkFSTTY0aW4uVlRyaUQuZHN0KTsKKyAgICAgICAgIFVJbnQgZE4gPSBkcmVnRW5jKGktPkFSTTY0
aW4uVlRyaUQuYXJnMSk7CisgICAgICAgICBVSW50IGRNID0gZHJlZ0VuYyhpLT5BUk02NGluLlZU
cmlELmFyZzIpOworICAgICAgICAgVUludCBkQSA9IGRyZWdFbmMoaS0+QVJNNjRpbi5WVHJpRC5h
cmczKTsKKyAgICAgICAgIFVJbnQgYjE1ID0gMjsgLyogaW1wb3NzaWJsZSAqLworICAgICAgICAg
c3dpdGNoIChpLT5BUk02NGluLlZUcmlELm9wKSB7CisgICAgICAgICAgICBjYXNlIEFSTTY0ZnB0
X0ZNQUREOiBiMTUgPSAwOyBicmVhazsKKyAgICAgICAgICAgIGNhc2UgQVJNNjRmcHRfRk1TVUI6
IGIxNSA9IDE7IGJyZWFrOworICAgICAgICAgICAgZGVmYXVsdDogZ290byBiYWQ7CisgICAgICAg
ICB9CisgICAgICAgICB2YXNzZXJ0KGIxNSA8IDIpOworICAgICAgICAgKnArKyA9IFhfM184XzVf
MV81XzVfNShYMDAwLCBYMTExMTEwMTAsIGRNLCBiMTUsIGRBLCBkTiwgZEQpOworICAgICAgICAg
Z290byBkb25lOworICAgICAgfQorICAgICAgY2FzZSBBUk02NGluX1ZUcmlTOiB7CisgICAgICAg
ICAvKiAzMSAgICAgICAgICAgIDIwIDE1IDE0IDkgNAorICAgICAgICAgICAgMDAwIDExMTExIDAw
MCBtICAwICBhICBuIGQgRk1BREQgIERkLERuLERtLERhCisgICAgICAgICAgICAtLS0tLS0tLS0t
LS0tLS0tIDEgIC0tLS0tLSBGTVNVQiAgLS0tLS0tLS0tLS0KKyAgICAgICAgICovCisgICAgICAg
ICBVSW50IGREID0gZHJlZ0VuYyhpLT5BUk02NGluLlZUcmlELmRzdCk7CisgICAgICAgICBVSW50
IGROID0gZHJlZ0VuYyhpLT5BUk02NGluLlZUcmlELmFyZzEpOworICAgICAgICAgVUludCBkTSA9
IGRyZWdFbmMoaS0+QVJNNjRpbi5WVHJpRC5hcmcyKTsKKyAgICAgICAgIFVJbnQgZEEgPSBkcmVn
RW5jKGktPkFSTTY0aW4uVlRyaUQuYXJnMyk7CisgICAgICAgICBVSW50IGIxNSA9IDI7IC8qIGlt
cG9zc2libGUgKi8KKyAgICAgICAgIHN3aXRjaCAoaS0+QVJNNjRpbi5WVHJpRC5vcCkgeworICAg
ICAgICAgICAgY2FzZSBBUk02NGZwdF9GTUFERDogYjE1ID0gMDsgYnJlYWs7CisgICAgICAgICAg
ICBjYXNlIEFSTTY0ZnB0X0ZNU1VCOiBiMTUgPSAxOyBicmVhazsKKyAgICAgICAgICAgIGRlZmF1
bHQ6IGdvdG8gYmFkOworICAgICAgICAgfQorICAgICAgICAgdmFzc2VydChiMTUgPCAyKTsKKyAg
ICAgICAgICpwKysgPSBYXzNfOF81XzFfNV81XzUoWDAwMCwgWDExMTExMDAwLCBkTSwgYjE1LCBk
QSwgZE4sIGREKTsKKyAgICAgICAgIGdvdG8gZG9uZTsKKyAgICAgIH0KICAgICAgIGNhc2UgQVJN
NjRpbl9WQ21wRDogewogICAgICAgICAgLyogMDAwIDExMTEwIDAxIDEgbSAwMCAxMDAwIG4gMDAg
MDAwICBGQ01QIERuLCBEbSAqLwogICAgICAgICAgVUludCBkTiA9IGRyZWdFbmMoaS0+QVJNNjRp
bi5WQ21wRC5hcmdMKTsKZGlmZiAtLWdpdCBhL1ZFWC9wcml2L2hvc3RfYXJtNjRfZGVmcy5oIGIv
VkVYL3ByaXYvaG9zdF9hcm02NF9kZWZzLmgKaW5kZXggMDVkYmE3YWI4Li41YTgyNTY0Y2UgMTAw
NjQ0Ci0tLSBhL1ZFWC9wcml2L2hvc3RfYXJtNjRfZGVmcy5oCisrKyBiL1ZFWC9wcml2L2hvc3Rf
YXJtNjRfZGVmcy5oCkBAIC0yODksNiArMjg5LDE0IEBAIHR5cGVkZWYKICAgIH0KICAgIEFSTTY0
RnBCaW5PcDsKIAordHlwZWRlZgorICAgZW51bSB7CisgICAgICBBUk02NGZwdF9GTUFERD0xMDUs
CisgICAgICBBUk02NGZwdF9GTVNVQiwKKyAgICAgIEFSTTY0ZnB0X0lOVkFMSUQKKyAgIH0KKyAg
IEFSTTY0RnBUcmlPcDsKKwogdHlwZWRlZgogICAgZW51bSB7CiAgICAgICBBUk02NGZwdV9ORUc9
MTEwLApAQCAtNDk4LDYgKzUwNiw4IEBAIHR5cGVkZWYKICAgICAgIEFSTTY0aW5fVlVuYXJ5UywK
ICAgICAgIEFSTTY0aW5fVkJpbkQsCiAgICAgICBBUk02NGluX1ZCaW5TLAorICAgICAgQVJNNjRp
bl9WVHJpRCwKKyAgICAgIEFSTTY0aW5fVlRyaVMsCiAgICAgICBBUk02NGluX1ZDbXBELAogICAg
ICAgQVJNNjRpbl9WQ21wUywKICAgICAgIEFSTTY0aW5fVkZDU2VsLApAQCAtNzk5LDYgKzgwOSwy
MiBAQCB0eXBlZGVmCiAgICAgICAgICAgICBIUmVnICAgICAgICAgYXJnTDsKICAgICAgICAgICAg
IEhSZWcgICAgICAgICBhcmdSOwogICAgICAgICAgfSBWQmluUzsKKyAgICAgICAgIC8qIDY0LWJp
dCBGUCB0ZXJuYXJ5IGFyaXRobWV0aWMgKi8KKyAgICAgICAgIHN0cnVjdCB7CisgICAgICAgICAg
ICBBUk02NEZwVHJpT3Agb3A7CisgICAgICAgICAgICBIUmVnICAgICAgICAgZHN0OworICAgICAg
ICAgICAgSFJlZyAgICAgICAgIGFyZzE7CisgICAgICAgICAgICBIUmVnICAgICAgICAgYXJnMjsK
KyAgICAgICAgICAgIEhSZWcgICAgICAgICBhcmczOworICAgICAgICAgfSBWVHJpRDsKKyAgICAg
ICAgIC8qIDMyLWJpdCBGUCB0ZXJuYXJ5IGFyaXRobWV0aWMgKi8KKyAgICAgICAgIHN0cnVjdCB7
CisgICAgICAgICAgICBBUk02NEZwVHJpT3Agb3A7CisgICAgICAgICAgICBIUmVnICAgICAgICAg
ZHN0OworICAgICAgICAgICAgSFJlZyAgICAgICAgIGFyZzE7CisgICAgICAgICAgICBIUmVnICAg
ICAgICAgYXJnMjsKKyAgICAgICAgICAgIEhSZWcgICAgICAgICBhcmczOworICAgICAgICAgfSBW
VHJpUzsKICAgICAgICAgIC8qIDY0LWJpdCBGUCBjb21wYXJlICovCiAgICAgICAgICBzdHJ1Y3Qg
ewogICAgICAgICAgICAgSFJlZyBhcmdMOwpAQCAtOTcwLDYgKzk5NiwxMCBAQCBleHRlcm4gQVJN
NjRJbnN0ciogQVJNNjRJbnN0cl9WVW5hcnlEICggQVJNNjRGcFVuYXJ5T3Agb3AsIEhSZWcgZHN0
LCBIUmVnIHNyYyApOwogZXh0ZXJuIEFSTTY0SW5zdHIqIEFSTTY0SW5zdHJfVlVuYXJ5UyAoIEFS
TTY0RnBVbmFyeU9wIG9wLCBIUmVnIGRzdCwgSFJlZyBzcmMgKTsKIGV4dGVybiBBUk02NEluc3Ry
KiBBUk02NEluc3RyX1ZCaW5EICAgKCBBUk02NEZwQmluT3Agb3AsIEhSZWcsIEhSZWcsIEhSZWcg
KTsKIGV4dGVybiBBUk02NEluc3RyKiBBUk02NEluc3RyX1ZCaW5TICAgKCBBUk02NEZwQmluT3Ag
b3AsIEhSZWcsIEhSZWcsIEhSZWcgKTsKK2V4dGVybiBBUk02NEluc3RyKiBBUk02NEluc3RyX1ZU
cmlEICAgKCBBUk02NEZwVHJpT3Agb3AsIEhSZWcgZHN0LAorICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIEhSZWcsIEhSZWcsIEhSZWcgKTsKK2V4dGVybiBBUk02NEluc3Ry
KiBBUk02NEluc3RyX1ZUcmlTICAgKCBBUk02NEZwVHJpT3Agb3AsIEhSZWcgZHN0LAorICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEhSZWcsIEhSZWcsIEhSZWcgKTsKIGV4
dGVybiBBUk02NEluc3RyKiBBUk02NEluc3RyX1ZDbXBEICAgKCBIUmVnIGFyZ0wsIEhSZWcgYXJn
UiApOwogZXh0ZXJuIEFSTTY0SW5zdHIqIEFSTTY0SW5zdHJfVkNtcFMgICAoIEhSZWcgYXJnTCwg
SFJlZyBhcmdSICk7CiBleHRlcm4gQVJNNjRJbnN0ciogQVJNNjRJbnN0cl9WRkNTZWwgICggSFJl
ZyBkc3QsIEhSZWcgYXJnTCwgSFJlZyBhcmdSLApkaWZmIC0tZ2l0IGEvVkVYL3ByaXYvaG9zdF9h
cm02NF9pc2VsLmMgYi9WRVgvcHJpdi9ob3N0X2FybTY0X2lzZWwuYwppbmRleCAyZjE5ZWFiODEu
LmRhMTIxODcxNSAxMDA2NDQKLS0tIGEvVkVYL3ByaXYvaG9zdF9hcm02NF9pc2VsLmMKKysrIGIv
VkVYL3ByaXYvaG9zdF9hcm02NF9pc2VsLmMKQEAgLTMyNTUsNiArMzI1NSwyNSBAQCBzdGF0aWMg
SFJlZyBpc2VsRGJsRXhwcl93cmsgKCBJU2VsRW52KiBlbnYsIElSRXhwciogZSApCiAgICAgICB9
CiAgICB9CiAKKyAgIGlmIChlLT50YWcgPT0gSWV4X1FvcCkgeworICAgICAgSVJRb3AqICAgICAg
IHFvcCA9IGUtPklleC5Rb3AuZGV0YWlsczsKKyAgICAgIEFSTTY0RnBUcmlPcCB0cmlvcCA9IEFS
TTY0ZnB0X0lOVkFMSUQ7CisgICAgICBzd2l0Y2ggKHFvcC0+b3ApIHsKKyAgICAgICAgIGNhc2Ug
SW9wX01BZGRGNjQ6IHRyaW9wID0gQVJNNjRmcHRfRk1BREQ7IGJyZWFrOworICAgICAgICAgY2Fz
ZSBJb3BfTVN1YkY2NDogdHJpb3AgPSBBUk02NGZwdF9GTVNVQjsgYnJlYWs7CisgICAgICAgICBk
ZWZhdWx0OiBicmVhazsKKyAgICAgIH0KKyAgICAgIGlmICh0cmlvcCAhPSBBUk02NGZwdF9JTlZB
TElEKSB7CisgICAgICAgICBIUmVnIE4gPSBpc2VsRGJsRXhwcihlbnYsIHFvcC0+YXJnMik7Cisg
ICAgICAgICBIUmVnIE0gPSBpc2VsRGJsRXhwcihlbnYsIHFvcC0+YXJnMyk7CisgICAgICAgICBI
UmVnIEEgPSBpc2VsRGJsRXhwcihlbnYsIHFvcC0+YXJnNCk7CisgICAgICAgICBIUmVnIGRzdCAg
PSBuZXdWUmVnRChlbnYpOworICAgICAgICAgc2V0X0ZQQ1Jfcm91bmRpbmdfbW9kZShlbnYsIHFv
cC0+YXJnMSk7CisgICAgICAgICBhZGRJbnN0cihlbnYsIEFSTTY0SW5zdHJfVlRyaUQodHJpb3As
IGRzdCwgTiwgTSwgQSkpOworICAgICAgICAgcmV0dXJuIGRzdDsKKyAgICAgIH0KKyAgIH0KKwog
ICAgaWYgKGUtPnRhZyA9PSBJZXhfSVRFKSB7CiAgICAgICAvKiBJVEUoY2NleHByLCBpZnRydWUs
IGlmZmFsc2UpICovCiAgICAgICBBUk02NENvbmRDb2RlIGNjOwpAQCAtMzQ1MCw2ICszNDY5LDI2
IEBAIHN0YXRpYyBIUmVnIGlzZWxGbHRFeHByX3dyayAoIElTZWxFbnYqIGVudiwgSVJFeHByKiBl
ICkKICAgICAgIHJldHVybiBkc3Q7CiAgICB9CiAKKyAgIGlmIChlLT50YWcgPT0gSWV4X1FvcCkg
eworICAgICAgSVJRb3AqICAgICAgIHFvcCA9IGUtPklleC5Rb3AuZGV0YWlsczsKKyAgICAgIEFS
TTY0RnBUcmlPcCB0cmlvcCA9IEFSTTY0ZnB0X0lOVkFMSUQ7CisgICAgICBzd2l0Y2ggKHFvcC0+
b3ApIHsKKyAgICAgICAgIGNhc2UgSW9wX01BZGRGMzI6IHRyaW9wID0gQVJNNjRmcHRfRk1BREQ7
IGJyZWFrOworICAgICAgICAgY2FzZSBJb3BfTVN1YkYzMjogdHJpb3AgPSBBUk02NGZwdF9GTVNV
QjsgYnJlYWs7CisgICAgICBkZWZhdWx0OiBicmVhazsKKyAgICAgIH0KKworICAgICAgaWYgKHRy
aW9wICE9IEFSTTY0ZnB0X0lOVkFMSUQpIHsKKyAgICAgICAgIEhSZWcgTiA9IGlzZWxGbHRFeHBy
KGVudiwgcW9wLT5hcmcyKTsKKyAgICAgICAgIEhSZWcgTSA9IGlzZWxGbHRFeHByKGVudiwgcW9w
LT5hcmczKTsKKyAgICAgICAgIEhSZWcgQSA9IGlzZWxGbHRFeHByKGVudiwgcW9wLT5hcmc0KTsK
KyAgICAgICAgIEhSZWcgZHN0ICA9IG5ld1ZSZWdEKGVudik7CisgICAgICAgICBzZXRfRlBDUl9y
b3VuZGluZ19tb2RlKGVudiwgcW9wLT5hcmcxKTsKKyAgICAgICAgIGFkZEluc3RyKGVudiwgQVJN
NjRJbnN0cl9WVHJpUyh0cmlvcCwgZHN0LCBOLCBNLCBBKSk7CisgICAgICAgICByZXR1cm4gZHN0
OworICAgICAgfQorICAgfQorCiAgICBwcElSRXhwcihlKTsKICAgIHZwYW5pYygiaXNlbEZsdEV4
cHJfd3JrIik7CiB9CmRpZmYgLS1naXQgYS9ub25lL3Rlc3RzL2FybTY0L01ha2VmaWxlLmFtIGIv
bm9uZS90ZXN0cy9hcm02NC9NYWtlZmlsZS5hbQppbmRleCA3YjNlYmJkY2EuLjRlY2FiMzZhZCAx
MDA2NDQKLS0tIGEvbm9uZS90ZXN0cy9hcm02NC9NYWtlZmlsZS5hbQorKysgYi9ub25lL3Rlc3Rz
L2FybTY0L01ha2VmaWxlLmFtCkBAIC0xMCwxNCArMTAsMTYgQEAgRVhUUkFfRElTVCA9IFwKIAlp
bnRlZ2VyLnN0ZG91dC5leHAgaW50ZWdlci5zdGRlcnIuZXhwIGludGVnZXIudmd0ZXN0IFwKIAlt
ZW1vcnkuc3Rkb3V0LmV4cCBtZW1vcnkuc3RkZXJyLmV4cCBtZW1vcnkudmd0ZXN0IFwKIAlhdG9t
aWNzX3Y4MS5zdGRvdXQuZXhwIGF0b21pY3NfdjgxLnN0ZGVyci5leHAgYXRvbWljc192ODEudmd0
ZXN0IFwKLQlzaW1kX3Y4MS5zdGRvdXQuZXhwIHNpbWRfdjgxLnN0ZGVyci5leHAgc2ltZF92ODEu
dmd0ZXN0CisJc2ltZF92ODEuc3Rkb3V0LmV4cCBzaW1kX3Y4MS5zdGRlcnIuZXhwIHNpbWRfdjgx
LnZndGVzdCBcCisgICAgICAgIGZtYWRkX3N1Yi5zdGRvdXQuZXhwIGZtYWRkX3N1Yi5zdGRlcnIu
ZXhwIGZtYWRkX3N1Yi52Z3Rlc3QKIAogY2hlY2tfUFJPR1JBTVMgPSBcCiAJYWxsZXhlYyBcCiAg
ICAgICAgIGN2dGZfaW1tIFwKIAlmcF9hbmRfc2ltZCBcCiAJaW50ZWdlciBcCi0JbWVtb3J5CisJ
bWVtb3J5IFwKKwlmbWFkZF9zdWIKIAogaWYgQlVJTERfQVJNVjhfQ1JDX1RFU1RTCiAgIGNoZWNr
X1BST0dSQU1TICs9IGNyYzMyCmRpZmYgLS1naXQgYS9ub25lL3Rlc3RzL2FybTY0L2ZtYWRkX3N1
Yi5jIGIvbm9uZS90ZXN0cy9hcm02NC9mbWFkZF9zdWIuYwpuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAuLmRjYWIyMmQxYgotLS0gL2Rldi9udWxsCisrKyBiL25vbmUvdGVzdHMv
YXJtNjQvZm1hZGRfc3ViLmMKQEAgLTAsMCArMSw5OCBAQAorI2luY2x1ZGUgPG1hdGguaD4KKyNp
bmNsdWRlIDxzdGRpbnQuaD4KKyNpbmNsdWRlIDxzdGRpby5oPgorI2luY2x1ZGUgPHN0ZGxpYi5o
PgorCisjZGVmaW5lIENPVU5UIDUKKworc3RhdGljIHZvaWQKK3ByaW50X2Zsb2F0KGNvbnN0IGNo
YXIgKmlkZW50LCBmbG9hdCB4KQoreworICB1bmlvbgorICB7CisgICAgZmxvYXQgZjsKKyAgICB1
aW50MzJfdCBpOworICB9IHU7CisKKyAgdS5mID0geDsKKyAgcHJpbnRmKCIlcyA9ICUwOHggPSAl
LjE3Z1xuIiwgaWRlbnQsIHUuaSwgeCk7Cit9CisKK3N0YXRpYyB2b2lkCitwcmludF9kb3VibGUo
Y29uc3QgY2hhciAqaWRlbnQsIGRvdWJsZSB4KQoreworICB1bmlvbgorICB7CisgICAgZG91Ymxl
IGY7CisgICAgdWludDY0X3QgaTsKKyAgfSB1OworCisgIHUuZiA9IHg7CisgIHByaW50ZigiJXMg
PSAlMDE2bHggPSAlLjE3Z1xuIiwgaWRlbnQsIHUuaSwgeCk7Cit9CisKK2ludAorbWFpbihpbnQg
YXJnYywgY2hhciAqKmFyZ3YpCit7CisgIGZsb2F0IHhbXSA9IHsgNTUsICAgICAgICAgICAgICAg
ICAgMC45ODA3NjE3MTg3NDk5OTk5NiwgMCwgMSwgMHhGRkZGRkZGRiB9IDsKKyAgZmxvYXQgeVtd
ID0geyAwLjY5MzE0NzE4MDU1OTk0NTI5LCAxLjAxNTYyNSwgICAgICAgICAgICAwLCAxLCAweEZG
RkZGRkZGIH07CisgIGZsb2F0IHpbXSA9IHsgMzguMTIzMDk0OTMwNzk2OTg4LCAgMSwgICAgICAg
ICAgICAgICAgICAgMCwgMSwgMHhGRkZGRkZGRiB9OworICBmbG9hdCBkc3QgPSAtNTsKKworICBk
b3VibGUgZHhbXSA9IHsgNTUsICAgICAgICAgICAgICAgICAgMC45ODA3NjE3MTg3NDk5OTk5Niwg
MCwgMSwgMHhGRkZGRkZGRiB9IDsKKyAgZG91YmxlIGR5W10gPSB7IDAuNjkzMTQ3MTgwNTU5OTQ1
MjksIDEuMDE1NjI1LCAgICAgICAgICAgIDAsIDEsIDB4RkZGRkZGRkYgfTsKKyAgZG91YmxlIGR6
W10gPSB7IDM4LjEyMzA5NDkzMDc5Njk4OCwgIDEsICAgICAgICAgICAgICAgICAgIDAsIDEsIDB4
RkZGRkZGRkYgfTsKKyAgZG91YmxlIGRkc3Q9IC01OworCisgIGludCBpOworCisgIGZvciAoaSA9
IDA7IGkgPCBDT1VOVDsgaSsrKSB7CisJICAvLzMyYml0IHZhcmlhbnQKKwkgIGFzbSgiZm1hZGQg
JXMwLCAlczEsICVzMiwgJXMzXG47IiA6ICI9dyIoZHN0KSA6ICJ3Iih4W2ldKSwgInciKHlbaV0p
LCAidyIoeltpXSkpOworCSAgcHJpbnRmKCJGTUFERCAzMmJpdDogZHN0ID0geiArIHggKiB5XG4i
KTsKKwkgIHByaW50ZigiJWYgPSAlZiArICVmICogJWZcbiIsIGRzdCwgeltpXSwgeFtpXSwgeVtp
XSk7CisJICBwcmludF9mbG9hdCgiZHN0IiwgZHN0KTsKKworCSAgLy8gRmxvYXRpbmctcG9pbnQg
bmVnYXRlZCBmdXNlZCBtdWx0aXBseS1hZGQKKwkgIGFzbSgiZm5tYWRkICVzMCwgJXMxLCAlczIs
ICVzM1xuOyIgOiAiPXciKGRzdCkgOiAidyIoeFtpXSksICJ3Iih5W2ldKSwgInciKHpbaV0pKTsK
KwkgIHByaW50ZigiRk5NQUREIDMyYml0OiBkc3QgPSAteiArICgteCkgKiB5XG4iKTsKKwkgIHBy
aW50ZigiJWYgPSAtJWYgKyAoLSVmKSAqICVmXG4iLCBkc3QsIHpbaV0sIHhbaV0sIHlbaV0pOwor
CSAgcHJpbnRfZmxvYXQoImRzdCIsIGRzdCk7CisKKwkgIGFzbSgiZm1zdWIgJXMwLCAlczEsICVz
MiwgJXMzXG47IiA6ICI9dyIoZHN0KSA6ICJ3Iih4W2ldKSwgInciKHlbaV0pLCAidyIoeltpXSkp
OworCSAgcHJpbnRmKCJGTVNVQiAzMmJpdDogZHN0ID0geiArICgteCkgKiB5XG4iKTsKKwkgIHBy
aW50ZigiJWYgPSAlZiArICgtJWYpICogJWZcbiIsIGRzdCwgeltpXSwgeFtpXSwgeVtpXSk7CisJ
ICBwcmludF9mbG9hdCgiZHN0IiwgZHN0KTsKKworCSAgYXNtKCJmbm1zdWIgJXMwLCAlczEsICVz
MiwgJXMzXG47IiA6ICI9dyIoZHN0KSA6ICJ3Iih4W2ldKSwgInciKHlbaV0pLCAidyIoeltpXSkp
OworCSAgcHJpbnRmKCJGTk1TVUIgMzJiaXQ6IGRzdCA9IC16ICsgeCAqIHlcbiIpOworCSAgcHJp
bnRmKCIlZiA9IC0lZiArICVmICogJWZcbiIsIGRzdCwgeltpXSwgeFtpXSwgeVtpXSk7CisJICBw
cmludF9mbG9hdCgiZHN0IiwgZHN0KTsKKworCSAgLy82NGJpdCB2YXJpYW50CisJICBhc20oImZt
YWRkICVkMCwgJWQxLCAlZDIsICVkM1xuOyIgOiAiPXciKGRkc3QpIDogInciKGR4W2ldKSwgInci
KGR5W2ldKSwgInciKGR6W2ldKSk7CisJICBwcmludGYoIkZNQUREIDY0Yml0OiBkc3QgPSB6ICsg
eCAqIHlcbiIpOworCSAgcHJpbnRmKCIlZiA9ICVmICsgJWYgKiAlZlxuIiwgZGRzdCwgZHpbaV0s
IGR4W2ldLCBkeVtpXSk7CisJICBwcmludF9kb3VibGUoImRzdCIsIGRkc3QpOworCisJICBhc20o
ImZubWFkZCAlZDAsICVkMSwgJWQyLCAlZDNcbjsiIDogIj13IihkZHN0KSA6ICJ3IihkeFtpXSks
ICJ3IihkeVtpXSksICJ3IihkeltpXSkpOworCSAgcHJpbnRmKCJGTk1BREQgNjRiaXQ6IGRzdCA9
IC16ICsgKC14KSAqIHlcbiIpOworCSAgcHJpbnRmKCIlZiA9IC0lZiAtICVmICogJWZcbiIsIGRk
c3QsIGR6W2ldLCBkeFtpXSwgZHlbaV0pOworCSAgcHJpbnRfZG91YmxlKCJkc3QiLCBkZHN0KTsK
KworCSAgYXNtKCJmbXN1YiAlZDAsICVkMSwgJWQyLCAlZDNcbjsiIDogIj13IihkZHN0KSA6ICJ3
IihkeFtpXSksICJ3IihkeVtpXSksICJ3IihkeltpXSkpOworCSAgcHJpbnRmKCJGTVNVQiA2NGJp
dDogZHN0ID0geiArICgteCkgKiB5XG4iKTsKKwkgIHByaW50ZigiJWYgPSAlZiArICgtJWYpICog
JWZcbiIsIGRkc3QsIGR6W2ldLCBkeFtpXSwgZHlbaV0pOworCSAgcHJpbnRfZG91YmxlKCJkc3Qi
LCBkZHN0KTsKKworCSAgYXNtKCJmbm1zdWIgJWQwLCAlZDEsICVkMiwgJWQzXG47IiA6ICI9dyIo
ZGRzdCkgOiAidyIoZHhbaV0pLCAidyIoZHlbaV0pLCAidyIoZHpbaV0pKTsKKwkgIHByaW50Zigi
Rk5NU1VCIDY0Yml0OiBkc3QgPSAteiArIHggKiB5XG4iKTsKKwkgIHByaW50ZigiJWYgPSAtJWYg
KyAlZiAqICVmXG4iLCBkZHN0LCBkeltpXSwgZHhbaV0sIGR5W2ldKTsKKwkgIHByaW50X2RvdWJs
ZSgiZHN0IiwgZGRzdCk7CisKKwkgIHByaW50ZigiXG4iKTsKKyAgfQorCisgIHJldHVybiAwOwor
fQorCmRpZmYgLS1naXQgYS9ub25lL3Rlc3RzL2FybTY0L2ZtYWRkX3N1Yi5zdGRlcnIuZXhwIGIv
bm9uZS90ZXN0cy9hcm02NC9mbWFkZF9zdWIuc3RkZXJyLmV4cApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAuLmU2OWRlMjliYgpkaWZmIC0tZ2l0IGEvbm9uZS90ZXN0cy9hcm02
NC9mbWFkZF9zdWIuc3Rkb3V0LmV4cCBiL25vbmUvdGVzdHMvYXJtNjQvZm1hZGRfc3ViLnN0ZG91
dC5leHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwLi4zMTdjMmVjZDAKLS0t
IC9kZXYvbnVsbAorKysgYi9ub25lL3Rlc3RzL2FybTY0L2ZtYWRkX3N1Yi5zdGRvdXQuZXhwCkBA
IC0wLDAgKzEsMTI1IEBACitGTUFERCAzMmJpdDogZHN0ID0geiArIHggKiB5Cis3Ni4yNDYxOTMg
PSAzOC4xMjMwOTYgKyA1NS4wMDAwMDAgKiAwLjY5MzE0NworZHN0ID0gNDI5ODdlMGQgPSA3Ni4y
NDYxOTI5MzIxMjg5MDYKK0ZOTUFERCAzMmJpdDogZHN0ID0gLXogKyAoLXgpICogeQorLTc2LjI0
NjE5MyA9IC0zOC4xMjMwOTYgKyAoLTU1LjAwMDAwMCkgKiAwLjY5MzE0NworZHN0ID0gYzI5ODdl
MGQgPSAtNzYuMjQ2MTkyOTMyMTI4OTA2CitGTVNVQiAzMmJpdDogZHN0ID0geiArICgteCkgKiB5
CiswLjAwMDAwMSA9IDM4LjEyMzA5NiArICgtNTUuMDAwMDAwKSAqIDAuNjkzMTQ3Citkc3QgPSAz
NWMwMDAwMCA9IDEuNDMwNTExNDc0NjA5Mzc1ZS0wNgorRk5NU1VCIDMyYml0OiBkc3QgPSAteiAr
IHggKiB5CistMC4wMDAwMDEgPSAtMzguMTIzMDk2ICsgNTUuMDAwMDAwICogMC42OTMxNDcKK2Rz
dCA9IGI1YzAwMDAwID0gLTEuNDMwNTExNDc0NjA5Mzc1ZS0wNgorRk1BREQgNjRiaXQ6IGRzdCA9
IHogKyB4ICogeQorNzYuMjQ2MTkwID0gMzguMTIzMDk1ICsgNTUuMDAwMDAwICogMC42OTMxNDcK
K2RzdCA9IDQwNTMwZmMxOTMxZjA5YzkgPSA3Ni4yNDYxODk4NjE1OTM5NzYKK0ZOTUFERCA2NGJp
dDogZHN0ID0gLXogKyAoLXgpICogeQorLTc2LjI0NjE5MCA9IC0zOC4xMjMwOTUgLSA1NS4wMDAw
MDAgKiAwLjY5MzE0NworZHN0ID0gYzA1MzBmYzE5MzFmMDljOSA9IC03Ni4yNDYxODk4NjE1OTM5
NzYKK0ZNU1VCIDY0Yml0OiBkc3QgPSB6ICsgKC14KSAqIHkKKy0wLjAwMDAwMCA9IDM4LjEyMzA5
NSArICgtNTUuMDAwMDAwKSAqIDAuNjkzMTQ3Citkc3QgPSBiY2U5MDAwMDAwMDAwMDAwID0gLTIu
Nzc1NTU3NTYxNTYyODkxNGUtMTUKK0ZOTVNVQiA2NGJpdDogZHN0ID0gLXogKyB4ICogeQorMC4w
MDAwMDAgPSAtMzguMTIzMDk1ICsgNTUuMDAwMDAwICogMC42OTMxNDcKK2RzdCA9IDNjZTkwMDAw
MDAwMDAwMDAgPSAyLjc3NTU1NzU2MTU2Mjg5MTRlLTE1CisKK0ZNQUREIDMyYml0OiBkc3QgPSB6
ICsgeCAqIHkKKzEuOTk2MDg2ID0gMS4wMDAwMDAgKyAwLjk4MDc2MiAqIDEuMDE1NjI1Citkc3Qg
PSAzZmZmN2ZjMCA9IDEuOTk2MDg2MTIwNjA1NDY4OAorRk5NQUREIDMyYml0OiBkc3QgPSAteiAr
ICgteCkgKiB5CistMS45OTYwODYgPSAtMS4wMDAwMDAgKyAoLTAuOTgwNzYyKSAqIDEuMDE1NjI1
Citkc3QgPSBiZmZmN2ZjMCA9IC0xLjk5NjA4NjEyMDYwNTQ2ODgKK0ZNU1VCIDMyYml0OiBkc3Qg
PSB6ICsgKC14KSAqIHkKKzAuMDAzOTE0ID0gMS4wMDAwMDAgKyAoLTAuOTgwNzYyKSAqIDEuMDE1
NjI1Citkc3QgPSAzYjgwNDAxYSA9IDAuMDAzOTEzODkxNTAxNzI0NzIKK0ZOTVNVQiAzMmJpdDog
ZHN0ID0gLXogKyB4ICogeQorLTAuMDAzOTE0ID0gLTEuMDAwMDAwICsgMC45ODA3NjIgKiAxLjAx
NTYyNQorZHN0ID0gYmI4MDQwMWEgPSAtMC4wMDM5MTM4OTE1MDE3MjQ3MgorRk1BREQgNjRiaXQ6
IGRzdCA9IHogKyB4ICogeQorMS45OTYwODYgPSAxLjAwMDAwMCArIDAuOTgwNzYyICogMS4wMTU2
MjUKK2RzdCA9IDNmZmZlZmY4MDAwMDAwMDAgPSAxLjk5NjA4NjEyMDYwNTQ2ODgKK0ZOTUFERCA2
NGJpdDogZHN0ID0gLXogKyAoLXgpICogeQorLTEuOTk2MDg2ID0gLTEuMDAwMDAwIC0gMC45ODA3
NjIgKiAxLjAxNTYyNQorZHN0ID0gYmZmZmVmZjgwMDAwMDAwMCA9IC0xLjk5NjA4NjEyMDYwNTQ2
ODgKK0ZNU1VCIDY0Yml0OiBkc3QgPSB6ICsgKC14KSAqIHkKKzAuMDAzOTE0ID0gMS4wMDAwMDAg
KyAoLTAuOTgwNzYyKSAqIDEuMDE1NjI1Citkc3QgPSAzZjcwMDgwMDAwMDAwMDM0ID0gMC4wMDM5
MTM4NzkzOTQ1MzEyOTUxCitGTk1TVUIgNjRiaXQ6IGRzdCA9IC16ICsgeCAqIHkKKy0wLjAwMzkx
NCA9IC0xLjAwMDAwMCArIDAuOTgwNzYyICogMS4wMTU2MjUKK2RzdCA9IGJmNzAwODAwMDAwMDAw
MzQgPSAtMC4wMDM5MTM4NzkzOTQ1MzEyOTUxCisKK0ZNQUREIDMyYml0OiBkc3QgPSB6ICsgeCAq
IHkKKzAuMDAwMDAwID0gMC4wMDAwMDAgKyAwLjAwMDAwMCAqIDAuMDAwMDAwCitkc3QgPSAwMDAw
MDAwMCA9IDAKK0ZOTUFERCAzMmJpdDogZHN0ID0gLXogKyAoLXgpICogeQorLTAuMDAwMDAwID0g
LTAuMDAwMDAwICsgKC0wLjAwMDAwMCkgKiAwLjAwMDAwMAorZHN0ID0gODAwMDAwMDAgPSAtMAor
Rk1TVUIgMzJiaXQ6IGRzdCA9IHogKyAoLXgpICogeQorMC4wMDAwMDAgPSAwLjAwMDAwMCArICgt
MC4wMDAwMDApICogMC4wMDAwMDAKK2RzdCA9IDAwMDAwMDAwID0gMAorRk5NU1VCIDMyYml0OiBk
c3QgPSAteiArIHggKiB5CistMC4wMDAwMDAgPSAtMC4wMDAwMDAgKyAwLjAwMDAwMCAqIDAuMDAw
MDAwCitkc3QgPSA4MDAwMDAwMCA9IC0wCitGTUFERCA2NGJpdDogZHN0ID0geiArIHggKiB5Cisw
LjAwMDAwMCA9IDAuMDAwMDAwICsgMC4wMDAwMDAgKiAwLjAwMDAwMAorZHN0ID0gMDAwMDAwMDAw
MDAwMDAwMCA9IDAKK0ZOTUFERCA2NGJpdDogZHN0ID0gLXogKyAoLXgpICogeQorLTAuMDAwMDAw
ID0gLTAuMDAwMDAwIC0gMC4wMDAwMDAgKiAwLjAwMDAwMAorZHN0ID0gODAwMDAwMDAwMDAwMDAw
MCA9IC0wCitGTVNVQiA2NGJpdDogZHN0ID0geiArICgteCkgKiB5CiswLjAwMDAwMCA9IDAuMDAw
MDAwICsgKC0wLjAwMDAwMCkgKiAwLjAwMDAwMAorZHN0ID0gMDAwMDAwMDAwMDAwMDAwMCA9IDAK
K0ZOTVNVQiA2NGJpdDogZHN0ID0gLXogKyB4ICogeQorLTAuMDAwMDAwID0gLTAuMDAwMDAwICsg
MC4wMDAwMDAgKiAwLjAwMDAwMAorZHN0ID0gODAwMDAwMDAwMDAwMDAwMCA9IC0wCisKK0ZNQURE
IDMyYml0OiBkc3QgPSB6ICsgeCAqIHkKKzIuMDAwMDAwID0gMS4wMDAwMDAgKyAxLjAwMDAwMCAq
IDEuMDAwMDAwCitkc3QgPSA0MDAwMDAwMCA9IDIKK0ZOTUFERCAzMmJpdDogZHN0ID0gLXogKyAo
LXgpICogeQorLTIuMDAwMDAwID0gLTEuMDAwMDAwICsgKC0xLjAwMDAwMCkgKiAxLjAwMDAwMAor
ZHN0ID0gYzAwMDAwMDAgPSAtMgorRk1TVUIgMzJiaXQ6IGRzdCA9IHogKyAoLXgpICogeQorMC4w
MDAwMDAgPSAxLjAwMDAwMCArICgtMS4wMDAwMDApICogMS4wMDAwMDAKK2RzdCA9IDAwMDAwMDAw
ID0gMAorRk5NU1VCIDMyYml0OiBkc3QgPSAteiArIHggKiB5CistMC4wMDAwMDAgPSAtMS4wMDAw
MDAgKyAxLjAwMDAwMCAqIDEuMDAwMDAwCitkc3QgPSA4MDAwMDAwMCA9IC0wCitGTUFERCA2NGJp
dDogZHN0ID0geiArIHggKiB5CisyLjAwMDAwMCA9IDEuMDAwMDAwICsgMS4wMDAwMDAgKiAxLjAw
MDAwMAorZHN0ID0gNDAwMDAwMDAwMDAwMDAwMCA9IDIKK0ZOTUFERCA2NGJpdDogZHN0ID0gLXog
KyAoLXgpICogeQorLTIuMDAwMDAwID0gLTEuMDAwMDAwIC0gMS4wMDAwMDAgKiAxLjAwMDAwMAor
ZHN0ID0gYzAwMDAwMDAwMDAwMDAwMCA9IC0yCitGTVNVQiA2NGJpdDogZHN0ID0geiArICgteCkg
KiB5CiswLjAwMDAwMCA9IDEuMDAwMDAwICsgKC0xLjAwMDAwMCkgKiAxLjAwMDAwMAorZHN0ID0g
MDAwMDAwMDAwMDAwMDAwMCA9IDAKK0ZOTVNVQiA2NGJpdDogZHN0ID0gLXogKyB4ICogeQorLTAu
MDAwMDAwID0gLTEuMDAwMDAwICsgMS4wMDAwMDAgKiAxLjAwMDAwMAorZHN0ID0gODAwMDAwMDAw
MDAwMDAwMCA9IC0wCisKK0ZNQUREIDMyYml0OiBkc3QgPSB6ICsgeCAqIHkKKzE4NDQ2NzQ0MDcz
NzA5NTUxNjE2LjAwMDAwMCA9IDQyOTQ5NjcyOTYuMDAwMDAwICsgNDI5NDk2NzI5Ni4wMDAwMDAg
KiA0Mjk0OTY3Mjk2LjAwMDAwMAorZHN0ID0gNWY4MDAwMDAgPSAxLjg0NDY3NDQwNzM3MDk1NTJl
KzE5CitGTk1BREQgMzJiaXQ6IGRzdCA9IC16ICsgKC14KSAqIHkKKy0xODQ0Njc0NDA3MzcwOTU1
MTYxNi4wMDAwMDAgPSAtNDI5NDk2NzI5Ni4wMDAwMDAgKyAoLTQyOTQ5NjcyOTYuMDAwMDAwKSAq
IDQyOTQ5NjcyOTYuMDAwMDAwCitkc3QgPSBkZjgwMDAwMCA9IC0xLjg0NDY3NDQwNzM3MDk1NTJl
KzE5CitGTVNVQiAzMmJpdDogZHN0ID0geiArICgteCkgKiB5CistMTg0NDY3NDQwNzM3MDk1NTE2
MTYuMDAwMDAwID0gNDI5NDk2NzI5Ni4wMDAwMDAgKyAoLTQyOTQ5NjcyOTYuMDAwMDAwKSAqIDQy
OTQ5NjcyOTYuMDAwMDAwCitkc3QgPSBkZjgwMDAwMCA9IC0xLjg0NDY3NDQwNzM3MDk1NTJlKzE5
CitGTk1TVUIgMzJiaXQ6IGRzdCA9IC16ICsgeCAqIHkKKzE4NDQ2NzQ0MDczNzA5NTUxNjE2LjAw
MDAwMCA9IC00Mjk0OTY3Mjk2LjAwMDAwMCArIDQyOTQ5NjcyOTYuMDAwMDAwICogNDI5NDk2NzI5
Ni4wMDAwMDAKK2RzdCA9IDVmODAwMDAwID0gMS44NDQ2NzQ0MDczNzA5NTUyZSsxOQorRk1BREQg
NjRiaXQ6IGRzdCA9IHogKyB4ICogeQorMTg0NDY3NDQwNjk0MTQ1ODQzMjAuMDAwMDAwID0gNDI5
NDk2NzI5NS4wMDAwMDAgKyA0Mjk0OTY3Mjk1LjAwMDAwMCAqIDQyOTQ5NjcyOTUuMDAwMDAwCitk
c3QgPSA0M2VmZmZmZmZmZTAwMDAwID0gMS44NDQ2NzQ0MDY5NDE0NTg0ZSsxOQorRk5NQUREIDY0
Yml0OiBkc3QgPSAteiArICgteCkgKiB5CistMTg0NDY3NDQwNjk0MTQ1ODQzMjAuMDAwMDAwID0g
LTQyOTQ5NjcyOTUuMDAwMDAwIC0gNDI5NDk2NzI5NS4wMDAwMDAgKiA0Mjk0OTY3Mjk1LjAwMDAw
MAorZHN0ID0gYzNlZmZmZmZmZmUwMDAwMCA9IC0xLjg0NDY3NDQwNjk0MTQ1ODRlKzE5CitGTVNV
QiA2NGJpdDogZHN0ID0geiArICgteCkgKiB5CistMTg0NDY3NDQwNjA4MjQ2NDk3MjguMDAwMDAw
ID0gNDI5NDk2NzI5NS4wMDAwMDAgKyAoLTQyOTQ5NjcyOTUuMDAwMDAwKSAqIDQyOTQ5NjcyOTUu
MDAwMDAwCitkc3QgPSBjM2VmZmZmZmZmYTAwMDAwID0gLTEuODQ0Njc0NDA2MDgyNDY1ZSsxOQor
Rk5NU1VCIDY0Yml0OiBkc3QgPSAteiArIHggKiB5CisxODQ0Njc0NDA2MDgyNDY0OTcyOC4wMDAw
MDAgPSAtNDI5NDk2NzI5NS4wMDAwMDAgKyA0Mjk0OTY3Mjk1LjAwMDAwMCAqIDQyOTQ5NjcyOTUu
MDAwMDAwCitkc3QgPSA0M2VmZmZmZmZmYTAwMDAwID0gMS44NDQ2NzQ0MDYwODI0NjVlKzE5CisK
ZGlmZiAtLWdpdCBhL25vbmUvdGVzdHMvYXJtNjQvZm1hZGRfc3ViLnZndGVzdCBiL25vbmUvdGVz
dHMvYXJtNjQvZm1hZGRfc3ViLnZndGVzdApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAuLmI0YzUzZWVhNAotLS0gL2Rldi9udWxsCisrKyBiL25vbmUvdGVzdHMvYXJtNjQvZm1h
ZGRfc3ViLnZndGVzdApAQCAtMCwwICsxLDMgQEAKK3Byb2c6IGZtYWRkX3N1YgorcHJlcmVxOiB0
ZXN0IC14IGZtYWRkX3N1YgordmdvcHRzOiAtcQpkaWZmIC0tZ2l0IGEvdGVzdF9mbWFkZDMyLmMg
Yi90ZXN0X2ZtYWRkMzIuYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAuLjVj
N2VlMmE5MAotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RfZm1hZGQzMi5jCkBAIC0wLDAgKzEsMzcg
QEAKKyNpbmNsdWRlIDxtYXRoLmg+CisjaW5jbHVkZSA8c3RkaW50Lmg+CisjaW5jbHVkZSA8c3Rk
aW8uaD4KKyNpbmNsdWRlIDxzdGRsaWIuaD4KKworc3RhdGljIHZvaWQKK3ByaW50X2Zsb2F0KGNv
bnN0IGNoYXIgKmlkZW50LCBkb3VibGUgeCkKK3sKKyAgdW5pb24KKyAgeworICAgIGRvdWJsZSBm
OworICAgIHVpbnQ2NF90IGk7CisgIH0gdTsKKworICB1LmYgPSB4OworICBwcmludGYoIiVzID0g
JTAxNmx4ID0gJS4xN2dcbiIsIGlkZW50LCB1LmksIHgpOworfQorCitpbnQKK21haW4oaW50IGFy
Z2MsIGNoYXIgKiphcmd2KQoreworICBmbG9hdCB4ID0gNTU7CisgIGZsb2F0IHkgPSAwLjY5MzE0
NzE4MDU1OTk0NTI5OworICBmbG9hdCB6ID0gMzguMTIzMDk0OTMwNzk2OTg4OworICBmbG9hdCBk
c3Q7CisKKyAgLy8zMmJpdCB2YXJpYW50CisgIC8vIHB5dGhvbjIgcmVzdWx0CisgIC8vPj4+IDM4
LjEyMzA5NiArIDU1LjAwMDAwMCAqIDAuNjkzMTQ3CisgIC8vNzYuMjQ2MTgwOTk5OTk5OTkKKwor
ICBhc20oImZtYWRkICVzMCwgJXMxLCAlczIsICVzM1xuOyIgOiAiPXciKGRzdCkgOiAidyIoeCks
ICJ3Iih5KSwgInciKHopKTsKKyAgcHJpbnRmKCJGTUFERCAzMmJpdDogZHN0ID0geiArIHggKiB5
XG4iKTsKKyAgcHJpbnRmKCIlZiA9ICVmICsgJWYgKiAlZlxuIiwgZHN0LCB6LCB4LCB5KTsKKyAg
CisgIHJldHVybiAwOworfQpkaWZmIC0tZ2l0IGEvdGVzdF9mbWFkZDY0LmMgYi90ZXN0X2ZtYWRk
NjQuYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAuLmVkYzg0YjVjMAotLS0g
L2Rldi9udWxsCisrKyBiL3Rlc3RfZm1hZGQ2NC5jCkBAIC0wLDAgKzEsMzQgQEAKKyNpbmNsdWRl
IDxtYXRoLmg+CisjaW5jbHVkZSA8c3RkaW50Lmg+CisjaW5jbHVkZSA8c3RkaW8uaD4KKyNpbmNs
dWRlIDxzdGRsaWIuaD4KKworc3RhdGljIHZvaWQKK3ByaW50X2Zsb2F0KGNvbnN0IGNoYXIgKmlk
ZW50LCBkb3VibGUgeCkKK3sKKyAgdW5pb24KKyAgeworICAgIGRvdWJsZSBmOworICAgIHVpbnQ2
NF90IGk7CisgIH0gdTsKKworICB1LmYgPSB4OworICBwcmludGYoIiVzID0gJTAxNmx4ID0gJS4x
N2dcbiIsIGlkZW50LCB1LmksIHgpOworfQorCitpbnQKK21haW4oaW50IGFyZ2MsIGNoYXIgKiph
cmd2KQoreworICBkb3VibGUgeCA9IDU1OworICBkb3VibGUgeSA9IDAuNjkzMTQ3MTgwNTU5OTQ1
Mjk7CisgIGRvdWJsZSB6ID0gMzguMTIzMDk0OTMwNzk2OTg4OworICBkb3VibGUgZHN0OworCisg
IC8vNjRiaXQgdmFyaWFudAorICBhc20oImZtYWRkICVkMCwgJWQxLCAlZDIsICVkM1xuOyIgOiAi
PXciKGRzdCkgOiAidyIoeCksICJ3Iih5KSwgInciKHopKTsKKyAgcHJpbnRmKCJGTUFERCA2NGJp
dDogZHN0ID0geiArIHggKiB5XG4iKTsKKyAgcHJpbnRmKCIlZiA9ICVmICsgJWYgKiAlZlxuIiwg
ZHN0LCB6LCB4LCB5KTsKKyAgCisgIHJldHVybiAwOworfQorCmRpZmYgLS1naXQgYS90ZXN0X2Zt
c3ViMzIuYyBiL3Rlc3RfZm1zdWIzMi5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMC4uODExMzAzYTFmCi0tLSAvZGV2L251bGwKKysrIGIvdGVzdF9mbXN1YjMyLmMKQEAgLTAs
MCArMSwzNCBAQAorI2luY2x1ZGUgPG1hdGguaD4KKyNpbmNsdWRlIDxzdGRpbnQuaD4KKyNpbmNs
dWRlIDxzdGRpby5oPgorI2luY2x1ZGUgPHN0ZGxpYi5oPgorCitzdGF0aWMgdm9pZAorcHJpbnRf
ZmxvYXQoY29uc3QgY2hhciAqaWRlbnQsIGZsb2F0IHgpCit7CisgIHVuaW9uCisgIHsKKyAgICBm
bG9hdCBmOworICAgIHVpbnQzMl90IGk7CisgIH0gdTsKKworICB1LmYgPSB4OworICBwcmludGYo
IiVzID0gJTAxNmx4ID0gJS4xN2dcbiIsIGlkZW50LCB1LmksIHgpOworfQorCitpbnQKK21haW4o
aW50IGFyZ2MsIGNoYXIgKiphcmd2KQoreworICBmbG9hdCB4ID0gNTU7CisgIGZsb2F0IHkgPSAw
LjY5MzE0NzE4MDU1OTk0NTI5OworICBmbG9hdCB6ID0gMzguMTIzMDk0OTMwNzk2OTg4OworICBm
bG9hdCBkc3Q7CisKKyAgLy8zMmJpdCB2YXJpYW50CisgIGFzbSgiZm1zdWIgJXMwLCAlczEsICVz
MiwgJXMzXG47IiA6ICI9dyIoZHN0KSA6ICJ3Iih4KSwgInciKHkpLCAidyIoeikpOworICBwcmlu
dGYoIkZNU1VCIDMyYml0OiBkc3QgPSB6ICsgKC14KSAqIHlcbiIpOworICBwcmludGYoIiVmID0g
JWYgKyAoLSVmKSAqICVmXG4iLCBkc3QsIHosIHgsIHkpOworICBwcmludF9mbG9hdCgiZHN0Iiwg
ZHN0KTsKKyAgCisgIHJldHVybiAwOworfQpkaWZmIC0tZ2l0IGEvdGVzdF9mbXN1YjY0LmMgYi90
ZXN0X2Ztc3ViNjQuYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAuLjM1ZmZl
YzgyNQotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RfZm1zdWI2NC5jCkBAIC0wLDAgKzEsMzMgQEAK
KyNpbmNsdWRlIDxtYXRoLmg+CisjaW5jbHVkZSA8c3RkaW50Lmg+CisjaW5jbHVkZSA8c3RkaW8u
aD4KKyNpbmNsdWRlIDxzdGRsaWIuaD4KKworc3RhdGljIHZvaWQKK3ByaW50X2RvdWJsZShjb25z
dCBjaGFyICppZGVudCwgZG91YmxlIHgpCit7CisgIHVuaW9uCisgIHsKKyAgICBkb3VibGUgZjsK
KyAgICB1aW50NjRfdCBpOworICB9IHU7CisKKyAgdS5mID0geDsKKyAgcHJpbnRmKCIlcyA9ICUw
MTZseCA9ICUuMTdnXG4iLCBpZGVudCwgdS5pLCB4KTsKK30KKworaW50CittYWluKGludCBhcmdj
LCBjaGFyICoqYXJndikKK3sKKyAgZG91YmxlIHggPSA1NTsKKyAgZG91YmxlIHkgPSAwLjY5MzE0
NzE4MDU1OTk0NTI5OworICBkb3VibGUgeiA9IDM4LjEyMzA5NDkzMDc5Njk4ODsKKyAgZG91Ymxl
IGRzdDsKKworICBhc20oImZtc3ViICVkMCwgJWQxLCAlZDIsICVkM1xuOyIgOiAiPXciKGRzdCkg
OiAidyIoeCksICJ3Iih5KSwgInciKHopKTsKKyAgcHJpbnRmKCJGTVNVQiA2NGJpdDogZHN0ID0g
eiArICgteCkgKiB5XG4iKTsKKyAgcHJpbnRmKCIlZiA9ICVmICsgKC0lZikgKiAlZlxuIiwgZHN0
LCB6LCB4LCB5KTsKKyAgcHJpbnRfZG91YmxlKCJkc3QiLCBkc3QpOworICAKKyAgcmV0dXJuIDA7
Cit9Ci0tIAoyLjI2LjIKCg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>134093</attachid>
            <date>2020-12-15 13:23:31 +0000</date>
            <delta_ts>2020-12-15 13:23:31 +0000</delta_ts>
            <desc>patch</desc>
            <filename>0001-arm64-VEX-frontend-and-backend-support-for-Iop_M-Add.patch</filename>
            <type>text/plain</type>
            <size>26184</size>
            <attacher name="Mark Wielaard">mark</attacher>
            
              <data encoding="base64">RnJvbSBjNzM4Y2EyZGM0NGY2ZmQyMzY2NmVhYjcwMzM2ZjcxOWJjNDNkOTBiIE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBNYXJrIFdpZWxhYXJkIDxtYXJrQGtsb21wLm9yZz4KRGF0ZTog
V2VkLCAxNCBPY3QgMjAyMCAwNjoxMTozNCAtMDQwMApTdWJqZWN0OiBbUEFUQ0hdIGFybTY0IFZF
WCBmcm9udGVuZCBhbmQgYmFja2VuZCBzdXBwb3J0IGZvcgogSW9wX017QWRkLFN1Yn1GezMyLDY0
fQoKVGhlIGFybTY0IGZyb250ZW5kIHVzZWQgdG8gaW1wbGVtZW50IHRoZSBzY2FsYXIgZm1hZGQs
IGZtc3ViLCBmbm1hZGQKYW5kIGZubXN1YiBpaW5zdHJ1Y3Rpb25zIGludG8gc2VwYXJhdGUgYWRk
aXRpb24vc3Vic3RyYWN0aW9uIGFuZAptdWx0aXBsaWNhdGlvbiBpbnN0cnVjdGlvbnMsIHdoaWNo
IGNhdXNlZCByb3VuZGluZyBpc3N1ZXMuCgpUaGlzIHBhdGNoIHR1cm5zIHRoZW0gaW50byBJb3Bf
TXtBZGQsU3VifUZ7MzIsNjR9IGluc3RydWN0aW9ucwood2l0aCBzb21lIGFyZ3VtZW50cyBuZWdh
dGVkKS4gQW5kIHRoZSBiYWNrZW5kIG5vdyBlbWl0cyBmbWFkZCBvciBmbXN1YgppbnN0cnVjdGlv
bnMuCgpBbGV4YW5kcmEgSGFqa292YSA8YWhhamtvdmFAcmVkaGF0LmNvbT4gYWRkZWQgdGVzdHMg
YW5kIGZpeGVkIHVwIHRoZQppbXBsZW1lbnRhdGlvbiB0byBtYWtlIHN1cmUgcm91bmRpbmcgKGFu
ZCBzaWduKSBhcmUgY29ycmVjdCBub3cuCgpodHRwczovL2J1Z3Mua2RlLm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9NDI2MDE0Ci0tLQogVkVYL3ByaXYvZ3Vlc3RfYXJtNjRfdG9JUi5jICAgICAgICAgICB8
ICA1OCArKysrKysrKy0tLQogVkVYL3ByaXYvaG9zdF9hcm02NF9kZWZzLmMgICAgICAgICAgICB8
IDEzNiArKysrKysrKysrKysrKysrKysrKysrKysrLQogVkVYL3ByaXYvaG9zdF9hcm02NF9kZWZz
LmggICAgICAgICAgICB8ICAzMCArKysrKysKIFZFWC9wcml2L2hvc3RfYXJtNjRfaXNlbC5jICAg
ICAgICAgICAgfCAgMzkgKysrKysrKysKIG5vbmUvdGVzdHMvYXJtNjQvTWFrZWZpbGUuYW0gICAg
ICAgICAgfCAgIDYgKy0KIG5vbmUvdGVzdHMvYXJtNjQvZm1hZGRfc3ViLmMgICAgICAgICAgfCAg
OTggKysrKysrKysrKysrKysrKysrKwogbm9uZS90ZXN0cy9hcm02NC9mbWFkZF9zdWIuc3RkZXJy
LmV4cCB8ICAgMAogbm9uZS90ZXN0cy9hcm02NC9mbWFkZF9zdWIuc3Rkb3V0LmV4cCB8IDEyNSAr
KysrKysrKysrKysrKysrKysrKysrKwogbm9uZS90ZXN0cy9hcm02NC9mbWFkZF9zdWIudmd0ZXN0
ICAgICB8ICAgMyArCiA5IGZpbGVzIGNoYW5nZWQsIDQ3OSBpbnNlcnRpb25zKCspLCAxNiBkZWxl
dGlvbnMoLSkKIGNyZWF0ZSBtb2RlIDEwMDY0NCBub25lL3Rlc3RzL2FybTY0L2ZtYWRkX3N1Yi5j
CiBjcmVhdGUgbW9kZSAxMDA2NDQgbm9uZS90ZXN0cy9hcm02NC9mbWFkZF9zdWIuc3RkZXJyLmV4
cAogY3JlYXRlIG1vZGUgMTAwNjQ0IG5vbmUvdGVzdHMvYXJtNjQvZm1hZGRfc3ViLnN0ZG91dC5l
eHAKIGNyZWF0ZSBtb2RlIDEwMDY0NCBub25lL3Rlc3RzL2FybTY0L2ZtYWRkX3N1Yi52Z3Rlc3QK
CmRpZmYgLS1naXQgYS9WRVgvcHJpdi9ndWVzdF9hcm02NF90b0lSLmMgYi9WRVgvcHJpdi9ndWVz
dF9hcm02NF90b0lSLmMKaW5kZXggNTU2Yjg1YTZhLi5kMjQyZDQzYzAgMTAwNjQ0Ci0tLSBhL1ZF
WC9wcml2L2d1ZXN0X2FybTY0X3RvSVIuYworKysgYi9WRVgvcHJpdi9ndWVzdF9hcm02NF90b0lS
LmMKQEAgLTI4Niw2ICsyODYsMTIgQEAgc3RhdGljIElSRXhwciogdHJpb3AgKCBJUk9wIG9wLCBJ
UkV4cHIqIGExLCBJUkV4cHIqIGEyLCBJUkV4cHIqIGEzICkKICAgIHJldHVybiBJUkV4cHJfVHJp
b3Aob3AsIGExLCBhMiwgYTMpOwogfQogCitzdGF0aWMgSVJFeHByKiBxb3AgKCBJUk9wIG9wLCBJ
UkV4cHIqIGExLCBJUkV4cHIqIGEyLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgSVJF
eHByKiBhMywgSVJFeHByKiBhNCApCit7CisgICByZXR1cm4gSVJFeHByX1FvcChvcCwgYTEsIGEy
LCBhMywgYTQpOworfQorCiBzdGF0aWMgSVJFeHByKiBsb2FkTEUgKCBJUlR5cGUgdHksIElSRXhw
ciogYWRkciApCiB7CiAgICByZXR1cm4gSVJFeHByX0xvYWQoSWVuZF9MRSwgdHksIGFkZHIpOwpA
QCAtNTMyLDYgKzUzOCwyMiBAQCBzdGF0aWMgSVJPcCBta0FEREYgKCBJUlR5cGUgdHkgKSB7CiAg
ICB9CiB9CiAKK3N0YXRpYyBJUk9wIG1rRk1BRERGICggSVJUeXBlIHR5ICkgeworICAgc3dpdGNo
ICh0eSkgeworICAgICAgY2FzZSBJdHlfRjMyOiByZXR1cm4gSW9wX01BZGRGMzI7CisgICAgICBj
YXNlIEl0eV9GNjQ6IHJldHVybiBJb3BfTUFkZEY2NDsKKyAgICAgIGRlZmF1bHQ6IHZwYW5pYygi
bWtGTUFEREYiKTsKKyAgIH0KK30KKworc3RhdGljIElST3AgbWtGTVNVQkYgKCBJUlR5cGUgdHkg
KSB7CisgICBzd2l0Y2ggKHR5KSB7CisgICAgICBjYXNlIEl0eV9GMzI6IHJldHVybiBJb3BfTVN1
YkYzMjsKKyAgICAgIGNhc2UgSXR5X0Y2NDogcmV0dXJuIElvcF9NU3ViRjY0OworICAgICAgZGVm
YXVsdDogdnBhbmljKCJta0ZNU1VCRiIpOworICAgfQorfQorCiBzdGF0aWMgSVJPcCBta1NVQkYg
KCBJUlR5cGUgdHkgKSB7CiAgICBzd2l0Y2ggKHR5KSB7CiAgICAgICBjYXNlIEl0eV9GMzI6IHJl
dHVybiBJb3BfU3ViRjMyOwpAQCAtMTQzNjgsMzAgKzE0MzkwLDQwIEBAIEJvb2wgZGlzX0FkdlNJ
TURfZnBfZGF0YV9wcm9jXzNfc291cmNlKC8qTUJfT1VUKi9EaXNSZXN1bHQqIGRyZXMsIFVJbnQg
aW5zbikKICAgICAgICAgIHdoZXJlIEZ4PUR4IHdoZW4gc3o9MSwgRng9U3ggd2hlbiBzej0wCiAK
ICAgICAgICAgICAgICAgICAgIC0tLS0tU1BFQy0tLS0tLSAgICAtLS0tSU1QTC0tLS0KLSAgICAg
ICAgIGZtYWRkICAgICAgIGEgKyAgICBuICogbSAgICBhICsgbiAqIG0KLSAgICAgICAgIGZtc3Vi
ICAgICAgIGEgKyAoLW4pICogbSAgICBhIC0gbiAqIG0KLSAgICAgICAgIGZubWFkZCAgICgtYSkg
KyAoLW4pICogbSAgICAtKGEgKyBuICogbSkKLSAgICAgICAgIGZubXN1YiAgICgtYSkgKyAgICBu
ICogbSAgICAtKGEgLSBuICogbSkKKyAgICAgICAgIGZtYWRkICAgICAgIGEgKyAgICBuICogbSAg
ICBmbWFkZCAoYSwgbiwgbSkKKyAgICAgICAgIGZtc3ViICAgICAgIGEgKyAoLW4pICogbSAgICBm
bXN1YiAoYSwgbiwgbSkKKyAgICAgICAgIGZubWFkZCAgICgtYSkgKyAoLW4pICogbSAgICBmbWFk
ZCAoLWEsIC1uLCBtKQorICAgICAgICAgZm5tc3ViICAgKC1hKSArICAgIG4gKiBtICAgIGZtYWRk
ICgtYSwgbiwgbSkKKworICAgICAgICAgTm90ZSBJb3BfTUFkZC9TdWJGMzIvNjQgdGFrZSBhcmd1
bWVudHMgaW4gdGhlIG9yZGVyOiBybSwgTiwgTSwgQQogICAgICAgKi8KICAgICAgIEJvb2wgICAg
aXNEICAgPSAodHkgJiAxKSA9PSAxOwogICAgICAgVUludCAgICBpeCAgICA9IChiaXRPMSA8PCAx
KSB8IGJpdE8wOwogICAgICAgSVJUeXBlICBpdHkgICA9IGlzRCA/IEl0eV9GNjQgOiBJdHlfRjMy
OwotICAgICAgSVJPcCAgICBvcEFERCA9IG1rQURERihpdHkpOwotICAgICAgSVJPcCAgICBvcFNV
QiA9IG1rU1VCRihpdHkpOwotICAgICAgSVJPcCAgICBvcE1VTCA9IG1rTVVMRihpdHkpOworICAg
ICAgSVJPcCAgICBvcEZNQUREID0gbWtGTUFEREYoaXR5KTsKKyAgICAgIElST3AgICAgb3BGTVNV
QiA9IG1rRk1TVUJGKGl0eSk7CiAgICAgICBJUk9wICAgIG9wTkVHID0gbWtORUdGKGl0eSk7CiAg
ICAgICBJUlRlbXAgIHJlcyAgID0gbmV3VGVtcChpdHkpOwogICAgICAgSVJFeHByKiBlQSAgICA9
IGdldFFSZWdMTyhhYSwgaXR5KTsKICAgICAgIElSRXhwciogZU4gICAgPSBnZXRRUmVnTE8obm4s
IGl0eSk7CiAgICAgICBJUkV4cHIqIGVNICAgID0gZ2V0UVJlZ0xPKG1tLCBpdHkpOwogICAgICAg
SVJFeHByKiBybSAgICA9IG1rZXhwcihta19nZXRfSVJfcm91bmRpbmdfbW9kZSgpKTsKLSAgICAg
IElSRXhwciogZU54TSAgPSB0cmlvcChvcE1VTCwgcm0sIGVOLCBlTSk7CiAgICAgICBzd2l0Y2gg
KGl4KSB7Ci0gICAgICAgICBjYXNlIDA6ICBhc3NpZ24ocmVzLCB0cmlvcChvcEFERCwgcm0sIGVB
LCBlTnhNKSk7IGJyZWFrOwotICAgICAgICAgY2FzZSAxOiAgYXNzaWduKHJlcywgdHJpb3Aob3BT
VUIsIHJtLCBlQSwgZU54TSkpOyBicmVhazsKLSAgICAgICAgIGNhc2UgMjogIGFzc2lnbihyZXMs
IHVub3Aob3BORUcsIHRyaW9wKG9wQURELCBybSwgZUEsIGVOeE0pKSk7IGJyZWFrOwotICAgICAg
ICAgY2FzZSAzOiAgYXNzaWduKHJlcywgdW5vcChvcE5FRywgdHJpb3Aob3BTVUIsIHJtLCBlQSwg
ZU54TSkpKTsgYnJlYWs7Ci0gICAgICAgICBkZWZhdWx0OiB2YXNzZXJ0KDApOworICAgICAgICAg
Y2FzZSAwOiAvKiBGTUFERCAqLworICAgICAgICAgICAgYXNzaWduKHJlcywgcW9wKG9wRk1BREQs
IHJtLCBlTiwgZU0sIGVBKSk7CisgICAgICAgICAgICBicmVhazsKKyAgICAgICAgIGNhc2UgMTog
LyogRk1TVUIgKi8KKyAgICAgICAgICAgIGFzc2lnbihyZXMsIHFvcChvcEZNU1VCLCBybSwgZU4s
IGVNLCBlQSkpOworICAgICAgICAgICAgYnJlYWs7CisgICAgICAgICBjYXNlIDI6IC8qIEZOTUFE
RCAqLworICAgICAgICAgICAgYXNzaWduKHJlcywgcW9wKG9wRk1BREQsIHJtLCB1bm9wKG9wTkVH
LCBlTiksIGVNLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVub3Aob3BORUcsZUEpKSk7
CisgICAgICAgICAgICBicmVhazsKKyAgICAgICAgIGNhc2UgMzogLyogRk5NU1VCICovCisgICAg
ICAgICAgICBhc3NpZ24ocmVzLCBxb3Aob3BGTUFERCwgcm0sIGVOLCBlTSwgdW5vcChvcE5FRywg
ZUEpKSk7CisgICAgICAgICAgICBicmVhazsKKyAgICAgICAgIGRlZmF1bHQ6CisgICAgICAgICAg
ICB2YXNzZXJ0KDApOwogICAgICAgfQogICAgICAgcHV0UVJlZzEyOChkZCwgbWtWMTI4KDB4MDAw
MCkpOwogICAgICAgcHV0UVJlZ0xPKGRkLCBta2V4cHIocmVzKSk7CmRpZmYgLS1naXQgYS9WRVgv
cHJpdi9ob3N0X2FybTY0X2RlZnMuYyBiL1ZFWC9wcml2L2hvc3RfYXJtNjRfZGVmcy5jCmluZGV4
IGU0ZWY1Njk4Ni4uMTNiNDk3ZjYwIDEwMDY0NAotLS0gYS9WRVgvcHJpdi9ob3N0X2FybTY0X2Rl
ZnMuYworKysgYi9WRVgvcHJpdi9ob3N0X2FybTY0X2RlZnMuYwpAQCAtNTQ2LDYgKzU0NiwxNCBA
QCBzdGF0aWMgY29uc3QgSENoYXIqIHNob3dBUk02NEZwQmluT3AgKCBBUk02NEZwQmluT3Agb3Ag
KSB7CiAgICB9CiB9CiAKK3N0YXRpYyBjb25zdCBIQ2hhciogc2hvd0FSTTY0RnBUcmlPcCAoIEFS
TTY0RnBUcmlPcCBvcCApIHsKKyAgIHN3aXRjaCAob3ApIHsKKyAgICAgIGNhc2UgQVJNNjRmcHRf
Rk1BREQ6IHJldHVybiAiZm1hZGQiOworICAgICAgY2FzZSBBUk02NGZwdF9GTVNVQjogcmV0dXJu
ICJmbXN1YiI7CisgICAgICBkZWZhdWx0OiB2cGFuaWMoInNob3dBUk02NEZwVHJpT3AiKTsKKyAg
IH0KK30KKwogc3RhdGljIGNvbnN0IEhDaGFyKiBzaG93QVJNNjRGcFVuYXJ5T3AgKCBBUk02NEZw
VW5hcnlPcCBvcCApIHsKICAgIHN3aXRjaCAob3ApIHsKICAgICAgIGNhc2UgQVJNNjRmcHVfTkVH
OiAgIHJldHVybiAibmVnICAiOwpAQCAtMTE1NCw2ICsxMTYyLDI4IEBAIEFSTTY0SW5zdHIqIEFS
TTY0SW5zdHJfVkJpblMgKCBBUk02NEZwQmluT3Agb3AsCiAgICBpLT5BUk02NGluLlZCaW5TLmFy
Z1IgPSBhcmdSOwogICAgcmV0dXJuIGk7CiB9CitBUk02NEluc3RyKiBBUk02NEluc3RyX1ZUcmlE
ICggQVJNNjRGcFRyaU9wIG9wLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEhSZWcg
ZHN0LCBIUmVnIGFyZzEsIEhSZWcgYXJnMiwgSFJlZyBhcmczICkgeworICAgQVJNNjRJbnN0ciog
aSA9IExpYlZFWF9BbGxvY19pbmxpbmUoc2l6ZW9mKEFSTTY0SW5zdHIpKTsKKyAgIGktPnRhZyAg
ICAgICAgICAgICAgICA9IEFSTTY0aW5fVlRyaUQ7CisgICBpLT5BUk02NGluLlZUcmlELm9wICAg
PSBvcDsKKyAgIGktPkFSTTY0aW4uVlRyaUQuZHN0ICA9IGRzdDsKKyAgIGktPkFSTTY0aW4uVlRy
aUQuYXJnMSA9IGFyZzE7CisgICBpLT5BUk02NGluLlZUcmlELmFyZzIgPSBhcmcyOworICAgaS0+
QVJNNjRpbi5WVHJpRC5hcmczID0gYXJnMzsKKyAgIHJldHVybiBpOworfQorQVJNNjRJbnN0ciog
QVJNNjRJbnN0cl9WVHJpUyAoIEFSTTY0RnBUcmlPcCBvcCwKKyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBIUmVnIGRzdCwgSFJlZyBhcmcxLCBIUmVnIGFyZzIsIEhSZWcgYXJnMyApIHsK
KyAgIEFSTTY0SW5zdHIqIGkgPSBMaWJWRVhfQWxsb2NfaW5saW5lKHNpemVvZihBUk02NEluc3Ry
KSk7CisgICBpLT50YWcgICAgICAgICAgICAgICAgPSBBUk02NGluX1ZUcmlTOworICAgaS0+QVJN
NjRpbi5WVHJpUy5vcCAgID0gb3A7CisgICBpLT5BUk02NGluLlZUcmlTLmRzdCAgPSBkc3Q7Cisg
ICBpLT5BUk02NGluLlZUcmlTLmFyZzEgPSBhcmcxOworICAgaS0+QVJNNjRpbi5WVHJpUy5hcmcy
ID0gYXJnMjsKKyAgIGktPkFSTTY0aW4uVlRyaVMuYXJnMyA9IGFyZzM7CisgICByZXR1cm4gaTsK
K30KIEFSTTY0SW5zdHIqIEFSTTY0SW5zdHJfVkNtcEQgKCBIUmVnIGFyZ0wsIEhSZWcgYXJnUiAp
IHsKICAgIEFSTTY0SW5zdHIqIGkgPSBMaWJWRVhfQWxsb2NfaW5saW5lKHNpemVvZihBUk02NElu
c3RyKSk7CiAgICBpLT50YWcgICAgICAgICAgICAgICAgPSBBUk02NGluX1ZDbXBEOwpAQCAtMTc1
Niw2ICsxNzg2LDI2IEBAIHZvaWQgcHBBUk02NEluc3RyICggY29uc3QgQVJNNjRJbnN0ciogaSAp
IHsKICAgICAgICAgIHZleF9wcmludGYoIiwgIik7CiAgICAgICAgICBwcEhSZWdBUk02NGFzU3Jl
ZyhpLT5BUk02NGluLlZCaW5TLmFyZ1IpOwogICAgICAgICAgcmV0dXJuOworICAgICAgY2FzZSBB
Uk02NGluX1ZUcmlEOgorICAgICAgICAgdmV4X3ByaW50ZigiZiVzICAgIiwgc2hvd0FSTTY0RnBU
cmlPcChpLT5BUk02NGluLlZUcmlELm9wKSk7CisgICAgICAgICBwcEhSZWdBUk02NChpLT5BUk02
NGluLlZUcmlELmRzdCk7CisgICAgICAgICB2ZXhfcHJpbnRmKCIsICIpOworICAgICAgICAgcHBI
UmVnQVJNNjQoaS0+QVJNNjRpbi5WVHJpRC5hcmcxKTsKKyAgICAgICAgIHZleF9wcmludGYoIiwg
Iik7CisgICAgICAgICBwcEhSZWdBUk02NChpLT5BUk02NGluLlZUcmlELmFyZzIpOworICAgICAg
ICAgdmV4X3ByaW50ZigiLCAiKTsKKyAgICAgICAgIHBwSFJlZ0FSTTY0KGktPkFSTTY0aW4uVlRy
aUQuYXJnMyk7CisgICAgICAgICByZXR1cm47CisgICAgICBjYXNlIEFSTTY0aW5fVlRyaVM6Cisg
ICAgICAgICB2ZXhfcHJpbnRmKCJmJXMgICAiLCBzaG93QVJNNjRGcFRyaU9wKGktPkFSTTY0aW4u
VlRyaVMub3ApKTsKKyAgICAgICAgIHBwSFJlZ0FSTTY0YXNTcmVnKGktPkFSTTY0aW4uVlRyaVMu
ZHN0KTsKKyAgICAgICAgIHZleF9wcmludGYoIiwgIik7CisgICAgICAgICBwcEhSZWdBUk02NGFz
U3JlZyhpLT5BUk02NGluLlZUcmlTLmFyZzEpOworICAgICAgICAgdmV4X3ByaW50ZigiLCAiKTsK
KyAgICAgICAgIHBwSFJlZ0FSTTY0YXNTcmVnKGktPkFSTTY0aW4uVlRyaVMuYXJnMik7CisgICAg
ICAgICB2ZXhfcHJpbnRmKCIsICIpOworICAgICAgICAgcHBIUmVnQVJNNjRhc1NyZWcoaS0+QVJN
NjRpbi5WVHJpUy5hcmczKTsKKyAgICAgICAgIHJldHVybjsKICAgICAgIGNhc2UgQVJNNjRpbl9W
Q21wRDoKICAgICAgICAgIHZleF9wcmludGYoImZjbXAgICAiKTsKICAgICAgICAgIHBwSFJlZ0FS
TTY0KGktPkFSTTY0aW4uVkNtcEQuYXJnTCk7CkBAIC0yMTk3LDYgKzIyNDcsMTggQEAgdm9pZCBn
ZXRSZWdVc2FnZV9BUk02NEluc3RyICggSFJlZ1VzYWdlKiB1LCBjb25zdCBBUk02NEluc3RyKiBp
LCBCb29sIG1vZGU2NCApCiAgICAgICAgICBhZGRIUmVnVXNlKHUsIEhSbVJlYWQsIGktPkFSTTY0
aW4uVkJpblMuYXJnTCk7CiAgICAgICAgICBhZGRIUmVnVXNlKHUsIEhSbVJlYWQsIGktPkFSTTY0
aW4uVkJpblMuYXJnUik7CiAgICAgICAgICByZXR1cm47CisgICAgICBjYXNlIEFSTTY0aW5fVlRy
aUQ6CisgICAgICAgICBhZGRIUmVnVXNlKHUsIEhSbVdyaXRlLCBpLT5BUk02NGluLlZUcmlELmRz
dCk7CisgICAgICAgICBhZGRIUmVnVXNlKHUsIEhSbVJlYWQsIGktPkFSTTY0aW4uVlRyaUQuYXJn
MSk7CisgICAgICAgICBhZGRIUmVnVXNlKHUsIEhSbVJlYWQsIGktPkFSTTY0aW4uVlRyaUQuYXJn
Mik7CisgICAgICAgICBhZGRIUmVnVXNlKHUsIEhSbVJlYWQsIGktPkFSTTY0aW4uVlRyaUQuYXJn
Myk7CisgICAgICAgICByZXR1cm47CisgICAgICBjYXNlIEFSTTY0aW5fVlRyaVM6CisgICAgICAg
ICBhZGRIUmVnVXNlKHUsIEhSbVdyaXRlLCBpLT5BUk02NGluLlZUcmlTLmRzdCk7CisgICAgICAg
ICBhZGRIUmVnVXNlKHUsIEhSbVJlYWQsIGktPkFSTTY0aW4uVlRyaVMuYXJnMSk7CisgICAgICAg
ICBhZGRIUmVnVXNlKHUsIEhSbVJlYWQsIGktPkFSTTY0aW4uVlRyaVMuYXJnMik7CisgICAgICAg
ICBhZGRIUmVnVXNlKHUsIEhSbVJlYWQsIGktPkFSTTY0aW4uVlRyaVMuYXJnMyk7CisgICAgICAg
ICByZXR1cm47CiAgICAgICBjYXNlIEFSTTY0aW5fVkNtcEQ6CiAgICAgICAgICBhZGRIUmVnVXNl
KHUsIEhSbVJlYWQsIGktPkFSTTY0aW4uVkNtcEQuYXJnTCk7CiAgICAgICAgICBhZGRIUmVnVXNl
KHUsIEhSbVJlYWQsIGktPkFSTTY0aW4uVkNtcEQuYXJnUik7CkBAIC0yNDU0LDYgKzI1MTYsMTgg
QEAgdm9pZCBtYXBSZWdzX0FSTTY0SW5zdHIgKCBIUmVnUmVtYXAqIG0sIEFSTTY0SW5zdHIqIGks
IEJvb2wgbW9kZTY0ICkKICAgICAgICAgIGktPkFSTTY0aW4uVkJpblMuYXJnTCA9IGxvb2t1cEhS
ZWdSZW1hcChtLCBpLT5BUk02NGluLlZCaW5TLmFyZ0wpOwogICAgICAgICAgaS0+QVJNNjRpbi5W
QmluUy5hcmdSID0gbG9va3VwSFJlZ1JlbWFwKG0sIGktPkFSTTY0aW4uVkJpblMuYXJnUik7CiAg
ICAgICAgICByZXR1cm47CisgICAgICBjYXNlIEFSTTY0aW5fVlRyaUQ6CisgICAgICAgICBpLT5B
Uk02NGluLlZUcmlELmRzdCAgPSBsb29rdXBIUmVnUmVtYXAobSwgaS0+QVJNNjRpbi5WVHJpRC5k
c3QpOworICAgICAgICAgaS0+QVJNNjRpbi5WVHJpRC5hcmcxID0gbG9va3VwSFJlZ1JlbWFwKG0s
IGktPkFSTTY0aW4uVlRyaUQuYXJnMSk7CisgICAgICAgICBpLT5BUk02NGluLlZUcmlELmFyZzIg
PSBsb29rdXBIUmVnUmVtYXAobSwgaS0+QVJNNjRpbi5WVHJpRC5hcmcyKTsKKyAgICAgICAgIGkt
PkFSTTY0aW4uVlRyaUQuYXJnMyA9IGxvb2t1cEhSZWdSZW1hcChtLCBpLT5BUk02NGluLlZUcmlE
LmFyZzMpOworICAgICAgICAgcmV0dXJuOworICAgICAgY2FzZSBBUk02NGluX1ZUcmlTOgorICAg
ICAgICAgaS0+QVJNNjRpbi5WVHJpUy5kc3QgID0gbG9va3VwSFJlZ1JlbWFwKG0sIGktPkFSTTY0
aW4uVlRyaVMuZHN0KTsKKyAgICAgICAgIGktPkFSTTY0aW4uVlRyaVMuYXJnMSA9IGxvb2t1cEhS
ZWdSZW1hcChtLCBpLT5BUk02NGluLlZUcmlTLmFyZzEpOworICAgICAgICAgaS0+QVJNNjRpbi5W
VHJpUy5hcmcyID0gbG9va3VwSFJlZ1JlbWFwKG0sIGktPkFSTTY0aW4uVlRyaVMuYXJnMik7Cisg
ICAgICAgICBpLT5BUk02NGluLlZUcmlTLmFyZzMgPSBsb29rdXBIUmVnUmVtYXAobSwgaS0+QVJN
NjRpbi5WVHJpUy5hcmczKTsKKyAgICAgICAgIHJldHVybjsKICAgICAgIGNhc2UgQVJNNjRpbl9W
Q21wRDoKICAgICAgICAgIGktPkFSTTY0aW4uVkNtcEQuYXJnTCA9IGxvb2t1cEhSZWdSZW1hcCht
LCBpLT5BUk02NGluLlZDbXBELmFyZ0wpOwogICAgICAgICAgaS0+QVJNNjRpbi5WQ21wRC5hcmdS
ID0gbG9va3VwSFJlZ1JlbWFwKG0sIGktPkFSTTY0aW4uVkNtcEQuYXJnUik7CkBAIC0yODEyLDcg
KzI4ODYsOCBAQCBzdGF0aWMgaW5saW5lIFVJbnQgcXJlZ0VuYyAoIEhSZWcgciApCiAjZGVmaW5l
IFgxMTExMDAxMSAgQklUUzgoMSwxLDEsMSwwLDAsMSwxKQogI2RlZmluZSBYMTExMTAxMDEgIEJJ
VFM4KDEsMSwxLDEsMCwxLDAsMSkKICNkZWZpbmUgWDExMTEwMTExICBCSVRTOCgxLDEsMSwxLDAs
MSwxLDEpCi0KKyNkZWZpbmUgWDExMTExMDAwICBCSVRTOCgxLDEsMSwxLDEsMCwwLDApCisjZGVm
aW5lIFgxMTExMTAxMCAgQklUUzgoMSwxLDEsMSwxLDAsMSwwKQogCiAvKiAtLS0gNCBmaWVsZHMg
LS0tICovCiAKQEAgLTI5NzIsNiArMzA0NywyNyBAQCBzdGF0aWMgaW5saW5lIFVJbnQgWF8zXzZf
MV82XzZfNV81ICggVUludCBmMSwgVUludCBmMiwgVUludCBmMywKIH0KIAogCitzdGF0aWMgaW5s
aW5lIFVJbnQgWF8zXzhfNV8xXzVfNV81ICggVUludCBmMSwgVUludCBmMiwgVUludCBmMywgVUlu
dCBmNCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBVSW50IGY1LCBVSW50
IGY2LCBVSW50IGY3ICkgeworICAgdmFzc2VydCgzKzgrNSsxKzUrNSs1ID09IDMyKTsKKyAgIHZh
c3NlcnQoZjEgPCAoMTw8MykpOworICAgdmFzc2VydChmMiA8ICgxPDw4KSk7CisgICB2YXNzZXJ0
KGYzIDwgKDE8PDUpKTsKKyAgIHZhc3NlcnQoZjQgPCAoMTw8MSkpOworICAgdmFzc2VydChmNSA8
ICgxPDw1KSk7CisgICB2YXNzZXJ0KGY2IDwgKDE8PDUpKTsKKyAgIHZhc3NlcnQoZjcgPCAoMTw8
NSkpOworICAgVUludCB3ID0gMDsKKyAgIHcgPSAodyA8PCAzKSB8IGYxOworICAgdyA9ICh3IDw8
IDgpIHwgZjI7CisgICB3ID0gKHcgPDwgNSkgfCBmMzsKKyAgIHcgPSAodyA8PCAxKSB8IGY0Owor
ICAgdyA9ICh3IDw8IDUpIHwgZjU7CisgICB3ID0gKHcgPDwgNSkgfCBmNjsKKyAgIHcgPSAodyA8
PCA1KSB8IGY3OworICAgcmV0dXJuIHc7Cit9CisKIC8vWlogI2RlZmluZSBYMDAwMCAgQklUUzQo
MCwwLDAsMCkKIC8vWlogI2RlZmluZSBYMDAwMSAgQklUUzQoMCwwLDAsMSkKIC8vWlogI2RlZmlu
ZSBYMDAxMCAgQklUUzQoMCwwLDEsMCkKQEAgLTQzMzksNiArNDQzNSw0NCBAQCBJbnQgZW1pdF9B
Uk02NEluc3RyICggLypNQl9NT0QqL0Jvb2wqIGlzX3Byb2ZJbmMsCiAgICAgICAgICAgICA9IFhf
M184XzVfNl81XzUoWDAwMCwgWDExMTEwMDAxLCBzTSwgKGIxNTEyIDw8IDIpIHwgWDEwLCBzTiwg
c0QpOwogICAgICAgICAgZ290byBkb25lOwogICAgICAgfQorICAgICAgY2FzZSBBUk02NGluX1ZU
cmlEOiB7CisgICAgICAgICAvKiAzMSAgICAgICAgICAgIDIwIDE1IDE0IDkgNAorICAgICAgICAg
ICAgMDAwIDExMTExIDAxMCBtICAwICBhICBuIGQgRk1BREQgIERkLERuLERtLERhCisgICAgICAg
ICAgICAtLS0tLS0tLS0tLS0tLS0tIDEgIC0tLS0tLSBGTVNVQiAgLS0tLS0tLS0tLS0KKyAgICAg
ICAgICovCisgICAgICAgICBVSW50IGREID0gZHJlZ0VuYyhpLT5BUk02NGluLlZUcmlELmRzdCk7
CisgICAgICAgICBVSW50IGROID0gZHJlZ0VuYyhpLT5BUk02NGluLlZUcmlELmFyZzEpOworICAg
ICAgICAgVUludCBkTSA9IGRyZWdFbmMoaS0+QVJNNjRpbi5WVHJpRC5hcmcyKTsKKyAgICAgICAg
IFVJbnQgZEEgPSBkcmVnRW5jKGktPkFSTTY0aW4uVlRyaUQuYXJnMyk7CisgICAgICAgICBVSW50
IGIxNSA9IDI7IC8qIGltcG9zc2libGUgKi8KKyAgICAgICAgIHN3aXRjaCAoaS0+QVJNNjRpbi5W
VHJpRC5vcCkgeworICAgICAgICAgICAgY2FzZSBBUk02NGZwdF9GTUFERDogYjE1ID0gMDsgYnJl
YWs7CisgICAgICAgICAgICBjYXNlIEFSTTY0ZnB0X0ZNU1VCOiBiMTUgPSAxOyBicmVhazsKKyAg
ICAgICAgICAgIGRlZmF1bHQ6IGdvdG8gYmFkOworICAgICAgICAgfQorICAgICAgICAgdmFzc2Vy
dChiMTUgPCAyKTsKKyAgICAgICAgICpwKysgPSBYXzNfOF81XzFfNV81XzUoWDAwMCwgWDExMTEx
MDEwLCBkTSwgYjE1LCBkQSwgZE4sIGREKTsKKyAgICAgICAgIGdvdG8gZG9uZTsKKyAgICAgIH0K
KyAgICAgIGNhc2UgQVJNNjRpbl9WVHJpUzogeworICAgICAgICAgLyogMzEgICAgICAgICAgICAy
MCAxNSAxNCA5IDQKKyAgICAgICAgICAgIDAwMCAxMTExMSAwMDAgbSAgMCAgYSAgbiBkIEZNQURE
ICBEZCxEbixEbSxEYQorICAgICAgICAgICAgLS0tLS0tLS0tLS0tLS0tLSAxICAtLS0tLS0gRk1T
VUIgIC0tLS0tLS0tLS0tCisgICAgICAgICAqLworICAgICAgICAgVUludCBkRCA9IGRyZWdFbmMo
aS0+QVJNNjRpbi5WVHJpRC5kc3QpOworICAgICAgICAgVUludCBkTiA9IGRyZWdFbmMoaS0+QVJN
NjRpbi5WVHJpRC5hcmcxKTsKKyAgICAgICAgIFVJbnQgZE0gPSBkcmVnRW5jKGktPkFSTTY0aW4u
VlRyaUQuYXJnMik7CisgICAgICAgICBVSW50IGRBID0gZHJlZ0VuYyhpLT5BUk02NGluLlZUcmlE
LmFyZzMpOworICAgICAgICAgVUludCBiMTUgPSAyOyAvKiBpbXBvc3NpYmxlICovCisgICAgICAg
ICBzd2l0Y2ggKGktPkFSTTY0aW4uVlRyaUQub3ApIHsKKyAgICAgICAgICAgIGNhc2UgQVJNNjRm
cHRfRk1BREQ6IGIxNSA9IDA7IGJyZWFrOworICAgICAgICAgICAgY2FzZSBBUk02NGZwdF9GTVNV
QjogYjE1ID0gMTsgYnJlYWs7CisgICAgICAgICAgICBkZWZhdWx0OiBnb3RvIGJhZDsKKyAgICAg
ICAgIH0KKyAgICAgICAgIHZhc3NlcnQoYjE1IDwgMik7CisgICAgICAgICAqcCsrID0gWF8zXzhf
NV8xXzVfNV81KFgwMDAsIFgxMTExMTAwMCwgZE0sIGIxNSwgZEEsIGROLCBkRCk7CisgICAgICAg
ICBnb3RvIGRvbmU7CisgICAgICB9CiAgICAgICBjYXNlIEFSTTY0aW5fVkNtcEQ6IHsKICAgICAg
ICAgIC8qIDAwMCAxMTExMCAwMSAxIG0gMDAgMTAwMCBuIDAwIDAwMCAgRkNNUCBEbiwgRG0gKi8K
ICAgICAgICAgIFVJbnQgZE4gPSBkcmVnRW5jKGktPkFSTTY0aW4uVkNtcEQuYXJnTCk7CmRpZmYg
LS1naXQgYS9WRVgvcHJpdi9ob3N0X2FybTY0X2RlZnMuaCBiL1ZFWC9wcml2L2hvc3RfYXJtNjRf
ZGVmcy5oCmluZGV4IDA1ZGJhN2FiOC4uNWE4MjU2NGNlIDEwMDY0NAotLS0gYS9WRVgvcHJpdi9o
b3N0X2FybTY0X2RlZnMuaAorKysgYi9WRVgvcHJpdi9ob3N0X2FybTY0X2RlZnMuaApAQCAtMjg5
LDYgKzI4OSwxNCBAQCB0eXBlZGVmCiAgICB9CiAgICBBUk02NEZwQmluT3A7CiAKK3R5cGVkZWYK
KyAgIGVudW0geworICAgICAgQVJNNjRmcHRfRk1BREQ9MTA1LAorICAgICAgQVJNNjRmcHRfRk1T
VUIsCisgICAgICBBUk02NGZwdF9JTlZBTElECisgICB9CisgICBBUk02NEZwVHJpT3A7CisKIHR5
cGVkZWYKICAgIGVudW0gewogICAgICAgQVJNNjRmcHVfTkVHPTExMCwKQEAgLTQ5OCw2ICs1MDYs
OCBAQCB0eXBlZGVmCiAgICAgICBBUk02NGluX1ZVbmFyeVMsCiAgICAgICBBUk02NGluX1ZCaW5E
LAogICAgICAgQVJNNjRpbl9WQmluUywKKyAgICAgIEFSTTY0aW5fVlRyaUQsCisgICAgICBBUk02
NGluX1ZUcmlTLAogICAgICAgQVJNNjRpbl9WQ21wRCwKICAgICAgIEFSTTY0aW5fVkNtcFMsCiAg
ICAgICBBUk02NGluX1ZGQ1NlbCwKQEAgLTc5OSw2ICs4MDksMjIgQEAgdHlwZWRlZgogICAgICAg
ICAgICAgSFJlZyAgICAgICAgIGFyZ0w7CiAgICAgICAgICAgICBIUmVnICAgICAgICAgYXJnUjsK
ICAgICAgICAgIH0gVkJpblM7CisgICAgICAgICAvKiA2NC1iaXQgRlAgdGVybmFyeSBhcml0aG1l
dGljICovCisgICAgICAgICBzdHJ1Y3QgeworICAgICAgICAgICAgQVJNNjRGcFRyaU9wIG9wOwor
ICAgICAgICAgICAgSFJlZyAgICAgICAgIGRzdDsKKyAgICAgICAgICAgIEhSZWcgICAgICAgICBh
cmcxOworICAgICAgICAgICAgSFJlZyAgICAgICAgIGFyZzI7CisgICAgICAgICAgICBIUmVnICAg
ICAgICAgYXJnMzsKKyAgICAgICAgIH0gVlRyaUQ7CisgICAgICAgICAvKiAzMi1iaXQgRlAgdGVy
bmFyeSBhcml0aG1ldGljICovCisgICAgICAgICBzdHJ1Y3QgeworICAgICAgICAgICAgQVJNNjRG
cFRyaU9wIG9wOworICAgICAgICAgICAgSFJlZyAgICAgICAgIGRzdDsKKyAgICAgICAgICAgIEhS
ZWcgICAgICAgICBhcmcxOworICAgICAgICAgICAgSFJlZyAgICAgICAgIGFyZzI7CisgICAgICAg
ICAgICBIUmVnICAgICAgICAgYXJnMzsKKyAgICAgICAgIH0gVlRyaVM7CiAgICAgICAgICAvKiA2
NC1iaXQgRlAgY29tcGFyZSAqLwogICAgICAgICAgc3RydWN0IHsKICAgICAgICAgICAgIEhSZWcg
YXJnTDsKQEAgLTk3MCw2ICs5OTYsMTAgQEAgZXh0ZXJuIEFSTTY0SW5zdHIqIEFSTTY0SW5zdHJf
VlVuYXJ5RCAoIEFSTTY0RnBVbmFyeU9wIG9wLCBIUmVnIGRzdCwgSFJlZyBzcmMgKTsKIGV4dGVy
biBBUk02NEluc3RyKiBBUk02NEluc3RyX1ZVbmFyeVMgKCBBUk02NEZwVW5hcnlPcCBvcCwgSFJl
ZyBkc3QsIEhSZWcgc3JjICk7CiBleHRlcm4gQVJNNjRJbnN0ciogQVJNNjRJbnN0cl9WQmluRCAg
ICggQVJNNjRGcEJpbk9wIG9wLCBIUmVnLCBIUmVnLCBIUmVnICk7CiBleHRlcm4gQVJNNjRJbnN0
ciogQVJNNjRJbnN0cl9WQmluUyAgICggQVJNNjRGcEJpbk9wIG9wLCBIUmVnLCBIUmVnLCBIUmVn
ICk7CitleHRlcm4gQVJNNjRJbnN0ciogQVJNNjRJbnN0cl9WVHJpRCAgICggQVJNNjRGcFRyaU9w
IG9wLCBIUmVnIGRzdCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBI
UmVnLCBIUmVnLCBIUmVnICk7CitleHRlcm4gQVJNNjRJbnN0ciogQVJNNjRJbnN0cl9WVHJpUyAg
ICggQVJNNjRGcFRyaU9wIG9wLCBIUmVnIGRzdCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBIUmVnLCBIUmVnLCBIUmVnICk7CiBleHRlcm4gQVJNNjRJbnN0ciogQVJN
NjRJbnN0cl9WQ21wRCAgICggSFJlZyBhcmdMLCBIUmVnIGFyZ1IgKTsKIGV4dGVybiBBUk02NElu
c3RyKiBBUk02NEluc3RyX1ZDbXBTICAgKCBIUmVnIGFyZ0wsIEhSZWcgYXJnUiApOwogZXh0ZXJu
IEFSTTY0SW5zdHIqIEFSTTY0SW5zdHJfVkZDU2VsICAoIEhSZWcgZHN0LCBIUmVnIGFyZ0wsIEhS
ZWcgYXJnUiwKZGlmZiAtLWdpdCBhL1ZFWC9wcml2L2hvc3RfYXJtNjRfaXNlbC5jIGIvVkVYL3By
aXYvaG9zdF9hcm02NF9pc2VsLmMKaW5kZXggMmYxOWVhYjgxLi5kYTEyMTg3MTUgMTAwNjQ0Ci0t
LSBhL1ZFWC9wcml2L2hvc3RfYXJtNjRfaXNlbC5jCisrKyBiL1ZFWC9wcml2L2hvc3RfYXJtNjRf
aXNlbC5jCkBAIC0zMjU1LDYgKzMyNTUsMjUgQEAgc3RhdGljIEhSZWcgaXNlbERibEV4cHJfd3Jr
ICggSVNlbEVudiogZW52LCBJUkV4cHIqIGUgKQogICAgICAgfQogICAgfQogCisgICBpZiAoZS0+
dGFnID09IElleF9Rb3ApIHsKKyAgICAgIElSUW9wKiAgICAgICBxb3AgPSBlLT5JZXguUW9wLmRl
dGFpbHM7CisgICAgICBBUk02NEZwVHJpT3AgdHJpb3AgPSBBUk02NGZwdF9JTlZBTElEOworICAg
ICAgc3dpdGNoIChxb3AtPm9wKSB7CisgICAgICAgICBjYXNlIElvcF9NQWRkRjY0OiB0cmlvcCA9
IEFSTTY0ZnB0X0ZNQUREOyBicmVhazsKKyAgICAgICAgIGNhc2UgSW9wX01TdWJGNjQ6IHRyaW9w
ID0gQVJNNjRmcHRfRk1TVUI7IGJyZWFrOworICAgICAgICAgZGVmYXVsdDogYnJlYWs7CisgICAg
ICB9CisgICAgICBpZiAodHJpb3AgIT0gQVJNNjRmcHRfSU5WQUxJRCkgeworICAgICAgICAgSFJl
ZyBOID0gaXNlbERibEV4cHIoZW52LCBxb3AtPmFyZzIpOworICAgICAgICAgSFJlZyBNID0gaXNl
bERibEV4cHIoZW52LCBxb3AtPmFyZzMpOworICAgICAgICAgSFJlZyBBID0gaXNlbERibEV4cHIo
ZW52LCBxb3AtPmFyZzQpOworICAgICAgICAgSFJlZyBkc3QgID0gbmV3VlJlZ0QoZW52KTsKKyAg
ICAgICAgIHNldF9GUENSX3JvdW5kaW5nX21vZGUoZW52LCBxb3AtPmFyZzEpOworICAgICAgICAg
YWRkSW5zdHIoZW52LCBBUk02NEluc3RyX1ZUcmlEKHRyaW9wLCBkc3QsIE4sIE0sIEEpKTsKKyAg
ICAgICAgIHJldHVybiBkc3Q7CisgICAgICB9CisgICB9CisKICAgIGlmIChlLT50YWcgPT0gSWV4
X0lURSkgewogICAgICAgLyogSVRFKGNjZXhwciwgaWZ0cnVlLCBpZmZhbHNlKSAqLwogICAgICAg
QVJNNjRDb25kQ29kZSBjYzsKQEAgLTM0NTAsNiArMzQ2OSwyNiBAQCBzdGF0aWMgSFJlZyBpc2Vs
Rmx0RXhwcl93cmsgKCBJU2VsRW52KiBlbnYsIElSRXhwciogZSApCiAgICAgICByZXR1cm4gZHN0
OwogICAgfQogCisgICBpZiAoZS0+dGFnID09IElleF9Rb3ApIHsKKyAgICAgIElSUW9wKiAgICAg
ICBxb3AgPSBlLT5JZXguUW9wLmRldGFpbHM7CisgICAgICBBUk02NEZwVHJpT3AgdHJpb3AgPSBB
Uk02NGZwdF9JTlZBTElEOworICAgICAgc3dpdGNoIChxb3AtPm9wKSB7CisgICAgICAgICBjYXNl
IElvcF9NQWRkRjMyOiB0cmlvcCA9IEFSTTY0ZnB0X0ZNQUREOyBicmVhazsKKyAgICAgICAgIGNh
c2UgSW9wX01TdWJGMzI6IHRyaW9wID0gQVJNNjRmcHRfRk1TVUI7IGJyZWFrOworICAgICAgZGVm
YXVsdDogYnJlYWs7CisgICAgICB9CisKKyAgICAgIGlmICh0cmlvcCAhPSBBUk02NGZwdF9JTlZB
TElEKSB7CisgICAgICAgICBIUmVnIE4gPSBpc2VsRmx0RXhwcihlbnYsIHFvcC0+YXJnMik7Cisg
ICAgICAgICBIUmVnIE0gPSBpc2VsRmx0RXhwcihlbnYsIHFvcC0+YXJnMyk7CisgICAgICAgICBI
UmVnIEEgPSBpc2VsRmx0RXhwcihlbnYsIHFvcC0+YXJnNCk7CisgICAgICAgICBIUmVnIGRzdCAg
PSBuZXdWUmVnRChlbnYpOworICAgICAgICAgc2V0X0ZQQ1Jfcm91bmRpbmdfbW9kZShlbnYsIHFv
cC0+YXJnMSk7CisgICAgICAgICBhZGRJbnN0cihlbnYsIEFSTTY0SW5zdHJfVlRyaVModHJpb3As
IGRzdCwgTiwgTSwgQSkpOworICAgICAgICAgcmV0dXJuIGRzdDsKKyAgICAgIH0KKyAgIH0KKwog
ICAgcHBJUkV4cHIoZSk7CiAgICB2cGFuaWMoImlzZWxGbHRFeHByX3dyayIpOwogfQpkaWZmIC0t
Z2l0IGEvbm9uZS90ZXN0cy9hcm02NC9NYWtlZmlsZS5hbSBiL25vbmUvdGVzdHMvYXJtNjQvTWFr
ZWZpbGUuYW0KaW5kZXggN2IzZWJiZGNhLi40ZWNhYjM2YWQgMTAwNjQ0Ci0tLSBhL25vbmUvdGVz
dHMvYXJtNjQvTWFrZWZpbGUuYW0KKysrIGIvbm9uZS90ZXN0cy9hcm02NC9NYWtlZmlsZS5hbQpA
QCAtMTAsMTQgKzEwLDE2IEBAIEVYVFJBX0RJU1QgPSBcCiAJaW50ZWdlci5zdGRvdXQuZXhwIGlu
dGVnZXIuc3RkZXJyLmV4cCBpbnRlZ2VyLnZndGVzdCBcCiAJbWVtb3J5LnN0ZG91dC5leHAgbWVt
b3J5LnN0ZGVyci5leHAgbWVtb3J5LnZndGVzdCBcCiAJYXRvbWljc192ODEuc3Rkb3V0LmV4cCBh
dG9taWNzX3Y4MS5zdGRlcnIuZXhwIGF0b21pY3NfdjgxLnZndGVzdCBcCi0Jc2ltZF92ODEuc3Rk
b3V0LmV4cCBzaW1kX3Y4MS5zdGRlcnIuZXhwIHNpbWRfdjgxLnZndGVzdAorCXNpbWRfdjgxLnN0
ZG91dC5leHAgc2ltZF92ODEuc3RkZXJyLmV4cCBzaW1kX3Y4MS52Z3Rlc3QgXAorICAgICAgICBm
bWFkZF9zdWIuc3Rkb3V0LmV4cCBmbWFkZF9zdWIuc3RkZXJyLmV4cCBmbWFkZF9zdWIudmd0ZXN0
CiAKIGNoZWNrX1BST0dSQU1TID0gXAogCWFsbGV4ZWMgXAogICAgICAgICBjdnRmX2ltbSBcCiAJ
ZnBfYW5kX3NpbWQgXAogCWludGVnZXIgXAotCW1lbW9yeQorCW1lbW9yeSBcCisJZm1hZGRfc3Vi
CiAKIGlmIEJVSUxEX0FSTVY4X0NSQ19URVNUUwogICBjaGVja19QUk9HUkFNUyArPSBjcmMzMgpk
aWZmIC0tZ2l0IGEvbm9uZS90ZXN0cy9hcm02NC9mbWFkZF9zdWIuYyBiL25vbmUvdGVzdHMvYXJt
NjQvZm1hZGRfc3ViLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwLi5kY2Fi
MjJkMWIKLS0tIC9kZXYvbnVsbAorKysgYi9ub25lL3Rlc3RzL2FybTY0L2ZtYWRkX3N1Yi5jCkBA
IC0wLDAgKzEsOTggQEAKKyNpbmNsdWRlIDxtYXRoLmg+CisjaW5jbHVkZSA8c3RkaW50Lmg+Cisj
aW5jbHVkZSA8c3RkaW8uaD4KKyNpbmNsdWRlIDxzdGRsaWIuaD4KKworI2RlZmluZSBDT1VOVCA1
CisKK3N0YXRpYyB2b2lkCitwcmludF9mbG9hdChjb25zdCBjaGFyICppZGVudCwgZmxvYXQgeCkK
K3sKKyAgdW5pb24KKyAgeworICAgIGZsb2F0IGY7CisgICAgdWludDMyX3QgaTsKKyAgfSB1Owor
CisgIHUuZiA9IHg7CisgIHByaW50ZigiJXMgPSAlMDh4ID0gJS4xN2dcbiIsIGlkZW50LCB1Lmks
IHgpOworfQorCitzdGF0aWMgdm9pZAorcHJpbnRfZG91YmxlKGNvbnN0IGNoYXIgKmlkZW50LCBk
b3VibGUgeCkKK3sKKyAgdW5pb24KKyAgeworICAgIGRvdWJsZSBmOworICAgIHVpbnQ2NF90IGk7
CisgIH0gdTsKKworICB1LmYgPSB4OworICBwcmludGYoIiVzID0gJTAxNmx4ID0gJS4xN2dcbiIs
IGlkZW50LCB1LmksIHgpOworfQorCitpbnQKK21haW4oaW50IGFyZ2MsIGNoYXIgKiphcmd2KQor
eworICBmbG9hdCB4W10gPSB7IDU1LCAgICAgICAgICAgICAgICAgIDAuOTgwNzYxNzE4NzQ5OTk5
OTYsIDAsIDEsIDB4RkZGRkZGRkYgfSA7CisgIGZsb2F0IHlbXSA9IHsgMC42OTMxNDcxODA1NTk5
NDUyOSwgMS4wMTU2MjUsICAgICAgICAgICAgMCwgMSwgMHhGRkZGRkZGRiB9OworICBmbG9hdCB6
W10gPSB7IDM4LjEyMzA5NDkzMDc5Njk4OCwgIDEsICAgICAgICAgICAgICAgICAgIDAsIDEsIDB4
RkZGRkZGRkYgfTsKKyAgZmxvYXQgZHN0ID0gLTU7CisKKyAgZG91YmxlIGR4W10gPSB7IDU1LCAg
ICAgICAgICAgICAgICAgIDAuOTgwNzYxNzE4NzQ5OTk5OTYsIDAsIDEsIDB4RkZGRkZGRkYgfSA7
CisgIGRvdWJsZSBkeVtdID0geyAwLjY5MzE0NzE4MDU1OTk0NTI5LCAxLjAxNTYyNSwgICAgICAg
ICAgICAwLCAxLCAweEZGRkZGRkZGIH07CisgIGRvdWJsZSBkeltdID0geyAzOC4xMjMwOTQ5MzA3
OTY5ODgsICAxLCAgICAgICAgICAgICAgICAgICAwLCAxLCAweEZGRkZGRkZGIH07CisgIGRvdWJs
ZSBkZHN0PSAtNTsKKworICBpbnQgaTsKKworICBmb3IgKGkgPSAwOyBpIDwgQ09VTlQ7IGkrKykg
eworCSAgLy8zMmJpdCB2YXJpYW50CisJICBhc20oImZtYWRkICVzMCwgJXMxLCAlczIsICVzM1xu
OyIgOiAiPXciKGRzdCkgOiAidyIoeFtpXSksICJ3Iih5W2ldKSwgInciKHpbaV0pKTsKKwkgIHBy
aW50ZigiRk1BREQgMzJiaXQ6IGRzdCA9IHogKyB4ICogeVxuIik7CisJICBwcmludGYoIiVmID0g
JWYgKyAlZiAqICVmXG4iLCBkc3QsIHpbaV0sIHhbaV0sIHlbaV0pOworCSAgcHJpbnRfZmxvYXQo
ImRzdCIsIGRzdCk7CisKKwkgIC8vIEZsb2F0aW5nLXBvaW50IG5lZ2F0ZWQgZnVzZWQgbXVsdGlw
bHktYWRkCisJICBhc20oImZubWFkZCAlczAsICVzMSwgJXMyLCAlczNcbjsiIDogIj13Iihkc3Qp
IDogInciKHhbaV0pLCAidyIoeVtpXSksICJ3Iih6W2ldKSk7CisJICBwcmludGYoIkZOTUFERCAz
MmJpdDogZHN0ID0gLXogKyAoLXgpICogeVxuIik7CisJICBwcmludGYoIiVmID0gLSVmICsgKC0l
ZikgKiAlZlxuIiwgZHN0LCB6W2ldLCB4W2ldLCB5W2ldKTsKKwkgIHByaW50X2Zsb2F0KCJkc3Qi
LCBkc3QpOworCisJICBhc20oImZtc3ViICVzMCwgJXMxLCAlczIsICVzM1xuOyIgOiAiPXciKGRz
dCkgOiAidyIoeFtpXSksICJ3Iih5W2ldKSwgInciKHpbaV0pKTsKKwkgIHByaW50ZigiRk1TVUIg
MzJiaXQ6IGRzdCA9IHogKyAoLXgpICogeVxuIik7CisJICBwcmludGYoIiVmID0gJWYgKyAoLSVm
KSAqICVmXG4iLCBkc3QsIHpbaV0sIHhbaV0sIHlbaV0pOworCSAgcHJpbnRfZmxvYXQoImRzdCIs
IGRzdCk7CisKKwkgIGFzbSgiZm5tc3ViICVzMCwgJXMxLCAlczIsICVzM1xuOyIgOiAiPXciKGRz
dCkgOiAidyIoeFtpXSksICJ3Iih5W2ldKSwgInciKHpbaV0pKTsKKwkgIHByaW50ZigiRk5NU1VC
IDMyYml0OiBkc3QgPSAteiArIHggKiB5XG4iKTsKKwkgIHByaW50ZigiJWYgPSAtJWYgKyAlZiAq
ICVmXG4iLCBkc3QsIHpbaV0sIHhbaV0sIHlbaV0pOworCSAgcHJpbnRfZmxvYXQoImRzdCIsIGRz
dCk7CisKKwkgIC8vNjRiaXQgdmFyaWFudAorCSAgYXNtKCJmbWFkZCAlZDAsICVkMSwgJWQyLCAl
ZDNcbjsiIDogIj13IihkZHN0KSA6ICJ3IihkeFtpXSksICJ3IihkeVtpXSksICJ3IihkeltpXSkp
OworCSAgcHJpbnRmKCJGTUFERCA2NGJpdDogZHN0ID0geiArIHggKiB5XG4iKTsKKwkgIHByaW50
ZigiJWYgPSAlZiArICVmICogJWZcbiIsIGRkc3QsIGR6W2ldLCBkeFtpXSwgZHlbaV0pOworCSAg
cHJpbnRfZG91YmxlKCJkc3QiLCBkZHN0KTsKKworCSAgYXNtKCJmbm1hZGQgJWQwLCAlZDEsICVk
MiwgJWQzXG47IiA6ICI9dyIoZGRzdCkgOiAidyIoZHhbaV0pLCAidyIoZHlbaV0pLCAidyIoZHpb
aV0pKTsKKwkgIHByaW50ZigiRk5NQUREIDY0Yml0OiBkc3QgPSAteiArICgteCkgKiB5XG4iKTsK
KwkgIHByaW50ZigiJWYgPSAtJWYgLSAlZiAqICVmXG4iLCBkZHN0LCBkeltpXSwgZHhbaV0sIGR5
W2ldKTsKKwkgIHByaW50X2RvdWJsZSgiZHN0IiwgZGRzdCk7CisKKwkgIGFzbSgiZm1zdWIgJWQw
LCAlZDEsICVkMiwgJWQzXG47IiA6ICI9dyIoZGRzdCkgOiAidyIoZHhbaV0pLCAidyIoZHlbaV0p
LCAidyIoZHpbaV0pKTsKKwkgIHByaW50ZigiRk1TVUIgNjRiaXQ6IGRzdCA9IHogKyAoLXgpICog
eVxuIik7CisJICBwcmludGYoIiVmID0gJWYgKyAoLSVmKSAqICVmXG4iLCBkZHN0LCBkeltpXSwg
ZHhbaV0sIGR5W2ldKTsKKwkgIHByaW50X2RvdWJsZSgiZHN0IiwgZGRzdCk7CisKKwkgIGFzbSgi
Zm5tc3ViICVkMCwgJWQxLCAlZDIsICVkM1xuOyIgOiAiPXciKGRkc3QpIDogInciKGR4W2ldKSwg
InciKGR5W2ldKSwgInciKGR6W2ldKSk7CisJICBwcmludGYoIkZOTVNVQiA2NGJpdDogZHN0ID0g
LXogKyB4ICogeVxuIik7CisJICBwcmludGYoIiVmID0gLSVmICsgJWYgKiAlZlxuIiwgZGRzdCwg
ZHpbaV0sIGR4W2ldLCBkeVtpXSk7CisJICBwcmludF9kb3VibGUoImRzdCIsIGRkc3QpOworCisJ
ICBwcmludGYoIlxuIik7CisgIH0KKworICByZXR1cm4gMDsKK30KKwpkaWZmIC0tZ2l0IGEvbm9u
ZS90ZXN0cy9hcm02NC9mbWFkZF9zdWIuc3RkZXJyLmV4cCBiL25vbmUvdGVzdHMvYXJtNjQvZm1h
ZGRfc3ViLnN0ZGVyci5leHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwLi5l
NjlkZTI5YmIKZGlmZiAtLWdpdCBhL25vbmUvdGVzdHMvYXJtNjQvZm1hZGRfc3ViLnN0ZG91dC5l
eHAgYi9ub25lL3Rlc3RzL2FybTY0L2ZtYWRkX3N1Yi5zdGRvdXQuZXhwCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMC4uMzE3YzJlY2QwCi0tLSAvZGV2L251bGwKKysrIGIvbm9u
ZS90ZXN0cy9hcm02NC9mbWFkZF9zdWIuc3Rkb3V0LmV4cApAQCAtMCwwICsxLDEyNSBAQAorRk1B
REQgMzJiaXQ6IGRzdCA9IHogKyB4ICogeQorNzYuMjQ2MTkzID0gMzguMTIzMDk2ICsgNTUuMDAw
MDAwICogMC42OTMxNDcKK2RzdCA9IDQyOTg3ZTBkID0gNzYuMjQ2MTkyOTMyMTI4OTA2CitGTk1B
REQgMzJiaXQ6IGRzdCA9IC16ICsgKC14KSAqIHkKKy03Ni4yNDYxOTMgPSAtMzguMTIzMDk2ICsg
KC01NS4wMDAwMDApICogMC42OTMxNDcKK2RzdCA9IGMyOTg3ZTBkID0gLTc2LjI0NjE5MjkzMjEy
ODkwNgorRk1TVUIgMzJiaXQ6IGRzdCA9IHogKyAoLXgpICogeQorMC4wMDAwMDEgPSAzOC4xMjMw
OTYgKyAoLTU1LjAwMDAwMCkgKiAwLjY5MzE0NworZHN0ID0gMzVjMDAwMDAgPSAxLjQzMDUxMTQ3
NDYwOTM3NWUtMDYKK0ZOTVNVQiAzMmJpdDogZHN0ID0gLXogKyB4ICogeQorLTAuMDAwMDAxID0g
LTM4LjEyMzA5NiArIDU1LjAwMDAwMCAqIDAuNjkzMTQ3Citkc3QgPSBiNWMwMDAwMCA9IC0xLjQz
MDUxMTQ3NDYwOTM3NWUtMDYKK0ZNQUREIDY0Yml0OiBkc3QgPSB6ICsgeCAqIHkKKzc2LjI0NjE5
MCA9IDM4LjEyMzA5NSArIDU1LjAwMDAwMCAqIDAuNjkzMTQ3Citkc3QgPSA0MDUzMGZjMTkzMWYw
OWM5ID0gNzYuMjQ2MTg5ODYxNTkzOTc2CitGTk1BREQgNjRiaXQ6IGRzdCA9IC16ICsgKC14KSAq
IHkKKy03Ni4yNDYxOTAgPSAtMzguMTIzMDk1IC0gNTUuMDAwMDAwICogMC42OTMxNDcKK2RzdCA9
IGMwNTMwZmMxOTMxZjA5YzkgPSAtNzYuMjQ2MTg5ODYxNTkzOTc2CitGTVNVQiA2NGJpdDogZHN0
ID0geiArICgteCkgKiB5CistMC4wMDAwMDAgPSAzOC4xMjMwOTUgKyAoLTU1LjAwMDAwMCkgKiAw
LjY5MzE0NworZHN0ID0gYmNlOTAwMDAwMDAwMDAwMCA9IC0yLjc3NTU1NzU2MTU2Mjg5MTRlLTE1
CitGTk1TVUIgNjRiaXQ6IGRzdCA9IC16ICsgeCAqIHkKKzAuMDAwMDAwID0gLTM4LjEyMzA5NSAr
IDU1LjAwMDAwMCAqIDAuNjkzMTQ3Citkc3QgPSAzY2U5MDAwMDAwMDAwMDAwID0gMi43NzU1NTc1
NjE1NjI4OTE0ZS0xNQorCitGTUFERCAzMmJpdDogZHN0ID0geiArIHggKiB5CisxLjk5NjA4NiA9
IDEuMDAwMDAwICsgMC45ODA3NjIgKiAxLjAxNTYyNQorZHN0ID0gM2ZmZjdmYzAgPSAxLjk5NjA4
NjEyMDYwNTQ2ODgKK0ZOTUFERCAzMmJpdDogZHN0ID0gLXogKyAoLXgpICogeQorLTEuOTk2MDg2
ID0gLTEuMDAwMDAwICsgKC0wLjk4MDc2MikgKiAxLjAxNTYyNQorZHN0ID0gYmZmZjdmYzAgPSAt
MS45OTYwODYxMjA2MDU0Njg4CitGTVNVQiAzMmJpdDogZHN0ID0geiArICgteCkgKiB5CiswLjAw
MzkxNCA9IDEuMDAwMDAwICsgKC0wLjk4MDc2MikgKiAxLjAxNTYyNQorZHN0ID0gM2I4MDQwMWEg
PSAwLjAwMzkxMzg5MTUwMTcyNDcyCitGTk1TVUIgMzJiaXQ6IGRzdCA9IC16ICsgeCAqIHkKKy0w
LjAwMzkxNCA9IC0xLjAwMDAwMCArIDAuOTgwNzYyICogMS4wMTU2MjUKK2RzdCA9IGJiODA0MDFh
ID0gLTAuMDAzOTEzODkxNTAxNzI0NzIKK0ZNQUREIDY0Yml0OiBkc3QgPSB6ICsgeCAqIHkKKzEu
OTk2MDg2ID0gMS4wMDAwMDAgKyAwLjk4MDc2MiAqIDEuMDE1NjI1Citkc3QgPSAzZmZmZWZmODAw
MDAwMDAwID0gMS45OTYwODYxMjA2MDU0Njg4CitGTk1BREQgNjRiaXQ6IGRzdCA9IC16ICsgKC14
KSAqIHkKKy0xLjk5NjA4NiA9IC0xLjAwMDAwMCAtIDAuOTgwNzYyICogMS4wMTU2MjUKK2RzdCA9
IGJmZmZlZmY4MDAwMDAwMDAgPSAtMS45OTYwODYxMjA2MDU0Njg4CitGTVNVQiA2NGJpdDogZHN0
ID0geiArICgteCkgKiB5CiswLjAwMzkxNCA9IDEuMDAwMDAwICsgKC0wLjk4MDc2MikgKiAxLjAx
NTYyNQorZHN0ID0gM2Y3MDA4MDAwMDAwMDAzNCA9IDAuMDAzOTEzODc5Mzk0NTMxMjk1MQorRk5N
U1VCIDY0Yml0OiBkc3QgPSAteiArIHggKiB5CistMC4wMDM5MTQgPSAtMS4wMDAwMDAgKyAwLjk4
MDc2MiAqIDEuMDE1NjI1Citkc3QgPSBiZjcwMDgwMDAwMDAwMDM0ID0gLTAuMDAzOTEzODc5Mzk0
NTMxMjk1MQorCitGTUFERCAzMmJpdDogZHN0ID0geiArIHggKiB5CiswLjAwMDAwMCA9IDAuMDAw
MDAwICsgMC4wMDAwMDAgKiAwLjAwMDAwMAorZHN0ID0gMDAwMDAwMDAgPSAwCitGTk1BREQgMzJi
aXQ6IGRzdCA9IC16ICsgKC14KSAqIHkKKy0wLjAwMDAwMCA9IC0wLjAwMDAwMCArICgtMC4wMDAw
MDApICogMC4wMDAwMDAKK2RzdCA9IDgwMDAwMDAwID0gLTAKK0ZNU1VCIDMyYml0OiBkc3QgPSB6
ICsgKC14KSAqIHkKKzAuMDAwMDAwID0gMC4wMDAwMDAgKyAoLTAuMDAwMDAwKSAqIDAuMDAwMDAw
Citkc3QgPSAwMDAwMDAwMCA9IDAKK0ZOTVNVQiAzMmJpdDogZHN0ID0gLXogKyB4ICogeQorLTAu
MDAwMDAwID0gLTAuMDAwMDAwICsgMC4wMDAwMDAgKiAwLjAwMDAwMAorZHN0ID0gODAwMDAwMDAg
PSAtMAorRk1BREQgNjRiaXQ6IGRzdCA9IHogKyB4ICogeQorMC4wMDAwMDAgPSAwLjAwMDAwMCAr
IDAuMDAwMDAwICogMC4wMDAwMDAKK2RzdCA9IDAwMDAwMDAwMDAwMDAwMDAgPSAwCitGTk1BREQg
NjRiaXQ6IGRzdCA9IC16ICsgKC14KSAqIHkKKy0wLjAwMDAwMCA9IC0wLjAwMDAwMCAtIDAuMDAw
MDAwICogMC4wMDAwMDAKK2RzdCA9IDgwMDAwMDAwMDAwMDAwMDAgPSAtMAorRk1TVUIgNjRiaXQ6
IGRzdCA9IHogKyAoLXgpICogeQorMC4wMDAwMDAgPSAwLjAwMDAwMCArICgtMC4wMDAwMDApICog
MC4wMDAwMDAKK2RzdCA9IDAwMDAwMDAwMDAwMDAwMDAgPSAwCitGTk1TVUIgNjRiaXQ6IGRzdCA9
IC16ICsgeCAqIHkKKy0wLjAwMDAwMCA9IC0wLjAwMDAwMCArIDAuMDAwMDAwICogMC4wMDAwMDAK
K2RzdCA9IDgwMDAwMDAwMDAwMDAwMDAgPSAtMAorCitGTUFERCAzMmJpdDogZHN0ID0geiArIHgg
KiB5CisyLjAwMDAwMCA9IDEuMDAwMDAwICsgMS4wMDAwMDAgKiAxLjAwMDAwMAorZHN0ID0gNDAw
MDAwMDAgPSAyCitGTk1BREQgMzJiaXQ6IGRzdCA9IC16ICsgKC14KSAqIHkKKy0yLjAwMDAwMCA9
IC0xLjAwMDAwMCArICgtMS4wMDAwMDApICogMS4wMDAwMDAKK2RzdCA9IGMwMDAwMDAwID0gLTIK
K0ZNU1VCIDMyYml0OiBkc3QgPSB6ICsgKC14KSAqIHkKKzAuMDAwMDAwID0gMS4wMDAwMDAgKyAo
LTEuMDAwMDAwKSAqIDEuMDAwMDAwCitkc3QgPSAwMDAwMDAwMCA9IDAKK0ZOTVNVQiAzMmJpdDog
ZHN0ID0gLXogKyB4ICogeQorLTAuMDAwMDAwID0gLTEuMDAwMDAwICsgMS4wMDAwMDAgKiAxLjAw
MDAwMAorZHN0ID0gODAwMDAwMDAgPSAtMAorRk1BREQgNjRiaXQ6IGRzdCA9IHogKyB4ICogeQor
Mi4wMDAwMDAgPSAxLjAwMDAwMCArIDEuMDAwMDAwICogMS4wMDAwMDAKK2RzdCA9IDQwMDAwMDAw
MDAwMDAwMDAgPSAyCitGTk1BREQgNjRiaXQ6IGRzdCA9IC16ICsgKC14KSAqIHkKKy0yLjAwMDAw
MCA9IC0xLjAwMDAwMCAtIDEuMDAwMDAwICogMS4wMDAwMDAKK2RzdCA9IGMwMDAwMDAwMDAwMDAw
MDAgPSAtMgorRk1TVUIgNjRiaXQ6IGRzdCA9IHogKyAoLXgpICogeQorMC4wMDAwMDAgPSAxLjAw
MDAwMCArICgtMS4wMDAwMDApICogMS4wMDAwMDAKK2RzdCA9IDAwMDAwMDAwMDAwMDAwMDAgPSAw
CitGTk1TVUIgNjRiaXQ6IGRzdCA9IC16ICsgeCAqIHkKKy0wLjAwMDAwMCA9IC0xLjAwMDAwMCAr
IDEuMDAwMDAwICogMS4wMDAwMDAKK2RzdCA9IDgwMDAwMDAwMDAwMDAwMDAgPSAtMAorCitGTUFE
RCAzMmJpdDogZHN0ID0geiArIHggKiB5CisxODQ0Njc0NDA3MzcwOTU1MTYxNi4wMDAwMDAgPSA0
Mjk0OTY3Mjk2LjAwMDAwMCArIDQyOTQ5NjcyOTYuMDAwMDAwICogNDI5NDk2NzI5Ni4wMDAwMDAK
K2RzdCA9IDVmODAwMDAwID0gMS44NDQ2NzQ0MDczNzA5NTUyZSsxOQorRk5NQUREIDMyYml0OiBk
c3QgPSAteiArICgteCkgKiB5CistMTg0NDY3NDQwNzM3MDk1NTE2MTYuMDAwMDAwID0gLTQyOTQ5
NjcyOTYuMDAwMDAwICsgKC00Mjk0OTY3Mjk2LjAwMDAwMCkgKiA0Mjk0OTY3Mjk2LjAwMDAwMAor
ZHN0ID0gZGY4MDAwMDAgPSAtMS44NDQ2NzQ0MDczNzA5NTUyZSsxOQorRk1TVUIgMzJiaXQ6IGRz
dCA9IHogKyAoLXgpICogeQorLTE4NDQ2NzQ0MDczNzA5NTUxNjE2LjAwMDAwMCA9IDQyOTQ5Njcy
OTYuMDAwMDAwICsgKC00Mjk0OTY3Mjk2LjAwMDAwMCkgKiA0Mjk0OTY3Mjk2LjAwMDAwMAorZHN0
ID0gZGY4MDAwMDAgPSAtMS44NDQ2NzQ0MDczNzA5NTUyZSsxOQorRk5NU1VCIDMyYml0OiBkc3Qg
PSAteiArIHggKiB5CisxODQ0Njc0NDA3MzcwOTU1MTYxNi4wMDAwMDAgPSAtNDI5NDk2NzI5Ni4w
MDAwMDAgKyA0Mjk0OTY3Mjk2LjAwMDAwMCAqIDQyOTQ5NjcyOTYuMDAwMDAwCitkc3QgPSA1Zjgw
MDAwMCA9IDEuODQ0Njc0NDA3MzcwOTU1MmUrMTkKK0ZNQUREIDY0Yml0OiBkc3QgPSB6ICsgeCAq
IHkKKzE4NDQ2NzQ0MDY5NDE0NTg0MzIwLjAwMDAwMCA9IDQyOTQ5NjcyOTUuMDAwMDAwICsgNDI5
NDk2NzI5NS4wMDAwMDAgKiA0Mjk0OTY3Mjk1LjAwMDAwMAorZHN0ID0gNDNlZmZmZmZmZmUwMDAw
MCA9IDEuODQ0Njc0NDA2OTQxNDU4NGUrMTkKK0ZOTUFERCA2NGJpdDogZHN0ID0gLXogKyAoLXgp
ICogeQorLTE4NDQ2NzQ0MDY5NDE0NTg0MzIwLjAwMDAwMCA9IC00Mjk0OTY3Mjk1LjAwMDAwMCAt
IDQyOTQ5NjcyOTUuMDAwMDAwICogNDI5NDk2NzI5NS4wMDAwMDAKK2RzdCA9IGMzZWZmZmZmZmZl
MDAwMDAgPSAtMS44NDQ2NzQ0MDY5NDE0NTg0ZSsxOQorRk1TVUIgNjRiaXQ6IGRzdCA9IHogKyAo
LXgpICogeQorLTE4NDQ2NzQ0MDYwODI0NjQ5NzI4LjAwMDAwMCA9IDQyOTQ5NjcyOTUuMDAwMDAw
ICsgKC00Mjk0OTY3Mjk1LjAwMDAwMCkgKiA0Mjk0OTY3Mjk1LjAwMDAwMAorZHN0ID0gYzNlZmZm
ZmZmZmEwMDAwMCA9IC0xLjg0NDY3NDQwNjA4MjQ2NWUrMTkKK0ZOTVNVQiA2NGJpdDogZHN0ID0g
LXogKyB4ICogeQorMTg0NDY3NDQwNjA4MjQ2NDk3MjguMDAwMDAwID0gLTQyOTQ5NjcyOTUuMDAw
MDAwICsgNDI5NDk2NzI5NS4wMDAwMDAgKiA0Mjk0OTY3Mjk1LjAwMDAwMAorZHN0ID0gNDNlZmZm
ZmZmZmEwMDAwMCA9IDEuODQ0Njc0NDA2MDgyNDY1ZSsxOQorCmRpZmYgLS1naXQgYS9ub25lL3Rl
c3RzL2FybTY0L2ZtYWRkX3N1Yi52Z3Rlc3QgYi9ub25lL3Rlc3RzL2FybTY0L2ZtYWRkX3N1Yi52
Z3Rlc3QKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwLi5iNGM1M2VlYTQKLS0t
IC9kZXYvbnVsbAorKysgYi9ub25lL3Rlc3RzL2FybTY0L2ZtYWRkX3N1Yi52Z3Rlc3QKQEAgLTAs
MCArMSwzIEBACitwcm9nOiBmbWFkZF9zdWIKK3ByZXJlcTogdGVzdCAteCBmbWFkZF9zdWIKK3Zn
b3B0czogLXEKLS0gCjIuMTguNAoK
</data>

          </attachment>
      

    </bug>

</bugzilla>