[PATCH 04/17] vcomp/tests: Use the available ARRAY_SIZE() macro

Michael Stefaniuc <[email protected]> Wed, 30 May 2018 21:15:36 +0200
Newsgroups gmane.comp.emulators.wine.patches,gmane.comp.emulators.wine.devel
Message-ID <[email protected]>
U2lnbmVkLW9mZi1ieTogTWljaGFlbCBTdGVmYW5pdWMgPG1zdGVmYW5pQHdpbmVocS5vcmc+Ci0t
LQogZGxscy92Y29tcC90ZXN0cy92Y29tcC5jIHwgNTYgKysrKysrKysrKysrKysrKysrKysrKysr
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAxIGZpbGUgY2hhbmdlZCwgMjggaW5zZXJ0aW9ucygr
KSwgMjggZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvZGxscy92Y29tcC90ZXN0cy92Y29tcC5j
IGIvZGxscy92Y29tcC90ZXN0cy92Y29tcC5jCmluZGV4IDE1NDc0NGI3YzUuLmVhNjI5MDk3NTYg
MTAwNjQ0Ci0tLSBhL2RsbHMvdmNvbXAvdGVzdHMvdmNvbXAuYworKysgYi9kbGxzL3Zjb21wL3Rl
c3RzL3Zjb21wLmMKQEAgLTc2Niw3ICs3NjYsNyBAQCBzdGF0aWMgdm9pZCBDREVDTCBmb3Jfc3Rh
dGljX3NpbXBsZV9jYih2b2lkKQogICAgIGludCB0aHJlYWRfbnVtID0gcG9tcF9nZXRfdGhyZWFk
X251bSgpOwogICAgIGludCBpOwogCi0gICAgZm9yIChpID0gMDsgaSA8IHNpemVvZih0ZXN0cykv
c2l6ZW9mKHRlc3RzWzBdKTsgaSsrKQorICAgIGZvciAoaSA9IDA7IGkgPCBBUlJBWV9TSVpFKHRl
c3RzKTsgaSsrKQogICAgIHsKICAgICAgICAgdW5zaWduZWQgaW50IG15X2JlZ2luLCBteV9lbmQs
IGJlZ2luLCBlbmQ7CiAKQEAgLTk2Niw3ICs5NjYsNyBAQCBzdGF0aWMgdm9pZCBDREVDTCBmb3Jf
c3RhdGljX2NiKHZvaWQpCiAgICAgaW50IHRocmVhZF9udW0gPSBwb21wX2dldF90aHJlYWRfbnVt
KCk7CiAgICAgaW50IGk7CiAKLSAgICBmb3IgKGkgPSAwOyBpIDwgc2l6ZW9mKHRlc3RzKS9zaXpl
b2YodGVzdHNbMF0pOyBpKyspCisgICAgZm9yIChpID0gMDsgaSA8IEFSUkFZX1NJWkUodGVzdHMp
OyBpKyspCiAgICAgewogICAgICAgICBpbnQgbXlfYmVnaW4sIG15X2VuZCwgbXlfbmV4dCwgbXlf
bGFzdGNodW5rOwogICAgICAgICBpbnQgYmVnaW4sIGVuZCwgbmV4dCwgbGFzdGNodW5rOwpAQCAt
MTYxNCwyNSArMTYxNCwyNSBAQCBzdGF0aWMgdm9pZCB0ZXN0X2F0b21pY19pbnRlZ2VyOCh2b2lk
KQogICAgIH07CiAgICAgaW50IGk7CiAKLSAgICBmb3IgKGkgPSAwOyBpIDwgc2l6ZW9mKHRlc3Rz
MSkvc2l6ZW9mKHRlc3RzMVswXSk7IGkrKykKKyAgICBmb3IgKGkgPSAwOyBpIDwgQVJSQVlfU0la
RSh0ZXN0czEpOyBpKyspCiAgICAgewogICAgICAgICBjaGFyIHZhbCA9IHRlc3RzMVtpXS52MTsK
ICAgICAgICAgdGVzdHMxW2ldLmZ1bmMoJnZhbCwgdGVzdHMxW2ldLnYyKTsKICAgICAgICAgb2so
dmFsID09IHRlc3RzMVtpXS5leHBlY3RlZCwgInRlc3QgJWQ6IGV4cGVjdGVkIHZhbCA9PSAlZCwg
Z290ICVkXG4iLCBpLCB0ZXN0czFbaV0uZXhwZWN0ZWQsIHZhbCk7CiAgICAgfQotICAgIGZvciAo
aSA9IDA7IGkgPCBzaXplb2YodGVzdHMyKS9zaXplb2YodGVzdHMyWzBdKTsgaSsrKQorICAgIGZv
ciAoaSA9IDA7IGkgPCBBUlJBWV9TSVpFKHRlc3RzMik7IGkrKykKICAgICB7CiAgICAgICAgIGNo
YXIgdmFsID0gdGVzdHMyW2ldLnYxOwogICAgICAgICB0ZXN0czJbaV0uZnVuYygmdmFsLCB0ZXN0
czJbaV0udjIpOwogICAgICAgICBvayh2YWwgPT0gdGVzdHMyW2ldLmV4cGVjdGVkLCAidGVzdCAl
ZDogZXhwZWN0ZWQgdmFsID09ICVkLCBnb3QgJWRcbiIsIGksIHRlc3RzMltpXS5leHBlY3RlZCwg
dmFsKTsKICAgICB9Ci0gICAgZm9yIChpID0gMDsgaSA8IHNpemVvZih0ZXN0czMpL3NpemVvZih0
ZXN0czNbMF0pOyBpKyspCisgICAgZm9yIChpID0gMDsgaSA8IEFSUkFZX1NJWkUodGVzdHMzKTsg
aSsrKQogICAgIHsKICAgICAgICAgdW5zaWduZWQgY2hhciB2YWwgPSB0ZXN0czNbaV0udjE7CiAg
ICAgICAgIHRlc3RzM1tpXS5mdW5jKCZ2YWwsIHRlc3RzM1tpXS52Mik7CiAgICAgICAgIG9rKHZh
bCA9PSB0ZXN0czNbaV0uZXhwZWN0ZWQsICJ0ZXN0ICVkOiBleHBlY3RlZCB2YWwgPT0gJXUsIGdv
dCAldVxuIiwgaSwgdGVzdHMzW2ldLmV4cGVjdGVkLCB2YWwpOwogICAgIH0KLSAgICBmb3IgKGkg
PSAwOyBpIDwgc2l6ZW9mKHRlc3RzNCkvc2l6ZW9mKHRlc3RzNFswXSk7IGkrKykKKyAgICBmb3Ig
KGkgPSAwOyBpIDwgQVJSQVlfU0laRSh0ZXN0czQpOyBpKyspCiAgICAgewogICAgICAgICB1bnNp
Z25lZCBjaGFyIHZhbCA9IHRlc3RzNFtpXS52MTsKICAgICAgICAgdGVzdHM0W2ldLmZ1bmMoJnZh
bCwgdGVzdHM0W2ldLnYyKTsKQEAgLTE3MDcsMjUgKzE3MDcsMjUgQEAgc3RhdGljIHZvaWQgdGVz
dF9hdG9taWNfaW50ZWdlcjE2KHZvaWQpCiAgICAgfTsKICAgICBpbnQgaTsKIAotICAgIGZvciAo
aSA9IDA7IGkgPCBzaXplb2YodGVzdHMxKS9zaXplb2YodGVzdHMxWzBdKTsgaSsrKQorICAgIGZv
ciAoaSA9IDA7IGkgPCBBUlJBWV9TSVpFKHRlc3RzMSk7IGkrKykKICAgICB7CiAgICAgICAgIHNo
b3J0IHZhbCA9IHRlc3RzMVtpXS52MTsKICAgICAgICAgdGVzdHMxW2ldLmZ1bmMoJnZhbCwgdGVz
dHMxW2ldLnYyKTsKICAgICAgICAgb2sodmFsID09IHRlc3RzMVtpXS5leHBlY3RlZCwgInRlc3Qg
JWQ6IGV4cGVjdGVkIHZhbCA9PSAlZCwgZ290ICVkXG4iLCBpLCB0ZXN0czFbaV0uZXhwZWN0ZWQs
IHZhbCk7CiAgICAgfQotICAgIGZvciAoaSA9IDA7IGkgPCBzaXplb2YodGVzdHMyKS9zaXplb2Yo
dGVzdHMyWzBdKTsgaSsrKQorICAgIGZvciAoaSA9IDA7IGkgPCBBUlJBWV9TSVpFKHRlc3RzMik7
IGkrKykKICAgICB7CiAgICAgICAgIHNob3J0IHZhbCA9IHRlc3RzMltpXS52MTsKICAgICAgICAg
dGVzdHMyW2ldLmZ1bmMoJnZhbCwgdGVzdHMyW2ldLnYyKTsKICAgICAgICAgb2sodmFsID09IHRl
c3RzMltpXS5leHBlY3RlZCwgInRlc3QgJWQ6IGV4cGVjdGVkIHZhbCA9PSAlZCwgZ290ICVkXG4i
LCBpLCB0ZXN0czJbaV0uZXhwZWN0ZWQsIHZhbCk7CiAgICAgfQotICAgIGZvciAoaSA9IDA7IGkg
PCBzaXplb2YodGVzdHMzKS9zaXplb2YodGVzdHMzWzBdKTsgaSsrKQorICAgIGZvciAoaSA9IDA7
IGkgPCBBUlJBWV9TSVpFKHRlc3RzMyk7IGkrKykKICAgICB7CiAgICAgICAgIHVuc2lnbmVkIHNo
b3J0IHZhbCA9IHRlc3RzM1tpXS52MTsKICAgICAgICAgdGVzdHMzW2ldLmZ1bmMoJnZhbCwgdGVz
dHMzW2ldLnYyKTsKICAgICAgICAgb2sodmFsID09IHRlc3RzM1tpXS5leHBlY3RlZCwgInRlc3Qg
JWQ6IGV4cGVjdGVkIHZhbCA9PSAldSwgZ290ICV1XG4iLCBpLCB0ZXN0czNbaV0uZXhwZWN0ZWQs
IHZhbCk7CiAgICAgfQotICAgIGZvciAoaSA9IDA7IGkgPCBzaXplb2YodGVzdHM0KS9zaXplb2Yo
dGVzdHM0WzBdKTsgaSsrKQorICAgIGZvciAoaSA9IDA7IGkgPCBBUlJBWV9TSVpFKHRlc3RzNCk7
IGkrKykKICAgICB7CiAgICAgICAgIHVuc2lnbmVkIHNob3J0IHZhbCA9IHRlc3RzNFtpXS52MTsK
ICAgICAgICAgdGVzdHM0W2ldLmZ1bmMoJnZhbCwgdGVzdHM0W2ldLnYyKTsKQEAgLTE3NzcsMTMg
KzE3NzcsMTMgQEAgc3RhdGljIHZvaWQgdGVzdF9hdG9taWNfaW50ZWdlcjMyKHZvaWQpCiAgICAg
fTsKICAgICBpbnQgaTsKIAotICAgIGZvciAoaSA9IDA7IGkgPCBzaXplb2YodGVzdHMxKS9zaXpl
b2YodGVzdHMxWzBdKTsgaSsrKQorICAgIGZvciAoaSA9IDA7IGkgPCBBUlJBWV9TSVpFKHRlc3Rz
MSk7IGkrKykKICAgICB7CiAgICAgICAgIGludCB2YWwgPSB0ZXN0czFbaV0udjE7CiAgICAgICAg
IHRlc3RzMVtpXS5mdW5jKCZ2YWwsIHRlc3RzMVtpXS52Mik7CiAgICAgICAgIG9rKHZhbCA9PSB0
ZXN0czFbaV0uZXhwZWN0ZWQsICJ0ZXN0ICVkOiBleHBlY3RlZCB2YWwgPT0gJWQsIGdvdCAlZFxu
IiwgaSwgdGVzdHMxW2ldLmV4cGVjdGVkLCB2YWwpOwogICAgIH0KLSAgICBmb3IgKGkgPSAwOyBp
IDwgc2l6ZW9mKHRlc3RzMikvc2l6ZW9mKHRlc3RzMlswXSk7IGkrKykKKyAgICBmb3IgKGkgPSAw
OyBpIDwgQVJSQVlfU0laRSh0ZXN0czIpOyBpKyspCiAgICAgewogICAgICAgICB1bnNpZ25lZCBp
bnQgdmFsID0gdGVzdHMyW2ldLnYxOwogICAgICAgICB0ZXN0czJbaV0uZnVuYygmdmFsLCB0ZXN0
czJbaV0udjIpOwpAQCAtMTg3MSwyNiArMTg3MSwyNiBAQCBzdGF0aWMgdm9pZCB0ZXN0X2F0b21p
Y19pbnRlZ2VyNjQodm9pZCkKICAgICB9OwogICAgIGludCBpOwogCi0gICAgZm9yIChpID0gMDsg
aSA8IHNpemVvZih0ZXN0czEpL3NpemVvZih0ZXN0czFbMF0pOyBpKyspCisgICAgZm9yIChpID0g
MDsgaSA8IEFSUkFZX1NJWkUodGVzdHMxKTsgaSsrKQogICAgIHsKICAgICAgICAgTE9ORzY0IHZh
bCA9IHRlc3RzMVtpXS52MTsKICAgICAgICAgdGVzdHMxW2ldLmZ1bmMoJnZhbCwgdGVzdHMxW2ld
LnYyKTsKICAgICAgICAgb2sodmFsID09IHRlc3RzMVtpXS5leHBlY3RlZCwgInRlc3QgJWQ6IHVu
ZXhwZWN0ZWRseSBnb3QgJXNcbiIsIGksIHdpbmVfZGJnc3RyX2xvbmdsb25nKHZhbCkpOwogICAg
IH0KLSAgICBmb3IgKGkgPSAwOyBpIDwgc2l6ZW9mKHRlc3RzMikvc2l6ZW9mKHRlc3RzMlswXSk7
IGkrKykKKyAgICBmb3IgKGkgPSAwOyBpIDwgQVJSQVlfU0laRSh0ZXN0czIpOyBpKyspCiAgICAg
ewogICAgICAgICBMT05HNjQgdmFsID0gdGVzdHMyW2ldLnYxOwogICAgICAgICB0ZXN0czJbaV0u
ZnVuYygmdmFsLCB0ZXN0czJbaV0udjIpOwogICAgICAgICB0b2RvX3dpbmVfaWYodGVzdHMyW2ld
LnRvZG8pCiAgICAgICAgIG9rKHZhbCA9PSB0ZXN0czJbaV0uZXhwZWN0ZWQsICJ0ZXN0ICVkOiB1
bmV4cGVjdGVkbHkgZ290ICVzXG4iLCBpLCB3aW5lX2RiZ3N0cl9sb25nbG9uZyh2YWwpKTsKICAg
ICB9Ci0gICAgZm9yIChpID0gMDsgaSA8IHNpemVvZih0ZXN0czMpL3NpemVvZih0ZXN0czNbMF0p
OyBpKyspCisgICAgZm9yIChpID0gMDsgaSA8IEFSUkFZX1NJWkUodGVzdHMzKTsgaSsrKQogICAg
IHsKICAgICAgICAgVUxPTkc2NCB2YWwgPSB0ZXN0czNbaV0udjE7CiAgICAgICAgIHRlc3RzM1tp
XS5mdW5jKCZ2YWwsIHRlc3RzM1tpXS52Mik7CiAgICAgICAgIG9rKHZhbCA9PSB0ZXN0czNbaV0u
ZXhwZWN0ZWQsICJ0ZXN0ICVkOiB1bmV4cGVjdGVkbHkgZ290ICVzXG4iLCBpLCB3aW5lX2RiZ3N0
cl9sb25nbG9uZyh2YWwpKTsKICAgICB9Ci0gICAgZm9yIChpID0gMDsgaSA8IHNpemVvZih0ZXN0
czQpL3NpemVvZih0ZXN0czRbMF0pOyBpKyspCisgICAgZm9yIChpID0gMDsgaSA8IEFSUkFZX1NJ
WkUodGVzdHM0KTsgaSsrKQogICAgIHsKICAgICAgICAgVUxPTkc2NCB2YWwgPSB0ZXN0czRbaV0u
djE7CiAgICAgICAgIHRlc3RzNFtpXS5mdW5jKCZ2YWwsIHRlc3RzNFtpXS52Mik7CkBAIC0xOTE1
LDcgKzE5MTUsNyBAQCBzdGF0aWMgdm9pZCB0ZXN0X2F0b21pY19mbG9hdCh2b2lkKQogICAgIH07
CiAgICAgaW50IGk7CiAKLSAgICBmb3IgKGkgPSAwOyBpIDwgc2l6ZW9mKHRlc3RzKS9zaXplb2Yo
dGVzdHNbMF0pOyBpKyspCisgICAgZm9yIChpID0gMDsgaSA8IEFSUkFZX1NJWkUodGVzdHMpOyBp
KyspCiAgICAgewogICAgICAgICBmbG9hdCB2YWwgPSB0ZXN0c1tpXS52MTsKICAgICAgICAgdGVz
dHNbaV0uZnVuYygmdmFsLCB0ZXN0c1tpXS52Mik7CkBAIC0xOTQwLDcgKzE5NDAsNyBAQCBzdGF0
aWMgdm9pZCB0ZXN0X2F0b21pY19kb3VibGUodm9pZCkKICAgICB9OwogICAgIGludCBpOwogCi0g
ICAgZm9yIChpID0gMDsgaSA8IHNpemVvZih0ZXN0cykvc2l6ZW9mKHRlc3RzWzBdKTsgaSsrKQor
ICAgIGZvciAoaSA9IDA7IGkgPCBBUlJBWV9TSVpFKHRlc3RzKTsgaSsrKQogICAgIHsKICAgICAg
ICAgZG91YmxlIHZhbCA9IHRlc3RzW2ldLnYxOwogICAgICAgICB0ZXN0c1tpXS5mdW5jKCZ2YWws
IHRlc3RzW2ldLnYyKTsKQEAgLTE5NzgsMTMgKzE5NzgsMTMgQEAgc3RhdGljIHZvaWQgdGVzdF9y
ZWR1Y3Rpb25faW50ZWdlcjgodm9pZCkKICAgICB9OwogICAgIGludCBpOwogCi0gICAgZm9yIChp
ID0gMDsgaSA8IHNpemVvZih0ZXN0cykvc2l6ZW9mKHRlc3RzWzBdKTsgaSsrKQorICAgIGZvciAo
aSA9IDA7IGkgPCBBUlJBWV9TSVpFKHRlc3RzKTsgaSsrKQogICAgIHsKICAgICAgICAgY2hhciB2
YWwgPSB0ZXN0c1tpXS52MTsKICAgICAgICAgcF92Y29tcF9yZWR1Y3Rpb25faTEodGVzdHNbaV0u
ZmxhZ3MsICZ2YWwsIHRlc3RzW2ldLnYyKTsKICAgICAgICAgb2sodmFsID09IHRlc3RzW2ldLmV4
cGVjdGVkLCAidGVzdCAlZDogZXhwZWN0ZWQgdmFsID09ICVkLCBnb3QgJWRcbiIsIGksIHRlc3Rz
W2ldLmV4cGVjdGVkLCB2YWwpOwogICAgIH0KLSAgICBmb3IgKGkgPSAwOyBpIDwgc2l6ZW9mKHRl
c3RzKS9zaXplb2YodGVzdHNbMF0pOyBpKyspCisgICAgZm9yIChpID0gMDsgaSA8IEFSUkFZX1NJ
WkUodGVzdHMpOyBpKyspCiAgICAgewogICAgICAgICB1bnNpZ25lZCBjaGFyIHZhbCA9IHRlc3Rz
W2ldLnYxOwogICAgICAgICBwX3Zjb21wX3JlZHVjdGlvbl91MSh0ZXN0c1tpXS5mbGFncywgJnZh
bCwgdGVzdHNbaV0udjIpOwpAQCAtMjAyMiwxMyArMjAyMiwxMyBAQCBzdGF0aWMgdm9pZCB0ZXN0
X3JlZHVjdGlvbl9pbnRlZ2VyMTYodm9pZCkKICAgICB9OwogICAgIGludCBpOwogCi0gICAgZm9y
IChpID0gMDsgaSA8IHNpemVvZih0ZXN0cykvc2l6ZW9mKHRlc3RzWzBdKTsgaSsrKQorICAgIGZv
ciAoaSA9IDA7IGkgPCBBUlJBWV9TSVpFKHRlc3RzKTsgaSsrKQogICAgIHsKICAgICAgICAgc2hv
cnQgdmFsID0gdGVzdHNbaV0udjE7CiAgICAgICAgIHBfdmNvbXBfcmVkdWN0aW9uX2kyKHRlc3Rz
W2ldLmZsYWdzLCAmdmFsLCB0ZXN0c1tpXS52Mik7CiAgICAgICAgIG9rKHZhbCA9PSB0ZXN0c1tp
XS5leHBlY3RlZCwgInRlc3QgJWQ6IGV4cGVjdGVkIHZhbCA9PSAlZCwgZ290ICVkXG4iLCBpLCB0
ZXN0c1tpXS5leHBlY3RlZCwgdmFsKTsKICAgICB9Ci0gICAgZm9yIChpID0gMDsgaSA8IHNpemVv
Zih0ZXN0cykvc2l6ZW9mKHRlc3RzWzBdKTsgaSsrKQorICAgIGZvciAoaSA9IDA7IGkgPCBBUlJB
WV9TSVpFKHRlc3RzKTsgaSsrKQogICAgIHsKICAgICAgICAgdW5zaWduZWQgc2hvcnQgdmFsID0g
dGVzdHNbaV0udjE7CiAgICAgICAgIHBfdmNvbXBfcmVkdWN0aW9uX3UyKHRlc3RzW2ldLmZsYWdz
LCAmdmFsLCB0ZXN0c1tpXS52Mik7CkBAIC0yMTA1LDEzICsyMTA1LDEzIEBAIHN0YXRpYyB2b2lk
IHRlc3RfcmVkdWN0aW9uX2ludGVnZXIzMih2b2lkKQogCiAgICAgcG9tcF9zZXRfbnVtX3RocmVh
ZHMobWF4X3RocmVhZHMpOwogCi0gICAgZm9yIChpID0gMDsgaSA8IHNpemVvZih0ZXN0cykvc2l6
ZW9mKHRlc3RzWzBdKTsgaSsrKQorICAgIGZvciAoaSA9IDA7IGkgPCBBUlJBWV9TSVpFKHRlc3Rz
KTsgaSsrKQogICAgIHsKICAgICAgICAgaW50IHZhbCA9IHRlc3RzW2ldLnYxOwogICAgICAgICBw
X3Zjb21wX3JlZHVjdGlvbl9pNCh0ZXN0c1tpXS5mbGFncywgJnZhbCwgdGVzdHNbaV0udjIpOwog
ICAgICAgICBvayh2YWwgPT0gdGVzdHNbaV0uZXhwZWN0ZWQsICJ0ZXN0ICVkOiBleHBlY3RlZCB2
YWwgPT0gJWQsIGdvdCAlZFxuIiwgaSwgdGVzdHNbaV0uZXhwZWN0ZWQsIHZhbCk7CiAgICAgfQot
ICAgIGZvciAoaSA9IDA7IGkgPCBzaXplb2YodGVzdHMpL3NpemVvZih0ZXN0c1swXSk7IGkrKykK
KyAgICBmb3IgKGkgPSAwOyBpIDwgQVJSQVlfU0laRSh0ZXN0cyk7IGkrKykKICAgICB7CiAgICAg
ICAgIHVuc2lnbmVkIGludCB2YWwgPSB0ZXN0c1tpXS52MTsKICAgICAgICAgcF92Y29tcF9yZWR1
Y3Rpb25fdTQodGVzdHNbaV0uZmxhZ3MsICZ2YWwsIHRlc3RzW2ldLnYyKTsKQEAgLTIxNDgsMTMg
KzIxNDgsMTMgQEAgc3RhdGljIHZvaWQgdGVzdF9yZWR1Y3Rpb25faW50ZWdlcjY0KHZvaWQpCiAg
ICAgfTsKICAgICBpbnQgaTsKIAotICAgIGZvciAoaSA9IDA7IGkgPCBzaXplb2YodGVzdHMpL3Np
emVvZih0ZXN0c1swXSk7IGkrKykKKyAgICBmb3IgKGkgPSAwOyBpIDwgQVJSQVlfU0laRSh0ZXN0
cyk7IGkrKykKICAgICB7CiAgICAgICAgIExPTkc2NCB2YWwgPSB0ZXN0c1tpXS52MTsKICAgICAg
ICAgcF92Y29tcF9yZWR1Y3Rpb25faTgodGVzdHNbaV0uZmxhZ3MsICZ2YWwsIHRlc3RzW2ldLnYy
KTsKICAgICAgICAgb2sodmFsID09IHRlc3RzW2ldLmV4cGVjdGVkLCAidGVzdCAlZDogdW5leHBl
Y3RlZGx5IGdvdCAlc1xuIiwgaSwgd2luZV9kYmdzdHJfbG9uZ2xvbmcodmFsKSk7CiAgICAgfQot
ICAgIGZvciAoaSA9IDA7IGkgPCBzaXplb2YodGVzdHMpL3NpemVvZih0ZXN0c1swXSk7IGkrKykK
KyAgICBmb3IgKGkgPSAwOyBpIDwgQVJSQVlfU0laRSh0ZXN0cyk7IGkrKykKICAgICB7CiAgICAg
ICAgIFVMT05HNjQgdmFsID0gdGVzdHNbaV0udjE7CiAgICAgICAgIHBfdmNvbXBfcmVkdWN0aW9u
X3U4KHRlc3RzW2ldLmZsYWdzLCAmdmFsLCB0ZXN0c1tpXS52Mik7CkBAIC0yMjA2LDE0ICsyMjA2
LDE0IEBAIHN0YXRpYyB2b2lkIHRlc3RfcmVkdWN0aW9uX2Zsb2F0X2RvdWJsZSh2b2lkKQogICAg
IH07CiAgICAgaW50IGk7CiAKLSAgICBmb3IgKGkgPSAwOyBpIDwgc2l6ZW9mKHRlc3RzKS9zaXpl
b2YodGVzdHNbMF0pOyBpKyspCisgICAgZm9yIChpID0gMDsgaSA8IEFSUkFZX1NJWkUodGVzdHMp
OyBpKyspCiAgICAgewogICAgICAgICBmbG9hdCB2YWwgPSB0ZXN0c1tpXS52MTsKICAgICAgICAg
cF92Y29tcF9yZWR1Y3Rpb25fcjQodGVzdHNbaV0uZmxhZ3MsICZ2YWwsIHRlc3RzW2ldLnYyKTsK
ICAgICAgICAgb2sodGVzdHNbaV0uZXhwZWN0ZWQgLSAwLjAwMSA8IHZhbCAmJiB2YWwgPCB0ZXN0
c1tpXS5leHBlY3RlZCArIDAuMDAxLAogICAgICAgICAgICAidGVzdCAlZDogZXhwZWN0ZWQgdmFs
ID09ICVmLCBnb3QgJWZcbiIsIGksIHRlc3RzW2ldLmV4cGVjdGVkLCB2YWwpOwogICAgIH0KLSAg
ICBmb3IgKGkgPSAwOyBpIDwgc2l6ZW9mKHRlc3RzKS9zaXplb2YodGVzdHNbMF0pOyBpKyspCisg
ICAgZm9yIChpID0gMDsgaSA8IEFSUkFZX1NJWkUodGVzdHMpOyBpKyspCiAgICAgewogICAgICAg
ICBkb3VibGUgdmFsID0gdGVzdHNbaV0udjE7CiAgICAgICAgIHBfdmNvbXBfcmVkdWN0aW9uX3I4
KHRlc3RzW2ldLmZsYWdzLCAmdmFsLCB0ZXN0c1tpXS52Mik7Ci0tIAoyLjE0LjMKCgoK