Name: series-workflowrj5vx Phase: Succeeded StartedAt: 2026-07-29 19:36:58 +0000 UTC FinishedAt: 2026-07-30 00:01:10 +0000 UTC Input: nil Output: nil --------- Name: series-workflowrj5vx[0] Phase: Succeeded StartedAt: 2026-07-29 19:36:58 +0000 UTC FinishedAt: 2026-07-29 20:05:56 +0000 UTC Input: nil Output: nil --------- Name: series-workflowrj5vx[0].run-triage Phase: Succeeded StartedAt: 2026-07-29 19:36:58 +0000 UTC FinishedAt: 2026-07-29 20:05:56 +0000 UTC Input: nil Output: &Outputs{Parameters:[]Parameter{Parameter{Name:result,Default:nil,Value:*{ "skip_reason": "", "targets": [ { "base": { "arch": "amd64", "tree_name": "net-next", "tree_url": "https://kernel.googlesource.com/pub/scm/linux/kernel/git/netdev/net-next.git", "commit_hash": "2bb54b49e9d522f54dc9c0fe10ba40fbc56041c8", "config_name": "upstream-apparmor-kasan.config", "enable_configs": [ "IP_SCTP" ], "series_id": "" }, "patched": { "arch": "amd64", "tree_name": "net-next", "tree_url": "https://kernel.googlesource.com/pub/scm/linux/kernel/git/netdev/net-next.git", "commit_hash": "2bb54b49e9d522f54dc9c0fe10ba40fbc56041c8", "config_name": "upstream-apparmor-kasan.config", "enable_configs": [ "IP_SCTP" ], "series_id": "9f7aab38-6007-49a5-ab2b-2911dc7cba84" }, "track": "KASAN", "fuzz": { "focus": [ "net" ], "focus_symbols": [ "sctp_assoc_bh_rcv", "sctp_endpoint_bh_rcv" ], "corpus_urls": [ "https://storage.googleapis.com/syzkaller/corpus/ci-upstream-net-kasan-gce-corpus.db" ], "skip_cover_check": false, "bug_title_re": "" }, "retest": null } ], "trajectory": "CjwhZG9jdHlwZSBodG1sPgo8aHRtbD4KPGhlYWQ+Cgk8dGl0bGU+QUkgVHJhamVjdG9yeTwvdGl0bGU+Cgk8c3R5bGU+CgkJdGFibGUgewoJCQlib3JkZXI6IDFweCBzb2xpZCAjY2NjOwoJCQltYXJnaW46IDIwcHggNXB4OwoJCQlib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlOwoJCQl3aGl0ZS1zcGFjZTogbm93cmFwOwoJCQl0ZXh0LW92ZXJmbG93OiBlbGxpcHNpczsKCQkJb3ZlcmZsb3c6IGhpZGRlbjsKCQl9CgoJCXRhYmxlIGNhcHRpb24gewoJCQlmb250LXdlaWdodDogYm9sZDsKCQl9CgoJCXRhYmxlIHRkLCB0YWJsZSB0aCB7CgkJCXZlcnRpY2FsLWFsaWduOiB0b3A7CgkJCXBhZGRpbmc6IDJweCA4cHg7CgkJCXRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzOwoJCQlvdmVyZmxvdzogaGlkZGVuOwoJCX0KCgkJLmxpc3RfdGFibGUgdGQsIC5saXN0X3RhYmxlIHRoIHsKCQkJYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCAjY2NjOwoJCX0KCgkJLmxpc3RfdGFibGUgdGggewoJCQliYWNrZ3JvdW5kOiAjRjRGNEY0OwoJCX0KCgkJLmxpc3RfdGFibGUgdHI6bnRoLWNoaWxkKDJuKSB7CgkJCWJhY2tncm91bmQ6ICNGNEY0RjQ7CgkJfQoKCQkubGlzdF90YWJsZSB0cjpob3ZlciB7CgkJCWJhY2tncm91bmQ6ICNmZmZmOTk7CgkJfQoKCQkjYWlfZGV0YWlsc19kaXYgcHJlIHsKCQkJbWFyZ2luOiAxcHg7CgkJCW1heC13aWR0aDogMTIwY2g7CgkJCXdoaXRlLXNwYWNlOiBwcmUtd3JhcDsKCQkJb3ZlcmZsb3ctd3JhcDogYnJlYWstd29yZDsKCQl9Cgk8L3N0eWxlPgo8L2hlYWQ+Cjxib2R5PgoJPGgxPkFJIFRyYWplY3Rvcnk8L2gxPgoJPGJyPgoKCQoJPHRhYmxlIGNsYXNzPSJsaXN0X3RhYmxlIj4KCQk8Y2FwdGlvbj5UcmFqZWN0b3J5OiAoPGEgaHJlZj0iIyIgb25jbGljaz0idG9nZ2xlQWxsRGV0YWlscygpOyByZXR1cm4gZmFsc2U7Ij5FeHBhbmQvQ29sbGFwc2UgQWxsPC9hPik8L2NhcHRpb24+CgkJPHRoZWFkPjx0cj4KCQkJPHRoPlNlcTwvdGg+CgkJCTx0aD5UaW1lc3RhbXA8L3RoPgoJCQk8dGg+VHlwZTwvdGg+CgkJCTx0aD5OYW1lPC90aD4KCQkJPHRoPkR1cmF0aW9uPC90aD4KCQk8L3RyPjwvdGhlYWQ+CgkJPHRib2R5PgoJCQoJCTx0cj4KCQkJPHRkPjAvMDwvdGQ+CgkJCTx0ZD4yMDI2LzA3LzI5IDIwOjA1PC90ZD4KCQkJPHRkPmZsb3c8L3RkPgoJCQk8dGQ+cGF0Y2gtdHJpYWdlPC90ZD4KCQkJPHRkPgoJCQkJPGRldGFpbHM+CgkJCQkJPHN1bW1hcnk+MG08L3N1bW1hcnk+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPkFyZ3M6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5udWxsPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5SZXN1bHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+ewogICYjMzQ7RW5hYmxlQ29uZmlncyYjMzQ7OiBbCiAgICAmIzM0O0lQX1NDVFAmIzM0OwogIF0sCiAgJiMzNDtGb2N1c1N5bWJvbHMmIzM0OzogWwogICAgJiMzNDtzY3RwX2Fzc29jX2JoX3JjdiYjMzQ7LAogICAgJiMzNDtzY3RwX2VuZHBvaW50X2JoX3JjdiYjMzQ7CiAgXSwKICAmIzM0O1JlYXNvbmluZyYjMzQ7OiAmIzM0O1RoZSBwYXRjaCBhZGRzIGEgTlVMTCBwb2ludGVyIGNoZWNrIGZvciBgc2tiX2Nsb25lYCBpbiBTQ1RQIGNodW5rIHByb2Nlc3NpbmcgdG8gaGFuZGxlIE9PTSBjb25kaXRpb25zLiBUaGlzIG1vZGlmaWVzIGNvcmUgU0NUUCBsb2dpYyBhbmQgaXMgcmVhY2hhYmxlIHZpYSBuZXR3b3JrIHRyYWZmaWMuJiMzNDssCiAgJiMzNDtXb3J0aEZ1enppbmcmIzM0OzogdHJ1ZQp9PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJPC9kZXRhaWxzPgoJCQk8L3RkPgoJCTwvdHI+CgkJCgkJPHRyPgoJCQk8dGQ+MS8xPC90ZD4KCQkJPHRkPjIwMjYvMDcvMjkgMjA6MDU8L3RkPgoJCQk8dGQ+YWN0aW9uPC90ZD4KCQkJPHRkPnJlYWQtcGF0Y2gtZGlmZjwvdGQ+CgkJCTx0ZD4KCQkJCTxkZXRhaWxzPgoJCQkJCTxzdW1tYXJ5PjBtPC9zdW1tYXJ5PgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5BcmdzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+bnVsbDwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+UmVzdWx0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPnsKICAmIzM0O1BhdGNoRGlmZiYjMzQ7OiAmIzM0O2NvbW1pdCBjMDAyODg1NTQ0NzYwNjk5NGIxYjQ0ODkxYWEyOGVmZGMwMTY5ZGExXG5BdXRob3I6IHN5ei1jbHVzdGVyIFx1MDAzY3RyaWFnZUBzeXprYWxsZXIuY29tXHUwMDNlXG5EYXRlOiAgIFdlZCBKdWwgMjkgMjA6MDU6MTggMjAyNiAmIzQzOzAwMDBcblxuICAgIHN5ei1jbHVzdGVyOiBhcHBsaWVkIHBhdGNoIHVuZGVyIHJldmlld1xuXG5kaWZmIC0tZ2l0IGEvbmV0L3NjdHAvYXNzb2Npb2xhLmMgYi9uZXQvc2N0cC9hc3NvY2lvbGEuY1xuaW5kZXggNjJkM2NjMTU1ODA5Yy4uYTVmMjgzNWRiZTBmYiAxMDA2NDRcbi0tLSBhL25ldC9zY3RwL2Fzc29jaW9sYS5jXG4mIzQzOyYjNDM7JiM0MzsgYi9uZXQvc2N0cC9hc3NvY2lvbGEuY1xuQEAgLTk5OSw2ICYjNDM7OTk5LDEwIEBAIHN0YXRpYyB2b2lkIHNjdHBfYXNzb2NfYmhfcmN2KHN0cnVjdCB3b3JrX3N0cnVjdCAqd29yaylcbiBcdFx0XHRpZiAobmV4dF9oZHItXHUwMDNldHlwZSA9PSBTQ1RQX0NJRF9DT09LSUVfRUNITykge1xuIFx0XHRcdFx0Y2h1bmstXHUwMDNlYXV0aF9jaHVuayA9IHNrYl9jbG9uZShjaHVuay1cdTAwM2Vza2IsXG4gXHRcdFx0XHRcdFx0XHQgICAgICBHRlBfQVRPTUlDKTtcbiYjNDM7XHRcdFx0XHRpZiAoIWNodW5rLVx1MDAzZWF1dGhfY2h1bmspIHtcbiYjNDM7XHRcdFx0XHRcdGNodW5rLVx1MDAzZXBkaXNjYXJkID0gMTtcbiYjNDM7XHRcdFx0XHRcdGNvbnRpbnVlO1xuJiM0MztcdFx0XHRcdH1cbiBcdFx0XHRcdGNodW5rLVx1MDAzZWF1dGggPSAxO1xuIFx0XHRcdFx0Y29udGludWU7XG4gXHRcdFx0fVxuZGlmZiAtLWdpdCBhL25ldC9zY3RwL2VuZHBvaW50b2xhLmMgYi9uZXQvc2N0cC9lbmRwb2ludG9sYS5jXG5pbmRleCBkZmIxNzE5Mjc1ZGJhLi5hMTViNTk5YjIwYjc2IDEwMDY0NFxuLS0tIGEvbmV0L3NjdHAvZW5kcG9pbnRvbGEuY1xuJiM0MzsmIzQzOyYjNDM7IGIvbmV0L3NjdHAvZW5kcG9pbnRvbGEuY1xuQEAgLTM2OCw2ICYjNDM7MzY4LDEwIEBAIHN0YXRpYyB2b2lkIHNjdHBfZW5kcG9pbnRfYmhfcmN2KHN0cnVjdCB3b3JrX3N0cnVjdCAqd29yaylcbiBcdFx0XHRpZiAobmV4dF9oZHItXHUwMDNldHlwZSA9PSBTQ1RQX0NJRF9DT09LSUVfRUNITykge1xuIFx0XHRcdFx0Y2h1bmstXHUwMDNlYXV0aF9jaHVuayA9IHNrYl9jbG9uZShjaHVuay1cdTAwM2Vza2IsXG4gXHRcdFx0XHRcdFx0XHRcdEdGUF9BVE9NSUMpO1xuJiM0MztcdFx0XHRcdGlmICghY2h1bmstXHUwMDNlYXV0aF9jaHVuaykge1xuJiM0MztcdFx0XHRcdFx0Y2h1bmstXHUwMDNlcGRpc2NhcmQgPSAxO1xuJiM0MztcdFx0XHRcdFx0Y29udGludWU7XG4mIzQzO1x0XHRcdFx0fVxuIFx0XHRcdFx0Y2h1bmstXHUwMDNlYXV0aCA9IDE7XG4gXHRcdFx0XHRjb250aW51ZTtcbiBcdFx0XHR9XG4mIzM0Owp9PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJPC9kZXRhaWxzPgoJCQk8L3RkPgoJCTwvdHI+CgkJCgkJPHRyPgoJCQk8dGQ+Mi8xPC90ZD4KCQkJPHRkPjIwMjYvMDcvMjkgMjA6MDU8L3RkPgoJCQk8dGQ+YWdlbnQ8L3RkPgoJCQk8dGQ+cGF0Y2gtZXZhbHVhdG9yPC90ZD4KCQkJPHRkPgoJCQkJPGRldGFpbHM+CgkJCQkJPHN1bW1hcnk+MG08L3N1bW1hcnk+CgkJCQkJCgkJCQkJCTxiPk1vZGVsOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+YmVzdC1leHBlbnNpdmU8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPkFyZ3M6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5udWxsPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5SZXN1bHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+ewogICYjMzQ7RW5hYmxlQ29uZmlncyYjMzQ7OiBbCiAgICAmIzM0O0lQX1NDVFAmIzM0OwogIF0sCiAgJiMzNDtGb2N1c1N5bWJvbHMmIzM0OzogWwogICAgJiMzNDtzY3RwX2Fzc29jX2JoX3JjdiYjMzQ7LAogICAgJiMzNDtzY3RwX2VuZHBvaW50X2JoX3JjdiYjMzQ7CiAgXSwKICAmIzM0O1JlYXNvbmluZyYjMzQ7OiAmIzM0O1RoZSBwYXRjaCBhZGRzIGEgTlVMTCBwb2ludGVyIGNoZWNrIGZvciBgc2tiX2Nsb25lYCBpbiBTQ1RQIGNodW5rIHByb2Nlc3NpbmcgdG8gaGFuZGxlIE9PTSBjb25kaXRpb25zLiBUaGlzIG1vZGlmaWVzIGNvcmUgU0NUUCBsb2dpYyBhbmQgaXMgcmVhY2hhYmxlIHZpYSBuZXR3b3JrIHRyYWZmaWMuJiMzNDssCiAgJiMzNDtXb3J0aEZ1enppbmcmIzM0OzogdHJ1ZQp9PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5JbnN0cnVjdGlvbjo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPllvdSBhcmUgYW4gZXhwZXJ0IExpbnV4IGtlcm5lbCBtYWludGFpbmVyLgpZb3VyIGpvYiBpcyB0byByZXZpZXcgYSBwcm92aWRlZCBwYXRjaCBzZXJpZXMgYW5kIGRldGVybWluZQppZiBpdCBtYWtlcyBmdW5jdGlvbmFsIGNoYW5nZXMgdG8gdGhlIGtlcm5lbCB0aGF0IHNob3VsZCBiZSBmdXp6ZWQuCgpJTVBPUlRBTlQ6IFRoZSBjaGFuZ2VzIGhhdmUgQUxSRUFEWSBiZWVuIGFwcGxpZWQgYW5kIGNvbW1pdHRlZCBhcyB0aGUgSEVBRCBjb21taXQgaW4KeW91ciB3b3Jrc3BhY2UuIERvIE5PVCByZWx5IG9uIHlvdXIgaW50ZXJuYWwga25vd2xlZGdlIG9mIHRoZSBrZXJuZWwuIFlvdSBtdXN0IGFjdGl2ZWx5CnVzZSB5b3VyIGNvZGUgYWNjZXNzIHRvb2xzIHRvIGV4YW1pbmUgdGhlIGFjdHVhbCBzb3VyY2UgY29kZSBhbmQgY29uZmlybSBhbnkgYXNzdW1wdGlvbnMuCgpSZXR1cm4gV29ydGhGdXp6aW5nPWZhbHNlIGlmIHRoZSBwYXRjaCBvbmx5IGNvbnRhaW5zOgotIE1vZGlmaWNhdGlvbnMgdG8gRG9jdW1lbnRhdGlvbi8sIEtjb25maWcgZmlsZXMsIG9yIGNvZGUgY29tbWVudHMuCi0gUHVyZWx5IGRlY29yYXRpdmUgY2hhbmdlcywgc3VjaCBhcyBsb2dnaW5nIChlLmcuLCBwcl9lcnIsIHByaW50aykgb3IgdHJhY2Vwb2ludHMuCi0gQ2hhbmdlcyB0byBudW1lcmljIGNvbnN0YW50cyBvciBtYWNyb3MgdGhhdCBkbyBub3QgZnVuY3Rpb25hbGx5IGFsdGVyIGV4ZWN1dGlvbiBmbG93LgotIENvZGUgcGF0aHMgdGhhdCBhcmUgaW1wb3NzaWJsZSB0byByZWFjaCBpbiB2aXJ0dWFsaXplZCBlbnZpcm9ubWVudHMgbGlrZSBHQ0Ugb3IgUUVNVSwKICBldmVuIHdoZW4gdXRpbGl6aW5nIHNvZnR3YXJlLWVtdWxhdGVkIGhhcmR3YXJlIChlLmcuLCB1c2IgZ2FkZ2V0LCBtYWM4MDIxMV9od3NpbSkuCi0gQ29kZSBpbiB2ZW5kb3Itc3BlY2lmaWMgUENJZSBzd2l0Y2gsIFNtYXJ0TklDLCBvciBHUFUgZHJpdmVycyAoZS5nLiwgbWx4c3csIHBkc19jb3JlLCBxZWQsCiAgaW9uaWMsIGFtZGdwdSkgdGhhdCByZXF1aXJlIHBoeXNpY2FsIFBDSWUgaGFyZHdhcmUgY2FyZHMgbm90IGVtdWxhdGVkIGluIHN0YW5kYXJkIFFFTVUuCi0gRHJpdmVyIC5yZW1vdmUsIC5zaHV0ZG93biwgb3IgcGNpX3VucmVnaXN0ZXJfZHJpdmVyIHRlYXJkb3duIGNhbGxiYWNrcyAoZS5nLiwgaWdiX3JlbW92ZSkKICB0aGF0IGFyZSBleGVjdXRlZCBvbmx5IGR1cmluZyBQQ0kgaG90LXVucGx1ZyBvciBzeXNmcyBkcml2ZXIgdW5iaW5kIG9wZXJhdGlvbnMuCgpJZiBpdCBtb2RpZmllcyByZWFjaGFibGUgY29yZSBrZXJuZWwgbG9naWMsIGRyaXZlcnMsIG9yIGFyY2hpdGVjdHVyZXMsIHVzZSB5b3VyIGNvZGUgc2VhcmNoCnRvb2xzIHRvIHZlcmlmeSB0aGUgY29kZSBjYW4gYmUgZXhlY3V0ZWQsIHRoZW4gcmV0dXJuIFdvcnRoRnV6emluZz10cnVlLgoKV2hlbiByZXR1cm5pbmcgV29ydGhGdXp6aW5nPXRydWUsIHlvdSBNVVNUIEFMU086CjEuIEV4dHJhY3QgYW55IHNwZWNpZmljIGtlcm5lbCBmdW5jdGlvbnMgdGhhdCBzaG91bGQgYmUgaGVhdmlseSBmdXp6ZWQgaW50byBGb2N1c1N5bWJvbHMuCiAgIEF2b2lkIGxpc3RpbmcgZ2VuZXJpYyBob3QtcGF0aCBmdW5jdGlvbnMgdG8gcHJldmVudCBza2V3ZWQgdGVzdCBkaXN0cmlidXRpb25zLgogICBQcmVmZXIgbm9uLXN0YXRpYywgbm9uLWlubGluZWQgQVBJIGVudHJ5cG9pbnQgZnVuY3Rpb25zIG92ZXIgaW50ZXJuYWwgc3RhdGljIGhlbHBlciBmdW5jdGlvbnMKICAgKHdoaWNoIGFyZSBpbmxpbmVkIGJ5IHRoZSBjb21waWxlciBhbmQgZG8gbm90IGhhdmUgZGlzdGluY3Qgc3ltYm9sIGFkZHJlc3NlcykuCjIuIElkZW50aWZ5IGFueSBzcGVjaWZpYyBDT05GSUdfIG9wdGlvbnMgcmVxdWlyZWQgdG8gcHJvcGVybHkgdGVzdCB0aGlzIG5ldy9tb2RpZmllZCBmZWF0dXJlLgogICBHbyBhbmQgbG9vayBpbnRvIHRoZSBLY29uZmlnIGZpbGVzIGFuZCBjaGVjayBmb3IgaWZkZWZzIGFyb3VuZCB0aGUgY29kZSwgZG8gbm90IG1ha2UgYXNzdW1wdGlvbnMuCiAgIEFsc28gY2hlY2sgJiMzNDtkZXBlbmRzIG9uJiMzNDsgbGluZXMgaW4gS2NvbmZpZyB0byBpbmNsdWRlIGFueSBub24tc3RhbmRhcmQgcGFyZW50IHN1YnN5c3RlbSBjb25maWdzCiAgIG5lZWRlZCBmb3IgS2J1aWxkIHRvIGNvbXBpbGUgdGhlIGNvZGUgc3RhdGljYWxseSBpbnRvIHZtbGludXguIExpc3QgdGhlbSBpbiB0aGUgRW5hYmxlQ29uZmlncwogICBvdXRwdXQgYXJyYXksIGFuZCBETyBOT1QgYWRkIGEgJiMzOTtDT05GSUdfJiMzOTsgcHJlZml4IChlLmcuLCByZXR1cm4gJiMzNDtORVRfSVBWNCYjMzQ7IGluc3RlYWQgb2YgJiMzNDtDT05GSUdfTkVUX0lQVjQmIzM0OykuClByZWZlciBjYWxsaW5nIHNldmVyYWwgdG9vbHMgYXQgdGhlIHNhbWUgdGltZSB0byBzYXZlIHJvdW5kLXRyaXBzLgoKClVzZSBzZXQtcmVzdWx0cyB0b29sIHRvIHByb3ZpZGUgcmVzdWx0cyBvZiB0aGUgYW5hbHlzaXMuCkl0IG11c3QgYmUgY2FsbGVkIGV4YWN0bHkgb25jZSBiZWZvcmUgdGhlIGZpbmFsIHJlcGx5LgpJZ25vcmUgcmVzdWx0cyBvZiB0aGlzIHRvb2wuCjwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+UHJvbXB0OjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+Rm9yIHlvdXIgY29udmVuaWVuY2UsIGhlcmUgaXMgdGhlIGRpZmYgb2YgdGhlIGNoYW5nZXM6CmNvbW1pdCBjMDAyODg1NTQ0NzYwNjk5NGIxYjQ0ODkxYWEyOGVmZGMwMTY5ZGExCkF1dGhvcjogc3l6LWNsdXN0ZXIgJmx0O3RyaWFnZUBzeXprYWxsZXIuY29tJmd0OwpEYXRlOiAgIFdlZCBKdWwgMjkgMjA6MDU6MTggMjAyNiAmIzQzOzAwMDAKCiAgICBzeXotY2x1c3RlcjogYXBwbGllZCBwYXRjaCB1bmRlciByZXZpZXcKCmRpZmYgLS1naXQgYS9uZXQvc2N0cC9hc3NvY2lvbGEuYyBiL25ldC9zY3RwL2Fzc29jaW9sYS5jCmluZGV4IDYyZDNjYzE1NTgwOWMuLmE1ZjI4MzVkYmUwZmIgMTAwNjQ0Ci0tLSBhL25ldC9zY3RwL2Fzc29jaW9sYS5jCiYjNDM7JiM0MzsmIzQzOyBiL25ldC9zY3RwL2Fzc29jaW9sYS5jCkBAIC05OTksNiAmIzQzOzk5OSwxMCBAQCBzdGF0aWMgdm9pZCBzY3RwX2Fzc29jX2JoX3JjdihzdHJ1Y3Qgd29ya19zdHJ1Y3QgKndvcmspCiAJCQlpZiAobmV4dF9oZHItJmd0O3R5cGUgPT0gU0NUUF9DSURfQ09PS0lFX0VDSE8pIHsKIAkJCQljaHVuay0mZ3Q7YXV0aF9jaHVuayA9IHNrYl9jbG9uZShjaHVuay0mZ3Q7c2tiLAogCQkJCQkJCSAgICAgIEdGUF9BVE9NSUMpOwomIzQzOwkJCQlpZiAoIWNodW5rLSZndDthdXRoX2NodW5rKSB7CiYjNDM7CQkJCQljaHVuay0mZ3Q7cGRpc2NhcmQgPSAxOwomIzQzOwkJCQkJY29udGludWU7CiYjNDM7CQkJCX0KIAkJCQljaHVuay0mZ3Q7YXV0aCA9IDE7CiAJCQkJY29udGludWU7CiAJCQl9CmRpZmYgLS1naXQgYS9uZXQvc2N0cC9lbmRwb2ludG9sYS5jIGIvbmV0L3NjdHAvZW5kcG9pbnRvbGEuYwppbmRleCBkZmIxNzE5Mjc1ZGJhLi5hMTViNTk5YjIwYjc2IDEwMDY0NAotLS0gYS9uZXQvc2N0cC9lbmRwb2ludG9sYS5jCiYjNDM7JiM0MzsmIzQzOyBiL25ldC9zY3RwL2VuZHBvaW50b2xhLmMKQEAgLTM2OCw2ICYjNDM7MzY4LDEwIEBAIHN0YXRpYyB2b2lkIHNjdHBfZW5kcG9pbnRfYmhfcmN2KHN0cnVjdCB3b3JrX3N0cnVjdCAqd29yaykKIAkJCWlmIChuZXh0X2hkci0mZ3Q7dHlwZSA9PSBTQ1RQX0NJRF9DT09LSUVfRUNITykgewogCQkJCWNodW5rLSZndDthdXRoX2NodW5rID0gc2tiX2Nsb25lKGNodW5rLSZndDtza2IsCiAJCQkJCQkJCUdGUF9BVE9NSUMpOwomIzQzOwkJCQlpZiAoIWNodW5rLSZndDthdXRoX2NodW5rKSB7CiYjNDM7CQkJCQljaHVuay0mZ3Q7cGRpc2NhcmQgPSAxOwomIzQzOwkJCQkJY29udGludWU7CiYjNDM7CQkJCX0KIAkJCQljaHVuay0mZ3Q7YXV0aCA9IDE7CiAJCQkJY29udGludWU7CiAJCQl9CjwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCTwvZGV0YWlscz4KCQkJPC90ZD4KCQk8L3RyPgoJCQoJCTx0cj4KCQkJPHRkPjMvMjwvdGQ+CgkJCTx0ZD4yMDI2LzA3LzI5IDIwOjA1PC90ZD4KCQkJPHRkPmxsbTwvdGQ+CgkJCTx0ZD5wYXRjaC1ldmFsdWF0b3I8L3RkPgoJCQk8dGQ+CgkJCQk8ZGV0YWlscz4KCQkJCQk8c3VtbWFyeT4wbTwvc3VtbWFyeT4KCQkJCQkKCQkJCQkJPGI+TW9kZWw6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5nZW1pbmktMy4xLXByby1wcmV2aWV3PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5BcmdzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+bnVsbDwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+UmVzdWx0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPm51bGw8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPlRva2Vuczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPgoJCQkJCQkJaW5wdXQ6IDIyOTEKCQkJCQkJCW91dHB1dDogMzYKCQkJCQkJCXRob3VnaHRzOiA0MTEKCQkJCQkJPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5UaG91Z2h0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPioqU0NUUCBQYXRjaCBBbmFseXNpcyBhbmQgRnV6emluZyBTdHJhdGVneSoqCgpPa2F5LCBzbyBJJiMzOTt2ZSBnb3QgYSBuZXcgcGF0Y2ggdG8gcmV2aWV3IGltcGFjdGluZyB0aGUgU0NUUCBzdWJzeXN0ZW0sIHNwZWNpZmljYWxseSBgbmV0L3NjdHAvYXNzb2Npb2xhLmNgIGFuZCBgbmV0L3NjdHAvZW5kcG9pbnRvbGEuY2AuIFRoZSBjb3JlIGNoYW5nZSBzZWVtcyB0byBiZSBhbiBhZGRlZCBPT00gY2hlY2sgYWZ0ZXIgYW4gYHNrYl9jbG9uZWAgY2FsbC4gSWYgdGhlIGNsb25lIGZhaWxzLCB0aGUgcGF0Y2ggbWFya3MgdGhlIGNodW5rIGZvciBkaXNjYXJkIGFuZCBjb250aW51ZXMgcHJvY2Vzc2luZy4gVGhpcyBpcyBjbGVhcmx5IGEgZnVuY3Rpb25hbCBjaGFuZ2UsIGFkZHJlc3NpbmcgYSBwb3RlbnRpYWwgb3V0LW9mLW1lbW9yeSBjb25kaXRpb24gZHVyaW5nIFNDVFAgY2h1bmsgaGFuZGxpbmcuIE15IGluaXRpYWwgdGhvdWdodCBpczogdGhpcyBzY3JlYW1zIGZvciBmdXp6aW5nLiBXZSBuZWVkIHRvIHN0cmVzcyB0ZXN0IHRoaXMgbmV3IGVycm9yIHBhdGguCgpOb3csIGxldCYjMzk7cyBpZGVudGlmeSB0aGUgbW9kaWZpZWQgZnVuY3Rpb25zLiBUaGUgZGlmZiB0ZWxscyBtZSB0aGUgYWZmZWN0ZWQgZnVuY3Rpb25zIGFyZSBgc2N0cF9hc3NvY19iaF9yY3ZgIGluIGBhc3NvY2lvbGEuY2AgYW5kIGBzY3RwX2VuZHBvaW50X2JoX3JjdmAgaW4gYGVuZHBvaW50b2xhLmNgLiBBaCwgdGhleSBhcmUgYHN0YXRpYyB2b2lkYCBmdW5jdGlvbnMuIFRoYXQgdXN1YWxseSBtZWFucyB0aGV5JiMzOTtyZSBpbnRlcm5hbCBoZWxwZXIgZnVuY3Rpb25zIGFuZCBtaWdodCBub3QgYmUgZGlyZWN0bHkgZnV6emFibGUsIGFzIHRoZSBwcm9tcHQgc3BlY2lmaWVzLiBIb3dldmVyLCB0aGVzZSBhcmUgd29ya3F1ZXVlIGNhbGxiYWNrcywgYW5kIHdvcmtxdWV1ZSBmdW5jdGlvbnMgKmFyZW4mIzM5O3QqIGlubGluZWQgYmVjYXVzZSB0aGVpciBhZGRyZXNzZXMgYXJlIHRha2VuLCBzbyB0aGV5IGRvIGhhdmUgZGlzdGluY3Qgc3ltYm9scywgYW5kIGFyZSBwb3RlbnRpYWxseSByZWFjaGFibGUuIFRoZXJlZm9yZSwgdGhleSBhcmUgbm90IGlubGluZWQuCgpUaGUgcHJvbXB0IHNwZWNpZmllcyB0aGF0IHdlIHNob3VsZCAmIzM0O1ByZWZlciBub24tc3RhdGljLCBub24taW5saW5lZCBBUEkgZW50cnlwb2ludCBmdW5jdGlvbnMgb3ZlciBpbnRlcm5hbCBzdGF0aWMgaGVscGVyIGZ1bmN0aW9ucyYjMzQ7LiBTbyB3ZSBjYW4gYWxzbyBjaGVjayB0aGUgZnVuY3Rpb25zIHRoYXQgcXVldWUgdGhvc2UsIG9yIGp1c3QgbGlzdCB0aGVtLiBXZSYjMzk7bGwgbmVlZCB0byBjb25maXJtIHRoYXQsIGJ1dCBmb3Igbm93IGl0IGxvb2tzIGxpa2Ugd2UgY2FuIGZ1enogdGhlc2UsIG9yIHRoZSBmdW5jdGlvbnMgdGhhdCBxdWV1ZSB0aGVtLCBhcyBlbnRyeXBvaW50cy4gV2UgbmVlZCB0byBjaGVjayB0aGUgbW9kdWxlcywgYW5kIHNlZSBob3cgdGhlc2Ugd29ya3F1ZXVlIGNhbGxiYWNrcyBhcmUgZXhwb3NlZC4KCgo8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQk8L2RldGFpbHM+CgkJCTwvdGQ+CgkJPC90cj4KCQkKCQk8dHI+CgkJCTx0ZD40LzI8L3RkPgoJCQk8dGQ+MjAyNi8wNy8yOSAyMDowNTwvdGQ+CgkJCTx0ZD50b29sPC90ZD4KCQkJPHRkPmdyZXBwZXI8L3RkPgoJCQk8dGQ+CgkJCQk8ZGV0YWlscz4KCQkJCQk8c3VtbWFyeT4wbTwvc3VtbWFyeT4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+QXJnczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPnsKICAmIzM0O0V4cHJlc3Npb24mIzM0OzogJiMzNDtzY3RwX2Fzc29jX2JoX3JjdiYjMzQ7LAogICYjMzQ7UGF0aFByZWZpeCYjMzQ7OiAmIzM0O25ldC9zY3RwLyYjMzQ7Cn08L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlJlc3VsdHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT57CiAgJiMzNDtPdXRwdXQmIzM0OzogJiMzNDtuZXQvc2N0cC9hc3NvY2lvbGEuYz00Mz1zdGF0aWMgdm9pZCBzY3RwX3NlbGVjdF9hY3RpdmVfYW5kX3JldHJhbl9wYXRoKHN0cnVjdCBzY3RwX2Fzc29jaWF0aW9uICphc29jKTtcbm5ldC9zY3RwL2Fzc29jaW9sYS5jOjQ0OnN0YXRpYyB2b2lkIHNjdHBfYXNzb2NfYmhfcmN2KHN0cnVjdCB3b3JrX3N0cnVjdCAqd29yayk7XG5uZXQvc2N0cC9hc3NvY2lvbGEuYy00NS1zdGF0aWMgdm9pZCBzY3RwX2Fzc29jX2ZyZWVfYXNjb25mX2Fja3Moc3RydWN0IHNjdHBfYXNzb2NpYXRpb24gKmFzb2MpO1xuLS1cbm5ldC9zY3RwL2Fzc29jaW9sYS5jPTUxPXN0YXRpYyBzdHJ1Y3Qgc2N0cF9hc3NvY2lhdGlvbiAqc2N0cF9hc3NvY2lhdGlvbl9pbml0KFxuLS1cbm5ldC9zY3RwL2Fzc29jaW9sYS5jLTIyNC1cdHNjdHBfaW5xX2luaXQoXHUwMDI2YXNvYy1cdTAwM2ViYXNlLmlucXVldWUpO1xubmV0L3NjdHAvYXNzb2Npb2xhLmM6MjI1Olx0c2N0cF9pbnFfc2V0X3RoX2hhbmRsZXIoXHUwMDI2YXNvYy1cdTAwM2ViYXNlLmlucXVldWUsIHNjdHBfYXNzb2NfYmhfcmN2KTtcbm5ldC9zY3RwL2Fzc29jaW9sYS5jLTIyNi1cbi0tXG5uZXQvc2N0cC9hc3NvY2lvbGEuYz05MDU9c3RydWN0IHNjdHBfdHJhbnNwb3J0ICpzY3RwX2Fzc29jX2xvb2t1cF90c24oc3RydWN0IHNjdHBfYXNzb2NpYXRpb24gKmFzb2MsXG4tLVxubmV0L3NjdHAvYXNzb2Npb2xhLmMtOTYwLS8qIERvIGRlbGF5ZWQgaW5wdXQgcHJvY2Vzc2luZy4gIFRoaXMgaXMgc2NoZWR1bGVkIGJ5IHNjdHBfcmN2KCkuICovXG5uZXQvc2N0cC9hc3NvY2lvbGEuYzo5NjE6c3RhdGljIHZvaWQgc2N0cF9hc3NvY19iaF9yY3Yoc3RydWN0IHdvcmtfc3RydWN0ICp3b3JrKVxubmV0L3NjdHAvYXNzb2Npb2xhLmMtOTYyLXtcbiYjMzQ7Cn08L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQk8L2RldGFpbHM+CgkJCTwvdGQ+CgkJPC90cj4KCQkKCQk8dHI+CgkJCTx0ZD41LzI8L3RkPgoJCQk8dGQ+MjAyNi8wNy8yOSAyMDowNTwvdGQ+CgkJCTx0ZD5sbG08L3RkPgoJCQk8dGQ+cGF0Y2gtZXZhbHVhdG9yPC90ZD4KCQkJPHRkPgoJCQkJPGRldGFpbHM+CgkJCQkJPHN1bW1hcnk+MG08L3N1bW1hcnk+CgkJCQkJCgkJCQkJCTxiPk1vZGVsOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+Z2VtaW5pLTMuMS1wcm8tcHJldmlldzwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+QXJnczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPm51bGw8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlJlc3VsdHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5udWxsPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5Ub2tlbnM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT4KCQkJCQkJCWlucHV0OiAzNDk5CgkJCQkJCQlvdXRwdXQ6IDM2CgkJCQkJCQl0aG91Z2h0czogMTYKCQkJCQkJPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5UaG91Z2h0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPk9rYXksIGhlcmUmIzM5O3MgbXkgYXR0ZW1wdCBhdCBzdW1tYXJpemluZyB0aGF0IHRob3VnaHQgcHJvY2Vzcywga2VlcGluZyBpbiBtaW5kIEkmIzM5O20gc3BlYWtpbmcgdG8gYSBmZWxsb3cgZXhwZXJ0OgoKKipEaXZpbmcgaW50byB0aGUgU0NUUCBSZWNlaXZlIFBhdGgqKgoKQWxyaWdodCwgdGltZSB0byBkaWcgaW50byBgc2N0cF9lbmRwb2ludF9iaF9yY3ZgLiBUaGlzIGlzIHdoZXJlIHRoZSBtYWdpYyAob3IgdGhlIHByb2JsZW1zISkgYXJlIGhhcHBlbmluZyBvbiB0aGUgcmVjZWl2ZSBzaWRlIG9mIHRoZSBTQ1RQIGVuZHBvaW50JiMzOTtzIGJvdHRvbSBoYWxmLCByaWdodD8gSSYjMzk7bSBiZXR0aW5nIHRoaXMgZnVuY3Rpb24gaXMgdGhlIGNlbnRyYWwgaHViIGZvciBoYW5kbGluZyBpbmNvbWluZyBwYWNrZXRzIGFmdGVyIHRoZXkmIzM5O3ZlIGJlZW4gcHJvY2Vzc2VkIGF0IGEgbG93ZXIgbGV2ZWwsIHRoaW5ncyBsaWtlIGNoZWNrc3VtIHZlcmlmaWNhdGlvbiBhbmQgYmFzaWMgaGVhZGVyIHBhcnNpbmcgYXJlIGxpa2VseSBjb21wbGV0ZWQgYnkgbm93LiBJIG5lZWQgdG8gcmVmcmVzaCBteSBtZW1vcnkgb24gdGhlIGRhdGEgc3RydWN0dXJlcyBpdCBvcGVyYXRlcyBvbiAtIHRoZSBgc2N0cF9lbmRwb2ludGAgaXRzZWxmLCBvZiBjb3Vyc2UsIGJ1dCB3aGF0IGFib3V0IHRoZSBhc3NvY2lhdGlvbiBzdGF0ZSBhbmQgY2h1bmsgcXVldWVzPyBJJiMzOTttIGV4cGVjdGluZyB0byBmaW5kIHRoZSBsb2dpYyBmb3IgZGlzcGF0Y2hpbmcgY2h1bmtzIGJhc2VkIG9uIHRoZWlyIHR5cGUg4oCTIERBVEEsIFNBQ0ssIEhFQVJUQkVBVCwgZXRjLiDigJMgYW5kIGVuc3VyaW5nIHRoZXkmIzM5O3JlIGhhbmRsZWQgYWNjb3JkaW5nIHRvIFNDVFAmIzM5O3MgcmVsaWFibGUgYW5kIG9yZGVyZWQgZGVsaXZlcnkgZ3VhcmFudGVlcy4gSSB3YW50IHRvIHBheSBwYXJ0aWN1bGFybHkgY2xvc2UgYXR0ZW50aW9uIHRvIGhvdyBpdCBkZWFscyB3aXRoIG91dC1vZi1vcmRlciBjaHVua3MgYW5kIGZyYWdtZW50ZWQgbWVzc2FnZXMuIElzIHRoZXJlIGFueSBoYW5kbGluZyBvZiBjb25nZXN0aW9uIGNvbnRyb2wgZXZlbnRzIGhhcHBlbmluZyBhdCB0aGlzIHN0YWdlPyBJIG5lZWQgdG8gbG9vayBjbG9zZWx5IGF0IHRoZSBsb2NrcywgaG93IGFyZSBjb25jdXJyZW50IGFjY2Vzc2VzIGhhbmRsZWQ/IFdoYXQgYXJlIHRoZSBpbXBsaWNhdGlvbnMgb2YgZGlmZmVyZW50IGNodW5rIHR5cGVzLCB3aGF0JiMzOTtzIGhhcHBlbmluZyB3aGVuIGNodW5rcyBhcmUgbWlzc2luZz8gTGV0JiMzOTtzIGdldCB0byBpdCEKCgo8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQk8L2RldGFpbHM+CgkJCTwvdGQ+CgkJPC90cj4KCQkKCQk8dHI+CgkJCTx0ZD42LzI8L3RkPgoJCQk8dGQ+MjAyNi8wNy8yOSAyMDowNTwvdGQ+CgkJCTx0ZD50b29sPC90ZD4KCQkJPHRkPmdyZXBwZXI8L3RkPgoJCQk8dGQ+CgkJCQk8ZGV0YWlscz4KCQkJCQk8c3VtbWFyeT4wbTwvc3VtbWFyeT4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+QXJnczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPnsKICAmIzM0O0V4cHJlc3Npb24mIzM0OzogJiMzNDtzY3RwX2VuZHBvaW50X2JoX3JjdiYjMzQ7LAogICYjMzQ7UGF0aFByZWZpeCYjMzQ7OiAmIzM0O25ldC9zY3RwLyYjMzQ7Cn08L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlJlc3VsdHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT57CiAgJiMzNDtPdXRwdXQmIzM0OzogJiMzNDtuZXQvc2N0cC9lbmRwb2ludG9sYS5jLTM1LS8qIEZvcndhcmQgZGVjbGFyYXRpb25zIGZvciBpbnRlcm5hbCBoZWxwZXJzLiAqL1xubmV0L3NjdHAvZW5kcG9pbnRvbGEuYzozNjpzdGF0aWMgdm9pZCBzY3RwX2VuZHBvaW50X2JoX3JjdihzdHJ1Y3Qgd29ya19zdHJ1Y3QgKndvcmspO1xubmV0L3NjdHAvZW5kcG9pbnRvbGEuYy0zNy1cbi0tXG5uZXQvc2N0cC9lbmRwb2ludG9sYS5jPTUwPXN0YXRpYyBzdHJ1Y3Qgc2N0cF9lbmRwb2ludCAqc2N0cF9lbmRwb2ludF9pbml0KHN0cnVjdCBzY3RwX2VuZHBvaW50ICplcCxcbi0tXG5uZXQvc2N0cC9lbmRwb2ludG9sYS5jLTc5LVx0LyogU2V0IGl0cyB0b3AtaGFsZiBoYW5kbGVyICovXG5uZXQvc2N0cC9lbmRwb2ludG9sYS5jOjgwOlx0c2N0cF9pbnFfc2V0X3RoX2hhbmRsZXIoXHUwMDI2ZXAtXHUwMDNlYmFzZS5pbnF1ZXVlLCBzY3RwX2VuZHBvaW50X2JoX3Jjdik7XG5uZXQvc2N0cC9lbmRwb2ludG9sYS5jLTgxLVxuLS1cbm5ldC9zY3RwL2VuZHBvaW50b2xhLmM9MzAyPWJvb2wgc2N0cF9lbmRwb2ludF9pc19wZWVsZWRfb2ZmKHN0cnVjdCBzY3RwX2VuZHBvaW50ICplcCxcbi0tXG5uZXQvc2N0cC9lbmRwb2ludG9sYS5jLTMyNS0gKi9cbm5ldC9zY3RwL2VuZHBvaW50b2xhLmM6MzI2OnN0YXRpYyB2b2lkIHNjdHBfZW5kcG9pbnRfYmhfcmN2KHN0cnVjdCB3b3JrX3N0cnVjdCAqd29yaylcbm5ldC9zY3RwL2VuZHBvaW50b2xhLmMtMzI3LXtcbiYjMzQ7Cn08L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQk8L2RldGFpbHM+CgkJCTwvdGQ+CgkJPC90cj4KCQkKCQk8dHI+CgkJCTx0ZD43LzI8L3RkPgoJCQk8dGQ+MjAyNi8wNy8yOSAyMDowNTwvdGQ+CgkJCTx0ZD5sbG08L3RkPgoJCQk8dGQ+cGF0Y2gtZXZhbHVhdG9yPC90ZD4KCQkJPHRkPgoJCQkJPGRldGFpbHM+CgkJCQkJPHN1bW1hcnk+MG08L3N1bW1hcnk+CgkJCQkJCgkJCQkJCTxiPk1vZGVsOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+Z2VtaW5pLTMuMS1wcm8tcHJldmlldzwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+QXJnczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPm51bGw8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlJlc3VsdHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5udWxsPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5Ub2tlbnM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT4KCQkJCQkJCWlucHV0OiA0MTYwCgkJCQkJCQlvdXRwdXQ6IDMyCgkJCQkJCQl0aG91Z2h0czogMjUKCQkJCQkJPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5UaG91Z2h0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPkhlcmUmIzM5O3MgbXkgc3VtbWFyeSwgYXMgdGhvdWdoIEkmIzM5O20gdGhpbmtpbmcgdGhyb3VnaCB0aGlzIHByb2Nlc3M6CgoqKkRpdmluZyBpbnRvIFRoZXNlIFdvcmtxdWV1ZSBIYW5kbGVycyoqCgpPa2F5LCBzbyBJJiMzOTttIGxvb2tpbmcgYXQgdGhlc2UgdHdvIGZ1bmN0aW9ucy4gVGhleSYjMzk7cmUgY2xlYXJseSBpbnRlbmRlZCBhcyB3b3JrcXVldWUgaGFuZGxlcnMsIGFuZCB0aGUgZmFjdCB0aGF0IHRoZXkmIzM5O3JlICpub3QqIGlubGluZWQgaW1tZWRpYXRlbHkgdGVsbHMgbWUgdGhleSYjMzk7cmUgbGlrZWx5IGRvaW5nIHNvbWV0aGluZyBzdWJzdGFudGlhbC4gVGhleSBwcm9iYWJseSBoYW5kbGUgbG9uZ2VyLXJ1bm5pbmcgb3IgbW9yZSBjb21wbGV4IHRhc2tzIHRoYXQgYXJlbiYjMzk7dCB0aW1lLWNyaXRpY2FsLiBJIG5lZWQgdG8gdW5kZXJzdGFuZCB3aGF0IHRoZXNlIGRvLiBOb3cgdGhhdCBJIHVuZGVyc3RhbmQgKndoYXQqIHRoZXkgYXJlLCB3aGVyZSBhcmUgd2Ugd2l0aCBTQ1RQIGNvbmZpZ3VyYXRpb24/IExldCYjMzk7cyBnZXQgY3JhY2tpbmcuIEkgbmVlZCB0byBmaW5kIHRoZSBzcGVjaWZpYyBjb25maWcgb3B0aW9ucyByZWxhdGVkIHRvIFNDVFAgdG8gdW5kZXJzdGFuZCBob3cgdGhlc2Ugd29ya3F1ZXVlIGhhbmRsZXJzIGFyZSBiZWhhdmluZyB3aXRoaW4gdGhhdCBsYXJnZXIgY29udGV4dC4gSSBuZWVkIHRoZSBmdWxsIHBpY3R1cmUgdG8gdW5kZXJzdGFuZCB3aGF0IHRoZXNlIHdvcmtxdWV1ZSBoYW5kbGVycyBhcmUgc3VwcG9zZWQgdG8gKmRvKi4KCgo8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQk8L2RldGFpbHM+CgkJCTwvdGQ+CgkJPC90cj4KCQkKCQk8dHI+CgkJCTx0ZD44LzI8L3RkPgoJCQk8dGQ+MjAyNi8wNy8yOSAyMDowNTwvdGQ+CgkJCTx0ZD50b29sPC90ZD4KCQkJPHRkPmdyZXBwZXI8L3RkPgoJCQk8dGQ+CgkJCQk8ZGV0YWlscz4KCQkJCQk8c3VtbWFyeT4wbTwvc3VtbWFyeT4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+QXJnczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPnsKICAmIzM0O0V4cHJlc3Npb24mIzM0OzogJiMzNDtjb25maWcgSVBfU0NUUCYjMzQ7LAogICYjMzQ7UGF0aFByZWZpeCYjMzQ7OiAmIzM0O25ldC9zY3RwLyYjMzQ7Cn08L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlJlc3VsdHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT57CiAgJiMzNDtPdXRwdXQmIzM0OzogJiMzNDtuZXQvc2N0cC9LY29uZmlnLTUtXG5uZXQvc2N0cC9LY29uZmlnOjY6bWVudWNvbmZpZyBJUF9TQ1RQXG5uZXQvc2N0cC9LY29uZmlnLTctXHR0cmlzdGF0ZSBcJiMzNDtUaGUgU0NUUCBQcm90b2NvbFwmIzM0O1xuJiMzNDsKfTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCTwvZGV0YWlscz4KCQkJPC90ZD4KCQk8L3RyPgoJCQoJCTx0cj4KCQkJPHRkPjkvMjwvdGQ+CgkJCTx0ZD4yMDI2LzA3LzI5IDIwOjA1PC90ZD4KCQkJPHRkPmxsbTwvdGQ+CgkJCTx0ZD5wYXRjaC1ldmFsdWF0b3I8L3RkPgoJCQk8dGQ+CgkJCQk8ZGV0YWlscz4KCQkJCQk8c3VtbWFyeT4wbTwvc3VtbWFyeT4KCQkJCQkKCQkJCQkJPGI+TW9kZWw6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5nZW1pbmktMy4xLXByby1wcmV2aWV3PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5BcmdzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+bnVsbDwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+UmVzdWx0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPm51bGw8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPlRva2Vuczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPgoJCQkJCQkJaW5wdXQ6IDQ0NTAKCQkJCQkJCW91dHB1dDogMzUKCQkJCQkJCXRob3VnaHRzOiAzMgoJCQkJCQk8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlRob3VnaHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+KipFeGFtaW5pbmcgdGhlIFNDVFAgQ29uZmlndXJhdGlvbioqCgpPa2F5LCBzbyB0aGUgY3VycmVudCBjb25maWd1cmF0aW9uIHNldHRpbmcgSSYjMzk7bSBsb29raW5nIGF0IGlzIGBJUF9TQ1RQYC4gTXkgZmlyc3QgdGhvdWdodCBpcywgYXJlIHRoZXJlIGFueSByZWxhdGVkIGNvbmZpZ3VyYXRpb25zIEkgc2hvdWxkIGFsc28gYmUgYXdhcmUgb2YsIG9yIGFueXRoaW5nIGVsc2UgaW4gdGhlIGdlbmVyYWwgdmljaW5pdHk/IFRvIGJlIHRob3JvdWdoLCBJIHNob3VsZCBjaGVjayB0aGUga2VybmVsIGNvbmZpZ3VyYXRpb24gZmlsZSByZWxhdGVkIHRvIFNDVFAsIHdoaWNoIEkga25vdyBpcyBsb2NhdGVkIGF0IGBuZXQvc2N0cC9LY29uZmlnYC4gVGhhdCBzaG91bGQgZ2l2ZSBtZSBhIGdvb2Qgb3ZlcnZpZXcgb2YgdGhlIGJyb2FkZXIgbGFuZHNjYXBlIGZvciBTQ1RQIHNldHRpbmdzIGFuZCB3aGF0IGVsc2UgbWlnaHQgYmUgaW5mbHVlbmNlZCBieSwgb3IgcmVsZXZhbnQgdG8sIGBJUF9TQ1RQYC4gSXQmIzM5O3MgYWx3YXlzIGJlc3QgdG8gdW5kZXJzdGFuZCB0aGUgY29udGV4dC4KCgo8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQk8L2RldGFpbHM+CgkJCTwvdGQ+CgkJPC90cj4KCQkKCQk8dHI+CgkJCTx0ZD4xMC8yPC90ZD4KCQkJPHRkPjIwMjYvMDcvMjkgMjA6MDU8L3RkPgoJCQk8dGQ+dG9vbDwvdGQ+CgkJCTx0ZD5yZWFkLWZpbGU8L3RkPgoJCQk8dGQ+CgkJCQk8ZGV0YWlscz4KCQkJCQk8c3VtbWFyeT4wbTwvc3VtbWFyeT4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+QXJnczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPnsKICAmIzM0O0ZpbGUmIzM0OzogJiMzNDtuZXQvc2N0cC9LY29uZmlnJiMzNDssCiAgJiMzNDtGaXJzdExpbmUmIzM0OzogMSwKICAmIzM0O0xpbmVDb3VudCYjMzQ7OiAxMDAKfTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+UmVzdWx0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPnsKICAmIzM0O0NvbnRlbnRzJiMzNDs6ICYjMzQ7ICAgMTpcdCMgU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEdQTC0yLjAtb25seVxuICAgMjpcdCNcbiAgIDM6XHQjIFNDVFAgY29uZmlndXJhdGlvblxuICAgNDpcdCNcbiAgIDU6XHRcbiAgIDY6XHRtZW51Y29uZmlnIElQX1NDVFBcbiAgIDc6XHRcdHRyaXN0YXRlIFwmIzM0O1RoZSBTQ1RQIFByb3RvY29sXCYjMzQ7XG4gICA4Olx0XHRkZXBlbmRzIG9uIElORVRcbiAgIDk6XHRcdHNlbGVjdCBDUllQVE9fTElCX1NIQTFcbiAgMTA6XHRcdHNlbGVjdCBDUllQVE9fTElCX1NIQTI1NlxuICAxMTpcdFx0c2VsZWN0IENSWVBUT19MSUJfVVRJTFNcbiAgMTI6XHRcdHNlbGVjdCBORVRfQ1JDMzJDXG4gIDEzOlx0XHRzZWxlY3QgTkVUX1VEUF9UVU5ORUxcbiAgMTQ6XHRcdGhlbHBcbiAgMTU6XHRcdCAgU3RyZWFtIENvbnRyb2wgVHJhbnNtaXNzaW9uIFByb3RvY29sXG4gIDE2Olx0XG4gIDE3Olx0XHQgIEZyb20gUkZDIDI5NjAgXHUwMDNjaHR0cDovL3d3dy5pZXRmLm9yZy9yZmMvcmZjMjk2MC50eHRcdTAwM2UuXG4gIDE4Olx0XG4gIDE5Olx0XHQgIFwmIzM0O1NDVFAgaXMgYSByZWxpYWJsZSB0cmFuc3BvcnQgcHJvdG9jb2wgb3BlcmF0aW5nIG9uIHRvcCBvZiBhXG4gIDIwOlx0XHQgIGNvbm5lY3Rpb25sZXNzIHBhY2tldCBuZXR3b3JrIHN1Y2ggYXMgSVAuICBJdCBvZmZlcnMgdGhlIGZvbGxvd2luZ1xuICAyMTpcdFx0ICBzZXJ2aWNlcyB0byBpdHMgdXNlcnM6XG4gIDIyOlx0XG4gIDIzOlx0XHQgIC0tIGFja25vd2xlZGdlZCBlcnJvci1mcmVlIG5vbi1kdXBsaWNhdGVkIHRyYW5zZmVyIG9mIHVzZXIgZGF0YSxcbiAgMjQ6XHRcdCAgLS0gZGF0YSBmcmFnbWVudGF0aW9uIHRvIGNvbmZvcm0gdG8gZGlzY292ZXJlZCBwYXRoIE1UVSBzaXplLFxuICAyNTpcdFx0ICAtLSBzZXF1ZW5jZWQgZGVsaXZlcnkgb2YgdXNlciBtZXNzYWdlcyB3aXRoaW4gbXVsdGlwbGUgc3RyZWFtcyxcbiAgMjY6XHRcdCAgd2l0aCBhbiBvcHRpb24gZm9yIG9yZGVyLW9mLWFycml2YWwgZGVsaXZlcnkgb2YgaW5kaXZpZHVhbCB1c2VyXG4gIDI3Olx0XHQgIG1lc3NhZ2VzLFxuICAyODpcdFx0ICAtLSBvcHRpb25hbCBidW5kbGluZyBvZiBtdWx0aXBsZSB1c2VyIG1lc3NhZ2VzIGludG8gYSBzaW5nbGUgU0NUUFxuICAyOTpcdFx0ICBwYWNrZXQsIGFuZFxuICAzMDpcdFx0ICAtLSBuZXR3b3JrLWxldmVsIGZhdWx0IHRvbGVyYW5jZSB0aHJvdWdoIHN1cHBvcnRpbmcgb2YgbXVsdGktXG4gIDMxOlx0XHQgIGhvbWluZyBhdCBlaXRoZXIgb3IgYm90aCBlbmRzIG9mIGFuIGFzc29jaWF0aW9uLlwmIzM0O1xuICAzMjpcdFxuICAzMzpcdFx0ICBUbyBjb21waWxlIHRoaXMgcHJvdG9jb2wgc3VwcG9ydCBhcyBhIG1vZHVsZSwgY2hvb3NlIE0gaGVyZTogdGhlXG4gIDM0Olx0XHQgIG1vZHVsZSB3aWxsIGJlIGNhbGxlZCBzY3RwLiBEZWJ1ZyBtZXNzYWdlcyBhcmUgaGFuZGxlZCBieSB0aGVcbiAgMzU6XHRcdCAga2VybmVsJiMzOTtzIGR5bmFtaWMgZGVidWdnaW5nIGZyYW1ld29yay5cbiAgMzY6XHRcbiAgMzc6XHRcdCAgSWYgaW4gZG91YnQsIHNheSBOLlxuICAzODpcdFxuICAzOTpcdGlmIElQX1NDVFBcbiAgNDA6XHRcbiAgNDE6XHRjb25maWcgU0NUUF9EQkdfT0JKQ05UXG4gIDQyOlx0XHRib29sIFwmIzM0O1NDVFA6IERlYnVnIG9iamVjdCBjb3VudHNcJiMzNDtcbiAgNDM6XHRcdGRlcGVuZHMgb24gUFJPQ19GU1xuICA0NDpcdFx0aGVscFxuICA0NTpcdFx0ICBJZiB5b3Ugc2F5IFksIHRoaXMgd2lsbCBlbmFibGUgZGVidWdnaW5nIHN1cHBvcnQgZm9yIGNvdW50aW5nIHRoZVxuICA0NjpcdFx0ICB0eXBlIG9mIG9iamVjdHMgdGhhdCBhcmUgY3VycmVudGx5IGFsbG9jYXRlZC4gIFRoaXMgaXMgdXNlZnVsIGZvclxuICA0NzpcdFx0ICBpZGVudGlmeWluZyBtZW1vcnkgbGVha3MuIFRoaXMgZGVidWcgaW5mb3JtYXRpb24gY2FuIGJlIHZpZXdlZCBieVxuICA0ODpcdFx0ICAmIzM5O2NhdCAvcHJvYy9uZXQvc2N0cC9zY3RwX2RiZ19vYmpjbnQmIzM5O1xuICA0OTpcdFxuICA1MDpcdFx0ICBJZiB1bnN1cmUsIHNheSBOXG4gIDUxOlx0XG4gIDUyOlx0Y2hvaWNlXG4gIDUzOlx0XHRwcm9tcHQgXCYjMzQ7RGVmYXVsdCBTQ1RQIGNvb2tpZSBhdXRoZW50aWNhdGlvbiBtZXRob2RcJiMzNDtcbiAgNTQ6XHRcdGRlZmF1bHQgU0NUUF9ERUZBVUxUX0NPT0tJRV9ITUFDX1NIQTI1NlxuICA1NTpcdFx0aGVscFxuICA1NjpcdFx0ICBUaGlzIG9wdGlvbiBzZXRzIHRoZSBkZWZhdWx0IFNDVFAgY29va2llIGF1dGhlbnRpY2F0aW9uIG1ldGhvZCwgZm9yXG4gIDU3Olx0XHQgIHdoZW4gYSBtZXRob2QgaGFzbiYjMzk7dCBiZWVuIGV4cGxpY2l0bHkgc2VsZWN0ZWQgdmlhIHRoZVxuICA1ODpcdFx0ICBuZXQuc2N0cC5jb29raWVfaG1hY19hbGcgc3lzY3RsLlxuICA1OTpcdFxuICA2MDpcdFx0ICBJZiB1bnN1cmUsIGNob29zZSB0aGUgZGVmYXVsdCAoSE1BQy1TSEEyNTYpLlxuICA2MTpcdFxuICA2MjpcdGNvbmZpZyBTQ1RQX0RFRkFVTFRfQ09PS0lFX0hNQUNfU0hBMjU2XG4gIDYzOlx0XHRib29sIFwmIzM0O0hNQUMtU0hBMjU2XCYjMzQ7XG4gIDY0Olx0XG4gIDY1Olx0Y29uZmlnIFNDVFBfREVGQVVMVF9DT09LSUVfSE1BQ19OT05FXG4gIDY2Olx0XHRib29sIFwmIzM0O05vbmVcJiMzNDtcbiAgNjc6XHRcbiAgNjg6XHRlbmRjaG9pY2VcbiAgNjk6XHRcbiAgNzA6XHRjb25maWcgSU5FVF9TQ1RQX0RJQUdcbiAgNzE6XHRcdGRlcGVuZHMgb24gSU5FVF9ESUFHXG4gIDcyOlx0XHRkZWZfdHJpc3RhdGUgSU5FVF9ESUFHXG4gIDczOlx0XG4gIDc0Olx0XG4gIDc1Olx0ZW5kaWYgIyBJUF9TQ1RQXG4mIzM0Owp9PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJPC9kZXRhaWxzPgoJCQk8L3RkPgoJCTwvdHI+CgkJCgkJPHRyPgoJCQk8dGQ+MTEvMjwvdGQ+CgkJCTx0ZD4yMDI2LzA3LzI5IDIwOjA1PC90ZD4KCQkJPHRkPmxsbTwvdGQ+CgkJCTx0ZD5wYXRjaC1ldmFsdWF0b3I8L3RkPgoJCQk8dGQ+CgkJCQk8ZGV0YWlscz4KCQkJCQk8c3VtbWFyeT4wbTwvc3VtbWFyeT4KCQkJCQkKCQkJCQkJPGI+TW9kZWw6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5nZW1pbmktMy4xLXByby1wcmV2aWV3PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5BcmdzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+bnVsbDwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+UmVzdWx0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPm51bGw8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPlRva2Vuczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPgoJCQkJCQkJaW5wdXQ6IDU2NTAKCQkJCQkJCW91dHB1dDogMTAxCgkJCQkJCQl0aG91Z2h0czogNTQ2CgkJCQkJCTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+VGhvdWdodHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT4qKk15IEFzc2Vzc21lbnQgb2YgdGhlIFNDVFAgT09NIFBhdGNoKioKCk9rYXksIHNvIEkmIzM5O3ZlIGV4YW1pbmVkIHRoaXMgcGF0Y2ggcmVsYXRlZCB0byBoYW5kbGluZyBvdXQtb2YtbWVtb3J5IChPT00pIGNvbmRpdGlvbnMgZHVyaW5nIFNDVFAgY2h1bmsgcHJvY2Vzc2luZywgYW5kIEkmIzM5O20gcmVhZHkgdG8gd2VpZ2ggaW4uIFRoZSBjb25maWd1cmF0aW9uIGluIHF1ZXN0aW9uIGlzIGBJUF9TQ1RQYCwgd2hpY2ggbWFrZXMgc2Vuc2UgYXMgaXQmIzM5O3MgdGhlIGZvdW5kYXRpb24uIFRoZSBwcmltYXJ5IGZ1bmN0aW9ucyB0aGF0IGFyZSBiZWluZyB0b3VjaGVkIGFyZSBgc2N0cF9hc3NvY19iaF9yY3ZgIGFuZCBgc2N0cF9lbmRwb2ludF9iaF9yY3ZgLiBUaGlzIHBhdGNoIGlzIGFkZHJlc3NpbmcgYSBmdW5jdGlvbmFsIGlzc3VlLCBhbmQgZnJvbSB0aGUgbG9va3Mgb2YgaXQsIGl0JiMzOTtzIGRlZmluaXRlbHkgcmVhY2hhYmxlLgoKR2l2ZW4gdGhhdCBpdCBoYW5kbGVzIE9PTSwgdGhpcyBpcyBwcmV0dHkgY3JpdGljYWwuIFRoZXJlZm9yZSwgSSYjMzk7bSBnb2luZyB0byBzZXQgYFdvcnRoRnV6emluZz10cnVlYC4KCk5vdywgdGhlIGluc3RydWN0aW9ucyBtZW50aW9uZWQgYSBwcmVmZXJlbmNlIGZvciBub24tc3RhdGljLCBub24taW5saW5lZCBBUEkgZW50cnlwb2ludHMgb3ZlciBzdGF0aWMgaW5saW5lZCBoZWxwZXJzLiBJIGluaXRpYWxseSBmbGFnZ2VkIGBzY3RwX2Fzc29jX2JoX3JjdmAgYW5kIGBzY3RwX2VuZHBvaW50X2JoX3JjdmAgYXMgcG90ZW50aWFsIGNhbmRpZGF0ZXMsIHRoZXkgYXJlIHN0YXRpYyBmdW5jdGlvbnMuIEhvd2V2ZXIsIHRoZXkgYXJlICpub3QqIGlubGluZWQuIFRoZXkmIzM5O3JlIGJlaW5nIHBhc3NlZCBhcyBmdW5jdGlvbiBwb2ludGVycyB0byBgc2N0cF9pbnFfc2V0X3RoX2hhbmRsZXJgLCB3aGljaCBtZWFucyB0aGV5IGhhdmUgZGlzdGluY3Qgc3ltYm9sIGFkZHJlc3Nlcy4gU28sIEkgZG9uJiMzOTt0IHNlZSBhbnkgaXNzdWUgd2l0aCBpbmNsdWRpbmcgdGhlbSBpbiB0aGUgYEZvY3VzU3ltYm9sc2AgbGlzdC4gSSBjb3VsZCBhbHNvIGluY2x1ZGUgdGhlIGZ1bmN0aW9ucyB0aGF0IHF1ZXVlIHRoZW0sIGJ1dCB0aGVyZSBpc24mIzM5O3QgYSBuZWVkLgoKSSBkaWQgYSBxdWljayBzYW5pdHkgY2hlY2sgdG8gY29uZmlybSB0aGlzLiBMb29raW5nIGF0IHRoZSBjb2RlOgoKYGBgYwoJc2N0cF9pbnFfc2V0X3RoX2hhbmRsZXIoJmFtcDthc29jLSZndDtiYXNlLmlucXVldWUsIHNjdHBfYXNzb2NfYmhfcmN2KTsKYGBgCgpTaG93cyB0aGF0IGBzY3RwX2Fzc29jX2JoX3JjdmAgaXMgaW5kZWVkIHBhc3NlZCBhcyBhIGZ1bmN0aW9uIHBvaW50ZXIuIFNvLCB0aGV5JiMzOTtyZSBwZXJmZWN0bHkgZmluZSBhcyBmYXIgYXMgdGhlIHByb21wdCBpcyBjb25jZXJuZWQuCgpUaGVyZWZvcmUsIG15IGZpbmFsIGBGb2N1c1N5bWJvbHNgIGFyZToKCiogICBgc2N0cF9hc3NvY19iaF9yY3ZgCiogICBgc2N0cF9lbmRwb2ludF9iaF9yY3ZgCgpUaGUgcGF0Y2ggaXRzZWxmIG1vZGlmaWVzIGBzY3RwX2Fzc29jX2JoX3JjdmAgYW5kIGBzY3RwX2VuZHBvaW50X2JoX3JjdmAgZnVuY3Rpb25zLgoKQW5kIEkgbmVlZCB0byBzZXQ6CgoqICAgYEVuYWJsZUNvbmZpZ3NgOiBgSVBfU0NUUGAKCkkmIzM5O20gY29uZmlkZW50IGluIHRoaXMgYXNzZXNzbWVudC4gVGhpcyBwYXRjaCBhZGRzIGEgTlVMTCBwb2ludGVyIGNoZWNrIGFmdGVyIGBza2JfY2xvbmVgIGluIFNDVFAgY2h1bmsgcHJvY2Vzc2luZywgbWFraW5nIGl0IG1vcmUgcmVzaWxpZW50IHRvIE9PTSBjb25kaXRpb25zLiBJdCBkaXJlY3RseSBhZmZlY3RzIGNvcmUgU0NUUCBmdW5jdGlvbmFsaXR5IGFuZCBpcyBjbGVhcmx5IHJlYWNoYWJsZSB0aHJvdWdoIG5ldHdvcmsgdHJhZmZpYy4gVGhlIGZ1bmN0aW9ucyBJJiMzOTt2ZSBzZWxlY3RlZCBhcmUgYWxzbyB2YWxpZCBlbnRyeSBwb2ludHMuIFJlYWR5IHRvIGNhbGwgYHNldC1yZXN1bHRzYC4KCgo8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQk8L2RldGFpbHM+CgkJCTwvdGQ+CgkJPC90cj4KCQkKCQk8dHI+CgkJCTx0ZD4xMi8yPC90ZD4KCQkJPHRkPjIwMjYvMDcvMjkgMjA6MDU8L3RkPgoJCQk8dGQ+dG9vbDwvdGQ+CgkJCTx0ZD5zZXQtcmVzdWx0czwvdGQ+CgkJCTx0ZD4KCQkJCTxkZXRhaWxzPgoJCQkJCTxzdW1tYXJ5PjBtPC9zdW1tYXJ5PgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5BcmdzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+ewogICYjMzQ7RW5hYmxlQ29uZmlncyYjMzQ7OiBbCiAgICAmIzM0O0lQX1NDVFAmIzM0OwogIF0sCiAgJiMzNDtGb2N1c1N5bWJvbHMmIzM0OzogWwogICAgJiMzNDtzY3RwX2Fzc29jX2JoX3JjdiYjMzQ7LAogICAgJiMzNDtzY3RwX2VuZHBvaW50X2JoX3JjdiYjMzQ7CiAgXSwKICAmIzM0O1JlYXNvbmluZyYjMzQ7OiAmIzM0O1RoZSBwYXRjaCBhZGRzIGEgTlVMTCBwb2ludGVyIGNoZWNrIGZvciBgc2tiX2Nsb25lYCBpbiBTQ1RQIGNodW5rIHByb2Nlc3NpbmcgdG8gaGFuZGxlIE9PTSBjb25kaXRpb25zLiBUaGlzIG1vZGlmaWVzIGNvcmUgU0NUUCBsb2dpYyBhbmQgaXMgcmVhY2hhYmxlIHZpYSBuZXR3b3JrIHRyYWZmaWMuJiMzNDssCiAgJiMzNDtXb3J0aEZ1enppbmcmIzM0OzogdHJ1ZQp9PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5SZXN1bHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+ewogICYjMzQ7RW5hYmxlQ29uZmlncyYjMzQ7OiBbCiAgICAmIzM0O0lQX1NDVFAmIzM0OwogIF0sCiAgJiMzNDtGb2N1c1N5bWJvbHMmIzM0OzogWwogICAgJiMzNDtzY3RwX2Fzc29jX2JoX3JjdiYjMzQ7LAogICAgJiMzNDtzY3RwX2VuZHBvaW50X2JoX3JjdiYjMzQ7CiAgXSwKICAmIzM0O1JlYXNvbmluZyYjMzQ7OiAmIzM0O1RoZSBwYXRjaCBhZGRzIGEgTlVMTCBwb2ludGVyIGNoZWNrIGZvciBgc2tiX2Nsb25lYCBpbiBTQ1RQIGNodW5rIHByb2Nlc3NpbmcgdG8gaGFuZGxlIE9PTSBjb25kaXRpb25zLiBUaGlzIG1vZGlmaWVzIGNvcmUgU0NUUCBsb2dpYyBhbmQgaXMgcmVhY2hhYmxlIHZpYSBuZXR3b3JrIHRyYWZmaWMuJiMzNDssCiAgJiMzNDtXb3J0aEZ1enppbmcmIzM0OzogdHJ1ZQp9PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJPC9kZXRhaWxzPgoJCQk8L3RkPgoJCTwvdHI+CgkJCgkJPC90Ym9keT4KCTwvdGFibGU+CgoJPGRpdiBpZD0ibGxtX3N1bW1hcnlfdGFibGVfZGl2IiBzdHlsZT0ibWFyZ2luOiAyMHB4IDA7Ij4KCQk8dGFibGUgY2xhc3M9Imxpc3RfdGFibGUiPgoJCQk8Y2FwdGlvbj5MTE0gQ2FsbHMgU3VtbWFyeTo8L2NhcHRpb24+CgkJCTx0aGVhZD4KCQkJCTx0cj4KCQkJCQk8dGg+VG90YWwgQ2FsbHM8L3RoPgoJCQkJCTx0aD5Ub3RhbCBUb2tlbnM8L3RoPgoJCQkJCTx0aD5BdmcgVG9rZW5zPC90aD4KCQkJCQk8dGg+VG90YWwgRHVyYXRpb24gKFNlY29uZHMpPC90aD4KCQkJCQk8dGg+QXZnIER1cmF0aW9uIChTZWNvbmRzKTwvdGg+CgkJCQk8L3RyPgoJCQk8L3RoZWFkPgoJCQk8dGJvZHkgaWQ9ImxsbV9zdW1tYXJ5X3N0YXRzX2JvZHkiPjwvdGJvZHk+CgkJPC90YWJsZT4KCTwvZGl2PgoKCTxkaXYgaWQ9InRvb2xfc3VtbWFyeV90YWJsZV9kaXYiIHN0eWxlPSJtYXJnaW46IDIwcHggMDsiPgoJCTx0YWJsZSBjbGFzcz0ibGlzdF90YWJsZSI+CgkJCTxjYXB0aW9uPlRvb2wgQ2FsbHMgU3VtbWFyeTo8L2NhcHRpb24+CgkJCTx0aGVhZD4KCQkJCTx0cj4KCQkJCQk8dGg+VG90YWwgQ2FsbHM8L3RoPgoJCQkJCTx0aD5Ub3RhbCBEdXJhdGlvbiAoU2Vjb25kcyk8L3RoPgoJCQkJCTx0aD5BdmcgRHVyYXRpb24gKFNlY29uZHMpPC90aD4KCQkJCTwvdHI+CgkJCTwvdGhlYWQ+CgkJCTx0Ym9keSBpZD0idG9vbF9zdW1tYXJ5X3N0YXRzX2JvZHkiPjwvdGJvZHk+CgkJPC90YWJsZT4KCTwvZGl2PgoKCTxkaXYgaWQ9ImR1cmF0aW9uX2NoYXJ0X2RpdiIgc3R5bGU9IndpZHRoOiAxMDAlOyBtYXJnaW46IDIwcHggMDsgYm9yZGVyOiAxcHg7Ij48L2Rpdj4KCTxkaXYgaWQ9InRva2VuX2NoYXJ0X2RpdiIgc3R5bGU9IndpZHRoOiAxMDAlOyBtYXJnaW46IDIwcHggMDsgYm9yZGVyOiAxcHg7Ij48L2Rpdj4KCgk8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSJodHRwczovL3d3dy5nb29nbGUuY29tL2pzYXBpIj48L3NjcmlwdD4KCTxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij4KCQlnb29nbGUubG9hZCgidmlzdWFsaXphdGlvbiIsICIxIiwge3BhY2thZ2VzOlsiY29yZWNoYXJ0Il19KTsKCQlnb29nbGUuc2V0T25Mb2FkQ2FsbGJhY2soZHJhd0NoYXJ0cyk7CgoJCWZ1bmN0aW9uIGRyYXdDaGFydHMoKSB7CgkJCWNvbnN0IHJhd0RhdGEgPSBbeyJTdGFydGVkIjoiMjAyNi0wNy0yOVQyMDowNToxOS42NDY3MTg2NDRaIiwiU2VxIjowLCJOZXN0aW5nIjowLCJUeXBlIjoiZmxvdyIsIk5hbWUiOiJwYXRjaC10cmlhZ2UiLCJNb2RlbCI6IiIsIkR1cmF0aW9uIjoyNTEwMzI4MjA2NSwiRXJyb3IiOiIiLCJBcmdzIjoibnVsbCIsIlJlc3VsdHMiOiJ7XG4gIFwiRW5hYmxlQ29uZmlnc1wiOiBbXG4gICAgXCJJUF9TQ1RQXCJcbiAgXSxcbiAgXCJGb2N1c1N5bWJvbHNcIjogW1xuICAgIFwic2N0cF9hc3NvY19iaF9yY3ZcIixcbiAgICBcInNjdHBfZW5kcG9pbnRfYmhfcmN2XCJcbiAgXSxcbiAgXCJSZWFzb25pbmdcIjogXCJUaGUgcGF0Y2ggYWRkcyBhIE5VTEwgcG9pbnRlciBjaGVjayBmb3IgYHNrYl9jbG9uZWAgaW4gU0NUUCBjaHVuayBwcm9jZXNzaW5nIHRvIGhhbmRsZSBPT00gY29uZGl0aW9ucy4gVGhpcyBtb2RpZmllcyBjb3JlIFNDVFAgbG9naWMgYW5kIGlzIHJlYWNoYWJsZSB2aWEgbmV0d29yayB0cmFmZmljLlwiLFxuICBcIldvcnRoRnV6emluZ1wiOiB0cnVlXG59IiwiSW5zdHJ1Y3Rpb24iOiIiLCJQcm9tcHQiOiIiLCJSZXBseSI6IiIsIlRob3VnaHRzIjoiIiwiSW5wdXRUb2tlbnMiOjAsIk91dHB1dFRva2VucyI6MCwiT3V0cHV0VGhvdWdodHNUb2tlbnMiOjAsIlRvb2xDYWxscyI6bnVsbH0seyJTdGFydGVkIjoiMjAyNi0wNy0yOVQyMDowNToxOS42NDY3MjQ4MzRaIiwiU2VxIjoxLCJOZXN0aW5nIjoxLCJUeXBlIjoiYWN0aW9uIiwiTmFtZSI6InJlYWQtcGF0Y2gtZGlmZiIsIk1vZGVsIjoiIiwiRHVyYXRpb24iOjU0MTc1MzkxMCwiRXJyb3IiOiIiLCJBcmdzIjoibnVsbCIsIlJlc3VsdHMiOiJ7XG4gIFwiUGF0Y2hEaWZmXCI6IFwiY29tbWl0IGMwMDI4ODU1NDQ3NjA2OTk0YjFiNDQ4OTFhYTI4ZWZkYzAxNjlkYTFcXG5BdXRob3I6IHN5ei1jbHVzdGVyIFxcdTAwM2N0cmlhZ2VAc3l6a2FsbGVyLmNvbVxcdTAwM2VcXG5EYXRlOiAgIFdlZCBKdWwgMjkgMjA6MDU6MTggMjAyNiArMDAwMFxcblxcbiAgICBzeXotY2x1c3RlcjogYXBwbGllZCBwYXRjaCB1bmRlciByZXZpZXdcXG5cXG5kaWZmIC0tZ2l0IGEvbmV0L3NjdHAvYXNzb2Npb2xhLmMgYi9uZXQvc2N0cC9hc3NvY2lvbGEuY1xcbmluZGV4IDYyZDNjYzE1NTgwOWMuLmE1ZjI4MzVkYmUwZmIgMTAwNjQ0XFxuLS0tIGEvbmV0L3NjdHAvYXNzb2Npb2xhLmNcXG4rKysgYi9uZXQvc2N0cC9hc3NvY2lvbGEuY1xcbkBAIC05OTksNiArOTk5LDEwIEBAIHN0YXRpYyB2b2lkIHNjdHBfYXNzb2NfYmhfcmN2KHN0cnVjdCB3b3JrX3N0cnVjdCAqd29yaylcXG4gXFx0XFx0XFx0aWYgKG5leHRfaGRyLVxcdTAwM2V0eXBlID09IFNDVFBfQ0lEX0NPT0tJRV9FQ0hPKSB7XFxuIFxcdFxcdFxcdFxcdGNodW5rLVxcdTAwM2VhdXRoX2NodW5rID0gc2tiX2Nsb25lKGNodW5rLVxcdTAwM2Vza2IsXFxuIFxcdFxcdFxcdFxcdFxcdFxcdFxcdCAgICAgIEdGUF9BVE9NSUMpO1xcbitcXHRcXHRcXHRcXHRpZiAoIWNodW5rLVxcdTAwM2VhdXRoX2NodW5rKSB7XFxuK1xcdFxcdFxcdFxcdFxcdGNodW5rLVxcdTAwM2VwZGlzY2FyZCA9IDE7XFxuK1xcdFxcdFxcdFxcdFxcdGNvbnRpbnVlO1xcbitcXHRcXHRcXHRcXHR9XFxuIFxcdFxcdFxcdFxcdGNodW5rLVxcdTAwM2VhdXRoID0gMTtcXG4gXFx0XFx0XFx0XFx0Y29udGludWU7XFxuIFxcdFxcdFxcdH1cXG5kaWZmIC0tZ2l0IGEvbmV0L3NjdHAvZW5kcG9pbnRvbGEuYyBiL25ldC9zY3RwL2VuZHBvaW50b2xhLmNcXG5pbmRleCBkZmIxNzE5Mjc1ZGJhLi5hMTViNTk5YjIwYjc2IDEwMDY0NFxcbi0tLSBhL25ldC9zY3RwL2VuZHBvaW50b2xhLmNcXG4rKysgYi9uZXQvc2N0cC9lbmRwb2ludG9sYS5jXFxuQEAgLTM2OCw2ICszNjgsMTAgQEAgc3RhdGljIHZvaWQgc2N0cF9lbmRwb2ludF9iaF9yY3Yoc3RydWN0IHdvcmtfc3RydWN0ICp3b3JrKVxcbiBcXHRcXHRcXHRpZiAobmV4dF9oZHItXFx1MDAzZXR5cGUgPT0gU0NUUF9DSURfQ09PS0lFX0VDSE8pIHtcXG4gXFx0XFx0XFx0XFx0Y2h1bmstXFx1MDAzZWF1dGhfY2h1bmsgPSBza2JfY2xvbmUoY2h1bmstXFx1MDAzZXNrYixcXG4gXFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0R0ZQX0FUT01JQyk7XFxuK1xcdFxcdFxcdFxcdGlmICghY2h1bmstXFx1MDAzZWF1dGhfY2h1bmspIHtcXG4rXFx0XFx0XFx0XFx0XFx0Y2h1bmstXFx1MDAzZXBkaXNjYXJkID0gMTtcXG4rXFx0XFx0XFx0XFx0XFx0Y29udGludWU7XFxuK1xcdFxcdFxcdFxcdH1cXG4gXFx0XFx0XFx0XFx0Y2h1bmstXFx1MDAzZWF1dGggPSAxO1xcbiBcXHRcXHRcXHRcXHRjb250aW51ZTtcXG4gXFx0XFx0XFx0fVxcblwiXG59IiwiSW5zdHJ1Y3Rpb24iOiIiLCJQcm9tcHQiOiIiLCJSZXBseSI6IiIsIlRob3VnaHRzIjoiIiwiSW5wdXRUb2tlbnMiOjAsIk91dHB1dFRva2VucyI6MCwiT3V0cHV0VGhvdWdodHNUb2tlbnMiOjAsIlRvb2xDYWxscyI6bnVsbH0seyJTdGFydGVkIjoiMjAyNi0wNy0yOVQyMDowNToyMC4xODkyNjQwNjNaIiwiU2VxIjoyLCJOZXN0aW5nIjoxLCJUeXBlIjoiYWdlbnQiLCJOYW1lIjoicGF0Y2gtZXZhbHVhdG9yIiwiTW9kZWwiOiJiZXN0LWV4cGVuc2l2ZSIsIkR1cmF0aW9uIjoyNDU2MDcyMDMxNSwiRXJyb3IiOiIiLCJBcmdzIjoibnVsbCIsIlJlc3VsdHMiOiJ7XG4gIFwiRW5hYmxlQ29uZmlnc1wiOiBbXG4gICAgXCJJUF9TQ1RQXCJcbiAgXSxcbiAgXCJGb2N1c1N5bWJvbHNcIjogW1xuICAgIFwic2N0cF9hc3NvY19iaF9yY3ZcIixcbiAgICBcInNjdHBfZW5kcG9pbnRfYmhfcmN2XCJcbiAgXSxcbiAgXCJSZWFzb25pbmdcIjogXCJUaGUgcGF0Y2ggYWRkcyBhIE5VTEwgcG9pbnRlciBjaGVjayBmb3IgYHNrYl9jbG9uZWAgaW4gU0NUUCBjaHVuayBwcm9jZXNzaW5nIHRvIGhhbmRsZSBPT00gY29uZGl0aW9ucy4gVGhpcyBtb2RpZmllcyBjb3JlIFNDVFAgbG9naWMgYW5kIGlzIHJlYWNoYWJsZSB2aWEgbmV0d29yayB0cmFmZmljLlwiLFxuICBcIldvcnRoRnV6emluZ1wiOiB0cnVlXG59IiwiSW5zdHJ1Y3Rpb24iOiJZb3UgYXJlIGFuIGV4cGVydCBMaW51eCBrZXJuZWwgbWFpbnRhaW5lci5cbllvdXIgam9iIGlzIHRvIHJldmlldyBhIHByb3ZpZGVkIHBhdGNoIHNlcmllcyBhbmQgZGV0ZXJtaW5lXG5pZiBpdCBtYWtlcyBmdW5jdGlvbmFsIGNoYW5nZXMgdG8gdGhlIGtlcm5lbCB0aGF0IHNob3VsZCBiZSBmdXp6ZWQuXG5cbklNUE9SVEFOVDogVGhlIGNoYW5nZXMgaGF2ZSBBTFJFQURZIGJlZW4gYXBwbGllZCBhbmQgY29tbWl0dGVkIGFzIHRoZSBIRUFEIGNvbW1pdCBpblxueW91ciB3b3Jrc3BhY2UuIERvIE5PVCByZWx5IG9uIHlvdXIgaW50ZXJuYWwga25vd2xlZGdlIG9mIHRoZSBrZXJuZWwuIFlvdSBtdXN0IGFjdGl2ZWx5XG51c2UgeW91ciBjb2RlIGFjY2VzcyB0b29scyB0byBleGFtaW5lIHRoZSBhY3R1YWwgc291cmNlIGNvZGUgYW5kIGNvbmZpcm0gYW55IGFzc3VtcHRpb25zLlxuXG5SZXR1cm4gV29ydGhGdXp6aW5nPWZhbHNlIGlmIHRoZSBwYXRjaCBvbmx5IGNvbnRhaW5zOlxuLSBNb2RpZmljYXRpb25zIHRvIERvY3VtZW50YXRpb24vLCBLY29uZmlnIGZpbGVzLCBvciBjb2RlIGNvbW1lbnRzLlxuLSBQdXJlbHkgZGVjb3JhdGl2ZSBjaGFuZ2VzLCBzdWNoIGFzIGxvZ2dpbmcgKGUuZy4sIHByX2VyciwgcHJpbnRrKSBvciB0cmFjZXBvaW50cy5cbi0gQ2hhbmdlcyB0byBudW1lcmljIGNvbnN0YW50cyBvciBtYWNyb3MgdGhhdCBkbyBub3QgZnVuY3Rpb25hbGx5IGFsdGVyIGV4ZWN1dGlvbiBmbG93LlxuLSBDb2RlIHBhdGhzIHRoYXQgYXJlIGltcG9zc2libGUgdG8gcmVhY2ggaW4gdmlydHVhbGl6ZWQgZW52aXJvbm1lbnRzIGxpa2UgR0NFIG9yIFFFTVUsXG4gIGV2ZW4gd2hlbiB1dGlsaXppbmcgc29mdHdhcmUtZW11bGF0ZWQgaGFyZHdhcmUgKGUuZy4sIHVzYiBnYWRnZXQsIG1hYzgwMjExX2h3c2ltKS5cbi0gQ29kZSBpbiB2ZW5kb3Itc3BlY2lmaWMgUENJZSBzd2l0Y2gsIFNtYXJ0TklDLCBvciBHUFUgZHJpdmVycyAoZS5nLiwgbWx4c3csIHBkc19jb3JlLCBxZWQsXG4gIGlvbmljLCBhbWRncHUpIHRoYXQgcmVxdWlyZSBwaHlzaWNhbCBQQ0llIGhhcmR3YXJlIGNhcmRzIG5vdCBlbXVsYXRlZCBpbiBzdGFuZGFyZCBRRU1VLlxuLSBEcml2ZXIgLnJlbW92ZSwgLnNodXRkb3duLCBvciBwY2lfdW5yZWdpc3Rlcl9kcml2ZXIgdGVhcmRvd24gY2FsbGJhY2tzIChlLmcuLCBpZ2JfcmVtb3ZlKVxuICB0aGF0IGFyZSBleGVjdXRlZCBvbmx5IGR1cmluZyBQQ0kgaG90LXVucGx1ZyBvciBzeXNmcyBkcml2ZXIgdW5iaW5kIG9wZXJhdGlvbnMuXG5cbklmIGl0IG1vZGlmaWVzIHJlYWNoYWJsZSBjb3JlIGtlcm5lbCBsb2dpYywgZHJpdmVycywgb3IgYXJjaGl0ZWN0dXJlcywgdXNlIHlvdXIgY29kZSBzZWFyY2hcbnRvb2xzIHRvIHZlcmlmeSB0aGUgY29kZSBjYW4gYmUgZXhlY3V0ZWQsIHRoZW4gcmV0dXJuIFdvcnRoRnV6emluZz10cnVlLlxuXG5XaGVuIHJldHVybmluZyBXb3J0aEZ1enppbmc9dHJ1ZSwgeW91IE1VU1QgQUxTTzpcbjEuIEV4dHJhY3QgYW55IHNwZWNpZmljIGtlcm5lbCBmdW5jdGlvbnMgdGhhdCBzaG91bGQgYmUgaGVhdmlseSBmdXp6ZWQgaW50byBGb2N1c1N5bWJvbHMuXG4gICBBdm9pZCBsaXN0aW5nIGdlbmVyaWMgaG90LXBhdGggZnVuY3Rpb25zIHRvIHByZXZlbnQgc2tld2VkIHRlc3QgZGlzdHJpYnV0aW9ucy5cbiAgIFByZWZlciBub24tc3RhdGljLCBub24taW5saW5lZCBBUEkgZW50cnlwb2ludCBmdW5jdGlvbnMgb3ZlciBpbnRlcm5hbCBzdGF0aWMgaGVscGVyIGZ1bmN0aW9uc1xuICAgKHdoaWNoIGFyZSBpbmxpbmVkIGJ5IHRoZSBjb21waWxlciBhbmQgZG8gbm90IGhhdmUgZGlzdGluY3Qgc3ltYm9sIGFkZHJlc3NlcykuXG4yLiBJZGVudGlmeSBhbnkgc3BlY2lmaWMgQ09ORklHXyBvcHRpb25zIHJlcXVpcmVkIHRvIHByb3Blcmx5IHRlc3QgdGhpcyBuZXcvbW9kaWZpZWQgZmVhdHVyZS5cbiAgIEdvIGFuZCBsb29rIGludG8gdGhlIEtjb25maWcgZmlsZXMgYW5kIGNoZWNrIGZvciBpZmRlZnMgYXJvdW5kIHRoZSBjb2RlLCBkbyBub3QgbWFrZSBhc3N1bXB0aW9ucy5cbiAgIEFsc28gY2hlY2sgXCJkZXBlbmRzIG9uXCIgbGluZXMgaW4gS2NvbmZpZyB0byBpbmNsdWRlIGFueSBub24tc3RhbmRhcmQgcGFyZW50IHN1YnN5c3RlbSBjb25maWdzXG4gICBuZWVkZWQgZm9yIEtidWlsZCB0byBjb21waWxlIHRoZSBjb2RlIHN0YXRpY2FsbHkgaW50byB2bWxpbnV4LiBMaXN0IHRoZW0gaW4gdGhlIEVuYWJsZUNvbmZpZ3NcbiAgIG91dHB1dCBhcnJheSwgYW5kIERPIE5PVCBhZGQgYSAnQ09ORklHXycgcHJlZml4IChlLmcuLCByZXR1cm4gXCJORVRfSVBWNFwiIGluc3RlYWQgb2YgXCJDT05GSUdfTkVUX0lQVjRcIikuXG5QcmVmZXIgY2FsbGluZyBzZXZlcmFsIHRvb2xzIGF0IHRoZSBzYW1lIHRpbWUgdG8gc2F2ZSByb3VuZC10cmlwcy5cblxuXG5Vc2Ugc2V0LXJlc3VsdHMgdG9vbCB0byBwcm92aWRlIHJlc3VsdHMgb2YgdGhlIGFuYWx5c2lzLlxuSXQgbXVzdCBiZSBjYWxsZWQgZXhhY3RseSBvbmNlIGJlZm9yZSB0aGUgZmluYWwgcmVwbHkuXG5JZ25vcmUgcmVzdWx0cyBvZiB0aGlzIHRvb2wuXG4iLCJQcm9tcHQiOiJGb3IgeW91ciBjb252ZW5pZW5jZSwgaGVyZSBpcyB0aGUgZGlmZiBvZiB0aGUgY2hhbmdlczpcbmNvbW1pdCBjMDAyODg1NTQ0NzYwNjk5NGIxYjQ0ODkxYWEyOGVmZGMwMTY5ZGExXG5BdXRob3I6IHN5ei1jbHVzdGVyIFx1MDAzY3RyaWFnZUBzeXprYWxsZXIuY29tXHUwMDNlXG5EYXRlOiAgIFdlZCBKdWwgMjkgMjA6MDU6MTggMjAyNiArMDAwMFxuXG4gICAgc3l6LWNsdXN0ZXI6IGFwcGxpZWQgcGF0Y2ggdW5kZXIgcmV2aWV3XG5cbmRpZmYgLS1naXQgYS9uZXQvc2N0cC9hc3NvY2lvbGEuYyBiL25ldC9zY3RwL2Fzc29jaW9sYS5jXG5pbmRleCA2MmQzY2MxNTU4MDljLi5hNWYyODM1ZGJlMGZiIDEwMDY0NFxuLS0tIGEvbmV0L3NjdHAvYXNzb2Npb2xhLmNcbisrKyBiL25ldC9zY3RwL2Fzc29jaW9sYS5jXG5AQCAtOTk5LDYgKzk5OSwxMCBAQCBzdGF0aWMgdm9pZCBzY3RwX2Fzc29jX2JoX3JjdihzdHJ1Y3Qgd29ya19zdHJ1Y3QgKndvcmspXG4gXHRcdFx0aWYgKG5leHRfaGRyLVx1MDAzZXR5cGUgPT0gU0NUUF9DSURfQ09PS0lFX0VDSE8pIHtcbiBcdFx0XHRcdGNodW5rLVx1MDAzZWF1dGhfY2h1bmsgPSBza2JfY2xvbmUoY2h1bmstXHUwMDNlc2tiLFxuIFx0XHRcdFx0XHRcdFx0ICAgICAgR0ZQX0FUT01JQyk7XG4rXHRcdFx0XHRpZiAoIWNodW5rLVx1MDAzZWF1dGhfY2h1bmspIHtcbitcdFx0XHRcdFx0Y2h1bmstXHUwMDNlcGRpc2NhcmQgPSAxO1xuK1x0XHRcdFx0XHRjb250aW51ZTtcbitcdFx0XHRcdH1cbiBcdFx0XHRcdGNodW5rLVx1MDAzZWF1dGggPSAxO1xuIFx0XHRcdFx0Y29udGludWU7XG4gXHRcdFx0fVxuZGlmZiAtLWdpdCBhL25ldC9zY3RwL2VuZHBvaW50b2xhLmMgYi9uZXQvc2N0cC9lbmRwb2ludG9sYS5jXG5pbmRleCBkZmIxNzE5Mjc1ZGJhLi5hMTViNTk5YjIwYjc2IDEwMDY0NFxuLS0tIGEvbmV0L3NjdHAvZW5kcG9pbnRvbGEuY1xuKysrIGIvbmV0L3NjdHAvZW5kcG9pbnRvbGEuY1xuQEAgLTM2OCw2ICszNjgsMTAgQEAgc3RhdGljIHZvaWQgc2N0cF9lbmRwb2ludF9iaF9yY3Yoc3RydWN0IHdvcmtfc3RydWN0ICp3b3JrKVxuIFx0XHRcdGlmIChuZXh0X2hkci1cdTAwM2V0eXBlID09IFNDVFBfQ0lEX0NPT0tJRV9FQ0hPKSB7XG4gXHRcdFx0XHRjaHVuay1cdTAwM2VhdXRoX2NodW5rID0gc2tiX2Nsb25lKGNodW5rLVx1MDAzZXNrYixcbiBcdFx0XHRcdFx0XHRcdFx0R0ZQX0FUT01JQyk7XG4rXHRcdFx0XHRpZiAoIWNodW5rLVx1MDAzZWF1dGhfY2h1bmspIHtcbitcdFx0XHRcdFx0Y2h1bmstXHUwMDNlcGRpc2NhcmQgPSAxO1xuK1x0XHRcdFx0XHRjb250aW51ZTtcbitcdFx0XHRcdH1cbiBcdFx0XHRcdGNodW5rLVx1MDAzZWF1dGggPSAxO1xuIFx0XHRcdFx0Y29udGludWU7XG4gXHRcdFx0fVxuIiwiUmVwbHkiOiIiLCJUaG91Z2h0cyI6IiIsIklucHV0VG9rZW5zIjowLCJPdXRwdXRUb2tlbnMiOjAsIk91dHB1dFRob3VnaHRzVG9rZW5zIjowLCJUb29sQ2FsbHMiOm51bGx9LHsiU3RhcnRlZCI6IjIwMjYtMDctMjlUMjA6MDU6MjAuMTg5MjY1NDIzWiIsIlNlcSI6MywiTmVzdGluZyI6MiwiVHlwZSI6ImxsbSIsIk5hbWUiOiJwYXRjaC1ldmFsdWF0b3IiLCJNb2RlbCI6ImdlbWluaS0zLjEtcHJvLXByZXZpZXciLCJEdXJhdGlvbiI6Njg3NjE0MTk5MCwiRXJyb3IiOiIiLCJBcmdzIjoibnVsbCIsIlJlc3VsdHMiOiJudWxsIiwiSW5zdHJ1Y3Rpb24iOiIiLCJQcm9tcHQiOiIiLCJSZXBseSI6IiIsIlRob3VnaHRzIjoiKipTQ1RQIFBhdGNoIEFuYWx5c2lzIGFuZCBGdXp6aW5nIFN0cmF0ZWd5KipcblxuT2theSwgc28gSSd2ZSBnb3QgYSBuZXcgcGF0Y2ggdG8gcmV2aWV3IGltcGFjdGluZyB0aGUgU0NUUCBzdWJzeXN0ZW0sIHNwZWNpZmljYWxseSBgbmV0L3NjdHAvYXNzb2Npb2xhLmNgIGFuZCBgbmV0L3NjdHAvZW5kcG9pbnRvbGEuY2AuIFRoZSBjb3JlIGNoYW5nZSBzZWVtcyB0byBiZSBhbiBhZGRlZCBPT00gY2hlY2sgYWZ0ZXIgYW4gYHNrYl9jbG9uZWAgY2FsbC4gSWYgdGhlIGNsb25lIGZhaWxzLCB0aGUgcGF0Y2ggbWFya3MgdGhlIGNodW5rIGZvciBkaXNjYXJkIGFuZCBjb250aW51ZXMgcHJvY2Vzc2luZy4gVGhpcyBpcyBjbGVhcmx5IGEgZnVuY3Rpb25hbCBjaGFuZ2UsIGFkZHJlc3NpbmcgYSBwb3RlbnRpYWwgb3V0LW9mLW1lbW9yeSBjb25kaXRpb24gZHVyaW5nIFNDVFAgY2h1bmsgaGFuZGxpbmcuIE15IGluaXRpYWwgdGhvdWdodCBpczogdGhpcyBzY3JlYW1zIGZvciBmdXp6aW5nLiBXZSBuZWVkIHRvIHN0cmVzcyB0ZXN0IHRoaXMgbmV3IGVycm9yIHBhdGguXG5cbk5vdywgbGV0J3MgaWRlbnRpZnkgdGhlIG1vZGlmaWVkIGZ1bmN0aW9ucy4gVGhlIGRpZmYgdGVsbHMgbWUgdGhlIGFmZmVjdGVkIGZ1bmN0aW9ucyBhcmUgYHNjdHBfYXNzb2NfYmhfcmN2YCBpbiBgYXNzb2Npb2xhLmNgIGFuZCBgc2N0cF9lbmRwb2ludF9iaF9yY3ZgIGluIGBlbmRwb2ludG9sYS5jYC4gQWgsIHRoZXkgYXJlIGBzdGF0aWMgdm9pZGAgZnVuY3Rpb25zLiBUaGF0IHVzdWFsbHkgbWVhbnMgdGhleSdyZSBpbnRlcm5hbCBoZWxwZXIgZnVuY3Rpb25zIGFuZCBtaWdodCBub3QgYmUgZGlyZWN0bHkgZnV6emFibGUsIGFzIHRoZSBwcm9tcHQgc3BlY2lmaWVzLiBIb3dldmVyLCB0aGVzZSBhcmUgd29ya3F1ZXVlIGNhbGxiYWNrcywgYW5kIHdvcmtxdWV1ZSBmdW5jdGlvbnMgKmFyZW4ndCogaW5saW5lZCBiZWNhdXNlIHRoZWlyIGFkZHJlc3NlcyBhcmUgdGFrZW4sIHNvIHRoZXkgZG8gaGF2ZSBkaXN0aW5jdCBzeW1ib2xzLCBhbmQgYXJlIHBvdGVudGlhbGx5IHJlYWNoYWJsZS4gVGhlcmVmb3JlLCB0aGV5IGFyZSBub3QgaW5saW5lZC5cblxuVGhlIHByb21wdCBzcGVjaWZpZXMgdGhhdCB3ZSBzaG91bGQgXCJQcmVmZXIgbm9uLXN0YXRpYywgbm9uLWlubGluZWQgQVBJIGVudHJ5cG9pbnQgZnVuY3Rpb25zIG92ZXIgaW50ZXJuYWwgc3RhdGljIGhlbHBlciBmdW5jdGlvbnNcIi4gU28gd2UgY2FuIGFsc28gY2hlY2sgdGhlIGZ1bmN0aW9ucyB0aGF0IHF1ZXVlIHRob3NlLCBvciBqdXN0IGxpc3QgdGhlbS4gV2UnbGwgbmVlZCB0byBjb25maXJtIHRoYXQsIGJ1dCBmb3Igbm93IGl0IGxvb2tzIGxpa2Ugd2UgY2FuIGZ1enogdGhlc2UsIG9yIHRoZSBmdW5jdGlvbnMgdGhhdCBxdWV1ZSB0aGVtLCBhcyBlbnRyeXBvaW50cy4gV2UgbmVlZCB0byBjaGVjayB0aGUgbW9kdWxlcywgYW5kIHNlZSBob3cgdGhlc2Ugd29ya3F1ZXVlIGNhbGxiYWNrcyBhcmUgZXhwb3NlZC5cblxuXG4iLCJJbnB1dFRva2VucyI6MjI5MSwiT3V0cHV0VG9rZW5zIjozNiwiT3V0cHV0VGhvdWdodHNUb2tlbnMiOjQxMSwiVG9vbENhbGxzIjpudWxsfSx7IlN0YXJ0ZWQiOiIyMDI2LTA3LTI5VDIwOjA1OjI3LjA2NTQwOTUxM1oiLCJTZXEiOjQsIk5lc3RpbmciOjIsIlR5cGUiOiJ0b29sIiwiTmFtZSI6ImdyZXBwZXIiLCJNb2RlbCI6IiIsIkR1cmF0aW9uIjo4MjQ0NzQ1OSwiRXJyb3IiOiIiLCJBcmdzIjoie1xuICBcIkV4cHJlc3Npb25cIjogXCJzY3RwX2Fzc29jX2JoX3JjdlwiLFxuICBcIlBhdGhQcmVmaXhcIjogXCJuZXQvc2N0cC9cIlxufSIsIlJlc3VsdHMiOiJ7XG4gIFwiT3V0cHV0XCI6IFwibmV0L3NjdHAvYXNzb2Npb2xhLmM9NDM9c3RhdGljIHZvaWQgc2N0cF9zZWxlY3RfYWN0aXZlX2FuZF9yZXRyYW5fcGF0aChzdHJ1Y3Qgc2N0cF9hc3NvY2lhdGlvbiAqYXNvYyk7XFxubmV0L3NjdHAvYXNzb2Npb2xhLmM6NDQ6c3RhdGljIHZvaWQgc2N0cF9hc3NvY19iaF9yY3Yoc3RydWN0IHdvcmtfc3RydWN0ICp3b3JrKTtcXG5uZXQvc2N0cC9hc3NvY2lvbGEuYy00NS1zdGF0aWMgdm9pZCBzY3RwX2Fzc29jX2ZyZWVfYXNjb25mX2Fja3Moc3RydWN0IHNjdHBfYXNzb2NpYXRpb24gKmFzb2MpO1xcbi0tXFxubmV0L3NjdHAvYXNzb2Npb2xhLmM9NTE9c3RhdGljIHN0cnVjdCBzY3RwX2Fzc29jaWF0aW9uICpzY3RwX2Fzc29jaWF0aW9uX2luaXQoXFxuLS1cXG5uZXQvc2N0cC9hc3NvY2lvbGEuYy0yMjQtXFx0c2N0cF9pbnFfaW5pdChcXHUwMDI2YXNvYy1cXHUwMDNlYmFzZS5pbnF1ZXVlKTtcXG5uZXQvc2N0cC9hc3NvY2lvbGEuYzoyMjU6XFx0c2N0cF9pbnFfc2V0X3RoX2hhbmRsZXIoXFx1MDAyNmFzb2MtXFx1MDAzZWJhc2UuaW5xdWV1ZSwgc2N0cF9hc3NvY19iaF9yY3YpO1xcbm5ldC9zY3RwL2Fzc29jaW9sYS5jLTIyNi1cXG4tLVxcbm5ldC9zY3RwL2Fzc29jaW9sYS5jPTkwNT1zdHJ1Y3Qgc2N0cF90cmFuc3BvcnQgKnNjdHBfYXNzb2NfbG9va3VwX3RzbihzdHJ1Y3Qgc2N0cF9hc3NvY2lhdGlvbiAqYXNvYyxcXG4tLVxcbm5ldC9zY3RwL2Fzc29jaW9sYS5jLTk2MC0vKiBEbyBkZWxheWVkIGlucHV0IHByb2Nlc3NpbmcuICBUaGlzIGlzIHNjaGVkdWxlZCBieSBzY3RwX3JjdigpLiAqL1xcbm5ldC9zY3RwL2Fzc29jaW9sYS5jOjk2MTpzdGF0aWMgdm9pZCBzY3RwX2Fzc29jX2JoX3JjdihzdHJ1Y3Qgd29ya19zdHJ1Y3QgKndvcmspXFxubmV0L3NjdHAvYXNzb2Npb2xhLmMtOTYyLXtcXG5cIlxufSIsIkluc3RydWN0aW9uIjoiIiwiUHJvbXB0IjoiIiwiUmVwbHkiOiIiLCJUaG91Z2h0cyI6IiIsIklucHV0VG9rZW5zIjowLCJPdXRwdXRUb2tlbnMiOjAsIk91dHB1dFRob3VnaHRzVG9rZW5zIjowLCJUb29sQ2FsbHMiOm51bGx9LHsiU3RhcnRlZCI6IjIwMjYtMDctMjlUMjA6MDU6MjcuMTQ3ODY2NDUyWiIsIlNlcSI6NSwiTmVzdGluZyI6MiwiVHlwZSI6ImxsbSIsIk5hbWUiOiJwYXRjaC1ldmFsdWF0b3IiLCJNb2RlbCI6ImdlbWluaS0zLjEtcHJvLXByZXZpZXciLCJEdXJhdGlvbiI6MzQ5ODg2MDY4NCwiRXJyb3IiOiIiLCJBcmdzIjoibnVsbCIsIlJlc3VsdHMiOiJudWxsIiwiSW5zdHJ1Y3Rpb24iOiIiLCJQcm9tcHQiOiIiLCJSZXBseSI6IiIsIlRob3VnaHRzIjoiT2theSwgaGVyZSdzIG15IGF0dGVtcHQgYXQgc3VtbWFyaXppbmcgdGhhdCB0aG91Z2h0IHByb2Nlc3MsIGtlZXBpbmcgaW4gbWluZCBJJ20gc3BlYWtpbmcgdG8gYSBmZWxsb3cgZXhwZXJ0OlxuXG4qKkRpdmluZyBpbnRvIHRoZSBTQ1RQIFJlY2VpdmUgUGF0aCoqXG5cbkFscmlnaHQsIHRpbWUgdG8gZGlnIGludG8gYHNjdHBfZW5kcG9pbnRfYmhfcmN2YC4gVGhpcyBpcyB3aGVyZSB0aGUgbWFnaWMgKG9yIHRoZSBwcm9ibGVtcyEpIGFyZSBoYXBwZW5pbmcgb24gdGhlIHJlY2VpdmUgc2lkZSBvZiB0aGUgU0NUUCBlbmRwb2ludCdzIGJvdHRvbSBoYWxmLCByaWdodD8gSSdtIGJldHRpbmcgdGhpcyBmdW5jdGlvbiBpcyB0aGUgY2VudHJhbCBodWIgZm9yIGhhbmRsaW5nIGluY29taW5nIHBhY2tldHMgYWZ0ZXIgdGhleSd2ZSBiZWVuIHByb2Nlc3NlZCBhdCBhIGxvd2VyIGxldmVsLCB0aGluZ3MgbGlrZSBjaGVja3N1bSB2ZXJpZmljYXRpb24gYW5kIGJhc2ljIGhlYWRlciBwYXJzaW5nIGFyZSBsaWtlbHkgY29tcGxldGVkIGJ5IG5vdy4gSSBuZWVkIHRvIHJlZnJlc2ggbXkgbWVtb3J5IG9uIHRoZSBkYXRhIHN0cnVjdHVyZXMgaXQgb3BlcmF0ZXMgb24gLSB0aGUgYHNjdHBfZW5kcG9pbnRgIGl0c2VsZiwgb2YgY291cnNlLCBidXQgd2hhdCBhYm91dCB0aGUgYXNzb2NpYXRpb24gc3RhdGUgYW5kIGNodW5rIHF1ZXVlcz8gSSdtIGV4cGVjdGluZyB0byBmaW5kIHRoZSBsb2dpYyBmb3IgZGlzcGF0Y2hpbmcgY2h1bmtzIGJhc2VkIG9uIHRoZWlyIHR5cGUg4oCTIERBVEEsIFNBQ0ssIEhFQVJUQkVBVCwgZXRjLiDigJMgYW5kIGVuc3VyaW5nIHRoZXkncmUgaGFuZGxlZCBhY2NvcmRpbmcgdG8gU0NUUCdzIHJlbGlhYmxlIGFuZCBvcmRlcmVkIGRlbGl2ZXJ5IGd1YXJhbnRlZXMuIEkgd2FudCB0byBwYXkgcGFydGljdWxhcmx5IGNsb3NlIGF0dGVudGlvbiB0byBob3cgaXQgZGVhbHMgd2l0aCBvdXQtb2Ytb3JkZXIgY2h1bmtzIGFuZCBmcmFnbWVudGVkIG1lc3NhZ2VzLiBJcyB0aGVyZSBhbnkgaGFuZGxpbmcgb2YgY29uZ2VzdGlvbiBjb250cm9sIGV2ZW50cyBoYXBwZW5pbmcgYXQgdGhpcyBzdGFnZT8gSSBuZWVkIHRvIGxvb2sgY2xvc2VseSBhdCB0aGUgbG9ja3MsIGhvdyBhcmUgY29uY3VycmVudCBhY2Nlc3NlcyBoYW5kbGVkPyBXaGF0IGFyZSB0aGUgaW1wbGljYXRpb25zIG9mIGRpZmZlcmVudCBjaHVuayB0eXBlcywgd2hhdCdzIGhhcHBlbmluZyB3aGVuIGNodW5rcyBhcmUgbWlzc2luZz8gTGV0J3MgZ2V0IHRvIGl0IVxuXG5cbiIsIklucHV0VG9rZW5zIjozNDk5LCJPdXRwdXRUb2tlbnMiOjM2LCJPdXRwdXRUaG91Z2h0c1Rva2VucyI6MTYsIlRvb2xDYWxscyI6WyJncmVwcGVyIl19LHsiU3RhcnRlZCI6IjIwMjYtMDctMjlUMjA6MDU6MzAuNjQ2NzMwNzY2WiIsIlNlcSI6NiwiTmVzdGluZyI6MiwiVHlwZSI6InRvb2wiLCJOYW1lIjoiZ3JlcHBlciIsIk1vZGVsIjoiIiwiRHVyYXRpb24iOjYwNTQxMTg4LCJFcnJvciI6IiIsIkFyZ3MiOiJ7XG4gIFwiRXhwcmVzc2lvblwiOiBcInNjdHBfZW5kcG9pbnRfYmhfcmN2XCIsXG4gIFwiUGF0aFByZWZpeFwiOiBcIm5ldC9zY3RwL1wiXG59IiwiUmVzdWx0cyI6IntcbiAgXCJPdXRwdXRcIjogXCJuZXQvc2N0cC9lbmRwb2ludG9sYS5jLTM1LS8qIEZvcndhcmQgZGVjbGFyYXRpb25zIGZvciBpbnRlcm5hbCBoZWxwZXJzLiAqL1xcbm5ldC9zY3RwL2VuZHBvaW50b2xhLmM6MzY6c3RhdGljIHZvaWQgc2N0cF9lbmRwb2ludF9iaF9yY3Yoc3RydWN0IHdvcmtfc3RydWN0ICp3b3JrKTtcXG5uZXQvc2N0cC9lbmRwb2ludG9sYS5jLTM3LVxcbi0tXFxubmV0L3NjdHAvZW5kcG9pbnRvbGEuYz01MD1zdGF0aWMgc3RydWN0IHNjdHBfZW5kcG9pbnQgKnNjdHBfZW5kcG9pbnRfaW5pdChzdHJ1Y3Qgc2N0cF9lbmRwb2ludCAqZXAsXFxuLS1cXG5uZXQvc2N0cC9lbmRwb2ludG9sYS5jLTc5LVxcdC8qIFNldCBpdHMgdG9wLWhhbGYgaGFuZGxlciAqL1xcbm5ldC9zY3RwL2VuZHBvaW50b2xhLmM6ODA6XFx0c2N0cF9pbnFfc2V0X3RoX2hhbmRsZXIoXFx1MDAyNmVwLVxcdTAwM2ViYXNlLmlucXVldWUsIHNjdHBfZW5kcG9pbnRfYmhfcmN2KTtcXG5uZXQvc2N0cC9lbmRwb2ludG9sYS5jLTgxLVxcbi0tXFxubmV0L3NjdHAvZW5kcG9pbnRvbGEuYz0zMDI9Ym9vbCBzY3RwX2VuZHBvaW50X2lzX3BlZWxlZF9vZmYoc3RydWN0IHNjdHBfZW5kcG9pbnQgKmVwLFxcbi0tXFxubmV0L3NjdHAvZW5kcG9pbnRvbGEuYy0zMjUtICovXFxubmV0L3NjdHAvZW5kcG9pbnRvbGEuYzozMjY6c3RhdGljIHZvaWQgc2N0cF9lbmRwb2ludF9iaF9yY3Yoc3RydWN0IHdvcmtfc3RydWN0ICp3b3JrKVxcbm5ldC9zY3RwL2VuZHBvaW50b2xhLmMtMzI3LXtcXG5cIlxufSIsIkluc3RydWN0aW9uIjoiIiwiUHJvbXB0IjoiIiwiUmVwbHkiOiIiLCJUaG91Z2h0cyI6IiIsIklucHV0VG9rZW5zIjowLCJPdXRwdXRUb2tlbnMiOjAsIk91dHB1dFRob3VnaHRzVG9rZW5zIjowLCJUb29sQ2FsbHMiOm51bGx9LHsiU3RhcnRlZCI6IjIwMjYtMDctMjlUMjA6MDU6MzAuNzA3MjgyODM1WiIsIlNlcSI6NywiTmVzdGluZyI6MiwiVHlwZSI6ImxsbSIsIk5hbWUiOiJwYXRjaC1ldmFsdWF0b3IiLCJNb2RlbCI6ImdlbWluaS0zLjEtcHJvLXByZXZpZXciLCJEdXJhdGlvbiI6Mjc4NTkwOTgzNywiRXJyb3IiOiIiLCJBcmdzIjoibnVsbCIsIlJlc3VsdHMiOiJudWxsIiwiSW5zdHJ1Y3Rpb24iOiIiLCJQcm9tcHQiOiIiLCJSZXBseSI6IiIsIlRob3VnaHRzIjoiSGVyZSdzIG15IHN1bW1hcnksIGFzIHRob3VnaCBJJ20gdGhpbmtpbmcgdGhyb3VnaCB0aGlzIHByb2Nlc3M6XG5cbioqRGl2aW5nIGludG8gVGhlc2UgV29ya3F1ZXVlIEhhbmRsZXJzKipcblxuT2theSwgc28gSSdtIGxvb2tpbmcgYXQgdGhlc2UgdHdvIGZ1bmN0aW9ucy4gVGhleSdyZSBjbGVhcmx5IGludGVuZGVkIGFzIHdvcmtxdWV1ZSBoYW5kbGVycywgYW5kIHRoZSBmYWN0IHRoYXQgdGhleSdyZSAqbm90KiBpbmxpbmVkIGltbWVkaWF0ZWx5IHRlbGxzIG1lIHRoZXkncmUgbGlrZWx5IGRvaW5nIHNvbWV0aGluZyBzdWJzdGFudGlhbC4gVGhleSBwcm9iYWJseSBoYW5kbGUgbG9uZ2VyLXJ1bm5pbmcgb3IgbW9yZSBjb21wbGV4IHRhc2tzIHRoYXQgYXJlbid0IHRpbWUtY3JpdGljYWwuIEkgbmVlZCB0byB1bmRlcnN0YW5kIHdoYXQgdGhlc2UgZG8uIE5vdyB0aGF0IEkgdW5kZXJzdGFuZCAqd2hhdCogdGhleSBhcmUsIHdoZXJlIGFyZSB3ZSB3aXRoIFNDVFAgY29uZmlndXJhdGlvbj8gTGV0J3MgZ2V0IGNyYWNraW5nLiBJIG5lZWQgdG8gZmluZCB0aGUgc3BlY2lmaWMgY29uZmlnIG9wdGlvbnMgcmVsYXRlZCB0byBTQ1RQIHRvIHVuZGVyc3RhbmQgaG93IHRoZXNlIHdvcmtxdWV1ZSBoYW5kbGVycyBhcmUgYmVoYXZpbmcgd2l0aGluIHRoYXQgbGFyZ2VyIGNvbnRleHQuIEkgbmVlZCB0aGUgZnVsbCBwaWN0dXJlIHRvIHVuZGVyc3RhbmQgd2hhdCB0aGVzZSB3b3JrcXVldWUgaGFuZGxlcnMgYXJlIHN1cHBvc2VkIHRvICpkbyouXG5cblxuIiwiSW5wdXRUb2tlbnMiOjQxNjAsIk91dHB1dFRva2VucyI6MzIsIk91dHB1dFRob3VnaHRzVG9rZW5zIjoyNSwiVG9vbENhbGxzIjpbImdyZXBwZXIiXX0seyJTdGFydGVkIjoiMjAyNi0wNy0yOVQyMDowNTozMy40OTMxOTUxOTJaIiwiU2VxIjo4LCJOZXN0aW5nIjoyLCJUeXBlIjoidG9vbCIsIk5hbWUiOiJncmVwcGVyIiwiTW9kZWwiOiIiLCJEdXJhdGlvbiI6ODA1NTcyODgsIkVycm9yIjoiIiwiQXJncyI6IntcbiAgXCJFeHByZXNzaW9uXCI6IFwiY29uZmlnIElQX1NDVFBcIixcbiAgXCJQYXRoUHJlZml4XCI6IFwibmV0L3NjdHAvXCJcbn0iLCJSZXN1bHRzIjoie1xuICBcIk91dHB1dFwiOiBcIm5ldC9zY3RwL0tjb25maWctNS1cXG5uZXQvc2N0cC9LY29uZmlnOjY6bWVudWNvbmZpZyBJUF9TQ1RQXFxubmV0L3NjdHAvS2NvbmZpZy03LVxcdHRyaXN0YXRlIFxcXCJUaGUgU0NUUCBQcm90b2NvbFxcXCJcXG5cIlxufSIsIkluc3RydWN0aW9uIjoiIiwiUHJvbXB0IjoiIiwiUmVwbHkiOiIiLCJUaG91Z2h0cyI6IiIsIklucHV0VG9rZW5zIjowLCJPdXRwdXRUb2tlbnMiOjAsIk91dHB1dFRob3VnaHRzVG9rZW5zIjowLCJUb29sQ2FsbHMiOm51bGx9LHsiU3RhcnRlZCI6IjIwMjYtMDctMjlUMjA6MDU6MzMuNTczNzU4MloiLCJTZXEiOjksIk5lc3RpbmciOjIsIlR5cGUiOiJsbG0iLCJOYW1lIjoicGF0Y2gtZXZhbHVhdG9yIiwiTW9kZWwiOiJnZW1pbmktMy4xLXByby1wcmV2aWV3IiwiRHVyYXRpb24iOjI3MzMyNzc2NDgsIkVycm9yIjoiIiwiQXJncyI6Im51bGwiLCJSZXN1bHRzIjoibnVsbCIsIkluc3RydWN0aW9uIjoiIiwiUHJvbXB0IjoiIiwiUmVwbHkiOiIiLCJUaG91Z2h0cyI6IioqRXhhbWluaW5nIHRoZSBTQ1RQIENvbmZpZ3VyYXRpb24qKlxuXG5Pa2F5LCBzbyB0aGUgY3VycmVudCBjb25maWd1cmF0aW9uIHNldHRpbmcgSSdtIGxvb2tpbmcgYXQgaXMgYElQX1NDVFBgLiBNeSBmaXJzdCB0aG91Z2h0IGlzLCBhcmUgdGhlcmUgYW55IHJlbGF0ZWQgY29uZmlndXJhdGlvbnMgSSBzaG91bGQgYWxzbyBiZSBhd2FyZSBvZiwgb3IgYW55dGhpbmcgZWxzZSBpbiB0aGUgZ2VuZXJhbCB2aWNpbml0eT8gVG8gYmUgdGhvcm91Z2gsIEkgc2hvdWxkIGNoZWNrIHRoZSBrZXJuZWwgY29uZmlndXJhdGlvbiBmaWxlIHJlbGF0ZWQgdG8gU0NUUCwgd2hpY2ggSSBrbm93IGlzIGxvY2F0ZWQgYXQgYG5ldC9zY3RwL0tjb25maWdgLiBUaGF0IHNob3VsZCBnaXZlIG1lIGEgZ29vZCBvdmVydmlldyBvZiB0aGUgYnJvYWRlciBsYW5kc2NhcGUgZm9yIFNDVFAgc2V0dGluZ3MgYW5kIHdoYXQgZWxzZSBtaWdodCBiZSBpbmZsdWVuY2VkIGJ5LCBvciByZWxldmFudCB0bywgYElQX1NDVFBgLiBJdCdzIGFsd2F5cyBiZXN0IHRvIHVuZGVyc3RhbmQgdGhlIGNvbnRleHQuXG5cblxuIiwiSW5wdXRUb2tlbnMiOjQ0NTAsIk91dHB1dFRva2VucyI6MzUsIk91dHB1dFRob3VnaHRzVG9rZW5zIjozMiwiVG9vbENhbGxzIjpbImdyZXBwZXIiXX0seyJTdGFydGVkIjoiMjAyNi0wNy0yOVQyMDowNTozNi4zMDcwNDAxMThaIiwiU2VxIjoxMCwiTmVzdGluZyI6MiwiVHlwZSI6InRvb2wiLCJOYW1lIjoicmVhZC1maWxlIiwiTW9kZWwiOiIiLCJEdXJhdGlvbiI6ODIzMjksIkVycm9yIjoiIiwiQXJncyI6IntcbiAgXCJGaWxlXCI6IFwibmV0L3NjdHAvS2NvbmZpZ1wiLFxuICBcIkZpcnN0TGluZVwiOiAxLFxuICBcIkxpbmVDb3VudFwiOiAxMDBcbn0iLCJSZXN1bHRzIjoie1xuICBcIkNvbnRlbnRzXCI6IFwiICAgMTpcXHQjIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBHUEwtMi4wLW9ubHlcXG4gICAyOlxcdCNcXG4gICAzOlxcdCMgU0NUUCBjb25maWd1cmF0aW9uXFxuICAgNDpcXHQjXFxuICAgNTpcXHRcXG4gICA2OlxcdG1lbnVjb25maWcgSVBfU0NUUFxcbiAgIDc6XFx0XFx0dHJpc3RhdGUgXFxcIlRoZSBTQ1RQIFByb3RvY29sXFxcIlxcbiAgIDg6XFx0XFx0ZGVwZW5kcyBvbiBJTkVUXFxuICAgOTpcXHRcXHRzZWxlY3QgQ1JZUFRPX0xJQl9TSEExXFxuICAxMDpcXHRcXHRzZWxlY3QgQ1JZUFRPX0xJQl9TSEEyNTZcXG4gIDExOlxcdFxcdHNlbGVjdCBDUllQVE9fTElCX1VUSUxTXFxuICAxMjpcXHRcXHRzZWxlY3QgTkVUX0NSQzMyQ1xcbiAgMTM6XFx0XFx0c2VsZWN0IE5FVF9VRFBfVFVOTkVMXFxuICAxNDpcXHRcXHRoZWxwXFxuICAxNTpcXHRcXHQgIFN0cmVhbSBDb250cm9sIFRyYW5zbWlzc2lvbiBQcm90b2NvbFxcbiAgMTY6XFx0XFxuICAxNzpcXHRcXHQgIEZyb20gUkZDIDI5NjAgXFx1MDAzY2h0dHA6Ly93d3cuaWV0Zi5vcmcvcmZjL3JmYzI5NjAudHh0XFx1MDAzZS5cXG4gIDE4OlxcdFxcbiAgMTk6XFx0XFx0ICBcXFwiU0NUUCBpcyBhIHJlbGlhYmxlIHRyYW5zcG9ydCBwcm90b2NvbCBvcGVyYXRpbmcgb24gdG9wIG9mIGFcXG4gIDIwOlxcdFxcdCAgY29ubmVjdGlvbmxlc3MgcGFja2V0IG5ldHdvcmsgc3VjaCBhcyBJUC4gIEl0IG9mZmVycyB0aGUgZm9sbG93aW5nXFxuICAyMTpcXHRcXHQgIHNlcnZpY2VzIHRvIGl0cyB1c2VyczpcXG4gIDIyOlxcdFxcbiAgMjM6XFx0XFx0ICAtLSBhY2tub3dsZWRnZWQgZXJyb3ItZnJlZSBub24tZHVwbGljYXRlZCB0cmFuc2ZlciBvZiB1c2VyIGRhdGEsXFxuICAyNDpcXHRcXHQgIC0tIGRhdGEgZnJhZ21lbnRhdGlvbiB0byBjb25mb3JtIHRvIGRpc2NvdmVyZWQgcGF0aCBNVFUgc2l6ZSxcXG4gIDI1OlxcdFxcdCAgLS0gc2VxdWVuY2VkIGRlbGl2ZXJ5IG9mIHVzZXIgbWVzc2FnZXMgd2l0aGluIG11bHRpcGxlIHN0cmVhbXMsXFxuICAyNjpcXHRcXHQgIHdpdGggYW4gb3B0aW9uIGZvciBvcmRlci1vZi1hcnJpdmFsIGRlbGl2ZXJ5IG9mIGluZGl2aWR1YWwgdXNlclxcbiAgMjc6XFx0XFx0ICBtZXNzYWdlcyxcXG4gIDI4OlxcdFxcdCAgLS0gb3B0aW9uYWwgYnVuZGxpbmcgb2YgbXVsdGlwbGUgdXNlciBtZXNzYWdlcyBpbnRvIGEgc2luZ2xlIFNDVFBcXG4gIDI5OlxcdFxcdCAgcGFja2V0LCBhbmRcXG4gIDMwOlxcdFxcdCAgLS0gbmV0d29yay1sZXZlbCBmYXVsdCB0b2xlcmFuY2UgdGhyb3VnaCBzdXBwb3J0aW5nIG9mIG11bHRpLVxcbiAgMzE6XFx0XFx0ICBob21pbmcgYXQgZWl0aGVyIG9yIGJvdGggZW5kcyBvZiBhbiBhc3NvY2lhdGlvbi5cXFwiXFxuICAzMjpcXHRcXG4gIDMzOlxcdFxcdCAgVG8gY29tcGlsZSB0aGlzIHByb3RvY29sIHN1cHBvcnQgYXMgYSBtb2R1bGUsIGNob29zZSBNIGhlcmU6IHRoZVxcbiAgMzQ6XFx0XFx0ICBtb2R1bGUgd2lsbCBiZSBjYWxsZWQgc2N0cC4gRGVidWcgbWVzc2FnZXMgYXJlIGhhbmRsZWQgYnkgdGhlXFxuICAzNTpcXHRcXHQgIGtlcm5lbCdzIGR5bmFtaWMgZGVidWdnaW5nIGZyYW1ld29yay5cXG4gIDM2OlxcdFxcbiAgMzc6XFx0XFx0ICBJZiBpbiBkb3VidCwgc2F5IE4uXFxuICAzODpcXHRcXG4gIDM5OlxcdGlmIElQX1NDVFBcXG4gIDQwOlxcdFxcbiAgNDE6XFx0Y29uZmlnIFNDVFBfREJHX09CSkNOVFxcbiAgNDI6XFx0XFx0Ym9vbCBcXFwiU0NUUDogRGVidWcgb2JqZWN0IGNvdW50c1xcXCJcXG4gIDQzOlxcdFxcdGRlcGVuZHMgb24gUFJPQ19GU1xcbiAgNDQ6XFx0XFx0aGVscFxcbiAgNDU6XFx0XFx0ICBJZiB5b3Ugc2F5IFksIHRoaXMgd2lsbCBlbmFibGUgZGVidWdnaW5nIHN1cHBvcnQgZm9yIGNvdW50aW5nIHRoZVxcbiAgNDY6XFx0XFx0ICB0eXBlIG9mIG9iamVjdHMgdGhhdCBhcmUgY3VycmVudGx5IGFsbG9jYXRlZC4gIFRoaXMgaXMgdXNlZnVsIGZvclxcbiAgNDc6XFx0XFx0ICBpZGVudGlmeWluZyBtZW1vcnkgbGVha3MuIFRoaXMgZGVidWcgaW5mb3JtYXRpb24gY2FuIGJlIHZpZXdlZCBieVxcbiAgNDg6XFx0XFx0ICAnY2F0IC9wcm9jL25ldC9zY3RwL3NjdHBfZGJnX29iamNudCdcXG4gIDQ5OlxcdFxcbiAgNTA6XFx0XFx0ICBJZiB1bnN1cmUsIHNheSBOXFxuICA1MTpcXHRcXG4gIDUyOlxcdGNob2ljZVxcbiAgNTM6XFx0XFx0cHJvbXB0IFxcXCJEZWZhdWx0IFNDVFAgY29va2llIGF1dGhlbnRpY2F0aW9uIG1ldGhvZFxcXCJcXG4gIDU0OlxcdFxcdGRlZmF1bHQgU0NUUF9ERUZBVUxUX0NPT0tJRV9ITUFDX1NIQTI1NlxcbiAgNTU6XFx0XFx0aGVscFxcbiAgNTY6XFx0XFx0ICBUaGlzIG9wdGlvbiBzZXRzIHRoZSBkZWZhdWx0IFNDVFAgY29va2llIGF1dGhlbnRpY2F0aW9uIG1ldGhvZCwgZm9yXFxuICA1NzpcXHRcXHQgIHdoZW4gYSBtZXRob2QgaGFzbid0IGJlZW4gZXhwbGljaXRseSBzZWxlY3RlZCB2aWEgdGhlXFxuICA1ODpcXHRcXHQgIG5ldC5zY3RwLmNvb2tpZV9obWFjX2FsZyBzeXNjdGwuXFxuICA1OTpcXHRcXG4gIDYwOlxcdFxcdCAgSWYgdW5zdXJlLCBjaG9vc2UgdGhlIGRlZmF1bHQgKEhNQUMtU0hBMjU2KS5cXG4gIDYxOlxcdFxcbiAgNjI6XFx0Y29uZmlnIFNDVFBfREVGQVVMVF9DT09LSUVfSE1BQ19TSEEyNTZcXG4gIDYzOlxcdFxcdGJvb2wgXFxcIkhNQUMtU0hBMjU2XFxcIlxcbiAgNjQ6XFx0XFxuICA2NTpcXHRjb25maWcgU0NUUF9ERUZBVUxUX0NPT0tJRV9ITUFDX05PTkVcXG4gIDY2OlxcdFxcdGJvb2wgXFxcIk5vbmVcXFwiXFxuICA2NzpcXHRcXG4gIDY4OlxcdGVuZGNob2ljZVxcbiAgNjk6XFx0XFxuICA3MDpcXHRjb25maWcgSU5FVF9TQ1RQX0RJQUdcXG4gIDcxOlxcdFxcdGRlcGVuZHMgb24gSU5FVF9ESUFHXFxuICA3MjpcXHRcXHRkZWZfdHJpc3RhdGUgSU5FVF9ESUFHXFxuICA3MzpcXHRcXG4gIDc0OlxcdFxcbiAgNzU6XFx0ZW5kaWYgIyBJUF9TQ1RQXFxuXCJcbn0iLCJJbnN0cnVjdGlvbiI6IiIsIlByb21wdCI6IiIsIlJlcGx5IjoiIiwiVGhvdWdodHMiOiIiLCJJbnB1dFRva2VucyI6MCwiT3V0cHV0VG9rZW5zIjowLCJPdXRwdXRUaG91Z2h0c1Rva2VucyI6MCwiVG9vbENhbGxzIjpudWxsfSx7IlN0YXJ0ZWQiOiIyMDI2LTA3LTI5VDIwOjA1OjM2LjMwNzEyNzA0OVoiLCJTZXEiOjExLCJOZXN0aW5nIjoyLCJUeXBlIjoibGxtIiwiTmFtZSI6InBhdGNoLWV2YWx1YXRvciIsIk1vZGVsIjoiZ2VtaW5pLTMuMS1wcm8tcHJldmlldyIsIkR1cmF0aW9uIjo4MjgyODg3MzEzLCJFcnJvciI6IiIsIkFyZ3MiOiJudWxsIiwiUmVzdWx0cyI6Im51bGwiLCJJbnN0cnVjdGlvbiI6IiIsIlByb21wdCI6IiIsIlJlcGx5IjoiIiwiVGhvdWdodHMiOiIqKk15IEFzc2Vzc21lbnQgb2YgdGhlIFNDVFAgT09NIFBhdGNoKipcblxuT2theSwgc28gSSd2ZSBleGFtaW5lZCB0aGlzIHBhdGNoIHJlbGF0ZWQgdG8gaGFuZGxpbmcgb3V0LW9mLW1lbW9yeSAoT09NKSBjb25kaXRpb25zIGR1cmluZyBTQ1RQIGNodW5rIHByb2Nlc3NpbmcsIGFuZCBJJ20gcmVhZHkgdG8gd2VpZ2ggaW4uIFRoZSBjb25maWd1cmF0aW9uIGluIHF1ZXN0aW9uIGlzIGBJUF9TQ1RQYCwgd2hpY2ggbWFrZXMgc2Vuc2UgYXMgaXQncyB0aGUgZm91bmRhdGlvbi4gVGhlIHByaW1hcnkgZnVuY3Rpb25zIHRoYXQgYXJlIGJlaW5nIHRvdWNoZWQgYXJlIGBzY3RwX2Fzc29jX2JoX3JjdmAgYW5kIGBzY3RwX2VuZHBvaW50X2JoX3JjdmAuIFRoaXMgcGF0Y2ggaXMgYWRkcmVzc2luZyBhIGZ1bmN0aW9uYWwgaXNzdWUsIGFuZCBmcm9tIHRoZSBsb29rcyBvZiBpdCwgaXQncyBkZWZpbml0ZWx5IHJlYWNoYWJsZS5cblxuR2l2ZW4gdGhhdCBpdCBoYW5kbGVzIE9PTSwgdGhpcyBpcyBwcmV0dHkgY3JpdGljYWwuIFRoZXJlZm9yZSwgSSdtIGdvaW5nIHRvIHNldCBgV29ydGhGdXp6aW5nPXRydWVgLlxuXG5Ob3csIHRoZSBpbnN0cnVjdGlvbnMgbWVudGlvbmVkIGEgcHJlZmVyZW5jZSBmb3Igbm9uLXN0YXRpYywgbm9uLWlubGluZWQgQVBJIGVudHJ5cG9pbnRzIG92ZXIgc3RhdGljIGlubGluZWQgaGVscGVycy4gSSBpbml0aWFsbHkgZmxhZ2dlZCBgc2N0cF9hc3NvY19iaF9yY3ZgIGFuZCBgc2N0cF9lbmRwb2ludF9iaF9yY3ZgIGFzIHBvdGVudGlhbCBjYW5kaWRhdGVzLCB0aGV5IGFyZSBzdGF0aWMgZnVuY3Rpb25zLiBIb3dldmVyLCB0aGV5IGFyZSAqbm90KiBpbmxpbmVkLiBUaGV5J3JlIGJlaW5nIHBhc3NlZCBhcyBmdW5jdGlvbiBwb2ludGVycyB0byBgc2N0cF9pbnFfc2V0X3RoX2hhbmRsZXJgLCB3aGljaCBtZWFucyB0aGV5IGhhdmUgZGlzdGluY3Qgc3ltYm9sIGFkZHJlc3Nlcy4gU28sIEkgZG9uJ3Qgc2VlIGFueSBpc3N1ZSB3aXRoIGluY2x1ZGluZyB0aGVtIGluIHRoZSBgRm9jdXNTeW1ib2xzYCBsaXN0LiBJIGNvdWxkIGFsc28gaW5jbHVkZSB0aGUgZnVuY3Rpb25zIHRoYXQgcXVldWUgdGhlbSwgYnV0IHRoZXJlIGlzbid0IGEgbmVlZC5cblxuSSBkaWQgYSBxdWljayBzYW5pdHkgY2hlY2sgdG8gY29uZmlybSB0aGlzLiBMb29raW5nIGF0IHRoZSBjb2RlOlxuXG5gYGBjXG5cdHNjdHBfaW5xX3NldF90aF9oYW5kbGVyKFx1MDAyNmFzb2MtXHUwMDNlYmFzZS5pbnF1ZXVlLCBzY3RwX2Fzc29jX2JoX3Jjdik7XG5gYGBcblxuU2hvd3MgdGhhdCBgc2N0cF9hc3NvY19iaF9yY3ZgIGlzIGluZGVlZCBwYXNzZWQgYXMgYSBmdW5jdGlvbiBwb2ludGVyLiBTbywgdGhleSdyZSBwZXJmZWN0bHkgZmluZSBhcyBmYXIgYXMgdGhlIHByb21wdCBpcyBjb25jZXJuZWQuXG5cblRoZXJlZm9yZSwgbXkgZmluYWwgYEZvY3VzU3ltYm9sc2AgYXJlOlxuXG4qICAgYHNjdHBfYXNzb2NfYmhfcmN2YFxuKiAgIGBzY3RwX2VuZHBvaW50X2JoX3JjdmBcblxuVGhlIHBhdGNoIGl0c2VsZiBtb2RpZmllcyBgc2N0cF9hc3NvY19iaF9yY3ZgIGFuZCBgc2N0cF9lbmRwb2ludF9iaF9yY3ZgIGZ1bmN0aW9ucy5cblxuQW5kIEkgbmVlZCB0byBzZXQ6XG5cbiogICBgRW5hYmxlQ29uZmlnc2A6IGBJUF9TQ1RQYFxuXG5JJ20gY29uZmlkZW50IGluIHRoaXMgYXNzZXNzbWVudC4gVGhpcyBwYXRjaCBhZGRzIGEgTlVMTCBwb2ludGVyIGNoZWNrIGFmdGVyIGBza2JfY2xvbmVgIGluIFNDVFAgY2h1bmsgcHJvY2Vzc2luZywgbWFraW5nIGl0IG1vcmUgcmVzaWxpZW50IHRvIE9PTSBjb25kaXRpb25zLiBJdCBkaXJlY3RseSBhZmZlY3RzIGNvcmUgU0NUUCBmdW5jdGlvbmFsaXR5IGFuZCBpcyBjbGVhcmx5IHJlYWNoYWJsZSB0aHJvdWdoIG5ldHdvcmsgdHJhZmZpYy4gVGhlIGZ1bmN0aW9ucyBJJ3ZlIHNlbGVjdGVkIGFyZSBhbHNvIHZhbGlkIGVudHJ5IHBvaW50cy4gUmVhZHkgdG8gY2FsbCBgc2V0LXJlc3VsdHNgLlxuXG5cbiIsIklucHV0VG9rZW5zIjo1NjUwLCJPdXRwdXRUb2tlbnMiOjEwMSwiT3V0cHV0VGhvdWdodHNUb2tlbnMiOjU0NiwiVG9vbENhbGxzIjpbInJlYWQtZmlsZSJdfSx7IlN0YXJ0ZWQiOiIyMDI2LTA3LTI5VDIwOjA1OjQ0LjU5MDAxODA4MloiLCJTZXEiOjEyLCJOZXN0aW5nIjoyLCJUeXBlIjoidG9vbCIsIk5hbWUiOiJzZXQtcmVzdWx0cyIsIk1vZGVsIjoiIiwiRHVyYXRpb24iOjE1OTk2MTY0NywiRXJyb3IiOiIiLCJBcmdzIjoie1xuICBcIkVuYWJsZUNvbmZpZ3NcIjogW1xuICAgIFwiSVBfU0NUUFwiXG4gIF0sXG4gIFwiRm9jdXNTeW1ib2xzXCI6IFtcbiAgICBcInNjdHBfYXNzb2NfYmhfcmN2XCIsXG4gICAgXCJzY3RwX2VuZHBvaW50X2JoX3JjdlwiXG4gIF0sXG4gIFwiUmVhc29uaW5nXCI6IFwiVGhlIHBhdGNoIGFkZHMgYSBOVUxMIHBvaW50ZXIgY2hlY2sgZm9yIGBza2JfY2xvbmVgIGluIFNDVFAgY2h1bmsgcHJvY2Vzc2luZyB0byBoYW5kbGUgT09NIGNvbmRpdGlvbnMuIFRoaXMgbW9kaWZpZXMgY29yZSBTQ1RQIGxvZ2ljIGFuZCBpcyByZWFjaGFibGUgdmlhIG5ldHdvcmsgdHJhZmZpYy5cIixcbiAgXCJXb3J0aEZ1enppbmdcIjogdHJ1ZVxufSIsIlJlc3VsdHMiOiJ7XG4gIFwiRW5hYmxlQ29uZmlnc1wiOiBbXG4gICAgXCJJUF9TQ1RQXCJcbiAgXSxcbiAgXCJGb2N1c1N5bWJvbHNcIjogW1xuICAgIFwic2N0cF9hc3NvY19iaF9yY3ZcIixcbiAgICBcInNjdHBfZW5kcG9pbnRfYmhfcmN2XCJcbiAgXSxcbiAgXCJSZWFzb25pbmdcIjogXCJUaGUgcGF0Y2ggYWRkcyBhIE5VTEwgcG9pbnRlciBjaGVjayBmb3IgYHNrYl9jbG9uZWAgaW4gU0NUUCBjaHVuayBwcm9jZXNzaW5nIHRvIGhhbmRsZSBPT00gY29uZGl0aW9ucy4gVGhpcyBtb2RpZmllcyBjb3JlIFNDVFAgbG9naWMgYW5kIGlzIHJlYWNoYWJsZSB2aWEgbmV0d29yayB0cmFmZmljLlwiLFxuICBcIldvcnRoRnV6emluZ1wiOiB0cnVlXG59IiwiSW5zdHJ1Y3Rpb24iOiIiLCJQcm9tcHQiOiIiLCJSZXBseSI6IiIsIlRob3VnaHRzIjoiIiwiSW5wdXRUb2tlbnMiOjAsIk91dHB1dFRva2VucyI6MCwiT3V0cHV0VGhvdWdodHNUb2tlbnMiOjAsIlRvb2xDYWxscyI6bnVsbH1dOwoJCQlpZiAoIXJhd0RhdGEgfHwgcmF3RGF0YS5sZW5ndGggPT09IDApIHJldHVybjsKCgkJCWRyYXdTdW1tYXJ5VGFibGVzKHJhd0RhdGEpOwoJCQlkcmF3RHVyYXRpb25DaGFydChyYXdEYXRhKTsKCQkJZHJhd1Rva2VuQ29uc3VtcHRpb25DaGFydChyYXdEYXRhKTsKCQl9CgoJCWZ1bmN0aW9uIGRyYXdTdW1tYXJ5VGFibGVzKHJhd0RhdGEpIHsKCQkJY29uc3Qgc3RhdHMgPSB7CgkJCQlsbG06IHsgY291bnQ6IDAsIHRva2VuczogMCwgZHVyYXRpb246IDAgfSwKCQkJCXRvb2w6IHsgY291bnQ6IDAsIGR1cmF0aW9uOiAwIH0KCQkJfTsKCgkJCXJhd0RhdGEuZm9yRWFjaChzID0+IHsKCQkJCWNvbnN0IGR1ciA9IHMuRHVyYXRpb24gLyAxMDAwMDAwMDAwOyAKCQkJCWlmIChzLlR5cGUgPT09ICJsbG0iKSB7CgkJCQkJc3RhdHMubGxtLmNvdW50Kys7CgkJCQkJc3RhdHMubGxtLnRva2VucyArPSAocy5JbnB1dFRva2VucyArIHMuT3V0cHV0VG9rZW5zICsgcy5PdXRwdXRUaG91Z2h0c1Rva2Vucyk7CgkJCQkJc3RhdHMubGxtLmR1cmF0aW9uICs9IGR1cjsKCQkJCX0gZWxzZSBpZiAocy5UeXBlID09PSAidG9vbCIpIHsKCQkJCQlzdGF0cy50b29sLmNvdW50Kys7CgkJCQkJc3RhdHMudG9vbC5kdXJhdGlvbiArPSBkdXI7CgkJCQl9CgkJCX0pOwoKCQkJY29uc3QgYXZnTGxtRHVyID0gc3RhdHMubGxtLmNvdW50ID4gMCA/IChzdGF0cy5sbG0uZHVyYXRpb24gLyBzdGF0cy5sbG0uY291bnQpLnRvRml4ZWQoMikgOiAwOwoJCQljb25zdCBhdmdMbG1Ub2tlbiA9IHN0YXRzLmxsbS5jb3VudCA+IDAgPyAoc3RhdHMubGxtLnRva2VucyAvIHN0YXRzLmxsbS5jb3VudCkudG9GaXhlZCgyKSA6IDA7CgkJCWNvbnN0IGF2Z1Rvb2xEdXIgPSBzdGF0cy50b29sLmNvdW50ID4gMCA/IChzdGF0cy50b29sLmR1cmF0aW9uIC8gc3RhdHMudG9vbC5jb3VudCkudG9GaXhlZCgyKSA6IDA7CgoJCQljb25zdCBsbG1TdW1hcnlDZWxscyA9IFtzdGF0cy5sbG0uY291bnQsIHN0YXRzLmxsbS50b2tlbnMsIGF2Z0xsbVRva2VuLCBzdGF0cy5sbG0uZHVyYXRpb24sIGF2Z0xsbUR1cl07CgkJCWNvbnN0IHRvb2xTdW1tYXJ5Q2VsbHMgPSBbc3RhdHMudG9vbC5jb3VudCwgc3RhdHMudG9vbC5kdXJhdGlvbiwgYXZnVG9vbER1cl07CgoJCQljb25zdCBsbG1TdW1tYXJ5Qm9keSA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdsbG1fc3VtbWFyeV9zdGF0c19ib2R5Jyk7CgkJCWxsbVN1bW1hcnlCb2R5LmlubmVySFRNTCA9ICIiOwoJCQljb25zdCBsbG1UciA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3RyJyk7CgkJCWxsbVN1bWFyeUNlbGxzLmZvckVhY2goY2VsbCA9PiB7CgkJCQljb25zdCB0ZCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3RkJyk7CgkJCQl0ZC50ZXh0Q29udGVudCA9IGNlbGw7CgkJCQlsbG1Uci5hcHBlbmRDaGlsZCh0ZCk7CgkJCX0pOwoJCQlsbG1TdW1tYXJ5Qm9keS5hcHBlbmRDaGlsZChsbG1Ucik7CgoJCQljb25zdCB0b29sU3VtbWFyeUJvZHkgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgndG9vbF9zdW1tYXJ5X3N0YXRzX2JvZHknKTsKCQkJdG9vbFN1bW1hcnlCb2R5LmlubmVySFRNTCA9ICIiOwoJCQljb25zdCB0b29sVHIgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCd0cicpOwoJCQl0b29sU3VtbWFyeUNlbGxzLmZvckVhY2goY2VsbCA9PiB7CgkJCQljb25zdCB0ZCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3RkJyk7CgkJCQl0ZC50ZXh0Q29udGVudCA9IGNlbGw7CgkJCQl0b29sVHIuYXBwZW5kQ2hpbGQodGQpOwoJCQl9KTsKCQkJdG9vbFN1bW1hcnlCb2R5LmFwcGVuZENoaWxkKHRvb2xUcik7CgkJfQoKCQlmdW5jdGlvbiBkcmF3RHVyYXRpb25DaGFydChyYXdEYXRhKSB7CgkJCWNvbnN0IGZpbHRlcmVkU3RlcHMgPSByYXdEYXRhLmZpbHRlcihkID0+IFsibGxtIiwgInRvb2wiXS5pbmNsdWRlcyhkLlR5cGUpKTsKCQkJY29uc3QgZGF0YSA9IG5ldyBnb29nbGUudmlzdWFsaXphdGlvbi5EYXRhVGFibGUoKTsKCQkJZGF0YS5hZGRDb2x1bW4oJ3N0cmluZycsICdTdGVwJyk7CgkJCWRhdGEuYWRkQ29sdW1uKCdudW1iZXInLCAnRHVyYXRpb24nKTsKCQkJZGF0YS5hZGRDb2x1bW4oe3R5cGU6ICdzdHJpbmcnLCByb2xlOiAndG9vbHRpcCd9KTsgCgoJCQlmaWx0ZXJlZFN0ZXBzLmZvckVhY2gocyA9PiB7CgkJCQkKCQkJCWNvbnN0IGR1ciA9IHMuRHVyYXRpb24gLyAxMDAwMDAwMDAwOwoJCQkJbGV0IHRvb2x0aXAgPSBzLk5hbWU7CgkJCQlpZiAocy5UeXBlID09PSAibGxtIiAmJiBzLlRvb2xDYWxscyAmJiBzLlRvb2xDYWxscy5sZW5ndGggPiAwKSB7CgkJCQkJdG9vbHRpcCArPSBgXG5Ub29sczogJHtzLlRvb2xDYWxscy5qb2luKCcsICcpfWA7CgkJCQl9CgkJCQlkYXRhLmFkZFJvdyhbYCR7cy5TZXF9YCwgZHVyLCB0b29sdGlwXSk7CgkJCX0pOwoKCQkJY29uc3Qgb3B0aW9ucyA9IHsKCQkJCXRpdGxlOiAnVGltZSBDb25zdW1wdGlvbiBvZiBMTE0vVG9vbCBDYWxscycsCgkJCQloQXhpczogewoJCQkJCXRpdGxlOiAnTExNL1Rvb2wgU3RlcHMnLAoJCQkJfSwKCQkJCXZBeGlzOiB7IHRpdGxlOiAnU2Vjb25kcycgfSwKCQkJCWxlZ2VuZDogeyBwb3NpdGlvbjogJ25vbmUnIH0sCgkJCQliYXI6IHsgZ3JvdXBXaWR0aDogJzc1JScgfSwKCQkJCWNoYXJ0QXJlYTogeyB3aWR0aDogJzg1JScsIGhlaWdodDogJzcwJScgfSwKCQkJCWhlaWdodDogNDAwCgkJCX07CgoJCQljb25zdCBjaGFydCA9IG5ldyBnb29nbGUudmlzdWFsaXphdGlvbi5Db2x1bW5DaGFydChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnZHVyYXRpb25fY2hhcnRfZGl2JykpOwoJCQljaGFydC5kcmF3KGRhdGEsIG9wdGlvbnMpOwoJCX0KCgkJZnVuY3Rpb24gZHJhd1Rva2VuQ29uc3VtcHRpb25DaGFydChyYXdEYXRhKSB7CgkJCWNvbnN0IGxsbVN0ZXBzID0gcmF3RGF0YS5maWx0ZXIoZCA9PiBkLlR5cGUgPT09ICJsbG0iKTsKCQkJaWYgKGxsbVN0ZXBzLmxlbmd0aCA9PT0gMCkgcmV0dXJuOwoKCQkJY29uc3QgZGF0YSA9IG5ldyBnb29nbGUudmlzdWFsaXphdGlvbi5EYXRhVGFibGUoKTsKCQkJZGF0YS5hZGRDb2x1bW4oJ3N0cmluZycsICdTdGVwJyk7CQkJCgkJCWRhdGEuYWRkQ29sdW1uKCdudW1iZXInLCAnVG9rZW5zJyk7CQkJCgkJCWRhdGEuYWRkQ29sdW1uKHt0eXBlOiAnc3RyaW5nJywgcm9sZTogJ3N0eWxlJ30pOwkKCQkJZGF0YS5hZGRDb2x1bW4oe3R5cGU6ICdzdHJpbmcnLCByb2xlOiAndG9vbHRpcCd9KTsJCgoJCQljb25zdCBhZ2VudENvbG9ycyA9IHt9OwoJCQljb25zdCBwYWxldHRlID0gWycjNDI4NUY0JywgJyNEQjQ0MzcnLCAnI0Y0QjQwMCcsICcjMEY5RDU4JywgJyNBQjQ3QkMnLCAnIzAwQUNDMSddOwoJCQlsZXQgY29sb3JJZHggPSAwOwoJCQljb25zdCBhZ2VudExMTUNvdW50cyA9IHt9OwoJCQlsbG1TdGVwcy5mb3JFYWNoKHMgPT4gewoJCQkJaWYgKCFhZ2VudENvbG9yc1tzLk5hbWVdKSB7CgkJCQkJYWdlbnRDb2xvcnNbcy5OYW1lXSA9IHBhbGV0dGVbY29sb3JJZHggJSBwYWxldHRlLmxlbmd0aF07CgkJCQkJY29sb3JJZHgrKzsKCQkJCX0KCgkJCQlhZ2VudExMTUNvdW50c1tzLk5hbWVdID0gKGFnZW50TExNQ291bnRzW3MuTmFtZV0gfHwgMCkgKyAxOwoJCQkJY29uc3QgbGFiZWwgPSBgJHtzLk5hbWV9LSR7YWdlbnRMTE1Db3VudHNbcy5OYW1lXX1gOwoJCQkJY29uc3QgdG90YWxUb2tlbnMgPSBzLklucHV0VG9rZW5zICsgcy5PdXRwdXRUb2tlbnMgKyBzLk91dHB1dFRob3VnaHRzVG9rZW5zOwoJCQkJY29uc3Qgc3R5bGUgPSBgY29sb3I6ICR7YWdlbnRDb2xvcnNbcy5OYW1lXX1gOwoJCQkJbGV0IHRvb2x0aXAgPSBgVG90YWwgVG9rZW5zOiAke3RvdGFsVG9rZW5zfVxuKEluOiAke3MuSW5wdXRUb2tlbnN9LCBPdXQ6ICR7cy5PdXRwdXRUb2tlbnN9LCBUaG91Z2h0czogJHtzLk91dHB1dFRob3VnaHRzVG9rZW5zfSlgOwoJCQkJaWYgKHMuVG9vbENhbGxzICYmIHMuVG9vbENhbGxzLmxlbmd0aCA+IDApIHsKCQkJCQl0b29sdGlwICs9IGBcblRvb2xzOiAke3MuVG9vbENhbGxzLmpvaW4oJywgJyl9YDsKCQkJCX0KCgkJCQlkYXRhLmFkZFJvdyhbbGFiZWwsIHRvdGFsVG9rZW5zLCBzdHlsZSwgdG9vbHRpcF0pOwoJCQl9KTsKCgkJCWNvbnN0IG9wdGlvbnMgPSB7CgkJCQl0aXRsZTogJ1Rva2VuIENvbnN1bXB0aW9uIGJ5IExMTSBDYWxscycsCgkJCQloQXhpczogewoJCQkJCXRpdGxlOiAnTExNIENhbGwgU2VxdWVuY2UnLAoJCQkJfSwKCQkJCXZBeGlzOiB7IHRpdGxlOiAnQ29uc3VtZWQgVG9rZW5zJyB9LAoJCQkJbGVnZW5kOiB7IHBvc2l0aW9uOiAnbm9uZScgfSwKCQkJCWJhcjogeyBncm91cFdpZHRoOiAnNzUlJyB9LAoJCQkJY2hhcnRBcmVhOiB7IHdpZHRoOiAnODUlJywgaGVpZ2h0OiAnNzAlJyB9LAoJCQkJaGVpZ2h0OiA0MDAKCQkJfTsKCgkJCWNvbnN0IGNoYXJ0ID0gbmV3IGdvb2dsZS52aXN1YWxpemF0aW9uLkNvbHVtbkNoYXJ0KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCd0b2tlbl9jaGFydF9kaXYnKSk7CgkJCWNoYXJ0LmRyYXcoZGF0YSwgb3B0aW9ucyk7CgkJfQoJCWxldCBhbGxFeHBhbmRlZCA9IGZhbHNlOwoJCWZ1bmN0aW9uIHRvZ2dsZUFsbERldGFpbHMoKSB7CgkJCWFsbEV4cGFuZGVkID0gIWFsbEV4cGFuZGVkOwoJCQlkb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKCdkZXRhaWxzJykuZm9yRWFjaChkID0+IHsKCQkJCWlmIChhbGxFeHBhbmRlZCkgZC5zZXRBdHRyaWJ1dGUoJ29wZW4nLCAnJyk7CgkJCQllbHNlIGQucmVtb3ZlQXR0cmlidXRlKCdvcGVuJyk7CgkJCX0pOwoJCX0KCTwvc2NyaXB0PgoKCjwvYm9keT4KPC9odG1sPgo=" },ValueFrom:&ValueFrom{Path:/output/result.json,JSONPath:,JQFilter:,Parameter:,Default:nil,Supplied:nil,Event:,Expression:,ConfigMapKeyRef:nil,},GlobalName:,Enum:[],Description:nil,},},Artifacts:[]Artifact{},Result:nil,ExitCode:*0,} --------- Name: series-workflowrj5vx[0].run-triage(0) Phase: Succeeded StartedAt: 2026-07-29 19:36:58 +0000 UTC FinishedAt: 2026-07-29 20:05:46 +0000 UTC Input: nil Output: &Outputs{Parameters:[]Parameter{Parameter{Name:result,Default:nil,Value:*{ "skip_reason": "", "targets": [ { "base": { "arch": "amd64", "tree_name": "net-next", "tree_url": "https://kernel.googlesource.com/pub/scm/linux/kernel/git/netdev/net-next.git", "commit_hash": "2bb54b49e9d522f54dc9c0fe10ba40fbc56041c8", "config_name": "upstream-apparmor-kasan.config", "enable_configs": [ "IP_SCTP" ], "series_id": "" }, "patched": { "arch": "amd64", "tree_name": "net-next", "tree_url": "https://kernel.googlesource.com/pub/scm/linux/kernel/git/netdev/net-next.git", "commit_hash": "2bb54b49e9d522f54dc9c0fe10ba40fbc56041c8", "config_name": "upstream-apparmor-kasan.config", "enable_configs": [ "IP_SCTP" ], "series_id": "9f7aab38-6007-49a5-ab2b-2911dc7cba84" }, "track": "KASAN", "fuzz": { "focus": [ "net" ], "focus_symbols": [ "sctp_assoc_bh_rcv", "sctp_endpoint_bh_rcv" ], "corpus_urls": [ "https://storage.googleapis.com/syzkaller/corpus/ci-upstream-net-kasan-gce-corpus.db" ], "skip_cover_check": false, "bug_title_re": "" }, "retest": null } ], "trajectory": "CjwhZG9jdHlwZSBodG1sPgo8aHRtbD4KPGhlYWQ+Cgk8dGl0bGU+QUkgVHJhamVjdG9yeTwvdGl0bGU+Cgk8c3R5bGU+CgkJdGFibGUgewoJCQlib3JkZXI6IDFweCBzb2xpZCAjY2NjOwoJCQltYXJnaW46IDIwcHggNXB4OwoJCQlib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlOwoJCQl3aGl0ZS1zcGFjZTogbm93cmFwOwoJCQl0ZXh0LW92ZXJmbG93OiBlbGxpcHNpczsKCQkJb3ZlcmZsb3c6IGhpZGRlbjsKCQl9CgoJCXRhYmxlIGNhcHRpb24gewoJCQlmb250LXdlaWdodDogYm9sZDsKCQl9CgoJCXRhYmxlIHRkLCB0YWJsZSB0aCB7CgkJCXZlcnRpY2FsLWFsaWduOiB0b3A7CgkJCXBhZGRpbmc6IDJweCA4cHg7CgkJCXRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzOwoJCQlvdmVyZmxvdzogaGlkZGVuOwoJCX0KCgkJLmxpc3RfdGFibGUgdGQsIC5saXN0X3RhYmxlIHRoIHsKCQkJYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCAjY2NjOwoJCX0KCgkJLmxpc3RfdGFibGUgdGggewoJCQliYWNrZ3JvdW5kOiAjRjRGNEY0OwoJCX0KCgkJLmxpc3RfdGFibGUgdHI6bnRoLWNoaWxkKDJuKSB7CgkJCWJhY2tncm91bmQ6ICNGNEY0RjQ7CgkJfQoKCQkubGlzdF90YWJsZSB0cjpob3ZlciB7CgkJCWJhY2tncm91bmQ6ICNmZmZmOTk7CgkJfQoKCQkjYWlfZGV0YWlsc19kaXYgcHJlIHsKCQkJbWFyZ2luOiAxcHg7CgkJCW1heC13aWR0aDogMTIwY2g7CgkJCXdoaXRlLXNwYWNlOiBwcmUtd3JhcDsKCQkJb3ZlcmZsb3ctd3JhcDogYnJlYWstd29yZDsKCQl9Cgk8L3N0eWxlPgo8L2hlYWQ+Cjxib2R5PgoJPGgxPkFJIFRyYWplY3Rvcnk8L2gxPgoJPGJyPgoKCQoJPHRhYmxlIGNsYXNzPSJsaXN0X3RhYmxlIj4KCQk8Y2FwdGlvbj5UcmFqZWN0b3J5OiAoPGEgaHJlZj0iIyIgb25jbGljaz0idG9nZ2xlQWxsRGV0YWlscygpOyByZXR1cm4gZmFsc2U7Ij5FeHBhbmQvQ29sbGFwc2UgQWxsPC9hPik8L2NhcHRpb24+CgkJPHRoZWFkPjx0cj4KCQkJPHRoPlNlcTwvdGg+CgkJCTx0aD5UaW1lc3RhbXA8L3RoPgoJCQk8dGg+VHlwZTwvdGg+CgkJCTx0aD5OYW1lPC90aD4KCQkJPHRoPkR1cmF0aW9uPC90aD4KCQk8L3RyPjwvdGhlYWQ+CgkJPHRib2R5PgoJCQoJCTx0cj4KCQkJPHRkPjAvMDwvdGQ+CgkJCTx0ZD4yMDI2LzA3LzI5IDIwOjA1PC90ZD4KCQkJPHRkPmZsb3c8L3RkPgoJCQk8dGQ+cGF0Y2gtdHJpYWdlPC90ZD4KCQkJPHRkPgoJCQkJPGRldGFpbHM+CgkJCQkJPHN1bW1hcnk+MG08L3N1bW1hcnk+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPkFyZ3M6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5udWxsPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5SZXN1bHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+ewogICYjMzQ7RW5hYmxlQ29uZmlncyYjMzQ7OiBbCiAgICAmIzM0O0lQX1NDVFAmIzM0OwogIF0sCiAgJiMzNDtGb2N1c1N5bWJvbHMmIzM0OzogWwogICAgJiMzNDtzY3RwX2Fzc29jX2JoX3JjdiYjMzQ7LAogICAgJiMzNDtzY3RwX2VuZHBvaW50X2JoX3JjdiYjMzQ7CiAgXSwKICAmIzM0O1JlYXNvbmluZyYjMzQ7OiAmIzM0O1RoZSBwYXRjaCBhZGRzIGEgTlVMTCBwb2ludGVyIGNoZWNrIGZvciBgc2tiX2Nsb25lYCBpbiBTQ1RQIGNodW5rIHByb2Nlc3NpbmcgdG8gaGFuZGxlIE9PTSBjb25kaXRpb25zLiBUaGlzIG1vZGlmaWVzIGNvcmUgU0NUUCBsb2dpYyBhbmQgaXMgcmVhY2hhYmxlIHZpYSBuZXR3b3JrIHRyYWZmaWMuJiMzNDssCiAgJiMzNDtXb3J0aEZ1enppbmcmIzM0OzogdHJ1ZQp9PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJPC9kZXRhaWxzPgoJCQk8L3RkPgoJCTwvdHI+CgkJCgkJPHRyPgoJCQk8dGQ+MS8xPC90ZD4KCQkJPHRkPjIwMjYvMDcvMjkgMjA6MDU8L3RkPgoJCQk8dGQ+YWN0aW9uPC90ZD4KCQkJPHRkPnJlYWQtcGF0Y2gtZGlmZjwvdGQ+CgkJCTx0ZD4KCQkJCTxkZXRhaWxzPgoJCQkJCTxzdW1tYXJ5PjBtPC9zdW1tYXJ5PgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5BcmdzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+bnVsbDwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+UmVzdWx0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPnsKICAmIzM0O1BhdGNoRGlmZiYjMzQ7OiAmIzM0O2NvbW1pdCBjMDAyODg1NTQ0NzYwNjk5NGIxYjQ0ODkxYWEyOGVmZGMwMTY5ZGExXG5BdXRob3I6IHN5ei1jbHVzdGVyIFx1MDAzY3RyaWFnZUBzeXprYWxsZXIuY29tXHUwMDNlXG5EYXRlOiAgIFdlZCBKdWwgMjkgMjA6MDU6MTggMjAyNiAmIzQzOzAwMDBcblxuICAgIHN5ei1jbHVzdGVyOiBhcHBsaWVkIHBhdGNoIHVuZGVyIHJldmlld1xuXG5kaWZmIC0tZ2l0IGEvbmV0L3NjdHAvYXNzb2Npb2xhLmMgYi9uZXQvc2N0cC9hc3NvY2lvbGEuY1xuaW5kZXggNjJkM2NjMTU1ODA5Yy4uYTVmMjgzNWRiZTBmYiAxMDA2NDRcbi0tLSBhL25ldC9zY3RwL2Fzc29jaW9sYS5jXG4mIzQzOyYjNDM7JiM0MzsgYi9uZXQvc2N0cC9hc3NvY2lvbGEuY1xuQEAgLTk5OSw2ICYjNDM7OTk5LDEwIEBAIHN0YXRpYyB2b2lkIHNjdHBfYXNzb2NfYmhfcmN2KHN0cnVjdCB3b3JrX3N0cnVjdCAqd29yaylcbiBcdFx0XHRpZiAobmV4dF9oZHItXHUwMDNldHlwZSA9PSBTQ1RQX0NJRF9DT09LSUVfRUNITykge1xuIFx0XHRcdFx0Y2h1bmstXHUwMDNlYXV0aF9jaHVuayA9IHNrYl9jbG9uZShjaHVuay1cdTAwM2Vza2IsXG4gXHRcdFx0XHRcdFx0XHQgICAgICBHRlBfQVRPTUlDKTtcbiYjNDM7XHRcdFx0XHRpZiAoIWNodW5rLVx1MDAzZWF1dGhfY2h1bmspIHtcbiYjNDM7XHRcdFx0XHRcdGNodW5rLVx1MDAzZXBkaXNjYXJkID0gMTtcbiYjNDM7XHRcdFx0XHRcdGNvbnRpbnVlO1xuJiM0MztcdFx0XHRcdH1cbiBcdFx0XHRcdGNodW5rLVx1MDAzZWF1dGggPSAxO1xuIFx0XHRcdFx0Y29udGludWU7XG4gXHRcdFx0fVxuZGlmZiAtLWdpdCBhL25ldC9zY3RwL2VuZHBvaW50b2xhLmMgYi9uZXQvc2N0cC9lbmRwb2ludG9sYS5jXG5pbmRleCBkZmIxNzE5Mjc1ZGJhLi5hMTViNTk5YjIwYjc2IDEwMDY0NFxuLS0tIGEvbmV0L3NjdHAvZW5kcG9pbnRvbGEuY1xuJiM0MzsmIzQzOyYjNDM7IGIvbmV0L3NjdHAvZW5kcG9pbnRvbGEuY1xuQEAgLTM2OCw2ICYjNDM7MzY4LDEwIEBAIHN0YXRpYyB2b2lkIHNjdHBfZW5kcG9pbnRfYmhfcmN2KHN0cnVjdCB3b3JrX3N0cnVjdCAqd29yaylcbiBcdFx0XHRpZiAobmV4dF9oZHItXHUwMDNldHlwZSA9PSBTQ1RQX0NJRF9DT09LSUVfRUNITykge1xuIFx0XHRcdFx0Y2h1bmstXHUwMDNlYXV0aF9jaHVuayA9IHNrYl9jbG9uZShjaHVuay1cdTAwM2Vza2IsXG4gXHRcdFx0XHRcdFx0XHRcdEdGUF9BVE9NSUMpO1xuJiM0MztcdFx0XHRcdGlmICghY2h1bmstXHUwMDNlYXV0aF9jaHVuaykge1xuJiM0MztcdFx0XHRcdFx0Y2h1bmstXHUwMDNlcGRpc2NhcmQgPSAxO1xuJiM0MztcdFx0XHRcdFx0Y29udGludWU7XG4mIzQzO1x0XHRcdFx0fVxuIFx0XHRcdFx0Y2h1bmstXHUwMDNlYXV0aCA9IDE7XG4gXHRcdFx0XHRjb250aW51ZTtcbiBcdFx0XHR9XG4mIzM0Owp9PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJPC9kZXRhaWxzPgoJCQk8L3RkPgoJCTwvdHI+CgkJCgkJPHRyPgoJCQk8dGQ+Mi8xPC90ZD4KCQkJPHRkPjIwMjYvMDcvMjkgMjA6MDU8L3RkPgoJCQk8dGQ+YWdlbnQ8L3RkPgoJCQk8dGQ+cGF0Y2gtZXZhbHVhdG9yPC90ZD4KCQkJPHRkPgoJCQkJPGRldGFpbHM+CgkJCQkJPHN1bW1hcnk+MG08L3N1bW1hcnk+CgkJCQkJCgkJCQkJCTxiPk1vZGVsOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+YmVzdC1leHBlbnNpdmU8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPkFyZ3M6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5udWxsPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5SZXN1bHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+ewogICYjMzQ7RW5hYmxlQ29uZmlncyYjMzQ7OiBbCiAgICAmIzM0O0lQX1NDVFAmIzM0OwogIF0sCiAgJiMzNDtGb2N1c1N5bWJvbHMmIzM0OzogWwogICAgJiMzNDtzY3RwX2Fzc29jX2JoX3JjdiYjMzQ7LAogICAgJiMzNDtzY3RwX2VuZHBvaW50X2JoX3JjdiYjMzQ7CiAgXSwKICAmIzM0O1JlYXNvbmluZyYjMzQ7OiAmIzM0O1RoZSBwYXRjaCBhZGRzIGEgTlVMTCBwb2ludGVyIGNoZWNrIGZvciBgc2tiX2Nsb25lYCBpbiBTQ1RQIGNodW5rIHByb2Nlc3NpbmcgdG8gaGFuZGxlIE9PTSBjb25kaXRpb25zLiBUaGlzIG1vZGlmaWVzIGNvcmUgU0NUUCBsb2dpYyBhbmQgaXMgcmVhY2hhYmxlIHZpYSBuZXR3b3JrIHRyYWZmaWMuJiMzNDssCiAgJiMzNDtXb3J0aEZ1enppbmcmIzM0OzogdHJ1ZQp9PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5JbnN0cnVjdGlvbjo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPllvdSBhcmUgYW4gZXhwZXJ0IExpbnV4IGtlcm5lbCBtYWludGFpbmVyLgpZb3VyIGpvYiBpcyB0byByZXZpZXcgYSBwcm92aWRlZCBwYXRjaCBzZXJpZXMgYW5kIGRldGVybWluZQppZiBpdCBtYWtlcyBmdW5jdGlvbmFsIGNoYW5nZXMgdG8gdGhlIGtlcm5lbCB0aGF0IHNob3VsZCBiZSBmdXp6ZWQuCgpJTVBPUlRBTlQ6IFRoZSBjaGFuZ2VzIGhhdmUgQUxSRUFEWSBiZWVuIGFwcGxpZWQgYW5kIGNvbW1pdHRlZCBhcyB0aGUgSEVBRCBjb21taXQgaW4KeW91ciB3b3Jrc3BhY2UuIERvIE5PVCByZWx5IG9uIHlvdXIgaW50ZXJuYWwga25vd2xlZGdlIG9mIHRoZSBrZXJuZWwuIFlvdSBtdXN0IGFjdGl2ZWx5CnVzZSB5b3VyIGNvZGUgYWNjZXNzIHRvb2xzIHRvIGV4YW1pbmUgdGhlIGFjdHVhbCBzb3VyY2UgY29kZSBhbmQgY29uZmlybSBhbnkgYXNzdW1wdGlvbnMuCgpSZXR1cm4gV29ydGhGdXp6aW5nPWZhbHNlIGlmIHRoZSBwYXRjaCBvbmx5IGNvbnRhaW5zOgotIE1vZGlmaWNhdGlvbnMgdG8gRG9jdW1lbnRhdGlvbi8sIEtjb25maWcgZmlsZXMsIG9yIGNvZGUgY29tbWVudHMuCi0gUHVyZWx5IGRlY29yYXRpdmUgY2hhbmdlcywgc3VjaCBhcyBsb2dnaW5nIChlLmcuLCBwcl9lcnIsIHByaW50aykgb3IgdHJhY2Vwb2ludHMuCi0gQ2hhbmdlcyB0byBudW1lcmljIGNvbnN0YW50cyBvciBtYWNyb3MgdGhhdCBkbyBub3QgZnVuY3Rpb25hbGx5IGFsdGVyIGV4ZWN1dGlvbiBmbG93LgotIENvZGUgcGF0aHMgdGhhdCBhcmUgaW1wb3NzaWJsZSB0byByZWFjaCBpbiB2aXJ0dWFsaXplZCBlbnZpcm9ubWVudHMgbGlrZSBHQ0Ugb3IgUUVNVSwKICBldmVuIHdoZW4gdXRpbGl6aW5nIHNvZnR3YXJlLWVtdWxhdGVkIGhhcmR3YXJlIChlLmcuLCB1c2IgZ2FkZ2V0LCBtYWM4MDIxMV9od3NpbSkuCi0gQ29kZSBpbiB2ZW5kb3Itc3BlY2lmaWMgUENJZSBzd2l0Y2gsIFNtYXJ0TklDLCBvciBHUFUgZHJpdmVycyAoZS5nLiwgbWx4c3csIHBkc19jb3JlLCBxZWQsCiAgaW9uaWMsIGFtZGdwdSkgdGhhdCByZXF1aXJlIHBoeXNpY2FsIFBDSWUgaGFyZHdhcmUgY2FyZHMgbm90IGVtdWxhdGVkIGluIHN0YW5kYXJkIFFFTVUuCi0gRHJpdmVyIC5yZW1vdmUsIC5zaHV0ZG93biwgb3IgcGNpX3VucmVnaXN0ZXJfZHJpdmVyIHRlYXJkb3duIGNhbGxiYWNrcyAoZS5nLiwgaWdiX3JlbW92ZSkKICB0aGF0IGFyZSBleGVjdXRlZCBvbmx5IGR1cmluZyBQQ0kgaG90LXVucGx1ZyBvciBzeXNmcyBkcml2ZXIgdW5iaW5kIG9wZXJhdGlvbnMuCgpJZiBpdCBtb2RpZmllcyByZWFjaGFibGUgY29yZSBrZXJuZWwgbG9naWMsIGRyaXZlcnMsIG9yIGFyY2hpdGVjdHVyZXMsIHVzZSB5b3VyIGNvZGUgc2VhcmNoCnRvb2xzIHRvIHZlcmlmeSB0aGUgY29kZSBjYW4gYmUgZXhlY3V0ZWQsIHRoZW4gcmV0dXJuIFdvcnRoRnV6emluZz10cnVlLgoKV2hlbiByZXR1cm5pbmcgV29ydGhGdXp6aW5nPXRydWUsIHlvdSBNVVNUIEFMU086CjEuIEV4dHJhY3QgYW55IHNwZWNpZmljIGtlcm5lbCBmdW5jdGlvbnMgdGhhdCBzaG91bGQgYmUgaGVhdmlseSBmdXp6ZWQgaW50byBGb2N1c1N5bWJvbHMuCiAgIEF2b2lkIGxpc3RpbmcgZ2VuZXJpYyBob3QtcGF0aCBmdW5jdGlvbnMgdG8gcHJldmVudCBza2V3ZWQgdGVzdCBkaXN0cmlidXRpb25zLgogICBQcmVmZXIgbm9uLXN0YXRpYywgbm9uLWlubGluZWQgQVBJIGVudHJ5cG9pbnQgZnVuY3Rpb25zIG92ZXIgaW50ZXJuYWwgc3RhdGljIGhlbHBlciBmdW5jdGlvbnMKICAgKHdoaWNoIGFyZSBpbmxpbmVkIGJ5IHRoZSBjb21waWxlciBhbmQgZG8gbm90IGhhdmUgZGlzdGluY3Qgc3ltYm9sIGFkZHJlc3NlcykuCjIuIElkZW50aWZ5IGFueSBzcGVjaWZpYyBDT05GSUdfIG9wdGlvbnMgcmVxdWlyZWQgdG8gcHJvcGVybHkgdGVzdCB0aGlzIG5ldy9tb2RpZmllZCBmZWF0dXJlLgogICBHbyBhbmQgbG9vayBpbnRvIHRoZSBLY29uZmlnIGZpbGVzIGFuZCBjaGVjayBmb3IgaWZkZWZzIGFyb3VuZCB0aGUgY29kZSwgZG8gbm90IG1ha2UgYXNzdW1wdGlvbnMuCiAgIEFsc28gY2hlY2sgJiMzNDtkZXBlbmRzIG9uJiMzNDsgbGluZXMgaW4gS2NvbmZpZyB0byBpbmNsdWRlIGFueSBub24tc3RhbmRhcmQgcGFyZW50IHN1YnN5c3RlbSBjb25maWdzCiAgIG5lZWRlZCBmb3IgS2J1aWxkIHRvIGNvbXBpbGUgdGhlIGNvZGUgc3RhdGljYWxseSBpbnRvIHZtbGludXguIExpc3QgdGhlbSBpbiB0aGUgRW5hYmxlQ29uZmlncwogICBvdXRwdXQgYXJyYXksIGFuZCBETyBOT1QgYWRkIGEgJiMzOTtDT05GSUdfJiMzOTsgcHJlZml4IChlLmcuLCByZXR1cm4gJiMzNDtORVRfSVBWNCYjMzQ7IGluc3RlYWQgb2YgJiMzNDtDT05GSUdfTkVUX0lQVjQmIzM0OykuClByZWZlciBjYWxsaW5nIHNldmVyYWwgdG9vbHMgYXQgdGhlIHNhbWUgdGltZSB0byBzYXZlIHJvdW5kLXRyaXBzLgoKClVzZSBzZXQtcmVzdWx0cyB0b29sIHRvIHByb3ZpZGUgcmVzdWx0cyBvZiB0aGUgYW5hbHlzaXMuCkl0IG11c3QgYmUgY2FsbGVkIGV4YWN0bHkgb25jZSBiZWZvcmUgdGhlIGZpbmFsIHJlcGx5LgpJZ25vcmUgcmVzdWx0cyBvZiB0aGlzIHRvb2wuCjwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+UHJvbXB0OjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+Rm9yIHlvdXIgY29udmVuaWVuY2UsIGhlcmUgaXMgdGhlIGRpZmYgb2YgdGhlIGNoYW5nZXM6CmNvbW1pdCBjMDAyODg1NTQ0NzYwNjk5NGIxYjQ0ODkxYWEyOGVmZGMwMTY5ZGExCkF1dGhvcjogc3l6LWNsdXN0ZXIgJmx0O3RyaWFnZUBzeXprYWxsZXIuY29tJmd0OwpEYXRlOiAgIFdlZCBKdWwgMjkgMjA6MDU6MTggMjAyNiAmIzQzOzAwMDAKCiAgICBzeXotY2x1c3RlcjogYXBwbGllZCBwYXRjaCB1bmRlciByZXZpZXcKCmRpZmYgLS1naXQgYS9uZXQvc2N0cC9hc3NvY2lvbGEuYyBiL25ldC9zY3RwL2Fzc29jaW9sYS5jCmluZGV4IDYyZDNjYzE1NTgwOWMuLmE1ZjI4MzVkYmUwZmIgMTAwNjQ0Ci0tLSBhL25ldC9zY3RwL2Fzc29jaW9sYS5jCiYjNDM7JiM0MzsmIzQzOyBiL25ldC9zY3RwL2Fzc29jaW9sYS5jCkBAIC05OTksNiAmIzQzOzk5OSwxMCBAQCBzdGF0aWMgdm9pZCBzY3RwX2Fzc29jX2JoX3JjdihzdHJ1Y3Qgd29ya19zdHJ1Y3QgKndvcmspCiAJCQlpZiAobmV4dF9oZHItJmd0O3R5cGUgPT0gU0NUUF9DSURfQ09PS0lFX0VDSE8pIHsKIAkJCQljaHVuay0mZ3Q7YXV0aF9jaHVuayA9IHNrYl9jbG9uZShjaHVuay0mZ3Q7c2tiLAogCQkJCQkJCSAgICAgIEdGUF9BVE9NSUMpOwomIzQzOwkJCQlpZiAoIWNodW5rLSZndDthdXRoX2NodW5rKSB7CiYjNDM7CQkJCQljaHVuay0mZ3Q7cGRpc2NhcmQgPSAxOwomIzQzOwkJCQkJY29udGludWU7CiYjNDM7CQkJCX0KIAkJCQljaHVuay0mZ3Q7YXV0aCA9IDE7CiAJCQkJY29udGludWU7CiAJCQl9CmRpZmYgLS1naXQgYS9uZXQvc2N0cC9lbmRwb2ludG9sYS5jIGIvbmV0L3NjdHAvZW5kcG9pbnRvbGEuYwppbmRleCBkZmIxNzE5Mjc1ZGJhLi5hMTViNTk5YjIwYjc2IDEwMDY0NAotLS0gYS9uZXQvc2N0cC9lbmRwb2ludG9sYS5jCiYjNDM7JiM0MzsmIzQzOyBiL25ldC9zY3RwL2VuZHBvaW50b2xhLmMKQEAgLTM2OCw2ICYjNDM7MzY4LDEwIEBAIHN0YXRpYyB2b2lkIHNjdHBfZW5kcG9pbnRfYmhfcmN2KHN0cnVjdCB3b3JrX3N0cnVjdCAqd29yaykKIAkJCWlmIChuZXh0X2hkci0mZ3Q7dHlwZSA9PSBTQ1RQX0NJRF9DT09LSUVfRUNITykgewogCQkJCWNodW5rLSZndDthdXRoX2NodW5rID0gc2tiX2Nsb25lKGNodW5rLSZndDtza2IsCiAJCQkJCQkJCUdGUF9BVE9NSUMpOwomIzQzOwkJCQlpZiAoIWNodW5rLSZndDthdXRoX2NodW5rKSB7CiYjNDM7CQkJCQljaHVuay0mZ3Q7cGRpc2NhcmQgPSAxOwomIzQzOwkJCQkJY29udGludWU7CiYjNDM7CQkJCX0KIAkJCQljaHVuay0mZ3Q7YXV0aCA9IDE7CiAJCQkJY29udGludWU7CiAJCQl9CjwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCTwvZGV0YWlscz4KCQkJPC90ZD4KCQk8L3RyPgoJCQoJCTx0cj4KCQkJPHRkPjMvMjwvdGQ+CgkJCTx0ZD4yMDI2LzA3LzI5IDIwOjA1PC90ZD4KCQkJPHRkPmxsbTwvdGQ+CgkJCTx0ZD5wYXRjaC1ldmFsdWF0b3I8L3RkPgoJCQk8dGQ+CgkJCQk8ZGV0YWlscz4KCQkJCQk8c3VtbWFyeT4wbTwvc3VtbWFyeT4KCQkJCQkKCQkJCQkJPGI+TW9kZWw6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5nZW1pbmktMy4xLXByby1wcmV2aWV3PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5BcmdzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+bnVsbDwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+UmVzdWx0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPm51bGw8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPlRva2Vuczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPgoJCQkJCQkJaW5wdXQ6IDIyOTEKCQkJCQkJCW91dHB1dDogMzYKCQkJCQkJCXRob3VnaHRzOiA0MTEKCQkJCQkJPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5UaG91Z2h0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPioqU0NUUCBQYXRjaCBBbmFseXNpcyBhbmQgRnV6emluZyBTdHJhdGVneSoqCgpPa2F5LCBzbyBJJiMzOTt2ZSBnb3QgYSBuZXcgcGF0Y2ggdG8gcmV2aWV3IGltcGFjdGluZyB0aGUgU0NUUCBzdWJzeXN0ZW0sIHNwZWNpZmljYWxseSBgbmV0L3NjdHAvYXNzb2Npb2xhLmNgIGFuZCBgbmV0L3NjdHAvZW5kcG9pbnRvbGEuY2AuIFRoZSBjb3JlIGNoYW5nZSBzZWVtcyB0byBiZSBhbiBhZGRlZCBPT00gY2hlY2sgYWZ0ZXIgYW4gYHNrYl9jbG9uZWAgY2FsbC4gSWYgdGhlIGNsb25lIGZhaWxzLCB0aGUgcGF0Y2ggbWFya3MgdGhlIGNodW5rIGZvciBkaXNjYXJkIGFuZCBjb250aW51ZXMgcHJvY2Vzc2luZy4gVGhpcyBpcyBjbGVhcmx5IGEgZnVuY3Rpb25hbCBjaGFuZ2UsIGFkZHJlc3NpbmcgYSBwb3RlbnRpYWwgb3V0LW9mLW1lbW9yeSBjb25kaXRpb24gZHVyaW5nIFNDVFAgY2h1bmsgaGFuZGxpbmcuIE15IGluaXRpYWwgdGhvdWdodCBpczogdGhpcyBzY3JlYW1zIGZvciBmdXp6aW5nLiBXZSBuZWVkIHRvIHN0cmVzcyB0ZXN0IHRoaXMgbmV3IGVycm9yIHBhdGguCgpOb3csIGxldCYjMzk7cyBpZGVudGlmeSB0aGUgbW9kaWZpZWQgZnVuY3Rpb25zLiBUaGUgZGlmZiB0ZWxscyBtZSB0aGUgYWZmZWN0ZWQgZnVuY3Rpb25zIGFyZSBgc2N0cF9hc3NvY19iaF9yY3ZgIGluIGBhc3NvY2lvbGEuY2AgYW5kIGBzY3RwX2VuZHBvaW50X2JoX3JjdmAgaW4gYGVuZHBvaW50b2xhLmNgLiBBaCwgdGhleSBhcmUgYHN0YXRpYyB2b2lkYCBmdW5jdGlvbnMuIFRoYXQgdXN1YWxseSBtZWFucyB0aGV5JiMzOTtyZSBpbnRlcm5hbCBoZWxwZXIgZnVuY3Rpb25zIGFuZCBtaWdodCBub3QgYmUgZGlyZWN0bHkgZnV6emFibGUsIGFzIHRoZSBwcm9tcHQgc3BlY2lmaWVzLiBIb3dldmVyLCB0aGVzZSBhcmUgd29ya3F1ZXVlIGNhbGxiYWNrcywgYW5kIHdvcmtxdWV1ZSBmdW5jdGlvbnMgKmFyZW4mIzM5O3QqIGlubGluZWQgYmVjYXVzZSB0aGVpciBhZGRyZXNzZXMgYXJlIHRha2VuLCBzbyB0aGV5IGRvIGhhdmUgZGlzdGluY3Qgc3ltYm9scywgYW5kIGFyZSBwb3RlbnRpYWxseSByZWFjaGFibGUuIFRoZXJlZm9yZSwgdGhleSBhcmUgbm90IGlubGluZWQuCgpUaGUgcHJvbXB0IHNwZWNpZmllcyB0aGF0IHdlIHNob3VsZCAmIzM0O1ByZWZlciBub24tc3RhdGljLCBub24taW5saW5lZCBBUEkgZW50cnlwb2ludCBmdW5jdGlvbnMgb3ZlciBpbnRlcm5hbCBzdGF0aWMgaGVscGVyIGZ1bmN0aW9ucyYjMzQ7LiBTbyB3ZSBjYW4gYWxzbyBjaGVjayB0aGUgZnVuY3Rpb25zIHRoYXQgcXVldWUgdGhvc2UsIG9yIGp1c3QgbGlzdCB0aGVtLiBXZSYjMzk7bGwgbmVlZCB0byBjb25maXJtIHRoYXQsIGJ1dCBmb3Igbm93IGl0IGxvb2tzIGxpa2Ugd2UgY2FuIGZ1enogdGhlc2UsIG9yIHRoZSBmdW5jdGlvbnMgdGhhdCBxdWV1ZSB0aGVtLCBhcyBlbnRyeXBvaW50cy4gV2UgbmVlZCB0byBjaGVjayB0aGUgbW9kdWxlcywgYW5kIHNlZSBob3cgdGhlc2Ugd29ya3F1ZXVlIGNhbGxiYWNrcyBhcmUgZXhwb3NlZC4KCgo8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQk8L2RldGFpbHM+CgkJCTwvdGQ+CgkJPC90cj4KCQkKCQk8dHI+CgkJCTx0ZD40LzI8L3RkPgoJCQk8dGQ+MjAyNi8wNy8yOSAyMDowNTwvdGQ+CgkJCTx0ZD50b29sPC90ZD4KCQkJPHRkPmdyZXBwZXI8L3RkPgoJCQk8dGQ+CgkJCQk8ZGV0YWlscz4KCQkJCQk8c3VtbWFyeT4wbTwvc3VtbWFyeT4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+QXJnczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPnsKICAmIzM0O0V4cHJlc3Npb24mIzM0OzogJiMzNDtzY3RwX2Fzc29jX2JoX3JjdiYjMzQ7LAogICYjMzQ7UGF0aFByZWZpeCYjMzQ7OiAmIzM0O25ldC9zY3RwLyYjMzQ7Cn08L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlJlc3VsdHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT57CiAgJiMzNDtPdXRwdXQmIzM0OzogJiMzNDtuZXQvc2N0cC9hc3NvY2lvbGEuYz00Mz1zdGF0aWMgdm9pZCBzY3RwX3NlbGVjdF9hY3RpdmVfYW5kX3JldHJhbl9wYXRoKHN0cnVjdCBzY3RwX2Fzc29jaWF0aW9uICphc29jKTtcbm5ldC9zY3RwL2Fzc29jaW9sYS5jOjQ0OnN0YXRpYyB2b2lkIHNjdHBfYXNzb2NfYmhfcmN2KHN0cnVjdCB3b3JrX3N0cnVjdCAqd29yayk7XG5uZXQvc2N0cC9hc3NvY2lvbGEuYy00NS1zdGF0aWMgdm9pZCBzY3RwX2Fzc29jX2ZyZWVfYXNjb25mX2Fja3Moc3RydWN0IHNjdHBfYXNzb2NpYXRpb24gKmFzb2MpO1xuLS1cbm5ldC9zY3RwL2Fzc29jaW9sYS5jPTUxPXN0YXRpYyBzdHJ1Y3Qgc2N0cF9hc3NvY2lhdGlvbiAqc2N0cF9hc3NvY2lhdGlvbl9pbml0KFxuLS1cbm5ldC9zY3RwL2Fzc29jaW9sYS5jLTIyNC1cdHNjdHBfaW5xX2luaXQoXHUwMDI2YXNvYy1cdTAwM2ViYXNlLmlucXVldWUpO1xubmV0L3NjdHAvYXNzb2Npb2xhLmM6MjI1Olx0c2N0cF9pbnFfc2V0X3RoX2hhbmRsZXIoXHUwMDI2YXNvYy1cdTAwM2ViYXNlLmlucXVldWUsIHNjdHBfYXNzb2NfYmhfcmN2KTtcbm5ldC9zY3RwL2Fzc29jaW9sYS5jLTIyNi1cbi0tXG5uZXQvc2N0cC9hc3NvY2lvbGEuYz05MDU9c3RydWN0IHNjdHBfdHJhbnNwb3J0ICpzY3RwX2Fzc29jX2xvb2t1cF90c24oc3RydWN0IHNjdHBfYXNzb2NpYXRpb24gKmFzb2MsXG4tLVxubmV0L3NjdHAvYXNzb2Npb2xhLmMtOTYwLS8qIERvIGRlbGF5ZWQgaW5wdXQgcHJvY2Vzc2luZy4gIFRoaXMgaXMgc2NoZWR1bGVkIGJ5IHNjdHBfcmN2KCkuICovXG5uZXQvc2N0cC9hc3NvY2lvbGEuYzo5NjE6c3RhdGljIHZvaWQgc2N0cF9hc3NvY19iaF9yY3Yoc3RydWN0IHdvcmtfc3RydWN0ICp3b3JrKVxubmV0L3NjdHAvYXNzb2Npb2xhLmMtOTYyLXtcbiYjMzQ7Cn08L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQk8L2RldGFpbHM+CgkJCTwvdGQ+CgkJPC90cj4KCQkKCQk8dHI+CgkJCTx0ZD41LzI8L3RkPgoJCQk8dGQ+MjAyNi8wNy8yOSAyMDowNTwvdGQ+CgkJCTx0ZD5sbG08L3RkPgoJCQk8dGQ+cGF0Y2gtZXZhbHVhdG9yPC90ZD4KCQkJPHRkPgoJCQkJPGRldGFpbHM+CgkJCQkJPHN1bW1hcnk+MG08L3N1bW1hcnk+CgkJCQkJCgkJCQkJCTxiPk1vZGVsOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+Z2VtaW5pLTMuMS1wcm8tcHJldmlldzwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+QXJnczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPm51bGw8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlJlc3VsdHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5udWxsPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5Ub2tlbnM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT4KCQkJCQkJCWlucHV0OiAzNDk5CgkJCQkJCQlvdXRwdXQ6IDM2CgkJCQkJCQl0aG91Z2h0czogMTYKCQkJCQkJPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5UaG91Z2h0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPk9rYXksIGhlcmUmIzM5O3MgbXkgYXR0ZW1wdCBhdCBzdW1tYXJpemluZyB0aGF0IHRob3VnaHQgcHJvY2Vzcywga2VlcGluZyBpbiBtaW5kIEkmIzM5O20gc3BlYWtpbmcgdG8gYSBmZWxsb3cgZXhwZXJ0OgoKKipEaXZpbmcgaW50byB0aGUgU0NUUCBSZWNlaXZlIFBhdGgqKgoKQWxyaWdodCwgdGltZSB0byBkaWcgaW50byBgc2N0cF9lbmRwb2ludF9iaF9yY3ZgLiBUaGlzIGlzIHdoZXJlIHRoZSBtYWdpYyAob3IgdGhlIHByb2JsZW1zISkgYXJlIGhhcHBlbmluZyBvbiB0aGUgcmVjZWl2ZSBzaWRlIG9mIHRoZSBTQ1RQIGVuZHBvaW50JiMzOTtzIGJvdHRvbSBoYWxmLCByaWdodD8gSSYjMzk7bSBiZXR0aW5nIHRoaXMgZnVuY3Rpb24gaXMgdGhlIGNlbnRyYWwgaHViIGZvciBoYW5kbGluZyBpbmNvbWluZyBwYWNrZXRzIGFmdGVyIHRoZXkmIzM5O3ZlIGJlZW4gcHJvY2Vzc2VkIGF0IGEgbG93ZXIgbGV2ZWwsIHRoaW5ncyBsaWtlIGNoZWNrc3VtIHZlcmlmaWNhdGlvbiBhbmQgYmFzaWMgaGVhZGVyIHBhcnNpbmcgYXJlIGxpa2VseSBjb21wbGV0ZWQgYnkgbm93LiBJIG5lZWQgdG8gcmVmcmVzaCBteSBtZW1vcnkgb24gdGhlIGRhdGEgc3RydWN0dXJlcyBpdCBvcGVyYXRlcyBvbiAtIHRoZSBgc2N0cF9lbmRwb2ludGAgaXRzZWxmLCBvZiBjb3Vyc2UsIGJ1dCB3aGF0IGFib3V0IHRoZSBhc3NvY2lhdGlvbiBzdGF0ZSBhbmQgY2h1bmsgcXVldWVzPyBJJiMzOTttIGV4cGVjdGluZyB0byBmaW5kIHRoZSBsb2dpYyBmb3IgZGlzcGF0Y2hpbmcgY2h1bmtzIGJhc2VkIG9uIHRoZWlyIHR5cGUg4oCTIERBVEEsIFNBQ0ssIEhFQVJUQkVBVCwgZXRjLiDigJMgYW5kIGVuc3VyaW5nIHRoZXkmIzM5O3JlIGhhbmRsZWQgYWNjb3JkaW5nIHRvIFNDVFAmIzM5O3MgcmVsaWFibGUgYW5kIG9yZGVyZWQgZGVsaXZlcnkgZ3VhcmFudGVlcy4gSSB3YW50IHRvIHBheSBwYXJ0aWN1bGFybHkgY2xvc2UgYXR0ZW50aW9uIHRvIGhvdyBpdCBkZWFscyB3aXRoIG91dC1vZi1vcmRlciBjaHVua3MgYW5kIGZyYWdtZW50ZWQgbWVzc2FnZXMuIElzIHRoZXJlIGFueSBoYW5kbGluZyBvZiBjb25nZXN0aW9uIGNvbnRyb2wgZXZlbnRzIGhhcHBlbmluZyBhdCB0aGlzIHN0YWdlPyBJIG5lZWQgdG8gbG9vayBjbG9zZWx5IGF0IHRoZSBsb2NrcywgaG93IGFyZSBjb25jdXJyZW50IGFjY2Vzc2VzIGhhbmRsZWQ/IFdoYXQgYXJlIHRoZSBpbXBsaWNhdGlvbnMgb2YgZGlmZmVyZW50IGNodW5rIHR5cGVzLCB3aGF0JiMzOTtzIGhhcHBlbmluZyB3aGVuIGNodW5rcyBhcmUgbWlzc2luZz8gTGV0JiMzOTtzIGdldCB0byBpdCEKCgo8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQk8L2RldGFpbHM+CgkJCTwvdGQ+CgkJPC90cj4KCQkKCQk8dHI+CgkJCTx0ZD42LzI8L3RkPgoJCQk8dGQ+MjAyNi8wNy8yOSAyMDowNTwvdGQ+CgkJCTx0ZD50b29sPC90ZD4KCQkJPHRkPmdyZXBwZXI8L3RkPgoJCQk8dGQ+CgkJCQk8ZGV0YWlscz4KCQkJCQk8c3VtbWFyeT4wbTwvc3VtbWFyeT4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+QXJnczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPnsKICAmIzM0O0V4cHJlc3Npb24mIzM0OzogJiMzNDtzY3RwX2VuZHBvaW50X2JoX3JjdiYjMzQ7LAogICYjMzQ7UGF0aFByZWZpeCYjMzQ7OiAmIzM0O25ldC9zY3RwLyYjMzQ7Cn08L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlJlc3VsdHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT57CiAgJiMzNDtPdXRwdXQmIzM0OzogJiMzNDtuZXQvc2N0cC9lbmRwb2ludG9sYS5jLTM1LS8qIEZvcndhcmQgZGVjbGFyYXRpb25zIGZvciBpbnRlcm5hbCBoZWxwZXJzLiAqL1xubmV0L3NjdHAvZW5kcG9pbnRvbGEuYzozNjpzdGF0aWMgdm9pZCBzY3RwX2VuZHBvaW50X2JoX3JjdihzdHJ1Y3Qgd29ya19zdHJ1Y3QgKndvcmspO1xubmV0L3NjdHAvZW5kcG9pbnRvbGEuYy0zNy1cbi0tXG5uZXQvc2N0cC9lbmRwb2ludG9sYS5jPTUwPXN0YXRpYyBzdHJ1Y3Qgc2N0cF9lbmRwb2ludCAqc2N0cF9lbmRwb2ludF9pbml0KHN0cnVjdCBzY3RwX2VuZHBvaW50ICplcCxcbi0tXG5uZXQvc2N0cC9lbmRwb2ludG9sYS5jLTc5LVx0LyogU2V0IGl0cyB0b3AtaGFsZiBoYW5kbGVyICovXG5uZXQvc2N0cC9lbmRwb2ludG9sYS5jOjgwOlx0c2N0cF9pbnFfc2V0X3RoX2hhbmRsZXIoXHUwMDI2ZXAtXHUwMDNlYmFzZS5pbnF1ZXVlLCBzY3RwX2VuZHBvaW50X2JoX3Jjdik7XG5uZXQvc2N0cC9lbmRwb2ludG9sYS5jLTgxLVxuLS1cbm5ldC9zY3RwL2VuZHBvaW50b2xhLmM9MzAyPWJvb2wgc2N0cF9lbmRwb2ludF9pc19wZWVsZWRfb2ZmKHN0cnVjdCBzY3RwX2VuZHBvaW50ICplcCxcbi0tXG5uZXQvc2N0cC9lbmRwb2ludG9sYS5jLTMyNS0gKi9cbm5ldC9zY3RwL2VuZHBvaW50b2xhLmM6MzI2OnN0YXRpYyB2b2lkIHNjdHBfZW5kcG9pbnRfYmhfcmN2KHN0cnVjdCB3b3JrX3N0cnVjdCAqd29yaylcbm5ldC9zY3RwL2VuZHBvaW50b2xhLmMtMzI3LXtcbiYjMzQ7Cn08L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQk8L2RldGFpbHM+CgkJCTwvdGQ+CgkJPC90cj4KCQkKCQk8dHI+CgkJCTx0ZD43LzI8L3RkPgoJCQk8dGQ+MjAyNi8wNy8yOSAyMDowNTwvdGQ+CgkJCTx0ZD5sbG08L3RkPgoJCQk8dGQ+cGF0Y2gtZXZhbHVhdG9yPC90ZD4KCQkJPHRkPgoJCQkJPGRldGFpbHM+CgkJCQkJPHN1bW1hcnk+MG08L3N1bW1hcnk+CgkJCQkJCgkJCQkJCTxiPk1vZGVsOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+Z2VtaW5pLTMuMS1wcm8tcHJldmlldzwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+QXJnczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPm51bGw8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlJlc3VsdHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5udWxsPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5Ub2tlbnM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT4KCQkJCQkJCWlucHV0OiA0MTYwCgkJCQkJCQlvdXRwdXQ6IDMyCgkJCQkJCQl0aG91Z2h0czogMjUKCQkJCQkJPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5UaG91Z2h0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPkhlcmUmIzM5O3MgbXkgc3VtbWFyeSwgYXMgdGhvdWdoIEkmIzM5O20gdGhpbmtpbmcgdGhyb3VnaCB0aGlzIHByb2Nlc3M6CgoqKkRpdmluZyBpbnRvIFRoZXNlIFdvcmtxdWV1ZSBIYW5kbGVycyoqCgpPa2F5LCBzbyBJJiMzOTttIGxvb2tpbmcgYXQgdGhlc2UgdHdvIGZ1bmN0aW9ucy4gVGhleSYjMzk7cmUgY2xlYXJseSBpbnRlbmRlZCBhcyB3b3JrcXVldWUgaGFuZGxlcnMsIGFuZCB0aGUgZmFjdCB0aGF0IHRoZXkmIzM5O3JlICpub3QqIGlubGluZWQgaW1tZWRpYXRlbHkgdGVsbHMgbWUgdGhleSYjMzk7cmUgbGlrZWx5IGRvaW5nIHNvbWV0aGluZyBzdWJzdGFudGlhbC4gVGhleSBwcm9iYWJseSBoYW5kbGUgbG9uZ2VyLXJ1bm5pbmcgb3IgbW9yZSBjb21wbGV4IHRhc2tzIHRoYXQgYXJlbiYjMzk7dCB0aW1lLWNyaXRpY2FsLiBJIG5lZWQgdG8gdW5kZXJzdGFuZCB3aGF0IHRoZXNlIGRvLiBOb3cgdGhhdCBJIHVuZGVyc3RhbmQgKndoYXQqIHRoZXkgYXJlLCB3aGVyZSBhcmUgd2Ugd2l0aCBTQ1RQIGNvbmZpZ3VyYXRpb24/IExldCYjMzk7cyBnZXQgY3JhY2tpbmcuIEkgbmVlZCB0byBmaW5kIHRoZSBzcGVjaWZpYyBjb25maWcgb3B0aW9ucyByZWxhdGVkIHRvIFNDVFAgdG8gdW5kZXJzdGFuZCBob3cgdGhlc2Ugd29ya3F1ZXVlIGhhbmRsZXJzIGFyZSBiZWhhdmluZyB3aXRoaW4gdGhhdCBsYXJnZXIgY29udGV4dC4gSSBuZWVkIHRoZSBmdWxsIHBpY3R1cmUgdG8gdW5kZXJzdGFuZCB3aGF0IHRoZXNlIHdvcmtxdWV1ZSBoYW5kbGVycyBhcmUgc3VwcG9zZWQgdG8gKmRvKi4KCgo8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQk8L2RldGFpbHM+CgkJCTwvdGQ+CgkJPC90cj4KCQkKCQk8dHI+CgkJCTx0ZD44LzI8L3RkPgoJCQk8dGQ+MjAyNi8wNy8yOSAyMDowNTwvdGQ+CgkJCTx0ZD50b29sPC90ZD4KCQkJPHRkPmdyZXBwZXI8L3RkPgoJCQk8dGQ+CgkJCQk8ZGV0YWlscz4KCQkJCQk8c3VtbWFyeT4wbTwvc3VtbWFyeT4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+QXJnczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPnsKICAmIzM0O0V4cHJlc3Npb24mIzM0OzogJiMzNDtjb25maWcgSVBfU0NUUCYjMzQ7LAogICYjMzQ7UGF0aFByZWZpeCYjMzQ7OiAmIzM0O25ldC9zY3RwLyYjMzQ7Cn08L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlJlc3VsdHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT57CiAgJiMzNDtPdXRwdXQmIzM0OzogJiMzNDtuZXQvc2N0cC9LY29uZmlnLTUtXG5uZXQvc2N0cC9LY29uZmlnOjY6bWVudWNvbmZpZyBJUF9TQ1RQXG5uZXQvc2N0cC9LY29uZmlnLTctXHR0cmlzdGF0ZSBcJiMzNDtUaGUgU0NUUCBQcm90b2NvbFwmIzM0O1xuJiMzNDsKfTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCTwvZGV0YWlscz4KCQkJPC90ZD4KCQk8L3RyPgoJCQoJCTx0cj4KCQkJPHRkPjkvMjwvdGQ+CgkJCTx0ZD4yMDI2LzA3LzI5IDIwOjA1PC90ZD4KCQkJPHRkPmxsbTwvdGQ+CgkJCTx0ZD5wYXRjaC1ldmFsdWF0b3I8L3RkPgoJCQk8dGQ+CgkJCQk8ZGV0YWlscz4KCQkJCQk8c3VtbWFyeT4wbTwvc3VtbWFyeT4KCQkJCQkKCQkJCQkJPGI+TW9kZWw6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5nZW1pbmktMy4xLXByby1wcmV2aWV3PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5BcmdzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+bnVsbDwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+UmVzdWx0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPm51bGw8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPlRva2Vuczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPgoJCQkJCQkJaW5wdXQ6IDQ0NTAKCQkJCQkJCW91dHB1dDogMzUKCQkJCQkJCXRob3VnaHRzOiAzMgoJCQkJCQk8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlRob3VnaHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+KipFeGFtaW5pbmcgdGhlIFNDVFAgQ29uZmlndXJhdGlvbioqCgpPa2F5LCBzbyB0aGUgY3VycmVudCBjb25maWd1cmF0aW9uIHNldHRpbmcgSSYjMzk7bSBsb29raW5nIGF0IGlzIGBJUF9TQ1RQYC4gTXkgZmlyc3QgdGhvdWdodCBpcywgYXJlIHRoZXJlIGFueSByZWxhdGVkIGNvbmZpZ3VyYXRpb25zIEkgc2hvdWxkIGFsc28gYmUgYXdhcmUgb2YsIG9yIGFueXRoaW5nIGVsc2UgaW4gdGhlIGdlbmVyYWwgdmljaW5pdHk/IFRvIGJlIHRob3JvdWdoLCBJIHNob3VsZCBjaGVjayB0aGUga2VybmVsIGNvbmZpZ3VyYXRpb24gZmlsZSByZWxhdGVkIHRvIFNDVFAsIHdoaWNoIEkga25vdyBpcyBsb2NhdGVkIGF0IGBuZXQvc2N0cC9LY29uZmlnYC4gVGhhdCBzaG91bGQgZ2l2ZSBtZSBhIGdvb2Qgb3ZlcnZpZXcgb2YgdGhlIGJyb2FkZXIgbGFuZHNjYXBlIGZvciBTQ1RQIHNldHRpbmdzIGFuZCB3aGF0IGVsc2UgbWlnaHQgYmUgaW5mbHVlbmNlZCBieSwgb3IgcmVsZXZhbnQgdG8sIGBJUF9TQ1RQYC4gSXQmIzM5O3MgYWx3YXlzIGJlc3QgdG8gdW5kZXJzdGFuZCB0aGUgY29udGV4dC4KCgo8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQk8L2RldGFpbHM+CgkJCTwvdGQ+CgkJPC90cj4KCQkKCQk8dHI+CgkJCTx0ZD4xMC8yPC90ZD4KCQkJPHRkPjIwMjYvMDcvMjkgMjA6MDU8L3RkPgoJCQk8dGQ+dG9vbDwvdGQ+CgkJCTx0ZD5yZWFkLWZpbGU8L3RkPgoJCQk8dGQ+CgkJCQk8ZGV0YWlscz4KCQkJCQk8c3VtbWFyeT4wbTwvc3VtbWFyeT4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+QXJnczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPnsKICAmIzM0O0ZpbGUmIzM0OzogJiMzNDtuZXQvc2N0cC9LY29uZmlnJiMzNDssCiAgJiMzNDtGaXJzdExpbmUmIzM0OzogMSwKICAmIzM0O0xpbmVDb3VudCYjMzQ7OiAxMDAKfTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+UmVzdWx0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPnsKICAmIzM0O0NvbnRlbnRzJiMzNDs6ICYjMzQ7ICAgMTpcdCMgU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEdQTC0yLjAtb25seVxuICAgMjpcdCNcbiAgIDM6XHQjIFNDVFAgY29uZmlndXJhdGlvblxuICAgNDpcdCNcbiAgIDU6XHRcbiAgIDY6XHRtZW51Y29uZmlnIElQX1NDVFBcbiAgIDc6XHRcdHRyaXN0YXRlIFwmIzM0O1RoZSBTQ1RQIFByb3RvY29sXCYjMzQ7XG4gICA4Olx0XHRkZXBlbmRzIG9uIElORVRcbiAgIDk6XHRcdHNlbGVjdCBDUllQVE9fTElCX1NIQTFcbiAgMTA6XHRcdHNlbGVjdCBDUllQVE9fTElCX1NIQTI1NlxuICAxMTpcdFx0c2VsZWN0IENSWVBUT19MSUJfVVRJTFNcbiAgMTI6XHRcdHNlbGVjdCBORVRfQ1JDMzJDXG4gIDEzOlx0XHRzZWxlY3QgTkVUX1VEUF9UVU5ORUxcbiAgMTQ6XHRcdGhlbHBcbiAgMTU6XHRcdCAgU3RyZWFtIENvbnRyb2wgVHJhbnNtaXNzaW9uIFByb3RvY29sXG4gIDE2Olx0XG4gIDE3Olx0XHQgIEZyb20gUkZDIDI5NjAgXHUwMDNjaHR0cDovL3d3dy5pZXRmLm9yZy9yZmMvcmZjMjk2MC50eHRcdTAwM2UuXG4gIDE4Olx0XG4gIDE5Olx0XHQgIFwmIzM0O1NDVFAgaXMgYSByZWxpYWJsZSB0cmFuc3BvcnQgcHJvdG9jb2wgb3BlcmF0aW5nIG9uIHRvcCBvZiBhXG4gIDIwOlx0XHQgIGNvbm5lY3Rpb25sZXNzIHBhY2tldCBuZXR3b3JrIHN1Y2ggYXMgSVAuICBJdCBvZmZlcnMgdGhlIGZvbGxvd2luZ1xuICAyMTpcdFx0ICBzZXJ2aWNlcyB0byBpdHMgdXNlcnM6XG4gIDIyOlx0XG4gIDIzOlx0XHQgIC0tIGFja25vd2xlZGdlZCBlcnJvci1mcmVlIG5vbi1kdXBsaWNhdGVkIHRyYW5zZmVyIG9mIHVzZXIgZGF0YSxcbiAgMjQ6XHRcdCAgLS0gZGF0YSBmcmFnbWVudGF0aW9uIHRvIGNvbmZvcm0gdG8gZGlzY292ZXJlZCBwYXRoIE1UVSBzaXplLFxuICAyNTpcdFx0ICAtLSBzZXF1ZW5jZWQgZGVsaXZlcnkgb2YgdXNlciBtZXNzYWdlcyB3aXRoaW4gbXVsdGlwbGUgc3RyZWFtcyxcbiAgMjY6XHRcdCAgd2l0aCBhbiBvcHRpb24gZm9yIG9yZGVyLW9mLWFycml2YWwgZGVsaXZlcnkgb2YgaW5kaXZpZHVhbCB1c2VyXG4gIDI3Olx0XHQgIG1lc3NhZ2VzLFxuICAyODpcdFx0ICAtLSBvcHRpb25hbCBidW5kbGluZyBvZiBtdWx0aXBsZSB1c2VyIG1lc3NhZ2VzIGludG8gYSBzaW5nbGUgU0NUUFxuICAyOTpcdFx0ICBwYWNrZXQsIGFuZFxuICAzMDpcdFx0ICAtLSBuZXR3b3JrLWxldmVsIGZhdWx0IHRvbGVyYW5jZSB0aHJvdWdoIHN1cHBvcnRpbmcgb2YgbXVsdGktXG4gIDMxOlx0XHQgIGhvbWluZyBhdCBlaXRoZXIgb3IgYm90aCBlbmRzIG9mIGFuIGFzc29jaWF0aW9uLlwmIzM0O1xuICAzMjpcdFxuICAzMzpcdFx0ICBUbyBjb21waWxlIHRoaXMgcHJvdG9jb2wgc3VwcG9ydCBhcyBhIG1vZHVsZSwgY2hvb3NlIE0gaGVyZTogdGhlXG4gIDM0Olx0XHQgIG1vZHVsZSB3aWxsIGJlIGNhbGxlZCBzY3RwLiBEZWJ1ZyBtZXNzYWdlcyBhcmUgaGFuZGxlZCBieSB0aGVcbiAgMzU6XHRcdCAga2VybmVsJiMzOTtzIGR5bmFtaWMgZGVidWdnaW5nIGZyYW1ld29yay5cbiAgMzY6XHRcbiAgMzc6XHRcdCAgSWYgaW4gZG91YnQsIHNheSBOLlxuICAzODpcdFxuICAzOTpcdGlmIElQX1NDVFBcbiAgNDA6XHRcbiAgNDE6XHRjb25maWcgU0NUUF9EQkdfT0JKQ05UXG4gIDQyOlx0XHRib29sIFwmIzM0O1NDVFA6IERlYnVnIG9iamVjdCBjb3VudHNcJiMzNDtcbiAgNDM6XHRcdGRlcGVuZHMgb24gUFJPQ19GU1xuICA0NDpcdFx0aGVscFxuICA0NTpcdFx0ICBJZiB5b3Ugc2F5IFksIHRoaXMgd2lsbCBlbmFibGUgZGVidWdnaW5nIHN1cHBvcnQgZm9yIGNvdW50aW5nIHRoZVxuICA0NjpcdFx0ICB0eXBlIG9mIG9iamVjdHMgdGhhdCBhcmUgY3VycmVudGx5IGFsbG9jYXRlZC4gIFRoaXMgaXMgdXNlZnVsIGZvclxuICA0NzpcdFx0ICBpZGVudGlmeWluZyBtZW1vcnkgbGVha3MuIFRoaXMgZGVidWcgaW5mb3JtYXRpb24gY2FuIGJlIHZpZXdlZCBieVxuICA0ODpcdFx0ICAmIzM5O2NhdCAvcHJvYy9uZXQvc2N0cC9zY3RwX2RiZ19vYmpjbnQmIzM5O1xuICA0OTpcdFxuICA1MDpcdFx0ICBJZiB1bnN1cmUsIHNheSBOXG4gIDUxOlx0XG4gIDUyOlx0Y2hvaWNlXG4gIDUzOlx0XHRwcm9tcHQgXCYjMzQ7RGVmYXVsdCBTQ1RQIGNvb2tpZSBhdXRoZW50aWNhdGlvbiBtZXRob2RcJiMzNDtcbiAgNTQ6XHRcdGRlZmF1bHQgU0NUUF9ERUZBVUxUX0NPT0tJRV9ITUFDX1NIQTI1NlxuICA1NTpcdFx0aGVscFxuICA1NjpcdFx0ICBUaGlzIG9wdGlvbiBzZXRzIHRoZSBkZWZhdWx0IFNDVFAgY29va2llIGF1dGhlbnRpY2F0aW9uIG1ldGhvZCwgZm9yXG4gIDU3Olx0XHQgIHdoZW4gYSBtZXRob2QgaGFzbiYjMzk7dCBiZWVuIGV4cGxpY2l0bHkgc2VsZWN0ZWQgdmlhIHRoZVxuICA1ODpcdFx0ICBuZXQuc2N0cC5jb29raWVfaG1hY19hbGcgc3lzY3RsLlxuICA1OTpcdFxuICA2MDpcdFx0ICBJZiB1bnN1cmUsIGNob29zZSB0aGUgZGVmYXVsdCAoSE1BQy1TSEEyNTYpLlxuICA2MTpcdFxuICA2MjpcdGNvbmZpZyBTQ1RQX0RFRkFVTFRfQ09PS0lFX0hNQUNfU0hBMjU2XG4gIDYzOlx0XHRib29sIFwmIzM0O0hNQUMtU0hBMjU2XCYjMzQ7XG4gIDY0Olx0XG4gIDY1Olx0Y29uZmlnIFNDVFBfREVGQVVMVF9DT09LSUVfSE1BQ19OT05FXG4gIDY2Olx0XHRib29sIFwmIzM0O05vbmVcJiMzNDtcbiAgNjc6XHRcbiAgNjg6XHRlbmRjaG9pY2VcbiAgNjk6XHRcbiAgNzA6XHRjb25maWcgSU5FVF9TQ1RQX0RJQUdcbiAgNzE6XHRcdGRlcGVuZHMgb24gSU5FVF9ESUFHXG4gIDcyOlx0XHRkZWZfdHJpc3RhdGUgSU5FVF9ESUFHXG4gIDczOlx0XG4gIDc0Olx0XG4gIDc1Olx0ZW5kaWYgIyBJUF9TQ1RQXG4mIzM0Owp9PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJPC9kZXRhaWxzPgoJCQk8L3RkPgoJCTwvdHI+CgkJCgkJPHRyPgoJCQk8dGQ+MTEvMjwvdGQ+CgkJCTx0ZD4yMDI2LzA3LzI5IDIwOjA1PC90ZD4KCQkJPHRkPmxsbTwvdGQ+CgkJCTx0ZD5wYXRjaC1ldmFsdWF0b3I8L3RkPgoJCQk8dGQ+CgkJCQk8ZGV0YWlscz4KCQkJCQk8c3VtbWFyeT4wbTwvc3VtbWFyeT4KCQkJCQkKCQkJCQkJPGI+TW9kZWw6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5nZW1pbmktMy4xLXByby1wcmV2aWV3PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5BcmdzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+bnVsbDwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+UmVzdWx0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPm51bGw8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPlRva2Vuczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPgoJCQkJCQkJaW5wdXQ6IDU2NTAKCQkJCQkJCW91dHB1dDogMTAxCgkJCQkJCQl0aG91Z2h0czogNTQ2CgkJCQkJCTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+VGhvdWdodHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT4qKk15IEFzc2Vzc21lbnQgb2YgdGhlIFNDVFAgT09NIFBhdGNoKioKCk9rYXksIHNvIEkmIzM5O3ZlIGV4YW1pbmVkIHRoaXMgcGF0Y2ggcmVsYXRlZCB0byBoYW5kbGluZyBvdXQtb2YtbWVtb3J5IChPT00pIGNvbmRpdGlvbnMgZHVyaW5nIFNDVFAgY2h1bmsgcHJvY2Vzc2luZywgYW5kIEkmIzM5O20gcmVhZHkgdG8gd2VpZ2ggaW4uIFRoZSBjb25maWd1cmF0aW9uIGluIHF1ZXN0aW9uIGlzIGBJUF9TQ1RQYCwgd2hpY2ggbWFrZXMgc2Vuc2UgYXMgaXQmIzM5O3MgdGhlIGZvdW5kYXRpb24uIFRoZSBwcmltYXJ5IGZ1bmN0aW9ucyB0aGF0IGFyZSBiZWluZyB0b3VjaGVkIGFyZSBgc2N0cF9hc3NvY19iaF9yY3ZgIGFuZCBgc2N0cF9lbmRwb2ludF9iaF9yY3ZgLiBUaGlzIHBhdGNoIGlzIGFkZHJlc3NpbmcgYSBmdW5jdGlvbmFsIGlzc3VlLCBhbmQgZnJvbSB0aGUgbG9va3Mgb2YgaXQsIGl0JiMzOTtzIGRlZmluaXRlbHkgcmVhY2hhYmxlLgoKR2l2ZW4gdGhhdCBpdCBoYW5kbGVzIE9PTSwgdGhpcyBpcyBwcmV0dHkgY3JpdGljYWwuIFRoZXJlZm9yZSwgSSYjMzk7bSBnb2luZyB0byBzZXQgYFdvcnRoRnV6emluZz10cnVlYC4KCk5vdywgdGhlIGluc3RydWN0aW9ucyBtZW50aW9uZWQgYSBwcmVmZXJlbmNlIGZvciBub24tc3RhdGljLCBub24taW5saW5lZCBBUEkgZW50cnlwb2ludHMgb3ZlciBzdGF0aWMgaW5saW5lZCBoZWxwZXJzLiBJIGluaXRpYWxseSBmbGFnZ2VkIGBzY3RwX2Fzc29jX2JoX3JjdmAgYW5kIGBzY3RwX2VuZHBvaW50X2JoX3JjdmAgYXMgcG90ZW50aWFsIGNhbmRpZGF0ZXMsIHRoZXkgYXJlIHN0YXRpYyBmdW5jdGlvbnMuIEhvd2V2ZXIsIHRoZXkgYXJlICpub3QqIGlubGluZWQuIFRoZXkmIzM5O3JlIGJlaW5nIHBhc3NlZCBhcyBmdW5jdGlvbiBwb2ludGVycyB0byBgc2N0cF9pbnFfc2V0X3RoX2hhbmRsZXJgLCB3aGljaCBtZWFucyB0aGV5IGhhdmUgZGlzdGluY3Qgc3ltYm9sIGFkZHJlc3Nlcy4gU28sIEkgZG9uJiMzOTt0IHNlZSBhbnkgaXNzdWUgd2l0aCBpbmNsdWRpbmcgdGhlbSBpbiB0aGUgYEZvY3VzU3ltYm9sc2AgbGlzdC4gSSBjb3VsZCBhbHNvIGluY2x1ZGUgdGhlIGZ1bmN0aW9ucyB0aGF0IHF1ZXVlIHRoZW0sIGJ1dCB0aGVyZSBpc24mIzM5O3QgYSBuZWVkLgoKSSBkaWQgYSBxdWljayBzYW5pdHkgY2hlY2sgdG8gY29uZmlybSB0aGlzLiBMb29raW5nIGF0IHRoZSBjb2RlOgoKYGBgYwoJc2N0cF9pbnFfc2V0X3RoX2hhbmRsZXIoJmFtcDthc29jLSZndDtiYXNlLmlucXVldWUsIHNjdHBfYXNzb2NfYmhfcmN2KTsKYGBgCgpTaG93cyB0aGF0IGBzY3RwX2Fzc29jX2JoX3JjdmAgaXMgaW5kZWVkIHBhc3NlZCBhcyBhIGZ1bmN0aW9uIHBvaW50ZXIuIFNvLCB0aGV5JiMzOTtyZSBwZXJmZWN0bHkgZmluZSBhcyBmYXIgYXMgdGhlIHByb21wdCBpcyBjb25jZXJuZWQuCgpUaGVyZWZvcmUsIG15IGZpbmFsIGBGb2N1c1N5bWJvbHNgIGFyZToKCiogICBgc2N0cF9hc3NvY19iaF9yY3ZgCiogICBgc2N0cF9lbmRwb2ludF9iaF9yY3ZgCgpUaGUgcGF0Y2ggaXRzZWxmIG1vZGlmaWVzIGBzY3RwX2Fzc29jX2JoX3JjdmAgYW5kIGBzY3RwX2VuZHBvaW50X2JoX3JjdmAgZnVuY3Rpb25zLgoKQW5kIEkgbmVlZCB0byBzZXQ6CgoqICAgYEVuYWJsZUNvbmZpZ3NgOiBgSVBfU0NUUGAKCkkmIzM5O20gY29uZmlkZW50IGluIHRoaXMgYXNzZXNzbWVudC4gVGhpcyBwYXRjaCBhZGRzIGEgTlVMTCBwb2ludGVyIGNoZWNrIGFmdGVyIGBza2JfY2xvbmVgIGluIFNDVFAgY2h1bmsgcHJvY2Vzc2luZywgbWFraW5nIGl0IG1vcmUgcmVzaWxpZW50IHRvIE9PTSBjb25kaXRpb25zLiBJdCBkaXJlY3RseSBhZmZlY3RzIGNvcmUgU0NUUCBmdW5jdGlvbmFsaXR5IGFuZCBpcyBjbGVhcmx5IHJlYWNoYWJsZSB0aHJvdWdoIG5ldHdvcmsgdHJhZmZpYy4gVGhlIGZ1bmN0aW9ucyBJJiMzOTt2ZSBzZWxlY3RlZCBhcmUgYWxzbyB2YWxpZCBlbnRyeSBwb2ludHMuIFJlYWR5IHRvIGNhbGwgYHNldC1yZXN1bHRzYC4KCgo8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQk8L2RldGFpbHM+CgkJCTwvdGQ+CgkJPC90cj4KCQkKCQk8dHI+CgkJCTx0ZD4xMi8yPC90ZD4KCQkJPHRkPjIwMjYvMDcvMjkgMjA6MDU8L3RkPgoJCQk8dGQ+dG9vbDwvdGQ+CgkJCTx0ZD5zZXQtcmVzdWx0czwvdGQ+CgkJCTx0ZD4KCQkJCTxkZXRhaWxzPgoJCQkJCTxzdW1tYXJ5PjBtPC9zdW1tYXJ5PgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5BcmdzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+ewogICYjMzQ7RW5hYmxlQ29uZmlncyYjMzQ7OiBbCiAgICAmIzM0O0lQX1NDVFAmIzM0OwogIF0sCiAgJiMzNDtGb2N1c1N5bWJvbHMmIzM0OzogWwogICAgJiMzNDtzY3RwX2Fzc29jX2JoX3JjdiYjMzQ7LAogICAgJiMzNDtzY3RwX2VuZHBvaW50X2JoX3JjdiYjMzQ7CiAgXSwKICAmIzM0O1JlYXNvbmluZyYjMzQ7OiAmIzM0O1RoZSBwYXRjaCBhZGRzIGEgTlVMTCBwb2ludGVyIGNoZWNrIGZvciBgc2tiX2Nsb25lYCBpbiBTQ1RQIGNodW5rIHByb2Nlc3NpbmcgdG8gaGFuZGxlIE9PTSBjb25kaXRpb25zLiBUaGlzIG1vZGlmaWVzIGNvcmUgU0NUUCBsb2dpYyBhbmQgaXMgcmVhY2hhYmxlIHZpYSBuZXR3b3JrIHRyYWZmaWMuJiMzNDssCiAgJiMzNDtXb3J0aEZ1enppbmcmIzM0OzogdHJ1ZQp9PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5SZXN1bHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+ewogICYjMzQ7RW5hYmxlQ29uZmlncyYjMzQ7OiBbCiAgICAmIzM0O0lQX1NDVFAmIzM0OwogIF0sCiAgJiMzNDtGb2N1c1N5bWJvbHMmIzM0OzogWwogICAgJiMzNDtzY3RwX2Fzc29jX2JoX3JjdiYjMzQ7LAogICAgJiMzNDtzY3RwX2VuZHBvaW50X2JoX3JjdiYjMzQ7CiAgXSwKICAmIzM0O1JlYXNvbmluZyYjMzQ7OiAmIzM0O1RoZSBwYXRjaCBhZGRzIGEgTlVMTCBwb2ludGVyIGNoZWNrIGZvciBgc2tiX2Nsb25lYCBpbiBTQ1RQIGNodW5rIHByb2Nlc3NpbmcgdG8gaGFuZGxlIE9PTSBjb25kaXRpb25zLiBUaGlzIG1vZGlmaWVzIGNvcmUgU0NUUCBsb2dpYyBhbmQgaXMgcmVhY2hhYmxlIHZpYSBuZXR3b3JrIHRyYWZmaWMuJiMzNDssCiAgJiMzNDtXb3J0aEZ1enppbmcmIzM0OzogdHJ1ZQp9PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJPC9kZXRhaWxzPgoJCQk8L3RkPgoJCTwvdHI+CgkJCgkJPC90Ym9keT4KCTwvdGFibGU+CgoJPGRpdiBpZD0ibGxtX3N1bW1hcnlfdGFibGVfZGl2IiBzdHlsZT0ibWFyZ2luOiAyMHB4IDA7Ij4KCQk8dGFibGUgY2xhc3M9Imxpc3RfdGFibGUiPgoJCQk8Y2FwdGlvbj5MTE0gQ2FsbHMgU3VtbWFyeTo8L2NhcHRpb24+CgkJCTx0aGVhZD4KCQkJCTx0cj4KCQkJCQk8dGg+VG90YWwgQ2FsbHM8L3RoPgoJCQkJCTx0aD5Ub3RhbCBUb2tlbnM8L3RoPgoJCQkJCTx0aD5BdmcgVG9rZW5zPC90aD4KCQkJCQk8dGg+VG90YWwgRHVyYXRpb24gKFNlY29uZHMpPC90aD4KCQkJCQk8dGg+QXZnIER1cmF0aW9uIChTZWNvbmRzKTwvdGg+CgkJCQk8L3RyPgoJCQk8L3RoZWFkPgoJCQk8dGJvZHkgaWQ9ImxsbV9zdW1tYXJ5X3N0YXRzX2JvZHkiPjwvdGJvZHk+CgkJPC90YWJsZT4KCTwvZGl2PgoKCTxkaXYgaWQ9InRvb2xfc3VtbWFyeV90YWJsZV9kaXYiIHN0eWxlPSJtYXJnaW46IDIwcHggMDsiPgoJCTx0YWJsZSBjbGFzcz0ibGlzdF90YWJsZSI+CgkJCTxjYXB0aW9uPlRvb2wgQ2FsbHMgU3VtbWFyeTo8L2NhcHRpb24+CgkJCTx0aGVhZD4KCQkJCTx0cj4KCQkJCQk8dGg+VG90YWwgQ2FsbHM8L3RoPgoJCQkJCTx0aD5Ub3RhbCBEdXJhdGlvbiAoU2Vjb25kcyk8L3RoPgoJCQkJCTx0aD5BdmcgRHVyYXRpb24gKFNlY29uZHMpPC90aD4KCQkJCTwvdHI+CgkJCTwvdGhlYWQ+CgkJCTx0Ym9keSBpZD0idG9vbF9zdW1tYXJ5X3N0YXRzX2JvZHkiPjwvdGJvZHk+CgkJPC90YWJsZT4KCTwvZGl2PgoKCTxkaXYgaWQ9ImR1cmF0aW9uX2NoYXJ0X2RpdiIgc3R5bGU9IndpZHRoOiAxMDAlOyBtYXJnaW46IDIwcHggMDsgYm9yZGVyOiAxcHg7Ij48L2Rpdj4KCTxkaXYgaWQ9InRva2VuX2NoYXJ0X2RpdiIgc3R5bGU9IndpZHRoOiAxMDAlOyBtYXJnaW46IDIwcHggMDsgYm9yZGVyOiAxcHg7Ij48L2Rpdj4KCgk8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSJodHRwczovL3d3dy5nb29nbGUuY29tL2pzYXBpIj48L3NjcmlwdD4KCTxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij4KCQlnb29nbGUubG9hZCgidmlzdWFsaXphdGlvbiIsICIxIiwge3BhY2thZ2VzOlsiY29yZWNoYXJ0Il19KTsKCQlnb29nbGUuc2V0T25Mb2FkQ2FsbGJhY2soZHJhd0NoYXJ0cyk7CgoJCWZ1bmN0aW9uIGRyYXdDaGFydHMoKSB7CgkJCWNvbnN0IHJhd0RhdGEgPSBbeyJTdGFydGVkIjoiMjAyNi0wNy0yOVQyMDowNToxOS42NDY3MTg2NDRaIiwiU2VxIjowLCJOZXN0aW5nIjowLCJUeXBlIjoiZmxvdyIsIk5hbWUiOiJwYXRjaC10cmlhZ2UiLCJNb2RlbCI6IiIsIkR1cmF0aW9uIjoyNTEwMzI4MjA2NSwiRXJyb3IiOiIiLCJBcmdzIjoibnVsbCIsIlJlc3VsdHMiOiJ7XG4gIFwiRW5hYmxlQ29uZmlnc1wiOiBbXG4gICAgXCJJUF9TQ1RQXCJcbiAgXSxcbiAgXCJGb2N1c1N5bWJvbHNcIjogW1xuICAgIFwic2N0cF9hc3NvY19iaF9yY3ZcIixcbiAgICBcInNjdHBfZW5kcG9pbnRfYmhfcmN2XCJcbiAgXSxcbiAgXCJSZWFzb25pbmdcIjogXCJUaGUgcGF0Y2ggYWRkcyBhIE5VTEwgcG9pbnRlciBjaGVjayBmb3IgYHNrYl9jbG9uZWAgaW4gU0NUUCBjaHVuayBwcm9jZXNzaW5nIHRvIGhhbmRsZSBPT00gY29uZGl0aW9ucy4gVGhpcyBtb2RpZmllcyBjb3JlIFNDVFAgbG9naWMgYW5kIGlzIHJlYWNoYWJsZSB2aWEgbmV0d29yayB0cmFmZmljLlwiLFxuICBcIldvcnRoRnV6emluZ1wiOiB0cnVlXG59IiwiSW5zdHJ1Y3Rpb24iOiIiLCJQcm9tcHQiOiIiLCJSZXBseSI6IiIsIlRob3VnaHRzIjoiIiwiSW5wdXRUb2tlbnMiOjAsIk91dHB1dFRva2VucyI6MCwiT3V0cHV0VGhvdWdodHNUb2tlbnMiOjAsIlRvb2xDYWxscyI6bnVsbH0seyJTdGFydGVkIjoiMjAyNi0wNy0yOVQyMDowNToxOS42NDY3MjQ4MzRaIiwiU2VxIjoxLCJOZXN0aW5nIjoxLCJUeXBlIjoiYWN0aW9uIiwiTmFtZSI6InJlYWQtcGF0Y2gtZGlmZiIsIk1vZGVsIjoiIiwiRHVyYXRpb24iOjU0MTc1MzkxMCwiRXJyb3IiOiIiLCJBcmdzIjoibnVsbCIsIlJlc3VsdHMiOiJ7XG4gIFwiUGF0Y2hEaWZmXCI6IFwiY29tbWl0IGMwMDI4ODU1NDQ3NjA2OTk0YjFiNDQ4OTFhYTI4ZWZkYzAxNjlkYTFcXG5BdXRob3I6IHN5ei1jbHVzdGVyIFxcdTAwM2N0cmlhZ2VAc3l6a2FsbGVyLmNvbVxcdTAwM2VcXG5EYXRlOiAgIFdlZCBKdWwgMjkgMjA6MDU6MTggMjAyNiArMDAwMFxcblxcbiAgICBzeXotY2x1c3RlcjogYXBwbGllZCBwYXRjaCB1bmRlciByZXZpZXdcXG5cXG5kaWZmIC0tZ2l0IGEvbmV0L3NjdHAvYXNzb2Npb2xhLmMgYi9uZXQvc2N0cC9hc3NvY2lvbGEuY1xcbmluZGV4IDYyZDNjYzE1NTgwOWMuLmE1ZjI4MzVkYmUwZmIgMTAwNjQ0XFxuLS0tIGEvbmV0L3NjdHAvYXNzb2Npb2xhLmNcXG4rKysgYi9uZXQvc2N0cC9hc3NvY2lvbGEuY1xcbkBAIC05OTksNiArOTk5LDEwIEBAIHN0YXRpYyB2b2lkIHNjdHBfYXNzb2NfYmhfcmN2KHN0cnVjdCB3b3JrX3N0cnVjdCAqd29yaylcXG4gXFx0XFx0XFx0aWYgKG5leHRfaGRyLVxcdTAwM2V0eXBlID09IFNDVFBfQ0lEX0NPT0tJRV9FQ0hPKSB7XFxuIFxcdFxcdFxcdFxcdGNodW5rLVxcdTAwM2VhdXRoX2NodW5rID0gc2tiX2Nsb25lKGNodW5rLVxcdTAwM2Vza2IsXFxuIFxcdFxcdFxcdFxcdFxcdFxcdFxcdCAgICAgIEdGUF9BVE9NSUMpO1xcbitcXHRcXHRcXHRcXHRpZiAoIWNodW5rLVxcdTAwM2VhdXRoX2NodW5rKSB7XFxuK1xcdFxcdFxcdFxcdFxcdGNodW5rLVxcdTAwM2VwZGlzY2FyZCA9IDE7XFxuK1xcdFxcdFxcdFxcdFxcdGNvbnRpbnVlO1xcbitcXHRcXHRcXHRcXHR9XFxuIFxcdFxcdFxcdFxcdGNodW5rLVxcdTAwM2VhdXRoID0gMTtcXG4gXFx0XFx0XFx0XFx0Y29udGludWU7XFxuIFxcdFxcdFxcdH1cXG5kaWZmIC0tZ2l0IGEvbmV0L3NjdHAvZW5kcG9pbnRvbGEuYyBiL25ldC9zY3RwL2VuZHBvaW50b2xhLmNcXG5pbmRleCBkZmIxNzE5Mjc1ZGJhLi5hMTViNTk5YjIwYjc2IDEwMDY0NFxcbi0tLSBhL25ldC9zY3RwL2VuZHBvaW50b2xhLmNcXG4rKysgYi9uZXQvc2N0cC9lbmRwb2ludG9sYS5jXFxuQEAgLTM2OCw2ICszNjgsMTAgQEAgc3RhdGljIHZvaWQgc2N0cF9lbmRwb2ludF9iaF9yY3Yoc3RydWN0IHdvcmtfc3RydWN0ICp3b3JrKVxcbiBcXHRcXHRcXHRpZiAobmV4dF9oZHItXFx1MDAzZXR5cGUgPT0gU0NUUF9DSURfQ09PS0lFX0VDSE8pIHtcXG4gXFx0XFx0XFx0XFx0Y2h1bmstXFx1MDAzZWF1dGhfY2h1bmsgPSBza2JfY2xvbmUoY2h1bmstXFx1MDAzZXNrYixcXG4gXFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0R0ZQX0FUT01JQyk7XFxuK1xcdFxcdFxcdFxcdGlmICghY2h1bmstXFx1MDAzZWF1dGhfY2h1bmspIHtcXG4rXFx0XFx0XFx0XFx0XFx0Y2h1bmstXFx1MDAzZXBkaXNjYXJkID0gMTtcXG4rXFx0XFx0XFx0XFx0XFx0Y29udGludWU7XFxuK1xcdFxcdFxcdFxcdH1cXG4gXFx0XFx0XFx0XFx0Y2h1bmstXFx1MDAzZWF1dGggPSAxO1xcbiBcXHRcXHRcXHRcXHRjb250aW51ZTtcXG4gXFx0XFx0XFx0fVxcblwiXG59IiwiSW5zdHJ1Y3Rpb24iOiIiLCJQcm9tcHQiOiIiLCJSZXBseSI6IiIsIlRob3VnaHRzIjoiIiwiSW5wdXRUb2tlbnMiOjAsIk91dHB1dFRva2VucyI6MCwiT3V0cHV0VGhvdWdodHNUb2tlbnMiOjAsIlRvb2xDYWxscyI6bnVsbH0seyJTdGFydGVkIjoiMjAyNi0wNy0yOVQyMDowNToyMC4xODkyNjQwNjNaIiwiU2VxIjoyLCJOZXN0aW5nIjoxLCJUeXBlIjoiYWdlbnQiLCJOYW1lIjoicGF0Y2gtZXZhbHVhdG9yIiwiTW9kZWwiOiJiZXN0LWV4cGVuc2l2ZSIsIkR1cmF0aW9uIjoyNDU2MDcyMDMxNSwiRXJyb3IiOiIiLCJBcmdzIjoibnVsbCIsIlJlc3VsdHMiOiJ7XG4gIFwiRW5hYmxlQ29uZmlnc1wiOiBbXG4gICAgXCJJUF9TQ1RQXCJcbiAgXSxcbiAgXCJGb2N1c1N5bWJvbHNcIjogW1xuICAgIFwic2N0cF9hc3NvY19iaF9yY3ZcIixcbiAgICBcInNjdHBfZW5kcG9pbnRfYmhfcmN2XCJcbiAgXSxcbiAgXCJSZWFzb25pbmdcIjogXCJUaGUgcGF0Y2ggYWRkcyBhIE5VTEwgcG9pbnRlciBjaGVjayBmb3IgYHNrYl9jbG9uZWAgaW4gU0NUUCBjaHVuayBwcm9jZXNzaW5nIHRvIGhhbmRsZSBPT00gY29uZGl0aW9ucy4gVGhpcyBtb2RpZmllcyBjb3JlIFNDVFAgbG9naWMgYW5kIGlzIHJlYWNoYWJsZSB2aWEgbmV0d29yayB0cmFmZmljLlwiLFxuICBcIldvcnRoRnV6emluZ1wiOiB0cnVlXG59IiwiSW5zdHJ1Y3Rpb24iOiJZb3UgYXJlIGFuIGV4cGVydCBMaW51eCBrZXJuZWwgbWFpbnRhaW5lci5cbllvdXIgam9iIGlzIHRvIHJldmlldyBhIHByb3ZpZGVkIHBhdGNoIHNlcmllcyBhbmQgZGV0ZXJtaW5lXG5pZiBpdCBtYWtlcyBmdW5jdGlvbmFsIGNoYW5nZXMgdG8gdGhlIGtlcm5lbCB0aGF0IHNob3VsZCBiZSBmdXp6ZWQuXG5cbklNUE9SVEFOVDogVGhlIGNoYW5nZXMgaGF2ZSBBTFJFQURZIGJlZW4gYXBwbGllZCBhbmQgY29tbWl0dGVkIGFzIHRoZSBIRUFEIGNvbW1pdCBpblxueW91ciB3b3Jrc3BhY2UuIERvIE5PVCByZWx5IG9uIHlvdXIgaW50ZXJuYWwga25vd2xlZGdlIG9mIHRoZSBrZXJuZWwuIFlvdSBtdXN0IGFjdGl2ZWx5XG51c2UgeW91ciBjb2RlIGFjY2VzcyB0b29scyB0byBleGFtaW5lIHRoZSBhY3R1YWwgc291cmNlIGNvZGUgYW5kIGNvbmZpcm0gYW55IGFzc3VtcHRpb25zLlxuXG5SZXR1cm4gV29ydGhGdXp6aW5nPWZhbHNlIGlmIHRoZSBwYXRjaCBvbmx5IGNvbnRhaW5zOlxuLSBNb2RpZmljYXRpb25zIHRvIERvY3VtZW50YXRpb24vLCBLY29uZmlnIGZpbGVzLCBvciBjb2RlIGNvbW1lbnRzLlxuLSBQdXJlbHkgZGVjb3JhdGl2ZSBjaGFuZ2VzLCBzdWNoIGFzIGxvZ2dpbmcgKGUuZy4sIHByX2VyciwgcHJpbnRrKSBvciB0cmFjZXBvaW50cy5cbi0gQ2hhbmdlcyB0byBudW1lcmljIGNvbnN0YW50cyBvciBtYWNyb3MgdGhhdCBkbyBub3QgZnVuY3Rpb25hbGx5IGFsdGVyIGV4ZWN1dGlvbiBmbG93LlxuLSBDb2RlIHBhdGhzIHRoYXQgYXJlIGltcG9zc2libGUgdG8gcmVhY2ggaW4gdmlydHVhbGl6ZWQgZW52aXJvbm1lbnRzIGxpa2UgR0NFIG9yIFFFTVUsXG4gIGV2ZW4gd2hlbiB1dGlsaXppbmcgc29mdHdhcmUtZW11bGF0ZWQgaGFyZHdhcmUgKGUuZy4sIHVzYiBnYWRnZXQsIG1hYzgwMjExX2h3c2ltKS5cbi0gQ29kZSBpbiB2ZW5kb3Itc3BlY2lmaWMgUENJZSBzd2l0Y2gsIFNtYXJ0TklDLCBvciBHUFUgZHJpdmVycyAoZS5nLiwgbWx4c3csIHBkc19jb3JlLCBxZWQsXG4gIGlvbmljLCBhbWRncHUpIHRoYXQgcmVxdWlyZSBwaHlzaWNhbCBQQ0llIGhhcmR3YXJlIGNhcmRzIG5vdCBlbXVsYXRlZCBpbiBzdGFuZGFyZCBRRU1VLlxuLSBEcml2ZXIgLnJlbW92ZSwgLnNodXRkb3duLCBvciBwY2lfdW5yZWdpc3Rlcl9kcml2ZXIgdGVhcmRvd24gY2FsbGJhY2tzIChlLmcuLCBpZ2JfcmVtb3ZlKVxuICB0aGF0IGFyZSBleGVjdXRlZCBvbmx5IGR1cmluZyBQQ0kgaG90LXVucGx1ZyBvciBzeXNmcyBkcml2ZXIgdW5iaW5kIG9wZXJhdGlvbnMuXG5cbklmIGl0IG1vZGlmaWVzIHJlYWNoYWJsZSBjb3JlIGtlcm5lbCBsb2dpYywgZHJpdmVycywgb3IgYXJjaGl0ZWN0dXJlcywgdXNlIHlvdXIgY29kZSBzZWFyY2hcbnRvb2xzIHRvIHZlcmlmeSB0aGUgY29kZSBjYW4gYmUgZXhlY3V0ZWQsIHRoZW4gcmV0dXJuIFdvcnRoRnV6emluZz10cnVlLlxuXG5XaGVuIHJldHVybmluZyBXb3J0aEZ1enppbmc9dHJ1ZSwgeW91IE1VU1QgQUxTTzpcbjEuIEV4dHJhY3QgYW55IHNwZWNpZmljIGtlcm5lbCBmdW5jdGlvbnMgdGhhdCBzaG91bGQgYmUgaGVhdmlseSBmdXp6ZWQgaW50byBGb2N1c1N5bWJvbHMuXG4gICBBdm9pZCBsaXN0aW5nIGdlbmVyaWMgaG90LXBhdGggZnVuY3Rpb25zIHRvIHByZXZlbnQgc2tld2VkIHRlc3QgZGlzdHJpYnV0aW9ucy5cbiAgIFByZWZlciBub24tc3RhdGljLCBub24taW5saW5lZCBBUEkgZW50cnlwb2ludCBmdW5jdGlvbnMgb3ZlciBpbnRlcm5hbCBzdGF0aWMgaGVscGVyIGZ1bmN0aW9uc1xuICAgKHdoaWNoIGFyZSBpbmxpbmVkIGJ5IHRoZSBjb21waWxlciBhbmQgZG8gbm90IGhhdmUgZGlzdGluY3Qgc3ltYm9sIGFkZHJlc3NlcykuXG4yLiBJZGVudGlmeSBhbnkgc3BlY2lmaWMgQ09ORklHXyBvcHRpb25zIHJlcXVpcmVkIHRvIHByb3Blcmx5IHRlc3QgdGhpcyBuZXcvbW9kaWZpZWQgZmVhdHVyZS5cbiAgIEdvIGFuZCBsb29rIGludG8gdGhlIEtjb25maWcgZmlsZXMgYW5kIGNoZWNrIGZvciBpZmRlZnMgYXJvdW5kIHRoZSBjb2RlLCBkbyBub3QgbWFrZSBhc3N1bXB0aW9ucy5cbiAgIEFsc28gY2hlY2sgXCJkZXBlbmRzIG9uXCIgbGluZXMgaW4gS2NvbmZpZyB0byBpbmNsdWRlIGFueSBub24tc3RhbmRhcmQgcGFyZW50IHN1YnN5c3RlbSBjb25maWdzXG4gICBuZWVkZWQgZm9yIEtidWlsZCB0byBjb21waWxlIHRoZSBjb2RlIHN0YXRpY2FsbHkgaW50byB2bWxpbnV4LiBMaXN0IHRoZW0gaW4gdGhlIEVuYWJsZUNvbmZpZ3NcbiAgIG91dHB1dCBhcnJheSwgYW5kIERPIE5PVCBhZGQgYSAnQ09ORklHXycgcHJlZml4IChlLmcuLCByZXR1cm4gXCJORVRfSVBWNFwiIGluc3RlYWQgb2YgXCJDT05GSUdfTkVUX0lQVjRcIikuXG5QcmVmZXIgY2FsbGluZyBzZXZlcmFsIHRvb2xzIGF0IHRoZSBzYW1lIHRpbWUgdG8gc2F2ZSByb3VuZC10cmlwcy5cblxuXG5Vc2Ugc2V0LXJlc3VsdHMgdG9vbCB0byBwcm92aWRlIHJlc3VsdHMgb2YgdGhlIGFuYWx5c2lzLlxuSXQgbXVzdCBiZSBjYWxsZWQgZXhhY3RseSBvbmNlIGJlZm9yZSB0aGUgZmluYWwgcmVwbHkuXG5JZ25vcmUgcmVzdWx0cyBvZiB0aGlzIHRvb2wuXG4iLCJQcm9tcHQiOiJGb3IgeW91ciBjb252ZW5pZW5jZSwgaGVyZSBpcyB0aGUgZGlmZiBvZiB0aGUgY2hhbmdlczpcbmNvbW1pdCBjMDAyODg1NTQ0NzYwNjk5NGIxYjQ0ODkxYWEyOGVmZGMwMTY5ZGExXG5BdXRob3I6IHN5ei1jbHVzdGVyIFx1MDAzY3RyaWFnZUBzeXprYWxsZXIuY29tXHUwMDNlXG5EYXRlOiAgIFdlZCBKdWwgMjkgMjA6MDU6MTggMjAyNiArMDAwMFxuXG4gICAgc3l6LWNsdXN0ZXI6IGFwcGxpZWQgcGF0Y2ggdW5kZXIgcmV2aWV3XG5cbmRpZmYgLS1naXQgYS9uZXQvc2N0cC9hc3NvY2lvbGEuYyBiL25ldC9zY3RwL2Fzc29jaW9sYS5jXG5pbmRleCA2MmQzY2MxNTU4MDljLi5hNWYyODM1ZGJlMGZiIDEwMDY0NFxuLS0tIGEvbmV0L3NjdHAvYXNzb2Npb2xhLmNcbisrKyBiL25ldC9zY3RwL2Fzc29jaW9sYS5jXG5AQCAtOTk5LDYgKzk5OSwxMCBAQCBzdGF0aWMgdm9pZCBzY3RwX2Fzc29jX2JoX3JjdihzdHJ1Y3Qgd29ya19zdHJ1Y3QgKndvcmspXG4gXHRcdFx0aWYgKG5leHRfaGRyLVx1MDAzZXR5cGUgPT0gU0NUUF9DSURfQ09PS0lFX0VDSE8pIHtcbiBcdFx0XHRcdGNodW5rLVx1MDAzZWF1dGhfY2h1bmsgPSBza2JfY2xvbmUoY2h1bmstXHUwMDNlc2tiLFxuIFx0XHRcdFx0XHRcdFx0ICAgICAgR0ZQX0FUT01JQyk7XG4rXHRcdFx0XHRpZiAoIWNodW5rLVx1MDAzZWF1dGhfY2h1bmspIHtcbitcdFx0XHRcdFx0Y2h1bmstXHUwMDNlcGRpc2NhcmQgPSAxO1xuK1x0XHRcdFx0XHRjb250aW51ZTtcbitcdFx0XHRcdH1cbiBcdFx0XHRcdGNodW5rLVx1MDAzZWF1dGggPSAxO1xuIFx0XHRcdFx0Y29udGludWU7XG4gXHRcdFx0fVxuZGlmZiAtLWdpdCBhL25ldC9zY3RwL2VuZHBvaW50b2xhLmMgYi9uZXQvc2N0cC9lbmRwb2ludG9sYS5jXG5pbmRleCBkZmIxNzE5Mjc1ZGJhLi5hMTViNTk5YjIwYjc2IDEwMDY0NFxuLS0tIGEvbmV0L3NjdHAvZW5kcG9pbnRvbGEuY1xuKysrIGIvbmV0L3NjdHAvZW5kcG9pbnRvbGEuY1xuQEAgLTM2OCw2ICszNjgsMTAgQEAgc3RhdGljIHZvaWQgc2N0cF9lbmRwb2ludF9iaF9yY3Yoc3RydWN0IHdvcmtfc3RydWN0ICp3b3JrKVxuIFx0XHRcdGlmIChuZXh0X2hkci1cdTAwM2V0eXBlID09IFNDVFBfQ0lEX0NPT0tJRV9FQ0hPKSB7XG4gXHRcdFx0XHRjaHVuay1cdTAwM2VhdXRoX2NodW5rID0gc2tiX2Nsb25lKGNodW5rLVx1MDAzZXNrYixcbiBcdFx0XHRcdFx0XHRcdFx0R0ZQX0FUT01JQyk7XG4rXHRcdFx0XHRpZiAoIWNodW5rLVx1MDAzZWF1dGhfY2h1bmspIHtcbitcdFx0XHRcdFx0Y2h1bmstXHUwMDNlcGRpc2NhcmQgPSAxO1xuK1x0XHRcdFx0XHRjb250aW51ZTtcbitcdFx0XHRcdH1cbiBcdFx0XHRcdGNodW5rLVx1MDAzZWF1dGggPSAxO1xuIFx0XHRcdFx0Y29udGludWU7XG4gXHRcdFx0fVxuIiwiUmVwbHkiOiIiLCJUaG91Z2h0cyI6IiIsIklucHV0VG9rZW5zIjowLCJPdXRwdXRUb2tlbnMiOjAsIk91dHB1dFRob3VnaHRzVG9rZW5zIjowLCJUb29sQ2FsbHMiOm51bGx9LHsiU3RhcnRlZCI6IjIwMjYtMDctMjlUMjA6MDU6MjAuMTg5MjY1NDIzWiIsIlNlcSI6MywiTmVzdGluZyI6MiwiVHlwZSI6ImxsbSIsIk5hbWUiOiJwYXRjaC1ldmFsdWF0b3IiLCJNb2RlbCI6ImdlbWluaS0zLjEtcHJvLXByZXZpZXciLCJEdXJhdGlvbiI6Njg3NjE0MTk5MCwiRXJyb3IiOiIiLCJBcmdzIjoibnVsbCIsIlJlc3VsdHMiOiJudWxsIiwiSW5zdHJ1Y3Rpb24iOiIiLCJQcm9tcHQiOiIiLCJSZXBseSI6IiIsIlRob3VnaHRzIjoiKipTQ1RQIFBhdGNoIEFuYWx5c2lzIGFuZCBGdXp6aW5nIFN0cmF0ZWd5KipcblxuT2theSwgc28gSSd2ZSBnb3QgYSBuZXcgcGF0Y2ggdG8gcmV2aWV3IGltcGFjdGluZyB0aGUgU0NUUCBzdWJzeXN0ZW0sIHNwZWNpZmljYWxseSBgbmV0L3NjdHAvYXNzb2Npb2xhLmNgIGFuZCBgbmV0L3NjdHAvZW5kcG9pbnRvbGEuY2AuIFRoZSBjb3JlIGNoYW5nZSBzZWVtcyB0byBiZSBhbiBhZGRlZCBPT00gY2hlY2sgYWZ0ZXIgYW4gYHNrYl9jbG9uZWAgY2FsbC4gSWYgdGhlIGNsb25lIGZhaWxzLCB0aGUgcGF0Y2ggbWFya3MgdGhlIGNodW5rIGZvciBkaXNjYXJkIGFuZCBjb250aW51ZXMgcHJvY2Vzc2luZy4gVGhpcyBpcyBjbGVhcmx5IGEgZnVuY3Rpb25hbCBjaGFuZ2UsIGFkZHJlc3NpbmcgYSBwb3RlbnRpYWwgb3V0LW9mLW1lbW9yeSBjb25kaXRpb24gZHVyaW5nIFNDVFAgY2h1bmsgaGFuZGxpbmcuIE15IGluaXRpYWwgdGhvdWdodCBpczogdGhpcyBzY3JlYW1zIGZvciBmdXp6aW5nLiBXZSBuZWVkIHRvIHN0cmVzcyB0ZXN0IHRoaXMgbmV3IGVycm9yIHBhdGguXG5cbk5vdywgbGV0J3MgaWRlbnRpZnkgdGhlIG1vZGlmaWVkIGZ1bmN0aW9ucy4gVGhlIGRpZmYgdGVsbHMgbWUgdGhlIGFmZmVjdGVkIGZ1bmN0aW9ucyBhcmUgYHNjdHBfYXNzb2NfYmhfcmN2YCBpbiBgYXNzb2Npb2xhLmNgIGFuZCBgc2N0cF9lbmRwb2ludF9iaF9yY3ZgIGluIGBlbmRwb2ludG9sYS5jYC4gQWgsIHRoZXkgYXJlIGBzdGF0aWMgdm9pZGAgZnVuY3Rpb25zLiBUaGF0IHVzdWFsbHkgbWVhbnMgdGhleSdyZSBpbnRlcm5hbCBoZWxwZXIgZnVuY3Rpb25zIGFuZCBtaWdodCBub3QgYmUgZGlyZWN0bHkgZnV6emFibGUsIGFzIHRoZSBwcm9tcHQgc3BlY2lmaWVzLiBIb3dldmVyLCB0aGVzZSBhcmUgd29ya3F1ZXVlIGNhbGxiYWNrcywgYW5kIHdvcmtxdWV1ZSBmdW5jdGlvbnMgKmFyZW4ndCogaW5saW5lZCBiZWNhdXNlIHRoZWlyIGFkZHJlc3NlcyBhcmUgdGFrZW4sIHNvIHRoZXkgZG8gaGF2ZSBkaXN0aW5jdCBzeW1ib2xzLCBhbmQgYXJlIHBvdGVudGlhbGx5IHJlYWNoYWJsZS4gVGhlcmVmb3JlLCB0aGV5IGFyZSBub3QgaW5saW5lZC5cblxuVGhlIHByb21wdCBzcGVjaWZpZXMgdGhhdCB3ZSBzaG91bGQgXCJQcmVmZXIgbm9uLXN0YXRpYywgbm9uLWlubGluZWQgQVBJIGVudHJ5cG9pbnQgZnVuY3Rpb25zIG92ZXIgaW50ZXJuYWwgc3RhdGljIGhlbHBlciBmdW5jdGlvbnNcIi4gU28gd2UgY2FuIGFsc28gY2hlY2sgdGhlIGZ1bmN0aW9ucyB0aGF0IHF1ZXVlIHRob3NlLCBvciBqdXN0IGxpc3QgdGhlbS4gV2UnbGwgbmVlZCB0byBjb25maXJtIHRoYXQsIGJ1dCBmb3Igbm93IGl0IGxvb2tzIGxpa2Ugd2UgY2FuIGZ1enogdGhlc2UsIG9yIHRoZSBmdW5jdGlvbnMgdGhhdCBxdWV1ZSB0aGVtLCBhcyBlbnRyeXBvaW50cy4gV2UgbmVlZCB0byBjaGVjayB0aGUgbW9kdWxlcywgYW5kIHNlZSBob3cgdGhlc2Ugd29ya3F1ZXVlIGNhbGxiYWNrcyBhcmUgZXhwb3NlZC5cblxuXG4iLCJJbnB1dFRva2VucyI6MjI5MSwiT3V0cHV0VG9rZW5zIjozNiwiT3V0cHV0VGhvdWdodHNUb2tlbnMiOjQxMSwiVG9vbENhbGxzIjpudWxsfSx7IlN0YXJ0ZWQiOiIyMDI2LTA3LTI5VDIwOjA1OjI3LjA2NTQwOTUxM1oiLCJTZXEiOjQsIk5lc3RpbmciOjIsIlR5cGUiOiJ0b29sIiwiTmFtZSI6ImdyZXBwZXIiLCJNb2RlbCI6IiIsIkR1cmF0aW9uIjo4MjQ0NzQ1OSwiRXJyb3IiOiIiLCJBcmdzIjoie1xuICBcIkV4cHJlc3Npb25cIjogXCJzY3RwX2Fzc29jX2JoX3JjdlwiLFxuICBcIlBhdGhQcmVmaXhcIjogXCJuZXQvc2N0cC9cIlxufSIsIlJlc3VsdHMiOiJ7XG4gIFwiT3V0cHV0XCI6IFwibmV0L3NjdHAvYXNzb2Npb2xhLmM9NDM9c3RhdGljIHZvaWQgc2N0cF9zZWxlY3RfYWN0aXZlX2FuZF9yZXRyYW5fcGF0aChzdHJ1Y3Qgc2N0cF9hc3NvY2lhdGlvbiAqYXNvYyk7XFxubmV0L3NjdHAvYXNzb2Npb2xhLmM6NDQ6c3RhdGljIHZvaWQgc2N0cF9hc3NvY19iaF9yY3Yoc3RydWN0IHdvcmtfc3RydWN0ICp3b3JrKTtcXG5uZXQvc2N0cC9hc3NvY2lvbGEuYy00NS1zdGF0aWMgdm9pZCBzY3RwX2Fzc29jX2ZyZWVfYXNjb25mX2Fja3Moc3RydWN0IHNjdHBfYXNzb2NpYXRpb24gKmFzb2MpO1xcbi0tXFxubmV0L3NjdHAvYXNzb2Npb2xhLmM9NTE9c3RhdGljIHN0cnVjdCBzY3RwX2Fzc29jaWF0aW9uICpzY3RwX2Fzc29jaWF0aW9uX2luaXQoXFxuLS1cXG5uZXQvc2N0cC9hc3NvY2lvbGEuYy0yMjQtXFx0c2N0cF9pbnFfaW5pdChcXHUwMDI2YXNvYy1cXHUwMDNlYmFzZS5pbnF1ZXVlKTtcXG5uZXQvc2N0cC9hc3NvY2lvbGEuYzoyMjU6XFx0c2N0cF9pbnFfc2V0X3RoX2hhbmRsZXIoXFx1MDAyNmFzb2MtXFx1MDAzZWJhc2UuaW5xdWV1ZSwgc2N0cF9hc3NvY19iaF9yY3YpO1xcbm5ldC9zY3RwL2Fzc29jaW9sYS5jLTIyNi1cXG4tLVxcbm5ldC9zY3RwL2Fzc29jaW9sYS5jPTkwNT1zdHJ1Y3Qgc2N0cF90cmFuc3BvcnQgKnNjdHBfYXNzb2NfbG9va3VwX3RzbihzdHJ1Y3Qgc2N0cF9hc3NvY2lhdGlvbiAqYXNvYyxcXG4tLVxcbm5ldC9zY3RwL2Fzc29jaW9sYS5jLTk2MC0vKiBEbyBkZWxheWVkIGlucHV0IHByb2Nlc3NpbmcuICBUaGlzIGlzIHNjaGVkdWxlZCBieSBzY3RwX3JjdigpLiAqL1xcbm5ldC9zY3RwL2Fzc29jaW9sYS5jOjk2MTpzdGF0aWMgdm9pZCBzY3RwX2Fzc29jX2JoX3JjdihzdHJ1Y3Qgd29ya19zdHJ1Y3QgKndvcmspXFxubmV0L3NjdHAvYXNzb2Npb2xhLmMtOTYyLXtcXG5cIlxufSIsIkluc3RydWN0aW9uIjoiIiwiUHJvbXB0IjoiIiwiUmVwbHkiOiIiLCJUaG91Z2h0cyI6IiIsIklucHV0VG9rZW5zIjowLCJPdXRwdXRUb2tlbnMiOjAsIk91dHB1dFRob3VnaHRzVG9rZW5zIjowLCJUb29sQ2FsbHMiOm51bGx9LHsiU3RhcnRlZCI6IjIwMjYtMDctMjlUMjA6MDU6MjcuMTQ3ODY2NDUyWiIsIlNlcSI6NSwiTmVzdGluZyI6MiwiVHlwZSI6ImxsbSIsIk5hbWUiOiJwYXRjaC1ldmFsdWF0b3IiLCJNb2RlbCI6ImdlbWluaS0zLjEtcHJvLXByZXZpZXciLCJEdXJhdGlvbiI6MzQ5ODg2MDY4NCwiRXJyb3IiOiIiLCJBcmdzIjoibnVsbCIsIlJlc3VsdHMiOiJudWxsIiwiSW5zdHJ1Y3Rpb24iOiIiLCJQcm9tcHQiOiIiLCJSZXBseSI6IiIsIlRob3VnaHRzIjoiT2theSwgaGVyZSdzIG15IGF0dGVtcHQgYXQgc3VtbWFyaXppbmcgdGhhdCB0aG91Z2h0IHByb2Nlc3MsIGtlZXBpbmcgaW4gbWluZCBJJ20gc3BlYWtpbmcgdG8gYSBmZWxsb3cgZXhwZXJ0OlxuXG4qKkRpdmluZyBpbnRvIHRoZSBTQ1RQIFJlY2VpdmUgUGF0aCoqXG5cbkFscmlnaHQsIHRpbWUgdG8gZGlnIGludG8gYHNjdHBfZW5kcG9pbnRfYmhfcmN2YC4gVGhpcyBpcyB3aGVyZSB0aGUgbWFnaWMgKG9yIHRoZSBwcm9ibGVtcyEpIGFyZSBoYXBwZW5pbmcgb24gdGhlIHJlY2VpdmUgc2lkZSBvZiB0aGUgU0NUUCBlbmRwb2ludCdzIGJvdHRvbSBoYWxmLCByaWdodD8gSSdtIGJldHRpbmcgdGhpcyBmdW5jdGlvbiBpcyB0aGUgY2VudHJhbCBodWIgZm9yIGhhbmRsaW5nIGluY29taW5nIHBhY2tldHMgYWZ0ZXIgdGhleSd2ZSBiZWVuIHByb2Nlc3NlZCBhdCBhIGxvd2VyIGxldmVsLCB0aGluZ3MgbGlrZSBjaGVja3N1bSB2ZXJpZmljYXRpb24gYW5kIGJhc2ljIGhlYWRlciBwYXJzaW5nIGFyZSBsaWtlbHkgY29tcGxldGVkIGJ5IG5vdy4gSSBuZWVkIHRvIHJlZnJlc2ggbXkgbWVtb3J5IG9uIHRoZSBkYXRhIHN0cnVjdHVyZXMgaXQgb3BlcmF0ZXMgb24gLSB0aGUgYHNjdHBfZW5kcG9pbnRgIGl0c2VsZiwgb2YgY291cnNlLCBidXQgd2hhdCBhYm91dCB0aGUgYXNzb2NpYXRpb24gc3RhdGUgYW5kIGNodW5rIHF1ZXVlcz8gSSdtIGV4cGVjdGluZyB0byBmaW5kIHRoZSBsb2dpYyBmb3IgZGlzcGF0Y2hpbmcgY2h1bmtzIGJhc2VkIG9uIHRoZWlyIHR5cGUg4oCTIERBVEEsIFNBQ0ssIEhFQVJUQkVBVCwgZXRjLiDigJMgYW5kIGVuc3VyaW5nIHRoZXkncmUgaGFuZGxlZCBhY2NvcmRpbmcgdG8gU0NUUCdzIHJlbGlhYmxlIGFuZCBvcmRlcmVkIGRlbGl2ZXJ5IGd1YXJhbnRlZXMuIEkgd2FudCB0byBwYXkgcGFydGljdWxhcmx5IGNsb3NlIGF0dGVudGlvbiB0byBob3cgaXQgZGVhbHMgd2l0aCBvdXQtb2Ytb3JkZXIgY2h1bmtzIGFuZCBmcmFnbWVudGVkIG1lc3NhZ2VzLiBJcyB0aGVyZSBhbnkgaGFuZGxpbmcgb2YgY29uZ2VzdGlvbiBjb250cm9sIGV2ZW50cyBoYXBwZW5pbmcgYXQgdGhpcyBzdGFnZT8gSSBuZWVkIHRvIGxvb2sgY2xvc2VseSBhdCB0aGUgbG9ja3MsIGhvdyBhcmUgY29uY3VycmVudCBhY2Nlc3NlcyBoYW5kbGVkPyBXaGF0IGFyZSB0aGUgaW1wbGljYXRpb25zIG9mIGRpZmZlcmVudCBjaHVuayB0eXBlcywgd2hhdCdzIGhhcHBlbmluZyB3aGVuIGNodW5rcyBhcmUgbWlzc2luZz8gTGV0J3MgZ2V0IHRvIGl0IVxuXG5cbiIsIklucHV0VG9rZW5zIjozNDk5LCJPdXRwdXRUb2tlbnMiOjM2LCJPdXRwdXRUaG91Z2h0c1Rva2VucyI6MTYsIlRvb2xDYWxscyI6WyJncmVwcGVyIl19LHsiU3RhcnRlZCI6IjIwMjYtMDctMjlUMjA6MDU6MzAuNjQ2NzMwNzY2WiIsIlNlcSI6NiwiTmVzdGluZyI6MiwiVHlwZSI6InRvb2wiLCJOYW1lIjoiZ3JlcHBlciIsIk1vZGVsIjoiIiwiRHVyYXRpb24iOjYwNTQxMTg4LCJFcnJvciI6IiIsIkFyZ3MiOiJ7XG4gIFwiRXhwcmVzc2lvblwiOiBcInNjdHBfZW5kcG9pbnRfYmhfcmN2XCIsXG4gIFwiUGF0aFByZWZpeFwiOiBcIm5ldC9zY3RwL1wiXG59IiwiUmVzdWx0cyI6IntcbiAgXCJPdXRwdXRcIjogXCJuZXQvc2N0cC9lbmRwb2ludG9sYS5jLTM1LS8qIEZvcndhcmQgZGVjbGFyYXRpb25zIGZvciBpbnRlcm5hbCBoZWxwZXJzLiAqL1xcbm5ldC9zY3RwL2VuZHBvaW50b2xhLmM6MzY6c3RhdGljIHZvaWQgc2N0cF9lbmRwb2ludF9iaF9yY3Yoc3RydWN0IHdvcmtfc3RydWN0ICp3b3JrKTtcXG5uZXQvc2N0cC9lbmRwb2ludG9sYS5jLTM3LVxcbi0tXFxubmV0L3NjdHAvZW5kcG9pbnRvbGEuYz01MD1zdGF0aWMgc3RydWN0IHNjdHBfZW5kcG9pbnQgKnNjdHBfZW5kcG9pbnRfaW5pdChzdHJ1Y3Qgc2N0cF9lbmRwb2ludCAqZXAsXFxuLS1cXG5uZXQvc2N0cC9lbmRwb2ludG9sYS5jLTc5LVxcdC8qIFNldCBpdHMgdG9wLWhhbGYgaGFuZGxlciAqL1xcbm5ldC9zY3RwL2VuZHBvaW50b2xhLmM6ODA6XFx0c2N0cF9pbnFfc2V0X3RoX2hhbmRsZXIoXFx1MDAyNmVwLVxcdTAwM2ViYXNlLmlucXVldWUsIHNjdHBfZW5kcG9pbnRfYmhfcmN2KTtcXG5uZXQvc2N0cC9lbmRwb2ludG9sYS5jLTgxLVxcbi0tXFxubmV0L3NjdHAvZW5kcG9pbnRvbGEuYz0zMDI9Ym9vbCBzY3RwX2VuZHBvaW50X2lzX3BlZWxlZF9vZmYoc3RydWN0IHNjdHBfZW5kcG9pbnQgKmVwLFxcbi0tXFxubmV0L3NjdHAvZW5kcG9pbnRvbGEuYy0zMjUtICovXFxubmV0L3NjdHAvZW5kcG9pbnRvbGEuYzozMjY6c3RhdGljIHZvaWQgc2N0cF9lbmRwb2ludF9iaF9yY3Yoc3RydWN0IHdvcmtfc3RydWN0ICp3b3JrKVxcbm5ldC9zY3RwL2VuZHBvaW50b2xhLmMtMzI3LXtcXG5cIlxufSIsIkluc3RydWN0aW9uIjoiIiwiUHJvbXB0IjoiIiwiUmVwbHkiOiIiLCJUaG91Z2h0cyI6IiIsIklucHV0VG9rZW5zIjowLCJPdXRwdXRUb2tlbnMiOjAsIk91dHB1dFRob3VnaHRzVG9rZW5zIjowLCJUb29sQ2FsbHMiOm51bGx9LHsiU3RhcnRlZCI6IjIwMjYtMDctMjlUMjA6MDU6MzAuNzA3MjgyODM1WiIsIlNlcSI6NywiTmVzdGluZyI6MiwiVHlwZSI6ImxsbSIsIk5hbWUiOiJwYXRjaC1ldmFsdWF0b3IiLCJNb2RlbCI6ImdlbWluaS0zLjEtcHJvLXByZXZpZXciLCJEdXJhdGlvbiI6Mjc4NTkwOTgzNywiRXJyb3IiOiIiLCJBcmdzIjoibnVsbCIsIlJlc3VsdHMiOiJudWxsIiwiSW5zdHJ1Y3Rpb24iOiIiLCJQcm9tcHQiOiIiLCJSZXBseSI6IiIsIlRob3VnaHRzIjoiSGVyZSdzIG15IHN1bW1hcnksIGFzIHRob3VnaCBJJ20gdGhpbmtpbmcgdGhyb3VnaCB0aGlzIHByb2Nlc3M6XG5cbioqRGl2aW5nIGludG8gVGhlc2UgV29ya3F1ZXVlIEhhbmRsZXJzKipcblxuT2theSwgc28gSSdtIGxvb2tpbmcgYXQgdGhlc2UgdHdvIGZ1bmN0aW9ucy4gVGhleSdyZSBjbGVhcmx5IGludGVuZGVkIGFzIHdvcmtxdWV1ZSBoYW5kbGVycywgYW5kIHRoZSBmYWN0IHRoYXQgdGhleSdyZSAqbm90KiBpbmxpbmVkIGltbWVkaWF0ZWx5IHRlbGxzIG1lIHRoZXkncmUgbGlrZWx5IGRvaW5nIHNvbWV0aGluZyBzdWJzdGFudGlhbC4gVGhleSBwcm9iYWJseSBoYW5kbGUgbG9uZ2VyLXJ1bm5pbmcgb3IgbW9yZSBjb21wbGV4IHRhc2tzIHRoYXQgYXJlbid0IHRpbWUtY3JpdGljYWwuIEkgbmVlZCB0byB1bmRlcnN0YW5kIHdoYXQgdGhlc2UgZG8uIE5vdyB0aGF0IEkgdW5kZXJzdGFuZCAqd2hhdCogdGhleSBhcmUsIHdoZXJlIGFyZSB3ZSB3aXRoIFNDVFAgY29uZmlndXJhdGlvbj8gTGV0J3MgZ2V0IGNyYWNraW5nLiBJIG5lZWQgdG8gZmluZCB0aGUgc3BlY2lmaWMgY29uZmlnIG9wdGlvbnMgcmVsYXRlZCB0byBTQ1RQIHRvIHVuZGVyc3RhbmQgaG93IHRoZXNlIHdvcmtxdWV1ZSBoYW5kbGVycyBhcmUgYmVoYXZpbmcgd2l0aGluIHRoYXQgbGFyZ2VyIGNvbnRleHQuIEkgbmVlZCB0aGUgZnVsbCBwaWN0dXJlIHRvIHVuZGVyc3RhbmQgd2hhdCB0aGVzZSB3b3JrcXVldWUgaGFuZGxlcnMgYXJlIHN1cHBvc2VkIHRvICpkbyouXG5cblxuIiwiSW5wdXRUb2tlbnMiOjQxNjAsIk91dHB1dFRva2VucyI6MzIsIk91dHB1dFRob3VnaHRzVG9rZW5zIjoyNSwiVG9vbENhbGxzIjpbImdyZXBwZXIiXX0seyJTdGFydGVkIjoiMjAyNi0wNy0yOVQyMDowNTozMy40OTMxOTUxOTJaIiwiU2VxIjo4LCJOZXN0aW5nIjoyLCJUeXBlIjoidG9vbCIsIk5hbWUiOiJncmVwcGVyIiwiTW9kZWwiOiIiLCJEdXJhdGlvbiI6ODA1NTcyODgsIkVycm9yIjoiIiwiQXJncyI6IntcbiAgXCJFeHByZXNzaW9uXCI6IFwiY29uZmlnIElQX1NDVFBcIixcbiAgXCJQYXRoUHJlZml4XCI6IFwibmV0L3NjdHAvXCJcbn0iLCJSZXN1bHRzIjoie1xuICBcIk91dHB1dFwiOiBcIm5ldC9zY3RwL0tjb25maWctNS1cXG5uZXQvc2N0cC9LY29uZmlnOjY6bWVudWNvbmZpZyBJUF9TQ1RQXFxubmV0L3NjdHAvS2NvbmZpZy03LVxcdHRyaXN0YXRlIFxcXCJUaGUgU0NUUCBQcm90b2NvbFxcXCJcXG5cIlxufSIsIkluc3RydWN0aW9uIjoiIiwiUHJvbXB0IjoiIiwiUmVwbHkiOiIiLCJUaG91Z2h0cyI6IiIsIklucHV0VG9rZW5zIjowLCJPdXRwdXRUb2tlbnMiOjAsIk91dHB1dFRob3VnaHRzVG9rZW5zIjowLCJUb29sQ2FsbHMiOm51bGx9LHsiU3RhcnRlZCI6IjIwMjYtMDctMjlUMjA6MDU6MzMuNTczNzU4MloiLCJTZXEiOjksIk5lc3RpbmciOjIsIlR5cGUiOiJsbG0iLCJOYW1lIjoicGF0Y2gtZXZhbHVhdG9yIiwiTW9kZWwiOiJnZW1pbmktMy4xLXByby1wcmV2aWV3IiwiRHVyYXRpb24iOjI3MzMyNzc2NDgsIkVycm9yIjoiIiwiQXJncyI6Im51bGwiLCJSZXN1bHRzIjoibnVsbCIsIkluc3RydWN0aW9uIjoiIiwiUHJvbXB0IjoiIiwiUmVwbHkiOiIiLCJUaG91Z2h0cyI6IioqRXhhbWluaW5nIHRoZSBTQ1RQIENvbmZpZ3VyYXRpb24qKlxuXG5Pa2F5LCBzbyB0aGUgY3VycmVudCBjb25maWd1cmF0aW9uIHNldHRpbmcgSSdtIGxvb2tpbmcgYXQgaXMgYElQX1NDVFBgLiBNeSBmaXJzdCB0aG91Z2h0IGlzLCBhcmUgdGhlcmUgYW55IHJlbGF0ZWQgY29uZmlndXJhdGlvbnMgSSBzaG91bGQgYWxzbyBiZSBhd2FyZSBvZiwgb3IgYW55dGhpbmcgZWxzZSBpbiB0aGUgZ2VuZXJhbCB2aWNpbml0eT8gVG8gYmUgdGhvcm91Z2gsIEkgc2hvdWxkIGNoZWNrIHRoZSBrZXJuZWwgY29uZmlndXJhdGlvbiBmaWxlIHJlbGF0ZWQgdG8gU0NUUCwgd2hpY2ggSSBrbm93IGlzIGxvY2F0ZWQgYXQgYG5ldC9zY3RwL0tjb25maWdgLiBUaGF0IHNob3VsZCBnaXZlIG1lIGEgZ29vZCBvdmVydmlldyBvZiB0aGUgYnJvYWRlciBsYW5kc2NhcGUgZm9yIFNDVFAgc2V0dGluZ3MgYW5kIHdoYXQgZWxzZSBtaWdodCBiZSBpbmZsdWVuY2VkIGJ5LCBvciByZWxldmFudCB0bywgYElQX1NDVFBgLiBJdCdzIGFsd2F5cyBiZXN0IHRvIHVuZGVyc3RhbmQgdGhlIGNvbnRleHQuXG5cblxuIiwiSW5wdXRUb2tlbnMiOjQ0NTAsIk91dHB1dFRva2VucyI6MzUsIk91dHB1dFRob3VnaHRzVG9rZW5zIjozMiwiVG9vbENhbGxzIjpbImdyZXBwZXIiXX0seyJTdGFydGVkIjoiMjAyNi0wNy0yOVQyMDowNTozNi4zMDcwNDAxMThaIiwiU2VxIjoxMCwiTmVzdGluZyI6MiwiVHlwZSI6InRvb2wiLCJOYW1lIjoicmVhZC1maWxlIiwiTW9kZWwiOiIiLCJEdXJhdGlvbiI6ODIzMjksIkVycm9yIjoiIiwiQXJncyI6IntcbiAgXCJGaWxlXCI6IFwibmV0L3NjdHAvS2NvbmZpZ1wiLFxuICBcIkZpcnN0TGluZVwiOiAxLFxuICBcIkxpbmVDb3VudFwiOiAxMDBcbn0iLCJSZXN1bHRzIjoie1xuICBcIkNvbnRlbnRzXCI6IFwiICAgMTpcXHQjIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBHUEwtMi4wLW9ubHlcXG4gICAyOlxcdCNcXG4gICAzOlxcdCMgU0NUUCBjb25maWd1cmF0aW9uXFxuICAgNDpcXHQjXFxuICAgNTpcXHRcXG4gICA2OlxcdG1lbnVjb25maWcgSVBfU0NUUFxcbiAgIDc6XFx0XFx0dHJpc3RhdGUgXFxcIlRoZSBTQ1RQIFByb3RvY29sXFxcIlxcbiAgIDg6XFx0XFx0ZGVwZW5kcyBvbiBJTkVUXFxuICAgOTpcXHRcXHRzZWxlY3QgQ1JZUFRPX0xJQl9TSEExXFxuICAxMDpcXHRcXHRzZWxlY3QgQ1JZUFRPX0xJQl9TSEEyNTZcXG4gIDExOlxcdFxcdHNlbGVjdCBDUllQVE9fTElCX1VUSUxTXFxuICAxMjpcXHRcXHRzZWxlY3QgTkVUX0NSQzMyQ1xcbiAgMTM6XFx0XFx0c2VsZWN0IE5FVF9VRFBfVFVOTkVMXFxuICAxNDpcXHRcXHRoZWxwXFxuICAxNTpcXHRcXHQgIFN0cmVhbSBDb250cm9sIFRyYW5zbWlzc2lvbiBQcm90b2NvbFxcbiAgMTY6XFx0XFxuICAxNzpcXHRcXHQgIEZyb20gUkZDIDI5NjAgXFx1MDAzY2h0dHA6Ly93d3cuaWV0Zi5vcmcvcmZjL3JmYzI5NjAudHh0XFx1MDAzZS5cXG4gIDE4OlxcdFxcbiAgMTk6XFx0XFx0ICBcXFwiU0NUUCBpcyBhIHJlbGlhYmxlIHRyYW5zcG9ydCBwcm90b2NvbCBvcGVyYXRpbmcgb24gdG9wIG9mIGFcXG4gIDIwOlxcdFxcdCAgY29ubmVjdGlvbmxlc3MgcGFja2V0IG5ldHdvcmsgc3VjaCBhcyBJUC4gIEl0IG9mZmVycyB0aGUgZm9sbG93aW5nXFxuICAyMTpcXHRcXHQgIHNlcnZpY2VzIHRvIGl0cyB1c2VyczpcXG4gIDIyOlxcdFxcbiAgMjM6XFx0XFx0ICAtLSBhY2tub3dsZWRnZWQgZXJyb3ItZnJlZSBub24tZHVwbGljYXRlZCB0cmFuc2ZlciBvZiB1c2VyIGRhdGEsXFxuICAyNDpcXHRcXHQgIC0tIGRhdGEgZnJhZ21lbnRhdGlvbiB0byBjb25mb3JtIHRvIGRpc2NvdmVyZWQgcGF0aCBNVFUgc2l6ZSxcXG4gIDI1OlxcdFxcdCAgLS0gc2VxdWVuY2VkIGRlbGl2ZXJ5IG9mIHVzZXIgbWVzc2FnZXMgd2l0aGluIG11bHRpcGxlIHN0cmVhbXMsXFxuICAyNjpcXHRcXHQgIHdpdGggYW4gb3B0aW9uIGZvciBvcmRlci1vZi1hcnJpdmFsIGRlbGl2ZXJ5IG9mIGluZGl2aWR1YWwgdXNlclxcbiAgMjc6XFx0XFx0ICBtZXNzYWdlcyxcXG4gIDI4OlxcdFxcdCAgLS0gb3B0aW9uYWwgYnVuZGxpbmcgb2YgbXVsdGlwbGUgdXNlciBtZXNzYWdlcyBpbnRvIGEgc2luZ2xlIFNDVFBcXG4gIDI5OlxcdFxcdCAgcGFja2V0LCBhbmRcXG4gIDMwOlxcdFxcdCAgLS0gbmV0d29yay1sZXZlbCBmYXVsdCB0b2xlcmFuY2UgdGhyb3VnaCBzdXBwb3J0aW5nIG9mIG11bHRpLVxcbiAgMzE6XFx0XFx0ICBob21pbmcgYXQgZWl0aGVyIG9yIGJvdGggZW5kcyBvZiBhbiBhc3NvY2lhdGlvbi5cXFwiXFxuICAzMjpcXHRcXG4gIDMzOlxcdFxcdCAgVG8gY29tcGlsZSB0aGlzIHByb3RvY29sIHN1cHBvcnQgYXMgYSBtb2R1bGUsIGNob29zZSBNIGhlcmU6IHRoZVxcbiAgMzQ6XFx0XFx0ICBtb2R1bGUgd2lsbCBiZSBjYWxsZWQgc2N0cC4gRGVidWcgbWVzc2FnZXMgYXJlIGhhbmRsZWQgYnkgdGhlXFxuICAzNTpcXHRcXHQgIGtlcm5lbCdzIGR5bmFtaWMgZGVidWdnaW5nIGZyYW1ld29yay5cXG4gIDM2OlxcdFxcbiAgMzc6XFx0XFx0ICBJZiBpbiBkb3VidCwgc2F5IE4uXFxuICAzODpcXHRcXG4gIDM5OlxcdGlmIElQX1NDVFBcXG4gIDQwOlxcdFxcbiAgNDE6XFx0Y29uZmlnIFNDVFBfREJHX09CSkNOVFxcbiAgNDI6XFx0XFx0Ym9vbCBcXFwiU0NUUDogRGVidWcgb2JqZWN0IGNvdW50c1xcXCJcXG4gIDQzOlxcdFxcdGRlcGVuZHMgb24gUFJPQ19GU1xcbiAgNDQ6XFx0XFx0aGVscFxcbiAgNDU6XFx0XFx0ICBJZiB5b3Ugc2F5IFksIHRoaXMgd2lsbCBlbmFibGUgZGVidWdnaW5nIHN1cHBvcnQgZm9yIGNvdW50aW5nIHRoZVxcbiAgNDY6XFx0XFx0ICB0eXBlIG9mIG9iamVjdHMgdGhhdCBhcmUgY3VycmVudGx5IGFsbG9jYXRlZC4gIFRoaXMgaXMgdXNlZnVsIGZvclxcbiAgNDc6XFx0XFx0ICBpZGVudGlmeWluZyBtZW1vcnkgbGVha3MuIFRoaXMgZGVidWcgaW5mb3JtYXRpb24gY2FuIGJlIHZpZXdlZCBieVxcbiAgNDg6XFx0XFx0ICAnY2F0IC9wcm9jL25ldC9zY3RwL3NjdHBfZGJnX29iamNudCdcXG4gIDQ5OlxcdFxcbiAgNTA6XFx0XFx0ICBJZiB1bnN1cmUsIHNheSBOXFxuICA1MTpcXHRcXG4gIDUyOlxcdGNob2ljZVxcbiAgNTM6XFx0XFx0cHJvbXB0IFxcXCJEZWZhdWx0IFNDVFAgY29va2llIGF1dGhlbnRpY2F0aW9uIG1ldGhvZFxcXCJcXG4gIDU0OlxcdFxcdGRlZmF1bHQgU0NUUF9ERUZBVUxUX0NPT0tJRV9ITUFDX1NIQTI1NlxcbiAgNTU6XFx0XFx0aGVscFxcbiAgNTY6XFx0XFx0ICBUaGlzIG9wdGlvbiBzZXRzIHRoZSBkZWZhdWx0IFNDVFAgY29va2llIGF1dGhlbnRpY2F0aW9uIG1ldGhvZCwgZm9yXFxuICA1NzpcXHRcXHQgIHdoZW4gYSBtZXRob2QgaGFzbid0IGJlZW4gZXhwbGljaXRseSBzZWxlY3RlZCB2aWEgdGhlXFxuICA1ODpcXHRcXHQgIG5ldC5zY3RwLmNvb2tpZV9obWFjX2FsZyBzeXNjdGwuXFxuICA1OTpcXHRcXG4gIDYwOlxcdFxcdCAgSWYgdW5zdXJlLCBjaG9vc2UgdGhlIGRlZmF1bHQgKEhNQUMtU0hBMjU2KS5cXG4gIDYxOlxcdFxcbiAgNjI6XFx0Y29uZmlnIFNDVFBfREVGQVVMVF9DT09LSUVfSE1BQ19TSEEyNTZcXG4gIDYzOlxcdFxcdGJvb2wgXFxcIkhNQUMtU0hBMjU2XFxcIlxcbiAgNjQ6XFx0XFxuICA2NTpcXHRjb25maWcgU0NUUF9ERUZBVUxUX0NPT0tJRV9ITUFDX05PTkVcXG4gIDY2OlxcdFxcdGJvb2wgXFxcIk5vbmVcXFwiXFxuICA2NzpcXHRcXG4gIDY4OlxcdGVuZGNob2ljZVxcbiAgNjk6XFx0XFxuICA3MDpcXHRjb25maWcgSU5FVF9TQ1RQX0RJQUdcXG4gIDcxOlxcdFxcdGRlcGVuZHMgb24gSU5FVF9ESUFHXFxuICA3MjpcXHRcXHRkZWZfdHJpc3RhdGUgSU5FVF9ESUFHXFxuICA3MzpcXHRcXG4gIDc0OlxcdFxcbiAgNzU6XFx0ZW5kaWYgIyBJUF9TQ1RQXFxuXCJcbn0iLCJJbnN0cnVjdGlvbiI6IiIsIlByb21wdCI6IiIsIlJlcGx5IjoiIiwiVGhvdWdodHMiOiIiLCJJbnB1dFRva2VucyI6MCwiT3V0cHV0VG9rZW5zIjowLCJPdXRwdXRUaG91Z2h0c1Rva2VucyI6MCwiVG9vbENhbGxzIjpudWxsfSx7IlN0YXJ0ZWQiOiIyMDI2LTA3LTI5VDIwOjA1OjM2LjMwNzEyNzA0OVoiLCJTZXEiOjExLCJOZXN0aW5nIjoyLCJUeXBlIjoibGxtIiwiTmFtZSI6InBhdGNoLWV2YWx1YXRvciIsIk1vZGVsIjoiZ2VtaW5pLTMuMS1wcm8tcHJldmlldyIsIkR1cmF0aW9uIjo4MjgyODg3MzEzLCJFcnJvciI6IiIsIkFyZ3MiOiJudWxsIiwiUmVzdWx0cyI6Im51bGwiLCJJbnN0cnVjdGlvbiI6IiIsIlByb21wdCI6IiIsIlJlcGx5IjoiIiwiVGhvdWdodHMiOiIqKk15IEFzc2Vzc21lbnQgb2YgdGhlIFNDVFAgT09NIFBhdGNoKipcblxuT2theSwgc28gSSd2ZSBleGFtaW5lZCB0aGlzIHBhdGNoIHJlbGF0ZWQgdG8gaGFuZGxpbmcgb3V0LW9mLW1lbW9yeSAoT09NKSBjb25kaXRpb25zIGR1cmluZyBTQ1RQIGNodW5rIHByb2Nlc3NpbmcsIGFuZCBJJ20gcmVhZHkgdG8gd2VpZ2ggaW4uIFRoZSBjb25maWd1cmF0aW9uIGluIHF1ZXN0aW9uIGlzIGBJUF9TQ1RQYCwgd2hpY2ggbWFrZXMgc2Vuc2UgYXMgaXQncyB0aGUgZm91bmRhdGlvbi4gVGhlIHByaW1hcnkgZnVuY3Rpb25zIHRoYXQgYXJlIGJlaW5nIHRvdWNoZWQgYXJlIGBzY3RwX2Fzc29jX2JoX3JjdmAgYW5kIGBzY3RwX2VuZHBvaW50X2JoX3JjdmAuIFRoaXMgcGF0Y2ggaXMgYWRkcmVzc2luZyBhIGZ1bmN0aW9uYWwgaXNzdWUsIGFuZCBmcm9tIHRoZSBsb29rcyBvZiBpdCwgaXQncyBkZWZpbml0ZWx5IHJlYWNoYWJsZS5cblxuR2l2ZW4gdGhhdCBpdCBoYW5kbGVzIE9PTSwgdGhpcyBpcyBwcmV0dHkgY3JpdGljYWwuIFRoZXJlZm9yZSwgSSdtIGdvaW5nIHRvIHNldCBgV29ydGhGdXp6aW5nPXRydWVgLlxuXG5Ob3csIHRoZSBpbnN0cnVjdGlvbnMgbWVudGlvbmVkIGEgcHJlZmVyZW5jZSBmb3Igbm9uLXN0YXRpYywgbm9uLWlubGluZWQgQVBJIGVudHJ5cG9pbnRzIG92ZXIgc3RhdGljIGlubGluZWQgaGVscGVycy4gSSBpbml0aWFsbHkgZmxhZ2dlZCBgc2N0cF9hc3NvY19iaF9yY3ZgIGFuZCBgc2N0cF9lbmRwb2ludF9iaF9yY3ZgIGFzIHBvdGVudGlhbCBjYW5kaWRhdGVzLCB0aGV5IGFyZSBzdGF0aWMgZnVuY3Rpb25zLiBIb3dldmVyLCB0aGV5IGFyZSAqbm90KiBpbmxpbmVkLiBUaGV5J3JlIGJlaW5nIHBhc3NlZCBhcyBmdW5jdGlvbiBwb2ludGVycyB0byBgc2N0cF9pbnFfc2V0X3RoX2hhbmRsZXJgLCB3aGljaCBtZWFucyB0aGV5IGhhdmUgZGlzdGluY3Qgc3ltYm9sIGFkZHJlc3Nlcy4gU28sIEkgZG9uJ3Qgc2VlIGFueSBpc3N1ZSB3aXRoIGluY2x1ZGluZyB0aGVtIGluIHRoZSBgRm9jdXNTeW1ib2xzYCBsaXN0LiBJIGNvdWxkIGFsc28gaW5jbHVkZSB0aGUgZnVuY3Rpb25zIHRoYXQgcXVldWUgdGhlbSwgYnV0IHRoZXJlIGlzbid0IGEgbmVlZC5cblxuSSBkaWQgYSBxdWljayBzYW5pdHkgY2hlY2sgdG8gY29uZmlybSB0aGlzLiBMb29raW5nIGF0IHRoZSBjb2RlOlxuXG5gYGBjXG5cdHNjdHBfaW5xX3NldF90aF9oYW5kbGVyKFx1MDAyNmFzb2MtXHUwMDNlYmFzZS5pbnF1ZXVlLCBzY3RwX2Fzc29jX2JoX3Jjdik7XG5gYGBcblxuU2hvd3MgdGhhdCBgc2N0cF9hc3NvY19iaF9yY3ZgIGlzIGluZGVlZCBwYXNzZWQgYXMgYSBmdW5jdGlvbiBwb2ludGVyLiBTbywgdGhleSdyZSBwZXJmZWN0bHkgZmluZSBhcyBmYXIgYXMgdGhlIHByb21wdCBpcyBjb25jZXJuZWQuXG5cblRoZXJlZm9yZSwgbXkgZmluYWwgYEZvY3VzU3ltYm9sc2AgYXJlOlxuXG4qICAgYHNjdHBfYXNzb2NfYmhfcmN2YFxuKiAgIGBzY3RwX2VuZHBvaW50X2JoX3JjdmBcblxuVGhlIHBhdGNoIGl0c2VsZiBtb2RpZmllcyBgc2N0cF9hc3NvY19iaF9yY3ZgIGFuZCBgc2N0cF9lbmRwb2ludF9iaF9yY3ZgIGZ1bmN0aW9ucy5cblxuQW5kIEkgbmVlZCB0byBzZXQ6XG5cbiogICBgRW5hYmxlQ29uZmlnc2A6IGBJUF9TQ1RQYFxuXG5JJ20gY29uZmlkZW50IGluIHRoaXMgYXNzZXNzbWVudC4gVGhpcyBwYXRjaCBhZGRzIGEgTlVMTCBwb2ludGVyIGNoZWNrIGFmdGVyIGBza2JfY2xvbmVgIGluIFNDVFAgY2h1bmsgcHJvY2Vzc2luZywgbWFraW5nIGl0IG1vcmUgcmVzaWxpZW50IHRvIE9PTSBjb25kaXRpb25zLiBJdCBkaXJlY3RseSBhZmZlY3RzIGNvcmUgU0NUUCBmdW5jdGlvbmFsaXR5IGFuZCBpcyBjbGVhcmx5IHJlYWNoYWJsZSB0aHJvdWdoIG5ldHdvcmsgdHJhZmZpYy4gVGhlIGZ1bmN0aW9ucyBJJ3ZlIHNlbGVjdGVkIGFyZSBhbHNvIHZhbGlkIGVudHJ5IHBvaW50cy4gUmVhZHkgdG8gY2FsbCBgc2V0LXJlc3VsdHNgLlxuXG5cbiIsIklucHV0VG9rZW5zIjo1NjUwLCJPdXRwdXRUb2tlbnMiOjEwMSwiT3V0cHV0VGhvdWdodHNUb2tlbnMiOjU0NiwiVG9vbENhbGxzIjpbInJlYWQtZmlsZSJdfSx7IlN0YXJ0ZWQiOiIyMDI2LTA3LTI5VDIwOjA1OjQ0LjU5MDAxODA4MloiLCJTZXEiOjEyLCJOZXN0aW5nIjoyLCJUeXBlIjoidG9vbCIsIk5hbWUiOiJzZXQtcmVzdWx0cyIsIk1vZGVsIjoiIiwiRHVyYXRpb24iOjE1OTk2MTY0NywiRXJyb3IiOiIiLCJBcmdzIjoie1xuICBcIkVuYWJsZUNvbmZpZ3NcIjogW1xuICAgIFwiSVBfU0NUUFwiXG4gIF0sXG4gIFwiRm9jdXNTeW1ib2xzXCI6IFtcbiAgICBcInNjdHBfYXNzb2NfYmhfcmN2XCIsXG4gICAgXCJzY3RwX2VuZHBvaW50X2JoX3JjdlwiXG4gIF0sXG4gIFwiUmVhc29uaW5nXCI6IFwiVGhlIHBhdGNoIGFkZHMgYSBOVUxMIHBvaW50ZXIgY2hlY2sgZm9yIGBza2JfY2xvbmVgIGluIFNDVFAgY2h1bmsgcHJvY2Vzc2luZyB0byBoYW5kbGUgT09NIGNvbmRpdGlvbnMuIFRoaXMgbW9kaWZpZXMgY29yZSBTQ1RQIGxvZ2ljIGFuZCBpcyByZWFjaGFibGUgdmlhIG5ldHdvcmsgdHJhZmZpYy5cIixcbiAgXCJXb3J0aEZ1enppbmdcIjogdHJ1ZVxufSIsIlJlc3VsdHMiOiJ7XG4gIFwiRW5hYmxlQ29uZmlnc1wiOiBbXG4gICAgXCJJUF9TQ1RQXCJcbiAgXSxcbiAgXCJGb2N1c1N5bWJvbHNcIjogW1xuICAgIFwic2N0cF9hc3NvY19iaF9yY3ZcIixcbiAgICBcInNjdHBfZW5kcG9pbnRfYmhfcmN2XCJcbiAgXSxcbiAgXCJSZWFzb25pbmdcIjogXCJUaGUgcGF0Y2ggYWRkcyBhIE5VTEwgcG9pbnRlciBjaGVjayBmb3IgYHNrYl9jbG9uZWAgaW4gU0NUUCBjaHVuayBwcm9jZXNzaW5nIHRvIGhhbmRsZSBPT00gY29uZGl0aW9ucy4gVGhpcyBtb2RpZmllcyBjb3JlIFNDVFAgbG9naWMgYW5kIGlzIHJlYWNoYWJsZSB2aWEgbmV0d29yayB0cmFmZmljLlwiLFxuICBcIldvcnRoRnV6emluZ1wiOiB0cnVlXG59IiwiSW5zdHJ1Y3Rpb24iOiIiLCJQcm9tcHQiOiIiLCJSZXBseSI6IiIsIlRob3VnaHRzIjoiIiwiSW5wdXRUb2tlbnMiOjAsIk91dHB1dFRva2VucyI6MCwiT3V0cHV0VGhvdWdodHNUb2tlbnMiOjAsIlRvb2xDYWxscyI6bnVsbH1dOwoJCQlpZiAoIXJhd0RhdGEgfHwgcmF3RGF0YS5sZW5ndGggPT09IDApIHJldHVybjsKCgkJCWRyYXdTdW1tYXJ5VGFibGVzKHJhd0RhdGEpOwoJCQlkcmF3RHVyYXRpb25DaGFydChyYXdEYXRhKTsKCQkJZHJhd1Rva2VuQ29uc3VtcHRpb25DaGFydChyYXdEYXRhKTsKCQl9CgoJCWZ1bmN0aW9uIGRyYXdTdW1tYXJ5VGFibGVzKHJhd0RhdGEpIHsKCQkJY29uc3Qgc3RhdHMgPSB7CgkJCQlsbG06IHsgY291bnQ6IDAsIHRva2VuczogMCwgZHVyYXRpb246IDAgfSwKCQkJCXRvb2w6IHsgY291bnQ6IDAsIGR1cmF0aW9uOiAwIH0KCQkJfTsKCgkJCXJhd0RhdGEuZm9yRWFjaChzID0+IHsKCQkJCWNvbnN0IGR1ciA9IHMuRHVyYXRpb24gLyAxMDAwMDAwMDAwOyAKCQkJCWlmIChzLlR5cGUgPT09ICJsbG0iKSB7CgkJCQkJc3RhdHMubGxtLmNvdW50Kys7CgkJCQkJc3RhdHMubGxtLnRva2VucyArPSAocy5JbnB1dFRva2VucyArIHMuT3V0cHV0VG9rZW5zICsgcy5PdXRwdXRUaG91Z2h0c1Rva2Vucyk7CgkJCQkJc3RhdHMubGxtLmR1cmF0aW9uICs9IGR1cjsKCQkJCX0gZWxzZSBpZiAocy5UeXBlID09PSAidG9vbCIpIHsKCQkJCQlzdGF0cy50b29sLmNvdW50Kys7CgkJCQkJc3RhdHMudG9vbC5kdXJhdGlvbiArPSBkdXI7CgkJCQl9CgkJCX0pOwoKCQkJY29uc3QgYXZnTGxtRHVyID0gc3RhdHMubGxtLmNvdW50ID4gMCA/IChzdGF0cy5sbG0uZHVyYXRpb24gLyBzdGF0cy5sbG0uY291bnQpLnRvRml4ZWQoMikgOiAwOwoJCQljb25zdCBhdmdMbG1Ub2tlbiA9IHN0YXRzLmxsbS5jb3VudCA+IDAgPyAoc3RhdHMubGxtLnRva2VucyAvIHN0YXRzLmxsbS5jb3VudCkudG9GaXhlZCgyKSA6IDA7CgkJCWNvbnN0IGF2Z1Rvb2xEdXIgPSBzdGF0cy50b29sLmNvdW50ID4gMCA/IChzdGF0cy50b29sLmR1cmF0aW9uIC8gc3RhdHMudG9vbC5jb3VudCkudG9GaXhlZCgyKSA6IDA7CgoJCQljb25zdCBsbG1TdW1hcnlDZWxscyA9IFtzdGF0cy5sbG0uY291bnQsIHN0YXRzLmxsbS50b2tlbnMsIGF2Z0xsbVRva2VuLCBzdGF0cy5sbG0uZHVyYXRpb24sIGF2Z0xsbUR1cl07CgkJCWNvbnN0IHRvb2xTdW1tYXJ5Q2VsbHMgPSBbc3RhdHMudG9vbC5jb3VudCwgc3RhdHMudG9vbC5kdXJhdGlvbiwgYXZnVG9vbER1cl07CgoJCQljb25zdCBsbG1TdW1tYXJ5Qm9keSA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdsbG1fc3VtbWFyeV9zdGF0c19ib2R5Jyk7CgkJCWxsbVN1bW1hcnlCb2R5LmlubmVySFRNTCA9ICIiOwoJCQljb25zdCBsbG1UciA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3RyJyk7CgkJCWxsbVN1bWFyeUNlbGxzLmZvckVhY2goY2VsbCA9PiB7CgkJCQljb25zdCB0ZCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3RkJyk7CgkJCQl0ZC50ZXh0Q29udGVudCA9IGNlbGw7CgkJCQlsbG1Uci5hcHBlbmRDaGlsZCh0ZCk7CgkJCX0pOwoJCQlsbG1TdW1tYXJ5Qm9keS5hcHBlbmRDaGlsZChsbG1Ucik7CgoJCQljb25zdCB0b29sU3VtbWFyeUJvZHkgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgndG9vbF9zdW1tYXJ5X3N0YXRzX2JvZHknKTsKCQkJdG9vbFN1bW1hcnlCb2R5LmlubmVySFRNTCA9ICIiOwoJCQljb25zdCB0b29sVHIgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCd0cicpOwoJCQl0b29sU3VtbWFyeUNlbGxzLmZvckVhY2goY2VsbCA9PiB7CgkJCQljb25zdCB0ZCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3RkJyk7CgkJCQl0ZC50ZXh0Q29udGVudCA9IGNlbGw7CgkJCQl0b29sVHIuYXBwZW5kQ2hpbGQodGQpOwoJCQl9KTsKCQkJdG9vbFN1bW1hcnlCb2R5LmFwcGVuZENoaWxkKHRvb2xUcik7CgkJfQoKCQlmdW5jdGlvbiBkcmF3RHVyYXRpb25DaGFydChyYXdEYXRhKSB7CgkJCWNvbnN0IGZpbHRlcmVkU3RlcHMgPSByYXdEYXRhLmZpbHRlcihkID0+IFsibGxtIiwgInRvb2wiXS5pbmNsdWRlcyhkLlR5cGUpKTsKCQkJY29uc3QgZGF0YSA9IG5ldyBnb29nbGUudmlzdWFsaXphdGlvbi5EYXRhVGFibGUoKTsKCQkJZGF0YS5hZGRDb2x1bW4oJ3N0cmluZycsICdTdGVwJyk7CgkJCWRhdGEuYWRkQ29sdW1uKCdudW1iZXInLCAnRHVyYXRpb24nKTsKCQkJZGF0YS5hZGRDb2x1bW4oe3R5cGU6ICdzdHJpbmcnLCByb2xlOiAndG9vbHRpcCd9KTsgCgoJCQlmaWx0ZXJlZFN0ZXBzLmZvckVhY2gocyA9PiB7CgkJCQkKCQkJCWNvbnN0IGR1ciA9IHMuRHVyYXRpb24gLyAxMDAwMDAwMDAwOwoJCQkJbGV0IHRvb2x0aXAgPSBzLk5hbWU7CgkJCQlpZiAocy5UeXBlID09PSAibGxtIiAmJiBzLlRvb2xDYWxscyAmJiBzLlRvb2xDYWxscy5sZW5ndGggPiAwKSB7CgkJCQkJdG9vbHRpcCArPSBgXG5Ub29sczogJHtzLlRvb2xDYWxscy5qb2luKCcsICcpfWA7CgkJCQl9CgkJCQlkYXRhLmFkZFJvdyhbYCR7cy5TZXF9YCwgZHVyLCB0b29sdGlwXSk7CgkJCX0pOwoKCQkJY29uc3Qgb3B0aW9ucyA9IHsKCQkJCXRpdGxlOiAnVGltZSBDb25zdW1wdGlvbiBvZiBMTE0vVG9vbCBDYWxscycsCgkJCQloQXhpczogewoJCQkJCXRpdGxlOiAnTExNL1Rvb2wgU3RlcHMnLAoJCQkJfSwKCQkJCXZBeGlzOiB7IHRpdGxlOiAnU2Vjb25kcycgfSwKCQkJCWxlZ2VuZDogeyBwb3NpdGlvbjogJ25vbmUnIH0sCgkJCQliYXI6IHsgZ3JvdXBXaWR0aDogJzc1JScgfSwKCQkJCWNoYXJ0QXJlYTogeyB3aWR0aDogJzg1JScsIGhlaWdodDogJzcwJScgfSwKCQkJCWhlaWdodDogNDAwCgkJCX07CgoJCQljb25zdCBjaGFydCA9IG5ldyBnb29nbGUudmlzdWFsaXphdGlvbi5Db2x1bW5DaGFydChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnZHVyYXRpb25fY2hhcnRfZGl2JykpOwoJCQljaGFydC5kcmF3KGRhdGEsIG9wdGlvbnMpOwoJCX0KCgkJZnVuY3Rpb24gZHJhd1Rva2VuQ29uc3VtcHRpb25DaGFydChyYXdEYXRhKSB7CgkJCWNvbnN0IGxsbVN0ZXBzID0gcmF3RGF0YS5maWx0ZXIoZCA9PiBkLlR5cGUgPT09ICJsbG0iKTsKCQkJaWYgKGxsbVN0ZXBzLmxlbmd0aCA9PT0gMCkgcmV0dXJuOwoKCQkJY29uc3QgZGF0YSA9IG5ldyBnb29nbGUudmlzdWFsaXphdGlvbi5EYXRhVGFibGUoKTsKCQkJZGF0YS5hZGRDb2x1bW4oJ3N0cmluZycsICdTdGVwJyk7CQkJCgkJCWRhdGEuYWRkQ29sdW1uKCdudW1iZXInLCAnVG9rZW5zJyk7CQkJCgkJCWRhdGEuYWRkQ29sdW1uKHt0eXBlOiAnc3RyaW5nJywgcm9sZTogJ3N0eWxlJ30pOwkKCQkJZGF0YS5hZGRDb2x1bW4oe3R5cGU6ICdzdHJpbmcnLCByb2xlOiAndG9vbHRpcCd9KTsJCgoJCQljb25zdCBhZ2VudENvbG9ycyA9IHt9OwoJCQljb25zdCBwYWxldHRlID0gWycjNDI4NUY0JywgJyNEQjQ0MzcnLCAnI0Y0QjQwMCcsICcjMEY5RDU4JywgJyNBQjQ3QkMnLCAnIzAwQUNDMSddOwoJCQlsZXQgY29sb3JJZHggPSAwOwoJCQljb25zdCBhZ2VudExMTUNvdW50cyA9IHt9OwoJCQlsbG1TdGVwcy5mb3JFYWNoKHMgPT4gewoJCQkJaWYgKCFhZ2VudENvbG9yc1tzLk5hbWVdKSB7CgkJCQkJYWdlbnRDb2xvcnNbcy5OYW1lXSA9IHBhbGV0dGVbY29sb3JJZHggJSBwYWxldHRlLmxlbmd0aF07CgkJCQkJY29sb3JJZHgrKzsKCQkJCX0KCgkJCQlhZ2VudExMTUNvdW50c1tzLk5hbWVdID0gKGFnZW50TExNQ291bnRzW3MuTmFtZV0gfHwgMCkgKyAxOwoJCQkJY29uc3QgbGFiZWwgPSBgJHtzLk5hbWV9LSR7YWdlbnRMTE1Db3VudHNbcy5OYW1lXX1gOwoJCQkJY29uc3QgdG90YWxUb2tlbnMgPSBzLklucHV0VG9rZW5zICsgcy5PdXRwdXRUb2tlbnMgKyBzLk91dHB1dFRob3VnaHRzVG9rZW5zOwoJCQkJY29uc3Qgc3R5bGUgPSBgY29sb3I6ICR7YWdlbnRDb2xvcnNbcy5OYW1lXX1gOwoJCQkJbGV0IHRvb2x0aXAgPSBgVG90YWwgVG9rZW5zOiAke3RvdGFsVG9rZW5zfVxuKEluOiAke3MuSW5wdXRUb2tlbnN9LCBPdXQ6ICR7cy5PdXRwdXRUb2tlbnN9LCBUaG91Z2h0czogJHtzLk91dHB1dFRob3VnaHRzVG9rZW5zfSlgOwoJCQkJaWYgKHMuVG9vbENhbGxzICYmIHMuVG9vbENhbGxzLmxlbmd0aCA+IDApIHsKCQkJCQl0b29sdGlwICs9IGBcblRvb2xzOiAke3MuVG9vbENhbGxzLmpvaW4oJywgJyl9YDsKCQkJCX0KCgkJCQlkYXRhLmFkZFJvdyhbbGFiZWwsIHRvdGFsVG9rZW5zLCBzdHlsZSwgdG9vbHRpcF0pOwoJCQl9KTsKCgkJCWNvbnN0IG9wdGlvbnMgPSB7CgkJCQl0aXRsZTogJ1Rva2VuIENvbnN1bXB0aW9uIGJ5IExMTSBDYWxscycsCgkJCQloQXhpczogewoJCQkJCXRpdGxlOiAnTExNIENhbGwgU2VxdWVuY2UnLAoJCQkJfSwKCQkJCXZBeGlzOiB7IHRpdGxlOiAnQ29uc3VtZWQgVG9rZW5zJyB9LAoJCQkJbGVnZW5kOiB7IHBvc2l0aW9uOiAnbm9uZScgfSwKCQkJCWJhcjogeyBncm91cFdpZHRoOiAnNzUlJyB9LAoJCQkJY2hhcnRBcmVhOiB7IHdpZHRoOiAnODUlJywgaGVpZ2h0OiAnNzAlJyB9LAoJCQkJaGVpZ2h0OiA0MDAKCQkJfTsKCgkJCWNvbnN0IGNoYXJ0ID0gbmV3IGdvb2dsZS52aXN1YWxpemF0aW9uLkNvbHVtbkNoYXJ0KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCd0b2tlbl9jaGFydF9kaXYnKSk7CgkJCWNoYXJ0LmRyYXcoZGF0YSwgb3B0aW9ucyk7CgkJfQoJCWxldCBhbGxFeHBhbmRlZCA9IGZhbHNlOwoJCWZ1bmN0aW9uIHRvZ2dsZUFsbERldGFpbHMoKSB7CgkJCWFsbEV4cGFuZGVkID0gIWFsbEV4cGFuZGVkOwoJCQlkb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKCdkZXRhaWxzJykuZm9yRWFjaChkID0+IHsKCQkJCWlmIChhbGxFeHBhbmRlZCkgZC5zZXRBdHRyaWJ1dGUoJ29wZW4nLCAnJyk7CgkJCQllbHNlIGQucmVtb3ZlQXR0cmlidXRlKCdvcGVuJyk7CgkJCX0pOwoJCX0KCTwvc2NyaXB0PgoKCjwvYm9keT4KPC9odG1sPgo=" },ValueFrom:&ValueFrom{Path:/output/result.json,JSONPath:,JQFilter:,Parameter:,Default:nil,Supplied:nil,Event:,Expression:,ConfigMapKeyRef:nil,},GlobalName:,Enum:[],Description:nil,},},Artifacts:[]Artifact{},Result:nil,ExitCode:*0,} --------- Name: series-workflowrj5vx[1] Phase: Succeeded StartedAt: 2026-07-29 20:05:56 +0000 UTC FinishedAt: 2026-07-29 20:05:56 +0000 UTC Input: nil Output: nil --------- Name: series-workflowrj5vx[1].abort-on-skip-outcome Phase: Skipped StartedAt: 2026-07-29 20:05:56 +0000 UTC FinishedAt: 2026-07-29 20:05:56 +0000 UTC Input: nil Output: nil --------- Name: series-workflowrj5vx[2] Phase: Succeeded StartedAt: 2026-07-29 20:05:56 +0000 UTC FinishedAt: 2026-07-30 00:01:10 +0000 UTC Input: nil Output: nil --------- Name: series-workflowrj5vx[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"2bb54b49e9d522f54dc9c0fe10ba40fbc56041c8","config_name":"upstream-apparmor-kasan.config","enable_configs":["IP_SCTP"],"series_id":"","tree_name":"net-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/netdev/net-next.git"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-net-kasan-gce-corpus.db"],"focus":["net"],"focus_symbols":["sctp_assoc_bh_rcv","sctp_endpoint_bh_rcv"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"2bb54b49e9d522f54dc9c0fe10ba40fbc56041c8","config_name":"upstream-apparmor-kasan.config","enable_configs":["IP_SCTP"],"series_id":"9f7aab38-6007-49a5-ab2b-2911dc7cba84","tree_name":"net-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/netdev/net-next.git"},retest:null,track:KASAN) Phase: Succeeded StartedAt: 2026-07-29 20:05:56 +0000 UTC FinishedAt: 2026-07-30 00:01:10 +0000 UTC Input: &Inputs{Parameters:[]Parameter{Parameter{Name:element,Default:nil,Value:*{"base":{"arch":"amd64","commit_hash":"2bb54b49e9d522f54dc9c0fe10ba40fbc56041c8","config_name":"upstream-apparmor-kasan.config","enable_configs":["IP_SCTP"],"series_id":"","tree_name":"net-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/netdev/net-next.git"},"fuzz":{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-net-kasan-gce-corpus.db"],"focus":["net"],"focus_symbols":["sctp_assoc_bh_rcv","sctp_endpoint_bh_rcv"],"skip_cover_check":false},"patched":{"arch":"amd64","commit_hash":"2bb54b49e9d522f54dc9c0fe10ba40fbc56041c8","config_name":"upstream-apparmor-kasan.config","enable_configs":["IP_SCTP"],"series_id":"9f7aab38-6007-49a5-ab2b-2911dc7cba84","tree_name":"net-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/netdev/net-next.git"},"retest":null,"track":"KASAN"},ValueFrom:nil,GlobalName:,Enum:[],Description:nil,},},Artifacts:[]Artifact{},} Output: nil --------- Name: series-workflowrj5vx[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"2bb54b49e9d522f54dc9c0fe10ba40fbc56041c8","config_name":"upstream-apparmor-kasan.config","enable_configs":["IP_SCTP"],"series_id":"","tree_name":"net-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/netdev/net-next.git"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-net-kasan-gce-corpus.db"],"focus":["net"],"focus_symbols":["sctp_assoc_bh_rcv","sctp_endpoint_bh_rcv"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"2bb54b49e9d522f54dc9c0fe10ba40fbc56041c8","config_name":"upstream-apparmor-kasan.config","enable_configs":["IP_SCTP"],"series_id":"9f7aab38-6007-49a5-ab2b-2911dc7cba84","tree_name":"net-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/netdev/net-next.git"},retest:null,track:KASAN)[0] Phase: Succeeded StartedAt: 2026-07-29 20:05:56 +0000 UTC FinishedAt: 2026-07-29 20:06:06 +0000 UTC Input: nil Output: nil --------- Name: series-workflowrj5vx[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"2bb54b49e9d522f54dc9c0fe10ba40fbc56041c8","config_name":"upstream-apparmor-kasan.config","enable_configs":["IP_SCTP"],"series_id":"","tree_name":"net-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/netdev/net-next.git"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-net-kasan-gce-corpus.db"],"focus":["net"],"focus_symbols":["sctp_assoc_bh_rcv","sctp_endpoint_bh_rcv"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"2bb54b49e9d522f54dc9c0fe10ba40fbc56041c8","config_name":"upstream-apparmor-kasan.config","enable_configs":["IP_SCTP"],"series_id":"9f7aab38-6007-49a5-ab2b-2911dc7cba84","tree_name":"net-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/netdev/net-next.git"},retest:null,track:KASAN)[0].save-base-req Phase: Succeeded StartedAt: 2026-07-29 20:05:56 +0000 UTC FinishedAt: 2026-07-29 20:06:02 +0000 UTC Input: &Inputs{Parameters:[]Parameter{Parameter{Name:data,Default:nil,Value:*{"arch":"amd64","commit_hash":"2bb54b49e9d522f54dc9c0fe10ba40fbc56041c8","config_name":"upstream-apparmor-kasan.config","enable_configs":["IP_SCTP"],"series_id":"","tree_name":"net-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/netdev/net-next.git"},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-workflowrj5vx/series-workflowrj5vx-convert-artifact-3643140843/artifact.tgz,},Azure:nil,},GlobalName:,Archive:nil,Optional:false,SubPath:,RecurseMode:false,FromExpression:,ArtifactGC:nil,Deleted:false,},},Result:nil,ExitCode:*0,} --------- Name: series-workflowrj5vx[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"2bb54b49e9d522f54dc9c0fe10ba40fbc56041c8","config_name":"upstream-apparmor-kasan.config","enable_configs":["IP_SCTP"],"series_id":"","tree_name":"net-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/netdev/net-next.git"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-net-kasan-gce-corpus.db"],"focus":["net"],"focus_symbols":["sctp_assoc_bh_rcv","sctp_endpoint_bh_rcv"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"2bb54b49e9d522f54dc9c0fe10ba40fbc56041c8","config_name":"upstream-apparmor-kasan.config","enable_configs":["IP_SCTP"],"series_id":"9f7aab38-6007-49a5-ab2b-2911dc7cba84","tree_name":"net-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/netdev/net-next.git"},retest:null,track:KASAN)[1] Phase: Succeeded StartedAt: 2026-07-29 20:06:06 +0000 UTC FinishedAt: 2026-07-29 20:31:10 +0000 UTC Input: nil Output: nil --------- Name: series-workflowrj5vx[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"2bb54b49e9d522f54dc9c0fe10ba40fbc56041c8","config_name":"upstream-apparmor-kasan.config","enable_configs":["IP_SCTP"],"series_id":"","tree_name":"net-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/netdev/net-next.git"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-net-kasan-gce-corpus.db"],"focus":["net"],"focus_symbols":["sctp_assoc_bh_rcv","sctp_endpoint_bh_rcv"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"2bb54b49e9d522f54dc9c0fe10ba40fbc56041c8","config_name":"upstream-apparmor-kasan.config","enable_configs":["IP_SCTP"],"series_id":"9f7aab38-6007-49a5-ab2b-2911dc7cba84","tree_name":"net-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/netdev/net-next.git"},retest:null,track:KASAN)[1].base-build Phase: Succeeded StartedAt: 2026-07-29 20:06:06 +0000 UTC FinishedAt: 2026-07-29 20:31:10 +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:*13de8024-7dc1-4401-b860-4449953858fa,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-workflowrj5vx/series-workflowrj5vx-convert-artifact-3643140843/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": "f680a316-1023-495f-adad-d4e95cb7f9b8", "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-workflowrj5vx/series-workflowrj5vx-build-action-2689097449/kernel.tgz,},Azure:nil,},GlobalName:,Archive:nil,Optional:true,SubPath:,RecurseMode:false,FromExpression:,ArtifactGC:nil,Deleted:false,},},Result:nil,ExitCode:*0,} --------- Name: series-workflowrj5vx[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"2bb54b49e9d522f54dc9c0fe10ba40fbc56041c8","config_name":"upstream-apparmor-kasan.config","enable_configs":["IP_SCTP"],"series_id":"","tree_name":"net-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/netdev/net-next.git"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-net-kasan-gce-corpus.db"],"focus":["net"],"focus_symbols":["sctp_assoc_bh_rcv","sctp_endpoint_bh_rcv"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"2bb54b49e9d522f54dc9c0fe10ba40fbc56041c8","config_name":"upstream-apparmor-kasan.config","enable_configs":["IP_SCTP"],"series_id":"9f7aab38-6007-49a5-ab2b-2911dc7cba84","tree_name":"net-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/netdev/net-next.git"},retest:null,track:KASAN)[1].base-build(0) Phase: Succeeded StartedAt: 2026-07-29 20:06:06 +0000 UTC FinishedAt: 2026-07-29 20:31:02 +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:*13de8024-7dc1-4401-b860-4449953858fa,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-workflowrj5vx/series-workflowrj5vx-convert-artifact-3643140843/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": "f680a316-1023-495f-adad-d4e95cb7f9b8", "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-workflowrj5vx/series-workflowrj5vx-build-action-2689097449/kernel.tgz,},Azure:nil,},GlobalName:,Archive:nil,Optional:true,SubPath:,RecurseMode:false,FromExpression:,ArtifactGC:nil,Deleted:false,},},Result:nil,ExitCode:*0,} --------- Name: series-workflowrj5vx[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"2bb54b49e9d522f54dc9c0fe10ba40fbc56041c8","config_name":"upstream-apparmor-kasan.config","enable_configs":["IP_SCTP"],"series_id":"","tree_name":"net-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/netdev/net-next.git"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-net-kasan-gce-corpus.db"],"focus":["net"],"focus_symbols":["sctp_assoc_bh_rcv","sctp_endpoint_bh_rcv"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"2bb54b49e9d522f54dc9c0fe10ba40fbc56041c8","config_name":"upstream-apparmor-kasan.config","enable_configs":["IP_SCTP"],"series_id":"9f7aab38-6007-49a5-ab2b-2911dc7cba84","tree_name":"net-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/netdev/net-next.git"},retest:null,track:KASAN)[2] Phase: Succeeded StartedAt: 2026-07-29 20:31:10 +0000 UTC FinishedAt: 2026-07-29 20:31:10 +0000 UTC Input: nil Output: nil --------- Name: series-workflowrj5vx[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"2bb54b49e9d522f54dc9c0fe10ba40fbc56041c8","config_name":"upstream-apparmor-kasan.config","enable_configs":["IP_SCTP"],"series_id":"","tree_name":"net-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/netdev/net-next.git"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-net-kasan-gce-corpus.db"],"focus":["net"],"focus_symbols":["sctp_assoc_bh_rcv","sctp_endpoint_bh_rcv"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"2bb54b49e9d522f54dc9c0fe10ba40fbc56041c8","config_name":"upstream-apparmor-kasan.config","enable_configs":["IP_SCTP"],"series_id":"9f7aab38-6007-49a5-ab2b-2911dc7cba84","tree_name":"net-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/netdev/net-next.git"},retest:null,track:KASAN)[2].abort-if-base-build-failed Phase: Skipped StartedAt: 2026-07-29 20:31:10 +0000 UTC FinishedAt: 2026-07-29 20:31:10 +0000 UTC Input: nil Output: nil --------- Name: series-workflowrj5vx[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"2bb54b49e9d522f54dc9c0fe10ba40fbc56041c8","config_name":"upstream-apparmor-kasan.config","enable_configs":["IP_SCTP"],"series_id":"","tree_name":"net-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/netdev/net-next.git"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-net-kasan-gce-corpus.db"],"focus":["net"],"focus_symbols":["sctp_assoc_bh_rcv","sctp_endpoint_bh_rcv"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"2bb54b49e9d522f54dc9c0fe10ba40fbc56041c8","config_name":"upstream-apparmor-kasan.config","enable_configs":["IP_SCTP"],"series_id":"9f7aab38-6007-49a5-ab2b-2911dc7cba84","tree_name":"net-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/netdev/net-next.git"},retest:null,track:KASAN)[3] Phase: Succeeded StartedAt: 2026-07-29 20:31:10 +0000 UTC FinishedAt: 2026-07-29 20:31:20 +0000 UTC Input: nil Output: nil --------- Name: series-workflowrj5vx[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"2bb54b49e9d522f54dc9c0fe10ba40fbc56041c8","config_name":"upstream-apparmor-kasan.config","enable_configs":["IP_SCTP"],"series_id":"","tree_name":"net-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/netdev/net-next.git"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-net-kasan-gce-corpus.db"],"focus":["net"],"focus_symbols":["sctp_assoc_bh_rcv","sctp_endpoint_bh_rcv"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"2bb54b49e9d522f54dc9c0fe10ba40fbc56041c8","config_name":"upstream-apparmor-kasan.config","enable_configs":["IP_SCTP"],"series_id":"9f7aab38-6007-49a5-ab2b-2911dc7cba84","tree_name":"net-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/netdev/net-next.git"},retest:null,track:KASAN)[3].save-patched-req Phase: Succeeded StartedAt: 2026-07-29 20:31:10 +0000 UTC FinishedAt: 2026-07-29 20:31:15 +0000 UTC Input: &Inputs{Parameters:[]Parameter{Parameter{Name:data,Default:nil,Value:*{"arch":"amd64","commit_hash":"2bb54b49e9d522f54dc9c0fe10ba40fbc56041c8","config_name":"upstream-apparmor-kasan.config","enable_configs":["IP_SCTP"],"series_id":"9f7aab38-6007-49a5-ab2b-2911dc7cba84","tree_name":"net-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/netdev/net-next.git"},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-workflowrj5vx/series-workflowrj5vx-convert-artifact-2117088194/artifact.tgz,},Azure:nil,},GlobalName:,Archive:nil,Optional:false,SubPath:,RecurseMode:false,FromExpression:,ArtifactGC:nil,Deleted:false,},},Result:nil,ExitCode:*0,} --------- Name: series-workflowrj5vx[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"2bb54b49e9d522f54dc9c0fe10ba40fbc56041c8","config_name":"upstream-apparmor-kasan.config","enable_configs":["IP_SCTP"],"series_id":"","tree_name":"net-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/netdev/net-next.git"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-net-kasan-gce-corpus.db"],"focus":["net"],"focus_symbols":["sctp_assoc_bh_rcv","sctp_endpoint_bh_rcv"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"2bb54b49e9d522f54dc9c0fe10ba40fbc56041c8","config_name":"upstream-apparmor-kasan.config","enable_configs":["IP_SCTP"],"series_id":"9f7aab38-6007-49a5-ab2b-2911dc7cba84","tree_name":"net-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/netdev/net-next.git"},retest:null,track:KASAN)[4] Phase: Succeeded StartedAt: 2026-07-29 20:31:20 +0000 UTC FinishedAt: 2026-07-29 20:32:59 +0000 UTC Input: nil Output: nil --------- Name: series-workflowrj5vx[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"2bb54b49e9d522f54dc9c0fe10ba40fbc56041c8","config_name":"upstream-apparmor-kasan.config","enable_configs":["IP_SCTP"],"series_id":"","tree_name":"net-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/netdev/net-next.git"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-net-kasan-gce-corpus.db"],"focus":["net"],"focus_symbols":["sctp_assoc_bh_rcv","sctp_endpoint_bh_rcv"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"2bb54b49e9d522f54dc9c0fe10ba40fbc56041c8","config_name":"upstream-apparmor-kasan.config","enable_configs":["IP_SCTP"],"series_id":"9f7aab38-6007-49a5-ab2b-2911dc7cba84","tree_name":"net-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/netdev/net-next.git"},retest:null,track:KASAN)[4].boot-test-base Phase: Succeeded StartedAt: 2026-07-29 20:31:20 +0000 UTC FinishedAt: 2026-07-29 20:32:49 +0000 UTC Input: &Inputs{Parameters:[]Parameter{Parameter{Name:base-build-id,Default:nil,Value:*f680a316-1023-495f-adad-d4e95cb7f9b8,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-workflowrj5vx/series-workflowrj5vx-build-action-2689097449/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-workflowrj5vx[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"2bb54b49e9d522f54dc9c0fe10ba40fbc56041c8","config_name":"upstream-apparmor-kasan.config","enable_configs":["IP_SCTP"],"series_id":"","tree_name":"net-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/netdev/net-next.git"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-net-kasan-gce-corpus.db"],"focus":["net"],"focus_symbols":["sctp_assoc_bh_rcv","sctp_endpoint_bh_rcv"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"2bb54b49e9d522f54dc9c0fe10ba40fbc56041c8","config_name":"upstream-apparmor-kasan.config","enable_configs":["IP_SCTP"],"series_id":"9f7aab38-6007-49a5-ab2b-2911dc7cba84","tree_name":"net-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/netdev/net-next.git"},retest:null,track:KASAN)[5] Phase: Succeeded StartedAt: 2026-07-29 20:32:59 +0000 UTC FinishedAt: 2026-07-29 20:32:59 +0000 UTC Input: nil Output: nil --------- Name: series-workflowrj5vx[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"2bb54b49e9d522f54dc9c0fe10ba40fbc56041c8","config_name":"upstream-apparmor-kasan.config","enable_configs":["IP_SCTP"],"series_id":"","tree_name":"net-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/netdev/net-next.git"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-net-kasan-gce-corpus.db"],"focus":["net"],"focus_symbols":["sctp_assoc_bh_rcv","sctp_endpoint_bh_rcv"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"2bb54b49e9d522f54dc9c0fe10ba40fbc56041c8","config_name":"upstream-apparmor-kasan.config","enable_configs":["IP_SCTP"],"series_id":"9f7aab38-6007-49a5-ab2b-2911dc7cba84","tree_name":"net-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/netdev/net-next.git"},retest:null,track:KASAN)[5].abort-if-base-boot-failed Phase: Skipped StartedAt: 2026-07-29 20:32:59 +0000 UTC FinishedAt: 2026-07-29 20:32:59 +0000 UTC Input: nil Output: nil --------- Name: series-workflowrj5vx[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"2bb54b49e9d522f54dc9c0fe10ba40fbc56041c8","config_name":"upstream-apparmor-kasan.config","enable_configs":["IP_SCTP"],"series_id":"","tree_name":"net-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/netdev/net-next.git"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-net-kasan-gce-corpus.db"],"focus":["net"],"focus_symbols":["sctp_assoc_bh_rcv","sctp_endpoint_bh_rcv"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"2bb54b49e9d522f54dc9c0fe10ba40fbc56041c8","config_name":"upstream-apparmor-kasan.config","enable_configs":["IP_SCTP"],"series_id":"9f7aab38-6007-49a5-ab2b-2911dc7cba84","tree_name":"net-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/netdev/net-next.git"},retest:null,track:KASAN)[6] Phase: Succeeded StartedAt: 2026-07-29 20:32:59 +0000 UTC FinishedAt: 2026-07-29 20:54:25 +0000 UTC Input: nil Output: nil --------- Name: series-workflowrj5vx[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"2bb54b49e9d522f54dc9c0fe10ba40fbc56041c8","config_name":"upstream-apparmor-kasan.config","enable_configs":["IP_SCTP"],"series_id":"","tree_name":"net-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/netdev/net-next.git"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-net-kasan-gce-corpus.db"],"focus":["net"],"focus_symbols":["sctp_assoc_bh_rcv","sctp_endpoint_bh_rcv"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"2bb54b49e9d522f54dc9c0fe10ba40fbc56041c8","config_name":"upstream-apparmor-kasan.config","enable_configs":["IP_SCTP"],"series_id":"9f7aab38-6007-49a5-ab2b-2911dc7cba84","tree_name":"net-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/netdev/net-next.git"},retest:null,track:KASAN)[6].patched-build Phase: Succeeded StartedAt: 2026-07-29 20:32:59 +0000 UTC FinishedAt: 2026-07-29 20:54:25 +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:*13de8024-7dc1-4401-b860-4449953858fa,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-workflowrj5vx/series-workflowrj5vx-convert-artifact-2117088194/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": "caec348f-3db1-4de2-b990-6c08d12c5852", "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-workflowrj5vx/series-workflowrj5vx-build-action-2972640790/kernel.tgz,},Azure:nil,},GlobalName:,Archive:nil,Optional:true,SubPath:,RecurseMode:false,FromExpression:,ArtifactGC:nil,Deleted:false,},},Result:nil,ExitCode:*0,} --------- Name: series-workflowrj5vx[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"2bb54b49e9d522f54dc9c0fe10ba40fbc56041c8","config_name":"upstream-apparmor-kasan.config","enable_configs":["IP_SCTP"],"series_id":"","tree_name":"net-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/netdev/net-next.git"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-net-kasan-gce-corpus.db"],"focus":["net"],"focus_symbols":["sctp_assoc_bh_rcv","sctp_endpoint_bh_rcv"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"2bb54b49e9d522f54dc9c0fe10ba40fbc56041c8","config_name":"upstream-apparmor-kasan.config","enable_configs":["IP_SCTP"],"series_id":"9f7aab38-6007-49a5-ab2b-2911dc7cba84","tree_name":"net-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/netdev/net-next.git"},retest:null,track:KASAN)[6].patched-build(0) Phase: Succeeded StartedAt: 2026-07-29 20:32:59 +0000 UTC FinishedAt: 2026-07-29 20:54:15 +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:*13de8024-7dc1-4401-b860-4449953858fa,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-workflowrj5vx/series-workflowrj5vx-convert-artifact-2117088194/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": "caec348f-3db1-4de2-b990-6c08d12c5852", "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-workflowrj5vx/series-workflowrj5vx-build-action-2972640790/kernel.tgz,},Azure:nil,},GlobalName:,Archive:nil,Optional:true,SubPath:,RecurseMode:false,FromExpression:,ArtifactGC:nil,Deleted:false,},},Result:nil,ExitCode:*0,} --------- Name: series-workflowrj5vx[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"2bb54b49e9d522f54dc9c0fe10ba40fbc56041c8","config_name":"upstream-apparmor-kasan.config","enable_configs":["IP_SCTP"],"series_id":"","tree_name":"net-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/netdev/net-next.git"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-net-kasan-gce-corpus.db"],"focus":["net"],"focus_symbols":["sctp_assoc_bh_rcv","sctp_endpoint_bh_rcv"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"2bb54b49e9d522f54dc9c0fe10ba40fbc56041c8","config_name":"upstream-apparmor-kasan.config","enable_configs":["IP_SCTP"],"series_id":"9f7aab38-6007-49a5-ab2b-2911dc7cba84","tree_name":"net-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/netdev/net-next.git"},retest:null,track:KASAN)[7] Phase: Succeeded StartedAt: 2026-07-29 20:54:25 +0000 UTC FinishedAt: 2026-07-29 20:54:25 +0000 UTC Input: nil Output: nil --------- Name: series-workflowrj5vx[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"2bb54b49e9d522f54dc9c0fe10ba40fbc56041c8","config_name":"upstream-apparmor-kasan.config","enable_configs":["IP_SCTP"],"series_id":"","tree_name":"net-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/netdev/net-next.git"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-net-kasan-gce-corpus.db"],"focus":["net"],"focus_symbols":["sctp_assoc_bh_rcv","sctp_endpoint_bh_rcv"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"2bb54b49e9d522f54dc9c0fe10ba40fbc56041c8","config_name":"upstream-apparmor-kasan.config","enable_configs":["IP_SCTP"],"series_id":"9f7aab38-6007-49a5-ab2b-2911dc7cba84","tree_name":"net-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/netdev/net-next.git"},retest:null,track:KASAN)[7].abort-if-patched-build-failed Phase: Skipped StartedAt: 2026-07-29 20:54:25 +0000 UTC FinishedAt: 2026-07-29 20:54:25 +0000 UTC Input: nil Output: nil --------- Name: series-workflowrj5vx[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"2bb54b49e9d522f54dc9c0fe10ba40fbc56041c8","config_name":"upstream-apparmor-kasan.config","enable_configs":["IP_SCTP"],"series_id":"","tree_name":"net-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/netdev/net-next.git"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-net-kasan-gce-corpus.db"],"focus":["net"],"focus_symbols":["sctp_assoc_bh_rcv","sctp_endpoint_bh_rcv"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"2bb54b49e9d522f54dc9c0fe10ba40fbc56041c8","config_name":"upstream-apparmor-kasan.config","enable_configs":["IP_SCTP"],"series_id":"9f7aab38-6007-49a5-ab2b-2911dc7cba84","tree_name":"net-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/netdev/net-next.git"},retest:null,track:KASAN)[8] Phase: Succeeded StartedAt: 2026-07-29 20:54:25 +0000 UTC FinishedAt: 2026-07-29 20:56:44 +0000 UTC Input: nil Output: nil --------- Name: series-workflowrj5vx[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"2bb54b49e9d522f54dc9c0fe10ba40fbc56041c8","config_name":"upstream-apparmor-kasan.config","enable_configs":["IP_SCTP"],"series_id":"","tree_name":"net-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/netdev/net-next.git"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-net-kasan-gce-corpus.db"],"focus":["net"],"focus_symbols":["sctp_assoc_bh_rcv","sctp_endpoint_bh_rcv"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"2bb54b49e9d522f54dc9c0fe10ba40fbc56041c8","config_name":"upstream-apparmor-kasan.config","enable_configs":["IP_SCTP"],"series_id":"9f7aab38-6007-49a5-ab2b-2911dc7cba84","tree_name":"net-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/netdev/net-next.git"},retest:null,track:KASAN)[8].boot-test-patched Phase: Succeeded StartedAt: 2026-07-29 20:54:25 +0000 UTC FinishedAt: 2026-07-29 20:56:35 +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:*caec348f-3db1-4de2-b990-6c08d12c5852,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-workflowrj5vx/series-workflowrj5vx-build-action-2972640790/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-workflowrj5vx[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"2bb54b49e9d522f54dc9c0fe10ba40fbc56041c8","config_name":"upstream-apparmor-kasan.config","enable_configs":["IP_SCTP"],"series_id":"","tree_name":"net-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/netdev/net-next.git"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-net-kasan-gce-corpus.db"],"focus":["net"],"focus_symbols":["sctp_assoc_bh_rcv","sctp_endpoint_bh_rcv"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"2bb54b49e9d522f54dc9c0fe10ba40fbc56041c8","config_name":"upstream-apparmor-kasan.config","enable_configs":["IP_SCTP"],"series_id":"9f7aab38-6007-49a5-ab2b-2911dc7cba84","tree_name":"net-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/netdev/net-next.git"},retest:null,track:KASAN)[10] Phase: Succeeded StartedAt: 2026-07-29 20:56:44 +0000 UTC FinishedAt: 2026-07-30 00:01:10 +0000 UTC Input: nil Output: nil --------- Name: series-workflowrj5vx[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"2bb54b49e9d522f54dc9c0fe10ba40fbc56041c8","config_name":"upstream-apparmor-kasan.config","enable_configs":["IP_SCTP"],"series_id":"","tree_name":"net-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/netdev/net-next.git"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-net-kasan-gce-corpus.db"],"focus":["net"],"focus_symbols":["sctp_assoc_bh_rcv","sctp_endpoint_bh_rcv"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"2bb54b49e9d522f54dc9c0fe10ba40fbc56041c8","config_name":"upstream-apparmor-kasan.config","enable_configs":["IP_SCTP"],"series_id":"9f7aab38-6007-49a5-ab2b-2911dc7cba84","tree_name":"net-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/netdev/net-next.git"},retest:null,track:KASAN)[10].run-fuzz Phase: Succeeded StartedAt: 2026-07-29 20:56:44 +0000 UTC FinishedAt: 2026-07-30 00:01:10 +0000 UTC Input: &Inputs{Parameters:[]Parameter{Parameter{Name:config,Default:nil,Value:*{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-net-kasan-gce-corpus.db"],"focus":["net"],"focus_symbols":["sctp_assoc_bh_rcv","sctp_endpoint_bh_rcv"],"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:*f680a316-1023-495f-adad-d4e95cb7f9b8,ValueFrom:nil,GlobalName:,Enum:[],Description:nil,},Parameter{Name:patched-build-id,Default:nil,Value:*caec348f-3db1-4de2-b990-6c08d12c5852,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-workflowrj5vx/series-workflowrj5vx-build-action-2689097449/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-workflowrj5vx/series-workflowrj5vx-build-action-2972640790/kernel.tgz,},Azure:nil,},GlobalName:,Archive:nil,Optional:true,SubPath:,RecurseMode:false,FromExpression:,ArtifactGC:nil,Deleted:false,},},} Output: nil --------- Name: series-workflowrj5vx[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"2bb54b49e9d522f54dc9c0fe10ba40fbc56041c8","config_name":"upstream-apparmor-kasan.config","enable_configs":["IP_SCTP"],"series_id":"","tree_name":"net-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/netdev/net-next.git"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-net-kasan-gce-corpus.db"],"focus":["net"],"focus_symbols":["sctp_assoc_bh_rcv","sctp_endpoint_bh_rcv"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"2bb54b49e9d522f54dc9c0fe10ba40fbc56041c8","config_name":"upstream-apparmor-kasan.config","enable_configs":["IP_SCTP"],"series_id":"9f7aab38-6007-49a5-ab2b-2911dc7cba84","tree_name":"net-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/netdev/net-next.git"},retest:null,track:KASAN)[10].run-fuzz[0] Phase: Succeeded StartedAt: 2026-07-29 20:56:44 +0000 UTC FinishedAt: 2026-07-29 20:57:08 +0000 UTC Input: nil Output: nil --------- Name: series-workflowrj5vx[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"2bb54b49e9d522f54dc9c0fe10ba40fbc56041c8","config_name":"upstream-apparmor-kasan.config","enable_configs":["IP_SCTP"],"series_id":"","tree_name":"net-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/netdev/net-next.git"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-net-kasan-gce-corpus.db"],"focus":["net"],"focus_symbols":["sctp_assoc_bh_rcv","sctp_endpoint_bh_rcv"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"2bb54b49e9d522f54dc9c0fe10ba40fbc56041c8","config_name":"upstream-apparmor-kasan.config","enable_configs":["IP_SCTP"],"series_id":"9f7aab38-6007-49a5-ab2b-2911dc7cba84","tree_name":"net-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/netdev/net-next.git"},retest:null,track:KASAN)[10].run-fuzz[0].save-fuzz-config Phase: Succeeded StartedAt: 2026-07-29 20:56:44 +0000 UTC FinishedAt: 2026-07-29 20:57:00 +0000 UTC Input: &Inputs{Parameters:[]Parameter{Parameter{Name:data,Default:nil,Value:*{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-net-kasan-gce-corpus.db"],"focus":["net"],"focus_symbols":["sctp_assoc_bh_rcv","sctp_endpoint_bh_rcv"],"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-workflowrj5vx/series-workflowrj5vx-convert-artifact-4130566391/artifact.tgz,},Azure:nil,},GlobalName:,Archive:nil,Optional:false,SubPath:,RecurseMode:false,FromExpression:,ArtifactGC:nil,Deleted:false,},},Result:nil,ExitCode:*0,} --------- Name: series-workflowrj5vx[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"2bb54b49e9d522f54dc9c0fe10ba40fbc56041c8","config_name":"upstream-apparmor-kasan.config","enable_configs":["IP_SCTP"],"series_id":"","tree_name":"net-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/netdev/net-next.git"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-net-kasan-gce-corpus.db"],"focus":["net"],"focus_symbols":["sctp_assoc_bh_rcv","sctp_endpoint_bh_rcv"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"2bb54b49e9d522f54dc9c0fe10ba40fbc56041c8","config_name":"upstream-apparmor-kasan.config","enable_configs":["IP_SCTP"],"series_id":"9f7aab38-6007-49a5-ab2b-2911dc7cba84","tree_name":"net-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/netdev/net-next.git"},retest:null,track:KASAN)[10].run-retest Phase: Skipped StartedAt: 2026-07-29 20:56:44 +0000 UTC FinishedAt: 2026-07-29 20:56:44 +0000 UTC Input: nil Output: nil --------- Name: series-workflowrj5vx[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"2bb54b49e9d522f54dc9c0fe10ba40fbc56041c8","config_name":"upstream-apparmor-kasan.config","enable_configs":["IP_SCTP"],"series_id":"","tree_name":"net-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/netdev/net-next.git"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-net-kasan-gce-corpus.db"],"focus":["net"],"focus_symbols":["sctp_assoc_bh_rcv","sctp_endpoint_bh_rcv"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"2bb54b49e9d522f54dc9c0fe10ba40fbc56041c8","config_name":"upstream-apparmor-kasan.config","enable_configs":["IP_SCTP"],"series_id":"9f7aab38-6007-49a5-ab2b-2911dc7cba84","tree_name":"net-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/netdev/net-next.git"},retest:null,track:KASAN)[9] Phase: Succeeded StartedAt: 2026-07-29 20:56:44 +0000 UTC FinishedAt: 2026-07-29 20:56:44 +0000 UTC Input: nil Output: nil --------- Name: series-workflowrj5vx[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"2bb54b49e9d522f54dc9c0fe10ba40fbc56041c8","config_name":"upstream-apparmor-kasan.config","enable_configs":["IP_SCTP"],"series_id":"","tree_name":"net-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/netdev/net-next.git"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-net-kasan-gce-corpus.db"],"focus":["net"],"focus_symbols":["sctp_assoc_bh_rcv","sctp_endpoint_bh_rcv"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"2bb54b49e9d522f54dc9c0fe10ba40fbc56041c8","config_name":"upstream-apparmor-kasan.config","enable_configs":["IP_SCTP"],"series_id":"9f7aab38-6007-49a5-ab2b-2911dc7cba84","tree_name":"net-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/netdev/net-next.git"},retest:null,track:KASAN)[9].abort-if-patched-boot-failed Phase: Skipped StartedAt: 2026-07-29 20:56:44 +0000 UTC FinishedAt: 2026-07-29 20:56:44 +0000 UTC Input: nil Output: nil --------- Name: series-workflowrj5vx[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"2bb54b49e9d522f54dc9c0fe10ba40fbc56041c8","config_name":"upstream-apparmor-kasan.config","enable_configs":["IP_SCTP"],"series_id":"","tree_name":"net-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/netdev/net-next.git"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-net-kasan-gce-corpus.db"],"focus":["net"],"focus_symbols":["sctp_assoc_bh_rcv","sctp_endpoint_bh_rcv"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"2bb54b49e9d522f54dc9c0fe10ba40fbc56041c8","config_name":"upstream-apparmor-kasan.config","enable_configs":["IP_SCTP"],"series_id":"9f7aab38-6007-49a5-ab2b-2911dc7cba84","tree_name":"net-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/netdev/net-next.git"},retest:null,track:KASAN)[10].run-fuzz[1] Phase: Succeeded StartedAt: 2026-07-29 20:57:08 +0000 UTC FinishedAt: 2026-07-30 00:01:10 +0000 UTC Input: nil Output: nil --------- Name: series-workflowrj5vx[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"2bb54b49e9d522f54dc9c0fe10ba40fbc56041c8","config_name":"upstream-apparmor-kasan.config","enable_configs":["IP_SCTP"],"series_id":"","tree_name":"net-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/netdev/net-next.git"},fuzz:{"bug_title_re":"","corpus_urls":["https://storage.googleapis.com/syzkaller/corpus/ci-upstream-net-kasan-gce-corpus.db"],"focus":["net"],"focus_symbols":["sctp_assoc_bh_rcv","sctp_endpoint_bh_rcv"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"2bb54b49e9d522f54dc9c0fe10ba40fbc56041c8","config_name":"upstream-apparmor-kasan.config","enable_configs":["IP_SCTP"],"series_id":"9f7aab38-6007-49a5-ab2b-2911dc7cba84","tree_name":"net-next","tree_url":"https://kernel.googlesource.com/pub/scm/linux/kernel/git/netdev/net-next.git"},retest:null,track:KASAN)[10].run-fuzz[1].fuzz Phase: Succeeded StartedAt: 2026-07-29 20:57:08 +0000 UTC FinishedAt: 2026-07-30 00:01:00 +0000 UTC Input: &Inputs{Parameters:[]Parameter{Parameter{Name:base-build-id,Default:nil,Value:*f680a316-1023-495f-adad-d4e95cb7f9b8,ValueFrom:nil,GlobalName:,Enum:[],Description:nil,},Parameter{Name:patched-build-id,Default:nil,Value:*caec348f-3db1-4de2-b990-6c08d12c5852,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-workflowrj5vx/series-workflowrj5vx-build-action-2689097449/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-workflowrj5vx/series-workflowrj5vx-build-action-2972640790/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-workflowrj5vx/series-workflowrj5vx-convert-artifact-4130566391/artifact.tgz,},Azure:nil,},GlobalName:,Archive:nil,Optional:false,SubPath:,RecurseMode:false,FromExpression:,ArtifactGC:nil,Deleted:false,},},} Output: &Outputs{Parameters:[]Parameter{},Artifacts:[]Artifact{},Result:nil,ExitCode:*0,}