Skip to content
KernelIndex
Search⌘K

amd-mixture-of-experts · submission 27658

KernelBot user 160 · 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.

submission.py
curl "https://kernelindex.com/api/v1/implementations/kernelbot-amd-mixture-of-experts-27658?include=source"
interfacepython
Compatibility
measured onAMD Instinct MI300X
declared hardwareAMD Instinct MI300X
architecturesgfx942
dtypesfp16

Benchmark evidence

2 measurements across 1 GPU, fastest first.

Operation / workload
Hardware
Latency
Rank
Observed
AMD DeepSeek-style MoE layerfp16 · [1, 2048, 7168]
AMD Instinct MI300X
6.06ms
#45 of 118
2025-05-26
AMD DeepSeek-style MoE layerfp16 · [1, 8192, 7168]
AMD Instinct MI300X
13.1ms
#37 of 118
2025-05-26

Reported · How evidence levels are derived →

Source and license

sourceavailable
revision digestsha256:667dd5001c12dd9431be05b0fc26bd241c764e87abc74064dc49a0204d2fd60f
license declaredunknown
license concludedunknown
imported2026-08-15

Kernel source

submission.py1 lines
IyFQT1BDT1JOIGxlYWRlcmJvYXJkIGFtZC1taXh0dXJlLW9mLWV4cGVydHMKIyFQT1BDT1JOIGdwdXMgTUkzMDAKCmltcG9ydCBtYXRoCmltcG9ydCB0b3JjaAppbXBvcnQgdG9yY2gubm4gYXMgbm4KaW1wb3J0IHRvcmNoLm5uLmZ1bmN0aW9uYWwgYXMgRgpmcm9tIHR5cGluZyBpbXBvcnQgRGljdCwgVHVwbGUKZnJvbSB0YXNrIGltcG9ydCBpbnB1dF90LCBvdXRwdXRfdAoKCkB0b3JjaC5qaXQuc2NyaXB0CmRlZiBmdXNlZF9leHBlcnRfZm9yd2FyZCgKICAgIHg6IHRvcmNoLlRlbnNvciwKICAgIFdfZ2F0ZTogdG9yY2guVGVuc29yLAogICAgV191cDogdG9yY2guVGVuc29yLAogICAgV19kb3duOiB0b3JjaC5UZW5zb3IsCiAgICB3ZWlnaHQ6IHRvcmNoLlRlbnNvcgopIC0+IHRvcmNoLlRlbnNvcjoKICAgIHggPSB4LmNvbnRpZ3VvdXMoKQogICAgZ2F0ZSA9IEYuc2lsdSh4IEAgV19nYXRlKQogICAgdXAgPSB4IEAgV191cAogICAgcmV0dXJuIChnYXRlICogdXAgKiB3ZWlnaHQpIEAgV19kb3duCgoKY2xhc3MgTW9FKG5uLk1vZHVsZSk6CiAgICBkZWYgX19pbml0X18oc2VsZiwgY29uZmlnOiBEaWN0KToKICAgICAgICBzdXBlcigpLl9faW5pdF9fKCkKICAgICAgICBzZWxmLmNvbmZpZyA9IGNvbmZpZwogICAgICAgIHNlbGYubnVtX2V4cGVydHMgPSBjb25maWdbIm5fcm91dGVkX2V4cGVydHMiXQogICAgICAgIHNlbGYudG9wX2sgPSBjb25maWdbIm5fZXhwZXJ0c19wZXJfdG9rZW4iXQogICAgICAgIHNlbGYuZF9oaWRkZW4gPSBjb25maWdbImRfaGlkZGVuIl0KICAgICAgICAKICAgICAgICAjIERpY3Rpb25hcnktYmFzZWQgd2VpZ2h0IHN0b3JhZ2UgZm9yIGJldHRlciBwZXJmb3JtYW5jZQogICAgICAgIHNlbGYud2VpZ2h0cyA9IHsKICAgICAgICAgICAgIldfZyI6IE5vbmUsCiAgICAgICAgICAgICJXX2dhdGUiOiBbTm9uZV0gKiBzZWxmLm51bV9leHBlcnRzLAogICAgICAgICAgICAiV191cCI6IFtOb25lXSAqIHNlbGYubnVtX2V4cGVydHMsCiAgICAgICAgICAgICJXX2Rvd24iOiBbTm9uZV0gKiBzZWxmLm51bV9leHBlcnRzLAogICAgICAgICAgICAiV19zaGFyZWRfZ2F0ZSI6IE5vbmUsCiAgICAgICAgICAgICJXX3NoYXJlZF91cCI6IE5vbmUsCiAgICAgICAgICAgICJXX3NoYXJlZF9kb3duIjogTm9uZQogICAgICAgIH0KCiAgICBkZWYgbG9hZF93ZWlnaHRzKHNlbGYsIHdlaWdodHM6IERpY3Rbc3RyLCB0b3JjaC5UZW5zb3JdKToKICAgICAgICAiIiJMb2FkIHdlaWdodHMgaW50byB0aGUgbW9kZWwiIiIKICAgICAgICBzZWxmLndlaWdodHNbIldfZyJdID0gd2VpZ2h0c1sicm91dGVyLndlaWdodCJdLnQoKQogICAgICAgIHNlbGYud2VpZ2h0c1siV19zaGFyZWRfZ2F0ZSJdID0gd2VpZ2h0c1sic2hhcmVkX2V4cGVydHMuMC53ZWlnaHQiXQogICAgICAgIHNlbGYud2VpZ2h0c1siV19zaGFyZWRfdXAiXSA9IHdlaWdodHNbInNoYXJlZF9leHBlcnRzLjEud2VpZ2h0Il0KICAgICAgICBzZWxmLndlaWdodHNbIldfc2hhcmVkX2Rvd24iXSA9IHdlaWdodHNbInNoYXJlZF9leHBlcnRzLjIud2VpZ2h0Il0KICAgICAgICAKICAgICAgICBmb3IgaSBpbiByYW5nZShzZWxmLm51bV9leHBlcnRzKToKICAgICAgICAgICAgc2VsZi53ZWlnaHRzWyJXX2dhdGUiXVtpXSA9IHdlaWdodHNbZiJleHBlcnRzLntpfS4wLndlaWdodCJdCiAgICAgICAgICAgIHNlbGYud2VpZ2h0c1siV191cCJdW2ldID0gd2VpZ2h0c1tmImV4cGVydHMue2l9LjEud2VpZ2h0Il0KICAgICAgICAgICAgc2VsZi53ZWlnaHRzWyJXX2Rvd24iXVtpXSA9IHdlaWdodHNbZiJleHBlcnRzLntpfS4yLndlaWdodCJdCgogICAgZGVmIGZvcndhcmQoc2VsZiwgeDogdG9yY2guVGVuc29yKSAtPiB0b3JjaC5UZW5zb3I6CiAgICAgICAgQiwgVCwgRCA9IHguc2hhcGUKICAgICAgICBOID0gQiAqIFQKICAgICAgICB4X2ZsYXQgPSB4LnZpZXcoTiwgRCkKCiAgICAgICAgIyBTaGFyZWQgZXhwZXJ0IGNvbXB1dGF0aW9uCiAgICAgICAgc2hhcmVkX291dCA9ICgKICAgICAgICAgICAgRi5zaWx1KHggQCBzZWxmLndlaWdodHNbIldfc2hhcmVkX2dhdGUiXSkKICAgICAgICAgICAgKiAoeCBAIHNlbGYud2VpZ2h0c1siV19zaGFyZWRfdXAiXSkKICAgICAgICApIEAgc2VsZi53ZWlnaHRzWyJXX3NoYXJlZF9kb3duIl0KCiAgICAgICAgIyBHYXRpbmcgbmV0d29yawogICAgICAgIGxvZ2l0cyA9IHhfZmxhdCBAIHNlbGYud2VpZ2h0c1siV19nIl0KICAgICAgICBwcm9icyA9IEYuc29mdG1heChsb2dpdHMsIGRpbT0tMSkKICAgICAgICB0b3BrX3Njb3JlcywgdG9wa19pbmRpY2VzID0gdG9yY2gudG9wayhwcm9icywgaz1zZWxmLnRvcF9rLCBkaW09LTEpCiAgICAgICAgCiAgICAgICAgIyBQcmVwYXJlIGZvciBleHBlcnQgcm91dGluZwogICAgICAgIGV4cGVydF9pbmRpY2VzID0gdG9wa19pbmRpY2VzLnJlc2hhcGUoLTEpCiAgICAgICAgZXhwZXJ0X3Njb3JlcyA9IHRvcGtfc2NvcmVzLnJlc2hhcGUoLTEsIDEpCiAgICAgICAgdG9rZW5faW5kaWNlcyA9IHRvcmNoLmFyYW5nZShOLCBkZXZpY2U9eC5kZXZpY2UpLnJlcGVhdF9pbnRlcmxlYXZlKHNlbGYudG9wX2spCgogICAgICAgICMgU29ydCBieSBleHBlcnQgaW5kaWNlcyBmb3IgZWZmaWNpZW50IGJhdGNoaW5nCiAgICAgICAgc29ydGVkX2lkeCA9IGV4cGVydF9pbmRpY2VzLmFyZ3NvcnQoKQogICAgICAgIGV4cGVydF9pbmRpY2VzID0gZXhwZXJ0X2luZGljZXNbc29ydGVkX2lkeF0KICAgICAgICB0b2tlbl9pbmRpY2VzID0gdG9rZW5faW5kaWNlc1tzb3J0ZWRfaWR4XQogICAgICAgIGV4cGVydF9zY29yZXMgPSBleHBlcnRfc2NvcmVzW3NvcnRlZF9pZHhdCgogICAgICAgICMgQ2FsY3VsYXRlIGV4cGVydCBib3VuZGFyaWVzCiAgICAgICAgY291bnRzID0gdG9yY2guYmluY291bnQoZXhwZXJ0X2luZGljZXMsIG1pbmxlbmd0aD1zZWxmLm51bV9leHBlcnRzKQogICAgICAgIGN1bXN1bSA9IGNvdW50cy5jdW1zdW0oMCkuY3B1KCkubnVtcHkoKQoKICAgICAgICBvdXRwdXQgPSB0b3JjaC56ZXJvc19saWtlKHhfZmxhdCkKCiAgICAgICAgIyBQcm9jZXNzIGVhY2ggZXhwZXJ0CiAgICAgICAgZm9yIGkgaW4gcmFuZ2Uoc2VsZi5udW1fZXhwZXJ0cyk6CiAgICAgICAgICAgIHN0YXJ0ID0gMCBpZiBpID09IDAgZWxzZSBjdW1zdW1baSAtIDFdCiAgICAgICAgICAgIGVuZCA9IGN1bXN1bVtpXQogICAgICAgICAgICBpZiBzdGFydCA9PSBlbmQ6CiAgICAgICAgICAgICAgICBjb250aW51ZQoKICAgICAgICAgICAgdG9rZW5zID0gdG9rZW5faW5kaWNlc1tzdGFydDplbmRdCiAgICAgICAgICAgIHdlaWdodHMgPSBleHBlcnRfc2NvcmVzW3N0YXJ0OmVuZF0KICAgICAgICAgICAgaW5wdXRzID0geF9mbGF0W3Rva2Vuc10KCiAgICAgICAgICAgICMgQXBwbHkgZXhwZXJ0IHVzaW5nIGZ1c2VkIGtlcm5lbAogICAgICAgICAgICBvdXQgPSBmdXNlZF9leHBlcnRfZm9yd2FyZCgKICAgICAgICAgICAgICAgIGlucHV0cywKICAgICAgICAgICAgICAgIHNlbGYud2VpZ2h0c1siV19nYXRlIl1baV0sCiAgICAgICAgICAgICAgICBzZWxmLndlaWdodHNbIldfdXAiXVtpXSwKICAgICAgICAgICAgICAgIHNlbGYud2VpZ2h0c1siV19kb3duIl1baV0sCiAgICAgICAgICAgICAgICB3ZWlnaHRzCiAgICAgICAgICAgICkKCiAgICAgICAgICAgIG91dHB1dC5zY2F0dGVyX2FkZF8oMCwgdG9rZW5zLnVuc3F1ZWV6ZSgxKS5leHBhbmQoLTEsIEQpLCBvdXQpCgogICAgICAgIHJldHVybiAoc2hhcmVkX291dC52aWV3KE4sIEQpICsgb3V0cHV0KS52aWV3KEIsIFQsIEQpCgoKZGVmIGN1c3RvbV9rZXJuZWwoZGF0YTogaW5wdXRfdCkgLT4gb3V0cHV0X3Q6CiAgICB4LCB3ZWlnaHRzLCBjb25maWcgPSBkYXRhCiAgICBtb2UgPSBNb0UoY29uZmlnKQogICAgbW9lLmxvYWRfd2VpZ2h0cyh3ZWlnaHRzKQogICAgcmV0dXJuIG1vZSh4KQ==

Source 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 amd-mixture-of-experts · submission 27552.

- IyFQT1BDT1JOIGxlYWRlcmJvYXJkIGFtZC1taXh0dXJlLW9mLWV4cGVydHMKIyFQT1BDT1JOIGdwdXMgTUkzMDAKCmltcG9ydCBtYXRoCmltcG9ydCB0b3JjaAppbXBvcnQgdG9yY2gubm4gYXMgbm4KaW1wb3J0IHRvcmNoLm5uLmZ1bmN0aW9uYWwgYXMgRgpmcm9tIHR5cGluZyBpbXBvcnQgRGljdCwgVHVwbGUKZnJvbSB0YXNrIGltcG9ydCBpbnB1dF90LCBvdXRwdXRfdAoKQHRvcmNoLmppdC5zY3JpcHQgCmRlZiBhcHBseV9leHBlcnQoCiAgICB4OiB0b3JjaC5UZW5zb3IsCiAgICB3X2dhdGU6IHRvcmNoLlRlbnNvciwKICAgIHdfdXA6IHRvcmNoLlRlbnNvciwgCiAgICB3X2Rvd246IHRvcmNoLlRlbnNvciwKICAgIHdlaWdodDogdG9yY2guVGVuc29yCikgLT4gdG9yY2guVGVuc29yOgogICAgeCA9IHguY29udGlndW91cygpCiAgICBnYXRlZCA9IEYuc2lsdSh4IEAgd19nYXRlKQogICAgdXAgPSB4IEAgd191cAogICAgcmV0dXJuIChnYXRlZCAqIHVwICogd2VpZ2h0KSBAIHdfZG93bgoKY2xhc3MgTW9FKG5uLk1vZHVsZSk6CiAgICBkZWYgX19pbml0X18oc2VsZiwgY29uZmlnOiBEaWN0KToKICAgICAgICBzdXBlcigpLl9faW5pdF9fKCkKICAgICAgICBzZWxmLm51bV9leHBlcnRzID0gY29uZmlnWyJuX3JvdXRlZF9leHBlcnRzIl0KICAgICAgICBzZWxmLnRvcF9rID0gY29uZmlnWyJuX2V4cGVydHNfcGVyX3Rva2VuIl0KICAgICAgICBzZWxmLndlaWdodHMgPSB7CiAgICAgICAgICAgICJyb3V0ZXIiOiBOb25lLAogICAgICAgICAgICAiZ2F0ZSI6IFtOb25lXSAqIHNlbGYubnVtX2V4cGVydHMsCiAgICAgICAgICAgICJ1cCI6IFtOb25lXSAqIHNlbGYubnVtX2V4cGVydHMsCiAgICAgICAgICAgICJkb3duIjogW05vbmVdICogc2VsZi5udW1fZXhwZXJ0cywKICAgICAgICAgICAgInNoYXJlZF9nYXRlIjogTm9uZSwKICAgICAgICAgICAgInNoYXJlZF91cCI6IE5vbmUsCiAgICAgICAgICAgICJzaGFyZWRfZG93biI6IE5vbmUKICAgICAgICB9CgogICAgZGVmIGZvcndhcmQoc2VsZiwgeDogdG9yY2guVGVuc29yKSAtPiB0b3JjaC5UZW5zb3I6CiAgICAgICAgQiwgVCwgRCA9IHguc2hhcGUKICAgICAgICBOID0gQiAqIFQKICAgICAgICB4X2ZsYXQgPSB4LnZpZXcoTiwgRCkKCiAgICAgICAgc2hhcmVkID0gKEYuc2lsdSh4IEAgc2VsZi53ZWlnaHRzWyJzaGFyZWRfZ2F0ZSJdKSAqICh4IEAgc2VsZi53ZWlnaHRzWyJzaGFyZWRfdXAiXSkpIEAgc2VsZi53ZWlnaHRzWyJzaGFyZWRfZG93biJdCgogICAgICAgIGxvZ2l0cyA9IHhfZmxhdCBAIHNlbGYud2VpZ2h0c1sicm91dGVyIl0KICAgICAgICBwcm9icyA9IEYuc29mdG1heChsb2dpdHMsIGRpbT0tMSkKICAgICAgICB0b3BrX3ZhbHMsIHRvcGtfaWRzID0gdG9yY2gudG9wayhwcm9icywgaz1zZWxmLnRvcF9rLCBkaW09LTEpCgogICAgICAgIHRva2VuX2lkcyA9IHRvcmNoLmFyYW5nZShOLCBkZXZpY2U9eC5kZXZpY2UpLnJlcGVhdF9pbnRlcmxlYXZlKHNlbGYudG9wX2spCiAgICAgICAgZXhwZXJ0X2lkcyA9IHRvcGtfaWRzLnJlc2hhcGUoLTEpCiAgICAgICAgZXhwZXJ0X3dlaWdodHMgPSB0b3BrX3ZhbHMucmVzaGFwZSgtMSwgMSkKCiAgICAgICAgc29ydF9pZHggPSBleHBlcnRfaWRzLmFyZ3NvcnQoKQogICAgICAgIGV4cGVydF9pZHMgPSBleHBlcnRfaWRzW3NvcnRfaWR4XQogICAgICAgIHRva2VuX2lkcyA9IHRva2VuX2lkc1tzb3J0X2lkeF0KICAgICAgICBleHBlcnRfd2VpZ2h0cyA9IGV4cGVydF93ZWlnaHRzW3NvcnRfaWR4XQoKICAgICAgICBvdXRwdXQgPSB0b3JjaC56ZXJvc19saWtlKHhfZmxhdCkKICAgICAgICBjb3VudHMgPSB0b3JjaC5iaW5jb3VudChleHBlcnRfaWRzLCBtaW5sZW5ndGg9c2VsZi5udW1fZXhwZXJ0cykKICAgICAgICBjdW1zdW0gPSBjb3VudHMuY3Vtc3VtKDApLmNwdSgpLm51bXB5KCkKCiAgICAgICAgZm9yIGkgaW4gcmFuZ2Uoc2VsZi5udW1fZXhwZXJ0cyk6CiAgICAgICAgICAgIHN0YXJ0ID0gMCBpZiBpID09IDAgZWxzZSBjdW1zdW1baSAtIDFdCiAgICAgICAgICAgIGVuZCA9IGN1bXN1bVtpXQogICAgICAgICAgICBpZiBzdGFydCA9PSBlbmQ6CiAgICAgICAgICAgICAgICBjb250aW51ZQoKICAgICAgICAgICAgaWR4ID0gdG9rZW5faWRzW3N0YXJ0OmVuZF0KICAgICAgICAgICAgdyA9IGV4cGVydF93ZWlnaHRzW3N0YXJ0OmVuZF0KICAgICAgICAgICAgaW5wID0geF9mbGF0W2lkeF0KCiAgICAgICAgICAgIG91dCA9IGFwcGx5X2V4cGVydCgKICAgICAgICAgICAgICAgIGlucCwKICAgICAgICAgICAgICAgIHNlbGYud2VpZ2h0c1siZ2F0ZSJdW2ldLAogICAgICAgICAgICAgICAgc2VsZi53ZWlnaHRzWyJ1cCJdW2ldLAogICAgICAgICAgICAgICAgc2VsZi53ZWlnaHRzWyJkb3duIl1baV0sCiAgICAgICAgICAgICAgICB3CiAgICAgICAgICAgICkKCiAgICAgICAgICAgIG91dHB1dC5zY2F0dGVyX2FkZF8oMCwgaWR4LnVuc3F1ZWV6ZSgxKS5leHBhbmQoLTEsIEQpLCBvdXQpCgogICAgICAgIHJldHVybiAoc2hhcmVkLnZpZXcoTiwgRCkgKyBvdXRwdXQpLnZpZXcoQiwgVCwgRCkKCiAgICBkZWYgbG9hZChzZWxmLCB3OiBEaWN0W3N0ciwgdG9yY2guVGVuc29yXSk6CiAgICAgICAgc2VsZi53ZWlnaHRzWyJyb3V0ZXIiXSA9IHdbInJvdXRlci53ZWlnaHQiXS50KCkKICAgICAgICBzZWxmLndlaWdodHNbInNoYXJlZF9nYXRlIl0gPSB3WyJzaGFyZWRfZXhwZXJ0cy4wLndlaWdodCJdCiAgICAgICAgc2VsZi53ZWlnaHRzWyJzaGFyZWRfdXAiXSA9IHdbInNoYXJlZF9leHBlcnRzLjEud2VpZ2h0Il0KICAgICAgICBzZWxmLndlaWdodHNbInNoYXJlZF9kb3duIl0gPSB3WyJzaGFyZWRfZXhwZXJ0cy4yLndlaWdodCJdCiAgICAgICAgZm9yIGkgaW4gcmFuZ2Uoc2VsZi5udW1fZXhwZXJ0cyk6CiAgICAgICAgICAgIHNlbGYud2VpZ2h0c1siZ2F0ZSJdW2ldID0gd1tmImV4cGVydHMue2l9LjAud2VpZ2h0Il0KICAgICAgICAgICAgc2VsZi53ZWlnaHRzWyJ1cCJdW2ldID0gd1tmImV4cGVydHMue2l9LjEud2VpZ2h0Il0KICAgICAgICAgICAgc2VsZi53ZWlnaHRzWyJkb3duIl1baV0gPSB3W2YiZXhwZXJ0cy57aX0uMi53ZWlnaHQiXQoKZGVmIGN1c3RvbV9rZXJuZWwoZGF0YTogaW5wdXRfdCkgLT4gb3V0cHV0X3Q6CiAgICB4LCB3LCBjZmcgPSBkYXRhCiAgICBtb2RlbCA9IE1vRShjZmcpCiAgICBtb2RlbC5sb2FkKHcpCiAgICByZXR1cm4gbW9kZWwoeCkKCg==
No newline at end of file
+ IyFQT1BDT1JOIGxlYWRlcmJvYXJkIGFtZC1taXh0dXJlLW9mLWV4cGVydHMKIyFQT1BDT1JOIGdwdXMgTUkzMDAKCmltcG9ydCBtYXRoCmltcG9ydCB0b3JjaAppbXBvcnQgdG9yY2gubm4gYXMgbm4KaW1wb3J0IHRvcmNoLm5uLmZ1bmN0aW9uYWwgYXMgRgpmcm9tIHR5cGluZyBpbXBvcnQgRGljdCwgVHVwbGUKZnJvbSB0YXNrIGltcG9ydCBpbnB1dF90LCBvdXRwdXRfdAoKCkB0b3JjaC5qaXQuc2NyaXB0CmRlZiBmdXNlZF9leHBlcnRfZm9yd2FyZCgKICAgIHg6IHRvcmNoLlRlbnNvciwKICAgIFdfZ2F0ZTogdG9yY2guVGVuc29yLAogICAgV191cDogdG9yY2guVGVuc29yLAogICAgV19kb3duOiB0b3JjaC5UZW5zb3IsCiAgICB3ZWlnaHQ6IHRvcmNoLlRlbnNvcgopIC0+IHRvcmNoLlRlbnNvcjoKICAgIHggPSB4LmNvbnRpZ3VvdXMoKQogICAgZ2F0ZSA9IEYuc2lsdSh4IEAgV19nYXRlKQogICAgdXAgPSB4IEAgV191cAogICAgcmV0dXJuIChnYXRlICogdXAgKiB3ZWlnaHQpIEAgV19kb3duCgoKY2xhc3MgTW9FKG5uLk1vZHVsZSk6CiAgICBkZWYgX19pbml0X18oc2VsZiwgY29uZmlnOiBEaWN0KToKICAgICAgICBzdXBlcigpLl9faW5pdF9fKCkKICAgICAgICBzZWxmLmNvbmZpZyA9IGNvbmZpZwogICAgICAgIHNlbGYubnVtX2V4cGVydHMgPSBjb25maWdbIm5fcm91dGVkX2V4cGVydHMiXQogICAgICAgIHNlbGYudG9wX2sgPSBjb25maWdbIm5fZXhwZXJ0c19wZXJfdG9rZW4iXQogICAgICAgIHNlbGYuZF9oaWRkZW4gPSBjb25maWdbImRfaGlkZGVuIl0KICAgICAgICAKICAgICAgICAjIERpY3Rpb25hcnktYmFzZWQgd2VpZ2h0IHN0b3JhZ2UgZm9yIGJldHRlciBwZXJmb3JtYW5jZQogICAgICAgIHNlbGYud2VpZ2h0cyA9IHsKICAgICAgICAgICAgIldfZyI6IE5vbmUsCiAgICAgICAgICAgICJXX2dhdGUiOiBbTm9uZV0gKiBzZWxmLm51bV9leHBlcnRzLAogICAgICAgICAgICAiV191cCI6IFtOb25lXSAqIHNlbGYubnVtX2V4cGVydHMsCiAgICAgICAgICAgICJXX2Rvd24iOiBbTm9uZV0gKiBzZWxmLm51bV9leHBlcnRzLAogICAgICAgICAgICAiV19zaGFyZWRfZ2F0ZSI6IE5vbmUsCiAgICAgICAgICAgICJXX3NoYXJlZF91cCI6IE5vbmUsCiAgICAgICAgICAgICJXX3NoYXJlZF9kb3duIjogTm9uZQogICAgICAgIH0KCiAgICBkZWYgbG9hZF93ZWlnaHRzKHNlbGYsIHdlaWdodHM6IERpY3Rbc3RyLCB0b3JjaC5UZW5zb3JdKToKICAgICAgICAiIiJMb2FkIHdlaWdodHMgaW50byB0aGUgbW9kZWwiIiIKICAgICAgICBzZWxmLndlaWdodHNbIldfZyJdID0gd2VpZ2h0c1sicm91dGVyLndlaWdodCJdLnQoKQogICAgICAgIHNlbGYud2VpZ2h0c1siV19zaGFyZWRfZ2F0ZSJdID0gd2VpZ2h0c1sic2hhcmVkX2V4cGVydHMuMC53ZWlnaHQiXQogICAgICAgIHNlbGYud2VpZ2h0c1siV19zaGFyZWRfdXAiXSA9IHdlaWdodHNbInNoYXJlZF9leHBlcnRzLjEud2VpZ2h0Il0KICAgICAgICBzZWxmLndlaWdodHNbIldfc2hhcmVkX2Rvd24iXSA9IHdlaWdodHNbInNoYXJlZF9leHBlcnRzLjIud2VpZ2h0Il0KICAgICAgICAKICAgICAgICBmb3IgaSBpbiByYW5nZShzZWxmLm51bV9leHBlcnRzKToKICAgICAgICAgICAgc2VsZi53ZWlnaHRzWyJXX2dhdGUiXVtpXSA9IHdlaWdodHNbZiJleHBlcnRzLntpfS4wLndlaWdodCJdCiAgICAgICAgICAgIHNlbGYud2VpZ2h0c1siV191cCJdW2ldID0gd2VpZ2h0c1tmImV4cGVydHMue2l9LjEud2VpZ2h0Il0KICAgICAgICAgICAgc2VsZi53ZWlnaHRzWyJXX2Rvd24iXVtpXSA9IHdlaWdodHNbZiJleHBlcnRzLntpfS4yLndlaWdodCJdCgogICAgZGVmIGZvcndhcmQoc2VsZiwgeDogdG9yY2guVGVuc29yKSAtPiB0b3JjaC5UZW5zb3I6CiAgICAgICAgQiwgVCwgRCA9IHguc2hhcGUKICAgICAgICBOID0gQiAqIFQKICAgICAgICB4X2ZsYXQgPSB4LnZpZXcoTiwgRCkKCiAgICAgICAgIyBTaGFyZWQgZXhwZXJ0IGNvbXB1dGF0aW9uCiAgICAgICAgc2hhcmVkX291dCA9ICgKICAgICAgICAgICAgRi5zaWx1KHggQCBzZWxmLndlaWdodHNbIldfc2hhcmVkX2dhdGUiXSkKICAgICAgICAgICAgKiAoeCBAIHNlbGYud2VpZ2h0c1siV19zaGFyZWRfdXAiXSkKICAgICAgICApIEAgc2VsZi53ZWlnaHRzWyJXX3NoYXJlZF9kb3duIl0KCiAgICAgICAgIyBHYXRpbmcgbmV0d29yawogICAgICAgIGxvZ2l0cyA9IHhfZmxhdCBAIHNlbGYud2VpZ2h0c1siV19nIl0KICAgICAgICBwcm9icyA9IEYuc29mdG1heChsb2dpdHMsIGRpbT0tMSkKICAgICAgICB0b3BrX3Njb3JlcywgdG9wa19pbmRpY2VzID0gdG9yY2gudG9wayhwcm9icywgaz1zZWxmLnRvcF9rLCBkaW09LTEpCiAgICAgICAgCiAgICAgICAgIyBQcmVwYXJlIGZvciBleHBlcnQgcm91dGluZwogICAgICAgIGV4cGVydF9pbmRpY2VzID0gdG9wa19pbmRpY2VzLnJlc2hhcGUoLTEpCiAgICAgICAgZXhwZXJ0X3Njb3JlcyA9IHRvcGtfc2NvcmVzLnJlc2hhcGUoLTEsIDEpCiAgICAgICAgdG9rZW5faW5kaWNlcyA9IHRvcmNoLmFyYW5nZShOLCBkZXZpY2U9eC5kZXZpY2UpLnJlcGVhdF9pbnRlcmxlYXZlKHNlbGYudG9wX2spCgogICAgICAgICMgU29ydCBieSBleHBlcnQgaW5kaWNlcyBmb3IgZWZmaWNpZW50IGJhdGNoaW5nCiAgICAgICAgc29ydGVkX2lkeCA9IGV4cGVydF9pbmRpY2VzLmFyZ3NvcnQoKQogICAgICAgIGV4cGVydF9pbmRpY2VzID0gZXhwZXJ0X2luZGljZXNbc29ydGVkX2lkeF0KICAgICAgICB0b2tlbl9pbmRpY2VzID0gdG9rZW5faW5kaWNlc1tzb3J0ZWRfaWR4XQogICAgICAgIGV4cGVydF9zY29yZXMgPSBleHBlcnRfc2NvcmVzW3NvcnRlZF9pZHhdCgogICAgICAgICMgQ2FsY3VsYXRlIGV4cGVydCBib3VuZGFyaWVzCiAgICAgICAgY291bnRzID0gdG9yY2guYmluY291bnQoZXhwZXJ0X2luZGljZXMsIG1pbmxlbmd0aD1zZWxmLm51bV9leHBlcnRzKQogICAgICAgIGN1bXN1bSA9IGNvdW50cy5jdW1zdW0oMCkuY3B1KCkubnVtcHkoKQoKICAgICAgICBvdXRwdXQgPSB0b3JjaC56ZXJvc19saWtlKHhfZmxhdCkKCiAgICAgICAgIyBQcm9jZXNzIGVhY2ggZXhwZXJ0CiAgICAgICAgZm9yIGkgaW4gcmFuZ2Uoc2VsZi5udW1fZXhwZXJ0cyk6CiAgICAgICAgICAgIHN0YXJ0ID0gMCBpZiBpID09IDAgZWxzZSBjdW1zdW1baSAtIDFdCiAgICAgICAgICAgIGVuZCA9IGN1bXN1bVtpXQogICAgICAgICAgICBpZiBzdGFydCA9PSBlbmQ6CiAgICAgICAgICAgICAgICBjb250aW51ZQoKICAgICAgICAgICAgdG9rZW5zID0gdG9rZW5faW5kaWNlc1tzdGFydDplbmRdCiAgICAgICAgICAgIHdlaWdodHMgPSBleHBlcnRfc2NvcmVzW3N0YXJ0OmVuZF0KICAgICAgICAgICAgaW5wdXRzID0geF9mbGF0W3Rva2Vuc10KCiAgICAgICAgICAgICMgQXBwbHkgZXhwZXJ0IHVzaW5nIGZ1c2VkIGtlcm5lbAogICAgICAgICAgICBvdXQgPSBmdXNlZF9leHBlcnRfZm9yd2FyZCgKICAgICAgICAgICAgICAgIGlucHV0cywKICAgICAgICAgICAgICAgIHNlbGYud2VpZ2h0c1siV19nYXRlIl1baV0sCiAgICAgICAgICAgICAgICBzZWxmLndlaWdodHNbIldfdXAiXVtpXSwKICAgICAgICAgICAgICAgIHNlbGYud2VpZ2h0c1siV19kb3duIl1baV0sCiAgICAgICAgICAgICAgICB3ZWlnaHRzCiAgICAgICAgICAgICkKCiAgICAgICAgICAgIG91dHB1dC5zY2F0dGVyX2FkZF8oMCwgdG9rZW5zLnVuc3F1ZWV6ZSgxKS5leHBhbmQoLTEsIEQpLCBvdXQpCgogICAgICAgIHJldHVybiAoc2hhcmVkX291dC52aWV3KE4sIEQpICsgb3V0cHV0KS52aWV3KEIsIFQsIEQpCgoKZGVmIGN1c3RvbV9rZXJuZWwoZGF0YTogaW5wdXRfdCkgLT4gb3V0cHV0X3Q6CiAgICB4LCB3ZWlnaHRzLCBjb25maWcgPSBkYXRhCiAgICBtb2UgPSBNb0UoY29uZmlnKQogICAgbW9lLmxvYWRfd2VpZ2h0cyh3ZWlnaHRzKQogICAgcmV0dXJuIG1vZSh4KQ==
No newline at end of file

Best evidence level for this revision: reported

JSON