submission 21793
KernelBot user 334 · python · License unknown
Use it
Vendorable · source mirrored · license unknownView source →
No package. Vendor the mirrored source: 1 lines, June 9 Researcher Reciprocity License v1.0.
finish-2.py
curl "https://kernelindex.com/api/v1/implementations/kernelbot-amd-fp8-mm-21793?include=source"interfacepython
Compatibility
measured onAMD Instinct MI300X
declared hardwareAMD Instinct MI300X
architecturesgfx942
dtypesfp32, fp8_e4m3fnuz
Benchmark evidence
18 measurements across 1 GPU, fastest first.
Operation / workload
Hardware
Latency
Rank
Observed
AMD FP8 blockwise GEMMfp32/fp8_e4m3fnuz · [1024, 7168] · n=576 · seed=12346
AMD Instinct MI300X
96.1µs
#41 of 98
2025-05-13
AMD FP8 blockwise GEMMfp32/fp8_e4m3fnuz · [1024, 7168] · n=512 · seed=6563
AMD Instinct MI300X
96.3µs
#37 of 98
2025-05-13
AMD FP8 blockwise GEMMfp32/fp8_e4m3fnuz · [1024, 7168] · n=1536 · seed=8135
AMD Instinct MI300X
118.0µs
#26 of 98
2025-05-13
Show all 18 measurements ›Showing all 18 measurements ⌄
AMD FP8 blockwise GEMMfp32/fp8_e4m3fnuz · [6144, 7168] · n=512 · seed=12341
AMD Instinct MI300X
185.8µs
#39 of 98
2025-05-13
AMD FP8 blockwise GEMMfp32/fp8_e4m3fnuz · [6144, 7168] · n=576 · seed=9863
AMD Instinct MI300X
188.1µs
#35 of 98
2025-05-13
AMD FP8 blockwise GEMMfp32/fp8_e4m3fnuz · [1024, 7168] · n=4608 · seed=7531
AMD Instinct MI300X
220.0µs
#40 of 98
2025-05-13
AMD FP8 blockwise GEMMfp32/fp8_e4m3fnuz · [6144, 7168] · n=1536 · seed=6543
AMD Instinct MI300X
360.3µs
#36 of 98
2025-05-13
AMD FP8 blockwise GEMMfp32/fp8_e4m3fnuz · [6144, 7168] · n=4608 · seed=65436
AMD Instinct MI300X
935.4µs
#31 of 98
2025-05-13
Reported · How evidence levels are derived →
Source and license
sourceavailable
revision digestsha256:3e8b060a9d5364fac0dba6f95f5e43da6d54482fcb6ee7e484ae1657afc431e0
license declaredunknown
license concludedunknown
imported2026-08-15
Kernel source
finish-2.py1 lines
IyBUaGlzIHNjcmlwdCBwcm92aWRlcyBhIHRlbXBsYXRlIGZvciB1c2luZyBsb2FkX2lubGluZSB0byBydW4gYSBISVAga2VybmVsIGZvcgpmcm9tIHRvcmNoLnV0aWxzLmNwcF9leHRlbnNpb24gaW1wb3J0IGxvYWRfaW5saW5lCmZyb20gdGFzayBpbXBvcnQgaW5wdXRfdCwgb3V0cHV0X3QKQ1BQX1dSQVBQRVIgPSAiIiIKdm9pZCBmcDhfbW0odG9yY2g6OlRlbnNvciBhLCB0b3JjaDo6VGVuc29yIGIsIHRvcmNoOjpUZW5zb3IgYXMsIHRvcmNoOjpUZW5zb3IgYnMsIHRvcmNoOjpUZW5zb3IgYyk7CiIiIgoKQ1VEQV9TUkMgPSAiIiIKI2luY2x1ZGUgPGhpcC9hbWRfZGV0YWlsL2FtZF9oaXBfZnA4Lmg+CiNpbmNsdWRlIDxoaXAvYW1kX2RldGFpbC9hbWRfaGlwX2JmMTYuaD4KCnVzaW5nIGYzMngxNiA9IF9fYXR0cmlidXRlX18oIChfX3ZlY3Rvcl9zaXplX18oMTYgKiBzaXplb2YoZmxvYXQpKSApKSBmbG9hdDsKCmNvbnN0ZXhwciBjb25zdCBpbnQgQkxPQ0sgPSAxMjg7CgpfX2RldmljZV9fIHN0YXRpYyB1aW50NjRfdCBwYWNrX3UxNng4X3RvX3U2NChjb25zdCB1aW50MTZfdCogc3JjKQp7CiAgICB1aW50MTZfdCBkc3RbXSA9IHsgc3JjWzFdLCBzcmNbM10sIHNyY1s1XSwgc3JjWzddIH07CiAgICByZXR1cm4gKnJlaW50ZXJwcmV0X2Nhc3Q8dWludDY0X3QqPihkc3QpOwp9CgpfX2dsb2JhbF9fIHZvaWQgY3VzdG9tX2tlcm5lbChjb25zdCB1aW50NjRfdCogY2FjaGUsIGNvbnN0IGZsb2F0KiBhcywgY29uc3QgZmxvYXQqIGJzLCAKICAgICAgICAgICAgICAgICAgIF9faGlwX2JmbG9hdDE2KiBjLCBpbnQgbSwgaW50IG4sIGludCBrLCBpbnQgY29sLCBpbnQgb2Zmc2V0KSB7CiAgICAvLyBZb3VyIGltcGxlbWVudGF0aW9uIGhlcmUKICAgIF9fc2hhcmVkX18gdWludDY0X3QgYnVmZmVyWzJdWzJdWzhdWzY0XTsKICAgIGNvbnN0IHVpbnQ2NF90KiBhID0gY2FjaGU7CiAgICBjb25zdCB1aW50NjRfdCogYiA9IGNhY2hlICsgb2Zmc2V0OwogICAgaW50IGN4ID0gMzIgKiAoMiAqIGJsb2NrSWR4LnggKyB0aHJlYWRJZHgueSk7CiAgICBpbnQgY3kgPSAzMiAqICgyICogYmxvY2tJZHgueSArIHRocmVhZElkeC56KTsKCiAgICBpbnQgdHggPSB0aHJlYWRJZHgueCAmIDMxOwogICAgaW50IHR5ID0gdGhyZWFkSWR4LnggPj4gNSAmIDE7CiAgICBpbnQgc24gPSAobiArIEJMT0NLIC0gMSkgPj4gNzsKICAgIGJzICs9IGN5ID4+IDc7CiAgICBhcyArPSBjeCArIHR4OwogICAgLy8gYSArPSAoMiAqIGJsb2NrSWR4LnggKyB0aHJlYWRJZHgueSkgKiBjb2wgKyB0aHJlYWRJZHgueDsKICAgIC8vIGIgKz0gKDIgKiBibG9ja0lkeC55ICsgdGhyZWFkSWR4LnopICogY29sICsgdGhyZWFkSWR4Lng7CiAgICBhICs9ICgyICogYmxvY2tJZHgueCArIHRocmVhZElkeC56KSAqIGNvbCArIHRocmVhZElkeC54OwogICAgYiArPSAoMiAqIGJsb2NrSWR4LnkgKyB0aHJlYWRJZHgueikgKiBjb2wgKyB0aHJlYWRJZHgueDsKICAgIGYzMngxNiByZXN1bHQgPSB7IH07CiAgICBmb3IoaW50IGkgPSAwOyBpIDwgazsgaSArPSBCTE9DSykgewogICAgICAgIGNvbnN0IGF1dG8qIGFwID0gYSArIGkgKiA0OwogICAgICAgIGNvbnN0IGF1dG8qIGJwID0gYiArIGkgKiA0OwogICAgICAgIGJ1ZmZlclswXVt0aHJlYWRJZHguel1bdGhyZWFkSWR4LnldW3RocmVhZElkeC54XSA9IGFwW3RocmVhZElkeC55ICogNjRdOwogICAgICAgIGJ1ZmZlclsxXVt0aHJlYWRJZHguel1bdGhyZWFkSWR4LnldW3RocmVhZElkeC54XSA9IGJwW3RocmVhZElkeC55ICogNjRdOwogICAgICAgIGJ1ZmZlclswXVt0aHJlYWRJZHguel1bdGhyZWFkSWR4LnkgKyAyXVt0aHJlYWRJZHgueF0gPSBhcFt0aHJlYWRJZHgueSAqIDY0ICsgMTI4XTsKICAgICAgICBidWZmZXJbMV1bdGhyZWFkSWR4LnpdW3RocmVhZElkeC55ICsgMl1bdGhyZWFkSWR4LnhdID0gYnBbdGhyZWFkSWR4LnkgKiA2NCArIDEyOF07CiAgICAgICAgYnVmZmVyWzBdW3RocmVhZElkeC56XVt0aHJlYWRJZHgueSArIDRdW3RocmVhZElkeC54XSA9IGFwW3RocmVhZElkeC55ICogNjQgKyAyNTZdOwogICAgICAgIGJ1ZmZlclsxXVt0aHJlYWRJZHguel1bdGhyZWFkSWR4LnkgKyA0XVt0aHJlYWRJZHgueF0gPSBicFt0aHJlYWRJZHgueSAqIDY0ICsgMjU2XTsKICAgICAgICBidWZmZXJbMF1bdGhyZWFkSWR4LnpdW3RocmVhZElkeC55ICsgNl1bdGhyZWFkSWR4LnhdID0gYXBbdGhyZWFkSWR4LnkgKiA2NCArIDM4NF07CiAgICAgICAgYnVmZmVyWzFdW3RocmVhZElkeC56XVt0aHJlYWRJZHgueSArIDZdW3RocmVhZElkeC54XSA9IGJwW3RocmVhZElkeC55ICogNjQgKyAzODRdOwogICAgICAgIF9fc3luY3RocmVhZHMoKTsKCiAgICAgICAgZjMyeDE2IGJsb2NrX3Jlc3VsdCA9IHsgfTsKICAgICAgICAjcHJhZ21hIHVucm9sbAogICAgICAgIGZvciAoaW50IGogPSAwOyBqIDwgODsgKytqKQogICAgICAgICAgICBibG9ja19yZXN1bHQgPSBfX2J1aWx0aW5fYW1kZ2NuX21mbWFfZjMyXzMyeDMyeDE2X2ZwOF9mcDgoCiAgICAgICAgICAgICAgICBidWZmZXJbMV1bdGhyZWFkSWR4LnpdW2pdW3RocmVhZElkeC54XSwgCiAgICAgICAgICAgICAgICBidWZmZXJbMF1bdGhyZWFkSWR4LnldW2pdW3RocmVhZElkeC54XSwgCiAgICAgICAgICAgICAgICBibG9ja19yZXN1bHQsIDAsIDAsIDApOwogICAgICAgIHJlc3VsdCArPSBibG9ja19yZXN1bHQgKiBic1soaSA+PiA3KSAqIHNuXSAqIGFzWyhpID4+IDcpICogbV07CiAgICAgICAgX19zeW5jdGhyZWFkcygpOwogICAgfQogICAgaWYoY3ggPj0gbSB8fCBjeSA+PSBuKSByZXR1cm47CiAgICBjb25zdCBhdXRvKiBzcmMgPSByZWludGVycHJldF9jYXN0PGNvbnN0IHVpbnQxNl90KCopWzhdPigmcmVzdWx0KTsKICAgIHVpbnQ2NF90KiBkc3QgPSByZWludGVycHJldF9jYXN0PHVpbnQ2NF90Kj4oYyArICh0eCArIGN4KSAqIG4gKyBjeSArIHR5ICogNCk7CiAgICBkc3RbMF0gPSBwYWNrX3UxNng4X3RvX3U2NChzcmNbMF0pOwogICAgZHN0WzJdID0gcGFja191MTZ4OF90b191NjQoc3JjWzFdKTsKICAgIGRzdFs0XSA9IHBhY2tfdTE2eDhfdG9fdTY0KHNyY1syXSk7CiAgICBkc3RbNl0gPSBwYWNrX3UxNng4X3RvX3U2NChzcmNbM10pOwp9CgpfX2dsb2JhbF9fIHZvaWQgcmVvcmRlcl9rZXJuZWwoY29uc3QgX19oaXBfZnA4X2U0bTNfZm51eiogc3JjLCBjb25zdCBfX2hpcF9mcDhfZTRtM19mbnV6KiBzcmMxLCB1aW50NjRfdCogZHN0LCBpbnQgbSwgaW50IG4sIGludCBrLCBpbnQgY29sLCBpbnQgbmV4dCkgewogICAgbmV4dCA9IGJsb2NrSWR4LnggPj0gbmV4dCA/IG5leHQgOiAwOwogICAgbSA9IG5leHQgPyBuIDogbTsKICAgIHNyYyA9IG5leHQgPyBzcmMxIDogc3JjOwogICAgaW50IGN4ID0gKGJsb2NrSWR4LnggLSBuZXh0KSAqIDMyICsgKHRocmVhZElkeC54ICYgMzEpOwogICAgaW50IGN5ID0gKGJsb2NrSWR4LnkgKiAyICsgKHRocmVhZElkeC54ID4+IDUgJiAxKSkgKiA4OwogICAgdWludDY0X3QgdmFsdWUgPSAwOwogICAgaWYgKGN4IDwgbSAmJiBjeSA8IGspIHsKICAgICAgICBzcmMgKz0gY3kgKiBtICsgY3g7CiAgICAgICAgX19oaXBfZnA4X2U0bTNfZm51eiBidWZmZXJbOF0gPSB7IHNyY1swXSwgc3JjW21dLCBzcmNbMiAqIG1dLCBzcmNbMyAqIG1dLAogICAgICAgIHNyY1s0ICogbV0sIHNyY1s1ICogbV0sIHNyY1s2ICogbV0sIHNyY1s3ICogbV19OwogICAgICAgIHZhbHVlID0gKnJlaW50ZXJwcmV0X2Nhc3Q8dWludDY0X3QqPihidWZmZXIpOwogICAgfQogICAgZHN0W2Jsb2NrSWR4LnggKiBjb2wgKyBibG9ja0lkeC55ICogNjQgKyB0aHJlYWRJZHgueF0gPSB2YWx1ZTsKfQoKdm9pZCBmcDhfbW0odG9yY2g6OlRlbnNvciBhLCB0b3JjaDo6VGVuc29yIGIsIHRvcmNoOjpUZW5zb3IgYXMsIHRvcmNoOjpUZW5zb3IgYnMsIHRvcmNoOjpUZW5zb3IgYykgewogICAgaW50IG0gPSBhLnNpemUoMCk7CiAgICBpbnQgbiA9IGIuc2l6ZSgwKTsKICAgIGludCBrID0gYS5zaXplKDEpOwogICAgaW50IG5leHQgPSAobSArIDEyNykgLyAxMjggKiA0OwogICAgaW50IHJvdyA9IChuICsgMTI3KSAvIDEyOCAqIDQgKyBuZXh0OwogICAgaW50IGNvbCA9IChrICsgMTI3KSAvIDEyOCAqIDUxMjsKICAgIGF1dG8gb3B0aW9ucyA9IHRvcmNoOjpUZW5zb3JPcHRpb25zKCkuZHR5cGUodG9yY2g6OmtVSW50NjQpLmRldmljZSh0b3JjaDo6a0NVREEpOwogICAgdG9yY2g6OlRlbnNvciBjYWNoZSA9IHRvcmNoOjplbXB0eShyb3cgKiBjb2wsIG9wdGlvbnMpOwogICAgcmVvcmRlcl9rZXJuZWw8PDxkaW0zKHJvdywgY29sIC8gNjQpLCBkaW0zKDY0KSwgMCwgMD4+PigoX19oaXBfZnA4X2U0bTNfZm51eiopYS5kYXRhX3B0cigpLCAgKF9faGlwX2ZwOF9lNG0zX2ZudXoqKWIuZGF0YV9wdHIoKSwKICAgICAgICBjYWNoZS5kYXRhX3B0cjx1aW50NjRfdD4oKSwgbSwgbiwgaywgY29sLCBuZXh0KTsKICAgIGN1c3RvbV9rZXJuZWw8PDxkaW0zKChtKzYzKS82NCwgKG4rNjMpLzY0KSwgZGltMyg2NCwyLDIpLCAwLCAwPj4+IChjYWNoZS5kYXRhX3B0cjx1aW50NjRfdD4oKSwKICAgICAgICBhcy5kYXRhX3B0cjxmbG9hdD4oKSwgYnMuZGF0YV9wdHI8ZmxvYXQ+KCksIChfX2hpcF9iZmxvYXQxNiopYy5kYXRhX3B0cigpLCBtLCBuLCBrLCBjb2wsIG5leHQgKiBjb2wpOwp9CiIiIgoKaW1wb3J0IG9zCm9zLmVudmlyb25bIkNYWCJdID0gImNsYW5nKysiCgptb2R1bGUgPSBsb2FkX2lubGluZSgKICAgIG5hbWU9J2ZwOF9tbScsCiAgICBjcHBfc291cmNlcz1bQ1BQX1dSQVBQRVJdLAogICAgY3VkYV9zb3VyY2VzPVtDVURBX1NSQ10sCiAgICBmdW5jdGlvbnM9WydmcDhfbW0nXSwKICAgIHZlcmJvc2U9VHJ1ZSwKICAgIGV4dHJhX2N1ZGFfY2ZsYWdzPVsiLS1vZmZsb2FkLWFyY2g9Z2Z4OTQyIiwgIi1zdGQ9YysrMjAiLCAiLU8zIl0sCikKCgpkZWYgY3VzdG9tX2tlcm5lbChkYXRhOiBpbnB1dF90KSAtPiBvdXRwdXRfdDoKICAgIGEsIGIsIGFfc2NhbGUsIGJfc2NhbGUsIGMgPSBkYXRhCiAgICBtb2R1bGUuZnA4X21tKGEsIGIsIGFfc2NhbGUsIGJfc2NhbGUsIGMpCiAgICByZXR1cm4gYwoKSource code from GPU Mode and the KernelBot dataset · June 9 Researcher Reciprocity License v1.0
Changes from previous submission
Against this author's previous submission submission 21778.
- IyBUaGlzIHNjcmlwdCBwcm92aWRlcyBhIHRlbXBsYXRlIGZvciB1c2luZyBsb2FkX2lubGluZSB0byBydW4gYSBISVAga2VybmVsIGZvcgpmcm9tIHRvcmNoLnV0aWxzLmNwcF9leHRlbnNpb24gaW1wb3J0IGxvYWRfaW5saW5lCmZyb20gdGFzayBpbXBvcnQgaW5wdXRfdCwgb3V0cHV0X3QKQ1BQX1dSQVBQRVIgPSAiIiIKdm9pZCBmcDhfbW0odG9yY2g6OlRlbnNvciBhLCB0b3JjaDo6VGVuc29yIGIsIHRvcmNoOjpUZW5zb3IgYXMsIHRvcmNoOjpUZW5zb3IgYnMsIHRvcmNoOjpUZW5zb3IgYyk7CiIiIgoKQ1VEQV9TUkMgPSAiIiIKI2luY2x1ZGUgPGhpcC9hbWRfZGV0YWlsL2FtZF9oaXBfZnA4Lmg+CiNpbmNsdWRlIDxoaXAvYW1kX2RldGFpbC9hbWRfaGlwX2JmMTYuaD4KCnVzaW5nIGYzMngxNiA9IF9fYXR0cmlidXRlX18oIChfX3ZlY3Rvcl9zaXplX18oMTYgKiBzaXplb2YoZmxvYXQpKSApKSBmbG9hdDsKCmNvbnN0ZXhwciBjb25zdCBpbnQgQkxPQ0sgPSAxMjg7CgpfX2RldmljZV9fIHN0YXRpYyB1aW50NjRfdCBwYWNrX3UxNng4X3RvX3U2NChjb25zdCB1aW50MTZfdCogc3JjKQp7CiAgICB1aW50MTZfdCBkc3RbXSA9IHsgc3JjWzFdLCBzcmNbM10sIHNyY1s1XSwgc3JjWzddIH07CiAgICByZXR1cm4gKnJlaW50ZXJwcmV0X2Nhc3Q8dWludDY0X3QqPihkc3QpOwp9CgpfX2dsb2JhbF9fIHZvaWQgY3VzdG9tX2tlcm5lbChjb25zdCB1aW50NjRfdCogY2FjaGUsIGNvbnN0IGZsb2F0KiBhcywgY29uc3QgZmxvYXQqIGJzLCAKICAgICAgICAgICAgICAgICAgIF9faGlwX2JmbG9hdDE2KiBjLCBpbnQgbSwgaW50IG4sIGludCBrLCBpbnQgY29sLCBpbnQgb2Zmc2V0KSB7CiAgICAvLyBZb3VyIGltcGxlbWVudGF0aW9uIGhlcmUKICAgIGNvbnN0IHVpbnQ2NF90KiBhID0gY2FjaGU7CiAgICBjb25zdCB1aW50NjRfdCogYiA9IGNhY2hlICsgb2Zmc2V0OwogICAgaW50IGN4ID0gMzIgKiBibG9ja0lkeC54OwogICAgaW50IGN5ID0gMzIgKiBibG9ja0lkeC55OwogICAgaWYoY3ggPj0gbSB8fCBjeSA+PSBuKSByZXR1cm47CiAgICBpbnQgdHggPSB0aHJlYWRJZHgueCAmIDMxOwogICAgaW50IHR5ID0gdGhyZWFkSWR4LnggPj4gNSAmIDE7CiAgICBpbnQgc24gPSAobiArIEJMT0NLIC0gMSkgPj4gNzsKICAgIGJzICs9IGN5ID4+IDc7CiAgICBhcyArPSBjeCArIHR4OwogICAgYSArPSBibG9ja0lkeC54ICogY29sOwogICAgYiArPSBibG9ja0lkeC55ICogY29sOwogICAgZjMyeDE2IHJlc3VsdCA9IHsgfTsKICAgIGZvcihpbnQgaSA9IDA7IGkgPCBrOyBpICs9IEJMT0NLKSB7CiAgICAgICAgY29uc3QgYXV0byogYXAgPSBhICsgaSAqIDQ7CiAgICAgICAgY29uc3QgYXV0byogYnAgPSBiICsgaSAqIDQ7CiAgICAgICAgZjMyeDE2IGJsb2NrX3Jlc3VsdCA9IHsgfTsKICAgICAgICBibG9ja19yZXN1bHQgPSBfX2J1aWx0aW5fYW1kZ2NuX21mbWFfZjMyXzMyeDMyeDE2X2ZwOF9mcDgoYnBbdGhyZWFkSWR4LnhdLCBhcFt0aHJlYWRJZHgueF0sIGJsb2NrX3Jlc3VsdCwgMCwgMCwgMCk7CiAgICAgICAgYXAgKz0gMHg0MDsgYnAgKz0gMHg0MDsKICAgICAgICBibG9ja19yZXN1bHQgPSBfX2J1aWx0aW5fYW1kZ2NuX21mbWFfZjMyXzMyeDMyeDE2X2ZwOF9mcDgoYnBbdGhyZWFkSWR4LnhdLCBhcFt0aHJlYWRJZHgueF0sIGJsb2NrX3Jlc3VsdCwgMCwgMCwgMCk7CiAgICAgICAgYXAgKz0gMHg0MDsgYnAgKz0gMHg0MDsKICAgICAgICBibG9ja19yZXN1bHQgPSBfX2J1aWx0aW5fYW1kZ2NuX21mbWFfZjMyXzMyeDMyeDE2X2ZwOF9mcDgoYnBbdGhyZWFkSWR4LnhdLCBhcFt0aHJlYWRJZHgueF0sIGJsb2NrX3Jlc3VsdCwgMCwgMCwgMCk7CiAgICAgICAgYXAgKz0gMHg0MDsgYnAgKz0gMHg0MDsKICAgICAgICBibG9ja19yZXN1bHQgPSBfX2J1aWx0aW5fYW1kZ2NuX21mbWFfZjMyXzMyeDMyeDE2X2ZwOF9mcDgoYnBbdGhyZWFkSWR4LnhdLCBhcFt0aHJlYWRJZHgueF0sIGJsb2NrX3Jlc3VsdCwgMCwgMCwgMCk7CiAgICAgICAgYXAgKz0gMHg0MDsgYnAgKz0gMHg0MDsKICAgICAgICBibG9ja19yZXN1bHQgPSBfX2J1aWx0aW5fYW1kZ2NuX21mbWFfZjMyXzMyeDMyeDE2X2ZwOF9mcDgoYnBbdGhyZWFkSWR4LnhdLCBhcFt0aHJlYWRJZHgueF0sIGJsb2NrX3Jlc3VsdCwgMCwgMCwgMCk7CiAgICAgICAgYXAgKz0gMHg0MDsgYnAgKz0gMHg0MDsKICAgICAgICBibG9ja19yZXN1bHQgPSBfX2J1aWx0aW5fYW1kZ2NuX21mbWFfZjMyXzMyeDMyeDE2X2ZwOF9mcDgoYnBbdGhyZWFkSWR4LnhdLCBhcFt0aHJlYWRJZHgueF0sIGJsb2NrX3Jlc3VsdCwgMCwgMCwgMCk7CiAgICAgICAgYXAgKz0gMHg0MDsgYnAgKz0gMHg0MDsKICAgICAgICBibG9ja19yZXN1bHQgPSBfX2J1aWx0aW5fYW1kZ2NuX21mbWFfZjMyXzMyeDMyeDE2X2ZwOF9mcDgoYnBbdGhyZWFkSWR4LnhdLCBhcFt0aHJlYWRJZHgueF0sIGJsb2NrX3Jlc3VsdCwgMCwgMCwgMCk7CiAgICAgICAgYXAgKz0gMHg0MDsgYnAgKz0gMHg0MDsKICAgICAgICBibG9ja19yZXN1bHQgPSBfX2J1aWx0aW5fYW1kZ2NuX21mbWFfZjMyXzMyeDMyeDE2X2ZwOF9mcDgoYnBbdGhyZWFkSWR4LnhdLCBhcFt0aHJlYWRJZHgueF0sIGJsb2NrX3Jlc3VsdCwgMCwgMCwgMCk7CiAgICAgICAgcmVzdWx0ICs9IGJsb2NrX3Jlc3VsdCAqIGJzWyhpID4+IDcpICogc25dICogYXNbKGkgPj4gNykgKiBtXTsKICAgIH0KICAgIGNvbnN0IGF1dG8qIHNyYyA9IHJlaW50ZXJwcmV0X2Nhc3Q8Y29uc3QgdWludDE2X3QoKilbOF0+KCZyZXN1bHQpOwogICAgdWludDY0X3QqIGRzdCA9IHJlaW50ZXJwcmV0X2Nhc3Q8dWludDY0X3QqPihjICsgKHR4ICsgY3gpICogbiArIGN5ICsgdHkgKiA0KTsKICAgIGRzdFswXSA9IHBhY2tfdTE2eDhfdG9fdTY0KHNyY1swXSk7CiAgICBkc3RbMl0gPSBwYWNrX3UxNng4X3RvX3U2NChzcmNbMV0pOwogICAgZHN0WzRdID0gcGFja191MTZ4OF90b191NjQoc3JjWzJdKTsKICAgIGRzdFs2XSA9IHBhY2tfdTE2eDhfdG9fdTY0KHNyY1szXSk7Cn0KCl9fZ2xvYmFsX18gdm9pZCByZW9yZGVyX2tlcm5lbChjb25zdCBfX2hpcF9mcDhfZTRtM19mbnV6KiBzcmMsIGNvbnN0IF9faGlwX2ZwOF9lNG0zX2ZudXoqIHNyYzEsIHVpbnQ2NF90KiBkc3QsIGludCBtLCBpbnQgbiwgaW50IGssIGludCBjb2wsIGludCBuZXh0KSB7CiAgICBuZXh0ID0gYmxvY2tJZHgueCA+PSBuZXh0ID8gbmV4dCA6IDA7CiAgICBtID0gbmV4dCA/IG4gOiBtOwogICAgc3JjID0gbmV4dCA/IHNyYzEgOiBzcmM7CiAgICBpbnQgY3ggPSAoYmxvY2tJZHgueCAtIG5leHQpICogMzIgKyAodGhyZWFkSWR4LnggJiAzMSk7CiAgICBpbnQgY3kgPSAoYmxvY2tJZHgueSAqIDIgKyAodGhyZWFkSWR4LnggPj4gNSAmIDEpKSAqIDg7CiAgICB1aW50NjRfdCB2YWx1ZSA9IDA7CiAgICBpZiAoY3ggPCBtICYmIGN5IDwgaykgewogICAgICAgIHNyYyArPSBjeSAqIG0gKyBjeDsKICAgICAgICBfX2hpcF9mcDhfZTRtM19mbnV6IGJ1ZmZlcls4XSA9IHsgc3JjWzBdLCBzcmNbbV0sIHNyY1syICogbV0sIHNyY1szICogbV0sCiAgICAgICAgc3JjWzQgKiBtXSwgc3JjWzUgKiBtXSwgc3JjWzYgKiBtXSwgc3JjWzcgKiBtXX07CiAgICAgICAgdmFsdWUgPSAqcmVpbnRlcnByZXRfY2FzdDx1aW50NjRfdCo+KGJ1ZmZlcik7CiAgICB9CiAgICBkc3RbYmxvY2tJZHgueCAqIGNvbCArIGJsb2NrSWR4LnkgKiA2NCArIHRocmVhZElkeC54XSA9IHZhbHVlOwp9Cgp2b2lkIGZwOF9tbSh0b3JjaDo6VGVuc29yIGEsIHRvcmNoOjpUZW5zb3IgYiwgdG9yY2g6OlRlbnNvciBhcywgdG9yY2g6OlRlbnNvciBicywgdG9yY2g6OlRlbnNvciBjKSB7CiAgICBpbnQgbSA9IGEuc2l6ZSgwKTsKICAgIGludCBuID0gYi5zaXplKDApOwogICAgaW50IGsgPSBhLnNpemUoMSk7CiAgICBpbnQgbmV4dCA9IChtICsgMTI3KSAvIDEyOCAqIDQ7CiAgICBpbnQgcm93ID0gKG4gKyAxMjcpIC8gMTI4ICogNCArIG5leHQ7CiAgICBpbnQgY29sID0gKGsgKyAxMjcpIC8gMTI4ICogNTEyOwogICAgYXV0byBvcHRpb25zID0gdG9yY2g6OlRlbnNvck9wdGlvbnMoKS5kdHlwZSh0b3JjaDo6a1VJbnQ2NCkuZGV2aWNlKHRvcmNoOjprQ1VEQSk7CiAgICB0b3JjaDo6VGVuc29yIGNhY2hlID0gdG9yY2g6OmVtcHR5KHJvdyAqIGNvbCwgb3B0aW9ucyk7CiAgICByZW9yZGVyX2tlcm5lbDw8PGRpbTMocm93LCBjb2wgLyA2NCksIGRpbTMoNjQpLCAwLCAwPj4+KChfX2hpcF9mcDhfZTRtM19mbnV6KilhLmRhdGFfcHRyKCksICAoX19oaXBfZnA4X2U0bTNfZm51eiopYi5kYXRhX3B0cigpLAogICAgICAgIGNhY2hlLmRhdGFfcHRyPHVpbnQ2NF90PigpLCBtLCBuLCBrLCBjb2wsIG5leHQpOwogICAgY3VzdG9tX2tlcm5lbDw8PGRpbTMoKG0rMzEpLzMyLCAobiszMSkvMzIpLCBkaW0zKDY0KSwgMCwgMD4+PiAoY2FjaGUuZGF0YV9wdHI8dWludDY0X3Q+KCksCiAgICAgICAgYXMuZGF0YV9wdHI8ZmxvYXQ+KCksIGJzLmRhdGFfcHRyPGZsb2F0PigpLCAoX19oaXBfYmZsb2F0MTYqKWMuZGF0YV9wdHIoKSwgbSwgbiwgaywgY29sLCBuZXh0ICogY29sKTsKfQoiIiIKCmltcG9ydCBvcwpvcy5lbnZpcm9uWyJDWFgiXSA9ICJjbGFuZysrIgoKbW9kdWxlID0gbG9hZF9pbmxpbmUoCiAgICBuYW1lPSdmcDhfbW0nLAogICAgY3BwX3NvdXJjZXM9W0NQUF9XUkFQUEVSXSwKICAgIGN1ZGFfc291cmNlcz1bQ1VEQV9TUkNdLAogICAgZnVuY3Rpb25zPVsnZnA4X21tJ10sCiAgICB2ZXJib3NlPVRydWUsCiAgICBleHRyYV9jdWRhX2NmbGFncz1bIi0tb2ZmbG9hZC1hcmNoPWdmeDk0MiIsICItc3RkPWMrKzIwIiwgIi1PMyJdLAopCgoKZGVmIGN1c3RvbV9rZXJuZWwoZGF0YTogaW5wdXRfdCkgLT4gb3V0cHV0X3Q6CiAgICBhLCBiLCBhX3NjYWxlLCBiX3NjYWxlLCBjID0gZGF0YQogICAgbW9kdWxlLmZwOF9tbShhLCBiLCBhX3NjYWxlLCBiX3NjYWxlLCBjKQogICAgcmV0dXJuIGMKCg==No newline at end of file+ IyBUaGlzIHNjcmlwdCBwcm92aWRlcyBhIHRlbXBsYXRlIGZvciB1c2luZyBsb2FkX2lubGluZSB0byBydW4gYSBISVAga2VybmVsIGZvcgpmcm9tIHRvcmNoLnV0aWxzLmNwcF9leHRlbnNpb24gaW1wb3J0IGxvYWRfaW5saW5lCmZyb20gdGFzayBpbXBvcnQgaW5wdXRfdCwgb3V0cHV0X3QKQ1BQX1dSQVBQRVIgPSAiIiIKdm9pZCBmcDhfbW0odG9yY2g6OlRlbnNvciBhLCB0b3JjaDo6VGVuc29yIGIsIHRvcmNoOjpUZW5zb3IgYXMsIHRvcmNoOjpUZW5zb3IgYnMsIHRvcmNoOjpUZW5zb3IgYyk7CiIiIgoKQ1VEQV9TUkMgPSAiIiIKI2luY2x1ZGUgPGhpcC9hbWRfZGV0YWlsL2FtZF9oaXBfZnA4Lmg+CiNpbmNsdWRlIDxoaXAvYW1kX2RldGFpbC9hbWRfaGlwX2JmMTYuaD4KCnVzaW5nIGYzMngxNiA9IF9fYXR0cmlidXRlX18oIChfX3ZlY3Rvcl9zaXplX18oMTYgKiBzaXplb2YoZmxvYXQpKSApKSBmbG9hdDsKCmNvbnN0ZXhwciBjb25zdCBpbnQgQkxPQ0sgPSAxMjg7CgpfX2RldmljZV9fIHN0YXRpYyB1aW50NjRfdCBwYWNrX3UxNng4X3RvX3U2NChjb25zdCB1aW50MTZfdCogc3JjKQp7CiAgICB1aW50MTZfdCBkc3RbXSA9IHsgc3JjWzFdLCBzcmNbM10sIHNyY1s1XSwgc3JjWzddIH07CiAgICByZXR1cm4gKnJlaW50ZXJwcmV0X2Nhc3Q8dWludDY0X3QqPihkc3QpOwp9CgpfX2dsb2JhbF9fIHZvaWQgY3VzdG9tX2tlcm5lbChjb25zdCB1aW50NjRfdCogY2FjaGUsIGNvbnN0IGZsb2F0KiBhcywgY29uc3QgZmxvYXQqIGJzLCAKICAgICAgICAgICAgICAgICAgIF9faGlwX2JmbG9hdDE2KiBjLCBpbnQgbSwgaW50IG4sIGludCBrLCBpbnQgY29sLCBpbnQgb2Zmc2V0KSB7CiAgICAvLyBZb3VyIGltcGxlbWVudGF0aW9uIGhlcmUKICAgIF9fc2hhcmVkX18gdWludDY0X3QgYnVmZmVyWzJdWzJdWzhdWzY0XTsKICAgIGNvbnN0IHVpbnQ2NF90KiBhID0gY2FjaGU7CiAgICBjb25zdCB1aW50NjRfdCogYiA9IGNhY2hlICsgb2Zmc2V0OwogICAgaW50IGN4ID0gMzIgKiAoMiAqIGJsb2NrSWR4LnggKyB0aHJlYWRJZHgueSk7CiAgICBpbnQgY3kgPSAzMiAqICgyICogYmxvY2tJZHgueSArIHRocmVhZElkeC56KTsKCiAgICBpbnQgdHggPSB0aHJlYWRJZHgueCAmIDMxOwogICAgaW50IHR5ID0gdGhyZWFkSWR4LnggPj4gNSAmIDE7CiAgICBpbnQgc24gPSAobiArIEJMT0NLIC0gMSkgPj4gNzsKICAgIGJzICs9IGN5ID4+IDc7CiAgICBhcyArPSBjeCArIHR4OwogICAgLy8gYSArPSAoMiAqIGJsb2NrSWR4LnggKyB0aHJlYWRJZHgueSkgKiBjb2wgKyB0aHJlYWRJZHgueDsKICAgIC8vIGIgKz0gKDIgKiBibG9ja0lkeC55ICsgdGhyZWFkSWR4LnopICogY29sICsgdGhyZWFkSWR4Lng7CiAgICBhICs9ICgyICogYmxvY2tJZHgueCArIHRocmVhZElkeC56KSAqIGNvbCArIHRocmVhZElkeC54OwogICAgYiArPSAoMiAqIGJsb2NrSWR4LnkgKyB0aHJlYWRJZHgueikgKiBjb2wgKyB0aHJlYWRJZHgueDsKICAgIGYzMngxNiByZXN1bHQgPSB7IH07CiAgICBmb3IoaW50IGkgPSAwOyBpIDwgazsgaSArPSBCTE9DSykgewogICAgICAgIGNvbnN0IGF1dG8qIGFwID0gYSArIGkgKiA0OwogICAgICAgIGNvbnN0IGF1dG8qIGJwID0gYiArIGkgKiA0OwogICAgICAgIGJ1ZmZlclswXVt0aHJlYWRJZHguel1bdGhyZWFkSWR4LnldW3RocmVhZElkeC54XSA9IGFwW3RocmVhZElkeC55ICogNjRdOwogICAgICAgIGJ1ZmZlclsxXVt0aHJlYWRJZHguel1bdGhyZWFkSWR4LnldW3RocmVhZElkeC54XSA9IGJwW3RocmVhZElkeC55ICogNjRdOwogICAgICAgIGJ1ZmZlclswXVt0aHJlYWRJZHguel1bdGhyZWFkSWR4LnkgKyAyXVt0aHJlYWRJZHgueF0gPSBhcFt0aHJlYWRJZHgueSAqIDY0ICsgMTI4XTsKICAgICAgICBidWZmZXJbMV1bdGhyZWFkSWR4LnpdW3RocmVhZElkeC55ICsgMl1bdGhyZWFkSWR4LnhdID0gYnBbdGhyZWFkSWR4LnkgKiA2NCArIDEyOF07CiAgICAgICAgYnVmZmVyWzBdW3RocmVhZElkeC56XVt0aHJlYWRJZHgueSArIDRdW3RocmVhZElkeC54XSA9IGFwW3RocmVhZElkeC55ICogNjQgKyAyNTZdOwogICAgICAgIGJ1ZmZlclsxXVt0aHJlYWRJZHguel1bdGhyZWFkSWR4LnkgKyA0XVt0aHJlYWRJZHgueF0gPSBicFt0aHJlYWRJZHgueSAqIDY0ICsgMjU2XTsKICAgICAgICBidWZmZXJbMF1bdGhyZWFkSWR4LnpdW3RocmVhZElkeC55ICsgNl1bdGhyZWFkSWR4LnhdID0gYXBbdGhyZWFkSWR4LnkgKiA2NCArIDM4NF07CiAgICAgICAgYnVmZmVyWzFdW3RocmVhZElkeC56XVt0aHJlYWRJZHgueSArIDZdW3RocmVhZElkeC54XSA9IGJwW3RocmVhZElkeC55ICogNjQgKyAzODRdOwogICAgICAgIF9fc3luY3RocmVhZHMoKTsKCiAgICAgICAgZjMyeDE2IGJsb2NrX3Jlc3VsdCA9IHsgfTsKICAgICAgICAjcHJhZ21hIHVucm9sbAogICAgICAgIGZvciAoaW50IGogPSAwOyBqIDwgODsgKytqKQogICAgICAgICAgICBibG9ja19yZXN1bHQgPSBfX2J1aWx0aW5fYW1kZ2NuX21mbWFfZjMyXzMyeDMyeDE2X2ZwOF9mcDgoCiAgICAgICAgICAgICAgICBidWZmZXJbMV1bdGhyZWFkSWR4LnpdW2pdW3RocmVhZElkeC54XSwgCiAgICAgICAgICAgICAgICBidWZmZXJbMF1bdGhyZWFkSWR4LnldW2pdW3RocmVhZElkeC54XSwgCiAgICAgICAgICAgICAgICBibG9ja19yZXN1bHQsIDAsIDAsIDApOwogICAgICAgIHJlc3VsdCArPSBibG9ja19yZXN1bHQgKiBic1soaSA+PiA3KSAqIHNuXSAqIGFzWyhpID4+IDcpICogbV07CiAgICAgICAgX19zeW5jdGhyZWFkcygpOwogICAgfQogICAgaWYoY3ggPj0gbSB8fCBjeSA+PSBuKSByZXR1cm47CiAgICBjb25zdCBhdXRvKiBzcmMgPSByZWludGVycHJldF9jYXN0PGNvbnN0IHVpbnQxNl90KCopWzhdPigmcmVzdWx0KTsKICAgIHVpbnQ2NF90KiBkc3QgPSByZWludGVycHJldF9jYXN0PHVpbnQ2NF90Kj4oYyArICh0eCArIGN4KSAqIG4gKyBjeSArIHR5ICogNCk7CiAgICBkc3RbMF0gPSBwYWNrX3UxNng4X3RvX3U2NChzcmNbMF0pOwogICAgZHN0WzJdID0gcGFja191MTZ4OF90b191NjQoc3JjWzFdKTsKICAgIGRzdFs0XSA9IHBhY2tfdTE2eDhfdG9fdTY0KHNyY1syXSk7CiAgICBkc3RbNl0gPSBwYWNrX3UxNng4X3RvX3U2NChzcmNbM10pOwp9CgpfX2dsb2JhbF9fIHZvaWQgcmVvcmRlcl9rZXJuZWwoY29uc3QgX19oaXBfZnA4X2U0bTNfZm51eiogc3JjLCBjb25zdCBfX2hpcF9mcDhfZTRtM19mbnV6KiBzcmMxLCB1aW50NjRfdCogZHN0LCBpbnQgbSwgaW50IG4sIGludCBrLCBpbnQgY29sLCBpbnQgbmV4dCkgewogICAgbmV4dCA9IGJsb2NrSWR4LnggPj0gbmV4dCA/IG5leHQgOiAwOwogICAgbSA9IG5leHQgPyBuIDogbTsKICAgIHNyYyA9IG5leHQgPyBzcmMxIDogc3JjOwogICAgaW50IGN4ID0gKGJsb2NrSWR4LnggLSBuZXh0KSAqIDMyICsgKHRocmVhZElkeC54ICYgMzEpOwogICAgaW50IGN5ID0gKGJsb2NrSWR4LnkgKiAyICsgKHRocmVhZElkeC54ID4+IDUgJiAxKSkgKiA4OwogICAgdWludDY0X3QgdmFsdWUgPSAwOwogICAgaWYgKGN4IDwgbSAmJiBjeSA8IGspIHsKICAgICAgICBzcmMgKz0gY3kgKiBtICsgY3g7CiAgICAgICAgX19oaXBfZnA4X2U0bTNfZm51eiBidWZmZXJbOF0gPSB7IHNyY1swXSwgc3JjW21dLCBzcmNbMiAqIG1dLCBzcmNbMyAqIG1dLAogICAgICAgIHNyY1s0ICogbV0sIHNyY1s1ICogbV0sIHNyY1s2ICogbV0sIHNyY1s3ICogbV19OwogICAgICAgIHZhbHVlID0gKnJlaW50ZXJwcmV0X2Nhc3Q8dWludDY0X3QqPihidWZmZXIpOwogICAgfQogICAgZHN0W2Jsb2NrSWR4LnggKiBjb2wgKyBibG9ja0lkeC55ICogNjQgKyB0aHJlYWRJZHgueF0gPSB2YWx1ZTsKfQoKdm9pZCBmcDhfbW0odG9yY2g6OlRlbnNvciBhLCB0b3JjaDo6VGVuc29yIGIsIHRvcmNoOjpUZW5zb3IgYXMsIHRvcmNoOjpUZW5zb3IgYnMsIHRvcmNoOjpUZW5zb3IgYykgewogICAgaW50IG0gPSBhLnNpemUoMCk7CiAgICBpbnQgbiA9IGIuc2l6ZSgwKTsKICAgIGludCBrID0gYS5zaXplKDEpOwogICAgaW50IG5leHQgPSAobSArIDEyNykgLyAxMjggKiA0OwogICAgaW50IHJvdyA9IChuICsgMTI3KSAvIDEyOCAqIDQgKyBuZXh0OwogICAgaW50IGNvbCA9IChrICsgMTI3KSAvIDEyOCAqIDUxMjsKICAgIGF1dG8gb3B0aW9ucyA9IHRvcmNoOjpUZW5zb3JPcHRpb25zKCkuZHR5cGUodG9yY2g6OmtVSW50NjQpLmRldmljZSh0b3JjaDo6a0NVREEpOwogICAgdG9yY2g6OlRlbnNvciBjYWNoZSA9IHRvcmNoOjplbXB0eShyb3cgKiBjb2wsIG9wdGlvbnMpOwogICAgcmVvcmRlcl9rZXJuZWw8PDxkaW0zKHJvdywgY29sIC8gNjQpLCBkaW0zKDY0KSwgMCwgMD4+PigoX19oaXBfZnA4X2U0bTNfZm51eiopYS5kYXRhX3B0cigpLCAgKF9faGlwX2ZwOF9lNG0zX2ZudXoqKWIuZGF0YV9wdHIoKSwKICAgICAgICBjYWNoZS5kYXRhX3B0cjx1aW50NjRfdD4oKSwgbSwgbiwgaywgY29sLCBuZXh0KTsKICAgIGN1c3RvbV9rZXJuZWw8PDxkaW0zKChtKzYzKS82NCwgKG4rNjMpLzY0KSwgZGltMyg2NCwyLDIpLCAwLCAwPj4+IChjYWNoZS5kYXRhX3B0cjx1aW50NjRfdD4oKSwKICAgICAgICBhcy5kYXRhX3B0cjxmbG9hdD4oKSwgYnMuZGF0YV9wdHI8ZmxvYXQ+KCksIChfX2hpcF9iZmxvYXQxNiopYy5kYXRhX3B0cigpLCBtLCBuLCBrLCBjb2wsIG5leHQgKiBjb2wpOwp9CiIiIgoKaW1wb3J0IG9zCm9zLmVudmlyb25bIkNYWCJdID0gImNsYW5nKysiCgptb2R1bGUgPSBsb2FkX2lubGluZSgKICAgIG5hbWU9J2ZwOF9tbScsCiAgICBjcHBfc291cmNlcz1bQ1BQX1dSQVBQRVJdLAogICAgY3VkYV9zb3VyY2VzPVtDVURBX1NSQ10sCiAgICBmdW5jdGlvbnM9WydmcDhfbW0nXSwKICAgIHZlcmJvc2U9VHJ1ZSwKICAgIGV4dHJhX2N1ZGFfY2ZsYWdzPVsiLS1vZmZsb2FkLWFyY2g9Z2Z4OTQyIiwgIi1zdGQ9YysrMjAiLCAiLU8zIl0sCikKCgpkZWYgY3VzdG9tX2tlcm5lbChkYXRhOiBpbnB1dF90KSAtPiBvdXRwdXRfdDoKICAgIGEsIGIsIGFfc2NhbGUsIGJfc2NhbGUsIGMgPSBkYXRhCiAgICBtb2R1bGUuZnA4X21tKGEsIGIsIGFfc2NhbGUsIGJfc2NhbGUsIGMpCiAgICByZXR1cm4gYwoKNo newline at end of file
Best evidence level for this revision: reported
JSON