Name: series-workflowx6sq4 Phase: Running StartedAt: 2026-07-12 06:19:59 +0000 UTC FinishedAt: 0001-01-01 00:00:00 +0000 UTC Input: nil Output: nil --------- Name: series-workflowx6sq4[0] Phase: Succeeded StartedAt: 2026-07-12 06:19:59 +0000 UTC FinishedAt: 2026-07-12 07:05:19 +0000 UTC Input: nil Output: nil --------- Name: series-workflowx6sq4[0].run-triage Phase: Succeeded StartedAt: 2026-07-12 06:19:59 +0000 UTC FinishedAt: 2026-07-12 07:05:19 +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": "44696aa3a489d2baf58efa61b37833f100072bee", "config_name": "upstream-apparmor-kasan.config", "enable_configs": [ "CEPH_FS", "FS_ENCRYPTION" ], "series_id": "" }, "patched": { "arch": "amd64", "tree_name": "torvalds", "tree_url": "https://kernel.googlesource.com/pub/scm/linux/kernel/git/torvalds/linux", "commit_hash": "44696aa3a489d2baf58efa61b37833f100072bee", "config_name": "upstream-apparmor-kasan.config", "enable_configs": [ "CEPH_FS", "FS_ENCRYPTION" ], "series_id": "cc549fa6-d9f0-45c1-beba-23369b9cedc5" }, "track": "KASAN", "fuzz": { "focus": [ "fs" ], "focus_symbols": [ "__get_snap_name", "ceph_get_name" ], "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+CgkJCTx0ZD4yMDI2LzA3LzEyIDA3OjA0PC90ZD4KCQkJPHRkPmZsb3c8L3RkPgoJCQk8dGQ+cGF0Y2gtdHJpYWdlPC90ZD4KCQkJPHRkPgoJCQkJPGRldGFpbHM+CgkJCQkJPHN1bW1hcnk+MG08L3N1bW1hcnk+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPkFyZ3M6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5udWxsPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5SZXN1bHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+ewogICYjMzQ7RW5hYmxlQ29uZmlncyYjMzQ7OiBbCiAgICAmIzM0O0NFUEhfRlMmIzM0OywKICAgICYjMzQ7RlNfRU5DUllQVElPTiYjMzQ7CiAgXSwKICAmIzM0O0ZvY3VzU3ltYm9scyYjMzQ7OiBbCiAgICAmIzM0O19fZ2V0X3NuYXBfbmFtZSYjMzQ7LAogICAgJiMzNDtjZXBoX2dldF9uYW1lJiMzNDsKICBdLAogICYjMzQ7UmVhc29uaW5nJiMzNDs6ICYjMzQ7VGhlIHBhdGNoIGZpeGVzIGEgcG90ZW50aWFsIGJ1ZmZlciBvdmVyZmxvdyBpbiBDZXBoRlMgZXhwb3J0IG9wZXJhdGlvbnMgYnkgYWRkaW5nIGEgbGVuZ3RoIGNoZWNrIGFnYWluc3QgTkFNRV9NQVggd2hlbiBjb3B5aW5nIGRpcmVjdG9yeSBuYW1lcy4gVGhpcyBtb2RpZmllcyByZWFjaGFibGUgZmlsZXN5c3RlbSBsb2dpYyB1c2VkIGJ5IGZpbGUgaGFuZGxlIHN5c2NhbGxzIChlLmcuIG9wZW5fYnlfaGFuZGxlX2F0KSwgc28gaXQgc2hvdWxkIGJlIGZ1enplZC4mIzM0OywKICAmIzM0O1dvcnRoRnV6emluZyYjMzQ7OiB0cnVlCn08L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQk8L2RldGFpbHM+CgkJCTwvdGQ+CgkJPC90cj4KCQkKCQk8dHI+CgkJCTx0ZD4xLzE8L3RkPgoJCQk8dGQ+MjAyNi8wNy8xMiAwNzowNDwvdGQ+CgkJCTx0ZD5hY3Rpb248L3RkPgoJCQk8dGQ+cmVhZC1wYXRjaC1kaWZmPC90ZD4KCQkJPHRkPgoJCQkJPGRldGFpbHM+CgkJCQkJPHN1bW1hcnk+MG08L3N1bW1hcnk+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPkFyZ3M6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5udWxsPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5SZXN1bHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+ewogICYjMzQ7UGF0Y2hEaWZmJiMzNDs6ICYjMzQ7Y29tbWl0IGQ2OTRlMzJmMzJmYTU1YWMwNzY0M2JhNmQ5Y2FmMzY0ZTliOWU1YzVcbkF1dGhvcjogc3l6LWNsdXN0ZXIgXHUwMDNjdHJpYWdlQHN5emthbGxlci5jb21cdTAwM2VcbkRhdGU6ICAgU3VuIEp1bCAxMiAwNzowNDo0MyAyMDI2ICYjNDM7MDAwMFxuXG4gICAgc3l6LWNsdXN0ZXI6IGFwcGxpZWQgcGF0Y2ggdW5kZXIgcmV2aWV3XG5cbmRpZmYgLS1naXQgYS9mcy9jZXBoL2V4cG9ydC5jIGIvZnMvY2VwaC9leHBvcnQuY1xuaW5kZXggYjJmMmFmMTA0Njc5MWQuLmRlYmI5NjM0YjllM2Q5IDEwMDY0NFxuLS0tIGEvZnMvY2VwaC9leHBvcnQuY1xuJiM0MzsmIzQzOyYjNDM7IGIvZnMvY2VwaC9leHBvcnQuY1xuQEAgLTQ0Miw2ICYjNDM7NDQyLDE2IEBAIHN0YXRpYyBzdHJ1Y3QgZGVudHJ5ICpjZXBoX2ZoX3RvX3BhcmVudChzdHJ1Y3Qgc3VwZXJfYmxvY2sgKnNiLFxuIFx0cmV0dXJuIGRlbnRyeTtcbiB9XG4gXG4mIzQzO3N0YXRpYyBpbnQgY2VwaF9leHBvcnRfY29weV9uYW1lKGNoYXIgKm5hbWUsIGNvbnN0IGNoYXIgKnNyYywgdTMyIGxlbilcbiYjNDM7e1xuJiM0MztcdGlmIChsZW4gXHUwMDNlIE5BTUVfTUFYKVxuJiM0MztcdFx0cmV0dXJuIC1FTkFNRVRPT0xPTkc7XG4mIzQzO1xuJiM0MztcdG1lbWNweShuYW1lLCBzcmMsIGxlbik7XG4mIzQzO1x0bmFtZVtsZW5dID0gJiMzOTtcXDAmIzM5OztcbiYjNDM7XHRyZXR1cm4gMDtcbiYjNDM7fVxuJiM0MztcbiBzdGF0aWMgaW50IF9fZ2V0X3NuYXBfbmFtZShzdHJ1Y3QgZGVudHJ5ICpwYXJlbnQsIGNoYXIgKm5hbWUsXG4gXHRcdFx0ICAgc3RydWN0IGRlbnRyeSAqY2hpbGQpXG4ge1xuQEAgLTUxMyw5ICYjNDM7NTIzLDggQEAgc3RhdGljIGludCBfX2dldF9zbmFwX25hbWUoc3RydWN0IGRlbnRyeSAqcGFyZW50LCBjaGFyICpuYW1lLFxuIFx0XHRcdEJVR19PTighcmRlLVx1MDAzZWlub2RlLmluKTtcbiBcdFx0XHRpZiAoY2VwaF9zbmFwKGlub2RlKSA9PVxuIFx0XHRcdCAgICBsZTY0X3RvX2NwdShyZGUtXHUwMDNlaW5vZGUuaW4tXHUwMDNlc25hcGlkKSkge1xuLVx0XHRcdFx0bWVtY3B5KG5hbWUsIHJkZS1cdTAwM2VuYW1lLCByZGUtXHUwMDNlbmFtZV9sZW4pO1xuLVx0XHRcdFx0bmFtZVtyZGUtXHUwMDNlbmFtZV9sZW5dID0gJiMzOTtcXDAmIzM5Oztcbi1cdFx0XHRcdGVyciA9IDA7XG4mIzQzO1x0XHRcdFx0ZXJyID0gY2VwaF9leHBvcnRfY29weV9uYW1lKG5hbWUsIHJkZS1cdTAwM2VuYW1lLFxuJiM0MztcdFx0XHRcdFx0XHRcdCAgICByZGUtXHUwMDNlbmFtZV9sZW4pO1xuIFx0XHRcdFx0Z290byBvdXQ7XG4gXHRcdFx0fVxuIFx0XHR9XG5AQCAtNTgwLDggJiM0Mzs1ODksOCBAQCBzdGF0aWMgaW50IGNlcGhfZ2V0X25hbWUoc3RydWN0IGRlbnRyeSAqcGFyZW50LCBjaGFyICpuYW1lLFxuIFxuIFx0cmluZm8gPSBcdTAwMjZyZXEtXHUwMDNlcl9yZXBseV9pbmZvO1xuIFx0aWYgKCFJU19FTkNSWVBURUQoZGlyKSkge1xuLVx0XHRtZW1jcHkobmFtZSwgcmluZm8tXHUwMDNlZG5hbWUsIHJpbmZvLVx1MDAzZWRuYW1lX2xlbik7XG4tXHRcdG5hbWVbcmluZm8tXHUwMDNlZG5hbWVfbGVuXSA9IDA7XG4mIzQzO1x0XHRlcnIgPSBjZXBoX2V4cG9ydF9jb3B5X25hbWUobmFtZSwgcmluZm8tXHUwMDNlZG5hbWUsXG4mIzQzO1x0XHRcdFx0XHQgICAgcmluZm8tXHUwMDNlZG5hbWVfbGVuKTtcbiBcdH0gZWxzZSB7XG4gXHRcdHN0cnVjdCBmc2NyeXB0X3N0ciBvbmFtZSA9IEZTVFJfSU5JVChOVUxMLCAwKTtcbiBcdFx0c3RydWN0IGNlcGhfZm5hbWUgZm5hbWUgPSB7IC5kaXJcdD0gZGlyLFxuQEAgLTU5NSwxMCAmIzQzOzYwNCw5IEBAIHN0YXRpYyBpbnQgY2VwaF9nZXRfbmFtZShzdHJ1Y3QgZGVudHJ5ICpwYXJlbnQsIGNoYXIgKm5hbWUsXG4gXHRcdFx0Z290byBvdXQ7XG4gXG4gXHRcdGVyciA9IGNlcGhfZm5hbWVfdG9fdXNyKFx1MDAyNmZuYW1lLCBOVUxMLCBcdTAwMjZvbmFtZSwgTlVMTCk7XG4tXHRcdGlmICghZXJyKSB7XG4tXHRcdFx0bWVtY3B5KG5hbWUsIG9uYW1lLm5hbWUsIG9uYW1lLmxlbik7XG4tXHRcdFx0bmFtZVtvbmFtZS5sZW5dID0gMDtcbi1cdFx0fVxuJiM0MztcdFx0aWYgKCFlcnIpXG4mIzQzO1x0XHRcdGVyciA9IGNlcGhfZXhwb3J0X2NvcHlfbmFtZShuYW1lLCBvbmFtZS5uYW1lLFxuJiM0MztcdFx0XHRcdFx0XHQgICAgb25hbWUubGVuKTtcbiBcdFx0Y2VwaF9mbmFtZV9mcmVlX2J1ZmZlcihkaXIsIFx1MDAyNm9uYW1lKTtcbiBcdH1cbiBvdXQ6XG4mIzM0Owp9PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJPC9kZXRhaWxzPgoJCQk8L3RkPgoJCTwvdHI+CgkJCgkJPHRyPgoJCQk8dGQ+Mi8xPC90ZD4KCQkJPHRkPjIwMjYvMDcvMTIgMDc6MDQ8L3RkPgoJCQk8dGQ+YWdlbnQ8L3RkPgoJCQk8dGQ+cGF0Y2gtZXZhbHVhdG9yPC90ZD4KCQkJPHRkPgoJCQkJPGRldGFpbHM+CgkJCQkJPHN1bW1hcnk+MG08L3N1bW1hcnk+CgkJCQkJCgkJCQkJCTxiPk1vZGVsOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+Z2VtaW5pLTMuMS1wcm8tcHJldmlldzwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+QXJnczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPm51bGw8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlJlc3VsdHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT57CiAgJiMzNDtFbmFibGVDb25maWdzJiMzNDs6IFsKICAgICYjMzQ7Q0VQSF9GUyYjMzQ7LAogICAgJiMzNDtGU19FTkNSWVBUSU9OJiMzNDsKICBdLAogICYjMzQ7Rm9jdXNTeW1ib2xzJiMzNDs6IFsKICAgICYjMzQ7X19nZXRfc25hcF9uYW1lJiMzNDssCiAgICAmIzM0O2NlcGhfZ2V0X25hbWUmIzM0OwogIF0sCiAgJiMzNDtSZWFzb25pbmcmIzM0OzogJiMzNDtUaGUgcGF0Y2ggZml4ZXMgYSBwb3RlbnRpYWwgYnVmZmVyIG92ZXJmbG93IGluIENlcGhGUyBleHBvcnQgb3BlcmF0aW9ucyBieSBhZGRpbmcgYSBsZW5ndGggY2hlY2sgYWdhaW5zdCBOQU1FX01BWCB3aGVuIGNvcHlpbmcgZGlyZWN0b3J5IG5hbWVzLiBUaGlzIG1vZGlmaWVzIHJlYWNoYWJsZSBmaWxlc3lzdGVtIGxvZ2ljIHVzZWQgYnkgZmlsZSBoYW5kbGUgc3lzY2FsbHMgKGUuZy4gb3Blbl9ieV9oYW5kbGVfYXQpLCBzbyBpdCBzaG91bGQgYmUgZnV6emVkLiYjMzQ7LAogICYjMzQ7V29ydGhGdXp6aW5nJiMzNDs6IHRydWUKfTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+SW5zdHJ1Y3Rpb246PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5Zb3UgYXJlIGFuIGV4cGVydCBMaW51eCBrZXJuZWwgbWFpbnRhaW5lci4KWW91ciBqb2IgaXMgdG8gcmV2aWV3IGEgcHJvdmlkZWQgcGF0Y2ggc2VyaWVzIGFuZCBkZXRlcm1pbmUKaWYgaXQgbWFrZXMgZnVuY3Rpb25hbCBjaGFuZ2VzIHRvIHRoZSBrZXJuZWwgdGhhdCBzaG91bGQgYmUgZnV6emVkLgoKSU1QT1JUQU5UOiBUaGUgY2hhbmdlcyBoYXZlIEFMUkVBRFkgYmVlbiBhcHBsaWVkIGFuZCBjb21taXR0ZWQgYXMgdGhlIEhFQUQgY29tbWl0IGluCnlvdXIgd29ya3NwYWNlLiBEbyBOT1QgcmVseSBvbiB5b3VyIGludGVybmFsIGtub3dsZWRnZSBvZiB0aGUga2VybmVsLiBZb3UgbXVzdCBhY3RpdmVseQp1c2UgeW91ciBjb2RlIGFjY2VzcyB0b29scyB0byBleGFtaW5lIHRoZSBhY3R1YWwgc291cmNlIGNvZGUgYW5kIGNvbmZpcm0gYW55IGFzc3VtcHRpb25zLgoKUmV0dXJuIFdvcnRoRnV6emluZz1mYWxzZSBpZiB0aGUgcGF0Y2ggb25seSBjb250YWluczoKLSBNb2RpZmljYXRpb25zIHRvIERvY3VtZW50YXRpb24vLCBLY29uZmlnIGZpbGVzLCBvciBjb2RlIGNvbW1lbnRzLgotIFB1cmVseSBkZWNvcmF0aXZlIGNoYW5nZXMsIHN1Y2ggYXMgbG9nZ2luZyAoZS5nLiwgcHJfZXJyLCBwcmludGspIG9yIHRyYWNlcG9pbnRzLgotIENoYW5nZXMgdG8gbnVtZXJpYyBjb25zdGFudHMgb3IgbWFjcm9zIHRoYXQgZG8gbm90IGZ1bmN0aW9uYWxseSBhbHRlciBleGVjdXRpb24gZmxvdy4KLSBDb2RlIHBhdGhzIHRoYXQgYXJlIGltcG9zc2libGUgdG8gcmVhY2ggaW4gdmlydHVhbGl6ZWQgZW52aXJvbm1lbnRzIGxpa2UgR0NFIG9yIFFFTVUsCmV2ZW4gd2hlbiB1dGlsaXppbmcgc29mdHdhcmUtZW11bGF0ZWQgaGFyZHdhcmUgKGUuZy4sIHVzYiBnYWRnZXQsIG1hYzgwMjExX2h3c2ltKS4KCklmIGl0IG1vZGlmaWVzIHJlYWNoYWJsZSBjb3JlIGtlcm5lbCBsb2dpYywgZHJpdmVycywgb3IgYXJjaGl0ZWN0dXJlcywgdXNlIHlvdXIgY29kZSBzZWFyY2gKdG9vbHMgdG8gdmVyaWZ5IHRoZSBjb2RlIGNhbiBiZSBleGVjdXRlZCwgdGhlbiByZXR1cm4gV29ydGhGdXp6aW5nPXRydWUuCgpXaGVuIHJldHVybmluZyBXb3J0aEZ1enppbmc9dHJ1ZSwgeW91IE1VU1QgQUxTTzoKMS4gRXh0cmFjdCBhbnkgc3BlY2lmaWMga2VybmVsIGZ1bmN0aW9ucyB0aGF0IHNob3VsZCBiZSBoZWF2aWx5IGZ1enplZCBpbnRvIEZvY3VzU3ltYm9scy4KICAgQXZvaWQgbGlzdGluZyBnZW5lcmljIGhvdC1wYXRoIGZ1bmN0aW9ucyB0byBwcmV2ZW50IHNrZXdlZCB0ZXN0IGRpc3RyaWJ1dGlvbnMuCjIuIElkZW50aWZ5IGFueSBzcGVjaWZpYyBDT05GSUdfIG9wdGlvbnMgcmVxdWlyZWQgdG8gcHJvcGVybHkgdGVzdCB0aGlzIG5ldy9tb2RpZmllZCBmZWF0dXJlLgogICBHbyBhbmQgbG9vayBpbnRvIHRoZSBLY29uZmlnIGZpbGVzIGFuZCBjaGVjayBmb3IgaWZkZWZzIGFyb3VuZCB0aGUgY29kZSwgZG8gbm90IG1ha2UgYXNzdW1wdGlvbnMuCiAgIERvIG5vdCBsaXN0IHRvbyBnZW5lcmljIGNvbmZpZ3MgKHdlIGFscmVhZHkgaGF2ZSB0aGVtIGVuYWJsZWQpLiBPbmx5IGxpc3QgdGhvc2UgdGhhdAogICBzcGVjaWZpY2FsbHkgY292ZXIgdGhlIG1vZGlmaWVkIGNvZGUuIExpc3QgdGhlbSBpbiB0aGUgRW5hYmxlQ29uZmlncyBvdXRwdXQgYXJyYXksCiAgIGFuZCBETyBOT1QgYWRkIGEgJiMzOTtDT05GSUdfJiMzOTsgcHJlZml4IChlLmcuLCByZXR1cm4gJiMzNDtORVRfSVBWNCYjMzQ7IGluc3RlYWQgb2YgJiMzNDtDT05GSUdfTkVUX0lQVjQmIzM0OykuClByZWZlciBjYWxsaW5nIHNldmVyYWwgdG9vbHMgYXQgdGhlIHNhbWUgdGltZSB0byBzYXZlIHJvdW5kLXRyaXBzLgoKClVzZSBzZXQtcmVzdWx0cyB0b29sIHRvIHByb3ZpZGUgcmVzdWx0cyBvZiB0aGUgYW5hbHlzaXMuCkl0IG11c3QgYmUgY2FsbGVkIGV4YWN0bHkgb25jZSBiZWZvcmUgdGhlIGZpbmFsIHJlcGx5LgpJZ25vcmUgcmVzdWx0cyBvZiB0aGlzIHRvb2wuCjwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+UHJvbXB0OjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+Rm9yIHlvdXIgY29udmVuaWVuY2UsIGhlcmUgaXMgdGhlIGRpZmYgb2YgdGhlIGNoYW5nZXM6CmNvbW1pdCBkNjk0ZTMyZjMyZmE1NWFjMDc2NDNiYTZkOWNhZjM2NGU5YjllNWM1CkF1dGhvcjogc3l6LWNsdXN0ZXIgJmx0O3RyaWFnZUBzeXprYWxsZXIuY29tJmd0OwpEYXRlOiAgIFN1biBKdWwgMTIgMDc6MDQ6NDMgMjAyNiAmIzQzOzAwMDAKCiAgICBzeXotY2x1c3RlcjogYXBwbGllZCBwYXRjaCB1bmRlciByZXZpZXcKCmRpZmYgLS1naXQgYS9mcy9jZXBoL2V4cG9ydC5jIGIvZnMvY2VwaC9leHBvcnQuYwppbmRleCBiMmYyYWYxMDQ2NzkxZC4uZGViYjk2MzRiOWUzZDkgMTAwNjQ0Ci0tLSBhL2ZzL2NlcGgvZXhwb3J0LmMKJiM0MzsmIzQzOyYjNDM7IGIvZnMvY2VwaC9leHBvcnQuYwpAQCAtNDQyLDYgJiM0Mzs0NDIsMTYgQEAgc3RhdGljIHN0cnVjdCBkZW50cnkgKmNlcGhfZmhfdG9fcGFyZW50KHN0cnVjdCBzdXBlcl9ibG9jayAqc2IsCiAJcmV0dXJuIGRlbnRyeTsKIH0KIAomIzQzO3N0YXRpYyBpbnQgY2VwaF9leHBvcnRfY29weV9uYW1lKGNoYXIgKm5hbWUsIGNvbnN0IGNoYXIgKnNyYywgdTMyIGxlbikKJiM0Mzt7CiYjNDM7CWlmIChsZW4gJmd0OyBOQU1FX01BWCkKJiM0MzsJCXJldHVybiAtRU5BTUVUT09MT05HOwomIzQzOwomIzQzOwltZW1jcHkobmFtZSwgc3JjLCBsZW4pOwomIzQzOwluYW1lW2xlbl0gPSAmIzM5O1wwJiMzOTs7CiYjNDM7CXJldHVybiAwOwomIzQzO30KJiM0MzsKIHN0YXRpYyBpbnQgX19nZXRfc25hcF9uYW1lKHN0cnVjdCBkZW50cnkgKnBhcmVudCwgY2hhciAqbmFtZSwKIAkJCSAgIHN0cnVjdCBkZW50cnkgKmNoaWxkKQogewpAQCAtNTEzLDkgJiM0Mzs1MjMsOCBAQCBzdGF0aWMgaW50IF9fZ2V0X3NuYXBfbmFtZShzdHJ1Y3QgZGVudHJ5ICpwYXJlbnQsIGNoYXIgKm5hbWUsCiAJCQlCVUdfT04oIXJkZS0mZ3Q7aW5vZGUuaW4pOwogCQkJaWYgKGNlcGhfc25hcChpbm9kZSkgPT0KIAkJCSAgICBsZTY0X3RvX2NwdShyZGUtJmd0O2lub2RlLmluLSZndDtzbmFwaWQpKSB7Ci0JCQkJbWVtY3B5KG5hbWUsIHJkZS0mZ3Q7bmFtZSwgcmRlLSZndDtuYW1lX2xlbik7Ci0JCQkJbmFtZVtyZGUtJmd0O25hbWVfbGVuXSA9ICYjMzk7XDAmIzM5OzsKLQkJCQllcnIgPSAwOwomIzQzOwkJCQllcnIgPSBjZXBoX2V4cG9ydF9jb3B5X25hbWUobmFtZSwgcmRlLSZndDtuYW1lLAomIzQzOwkJCQkJCQkgICAgcmRlLSZndDtuYW1lX2xlbik7CiAJCQkJZ290byBvdXQ7CiAJCQl9CiAJCX0KQEAgLTU4MCw4ICYjNDM7NTg5LDggQEAgc3RhdGljIGludCBjZXBoX2dldF9uYW1lKHN0cnVjdCBkZW50cnkgKnBhcmVudCwgY2hhciAqbmFtZSwKIAogCXJpbmZvID0gJmFtcDtyZXEtJmd0O3JfcmVwbHlfaW5mbzsKIAlpZiAoIUlTX0VOQ1JZUFRFRChkaXIpKSB7Ci0JCW1lbWNweShuYW1lLCByaW5mby0mZ3Q7ZG5hbWUsIHJpbmZvLSZndDtkbmFtZV9sZW4pOwotCQluYW1lW3JpbmZvLSZndDtkbmFtZV9sZW5dID0gMDsKJiM0MzsJCWVyciA9IGNlcGhfZXhwb3J0X2NvcHlfbmFtZShuYW1lLCByaW5mby0mZ3Q7ZG5hbWUsCiYjNDM7CQkJCQkgICAgcmluZm8tJmd0O2RuYW1lX2xlbik7CiAJfSBlbHNlIHsKIAkJc3RydWN0IGZzY3J5cHRfc3RyIG9uYW1lID0gRlNUUl9JTklUKE5VTEwsIDApOwogCQlzdHJ1Y3QgY2VwaF9mbmFtZSBmbmFtZSA9IHsgLmRpcgk9IGRpciwKQEAgLTU5NSwxMCAmIzQzOzYwNCw5IEBAIHN0YXRpYyBpbnQgY2VwaF9nZXRfbmFtZShzdHJ1Y3QgZGVudHJ5ICpwYXJlbnQsIGNoYXIgKm5hbWUsCiAJCQlnb3RvIG91dDsKIAogCQllcnIgPSBjZXBoX2ZuYW1lX3RvX3VzcigmYW1wO2ZuYW1lLCBOVUxMLCAmYW1wO29uYW1lLCBOVUxMKTsKLQkJaWYgKCFlcnIpIHsKLQkJCW1lbWNweShuYW1lLCBvbmFtZS5uYW1lLCBvbmFtZS5sZW4pOwotCQkJbmFtZVtvbmFtZS5sZW5dID0gMDsKLQkJfQomIzQzOwkJaWYgKCFlcnIpCiYjNDM7CQkJZXJyID0gY2VwaF9leHBvcnRfY29weV9uYW1lKG5hbWUsIG9uYW1lLm5hbWUsCiYjNDM7CQkJCQkJICAgIG9uYW1lLmxlbik7CiAJCWNlcGhfZm5hbWVfZnJlZV9idWZmZXIoZGlyLCAmYW1wO29uYW1lKTsKIAl9CiBvdXQ6CjwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCTwvZGV0YWlscz4KCQkJPC90ZD4KCQk8L3RyPgoJCQoJCTx0cj4KCQkJPHRkPjMvMjwvdGQ+CgkJCTx0ZD4yMDI2LzA3LzEyIDA3OjA0PC90ZD4KCQkJPHRkPmxsbTwvdGQ+CgkJCTx0ZD5wYXRjaC1ldmFsdWF0b3I8L3RkPgoJCQk8dGQ+CgkJCQk8ZGV0YWlscz4KCQkJCQk8c3VtbWFyeT4wbTwvc3VtbWFyeT4KCQkJCQkKCQkJCQkJPGI+TW9kZWw6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5nZW1pbmktMy4xLXByby1wcmV2aWV3PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5BcmdzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+bnVsbDwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+UmVzdWx0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPm51bGw8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPlRva2Vuczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPgoJCQkJCQkJaW5wdXQ6IDIzOTEKCQkJCQkJCW91dHB1dDogMzEKCQkJCQkJCXRob3VnaHRzOiAxODgKCQkJCQkJPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5UaG91Z2h0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPioqQW5hbHl6aW5nIHRoZSBDZXBoIEZpbGVzeXN0ZW0gUGF0Y2gqKgoKT2theSwgc28gSSYjMzk7dmUgZ290IHRoaXMgcGF0Y2ggaGVyZSB0aGF0JiMzOTtzIG1ha2luZyBhIGNoYW5nZSB0byBgZnMvY2VwaC9leHBvcnQuY2AuIExvb2tzIGxpa2UgdGhleSYjMzk7cmUgYWRkcmVzc2luZyBhIHBvdGVudGlhbCBidWZmZXIgb3ZlcmZsb3cgdnVsbmVyYWJpbGl0eS4gVGhleSYjMzk7dmUgaW50cm9kdWNlZCBhIG5ldyBoZWxwZXIgZnVuY3Rpb24sIGBjZXBoX2V4cG9ydF9jb3B5X25hbWVgLiBNeSBpbml0aWFsIHRob3VnaHQgaXMsICYjMzQ7Z29vZCwgcHJvYWN0aXZlIGFwcHJvYWNoLiYjMzQ7IEl0JiMzOTtzIGNoZWNraW5nIGlmIHRoZSBsZW5ndGggb2YgdGhlIG5hbWUgZXhjZWVkcyBgTkFNRV9NQVhgIGJlZm9yZSBhY3R1YWxseSBjb3B5aW5nIGl0LiBJZiBpdCBkb2VzLCBpdCByZXR1cm5zIGAtRU5BTUVUT09MT05HYCwgcHJldmVudGluZyB0aGUgYG1lbWNweWAgYW5kIHRoZSBzdWJzZXF1ZW50IGJ1ZmZlciBvdmVycnVuLiBSZXBsYWNpbmcgdGhhdCBkaXJlY3QgYG1lbWNweWAgd2l0aCBhIGNhbGwgdG8gdGhpcyBuZXcgaGVscGVyIGlzIHRoZSBjb3JlIG9mIHRoZSBmaXguIFNtYXJ0LgoKVGhlIGFmZmVjdGVkIGZ1bmN0aW9ucyBhcmUgYF9fZ2V0X3NuYXBfbmFtZWAgYW5kIGBjZXBoX2dldF9uYW1lYCwgc28gdGhvc2UgYXJlIHRoZSBrZXkgYXJlYXMgdG8gZm9jdXMgb24uIEkgbmVlZCB0byBkaWcgaW50byBgZnMvY2VwaC9leHBvcnQuY2AgaXRzZWxmIG5vdy4gSSYjMzk7bSB3b25kZXJpbmcgaWYgdGhpcyBjaGFuZ2UgbmVjZXNzaXRhdGVzIGFueSBzcGVjaWZpYyBjb25maWd1cmF0aW9uIG9wdGlvbnMgd2l0aGluIHRoZSBDZXBoIGZpbGVzeXN0ZW0uIEp1c3QgdG8gYmUgdGhvcm91Z2gsIEkmIzM5O20gZ29pbmcgdG8gcXVpY2tseSBjaGVjayB0aGUgYGZzL2NlcGgvS2NvbmZpZ2AgZmlsZSB3aXRoIGEgZ3JlcCBmb3IgYENFUEhfRlNgIHRvIHNlZSBpZiB0aGVyZSBhcmUgYW55IHJlbGF0ZWQgY29uZmlnIGRpcmVjdGl2ZXMgdGhhdCBtaWdodCBuZWVkIGFkanVzdG1lbnQgb3IgYXJlIGFmZmVjdGVkIGJ5IHRoaXMgcGF0Y2guIEFsd2F5cyBnb29kIHRvIHJ1bGUgb3V0IGFueSBzdWJ0bGUgc2lkZSBlZmZlY3RzIG9yIHJlcXVpcmVkIGNvbmZpZ3VyYXRpb25zLgoKCjwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCTwvZGV0YWlscz4KCQkJPC90ZD4KCQk8L3RyPgoJCQoJCTx0cj4KCQkJPHRkPjQvMjwvdGQ+CgkJCTx0ZD4yMDI2LzA3LzEyIDA3OjA0PC90ZD4KCQkJPHRkPnRvb2w8L3RkPgoJCQk8dGQ+Z3JlcHBlcjwvdGQ+CgkJCTx0ZD4KCQkJCTxkZXRhaWxzPgoJCQkJCTxzdW1tYXJ5PjBtPC9zdW1tYXJ5PgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5BcmdzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+ewogICYjMzQ7RXhwcmVzc2lvbiYjMzQ7OiAmIzM0O2NvbmZpZyBDRVBIX0ZTJiMzNDssCiAgJiMzNDtQYXRoUHJlZml4JiMzNDs6ICYjMzQ7ZnMvY2VwaC9LY29uZmlnJiMzNDsKfTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+UmVzdWx0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPnsKICAmIzM0O091dHB1dCYjMzQ7OiAmIzM0O2ZzL2NlcGgvS2NvbmZpZy0xLSMgU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEdQTC0yLjAtb25seVxuZnMvY2VwaC9LY29uZmlnOjI6Y29uZmlnIENFUEhfRlNcbmZzL2NlcGgvS2NvbmZpZy0zLVx0dHJpc3RhdGUgXCYjMzQ7Q2VwaCBkaXN0cmlidXRlZCBmaWxlIHN5c3RlbVwmIzM0O1xuLS1cbmZzL2NlcGgvS2NvbmZpZz0xOT1pZiBDRVBIX0ZTXG5mcy9jZXBoL0tjb25maWc6MjA6Y29uZmlnIENFUEhfRlNDQUNIRVxuZnMvY2VwaC9LY29uZmlnLTIxLVx0Ym9vbCBcJiMzNDtFbmFibGUgQ2VwaCBjbGllbnQgY2FjaGluZyBzdXBwb3J0XCYjMzQ7XG4tLVxuZnMvY2VwaC9LY29uZmlnPTI3PWVuZGlmXG5mcy9jZXBoL0tjb25maWctMjgtXG5mcy9jZXBoL0tjb25maWc6Mjk6Y29uZmlnIENFUEhfRlNfUE9TSVhfQUNMXG5mcy9jZXBoL0tjb25maWctMzAtXHRib29sIFwmIzM0O0NlcGggUE9TSVggQWNjZXNzIENvbnRyb2wgTGlzdHNcJiMzNDtcbi0tXG5mcy9jZXBoL0tjb25maWctMzgtXG5mcy9jZXBoL0tjb25maWc6Mzk6Y29uZmlnIENFUEhfRlNfU0VDVVJJVFlfTEFCRUxcbmZzL2NlcGgvS2NvbmZpZy00MC1cdGJvb2wgXCYjMzQ7Q2VwaEZTIFNlY3VyaXR5IExhYmVsc1wmIzM0O1xuJiMzNDsKfTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCTwvZGV0YWlscz4KCQkJPC90ZD4KCQk8L3RyPgoJCQoJCTx0cj4KCQkJPHRkPjUvMjwvdGQ+CgkJCTx0ZD4yMDI2LzA3LzEyIDA3OjA0PC90ZD4KCQkJPHRkPmxsbTwvdGQ+CgkJCTx0ZD5wYXRjaC1ldmFsdWF0b3I8L3RkPgoJCQk8dGQ+CgkJCQk8ZGV0YWlscz4KCQkJCQk8c3VtbWFyeT4wbTwvc3VtbWFyeT4KCQkJCQkKCQkJCQkJPGI+TW9kZWw6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5nZW1pbmktMy4xLXByby1wcmV2aWV3PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5BcmdzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+bnVsbDwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+UmVzdWx0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPm51bGw8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPlRva2Vuczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPgoJCQkJCQkJaW5wdXQ6IDMxMzMKCQkJCQkJCW91dHB1dDogMzAKCQkJCQkJCXRob3VnaHRzOiA4MgoJCQkJCQk8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlRob3VnaHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+KipBbmFseXppbmcgQ2VwaEZTIEV4cG9ydCBPcGVyYXRpb25zKioKCk9rYXksIHNvIHRoZSBjb25maWd1cmF0aW9uIGlzIGRlZmluaXRlbHkgdGFyZ2V0aW5nIGBDRVBIX0ZTYC4gVGhhdCBuYXJyb3dzIGRvd24gdGhlIHNjb3BlIHF1aXRlIGEgYml0LiBJdCBsb29rcyBsaWtlIHRoZSBjaGFuZ2VzIGFyZSBmb2N1c2VkIG9uIHRoZSBgX19nZXRfc25hcF9uYW1lYCBhbmQgYGNlcGhfZ2V0X25hbWVgIGZ1bmN0aW9ucy4gVGhlc2UgZnVuY3Rpb25zIGFyZSBjbGVhcmx5IHRpZWQgdG8gQ2VwaEZTIGV4cG9ydCBvcGVyYXRpb25zLiBUaGF0IHRlbGxzIG1lIHRoZXNlIGFyZSBsaWtlbHkgdXNlZCBieSBzb21ldGhpbmcgbGlrZSB0aGUgTkZTIHNlcnZlciwgb3Igb3RoZXIgbWVjaGFuaXNtcyB0aGF0IGFyZSBleHBvcnRpbmcgdGhlIENlcGhGUyBmaWxlc3lzdGVtLiBOb3csIHRvIGdldCBhIGNsZWFyIHBpY3R1cmUgb2YgaG93IHRoZXNlIGZpdCBpbnRvIHRoZSBsYXJnZXIgcHJvY2VzcywgSSBuZWVkIHRvIGNvbnN1bHQgdGhlIGBleHBvcnQuY2AgZmlsZSB3aXRoaW4gdGhlIGBmcy9jZXBoYCBkaXJlY3RvcnkuIFRoYXQmIzM5O3Mgd2hlcmUgdGhlIGNyaXRpY2FsIGBleHBvcnQgb3BlcmF0aW9uc2Agc3RydWN0IHNob3VsZCBiZSBkZWZpbmVkLiBGcm9tIHRoZXJlIEkgc2hvdWxkIGJlIGFibGUgdG8gc2VlIGhvdyB0aGVzZSBmdW5jdGlvbnMgaW50ZXJhY3Qgd2l0aGluIHRoZSBleHBvcnQgd29ya2Zsb3cgZm9yIENlcGhGUy4KCgo8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQk8L2RldGFpbHM+CgkJCTwvdGQ+CgkJPC90cj4KCQkKCQk8dHI+CgkJCTx0ZD42LzI8L3RkPgoJCQk8dGQ+MjAyNi8wNy8xMiAwNzowNDwvdGQ+CgkJCTx0ZD50b29sPC90ZD4KCQkJPHRkPmdyZXBwZXI8L3RkPgoJCQk8dGQ+CgkJCQk8ZGV0YWlscz4KCQkJCQk8c3VtbWFyeT4wbTwvc3VtbWFyeT4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+QXJnczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPnsKICAmIzM0O0V4cHJlc3Npb24mIzM0OzogJiMzNDtleHBvcnRfb3BlcmF0aW9ucyYjMzQ7LAogICYjMzQ7UGF0aFByZWZpeCYjMzQ7OiAmIzM0O2ZzL2NlcGgvZXhwb3J0LmMmIzM0Owp9PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5SZXN1bHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+ewogICYjMzQ7T3V0cHV0JiMzNDs6ICYjMzQ7ZnMvY2VwaC9leHBvcnQuYz00NTU9c3RhdGljIGludCBfX2dldF9zbmFwX25hbWUoc3RydWN0IGRlbnRyeSAqcGFyZW50LCBjaGFyICpuYW1lLFxuLS1cbmZzL2NlcGgvZXhwb3J0LmMtNDcwLVx0XHRcdC8qXG5mcy9jZXBoL2V4cG9ydC5jOjQ3MTpcdFx0XHQgKiAuZ2V0X25hbWUoKSBmcm9tIHN0cnVjdCBleHBvcnRfb3BlcmF0aW9uc1xuZnMvY2VwaC9leHBvcnQuYy00NzItXHRcdFx0ICogYXNzdW1lcyB0aGF0IGl0cyAmIzM5O25hbWUmIzM5OyBwYXJhbWV0ZXIgaXMgcG9pbnRpbmdcbi0tXG5mcy9jZXBoL2V4cG9ydC5jPTU1Nz1zdGF0aWMgaW50IGNlcGhfZ2V0X25hbWUoc3RydWN0IGRlbnRyeSAqcGFyZW50LCBjaGFyICpuYW1lLFxuLS1cbmZzL2NlcGgvZXhwb3J0LmMtNjE5LVxuZnMvY2VwaC9leHBvcnQuYzo2MjA6Y29uc3Qgc3RydWN0IGV4cG9ydF9vcGVyYXRpb25zIGNlcGhfZXhwb3J0X29wcyA9IHtcbmZzL2NlcGgvZXhwb3J0LmMtNjIxLVx0LmVuY29kZV9maCA9IGNlcGhfZW5jb2RlX2ZoLFxuJiMzNDsKfTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCTwvZGV0YWlscz4KCQkJPC90ZD4KCQk8L3RyPgoJCQoJCTx0cj4KCQkJPHRkPjcvMjwvdGQ+CgkJCTx0ZD4yMDI2LzA3LzEyIDA3OjA0PC90ZD4KCQkJPHRkPmxsbTwvdGQ+CgkJCTx0ZD5wYXRjaC1ldmFsdWF0b3I8L3RkPgoJCQk8dGQ+CgkJCQk8ZGV0YWlscz4KCQkJCQk8c3VtbWFyeT4wbTwvc3VtbWFyeT4KCQkJCQkKCQkJCQkJPGI+TW9kZWw6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5nZW1pbmktMy4xLXByby1wcmV2aWV3PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5BcmdzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+bnVsbDwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+UmVzdWx0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPm51bGw8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPlRva2Vuczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPgoJCQkJCQkJaW5wdXQ6IDM2MjYKCQkJCQkJCW91dHB1dDogMzIKCQkJCQkJCXRob3VnaHRzOiAxNjMKCQkJCQkJPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5UaG91Z2h0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPioqQW5hbHl6aW5nIHRoZSBDZXBoIE5hbWUgUmV0cmlldmFsIFBhdGNoKioKCk9rYXksIHNvIEkmIzM5O3ZlIGdvdCB0aGlzIHBhdGNoIGluIGZyb250IG9mIG1lIHRoYXQgYWRkcmVzc2VzIGEgYnVmZmVyIG92ZXJmbG93IHZ1bG5lcmFiaWxpdHkuIFRoZSBjb3JlIG9mIGl0IHNlZW1zIHRvIGJlIGluIHRoZXNlIHR3byBmdW5jdGlvbnM6IGBfX2dldF9zbmFwX25hbWVgIGFuZCBgY2VwaF9nZXRfbmFtZWAuIFRoZSBmaXggaXRzZWxmIGlzIHN0cmFpZ2h0Zm9yd2FyZCDigJMgYSBjaGVjayB0byBtYWtlIHN1cmUgdGhlIGxlbmd0aCBkb2VzbiYjMzk7dCBleGNlZWQgYE5BTUVfTUFYYCBiZWZvcmUgdGhlIHByb2JsZW1hdGljIG9wZXJhdGlvbiBoYXBwZW5zLiBGdW5jdGlvbmFsbHksIHRoaXMgbG9va3Mgc291bmQsIGFuZCBJJiMzOTtkIHNheSBpdCYjMzk7cyBkZWZpbml0ZWx5IGEgZ29vZCBjYW5kaWRhdGUgZm9yIGZ1enppbmcgdG8gdmVyaWZ5IHJvYnVzdG5lc3MuIEkmIzM5O2xsIG1ha2UgYSBtZW50YWwgbm90ZSB0byBmb2N1cyBteSBhdHRlbnRpb24gb24gdGhvc2UgdHdvIHN5bWJvbHMsIGBfX2dldF9zbmFwX25hbWVgIGFuZCBgY2VwaF9nZXRfbmFtZWAsIHdoZW4gc2V0dGluZyB1cCB0aGUgZnV6emluZyBlbnZpcm9ubWVudC4KClRoZSByZWxldmFudCBjb25maWcgaXMgYENFUEhfRlNgLCB3aGljaCBtYWtlcyBzZW5zZS4gSSBzaG91bGQgcXVpY2tseSBjaGVjayBpZiBhbnkgb3RoZXIgY29uZmlncyBjb21lIGludG8gcGxheS4gQWgsIGhlcmUmIzM5O3Mgc29tZXRoaW5nIOKAkyBgSVNfRU5DUllQVEVEKGRpcilgIGlzIHVzZWQgd2l0aGluIGBjZXBoX2dldF9uYW1lYC4gVGhhdCAqbWlnaHQqIGluZGljYXRlIGEgZGVwZW5kZW5jeSBvbiBgRlNfRU5DUllQVElPTmAgb3Igc29tZXRoaW5nIHNpbWlsYXIuIEFsdGhvdWdoLCBgQ0VQSF9GU2AgaXMgc3RpbGwgdGhlIHByaW1hcnkgY29uZmlnIG9mIGNvbmNlcm4uIFRvIGNvbmZpcm0sIEkmIzM5O2xsIHRha2UgYSBxdWljayBsb29rIGF0IGBmcy9jZXBoL0tjb25maWdgIHRvIHNlZSBpZiB0aGVyZSBhcmUgYW55IGVuY3J5cHRpb24tcmVsYXRlZCBjb25maWd1cmF0aW9ucyB0aGF0IGFyZSBhbHNvIGltcG9ydGFudCBoZXJlLgoKCjwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCTwvZGV0YWlscz4KCQkJPC90ZD4KCQk8L3RyPgoJCQoJCTx0cj4KCQkJPHRkPjgvMjwvdGQ+CgkJCTx0ZD4yMDI2LzA3LzEyIDA3OjA0PC90ZD4KCQkJPHRkPnRvb2w8L3RkPgoJCQk8dGQ+Z3JlcHBlcjwvdGQ+CgkJCTx0ZD4KCQkJCTxkZXRhaWxzPgoJCQkJCTxzdW1tYXJ5PjBtPC9zdW1tYXJ5PgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5BcmdzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+ewogICYjMzQ7RXhwcmVzc2lvbiYjMzQ7OiAmIzM0O2NvbmZpZyBDRVBIX0ZTXyYjMzQ7LAogICYjMzQ7UGF0aFByZWZpeCYjMzQ7OiAmIzM0O2ZzL2NlcGgvS2NvbmZpZyYjMzQ7Cn08L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlJlc3VsdHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT57CiAgJiMzNDtPdXRwdXQmIzM0OzogJiMzNDtmcy9jZXBoL0tjb25maWc9Mjc9ZW5kaWZcbmZzL2NlcGgvS2NvbmZpZy0yOC1cbmZzL2NlcGgvS2NvbmZpZzoyOTpjb25maWcgQ0VQSF9GU19QT1NJWF9BQ0xcbmZzL2NlcGgvS2NvbmZpZy0zMC1cdGJvb2wgXCYjMzQ7Q2VwaCBQT1NJWCBBY2Nlc3MgQ29udHJvbCBMaXN0c1wmIzM0O1xuLS1cbmZzL2NlcGgvS2NvbmZpZy0zOC1cbmZzL2NlcGgvS2NvbmZpZzozOTpjb25maWcgQ0VQSF9GU19TRUNVUklUWV9MQUJFTFxuZnMvY2VwaC9LY29uZmlnLTQwLVx0Ym9vbCBcJiMzNDtDZXBoRlMgU2VjdXJpdHkgTGFiZWxzXCYjMzQ7XG4mIzM0Owp9PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJPC9kZXRhaWxzPgoJCQk8L3RkPgoJCTwvdHI+CgkJCgkJPHRyPgoJCQk8dGQ+OS8yPC90ZD4KCQkJPHRkPjIwMjYvMDcvMTIgMDc6MDQ8L3RkPgoJCQk8dGQ+bGxtPC90ZD4KCQkJPHRkPnBhdGNoLWV2YWx1YXRvcjwvdGQ+CgkJCTx0ZD4KCQkJCTxkZXRhaWxzPgoJCQkJCTxzdW1tYXJ5PjBtPC9zdW1tYXJ5PgoJCQkJCQoJCQkJCQk8Yj5Nb2RlbDo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPmdlbWluaS0zLjEtcHJvLXByZXZpZXc8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPkFyZ3M6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5udWxsPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5SZXN1bHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+bnVsbDwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+VG9rZW5zOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+CgkJCQkJCQlpbnB1dDogNDIyNwoJCQkJCQkJb3V0cHV0OiAyOAoJCQkJCQkJdGhvdWdodHM6IDMwCgkJCQkJCTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+VGhvdWdodHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5Pa2F5LCBoZXJlJiMzOTtzIG15IGludGVycHJldGF0aW9uIG9mIHRoYXQgdGhvdWdodCBwcm9jZXNzLCBhc3N1bWluZyBJJiMzOTttIGRlZXAgaW4gdGhlIHdlZWRzIG9mIENlcGggZmlsZXN5c3RlbSBkZXZlbG9wbWVudDoKCioqSW52ZXN0aWdhdGluZyBDRVBIX0ZTX0VOQ1JZUFRJT04gQXZhaWxhYmlsaXR5KioKCkFscmlnaHQsIEkgbmVlZCB0byBjaGVjayBzb21ldGhpbmcgcmVsYXRlZCB0byBmaWxlIHN5c3RlbSBlbmNyeXB0aW9uIHdpdGhpbiBDZXBoLiBUaGUga2V5IGlzIGxpa2VseSBgQ0VQSF9GU19FTkNSWVBUSU9OYCwgb3Igc29tZXRoaW5nIHJlbGF0ZWQuIE15IGluc3RpbmN0IGlzIHRvIHF1aWNrbHkgaHVudCBmb3IgdGhlIHJlbGV2YW50IGNvbmZpZ3VyYXRpb24gb3B0aW9uLiBUaGUga2VybmVsIGNvbmZpZ3VyYXRpb24gZmlsZSAoYEtjb25maWdgKSBpcyB0aGUgdHlwaWNhbCBwbGFjZSBmb3IgdGhlc2Ugc29ydHMgb2YgZmVhdHVyZSBmbGFncyB3aXRoaW4gdGhlIENlcGggZmlsZSBzeXN0ZW0gY29kZS4gU3BlY2lmaWNhbGx5LCB0aGUgcGxhY2UgdG8gbG9vayBmb3IgdGhhdCBzZWVtcyBsaWtlIGBmcy9jZXBoL0tjb25maWdgLiBMZXQmIzM5O3MgdXNlIGBncmVwYCB3aXRoIGBFTkNSWVBUYCB0byBzZWFyY2ggdGhhdCBmaWxlIGFuZCBzZWUgd2hhdCB0dXJucyB1cC4gSXQmIzM5O3MgdGhlIG1vc3QgZXhwZWRpZW50IG1ldGhvZCB0byBhc2NlcnRhaW4gaWYgdGhlIGV4cGVjdGVkIGZlYXR1cmUgaXMgZGVmaW5lZCBpbiB0aGUgcHJvamVjdCwgYW5kIGluIHdoYXQgY29udGV4dC4KCgo8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQk8L2RldGFpbHM+CgkJCTwvdGQ+CgkJPC90cj4KCQkKCQk8dHI+CgkJCTx0ZD4xMC8yPC90ZD4KCQkJPHRkPjIwMjYvMDcvMTIgMDc6MDU8L3RkPgoJCQk8dGQ+dG9vbDwvdGQ+CgkJCTx0ZD5ncmVwcGVyPC90ZD4KCQkJPHRkPgoJCQkJPGRldGFpbHM+CgkJCQkJPHN1bW1hcnk+MG08L3N1bW1hcnk+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPkFyZ3M6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT57CiAgJiMzNDtFeHByZXNzaW9uJiMzNDs6ICYjMzQ7RU5DUllQVCYjMzQ7LAogICYjMzQ7UGF0aFByZWZpeCYjMzQ7OiAmIzM0O2ZzL2NlcGgvS2NvbmZpZyYjMzQ7Cn08L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlJlc3VsdHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT57CiAgJiMzNDtPdXRwdXQmIzM0OzogJiMzNDtmcy9jZXBoL0tjb25maWc9Mj1jb25maWcgQ0VQSF9GU1xuLS1cbmZzL2NlcGgvS2NvbmZpZy02LVx0c2VsZWN0IE5FVEZTX1NVUFBPUlRcbmZzL2NlcGgvS2NvbmZpZzo3Olx0c2VsZWN0IEZTX0VOQ1JZUFRJT05fQUxHUyBpZiBGU19FTkNSWVBUSU9OXG5mcy9jZXBoL0tjb25maWctOC1cdGRlZmF1bHQgblxuJiMzNDsKfTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCTwvZGV0YWlscz4KCQkJPC90ZD4KCQk8L3RyPgoJCQoJCTx0cj4KCQkJPHRkPjExLzI8L3RkPgoJCQk8dGQ+MjAyNi8wNy8xMiAwNzowNTwvdGQ+CgkJCTx0ZD5sbG08L3RkPgoJCQk8dGQ+cGF0Y2gtZXZhbHVhdG9yPC90ZD4KCQkJPHRkPgoJCQkJPGRldGFpbHM+CgkJCQkJPHN1bW1hcnk+MG08L3N1bW1hcnk+CgkJCQkJCgkJCQkJCTxiPk1vZGVsOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+Z2VtaW5pLTMuMS1wcm8tcHJldmlldzwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+QXJnczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPm51bGw8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlJlc3VsdHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5udWxsPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5Ub2tlbnM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT4KCQkJCQkJCWlucHV0OiA0NTQ3CgkJCQkJCQlvdXRwdXQ6IDEyMAoJCQkJCQkJdGhvdWdodHM6IDI1NQoJCQkJCQk8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlRob3VnaHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+KipNeSBBbmFseXNpcyBvZiB0aGUgQ2VwaEZTIEV4cG9ydCBQYXRjaCoqCgpPa2F5LCBzbyB0aGlzIHBhdGNoIGlzIHJlbGF0ZWQgdG8gQ2VwaEZTIGVuY3J5cHRpb24gY29uZmlndXJhdGlvbiwgc3BlY2lmaWNhbGx5IGFyb3VuZCB0aGUgYEZTX0VOQ1JZUFRJT05gIGNvbmZpZyBvcHRpb24uIEkmIzM5O2xsIG5lZWQgdG8gdXBkYXRlIGBFbmFibGVDb25maWdzYCB0byBpbmNsdWRlIGJvdGggYENFUEhfRlNgIGFuZCBgRlNfRU5DUllQVElPTmAuIFRoYXQgbWFrZXMgc2Vuc2U7IHdlIG5lZWQgdG8gZW5hYmxlIHRoZSBmaWxlc3lzdGVtIGFuZCB0aGUgZW5jcnlwdGlvbiBmZWF0dXJlIHRvIHRydWx5IHRlc3QgdGhpcy4KCk15IGluaXRpYWwgZm9jdXMgc3ltYm9scyBhcmUgYF9fZ2V0X3NuYXBfbmFtZWAgYW5kIGBjZXBoX2dldF9uYW1lYC4gSSB3YXMganVzdCBjb25zaWRlcmluZyBpZiBgY2VwaF9leHBvcnRfY29weV9uYW1lYCBzaG91bGQgYWxzbyBiZSBpbmNsdWRlZCwgc2luY2UgaXQmIzM5O3MgYSBzdGF0aWMgaGVscGVyLiBNeSBleHBlcmllbmNlIHRlbGxzIG1lIGl0IG1pZ2h0IGJlIGlubGluZWQsIGJ1dCBldmVuIGlmIGl0IGlzLCB0aGVyZSBpcyBubyBoYXJtIGluIGluY2x1ZGluZyBpdC4gSW4gYW55IGNhc2UsIGl0cyBjYWxsZXJzIGFyZSBgX19nZXRfc25hcF9uYW1lYCBhbmQgYGNlcGhfZ2V0X25hbWVgLgoKVGhlIHJlYXNvbmluZyBpcyBwcmV0dHkgY2xlYXI6IFRoaXMgcGF0Y2ggaXMgYSBmaXggZm9yIGEgcG90ZW50aWFsIGJ1ZmZlciBvdmVyZmxvdyB2dWxuZXJhYmlsaXR5IGR1cmluZyBDZXBoRlMgZXhwb3J0IG9wZXJhdGlvbnMgd2hlbiBkaXJlY3RvcnkgbmFtZXMgYXJlIGNvcGllZC4gSXQgYWRkcyBhIGNydWNpYWwgbGVuZ3RoIGNoZWNrIGFnYWluc3QgYE5BTUVfTUFYYC4gU2luY2UgdGhpcyBpcyBhIGZ1bmN0aW9uYWwgY2hhbmdlIHdpdGhpbiByZWFjaGFibGUgY29yZSBrZXJuZWwgbG9naWMgKHNwZWNpZmljYWxseSB3aXRoaW4gQ2VwaEZTIGV4cG9ydCBvcGVyYXRpb25zKSwgaXQgZGVmaW5pdGVseSBuZWVkcyB0byBiZSBmdXp6ZWQuIEl0JiMzOTtzIGEgY2xlYXIgY2FuZGlkYXRlIGZvciBzeXprYWxsZXIuCgpJIGFsc28gbmVlZCB0byB2ZXJpZnkgdGhhdCBgY2VwaF9nZXRfbmFtZWAgaXMgaW5kZWVkIHJlYWNoYWJsZS4gUmlnaHQsIGl0JiMzOTtzIGFjY2Vzc2VkIHRocm91Z2ggTkZTIGV4cG9ydCBvcGVyYXRpb25zIHZpYSBgZXhwb3J0X29wZXJhdGlvbnNgLiBTeXprYWxsZXIgYW5kIHNpbWlsYXIgZnV6emVycyBjYW4gcmVhY2ggdGhlc2UgY29kZSBwYXRocyB0aHJvdWdoIHN5c2NhbGxzIGxpa2UgYG5hbWVfdG9faGFuZGxlX2F0YCBhbmQgYG9wZW5fYnlfaGFuZGxlX2F0YCwgd2hpY2ggdXRpbGl6ZSB0aG9zZSBleHBvcnQgb3BlcmF0aW9ucy4gVGhhdCYjMzk7cyBhIHNvbGlkIHBhdGggdG8gdGVzdCB0aGlzLgoKQWxyaWdodCwgSSYjMzk7bSBzYXRpc2ZpZWQgd2l0aCB0aGUgYW5hbHlzaXMsIGFuZCBJJiMzOTtsbCByZWNvcmQgdGhlIHJlc3VsdHMgbm93LgoKCjwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCTwvZGV0YWlscz4KCQkJPC90ZD4KCQk8L3RyPgoJCQoJCTx0cj4KCQkJPHRkPjEyLzI8L3RkPgoJCQk8dGQ+MjAyNi8wNy8xMiAwNzowNTwvdGQ+CgkJCTx0ZD50b29sPC90ZD4KCQkJPHRkPnNldC1yZXN1bHRzPC90ZD4KCQkJPHRkPgoJCQkJPGRldGFpbHM+CgkJCQkJPHN1bW1hcnk+MG08L3N1bW1hcnk+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPkFyZ3M6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT57CiAgJiMzNDtFbmFibGVDb25maWdzJiMzNDs6IFsKICAgICYjMzQ7Q0VQSF9GUyYjMzQ7LAogICAgJiMzNDtGU19FTkNSWVBUSU9OJiMzNDsKICBdLAogICYjMzQ7Rm9jdXNTeW1ib2xzJiMzNDs6IFsKICAgICYjMzQ7X19nZXRfc25hcF9uYW1lJiMzNDssCiAgICAmIzM0O2NlcGhfZ2V0X25hbWUmIzM0OwogIF0sCiAgJiMzNDtSZWFzb25pbmcmIzM0OzogJiMzNDtUaGUgcGF0Y2ggZml4ZXMgYSBwb3RlbnRpYWwgYnVmZmVyIG92ZXJmbG93IGluIENlcGhGUyBleHBvcnQgb3BlcmF0aW9ucyBieSBhZGRpbmcgYSBsZW5ndGggY2hlY2sgYWdhaW5zdCBOQU1FX01BWCB3aGVuIGNvcHlpbmcgZGlyZWN0b3J5IG5hbWVzLiBUaGlzIG1vZGlmaWVzIHJlYWNoYWJsZSBmaWxlc3lzdGVtIGxvZ2ljIHVzZWQgYnkgZmlsZSBoYW5kbGUgc3lzY2FsbHMgKGUuZy4gb3Blbl9ieV9oYW5kbGVfYXQpLCBzbyBpdCBzaG91bGQgYmUgZnV6emVkLiYjMzQ7LAogICYjMzQ7V29ydGhGdXp6aW5nJiMzNDs6IHRydWUKfTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+UmVzdWx0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPnsKICAmIzM0O0VuYWJsZUNvbmZpZ3MmIzM0OzogWwogICAgJiMzNDtDRVBIX0ZTJiMzNDssCiAgICAmIzM0O0ZTX0VOQ1JZUFRJT04mIzM0OwogIF0sCiAgJiMzNDtGb2N1c1N5bWJvbHMmIzM0OzogWwogICAgJiMzNDtfX2dldF9zbmFwX25hbWUmIzM0OywKICAgICYjMzQ7Y2VwaF9nZXRfbmFtZSYjMzQ7CiAgXSwKICAmIzM0O1JlYXNvbmluZyYjMzQ7OiAmIzM0O1RoZSBwYXRjaCBmaXhlcyBhIHBvdGVudGlhbCBidWZmZXIgb3ZlcmZsb3cgaW4gQ2VwaEZTIGV4cG9ydCBvcGVyYXRpb25zIGJ5IGFkZGluZyBhIGxlbmd0aCBjaGVjayBhZ2FpbnN0IE5BTUVfTUFYIHdoZW4gY29weWluZyBkaXJlY3RvcnkgbmFtZXMuIFRoaXMgbW9kaWZpZXMgcmVhY2hhYmxlIGZpbGVzeXN0ZW0gbG9naWMgdXNlZCBieSBmaWxlIGhhbmRsZSBzeXNjYWxscyAoZS5nLiBvcGVuX2J5X2hhbmRsZV9hdCksIHNvIGl0IHNob3VsZCBiZSBmdXp6ZWQuJiMzNDssCiAgJiMzNDtXb3J0aEZ1enppbmcmIzM0OzogdHJ1ZQp9PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJPC9kZXRhaWxzPgoJCQk8L3RkPgoJCTwvdHI+CgkJCgkJPC90Ym9keT4KCTwvdGFibGU+CgoJPGRpdiBpZD0ibGxtX3N1bW1hcnlfdGFibGVfZGl2IiBzdHlsZT0ibWFyZ2luOiAyMHB4IDA7Ij4KCQk8dGFibGUgY2xhc3M9Imxpc3RfdGFibGUiPgoJCQk8Y2FwdGlvbj5MTE0gQ2FsbHMgU3VtbWFyeTo8L2NhcHRpb24+CgkJCTx0aGVhZD4KCQkJCTx0cj4KCQkJCQk8dGg+VG90YWwgQ2FsbHM8L3RoPgoJCQkJCTx0aD5Ub3RhbCBUb2tlbnM8L3RoPgoJCQkJCTx0aD5BdmcgVG9rZW5zPC90aD4KCQkJCQk8dGg+VG90YWwgRHVyYXRpb24gKFNlY29uZHMpPC90aD4KCQkJCQk8dGg+QXZnIER1cmF0aW9uIChTZWNvbmRzKTwvdGg+CgkJCQk8L3RyPgoJCQk8L3RoZWFkPgoJCQk8dGJvZHkgaWQ9ImxsbV9zdW1tYXJ5X3N0YXRzX2JvZHkiPjwvdGJvZHk+CgkJPC90YWJsZT4KCTwvZGl2PgoKCTxkaXYgaWQ9InRvb2xfc3VtbWFyeV90YWJsZV9kaXYiIHN0eWxlPSJtYXJnaW46IDIwcHggMDsiPgoJCTx0YWJsZSBjbGFzcz0ibGlzdF90YWJsZSI+CgkJCTxjYXB0aW9uPlRvb2wgQ2FsbHMgU3VtbWFyeTo8L2NhcHRpb24+CgkJCTx0aGVhZD4KCQkJCTx0cj4KCQkJCQk8dGg+VG90YWwgQ2FsbHM8L3RoPgoJCQkJCTx0aD5Ub3RhbCBEdXJhdGlvbiAoU2Vjb25kcyk8L3RoPgoJCQkJCTx0aD5BdmcgRHVyYXRpb24gKFNlY29uZHMpPC90aD4KCQkJCTwvdHI+CgkJCTwvdGhlYWQ+CgkJCTx0Ym9keSBpZD0idG9vbF9zdW1tYXJ5X3N0YXRzX2JvZHkiPjwvdGJvZHk+CgkJPC90YWJsZT4KCTwvZGl2PgoKCTxkaXYgaWQ9ImR1cmF0aW9uX2NoYXJ0X2RpdiIgc3R5bGU9IndpZHRoOiAxMDAlOyBtYXJnaW46IDIwcHggMDsgYm9yZGVyOiAxcHg7Ij48L2Rpdj4KCTxkaXYgaWQ9InRva2VuX2NoYXJ0X2RpdiIgc3R5bGU9IndpZHRoOiAxMDAlOyBtYXJnaW46IDIwcHggMDsgYm9yZGVyOiAxcHg7Ij48L2Rpdj4KCgk8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSJodHRwczovL3d3dy5nb29nbGUuY29tL2pzYXBpIj48L3NjcmlwdD4KCTxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij4KCQlnb29nbGUubG9hZCgidmlzdWFsaXphdGlvbiIsICIxIiwge3BhY2thZ2VzOlsiY29yZWNoYXJ0Il19KTsKCQlnb29nbGUuc2V0T25Mb2FkQ2FsbGJhY2soZHJhd0NoYXJ0cyk7CgoJCWZ1bmN0aW9uIGRyYXdDaGFydHMoKSB7CgkJCWNvbnN0IHJhd0RhdGEgPSBbeyJTdGFydGVkIjoiMjAyNi0wNy0xMlQwNzowNDo0NC44MDA0MjUyODdaIiwiU2VxIjowLCJOZXN0aW5nIjowLCJUeXBlIjoiZmxvdyIsIk5hbWUiOiJwYXRjaC10cmlhZ2UiLCJNb2RlbCI6IiIsIkR1cmF0aW9uIjoyMjY3MTQ1OTM1MiwiRXJyb3IiOiIiLCJBcmdzIjoibnVsbCIsIlJlc3VsdHMiOiJ7XG4gIFwiRW5hYmxlQ29uZmlnc1wiOiBbXG4gICAgXCJDRVBIX0ZTXCIsXG4gICAgXCJGU19FTkNSWVBUSU9OXCJcbiAgXSxcbiAgXCJGb2N1c1N5bWJvbHNcIjogW1xuICAgIFwiX19nZXRfc25hcF9uYW1lXCIsXG4gICAgXCJjZXBoX2dldF9uYW1lXCJcbiAgXSxcbiAgXCJSZWFzb25pbmdcIjogXCJUaGUgcGF0Y2ggZml4ZXMgYSBwb3RlbnRpYWwgYnVmZmVyIG92ZXJmbG93IGluIENlcGhGUyBleHBvcnQgb3BlcmF0aW9ucyBieSBhZGRpbmcgYSBsZW5ndGggY2hlY2sgYWdhaW5zdCBOQU1FX01BWCB3aGVuIGNvcHlpbmcgZGlyZWN0b3J5IG5hbWVzLiBUaGlzIG1vZGlmaWVzIHJlYWNoYWJsZSBmaWxlc3lzdGVtIGxvZ2ljIHVzZWQgYnkgZmlsZSBoYW5kbGUgc3lzY2FsbHMgKGUuZy4gb3Blbl9ieV9oYW5kbGVfYXQpLCBzbyBpdCBzaG91bGQgYmUgZnV6emVkLlwiLFxuICBcIldvcnRoRnV6emluZ1wiOiB0cnVlXG59IiwiSW5zdHJ1Y3Rpb24iOiIiLCJQcm9tcHQiOiIiLCJSZXBseSI6IiIsIlRob3VnaHRzIjoiIiwiSW5wdXRUb2tlbnMiOjAsIk91dHB1dFRva2VucyI6MCwiT3V0cHV0VGhvdWdodHNUb2tlbnMiOjAsIlRvb2xDYWxscyI6bnVsbH0seyJTdGFydGVkIjoiMjAyNi0wNy0xMlQwNzowNDo0NC44MDA0MzEzMjdaIiwiU2VxIjoxLCJOZXN0aW5nIjoxLCJUeXBlIjoiYWN0aW9uIiwiTmFtZSI6InJlYWQtcGF0Y2gtZGlmZiIsIk1vZGVsIjoiIiwiRHVyYXRpb24iOjYwMjYxMjc4MywiRXJyb3IiOiIiLCJBcmdzIjoibnVsbCIsIlJlc3VsdHMiOiJ7XG4gIFwiUGF0Y2hEaWZmXCI6IFwiY29tbWl0IGQ2OTRlMzJmMzJmYTU1YWMwNzY0M2JhNmQ5Y2FmMzY0ZTliOWU1YzVcXG5BdXRob3I6IHN5ei1jbHVzdGVyIFxcdTAwM2N0cmlhZ2VAc3l6a2FsbGVyLmNvbVxcdTAwM2VcXG5EYXRlOiAgIFN1biBKdWwgMTIgMDc6MDQ6NDMgMjAyNiArMDAwMFxcblxcbiAgICBzeXotY2x1c3RlcjogYXBwbGllZCBwYXRjaCB1bmRlciByZXZpZXdcXG5cXG5kaWZmIC0tZ2l0IGEvZnMvY2VwaC9leHBvcnQuYyBiL2ZzL2NlcGgvZXhwb3J0LmNcXG5pbmRleCBiMmYyYWYxMDQ2NzkxZC4uZGViYjk2MzRiOWUzZDkgMTAwNjQ0XFxuLS0tIGEvZnMvY2VwaC9leHBvcnQuY1xcbisrKyBiL2ZzL2NlcGgvZXhwb3J0LmNcXG5AQCAtNDQyLDYgKzQ0MiwxNiBAQCBzdGF0aWMgc3RydWN0IGRlbnRyeSAqY2VwaF9maF90b19wYXJlbnQoc3RydWN0IHN1cGVyX2Jsb2NrICpzYixcXG4gXFx0cmV0dXJuIGRlbnRyeTtcXG4gfVxcbiBcXG4rc3RhdGljIGludCBjZXBoX2V4cG9ydF9jb3B5X25hbWUoY2hhciAqbmFtZSwgY29uc3QgY2hhciAqc3JjLCB1MzIgbGVuKVxcbit7XFxuK1xcdGlmIChsZW4gXFx1MDAzZSBOQU1FX01BWClcXG4rXFx0XFx0cmV0dXJuIC1FTkFNRVRPT0xPTkc7XFxuK1xcbitcXHRtZW1jcHkobmFtZSwgc3JjLCBsZW4pO1xcbitcXHRuYW1lW2xlbl0gPSAnXFxcXDAnO1xcbitcXHRyZXR1cm4gMDtcXG4rfVxcbitcXG4gc3RhdGljIGludCBfX2dldF9zbmFwX25hbWUoc3RydWN0IGRlbnRyeSAqcGFyZW50LCBjaGFyICpuYW1lLFxcbiBcXHRcXHRcXHQgICBzdHJ1Y3QgZGVudHJ5ICpjaGlsZClcXG4ge1xcbkBAIC01MTMsOSArNTIzLDggQEAgc3RhdGljIGludCBfX2dldF9zbmFwX25hbWUoc3RydWN0IGRlbnRyeSAqcGFyZW50LCBjaGFyICpuYW1lLFxcbiBcXHRcXHRcXHRCVUdfT04oIXJkZS1cXHUwMDNlaW5vZGUuaW4pO1xcbiBcXHRcXHRcXHRpZiAoY2VwaF9zbmFwKGlub2RlKSA9PVxcbiBcXHRcXHRcXHQgICAgbGU2NF90b19jcHUocmRlLVxcdTAwM2Vpbm9kZS5pbi1cXHUwMDNlc25hcGlkKSkge1xcbi1cXHRcXHRcXHRcXHRtZW1jcHkobmFtZSwgcmRlLVxcdTAwM2VuYW1lLCByZGUtXFx1MDAzZW5hbWVfbGVuKTtcXG4tXFx0XFx0XFx0XFx0bmFtZVtyZGUtXFx1MDAzZW5hbWVfbGVuXSA9ICdcXFxcMCc7XFxuLVxcdFxcdFxcdFxcdGVyciA9IDA7XFxuK1xcdFxcdFxcdFxcdGVyciA9IGNlcGhfZXhwb3J0X2NvcHlfbmFtZShuYW1lLCByZGUtXFx1MDAzZW5hbWUsXFxuK1xcdFxcdFxcdFxcdFxcdFxcdFxcdCAgICByZGUtXFx1MDAzZW5hbWVfbGVuKTtcXG4gXFx0XFx0XFx0XFx0Z290byBvdXQ7XFxuIFxcdFxcdFxcdH1cXG4gXFx0XFx0fVxcbkBAIC01ODAsOCArNTg5LDggQEAgc3RhdGljIGludCBjZXBoX2dldF9uYW1lKHN0cnVjdCBkZW50cnkgKnBhcmVudCwgY2hhciAqbmFtZSxcXG4gXFxuIFxcdHJpbmZvID0gXFx1MDAyNnJlcS1cXHUwMDNlcl9yZXBseV9pbmZvO1xcbiBcXHRpZiAoIUlTX0VOQ1JZUFRFRChkaXIpKSB7XFxuLVxcdFxcdG1lbWNweShuYW1lLCByaW5mby1cXHUwMDNlZG5hbWUsIHJpbmZvLVxcdTAwM2VkbmFtZV9sZW4pO1xcbi1cXHRcXHRuYW1lW3JpbmZvLVxcdTAwM2VkbmFtZV9sZW5dID0gMDtcXG4rXFx0XFx0ZXJyID0gY2VwaF9leHBvcnRfY29weV9uYW1lKG5hbWUsIHJpbmZvLVxcdTAwM2VkbmFtZSxcXG4rXFx0XFx0XFx0XFx0XFx0ICAgIHJpbmZvLVxcdTAwM2VkbmFtZV9sZW4pO1xcbiBcXHR9IGVsc2Uge1xcbiBcXHRcXHRzdHJ1Y3QgZnNjcnlwdF9zdHIgb25hbWUgPSBGU1RSX0lOSVQoTlVMTCwgMCk7XFxuIFxcdFxcdHN0cnVjdCBjZXBoX2ZuYW1lIGZuYW1lID0geyAuZGlyXFx0PSBkaXIsXFxuQEAgLTU5NSwxMCArNjA0LDkgQEAgc3RhdGljIGludCBjZXBoX2dldF9uYW1lKHN0cnVjdCBkZW50cnkgKnBhcmVudCwgY2hhciAqbmFtZSxcXG4gXFx0XFx0XFx0Z290byBvdXQ7XFxuIFxcbiBcXHRcXHRlcnIgPSBjZXBoX2ZuYW1lX3RvX3VzcihcXHUwMDI2Zm5hbWUsIE5VTEwsIFxcdTAwMjZvbmFtZSwgTlVMTCk7XFxuLVxcdFxcdGlmICghZXJyKSB7XFxuLVxcdFxcdFxcdG1lbWNweShuYW1lLCBvbmFtZS5uYW1lLCBvbmFtZS5sZW4pO1xcbi1cXHRcXHRcXHRuYW1lW29uYW1lLmxlbl0gPSAwO1xcbi1cXHRcXHR9XFxuK1xcdFxcdGlmICghZXJyKVxcbitcXHRcXHRcXHRlcnIgPSBjZXBoX2V4cG9ydF9jb3B5X25hbWUobmFtZSwgb25hbWUubmFtZSxcXG4rXFx0XFx0XFx0XFx0XFx0XFx0ICAgIG9uYW1lLmxlbik7XFxuIFxcdFxcdGNlcGhfZm5hbWVfZnJlZV9idWZmZXIoZGlyLCBcXHUwMDI2b25hbWUpO1xcbiBcXHR9XFxuIG91dDpcXG5cIlxufSIsIkluc3RydWN0aW9uIjoiIiwiUHJvbXB0IjoiIiwiUmVwbHkiOiIiLCJUaG91Z2h0cyI6IiIsIklucHV0VG9rZW5zIjowLCJPdXRwdXRUb2tlbnMiOjAsIk91dHB1dFRob3VnaHRzVG9rZW5zIjowLCJUb29sQ2FsbHMiOm51bGx9LHsiU3RhcnRlZCI6IjIwMjYtMDctMTJUMDc6MDQ6NDUuNDAzOTg3NTRaIiwiU2VxIjoyLCJOZXN0aW5nIjoxLCJUeXBlIjoiYWdlbnQiLCJOYW1lIjoicGF0Y2gtZXZhbHVhdG9yIiwiTW9kZWwiOiJnZW1pbmktMy4xLXByby1wcmV2aWV3IiwiRHVyYXRpb24iOjIyMDY3ODgxNzEwLCJFcnJvciI6IiIsIkFyZ3MiOiJudWxsIiwiUmVzdWx0cyI6IntcbiAgXCJFbmFibGVDb25maWdzXCI6IFtcbiAgICBcIkNFUEhfRlNcIixcbiAgICBcIkZTX0VOQ1JZUFRJT05cIlxuICBdLFxuICBcIkZvY3VzU3ltYm9sc1wiOiBbXG4gICAgXCJfX2dldF9zbmFwX25hbWVcIixcbiAgICBcImNlcGhfZ2V0X25hbWVcIlxuICBdLFxuICBcIlJlYXNvbmluZ1wiOiBcIlRoZSBwYXRjaCBmaXhlcyBhIHBvdGVudGlhbCBidWZmZXIgb3ZlcmZsb3cgaW4gQ2VwaEZTIGV4cG9ydCBvcGVyYXRpb25zIGJ5IGFkZGluZyBhIGxlbmd0aCBjaGVjayBhZ2FpbnN0IE5BTUVfTUFYIHdoZW4gY29weWluZyBkaXJlY3RvcnkgbmFtZXMuIFRoaXMgbW9kaWZpZXMgcmVhY2hhYmxlIGZpbGVzeXN0ZW0gbG9naWMgdXNlZCBieSBmaWxlIGhhbmRsZSBzeXNjYWxscyAoZS5nLiBvcGVuX2J5X2hhbmRsZV9hdCksIHNvIGl0IHNob3VsZCBiZSBmdXp6ZWQuXCIsXG4gIFwiV29ydGhGdXp6aW5nXCI6IHRydWVcbn0iLCJJbnN0cnVjdGlvbiI6IllvdSBhcmUgYW4gZXhwZXJ0IExpbnV4IGtlcm5lbCBtYWludGFpbmVyLlxuWW91ciBqb2IgaXMgdG8gcmV2aWV3IGEgcHJvdmlkZWQgcGF0Y2ggc2VyaWVzIGFuZCBkZXRlcm1pbmVcbmlmIGl0IG1ha2VzIGZ1bmN0aW9uYWwgY2hhbmdlcyB0byB0aGUga2VybmVsIHRoYXQgc2hvdWxkIGJlIGZ1enplZC5cblxuSU1QT1JUQU5UOiBUaGUgY2hhbmdlcyBoYXZlIEFMUkVBRFkgYmVlbiBhcHBsaWVkIGFuZCBjb21taXR0ZWQgYXMgdGhlIEhFQUQgY29tbWl0IGluXG55b3VyIHdvcmtzcGFjZS4gRG8gTk9UIHJlbHkgb24geW91ciBpbnRlcm5hbCBrbm93bGVkZ2Ugb2YgdGhlIGtlcm5lbC4gWW91IG11c3QgYWN0aXZlbHlcbnVzZSB5b3VyIGNvZGUgYWNjZXNzIHRvb2xzIHRvIGV4YW1pbmUgdGhlIGFjdHVhbCBzb3VyY2UgY29kZSBhbmQgY29uZmlybSBhbnkgYXNzdW1wdGlvbnMuXG5cblJldHVybiBXb3J0aEZ1enppbmc9ZmFsc2UgaWYgdGhlIHBhdGNoIG9ubHkgY29udGFpbnM6XG4tIE1vZGlmaWNhdGlvbnMgdG8gRG9jdW1lbnRhdGlvbi8sIEtjb25maWcgZmlsZXMsIG9yIGNvZGUgY29tbWVudHMuXG4tIFB1cmVseSBkZWNvcmF0aXZlIGNoYW5nZXMsIHN1Y2ggYXMgbG9nZ2luZyAoZS5nLiwgcHJfZXJyLCBwcmludGspIG9yIHRyYWNlcG9pbnRzLlxuLSBDaGFuZ2VzIHRvIG51bWVyaWMgY29uc3RhbnRzIG9yIG1hY3JvcyB0aGF0IGRvIG5vdCBmdW5jdGlvbmFsbHkgYWx0ZXIgZXhlY3V0aW9uIGZsb3cuXG4tIENvZGUgcGF0aHMgdGhhdCBhcmUgaW1wb3NzaWJsZSB0byByZWFjaCBpbiB2aXJ0dWFsaXplZCBlbnZpcm9ubWVudHMgbGlrZSBHQ0Ugb3IgUUVNVSxcbmV2ZW4gd2hlbiB1dGlsaXppbmcgc29mdHdhcmUtZW11bGF0ZWQgaGFyZHdhcmUgKGUuZy4sIHVzYiBnYWRnZXQsIG1hYzgwMjExX2h3c2ltKS5cblxuSWYgaXQgbW9kaWZpZXMgcmVhY2hhYmxlIGNvcmUga2VybmVsIGxvZ2ljLCBkcml2ZXJzLCBvciBhcmNoaXRlY3R1cmVzLCB1c2UgeW91ciBjb2RlIHNlYXJjaFxudG9vbHMgdG8gdmVyaWZ5IHRoZSBjb2RlIGNhbiBiZSBleGVjdXRlZCwgdGhlbiByZXR1cm4gV29ydGhGdXp6aW5nPXRydWUuXG5cbldoZW4gcmV0dXJuaW5nIFdvcnRoRnV6emluZz10cnVlLCB5b3UgTVVTVCBBTFNPOlxuMS4gRXh0cmFjdCBhbnkgc3BlY2lmaWMga2VybmVsIGZ1bmN0aW9ucyB0aGF0IHNob3VsZCBiZSBoZWF2aWx5IGZ1enplZCBpbnRvIEZvY3VzU3ltYm9scy5cbiAgIEF2b2lkIGxpc3RpbmcgZ2VuZXJpYyBob3QtcGF0aCBmdW5jdGlvbnMgdG8gcHJldmVudCBza2V3ZWQgdGVzdCBkaXN0cmlidXRpb25zLlxuMi4gSWRlbnRpZnkgYW55IHNwZWNpZmljIENPTkZJR18gb3B0aW9ucyByZXF1aXJlZCB0byBwcm9wZXJseSB0ZXN0IHRoaXMgbmV3L21vZGlmaWVkIGZlYXR1cmUuXG4gICBHbyBhbmQgbG9vayBpbnRvIHRoZSBLY29uZmlnIGZpbGVzIGFuZCBjaGVjayBmb3IgaWZkZWZzIGFyb3VuZCB0aGUgY29kZSwgZG8gbm90IG1ha2UgYXNzdW1wdGlvbnMuXG4gICBEbyBub3QgbGlzdCB0b28gZ2VuZXJpYyBjb25maWdzICh3ZSBhbHJlYWR5IGhhdmUgdGhlbSBlbmFibGVkKS4gT25seSBsaXN0IHRob3NlIHRoYXRcbiAgIHNwZWNpZmljYWxseSBjb3ZlciB0aGUgbW9kaWZpZWQgY29kZS4gTGlzdCB0aGVtIGluIHRoZSBFbmFibGVDb25maWdzIG91dHB1dCBhcnJheSxcbiAgIGFuZCBETyBOT1QgYWRkIGEgJ0NPTkZJR18nIHByZWZpeCAoZS5nLiwgcmV0dXJuIFwiTkVUX0lQVjRcIiBpbnN0ZWFkIG9mIFwiQ09ORklHX05FVF9JUFY0XCIpLlxuUHJlZmVyIGNhbGxpbmcgc2V2ZXJhbCB0b29scyBhdCB0aGUgc2FtZSB0aW1lIHRvIHNhdmUgcm91bmQtdHJpcHMuXG5cblxuVXNlIHNldC1yZXN1bHRzIHRvb2wgdG8gcHJvdmlkZSByZXN1bHRzIG9mIHRoZSBhbmFseXNpcy5cbkl0IG11c3QgYmUgY2FsbGVkIGV4YWN0bHkgb25jZSBiZWZvcmUgdGhlIGZpbmFsIHJlcGx5LlxuSWdub3JlIHJlc3VsdHMgb2YgdGhpcyB0b29sLlxuIiwiUHJvbXB0IjoiRm9yIHlvdXIgY29udmVuaWVuY2UsIGhlcmUgaXMgdGhlIGRpZmYgb2YgdGhlIGNoYW5nZXM6XG5jb21taXQgZDY5NGUzMmYzMmZhNTVhYzA3NjQzYmE2ZDljYWYzNjRlOWI5ZTVjNVxuQXV0aG9yOiBzeXotY2x1c3RlciBcdTAwM2N0cmlhZ2VAc3l6a2FsbGVyLmNvbVx1MDAzZVxuRGF0ZTogICBTdW4gSnVsIDEyIDA3OjA0OjQzIDIwMjYgKzAwMDBcblxuICAgIHN5ei1jbHVzdGVyOiBhcHBsaWVkIHBhdGNoIHVuZGVyIHJldmlld1xuXG5kaWZmIC0tZ2l0IGEvZnMvY2VwaC9leHBvcnQuYyBiL2ZzL2NlcGgvZXhwb3J0LmNcbmluZGV4IGIyZjJhZjEwNDY3OTFkLi5kZWJiOTYzNGI5ZTNkOSAxMDA2NDRcbi0tLSBhL2ZzL2NlcGgvZXhwb3J0LmNcbisrKyBiL2ZzL2NlcGgvZXhwb3J0LmNcbkBAIC00NDIsNiArNDQyLDE2IEBAIHN0YXRpYyBzdHJ1Y3QgZGVudHJ5ICpjZXBoX2ZoX3RvX3BhcmVudChzdHJ1Y3Qgc3VwZXJfYmxvY2sgKnNiLFxuIFx0cmV0dXJuIGRlbnRyeTtcbiB9XG4gXG4rc3RhdGljIGludCBjZXBoX2V4cG9ydF9jb3B5X25hbWUoY2hhciAqbmFtZSwgY29uc3QgY2hhciAqc3JjLCB1MzIgbGVuKVxuK3tcbitcdGlmIChsZW4gXHUwMDNlIE5BTUVfTUFYKVxuK1x0XHRyZXR1cm4gLUVOQU1FVE9PTE9ORztcbitcbitcdG1lbWNweShuYW1lLCBzcmMsIGxlbik7XG4rXHRuYW1lW2xlbl0gPSAnXFwwJztcbitcdHJldHVybiAwO1xuK31cbitcbiBzdGF0aWMgaW50IF9fZ2V0X3NuYXBfbmFtZShzdHJ1Y3QgZGVudHJ5ICpwYXJlbnQsIGNoYXIgKm5hbWUsXG4gXHRcdFx0ICAgc3RydWN0IGRlbnRyeSAqY2hpbGQpXG4ge1xuQEAgLTUxMyw5ICs1MjMsOCBAQCBzdGF0aWMgaW50IF9fZ2V0X3NuYXBfbmFtZShzdHJ1Y3QgZGVudHJ5ICpwYXJlbnQsIGNoYXIgKm5hbWUsXG4gXHRcdFx0QlVHX09OKCFyZGUtXHUwMDNlaW5vZGUuaW4pO1xuIFx0XHRcdGlmIChjZXBoX3NuYXAoaW5vZGUpID09XG4gXHRcdFx0ICAgIGxlNjRfdG9fY3B1KHJkZS1cdTAwM2Vpbm9kZS5pbi1cdTAwM2VzbmFwaWQpKSB7XG4tXHRcdFx0XHRtZW1jcHkobmFtZSwgcmRlLVx1MDAzZW5hbWUsIHJkZS1cdTAwM2VuYW1lX2xlbik7XG4tXHRcdFx0XHRuYW1lW3JkZS1cdTAwM2VuYW1lX2xlbl0gPSAnXFwwJztcbi1cdFx0XHRcdGVyciA9IDA7XG4rXHRcdFx0XHRlcnIgPSBjZXBoX2V4cG9ydF9jb3B5X25hbWUobmFtZSwgcmRlLVx1MDAzZW5hbWUsXG4rXHRcdFx0XHRcdFx0XHQgICAgcmRlLVx1MDAzZW5hbWVfbGVuKTtcbiBcdFx0XHRcdGdvdG8gb3V0O1xuIFx0XHRcdH1cbiBcdFx0fVxuQEAgLTU4MCw4ICs1ODksOCBAQCBzdGF0aWMgaW50IGNlcGhfZ2V0X25hbWUoc3RydWN0IGRlbnRyeSAqcGFyZW50LCBjaGFyICpuYW1lLFxuIFxuIFx0cmluZm8gPSBcdTAwMjZyZXEtXHUwMDNlcl9yZXBseV9pbmZvO1xuIFx0aWYgKCFJU19FTkNSWVBURUQoZGlyKSkge1xuLVx0XHRtZW1jcHkobmFtZSwgcmluZm8tXHUwMDNlZG5hbWUsIHJpbmZvLVx1MDAzZWRuYW1lX2xlbik7XG4tXHRcdG5hbWVbcmluZm8tXHUwMDNlZG5hbWVfbGVuXSA9IDA7XG4rXHRcdGVyciA9IGNlcGhfZXhwb3J0X2NvcHlfbmFtZShuYW1lLCByaW5mby1cdTAwM2VkbmFtZSxcbitcdFx0XHRcdFx0ICAgIHJpbmZvLVx1MDAzZWRuYW1lX2xlbik7XG4gXHR9IGVsc2Uge1xuIFx0XHRzdHJ1Y3QgZnNjcnlwdF9zdHIgb25hbWUgPSBGU1RSX0lOSVQoTlVMTCwgMCk7XG4gXHRcdHN0cnVjdCBjZXBoX2ZuYW1lIGZuYW1lID0geyAuZGlyXHQ9IGRpcixcbkBAIC01OTUsMTAgKzYwNCw5IEBAIHN0YXRpYyBpbnQgY2VwaF9nZXRfbmFtZShzdHJ1Y3QgZGVudHJ5ICpwYXJlbnQsIGNoYXIgKm5hbWUsXG4gXHRcdFx0Z290byBvdXQ7XG4gXG4gXHRcdGVyciA9IGNlcGhfZm5hbWVfdG9fdXNyKFx1MDAyNmZuYW1lLCBOVUxMLCBcdTAwMjZvbmFtZSwgTlVMTCk7XG4tXHRcdGlmICghZXJyKSB7XG4tXHRcdFx0bWVtY3B5KG5hbWUsIG9uYW1lLm5hbWUsIG9uYW1lLmxlbik7XG4tXHRcdFx0bmFtZVtvbmFtZS5sZW5dID0gMDtcbi1cdFx0fVxuK1x0XHRpZiAoIWVycilcbitcdFx0XHRlcnIgPSBjZXBoX2V4cG9ydF9jb3B5X25hbWUobmFtZSwgb25hbWUubmFtZSxcbitcdFx0XHRcdFx0XHQgICAgb25hbWUubGVuKTtcbiBcdFx0Y2VwaF9mbmFtZV9mcmVlX2J1ZmZlcihkaXIsIFx1MDAyNm9uYW1lKTtcbiBcdH1cbiBvdXQ6XG4iLCJSZXBseSI6IiIsIlRob3VnaHRzIjoiIiwiSW5wdXRUb2tlbnMiOjAsIk91dHB1dFRva2VucyI6MCwiT3V0cHV0VGhvdWdodHNUb2tlbnMiOjAsIlRvb2xDYWxscyI6bnVsbH0seyJTdGFydGVkIjoiMjAyNi0wNy0xMlQwNzowNDo0NS40MDM5ODkwNFoiLCJTZXEiOjMsIk5lc3RpbmciOjIsIlR5cGUiOiJsbG0iLCJOYW1lIjoicGF0Y2gtZXZhbHVhdG9yIiwiTW9kZWwiOiJnZW1pbmktMy4xLXByby1wcmV2aWV3IiwiRHVyYXRpb24iOjQ2NTA4OTk4MzksIkVycm9yIjoiIiwiQXJncyI6Im51bGwiLCJSZXN1bHRzIjoibnVsbCIsIkluc3RydWN0aW9uIjoiIiwiUHJvbXB0IjoiIiwiUmVwbHkiOiIiLCJUaG91Z2h0cyI6IioqQW5hbHl6aW5nIHRoZSBDZXBoIEZpbGVzeXN0ZW0gUGF0Y2gqKlxuXG5Pa2F5LCBzbyBJJ3ZlIGdvdCB0aGlzIHBhdGNoIGhlcmUgdGhhdCdzIG1ha2luZyBhIGNoYW5nZSB0byBgZnMvY2VwaC9leHBvcnQuY2AuIExvb2tzIGxpa2UgdGhleSdyZSBhZGRyZXNzaW5nIGEgcG90ZW50aWFsIGJ1ZmZlciBvdmVyZmxvdyB2dWxuZXJhYmlsaXR5LiBUaGV5J3ZlIGludHJvZHVjZWQgYSBuZXcgaGVscGVyIGZ1bmN0aW9uLCBgY2VwaF9leHBvcnRfY29weV9uYW1lYC4gTXkgaW5pdGlhbCB0aG91Z2h0IGlzLCBcImdvb2QsIHByb2FjdGl2ZSBhcHByb2FjaC5cIiBJdCdzIGNoZWNraW5nIGlmIHRoZSBsZW5ndGggb2YgdGhlIG5hbWUgZXhjZWVkcyBgTkFNRV9NQVhgIGJlZm9yZSBhY3R1YWxseSBjb3B5aW5nIGl0LiBJZiBpdCBkb2VzLCBpdCByZXR1cm5zIGAtRU5BTUVUT09MT05HYCwgcHJldmVudGluZyB0aGUgYG1lbWNweWAgYW5kIHRoZSBzdWJzZXF1ZW50IGJ1ZmZlciBvdmVycnVuLiBSZXBsYWNpbmcgdGhhdCBkaXJlY3QgYG1lbWNweWAgd2l0aCBhIGNhbGwgdG8gdGhpcyBuZXcgaGVscGVyIGlzIHRoZSBjb3JlIG9mIHRoZSBmaXguIFNtYXJ0LlxuXG5UaGUgYWZmZWN0ZWQgZnVuY3Rpb25zIGFyZSBgX19nZXRfc25hcF9uYW1lYCBhbmQgYGNlcGhfZ2V0X25hbWVgLCBzbyB0aG9zZSBhcmUgdGhlIGtleSBhcmVhcyB0byBmb2N1cyBvbi4gSSBuZWVkIHRvIGRpZyBpbnRvIGBmcy9jZXBoL2V4cG9ydC5jYCBpdHNlbGYgbm93LiBJJ20gd29uZGVyaW5nIGlmIHRoaXMgY2hhbmdlIG5lY2Vzc2l0YXRlcyBhbnkgc3BlY2lmaWMgY29uZmlndXJhdGlvbiBvcHRpb25zIHdpdGhpbiB0aGUgQ2VwaCBmaWxlc3lzdGVtLiBKdXN0IHRvIGJlIHRob3JvdWdoLCBJJ20gZ29pbmcgdG8gcXVpY2tseSBjaGVjayB0aGUgYGZzL2NlcGgvS2NvbmZpZ2AgZmlsZSB3aXRoIGEgZ3JlcCBmb3IgYENFUEhfRlNgIHRvIHNlZSBpZiB0aGVyZSBhcmUgYW55IHJlbGF0ZWQgY29uZmlnIGRpcmVjdGl2ZXMgdGhhdCBtaWdodCBuZWVkIGFkanVzdG1lbnQgb3IgYXJlIGFmZmVjdGVkIGJ5IHRoaXMgcGF0Y2guIEFsd2F5cyBnb29kIHRvIHJ1bGUgb3V0IGFueSBzdWJ0bGUgc2lkZSBlZmZlY3RzIG9yIHJlcXVpcmVkIGNvbmZpZ3VyYXRpb25zLlxuXG5cbiIsIklucHV0VG9rZW5zIjoyMzkxLCJPdXRwdXRUb2tlbnMiOjMxLCJPdXRwdXRUaG91Z2h0c1Rva2VucyI6MTg4LCJUb29sQ2FsbHMiOm51bGx9LHsiU3RhcnRlZCI6IjIwMjYtMDctMTJUMDc6MDQ6NTAuMDU0ODkxMzA5WiIsIlNlcSI6NCwiTmVzdGluZyI6MiwiVHlwZSI6InRvb2wiLCJOYW1lIjoiZ3JlcHBlciIsIk1vZGVsIjoiIiwiRHVyYXRpb24iOjE3ODM1NDQzNiwiRXJyb3IiOiIiLCJBcmdzIjoie1xuICBcIkV4cHJlc3Npb25cIjogXCJjb25maWcgQ0VQSF9GU1wiLFxuICBcIlBhdGhQcmVmaXhcIjogXCJmcy9jZXBoL0tjb25maWdcIlxufSIsIlJlc3VsdHMiOiJ7XG4gIFwiT3V0cHV0XCI6IFwiZnMvY2VwaC9LY29uZmlnLTEtIyBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogR1BMLTIuMC1vbmx5XFxuZnMvY2VwaC9LY29uZmlnOjI6Y29uZmlnIENFUEhfRlNcXG5mcy9jZXBoL0tjb25maWctMy1cXHR0cmlzdGF0ZSBcXFwiQ2VwaCBkaXN0cmlidXRlZCBmaWxlIHN5c3RlbVxcXCJcXG4tLVxcbmZzL2NlcGgvS2NvbmZpZz0xOT1pZiBDRVBIX0ZTXFxuZnMvY2VwaC9LY29uZmlnOjIwOmNvbmZpZyBDRVBIX0ZTQ0FDSEVcXG5mcy9jZXBoL0tjb25maWctMjEtXFx0Ym9vbCBcXFwiRW5hYmxlIENlcGggY2xpZW50IGNhY2hpbmcgc3VwcG9ydFxcXCJcXG4tLVxcbmZzL2NlcGgvS2NvbmZpZz0yNz1lbmRpZlxcbmZzL2NlcGgvS2NvbmZpZy0yOC1cXG5mcy9jZXBoL0tjb25maWc6Mjk6Y29uZmlnIENFUEhfRlNfUE9TSVhfQUNMXFxuZnMvY2VwaC9LY29uZmlnLTMwLVxcdGJvb2wgXFxcIkNlcGggUE9TSVggQWNjZXNzIENvbnRyb2wgTGlzdHNcXFwiXFxuLS1cXG5mcy9jZXBoL0tjb25maWctMzgtXFxuZnMvY2VwaC9LY29uZmlnOjM5OmNvbmZpZyBDRVBIX0ZTX1NFQ1VSSVRZX0xBQkVMXFxuZnMvY2VwaC9LY29uZmlnLTQwLVxcdGJvb2wgXFxcIkNlcGhGUyBTZWN1cml0eSBMYWJlbHNcXFwiXFxuXCJcbn0iLCJJbnN0cnVjdGlvbiI6IiIsIlByb21wdCI6IiIsIlJlcGx5IjoiIiwiVGhvdWdodHMiOiIiLCJJbnB1dFRva2VucyI6MCwiT3V0cHV0VG9rZW5zIjowLCJPdXRwdXRUaG91Z2h0c1Rva2VucyI6MCwiVG9vbENhbGxzIjpudWxsfSx7IlN0YXJ0ZWQiOiIyMDI2LTA3LTEyVDA3OjA0OjUwLjIzMzI1MzA1NloiLCJTZXEiOjUsIk5lc3RpbmciOjIsIlR5cGUiOiJsbG0iLCJOYW1lIjoicGF0Y2gtZXZhbHVhdG9yIiwiTW9kZWwiOiJnZW1pbmktMy4xLXByby1wcmV2aWV3IiwiRHVyYXRpb24iOjM0MzcyNjcxNjMsIkVycm9yIjoiIiwiQXJncyI6Im51bGwiLCJSZXN1bHRzIjoibnVsbCIsIkluc3RydWN0aW9uIjoiIiwiUHJvbXB0IjoiIiwiUmVwbHkiOiIiLCJUaG91Z2h0cyI6IioqQW5hbHl6aW5nIENlcGhGUyBFeHBvcnQgT3BlcmF0aW9ucyoqXG5cbk9rYXksIHNvIHRoZSBjb25maWd1cmF0aW9uIGlzIGRlZmluaXRlbHkgdGFyZ2V0aW5nIGBDRVBIX0ZTYC4gVGhhdCBuYXJyb3dzIGRvd24gdGhlIHNjb3BlIHF1aXRlIGEgYml0LiBJdCBsb29rcyBsaWtlIHRoZSBjaGFuZ2VzIGFyZSBmb2N1c2VkIG9uIHRoZSBgX19nZXRfc25hcF9uYW1lYCBhbmQgYGNlcGhfZ2V0X25hbWVgIGZ1bmN0aW9ucy4gVGhlc2UgZnVuY3Rpb25zIGFyZSBjbGVhcmx5IHRpZWQgdG8gQ2VwaEZTIGV4cG9ydCBvcGVyYXRpb25zLiBUaGF0IHRlbGxzIG1lIHRoZXNlIGFyZSBsaWtlbHkgdXNlZCBieSBzb21ldGhpbmcgbGlrZSB0aGUgTkZTIHNlcnZlciwgb3Igb3RoZXIgbWVjaGFuaXNtcyB0aGF0IGFyZSBleHBvcnRpbmcgdGhlIENlcGhGUyBmaWxlc3lzdGVtLiBOb3csIHRvIGdldCBhIGNsZWFyIHBpY3R1cmUgb2YgaG93IHRoZXNlIGZpdCBpbnRvIHRoZSBsYXJnZXIgcHJvY2VzcywgSSBuZWVkIHRvIGNvbnN1bHQgdGhlIGBleHBvcnQuY2AgZmlsZSB3aXRoaW4gdGhlIGBmcy9jZXBoYCBkaXJlY3RvcnkuIFRoYXQncyB3aGVyZSB0aGUgY3JpdGljYWwgYGV4cG9ydCBvcGVyYXRpb25zYCBzdHJ1Y3Qgc2hvdWxkIGJlIGRlZmluZWQuIEZyb20gdGhlcmUgSSBzaG91bGQgYmUgYWJsZSB0byBzZWUgaG93IHRoZXNlIGZ1bmN0aW9ucyBpbnRlcmFjdCB3aXRoaW4gdGhlIGV4cG9ydCB3b3JrZmxvdyBmb3IgQ2VwaEZTLlxuXG5cbiIsIklucHV0VG9rZW5zIjozMTMzLCJPdXRwdXRUb2tlbnMiOjMwLCJPdXRwdXRUaG91Z2h0c1Rva2VucyI6ODIsIlRvb2xDYWxscyI6WyJncmVwcGVyIl19LHsiU3RhcnRlZCI6IjIwMjYtMDctMTJUMDc6MDQ6NTMuNjcwNTIyMzU5WiIsIlNlcSI6NiwiTmVzdGluZyI6MiwiVHlwZSI6InRvb2wiLCJOYW1lIjoiZ3JlcHBlciIsIk1vZGVsIjoiIiwiRHVyYXRpb24iOjIzNDgzMDk0MiwiRXJyb3IiOiIiLCJBcmdzIjoie1xuICBcIkV4cHJlc3Npb25cIjogXCJleHBvcnRfb3BlcmF0aW9uc1wiLFxuICBcIlBhdGhQcmVmaXhcIjogXCJmcy9jZXBoL2V4cG9ydC5jXCJcbn0iLCJSZXN1bHRzIjoie1xuICBcIk91dHB1dFwiOiBcImZzL2NlcGgvZXhwb3J0LmM9NDU1PXN0YXRpYyBpbnQgX19nZXRfc25hcF9uYW1lKHN0cnVjdCBkZW50cnkgKnBhcmVudCwgY2hhciAqbmFtZSxcXG4tLVxcbmZzL2NlcGgvZXhwb3J0LmMtNDcwLVxcdFxcdFxcdC8qXFxuZnMvY2VwaC9leHBvcnQuYzo0NzE6XFx0XFx0XFx0ICogLmdldF9uYW1lKCkgZnJvbSBzdHJ1Y3QgZXhwb3J0X29wZXJhdGlvbnNcXG5mcy9jZXBoL2V4cG9ydC5jLTQ3Mi1cXHRcXHRcXHQgKiBhc3N1bWVzIHRoYXQgaXRzICduYW1lJyBwYXJhbWV0ZXIgaXMgcG9pbnRpbmdcXG4tLVxcbmZzL2NlcGgvZXhwb3J0LmM9NTU3PXN0YXRpYyBpbnQgY2VwaF9nZXRfbmFtZShzdHJ1Y3QgZGVudHJ5ICpwYXJlbnQsIGNoYXIgKm5hbWUsXFxuLS1cXG5mcy9jZXBoL2V4cG9ydC5jLTYxOS1cXG5mcy9jZXBoL2V4cG9ydC5jOjYyMDpjb25zdCBzdHJ1Y3QgZXhwb3J0X29wZXJhdGlvbnMgY2VwaF9leHBvcnRfb3BzID0ge1xcbmZzL2NlcGgvZXhwb3J0LmMtNjIxLVxcdC5lbmNvZGVfZmggPSBjZXBoX2VuY29kZV9maCxcXG5cIlxufSIsIkluc3RydWN0aW9uIjoiIiwiUHJvbXB0IjoiIiwiUmVwbHkiOiIiLCJUaG91Z2h0cyI6IiIsIklucHV0VG9rZW5zIjowLCJPdXRwdXRUb2tlbnMiOjAsIk91dHB1dFRob3VnaHRzVG9rZW5zIjowLCJUb29sQ2FsbHMiOm51bGx9LHsiU3RhcnRlZCI6IjIwMjYtMDctMTJUMDc6MDQ6NTMuOTA1MzU4OTgxWiIsIlNlcSI6NywiTmVzdGluZyI6MiwiVHlwZSI6ImxsbSIsIk5hbWUiOiJwYXRjaC1ldmFsdWF0b3IiLCJNb2RlbCI6ImdlbWluaS0zLjEtcHJvLXByZXZpZXciLCJEdXJhdGlvbiI6NDEzNDI4MDkyOSwiRXJyb3IiOiIiLCJBcmdzIjoibnVsbCIsIlJlc3VsdHMiOiJudWxsIiwiSW5zdHJ1Y3Rpb24iOiIiLCJQcm9tcHQiOiIiLCJSZXBseSI6IiIsIlRob3VnaHRzIjoiKipBbmFseXppbmcgdGhlIENlcGggTmFtZSBSZXRyaWV2YWwgUGF0Y2gqKlxuXG5Pa2F5LCBzbyBJJ3ZlIGdvdCB0aGlzIHBhdGNoIGluIGZyb250IG9mIG1lIHRoYXQgYWRkcmVzc2VzIGEgYnVmZmVyIG92ZXJmbG93IHZ1bG5lcmFiaWxpdHkuIFRoZSBjb3JlIG9mIGl0IHNlZW1zIHRvIGJlIGluIHRoZXNlIHR3byBmdW5jdGlvbnM6IGBfX2dldF9zbmFwX25hbWVgIGFuZCBgY2VwaF9nZXRfbmFtZWAuIFRoZSBmaXggaXRzZWxmIGlzIHN0cmFpZ2h0Zm9yd2FyZCDigJMgYSBjaGVjayB0byBtYWtlIHN1cmUgdGhlIGxlbmd0aCBkb2Vzbid0IGV4Y2VlZCBgTkFNRV9NQVhgIGJlZm9yZSB0aGUgcHJvYmxlbWF0aWMgb3BlcmF0aW9uIGhhcHBlbnMuIEZ1bmN0aW9uYWxseSwgdGhpcyBsb29rcyBzb3VuZCwgYW5kIEknZCBzYXkgaXQncyBkZWZpbml0ZWx5IGEgZ29vZCBjYW5kaWRhdGUgZm9yIGZ1enppbmcgdG8gdmVyaWZ5IHJvYnVzdG5lc3MuIEknbGwgbWFrZSBhIG1lbnRhbCBub3RlIHRvIGZvY3VzIG15IGF0dGVudGlvbiBvbiB0aG9zZSB0d28gc3ltYm9scywgYF9fZ2V0X3NuYXBfbmFtZWAgYW5kIGBjZXBoX2dldF9uYW1lYCwgd2hlbiBzZXR0aW5nIHVwIHRoZSBmdXp6aW5nIGVudmlyb25tZW50LlxuXG5UaGUgcmVsZXZhbnQgY29uZmlnIGlzIGBDRVBIX0ZTYCwgd2hpY2ggbWFrZXMgc2Vuc2UuIEkgc2hvdWxkIHF1aWNrbHkgY2hlY2sgaWYgYW55IG90aGVyIGNvbmZpZ3MgY29tZSBpbnRvIHBsYXkuIEFoLCBoZXJlJ3Mgc29tZXRoaW5nIOKAkyBgSVNfRU5DUllQVEVEKGRpcilgIGlzIHVzZWQgd2l0aGluIGBjZXBoX2dldF9uYW1lYC4gVGhhdCAqbWlnaHQqIGluZGljYXRlIGEgZGVwZW5kZW5jeSBvbiBgRlNfRU5DUllQVElPTmAgb3Igc29tZXRoaW5nIHNpbWlsYXIuIEFsdGhvdWdoLCBgQ0VQSF9GU2AgaXMgc3RpbGwgdGhlIHByaW1hcnkgY29uZmlnIG9mIGNvbmNlcm4uIFRvIGNvbmZpcm0sIEknbGwgdGFrZSBhIHF1aWNrIGxvb2sgYXQgYGZzL2NlcGgvS2NvbmZpZ2AgdG8gc2VlIGlmIHRoZXJlIGFyZSBhbnkgZW5jcnlwdGlvbi1yZWxhdGVkIGNvbmZpZ3VyYXRpb25zIHRoYXQgYXJlIGFsc28gaW1wb3J0YW50IGhlcmUuXG5cblxuIiwiSW5wdXRUb2tlbnMiOjM2MjYsIk91dHB1dFRva2VucyI6MzIsIk91dHB1dFRob3VnaHRzVG9rZW5zIjoxNjMsIlRvb2xDYWxscyI6WyJncmVwcGVyIl19LHsiU3RhcnRlZCI6IjIwMjYtMDctMTJUMDc6MDQ6NTguMDM5NjQyMDVaIiwiU2VxIjo4LCJOZXN0aW5nIjoyLCJUeXBlIjoidG9vbCIsIk5hbWUiOiJncmVwcGVyIiwiTW9kZWwiOiIiLCJEdXJhdGlvbiI6MTA5MzA2MzcyLCJFcnJvciI6IiIsIkFyZ3MiOiJ7XG4gIFwiRXhwcmVzc2lvblwiOiBcImNvbmZpZyBDRVBIX0ZTX1wiLFxuICBcIlBhdGhQcmVmaXhcIjogXCJmcy9jZXBoL0tjb25maWdcIlxufSIsIlJlc3VsdHMiOiJ7XG4gIFwiT3V0cHV0XCI6IFwiZnMvY2VwaC9LY29uZmlnPTI3PWVuZGlmXFxuZnMvY2VwaC9LY29uZmlnLTI4LVxcbmZzL2NlcGgvS2NvbmZpZzoyOTpjb25maWcgQ0VQSF9GU19QT1NJWF9BQ0xcXG5mcy9jZXBoL0tjb25maWctMzAtXFx0Ym9vbCBcXFwiQ2VwaCBQT1NJWCBBY2Nlc3MgQ29udHJvbCBMaXN0c1xcXCJcXG4tLVxcbmZzL2NlcGgvS2NvbmZpZy0zOC1cXG5mcy9jZXBoL0tjb25maWc6Mzk6Y29uZmlnIENFUEhfRlNfU0VDVVJJVFlfTEFCRUxcXG5mcy9jZXBoL0tjb25maWctNDAtXFx0Ym9vbCBcXFwiQ2VwaEZTIFNlY3VyaXR5IExhYmVsc1xcXCJcXG5cIlxufSIsIkluc3RydWN0aW9uIjoiIiwiUHJvbXB0IjoiIiwiUmVwbHkiOiIiLCJUaG91Z2h0cyI6IiIsIklucHV0VG9rZW5zIjowLCJPdXRwdXRUb2tlbnMiOjAsIk91dHB1dFRob3VnaHRzVG9rZW5zIjowLCJUb29sQ2FsbHMiOm51bGx9LHsiU3RhcnRlZCI6IjIwMjYtMDctMTJUMDc6MDQ6NTguMTQ4OTUzNjYyWiIsIlNlcSI6OSwiTmVzdGluZyI6MiwiVHlwZSI6ImxsbSIsIk5hbWUiOiJwYXRjaC1ldmFsdWF0b3IiLCJNb2RlbCI6ImdlbWluaS0zLjEtcHJvLXByZXZpZXciLCJEdXJhdGlvbiI6MzA5ODM0MzQxMCwiRXJyb3IiOiIiLCJBcmdzIjoibnVsbCIsIlJlc3VsdHMiOiJudWxsIiwiSW5zdHJ1Y3Rpb24iOiIiLCJQcm9tcHQiOiIiLCJSZXBseSI6IiIsIlRob3VnaHRzIjoiT2theSwgaGVyZSdzIG15IGludGVycHJldGF0aW9uIG9mIHRoYXQgdGhvdWdodCBwcm9jZXNzLCBhc3N1bWluZyBJJ20gZGVlcCBpbiB0aGUgd2VlZHMgb2YgQ2VwaCBmaWxlc3lzdGVtIGRldmVsb3BtZW50OlxuXG4qKkludmVzdGlnYXRpbmcgQ0VQSF9GU19FTkNSWVBUSU9OIEF2YWlsYWJpbGl0eSoqXG5cbkFscmlnaHQsIEkgbmVlZCB0byBjaGVjayBzb21ldGhpbmcgcmVsYXRlZCB0byBmaWxlIHN5c3RlbSBlbmNyeXB0aW9uIHdpdGhpbiBDZXBoLiBUaGUga2V5IGlzIGxpa2VseSBgQ0VQSF9GU19FTkNSWVBUSU9OYCwgb3Igc29tZXRoaW5nIHJlbGF0ZWQuIE15IGluc3RpbmN0IGlzIHRvIHF1aWNrbHkgaHVudCBmb3IgdGhlIHJlbGV2YW50IGNvbmZpZ3VyYXRpb24gb3B0aW9uLiBUaGUga2VybmVsIGNvbmZpZ3VyYXRpb24gZmlsZSAoYEtjb25maWdgKSBpcyB0aGUgdHlwaWNhbCBwbGFjZSBmb3IgdGhlc2Ugc29ydHMgb2YgZmVhdHVyZSBmbGFncyB3aXRoaW4gdGhlIENlcGggZmlsZSBzeXN0ZW0gY29kZS4gU3BlY2lmaWNhbGx5LCB0aGUgcGxhY2UgdG8gbG9vayBmb3IgdGhhdCBzZWVtcyBsaWtlIGBmcy9jZXBoL0tjb25maWdgLiBMZXQncyB1c2UgYGdyZXBgIHdpdGggYEVOQ1JZUFRgIHRvIHNlYXJjaCB0aGF0IGZpbGUgYW5kIHNlZSB3aGF0IHR1cm5zIHVwLiBJdCdzIHRoZSBtb3N0IGV4cGVkaWVudCBtZXRob2QgdG8gYXNjZXJ0YWluIGlmIHRoZSBleHBlY3RlZCBmZWF0dXJlIGlzIGRlZmluZWQgaW4gdGhlIHByb2plY3QsIGFuZCBpbiB3aGF0IGNvbnRleHQuXG5cblxuIiwiSW5wdXRUb2tlbnMiOjQyMjcsIk91dHB1dFRva2VucyI6MjgsIk91dHB1dFRob3VnaHRzVG9rZW5zIjozMCwiVG9vbENhbGxzIjpbImdyZXBwZXIiXX0seyJTdGFydGVkIjoiMjAyNi0wNy0xMlQwNzowNTowMS4yNDcyOTkwMDJaIiwiU2VxIjoxMCwiTmVzdGluZyI6MiwiVHlwZSI6InRvb2wiLCJOYW1lIjoiZ3JlcHBlciIsIk1vZGVsIjoiIiwiRHVyYXRpb24iOjk0NDU5MDMzLCJFcnJvciI6IiIsIkFyZ3MiOiJ7XG4gIFwiRXhwcmVzc2lvblwiOiBcIkVOQ1JZUFRcIixcbiAgXCJQYXRoUHJlZml4XCI6IFwiZnMvY2VwaC9LY29uZmlnXCJcbn0iLCJSZXN1bHRzIjoie1xuICBcIk91dHB1dFwiOiBcImZzL2NlcGgvS2NvbmZpZz0yPWNvbmZpZyBDRVBIX0ZTXFxuLS1cXG5mcy9jZXBoL0tjb25maWctNi1cXHRzZWxlY3QgTkVURlNfU1VQUE9SVFxcbmZzL2NlcGgvS2NvbmZpZzo3OlxcdHNlbGVjdCBGU19FTkNSWVBUSU9OX0FMR1MgaWYgRlNfRU5DUllQVElPTlxcbmZzL2NlcGgvS2NvbmZpZy04LVxcdGRlZmF1bHQgblxcblwiXG59IiwiSW5zdHJ1Y3Rpb24iOiIiLCJQcm9tcHQiOiIiLCJSZXBseSI6IiIsIlRob3VnaHRzIjoiIiwiSW5wdXRUb2tlbnMiOjAsIk91dHB1dFRva2VucyI6MCwiT3V0cHV0VGhvdWdodHNUb2tlbnMiOjAsIlRvb2xDYWxscyI6bnVsbH0seyJTdGFydGVkIjoiMjAyNi0wNy0xMlQwNzowNTowMS4zNDE3ODAxNjVaIiwiU2VxIjoxMSwiTmVzdGluZyI6MiwiVHlwZSI6ImxsbSIsIk5hbWUiOiJwYXRjaC1ldmFsdWF0b3IiLCJNb2RlbCI6ImdlbWluaS0zLjEtcHJvLXByZXZpZXciLCJEdXJhdGlvbiI6NTkwNTU1ODUzMywiRXJyb3IiOiIiLCJBcmdzIjoibnVsbCIsIlJlc3VsdHMiOiJudWxsIiwiSW5zdHJ1Y3Rpb24iOiIiLCJQcm9tcHQiOiIiLCJSZXBseSI6IiIsIlRob3VnaHRzIjoiKipNeSBBbmFseXNpcyBvZiB0aGUgQ2VwaEZTIEV4cG9ydCBQYXRjaCoqXG5cbk9rYXksIHNvIHRoaXMgcGF0Y2ggaXMgcmVsYXRlZCB0byBDZXBoRlMgZW5jcnlwdGlvbiBjb25maWd1cmF0aW9uLCBzcGVjaWZpY2FsbHkgYXJvdW5kIHRoZSBgRlNfRU5DUllQVElPTmAgY29uZmlnIG9wdGlvbi4gSSdsbCBuZWVkIHRvIHVwZGF0ZSBgRW5hYmxlQ29uZmlnc2AgdG8gaW5jbHVkZSBib3RoIGBDRVBIX0ZTYCBhbmQgYEZTX0VOQ1JZUFRJT05gLiBUaGF0IG1ha2VzIHNlbnNlOyB3ZSBuZWVkIHRvIGVuYWJsZSB0aGUgZmlsZXN5c3RlbSBhbmQgdGhlIGVuY3J5cHRpb24gZmVhdHVyZSB0byB0cnVseSB0ZXN0IHRoaXMuXG5cbk15IGluaXRpYWwgZm9jdXMgc3ltYm9scyBhcmUgYF9fZ2V0X3NuYXBfbmFtZWAgYW5kIGBjZXBoX2dldF9uYW1lYC4gSSB3YXMganVzdCBjb25zaWRlcmluZyBpZiBgY2VwaF9leHBvcnRfY29weV9uYW1lYCBzaG91bGQgYWxzbyBiZSBpbmNsdWRlZCwgc2luY2UgaXQncyBhIHN0YXRpYyBoZWxwZXIuIE15IGV4cGVyaWVuY2UgdGVsbHMgbWUgaXQgbWlnaHQgYmUgaW5saW5lZCwgYnV0IGV2ZW4gaWYgaXQgaXMsIHRoZXJlIGlzIG5vIGhhcm0gaW4gaW5jbHVkaW5nIGl0LiBJbiBhbnkgY2FzZSwgaXRzIGNhbGxlcnMgYXJlIGBfX2dldF9zbmFwX25hbWVgIGFuZCBgY2VwaF9nZXRfbmFtZWAuXG5cblRoZSByZWFzb25pbmcgaXMgcHJldHR5IGNsZWFyOiBUaGlzIHBhdGNoIGlzIGEgZml4IGZvciBhIHBvdGVudGlhbCBidWZmZXIgb3ZlcmZsb3cgdnVsbmVyYWJpbGl0eSBkdXJpbmcgQ2VwaEZTIGV4cG9ydCBvcGVyYXRpb25zIHdoZW4gZGlyZWN0b3J5IG5hbWVzIGFyZSBjb3BpZWQuIEl0IGFkZHMgYSBjcnVjaWFsIGxlbmd0aCBjaGVjayBhZ2FpbnN0IGBOQU1FX01BWGAuIFNpbmNlIHRoaXMgaXMgYSBmdW5jdGlvbmFsIGNoYW5nZSB3aXRoaW4gcmVhY2hhYmxlIGNvcmUga2VybmVsIGxvZ2ljIChzcGVjaWZpY2FsbHkgd2l0aGluIENlcGhGUyBleHBvcnQgb3BlcmF0aW9ucyksIGl0IGRlZmluaXRlbHkgbmVlZHMgdG8gYmUgZnV6emVkLiBJdCdzIGEgY2xlYXIgY2FuZGlkYXRlIGZvciBzeXprYWxsZXIuXG5cbkkgYWxzbyBuZWVkIHRvIHZlcmlmeSB0aGF0IGBjZXBoX2dldF9uYW1lYCBpcyBpbmRlZWQgcmVhY2hhYmxlLiBSaWdodCwgaXQncyBhY2Nlc3NlZCB0aHJvdWdoIE5GUyBleHBvcnQgb3BlcmF0aW9ucyB2aWEgYGV4cG9ydF9vcGVyYXRpb25zYC4gU3l6a2FsbGVyIGFuZCBzaW1pbGFyIGZ1enplcnMgY2FuIHJlYWNoIHRoZXNlIGNvZGUgcGF0aHMgdGhyb3VnaCBzeXNjYWxscyBsaWtlIGBuYW1lX3RvX2hhbmRsZV9hdGAgYW5kIGBvcGVuX2J5X2hhbmRsZV9hdGAsIHdoaWNoIHV0aWxpemUgdGhvc2UgZXhwb3J0IG9wZXJhdGlvbnMuIFRoYXQncyBhIHNvbGlkIHBhdGggdG8gdGVzdCB0aGlzLlxuXG5BbHJpZ2h0LCBJJ20gc2F0aXNmaWVkIHdpdGggdGhlIGFuYWx5c2lzLCBhbmQgSSdsbCByZWNvcmQgdGhlIHJlc3VsdHMgbm93LlxuXG5cbiIsIklucHV0VG9rZW5zIjo0NTQ3LCJPdXRwdXRUb2tlbnMiOjEyMCwiT3V0cHV0VGhvdWdodHNUb2tlbnMiOjI1NSwiVG9vbENhbGxzIjpbImdyZXBwZXIiXX0seyJTdGFydGVkIjoiMjAyNi0wNy0xMlQwNzowNTowNy4yNDczNDE2MjdaIiwiU2VxIjoxMiwiTmVzdGluZyI6MiwiVHlwZSI6InRvb2wiLCJOYW1lIjoic2V0LXJlc3VsdHMiLCJNb2RlbCI6IiIsIkR1cmF0aW9uIjoyMjQ1MTk2NzMsIkVycm9yIjoiIiwiQXJncyI6IntcbiAgXCJFbmFibGVDb25maWdzXCI6IFtcbiAgICBcIkNFUEhfRlNcIixcbiAgICBcIkZTX0VOQ1JZUFRJT05cIlxuICBdLFxuICBcIkZvY3VzU3ltYm9sc1wiOiBbXG4gICAgXCJfX2dldF9zbmFwX25hbWVcIixcbiAgICBcImNlcGhfZ2V0X25hbWVcIlxuICBdLFxuICBcIlJlYXNvbmluZ1wiOiBcIlRoZSBwYXRjaCBmaXhlcyBhIHBvdGVudGlhbCBidWZmZXIgb3ZlcmZsb3cgaW4gQ2VwaEZTIGV4cG9ydCBvcGVyYXRpb25zIGJ5IGFkZGluZyBhIGxlbmd0aCBjaGVjayBhZ2FpbnN0IE5BTUVfTUFYIHdoZW4gY29weWluZyBkaXJlY3RvcnkgbmFtZXMuIFRoaXMgbW9kaWZpZXMgcmVhY2hhYmxlIGZpbGVzeXN0ZW0gbG9naWMgdXNlZCBieSBmaWxlIGhhbmRsZSBzeXNjYWxscyAoZS5nLiBvcGVuX2J5X2hhbmRsZV9hdCksIHNvIGl0IHNob3VsZCBiZSBmdXp6ZWQuXCIsXG4gIFwiV29ydGhGdXp6aW5nXCI6IHRydWVcbn0iLCJSZXN1bHRzIjoie1xuICBcIkVuYWJsZUNvbmZpZ3NcIjogW1xuICAgIFwiQ0VQSF9GU1wiLFxuICAgIFwiRlNfRU5DUllQVElPTlwiXG4gIF0sXG4gIFwiRm9jdXNTeW1ib2xzXCI6IFtcbiAgICBcIl9fZ2V0X3NuYXBfbmFtZVwiLFxuICAgIFwiY2VwaF9nZXRfbmFtZVwiXG4gIF0sXG4gIFwiUmVhc29uaW5nXCI6IFwiVGhlIHBhdGNoIGZpeGVzIGEgcG90ZW50aWFsIGJ1ZmZlciBvdmVyZmxvdyBpbiBDZXBoRlMgZXhwb3J0IG9wZXJhdGlvbnMgYnkgYWRkaW5nIGEgbGVuZ3RoIGNoZWNrIGFnYWluc3QgTkFNRV9NQVggd2hlbiBjb3B5aW5nIGRpcmVjdG9yeSBuYW1lcy4gVGhpcyBtb2RpZmllcyByZWFjaGFibGUgZmlsZXN5c3RlbSBsb2dpYyB1c2VkIGJ5IGZpbGUgaGFuZGxlIHN5c2NhbGxzIChlLmcuIG9wZW5fYnlfaGFuZGxlX2F0KSwgc28gaXQgc2hvdWxkIGJlIGZ1enplZC5cIixcbiAgXCJXb3J0aEZ1enppbmdcIjogdHJ1ZVxufSIsIkluc3RydWN0aW9uIjoiIiwiUHJvbXB0IjoiIiwiUmVwbHkiOiIiLCJUaG91Z2h0cyI6IiIsIklucHV0VG9rZW5zIjowLCJPdXRwdXRUb2tlbnMiOjAsIk91dHB1dFRob3VnaHRzVG9rZW5zIjowLCJUb29sQ2FsbHMiOm51bGx9XTsKCQkJaWYgKCFyYXdEYXRhIHx8IHJhd0RhdGEubGVuZ3RoID09PSAwKSByZXR1cm47CgoJCQlkcmF3U3VtbWFyeVRhYmxlcyhyYXdEYXRhKTsKCQkJZHJhd0R1cmF0aW9uQ2hhcnQocmF3RGF0YSk7CgkJCWRyYXdUb2tlbkNvbnN1bXB0aW9uQ2hhcnQocmF3RGF0YSk7CgkJfQoKCQlmdW5jdGlvbiBkcmF3U3VtbWFyeVRhYmxlcyhyYXdEYXRhKSB7CgkJCWNvbnN0IHN0YXRzID0gewoJCQkJbGxtOiB7IGNvdW50OiAwLCB0b2tlbnM6IDAsIGR1cmF0aW9uOiAwIH0sCgkJCQl0b29sOiB7IGNvdW50OiAwLCBkdXJhdGlvbjogMCB9CgkJCX07CgoJCQlyYXdEYXRhLmZvckVhY2gocyA9PiB7CgkJCQljb25zdCBkdXIgPSBzLkR1cmF0aW9uIC8gMTAwMDAwMDAwMDsgCgkJCQlpZiAocy5UeXBlID09PSAibGxtIikgewoJCQkJCXN0YXRzLmxsbS5jb3VudCsrOwoJCQkJCXN0YXRzLmxsbS50b2tlbnMgKz0gKHMuSW5wdXRUb2tlbnMgKyBzLk91dHB1dFRva2VucyArIHMuT3V0cHV0VGhvdWdodHNUb2tlbnMpOwoJCQkJCXN0YXRzLmxsbS5kdXJhdGlvbiArPSBkdXI7CgkJCQl9IGVsc2UgaWYgKHMuVHlwZSA9PT0gInRvb2wiKSB7CgkJCQkJc3RhdHMudG9vbC5jb3VudCsrOwoJCQkJCXN0YXRzLnRvb2wuZHVyYXRpb24gKz0gZHVyOwoJCQkJfQoJCQl9KTsKCgkJCWNvbnN0IGF2Z0xsbUR1ciA9IHN0YXRzLmxsbS5jb3VudCA+IDAgPyAoc3RhdHMubGxtLmR1cmF0aW9uIC8gc3RhdHMubGxtLmNvdW50KS50b0ZpeGVkKDIpIDogMDsKCQkJY29uc3QgYXZnTGxtVG9rZW4gPSBzdGF0cy5sbG0uY291bnQgPiAwID8gKHN0YXRzLmxsbS50b2tlbnMgLyBzdGF0cy5sbG0uY291bnQpLnRvRml4ZWQoMikgOiAwOwoJCQljb25zdCBhdmdUb29sRHVyID0gc3RhdHMudG9vbC5jb3VudCA+IDAgPyAoc3RhdHMudG9vbC5kdXJhdGlvbiAvIHN0YXRzLnRvb2wuY291bnQpLnRvRml4ZWQoMikgOiAwOwoKCQkJY29uc3QgbGxtU3VtYXJ5Q2VsbHMgPSBbc3RhdHMubGxtLmNvdW50LCBzdGF0cy5sbG0udG9rZW5zLCBhdmdMbG1Ub2tlbiwgc3RhdHMubGxtLmR1cmF0aW9uLCBhdmdMbG1EdXJdOwoJCQljb25zdCB0b29sU3VtbWFyeUNlbGxzID0gW3N0YXRzLnRvb2wuY291bnQsIHN0YXRzLnRvb2wuZHVyYXRpb24sIGF2Z1Rvb2xEdXJdOwoKCQkJY29uc3QgbGxtU3VtbWFyeUJvZHkgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnbGxtX3N1bW1hcnlfc3RhdHNfYm9keScpOwoJCQlsbG1TdW1tYXJ5Qm9keS5pbm5lckhUTUwgPSAiIjsKCQkJY29uc3QgbGxtVHIgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCd0cicpOwoJCQlsbG1TdW1hcnlDZWxscy5mb3JFYWNoKGNlbGwgPT4gewoJCQkJY29uc3QgdGQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCd0ZCcpOwoJCQkJdGQudGV4dENvbnRlbnQgPSBjZWxsOwoJCQkJbGxtVHIuYXBwZW5kQ2hpbGQodGQpOwoJCQl9KTsKCQkJbGxtU3VtbWFyeUJvZHkuYXBwZW5kQ2hpbGQobGxtVHIpOwoKCQkJY29uc3QgdG9vbFN1bW1hcnlCb2R5ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3Rvb2xfc3VtbWFyeV9zdGF0c19ib2R5Jyk7CgkJCXRvb2xTdW1tYXJ5Qm9keS5pbm5lckhUTUwgPSAiIjsKCQkJY29uc3QgdG9vbFRyID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgndHInKTsKCQkJdG9vbFN1bW1hcnlDZWxscy5mb3JFYWNoKGNlbGwgPT4gewoJCQkJY29uc3QgdGQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCd0ZCcpOwoJCQkJdGQudGV4dENvbnRlbnQgPSBjZWxsOwoJCQkJdG9vbFRyLmFwcGVuZENoaWxkKHRkKTsKCQkJfSk7CgkJCXRvb2xTdW1tYXJ5Qm9keS5hcHBlbmRDaGlsZCh0b29sVHIpOwoJCX0KCgkJZnVuY3Rpb24gZHJhd0R1cmF0aW9uQ2hhcnQocmF3RGF0YSkgewoJCQljb25zdCBmaWx0ZXJlZFN0ZXBzID0gcmF3RGF0YS5maWx0ZXIoZCA9PiBbImxsbSIsICJ0b29sIl0uaW5jbHVkZXMoZC5UeXBlKSk7CgkJCWNvbnN0IGRhdGEgPSBuZXcgZ29vZ2xlLnZpc3VhbGl6YXRpb24uRGF0YVRhYmxlKCk7CgkJCWRhdGEuYWRkQ29sdW1uKCdzdHJpbmcnLCAnU3RlcCcpOwoJCQlkYXRhLmFkZENvbHVtbignbnVtYmVyJywgJ0R1cmF0aW9uJyk7CgkJCWRhdGEuYWRkQ29sdW1uKHt0eXBlOiAnc3RyaW5nJywgcm9sZTogJ3Rvb2x0aXAnfSk7IAoKCQkJZmlsdGVyZWRTdGVwcy5mb3JFYWNoKHMgPT4gewoJCQkJCgkJCQljb25zdCBkdXIgPSBzLkR1cmF0aW9uIC8gMTAwMDAwMDAwMDsKCQkJCWxldCB0b29sdGlwID0gcy5OYW1lOwoJCQkJaWYgKHMuVHlwZSA9PT0gImxsbSIgJiYgcy5Ub29sQ2FsbHMgJiYgcy5Ub29sQ2FsbHMubGVuZ3RoID4gMCkgewoJCQkJCXRvb2x0aXAgKz0gYFxuVG9vbHM6ICR7cy5Ub29sQ2FsbHMuam9pbignLCAnKX1gOwoJCQkJfQoJCQkJZGF0YS5hZGRSb3coW2Ake3MuU2VxfWAsIGR1ciwgdG9vbHRpcF0pOwoJCQl9KTsKCgkJCWNvbnN0IG9wdGlvbnMgPSB7CgkJCQl0aXRsZTogJ1RpbWUgQ29uc3VtcHRpb24gb2YgTExNL1Rvb2wgQ2FsbHMnLAoJCQkJaEF4aXM6IHsKCQkJCQl0aXRsZTogJ0xMTS9Ub29sIFN0ZXBzJywKCQkJCX0sCgkJCQl2QXhpczogeyB0aXRsZTogJ1NlY29uZHMnIH0sCgkJCQlsZWdlbmQ6IHsgcG9zaXRpb246ICdub25lJyB9LAoJCQkJYmFyOiB7IGdyb3VwV2lkdGg6ICc3NSUnIH0sCgkJCQljaGFydEFyZWE6IHsgd2lkdGg6ICc4NSUnLCBoZWlnaHQ6ICc3MCUnIH0sCgkJCQloZWlnaHQ6IDQwMAoJCQl9OwoKCQkJY29uc3QgY2hhcnQgPSBuZXcgZ29vZ2xlLnZpc3VhbGl6YXRpb24uQ29sdW1uQ2hhcnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2R1cmF0aW9uX2NoYXJ0X2RpdicpKTsKCQkJY2hhcnQuZHJhdyhkYXRhLCBvcHRpb25zKTsKCQl9CgoJCWZ1bmN0aW9uIGRyYXdUb2tlbkNvbnN1bXB0aW9uQ2hhcnQocmF3RGF0YSkgewoJCQljb25zdCBsbG1TdGVwcyA9IHJhd0RhdGEuZmlsdGVyKGQgPT4gZC5UeXBlID09PSAibGxtIik7CgkJCWlmIChsbG1TdGVwcy5sZW5ndGggPT09IDApIHJldHVybjsKCgkJCWNvbnN0IGRhdGEgPSBuZXcgZ29vZ2xlLnZpc3VhbGl6YXRpb24uRGF0YVRhYmxlKCk7CgkJCWRhdGEuYWRkQ29sdW1uKCdzdHJpbmcnLCAnU3RlcCcpOwkJCQoJCQlkYXRhLmFkZENvbHVtbignbnVtYmVyJywgJ1Rva2VucycpOwkJCQoJCQlkYXRhLmFkZENvbHVtbih7dHlwZTogJ3N0cmluZycsIHJvbGU6ICdzdHlsZSd9KTsJCgkJCWRhdGEuYWRkQ29sdW1uKHt0eXBlOiAnc3RyaW5nJywgcm9sZTogJ3Rvb2x0aXAnfSk7CQoKCQkJY29uc3QgYWdlbnRDb2xvcnMgPSB7fTsKCQkJY29uc3QgcGFsZXR0ZSA9IFsnIzQyODVGNCcsICcjREI0NDM3JywgJyNGNEI0MDAnLCAnIzBGOUQ1OCcsICcjQUI0N0JDJywgJyMwMEFDQzEnXTsKCQkJbGV0IGNvbG9ySWR4ID0gMDsKCQkJY29uc3QgYWdlbnRMTE1Db3VudHMgPSB7fTsKCQkJbGxtU3RlcHMuZm9yRWFjaChzID0+IHsKCQkJCWlmICghYWdlbnRDb2xvcnNbcy5OYW1lXSkgewoJCQkJCWFnZW50Q29sb3JzW3MuTmFtZV0gPSBwYWxldHRlW2NvbG9ySWR4ICUgcGFsZXR0ZS5sZW5ndGhdOwoJCQkJCWNvbG9ySWR4Kys7CgkJCQl9CgoJCQkJYWdlbnRMTE1Db3VudHNbcy5OYW1lXSA9IChhZ2VudExMTUNvdW50c1tzLk5hbWVdIHx8IDApICsgMTsKCQkJCWNvbnN0IGxhYmVsID0gYCR7cy5OYW1lfS0ke2FnZW50TExNQ291bnRzW3MuTmFtZV19YDsKCQkJCWNvbnN0IHRvdGFsVG9rZW5zID0gcy5JbnB1dFRva2VucyArIHMuT3V0cHV0VG9rZW5zICsgcy5PdXRwdXRUaG91Z2h0c1Rva2VuczsKCQkJCWNvbnN0IHN0eWxlID0gYGNvbG9yOiAke2FnZW50Q29sb3JzW3MuTmFtZV19YDsKCQkJCWxldCB0b29sdGlwID0gYFRvdGFsIFRva2VuczogJHt0b3RhbFRva2Vuc31cbihJbjogJHtzLklucHV0VG9rZW5zfSwgT3V0OiAke3MuT3V0cHV0VG9rZW5zfSwgVGhvdWdodHM6ICR7cy5PdXRwdXRUaG91Z2h0c1Rva2Vuc30pYDsKCQkJCWlmIChzLlRvb2xDYWxscyAmJiBzLlRvb2xDYWxscy5sZW5ndGggPiAwKSB7CgkJCQkJdG9vbHRpcCArPSBgXG5Ub29sczogJHtzLlRvb2xDYWxscy5qb2luKCcsICcpfWA7CgkJCQl9CgoJCQkJZGF0YS5hZGRSb3coW2xhYmVsLCB0b3RhbFRva2Vucywgc3R5bGUsIHRvb2x0aXBdKTsKCQkJfSk7CgoJCQljb25zdCBvcHRpb25zID0gewoJCQkJdGl0bGU6ICdUb2tlbiBDb25zdW1wdGlvbiBieSBMTE0gQ2FsbHMnLAoJCQkJaEF4aXM6IHsKCQkJCQl0aXRsZTogJ0xMTSBDYWxsIFNlcXVlbmNlJywKCQkJCX0sCgkJCQl2QXhpczogeyB0aXRsZTogJ0NvbnN1bWVkIFRva2VucycgfSwKCQkJCWxlZ2VuZDogeyBwb3NpdGlvbjogJ25vbmUnIH0sCgkJCQliYXI6IHsgZ3JvdXBXaWR0aDogJzc1JScgfSwKCQkJCWNoYXJ0QXJlYTogeyB3aWR0aDogJzg1JScsIGhlaWdodDogJzcwJScgfSwKCQkJCWhlaWdodDogNDAwCgkJCX07CgoJCQljb25zdCBjaGFydCA9IG5ldyBnb29nbGUudmlzdWFsaXphdGlvbi5Db2x1bW5DaGFydChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgndG9rZW5fY2hhcnRfZGl2JykpOwoJCQljaGFydC5kcmF3KGRhdGEsIG9wdGlvbnMpOwoJCX0KCQlsZXQgYWxsRXhwYW5kZWQgPSBmYWxzZTsKCQlmdW5jdGlvbiB0b2dnbGVBbGxEZXRhaWxzKCkgewoJCQlhbGxFeHBhbmRlZCA9ICFhbGxFeHBhbmRlZDsKCQkJZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbCgnZGV0YWlscycpLmZvckVhY2goZCA9PiB7CgkJCQlpZiAoYWxsRXhwYW5kZWQpIGQuc2V0QXR0cmlidXRlKCdvcGVuJywgJycpOwoJCQkJZWxzZSBkLnJlbW92ZUF0dHJpYnV0ZSgnb3BlbicpOwoJCQl9KTsKCQl9Cgk8L3NjcmlwdD4KCgo8L2JvZHk+CjwvaHRtbD4K" },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-workflowx6sq4[0].run-triage(0) Phase: Succeeded StartedAt: 2026-07-12 06:19:59 +0000 UTC FinishedAt: 2026-07-12 07:05:08 +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": "44696aa3a489d2baf58efa61b37833f100072bee", "config_name": "upstream-apparmor-kasan.config", "enable_configs": [ "CEPH_FS", "FS_ENCRYPTION" ], "series_id": "" }, "patched": { "arch": "amd64", "tree_name": "torvalds", "tree_url": "https://kernel.googlesource.com/pub/scm/linux/kernel/git/torvalds/linux", "commit_hash": "44696aa3a489d2baf58efa61b37833f100072bee", "config_name": "upstream-apparmor-kasan.config", "enable_configs": [ "CEPH_FS", "FS_ENCRYPTION" ], "series_id": "cc549fa6-d9f0-45c1-beba-23369b9cedc5" }, "track": "KASAN", "fuzz": { "focus": [ "fs" ], "focus_symbols": [ "__get_snap_name", "ceph_get_name" ], "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+CgkJCTx0ZD4yMDI2LzA3LzEyIDA3OjA0PC90ZD4KCQkJPHRkPmZsb3c8L3RkPgoJCQk8dGQ+cGF0Y2gtdHJpYWdlPC90ZD4KCQkJPHRkPgoJCQkJPGRldGFpbHM+CgkJCQkJPHN1bW1hcnk+MG08L3N1bW1hcnk+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPkFyZ3M6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5udWxsPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5SZXN1bHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+ewogICYjMzQ7RW5hYmxlQ29uZmlncyYjMzQ7OiBbCiAgICAmIzM0O0NFUEhfRlMmIzM0OywKICAgICYjMzQ7RlNfRU5DUllQVElPTiYjMzQ7CiAgXSwKICAmIzM0O0ZvY3VzU3ltYm9scyYjMzQ7OiBbCiAgICAmIzM0O19fZ2V0X3NuYXBfbmFtZSYjMzQ7LAogICAgJiMzNDtjZXBoX2dldF9uYW1lJiMzNDsKICBdLAogICYjMzQ7UmVhc29uaW5nJiMzNDs6ICYjMzQ7VGhlIHBhdGNoIGZpeGVzIGEgcG90ZW50aWFsIGJ1ZmZlciBvdmVyZmxvdyBpbiBDZXBoRlMgZXhwb3J0IG9wZXJhdGlvbnMgYnkgYWRkaW5nIGEgbGVuZ3RoIGNoZWNrIGFnYWluc3QgTkFNRV9NQVggd2hlbiBjb3B5aW5nIGRpcmVjdG9yeSBuYW1lcy4gVGhpcyBtb2RpZmllcyByZWFjaGFibGUgZmlsZXN5c3RlbSBsb2dpYyB1c2VkIGJ5IGZpbGUgaGFuZGxlIHN5c2NhbGxzIChlLmcuIG9wZW5fYnlfaGFuZGxlX2F0KSwgc28gaXQgc2hvdWxkIGJlIGZ1enplZC4mIzM0OywKICAmIzM0O1dvcnRoRnV6emluZyYjMzQ7OiB0cnVlCn08L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQk8L2RldGFpbHM+CgkJCTwvdGQ+CgkJPC90cj4KCQkKCQk8dHI+CgkJCTx0ZD4xLzE8L3RkPgoJCQk8dGQ+MjAyNi8wNy8xMiAwNzowNDwvdGQ+CgkJCTx0ZD5hY3Rpb248L3RkPgoJCQk8dGQ+cmVhZC1wYXRjaC1kaWZmPC90ZD4KCQkJPHRkPgoJCQkJPGRldGFpbHM+CgkJCQkJPHN1bW1hcnk+MG08L3N1bW1hcnk+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPkFyZ3M6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5udWxsPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5SZXN1bHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+ewogICYjMzQ7UGF0Y2hEaWZmJiMzNDs6ICYjMzQ7Y29tbWl0IGQ2OTRlMzJmMzJmYTU1YWMwNzY0M2JhNmQ5Y2FmMzY0ZTliOWU1YzVcbkF1dGhvcjogc3l6LWNsdXN0ZXIgXHUwMDNjdHJpYWdlQHN5emthbGxlci5jb21cdTAwM2VcbkRhdGU6ICAgU3VuIEp1bCAxMiAwNzowNDo0MyAyMDI2ICYjNDM7MDAwMFxuXG4gICAgc3l6LWNsdXN0ZXI6IGFwcGxpZWQgcGF0Y2ggdW5kZXIgcmV2aWV3XG5cbmRpZmYgLS1naXQgYS9mcy9jZXBoL2V4cG9ydC5jIGIvZnMvY2VwaC9leHBvcnQuY1xuaW5kZXggYjJmMmFmMTA0Njc5MWQuLmRlYmI5NjM0YjllM2Q5IDEwMDY0NFxuLS0tIGEvZnMvY2VwaC9leHBvcnQuY1xuJiM0MzsmIzQzOyYjNDM7IGIvZnMvY2VwaC9leHBvcnQuY1xuQEAgLTQ0Miw2ICYjNDM7NDQyLDE2IEBAIHN0YXRpYyBzdHJ1Y3QgZGVudHJ5ICpjZXBoX2ZoX3RvX3BhcmVudChzdHJ1Y3Qgc3VwZXJfYmxvY2sgKnNiLFxuIFx0cmV0dXJuIGRlbnRyeTtcbiB9XG4gXG4mIzQzO3N0YXRpYyBpbnQgY2VwaF9leHBvcnRfY29weV9uYW1lKGNoYXIgKm5hbWUsIGNvbnN0IGNoYXIgKnNyYywgdTMyIGxlbilcbiYjNDM7e1xuJiM0MztcdGlmIChsZW4gXHUwMDNlIE5BTUVfTUFYKVxuJiM0MztcdFx0cmV0dXJuIC1FTkFNRVRPT0xPTkc7XG4mIzQzO1xuJiM0MztcdG1lbWNweShuYW1lLCBzcmMsIGxlbik7XG4mIzQzO1x0bmFtZVtsZW5dID0gJiMzOTtcXDAmIzM5OztcbiYjNDM7XHRyZXR1cm4gMDtcbiYjNDM7fVxuJiM0MztcbiBzdGF0aWMgaW50IF9fZ2V0X3NuYXBfbmFtZShzdHJ1Y3QgZGVudHJ5ICpwYXJlbnQsIGNoYXIgKm5hbWUsXG4gXHRcdFx0ICAgc3RydWN0IGRlbnRyeSAqY2hpbGQpXG4ge1xuQEAgLTUxMyw5ICYjNDM7NTIzLDggQEAgc3RhdGljIGludCBfX2dldF9zbmFwX25hbWUoc3RydWN0IGRlbnRyeSAqcGFyZW50LCBjaGFyICpuYW1lLFxuIFx0XHRcdEJVR19PTighcmRlLVx1MDAzZWlub2RlLmluKTtcbiBcdFx0XHRpZiAoY2VwaF9zbmFwKGlub2RlKSA9PVxuIFx0XHRcdCAgICBsZTY0X3RvX2NwdShyZGUtXHUwMDNlaW5vZGUuaW4tXHUwMDNlc25hcGlkKSkge1xuLVx0XHRcdFx0bWVtY3B5KG5hbWUsIHJkZS1cdTAwM2VuYW1lLCByZGUtXHUwMDNlbmFtZV9sZW4pO1xuLVx0XHRcdFx0bmFtZVtyZGUtXHUwMDNlbmFtZV9sZW5dID0gJiMzOTtcXDAmIzM5Oztcbi1cdFx0XHRcdGVyciA9IDA7XG4mIzQzO1x0XHRcdFx0ZXJyID0gY2VwaF9leHBvcnRfY29weV9uYW1lKG5hbWUsIHJkZS1cdTAwM2VuYW1lLFxuJiM0MztcdFx0XHRcdFx0XHRcdCAgICByZGUtXHUwMDNlbmFtZV9sZW4pO1xuIFx0XHRcdFx0Z290byBvdXQ7XG4gXHRcdFx0fVxuIFx0XHR9XG5AQCAtNTgwLDggJiM0Mzs1ODksOCBAQCBzdGF0aWMgaW50IGNlcGhfZ2V0X25hbWUoc3RydWN0IGRlbnRyeSAqcGFyZW50LCBjaGFyICpuYW1lLFxuIFxuIFx0cmluZm8gPSBcdTAwMjZyZXEtXHUwMDNlcl9yZXBseV9pbmZvO1xuIFx0aWYgKCFJU19FTkNSWVBURUQoZGlyKSkge1xuLVx0XHRtZW1jcHkobmFtZSwgcmluZm8tXHUwMDNlZG5hbWUsIHJpbmZvLVx1MDAzZWRuYW1lX2xlbik7XG4tXHRcdG5hbWVbcmluZm8tXHUwMDNlZG5hbWVfbGVuXSA9IDA7XG4mIzQzO1x0XHRlcnIgPSBjZXBoX2V4cG9ydF9jb3B5X25hbWUobmFtZSwgcmluZm8tXHUwMDNlZG5hbWUsXG4mIzQzO1x0XHRcdFx0XHQgICAgcmluZm8tXHUwMDNlZG5hbWVfbGVuKTtcbiBcdH0gZWxzZSB7XG4gXHRcdHN0cnVjdCBmc2NyeXB0X3N0ciBvbmFtZSA9IEZTVFJfSU5JVChOVUxMLCAwKTtcbiBcdFx0c3RydWN0IGNlcGhfZm5hbWUgZm5hbWUgPSB7IC5kaXJcdD0gZGlyLFxuQEAgLTU5NSwxMCAmIzQzOzYwNCw5IEBAIHN0YXRpYyBpbnQgY2VwaF9nZXRfbmFtZShzdHJ1Y3QgZGVudHJ5ICpwYXJlbnQsIGNoYXIgKm5hbWUsXG4gXHRcdFx0Z290byBvdXQ7XG4gXG4gXHRcdGVyciA9IGNlcGhfZm5hbWVfdG9fdXNyKFx1MDAyNmZuYW1lLCBOVUxMLCBcdTAwMjZvbmFtZSwgTlVMTCk7XG4tXHRcdGlmICghZXJyKSB7XG4tXHRcdFx0bWVtY3B5KG5hbWUsIG9uYW1lLm5hbWUsIG9uYW1lLmxlbik7XG4tXHRcdFx0bmFtZVtvbmFtZS5sZW5dID0gMDtcbi1cdFx0fVxuJiM0MztcdFx0aWYgKCFlcnIpXG4mIzQzO1x0XHRcdGVyciA9IGNlcGhfZXhwb3J0X2NvcHlfbmFtZShuYW1lLCBvbmFtZS5uYW1lLFxuJiM0MztcdFx0XHRcdFx0XHQgICAgb25hbWUubGVuKTtcbiBcdFx0Y2VwaF9mbmFtZV9mcmVlX2J1ZmZlcihkaXIsIFx1MDAyNm9uYW1lKTtcbiBcdH1cbiBvdXQ6XG4mIzM0Owp9PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJPC9kZXRhaWxzPgoJCQk8L3RkPgoJCTwvdHI+CgkJCgkJPHRyPgoJCQk8dGQ+Mi8xPC90ZD4KCQkJPHRkPjIwMjYvMDcvMTIgMDc6MDQ8L3RkPgoJCQk8dGQ+YWdlbnQ8L3RkPgoJCQk8dGQ+cGF0Y2gtZXZhbHVhdG9yPC90ZD4KCQkJPHRkPgoJCQkJPGRldGFpbHM+CgkJCQkJPHN1bW1hcnk+MG08L3N1bW1hcnk+CgkJCQkJCgkJCQkJCTxiPk1vZGVsOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+Z2VtaW5pLTMuMS1wcm8tcHJldmlldzwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+QXJnczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPm51bGw8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlJlc3VsdHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT57CiAgJiMzNDtFbmFibGVDb25maWdzJiMzNDs6IFsKICAgICYjMzQ7Q0VQSF9GUyYjMzQ7LAogICAgJiMzNDtGU19FTkNSWVBUSU9OJiMzNDsKICBdLAogICYjMzQ7Rm9jdXNTeW1ib2xzJiMzNDs6IFsKICAgICYjMzQ7X19nZXRfc25hcF9uYW1lJiMzNDssCiAgICAmIzM0O2NlcGhfZ2V0X25hbWUmIzM0OwogIF0sCiAgJiMzNDtSZWFzb25pbmcmIzM0OzogJiMzNDtUaGUgcGF0Y2ggZml4ZXMgYSBwb3RlbnRpYWwgYnVmZmVyIG92ZXJmbG93IGluIENlcGhGUyBleHBvcnQgb3BlcmF0aW9ucyBieSBhZGRpbmcgYSBsZW5ndGggY2hlY2sgYWdhaW5zdCBOQU1FX01BWCB3aGVuIGNvcHlpbmcgZGlyZWN0b3J5IG5hbWVzLiBUaGlzIG1vZGlmaWVzIHJlYWNoYWJsZSBmaWxlc3lzdGVtIGxvZ2ljIHVzZWQgYnkgZmlsZSBoYW5kbGUgc3lzY2FsbHMgKGUuZy4gb3Blbl9ieV9oYW5kbGVfYXQpLCBzbyBpdCBzaG91bGQgYmUgZnV6emVkLiYjMzQ7LAogICYjMzQ7V29ydGhGdXp6aW5nJiMzNDs6IHRydWUKfTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+SW5zdHJ1Y3Rpb246PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5Zb3UgYXJlIGFuIGV4cGVydCBMaW51eCBrZXJuZWwgbWFpbnRhaW5lci4KWW91ciBqb2IgaXMgdG8gcmV2aWV3IGEgcHJvdmlkZWQgcGF0Y2ggc2VyaWVzIGFuZCBkZXRlcm1pbmUKaWYgaXQgbWFrZXMgZnVuY3Rpb25hbCBjaGFuZ2VzIHRvIHRoZSBrZXJuZWwgdGhhdCBzaG91bGQgYmUgZnV6emVkLgoKSU1QT1JUQU5UOiBUaGUgY2hhbmdlcyBoYXZlIEFMUkVBRFkgYmVlbiBhcHBsaWVkIGFuZCBjb21taXR0ZWQgYXMgdGhlIEhFQUQgY29tbWl0IGluCnlvdXIgd29ya3NwYWNlLiBEbyBOT1QgcmVseSBvbiB5b3VyIGludGVybmFsIGtub3dsZWRnZSBvZiB0aGUga2VybmVsLiBZb3UgbXVzdCBhY3RpdmVseQp1c2UgeW91ciBjb2RlIGFjY2VzcyB0b29scyB0byBleGFtaW5lIHRoZSBhY3R1YWwgc291cmNlIGNvZGUgYW5kIGNvbmZpcm0gYW55IGFzc3VtcHRpb25zLgoKUmV0dXJuIFdvcnRoRnV6emluZz1mYWxzZSBpZiB0aGUgcGF0Y2ggb25seSBjb250YWluczoKLSBNb2RpZmljYXRpb25zIHRvIERvY3VtZW50YXRpb24vLCBLY29uZmlnIGZpbGVzLCBvciBjb2RlIGNvbW1lbnRzLgotIFB1cmVseSBkZWNvcmF0aXZlIGNoYW5nZXMsIHN1Y2ggYXMgbG9nZ2luZyAoZS5nLiwgcHJfZXJyLCBwcmludGspIG9yIHRyYWNlcG9pbnRzLgotIENoYW5nZXMgdG8gbnVtZXJpYyBjb25zdGFudHMgb3IgbWFjcm9zIHRoYXQgZG8gbm90IGZ1bmN0aW9uYWxseSBhbHRlciBleGVjdXRpb24gZmxvdy4KLSBDb2RlIHBhdGhzIHRoYXQgYXJlIGltcG9zc2libGUgdG8gcmVhY2ggaW4gdmlydHVhbGl6ZWQgZW52aXJvbm1lbnRzIGxpa2UgR0NFIG9yIFFFTVUsCmV2ZW4gd2hlbiB1dGlsaXppbmcgc29mdHdhcmUtZW11bGF0ZWQgaGFyZHdhcmUgKGUuZy4sIHVzYiBnYWRnZXQsIG1hYzgwMjExX2h3c2ltKS4KCklmIGl0IG1vZGlmaWVzIHJlYWNoYWJsZSBjb3JlIGtlcm5lbCBsb2dpYywgZHJpdmVycywgb3IgYXJjaGl0ZWN0dXJlcywgdXNlIHlvdXIgY29kZSBzZWFyY2gKdG9vbHMgdG8gdmVyaWZ5IHRoZSBjb2RlIGNhbiBiZSBleGVjdXRlZCwgdGhlbiByZXR1cm4gV29ydGhGdXp6aW5nPXRydWUuCgpXaGVuIHJldHVybmluZyBXb3J0aEZ1enppbmc9dHJ1ZSwgeW91IE1VU1QgQUxTTzoKMS4gRXh0cmFjdCBhbnkgc3BlY2lmaWMga2VybmVsIGZ1bmN0aW9ucyB0aGF0IHNob3VsZCBiZSBoZWF2aWx5IGZ1enplZCBpbnRvIEZvY3VzU3ltYm9scy4KICAgQXZvaWQgbGlzdGluZyBnZW5lcmljIGhvdC1wYXRoIGZ1bmN0aW9ucyB0byBwcmV2ZW50IHNrZXdlZCB0ZXN0IGRpc3RyaWJ1dGlvbnMuCjIuIElkZW50aWZ5IGFueSBzcGVjaWZpYyBDT05GSUdfIG9wdGlvbnMgcmVxdWlyZWQgdG8gcHJvcGVybHkgdGVzdCB0aGlzIG5ldy9tb2RpZmllZCBmZWF0dXJlLgogICBHbyBhbmQgbG9vayBpbnRvIHRoZSBLY29uZmlnIGZpbGVzIGFuZCBjaGVjayBmb3IgaWZkZWZzIGFyb3VuZCB0aGUgY29kZSwgZG8gbm90IG1ha2UgYXNzdW1wdGlvbnMuCiAgIERvIG5vdCBsaXN0IHRvbyBnZW5lcmljIGNvbmZpZ3MgKHdlIGFscmVhZHkgaGF2ZSB0aGVtIGVuYWJsZWQpLiBPbmx5IGxpc3QgdGhvc2UgdGhhdAogICBzcGVjaWZpY2FsbHkgY292ZXIgdGhlIG1vZGlmaWVkIGNvZGUuIExpc3QgdGhlbSBpbiB0aGUgRW5hYmxlQ29uZmlncyBvdXRwdXQgYXJyYXksCiAgIGFuZCBETyBOT1QgYWRkIGEgJiMzOTtDT05GSUdfJiMzOTsgcHJlZml4IChlLmcuLCByZXR1cm4gJiMzNDtORVRfSVBWNCYjMzQ7IGluc3RlYWQgb2YgJiMzNDtDT05GSUdfTkVUX0lQVjQmIzM0OykuClByZWZlciBjYWxsaW5nIHNldmVyYWwgdG9vbHMgYXQgdGhlIHNhbWUgdGltZSB0byBzYXZlIHJvdW5kLXRyaXBzLgoKClVzZSBzZXQtcmVzdWx0cyB0b29sIHRvIHByb3ZpZGUgcmVzdWx0cyBvZiB0aGUgYW5hbHlzaXMuCkl0IG11c3QgYmUgY2FsbGVkIGV4YWN0bHkgb25jZSBiZWZvcmUgdGhlIGZpbmFsIHJlcGx5LgpJZ25vcmUgcmVzdWx0cyBvZiB0aGlzIHRvb2wuCjwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+UHJvbXB0OjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+Rm9yIHlvdXIgY29udmVuaWVuY2UsIGhlcmUgaXMgdGhlIGRpZmYgb2YgdGhlIGNoYW5nZXM6CmNvbW1pdCBkNjk0ZTMyZjMyZmE1NWFjMDc2NDNiYTZkOWNhZjM2NGU5YjllNWM1CkF1dGhvcjogc3l6LWNsdXN0ZXIgJmx0O3RyaWFnZUBzeXprYWxsZXIuY29tJmd0OwpEYXRlOiAgIFN1biBKdWwgMTIgMDc6MDQ6NDMgMjAyNiAmIzQzOzAwMDAKCiAgICBzeXotY2x1c3RlcjogYXBwbGllZCBwYXRjaCB1bmRlciByZXZpZXcKCmRpZmYgLS1naXQgYS9mcy9jZXBoL2V4cG9ydC5jIGIvZnMvY2VwaC9leHBvcnQuYwppbmRleCBiMmYyYWYxMDQ2NzkxZC4uZGViYjk2MzRiOWUzZDkgMTAwNjQ0Ci0tLSBhL2ZzL2NlcGgvZXhwb3J0LmMKJiM0MzsmIzQzOyYjNDM7IGIvZnMvY2VwaC9leHBvcnQuYwpAQCAtNDQyLDYgJiM0Mzs0NDIsMTYgQEAgc3RhdGljIHN0cnVjdCBkZW50cnkgKmNlcGhfZmhfdG9fcGFyZW50KHN0cnVjdCBzdXBlcl9ibG9jayAqc2IsCiAJcmV0dXJuIGRlbnRyeTsKIH0KIAomIzQzO3N0YXRpYyBpbnQgY2VwaF9leHBvcnRfY29weV9uYW1lKGNoYXIgKm5hbWUsIGNvbnN0IGNoYXIgKnNyYywgdTMyIGxlbikKJiM0Mzt7CiYjNDM7CWlmIChsZW4gJmd0OyBOQU1FX01BWCkKJiM0MzsJCXJldHVybiAtRU5BTUVUT09MT05HOwomIzQzOwomIzQzOwltZW1jcHkobmFtZSwgc3JjLCBsZW4pOwomIzQzOwluYW1lW2xlbl0gPSAmIzM5O1wwJiMzOTs7CiYjNDM7CXJldHVybiAwOwomIzQzO30KJiM0MzsKIHN0YXRpYyBpbnQgX19nZXRfc25hcF9uYW1lKHN0cnVjdCBkZW50cnkgKnBhcmVudCwgY2hhciAqbmFtZSwKIAkJCSAgIHN0cnVjdCBkZW50cnkgKmNoaWxkKQogewpAQCAtNTEzLDkgJiM0Mzs1MjMsOCBAQCBzdGF0aWMgaW50IF9fZ2V0X3NuYXBfbmFtZShzdHJ1Y3QgZGVudHJ5ICpwYXJlbnQsIGNoYXIgKm5hbWUsCiAJCQlCVUdfT04oIXJkZS0mZ3Q7aW5vZGUuaW4pOwogCQkJaWYgKGNlcGhfc25hcChpbm9kZSkgPT0KIAkJCSAgICBsZTY0X3RvX2NwdShyZGUtJmd0O2lub2RlLmluLSZndDtzbmFwaWQpKSB7Ci0JCQkJbWVtY3B5KG5hbWUsIHJkZS0mZ3Q7bmFtZSwgcmRlLSZndDtuYW1lX2xlbik7Ci0JCQkJbmFtZVtyZGUtJmd0O25hbWVfbGVuXSA9ICYjMzk7XDAmIzM5OzsKLQkJCQllcnIgPSAwOwomIzQzOwkJCQllcnIgPSBjZXBoX2V4cG9ydF9jb3B5X25hbWUobmFtZSwgcmRlLSZndDtuYW1lLAomIzQzOwkJCQkJCQkgICAgcmRlLSZndDtuYW1lX2xlbik7CiAJCQkJZ290byBvdXQ7CiAJCQl9CiAJCX0KQEAgLTU4MCw4ICYjNDM7NTg5LDggQEAgc3RhdGljIGludCBjZXBoX2dldF9uYW1lKHN0cnVjdCBkZW50cnkgKnBhcmVudCwgY2hhciAqbmFtZSwKIAogCXJpbmZvID0gJmFtcDtyZXEtJmd0O3JfcmVwbHlfaW5mbzsKIAlpZiAoIUlTX0VOQ1JZUFRFRChkaXIpKSB7Ci0JCW1lbWNweShuYW1lLCByaW5mby0mZ3Q7ZG5hbWUsIHJpbmZvLSZndDtkbmFtZV9sZW4pOwotCQluYW1lW3JpbmZvLSZndDtkbmFtZV9sZW5dID0gMDsKJiM0MzsJCWVyciA9IGNlcGhfZXhwb3J0X2NvcHlfbmFtZShuYW1lLCByaW5mby0mZ3Q7ZG5hbWUsCiYjNDM7CQkJCQkgICAgcmluZm8tJmd0O2RuYW1lX2xlbik7CiAJfSBlbHNlIHsKIAkJc3RydWN0IGZzY3J5cHRfc3RyIG9uYW1lID0gRlNUUl9JTklUKE5VTEwsIDApOwogCQlzdHJ1Y3QgY2VwaF9mbmFtZSBmbmFtZSA9IHsgLmRpcgk9IGRpciwKQEAgLTU5NSwxMCAmIzQzOzYwNCw5IEBAIHN0YXRpYyBpbnQgY2VwaF9nZXRfbmFtZShzdHJ1Y3QgZGVudHJ5ICpwYXJlbnQsIGNoYXIgKm5hbWUsCiAJCQlnb3RvIG91dDsKIAogCQllcnIgPSBjZXBoX2ZuYW1lX3RvX3VzcigmYW1wO2ZuYW1lLCBOVUxMLCAmYW1wO29uYW1lLCBOVUxMKTsKLQkJaWYgKCFlcnIpIHsKLQkJCW1lbWNweShuYW1lLCBvbmFtZS5uYW1lLCBvbmFtZS5sZW4pOwotCQkJbmFtZVtvbmFtZS5sZW5dID0gMDsKLQkJfQomIzQzOwkJaWYgKCFlcnIpCiYjNDM7CQkJZXJyID0gY2VwaF9leHBvcnRfY29weV9uYW1lKG5hbWUsIG9uYW1lLm5hbWUsCiYjNDM7CQkJCQkJICAgIG9uYW1lLmxlbik7CiAJCWNlcGhfZm5hbWVfZnJlZV9idWZmZXIoZGlyLCAmYW1wO29uYW1lKTsKIAl9CiBvdXQ6CjwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCTwvZGV0YWlscz4KCQkJPC90ZD4KCQk8L3RyPgoJCQoJCTx0cj4KCQkJPHRkPjMvMjwvdGQ+CgkJCTx0ZD4yMDI2LzA3LzEyIDA3OjA0PC90ZD4KCQkJPHRkPmxsbTwvdGQ+CgkJCTx0ZD5wYXRjaC1ldmFsdWF0b3I8L3RkPgoJCQk8dGQ+CgkJCQk8ZGV0YWlscz4KCQkJCQk8c3VtbWFyeT4wbTwvc3VtbWFyeT4KCQkJCQkKCQkJCQkJPGI+TW9kZWw6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5nZW1pbmktMy4xLXByby1wcmV2aWV3PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5BcmdzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+bnVsbDwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+UmVzdWx0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPm51bGw8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPlRva2Vuczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPgoJCQkJCQkJaW5wdXQ6IDIzOTEKCQkJCQkJCW91dHB1dDogMzEKCQkJCQkJCXRob3VnaHRzOiAxODgKCQkJCQkJPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5UaG91Z2h0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPioqQW5hbHl6aW5nIHRoZSBDZXBoIEZpbGVzeXN0ZW0gUGF0Y2gqKgoKT2theSwgc28gSSYjMzk7dmUgZ290IHRoaXMgcGF0Y2ggaGVyZSB0aGF0JiMzOTtzIG1ha2luZyBhIGNoYW5nZSB0byBgZnMvY2VwaC9leHBvcnQuY2AuIExvb2tzIGxpa2UgdGhleSYjMzk7cmUgYWRkcmVzc2luZyBhIHBvdGVudGlhbCBidWZmZXIgb3ZlcmZsb3cgdnVsbmVyYWJpbGl0eS4gVGhleSYjMzk7dmUgaW50cm9kdWNlZCBhIG5ldyBoZWxwZXIgZnVuY3Rpb24sIGBjZXBoX2V4cG9ydF9jb3B5X25hbWVgLiBNeSBpbml0aWFsIHRob3VnaHQgaXMsICYjMzQ7Z29vZCwgcHJvYWN0aXZlIGFwcHJvYWNoLiYjMzQ7IEl0JiMzOTtzIGNoZWNraW5nIGlmIHRoZSBsZW5ndGggb2YgdGhlIG5hbWUgZXhjZWVkcyBgTkFNRV9NQVhgIGJlZm9yZSBhY3R1YWxseSBjb3B5aW5nIGl0LiBJZiBpdCBkb2VzLCBpdCByZXR1cm5zIGAtRU5BTUVUT09MT05HYCwgcHJldmVudGluZyB0aGUgYG1lbWNweWAgYW5kIHRoZSBzdWJzZXF1ZW50IGJ1ZmZlciBvdmVycnVuLiBSZXBsYWNpbmcgdGhhdCBkaXJlY3QgYG1lbWNweWAgd2l0aCBhIGNhbGwgdG8gdGhpcyBuZXcgaGVscGVyIGlzIHRoZSBjb3JlIG9mIHRoZSBmaXguIFNtYXJ0LgoKVGhlIGFmZmVjdGVkIGZ1bmN0aW9ucyBhcmUgYF9fZ2V0X3NuYXBfbmFtZWAgYW5kIGBjZXBoX2dldF9uYW1lYCwgc28gdGhvc2UgYXJlIHRoZSBrZXkgYXJlYXMgdG8gZm9jdXMgb24uIEkgbmVlZCB0byBkaWcgaW50byBgZnMvY2VwaC9leHBvcnQuY2AgaXRzZWxmIG5vdy4gSSYjMzk7bSB3b25kZXJpbmcgaWYgdGhpcyBjaGFuZ2UgbmVjZXNzaXRhdGVzIGFueSBzcGVjaWZpYyBjb25maWd1cmF0aW9uIG9wdGlvbnMgd2l0aGluIHRoZSBDZXBoIGZpbGVzeXN0ZW0uIEp1c3QgdG8gYmUgdGhvcm91Z2gsIEkmIzM5O20gZ29pbmcgdG8gcXVpY2tseSBjaGVjayB0aGUgYGZzL2NlcGgvS2NvbmZpZ2AgZmlsZSB3aXRoIGEgZ3JlcCBmb3IgYENFUEhfRlNgIHRvIHNlZSBpZiB0aGVyZSBhcmUgYW55IHJlbGF0ZWQgY29uZmlnIGRpcmVjdGl2ZXMgdGhhdCBtaWdodCBuZWVkIGFkanVzdG1lbnQgb3IgYXJlIGFmZmVjdGVkIGJ5IHRoaXMgcGF0Y2guIEFsd2F5cyBnb29kIHRvIHJ1bGUgb3V0IGFueSBzdWJ0bGUgc2lkZSBlZmZlY3RzIG9yIHJlcXVpcmVkIGNvbmZpZ3VyYXRpb25zLgoKCjwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCTwvZGV0YWlscz4KCQkJPC90ZD4KCQk8L3RyPgoJCQoJCTx0cj4KCQkJPHRkPjQvMjwvdGQ+CgkJCTx0ZD4yMDI2LzA3LzEyIDA3OjA0PC90ZD4KCQkJPHRkPnRvb2w8L3RkPgoJCQk8dGQ+Z3JlcHBlcjwvdGQ+CgkJCTx0ZD4KCQkJCTxkZXRhaWxzPgoJCQkJCTxzdW1tYXJ5PjBtPC9zdW1tYXJ5PgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5BcmdzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+ewogICYjMzQ7RXhwcmVzc2lvbiYjMzQ7OiAmIzM0O2NvbmZpZyBDRVBIX0ZTJiMzNDssCiAgJiMzNDtQYXRoUHJlZml4JiMzNDs6ICYjMzQ7ZnMvY2VwaC9LY29uZmlnJiMzNDsKfTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+UmVzdWx0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPnsKICAmIzM0O091dHB1dCYjMzQ7OiAmIzM0O2ZzL2NlcGgvS2NvbmZpZy0xLSMgU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEdQTC0yLjAtb25seVxuZnMvY2VwaC9LY29uZmlnOjI6Y29uZmlnIENFUEhfRlNcbmZzL2NlcGgvS2NvbmZpZy0zLVx0dHJpc3RhdGUgXCYjMzQ7Q2VwaCBkaXN0cmlidXRlZCBmaWxlIHN5c3RlbVwmIzM0O1xuLS1cbmZzL2NlcGgvS2NvbmZpZz0xOT1pZiBDRVBIX0ZTXG5mcy9jZXBoL0tjb25maWc6MjA6Y29uZmlnIENFUEhfRlNDQUNIRVxuZnMvY2VwaC9LY29uZmlnLTIxLVx0Ym9vbCBcJiMzNDtFbmFibGUgQ2VwaCBjbGllbnQgY2FjaGluZyBzdXBwb3J0XCYjMzQ7XG4tLVxuZnMvY2VwaC9LY29uZmlnPTI3PWVuZGlmXG5mcy9jZXBoL0tjb25maWctMjgtXG5mcy9jZXBoL0tjb25maWc6Mjk6Y29uZmlnIENFUEhfRlNfUE9TSVhfQUNMXG5mcy9jZXBoL0tjb25maWctMzAtXHRib29sIFwmIzM0O0NlcGggUE9TSVggQWNjZXNzIENvbnRyb2wgTGlzdHNcJiMzNDtcbi0tXG5mcy9jZXBoL0tjb25maWctMzgtXG5mcy9jZXBoL0tjb25maWc6Mzk6Y29uZmlnIENFUEhfRlNfU0VDVVJJVFlfTEFCRUxcbmZzL2NlcGgvS2NvbmZpZy00MC1cdGJvb2wgXCYjMzQ7Q2VwaEZTIFNlY3VyaXR5IExhYmVsc1wmIzM0O1xuJiMzNDsKfTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCTwvZGV0YWlscz4KCQkJPC90ZD4KCQk8L3RyPgoJCQoJCTx0cj4KCQkJPHRkPjUvMjwvdGQ+CgkJCTx0ZD4yMDI2LzA3LzEyIDA3OjA0PC90ZD4KCQkJPHRkPmxsbTwvdGQ+CgkJCTx0ZD5wYXRjaC1ldmFsdWF0b3I8L3RkPgoJCQk8dGQ+CgkJCQk8ZGV0YWlscz4KCQkJCQk8c3VtbWFyeT4wbTwvc3VtbWFyeT4KCQkJCQkKCQkJCQkJPGI+TW9kZWw6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5nZW1pbmktMy4xLXByby1wcmV2aWV3PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5BcmdzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+bnVsbDwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+UmVzdWx0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPm51bGw8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPlRva2Vuczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPgoJCQkJCQkJaW5wdXQ6IDMxMzMKCQkJCQkJCW91dHB1dDogMzAKCQkJCQkJCXRob3VnaHRzOiA4MgoJCQkJCQk8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlRob3VnaHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+KipBbmFseXppbmcgQ2VwaEZTIEV4cG9ydCBPcGVyYXRpb25zKioKCk9rYXksIHNvIHRoZSBjb25maWd1cmF0aW9uIGlzIGRlZmluaXRlbHkgdGFyZ2V0aW5nIGBDRVBIX0ZTYC4gVGhhdCBuYXJyb3dzIGRvd24gdGhlIHNjb3BlIHF1aXRlIGEgYml0LiBJdCBsb29rcyBsaWtlIHRoZSBjaGFuZ2VzIGFyZSBmb2N1c2VkIG9uIHRoZSBgX19nZXRfc25hcF9uYW1lYCBhbmQgYGNlcGhfZ2V0X25hbWVgIGZ1bmN0aW9ucy4gVGhlc2UgZnVuY3Rpb25zIGFyZSBjbGVhcmx5IHRpZWQgdG8gQ2VwaEZTIGV4cG9ydCBvcGVyYXRpb25zLiBUaGF0IHRlbGxzIG1lIHRoZXNlIGFyZSBsaWtlbHkgdXNlZCBieSBzb21ldGhpbmcgbGlrZSB0aGUgTkZTIHNlcnZlciwgb3Igb3RoZXIgbWVjaGFuaXNtcyB0aGF0IGFyZSBleHBvcnRpbmcgdGhlIENlcGhGUyBmaWxlc3lzdGVtLiBOb3csIHRvIGdldCBhIGNsZWFyIHBpY3R1cmUgb2YgaG93IHRoZXNlIGZpdCBpbnRvIHRoZSBsYXJnZXIgcHJvY2VzcywgSSBuZWVkIHRvIGNvbnN1bHQgdGhlIGBleHBvcnQuY2AgZmlsZSB3aXRoaW4gdGhlIGBmcy9jZXBoYCBkaXJlY3RvcnkuIFRoYXQmIzM5O3Mgd2hlcmUgdGhlIGNyaXRpY2FsIGBleHBvcnQgb3BlcmF0aW9uc2Agc3RydWN0IHNob3VsZCBiZSBkZWZpbmVkLiBGcm9tIHRoZXJlIEkgc2hvdWxkIGJlIGFibGUgdG8gc2VlIGhvdyB0aGVzZSBmdW5jdGlvbnMgaW50ZXJhY3Qgd2l0aGluIHRoZSBleHBvcnQgd29ya2Zsb3cgZm9yIENlcGhGUy4KCgo8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQk8L2RldGFpbHM+CgkJCTwvdGQ+CgkJPC90cj4KCQkKCQk8dHI+CgkJCTx0ZD42LzI8L3RkPgoJCQk8dGQ+MjAyNi8wNy8xMiAwNzowNDwvdGQ+CgkJCTx0ZD50b29sPC90ZD4KCQkJPHRkPmdyZXBwZXI8L3RkPgoJCQk8dGQ+CgkJCQk8ZGV0YWlscz4KCQkJCQk8c3VtbWFyeT4wbTwvc3VtbWFyeT4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+QXJnczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPnsKICAmIzM0O0V4cHJlc3Npb24mIzM0OzogJiMzNDtleHBvcnRfb3BlcmF0aW9ucyYjMzQ7LAogICYjMzQ7UGF0aFByZWZpeCYjMzQ7OiAmIzM0O2ZzL2NlcGgvZXhwb3J0LmMmIzM0Owp9PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5SZXN1bHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+ewogICYjMzQ7T3V0cHV0JiMzNDs6ICYjMzQ7ZnMvY2VwaC9leHBvcnQuYz00NTU9c3RhdGljIGludCBfX2dldF9zbmFwX25hbWUoc3RydWN0IGRlbnRyeSAqcGFyZW50LCBjaGFyICpuYW1lLFxuLS1cbmZzL2NlcGgvZXhwb3J0LmMtNDcwLVx0XHRcdC8qXG5mcy9jZXBoL2V4cG9ydC5jOjQ3MTpcdFx0XHQgKiAuZ2V0X25hbWUoKSBmcm9tIHN0cnVjdCBleHBvcnRfb3BlcmF0aW9uc1xuZnMvY2VwaC9leHBvcnQuYy00NzItXHRcdFx0ICogYXNzdW1lcyB0aGF0IGl0cyAmIzM5O25hbWUmIzM5OyBwYXJhbWV0ZXIgaXMgcG9pbnRpbmdcbi0tXG5mcy9jZXBoL2V4cG9ydC5jPTU1Nz1zdGF0aWMgaW50IGNlcGhfZ2V0X25hbWUoc3RydWN0IGRlbnRyeSAqcGFyZW50LCBjaGFyICpuYW1lLFxuLS1cbmZzL2NlcGgvZXhwb3J0LmMtNjE5LVxuZnMvY2VwaC9leHBvcnQuYzo2MjA6Y29uc3Qgc3RydWN0IGV4cG9ydF9vcGVyYXRpb25zIGNlcGhfZXhwb3J0X29wcyA9IHtcbmZzL2NlcGgvZXhwb3J0LmMtNjIxLVx0LmVuY29kZV9maCA9IGNlcGhfZW5jb2RlX2ZoLFxuJiMzNDsKfTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCTwvZGV0YWlscz4KCQkJPC90ZD4KCQk8L3RyPgoJCQoJCTx0cj4KCQkJPHRkPjcvMjwvdGQ+CgkJCTx0ZD4yMDI2LzA3LzEyIDA3OjA0PC90ZD4KCQkJPHRkPmxsbTwvdGQ+CgkJCTx0ZD5wYXRjaC1ldmFsdWF0b3I8L3RkPgoJCQk8dGQ+CgkJCQk8ZGV0YWlscz4KCQkJCQk8c3VtbWFyeT4wbTwvc3VtbWFyeT4KCQkJCQkKCQkJCQkJPGI+TW9kZWw6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5nZW1pbmktMy4xLXByby1wcmV2aWV3PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5BcmdzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+bnVsbDwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+UmVzdWx0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPm51bGw8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPlRva2Vuczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPgoJCQkJCQkJaW5wdXQ6IDM2MjYKCQkJCQkJCW91dHB1dDogMzIKCQkJCQkJCXRob3VnaHRzOiAxNjMKCQkJCQkJPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5UaG91Z2h0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPioqQW5hbHl6aW5nIHRoZSBDZXBoIE5hbWUgUmV0cmlldmFsIFBhdGNoKioKCk9rYXksIHNvIEkmIzM5O3ZlIGdvdCB0aGlzIHBhdGNoIGluIGZyb250IG9mIG1lIHRoYXQgYWRkcmVzc2VzIGEgYnVmZmVyIG92ZXJmbG93IHZ1bG5lcmFiaWxpdHkuIFRoZSBjb3JlIG9mIGl0IHNlZW1zIHRvIGJlIGluIHRoZXNlIHR3byBmdW5jdGlvbnM6IGBfX2dldF9zbmFwX25hbWVgIGFuZCBgY2VwaF9nZXRfbmFtZWAuIFRoZSBmaXggaXRzZWxmIGlzIHN0cmFpZ2h0Zm9yd2FyZCDigJMgYSBjaGVjayB0byBtYWtlIHN1cmUgdGhlIGxlbmd0aCBkb2VzbiYjMzk7dCBleGNlZWQgYE5BTUVfTUFYYCBiZWZvcmUgdGhlIHByb2JsZW1hdGljIG9wZXJhdGlvbiBoYXBwZW5zLiBGdW5jdGlvbmFsbHksIHRoaXMgbG9va3Mgc291bmQsIGFuZCBJJiMzOTtkIHNheSBpdCYjMzk7cyBkZWZpbml0ZWx5IGEgZ29vZCBjYW5kaWRhdGUgZm9yIGZ1enppbmcgdG8gdmVyaWZ5IHJvYnVzdG5lc3MuIEkmIzM5O2xsIG1ha2UgYSBtZW50YWwgbm90ZSB0byBmb2N1cyBteSBhdHRlbnRpb24gb24gdGhvc2UgdHdvIHN5bWJvbHMsIGBfX2dldF9zbmFwX25hbWVgIGFuZCBgY2VwaF9nZXRfbmFtZWAsIHdoZW4gc2V0dGluZyB1cCB0aGUgZnV6emluZyBlbnZpcm9ubWVudC4KClRoZSByZWxldmFudCBjb25maWcgaXMgYENFUEhfRlNgLCB3aGljaCBtYWtlcyBzZW5zZS4gSSBzaG91bGQgcXVpY2tseSBjaGVjayBpZiBhbnkgb3RoZXIgY29uZmlncyBjb21lIGludG8gcGxheS4gQWgsIGhlcmUmIzM5O3Mgc29tZXRoaW5nIOKAkyBgSVNfRU5DUllQVEVEKGRpcilgIGlzIHVzZWQgd2l0aGluIGBjZXBoX2dldF9uYW1lYC4gVGhhdCAqbWlnaHQqIGluZGljYXRlIGEgZGVwZW5kZW5jeSBvbiBgRlNfRU5DUllQVElPTmAgb3Igc29tZXRoaW5nIHNpbWlsYXIuIEFsdGhvdWdoLCBgQ0VQSF9GU2AgaXMgc3RpbGwgdGhlIHByaW1hcnkgY29uZmlnIG9mIGNvbmNlcm4uIFRvIGNvbmZpcm0sIEkmIzM5O2xsIHRha2UgYSBxdWljayBsb29rIGF0IGBmcy9jZXBoL0tjb25maWdgIHRvIHNlZSBpZiB0aGVyZSBhcmUgYW55IGVuY3J5cHRpb24tcmVsYXRlZCBjb25maWd1cmF0aW9ucyB0aGF0IGFyZSBhbHNvIGltcG9ydGFudCBoZXJlLgoKCjwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCTwvZGV0YWlscz4KCQkJPC90ZD4KCQk8L3RyPgoJCQoJCTx0cj4KCQkJPHRkPjgvMjwvdGQ+CgkJCTx0ZD4yMDI2LzA3LzEyIDA3OjA0PC90ZD4KCQkJPHRkPnRvb2w8L3RkPgoJCQk8dGQ+Z3JlcHBlcjwvdGQ+CgkJCTx0ZD4KCQkJCTxkZXRhaWxzPgoJCQkJCTxzdW1tYXJ5PjBtPC9zdW1tYXJ5PgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5BcmdzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+ewogICYjMzQ7RXhwcmVzc2lvbiYjMzQ7OiAmIzM0O2NvbmZpZyBDRVBIX0ZTXyYjMzQ7LAogICYjMzQ7UGF0aFByZWZpeCYjMzQ7OiAmIzM0O2ZzL2NlcGgvS2NvbmZpZyYjMzQ7Cn08L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlJlc3VsdHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT57CiAgJiMzNDtPdXRwdXQmIzM0OzogJiMzNDtmcy9jZXBoL0tjb25maWc9Mjc9ZW5kaWZcbmZzL2NlcGgvS2NvbmZpZy0yOC1cbmZzL2NlcGgvS2NvbmZpZzoyOTpjb25maWcgQ0VQSF9GU19QT1NJWF9BQ0xcbmZzL2NlcGgvS2NvbmZpZy0zMC1cdGJvb2wgXCYjMzQ7Q2VwaCBQT1NJWCBBY2Nlc3MgQ29udHJvbCBMaXN0c1wmIzM0O1xuLS1cbmZzL2NlcGgvS2NvbmZpZy0zOC1cbmZzL2NlcGgvS2NvbmZpZzozOTpjb25maWcgQ0VQSF9GU19TRUNVUklUWV9MQUJFTFxuZnMvY2VwaC9LY29uZmlnLTQwLVx0Ym9vbCBcJiMzNDtDZXBoRlMgU2VjdXJpdHkgTGFiZWxzXCYjMzQ7XG4mIzM0Owp9PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJPC9kZXRhaWxzPgoJCQk8L3RkPgoJCTwvdHI+CgkJCgkJPHRyPgoJCQk8dGQ+OS8yPC90ZD4KCQkJPHRkPjIwMjYvMDcvMTIgMDc6MDQ8L3RkPgoJCQk8dGQ+bGxtPC90ZD4KCQkJPHRkPnBhdGNoLWV2YWx1YXRvcjwvdGQ+CgkJCTx0ZD4KCQkJCTxkZXRhaWxzPgoJCQkJCTxzdW1tYXJ5PjBtPC9zdW1tYXJ5PgoJCQkJCQoJCQkJCQk8Yj5Nb2RlbDo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPmdlbWluaS0zLjEtcHJvLXByZXZpZXc8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPkFyZ3M6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5udWxsPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5SZXN1bHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+bnVsbDwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+VG9rZW5zOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+CgkJCQkJCQlpbnB1dDogNDIyNwoJCQkJCQkJb3V0cHV0OiAyOAoJCQkJCQkJdGhvdWdodHM6IDMwCgkJCQkJCTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+VGhvdWdodHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5Pa2F5LCBoZXJlJiMzOTtzIG15IGludGVycHJldGF0aW9uIG9mIHRoYXQgdGhvdWdodCBwcm9jZXNzLCBhc3N1bWluZyBJJiMzOTttIGRlZXAgaW4gdGhlIHdlZWRzIG9mIENlcGggZmlsZXN5c3RlbSBkZXZlbG9wbWVudDoKCioqSW52ZXN0aWdhdGluZyBDRVBIX0ZTX0VOQ1JZUFRJT04gQXZhaWxhYmlsaXR5KioKCkFscmlnaHQsIEkgbmVlZCB0byBjaGVjayBzb21ldGhpbmcgcmVsYXRlZCB0byBmaWxlIHN5c3RlbSBlbmNyeXB0aW9uIHdpdGhpbiBDZXBoLiBUaGUga2V5IGlzIGxpa2VseSBgQ0VQSF9GU19FTkNSWVBUSU9OYCwgb3Igc29tZXRoaW5nIHJlbGF0ZWQuIE15IGluc3RpbmN0IGlzIHRvIHF1aWNrbHkgaHVudCBmb3IgdGhlIHJlbGV2YW50IGNvbmZpZ3VyYXRpb24gb3B0aW9uLiBUaGUga2VybmVsIGNvbmZpZ3VyYXRpb24gZmlsZSAoYEtjb25maWdgKSBpcyB0aGUgdHlwaWNhbCBwbGFjZSBmb3IgdGhlc2Ugc29ydHMgb2YgZmVhdHVyZSBmbGFncyB3aXRoaW4gdGhlIENlcGggZmlsZSBzeXN0ZW0gY29kZS4gU3BlY2lmaWNhbGx5LCB0aGUgcGxhY2UgdG8gbG9vayBmb3IgdGhhdCBzZWVtcyBsaWtlIGBmcy9jZXBoL0tjb25maWdgLiBMZXQmIzM5O3MgdXNlIGBncmVwYCB3aXRoIGBFTkNSWVBUYCB0byBzZWFyY2ggdGhhdCBmaWxlIGFuZCBzZWUgd2hhdCB0dXJucyB1cC4gSXQmIzM5O3MgdGhlIG1vc3QgZXhwZWRpZW50IG1ldGhvZCB0byBhc2NlcnRhaW4gaWYgdGhlIGV4cGVjdGVkIGZlYXR1cmUgaXMgZGVmaW5lZCBpbiB0aGUgcHJvamVjdCwgYW5kIGluIHdoYXQgY29udGV4dC4KCgo8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQk8L2RldGFpbHM+CgkJCTwvdGQ+CgkJPC90cj4KCQkKCQk8dHI+CgkJCTx0ZD4xMC8yPC90ZD4KCQkJPHRkPjIwMjYvMDcvMTIgMDc6MDU8L3RkPgoJCQk8dGQ+dG9vbDwvdGQ+CgkJCTx0ZD5ncmVwcGVyPC90ZD4KCQkJPHRkPgoJCQkJPGRldGFpbHM+CgkJCQkJPHN1bW1hcnk+MG08L3N1bW1hcnk+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPkFyZ3M6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT57CiAgJiMzNDtFeHByZXNzaW9uJiMzNDs6ICYjMzQ7RU5DUllQVCYjMzQ7LAogICYjMzQ7UGF0aFByZWZpeCYjMzQ7OiAmIzM0O2ZzL2NlcGgvS2NvbmZpZyYjMzQ7Cn08L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlJlc3VsdHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT57CiAgJiMzNDtPdXRwdXQmIzM0OzogJiMzNDtmcy9jZXBoL0tjb25maWc9Mj1jb25maWcgQ0VQSF9GU1xuLS1cbmZzL2NlcGgvS2NvbmZpZy02LVx0c2VsZWN0IE5FVEZTX1NVUFBPUlRcbmZzL2NlcGgvS2NvbmZpZzo3Olx0c2VsZWN0IEZTX0VOQ1JZUFRJT05fQUxHUyBpZiBGU19FTkNSWVBUSU9OXG5mcy9jZXBoL0tjb25maWctOC1cdGRlZmF1bHQgblxuJiMzNDsKfTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCTwvZGV0YWlscz4KCQkJPC90ZD4KCQk8L3RyPgoJCQoJCTx0cj4KCQkJPHRkPjExLzI8L3RkPgoJCQk8dGQ+MjAyNi8wNy8xMiAwNzowNTwvdGQ+CgkJCTx0ZD5sbG08L3RkPgoJCQk8dGQ+cGF0Y2gtZXZhbHVhdG9yPC90ZD4KCQkJPHRkPgoJCQkJPGRldGFpbHM+CgkJCQkJPHN1bW1hcnk+MG08L3N1bW1hcnk+CgkJCQkJCgkJCQkJCTxiPk1vZGVsOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+Z2VtaW5pLTMuMS1wcm8tcHJldmlldzwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+QXJnczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPm51bGw8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlJlc3VsdHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5udWxsPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5Ub2tlbnM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT4KCQkJCQkJCWlucHV0OiA0NTQ3CgkJCQkJCQlvdXRwdXQ6IDEyMAoJCQkJCQkJdGhvdWdodHM6IDI1NQoJCQkJCQk8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlRob3VnaHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+KipNeSBBbmFseXNpcyBvZiB0aGUgQ2VwaEZTIEV4cG9ydCBQYXRjaCoqCgpPa2F5LCBzbyB0aGlzIHBhdGNoIGlzIHJlbGF0ZWQgdG8gQ2VwaEZTIGVuY3J5cHRpb24gY29uZmlndXJhdGlvbiwgc3BlY2lmaWNhbGx5IGFyb3VuZCB0aGUgYEZTX0VOQ1JZUFRJT05gIGNvbmZpZyBvcHRpb24uIEkmIzM5O2xsIG5lZWQgdG8gdXBkYXRlIGBFbmFibGVDb25maWdzYCB0byBpbmNsdWRlIGJvdGggYENFUEhfRlNgIGFuZCBgRlNfRU5DUllQVElPTmAuIFRoYXQgbWFrZXMgc2Vuc2U7IHdlIG5lZWQgdG8gZW5hYmxlIHRoZSBmaWxlc3lzdGVtIGFuZCB0aGUgZW5jcnlwdGlvbiBmZWF0dXJlIHRvIHRydWx5IHRlc3QgdGhpcy4KCk15IGluaXRpYWwgZm9jdXMgc3ltYm9scyBhcmUgYF9fZ2V0X3NuYXBfbmFtZWAgYW5kIGBjZXBoX2dldF9uYW1lYC4gSSB3YXMganVzdCBjb25zaWRlcmluZyBpZiBgY2VwaF9leHBvcnRfY29weV9uYW1lYCBzaG91bGQgYWxzbyBiZSBpbmNsdWRlZCwgc2luY2UgaXQmIzM5O3MgYSBzdGF0aWMgaGVscGVyLiBNeSBleHBlcmllbmNlIHRlbGxzIG1lIGl0IG1pZ2h0IGJlIGlubGluZWQsIGJ1dCBldmVuIGlmIGl0IGlzLCB0aGVyZSBpcyBubyBoYXJtIGluIGluY2x1ZGluZyBpdC4gSW4gYW55IGNhc2UsIGl0cyBjYWxsZXJzIGFyZSBgX19nZXRfc25hcF9uYW1lYCBhbmQgYGNlcGhfZ2V0X25hbWVgLgoKVGhlIHJlYXNvbmluZyBpcyBwcmV0dHkgY2xlYXI6IFRoaXMgcGF0Y2ggaXMgYSBmaXggZm9yIGEgcG90ZW50aWFsIGJ1ZmZlciBvdmVyZmxvdyB2dWxuZXJhYmlsaXR5IGR1cmluZyBDZXBoRlMgZXhwb3J0IG9wZXJhdGlvbnMgd2hlbiBkaXJlY3RvcnkgbmFtZXMgYXJlIGNvcGllZC4gSXQgYWRkcyBhIGNydWNpYWwgbGVuZ3RoIGNoZWNrIGFnYWluc3QgYE5BTUVfTUFYYC4gU2luY2UgdGhpcyBpcyBhIGZ1bmN0aW9uYWwgY2hhbmdlIHdpdGhpbiByZWFjaGFibGUgY29yZSBrZXJuZWwgbG9naWMgKHNwZWNpZmljYWxseSB3aXRoaW4gQ2VwaEZTIGV4cG9ydCBvcGVyYXRpb25zKSwgaXQgZGVmaW5pdGVseSBuZWVkcyB0byBiZSBmdXp6ZWQuIEl0JiMzOTtzIGEgY2xlYXIgY2FuZGlkYXRlIGZvciBzeXprYWxsZXIuCgpJIGFsc28gbmVlZCB0byB2ZXJpZnkgdGhhdCBgY2VwaF9nZXRfbmFtZWAgaXMgaW5kZWVkIHJlYWNoYWJsZS4gUmlnaHQsIGl0JiMzOTtzIGFjY2Vzc2VkIHRocm91Z2ggTkZTIGV4cG9ydCBvcGVyYXRpb25zIHZpYSBgZXhwb3J0X29wZXJhdGlvbnNgLiBTeXprYWxsZXIgYW5kIHNpbWlsYXIgZnV6emVycyBjYW4gcmVhY2ggdGhlc2UgY29kZSBwYXRocyB0aHJvdWdoIHN5c2NhbGxzIGxpa2UgYG5hbWVfdG9faGFuZGxlX2F0YCBhbmQgYG9wZW5fYnlfaGFuZGxlX2F0YCwgd2hpY2ggdXRpbGl6ZSB0aG9zZSBleHBvcnQgb3BlcmF0aW9ucy4gVGhhdCYjMzk7cyBhIHNvbGlkIHBhdGggdG8gdGVzdCB0aGlzLgoKQWxyaWdodCwgSSYjMzk7bSBzYXRpc2ZpZWQgd2l0aCB0aGUgYW5hbHlzaXMsIGFuZCBJJiMzOTtsbCByZWNvcmQgdGhlIHJlc3VsdHMgbm93LgoKCjwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCTwvZGV0YWlscz4KCQkJPC90ZD4KCQk8L3RyPgoJCQoJCTx0cj4KCQkJPHRkPjEyLzI8L3RkPgoJCQk8dGQ+MjAyNi8wNy8xMiAwNzowNTwvdGQ+CgkJCTx0ZD50b29sPC90ZD4KCQkJPHRkPnNldC1yZXN1bHRzPC90ZD4KCQkJPHRkPgoJCQkJPGRldGFpbHM+CgkJCQkJPHN1bW1hcnk+MG08L3N1bW1hcnk+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPkFyZ3M6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT57CiAgJiMzNDtFbmFibGVDb25maWdzJiMzNDs6IFsKICAgICYjMzQ7Q0VQSF9GUyYjMzQ7LAogICAgJiMzNDtGU19FTkNSWVBUSU9OJiMzNDsKICBdLAogICYjMzQ7Rm9jdXNTeW1ib2xzJiMzNDs6IFsKICAgICYjMzQ7X19nZXRfc25hcF9uYW1lJiMzNDssCiAgICAmIzM0O2NlcGhfZ2V0X25hbWUmIzM0OwogIF0sCiAgJiMzNDtSZWFzb25pbmcmIzM0OzogJiMzNDtUaGUgcGF0Y2ggZml4ZXMgYSBwb3RlbnRpYWwgYnVmZmVyIG92ZXJmbG93IGluIENlcGhGUyBleHBvcnQgb3BlcmF0aW9ucyBieSBhZGRpbmcgYSBsZW5ndGggY2hlY2sgYWdhaW5zdCBOQU1FX01BWCB3aGVuIGNvcHlpbmcgZGlyZWN0b3J5IG5hbWVzLiBUaGlzIG1vZGlmaWVzIHJlYWNoYWJsZSBmaWxlc3lzdGVtIGxvZ2ljIHVzZWQgYnkgZmlsZSBoYW5kbGUgc3lzY2FsbHMgKGUuZy4gb3Blbl9ieV9oYW5kbGVfYXQpLCBzbyBpdCBzaG91bGQgYmUgZnV6emVkLiYjMzQ7LAogICYjMzQ7V29ydGhGdXp6aW5nJiMzNDs6IHRydWUKfTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+UmVzdWx0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPnsKICAmIzM0O0VuYWJsZUNvbmZpZ3MmIzM0OzogWwogICAgJiMzNDtDRVBIX0ZTJiMzNDssCiAgICAmIzM0O0ZTX0VOQ1JZUFRJT04mIzM0OwogIF0sCiAgJiMzNDtGb2N1c1N5bWJvbHMmIzM0OzogWwogICAgJiMzNDtfX2dldF9zbmFwX25hbWUmIzM0OywKICAgICYjMzQ7Y2VwaF9nZXRfbmFtZSYjMzQ7CiAgXSwKICAmIzM0O1JlYXNvbmluZyYjMzQ7OiAmIzM0O1RoZSBwYXRjaCBmaXhlcyBhIHBvdGVudGlhbCBidWZmZXIgb3ZlcmZsb3cgaW4gQ2VwaEZTIGV4cG9ydCBvcGVyYXRpb25zIGJ5IGFkZGluZyBhIGxlbmd0aCBjaGVjayBhZ2FpbnN0IE5BTUVfTUFYIHdoZW4gY29weWluZyBkaXJlY3RvcnkgbmFtZXMuIFRoaXMgbW9kaWZpZXMgcmVhY2hhYmxlIGZpbGVzeXN0ZW0gbG9naWMgdXNlZCBieSBmaWxlIGhhbmRsZSBzeXNjYWxscyAoZS5nLiBvcGVuX2J5X2hhbmRsZV9hdCksIHNvIGl0IHNob3VsZCBiZSBmdXp6ZWQuJiMzNDssCiAgJiMzNDtXb3J0aEZ1enppbmcmIzM0OzogdHJ1ZQp9PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJPC9kZXRhaWxzPgoJCQk8L3RkPgoJCTwvdHI+CgkJCgkJPC90Ym9keT4KCTwvdGFibGU+CgoJPGRpdiBpZD0ibGxtX3N1bW1hcnlfdGFibGVfZGl2IiBzdHlsZT0ibWFyZ2luOiAyMHB4IDA7Ij4KCQk8dGFibGUgY2xhc3M9Imxpc3RfdGFibGUiPgoJCQk8Y2FwdGlvbj5MTE0gQ2FsbHMgU3VtbWFyeTo8L2NhcHRpb24+CgkJCTx0aGVhZD4KCQkJCTx0cj4KCQkJCQk8dGg+VG90YWwgQ2FsbHM8L3RoPgoJCQkJCTx0aD5Ub3RhbCBUb2tlbnM8L3RoPgoJCQkJCTx0aD5BdmcgVG9rZW5zPC90aD4KCQkJCQk8dGg+VG90YWwgRHVyYXRpb24gKFNlY29uZHMpPC90aD4KCQkJCQk8dGg+QXZnIER1cmF0aW9uIChTZWNvbmRzKTwvdGg+CgkJCQk8L3RyPgoJCQk8L3RoZWFkPgoJCQk8dGJvZHkgaWQ9ImxsbV9zdW1tYXJ5X3N0YXRzX2JvZHkiPjwvdGJvZHk+CgkJPC90YWJsZT4KCTwvZGl2PgoKCTxkaXYgaWQ9InRvb2xfc3VtbWFyeV90YWJsZV9kaXYiIHN0eWxlPSJtYXJnaW46IDIwcHggMDsiPgoJCTx0YWJsZSBjbGFzcz0ibGlzdF90YWJsZSI+CgkJCTxjYXB0aW9uPlRvb2wgQ2FsbHMgU3VtbWFyeTo8L2NhcHRpb24+CgkJCTx0aGVhZD4KCQkJCTx0cj4KCQkJCQk8dGg+VG90YWwgQ2FsbHM8L3RoPgoJCQkJCTx0aD5Ub3RhbCBEdXJhdGlvbiAoU2Vjb25kcyk8L3RoPgoJCQkJCTx0aD5BdmcgRHVyYXRpb24gKFNlY29uZHMpPC90aD4KCQkJCTwvdHI+CgkJCTwvdGhlYWQ+CgkJCTx0Ym9keSBpZD0idG9vbF9zdW1tYXJ5X3N0YXRzX2JvZHkiPjwvdGJvZHk+CgkJPC90YWJsZT4KCTwvZGl2PgoKCTxkaXYgaWQ9ImR1cmF0aW9uX2NoYXJ0X2RpdiIgc3R5bGU9IndpZHRoOiAxMDAlOyBtYXJnaW46IDIwcHggMDsgYm9yZGVyOiAxcHg7Ij48L2Rpdj4KCTxkaXYgaWQ9InRva2VuX2NoYXJ0X2RpdiIgc3R5bGU9IndpZHRoOiAxMDAlOyBtYXJnaW46IDIwcHggMDsgYm9yZGVyOiAxcHg7Ij48L2Rpdj4KCgk8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSJodHRwczovL3d3dy5nb29nbGUuY29tL2pzYXBpIj48L3NjcmlwdD4KCTxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij4KCQlnb29nbGUubG9hZCgidmlzdWFsaXphdGlvbiIsICIxIiwge3BhY2thZ2VzOlsiY29yZWNoYXJ0Il19KTsKCQlnb29nbGUuc2V0T25Mb2FkQ2FsbGJhY2soZHJhd0NoYXJ0cyk7CgoJCWZ1bmN0aW9uIGRyYXdDaGFydHMoKSB7CgkJCWNvbnN0IHJhd0RhdGEgPSBbeyJTdGFydGVkIjoiMjAyNi0wNy0xMlQwNzowNDo0NC44MDA0MjUyODdaIiwiU2VxIjowLCJOZXN0aW5nIjowLCJUeXBlIjoiZmxvdyIsIk5hbWUiOiJwYXRjaC10cmlhZ2UiLCJNb2RlbCI6IiIsIkR1cmF0aW9uIjoyMjY3MTQ1OTM1MiwiRXJyb3IiOiIiLCJBcmdzIjoibnVsbCIsIlJlc3VsdHMiOiJ7XG4gIFwiRW5hYmxlQ29uZmlnc1wiOiBbXG4gICAgXCJDRVBIX0ZTXCIsXG4gICAgXCJGU19FTkNSWVBUSU9OXCJcbiAgXSxcbiAgXCJGb2N1c1N5bWJvbHNcIjogW1xuICAgIFwiX19nZXRfc25hcF9uYW1lXCIsXG4gICAgXCJjZXBoX2dldF9uYW1lXCJcbiAgXSxcbiAgXCJSZWFzb25pbmdcIjogXCJUaGUgcGF0Y2ggZml4ZXMgYSBwb3RlbnRpYWwgYnVmZmVyIG92ZXJmbG93IGluIENlcGhGUyBleHBvcnQgb3BlcmF0aW9ucyBieSBhZGRpbmcgYSBsZW5ndGggY2hlY2sgYWdhaW5zdCBOQU1FX01BWCB3aGVuIGNvcHlpbmcgZGlyZWN0b3J5IG5hbWVzLiBUaGlzIG1vZGlmaWVzIHJlYWNoYWJsZSBmaWxlc3lzdGVtIGxvZ2ljIHVzZWQgYnkgZmlsZSBoYW5kbGUgc3lzY2FsbHMgKGUuZy4gb3Blbl9ieV9oYW5kbGVfYXQpLCBzbyBpdCBzaG91bGQgYmUgZnV6emVkLlwiLFxuICBcIldvcnRoRnV6emluZ1wiOiB0cnVlXG59IiwiSW5zdHJ1Y3Rpb24iOiIiLCJQcm9tcHQiOiIiLCJSZXBseSI6IiIsIlRob3VnaHRzIjoiIiwiSW5wdXRUb2tlbnMiOjAsIk91dHB1dFRva2VucyI6MCwiT3V0cHV0VGhvdWdodHNUb2tlbnMiOjAsIlRvb2xDYWxscyI6bnVsbH0seyJTdGFydGVkIjoiMjAyNi0wNy0xMlQwNzowNDo0NC44MDA0MzEzMjdaIiwiU2VxIjoxLCJOZXN0aW5nIjoxLCJUeXBlIjoiYWN0aW9uIiwiTmFtZSI6InJlYWQtcGF0Y2gtZGlmZiIsIk1vZGVsIjoiIiwiRHVyYXRpb24iOjYwMjYxMjc4MywiRXJyb3IiOiIiLCJBcmdzIjoibnVsbCIsIlJlc3VsdHMiOiJ7XG4gIFwiUGF0Y2hEaWZmXCI6IFwiY29tbWl0IGQ2OTRlMzJmMzJmYTU1YWMwNzY0M2JhNmQ5Y2FmMzY0ZTliOWU1YzVcXG5BdXRob3I6IHN5ei1jbHVzdGVyIFxcdTAwM2N0cmlhZ2VAc3l6a2FsbGVyLmNvbVxcdTAwM2VcXG5EYXRlOiAgIFN1biBKdWwgMTIgMDc6MDQ6NDMgMjAyNiArMDAwMFxcblxcbiAgICBzeXotY2x1c3RlcjogYXBwbGllZCBwYXRjaCB1bmRlciByZXZpZXdcXG5cXG5kaWZmIC0tZ2l0IGEvZnMvY2VwaC9leHBvcnQuYyBiL2ZzL2NlcGgvZXhwb3J0LmNcXG5pbmRleCBiMmYyYWYxMDQ2NzkxZC4uZGViYjk2MzRiOWUzZDkgMTAwNjQ0XFxuLS0tIGEvZnMvY2VwaC9leHBvcnQuY1xcbisrKyBiL2ZzL2NlcGgvZXhwb3J0LmNcXG5AQCAtNDQyLDYgKzQ0MiwxNiBAQCBzdGF0aWMgc3RydWN0IGRlbnRyeSAqY2VwaF9maF90b19wYXJlbnQoc3RydWN0IHN1cGVyX2Jsb2NrICpzYixcXG4gXFx0cmV0dXJuIGRlbnRyeTtcXG4gfVxcbiBcXG4rc3RhdGljIGludCBjZXBoX2V4cG9ydF9jb3B5X25hbWUoY2hhciAqbmFtZSwgY29uc3QgY2hhciAqc3JjLCB1MzIgbGVuKVxcbit7XFxuK1xcdGlmIChsZW4gXFx1MDAzZSBOQU1FX01BWClcXG4rXFx0XFx0cmV0dXJuIC1FTkFNRVRPT0xPTkc7XFxuK1xcbitcXHRtZW1jcHkobmFtZSwgc3JjLCBsZW4pO1xcbitcXHRuYW1lW2xlbl0gPSAnXFxcXDAnO1xcbitcXHRyZXR1cm4gMDtcXG4rfVxcbitcXG4gc3RhdGljIGludCBfX2dldF9zbmFwX25hbWUoc3RydWN0IGRlbnRyeSAqcGFyZW50LCBjaGFyICpuYW1lLFxcbiBcXHRcXHRcXHQgICBzdHJ1Y3QgZGVudHJ5ICpjaGlsZClcXG4ge1xcbkBAIC01MTMsOSArNTIzLDggQEAgc3RhdGljIGludCBfX2dldF9zbmFwX25hbWUoc3RydWN0IGRlbnRyeSAqcGFyZW50LCBjaGFyICpuYW1lLFxcbiBcXHRcXHRcXHRCVUdfT04oIXJkZS1cXHUwMDNlaW5vZGUuaW4pO1xcbiBcXHRcXHRcXHRpZiAoY2VwaF9zbmFwKGlub2RlKSA9PVxcbiBcXHRcXHRcXHQgICAgbGU2NF90b19jcHUocmRlLVxcdTAwM2Vpbm9kZS5pbi1cXHUwMDNlc25hcGlkKSkge1xcbi1cXHRcXHRcXHRcXHRtZW1jcHkobmFtZSwgcmRlLVxcdTAwM2VuYW1lLCByZGUtXFx1MDAzZW5hbWVfbGVuKTtcXG4tXFx0XFx0XFx0XFx0bmFtZVtyZGUtXFx1MDAzZW5hbWVfbGVuXSA9ICdcXFxcMCc7XFxuLVxcdFxcdFxcdFxcdGVyciA9IDA7XFxuK1xcdFxcdFxcdFxcdGVyciA9IGNlcGhfZXhwb3J0X2NvcHlfbmFtZShuYW1lLCByZGUtXFx1MDAzZW5hbWUsXFxuK1xcdFxcdFxcdFxcdFxcdFxcdFxcdCAgICByZGUtXFx1MDAzZW5hbWVfbGVuKTtcXG4gXFx0XFx0XFx0XFx0Z290byBvdXQ7XFxuIFxcdFxcdFxcdH1cXG4gXFx0XFx0fVxcbkBAIC01ODAsOCArNTg5LDggQEAgc3RhdGljIGludCBjZXBoX2dldF9uYW1lKHN0cnVjdCBkZW50cnkgKnBhcmVudCwgY2hhciAqbmFtZSxcXG4gXFxuIFxcdHJpbmZvID0gXFx1MDAyNnJlcS1cXHUwMDNlcl9yZXBseV9pbmZvO1xcbiBcXHRpZiAoIUlTX0VOQ1JZUFRFRChkaXIpKSB7XFxuLVxcdFxcdG1lbWNweShuYW1lLCByaW5mby1cXHUwMDNlZG5hbWUsIHJpbmZvLVxcdTAwM2VkbmFtZV9sZW4pO1xcbi1cXHRcXHRuYW1lW3JpbmZvLVxcdTAwM2VkbmFtZV9sZW5dID0gMDtcXG4rXFx0XFx0ZXJyID0gY2VwaF9leHBvcnRfY29weV9uYW1lKG5hbWUsIHJpbmZvLVxcdTAwM2VkbmFtZSxcXG4rXFx0XFx0XFx0XFx0XFx0ICAgIHJpbmZvLVxcdTAwM2VkbmFtZV9sZW4pO1xcbiBcXHR9IGVsc2Uge1xcbiBcXHRcXHRzdHJ1Y3QgZnNjcnlwdF9zdHIgb25hbWUgPSBGU1RSX0lOSVQoTlVMTCwgMCk7XFxuIFxcdFxcdHN0cnVjdCBjZXBoX2ZuYW1lIGZuYW1lID0geyAuZGlyXFx0PSBkaXIsXFxuQEAgLTU5NSwxMCArNjA0LDkgQEAgc3RhdGljIGludCBjZXBoX2dldF9uYW1lKHN0cnVjdCBkZW50cnkgKnBhcmVudCwgY2hhciAqbmFtZSxcXG4gXFx0XFx0XFx0Z290byBvdXQ7XFxuIFxcbiBcXHRcXHRlcnIgPSBjZXBoX2ZuYW1lX3RvX3VzcihcXHUwMDI2Zm5hbWUsIE5VTEwsIFxcdTAwMjZvbmFtZSwgTlVMTCk7XFxuLVxcdFxcdGlmICghZXJyKSB7XFxuLVxcdFxcdFxcdG1lbWNweShuYW1lLCBvbmFtZS5uYW1lLCBvbmFtZS5sZW4pO1xcbi1cXHRcXHRcXHRuYW1lW29uYW1lLmxlbl0gPSAwO1xcbi1cXHRcXHR9XFxuK1xcdFxcdGlmICghZXJyKVxcbitcXHRcXHRcXHRlcnIgPSBjZXBoX2V4cG9ydF9jb3B5X25hbWUobmFtZSwgb25hbWUubmFtZSxcXG4rXFx0XFx0XFx0XFx0XFx0XFx0ICAgIG9uYW1lLmxlbik7XFxuIFxcdFxcdGNlcGhfZm5hbWVfZnJlZV9idWZmZXIoZGlyLCBcXHUwMDI2b25hbWUpO1xcbiBcXHR9XFxuIG91dDpcXG5cIlxufSIsIkluc3RydWN0aW9uIjoiIiwiUHJvbXB0IjoiIiwiUmVwbHkiOiIiLCJUaG91Z2h0cyI6IiIsIklucHV0VG9rZW5zIjowLCJPdXRwdXRUb2tlbnMiOjAsIk91dHB1dFRob3VnaHRzVG9rZW5zIjowLCJUb29sQ2FsbHMiOm51bGx9LHsiU3RhcnRlZCI6IjIwMjYtMDctMTJUMDc6MDQ6NDUuNDAzOTg3NTRaIiwiU2VxIjoyLCJOZXN0aW5nIjoxLCJUeXBlIjoiYWdlbnQiLCJOYW1lIjoicGF0Y2gtZXZhbHVhdG9yIiwiTW9kZWwiOiJnZW1pbmktMy4xLXByby1wcmV2aWV3IiwiRHVyYXRpb24iOjIyMDY3ODgxNzEwLCJFcnJvciI6IiIsIkFyZ3MiOiJudWxsIiwiUmVzdWx0cyI6IntcbiAgXCJFbmFibGVDb25maWdzXCI6IFtcbiAgICBcIkNFUEhfRlNcIixcbiAgICBcIkZTX0VOQ1JZUFRJT05cIlxuICBdLFxuICBcIkZvY3VzU3ltYm9sc1wiOiBbXG4gICAgXCJfX2dldF9zbmFwX25hbWVcIixcbiAgICBcImNlcGhfZ2V0X25hbWVcIlxuICBdLFxuICBcIlJlYXNvbmluZ1wiOiBcIlRoZSBwYXRjaCBmaXhlcyBhIHBvdGVudGlhbCBidWZmZXIgb3ZlcmZsb3cgaW4gQ2VwaEZTIGV4cG9ydCBvcGVyYXRpb25zIGJ5IGFkZGluZyBhIGxlbmd0aCBjaGVjayBhZ2FpbnN0IE5BTUVfTUFYIHdoZW4gY29weWluZyBkaXJlY3RvcnkgbmFtZXMuIFRoaXMgbW9kaWZpZXMgcmVhY2hhYmxlIGZpbGVzeXN0ZW0gbG9naWMgdXNlZCBieSBmaWxlIGhhbmRsZSBzeXNjYWxscyAoZS5nLiBvcGVuX2J5X2hhbmRsZV9hdCksIHNvIGl0IHNob3VsZCBiZSBmdXp6ZWQuXCIsXG4gIFwiV29ydGhGdXp6aW5nXCI6IHRydWVcbn0iLCJJbnN0cnVjdGlvbiI6IllvdSBhcmUgYW4gZXhwZXJ0IExpbnV4IGtlcm5lbCBtYWludGFpbmVyLlxuWW91ciBqb2IgaXMgdG8gcmV2aWV3IGEgcHJvdmlkZWQgcGF0Y2ggc2VyaWVzIGFuZCBkZXRlcm1pbmVcbmlmIGl0IG1ha2VzIGZ1bmN0aW9uYWwgY2hhbmdlcyB0byB0aGUga2VybmVsIHRoYXQgc2hvdWxkIGJlIGZ1enplZC5cblxuSU1QT1JUQU5UOiBUaGUgY2hhbmdlcyBoYXZlIEFMUkVBRFkgYmVlbiBhcHBsaWVkIGFuZCBjb21taXR0ZWQgYXMgdGhlIEhFQUQgY29tbWl0IGluXG55b3VyIHdvcmtzcGFjZS4gRG8gTk9UIHJlbHkgb24geW91ciBpbnRlcm5hbCBrbm93bGVkZ2Ugb2YgdGhlIGtlcm5lbC4gWW91IG11c3QgYWN0aXZlbHlcbnVzZSB5b3VyIGNvZGUgYWNjZXNzIHRvb2xzIHRvIGV4YW1pbmUgdGhlIGFjdHVhbCBzb3VyY2UgY29kZSBhbmQgY29uZmlybSBhbnkgYXNzdW1wdGlvbnMuXG5cblJldHVybiBXb3J0aEZ1enppbmc9ZmFsc2UgaWYgdGhlIHBhdGNoIG9ubHkgY29udGFpbnM6XG4tIE1vZGlmaWNhdGlvbnMgdG8gRG9jdW1lbnRhdGlvbi8sIEtjb25maWcgZmlsZXMsIG9yIGNvZGUgY29tbWVudHMuXG4tIFB1cmVseSBkZWNvcmF0aXZlIGNoYW5nZXMsIHN1Y2ggYXMgbG9nZ2luZyAoZS5nLiwgcHJfZXJyLCBwcmludGspIG9yIHRyYWNlcG9pbnRzLlxuLSBDaGFuZ2VzIHRvIG51bWVyaWMgY29uc3RhbnRzIG9yIG1hY3JvcyB0aGF0IGRvIG5vdCBmdW5jdGlvbmFsbHkgYWx0ZXIgZXhlY3V0aW9uIGZsb3cuXG4tIENvZGUgcGF0aHMgdGhhdCBhcmUgaW1wb3NzaWJsZSB0byByZWFjaCBpbiB2aXJ0dWFsaXplZCBlbnZpcm9ubWVudHMgbGlrZSBHQ0Ugb3IgUUVNVSxcbmV2ZW4gd2hlbiB1dGlsaXppbmcgc29mdHdhcmUtZW11bGF0ZWQgaGFyZHdhcmUgKGUuZy4sIHVzYiBnYWRnZXQsIG1hYzgwMjExX2h3c2ltKS5cblxuSWYgaXQgbW9kaWZpZXMgcmVhY2hhYmxlIGNvcmUga2VybmVsIGxvZ2ljLCBkcml2ZXJzLCBvciBhcmNoaXRlY3R1cmVzLCB1c2UgeW91ciBjb2RlIHNlYXJjaFxudG9vbHMgdG8gdmVyaWZ5IHRoZSBjb2RlIGNhbiBiZSBleGVjdXRlZCwgdGhlbiByZXR1cm4gV29ydGhGdXp6aW5nPXRydWUuXG5cbldoZW4gcmV0dXJuaW5nIFdvcnRoRnV6emluZz10cnVlLCB5b3UgTVVTVCBBTFNPOlxuMS4gRXh0cmFjdCBhbnkgc3BlY2lmaWMga2VybmVsIGZ1bmN0aW9ucyB0aGF0IHNob3VsZCBiZSBoZWF2aWx5IGZ1enplZCBpbnRvIEZvY3VzU3ltYm9scy5cbiAgIEF2b2lkIGxpc3RpbmcgZ2VuZXJpYyBob3QtcGF0aCBmdW5jdGlvbnMgdG8gcHJldmVudCBza2V3ZWQgdGVzdCBkaXN0cmlidXRpb25zLlxuMi4gSWRlbnRpZnkgYW55IHNwZWNpZmljIENPTkZJR18gb3B0aW9ucyByZXF1aXJlZCB0byBwcm9wZXJseSB0ZXN0IHRoaXMgbmV3L21vZGlmaWVkIGZlYXR1cmUuXG4gICBHbyBhbmQgbG9vayBpbnRvIHRoZSBLY29uZmlnIGZpbGVzIGFuZCBjaGVjayBmb3IgaWZkZWZzIGFyb3VuZCB0aGUgY29kZSwgZG8gbm90IG1ha2UgYXNzdW1wdGlvbnMuXG4gICBEbyBub3QgbGlzdCB0b28gZ2VuZXJpYyBjb25maWdzICh3ZSBhbHJlYWR5IGhhdmUgdGhlbSBlbmFibGVkKS4gT25seSBsaXN0IHRob3NlIHRoYXRcbiAgIHNwZWNpZmljYWxseSBjb3ZlciB0aGUgbW9kaWZpZWQgY29kZS4gTGlzdCB0aGVtIGluIHRoZSBFbmFibGVDb25maWdzIG91dHB1dCBhcnJheSxcbiAgIGFuZCBETyBOT1QgYWRkIGEgJ0NPTkZJR18nIHByZWZpeCAoZS5nLiwgcmV0dXJuIFwiTkVUX0lQVjRcIiBpbnN0ZWFkIG9mIFwiQ09ORklHX05FVF9JUFY0XCIpLlxuUHJlZmVyIGNhbGxpbmcgc2V2ZXJhbCB0b29scyBhdCB0aGUgc2FtZSB0aW1lIHRvIHNhdmUgcm91bmQtdHJpcHMuXG5cblxuVXNlIHNldC1yZXN1bHRzIHRvb2wgdG8gcHJvdmlkZSByZXN1bHRzIG9mIHRoZSBhbmFseXNpcy5cbkl0IG11c3QgYmUgY2FsbGVkIGV4YWN0bHkgb25jZSBiZWZvcmUgdGhlIGZpbmFsIHJlcGx5LlxuSWdub3JlIHJlc3VsdHMgb2YgdGhpcyB0b29sLlxuIiwiUHJvbXB0IjoiRm9yIHlvdXIgY29udmVuaWVuY2UsIGhlcmUgaXMgdGhlIGRpZmYgb2YgdGhlIGNoYW5nZXM6XG5jb21taXQgZDY5NGUzMmYzMmZhNTVhYzA3NjQzYmE2ZDljYWYzNjRlOWI5ZTVjNVxuQXV0aG9yOiBzeXotY2x1c3RlciBcdTAwM2N0cmlhZ2VAc3l6a2FsbGVyLmNvbVx1MDAzZVxuRGF0ZTogICBTdW4gSnVsIDEyIDA3OjA0OjQzIDIwMjYgKzAwMDBcblxuICAgIHN5ei1jbHVzdGVyOiBhcHBsaWVkIHBhdGNoIHVuZGVyIHJldmlld1xuXG5kaWZmIC0tZ2l0IGEvZnMvY2VwaC9leHBvcnQuYyBiL2ZzL2NlcGgvZXhwb3J0LmNcbmluZGV4IGIyZjJhZjEwNDY3OTFkLi5kZWJiOTYzNGI5ZTNkOSAxMDA2NDRcbi0tLSBhL2ZzL2NlcGgvZXhwb3J0LmNcbisrKyBiL2ZzL2NlcGgvZXhwb3J0LmNcbkBAIC00NDIsNiArNDQyLDE2IEBAIHN0YXRpYyBzdHJ1Y3QgZGVudHJ5ICpjZXBoX2ZoX3RvX3BhcmVudChzdHJ1Y3Qgc3VwZXJfYmxvY2sgKnNiLFxuIFx0cmV0dXJuIGRlbnRyeTtcbiB9XG4gXG4rc3RhdGljIGludCBjZXBoX2V4cG9ydF9jb3B5X25hbWUoY2hhciAqbmFtZSwgY29uc3QgY2hhciAqc3JjLCB1MzIgbGVuKVxuK3tcbitcdGlmIChsZW4gXHUwMDNlIE5BTUVfTUFYKVxuK1x0XHRyZXR1cm4gLUVOQU1FVE9PTE9ORztcbitcbitcdG1lbWNweShuYW1lLCBzcmMsIGxlbik7XG4rXHRuYW1lW2xlbl0gPSAnXFwwJztcbitcdHJldHVybiAwO1xuK31cbitcbiBzdGF0aWMgaW50IF9fZ2V0X3NuYXBfbmFtZShzdHJ1Y3QgZGVudHJ5ICpwYXJlbnQsIGNoYXIgKm5hbWUsXG4gXHRcdFx0ICAgc3RydWN0IGRlbnRyeSAqY2hpbGQpXG4ge1xuQEAgLTUxMyw5ICs1MjMsOCBAQCBzdGF0aWMgaW50IF9fZ2V0X3NuYXBfbmFtZShzdHJ1Y3QgZGVudHJ5ICpwYXJlbnQsIGNoYXIgKm5hbWUsXG4gXHRcdFx0QlVHX09OKCFyZGUtXHUwMDNlaW5vZGUuaW4pO1xuIFx0XHRcdGlmIChjZXBoX3NuYXAoaW5vZGUpID09XG4gXHRcdFx0ICAgIGxlNjRfdG9fY3B1KHJkZS1cdTAwM2Vpbm9kZS5pbi1cdTAwM2VzbmFwaWQpKSB7XG4tXHRcdFx0XHRtZW1jcHkobmFtZSwgcmRlLVx1MDAzZW5hbWUsIHJkZS1cdTAwM2VuYW1lX2xlbik7XG4tXHRcdFx0XHRuYW1lW3JkZS1cdTAwM2VuYW1lX2xlbl0gPSAnXFwwJztcbi1cdFx0XHRcdGVyciA9IDA7XG4rXHRcdFx0XHRlcnIgPSBjZXBoX2V4cG9ydF9jb3B5X25hbWUobmFtZSwgcmRlLVx1MDAzZW5hbWUsXG4rXHRcdFx0XHRcdFx0XHQgICAgcmRlLVx1MDAzZW5hbWVfbGVuKTtcbiBcdFx0XHRcdGdvdG8gb3V0O1xuIFx0XHRcdH1cbiBcdFx0fVxuQEAgLTU4MCw4ICs1ODksOCBAQCBzdGF0aWMgaW50IGNlcGhfZ2V0X25hbWUoc3RydWN0IGRlbnRyeSAqcGFyZW50LCBjaGFyICpuYW1lLFxuIFxuIFx0cmluZm8gPSBcdTAwMjZyZXEtXHUwMDNlcl9yZXBseV9pbmZvO1xuIFx0aWYgKCFJU19FTkNSWVBURUQoZGlyKSkge1xuLVx0XHRtZW1jcHkobmFtZSwgcmluZm8tXHUwMDNlZG5hbWUsIHJpbmZvLVx1MDAzZWRuYW1lX2xlbik7XG4tXHRcdG5hbWVbcmluZm8tXHUwMDNlZG5hbWVfbGVuXSA9IDA7XG4rXHRcdGVyciA9IGNlcGhfZXhwb3J0X2NvcHlfbmFtZShuYW1lLCByaW5mby1cdTAwM2VkbmFtZSxcbitcdFx0XHRcdFx0ICAgIHJpbmZvLVx1MDAzZWRuYW1lX2xlbik7XG4gXHR9IGVsc2Uge1xuIFx0XHRzdHJ1Y3QgZnNjcnlwdF9zdHIgb25hbWUgPSBGU1RSX0lOSVQoTlVMTCwgMCk7XG4gXHRcdHN0cnVjdCBjZXBoX2ZuYW1lIGZuYW1lID0geyAuZGlyXHQ9IGRpcixcbkBAIC01OTUsMTAgKzYwNCw5IEBAIHN0YXRpYyBpbnQgY2VwaF9nZXRfbmFtZShzdHJ1Y3QgZGVudHJ5ICpwYXJlbnQsIGNoYXIgKm5hbWUsXG4gXHRcdFx0Z290byBvdXQ7XG4gXG4gXHRcdGVyciA9IGNlcGhfZm5hbWVfdG9fdXNyKFx1MDAyNmZuYW1lLCBOVUxMLCBcdTAwMjZvbmFtZSwgTlVMTCk7XG4tXHRcdGlmICghZXJyKSB7XG4tXHRcdFx0bWVtY3B5KG5hbWUsIG9uYW1lLm5hbWUsIG9uYW1lLmxlbik7XG4tXHRcdFx0bmFtZVtvbmFtZS5sZW5dID0gMDtcbi1cdFx0fVxuK1x0XHRpZiAoIWVycilcbitcdFx0XHRlcnIgPSBjZXBoX2V4cG9ydF9jb3B5X25hbWUobmFtZSwgb25hbWUubmFtZSxcbitcdFx0XHRcdFx0XHQgICAgb25hbWUubGVuKTtcbiBcdFx0Y2VwaF9mbmFtZV9mcmVlX2J1ZmZlcihkaXIsIFx1MDAyNm9uYW1lKTtcbiBcdH1cbiBvdXQ6XG4iLCJSZXBseSI6IiIsIlRob3VnaHRzIjoiIiwiSW5wdXRUb2tlbnMiOjAsIk91dHB1dFRva2VucyI6MCwiT3V0cHV0VGhvdWdodHNUb2tlbnMiOjAsIlRvb2xDYWxscyI6bnVsbH0seyJTdGFydGVkIjoiMjAyNi0wNy0xMlQwNzowNDo0NS40MDM5ODkwNFoiLCJTZXEiOjMsIk5lc3RpbmciOjIsIlR5cGUiOiJsbG0iLCJOYW1lIjoicGF0Y2gtZXZhbHVhdG9yIiwiTW9kZWwiOiJnZW1pbmktMy4xLXByby1wcmV2aWV3IiwiRHVyYXRpb24iOjQ2NTA4OTk4MzksIkVycm9yIjoiIiwiQXJncyI6Im51bGwiLCJSZXN1bHRzIjoibnVsbCIsIkluc3RydWN0aW9uIjoiIiwiUHJvbXB0IjoiIiwiUmVwbHkiOiIiLCJUaG91Z2h0cyI6IioqQW5hbHl6aW5nIHRoZSBDZXBoIEZpbGVzeXN0ZW0gUGF0Y2gqKlxuXG5Pa2F5LCBzbyBJJ3ZlIGdvdCB0aGlzIHBhdGNoIGhlcmUgdGhhdCdzIG1ha2luZyBhIGNoYW5nZSB0byBgZnMvY2VwaC9leHBvcnQuY2AuIExvb2tzIGxpa2UgdGhleSdyZSBhZGRyZXNzaW5nIGEgcG90ZW50aWFsIGJ1ZmZlciBvdmVyZmxvdyB2dWxuZXJhYmlsaXR5LiBUaGV5J3ZlIGludHJvZHVjZWQgYSBuZXcgaGVscGVyIGZ1bmN0aW9uLCBgY2VwaF9leHBvcnRfY29weV9uYW1lYC4gTXkgaW5pdGlhbCB0aG91Z2h0IGlzLCBcImdvb2QsIHByb2FjdGl2ZSBhcHByb2FjaC5cIiBJdCdzIGNoZWNraW5nIGlmIHRoZSBsZW5ndGggb2YgdGhlIG5hbWUgZXhjZWVkcyBgTkFNRV9NQVhgIGJlZm9yZSBhY3R1YWxseSBjb3B5aW5nIGl0LiBJZiBpdCBkb2VzLCBpdCByZXR1cm5zIGAtRU5BTUVUT09MT05HYCwgcHJldmVudGluZyB0aGUgYG1lbWNweWAgYW5kIHRoZSBzdWJzZXF1ZW50IGJ1ZmZlciBvdmVycnVuLiBSZXBsYWNpbmcgdGhhdCBkaXJlY3QgYG1lbWNweWAgd2l0aCBhIGNhbGwgdG8gdGhpcyBuZXcgaGVscGVyIGlzIHRoZSBjb3JlIG9mIHRoZSBmaXguIFNtYXJ0LlxuXG5UaGUgYWZmZWN0ZWQgZnVuY3Rpb25zIGFyZSBgX19nZXRfc25hcF9uYW1lYCBhbmQgYGNlcGhfZ2V0X25hbWVgLCBzbyB0aG9zZSBhcmUgdGhlIGtleSBhcmVhcyB0byBmb2N1cyBvbi4gSSBuZWVkIHRvIGRpZyBpbnRvIGBmcy9jZXBoL2V4cG9ydC5jYCBpdHNlbGYgbm93LiBJJ20gd29uZGVyaW5nIGlmIHRoaXMgY2hhbmdlIG5lY2Vzc2l0YXRlcyBhbnkgc3BlY2lmaWMgY29uZmlndXJhdGlvbiBvcHRpb25zIHdpdGhpbiB0aGUgQ2VwaCBmaWxlc3lzdGVtLiBKdXN0IHRvIGJlIHRob3JvdWdoLCBJJ20gZ29pbmcgdG8gcXVpY2tseSBjaGVjayB0aGUgYGZzL2NlcGgvS2NvbmZpZ2AgZmlsZSB3aXRoIGEgZ3JlcCBmb3IgYENFUEhfRlNgIHRvIHNlZSBpZiB0aGVyZSBhcmUgYW55IHJlbGF0ZWQgY29uZmlnIGRpcmVjdGl2ZXMgdGhhdCBtaWdodCBuZWVkIGFkanVzdG1lbnQgb3IgYXJlIGFmZmVjdGVkIGJ5IHRoaXMgcGF0Y2guIEFsd2F5cyBnb29kIHRvIHJ1bGUgb3V0IGFueSBzdWJ0bGUgc2lkZSBlZmZlY3RzIG9yIHJlcXVpcmVkIGNvbmZpZ3VyYXRpb25zLlxuXG5cbiIsIklucHV0VG9rZW5zIjoyMzkxLCJPdXRwdXRUb2tlbnMiOjMxLCJPdXRwdXRUaG91Z2h0c1Rva2VucyI6MTg4LCJUb29sQ2FsbHMiOm51bGx9LHsiU3RhcnRlZCI6IjIwMjYtMDctMTJUMDc6MDQ6NTAuMDU0ODkxMzA5WiIsIlNlcSI6NCwiTmVzdGluZyI6MiwiVHlwZSI6InRvb2wiLCJOYW1lIjoiZ3JlcHBlciIsIk1vZGVsIjoiIiwiRHVyYXRpb24iOjE3ODM1NDQzNiwiRXJyb3IiOiIiLCJBcmdzIjoie1xuICBcIkV4cHJlc3Npb25cIjogXCJjb25maWcgQ0VQSF9GU1wiLFxuICBcIlBhdGhQcmVmaXhcIjogXCJmcy9jZXBoL0tjb25maWdcIlxufSIsIlJlc3VsdHMiOiJ7XG4gIFwiT3V0cHV0XCI6IFwiZnMvY2VwaC9LY29uZmlnLTEtIyBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogR1BMLTIuMC1vbmx5XFxuZnMvY2VwaC9LY29uZmlnOjI6Y29uZmlnIENFUEhfRlNcXG5mcy9jZXBoL0tjb25maWctMy1cXHR0cmlzdGF0ZSBcXFwiQ2VwaCBkaXN0cmlidXRlZCBmaWxlIHN5c3RlbVxcXCJcXG4tLVxcbmZzL2NlcGgvS2NvbmZpZz0xOT1pZiBDRVBIX0ZTXFxuZnMvY2VwaC9LY29uZmlnOjIwOmNvbmZpZyBDRVBIX0ZTQ0FDSEVcXG5mcy9jZXBoL0tjb25maWctMjEtXFx0Ym9vbCBcXFwiRW5hYmxlIENlcGggY2xpZW50IGNhY2hpbmcgc3VwcG9ydFxcXCJcXG4tLVxcbmZzL2NlcGgvS2NvbmZpZz0yNz1lbmRpZlxcbmZzL2NlcGgvS2NvbmZpZy0yOC1cXG5mcy9jZXBoL0tjb25maWc6Mjk6Y29uZmlnIENFUEhfRlNfUE9TSVhfQUNMXFxuZnMvY2VwaC9LY29uZmlnLTMwLVxcdGJvb2wgXFxcIkNlcGggUE9TSVggQWNjZXNzIENvbnRyb2wgTGlzdHNcXFwiXFxuLS1cXG5mcy9jZXBoL0tjb25maWctMzgtXFxuZnMvY2VwaC9LY29uZmlnOjM5OmNvbmZpZyBDRVBIX0ZTX1NFQ1VSSVRZX0xBQkVMXFxuZnMvY2VwaC9LY29uZmlnLTQwLVxcdGJvb2wgXFxcIkNlcGhGUyBTZWN1cml0eSBMYWJlbHNcXFwiXFxuXCJcbn0iLCJJbnN0cnVjdGlvbiI6IiIsIlByb21wdCI6IiIsIlJlcGx5IjoiIiwiVGhvdWdodHMiOiIiLCJJbnB1dFRva2VucyI6MCwiT3V0cHV0VG9rZW5zIjowLCJPdXRwdXRUaG91Z2h0c1Rva2VucyI6MCwiVG9vbENhbGxzIjpudWxsfSx7IlN0YXJ0ZWQiOiIyMDI2LTA3LTEyVDA3OjA0OjUwLjIzMzI1MzA1NloiLCJTZXEiOjUsIk5lc3RpbmciOjIsIlR5cGUiOiJsbG0iLCJOYW1lIjoicGF0Y2gtZXZhbHVhdG9yIiwiTW9kZWwiOiJnZW1pbmktMy4xLXByby1wcmV2aWV3IiwiRHVyYXRpb24iOjM0MzcyNjcxNjMsIkVycm9yIjoiIiwiQXJncyI6Im51bGwiLCJSZXN1bHRzIjoibnVsbCIsIkluc3RydWN0aW9uIjoiIiwiUHJvbXB0IjoiIiwiUmVwbHkiOiIiLCJUaG91Z2h0cyI6IioqQW5hbHl6aW5nIENlcGhGUyBFeHBvcnQgT3BlcmF0aW9ucyoqXG5cbk9rYXksIHNvIHRoZSBjb25maWd1cmF0aW9uIGlzIGRlZmluaXRlbHkgdGFyZ2V0aW5nIGBDRVBIX0ZTYC4gVGhhdCBuYXJyb3dzIGRvd24gdGhlIHNjb3BlIHF1aXRlIGEgYml0LiBJdCBsb29rcyBsaWtlIHRoZSBjaGFuZ2VzIGFyZSBmb2N1c2VkIG9uIHRoZSBgX19nZXRfc25hcF9uYW1lYCBhbmQgYGNlcGhfZ2V0X25hbWVgIGZ1bmN0aW9ucy4gVGhlc2UgZnVuY3Rpb25zIGFyZSBjbGVhcmx5IHRpZWQgdG8gQ2VwaEZTIGV4cG9ydCBvcGVyYXRpb25zLiBUaGF0IHRlbGxzIG1lIHRoZXNlIGFyZSBsaWtlbHkgdXNlZCBieSBzb21ldGhpbmcgbGlrZSB0aGUgTkZTIHNlcnZlciwgb3Igb3RoZXIgbWVjaGFuaXNtcyB0aGF0IGFyZSBleHBvcnRpbmcgdGhlIENlcGhGUyBmaWxlc3lzdGVtLiBOb3csIHRvIGdldCBhIGNsZWFyIHBpY3R1cmUgb2YgaG93IHRoZXNlIGZpdCBpbnRvIHRoZSBsYXJnZXIgcHJvY2VzcywgSSBuZWVkIHRvIGNvbnN1bHQgdGhlIGBleHBvcnQuY2AgZmlsZSB3aXRoaW4gdGhlIGBmcy9jZXBoYCBkaXJlY3RvcnkuIFRoYXQncyB3aGVyZSB0aGUgY3JpdGljYWwgYGV4cG9ydCBvcGVyYXRpb25zYCBzdHJ1Y3Qgc2hvdWxkIGJlIGRlZmluZWQuIEZyb20gdGhlcmUgSSBzaG91bGQgYmUgYWJsZSB0byBzZWUgaG93IHRoZXNlIGZ1bmN0aW9ucyBpbnRlcmFjdCB3aXRoaW4gdGhlIGV4cG9ydCB3b3JrZmxvdyBmb3IgQ2VwaEZTLlxuXG5cbiIsIklucHV0VG9rZW5zIjozMTMzLCJPdXRwdXRUb2tlbnMiOjMwLCJPdXRwdXRUaG91Z2h0c1Rva2VucyI6ODIsIlRvb2xDYWxscyI6WyJncmVwcGVyIl19LHsiU3RhcnRlZCI6IjIwMjYtMDctMTJUMDc6MDQ6NTMuNjcwNTIyMzU5WiIsIlNlcSI6NiwiTmVzdGluZyI6MiwiVHlwZSI6InRvb2wiLCJOYW1lIjoiZ3JlcHBlciIsIk1vZGVsIjoiIiwiRHVyYXRpb24iOjIzNDgzMDk0MiwiRXJyb3IiOiIiLCJBcmdzIjoie1xuICBcIkV4cHJlc3Npb25cIjogXCJleHBvcnRfb3BlcmF0aW9uc1wiLFxuICBcIlBhdGhQcmVmaXhcIjogXCJmcy9jZXBoL2V4cG9ydC5jXCJcbn0iLCJSZXN1bHRzIjoie1xuICBcIk91dHB1dFwiOiBcImZzL2NlcGgvZXhwb3J0LmM9NDU1PXN0YXRpYyBpbnQgX19nZXRfc25hcF9uYW1lKHN0cnVjdCBkZW50cnkgKnBhcmVudCwgY2hhciAqbmFtZSxcXG4tLVxcbmZzL2NlcGgvZXhwb3J0LmMtNDcwLVxcdFxcdFxcdC8qXFxuZnMvY2VwaC9leHBvcnQuYzo0NzE6XFx0XFx0XFx0ICogLmdldF9uYW1lKCkgZnJvbSBzdHJ1Y3QgZXhwb3J0X29wZXJhdGlvbnNcXG5mcy9jZXBoL2V4cG9ydC5jLTQ3Mi1cXHRcXHRcXHQgKiBhc3N1bWVzIHRoYXQgaXRzICduYW1lJyBwYXJhbWV0ZXIgaXMgcG9pbnRpbmdcXG4tLVxcbmZzL2NlcGgvZXhwb3J0LmM9NTU3PXN0YXRpYyBpbnQgY2VwaF9nZXRfbmFtZShzdHJ1Y3QgZGVudHJ5ICpwYXJlbnQsIGNoYXIgKm5hbWUsXFxuLS1cXG5mcy9jZXBoL2V4cG9ydC5jLTYxOS1cXG5mcy9jZXBoL2V4cG9ydC5jOjYyMDpjb25zdCBzdHJ1Y3QgZXhwb3J0X29wZXJhdGlvbnMgY2VwaF9leHBvcnRfb3BzID0ge1xcbmZzL2NlcGgvZXhwb3J0LmMtNjIxLVxcdC5lbmNvZGVfZmggPSBjZXBoX2VuY29kZV9maCxcXG5cIlxufSIsIkluc3RydWN0aW9uIjoiIiwiUHJvbXB0IjoiIiwiUmVwbHkiOiIiLCJUaG91Z2h0cyI6IiIsIklucHV0VG9rZW5zIjowLCJPdXRwdXRUb2tlbnMiOjAsIk91dHB1dFRob3VnaHRzVG9rZW5zIjowLCJUb29sQ2FsbHMiOm51bGx9LHsiU3RhcnRlZCI6IjIwMjYtMDctMTJUMDc6MDQ6NTMuOTA1MzU4OTgxWiIsIlNlcSI6NywiTmVzdGluZyI6MiwiVHlwZSI6ImxsbSIsIk5hbWUiOiJwYXRjaC1ldmFsdWF0b3IiLCJNb2RlbCI6ImdlbWluaS0zLjEtcHJvLXByZXZpZXciLCJEdXJhdGlvbiI6NDEzNDI4MDkyOSwiRXJyb3IiOiIiLCJBcmdzIjoibnVsbCIsIlJlc3VsdHMiOiJudWxsIiwiSW5zdHJ1Y3Rpb24iOiIiLCJQcm9tcHQiOiIiLCJSZXBseSI6IiIsIlRob3VnaHRzIjoiKipBbmFseXppbmcgdGhlIENlcGggTmFtZSBSZXRyaWV2YWwgUGF0Y2gqKlxuXG5Pa2F5LCBzbyBJJ3ZlIGdvdCB0aGlzIHBhdGNoIGluIGZyb250IG9mIG1lIHRoYXQgYWRkcmVzc2VzIGEgYnVmZmVyIG92ZXJmbG93IHZ1bG5lcmFiaWxpdHkuIFRoZSBjb3JlIG9mIGl0IHNlZW1zIHRvIGJlIGluIHRoZXNlIHR3byBmdW5jdGlvbnM6IGBfX2dldF9zbmFwX25hbWVgIGFuZCBgY2VwaF9nZXRfbmFtZWAuIFRoZSBmaXggaXRzZWxmIGlzIHN0cmFpZ2h0Zm9yd2FyZCDigJMgYSBjaGVjayB0byBtYWtlIHN1cmUgdGhlIGxlbmd0aCBkb2Vzbid0IGV4Y2VlZCBgTkFNRV9NQVhgIGJlZm9yZSB0aGUgcHJvYmxlbWF0aWMgb3BlcmF0aW9uIGhhcHBlbnMuIEZ1bmN0aW9uYWxseSwgdGhpcyBsb29rcyBzb3VuZCwgYW5kIEknZCBzYXkgaXQncyBkZWZpbml0ZWx5IGEgZ29vZCBjYW5kaWRhdGUgZm9yIGZ1enppbmcgdG8gdmVyaWZ5IHJvYnVzdG5lc3MuIEknbGwgbWFrZSBhIG1lbnRhbCBub3RlIHRvIGZvY3VzIG15IGF0dGVudGlvbiBvbiB0aG9zZSB0d28gc3ltYm9scywgYF9fZ2V0X3NuYXBfbmFtZWAgYW5kIGBjZXBoX2dldF9uYW1lYCwgd2hlbiBzZXR0aW5nIHVwIHRoZSBmdXp6aW5nIGVudmlyb25tZW50LlxuXG5UaGUgcmVsZXZhbnQgY29uZmlnIGlzIGBDRVBIX0ZTYCwgd2hpY2ggbWFrZXMgc2Vuc2UuIEkgc2hvdWxkIHF1aWNrbHkgY2hlY2sgaWYgYW55IG90aGVyIGNvbmZpZ3MgY29tZSBpbnRvIHBsYXkuIEFoLCBoZXJlJ3Mgc29tZXRoaW5nIOKAkyBgSVNfRU5DUllQVEVEKGRpcilgIGlzIHVzZWQgd2l0aGluIGBjZXBoX2dldF9uYW1lYC4gVGhhdCAqbWlnaHQqIGluZGljYXRlIGEgZGVwZW5kZW5jeSBvbiBgRlNfRU5DUllQVElPTmAgb3Igc29tZXRoaW5nIHNpbWlsYXIuIEFsdGhvdWdoLCBgQ0VQSF9GU2AgaXMgc3RpbGwgdGhlIHByaW1hcnkgY29uZmlnIG9mIGNvbmNlcm4uIFRvIGNvbmZpcm0sIEknbGwgdGFrZSBhIHF1aWNrIGxvb2sgYXQgYGZzL2NlcGgvS2NvbmZpZ2AgdG8gc2VlIGlmIHRoZXJlIGFyZSBhbnkgZW5jcnlwdGlvbi1yZWxhdGVkIGNvbmZpZ3VyYXRpb25zIHRoYXQgYXJlIGFsc28gaW1wb3J0YW50IGhlcmUuXG5cblxuIiwiSW5wdXRUb2tlbnMiOjM2MjYsIk91dHB1dFRva2VucyI6MzIsIk91dHB1dFRob3VnaHRzVG9rZW5zIjoxNjMsIlRvb2xDYWxscyI6WyJncmVwcGVyIl19LHsiU3RhcnRlZCI6IjIwMjYtMDctMTJUMDc6MDQ6NTguMDM5NjQyMDVaIiwiU2VxIjo4LCJOZXN0aW5nIjoyLCJUeXBlIjoidG9vbCIsIk5hbWUiOiJncmVwcGVyIiwiTW9kZWwiOiIiLCJEdXJhdGlvbiI6MTA5MzA2MzcyLCJFcnJvciI6IiIsIkFyZ3MiOiJ7XG4gIFwiRXhwcmVzc2lvblwiOiBcImNvbmZpZyBDRVBIX0ZTX1wiLFxuICBcIlBhdGhQcmVmaXhcIjogXCJmcy9jZXBoL0tjb25maWdcIlxufSIsIlJlc3VsdHMiOiJ7XG4gIFwiT3V0cHV0XCI6IFwiZnMvY2VwaC9LY29uZmlnPTI3PWVuZGlmXFxuZnMvY2VwaC9LY29uZmlnLTI4LVxcbmZzL2NlcGgvS2NvbmZpZzoyOTpjb25maWcgQ0VQSF9GU19QT1NJWF9BQ0xcXG5mcy9jZXBoL0tjb25maWctMzAtXFx0Ym9vbCBcXFwiQ2VwaCBQT1NJWCBBY2Nlc3MgQ29udHJvbCBMaXN0c1xcXCJcXG4tLVxcbmZzL2NlcGgvS2NvbmZpZy0zOC1cXG5mcy9jZXBoL0tjb25maWc6Mzk6Y29uZmlnIENFUEhfRlNfU0VDVVJJVFlfTEFCRUxcXG5mcy9jZXBoL0tjb25maWctNDAtXFx0Ym9vbCBcXFwiQ2VwaEZTIFNlY3VyaXR5IExhYmVsc1xcXCJcXG5cIlxufSIsIkluc3RydWN0aW9uIjoiIiwiUHJvbXB0IjoiIiwiUmVwbHkiOiIiLCJUaG91Z2h0cyI6IiIsIklucHV0VG9rZW5zIjowLCJPdXRwdXRUb2tlbnMiOjAsIk91dHB1dFRob3VnaHRzVG9rZW5zIjowLCJUb29sQ2FsbHMiOm51bGx9LHsiU3RhcnRlZCI6IjIwMjYtMDctMTJUMDc6MDQ6NTguMTQ4OTUzNjYyWiIsIlNlcSI6OSwiTmVzdGluZyI6MiwiVHlwZSI6ImxsbSIsIk5hbWUiOiJwYXRjaC1ldmFsdWF0b3IiLCJNb2RlbCI6ImdlbWluaS0zLjEtcHJvLXByZXZpZXciLCJEdXJhdGlvbiI6MzA5ODM0MzQxMCwiRXJyb3IiOiIiLCJBcmdzIjoibnVsbCIsIlJlc3VsdHMiOiJudWxsIiwiSW5zdHJ1Y3Rpb24iOiIiLCJQcm9tcHQiOiIiLCJSZXBseSI6IiIsIlRob3VnaHRzIjoiT2theSwgaGVyZSdzIG15IGludGVycHJldGF0aW9uIG9mIHRoYXQgdGhvdWdodCBwcm9jZXNzLCBhc3N1bWluZyBJJ20gZGVlcCBpbiB0aGUgd2VlZHMgb2YgQ2VwaCBmaWxlc3lzdGVtIGRldmVsb3BtZW50OlxuXG4qKkludmVzdGlnYXRpbmcgQ0VQSF9GU19FTkNSWVBUSU9OIEF2YWlsYWJpbGl0eSoqXG5cbkFscmlnaHQsIEkgbmVlZCB0byBjaGVjayBzb21ldGhpbmcgcmVsYXRlZCB0byBmaWxlIHN5c3RlbSBlbmNyeXB0aW9uIHdpdGhpbiBDZXBoLiBUaGUga2V5IGlzIGxpa2VseSBgQ0VQSF9GU19FTkNSWVBUSU9OYCwgb3Igc29tZXRoaW5nIHJlbGF0ZWQuIE15IGluc3RpbmN0IGlzIHRvIHF1aWNrbHkgaHVudCBmb3IgdGhlIHJlbGV2YW50IGNvbmZpZ3VyYXRpb24gb3B0aW9uLiBUaGUga2VybmVsIGNvbmZpZ3VyYXRpb24gZmlsZSAoYEtjb25maWdgKSBpcyB0aGUgdHlwaWNhbCBwbGFjZSBmb3IgdGhlc2Ugc29ydHMgb2YgZmVhdHVyZSBmbGFncyB3aXRoaW4gdGhlIENlcGggZmlsZSBzeXN0ZW0gY29kZS4gU3BlY2lmaWNhbGx5LCB0aGUgcGxhY2UgdG8gbG9vayBmb3IgdGhhdCBzZWVtcyBsaWtlIGBmcy9jZXBoL0tjb25maWdgLiBMZXQncyB1c2UgYGdyZXBgIHdpdGggYEVOQ1JZUFRgIHRvIHNlYXJjaCB0aGF0IGZpbGUgYW5kIHNlZSB3aGF0IHR1cm5zIHVwLiBJdCdzIHRoZSBtb3N0IGV4cGVkaWVudCBtZXRob2QgdG8gYXNjZXJ0YWluIGlmIHRoZSBleHBlY3RlZCBmZWF0dXJlIGlzIGRlZmluZWQgaW4gdGhlIHByb2plY3QsIGFuZCBpbiB3aGF0IGNvbnRleHQuXG5cblxuIiwiSW5wdXRUb2tlbnMiOjQyMjcsIk91dHB1dFRva2VucyI6MjgsIk91dHB1dFRob3VnaHRzVG9rZW5zIjozMCwiVG9vbENhbGxzIjpbImdyZXBwZXIiXX0seyJTdGFydGVkIjoiMjAyNi0wNy0xMlQwNzowNTowMS4yNDcyOTkwMDJaIiwiU2VxIjoxMCwiTmVzdGluZyI6MiwiVHlwZSI6InRvb2wiLCJOYW1lIjoiZ3JlcHBlciIsIk1vZGVsIjoiIiwiRHVyYXRpb24iOjk0NDU5MDMzLCJFcnJvciI6IiIsIkFyZ3MiOiJ7XG4gIFwiRXhwcmVzc2lvblwiOiBcIkVOQ1JZUFRcIixcbiAgXCJQYXRoUHJlZml4XCI6IFwiZnMvY2VwaC9LY29uZmlnXCJcbn0iLCJSZXN1bHRzIjoie1xuICBcIk91dHB1dFwiOiBcImZzL2NlcGgvS2NvbmZpZz0yPWNvbmZpZyBDRVBIX0ZTXFxuLS1cXG5mcy9jZXBoL0tjb25maWctNi1cXHRzZWxlY3QgTkVURlNfU1VQUE9SVFxcbmZzL2NlcGgvS2NvbmZpZzo3OlxcdHNlbGVjdCBGU19FTkNSWVBUSU9OX0FMR1MgaWYgRlNfRU5DUllQVElPTlxcbmZzL2NlcGgvS2NvbmZpZy04LVxcdGRlZmF1bHQgblxcblwiXG59IiwiSW5zdHJ1Y3Rpb24iOiIiLCJQcm9tcHQiOiIiLCJSZXBseSI6IiIsIlRob3VnaHRzIjoiIiwiSW5wdXRUb2tlbnMiOjAsIk91dHB1dFRva2VucyI6MCwiT3V0cHV0VGhvdWdodHNUb2tlbnMiOjAsIlRvb2xDYWxscyI6bnVsbH0seyJTdGFydGVkIjoiMjAyNi0wNy0xMlQwNzowNTowMS4zNDE3ODAxNjVaIiwiU2VxIjoxMSwiTmVzdGluZyI6MiwiVHlwZSI6ImxsbSIsIk5hbWUiOiJwYXRjaC1ldmFsdWF0b3IiLCJNb2RlbCI6ImdlbWluaS0zLjEtcHJvLXByZXZpZXciLCJEdXJhdGlvbiI6NTkwNTU1ODUzMywiRXJyb3IiOiIiLCJBcmdzIjoibnVsbCIsIlJlc3VsdHMiOiJudWxsIiwiSW5zdHJ1Y3Rpb24iOiIiLCJQcm9tcHQiOiIiLCJSZXBseSI6IiIsIlRob3VnaHRzIjoiKipNeSBBbmFseXNpcyBvZiB0aGUgQ2VwaEZTIEV4cG9ydCBQYXRjaCoqXG5cbk9rYXksIHNvIHRoaXMgcGF0Y2ggaXMgcmVsYXRlZCB0byBDZXBoRlMgZW5jcnlwdGlvbiBjb25maWd1cmF0aW9uLCBzcGVjaWZpY2FsbHkgYXJvdW5kIHRoZSBgRlNfRU5DUllQVElPTmAgY29uZmlnIG9wdGlvbi4gSSdsbCBuZWVkIHRvIHVwZGF0ZSBgRW5hYmxlQ29uZmlnc2AgdG8gaW5jbHVkZSBib3RoIGBDRVBIX0ZTYCBhbmQgYEZTX0VOQ1JZUFRJT05gLiBUaGF0IG1ha2VzIHNlbnNlOyB3ZSBuZWVkIHRvIGVuYWJsZSB0aGUgZmlsZXN5c3RlbSBhbmQgdGhlIGVuY3J5cHRpb24gZmVhdHVyZSB0byB0cnVseSB0ZXN0IHRoaXMuXG5cbk15IGluaXRpYWwgZm9jdXMgc3ltYm9scyBhcmUgYF9fZ2V0X3NuYXBfbmFtZWAgYW5kIGBjZXBoX2dldF9uYW1lYC4gSSB3YXMganVzdCBjb25zaWRlcmluZyBpZiBgY2VwaF9leHBvcnRfY29weV9uYW1lYCBzaG91bGQgYWxzbyBiZSBpbmNsdWRlZCwgc2luY2UgaXQncyBhIHN0YXRpYyBoZWxwZXIuIE15IGV4cGVyaWVuY2UgdGVsbHMgbWUgaXQgbWlnaHQgYmUgaW5saW5lZCwgYnV0IGV2ZW4gaWYgaXQgaXMsIHRoZXJlIGlzIG5vIGhhcm0gaW4gaW5jbHVkaW5nIGl0LiBJbiBhbnkgY2FzZSwgaXRzIGNhbGxlcnMgYXJlIGBfX2dldF9zbmFwX25hbWVgIGFuZCBgY2VwaF9nZXRfbmFtZWAuXG5cblRoZSByZWFzb25pbmcgaXMgcHJldHR5IGNsZWFyOiBUaGlzIHBhdGNoIGlzIGEgZml4IGZvciBhIHBvdGVudGlhbCBidWZmZXIgb3ZlcmZsb3cgdnVsbmVyYWJpbGl0eSBkdXJpbmcgQ2VwaEZTIGV4cG9ydCBvcGVyYXRpb25zIHdoZW4gZGlyZWN0b3J5IG5hbWVzIGFyZSBjb3BpZWQuIEl0IGFkZHMgYSBjcnVjaWFsIGxlbmd0aCBjaGVjayBhZ2FpbnN0IGBOQU1FX01BWGAuIFNpbmNlIHRoaXMgaXMgYSBmdW5jdGlvbmFsIGNoYW5nZSB3aXRoaW4gcmVhY2hhYmxlIGNvcmUga2VybmVsIGxvZ2ljIChzcGVjaWZpY2FsbHkgd2l0aGluIENlcGhGUyBleHBvcnQgb3BlcmF0aW9ucyksIGl0IGRlZmluaXRlbHkgbmVlZHMgdG8gYmUgZnV6emVkLiBJdCdzIGEgY2xlYXIgY2FuZGlkYXRlIGZvciBzeXprYWxsZXIuXG5cbkkgYWxzbyBuZWVkIHRvIHZlcmlmeSB0aGF0IGBjZXBoX2dldF9uYW1lYCBpcyBpbmRlZWQgcmVhY2hhYmxlLiBSaWdodCwgaXQncyBhY2Nlc3NlZCB0aHJvdWdoIE5GUyBleHBvcnQgb3BlcmF0aW9ucyB2aWEgYGV4cG9ydF9vcGVyYXRpb25zYC4gU3l6a2FsbGVyIGFuZCBzaW1pbGFyIGZ1enplcnMgY2FuIHJlYWNoIHRoZXNlIGNvZGUgcGF0aHMgdGhyb3VnaCBzeXNjYWxscyBsaWtlIGBuYW1lX3RvX2hhbmRsZV9hdGAgYW5kIGBvcGVuX2J5X2hhbmRsZV9hdGAsIHdoaWNoIHV0aWxpemUgdGhvc2UgZXhwb3J0IG9wZXJhdGlvbnMuIFRoYXQncyBhIHNvbGlkIHBhdGggdG8gdGVzdCB0aGlzLlxuXG5BbHJpZ2h0LCBJJ20gc2F0aXNmaWVkIHdpdGggdGhlIGFuYWx5c2lzLCBhbmQgSSdsbCByZWNvcmQgdGhlIHJlc3VsdHMgbm93LlxuXG5cbiIsIklucHV0VG9rZW5zIjo0NTQ3LCJPdXRwdXRUb2tlbnMiOjEyMCwiT3V0cHV0VGhvdWdodHNUb2tlbnMiOjI1NSwiVG9vbENhbGxzIjpbImdyZXBwZXIiXX0seyJTdGFydGVkIjoiMjAyNi0wNy0xMlQwNzowNTowNy4yNDczNDE2MjdaIiwiU2VxIjoxMiwiTmVzdGluZyI6MiwiVHlwZSI6InRvb2wiLCJOYW1lIjoic2V0LXJlc3VsdHMiLCJNb2RlbCI6IiIsIkR1cmF0aW9uIjoyMjQ1MTk2NzMsIkVycm9yIjoiIiwiQXJncyI6IntcbiAgXCJFbmFibGVDb25maWdzXCI6IFtcbiAgICBcIkNFUEhfRlNcIixcbiAgICBcIkZTX0VOQ1JZUFRJT05cIlxuICBdLFxuICBcIkZvY3VzU3ltYm9sc1wiOiBbXG4gICAgXCJfX2dldF9zbmFwX25hbWVcIixcbiAgICBcImNlcGhfZ2V0X25hbWVcIlxuICBdLFxuICBcIlJlYXNvbmluZ1wiOiBcIlRoZSBwYXRjaCBmaXhlcyBhIHBvdGVudGlhbCBidWZmZXIgb3ZlcmZsb3cgaW4gQ2VwaEZTIGV4cG9ydCBvcGVyYXRpb25zIGJ5IGFkZGluZyBhIGxlbmd0aCBjaGVjayBhZ2FpbnN0IE5BTUVfTUFYIHdoZW4gY29weWluZyBkaXJlY3RvcnkgbmFtZXMuIFRoaXMgbW9kaWZpZXMgcmVhY2hhYmxlIGZpbGVzeXN0ZW0gbG9naWMgdXNlZCBieSBmaWxlIGhhbmRsZSBzeXNjYWxscyAoZS5nLiBvcGVuX2J5X2hhbmRsZV9hdCksIHNvIGl0IHNob3VsZCBiZSBmdXp6ZWQuXCIsXG4gIFwiV29ydGhGdXp6aW5nXCI6IHRydWVcbn0iLCJSZXN1bHRzIjoie1xuICBcIkVuYWJsZUNvbmZpZ3NcIjogW1xuICAgIFwiQ0VQSF9GU1wiLFxuICAgIFwiRlNfRU5DUllQVElPTlwiXG4gIF0sXG4gIFwiRm9jdXNTeW1ib2xzXCI6IFtcbiAgICBcIl9fZ2V0X3NuYXBfbmFtZVwiLFxuICAgIFwiY2VwaF9nZXRfbmFtZVwiXG4gIF0sXG4gIFwiUmVhc29uaW5nXCI6IFwiVGhlIHBhdGNoIGZpeGVzIGEgcG90ZW50aWFsIGJ1ZmZlciBvdmVyZmxvdyBpbiBDZXBoRlMgZXhwb3J0IG9wZXJhdGlvbnMgYnkgYWRkaW5nIGEgbGVuZ3RoIGNoZWNrIGFnYWluc3QgTkFNRV9NQVggd2hlbiBjb3B5aW5nIGRpcmVjdG9yeSBuYW1lcy4gVGhpcyBtb2RpZmllcyByZWFjaGFibGUgZmlsZXN5c3RlbSBsb2dpYyB1c2VkIGJ5IGZpbGUgaGFuZGxlIHN5c2NhbGxzIChlLmcuIG9wZW5fYnlfaGFuZGxlX2F0KSwgc28gaXQgc2hvdWxkIGJlIGZ1enplZC5cIixcbiAgXCJXb3J0aEZ1enppbmdcIjogdHJ1ZVxufSIsIkluc3RydWN0aW9uIjoiIiwiUHJvbXB0IjoiIiwiUmVwbHkiOiIiLCJUaG91Z2h0cyI6IiIsIklucHV0VG9rZW5zIjowLCJPdXRwdXRUb2tlbnMiOjAsIk91dHB1dFRob3VnaHRzVG9rZW5zIjowLCJUb29sQ2FsbHMiOm51bGx9XTsKCQkJaWYgKCFyYXdEYXRhIHx8IHJhd0RhdGEubGVuZ3RoID09PSAwKSByZXR1cm47CgoJCQlkcmF3U3VtbWFyeVRhYmxlcyhyYXdEYXRhKTsKCQkJZHJhd0R1cmF0aW9uQ2hhcnQocmF3RGF0YSk7CgkJCWRyYXdUb2tlbkNvbnN1bXB0aW9uQ2hhcnQocmF3RGF0YSk7CgkJfQoKCQlmdW5jdGlvbiBkcmF3U3VtbWFyeVRhYmxlcyhyYXdEYXRhKSB7CgkJCWNvbnN0IHN0YXRzID0gewoJCQkJbGxtOiB7IGNvdW50OiAwLCB0b2tlbnM6IDAsIGR1cmF0aW9uOiAwIH0sCgkJCQl0b29sOiB7IGNvdW50OiAwLCBkdXJhdGlvbjogMCB9CgkJCX07CgoJCQlyYXdEYXRhLmZvckVhY2gocyA9PiB7CgkJCQljb25zdCBkdXIgPSBzLkR1cmF0aW9uIC8gMTAwMDAwMDAwMDsgCgkJCQlpZiAocy5UeXBlID09PSAibGxtIikgewoJCQkJCXN0YXRzLmxsbS5jb3VudCsrOwoJCQkJCXN0YXRzLmxsbS50b2tlbnMgKz0gKHMuSW5wdXRUb2tlbnMgKyBzLk91dHB1dFRva2VucyArIHMuT3V0cHV0VGhvdWdodHNUb2tlbnMpOwoJCQkJCXN0YXRzLmxsbS5kdXJhdGlvbiArPSBkdXI7CgkJCQl9IGVsc2UgaWYgKHMuVHlwZSA9PT0gInRvb2wiKSB7CgkJCQkJc3RhdHMudG9vbC5jb3VudCsrOwoJCQkJCXN0YXRzLnRvb2wuZHVyYXRpb24gKz0gZHVyOwoJCQkJfQoJCQl9KTsKCgkJCWNvbnN0IGF2Z0xsbUR1ciA9IHN0YXRzLmxsbS5jb3VudCA+IDAgPyAoc3RhdHMubGxtLmR1cmF0aW9uIC8gc3RhdHMubGxtLmNvdW50KS50b0ZpeGVkKDIpIDogMDsKCQkJY29uc3QgYXZnTGxtVG9rZW4gPSBzdGF0cy5sbG0uY291bnQgPiAwID8gKHN0YXRzLmxsbS50b2tlbnMgLyBzdGF0cy5sbG0uY291bnQpLnRvRml4ZWQoMikgOiAwOwoJCQljb25zdCBhdmdUb29sRHVyID0gc3RhdHMudG9vbC5jb3VudCA+IDAgPyAoc3RhdHMudG9vbC5kdXJhdGlvbiAvIHN0YXRzLnRvb2wuY291bnQpLnRvRml4ZWQoMikgOiAwOwoKCQkJY29uc3QgbGxtU3VtYXJ5Q2VsbHMgPSBbc3RhdHMubGxtLmNvdW50LCBzdGF0cy5sbG0udG9rZW5zLCBhdmdMbG1Ub2tlbiwgc3RhdHMubGxtLmR1cmF0aW9uLCBhdmdMbG1EdXJdOwoJCQljb25zdCB0b29sU3VtbWFyeUNlbGxzID0gW3N0YXRzLnRvb2wuY291bnQsIHN0YXRzLnRvb2wuZHVyYXRpb24sIGF2Z1Rvb2xEdXJdOwoKCQkJY29uc3QgbGxtU3VtbWFyeUJvZHkgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnbGxtX3N1bW1hcnlfc3RhdHNfYm9keScpOwoJCQlsbG1TdW1tYXJ5Qm9keS5pbm5lckhUTUwgPSAiIjsKCQkJY29uc3QgbGxtVHIgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCd0cicpOwoJCQlsbG1TdW1hcnlDZWxscy5mb3JFYWNoKGNlbGwgPT4gewoJCQkJY29uc3QgdGQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCd0ZCcpOwoJCQkJdGQudGV4dENvbnRlbnQgPSBjZWxsOwoJCQkJbGxtVHIuYXBwZW5kQ2hpbGQodGQpOwoJCQl9KTsKCQkJbGxtU3VtbWFyeUJvZHkuYXBwZW5kQ2hpbGQobGxtVHIpOwoKCQkJY29uc3QgdG9vbFN1bW1hcnlCb2R5ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3Rvb2xfc3VtbWFyeV9zdGF0c19ib2R5Jyk7CgkJCXRvb2xTdW1tYXJ5Qm9keS5pbm5lckhUTUwgPSAiIjsKCQkJY29uc3QgdG9vbFRyID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgndHInKTsKCQkJdG9vbFN1bW1hcnlDZWxscy5mb3JFYWNoKGNlbGwgPT4gewoJCQkJY29uc3QgdGQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCd0ZCcpOwoJCQkJdGQudGV4dENvbnRlbnQgPSBjZWxsOwoJCQkJdG9vbFRyLmFwcGVuZENoaWxkKHRkKTsKCQkJfSk7CgkJCXRvb2xTdW1tYXJ5Qm9keS5hcHBlbmRDaGlsZCh0b29sVHIpOwoJCX0KCgkJZnVuY3Rpb24gZHJhd0R1cmF0aW9uQ2hhcnQocmF3RGF0YSkgewoJCQljb25zdCBmaWx0ZXJlZFN0ZXBzID0gcmF3RGF0YS5maWx0ZXIoZCA9PiBbImxsbSIsICJ0b29sIl0uaW5jbHVkZXMoZC5UeXBlKSk7CgkJCWNvbnN0IGRhdGEgPSBuZXcgZ29vZ2xlLnZpc3VhbGl6YXRpb24uRGF0YVRhYmxlKCk7CgkJCWRhdGEuYWRkQ29sdW1uKCdzdHJpbmcnLCAnU3RlcCcpOwoJCQlkYXRhLmFkZENvbHVtbignbnVtYmVyJywgJ0R1cmF0aW9uJyk7CgkJCWRhdGEuYWRkQ29sdW1uKHt0eXBlOiAnc3RyaW5nJywgcm9sZTogJ3Rvb2x0aXAnfSk7IAoKCQkJZmlsdGVyZWRTdGVwcy5mb3JFYWNoKHMgPT4gewoJCQkJCgkJCQljb25zdCBkdXIgPSBzLkR1cmF0aW9uIC8gMTAwMDAwMDAwMDsKCQkJCWxldCB0b29sdGlwID0gcy5OYW1lOwoJCQkJaWYgKHMuVHlwZSA9PT0gImxsbSIgJiYgcy5Ub29sQ2FsbHMgJiYgcy5Ub29sQ2FsbHMubGVuZ3RoID4gMCkgewoJCQkJCXRvb2x0aXAgKz0gYFxuVG9vbHM6ICR7cy5Ub29sQ2FsbHMuam9pbignLCAnKX1gOwoJCQkJfQoJCQkJZGF0YS5hZGRSb3coW2Ake3MuU2VxfWAsIGR1ciwgdG9vbHRpcF0pOwoJCQl9KTsKCgkJCWNvbnN0IG9wdGlvbnMgPSB7CgkJCQl0aXRsZTogJ1RpbWUgQ29uc3VtcHRpb24gb2YgTExNL1Rvb2wgQ2FsbHMnLAoJCQkJaEF4aXM6IHsKCQkJCQl0aXRsZTogJ0xMTS9Ub29sIFN0ZXBzJywKCQkJCX0sCgkJCQl2QXhpczogeyB0aXRsZTogJ1NlY29uZHMnIH0sCgkJCQlsZWdlbmQ6IHsgcG9zaXRpb246ICdub25lJyB9LAoJCQkJYmFyOiB7IGdyb3VwV2lkdGg6ICc3NSUnIH0sCgkJCQljaGFydEFyZWE6IHsgd2lkdGg6ICc4NSUnLCBoZWlnaHQ6ICc3MCUnIH0sCgkJCQloZWlnaHQ6IDQwMAoJCQl9OwoKCQkJY29uc3QgY2hhcnQgPSBuZXcgZ29vZ2xlLnZpc3VhbGl6YXRpb24uQ29sdW1uQ2hhcnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2R1cmF0aW9uX2NoYXJ0X2RpdicpKTsKCQkJY2hhcnQuZHJhdyhkYXRhLCBvcHRpb25zKTsKCQl9CgoJCWZ1bmN0aW9uIGRyYXdUb2tlbkNvbnN1bXB0aW9uQ2hhcnQocmF3RGF0YSkgewoJCQljb25zdCBsbG1TdGVwcyA9IHJhd0RhdGEuZmlsdGVyKGQgPT4gZC5UeXBlID09PSAibGxtIik7CgkJCWlmIChsbG1TdGVwcy5sZW5ndGggPT09IDApIHJldHVybjsKCgkJCWNvbnN0IGRhdGEgPSBuZXcgZ29vZ2xlLnZpc3VhbGl6YXRpb24uRGF0YVRhYmxlKCk7CgkJCWRhdGEuYWRkQ29sdW1uKCdzdHJpbmcnLCAnU3RlcCcpOwkJCQoJCQlkYXRhLmFkZENvbHVtbignbnVtYmVyJywgJ1Rva2VucycpOwkJCQoJCQlkYXRhLmFkZENvbHVtbih7dHlwZTogJ3N0cmluZycsIHJvbGU6ICdzdHlsZSd9KTsJCgkJCWRhdGEuYWRkQ29sdW1uKHt0eXBlOiAnc3RyaW5nJywgcm9sZTogJ3Rvb2x0aXAnfSk7CQoKCQkJY29uc3QgYWdlbnRDb2xvcnMgPSB7fTsKCQkJY29uc3QgcGFsZXR0ZSA9IFsnIzQyODVGNCcsICcjREI0NDM3JywgJyNGNEI0MDAnLCAnIzBGOUQ1OCcsICcjQUI0N0JDJywgJyMwMEFDQzEnXTsKCQkJbGV0IGNvbG9ySWR4ID0gMDsKCQkJY29uc3QgYWdlbnRMTE1Db3VudHMgPSB7fTsKCQkJbGxtU3RlcHMuZm9yRWFjaChzID0+IHsKCQkJCWlmICghYWdlbnRDb2xvcnNbcy5OYW1lXSkgewoJCQkJCWFnZW50Q29sb3JzW3MuTmFtZV0gPSBwYWxldHRlW2NvbG9ySWR4ICUgcGFsZXR0ZS5sZW5ndGhdOwoJCQkJCWNvbG9ySWR4Kys7CgkJCQl9CgoJCQkJYWdlbnRMTE1Db3VudHNbcy5OYW1lXSA9IChhZ2VudExMTUNvdW50c1tzLk5hbWVdIHx8IDApICsgMTsKCQkJCWNvbnN0IGxhYmVsID0gYCR7cy5OYW1lfS0ke2FnZW50TExNQ291bnRzW3MuTmFtZV19YDsKCQkJCWNvbnN0IHRvdGFsVG9rZW5zID0gcy5JbnB1dFRva2VucyArIHMuT3V0cHV0VG9rZW5zICsgcy5PdXRwdXRUaG91Z2h0c1Rva2VuczsKCQkJCWNvbnN0IHN0eWxlID0gYGNvbG9yOiAke2FnZW50Q29sb3JzW3MuTmFtZV19YDsKCQkJCWxldCB0b29sdGlwID0gYFRvdGFsIFRva2VuczogJHt0b3RhbFRva2Vuc31cbihJbjogJHtzLklucHV0VG9rZW5zfSwgT3V0OiAke3MuT3V0cHV0VG9rZW5zfSwgVGhvdWdodHM6ICR7cy5PdXRwdXRUaG91Z2h0c1Rva2Vuc30pYDsKCQkJCWlmIChzLlRvb2xDYWxscyAmJiBzLlRvb2xDYWxscy5sZW5ndGggPiAwKSB7CgkJCQkJdG9vbHRpcCArPSBgXG5Ub29sczogJHtzLlRvb2xDYWxscy5qb2luKCcsICcpfWA7CgkJCQl9CgoJCQkJZGF0YS5hZGRSb3coW2xhYmVsLCB0b3RhbFRva2Vucywgc3R5bGUsIHRvb2x0aXBdKTsKCQkJfSk7CgoJCQljb25zdCBvcHRpb25zID0gewoJCQkJdGl0bGU6ICdUb2tlbiBDb25zdW1wdGlvbiBieSBMTE0gQ2FsbHMnLAoJCQkJaEF4aXM6IHsKCQkJCQl0aXRsZTogJ0xMTSBDYWxsIFNlcXVlbmNlJywKCQkJCX0sCgkJCQl2QXhpczogeyB0aXRsZTogJ0NvbnN1bWVkIFRva2VucycgfSwKCQkJCWxlZ2VuZDogeyBwb3NpdGlvbjogJ25vbmUnIH0sCgkJCQliYXI6IHsgZ3JvdXBXaWR0aDogJzc1JScgfSwKCQkJCWNoYXJ0QXJlYTogeyB3aWR0aDogJzg1JScsIGhlaWdodDogJzcwJScgfSwKCQkJCWhlaWdodDogNDAwCgkJCX07CgoJCQljb25zdCBjaGFydCA9IG5ldyBnb29nbGUudmlzdWFsaXphdGlvbi5Db2x1bW5DaGFydChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgndG9rZW5fY2hhcnRfZGl2JykpOwoJCQljaGFydC5kcmF3KGRhdGEsIG9wdGlvbnMpOwoJCX0KCQlsZXQgYWxsRXhwYW5kZWQgPSBmYWxzZTsKCQlmdW5jdGlvbiB0b2dnbGVBbGxEZXRhaWxzKCkgewoJCQlhbGxFeHBhbmRlZCA9ICFhbGxFeHBhbmRlZDsKCQkJZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbCgnZGV0YWlscycpLmZvckVhY2goZCA9PiB7CgkJCQlpZiAoYWxsRXhwYW5kZWQpIGQuc2V0QXR0cmlidXRlKCdvcGVuJywgJycpOwoJCQkJZWxzZSBkLnJlbW92ZUF0dHJpYnV0ZSgnb3BlbicpOwoJCQl9KTsKCQl9Cgk8L3NjcmlwdD4KCgo8L2JvZHk+CjwvaHRtbD4K" },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-workflowx6sq4[1] Phase: Succeeded StartedAt: 2026-07-12 07:05:19 +0000 UTC FinishedAt: 2026-07-12 07:05:19 +0000 UTC Input: nil Output: nil --------- Name: series-workflowx6sq4[1].abort-on-skip-outcome Phase: Skipped StartedAt: 2026-07-12 07:05:19 +0000 UTC FinishedAt: 2026-07-12 07:05:19 +0000 UTC Input: nil Output: nil --------- Name: series-workflowx6sq4[2] Phase: Running StartedAt: 2026-07-12 07:05:19 +0000 UTC FinishedAt: 0001-01-01 00:00:00 +0000 UTC Input: nil Output: nil --------- Name: series-workflowx6sq4[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"44696aa3a489d2baf58efa61b37833f100072bee","config_name":"upstream-apparmor-kasan.config","enable_configs":["CEPH_FS","FS_ENCRYPTION"],"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":["__get_snap_name","ceph_get_name"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"44696aa3a489d2baf58efa61b37833f100072bee","config_name":"upstream-apparmor-kasan.config","enable_configs":["CEPH_FS","FS_ENCRYPTION"],"series_id":"cc549fa6-d9f0-45c1-beba-23369b9cedc5","tree_name":"torvalds","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/torvalds/linux"},retest:null,track:KASAN) Phase: Running StartedAt: 2026-07-12 07:05:19 +0000 UTC FinishedAt: 0001-01-01 00:00:00 +0000 UTC Input: &Inputs{Parameters:[]Parameter{Parameter{Name:element,Default:nil,Value:*{"base":{"arch":"amd64","commit_hash":"44696aa3a489d2baf58efa61b37833f100072bee","config_name":"upstream-apparmor-kasan.config","enable_configs":["CEPH_FS","FS_ENCRYPTION"],"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":["__get_snap_name","ceph_get_name"],"skip_cover_check":false},"patched":{"arch":"amd64","commit_hash":"44696aa3a489d2baf58efa61b37833f100072bee","config_name":"upstream-apparmor-kasan.config","enable_configs":["CEPH_FS","FS_ENCRYPTION"],"series_id":"cc549fa6-d9f0-45c1-beba-23369b9cedc5","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-workflowx6sq4[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"44696aa3a489d2baf58efa61b37833f100072bee","config_name":"upstream-apparmor-kasan.config","enable_configs":["CEPH_FS","FS_ENCRYPTION"],"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":["__get_snap_name","ceph_get_name"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"44696aa3a489d2baf58efa61b37833f100072bee","config_name":"upstream-apparmor-kasan.config","enable_configs":["CEPH_FS","FS_ENCRYPTION"],"series_id":"cc549fa6-d9f0-45c1-beba-23369b9cedc5","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-07-12 07:05:19 +0000 UTC FinishedAt: 2026-07-12 07:05:30 +0000 UTC Input: nil Output: nil --------- Name: series-workflowx6sq4[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"44696aa3a489d2baf58efa61b37833f100072bee","config_name":"upstream-apparmor-kasan.config","enable_configs":["CEPH_FS","FS_ENCRYPTION"],"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":["__get_snap_name","ceph_get_name"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"44696aa3a489d2baf58efa61b37833f100072bee","config_name":"upstream-apparmor-kasan.config","enable_configs":["CEPH_FS","FS_ENCRYPTION"],"series_id":"cc549fa6-d9f0-45c1-beba-23369b9cedc5","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-07-12 07:05:19 +0000 UTC FinishedAt: 2026-07-12 07:05:25 +0000 UTC Input: &Inputs{Parameters:[]Parameter{Parameter{Name:data,Default:nil,Value:*{"arch":"amd64","commit_hash":"44696aa3a489d2baf58efa61b37833f100072bee","config_name":"upstream-apparmor-kasan.config","enable_configs":["CEPH_FS","FS_ENCRYPTION"],"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-workflowx6sq4/series-workflowx6sq4-convert-artifact-472789151/artifact.tgz,},Azure:nil,},GlobalName:,Archive:nil,Optional:false,SubPath:,RecurseMode:false,FromExpression:,ArtifactGC:nil,Deleted:false,},},Result:nil,ExitCode:*0,} --------- Name: series-workflowx6sq4[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"44696aa3a489d2baf58efa61b37833f100072bee","config_name":"upstream-apparmor-kasan.config","enable_configs":["CEPH_FS","FS_ENCRYPTION"],"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":["__get_snap_name","ceph_get_name"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"44696aa3a489d2baf58efa61b37833f100072bee","config_name":"upstream-apparmor-kasan.config","enable_configs":["CEPH_FS","FS_ENCRYPTION"],"series_id":"cc549fa6-d9f0-45c1-beba-23369b9cedc5","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-07-12 07:05:30 +0000 UTC FinishedAt: 2026-07-12 07:59:07 +0000 UTC Input: nil Output: nil --------- Name: series-workflowx6sq4[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"44696aa3a489d2baf58efa61b37833f100072bee","config_name":"upstream-apparmor-kasan.config","enable_configs":["CEPH_FS","FS_ENCRYPTION"],"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":["__get_snap_name","ceph_get_name"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"44696aa3a489d2baf58efa61b37833f100072bee","config_name":"upstream-apparmor-kasan.config","enable_configs":["CEPH_FS","FS_ENCRYPTION"],"series_id":"cc549fa6-d9f0-45c1-beba-23369b9cedc5","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-07-12 07:05:30 +0000 UTC FinishedAt: 2026-07-12 07:59:07 +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:*78716dbe-281c-4f25-8a6f-522eceac9871,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-workflowx6sq4/series-workflowx6sq4-convert-artifact-472789151/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": "37956410-0cff-49a9-ab51-2a792b10614d", "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-workflowx6sq4/series-workflowx6sq4-build-action-3715539621/kernel.tgz,},Azure:nil,},GlobalName:,Archive:nil,Optional:true,SubPath:,RecurseMode:false,FromExpression:,ArtifactGC:nil,Deleted:false,},},Result:nil,ExitCode:*0,} --------- Name: series-workflowx6sq4[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"44696aa3a489d2baf58efa61b37833f100072bee","config_name":"upstream-apparmor-kasan.config","enable_configs":["CEPH_FS","FS_ENCRYPTION"],"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":["__get_snap_name","ceph_get_name"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"44696aa3a489d2baf58efa61b37833f100072bee","config_name":"upstream-apparmor-kasan.config","enable_configs":["CEPH_FS","FS_ENCRYPTION"],"series_id":"cc549fa6-d9f0-45c1-beba-23369b9cedc5","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-07-12 07:05:30 +0000 UTC FinishedAt: 2026-07-12 07:58:30 +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:*78716dbe-281c-4f25-8a6f-522eceac9871,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-workflowx6sq4/series-workflowx6sq4-convert-artifact-472789151/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": "37956410-0cff-49a9-ab51-2a792b10614d", "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-workflowx6sq4/series-workflowx6sq4-build-action-3715539621/kernel.tgz,},Azure:nil,},GlobalName:,Archive:nil,Optional:true,SubPath:,RecurseMode:false,FromExpression:,ArtifactGC:nil,Deleted:false,},},Result:nil,ExitCode:*0,} --------- Name: series-workflowx6sq4[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"44696aa3a489d2baf58efa61b37833f100072bee","config_name":"upstream-apparmor-kasan.config","enable_configs":["CEPH_FS","FS_ENCRYPTION"],"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":["__get_snap_name","ceph_get_name"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"44696aa3a489d2baf58efa61b37833f100072bee","config_name":"upstream-apparmor-kasan.config","enable_configs":["CEPH_FS","FS_ENCRYPTION"],"series_id":"cc549fa6-d9f0-45c1-beba-23369b9cedc5","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-07-12 07:59:07 +0000 UTC FinishedAt: 2026-07-12 07:59:07 +0000 UTC Input: nil Output: nil --------- Name: series-workflowx6sq4[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"44696aa3a489d2baf58efa61b37833f100072bee","config_name":"upstream-apparmor-kasan.config","enable_configs":["CEPH_FS","FS_ENCRYPTION"],"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":["__get_snap_name","ceph_get_name"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"44696aa3a489d2baf58efa61b37833f100072bee","config_name":"upstream-apparmor-kasan.config","enable_configs":["CEPH_FS","FS_ENCRYPTION"],"series_id":"cc549fa6-d9f0-45c1-beba-23369b9cedc5","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-07-12 07:59:07 +0000 UTC FinishedAt: 2026-07-12 07:59:07 +0000 UTC Input: nil Output: nil --------- Name: series-workflowx6sq4[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"44696aa3a489d2baf58efa61b37833f100072bee","config_name":"upstream-apparmor-kasan.config","enable_configs":["CEPH_FS","FS_ENCRYPTION"],"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":["__get_snap_name","ceph_get_name"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"44696aa3a489d2baf58efa61b37833f100072bee","config_name":"upstream-apparmor-kasan.config","enable_configs":["CEPH_FS","FS_ENCRYPTION"],"series_id":"cc549fa6-d9f0-45c1-beba-23369b9cedc5","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-07-12 07:59:07 +0000 UTC FinishedAt: 2026-07-12 07:59:28 +0000 UTC Input: nil Output: nil --------- Name: series-workflowx6sq4[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"44696aa3a489d2baf58efa61b37833f100072bee","config_name":"upstream-apparmor-kasan.config","enable_configs":["CEPH_FS","FS_ENCRYPTION"],"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":["__get_snap_name","ceph_get_name"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"44696aa3a489d2baf58efa61b37833f100072bee","config_name":"upstream-apparmor-kasan.config","enable_configs":["CEPH_FS","FS_ENCRYPTION"],"series_id":"cc549fa6-d9f0-45c1-beba-23369b9cedc5","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-07-12 07:59:07 +0000 UTC FinishedAt: 2026-07-12 07:59:16 +0000 UTC Input: &Inputs{Parameters:[]Parameter{Parameter{Name:data,Default:nil,Value:*{"arch":"amd64","commit_hash":"44696aa3a489d2baf58efa61b37833f100072bee","config_name":"upstream-apparmor-kasan.config","enable_configs":["CEPH_FS","FS_ENCRYPTION"],"series_id":"cc549fa6-d9f0-45c1-beba-23369b9cedc5","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-workflowx6sq4/series-workflowx6sq4-convert-artifact-3015844398/artifact.tgz,},Azure:nil,},GlobalName:,Archive:nil,Optional:false,SubPath:,RecurseMode:false,FromExpression:,ArtifactGC:nil,Deleted:false,},},Result:nil,ExitCode:*0,} --------- Name: series-workflowx6sq4[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"44696aa3a489d2baf58efa61b37833f100072bee","config_name":"upstream-apparmor-kasan.config","enable_configs":["CEPH_FS","FS_ENCRYPTION"],"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":["__get_snap_name","ceph_get_name"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"44696aa3a489d2baf58efa61b37833f100072bee","config_name":"upstream-apparmor-kasan.config","enable_configs":["CEPH_FS","FS_ENCRYPTION"],"series_id":"cc549fa6-d9f0-45c1-beba-23369b9cedc5","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-07-12 07:59:28 +0000 UTC FinishedAt: 2026-07-12 08:01:44 +0000 UTC Input: nil Output: nil --------- Name: series-workflowx6sq4[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"44696aa3a489d2baf58efa61b37833f100072bee","config_name":"upstream-apparmor-kasan.config","enable_configs":["CEPH_FS","FS_ENCRYPTION"],"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":["__get_snap_name","ceph_get_name"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"44696aa3a489d2baf58efa61b37833f100072bee","config_name":"upstream-apparmor-kasan.config","enable_configs":["CEPH_FS","FS_ENCRYPTION"],"series_id":"cc549fa6-d9f0-45c1-beba-23369b9cedc5","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-07-12 07:59:28 +0000 UTC FinishedAt: 2026-07-12 08:01:34 +0000 UTC Input: &Inputs{Parameters:[]Parameter{Parameter{Name:base-build-id,Default:nil,Value:*37956410-0cff-49a9-ab51-2a792b10614d,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-workflowx6sq4/series-workflowx6sq4-build-action-3715539621/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-workflowx6sq4[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"44696aa3a489d2baf58efa61b37833f100072bee","config_name":"upstream-apparmor-kasan.config","enable_configs":["CEPH_FS","FS_ENCRYPTION"],"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":["__get_snap_name","ceph_get_name"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"44696aa3a489d2baf58efa61b37833f100072bee","config_name":"upstream-apparmor-kasan.config","enable_configs":["CEPH_FS","FS_ENCRYPTION"],"series_id":"cc549fa6-d9f0-45c1-beba-23369b9cedc5","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-07-12 08:01:44 +0000 UTC FinishedAt: 2026-07-12 08:01:44 +0000 UTC Input: nil Output: nil --------- Name: series-workflowx6sq4[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"44696aa3a489d2baf58efa61b37833f100072bee","config_name":"upstream-apparmor-kasan.config","enable_configs":["CEPH_FS","FS_ENCRYPTION"],"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":["__get_snap_name","ceph_get_name"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"44696aa3a489d2baf58efa61b37833f100072bee","config_name":"upstream-apparmor-kasan.config","enable_configs":["CEPH_FS","FS_ENCRYPTION"],"series_id":"cc549fa6-d9f0-45c1-beba-23369b9cedc5","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-07-12 08:01:44 +0000 UTC FinishedAt: 2026-07-12 08:01:44 +0000 UTC Input: nil Output: nil --------- Name: series-workflowx6sq4[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"44696aa3a489d2baf58efa61b37833f100072bee","config_name":"upstream-apparmor-kasan.config","enable_configs":["CEPH_FS","FS_ENCRYPTION"],"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":["__get_snap_name","ceph_get_name"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"44696aa3a489d2baf58efa61b37833f100072bee","config_name":"upstream-apparmor-kasan.config","enable_configs":["CEPH_FS","FS_ENCRYPTION"],"series_id":"cc549fa6-d9f0-45c1-beba-23369b9cedc5","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-07-12 08:01:44 +0000 UTC FinishedAt: 2026-07-12 08:47:14 +0000 UTC Input: nil Output: nil --------- Name: series-workflowx6sq4[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"44696aa3a489d2baf58efa61b37833f100072bee","config_name":"upstream-apparmor-kasan.config","enable_configs":["CEPH_FS","FS_ENCRYPTION"],"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":["__get_snap_name","ceph_get_name"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"44696aa3a489d2baf58efa61b37833f100072bee","config_name":"upstream-apparmor-kasan.config","enable_configs":["CEPH_FS","FS_ENCRYPTION"],"series_id":"cc549fa6-d9f0-45c1-beba-23369b9cedc5","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-07-12 08:01:44 +0000 UTC FinishedAt: 2026-07-12 08:47:14 +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:*78716dbe-281c-4f25-8a6f-522eceac9871,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-workflowx6sq4/series-workflowx6sq4-convert-artifact-3015844398/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": "9ce40f88-a7ea-472d-b517-9ca998793492", "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-workflowx6sq4/series-workflowx6sq4-build-action-2952290815/kernel.tgz,},Azure:nil,},GlobalName:,Archive:nil,Optional:true,SubPath:,RecurseMode:false,FromExpression:,ArtifactGC:nil,Deleted:false,},},Result:nil,ExitCode:*0,} --------- Name: series-workflowx6sq4[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"44696aa3a489d2baf58efa61b37833f100072bee","config_name":"upstream-apparmor-kasan.config","enable_configs":["CEPH_FS","FS_ENCRYPTION"],"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":["__get_snap_name","ceph_get_name"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"44696aa3a489d2baf58efa61b37833f100072bee","config_name":"upstream-apparmor-kasan.config","enable_configs":["CEPH_FS","FS_ENCRYPTION"],"series_id":"cc549fa6-d9f0-45c1-beba-23369b9cedc5","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: Failed StartedAt: 2026-07-12 08:01:44 +0000 UTC FinishedAt: 2026-07-12 08:04:21 +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:*78716dbe-281c-4f25-8a6f-522eceac9871,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-workflowx6sq4/series-workflowx6sq4-convert-artifact-3015844398/artifact.tgz,},Azure:nil,},GlobalName:,Archive:nil,Optional:false,SubPath:,RecurseMode:false,FromExpression:,ArtifactGC:nil,Deleted:false,},},} Output: nil --------- Name: series-workflowx6sq4[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"44696aa3a489d2baf58efa61b37833f100072bee","config_name":"upstream-apparmor-kasan.config","enable_configs":["CEPH_FS","FS_ENCRYPTION"],"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":["__get_snap_name","ceph_get_name"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"44696aa3a489d2baf58efa61b37833f100072bee","config_name":"upstream-apparmor-kasan.config","enable_configs":["CEPH_FS","FS_ENCRYPTION"],"series_id":"cc549fa6-d9f0-45c1-beba-23369b9cedc5","tree_name":"torvalds","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/torvalds/linux"},retest:null,track:KASAN)[6].patched-build(1) Phase: Succeeded StartedAt: 2026-07-12 08:13:49 +0000 UTC FinishedAt: 2026-07-12 08:47:04 +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:*78716dbe-281c-4f25-8a6f-522eceac9871,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-workflowx6sq4/series-workflowx6sq4-convert-artifact-3015844398/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": "9ce40f88-a7ea-472d-b517-9ca998793492", "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-workflowx6sq4/series-workflowx6sq4-build-action-2952290815/kernel.tgz,},Azure:nil,},GlobalName:,Archive:nil,Optional:true,SubPath:,RecurseMode:false,FromExpression:,ArtifactGC:nil,Deleted:false,},},Result:nil,ExitCode:*0,} --------- Name: series-workflowx6sq4[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"44696aa3a489d2baf58efa61b37833f100072bee","config_name":"upstream-apparmor-kasan.config","enable_configs":["CEPH_FS","FS_ENCRYPTION"],"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":["__get_snap_name","ceph_get_name"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"44696aa3a489d2baf58efa61b37833f100072bee","config_name":"upstream-apparmor-kasan.config","enable_configs":["CEPH_FS","FS_ENCRYPTION"],"series_id":"cc549fa6-d9f0-45c1-beba-23369b9cedc5","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-07-12 08:47:14 +0000 UTC FinishedAt: 2026-07-12 08:47:14 +0000 UTC Input: nil Output: nil --------- Name: series-workflowx6sq4[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"44696aa3a489d2baf58efa61b37833f100072bee","config_name":"upstream-apparmor-kasan.config","enable_configs":["CEPH_FS","FS_ENCRYPTION"],"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":["__get_snap_name","ceph_get_name"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"44696aa3a489d2baf58efa61b37833f100072bee","config_name":"upstream-apparmor-kasan.config","enable_configs":["CEPH_FS","FS_ENCRYPTION"],"series_id":"cc549fa6-d9f0-45c1-beba-23369b9cedc5","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-07-12 08:47:14 +0000 UTC FinishedAt: 2026-07-12 08:47:14 +0000 UTC Input: nil Output: nil --------- Name: series-workflowx6sq4[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"44696aa3a489d2baf58efa61b37833f100072bee","config_name":"upstream-apparmor-kasan.config","enable_configs":["CEPH_FS","FS_ENCRYPTION"],"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":["__get_snap_name","ceph_get_name"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"44696aa3a489d2baf58efa61b37833f100072bee","config_name":"upstream-apparmor-kasan.config","enable_configs":["CEPH_FS","FS_ENCRYPTION"],"series_id":"cc549fa6-d9f0-45c1-beba-23369b9cedc5","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-07-12 08:47:14 +0000 UTC FinishedAt: 2026-07-12 08:49:15 +0000 UTC Input: nil Output: nil --------- Name: series-workflowx6sq4[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"44696aa3a489d2baf58efa61b37833f100072bee","config_name":"upstream-apparmor-kasan.config","enable_configs":["CEPH_FS","FS_ENCRYPTION"],"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":["__get_snap_name","ceph_get_name"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"44696aa3a489d2baf58efa61b37833f100072bee","config_name":"upstream-apparmor-kasan.config","enable_configs":["CEPH_FS","FS_ENCRYPTION"],"series_id":"cc549fa6-d9f0-45c1-beba-23369b9cedc5","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-07-12 08:47:14 +0000 UTC FinishedAt: 2026-07-12 08:49:04 +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:*9ce40f88-a7ea-472d-b517-9ca998793492,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-workflowx6sq4/series-workflowx6sq4-build-action-2952290815/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-workflowx6sq4[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"44696aa3a489d2baf58efa61b37833f100072bee","config_name":"upstream-apparmor-kasan.config","enable_configs":["CEPH_FS","FS_ENCRYPTION"],"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":["__get_snap_name","ceph_get_name"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"44696aa3a489d2baf58efa61b37833f100072bee","config_name":"upstream-apparmor-kasan.config","enable_configs":["CEPH_FS","FS_ENCRYPTION"],"series_id":"cc549fa6-d9f0-45c1-beba-23369b9cedc5","tree_name":"torvalds","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/torvalds/linux"},retest:null,track:KASAN)[10] Phase: Running StartedAt: 2026-07-12 08:49:15 +0000 UTC FinishedAt: 0001-01-01 00:00:00 +0000 UTC Input: nil Output: nil --------- Name: series-workflowx6sq4[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"44696aa3a489d2baf58efa61b37833f100072bee","config_name":"upstream-apparmor-kasan.config","enable_configs":["CEPH_FS","FS_ENCRYPTION"],"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":["__get_snap_name","ceph_get_name"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"44696aa3a489d2baf58efa61b37833f100072bee","config_name":"upstream-apparmor-kasan.config","enable_configs":["CEPH_FS","FS_ENCRYPTION"],"series_id":"cc549fa6-d9f0-45c1-beba-23369b9cedc5","tree_name":"torvalds","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/torvalds/linux"},retest:null,track:KASAN)[10].run-fuzz Phase: Running StartedAt: 2026-07-12 08:49:15 +0000 UTC FinishedAt: 0001-01-01 00:00:00 +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":["__get_snap_name","ceph_get_name"],"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:*37956410-0cff-49a9-ab51-2a792b10614d,ValueFrom:nil,GlobalName:,Enum:[],Description:nil,},Parameter{Name:patched-build-id,Default:nil,Value:*9ce40f88-a7ea-472d-b517-9ca998793492,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-workflowx6sq4/series-workflowx6sq4-build-action-3715539621/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-workflowx6sq4/series-workflowx6sq4-build-action-2952290815/kernel.tgz,},Azure:nil,},GlobalName:,Archive:nil,Optional:true,SubPath:,RecurseMode:false,FromExpression:,ArtifactGC:nil,Deleted:false,},},} Output: nil --------- Name: series-workflowx6sq4[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"44696aa3a489d2baf58efa61b37833f100072bee","config_name":"upstream-apparmor-kasan.config","enable_configs":["CEPH_FS","FS_ENCRYPTION"],"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":["__get_snap_name","ceph_get_name"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"44696aa3a489d2baf58efa61b37833f100072bee","config_name":"upstream-apparmor-kasan.config","enable_configs":["CEPH_FS","FS_ENCRYPTION"],"series_id":"cc549fa6-d9f0-45c1-beba-23369b9cedc5","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-07-12 08:49:15 +0000 UTC FinishedAt: 2026-07-12 08:49:57 +0000 UTC Input: nil Output: nil --------- Name: series-workflowx6sq4[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"44696aa3a489d2baf58efa61b37833f100072bee","config_name":"upstream-apparmor-kasan.config","enable_configs":["CEPH_FS","FS_ENCRYPTION"],"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":["__get_snap_name","ceph_get_name"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"44696aa3a489d2baf58efa61b37833f100072bee","config_name":"upstream-apparmor-kasan.config","enable_configs":["CEPH_FS","FS_ENCRYPTION"],"series_id":"cc549fa6-d9f0-45c1-beba-23369b9cedc5","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-07-12 08:49:15 +0000 UTC FinishedAt: 2026-07-12 08:49:46 +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":["__get_snap_name","ceph_get_name"],"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-workflowx6sq4/series-workflowx6sq4-convert-artifact-3472256979/artifact.tgz,},Azure:nil,},GlobalName:,Archive:nil,Optional:false,SubPath:,RecurseMode:false,FromExpression:,ArtifactGC:nil,Deleted:false,},},Result:nil,ExitCode:*0,} --------- Name: series-workflowx6sq4[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"44696aa3a489d2baf58efa61b37833f100072bee","config_name":"upstream-apparmor-kasan.config","enable_configs":["CEPH_FS","FS_ENCRYPTION"],"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":["__get_snap_name","ceph_get_name"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"44696aa3a489d2baf58efa61b37833f100072bee","config_name":"upstream-apparmor-kasan.config","enable_configs":["CEPH_FS","FS_ENCRYPTION"],"series_id":"cc549fa6-d9f0-45c1-beba-23369b9cedc5","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-07-12 08:49:15 +0000 UTC FinishedAt: 2026-07-12 08:49:15 +0000 UTC Input: nil Output: nil --------- Name: series-workflowx6sq4[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"44696aa3a489d2baf58efa61b37833f100072bee","config_name":"upstream-apparmor-kasan.config","enable_configs":["CEPH_FS","FS_ENCRYPTION"],"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":["__get_snap_name","ceph_get_name"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"44696aa3a489d2baf58efa61b37833f100072bee","config_name":"upstream-apparmor-kasan.config","enable_configs":["CEPH_FS","FS_ENCRYPTION"],"series_id":"cc549fa6-d9f0-45c1-beba-23369b9cedc5","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-07-12 08:49:15 +0000 UTC FinishedAt: 2026-07-12 08:49:15 +0000 UTC Input: nil Output: nil --------- Name: series-workflowx6sq4[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"44696aa3a489d2baf58efa61b37833f100072bee","config_name":"upstream-apparmor-kasan.config","enable_configs":["CEPH_FS","FS_ENCRYPTION"],"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":["__get_snap_name","ceph_get_name"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"44696aa3a489d2baf58efa61b37833f100072bee","config_name":"upstream-apparmor-kasan.config","enable_configs":["CEPH_FS","FS_ENCRYPTION"],"series_id":"cc549fa6-d9f0-45c1-beba-23369b9cedc5","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-07-12 08:49:15 +0000 UTC FinishedAt: 2026-07-12 08:49:15 +0000 UTC Input: nil Output: nil --------- Name: series-workflowx6sq4[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"44696aa3a489d2baf58efa61b37833f100072bee","config_name":"upstream-apparmor-kasan.config","enable_configs":["CEPH_FS","FS_ENCRYPTION"],"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":["__get_snap_name","ceph_get_name"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"44696aa3a489d2baf58efa61b37833f100072bee","config_name":"upstream-apparmor-kasan.config","enable_configs":["CEPH_FS","FS_ENCRYPTION"],"series_id":"cc549fa6-d9f0-45c1-beba-23369b9cedc5","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: Running StartedAt: 2026-07-12 08:49:57 +0000 UTC FinishedAt: 0001-01-01 00:00:00 +0000 UTC Input: nil Output: nil --------- Name: series-workflowx6sq4[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"44696aa3a489d2baf58efa61b37833f100072bee","config_name":"upstream-apparmor-kasan.config","enable_configs":["CEPH_FS","FS_ENCRYPTION"],"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":["__get_snap_name","ceph_get_name"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"44696aa3a489d2baf58efa61b37833f100072bee","config_name":"upstream-apparmor-kasan.config","enable_configs":["CEPH_FS","FS_ENCRYPTION"],"series_id":"cc549fa6-d9f0-45c1-beba-23369b9cedc5","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: Running StartedAt: 2026-07-12 08:49:57 +0000 UTC FinishedAt: 0001-01-01 00:00:00 +0000 UTC Input: &Inputs{Parameters:[]Parameter{Parameter{Name:base-build-id,Default:nil,Value:*37956410-0cff-49a9-ab51-2a792b10614d,ValueFrom:nil,GlobalName:,Enum:[],Description:nil,},Parameter{Name:patched-build-id,Default:nil,Value:*9ce40f88-a7ea-472d-b517-9ca998793492,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-workflowx6sq4/series-workflowx6sq4-build-action-3715539621/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-workflowx6sq4/series-workflowx6sq4-build-action-2952290815/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-workflowx6sq4/series-workflowx6sq4-convert-artifact-3472256979/artifact.tgz,},Azure:nil,},GlobalName:,Archive:nil,Optional:false,SubPath:,RecurseMode:false,FromExpression:,ArtifactGC:nil,Deleted:false,},},} Output: nil