submission 16197
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.
template-hip.py
curl "https://kernelindex.com/api/v1/implementations/kernelbot-amd-fp8-mm-16197?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=512 · seed=6563
AMD Instinct MI300X
1.12ms
#97 of 98
2025-05-05
AMD FP8 blockwise GEMMfp32/fp8_e4m3fnuz · [1024, 7168] · n=576 · seed=12346
AMD Instinct MI300X
1.25ms
#97 of 98
2025-05-05
AMD FP8 blockwise GEMMfp32/fp8_e4m3fnuz · [1024, 7168] · n=1536 · seed=8135
AMD Instinct MI300X
3.21ms
#97 of 98
2025-05-05
Show all 18 measurements ›Showing all 18 measurements ⌄
AMD FP8 blockwise GEMMfp32/fp8_e4m3fnuz · [6144, 7168] · n=512 · seed=12341
AMD Instinct MI300X
6.54ms
#97 of 98
2025-05-05
AMD FP8 blockwise GEMMfp32/fp8_e4m3fnuz · [6144, 7168] · n=576 · seed=9863
AMD Instinct MI300X
7.29ms
#97 of 98
2025-05-05
AMD FP8 blockwise GEMMfp32/fp8_e4m3fnuz · [1024, 7168] · n=4608 · seed=7531
AMD Instinct MI300X
9.24ms
#97 of 98
2025-05-05
AMD FP8 blockwise GEMMfp32/fp8_e4m3fnuz · [6144, 7168] · n=1536 · seed=6543
AMD Instinct MI300X
18.7ms
#97 of 98
2025-05-05
AMD FP8 blockwise GEMMfp32/fp8_e4m3fnuz · [6144, 7168] · n=4608 · seed=65436
AMD Instinct MI300X
55.3ms
#97 of 98
2025-05-05
Reported · How evidence levels are derived →
Source and license
sourceavailable
revision digestsha256:65e5024e3c69a9121362708802416b65ad3e3a0214e494dff91d27b2ffbe6a91
license declaredunknown
license concludedunknown
imported2026-08-15
Kernel source
template-hip.py1 lines
IyBUaGlzIHNjcmlwdCBwcm92aWRlcyBhIHRlbXBsYXRlIGZvciB1c2luZyBsb2FkX2lubGluZSB0byBydW4gYSBISVAga2VybmVsIGZvcgpmcm9tIHRvcmNoLnV0aWxzLmNwcF9leHRlbnNpb24gaW1wb3J0IGxvYWRfaW5saW5lCmZyb20gdGFzayBpbXBvcnQgaW5wdXRfdCwgb3V0cHV0X3QKQ1BQX1dSQVBQRVIgPSAiIiIKdm9pZCBmcDhfbW0odG9yY2g6OlRlbnNvciBhLCB0b3JjaDo6VGVuc29yIGIsIHRvcmNoOjpUZW5zb3IgYXMsIHRvcmNoOjpUZW5zb3IgYnMsIHRvcmNoOjpUZW5zb3IgYyk7CiIiIgoKQ1VEQV9TUkMgPSAiIiIKI2luY2x1ZGUgPGhpcC9hbWRfZGV0YWlsL2FtZF9oaXBfZnA4Lmg+CiNpbmNsdWRlIDxoaXAvYW1kX2RldGFpbC9hbWRfaGlwX2JmMTYuaD4KCmNvbnN0ZXhwciBjb25zdCBpbnQgQkxPQ0sgPSAxMjg7CgpfX2dsb2JhbF9fIHZvaWQgY3VzdG9tX2tlcm5lbChjb25zdCBfX2hpcF9mcDhfZTRtM19mbnV6KiBhLCBjb25zdCBfX2hpcF9mcDhfZTRtM19mbnV6KiBiLCBjb25zdCBmbG9hdCogYXMsIGNvbnN0IGZsb2F0KiBicywgCiAgICAgICAgICAgICAgICAgICBfX2hpcF9iZmxvYXQxNiogYywgaW50IG0sIGludCBuLCBpbnQgaykgewogICAgICAgICAgICAgICAgICAgCiAgICAvLyBZb3VyIGltcGxlbWVudGF0aW9uIGhlcmUKICAgIGludCBjeCA9IHRocmVhZElkeC54ICsgYmxvY2tEaW0ueCAqIGJsb2NrSWR4Lng7CiAgICBpbnQgY3kgPSB0aHJlYWRJZHgueSArIGJsb2NrRGltLnkgKiBibG9ja0lkeC55OwogICAgaWYoY3ggPj0gbSB8fCBjeSA+PSBuKSByZXR1cm47CiAgICAKICAgIGludCBzbiA9IChuICsgQkxPQ0sgLSAxKSAvIEJMT0NLOwogICAgCiAgICBmbG9hdCByZXN1bHQgPSAwOwogICAgLy8gc3BsaXQgbG9vcCBpbnRvIGFuIG91dGVyIGxvb3Agb3ZlciBkaWZmZXJlbnQgYmxvY2tzLCBhbmQgYW4gaW5uZXIgbG9vcCB3aXRoaW4gb25lIGJsb2NrLgogICAgLy8gd2UgY2FuIGFzc3VtZSBrICUgQkxPQ0sgPT0gMC4KICAgIGZvcihpbnQgaSA9IDA7IGkgPCBrOyBpICs9IEJMT0NLKSB7CiAgICAgICAgLy8gYmxvY2sgcmVzdWx0cyBhY2N1bXVsYXRlcyB0aGUgaW5uZXIgcHJvZHVjdCBhY3Jvc3MgYSBzaW5nbGUgYmxvY2suCiAgICAgICAgLy8gd2l0aGluIGVhY2ggYmxvY2ssIHNjYWxlcyBhcmUgY29uc3RhbnQsIHNvIHdlIGNhbiBsaWZ0IHRoZSBzY2FsaW5nIAogICAgICAgIC8vIG91dHNpZGUgb2YgdGhlIGlubmVyIGxvb3AuCiAgICAgICAgZmxvYXQgYmxvY2tfcmVzdWx0ID0gMDsKICAgICAgICBmb3IoaW50IGlpID0gMDsgaWkgPCBCTE9DSzsgKytpaSkgewogICAgICAgICAgICAvLyBsb2FkIGlucHV0IG1hdHJpeCBlbGVtZW50cyBhbmQgY29udmVydCB0byBmbG9hdCBmb3IgY29tcHV0YXRpb25zCiAgICAgICAgICAgIGZsb2F0IGF2ID0gKGZsb2F0KWFbY3ggKiBrICsgKGkgKyBpaSldOwogICAgICAgICAgICBmbG9hdCBidiA9IChmbG9hdCliW2N5ICogayArIChpICsgaWkpXTsKICAgICAgICAgICAgYmxvY2tfcmVzdWx0ICs9IGF2ICogYnY7IAogICAgICAgIH0KICAgICAgICAKICAgICAgICAvLyBiZWZvcmUgd2UgY2FuIGdvIHRvIHRoZSBuZXh0IGJsb2NrLCBzY2FsZSB0aGUgcmVzdWx0IG9mIHRoZSBjdXJyZW50IGJsb2NrCiAgICAgICAgLy8gYW5kIGFjY3VtdWxhdGUgdG8gZmluYWwgcmVzdWx0CiAgICAgICAgLy8gbm90ZSB0aGUgZGlmZmVyZW50IGluZGV4aW5nIGludG8gYXMgYW5kIGJzCiAgICAgICAgcmVzdWx0ICs9IGJsb2NrX3Jlc3VsdCAqIGFzW2N4ICsgaS9CTE9DSyAqIG1dICogYnNbY3kvQkxPQ0sgKyBpL0JMT0NLICogc25dOwogICAgfQogICAgCiAgICAvLyBmaW5hbGx5LCB3cml0ZSB0aGUgcmVzdWx0IGFzIGJmMTYKICAgIGNbY3ggKiBuICsgY3ldID0gKF9faGlwX2JmbG9hdDE2KXJlc3VsdDsKfQoKdm9pZCBmcDhfbW0odG9yY2g6OlRlbnNvciBhLCB0b3JjaDo6VGVuc29yIGIsIHRvcmNoOjpUZW5zb3IgYXMsIHRvcmNoOjpUZW5zb3IgYnMsIHRvcmNoOjpUZW5zb3IgYykgewogICAgaW50IG0gPSBhLnNpemUoMCk7CiAgICBpbnQgbiA9IGIuc2l6ZSgwKTsKICAgIGludCBrID0gYS5zaXplKDEpOwogICAgY3VzdG9tX2tlcm5lbDw8PGRpbTMoKG0rMTUpLzE2LCAobisxNSkvMTYpLCBkaW0zKDE2LCAxNiksIDAsIDA+Pj4gKChfX2hpcF9mcDhfZTRtM19mbnV6KilhLmNvbnRpZ3VvdXMoKS5kYXRhX3B0cigpLCAoX19oaXBfZnA4X2U0bTNfZm51eiopYi5jb250aWd1b3VzKCkuZGF0YV9wdHIoKSwgCiAgICBhcy5kYXRhX3B0cjxmbG9hdD4oKSwgYnMuZGF0YV9wdHI8ZmxvYXQ+KCksIChfX2hpcF9iZmxvYXQxNiopYy5kYXRhX3B0cigpLCBtLCBuLCBrKTsKICAgIC8vQzEwX0NVREFfQ0hFQ0soY3VkYUdldExhc3RFcnJvcigpKTsKfQoiIiIKCmltcG9ydCBvcwpvcy5lbnZpcm9uWyJDWFgiXSA9ICJjbGFuZysrIgoKbW9kdWxlID0gbG9hZF9pbmxpbmUoCiAgICBuYW1lPSdmcDhfbW0nLAogICAgY3BwX3NvdXJjZXM9W0NQUF9XUkFQUEVSXSwKICAgIGN1ZGFfc291cmNlcz1bQ1VEQV9TUkNdLAogICAgZnVuY3Rpb25zPVsnZnA4X21tJ10sCiAgICB2ZXJib3NlPVRydWUsCiAgICBleHRyYV9jdWRhX2NmbGFncz1bIi0tb2ZmbG9hZC1hcmNoPWdmeDk0MiIsICItc3RkPWMrKzIwIl0sCikKCgpkZWYgY3VzdG9tX2tlcm5lbChkYXRhOiBpbnB1dF90KSAtPiBvdXRwdXRfdDoKICAgIGEsIGIsIGFfc2NhbGUsIGJfc2NhbGUsIGMgPSBkYXRhCiAgICBtb2R1bGUuZnA4X21tKGEsIGIsIGFfc2NhbGUsIGJfc2NhbGUsIGMpCiAgICByZXR1cm4gYwoKSource 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 13410.
- IyBUaGlzIHNjcmlwdCBwcm92aWRlcyBhIHRlbXBsYXRlIGZvciB1c2luZyBsb2FkX2lubGluZSB0byBydW4gYSBISVAga2VybmVsIGZvcgpmcm9tIHRvcmNoLnV0aWxzLmNwcF9leHRlbnNpb24gaW1wb3J0IGxvYWRfaW5saW5lCmZyb20gdGFzayBpbXBvcnQgaW5wdXRfdCwgb3V0cHV0X3QKQ1BQX1dSQVBQRVIgPSAiIiIKdm9pZCBmcDhfbW0odG9yY2g6OlRlbnNvciBhLCB0b3JjaDo6VGVuc29yIGIsIHRvcmNoOjpUZW5zb3IgYXMsIHRvcmNoOjpUZW5zb3IgYnMsIHRvcmNoOjpUZW5zb3IgYyk7CiIiIgoKQ1VEQV9TUkMgPSAiIiIKI2luY2x1ZGUgPGhpcC9hbWRfZGV0YWlsL2FtZF9oaXBfZnA4Lmg+CiNpbmNsdWRlIDxoaXAvYW1kX2RldGFpbC9hbWRfaGlwX2JmMTYuaD4KCmNvbnN0ZXhwciBjb25zdCBpbnQgQkxPQ0sgPSAxMjg7CgpfX2dsb2JhbF9fIHZvaWQgY3VzdG9tX2tlcm5lbChjb25zdCBfX2hpcF9mcDhfZTRtM19mbnV6KiBhLCBjb25zdCBfX2hpcF9mcDhfZTRtM19mbnV6KiBiLCBjb25zdCBmbG9hdCogYXMsIGNvbnN0IGZsb2F0KiBicywgCiAgICAgICAgICAgICAgICAgICBfX2hpcF9iZmxvYXQxNiogYywgaW50IG0sIGludCBuLCBpbnQgaykgewogICAgICAgICAgICAgICAgICAgCiAgICAvLyBZb3VyIGltcGxlbWVudGF0aW9uIGhlcmUKICAgIGludCBjeCA9IHRocmVhZElkeC54ICsgYmxvY2tEaW0ueCAqIGJsb2NrSWR4Lng7CiAgICBpbnQgY3kgPSB0aHJlYWRJZHgueSArIGJsb2NrRGltLnkgKiBibG9ja0lkeC55OwogICAgaWYoY3ggPj0gbSB8fCBjeSA+PSBuKSByZXR1cm47CiAgICAKICAgIGludCBzbiA9IChuICsgQkxPQ0sgLSAxKSAvIEJMT0NLOwogICAgCiAgICBmbG9hdCByZXN1bHQgPSAwOwogICAgLy8gc3BsaXQgbG9vcCBpbnRvIGFuIG91dGVyIGxvb3Agb3ZlciBkaWZmZXJlbnQgYmxvY2tzLCBhbmQgYW4gaW5uZXIgbG9vcCB3aXRoaW4gb25lIGJsb2NrLgogICAgLy8gd2UgY2FuIGFzc3VtZSBrICUgQkxPQ0sgPT0gMC4KICAgIGZvcihpbnQgaSA9IDA7IGkgPCBrOyBpICs9IEJMT0NLKSB7CiAgICAgICAgLy8gYmxvY2sgcmVzdWx0cyBhY2N1bXVsYXRlcyB0aGUgaW5uZXIgcHJvZHVjdCBhY3Jvc3MgYSBzaW5nbGUgYmxvY2suCiAgICAgICAgLy8gd2l0aGluIGVhY2ggYmxvY2ssIHNjYWxlcyBhcmUgY29uc3RhbnQsIHNvIHdlIGNhbiBsaWZ0IHRoZSBzY2FsaW5nIAogICAgICAgIC8vIG91dHNpZGUgb2YgdGhlIGlubmVyIGxvb3AuCiAgICAgICAgZmxvYXQgYmxvY2tfcmVzdWx0ID0gMDsKICAgICAgICBmb3IoaW50IGlpID0gMDsgaWkgPCBCTE9DSzsgKytpaSkgewogICAgICAgICAgICAvLyBsb2FkIGlucHV0IG1hdHJpeCBlbGVtZW50cyBhbmQgY29udmVydCB0byBmbG9hdCBmb3IgY29tcHV0YXRpb25zCiAgICAgICAgICAgIGZsb2F0IGF2ID0gKGZsb2F0KWFbY3ggKyAoaSArIGlpKSAqIG1dOwogICAgICAgICAgICBmbG9hdCBidiA9IChmbG9hdCliW2N5ICsgKGkgKyBpaSkgKiBuXTsKICAgICAgICAgICAgYmxvY2tfcmVzdWx0ICs9IGF2ICogYnY7IAogICAgICAgIH0KICAgICAgICAKICAgICAgICAvLyBiZWZvcmUgd2UgY2FuIGdvIHRvIHRoZSBuZXh0IGJsb2NrLCBzY2FsZSB0aGUgcmVzdWx0IG9mIHRoZSBjdXJyZW50IGJsb2NrCiAgICAgICAgLy8gYW5kIGFjY3VtdWxhdGUgdG8gZmluYWwgcmVzdWx0CiAgICAgICAgLy8gbm90ZSB0aGUgZGlmZmVyZW50IGluZGV4aW5nIGludG8gYXMgYW5kIGJzCiAgICAgICAgcmVzdWx0ICs9IGJsb2NrX3Jlc3VsdCAqIGFzW2N4ICsgaS9CTE9DSyAqIG1dICogYnNbY3kvQkxPQ0sgKyBpL0JMT0NLICogc25dOwogICAgfQogICAgCiAgICAvLyBmaW5hbGx5LCB3cml0ZSB0aGUgcmVzdWx0IGFzIGJmMTYKICAgIGNbY3ggKiBuICsgY3ldID0gKF9faGlwX2JmbG9hdDE2KXJlc3VsdDsKfQoKdm9pZCBmcDhfbW0odG9yY2g6OlRlbnNvciBhLCB0b3JjaDo6VGVuc29yIGIsIHRvcmNoOjpUZW5zb3IgYXMsIHRvcmNoOjpUZW5zb3IgYnMsIHRvcmNoOjpUZW5zb3IgYykgewogICAgaW50IG0gPSBhLnNpemUoMCk7CiAgICBpbnQgbiA9IGIuc2l6ZSgwKTsKICAgIGludCBrID0gYS5zaXplKDEpOwogICAgY3VzdG9tX2tlcm5lbDw8PGRpbTMoKG0rMTUpLzE2LCAobisxNSkvMTYpLCBkaW0zKDE2LCAxNiksIDAsIDA+Pj4gKChfX2hpcF9mcDhfZTRtM19mbnV6KilhLmRhdGFfcHRyKCksIChfX2hpcF9mcDhfZTRtM19mbnV6KiliLmRhdGFfcHRyKCksIAogICAgYXMuZGF0YV9wdHI8ZmxvYXQ+KCksIGJzLmRhdGFfcHRyPGZsb2F0PigpLCAoX19oaXBfYmZsb2F0MTYqKWMuZGF0YV9wdHIoKSwgbSwgbiwgayk7CiAgICAvL0MxMF9DVURBX0NIRUNLKGN1ZGFHZXRMYXN0RXJyb3IoKSk7Cn0KIiIiCgppbXBvcnQgb3MKb3MuZW52aXJvblsiQ1hYIl0gPSAiY2xhbmcrKyIKCm1vZHVsZSA9IGxvYWRfaW5saW5lKAogICAgbmFtZT0nZnA4X21tJywKICAgIGNwcF9zb3VyY2VzPVtDUFBfV1JBUFBFUl0sCiAgICBjdWRhX3NvdXJjZXM9W0NVREFfU1JDXSwKICAgIGZ1bmN0aW9ucz1bJ2ZwOF9tbSddLAogICAgdmVyYm9zZT1UcnVlLAogICAgZXh0cmFfY3VkYV9jZmxhZ3M9WyItLW9mZmxvYWQtYXJjaD1nZng5NDIiLCAiLXN0ZD1jKysyMCJdLAopCgoKZGVmIGN1c3RvbV9rZXJuZWwoZGF0YTogaW5wdXRfdCkgLT4gb3V0cHV0X3Q6CiAgICBhLCBiLCBhX3NjYWxlLCBiX3NjYWxlLCBjID0gZGF0YQogICAgbW9kdWxlLmZwOF9tbShhLCBiLCBhX3NjYWxlLCBiX3NjYWxlLCBjKQogICAgcmV0dXJuIGMKCg==No newline at end of file+ IyBUaGlzIHNjcmlwdCBwcm92aWRlcyBhIHRlbXBsYXRlIGZvciB1c2luZyBsb2FkX2lubGluZSB0byBydW4gYSBISVAga2VybmVsIGZvcgpmcm9tIHRvcmNoLnV0aWxzLmNwcF9leHRlbnNpb24gaW1wb3J0IGxvYWRfaW5saW5lCmZyb20gdGFzayBpbXBvcnQgaW5wdXRfdCwgb3V0cHV0X3QKQ1BQX1dSQVBQRVIgPSAiIiIKdm9pZCBmcDhfbW0odG9yY2g6OlRlbnNvciBhLCB0b3JjaDo6VGVuc29yIGIsIHRvcmNoOjpUZW5zb3IgYXMsIHRvcmNoOjpUZW5zb3IgYnMsIHRvcmNoOjpUZW5zb3IgYyk7CiIiIgoKQ1VEQV9TUkMgPSAiIiIKI2luY2x1ZGUgPGhpcC9hbWRfZGV0YWlsL2FtZF9oaXBfZnA4Lmg+CiNpbmNsdWRlIDxoaXAvYW1kX2RldGFpbC9hbWRfaGlwX2JmMTYuaD4KCmNvbnN0ZXhwciBjb25zdCBpbnQgQkxPQ0sgPSAxMjg7CgpfX2dsb2JhbF9fIHZvaWQgY3VzdG9tX2tlcm5lbChjb25zdCBfX2hpcF9mcDhfZTRtM19mbnV6KiBhLCBjb25zdCBfX2hpcF9mcDhfZTRtM19mbnV6KiBiLCBjb25zdCBmbG9hdCogYXMsIGNvbnN0IGZsb2F0KiBicywgCiAgICAgICAgICAgICAgICAgICBfX2hpcF9iZmxvYXQxNiogYywgaW50IG0sIGludCBuLCBpbnQgaykgewogICAgICAgICAgICAgICAgICAgCiAgICAvLyBZb3VyIGltcGxlbWVudGF0aW9uIGhlcmUKICAgIGludCBjeCA9IHRocmVhZElkeC54ICsgYmxvY2tEaW0ueCAqIGJsb2NrSWR4Lng7CiAgICBpbnQgY3kgPSB0aHJlYWRJZHgueSArIGJsb2NrRGltLnkgKiBibG9ja0lkeC55OwogICAgaWYoY3ggPj0gbSB8fCBjeSA+PSBuKSByZXR1cm47CiAgICAKICAgIGludCBzbiA9IChuICsgQkxPQ0sgLSAxKSAvIEJMT0NLOwogICAgCiAgICBmbG9hdCByZXN1bHQgPSAwOwogICAgLy8gc3BsaXQgbG9vcCBpbnRvIGFuIG91dGVyIGxvb3Agb3ZlciBkaWZmZXJlbnQgYmxvY2tzLCBhbmQgYW4gaW5uZXIgbG9vcCB3aXRoaW4gb25lIGJsb2NrLgogICAgLy8gd2UgY2FuIGFzc3VtZSBrICUgQkxPQ0sgPT0gMC4KICAgIGZvcihpbnQgaSA9IDA7IGkgPCBrOyBpICs9IEJMT0NLKSB7CiAgICAgICAgLy8gYmxvY2sgcmVzdWx0cyBhY2N1bXVsYXRlcyB0aGUgaW5uZXIgcHJvZHVjdCBhY3Jvc3MgYSBzaW5nbGUgYmxvY2suCiAgICAgICAgLy8gd2l0aGluIGVhY2ggYmxvY2ssIHNjYWxlcyBhcmUgY29uc3RhbnQsIHNvIHdlIGNhbiBsaWZ0IHRoZSBzY2FsaW5nIAogICAgICAgIC8vIG91dHNpZGUgb2YgdGhlIGlubmVyIGxvb3AuCiAgICAgICAgZmxvYXQgYmxvY2tfcmVzdWx0ID0gMDsKICAgICAgICBmb3IoaW50IGlpID0gMDsgaWkgPCBCTE9DSzsgKytpaSkgewogICAgICAgICAgICAvLyBsb2FkIGlucHV0IG1hdHJpeCBlbGVtZW50cyBhbmQgY29udmVydCB0byBmbG9hdCBmb3IgY29tcHV0YXRpb25zCiAgICAgICAgICAgIGZsb2F0IGF2ID0gKGZsb2F0KWFbY3ggKiBrICsgKGkgKyBpaSldOwogICAgICAgICAgICBmbG9hdCBidiA9IChmbG9hdCliW2N5ICogayArIChpICsgaWkpXTsKICAgICAgICAgICAgYmxvY2tfcmVzdWx0ICs9IGF2ICogYnY7IAogICAgICAgIH0KICAgICAgICAKICAgICAgICAvLyBiZWZvcmUgd2UgY2FuIGdvIHRvIHRoZSBuZXh0IGJsb2NrLCBzY2FsZSB0aGUgcmVzdWx0IG9mIHRoZSBjdXJyZW50IGJsb2NrCiAgICAgICAgLy8gYW5kIGFjY3VtdWxhdGUgdG8gZmluYWwgcmVzdWx0CiAgICAgICAgLy8gbm90ZSB0aGUgZGlmZmVyZW50IGluZGV4aW5nIGludG8gYXMgYW5kIGJzCiAgICAgICAgcmVzdWx0ICs9IGJsb2NrX3Jlc3VsdCAqIGFzW2N4ICsgaS9CTE9DSyAqIG1dICogYnNbY3kvQkxPQ0sgKyBpL0JMT0NLICogc25dOwogICAgfQogICAgCiAgICAvLyBmaW5hbGx5LCB3cml0ZSB0aGUgcmVzdWx0IGFzIGJmMTYKICAgIGNbY3ggKiBuICsgY3ldID0gKF9faGlwX2JmbG9hdDE2KXJlc3VsdDsKfQoKdm9pZCBmcDhfbW0odG9yY2g6OlRlbnNvciBhLCB0b3JjaDo6VGVuc29yIGIsIHRvcmNoOjpUZW5zb3IgYXMsIHRvcmNoOjpUZW5zb3IgYnMsIHRvcmNoOjpUZW5zb3IgYykgewogICAgaW50IG0gPSBhLnNpemUoMCk7CiAgICBpbnQgbiA9IGIuc2l6ZSgwKTsKICAgIGludCBrID0gYS5zaXplKDEpOwogICAgY3VzdG9tX2tlcm5lbDw8PGRpbTMoKG0rMTUpLzE2LCAobisxNSkvMTYpLCBkaW0zKDE2LCAxNiksIDAsIDA+Pj4gKChfX2hpcF9mcDhfZTRtM19mbnV6KilhLmNvbnRpZ3VvdXMoKS5kYXRhX3B0cigpLCAoX19oaXBfZnA4X2U0bTNfZm51eiopYi5jb250aWd1b3VzKCkuZGF0YV9wdHIoKSwgCiAgICBhcy5kYXRhX3B0cjxmbG9hdD4oKSwgYnMuZGF0YV9wdHI8ZmxvYXQ+KCksIChfX2hpcF9iZmxvYXQxNiopYy5kYXRhX3B0cigpLCBtLCBuLCBrKTsKICAgIC8vQzEwX0NVREFfQ0hFQ0soY3VkYUdldExhc3RFcnJvcigpKTsKfQoiIiIKCmltcG9ydCBvcwpvcy5lbnZpcm9uWyJDWFgiXSA9ICJjbGFuZysrIgoKbW9kdWxlID0gbG9hZF9pbmxpbmUoCiAgICBuYW1lPSdmcDhfbW0nLAogICAgY3BwX3NvdXJjZXM9W0NQUF9XUkFQUEVSXSwKICAgIGN1ZGFfc291cmNlcz1bQ1VEQV9TUkNdLAogICAgZnVuY3Rpb25zPVsnZnA4X21tJ10sCiAgICB2ZXJib3NlPVRydWUsCiAgICBleHRyYV9jdWRhX2NmbGFncz1bIi0tb2ZmbG9hZC1hcmNoPWdmeDk0MiIsICItc3RkPWMrKzIwIl0sCikKCgpkZWYgY3VzdG9tX2tlcm5lbChkYXRhOiBpbnB1dF90KSAtPiBvdXRwdXRfdDoKICAgIGEsIGIsIGFfc2NhbGUsIGJfc2NhbGUsIGMgPSBkYXRhCiAgICBtb2R1bGUuZnA4X21tKGEsIGIsIGFfc2NhbGUsIGJfc2NhbGUsIGMpCiAgICByZXR1cm4gYwoKNo newline at end of file
Best evidence level for this revision: reported
JSON