Name: series-workflowfs2tm Phase: Succeeded StartedAt: 2026-06-29 02:16:16 +0000 UTC FinishedAt: 2026-06-29 06:35:23 +0000 UTC Input: nil Output: nil --------- Name: series-workflowfs2tm[0] Phase: Succeeded StartedAt: 2026-06-29 02:16:16 +0000 UTC FinishedAt: 2026-06-29 02:38:05 +0000 UTC Input: nil Output: nil --------- Name: series-workflowfs2tm[0].run-triage Phase: Succeeded StartedAt: 2026-06-29 02:16:16 +0000 UTC FinishedAt: 2026-06-29 02:38:05 +0000 UTC Input: nil Output: &Outputs{Parameters:[]Parameter{Parameter{Name:result,Default:nil,Value:*{ "skip_reason": "", "targets": [ { "base": { "arch": "amd64", "tree_name": "torvalds", "tree_url": "https://kernel.googlesource.com/pub/scm/linux/kernel/git/torvalds/linux", "commit_hash": "dc59e4fea9d83f03bad6bddf3fa2e52491777482", "config_name": "upstream-apparmor-kasan.config", "enable_configs": [ "BLK_DEV_NBD" ], "series_id": "" }, "patched": { "arch": "amd64", "tree_name": "torvalds", "tree_url": "https://kernel.googlesource.com/pub/scm/linux/kernel/git/torvalds/linux", "commit_hash": "dc59e4fea9d83f03bad6bddf3fa2e52491777482", "config_name": "upstream-apparmor-kasan.config", "enable_configs": [ "BLK_DEV_NBD" ], "series_id": "7690d55f-5137-4574-b9ad-84b64cdc8cde" }, "track": "KASAN", "fuzz": { "focus": [ "fs" ], "focus_symbols": [ "nbd_nsock_deferred_shutdown", "nbd_mark_nsock_dead", "sock_shutdown", "nbd_xmit_timeout", "nbd_pending_cmd_work", "recv_work", "nbd_handle_cmd", "nbd_reconnect_socket" ], "corpus_urls": [ "https://storage.googleapis.com/syzkaller/corpus/ci2-upstream-fs-corpus.db" ], "skip_cover_check": false, "bug_title_re": "" }, "retest": null } ], "trajectory": "CjwhZG9jdHlwZSBodG1sPgo8aHRtbD4KPGhlYWQ+Cgk8dGl0bGU+QUkgVHJhamVjdG9yeTwvdGl0bGU+Cgk8c3R5bGU+CgkJdGFibGUgewoJCQlib3JkZXI6IDFweCBzb2xpZCAjY2NjOwoJCQltYXJnaW46IDIwcHggNXB4OwoJCQlib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlOwoJCQl3aGl0ZS1zcGFjZTogbm93cmFwOwoJCQl0ZXh0LW92ZXJmbG93OiBlbGxpcHNpczsKCQkJb3ZlcmZsb3c6IGhpZGRlbjsKCQl9CgoJCXRhYmxlIGNhcHRpb24gewoJCQlmb250LXdlaWdodDogYm9sZDsKCQl9CgoJCXRhYmxlIHRkLCB0YWJsZSB0aCB7CgkJCXZlcnRpY2FsLWFsaWduOiB0b3A7CgkJCXBhZGRpbmc6IDJweCA4cHg7CgkJCXRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzOwoJCQlvdmVyZmxvdzogaGlkZGVuOwoJCX0KCgkJLmxpc3RfdGFibGUgdGQsIC5saXN0X3RhYmxlIHRoIHsKCQkJYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCAjY2NjOwoJCX0KCgkJLmxpc3RfdGFibGUgdGggewoJCQliYWNrZ3JvdW5kOiAjRjRGNEY0OwoJCX0KCgkJLmxpc3RfdGFibGUgdHI6bnRoLWNoaWxkKDJuKSB7CgkJCWJhY2tncm91bmQ6ICNGNEY0RjQ7CgkJfQoKCQkubGlzdF90YWJsZSB0cjpob3ZlciB7CgkJCWJhY2tncm91bmQ6ICNmZmZmOTk7CgkJfQoKCQkjYWlfZGV0YWlsc19kaXYgcHJlIHsKCQkJbWFyZ2luOiAxcHg7CgkJCW1heC13aWR0aDogMTIwY2g7CgkJCXdoaXRlLXNwYWNlOiBwcmUtd3JhcDsKCQkJb3ZlcmZsb3ctd3JhcDogYnJlYWstd29yZDsKCQl9Cgk8L3N0eWxlPgo8L2hlYWQ+Cjxib2R5PgoJPGgxPkFJIFRyYWplY3Rvcnk8L2gxPgoJPGJyPgoKCQoJPHRhYmxlIGNsYXNzPSJsaXN0X3RhYmxlIj4KCQk8Y2FwdGlvbj5UcmFqZWN0b3J5OiAoPGEgaHJlZj0iIyIgb25jbGljaz0idG9nZ2xlQWxsRGV0YWlscygpOyByZXR1cm4gZmFsc2U7Ij5FeHBhbmQvQ29sbGFwc2UgQWxsPC9hPik8L2NhcHRpb24+CgkJPHRoZWFkPjx0cj4KCQkJPHRoPlNlcTwvdGg+CgkJCTx0aD5UaW1lc3RhbXA8L3RoPgoJCQk8dGg+VHlwZTwvdGg+CgkJCTx0aD5OYW1lPC90aD4KCQkJPHRoPkR1cmF0aW9uPC90aD4KCQk8L3RyPjwvdGhlYWQ+CgkJPHRib2R5PgoJCQoJCTx0cj4KCQkJPHRkPjAvMDwvdGQ+CgkJCTx0ZD4yMDI2LzA2LzI5IDAyOjM3PC90ZD4KCQkJPHRkPmZsb3c8L3RkPgoJCQk8dGQ+cGF0Y2gtdHJpYWdlPC90ZD4KCQkJPHRkPgoJCQkJPGRldGFpbHM+CgkJCQkJPHN1bW1hcnk+MG08L3N1bW1hcnk+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPkFyZ3M6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5udWxsPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5SZXN1bHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+ewogICYjMzQ7RW5hYmxlQ29uZmlncyYjMzQ7OiBbCiAgICAmIzM0O0JMS19ERVZfTkJEJiMzNDsKICBdLAogICYjMzQ7Rm9jdXNTeW1ib2xzJiMzNDs6IFsKICAgICYjMzQ7bmJkX25zb2NrX2RlZmVycmVkX3NodXRkb3duJiMzNDssCiAgICAmIzM0O25iZF9tYXJrX25zb2NrX2RlYWQmIzM0OywKICAgICYjMzQ7c29ja19zaHV0ZG93biYjMzQ7LAogICAgJiMzNDtuYmRfeG1pdF90aW1lb3V0JiMzNDssCiAgICAmIzM0O25iZF9wZW5kaW5nX2NtZF93b3JrJiMzNDssCiAgICAmIzM0O3JlY3Zfd29yayYjMzQ7LAogICAgJiMzNDtuYmRfaGFuZGxlX2NtZCYjMzQ7LAogICAgJiMzNDtuYmRfcmVjb25uZWN0X3NvY2tldCYjMzQ7CiAgXSwKICAmIzM0O1JlYXNvbmluZyYjMzQ7OiAmIzM0O1RoZSBwYXRjaCBmaXhlcyBhIGNpcmN1bGFyIGxvY2sgZGVwZW5kZW5jeSBpbiB0aGUgbmV0d29yayBibG9jayBkZXZpY2UgKE5CRCkgZHJpdmVyIGJ5IGRlZmVycmluZyBzb2NrZXQgc2h1dGRvd24gb3V0c2lkZSBvZiB0aGUgYHR4X2xvY2tgLiBUaGlzIG1vZGlmaWVzIHRoZSBjb3JlIGNvbm5lY3Rpb24gbWFuYWdlbWVudCBhbmQgZXJyb3IgaGFuZGxpbmcgbG9naWMgb2YgTkJELCB3aGljaCBpcyByZWFjaGFibGUgYW5kIGZ1bmN0aW9uYWwgY29kZS4mIzM0OywKICAmIzM0O1dvcnRoRnV6emluZyYjMzQ7OiB0cnVlCn08L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQk8L2RldGFpbHM+CgkJCTwvdGQ+CgkJPC90cj4KCQkKCQk8dHI+CgkJCTx0ZD4xLzE8L3RkPgoJCQk8dGQ+MjAyNi8wNi8yOSAwMjozNzwvdGQ+CgkJCTx0ZD5hY3Rpb248L3RkPgoJCQk8dGQ+cmVhZC1wYXRjaC1kaWZmPC90ZD4KCQkJPHRkPgoJCQkJPGRldGFpbHM+CgkJCQkJPHN1bW1hcnk+MG08L3N1bW1hcnk+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPkFyZ3M6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5udWxsPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5SZXN1bHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+ewogICYjMzQ7UGF0Y2hEaWZmJiMzNDs6ICYjMzQ7Y29tbWl0IDAzNDBmZDdiN2U1YjI2OThhZjBmZDUxZGE5OGU2OWJlMzEwYzkzNjhcbkF1dGhvcjogc3l6LWNsdXN0ZXIgXHUwMDNjdHJpYWdlQHN5emthbGxlci5jb21cdTAwM2VcbkRhdGU6ICAgTW9uIEp1biAyOSAwMjozNzozNyAyMDI2ICYjNDM7MDAwMFxuXG4gICAgc3l6LWNsdXN0ZXI6IGFwcGxpZWQgcGF0Y2ggdW5kZXIgcmV2aWV3XG5cbmRpZmYgLS1naXQgYS9kcml2ZXJzL2Jsb2NrL25iZC5jIGIvZHJpdmVycy9ibG9jay9uYmQuY1xuaW5kZXggOGYxMDc2MmU5MGVmNzQuLjQ5N2YzYmJlNTc5NThjIDEwMDY0NFxuLS0tIGEvZHJpdmVycy9ibG9jay9uYmQuY1xuJiM0MzsmIzQzOyYjNDM7IGIvZHJpdmVycy9ibG9jay9uYmQuY1xuQEAgLTU4LDYgJiM0Mzs1OCw3IEBAIHN0cnVjdCBuYmRfc29jayB7XG4gXHRzdHJ1Y3Qgc29ja2V0ICpzb2NrO1xuIFx0c3RydWN0IG11dGV4IHR4X2xvY2s7XG4gXHRzdHJ1Y3QgcmVxdWVzdCAqcGVuZGluZztcbiYjNDM7XHRzdHJ1Y3Qgc29ja2V0ICpzaHV0ZG93bl9zb2NrO1xuIFx0aW50IHNlbnQ7XG4gXHRib29sIGRlYWQ7XG4gXHRpbnQgZmFsbGJhY2tfaW5kZXg7XG5AQCAtMzE1LDcgJiM0MzszMTYsMTQgQEAgc3RhdGljIHZvaWQgbmJkX21hcmtfbnNvY2tfZGVhZChzdHJ1Y3QgbmJkX2RldmljZSAqbmJkLCBzdHJ1Y3QgbmJkX3NvY2sgKm5zb2NrLFxuIFx0XHR9XG4gXHR9XG4gXHRpZiAoIW5zb2NrLVx1MDAzZWRlYWQpIHtcbi1cdFx0a2VybmVsX3NvY2tfc2h1dGRvd24obnNvY2stXHUwMDNlc29jaywgU0hVVF9SRFdSKTtcbiYjNDM7XHRcdC8qXG4mIzQzO1x0XHQgKiBEZWZlciBzaHV0ZG93biB0byBhZnRlciB0eF9sb2NrIGlzIHJlbGVhc2VkIHRvIGF2b2lkXG4mIzQzO1x0XHQgKiBjaXJjdWxhciBsb2NrIGRlcGVuZGVuY3kgKHR4X2xvY2sgLVx1MDAzZSBza19sb2NrKS5cbiYjNDM7XHRcdCAqIEhvbGQgYW4gZXh0cmEgZmlsZSByZWZlcmVuY2Ugc28gdGhlIHNvY2tldCByZW1haW5zXG4mIzQzO1x0XHQgKiB2YWxpZCB1bnRpbCB0aGUgZGVmZXJyZWQgc2h1dGRvd24gY29tcGxldGVzLlxuJiM0MztcdFx0ICovXG4mIzQzO1x0XHRuc29jay1cdTAwM2VzaHV0ZG93bl9zb2NrID0gbnNvY2stXHUwMDNlc29jaztcbiYjNDM7XHRcdGdldF9maWxlKG5zb2NrLVx1MDAzZXNvY2stXHUwMDNlZmlsZSk7XG4gXHRcdGlmIChhdG9taWNfZGVjX3JldHVybihcdTAwMjZuYmQtXHUwMDNlY29uZmlnLVx1MDAzZWxpdmVfY29ubmVjdGlvbnMpID09IDApIHtcbiBcdFx0XHRpZiAodGVzdF9hbmRfY2xlYXJfYml0KE5CRF9SVF9ESVNDT05ORUNUX1JFUVVFU1RFRCxcbiBcdFx0XHRcdFx0ICAgICAgIFx1MDAyNm5iZC1cdTAwM2Vjb25maWctXHUwMDNlcnVudGltZV9mbGFncykpIHtcbkBAIC0zMzEsNiAmIzQzOzMzOSwyMCBAQCBzdGF0aWMgdm9pZCBuYmRfbWFya19uc29ja19kZWFkKHN0cnVjdCBuYmRfZGV2aWNlICpuYmQsIHN0cnVjdCBuYmRfc29jayAqbnNvY2ssXG4gXHRuc29jay1cdTAwM2VzZW50ID0gMDtcbiB9XG4gXG4mIzQzOy8qXG4mIzQzOyAqIFBlcmZvcm0gZGVmZXJyZWQgc29ja2V0IHNodXRkb3duIG91dHNpZGUgb2YgdHhfbG9jay5cbiYjNDM7ICogVXNlcyB4Y2hnIHRvIGd1YXJhbnRlZSBvbmx5IG9uZSBjYWxsZXIgcGVyZm9ybXMgdGhlIHNodXRkb3duLlxuJiM0MzsgKi9cbiYjNDM7c3RhdGljIHZvaWQgbmJkX25zb2NrX2RlZmVycmVkX3NodXRkb3duKHN0cnVjdCBuYmRfc29jayAqbnNvY2spXG4mIzQzO3tcbiYjNDM7XHRzdHJ1Y3Qgc29ja2V0ICpzb2NrID0geGNoZyhcdTAwMjZuc29jay1cdTAwM2VzaHV0ZG93bl9zb2NrLCBOVUxMKTtcbiYjNDM7XG4mIzQzO1x0aWYgKHNvY2spIHtcbiYjNDM7XHRcdGtlcm5lbF9zb2NrX3NodXRkb3duKHNvY2ssIFNIVVRfUkRXUik7XG4mIzQzO1x0XHRzb2NrZmRfcHV0KHNvY2spO1xuJiM0MztcdH1cbiYjNDM7fVxuJiM0MztcbiBzdGF0aWMgaW50IG5iZF9zZXRfc2l6ZShzdHJ1Y3QgbmJkX2RldmljZSAqbmJkLCBsb2ZmX3QgYnl0ZXNpemUsIGxvZmZfdCBibGtzaXplKVxuIHtcbiBcdHN0cnVjdCBxdWV1ZV9saW1pdHMgbGltO1xuQEAgLTQxMCw2ICYjNDM7NDMyLDcgQEAgc3RhdGljIHZvaWQgc29ja19zaHV0ZG93bihzdHJ1Y3QgbmJkX2RldmljZSAqbmJkKVxuIFx0XHRtdXRleF9sb2NrKFx1MDAyNm5zb2NrLVx1MDAzZXR4X2xvY2spO1xuIFx0XHRuYmRfbWFya19uc29ja19kZWFkKG5iZCwgbnNvY2ssIDApO1xuIFx0XHRtdXRleF91bmxvY2soXHUwMDI2bnNvY2stXHUwMDNldHhfbG9jayk7XG4mIzQzO1x0XHRuYmRfbnNvY2tfZGVmZXJyZWRfc2h1dGRvd24obnNvY2spO1xuIFx0fVxuIFx0ZGV2X3dhcm4oZGlza190b19kZXYobmJkLVx1MDAzZWRpc2spLCBcJiMzNDtzaHV0dGluZyBkb3duIHNvY2tldHNcXG5cJiMzNDspO1xuIH1cbkBAIC01MDIsNiAmIzQzOzUyNSw3IEBAIHN0YXRpYyBlbnVtIGJsa19laF90aW1lcl9yZXR1cm4gbmJkX3htaXRfdGltZW91dChzdHJ1Y3QgcmVxdWVzdCAqcmVxKVxuIFx0XHRcdFx0aWYgKGNtZC1cdTAwM2Vjb29raWUgPT0gbnNvY2stXHUwMDNlY29va2llKVxuIFx0XHRcdFx0XHRuYmRfbWFya19uc29ja19kZWFkKG5iZCwgbnNvY2ssIDEpO1xuIFx0XHRcdFx0bXV0ZXhfdW5sb2NrKFx1MDAyNm5zb2NrLVx1MDAzZXR4X2xvY2spO1xuJiM0MztcdFx0XHRcdG5iZF9uc29ja19kZWZlcnJlZF9zaHV0ZG93bihuc29jayk7XG4gXHRcdFx0fVxuIFx0XHRcdG5iZF9yZXF1ZXVlX2NtZChjbWQpO1xuIFx0XHRcdG11dGV4X3VubG9jayhcdTAwMjZjbWQtXHUwMDNlbG9jayk7XG5AQCAtODM2LDYgJiM0Mzs4NjAsNyBAQCBzdGF0aWMgdm9pZCBuYmRfcGVuZGluZ19jbWRfd29yayhzdHJ1Y3Qgd29ya19zdHJ1Y3QgKndvcmspXG4gXHRcdHdhaXRfbXMgKj0gMjtcbiBcdH1cbiBcdG11dGV4X3VubG9jayhcdTAwMjZuc29jay1cdTAwM2V0eF9sb2NrKTtcbiYjNDM7XHRuYmRfbnNvY2tfZGVmZXJyZWRfc2h1dGRvd24obnNvY2spO1xuIFx0Y2xlYXJfYml0KE5CRF9DTURfUEFSVElBTF9TRU5ELCBcdTAwMjZjbWQtXHUwMDNlZmxhZ3MpO1xuIG91dDpcbiBcdG11dGV4X3VubG9jayhcdTAwMjZjbWQtXHUwMDNlbG9jayk7XG5AQCAtMTAyMCw2ICYjNDM7MTA0NSw3IEBAIHN0YXRpYyB2b2lkIHJlY3Zfd29yayhzdHJ1Y3Qgd29ya19zdHJ1Y3QgKndvcmspXG4gXHRtdXRleF9sb2NrKFx1MDAyNm5zb2NrLVx1MDAzZXR4X2xvY2spO1xuIFx0bmJkX21hcmtfbnNvY2tfZGVhZChuYmQsIG5zb2NrLCAxKTtcbiBcdG11dGV4X3VubG9jayhcdTAwMjZuc29jay1cdTAwM2V0eF9sb2NrKTtcbiYjNDM7XHRuYmRfbnNvY2tfZGVmZXJyZWRfc2h1dGRvd24obnNvY2spO1xuIFxuIFx0YXRvbWljX2RlYyhcdTAwMjZjb25maWctXHUwMDNlcmVjdl90aHJlYWRzKTtcbiBcdHdha2VfdXAoXHUwMDI2Y29uZmlnLVx1MDAzZXJlY3Zfd3EpO1xuQEAgLTExNzcsNiAmIzQzOzEyMDMsNyBAQCBzdGF0aWMgYmxrX3N0YXR1c190IG5iZF9oYW5kbGVfY21kKHN0cnVjdCBuYmRfY21kICpjbWQsIGludCBpbmRleClcbiBcdHJldCA9IG5iZF9zZW5kX2NtZChuYmQsIGNtZCwgaW5kZXgpO1xuIG91dDpcbiBcdG11dGV4X3VubG9jayhcdTAwMjZuc29jay1cdTAwM2V0eF9sb2NrKTtcbiYjNDM7XHRuYmRfbnNvY2tfZGVmZXJyZWRfc2h1dGRvd24obnNvY2spO1xuIFx0bmJkX2NvbmZpZ19wdXQobmJkKTtcbiBcdHJldHVybiByZXQ7XG4gfVxuQEAgLTEzOTEsNiAmIzQzOzE0MTgsOCBAQCBzdGF0aWMgaW50IG5iZF9yZWNvbm5lY3Rfc29ja2V0KHN0cnVjdCBuYmRfZGV2aWNlICpuYmQsIHVuc2lnbmVkIGxvbmcgYXJnKVxuIFx0XHRhcmdzLVx1MDAzZW5zb2NrID0gbnNvY2s7XG4gXHRcdG5zb2NrLVx1MDAzZWNvb2tpZSYjNDM7JiM0Mzs7XG4gXHRcdG11dGV4X3VubG9jayhcdTAwMjZuc29jay1cdTAwM2V0eF9sb2NrKTtcbiYjNDM7XHRcdC8qIENvbXBsZXRlIGFueSBwZW5kaW5nIHNodXRkb3duIG9mIHRoZSBvbGQgc29ja2V0ICovXG4mIzQzO1x0XHRuYmRfbnNvY2tfZGVmZXJyZWRfc2h1dGRvd24obnNvY2spO1xuIFx0XHRzb2NrZmRfcHV0KG9sZCk7XG4gXG4gXHRcdGNsZWFyX2JpdChOQkRfUlRfRElTQ09OTkVDVEVELCBcdTAwMjZjb25maWctXHUwMDNlcnVudGltZV9mbGFncyk7XG4mIzM0Owp9PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJPC9kZXRhaWxzPgoJCQk8L3RkPgoJCTwvdHI+CgkJCgkJPHRyPgoJCQk8dGQ+Mi8xPC90ZD4KCQkJPHRkPjIwMjYvMDYvMjkgMDI6Mzc8L3RkPgoJCQk8dGQ+YWdlbnQ8L3RkPgoJCQk8dGQ+cGF0Y2gtZXZhbHVhdG9yPC90ZD4KCQkJPHRkPgoJCQkJPGRldGFpbHM+CgkJCQkJPHN1bW1hcnk+MG08L3N1bW1hcnk+CgkJCQkJCgkJCQkJCTxiPk1vZGVsOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+Z2VtaW5pLTMuMS1wcm8tcHJldmlldzwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+QXJnczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPm51bGw8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlJlc3VsdHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT57CiAgJiMzNDtFbmFibGVDb25maWdzJiMzNDs6IFsKICAgICYjMzQ7QkxLX0RFVl9OQkQmIzM0OwogIF0sCiAgJiMzNDtGb2N1c1N5bWJvbHMmIzM0OzogWwogICAgJiMzNDtuYmRfbnNvY2tfZGVmZXJyZWRfc2h1dGRvd24mIzM0OywKICAgICYjMzQ7bmJkX21hcmtfbnNvY2tfZGVhZCYjMzQ7LAogICAgJiMzNDtzb2NrX3NodXRkb3duJiMzNDssCiAgICAmIzM0O25iZF94bWl0X3RpbWVvdXQmIzM0OywKICAgICYjMzQ7bmJkX3BlbmRpbmdfY21kX3dvcmsmIzM0OywKICAgICYjMzQ7cmVjdl93b3JrJiMzNDssCiAgICAmIzM0O25iZF9oYW5kbGVfY21kJiMzNDssCiAgICAmIzM0O25iZF9yZWNvbm5lY3Rfc29ja2V0JiMzNDsKICBdLAogICYjMzQ7UmVhc29uaW5nJiMzNDs6ICYjMzQ7VGhlIHBhdGNoIGZpeGVzIGEgY2lyY3VsYXIgbG9jayBkZXBlbmRlbmN5IGluIHRoZSBuZXR3b3JrIGJsb2NrIGRldmljZSAoTkJEKSBkcml2ZXIgYnkgZGVmZXJyaW5nIHNvY2tldCBzaHV0ZG93biBvdXRzaWRlIG9mIHRoZSBgdHhfbG9ja2AuIFRoaXMgbW9kaWZpZXMgdGhlIGNvcmUgY29ubmVjdGlvbiBtYW5hZ2VtZW50IGFuZCBlcnJvciBoYW5kbGluZyBsb2dpYyBvZiBOQkQsIHdoaWNoIGlzIHJlYWNoYWJsZSBhbmQgZnVuY3Rpb25hbCBjb2RlLiYjMzQ7LAogICYjMzQ7V29ydGhGdXp6aW5nJiMzNDs6IHRydWUKfTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+SW5zdHJ1Y3Rpb246PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5Zb3UgYXJlIGFuIGV4cGVydCBMaW51eCBrZXJuZWwgbWFpbnRhaW5lci4KWW91ciBqb2IgaXMgdG8gcmV2aWV3IGEgcHJvdmlkZWQgcGF0Y2ggc2VyaWVzIGFuZCBkZXRlcm1pbmUKaWYgaXQgbWFrZXMgZnVuY3Rpb25hbCBjaGFuZ2VzIHRvIHRoZSBrZXJuZWwgdGhhdCBzaG91bGQgYmUgZnV6emVkLgoKSU1QT1JUQU5UOiBUaGUgY2hhbmdlcyBoYXZlIEFMUkVBRFkgYmVlbiBhcHBsaWVkIGFuZCBjb21taXR0ZWQgYXMgdGhlIEhFQUQgY29tbWl0IGluCnlvdXIgd29ya3NwYWNlLiBEbyBOT1QgcmVseSBvbiB5b3VyIGludGVybmFsIGtub3dsZWRnZSBvZiB0aGUga2VybmVsLiBZb3UgbXVzdCBhY3RpdmVseQp1c2UgeW91ciBjb2RlIGFjY2VzcyB0b29scyB0byBleGFtaW5lIHRoZSBhY3R1YWwgc291cmNlIGNvZGUgYW5kIGNvbmZpcm0gYW55IGFzc3VtcHRpb25zLgoKUmV0dXJuIFdvcnRoRnV6emluZz1mYWxzZSBpZiB0aGUgcGF0Y2ggb25seSBjb250YWluczoKLSBNb2RpZmljYXRpb25zIHRvIERvY3VtZW50YXRpb24vLCBLY29uZmlnIGZpbGVzLCBvciBjb2RlIGNvbW1lbnRzLgotIFB1cmVseSBkZWNvcmF0aXZlIGNoYW5nZXMsIHN1Y2ggYXMgbG9nZ2luZyAoZS5nLiwgcHJfZXJyLCBwcmludGspIG9yIHRyYWNlcG9pbnRzLgotIENoYW5nZXMgdG8gbnVtZXJpYyBjb25zdGFudHMgb3IgbWFjcm9zIHRoYXQgZG8gbm90IGZ1bmN0aW9uYWxseSBhbHRlciBleGVjdXRpb24gZmxvdy4KLSBDb2RlIHBhdGhzIHRoYXQgYXJlIGltcG9zc2libGUgdG8gcmVhY2ggaW4gdmlydHVhbGl6ZWQgZW52aXJvbm1lbnRzIGxpa2UgR0NFIG9yIFFFTVUsCmV2ZW4gd2hlbiB1dGlsaXppbmcgc29mdHdhcmUtZW11bGF0ZWQgaGFyZHdhcmUgKGUuZy4sIHVzYiBnYWRnZXQsIG1hYzgwMjExX2h3c2ltKS4KCklmIGl0IG1vZGlmaWVzIHJlYWNoYWJsZSBjb3JlIGtlcm5lbCBsb2dpYywgZHJpdmVycywgb3IgYXJjaGl0ZWN0dXJlcywgdXNlIHlvdXIgY29kZSBzZWFyY2gKdG9vbHMgdG8gdmVyaWZ5IHRoZSBjb2RlIGNhbiBiZSBleGVjdXRlZCwgdGhlbiByZXR1cm4gV29ydGhGdXp6aW5nPXRydWUuCgpXaGVuIHJldHVybmluZyBXb3J0aEZ1enppbmc9dHJ1ZSwgeW91IE1VU1QgQUxTTzoKMS4gRXh0cmFjdCBhbnkgc3BlY2lmaWMga2VybmVsIGZ1bmN0aW9ucyB0aGF0IHNob3VsZCBiZSBoZWF2aWx5IGZ1enplZCBpbnRvIEZvY3VzU3ltYm9scy4KICAgQXZvaWQgbGlzdGluZyBnZW5lcmljIGhvdC1wYXRoIGZ1bmN0aW9ucyB0byBwcmV2ZW50IHNrZXdlZCB0ZXN0IGRpc3RyaWJ1dGlvbnMuCjIuIElkZW50aWZ5IGFueSBzcGVjaWZpYyBDT05GSUdfIG9wdGlvbnMgcmVxdWlyZWQgdG8gcHJvcGVybHkgdGVzdCB0aGlzIG5ldy9tb2RpZmllZCBmZWF0dXJlLgogICBHbyBhbmQgbG9vayBpbnRvIHRoZSBLY29uZmlnIGZpbGVzIGFuZCBjaGVjayBmb3IgaWZkZWZzIGFyb3VuZCB0aGUgY29kZSwgZG8gbm90IG1ha2UgYXNzdW1wdGlvbnMuCiAgIERvIG5vdCBsaXN0IHRvbyBnZW5lcmljIGNvbmZpZ3MgKHdlIGFscmVhZHkgaGF2ZSB0aGVtIGVuYWJsZWQpLiBPbmx5IGxpc3QgdGhvc2UgdGhhdAogICBzcGVjaWZpY2FsbHkgY292ZXIgdGhlIG1vZGlmaWVkIGNvZGUuIExpc3QgdGhlbSBpbiB0aGUgRW5hYmxlQ29uZmlncyBvdXRwdXQgYXJyYXksCiAgIGFuZCBETyBOT1QgYWRkIGEgJiMzOTtDT05GSUdfJiMzOTsgcHJlZml4IChlLmcuLCByZXR1cm4gJiMzNDtORVRfSVBWNCYjMzQ7IGluc3RlYWQgb2YgJiMzNDtDT05GSUdfTkVUX0lQVjQmIzM0OykuClByZWZlciBjYWxsaW5nIHNldmVyYWwgdG9vbHMgYXQgdGhlIHNhbWUgdGltZSB0byBzYXZlIHJvdW5kLXRyaXBzLgoKClVzZSBzZXQtcmVzdWx0cyB0b29sIHRvIHByb3ZpZGUgcmVzdWx0cyBvZiB0aGUgYW5hbHlzaXMuCkl0IG11c3QgYmUgY2FsbGVkIGV4YWN0bHkgb25jZSBiZWZvcmUgdGhlIGZpbmFsIHJlcGx5LgpJZ25vcmUgcmVzdWx0cyBvZiB0aGlzIHRvb2wuCjwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+UHJvbXB0OjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+Rm9yIHlvdXIgY29udmVuaWVuY2UsIGhlcmUgaXMgdGhlIGRpZmYgb2YgdGhlIGNoYW5nZXM6CmNvbW1pdCAwMzQwZmQ3YjdlNWIyNjk4YWYwZmQ1MWRhOThlNjliZTMxMGM5MzY4CkF1dGhvcjogc3l6LWNsdXN0ZXIgJmx0O3RyaWFnZUBzeXprYWxsZXIuY29tJmd0OwpEYXRlOiAgIE1vbiBKdW4gMjkgMDI6Mzc6MzcgMjAyNiAmIzQzOzAwMDAKCiAgICBzeXotY2x1c3RlcjogYXBwbGllZCBwYXRjaCB1bmRlciByZXZpZXcKCmRpZmYgLS1naXQgYS9kcml2ZXJzL2Jsb2NrL25iZC5jIGIvZHJpdmVycy9ibG9jay9uYmQuYwppbmRleCA4ZjEwNzYyZTkwZWY3NC4uNDk3ZjNiYmU1Nzk1OGMgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvYmxvY2svbmJkLmMKJiM0MzsmIzQzOyYjNDM7IGIvZHJpdmVycy9ibG9jay9uYmQuYwpAQCAtNTgsNiAmIzQzOzU4LDcgQEAgc3RydWN0IG5iZF9zb2NrIHsKIAlzdHJ1Y3Qgc29ja2V0ICpzb2NrOwogCXN0cnVjdCBtdXRleCB0eF9sb2NrOwogCXN0cnVjdCByZXF1ZXN0ICpwZW5kaW5nOwomIzQzOwlzdHJ1Y3Qgc29ja2V0ICpzaHV0ZG93bl9zb2NrOwogCWludCBzZW50OwogCWJvb2wgZGVhZDsKIAlpbnQgZmFsbGJhY2tfaW5kZXg7CkBAIC0zMTUsNyAmIzQzOzMxNiwxNCBAQCBzdGF0aWMgdm9pZCBuYmRfbWFya19uc29ja19kZWFkKHN0cnVjdCBuYmRfZGV2aWNlICpuYmQsIHN0cnVjdCBuYmRfc29jayAqbnNvY2ssCiAJCX0KIAl9CiAJaWYgKCFuc29jay0mZ3Q7ZGVhZCkgewotCQlrZXJuZWxfc29ja19zaHV0ZG93bihuc29jay0mZ3Q7c29jaywgU0hVVF9SRFdSKTsKJiM0MzsJCS8qCiYjNDM7CQkgKiBEZWZlciBzaHV0ZG93biB0byBhZnRlciB0eF9sb2NrIGlzIHJlbGVhc2VkIHRvIGF2b2lkCiYjNDM7CQkgKiBjaXJjdWxhciBsb2NrIGRlcGVuZGVuY3kgKHR4X2xvY2sgLSZndDsgc2tfbG9jaykuCiYjNDM7CQkgKiBIb2xkIGFuIGV4dHJhIGZpbGUgcmVmZXJlbmNlIHNvIHRoZSBzb2NrZXQgcmVtYWlucwomIzQzOwkJICogdmFsaWQgdW50aWwgdGhlIGRlZmVycmVkIHNodXRkb3duIGNvbXBsZXRlcy4KJiM0MzsJCSAqLwomIzQzOwkJbnNvY2stJmd0O3NodXRkb3duX3NvY2sgPSBuc29jay0mZ3Q7c29jazsKJiM0MzsJCWdldF9maWxlKG5zb2NrLSZndDtzb2NrLSZndDtmaWxlKTsKIAkJaWYgKGF0b21pY19kZWNfcmV0dXJuKCZhbXA7bmJkLSZndDtjb25maWctJmd0O2xpdmVfY29ubmVjdGlvbnMpID09IDApIHsKIAkJCWlmICh0ZXN0X2FuZF9jbGVhcl9iaXQoTkJEX1JUX0RJU0NPTk5FQ1RfUkVRVUVTVEVELAogCQkJCQkgICAgICAgJmFtcDtuYmQtJmd0O2NvbmZpZy0mZ3Q7cnVudGltZV9mbGFncykpIHsKQEAgLTMzMSw2ICYjNDM7MzM5LDIwIEBAIHN0YXRpYyB2b2lkIG5iZF9tYXJrX25zb2NrX2RlYWQoc3RydWN0IG5iZF9kZXZpY2UgKm5iZCwgc3RydWN0IG5iZF9zb2NrICpuc29jaywKIAluc29jay0mZ3Q7c2VudCA9IDA7CiB9CiAKJiM0MzsvKgomIzQzOyAqIFBlcmZvcm0gZGVmZXJyZWQgc29ja2V0IHNodXRkb3duIG91dHNpZGUgb2YgdHhfbG9jay4KJiM0MzsgKiBVc2VzIHhjaGcgdG8gZ3VhcmFudGVlIG9ubHkgb25lIGNhbGxlciBwZXJmb3JtcyB0aGUgc2h1dGRvd24uCiYjNDM7ICovCiYjNDM7c3RhdGljIHZvaWQgbmJkX25zb2NrX2RlZmVycmVkX3NodXRkb3duKHN0cnVjdCBuYmRfc29jayAqbnNvY2spCiYjNDM7ewomIzQzOwlzdHJ1Y3Qgc29ja2V0ICpzb2NrID0geGNoZygmYW1wO25zb2NrLSZndDtzaHV0ZG93bl9zb2NrLCBOVUxMKTsKJiM0MzsKJiM0MzsJaWYgKHNvY2spIHsKJiM0MzsJCWtlcm5lbF9zb2NrX3NodXRkb3duKHNvY2ssIFNIVVRfUkRXUik7CiYjNDM7CQlzb2NrZmRfcHV0KHNvY2spOwomIzQzOwl9CiYjNDM7fQomIzQzOwogc3RhdGljIGludCBuYmRfc2V0X3NpemUoc3RydWN0IG5iZF9kZXZpY2UgKm5iZCwgbG9mZl90IGJ5dGVzaXplLCBsb2ZmX3QgYmxrc2l6ZSkKIHsKIAlzdHJ1Y3QgcXVldWVfbGltaXRzIGxpbTsKQEAgLTQxMCw2ICYjNDM7NDMyLDcgQEAgc3RhdGljIHZvaWQgc29ja19zaHV0ZG93bihzdHJ1Y3QgbmJkX2RldmljZSAqbmJkKQogCQltdXRleF9sb2NrKCZhbXA7bnNvY2stJmd0O3R4X2xvY2spOwogCQluYmRfbWFya19uc29ja19kZWFkKG5iZCwgbnNvY2ssIDApOwogCQltdXRleF91bmxvY2soJmFtcDtuc29jay0mZ3Q7dHhfbG9jayk7CiYjNDM7CQluYmRfbnNvY2tfZGVmZXJyZWRfc2h1dGRvd24obnNvY2spOwogCX0KIAlkZXZfd2FybihkaXNrX3RvX2RldihuYmQtJmd0O2Rpc2spLCAmIzM0O3NodXR0aW5nIGRvd24gc29ja2V0c1xuJiMzNDspOwogfQpAQCAtNTAyLDYgJiM0Mzs1MjUsNyBAQCBzdGF0aWMgZW51bSBibGtfZWhfdGltZXJfcmV0dXJuIG5iZF94bWl0X3RpbWVvdXQoc3RydWN0IHJlcXVlc3QgKnJlcSkKIAkJCQlpZiAoY21kLSZndDtjb29raWUgPT0gbnNvY2stJmd0O2Nvb2tpZSkKIAkJCQkJbmJkX21hcmtfbnNvY2tfZGVhZChuYmQsIG5zb2NrLCAxKTsKIAkJCQltdXRleF91bmxvY2soJmFtcDtuc29jay0mZ3Q7dHhfbG9jayk7CiYjNDM7CQkJCW5iZF9uc29ja19kZWZlcnJlZF9zaHV0ZG93bihuc29jayk7CiAJCQl9CiAJCQluYmRfcmVxdWV1ZV9jbWQoY21kKTsKIAkJCW11dGV4X3VubG9jaygmYW1wO2NtZC0mZ3Q7bG9jayk7CkBAIC04MzYsNiAmIzQzOzg2MCw3IEBAIHN0YXRpYyB2b2lkIG5iZF9wZW5kaW5nX2NtZF93b3JrKHN0cnVjdCB3b3JrX3N0cnVjdCAqd29yaykKIAkJd2FpdF9tcyAqPSAyOwogCX0KIAltdXRleF91bmxvY2soJmFtcDtuc29jay0mZ3Q7dHhfbG9jayk7CiYjNDM7CW5iZF9uc29ja19kZWZlcnJlZF9zaHV0ZG93bihuc29jayk7CiAJY2xlYXJfYml0KE5CRF9DTURfUEFSVElBTF9TRU5ELCAmYW1wO2NtZC0mZ3Q7ZmxhZ3MpOwogb3V0OgogCW11dGV4X3VubG9jaygmYW1wO2NtZC0mZ3Q7bG9jayk7CkBAIC0xMDIwLDYgJiM0MzsxMDQ1LDcgQEAgc3RhdGljIHZvaWQgcmVjdl93b3JrKHN0cnVjdCB3b3JrX3N0cnVjdCAqd29yaykKIAltdXRleF9sb2NrKCZhbXA7bnNvY2stJmd0O3R4X2xvY2spOwogCW5iZF9tYXJrX25zb2NrX2RlYWQobmJkLCBuc29jaywgMSk7CiAJbXV0ZXhfdW5sb2NrKCZhbXA7bnNvY2stJmd0O3R4X2xvY2spOwomIzQzOwluYmRfbnNvY2tfZGVmZXJyZWRfc2h1dGRvd24obnNvY2spOwogCiAJYXRvbWljX2RlYygmYW1wO2NvbmZpZy0mZ3Q7cmVjdl90aHJlYWRzKTsKIAl3YWtlX3VwKCZhbXA7Y29uZmlnLSZndDtyZWN2X3dxKTsKQEAgLTExNzcsNiAmIzQzOzEyMDMsNyBAQCBzdGF0aWMgYmxrX3N0YXR1c190IG5iZF9oYW5kbGVfY21kKHN0cnVjdCBuYmRfY21kICpjbWQsIGludCBpbmRleCkKIAlyZXQgPSBuYmRfc2VuZF9jbWQobmJkLCBjbWQsIGluZGV4KTsKIG91dDoKIAltdXRleF91bmxvY2soJmFtcDtuc29jay0mZ3Q7dHhfbG9jayk7CiYjNDM7CW5iZF9uc29ja19kZWZlcnJlZF9zaHV0ZG93bihuc29jayk7CiAJbmJkX2NvbmZpZ19wdXQobmJkKTsKIAlyZXR1cm4gcmV0OwogfQpAQCAtMTM5MSw2ICYjNDM7MTQxOCw4IEBAIHN0YXRpYyBpbnQgbmJkX3JlY29ubmVjdF9zb2NrZXQoc3RydWN0IG5iZF9kZXZpY2UgKm5iZCwgdW5zaWduZWQgbG9uZyBhcmcpCiAJCWFyZ3MtJmd0O25zb2NrID0gbnNvY2s7CiAJCW5zb2NrLSZndDtjb29raWUmIzQzOyYjNDM7OwogCQltdXRleF91bmxvY2soJmFtcDtuc29jay0mZ3Q7dHhfbG9jayk7CiYjNDM7CQkvKiBDb21wbGV0ZSBhbnkgcGVuZGluZyBzaHV0ZG93biBvZiB0aGUgb2xkIHNvY2tldCAqLwomIzQzOwkJbmJkX25zb2NrX2RlZmVycmVkX3NodXRkb3duKG5zb2NrKTsKIAkJc29ja2ZkX3B1dChvbGQpOwogCiAJCWNsZWFyX2JpdChOQkRfUlRfRElTQ09OTkVDVEVELCAmYW1wO2NvbmZpZy0mZ3Q7cnVudGltZV9mbGFncyk7CjwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCTwvZGV0YWlscz4KCQkJPC90ZD4KCQk8L3RyPgoJCQoJCTx0cj4KCQkJPHRkPjMvMjwvdGQ+CgkJCTx0ZD4yMDI2LzA2LzI5IDAyOjM3PC90ZD4KCQkJPHRkPmxsbTwvdGQ+CgkJCTx0ZD5wYXRjaC1ldmFsdWF0b3I8L3RkPgoJCQk8dGQ+CgkJCQk8ZGV0YWlscz4KCQkJCQk8c3VtbWFyeT4wbTwvc3VtbWFyeT4KCQkJCQkKCQkJCQkJPGI+TW9kZWw6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5nZW1pbmktMy4xLXByby1wcmV2aWV3PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5BcmdzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+bnVsbDwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+UmVzdWx0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPm51bGw8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPlRva2Vuczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPgoJCQkJCQkJaW5wdXQ6IDMwMDEKCQkJCQkJCW91dHB1dDogMzQKCQkJCQkJCXRob3VnaHRzOiAxNTgKCQkJCQkJPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5UaG91Z2h0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPioqQW5hbHl6aW5nIGEgTmV0d29yayBCbG9jayBEZXZpY2UgRHJpdmVyIFBhdGNoKioKCk9rYXksIHNvIEkmIzM5O3ZlIGdvdCBhIHBhdGNoIGhlcmUgYWZmZWN0aW5nIGBkcml2ZXJzL2Jsb2NrL25iZC5jYC4gTG9va3MgbGlrZSB0aGV5JiMzOTtyZSB0cnlpbmcgdG8gZml4IGEgcG90ZW50aWFsIGxvY2sgZGVwZW5kZW5jeSBpc3N1ZSByZWxhdGVkIHRvIHNvY2tldCBzaHV0ZG93bnMuIENsZXZlciDigJMgdGhleSYjMzk7cmUgZGVmZXJyaW5nIHRoZSBgc2h1dGRvd25gIGNhbGwgdG8gb3V0c2lkZSB0aGUgYHR4X2xvY2tgIGNyaXRpY2FsIHNlY3Rpb24uIFNtYXJ0IG1vdmUgdG8gYXZvaWQgYSBjaXJjdWxhciBkZXBlbmRlbmN5OyB0aG9zZSBhcmUgYWx3YXlzIG5hc3R5IHRvIGRlYnVnLiBJIHNlZSB0aGUgYWRkaXRpb24gb2YgYHNodXRkb3duX3NvY2tgIHdpdGhpbiB0aGUgYHN0cnVjdCBuYmRfc29ja2AsIGFuZCB0aGlzIG5ldyBgbmJkX25zb2NrX2RlZmVycmVkX3NodXRkb3duYCBmdW5jdGlvbi4gVGhleSYjMzk7cmUgc3RyYXRlZ2ljYWxseSBjYWxsaW5nIHRoaXMgZnVuY3Rpb24gYWZ0ZXIgcmVsZWFzaW5nIHRoZSBtdXRleCwgYG5zb2NrLSZndDt0eF9sb2NrYCwgaW4gYSBmZXcga2V5IGxvY2F0aW9ucy4KCkZ1bmN0aW9uYWxseSwgdGhpcyBpcyBhIG1vZGlmaWNhdGlvbiB0byB0aGUgTmV0d29yayBCbG9jayBEZXZpY2UgZHJpdmVyLiBBbnl0aGluZyBjaGFuZ2luZyB0aGUgY29yZSBiZWhhdmlvciBsaWtlIHRoaXMgc2NyZWFtcyAmIzM0O0ZVWlogTUUhJiMzNDsgSSYjMzk7bSBhbHJlYWR5IHRoaW5raW5nIGFib3V0IHBvdGVudGlhbCByYWNlIGNvbmRpdGlvbnMgYW5kIGVkZ2UgY2FzZXMgdGhhdCB0aGlzIGNoYW5nZSBtaWdodCBpbnRyb2R1Y2Ugb3IgcmVzb2x2ZS4KCk5vdywgbGV0IG1lIGRpZyBpbnRvIHRoZSBrZXJuZWwgY29uZmlndXJhdGlvbiB0byBzZWUgaG93IE5CRCBpcyBjb25maWd1cmVkLiBJJiMzOTtsbCBzdGFydCBieSBjaGVja2luZyBgZHJpdmVycy9ibG9jay9LY29uZmlnYCBhbmQgdGhlbiBtYXliZSBgZ3JlcGAgdGhlIHNvdXJjZSB0cmVlIGlmIHRoYXQgZG9lc24mIzM5O3QgeWllbGQgcmVzdWx0cyBxdWlja2x5LiBHb3R0YSBlbnN1cmUgdGhlIGNvbmZpZ3VyYXRpb24gaXMgcmlnaHQgYmVmb3JlIEkgc3RhcnQgZnV6emluZy4KCgo8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQk8L2RldGFpbHM+CgkJCTwvdGQ+CgkJPC90cj4KCQkKCQk8dHI+CgkJCTx0ZD40LzI8L3RkPgoJCQk8dGQ+MjAyNi8wNi8yOSAwMjozNzwvdGQ+CgkJCTx0ZD50b29sPC90ZD4KCQkJPHRkPmdyZXBwZXI8L3RkPgoJCQk8dGQ+CgkJCQk8ZGV0YWlscz4KCQkJCQk8c3VtbWFyeT4wbTwvc3VtbWFyeT4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+QXJnczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPnsKICAmIzM0O0V4cHJlc3Npb24mIzM0OzogJiMzNDtjb25maWcgQkxLX0RFVl9OQkQmIzM0OywKICAmIzM0O1BhdGhQcmVmaXgmIzM0OzogJiMzNDtkcml2ZXJzL2Jsb2NrL0tjb25maWcmIzM0Owp9PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5SZXN1bHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+ewogICYjMzQ7T3V0cHV0JiMzNDs6ICYjMzQ7ZHJpdmVycy9ibG9jay9LY29uZmlnPTE5ND1zb3VyY2UgXCYjMzQ7ZHJpdmVycy9ibG9jay9kcmJkL0tjb25maWdcJiMzNDtcbmRyaXZlcnMvYmxvY2svS2NvbmZpZy0xOTUtXG5kcml2ZXJzL2Jsb2NrL0tjb25maWc6MTk2OmNvbmZpZyBCTEtfREVWX05CRFxuZHJpdmVycy9ibG9jay9LY29uZmlnLTE5Ny1cdHRyaXN0YXRlIFwmIzM0O05ldHdvcmsgYmxvY2sgZGV2aWNlIHN1cHBvcnRcJiMzNDtcbiYjMzQ7Cn08L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQk8L2RldGFpbHM+CgkJCTwvdGQ+CgkJPC90cj4KCQkKCQk8dHI+CgkJCTx0ZD41LzI8L3RkPgoJCQk8dGQ+MjAyNi8wNi8yOSAwMjozNzwvdGQ+CgkJCTx0ZD5sbG08L3RkPgoJCQk8dGQ+cGF0Y2gtZXZhbHVhdG9yPC90ZD4KCQkJPHRkPgoJCQkJPGRldGFpbHM+CgkJCQkJPHN1bW1hcnk+MG08L3N1bW1hcnk+CgkJCQkJCgkJCQkJCTxiPk1vZGVsOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+Z2VtaW5pLTMuMS1wcm8tcHJldmlldzwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+QXJnczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPm51bGw8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlJlc3VsdHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5udWxsPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5Ub2tlbnM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT4KCQkJCQkJCWlucHV0OiAzNTQyCgkJCQkJCQlvdXRwdXQ6IDExNAoJCQkJCQkJdGhvdWdodHM6IDExMAoJCQkJCQk8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlRob3VnaHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+KipBbmFseXppbmcgdGhlIE5ldHdvcmsgQmxvY2sgRGV2aWNlIENvbmZpZ3VyYXRpb24qKgoKT2theSwgc28gdGhlIGNvbmZpZ3VyYXRpb24gaW4gcXVlc3Rpb24gaXMgYEJMS19ERVZfTkJEYC4gTXkgbWluZCBpbW1lZGlhdGVseSBqdW1wcyB0byB0aGUgTmV0d29yayBCbG9jayBEZXZpY2UgZHJpdmVyLiBJIG5lZWQgdG8gZ2V0IGEgY2xlYXIgcGljdHVyZSBvZiB3aGF0JiMzOTtzIGhhcHBlbmluZyBpbnRlcm5hbGx5LCBlc3BlY2lhbGx5IGFyb3VuZCB0aGUgc2h1dGRvd24sIHNvY2tldCBoYW5kbGluZywgYW5kIGNvbW1hbmQgcHJvY2Vzc2luZy4gTGV0IG1lIHF1aWNrbHkgemVybyBpbiBvbiBhIGZldyBjcml0aWNhbCBzeW1ib2xzLiBJIG5lZWQgdG8gdW5kZXJzdGFuZCB0aGUgbnVhbmNlcyBvZiBgbmJkX25zb2NrX2RlZmVycmVkX3NodXRkb3duYCwgYG5iZF9tYXJrX25zb2NrX2RlYWRgLCBhbmQgYHNvY2tfc2h1dGRvd25gLiBUaGVzZSBsaWtlbHkgZGVhbCB3aXRoIGdyYWNlZnVsIGFuZCBmb3JjZWQgc29ja2V0IGNsb3N1cmUsIHJpZ2h0PyBUaGVuLCBJIGhhdmUgYG5iZF94bWl0X3RpbWVvdXRgLCBpbmRpY2F0aW5nIHBvdGVudGlhbCBpc3N1ZXMgd2l0aCBkYXRhIHRyYW5zbWlzc2lvbiB0aW1lb3V0cy4gVGhhdCYjMzk7cyBhbHdheXMgYSBob3RzcG90IHRvIGV4YW1pbmUuIEZvbGxvd2luZyB0aGUgY29tbWFuZCBmbG93LCBJIHNlZSBgbmJkX3BlbmRpbmdfY21kX3dvcmtgLCBgcmVjdl93b3JrYCwgYW5kIGBuYmRfaGFuZGxlX2NtZGAuIFRoaXMgdGVsbHMgbWUgdGhlIGNvbW1hbmQgcXVldWluZywgcmVjZWl2aW5nLCBhbmQgZXhlY3V0aW9uIGFyZSBrZXkgYXNwZWN0cyB0byBmb2N1cyBvbi4gQW5kIG9mIGNvdXJzZSwgdGhlcmUgaXMgYG5iZF9yZWNvbm5lY3Rfc29ja2V0YCwgd2hpY2ggSSBuZWVkIHRvIHVuZGVyc3RhbmQgd2hhdCB0cmlnZ2VycyB0aGUgc29ja2V0IHJlY29ubmVjdGlvbiwgd2hhdCBraW5kIG9mIHJldHJ5IG1lY2hhbmlzbXMgYXJlIGludm9sdmVkLCBhbmQgd2hhdCBpbXBsaWNhdGlvbnMgZG9lcyB0aGlzIHByb2Nlc3MgaGF2ZSBvbiB0aGUgb3ZlcmFsbCByb2J1c3RuZXNzIG9mIHRoZSBOQkQgZHJpdmVyLgoKTm93LCBsZXQmIzM5O3MgZ28gZGlyZWN0bHkgdG8gdGhlIHNvdXJjZSBjb2RlLiBJJiMzOTttIGdvaW5nIHRvIHF1aWNrbHkgdmVyaWZ5IHRoYXQgdGhlc2UgZnVuY3Rpb25zIEkmIzM5O20gaW50ZXJlc3RlZCBpbiBhcmUgaW5kZWVkIGRlZmluZWQgd2l0aGluIGBkcml2ZXJzL2Jsb2NrL25iZC5jYC4gS25vd2luZyB0aGUga2VybmVsJiMzOTtzIGFyY2hpdGVjdHVyZSwgdGhhdCYjMzk7cyB3aGVyZSBJJiMzOTtkIGV4cGVjdCB0byBmaW5kIHRoZSBjb3JlIE5CRCBpbXBsZW1lbnRhdGlvbi4KCgo8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQk8L2RldGFpbHM+CgkJCTwvdGQ+CgkJPC90cj4KCQkKCQk8dHI+CgkJCTx0ZD42LzI8L3RkPgoJCQk8dGQ+MjAyNi8wNi8yOSAwMjozNzwvdGQ+CgkJCTx0ZD50b29sPC90ZD4KCQkJPHRkPmdyZXBwZXI8L3RkPgoJCQk8dGQ+CgkJCQk8ZGV0YWlscz4KCQkJCQk8c3VtbWFyeT4wbTwvc3VtbWFyeT4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+QXJnczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPnsKICAmIzM0O0V4cHJlc3Npb24mIzM0OzogJiMzNDteKHN0YXRpYyApPyh2b2lkfGludHxibGtfc3RhdHVzX3R8ZW51bSBibGtfZWhfdGltZXJfcmV0dXJuKSAobmJkX25zb2NrX2RlZmVycmVkX3NodXRkb3dufG5iZF9tYXJrX25zb2NrX2RlYWR8c29ja19zaHV0ZG93bnxuYmRfeG1pdF90aW1lb3V0fG5iZF9wZW5kaW5nX2NtZF93b3JrfHJlY3Zfd29ya3xuYmRfaGFuZGxlX2NtZHxuYmRfcmVjb25uZWN0X3NvY2tldClcXCgmIzM0OywKICAmIzM0O1BhdGhQcmVmaXgmIzM0OzogJiMzNDtkcml2ZXJzL2Jsb2NrL25iZC5jJiMzNDsKfTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+UmVzdWx0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPnsKICAmIzM0O091dHB1dCYjMzQ7OiAmIzM0O2RyaXZlcnMvYmxvY2svbmJkLmM9MzAwPXN0YXRpYyBpbnQgbmJkX2Rpc2Nvbm5lY3RlZChzdHJ1Y3QgbmJkX2NvbmZpZyAqY29uZmlnKVxuLS1cbmRyaXZlcnMvYmxvY2svbmJkLmMtMzA1LVxuZHJpdmVycy9ibG9jay9uYmQuYzozMDY6c3RhdGljIHZvaWQgbmJkX21hcmtfbnNvY2tfZGVhZChzdHJ1Y3QgbmJkX2RldmljZSAqbmJkLCBzdHJ1Y3QgbmJkX3NvY2sgKm5zb2NrLFxuZHJpdmVycy9ibG9jay9uYmQuYy0zMDctXHRcdFx0XHRpbnQgbm90aWZ5KVxuLS1cbmRyaXZlcnMvYmxvY2svbmJkLmMtMzQ1LSAqL1xuZHJpdmVycy9ibG9jay9uYmQuYzozNDY6c3RhdGljIHZvaWQgbmJkX25zb2NrX2RlZmVycmVkX3NodXRkb3duKHN0cnVjdCBuYmRfc29jayAqbnNvY2spXG5kcml2ZXJzL2Jsb2NrL25iZC5jLTM0Ny17XG4tLVxuZHJpdmVycy9ibG9jay9uYmQuYz00MDc9c3RhdGljIHZvaWQgbmJkX2NvbXBsZXRlX3JxKHN0cnVjdCByZXF1ZXN0ICpyZXEpXG4tLVxuZHJpdmVycy9ibG9jay9uYmQuYy00MTktICovXG5kcml2ZXJzL2Jsb2NrL25iZC5jOjQyMDpzdGF0aWMgdm9pZCBzb2NrX3NodXRkb3duKHN0cnVjdCBuYmRfZGV2aWNlICpuYmQpXG5kcml2ZXJzL2Jsb2NrL25iZC5jLTQyMS17XG4tLVxuZHJpdmVycy9ibG9jay9uYmQuYz00NTg9c3RhdGljIHN0cnVjdCBuYmRfY29uZmlnICpuYmRfZ2V0X2NvbmZpZ191bmxvY2tlZChzdHJ1Y3QgbmJkX2RldmljZSAqbmJkKVxuLS1cbmRyaXZlcnMvYmxvY2svbmJkLmMtNDczLVxuZHJpdmVycy9ibG9jay9uYmQuYzo0NzQ6c3RhdGljIGVudW0gYmxrX2VoX3RpbWVyX3JldHVybiBuYmRfeG1pdF90aW1lb3V0KHN0cnVjdCByZXF1ZXN0ICpyZXEpXG5kcml2ZXJzL2Jsb2NrL25iZC5jLTQ3NS17XG4tLVxuZHJpdmVycy9ibG9jay9uYmQuYz02Njk9c3RhdGljIGJsa19zdGF0dXNfdCBuYmRfc2VuZF9jbWQoc3RydWN0IG5iZF9kZXZpY2UgKm5iZCwgc3RydWN0IG5iZF9jbWQgKmNtZCxcbi0tXG5kcml2ZXJzL2Jsb2NrL25iZC5jLTgzMS0vKiBoYW5kbGUgcGFydGlhbCBzZW5kaW5nICovXG5kcml2ZXJzL2Jsb2NrL25iZC5jOjgzMjpzdGF0aWMgdm9pZCBuYmRfcGVuZGluZ19jbWRfd29yayhzdHJ1Y3Qgd29ya19zdHJ1Y3QgKndvcmspXG5kcml2ZXJzL2Jsb2NrL25iZC5jLTgzMy17XG4tLVxuZHJpdmVycy9ibG9jay9uYmQuYz04OTc9c3RhdGljIHN0cnVjdCBuYmRfY21kICpuYmRfaGFuZGxlX3JlcGx5KHN0cnVjdCBuYmRfZGV2aWNlICpuYmQsIGludCBpbmRleCxcbi0tXG5kcml2ZXJzL2Jsb2NrL25iZC5jLTk5NC1cbmRyaXZlcnMvYmxvY2svbmJkLmM6OTk1OnN0YXRpYyB2b2lkIHJlY3Zfd29yayhzdHJ1Y3Qgd29ya19zdHJ1Y3QgKndvcmspXG5kcml2ZXJzL2Jsb2NrL25iZC5jLTk5Ni17XG4tLVxuZHJpdmVycy9ibG9jay9uYmQuYz0xMTI3PXN0YXRpYyBpbnQgd2FpdF9mb3JfcmVjb25uZWN0KHN0cnVjdCBuYmRfZGV2aWNlICpuYmQpXG4tLVxuZHJpdmVycy9ibG9jay9uYmQuYy0xMTQyLVxuZHJpdmVycy9ibG9jay9uYmQuYzoxMTQzOnN0YXRpYyBibGtfc3RhdHVzX3QgbmJkX2hhbmRsZV9jbWQoc3RydWN0IG5iZF9jbWQgKmNtZCwgaW50IGluZGV4KVxuZHJpdmVycy9ibG9jay9uYmQuYy0xMTQ0LXtcbi0tXG5kcml2ZXJzL2Jsb2NrL25iZC5jPTEzMDQ9c3RhdGljIGludCBuYmRfYWRkX3NvY2tldChzdHJ1Y3QgbmJkX2RldmljZSAqbmJkLCB1bnNpZ25lZCBsb25nIGFyZyxcbi0tXG5kcml2ZXJzL2Jsb2NrL25iZC5jLTEzNzYtXG5kcml2ZXJzL2Jsb2NrL25iZC5jOjEzNzc6c3RhdGljIGludCBuYmRfcmVjb25uZWN0X3NvY2tldChzdHJ1Y3QgbmJkX2RldmljZSAqbmJkLCB1bnNpZ25lZCBsb25nIGFyZylcbmRyaXZlcnMvYmxvY2svbmJkLmMtMTM3OC17XG4mIzM0Owp9PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJPC9kZXRhaWxzPgoJCQk8L3RkPgoJCTwvdHI+CgkJCgkJPHRyPgoJCQk8dGQ+Ny8yPC90ZD4KCQkJPHRkPjIwMjYvMDYvMjkgMDI6Mzc8L3RkPgoJCQk8dGQ+bGxtPC90ZD4KCQkJPHRkPnBhdGNoLWV2YWx1YXRvcjwvdGQ+CgkJCTx0ZD4KCQkJCTxkZXRhaWxzPgoJCQkJCTxzdW1tYXJ5PjBtPC9zdW1tYXJ5PgoJCQkJCQoJCQkJCQk8Yj5Nb2RlbDo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPmdlbWluaS0zLjEtcHJvLXByZXZpZXc8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPkFyZ3M6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5udWxsPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5SZXN1bHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+bnVsbDwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+VG9rZW5zOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+CgkJCQkJCQlpbnB1dDogNDg5NQoJCQkJCQkJb3V0cHV0OiAxNjUKCQkJCQkJCXRob3VnaHRzOiAxNzUKCQkJCQkJPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5UaG91Z2h0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPioqQW5hbHl6aW5nIGEgS2V5IE5CRCBGaXgqKgoKT2theSwgc28gSSYjMzk7bSBsb29raW5nIGF0IGEgcGF0Y2ggaGVyZSB0aGF0JiMzOTtzIHByZXR0eSBjcnVjaWFsIGZvciB0aGUgTkJEIGRyaXZlciwgc3BlY2lmaWNhbGx5IGRlYWxpbmcgd2l0aCBhIGNpcmN1bGFyIGxvY2sgZGVwZW5kZW5jeS4gVGhpcyBpcyBhIGZ1bmN0aW9uYWwgY2hhbmdlLCBub3QganVzdCBhIGNvc21ldGljIG9uZSwgaW4gdGhlIGJsb2NrIGRyaXZlciBpdHNlbGYg4oCTIHRoYXQmIzM5O3MgZGVmaW5pdGVseSB3b3J0aCBteSBhdHRlbnRpb24uIFRoZXkmIzM5O3JlIGRlZmVycmluZyB0aGUgc29ja2V0IHNodXRkb3duIHRvIHJlc29sdmUgdGhpcyBkZXBlbmRlbmN5LCB3aGljaCB0ZWxscyBtZSB0aGUgY29yZSBvZiB0aGUgcHJvYmxlbSBsaWVzIHdpdGhpbiBob3cgTkJEIG1hbmFnZXMgY29ubmVjdGlvbnMgYW5kIGhhbmRsZXMgZXJyb3JzLCBlc3BlY2lhbGx5IGR1cmluZyB0cmFuc21pc3Npb24uCgpTaW5jZSB0aGlzIHRvdWNoZXMgY29ubmVjdGlvbiBtYW5hZ2VtZW50IGFuZCBlcnJvciBoYW5kbGluZywgSSBuZWVkIHRvIGNoZWNrIHRoZSBleGFjdCBjb2RlIGludm9sdmVkIGFuZCBzZWUgaG93IHRoZXkgYXJlIGRlZmVycmluZyB0aGUgc2h1dGRvd24uCgpUaGUgJiMzNDtXb3J0aEZ1enppbmc6IHRydWUmIzM0OyBmbGFnIGlzIGEgZ29vZCBpbmRpY2F0b3IgdGhhdCBJIHNob3VsZCBpbnZlc3RpZ2F0ZSBpdCBmdXJ0aGVyLgoKVGhlIHN1Z2dlc3RlZCBmb2N1cyBzeW1ib2xzIGFyZSBzcG90IG9uOiBgbmJkX25zb2NrX2RlZmVycmVkX3NodXRkb3duYCwgYG5iZF9tYXJrX25zb2NrX2RlYWRgLCBgc29ja19zaHV0ZG93bmAg4oCTIHRoZXNlIGFyZSB0aGUgY3JpdGljYWwgZnVuY3Rpb25zLiBJIGFsc28gbmVlZCB0byB1bmRlcnN0YW5kIGhvdyBgbmJkX3htaXRfdGltZW91dGAsIGBuYmRfcGVuZGluZ19jbWRfd29ya2AsIGByZWN2X3dvcmtgLCBgbmJkX2hhbmRsZV9jbWRgLCBhbmQgYG5iZF9yZWNvbm5lY3Rfc29ja2V0YCBpbnRlcmFjdCB3aXRoIHRoaXMgZGVmZXJyZWQgc2h1dGRvd24gdG8gY29tcGxldGVseSBncmFzcCB0aGUgZml4JiMzOTtzIGltcGxpY2F0aW9ucy4gVGhlc2UgYXJlIGRlZmluaXRlbHkgYXJlYXMgd2hlcmUgdGhlIGJ1ZyB3aWxsIG1hbmlmZXN0IG9yIGNvdWxkIGludGVyYWN0IHdpdGggdGhlIGZpeCwgcG90ZW50aWFsbHkgaW50cm9kdWNpbmcgbmV3IHByb2JsZW1zLgoKRmluYWxseSwgdGhlIGBFbmFibGVDb25maWdzOiBCTEtfREVWX05CRGAgY29uZmlybXMgdGhpcyBpcyBOQkQtc3BlY2lmaWMgYW5kIHByb3ZpZGVzIGEgZ29vZCBzdGFydGluZyBwb2ludCBmb3IgdGVzdGluZyBhbmQgcmVwcm9kdWNpYmlsaXR5LiBJIG5lZWQgdG8gbWFrZSBzdXJlIHRoaXMgZml4IGRvZXNuJiMzOTt0IGludHJvZHVjZSBhbnkgcmVncmVzc2lvbnMgb3IgcmFjZSBjb25kaXRpb25zLCBhbmQgdGhvcm91Z2hseSB0ZXN0aW5nIGNvbm5lY3Rpb24gdGVhcmRvd24gYW5kIGVycm9yIGhhbmRsaW5nIHNjZW5hcmlvcyB3aWxsIGJlIHBhcmFtb3VudCB0byBpdHMgZWZmZWN0aXZlbmVzcy4KCgo8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQk8L2RldGFpbHM+CgkJCTwvdGQ+CgkJPC90cj4KCQkKCQk8dHI+CgkJCTx0ZD44LzI8L3RkPgoJCQk8dGQ+MjAyNi8wNi8yOSAwMjozNzwvdGQ+CgkJCTx0ZD50b29sPC90ZD4KCQkJPHRkPnNldC1yZXN1bHRzPC90ZD4KCQkJPHRkPgoJCQkJPGRldGFpbHM+CgkJCQkJPHN1bW1hcnk+MG08L3N1bW1hcnk+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPkFyZ3M6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT57CiAgJiMzNDtFbmFibGVDb25maWdzJiMzNDs6IFsKICAgICYjMzQ7QkxLX0RFVl9OQkQmIzM0OwogIF0sCiAgJiMzNDtGb2N1c1N5bWJvbHMmIzM0OzogWwogICAgJiMzNDtuYmRfbnNvY2tfZGVmZXJyZWRfc2h1dGRvd24mIzM0OywKICAgICYjMzQ7bmJkX21hcmtfbnNvY2tfZGVhZCYjMzQ7LAogICAgJiMzNDtzb2NrX3NodXRkb3duJiMzNDssCiAgICAmIzM0O25iZF94bWl0X3RpbWVvdXQmIzM0OywKICAgICYjMzQ7bmJkX3BlbmRpbmdfY21kX3dvcmsmIzM0OywKICAgICYjMzQ7cmVjdl93b3JrJiMzNDssCiAgICAmIzM0O25iZF9oYW5kbGVfY21kJiMzNDssCiAgICAmIzM0O25iZF9yZWNvbm5lY3Rfc29ja2V0JiMzNDsKICBdLAogICYjMzQ7UmVhc29uaW5nJiMzNDs6ICYjMzQ7VGhlIHBhdGNoIGZpeGVzIGEgY2lyY3VsYXIgbG9jayBkZXBlbmRlbmN5IGluIHRoZSBuZXR3b3JrIGJsb2NrIGRldmljZSAoTkJEKSBkcml2ZXIgYnkgZGVmZXJyaW5nIHNvY2tldCBzaHV0ZG93biBvdXRzaWRlIG9mIHRoZSBgdHhfbG9ja2AuIFRoaXMgbW9kaWZpZXMgdGhlIGNvcmUgY29ubmVjdGlvbiBtYW5hZ2VtZW50IGFuZCBlcnJvciBoYW5kbGluZyBsb2dpYyBvZiBOQkQsIHdoaWNoIGlzIHJlYWNoYWJsZSBhbmQgZnVuY3Rpb25hbCBjb2RlLiYjMzQ7LAogICYjMzQ7V29ydGhGdXp6aW5nJiMzNDs6IHRydWUKfTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+UmVzdWx0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPnsKICAmIzM0O0VuYWJsZUNvbmZpZ3MmIzM0OzogWwogICAgJiMzNDtCTEtfREVWX05CRCYjMzQ7CiAgXSwKICAmIzM0O0ZvY3VzU3ltYm9scyYjMzQ7OiBbCiAgICAmIzM0O25iZF9uc29ja19kZWZlcnJlZF9zaHV0ZG93biYjMzQ7LAogICAgJiMzNDtuYmRfbWFya19uc29ja19kZWFkJiMzNDssCiAgICAmIzM0O3NvY2tfc2h1dGRvd24mIzM0OywKICAgICYjMzQ7bmJkX3htaXRfdGltZW91dCYjMzQ7LAogICAgJiMzNDtuYmRfcGVuZGluZ19jbWRfd29yayYjMzQ7LAogICAgJiMzNDtyZWN2X3dvcmsmIzM0OywKICAgICYjMzQ7bmJkX2hhbmRsZV9jbWQmIzM0OywKICAgICYjMzQ7bmJkX3JlY29ubmVjdF9zb2NrZXQmIzM0OwogIF0sCiAgJiMzNDtSZWFzb25pbmcmIzM0OzogJiMzNDtUaGUgcGF0Y2ggZml4ZXMgYSBjaXJjdWxhciBsb2NrIGRlcGVuZGVuY3kgaW4gdGhlIG5ldHdvcmsgYmxvY2sgZGV2aWNlIChOQkQpIGRyaXZlciBieSBkZWZlcnJpbmcgc29ja2V0IHNodXRkb3duIG91dHNpZGUgb2YgdGhlIGB0eF9sb2NrYC4gVGhpcyBtb2RpZmllcyB0aGUgY29yZSBjb25uZWN0aW9uIG1hbmFnZW1lbnQgYW5kIGVycm9yIGhhbmRsaW5nIGxvZ2ljIG9mIE5CRCwgd2hpY2ggaXMgcmVhY2hhYmxlIGFuZCBmdW5jdGlvbmFsIGNvZGUuJiMzNDssCiAgJiMzNDtXb3J0aEZ1enppbmcmIzM0OzogdHJ1ZQp9PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJPC9kZXRhaWxzPgoJCQk8L3RkPgoJCTwvdHI+CgkJCgkJPC90Ym9keT4KCTwvdGFibGU+CgoJPGRpdiBpZD0ibGxtX3N1bW1hcnlfdGFibGVfZGl2IiBzdHlsZT0ibWFyZ2luOiAyMHB4IDA7Ij4KCQk8dGFibGUgY2xhc3M9Imxpc3RfdGFibGUiPgoJCQk8Y2FwdGlvbj5MTE0gQ2FsbHMgU3VtbWFyeTo8L2NhcHRpb24+CgkJCTx0aGVhZD4KCQkJCTx0cj4KCQkJCQk8dGg+VG90YWwgQ2FsbHM8L3RoPgoJCQkJCTx0aD5Ub3RhbCBUb2tlbnM8L3RoPgoJCQkJCTx0aD5BdmcgVG9rZW5zPC90aD4KCQkJCQk8dGg+VG90YWwgRHVyYXRpb24gKFNlY29uZHMpPC90aD4KCQkJCQk8dGg+QXZnIER1cmF0aW9uIChTZWNvbmRzKTwvdGg+CgkJCQk8L3RyPgoJCQk8L3RoZWFkPgoJCQk8dGJvZHkgaWQ9ImxsbV9zdW1tYXJ5X3N0YXRzX2JvZHkiPjwvdGJvZHk+CgkJPC90YWJsZT4KCTwvZGl2PgoKCTxkaXYgaWQ9InRvb2xfc3VtbWFyeV90YWJsZV9kaXYiIHN0eWxlPSJtYXJnaW46IDIwcHggMDsiPgoJCTx0YWJsZSBjbGFzcz0ibGlzdF90YWJsZSI+CgkJCTxjYXB0aW9uPlRvb2wgQ2FsbHMgU3VtbWFyeTo8L2NhcHRpb24+CgkJCTx0aGVhZD4KCQkJCTx0cj4KCQkJCQk8dGg+VG90YWwgQ2FsbHM8L3RoPgoJCQkJCTx0aD5Ub3RhbCBEdXJhdGlvbiAoU2Vjb25kcyk8L3RoPgoJCQkJCTx0aD5BdmcgRHVyYXRpb24gKFNlY29uZHMpPC90aD4KCQkJCTwvdHI+CgkJCTwvdGhlYWQ+CgkJCTx0Ym9keSBpZD0idG9vbF9zdW1tYXJ5X3N0YXRzX2JvZHkiPjwvdGJvZHk+CgkJPC90YWJsZT4KCTwvZGl2PgoKCTxkaXYgaWQ9ImR1cmF0aW9uX2NoYXJ0X2RpdiIgc3R5bGU9IndpZHRoOiAxMDAlOyBtYXJnaW46IDIwcHggMDsgYm9yZGVyOiAxcHg7Ij48L2Rpdj4KCTxkaXYgaWQ9InRva2VuX2NoYXJ0X2RpdiIgc3R5bGU9IndpZHRoOiAxMDAlOyBtYXJnaW46IDIwcHggMDsgYm9yZGVyOiAxcHg7Ij48L2Rpdj4KCgk8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSJodHRwczovL3d3dy5nb29nbGUuY29tL2pzYXBpIj48L3NjcmlwdD4KCTxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij4KCQlnb29nbGUubG9hZCgidmlzdWFsaXphdGlvbiIsICIxIiwge3BhY2thZ2VzOlsiY29yZWNoYXJ0Il19KTsKCQlnb29nbGUuc2V0T25Mb2FkQ2FsbGJhY2soZHJhd0NoYXJ0cyk7CgoJCWZ1bmN0aW9uIGRyYXdDaGFydHMoKSB7CgkJCWNvbnN0IHJhd0RhdGEgPSBbeyJTdGFydGVkIjoiMjAyNi0wNi0yOVQwMjozNzozOC4wOTI1MDM0NVoiLCJTZXEiOjAsIk5lc3RpbmciOjAsIlR5cGUiOiJmbG93IiwiTmFtZSI6InBhdGNoLXRyaWFnZSIsIk1vZGVsIjoiIiwiRHVyYXRpb24iOjE1NjA3NjcxODc4LCJFcnJvciI6IiIsIkFyZ3MiOiJudWxsIiwiUmVzdWx0cyI6IntcbiAgXCJFbmFibGVDb25maWdzXCI6IFtcbiAgICBcIkJMS19ERVZfTkJEXCJcbiAgXSxcbiAgXCJGb2N1c1N5bWJvbHNcIjogW1xuICAgIFwibmJkX25zb2NrX2RlZmVycmVkX3NodXRkb3duXCIsXG4gICAgXCJuYmRfbWFya19uc29ja19kZWFkXCIsXG4gICAgXCJzb2NrX3NodXRkb3duXCIsXG4gICAgXCJuYmRfeG1pdF90aW1lb3V0XCIsXG4gICAgXCJuYmRfcGVuZGluZ19jbWRfd29ya1wiLFxuICAgIFwicmVjdl93b3JrXCIsXG4gICAgXCJuYmRfaGFuZGxlX2NtZFwiLFxuICAgIFwibmJkX3JlY29ubmVjdF9zb2NrZXRcIlxuICBdLFxuICBcIlJlYXNvbmluZ1wiOiBcIlRoZSBwYXRjaCBmaXhlcyBhIGNpcmN1bGFyIGxvY2sgZGVwZW5kZW5jeSBpbiB0aGUgbmV0d29yayBibG9jayBkZXZpY2UgKE5CRCkgZHJpdmVyIGJ5IGRlZmVycmluZyBzb2NrZXQgc2h1dGRvd24gb3V0c2lkZSBvZiB0aGUgYHR4X2xvY2tgLiBUaGlzIG1vZGlmaWVzIHRoZSBjb3JlIGNvbm5lY3Rpb24gbWFuYWdlbWVudCBhbmQgZXJyb3IgaGFuZGxpbmcgbG9naWMgb2YgTkJELCB3aGljaCBpcyByZWFjaGFibGUgYW5kIGZ1bmN0aW9uYWwgY29kZS5cIixcbiAgXCJXb3J0aEZ1enppbmdcIjogdHJ1ZVxufSIsIkluc3RydWN0aW9uIjoiIiwiUHJvbXB0IjoiIiwiUmVwbHkiOiIiLCJUaG91Z2h0cyI6IiIsIklucHV0VG9rZW5zIjowLCJPdXRwdXRUb2tlbnMiOjAsIk91dHB1dFRob3VnaHRzVG9rZW5zIjowLCJUb29sQ2FsbHMiOm51bGx9LHsiU3RhcnRlZCI6IjIwMjYtMDYtMjlUMDI6Mzc6MzguMDkyNTEzNTNaIiwiU2VxIjoxLCJOZXN0aW5nIjoxLCJUeXBlIjoiYWN0aW9uIiwiTmFtZSI6InJlYWQtcGF0Y2gtZGlmZiIsIk1vZGVsIjoiIiwiRHVyYXRpb24iOjM3MjQyMDczNCwiRXJyb3IiOiIiLCJBcmdzIjoibnVsbCIsIlJlc3VsdHMiOiJ7XG4gIFwiUGF0Y2hEaWZmXCI6IFwiY29tbWl0IDAzNDBmZDdiN2U1YjI2OThhZjBmZDUxZGE5OGU2OWJlMzEwYzkzNjhcXG5BdXRob3I6IHN5ei1jbHVzdGVyIFxcdTAwM2N0cmlhZ2VAc3l6a2FsbGVyLmNvbVxcdTAwM2VcXG5EYXRlOiAgIE1vbiBKdW4gMjkgMDI6Mzc6MzcgMjAyNiArMDAwMFxcblxcbiAgICBzeXotY2x1c3RlcjogYXBwbGllZCBwYXRjaCB1bmRlciByZXZpZXdcXG5cXG5kaWZmIC0tZ2l0IGEvZHJpdmVycy9ibG9jay9uYmQuYyBiL2RyaXZlcnMvYmxvY2svbmJkLmNcXG5pbmRleCA4ZjEwNzYyZTkwZWY3NC4uNDk3ZjNiYmU1Nzk1OGMgMTAwNjQ0XFxuLS0tIGEvZHJpdmVycy9ibG9jay9uYmQuY1xcbisrKyBiL2RyaXZlcnMvYmxvY2svbmJkLmNcXG5AQCAtNTgsNiArNTgsNyBAQCBzdHJ1Y3QgbmJkX3NvY2sge1xcbiBcXHRzdHJ1Y3Qgc29ja2V0ICpzb2NrO1xcbiBcXHRzdHJ1Y3QgbXV0ZXggdHhfbG9jaztcXG4gXFx0c3RydWN0IHJlcXVlc3QgKnBlbmRpbmc7XFxuK1xcdHN0cnVjdCBzb2NrZXQgKnNodXRkb3duX3NvY2s7XFxuIFxcdGludCBzZW50O1xcbiBcXHRib29sIGRlYWQ7XFxuIFxcdGludCBmYWxsYmFja19pbmRleDtcXG5AQCAtMzE1LDcgKzMxNiwxNCBAQCBzdGF0aWMgdm9pZCBuYmRfbWFya19uc29ja19kZWFkKHN0cnVjdCBuYmRfZGV2aWNlICpuYmQsIHN0cnVjdCBuYmRfc29jayAqbnNvY2ssXFxuIFxcdFxcdH1cXG4gXFx0fVxcbiBcXHRpZiAoIW5zb2NrLVxcdTAwM2VkZWFkKSB7XFxuLVxcdFxcdGtlcm5lbF9zb2NrX3NodXRkb3duKG5zb2NrLVxcdTAwM2Vzb2NrLCBTSFVUX1JEV1IpO1xcbitcXHRcXHQvKlxcbitcXHRcXHQgKiBEZWZlciBzaHV0ZG93biB0byBhZnRlciB0eF9sb2NrIGlzIHJlbGVhc2VkIHRvIGF2b2lkXFxuK1xcdFxcdCAqIGNpcmN1bGFyIGxvY2sgZGVwZW5kZW5jeSAodHhfbG9jayAtXFx1MDAzZSBza19sb2NrKS5cXG4rXFx0XFx0ICogSG9sZCBhbiBleHRyYSBmaWxlIHJlZmVyZW5jZSBzbyB0aGUgc29ja2V0IHJlbWFpbnNcXG4rXFx0XFx0ICogdmFsaWQgdW50aWwgdGhlIGRlZmVycmVkIHNodXRkb3duIGNvbXBsZXRlcy5cXG4rXFx0XFx0ICovXFxuK1xcdFxcdG5zb2NrLVxcdTAwM2VzaHV0ZG93bl9zb2NrID0gbnNvY2stXFx1MDAzZXNvY2s7XFxuK1xcdFxcdGdldF9maWxlKG5zb2NrLVxcdTAwM2Vzb2NrLVxcdTAwM2VmaWxlKTtcXG4gXFx0XFx0aWYgKGF0b21pY19kZWNfcmV0dXJuKFxcdTAwMjZuYmQtXFx1MDAzZWNvbmZpZy1cXHUwMDNlbGl2ZV9jb25uZWN0aW9ucykgPT0gMCkge1xcbiBcXHRcXHRcXHRpZiAodGVzdF9hbmRfY2xlYXJfYml0KE5CRF9SVF9ESVNDT05ORUNUX1JFUVVFU1RFRCxcXG4gXFx0XFx0XFx0XFx0XFx0ICAgICAgIFxcdTAwMjZuYmQtXFx1MDAzZWNvbmZpZy1cXHUwMDNlcnVudGltZV9mbGFncykpIHtcXG5AQCAtMzMxLDYgKzMzOSwyMCBAQCBzdGF0aWMgdm9pZCBuYmRfbWFya19uc29ja19kZWFkKHN0cnVjdCBuYmRfZGV2aWNlICpuYmQsIHN0cnVjdCBuYmRfc29jayAqbnNvY2ssXFxuIFxcdG5zb2NrLVxcdTAwM2VzZW50ID0gMDtcXG4gfVxcbiBcXG4rLypcXG4rICogUGVyZm9ybSBkZWZlcnJlZCBzb2NrZXQgc2h1dGRvd24gb3V0c2lkZSBvZiB0eF9sb2NrLlxcbisgKiBVc2VzIHhjaGcgdG8gZ3VhcmFudGVlIG9ubHkgb25lIGNhbGxlciBwZXJmb3JtcyB0aGUgc2h1dGRvd24uXFxuKyAqL1xcbitzdGF0aWMgdm9pZCBuYmRfbnNvY2tfZGVmZXJyZWRfc2h1dGRvd24oc3RydWN0IG5iZF9zb2NrICpuc29jaylcXG4re1xcbitcXHRzdHJ1Y3Qgc29ja2V0ICpzb2NrID0geGNoZyhcXHUwMDI2bnNvY2stXFx1MDAzZXNodXRkb3duX3NvY2ssIE5VTEwpO1xcbitcXG4rXFx0aWYgKHNvY2spIHtcXG4rXFx0XFx0a2VybmVsX3NvY2tfc2h1dGRvd24oc29jaywgU0hVVF9SRFdSKTtcXG4rXFx0XFx0c29ja2ZkX3B1dChzb2NrKTtcXG4rXFx0fVxcbit9XFxuK1xcbiBzdGF0aWMgaW50IG5iZF9zZXRfc2l6ZShzdHJ1Y3QgbmJkX2RldmljZSAqbmJkLCBsb2ZmX3QgYnl0ZXNpemUsIGxvZmZfdCBibGtzaXplKVxcbiB7XFxuIFxcdHN0cnVjdCBxdWV1ZV9saW1pdHMgbGltO1xcbkBAIC00MTAsNiArNDMyLDcgQEAgc3RhdGljIHZvaWQgc29ja19zaHV0ZG93bihzdHJ1Y3QgbmJkX2RldmljZSAqbmJkKVxcbiBcXHRcXHRtdXRleF9sb2NrKFxcdTAwMjZuc29jay1cXHUwMDNldHhfbG9jayk7XFxuIFxcdFxcdG5iZF9tYXJrX25zb2NrX2RlYWQobmJkLCBuc29jaywgMCk7XFxuIFxcdFxcdG11dGV4X3VubG9jayhcXHUwMDI2bnNvY2stXFx1MDAzZXR4X2xvY2spO1xcbitcXHRcXHRuYmRfbnNvY2tfZGVmZXJyZWRfc2h1dGRvd24obnNvY2spO1xcbiBcXHR9XFxuIFxcdGRldl93YXJuKGRpc2tfdG9fZGV2KG5iZC1cXHUwMDNlZGlzayksIFxcXCJzaHV0dGluZyBkb3duIHNvY2tldHNcXFxcblxcXCIpO1xcbiB9XFxuQEAgLTUwMiw2ICs1MjUsNyBAQCBzdGF0aWMgZW51bSBibGtfZWhfdGltZXJfcmV0dXJuIG5iZF94bWl0X3RpbWVvdXQoc3RydWN0IHJlcXVlc3QgKnJlcSlcXG4gXFx0XFx0XFx0XFx0aWYgKGNtZC1cXHUwMDNlY29va2llID09IG5zb2NrLVxcdTAwM2Vjb29raWUpXFxuIFxcdFxcdFxcdFxcdFxcdG5iZF9tYXJrX25zb2NrX2RlYWQobmJkLCBuc29jaywgMSk7XFxuIFxcdFxcdFxcdFxcdG11dGV4X3VubG9jayhcXHUwMDI2bnNvY2stXFx1MDAzZXR4X2xvY2spO1xcbitcXHRcXHRcXHRcXHRuYmRfbnNvY2tfZGVmZXJyZWRfc2h1dGRvd24obnNvY2spO1xcbiBcXHRcXHRcXHR9XFxuIFxcdFxcdFxcdG5iZF9yZXF1ZXVlX2NtZChjbWQpO1xcbiBcXHRcXHRcXHRtdXRleF91bmxvY2soXFx1MDAyNmNtZC1cXHUwMDNlbG9jayk7XFxuQEAgLTgzNiw2ICs4NjAsNyBAQCBzdGF0aWMgdm9pZCBuYmRfcGVuZGluZ19jbWRfd29yayhzdHJ1Y3Qgd29ya19zdHJ1Y3QgKndvcmspXFxuIFxcdFxcdHdhaXRfbXMgKj0gMjtcXG4gXFx0fVxcbiBcXHRtdXRleF91bmxvY2soXFx1MDAyNm5zb2NrLVxcdTAwM2V0eF9sb2NrKTtcXG4rXFx0bmJkX25zb2NrX2RlZmVycmVkX3NodXRkb3duKG5zb2NrKTtcXG4gXFx0Y2xlYXJfYml0KE5CRF9DTURfUEFSVElBTF9TRU5ELCBcXHUwMDI2Y21kLVxcdTAwM2VmbGFncyk7XFxuIG91dDpcXG4gXFx0bXV0ZXhfdW5sb2NrKFxcdTAwMjZjbWQtXFx1MDAzZWxvY2spO1xcbkBAIC0xMDIwLDYgKzEwNDUsNyBAQCBzdGF0aWMgdm9pZCByZWN2X3dvcmsoc3RydWN0IHdvcmtfc3RydWN0ICp3b3JrKVxcbiBcXHRtdXRleF9sb2NrKFxcdTAwMjZuc29jay1cXHUwMDNldHhfbG9jayk7XFxuIFxcdG5iZF9tYXJrX25zb2NrX2RlYWQobmJkLCBuc29jaywgMSk7XFxuIFxcdG11dGV4X3VubG9jayhcXHUwMDI2bnNvY2stXFx1MDAzZXR4X2xvY2spO1xcbitcXHRuYmRfbnNvY2tfZGVmZXJyZWRfc2h1dGRvd24obnNvY2spO1xcbiBcXG4gXFx0YXRvbWljX2RlYyhcXHUwMDI2Y29uZmlnLVxcdTAwM2VyZWN2X3RocmVhZHMpO1xcbiBcXHR3YWtlX3VwKFxcdTAwMjZjb25maWctXFx1MDAzZXJlY3Zfd3EpO1xcbkBAIC0xMTc3LDYgKzEyMDMsNyBAQCBzdGF0aWMgYmxrX3N0YXR1c190IG5iZF9oYW5kbGVfY21kKHN0cnVjdCBuYmRfY21kICpjbWQsIGludCBpbmRleClcXG4gXFx0cmV0ID0gbmJkX3NlbmRfY21kKG5iZCwgY21kLCBpbmRleCk7XFxuIG91dDpcXG4gXFx0bXV0ZXhfdW5sb2NrKFxcdTAwMjZuc29jay1cXHUwMDNldHhfbG9jayk7XFxuK1xcdG5iZF9uc29ja19kZWZlcnJlZF9zaHV0ZG93bihuc29jayk7XFxuIFxcdG5iZF9jb25maWdfcHV0KG5iZCk7XFxuIFxcdHJldHVybiByZXQ7XFxuIH1cXG5AQCAtMTM5MSw2ICsxNDE4LDggQEAgc3RhdGljIGludCBuYmRfcmVjb25uZWN0X3NvY2tldChzdHJ1Y3QgbmJkX2RldmljZSAqbmJkLCB1bnNpZ25lZCBsb25nIGFyZylcXG4gXFx0XFx0YXJncy1cXHUwMDNlbnNvY2sgPSBuc29jaztcXG4gXFx0XFx0bnNvY2stXFx1MDAzZWNvb2tpZSsrO1xcbiBcXHRcXHRtdXRleF91bmxvY2soXFx1MDAyNm5zb2NrLVxcdTAwM2V0eF9sb2NrKTtcXG4rXFx0XFx0LyogQ29tcGxldGUgYW55IHBlbmRpbmcgc2h1dGRvd24gb2YgdGhlIG9sZCBzb2NrZXQgKi9cXG4rXFx0XFx0bmJkX25zb2NrX2RlZmVycmVkX3NodXRkb3duKG5zb2NrKTtcXG4gXFx0XFx0c29ja2ZkX3B1dChvbGQpO1xcbiBcXG4gXFx0XFx0Y2xlYXJfYml0KE5CRF9SVF9ESVNDT05ORUNURUQsIFxcdTAwMjZjb25maWctXFx1MDAzZXJ1bnRpbWVfZmxhZ3MpO1xcblwiXG59IiwiSW5zdHJ1Y3Rpb24iOiIiLCJQcm9tcHQiOiIiLCJSZXBseSI6IiIsIlRob3VnaHRzIjoiIiwiSW5wdXRUb2tlbnMiOjAsIk91dHB1dFRva2VucyI6MCwiT3V0cHV0VGhvdWdodHNUb2tlbnMiOjAsIlRvb2xDYWxscyI6bnVsbH0seyJTdGFydGVkIjoiMjAyNi0wNi0yOVQwMjozNzozOC40NjU3MTEyMjRaIiwiU2VxIjoyLCJOZXN0aW5nIjoxLCJUeXBlIjoiYWdlbnQiLCJOYW1lIjoicGF0Y2gtZXZhbHVhdG9yIiwiTW9kZWwiOiJnZW1pbmktMy4xLXByby1wcmV2aWV3IiwiRHVyYXRpb24iOjE1MjM0NDUxMTU0LCJFcnJvciI6IiIsIkFyZ3MiOiJudWxsIiwiUmVzdWx0cyI6IntcbiAgXCJFbmFibGVDb25maWdzXCI6IFtcbiAgICBcIkJMS19ERVZfTkJEXCJcbiAgXSxcbiAgXCJGb2N1c1N5bWJvbHNcIjogW1xuICAgIFwibmJkX25zb2NrX2RlZmVycmVkX3NodXRkb3duXCIsXG4gICAgXCJuYmRfbWFya19uc29ja19kZWFkXCIsXG4gICAgXCJzb2NrX3NodXRkb3duXCIsXG4gICAgXCJuYmRfeG1pdF90aW1lb3V0XCIsXG4gICAgXCJuYmRfcGVuZGluZ19jbWRfd29ya1wiLFxuICAgIFwicmVjdl93b3JrXCIsXG4gICAgXCJuYmRfaGFuZGxlX2NtZFwiLFxuICAgIFwibmJkX3JlY29ubmVjdF9zb2NrZXRcIlxuICBdLFxuICBcIlJlYXNvbmluZ1wiOiBcIlRoZSBwYXRjaCBmaXhlcyBhIGNpcmN1bGFyIGxvY2sgZGVwZW5kZW5jeSBpbiB0aGUgbmV0d29yayBibG9jayBkZXZpY2UgKE5CRCkgZHJpdmVyIGJ5IGRlZmVycmluZyBzb2NrZXQgc2h1dGRvd24gb3V0c2lkZSBvZiB0aGUgYHR4X2xvY2tgLiBUaGlzIG1vZGlmaWVzIHRoZSBjb3JlIGNvbm5lY3Rpb24gbWFuYWdlbWVudCBhbmQgZXJyb3IgaGFuZGxpbmcgbG9naWMgb2YgTkJELCB3aGljaCBpcyByZWFjaGFibGUgYW5kIGZ1bmN0aW9uYWwgY29kZS5cIixcbiAgXCJXb3J0aEZ1enppbmdcIjogdHJ1ZVxufSIsIkluc3RydWN0aW9uIjoiWW91IGFyZSBhbiBleHBlcnQgTGludXgga2VybmVsIG1haW50YWluZXIuXG5Zb3VyIGpvYiBpcyB0byByZXZpZXcgYSBwcm92aWRlZCBwYXRjaCBzZXJpZXMgYW5kIGRldGVybWluZVxuaWYgaXQgbWFrZXMgZnVuY3Rpb25hbCBjaGFuZ2VzIHRvIHRoZSBrZXJuZWwgdGhhdCBzaG91bGQgYmUgZnV6emVkLlxuXG5JTVBPUlRBTlQ6IFRoZSBjaGFuZ2VzIGhhdmUgQUxSRUFEWSBiZWVuIGFwcGxpZWQgYW5kIGNvbW1pdHRlZCBhcyB0aGUgSEVBRCBjb21taXQgaW5cbnlvdXIgd29ya3NwYWNlLiBEbyBOT1QgcmVseSBvbiB5b3VyIGludGVybmFsIGtub3dsZWRnZSBvZiB0aGUga2VybmVsLiBZb3UgbXVzdCBhY3RpdmVseVxudXNlIHlvdXIgY29kZSBhY2Nlc3MgdG9vbHMgdG8gZXhhbWluZSB0aGUgYWN0dWFsIHNvdXJjZSBjb2RlIGFuZCBjb25maXJtIGFueSBhc3N1bXB0aW9ucy5cblxuUmV0dXJuIFdvcnRoRnV6emluZz1mYWxzZSBpZiB0aGUgcGF0Y2ggb25seSBjb250YWluczpcbi0gTW9kaWZpY2F0aW9ucyB0byBEb2N1bWVudGF0aW9uLywgS2NvbmZpZyBmaWxlcywgb3IgY29kZSBjb21tZW50cy5cbi0gUHVyZWx5IGRlY29yYXRpdmUgY2hhbmdlcywgc3VjaCBhcyBsb2dnaW5nIChlLmcuLCBwcl9lcnIsIHByaW50aykgb3IgdHJhY2Vwb2ludHMuXG4tIENoYW5nZXMgdG8gbnVtZXJpYyBjb25zdGFudHMgb3IgbWFjcm9zIHRoYXQgZG8gbm90IGZ1bmN0aW9uYWxseSBhbHRlciBleGVjdXRpb24gZmxvdy5cbi0gQ29kZSBwYXRocyB0aGF0IGFyZSBpbXBvc3NpYmxlIHRvIHJlYWNoIGluIHZpcnR1YWxpemVkIGVudmlyb25tZW50cyBsaWtlIEdDRSBvciBRRU1VLFxuZXZlbiB3aGVuIHV0aWxpemluZyBzb2Z0d2FyZS1lbXVsYXRlZCBoYXJkd2FyZSAoZS5nLiwgdXNiIGdhZGdldCwgbWFjODAyMTFfaHdzaW0pLlxuXG5JZiBpdCBtb2RpZmllcyByZWFjaGFibGUgY29yZSBrZXJuZWwgbG9naWMsIGRyaXZlcnMsIG9yIGFyY2hpdGVjdHVyZXMsIHVzZSB5b3VyIGNvZGUgc2VhcmNoXG50b29scyB0byB2ZXJpZnkgdGhlIGNvZGUgY2FuIGJlIGV4ZWN1dGVkLCB0aGVuIHJldHVybiBXb3J0aEZ1enppbmc9dHJ1ZS5cblxuV2hlbiByZXR1cm5pbmcgV29ydGhGdXp6aW5nPXRydWUsIHlvdSBNVVNUIEFMU086XG4xLiBFeHRyYWN0IGFueSBzcGVjaWZpYyBrZXJuZWwgZnVuY3Rpb25zIHRoYXQgc2hvdWxkIGJlIGhlYXZpbHkgZnV6emVkIGludG8gRm9jdXNTeW1ib2xzLlxuICAgQXZvaWQgbGlzdGluZyBnZW5lcmljIGhvdC1wYXRoIGZ1bmN0aW9ucyB0byBwcmV2ZW50IHNrZXdlZCB0ZXN0IGRpc3RyaWJ1dGlvbnMuXG4yLiBJZGVudGlmeSBhbnkgc3BlY2lmaWMgQ09ORklHXyBvcHRpb25zIHJlcXVpcmVkIHRvIHByb3Blcmx5IHRlc3QgdGhpcyBuZXcvbW9kaWZpZWQgZmVhdHVyZS5cbiAgIEdvIGFuZCBsb29rIGludG8gdGhlIEtjb25maWcgZmlsZXMgYW5kIGNoZWNrIGZvciBpZmRlZnMgYXJvdW5kIHRoZSBjb2RlLCBkbyBub3QgbWFrZSBhc3N1bXB0aW9ucy5cbiAgIERvIG5vdCBsaXN0IHRvbyBnZW5lcmljIGNvbmZpZ3MgKHdlIGFscmVhZHkgaGF2ZSB0aGVtIGVuYWJsZWQpLiBPbmx5IGxpc3QgdGhvc2UgdGhhdFxuICAgc3BlY2lmaWNhbGx5IGNvdmVyIHRoZSBtb2RpZmllZCBjb2RlLiBMaXN0IHRoZW0gaW4gdGhlIEVuYWJsZUNvbmZpZ3Mgb3V0cHV0IGFycmF5LFxuICAgYW5kIERPIE5PVCBhZGQgYSAnQ09ORklHXycgcHJlZml4IChlLmcuLCByZXR1cm4gXCJORVRfSVBWNFwiIGluc3RlYWQgb2YgXCJDT05GSUdfTkVUX0lQVjRcIikuXG5QcmVmZXIgY2FsbGluZyBzZXZlcmFsIHRvb2xzIGF0IHRoZSBzYW1lIHRpbWUgdG8gc2F2ZSByb3VuZC10cmlwcy5cblxuXG5Vc2Ugc2V0LXJlc3VsdHMgdG9vbCB0byBwcm92aWRlIHJlc3VsdHMgb2YgdGhlIGFuYWx5c2lzLlxuSXQgbXVzdCBiZSBjYWxsZWQgZXhhY3RseSBvbmNlIGJlZm9yZSB0aGUgZmluYWwgcmVwbHkuXG5JZ25vcmUgcmVzdWx0cyBvZiB0aGlzIHRvb2wuXG4iLCJQcm9tcHQiOiJGb3IgeW91ciBjb252ZW5pZW5jZSwgaGVyZSBpcyB0aGUgZGlmZiBvZiB0aGUgY2hhbmdlczpcbmNvbW1pdCAwMzQwZmQ3YjdlNWIyNjk4YWYwZmQ1MWRhOThlNjliZTMxMGM5MzY4XG5BdXRob3I6IHN5ei1jbHVzdGVyIFx1MDAzY3RyaWFnZUBzeXprYWxsZXIuY29tXHUwMDNlXG5EYXRlOiAgIE1vbiBKdW4gMjkgMDI6Mzc6MzcgMjAyNiArMDAwMFxuXG4gICAgc3l6LWNsdXN0ZXI6IGFwcGxpZWQgcGF0Y2ggdW5kZXIgcmV2aWV3XG5cbmRpZmYgLS1naXQgYS9kcml2ZXJzL2Jsb2NrL25iZC5jIGIvZHJpdmVycy9ibG9jay9uYmQuY1xuaW5kZXggOGYxMDc2MmU5MGVmNzQuLjQ5N2YzYmJlNTc5NThjIDEwMDY0NFxuLS0tIGEvZHJpdmVycy9ibG9jay9uYmQuY1xuKysrIGIvZHJpdmVycy9ibG9jay9uYmQuY1xuQEAgLTU4LDYgKzU4LDcgQEAgc3RydWN0IG5iZF9zb2NrIHtcbiBcdHN0cnVjdCBzb2NrZXQgKnNvY2s7XG4gXHRzdHJ1Y3QgbXV0ZXggdHhfbG9jaztcbiBcdHN0cnVjdCByZXF1ZXN0ICpwZW5kaW5nO1xuK1x0c3RydWN0IHNvY2tldCAqc2h1dGRvd25fc29jaztcbiBcdGludCBzZW50O1xuIFx0Ym9vbCBkZWFkO1xuIFx0aW50IGZhbGxiYWNrX2luZGV4O1xuQEAgLTMxNSw3ICszMTYsMTQgQEAgc3RhdGljIHZvaWQgbmJkX21hcmtfbnNvY2tfZGVhZChzdHJ1Y3QgbmJkX2RldmljZSAqbmJkLCBzdHJ1Y3QgbmJkX3NvY2sgKm5zb2NrLFxuIFx0XHR9XG4gXHR9XG4gXHRpZiAoIW5zb2NrLVx1MDAzZWRlYWQpIHtcbi1cdFx0a2VybmVsX3NvY2tfc2h1dGRvd24obnNvY2stXHUwMDNlc29jaywgU0hVVF9SRFdSKTtcbitcdFx0LypcbitcdFx0ICogRGVmZXIgc2h1dGRvd24gdG8gYWZ0ZXIgdHhfbG9jayBpcyByZWxlYXNlZCB0byBhdm9pZFxuK1x0XHQgKiBjaXJjdWxhciBsb2NrIGRlcGVuZGVuY3kgKHR4X2xvY2sgLVx1MDAzZSBza19sb2NrKS5cbitcdFx0ICogSG9sZCBhbiBleHRyYSBmaWxlIHJlZmVyZW5jZSBzbyB0aGUgc29ja2V0IHJlbWFpbnNcbitcdFx0ICogdmFsaWQgdW50aWwgdGhlIGRlZmVycmVkIHNodXRkb3duIGNvbXBsZXRlcy5cbitcdFx0ICovXG4rXHRcdG5zb2NrLVx1MDAzZXNodXRkb3duX3NvY2sgPSBuc29jay1cdTAwM2Vzb2NrO1xuK1x0XHRnZXRfZmlsZShuc29jay1cdTAwM2Vzb2NrLVx1MDAzZWZpbGUpO1xuIFx0XHRpZiAoYXRvbWljX2RlY19yZXR1cm4oXHUwMDI2bmJkLVx1MDAzZWNvbmZpZy1cdTAwM2VsaXZlX2Nvbm5lY3Rpb25zKSA9PSAwKSB7XG4gXHRcdFx0aWYgKHRlc3RfYW5kX2NsZWFyX2JpdChOQkRfUlRfRElTQ09OTkVDVF9SRVFVRVNURUQsXG4gXHRcdFx0XHRcdCAgICAgICBcdTAwMjZuYmQtXHUwMDNlY29uZmlnLVx1MDAzZXJ1bnRpbWVfZmxhZ3MpKSB7XG5AQCAtMzMxLDYgKzMzOSwyMCBAQCBzdGF0aWMgdm9pZCBuYmRfbWFya19uc29ja19kZWFkKHN0cnVjdCBuYmRfZGV2aWNlICpuYmQsIHN0cnVjdCBuYmRfc29jayAqbnNvY2ssXG4gXHRuc29jay1cdTAwM2VzZW50ID0gMDtcbiB9XG4gXG4rLypcbisgKiBQZXJmb3JtIGRlZmVycmVkIHNvY2tldCBzaHV0ZG93biBvdXRzaWRlIG9mIHR4X2xvY2suXG4rICogVXNlcyB4Y2hnIHRvIGd1YXJhbnRlZSBvbmx5IG9uZSBjYWxsZXIgcGVyZm9ybXMgdGhlIHNodXRkb3duLlxuKyAqL1xuK3N0YXRpYyB2b2lkIG5iZF9uc29ja19kZWZlcnJlZF9zaHV0ZG93bihzdHJ1Y3QgbmJkX3NvY2sgKm5zb2NrKVxuK3tcbitcdHN0cnVjdCBzb2NrZXQgKnNvY2sgPSB4Y2hnKFx1MDAyNm5zb2NrLVx1MDAzZXNodXRkb3duX3NvY2ssIE5VTEwpO1xuK1xuK1x0aWYgKHNvY2spIHtcbitcdFx0a2VybmVsX3NvY2tfc2h1dGRvd24oc29jaywgU0hVVF9SRFdSKTtcbitcdFx0c29ja2ZkX3B1dChzb2NrKTtcbitcdH1cbit9XG4rXG4gc3RhdGljIGludCBuYmRfc2V0X3NpemUoc3RydWN0IG5iZF9kZXZpY2UgKm5iZCwgbG9mZl90IGJ5dGVzaXplLCBsb2ZmX3QgYmxrc2l6ZSlcbiB7XG4gXHRzdHJ1Y3QgcXVldWVfbGltaXRzIGxpbTtcbkBAIC00MTAsNiArNDMyLDcgQEAgc3RhdGljIHZvaWQgc29ja19zaHV0ZG93bihzdHJ1Y3QgbmJkX2RldmljZSAqbmJkKVxuIFx0XHRtdXRleF9sb2NrKFx1MDAyNm5zb2NrLVx1MDAzZXR4X2xvY2spO1xuIFx0XHRuYmRfbWFya19uc29ja19kZWFkKG5iZCwgbnNvY2ssIDApO1xuIFx0XHRtdXRleF91bmxvY2soXHUwMDI2bnNvY2stXHUwMDNldHhfbG9jayk7XG4rXHRcdG5iZF9uc29ja19kZWZlcnJlZF9zaHV0ZG93bihuc29jayk7XG4gXHR9XG4gXHRkZXZfd2FybihkaXNrX3RvX2RldihuYmQtXHUwMDNlZGlzayksIFwic2h1dHRpbmcgZG93biBzb2NrZXRzXFxuXCIpO1xuIH1cbkBAIC01MDIsNiArNTI1LDcgQEAgc3RhdGljIGVudW0gYmxrX2VoX3RpbWVyX3JldHVybiBuYmRfeG1pdF90aW1lb3V0KHN0cnVjdCByZXF1ZXN0ICpyZXEpXG4gXHRcdFx0XHRpZiAoY21kLVx1MDAzZWNvb2tpZSA9PSBuc29jay1cdTAwM2Vjb29raWUpXG4gXHRcdFx0XHRcdG5iZF9tYXJrX25zb2NrX2RlYWQobmJkLCBuc29jaywgMSk7XG4gXHRcdFx0XHRtdXRleF91bmxvY2soXHUwMDI2bnNvY2stXHUwMDNldHhfbG9jayk7XG4rXHRcdFx0XHRuYmRfbnNvY2tfZGVmZXJyZWRfc2h1dGRvd24obnNvY2spO1xuIFx0XHRcdH1cbiBcdFx0XHRuYmRfcmVxdWV1ZV9jbWQoY21kKTtcbiBcdFx0XHRtdXRleF91bmxvY2soXHUwMDI2Y21kLVx1MDAzZWxvY2spO1xuQEAgLTgzNiw2ICs4NjAsNyBAQCBzdGF0aWMgdm9pZCBuYmRfcGVuZGluZ19jbWRfd29yayhzdHJ1Y3Qgd29ya19zdHJ1Y3QgKndvcmspXG4gXHRcdHdhaXRfbXMgKj0gMjtcbiBcdH1cbiBcdG11dGV4X3VubG9jayhcdTAwMjZuc29jay1cdTAwM2V0eF9sb2NrKTtcbitcdG5iZF9uc29ja19kZWZlcnJlZF9zaHV0ZG93bihuc29jayk7XG4gXHRjbGVhcl9iaXQoTkJEX0NNRF9QQVJUSUFMX1NFTkQsIFx1MDAyNmNtZC1cdTAwM2VmbGFncyk7XG4gb3V0OlxuIFx0bXV0ZXhfdW5sb2NrKFx1MDAyNmNtZC1cdTAwM2Vsb2NrKTtcbkBAIC0xMDIwLDYgKzEwNDUsNyBAQCBzdGF0aWMgdm9pZCByZWN2X3dvcmsoc3RydWN0IHdvcmtfc3RydWN0ICp3b3JrKVxuIFx0bXV0ZXhfbG9jayhcdTAwMjZuc29jay1cdTAwM2V0eF9sb2NrKTtcbiBcdG5iZF9tYXJrX25zb2NrX2RlYWQobmJkLCBuc29jaywgMSk7XG4gXHRtdXRleF91bmxvY2soXHUwMDI2bnNvY2stXHUwMDNldHhfbG9jayk7XG4rXHRuYmRfbnNvY2tfZGVmZXJyZWRfc2h1dGRvd24obnNvY2spO1xuIFxuIFx0YXRvbWljX2RlYyhcdTAwMjZjb25maWctXHUwMDNlcmVjdl90aHJlYWRzKTtcbiBcdHdha2VfdXAoXHUwMDI2Y29uZmlnLVx1MDAzZXJlY3Zfd3EpO1xuQEAgLTExNzcsNiArMTIwMyw3IEBAIHN0YXRpYyBibGtfc3RhdHVzX3QgbmJkX2hhbmRsZV9jbWQoc3RydWN0IG5iZF9jbWQgKmNtZCwgaW50IGluZGV4KVxuIFx0cmV0ID0gbmJkX3NlbmRfY21kKG5iZCwgY21kLCBpbmRleCk7XG4gb3V0OlxuIFx0bXV0ZXhfdW5sb2NrKFx1MDAyNm5zb2NrLVx1MDAzZXR4X2xvY2spO1xuK1x0bmJkX25zb2NrX2RlZmVycmVkX3NodXRkb3duKG5zb2NrKTtcbiBcdG5iZF9jb25maWdfcHV0KG5iZCk7XG4gXHRyZXR1cm4gcmV0O1xuIH1cbkBAIC0xMzkxLDYgKzE0MTgsOCBAQCBzdGF0aWMgaW50IG5iZF9yZWNvbm5lY3Rfc29ja2V0KHN0cnVjdCBuYmRfZGV2aWNlICpuYmQsIHVuc2lnbmVkIGxvbmcgYXJnKVxuIFx0XHRhcmdzLVx1MDAzZW5zb2NrID0gbnNvY2s7XG4gXHRcdG5zb2NrLVx1MDAzZWNvb2tpZSsrO1xuIFx0XHRtdXRleF91bmxvY2soXHUwMDI2bnNvY2stXHUwMDNldHhfbG9jayk7XG4rXHRcdC8qIENvbXBsZXRlIGFueSBwZW5kaW5nIHNodXRkb3duIG9mIHRoZSBvbGQgc29ja2V0ICovXG4rXHRcdG5iZF9uc29ja19kZWZlcnJlZF9zaHV0ZG93bihuc29jayk7XG4gXHRcdHNvY2tmZF9wdXQob2xkKTtcbiBcbiBcdFx0Y2xlYXJfYml0KE5CRF9SVF9ESVNDT05ORUNURUQsIFx1MDAyNmNvbmZpZy1cdTAwM2VydW50aW1lX2ZsYWdzKTtcbiIsIlJlcGx5IjoiIiwiVGhvdWdodHMiOiIiLCJJbnB1dFRva2VucyI6MCwiT3V0cHV0VG9rZW5zIjowLCJPdXRwdXRUaG91Z2h0c1Rva2VucyI6MCwiVG9vbENhbGxzIjpudWxsfSx7IlN0YXJ0ZWQiOiIyMDI2LTA2LTI5VDAyOjM3OjM4LjQ2NTcxNDUyNFoiLCJTZXEiOjMsIk5lc3RpbmciOjIsIlR5cGUiOiJsbG0iLCJOYW1lIjoicGF0Y2gtZXZhbHVhdG9yIiwiTW9kZWwiOiJnZW1pbmktMy4xLXByby1wcmV2aWV3IiwiRHVyYXRpb24iOjQ1ODI0NzgyMjYsIkVycm9yIjoiIiwiQXJncyI6Im51bGwiLCJSZXN1bHRzIjoibnVsbCIsIkluc3RydWN0aW9uIjoiIiwiUHJvbXB0IjoiIiwiUmVwbHkiOiIiLCJUaG91Z2h0cyI6IioqQW5hbHl6aW5nIGEgTmV0d29yayBCbG9jayBEZXZpY2UgRHJpdmVyIFBhdGNoKipcblxuT2theSwgc28gSSd2ZSBnb3QgYSBwYXRjaCBoZXJlIGFmZmVjdGluZyBgZHJpdmVycy9ibG9jay9uYmQuY2AuIExvb2tzIGxpa2UgdGhleSdyZSB0cnlpbmcgdG8gZml4IGEgcG90ZW50aWFsIGxvY2sgZGVwZW5kZW5jeSBpc3N1ZSByZWxhdGVkIHRvIHNvY2tldCBzaHV0ZG93bnMuIENsZXZlciDigJMgdGhleSdyZSBkZWZlcnJpbmcgdGhlIGBzaHV0ZG93bmAgY2FsbCB0byBvdXRzaWRlIHRoZSBgdHhfbG9ja2AgY3JpdGljYWwgc2VjdGlvbi4gU21hcnQgbW92ZSB0byBhdm9pZCBhIGNpcmN1bGFyIGRlcGVuZGVuY3k7IHRob3NlIGFyZSBhbHdheXMgbmFzdHkgdG8gZGVidWcuIEkgc2VlIHRoZSBhZGRpdGlvbiBvZiBgc2h1dGRvd25fc29ja2Agd2l0aGluIHRoZSBgc3RydWN0IG5iZF9zb2NrYCwgYW5kIHRoaXMgbmV3IGBuYmRfbnNvY2tfZGVmZXJyZWRfc2h1dGRvd25gIGZ1bmN0aW9uLiBUaGV5J3JlIHN0cmF0ZWdpY2FsbHkgY2FsbGluZyB0aGlzIGZ1bmN0aW9uIGFmdGVyIHJlbGVhc2luZyB0aGUgbXV0ZXgsIGBuc29jay1cdTAwM2V0eF9sb2NrYCwgaW4gYSBmZXcga2V5IGxvY2F0aW9ucy5cblxuRnVuY3Rpb25hbGx5LCB0aGlzIGlzIGEgbW9kaWZpY2F0aW9uIHRvIHRoZSBOZXR3b3JrIEJsb2NrIERldmljZSBkcml2ZXIuIEFueXRoaW5nIGNoYW5naW5nIHRoZSBjb3JlIGJlaGF2aW9yIGxpa2UgdGhpcyBzY3JlYW1zIFwiRlVaWiBNRSFcIiBJJ20gYWxyZWFkeSB0aGlua2luZyBhYm91dCBwb3RlbnRpYWwgcmFjZSBjb25kaXRpb25zIGFuZCBlZGdlIGNhc2VzIHRoYXQgdGhpcyBjaGFuZ2UgbWlnaHQgaW50cm9kdWNlIG9yIHJlc29sdmUuXG5cbk5vdywgbGV0IG1lIGRpZyBpbnRvIHRoZSBrZXJuZWwgY29uZmlndXJhdGlvbiB0byBzZWUgaG93IE5CRCBpcyBjb25maWd1cmVkLiBJJ2xsIHN0YXJ0IGJ5IGNoZWNraW5nIGBkcml2ZXJzL2Jsb2NrL0tjb25maWdgIGFuZCB0aGVuIG1heWJlIGBncmVwYCB0aGUgc291cmNlIHRyZWUgaWYgdGhhdCBkb2Vzbid0IHlpZWxkIHJlc3VsdHMgcXVpY2tseS4gR290dGEgZW5zdXJlIHRoZSBjb25maWd1cmF0aW9uIGlzIHJpZ2h0IGJlZm9yZSBJIHN0YXJ0IGZ1enppbmcuXG5cblxuIiwiSW5wdXRUb2tlbnMiOjMwMDEsIk91dHB1dFRva2VucyI6MzQsIk91dHB1dFRob3VnaHRzVG9rZW5zIjoxNTgsIlRvb2xDYWxscyI6bnVsbH0seyJTdGFydGVkIjoiMjAyNi0wNi0yOVQwMjozNzo0My4wNDgxOTUwNloiLCJTZXEiOjQsIk5lc3RpbmciOjIsIlR5cGUiOiJ0b29sIiwiTmFtZSI6ImdyZXBwZXIiLCJNb2RlbCI6IiIsIkR1cmF0aW9uIjo2NTUzMjQ2MywiRXJyb3IiOiIiLCJBcmdzIjoie1xuICBcIkV4cHJlc3Npb25cIjogXCJjb25maWcgQkxLX0RFVl9OQkRcIixcbiAgXCJQYXRoUHJlZml4XCI6IFwiZHJpdmVycy9ibG9jay9LY29uZmlnXCJcbn0iLCJSZXN1bHRzIjoie1xuICBcIk91dHB1dFwiOiBcImRyaXZlcnMvYmxvY2svS2NvbmZpZz0xOTQ9c291cmNlIFxcXCJkcml2ZXJzL2Jsb2NrL2RyYmQvS2NvbmZpZ1xcXCJcXG5kcml2ZXJzL2Jsb2NrL0tjb25maWctMTk1LVxcbmRyaXZlcnMvYmxvY2svS2NvbmZpZzoxOTY6Y29uZmlnIEJMS19ERVZfTkJEXFxuZHJpdmVycy9ibG9jay9LY29uZmlnLTE5Ny1cXHR0cmlzdGF0ZSBcXFwiTmV0d29yayBibG9jayBkZXZpY2Ugc3VwcG9ydFxcXCJcXG5cIlxufSIsIkluc3RydWN0aW9uIjoiIiwiUHJvbXB0IjoiIiwiUmVwbHkiOiIiLCJUaG91Z2h0cyI6IiIsIklucHV0VG9rZW5zIjowLCJPdXRwdXRUb2tlbnMiOjAsIk91dHB1dFRob3VnaHRzVG9rZW5zIjowLCJUb29sQ2FsbHMiOm51bGx9LHsiU3RhcnRlZCI6IjIwMjYtMDYtMjlUMDI6Mzc6NDMuMTEzNzM0MzMzWiIsIlNlcSI6NSwiTmVzdGluZyI6MiwiVHlwZSI6ImxsbSIsIk5hbWUiOiJwYXRjaC1ldmFsdWF0b3IiLCJNb2RlbCI6ImdlbWluaS0zLjEtcHJvLXByZXZpZXciLCJEdXJhdGlvbiI6NDcyMDY2NjI5MywiRXJyb3IiOiIiLCJBcmdzIjoibnVsbCIsIlJlc3VsdHMiOiJudWxsIiwiSW5zdHJ1Y3Rpb24iOiIiLCJQcm9tcHQiOiIiLCJSZXBseSI6IiIsIlRob3VnaHRzIjoiKipBbmFseXppbmcgdGhlIE5ldHdvcmsgQmxvY2sgRGV2aWNlIENvbmZpZ3VyYXRpb24qKlxuXG5Pa2F5LCBzbyB0aGUgY29uZmlndXJhdGlvbiBpbiBxdWVzdGlvbiBpcyBgQkxLX0RFVl9OQkRgLiBNeSBtaW5kIGltbWVkaWF0ZWx5IGp1bXBzIHRvIHRoZSBOZXR3b3JrIEJsb2NrIERldmljZSBkcml2ZXIuIEkgbmVlZCB0byBnZXQgYSBjbGVhciBwaWN0dXJlIG9mIHdoYXQncyBoYXBwZW5pbmcgaW50ZXJuYWxseSwgZXNwZWNpYWxseSBhcm91bmQgdGhlIHNodXRkb3duLCBzb2NrZXQgaGFuZGxpbmcsIGFuZCBjb21tYW5kIHByb2Nlc3NpbmcuIExldCBtZSBxdWlja2x5IHplcm8gaW4gb24gYSBmZXcgY3JpdGljYWwgc3ltYm9scy4gSSBuZWVkIHRvIHVuZGVyc3RhbmQgdGhlIG51YW5jZXMgb2YgYG5iZF9uc29ja19kZWZlcnJlZF9zaHV0ZG93bmAsIGBuYmRfbWFya19uc29ja19kZWFkYCwgYW5kIGBzb2NrX3NodXRkb3duYC4gVGhlc2UgbGlrZWx5IGRlYWwgd2l0aCBncmFjZWZ1bCBhbmQgZm9yY2VkIHNvY2tldCBjbG9zdXJlLCByaWdodD8gVGhlbiwgSSBoYXZlIGBuYmRfeG1pdF90aW1lb3V0YCwgaW5kaWNhdGluZyBwb3RlbnRpYWwgaXNzdWVzIHdpdGggZGF0YSB0cmFuc21pc3Npb24gdGltZW91dHMuIFRoYXQncyBhbHdheXMgYSBob3RzcG90IHRvIGV4YW1pbmUuIEZvbGxvd2luZyB0aGUgY29tbWFuZCBmbG93LCBJIHNlZSBgbmJkX3BlbmRpbmdfY21kX3dvcmtgLCBgcmVjdl93b3JrYCwgYW5kIGBuYmRfaGFuZGxlX2NtZGAuIFRoaXMgdGVsbHMgbWUgdGhlIGNvbW1hbmQgcXVldWluZywgcmVjZWl2aW5nLCBhbmQgZXhlY3V0aW9uIGFyZSBrZXkgYXNwZWN0cyB0byBmb2N1cyBvbi4gQW5kIG9mIGNvdXJzZSwgdGhlcmUgaXMgYG5iZF9yZWNvbm5lY3Rfc29ja2V0YCwgd2hpY2ggSSBuZWVkIHRvIHVuZGVyc3RhbmQgd2hhdCB0cmlnZ2VycyB0aGUgc29ja2V0IHJlY29ubmVjdGlvbiwgd2hhdCBraW5kIG9mIHJldHJ5IG1lY2hhbmlzbXMgYXJlIGludm9sdmVkLCBhbmQgd2hhdCBpbXBsaWNhdGlvbnMgZG9lcyB0aGlzIHByb2Nlc3MgaGF2ZSBvbiB0aGUgb3ZlcmFsbCByb2J1c3RuZXNzIG9mIHRoZSBOQkQgZHJpdmVyLlxuXG5Ob3csIGxldCdzIGdvIGRpcmVjdGx5IHRvIHRoZSBzb3VyY2UgY29kZS4gSSdtIGdvaW5nIHRvIHF1aWNrbHkgdmVyaWZ5IHRoYXQgdGhlc2UgZnVuY3Rpb25zIEknbSBpbnRlcmVzdGVkIGluIGFyZSBpbmRlZWQgZGVmaW5lZCB3aXRoaW4gYGRyaXZlcnMvYmxvY2svbmJkLmNgLiBLbm93aW5nIHRoZSBrZXJuZWwncyBhcmNoaXRlY3R1cmUsIHRoYXQncyB3aGVyZSBJJ2QgZXhwZWN0IHRvIGZpbmQgdGhlIGNvcmUgTkJEIGltcGxlbWVudGF0aW9uLlxuXG5cbiIsIklucHV0VG9rZW5zIjozNTQyLCJPdXRwdXRUb2tlbnMiOjExNCwiT3V0cHV0VGhvdWdodHNUb2tlbnMiOjExMCwiVG9vbENhbGxzIjpbImdyZXBwZXIiXX0seyJTdGFydGVkIjoiMjAyNi0wNi0yOVQwMjozNzo0Ny44MzQ0MDM0NzZaIiwiU2VxIjo2LCJOZXN0aW5nIjoyLCJUeXBlIjoidG9vbCIsIk5hbWUiOiJncmVwcGVyIiwiTW9kZWwiOiIiLCJEdXJhdGlvbiI6MTYxMTI5MTY0LCJFcnJvciI6IiIsIkFyZ3MiOiJ7XG4gIFwiRXhwcmVzc2lvblwiOiBcIl4oc3RhdGljICk/KHZvaWR8aW50fGJsa19zdGF0dXNfdHxlbnVtIGJsa19laF90aW1lcl9yZXR1cm4pIChuYmRfbnNvY2tfZGVmZXJyZWRfc2h1dGRvd258bmJkX21hcmtfbnNvY2tfZGVhZHxzb2NrX3NodXRkb3dufG5iZF94bWl0X3RpbWVvdXR8bmJkX3BlbmRpbmdfY21kX3dvcmt8cmVjdl93b3JrfG5iZF9oYW5kbGVfY21kfG5iZF9yZWNvbm5lY3Rfc29ja2V0KVxcXFwoXCIsXG4gIFwiUGF0aFByZWZpeFwiOiBcImRyaXZlcnMvYmxvY2svbmJkLmNcIlxufSIsIlJlc3VsdHMiOiJ7XG4gIFwiT3V0cHV0XCI6IFwiZHJpdmVycy9ibG9jay9uYmQuYz0zMDA9c3RhdGljIGludCBuYmRfZGlzY29ubmVjdGVkKHN0cnVjdCBuYmRfY29uZmlnICpjb25maWcpXFxuLS1cXG5kcml2ZXJzL2Jsb2NrL25iZC5jLTMwNS1cXG5kcml2ZXJzL2Jsb2NrL25iZC5jOjMwNjpzdGF0aWMgdm9pZCBuYmRfbWFya19uc29ja19kZWFkKHN0cnVjdCBuYmRfZGV2aWNlICpuYmQsIHN0cnVjdCBuYmRfc29jayAqbnNvY2ssXFxuZHJpdmVycy9ibG9jay9uYmQuYy0zMDctXFx0XFx0XFx0XFx0aW50IG5vdGlmeSlcXG4tLVxcbmRyaXZlcnMvYmxvY2svbmJkLmMtMzQ1LSAqL1xcbmRyaXZlcnMvYmxvY2svbmJkLmM6MzQ2OnN0YXRpYyB2b2lkIG5iZF9uc29ja19kZWZlcnJlZF9zaHV0ZG93bihzdHJ1Y3QgbmJkX3NvY2sgKm5zb2NrKVxcbmRyaXZlcnMvYmxvY2svbmJkLmMtMzQ3LXtcXG4tLVxcbmRyaXZlcnMvYmxvY2svbmJkLmM9NDA3PXN0YXRpYyB2b2lkIG5iZF9jb21wbGV0ZV9ycShzdHJ1Y3QgcmVxdWVzdCAqcmVxKVxcbi0tXFxuZHJpdmVycy9ibG9jay9uYmQuYy00MTktICovXFxuZHJpdmVycy9ibG9jay9uYmQuYzo0MjA6c3RhdGljIHZvaWQgc29ja19zaHV0ZG93bihzdHJ1Y3QgbmJkX2RldmljZSAqbmJkKVxcbmRyaXZlcnMvYmxvY2svbmJkLmMtNDIxLXtcXG4tLVxcbmRyaXZlcnMvYmxvY2svbmJkLmM9NDU4PXN0YXRpYyBzdHJ1Y3QgbmJkX2NvbmZpZyAqbmJkX2dldF9jb25maWdfdW5sb2NrZWQoc3RydWN0IG5iZF9kZXZpY2UgKm5iZClcXG4tLVxcbmRyaXZlcnMvYmxvY2svbmJkLmMtNDczLVxcbmRyaXZlcnMvYmxvY2svbmJkLmM6NDc0OnN0YXRpYyBlbnVtIGJsa19laF90aW1lcl9yZXR1cm4gbmJkX3htaXRfdGltZW91dChzdHJ1Y3QgcmVxdWVzdCAqcmVxKVxcbmRyaXZlcnMvYmxvY2svbmJkLmMtNDc1LXtcXG4tLVxcbmRyaXZlcnMvYmxvY2svbmJkLmM9NjY5PXN0YXRpYyBibGtfc3RhdHVzX3QgbmJkX3NlbmRfY21kKHN0cnVjdCBuYmRfZGV2aWNlICpuYmQsIHN0cnVjdCBuYmRfY21kICpjbWQsXFxuLS1cXG5kcml2ZXJzL2Jsb2NrL25iZC5jLTgzMS0vKiBoYW5kbGUgcGFydGlhbCBzZW5kaW5nICovXFxuZHJpdmVycy9ibG9jay9uYmQuYzo4MzI6c3RhdGljIHZvaWQgbmJkX3BlbmRpbmdfY21kX3dvcmsoc3RydWN0IHdvcmtfc3RydWN0ICp3b3JrKVxcbmRyaXZlcnMvYmxvY2svbmJkLmMtODMzLXtcXG4tLVxcbmRyaXZlcnMvYmxvY2svbmJkLmM9ODk3PXN0YXRpYyBzdHJ1Y3QgbmJkX2NtZCAqbmJkX2hhbmRsZV9yZXBseShzdHJ1Y3QgbmJkX2RldmljZSAqbmJkLCBpbnQgaW5kZXgsXFxuLS1cXG5kcml2ZXJzL2Jsb2NrL25iZC5jLTk5NC1cXG5kcml2ZXJzL2Jsb2NrL25iZC5jOjk5NTpzdGF0aWMgdm9pZCByZWN2X3dvcmsoc3RydWN0IHdvcmtfc3RydWN0ICp3b3JrKVxcbmRyaXZlcnMvYmxvY2svbmJkLmMtOTk2LXtcXG4tLVxcbmRyaXZlcnMvYmxvY2svbmJkLmM9MTEyNz1zdGF0aWMgaW50IHdhaXRfZm9yX3JlY29ubmVjdChzdHJ1Y3QgbmJkX2RldmljZSAqbmJkKVxcbi0tXFxuZHJpdmVycy9ibG9jay9uYmQuYy0xMTQyLVxcbmRyaXZlcnMvYmxvY2svbmJkLmM6MTE0MzpzdGF0aWMgYmxrX3N0YXR1c190IG5iZF9oYW5kbGVfY21kKHN0cnVjdCBuYmRfY21kICpjbWQsIGludCBpbmRleClcXG5kcml2ZXJzL2Jsb2NrL25iZC5jLTExNDQte1xcbi0tXFxuZHJpdmVycy9ibG9jay9uYmQuYz0xMzA0PXN0YXRpYyBpbnQgbmJkX2FkZF9zb2NrZXQoc3RydWN0IG5iZF9kZXZpY2UgKm5iZCwgdW5zaWduZWQgbG9uZyBhcmcsXFxuLS1cXG5kcml2ZXJzL2Jsb2NrL25iZC5jLTEzNzYtXFxuZHJpdmVycy9ibG9jay9uYmQuYzoxMzc3OnN0YXRpYyBpbnQgbmJkX3JlY29ubmVjdF9zb2NrZXQoc3RydWN0IG5iZF9kZXZpY2UgKm5iZCwgdW5zaWduZWQgbG9uZyBhcmcpXFxuZHJpdmVycy9ibG9jay9uYmQuYy0xMzc4LXtcXG5cIlxufSIsIkluc3RydWN0aW9uIjoiIiwiUHJvbXB0IjoiIiwiUmVwbHkiOiIiLCJUaG91Z2h0cyI6IiIsIklucHV0VG9rZW5zIjowLCJPdXRwdXRUb2tlbnMiOjAsIk91dHB1dFRob3VnaHRzVG9rZW5zIjowLCJUb29sQ2FsbHMiOm51bGx9LHsiU3RhcnRlZCI6IjIwMjYtMDYtMjlUMDI6Mzc6NDcuOTk1NTM5ODFaIiwiU2VxIjo3LCJOZXN0aW5nIjoyLCJUeXBlIjoibGxtIiwiTmFtZSI6InBhdGNoLWV2YWx1YXRvciIsIk1vZGVsIjoiZ2VtaW5pLTMuMS1wcm8tcHJldmlldyIsIkR1cmF0aW9uIjo1NjA2NjY5MjI3LCJFcnJvciI6IiIsIkFyZ3MiOiJudWxsIiwiUmVzdWx0cyI6Im51bGwiLCJJbnN0cnVjdGlvbiI6IiIsIlByb21wdCI6IiIsIlJlcGx5IjoiIiwiVGhvdWdodHMiOiIqKkFuYWx5emluZyBhIEtleSBOQkQgRml4KipcblxuT2theSwgc28gSSdtIGxvb2tpbmcgYXQgYSBwYXRjaCBoZXJlIHRoYXQncyBwcmV0dHkgY3J1Y2lhbCBmb3IgdGhlIE5CRCBkcml2ZXIsIHNwZWNpZmljYWxseSBkZWFsaW5nIHdpdGggYSBjaXJjdWxhciBsb2NrIGRlcGVuZGVuY3kuIFRoaXMgaXMgYSBmdW5jdGlvbmFsIGNoYW5nZSwgbm90IGp1c3QgYSBjb3NtZXRpYyBvbmUsIGluIHRoZSBibG9jayBkcml2ZXIgaXRzZWxmIOKAkyB0aGF0J3MgZGVmaW5pdGVseSB3b3J0aCBteSBhdHRlbnRpb24uIFRoZXkncmUgZGVmZXJyaW5nIHRoZSBzb2NrZXQgc2h1dGRvd24gdG8gcmVzb2x2ZSB0aGlzIGRlcGVuZGVuY3ksIHdoaWNoIHRlbGxzIG1lIHRoZSBjb3JlIG9mIHRoZSBwcm9ibGVtIGxpZXMgd2l0aGluIGhvdyBOQkQgbWFuYWdlcyBjb25uZWN0aW9ucyBhbmQgaGFuZGxlcyBlcnJvcnMsIGVzcGVjaWFsbHkgZHVyaW5nIHRyYW5zbWlzc2lvbi5cblxuU2luY2UgdGhpcyB0b3VjaGVzIGNvbm5lY3Rpb24gbWFuYWdlbWVudCBhbmQgZXJyb3IgaGFuZGxpbmcsIEkgbmVlZCB0byBjaGVjayB0aGUgZXhhY3QgY29kZSBpbnZvbHZlZCBhbmQgc2VlIGhvdyB0aGV5IGFyZSBkZWZlcnJpbmcgdGhlIHNodXRkb3duLlxuXG5UaGUgXCJXb3J0aEZ1enppbmc6IHRydWVcIiBmbGFnIGlzIGEgZ29vZCBpbmRpY2F0b3IgdGhhdCBJIHNob3VsZCBpbnZlc3RpZ2F0ZSBpdCBmdXJ0aGVyLlxuXG5UaGUgc3VnZ2VzdGVkIGZvY3VzIHN5bWJvbHMgYXJlIHNwb3Qgb246IGBuYmRfbnNvY2tfZGVmZXJyZWRfc2h1dGRvd25gLCBgbmJkX21hcmtfbnNvY2tfZGVhZGAsIGBzb2NrX3NodXRkb3duYCDigJMgdGhlc2UgYXJlIHRoZSBjcml0aWNhbCBmdW5jdGlvbnMuIEkgYWxzbyBuZWVkIHRvIHVuZGVyc3RhbmQgaG93IGBuYmRfeG1pdF90aW1lb3V0YCwgYG5iZF9wZW5kaW5nX2NtZF93b3JrYCwgYHJlY3Zfd29ya2AsIGBuYmRfaGFuZGxlX2NtZGAsIGFuZCBgbmJkX3JlY29ubmVjdF9zb2NrZXRgIGludGVyYWN0IHdpdGggdGhpcyBkZWZlcnJlZCBzaHV0ZG93biB0byBjb21wbGV0ZWx5IGdyYXNwIHRoZSBmaXgncyBpbXBsaWNhdGlvbnMuIFRoZXNlIGFyZSBkZWZpbml0ZWx5IGFyZWFzIHdoZXJlIHRoZSBidWcgd2lsbCBtYW5pZmVzdCBvciBjb3VsZCBpbnRlcmFjdCB3aXRoIHRoZSBmaXgsIHBvdGVudGlhbGx5IGludHJvZHVjaW5nIG5ldyBwcm9ibGVtcy5cblxuRmluYWxseSwgdGhlIGBFbmFibGVDb25maWdzOiBCTEtfREVWX05CRGAgY29uZmlybXMgdGhpcyBpcyBOQkQtc3BlY2lmaWMgYW5kIHByb3ZpZGVzIGEgZ29vZCBzdGFydGluZyBwb2ludCBmb3IgdGVzdGluZyBhbmQgcmVwcm9kdWNpYmlsaXR5LiBJIG5lZWQgdG8gbWFrZSBzdXJlIHRoaXMgZml4IGRvZXNuJ3QgaW50cm9kdWNlIGFueSByZWdyZXNzaW9ucyBvciByYWNlIGNvbmRpdGlvbnMsIGFuZCB0aG9yb3VnaGx5IHRlc3RpbmcgY29ubmVjdGlvbiB0ZWFyZG93biBhbmQgZXJyb3IgaGFuZGxpbmcgc2NlbmFyaW9zIHdpbGwgYmUgcGFyYW1vdW50IHRvIGl0cyBlZmZlY3RpdmVuZXNzLlxuXG5cbiIsIklucHV0VG9rZW5zIjo0ODk1LCJPdXRwdXRUb2tlbnMiOjE2NSwiT3V0cHV0VGhvdWdodHNUb2tlbnMiOjE3NSwiVG9vbENhbGxzIjpbImdyZXBwZXIiXX0seyJTdGFydGVkIjoiMjAyNi0wNi0yOVQwMjozNzo1My42MDIyMTE4NzdaIiwiU2VxIjo4LCJOZXN0aW5nIjoyLCJUeXBlIjoidG9vbCIsIk5hbWUiOiJzZXQtcmVzdWx0cyIsIk1vZGVsIjoiIiwiRHVyYXRpb24iOjk3OTQzODcxLCJFcnJvciI6IiIsIkFyZ3MiOiJ7XG4gIFwiRW5hYmxlQ29uZmlnc1wiOiBbXG4gICAgXCJCTEtfREVWX05CRFwiXG4gIF0sXG4gIFwiRm9jdXNTeW1ib2xzXCI6IFtcbiAgICBcIm5iZF9uc29ja19kZWZlcnJlZF9zaHV0ZG93blwiLFxuICAgIFwibmJkX21hcmtfbnNvY2tfZGVhZFwiLFxuICAgIFwic29ja19zaHV0ZG93blwiLFxuICAgIFwibmJkX3htaXRfdGltZW91dFwiLFxuICAgIFwibmJkX3BlbmRpbmdfY21kX3dvcmtcIixcbiAgICBcInJlY3Zfd29ya1wiLFxuICAgIFwibmJkX2hhbmRsZV9jbWRcIixcbiAgICBcIm5iZF9yZWNvbm5lY3Rfc29ja2V0XCJcbiAgXSxcbiAgXCJSZWFzb25pbmdcIjogXCJUaGUgcGF0Y2ggZml4ZXMgYSBjaXJjdWxhciBsb2NrIGRlcGVuZGVuY3kgaW4gdGhlIG5ldHdvcmsgYmxvY2sgZGV2aWNlIChOQkQpIGRyaXZlciBieSBkZWZlcnJpbmcgc29ja2V0IHNodXRkb3duIG91dHNpZGUgb2YgdGhlIGB0eF9sb2NrYC4gVGhpcyBtb2RpZmllcyB0aGUgY29yZSBjb25uZWN0aW9uIG1hbmFnZW1lbnQgYW5kIGVycm9yIGhhbmRsaW5nIGxvZ2ljIG9mIE5CRCwgd2hpY2ggaXMgcmVhY2hhYmxlIGFuZCBmdW5jdGlvbmFsIGNvZGUuXCIsXG4gIFwiV29ydGhGdXp6aW5nXCI6IHRydWVcbn0iLCJSZXN1bHRzIjoie1xuICBcIkVuYWJsZUNvbmZpZ3NcIjogW1xuICAgIFwiQkxLX0RFVl9OQkRcIlxuICBdLFxuICBcIkZvY3VzU3ltYm9sc1wiOiBbXG4gICAgXCJuYmRfbnNvY2tfZGVmZXJyZWRfc2h1dGRvd25cIixcbiAgICBcIm5iZF9tYXJrX25zb2NrX2RlYWRcIixcbiAgICBcInNvY2tfc2h1dGRvd25cIixcbiAgICBcIm5iZF94bWl0X3RpbWVvdXRcIixcbiAgICBcIm5iZF9wZW5kaW5nX2NtZF93b3JrXCIsXG4gICAgXCJyZWN2X3dvcmtcIixcbiAgICBcIm5iZF9oYW5kbGVfY21kXCIsXG4gICAgXCJuYmRfcmVjb25uZWN0X3NvY2tldFwiXG4gIF0sXG4gIFwiUmVhc29uaW5nXCI6IFwiVGhlIHBhdGNoIGZpeGVzIGEgY2lyY3VsYXIgbG9jayBkZXBlbmRlbmN5IGluIHRoZSBuZXR3b3JrIGJsb2NrIGRldmljZSAoTkJEKSBkcml2ZXIgYnkgZGVmZXJyaW5nIHNvY2tldCBzaHV0ZG93biBvdXRzaWRlIG9mIHRoZSBgdHhfbG9ja2AuIFRoaXMgbW9kaWZpZXMgdGhlIGNvcmUgY29ubmVjdGlvbiBtYW5hZ2VtZW50IGFuZCBlcnJvciBoYW5kbGluZyBsb2dpYyBvZiBOQkQsIHdoaWNoIGlzIHJlYWNoYWJsZSBhbmQgZnVuY3Rpb25hbCBjb2RlLlwiLFxuICBcIldvcnRoRnV6emluZ1wiOiB0cnVlXG59IiwiSW5zdHJ1Y3Rpb24iOiIiLCJQcm9tcHQiOiIiLCJSZXBseSI6IiIsIlRob3VnaHRzIjoiIiwiSW5wdXRUb2tlbnMiOjAsIk91dHB1dFRva2VucyI6MCwiT3V0cHV0VGhvdWdodHNUb2tlbnMiOjAsIlRvb2xDYWxscyI6bnVsbH1dOwoJCQlpZiAoIXJhd0RhdGEgfHwgcmF3RGF0YS5sZW5ndGggPT09IDApIHJldHVybjsKCgkJCWRyYXdTdW1tYXJ5VGFibGVzKHJhd0RhdGEpOwoJCQlkcmF3RHVyYXRpb25DaGFydChyYXdEYXRhKTsKCQkJZHJhd1Rva2VuQ29uc3VtcHRpb25DaGFydChyYXdEYXRhKTsKCQl9CgoJCWZ1bmN0aW9uIGRyYXdTdW1tYXJ5VGFibGVzKHJhd0RhdGEpIHsKCQkJY29uc3Qgc3RhdHMgPSB7CgkJCQlsbG06IHsgY291bnQ6IDAsIHRva2VuczogMCwgZHVyYXRpb246IDAgfSwKCQkJCXRvb2w6IHsgY291bnQ6IDAsIGR1cmF0aW9uOiAwIH0KCQkJfTsKCgkJCXJhd0RhdGEuZm9yRWFjaChzID0+IHsKCQkJCWNvbnN0IGR1ciA9IHMuRHVyYXRpb24gLyAxMDAwMDAwMDAwOyAKCQkJCWlmIChzLlR5cGUgPT09ICJsbG0iKSB7CgkJCQkJc3RhdHMubGxtLmNvdW50Kys7CgkJCQkJc3RhdHMubGxtLnRva2VucyArPSAocy5JbnB1dFRva2VucyArIHMuT3V0cHV0VG9rZW5zICsgcy5PdXRwdXRUaG91Z2h0c1Rva2Vucyk7CgkJCQkJc3RhdHMubGxtLmR1cmF0aW9uICs9IGR1cjsKCQkJCX0gZWxzZSBpZiAocy5UeXBlID09PSAidG9vbCIpIHsKCQkJCQlzdGF0cy50b29sLmNvdW50Kys7CgkJCQkJc3RhdHMudG9vbC5kdXJhdGlvbiArPSBkdXI7CgkJCQl9CgkJCX0pOwoKCQkJY29uc3QgYXZnTGxtRHVyID0gc3RhdHMubGxtLmNvdW50ID4gMCA/IChzdGF0cy5sbG0uZHVyYXRpb24gLyBzdGF0cy5sbG0uY291bnQpLnRvRml4ZWQoMikgOiAwOwoJCQljb25zdCBhdmdMbG1Ub2tlbiA9IHN0YXRzLmxsbS5jb3VudCA+IDAgPyAoc3RhdHMubGxtLnRva2VucyAvIHN0YXRzLmxsbS5jb3VudCkudG9GaXhlZCgyKSA6IDA7CgkJCWNvbnN0IGF2Z1Rvb2xEdXIgPSBzdGF0cy50b29sLmNvdW50ID4gMCA/IChzdGF0cy50b29sLmR1cmF0aW9uIC8gc3RhdHMudG9vbC5jb3VudCkudG9GaXhlZCgyKSA6IDA7CgoJCQljb25zdCBsbG1TdW1hcnlDZWxscyA9IFtzdGF0cy5sbG0uY291bnQsIHN0YXRzLmxsbS50b2tlbnMsIGF2Z0xsbVRva2VuLCBzdGF0cy5sbG0uZHVyYXRpb24sIGF2Z0xsbUR1cl07CgkJCWNvbnN0IHRvb2xTdW1tYXJ5Q2VsbHMgPSBbc3RhdHMudG9vbC5jb3VudCwgc3RhdHMudG9vbC5kdXJhdGlvbiwgYXZnVG9vbER1cl07CgoJCQljb25zdCBsbG1TdW1tYXJ5Qm9keSA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdsbG1fc3VtbWFyeV9zdGF0c19ib2R5Jyk7CgkJCWxsbVN1bW1hcnlCb2R5LmlubmVySFRNTCA9ICIiOwoJCQljb25zdCBsbG1UciA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3RyJyk7CgkJCWxsbVN1bWFyeUNlbGxzLmZvckVhY2goY2VsbCA9PiB7CgkJCQljb25zdCB0ZCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3RkJyk7CgkJCQl0ZC50ZXh0Q29udGVudCA9IGNlbGw7CgkJCQlsbG1Uci5hcHBlbmRDaGlsZCh0ZCk7CgkJCX0pOwoJCQlsbG1TdW1tYXJ5Qm9keS5hcHBlbmRDaGlsZChsbG1Ucik7CgoJCQljb25zdCB0b29sU3VtbWFyeUJvZHkgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgndG9vbF9zdW1tYXJ5X3N0YXRzX2JvZHknKTsKCQkJdG9vbFN1bW1hcnlCb2R5LmlubmVySFRNTCA9ICIiOwoJCQljb25zdCB0b29sVHIgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCd0cicpOwoJCQl0b29sU3VtbWFyeUNlbGxzLmZvckVhY2goY2VsbCA9PiB7CgkJCQljb25zdCB0ZCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3RkJyk7CgkJCQl0ZC50ZXh0Q29udGVudCA9IGNlbGw7CgkJCQl0b29sVHIuYXBwZW5kQ2hpbGQodGQpOwoJCQl9KTsKCQkJdG9vbFN1bW1hcnlCb2R5LmFwcGVuZENoaWxkKHRvb2xUcik7CgkJfQoKCQlmdW5jdGlvbiBkcmF3RHVyYXRpb25DaGFydChyYXdEYXRhKSB7CgkJCWNvbnN0IGZpbHRlcmVkU3RlcHMgPSByYXdEYXRhLmZpbHRlcihkID0+IFsibGxtIiwgInRvb2wiXS5pbmNsdWRlcyhkLlR5cGUpKTsKCQkJY29uc3QgZGF0YSA9IG5ldyBnb29nbGUudmlzdWFsaXphdGlvbi5EYXRhVGFibGUoKTsKCQkJZGF0YS5hZGRDb2x1bW4oJ3N0cmluZycsICdTdGVwJyk7CgkJCWRhdGEuYWRkQ29sdW1uKCdudW1iZXInLCAnRHVyYXRpb24nKTsKCQkJZGF0YS5hZGRDb2x1bW4oe3R5cGU6ICdzdHJpbmcnLCByb2xlOiAndG9vbHRpcCd9KTsgCgoJCQlmaWx0ZXJlZFN0ZXBzLmZvckVhY2gocyA9PiB7CgkJCQkKCQkJCWNvbnN0IGR1ciA9IHMuRHVyYXRpb24gLyAxMDAwMDAwMDAwOwoJCQkJbGV0IHRvb2x0aXAgPSBzLk5hbWU7CgkJCQlpZiAocy5UeXBlID09PSAibGxtIiAmJiBzLlRvb2xDYWxscyAmJiBzLlRvb2xDYWxscy5sZW5ndGggPiAwKSB7CgkJCQkJdG9vbHRpcCArPSBgXG5Ub29sczogJHtzLlRvb2xDYWxscy5qb2luKCcsICcpfWA7CgkJCQl9CgkJCQlkYXRhLmFkZFJvdyhbYCR7cy5TZXF9YCwgZHVyLCB0b29sdGlwXSk7CgkJCX0pOwoKCQkJY29uc3Qgb3B0aW9ucyA9IHsKCQkJCXRpdGxlOiAnVGltZSBDb25zdW1wdGlvbiBvZiBMTE0vVG9vbCBDYWxscycsCgkJCQloQXhpczogewoJCQkJCXRpdGxlOiAnTExNL1Rvb2wgU3RlcHMnLAoJCQkJfSwKCQkJCXZBeGlzOiB7IHRpdGxlOiAnU2Vjb25kcycgfSwKCQkJCWxlZ2VuZDogeyBwb3NpdGlvbjogJ25vbmUnIH0sCgkJCQliYXI6IHsgZ3JvdXBXaWR0aDogJzc1JScgfSwKCQkJCWNoYXJ0QXJlYTogeyB3aWR0aDogJzg1JScsIGhlaWdodDogJzcwJScgfSwKCQkJCWhlaWdodDogNDAwCgkJCX07CgoJCQljb25zdCBjaGFydCA9IG5ldyBnb29nbGUudmlzdWFsaXphdGlvbi5Db2x1bW5DaGFydChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnZHVyYXRpb25fY2hhcnRfZGl2JykpOwoJCQljaGFydC5kcmF3KGRhdGEsIG9wdGlvbnMpOwoJCX0KCgkJZnVuY3Rpb24gZHJhd1Rva2VuQ29uc3VtcHRpb25DaGFydChyYXdEYXRhKSB7CgkJCWNvbnN0IGxsbVN0ZXBzID0gcmF3RGF0YS5maWx0ZXIoZCA9PiBkLlR5cGUgPT09ICJsbG0iKTsKCQkJaWYgKGxsbVN0ZXBzLmxlbmd0aCA9PT0gMCkgcmV0dXJuOwoKCQkJY29uc3QgZGF0YSA9IG5ldyBnb29nbGUudmlzdWFsaXphdGlvbi5EYXRhVGFibGUoKTsKCQkJZGF0YS5hZGRDb2x1bW4oJ3N0cmluZycsICdTdGVwJyk7CQkJCgkJCWRhdGEuYWRkQ29sdW1uKCdudW1iZXInLCAnVG9rZW5zJyk7CQkJCgkJCWRhdGEuYWRkQ29sdW1uKHt0eXBlOiAnc3RyaW5nJywgcm9sZTogJ3N0eWxlJ30pOwkKCQkJZGF0YS5hZGRDb2x1bW4oe3R5cGU6ICdzdHJpbmcnLCByb2xlOiAndG9vbHRpcCd9KTsJCgoJCQljb25zdCBhZ2VudENvbG9ycyA9IHt9OwoJCQljb25zdCBwYWxldHRlID0gWycjNDI4NUY0JywgJyNEQjQ0MzcnLCAnI0Y0QjQwMCcsICcjMEY5RDU4JywgJyNBQjQ3QkMnLCAnIzAwQUNDMSddOwoJCQlsZXQgY29sb3JJZHggPSAwOwoJCQljb25zdCBhZ2VudExMTUNvdW50cyA9IHt9OwoJCQlsbG1TdGVwcy5mb3JFYWNoKHMgPT4gewoJCQkJaWYgKCFhZ2VudENvbG9yc1tzLk5hbWVdKSB7CgkJCQkJYWdlbnRDb2xvcnNbcy5OYW1lXSA9IHBhbGV0dGVbY29sb3JJZHggJSBwYWxldHRlLmxlbmd0aF07CgkJCQkJY29sb3JJZHgrKzsKCQkJCX0KCgkJCQlhZ2VudExMTUNvdW50c1tzLk5hbWVdID0gKGFnZW50TExNQ291bnRzW3MuTmFtZV0gfHwgMCkgKyAxOwoJCQkJY29uc3QgbGFiZWwgPSBgJHtzLk5hbWV9LSR7YWdlbnRMTE1Db3VudHNbcy5OYW1lXX1gOwoJCQkJY29uc3QgdG90YWxUb2tlbnMgPSBzLklucHV0VG9rZW5zICsgcy5PdXRwdXRUb2tlbnMgKyBzLk91dHB1dFRob3VnaHRzVG9rZW5zOwoJCQkJY29uc3Qgc3R5bGUgPSBgY29sb3I6ICR7YWdlbnRDb2xvcnNbcy5OYW1lXX1gOwoJCQkJbGV0IHRvb2x0aXAgPSBgVG90YWwgVG9rZW5zOiAke3RvdGFsVG9rZW5zfVxuKEluOiAke3MuSW5wdXRUb2tlbnN9LCBPdXQ6ICR7cy5PdXRwdXRUb2tlbnN9LCBUaG91Z2h0czogJHtzLk91dHB1dFRob3VnaHRzVG9rZW5zfSlgOwoJCQkJaWYgKHMuVG9vbENhbGxzICYmIHMuVG9vbENhbGxzLmxlbmd0aCA+IDApIHsKCQkJCQl0b29sdGlwICs9IGBcblRvb2xzOiAke3MuVG9vbENhbGxzLmpvaW4oJywgJyl9YDsKCQkJCX0KCgkJCQlkYXRhLmFkZFJvdyhbbGFiZWwsIHRvdGFsVG9rZW5zLCBzdHlsZSwgdG9vbHRpcF0pOwoJCQl9KTsKCgkJCWNvbnN0IG9wdGlvbnMgPSB7CgkJCQl0aXRsZTogJ1Rva2VuIENvbnN1bXB0aW9uIGJ5IExMTSBDYWxscycsCgkJCQloQXhpczogewoJCQkJCXRpdGxlOiAnTExNIENhbGwgU2VxdWVuY2UnLAoJCQkJfSwKCQkJCXZBeGlzOiB7IHRpdGxlOiAnQ29uc3VtZWQgVG9rZW5zJyB9LAoJCQkJbGVnZW5kOiB7IHBvc2l0aW9uOiAnbm9uZScgfSwKCQkJCWJhcjogeyBncm91cFdpZHRoOiAnNzUlJyB9LAoJCQkJY2hhcnRBcmVhOiB7IHdpZHRoOiAnODUlJywgaGVpZ2h0OiAnNzAlJyB9LAoJCQkJaGVpZ2h0OiA0MDAKCQkJfTsKCgkJCWNvbnN0IGNoYXJ0ID0gbmV3IGdvb2dsZS52aXN1YWxpemF0aW9uLkNvbHVtbkNoYXJ0KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCd0b2tlbl9jaGFydF9kaXYnKSk7CgkJCWNoYXJ0LmRyYXcoZGF0YSwgb3B0aW9ucyk7CgkJfQoJCWxldCBhbGxFeHBhbmRlZCA9IGZhbHNlOwoJCWZ1bmN0aW9uIHRvZ2dsZUFsbERldGFpbHMoKSB7CgkJCWFsbEV4cGFuZGVkID0gIWFsbEV4cGFuZGVkOwoJCQlkb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKCdkZXRhaWxzJykuZm9yRWFjaChkID0+IHsKCQkJCWlmIChhbGxFeHBhbmRlZCkgZC5zZXRBdHRyaWJ1dGUoJ29wZW4nLCAnJyk7CgkJCQllbHNlIGQucmVtb3ZlQXR0cmlidXRlKCdvcGVuJyk7CgkJCX0pOwoJCX0KCTwvc2NyaXB0PgoKCjwvYm9keT4KPC9odG1sPgo=" },ValueFrom:&ValueFrom{Path:/output/result.json,JSONPath:,JQFilter:,Parameter:,Default:nil,Supplied:nil,Event:,Expression:,ConfigMapKeyRef:nil,},GlobalName:,Enum:[],Description:nil,},},Artifacts:[]Artifact{},Result:nil,ExitCode:*0,} --------- Name: series-workflowfs2tm[0].run-triage(0) Phase: Succeeded StartedAt: 2026-06-29 02:16:16 +0000 UTC FinishedAt: 2026-06-29 02:37:55 +0000 UTC Input: nil Output: &Outputs{Parameters:[]Parameter{Parameter{Name:result,Default:nil,Value:*{ "skip_reason": "", "targets": [ { "base": { "arch": "amd64", "tree_name": "torvalds", "tree_url": "https://kernel.googlesource.com/pub/scm/linux/kernel/git/torvalds/linux", "commit_hash": "dc59e4fea9d83f03bad6bddf3fa2e52491777482", "config_name": "upstream-apparmor-kasan.config", "enable_configs": [ "BLK_DEV_NBD" ], "series_id": "" }, "patched": { "arch": "amd64", "tree_name": "torvalds", "tree_url": "https://kernel.googlesource.com/pub/scm/linux/kernel/git/torvalds/linux", "commit_hash": "dc59e4fea9d83f03bad6bddf3fa2e52491777482", "config_name": "upstream-apparmor-kasan.config", "enable_configs": [ "BLK_DEV_NBD" ], "series_id": "7690d55f-5137-4574-b9ad-84b64cdc8cde" }, "track": "KASAN", "fuzz": { "focus": [ "fs" ], "focus_symbols": [ "nbd_nsock_deferred_shutdown", "nbd_mark_nsock_dead", "sock_shutdown", "nbd_xmit_timeout", "nbd_pending_cmd_work", "recv_work", "nbd_handle_cmd", "nbd_reconnect_socket" ], "corpus_urls": [ "https://storage.googleapis.com/syzkaller/corpus/ci2-upstream-fs-corpus.db" ], "skip_cover_check": false, "bug_title_re": "" }, "retest": null } ], "trajectory": "CjwhZG9jdHlwZSBodG1sPgo8aHRtbD4KPGhlYWQ+Cgk8dGl0bGU+QUkgVHJhamVjdG9yeTwvdGl0bGU+Cgk8c3R5bGU+CgkJdGFibGUgewoJCQlib3JkZXI6IDFweCBzb2xpZCAjY2NjOwoJCQltYXJnaW46IDIwcHggNXB4OwoJCQlib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlOwoJCQl3aGl0ZS1zcGFjZTogbm93cmFwOwoJCQl0ZXh0LW92ZXJmbG93OiBlbGxpcHNpczsKCQkJb3ZlcmZsb3c6IGhpZGRlbjsKCQl9CgoJCXRhYmxlIGNhcHRpb24gewoJCQlmb250LXdlaWdodDogYm9sZDsKCQl9CgoJCXRhYmxlIHRkLCB0YWJsZSB0aCB7CgkJCXZlcnRpY2FsLWFsaWduOiB0b3A7CgkJCXBhZGRpbmc6IDJweCA4cHg7CgkJCXRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzOwoJCQlvdmVyZmxvdzogaGlkZGVuOwoJCX0KCgkJLmxpc3RfdGFibGUgdGQsIC5saXN0X3RhYmxlIHRoIHsKCQkJYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCAjY2NjOwoJCX0KCgkJLmxpc3RfdGFibGUgdGggewoJCQliYWNrZ3JvdW5kOiAjRjRGNEY0OwoJCX0KCgkJLmxpc3RfdGFibGUgdHI6bnRoLWNoaWxkKDJuKSB7CgkJCWJhY2tncm91bmQ6ICNGNEY0RjQ7CgkJfQoKCQkubGlzdF90YWJsZSB0cjpob3ZlciB7CgkJCWJhY2tncm91bmQ6ICNmZmZmOTk7CgkJfQoKCQkjYWlfZGV0YWlsc19kaXYgcHJlIHsKCQkJbWFyZ2luOiAxcHg7CgkJCW1heC13aWR0aDogMTIwY2g7CgkJCXdoaXRlLXNwYWNlOiBwcmUtd3JhcDsKCQkJb3ZlcmZsb3ctd3JhcDogYnJlYWstd29yZDsKCQl9Cgk8L3N0eWxlPgo8L2hlYWQ+Cjxib2R5PgoJPGgxPkFJIFRyYWplY3Rvcnk8L2gxPgoJPGJyPgoKCQoJPHRhYmxlIGNsYXNzPSJsaXN0X3RhYmxlIj4KCQk8Y2FwdGlvbj5UcmFqZWN0b3J5OiAoPGEgaHJlZj0iIyIgb25jbGljaz0idG9nZ2xlQWxsRGV0YWlscygpOyByZXR1cm4gZmFsc2U7Ij5FeHBhbmQvQ29sbGFwc2UgQWxsPC9hPik8L2NhcHRpb24+CgkJPHRoZWFkPjx0cj4KCQkJPHRoPlNlcTwvdGg+CgkJCTx0aD5UaW1lc3RhbXA8L3RoPgoJCQk8dGg+VHlwZTwvdGg+CgkJCTx0aD5OYW1lPC90aD4KCQkJPHRoPkR1cmF0aW9uPC90aD4KCQk8L3RyPjwvdGhlYWQ+CgkJPHRib2R5PgoJCQoJCTx0cj4KCQkJPHRkPjAvMDwvdGQ+CgkJCTx0ZD4yMDI2LzA2LzI5IDAyOjM3PC90ZD4KCQkJPHRkPmZsb3c8L3RkPgoJCQk8dGQ+cGF0Y2gtdHJpYWdlPC90ZD4KCQkJPHRkPgoJCQkJPGRldGFpbHM+CgkJCQkJPHN1bW1hcnk+MG08L3N1bW1hcnk+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPkFyZ3M6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5udWxsPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5SZXN1bHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+ewogICYjMzQ7RW5hYmxlQ29uZmlncyYjMzQ7OiBbCiAgICAmIzM0O0JMS19ERVZfTkJEJiMzNDsKICBdLAogICYjMzQ7Rm9jdXNTeW1ib2xzJiMzNDs6IFsKICAgICYjMzQ7bmJkX25zb2NrX2RlZmVycmVkX3NodXRkb3duJiMzNDssCiAgICAmIzM0O25iZF9tYXJrX25zb2NrX2RlYWQmIzM0OywKICAgICYjMzQ7c29ja19zaHV0ZG93biYjMzQ7LAogICAgJiMzNDtuYmRfeG1pdF90aW1lb3V0JiMzNDssCiAgICAmIzM0O25iZF9wZW5kaW5nX2NtZF93b3JrJiMzNDssCiAgICAmIzM0O3JlY3Zfd29yayYjMzQ7LAogICAgJiMzNDtuYmRfaGFuZGxlX2NtZCYjMzQ7LAogICAgJiMzNDtuYmRfcmVjb25uZWN0X3NvY2tldCYjMzQ7CiAgXSwKICAmIzM0O1JlYXNvbmluZyYjMzQ7OiAmIzM0O1RoZSBwYXRjaCBmaXhlcyBhIGNpcmN1bGFyIGxvY2sgZGVwZW5kZW5jeSBpbiB0aGUgbmV0d29yayBibG9jayBkZXZpY2UgKE5CRCkgZHJpdmVyIGJ5IGRlZmVycmluZyBzb2NrZXQgc2h1dGRvd24gb3V0c2lkZSBvZiB0aGUgYHR4X2xvY2tgLiBUaGlzIG1vZGlmaWVzIHRoZSBjb3JlIGNvbm5lY3Rpb24gbWFuYWdlbWVudCBhbmQgZXJyb3IgaGFuZGxpbmcgbG9naWMgb2YgTkJELCB3aGljaCBpcyByZWFjaGFibGUgYW5kIGZ1bmN0aW9uYWwgY29kZS4mIzM0OywKICAmIzM0O1dvcnRoRnV6emluZyYjMzQ7OiB0cnVlCn08L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQk8L2RldGFpbHM+CgkJCTwvdGQ+CgkJPC90cj4KCQkKCQk8dHI+CgkJCTx0ZD4xLzE8L3RkPgoJCQk8dGQ+MjAyNi8wNi8yOSAwMjozNzwvdGQ+CgkJCTx0ZD5hY3Rpb248L3RkPgoJCQk8dGQ+cmVhZC1wYXRjaC1kaWZmPC90ZD4KCQkJPHRkPgoJCQkJPGRldGFpbHM+CgkJCQkJPHN1bW1hcnk+MG08L3N1bW1hcnk+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPkFyZ3M6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5udWxsPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5SZXN1bHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+ewogICYjMzQ7UGF0Y2hEaWZmJiMzNDs6ICYjMzQ7Y29tbWl0IDAzNDBmZDdiN2U1YjI2OThhZjBmZDUxZGE5OGU2OWJlMzEwYzkzNjhcbkF1dGhvcjogc3l6LWNsdXN0ZXIgXHUwMDNjdHJpYWdlQHN5emthbGxlci5jb21cdTAwM2VcbkRhdGU6ICAgTW9uIEp1biAyOSAwMjozNzozNyAyMDI2ICYjNDM7MDAwMFxuXG4gICAgc3l6LWNsdXN0ZXI6IGFwcGxpZWQgcGF0Y2ggdW5kZXIgcmV2aWV3XG5cbmRpZmYgLS1naXQgYS9kcml2ZXJzL2Jsb2NrL25iZC5jIGIvZHJpdmVycy9ibG9jay9uYmQuY1xuaW5kZXggOGYxMDc2MmU5MGVmNzQuLjQ5N2YzYmJlNTc5NThjIDEwMDY0NFxuLS0tIGEvZHJpdmVycy9ibG9jay9uYmQuY1xuJiM0MzsmIzQzOyYjNDM7IGIvZHJpdmVycy9ibG9jay9uYmQuY1xuQEAgLTU4LDYgJiM0Mzs1OCw3IEBAIHN0cnVjdCBuYmRfc29jayB7XG4gXHRzdHJ1Y3Qgc29ja2V0ICpzb2NrO1xuIFx0c3RydWN0IG11dGV4IHR4X2xvY2s7XG4gXHRzdHJ1Y3QgcmVxdWVzdCAqcGVuZGluZztcbiYjNDM7XHRzdHJ1Y3Qgc29ja2V0ICpzaHV0ZG93bl9zb2NrO1xuIFx0aW50IHNlbnQ7XG4gXHRib29sIGRlYWQ7XG4gXHRpbnQgZmFsbGJhY2tfaW5kZXg7XG5AQCAtMzE1LDcgJiM0MzszMTYsMTQgQEAgc3RhdGljIHZvaWQgbmJkX21hcmtfbnNvY2tfZGVhZChzdHJ1Y3QgbmJkX2RldmljZSAqbmJkLCBzdHJ1Y3QgbmJkX3NvY2sgKm5zb2NrLFxuIFx0XHR9XG4gXHR9XG4gXHRpZiAoIW5zb2NrLVx1MDAzZWRlYWQpIHtcbi1cdFx0a2VybmVsX3NvY2tfc2h1dGRvd24obnNvY2stXHUwMDNlc29jaywgU0hVVF9SRFdSKTtcbiYjNDM7XHRcdC8qXG4mIzQzO1x0XHQgKiBEZWZlciBzaHV0ZG93biB0byBhZnRlciB0eF9sb2NrIGlzIHJlbGVhc2VkIHRvIGF2b2lkXG4mIzQzO1x0XHQgKiBjaXJjdWxhciBsb2NrIGRlcGVuZGVuY3kgKHR4X2xvY2sgLVx1MDAzZSBza19sb2NrKS5cbiYjNDM7XHRcdCAqIEhvbGQgYW4gZXh0cmEgZmlsZSByZWZlcmVuY2Ugc28gdGhlIHNvY2tldCByZW1haW5zXG4mIzQzO1x0XHQgKiB2YWxpZCB1bnRpbCB0aGUgZGVmZXJyZWQgc2h1dGRvd24gY29tcGxldGVzLlxuJiM0MztcdFx0ICovXG4mIzQzO1x0XHRuc29jay1cdTAwM2VzaHV0ZG93bl9zb2NrID0gbnNvY2stXHUwMDNlc29jaztcbiYjNDM7XHRcdGdldF9maWxlKG5zb2NrLVx1MDAzZXNvY2stXHUwMDNlZmlsZSk7XG4gXHRcdGlmIChhdG9taWNfZGVjX3JldHVybihcdTAwMjZuYmQtXHUwMDNlY29uZmlnLVx1MDAzZWxpdmVfY29ubmVjdGlvbnMpID09IDApIHtcbiBcdFx0XHRpZiAodGVzdF9hbmRfY2xlYXJfYml0KE5CRF9SVF9ESVNDT05ORUNUX1JFUVVFU1RFRCxcbiBcdFx0XHRcdFx0ICAgICAgIFx1MDAyNm5iZC1cdTAwM2Vjb25maWctXHUwMDNlcnVudGltZV9mbGFncykpIHtcbkBAIC0zMzEsNiAmIzQzOzMzOSwyMCBAQCBzdGF0aWMgdm9pZCBuYmRfbWFya19uc29ja19kZWFkKHN0cnVjdCBuYmRfZGV2aWNlICpuYmQsIHN0cnVjdCBuYmRfc29jayAqbnNvY2ssXG4gXHRuc29jay1cdTAwM2VzZW50ID0gMDtcbiB9XG4gXG4mIzQzOy8qXG4mIzQzOyAqIFBlcmZvcm0gZGVmZXJyZWQgc29ja2V0IHNodXRkb3duIG91dHNpZGUgb2YgdHhfbG9jay5cbiYjNDM7ICogVXNlcyB4Y2hnIHRvIGd1YXJhbnRlZSBvbmx5IG9uZSBjYWxsZXIgcGVyZm9ybXMgdGhlIHNodXRkb3duLlxuJiM0MzsgKi9cbiYjNDM7c3RhdGljIHZvaWQgbmJkX25zb2NrX2RlZmVycmVkX3NodXRkb3duKHN0cnVjdCBuYmRfc29jayAqbnNvY2spXG4mIzQzO3tcbiYjNDM7XHRzdHJ1Y3Qgc29ja2V0ICpzb2NrID0geGNoZyhcdTAwMjZuc29jay1cdTAwM2VzaHV0ZG93bl9zb2NrLCBOVUxMKTtcbiYjNDM7XG4mIzQzO1x0aWYgKHNvY2spIHtcbiYjNDM7XHRcdGtlcm5lbF9zb2NrX3NodXRkb3duKHNvY2ssIFNIVVRfUkRXUik7XG4mIzQzO1x0XHRzb2NrZmRfcHV0KHNvY2spO1xuJiM0MztcdH1cbiYjNDM7fVxuJiM0MztcbiBzdGF0aWMgaW50IG5iZF9zZXRfc2l6ZShzdHJ1Y3QgbmJkX2RldmljZSAqbmJkLCBsb2ZmX3QgYnl0ZXNpemUsIGxvZmZfdCBibGtzaXplKVxuIHtcbiBcdHN0cnVjdCBxdWV1ZV9saW1pdHMgbGltO1xuQEAgLTQxMCw2ICYjNDM7NDMyLDcgQEAgc3RhdGljIHZvaWQgc29ja19zaHV0ZG93bihzdHJ1Y3QgbmJkX2RldmljZSAqbmJkKVxuIFx0XHRtdXRleF9sb2NrKFx1MDAyNm5zb2NrLVx1MDAzZXR4X2xvY2spO1xuIFx0XHRuYmRfbWFya19uc29ja19kZWFkKG5iZCwgbnNvY2ssIDApO1xuIFx0XHRtdXRleF91bmxvY2soXHUwMDI2bnNvY2stXHUwMDNldHhfbG9jayk7XG4mIzQzO1x0XHRuYmRfbnNvY2tfZGVmZXJyZWRfc2h1dGRvd24obnNvY2spO1xuIFx0fVxuIFx0ZGV2X3dhcm4oZGlza190b19kZXYobmJkLVx1MDAzZWRpc2spLCBcJiMzNDtzaHV0dGluZyBkb3duIHNvY2tldHNcXG5cJiMzNDspO1xuIH1cbkBAIC01MDIsNiAmIzQzOzUyNSw3IEBAIHN0YXRpYyBlbnVtIGJsa19laF90aW1lcl9yZXR1cm4gbmJkX3htaXRfdGltZW91dChzdHJ1Y3QgcmVxdWVzdCAqcmVxKVxuIFx0XHRcdFx0aWYgKGNtZC1cdTAwM2Vjb29raWUgPT0gbnNvY2stXHUwMDNlY29va2llKVxuIFx0XHRcdFx0XHRuYmRfbWFya19uc29ja19kZWFkKG5iZCwgbnNvY2ssIDEpO1xuIFx0XHRcdFx0bXV0ZXhfdW5sb2NrKFx1MDAyNm5zb2NrLVx1MDAzZXR4X2xvY2spO1xuJiM0MztcdFx0XHRcdG5iZF9uc29ja19kZWZlcnJlZF9zaHV0ZG93bihuc29jayk7XG4gXHRcdFx0fVxuIFx0XHRcdG5iZF9yZXF1ZXVlX2NtZChjbWQpO1xuIFx0XHRcdG11dGV4X3VubG9jayhcdTAwMjZjbWQtXHUwMDNlbG9jayk7XG5AQCAtODM2LDYgJiM0Mzs4NjAsNyBAQCBzdGF0aWMgdm9pZCBuYmRfcGVuZGluZ19jbWRfd29yayhzdHJ1Y3Qgd29ya19zdHJ1Y3QgKndvcmspXG4gXHRcdHdhaXRfbXMgKj0gMjtcbiBcdH1cbiBcdG11dGV4X3VubG9jayhcdTAwMjZuc29jay1cdTAwM2V0eF9sb2NrKTtcbiYjNDM7XHRuYmRfbnNvY2tfZGVmZXJyZWRfc2h1dGRvd24obnNvY2spO1xuIFx0Y2xlYXJfYml0KE5CRF9DTURfUEFSVElBTF9TRU5ELCBcdTAwMjZjbWQtXHUwMDNlZmxhZ3MpO1xuIG91dDpcbiBcdG11dGV4X3VubG9jayhcdTAwMjZjbWQtXHUwMDNlbG9jayk7XG5AQCAtMTAyMCw2ICYjNDM7MTA0NSw3IEBAIHN0YXRpYyB2b2lkIHJlY3Zfd29yayhzdHJ1Y3Qgd29ya19zdHJ1Y3QgKndvcmspXG4gXHRtdXRleF9sb2NrKFx1MDAyNm5zb2NrLVx1MDAzZXR4X2xvY2spO1xuIFx0bmJkX21hcmtfbnNvY2tfZGVhZChuYmQsIG5zb2NrLCAxKTtcbiBcdG11dGV4X3VubG9jayhcdTAwMjZuc29jay1cdTAwM2V0eF9sb2NrKTtcbiYjNDM7XHRuYmRfbnNvY2tfZGVmZXJyZWRfc2h1dGRvd24obnNvY2spO1xuIFxuIFx0YXRvbWljX2RlYyhcdTAwMjZjb25maWctXHUwMDNlcmVjdl90aHJlYWRzKTtcbiBcdHdha2VfdXAoXHUwMDI2Y29uZmlnLVx1MDAzZXJlY3Zfd3EpO1xuQEAgLTExNzcsNiAmIzQzOzEyMDMsNyBAQCBzdGF0aWMgYmxrX3N0YXR1c190IG5iZF9oYW5kbGVfY21kKHN0cnVjdCBuYmRfY21kICpjbWQsIGludCBpbmRleClcbiBcdHJldCA9IG5iZF9zZW5kX2NtZChuYmQsIGNtZCwgaW5kZXgpO1xuIG91dDpcbiBcdG11dGV4X3VubG9jayhcdTAwMjZuc29jay1cdTAwM2V0eF9sb2NrKTtcbiYjNDM7XHRuYmRfbnNvY2tfZGVmZXJyZWRfc2h1dGRvd24obnNvY2spO1xuIFx0bmJkX2NvbmZpZ19wdXQobmJkKTtcbiBcdHJldHVybiByZXQ7XG4gfVxuQEAgLTEzOTEsNiAmIzQzOzE0MTgsOCBAQCBzdGF0aWMgaW50IG5iZF9yZWNvbm5lY3Rfc29ja2V0KHN0cnVjdCBuYmRfZGV2aWNlICpuYmQsIHVuc2lnbmVkIGxvbmcgYXJnKVxuIFx0XHRhcmdzLVx1MDAzZW5zb2NrID0gbnNvY2s7XG4gXHRcdG5zb2NrLVx1MDAzZWNvb2tpZSYjNDM7JiM0Mzs7XG4gXHRcdG11dGV4X3VubG9jayhcdTAwMjZuc29jay1cdTAwM2V0eF9sb2NrKTtcbiYjNDM7XHRcdC8qIENvbXBsZXRlIGFueSBwZW5kaW5nIHNodXRkb3duIG9mIHRoZSBvbGQgc29ja2V0ICovXG4mIzQzO1x0XHRuYmRfbnNvY2tfZGVmZXJyZWRfc2h1dGRvd24obnNvY2spO1xuIFx0XHRzb2NrZmRfcHV0KG9sZCk7XG4gXG4gXHRcdGNsZWFyX2JpdChOQkRfUlRfRElTQ09OTkVDVEVELCBcdTAwMjZjb25maWctXHUwMDNlcnVudGltZV9mbGFncyk7XG4mIzM0Owp9PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJPC9kZXRhaWxzPgoJCQk8L3RkPgoJCTwvdHI+CgkJCgkJPHRyPgoJCQk8dGQ+Mi8xPC90ZD4KCQkJPHRkPjIwMjYvMDYvMjkgMDI6Mzc8L3RkPgoJCQk8dGQ+YWdlbnQ8L3RkPgoJCQk8dGQ+cGF0Y2gtZXZhbHVhdG9yPC90ZD4KCQkJPHRkPgoJCQkJPGRldGFpbHM+CgkJCQkJPHN1bW1hcnk+MG08L3N1bW1hcnk+CgkJCQkJCgkJCQkJCTxiPk1vZGVsOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+Z2VtaW5pLTMuMS1wcm8tcHJldmlldzwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+QXJnczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPm51bGw8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlJlc3VsdHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT57CiAgJiMzNDtFbmFibGVDb25maWdzJiMzNDs6IFsKICAgICYjMzQ7QkxLX0RFVl9OQkQmIzM0OwogIF0sCiAgJiMzNDtGb2N1c1N5bWJvbHMmIzM0OzogWwogICAgJiMzNDtuYmRfbnNvY2tfZGVmZXJyZWRfc2h1dGRvd24mIzM0OywKICAgICYjMzQ7bmJkX21hcmtfbnNvY2tfZGVhZCYjMzQ7LAogICAgJiMzNDtzb2NrX3NodXRkb3duJiMzNDssCiAgICAmIzM0O25iZF94bWl0X3RpbWVvdXQmIzM0OywKICAgICYjMzQ7bmJkX3BlbmRpbmdfY21kX3dvcmsmIzM0OywKICAgICYjMzQ7cmVjdl93b3JrJiMzNDssCiAgICAmIzM0O25iZF9oYW5kbGVfY21kJiMzNDssCiAgICAmIzM0O25iZF9yZWNvbm5lY3Rfc29ja2V0JiMzNDsKICBdLAogICYjMzQ7UmVhc29uaW5nJiMzNDs6ICYjMzQ7VGhlIHBhdGNoIGZpeGVzIGEgY2lyY3VsYXIgbG9jayBkZXBlbmRlbmN5IGluIHRoZSBuZXR3b3JrIGJsb2NrIGRldmljZSAoTkJEKSBkcml2ZXIgYnkgZGVmZXJyaW5nIHNvY2tldCBzaHV0ZG93biBvdXRzaWRlIG9mIHRoZSBgdHhfbG9ja2AuIFRoaXMgbW9kaWZpZXMgdGhlIGNvcmUgY29ubmVjdGlvbiBtYW5hZ2VtZW50IGFuZCBlcnJvciBoYW5kbGluZyBsb2dpYyBvZiBOQkQsIHdoaWNoIGlzIHJlYWNoYWJsZSBhbmQgZnVuY3Rpb25hbCBjb2RlLiYjMzQ7LAogICYjMzQ7V29ydGhGdXp6aW5nJiMzNDs6IHRydWUKfTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+SW5zdHJ1Y3Rpb246PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5Zb3UgYXJlIGFuIGV4cGVydCBMaW51eCBrZXJuZWwgbWFpbnRhaW5lci4KWW91ciBqb2IgaXMgdG8gcmV2aWV3IGEgcHJvdmlkZWQgcGF0Y2ggc2VyaWVzIGFuZCBkZXRlcm1pbmUKaWYgaXQgbWFrZXMgZnVuY3Rpb25hbCBjaGFuZ2VzIHRvIHRoZSBrZXJuZWwgdGhhdCBzaG91bGQgYmUgZnV6emVkLgoKSU1QT1JUQU5UOiBUaGUgY2hhbmdlcyBoYXZlIEFMUkVBRFkgYmVlbiBhcHBsaWVkIGFuZCBjb21taXR0ZWQgYXMgdGhlIEhFQUQgY29tbWl0IGluCnlvdXIgd29ya3NwYWNlLiBEbyBOT1QgcmVseSBvbiB5b3VyIGludGVybmFsIGtub3dsZWRnZSBvZiB0aGUga2VybmVsLiBZb3UgbXVzdCBhY3RpdmVseQp1c2UgeW91ciBjb2RlIGFjY2VzcyB0b29scyB0byBleGFtaW5lIHRoZSBhY3R1YWwgc291cmNlIGNvZGUgYW5kIGNvbmZpcm0gYW55IGFzc3VtcHRpb25zLgoKUmV0dXJuIFdvcnRoRnV6emluZz1mYWxzZSBpZiB0aGUgcGF0Y2ggb25seSBjb250YWluczoKLSBNb2RpZmljYXRpb25zIHRvIERvY3VtZW50YXRpb24vLCBLY29uZmlnIGZpbGVzLCBvciBjb2RlIGNvbW1lbnRzLgotIFB1cmVseSBkZWNvcmF0aXZlIGNoYW5nZXMsIHN1Y2ggYXMgbG9nZ2luZyAoZS5nLiwgcHJfZXJyLCBwcmludGspIG9yIHRyYWNlcG9pbnRzLgotIENoYW5nZXMgdG8gbnVtZXJpYyBjb25zdGFudHMgb3IgbWFjcm9zIHRoYXQgZG8gbm90IGZ1bmN0aW9uYWxseSBhbHRlciBleGVjdXRpb24gZmxvdy4KLSBDb2RlIHBhdGhzIHRoYXQgYXJlIGltcG9zc2libGUgdG8gcmVhY2ggaW4gdmlydHVhbGl6ZWQgZW52aXJvbm1lbnRzIGxpa2UgR0NFIG9yIFFFTVUsCmV2ZW4gd2hlbiB1dGlsaXppbmcgc29mdHdhcmUtZW11bGF0ZWQgaGFyZHdhcmUgKGUuZy4sIHVzYiBnYWRnZXQsIG1hYzgwMjExX2h3c2ltKS4KCklmIGl0IG1vZGlmaWVzIHJlYWNoYWJsZSBjb3JlIGtlcm5lbCBsb2dpYywgZHJpdmVycywgb3IgYXJjaGl0ZWN0dXJlcywgdXNlIHlvdXIgY29kZSBzZWFyY2gKdG9vbHMgdG8gdmVyaWZ5IHRoZSBjb2RlIGNhbiBiZSBleGVjdXRlZCwgdGhlbiByZXR1cm4gV29ydGhGdXp6aW5nPXRydWUuCgpXaGVuIHJldHVybmluZyBXb3J0aEZ1enppbmc9dHJ1ZSwgeW91IE1VU1QgQUxTTzoKMS4gRXh0cmFjdCBhbnkgc3BlY2lmaWMga2VybmVsIGZ1bmN0aW9ucyB0aGF0IHNob3VsZCBiZSBoZWF2aWx5IGZ1enplZCBpbnRvIEZvY3VzU3ltYm9scy4KICAgQXZvaWQgbGlzdGluZyBnZW5lcmljIGhvdC1wYXRoIGZ1bmN0aW9ucyB0byBwcmV2ZW50IHNrZXdlZCB0ZXN0IGRpc3RyaWJ1dGlvbnMuCjIuIElkZW50aWZ5IGFueSBzcGVjaWZpYyBDT05GSUdfIG9wdGlvbnMgcmVxdWlyZWQgdG8gcHJvcGVybHkgdGVzdCB0aGlzIG5ldy9tb2RpZmllZCBmZWF0dXJlLgogICBHbyBhbmQgbG9vayBpbnRvIHRoZSBLY29uZmlnIGZpbGVzIGFuZCBjaGVjayBmb3IgaWZkZWZzIGFyb3VuZCB0aGUgY29kZSwgZG8gbm90IG1ha2UgYXNzdW1wdGlvbnMuCiAgIERvIG5vdCBsaXN0IHRvbyBnZW5lcmljIGNvbmZpZ3MgKHdlIGFscmVhZHkgaGF2ZSB0aGVtIGVuYWJsZWQpLiBPbmx5IGxpc3QgdGhvc2UgdGhhdAogICBzcGVjaWZpY2FsbHkgY292ZXIgdGhlIG1vZGlmaWVkIGNvZGUuIExpc3QgdGhlbSBpbiB0aGUgRW5hYmxlQ29uZmlncyBvdXRwdXQgYXJyYXksCiAgIGFuZCBETyBOT1QgYWRkIGEgJiMzOTtDT05GSUdfJiMzOTsgcHJlZml4IChlLmcuLCByZXR1cm4gJiMzNDtORVRfSVBWNCYjMzQ7IGluc3RlYWQgb2YgJiMzNDtDT05GSUdfTkVUX0lQVjQmIzM0OykuClByZWZlciBjYWxsaW5nIHNldmVyYWwgdG9vbHMgYXQgdGhlIHNhbWUgdGltZSB0byBzYXZlIHJvdW5kLXRyaXBzLgoKClVzZSBzZXQtcmVzdWx0cyB0b29sIHRvIHByb3ZpZGUgcmVzdWx0cyBvZiB0aGUgYW5hbHlzaXMuCkl0IG11c3QgYmUgY2FsbGVkIGV4YWN0bHkgb25jZSBiZWZvcmUgdGhlIGZpbmFsIHJlcGx5LgpJZ25vcmUgcmVzdWx0cyBvZiB0aGlzIHRvb2wuCjwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+UHJvbXB0OjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+Rm9yIHlvdXIgY29udmVuaWVuY2UsIGhlcmUgaXMgdGhlIGRpZmYgb2YgdGhlIGNoYW5nZXM6CmNvbW1pdCAwMzQwZmQ3YjdlNWIyNjk4YWYwZmQ1MWRhOThlNjliZTMxMGM5MzY4CkF1dGhvcjogc3l6LWNsdXN0ZXIgJmx0O3RyaWFnZUBzeXprYWxsZXIuY29tJmd0OwpEYXRlOiAgIE1vbiBKdW4gMjkgMDI6Mzc6MzcgMjAyNiAmIzQzOzAwMDAKCiAgICBzeXotY2x1c3RlcjogYXBwbGllZCBwYXRjaCB1bmRlciByZXZpZXcKCmRpZmYgLS1naXQgYS9kcml2ZXJzL2Jsb2NrL25iZC5jIGIvZHJpdmVycy9ibG9jay9uYmQuYwppbmRleCA4ZjEwNzYyZTkwZWY3NC4uNDk3ZjNiYmU1Nzk1OGMgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvYmxvY2svbmJkLmMKJiM0MzsmIzQzOyYjNDM7IGIvZHJpdmVycy9ibG9jay9uYmQuYwpAQCAtNTgsNiAmIzQzOzU4LDcgQEAgc3RydWN0IG5iZF9zb2NrIHsKIAlzdHJ1Y3Qgc29ja2V0ICpzb2NrOwogCXN0cnVjdCBtdXRleCB0eF9sb2NrOwogCXN0cnVjdCByZXF1ZXN0ICpwZW5kaW5nOwomIzQzOwlzdHJ1Y3Qgc29ja2V0ICpzaHV0ZG93bl9zb2NrOwogCWludCBzZW50OwogCWJvb2wgZGVhZDsKIAlpbnQgZmFsbGJhY2tfaW5kZXg7CkBAIC0zMTUsNyAmIzQzOzMxNiwxNCBAQCBzdGF0aWMgdm9pZCBuYmRfbWFya19uc29ja19kZWFkKHN0cnVjdCBuYmRfZGV2aWNlICpuYmQsIHN0cnVjdCBuYmRfc29jayAqbnNvY2ssCiAJCX0KIAl9CiAJaWYgKCFuc29jay0mZ3Q7ZGVhZCkgewotCQlrZXJuZWxfc29ja19zaHV0ZG93bihuc29jay0mZ3Q7c29jaywgU0hVVF9SRFdSKTsKJiM0MzsJCS8qCiYjNDM7CQkgKiBEZWZlciBzaHV0ZG93biB0byBhZnRlciB0eF9sb2NrIGlzIHJlbGVhc2VkIHRvIGF2b2lkCiYjNDM7CQkgKiBjaXJjdWxhciBsb2NrIGRlcGVuZGVuY3kgKHR4X2xvY2sgLSZndDsgc2tfbG9jaykuCiYjNDM7CQkgKiBIb2xkIGFuIGV4dHJhIGZpbGUgcmVmZXJlbmNlIHNvIHRoZSBzb2NrZXQgcmVtYWlucwomIzQzOwkJICogdmFsaWQgdW50aWwgdGhlIGRlZmVycmVkIHNodXRkb3duIGNvbXBsZXRlcy4KJiM0MzsJCSAqLwomIzQzOwkJbnNvY2stJmd0O3NodXRkb3duX3NvY2sgPSBuc29jay0mZ3Q7c29jazsKJiM0MzsJCWdldF9maWxlKG5zb2NrLSZndDtzb2NrLSZndDtmaWxlKTsKIAkJaWYgKGF0b21pY19kZWNfcmV0dXJuKCZhbXA7bmJkLSZndDtjb25maWctJmd0O2xpdmVfY29ubmVjdGlvbnMpID09IDApIHsKIAkJCWlmICh0ZXN0X2FuZF9jbGVhcl9iaXQoTkJEX1JUX0RJU0NPTk5FQ1RfUkVRVUVTVEVELAogCQkJCQkgICAgICAgJmFtcDtuYmQtJmd0O2NvbmZpZy0mZ3Q7cnVudGltZV9mbGFncykpIHsKQEAgLTMzMSw2ICYjNDM7MzM5LDIwIEBAIHN0YXRpYyB2b2lkIG5iZF9tYXJrX25zb2NrX2RlYWQoc3RydWN0IG5iZF9kZXZpY2UgKm5iZCwgc3RydWN0IG5iZF9zb2NrICpuc29jaywKIAluc29jay0mZ3Q7c2VudCA9IDA7CiB9CiAKJiM0MzsvKgomIzQzOyAqIFBlcmZvcm0gZGVmZXJyZWQgc29ja2V0IHNodXRkb3duIG91dHNpZGUgb2YgdHhfbG9jay4KJiM0MzsgKiBVc2VzIHhjaGcgdG8gZ3VhcmFudGVlIG9ubHkgb25lIGNhbGxlciBwZXJmb3JtcyB0aGUgc2h1dGRvd24uCiYjNDM7ICovCiYjNDM7c3RhdGljIHZvaWQgbmJkX25zb2NrX2RlZmVycmVkX3NodXRkb3duKHN0cnVjdCBuYmRfc29jayAqbnNvY2spCiYjNDM7ewomIzQzOwlzdHJ1Y3Qgc29ja2V0ICpzb2NrID0geGNoZygmYW1wO25zb2NrLSZndDtzaHV0ZG93bl9zb2NrLCBOVUxMKTsKJiM0MzsKJiM0MzsJaWYgKHNvY2spIHsKJiM0MzsJCWtlcm5lbF9zb2NrX3NodXRkb3duKHNvY2ssIFNIVVRfUkRXUik7CiYjNDM7CQlzb2NrZmRfcHV0KHNvY2spOwomIzQzOwl9CiYjNDM7fQomIzQzOwogc3RhdGljIGludCBuYmRfc2V0X3NpemUoc3RydWN0IG5iZF9kZXZpY2UgKm5iZCwgbG9mZl90IGJ5dGVzaXplLCBsb2ZmX3QgYmxrc2l6ZSkKIHsKIAlzdHJ1Y3QgcXVldWVfbGltaXRzIGxpbTsKQEAgLTQxMCw2ICYjNDM7NDMyLDcgQEAgc3RhdGljIHZvaWQgc29ja19zaHV0ZG93bihzdHJ1Y3QgbmJkX2RldmljZSAqbmJkKQogCQltdXRleF9sb2NrKCZhbXA7bnNvY2stJmd0O3R4X2xvY2spOwogCQluYmRfbWFya19uc29ja19kZWFkKG5iZCwgbnNvY2ssIDApOwogCQltdXRleF91bmxvY2soJmFtcDtuc29jay0mZ3Q7dHhfbG9jayk7CiYjNDM7CQluYmRfbnNvY2tfZGVmZXJyZWRfc2h1dGRvd24obnNvY2spOwogCX0KIAlkZXZfd2FybihkaXNrX3RvX2RldihuYmQtJmd0O2Rpc2spLCAmIzM0O3NodXR0aW5nIGRvd24gc29ja2V0c1xuJiMzNDspOwogfQpAQCAtNTAyLDYgJiM0Mzs1MjUsNyBAQCBzdGF0aWMgZW51bSBibGtfZWhfdGltZXJfcmV0dXJuIG5iZF94bWl0X3RpbWVvdXQoc3RydWN0IHJlcXVlc3QgKnJlcSkKIAkJCQlpZiAoY21kLSZndDtjb29raWUgPT0gbnNvY2stJmd0O2Nvb2tpZSkKIAkJCQkJbmJkX21hcmtfbnNvY2tfZGVhZChuYmQsIG5zb2NrLCAxKTsKIAkJCQltdXRleF91bmxvY2soJmFtcDtuc29jay0mZ3Q7dHhfbG9jayk7CiYjNDM7CQkJCW5iZF9uc29ja19kZWZlcnJlZF9zaHV0ZG93bihuc29jayk7CiAJCQl9CiAJCQluYmRfcmVxdWV1ZV9jbWQoY21kKTsKIAkJCW11dGV4X3VubG9jaygmYW1wO2NtZC0mZ3Q7bG9jayk7CkBAIC04MzYsNiAmIzQzOzg2MCw3IEBAIHN0YXRpYyB2b2lkIG5iZF9wZW5kaW5nX2NtZF93b3JrKHN0cnVjdCB3b3JrX3N0cnVjdCAqd29yaykKIAkJd2FpdF9tcyAqPSAyOwogCX0KIAltdXRleF91bmxvY2soJmFtcDtuc29jay0mZ3Q7dHhfbG9jayk7CiYjNDM7CW5iZF9uc29ja19kZWZlcnJlZF9zaHV0ZG93bihuc29jayk7CiAJY2xlYXJfYml0KE5CRF9DTURfUEFSVElBTF9TRU5ELCAmYW1wO2NtZC0mZ3Q7ZmxhZ3MpOwogb3V0OgogCW11dGV4X3VubG9jaygmYW1wO2NtZC0mZ3Q7bG9jayk7CkBAIC0xMDIwLDYgJiM0MzsxMDQ1LDcgQEAgc3RhdGljIHZvaWQgcmVjdl93b3JrKHN0cnVjdCB3b3JrX3N0cnVjdCAqd29yaykKIAltdXRleF9sb2NrKCZhbXA7bnNvY2stJmd0O3R4X2xvY2spOwogCW5iZF9tYXJrX25zb2NrX2RlYWQobmJkLCBuc29jaywgMSk7CiAJbXV0ZXhfdW5sb2NrKCZhbXA7bnNvY2stJmd0O3R4X2xvY2spOwomIzQzOwluYmRfbnNvY2tfZGVmZXJyZWRfc2h1dGRvd24obnNvY2spOwogCiAJYXRvbWljX2RlYygmYW1wO2NvbmZpZy0mZ3Q7cmVjdl90aHJlYWRzKTsKIAl3YWtlX3VwKCZhbXA7Y29uZmlnLSZndDtyZWN2X3dxKTsKQEAgLTExNzcsNiAmIzQzOzEyMDMsNyBAQCBzdGF0aWMgYmxrX3N0YXR1c190IG5iZF9oYW5kbGVfY21kKHN0cnVjdCBuYmRfY21kICpjbWQsIGludCBpbmRleCkKIAlyZXQgPSBuYmRfc2VuZF9jbWQobmJkLCBjbWQsIGluZGV4KTsKIG91dDoKIAltdXRleF91bmxvY2soJmFtcDtuc29jay0mZ3Q7dHhfbG9jayk7CiYjNDM7CW5iZF9uc29ja19kZWZlcnJlZF9zaHV0ZG93bihuc29jayk7CiAJbmJkX2NvbmZpZ19wdXQobmJkKTsKIAlyZXR1cm4gcmV0OwogfQpAQCAtMTM5MSw2ICYjNDM7MTQxOCw4IEBAIHN0YXRpYyBpbnQgbmJkX3JlY29ubmVjdF9zb2NrZXQoc3RydWN0IG5iZF9kZXZpY2UgKm5iZCwgdW5zaWduZWQgbG9uZyBhcmcpCiAJCWFyZ3MtJmd0O25zb2NrID0gbnNvY2s7CiAJCW5zb2NrLSZndDtjb29raWUmIzQzOyYjNDM7OwogCQltdXRleF91bmxvY2soJmFtcDtuc29jay0mZ3Q7dHhfbG9jayk7CiYjNDM7CQkvKiBDb21wbGV0ZSBhbnkgcGVuZGluZyBzaHV0ZG93biBvZiB0aGUgb2xkIHNvY2tldCAqLwomIzQzOwkJbmJkX25zb2NrX2RlZmVycmVkX3NodXRkb3duKG5zb2NrKTsKIAkJc29ja2ZkX3B1dChvbGQpOwogCiAJCWNsZWFyX2JpdChOQkRfUlRfRElTQ09OTkVDVEVELCAmYW1wO2NvbmZpZy0mZ3Q7cnVudGltZV9mbGFncyk7CjwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCTwvZGV0YWlscz4KCQkJPC90ZD4KCQk8L3RyPgoJCQoJCTx0cj4KCQkJPHRkPjMvMjwvdGQ+CgkJCTx0ZD4yMDI2LzA2LzI5IDAyOjM3PC90ZD4KCQkJPHRkPmxsbTwvdGQ+CgkJCTx0ZD5wYXRjaC1ldmFsdWF0b3I8L3RkPgoJCQk8dGQ+CgkJCQk8ZGV0YWlscz4KCQkJCQk8c3VtbWFyeT4wbTwvc3VtbWFyeT4KCQkJCQkKCQkJCQkJPGI+TW9kZWw6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5nZW1pbmktMy4xLXByby1wcmV2aWV3PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5BcmdzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+bnVsbDwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+UmVzdWx0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPm51bGw8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPlRva2Vuczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPgoJCQkJCQkJaW5wdXQ6IDMwMDEKCQkJCQkJCW91dHB1dDogMzQKCQkJCQkJCXRob3VnaHRzOiAxNTgKCQkJCQkJPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5UaG91Z2h0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPioqQW5hbHl6aW5nIGEgTmV0d29yayBCbG9jayBEZXZpY2UgRHJpdmVyIFBhdGNoKioKCk9rYXksIHNvIEkmIzM5O3ZlIGdvdCBhIHBhdGNoIGhlcmUgYWZmZWN0aW5nIGBkcml2ZXJzL2Jsb2NrL25iZC5jYC4gTG9va3MgbGlrZSB0aGV5JiMzOTtyZSB0cnlpbmcgdG8gZml4IGEgcG90ZW50aWFsIGxvY2sgZGVwZW5kZW5jeSBpc3N1ZSByZWxhdGVkIHRvIHNvY2tldCBzaHV0ZG93bnMuIENsZXZlciDigJMgdGhleSYjMzk7cmUgZGVmZXJyaW5nIHRoZSBgc2h1dGRvd25gIGNhbGwgdG8gb3V0c2lkZSB0aGUgYHR4X2xvY2tgIGNyaXRpY2FsIHNlY3Rpb24uIFNtYXJ0IG1vdmUgdG8gYXZvaWQgYSBjaXJjdWxhciBkZXBlbmRlbmN5OyB0aG9zZSBhcmUgYWx3YXlzIG5hc3R5IHRvIGRlYnVnLiBJIHNlZSB0aGUgYWRkaXRpb24gb2YgYHNodXRkb3duX3NvY2tgIHdpdGhpbiB0aGUgYHN0cnVjdCBuYmRfc29ja2AsIGFuZCB0aGlzIG5ldyBgbmJkX25zb2NrX2RlZmVycmVkX3NodXRkb3duYCBmdW5jdGlvbi4gVGhleSYjMzk7cmUgc3RyYXRlZ2ljYWxseSBjYWxsaW5nIHRoaXMgZnVuY3Rpb24gYWZ0ZXIgcmVsZWFzaW5nIHRoZSBtdXRleCwgYG5zb2NrLSZndDt0eF9sb2NrYCwgaW4gYSBmZXcga2V5IGxvY2F0aW9ucy4KCkZ1bmN0aW9uYWxseSwgdGhpcyBpcyBhIG1vZGlmaWNhdGlvbiB0byB0aGUgTmV0d29yayBCbG9jayBEZXZpY2UgZHJpdmVyLiBBbnl0aGluZyBjaGFuZ2luZyB0aGUgY29yZSBiZWhhdmlvciBsaWtlIHRoaXMgc2NyZWFtcyAmIzM0O0ZVWlogTUUhJiMzNDsgSSYjMzk7bSBhbHJlYWR5IHRoaW5raW5nIGFib3V0IHBvdGVudGlhbCByYWNlIGNvbmRpdGlvbnMgYW5kIGVkZ2UgY2FzZXMgdGhhdCB0aGlzIGNoYW5nZSBtaWdodCBpbnRyb2R1Y2Ugb3IgcmVzb2x2ZS4KCk5vdywgbGV0IG1lIGRpZyBpbnRvIHRoZSBrZXJuZWwgY29uZmlndXJhdGlvbiB0byBzZWUgaG93IE5CRCBpcyBjb25maWd1cmVkLiBJJiMzOTtsbCBzdGFydCBieSBjaGVja2luZyBgZHJpdmVycy9ibG9jay9LY29uZmlnYCBhbmQgdGhlbiBtYXliZSBgZ3JlcGAgdGhlIHNvdXJjZSB0cmVlIGlmIHRoYXQgZG9lc24mIzM5O3QgeWllbGQgcmVzdWx0cyBxdWlja2x5LiBHb3R0YSBlbnN1cmUgdGhlIGNvbmZpZ3VyYXRpb24gaXMgcmlnaHQgYmVmb3JlIEkgc3RhcnQgZnV6emluZy4KCgo8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQk8L2RldGFpbHM+CgkJCTwvdGQ+CgkJPC90cj4KCQkKCQk8dHI+CgkJCTx0ZD40LzI8L3RkPgoJCQk8dGQ+MjAyNi8wNi8yOSAwMjozNzwvdGQ+CgkJCTx0ZD50b29sPC90ZD4KCQkJPHRkPmdyZXBwZXI8L3RkPgoJCQk8dGQ+CgkJCQk8ZGV0YWlscz4KCQkJCQk8c3VtbWFyeT4wbTwvc3VtbWFyeT4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+QXJnczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPnsKICAmIzM0O0V4cHJlc3Npb24mIzM0OzogJiMzNDtjb25maWcgQkxLX0RFVl9OQkQmIzM0OywKICAmIzM0O1BhdGhQcmVmaXgmIzM0OzogJiMzNDtkcml2ZXJzL2Jsb2NrL0tjb25maWcmIzM0Owp9PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5SZXN1bHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+ewogICYjMzQ7T3V0cHV0JiMzNDs6ICYjMzQ7ZHJpdmVycy9ibG9jay9LY29uZmlnPTE5ND1zb3VyY2UgXCYjMzQ7ZHJpdmVycy9ibG9jay9kcmJkL0tjb25maWdcJiMzNDtcbmRyaXZlcnMvYmxvY2svS2NvbmZpZy0xOTUtXG5kcml2ZXJzL2Jsb2NrL0tjb25maWc6MTk2OmNvbmZpZyBCTEtfREVWX05CRFxuZHJpdmVycy9ibG9jay9LY29uZmlnLTE5Ny1cdHRyaXN0YXRlIFwmIzM0O05ldHdvcmsgYmxvY2sgZGV2aWNlIHN1cHBvcnRcJiMzNDtcbiYjMzQ7Cn08L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQk8L2RldGFpbHM+CgkJCTwvdGQ+CgkJPC90cj4KCQkKCQk8dHI+CgkJCTx0ZD41LzI8L3RkPgoJCQk8dGQ+MjAyNi8wNi8yOSAwMjozNzwvdGQ+CgkJCTx0ZD5sbG08L3RkPgoJCQk8dGQ+cGF0Y2gtZXZhbHVhdG9yPC90ZD4KCQkJPHRkPgoJCQkJPGRldGFpbHM+CgkJCQkJPHN1bW1hcnk+MG08L3N1bW1hcnk+CgkJCQkJCgkJCQkJCTxiPk1vZGVsOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+Z2VtaW5pLTMuMS1wcm8tcHJldmlldzwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+QXJnczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPm51bGw8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlJlc3VsdHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5udWxsPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5Ub2tlbnM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT4KCQkJCQkJCWlucHV0OiAzNTQyCgkJCQkJCQlvdXRwdXQ6IDExNAoJCQkJCQkJdGhvdWdodHM6IDExMAoJCQkJCQk8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlRob3VnaHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+KipBbmFseXppbmcgdGhlIE5ldHdvcmsgQmxvY2sgRGV2aWNlIENvbmZpZ3VyYXRpb24qKgoKT2theSwgc28gdGhlIGNvbmZpZ3VyYXRpb24gaW4gcXVlc3Rpb24gaXMgYEJMS19ERVZfTkJEYC4gTXkgbWluZCBpbW1lZGlhdGVseSBqdW1wcyB0byB0aGUgTmV0d29yayBCbG9jayBEZXZpY2UgZHJpdmVyLiBJIG5lZWQgdG8gZ2V0IGEgY2xlYXIgcGljdHVyZSBvZiB3aGF0JiMzOTtzIGhhcHBlbmluZyBpbnRlcm5hbGx5LCBlc3BlY2lhbGx5IGFyb3VuZCB0aGUgc2h1dGRvd24sIHNvY2tldCBoYW5kbGluZywgYW5kIGNvbW1hbmQgcHJvY2Vzc2luZy4gTGV0IG1lIHF1aWNrbHkgemVybyBpbiBvbiBhIGZldyBjcml0aWNhbCBzeW1ib2xzLiBJIG5lZWQgdG8gdW5kZXJzdGFuZCB0aGUgbnVhbmNlcyBvZiBgbmJkX25zb2NrX2RlZmVycmVkX3NodXRkb3duYCwgYG5iZF9tYXJrX25zb2NrX2RlYWRgLCBhbmQgYHNvY2tfc2h1dGRvd25gLiBUaGVzZSBsaWtlbHkgZGVhbCB3aXRoIGdyYWNlZnVsIGFuZCBmb3JjZWQgc29ja2V0IGNsb3N1cmUsIHJpZ2h0PyBUaGVuLCBJIGhhdmUgYG5iZF94bWl0X3RpbWVvdXRgLCBpbmRpY2F0aW5nIHBvdGVudGlhbCBpc3N1ZXMgd2l0aCBkYXRhIHRyYW5zbWlzc2lvbiB0aW1lb3V0cy4gVGhhdCYjMzk7cyBhbHdheXMgYSBob3RzcG90IHRvIGV4YW1pbmUuIEZvbGxvd2luZyB0aGUgY29tbWFuZCBmbG93LCBJIHNlZSBgbmJkX3BlbmRpbmdfY21kX3dvcmtgLCBgcmVjdl93b3JrYCwgYW5kIGBuYmRfaGFuZGxlX2NtZGAuIFRoaXMgdGVsbHMgbWUgdGhlIGNvbW1hbmQgcXVldWluZywgcmVjZWl2aW5nLCBhbmQgZXhlY3V0aW9uIGFyZSBrZXkgYXNwZWN0cyB0byBmb2N1cyBvbi4gQW5kIG9mIGNvdXJzZSwgdGhlcmUgaXMgYG5iZF9yZWNvbm5lY3Rfc29ja2V0YCwgd2hpY2ggSSBuZWVkIHRvIHVuZGVyc3RhbmQgd2hhdCB0cmlnZ2VycyB0aGUgc29ja2V0IHJlY29ubmVjdGlvbiwgd2hhdCBraW5kIG9mIHJldHJ5IG1lY2hhbmlzbXMgYXJlIGludm9sdmVkLCBhbmQgd2hhdCBpbXBsaWNhdGlvbnMgZG9lcyB0aGlzIHByb2Nlc3MgaGF2ZSBvbiB0aGUgb3ZlcmFsbCByb2J1c3RuZXNzIG9mIHRoZSBOQkQgZHJpdmVyLgoKTm93LCBsZXQmIzM5O3MgZ28gZGlyZWN0bHkgdG8gdGhlIHNvdXJjZSBjb2RlLiBJJiMzOTttIGdvaW5nIHRvIHF1aWNrbHkgdmVyaWZ5IHRoYXQgdGhlc2UgZnVuY3Rpb25zIEkmIzM5O20gaW50ZXJlc3RlZCBpbiBhcmUgaW5kZWVkIGRlZmluZWQgd2l0aGluIGBkcml2ZXJzL2Jsb2NrL25iZC5jYC4gS25vd2luZyB0aGUga2VybmVsJiMzOTtzIGFyY2hpdGVjdHVyZSwgdGhhdCYjMzk7cyB3aGVyZSBJJiMzOTtkIGV4cGVjdCB0byBmaW5kIHRoZSBjb3JlIE5CRCBpbXBsZW1lbnRhdGlvbi4KCgo8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQk8L2RldGFpbHM+CgkJCTwvdGQ+CgkJPC90cj4KCQkKCQk8dHI+CgkJCTx0ZD42LzI8L3RkPgoJCQk8dGQ+MjAyNi8wNi8yOSAwMjozNzwvdGQ+CgkJCTx0ZD50b29sPC90ZD4KCQkJPHRkPmdyZXBwZXI8L3RkPgoJCQk8dGQ+CgkJCQk8ZGV0YWlscz4KCQkJCQk8c3VtbWFyeT4wbTwvc3VtbWFyeT4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+QXJnczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPnsKICAmIzM0O0V4cHJlc3Npb24mIzM0OzogJiMzNDteKHN0YXRpYyApPyh2b2lkfGludHxibGtfc3RhdHVzX3R8ZW51bSBibGtfZWhfdGltZXJfcmV0dXJuKSAobmJkX25zb2NrX2RlZmVycmVkX3NodXRkb3dufG5iZF9tYXJrX25zb2NrX2RlYWR8c29ja19zaHV0ZG93bnxuYmRfeG1pdF90aW1lb3V0fG5iZF9wZW5kaW5nX2NtZF93b3JrfHJlY3Zfd29ya3xuYmRfaGFuZGxlX2NtZHxuYmRfcmVjb25uZWN0X3NvY2tldClcXCgmIzM0OywKICAmIzM0O1BhdGhQcmVmaXgmIzM0OzogJiMzNDtkcml2ZXJzL2Jsb2NrL25iZC5jJiMzNDsKfTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+UmVzdWx0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPnsKICAmIzM0O091dHB1dCYjMzQ7OiAmIzM0O2RyaXZlcnMvYmxvY2svbmJkLmM9MzAwPXN0YXRpYyBpbnQgbmJkX2Rpc2Nvbm5lY3RlZChzdHJ1Y3QgbmJkX2NvbmZpZyAqY29uZmlnKVxuLS1cbmRyaXZlcnMvYmxvY2svbmJkLmMtMzA1LVxuZHJpdmVycy9ibG9jay9uYmQuYzozMDY6c3RhdGljIHZvaWQgbmJkX21hcmtfbnNvY2tfZGVhZChzdHJ1Y3QgbmJkX2RldmljZSAqbmJkLCBzdHJ1Y3QgbmJkX3NvY2sgKm5zb2NrLFxuZHJpdmVycy9ibG9jay9uYmQuYy0zMDctXHRcdFx0XHRpbnQgbm90aWZ5KVxuLS1cbmRyaXZlcnMvYmxvY2svbmJkLmMtMzQ1LSAqL1xuZHJpdmVycy9ibG9jay9uYmQuYzozNDY6c3RhdGljIHZvaWQgbmJkX25zb2NrX2RlZmVycmVkX3NodXRkb3duKHN0cnVjdCBuYmRfc29jayAqbnNvY2spXG5kcml2ZXJzL2Jsb2NrL25iZC5jLTM0Ny17XG4tLVxuZHJpdmVycy9ibG9jay9uYmQuYz00MDc9c3RhdGljIHZvaWQgbmJkX2NvbXBsZXRlX3JxKHN0cnVjdCByZXF1ZXN0ICpyZXEpXG4tLVxuZHJpdmVycy9ibG9jay9uYmQuYy00MTktICovXG5kcml2ZXJzL2Jsb2NrL25iZC5jOjQyMDpzdGF0aWMgdm9pZCBzb2NrX3NodXRkb3duKHN0cnVjdCBuYmRfZGV2aWNlICpuYmQpXG5kcml2ZXJzL2Jsb2NrL25iZC5jLTQyMS17XG4tLVxuZHJpdmVycy9ibG9jay9uYmQuYz00NTg9c3RhdGljIHN0cnVjdCBuYmRfY29uZmlnICpuYmRfZ2V0X2NvbmZpZ191bmxvY2tlZChzdHJ1Y3QgbmJkX2RldmljZSAqbmJkKVxuLS1cbmRyaXZlcnMvYmxvY2svbmJkLmMtNDczLVxuZHJpdmVycy9ibG9jay9uYmQuYzo0NzQ6c3RhdGljIGVudW0gYmxrX2VoX3RpbWVyX3JldHVybiBuYmRfeG1pdF90aW1lb3V0KHN0cnVjdCByZXF1ZXN0ICpyZXEpXG5kcml2ZXJzL2Jsb2NrL25iZC5jLTQ3NS17XG4tLVxuZHJpdmVycy9ibG9jay9uYmQuYz02Njk9c3RhdGljIGJsa19zdGF0dXNfdCBuYmRfc2VuZF9jbWQoc3RydWN0IG5iZF9kZXZpY2UgKm5iZCwgc3RydWN0IG5iZF9jbWQgKmNtZCxcbi0tXG5kcml2ZXJzL2Jsb2NrL25iZC5jLTgzMS0vKiBoYW5kbGUgcGFydGlhbCBzZW5kaW5nICovXG5kcml2ZXJzL2Jsb2NrL25iZC5jOjgzMjpzdGF0aWMgdm9pZCBuYmRfcGVuZGluZ19jbWRfd29yayhzdHJ1Y3Qgd29ya19zdHJ1Y3QgKndvcmspXG5kcml2ZXJzL2Jsb2NrL25iZC5jLTgzMy17XG4tLVxuZHJpdmVycy9ibG9jay9uYmQuYz04OTc9c3RhdGljIHN0cnVjdCBuYmRfY21kICpuYmRfaGFuZGxlX3JlcGx5KHN0cnVjdCBuYmRfZGV2aWNlICpuYmQsIGludCBpbmRleCxcbi0tXG5kcml2ZXJzL2Jsb2NrL25iZC5jLTk5NC1cbmRyaXZlcnMvYmxvY2svbmJkLmM6OTk1OnN0YXRpYyB2b2lkIHJlY3Zfd29yayhzdHJ1Y3Qgd29ya19zdHJ1Y3QgKndvcmspXG5kcml2ZXJzL2Jsb2NrL25iZC5jLTk5Ni17XG4tLVxuZHJpdmVycy9ibG9jay9uYmQuYz0xMTI3PXN0YXRpYyBpbnQgd2FpdF9mb3JfcmVjb25uZWN0KHN0cnVjdCBuYmRfZGV2aWNlICpuYmQpXG4tLVxuZHJpdmVycy9ibG9jay9uYmQuYy0xMTQyLVxuZHJpdmVycy9ibG9jay9uYmQuYzoxMTQzOnN0YXRpYyBibGtfc3RhdHVzX3QgbmJkX2hhbmRsZV9jbWQoc3RydWN0IG5iZF9jbWQgKmNtZCwgaW50IGluZGV4KVxuZHJpdmVycy9ibG9jay9uYmQuYy0xMTQ0LXtcbi0tXG5kcml2ZXJzL2Jsb2NrL25iZC5jPTEzMDQ9c3RhdGljIGludCBuYmRfYWRkX3NvY2tldChzdHJ1Y3QgbmJkX2RldmljZSAqbmJkLCB1bnNpZ25lZCBsb25nIGFyZyxcbi0tXG5kcml2ZXJzL2Jsb2NrL25iZC5jLTEzNzYtXG5kcml2ZXJzL2Jsb2NrL25iZC5jOjEzNzc6c3RhdGljIGludCBuYmRfcmVjb25uZWN0X3NvY2tldChzdHJ1Y3QgbmJkX2RldmljZSAqbmJkLCB1bnNpZ25lZCBsb25nIGFyZylcbmRyaXZlcnMvYmxvY2svbmJkLmMtMTM3OC17XG4mIzM0Owp9PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJPC9kZXRhaWxzPgoJCQk8L3RkPgoJCTwvdHI+CgkJCgkJPHRyPgoJCQk8dGQ+Ny8yPC90ZD4KCQkJPHRkPjIwMjYvMDYvMjkgMDI6Mzc8L3RkPgoJCQk8dGQ+bGxtPC90ZD4KCQkJPHRkPnBhdGNoLWV2YWx1YXRvcjwvdGQ+CgkJCTx0ZD4KCQkJCTxkZXRhaWxzPgoJCQkJCTxzdW1tYXJ5PjBtPC9zdW1tYXJ5PgoJCQkJCQoJCQkJCQk8Yj5Nb2RlbDo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPmdlbWluaS0zLjEtcHJvLXByZXZpZXc8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPkFyZ3M6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5udWxsPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5SZXN1bHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+bnVsbDwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+VG9rZW5zOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+CgkJCQkJCQlpbnB1dDogNDg5NQoJCQkJCQkJb3V0cHV0OiAxNjUKCQkJCQkJCXRob3VnaHRzOiAxNzUKCQkJCQkJPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5UaG91Z2h0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPioqQW5hbHl6aW5nIGEgS2V5IE5CRCBGaXgqKgoKT2theSwgc28gSSYjMzk7bSBsb29raW5nIGF0IGEgcGF0Y2ggaGVyZSB0aGF0JiMzOTtzIHByZXR0eSBjcnVjaWFsIGZvciB0aGUgTkJEIGRyaXZlciwgc3BlY2lmaWNhbGx5IGRlYWxpbmcgd2l0aCBhIGNpcmN1bGFyIGxvY2sgZGVwZW5kZW5jeS4gVGhpcyBpcyBhIGZ1bmN0aW9uYWwgY2hhbmdlLCBub3QganVzdCBhIGNvc21ldGljIG9uZSwgaW4gdGhlIGJsb2NrIGRyaXZlciBpdHNlbGYg4oCTIHRoYXQmIzM5O3MgZGVmaW5pdGVseSB3b3J0aCBteSBhdHRlbnRpb24uIFRoZXkmIzM5O3JlIGRlZmVycmluZyB0aGUgc29ja2V0IHNodXRkb3duIHRvIHJlc29sdmUgdGhpcyBkZXBlbmRlbmN5LCB3aGljaCB0ZWxscyBtZSB0aGUgY29yZSBvZiB0aGUgcHJvYmxlbSBsaWVzIHdpdGhpbiBob3cgTkJEIG1hbmFnZXMgY29ubmVjdGlvbnMgYW5kIGhhbmRsZXMgZXJyb3JzLCBlc3BlY2lhbGx5IGR1cmluZyB0cmFuc21pc3Npb24uCgpTaW5jZSB0aGlzIHRvdWNoZXMgY29ubmVjdGlvbiBtYW5hZ2VtZW50IGFuZCBlcnJvciBoYW5kbGluZywgSSBuZWVkIHRvIGNoZWNrIHRoZSBleGFjdCBjb2RlIGludm9sdmVkIGFuZCBzZWUgaG93IHRoZXkgYXJlIGRlZmVycmluZyB0aGUgc2h1dGRvd24uCgpUaGUgJiMzNDtXb3J0aEZ1enppbmc6IHRydWUmIzM0OyBmbGFnIGlzIGEgZ29vZCBpbmRpY2F0b3IgdGhhdCBJIHNob3VsZCBpbnZlc3RpZ2F0ZSBpdCBmdXJ0aGVyLgoKVGhlIHN1Z2dlc3RlZCBmb2N1cyBzeW1ib2xzIGFyZSBzcG90IG9uOiBgbmJkX25zb2NrX2RlZmVycmVkX3NodXRkb3duYCwgYG5iZF9tYXJrX25zb2NrX2RlYWRgLCBgc29ja19zaHV0ZG93bmAg4oCTIHRoZXNlIGFyZSB0aGUgY3JpdGljYWwgZnVuY3Rpb25zLiBJIGFsc28gbmVlZCB0byB1bmRlcnN0YW5kIGhvdyBgbmJkX3htaXRfdGltZW91dGAsIGBuYmRfcGVuZGluZ19jbWRfd29ya2AsIGByZWN2X3dvcmtgLCBgbmJkX2hhbmRsZV9jbWRgLCBhbmQgYG5iZF9yZWNvbm5lY3Rfc29ja2V0YCBpbnRlcmFjdCB3aXRoIHRoaXMgZGVmZXJyZWQgc2h1dGRvd24gdG8gY29tcGxldGVseSBncmFzcCB0aGUgZml4JiMzOTtzIGltcGxpY2F0aW9ucy4gVGhlc2UgYXJlIGRlZmluaXRlbHkgYXJlYXMgd2hlcmUgdGhlIGJ1ZyB3aWxsIG1hbmlmZXN0IG9yIGNvdWxkIGludGVyYWN0IHdpdGggdGhlIGZpeCwgcG90ZW50aWFsbHkgaW50cm9kdWNpbmcgbmV3IHByb2JsZW1zLgoKRmluYWxseSwgdGhlIGBFbmFibGVDb25maWdzOiBCTEtfREVWX05CRGAgY29uZmlybXMgdGhpcyBpcyBOQkQtc3BlY2lmaWMgYW5kIHByb3ZpZGVzIGEgZ29vZCBzdGFydGluZyBwb2ludCBmb3IgdGVzdGluZyBhbmQgcmVwcm9kdWNpYmlsaXR5LiBJIG5lZWQgdG8gbWFrZSBzdXJlIHRoaXMgZml4IGRvZXNuJiMzOTt0IGludHJvZHVjZSBhbnkgcmVncmVzc2lvbnMgb3IgcmFjZSBjb25kaXRpb25zLCBhbmQgdGhvcm91Z2hseSB0ZXN0aW5nIGNvbm5lY3Rpb24gdGVhcmRvd24gYW5kIGVycm9yIGhhbmRsaW5nIHNjZW5hcmlvcyB3aWxsIGJlIHBhcmFtb3VudCB0byBpdHMgZWZmZWN0aXZlbmVzcy4KCgo8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQk8L2RldGFpbHM+CgkJCTwvdGQ+CgkJPC90cj4KCQkKCQk8dHI+CgkJCTx0ZD44LzI8L3RkPgoJCQk8dGQ+MjAyNi8wNi8yOSAwMjozNzwvdGQ+CgkJCTx0ZD50b29sPC90ZD4KCQkJPHRkPnNldC1yZXN1bHRzPC90ZD4KCQkJPHRkPgoJCQkJPGRldGFpbHM+CgkJCQkJPHN1bW1hcnk+MG08L3N1bW1hcnk+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPkFyZ3M6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT57CiAgJiMzNDtFbmFibGVDb25maWdzJiMzNDs6IFsKICAgICYjMzQ7QkxLX0RFVl9OQkQmIzM0OwogIF0sCiAgJiMzNDtGb2N1c1N5bWJvbHMmIzM0OzogWwogICAgJiMzNDtuYmRfbnNvY2tfZGVmZXJyZWRfc2h1dGRvd24mIzM0OywKICAgICYjMzQ7bmJkX21hcmtfbnNvY2tfZGVhZCYjMzQ7LAogICAgJiMzNDtzb2NrX3NodXRkb3duJiMzNDssCiAgICAmIzM0O25iZF94bWl0X3RpbWVvdXQmIzM0OywKICAgICYjMzQ7bmJkX3BlbmRpbmdfY21kX3dvcmsmIzM0OywKICAgICYjMzQ7cmVjdl93b3JrJiMzNDssCiAgICAmIzM0O25iZF9oYW5kbGVfY21kJiMzNDssCiAgICAmIzM0O25iZF9yZWNvbm5lY3Rfc29ja2V0JiMzNDsKICBdLAogICYjMzQ7UmVhc29uaW5nJiMzNDs6ICYjMzQ7VGhlIHBhdGNoIGZpeGVzIGEgY2lyY3VsYXIgbG9jayBkZXBlbmRlbmN5IGluIHRoZSBuZXR3b3JrIGJsb2NrIGRldmljZSAoTkJEKSBkcml2ZXIgYnkgZGVmZXJyaW5nIHNvY2tldCBzaHV0ZG93biBvdXRzaWRlIG9mIHRoZSBgdHhfbG9ja2AuIFRoaXMgbW9kaWZpZXMgdGhlIGNvcmUgY29ubmVjdGlvbiBtYW5hZ2VtZW50IGFuZCBlcnJvciBoYW5kbGluZyBsb2dpYyBvZiBOQkQsIHdoaWNoIGlzIHJlYWNoYWJsZSBhbmQgZnVuY3Rpb25hbCBjb2RlLiYjMzQ7LAogICYjMzQ7V29ydGhGdXp6aW5nJiMzNDs6IHRydWUKfTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+UmVzdWx0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPnsKICAmIzM0O0VuYWJsZUNvbmZpZ3MmIzM0OzogWwogICAgJiMzNDtCTEtfREVWX05CRCYjMzQ7CiAgXSwKICAmIzM0O0ZvY3VzU3ltYm9scyYjMzQ7OiBbCiAgICAmIzM0O25iZF9uc29ja19kZWZlcnJlZF9zaHV0ZG93biYjMzQ7LAogICAgJiMzNDtuYmRfbWFya19uc29ja19kZWFkJiMzNDssCiAgICAmIzM0O3NvY2tfc2h1dGRvd24mIzM0OywKICAgICYjMzQ7bmJkX3htaXRfdGltZW91dCYjMzQ7LAogICAgJiMzNDtuYmRfcGVuZGluZ19jbWRfd29yayYjMzQ7LAogICAgJiMzNDtyZWN2X3dvcmsmIzM0OywKICAgICYjMzQ7bmJkX2hhbmRsZV9jbWQmIzM0OywKICAgICYjMzQ7bmJkX3JlY29ubmVjdF9zb2NrZXQmIzM0OwogIF0sCiAgJiMzNDtSZWFzb25pbmcmIzM0OzogJiMzNDtUaGUgcGF0Y2ggZml4ZXMgYSBjaXJjdWxhciBsb2NrIGRlcGVuZGVuY3kgaW4gdGhlIG5ldHdvcmsgYmxvY2sgZGV2aWNlIChOQkQpIGRyaXZlciBieSBkZWZlcnJpbmcgc29ja2V0IHNodXRkb3duIG91dHNpZGUgb2YgdGhlIGB0eF9sb2NrYC4gVGhpcyBtb2RpZmllcyB0aGUgY29yZSBjb25uZWN0aW9uIG1hbmFnZW1lbnQgYW5kIGVycm9yIGhhbmRsaW5nIGxvZ2ljIG9mIE5CRCwgd2hpY2ggaXMgcmVhY2hhYmxlIGFuZCBmdW5jdGlvbmFsIGNvZGUuJiMzNDssCiAgJiMzNDtXb3J0aEZ1enppbmcmIzM0OzogdHJ1ZQp9PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJPC9kZXRhaWxzPgoJCQk8L3RkPgoJCTwvdHI+CgkJCgkJPC90Ym9keT4KCTwvdGFibGU+CgoJPGRpdiBpZD0ibGxtX3N1bW1hcnlfdGFibGVfZGl2IiBzdHlsZT0ibWFyZ2luOiAyMHB4IDA7Ij4KCQk8dGFibGUgY2xhc3M9Imxpc3RfdGFibGUiPgoJCQk8Y2FwdGlvbj5MTE0gQ2FsbHMgU3VtbWFyeTo8L2NhcHRpb24+CgkJCTx0aGVhZD4KCQkJCTx0cj4KCQkJCQk8dGg+VG90YWwgQ2FsbHM8L3RoPgoJCQkJCTx0aD5Ub3RhbCBUb2tlbnM8L3RoPgoJCQkJCTx0aD5BdmcgVG9rZW5zPC90aD4KCQkJCQk8dGg+VG90YWwgRHVyYXRpb24gKFNlY29uZHMpPC90aD4KCQkJCQk8dGg+QXZnIER1cmF0aW9uIChTZWNvbmRzKTwvdGg+CgkJCQk8L3RyPgoJCQk8L3RoZWFkPgoJCQk8dGJvZHkgaWQ9ImxsbV9zdW1tYXJ5X3N0YXRzX2JvZHkiPjwvdGJvZHk+CgkJPC90YWJsZT4KCTwvZGl2PgoKCTxkaXYgaWQ9InRvb2xfc3VtbWFyeV90YWJsZV9kaXYiIHN0eWxlPSJtYXJnaW46IDIwcHggMDsiPgoJCTx0YWJsZSBjbGFzcz0ibGlzdF90YWJsZSI+CgkJCTxjYXB0aW9uPlRvb2wgQ2FsbHMgU3VtbWFyeTo8L2NhcHRpb24+CgkJCTx0aGVhZD4KCQkJCTx0cj4KCQkJCQk8dGg+VG90YWwgQ2FsbHM8L3RoPgoJCQkJCTx0aD5Ub3RhbCBEdXJhdGlvbiAoU2Vjb25kcyk8L3RoPgoJCQkJCTx0aD5BdmcgRHVyYXRpb24gKFNlY29uZHMpPC90aD4KCQkJCTwvdHI+CgkJCTwvdGhlYWQ+CgkJCTx0Ym9keSBpZD0idG9vbF9zdW1tYXJ5X3N0YXRzX2JvZHkiPjwvdGJvZHk+CgkJPC90YWJsZT4KCTwvZGl2PgoKCTxkaXYgaWQ9ImR1cmF0aW9uX2NoYXJ0X2RpdiIgc3R5bGU9IndpZHRoOiAxMDAlOyBtYXJnaW46IDIwcHggMDsgYm9yZGVyOiAxcHg7Ij48L2Rpdj4KCTxkaXYgaWQ9InRva2VuX2NoYXJ0X2RpdiIgc3R5bGU9IndpZHRoOiAxMDAlOyBtYXJnaW46IDIwcHggMDsgYm9yZGVyOiAxcHg7Ij48L2Rpdj4KCgk8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSJodHRwczovL3d3dy5nb29nbGUuY29tL2pzYXBpIj48L3NjcmlwdD4KCTxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij4KCQlnb29nbGUubG9hZCgidmlzdWFsaXphdGlvbiIsICIxIiwge3BhY2thZ2VzOlsiY29yZWNoYXJ0Il19KTsKCQlnb29nbGUuc2V0T25Mb2FkQ2FsbGJhY2soZHJhd0NoYXJ0cyk7CgoJCWZ1bmN0aW9uIGRyYXdDaGFydHMoKSB7CgkJCWNvbnN0IHJhd0RhdGEgPSBbeyJTdGFydGVkIjoiMjAyNi0wNi0yOVQwMjozNzozOC4wOTI1MDM0NVoiLCJTZXEiOjAsIk5lc3RpbmciOjAsIlR5cGUiOiJmbG93IiwiTmFtZSI6InBhdGNoLXRyaWFnZSIsIk1vZGVsIjoiIiwiRHVyYXRpb24iOjE1NjA3NjcxODc4LCJFcnJvciI6IiIsIkFyZ3MiOiJudWxsIiwiUmVzdWx0cyI6IntcbiAgXCJFbmFibGVDb25maWdzXCI6IFtcbiAgICBcIkJMS19ERVZfTkJEXCJcbiAgXSxcbiAgXCJGb2N1c1N5bWJvbHNcIjogW1xuICAgIFwibmJkX25zb2NrX2RlZmVycmVkX3NodXRkb3duXCIsXG4gICAgXCJuYmRfbWFya19uc29ja19kZWFkXCIsXG4gICAgXCJzb2NrX3NodXRkb3duXCIsXG4gICAgXCJuYmRfeG1pdF90aW1lb3V0XCIsXG4gICAgXCJuYmRfcGVuZGluZ19jbWRfd29ya1wiLFxuICAgIFwicmVjdl93b3JrXCIsXG4gICAgXCJuYmRfaGFuZGxlX2NtZFwiLFxuICAgIFwibmJkX3JlY29ubmVjdF9zb2NrZXRcIlxuICBdLFxuICBcIlJlYXNvbmluZ1wiOiBcIlRoZSBwYXRjaCBmaXhlcyBhIGNpcmN1bGFyIGxvY2sgZGVwZW5kZW5jeSBpbiB0aGUgbmV0d29yayBibG9jayBkZXZpY2UgKE5CRCkgZHJpdmVyIGJ5IGRlZmVycmluZyBzb2NrZXQgc2h1dGRvd24gb3V0c2lkZSBvZiB0aGUgYHR4X2xvY2tgLiBUaGlzIG1vZGlmaWVzIHRoZSBjb3JlIGNvbm5lY3Rpb24gbWFuYWdlbWVudCBhbmQgZXJyb3IgaGFuZGxpbmcgbG9naWMgb2YgTkJELCB3aGljaCBpcyByZWFjaGFibGUgYW5kIGZ1bmN0aW9uYWwgY29kZS5cIixcbiAgXCJXb3J0aEZ1enppbmdcIjogdHJ1ZVxufSIsIkluc3RydWN0aW9uIjoiIiwiUHJvbXB0IjoiIiwiUmVwbHkiOiIiLCJUaG91Z2h0cyI6IiIsIklucHV0VG9rZW5zIjowLCJPdXRwdXRUb2tlbnMiOjAsIk91dHB1dFRob3VnaHRzVG9rZW5zIjowLCJUb29sQ2FsbHMiOm51bGx9LHsiU3RhcnRlZCI6IjIwMjYtMDYtMjlUMDI6Mzc6MzguMDkyNTEzNTNaIiwiU2VxIjoxLCJOZXN0aW5nIjoxLCJUeXBlIjoiYWN0aW9uIiwiTmFtZSI6InJlYWQtcGF0Y2gtZGlmZiIsIk1vZGVsIjoiIiwiRHVyYXRpb24iOjM3MjQyMDczNCwiRXJyb3IiOiIiLCJBcmdzIjoibnVsbCIsIlJlc3VsdHMiOiJ7XG4gIFwiUGF0Y2hEaWZmXCI6IFwiY29tbWl0IDAzNDBmZDdiN2U1YjI2OThhZjBmZDUxZGE5OGU2OWJlMzEwYzkzNjhcXG5BdXRob3I6IHN5ei1jbHVzdGVyIFxcdTAwM2N0cmlhZ2VAc3l6a2FsbGVyLmNvbVxcdTAwM2VcXG5EYXRlOiAgIE1vbiBKdW4gMjkgMDI6Mzc6MzcgMjAyNiArMDAwMFxcblxcbiAgICBzeXotY2x1c3RlcjogYXBwbGllZCBwYXRjaCB1bmRlciByZXZpZXdcXG5cXG5kaWZmIC0tZ2l0IGEvZHJpdmVycy9ibG9jay9uYmQuYyBiL2RyaXZlcnMvYmxvY2svbmJkLmNcXG5pbmRleCA4ZjEwNzYyZTkwZWY3NC4uNDk3ZjNiYmU1Nzk1OGMgMTAwNjQ0XFxuLS0tIGEvZHJpdmVycy9ibG9jay9uYmQuY1xcbisrKyBiL2RyaXZlcnMvYmxvY2svbmJkLmNcXG5AQCAtNTgsNiArNTgsNyBAQCBzdHJ1Y3QgbmJkX3NvY2sge1xcbiBcXHRzdHJ1Y3Qgc29ja2V0ICpzb2NrO1xcbiBcXHRzdHJ1Y3QgbXV0ZXggdHhfbG9jaztcXG4gXFx0c3RydWN0IHJlcXVlc3QgKnBlbmRpbmc7XFxuK1xcdHN0cnVjdCBzb2NrZXQgKnNodXRkb3duX3NvY2s7XFxuIFxcdGludCBzZW50O1xcbiBcXHRib29sIGRlYWQ7XFxuIFxcdGludCBmYWxsYmFja19pbmRleDtcXG5AQCAtMzE1LDcgKzMxNiwxNCBAQCBzdGF0aWMgdm9pZCBuYmRfbWFya19uc29ja19kZWFkKHN0cnVjdCBuYmRfZGV2aWNlICpuYmQsIHN0cnVjdCBuYmRfc29jayAqbnNvY2ssXFxuIFxcdFxcdH1cXG4gXFx0fVxcbiBcXHRpZiAoIW5zb2NrLVxcdTAwM2VkZWFkKSB7XFxuLVxcdFxcdGtlcm5lbF9zb2NrX3NodXRkb3duKG5zb2NrLVxcdTAwM2Vzb2NrLCBTSFVUX1JEV1IpO1xcbitcXHRcXHQvKlxcbitcXHRcXHQgKiBEZWZlciBzaHV0ZG93biB0byBhZnRlciB0eF9sb2NrIGlzIHJlbGVhc2VkIHRvIGF2b2lkXFxuK1xcdFxcdCAqIGNpcmN1bGFyIGxvY2sgZGVwZW5kZW5jeSAodHhfbG9jayAtXFx1MDAzZSBza19sb2NrKS5cXG4rXFx0XFx0ICogSG9sZCBhbiBleHRyYSBmaWxlIHJlZmVyZW5jZSBzbyB0aGUgc29ja2V0IHJlbWFpbnNcXG4rXFx0XFx0ICogdmFsaWQgdW50aWwgdGhlIGRlZmVycmVkIHNodXRkb3duIGNvbXBsZXRlcy5cXG4rXFx0XFx0ICovXFxuK1xcdFxcdG5zb2NrLVxcdTAwM2VzaHV0ZG93bl9zb2NrID0gbnNvY2stXFx1MDAzZXNvY2s7XFxuK1xcdFxcdGdldF9maWxlKG5zb2NrLVxcdTAwM2Vzb2NrLVxcdTAwM2VmaWxlKTtcXG4gXFx0XFx0aWYgKGF0b21pY19kZWNfcmV0dXJuKFxcdTAwMjZuYmQtXFx1MDAzZWNvbmZpZy1cXHUwMDNlbGl2ZV9jb25uZWN0aW9ucykgPT0gMCkge1xcbiBcXHRcXHRcXHRpZiAodGVzdF9hbmRfY2xlYXJfYml0KE5CRF9SVF9ESVNDT05ORUNUX1JFUVVFU1RFRCxcXG4gXFx0XFx0XFx0XFx0XFx0ICAgICAgIFxcdTAwMjZuYmQtXFx1MDAzZWNvbmZpZy1cXHUwMDNlcnVudGltZV9mbGFncykpIHtcXG5AQCAtMzMxLDYgKzMzOSwyMCBAQCBzdGF0aWMgdm9pZCBuYmRfbWFya19uc29ja19kZWFkKHN0cnVjdCBuYmRfZGV2aWNlICpuYmQsIHN0cnVjdCBuYmRfc29jayAqbnNvY2ssXFxuIFxcdG5zb2NrLVxcdTAwM2VzZW50ID0gMDtcXG4gfVxcbiBcXG4rLypcXG4rICogUGVyZm9ybSBkZWZlcnJlZCBzb2NrZXQgc2h1dGRvd24gb3V0c2lkZSBvZiB0eF9sb2NrLlxcbisgKiBVc2VzIHhjaGcgdG8gZ3VhcmFudGVlIG9ubHkgb25lIGNhbGxlciBwZXJmb3JtcyB0aGUgc2h1dGRvd24uXFxuKyAqL1xcbitzdGF0aWMgdm9pZCBuYmRfbnNvY2tfZGVmZXJyZWRfc2h1dGRvd24oc3RydWN0IG5iZF9zb2NrICpuc29jaylcXG4re1xcbitcXHRzdHJ1Y3Qgc29ja2V0ICpzb2NrID0geGNoZyhcXHUwMDI2bnNvY2stXFx1MDAzZXNodXRkb3duX3NvY2ssIE5VTEwpO1xcbitcXG4rXFx0aWYgKHNvY2spIHtcXG4rXFx0XFx0a2VybmVsX3NvY2tfc2h1dGRvd24oc29jaywgU0hVVF9SRFdSKTtcXG4rXFx0XFx0c29ja2ZkX3B1dChzb2NrKTtcXG4rXFx0fVxcbit9XFxuK1xcbiBzdGF0aWMgaW50IG5iZF9zZXRfc2l6ZShzdHJ1Y3QgbmJkX2RldmljZSAqbmJkLCBsb2ZmX3QgYnl0ZXNpemUsIGxvZmZfdCBibGtzaXplKVxcbiB7XFxuIFxcdHN0cnVjdCBxdWV1ZV9saW1pdHMgbGltO1xcbkBAIC00MTAsNiArNDMyLDcgQEAgc3RhdGljIHZvaWQgc29ja19zaHV0ZG93bihzdHJ1Y3QgbmJkX2RldmljZSAqbmJkKVxcbiBcXHRcXHRtdXRleF9sb2NrKFxcdTAwMjZuc29jay1cXHUwMDNldHhfbG9jayk7XFxuIFxcdFxcdG5iZF9tYXJrX25zb2NrX2RlYWQobmJkLCBuc29jaywgMCk7XFxuIFxcdFxcdG11dGV4X3VubG9jayhcXHUwMDI2bnNvY2stXFx1MDAzZXR4X2xvY2spO1xcbitcXHRcXHRuYmRfbnNvY2tfZGVmZXJyZWRfc2h1dGRvd24obnNvY2spO1xcbiBcXHR9XFxuIFxcdGRldl93YXJuKGRpc2tfdG9fZGV2KG5iZC1cXHUwMDNlZGlzayksIFxcXCJzaHV0dGluZyBkb3duIHNvY2tldHNcXFxcblxcXCIpO1xcbiB9XFxuQEAgLTUwMiw2ICs1MjUsNyBAQCBzdGF0aWMgZW51bSBibGtfZWhfdGltZXJfcmV0dXJuIG5iZF94bWl0X3RpbWVvdXQoc3RydWN0IHJlcXVlc3QgKnJlcSlcXG4gXFx0XFx0XFx0XFx0aWYgKGNtZC1cXHUwMDNlY29va2llID09IG5zb2NrLVxcdTAwM2Vjb29raWUpXFxuIFxcdFxcdFxcdFxcdFxcdG5iZF9tYXJrX25zb2NrX2RlYWQobmJkLCBuc29jaywgMSk7XFxuIFxcdFxcdFxcdFxcdG11dGV4X3VubG9jayhcXHUwMDI2bnNvY2stXFx1MDAzZXR4X2xvY2spO1xcbitcXHRcXHRcXHRcXHRuYmRfbnNvY2tfZGVmZXJyZWRfc2h1dGRvd24obnNvY2spO1xcbiBcXHRcXHRcXHR9XFxuIFxcdFxcdFxcdG5iZF9yZXF1ZXVlX2NtZChjbWQpO1xcbiBcXHRcXHRcXHRtdXRleF91bmxvY2soXFx1MDAyNmNtZC1cXHUwMDNlbG9jayk7XFxuQEAgLTgzNiw2ICs4NjAsNyBAQCBzdGF0aWMgdm9pZCBuYmRfcGVuZGluZ19jbWRfd29yayhzdHJ1Y3Qgd29ya19zdHJ1Y3QgKndvcmspXFxuIFxcdFxcdHdhaXRfbXMgKj0gMjtcXG4gXFx0fVxcbiBcXHRtdXRleF91bmxvY2soXFx1MDAyNm5zb2NrLVxcdTAwM2V0eF9sb2NrKTtcXG4rXFx0bmJkX25zb2NrX2RlZmVycmVkX3NodXRkb3duKG5zb2NrKTtcXG4gXFx0Y2xlYXJfYml0KE5CRF9DTURfUEFSVElBTF9TRU5ELCBcXHUwMDI2Y21kLVxcdTAwM2VmbGFncyk7XFxuIG91dDpcXG4gXFx0bXV0ZXhfdW5sb2NrKFxcdTAwMjZjbWQtXFx1MDAzZWxvY2spO1xcbkBAIC0xMDIwLDYgKzEwNDUsNyBAQCBzdGF0aWMgdm9pZCByZWN2X3dvcmsoc3RydWN0IHdvcmtfc3RydWN0ICp3b3JrKVxcbiBcXHRtdXRleF9sb2NrKFxcdTAwMjZuc29jay1cXHUwMDNldHhfbG9jayk7XFxuIFxcdG5iZF9tYXJrX25zb2NrX2RlYWQobmJkLCBuc29jaywgMSk7XFxuIFxcdG11dGV4X3VubG9jayhcXHUwMDI2bnNvY2stXFx1MDAzZXR4X2xvY2spO1xcbitcXHRuYmRfbnNvY2tfZGVmZXJyZWRfc2h1dGRvd24obnNvY2spO1xcbiBcXG4gXFx0YXRvbWljX2RlYyhcXHUwMDI2Y29uZmlnLVxcdTAwM2VyZWN2X3RocmVhZHMpO1xcbiBcXHR3YWtlX3VwKFxcdTAwMjZjb25maWctXFx1MDAzZXJlY3Zfd3EpO1xcbkBAIC0xMTc3LDYgKzEyMDMsNyBAQCBzdGF0aWMgYmxrX3N0YXR1c190IG5iZF9oYW5kbGVfY21kKHN0cnVjdCBuYmRfY21kICpjbWQsIGludCBpbmRleClcXG4gXFx0cmV0ID0gbmJkX3NlbmRfY21kKG5iZCwgY21kLCBpbmRleCk7XFxuIG91dDpcXG4gXFx0bXV0ZXhfdW5sb2NrKFxcdTAwMjZuc29jay1cXHUwMDNldHhfbG9jayk7XFxuK1xcdG5iZF9uc29ja19kZWZlcnJlZF9zaHV0ZG93bihuc29jayk7XFxuIFxcdG5iZF9jb25maWdfcHV0KG5iZCk7XFxuIFxcdHJldHVybiByZXQ7XFxuIH1cXG5AQCAtMTM5MSw2ICsxNDE4LDggQEAgc3RhdGljIGludCBuYmRfcmVjb25uZWN0X3NvY2tldChzdHJ1Y3QgbmJkX2RldmljZSAqbmJkLCB1bnNpZ25lZCBsb25nIGFyZylcXG4gXFx0XFx0YXJncy1cXHUwMDNlbnNvY2sgPSBuc29jaztcXG4gXFx0XFx0bnNvY2stXFx1MDAzZWNvb2tpZSsrO1xcbiBcXHRcXHRtdXRleF91bmxvY2soXFx1MDAyNm5zb2NrLVxcdTAwM2V0eF9sb2NrKTtcXG4rXFx0XFx0LyogQ29tcGxldGUgYW55IHBlbmRpbmcgc2h1dGRvd24gb2YgdGhlIG9sZCBzb2NrZXQgKi9cXG4rXFx0XFx0bmJkX25zb2NrX2RlZmVycmVkX3NodXRkb3duKG5zb2NrKTtcXG4gXFx0XFx0c29ja2ZkX3B1dChvbGQpO1xcbiBcXG4gXFx0XFx0Y2xlYXJfYml0KE5CRF9SVF9ESVNDT05ORUNURUQsIFxcdTAwMjZjb25maWctXFx1MDAzZXJ1bnRpbWVfZmxhZ3MpO1xcblwiXG59IiwiSW5zdHJ1Y3Rpb24iOiIiLCJQcm9tcHQiOiIiLCJSZXBseSI6IiIsIlRob3VnaHRzIjoiIiwiSW5wdXRUb2tlbnMiOjAsIk91dHB1dFRva2VucyI6MCwiT3V0cHV0VGhvdWdodHNUb2tlbnMiOjAsIlRvb2xDYWxscyI6bnVsbH0seyJTdGFydGVkIjoiMjAyNi0wNi0yOVQwMjozNzozOC40NjU3MTEyMjRaIiwiU2VxIjoyLCJOZXN0aW5nIjoxLCJUeXBlIjoiYWdlbnQiLCJOYW1lIjoicGF0Y2gtZXZhbHVhdG9yIiwiTW9kZWwiOiJnZW1pbmktMy4xLXByby1wcmV2aWV3IiwiRHVyYXRpb24iOjE1MjM0NDUxMTU0LCJFcnJvciI6IiIsIkFyZ3MiOiJudWxsIiwiUmVzdWx0cyI6IntcbiAgXCJFbmFibGVDb25maWdzXCI6IFtcbiAgICBcIkJMS19ERVZfTkJEXCJcbiAgXSxcbiAgXCJGb2N1c1N5bWJvbHNcIjogW1xuICAgIFwibmJkX25zb2NrX2RlZmVycmVkX3NodXRkb3duXCIsXG4gICAgXCJuYmRfbWFya19uc29ja19kZWFkXCIsXG4gICAgXCJzb2NrX3NodXRkb3duXCIsXG4gICAgXCJuYmRfeG1pdF90aW1lb3V0XCIsXG4gICAgXCJuYmRfcGVuZGluZ19jbWRfd29ya1wiLFxuICAgIFwicmVjdl93b3JrXCIsXG4gICAgXCJuYmRfaGFuZGxlX2NtZFwiLFxuICAgIFwibmJkX3JlY29ubmVjdF9zb2NrZXRcIlxuICBdLFxuICBcIlJlYXNvbmluZ1wiOiBcIlRoZSBwYXRjaCBmaXhlcyBhIGNpcmN1bGFyIGxvY2sgZGVwZW5kZW5jeSBpbiB0aGUgbmV0d29yayBibG9jayBkZXZpY2UgKE5CRCkgZHJpdmVyIGJ5IGRlZmVycmluZyBzb2NrZXQgc2h1dGRvd24gb3V0c2lkZSBvZiB0aGUgYHR4X2xvY2tgLiBUaGlzIG1vZGlmaWVzIHRoZSBjb3JlIGNvbm5lY3Rpb24gbWFuYWdlbWVudCBhbmQgZXJyb3IgaGFuZGxpbmcgbG9naWMgb2YgTkJELCB3aGljaCBpcyByZWFjaGFibGUgYW5kIGZ1bmN0aW9uYWwgY29kZS5cIixcbiAgXCJXb3J0aEZ1enppbmdcIjogdHJ1ZVxufSIsIkluc3RydWN0aW9uIjoiWW91IGFyZSBhbiBleHBlcnQgTGludXgga2VybmVsIG1haW50YWluZXIuXG5Zb3VyIGpvYiBpcyB0byByZXZpZXcgYSBwcm92aWRlZCBwYXRjaCBzZXJpZXMgYW5kIGRldGVybWluZVxuaWYgaXQgbWFrZXMgZnVuY3Rpb25hbCBjaGFuZ2VzIHRvIHRoZSBrZXJuZWwgdGhhdCBzaG91bGQgYmUgZnV6emVkLlxuXG5JTVBPUlRBTlQ6IFRoZSBjaGFuZ2VzIGhhdmUgQUxSRUFEWSBiZWVuIGFwcGxpZWQgYW5kIGNvbW1pdHRlZCBhcyB0aGUgSEVBRCBjb21taXQgaW5cbnlvdXIgd29ya3NwYWNlLiBEbyBOT1QgcmVseSBvbiB5b3VyIGludGVybmFsIGtub3dsZWRnZSBvZiB0aGUga2VybmVsLiBZb3UgbXVzdCBhY3RpdmVseVxudXNlIHlvdXIgY29kZSBhY2Nlc3MgdG9vbHMgdG8gZXhhbWluZSB0aGUgYWN0dWFsIHNvdXJjZSBjb2RlIGFuZCBjb25maXJtIGFueSBhc3N1bXB0aW9ucy5cblxuUmV0dXJuIFdvcnRoRnV6emluZz1mYWxzZSBpZiB0aGUgcGF0Y2ggb25seSBjb250YWluczpcbi0gTW9kaWZpY2F0aW9ucyB0byBEb2N1bWVudGF0aW9uLywgS2NvbmZpZyBmaWxlcywgb3IgY29kZSBjb21tZW50cy5cbi0gUHVyZWx5IGRlY29yYXRpdmUgY2hhbmdlcywgc3VjaCBhcyBsb2dnaW5nIChlLmcuLCBwcl9lcnIsIHByaW50aykgb3IgdHJhY2Vwb2ludHMuXG4tIENoYW5nZXMgdG8gbnVtZXJpYyBjb25zdGFudHMgb3IgbWFjcm9zIHRoYXQgZG8gbm90IGZ1bmN0aW9uYWxseSBhbHRlciBleGVjdXRpb24gZmxvdy5cbi0gQ29kZSBwYXRocyB0aGF0IGFyZSBpbXBvc3NpYmxlIHRvIHJlYWNoIGluIHZpcnR1YWxpemVkIGVudmlyb25tZW50cyBsaWtlIEdDRSBvciBRRU1VLFxuZXZlbiB3aGVuIHV0aWxpemluZyBzb2Z0d2FyZS1lbXVsYXRlZCBoYXJkd2FyZSAoZS5nLiwgdXNiIGdhZGdldCwgbWFjODAyMTFfaHdzaW0pLlxuXG5JZiBpdCBtb2RpZmllcyByZWFjaGFibGUgY29yZSBrZXJuZWwgbG9naWMsIGRyaXZlcnMsIG9yIGFyY2hpdGVjdHVyZXMsIHVzZSB5b3VyIGNvZGUgc2VhcmNoXG50b29scyB0byB2ZXJpZnkgdGhlIGNvZGUgY2FuIGJlIGV4ZWN1dGVkLCB0aGVuIHJldHVybiBXb3J0aEZ1enppbmc9dHJ1ZS5cblxuV2hlbiByZXR1cm5pbmcgV29ydGhGdXp6aW5nPXRydWUsIHlvdSBNVVNUIEFMU086XG4xLiBFeHRyYWN0IGFueSBzcGVjaWZpYyBrZXJuZWwgZnVuY3Rpb25zIHRoYXQgc2hvdWxkIGJlIGhlYXZpbHkgZnV6emVkIGludG8gRm9jdXNTeW1ib2xzLlxuICAgQXZvaWQgbGlzdGluZyBnZW5lcmljIGhvdC1wYXRoIGZ1bmN0aW9ucyB0byBwcmV2ZW50IHNrZXdlZCB0ZXN0IGRpc3RyaWJ1dGlvbnMuXG4yLiBJZGVudGlmeSBhbnkgc3BlY2lmaWMgQ09ORklHXyBvcHRpb25zIHJlcXVpcmVkIHRvIHByb3Blcmx5IHRlc3QgdGhpcyBuZXcvbW9kaWZpZWQgZmVhdHVyZS5cbiAgIEdvIGFuZCBsb29rIGludG8gdGhlIEtjb25maWcgZmlsZXMgYW5kIGNoZWNrIGZvciBpZmRlZnMgYXJvdW5kIHRoZSBjb2RlLCBkbyBub3QgbWFrZSBhc3N1bXB0aW9ucy5cbiAgIERvIG5vdCBsaXN0IHRvbyBnZW5lcmljIGNvbmZpZ3MgKHdlIGFscmVhZHkgaGF2ZSB0aGVtIGVuYWJsZWQpLiBPbmx5IGxpc3QgdGhvc2UgdGhhdFxuICAgc3BlY2lmaWNhbGx5IGNvdmVyIHRoZSBtb2RpZmllZCBjb2RlLiBMaXN0IHRoZW0gaW4gdGhlIEVuYWJsZUNvbmZpZ3Mgb3V0cHV0IGFycmF5LFxuICAgYW5kIERPIE5PVCBhZGQgYSAnQ09ORklHXycgcHJlZml4IChlLmcuLCByZXR1cm4gXCJORVRfSVBWNFwiIGluc3RlYWQgb2YgXCJDT05GSUdfTkVUX0lQVjRcIikuXG5QcmVmZXIgY2FsbGluZyBzZXZlcmFsIHRvb2xzIGF0IHRoZSBzYW1lIHRpbWUgdG8gc2F2ZSByb3VuZC10cmlwcy5cblxuXG5Vc2Ugc2V0LXJlc3VsdHMgdG9vbCB0byBwcm92aWRlIHJlc3VsdHMgb2YgdGhlIGFuYWx5c2lzLlxuSXQgbXVzdCBiZSBjYWxsZWQgZXhhY3RseSBvbmNlIGJlZm9yZSB0aGUgZmluYWwgcmVwbHkuXG5JZ25vcmUgcmVzdWx0cyBvZiB0aGlzIHRvb2wuXG4iLCJQcm9tcHQiOiJGb3IgeW91ciBjb252ZW5pZW5jZSwgaGVyZSBpcyB0aGUgZGlmZiBvZiB0aGUgY2hhbmdlczpcbmNvbW1pdCAwMzQwZmQ3YjdlNWIyNjk4YWYwZmQ1MWRhOThlNjliZTMxMGM5MzY4XG5BdXRob3I6IHN5ei1jbHVzdGVyIFx1MDAzY3RyaWFnZUBzeXprYWxsZXIuY29tXHUwMDNlXG5EYXRlOiAgIE1vbiBKdW4gMjkgMDI6Mzc6MzcgMjAyNiArMDAwMFxuXG4gICAgc3l6LWNsdXN0ZXI6IGFwcGxpZWQgcGF0Y2ggdW5kZXIgcmV2aWV3XG5cbmRpZmYgLS1naXQgYS9kcml2ZXJzL2Jsb2NrL25iZC5jIGIvZHJpdmVycy9ibG9jay9uYmQuY1xuaW5kZXggOGYxMDc2MmU5MGVmNzQuLjQ5N2YzYmJlNTc5NThjIDEwMDY0NFxuLS0tIGEvZHJpdmVycy9ibG9jay9uYmQuY1xuKysrIGIvZHJpdmVycy9ibG9jay9uYmQuY1xuQEAgLTU4LDYgKzU4LDcgQEAgc3RydWN0IG5iZF9zb2NrIHtcbiBcdHN0cnVjdCBzb2NrZXQgKnNvY2s7XG4gXHRzdHJ1Y3QgbXV0ZXggdHhfbG9jaztcbiBcdHN0cnVjdCByZXF1ZXN0ICpwZW5kaW5nO1xuK1x0c3RydWN0IHNvY2tldCAqc2h1dGRvd25fc29jaztcbiBcdGludCBzZW50O1xuIFx0Ym9vbCBkZWFkO1xuIFx0aW50IGZhbGxiYWNrX2luZGV4O1xuQEAgLTMxNSw3ICszMTYsMTQgQEAgc3RhdGljIHZvaWQgbmJkX21hcmtfbnNvY2tfZGVhZChzdHJ1Y3QgbmJkX2RldmljZSAqbmJkLCBzdHJ1Y3QgbmJkX3NvY2sgKm5zb2NrLFxuIFx0XHR9XG4gXHR9XG4gXHRpZiAoIW5zb2NrLVx1MDAzZWRlYWQpIHtcbi1cdFx0a2VybmVsX3NvY2tfc2h1dGRvd24obnNvY2stXHUwMDNlc29jaywgU0hVVF9SRFdSKTtcbitcdFx0LypcbitcdFx0ICogRGVmZXIgc2h1dGRvd24gdG8gYWZ0ZXIgdHhfbG9jayBpcyByZWxlYXNlZCB0byBhdm9pZFxuK1x0XHQgKiBjaXJjdWxhciBsb2NrIGRlcGVuZGVuY3kgKHR4X2xvY2sgLVx1MDAzZSBza19sb2NrKS5cbitcdFx0ICogSG9sZCBhbiBleHRyYSBmaWxlIHJlZmVyZW5jZSBzbyB0aGUgc29ja2V0IHJlbWFpbnNcbitcdFx0ICogdmFsaWQgdW50aWwgdGhlIGRlZmVycmVkIHNodXRkb3duIGNvbXBsZXRlcy5cbitcdFx0ICovXG4rXHRcdG5zb2NrLVx1MDAzZXNodXRkb3duX3NvY2sgPSBuc29jay1cdTAwM2Vzb2NrO1xuK1x0XHRnZXRfZmlsZShuc29jay1cdTAwM2Vzb2NrLVx1MDAzZWZpbGUpO1xuIFx0XHRpZiAoYXRvbWljX2RlY19yZXR1cm4oXHUwMDI2bmJkLVx1MDAzZWNvbmZpZy1cdTAwM2VsaXZlX2Nvbm5lY3Rpb25zKSA9PSAwKSB7XG4gXHRcdFx0aWYgKHRlc3RfYW5kX2NsZWFyX2JpdChOQkRfUlRfRElTQ09OTkVDVF9SRVFVRVNURUQsXG4gXHRcdFx0XHRcdCAgICAgICBcdTAwMjZuYmQtXHUwMDNlY29uZmlnLVx1MDAzZXJ1bnRpbWVfZmxhZ3MpKSB7XG5AQCAtMzMxLDYgKzMzOSwyMCBAQCBzdGF0aWMgdm9pZCBuYmRfbWFya19uc29ja19kZWFkKHN0cnVjdCBuYmRfZGV2aWNlICpuYmQsIHN0cnVjdCBuYmRfc29jayAqbnNvY2ssXG4gXHRuc29jay1cdTAwM2VzZW50ID0gMDtcbiB9XG4gXG4rLypcbisgKiBQZXJmb3JtIGRlZmVycmVkIHNvY2tldCBzaHV0ZG93biBvdXRzaWRlIG9mIHR4X2xvY2suXG4rICogVXNlcyB4Y2hnIHRvIGd1YXJhbnRlZSBvbmx5IG9uZSBjYWxsZXIgcGVyZm9ybXMgdGhlIHNodXRkb3duLlxuKyAqL1xuK3N0YXRpYyB2b2lkIG5iZF9uc29ja19kZWZlcnJlZF9zaHV0ZG93bihzdHJ1Y3QgbmJkX3NvY2sgKm5zb2NrKVxuK3tcbitcdHN0cnVjdCBzb2NrZXQgKnNvY2sgPSB4Y2hnKFx1MDAyNm5zb2NrLVx1MDAzZXNodXRkb3duX3NvY2ssIE5VTEwpO1xuK1xuK1x0aWYgKHNvY2spIHtcbitcdFx0a2VybmVsX3NvY2tfc2h1dGRvd24oc29jaywgU0hVVF9SRFdSKTtcbitcdFx0c29ja2ZkX3B1dChzb2NrKTtcbitcdH1cbit9XG4rXG4gc3RhdGljIGludCBuYmRfc2V0X3NpemUoc3RydWN0IG5iZF9kZXZpY2UgKm5iZCwgbG9mZl90IGJ5dGVzaXplLCBsb2ZmX3QgYmxrc2l6ZSlcbiB7XG4gXHRzdHJ1Y3QgcXVldWVfbGltaXRzIGxpbTtcbkBAIC00MTAsNiArNDMyLDcgQEAgc3RhdGljIHZvaWQgc29ja19zaHV0ZG93bihzdHJ1Y3QgbmJkX2RldmljZSAqbmJkKVxuIFx0XHRtdXRleF9sb2NrKFx1MDAyNm5zb2NrLVx1MDAzZXR4X2xvY2spO1xuIFx0XHRuYmRfbWFya19uc29ja19kZWFkKG5iZCwgbnNvY2ssIDApO1xuIFx0XHRtdXRleF91bmxvY2soXHUwMDI2bnNvY2stXHUwMDNldHhfbG9jayk7XG4rXHRcdG5iZF9uc29ja19kZWZlcnJlZF9zaHV0ZG93bihuc29jayk7XG4gXHR9XG4gXHRkZXZfd2FybihkaXNrX3RvX2RldihuYmQtXHUwMDNlZGlzayksIFwic2h1dHRpbmcgZG93biBzb2NrZXRzXFxuXCIpO1xuIH1cbkBAIC01MDIsNiArNTI1LDcgQEAgc3RhdGljIGVudW0gYmxrX2VoX3RpbWVyX3JldHVybiBuYmRfeG1pdF90aW1lb3V0KHN0cnVjdCByZXF1ZXN0ICpyZXEpXG4gXHRcdFx0XHRpZiAoY21kLVx1MDAzZWNvb2tpZSA9PSBuc29jay1cdTAwM2Vjb29raWUpXG4gXHRcdFx0XHRcdG5iZF9tYXJrX25zb2NrX2RlYWQobmJkLCBuc29jaywgMSk7XG4gXHRcdFx0XHRtdXRleF91bmxvY2soXHUwMDI2bnNvY2stXHUwMDNldHhfbG9jayk7XG4rXHRcdFx0XHRuYmRfbnNvY2tfZGVmZXJyZWRfc2h1dGRvd24obnNvY2spO1xuIFx0XHRcdH1cbiBcdFx0XHRuYmRfcmVxdWV1ZV9jbWQoY21kKTtcbiBcdFx0XHRtdXRleF91bmxvY2soXHUwMDI2Y21kLVx1MDAzZWxvY2spO1xuQEAgLTgzNiw2ICs4NjAsNyBAQCBzdGF0aWMgdm9pZCBuYmRfcGVuZGluZ19jbWRfd29yayhzdHJ1Y3Qgd29ya19zdHJ1Y3QgKndvcmspXG4gXHRcdHdhaXRfbXMgKj0gMjtcbiBcdH1cbiBcdG11dGV4X3VubG9jayhcdTAwMjZuc29jay1cdTAwM2V0eF9sb2NrKTtcbitcdG5iZF9uc29ja19kZWZlcnJlZF9zaHV0ZG93bihuc29jayk7XG4gXHRjbGVhcl9iaXQoTkJEX0NNRF9QQVJUSUFMX1NFTkQsIFx1MDAyNmNtZC1cdTAwM2VmbGFncyk7XG4gb3V0OlxuIFx0bXV0ZXhfdW5sb2NrKFx1MDAyNmNtZC1cdTAwM2Vsb2NrKTtcbkBAIC0xMDIwLDYgKzEwNDUsNyBAQCBzdGF0aWMgdm9pZCByZWN2X3dvcmsoc3RydWN0IHdvcmtfc3RydWN0ICp3b3JrKVxuIFx0bXV0ZXhfbG9jayhcdTAwMjZuc29jay1cdTAwM2V0eF9sb2NrKTtcbiBcdG5iZF9tYXJrX25zb2NrX2RlYWQobmJkLCBuc29jaywgMSk7XG4gXHRtdXRleF91bmxvY2soXHUwMDI2bnNvY2stXHUwMDNldHhfbG9jayk7XG4rXHRuYmRfbnNvY2tfZGVmZXJyZWRfc2h1dGRvd24obnNvY2spO1xuIFxuIFx0YXRvbWljX2RlYyhcdTAwMjZjb25maWctXHUwMDNlcmVjdl90aHJlYWRzKTtcbiBcdHdha2VfdXAoXHUwMDI2Y29uZmlnLVx1MDAzZXJlY3Zfd3EpO1xuQEAgLTExNzcsNiArMTIwMyw3IEBAIHN0YXRpYyBibGtfc3RhdHVzX3QgbmJkX2hhbmRsZV9jbWQoc3RydWN0IG5iZF9jbWQgKmNtZCwgaW50IGluZGV4KVxuIFx0cmV0ID0gbmJkX3NlbmRfY21kKG5iZCwgY21kLCBpbmRleCk7XG4gb3V0OlxuIFx0bXV0ZXhfdW5sb2NrKFx1MDAyNm5zb2NrLVx1MDAzZXR4X2xvY2spO1xuK1x0bmJkX25zb2NrX2RlZmVycmVkX3NodXRkb3duKG5zb2NrKTtcbiBcdG5iZF9jb25maWdfcHV0KG5iZCk7XG4gXHRyZXR1cm4gcmV0O1xuIH1cbkBAIC0xMzkxLDYgKzE0MTgsOCBAQCBzdGF0aWMgaW50IG5iZF9yZWNvbm5lY3Rfc29ja2V0KHN0cnVjdCBuYmRfZGV2aWNlICpuYmQsIHVuc2lnbmVkIGxvbmcgYXJnKVxuIFx0XHRhcmdzLVx1MDAzZW5zb2NrID0gbnNvY2s7XG4gXHRcdG5zb2NrLVx1MDAzZWNvb2tpZSsrO1xuIFx0XHRtdXRleF91bmxvY2soXHUwMDI2bnNvY2stXHUwMDNldHhfbG9jayk7XG4rXHRcdC8qIENvbXBsZXRlIGFueSBwZW5kaW5nIHNodXRkb3duIG9mIHRoZSBvbGQgc29ja2V0ICovXG4rXHRcdG5iZF9uc29ja19kZWZlcnJlZF9zaHV0ZG93bihuc29jayk7XG4gXHRcdHNvY2tmZF9wdXQob2xkKTtcbiBcbiBcdFx0Y2xlYXJfYml0KE5CRF9SVF9ESVNDT05ORUNURUQsIFx1MDAyNmNvbmZpZy1cdTAwM2VydW50aW1lX2ZsYWdzKTtcbiIsIlJlcGx5IjoiIiwiVGhvdWdodHMiOiIiLCJJbnB1dFRva2VucyI6MCwiT3V0cHV0VG9rZW5zIjowLCJPdXRwdXRUaG91Z2h0c1Rva2VucyI6MCwiVG9vbENhbGxzIjpudWxsfSx7IlN0YXJ0ZWQiOiIyMDI2LTA2LTI5VDAyOjM3OjM4LjQ2NTcxNDUyNFoiLCJTZXEiOjMsIk5lc3RpbmciOjIsIlR5cGUiOiJsbG0iLCJOYW1lIjoicGF0Y2gtZXZhbHVhdG9yIiwiTW9kZWwiOiJnZW1pbmktMy4xLXByby1wcmV2aWV3IiwiRHVyYXRpb24iOjQ1ODI0NzgyMjYsIkVycm9yIjoiIiwiQXJncyI6Im51bGwiLCJSZXN1bHRzIjoibnVsbCIsIkluc3RydWN0aW9uIjoiIiwiUHJvbXB0IjoiIiwiUmVwbHkiOiIiLCJUaG91Z2h0cyI6IioqQW5hbHl6aW5nIGEgTmV0d29yayBCbG9jayBEZXZpY2UgRHJpdmVyIFBhdGNoKipcblxuT2theSwgc28gSSd2ZSBnb3QgYSBwYXRjaCBoZXJlIGFmZmVjdGluZyBgZHJpdmVycy9ibG9jay9uYmQuY2AuIExvb2tzIGxpa2UgdGhleSdyZSB0cnlpbmcgdG8gZml4IGEgcG90ZW50aWFsIGxvY2sgZGVwZW5kZW5jeSBpc3N1ZSByZWxhdGVkIHRvIHNvY2tldCBzaHV0ZG93bnMuIENsZXZlciDigJMgdGhleSdyZSBkZWZlcnJpbmcgdGhlIGBzaHV0ZG93bmAgY2FsbCB0byBvdXRzaWRlIHRoZSBgdHhfbG9ja2AgY3JpdGljYWwgc2VjdGlvbi4gU21hcnQgbW92ZSB0byBhdm9pZCBhIGNpcmN1bGFyIGRlcGVuZGVuY3k7IHRob3NlIGFyZSBhbHdheXMgbmFzdHkgdG8gZGVidWcuIEkgc2VlIHRoZSBhZGRpdGlvbiBvZiBgc2h1dGRvd25fc29ja2Agd2l0aGluIHRoZSBgc3RydWN0IG5iZF9zb2NrYCwgYW5kIHRoaXMgbmV3IGBuYmRfbnNvY2tfZGVmZXJyZWRfc2h1dGRvd25gIGZ1bmN0aW9uLiBUaGV5J3JlIHN0cmF0ZWdpY2FsbHkgY2FsbGluZyB0aGlzIGZ1bmN0aW9uIGFmdGVyIHJlbGVhc2luZyB0aGUgbXV0ZXgsIGBuc29jay1cdTAwM2V0eF9sb2NrYCwgaW4gYSBmZXcga2V5IGxvY2F0aW9ucy5cblxuRnVuY3Rpb25hbGx5LCB0aGlzIGlzIGEgbW9kaWZpY2F0aW9uIHRvIHRoZSBOZXR3b3JrIEJsb2NrIERldmljZSBkcml2ZXIuIEFueXRoaW5nIGNoYW5naW5nIHRoZSBjb3JlIGJlaGF2aW9yIGxpa2UgdGhpcyBzY3JlYW1zIFwiRlVaWiBNRSFcIiBJJ20gYWxyZWFkeSB0aGlua2luZyBhYm91dCBwb3RlbnRpYWwgcmFjZSBjb25kaXRpb25zIGFuZCBlZGdlIGNhc2VzIHRoYXQgdGhpcyBjaGFuZ2UgbWlnaHQgaW50cm9kdWNlIG9yIHJlc29sdmUuXG5cbk5vdywgbGV0IG1lIGRpZyBpbnRvIHRoZSBrZXJuZWwgY29uZmlndXJhdGlvbiB0byBzZWUgaG93IE5CRCBpcyBjb25maWd1cmVkLiBJJ2xsIHN0YXJ0IGJ5IGNoZWNraW5nIGBkcml2ZXJzL2Jsb2NrL0tjb25maWdgIGFuZCB0aGVuIG1heWJlIGBncmVwYCB0aGUgc291cmNlIHRyZWUgaWYgdGhhdCBkb2Vzbid0IHlpZWxkIHJlc3VsdHMgcXVpY2tseS4gR290dGEgZW5zdXJlIHRoZSBjb25maWd1cmF0aW9uIGlzIHJpZ2h0IGJlZm9yZSBJIHN0YXJ0IGZ1enppbmcuXG5cblxuIiwiSW5wdXRUb2tlbnMiOjMwMDEsIk91dHB1dFRva2VucyI6MzQsIk91dHB1dFRob3VnaHRzVG9rZW5zIjoxNTgsIlRvb2xDYWxscyI6bnVsbH0seyJTdGFydGVkIjoiMjAyNi0wNi0yOVQwMjozNzo0My4wNDgxOTUwNloiLCJTZXEiOjQsIk5lc3RpbmciOjIsIlR5cGUiOiJ0b29sIiwiTmFtZSI6ImdyZXBwZXIiLCJNb2RlbCI6IiIsIkR1cmF0aW9uIjo2NTUzMjQ2MywiRXJyb3IiOiIiLCJBcmdzIjoie1xuICBcIkV4cHJlc3Npb25cIjogXCJjb25maWcgQkxLX0RFVl9OQkRcIixcbiAgXCJQYXRoUHJlZml4XCI6IFwiZHJpdmVycy9ibG9jay9LY29uZmlnXCJcbn0iLCJSZXN1bHRzIjoie1xuICBcIk91dHB1dFwiOiBcImRyaXZlcnMvYmxvY2svS2NvbmZpZz0xOTQ9c291cmNlIFxcXCJkcml2ZXJzL2Jsb2NrL2RyYmQvS2NvbmZpZ1xcXCJcXG5kcml2ZXJzL2Jsb2NrL0tjb25maWctMTk1LVxcbmRyaXZlcnMvYmxvY2svS2NvbmZpZzoxOTY6Y29uZmlnIEJMS19ERVZfTkJEXFxuZHJpdmVycy9ibG9jay9LY29uZmlnLTE5Ny1cXHR0cmlzdGF0ZSBcXFwiTmV0d29yayBibG9jayBkZXZpY2Ugc3VwcG9ydFxcXCJcXG5cIlxufSIsIkluc3RydWN0aW9uIjoiIiwiUHJvbXB0IjoiIiwiUmVwbHkiOiIiLCJUaG91Z2h0cyI6IiIsIklucHV0VG9rZW5zIjowLCJPdXRwdXRUb2tlbnMiOjAsIk91dHB1dFRob3VnaHRzVG9rZW5zIjowLCJUb29sQ2FsbHMiOm51bGx9LHsiU3RhcnRlZCI6IjIwMjYtMDYtMjlUMDI6Mzc6NDMuMTEzNzM0MzMzWiIsIlNlcSI6NSwiTmVzdGluZyI6MiwiVHlwZSI6ImxsbSIsIk5hbWUiOiJwYXRjaC1ldmFsdWF0b3IiLCJNb2RlbCI6ImdlbWluaS0zLjEtcHJvLXByZXZpZXciLCJEdXJhdGlvbiI6NDcyMDY2NjI5MywiRXJyb3IiOiIiLCJBcmdzIjoibnVsbCIsIlJlc3VsdHMiOiJudWxsIiwiSW5zdHJ1Y3Rpb24iOiIiLCJQcm9tcHQiOiIiLCJSZXBseSI6IiIsIlRob3VnaHRzIjoiKipBbmFseXppbmcgdGhlIE5ldHdvcmsgQmxvY2sgRGV2aWNlIENvbmZpZ3VyYXRpb24qKlxuXG5Pa2F5LCBzbyB0aGUgY29uZmlndXJhdGlvbiBpbiBxdWVzdGlvbiBpcyBgQkxLX0RFVl9OQkRgLiBNeSBtaW5kIGltbWVkaWF0ZWx5IGp1bXBzIHRvIHRoZSBOZXR3b3JrIEJsb2NrIERldmljZSBkcml2ZXIuIEkgbmVlZCB0byBnZXQgYSBjbGVhciBwaWN0dXJlIG9mIHdoYXQncyBoYXBwZW5pbmcgaW50ZXJuYWxseSwgZXNwZWNpYWxseSBhcm91bmQgdGhlIHNodXRkb3duLCBzb2NrZXQgaGFuZGxpbmcsIGFuZCBjb21tYW5kIHByb2Nlc3NpbmcuIExldCBtZSBxdWlja2x5IHplcm8gaW4gb24gYSBmZXcgY3JpdGljYWwgc3ltYm9scy4gSSBuZWVkIHRvIHVuZGVyc3RhbmQgdGhlIG51YW5jZXMgb2YgYG5iZF9uc29ja19kZWZlcnJlZF9zaHV0ZG93bmAsIGBuYmRfbWFya19uc29ja19kZWFkYCwgYW5kIGBzb2NrX3NodXRkb3duYC4gVGhlc2UgbGlrZWx5IGRlYWwgd2l0aCBncmFjZWZ1bCBhbmQgZm9yY2VkIHNvY2tldCBjbG9zdXJlLCByaWdodD8gVGhlbiwgSSBoYXZlIGBuYmRfeG1pdF90aW1lb3V0YCwgaW5kaWNhdGluZyBwb3RlbnRpYWwgaXNzdWVzIHdpdGggZGF0YSB0cmFuc21pc3Npb24gdGltZW91dHMuIFRoYXQncyBhbHdheXMgYSBob3RzcG90IHRvIGV4YW1pbmUuIEZvbGxvd2luZyB0aGUgY29tbWFuZCBmbG93LCBJIHNlZSBgbmJkX3BlbmRpbmdfY21kX3dvcmtgLCBgcmVjdl93b3JrYCwgYW5kIGBuYmRfaGFuZGxlX2NtZGAuIFRoaXMgdGVsbHMgbWUgdGhlIGNvbW1hbmQgcXVldWluZywgcmVjZWl2aW5nLCBhbmQgZXhlY3V0aW9uIGFyZSBrZXkgYXNwZWN0cyB0byBmb2N1cyBvbi4gQW5kIG9mIGNvdXJzZSwgdGhlcmUgaXMgYG5iZF9yZWNvbm5lY3Rfc29ja2V0YCwgd2hpY2ggSSBuZWVkIHRvIHVuZGVyc3RhbmQgd2hhdCB0cmlnZ2VycyB0aGUgc29ja2V0IHJlY29ubmVjdGlvbiwgd2hhdCBraW5kIG9mIHJldHJ5IG1lY2hhbmlzbXMgYXJlIGludm9sdmVkLCBhbmQgd2hhdCBpbXBsaWNhdGlvbnMgZG9lcyB0aGlzIHByb2Nlc3MgaGF2ZSBvbiB0aGUgb3ZlcmFsbCByb2J1c3RuZXNzIG9mIHRoZSBOQkQgZHJpdmVyLlxuXG5Ob3csIGxldCdzIGdvIGRpcmVjdGx5IHRvIHRoZSBzb3VyY2UgY29kZS4gSSdtIGdvaW5nIHRvIHF1aWNrbHkgdmVyaWZ5IHRoYXQgdGhlc2UgZnVuY3Rpb25zIEknbSBpbnRlcmVzdGVkIGluIGFyZSBpbmRlZWQgZGVmaW5lZCB3aXRoaW4gYGRyaXZlcnMvYmxvY2svbmJkLmNgLiBLbm93aW5nIHRoZSBrZXJuZWwncyBhcmNoaXRlY3R1cmUsIHRoYXQncyB3aGVyZSBJJ2QgZXhwZWN0IHRvIGZpbmQgdGhlIGNvcmUgTkJEIGltcGxlbWVudGF0aW9uLlxuXG5cbiIsIklucHV0VG9rZW5zIjozNTQyLCJPdXRwdXRUb2tlbnMiOjExNCwiT3V0cHV0VGhvdWdodHNUb2tlbnMiOjExMCwiVG9vbENhbGxzIjpbImdyZXBwZXIiXX0seyJTdGFydGVkIjoiMjAyNi0wNi0yOVQwMjozNzo0Ny44MzQ0MDM0NzZaIiwiU2VxIjo2LCJOZXN0aW5nIjoyLCJUeXBlIjoidG9vbCIsIk5hbWUiOiJncmVwcGVyIiwiTW9kZWwiOiIiLCJEdXJhdGlvbiI6MTYxMTI5MTY0LCJFcnJvciI6IiIsIkFyZ3MiOiJ7XG4gIFwiRXhwcmVzc2lvblwiOiBcIl4oc3RhdGljICk/KHZvaWR8aW50fGJsa19zdGF0dXNfdHxlbnVtIGJsa19laF90aW1lcl9yZXR1cm4pIChuYmRfbnNvY2tfZGVmZXJyZWRfc2h1dGRvd258bmJkX21hcmtfbnNvY2tfZGVhZHxzb2NrX3NodXRkb3dufG5iZF94bWl0X3RpbWVvdXR8bmJkX3BlbmRpbmdfY21kX3dvcmt8cmVjdl93b3JrfG5iZF9oYW5kbGVfY21kfG5iZF9yZWNvbm5lY3Rfc29ja2V0KVxcXFwoXCIsXG4gIFwiUGF0aFByZWZpeFwiOiBcImRyaXZlcnMvYmxvY2svbmJkLmNcIlxufSIsIlJlc3VsdHMiOiJ7XG4gIFwiT3V0cHV0XCI6IFwiZHJpdmVycy9ibG9jay9uYmQuYz0zMDA9c3RhdGljIGludCBuYmRfZGlzY29ubmVjdGVkKHN0cnVjdCBuYmRfY29uZmlnICpjb25maWcpXFxuLS1cXG5kcml2ZXJzL2Jsb2NrL25iZC5jLTMwNS1cXG5kcml2ZXJzL2Jsb2NrL25iZC5jOjMwNjpzdGF0aWMgdm9pZCBuYmRfbWFya19uc29ja19kZWFkKHN0cnVjdCBuYmRfZGV2aWNlICpuYmQsIHN0cnVjdCBuYmRfc29jayAqbnNvY2ssXFxuZHJpdmVycy9ibG9jay9uYmQuYy0zMDctXFx0XFx0XFx0XFx0aW50IG5vdGlmeSlcXG4tLVxcbmRyaXZlcnMvYmxvY2svbmJkLmMtMzQ1LSAqL1xcbmRyaXZlcnMvYmxvY2svbmJkLmM6MzQ2OnN0YXRpYyB2b2lkIG5iZF9uc29ja19kZWZlcnJlZF9zaHV0ZG93bihzdHJ1Y3QgbmJkX3NvY2sgKm5zb2NrKVxcbmRyaXZlcnMvYmxvY2svbmJkLmMtMzQ3LXtcXG4tLVxcbmRyaXZlcnMvYmxvY2svbmJkLmM9NDA3PXN0YXRpYyB2b2lkIG5iZF9jb21wbGV0ZV9ycShzdHJ1Y3QgcmVxdWVzdCAqcmVxKVxcbi0tXFxuZHJpdmVycy9ibG9jay9uYmQuYy00MTktICovXFxuZHJpdmVycy9ibG9jay9uYmQuYzo0MjA6c3RhdGljIHZvaWQgc29ja19zaHV0ZG93bihzdHJ1Y3QgbmJkX2RldmljZSAqbmJkKVxcbmRyaXZlcnMvYmxvY2svbmJkLmMtNDIxLXtcXG4tLVxcbmRyaXZlcnMvYmxvY2svbmJkLmM9NDU4PXN0YXRpYyBzdHJ1Y3QgbmJkX2NvbmZpZyAqbmJkX2dldF9jb25maWdfdW5sb2NrZWQoc3RydWN0IG5iZF9kZXZpY2UgKm5iZClcXG4tLVxcbmRyaXZlcnMvYmxvY2svbmJkLmMtNDczLVxcbmRyaXZlcnMvYmxvY2svbmJkLmM6NDc0OnN0YXRpYyBlbnVtIGJsa19laF90aW1lcl9yZXR1cm4gbmJkX3htaXRfdGltZW91dChzdHJ1Y3QgcmVxdWVzdCAqcmVxKVxcbmRyaXZlcnMvYmxvY2svbmJkLmMtNDc1LXtcXG4tLVxcbmRyaXZlcnMvYmxvY2svbmJkLmM9NjY5PXN0YXRpYyBibGtfc3RhdHVzX3QgbmJkX3NlbmRfY21kKHN0cnVjdCBuYmRfZGV2aWNlICpuYmQsIHN0cnVjdCBuYmRfY21kICpjbWQsXFxuLS1cXG5kcml2ZXJzL2Jsb2NrL25iZC5jLTgzMS0vKiBoYW5kbGUgcGFydGlhbCBzZW5kaW5nICovXFxuZHJpdmVycy9ibG9jay9uYmQuYzo4MzI6c3RhdGljIHZvaWQgbmJkX3BlbmRpbmdfY21kX3dvcmsoc3RydWN0IHdvcmtfc3RydWN0ICp3b3JrKVxcbmRyaXZlcnMvYmxvY2svbmJkLmMtODMzLXtcXG4tLVxcbmRyaXZlcnMvYmxvY2svbmJkLmM9ODk3PXN0YXRpYyBzdHJ1Y3QgbmJkX2NtZCAqbmJkX2hhbmRsZV9yZXBseShzdHJ1Y3QgbmJkX2RldmljZSAqbmJkLCBpbnQgaW5kZXgsXFxuLS1cXG5kcml2ZXJzL2Jsb2NrL25iZC5jLTk5NC1cXG5kcml2ZXJzL2Jsb2NrL25iZC5jOjk5NTpzdGF0aWMgdm9pZCByZWN2X3dvcmsoc3RydWN0IHdvcmtfc3RydWN0ICp3b3JrKVxcbmRyaXZlcnMvYmxvY2svbmJkLmMtOTk2LXtcXG4tLVxcbmRyaXZlcnMvYmxvY2svbmJkLmM9MTEyNz1zdGF0aWMgaW50IHdhaXRfZm9yX3JlY29ubmVjdChzdHJ1Y3QgbmJkX2RldmljZSAqbmJkKVxcbi0tXFxuZHJpdmVycy9ibG9jay9uYmQuYy0xMTQyLVxcbmRyaXZlcnMvYmxvY2svbmJkLmM6MTE0MzpzdGF0aWMgYmxrX3N0YXR1c190IG5iZF9oYW5kbGVfY21kKHN0cnVjdCBuYmRfY21kICpjbWQsIGludCBpbmRleClcXG5kcml2ZXJzL2Jsb2NrL25iZC5jLTExNDQte1xcbi0tXFxuZHJpdmVycy9ibG9jay9uYmQuYz0xMzA0PXN0YXRpYyBpbnQgbmJkX2FkZF9zb2NrZXQoc3RydWN0IG5iZF9kZXZpY2UgKm5iZCwgdW5zaWduZWQgbG9uZyBhcmcsXFxuLS1cXG5kcml2ZXJzL2Jsb2NrL25iZC5jLTEzNzYtXFxuZHJpdmVycy9ibG9jay9uYmQuYzoxMzc3OnN0YXRpYyBpbnQgbmJkX3JlY29ubmVjdF9zb2NrZXQoc3RydWN0IG5iZF9kZXZpY2UgKm5iZCwgdW5zaWduZWQgbG9uZyBhcmcpXFxuZHJpdmVycy9ibG9jay9uYmQuYy0xMzc4LXtcXG5cIlxufSIsIkluc3RydWN0aW9uIjoiIiwiUHJvbXB0IjoiIiwiUmVwbHkiOiIiLCJUaG91Z2h0cyI6IiIsIklucHV0VG9rZW5zIjowLCJPdXRwdXRUb2tlbnMiOjAsIk91dHB1dFRob3VnaHRzVG9rZW5zIjowLCJUb29sQ2FsbHMiOm51bGx9LHsiU3RhcnRlZCI6IjIwMjYtMDYtMjlUMDI6Mzc6NDcuOTk1NTM5ODFaIiwiU2VxIjo3LCJOZXN0aW5nIjoyLCJUeXBlIjoibGxtIiwiTmFtZSI6InBhdGNoLWV2YWx1YXRvciIsIk1vZGVsIjoiZ2VtaW5pLTMuMS1wcm8tcHJldmlldyIsIkR1cmF0aW9uIjo1NjA2NjY5MjI3LCJFcnJvciI6IiIsIkFyZ3MiOiJudWxsIiwiUmVzdWx0cyI6Im51bGwiLCJJbnN0cnVjdGlvbiI6IiIsIlByb21wdCI6IiIsIlJlcGx5IjoiIiwiVGhvdWdodHMiOiIqKkFuYWx5emluZyBhIEtleSBOQkQgRml4KipcblxuT2theSwgc28gSSdtIGxvb2tpbmcgYXQgYSBwYXRjaCBoZXJlIHRoYXQncyBwcmV0dHkgY3J1Y2lhbCBmb3IgdGhlIE5CRCBkcml2ZXIsIHNwZWNpZmljYWxseSBkZWFsaW5nIHdpdGggYSBjaXJjdWxhciBsb2NrIGRlcGVuZGVuY3kuIFRoaXMgaXMgYSBmdW5jdGlvbmFsIGNoYW5nZSwgbm90IGp1c3QgYSBjb3NtZXRpYyBvbmUsIGluIHRoZSBibG9jayBkcml2ZXIgaXRzZWxmIOKAkyB0aGF0J3MgZGVmaW5pdGVseSB3b3J0aCBteSBhdHRlbnRpb24uIFRoZXkncmUgZGVmZXJyaW5nIHRoZSBzb2NrZXQgc2h1dGRvd24gdG8gcmVzb2x2ZSB0aGlzIGRlcGVuZGVuY3ksIHdoaWNoIHRlbGxzIG1lIHRoZSBjb3JlIG9mIHRoZSBwcm9ibGVtIGxpZXMgd2l0aGluIGhvdyBOQkQgbWFuYWdlcyBjb25uZWN0aW9ucyBhbmQgaGFuZGxlcyBlcnJvcnMsIGVzcGVjaWFsbHkgZHVyaW5nIHRyYW5zbWlzc2lvbi5cblxuU2luY2UgdGhpcyB0b3VjaGVzIGNvbm5lY3Rpb24gbWFuYWdlbWVudCBhbmQgZXJyb3IgaGFuZGxpbmcsIEkgbmVlZCB0byBjaGVjayB0aGUgZXhhY3QgY29kZSBpbnZvbHZlZCBhbmQgc2VlIGhvdyB0aGV5IGFyZSBkZWZlcnJpbmcgdGhlIHNodXRkb3duLlxuXG5UaGUgXCJXb3J0aEZ1enppbmc6IHRydWVcIiBmbGFnIGlzIGEgZ29vZCBpbmRpY2F0b3IgdGhhdCBJIHNob3VsZCBpbnZlc3RpZ2F0ZSBpdCBmdXJ0aGVyLlxuXG5UaGUgc3VnZ2VzdGVkIGZvY3VzIHN5bWJvbHMgYXJlIHNwb3Qgb246IGBuYmRfbnNvY2tfZGVmZXJyZWRfc2h1dGRvd25gLCBgbmJkX21hcmtfbnNvY2tfZGVhZGAsIGBzb2NrX3NodXRkb3duYCDigJMgdGhlc2UgYXJlIHRoZSBjcml0aWNhbCBmdW5jdGlvbnMuIEkgYWxzbyBuZWVkIHRvIHVuZGVyc3RhbmQgaG93IGBuYmRfeG1pdF90aW1lb3V0YCwgYG5iZF9wZW5kaW5nX2NtZF93b3JrYCwgYHJlY3Zfd29ya2AsIGBuYmRfaGFuZGxlX2NtZGAsIGFuZCBgbmJkX3JlY29ubmVjdF9zb2NrZXRgIGludGVyYWN0IHdpdGggdGhpcyBkZWZlcnJlZCBzaHV0ZG93biB0byBjb21wbGV0ZWx5IGdyYXNwIHRoZSBmaXgncyBpbXBsaWNhdGlvbnMuIFRoZXNlIGFyZSBkZWZpbml0ZWx5IGFyZWFzIHdoZXJlIHRoZSBidWcgd2lsbCBtYW5pZmVzdCBvciBjb3VsZCBpbnRlcmFjdCB3aXRoIHRoZSBmaXgsIHBvdGVudGlhbGx5IGludHJvZHVjaW5nIG5ldyBwcm9ibGVtcy5cblxuRmluYWxseSwgdGhlIGBFbmFibGVDb25maWdzOiBCTEtfREVWX05CRGAgY29uZmlybXMgdGhpcyBpcyBOQkQtc3BlY2lmaWMgYW5kIHByb3ZpZGVzIGEgZ29vZCBzdGFydGluZyBwb2ludCBmb3IgdGVzdGluZyBhbmQgcmVwcm9kdWNpYmlsaXR5LiBJIG5lZWQgdG8gbWFrZSBzdXJlIHRoaXMgZml4IGRvZXNuJ3QgaW50cm9kdWNlIGFueSByZWdyZXNzaW9ucyBvciByYWNlIGNvbmRpdGlvbnMsIGFuZCB0aG9yb3VnaGx5IHRlc3RpbmcgY29ubmVjdGlvbiB0ZWFyZG93biBhbmQgZXJyb3IgaGFuZGxpbmcgc2NlbmFyaW9zIHdpbGwgYmUgcGFyYW1vdW50IHRvIGl0cyBlZmZlY3RpdmVuZXNzLlxuXG5cbiIsIklucHV0VG9rZW5zIjo0ODk1LCJPdXRwdXRUb2tlbnMiOjE2NSwiT3V0cHV0VGhvdWdodHNUb2tlbnMiOjE3NSwiVG9vbENhbGxzIjpbImdyZXBwZXIiXX0seyJTdGFydGVkIjoiMjAyNi0wNi0yOVQwMjozNzo1My42MDIyMTE4NzdaIiwiU2VxIjo4LCJOZXN0aW5nIjoyLCJUeXBlIjoidG9vbCIsIk5hbWUiOiJzZXQtcmVzdWx0cyIsIk1vZGVsIjoiIiwiRHVyYXRpb24iOjk3OTQzODcxLCJFcnJvciI6IiIsIkFyZ3MiOiJ7XG4gIFwiRW5hYmxlQ29uZmlnc1wiOiBbXG4gICAgXCJCTEtfREVWX05CRFwiXG4gIF0sXG4gIFwiRm9jdXNTeW1ib2xzXCI6IFtcbiAgICBcIm5iZF9uc29ja19kZWZlcnJlZF9zaHV0ZG93blwiLFxuICAgIFwibmJkX21hcmtfbnNvY2tfZGVhZFwiLFxuICAgIFwic29ja19zaHV0ZG93blwiLFxuICAgIFwibmJkX3htaXRfdGltZW91dFwiLFxuICAgIFwibmJkX3BlbmRpbmdfY21kX3dvcmtcIixcbiAgICBcInJlY3Zfd29ya1wiLFxuICAgIFwibmJkX2hhbmRsZV9jbWRcIixcbiAgICBcIm5iZF9yZWNvbm5lY3Rfc29ja2V0XCJcbiAgXSxcbiAgXCJSZWFzb25pbmdcIjogXCJUaGUgcGF0Y2ggZml4ZXMgYSBjaXJjdWxhciBsb2NrIGRlcGVuZGVuY3kgaW4gdGhlIG5ldHdvcmsgYmxvY2sgZGV2aWNlIChOQkQpIGRyaXZlciBieSBkZWZlcnJpbmcgc29ja2V0IHNodXRkb3duIG91dHNpZGUgb2YgdGhlIGB0eF9sb2NrYC4gVGhpcyBtb2RpZmllcyB0aGUgY29yZSBjb25uZWN0aW9uIG1hbmFnZW1lbnQgYW5kIGVycm9yIGhhbmRsaW5nIGxvZ2ljIG9mIE5CRCwgd2hpY2ggaXMgcmVhY2hhYmxlIGFuZCBmdW5jdGlvbmFsIGNvZGUuXCIsXG4gIFwiV29ydGhGdXp6aW5nXCI6IHRydWVcbn0iLCJSZXN1bHRzIjoie1xuICBcIkVuYWJsZUNvbmZpZ3NcIjogW1xuICAgIFwiQkxLX0RFVl9OQkRcIlxuICBdLFxuICBcIkZvY3VzU3ltYm9sc1wiOiBbXG4gICAgXCJuYmRfbnNvY2tfZGVmZXJyZWRfc2h1dGRvd25cIixcbiAgICBcIm5iZF9tYXJrX25zb2NrX2RlYWRcIixcbiAgICBcInNvY2tfc2h1dGRvd25cIixcbiAgICBcIm5iZF94bWl0X3RpbWVvdXRcIixcbiAgICBcIm5iZF9wZW5kaW5nX2NtZF93b3JrXCIsXG4gICAgXCJyZWN2X3dvcmtcIixcbiAgICBcIm5iZF9oYW5kbGVfY21kXCIsXG4gICAgXCJuYmRfcmVjb25uZWN0X3NvY2tldFwiXG4gIF0sXG4gIFwiUmVhc29uaW5nXCI6IFwiVGhlIHBhdGNoIGZpeGVzIGEgY2lyY3VsYXIgbG9jayBkZXBlbmRlbmN5IGluIHRoZSBuZXR3b3JrIGJsb2NrIGRldmljZSAoTkJEKSBkcml2ZXIgYnkgZGVmZXJyaW5nIHNvY2tldCBzaHV0ZG93biBvdXRzaWRlIG9mIHRoZSBgdHhfbG9ja2AuIFRoaXMgbW9kaWZpZXMgdGhlIGNvcmUgY29ubmVjdGlvbiBtYW5hZ2VtZW50IGFuZCBlcnJvciBoYW5kbGluZyBsb2dpYyBvZiBOQkQsIHdoaWNoIGlzIHJlYWNoYWJsZSBhbmQgZnVuY3Rpb25hbCBjb2RlLlwiLFxuICBcIldvcnRoRnV6emluZ1wiOiB0cnVlXG59IiwiSW5zdHJ1Y3Rpb24iOiIiLCJQcm9tcHQiOiIiLCJSZXBseSI6IiIsIlRob3VnaHRzIjoiIiwiSW5wdXRUb2tlbnMiOjAsIk91dHB1dFRva2VucyI6MCwiT3V0cHV0VGhvdWdodHNUb2tlbnMiOjAsIlRvb2xDYWxscyI6bnVsbH1dOwoJCQlpZiAoIXJhd0RhdGEgfHwgcmF3RGF0YS5sZW5ndGggPT09IDApIHJldHVybjsKCgkJCWRyYXdTdW1tYXJ5VGFibGVzKHJhd0RhdGEpOwoJCQlkcmF3RHVyYXRpb25DaGFydChyYXdEYXRhKTsKCQkJZHJhd1Rva2VuQ29uc3VtcHRpb25DaGFydChyYXdEYXRhKTsKCQl9CgoJCWZ1bmN0aW9uIGRyYXdTdW1tYXJ5VGFibGVzKHJhd0RhdGEpIHsKCQkJY29uc3Qgc3RhdHMgPSB7CgkJCQlsbG06IHsgY291bnQ6IDAsIHRva2VuczogMCwgZHVyYXRpb246IDAgfSwKCQkJCXRvb2w6IHsgY291bnQ6IDAsIGR1cmF0aW9uOiAwIH0KCQkJfTsKCgkJCXJhd0RhdGEuZm9yRWFjaChzID0+IHsKCQkJCWNvbnN0IGR1ciA9IHMuRHVyYXRpb24gLyAxMDAwMDAwMDAwOyAKCQkJCWlmIChzLlR5cGUgPT09ICJsbG0iKSB7CgkJCQkJc3RhdHMubGxtLmNvdW50Kys7CgkJCQkJc3RhdHMubGxtLnRva2VucyArPSAocy5JbnB1dFRva2VucyArIHMuT3V0cHV0VG9rZW5zICsgcy5PdXRwdXRUaG91Z2h0c1Rva2Vucyk7CgkJCQkJc3RhdHMubGxtLmR1cmF0aW9uICs9IGR1cjsKCQkJCX0gZWxzZSBpZiAocy5UeXBlID09PSAidG9vbCIpIHsKCQkJCQlzdGF0cy50b29sLmNvdW50Kys7CgkJCQkJc3RhdHMudG9vbC5kdXJhdGlvbiArPSBkdXI7CgkJCQl9CgkJCX0pOwoKCQkJY29uc3QgYXZnTGxtRHVyID0gc3RhdHMubGxtLmNvdW50ID4gMCA/IChzdGF0cy5sbG0uZHVyYXRpb24gLyBzdGF0cy5sbG0uY291bnQpLnRvRml4ZWQoMikgOiAwOwoJCQljb25zdCBhdmdMbG1Ub2tlbiA9IHN0YXRzLmxsbS5jb3VudCA+IDAgPyAoc3RhdHMubGxtLnRva2VucyAvIHN0YXRzLmxsbS5jb3VudCkudG9GaXhlZCgyKSA6IDA7CgkJCWNvbnN0IGF2Z1Rvb2xEdXIgPSBzdGF0cy50b29sLmNvdW50ID4gMCA/IChzdGF0cy50b29sLmR1cmF0aW9uIC8gc3RhdHMudG9vbC5jb3VudCkudG9GaXhlZCgyKSA6IDA7CgoJCQljb25zdCBsbG1TdW1hcnlDZWxscyA9IFtzdGF0cy5sbG0uY291bnQsIHN0YXRzLmxsbS50b2tlbnMsIGF2Z0xsbVRva2VuLCBzdGF0cy5sbG0uZHVyYXRpb24sIGF2Z0xsbUR1cl07CgkJCWNvbnN0IHRvb2xTdW1tYXJ5Q2VsbHMgPSBbc3RhdHMudG9vbC5jb3VudCwgc3RhdHMudG9vbC5kdXJhdGlvbiwgYXZnVG9vbER1cl07CgoJCQljb25zdCBsbG1TdW1tYXJ5Qm9keSA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdsbG1fc3VtbWFyeV9zdGF0c19ib2R5Jyk7CgkJCWxsbVN1bW1hcnlCb2R5LmlubmVySFRNTCA9ICIiOwoJCQljb25zdCBsbG1UciA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3RyJyk7CgkJCWxsbVN1bWFyeUNlbGxzLmZvckVhY2goY2VsbCA9PiB7CgkJCQljb25zdCB0ZCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3RkJyk7CgkJCQl0ZC50ZXh0Q29udGVudCA9IGNlbGw7CgkJCQlsbG1Uci5hcHBlbmRDaGlsZCh0ZCk7CgkJCX0pOwoJCQlsbG1TdW1tYXJ5Qm9keS5hcHBlbmRDaGlsZChsbG1Ucik7CgoJCQljb25zdCB0b29sU3VtbWFyeUJvZHkgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgndG9vbF9zdW1tYXJ5X3N0YXRzX2JvZHknKTsKCQkJdG9vbFN1bW1hcnlCb2R5LmlubmVySFRNTCA9ICIiOwoJCQljb25zdCB0b29sVHIgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCd0cicpOwoJCQl0b29sU3VtbWFyeUNlbGxzLmZvckVhY2goY2VsbCA9PiB7CgkJCQljb25zdCB0ZCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3RkJyk7CgkJCQl0ZC50ZXh0Q29udGVudCA9IGNlbGw7CgkJCQl0b29sVHIuYXBwZW5kQ2hpbGQodGQpOwoJCQl9KTsKCQkJdG9vbFN1bW1hcnlCb2R5LmFwcGVuZENoaWxkKHRvb2xUcik7CgkJfQoKCQlmdW5jdGlvbiBkcmF3RHVyYXRpb25DaGFydChyYXdEYXRhKSB7CgkJCWNvbnN0IGZpbHRlcmVkU3RlcHMgPSByYXdEYXRhLmZpbHRlcihkID0+IFsibGxtIiwgInRvb2wiXS5pbmNsdWRlcyhkLlR5cGUpKTsKCQkJY29uc3QgZGF0YSA9IG5ldyBnb29nbGUudmlzdWFsaXphdGlvbi5EYXRhVGFibGUoKTsKCQkJZGF0YS5hZGRDb2x1bW4oJ3N0cmluZycsICdTdGVwJyk7CgkJCWRhdGEuYWRkQ29sdW1uKCdudW1iZXInLCAnRHVyYXRpb24nKTsKCQkJZGF0YS5hZGRDb2x1bW4oe3R5cGU6ICdzdHJpbmcnLCByb2xlOiAndG9vbHRpcCd9KTsgCgoJCQlmaWx0ZXJlZFN0ZXBzLmZvckVhY2gocyA9PiB7CgkJCQkKCQkJCWNvbnN0IGR1ciA9IHMuRHVyYXRpb24gLyAxMDAwMDAwMDAwOwoJCQkJbGV0IHRvb2x0aXAgPSBzLk5hbWU7CgkJCQlpZiAocy5UeXBlID09PSAibGxtIiAmJiBzLlRvb2xDYWxscyAmJiBzLlRvb2xDYWxscy5sZW5ndGggPiAwKSB7CgkJCQkJdG9vbHRpcCArPSBgXG5Ub29sczogJHtzLlRvb2xDYWxscy5qb2luKCcsICcpfWA7CgkJCQl9CgkJCQlkYXRhLmFkZFJvdyhbYCR7cy5TZXF9YCwgZHVyLCB0b29sdGlwXSk7CgkJCX0pOwoKCQkJY29uc3Qgb3B0aW9ucyA9IHsKCQkJCXRpdGxlOiAnVGltZSBDb25zdW1wdGlvbiBvZiBMTE0vVG9vbCBDYWxscycsCgkJCQloQXhpczogewoJCQkJCXRpdGxlOiAnTExNL1Rvb2wgU3RlcHMnLAoJCQkJfSwKCQkJCXZBeGlzOiB7IHRpdGxlOiAnU2Vjb25kcycgfSwKCQkJCWxlZ2VuZDogeyBwb3NpdGlvbjogJ25vbmUnIH0sCgkJCQliYXI6IHsgZ3JvdXBXaWR0aDogJzc1JScgfSwKCQkJCWNoYXJ0QXJlYTogeyB3aWR0aDogJzg1JScsIGhlaWdodDogJzcwJScgfSwKCQkJCWhlaWdodDogNDAwCgkJCX07CgoJCQljb25zdCBjaGFydCA9IG5ldyBnb29nbGUudmlzdWFsaXphdGlvbi5Db2x1bW5DaGFydChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnZHVyYXRpb25fY2hhcnRfZGl2JykpOwoJCQljaGFydC5kcmF3KGRhdGEsIG9wdGlvbnMpOwoJCX0KCgkJZnVuY3Rpb24gZHJhd1Rva2VuQ29uc3VtcHRpb25DaGFydChyYXdEYXRhKSB7CgkJCWNvbnN0IGxsbVN0ZXBzID0gcmF3RGF0YS5maWx0ZXIoZCA9PiBkLlR5cGUgPT09ICJsbG0iKTsKCQkJaWYgKGxsbVN0ZXBzLmxlbmd0aCA9PT0gMCkgcmV0dXJuOwoKCQkJY29uc3QgZGF0YSA9IG5ldyBnb29nbGUudmlzdWFsaXphdGlvbi5EYXRhVGFibGUoKTsKCQkJZGF0YS5hZGRDb2x1bW4oJ3N0cmluZycsICdTdGVwJyk7CQkJCgkJCWRhdGEuYWRkQ29sdW1uKCdudW1iZXInLCAnVG9rZW5zJyk7CQkJCgkJCWRhdGEuYWRkQ29sdW1uKHt0eXBlOiAnc3RyaW5nJywgcm9sZTogJ3N0eWxlJ30pOwkKCQkJZGF0YS5hZGRDb2x1bW4oe3R5cGU6ICdzdHJpbmcnLCByb2xlOiAndG9vbHRpcCd9KTsJCgoJCQljb25zdCBhZ2VudENvbG9ycyA9IHt9OwoJCQljb25zdCBwYWxldHRlID0gWycjNDI4NUY0JywgJyNEQjQ0MzcnLCAnI0Y0QjQwMCcsICcjMEY5RDU4JywgJyNBQjQ3QkMnLCAnIzAwQUNDMSddOwoJCQlsZXQgY29sb3JJZHggPSAwOwoJCQljb25zdCBhZ2VudExMTUNvdW50cyA9IHt9OwoJCQlsbG1TdGVwcy5mb3JFYWNoKHMgPT4gewoJCQkJaWYgKCFhZ2VudENvbG9yc1tzLk5hbWVdKSB7CgkJCQkJYWdlbnRDb2xvcnNbcy5OYW1lXSA9IHBhbGV0dGVbY29sb3JJZHggJSBwYWxldHRlLmxlbmd0aF07CgkJCQkJY29sb3JJZHgrKzsKCQkJCX0KCgkJCQlhZ2VudExMTUNvdW50c1tzLk5hbWVdID0gKGFnZW50TExNQ291bnRzW3MuTmFtZV0gfHwgMCkgKyAxOwoJCQkJY29uc3QgbGFiZWwgPSBgJHtzLk5hbWV9LSR7YWdlbnRMTE1Db3VudHNbcy5OYW1lXX1gOwoJCQkJY29uc3QgdG90YWxUb2tlbnMgPSBzLklucHV0VG9rZW5zICsgcy5PdXRwdXRUb2tlbnMgKyBzLk91dHB1dFRob3VnaHRzVG9rZW5zOwoJCQkJY29uc3Qgc3R5bGUgPSBgY29sb3I6ICR7YWdlbnRDb2xvcnNbcy5OYW1lXX1gOwoJCQkJbGV0IHRvb2x0aXAgPSBgVG90YWwgVG9rZW5zOiAke3RvdGFsVG9rZW5zfVxuKEluOiAke3MuSW5wdXRUb2tlbnN9LCBPdXQ6ICR7cy5PdXRwdXRUb2tlbnN9LCBUaG91Z2h0czogJHtzLk91dHB1dFRob3VnaHRzVG9rZW5zfSlgOwoJCQkJaWYgKHMuVG9vbENhbGxzICYmIHMuVG9vbENhbGxzLmxlbmd0aCA+IDApIHsKCQkJCQl0b29sdGlwICs9IGBcblRvb2xzOiAke3MuVG9vbENhbGxzLmpvaW4oJywgJyl9YDsKCQkJCX0KCgkJCQlkYXRhLmFkZFJvdyhbbGFiZWwsIHRvdGFsVG9rZW5zLCBzdHlsZSwgdG9vbHRpcF0pOwoJCQl9KTsKCgkJCWNvbnN0IG9wdGlvbnMgPSB7CgkJCQl0aXRsZTogJ1Rva2VuIENvbnN1bXB0aW9uIGJ5IExMTSBDYWxscycsCgkJCQloQXhpczogewoJCQkJCXRpdGxlOiAnTExNIENhbGwgU2VxdWVuY2UnLAoJCQkJfSwKCQkJCXZBeGlzOiB7IHRpdGxlOiAnQ29uc3VtZWQgVG9rZW5zJyB9LAoJCQkJbGVnZW5kOiB7IHBvc2l0aW9uOiAnbm9uZScgfSwKCQkJCWJhcjogeyBncm91cFdpZHRoOiAnNzUlJyB9LAoJCQkJY2hhcnRBcmVhOiB7IHdpZHRoOiAnODUlJywgaGVpZ2h0OiAnNzAlJyB9LAoJCQkJaGVpZ2h0OiA0MDAKCQkJfTsKCgkJCWNvbnN0IGNoYXJ0ID0gbmV3IGdvb2dsZS52aXN1YWxpemF0aW9uLkNvbHVtbkNoYXJ0KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCd0b2tlbl9jaGFydF9kaXYnKSk7CgkJCWNoYXJ0LmRyYXcoZGF0YSwgb3B0aW9ucyk7CgkJfQoJCWxldCBhbGxFeHBhbmRlZCA9IGZhbHNlOwoJCWZ1bmN0aW9uIHRvZ2dsZUFsbERldGFpbHMoKSB7CgkJCWFsbEV4cGFuZGVkID0gIWFsbEV4cGFuZGVkOwoJCQlkb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKCdkZXRhaWxzJykuZm9yRWFjaChkID0+IHsKCQkJCWlmIChhbGxFeHBhbmRlZCkgZC5zZXRBdHRyaWJ1dGUoJ29wZW4nLCAnJyk7CgkJCQllbHNlIGQucmVtb3ZlQXR0cmlidXRlKCdvcGVuJyk7CgkJCX0pOwoJCX0KCTwvc2NyaXB0PgoKCjwvYm9keT4KPC9odG1sPgo=" },ValueFrom:&ValueFrom{Path:/output/result.json,JSONPath:,JQFilter:,Parameter:,Default:nil,Supplied:nil,Event:,Expression:,ConfigMapKeyRef:nil,},GlobalName:,Enum:[],Description:nil,},},Artifacts:[]Artifact{},Result:nil,ExitCode:*0,} --------- Name: series-workflowfs2tm[1] Phase: Succeeded StartedAt: 2026-06-29 02:38:05 +0000 UTC FinishedAt: 2026-06-29 02:38:05 +0000 UTC Input: nil Output: nil --------- Name: series-workflowfs2tm[1].abort-on-skip-outcome Phase: Skipped StartedAt: 2026-06-29 02:38:05 +0000 UTC FinishedAt: 2026-06-29 02:38:05 +0000 UTC Input: nil Output: nil --------- Name: series-workflowfs2tm[2] Phase: Succeeded StartedAt: 2026-06-29 02:38:05 +0000 UTC FinishedAt: 2026-06-29 06:35:23 +0000 UTC Input: nil Output: nil --------- Name: series-workflowfs2tm[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"dc59e4fea9d83f03bad6bddf3fa2e52491777482","config_name":"upstream-apparmor-kasan.config","enable_configs":["BLK_DEV_NBD"],"series_id":"","tree_name":"torvalds","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/torvalds/linux"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci2-upstream-fs-corpus.db"],"focus":["fs"],"focus_symbols":["nbd_nsock_deferred_shutdown","nbd_mark_nsock_dead","sock_shutdown","nbd_xmit_timeout","nbd_pending_cmd_work","recv_work","nbd_handle_cmd","nbd_reconnect_socket"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"dc59e4fea9d83f03bad6bddf3fa2e52491777482","config_name":"upstream-apparmor-kasan.config","enable_configs":["BLK_DEV_NBD"],"series_id":"7690d55f-5137-4574-b9ad-84b64cdc8cde","tree_name":"torvalds","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/torvalds/linux"},retest:null,track:KASAN) Phase: Succeeded StartedAt: 2026-06-29 02:38:05 +0000 UTC FinishedAt: 2026-06-29 06:35:23 +0000 UTC Input: &Inputs{Parameters:[]Parameter{Parameter{Name:element,Default:nil,Value:*{"base":{"arch":"amd64","commit_hash":"dc59e4fea9d83f03bad6bddf3fa2e52491777482","config_name":"upstream-apparmor-kasan.config","enable_configs":["BLK_DEV_NBD"],"series_id":"","tree_name":"torvalds","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/torvalds/linux"},"fuzz":{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci2-upstream-fs-corpus.db"],"focus":["fs"],"focus_symbols":["nbd_nsock_deferred_shutdown","nbd_mark_nsock_dead","sock_shutdown","nbd_xmit_timeout","nbd_pending_cmd_work","recv_work","nbd_handle_cmd","nbd_reconnect_socket"],"skip_cover_check":false},"patched":{"arch":"amd64","commit_hash":"dc59e4fea9d83f03bad6bddf3fa2e52491777482","config_name":"upstream-apparmor-kasan.config","enable_configs":["BLK_DEV_NBD"],"series_id":"7690d55f-5137-4574-b9ad-84b64cdc8cde","tree_name":"torvalds","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/torvalds/linux"},"retest":null,"track":"KASAN"},ValueFrom:nil,GlobalName:,Enum:[],Description:nil,},},Artifacts:[]Artifact{},} Output: nil --------- Name: series-workflowfs2tm[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"dc59e4fea9d83f03bad6bddf3fa2e52491777482","config_name":"upstream-apparmor-kasan.config","enable_configs":["BLK_DEV_NBD"],"series_id":"","tree_name":"torvalds","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/torvalds/linux"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci2-upstream-fs-corpus.db"],"focus":["fs"],"focus_symbols":["nbd_nsock_deferred_shutdown","nbd_mark_nsock_dead","sock_shutdown","nbd_xmit_timeout","nbd_pending_cmd_work","recv_work","nbd_handle_cmd","nbd_reconnect_socket"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"dc59e4fea9d83f03bad6bddf3fa2e52491777482","config_name":"upstream-apparmor-kasan.config","enable_configs":["BLK_DEV_NBD"],"series_id":"7690d55f-5137-4574-b9ad-84b64cdc8cde","tree_name":"torvalds","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/torvalds/linux"},retest:null,track:KASAN)[0] Phase: Succeeded StartedAt: 2026-06-29 02:38:05 +0000 UTC FinishedAt: 2026-06-29 02:38:15 +0000 UTC Input: nil Output: nil --------- Name: series-workflowfs2tm[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"dc59e4fea9d83f03bad6bddf3fa2e52491777482","config_name":"upstream-apparmor-kasan.config","enable_configs":["BLK_DEV_NBD"],"series_id":"","tree_name":"torvalds","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/torvalds/linux"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci2-upstream-fs-corpus.db"],"focus":["fs"],"focus_symbols":["nbd_nsock_deferred_shutdown","nbd_mark_nsock_dead","sock_shutdown","nbd_xmit_timeout","nbd_pending_cmd_work","recv_work","nbd_handle_cmd","nbd_reconnect_socket"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"dc59e4fea9d83f03bad6bddf3fa2e52491777482","config_name":"upstream-apparmor-kasan.config","enable_configs":["BLK_DEV_NBD"],"series_id":"7690d55f-5137-4574-b9ad-84b64cdc8cde","tree_name":"torvalds","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/torvalds/linux"},retest:null,track:KASAN)[0].save-base-req Phase: Succeeded StartedAt: 2026-06-29 02:38:05 +0000 UTC FinishedAt: 2026-06-29 02:38:12 +0000 UTC Input: &Inputs{Parameters:[]Parameter{Parameter{Name:data,Default:nil,Value:*{"arch":"amd64","commit_hash":"dc59e4fea9d83f03bad6bddf3fa2e52491777482","config_name":"upstream-apparmor-kasan.config","enable_configs":["BLK_DEV_NBD"],"series_id":"","tree_name":"torvalds","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/torvalds/linux"},ValueFrom:nil,GlobalName:,Enum:[],Description:nil,},},Artifacts:[]Artifact{},} Output: &Outputs{Parameters:[]Parameter{},Artifacts:[]Artifact{Artifact{Name:artifact,Path:/tmp/artifact,Mode:nil,From:,ArtifactLocation:ArtifactLocation{ArchiveLogs:nil,S3:nil,Git:nil,HTTP:nil,Artifactory:nil,HDFS:nil,Raw:nil,OSS:nil,GCS:&GCSArtifact{GCSBucket:GCSBucket{Bucket:,ServiceAccountKeySecret:nil,},Key:series-workflowfs2tm/series-workflowfs2tm-convert-artifact-1603317099/artifact.tgz,},Azure:nil,},GlobalName:,Archive:nil,Optional:false,SubPath:,RecurseMode:false,FromExpression:,ArtifactGC:nil,Deleted:false,},},Result:nil,ExitCode:*0,} --------- Name: series-workflowfs2tm[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"dc59e4fea9d83f03bad6bddf3fa2e52491777482","config_name":"upstream-apparmor-kasan.config","enable_configs":["BLK_DEV_NBD"],"series_id":"","tree_name":"torvalds","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/torvalds/linux"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci2-upstream-fs-corpus.db"],"focus":["fs"],"focus_symbols":["nbd_nsock_deferred_shutdown","nbd_mark_nsock_dead","sock_shutdown","nbd_xmit_timeout","nbd_pending_cmd_work","recv_work","nbd_handle_cmd","nbd_reconnect_socket"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"dc59e4fea9d83f03bad6bddf3fa2e52491777482","config_name":"upstream-apparmor-kasan.config","enable_configs":["BLK_DEV_NBD"],"series_id":"7690d55f-5137-4574-b9ad-84b64cdc8cde","tree_name":"torvalds","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/torvalds/linux"},retest:null,track:KASAN)[1] Phase: Succeeded StartedAt: 2026-06-29 02:38:15 +0000 UTC FinishedAt: 2026-06-29 03:00:34 +0000 UTC Input: nil Output: nil --------- Name: series-workflowfs2tm[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"dc59e4fea9d83f03bad6bddf3fa2e52491777482","config_name":"upstream-apparmor-kasan.config","enable_configs":["BLK_DEV_NBD"],"series_id":"","tree_name":"torvalds","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/torvalds/linux"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci2-upstream-fs-corpus.db"],"focus":["fs"],"focus_symbols":["nbd_nsock_deferred_shutdown","nbd_mark_nsock_dead","sock_shutdown","nbd_xmit_timeout","nbd_pending_cmd_work","recv_work","nbd_handle_cmd","nbd_reconnect_socket"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"dc59e4fea9d83f03bad6bddf3fa2e52491777482","config_name":"upstream-apparmor-kasan.config","enable_configs":["BLK_DEV_NBD"],"series_id":"7690d55f-5137-4574-b9ad-84b64cdc8cde","tree_name":"torvalds","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/torvalds/linux"},retest:null,track:KASAN)[1].base-build Phase: Succeeded StartedAt: 2026-06-29 02:38:15 +0000 UTC FinishedAt: 2026-06-29 03:00:34 +0000 UTC Input: &Inputs{Parameters:[]Parameter{Parameter{Name:findings,Default:nil,Value:*false,ValueFrom:nil,GlobalName:,Enum:[],Description:nil,},Parameter{Name:test-name,Default:nil,Value:*[KASAN] Build Base,ValueFrom:nil,GlobalName:,Enum:[],Description:nil,},Parameter{Name:smoke-build,Default:nil,Value:*false,ValueFrom:nil,GlobalName:,Enum:[],Description:nil,},Parameter{Name:session-id,Default:nil,Value:*4d4dc3ac-5d5e-405a-954b-646c257a8ccc,ValueFrom:nil,GlobalName:,Enum:[],Description:nil,},},Artifacts:[]Artifact{Artifact{Name:request,Path:/tmp/request.json,Mode:nil,From:,ArtifactLocation:ArtifactLocation{ArchiveLogs:nil,S3:nil,Git:nil,HTTP:nil,Artifactory:nil,HDFS:nil,Raw:nil,OSS:nil,GCS:&GCSArtifact{GCSBucket:GCSBucket{Bucket:,ServiceAccountKeySecret:nil,},Key:series-workflowfs2tm/series-workflowfs2tm-convert-artifact-1603317099/artifact.tgz,},Azure:nil,},GlobalName:,Archive:nil,Optional:false,SubPath:,RecurseMode:false,FromExpression:,ArtifactGC:nil,Deleted:false,},},} Output: &Outputs{Parameters:[]Parameter{Parameter{Name:result,Default:nil,Value:*{ "build_id": "656cac85-f76f-48b1-8508-b3754ac896ca", "success": true },ValueFrom:&ValueFrom{Path:/output/result.json,JSONPath:,JQFilter:,Parameter:,Default:*,Supplied:nil,Event:,Expression:,ConfigMapKeyRef:nil,},GlobalName:,Enum:[],Description:nil,},},Artifacts:[]Artifact{Artifact{Name:kernel,Path:/output,Mode:nil,From:,ArtifactLocation:ArtifactLocation{ArchiveLogs:nil,S3:nil,Git:nil,HTTP:nil,Artifactory:nil,HDFS:nil,Raw:nil,OSS:nil,GCS:&GCSArtifact{GCSBucket:GCSBucket{Bucket:,ServiceAccountKeySecret:nil,},Key:series-workflowfs2tm/series-workflowfs2tm-build-action-649273705/kernel.tgz,},Azure:nil,},GlobalName:,Archive:nil,Optional:true,SubPath:,RecurseMode:false,FromExpression:,ArtifactGC:nil,Deleted:false,},},Result:nil,ExitCode:*0,} --------- Name: series-workflowfs2tm[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"dc59e4fea9d83f03bad6bddf3fa2e52491777482","config_name":"upstream-apparmor-kasan.config","enable_configs":["BLK_DEV_NBD"],"series_id":"","tree_name":"torvalds","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/torvalds/linux"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci2-upstream-fs-corpus.db"],"focus":["fs"],"focus_symbols":["nbd_nsock_deferred_shutdown","nbd_mark_nsock_dead","sock_shutdown","nbd_xmit_timeout","nbd_pending_cmd_work","recv_work","nbd_handle_cmd","nbd_reconnect_socket"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"dc59e4fea9d83f03bad6bddf3fa2e52491777482","config_name":"upstream-apparmor-kasan.config","enable_configs":["BLK_DEV_NBD"],"series_id":"7690d55f-5137-4574-b9ad-84b64cdc8cde","tree_name":"torvalds","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/torvalds/linux"},retest:null,track:KASAN)[1].base-build(0) Phase: Succeeded StartedAt: 2026-06-29 02:38:15 +0000 UTC FinishedAt: 2026-06-29 03:00:24 +0000 UTC Input: &Inputs{Parameters:[]Parameter{Parameter{Name:findings,Default:nil,Value:*false,ValueFrom:nil,GlobalName:,Enum:[],Description:nil,},Parameter{Name:test-name,Default:nil,Value:*[KASAN] Build Base,ValueFrom:nil,GlobalName:,Enum:[],Description:nil,},Parameter{Name:smoke-build,Default:nil,Value:*false,ValueFrom:nil,GlobalName:,Enum:[],Description:nil,},Parameter{Name:session-id,Default:nil,Value:*4d4dc3ac-5d5e-405a-954b-646c257a8ccc,ValueFrom:nil,GlobalName:,Enum:[],Description:nil,},},Artifacts:[]Artifact{Artifact{Name:request,Path:/tmp/request.json,Mode:nil,From:,ArtifactLocation:ArtifactLocation{ArchiveLogs:nil,S3:nil,Git:nil,HTTP:nil,Artifactory:nil,HDFS:nil,Raw:nil,OSS:nil,GCS:&GCSArtifact{GCSBucket:GCSBucket{Bucket:,ServiceAccountKeySecret:nil,},Key:series-workflowfs2tm/series-workflowfs2tm-convert-artifact-1603317099/artifact.tgz,},Azure:nil,},GlobalName:,Archive:nil,Optional:false,SubPath:,RecurseMode:false,FromExpression:,ArtifactGC:nil,Deleted:false,},},} Output: &Outputs{Parameters:[]Parameter{Parameter{Name:result,Default:nil,Value:*{ "build_id": "656cac85-f76f-48b1-8508-b3754ac896ca", "success": true },ValueFrom:&ValueFrom{Path:/output/result.json,JSONPath:,JQFilter:,Parameter:,Default:*,Supplied:nil,Event:,Expression:,ConfigMapKeyRef:nil,},GlobalName:,Enum:[],Description:nil,},},Artifacts:[]Artifact{Artifact{Name:kernel,Path:/output,Mode:nil,From:,ArtifactLocation:ArtifactLocation{ArchiveLogs:nil,S3:nil,Git:nil,HTTP:nil,Artifactory:nil,HDFS:nil,Raw:nil,OSS:nil,GCS:&GCSArtifact{GCSBucket:GCSBucket{Bucket:,ServiceAccountKeySecret:nil,},Key:series-workflowfs2tm/series-workflowfs2tm-build-action-649273705/kernel.tgz,},Azure:nil,},GlobalName:,Archive:nil,Optional:true,SubPath:,RecurseMode:false,FromExpression:,ArtifactGC:nil,Deleted:false,},},Result:nil,ExitCode:*0,} --------- Name: series-workflowfs2tm[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"dc59e4fea9d83f03bad6bddf3fa2e52491777482","config_name":"upstream-apparmor-kasan.config","enable_configs":["BLK_DEV_NBD"],"series_id":"","tree_name":"torvalds","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/torvalds/linux"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci2-upstream-fs-corpus.db"],"focus":["fs"],"focus_symbols":["nbd_nsock_deferred_shutdown","nbd_mark_nsock_dead","sock_shutdown","nbd_xmit_timeout","nbd_pending_cmd_work","recv_work","nbd_handle_cmd","nbd_reconnect_socket"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"dc59e4fea9d83f03bad6bddf3fa2e52491777482","config_name":"upstream-apparmor-kasan.config","enable_configs":["BLK_DEV_NBD"],"series_id":"7690d55f-5137-4574-b9ad-84b64cdc8cde","tree_name":"torvalds","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/torvalds/linux"},retest:null,track:KASAN)[2] Phase: Succeeded StartedAt: 2026-06-29 03:00:34 +0000 UTC FinishedAt: 2026-06-29 03:00:34 +0000 UTC Input: nil Output: nil --------- Name: series-workflowfs2tm[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"dc59e4fea9d83f03bad6bddf3fa2e52491777482","config_name":"upstream-apparmor-kasan.config","enable_configs":["BLK_DEV_NBD"],"series_id":"","tree_name":"torvalds","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/torvalds/linux"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci2-upstream-fs-corpus.db"],"focus":["fs"],"focus_symbols":["nbd_nsock_deferred_shutdown","nbd_mark_nsock_dead","sock_shutdown","nbd_xmit_timeout","nbd_pending_cmd_work","recv_work","nbd_handle_cmd","nbd_reconnect_socket"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"dc59e4fea9d83f03bad6bddf3fa2e52491777482","config_name":"upstream-apparmor-kasan.config","enable_configs":["BLK_DEV_NBD"],"series_id":"7690d55f-5137-4574-b9ad-84b64cdc8cde","tree_name":"torvalds","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/torvalds/linux"},retest:null,track:KASAN)[2].abort-if-base-build-failed Phase: Skipped StartedAt: 2026-06-29 03:00:34 +0000 UTC FinishedAt: 2026-06-29 03:00:34 +0000 UTC Input: nil Output: nil --------- Name: series-workflowfs2tm[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"dc59e4fea9d83f03bad6bddf3fa2e52491777482","config_name":"upstream-apparmor-kasan.config","enable_configs":["BLK_DEV_NBD"],"series_id":"","tree_name":"torvalds","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/torvalds/linux"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci2-upstream-fs-corpus.db"],"focus":["fs"],"focus_symbols":["nbd_nsock_deferred_shutdown","nbd_mark_nsock_dead","sock_shutdown","nbd_xmit_timeout","nbd_pending_cmd_work","recv_work","nbd_handle_cmd","nbd_reconnect_socket"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"dc59e4fea9d83f03bad6bddf3fa2e52491777482","config_name":"upstream-apparmor-kasan.config","enable_configs":["BLK_DEV_NBD"],"series_id":"7690d55f-5137-4574-b9ad-84b64cdc8cde","tree_name":"torvalds","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/torvalds/linux"},retest:null,track:KASAN)[3] Phase: Succeeded StartedAt: 2026-06-29 03:00:34 +0000 UTC FinishedAt: 2026-06-29 03:00:45 +0000 UTC Input: nil Output: nil --------- Name: series-workflowfs2tm[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"dc59e4fea9d83f03bad6bddf3fa2e52491777482","config_name":"upstream-apparmor-kasan.config","enable_configs":["BLK_DEV_NBD"],"series_id":"","tree_name":"torvalds","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/torvalds/linux"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci2-upstream-fs-corpus.db"],"focus":["fs"],"focus_symbols":["nbd_nsock_deferred_shutdown","nbd_mark_nsock_dead","sock_shutdown","nbd_xmit_timeout","nbd_pending_cmd_work","recv_work","nbd_handle_cmd","nbd_reconnect_socket"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"dc59e4fea9d83f03bad6bddf3fa2e52491777482","config_name":"upstream-apparmor-kasan.config","enable_configs":["BLK_DEV_NBD"],"series_id":"7690d55f-5137-4574-b9ad-84b64cdc8cde","tree_name":"torvalds","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/torvalds/linux"},retest:null,track:KASAN)[3].save-patched-req Phase: Succeeded StartedAt: 2026-06-29 03:00:34 +0000 UTC FinishedAt: 2026-06-29 03:00:40 +0000 UTC Input: &Inputs{Parameters:[]Parameter{Parameter{Name:data,Default:nil,Value:*{"arch":"amd64","commit_hash":"dc59e4fea9d83f03bad6bddf3fa2e52491777482","config_name":"upstream-apparmor-kasan.config","enable_configs":["BLK_DEV_NBD"],"series_id":"7690d55f-5137-4574-b9ad-84b64cdc8cde","tree_name":"torvalds","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/torvalds/linux"},ValueFrom:nil,GlobalName:,Enum:[],Description:nil,},},Artifacts:[]Artifact{},} Output: &Outputs{Parameters:[]Parameter{},Artifacts:[]Artifact{Artifact{Name:artifact,Path:/tmp/artifact,Mode:nil,From:,ArtifactLocation:ArtifactLocation{ArchiveLogs:nil,S3:nil,Git:nil,HTTP:nil,Artifactory:nil,HDFS:nil,Raw:nil,OSS:nil,GCS:&GCSArtifact{GCSBucket:GCSBucket{Bucket:,ServiceAccountKeySecret:nil,},Key:series-workflowfs2tm/series-workflowfs2tm-convert-artifact-1148628802/artifact.tgz,},Azure:nil,},GlobalName:,Archive:nil,Optional:false,SubPath:,RecurseMode:false,FromExpression:,ArtifactGC:nil,Deleted:false,},},Result:nil,ExitCode:*0,} --------- Name: series-workflowfs2tm[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"dc59e4fea9d83f03bad6bddf3fa2e52491777482","config_name":"upstream-apparmor-kasan.config","enable_configs":["BLK_DEV_NBD"],"series_id":"","tree_name":"torvalds","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/torvalds/linux"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci2-upstream-fs-corpus.db"],"focus":["fs"],"focus_symbols":["nbd_nsock_deferred_shutdown","nbd_mark_nsock_dead","sock_shutdown","nbd_xmit_timeout","nbd_pending_cmd_work","recv_work","nbd_handle_cmd","nbd_reconnect_socket"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"dc59e4fea9d83f03bad6bddf3fa2e52491777482","config_name":"upstream-apparmor-kasan.config","enable_configs":["BLK_DEV_NBD"],"series_id":"7690d55f-5137-4574-b9ad-84b64cdc8cde","tree_name":"torvalds","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/torvalds/linux"},retest:null,track:KASAN)[4] Phase: Succeeded StartedAt: 2026-06-29 03:00:45 +0000 UTC FinishedAt: 2026-06-29 03:03:47 +0000 UTC Input: nil Output: nil --------- Name: series-workflowfs2tm[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"dc59e4fea9d83f03bad6bddf3fa2e52491777482","config_name":"upstream-apparmor-kasan.config","enable_configs":["BLK_DEV_NBD"],"series_id":"","tree_name":"torvalds","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/torvalds/linux"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci2-upstream-fs-corpus.db"],"focus":["fs"],"focus_symbols":["nbd_nsock_deferred_shutdown","nbd_mark_nsock_dead","sock_shutdown","nbd_xmit_timeout","nbd_pending_cmd_work","recv_work","nbd_handle_cmd","nbd_reconnect_socket"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"dc59e4fea9d83f03bad6bddf3fa2e52491777482","config_name":"upstream-apparmor-kasan.config","enable_configs":["BLK_DEV_NBD"],"series_id":"7690d55f-5137-4574-b9ad-84b64cdc8cde","tree_name":"torvalds","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/torvalds/linux"},retest:null,track:KASAN)[4].boot-test-base Phase: Succeeded StartedAt: 2026-06-29 03:00:45 +0000 UTC FinishedAt: 2026-06-29 03:03:37 +0000 UTC Input: &Inputs{Parameters:[]Parameter{Parameter{Name:base-build-id,Default:nil,Value:*656cac85-f76f-48b1-8508-b3754ac896ca,ValueFrom:nil,GlobalName:,Enum:[],Description:nil,},Parameter{Name:patched-build-id,Default:nil,Value:*,ValueFrom:nil,GlobalName:,Enum:[],Description:nil,},Parameter{Name:test-name,Default:nil,Value:*[KASAN] Boot test: Base,ValueFrom:nil,GlobalName:,Enum:[],Description:nil,},Parameter{Name:report-findings,Default:nil,Value:*false,ValueFrom:nil,GlobalName:,Enum:[],Description:nil,},},Artifacts:[]Artifact{Artifact{Name:kernel,Path:/base,Mode:nil,From:,ArtifactLocation:ArtifactLocation{ArchiveLogs:nil,S3:nil,Git:nil,HTTP:nil,Artifactory:nil,HDFS:nil,Raw:nil,OSS:nil,GCS:&GCSArtifact{GCSBucket:GCSBucket{Bucket:,ServiceAccountKeySecret:nil,},Key:series-workflowfs2tm/series-workflowfs2tm-build-action-649273705/kernel.tgz,},Azure:nil,},GlobalName:,Archive:nil,Optional:true,SubPath:,RecurseMode:false,FromExpression:,ArtifactGC:nil,Deleted:false,},},} Output: &Outputs{Parameters:[]Parameter{Parameter{Name:result,Default:nil,Value:*{ "success": true },ValueFrom:&ValueFrom{Path:/output/result.json,JSONPath:,JQFilter:,Parameter:,Default:nil,Supplied:nil,Event:,Expression:,ConfigMapKeyRef:nil,},GlobalName:,Enum:[],Description:nil,},},Artifacts:[]Artifact{},Result:nil,ExitCode:*0,} --------- Name: series-workflowfs2tm[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"dc59e4fea9d83f03bad6bddf3fa2e52491777482","config_name":"upstream-apparmor-kasan.config","enable_configs":["BLK_DEV_NBD"],"series_id":"","tree_name":"torvalds","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/torvalds/linux"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci2-upstream-fs-corpus.db"],"focus":["fs"],"focus_symbols":["nbd_nsock_deferred_shutdown","nbd_mark_nsock_dead","sock_shutdown","nbd_xmit_timeout","nbd_pending_cmd_work","recv_work","nbd_handle_cmd","nbd_reconnect_socket"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"dc59e4fea9d83f03bad6bddf3fa2e52491777482","config_name":"upstream-apparmor-kasan.config","enable_configs":["BLK_DEV_NBD"],"series_id":"7690d55f-5137-4574-b9ad-84b64cdc8cde","tree_name":"torvalds","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/torvalds/linux"},retest:null,track:KASAN)[5] Phase: Succeeded StartedAt: 2026-06-29 03:03:47 +0000 UTC FinishedAt: 2026-06-29 03:03:47 +0000 UTC Input: nil Output: nil --------- Name: series-workflowfs2tm[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"dc59e4fea9d83f03bad6bddf3fa2e52491777482","config_name":"upstream-apparmor-kasan.config","enable_configs":["BLK_DEV_NBD"],"series_id":"","tree_name":"torvalds","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/torvalds/linux"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci2-upstream-fs-corpus.db"],"focus":["fs"],"focus_symbols":["nbd_nsock_deferred_shutdown","nbd_mark_nsock_dead","sock_shutdown","nbd_xmit_timeout","nbd_pending_cmd_work","recv_work","nbd_handle_cmd","nbd_reconnect_socket"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"dc59e4fea9d83f03bad6bddf3fa2e52491777482","config_name":"upstream-apparmor-kasan.config","enable_configs":["BLK_DEV_NBD"],"series_id":"7690d55f-5137-4574-b9ad-84b64cdc8cde","tree_name":"torvalds","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/torvalds/linux"},retest:null,track:KASAN)[5].abort-if-base-boot-failed Phase: Skipped StartedAt: 2026-06-29 03:03:47 +0000 UTC FinishedAt: 2026-06-29 03:03:47 +0000 UTC Input: nil Output: nil --------- Name: series-workflowfs2tm[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"dc59e4fea9d83f03bad6bddf3fa2e52491777482","config_name":"upstream-apparmor-kasan.config","enable_configs":["BLK_DEV_NBD"],"series_id":"","tree_name":"torvalds","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/torvalds/linux"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci2-upstream-fs-corpus.db"],"focus":["fs"],"focus_symbols":["nbd_nsock_deferred_shutdown","nbd_mark_nsock_dead","sock_shutdown","nbd_xmit_timeout","nbd_pending_cmd_work","recv_work","nbd_handle_cmd","nbd_reconnect_socket"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"dc59e4fea9d83f03bad6bddf3fa2e52491777482","config_name":"upstream-apparmor-kasan.config","enable_configs":["BLK_DEV_NBD"],"series_id":"7690d55f-5137-4574-b9ad-84b64cdc8cde","tree_name":"torvalds","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/torvalds/linux"},retest:null,track:KASAN)[6] Phase: Succeeded StartedAt: 2026-06-29 03:03:47 +0000 UTC FinishedAt: 2026-06-29 03:30:38 +0000 UTC Input: nil Output: nil --------- Name: series-workflowfs2tm[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"dc59e4fea9d83f03bad6bddf3fa2e52491777482","config_name":"upstream-apparmor-kasan.config","enable_configs":["BLK_DEV_NBD"],"series_id":"","tree_name":"torvalds","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/torvalds/linux"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci2-upstream-fs-corpus.db"],"focus":["fs"],"focus_symbols":["nbd_nsock_deferred_shutdown","nbd_mark_nsock_dead","sock_shutdown","nbd_xmit_timeout","nbd_pending_cmd_work","recv_work","nbd_handle_cmd","nbd_reconnect_socket"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"dc59e4fea9d83f03bad6bddf3fa2e52491777482","config_name":"upstream-apparmor-kasan.config","enable_configs":["BLK_DEV_NBD"],"series_id":"7690d55f-5137-4574-b9ad-84b64cdc8cde","tree_name":"torvalds","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/torvalds/linux"},retest:null,track:KASAN)[6].patched-build Phase: Succeeded StartedAt: 2026-06-29 03:03:47 +0000 UTC FinishedAt: 2026-06-29 03:30:38 +0000 UTC Input: &Inputs{Parameters:[]Parameter{Parameter{Name:findings,Default:nil,Value:*true,ValueFrom:nil,GlobalName:,Enum:[],Description:nil,},Parameter{Name:test-name,Default:nil,Value:*[KASAN] Build Patched,ValueFrom:nil,GlobalName:,Enum:[],Description:nil,},Parameter{Name:smoke-build,Default:nil,Value:*false,ValueFrom:nil,GlobalName:,Enum:[],Description:nil,},Parameter{Name:session-id,Default:nil,Value:*4d4dc3ac-5d5e-405a-954b-646c257a8ccc,ValueFrom:nil,GlobalName:,Enum:[],Description:nil,},},Artifacts:[]Artifact{Artifact{Name:request,Path:/tmp/request.json,Mode:nil,From:,ArtifactLocation:ArtifactLocation{ArchiveLogs:nil,S3:nil,Git:nil,HTTP:nil,Artifactory:nil,HDFS:nil,Raw:nil,OSS:nil,GCS:&GCSArtifact{GCSBucket:GCSBucket{Bucket:,ServiceAccountKeySecret:nil,},Key:series-workflowfs2tm/series-workflowfs2tm-convert-artifact-1148628802/artifact.tgz,},Azure:nil,},GlobalName:,Archive:nil,Optional:false,SubPath:,RecurseMode:false,FromExpression:,ArtifactGC:nil,Deleted:false,},},} Output: &Outputs{Parameters:[]Parameter{Parameter{Name:result,Default:nil,Value:*{ "build_id": "44f718b8-3a5f-4a2c-bc4c-d840509bde07", "success": true },ValueFrom:&ValueFrom{Path:/output/result.json,JSONPath:,JQFilter:,Parameter:,Default:*,Supplied:nil,Event:,Expression:,ConfigMapKeyRef:nil,},GlobalName:,Enum:[],Description:nil,},},Artifacts:[]Artifact{Artifact{Name:kernel,Path:/output,Mode:nil,From:,ArtifactLocation:ArtifactLocation{ArchiveLogs:nil,S3:nil,Git:nil,HTTP:nil,Artifactory:nil,HDFS:nil,Raw:nil,OSS:nil,GCS:&GCSArtifact{GCSBucket:GCSBucket{Bucket:,ServiceAccountKeySecret:nil,},Key:series-workflowfs2tm/series-workflowfs2tm-build-action-2004181398/kernel.tgz,},Azure:nil,},GlobalName:,Archive:nil,Optional:true,SubPath:,RecurseMode:false,FromExpression:,ArtifactGC:nil,Deleted:false,},},Result:nil,ExitCode:*0,} --------- Name: series-workflowfs2tm[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"dc59e4fea9d83f03bad6bddf3fa2e52491777482","config_name":"upstream-apparmor-kasan.config","enable_configs":["BLK_DEV_NBD"],"series_id":"","tree_name":"torvalds","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/torvalds/linux"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci2-upstream-fs-corpus.db"],"focus":["fs"],"focus_symbols":["nbd_nsock_deferred_shutdown","nbd_mark_nsock_dead","sock_shutdown","nbd_xmit_timeout","nbd_pending_cmd_work","recv_work","nbd_handle_cmd","nbd_reconnect_socket"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"dc59e4fea9d83f03bad6bddf3fa2e52491777482","config_name":"upstream-apparmor-kasan.config","enable_configs":["BLK_DEV_NBD"],"series_id":"7690d55f-5137-4574-b9ad-84b64cdc8cde","tree_name":"torvalds","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/torvalds/linux"},retest:null,track:KASAN)[6].patched-build(0) Phase: Succeeded StartedAt: 2026-06-29 03:03:47 +0000 UTC FinishedAt: 2026-06-29 03:30:28 +0000 UTC Input: &Inputs{Parameters:[]Parameter{Parameter{Name:findings,Default:nil,Value:*true,ValueFrom:nil,GlobalName:,Enum:[],Description:nil,},Parameter{Name:test-name,Default:nil,Value:*[KASAN] Build Patched,ValueFrom:nil,GlobalName:,Enum:[],Description:nil,},Parameter{Name:smoke-build,Default:nil,Value:*false,ValueFrom:nil,GlobalName:,Enum:[],Description:nil,},Parameter{Name:session-id,Default:nil,Value:*4d4dc3ac-5d5e-405a-954b-646c257a8ccc,ValueFrom:nil,GlobalName:,Enum:[],Description:nil,},},Artifacts:[]Artifact{Artifact{Name:request,Path:/tmp/request.json,Mode:nil,From:,ArtifactLocation:ArtifactLocation{ArchiveLogs:nil,S3:nil,Git:nil,HTTP:nil,Artifactory:nil,HDFS:nil,Raw:nil,OSS:nil,GCS:&GCSArtifact{GCSBucket:GCSBucket{Bucket:,ServiceAccountKeySecret:nil,},Key:series-workflowfs2tm/series-workflowfs2tm-convert-artifact-1148628802/artifact.tgz,},Azure:nil,},GlobalName:,Archive:nil,Optional:false,SubPath:,RecurseMode:false,FromExpression:,ArtifactGC:nil,Deleted:false,},},} Output: &Outputs{Parameters:[]Parameter{Parameter{Name:result,Default:nil,Value:*{ "build_id": "44f718b8-3a5f-4a2c-bc4c-d840509bde07", "success": true },ValueFrom:&ValueFrom{Path:/output/result.json,JSONPath:,JQFilter:,Parameter:,Default:*,Supplied:nil,Event:,Expression:,ConfigMapKeyRef:nil,},GlobalName:,Enum:[],Description:nil,},},Artifacts:[]Artifact{Artifact{Name:kernel,Path:/output,Mode:nil,From:,ArtifactLocation:ArtifactLocation{ArchiveLogs:nil,S3:nil,Git:nil,HTTP:nil,Artifactory:nil,HDFS:nil,Raw:nil,OSS:nil,GCS:&GCSArtifact{GCSBucket:GCSBucket{Bucket:,ServiceAccountKeySecret:nil,},Key:series-workflowfs2tm/series-workflowfs2tm-build-action-2004181398/kernel.tgz,},Azure:nil,},GlobalName:,Archive:nil,Optional:true,SubPath:,RecurseMode:false,FromExpression:,ArtifactGC:nil,Deleted:false,},},Result:nil,ExitCode:*0,} --------- Name: series-workflowfs2tm[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"dc59e4fea9d83f03bad6bddf3fa2e52491777482","config_name":"upstream-apparmor-kasan.config","enable_configs":["BLK_DEV_NBD"],"series_id":"","tree_name":"torvalds","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/torvalds/linux"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci2-upstream-fs-corpus.db"],"focus":["fs"],"focus_symbols":["nbd_nsock_deferred_shutdown","nbd_mark_nsock_dead","sock_shutdown","nbd_xmit_timeout","nbd_pending_cmd_work","recv_work","nbd_handle_cmd","nbd_reconnect_socket"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"dc59e4fea9d83f03bad6bddf3fa2e52491777482","config_name":"upstream-apparmor-kasan.config","enable_configs":["BLK_DEV_NBD"],"series_id":"7690d55f-5137-4574-b9ad-84b64cdc8cde","tree_name":"torvalds","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/torvalds/linux"},retest:null,track:KASAN)[7] Phase: Succeeded StartedAt: 2026-06-29 03:30:38 +0000 UTC FinishedAt: 2026-06-29 03:30:38 +0000 UTC Input: nil Output: nil --------- Name: series-workflowfs2tm[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"dc59e4fea9d83f03bad6bddf3fa2e52491777482","config_name":"upstream-apparmor-kasan.config","enable_configs":["BLK_DEV_NBD"],"series_id":"","tree_name":"torvalds","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/torvalds/linux"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci2-upstream-fs-corpus.db"],"focus":["fs"],"focus_symbols":["nbd_nsock_deferred_shutdown","nbd_mark_nsock_dead","sock_shutdown","nbd_xmit_timeout","nbd_pending_cmd_work","recv_work","nbd_handle_cmd","nbd_reconnect_socket"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"dc59e4fea9d83f03bad6bddf3fa2e52491777482","config_name":"upstream-apparmor-kasan.config","enable_configs":["BLK_DEV_NBD"],"series_id":"7690d55f-5137-4574-b9ad-84b64cdc8cde","tree_name":"torvalds","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/torvalds/linux"},retest:null,track:KASAN)[7].abort-if-patched-build-failed Phase: Skipped StartedAt: 2026-06-29 03:30:38 +0000 UTC FinishedAt: 2026-06-29 03:30:38 +0000 UTC Input: nil Output: nil --------- Name: series-workflowfs2tm[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"dc59e4fea9d83f03bad6bddf3fa2e52491777482","config_name":"upstream-apparmor-kasan.config","enable_configs":["BLK_DEV_NBD"],"series_id":"","tree_name":"torvalds","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/torvalds/linux"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci2-upstream-fs-corpus.db"],"focus":["fs"],"focus_symbols":["nbd_nsock_deferred_shutdown","nbd_mark_nsock_dead","sock_shutdown","nbd_xmit_timeout","nbd_pending_cmd_work","recv_work","nbd_handle_cmd","nbd_reconnect_socket"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"dc59e4fea9d83f03bad6bddf3fa2e52491777482","config_name":"upstream-apparmor-kasan.config","enable_configs":["BLK_DEV_NBD"],"series_id":"7690d55f-5137-4574-b9ad-84b64cdc8cde","tree_name":"torvalds","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/torvalds/linux"},retest:null,track:KASAN)[8] Phase: Succeeded StartedAt: 2026-06-29 03:30:38 +0000 UTC FinishedAt: 2026-06-29 03:32:27 +0000 UTC Input: nil Output: nil --------- Name: series-workflowfs2tm[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"dc59e4fea9d83f03bad6bddf3fa2e52491777482","config_name":"upstream-apparmor-kasan.config","enable_configs":["BLK_DEV_NBD"],"series_id":"","tree_name":"torvalds","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/torvalds/linux"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci2-upstream-fs-corpus.db"],"focus":["fs"],"focus_symbols":["nbd_nsock_deferred_shutdown","nbd_mark_nsock_dead","sock_shutdown","nbd_xmit_timeout","nbd_pending_cmd_work","recv_work","nbd_handle_cmd","nbd_reconnect_socket"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"dc59e4fea9d83f03bad6bddf3fa2e52491777482","config_name":"upstream-apparmor-kasan.config","enable_configs":["BLK_DEV_NBD"],"series_id":"7690d55f-5137-4574-b9ad-84b64cdc8cde","tree_name":"torvalds","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/torvalds/linux"},retest:null,track:KASAN)[8].boot-test-patched Phase: Succeeded StartedAt: 2026-06-29 03:30:38 +0000 UTC FinishedAt: 2026-06-29 03:32:17 +0000 UTC Input: &Inputs{Parameters:[]Parameter{Parameter{Name:base-build-id,Default:nil,Value:*,ValueFrom:nil,GlobalName:,Enum:[],Description:nil,},Parameter{Name:patched-build-id,Default:nil,Value:*44f718b8-3a5f-4a2c-bc4c-d840509bde07,ValueFrom:nil,GlobalName:,Enum:[],Description:nil,},Parameter{Name:test-name,Default:nil,Value:*[KASAN] Boot test: Patched,ValueFrom:nil,GlobalName:,Enum:[],Description:nil,},Parameter{Name:report-findings,Default:nil,Value:*true,ValueFrom:nil,GlobalName:,Enum:[],Description:nil,},},Artifacts:[]Artifact{Artifact{Name:kernel,Path:/base,Mode:nil,From:,ArtifactLocation:ArtifactLocation{ArchiveLogs:nil,S3:nil,Git:nil,HTTP:nil,Artifactory:nil,HDFS:nil,Raw:nil,OSS:nil,GCS:&GCSArtifact{GCSBucket:GCSBucket{Bucket:,ServiceAccountKeySecret:nil,},Key:series-workflowfs2tm/series-workflowfs2tm-build-action-2004181398/kernel.tgz,},Azure:nil,},GlobalName:,Archive:nil,Optional:true,SubPath:,RecurseMode:false,FromExpression:,ArtifactGC:nil,Deleted:false,},},} Output: &Outputs{Parameters:[]Parameter{Parameter{Name:result,Default:nil,Value:*{ "success": true },ValueFrom:&ValueFrom{Path:/output/result.json,JSONPath:,JQFilter:,Parameter:,Default:nil,Supplied:nil,Event:,Expression:,ConfigMapKeyRef:nil,},GlobalName:,Enum:[],Description:nil,},},Artifacts:[]Artifact{},Result:nil,ExitCode:*0,} --------- Name: series-workflowfs2tm[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"dc59e4fea9d83f03bad6bddf3fa2e52491777482","config_name":"upstream-apparmor-kasan.config","enable_configs":["BLK_DEV_NBD"],"series_id":"","tree_name":"torvalds","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/torvalds/linux"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci2-upstream-fs-corpus.db"],"focus":["fs"],"focus_symbols":["nbd_nsock_deferred_shutdown","nbd_mark_nsock_dead","sock_shutdown","nbd_xmit_timeout","nbd_pending_cmd_work","recv_work","nbd_handle_cmd","nbd_reconnect_socket"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"dc59e4fea9d83f03bad6bddf3fa2e52491777482","config_name":"upstream-apparmor-kasan.config","enable_configs":["BLK_DEV_NBD"],"series_id":"7690d55f-5137-4574-b9ad-84b64cdc8cde","tree_name":"torvalds","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/torvalds/linux"},retest:null,track:KASAN)[10] Phase: Succeeded StartedAt: 2026-06-29 03:32:27 +0000 UTC FinishedAt: 2026-06-29 06:35:23 +0000 UTC Input: nil Output: nil --------- Name: series-workflowfs2tm[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"dc59e4fea9d83f03bad6bddf3fa2e52491777482","config_name":"upstream-apparmor-kasan.config","enable_configs":["BLK_DEV_NBD"],"series_id":"","tree_name":"torvalds","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/torvalds/linux"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci2-upstream-fs-corpus.db"],"focus":["fs"],"focus_symbols":["nbd_nsock_deferred_shutdown","nbd_mark_nsock_dead","sock_shutdown","nbd_xmit_timeout","nbd_pending_cmd_work","recv_work","nbd_handle_cmd","nbd_reconnect_socket"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"dc59e4fea9d83f03bad6bddf3fa2e52491777482","config_name":"upstream-apparmor-kasan.config","enable_configs":["BLK_DEV_NBD"],"series_id":"7690d55f-5137-4574-b9ad-84b64cdc8cde","tree_name":"torvalds","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/torvalds/linux"},retest:null,track:KASAN)[10].run-fuzz Phase: Succeeded StartedAt: 2026-06-29 03:32:27 +0000 UTC FinishedAt: 2026-06-29 06:35:23 +0000 UTC Input: &Inputs{Parameters:[]Parameter{Parameter{Name:config,Default:nil,Value:*{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci2-upstream-fs-corpus.db"],"focus":["fs"],"focus_symbols":["nbd_nsock_deferred_shutdown","nbd_mark_nsock_dead","sock_shutdown","nbd_xmit_timeout","nbd_pending_cmd_work","recv_work","nbd_handle_cmd","nbd_reconnect_socket"],"skip_cover_check":false},ValueFrom:nil,GlobalName:,Enum:[],Description:nil,},Parameter{Name:track,Default:nil,Value:*KASAN,ValueFrom:nil,GlobalName:,Enum:[],Description:nil,},Parameter{Name:base-build-id,Default:nil,Value:*656cac85-f76f-48b1-8508-b3754ac896ca,ValueFrom:nil,GlobalName:,Enum:[],Description:nil,},Parameter{Name:patched-build-id,Default:nil,Value:*44f718b8-3a5f-4a2c-bc4c-d840509bde07,ValueFrom:nil,GlobalName:,Enum:[],Description:nil,},},Artifacts:[]Artifact{Artifact{Name:base-kernel,Path:,Mode:nil,From:,ArtifactLocation:ArtifactLocation{ArchiveLogs:nil,S3:nil,Git:nil,HTTP:nil,Artifactory:nil,HDFS:nil,Raw:nil,OSS:nil,GCS:&GCSArtifact{GCSBucket:GCSBucket{Bucket:,ServiceAccountKeySecret:nil,},Key:series-workflowfs2tm/series-workflowfs2tm-build-action-649273705/kernel.tgz,},Azure:nil,},GlobalName:,Archive:nil,Optional:true,SubPath:,RecurseMode:false,FromExpression:,ArtifactGC:nil,Deleted:false,},Artifact{Name:patched-kernel,Path:,Mode:nil,From:,ArtifactLocation:ArtifactLocation{ArchiveLogs:nil,S3:nil,Git:nil,HTTP:nil,Artifactory:nil,HDFS:nil,Raw:nil,OSS:nil,GCS:&GCSArtifact{GCSBucket:GCSBucket{Bucket:,ServiceAccountKeySecret:nil,},Key:series-workflowfs2tm/series-workflowfs2tm-build-action-2004181398/kernel.tgz,},Azure:nil,},GlobalName:,Archive:nil,Optional:true,SubPath:,RecurseMode:false,FromExpression:,ArtifactGC:nil,Deleted:false,},},} Output: nil --------- Name: series-workflowfs2tm[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"dc59e4fea9d83f03bad6bddf3fa2e52491777482","config_name":"upstream-apparmor-kasan.config","enable_configs":["BLK_DEV_NBD"],"series_id":"","tree_name":"torvalds","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/torvalds/linux"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci2-upstream-fs-corpus.db"],"focus":["fs"],"focus_symbols":["nbd_nsock_deferred_shutdown","nbd_mark_nsock_dead","sock_shutdown","nbd_xmit_timeout","nbd_pending_cmd_work","recv_work","nbd_handle_cmd","nbd_reconnect_socket"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"dc59e4fea9d83f03bad6bddf3fa2e52491777482","config_name":"upstream-apparmor-kasan.config","enable_configs":["BLK_DEV_NBD"],"series_id":"7690d55f-5137-4574-b9ad-84b64cdc8cde","tree_name":"torvalds","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/torvalds/linux"},retest:null,track:KASAN)[10].run-fuzz[0] Phase: Succeeded StartedAt: 2026-06-29 03:32:27 +0000 UTC FinishedAt: 2026-06-29 03:33:10 +0000 UTC Input: nil Output: nil --------- Name: series-workflowfs2tm[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"dc59e4fea9d83f03bad6bddf3fa2e52491777482","config_name":"upstream-apparmor-kasan.config","enable_configs":["BLK_DEV_NBD"],"series_id":"","tree_name":"torvalds","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/torvalds/linux"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci2-upstream-fs-corpus.db"],"focus":["fs"],"focus_symbols":["nbd_nsock_deferred_shutdown","nbd_mark_nsock_dead","sock_shutdown","nbd_xmit_timeout","nbd_pending_cmd_work","recv_work","nbd_handle_cmd","nbd_reconnect_socket"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"dc59e4fea9d83f03bad6bddf3fa2e52491777482","config_name":"upstream-apparmor-kasan.config","enable_configs":["BLK_DEV_NBD"],"series_id":"7690d55f-5137-4574-b9ad-84b64cdc8cde","tree_name":"torvalds","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/torvalds/linux"},retest:null,track:KASAN)[10].run-fuzz[0].save-fuzz-config Phase: Succeeded StartedAt: 2026-06-29 03:32:27 +0000 UTC FinishedAt: 2026-06-29 03:33:02 +0000 UTC Input: &Inputs{Parameters:[]Parameter{Parameter{Name:data,Default:nil,Value:*{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci2-upstream-fs-corpus.db"],"focus":["fs"],"focus_symbols":["nbd_nsock_deferred_shutdown","nbd_mark_nsock_dead","sock_shutdown","nbd_xmit_timeout","nbd_pending_cmd_work","recv_work","nbd_handle_cmd","nbd_reconnect_socket"],"skip_cover_check":false},ValueFrom:nil,GlobalName:,Enum:[],Description:nil,},},Artifacts:[]Artifact{},} Output: &Outputs{Parameters:[]Parameter{},Artifacts:[]Artifact{Artifact{Name:artifact,Path:/tmp/artifact,Mode:nil,From:,ArtifactLocation:ArtifactLocation{ArchiveLogs:nil,S3:nil,Git:nil,HTTP:nil,Artifactory:nil,HDFS:nil,Raw:nil,OSS:nil,GCS:&GCSArtifact{GCSBucket:GCSBucket{Bucket:,ServiceAccountKeySecret:nil,},Key:series-workflowfs2tm/series-workflowfs2tm-convert-artifact-1905513335/artifact.tgz,},Azure:nil,},GlobalName:,Archive:nil,Optional:false,SubPath:,RecurseMode:false,FromExpression:,ArtifactGC:nil,Deleted:false,},},Result:nil,ExitCode:*0,} --------- Name: series-workflowfs2tm[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"dc59e4fea9d83f03bad6bddf3fa2e52491777482","config_name":"upstream-apparmor-kasan.config","enable_configs":["BLK_DEV_NBD"],"series_id":"","tree_name":"torvalds","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/torvalds/linux"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci2-upstream-fs-corpus.db"],"focus":["fs"],"focus_symbols":["nbd_nsock_deferred_shutdown","nbd_mark_nsock_dead","sock_shutdown","nbd_xmit_timeout","nbd_pending_cmd_work","recv_work","nbd_handle_cmd","nbd_reconnect_socket"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"dc59e4fea9d83f03bad6bddf3fa2e52491777482","config_name":"upstream-apparmor-kasan.config","enable_configs":["BLK_DEV_NBD"],"series_id":"7690d55f-5137-4574-b9ad-84b64cdc8cde","tree_name":"torvalds","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/torvalds/linux"},retest:null,track:KASAN)[10].run-retest Phase: Skipped StartedAt: 2026-06-29 03:32:27 +0000 UTC FinishedAt: 2026-06-29 03:32:27 +0000 UTC Input: nil Output: nil --------- Name: series-workflowfs2tm[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"dc59e4fea9d83f03bad6bddf3fa2e52491777482","config_name":"upstream-apparmor-kasan.config","enable_configs":["BLK_DEV_NBD"],"series_id":"","tree_name":"torvalds","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/torvalds/linux"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci2-upstream-fs-corpus.db"],"focus":["fs"],"focus_symbols":["nbd_nsock_deferred_shutdown","nbd_mark_nsock_dead","sock_shutdown","nbd_xmit_timeout","nbd_pending_cmd_work","recv_work","nbd_handle_cmd","nbd_reconnect_socket"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"dc59e4fea9d83f03bad6bddf3fa2e52491777482","config_name":"upstream-apparmor-kasan.config","enable_configs":["BLK_DEV_NBD"],"series_id":"7690d55f-5137-4574-b9ad-84b64cdc8cde","tree_name":"torvalds","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/torvalds/linux"},retest:null,track:KASAN)[9] Phase: Succeeded StartedAt: 2026-06-29 03:32:27 +0000 UTC FinishedAt: 2026-06-29 03:32:27 +0000 UTC Input: nil Output: nil --------- Name: series-workflowfs2tm[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"dc59e4fea9d83f03bad6bddf3fa2e52491777482","config_name":"upstream-apparmor-kasan.config","enable_configs":["BLK_DEV_NBD"],"series_id":"","tree_name":"torvalds","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/torvalds/linux"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci2-upstream-fs-corpus.db"],"focus":["fs"],"focus_symbols":["nbd_nsock_deferred_shutdown","nbd_mark_nsock_dead","sock_shutdown","nbd_xmit_timeout","nbd_pending_cmd_work","recv_work","nbd_handle_cmd","nbd_reconnect_socket"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"dc59e4fea9d83f03bad6bddf3fa2e52491777482","config_name":"upstream-apparmor-kasan.config","enable_configs":["BLK_DEV_NBD"],"series_id":"7690d55f-5137-4574-b9ad-84b64cdc8cde","tree_name":"torvalds","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/torvalds/linux"},retest:null,track:KASAN)[9].abort-if-patched-boot-failed Phase: Skipped StartedAt: 2026-06-29 03:32:27 +0000 UTC FinishedAt: 2026-06-29 03:32:27 +0000 UTC Input: nil Output: nil --------- Name: series-workflowfs2tm[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"dc59e4fea9d83f03bad6bddf3fa2e52491777482","config_name":"upstream-apparmor-kasan.config","enable_configs":["BLK_DEV_NBD"],"series_id":"","tree_name":"torvalds","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/torvalds/linux"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci2-upstream-fs-corpus.db"],"focus":["fs"],"focus_symbols":["nbd_nsock_deferred_shutdown","nbd_mark_nsock_dead","sock_shutdown","nbd_xmit_timeout","nbd_pending_cmd_work","recv_work","nbd_handle_cmd","nbd_reconnect_socket"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"dc59e4fea9d83f03bad6bddf3fa2e52491777482","config_name":"upstream-apparmor-kasan.config","enable_configs":["BLK_DEV_NBD"],"series_id":"7690d55f-5137-4574-b9ad-84b64cdc8cde","tree_name":"torvalds","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/torvalds/linux"},retest:null,track:KASAN)[10].run-fuzz[1] Phase: Succeeded StartedAt: 2026-06-29 03:33:10 +0000 UTC FinishedAt: 2026-06-29 06:35:23 +0000 UTC Input: nil Output: nil --------- Name: series-workflowfs2tm[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"dc59e4fea9d83f03bad6bddf3fa2e52491777482","config_name":"upstream-apparmor-kasan.config","enable_configs":["BLK_DEV_NBD"],"series_id":"","tree_name":"torvalds","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/torvalds/linux"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci2-upstream-fs-corpus.db"],"focus":["fs"],"focus_symbols":["nbd_nsock_deferred_shutdown","nbd_mark_nsock_dead","sock_shutdown","nbd_xmit_timeout","nbd_pending_cmd_work","recv_work","nbd_handle_cmd","nbd_reconnect_socket"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"dc59e4fea9d83f03bad6bddf3fa2e52491777482","config_name":"upstream-apparmor-kasan.config","enable_configs":["BLK_DEV_NBD"],"series_id":"7690d55f-5137-4574-b9ad-84b64cdc8cde","tree_name":"torvalds","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/torvalds/linux"},retest:null,track:KASAN)[10].run-fuzz[1].fuzz Phase: Succeeded StartedAt: 2026-06-29 03:33:10 +0000 UTC FinishedAt: 2026-06-29 06:35:13 +0000 UTC Input: &Inputs{Parameters:[]Parameter{Parameter{Name:base-build-id,Default:nil,Value:*656cac85-f76f-48b1-8508-b3754ac896ca,ValueFrom:nil,GlobalName:,Enum:[],Description:nil,},Parameter{Name:patched-build-id,Default:nil,Value:*44f718b8-3a5f-4a2c-bc4c-d840509bde07,ValueFrom:nil,GlobalName:,Enum:[],Description:nil,},Parameter{Name:test-name,Default:nil,Value:*[KASAN] Fuzz,ValueFrom:nil,GlobalName:,Enum:[],Description:nil,},},Artifacts:[]Artifact{Artifact{Name:base-kernel,Path:/base,Mode:nil,From:,ArtifactLocation:ArtifactLocation{ArchiveLogs:nil,S3:nil,Git:nil,HTTP:nil,Artifactory:nil,HDFS:nil,Raw:nil,OSS:nil,GCS:&GCSArtifact{GCSBucket:GCSBucket{Bucket:,ServiceAccountKeySecret:nil,},Key:series-workflowfs2tm/series-workflowfs2tm-build-action-649273705/kernel.tgz,},Azure:nil,},GlobalName:,Archive:nil,Optional:true,SubPath:,RecurseMode:false,FromExpression:,ArtifactGC:nil,Deleted:false,},Artifact{Name:patched-kernel,Path:/patched,Mode:nil,From:,ArtifactLocation:ArtifactLocation{ArchiveLogs:nil,S3:nil,Git:nil,HTTP:nil,Artifactory:nil,HDFS:nil,Raw:nil,OSS:nil,GCS:&GCSArtifact{GCSBucket:GCSBucket{Bucket:,ServiceAccountKeySecret:nil,},Key:series-workflowfs2tm/series-workflowfs2tm-build-action-2004181398/kernel.tgz,},Azure:nil,},GlobalName:,Archive:nil,Optional:true,SubPath:,RecurseMode:false,FromExpression:,ArtifactGC:nil,Deleted:false,},Artifact{Name:config,Path:/tmp/config.json,Mode:nil,From:,ArtifactLocation:ArtifactLocation{ArchiveLogs:nil,S3:nil,Git:nil,HTTP:nil,Artifactory:nil,HDFS:nil,Raw:nil,OSS:nil,GCS:&GCSArtifact{GCSBucket:GCSBucket{Bucket:,ServiceAccountKeySecret:nil,},Key:series-workflowfs2tm/series-workflowfs2tm-convert-artifact-1905513335/artifact.tgz,},Azure:nil,},GlobalName:,Archive:nil,Optional:false,SubPath:,RecurseMode:false,FromExpression:,ArtifactGC:nil,Deleted:false,},},} Output: &Outputs{Parameters:[]Parameter{},Artifacts:[]Artifact{},Result:nil,ExitCode:*0,}