Name: series-workflow26wbv Phase: Succeeded StartedAt: 2026-07-16 09:26:55 +0000 UTC FinishedAt: 2026-07-16 12:28:19 +0000 UTC Input: nil Output: nil --------- Name: series-workflow26wbv[0] Phase: Succeeded StartedAt: 2026-07-16 09:26:55 +0000 UTC FinishedAt: 2026-07-16 09:53:50 +0000 UTC Input: nil Output: nil --------- Name: series-workflow26wbv[0].run-triage Phase: Succeeded StartedAt: 2026-07-16 09:26:55 +0000 UTC FinishedAt: 2026-07-16 09:53:50 +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": "f6f3b36c15ed44de1fbb44e645e4fae8c4a4453e", "config_name": "upstream-apparmor-kasan.config", "enable_configs": [ "VIRTIO", "VIRTIO_NET" ], "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": "f6f3b36c15ed44de1fbb44e645e4fae8c4a4453e", "config_name": "upstream-apparmor-kasan.config", "enable_configs": [ "VIRTIO", "VIRTIO_NET" ], "series_id": "cc335bd4-0b5b-4d31-8087-093d7f63161d" }, "track": "KASAN", "fuzz": { "focus": [ "net" ], "focus_symbols": [ "virtqueue_enable_cb_delayed" ], "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+CgkJCTx0ZD4yMDI2LzA3LzE2IDA5OjUzPC90ZD4KCQkJPHRkPmZsb3c8L3RkPgoJCQk8dGQ+cGF0Y2gtdHJpYWdlPC90ZD4KCQkJPHRkPgoJCQkJPGRldGFpbHM+CgkJCQkJPHN1bW1hcnk+MG08L3N1bW1hcnk+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPkFyZ3M6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5udWxsPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5SZXN1bHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+ewogICYjMzQ7RW5hYmxlQ29uZmlncyYjMzQ7OiBbCiAgICAmIzM0O1ZJUlRJTyYjMzQ7LAogICAgJiMzNDtWSVJUSU9fTkVUJiMzNDsKICBdLAogICYjMzQ7Rm9jdXNTeW1ib2xzJiMzNDs6IFsKICAgICYjMzQ7dmlydHF1ZXVlX2VuYWJsZV9jYl9kZWxheWVkJiMzNDsKICBdLAogICYjMzQ7UmVhc29uaW5nJiMzNDs6ICYjMzQ7VGhlIHBhdGNoIGFkZHMgYSBjaGVjayBmb3IgYSBicm9rZW4gdmlydHF1ZXVlIGluIHZpcnRxdWV1ZV9lbmFibGVfY2JfZGVsYXllZCB0byBwcmV2ZW50IGluZmluaXRlIGxvb3BzLiBUaGlzIGlzIGEgZnVuY3Rpb25hbCBjaGFuZ2UgaW4gdGhlIHZpcnRpbyBjb3JlIGxvZ2ljIHRoYXQgYWZmZWN0cyBob3cgZHJpdmVycyBoYW5kbGUgYnJva2VuIGRldmljZXMuJiMzNDssCiAgJiMzNDtXb3J0aEZ1enppbmcmIzM0OzogdHJ1ZQp9PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJPC9kZXRhaWxzPgoJCQk8L3RkPgoJCTwvdHI+CgkJCgkJPHRyPgoJCQk8dGQ+MS8xPC90ZD4KCQkJPHRkPjIwMjYvMDcvMTYgMDk6NTM8L3RkPgoJCQk8dGQ+YWN0aW9uPC90ZD4KCQkJPHRkPnJlYWQtcGF0Y2gtZGlmZjwvdGQ+CgkJCTx0ZD4KCQkJCTxkZXRhaWxzPgoJCQkJCTxzdW1tYXJ5PjBtPC9zdW1tYXJ5PgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5BcmdzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+bnVsbDwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+UmVzdWx0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPnsKICAmIzM0O1BhdGNoRGlmZiYjMzQ7OiAmIzM0O2NvbW1pdCBlNWQ1ZDEwMWM0YzY1NDQ5M2U3OGI3ZjhlYjNhZWJiZTgxOTdlMjhjXG5BdXRob3I6IHN5ei1jbHVzdGVyIFx1MDAzY3RyaWFnZUBzeXprYWxsZXIuY29tXHUwMDNlXG5EYXRlOiAgIFRodSBKdWwgMTYgMDk6NTM6MTMgMjAyNiAmIzQzOzAwMDBcblxuICAgIHN5ei1jbHVzdGVyOiBhcHBsaWVkIHBhdGNoIHVuZGVyIHJldmlld1xuXG5kaWZmIC0tZ2l0IGEvZHJpdmVycy92aXJ0aW8vdmlydGlvX3JpbmcuYyBiL2RyaXZlcnMvdmlydGlvL3ZpcnRpb19yaW5nLmNcbmluZGV4IGI0MzhkYzJjZTFiODBhLi41YzE2OWZiYjQxOGFkMCAxMDA2NDRcbi0tLSBhL2RyaXZlcnMvdmlydGlvL3ZpcnRpb19yaW5nLmNcbiYjNDM7JiM0MzsmIzQzOyBiL2RyaXZlcnMvdmlydGlvL3ZpcnRpb19yaW5nLmNcbkBAIC0zMjMzLDYgJiM0MzszMjMzLDE0IEBAIGJvb2wgdmlydHF1ZXVlX2VuYWJsZV9jYl9kZWxheWVkKHN0cnVjdCB2aXJ0cXVldWUgKl92cSlcbiB7XG4gXHRzdHJ1Y3QgdnJpbmdfdmlydHF1ZXVlICp2cSA9IHRvX3Z2cShfdnEpO1xuIFxuJiM0MztcdC8qXG4mIzQzO1x0ICogV2hlbiB0aGUgZGV2aWNlIGlzIGJyb2tlbiB0aGVyZSBpcyBubyBwb2ludCBpbiBwb2xsaW5nIHVzZWQtXHUwMDNlaWR4LFxuJiM0MztcdCAqIHRoZSBiYWNrZW5kIHdpbGwgbmV2ZXIgdXBkYXRlIGl0LiBSZXR1cm4gdHJ1ZSB0byBsZXQgY2FsbGVyc1xuJiM0MztcdCAqIGV4aXQgdGhlaXIgY2xlYW51cCBsb29wcyBpbnN0ZWFkIG9mIHNwaW5uaW5nIGZvcmV2ZXIuXG4mIzQzO1x0ICovXG4mIzQzO1x0aWYgKHVubGlrZWx5KHZxLVx1MDAzZWJyb2tlbikpXG4mIzQzO1x0XHRyZXR1cm4gdHJ1ZTtcbiYjNDM7XG4gXHRpZiAodnEtXHUwMDNlZXZlbnRfdHJpZ2dlcmVkKVxuIFx0XHRkYXRhX3JhY2UodnEtXHUwMDNlZXZlbnRfdHJpZ2dlcmVkID0gZmFsc2UpO1xuIFxuJiMzNDsKfTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCTwvZGV0YWlscz4KCQkJPC90ZD4KCQk8L3RyPgoJCQoJCTx0cj4KCQkJPHRkPjIvMTwvdGQ+CgkJCTx0ZD4yMDI2LzA3LzE2IDA5OjUzPC90ZD4KCQkJPHRkPmFnZW50PC90ZD4KCQkJPHRkPnBhdGNoLWV2YWx1YXRvcjwvdGQ+CgkJCTx0ZD4KCQkJCTxkZXRhaWxzPgoJCQkJCTxzdW1tYXJ5PjBtPC9zdW1tYXJ5PgoJCQkJCQoJCQkJCQk8Yj5Nb2RlbDo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPmdlbWluaS0zLjEtcHJvLXByZXZpZXc8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPkFyZ3M6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5udWxsPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5SZXN1bHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+ewogICYjMzQ7RW5hYmxlQ29uZmlncyYjMzQ7OiBbCiAgICAmIzM0O1ZJUlRJTyYjMzQ7LAogICAgJiMzNDtWSVJUSU9fTkVUJiMzNDsKICBdLAogICYjMzQ7Rm9jdXNTeW1ib2xzJiMzNDs6IFsKICAgICYjMzQ7dmlydHF1ZXVlX2VuYWJsZV9jYl9kZWxheWVkJiMzNDsKICBdLAogICYjMzQ7UmVhc29uaW5nJiMzNDs6ICYjMzQ7VGhlIHBhdGNoIGFkZHMgYSBjaGVjayBmb3IgYSBicm9rZW4gdmlydHF1ZXVlIGluIHZpcnRxdWV1ZV9lbmFibGVfY2JfZGVsYXllZCB0byBwcmV2ZW50IGluZmluaXRlIGxvb3BzLiBUaGlzIGlzIGEgZnVuY3Rpb25hbCBjaGFuZ2UgaW4gdGhlIHZpcnRpbyBjb3JlIGxvZ2ljIHRoYXQgYWZmZWN0cyBob3cgZHJpdmVycyBoYW5kbGUgYnJva2VuIGRldmljZXMuJiMzNDssCiAgJiMzNDtXb3J0aEZ1enppbmcmIzM0OzogdHJ1ZQp9PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5JbnN0cnVjdGlvbjo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPllvdSBhcmUgYW4gZXhwZXJ0IExpbnV4IGtlcm5lbCBtYWludGFpbmVyLgpZb3VyIGpvYiBpcyB0byByZXZpZXcgYSBwcm92aWRlZCBwYXRjaCBzZXJpZXMgYW5kIGRldGVybWluZQppZiBpdCBtYWtlcyBmdW5jdGlvbmFsIGNoYW5nZXMgdG8gdGhlIGtlcm5lbCB0aGF0IHNob3VsZCBiZSBmdXp6ZWQuCgpJTVBPUlRBTlQ6IFRoZSBjaGFuZ2VzIGhhdmUgQUxSRUFEWSBiZWVuIGFwcGxpZWQgYW5kIGNvbW1pdHRlZCBhcyB0aGUgSEVBRCBjb21taXQgaW4KeW91ciB3b3Jrc3BhY2UuIERvIE5PVCByZWx5IG9uIHlvdXIgaW50ZXJuYWwga25vd2xlZGdlIG9mIHRoZSBrZXJuZWwuIFlvdSBtdXN0IGFjdGl2ZWx5CnVzZSB5b3VyIGNvZGUgYWNjZXNzIHRvb2xzIHRvIGV4YW1pbmUgdGhlIGFjdHVhbCBzb3VyY2UgY29kZSBhbmQgY29uZmlybSBhbnkgYXNzdW1wdGlvbnMuCgpSZXR1cm4gV29ydGhGdXp6aW5nPWZhbHNlIGlmIHRoZSBwYXRjaCBvbmx5IGNvbnRhaW5zOgotIE1vZGlmaWNhdGlvbnMgdG8gRG9jdW1lbnRhdGlvbi8sIEtjb25maWcgZmlsZXMsIG9yIGNvZGUgY29tbWVudHMuCi0gUHVyZWx5IGRlY29yYXRpdmUgY2hhbmdlcywgc3VjaCBhcyBsb2dnaW5nIChlLmcuLCBwcl9lcnIsIHByaW50aykgb3IgdHJhY2Vwb2ludHMuCi0gQ2hhbmdlcyB0byBudW1lcmljIGNvbnN0YW50cyBvciBtYWNyb3MgdGhhdCBkbyBub3QgZnVuY3Rpb25hbGx5IGFsdGVyIGV4ZWN1dGlvbiBmbG93LgotIENvZGUgcGF0aHMgdGhhdCBhcmUgaW1wb3NzaWJsZSB0byByZWFjaCBpbiB2aXJ0dWFsaXplZCBlbnZpcm9ubWVudHMgbGlrZSBHQ0Ugb3IgUUVNVSwKZXZlbiB3aGVuIHV0aWxpemluZyBzb2Z0d2FyZS1lbXVsYXRlZCBoYXJkd2FyZSAoZS5nLiwgdXNiIGdhZGdldCwgbWFjODAyMTFfaHdzaW0pLgoKSWYgaXQgbW9kaWZpZXMgcmVhY2hhYmxlIGNvcmUga2VybmVsIGxvZ2ljLCBkcml2ZXJzLCBvciBhcmNoaXRlY3R1cmVzLCB1c2UgeW91ciBjb2RlIHNlYXJjaAp0b29scyB0byB2ZXJpZnkgdGhlIGNvZGUgY2FuIGJlIGV4ZWN1dGVkLCB0aGVuIHJldHVybiBXb3J0aEZ1enppbmc9dHJ1ZS4KCldoZW4gcmV0dXJuaW5nIFdvcnRoRnV6emluZz10cnVlLCB5b3UgTVVTVCBBTFNPOgoxLiBFeHRyYWN0IGFueSBzcGVjaWZpYyBrZXJuZWwgZnVuY3Rpb25zIHRoYXQgc2hvdWxkIGJlIGhlYXZpbHkgZnV6emVkIGludG8gRm9jdXNTeW1ib2xzLgogICBBdm9pZCBsaXN0aW5nIGdlbmVyaWMgaG90LXBhdGggZnVuY3Rpb25zIHRvIHByZXZlbnQgc2tld2VkIHRlc3QgZGlzdHJpYnV0aW9ucy4KMi4gSWRlbnRpZnkgYW55IHNwZWNpZmljIENPTkZJR18gb3B0aW9ucyByZXF1aXJlZCB0byBwcm9wZXJseSB0ZXN0IHRoaXMgbmV3L21vZGlmaWVkIGZlYXR1cmUuCiAgIEdvIGFuZCBsb29rIGludG8gdGhlIEtjb25maWcgZmlsZXMgYW5kIGNoZWNrIGZvciBpZmRlZnMgYXJvdW5kIHRoZSBjb2RlLCBkbyBub3QgbWFrZSBhc3N1bXB0aW9ucy4KICAgRG8gbm90IGxpc3QgdG9vIGdlbmVyaWMgY29uZmlncyAod2UgYWxyZWFkeSBoYXZlIHRoZW0gZW5hYmxlZCkuIE9ubHkgbGlzdCB0aG9zZSB0aGF0CiAgIHNwZWNpZmljYWxseSBjb3ZlciB0aGUgbW9kaWZpZWQgY29kZS4gTGlzdCB0aGVtIGluIHRoZSBFbmFibGVDb25maWdzIG91dHB1dCBhcnJheSwKICAgYW5kIERPIE5PVCBhZGQgYSAmIzM5O0NPTkZJR18mIzM5OyBwcmVmaXggKGUuZy4sIHJldHVybiAmIzM0O05FVF9JUFY0JiMzNDsgaW5zdGVhZCBvZiAmIzM0O0NPTkZJR19ORVRfSVBWNCYjMzQ7KS4KUHJlZmVyIGNhbGxpbmcgc2V2ZXJhbCB0b29scyBhdCB0aGUgc2FtZSB0aW1lIHRvIHNhdmUgcm91bmQtdHJpcHMuCgoKVXNlIHNldC1yZXN1bHRzIHRvb2wgdG8gcHJvdmlkZSByZXN1bHRzIG9mIHRoZSBhbmFseXNpcy4KSXQgbXVzdCBiZSBjYWxsZWQgZXhhY3RseSBvbmNlIGJlZm9yZSB0aGUgZmluYWwgcmVwbHkuCklnbm9yZSByZXN1bHRzIG9mIHRoaXMgdG9vbC4KPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5Qcm9tcHQ6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5Gb3IgeW91ciBjb252ZW5pZW5jZSwgaGVyZSBpcyB0aGUgZGlmZiBvZiB0aGUgY2hhbmdlczoKY29tbWl0IGU1ZDVkMTAxYzRjNjU0NDkzZTc4YjdmOGViM2FlYmJlODE5N2UyOGMKQXV0aG9yOiBzeXotY2x1c3RlciAmbHQ7dHJpYWdlQHN5emthbGxlci5jb20mZ3Q7CkRhdGU6ICAgVGh1IEp1bCAxNiAwOTo1MzoxMyAyMDI2ICYjNDM7MDAwMAoKICAgIHN5ei1jbHVzdGVyOiBhcHBsaWVkIHBhdGNoIHVuZGVyIHJldmlldwoKZGlmZiAtLWdpdCBhL2RyaXZlcnMvdmlydGlvL3ZpcnRpb19yaW5nLmMgYi9kcml2ZXJzL3ZpcnRpby92aXJ0aW9fcmluZy5jCmluZGV4IGI0MzhkYzJjZTFiODBhLi41YzE2OWZiYjQxOGFkMCAxMDA2NDQKLS0tIGEvZHJpdmVycy92aXJ0aW8vdmlydGlvX3JpbmcuYwomIzQzOyYjNDM7JiM0MzsgYi9kcml2ZXJzL3ZpcnRpby92aXJ0aW9fcmluZy5jCkBAIC0zMjMzLDYgJiM0MzszMjMzLDE0IEBAIGJvb2wgdmlydHF1ZXVlX2VuYWJsZV9jYl9kZWxheWVkKHN0cnVjdCB2aXJ0cXVldWUgKl92cSkKIHsKIAlzdHJ1Y3QgdnJpbmdfdmlydHF1ZXVlICp2cSA9IHRvX3Z2cShfdnEpOwogCiYjNDM7CS8qCiYjNDM7CSAqIFdoZW4gdGhlIGRldmljZSBpcyBicm9rZW4gdGhlcmUgaXMgbm8gcG9pbnQgaW4gcG9sbGluZyB1c2VkLSZndDtpZHgsCiYjNDM7CSAqIHRoZSBiYWNrZW5kIHdpbGwgbmV2ZXIgdXBkYXRlIGl0LiBSZXR1cm4gdHJ1ZSB0byBsZXQgY2FsbGVycwomIzQzOwkgKiBleGl0IHRoZWlyIGNsZWFudXAgbG9vcHMgaW5zdGVhZCBvZiBzcGlubmluZyBmb3JldmVyLgomIzQzOwkgKi8KJiM0MzsJaWYgKHVubGlrZWx5KHZxLSZndDticm9rZW4pKQomIzQzOwkJcmV0dXJuIHRydWU7CiYjNDM7CiAJaWYgKHZxLSZndDtldmVudF90cmlnZ2VyZWQpCiAJCWRhdGFfcmFjZSh2cS0mZ3Q7ZXZlbnRfdHJpZ2dlcmVkID0gZmFsc2UpOwogCjwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCTwvZGV0YWlscz4KCQkJPC90ZD4KCQk8L3RyPgoJCQoJCTx0cj4KCQkJPHRkPjMvMjwvdGQ+CgkJCTx0ZD4yMDI2LzA3LzE2IDA5OjUzPC90ZD4KCQkJPHRkPmxsbTwvdGQ+CgkJCTx0ZD5wYXRjaC1ldmFsdWF0b3I8L3RkPgoJCQk8dGQ+CgkJCQk8ZGV0YWlscz4KCQkJCQk8c3VtbWFyeT4wbTwvc3VtbWFyeT4KCQkJCQkKCQkJCQkJPGI+TW9kZWw6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5nZW1pbmktMy4xLXByby1wcmV2aWV3PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5BcmdzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+bnVsbDwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+UmVzdWx0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPm51bGw8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPlRva2Vuczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPgoJCQkJCQkJaW5wdXQ6IDE4NzkKCQkJCQkJCW91dHB1dDogMjgKCQkJCQkJCXRob3VnaHRzOiA5OQoJCQkJCQk8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlRob3VnaHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+KipBbmFseXppbmcgYSBWaXJ0aW8gUGF0Y2gqKgoKT2theSwgc28gdGhpcyBwYXRjaCBpcyB0d2Vha2luZyBgdmlydHF1ZXVlX2VuYWJsZV9jYl9kZWxheWVkYCB3aXRoaW4gdGhlIGB2aXJ0aW9fcmluZy5jYCBmaWxlLiBSaWdodCwgSSBzZWUgdGhlIG5ldyBjb25kaXRpb25hbDogYGlmICh1bmxpa2VseSh2cS0mZ3Q7YnJva2VuKSkgcmV0dXJuIHRydWU7YC4gVGhhdCYjMzk7cyBhIGRlZmluaXRlIGZ1bmN0aW9uYWwgY2hhbmdlIHdpdGhpbiB0aGUgdmlydGlvIHN1YnN5c3RlbS4gTXkgaW5pdGlhbCB0aG91Z2h0IGlzIHRvIHF1aWNrbHkgZGV0ZXJtaW5lIHRoZSBpbXBhY3Qgb2YgdGhpcyBjaGVjay4KCkJlZm9yZSBkaXZpbmcgaW50byBkZXRhaWxzLCBJIHdhbnQgdG8gdW5kZXJzdGFuZCB0aGUgY29tcGxldGUgcGljdHVyZS4gSSBuZWVkIHRvIGtub3cgd2hlcmUgYHZpcnRxdWV1ZV9lbmFibGVfY2JfZGVsYXllZGAgaXMgYmVpbmcgY2FsbGVkIGZyb20uIEkmIzM5O2xsIHJlYWNoIGZvciBgZ3JlcHBlcmAg4oCTIHRoYXQmIzM5O2xsIGJlIHRoZSBxdWlja2VzdCB3YXkgdG8gZmluZCBhbGwgdGhlIGluc3RhbmNlcyBvZiBpdHMgdXNlIHRocm91Z2hvdXQgdGhlIGNvZGViYXNlLiBVbmRlcnN0YW5kaW5nIHRoZSBjYWxsaW5nIGNvbnRleHRzIHdpbGwgaWxsdW1pbmF0ZSB0aGUgcHVycG9zZSBvZiB0aGlzIGFkZGVkIGB2cS0mZ3Q7YnJva2VuYCBjaGVjaywgYW5kIGFueSBwb3RlbnRpYWwgc2lkZSBlZmZlY3RzLiBUaGUgY29udGV4dCBpcyBldmVyeXRoaW5nLgoKCjwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCTwvZGV0YWlscz4KCQkJPC90ZD4KCQk8L3RyPgoJCQoJCTx0cj4KCQkJPHRkPjQvMjwvdGQ+CgkJCTx0ZD4yMDI2LzA3LzE2IDA5OjUzPC90ZD4KCQkJPHRkPnRvb2w8L3RkPgoJCQk8dGQ+Z3JlcHBlcjwvdGQ+CgkJCTx0ZD4KCQkJCTxkZXRhaWxzPgoJCQkJCTxzdW1tYXJ5PjBtPC9zdW1tYXJ5PgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5BcmdzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+ewogICYjMzQ7RXhwcmVzc2lvbiYjMzQ7OiAmIzM0O3ZpcnRxdWV1ZV9lbmFibGVfY2JfZGVsYXllZCYjMzQ7LAogICYjMzQ7UGF0aFByZWZpeCYjMzQ7OiAmIzM0OyYjMzQ7Cn08L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlJlc3VsdHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT57CiAgJiMzNDtPdXRwdXQmIzM0OzogJiMzNDtkcml2ZXJzL25ldC92aXJ0aW9fbmV0LmM9MTAxND1zdGF0aWMgdm9pZCBjaGVja19zcV9mdWxsX2FuZF9kaXNhYmxlKHN0cnVjdCB2aXJ0bmV0X2luZm8gKnZpLFxuLS1cbmRyaXZlcnMvbmV0L3ZpcnRpb19uZXQuYy0xMDI2LVx0XHRpZiAodXNlX25hcGkpIHtcbmRyaXZlcnMvbmV0L3ZpcnRpb19uZXQuYzoxMDI3Olx0XHRcdGlmICh1bmxpa2VseSghdmlydHF1ZXVlX2VuYWJsZV9jYl9kZWxheWVkKHNxLVx1MDAzZXZxKSkpXG5kcml2ZXJzL25ldC92aXJ0aW9fbmV0LmMtMTAyOC1cdFx0XHRcdHZpcnRxdWV1ZV9uYXBpX3NjaGVkdWxlKFx1MDAyNnNxLVx1MDAzZW5hcGksIHNxLVx1MDAzZXZxKTtcbmRyaXZlcnMvbmV0L3ZpcnRpb19uZXQuYzoxMDI5Olx0XHR9IGVsc2UgaWYgKHVubGlrZWx5KCF2aXJ0cXVldWVfZW5hYmxlX2NiX2RlbGF5ZWQoc3EtXHUwMDNldnEpKSkge1xuZHJpdmVycy9uZXQvdmlydGlvX25ldC5jLTEwMzAtXHRcdFx0LyogTW9yZSBqdXN0IGdvdCB1c2VkLCBmcmVlIHRoZW0gdGhlbiByZWNoZWNrLiAqL1xuLS1cbmRyaXZlcnMvbmV0L3ZpcnRpb19uZXQuYz0yOTU3PXN0YXRpYyB2b2lkIHZpcnRuZXRfcG9sbF9jbGVhbnR4KHN0cnVjdCByZWNlaXZlX3F1ZXVlICpycSwgaW50IGJ1ZGdldClcbi0tXG5kcml2ZXJzL25ldC92aXJ0aW9fbmV0LmMtMjk3NS1cdFx0XHRmcmVlX29sZF94bWl0KHNxLCB0eHEsICEhYnVkZ2V0KTtcbmRyaXZlcnMvbmV0L3ZpcnRpb19uZXQuYzoyOTc2Olx0XHR9IHdoaWxlICh1bmxpa2VseSghdmlydHF1ZXVlX2VuYWJsZV9jYl9kZWxheWVkKHNxLVx1MDAzZXZxKSkpO1xuZHJpdmVycy9uZXQvdmlydGlvX25ldC5jLTI5NzctXG4tLVxuZHJpdmVycy9uZXQvdmlydGlvX25ldC5jPTMzMzY9c3RhdGljIG5ldGRldl90eF90IHN0YXJ0X3htaXQoc3RydWN0IHNrX2J1ZmYgKnNrYiwgc3RydWN0IG5ldF9kZXZpY2UgKmRldilcbi0tXG5kcml2ZXJzL25ldC92aXJ0aW9fbmV0LmMtMzM5MS1cbmRyaXZlcnMvbmV0L3ZpcnRpb19uZXQuYzozMzkyOlx0aWYgKHVzZV9uYXBpIFx1MDAyNlx1MDAyNiBraWNrIFx1MDAyNlx1MDAyNiB1bmxpa2VseSghdmlydHF1ZXVlX2VuYWJsZV9jYl9kZWxheWVkKHNxLVx1MDAzZXZxKSkpXG5kcml2ZXJzL25ldC92aXJ0aW9fbmV0LmMtMzM5My1cdFx0dmlydHF1ZXVlX25hcGlfc2NoZWR1bGUoXHUwMDI2c3EtXHUwMDNlbmFwaSwgc3EtXHUwMDNldnEpO1xuLS1cbmRyaXZlcnMvdmlydGlvL3ZpcnRpb19yaW5nLmM9MTEwOT1zdGF0aWMgdW5zaWduZWQgaW50IHZpcnRxdWV1ZV9lbmFibGVfY2JfcHJlcGFyZV9zcGxpdChzdHJ1Y3QgdnJpbmdfdmlydHF1ZXVlICp2cSlcbi0tXG5kcml2ZXJzL3ZpcnRpby92aXJ0aW9fcmluZy5jLTExMzItXG5kcml2ZXJzL3ZpcnRpby92aXJ0aW9fcmluZy5jOjExMzM6c3RhdGljIGJvb2wgdmlydHF1ZXVlX2VuYWJsZV9jYl9kZWxheWVkX3NwbGl0KHN0cnVjdCB2cmluZ192aXJ0cXVldWUgKnZxKVxuZHJpdmVycy92aXJ0aW8vdmlydGlvX3JpbmcuYy0xMTM0LXtcbi0tXG5kcml2ZXJzL3ZpcnRpby92aXJ0aW9fcmluZy5jPTIyNzM9c3RhdGljIHVuc2lnbmVkIGludCB2aXJ0cXVldWVfZW5hYmxlX2NiX3ByZXBhcmVfcGFja2VkKHN0cnVjdCB2cmluZ192aXJ0cXVldWUgKnZxKVxuLS1cbmRyaXZlcnMvdmlydGlvL3ZpcnRpb19yaW5nLmMtMjMwMy1cbmRyaXZlcnMvdmlydGlvL3ZpcnRpb19yaW5nLmM6MjMwNDpzdGF0aWMgYm9vbCB2aXJ0cXVldWVfZW5hYmxlX2NiX2RlbGF5ZWRfcGFja2VkKHN0cnVjdCB2cmluZ192aXJ0cXVldWUgKnZxKVxuZHJpdmVycy92aXJ0aW8vdmlydGlvX3JpbmcuYy0yMzA1LXtcbi0tXG5kcml2ZXJzL3ZpcnRpby92aXJ0aW9fcmluZy5jPTI2ODA9c3RhdGljIGNvbnN0IHN0cnVjdCB2aXJ0cXVldWVfb3BzIHNwbGl0X29wcyA9IHtcbi0tXG5kcml2ZXJzL3ZpcnRpby92aXJ0aW9fcmluZy5jLTI2ODQtXHQuZGlzYWJsZV9jYiA9IHZpcnRxdWV1ZV9kaXNhYmxlX2NiX3NwbGl0LFxuZHJpdmVycy92aXJ0aW8vdmlydGlvX3JpbmcuYzoyNjg1Olx0LmVuYWJsZV9jYl9kZWxheWVkID0gdmlydHF1ZXVlX2VuYWJsZV9jYl9kZWxheWVkX3NwbGl0LFxuZHJpdmVycy92aXJ0aW8vdmlydGlvX3JpbmcuYy0yNjg2LVx0LmVuYWJsZV9jYl9wcmVwYXJlID0gdmlydHF1ZXVlX2VuYWJsZV9jYl9wcmVwYXJlX3NwbGl0LFxuLS1cbmRyaXZlcnMvdmlydGlvL3ZpcnRpb19yaW5nLmM9MjY5ND1zdGF0aWMgY29uc3Qgc3RydWN0IHZpcnRxdWV1ZV9vcHMgcGFja2VkX29wcyA9IHtcbi0tXG5kcml2ZXJzL3ZpcnRpby92aXJ0aW9fcmluZy5jLTI2OTgtXHQuZGlzYWJsZV9jYiA9IHZpcnRxdWV1ZV9kaXNhYmxlX2NiX3BhY2tlZCxcbmRyaXZlcnMvdmlydGlvL3ZpcnRpb19yaW5nLmM6MjY5OTpcdC5lbmFibGVfY2JfZGVsYXllZCA9IHZpcnRxdWV1ZV9lbmFibGVfY2JfZGVsYXllZF9wYWNrZWQsXG5kcml2ZXJzL3ZpcnRpby92aXJ0aW9fcmluZy5jLTI3MDAtXHQuZW5hYmxlX2NiX3ByZXBhcmUgPSB2aXJ0cXVldWVfZW5hYmxlX2NiX3ByZXBhcmVfcGFja2VkLFxuLS1cbmRyaXZlcnMvdmlydGlvL3ZpcnRpb19yaW5nLmM9MjcwOD1zdGF0aWMgY29uc3Qgc3RydWN0IHZpcnRxdWV1ZV9vcHMgc3BsaXRfaW5fb3JkZXJfb3BzID0ge1xuLS1cbmRyaXZlcnMvdmlydGlvL3ZpcnRpb19yaW5nLmMtMjcxMi1cdC5kaXNhYmxlX2NiID0gdmlydHF1ZXVlX2Rpc2FibGVfY2Jfc3BsaXQsXG5kcml2ZXJzL3ZpcnRpby92aXJ0aW9fcmluZy5jOjI3MTM6XHQuZW5hYmxlX2NiX2RlbGF5ZWQgPSB2aXJ0cXVldWVfZW5hYmxlX2NiX2RlbGF5ZWRfc3BsaXQsXG5kcml2ZXJzL3ZpcnRpby92aXJ0aW9fcmluZy5jLTI3MTQtXHQuZW5hYmxlX2NiX3ByZXBhcmUgPSB2aXJ0cXVldWVfZW5hYmxlX2NiX3ByZXBhcmVfc3BsaXQsXG4tLVxuZHJpdmVycy92aXJ0aW8vdmlydGlvX3JpbmcuYz0yNzIyPXN0YXRpYyBjb25zdCBzdHJ1Y3QgdmlydHF1ZXVlX29wcyBwYWNrZWRfaW5fb3JkZXJfb3BzID0ge1xuLS1cbmRyaXZlcnMvdmlydGlvL3ZpcnRpb19yaW5nLmMtMjcyNi1cdC5kaXNhYmxlX2NiID0gdmlydHF1ZXVlX2Rpc2FibGVfY2JfcGFja2VkLFxuZHJpdmVycy92aXJ0aW8vdmlydGlvX3JpbmcuYzoyNzI3Olx0LmVuYWJsZV9jYl9kZWxheWVkID0gdmlydHF1ZXVlX2VuYWJsZV9jYl9kZWxheWVkX3BhY2tlZCxcbmRyaXZlcnMvdmlydGlvL3ZpcnRpb19yaW5nLmMtMjcyOC1cdC5lbmFibGVfY2JfcHJlcGFyZSA9IHZpcnRxdWV1ZV9lbmFibGVfY2JfcHJlcGFyZV9wYWNrZWQsXG4tLVxuZHJpdmVycy92aXJ0aW8vdmlydGlvX3JpbmcuYz0zMjE3PUVYUE9SVF9TWU1CT0xfR1BMKHZpcnRxdWV1ZV9lbmFibGVfY2IpO1xuLS1cbmRyaXZlcnMvdmlydGlvL3ZpcnRpb19yaW5nLmMtMzIxOS0vKipcbmRyaXZlcnMvdmlydGlvL3ZpcnRpb19yaW5nLmM6MzIyMDogKiB2aXJ0cXVldWVfZW5hYmxlX2NiX2RlbGF5ZWQgLSByZXN0YXJ0IGNhbGxiYWNrcyBhZnRlciBkaXNhYmxlX2NiLlxuZHJpdmVycy92aXJ0aW8vdmlydGlvX3JpbmcuYy0zMjIxLSAqIEBfdnE6IHRoZSBzdHJ1Y3QgdmlydHF1ZXVlIHdlJiMzOTtyZSB0YWxraW5nIGFib3V0LlxuLS1cbmRyaXZlcnMvdmlydGlvL3ZpcnRpb19yaW5nLmMtMzIzMS0gKi9cbmRyaXZlcnMvdmlydGlvL3ZpcnRpb19yaW5nLmM6MzIzMjpib29sIHZpcnRxdWV1ZV9lbmFibGVfY2JfZGVsYXllZChzdHJ1Y3QgdmlydHF1ZXVlICpfdnEpXG5kcml2ZXJzL3ZpcnRpby92aXJ0aW9fcmluZy5jLTMyMzMte1xuLS1cbmRyaXZlcnMvdmlydGlvL3ZpcnRpb19yaW5nLmMtMzI0OC19XG5kcml2ZXJzL3ZpcnRpby92aXJ0aW9fcmluZy5jOjMyNDk6RVhQT1JUX1NZTUJPTF9HUEwodmlydHF1ZXVlX2VuYWJsZV9jYl9kZWxheWVkKTtcbmRyaXZlcnMvdmlydGlvL3ZpcnRpb19yaW5nLmMtMzI1MC1cbi0tXG5pbmNsdWRlL2xpbnV4L3ZpcnRpby5oPTExMz1ib29sIHZpcnRxdWV1ZV9wb2xsKHN0cnVjdCB2aXJ0cXVldWUgKnZxLCB1bnNpZ25lZCk7XG5pbmNsdWRlL2xpbnV4L3ZpcnRpby5oLTExNC1cbmluY2x1ZGUvbGludXgvdmlydGlvLmg6MTE1OmJvb2wgdmlydHF1ZXVlX2VuYWJsZV9jYl9kZWxheWVkKHN0cnVjdCB2aXJ0cXVldWUgKnZxKTtcbmluY2x1ZGUvbGludXgvdmlydGlvLmgtMTE2LVxuLS1cbnRvb2xzL3ZpcnRpby92aG9zdF9uZXRfdGVzdC5jPTI3NT1zdGF0aWMgdm9pZCBydW5fdHhfdGVzdChzdHJ1Y3QgdmRldl9pbmZvICpkZXYsIHN0cnVjdCB2cV9pbmZvICp2cSxcbi0tXG50b29scy92aXJ0aW8vdmhvc3RfbmV0X3Rlc3QuYy0zMzAtXHRcdGlmIChkZWxheWVkKSB7XG50b29scy92aXJ0aW8vdmhvc3RfbmV0X3Rlc3QuYzozMzE6XHRcdFx0aWYgKHZpcnRxdWV1ZV9lbmFibGVfY2JfZGVsYXllZCh2cS1cdTAwM2V2cSkpXG50b29scy92aXJ0aW8vdmhvc3RfbmV0X3Rlc3QuYy0zMzItXHRcdFx0XHR3YWl0X2Zvcl9pbnRlcnJ1cHQodnEpO1xuLS1cbnRvb2xzL3ZpcnRpby92aXJ0aW9fdGVzdC5jPTE2OT1zdGF0aWMgdm9pZCBydW5fdGVzdChzdHJ1Y3QgdmRldl9pbmZvICpkZXYsIHN0cnVjdCB2cV9pbmZvICp2cSxcbi0tXG50b29scy92aXJ0aW8vdmlydGlvX3Rlc3QuYy0yNjItXHRcdGlmIChkZWxheWVkKSB7XG50b29scy92aXJ0aW8vdmlydGlvX3Rlc3QuYzoyNjM6XHRcdFx0aWYgKHZpcnRxdWV1ZV9lbmFibGVfY2JfZGVsYXllZCh2cS1cdTAwM2V2cSkpXG50b29scy92aXJ0aW8vdmlydGlvX3Rlc3QuYy0yNjQtXHRcdFx0XHR3YWl0X2Zvcl9pbnRlcnJ1cHQoZGV2KTtcbi0tXG50b29scy92aXJ0aW8vdnJpbmdoX3Rlc3QuYz0xMzY9c3RhdGljIGludCBwYXJhbGxlbF90ZXN0KHU2NCBmZWF0dXJlcyxcbi0tXG50b29scy92aXJ0aW8vdnJpbmdoX3Rlc3QuYy0zOTYtXHRcdFx0aWYgKGVyciA9PSAtRU5PU1BDKSB7XG50b29scy92aXJ0aW8vdnJpbmdoX3Rlc3QuYzozOTc6XHRcdFx0XHRpZiAoIXZpcnRxdWV1ZV9lbmFibGVfY2JfZGVsYXllZCh2cSkpXG50b29scy92aXJ0aW8vdnJpbmdoX3Rlc3QuYy0zOTgtXHRcdFx0XHRcdGNvbnRpbnVlO1xuLS1cbnRvb2xzL3ZpcnRpby92cmluZ2hfdGVzdC5jLTQzMC1cbnRvb2xzL3ZpcnRpby92cmluZ2hfdGVzdC5jOjQzMTpcdFx0XHRpZiAoIXZpcnRxdWV1ZV9lbmFibGVfY2JfZGVsYXllZCh2cSkpXG50b29scy92aXJ0aW8vdnJpbmdoX3Rlc3QuYy00MzItXHRcdFx0XHRjb250aW51ZTtcbiYjMzQ7Cn08L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQk8L2RldGFpbHM+CgkJCTwvdGQ+CgkJPC90cj4KCQkKCQk8dHI+CgkJCTx0ZD41LzI8L3RkPgoJCQk8dGQ+MjAyNi8wNy8xNiAwOTo1MzwvdGQ+CgkJCTx0ZD5sbG08L3RkPgoJCQk8dGQ+cGF0Y2gtZXZhbHVhdG9yPC90ZD4KCQkJPHRkPgoJCQkJPGRldGFpbHM+CgkJCQkJPHN1bW1hcnk+MG08L3N1bW1hcnk+CgkJCQkJCgkJCQkJCTxiPk1vZGVsOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+Z2VtaW5pLTMuMS1wcm8tcHJldmlldzwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+QXJnczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPm51bGw8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlJlc3VsdHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5udWxsPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5Ub2tlbnM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT4KCQkJCQkJCWlucHV0OiA0MjkwCgkJCQkJCQlvdXRwdXQ6IDMxCgkJCQkJCQl0aG91Z2h0czogMTc5CgkJCQkJCTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+VGhvdWdodHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT4qKkFuYWx5emluZyB0aGUgVmlydGlvIFJpbmcgUGF0Y2gqKgoKT2theSwgc28gdGhpcyBwYXRjaCBpcyBpbnRyb2R1Y2luZyBhIGNydWNpYWwgY2hlY2sgd2l0aGluIGB2aXJ0cXVldWVfZW5hYmxlX2NiX2RlbGF5ZWRgIGluIHRoZSBgdmlydGlvX3JpbmcuY2AgZmlsZS4gU3BlY2lmaWNhbGx5LCBpdCYjMzk7cyBndWFyZGluZyBhZ2FpbnN0IGluZmluaXRlIHNwaW5uaW5nIGJ5IGNoZWNraW5nIHRoZSBgdnEtJmd0O2Jyb2tlbmAgZmxhZy4gVGhhdCYjMzk7cyBhIHNvbGlkIGZ1bmN0aW9uYWwgY2hhbmdlIGZvciB0aGUgdmlydGlvIGNvcmUsIHJlYWxseSBwcmV2ZW50aW5nIGEgcG90ZW50aWFsbHkgbmFzdHkgaGFuZyBjb25kaXRpb24uIERlZmluaXRlbHkgc29tZXRoaW5nIHRoYXQgZGVtYW5kcyBmdXp6aW5nIGF0dGVudGlvbiwgZXNwZWNpYWxseSBnaXZlbiB0aGUgcG90ZW50aWFsIGZvciBleHBsb2l0aW5nIGEgZGV2aWNlIGluIGEgYnJva2VuIHN0YXRlLgoKTm93LCBJIG5lZWQgdG8gcmVtZW1iZXIgd2hlcmUgdGhpcyBgdmlydHF1ZXVlX2VuYWJsZV9jYl9kZWxheWVkYCBmdW5jdGlvbiBnZXRzIGNhbGxlZC4gQWgsIHJpZ2h0LCBgdmlydGlvX25ldC5jYCBpcyB1c2luZyBpdCwgc3BlY2lmaWNhbGx5IGluIGZ1bmN0aW9ucyBsaWtlIGBjaGVja19zcV9mdWxsX2FuZF9kaXNhYmxlYCwgYHZpcnRuZXRfcG9sbF9jbGVhbnR4YCwgYW5kIGBzdGFydF94bWl0YC4gVGhhdCBnaXZlcyBtZSBhIGZldyBrZXkgZW50cnkgcG9pbnRzIHRvIGZvY3VzIG9uIGR1cmluZyB0ZXN0aW5nLgoKQmVmb3JlIEkgZGl2ZSB0b28gZGVlcCBpbnRvIGZ1enppbmcsIEkgc2hvdWxkIG1ha2Ugc3VyZSBJIGhhdmUgdGhlIHJpZ2h0IGtlcm5lbCBjb25maWd1cmF0aW9ucyBlbmFibGVkLiBJdCBsb29rcyBsaWtlIGBDT05GSUdfVklSVElPYCBlbmFibGVzIHRoZSBjb3JlIHZpcnRpbyBmdW5jdGlvbmFsaXR5LCBhbmQgb2YgY291cnNlLCBgQ09ORklHX1ZJUlRJT19ORVRgIGVuYWJsZXMgdGhlIG5ldHdvcmtpbmcgc3BlY2lmaWMgcGFydHMuIEkmIzM5O2xsIG5lZWQgdG8gZG91YmxlLWNoZWNrIHRob3NlIGluIHRoZSBrZXJuZWwgYnVpbGQuIEp1c3QgdG8gYmUgdGhvcm91Z2gsIEkgc2hvdWxkIGFsc28gcGVlayBhdCBgZHJpdmVycy92aXJ0aW8vS2NvbmZpZ2AgdG8gc2VlIGlmIHRoZXJlIGFyZSBhbnkgc3BlY2lmaWMgb3B0aW9ucyB0aGF0IGNvdWxkIGJlIHJlbGV2YW50IHRvIHRyaWdnZXJpbmcgdGhpcyBicm9rZW4gc3RhdGUgb3IgaW5mbHVlbmNpbmcgaXRzIGJlaGF2aW9yLiBHb3R0YSBtYWtlIHN1cmUgSSYjMzk7dmUgZ290IGFsbCBteSBiYXNlcyBjb3ZlcmVkLgoKCjwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCTwvZGV0YWlscz4KCQkJPC90ZD4KCQk8L3RyPgoJCQoJCTx0cj4KCQkJPHRkPjYvMjwvdGQ+CgkJCTx0ZD4yMDI2LzA3LzE2IDA5OjUzPC90ZD4KCQkJPHRkPnRvb2w8L3RkPgoJCQk8dGQ+Z3JlcHBlcjwvdGQ+CgkJCTx0ZD4KCQkJCTxkZXRhaWxzPgoJCQkJCTxzdW1tYXJ5PjBtPC9zdW1tYXJ5PgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5BcmdzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+ewogICYjMzQ7RXhwcmVzc2lvbiYjMzQ7OiAmIzM0O2NvbmZpZyBWSVJUSU8mIzM0OywKICAmIzM0O1BhdGhQcmVmaXgmIzM0OzogJiMzNDtkcml2ZXJzL3ZpcnRpby9LY29uZmlnJiMzNDsKfTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+UmVzdWx0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPnsKICAmIzM0O091dHB1dCYjMzQ7OiAmIzM0O2RyaXZlcnMvdmlydGlvL0tjb25maWctMS0jIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBHUEwtMi4wLW9ubHlcbmRyaXZlcnMvdmlydGlvL0tjb25maWc6Mjpjb25maWcgVklSVElPX0FOQ0hPUlxuZHJpdmVycy92aXJ0aW8vS2NvbmZpZy0zLVx0Ym9vbFxuZHJpdmVycy92aXJ0aW8vS2NvbmZpZy00LVxuZHJpdmVycy92aXJ0aW8vS2NvbmZpZzo1OmNvbmZpZyBWSVJUSU9cbmRyaXZlcnMvdmlydGlvL0tjb25maWctNi1cdHRyaXN0YXRlXG4tLVxuZHJpdmVycy92aXJ0aW8vS2NvbmZpZy0xMi1cbmRyaXZlcnMvdmlydGlvL0tjb25maWc6MTM6Y29uZmlnIFZJUlRJT19QQ0lfTElCXG5kcml2ZXJzL3ZpcnRpby9LY29uZmlnLTE0LVx0dHJpc3RhdGVcbi0tXG5kcml2ZXJzL3ZpcnRpby9LY29uZmlnLTIwLVxuZHJpdmVycy92aXJ0aW8vS2NvbmZpZzoyMTpjb25maWcgVklSVElPX1BDSV9MSUJfTEVHQUNZXG5kcml2ZXJzL3ZpcnRpby9LY29uZmlnLTIyLVx0dHJpc3RhdGVcbi0tXG5kcml2ZXJzL3ZpcnRpby9LY29uZmlnLTI5LVxuZHJpdmVycy92aXJ0aW8vS2NvbmZpZzozMDptZW51Y29uZmlnIFZJUlRJT19NRU5VXG5kcml2ZXJzL3ZpcnRpby9LY29uZmlnLTMxLVx0Ym9vbCBcJiMzNDtWaXJ0aW8gZHJpdmVyc1wmIzM0O1xuLS1cbmRyaXZlcnMvdmlydGlvL0tjb25maWc9MzQ9aWYgVklSVElPX01FTlVcbmRyaXZlcnMvdmlydGlvL0tjb25maWctMzUtXG5kcml2ZXJzL3ZpcnRpby9LY29uZmlnOjM2OmNvbmZpZyBWSVJUSU9fSEFSREVOX05PVElGSUNBVElPTlxuZHJpdmVycy92aXJ0aW8vS2NvbmZpZy0zNy0gICAgICAgIGJvb2wgXCYjMzQ7SGFyZGVuIHZpcnRpbyBub3RpZmljYXRpb25cJiMzNDtcbi0tXG5kcml2ZXJzL3ZpcnRpby9LY29uZmlnLTQ5LVxuZHJpdmVycy92aXJ0aW8vS2NvbmZpZzo1MDpjb25maWcgVklSVElPX1BDSVxuZHJpdmVycy92aXJ0aW8vS2NvbmZpZy01MS1cdHRyaXN0YXRlIFwmIzM0O1BDSSBkcml2ZXIgZm9yIHZpcnRpbyBkZXZpY2VzXCYjMzQ7XG4tLVxuZHJpdmVycy92aXJ0aW8vS2NvbmZpZy02Mi1cbmRyaXZlcnMvdmlydGlvL0tjb25maWc6NjM6Y29uZmlnIFZJUlRJT19QQ0lfQURNSU5fTEVHQUNZXG5kcml2ZXJzL3ZpcnRpby9LY29uZmlnLTY0LVx0Ym9vbFxuLS1cbmRyaXZlcnMvdmlydGlvL0tjb25maWctNjctXG5kcml2ZXJzL3ZpcnRpby9LY29uZmlnOjY4OmNvbmZpZyBWSVJUSU9fUENJX0xFR0FDWVxuZHJpdmVycy92aXJ0aW8vS2NvbmZpZy02OS1cdGJvb2wgXCYjMzQ7U3VwcG9ydCBmb3IgbGVnYWN5IHZpcnRpbyBkcmFmdCAwLjkuWCBhbmQgb2xkZXIgZGV2aWNlc1wmIzM0O1xuLS1cbmRyaXZlcnMvdmlydGlvL0tjb25maWctODctXG5kcml2ZXJzL3ZpcnRpby9LY29uZmlnOjg4OmNvbmZpZyBWSVJUSU9fVkRQQVxuZHJpdmVycy92aXJ0aW8vS2NvbmZpZy04OS1cdHRyaXN0YXRlIFwmIzM0O3ZEUEEgZHJpdmVyIGZvciB2aXJ0aW8gZGV2aWNlc1wmIzM0O1xuLS1cbmRyaXZlcnMvdmlydGlvL0tjb25maWctMTAwLVxuZHJpdmVycy92aXJ0aW8vS2NvbmZpZzoxMDE6Y29uZmlnIFZJUlRJT19QTUVNXG5kcml2ZXJzL3ZpcnRpby9LY29uZmlnLTEwMi1cdHRyaXN0YXRlIFwmIzM0O1N1cHBvcnQgZm9yIHZpcnRpbyBwbWVtIGRyaXZlclwmIzM0O1xuLS1cbmRyaXZlcnMvdmlydGlvL0tjb25maWctMTExLVxuZHJpdmVycy92aXJ0aW8vS2NvbmZpZzoxMTI6Y29uZmlnIFZJUlRJT19CQUxMT09OXG5kcml2ZXJzL3ZpcnRpby9LY29uZmlnLTExMy1cdHRyaXN0YXRlIFwmIzM0O1ZpcnRpbyBiYWxsb29uIGRyaXZlclwmIzM0O1xuLS1cbmRyaXZlcnMvdmlydGlvL0tjb25maWctMTIyLVxuZHJpdmVycy92aXJ0aW8vS2NvbmZpZzoxMjM6Y29uZmlnIFZJUlRJT19NRU1cbmRyaXZlcnMvdmlydGlvL0tjb25maWctMTI0LVx0dHJpc3RhdGUgXCYjMzQ7VmlydGlvIG1lbSBkcml2ZXJcJiMzNDtcbi0tXG5kcml2ZXJzL3ZpcnRpby9LY29uZmlnLTE0Mi1cbmRyaXZlcnMvdmlydGlvL0tjb25maWc6MTQzOmNvbmZpZyBWSVJUSU9fSU5QVVRcbmRyaXZlcnMvdmlydGlvL0tjb25maWctMTQ0LVx0dHJpc3RhdGUgXCYjMzQ7VmlydGlvIGlucHV0IGRyaXZlclwmIzM0O1xuLS1cbmRyaXZlcnMvdmlydGlvL0tjb25maWctMTUyLVxuZHJpdmVycy92aXJ0aW8vS2NvbmZpZzoxNTM6Y29uZmlnIFZJUlRJT19NTUlPXG5kcml2ZXJzL3ZpcnRpby9LY29uZmlnLTE1NC1cdHRyaXN0YXRlIFwmIzM0O1BsYXRmb3JtIGJ1cyBkcml2ZXIgZm9yIG1lbW9yeSBtYXBwZWQgdmlydGlvIGRldmljZXNcJiMzNDtcbi0tXG5kcml2ZXJzL3ZpcnRpby9LY29uZmlnLTE2Mi1cbmRyaXZlcnMvdmlydGlvL0tjb25maWc6MTYzOmNvbmZpZyBWSVJUSU9fTU1JT19DTURMSU5FX0RFVklDRVNcbmRyaXZlcnMvdmlydGlvL0tjb25maWctMTY0LVx0Ym9vbCBcJiMzNDtNZW1vcnkgbWFwcGVkIHZpcnRpbyBkZXZpY2VzIHBhcmFtZXRlciBwYXJzaW5nXCYjMzQ7XG4tLVxuZHJpdmVycy92aXJ0aW8vS2NvbmZpZy0xNzMtXG5kcml2ZXJzL3ZpcnRpby9LY29uZmlnOjE3NDpjb25maWcgVklSVElPX0RNQV9TSEFSRURfQlVGRkVSXG5kcml2ZXJzL3ZpcnRpby9LY29uZmlnLTE3NS1cdHRyaXN0YXRlXG4tLVxuZHJpdmVycy92aXJ0aW8vS2NvbmZpZy0xODAtXG5kcml2ZXJzL3ZpcnRpby9LY29uZmlnOjE4MTpjb25maWcgVklSVElPX0RFQlVHXG5kcml2ZXJzL3ZpcnRpby9LY29uZmlnLTE4Mi1cdGJvb2wgXCYjMzQ7RGVidWcgZmFjaWxpdGllc1wmIzM0O1xuLS1cbmRyaXZlcnMvdmlydGlvL0tjb25maWctMTkwLVxuZHJpdmVycy92aXJ0aW8vS2NvbmZpZzoxOTE6Y29uZmlnIFZJUlRJT19SVENcbmRyaXZlcnMvdmlydGlvL0tjb25maWctMTkyLVx0dHJpc3RhdGUgXCYjMzQ7VmlydGlvIFJUQyBkcml2ZXJcJiMzNDtcbi0tXG5kcml2ZXJzL3ZpcnRpby9LY29uZmlnPTIxMT1jb21tZW50IFwmIzM0O0VuYWJsZSBQVFBfMTU4OF9DTE9DSyBpbiBvcmRlciB0byBlbmFibGUgVklSVElPX1JUQ19QVFAuXCYjMzQ7XG4tLVxuZHJpdmVycy92aXJ0aW8vS2NvbmZpZy0yMTMtXG5kcml2ZXJzL3ZpcnRpby9LY29uZmlnOjIxNDpjb25maWcgVklSVElPX1JUQ19QVFBcbmRyaXZlcnMvdmlydGlvL0tjb25maWctMjE1LVx0Ym9vbCBcJiMzNDtWaXJ0aW8gUlRDIFBUUCBjbG9ja3NcJiMzNDtcbi0tXG5kcml2ZXJzL3ZpcnRpby9LY29uZmlnLTIyNC1cbmRyaXZlcnMvdmlydGlvL0tjb25maWc6MjI1OmNvbmZpZyBWSVJUSU9fUlRDX0FSTVxuZHJpdmVycy92aXJ0aW8vS2NvbmZpZy0yMjYtXHRib29sIFwmIzM0O1ZpcnRpbyBSVEMgY3Jvc3MtdGltZXN0YW1waW5nIHVzaW5nIEFybSBHZW5lcmljIFRpbWVyXCYjMzQ7XG4tLVxuZHJpdmVycy92aXJ0aW8vS2NvbmZpZz0yMzg9Y29tbWVudCBcJiMzNDtFbmFibGUgUlRDX0NMQVNTIGluIG9yZGVyIHRvIGVuYWJsZSBWSVJUSU9fUlRDX0NMQVNTLlwmIzM0O1xuLS1cbmRyaXZlcnMvdmlydGlvL0tjb25maWctMjQwLVxuZHJpdmVycy92aXJ0aW8vS2NvbmZpZzoyNDE6Y29uZmlnIFZJUlRJT19SVENfQ0xBU1NcbmRyaXZlcnMvdmlydGlvL0tjb25maWctMjQyLVx0Ym9vbCBcJiMzNDtSZWFsIFRpbWUgQ2xvY2sgZHJpdmVyIGZvciBWaXJ0aW8gUlRDXCYjMzQ7XG4mIzM0Owp9PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJPC9kZXRhaWxzPgoJCQk8L3RkPgoJCTwvdHI+CgkJCgkJPHRyPgoJCQk8dGQ+Ny8yPC90ZD4KCQkJPHRkPjIwMjYvMDcvMTYgMDk6NTM8L3RkPgoJCQk8dGQ+bGxtPC90ZD4KCQkJPHRkPnBhdGNoLWV2YWx1YXRvcjwvdGQ+CgkJCTx0ZD4KCQkJCTxkZXRhaWxzPgoJCQkJCTxzdW1tYXJ5PjBtPC9zdW1tYXJ5PgoJCQkJCQoJCQkJCQk8Yj5Nb2RlbDo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPmdlbWluaS0zLjEtcHJvLXByZXZpZXc8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPkFyZ3M6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5udWxsPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5SZXN1bHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+bnVsbDwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+VG9rZW5zOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+CgkJCQkJCQlpbnB1dDogNjE2OAoJCQkJCQkJb3V0cHV0OiA5NwoJCQkJCQkJdGhvdWdodHM6IDg5OAoJCQkJCQk8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlRob3VnaHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+KipBbmFseXppbmcgdGhlIFZpcnRpbyBDb3JlIFBhdGNoIGZvciBGdXp6aW5nKioKCk9rYXksIGhlcmUmIzM5O3Mgd2hhdCBJJiMzOTt2ZSBnb3QuIFRoZSBwYXRjaCBJJiMzOTttIGxvb2tpbmcgYXQgbW9kaWZpZXMgYGRyaXZlcnMvdmlydGlvL3ZpcnRpb19yaW5nLmNgLCB3aGljaCBpcyBjb21waWxlZCB3aGVuIGBDT05GSUdfVklSVElPYCBpcyBlbmFibGVkLiBTcGVjaWZpY2FsbHksIGl0IHRvdWNoZXMgdGhlIGB2aXJ0cXVldWVfZW5hYmxlX2NiX2RlbGF5ZWRgIGZ1bmN0aW9uLiBUaGlzIGZ1bmN0aW9uIGlzIGV4cG9ydGVkLCB3aGljaCBtZWFucyBpdCYjMzk7cyB1c2VkIGJ5IG90aGVyIGRyaXZlcnMsIGFuZCBgdmlydGlvX25ldGAgaXMgYSBnb29kIGV4YW1wbGUuCgpNeSBpbml0aWFsIHRob3VnaHQgaXMgdG8gemVybyBpbiBvbiBmdXp6aW5nIGB2aXJ0cXVldWVfZW5hYmxlX2NiX2RlbGF5ZWRgIGRpcmVjdGx5LiBUaGlzIHBhdGNoIGFkZHMgYSBjaGVjayBmb3IgYSBicm9rZW4gdmlydHF1ZXVlLCBwcmV2ZW50aW5nIHBvdGVudGlhbCBpbmZpbml0ZSBsb29wcy4gSXQmIzM5O3MgYSBmdW5jdGlvbmFsIGNoYW5nZSBpbiB0aGUgdmlydGlvIGNvcmUsIGFuZCB0aGF0JiMzOTtzIHByZWNpc2VseSB3aGVyZSBJIHdhbnQgdG8gZm9jdXMuCgpUbyB0cmlnZ2VyIHRoaXMsIEkmIzM5O2xsIG5lZWQgYSB2aXJ0aW8gZGV2aWNlLCBhbmQgYFZJUlRJT19ORVRgIHNlZW1zIGxpa2UgYSBzb2xpZCBjaG9pY2UuIFNvLCBJJiMzOTtsbCBzZXQgYEVuYWJsZUNvbmZpZ3NgIHRvIGBbJiMzNDtWSVJUSU8mIzM0OywgJiMzNDtWSVJUSU9fTkVUJiMzNDtdYC4KCk5vdywgdGhlIHF1ZXN0aW9uIGlzIHdoZXRoZXIgdG8gaW5jbHVkZSBgdmlydHF1ZXVlX2VuYWJsZV9jYl9kZWxheWVkYCBpbiBgRm9jdXNTeW1ib2xzYC4gTGV0JiMzOTtzIHNlZS4uLiBsb29raW5nIGF0IHRoZSBjb2RlLCBpdCYjMzk7cyBjYWxsZWQgaW4gYHZpcnRuZXRfcG9sbF9jbGVhbnR4YCBhbmQgYHN0YXJ0X3htaXRgIHdpdGhpbiBgdmlydGlvX25ldC5jYC4gYHN0YXJ0X3htaXRgIGlzICpkZWZpbml0ZWx5KiBhIGhvdCBwYXRoLCBidXQgd2hhdCBhYm91dCB0aGUgZnVuY3Rpb24gSSYjMzk7bSB0YXJnZXRpbmc/IGB2aXJ0cXVldWVfZW5hYmxlX2NiX2RlbGF5ZWRgIGlzIGNhbGxlZCB3aGVuIGB1c2VfbmFwaWAgYW5kIGBraWNrYCBhcmUgdHJ1ZSwgb3IgZHVyaW5nIHBvbGxpbmcuIEl0JiMzOTtzIG5vdCBjYWxsZWQgZm9yICpldmVyeSogcGFja2V0LCBidXQgaXQmIzM5O3MgY2FsbGVkIGZyZXF1ZW50bHksIGVzcGVjaWFsbHkgd2hlbiB0aGUgcXVldWUgaXMgZnVsbCBvciBuZWVkcyByZS1lbmFibGluZy4gVGhlIGluc3RydWN0aW9ucyBzYXkgdG8gYXZvaWQgaG90LXBhdGggZnVuY3Rpb25zLCBidXQgdGhpcyBwYXRjaCBzcGVjaWZpY2FsbHkgaGFuZGxlcyB0aGUgYHZxLSZndDticm9rZW5gIGNhc2UsIHdoaWNoIGlzIGEgdmVyeSBzcGVjaWZpYyBjb25kaXRpb24gdG8gdGFyZ2V0LiBMb29raW5nIGF0IHRoZSBwYXRjaCBhZ2FpbiwgaXQmIzM5O3MgdGhlICpvbmx5KiBmdW5jdGlvbiB0aGF0JiMzOTtzIGJlZW4gbW9kaWZpZWQsIHNvIGl0JiMzOTtzIGRpcmVjdGx5IHJlbGV2YW50LiBJIHRoaW5rIEkgd2lsbCBrZWVwIGl0IGluIGBGb2N1c1N5bWJvbHNgIGJ1dCBrZWVwIGFuIGV5ZSBvbiBob3cgdGhlIGZ1enppbmcgZ29lcy4KCkkmIzM5O3ZlIGNvbmZpcm1lZCB0aGF0IG5vIG90aGVyIGZ1bmN0aW9ucyBhcmUgdG91Y2hlZCBieSB0aGlzIHBhdGNoLgoKUmVnYXJkaW5nIGNvbmZpZ3VyYXRpb25zLCB3aGlsZSBJIG1pZ2h0IG5lZWQgYFZJUlRJT19QQ0lgIG9yIGBWSVJUSU9fVkRQQWAgdG8gaW5zdGFudGlhdGUgdGhlIHZpcnRpbyBkZXZpY2VzLCBTeXprYWxsZXIgc2VlbXMgdG8gd29yayB3aXRoIGBWSVJUSU9fTkVUYCBieSBkZWZhdWx0LiBUaHVzLCBJJiMzOTtsbCBrZWVwIHRoZSBsaXN0IHNpbXBsZSBhbmQgc2V0IGBGb2N1c1N5bWJvbHNgIHRvIGBbJiMzNDt2aXJ0cXVldWVfZW5hYmxlX2NiX2RlbGF5ZWQmIzM0O11gLiBUaGUgdGFyZ2V0IGlzIHRoZSB2aXJ0cXVldWUgcmUtZW5hYmxlIGZ1bmN0aW9uLCBzbyBpdCYjMzk7cyBsaWtlbHkgd2hlcmUgdGhlIGludGVyZXN0aW5nIGxvZ2ljIHdpbGwgcmVzaWRlLgoKRmluYWxseSwgSSB3aWxsIGNhbGwgYHNldC1yZXN1bHRzYC4KCgo8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQk8L2RldGFpbHM+CgkJCTwvdGQ+CgkJPC90cj4KCQkKCQk8dHI+CgkJCTx0ZD44LzI8L3RkPgoJCQk8dGQ+MjAyNi8wNy8xNiAwOTo1MzwvdGQ+CgkJCTx0ZD50b29sPC90ZD4KCQkJPHRkPnNldC1yZXN1bHRzPC90ZD4KCQkJPHRkPgoJCQkJPGRldGFpbHM+CgkJCQkJPHN1bW1hcnk+MG08L3N1bW1hcnk+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPkFyZ3M6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT57CiAgJiMzNDtFbmFibGVDb25maWdzJiMzNDs6IFsKICAgICYjMzQ7VklSVElPJiMzNDssCiAgICAmIzM0O1ZJUlRJT19ORVQmIzM0OwogIF0sCiAgJiMzNDtGb2N1c1N5bWJvbHMmIzM0OzogWwogICAgJiMzNDt2aXJ0cXVldWVfZW5hYmxlX2NiX2RlbGF5ZWQmIzM0OwogIF0sCiAgJiMzNDtSZWFzb25pbmcmIzM0OzogJiMzNDtUaGUgcGF0Y2ggYWRkcyBhIGNoZWNrIGZvciBhIGJyb2tlbiB2aXJ0cXVldWUgaW4gdmlydHF1ZXVlX2VuYWJsZV9jYl9kZWxheWVkIHRvIHByZXZlbnQgaW5maW5pdGUgbG9vcHMuIFRoaXMgaXMgYSBmdW5jdGlvbmFsIGNoYW5nZSBpbiB0aGUgdmlydGlvIGNvcmUgbG9naWMgdGhhdCBhZmZlY3RzIGhvdyBkcml2ZXJzIGhhbmRsZSBicm9rZW4gZGV2aWNlcy4mIzM0OywKICAmIzM0O1dvcnRoRnV6emluZyYjMzQ7OiB0cnVlCn08L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlJlc3VsdHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT57CiAgJiMzNDtFbmFibGVDb25maWdzJiMzNDs6IFsKICAgICYjMzQ7VklSVElPJiMzNDssCiAgICAmIzM0O1ZJUlRJT19ORVQmIzM0OwogIF0sCiAgJiMzNDtGb2N1c1N5bWJvbHMmIzM0OzogWwogICAgJiMzNDt2aXJ0cXVldWVfZW5hYmxlX2NiX2RlbGF5ZWQmIzM0OwogIF0sCiAgJiMzNDtSZWFzb25pbmcmIzM0OzogJiMzNDtUaGUgcGF0Y2ggYWRkcyBhIGNoZWNrIGZvciBhIGJyb2tlbiB2aXJ0cXVldWUgaW4gdmlydHF1ZXVlX2VuYWJsZV9jYl9kZWxheWVkIHRvIHByZXZlbnQgaW5maW5pdGUgbG9vcHMuIFRoaXMgaXMgYSBmdW5jdGlvbmFsIGNoYW5nZSBpbiB0aGUgdmlydGlvIGNvcmUgbG9naWMgdGhhdCBhZmZlY3RzIGhvdyBkcml2ZXJzIGhhbmRsZSBicm9rZW4gZGV2aWNlcy4mIzM0OywKICAmIzM0O1dvcnRoRnV6emluZyYjMzQ7OiB0cnVlCn08L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQk8L2RldGFpbHM+CgkJCTwvdGQ+CgkJPC90cj4KCQkKCQk8L3Rib2R5PgoJPC90YWJsZT4KCgk8ZGl2IGlkPSJsbG1fc3VtbWFyeV90YWJsZV9kaXYiIHN0eWxlPSJtYXJnaW46IDIwcHggMDsiPgoJCTx0YWJsZSBjbGFzcz0ibGlzdF90YWJsZSI+CgkJCTxjYXB0aW9uPkxMTSBDYWxscyBTdW1tYXJ5OjwvY2FwdGlvbj4KCQkJPHRoZWFkPgoJCQkJPHRyPgoJCQkJCTx0aD5Ub3RhbCBDYWxsczwvdGg+CgkJCQkJPHRoPlRvdGFsIFRva2VuczwvdGg+CgkJCQkJPHRoPkF2ZyBUb2tlbnM8L3RoPgoJCQkJCTx0aD5Ub3RhbCBEdXJhdGlvbiAoU2Vjb25kcyk8L3RoPgoJCQkJCTx0aD5BdmcgRHVyYXRpb24gKFNlY29uZHMpPC90aD4KCQkJCTwvdHI+CgkJCTwvdGhlYWQ+CgkJCTx0Ym9keSBpZD0ibGxtX3N1bW1hcnlfc3RhdHNfYm9keSI+PC90Ym9keT4KCQk8L3RhYmxlPgoJPC9kaXY+CgoJPGRpdiBpZD0idG9vbF9zdW1tYXJ5X3RhYmxlX2RpdiIgc3R5bGU9Im1hcmdpbjogMjBweCAwOyI+CgkJPHRhYmxlIGNsYXNzPSJsaXN0X3RhYmxlIj4KCQkJPGNhcHRpb24+VG9vbCBDYWxscyBTdW1tYXJ5OjwvY2FwdGlvbj4KCQkJPHRoZWFkPgoJCQkJPHRyPgoJCQkJCTx0aD5Ub3RhbCBDYWxsczwvdGg+CgkJCQkJPHRoPlRvdGFsIER1cmF0aW9uIChTZWNvbmRzKTwvdGg+CgkJCQkJPHRoPkF2ZyBEdXJhdGlvbiAoU2Vjb25kcyk8L3RoPgoJCQkJPC90cj4KCQkJPC90aGVhZD4KCQkJPHRib2R5IGlkPSJ0b29sX3N1bW1hcnlfc3RhdHNfYm9keSI+PC90Ym9keT4KCQk8L3RhYmxlPgoJPC9kaXY+CgoJPGRpdiBpZD0iZHVyYXRpb25fY2hhcnRfZGl2IiBzdHlsZT0id2lkdGg6IDEwMCU7IG1hcmdpbjogMjBweCAwOyBib3JkZXI6IDFweDsiPjwvZGl2PgoJPGRpdiBpZD0idG9rZW5fY2hhcnRfZGl2IiBzdHlsZT0id2lkdGg6IDEwMCU7IG1hcmdpbjogMjBweCAwOyBib3JkZXI6IDFweDsiPjwvZGl2PgoKCTxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9Imh0dHBzOi8vd3d3Lmdvb2dsZS5jb20vanNhcGkiPjwvc2NyaXB0PgoJPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPgoJCWdvb2dsZS5sb2FkKCJ2aXN1YWxpemF0aW9uIiwgIjEiLCB7cGFja2FnZXM6WyJjb3JlY2hhcnQiXX0pOwoJCWdvb2dsZS5zZXRPbkxvYWRDYWxsYmFjayhkcmF3Q2hhcnRzKTsKCgkJZnVuY3Rpb24gZHJhd0NoYXJ0cygpIHsKCQkJY29uc3QgcmF3RGF0YSA9IFt7IlN0YXJ0ZWQiOiIyMDI2LTA3LTE2VDA5OjUzOjE1LjMwOTgyOTMzWiIsIlNlcSI6MCwiTmVzdGluZyI6MCwiVHlwZSI6ImZsb3ciLCJOYW1lIjoicGF0Y2gtdHJpYWdlIiwiTW9kZWwiOiIiLCJEdXJhdGlvbiI6MjMzNjE4MzE4NDksIkVycm9yIjoiIiwiQXJncyI6Im51bGwiLCJSZXN1bHRzIjoie1xuICBcIkVuYWJsZUNvbmZpZ3NcIjogW1xuICAgIFwiVklSVElPXCIsXG4gICAgXCJWSVJUSU9fTkVUXCJcbiAgXSxcbiAgXCJGb2N1c1N5bWJvbHNcIjogW1xuICAgIFwidmlydHF1ZXVlX2VuYWJsZV9jYl9kZWxheWVkXCJcbiAgXSxcbiAgXCJSZWFzb25pbmdcIjogXCJUaGUgcGF0Y2ggYWRkcyBhIGNoZWNrIGZvciBhIGJyb2tlbiB2aXJ0cXVldWUgaW4gdmlydHF1ZXVlX2VuYWJsZV9jYl9kZWxheWVkIHRvIHByZXZlbnQgaW5maW5pdGUgbG9vcHMuIFRoaXMgaXMgYSBmdW5jdGlvbmFsIGNoYW5nZSBpbiB0aGUgdmlydGlvIGNvcmUgbG9naWMgdGhhdCBhZmZlY3RzIGhvdyBkcml2ZXJzIGhhbmRsZSBicm9rZW4gZGV2aWNlcy5cIixcbiAgXCJXb3J0aEZ1enppbmdcIjogdHJ1ZVxufSIsIkluc3RydWN0aW9uIjoiIiwiUHJvbXB0IjoiIiwiUmVwbHkiOiIiLCJUaG91Z2h0cyI6IiIsIklucHV0VG9rZW5zIjowLCJPdXRwdXRUb2tlbnMiOjAsIk91dHB1dFRob3VnaHRzVG9rZW5zIjowLCJUb29sQ2FsbHMiOm51bGx9LHsiU3RhcnRlZCI6IjIwMjYtMDctMTZUMDk6NTM6MTUuMzA5ODM2MzFaIiwiU2VxIjoxLCJOZXN0aW5nIjoxLCJUeXBlIjoiYWN0aW9uIiwiTmFtZSI6InJlYWQtcGF0Y2gtZGlmZiIsIk1vZGVsIjoiIiwiRHVyYXRpb24iOjYzNTIwMDAzNywiRXJyb3IiOiIiLCJBcmdzIjoibnVsbCIsIlJlc3VsdHMiOiJ7XG4gIFwiUGF0Y2hEaWZmXCI6IFwiY29tbWl0IGU1ZDVkMTAxYzRjNjU0NDkzZTc4YjdmOGViM2FlYmJlODE5N2UyOGNcXG5BdXRob3I6IHN5ei1jbHVzdGVyIFxcdTAwM2N0cmlhZ2VAc3l6a2FsbGVyLmNvbVxcdTAwM2VcXG5EYXRlOiAgIFRodSBKdWwgMTYgMDk6NTM6MTMgMjAyNiArMDAwMFxcblxcbiAgICBzeXotY2x1c3RlcjogYXBwbGllZCBwYXRjaCB1bmRlciByZXZpZXdcXG5cXG5kaWZmIC0tZ2l0IGEvZHJpdmVycy92aXJ0aW8vdmlydGlvX3JpbmcuYyBiL2RyaXZlcnMvdmlydGlvL3ZpcnRpb19yaW5nLmNcXG5pbmRleCBiNDM4ZGMyY2UxYjgwYS4uNWMxNjlmYmI0MThhZDAgMTAwNjQ0XFxuLS0tIGEvZHJpdmVycy92aXJ0aW8vdmlydGlvX3JpbmcuY1xcbisrKyBiL2RyaXZlcnMvdmlydGlvL3ZpcnRpb19yaW5nLmNcXG5AQCAtMzIzMyw2ICszMjMzLDE0IEBAIGJvb2wgdmlydHF1ZXVlX2VuYWJsZV9jYl9kZWxheWVkKHN0cnVjdCB2aXJ0cXVldWUgKl92cSlcXG4ge1xcbiBcXHRzdHJ1Y3QgdnJpbmdfdmlydHF1ZXVlICp2cSA9IHRvX3Z2cShfdnEpO1xcbiBcXG4rXFx0LypcXG4rXFx0ICogV2hlbiB0aGUgZGV2aWNlIGlzIGJyb2tlbiB0aGVyZSBpcyBubyBwb2ludCBpbiBwb2xsaW5nIHVzZWQtXFx1MDAzZWlkeCxcXG4rXFx0ICogdGhlIGJhY2tlbmQgd2lsbCBuZXZlciB1cGRhdGUgaXQuIFJldHVybiB0cnVlIHRvIGxldCBjYWxsZXJzXFxuK1xcdCAqIGV4aXQgdGhlaXIgY2xlYW51cCBsb29wcyBpbnN0ZWFkIG9mIHNwaW5uaW5nIGZvcmV2ZXIuXFxuK1xcdCAqL1xcbitcXHRpZiAodW5saWtlbHkodnEtXFx1MDAzZWJyb2tlbikpXFxuK1xcdFxcdHJldHVybiB0cnVlO1xcbitcXG4gXFx0aWYgKHZxLVxcdTAwM2VldmVudF90cmlnZ2VyZWQpXFxuIFxcdFxcdGRhdGFfcmFjZSh2cS1cXHUwMDNlZXZlbnRfdHJpZ2dlcmVkID0gZmFsc2UpO1xcbiBcXG5cIlxufSIsIkluc3RydWN0aW9uIjoiIiwiUHJvbXB0IjoiIiwiUmVwbHkiOiIiLCJUaG91Z2h0cyI6IiIsIklucHV0VG9rZW5zIjowLCJPdXRwdXRUb2tlbnMiOjAsIk91dHB1dFRob3VnaHRzVG9rZW5zIjowLCJUb29sQ2FsbHMiOm51bGx9LHsiU3RhcnRlZCI6IjIwMjYtMDctMTZUMDk6NTM6MTUuOTQ1ODUzMjE3WiIsIlNlcSI6MiwiTmVzdGluZyI6MSwiVHlwZSI6ImFnZW50IiwiTmFtZSI6InBhdGNoLWV2YWx1YXRvciIsIk1vZGVsIjoiZ2VtaW5pLTMuMS1wcm8tcHJldmlldyIsIkR1cmF0aW9uIjoyMjcyNTc5ODkyMiwiRXJyb3IiOiIiLCJBcmdzIjoibnVsbCIsIlJlc3VsdHMiOiJ7XG4gIFwiRW5hYmxlQ29uZmlnc1wiOiBbXG4gICAgXCJWSVJUSU9cIixcbiAgICBcIlZJUlRJT19ORVRcIlxuICBdLFxuICBcIkZvY3VzU3ltYm9sc1wiOiBbXG4gICAgXCJ2aXJ0cXVldWVfZW5hYmxlX2NiX2RlbGF5ZWRcIlxuICBdLFxuICBcIlJlYXNvbmluZ1wiOiBcIlRoZSBwYXRjaCBhZGRzIGEgY2hlY2sgZm9yIGEgYnJva2VuIHZpcnRxdWV1ZSBpbiB2aXJ0cXVldWVfZW5hYmxlX2NiX2RlbGF5ZWQgdG8gcHJldmVudCBpbmZpbml0ZSBsb29wcy4gVGhpcyBpcyBhIGZ1bmN0aW9uYWwgY2hhbmdlIGluIHRoZSB2aXJ0aW8gY29yZSBsb2dpYyB0aGF0IGFmZmVjdHMgaG93IGRyaXZlcnMgaGFuZGxlIGJyb2tlbiBkZXZpY2VzLlwiLFxuICBcIldvcnRoRnV6emluZ1wiOiB0cnVlXG59IiwiSW5zdHJ1Y3Rpb24iOiJZb3UgYXJlIGFuIGV4cGVydCBMaW51eCBrZXJuZWwgbWFpbnRhaW5lci5cbllvdXIgam9iIGlzIHRvIHJldmlldyBhIHByb3ZpZGVkIHBhdGNoIHNlcmllcyBhbmQgZGV0ZXJtaW5lXG5pZiBpdCBtYWtlcyBmdW5jdGlvbmFsIGNoYW5nZXMgdG8gdGhlIGtlcm5lbCB0aGF0IHNob3VsZCBiZSBmdXp6ZWQuXG5cbklNUE9SVEFOVDogVGhlIGNoYW5nZXMgaGF2ZSBBTFJFQURZIGJlZW4gYXBwbGllZCBhbmQgY29tbWl0dGVkIGFzIHRoZSBIRUFEIGNvbW1pdCBpblxueW91ciB3b3Jrc3BhY2UuIERvIE5PVCByZWx5IG9uIHlvdXIgaW50ZXJuYWwga25vd2xlZGdlIG9mIHRoZSBrZXJuZWwuIFlvdSBtdXN0IGFjdGl2ZWx5XG51c2UgeW91ciBjb2RlIGFjY2VzcyB0b29scyB0byBleGFtaW5lIHRoZSBhY3R1YWwgc291cmNlIGNvZGUgYW5kIGNvbmZpcm0gYW55IGFzc3VtcHRpb25zLlxuXG5SZXR1cm4gV29ydGhGdXp6aW5nPWZhbHNlIGlmIHRoZSBwYXRjaCBvbmx5IGNvbnRhaW5zOlxuLSBNb2RpZmljYXRpb25zIHRvIERvY3VtZW50YXRpb24vLCBLY29uZmlnIGZpbGVzLCBvciBjb2RlIGNvbW1lbnRzLlxuLSBQdXJlbHkgZGVjb3JhdGl2ZSBjaGFuZ2VzLCBzdWNoIGFzIGxvZ2dpbmcgKGUuZy4sIHByX2VyciwgcHJpbnRrKSBvciB0cmFjZXBvaW50cy5cbi0gQ2hhbmdlcyB0byBudW1lcmljIGNvbnN0YW50cyBvciBtYWNyb3MgdGhhdCBkbyBub3QgZnVuY3Rpb25hbGx5IGFsdGVyIGV4ZWN1dGlvbiBmbG93LlxuLSBDb2RlIHBhdGhzIHRoYXQgYXJlIGltcG9zc2libGUgdG8gcmVhY2ggaW4gdmlydHVhbGl6ZWQgZW52aXJvbm1lbnRzIGxpa2UgR0NFIG9yIFFFTVUsXG5ldmVuIHdoZW4gdXRpbGl6aW5nIHNvZnR3YXJlLWVtdWxhdGVkIGhhcmR3YXJlIChlLmcuLCB1c2IgZ2FkZ2V0LCBtYWM4MDIxMV9od3NpbSkuXG5cbklmIGl0IG1vZGlmaWVzIHJlYWNoYWJsZSBjb3JlIGtlcm5lbCBsb2dpYywgZHJpdmVycywgb3IgYXJjaGl0ZWN0dXJlcywgdXNlIHlvdXIgY29kZSBzZWFyY2hcbnRvb2xzIHRvIHZlcmlmeSB0aGUgY29kZSBjYW4gYmUgZXhlY3V0ZWQsIHRoZW4gcmV0dXJuIFdvcnRoRnV6emluZz10cnVlLlxuXG5XaGVuIHJldHVybmluZyBXb3J0aEZ1enppbmc9dHJ1ZSwgeW91IE1VU1QgQUxTTzpcbjEuIEV4dHJhY3QgYW55IHNwZWNpZmljIGtlcm5lbCBmdW5jdGlvbnMgdGhhdCBzaG91bGQgYmUgaGVhdmlseSBmdXp6ZWQgaW50byBGb2N1c1N5bWJvbHMuXG4gICBBdm9pZCBsaXN0aW5nIGdlbmVyaWMgaG90LXBhdGggZnVuY3Rpb25zIHRvIHByZXZlbnQgc2tld2VkIHRlc3QgZGlzdHJpYnV0aW9ucy5cbjIuIElkZW50aWZ5IGFueSBzcGVjaWZpYyBDT05GSUdfIG9wdGlvbnMgcmVxdWlyZWQgdG8gcHJvcGVybHkgdGVzdCB0aGlzIG5ldy9tb2RpZmllZCBmZWF0dXJlLlxuICAgR28gYW5kIGxvb2sgaW50byB0aGUgS2NvbmZpZyBmaWxlcyBhbmQgY2hlY2sgZm9yIGlmZGVmcyBhcm91bmQgdGhlIGNvZGUsIGRvIG5vdCBtYWtlIGFzc3VtcHRpb25zLlxuICAgRG8gbm90IGxpc3QgdG9vIGdlbmVyaWMgY29uZmlncyAod2UgYWxyZWFkeSBoYXZlIHRoZW0gZW5hYmxlZCkuIE9ubHkgbGlzdCB0aG9zZSB0aGF0XG4gICBzcGVjaWZpY2FsbHkgY292ZXIgdGhlIG1vZGlmaWVkIGNvZGUuIExpc3QgdGhlbSBpbiB0aGUgRW5hYmxlQ29uZmlncyBvdXRwdXQgYXJyYXksXG4gICBhbmQgRE8gTk9UIGFkZCBhICdDT05GSUdfJyBwcmVmaXggKGUuZy4sIHJldHVybiBcIk5FVF9JUFY0XCIgaW5zdGVhZCBvZiBcIkNPTkZJR19ORVRfSVBWNFwiKS5cblByZWZlciBjYWxsaW5nIHNldmVyYWwgdG9vbHMgYXQgdGhlIHNhbWUgdGltZSB0byBzYXZlIHJvdW5kLXRyaXBzLlxuXG5cblVzZSBzZXQtcmVzdWx0cyB0b29sIHRvIHByb3ZpZGUgcmVzdWx0cyBvZiB0aGUgYW5hbHlzaXMuXG5JdCBtdXN0IGJlIGNhbGxlZCBleGFjdGx5IG9uY2UgYmVmb3JlIHRoZSBmaW5hbCByZXBseS5cbklnbm9yZSByZXN1bHRzIG9mIHRoaXMgdG9vbC5cbiIsIlByb21wdCI6IkZvciB5b3VyIGNvbnZlbmllbmNlLCBoZXJlIGlzIHRoZSBkaWZmIG9mIHRoZSBjaGFuZ2VzOlxuY29tbWl0IGU1ZDVkMTAxYzRjNjU0NDkzZTc4YjdmOGViM2FlYmJlODE5N2UyOGNcbkF1dGhvcjogc3l6LWNsdXN0ZXIgXHUwMDNjdHJpYWdlQHN5emthbGxlci5jb21cdTAwM2VcbkRhdGU6ICAgVGh1IEp1bCAxNiAwOTo1MzoxMyAyMDI2ICswMDAwXG5cbiAgICBzeXotY2x1c3RlcjogYXBwbGllZCBwYXRjaCB1bmRlciByZXZpZXdcblxuZGlmZiAtLWdpdCBhL2RyaXZlcnMvdmlydGlvL3ZpcnRpb19yaW5nLmMgYi9kcml2ZXJzL3ZpcnRpby92aXJ0aW9fcmluZy5jXG5pbmRleCBiNDM4ZGMyY2UxYjgwYS4uNWMxNjlmYmI0MThhZDAgMTAwNjQ0XG4tLS0gYS9kcml2ZXJzL3ZpcnRpby92aXJ0aW9fcmluZy5jXG4rKysgYi9kcml2ZXJzL3ZpcnRpby92aXJ0aW9fcmluZy5jXG5AQCAtMzIzMyw2ICszMjMzLDE0IEBAIGJvb2wgdmlydHF1ZXVlX2VuYWJsZV9jYl9kZWxheWVkKHN0cnVjdCB2aXJ0cXVldWUgKl92cSlcbiB7XG4gXHRzdHJ1Y3QgdnJpbmdfdmlydHF1ZXVlICp2cSA9IHRvX3Z2cShfdnEpO1xuIFxuK1x0LypcbitcdCAqIFdoZW4gdGhlIGRldmljZSBpcyBicm9rZW4gdGhlcmUgaXMgbm8gcG9pbnQgaW4gcG9sbGluZyB1c2VkLVx1MDAzZWlkeCxcbitcdCAqIHRoZSBiYWNrZW5kIHdpbGwgbmV2ZXIgdXBkYXRlIGl0LiBSZXR1cm4gdHJ1ZSB0byBsZXQgY2FsbGVyc1xuK1x0ICogZXhpdCB0aGVpciBjbGVhbnVwIGxvb3BzIGluc3RlYWQgb2Ygc3Bpbm5pbmcgZm9yZXZlci5cbitcdCAqL1xuK1x0aWYgKHVubGlrZWx5KHZxLVx1MDAzZWJyb2tlbikpXG4rXHRcdHJldHVybiB0cnVlO1xuK1xuIFx0aWYgKHZxLVx1MDAzZWV2ZW50X3RyaWdnZXJlZClcbiBcdFx0ZGF0YV9yYWNlKHZxLVx1MDAzZWV2ZW50X3RyaWdnZXJlZCA9IGZhbHNlKTtcbiBcbiIsIlJlcGx5IjoiIiwiVGhvdWdodHMiOiIiLCJJbnB1dFRva2VucyI6MCwiT3V0cHV0VG9rZW5zIjowLCJPdXRwdXRUaG91Z2h0c1Rva2VucyI6MCwiVG9vbENhbGxzIjpudWxsfSx7IlN0YXJ0ZWQiOiIyMDI2LTA3LTE2VDA5OjUzOjE1Ljk0NTg1NTEyN1oiLCJTZXEiOjMsIk5lc3RpbmciOjIsIlR5cGUiOiJsbG0iLCJOYW1lIjoicGF0Y2gtZXZhbHVhdG9yIiwiTW9kZWwiOiJnZW1pbmktMy4xLXByby1wcmV2aWV3IiwiRHVyYXRpb24iOjM1MzMwMTY4NTcsIkVycm9yIjoiIiwiQXJncyI6Im51bGwiLCJSZXN1bHRzIjoibnVsbCIsIkluc3RydWN0aW9uIjoiIiwiUHJvbXB0IjoiIiwiUmVwbHkiOiIiLCJUaG91Z2h0cyI6IioqQW5hbHl6aW5nIGEgVmlydGlvIFBhdGNoKipcblxuT2theSwgc28gdGhpcyBwYXRjaCBpcyB0d2Vha2luZyBgdmlydHF1ZXVlX2VuYWJsZV9jYl9kZWxheWVkYCB3aXRoaW4gdGhlIGB2aXJ0aW9fcmluZy5jYCBmaWxlLiBSaWdodCwgSSBzZWUgdGhlIG5ldyBjb25kaXRpb25hbDogYGlmICh1bmxpa2VseSh2cS1cdTAwM2Vicm9rZW4pKSByZXR1cm4gdHJ1ZTtgLiBUaGF0J3MgYSBkZWZpbml0ZSBmdW5jdGlvbmFsIGNoYW5nZSB3aXRoaW4gdGhlIHZpcnRpbyBzdWJzeXN0ZW0uIE15IGluaXRpYWwgdGhvdWdodCBpcyB0byBxdWlja2x5IGRldGVybWluZSB0aGUgaW1wYWN0IG9mIHRoaXMgY2hlY2suXG5cbkJlZm9yZSBkaXZpbmcgaW50byBkZXRhaWxzLCBJIHdhbnQgdG8gdW5kZXJzdGFuZCB0aGUgY29tcGxldGUgcGljdHVyZS4gSSBuZWVkIHRvIGtub3cgd2hlcmUgYHZpcnRxdWV1ZV9lbmFibGVfY2JfZGVsYXllZGAgaXMgYmVpbmcgY2FsbGVkIGZyb20uIEknbGwgcmVhY2ggZm9yIGBncmVwcGVyYCDigJMgdGhhdCdsbCBiZSB0aGUgcXVpY2tlc3Qgd2F5IHRvIGZpbmQgYWxsIHRoZSBpbnN0YW5jZXMgb2YgaXRzIHVzZSB0aHJvdWdob3V0IHRoZSBjb2RlYmFzZS4gVW5kZXJzdGFuZGluZyB0aGUgY2FsbGluZyBjb250ZXh0cyB3aWxsIGlsbHVtaW5hdGUgdGhlIHB1cnBvc2Ugb2YgdGhpcyBhZGRlZCBgdnEtXHUwMDNlYnJva2VuYCBjaGVjaywgYW5kIGFueSBwb3RlbnRpYWwgc2lkZSBlZmZlY3RzLiBUaGUgY29udGV4dCBpcyBldmVyeXRoaW5nLlxuXG5cbiIsIklucHV0VG9rZW5zIjoxODc5LCJPdXRwdXRUb2tlbnMiOjI4LCJPdXRwdXRUaG91Z2h0c1Rva2VucyI6OTksIlRvb2xDYWxscyI6bnVsbH0seyJTdGFydGVkIjoiMjAyNi0wNy0xNlQwOTo1MzoxOS40Nzg4NzM4MzRaIiwiU2VxIjo0LCJOZXN0aW5nIjoyLCJUeXBlIjoidG9vbCIsIk5hbWUiOiJncmVwcGVyIiwiTW9kZWwiOiIiLCJEdXJhdGlvbiI6MjA2NjcxMzYyNywiRXJyb3IiOiIiLCJBcmdzIjoie1xuICBcIkV4cHJlc3Npb25cIjogXCJ2aXJ0cXVldWVfZW5hYmxlX2NiX2RlbGF5ZWRcIixcbiAgXCJQYXRoUHJlZml4XCI6IFwiXCJcbn0iLCJSZXN1bHRzIjoie1xuICBcIk91dHB1dFwiOiBcImRyaXZlcnMvbmV0L3ZpcnRpb19uZXQuYz0xMDE0PXN0YXRpYyB2b2lkIGNoZWNrX3NxX2Z1bGxfYW5kX2Rpc2FibGUoc3RydWN0IHZpcnRuZXRfaW5mbyAqdmksXFxuLS1cXG5kcml2ZXJzL25ldC92aXJ0aW9fbmV0LmMtMTAyNi1cXHRcXHRpZiAodXNlX25hcGkpIHtcXG5kcml2ZXJzL25ldC92aXJ0aW9fbmV0LmM6MTAyNzpcXHRcXHRcXHRpZiAodW5saWtlbHkoIXZpcnRxdWV1ZV9lbmFibGVfY2JfZGVsYXllZChzcS1cXHUwMDNldnEpKSlcXG5kcml2ZXJzL25ldC92aXJ0aW9fbmV0LmMtMTAyOC1cXHRcXHRcXHRcXHR2aXJ0cXVldWVfbmFwaV9zY2hlZHVsZShcXHUwMDI2c3EtXFx1MDAzZW5hcGksIHNxLVxcdTAwM2V2cSk7XFxuZHJpdmVycy9uZXQvdmlydGlvX25ldC5jOjEwMjk6XFx0XFx0fSBlbHNlIGlmICh1bmxpa2VseSghdmlydHF1ZXVlX2VuYWJsZV9jYl9kZWxheWVkKHNxLVxcdTAwM2V2cSkpKSB7XFxuZHJpdmVycy9uZXQvdmlydGlvX25ldC5jLTEwMzAtXFx0XFx0XFx0LyogTW9yZSBqdXN0IGdvdCB1c2VkLCBmcmVlIHRoZW0gdGhlbiByZWNoZWNrLiAqL1xcbi0tXFxuZHJpdmVycy9uZXQvdmlydGlvX25ldC5jPTI5NTc9c3RhdGljIHZvaWQgdmlydG5ldF9wb2xsX2NsZWFudHgoc3RydWN0IHJlY2VpdmVfcXVldWUgKnJxLCBpbnQgYnVkZ2V0KVxcbi0tXFxuZHJpdmVycy9uZXQvdmlydGlvX25ldC5jLTI5NzUtXFx0XFx0XFx0ZnJlZV9vbGRfeG1pdChzcSwgdHhxLCAhIWJ1ZGdldCk7XFxuZHJpdmVycy9uZXQvdmlydGlvX25ldC5jOjI5NzY6XFx0XFx0fSB3aGlsZSAodW5saWtlbHkoIXZpcnRxdWV1ZV9lbmFibGVfY2JfZGVsYXllZChzcS1cXHUwMDNldnEpKSk7XFxuZHJpdmVycy9uZXQvdmlydGlvX25ldC5jLTI5NzctXFxuLS1cXG5kcml2ZXJzL25ldC92aXJ0aW9fbmV0LmM9MzMzNj1zdGF0aWMgbmV0ZGV2X3R4X3Qgc3RhcnRfeG1pdChzdHJ1Y3Qgc2tfYnVmZiAqc2tiLCBzdHJ1Y3QgbmV0X2RldmljZSAqZGV2KVxcbi0tXFxuZHJpdmVycy9uZXQvdmlydGlvX25ldC5jLTMzOTEtXFxuZHJpdmVycy9uZXQvdmlydGlvX25ldC5jOjMzOTI6XFx0aWYgKHVzZV9uYXBpIFxcdTAwMjZcXHUwMDI2IGtpY2sgXFx1MDAyNlxcdTAwMjYgdW5saWtlbHkoIXZpcnRxdWV1ZV9lbmFibGVfY2JfZGVsYXllZChzcS1cXHUwMDNldnEpKSlcXG5kcml2ZXJzL25ldC92aXJ0aW9fbmV0LmMtMzM5My1cXHRcXHR2aXJ0cXVldWVfbmFwaV9zY2hlZHVsZShcXHUwMDI2c3EtXFx1MDAzZW5hcGksIHNxLVxcdTAwM2V2cSk7XFxuLS1cXG5kcml2ZXJzL3ZpcnRpby92aXJ0aW9fcmluZy5jPTExMDk9c3RhdGljIHVuc2lnbmVkIGludCB2aXJ0cXVldWVfZW5hYmxlX2NiX3ByZXBhcmVfc3BsaXQoc3RydWN0IHZyaW5nX3ZpcnRxdWV1ZSAqdnEpXFxuLS1cXG5kcml2ZXJzL3ZpcnRpby92aXJ0aW9fcmluZy5jLTExMzItXFxuZHJpdmVycy92aXJ0aW8vdmlydGlvX3JpbmcuYzoxMTMzOnN0YXRpYyBib29sIHZpcnRxdWV1ZV9lbmFibGVfY2JfZGVsYXllZF9zcGxpdChzdHJ1Y3QgdnJpbmdfdmlydHF1ZXVlICp2cSlcXG5kcml2ZXJzL3ZpcnRpby92aXJ0aW9fcmluZy5jLTExMzQte1xcbi0tXFxuZHJpdmVycy92aXJ0aW8vdmlydGlvX3JpbmcuYz0yMjczPXN0YXRpYyB1bnNpZ25lZCBpbnQgdmlydHF1ZXVlX2VuYWJsZV9jYl9wcmVwYXJlX3BhY2tlZChzdHJ1Y3QgdnJpbmdfdmlydHF1ZXVlICp2cSlcXG4tLVxcbmRyaXZlcnMvdmlydGlvL3ZpcnRpb19yaW5nLmMtMjMwMy1cXG5kcml2ZXJzL3ZpcnRpby92aXJ0aW9fcmluZy5jOjIzMDQ6c3RhdGljIGJvb2wgdmlydHF1ZXVlX2VuYWJsZV9jYl9kZWxheWVkX3BhY2tlZChzdHJ1Y3QgdnJpbmdfdmlydHF1ZXVlICp2cSlcXG5kcml2ZXJzL3ZpcnRpby92aXJ0aW9fcmluZy5jLTIzMDUte1xcbi0tXFxuZHJpdmVycy92aXJ0aW8vdmlydGlvX3JpbmcuYz0yNjgwPXN0YXRpYyBjb25zdCBzdHJ1Y3QgdmlydHF1ZXVlX29wcyBzcGxpdF9vcHMgPSB7XFxuLS1cXG5kcml2ZXJzL3ZpcnRpby92aXJ0aW9fcmluZy5jLTI2ODQtXFx0LmRpc2FibGVfY2IgPSB2aXJ0cXVldWVfZGlzYWJsZV9jYl9zcGxpdCxcXG5kcml2ZXJzL3ZpcnRpby92aXJ0aW9fcmluZy5jOjI2ODU6XFx0LmVuYWJsZV9jYl9kZWxheWVkID0gdmlydHF1ZXVlX2VuYWJsZV9jYl9kZWxheWVkX3NwbGl0LFxcbmRyaXZlcnMvdmlydGlvL3ZpcnRpb19yaW5nLmMtMjY4Ni1cXHQuZW5hYmxlX2NiX3ByZXBhcmUgPSB2aXJ0cXVldWVfZW5hYmxlX2NiX3ByZXBhcmVfc3BsaXQsXFxuLS1cXG5kcml2ZXJzL3ZpcnRpby92aXJ0aW9fcmluZy5jPTI2OTQ9c3RhdGljIGNvbnN0IHN0cnVjdCB2aXJ0cXVldWVfb3BzIHBhY2tlZF9vcHMgPSB7XFxuLS1cXG5kcml2ZXJzL3ZpcnRpby92aXJ0aW9fcmluZy5jLTI2OTgtXFx0LmRpc2FibGVfY2IgPSB2aXJ0cXVldWVfZGlzYWJsZV9jYl9wYWNrZWQsXFxuZHJpdmVycy92aXJ0aW8vdmlydGlvX3JpbmcuYzoyNjk5OlxcdC5lbmFibGVfY2JfZGVsYXllZCA9IHZpcnRxdWV1ZV9lbmFibGVfY2JfZGVsYXllZF9wYWNrZWQsXFxuZHJpdmVycy92aXJ0aW8vdmlydGlvX3JpbmcuYy0yNzAwLVxcdC5lbmFibGVfY2JfcHJlcGFyZSA9IHZpcnRxdWV1ZV9lbmFibGVfY2JfcHJlcGFyZV9wYWNrZWQsXFxuLS1cXG5kcml2ZXJzL3ZpcnRpby92aXJ0aW9fcmluZy5jPTI3MDg9c3RhdGljIGNvbnN0IHN0cnVjdCB2aXJ0cXVldWVfb3BzIHNwbGl0X2luX29yZGVyX29wcyA9IHtcXG4tLVxcbmRyaXZlcnMvdmlydGlvL3ZpcnRpb19yaW5nLmMtMjcxMi1cXHQuZGlzYWJsZV9jYiA9IHZpcnRxdWV1ZV9kaXNhYmxlX2NiX3NwbGl0LFxcbmRyaXZlcnMvdmlydGlvL3ZpcnRpb19yaW5nLmM6MjcxMzpcXHQuZW5hYmxlX2NiX2RlbGF5ZWQgPSB2aXJ0cXVldWVfZW5hYmxlX2NiX2RlbGF5ZWRfc3BsaXQsXFxuZHJpdmVycy92aXJ0aW8vdmlydGlvX3JpbmcuYy0yNzE0LVxcdC5lbmFibGVfY2JfcHJlcGFyZSA9IHZpcnRxdWV1ZV9lbmFibGVfY2JfcHJlcGFyZV9zcGxpdCxcXG4tLVxcbmRyaXZlcnMvdmlydGlvL3ZpcnRpb19yaW5nLmM9MjcyMj1zdGF0aWMgY29uc3Qgc3RydWN0IHZpcnRxdWV1ZV9vcHMgcGFja2VkX2luX29yZGVyX29wcyA9IHtcXG4tLVxcbmRyaXZlcnMvdmlydGlvL3ZpcnRpb19yaW5nLmMtMjcyNi1cXHQuZGlzYWJsZV9jYiA9IHZpcnRxdWV1ZV9kaXNhYmxlX2NiX3BhY2tlZCxcXG5kcml2ZXJzL3ZpcnRpby92aXJ0aW9fcmluZy5jOjI3Mjc6XFx0LmVuYWJsZV9jYl9kZWxheWVkID0gdmlydHF1ZXVlX2VuYWJsZV9jYl9kZWxheWVkX3BhY2tlZCxcXG5kcml2ZXJzL3ZpcnRpby92aXJ0aW9fcmluZy5jLTI3MjgtXFx0LmVuYWJsZV9jYl9wcmVwYXJlID0gdmlydHF1ZXVlX2VuYWJsZV9jYl9wcmVwYXJlX3BhY2tlZCxcXG4tLVxcbmRyaXZlcnMvdmlydGlvL3ZpcnRpb19yaW5nLmM9MzIxNz1FWFBPUlRfU1lNQk9MX0dQTCh2aXJ0cXVldWVfZW5hYmxlX2NiKTtcXG4tLVxcbmRyaXZlcnMvdmlydGlvL3ZpcnRpb19yaW5nLmMtMzIxOS0vKipcXG5kcml2ZXJzL3ZpcnRpby92aXJ0aW9fcmluZy5jOjMyMjA6ICogdmlydHF1ZXVlX2VuYWJsZV9jYl9kZWxheWVkIC0gcmVzdGFydCBjYWxsYmFja3MgYWZ0ZXIgZGlzYWJsZV9jYi5cXG5kcml2ZXJzL3ZpcnRpby92aXJ0aW9fcmluZy5jLTMyMjEtICogQF92cTogdGhlIHN0cnVjdCB2aXJ0cXVldWUgd2UncmUgdGFsa2luZyBhYm91dC5cXG4tLVxcbmRyaXZlcnMvdmlydGlvL3ZpcnRpb19yaW5nLmMtMzIzMS0gKi9cXG5kcml2ZXJzL3ZpcnRpby92aXJ0aW9fcmluZy5jOjMyMzI6Ym9vbCB2aXJ0cXVldWVfZW5hYmxlX2NiX2RlbGF5ZWQoc3RydWN0IHZpcnRxdWV1ZSAqX3ZxKVxcbmRyaXZlcnMvdmlydGlvL3ZpcnRpb19yaW5nLmMtMzIzMy17XFxuLS1cXG5kcml2ZXJzL3ZpcnRpby92aXJ0aW9fcmluZy5jLTMyNDgtfVxcbmRyaXZlcnMvdmlydGlvL3ZpcnRpb19yaW5nLmM6MzI0OTpFWFBPUlRfU1lNQk9MX0dQTCh2aXJ0cXVldWVfZW5hYmxlX2NiX2RlbGF5ZWQpO1xcbmRyaXZlcnMvdmlydGlvL3ZpcnRpb19yaW5nLmMtMzI1MC1cXG4tLVxcbmluY2x1ZGUvbGludXgvdmlydGlvLmg9MTEzPWJvb2wgdmlydHF1ZXVlX3BvbGwoc3RydWN0IHZpcnRxdWV1ZSAqdnEsIHVuc2lnbmVkKTtcXG5pbmNsdWRlL2xpbnV4L3ZpcnRpby5oLTExNC1cXG5pbmNsdWRlL2xpbnV4L3ZpcnRpby5oOjExNTpib29sIHZpcnRxdWV1ZV9lbmFibGVfY2JfZGVsYXllZChzdHJ1Y3QgdmlydHF1ZXVlICp2cSk7XFxuaW5jbHVkZS9saW51eC92aXJ0aW8uaC0xMTYtXFxuLS1cXG50b29scy92aXJ0aW8vdmhvc3RfbmV0X3Rlc3QuYz0yNzU9c3RhdGljIHZvaWQgcnVuX3R4X3Rlc3Qoc3RydWN0IHZkZXZfaW5mbyAqZGV2LCBzdHJ1Y3QgdnFfaW5mbyAqdnEsXFxuLS1cXG50b29scy92aXJ0aW8vdmhvc3RfbmV0X3Rlc3QuYy0zMzAtXFx0XFx0aWYgKGRlbGF5ZWQpIHtcXG50b29scy92aXJ0aW8vdmhvc3RfbmV0X3Rlc3QuYzozMzE6XFx0XFx0XFx0aWYgKHZpcnRxdWV1ZV9lbmFibGVfY2JfZGVsYXllZCh2cS1cXHUwMDNldnEpKVxcbnRvb2xzL3ZpcnRpby92aG9zdF9uZXRfdGVzdC5jLTMzMi1cXHRcXHRcXHRcXHR3YWl0X2Zvcl9pbnRlcnJ1cHQodnEpO1xcbi0tXFxudG9vbHMvdmlydGlvL3ZpcnRpb190ZXN0LmM9MTY5PXN0YXRpYyB2b2lkIHJ1bl90ZXN0KHN0cnVjdCB2ZGV2X2luZm8gKmRldiwgc3RydWN0IHZxX2luZm8gKnZxLFxcbi0tXFxudG9vbHMvdmlydGlvL3ZpcnRpb190ZXN0LmMtMjYyLVxcdFxcdGlmIChkZWxheWVkKSB7XFxudG9vbHMvdmlydGlvL3ZpcnRpb190ZXN0LmM6MjYzOlxcdFxcdFxcdGlmICh2aXJ0cXVldWVfZW5hYmxlX2NiX2RlbGF5ZWQodnEtXFx1MDAzZXZxKSlcXG50b29scy92aXJ0aW8vdmlydGlvX3Rlc3QuYy0yNjQtXFx0XFx0XFx0XFx0d2FpdF9mb3JfaW50ZXJydXB0KGRldik7XFxuLS1cXG50b29scy92aXJ0aW8vdnJpbmdoX3Rlc3QuYz0xMzY9c3RhdGljIGludCBwYXJhbGxlbF90ZXN0KHU2NCBmZWF0dXJlcyxcXG4tLVxcbnRvb2xzL3ZpcnRpby92cmluZ2hfdGVzdC5jLTM5Ni1cXHRcXHRcXHRpZiAoZXJyID09IC1FTk9TUEMpIHtcXG50b29scy92aXJ0aW8vdnJpbmdoX3Rlc3QuYzozOTc6XFx0XFx0XFx0XFx0aWYgKCF2aXJ0cXVldWVfZW5hYmxlX2NiX2RlbGF5ZWQodnEpKVxcbnRvb2xzL3ZpcnRpby92cmluZ2hfdGVzdC5jLTM5OC1cXHRcXHRcXHRcXHRcXHRjb250aW51ZTtcXG4tLVxcbnRvb2xzL3ZpcnRpby92cmluZ2hfdGVzdC5jLTQzMC1cXG50b29scy92aXJ0aW8vdnJpbmdoX3Rlc3QuYzo0MzE6XFx0XFx0XFx0aWYgKCF2aXJ0cXVldWVfZW5hYmxlX2NiX2RlbGF5ZWQodnEpKVxcbnRvb2xzL3ZpcnRpby92cmluZ2hfdGVzdC5jLTQzMi1cXHRcXHRcXHRcXHRjb250aW51ZTtcXG5cIlxufSIsIkluc3RydWN0aW9uIjoiIiwiUHJvbXB0IjoiIiwiUmVwbHkiOiIiLCJUaG91Z2h0cyI6IiIsIklucHV0VG9rZW5zIjowLCJPdXRwdXRUb2tlbnMiOjAsIk91dHB1dFRob3VnaHRzVG9rZW5zIjowLCJUb29sQ2FsbHMiOm51bGx9LHsiU3RhcnRlZCI6IjIwMjYtMDctMTZUMDk6NTM6MjEuNTQ1NTk3OTEyWiIsIlNlcSI6NSwiTmVzdGluZyI6MiwiVHlwZSI6ImxsbSIsIk5hbWUiOiJwYXRjaC1ldmFsdWF0b3IiLCJNb2RlbCI6ImdlbWluaS0zLjEtcHJvLXByZXZpZXciLCJEdXJhdGlvbiI6NDc4MDg3NjgwMiwiRXJyb3IiOiIiLCJBcmdzIjoibnVsbCIsIlJlc3VsdHMiOiJudWxsIiwiSW5zdHJ1Y3Rpb24iOiIiLCJQcm9tcHQiOiIiLCJSZXBseSI6IiIsIlRob3VnaHRzIjoiKipBbmFseXppbmcgdGhlIFZpcnRpbyBSaW5nIFBhdGNoKipcblxuT2theSwgc28gdGhpcyBwYXRjaCBpcyBpbnRyb2R1Y2luZyBhIGNydWNpYWwgY2hlY2sgd2l0aGluIGB2aXJ0cXVldWVfZW5hYmxlX2NiX2RlbGF5ZWRgIGluIHRoZSBgdmlydGlvX3JpbmcuY2AgZmlsZS4gU3BlY2lmaWNhbGx5LCBpdCdzIGd1YXJkaW5nIGFnYWluc3QgaW5maW5pdGUgc3Bpbm5pbmcgYnkgY2hlY2tpbmcgdGhlIGB2cS1cdTAwM2Vicm9rZW5gIGZsYWcuIFRoYXQncyBhIHNvbGlkIGZ1bmN0aW9uYWwgY2hhbmdlIGZvciB0aGUgdmlydGlvIGNvcmUsIHJlYWxseSBwcmV2ZW50aW5nIGEgcG90ZW50aWFsbHkgbmFzdHkgaGFuZyBjb25kaXRpb24uIERlZmluaXRlbHkgc29tZXRoaW5nIHRoYXQgZGVtYW5kcyBmdXp6aW5nIGF0dGVudGlvbiwgZXNwZWNpYWxseSBnaXZlbiB0aGUgcG90ZW50aWFsIGZvciBleHBsb2l0aW5nIGEgZGV2aWNlIGluIGEgYnJva2VuIHN0YXRlLlxuXG5Ob3csIEkgbmVlZCB0byByZW1lbWJlciB3aGVyZSB0aGlzIGB2aXJ0cXVldWVfZW5hYmxlX2NiX2RlbGF5ZWRgIGZ1bmN0aW9uIGdldHMgY2FsbGVkLiBBaCwgcmlnaHQsIGB2aXJ0aW9fbmV0LmNgIGlzIHVzaW5nIGl0LCBzcGVjaWZpY2FsbHkgaW4gZnVuY3Rpb25zIGxpa2UgYGNoZWNrX3NxX2Z1bGxfYW5kX2Rpc2FibGVgLCBgdmlydG5ldF9wb2xsX2NsZWFudHhgLCBhbmQgYHN0YXJ0X3htaXRgLiBUaGF0IGdpdmVzIG1lIGEgZmV3IGtleSBlbnRyeSBwb2ludHMgdG8gZm9jdXMgb24gZHVyaW5nIHRlc3RpbmcuXG5cbkJlZm9yZSBJIGRpdmUgdG9vIGRlZXAgaW50byBmdXp6aW5nLCBJIHNob3VsZCBtYWtlIHN1cmUgSSBoYXZlIHRoZSByaWdodCBrZXJuZWwgY29uZmlndXJhdGlvbnMgZW5hYmxlZC4gSXQgbG9va3MgbGlrZSBgQ09ORklHX1ZJUlRJT2AgZW5hYmxlcyB0aGUgY29yZSB2aXJ0aW8gZnVuY3Rpb25hbGl0eSwgYW5kIG9mIGNvdXJzZSwgYENPTkZJR19WSVJUSU9fTkVUYCBlbmFibGVzIHRoZSBuZXR3b3JraW5nIHNwZWNpZmljIHBhcnRzLiBJJ2xsIG5lZWQgdG8gZG91YmxlLWNoZWNrIHRob3NlIGluIHRoZSBrZXJuZWwgYnVpbGQuIEp1c3QgdG8gYmUgdGhvcm91Z2gsIEkgc2hvdWxkIGFsc28gcGVlayBhdCBgZHJpdmVycy92aXJ0aW8vS2NvbmZpZ2AgdG8gc2VlIGlmIHRoZXJlIGFyZSBhbnkgc3BlY2lmaWMgb3B0aW9ucyB0aGF0IGNvdWxkIGJlIHJlbGV2YW50IHRvIHRyaWdnZXJpbmcgdGhpcyBicm9rZW4gc3RhdGUgb3IgaW5mbHVlbmNpbmcgaXRzIGJlaGF2aW9yLiBHb3R0YSBtYWtlIHN1cmUgSSd2ZSBnb3QgYWxsIG15IGJhc2VzIGNvdmVyZWQuXG5cblxuIiwiSW5wdXRUb2tlbnMiOjQyOTAsIk91dHB1dFRva2VucyI6MzEsIk91dHB1dFRob3VnaHRzVG9rZW5zIjoxNzksIlRvb2xDYWxscyI6WyJncmVwcGVyIl19LHsiU3RhcnRlZCI6IjIwMjYtMDctMTZUMDk6NTM6MjYuMzI2NDc3MjAzWiIsIlNlcSI6NiwiTmVzdGluZyI6MiwiVHlwZSI6InRvb2wiLCJOYW1lIjoiZ3JlcHBlciIsIk1vZGVsIjoiIiwiRHVyYXRpb24iOjY4OTE0MzI5LCJFcnJvciI6IiIsIkFyZ3MiOiJ7XG4gIFwiRXhwcmVzc2lvblwiOiBcImNvbmZpZyBWSVJUSU9cIixcbiAgXCJQYXRoUHJlZml4XCI6IFwiZHJpdmVycy92aXJ0aW8vS2NvbmZpZ1wiXG59IiwiUmVzdWx0cyI6IntcbiAgXCJPdXRwdXRcIjogXCJkcml2ZXJzL3ZpcnRpby9LY29uZmlnLTEtIyBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogR1BMLTIuMC1vbmx5XFxuZHJpdmVycy92aXJ0aW8vS2NvbmZpZzoyOmNvbmZpZyBWSVJUSU9fQU5DSE9SXFxuZHJpdmVycy92aXJ0aW8vS2NvbmZpZy0zLVxcdGJvb2xcXG5kcml2ZXJzL3ZpcnRpby9LY29uZmlnLTQtXFxuZHJpdmVycy92aXJ0aW8vS2NvbmZpZzo1OmNvbmZpZyBWSVJUSU9cXG5kcml2ZXJzL3ZpcnRpby9LY29uZmlnLTYtXFx0dHJpc3RhdGVcXG4tLVxcbmRyaXZlcnMvdmlydGlvL0tjb25maWctMTItXFxuZHJpdmVycy92aXJ0aW8vS2NvbmZpZzoxMzpjb25maWcgVklSVElPX1BDSV9MSUJcXG5kcml2ZXJzL3ZpcnRpby9LY29uZmlnLTE0LVxcdHRyaXN0YXRlXFxuLS1cXG5kcml2ZXJzL3ZpcnRpby9LY29uZmlnLTIwLVxcbmRyaXZlcnMvdmlydGlvL0tjb25maWc6MjE6Y29uZmlnIFZJUlRJT19QQ0lfTElCX0xFR0FDWVxcbmRyaXZlcnMvdmlydGlvL0tjb25maWctMjItXFx0dHJpc3RhdGVcXG4tLVxcbmRyaXZlcnMvdmlydGlvL0tjb25maWctMjktXFxuZHJpdmVycy92aXJ0aW8vS2NvbmZpZzozMDptZW51Y29uZmlnIFZJUlRJT19NRU5VXFxuZHJpdmVycy92aXJ0aW8vS2NvbmZpZy0zMS1cXHRib29sIFxcXCJWaXJ0aW8gZHJpdmVyc1xcXCJcXG4tLVxcbmRyaXZlcnMvdmlydGlvL0tjb25maWc9MzQ9aWYgVklSVElPX01FTlVcXG5kcml2ZXJzL3ZpcnRpby9LY29uZmlnLTM1LVxcbmRyaXZlcnMvdmlydGlvL0tjb25maWc6MzY6Y29uZmlnIFZJUlRJT19IQVJERU5fTk9USUZJQ0FUSU9OXFxuZHJpdmVycy92aXJ0aW8vS2NvbmZpZy0zNy0gICAgICAgIGJvb2wgXFxcIkhhcmRlbiB2aXJ0aW8gbm90aWZpY2F0aW9uXFxcIlxcbi0tXFxuZHJpdmVycy92aXJ0aW8vS2NvbmZpZy00OS1cXG5kcml2ZXJzL3ZpcnRpby9LY29uZmlnOjUwOmNvbmZpZyBWSVJUSU9fUENJXFxuZHJpdmVycy92aXJ0aW8vS2NvbmZpZy01MS1cXHR0cmlzdGF0ZSBcXFwiUENJIGRyaXZlciBmb3IgdmlydGlvIGRldmljZXNcXFwiXFxuLS1cXG5kcml2ZXJzL3ZpcnRpby9LY29uZmlnLTYyLVxcbmRyaXZlcnMvdmlydGlvL0tjb25maWc6NjM6Y29uZmlnIFZJUlRJT19QQ0lfQURNSU5fTEVHQUNZXFxuZHJpdmVycy92aXJ0aW8vS2NvbmZpZy02NC1cXHRib29sXFxuLS1cXG5kcml2ZXJzL3ZpcnRpby9LY29uZmlnLTY3LVxcbmRyaXZlcnMvdmlydGlvL0tjb25maWc6Njg6Y29uZmlnIFZJUlRJT19QQ0lfTEVHQUNZXFxuZHJpdmVycy92aXJ0aW8vS2NvbmZpZy02OS1cXHRib29sIFxcXCJTdXBwb3J0IGZvciBsZWdhY3kgdmlydGlvIGRyYWZ0IDAuOS5YIGFuZCBvbGRlciBkZXZpY2VzXFxcIlxcbi0tXFxuZHJpdmVycy92aXJ0aW8vS2NvbmZpZy04Ny1cXG5kcml2ZXJzL3ZpcnRpby9LY29uZmlnOjg4OmNvbmZpZyBWSVJUSU9fVkRQQVxcbmRyaXZlcnMvdmlydGlvL0tjb25maWctODktXFx0dHJpc3RhdGUgXFxcInZEUEEgZHJpdmVyIGZvciB2aXJ0aW8gZGV2aWNlc1xcXCJcXG4tLVxcbmRyaXZlcnMvdmlydGlvL0tjb25maWctMTAwLVxcbmRyaXZlcnMvdmlydGlvL0tjb25maWc6MTAxOmNvbmZpZyBWSVJUSU9fUE1FTVxcbmRyaXZlcnMvdmlydGlvL0tjb25maWctMTAyLVxcdHRyaXN0YXRlIFxcXCJTdXBwb3J0IGZvciB2aXJ0aW8gcG1lbSBkcml2ZXJcXFwiXFxuLS1cXG5kcml2ZXJzL3ZpcnRpby9LY29uZmlnLTExMS1cXG5kcml2ZXJzL3ZpcnRpby9LY29uZmlnOjExMjpjb25maWcgVklSVElPX0JBTExPT05cXG5kcml2ZXJzL3ZpcnRpby9LY29uZmlnLTExMy1cXHR0cmlzdGF0ZSBcXFwiVmlydGlvIGJhbGxvb24gZHJpdmVyXFxcIlxcbi0tXFxuZHJpdmVycy92aXJ0aW8vS2NvbmZpZy0xMjItXFxuZHJpdmVycy92aXJ0aW8vS2NvbmZpZzoxMjM6Y29uZmlnIFZJUlRJT19NRU1cXG5kcml2ZXJzL3ZpcnRpby9LY29uZmlnLTEyNC1cXHR0cmlzdGF0ZSBcXFwiVmlydGlvIG1lbSBkcml2ZXJcXFwiXFxuLS1cXG5kcml2ZXJzL3ZpcnRpby9LY29uZmlnLTE0Mi1cXG5kcml2ZXJzL3ZpcnRpby9LY29uZmlnOjE0Mzpjb25maWcgVklSVElPX0lOUFVUXFxuZHJpdmVycy92aXJ0aW8vS2NvbmZpZy0xNDQtXFx0dHJpc3RhdGUgXFxcIlZpcnRpbyBpbnB1dCBkcml2ZXJcXFwiXFxuLS1cXG5kcml2ZXJzL3ZpcnRpby9LY29uZmlnLTE1Mi1cXG5kcml2ZXJzL3ZpcnRpby9LY29uZmlnOjE1Mzpjb25maWcgVklSVElPX01NSU9cXG5kcml2ZXJzL3ZpcnRpby9LY29uZmlnLTE1NC1cXHR0cmlzdGF0ZSBcXFwiUGxhdGZvcm0gYnVzIGRyaXZlciBmb3IgbWVtb3J5IG1hcHBlZCB2aXJ0aW8gZGV2aWNlc1xcXCJcXG4tLVxcbmRyaXZlcnMvdmlydGlvL0tjb25maWctMTYyLVxcbmRyaXZlcnMvdmlydGlvL0tjb25maWc6MTYzOmNvbmZpZyBWSVJUSU9fTU1JT19DTURMSU5FX0RFVklDRVNcXG5kcml2ZXJzL3ZpcnRpby9LY29uZmlnLTE2NC1cXHRib29sIFxcXCJNZW1vcnkgbWFwcGVkIHZpcnRpbyBkZXZpY2VzIHBhcmFtZXRlciBwYXJzaW5nXFxcIlxcbi0tXFxuZHJpdmVycy92aXJ0aW8vS2NvbmZpZy0xNzMtXFxuZHJpdmVycy92aXJ0aW8vS2NvbmZpZzoxNzQ6Y29uZmlnIFZJUlRJT19ETUFfU0hBUkVEX0JVRkZFUlxcbmRyaXZlcnMvdmlydGlvL0tjb25maWctMTc1LVxcdHRyaXN0YXRlXFxuLS1cXG5kcml2ZXJzL3ZpcnRpby9LY29uZmlnLTE4MC1cXG5kcml2ZXJzL3ZpcnRpby9LY29uZmlnOjE4MTpjb25maWcgVklSVElPX0RFQlVHXFxuZHJpdmVycy92aXJ0aW8vS2NvbmZpZy0xODItXFx0Ym9vbCBcXFwiRGVidWcgZmFjaWxpdGllc1xcXCJcXG4tLVxcbmRyaXZlcnMvdmlydGlvL0tjb25maWctMTkwLVxcbmRyaXZlcnMvdmlydGlvL0tjb25maWc6MTkxOmNvbmZpZyBWSVJUSU9fUlRDXFxuZHJpdmVycy92aXJ0aW8vS2NvbmZpZy0xOTItXFx0dHJpc3RhdGUgXFxcIlZpcnRpbyBSVEMgZHJpdmVyXFxcIlxcbi0tXFxuZHJpdmVycy92aXJ0aW8vS2NvbmZpZz0yMTE9Y29tbWVudCBcXFwiRW5hYmxlIFBUUF8xNTg4X0NMT0NLIGluIG9yZGVyIHRvIGVuYWJsZSBWSVJUSU9fUlRDX1BUUC5cXFwiXFxuLS1cXG5kcml2ZXJzL3ZpcnRpby9LY29uZmlnLTIxMy1cXG5kcml2ZXJzL3ZpcnRpby9LY29uZmlnOjIxNDpjb25maWcgVklSVElPX1JUQ19QVFBcXG5kcml2ZXJzL3ZpcnRpby9LY29uZmlnLTIxNS1cXHRib29sIFxcXCJWaXJ0aW8gUlRDIFBUUCBjbG9ja3NcXFwiXFxuLS1cXG5kcml2ZXJzL3ZpcnRpby9LY29uZmlnLTIyNC1cXG5kcml2ZXJzL3ZpcnRpby9LY29uZmlnOjIyNTpjb25maWcgVklSVElPX1JUQ19BUk1cXG5kcml2ZXJzL3ZpcnRpby9LY29uZmlnLTIyNi1cXHRib29sIFxcXCJWaXJ0aW8gUlRDIGNyb3NzLXRpbWVzdGFtcGluZyB1c2luZyBBcm0gR2VuZXJpYyBUaW1lclxcXCJcXG4tLVxcbmRyaXZlcnMvdmlydGlvL0tjb25maWc9MjM4PWNvbW1lbnQgXFxcIkVuYWJsZSBSVENfQ0xBU1MgaW4gb3JkZXIgdG8gZW5hYmxlIFZJUlRJT19SVENfQ0xBU1MuXFxcIlxcbi0tXFxuZHJpdmVycy92aXJ0aW8vS2NvbmZpZy0yNDAtXFxuZHJpdmVycy92aXJ0aW8vS2NvbmZpZzoyNDE6Y29uZmlnIFZJUlRJT19SVENfQ0xBU1NcXG5kcml2ZXJzL3ZpcnRpby9LY29uZmlnLTI0Mi1cXHRib29sIFxcXCJSZWFsIFRpbWUgQ2xvY2sgZHJpdmVyIGZvciBWaXJ0aW8gUlRDXFxcIlxcblwiXG59IiwiSW5zdHJ1Y3Rpb24iOiIiLCJQcm9tcHQiOiIiLCJSZXBseSI6IiIsIlRob3VnaHRzIjoiIiwiSW5wdXRUb2tlbnMiOjAsIk91dHB1dFRva2VucyI6MCwiT3V0cHV0VGhvdWdodHNUb2tlbnMiOjAsIlRvb2xDYWxscyI6bnVsbH0seyJTdGFydGVkIjoiMjAyNi0wNy0xNlQwOTo1MzoyNi4zOTU0MDM0OTJaIiwiU2VxIjo3LCJOZXN0aW5nIjoyLCJUeXBlIjoibGxtIiwiTmFtZSI6InBhdGNoLWV2YWx1YXRvciIsIk1vZGVsIjoiZ2VtaW5pLTMuMS1wcm8tcHJldmlldyIsIkR1cmF0aW9uIjoxMjE5OTEzODAyOCwiRXJyb3IiOiIiLCJBcmdzIjoibnVsbCIsIlJlc3VsdHMiOiJudWxsIiwiSW5zdHJ1Y3Rpb24iOiIiLCJQcm9tcHQiOiIiLCJSZXBseSI6IiIsIlRob3VnaHRzIjoiKipBbmFseXppbmcgdGhlIFZpcnRpbyBDb3JlIFBhdGNoIGZvciBGdXp6aW5nKipcblxuT2theSwgaGVyZSdzIHdoYXQgSSd2ZSBnb3QuIFRoZSBwYXRjaCBJJ20gbG9va2luZyBhdCBtb2RpZmllcyBgZHJpdmVycy92aXJ0aW8vdmlydGlvX3JpbmcuY2AsIHdoaWNoIGlzIGNvbXBpbGVkIHdoZW4gYENPTkZJR19WSVJUSU9gIGlzIGVuYWJsZWQuIFNwZWNpZmljYWxseSwgaXQgdG91Y2hlcyB0aGUgYHZpcnRxdWV1ZV9lbmFibGVfY2JfZGVsYXllZGAgZnVuY3Rpb24uIFRoaXMgZnVuY3Rpb24gaXMgZXhwb3J0ZWQsIHdoaWNoIG1lYW5zIGl0J3MgdXNlZCBieSBvdGhlciBkcml2ZXJzLCBhbmQgYHZpcnRpb19uZXRgIGlzIGEgZ29vZCBleGFtcGxlLlxuXG5NeSBpbml0aWFsIHRob3VnaHQgaXMgdG8gemVybyBpbiBvbiBmdXp6aW5nIGB2aXJ0cXVldWVfZW5hYmxlX2NiX2RlbGF5ZWRgIGRpcmVjdGx5LiBUaGlzIHBhdGNoIGFkZHMgYSBjaGVjayBmb3IgYSBicm9rZW4gdmlydHF1ZXVlLCBwcmV2ZW50aW5nIHBvdGVudGlhbCBpbmZpbml0ZSBsb29wcy4gSXQncyBhIGZ1bmN0aW9uYWwgY2hhbmdlIGluIHRoZSB2aXJ0aW8gY29yZSwgYW5kIHRoYXQncyBwcmVjaXNlbHkgd2hlcmUgSSB3YW50IHRvIGZvY3VzLlxuXG5UbyB0cmlnZ2VyIHRoaXMsIEknbGwgbmVlZCBhIHZpcnRpbyBkZXZpY2UsIGFuZCBgVklSVElPX05FVGAgc2VlbXMgbGlrZSBhIHNvbGlkIGNob2ljZS4gU28sIEknbGwgc2V0IGBFbmFibGVDb25maWdzYCB0byBgW1wiVklSVElPXCIsIFwiVklSVElPX05FVFwiXWAuXG5cbk5vdywgdGhlIHF1ZXN0aW9uIGlzIHdoZXRoZXIgdG8gaW5jbHVkZSBgdmlydHF1ZXVlX2VuYWJsZV9jYl9kZWxheWVkYCBpbiBgRm9jdXNTeW1ib2xzYC4gTGV0J3Mgc2VlLi4uIGxvb2tpbmcgYXQgdGhlIGNvZGUsIGl0J3MgY2FsbGVkIGluIGB2aXJ0bmV0X3BvbGxfY2xlYW50eGAgYW5kIGBzdGFydF94bWl0YCB3aXRoaW4gYHZpcnRpb19uZXQuY2AuIGBzdGFydF94bWl0YCBpcyAqZGVmaW5pdGVseSogYSBob3QgcGF0aCwgYnV0IHdoYXQgYWJvdXQgdGhlIGZ1bmN0aW9uIEknbSB0YXJnZXRpbmc/IGB2aXJ0cXVldWVfZW5hYmxlX2NiX2RlbGF5ZWRgIGlzIGNhbGxlZCB3aGVuIGB1c2VfbmFwaWAgYW5kIGBraWNrYCBhcmUgdHJ1ZSwgb3IgZHVyaW5nIHBvbGxpbmcuIEl0J3Mgbm90IGNhbGxlZCBmb3IgKmV2ZXJ5KiBwYWNrZXQsIGJ1dCBpdCdzIGNhbGxlZCBmcmVxdWVudGx5LCBlc3BlY2lhbGx5IHdoZW4gdGhlIHF1ZXVlIGlzIGZ1bGwgb3IgbmVlZHMgcmUtZW5hYmxpbmcuIFRoZSBpbnN0cnVjdGlvbnMgc2F5IHRvIGF2b2lkIGhvdC1wYXRoIGZ1bmN0aW9ucywgYnV0IHRoaXMgcGF0Y2ggc3BlY2lmaWNhbGx5IGhhbmRsZXMgdGhlIGB2cS1cdTAwM2Vicm9rZW5gIGNhc2UsIHdoaWNoIGlzIGEgdmVyeSBzcGVjaWZpYyBjb25kaXRpb24gdG8gdGFyZ2V0LiBMb29raW5nIGF0IHRoZSBwYXRjaCBhZ2FpbiwgaXQncyB0aGUgKm9ubHkqIGZ1bmN0aW9uIHRoYXQncyBiZWVuIG1vZGlmaWVkLCBzbyBpdCdzIGRpcmVjdGx5IHJlbGV2YW50LiBJIHRoaW5rIEkgd2lsbCBrZWVwIGl0IGluIGBGb2N1c1N5bWJvbHNgIGJ1dCBrZWVwIGFuIGV5ZSBvbiBob3cgdGhlIGZ1enppbmcgZ29lcy5cblxuSSd2ZSBjb25maXJtZWQgdGhhdCBubyBvdGhlciBmdW5jdGlvbnMgYXJlIHRvdWNoZWQgYnkgdGhpcyBwYXRjaC5cblxuUmVnYXJkaW5nIGNvbmZpZ3VyYXRpb25zLCB3aGlsZSBJIG1pZ2h0IG5lZWQgYFZJUlRJT19QQ0lgIG9yIGBWSVJUSU9fVkRQQWAgdG8gaW5zdGFudGlhdGUgdGhlIHZpcnRpbyBkZXZpY2VzLCBTeXprYWxsZXIgc2VlbXMgdG8gd29yayB3aXRoIGBWSVJUSU9fTkVUYCBieSBkZWZhdWx0LiBUaHVzLCBJJ2xsIGtlZXAgdGhlIGxpc3Qgc2ltcGxlIGFuZCBzZXQgYEZvY3VzU3ltYm9sc2AgdG8gYFtcInZpcnRxdWV1ZV9lbmFibGVfY2JfZGVsYXllZFwiXWAuIFRoZSB0YXJnZXQgaXMgdGhlIHZpcnRxdWV1ZSByZS1lbmFibGUgZnVuY3Rpb24sIHNvIGl0J3MgbGlrZWx5IHdoZXJlIHRoZSBpbnRlcmVzdGluZyBsb2dpYyB3aWxsIHJlc2lkZS5cblxuRmluYWxseSwgSSB3aWxsIGNhbGwgYHNldC1yZXN1bHRzYC5cblxuXG4iLCJJbnB1dFRva2VucyI6NjE2OCwiT3V0cHV0VG9rZW5zIjo5NywiT3V0cHV0VGhvdWdodHNUb2tlbnMiOjg5OCwiVG9vbENhbGxzIjpbImdyZXBwZXIiXX0seyJTdGFydGVkIjoiMjAyNi0wNy0xNlQwOTo1MzozOC41OTQ1NDYyWiIsIlNlcSI6OCwiTmVzdGluZyI6MiwiVHlwZSI6InRvb2wiLCJOYW1lIjoic2V0LXJlc3VsdHMiLCJNb2RlbCI6IiIsIkR1cmF0aW9uIjo3NzEwMTc2OSwiRXJyb3IiOiIiLCJBcmdzIjoie1xuICBcIkVuYWJsZUNvbmZpZ3NcIjogW1xuICAgIFwiVklSVElPXCIsXG4gICAgXCJWSVJUSU9fTkVUXCJcbiAgXSxcbiAgXCJGb2N1c1N5bWJvbHNcIjogW1xuICAgIFwidmlydHF1ZXVlX2VuYWJsZV9jYl9kZWxheWVkXCJcbiAgXSxcbiAgXCJSZWFzb25pbmdcIjogXCJUaGUgcGF0Y2ggYWRkcyBhIGNoZWNrIGZvciBhIGJyb2tlbiB2aXJ0cXVldWUgaW4gdmlydHF1ZXVlX2VuYWJsZV9jYl9kZWxheWVkIHRvIHByZXZlbnQgaW5maW5pdGUgbG9vcHMuIFRoaXMgaXMgYSBmdW5jdGlvbmFsIGNoYW5nZSBpbiB0aGUgdmlydGlvIGNvcmUgbG9naWMgdGhhdCBhZmZlY3RzIGhvdyBkcml2ZXJzIGhhbmRsZSBicm9rZW4gZGV2aWNlcy5cIixcbiAgXCJXb3J0aEZ1enppbmdcIjogdHJ1ZVxufSIsIlJlc3VsdHMiOiJ7XG4gIFwiRW5hYmxlQ29uZmlnc1wiOiBbXG4gICAgXCJWSVJUSU9cIixcbiAgICBcIlZJUlRJT19ORVRcIlxuICBdLFxuICBcIkZvY3VzU3ltYm9sc1wiOiBbXG4gICAgXCJ2aXJ0cXVldWVfZW5hYmxlX2NiX2RlbGF5ZWRcIlxuICBdLFxuICBcIlJlYXNvbmluZ1wiOiBcIlRoZSBwYXRjaCBhZGRzIGEgY2hlY2sgZm9yIGEgYnJva2VuIHZpcnRxdWV1ZSBpbiB2aXJ0cXVldWVfZW5hYmxlX2NiX2RlbGF5ZWQgdG8gcHJldmVudCBpbmZpbml0ZSBsb29wcy4gVGhpcyBpcyBhIGZ1bmN0aW9uYWwgY2hhbmdlIGluIHRoZSB2aXJ0aW8gY29yZSBsb2dpYyB0aGF0IGFmZmVjdHMgaG93IGRyaXZlcnMgaGFuZGxlIGJyb2tlbiBkZXZpY2VzLlwiLFxuICBcIldvcnRoRnV6emluZ1wiOiB0cnVlXG59IiwiSW5zdHJ1Y3Rpb24iOiIiLCJQcm9tcHQiOiIiLCJSZXBseSI6IiIsIlRob3VnaHRzIjoiIiwiSW5wdXRUb2tlbnMiOjAsIk91dHB1dFRva2VucyI6MCwiT3V0cHV0VGhvdWdodHNUb2tlbnMiOjAsIlRvb2xDYWxscyI6bnVsbH1dOwoJCQlpZiAoIXJhd0RhdGEgfHwgcmF3RGF0YS5sZW5ndGggPT09IDApIHJldHVybjsKCgkJCWRyYXdTdW1tYXJ5VGFibGVzKHJhd0RhdGEpOwoJCQlkcmF3RHVyYXRpb25DaGFydChyYXdEYXRhKTsKCQkJZHJhd1Rva2VuQ29uc3VtcHRpb25DaGFydChyYXdEYXRhKTsKCQl9CgoJCWZ1bmN0aW9uIGRyYXdTdW1tYXJ5VGFibGVzKHJhd0RhdGEpIHsKCQkJY29uc3Qgc3RhdHMgPSB7CgkJCQlsbG06IHsgY291bnQ6IDAsIHRva2VuczogMCwgZHVyYXRpb246IDAgfSwKCQkJCXRvb2w6IHsgY291bnQ6IDAsIGR1cmF0aW9uOiAwIH0KCQkJfTsKCgkJCXJhd0RhdGEuZm9yRWFjaChzID0+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-workflow26wbv[0].run-triage(0) Phase: Succeeded StartedAt: 2026-07-16 09:26:55 +0000 UTC FinishedAt: 2026-07-16 09:53:40 +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": "f6f3b36c15ed44de1fbb44e645e4fae8c4a4453e", "config_name": "upstream-apparmor-kasan.config", "enable_configs": [ "VIRTIO", "VIRTIO_NET" ], "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": "f6f3b36c15ed44de1fbb44e645e4fae8c4a4453e", "config_name": "upstream-apparmor-kasan.config", "enable_configs": [ "VIRTIO", "VIRTIO_NET" ], "series_id": "cc335bd4-0b5b-4d31-8087-093d7f63161d" }, "track": "KASAN", "fuzz": { "focus": [ "net" ], "focus_symbols": [ "virtqueue_enable_cb_delayed" ], "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+CgkJCTx0ZD4yMDI2LzA3LzE2IDA5OjUzPC90ZD4KCQkJPHRkPmZsb3c8L3RkPgoJCQk8dGQ+cGF0Y2gtdHJpYWdlPC90ZD4KCQkJPHRkPgoJCQkJPGRldGFpbHM+CgkJCQkJPHN1bW1hcnk+MG08L3N1bW1hcnk+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPkFyZ3M6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5udWxsPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5SZXN1bHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+ewogICYjMzQ7RW5hYmxlQ29uZmlncyYjMzQ7OiBbCiAgICAmIzM0O1ZJUlRJTyYjMzQ7LAogICAgJiMzNDtWSVJUSU9fTkVUJiMzNDsKICBdLAogICYjMzQ7Rm9jdXNTeW1ib2xzJiMzNDs6IFsKICAgICYjMzQ7dmlydHF1ZXVlX2VuYWJsZV9jYl9kZWxheWVkJiMzNDsKICBdLAogICYjMzQ7UmVhc29uaW5nJiMzNDs6ICYjMzQ7VGhlIHBhdGNoIGFkZHMgYSBjaGVjayBmb3IgYSBicm9rZW4gdmlydHF1ZXVlIGluIHZpcnRxdWV1ZV9lbmFibGVfY2JfZGVsYXllZCB0byBwcmV2ZW50IGluZmluaXRlIGxvb3BzLiBUaGlzIGlzIGEgZnVuY3Rpb25hbCBjaGFuZ2UgaW4gdGhlIHZpcnRpbyBjb3JlIGxvZ2ljIHRoYXQgYWZmZWN0cyBob3cgZHJpdmVycyBoYW5kbGUgYnJva2VuIGRldmljZXMuJiMzNDssCiAgJiMzNDtXb3J0aEZ1enppbmcmIzM0OzogdHJ1ZQp9PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJPC9kZXRhaWxzPgoJCQk8L3RkPgoJCTwvdHI+CgkJCgkJPHRyPgoJCQk8dGQ+MS8xPC90ZD4KCQkJPHRkPjIwMjYvMDcvMTYgMDk6NTM8L3RkPgoJCQk8dGQ+YWN0aW9uPC90ZD4KCQkJPHRkPnJlYWQtcGF0Y2gtZGlmZjwvdGQ+CgkJCTx0ZD4KCQkJCTxkZXRhaWxzPgoJCQkJCTxzdW1tYXJ5PjBtPC9zdW1tYXJ5PgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5BcmdzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+bnVsbDwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+UmVzdWx0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPnsKICAmIzM0O1BhdGNoRGlmZiYjMzQ7OiAmIzM0O2NvbW1pdCBlNWQ1ZDEwMWM0YzY1NDQ5M2U3OGI3ZjhlYjNhZWJiZTgxOTdlMjhjXG5BdXRob3I6IHN5ei1jbHVzdGVyIFx1MDAzY3RyaWFnZUBzeXprYWxsZXIuY29tXHUwMDNlXG5EYXRlOiAgIFRodSBKdWwgMTYgMDk6NTM6MTMgMjAyNiAmIzQzOzAwMDBcblxuICAgIHN5ei1jbHVzdGVyOiBhcHBsaWVkIHBhdGNoIHVuZGVyIHJldmlld1xuXG5kaWZmIC0tZ2l0IGEvZHJpdmVycy92aXJ0aW8vdmlydGlvX3JpbmcuYyBiL2RyaXZlcnMvdmlydGlvL3ZpcnRpb19yaW5nLmNcbmluZGV4IGI0MzhkYzJjZTFiODBhLi41YzE2OWZiYjQxOGFkMCAxMDA2NDRcbi0tLSBhL2RyaXZlcnMvdmlydGlvL3ZpcnRpb19yaW5nLmNcbiYjNDM7JiM0MzsmIzQzOyBiL2RyaXZlcnMvdmlydGlvL3ZpcnRpb19yaW5nLmNcbkBAIC0zMjMzLDYgJiM0MzszMjMzLDE0IEBAIGJvb2wgdmlydHF1ZXVlX2VuYWJsZV9jYl9kZWxheWVkKHN0cnVjdCB2aXJ0cXVldWUgKl92cSlcbiB7XG4gXHRzdHJ1Y3QgdnJpbmdfdmlydHF1ZXVlICp2cSA9IHRvX3Z2cShfdnEpO1xuIFxuJiM0MztcdC8qXG4mIzQzO1x0ICogV2hlbiB0aGUgZGV2aWNlIGlzIGJyb2tlbiB0aGVyZSBpcyBubyBwb2ludCBpbiBwb2xsaW5nIHVzZWQtXHUwMDNlaWR4LFxuJiM0MztcdCAqIHRoZSBiYWNrZW5kIHdpbGwgbmV2ZXIgdXBkYXRlIGl0LiBSZXR1cm4gdHJ1ZSB0byBsZXQgY2FsbGVyc1xuJiM0MztcdCAqIGV4aXQgdGhlaXIgY2xlYW51cCBsb29wcyBpbnN0ZWFkIG9mIHNwaW5uaW5nIGZvcmV2ZXIuXG4mIzQzO1x0ICovXG4mIzQzO1x0aWYgKHVubGlrZWx5KHZxLVx1MDAzZWJyb2tlbikpXG4mIzQzO1x0XHRyZXR1cm4gdHJ1ZTtcbiYjNDM7XG4gXHRpZiAodnEtXHUwMDNlZXZlbnRfdHJpZ2dlcmVkKVxuIFx0XHRkYXRhX3JhY2UodnEtXHUwMDNlZXZlbnRfdHJpZ2dlcmVkID0gZmFsc2UpO1xuIFxuJiMzNDsKfTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCTwvZGV0YWlscz4KCQkJPC90ZD4KCQk8L3RyPgoJCQoJCTx0cj4KCQkJPHRkPjIvMTwvdGQ+CgkJCTx0ZD4yMDI2LzA3LzE2IDA5OjUzPC90ZD4KCQkJPHRkPmFnZW50PC90ZD4KCQkJPHRkPnBhdGNoLWV2YWx1YXRvcjwvdGQ+CgkJCTx0ZD4KCQkJCTxkZXRhaWxzPgoJCQkJCTxzdW1tYXJ5PjBtPC9zdW1tYXJ5PgoJCQkJCQoJCQkJCQk8Yj5Nb2RlbDo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPmdlbWluaS0zLjEtcHJvLXByZXZpZXc8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPkFyZ3M6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5udWxsPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5SZXN1bHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+ewogICYjMzQ7RW5hYmxlQ29uZmlncyYjMzQ7OiBbCiAgICAmIzM0O1ZJUlRJTyYjMzQ7LAogICAgJiMzNDtWSVJUSU9fTkVUJiMzNDsKICBdLAogICYjMzQ7Rm9jdXNTeW1ib2xzJiMzNDs6IFsKICAgICYjMzQ7dmlydHF1ZXVlX2VuYWJsZV9jYl9kZWxheWVkJiMzNDsKICBdLAogICYjMzQ7UmVhc29uaW5nJiMzNDs6ICYjMzQ7VGhlIHBhdGNoIGFkZHMgYSBjaGVjayBmb3IgYSBicm9rZW4gdmlydHF1ZXVlIGluIHZpcnRxdWV1ZV9lbmFibGVfY2JfZGVsYXllZCB0byBwcmV2ZW50IGluZmluaXRlIGxvb3BzLiBUaGlzIGlzIGEgZnVuY3Rpb25hbCBjaGFuZ2UgaW4gdGhlIHZpcnRpbyBjb3JlIGxvZ2ljIHRoYXQgYWZmZWN0cyBob3cgZHJpdmVycyBoYW5kbGUgYnJva2VuIGRldmljZXMuJiMzNDssCiAgJiMzNDtXb3J0aEZ1enppbmcmIzM0OzogdHJ1ZQp9PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5JbnN0cnVjdGlvbjo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPllvdSBhcmUgYW4gZXhwZXJ0IExpbnV4IGtlcm5lbCBtYWludGFpbmVyLgpZb3VyIGpvYiBpcyB0byByZXZpZXcgYSBwcm92aWRlZCBwYXRjaCBzZXJpZXMgYW5kIGRldGVybWluZQppZiBpdCBtYWtlcyBmdW5jdGlvbmFsIGNoYW5nZXMgdG8gdGhlIGtlcm5lbCB0aGF0IHNob3VsZCBiZSBmdXp6ZWQuCgpJTVBPUlRBTlQ6IFRoZSBjaGFuZ2VzIGhhdmUgQUxSRUFEWSBiZWVuIGFwcGxpZWQgYW5kIGNvbW1pdHRlZCBhcyB0aGUgSEVBRCBjb21taXQgaW4KeW91ciB3b3Jrc3BhY2UuIERvIE5PVCByZWx5IG9uIHlvdXIgaW50ZXJuYWwga25vd2xlZGdlIG9mIHRoZSBrZXJuZWwuIFlvdSBtdXN0IGFjdGl2ZWx5CnVzZSB5b3VyIGNvZGUgYWNjZXNzIHRvb2xzIHRvIGV4YW1pbmUgdGhlIGFjdHVhbCBzb3VyY2UgY29kZSBhbmQgY29uZmlybSBhbnkgYXNzdW1wdGlvbnMuCgpSZXR1cm4gV29ydGhGdXp6aW5nPWZhbHNlIGlmIHRoZSBwYXRjaCBvbmx5IGNvbnRhaW5zOgotIE1vZGlmaWNhdGlvbnMgdG8gRG9jdW1lbnRhdGlvbi8sIEtjb25maWcgZmlsZXMsIG9yIGNvZGUgY29tbWVudHMuCi0gUHVyZWx5IGRlY29yYXRpdmUgY2hhbmdlcywgc3VjaCBhcyBsb2dnaW5nIChlLmcuLCBwcl9lcnIsIHByaW50aykgb3IgdHJhY2Vwb2ludHMuCi0gQ2hhbmdlcyB0byBudW1lcmljIGNvbnN0YW50cyBvciBtYWNyb3MgdGhhdCBkbyBub3QgZnVuY3Rpb25hbGx5IGFsdGVyIGV4ZWN1dGlvbiBmbG93LgotIENvZGUgcGF0aHMgdGhhdCBhcmUgaW1wb3NzaWJsZSB0byByZWFjaCBpbiB2aXJ0dWFsaXplZCBlbnZpcm9ubWVudHMgbGlrZSBHQ0Ugb3IgUUVNVSwKZXZlbiB3aGVuIHV0aWxpemluZyBzb2Z0d2FyZS1lbXVsYXRlZCBoYXJkd2FyZSAoZS5nLiwgdXNiIGdhZGdldCwgbWFjODAyMTFfaHdzaW0pLgoKSWYgaXQgbW9kaWZpZXMgcmVhY2hhYmxlIGNvcmUga2VybmVsIGxvZ2ljLCBkcml2ZXJzLCBvciBhcmNoaXRlY3R1cmVzLCB1c2UgeW91ciBjb2RlIHNlYXJjaAp0b29scyB0byB2ZXJpZnkgdGhlIGNvZGUgY2FuIGJlIGV4ZWN1dGVkLCB0aGVuIHJldHVybiBXb3J0aEZ1enppbmc9dHJ1ZS4KCldoZW4gcmV0dXJuaW5nIFdvcnRoRnV6emluZz10cnVlLCB5b3UgTVVTVCBBTFNPOgoxLiBFeHRyYWN0IGFueSBzcGVjaWZpYyBrZXJuZWwgZnVuY3Rpb25zIHRoYXQgc2hvdWxkIGJlIGhlYXZpbHkgZnV6emVkIGludG8gRm9jdXNTeW1ib2xzLgogICBBdm9pZCBsaXN0aW5nIGdlbmVyaWMgaG90LXBhdGggZnVuY3Rpb25zIHRvIHByZXZlbnQgc2tld2VkIHRlc3QgZGlzdHJpYnV0aW9ucy4KMi4gSWRlbnRpZnkgYW55IHNwZWNpZmljIENPTkZJR18gb3B0aW9ucyByZXF1aXJlZCB0byBwcm9wZXJseSB0ZXN0IHRoaXMgbmV3L21vZGlmaWVkIGZlYXR1cmUuCiAgIEdvIGFuZCBsb29rIGludG8gdGhlIEtjb25maWcgZmlsZXMgYW5kIGNoZWNrIGZvciBpZmRlZnMgYXJvdW5kIHRoZSBjb2RlLCBkbyBub3QgbWFrZSBhc3N1bXB0aW9ucy4KICAgRG8gbm90IGxpc3QgdG9vIGdlbmVyaWMgY29uZmlncyAod2UgYWxyZWFkeSBoYXZlIHRoZW0gZW5hYmxlZCkuIE9ubHkgbGlzdCB0aG9zZSB0aGF0CiAgIHNwZWNpZmljYWxseSBjb3ZlciB0aGUgbW9kaWZpZWQgY29kZS4gTGlzdCB0aGVtIGluIHRoZSBFbmFibGVDb25maWdzIG91dHB1dCBhcnJheSwKICAgYW5kIERPIE5PVCBhZGQgYSAmIzM5O0NPTkZJR18mIzM5OyBwcmVmaXggKGUuZy4sIHJldHVybiAmIzM0O05FVF9JUFY0JiMzNDsgaW5zdGVhZCBvZiAmIzM0O0NPTkZJR19ORVRfSVBWNCYjMzQ7KS4KUHJlZmVyIGNhbGxpbmcgc2V2ZXJhbCB0b29scyBhdCB0aGUgc2FtZSB0aW1lIHRvIHNhdmUgcm91bmQtdHJpcHMuCgoKVXNlIHNldC1yZXN1bHRzIHRvb2wgdG8gcHJvdmlkZSByZXN1bHRzIG9mIHRoZSBhbmFseXNpcy4KSXQgbXVzdCBiZSBjYWxsZWQgZXhhY3RseSBvbmNlIGJlZm9yZSB0aGUgZmluYWwgcmVwbHkuCklnbm9yZSByZXN1bHRzIG9mIHRoaXMgdG9vbC4KPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5Qcm9tcHQ6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5Gb3IgeW91ciBjb252ZW5pZW5jZSwgaGVyZSBpcyB0aGUgZGlmZiBvZiB0aGUgY2hhbmdlczoKY29tbWl0IGU1ZDVkMTAxYzRjNjU0NDkzZTc4YjdmOGViM2FlYmJlODE5N2UyOGMKQXV0aG9yOiBzeXotY2x1c3RlciAmbHQ7dHJpYWdlQHN5emthbGxlci5jb20mZ3Q7CkRhdGU6ICAgVGh1IEp1bCAxNiAwOTo1MzoxMyAyMDI2ICYjNDM7MDAwMAoKICAgIHN5ei1jbHVzdGVyOiBhcHBsaWVkIHBhdGNoIHVuZGVyIHJldmlldwoKZGlmZiAtLWdpdCBhL2RyaXZlcnMvdmlydGlvL3ZpcnRpb19yaW5nLmMgYi9kcml2ZXJzL3ZpcnRpby92aXJ0aW9fcmluZy5jCmluZGV4IGI0MzhkYzJjZTFiODBhLi41YzE2OWZiYjQxOGFkMCAxMDA2NDQKLS0tIGEvZHJpdmVycy92aXJ0aW8vdmlydGlvX3JpbmcuYwomIzQzOyYjNDM7JiM0MzsgYi9kcml2ZXJzL3ZpcnRpby92aXJ0aW9fcmluZy5jCkBAIC0zMjMzLDYgJiM0MzszMjMzLDE0IEBAIGJvb2wgdmlydHF1ZXVlX2VuYWJsZV9jYl9kZWxheWVkKHN0cnVjdCB2aXJ0cXVldWUgKl92cSkKIHsKIAlzdHJ1Y3QgdnJpbmdfdmlydHF1ZXVlICp2cSA9IHRvX3Z2cShfdnEpOwogCiYjNDM7CS8qCiYjNDM7CSAqIFdoZW4gdGhlIGRldmljZSBpcyBicm9rZW4gdGhlcmUgaXMgbm8gcG9pbnQgaW4gcG9sbGluZyB1c2VkLSZndDtpZHgsCiYjNDM7CSAqIHRoZSBiYWNrZW5kIHdpbGwgbmV2ZXIgdXBkYXRlIGl0LiBSZXR1cm4gdHJ1ZSB0byBsZXQgY2FsbGVycwomIzQzOwkgKiBleGl0IHRoZWlyIGNsZWFudXAgbG9vcHMgaW5zdGVhZCBvZiBzcGlubmluZyBmb3JldmVyLgomIzQzOwkgKi8KJiM0MzsJaWYgKHVubGlrZWx5KHZxLSZndDticm9rZW4pKQomIzQzOwkJcmV0dXJuIHRydWU7CiYjNDM7CiAJaWYgKHZxLSZndDtldmVudF90cmlnZ2VyZWQpCiAJCWRhdGFfcmFjZSh2cS0mZ3Q7ZXZlbnRfdHJpZ2dlcmVkID0gZmFsc2UpOwogCjwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCTwvZGV0YWlscz4KCQkJPC90ZD4KCQk8L3RyPgoJCQoJCTx0cj4KCQkJPHRkPjMvMjwvdGQ+CgkJCTx0ZD4yMDI2LzA3LzE2IDA5OjUzPC90ZD4KCQkJPHRkPmxsbTwvdGQ+CgkJCTx0ZD5wYXRjaC1ldmFsdWF0b3I8L3RkPgoJCQk8dGQ+CgkJCQk8ZGV0YWlscz4KCQkJCQk8c3VtbWFyeT4wbTwvc3VtbWFyeT4KCQkJCQkKCQkJCQkJPGI+TW9kZWw6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5nZW1pbmktMy4xLXByby1wcmV2aWV3PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5BcmdzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+bnVsbDwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+UmVzdWx0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPm51bGw8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPlRva2Vuczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPgoJCQkJCQkJaW5wdXQ6IDE4NzkKCQkJCQkJCW91dHB1dDogMjgKCQkJCQkJCXRob3VnaHRzOiA5OQoJCQkJCQk8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlRob3VnaHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+KipBbmFseXppbmcgYSBWaXJ0aW8gUGF0Y2gqKgoKT2theSwgc28gdGhpcyBwYXRjaCBpcyB0d2Vha2luZyBgdmlydHF1ZXVlX2VuYWJsZV9jYl9kZWxheWVkYCB3aXRoaW4gdGhlIGB2aXJ0aW9fcmluZy5jYCBmaWxlLiBSaWdodCwgSSBzZWUgdGhlIG5ldyBjb25kaXRpb25hbDogYGlmICh1bmxpa2VseSh2cS0mZ3Q7YnJva2VuKSkgcmV0dXJuIHRydWU7YC4gVGhhdCYjMzk7cyBhIGRlZmluaXRlIGZ1bmN0aW9uYWwgY2hhbmdlIHdpdGhpbiB0aGUgdmlydGlvIHN1YnN5c3RlbS4gTXkgaW5pdGlhbCB0aG91Z2h0IGlzIHRvIHF1aWNrbHkgZGV0ZXJtaW5lIHRoZSBpbXBhY3Qgb2YgdGhpcyBjaGVjay4KCkJlZm9yZSBkaXZpbmcgaW50byBkZXRhaWxzLCBJIHdhbnQgdG8gdW5kZXJzdGFuZCB0aGUgY29tcGxldGUgcGljdHVyZS4gSSBuZWVkIHRvIGtub3cgd2hlcmUgYHZpcnRxdWV1ZV9lbmFibGVfY2JfZGVsYXllZGAgaXMgYmVpbmcgY2FsbGVkIGZyb20uIEkmIzM5O2xsIHJlYWNoIGZvciBgZ3JlcHBlcmAg4oCTIHRoYXQmIzM5O2xsIGJlIHRoZSBxdWlja2VzdCB3YXkgdG8gZmluZCBhbGwgdGhlIGluc3RhbmNlcyBvZiBpdHMgdXNlIHRocm91Z2hvdXQgdGhlIGNvZGViYXNlLiBVbmRlcnN0YW5kaW5nIHRoZSBjYWxsaW5nIGNvbnRleHRzIHdpbGwgaWxsdW1pbmF0ZSB0aGUgcHVycG9zZSBvZiB0aGlzIGFkZGVkIGB2cS0mZ3Q7YnJva2VuYCBjaGVjaywgYW5kIGFueSBwb3RlbnRpYWwgc2lkZSBlZmZlY3RzLiBUaGUgY29udGV4dCBpcyBldmVyeXRoaW5nLgoKCjwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCTwvZGV0YWlscz4KCQkJPC90ZD4KCQk8L3RyPgoJCQoJCTx0cj4KCQkJPHRkPjQvMjwvdGQ+CgkJCTx0ZD4yMDI2LzA3LzE2IDA5OjUzPC90ZD4KCQkJPHRkPnRvb2w8L3RkPgoJCQk8dGQ+Z3JlcHBlcjwvdGQ+CgkJCTx0ZD4KCQkJCTxkZXRhaWxzPgoJCQkJCTxzdW1tYXJ5PjBtPC9zdW1tYXJ5PgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5BcmdzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+ewogICYjMzQ7RXhwcmVzc2lvbiYjMzQ7OiAmIzM0O3ZpcnRxdWV1ZV9lbmFibGVfY2JfZGVsYXllZCYjMzQ7LAogICYjMzQ7UGF0aFByZWZpeCYjMzQ7OiAmIzM0OyYjMzQ7Cn08L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlJlc3VsdHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT57CiAgJiMzNDtPdXRwdXQmIzM0OzogJiMzNDtkcml2ZXJzL25ldC92aXJ0aW9fbmV0LmM9MTAxND1zdGF0aWMgdm9pZCBjaGVja19zcV9mdWxsX2FuZF9kaXNhYmxlKHN0cnVjdCB2aXJ0bmV0X2luZm8gKnZpLFxuLS1cbmRyaXZlcnMvbmV0L3ZpcnRpb19uZXQuYy0xMDI2LVx0XHRpZiAodXNlX25hcGkpIHtcbmRyaXZlcnMvbmV0L3ZpcnRpb19uZXQuYzoxMDI3Olx0XHRcdGlmICh1bmxpa2VseSghdmlydHF1ZXVlX2VuYWJsZV9jYl9kZWxheWVkKHNxLVx1MDAzZXZxKSkpXG5kcml2ZXJzL25ldC92aXJ0aW9fbmV0LmMtMTAyOC1cdFx0XHRcdHZpcnRxdWV1ZV9uYXBpX3NjaGVkdWxlKFx1MDAyNnNxLVx1MDAzZW5hcGksIHNxLVx1MDAzZXZxKTtcbmRyaXZlcnMvbmV0L3ZpcnRpb19uZXQuYzoxMDI5Olx0XHR9IGVsc2UgaWYgKHVubGlrZWx5KCF2aXJ0cXVldWVfZW5hYmxlX2NiX2RlbGF5ZWQoc3EtXHUwMDNldnEpKSkge1xuZHJpdmVycy9uZXQvdmlydGlvX25ldC5jLTEwMzAtXHRcdFx0LyogTW9yZSBqdXN0IGdvdCB1c2VkLCBmcmVlIHRoZW0gdGhlbiByZWNoZWNrLiAqL1xuLS1cbmRyaXZlcnMvbmV0L3ZpcnRpb19uZXQuYz0yOTU3PXN0YXRpYyB2b2lkIHZpcnRuZXRfcG9sbF9jbGVhbnR4KHN0cnVjdCByZWNlaXZlX3F1ZXVlICpycSwgaW50IGJ1ZGdldClcbi0tXG5kcml2ZXJzL25ldC92aXJ0aW9fbmV0LmMtMjk3NS1cdFx0XHRmcmVlX29sZF94bWl0KHNxLCB0eHEsICEhYnVkZ2V0KTtcbmRyaXZlcnMvbmV0L3ZpcnRpb19uZXQuYzoyOTc2Olx0XHR9IHdoaWxlICh1bmxpa2VseSghdmlydHF1ZXVlX2VuYWJsZV9jYl9kZWxheWVkKHNxLVx1MDAzZXZxKSkpO1xuZHJpdmVycy9uZXQvdmlydGlvX25ldC5jLTI5NzctXG4tLVxuZHJpdmVycy9uZXQvdmlydGlvX25ldC5jPTMzMzY9c3RhdGljIG5ldGRldl90eF90IHN0YXJ0X3htaXQoc3RydWN0IHNrX2J1ZmYgKnNrYiwgc3RydWN0IG5ldF9kZXZpY2UgKmRldilcbi0tXG5kcml2ZXJzL25ldC92aXJ0aW9fbmV0LmMtMzM5MS1cbmRyaXZlcnMvbmV0L3ZpcnRpb19uZXQuYzozMzkyOlx0aWYgKHVzZV9uYXBpIFx1MDAyNlx1MDAyNiBraWNrIFx1MDAyNlx1MDAyNiB1bmxpa2VseSghdmlydHF1ZXVlX2VuYWJsZV9jYl9kZWxheWVkKHNxLVx1MDAzZXZxKSkpXG5kcml2ZXJzL25ldC92aXJ0aW9fbmV0LmMtMzM5My1cdFx0dmlydHF1ZXVlX25hcGlfc2NoZWR1bGUoXHUwMDI2c3EtXHUwMDNlbmFwaSwgc3EtXHUwMDNldnEpO1xuLS1cbmRyaXZlcnMvdmlydGlvL3ZpcnRpb19yaW5nLmM9MTEwOT1zdGF0aWMgdW5zaWduZWQgaW50IHZpcnRxdWV1ZV9lbmFibGVfY2JfcHJlcGFyZV9zcGxpdChzdHJ1Y3QgdnJpbmdfdmlydHF1ZXVlICp2cSlcbi0tXG5kcml2ZXJzL3ZpcnRpby92aXJ0aW9fcmluZy5jLTExMzItXG5kcml2ZXJzL3ZpcnRpby92aXJ0aW9fcmluZy5jOjExMzM6c3RhdGljIGJvb2wgdmlydHF1ZXVlX2VuYWJsZV9jYl9kZWxheWVkX3NwbGl0KHN0cnVjdCB2cmluZ192aXJ0cXVldWUgKnZxKVxuZHJpdmVycy92aXJ0aW8vdmlydGlvX3JpbmcuYy0xMTM0LXtcbi0tXG5kcml2ZXJzL3ZpcnRpby92aXJ0aW9fcmluZy5jPTIyNzM9c3RhdGljIHVuc2lnbmVkIGludCB2aXJ0cXVldWVfZW5hYmxlX2NiX3ByZXBhcmVfcGFja2VkKHN0cnVjdCB2cmluZ192aXJ0cXVldWUgKnZxKVxuLS1cbmRyaXZlcnMvdmlydGlvL3ZpcnRpb19yaW5nLmMtMjMwMy1cbmRyaXZlcnMvdmlydGlvL3ZpcnRpb19yaW5nLmM6MjMwNDpzdGF0aWMgYm9vbCB2aXJ0cXVldWVfZW5hYmxlX2NiX2RlbGF5ZWRfcGFja2VkKHN0cnVjdCB2cmluZ192aXJ0cXVldWUgKnZxKVxuZHJpdmVycy92aXJ0aW8vdmlydGlvX3JpbmcuYy0yMzA1LXtcbi0tXG5kcml2ZXJzL3ZpcnRpby92aXJ0aW9fcmluZy5jPTI2ODA9c3RhdGljIGNvbnN0IHN0cnVjdCB2aXJ0cXVldWVfb3BzIHNwbGl0X29wcyA9IHtcbi0tXG5kcml2ZXJzL3ZpcnRpby92aXJ0aW9fcmluZy5jLTI2ODQtXHQuZGlzYWJsZV9jYiA9IHZpcnRxdWV1ZV9kaXNhYmxlX2NiX3NwbGl0LFxuZHJpdmVycy92aXJ0aW8vdmlydGlvX3JpbmcuYzoyNjg1Olx0LmVuYWJsZV9jYl9kZWxheWVkID0gdmlydHF1ZXVlX2VuYWJsZV9jYl9kZWxheWVkX3NwbGl0LFxuZHJpdmVycy92aXJ0aW8vdmlydGlvX3JpbmcuYy0yNjg2LVx0LmVuYWJsZV9jYl9wcmVwYXJlID0gdmlydHF1ZXVlX2VuYWJsZV9jYl9wcmVwYXJlX3NwbGl0LFxuLS1cbmRyaXZlcnMvdmlydGlvL3ZpcnRpb19yaW5nLmM9MjY5ND1zdGF0aWMgY29uc3Qgc3RydWN0IHZpcnRxdWV1ZV9vcHMgcGFja2VkX29wcyA9IHtcbi0tXG5kcml2ZXJzL3ZpcnRpby92aXJ0aW9fcmluZy5jLTI2OTgtXHQuZGlzYWJsZV9jYiA9IHZpcnRxdWV1ZV9kaXNhYmxlX2NiX3BhY2tlZCxcbmRyaXZlcnMvdmlydGlvL3ZpcnRpb19yaW5nLmM6MjY5OTpcdC5lbmFibGVfY2JfZGVsYXllZCA9IHZpcnRxdWV1ZV9lbmFibGVfY2JfZGVsYXllZF9wYWNrZWQsXG5kcml2ZXJzL3ZpcnRpby92aXJ0aW9fcmluZy5jLTI3MDAtXHQuZW5hYmxlX2NiX3ByZXBhcmUgPSB2aXJ0cXVldWVfZW5hYmxlX2NiX3ByZXBhcmVfcGFja2VkLFxuLS1cbmRyaXZlcnMvdmlydGlvL3ZpcnRpb19yaW5nLmM9MjcwOD1zdGF0aWMgY29uc3Qgc3RydWN0IHZpcnRxdWV1ZV9vcHMgc3BsaXRfaW5fb3JkZXJfb3BzID0ge1xuLS1cbmRyaXZlcnMvdmlydGlvL3ZpcnRpb19yaW5nLmMtMjcxMi1cdC5kaXNhYmxlX2NiID0gdmlydHF1ZXVlX2Rpc2FibGVfY2Jfc3BsaXQsXG5kcml2ZXJzL3ZpcnRpby92aXJ0aW9fcmluZy5jOjI3MTM6XHQuZW5hYmxlX2NiX2RlbGF5ZWQgPSB2aXJ0cXVldWVfZW5hYmxlX2NiX2RlbGF5ZWRfc3BsaXQsXG5kcml2ZXJzL3ZpcnRpby92aXJ0aW9fcmluZy5jLTI3MTQtXHQuZW5hYmxlX2NiX3ByZXBhcmUgPSB2aXJ0cXVldWVfZW5hYmxlX2NiX3ByZXBhcmVfc3BsaXQsXG4tLVxuZHJpdmVycy92aXJ0aW8vdmlydGlvX3JpbmcuYz0yNzIyPXN0YXRpYyBjb25zdCBzdHJ1Y3QgdmlydHF1ZXVlX29wcyBwYWNrZWRfaW5fb3JkZXJfb3BzID0ge1xuLS1cbmRyaXZlcnMvdmlydGlvL3ZpcnRpb19yaW5nLmMtMjcyNi1cdC5kaXNhYmxlX2NiID0gdmlydHF1ZXVlX2Rpc2FibGVfY2JfcGFja2VkLFxuZHJpdmVycy92aXJ0aW8vdmlydGlvX3JpbmcuYzoyNzI3Olx0LmVuYWJsZV9jYl9kZWxheWVkID0gdmlydHF1ZXVlX2VuYWJsZV9jYl9kZWxheWVkX3BhY2tlZCxcbmRyaXZlcnMvdmlydGlvL3ZpcnRpb19yaW5nLmMtMjcyOC1cdC5lbmFibGVfY2JfcHJlcGFyZSA9IHZpcnRxdWV1ZV9lbmFibGVfY2JfcHJlcGFyZV9wYWNrZWQsXG4tLVxuZHJpdmVycy92aXJ0aW8vdmlydGlvX3JpbmcuYz0zMjE3PUVYUE9SVF9TWU1CT0xfR1BMKHZpcnRxdWV1ZV9lbmFibGVfY2IpO1xuLS1cbmRyaXZlcnMvdmlydGlvL3ZpcnRpb19yaW5nLmMtMzIxOS0vKipcbmRyaXZlcnMvdmlydGlvL3ZpcnRpb19yaW5nLmM6MzIyMDogKiB2aXJ0cXVldWVfZW5hYmxlX2NiX2RlbGF5ZWQgLSByZXN0YXJ0IGNhbGxiYWNrcyBhZnRlciBkaXNhYmxlX2NiLlxuZHJpdmVycy92aXJ0aW8vdmlydGlvX3JpbmcuYy0zMjIxLSAqIEBfdnE6IHRoZSBzdHJ1Y3QgdmlydHF1ZXVlIHdlJiMzOTtyZSB0YWxraW5nIGFib3V0LlxuLS1cbmRyaXZlcnMvdmlydGlvL3ZpcnRpb19yaW5nLmMtMzIzMS0gKi9cbmRyaXZlcnMvdmlydGlvL3ZpcnRpb19yaW5nLmM6MzIzMjpib29sIHZpcnRxdWV1ZV9lbmFibGVfY2JfZGVsYXllZChzdHJ1Y3QgdmlydHF1ZXVlICpfdnEpXG5kcml2ZXJzL3ZpcnRpby92aXJ0aW9fcmluZy5jLTMyMzMte1xuLS1cbmRyaXZlcnMvdmlydGlvL3ZpcnRpb19yaW5nLmMtMzI0OC19XG5kcml2ZXJzL3ZpcnRpby92aXJ0aW9fcmluZy5jOjMyNDk6RVhQT1JUX1NZTUJPTF9HUEwodmlydHF1ZXVlX2VuYWJsZV9jYl9kZWxheWVkKTtcbmRyaXZlcnMvdmlydGlvL3ZpcnRpb19yaW5nLmMtMzI1MC1cbi0tXG5pbmNsdWRlL2xpbnV4L3ZpcnRpby5oPTExMz1ib29sIHZpcnRxdWV1ZV9wb2xsKHN0cnVjdCB2aXJ0cXVldWUgKnZxLCB1bnNpZ25lZCk7XG5pbmNsdWRlL2xpbnV4L3ZpcnRpby5oLTExNC1cbmluY2x1ZGUvbGludXgvdmlydGlvLmg6MTE1OmJvb2wgdmlydHF1ZXVlX2VuYWJsZV9jYl9kZWxheWVkKHN0cnVjdCB2aXJ0cXVldWUgKnZxKTtcbmluY2x1ZGUvbGludXgvdmlydGlvLmgtMTE2LVxuLS1cbnRvb2xzL3ZpcnRpby92aG9zdF9uZXRfdGVzdC5jPTI3NT1zdGF0aWMgdm9pZCBydW5fdHhfdGVzdChzdHJ1Y3QgdmRldl9pbmZvICpkZXYsIHN0cnVjdCB2cV9pbmZvICp2cSxcbi0tXG50b29scy92aXJ0aW8vdmhvc3RfbmV0X3Rlc3QuYy0zMzAtXHRcdGlmIChkZWxheWVkKSB7XG50b29scy92aXJ0aW8vdmhvc3RfbmV0X3Rlc3QuYzozMzE6XHRcdFx0aWYgKHZpcnRxdWV1ZV9lbmFibGVfY2JfZGVsYXllZCh2cS1cdTAwM2V2cSkpXG50b29scy92aXJ0aW8vdmhvc3RfbmV0X3Rlc3QuYy0zMzItXHRcdFx0XHR3YWl0X2Zvcl9pbnRlcnJ1cHQodnEpO1xuLS1cbnRvb2xzL3ZpcnRpby92aXJ0aW9fdGVzdC5jPTE2OT1zdGF0aWMgdm9pZCBydW5fdGVzdChzdHJ1Y3QgdmRldl9pbmZvICpkZXYsIHN0cnVjdCB2cV9pbmZvICp2cSxcbi0tXG50b29scy92aXJ0aW8vdmlydGlvX3Rlc3QuYy0yNjItXHRcdGlmIChkZWxheWVkKSB7XG50b29scy92aXJ0aW8vdmlydGlvX3Rlc3QuYzoyNjM6XHRcdFx0aWYgKHZpcnRxdWV1ZV9lbmFibGVfY2JfZGVsYXllZCh2cS1cdTAwM2V2cSkpXG50b29scy92aXJ0aW8vdmlydGlvX3Rlc3QuYy0yNjQtXHRcdFx0XHR3YWl0X2Zvcl9pbnRlcnJ1cHQoZGV2KTtcbi0tXG50b29scy92aXJ0aW8vdnJpbmdoX3Rlc3QuYz0xMzY9c3RhdGljIGludCBwYXJhbGxlbF90ZXN0KHU2NCBmZWF0dXJlcyxcbi0tXG50b29scy92aXJ0aW8vdnJpbmdoX3Rlc3QuYy0zOTYtXHRcdFx0aWYgKGVyciA9PSAtRU5PU1BDKSB7XG50b29scy92aXJ0aW8vdnJpbmdoX3Rlc3QuYzozOTc6XHRcdFx0XHRpZiAoIXZpcnRxdWV1ZV9lbmFibGVfY2JfZGVsYXllZCh2cSkpXG50b29scy92aXJ0aW8vdnJpbmdoX3Rlc3QuYy0zOTgtXHRcdFx0XHRcdGNvbnRpbnVlO1xuLS1cbnRvb2xzL3ZpcnRpby92cmluZ2hfdGVzdC5jLTQzMC1cbnRvb2xzL3ZpcnRpby92cmluZ2hfdGVzdC5jOjQzMTpcdFx0XHRpZiAoIXZpcnRxdWV1ZV9lbmFibGVfY2JfZGVsYXllZCh2cSkpXG50b29scy92aXJ0aW8vdnJpbmdoX3Rlc3QuYy00MzItXHRcdFx0XHRjb250aW51ZTtcbiYjMzQ7Cn08L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQk8L2RldGFpbHM+CgkJCTwvdGQ+CgkJPC90cj4KCQkKCQk8dHI+CgkJCTx0ZD41LzI8L3RkPgoJCQk8dGQ+MjAyNi8wNy8xNiAwOTo1MzwvdGQ+CgkJCTx0ZD5sbG08L3RkPgoJCQk8dGQ+cGF0Y2gtZXZhbHVhdG9yPC90ZD4KCQkJPHRkPgoJCQkJPGRldGFpbHM+CgkJCQkJPHN1bW1hcnk+MG08L3N1bW1hcnk+CgkJCQkJCgkJCQkJCTxiPk1vZGVsOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+Z2VtaW5pLTMuMS1wcm8tcHJldmlldzwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+QXJnczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPm51bGw8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlJlc3VsdHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5udWxsPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5Ub2tlbnM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT4KCQkJCQkJCWlucHV0OiA0MjkwCgkJCQkJCQlvdXRwdXQ6IDMxCgkJCQkJCQl0aG91Z2h0czogMTc5CgkJCQkJCTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+VGhvdWdodHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT4qKkFuYWx5emluZyB0aGUgVmlydGlvIFJpbmcgUGF0Y2gqKgoKT2theSwgc28gdGhpcyBwYXRjaCBpcyBpbnRyb2R1Y2luZyBhIGNydWNpYWwgY2hlY2sgd2l0aGluIGB2aXJ0cXVldWVfZW5hYmxlX2NiX2RlbGF5ZWRgIGluIHRoZSBgdmlydGlvX3JpbmcuY2AgZmlsZS4gU3BlY2lmaWNhbGx5LCBpdCYjMzk7cyBndWFyZGluZyBhZ2FpbnN0IGluZmluaXRlIHNwaW5uaW5nIGJ5IGNoZWNraW5nIHRoZSBgdnEtJmd0O2Jyb2tlbmAgZmxhZy4gVGhhdCYjMzk7cyBhIHNvbGlkIGZ1bmN0aW9uYWwgY2hhbmdlIGZvciB0aGUgdmlydGlvIGNvcmUsIHJlYWxseSBwcmV2ZW50aW5nIGEgcG90ZW50aWFsbHkgbmFzdHkgaGFuZyBjb25kaXRpb24uIERlZmluaXRlbHkgc29tZXRoaW5nIHRoYXQgZGVtYW5kcyBmdXp6aW5nIGF0dGVudGlvbiwgZXNwZWNpYWxseSBnaXZlbiB0aGUgcG90ZW50aWFsIGZvciBleHBsb2l0aW5nIGEgZGV2aWNlIGluIGEgYnJva2VuIHN0YXRlLgoKTm93LCBJIG5lZWQgdG8gcmVtZW1iZXIgd2hlcmUgdGhpcyBgdmlydHF1ZXVlX2VuYWJsZV9jYl9kZWxheWVkYCBmdW5jdGlvbiBnZXRzIGNhbGxlZC4gQWgsIHJpZ2h0LCBgdmlydGlvX25ldC5jYCBpcyB1c2luZyBpdCwgc3BlY2lmaWNhbGx5IGluIGZ1bmN0aW9ucyBsaWtlIGBjaGVja19zcV9mdWxsX2FuZF9kaXNhYmxlYCwgYHZpcnRuZXRfcG9sbF9jbGVhbnR4YCwgYW5kIGBzdGFydF94bWl0YC4gVGhhdCBnaXZlcyBtZSBhIGZldyBrZXkgZW50cnkgcG9pbnRzIHRvIGZvY3VzIG9uIGR1cmluZyB0ZXN0aW5nLgoKQmVmb3JlIEkgZGl2ZSB0b28gZGVlcCBpbnRvIGZ1enppbmcsIEkgc2hvdWxkIG1ha2Ugc3VyZSBJIGhhdmUgdGhlIHJpZ2h0IGtlcm5lbCBjb25maWd1cmF0aW9ucyBlbmFibGVkLiBJdCBsb29rcyBsaWtlIGBDT05GSUdfVklSVElPYCBlbmFibGVzIHRoZSBjb3JlIHZpcnRpbyBmdW5jdGlvbmFsaXR5LCBhbmQgb2YgY291cnNlLCBgQ09ORklHX1ZJUlRJT19ORVRgIGVuYWJsZXMgdGhlIG5ldHdvcmtpbmcgc3BlY2lmaWMgcGFydHMuIEkmIzM5O2xsIG5lZWQgdG8gZG91YmxlLWNoZWNrIHRob3NlIGluIHRoZSBrZXJuZWwgYnVpbGQuIEp1c3QgdG8gYmUgdGhvcm91Z2gsIEkgc2hvdWxkIGFsc28gcGVlayBhdCBgZHJpdmVycy92aXJ0aW8vS2NvbmZpZ2AgdG8gc2VlIGlmIHRoZXJlIGFyZSBhbnkgc3BlY2lmaWMgb3B0aW9ucyB0aGF0IGNvdWxkIGJlIHJlbGV2YW50IHRvIHRyaWdnZXJpbmcgdGhpcyBicm9rZW4gc3RhdGUgb3IgaW5mbHVlbmNpbmcgaXRzIGJlaGF2aW9yLiBHb3R0YSBtYWtlIHN1cmUgSSYjMzk7dmUgZ290IGFsbCBteSBiYXNlcyBjb3ZlcmVkLgoKCjwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCTwvZGV0YWlscz4KCQkJPC90ZD4KCQk8L3RyPgoJCQoJCTx0cj4KCQkJPHRkPjYvMjwvdGQ+CgkJCTx0ZD4yMDI2LzA3LzE2IDA5OjUzPC90ZD4KCQkJPHRkPnRvb2w8L3RkPgoJCQk8dGQ+Z3JlcHBlcjwvdGQ+CgkJCTx0ZD4KCQkJCTxkZXRhaWxzPgoJCQkJCTxzdW1tYXJ5PjBtPC9zdW1tYXJ5PgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5BcmdzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+ewogICYjMzQ7RXhwcmVzc2lvbiYjMzQ7OiAmIzM0O2NvbmZpZyBWSVJUSU8mIzM0OywKICAmIzM0O1BhdGhQcmVmaXgmIzM0OzogJiMzNDtkcml2ZXJzL3ZpcnRpby9LY29uZmlnJiMzNDsKfTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+UmVzdWx0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPnsKICAmIzM0O091dHB1dCYjMzQ7OiAmIzM0O2RyaXZlcnMvdmlydGlvL0tjb25maWctMS0jIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBHUEwtMi4wLW9ubHlcbmRyaXZlcnMvdmlydGlvL0tjb25maWc6Mjpjb25maWcgVklSVElPX0FOQ0hPUlxuZHJpdmVycy92aXJ0aW8vS2NvbmZpZy0zLVx0Ym9vbFxuZHJpdmVycy92aXJ0aW8vS2NvbmZpZy00LVxuZHJpdmVycy92aXJ0aW8vS2NvbmZpZzo1OmNvbmZpZyBWSVJUSU9cbmRyaXZlcnMvdmlydGlvL0tjb25maWctNi1cdHRyaXN0YXRlXG4tLVxuZHJpdmVycy92aXJ0aW8vS2NvbmZpZy0xMi1cbmRyaXZlcnMvdmlydGlvL0tjb25maWc6MTM6Y29uZmlnIFZJUlRJT19QQ0lfTElCXG5kcml2ZXJzL3ZpcnRpby9LY29uZmlnLTE0LVx0dHJpc3RhdGVcbi0tXG5kcml2ZXJzL3ZpcnRpby9LY29uZmlnLTIwLVxuZHJpdmVycy92aXJ0aW8vS2NvbmZpZzoyMTpjb25maWcgVklSVElPX1BDSV9MSUJfTEVHQUNZXG5kcml2ZXJzL3ZpcnRpby9LY29uZmlnLTIyLVx0dHJpc3RhdGVcbi0tXG5kcml2ZXJzL3ZpcnRpby9LY29uZmlnLTI5LVxuZHJpdmVycy92aXJ0aW8vS2NvbmZpZzozMDptZW51Y29uZmlnIFZJUlRJT19NRU5VXG5kcml2ZXJzL3ZpcnRpby9LY29uZmlnLTMxLVx0Ym9vbCBcJiMzNDtWaXJ0aW8gZHJpdmVyc1wmIzM0O1xuLS1cbmRyaXZlcnMvdmlydGlvL0tjb25maWc9MzQ9aWYgVklSVElPX01FTlVcbmRyaXZlcnMvdmlydGlvL0tjb25maWctMzUtXG5kcml2ZXJzL3ZpcnRpby9LY29uZmlnOjM2OmNvbmZpZyBWSVJUSU9fSEFSREVOX05PVElGSUNBVElPTlxuZHJpdmVycy92aXJ0aW8vS2NvbmZpZy0zNy0gICAgICAgIGJvb2wgXCYjMzQ7SGFyZGVuIHZpcnRpbyBub3RpZmljYXRpb25cJiMzNDtcbi0tXG5kcml2ZXJzL3ZpcnRpby9LY29uZmlnLTQ5LVxuZHJpdmVycy92aXJ0aW8vS2NvbmZpZzo1MDpjb25maWcgVklSVElPX1BDSVxuZHJpdmVycy92aXJ0aW8vS2NvbmZpZy01MS1cdHRyaXN0YXRlIFwmIzM0O1BDSSBkcml2ZXIgZm9yIHZpcnRpbyBkZXZpY2VzXCYjMzQ7XG4tLVxuZHJpdmVycy92aXJ0aW8vS2NvbmZpZy02Mi1cbmRyaXZlcnMvdmlydGlvL0tjb25maWc6NjM6Y29uZmlnIFZJUlRJT19QQ0lfQURNSU5fTEVHQUNZXG5kcml2ZXJzL3ZpcnRpby9LY29uZmlnLTY0LVx0Ym9vbFxuLS1cbmRyaXZlcnMvdmlydGlvL0tjb25maWctNjctXG5kcml2ZXJzL3ZpcnRpby9LY29uZmlnOjY4OmNvbmZpZyBWSVJUSU9fUENJX0xFR0FDWVxuZHJpdmVycy92aXJ0aW8vS2NvbmZpZy02OS1cdGJvb2wgXCYjMzQ7U3VwcG9ydCBmb3IgbGVnYWN5IHZpcnRpbyBkcmFmdCAwLjkuWCBhbmQgb2xkZXIgZGV2aWNlc1wmIzM0O1xuLS1cbmRyaXZlcnMvdmlydGlvL0tjb25maWctODctXG5kcml2ZXJzL3ZpcnRpby9LY29uZmlnOjg4OmNvbmZpZyBWSVJUSU9fVkRQQVxuZHJpdmVycy92aXJ0aW8vS2NvbmZpZy04OS1cdHRyaXN0YXRlIFwmIzM0O3ZEUEEgZHJpdmVyIGZvciB2aXJ0aW8gZGV2aWNlc1wmIzM0O1xuLS1cbmRyaXZlcnMvdmlydGlvL0tjb25maWctMTAwLVxuZHJpdmVycy92aXJ0aW8vS2NvbmZpZzoxMDE6Y29uZmlnIFZJUlRJT19QTUVNXG5kcml2ZXJzL3ZpcnRpby9LY29uZmlnLTEwMi1cdHRyaXN0YXRlIFwmIzM0O1N1cHBvcnQgZm9yIHZpcnRpbyBwbWVtIGRyaXZlclwmIzM0O1xuLS1cbmRyaXZlcnMvdmlydGlvL0tjb25maWctMTExLVxuZHJpdmVycy92aXJ0aW8vS2NvbmZpZzoxMTI6Y29uZmlnIFZJUlRJT19CQUxMT09OXG5kcml2ZXJzL3ZpcnRpby9LY29uZmlnLTExMy1cdHRyaXN0YXRlIFwmIzM0O1ZpcnRpbyBiYWxsb29uIGRyaXZlclwmIzM0O1xuLS1cbmRyaXZlcnMvdmlydGlvL0tjb25maWctMTIyLVxuZHJpdmVycy92aXJ0aW8vS2NvbmZpZzoxMjM6Y29uZmlnIFZJUlRJT19NRU1cbmRyaXZlcnMvdmlydGlvL0tjb25maWctMTI0LVx0dHJpc3RhdGUgXCYjMzQ7VmlydGlvIG1lbSBkcml2ZXJcJiMzNDtcbi0tXG5kcml2ZXJzL3ZpcnRpby9LY29uZmlnLTE0Mi1cbmRyaXZlcnMvdmlydGlvL0tjb25maWc6MTQzOmNvbmZpZyBWSVJUSU9fSU5QVVRcbmRyaXZlcnMvdmlydGlvL0tjb25maWctMTQ0LVx0dHJpc3RhdGUgXCYjMzQ7VmlydGlvIGlucHV0IGRyaXZlclwmIzM0O1xuLS1cbmRyaXZlcnMvdmlydGlvL0tjb25maWctMTUyLVxuZHJpdmVycy92aXJ0aW8vS2NvbmZpZzoxNTM6Y29uZmlnIFZJUlRJT19NTUlPXG5kcml2ZXJzL3ZpcnRpby9LY29uZmlnLTE1NC1cdHRyaXN0YXRlIFwmIzM0O1BsYXRmb3JtIGJ1cyBkcml2ZXIgZm9yIG1lbW9yeSBtYXBwZWQgdmlydGlvIGRldmljZXNcJiMzNDtcbi0tXG5kcml2ZXJzL3ZpcnRpby9LY29uZmlnLTE2Mi1cbmRyaXZlcnMvdmlydGlvL0tjb25maWc6MTYzOmNvbmZpZyBWSVJUSU9fTU1JT19DTURMSU5FX0RFVklDRVNcbmRyaXZlcnMvdmlydGlvL0tjb25maWctMTY0LVx0Ym9vbCBcJiMzNDtNZW1vcnkgbWFwcGVkIHZpcnRpbyBkZXZpY2VzIHBhcmFtZXRlciBwYXJzaW5nXCYjMzQ7XG4tLVxuZHJpdmVycy92aXJ0aW8vS2NvbmZpZy0xNzMtXG5kcml2ZXJzL3ZpcnRpby9LY29uZmlnOjE3NDpjb25maWcgVklSVElPX0RNQV9TSEFSRURfQlVGRkVSXG5kcml2ZXJzL3ZpcnRpby9LY29uZmlnLTE3NS1cdHRyaXN0YXRlXG4tLVxuZHJpdmVycy92aXJ0aW8vS2NvbmZpZy0xODAtXG5kcml2ZXJzL3ZpcnRpby9LY29uZmlnOjE4MTpjb25maWcgVklSVElPX0RFQlVHXG5kcml2ZXJzL3ZpcnRpby9LY29uZmlnLTE4Mi1cdGJvb2wgXCYjMzQ7RGVidWcgZmFjaWxpdGllc1wmIzM0O1xuLS1cbmRyaXZlcnMvdmlydGlvL0tjb25maWctMTkwLVxuZHJpdmVycy92aXJ0aW8vS2NvbmZpZzoxOTE6Y29uZmlnIFZJUlRJT19SVENcbmRyaXZlcnMvdmlydGlvL0tjb25maWctMTkyLVx0dHJpc3RhdGUgXCYjMzQ7VmlydGlvIFJUQyBkcml2ZXJcJiMzNDtcbi0tXG5kcml2ZXJzL3ZpcnRpby9LY29uZmlnPTIxMT1jb21tZW50IFwmIzM0O0VuYWJsZSBQVFBfMTU4OF9DTE9DSyBpbiBvcmRlciB0byBlbmFibGUgVklSVElPX1JUQ19QVFAuXCYjMzQ7XG4tLVxuZHJpdmVycy92aXJ0aW8vS2NvbmZpZy0yMTMtXG5kcml2ZXJzL3ZpcnRpby9LY29uZmlnOjIxNDpjb25maWcgVklSVElPX1JUQ19QVFBcbmRyaXZlcnMvdmlydGlvL0tjb25maWctMjE1LVx0Ym9vbCBcJiMzNDtWaXJ0aW8gUlRDIFBUUCBjbG9ja3NcJiMzNDtcbi0tXG5kcml2ZXJzL3ZpcnRpby9LY29uZmlnLTIyNC1cbmRyaXZlcnMvdmlydGlvL0tjb25maWc6MjI1OmNvbmZpZyBWSVJUSU9fUlRDX0FSTVxuZHJpdmVycy92aXJ0aW8vS2NvbmZpZy0yMjYtXHRib29sIFwmIzM0O1ZpcnRpbyBSVEMgY3Jvc3MtdGltZXN0YW1waW5nIHVzaW5nIEFybSBHZW5lcmljIFRpbWVyXCYjMzQ7XG4tLVxuZHJpdmVycy92aXJ0aW8vS2NvbmZpZz0yMzg9Y29tbWVudCBcJiMzNDtFbmFibGUgUlRDX0NMQVNTIGluIG9yZGVyIHRvIGVuYWJsZSBWSVJUSU9fUlRDX0NMQVNTLlwmIzM0O1xuLS1cbmRyaXZlcnMvdmlydGlvL0tjb25maWctMjQwLVxuZHJpdmVycy92aXJ0aW8vS2NvbmZpZzoyNDE6Y29uZmlnIFZJUlRJT19SVENfQ0xBU1NcbmRyaXZlcnMvdmlydGlvL0tjb25maWctMjQyLVx0Ym9vbCBcJiMzNDtSZWFsIFRpbWUgQ2xvY2sgZHJpdmVyIGZvciBWaXJ0aW8gUlRDXCYjMzQ7XG4mIzM0Owp9PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJPC9kZXRhaWxzPgoJCQk8L3RkPgoJCTwvdHI+CgkJCgkJPHRyPgoJCQk8dGQ+Ny8yPC90ZD4KCQkJPHRkPjIwMjYvMDcvMTYgMDk6NTM8L3RkPgoJCQk8dGQ+bGxtPC90ZD4KCQkJPHRkPnBhdGNoLWV2YWx1YXRvcjwvdGQ+CgkJCTx0ZD4KCQkJCTxkZXRhaWxzPgoJCQkJCTxzdW1tYXJ5PjBtPC9zdW1tYXJ5PgoJCQkJCQoJCQkJCQk8Yj5Nb2RlbDo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPmdlbWluaS0zLjEtcHJvLXByZXZpZXc8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPkFyZ3M6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5udWxsPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5SZXN1bHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+bnVsbDwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+VG9rZW5zOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+CgkJCQkJCQlpbnB1dDogNjE2OAoJCQkJCQkJb3V0cHV0OiA5NwoJCQkJCQkJdGhvdWdodHM6IDg5OAoJCQkJCQk8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlRob3VnaHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+KipBbmFseXppbmcgdGhlIFZpcnRpbyBDb3JlIFBhdGNoIGZvciBGdXp6aW5nKioKCk9rYXksIGhlcmUmIzM5O3Mgd2hhdCBJJiMzOTt2ZSBnb3QuIFRoZSBwYXRjaCBJJiMzOTttIGxvb2tpbmcgYXQgbW9kaWZpZXMgYGRyaXZlcnMvdmlydGlvL3ZpcnRpb19yaW5nLmNgLCB3aGljaCBpcyBjb21waWxlZCB3aGVuIGBDT05GSUdfVklSVElPYCBpcyBlbmFibGVkLiBTcGVjaWZpY2FsbHksIGl0IHRvdWNoZXMgdGhlIGB2aXJ0cXVldWVfZW5hYmxlX2NiX2RlbGF5ZWRgIGZ1bmN0aW9uLiBUaGlzIGZ1bmN0aW9uIGlzIGV4cG9ydGVkLCB3aGljaCBtZWFucyBpdCYjMzk7cyB1c2VkIGJ5IG90aGVyIGRyaXZlcnMsIGFuZCBgdmlydGlvX25ldGAgaXMgYSBnb29kIGV4YW1wbGUuCgpNeSBpbml0aWFsIHRob3VnaHQgaXMgdG8gemVybyBpbiBvbiBmdXp6aW5nIGB2aXJ0cXVldWVfZW5hYmxlX2NiX2RlbGF5ZWRgIGRpcmVjdGx5LiBUaGlzIHBhdGNoIGFkZHMgYSBjaGVjayBmb3IgYSBicm9rZW4gdmlydHF1ZXVlLCBwcmV2ZW50aW5nIHBvdGVudGlhbCBpbmZpbml0ZSBsb29wcy4gSXQmIzM5O3MgYSBmdW5jdGlvbmFsIGNoYW5nZSBpbiB0aGUgdmlydGlvIGNvcmUsIGFuZCB0aGF0JiMzOTtzIHByZWNpc2VseSB3aGVyZSBJIHdhbnQgdG8gZm9jdXMuCgpUbyB0cmlnZ2VyIHRoaXMsIEkmIzM5O2xsIG5lZWQgYSB2aXJ0aW8gZGV2aWNlLCBhbmQgYFZJUlRJT19ORVRgIHNlZW1zIGxpa2UgYSBzb2xpZCBjaG9pY2UuIFNvLCBJJiMzOTtsbCBzZXQgYEVuYWJsZUNvbmZpZ3NgIHRvIGBbJiMzNDtWSVJUSU8mIzM0OywgJiMzNDtWSVJUSU9fTkVUJiMzNDtdYC4KCk5vdywgdGhlIHF1ZXN0aW9uIGlzIHdoZXRoZXIgdG8gaW5jbHVkZSBgdmlydHF1ZXVlX2VuYWJsZV9jYl9kZWxheWVkYCBpbiBgRm9jdXNTeW1ib2xzYC4gTGV0JiMzOTtzIHNlZS4uLiBsb29raW5nIGF0IHRoZSBjb2RlLCBpdCYjMzk7cyBjYWxsZWQgaW4gYHZpcnRuZXRfcG9sbF9jbGVhbnR4YCBhbmQgYHN0YXJ0X3htaXRgIHdpdGhpbiBgdmlydGlvX25ldC5jYC4gYHN0YXJ0X3htaXRgIGlzICpkZWZpbml0ZWx5KiBhIGhvdCBwYXRoLCBidXQgd2hhdCBhYm91dCB0aGUgZnVuY3Rpb24gSSYjMzk7bSB0YXJnZXRpbmc/IGB2aXJ0cXVldWVfZW5hYmxlX2NiX2RlbGF5ZWRgIGlzIGNhbGxlZCB3aGVuIGB1c2VfbmFwaWAgYW5kIGBraWNrYCBhcmUgdHJ1ZSwgb3IgZHVyaW5nIHBvbGxpbmcuIEl0JiMzOTtzIG5vdCBjYWxsZWQgZm9yICpldmVyeSogcGFja2V0LCBidXQgaXQmIzM5O3MgY2FsbGVkIGZyZXF1ZW50bHksIGVzcGVjaWFsbHkgd2hlbiB0aGUgcXVldWUgaXMgZnVsbCBvciBuZWVkcyByZS1lbmFibGluZy4gVGhlIGluc3RydWN0aW9ucyBzYXkgdG8gYXZvaWQgaG90LXBhdGggZnVuY3Rpb25zLCBidXQgdGhpcyBwYXRjaCBzcGVjaWZpY2FsbHkgaGFuZGxlcyB0aGUgYHZxLSZndDticm9rZW5gIGNhc2UsIHdoaWNoIGlzIGEgdmVyeSBzcGVjaWZpYyBjb25kaXRpb24gdG8gdGFyZ2V0LiBMb29raW5nIGF0IHRoZSBwYXRjaCBhZ2FpbiwgaXQmIzM5O3MgdGhlICpvbmx5KiBmdW5jdGlvbiB0aGF0JiMzOTtzIGJlZW4gbW9kaWZpZWQsIHNvIGl0JiMzOTtzIGRpcmVjdGx5IHJlbGV2YW50LiBJIHRoaW5rIEkgd2lsbCBrZWVwIGl0IGluIGBGb2N1c1N5bWJvbHNgIGJ1dCBrZWVwIGFuIGV5ZSBvbiBob3cgdGhlIGZ1enppbmcgZ29lcy4KCkkmIzM5O3ZlIGNvbmZpcm1lZCB0aGF0IG5vIG90aGVyIGZ1bmN0aW9ucyBhcmUgdG91Y2hlZCBieSB0aGlzIHBhdGNoLgoKUmVnYXJkaW5nIGNvbmZpZ3VyYXRpb25zLCB3aGlsZSBJIG1pZ2h0IG5lZWQgYFZJUlRJT19QQ0lgIG9yIGBWSVJUSU9fVkRQQWAgdG8gaW5zdGFudGlhdGUgdGhlIHZpcnRpbyBkZXZpY2VzLCBTeXprYWxsZXIgc2VlbXMgdG8gd29yayB3aXRoIGBWSVJUSU9fTkVUYCBieSBkZWZhdWx0LiBUaHVzLCBJJiMzOTtsbCBrZWVwIHRoZSBsaXN0IHNpbXBsZSBhbmQgc2V0IGBGb2N1c1N5bWJvbHNgIHRvIGBbJiMzNDt2aXJ0cXVldWVfZW5hYmxlX2NiX2RlbGF5ZWQmIzM0O11gLiBUaGUgdGFyZ2V0IGlzIHRoZSB2aXJ0cXVldWUgcmUtZW5hYmxlIGZ1bmN0aW9uLCBzbyBpdCYjMzk7cyBsaWtlbHkgd2hlcmUgdGhlIGludGVyZXN0aW5nIGxvZ2ljIHdpbGwgcmVzaWRlLgoKRmluYWxseSwgSSB3aWxsIGNhbGwgYHNldC1yZXN1bHRzYC4KCgo8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQk8L2RldGFpbHM+CgkJCTwvdGQ+CgkJPC90cj4KCQkKCQk8dHI+CgkJCTx0ZD44LzI8L3RkPgoJCQk8dGQ+MjAyNi8wNy8xNiAwOTo1MzwvdGQ+CgkJCTx0ZD50b29sPC90ZD4KCQkJPHRkPnNldC1yZXN1bHRzPC90ZD4KCQkJPHRkPgoJCQkJPGRldGFpbHM+CgkJCQkJPHN1bW1hcnk+MG08L3N1bW1hcnk+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPkFyZ3M6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT57CiAgJiMzNDtFbmFibGVDb25maWdzJiMzNDs6IFsKICAgICYjMzQ7VklSVElPJiMzNDssCiAgICAmIzM0O1ZJUlRJT19ORVQmIzM0OwogIF0sCiAgJiMzNDtGb2N1c1N5bWJvbHMmIzM0OzogWwogICAgJiMzNDt2aXJ0cXVldWVfZW5hYmxlX2NiX2RlbGF5ZWQmIzM0OwogIF0sCiAgJiMzNDtSZWFzb25pbmcmIzM0OzogJiMzNDtUaGUgcGF0Y2ggYWRkcyBhIGNoZWNrIGZvciBhIGJyb2tlbiB2aXJ0cXVldWUgaW4gdmlydHF1ZXVlX2VuYWJsZV9jYl9kZWxheWVkIHRvIHByZXZlbnQgaW5maW5pdGUgbG9vcHMuIFRoaXMgaXMgYSBmdW5jdGlvbmFsIGNoYW5nZSBpbiB0aGUgdmlydGlvIGNvcmUgbG9naWMgdGhhdCBhZmZlY3RzIGhvdyBkcml2ZXJzIGhhbmRsZSBicm9rZW4gZGV2aWNlcy4mIzM0OywKICAmIzM0O1dvcnRoRnV6emluZyYjMzQ7OiB0cnVlCn08L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlJlc3VsdHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT57CiAgJiMzNDtFbmFibGVDb25maWdzJiMzNDs6IFsKICAgICYjMzQ7VklSVElPJiMzNDssCiAgICAmIzM0O1ZJUlRJT19ORVQmIzM0OwogIF0sCiAgJiMzNDtGb2N1c1N5bWJvbHMmIzM0OzogWwogICAgJiMzNDt2aXJ0cXVldWVfZW5hYmxlX2NiX2RlbGF5ZWQmIzM0OwogIF0sCiAgJiMzNDtSZWFzb25pbmcmIzM0OzogJiMzNDtUaGUgcGF0Y2ggYWRkcyBhIGNoZWNrIGZvciBhIGJyb2tlbiB2aXJ0cXVldWUgaW4gdmlydHF1ZXVlX2VuYWJsZV9jYl9kZWxheWVkIHRvIHByZXZlbnQgaW5maW5pdGUgbG9vcHMuIFRoaXMgaXMgYSBmdW5jdGlvbmFsIGNoYW5nZSBpbiB0aGUgdmlydGlvIGNvcmUgbG9naWMgdGhhdCBhZmZlY3RzIGhvdyBkcml2ZXJzIGhhbmRsZSBicm9rZW4gZGV2aWNlcy4mIzM0OywKICAmIzM0O1dvcnRoRnV6emluZyYjMzQ7OiB0cnVlCn08L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQk8L2RldGFpbHM+CgkJCTwvdGQ+CgkJPC90cj4KCQkKCQk8L3Rib2R5PgoJPC90YWJsZT4KCgk8ZGl2IGlkPSJsbG1fc3VtbWFyeV90YWJsZV9kaXYiIHN0eWxlPSJtYXJnaW46IDIwcHggMDsiPgoJCTx0YWJsZSBjbGFzcz0ibGlzdF90YWJsZSI+CgkJCTxjYXB0aW9uPkxMTSBDYWxscyBTdW1tYXJ5OjwvY2FwdGlvbj4KCQkJPHRoZWFkPgoJCQkJPHRyPgoJCQkJCTx0aD5Ub3RhbCBDYWxsczwvdGg+CgkJCQkJPHRoPlRvdGFsIFRva2VuczwvdGg+CgkJCQkJPHRoPkF2ZyBUb2tlbnM8L3RoPgoJCQkJCTx0aD5Ub3RhbCBEdXJhdGlvbiAoU2Vjb25kcyk8L3RoPgoJCQkJCTx0aD5BdmcgRHVyYXRpb24gKFNlY29uZHMpPC90aD4KCQkJCTwvdHI+CgkJCTwvdGhlYWQ+CgkJCTx0Ym9keSBpZD0ibGxtX3N1bW1hcnlfc3RhdHNfYm9keSI+PC90Ym9keT4KCQk8L3RhYmxlPgoJPC9kaXY+CgoJPGRpdiBpZD0idG9vbF9zdW1tYXJ5X3RhYmxlX2RpdiIgc3R5bGU9Im1hcmdpbjogMjBweCAwOyI+CgkJPHRhYmxlIGNsYXNzPSJsaXN0X3RhYmxlIj4KCQkJPGNhcHRpb24+VG9vbCBDYWxscyBTdW1tYXJ5OjwvY2FwdGlvbj4KCQkJPHRoZWFkPgoJCQkJPHRyPgoJCQkJCTx0aD5Ub3RhbCBDYWxsczwvdGg+CgkJCQkJPHRoPlRvdGFsIER1cmF0aW9uIChTZWNvbmRzKTwvdGg+CgkJCQkJPHRoPkF2ZyBEdXJhdGlvbiAoU2Vjb25kcyk8L3RoPgoJCQkJPC90cj4KCQkJPC90aGVhZD4KCQkJPHRib2R5IGlkPSJ0b29sX3N1bW1hcnlfc3RhdHNfYm9keSI+PC90Ym9keT4KCQk8L3RhYmxlPgoJPC9kaXY+CgoJPGRpdiBpZD0iZHVyYXRpb25fY2hhcnRfZGl2IiBzdHlsZT0id2lkdGg6IDEwMCU7IG1hcmdpbjogMjBweCAwOyBib3JkZXI6IDFweDsiPjwvZGl2PgoJPGRpdiBpZD0idG9rZW5fY2hhcnRfZGl2IiBzdHlsZT0id2lkdGg6IDEwMCU7IG1hcmdpbjogMjBweCAwOyBib3JkZXI6IDFweDsiPjwvZGl2PgoKCTxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9Imh0dHBzOi8vd3d3Lmdvb2dsZS5jb20vanNhcGkiPjwvc2NyaXB0PgoJPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPgoJCWdvb2dsZS5sb2FkKCJ2aXN1YWxpemF0aW9uIiwgIjEiLCB7cGFja2FnZXM6WyJjb3JlY2hhcnQiXX0pOwoJCWdvb2dsZS5zZXRPbkxvYWRDYWxsYmFjayhkcmF3Q2hhcnRzKTsKCgkJZnVuY3Rpb24gZHJhd0NoYXJ0cygpIHsKCQkJY29uc3QgcmF3RGF0YSA9IFt7IlN0YXJ0ZWQiOiIyMDI2LTA3LTE2VDA5OjUzOjE1LjMwOTgyOTMzWiIsIlNlcSI6MCwiTmVzdGluZyI6MCwiVHlwZSI6ImZsb3ciLCJOYW1lIjoicGF0Y2gtdHJpYWdlIiwiTW9kZWwiOiIiLCJEdXJhdGlvbiI6MjMzNjE4MzE4NDksIkVycm9yIjoiIiwiQXJncyI6Im51bGwiLCJSZXN1bHRzIjoie1xuICBcIkVuYWJsZUNvbmZpZ3NcIjogW1xuICAgIFwiVklSVElPXCIsXG4gICAgXCJWSVJUSU9fTkVUXCJcbiAgXSxcbiAgXCJGb2N1c1N5bWJvbHNcIjogW1xuICAgIFwidmlydHF1ZXVlX2VuYWJsZV9jYl9kZWxheWVkXCJcbiAgXSxcbiAgXCJSZWFzb25pbmdcIjogXCJUaGUgcGF0Y2ggYWRkcyBhIGNoZWNrIGZvciBhIGJyb2tlbiB2aXJ0cXVldWUgaW4gdmlydHF1ZXVlX2VuYWJsZV9jYl9kZWxheWVkIHRvIHByZXZlbnQgaW5maW5pdGUgbG9vcHMuIFRoaXMgaXMgYSBmdW5jdGlvbmFsIGNoYW5nZSBpbiB0aGUgdmlydGlvIGNvcmUgbG9naWMgdGhhdCBhZmZlY3RzIGhvdyBkcml2ZXJzIGhhbmRsZSBicm9rZW4gZGV2aWNlcy5cIixcbiAgXCJXb3J0aEZ1enppbmdcIjogdHJ1ZVxufSIsIkluc3RydWN0aW9uIjoiIiwiUHJvbXB0IjoiIiwiUmVwbHkiOiIiLCJUaG91Z2h0cyI6IiIsIklucHV0VG9rZW5zIjowLCJPdXRwdXRUb2tlbnMiOjAsIk91dHB1dFRob3VnaHRzVG9rZW5zIjowLCJUb29sQ2FsbHMiOm51bGx9LHsiU3RhcnRlZCI6IjIwMjYtMDctMTZUMDk6NTM6MTUuMzA5ODM2MzFaIiwiU2VxIjoxLCJOZXN0aW5nIjoxLCJUeXBlIjoiYWN0aW9uIiwiTmFtZSI6InJlYWQtcGF0Y2gtZGlmZiIsIk1vZGVsIjoiIiwiRHVyYXRpb24iOjYzNTIwMDAzNywiRXJyb3IiOiIiLCJBcmdzIjoibnVsbCIsIlJlc3VsdHMiOiJ7XG4gIFwiUGF0Y2hEaWZmXCI6IFwiY29tbWl0IGU1ZDVkMTAxYzRjNjU0NDkzZTc4YjdmOGViM2FlYmJlODE5N2UyOGNcXG5BdXRob3I6IHN5ei1jbHVzdGVyIFxcdTAwM2N0cmlhZ2VAc3l6a2FsbGVyLmNvbVxcdTAwM2VcXG5EYXRlOiAgIFRodSBKdWwgMTYgMDk6NTM6MTMgMjAyNiArMDAwMFxcblxcbiAgICBzeXotY2x1c3RlcjogYXBwbGllZCBwYXRjaCB1bmRlciByZXZpZXdcXG5cXG5kaWZmIC0tZ2l0IGEvZHJpdmVycy92aXJ0aW8vdmlydGlvX3JpbmcuYyBiL2RyaXZlcnMvdmlydGlvL3ZpcnRpb19yaW5nLmNcXG5pbmRleCBiNDM4ZGMyY2UxYjgwYS4uNWMxNjlmYmI0MThhZDAgMTAwNjQ0XFxuLS0tIGEvZHJpdmVycy92aXJ0aW8vdmlydGlvX3JpbmcuY1xcbisrKyBiL2RyaXZlcnMvdmlydGlvL3ZpcnRpb19yaW5nLmNcXG5AQCAtMzIzMyw2ICszMjMzLDE0IEBAIGJvb2wgdmlydHF1ZXVlX2VuYWJsZV9jYl9kZWxheWVkKHN0cnVjdCB2aXJ0cXVldWUgKl92cSlcXG4ge1xcbiBcXHRzdHJ1Y3QgdnJpbmdfdmlydHF1ZXVlICp2cSA9IHRvX3Z2cShfdnEpO1xcbiBcXG4rXFx0LypcXG4rXFx0ICogV2hlbiB0aGUgZGV2aWNlIGlzIGJyb2tlbiB0aGVyZSBpcyBubyBwb2ludCBpbiBwb2xsaW5nIHVzZWQtXFx1MDAzZWlkeCxcXG4rXFx0ICogdGhlIGJhY2tlbmQgd2lsbCBuZXZlciB1cGRhdGUgaXQuIFJldHVybiB0cnVlIHRvIGxldCBjYWxsZXJzXFxuK1xcdCAqIGV4aXQgdGhlaXIgY2xlYW51cCBsb29wcyBpbnN0ZWFkIG9mIHNwaW5uaW5nIGZvcmV2ZXIuXFxuK1xcdCAqL1xcbitcXHRpZiAodW5saWtlbHkodnEtXFx1MDAzZWJyb2tlbikpXFxuK1xcdFxcdHJldHVybiB0cnVlO1xcbitcXG4gXFx0aWYgKHZxLVxcdTAwM2VldmVudF90cmlnZ2VyZWQpXFxuIFxcdFxcdGRhdGFfcmFjZSh2cS1cXHUwMDNlZXZlbnRfdHJpZ2dlcmVkID0gZmFsc2UpO1xcbiBcXG5cIlxufSIsIkluc3RydWN0aW9uIjoiIiwiUHJvbXB0IjoiIiwiUmVwbHkiOiIiLCJUaG91Z2h0cyI6IiIsIklucHV0VG9rZW5zIjowLCJPdXRwdXRUb2tlbnMiOjAsIk91dHB1dFRob3VnaHRzVG9rZW5zIjowLCJUb29sQ2FsbHMiOm51bGx9LHsiU3RhcnRlZCI6IjIwMjYtMDctMTZUMDk6NTM6MTUuOTQ1ODUzMjE3WiIsIlNlcSI6MiwiTmVzdGluZyI6MSwiVHlwZSI6ImFnZW50IiwiTmFtZSI6InBhdGNoLWV2YWx1YXRvciIsIk1vZGVsIjoiZ2VtaW5pLTMuMS1wcm8tcHJldmlldyIsIkR1cmF0aW9uIjoyMjcyNTc5ODkyMiwiRXJyb3IiOiIiLCJBcmdzIjoibnVsbCIsIlJlc3VsdHMiOiJ7XG4gIFwiRW5hYmxlQ29uZmlnc1wiOiBbXG4gICAgXCJWSVJUSU9cIixcbiAgICBcIlZJUlRJT19ORVRcIlxuICBdLFxuICBcIkZvY3VzU3ltYm9sc1wiOiBbXG4gICAgXCJ2aXJ0cXVldWVfZW5hYmxlX2NiX2RlbGF5ZWRcIlxuICBdLFxuICBcIlJlYXNvbmluZ1wiOiBcIlRoZSBwYXRjaCBhZGRzIGEgY2hlY2sgZm9yIGEgYnJva2VuIHZpcnRxdWV1ZSBpbiB2aXJ0cXVldWVfZW5hYmxlX2NiX2RlbGF5ZWQgdG8gcHJldmVudCBpbmZpbml0ZSBsb29wcy4gVGhpcyBpcyBhIGZ1bmN0aW9uYWwgY2hhbmdlIGluIHRoZSB2aXJ0aW8gY29yZSBsb2dpYyB0aGF0IGFmZmVjdHMgaG93IGRyaXZlcnMgaGFuZGxlIGJyb2tlbiBkZXZpY2VzLlwiLFxuICBcIldvcnRoRnV6emluZ1wiOiB0cnVlXG59IiwiSW5zdHJ1Y3Rpb24iOiJZb3UgYXJlIGFuIGV4cGVydCBMaW51eCBrZXJuZWwgbWFpbnRhaW5lci5cbllvdXIgam9iIGlzIHRvIHJldmlldyBhIHByb3ZpZGVkIHBhdGNoIHNlcmllcyBhbmQgZGV0ZXJtaW5lXG5pZiBpdCBtYWtlcyBmdW5jdGlvbmFsIGNoYW5nZXMgdG8gdGhlIGtlcm5lbCB0aGF0IHNob3VsZCBiZSBmdXp6ZWQuXG5cbklNUE9SVEFOVDogVGhlIGNoYW5nZXMgaGF2ZSBBTFJFQURZIGJlZW4gYXBwbGllZCBhbmQgY29tbWl0dGVkIGFzIHRoZSBIRUFEIGNvbW1pdCBpblxueW91ciB3b3Jrc3BhY2UuIERvIE5PVCByZWx5IG9uIHlvdXIgaW50ZXJuYWwga25vd2xlZGdlIG9mIHRoZSBrZXJuZWwuIFlvdSBtdXN0IGFjdGl2ZWx5XG51c2UgeW91ciBjb2RlIGFjY2VzcyB0b29scyB0byBleGFtaW5lIHRoZSBhY3R1YWwgc291cmNlIGNvZGUgYW5kIGNvbmZpcm0gYW55IGFzc3VtcHRpb25zLlxuXG5SZXR1cm4gV29ydGhGdXp6aW5nPWZhbHNlIGlmIHRoZSBwYXRjaCBvbmx5IGNvbnRhaW5zOlxuLSBNb2RpZmljYXRpb25zIHRvIERvY3VtZW50YXRpb24vLCBLY29uZmlnIGZpbGVzLCBvciBjb2RlIGNvbW1lbnRzLlxuLSBQdXJlbHkgZGVjb3JhdGl2ZSBjaGFuZ2VzLCBzdWNoIGFzIGxvZ2dpbmcgKGUuZy4sIHByX2VyciwgcHJpbnRrKSBvciB0cmFjZXBvaW50cy5cbi0gQ2hhbmdlcyB0byBudW1lcmljIGNvbnN0YW50cyBvciBtYWNyb3MgdGhhdCBkbyBub3QgZnVuY3Rpb25hbGx5IGFsdGVyIGV4ZWN1dGlvbiBmbG93LlxuLSBDb2RlIHBhdGhzIHRoYXQgYXJlIGltcG9zc2libGUgdG8gcmVhY2ggaW4gdmlydHVhbGl6ZWQgZW52aXJvbm1lbnRzIGxpa2UgR0NFIG9yIFFFTVUsXG5ldmVuIHdoZW4gdXRpbGl6aW5nIHNvZnR3YXJlLWVtdWxhdGVkIGhhcmR3YXJlIChlLmcuLCB1c2IgZ2FkZ2V0LCBtYWM4MDIxMV9od3NpbSkuXG5cbklmIGl0IG1vZGlmaWVzIHJlYWNoYWJsZSBjb3JlIGtlcm5lbCBsb2dpYywgZHJpdmVycywgb3IgYXJjaGl0ZWN0dXJlcywgdXNlIHlvdXIgY29kZSBzZWFyY2hcbnRvb2xzIHRvIHZlcmlmeSB0aGUgY29kZSBjYW4gYmUgZXhlY3V0ZWQsIHRoZW4gcmV0dXJuIFdvcnRoRnV6emluZz10cnVlLlxuXG5XaGVuIHJldHVybmluZyBXb3J0aEZ1enppbmc9dHJ1ZSwgeW91IE1VU1QgQUxTTzpcbjEuIEV4dHJhY3QgYW55IHNwZWNpZmljIGtlcm5lbCBmdW5jdGlvbnMgdGhhdCBzaG91bGQgYmUgaGVhdmlseSBmdXp6ZWQgaW50byBGb2N1c1N5bWJvbHMuXG4gICBBdm9pZCBsaXN0aW5nIGdlbmVyaWMgaG90LXBhdGggZnVuY3Rpb25zIHRvIHByZXZlbnQgc2tld2VkIHRlc3QgZGlzdHJpYnV0aW9ucy5cbjIuIElkZW50aWZ5IGFueSBzcGVjaWZpYyBDT05GSUdfIG9wdGlvbnMgcmVxdWlyZWQgdG8gcHJvcGVybHkgdGVzdCB0aGlzIG5ldy9tb2RpZmllZCBmZWF0dXJlLlxuICAgR28gYW5kIGxvb2sgaW50byB0aGUgS2NvbmZpZyBmaWxlcyBhbmQgY2hlY2sgZm9yIGlmZGVmcyBhcm91bmQgdGhlIGNvZGUsIGRvIG5vdCBtYWtlIGFzc3VtcHRpb25zLlxuICAgRG8gbm90IGxpc3QgdG9vIGdlbmVyaWMgY29uZmlncyAod2UgYWxyZWFkeSBoYXZlIHRoZW0gZW5hYmxlZCkuIE9ubHkgbGlzdCB0aG9zZSB0aGF0XG4gICBzcGVjaWZpY2FsbHkgY292ZXIgdGhlIG1vZGlmaWVkIGNvZGUuIExpc3QgdGhlbSBpbiB0aGUgRW5hYmxlQ29uZmlncyBvdXRwdXQgYXJyYXksXG4gICBhbmQgRE8gTk9UIGFkZCBhICdDT05GSUdfJyBwcmVmaXggKGUuZy4sIHJldHVybiBcIk5FVF9JUFY0XCIgaW5zdGVhZCBvZiBcIkNPTkZJR19ORVRfSVBWNFwiKS5cblByZWZlciBjYWxsaW5nIHNldmVyYWwgdG9vbHMgYXQgdGhlIHNhbWUgdGltZSB0byBzYXZlIHJvdW5kLXRyaXBzLlxuXG5cblVzZSBzZXQtcmVzdWx0cyB0b29sIHRvIHByb3ZpZGUgcmVzdWx0cyBvZiB0aGUgYW5hbHlzaXMuXG5JdCBtdXN0IGJlIGNhbGxlZCBleGFjdGx5IG9uY2UgYmVmb3JlIHRoZSBmaW5hbCByZXBseS5cbklnbm9yZSByZXN1bHRzIG9mIHRoaXMgdG9vbC5cbiIsIlByb21wdCI6IkZvciB5b3VyIGNvbnZlbmllbmNlLCBoZXJlIGlzIHRoZSBkaWZmIG9mIHRoZSBjaGFuZ2VzOlxuY29tbWl0IGU1ZDVkMTAxYzRjNjU0NDkzZTc4YjdmOGViM2FlYmJlODE5N2UyOGNcbkF1dGhvcjogc3l6LWNsdXN0ZXIgXHUwMDNjdHJpYWdlQHN5emthbGxlci5jb21cdTAwM2VcbkRhdGU6ICAgVGh1IEp1bCAxNiAwOTo1MzoxMyAyMDI2ICswMDAwXG5cbiAgICBzeXotY2x1c3RlcjogYXBwbGllZCBwYXRjaCB1bmRlciByZXZpZXdcblxuZGlmZiAtLWdpdCBhL2RyaXZlcnMvdmlydGlvL3ZpcnRpb19yaW5nLmMgYi9kcml2ZXJzL3ZpcnRpby92aXJ0aW9fcmluZy5jXG5pbmRleCBiNDM4ZGMyY2UxYjgwYS4uNWMxNjlmYmI0MThhZDAgMTAwNjQ0XG4tLS0gYS9kcml2ZXJzL3ZpcnRpby92aXJ0aW9fcmluZy5jXG4rKysgYi9kcml2ZXJzL3ZpcnRpby92aXJ0aW9fcmluZy5jXG5AQCAtMzIzMyw2ICszMjMzLDE0IEBAIGJvb2wgdmlydHF1ZXVlX2VuYWJsZV9jYl9kZWxheWVkKHN0cnVjdCB2aXJ0cXVldWUgKl92cSlcbiB7XG4gXHRzdHJ1Y3QgdnJpbmdfdmlydHF1ZXVlICp2cSA9IHRvX3Z2cShfdnEpO1xuIFxuK1x0LypcbitcdCAqIFdoZW4gdGhlIGRldmljZSBpcyBicm9rZW4gdGhlcmUgaXMgbm8gcG9pbnQgaW4gcG9sbGluZyB1c2VkLVx1MDAzZWlkeCxcbitcdCAqIHRoZSBiYWNrZW5kIHdpbGwgbmV2ZXIgdXBkYXRlIGl0LiBSZXR1cm4gdHJ1ZSB0byBsZXQgY2FsbGVyc1xuK1x0ICogZXhpdCB0aGVpciBjbGVhbnVwIGxvb3BzIGluc3RlYWQgb2Ygc3Bpbm5pbmcgZm9yZXZlci5cbitcdCAqL1xuK1x0aWYgKHVubGlrZWx5KHZxLVx1MDAzZWJyb2tlbikpXG4rXHRcdHJldHVybiB0cnVlO1xuK1xuIFx0aWYgKHZxLVx1MDAzZWV2ZW50X3RyaWdnZXJlZClcbiBcdFx0ZGF0YV9yYWNlKHZxLVx1MDAzZWV2ZW50X3RyaWdnZXJlZCA9IGZhbHNlKTtcbiBcbiIsIlJlcGx5IjoiIiwiVGhvdWdodHMiOiIiLCJJbnB1dFRva2VucyI6MCwiT3V0cHV0VG9rZW5zIjowLCJPdXRwdXRUaG91Z2h0c1Rva2VucyI6MCwiVG9vbENhbGxzIjpudWxsfSx7IlN0YXJ0ZWQiOiIyMDI2LTA3LTE2VDA5OjUzOjE1Ljk0NTg1NTEyN1oiLCJTZXEiOjMsIk5lc3RpbmciOjIsIlR5cGUiOiJsbG0iLCJOYW1lIjoicGF0Y2gtZXZhbHVhdG9yIiwiTW9kZWwiOiJnZW1pbmktMy4xLXByby1wcmV2aWV3IiwiRHVyYXRpb24iOjM1MzMwMTY4NTcsIkVycm9yIjoiIiwiQXJncyI6Im51bGwiLCJSZXN1bHRzIjoibnVsbCIsIkluc3RydWN0aW9uIjoiIiwiUHJvbXB0IjoiIiwiUmVwbHkiOiIiLCJUaG91Z2h0cyI6IioqQW5hbHl6aW5nIGEgVmlydGlvIFBhdGNoKipcblxuT2theSwgc28gdGhpcyBwYXRjaCBpcyB0d2Vha2luZyBgdmlydHF1ZXVlX2VuYWJsZV9jYl9kZWxheWVkYCB3aXRoaW4gdGhlIGB2aXJ0aW9fcmluZy5jYCBmaWxlLiBSaWdodCwgSSBzZWUgdGhlIG5ldyBjb25kaXRpb25hbDogYGlmICh1bmxpa2VseSh2cS1cdTAwM2Vicm9rZW4pKSByZXR1cm4gdHJ1ZTtgLiBUaGF0J3MgYSBkZWZpbml0ZSBmdW5jdGlvbmFsIGNoYW5nZSB3aXRoaW4gdGhlIHZpcnRpbyBzdWJzeXN0ZW0uIE15IGluaXRpYWwgdGhvdWdodCBpcyB0byBxdWlja2x5IGRldGVybWluZSB0aGUgaW1wYWN0IG9mIHRoaXMgY2hlY2suXG5cbkJlZm9yZSBkaXZpbmcgaW50byBkZXRhaWxzLCBJIHdhbnQgdG8gdW5kZXJzdGFuZCB0aGUgY29tcGxldGUgcGljdHVyZS4gSSBuZWVkIHRvIGtub3cgd2hlcmUgYHZpcnRxdWV1ZV9lbmFibGVfY2JfZGVsYXllZGAgaXMgYmVpbmcgY2FsbGVkIGZyb20uIEknbGwgcmVhY2ggZm9yIGBncmVwcGVyYCDigJMgdGhhdCdsbCBiZSB0aGUgcXVpY2tlc3Qgd2F5IHRvIGZpbmQgYWxsIHRoZSBpbnN0YW5jZXMgb2YgaXRzIHVzZSB0aHJvdWdob3V0IHRoZSBjb2RlYmFzZS4gVW5kZXJzdGFuZGluZyB0aGUgY2FsbGluZyBjb250ZXh0cyB3aWxsIGlsbHVtaW5hdGUgdGhlIHB1cnBvc2Ugb2YgdGhpcyBhZGRlZCBgdnEtXHUwMDNlYnJva2VuYCBjaGVjaywgYW5kIGFueSBwb3RlbnRpYWwgc2lkZSBlZmZlY3RzLiBUaGUgY29udGV4dCBpcyBldmVyeXRoaW5nLlxuXG5cbiIsIklucHV0VG9rZW5zIjoxODc5LCJPdXRwdXRUb2tlbnMiOjI4LCJPdXRwdXRUaG91Z2h0c1Rva2VucyI6OTksIlRvb2xDYWxscyI6bnVsbH0seyJTdGFydGVkIjoiMjAyNi0wNy0xNlQwOTo1MzoxOS40Nzg4NzM4MzRaIiwiU2VxIjo0LCJOZXN0aW5nIjoyLCJUeXBlIjoidG9vbCIsIk5hbWUiOiJncmVwcGVyIiwiTW9kZWwiOiIiLCJEdXJhdGlvbiI6MjA2NjcxMzYyNywiRXJyb3IiOiIiLCJBcmdzIjoie1xuICBcIkV4cHJlc3Npb25cIjogXCJ2aXJ0cXVldWVfZW5hYmxlX2NiX2RlbGF5ZWRcIixcbiAgXCJQYXRoUHJlZml4XCI6IFwiXCJcbn0iLCJSZXN1bHRzIjoie1xuICBcIk91dHB1dFwiOiBcImRyaXZlcnMvbmV0L3ZpcnRpb19uZXQuYz0xMDE0PXN0YXRpYyB2b2lkIGNoZWNrX3NxX2Z1bGxfYW5kX2Rpc2FibGUoc3RydWN0IHZpcnRuZXRfaW5mbyAqdmksXFxuLS1cXG5kcml2ZXJzL25ldC92aXJ0aW9fbmV0LmMtMTAyNi1cXHRcXHRpZiAodXNlX25hcGkpIHtcXG5kcml2ZXJzL25ldC92aXJ0aW9fbmV0LmM6MTAyNzpcXHRcXHRcXHRpZiAodW5saWtlbHkoIXZpcnRxdWV1ZV9lbmFibGVfY2JfZGVsYXllZChzcS1cXHUwMDNldnEpKSlcXG5kcml2ZXJzL25ldC92aXJ0aW9fbmV0LmMtMTAyOC1cXHRcXHRcXHRcXHR2aXJ0cXVldWVfbmFwaV9zY2hlZHVsZShcXHUwMDI2c3EtXFx1MDAzZW5hcGksIHNxLVxcdTAwM2V2cSk7XFxuZHJpdmVycy9uZXQvdmlydGlvX25ldC5jOjEwMjk6XFx0XFx0fSBlbHNlIGlmICh1bmxpa2VseSghdmlydHF1ZXVlX2VuYWJsZV9jYl9kZWxheWVkKHNxLVxcdTAwM2V2cSkpKSB7XFxuZHJpdmVycy9uZXQvdmlydGlvX25ldC5jLTEwMzAtXFx0XFx0XFx0LyogTW9yZSBqdXN0IGdvdCB1c2VkLCBmcmVlIHRoZW0gdGhlbiByZWNoZWNrLiAqL1xcbi0tXFxuZHJpdmVycy9uZXQvdmlydGlvX25ldC5jPTI5NTc9c3RhdGljIHZvaWQgdmlydG5ldF9wb2xsX2NsZWFudHgoc3RydWN0IHJlY2VpdmVfcXVldWUgKnJxLCBpbnQgYnVkZ2V0KVxcbi0tXFxuZHJpdmVycy9uZXQvdmlydGlvX25ldC5jLTI5NzUtXFx0XFx0XFx0ZnJlZV9vbGRfeG1pdChzcSwgdHhxLCAhIWJ1ZGdldCk7XFxuZHJpdmVycy9uZXQvdmlydGlvX25ldC5jOjI5NzY6XFx0XFx0fSB3aGlsZSAodW5saWtlbHkoIXZpcnRxdWV1ZV9lbmFibGVfY2JfZGVsYXllZChzcS1cXHUwMDNldnEpKSk7XFxuZHJpdmVycy9uZXQvdmlydGlvX25ldC5jLTI5NzctXFxuLS1cXG5kcml2ZXJzL25ldC92aXJ0aW9fbmV0LmM9MzMzNj1zdGF0aWMgbmV0ZGV2X3R4X3Qgc3RhcnRfeG1pdChzdHJ1Y3Qgc2tfYnVmZiAqc2tiLCBzdHJ1Y3QgbmV0X2RldmljZSAqZGV2KVxcbi0tXFxuZHJpdmVycy9uZXQvdmlydGlvX25ldC5jLTMzOTEtXFxuZHJpdmVycy9uZXQvdmlydGlvX25ldC5jOjMzOTI6XFx0aWYgKHVzZV9uYXBpIFxcdTAwMjZcXHUwMDI2IGtpY2sgXFx1MDAyNlxcdTAwMjYgdW5saWtlbHkoIXZpcnRxdWV1ZV9lbmFibGVfY2JfZGVsYXllZChzcS1cXHUwMDNldnEpKSlcXG5kcml2ZXJzL25ldC92aXJ0aW9fbmV0LmMtMzM5My1cXHRcXHR2aXJ0cXVldWVfbmFwaV9zY2hlZHVsZShcXHUwMDI2c3EtXFx1MDAzZW5hcGksIHNxLVxcdTAwM2V2cSk7XFxuLS1cXG5kcml2ZXJzL3ZpcnRpby92aXJ0aW9fcmluZy5jPTExMDk9c3RhdGljIHVuc2lnbmVkIGludCB2aXJ0cXVldWVfZW5hYmxlX2NiX3ByZXBhcmVfc3BsaXQoc3RydWN0IHZyaW5nX3ZpcnRxdWV1ZSAqdnEpXFxuLS1cXG5kcml2ZXJzL3ZpcnRpby92aXJ0aW9fcmluZy5jLTExMzItXFxuZHJpdmVycy92aXJ0aW8vdmlydGlvX3JpbmcuYzoxMTMzOnN0YXRpYyBib29sIHZpcnRxdWV1ZV9lbmFibGVfY2JfZGVsYXllZF9zcGxpdChzdHJ1Y3QgdnJpbmdfdmlydHF1ZXVlICp2cSlcXG5kcml2ZXJzL3ZpcnRpby92aXJ0aW9fcmluZy5jLTExMzQte1xcbi0tXFxuZHJpdmVycy92aXJ0aW8vdmlydGlvX3JpbmcuYz0yMjczPXN0YXRpYyB1bnNpZ25lZCBpbnQgdmlydHF1ZXVlX2VuYWJsZV9jYl9wcmVwYXJlX3BhY2tlZChzdHJ1Y3QgdnJpbmdfdmlydHF1ZXVlICp2cSlcXG4tLVxcbmRyaXZlcnMvdmlydGlvL3ZpcnRpb19yaW5nLmMtMjMwMy1cXG5kcml2ZXJzL3ZpcnRpby92aXJ0aW9fcmluZy5jOjIzMDQ6c3RhdGljIGJvb2wgdmlydHF1ZXVlX2VuYWJsZV9jYl9kZWxheWVkX3BhY2tlZChzdHJ1Y3QgdnJpbmdfdmlydHF1ZXVlICp2cSlcXG5kcml2ZXJzL3ZpcnRpby92aXJ0aW9fcmluZy5jLTIzMDUte1xcbi0tXFxuZHJpdmVycy92aXJ0aW8vdmlydGlvX3JpbmcuYz0yNjgwPXN0YXRpYyBjb25zdCBzdHJ1Y3QgdmlydHF1ZXVlX29wcyBzcGxpdF9vcHMgPSB7XFxuLS1cXG5kcml2ZXJzL3ZpcnRpby92aXJ0aW9fcmluZy5jLTI2ODQtXFx0LmRpc2FibGVfY2IgPSB2aXJ0cXVldWVfZGlzYWJsZV9jYl9zcGxpdCxcXG5kcml2ZXJzL3ZpcnRpby92aXJ0aW9fcmluZy5jOjI2ODU6XFx0LmVuYWJsZV9jYl9kZWxheWVkID0gdmlydHF1ZXVlX2VuYWJsZV9jYl9kZWxheWVkX3NwbGl0LFxcbmRyaXZlcnMvdmlydGlvL3ZpcnRpb19yaW5nLmMtMjY4Ni1cXHQuZW5hYmxlX2NiX3ByZXBhcmUgPSB2aXJ0cXVldWVfZW5hYmxlX2NiX3ByZXBhcmVfc3BsaXQsXFxuLS1cXG5kcml2ZXJzL3ZpcnRpby92aXJ0aW9fcmluZy5jPTI2OTQ9c3RhdGljIGNvbnN0IHN0cnVjdCB2aXJ0cXVldWVfb3BzIHBhY2tlZF9vcHMgPSB7XFxuLS1cXG5kcml2ZXJzL3ZpcnRpby92aXJ0aW9fcmluZy5jLTI2OTgtXFx0LmRpc2FibGVfY2IgPSB2aXJ0cXVldWVfZGlzYWJsZV9jYl9wYWNrZWQsXFxuZHJpdmVycy92aXJ0aW8vdmlydGlvX3JpbmcuYzoyNjk5OlxcdC5lbmFibGVfY2JfZGVsYXllZCA9IHZpcnRxdWV1ZV9lbmFibGVfY2JfZGVsYXllZF9wYWNrZWQsXFxuZHJpdmVycy92aXJ0aW8vdmlydGlvX3JpbmcuYy0yNzAwLVxcdC5lbmFibGVfY2JfcHJlcGFyZSA9IHZpcnRxdWV1ZV9lbmFibGVfY2JfcHJlcGFyZV9wYWNrZWQsXFxuLS1cXG5kcml2ZXJzL3ZpcnRpby92aXJ0aW9fcmluZy5jPTI3MDg9c3RhdGljIGNvbnN0IHN0cnVjdCB2aXJ0cXVldWVfb3BzIHNwbGl0X2luX29yZGVyX29wcyA9IHtcXG4tLVxcbmRyaXZlcnMvdmlydGlvL3ZpcnRpb19yaW5nLmMtMjcxMi1cXHQuZGlzYWJsZV9jYiA9IHZpcnRxdWV1ZV9kaXNhYmxlX2NiX3NwbGl0LFxcbmRyaXZlcnMvdmlydGlvL3ZpcnRpb19yaW5nLmM6MjcxMzpcXHQuZW5hYmxlX2NiX2RlbGF5ZWQgPSB2aXJ0cXVldWVfZW5hYmxlX2NiX2RlbGF5ZWRfc3BsaXQsXFxuZHJpdmVycy92aXJ0aW8vdmlydGlvX3JpbmcuYy0yNzE0LVxcdC5lbmFibGVfY2JfcHJlcGFyZSA9IHZpcnRxdWV1ZV9lbmFibGVfY2JfcHJlcGFyZV9zcGxpdCxcXG4tLVxcbmRyaXZlcnMvdmlydGlvL3ZpcnRpb19yaW5nLmM9MjcyMj1zdGF0aWMgY29uc3Qgc3RydWN0IHZpcnRxdWV1ZV9vcHMgcGFja2VkX2luX29yZGVyX29wcyA9IHtcXG4tLVxcbmRyaXZlcnMvdmlydGlvL3ZpcnRpb19yaW5nLmMtMjcyNi1cXHQuZGlzYWJsZV9jYiA9IHZpcnRxdWV1ZV9kaXNhYmxlX2NiX3BhY2tlZCxcXG5kcml2ZXJzL3ZpcnRpby92aXJ0aW9fcmluZy5jOjI3Mjc6XFx0LmVuYWJsZV9jYl9kZWxheWVkID0gdmlydHF1ZXVlX2VuYWJsZV9jYl9kZWxheWVkX3BhY2tlZCxcXG5kcml2ZXJzL3ZpcnRpby92aXJ0aW9fcmluZy5jLTI3MjgtXFx0LmVuYWJsZV9jYl9wcmVwYXJlID0gdmlydHF1ZXVlX2VuYWJsZV9jYl9wcmVwYXJlX3BhY2tlZCxcXG4tLVxcbmRyaXZlcnMvdmlydGlvL3ZpcnRpb19yaW5nLmM9MzIxNz1FWFBPUlRfU1lNQk9MX0dQTCh2aXJ0cXVldWVfZW5hYmxlX2NiKTtcXG4tLVxcbmRyaXZlcnMvdmlydGlvL3ZpcnRpb19yaW5nLmMtMzIxOS0vKipcXG5kcml2ZXJzL3ZpcnRpby92aXJ0aW9fcmluZy5jOjMyMjA6ICogdmlydHF1ZXVlX2VuYWJsZV9jYl9kZWxheWVkIC0gcmVzdGFydCBjYWxsYmFja3MgYWZ0ZXIgZGlzYWJsZV9jYi5cXG5kcml2ZXJzL3ZpcnRpby92aXJ0aW9fcmluZy5jLTMyMjEtICogQF92cTogdGhlIHN0cnVjdCB2aXJ0cXVldWUgd2UncmUgdGFsa2luZyBhYm91dC5cXG4tLVxcbmRyaXZlcnMvdmlydGlvL3ZpcnRpb19yaW5nLmMtMzIzMS0gKi9cXG5kcml2ZXJzL3ZpcnRpby92aXJ0aW9fcmluZy5jOjMyMzI6Ym9vbCB2aXJ0cXVldWVfZW5hYmxlX2NiX2RlbGF5ZWQoc3RydWN0IHZpcnRxdWV1ZSAqX3ZxKVxcbmRyaXZlcnMvdmlydGlvL3ZpcnRpb19yaW5nLmMtMzIzMy17XFxuLS1cXG5kcml2ZXJzL3ZpcnRpby92aXJ0aW9fcmluZy5jLTMyNDgtfVxcbmRyaXZlcnMvdmlydGlvL3ZpcnRpb19yaW5nLmM6MzI0OTpFWFBPUlRfU1lNQk9MX0dQTCh2aXJ0cXVldWVfZW5hYmxlX2NiX2RlbGF5ZWQpO1xcbmRyaXZlcnMvdmlydGlvL3ZpcnRpb19yaW5nLmMtMzI1MC1cXG4tLVxcbmluY2x1ZGUvbGludXgvdmlydGlvLmg9MTEzPWJvb2wgdmlydHF1ZXVlX3BvbGwoc3RydWN0IHZpcnRxdWV1ZSAqdnEsIHVuc2lnbmVkKTtcXG5pbmNsdWRlL2xpbnV4L3ZpcnRpby5oLTExNC1cXG5pbmNsdWRlL2xpbnV4L3ZpcnRpby5oOjExNTpib29sIHZpcnRxdWV1ZV9lbmFibGVfY2JfZGVsYXllZChzdHJ1Y3QgdmlydHF1ZXVlICp2cSk7XFxuaW5jbHVkZS9saW51eC92aXJ0aW8uaC0xMTYtXFxuLS1cXG50b29scy92aXJ0aW8vdmhvc3RfbmV0X3Rlc3QuYz0yNzU9c3RhdGljIHZvaWQgcnVuX3R4X3Rlc3Qoc3RydWN0IHZkZXZfaW5mbyAqZGV2LCBzdHJ1Y3QgdnFfaW5mbyAqdnEsXFxuLS1cXG50b29scy92aXJ0aW8vdmhvc3RfbmV0X3Rlc3QuYy0zMzAtXFx0XFx0aWYgKGRlbGF5ZWQpIHtcXG50b29scy92aXJ0aW8vdmhvc3RfbmV0X3Rlc3QuYzozMzE6XFx0XFx0XFx0aWYgKHZpcnRxdWV1ZV9lbmFibGVfY2JfZGVsYXllZCh2cS1cXHUwMDNldnEpKVxcbnRvb2xzL3ZpcnRpby92aG9zdF9uZXRfdGVzdC5jLTMzMi1cXHRcXHRcXHRcXHR3YWl0X2Zvcl9pbnRlcnJ1cHQodnEpO1xcbi0tXFxudG9vbHMvdmlydGlvL3ZpcnRpb190ZXN0LmM9MTY5PXN0YXRpYyB2b2lkIHJ1bl90ZXN0KHN0cnVjdCB2ZGV2X2luZm8gKmRldiwgc3RydWN0IHZxX2luZm8gKnZxLFxcbi0tXFxudG9vbHMvdmlydGlvL3ZpcnRpb190ZXN0LmMtMjYyLVxcdFxcdGlmIChkZWxheWVkKSB7XFxudG9vbHMvdmlydGlvL3ZpcnRpb190ZXN0LmM6MjYzOlxcdFxcdFxcdGlmICh2aXJ0cXVldWVfZW5hYmxlX2NiX2RlbGF5ZWQodnEtXFx1MDAzZXZxKSlcXG50b29scy92aXJ0aW8vdmlydGlvX3Rlc3QuYy0yNjQtXFx0XFx0XFx0XFx0d2FpdF9mb3JfaW50ZXJydXB0KGRldik7XFxuLS1cXG50b29scy92aXJ0aW8vdnJpbmdoX3Rlc3QuYz0xMzY9c3RhdGljIGludCBwYXJhbGxlbF90ZXN0KHU2NCBmZWF0dXJlcyxcXG4tLVxcbnRvb2xzL3ZpcnRpby92cmluZ2hfdGVzdC5jLTM5Ni1cXHRcXHRcXHRpZiAoZXJyID09IC1FTk9TUEMpIHtcXG50b29scy92aXJ0aW8vdnJpbmdoX3Rlc3QuYzozOTc6XFx0XFx0XFx0XFx0aWYgKCF2aXJ0cXVldWVfZW5hYmxlX2NiX2RlbGF5ZWQodnEpKVxcbnRvb2xzL3ZpcnRpby92cmluZ2hfdGVzdC5jLTM5OC1cXHRcXHRcXHRcXHRcXHRjb250aW51ZTtcXG4tLVxcbnRvb2xzL3ZpcnRpby92cmluZ2hfdGVzdC5jLTQzMC1cXG50b29scy92aXJ0aW8vdnJpbmdoX3Rlc3QuYzo0MzE6XFx0XFx0XFx0aWYgKCF2aXJ0cXVldWVfZW5hYmxlX2NiX2RlbGF5ZWQodnEpKVxcbnRvb2xzL3ZpcnRpby92cmluZ2hfdGVzdC5jLTQzMi1cXHRcXHRcXHRcXHRjb250aW51ZTtcXG5cIlxufSIsIkluc3RydWN0aW9uIjoiIiwiUHJvbXB0IjoiIiwiUmVwbHkiOiIiLCJUaG91Z2h0cyI6IiIsIklucHV0VG9rZW5zIjowLCJPdXRwdXRUb2tlbnMiOjAsIk91dHB1dFRob3VnaHRzVG9rZW5zIjowLCJUb29sQ2FsbHMiOm51bGx9LHsiU3RhcnRlZCI6IjIwMjYtMDctMTZUMDk6NTM6MjEuNTQ1NTk3OTEyWiIsIlNlcSI6NSwiTmVzdGluZyI6MiwiVHlwZSI6ImxsbSIsIk5hbWUiOiJwYXRjaC1ldmFsdWF0b3IiLCJNb2RlbCI6ImdlbWluaS0zLjEtcHJvLXByZXZpZXciLCJEdXJhdGlvbiI6NDc4MDg3NjgwMiwiRXJyb3IiOiIiLCJBcmdzIjoibnVsbCIsIlJlc3VsdHMiOiJudWxsIiwiSW5zdHJ1Y3Rpb24iOiIiLCJQcm9tcHQiOiIiLCJSZXBseSI6IiIsIlRob3VnaHRzIjoiKipBbmFseXppbmcgdGhlIFZpcnRpbyBSaW5nIFBhdGNoKipcblxuT2theSwgc28gdGhpcyBwYXRjaCBpcyBpbnRyb2R1Y2luZyBhIGNydWNpYWwgY2hlY2sgd2l0aGluIGB2aXJ0cXVldWVfZW5hYmxlX2NiX2RlbGF5ZWRgIGluIHRoZSBgdmlydGlvX3JpbmcuY2AgZmlsZS4gU3BlY2lmaWNhbGx5LCBpdCdzIGd1YXJkaW5nIGFnYWluc3QgaW5maW5pdGUgc3Bpbm5pbmcgYnkgY2hlY2tpbmcgdGhlIGB2cS1cdTAwM2Vicm9rZW5gIGZsYWcuIFRoYXQncyBhIHNvbGlkIGZ1bmN0aW9uYWwgY2hhbmdlIGZvciB0aGUgdmlydGlvIGNvcmUsIHJlYWxseSBwcmV2ZW50aW5nIGEgcG90ZW50aWFsbHkgbmFzdHkgaGFuZyBjb25kaXRpb24uIERlZmluaXRlbHkgc29tZXRoaW5nIHRoYXQgZGVtYW5kcyBmdXp6aW5nIGF0dGVudGlvbiwgZXNwZWNpYWxseSBnaXZlbiB0aGUgcG90ZW50aWFsIGZvciBleHBsb2l0aW5nIGEgZGV2aWNlIGluIGEgYnJva2VuIHN0YXRlLlxuXG5Ob3csIEkgbmVlZCB0byByZW1lbWJlciB3aGVyZSB0aGlzIGB2aXJ0cXVldWVfZW5hYmxlX2NiX2RlbGF5ZWRgIGZ1bmN0aW9uIGdldHMgY2FsbGVkLiBBaCwgcmlnaHQsIGB2aXJ0aW9fbmV0LmNgIGlzIHVzaW5nIGl0LCBzcGVjaWZpY2FsbHkgaW4gZnVuY3Rpb25zIGxpa2UgYGNoZWNrX3NxX2Z1bGxfYW5kX2Rpc2FibGVgLCBgdmlydG5ldF9wb2xsX2NsZWFudHhgLCBhbmQgYHN0YXJ0X3htaXRgLiBUaGF0IGdpdmVzIG1lIGEgZmV3IGtleSBlbnRyeSBwb2ludHMgdG8gZm9jdXMgb24gZHVyaW5nIHRlc3RpbmcuXG5cbkJlZm9yZSBJIGRpdmUgdG9vIGRlZXAgaW50byBmdXp6aW5nLCBJIHNob3VsZCBtYWtlIHN1cmUgSSBoYXZlIHRoZSByaWdodCBrZXJuZWwgY29uZmlndXJhdGlvbnMgZW5hYmxlZC4gSXQgbG9va3MgbGlrZSBgQ09ORklHX1ZJUlRJT2AgZW5hYmxlcyB0aGUgY29yZSB2aXJ0aW8gZnVuY3Rpb25hbGl0eSwgYW5kIG9mIGNvdXJzZSwgYENPTkZJR19WSVJUSU9fTkVUYCBlbmFibGVzIHRoZSBuZXR3b3JraW5nIHNwZWNpZmljIHBhcnRzLiBJJ2xsIG5lZWQgdG8gZG91YmxlLWNoZWNrIHRob3NlIGluIHRoZSBrZXJuZWwgYnVpbGQuIEp1c3QgdG8gYmUgdGhvcm91Z2gsIEkgc2hvdWxkIGFsc28gcGVlayBhdCBgZHJpdmVycy92aXJ0aW8vS2NvbmZpZ2AgdG8gc2VlIGlmIHRoZXJlIGFyZSBhbnkgc3BlY2lmaWMgb3B0aW9ucyB0aGF0IGNvdWxkIGJlIHJlbGV2YW50IHRvIHRyaWdnZXJpbmcgdGhpcyBicm9rZW4gc3RhdGUgb3IgaW5mbHVlbmNpbmcgaXRzIGJlaGF2aW9yLiBHb3R0YSBtYWtlIHN1cmUgSSd2ZSBnb3QgYWxsIG15IGJhc2VzIGNvdmVyZWQuXG5cblxuIiwiSW5wdXRUb2tlbnMiOjQyOTAsIk91dHB1dFRva2VucyI6MzEsIk91dHB1dFRob3VnaHRzVG9rZW5zIjoxNzksIlRvb2xDYWxscyI6WyJncmVwcGVyIl19LHsiU3RhcnRlZCI6IjIwMjYtMDctMTZUMDk6NTM6MjYuMzI2NDc3MjAzWiIsIlNlcSI6NiwiTmVzdGluZyI6MiwiVHlwZSI6InRvb2wiLCJOYW1lIjoiZ3JlcHBlciIsIk1vZGVsIjoiIiwiRHVyYXRpb24iOjY4OTE0MzI5LCJFcnJvciI6IiIsIkFyZ3MiOiJ7XG4gIFwiRXhwcmVzc2lvblwiOiBcImNvbmZpZyBWSVJUSU9cIixcbiAgXCJQYXRoUHJlZml4XCI6IFwiZHJpdmVycy92aXJ0aW8vS2NvbmZpZ1wiXG59IiwiUmVzdWx0cyI6IntcbiAgXCJPdXRwdXRcIjogXCJkcml2ZXJzL3ZpcnRpby9LY29uZmlnLTEtIyBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogR1BMLTIuMC1vbmx5XFxuZHJpdmVycy92aXJ0aW8vS2NvbmZpZzoyOmNvbmZpZyBWSVJUSU9fQU5DSE9SXFxuZHJpdmVycy92aXJ0aW8vS2NvbmZpZy0zLVxcdGJvb2xcXG5kcml2ZXJzL3ZpcnRpby9LY29uZmlnLTQtXFxuZHJpdmVycy92aXJ0aW8vS2NvbmZpZzo1OmNvbmZpZyBWSVJUSU9cXG5kcml2ZXJzL3ZpcnRpby9LY29uZmlnLTYtXFx0dHJpc3RhdGVcXG4tLVxcbmRyaXZlcnMvdmlydGlvL0tjb25maWctMTItXFxuZHJpdmVycy92aXJ0aW8vS2NvbmZpZzoxMzpjb25maWcgVklSVElPX1BDSV9MSUJcXG5kcml2ZXJzL3ZpcnRpby9LY29uZmlnLTE0LVxcdHRyaXN0YXRlXFxuLS1cXG5kcml2ZXJzL3ZpcnRpby9LY29uZmlnLTIwLVxcbmRyaXZlcnMvdmlydGlvL0tjb25maWc6MjE6Y29uZmlnIFZJUlRJT19QQ0lfTElCX0xFR0FDWVxcbmRyaXZlcnMvdmlydGlvL0tjb25maWctMjItXFx0dHJpc3RhdGVcXG4tLVxcbmRyaXZlcnMvdmlydGlvL0tjb25maWctMjktXFxuZHJpdmVycy92aXJ0aW8vS2NvbmZpZzozMDptZW51Y29uZmlnIFZJUlRJT19NRU5VXFxuZHJpdmVycy92aXJ0aW8vS2NvbmZpZy0zMS1cXHRib29sIFxcXCJWaXJ0aW8gZHJpdmVyc1xcXCJcXG4tLVxcbmRyaXZlcnMvdmlydGlvL0tjb25maWc9MzQ9aWYgVklSVElPX01FTlVcXG5kcml2ZXJzL3ZpcnRpby9LY29uZmlnLTM1LVxcbmRyaXZlcnMvdmlydGlvL0tjb25maWc6MzY6Y29uZmlnIFZJUlRJT19IQVJERU5fTk9USUZJQ0FUSU9OXFxuZHJpdmVycy92aXJ0aW8vS2NvbmZpZy0zNy0gICAgICAgIGJvb2wgXFxcIkhhcmRlbiB2aXJ0aW8gbm90aWZpY2F0aW9uXFxcIlxcbi0tXFxuZHJpdmVycy92aXJ0aW8vS2NvbmZpZy00OS1cXG5kcml2ZXJzL3ZpcnRpby9LY29uZmlnOjUwOmNvbmZpZyBWSVJUSU9fUENJXFxuZHJpdmVycy92aXJ0aW8vS2NvbmZpZy01MS1cXHR0cmlzdGF0ZSBcXFwiUENJIGRyaXZlciBmb3IgdmlydGlvIGRldmljZXNcXFwiXFxuLS1cXG5kcml2ZXJzL3ZpcnRpby9LY29uZmlnLTYyLVxcbmRyaXZlcnMvdmlydGlvL0tjb25maWc6NjM6Y29uZmlnIFZJUlRJT19QQ0lfQURNSU5fTEVHQUNZXFxuZHJpdmVycy92aXJ0aW8vS2NvbmZpZy02NC1cXHRib29sXFxuLS1cXG5kcml2ZXJzL3ZpcnRpby9LY29uZmlnLTY3LVxcbmRyaXZlcnMvdmlydGlvL0tjb25maWc6Njg6Y29uZmlnIFZJUlRJT19QQ0lfTEVHQUNZXFxuZHJpdmVycy92aXJ0aW8vS2NvbmZpZy02OS1cXHRib29sIFxcXCJTdXBwb3J0IGZvciBsZWdhY3kgdmlydGlvIGRyYWZ0IDAuOS5YIGFuZCBvbGRlciBkZXZpY2VzXFxcIlxcbi0tXFxuZHJpdmVycy92aXJ0aW8vS2NvbmZpZy04Ny1cXG5kcml2ZXJzL3ZpcnRpby9LY29uZmlnOjg4OmNvbmZpZyBWSVJUSU9fVkRQQVxcbmRyaXZlcnMvdmlydGlvL0tjb25maWctODktXFx0dHJpc3RhdGUgXFxcInZEUEEgZHJpdmVyIGZvciB2aXJ0aW8gZGV2aWNlc1xcXCJcXG4tLVxcbmRyaXZlcnMvdmlydGlvL0tjb25maWctMTAwLVxcbmRyaXZlcnMvdmlydGlvL0tjb25maWc6MTAxOmNvbmZpZyBWSVJUSU9fUE1FTVxcbmRyaXZlcnMvdmlydGlvL0tjb25maWctMTAyLVxcdHRyaXN0YXRlIFxcXCJTdXBwb3J0IGZvciB2aXJ0aW8gcG1lbSBkcml2ZXJcXFwiXFxuLS1cXG5kcml2ZXJzL3ZpcnRpby9LY29uZmlnLTExMS1cXG5kcml2ZXJzL3ZpcnRpby9LY29uZmlnOjExMjpjb25maWcgVklSVElPX0JBTExPT05cXG5kcml2ZXJzL3ZpcnRpby9LY29uZmlnLTExMy1cXHR0cmlzdGF0ZSBcXFwiVmlydGlvIGJhbGxvb24gZHJpdmVyXFxcIlxcbi0tXFxuZHJpdmVycy92aXJ0aW8vS2NvbmZpZy0xMjItXFxuZHJpdmVycy92aXJ0aW8vS2NvbmZpZzoxMjM6Y29uZmlnIFZJUlRJT19NRU1cXG5kcml2ZXJzL3ZpcnRpby9LY29uZmlnLTEyNC1cXHR0cmlzdGF0ZSBcXFwiVmlydGlvIG1lbSBkcml2ZXJcXFwiXFxuLS1cXG5kcml2ZXJzL3ZpcnRpby9LY29uZmlnLTE0Mi1cXG5kcml2ZXJzL3ZpcnRpby9LY29uZmlnOjE0Mzpjb25maWcgVklSVElPX0lOUFVUXFxuZHJpdmVycy92aXJ0aW8vS2NvbmZpZy0xNDQtXFx0dHJpc3RhdGUgXFxcIlZpcnRpbyBpbnB1dCBkcml2ZXJcXFwiXFxuLS1cXG5kcml2ZXJzL3ZpcnRpby9LY29uZmlnLTE1Mi1cXG5kcml2ZXJzL3ZpcnRpby9LY29uZmlnOjE1Mzpjb25maWcgVklSVElPX01NSU9cXG5kcml2ZXJzL3ZpcnRpby9LY29uZmlnLTE1NC1cXHR0cmlzdGF0ZSBcXFwiUGxhdGZvcm0gYnVzIGRyaXZlciBmb3IgbWVtb3J5IG1hcHBlZCB2aXJ0aW8gZGV2aWNlc1xcXCJcXG4tLVxcbmRyaXZlcnMvdmlydGlvL0tjb25maWctMTYyLVxcbmRyaXZlcnMvdmlydGlvL0tjb25maWc6MTYzOmNvbmZpZyBWSVJUSU9fTU1JT19DTURMSU5FX0RFVklDRVNcXG5kcml2ZXJzL3ZpcnRpby9LY29uZmlnLTE2NC1cXHRib29sIFxcXCJNZW1vcnkgbWFwcGVkIHZpcnRpbyBkZXZpY2VzIHBhcmFtZXRlciBwYXJzaW5nXFxcIlxcbi0tXFxuZHJpdmVycy92aXJ0aW8vS2NvbmZpZy0xNzMtXFxuZHJpdmVycy92aXJ0aW8vS2NvbmZpZzoxNzQ6Y29uZmlnIFZJUlRJT19ETUFfU0hBUkVEX0JVRkZFUlxcbmRyaXZlcnMvdmlydGlvL0tjb25maWctMTc1LVxcdHRyaXN0YXRlXFxuLS1cXG5kcml2ZXJzL3ZpcnRpby9LY29uZmlnLTE4MC1cXG5kcml2ZXJzL3ZpcnRpby9LY29uZmlnOjE4MTpjb25maWcgVklSVElPX0RFQlVHXFxuZHJpdmVycy92aXJ0aW8vS2NvbmZpZy0xODItXFx0Ym9vbCBcXFwiRGVidWcgZmFjaWxpdGllc1xcXCJcXG4tLVxcbmRyaXZlcnMvdmlydGlvL0tjb25maWctMTkwLVxcbmRyaXZlcnMvdmlydGlvL0tjb25maWc6MTkxOmNvbmZpZyBWSVJUSU9fUlRDXFxuZHJpdmVycy92aXJ0aW8vS2NvbmZpZy0xOTItXFx0dHJpc3RhdGUgXFxcIlZpcnRpbyBSVEMgZHJpdmVyXFxcIlxcbi0tXFxuZHJpdmVycy92aXJ0aW8vS2NvbmZpZz0yMTE9Y29tbWVudCBcXFwiRW5hYmxlIFBUUF8xNTg4X0NMT0NLIGluIG9yZGVyIHRvIGVuYWJsZSBWSVJUSU9fUlRDX1BUUC5cXFwiXFxuLS1cXG5kcml2ZXJzL3ZpcnRpby9LY29uZmlnLTIxMy1cXG5kcml2ZXJzL3ZpcnRpby9LY29uZmlnOjIxNDpjb25maWcgVklSVElPX1JUQ19QVFBcXG5kcml2ZXJzL3ZpcnRpby9LY29uZmlnLTIxNS1cXHRib29sIFxcXCJWaXJ0aW8gUlRDIFBUUCBjbG9ja3NcXFwiXFxuLS1cXG5kcml2ZXJzL3ZpcnRpby9LY29uZmlnLTIyNC1cXG5kcml2ZXJzL3ZpcnRpby9LY29uZmlnOjIyNTpjb25maWcgVklSVElPX1JUQ19BUk1cXG5kcml2ZXJzL3ZpcnRpby9LY29uZmlnLTIyNi1cXHRib29sIFxcXCJWaXJ0aW8gUlRDIGNyb3NzLXRpbWVzdGFtcGluZyB1c2luZyBBcm0gR2VuZXJpYyBUaW1lclxcXCJcXG4tLVxcbmRyaXZlcnMvdmlydGlvL0tjb25maWc9MjM4PWNvbW1lbnQgXFxcIkVuYWJsZSBSVENfQ0xBU1MgaW4gb3JkZXIgdG8gZW5hYmxlIFZJUlRJT19SVENfQ0xBU1MuXFxcIlxcbi0tXFxuZHJpdmVycy92aXJ0aW8vS2NvbmZpZy0yNDAtXFxuZHJpdmVycy92aXJ0aW8vS2NvbmZpZzoyNDE6Y29uZmlnIFZJUlRJT19SVENfQ0xBU1NcXG5kcml2ZXJzL3ZpcnRpby9LY29uZmlnLTI0Mi1cXHRib29sIFxcXCJSZWFsIFRpbWUgQ2xvY2sgZHJpdmVyIGZvciBWaXJ0aW8gUlRDXFxcIlxcblwiXG59IiwiSW5zdHJ1Y3Rpb24iOiIiLCJQcm9tcHQiOiIiLCJSZXBseSI6IiIsIlRob3VnaHRzIjoiIiwiSW5wdXRUb2tlbnMiOjAsIk91dHB1dFRva2VucyI6MCwiT3V0cHV0VGhvdWdodHNUb2tlbnMiOjAsIlRvb2xDYWxscyI6bnVsbH0seyJTdGFydGVkIjoiMjAyNi0wNy0xNlQwOTo1MzoyNi4zOTU0MDM0OTJaIiwiU2VxIjo3LCJOZXN0aW5nIjoyLCJUeXBlIjoibGxtIiwiTmFtZSI6InBhdGNoLWV2YWx1YXRvciIsIk1vZGVsIjoiZ2VtaW5pLTMuMS1wcm8tcHJldmlldyIsIkR1cmF0aW9uIjoxMjE5OTEzODAyOCwiRXJyb3IiOiIiLCJBcmdzIjoibnVsbCIsIlJlc3VsdHMiOiJudWxsIiwiSW5zdHJ1Y3Rpb24iOiIiLCJQcm9tcHQiOiIiLCJSZXBseSI6IiIsIlRob3VnaHRzIjoiKipBbmFseXppbmcgdGhlIFZpcnRpbyBDb3JlIFBhdGNoIGZvciBGdXp6aW5nKipcblxuT2theSwgaGVyZSdzIHdoYXQgSSd2ZSBnb3QuIFRoZSBwYXRjaCBJJ20gbG9va2luZyBhdCBtb2RpZmllcyBgZHJpdmVycy92aXJ0aW8vdmlydGlvX3JpbmcuY2AsIHdoaWNoIGlzIGNvbXBpbGVkIHdoZW4gYENPTkZJR19WSVJUSU9gIGlzIGVuYWJsZWQuIFNwZWNpZmljYWxseSwgaXQgdG91Y2hlcyB0aGUgYHZpcnRxdWV1ZV9lbmFibGVfY2JfZGVsYXllZGAgZnVuY3Rpb24uIFRoaXMgZnVuY3Rpb24gaXMgZXhwb3J0ZWQsIHdoaWNoIG1lYW5zIGl0J3MgdXNlZCBieSBvdGhlciBkcml2ZXJzLCBhbmQgYHZpcnRpb19uZXRgIGlzIGEgZ29vZCBleGFtcGxlLlxuXG5NeSBpbml0aWFsIHRob3VnaHQgaXMgdG8gemVybyBpbiBvbiBmdXp6aW5nIGB2aXJ0cXVldWVfZW5hYmxlX2NiX2RlbGF5ZWRgIGRpcmVjdGx5LiBUaGlzIHBhdGNoIGFkZHMgYSBjaGVjayBmb3IgYSBicm9rZW4gdmlydHF1ZXVlLCBwcmV2ZW50aW5nIHBvdGVudGlhbCBpbmZpbml0ZSBsb29wcy4gSXQncyBhIGZ1bmN0aW9uYWwgY2hhbmdlIGluIHRoZSB2aXJ0aW8gY29yZSwgYW5kIHRoYXQncyBwcmVjaXNlbHkgd2hlcmUgSSB3YW50IHRvIGZvY3VzLlxuXG5UbyB0cmlnZ2VyIHRoaXMsIEknbGwgbmVlZCBhIHZpcnRpbyBkZXZpY2UsIGFuZCBgVklSVElPX05FVGAgc2VlbXMgbGlrZSBhIHNvbGlkIGNob2ljZS4gU28sIEknbGwgc2V0IGBFbmFibGVDb25maWdzYCB0byBgW1wiVklSVElPXCIsIFwiVklSVElPX05FVFwiXWAuXG5cbk5vdywgdGhlIHF1ZXN0aW9uIGlzIHdoZXRoZXIgdG8gaW5jbHVkZSBgdmlydHF1ZXVlX2VuYWJsZV9jYl9kZWxheWVkYCBpbiBgRm9jdXNTeW1ib2xzYC4gTGV0J3Mgc2VlLi4uIGxvb2tpbmcgYXQgdGhlIGNvZGUsIGl0J3MgY2FsbGVkIGluIGB2aXJ0bmV0X3BvbGxfY2xlYW50eGAgYW5kIGBzdGFydF94bWl0YCB3aXRoaW4gYHZpcnRpb19uZXQuY2AuIGBzdGFydF94bWl0YCBpcyAqZGVmaW5pdGVseSogYSBob3QgcGF0aCwgYnV0IHdoYXQgYWJvdXQgdGhlIGZ1bmN0aW9uIEknbSB0YXJnZXRpbmc/IGB2aXJ0cXVldWVfZW5hYmxlX2NiX2RlbGF5ZWRgIGlzIGNhbGxlZCB3aGVuIGB1c2VfbmFwaWAgYW5kIGBraWNrYCBhcmUgdHJ1ZSwgb3IgZHVyaW5nIHBvbGxpbmcuIEl0J3Mgbm90IGNhbGxlZCBmb3IgKmV2ZXJ5KiBwYWNrZXQsIGJ1dCBpdCdzIGNhbGxlZCBmcmVxdWVudGx5LCBlc3BlY2lhbGx5IHdoZW4gdGhlIHF1ZXVlIGlzIGZ1bGwgb3IgbmVlZHMgcmUtZW5hYmxpbmcuIFRoZSBpbnN0cnVjdGlvbnMgc2F5IHRvIGF2b2lkIGhvdC1wYXRoIGZ1bmN0aW9ucywgYnV0IHRoaXMgcGF0Y2ggc3BlY2lmaWNhbGx5IGhhbmRsZXMgdGhlIGB2cS1cdTAwM2Vicm9rZW5gIGNhc2UsIHdoaWNoIGlzIGEgdmVyeSBzcGVjaWZpYyBjb25kaXRpb24gdG8gdGFyZ2V0LiBMb29raW5nIGF0IHRoZSBwYXRjaCBhZ2FpbiwgaXQncyB0aGUgKm9ubHkqIGZ1bmN0aW9uIHRoYXQncyBiZWVuIG1vZGlmaWVkLCBzbyBpdCdzIGRpcmVjdGx5IHJlbGV2YW50LiBJIHRoaW5rIEkgd2lsbCBrZWVwIGl0IGluIGBGb2N1c1N5bWJvbHNgIGJ1dCBrZWVwIGFuIGV5ZSBvbiBob3cgdGhlIGZ1enppbmcgZ29lcy5cblxuSSd2ZSBjb25maXJtZWQgdGhhdCBubyBvdGhlciBmdW5jdGlvbnMgYXJlIHRvdWNoZWQgYnkgdGhpcyBwYXRjaC5cblxuUmVnYXJkaW5nIGNvbmZpZ3VyYXRpb25zLCB3aGlsZSBJIG1pZ2h0IG5lZWQgYFZJUlRJT19QQ0lgIG9yIGBWSVJUSU9fVkRQQWAgdG8gaW5zdGFudGlhdGUgdGhlIHZpcnRpbyBkZXZpY2VzLCBTeXprYWxsZXIgc2VlbXMgdG8gd29yayB3aXRoIGBWSVJUSU9fTkVUYCBieSBkZWZhdWx0LiBUaHVzLCBJJ2xsIGtlZXAgdGhlIGxpc3Qgc2ltcGxlIGFuZCBzZXQgYEZvY3VzU3ltYm9sc2AgdG8gYFtcInZpcnRxdWV1ZV9lbmFibGVfY2JfZGVsYXllZFwiXWAuIFRoZSB0YXJnZXQgaXMgdGhlIHZpcnRxdWV1ZSByZS1lbmFibGUgZnVuY3Rpb24sIHNvIGl0J3MgbGlrZWx5IHdoZXJlIHRoZSBpbnRlcmVzdGluZyBsb2dpYyB3aWxsIHJlc2lkZS5cblxuRmluYWxseSwgSSB3aWxsIGNhbGwgYHNldC1yZXN1bHRzYC5cblxuXG4iLCJJbnB1dFRva2VucyI6NjE2OCwiT3V0cHV0VG9rZW5zIjo5NywiT3V0cHV0VGhvdWdodHNUb2tlbnMiOjg5OCwiVG9vbENhbGxzIjpbImdyZXBwZXIiXX0seyJTdGFydGVkIjoiMjAyNi0wNy0xNlQwOTo1MzozOC41OTQ1NDYyWiIsIlNlcSI6OCwiTmVzdGluZyI6MiwiVHlwZSI6InRvb2wiLCJOYW1lIjoic2V0LXJlc3VsdHMiLCJNb2RlbCI6IiIsIkR1cmF0aW9uIjo3NzEwMTc2OSwiRXJyb3IiOiIiLCJBcmdzIjoie1xuICBcIkVuYWJsZUNvbmZpZ3NcIjogW1xuICAgIFwiVklSVElPXCIsXG4gICAgXCJWSVJUSU9fTkVUXCJcbiAgXSxcbiAgXCJGb2N1c1N5bWJvbHNcIjogW1xuICAgIFwidmlydHF1ZXVlX2VuYWJsZV9jYl9kZWxheWVkXCJcbiAgXSxcbiAgXCJSZWFzb25pbmdcIjogXCJUaGUgcGF0Y2ggYWRkcyBhIGNoZWNrIGZvciBhIGJyb2tlbiB2aXJ0cXVldWUgaW4gdmlydHF1ZXVlX2VuYWJsZV9jYl9kZWxheWVkIHRvIHByZXZlbnQgaW5maW5pdGUgbG9vcHMuIFRoaXMgaXMgYSBmdW5jdGlvbmFsIGNoYW5nZSBpbiB0aGUgdmlydGlvIGNvcmUgbG9naWMgdGhhdCBhZmZlY3RzIGhvdyBkcml2ZXJzIGhhbmRsZSBicm9rZW4gZGV2aWNlcy5cIixcbiAgXCJXb3J0aEZ1enppbmdcIjogdHJ1ZVxufSIsIlJlc3VsdHMiOiJ7XG4gIFwiRW5hYmxlQ29uZmlnc1wiOiBbXG4gICAgXCJWSVJUSU9cIixcbiAgICBcIlZJUlRJT19ORVRcIlxuICBdLFxuICBcIkZvY3VzU3ltYm9sc1wiOiBbXG4gICAgXCJ2aXJ0cXVldWVfZW5hYmxlX2NiX2RlbGF5ZWRcIlxuICBdLFxuICBcIlJlYXNvbmluZ1wiOiBcIlRoZSBwYXRjaCBhZGRzIGEgY2hlY2sgZm9yIGEgYnJva2VuIHZpcnRxdWV1ZSBpbiB2aXJ0cXVldWVfZW5hYmxlX2NiX2RlbGF5ZWQgdG8gcHJldmVudCBpbmZpbml0ZSBsb29wcy4gVGhpcyBpcyBhIGZ1bmN0aW9uYWwgY2hhbmdlIGluIHRoZSB2aXJ0aW8gY29yZSBsb2dpYyB0aGF0IGFmZmVjdHMgaG93IGRyaXZlcnMgaGFuZGxlIGJyb2tlbiBkZXZpY2VzLlwiLFxuICBcIldvcnRoRnV6emluZ1wiOiB0cnVlXG59IiwiSW5zdHJ1Y3Rpb24iOiIiLCJQcm9tcHQiOiIiLCJSZXBseSI6IiIsIlRob3VnaHRzIjoiIiwiSW5wdXRUb2tlbnMiOjAsIk91dHB1dFRva2VucyI6MCwiT3V0cHV0VGhvdWdodHNUb2tlbnMiOjAsIlRvb2xDYWxscyI6bnVsbH1dOwoJCQlpZiAoIXJhd0RhdGEgfHwgcmF3RGF0YS5sZW5ndGggPT09IDApIHJldHVybjsKCgkJCWRyYXdTdW1tYXJ5VGFibGVzKHJhd0RhdGEpOwoJCQlkcmF3RHVyYXRpb25DaGFydChyYXdEYXRhKTsKCQkJZHJhd1Rva2VuQ29uc3VtcHRpb25DaGFydChyYXdEYXRhKTsKCQl9CgoJCWZ1bmN0aW9uIGRyYXdTdW1tYXJ5VGFibGVzKHJhd0RhdGEpIHsKCQkJY29uc3Qgc3RhdHMgPSB7CgkJCQlsbG06IHsgY291bnQ6IDAsIHRva2VuczogMCwgZHVyYXRpb246IDAgfSwKCQkJCXRvb2w6IHsgY291bnQ6IDAsIGR1cmF0aW9uOiAwIH0KCQkJfTsKCgkJCXJhd0RhdGEuZm9yRWFjaChzID0+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-workflow26wbv[1] Phase: Succeeded StartedAt: 2026-07-16 09:53:50 +0000 UTC FinishedAt: 2026-07-16 09:53:50 +0000 UTC Input: nil Output: nil --------- Name: series-workflow26wbv[1].abort-on-skip-outcome Phase: Skipped StartedAt: 2026-07-16 09:53:50 +0000 UTC FinishedAt: 2026-07-16 09:53:50 +0000 UTC Input: nil Output: nil --------- Name: series-workflow26wbv[2] Phase: Succeeded StartedAt: 2026-07-16 09:53:50 +0000 UTC FinishedAt: 2026-07-16 12:28:19 +0000 UTC Input: nil Output: nil --------- Name: series-workflow26wbv[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"f6f3b36c15ed44de1fbb44e645e4fae8c4a4453e","config_name":"upstream-apparmor-kasan.config","enable_configs":["VIRTIO","VIRTIO_NET"],"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":["virtqueue_enable_cb_delayed"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"f6f3b36c15ed44de1fbb44e645e4fae8c4a4453e","config_name":"upstream-apparmor-kasan.config","enable_configs":["VIRTIO","VIRTIO_NET"],"series_id":"cc335bd4-0b5b-4d31-8087-093d7f63161d","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-16 09:53:50 +0000 UTC FinishedAt: 2026-07-16 12:28:19 +0000 UTC Input: &Inputs{Parameters:[]Parameter{Parameter{Name:element,Default:nil,Value:*{"base":{"arch":"amd64","commit_hash":"f6f3b36c15ed44de1fbb44e645e4fae8c4a4453e","config_name":"upstream-apparmor-kasan.config","enable_configs":["VIRTIO","VIRTIO_NET"],"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":["virtqueue_enable_cb_delayed"],"skip_cover_check":false},"patched":{"arch":"amd64","commit_hash":"f6f3b36c15ed44de1fbb44e645e4fae8c4a4453e","config_name":"upstream-apparmor-kasan.config","enable_configs":["VIRTIO","VIRTIO_NET"],"series_id":"cc335bd4-0b5b-4d31-8087-093d7f63161d","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-workflow26wbv[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"f6f3b36c15ed44de1fbb44e645e4fae8c4a4453e","config_name":"upstream-apparmor-kasan.config","enable_configs":["VIRTIO","VIRTIO_NET"],"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":["virtqueue_enable_cb_delayed"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"f6f3b36c15ed44de1fbb44e645e4fae8c4a4453e","config_name":"upstream-apparmor-kasan.config","enable_configs":["VIRTIO","VIRTIO_NET"],"series_id":"cc335bd4-0b5b-4d31-8087-093d7f63161d","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-16 09:53:50 +0000 UTC FinishedAt: 2026-07-16 09:54:37 +0000 UTC Input: nil Output: nil --------- Name: series-workflow26wbv[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"f6f3b36c15ed44de1fbb44e645e4fae8c4a4453e","config_name":"upstream-apparmor-kasan.config","enable_configs":["VIRTIO","VIRTIO_NET"],"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":["virtqueue_enable_cb_delayed"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"f6f3b36c15ed44de1fbb44e645e4fae8c4a4453e","config_name":"upstream-apparmor-kasan.config","enable_configs":["VIRTIO","VIRTIO_NET"],"series_id":"cc335bd4-0b5b-4d31-8087-093d7f63161d","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-16 09:53:50 +0000 UTC FinishedAt: 2026-07-16 09:54:15 +0000 UTC Input: &Inputs{Parameters:[]Parameter{Parameter{Name:data,Default:nil,Value:*{"arch":"amd64","commit_hash":"f6f3b36c15ed44de1fbb44e645e4fae8c4a4453e","config_name":"upstream-apparmor-kasan.config","enable_configs":["VIRTIO","VIRTIO_NET"],"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-workflow26wbv/series-workflow26wbv-convert-artifact-3860347700/artifact.tgz,},Azure:nil,},GlobalName:,Archive:nil,Optional:false,SubPath:,RecurseMode:false,FromExpression:,ArtifactGC:nil,Deleted:false,},},Result:nil,ExitCode:*0,} --------- Name: series-workflow26wbv[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"f6f3b36c15ed44de1fbb44e645e4fae8c4a4453e","config_name":"upstream-apparmor-kasan.config","enable_configs":["VIRTIO","VIRTIO_NET"],"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":["virtqueue_enable_cb_delayed"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"f6f3b36c15ed44de1fbb44e645e4fae8c4a4453e","config_name":"upstream-apparmor-kasan.config","enable_configs":["VIRTIO","VIRTIO_NET"],"series_id":"cc335bd4-0b5b-4d31-8087-093d7f63161d","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-16 09:54:37 +0000 UTC FinishedAt: 2026-07-16 10:39:05 +0000 UTC Input: nil Output: nil --------- Name: series-workflow26wbv[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"f6f3b36c15ed44de1fbb44e645e4fae8c4a4453e","config_name":"upstream-apparmor-kasan.config","enable_configs":["VIRTIO","VIRTIO_NET"],"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":["virtqueue_enable_cb_delayed"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"f6f3b36c15ed44de1fbb44e645e4fae8c4a4453e","config_name":"upstream-apparmor-kasan.config","enable_configs":["VIRTIO","VIRTIO_NET"],"series_id":"cc335bd4-0b5b-4d31-8087-093d7f63161d","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-16 09:54:37 +0000 UTC FinishedAt: 2026-07-16 10:39:05 +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:*d79d1909-1390-4c87-959b-ad52d2661d13,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-workflow26wbv/series-workflow26wbv-convert-artifact-3860347700/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": "89ff2d67-208d-4caa-8bc8-b68545a5a12a", "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-workflow26wbv/series-workflow26wbv-build-action-1115418930/kernel.tgz,},Azure:nil,},GlobalName:,Archive:nil,Optional:true,SubPath:,RecurseMode:false,FromExpression:,ArtifactGC:nil,Deleted:false,},},Result:nil,ExitCode:*0,} --------- Name: series-workflow26wbv[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"f6f3b36c15ed44de1fbb44e645e4fae8c4a4453e","config_name":"upstream-apparmor-kasan.config","enable_configs":["VIRTIO","VIRTIO_NET"],"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":["virtqueue_enable_cb_delayed"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"f6f3b36c15ed44de1fbb44e645e4fae8c4a4453e","config_name":"upstream-apparmor-kasan.config","enable_configs":["VIRTIO","VIRTIO_NET"],"series_id":"cc335bd4-0b5b-4d31-8087-093d7f63161d","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-16 09:54:37 +0000 UTC FinishedAt: 2026-07-16 10:38:40 +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:*d79d1909-1390-4c87-959b-ad52d2661d13,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-workflow26wbv/series-workflow26wbv-convert-artifact-3860347700/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": "89ff2d67-208d-4caa-8bc8-b68545a5a12a", "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-workflow26wbv/series-workflow26wbv-build-action-1115418930/kernel.tgz,},Azure:nil,},GlobalName:,Archive:nil,Optional:true,SubPath:,RecurseMode:false,FromExpression:,ArtifactGC:nil,Deleted:false,},},Result:nil,ExitCode:*0,} --------- Name: series-workflow26wbv[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"f6f3b36c15ed44de1fbb44e645e4fae8c4a4453e","config_name":"upstream-apparmor-kasan.config","enable_configs":["VIRTIO","VIRTIO_NET"],"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":["virtqueue_enable_cb_delayed"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"f6f3b36c15ed44de1fbb44e645e4fae8c4a4453e","config_name":"upstream-apparmor-kasan.config","enable_configs":["VIRTIO","VIRTIO_NET"],"series_id":"cc335bd4-0b5b-4d31-8087-093d7f63161d","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-16 10:39:05 +0000 UTC FinishedAt: 2026-07-16 10:39:05 +0000 UTC Input: nil Output: nil --------- Name: series-workflow26wbv[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"f6f3b36c15ed44de1fbb44e645e4fae8c4a4453e","config_name":"upstream-apparmor-kasan.config","enable_configs":["VIRTIO","VIRTIO_NET"],"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":["virtqueue_enable_cb_delayed"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"f6f3b36c15ed44de1fbb44e645e4fae8c4a4453e","config_name":"upstream-apparmor-kasan.config","enable_configs":["VIRTIO","VIRTIO_NET"],"series_id":"cc335bd4-0b5b-4d31-8087-093d7f63161d","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-16 10:39:05 +0000 UTC FinishedAt: 2026-07-16 10:39:05 +0000 UTC Input: nil Output: nil --------- Name: series-workflow26wbv[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"f6f3b36c15ed44de1fbb44e645e4fae8c4a4453e","config_name":"upstream-apparmor-kasan.config","enable_configs":["VIRTIO","VIRTIO_NET"],"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":["virtqueue_enable_cb_delayed"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"f6f3b36c15ed44de1fbb44e645e4fae8c4a4453e","config_name":"upstream-apparmor-kasan.config","enable_configs":["VIRTIO","VIRTIO_NET"],"series_id":"cc335bd4-0b5b-4d31-8087-093d7f63161d","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-16 10:39:05 +0000 UTC FinishedAt: 2026-07-16 10:39:26 +0000 UTC Input: nil Output: nil --------- Name: series-workflow26wbv[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"f6f3b36c15ed44de1fbb44e645e4fae8c4a4453e","config_name":"upstream-apparmor-kasan.config","enable_configs":["VIRTIO","VIRTIO_NET"],"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":["virtqueue_enable_cb_delayed"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"f6f3b36c15ed44de1fbb44e645e4fae8c4a4453e","config_name":"upstream-apparmor-kasan.config","enable_configs":["VIRTIO","VIRTIO_NET"],"series_id":"cc335bd4-0b5b-4d31-8087-093d7f63161d","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-16 10:39:05 +0000 UTC FinishedAt: 2026-07-16 10:39:16 +0000 UTC Input: &Inputs{Parameters:[]Parameter{Parameter{Name:data,Default:nil,Value:*{"arch":"amd64","commit_hash":"f6f3b36c15ed44de1fbb44e645e4fae8c4a4453e","config_name":"upstream-apparmor-kasan.config","enable_configs":["VIRTIO","VIRTIO_NET"],"series_id":"cc335bd4-0b5b-4d31-8087-093d7f63161d","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-workflow26wbv/series-workflow26wbv-convert-artifact-3341450995/artifact.tgz,},Azure:nil,},GlobalName:,Archive:nil,Optional:false,SubPath:,RecurseMode:false,FromExpression:,ArtifactGC:nil,Deleted:false,},},Result:nil,ExitCode:*0,} --------- Name: series-workflow26wbv[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"f6f3b36c15ed44de1fbb44e645e4fae8c4a4453e","config_name":"upstream-apparmor-kasan.config","enable_configs":["VIRTIO","VIRTIO_NET"],"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":["virtqueue_enable_cb_delayed"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"f6f3b36c15ed44de1fbb44e645e4fae8c4a4453e","config_name":"upstream-apparmor-kasan.config","enable_configs":["VIRTIO","VIRTIO_NET"],"series_id":"cc335bd4-0b5b-4d31-8087-093d7f63161d","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-16 10:39:26 +0000 UTC FinishedAt: 2026-07-16 10:41:37 +0000 UTC Input: nil Output: nil --------- Name: series-workflow26wbv[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"f6f3b36c15ed44de1fbb44e645e4fae8c4a4453e","config_name":"upstream-apparmor-kasan.config","enable_configs":["VIRTIO","VIRTIO_NET"],"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":["virtqueue_enable_cb_delayed"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"f6f3b36c15ed44de1fbb44e645e4fae8c4a4453e","config_name":"upstream-apparmor-kasan.config","enable_configs":["VIRTIO","VIRTIO_NET"],"series_id":"cc335bd4-0b5b-4d31-8087-093d7f63161d","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-16 10:39:26 +0000 UTC FinishedAt: 2026-07-16 10:41:28 +0000 UTC Input: &Inputs{Parameters:[]Parameter{Parameter{Name:base-build-id,Default:nil,Value:*89ff2d67-208d-4caa-8bc8-b68545a5a12a,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-workflow26wbv/series-workflow26wbv-build-action-1115418930/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-workflow26wbv[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"f6f3b36c15ed44de1fbb44e645e4fae8c4a4453e","config_name":"upstream-apparmor-kasan.config","enable_configs":["VIRTIO","VIRTIO_NET"],"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":["virtqueue_enable_cb_delayed"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"f6f3b36c15ed44de1fbb44e645e4fae8c4a4453e","config_name":"upstream-apparmor-kasan.config","enable_configs":["VIRTIO","VIRTIO_NET"],"series_id":"cc335bd4-0b5b-4d31-8087-093d7f63161d","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-16 10:41:37 +0000 UTC FinishedAt: 2026-07-16 10:41:37 +0000 UTC Input: nil Output: nil --------- Name: series-workflow26wbv[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"f6f3b36c15ed44de1fbb44e645e4fae8c4a4453e","config_name":"upstream-apparmor-kasan.config","enable_configs":["VIRTIO","VIRTIO_NET"],"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":["virtqueue_enable_cb_delayed"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"f6f3b36c15ed44de1fbb44e645e4fae8c4a4453e","config_name":"upstream-apparmor-kasan.config","enable_configs":["VIRTIO","VIRTIO_NET"],"series_id":"cc335bd4-0b5b-4d31-8087-093d7f63161d","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-16 10:41:37 +0000 UTC FinishedAt: 2026-07-16 10:41:37 +0000 UTC Input: nil Output: nil --------- Name: series-workflow26wbv[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"f6f3b36c15ed44de1fbb44e645e4fae8c4a4453e","config_name":"upstream-apparmor-kasan.config","enable_configs":["VIRTIO","VIRTIO_NET"],"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":["virtqueue_enable_cb_delayed"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"f6f3b36c15ed44de1fbb44e645e4fae8c4a4453e","config_name":"upstream-apparmor-kasan.config","enable_configs":["VIRTIO","VIRTIO_NET"],"series_id":"cc335bd4-0b5b-4d31-8087-093d7f63161d","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-16 10:41:37 +0000 UTC FinishedAt: 2026-07-16 11:32:55 +0000 UTC Input: nil Output: nil --------- Name: series-workflow26wbv[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"f6f3b36c15ed44de1fbb44e645e4fae8c4a4453e","config_name":"upstream-apparmor-kasan.config","enable_configs":["VIRTIO","VIRTIO_NET"],"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":["virtqueue_enable_cb_delayed"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"f6f3b36c15ed44de1fbb44e645e4fae8c4a4453e","config_name":"upstream-apparmor-kasan.config","enable_configs":["VIRTIO","VIRTIO_NET"],"series_id":"cc335bd4-0b5b-4d31-8087-093d7f63161d","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-16 10:41:37 +0000 UTC FinishedAt: 2026-07-16 11:32:55 +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:*d79d1909-1390-4c87-959b-ad52d2661d13,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-workflow26wbv/series-workflow26wbv-convert-artifact-3341450995/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": "b1b174c3-c035-4575-95f1-152270211213", "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-workflow26wbv/series-workflow26wbv-build-action-743519911/kernel.tgz,},Azure:nil,},GlobalName:,Archive:nil,Optional:true,SubPath:,RecurseMode:false,FromExpression:,ArtifactGC:nil,Deleted:false,},},Result:nil,ExitCode:*0,} --------- Name: series-workflow26wbv[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"f6f3b36c15ed44de1fbb44e645e4fae8c4a4453e","config_name":"upstream-apparmor-kasan.config","enable_configs":["VIRTIO","VIRTIO_NET"],"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":["virtqueue_enable_cb_delayed"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"f6f3b36c15ed44de1fbb44e645e4fae8c4a4453e","config_name":"upstream-apparmor-kasan.config","enable_configs":["VIRTIO","VIRTIO_NET"],"series_id":"cc335bd4-0b5b-4d31-8087-093d7f63161d","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-16 10:41:37 +0000 UTC FinishedAt: 2026-07-16 11:32:44 +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:*d79d1909-1390-4c87-959b-ad52d2661d13,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-workflow26wbv/series-workflow26wbv-convert-artifact-3341450995/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": "b1b174c3-c035-4575-95f1-152270211213", "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-workflow26wbv/series-workflow26wbv-build-action-743519911/kernel.tgz,},Azure:nil,},GlobalName:,Archive:nil,Optional:true,SubPath:,RecurseMode:false,FromExpression:,ArtifactGC:nil,Deleted:false,},},Result:nil,ExitCode:*0,} --------- Name: series-workflow26wbv[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"f6f3b36c15ed44de1fbb44e645e4fae8c4a4453e","config_name":"upstream-apparmor-kasan.config","enable_configs":["VIRTIO","VIRTIO_NET"],"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":["virtqueue_enable_cb_delayed"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"f6f3b36c15ed44de1fbb44e645e4fae8c4a4453e","config_name":"upstream-apparmor-kasan.config","enable_configs":["VIRTIO","VIRTIO_NET"],"series_id":"cc335bd4-0b5b-4d31-8087-093d7f63161d","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-16 11:32:55 +0000 UTC FinishedAt: 2026-07-16 11:32:55 +0000 UTC Input: nil Output: nil --------- Name: series-workflow26wbv[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"f6f3b36c15ed44de1fbb44e645e4fae8c4a4453e","config_name":"upstream-apparmor-kasan.config","enable_configs":["VIRTIO","VIRTIO_NET"],"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":["virtqueue_enable_cb_delayed"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"f6f3b36c15ed44de1fbb44e645e4fae8c4a4453e","config_name":"upstream-apparmor-kasan.config","enable_configs":["VIRTIO","VIRTIO_NET"],"series_id":"cc335bd4-0b5b-4d31-8087-093d7f63161d","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-16 11:32:55 +0000 UTC FinishedAt: 2026-07-16 11:32:55 +0000 UTC Input: nil Output: nil --------- Name: series-workflow26wbv[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"f6f3b36c15ed44de1fbb44e645e4fae8c4a4453e","config_name":"upstream-apparmor-kasan.config","enable_configs":["VIRTIO","VIRTIO_NET"],"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":["virtqueue_enable_cb_delayed"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"f6f3b36c15ed44de1fbb44e645e4fae8c4a4453e","config_name":"upstream-apparmor-kasan.config","enable_configs":["VIRTIO","VIRTIO_NET"],"series_id":"cc335bd4-0b5b-4d31-8087-093d7f63161d","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-16 11:32:55 +0000 UTC FinishedAt: 2026-07-16 11:35:11 +0000 UTC Input: nil Output: nil --------- Name: series-workflow26wbv[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"f6f3b36c15ed44de1fbb44e645e4fae8c4a4453e","config_name":"upstream-apparmor-kasan.config","enable_configs":["VIRTIO","VIRTIO_NET"],"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":["virtqueue_enable_cb_delayed"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"f6f3b36c15ed44de1fbb44e645e4fae8c4a4453e","config_name":"upstream-apparmor-kasan.config","enable_configs":["VIRTIO","VIRTIO_NET"],"series_id":"cc335bd4-0b5b-4d31-8087-093d7f63161d","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-16 11:32:55 +0000 UTC FinishedAt: 2026-07-16 11:35:01 +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:*b1b174c3-c035-4575-95f1-152270211213,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-workflow26wbv/series-workflow26wbv-build-action-743519911/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-workflow26wbv[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"f6f3b36c15ed44de1fbb44e645e4fae8c4a4453e","config_name":"upstream-apparmor-kasan.config","enable_configs":["VIRTIO","VIRTIO_NET"],"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":["virtqueue_enable_cb_delayed"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"f6f3b36c15ed44de1fbb44e645e4fae8c4a4453e","config_name":"upstream-apparmor-kasan.config","enable_configs":["VIRTIO","VIRTIO_NET"],"series_id":"cc335bd4-0b5b-4d31-8087-093d7f63161d","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-16 11:35:11 +0000 UTC FinishedAt: 2026-07-16 12:28:19 +0000 UTC Input: nil Output: nil --------- Name: series-workflow26wbv[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"f6f3b36c15ed44de1fbb44e645e4fae8c4a4453e","config_name":"upstream-apparmor-kasan.config","enable_configs":["VIRTIO","VIRTIO_NET"],"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":["virtqueue_enable_cb_delayed"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"f6f3b36c15ed44de1fbb44e645e4fae8c4a4453e","config_name":"upstream-apparmor-kasan.config","enable_configs":["VIRTIO","VIRTIO_NET"],"series_id":"cc335bd4-0b5b-4d31-8087-093d7f63161d","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-16 11:35:11 +0000 UTC FinishedAt: 2026-07-16 12:28:19 +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":["virtqueue_enable_cb_delayed"],"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:*89ff2d67-208d-4caa-8bc8-b68545a5a12a,ValueFrom:nil,GlobalName:,Enum:[],Description:nil,},Parameter{Name:patched-build-id,Default:nil,Value:*b1b174c3-c035-4575-95f1-152270211213,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-workflow26wbv/series-workflow26wbv-build-action-1115418930/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-workflow26wbv/series-workflow26wbv-build-action-743519911/kernel.tgz,},Azure:nil,},GlobalName:,Archive:nil,Optional:true,SubPath:,RecurseMode:false,FromExpression:,ArtifactGC:nil,Deleted:false,},},} Output: nil --------- Name: series-workflow26wbv[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"f6f3b36c15ed44de1fbb44e645e4fae8c4a4453e","config_name":"upstream-apparmor-kasan.config","enable_configs":["VIRTIO","VIRTIO_NET"],"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":["virtqueue_enable_cb_delayed"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"f6f3b36c15ed44de1fbb44e645e4fae8c4a4453e","config_name":"upstream-apparmor-kasan.config","enable_configs":["VIRTIO","VIRTIO_NET"],"series_id":"cc335bd4-0b5b-4d31-8087-093d7f63161d","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-16 11:35:11 +0000 UTC FinishedAt: 2026-07-16 11:35:22 +0000 UTC Input: nil Output: nil --------- Name: series-workflow26wbv[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"f6f3b36c15ed44de1fbb44e645e4fae8c4a4453e","config_name":"upstream-apparmor-kasan.config","enable_configs":["VIRTIO","VIRTIO_NET"],"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":["virtqueue_enable_cb_delayed"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"f6f3b36c15ed44de1fbb44e645e4fae8c4a4453e","config_name":"upstream-apparmor-kasan.config","enable_configs":["VIRTIO","VIRTIO_NET"],"series_id":"cc335bd4-0b5b-4d31-8087-093d7f63161d","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-16 11:35:11 +0000 UTC FinishedAt: 2026-07-16 11:35:17 +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":["virtqueue_enable_cb_delayed"],"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-workflow26wbv/series-workflow26wbv-convert-artifact-4232202220/artifact.tgz,},Azure:nil,},GlobalName:,Archive:nil,Optional:false,SubPath:,RecurseMode:false,FromExpression:,ArtifactGC:nil,Deleted:false,},},Result:nil,ExitCode:*0,} --------- Name: series-workflow26wbv[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"f6f3b36c15ed44de1fbb44e645e4fae8c4a4453e","config_name":"upstream-apparmor-kasan.config","enable_configs":["VIRTIO","VIRTIO_NET"],"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":["virtqueue_enable_cb_delayed"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"f6f3b36c15ed44de1fbb44e645e4fae8c4a4453e","config_name":"upstream-apparmor-kasan.config","enable_configs":["VIRTIO","VIRTIO_NET"],"series_id":"cc335bd4-0b5b-4d31-8087-093d7f63161d","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-16 11:35:11 +0000 UTC FinishedAt: 2026-07-16 11:35:11 +0000 UTC Input: nil Output: nil --------- Name: series-workflow26wbv[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"f6f3b36c15ed44de1fbb44e645e4fae8c4a4453e","config_name":"upstream-apparmor-kasan.config","enable_configs":["VIRTIO","VIRTIO_NET"],"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":["virtqueue_enable_cb_delayed"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"f6f3b36c15ed44de1fbb44e645e4fae8c4a4453e","config_name":"upstream-apparmor-kasan.config","enable_configs":["VIRTIO","VIRTIO_NET"],"series_id":"cc335bd4-0b5b-4d31-8087-093d7f63161d","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-16 11:35:11 +0000 UTC FinishedAt: 2026-07-16 11:35:11 +0000 UTC Input: nil Output: nil --------- Name: series-workflow26wbv[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"f6f3b36c15ed44de1fbb44e645e4fae8c4a4453e","config_name":"upstream-apparmor-kasan.config","enable_configs":["VIRTIO","VIRTIO_NET"],"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":["virtqueue_enable_cb_delayed"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"f6f3b36c15ed44de1fbb44e645e4fae8c4a4453e","config_name":"upstream-apparmor-kasan.config","enable_configs":["VIRTIO","VIRTIO_NET"],"series_id":"cc335bd4-0b5b-4d31-8087-093d7f63161d","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-16 11:35:11 +0000 UTC FinishedAt: 2026-07-16 11:35:11 +0000 UTC Input: nil Output: nil --------- Name: series-workflow26wbv[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"f6f3b36c15ed44de1fbb44e645e4fae8c4a4453e","config_name":"upstream-apparmor-kasan.config","enable_configs":["VIRTIO","VIRTIO_NET"],"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":["virtqueue_enable_cb_delayed"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"f6f3b36c15ed44de1fbb44e645e4fae8c4a4453e","config_name":"upstream-apparmor-kasan.config","enable_configs":["VIRTIO","VIRTIO_NET"],"series_id":"cc335bd4-0b5b-4d31-8087-093d7f63161d","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-16 11:35:22 +0000 UTC FinishedAt: 2026-07-16 12:28:19 +0000 UTC Input: nil Output: nil --------- Name: series-workflow26wbv[2].run-process-target(0:base:{"arch":"amd64","commit_hash":"f6f3b36c15ed44de1fbb44e645e4fae8c4a4453e","config_name":"upstream-apparmor-kasan.config","enable_configs":["VIRTIO","VIRTIO_NET"],"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":["virtqueue_enable_cb_delayed"],"skip_cover_check":false},patched:{"arch":"amd64","commit_hash":"f6f3b36c15ed44de1fbb44e645e4fae8c4a4453e","config_name":"upstream-apparmor-kasan.config","enable_configs":["VIRTIO","VIRTIO_NET"],"series_id":"cc335bd4-0b5b-4d31-8087-093d7f63161d","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-16 11:35:22 +0000 UTC FinishedAt: 2026-07-16 12:27:52 +0000 UTC Input: &Inputs{Parameters:[]Parameter{Parameter{Name:base-build-id,Default:nil,Value:*89ff2d67-208d-4caa-8bc8-b68545a5a12a,ValueFrom:nil,GlobalName:,Enum:[],Description:nil,},Parameter{Name:patched-build-id,Default:nil,Value:*b1b174c3-c035-4575-95f1-152270211213,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-workflow26wbv/series-workflow26wbv-build-action-1115418930/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-workflow26wbv/series-workflow26wbv-build-action-743519911/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-workflow26wbv/series-workflow26wbv-convert-artifact-4232202220/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,}